From 45b12f1de8891c912ee59c532392b0c4576db3f6 Mon Sep 17 00:00:00 2001 From: xiaopeiyang Date: Wed, 2 Apr 2025 14:15:25 +0800 Subject: [PATCH 1/7] Fix bug of Resource Issue: https://gitee.com/openharmony/third_party_typescript/issues/IBY8XV Signed-off-by: xiaopeiyang Change-Id: I80564e9272db83fd34f74e3639393c102386bcbe --- lib/tsc.js | 2 +- lib/tsserver.js | 2 +- lib/tsserverlibrary.js | 2 +- lib/typescript.js | 2 +- src/compiler/checker.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/tsc.js b/lib/tsc.js index 95a482f678..18ecfecfa8 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -48058,7 +48058,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - if (specifier.endsWith("/openharmony/ets/api/global/resource")) { + if (specifier.endsWith("/openharmony/ets/ets1.1/api/global/resource")) { const lastSymbol = chain[chain.length - 1]; if (lastSymbol.escapedName === "Resource") { const entityName2 = createAccessFromSymbolChain([lastSymbol], 0, 0); diff --git a/lib/tsserver.js b/lib/tsserver.js index 2711b74d74..784adc7013 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -50601,7 +50601,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - if (specifier.endsWith("/openharmony/ets/api/global/resource")) { + if (specifier.endsWith("/openharmony/ets/ets1.1/api/global/resource")) { const lastSymbol = chain[chain.length - 1]; if (lastSymbol.escapedName === "Resource") { const entityName2 = createAccessFromSymbolChain([lastSymbol], 0, 0); diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index fd93c8e2fa..e5c261b8a0 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -50503,7 +50503,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - if (specifier.endsWith("/openharmony/ets/api/global/resource")) { + if (specifier.endsWith("/openharmony/ets/ets1.1/api/global/resource")) { const lastSymbol = chain[chain.length - 1]; if (lastSymbol.escapedName === "Resource") { const entityName2 = createAccessFromSymbolChain([lastSymbol], 0, 0); diff --git a/lib/typescript.js b/lib/typescript.js index 8d0751728c..fddc825b8a 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -50661,7 +50661,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - if (specifier.endsWith("/openharmony/ets/api/global/resource")) { + if (specifier.endsWith("/openharmony/ets/ets1.1/api/global/resource")) { const lastSymbol = chain[chain.length - 1]; if (lastSymbol.escapedName === "Resource") { const entityName2 = createAccessFromSymbolChain([lastSymbol], 0, 0); diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 555640f3a8..6e64d8c102 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6857,7 +6857,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } // Only for Resource type in openharmony SDK - if (specifier.endsWith('/openharmony/ets/api/global/resource')) { + if (specifier.endsWith('/openharmony/ets/ets1.1/api/global/resource')) { const lastSymbol = chain[chain.length - 1]; // Create typeReferenceNode if is Resource type if (lastSymbol.escapedName === 'Resource') { -- Gitee From cfd05d10112c9b67ce674571afe693c672d6c83a Mon Sep 17 00:00:00 2001 From: liyancheng2 Date: Mon, 7 Jul 2025 20:18:46 +0800 Subject: [PATCH 2/7] Find Record From static Issue: https://gitee.com/openharmony/third_party_typescript/issues/ICKLKU Signed-off-by: liyancheng2 --- lib/tsc.js | 28 ++++++++++++++++- lib/tsserver.js | 31 +++++++++++++++++-- lib/tsserverlibrary.d.ts | 3 ++ lib/tsserverlibrary.js | 31 +++++++++++++++++-- lib/typescript.d.ts | 3 ++ lib/typescript.js | 31 +++++++++++++++++-- src/compiler/checker.ts | 27 ++++++++++++++++ src/compiler/program.ts | 3 +- src/compiler/types.ts | 6 ++++ src/services/services.ts | 1 + src/services/types.ts | 1 + .../reference/api/tsserverlibrary.d.ts | 3 ++ tests/baselines/reference/api/typescript.d.ts | 3 ++ 13 files changed, 163 insertions(+), 8 deletions(-) diff --git a/lib/tsc.js b/lib/tsc.js index 95a482f678..d72e977155 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -43503,6 +43503,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { deleteConstEnumRelate: (path) => { constEnumRelate && constEnumRelate.delete(path); }, + isStaticRecord, getTypeArgumentsForResolvedSignature, getCheckedSourceFiles: () => checkedSourceFiles, collectHaveTsNoCheckFilesForLinter: (sourceFile) => { @@ -43540,6 +43541,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return result; } + function isStaticRecord(type) { + var _a2; + if (type === void 0) { + return false; + } + const aliasedSymbol = type.aliasSymbol; + if (aliasedSymbol === void 0) { + return false; + } + const links = getSymbolLinks(aliasedSymbol); + if (links.isStaticRecord === void 0) { + links.isStaticRecord = isStaticSourceFile(getSourceFileOfNode((_a2 = aliasedSymbol == null ? void 0 : aliasedSymbol.declarations) == null ? void 0 : _a2[0])); + } + return links.isStaticRecord; + } + function isStaticSourceFile(sourceFile) { + if (!sourceFile) { + return false; + } + if (host.isStaticSourceFile) { + return host.isStaticSourceFile(sourceFile.fileName); + } + return false; + } function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode, editingArgument) { const node = getParseTreeNode(nodeIn, isCallLikeExpression); apparentArgumentCount = argumentCount; @@ -105142,7 +105167,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config initProcessingFiles, processImportedModules, getProcessingFiles, - deleteProgramSourceFiles + deleteProgramSourceFiles, + isStaticSourceFile: host.isStaticSourceFile }; onProgramCreateComplete(); fileProcessingDiagnostics == null ? void 0 : fileProcessingDiagnostics.forEach((diagnostic) => { diff --git a/lib/tsserver.js b/lib/tsserver.js index 2711b74d74..c120f09059 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -46046,6 +46046,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { deleteConstEnumRelate: (path) => { constEnumRelate && constEnumRelate.delete(path); }, + isStaticRecord, getTypeArgumentsForResolvedSignature, getCheckedSourceFiles: () => checkedSourceFiles, collectHaveTsNoCheckFilesForLinter: (sourceFile) => { @@ -46083,6 +46084,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return result; } + function isStaticRecord(type) { + var _a2; + if (type === void 0) { + return false; + } + const aliasedSymbol = type.aliasSymbol; + if (aliasedSymbol === void 0) { + return false; + } + const links = getSymbolLinks(aliasedSymbol); + if (links.isStaticRecord === void 0) { + links.isStaticRecord = isStaticSourceFile(getSourceFileOfNode((_a2 = aliasedSymbol == null ? void 0 : aliasedSymbol.declarations) == null ? void 0 : _a2[0])); + } + return links.isStaticRecord; + } + function isStaticSourceFile(sourceFile) { + if (!sourceFile) { + return false; + } + if (host.isStaticSourceFile) { + return host.isStaticSourceFile(sourceFile.fileName); + } + return false; + } function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode, editingArgument) { const node = getParseTreeNode(nodeIn, isCallLikeExpression); apparentArgumentCount = argumentCount; @@ -107481,7 +107506,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config initProcessingFiles, processImportedModules, getProcessingFiles, - deleteProgramSourceFiles + deleteProgramSourceFiles, + isStaticSourceFile: host.isStaticSourceFile }; onProgramCreateComplete(); fileProcessingDiagnostics == null ? void 0 : fileProcessingDiagnostics.forEach((diagnostic) => { @@ -126349,7 +126375,8 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h getParsedCommandLine, getJsDocNodeCheckedConfig: maybeBind(host, host.getJsDocNodeCheckedConfig), getJsDocNodeConditionCheckedResult: maybeBind(host, host.getJsDocNodeConditionCheckedResult), - getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo) + getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo), + isStaticSourceFile: host.isStaticSourceFile }; const originalGetSourceFile = compilerHost.getSourceFile; const { getSourceFileWithCache } = changeCompilerHostLikeToUseCache( diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index 1dc9d86321..fbd26279f9 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -6644,6 +6644,7 @@ declare namespace ts { getConstEnumRelate?(): ESMap>; clearConstEnumRelate?(): void; deleteConstEnumRelate?(path: string): void; + isStaticRecord?(type: Type): boolean; getTypeArgumentsForResolvedSignature(signature: Signature): readonly Type[] | undefined; getCheckedSourceFiles(): Set; collectHaveTsNoCheckFilesForLinter(sourceFile: SourceFile): void; @@ -7727,6 +7728,7 @@ declare namespace ts { getJsDocNodeConditionCheckedResult?(jsDocFileCheckedInfo: FileCheckModuleInfo, jsDocTagInfos: JsDocTagInfo[], jsDocs?: JSDoc[]): ConditionCheckResult; getFileCheckedModuleInfo?(containFilePath: string): FileCheckModuleInfo; getLastCompiledProgram?(): Program; + isStaticSourceFile?(filePath: string): boolean; } interface SourceMapRange extends TextRange { source?: SourceMapSource; @@ -10535,6 +10537,7 @@ declare namespace ts { shouldCompletionSortCustom?: boolean; uiProps?: Set; clearProps?(): void; + isStaticSourceFile?(fileName: string): boolean; clearFileCache?(): void; } type WithMetadata = T & { diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index fd93c8e2fa..ae9fc7ece9 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -45948,6 +45948,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { deleteConstEnumRelate: (path) => { constEnumRelate && constEnumRelate.delete(path); }, + isStaticRecord, getTypeArgumentsForResolvedSignature, getCheckedSourceFiles: () => checkedSourceFiles, collectHaveTsNoCheckFilesForLinter: (sourceFile) => { @@ -45985,6 +45986,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return result; } + function isStaticRecord(type) { + var _a2; + if (type === void 0) { + return false; + } + const aliasedSymbol = type.aliasSymbol; + if (aliasedSymbol === void 0) { + return false; + } + const links = getSymbolLinks(aliasedSymbol); + if (links.isStaticRecord === void 0) { + links.isStaticRecord = isStaticSourceFile(getSourceFileOfNode((_a2 = aliasedSymbol == null ? void 0 : aliasedSymbol.declarations) == null ? void 0 : _a2[0])); + } + return links.isStaticRecord; + } + function isStaticSourceFile(sourceFile) { + if (!sourceFile) { + return false; + } + if (host.isStaticSourceFile) { + return host.isStaticSourceFile(sourceFile.fileName); + } + return false; + } function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode, editingArgument) { const node = getParseTreeNode(nodeIn, isCallLikeExpression); apparentArgumentCount = argumentCount; @@ -107383,7 +107408,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config initProcessingFiles, processImportedModules, getProcessingFiles, - deleteProgramSourceFiles + deleteProgramSourceFiles, + isStaticSourceFile: host.isStaticSourceFile }; onProgramCreateComplete(); fileProcessingDiagnostics == null ? void 0 : fileProcessingDiagnostics.forEach((diagnostic) => { @@ -123574,7 +123600,8 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h getParsedCommandLine, getJsDocNodeCheckedConfig: maybeBind(host, host.getJsDocNodeCheckedConfig), getJsDocNodeConditionCheckedResult: maybeBind(host, host.getJsDocNodeConditionCheckedResult), - getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo) + getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo), + isStaticSourceFile: host.isStaticSourceFile }; const originalGetSourceFile = compilerHost.getSourceFile; const { getSourceFileWithCache } = changeCompilerHostLikeToUseCache( diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index 1cb646e837..93ee315db4 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -2641,6 +2641,7 @@ declare namespace ts { getConstEnumRelate?(): ESMap>; clearConstEnumRelate?(): void; deleteConstEnumRelate?(path: string): void; + isStaticRecord?(type: Type): boolean; getTypeArgumentsForResolvedSignature(signature: Signature): readonly Type[] | undefined; getCheckedSourceFiles(): Set; collectHaveTsNoCheckFilesForLinter(sourceFile: SourceFile): void; @@ -3724,6 +3725,7 @@ declare namespace ts { getJsDocNodeConditionCheckedResult?(jsDocFileCheckedInfo: FileCheckModuleInfo, jsDocTagInfos: JsDocTagInfo[], jsDocs?: JSDoc[]): ConditionCheckResult; getFileCheckedModuleInfo?(containFilePath: string): FileCheckModuleInfo; getLastCompiledProgram?(): Program; + isStaticSourceFile?(filePath: string): boolean; } interface SourceMapRange extends TextRange { source?: SourceMapSource; @@ -6605,6 +6607,7 @@ declare namespace ts { shouldCompletionSortCustom?: boolean; uiProps?: Set; clearProps?(): void; + isStaticSourceFile?(fileName: string): boolean; clearFileCache?(): void; } type WithMetadata = T & { diff --git a/lib/typescript.js b/lib/typescript.js index 8d0751728c..a82d4978a2 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -46106,6 +46106,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { deleteConstEnumRelate: (path) => { constEnumRelate && constEnumRelate.delete(path); }, + isStaticRecord, getTypeArgumentsForResolvedSignature, getCheckedSourceFiles: () => checkedSourceFiles, collectHaveTsNoCheckFilesForLinter: (sourceFile) => { @@ -46143,6 +46144,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return result; } + function isStaticRecord(type) { + var _a2; + if (type === void 0) { + return false; + } + const aliasedSymbol = type.aliasSymbol; + if (aliasedSymbol === void 0) { + return false; + } + const links = getSymbolLinks(aliasedSymbol); + if (links.isStaticRecord === void 0) { + links.isStaticRecord = isStaticSourceFile(getSourceFileOfNode((_a2 = aliasedSymbol == null ? void 0 : aliasedSymbol.declarations) == null ? void 0 : _a2[0])); + } + return links.isStaticRecord; + } + function isStaticSourceFile(sourceFile) { + if (!sourceFile) { + return false; + } + if (host.isStaticSourceFile) { + return host.isStaticSourceFile(sourceFile.fileName); + } + return false; + } function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode, editingArgument) { const node = getParseTreeNode(nodeIn, isCallLikeExpression); apparentArgumentCount = argumentCount; @@ -107745,7 +107770,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config initProcessingFiles, processImportedModules, getProcessingFiles, - deleteProgramSourceFiles + deleteProgramSourceFiles, + isStaticSourceFile: host.isStaticSourceFile }; onProgramCreateComplete(); fileProcessingDiagnostics == null ? void 0 : fileProcessingDiagnostics.forEach((diagnostic) => { @@ -123976,7 +124002,8 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h getParsedCommandLine, getJsDocNodeCheckedConfig: maybeBind(host, host.getJsDocNodeCheckedConfig), getJsDocNodeConditionCheckedResult: maybeBind(host, host.getJsDocNodeConditionCheckedResult), - getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo) + getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo), + isStaticSourceFile: host.isStaticSourceFile }; const originalGetSourceFile = compilerHost.getSourceFile; const { getSourceFileWithCache } = changeCompilerHostLikeToUseCache( diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 555640f3a8..ca323fbf9f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -984,6 +984,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: getConstEnumRelate: () => constEnumRelate, clearConstEnumRelate: () => {constEnumRelate && constEnumRelate.clear()}, deleteConstEnumRelate: (path: string) => {constEnumRelate && constEnumRelate.delete(path)}, + isStaticRecord: isStaticRecord, getTypeArgumentsForResolvedSignature, getCheckedSourceFiles: () => checkedSourceFiles, collectHaveTsNoCheckFilesForLinter: (sourceFile: SourceFile) => {isTypeCheckerForLinter && checkedSourceFiles.add(sourceFile)}, @@ -1020,6 +1021,32 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return result; } + // Returns true if Record is from ArkTs1.2 + function isStaticRecord(type: Type): boolean { + if (type === undefined){ + return false; + } + const aliasedSymbol = type.aliasSymbol; + if (aliasedSymbol === undefined){ + return false; + } + const links = getSymbolLinks(aliasedSymbol); + if (links.isStaticRecord === undefined) { + links.isStaticRecord = isStaticSourceFile(getSourceFileOfNode(aliasedSymbol?.declarations?.[0])); + } + return links.isStaticRecord; + } + + function isStaticSourceFile(sourceFile: SourceFile | undefined): boolean { + if (!sourceFile) { + return false; + } + if (host.isStaticSourceFile) { + return host.isStaticSourceFile(sourceFile.fileName); + } + return false; + } + function getResolvedSignatureWorker(nodeIn: CallLikeExpression, candidatesOutArray: Signature[] | undefined, argumentCount: number | undefined, checkMode: CheckMode, editingArgument?: Node): Signature | undefined { const node = getParseTreeNode(nodeIn, isCallLikeExpression); apparentArgumentCount = argumentCount; diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 1a330e8477..870f0e0947 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1447,7 +1447,8 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg initProcessingFiles, processImportedModules, getProcessingFiles, - deleteProgramSourceFiles + deleteProgramSourceFiles, + isStaticSourceFile: host.isStaticSourceFile }; onProgramCreateComplete(); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 77b108d1db..57bc9bd0cd 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -4746,6 +4746,7 @@ export interface TypeCheckerHost extends ModuleSpecifierResolutionHost { getJsDocNodeCheckedConfig?(fileCheckedInfo: FileCheckModuleInfo, symbolSourceFilePath: string): JsDocNodeCheckConfig; getJsDocNodeConditionCheckedResult?(fileCheckedInfo: FileCheckModuleInfo, jsDocTagInfos: JsDocTagInfo[], jsDocs?: JSDoc[]): ConditionCheckResult; getFileCheckedModuleInfo?(containFilePath: string): FileCheckModuleInfo; + isStaticSourceFile?(filePath: string): boolean; } export interface TypeChecker { @@ -5052,6 +5053,7 @@ export interface TypeChecker { getConstEnumRelate?(): ESMap>; clearConstEnumRelate?(): void; deleteConstEnumRelate?(path: string): void; + isStaticRecord?(type: Type): boolean; getTypeArgumentsForResolvedSignature(signature: Signature): readonly Type[] | undefined; getCheckedSourceFiles(): Set; collectHaveTsNoCheckFilesForLinter(sourceFile: SourceFile): void; @@ -5625,6 +5627,7 @@ export interface SymbolLinks { tupleLabelDeclaration?: NamedTupleMember | ParameterDeclaration; // Declaration associated with the tuple's label accessibleChainCache?: ESMap; filteredIndexSymbolCache?: ESMap //Symbol with applicable declarations + isStaticRecord?: boolean; // Returns true if Record is from ArkTs1.2 } /** @internal */ @@ -7570,6 +7573,9 @@ export interface CompilerHost extends ModuleResolutionHost { // For ark incremental build getLastCompiledProgram?(): Program; + + // Verify whether the file belongs to ArkTS 1.2 + isStaticSourceFile?(filePath: string): boolean; } /** diff --git a/src/services/services.ts b/src/services/services.ts index f98f771f85..b5d968953c 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1423,6 +1423,7 @@ export function createLanguageService( getJsDocNodeCheckedConfig: maybeBind(host, host.getJsDocNodeCheckedConfig), getJsDocNodeConditionCheckedResult: maybeBind(host, host.getJsDocNodeConditionCheckedResult), getFileCheckedModuleInfo: maybeBind(host, host.getFileCheckedModuleInfo), + isStaticSourceFile: host.isStaticSourceFile }; const originalGetSourceFile = compilerHost.getSourceFile; diff --git a/src/services/types.ts b/src/services/types.ts index 431f350441..6e40ccc952 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -369,6 +369,7 @@ export interface LanguageServiceHost extends GetEffectiveTypeRootsHost, MinimalR shouldCompletionSortCustom?: boolean; uiProps?: Set; clearProps?(): void; + isStaticSourceFile?(fileName: string): boolean; clearFileCache?(): void; } diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 1dc9d86321..fbd26279f9 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -6644,6 +6644,7 @@ declare namespace ts { getConstEnumRelate?(): ESMap>; clearConstEnumRelate?(): void; deleteConstEnumRelate?(path: string): void; + isStaticRecord?(type: Type): boolean; getTypeArgumentsForResolvedSignature(signature: Signature): readonly Type[] | undefined; getCheckedSourceFiles(): Set; collectHaveTsNoCheckFilesForLinter(sourceFile: SourceFile): void; @@ -7727,6 +7728,7 @@ declare namespace ts { getJsDocNodeConditionCheckedResult?(jsDocFileCheckedInfo: FileCheckModuleInfo, jsDocTagInfos: JsDocTagInfo[], jsDocs?: JSDoc[]): ConditionCheckResult; getFileCheckedModuleInfo?(containFilePath: string): FileCheckModuleInfo; getLastCompiledProgram?(): Program; + isStaticSourceFile?(filePath: string): boolean; } interface SourceMapRange extends TextRange { source?: SourceMapSource; @@ -10535,6 +10537,7 @@ declare namespace ts { shouldCompletionSortCustom?: boolean; uiProps?: Set; clearProps?(): void; + isStaticSourceFile?(fileName: string): boolean; clearFileCache?(): void; } type WithMetadata = T & { diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 1cb646e837..93ee315db4 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -2641,6 +2641,7 @@ declare namespace ts { getConstEnumRelate?(): ESMap>; clearConstEnumRelate?(): void; deleteConstEnumRelate?(path: string): void; + isStaticRecord?(type: Type): boolean; getTypeArgumentsForResolvedSignature(signature: Signature): readonly Type[] | undefined; getCheckedSourceFiles(): Set; collectHaveTsNoCheckFilesForLinter(sourceFile: SourceFile): void; @@ -3724,6 +3725,7 @@ declare namespace ts { getJsDocNodeConditionCheckedResult?(jsDocFileCheckedInfo: FileCheckModuleInfo, jsDocTagInfos: JsDocTagInfo[], jsDocs?: JSDoc[]): ConditionCheckResult; getFileCheckedModuleInfo?(containFilePath: string): FileCheckModuleInfo; getLastCompiledProgram?(): Program; + isStaticSourceFile?(filePath: string): boolean; } interface SourceMapRange extends TextRange { source?: SourceMapSource; @@ -6605,6 +6607,7 @@ declare namespace ts { shouldCompletionSortCustom?: boolean; uiProps?: Set; clearProps?(): void; + isStaticSourceFile?(fileName: string): boolean; clearFileCache?(): void; } type WithMetadata = T & { -- Gitee From d16ba19883a63b880bcfe07099a87e727addc1f0 Mon Sep 17 00:00:00 2001 From: liyancheng2 Date: Wed, 28 May 2025 21:00:28 +0800 Subject: [PATCH 3/7] support 1.1 kit cherry pick to 0702 branch Issue: https://gitee.com/openharmony/third_party_typescript/issues/ICKJ8C Signed-off-by: liyancheng2 Change-Id: I797e5906b6c5612adabbc76e270309cefce134ee --- lib/tsc.js | 12 ++++++++---- lib/tsserver.js | 16 ++++++++++++---- lib/tsserverlibrary.d.ts | 1 + lib/tsserverlibrary.js | 16 ++++++++++++---- lib/typescript.d.ts | 1 + lib/typescript.js | 15 +++++++++++---- lib/typingsInstaller.js | 9 +++++---- src/compiler/ohApi.ts | 6 +++--- src/compiler/parser.ts | 9 ++++++++- src/services/services.ts | 5 ++++- .../baselines/reference/api/tsserverlibrary.d.ts | 1 + tests/baselines/reference/api/typescript.d.ts | 1 + 12 files changed, 67 insertions(+), 25 deletions(-) diff --git a/lib/tsc.js b/lib/tsc.js index d72e977155..c2b9d9b94a 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -26161,6 +26161,10 @@ function parseIsolatedJSDocComment(content, start, length2) { function parseJSDocTypeExpressionForTests(content, start, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length2); } +var languageVersionCallBack; +function getLanguageVersionByFilePath(getLanguageVersion) { + languageVersionCallBack = getLanguageVersion; +} var Parser; ((Parser2) => { var scanner = createScanner(99 /* Latest */, true); @@ -26387,7 +26391,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -38964,15 +38968,15 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/build-tools/ets-loader/kit_configs"; +var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; +var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; } function getKitJsonObject(name, sdkPath) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { diff --git a/lib/tsserver.js b/lib/tsserver.js index c120f09059..1e58321b5c 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -1040,6 +1040,7 @@ __export(server_exports, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, + getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -28847,6 +28848,10 @@ function parseIsolatedJSDocComment(content, start2, length2) { function parseJSDocTypeExpressionForTests(content, start2, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start2, length2); } +var languageVersionCallBack; +function getLanguageVersionByFilePath(getLanguageVersion) { + languageVersionCallBack = getLanguageVersion; +} var Parser; ((Parser2) => { var scanner2 = createScanner(99 /* Latest */, true); @@ -29073,7 +29078,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -41650,15 +41655,15 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/build-tools/ets-loader/kit_configs"; +var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; +var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; } function getKitJsonObject(name, sdkPath) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { @@ -117027,6 +117032,7 @@ __export(ts_exports3, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, + getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -126288,6 +126294,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h let lastTypesRootVersion = 0; const cancellationToken = host.getCancellationToken ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; const currentDirectory = host.getCurrentDirectory(); + getLanguageVersionByFilePath(host.isStaticSourceFile); maybeSetLocalizedDiagnosticMessages((_a2 = host.getLocalizedDiagnosticMessages) == null ? void 0 : _a2.bind(host)); function log(message) { if (host.log) { @@ -177579,6 +177586,7 @@ if (typeof process !== "undefined") { getJSXRuntimeImport, getJSXTransformEnabled, getLanguageVariant, + getLanguageVersionByFilePath, getLastChild, getLeadingCommentRanges, getLeadingCommentRangesOfNode, diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index fbd26279f9..0857549c69 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -9652,6 +9652,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; + function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index ae9fc7ece9..a7126199db 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -1040,6 +1040,7 @@ __export(tsserverlibrary_exports, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, + getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -28749,6 +28750,10 @@ function parseIsolatedJSDocComment(content, start, length2) { function parseJSDocTypeExpressionForTests(content, start, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length2); } +var languageVersionCallBack; +function getLanguageVersionByFilePath(getLanguageVersion) { + languageVersionCallBack = getLanguageVersion; +} var Parser; ((Parser2) => { var scanner2 = createScanner(99 /* Latest */, true); @@ -28975,7 +28980,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -41552,15 +41557,15 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/build-tools/ets-loader/kit_configs"; +var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; +var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; } function getKitJsonObject(name, sdkPath) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { @@ -123513,6 +123518,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h let lastTypesRootVersion = 0; const cancellationToken = host.getCancellationToken ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; const currentDirectory = host.getCurrentDirectory(); + getLanguageVersionByFilePath(host.isStaticSourceFile); maybeSetLocalizedDiagnosticMessages((_a2 = host.getLocalizedDiagnosticMessages) == null ? void 0 : _a2.bind(host)); function log(message) { if (host.log) { @@ -153492,6 +153498,7 @@ __export(ts_exports3, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, + getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -176576,6 +176583,7 @@ __export(ts_server_exports3, { getJSXRuntimeImport, getJSXTransformEnabled, getLanguageVariant, + getLanguageVersionByFilePath, getLastChild, getLeadingCommentRanges, getLeadingCommentRangesOfNode, diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index 93ee315db4..151140c03c 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -5649,6 +5649,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; + function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** diff --git a/lib/typescript.js b/lib/typescript.js index a82d4978a2..d107f36b59 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -1040,6 +1040,7 @@ __export(typescript_exports, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, + getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -28764,6 +28765,10 @@ function parseIsolatedJSDocComment(content, start, length2) { function parseJSDocTypeExpressionForTests(content, start, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length2); } +var languageVersionCallBack; +function getLanguageVersionByFilePath(getLanguageVersion) { + languageVersionCallBack = getLanguageVersion; +} var Parser; ((Parser2) => { var scanner2 = createScanner(99 /* Latest */, true); @@ -28990,7 +28995,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -41567,15 +41572,15 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/build-tools/ets-loader/kit_configs"; +var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; +var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; } function getKitJsonObject(name, sdkPath) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { @@ -123915,6 +123920,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h let lastTypesRootVersion = 0; const cancellationToken = host.getCancellationToken ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; const currentDirectory = host.getCurrentDirectory(); + getLanguageVersionByFilePath(host.isStaticSourceFile); maybeSetLocalizedDiagnosticMessages((_a2 = host.getLocalizedDiagnosticMessages) == null ? void 0 : _a2.bind(host)); function log(message) { if (host.log) { @@ -164806,6 +164812,7 @@ if (typeof console !== "undefined") { getJSXRuntimeImport, getJSXTransformEnabled, getLanguageVariant, + getLanguageVersionByFilePath, getLastChild, getLeadingCommentRanges, getLeadingCommentRangesOfNode, diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 3e0a93fd3b..98970a7d29 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -19022,6 +19022,7 @@ function parseJsonText(fileName, sourceText) { function isExternalModule(file) { return file.externalModuleIndicator !== void 0; } +var languageVersionCallBack; var Parser; ((Parser2) => { var scanner = createScanner(99 /* Latest */, true); @@ -19248,7 +19249,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -29325,11 +29326,11 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/build-tools/ets-loader/kit_configs"; +var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; +var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; } function getKitJsonObject(name, sdkPath) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { diff --git a/src/compiler/ohApi.ts b/src/compiler/ohApi.ts index fe6b0e87a9..bd1b087e37 100644 --- a/src/compiler/ohApi.ts +++ b/src/compiler/ohApi.ts @@ -1060,8 +1060,8 @@ const JSON_SUFFIX = '.json'; const KIT_PREFIX = '@kit.'; const DEFAULT_KEYWORD = 'default'; const ETS_DECLARATION = '.d.ets'; -const OHOS_KIT_CONFIG_PATH = './openharmony/ets/build-tools/ets-loader/kit_configs'; -const HMS_KIT_CONFIG_PATH = './hms/ets/build-tools/ets-loader/kit_configs'; +const OHOS_KIT_CONFIG_PATH = './openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs'; +const HMS_KIT_CONFIG_PATH = './hms/ets/ets1.1/build-tools/ets-loader/kit_configs'; export const THROWS_TAG = 'throws' export const THROWS_CATCH = 'catch' export const THROWS_ASYNC_CALLBACK = 'AsyncCallback' @@ -1082,7 +1082,7 @@ const kitJsonCache = new Map(); /** @internal */ export function getSdkPath(compilerOptions: CompilerOptions): string | undefined { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, '../../../..') : undefined; + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, '../../../../..') : undefined; } function getKitJsonObject(name: string, sdkPath: string): KitJsonInfo | undefined { diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index fd3800072b..7e8c6472d4 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1115,6 +1115,12 @@ export function parseJSDocTypeExpressionForTests(content: string, start?: number return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length); } +// Get language version: ArkTS 1.1、1.2 +let languageVersionCallBack: ((filePath: string) => boolean) | undefined; +export function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void { + languageVersionCallBack = getLanguageVersion; +} + // Implement the parser as a singleton module. We do this for perf reasons because creating // parser instances can actually be expensive enough to impact us on projects with many source // files. @@ -1482,7 +1488,8 @@ namespace Parser { let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = (!!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length) ? + // When the language version is 1.2, skip processKit + statements = (!!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || languageVersionCallBack?.(fileName)) ? statements : createNodeArray(processKit(factory, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); Debug.assert(token() === SyntaxKind.EndOfFileToken); diff --git a/src/services/services.ts b/src/services/services.ts index b5d968953c..befde7310f 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -19,7 +19,7 @@ import { FormatCodeOptions, FormatCodeSettings, formatting, FunctionLikeDeclaration, GeneratedIdentifierFlags, getAdjustedRenameLocation, getAllSuperTypeNodes, getAssignmentDeclarationKind, GetCompletionsAtPositionOptions, getContainerNode, getDefaultLibFileName, getDirectoryPath, getEmitDeclarations, getEntries, - getEscapedTextOfIdentifierOrLiteral, getFileEmitOutput, getImpliedNodeFormatForFile, getJSDocTags, + getEscapedTextOfIdentifierOrLiteral, getFileEmitOutput, getImpliedNodeFormatForFile, getJSDocTags, getLanguageVersionByFilePath, getLineAndCharacterOfPosition, getLineStarts, getMappedDocumentSpan, getNameFromPropertyName, getNewLineCharacter, getNewLineOrDefaultFromHost, getNonAssignedNameOfDeclaration, getNormalizedAbsolutePath, getObjectFlags, getScriptKind, getScriptKindFromFileName, getSetExternalModuleIndicator, getSnapshotText, getSourceFileOfNode, @@ -1315,6 +1315,9 @@ export function createLanguageService( const currentDirectory = host.getCurrentDirectory(); + // Get the callback to determine languageVersion by filePath (will used in parsing) + getLanguageVersionByFilePath(host.isStaticSourceFile); + // Checks if the localized messages json is set, and if not, query the host for it maybeSetLocalizedDiagnosticMessages(host.getLocalizedDiagnosticMessages?.bind(host)); diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index fbd26279f9..0857549c69 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -9652,6 +9652,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; + function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 93ee315db4..151140c03c 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -5649,6 +5649,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; + function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** -- Gitee From 1df183897617fffa424070148027b1362bc5e5d5 Mon Sep 17 00:00:00 2001 From: x30053363 Date: Mon, 7 Jul 2025 16:09:44 +0800 Subject: [PATCH 4/7] Support isolateDeclarations step1 Issue: https://gitee.com/openharmony/third_party_typescript/issues/ICKIXL Signed-off-by: x30053363 Change-Id: I021be6b76ede9eeea75aedf88e091179dd26659e --- lib/tsc.js | 252 ++++++++++++++- lib/tsserver.js | 255 ++++++++++++++- lib/tsserverlibrary.d.ts | 1 + lib/tsserverlibrary.js | 255 ++++++++++++++- lib/typescript.d.ts | 1 + lib/typescript.js | 254 ++++++++++++++- lib/typingsInstaller.js | 31 ++ src/compiler/checker.ts | 45 ++- src/compiler/diagnosticMessages.json | 135 +++++++- src/compiler/emitter.ts | 1 + src/compiler/program.ts | 9 + src/compiler/transformers/declarations.ts | 5 +- .../transformers/declarations/diagnostics.ts | 294 +++++++++++++++++- src/compiler/types.ts | 3 + src/compiler/utilities.ts | 2 +- .../reference/api/tsserverlibrary.d.ts | 1 + tests/baselines/reference/api/typescript.d.ts | 1 + 17 files changed, 1516 insertions(+), 29 deletions(-) diff --git a/lib/tsc.js b/lib/tsc.js index 95a482f678..8aa0031aba 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -4533,6 +4533,7 @@ var InternalSymbolName = /* @__PURE__ */ ((InternalSymbolName2) => { return InternalSymbolName2; })(InternalSymbolName || {}); var NodeCheckFlags = /* @__PURE__ */ ((NodeCheckFlags2) => { + NodeCheckFlags2[NodeCheckFlags2["None"] = 0] = "None"; NodeCheckFlags2[NodeCheckFlags2["TypeChecked"] = 1] = "TypeChecked"; NodeCheckFlags2[NodeCheckFlags2["LexicalThis"] = 2] = "LexicalThis"; NodeCheckFlags2[NodeCheckFlags2["CaptureThis"] = 4] = "CaptureThis"; @@ -8552,6 +8553,7 @@ var Diagnostics = { Specify_how_the_TypeScript_watch_mode_works: diag(6715, 3 /* Message */, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, 3 /* Message */, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), + Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), @@ -8676,6 +8678,36 @@ var Diagnostics = { Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: diag(8037, 1 /* Error */, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), + Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9007, 1 /* Error */, "Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007", "Function must have an explicit return type annotation with --isolatedDeclarations."), + Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9008, 1 /* Error */, "Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008", "Method must have an explicit return type annotation with --isolatedDeclarations."), + At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9009, 1 /* Error */, "At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9009", "At least one accessor must have an explicit return type annotation with --isolatedDeclarations."), + Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9010, 1 /* Error */, "Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010", "Variable must have an explicit type annotation with --isolatedDeclarations."), + Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9011, 1 /* Error */, "Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011", "Parameter must have an explicit type annotation with --isolatedDeclarations."), + Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9012, 1 /* Error */, "Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012", "Property must have an explicit type annotation with --isolatedDeclarations."), + Expression_type_can_t_be_inferred_with_isolatedDeclarations: diag(9013, 1 /* Error */, "Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013", "Expression type can't be inferred with --isolatedDeclarations."), + Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations: diag(9014, 1 /* Error */, "Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014", "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."), + Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations: diag(9015, 1 /* Error */, "Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015", "Objects that contain spread assignments can't be inferred with --isolatedDeclarations."), + Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations: diag(9016, 1 /* Error */, "Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016", "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."), + Only_const_arrays_can_be_inferred_with_isolatedDeclarations: diag(9017, 1 /* Error */, "Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017", "Only const arrays can be inferred with --isolatedDeclarations."), + Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations: diag(9018, 1 /* Error */, "Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018", "Arrays with spread elements can't inferred with --isolatedDeclarations."), + Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations: diag(9019, 1 /* Error */, "Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019", "Binding elements can't be exported directly with --isolatedDeclarations."), + Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations: diag(9020, 1 /* Error */, "Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020", "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."), + Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations: diag(9021, 1 /* Error */, "Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021", "Extends clause can't contain an expression with --isolatedDeclarations."), + Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations: diag(9022, 1 /* Error */, "Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022", "Inference from class expressions is not supported with --isolatedDeclarations."), + Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function: diag(9023, 1 /* Error */, "Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023", "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."), + Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations: diag(9025, 1 /* Error */, "Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_su_9025", "Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations."), + Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations: diag(9026, 1 /* Error */, "Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026", "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."), + Add_a_type_annotation_to_the_variable_0: diag(9027, 1 /* Error */, "Add_a_type_annotation_to_the_variable_0_9027", "Add a type annotation to the variable {0}."), + Add_a_type_annotation_to_the_parameter_0: diag(9028, 1 /* Error */, "Add_a_type_annotation_to_the_parameter_0_9028", "Add a type annotation to the parameter {0}."), + Add_a_type_annotation_to_the_property_0: diag(9029, 1 /* Error */, "Add_a_type_annotation_to_the_property_0_9029", "Add a type annotation to the property {0}."), + Add_a_return_type_to_the_function_expression: diag(9030, 1 /* Error */, "Add_a_return_type_to_the_function_expression_9030", "Add a return type to the function expression."), + Add_a_return_type_to_the_function_declaration: diag(9031, 1 /* Error */, "Add_a_return_type_to_the_function_declaration_9031", "Add a return type to the function declaration."), + Add_a_return_type_to_the_get_accessor_declaration: diag(9032, 1 /* Error */, "Add_a_return_type_to_the_get_accessor_declaration_9032", "Add a return type to the get accessor declaration."), + Add_a_type_to_parameter_of_the_set_accessor_declaration: diag(9033, 1 /* Error */, "Add_a_type_to_parameter_of_the_set_accessor_declaration_9033", "Add a type to parameter of the set accessor declaration."), + Add_a_return_type_to_the_method: diag(9034, 1 /* Error */, "Add_a_return_type_to_the_method_9034", "Add a return type to the method"), + Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit: diag(9035, 1 /* Error */, "Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035", "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."), + Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it: diag(9036, 1 /* Error */, "Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036", "Move the expression in default export to a variable and add a type annotation to it."), + Default_exports_can_t_be_inferred_with_isolatedDeclarations: diag(9037, 1 /* Error */, "Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037", "Default exports can't be inferred with --isolatedDeclarations."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17e3, 1 /* Error */, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), JSX_elements_cannot_have_multiple_attributes_with_the_same_name: diag(17001, 1 /* Error */, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."), Expected_corresponding_JSX_closing_tag_for_0: diag(17002, 1 /* Error */, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."), @@ -77168,11 +77200,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function declaredParameterTypeContainsUndefined(parameter) { + const typeNode = getNonlocalEffectiveTypeAnnotationNode(parameter); + if (!typeNode) + return false; + const type = getTypeFromTypeNode(typeNode); + return containsUndefinedType(type); + } + function requiresAddingImplicitUndefined(parameter) { + return (isRequiredInitializedParameter(parameter) || isOptionalUninitializedParameterProperty(parameter)) && !declaredParameterTypeContainsUndefined(parameter); + } function isRequiredInitializedParameter(parameter) { return !!strictNullChecks && !isOptionalParameter(parameter) && !isJSDocParameterTag(parameter) && !!parameter.initializer && !hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { - return strictNullChecks && isOptionalParameter(parameter) && !parameter.initializer && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); + return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -77303,6 +77345,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } + function getAllAccessorDeclarationsForDeclaration(accessor) { + accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); + const otherKind = accessor.kind === 178 /* SetAccessor */ ? 177 /* GetAccessor */ : 178 /* SetAccessor */; + const otherAccessor = getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); + const firstAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? otherAccessor : accessor; + const secondAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? accessor : otherAccessor; + const setAccessor = accessor.kind === 178 /* SetAccessor */ ? accessor : otherAccessor; + const getAccessor = accessor.kind === 177 /* GetAccessor */ ? accessor : otherAccessor; + return { + firstAccessor, + secondAccessor, + setAccessor, + getAccessor + }; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { @@ -77403,6 +77460,19 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return parseIsolatedEntityName(compilerOptions.jsxFragmentFactory, languageVersion); } } + function getNonlocalEffectiveTypeAnnotationNode(node) { + const direct = getEffectiveTypeAnnotationNode(node); + if (direct) { + return direct; + } + if (node.kind === 168 /* Parameter */ && node.parent.kind === 178 /* SetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node.parent).getAccessor; + if (other) { + return getEffectiveReturnTypeNode(other); + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -77483,6 +77553,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible, isImplementationOfOverload, + requiresAddingImplicitUndefined, isRequiredInitializedParameter, isOptionalUninitializedParameterProperty, isExpandoFunctionDeclaration, @@ -96709,6 +96780,171 @@ function createGetSymbolAccessibilityDiagnosticForNode(node) { }; } } +function createGetIsolatedDeclarationErrors(resolver) { + const relatedSuggestionByDeclarationKind = { + [219 /* ArrowFunction */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [218 /* FunctionExpression */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [174 /* MethodDeclaration */]: Diagnostics.Add_a_return_type_to_the_method, + [177 /* GetAccessor */]: Diagnostics.Add_a_return_type_to_the_get_accessor_declaration, + [178 /* SetAccessor */]: Diagnostics.Add_a_type_to_parameter_of_the_set_accessor_declaration, + [263 /* FunctionDeclaration */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [180 /* ConstructSignature */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [168 /* Parameter */]: Diagnostics.Add_a_type_annotation_to_the_parameter_0, + [261 /* VariableDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_variable_0, + [171 /* PropertyDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [170 /* PropertySignature */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [280 /* ExportAssignment */]: Diagnostics.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it + }; + const errorByDeclarationKind = { + [218 /* FunctionExpression */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [263 /* FunctionDeclaration */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [219 /* ArrowFunction */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [174 /* MethodDeclaration */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [180 /* ConstructSignature */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [177 /* GetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [178 /* SetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [168 /* Parameter */]: Diagnostics.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [261 /* VariableDeclaration */]: Diagnostics.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [171 /* PropertyDeclaration */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [170 /* PropertySignature */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [166 /* ComputedPropertyName */]: Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations, + [307 /* SpreadAssignment */]: Diagnostics.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations, + [306 /* ShorthandPropertyAssignment */]: Diagnostics.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations, + [209 /* ArrayLiteralExpression */]: Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations, + [280 /* ExportAssignment */]: Diagnostics.Default_exports_can_t_be_inferred_with_isolatedDeclarations, + [231 /* SpreadElement */]: Diagnostics.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations + }; + return getDiagnostic; + function getDiagnostic(node) { + const heritageClause = findAncestor(node, isHeritageClause); + if (heritageClause) { + return createDiagnosticForNode(node, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations); + } + Debug.type(node); + switch (node.kind) { + case 177 /* GetAccessor */: + case 178 /* SetAccessor */: + return createAccessorTypeError(node); + case 166 /* ComputedPropertyName */: + case 306 /* ShorthandPropertyAssignment */: + case 307 /* SpreadAssignment */: + return createObjectLiteralError(node); + case 209 /* ArrayLiteralExpression */: + case 231 /* SpreadElement */: + return createArrayLiteralError(node); + case 174 /* MethodDeclaration */: + case 180 /* ConstructSignature */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 263 /* FunctionDeclaration */: + return createReturnTypeError(node); + case 208 /* BindingElement */: + return createBindingElementError(node); + case 171 /* PropertyDeclaration */: + case 261 /* VariableDeclaration */: + return createVariableOrPropertyError(node); + case 168 /* Parameter */: + return createParameterError(node); + case 305 /* PropertyAssignment */: + return createExpressionError(node.initializer); + case 232 /* ClassExpression */: + return createClassExpressionError(node); + default: + assertType(node); + return createExpressionError(node); + } + } + function findNearestDeclaration(node) { + const result = findAncestor(node, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n))); + return result; + } + function createAccessorTypeError(node) { + var _a2; + const { getAccessor, setAccessor } = getAllAccessorDeclarations(node.symbol.declarations, node); + const targetNode = (_a2 = isSetAccessor(node) ? node.parameters[0] : node) != null ? _a2 : node; + const diag2 = createDiagnosticForNode(targetNode, errorByDeclarationKind[node.kind]); + if (setAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(setAccessor, relatedSuggestionByDeclarationKind[setAccessor.kind])); + } + if (getAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(getAccessor, relatedSuggestionByDeclarationKind[getAccessor.kind])); + } + return diag2; + } + function createObjectLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createArrayLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createReturnTypeError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind])); + return diag2; + } + function createBindingElementError(node) { + return createDiagnosticForNode(node, Diagnostics.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations); + } + function createVariableOrPropertyError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createParameterError(node) { + if (isSetAccessor(node.parent)) { + return createAccessorTypeError(node.parent); + } + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + if (!addUndefined && node.initializer) { + return createExpressionError(node.initializer); + } + const message = addUndefined ? Diagnostics.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations : errorByDeclarationKind[node.kind]; + const diag2 = createDiagnosticForNode(node, message); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createClassExpressionError(node) { + return createExpressionError(node, Diagnostics.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations); + } + function createExpressionError(node, diagnosticMessage) { + const parentDeclaration = findNearestDeclaration(node); + let diag2; + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + const parent = findAncestor(node.parent, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : !isParenthesizedExpression(n) && !isTypeAssertionExpression(n) && !isAsExpression(n))); + if (parentDeclaration === parent) { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : errorByDeclarationKind[parentDeclaration.kind]); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + addRelatedInfo(diag2, createDiagnosticForNode(node, Diagnostics.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)); + } + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + } + return diag2; + } +} // src/compiler/transformers/declarations.ts function getDeclarationDiagnostics(host, resolver, file) { @@ -96777,7 +97013,7 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); - const { noResolve, stripInternal } = options; + const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { @@ -97393,6 +97629,9 @@ function transformDeclarations(context) { ); } if (resolver.isImportRequiredByAugmentation(decl)) { + if (isolatedDeclarations) { + context.addDiagnostic(createDiagnosticForNode(decl, Diagnostics.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)); + } return factory2.updateImportDeclaration( decl, decl.modifiers, @@ -99285,6 +99524,7 @@ var notImplementedResolver = { isLateBound: (_node) => false, collectLinkedAliases: notImplemented, isImplementationOfOverload: notImplemented, + requiresAddingImplicitUndefined: notImplemented, isRequiredInitializedParameter: notImplemented, isOptionalUninitializedParameterProperty: notImplemented, isExpandoFunctionDeclaration: notImplemented, @@ -106848,6 +107088,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"); } } + if (options.isolatedDeclarations) { + if (getAllowJSCompilerOption(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"); + } + if (!getEmitDeclarations(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite"); + } + } if (options.inlineSourceMap) { if (options.sourceMap) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"); diff --git a/lib/tsserver.js b/lib/tsserver.js index 2711b74d74..83ca684adf 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -465,6 +465,7 @@ __export(server_exports, { createFunctionTypeNode: () => createFunctionTypeNode, createGetAccessor: () => createGetAccessor, createGetCanonicalFileName: () => createGetCanonicalFileName, + createGetIsolatedDeclarationErrors: () => createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode: () => createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName: () => createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker: () => createGetSymbolWalker, @@ -7234,6 +7235,7 @@ var InternalSymbolName = /* @__PURE__ */ ((InternalSymbolName2) => { return InternalSymbolName2; })(InternalSymbolName || {}); var NodeCheckFlags = /* @__PURE__ */ ((NodeCheckFlags2) => { + NodeCheckFlags2[NodeCheckFlags2["None"] = 0] = "None"; NodeCheckFlags2[NodeCheckFlags2["TypeChecked"] = 1] = "TypeChecked"; NodeCheckFlags2[NodeCheckFlags2["LexicalThis"] = 2] = "LexicalThis"; NodeCheckFlags2[NodeCheckFlags2["CaptureThis"] = 4] = "CaptureThis"; @@ -11253,6 +11255,7 @@ var Diagnostics = { Specify_how_the_TypeScript_watch_mode_works: diag(6715, 3 /* Message */, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, 3 /* Message */, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), + Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), @@ -11377,6 +11380,36 @@ var Diagnostics = { Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: diag(8037, 1 /* Error */, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), + Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9007, 1 /* Error */, "Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007", "Function must have an explicit return type annotation with --isolatedDeclarations."), + Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9008, 1 /* Error */, "Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008", "Method must have an explicit return type annotation with --isolatedDeclarations."), + At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9009, 1 /* Error */, "At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9009", "At least one accessor must have an explicit return type annotation with --isolatedDeclarations."), + Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9010, 1 /* Error */, "Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010", "Variable must have an explicit type annotation with --isolatedDeclarations."), + Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9011, 1 /* Error */, "Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011", "Parameter must have an explicit type annotation with --isolatedDeclarations."), + Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9012, 1 /* Error */, "Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012", "Property must have an explicit type annotation with --isolatedDeclarations."), + Expression_type_can_t_be_inferred_with_isolatedDeclarations: diag(9013, 1 /* Error */, "Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013", "Expression type can't be inferred with --isolatedDeclarations."), + Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations: diag(9014, 1 /* Error */, "Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014", "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."), + Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations: diag(9015, 1 /* Error */, "Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015", "Objects that contain spread assignments can't be inferred with --isolatedDeclarations."), + Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations: diag(9016, 1 /* Error */, "Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016", "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."), + Only_const_arrays_can_be_inferred_with_isolatedDeclarations: diag(9017, 1 /* Error */, "Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017", "Only const arrays can be inferred with --isolatedDeclarations."), + Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations: diag(9018, 1 /* Error */, "Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018", "Arrays with spread elements can't inferred with --isolatedDeclarations."), + Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations: diag(9019, 1 /* Error */, "Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019", "Binding elements can't be exported directly with --isolatedDeclarations."), + Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations: diag(9020, 1 /* Error */, "Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020", "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."), + Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations: diag(9021, 1 /* Error */, "Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021", "Extends clause can't contain an expression with --isolatedDeclarations."), + Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations: diag(9022, 1 /* Error */, "Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022", "Inference from class expressions is not supported with --isolatedDeclarations."), + Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function: diag(9023, 1 /* Error */, "Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023", "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."), + Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations: diag(9025, 1 /* Error */, "Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_su_9025", "Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations."), + Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations: diag(9026, 1 /* Error */, "Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026", "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."), + Add_a_type_annotation_to_the_variable_0: diag(9027, 1 /* Error */, "Add_a_type_annotation_to_the_variable_0_9027", "Add a type annotation to the variable {0}."), + Add_a_type_annotation_to_the_parameter_0: diag(9028, 1 /* Error */, "Add_a_type_annotation_to_the_parameter_0_9028", "Add a type annotation to the parameter {0}."), + Add_a_type_annotation_to_the_property_0: diag(9029, 1 /* Error */, "Add_a_type_annotation_to_the_property_0_9029", "Add a type annotation to the property {0}."), + Add_a_return_type_to_the_function_expression: diag(9030, 1 /* Error */, "Add_a_return_type_to_the_function_expression_9030", "Add a return type to the function expression."), + Add_a_return_type_to_the_function_declaration: diag(9031, 1 /* Error */, "Add_a_return_type_to_the_function_declaration_9031", "Add a return type to the function declaration."), + Add_a_return_type_to_the_get_accessor_declaration: diag(9032, 1 /* Error */, "Add_a_return_type_to_the_get_accessor_declaration_9032", "Add a return type to the get accessor declaration."), + Add_a_type_to_parameter_of_the_set_accessor_declaration: diag(9033, 1 /* Error */, "Add_a_type_to_parameter_of_the_set_accessor_declaration_9033", "Add a type to parameter of the set accessor declaration."), + Add_a_return_type_to_the_method: diag(9034, 1 /* Error */, "Add_a_return_type_to_the_method_9034", "Add a return type to the method"), + Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit: diag(9035, 1 /* Error */, "Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035", "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."), + Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it: diag(9036, 1 /* Error */, "Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036", "Move the expression in default export to a variable and add a type annotation to it."), + Default_exports_can_t_be_inferred_with_isolatedDeclarations: diag(9037, 1 /* Error */, "Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037", "Default exports can't be inferred with --isolatedDeclarations."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17e3, 1 /* Error */, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), JSX_elements_cannot_have_multiple_attributes_with_the_same_name: diag(17001, 1 /* Error */, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."), Expected_corresponding_JSX_closing_tag_for_0: diag(17002, 1 /* Error */, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."), @@ -79711,11 +79744,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function declaredParameterTypeContainsUndefined(parameter) { + const typeNode = getNonlocalEffectiveTypeAnnotationNode(parameter); + if (!typeNode) + return false; + const type = getTypeFromTypeNode(typeNode); + return containsUndefinedType(type); + } + function requiresAddingImplicitUndefined(parameter) { + return (isRequiredInitializedParameter(parameter) || isOptionalUninitializedParameterProperty(parameter)) && !declaredParameterTypeContainsUndefined(parameter); + } function isRequiredInitializedParameter(parameter) { return !!strictNullChecks && !isOptionalParameter(parameter) && !isJSDocParameterTag(parameter) && !!parameter.initializer && !hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { - return strictNullChecks && isOptionalParameter(parameter) && !parameter.initializer && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); + return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -79846,6 +79889,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } + function getAllAccessorDeclarationsForDeclaration(accessor) { + accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); + const otherKind = accessor.kind === 178 /* SetAccessor */ ? 177 /* GetAccessor */ : 178 /* SetAccessor */; + const otherAccessor = getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); + const firstAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? otherAccessor : accessor; + const secondAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? accessor : otherAccessor; + const setAccessor = accessor.kind === 178 /* SetAccessor */ ? accessor : otherAccessor; + const getAccessor = accessor.kind === 177 /* GetAccessor */ ? accessor : otherAccessor; + return { + firstAccessor, + secondAccessor, + setAccessor, + getAccessor + }; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { @@ -79946,6 +80004,19 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return parseIsolatedEntityName(compilerOptions.jsxFragmentFactory, languageVersion); } } + function getNonlocalEffectiveTypeAnnotationNode(node) { + const direct = getEffectiveTypeAnnotationNode(node); + if (direct) { + return direct; + } + if (node.kind === 168 /* Parameter */ && node.parent.kind === 178 /* SetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node.parent).getAccessor; + if (other) { + return getEffectiveReturnTypeNode(other); + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -80026,6 +80097,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible, isImplementationOfOverload, + requiresAddingImplicitUndefined, isRequiredInitializedParameter, isOptionalUninitializedParameterProperty, isExpandoFunctionDeclaration, @@ -99068,6 +99140,171 @@ function createGetSymbolAccessibilityDiagnosticForNode(node) { }; } } +function createGetIsolatedDeclarationErrors(resolver) { + const relatedSuggestionByDeclarationKind = { + [219 /* ArrowFunction */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [218 /* FunctionExpression */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [174 /* MethodDeclaration */]: Diagnostics.Add_a_return_type_to_the_method, + [177 /* GetAccessor */]: Diagnostics.Add_a_return_type_to_the_get_accessor_declaration, + [178 /* SetAccessor */]: Diagnostics.Add_a_type_to_parameter_of_the_set_accessor_declaration, + [263 /* FunctionDeclaration */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [180 /* ConstructSignature */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [168 /* Parameter */]: Diagnostics.Add_a_type_annotation_to_the_parameter_0, + [261 /* VariableDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_variable_0, + [171 /* PropertyDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [170 /* PropertySignature */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [280 /* ExportAssignment */]: Diagnostics.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it + }; + const errorByDeclarationKind = { + [218 /* FunctionExpression */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [263 /* FunctionDeclaration */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [219 /* ArrowFunction */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [174 /* MethodDeclaration */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [180 /* ConstructSignature */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [177 /* GetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [178 /* SetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [168 /* Parameter */]: Diagnostics.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [261 /* VariableDeclaration */]: Diagnostics.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [171 /* PropertyDeclaration */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [170 /* PropertySignature */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [166 /* ComputedPropertyName */]: Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations, + [307 /* SpreadAssignment */]: Diagnostics.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations, + [306 /* ShorthandPropertyAssignment */]: Diagnostics.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations, + [209 /* ArrayLiteralExpression */]: Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations, + [280 /* ExportAssignment */]: Diagnostics.Default_exports_can_t_be_inferred_with_isolatedDeclarations, + [231 /* SpreadElement */]: Diagnostics.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations + }; + return getDiagnostic2; + function getDiagnostic2(node) { + const heritageClause = findAncestor(node, isHeritageClause); + if (heritageClause) { + return createDiagnosticForNode(node, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations); + } + Debug.type(node); + switch (node.kind) { + case 177 /* GetAccessor */: + case 178 /* SetAccessor */: + return createAccessorTypeError(node); + case 166 /* ComputedPropertyName */: + case 306 /* ShorthandPropertyAssignment */: + case 307 /* SpreadAssignment */: + return createObjectLiteralError(node); + case 209 /* ArrayLiteralExpression */: + case 231 /* SpreadElement */: + return createArrayLiteralError(node); + case 174 /* MethodDeclaration */: + case 180 /* ConstructSignature */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 263 /* FunctionDeclaration */: + return createReturnTypeError(node); + case 208 /* BindingElement */: + return createBindingElementError(node); + case 171 /* PropertyDeclaration */: + case 261 /* VariableDeclaration */: + return createVariableOrPropertyError(node); + case 168 /* Parameter */: + return createParameterError(node); + case 305 /* PropertyAssignment */: + return createExpressionError(node.initializer); + case 232 /* ClassExpression */: + return createClassExpressionError(node); + default: + assertType(node); + return createExpressionError(node); + } + } + function findNearestDeclaration(node) { + const result = findAncestor(node, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n))); + return result; + } + function createAccessorTypeError(node) { + var _a2; + const { getAccessor, setAccessor } = getAllAccessorDeclarations(node.symbol.declarations, node); + const targetNode = (_a2 = isSetAccessor(node) ? node.parameters[0] : node) != null ? _a2 : node; + const diag2 = createDiagnosticForNode(targetNode, errorByDeclarationKind[node.kind]); + if (setAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(setAccessor, relatedSuggestionByDeclarationKind[setAccessor.kind])); + } + if (getAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(getAccessor, relatedSuggestionByDeclarationKind[getAccessor.kind])); + } + return diag2; + } + function createObjectLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createArrayLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createReturnTypeError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind])); + return diag2; + } + function createBindingElementError(node) { + return createDiagnosticForNode(node, Diagnostics.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations); + } + function createVariableOrPropertyError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createParameterError(node) { + if (isSetAccessor(node.parent)) { + return createAccessorTypeError(node.parent); + } + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + if (!addUndefined && node.initializer) { + return createExpressionError(node.initializer); + } + const message = addUndefined ? Diagnostics.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations : errorByDeclarationKind[node.kind]; + const diag2 = createDiagnosticForNode(node, message); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createClassExpressionError(node) { + return createExpressionError(node, Diagnostics.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations); + } + function createExpressionError(node, diagnosticMessage) { + const parentDeclaration = findNearestDeclaration(node); + let diag2; + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + const parent2 = findAncestor(node.parent, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : !isParenthesizedExpression(n) && !isTypeAssertionExpression(n) && !isAsExpression(n))); + if (parentDeclaration === parent2) { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : errorByDeclarationKind[parentDeclaration.kind]); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + addRelatedInfo(diag2, createDiagnosticForNode(node, Diagnostics.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)); + } + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + } + return diag2; + } +} // src/compiler/transformers/declarations.ts function getDeclarationDiagnostics(host, resolver, file) { @@ -99136,7 +99373,7 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); - const { noResolve, stripInternal } = options; + const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { @@ -99752,6 +99989,9 @@ function transformDeclarations(context) { ); } if (resolver.isImportRequiredByAugmentation(decl)) { + if (isolatedDeclarations) { + context.addDiagnostic(createDiagnosticForNode(decl, Diagnostics.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)); + } return factory2.updateImportDeclaration( decl, decl.modifiers, @@ -101632,6 +101872,7 @@ var notImplementedResolver = { isLateBound: (_node) => false, collectLinkedAliases: notImplemented, isImplementationOfOverload: notImplemented, + requiresAddingImplicitUndefined: notImplemented, isRequiredInitializedParameter: notImplemented, isOptionalUninitializedParameterProperty: notImplemented, isExpandoFunctionDeclaration: notImplemented, @@ -109187,6 +109428,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"); } } + if (options.isolatedDeclarations) { + if (getAllowJSCompilerOption(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"); + } + if (!getEmitDeclarations(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite"); + } + } if (options.inlineSourceMap) { if (options.sourceMap) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"); @@ -116426,6 +116675,7 @@ __export(ts_exports3, { createFunctionTypeNode: () => createFunctionTypeNode, createGetAccessor: () => createGetAccessor, createGetCanonicalFileName: () => createGetCanonicalFileName, + createGetIsolatedDeclarationErrors: () => createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode: () => createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName: () => createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker: () => createGetSymbolWalker, @@ -176977,6 +177227,7 @@ if (typeof process !== "undefined") { createFunctionTypeNode, createGetAccessor, createGetCanonicalFileName, + createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker, diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index 1dc9d86321..eafb79ffe5 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -7311,6 +7311,7 @@ declare namespace ts { inlineSourceMap?: boolean; inlineSources?: boolean; isolatedModules?: boolean; + isolatedDeclarations?: boolean; jsx?: JsxEmit; keyofStringsOnly?: boolean; lib?: string[]; diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index fd93c8e2fa..d24309f4be 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -465,6 +465,7 @@ __export(tsserverlibrary_exports, { createFunctionTypeNode: () => createFunctionTypeNode, createGetAccessor: () => createGetAccessor, createGetCanonicalFileName: () => createGetCanonicalFileName, + createGetIsolatedDeclarationErrors: () => createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode: () => createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName: () => createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker: () => createGetSymbolWalker, @@ -7136,6 +7137,7 @@ var InternalSymbolName = /* @__PURE__ */ ((InternalSymbolName2) => { return InternalSymbolName2; })(InternalSymbolName || {}); var NodeCheckFlags = /* @__PURE__ */ ((NodeCheckFlags2) => { + NodeCheckFlags2[NodeCheckFlags2["None"] = 0] = "None"; NodeCheckFlags2[NodeCheckFlags2["TypeChecked"] = 1] = "TypeChecked"; NodeCheckFlags2[NodeCheckFlags2["LexicalThis"] = 2] = "LexicalThis"; NodeCheckFlags2[NodeCheckFlags2["CaptureThis"] = 4] = "CaptureThis"; @@ -11155,6 +11157,7 @@ var Diagnostics = { Specify_how_the_TypeScript_watch_mode_works: diag(6715, 3 /* Message */, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, 3 /* Message */, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), + Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), @@ -11279,6 +11282,36 @@ var Diagnostics = { Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: diag(8037, 1 /* Error */, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), + Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9007, 1 /* Error */, "Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007", "Function must have an explicit return type annotation with --isolatedDeclarations."), + Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9008, 1 /* Error */, "Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008", "Method must have an explicit return type annotation with --isolatedDeclarations."), + At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9009, 1 /* Error */, "At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9009", "At least one accessor must have an explicit return type annotation with --isolatedDeclarations."), + Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9010, 1 /* Error */, "Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010", "Variable must have an explicit type annotation with --isolatedDeclarations."), + Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9011, 1 /* Error */, "Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011", "Parameter must have an explicit type annotation with --isolatedDeclarations."), + Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9012, 1 /* Error */, "Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012", "Property must have an explicit type annotation with --isolatedDeclarations."), + Expression_type_can_t_be_inferred_with_isolatedDeclarations: diag(9013, 1 /* Error */, "Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013", "Expression type can't be inferred with --isolatedDeclarations."), + Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations: diag(9014, 1 /* Error */, "Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014", "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."), + Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations: diag(9015, 1 /* Error */, "Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015", "Objects that contain spread assignments can't be inferred with --isolatedDeclarations."), + Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations: diag(9016, 1 /* Error */, "Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016", "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."), + Only_const_arrays_can_be_inferred_with_isolatedDeclarations: diag(9017, 1 /* Error */, "Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017", "Only const arrays can be inferred with --isolatedDeclarations."), + Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations: diag(9018, 1 /* Error */, "Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018", "Arrays with spread elements can't inferred with --isolatedDeclarations."), + Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations: diag(9019, 1 /* Error */, "Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019", "Binding elements can't be exported directly with --isolatedDeclarations."), + Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations: diag(9020, 1 /* Error */, "Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020", "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."), + Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations: diag(9021, 1 /* Error */, "Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021", "Extends clause can't contain an expression with --isolatedDeclarations."), + Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations: diag(9022, 1 /* Error */, "Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022", "Inference from class expressions is not supported with --isolatedDeclarations."), + Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function: diag(9023, 1 /* Error */, "Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023", "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."), + Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations: diag(9025, 1 /* Error */, "Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_su_9025", "Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations."), + Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations: diag(9026, 1 /* Error */, "Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026", "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."), + Add_a_type_annotation_to_the_variable_0: diag(9027, 1 /* Error */, "Add_a_type_annotation_to_the_variable_0_9027", "Add a type annotation to the variable {0}."), + Add_a_type_annotation_to_the_parameter_0: diag(9028, 1 /* Error */, "Add_a_type_annotation_to_the_parameter_0_9028", "Add a type annotation to the parameter {0}."), + Add_a_type_annotation_to_the_property_0: diag(9029, 1 /* Error */, "Add_a_type_annotation_to_the_property_0_9029", "Add a type annotation to the property {0}."), + Add_a_return_type_to_the_function_expression: diag(9030, 1 /* Error */, "Add_a_return_type_to_the_function_expression_9030", "Add a return type to the function expression."), + Add_a_return_type_to_the_function_declaration: diag(9031, 1 /* Error */, "Add_a_return_type_to_the_function_declaration_9031", "Add a return type to the function declaration."), + Add_a_return_type_to_the_get_accessor_declaration: diag(9032, 1 /* Error */, "Add_a_return_type_to_the_get_accessor_declaration_9032", "Add a return type to the get accessor declaration."), + Add_a_type_to_parameter_of_the_set_accessor_declaration: diag(9033, 1 /* Error */, "Add_a_type_to_parameter_of_the_set_accessor_declaration_9033", "Add a type to parameter of the set accessor declaration."), + Add_a_return_type_to_the_method: diag(9034, 1 /* Error */, "Add_a_return_type_to_the_method_9034", "Add a return type to the method"), + Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit: diag(9035, 1 /* Error */, "Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035", "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."), + Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it: diag(9036, 1 /* Error */, "Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036", "Move the expression in default export to a variable and add a type annotation to it."), + Default_exports_can_t_be_inferred_with_isolatedDeclarations: diag(9037, 1 /* Error */, "Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037", "Default exports can't be inferred with --isolatedDeclarations."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17e3, 1 /* Error */, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), JSX_elements_cannot_have_multiple_attributes_with_the_same_name: diag(17001, 1 /* Error */, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."), Expected_corresponding_JSX_closing_tag_for_0: diag(17002, 1 /* Error */, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."), @@ -79613,11 +79646,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function declaredParameterTypeContainsUndefined(parameter) { + const typeNode = getNonlocalEffectiveTypeAnnotationNode(parameter); + if (!typeNode) + return false; + const type = getTypeFromTypeNode(typeNode); + return containsUndefinedType(type); + } + function requiresAddingImplicitUndefined(parameter) { + return (isRequiredInitializedParameter(parameter) || isOptionalUninitializedParameterProperty(parameter)) && !declaredParameterTypeContainsUndefined(parameter); + } function isRequiredInitializedParameter(parameter) { return !!strictNullChecks && !isOptionalParameter(parameter) && !isJSDocParameterTag(parameter) && !!parameter.initializer && !hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { - return strictNullChecks && isOptionalParameter(parameter) && !parameter.initializer && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); + return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -79748,6 +79791,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } + function getAllAccessorDeclarationsForDeclaration(accessor) { + accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); + const otherKind = accessor.kind === 178 /* SetAccessor */ ? 177 /* GetAccessor */ : 178 /* SetAccessor */; + const otherAccessor = getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); + const firstAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? otherAccessor : accessor; + const secondAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? accessor : otherAccessor; + const setAccessor = accessor.kind === 178 /* SetAccessor */ ? accessor : otherAccessor; + const getAccessor = accessor.kind === 177 /* GetAccessor */ ? accessor : otherAccessor; + return { + firstAccessor, + secondAccessor, + setAccessor, + getAccessor + }; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { @@ -79848,6 +79906,19 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return parseIsolatedEntityName(compilerOptions.jsxFragmentFactory, languageVersion); } } + function getNonlocalEffectiveTypeAnnotationNode(node) { + const direct = getEffectiveTypeAnnotationNode(node); + if (direct) { + return direct; + } + if (node.kind === 168 /* Parameter */ && node.parent.kind === 178 /* SetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node.parent).getAccessor; + if (other) { + return getEffectiveReturnTypeNode(other); + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -79928,6 +79999,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible, isImplementationOfOverload, + requiresAddingImplicitUndefined, isRequiredInitializedParameter, isOptionalUninitializedParameterProperty, isExpandoFunctionDeclaration, @@ -98970,6 +99042,171 @@ function createGetSymbolAccessibilityDiagnosticForNode(node) { }; } } +function createGetIsolatedDeclarationErrors(resolver) { + const relatedSuggestionByDeclarationKind = { + [219 /* ArrowFunction */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [218 /* FunctionExpression */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [174 /* MethodDeclaration */]: Diagnostics.Add_a_return_type_to_the_method, + [177 /* GetAccessor */]: Diagnostics.Add_a_return_type_to_the_get_accessor_declaration, + [178 /* SetAccessor */]: Diagnostics.Add_a_type_to_parameter_of_the_set_accessor_declaration, + [263 /* FunctionDeclaration */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [180 /* ConstructSignature */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [168 /* Parameter */]: Diagnostics.Add_a_type_annotation_to_the_parameter_0, + [261 /* VariableDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_variable_0, + [171 /* PropertyDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [170 /* PropertySignature */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [280 /* ExportAssignment */]: Diagnostics.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it + }; + const errorByDeclarationKind = { + [218 /* FunctionExpression */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [263 /* FunctionDeclaration */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [219 /* ArrowFunction */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [174 /* MethodDeclaration */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [180 /* ConstructSignature */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [177 /* GetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [178 /* SetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [168 /* Parameter */]: Diagnostics.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [261 /* VariableDeclaration */]: Diagnostics.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [171 /* PropertyDeclaration */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [170 /* PropertySignature */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [166 /* ComputedPropertyName */]: Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations, + [307 /* SpreadAssignment */]: Diagnostics.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations, + [306 /* ShorthandPropertyAssignment */]: Diagnostics.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations, + [209 /* ArrayLiteralExpression */]: Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations, + [280 /* ExportAssignment */]: Diagnostics.Default_exports_can_t_be_inferred_with_isolatedDeclarations, + [231 /* SpreadElement */]: Diagnostics.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations + }; + return getDiagnostic2; + function getDiagnostic2(node) { + const heritageClause = findAncestor(node, isHeritageClause); + if (heritageClause) { + return createDiagnosticForNode(node, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations); + } + Debug.type(node); + switch (node.kind) { + case 177 /* GetAccessor */: + case 178 /* SetAccessor */: + return createAccessorTypeError(node); + case 166 /* ComputedPropertyName */: + case 306 /* ShorthandPropertyAssignment */: + case 307 /* SpreadAssignment */: + return createObjectLiteralError(node); + case 209 /* ArrayLiteralExpression */: + case 231 /* SpreadElement */: + return createArrayLiteralError(node); + case 174 /* MethodDeclaration */: + case 180 /* ConstructSignature */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 263 /* FunctionDeclaration */: + return createReturnTypeError(node); + case 208 /* BindingElement */: + return createBindingElementError(node); + case 171 /* PropertyDeclaration */: + case 261 /* VariableDeclaration */: + return createVariableOrPropertyError(node); + case 168 /* Parameter */: + return createParameterError(node); + case 305 /* PropertyAssignment */: + return createExpressionError(node.initializer); + case 232 /* ClassExpression */: + return createClassExpressionError(node); + default: + assertType(node); + return createExpressionError(node); + } + } + function findNearestDeclaration(node) { + const result = findAncestor(node, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n))); + return result; + } + function createAccessorTypeError(node) { + var _a2; + const { getAccessor, setAccessor } = getAllAccessorDeclarations(node.symbol.declarations, node); + const targetNode = (_a2 = isSetAccessor(node) ? node.parameters[0] : node) != null ? _a2 : node; + const diag2 = createDiagnosticForNode(targetNode, errorByDeclarationKind[node.kind]); + if (setAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(setAccessor, relatedSuggestionByDeclarationKind[setAccessor.kind])); + } + if (getAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(getAccessor, relatedSuggestionByDeclarationKind[getAccessor.kind])); + } + return diag2; + } + function createObjectLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createArrayLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createReturnTypeError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind])); + return diag2; + } + function createBindingElementError(node) { + return createDiagnosticForNode(node, Diagnostics.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations); + } + function createVariableOrPropertyError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createParameterError(node) { + if (isSetAccessor(node.parent)) { + return createAccessorTypeError(node.parent); + } + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + if (!addUndefined && node.initializer) { + return createExpressionError(node.initializer); + } + const message = addUndefined ? Diagnostics.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations : errorByDeclarationKind[node.kind]; + const diag2 = createDiagnosticForNode(node, message); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createClassExpressionError(node) { + return createExpressionError(node, Diagnostics.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations); + } + function createExpressionError(node, diagnosticMessage) { + const parentDeclaration = findNearestDeclaration(node); + let diag2; + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + const parent2 = findAncestor(node.parent, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : !isParenthesizedExpression(n) && !isTypeAssertionExpression(n) && !isAsExpression(n))); + if (parentDeclaration === parent2) { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : errorByDeclarationKind[parentDeclaration.kind]); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + addRelatedInfo(diag2, createDiagnosticForNode(node, Diagnostics.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)); + } + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + } + return diag2; + } +} // src/compiler/transformers/declarations.ts function getDeclarationDiagnostics(host, resolver, file) { @@ -99038,7 +99275,7 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); - const { noResolve, stripInternal } = options; + const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { @@ -99654,6 +99891,9 @@ function transformDeclarations(context) { ); } if (resolver.isImportRequiredByAugmentation(decl)) { + if (isolatedDeclarations) { + context.addDiagnostic(createDiagnosticForNode(decl, Diagnostics.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)); + } return factory2.updateImportDeclaration( decl, decl.modifiers, @@ -101534,6 +101774,7 @@ var notImplementedResolver = { isLateBound: (_node) => false, collectLinkedAliases: notImplemented, isImplementationOfOverload: notImplemented, + requiresAddingImplicitUndefined: notImplemented, isRequiredInitializedParameter: notImplemented, isOptionalUninitializedParameterProperty: notImplemented, isExpandoFunctionDeclaration: notImplemented, @@ -109089,6 +109330,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"); } } + if (options.isolatedDeclarations) { + if (getAllowJSCompilerOption(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"); + } + if (!getEmitDeclarations(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite"); + } + } if (options.inlineSourceMap) { if (options.sourceMap) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"); @@ -152890,6 +153139,7 @@ __export(ts_exports3, { createFunctionTypeNode: () => createFunctionTypeNode, createGetAccessor: () => createGetAccessor, createGetCanonicalFileName: () => createGetCanonicalFileName, + createGetIsolatedDeclarationErrors: () => createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode: () => createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName: () => createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker: () => createGetSymbolWalker, @@ -175974,6 +176224,7 @@ __export(ts_server_exports3, { createFunctionTypeNode, createGetAccessor, createGetCanonicalFileName, + createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker, diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index 1cb646e837..e2d5fa3e2a 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -3308,6 +3308,7 @@ declare namespace ts { inlineSourceMap?: boolean; inlineSources?: boolean; isolatedModules?: boolean; + isolatedDeclarations?: boolean; jsx?: JsxEmit; keyofStringsOnly?: boolean; lib?: string[]; diff --git a/lib/typescript.js b/lib/typescript.js index 8d0751728c..5e04f61bdc 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -465,6 +465,7 @@ __export(typescript_exports, { createFunctionTypeNode: () => createFunctionTypeNode, createGetAccessor: () => createGetAccessor, createGetCanonicalFileName: () => createGetCanonicalFileName, + createGetIsolatedDeclarationErrors: () => createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode: () => createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName: () => createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker: () => createGetSymbolWalker, @@ -7136,6 +7137,7 @@ var InternalSymbolName = /* @__PURE__ */ ((InternalSymbolName2) => { return InternalSymbolName2; })(InternalSymbolName || {}); var NodeCheckFlags = /* @__PURE__ */ ((NodeCheckFlags2) => { + NodeCheckFlags2[NodeCheckFlags2["None"] = 0] = "None"; NodeCheckFlags2[NodeCheckFlags2["TypeChecked"] = 1] = "TypeChecked"; NodeCheckFlags2[NodeCheckFlags2["LexicalThis"] = 2] = "LexicalThis"; NodeCheckFlags2[NodeCheckFlags2["CaptureThis"] = 4] = "CaptureThis"; @@ -11155,6 +11157,7 @@ var Diagnostics = { Specify_how_the_TypeScript_watch_mode_works: diag(6715, 3 /* Message */, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, 3 /* Message */, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), + Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), @@ -11279,6 +11282,36 @@ var Diagnostics = { Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: diag(8037, 1 /* Error */, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), + Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9007, 1 /* Error */, "Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007", "Function must have an explicit return type annotation with --isolatedDeclarations."), + Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9008, 1 /* Error */, "Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008", "Method must have an explicit return type annotation with --isolatedDeclarations."), + At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9009, 1 /* Error */, "At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9009", "At least one accessor must have an explicit return type annotation with --isolatedDeclarations."), + Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9010, 1 /* Error */, "Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010", "Variable must have an explicit type annotation with --isolatedDeclarations."), + Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9011, 1 /* Error */, "Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011", "Parameter must have an explicit type annotation with --isolatedDeclarations."), + Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9012, 1 /* Error */, "Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012", "Property must have an explicit type annotation with --isolatedDeclarations."), + Expression_type_can_t_be_inferred_with_isolatedDeclarations: diag(9013, 1 /* Error */, "Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013", "Expression type can't be inferred with --isolatedDeclarations."), + Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations: diag(9014, 1 /* Error */, "Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014", "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."), + Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations: diag(9015, 1 /* Error */, "Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015", "Objects that contain spread assignments can't be inferred with --isolatedDeclarations."), + Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations: diag(9016, 1 /* Error */, "Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016", "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."), + Only_const_arrays_can_be_inferred_with_isolatedDeclarations: diag(9017, 1 /* Error */, "Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017", "Only const arrays can be inferred with --isolatedDeclarations."), + Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations: diag(9018, 1 /* Error */, "Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018", "Arrays with spread elements can't inferred with --isolatedDeclarations."), + Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations: diag(9019, 1 /* Error */, "Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019", "Binding elements can't be exported directly with --isolatedDeclarations."), + Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations: diag(9020, 1 /* Error */, "Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020", "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."), + Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations: diag(9021, 1 /* Error */, "Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021", "Extends clause can't contain an expression with --isolatedDeclarations."), + Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations: diag(9022, 1 /* Error */, "Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022", "Inference from class expressions is not supported with --isolatedDeclarations."), + Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function: diag(9023, 1 /* Error */, "Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023", "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."), + Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations: diag(9025, 1 /* Error */, "Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_su_9025", "Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations."), + Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations: diag(9026, 1 /* Error */, "Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026", "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."), + Add_a_type_annotation_to_the_variable_0: diag(9027, 1 /* Error */, "Add_a_type_annotation_to_the_variable_0_9027", "Add a type annotation to the variable {0}."), + Add_a_type_annotation_to_the_parameter_0: diag(9028, 1 /* Error */, "Add_a_type_annotation_to_the_parameter_0_9028", "Add a type annotation to the parameter {0}."), + Add_a_type_annotation_to_the_property_0: diag(9029, 1 /* Error */, "Add_a_type_annotation_to_the_property_0_9029", "Add a type annotation to the property {0}."), + Add_a_return_type_to_the_function_expression: diag(9030, 1 /* Error */, "Add_a_return_type_to_the_function_expression_9030", "Add a return type to the function expression."), + Add_a_return_type_to_the_function_declaration: diag(9031, 1 /* Error */, "Add_a_return_type_to_the_function_declaration_9031", "Add a return type to the function declaration."), + Add_a_return_type_to_the_get_accessor_declaration: diag(9032, 1 /* Error */, "Add_a_return_type_to_the_get_accessor_declaration_9032", "Add a return type to the get accessor declaration."), + Add_a_type_to_parameter_of_the_set_accessor_declaration: diag(9033, 1 /* Error */, "Add_a_type_to_parameter_of_the_set_accessor_declaration_9033", "Add a type to parameter of the set accessor declaration."), + Add_a_return_type_to_the_method: diag(9034, 1 /* Error */, "Add_a_return_type_to_the_method_9034", "Add a return type to the method"), + Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit: diag(9035, 1 /* Error */, "Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035", "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."), + Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it: diag(9036, 1 /* Error */, "Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036", "Move the expression in default export to a variable and add a type annotation to it."), + Default_exports_can_t_be_inferred_with_isolatedDeclarations: diag(9037, 1 /* Error */, "Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037", "Default exports can't be inferred with --isolatedDeclarations."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17e3, 1 /* Error */, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), JSX_elements_cannot_have_multiple_attributes_with_the_same_name: diag(17001, 1 /* Error */, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."), Expected_corresponding_JSX_closing_tag_for_0: diag(17002, 1 /* Error */, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."), @@ -79771,11 +79804,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function declaredParameterTypeContainsUndefined(parameter) { + const typeNode = getNonlocalEffectiveTypeAnnotationNode(parameter); + if (!typeNode) + return false; + const type = getTypeFromTypeNode(typeNode); + return containsUndefinedType(type); + } + function requiresAddingImplicitUndefined(parameter) { + return (isRequiredInitializedParameter(parameter) || isOptionalUninitializedParameterProperty(parameter)) && !declaredParameterTypeContainsUndefined(parameter); + } function isRequiredInitializedParameter(parameter) { return !!strictNullChecks && !isOptionalParameter(parameter) && !isJSDocParameterTag(parameter) && !!parameter.initializer && !hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { - return strictNullChecks && isOptionalParameter(parameter) && !parameter.initializer && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); + return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -79906,6 +79949,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); } + function getAllAccessorDeclarationsForDeclaration(accessor) { + accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); + const otherKind = accessor.kind === 178 /* SetAccessor */ ? 177 /* GetAccessor */ : 178 /* SetAccessor */; + const otherAccessor = getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); + const firstAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? otherAccessor : accessor; + const secondAccessor = otherAccessor && otherAccessor.pos < accessor.pos ? accessor : otherAccessor; + const setAccessor = accessor.kind === 178 /* SetAccessor */ ? accessor : otherAccessor; + const getAccessor = accessor.kind === 177 /* GetAccessor */ ? accessor : otherAccessor; + return { + firstAccessor, + secondAccessor, + setAccessor, + getAccessor + }; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { @@ -80006,6 +80064,19 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return parseIsolatedEntityName(compilerOptions.jsxFragmentFactory, languageVersion); } } + function getNonlocalEffectiveTypeAnnotationNode(node) { + const direct = getEffectiveTypeAnnotationNode(node); + if (direct) { + return direct; + } + if (node.kind === 168 /* Parameter */ && node.parent.kind === 178 /* SetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node.parent).getAccessor; + if (other) { + return getEffectiveReturnTypeNode(other); + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -80086,6 +80157,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible, isImplementationOfOverload, + requiresAddingImplicitUndefined, isRequiredInitializedParameter, isOptionalUninitializedParameterProperty, isExpandoFunctionDeclaration, @@ -99312,6 +99384,171 @@ function createGetSymbolAccessibilityDiagnosticForNode(node) { }; } } +function createGetIsolatedDeclarationErrors(resolver) { + const relatedSuggestionByDeclarationKind = { + [219 /* ArrowFunction */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [218 /* FunctionExpression */]: Diagnostics.Add_a_return_type_to_the_function_expression, + [174 /* MethodDeclaration */]: Diagnostics.Add_a_return_type_to_the_method, + [177 /* GetAccessor */]: Diagnostics.Add_a_return_type_to_the_get_accessor_declaration, + [178 /* SetAccessor */]: Diagnostics.Add_a_type_to_parameter_of_the_set_accessor_declaration, + [263 /* FunctionDeclaration */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [180 /* ConstructSignature */]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [168 /* Parameter */]: Diagnostics.Add_a_type_annotation_to_the_parameter_0, + [261 /* VariableDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_variable_0, + [171 /* PropertyDeclaration */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [170 /* PropertySignature */]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [280 /* ExportAssignment */]: Diagnostics.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it + }; + const errorByDeclarationKind = { + [218 /* FunctionExpression */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [263 /* FunctionDeclaration */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [219 /* ArrowFunction */]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [174 /* MethodDeclaration */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [180 /* ConstructSignature */]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [177 /* GetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [178 /* SetAccessor */]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [168 /* Parameter */]: Diagnostics.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [261 /* VariableDeclaration */]: Diagnostics.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [171 /* PropertyDeclaration */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [170 /* PropertySignature */]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [166 /* ComputedPropertyName */]: Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations, + [307 /* SpreadAssignment */]: Diagnostics.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations, + [306 /* ShorthandPropertyAssignment */]: Diagnostics.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations, + [209 /* ArrayLiteralExpression */]: Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations, + [280 /* ExportAssignment */]: Diagnostics.Default_exports_can_t_be_inferred_with_isolatedDeclarations, + [231 /* SpreadElement */]: Diagnostics.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations + }; + return getDiagnostic2; + function getDiagnostic2(node) { + const heritageClause = findAncestor(node, isHeritageClause); + if (heritageClause) { + return createDiagnosticForNode(node, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations); + } + Debug.type(node); + switch (node.kind) { + case 177 /* GetAccessor */: + case 178 /* SetAccessor */: + return createAccessorTypeError(node); + case 166 /* ComputedPropertyName */: + case 306 /* ShorthandPropertyAssignment */: + case 307 /* SpreadAssignment */: + return createObjectLiteralError(node); + case 209 /* ArrayLiteralExpression */: + case 231 /* SpreadElement */: + return createArrayLiteralError(node); + case 174 /* MethodDeclaration */: + case 180 /* ConstructSignature */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 263 /* FunctionDeclaration */: + return createReturnTypeError(node); + case 208 /* BindingElement */: + return createBindingElementError(node); + case 171 /* PropertyDeclaration */: + case 261 /* VariableDeclaration */: + return createVariableOrPropertyError(node); + case 168 /* Parameter */: + return createParameterError(node); + case 305 /* PropertyAssignment */: + return createExpressionError(node.initializer); + case 232 /* ClassExpression */: + return createClassExpressionError(node); + default: + assertType(node); + return createExpressionError(node); + } + } + function findNearestDeclaration(node) { + const result = findAncestor(node, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n))); + return result; + } + function createAccessorTypeError(node) { + var _a2; + const { getAccessor, setAccessor } = getAllAccessorDeclarations(node.symbol.declarations, node); + const targetNode = (_a2 = isSetAccessor(node) ? node.parameters[0] : node) != null ? _a2 : node; + const diag2 = createDiagnosticForNode(targetNode, errorByDeclarationKind[node.kind]); + if (setAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(setAccessor, relatedSuggestionByDeclarationKind[setAccessor.kind])); + } + if (getAccessor) { + addRelatedInfo(diag2, createDiagnosticForNode(getAccessor, relatedSuggestionByDeclarationKind[getAccessor.kind])); + } + return diag2; + } + function createObjectLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createArrayLiteralError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag2; + } + function createReturnTypeError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind])); + return diag2; + } + function createBindingElementError(node) { + return createDiagnosticForNode(node, Diagnostics.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations); + } + function createVariableOrPropertyError(node) { + const diag2 = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createParameterError(node) { + if (isSetAccessor(node.parent)) { + return createAccessorTypeError(node.parent); + } + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + if (!addUndefined && node.initializer) { + return createExpressionError(node.initializer); + } + const message = addUndefined ? Diagnostics.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations : errorByDeclarationKind[node.kind]; + const diag2 = createDiagnosticForNode(node, message); + const targetStr = getTextOfNode(node.name, false); + addRelatedInfo(diag2, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag2; + } + function createClassExpressionError(node) { + return createExpressionError(node, Diagnostics.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations); + } + function createExpressionError(node, diagnosticMessage) { + const parentDeclaration = findNearestDeclaration(node); + let diag2; + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, false); + const parent2 = findAncestor(node.parent, (n) => isExportAssignment(n) || (isStatement(n) ? "quit" : !isParenthesizedExpression(n) && !isTypeAssertionExpression(n) && !isAsExpression(n))); + if (parentDeclaration === parent2) { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : errorByDeclarationKind[parentDeclaration.kind]); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + addRelatedInfo(diag2, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + addRelatedInfo(diag2, createDiagnosticForNode(node, Diagnostics.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)); + } + } else { + diag2 = createDiagnosticForNode(node, diagnosticMessage != null ? diagnosticMessage : Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + } + return diag2; + } +} // src/compiler/transformers/declarations.ts function getDeclarationDiagnostics(host, resolver, file) { @@ -99380,7 +99617,7 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); - const { noResolve, stripInternal } = options; + const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { @@ -99996,6 +100233,9 @@ function transformDeclarations(context) { ); } if (resolver.isImportRequiredByAugmentation(decl)) { + if (isolatedDeclarations) { + context.addDiagnostic(createDiagnosticForNode(decl, Diagnostics.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)); + } return factory2.updateImportDeclaration( decl, decl.modifiers, @@ -101888,6 +102128,7 @@ var notImplementedResolver = { isLateBound: (_node) => false, collectLinkedAliases: notImplemented, isImplementationOfOverload: notImplemented, + requiresAddingImplicitUndefined: notImplemented, isRequiredInitializedParameter: notImplemented, isOptionalUninitializedParameterProperty: notImplemented, isExpandoFunctionDeclaration: notImplemented, @@ -109451,6 +109692,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"); } } + if (options.isolatedDeclarations) { + if (getAllowJSCompilerOption(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"); + } + if (!getEmitDeclarations(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite"); + } + } if (options.inlineSourceMap) { if (options.sourceMap) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"); @@ -164204,6 +164453,7 @@ if (typeof console !== "undefined") { createFunctionTypeNode, createGetAccessor, createGetCanonicalFileName, + createGetIsolatedDeclarationErrors, createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName, createGetSymbolWalker, diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 3e0a93fd3b..021ac400f9 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -6796,6 +6796,7 @@ var Diagnostics = { Specify_how_the_TypeScript_watch_mode_works: diag(6715, 3 /* Message */, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, 3 /* Message */, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), + Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), @@ -6920,6 +6921,36 @@ var Diagnostics = { Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: diag(8037, 1 /* Error */, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, 1 /* Error */, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), + Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9007, 1 /* Error */, "Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007", "Function must have an explicit return type annotation with --isolatedDeclarations."), + Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9008, 1 /* Error */, "Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008", "Method must have an explicit return type annotation with --isolatedDeclarations."), + At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: diag(9009, 1 /* Error */, "At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9009", "At least one accessor must have an explicit return type annotation with --isolatedDeclarations."), + Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9010, 1 /* Error */, "Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010", "Variable must have an explicit type annotation with --isolatedDeclarations."), + Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9011, 1 /* Error */, "Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011", "Parameter must have an explicit type annotation with --isolatedDeclarations."), + Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations: diag(9012, 1 /* Error */, "Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012", "Property must have an explicit type annotation with --isolatedDeclarations."), + Expression_type_can_t_be_inferred_with_isolatedDeclarations: diag(9013, 1 /* Error */, "Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013", "Expression type can't be inferred with --isolatedDeclarations."), + Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations: diag(9014, 1 /* Error */, "Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014", "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."), + Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations: diag(9015, 1 /* Error */, "Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015", "Objects that contain spread assignments can't be inferred with --isolatedDeclarations."), + Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations: diag(9016, 1 /* Error */, "Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016", "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."), + Only_const_arrays_can_be_inferred_with_isolatedDeclarations: diag(9017, 1 /* Error */, "Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017", "Only const arrays can be inferred with --isolatedDeclarations."), + Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations: diag(9018, 1 /* Error */, "Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018", "Arrays with spread elements can't inferred with --isolatedDeclarations."), + Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations: diag(9019, 1 /* Error */, "Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019", "Binding elements can't be exported directly with --isolatedDeclarations."), + Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations: diag(9020, 1 /* Error */, "Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020", "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."), + Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations: diag(9021, 1 /* Error */, "Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021", "Extends clause can't contain an expression with --isolatedDeclarations."), + Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations: diag(9022, 1 /* Error */, "Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022", "Inference from class expressions is not supported with --isolatedDeclarations."), + Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function: diag(9023, 1 /* Error */, "Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023", "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."), + Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations: diag(9025, 1 /* Error */, "Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_su_9025", "Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations."), + Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations: diag(9026, 1 /* Error */, "Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026", "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."), + Add_a_type_annotation_to_the_variable_0: diag(9027, 1 /* Error */, "Add_a_type_annotation_to_the_variable_0_9027", "Add a type annotation to the variable {0}."), + Add_a_type_annotation_to_the_parameter_0: diag(9028, 1 /* Error */, "Add_a_type_annotation_to_the_parameter_0_9028", "Add a type annotation to the parameter {0}."), + Add_a_type_annotation_to_the_property_0: diag(9029, 1 /* Error */, "Add_a_type_annotation_to_the_property_0_9029", "Add a type annotation to the property {0}."), + Add_a_return_type_to_the_function_expression: diag(9030, 1 /* Error */, "Add_a_return_type_to_the_function_expression_9030", "Add a return type to the function expression."), + Add_a_return_type_to_the_function_declaration: diag(9031, 1 /* Error */, "Add_a_return_type_to_the_function_declaration_9031", "Add a return type to the function declaration."), + Add_a_return_type_to_the_get_accessor_declaration: diag(9032, 1 /* Error */, "Add_a_return_type_to_the_get_accessor_declaration_9032", "Add a return type to the get accessor declaration."), + Add_a_type_to_parameter_of_the_set_accessor_declaration: diag(9033, 1 /* Error */, "Add_a_type_to_parameter_of_the_set_accessor_declaration_9033", "Add a type to parameter of the set accessor declaration."), + Add_a_return_type_to_the_method: diag(9034, 1 /* Error */, "Add_a_return_type_to_the_method_9034", "Add a return type to the method"), + Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit: diag(9035, 1 /* Error */, "Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035", "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."), + Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it: diag(9036, 1 /* Error */, "Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036", "Move the expression in default export to a variable and add a type annotation to it."), + Default_exports_can_t_be_inferred_with_isolatedDeclarations: diag(9037, 1 /* Error */, "Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037", "Default exports can't be inferred with --isolatedDeclarations."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17e3, 1 /* Error */, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), JSX_elements_cannot_have_multiple_attributes_with_the_same_name: diag(17001, 1 /* Error */, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."), Expected_corresponding_JSX_closing_tag_for_0: diag(17002, 1 /* Error */, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."), diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 555640f3a8..32a092c0a9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -45440,6 +45440,16 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return false; } + function declaredParameterTypeContainsUndefined(parameter: ParameterDeclaration | JSDocParameterTag) { + const typeNode = getNonlocalEffectiveTypeAnnotationNode(parameter); + if (!typeNode) return false; + const type = getTypeFromTypeNode(typeNode); + return containsUndefinedType(type); + } + function requiresAddingImplicitUndefined(parameter: ParameterDeclaration | JSDocParameterTag) { + return (isRequiredInitializedParameter(parameter) || isOptionalUninitializedParameterProperty(parameter)) && !declaredParameterTypeContainsUndefined(parameter); + } + function isRequiredInitializedParameter(parameter: ParameterDeclaration | JSDocParameterTag): boolean { return !!strictNullChecks && !isOptionalParameter(parameter) && @@ -45448,10 +45458,10 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: !hasSyntacticModifier(parameter, ModifierFlags.ParameterPropertyModifier); } - function isOptionalUninitializedParameterProperty(parameter: ParameterDeclaration) { + function isOptionalUninitializedParameterProperty(parameter: ParameterDeclaration | JSDocParameterTag) { return strictNullChecks && isOptionalParameter(parameter) && - !parameter.initializer && + (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, ModifierFlags.ParameterPropertyModifier); } @@ -45615,6 +45625,22 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker); } + function getAllAccessorDeclarationsForDeclaration(accessor: AccessorDeclaration): AllAccessorDeclarations { + accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration)!; // TODO: GH#18217 + const otherKind = accessor.kind === SyntaxKind.SetAccessor ? SyntaxKind.GetAccessor : SyntaxKind.SetAccessor; + const otherAccessor = getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); + const firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; + const secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; + const setAccessor = accessor.kind === SyntaxKind.SetAccessor ? accessor : otherAccessor as SetAccessorDeclaration; + const getAccessor = accessor.kind === SyntaxKind.GetAccessor ? accessor : otherAccessor as GetAccessorDeclaration; + return { + firstAccessor, + secondAccessor, + setAccessor, + getAccessor, + }; + } + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn: SignatureDeclaration, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { @@ -45741,6 +45767,20 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } + function getNonlocalEffectiveTypeAnnotationNode(node: Node) { + const direct = getEffectiveTypeAnnotationNode(node); + if (direct) { + return direct; + } + if (node.kind === SyntaxKind.Parameter && node.parent.kind === SyntaxKind.SetAccessor) { + const other = getAllAccessorDeclarationsForDeclaration(node.parent as SetAccessorDeclaration).getAccessor; + if (other) { + return getEffectiveReturnTypeNode(other); + } + } + return undefined; + } + function isReferredToAnnotation(node: ImportSpecifier | ExportSpecifier | ExportAssignment): boolean | undefined { let links: NodeLinks = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -45831,6 +45871,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible, isImplementationOfOverload, + requiresAddingImplicitUndefined, isRequiredInitializedParameter, isOptionalUninitializedParameterProperty, isExpandoFunctionDeclaration, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 0db06fa1cf..7f07455032 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -5146,7 +5146,7 @@ "category": "Error", "code": 6258 }, - "Found 1 error in {1}": { + "Found 1 error in {1}": { "category": "Message", "code": 6259 }, @@ -5915,6 +5915,11 @@ "category": "Message", "code": 6718 }, + "Require sufficient annotation on exports so other tools can trivially generate declaration files.": { + "category": "Message", + "code": 6719 + }, + "Default catch clause variables as 'unknown' instead of 'any'.": { "category": "Message", "code": 6803 @@ -6044,9 +6049,9 @@ "category": "Message", "code": 6930 }, - "List of file name suffixes to search when resolving a module." : { - "category": "Error", - "code": 6931 + "List of file name suffixes to search when resolving a module.": { + "category": "Error", + "code": 6931 }, "Variable '{0}' implicitly has an '{1}' type.": { @@ -6417,6 +6422,126 @@ "category": "Error", "code": 9006 }, + "Function must have an explicit return type annotation with --isolatedDeclarations.": { + "category": "Error", + "code": 9007 + }, + "Method must have an explicit return type annotation with --isolatedDeclarations.": { + "category": "Error", + "code": 9008 + }, + "At least one accessor must have an explicit return type annotation with --isolatedDeclarations.": { + "category": "Error", + "code": 9009 + }, + "Variable must have an explicit type annotation with --isolatedDeclarations.": { + "category": "Error", + "code": 9010 + }, + "Parameter must have an explicit type annotation with --isolatedDeclarations.": { + "category": "Error", + "code": 9011 + }, + "Property must have an explicit type annotation with --isolatedDeclarations.": { + "category": "Error", + "code": 9012 + }, + "Expression type can't be inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9013 + }, + "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations.": { + "category": "Error", + "code": 9014 + }, + "Objects that contain spread assignments can't be inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9015 + }, + "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9016 + }, + "Only const arrays can be inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9017 + }, + "Arrays with spread elements can't inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9018 + }, + "Binding elements can't be exported directly with --isolatedDeclarations.": { + "category": "Error", + "code": 9019 + }, + "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations.": { + "category": "Error", + "code": 9020 + }, + "Extends clause can't contain an expression with --isolatedDeclarations.": { + "category": "Error", + "code": 9021 + }, + "Inference from class expressions is not supported with --isolatedDeclarations.": { + "category": "Error", + "code": 9022 + }, + "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function.": { + "category": "Error", + "code": 9023 + }, + "Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations.": { + "category": "Error", + "code": 9025 + }, + "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations.": { + "category": "Error", + "code": 9026 + }, + "Add a type annotation to the variable {0}.": { + "category": "Error", + "code": 9027 + }, + "Add a type annotation to the parameter {0}.": { + "category": "Error", + "code": 9028 + }, + "Add a type annotation to the property {0}.": { + "category": "Error", + "code": 9029 + }, + "Add a return type to the function expression.": { + "category": "Error", + "code": 9030 + }, + "Add a return type to the function declaration.": { + "category": "Error", + "code": 9031 + }, + "Add a return type to the get accessor declaration.": { + "category": "Error", + "code": 9032 + }, + "Add a type to parameter of the set accessor declaration.": { + "category": "Error", + "code": 9033 + }, + "Add a return type to the method": { + "category": "Error", + "code": 9034 + }, + "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit.": { + "category": "Error", + "code": 9035 + }, + "Move the expression in default export to a variable and add a type annotation to it.": { + "category": "Error", + "code": 9036 + }, + "Default exports can't be inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9037 + }, "JSX attributes must only be assigned a non-empty 'expression'.": { "category": "Error", "code": 17000 @@ -7554,7 +7679,7 @@ "code": 28000 }, "Decorator name must be one of ETS Components": { - "category":"Error", + "category": "Error", "code": 28001 }, "A struct declaration without the 'default' modifier must have a name.": { diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index faabaf8147..0fd8bbf33c 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -790,6 +790,7 @@ export const notImplementedResolver: EmitResolver = { isLateBound: (_node): _node is LateBoundDeclaration => false, collectLinkedAliases: notImplemented, isImplementationOfOverload: notImplemented, + requiresAddingImplicitUndefined: notImplemented, isRequiredInitializedParameter: notImplemented, isOptionalUninitializedParameterProperty: notImplemented, isExpandoFunctionDeclaration: notImplemented, diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 1a330e8477..f252f9b82f 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -3685,6 +3685,15 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } } + if (options.isolatedDeclarations) { + if (getAllowJSCompilerOption(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"); + } + if (!getEmitDeclarations(options)) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite"); + } + } + if (options.inlineSourceMap) { if (options.sourceMap) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"); diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index 64ab5ba77f..cf8d8c2321 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -138,7 +138,7 @@ export function transformDeclarations(context: TransformationContext) { let emittedImports: readonly AnyImportSyntax[] | undefined; // must be declared in container so it can be `undefined` while transformer's first pass const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); - const { noResolve, stripInternal } = options; + const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives: readonly [specifier: string, mode: SourceFile["impliedNodeFormat"] | undefined][] | undefined): void { @@ -854,6 +854,9 @@ export function transformDeclarations(context: TransformationContext) { } // Augmentation of export depends on import if (resolver.isImportRequiredByAugmentation(decl)) { + if (isolatedDeclarations) { + context.addDiagnostic(createDiagnosticForNode(decl, Diagnostics.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)); + } return factory.updateImportDeclaration( decl, decl.modifiers, diff --git a/src/compiler/transformers/declarations/diagnostics.ts b/src/compiler/transformers/declarations/diagnostics.ts index ed538135ef..6c5db62411 100644 --- a/src/compiler/transformers/declarations/diagnostics.ts +++ b/src/compiler/transformers/declarations/diagnostics.ts @@ -1,16 +1,89 @@ import { - AnnotationPropertyDeclaration, BindingElement, CallSignatureDeclaration, ConstructorDeclaration, ConstructSignatureDeclaration, Debug, Declaration, - DeclarationName, DiagnosticMessage, Diagnostics, ExpressionWithTypeArguments, FunctionDeclaration, - GetAccessorDeclaration, getNameOfDeclaration, hasSyntacticModifier, ImportEqualsDeclaration, - IndexSignatureDeclaration, isAnnotationPropertyDeclaration, isBindingElement, isCallSignatureDeclaration, isClassDeclaration, - isConstructorDeclaration, isConstructSignatureDeclaration, isExpressionWithTypeArguments, isFunctionDeclaration, - isGetAccessor, isHeritageClause, isImportEqualsDeclaration, isIndexSignatureDeclaration, isJSDocTypeAlias, - isMethodDeclaration, isMethodSignature, isParameter, isParameterPropertyDeclaration, isPropertyAccessExpression, - isPropertyDeclaration, isPropertySignature, isSetAccessor, isStatic, isTypeAliasDeclaration, - isTypeParameterDeclaration, isVariableDeclaration, JSDocCallbackTag, JSDocEnumTag, JSDocTypedefTag, - MethodDeclaration, MethodSignature, ModifierFlags, NamedDeclaration, Node, ParameterDeclaration, - PropertyAccessExpression, PropertyDeclaration, PropertySignature, QualifiedName, SetAccessorDeclaration, - SymbolAccessibility, SymbolAccessibilityResult, SyntaxKind, TypeAliasDeclaration, TypeParameterDeclaration, + addRelatedInfo, + AnnotationPropertyDeclaration, + ArrayLiteralExpression, + ArrowFunction, + assertType, + BindingElement, + CallSignatureDeclaration, + ClassExpression, + ComputedPropertyName, + ConstructorDeclaration, + ConstructSignatureDeclaration, + createDiagnosticForNode, + Debug, + Declaration, + DeclarationName, + DiagnosticMessage, + Diagnostics, + DiagnosticWithLocation, + EmitResolver, + ExportAssignment, + Expression, + ExpressionWithTypeArguments, + findAncestor, + FunctionDeclaration, + FunctionExpression, + GetAccessorDeclaration, + getAllAccessorDeclarations, + getNameOfDeclaration, + getTextOfNode, + hasSyntacticModifier, + ImportEqualsDeclaration, + IndexSignatureDeclaration, + isAnnotationPropertyDeclaration, + isAsExpression, + isBindingElement, + isCallSignatureDeclaration, + isClassDeclaration, + isConstructorDeclaration, + isConstructSignatureDeclaration, + isExportAssignment, + isExpressionWithTypeArguments, + isFunctionDeclaration, + isGetAccessor, + isHeritageClause, + isImportEqualsDeclaration, + isIndexSignatureDeclaration, + isJSDocTypeAlias, + isMethodDeclaration, + isMethodSignature, + isParameter, + isParameterPropertyDeclaration, + isParenthesizedExpression, + isPropertyAccessExpression, + isPropertyDeclaration, + isPropertySignature, + isSetAccessor, + isStatement, + isStatic, + isTypeAliasDeclaration, + isTypeAssertionExpression, + isTypeParameterDeclaration, + isVariableDeclaration, + JSDocCallbackTag, + JSDocEnumTag, + JSDocTypedefTag, + MethodDeclaration, + MethodSignature, + ModifierFlags, + NamedDeclaration, + Node, + ParameterDeclaration, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertySignature, + QualifiedName, + SetAccessorDeclaration, + ShorthandPropertyAssignment, + SpreadAssignment, + SpreadElement, + SymbolAccessibility, + SymbolAccessibilityResult, + SyntaxKind, + TypeAliasDeclaration, + TypeParameterDeclaration, VariableDeclaration, } from "../../_namespaces/ts"; @@ -510,3 +583,200 @@ export function createGetSymbolAccessibilityDiagnosticForNode(node: DeclarationD }; } } + +/** @internal */ +export function createGetIsolatedDeclarationErrors(resolver: EmitResolver) { + const relatedSuggestionByDeclarationKind = { + [SyntaxKind.ArrowFunction]: Diagnostics.Add_a_return_type_to_the_function_expression, + [SyntaxKind.FunctionExpression]: Diagnostics.Add_a_return_type_to_the_function_expression, + [SyntaxKind.MethodDeclaration]: Diagnostics.Add_a_return_type_to_the_method, + [SyntaxKind.GetAccessor]: Diagnostics.Add_a_return_type_to_the_get_accessor_declaration, + [SyntaxKind.SetAccessor]: Diagnostics.Add_a_type_to_parameter_of_the_set_accessor_declaration, + [SyntaxKind.FunctionDeclaration]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [SyntaxKind.ConstructSignature]: Diagnostics.Add_a_return_type_to_the_function_declaration, + [SyntaxKind.Parameter]: Diagnostics.Add_a_type_annotation_to_the_parameter_0, + [SyntaxKind.VariableDeclaration]: Diagnostics.Add_a_type_annotation_to_the_variable_0, + [SyntaxKind.PropertyDeclaration]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [SyntaxKind.PropertySignature]: Diagnostics.Add_a_type_annotation_to_the_property_0, + [SyntaxKind.ExportAssignment]: Diagnostics.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it, + } satisfies Partial>; + + const errorByDeclarationKind = { + [SyntaxKind.FunctionExpression]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.FunctionDeclaration]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.ArrowFunction]: Diagnostics.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.MethodDeclaration]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.ConstructSignature]: Diagnostics.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.GetAccessor]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.SetAccessor]: Diagnostics.At_least_one_accessor_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations, + [SyntaxKind.Parameter]: Diagnostics.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [SyntaxKind.VariableDeclaration]: Diagnostics.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [SyntaxKind.PropertyDeclaration]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [SyntaxKind.PropertySignature]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, + [SyntaxKind.ComputedPropertyName]: Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations, + [SyntaxKind.SpreadAssignment]: Diagnostics.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations, + [SyntaxKind.ShorthandPropertyAssignment]: Diagnostics.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations, + [SyntaxKind.ArrayLiteralExpression]: Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations, + [SyntaxKind.ExportAssignment]: Diagnostics.Default_exports_can_t_be_inferred_with_isolatedDeclarations, + [SyntaxKind.SpreadElement]: Diagnostics.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations, + } satisfies Partial>; + + return getDiagnostic; + + type WithIsolatedDeclarationDiagnostic = + | GetAccessorDeclaration + | SetAccessorDeclaration + | ShorthandPropertyAssignment + | SpreadAssignment + | ComputedPropertyName + | ArrayLiteralExpression + | SpreadElement + | FunctionDeclaration + | FunctionExpression + | ArrowFunction + | MethodDeclaration + | ConstructSignatureDeclaration + | BindingElement + | VariableDeclaration + | PropertyDeclaration + | ParameterDeclaration + | PropertyAssignment + | ClassExpression; + + function getDiagnostic(node: Node) { + const heritageClause = findAncestor(node, isHeritageClause); + if (heritageClause) { + return createDiagnosticForNode(node, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations); + } + Debug.type(node); + switch (node.kind) { + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + return createAccessorTypeError(node); + case SyntaxKind.ComputedPropertyName: + case SyntaxKind.ShorthandPropertyAssignment: + case SyntaxKind.SpreadAssignment: + return createObjectLiteralError(node); + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.SpreadElement: + return createArrayLiteralError(node); + case SyntaxKind.MethodDeclaration: + case SyntaxKind.ConstructSignature: + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.FunctionDeclaration: + return createReturnTypeError(node); + case SyntaxKind.BindingElement: + return createBindingElementError(node); + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.VariableDeclaration: + return createVariableOrPropertyError(node); + case SyntaxKind.Parameter: + return createParameterError(node); + case SyntaxKind.PropertyAssignment: + return createExpressionError(node.initializer); + case SyntaxKind.ClassExpression: + return createClassExpressionError(node); + default: + assertType(node); + return createExpressionError(node as Expression); + } + } + + function findNearestDeclaration(node: Node) { + const result = findAncestor(node, n => isExportAssignment(n) || (isStatement(n) ? "quit" : isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n))); + return result as VariableDeclaration | PropertyDeclaration | ParameterDeclaration | ExportAssignment | undefined; + } + + function createAccessorTypeError(node: GetAccessorDeclaration | SetAccessorDeclaration) { + const { getAccessor, setAccessor } = getAllAccessorDeclarations(node.symbol.declarations, node); + + const targetNode = (isSetAccessor(node) ? node.parameters[0] : node) ?? node; + const diag = createDiagnosticForNode(targetNode, errorByDeclarationKind[node.kind]); + + if (setAccessor) { + addRelatedInfo(diag, createDiagnosticForNode(setAccessor, relatedSuggestionByDeclarationKind[setAccessor.kind])); + } + if (getAccessor) { + addRelatedInfo(diag, createDiagnosticForNode(getAccessor, relatedSuggestionByDeclarationKind[getAccessor.kind])); + } + return diag; + } + function createObjectLiteralError(node: ShorthandPropertyAssignment | SpreadAssignment | ComputedPropertyName) { + const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); + addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag; + } + function createArrayLiteralError(node: ArrayLiteralExpression | SpreadElement) { + const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); + addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + return diag; + } + function createReturnTypeError(node: FunctionDeclaration | FunctionExpression | ArrowFunction | MethodDeclaration | ConstructSignatureDeclaration) { + const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const parentDeclaration = findNearestDeclaration(node); + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); + addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + addRelatedInfo(diag, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind])); + return diag; + } + function createBindingElementError(node: BindingElement) { + return createDiagnosticForNode(node, Diagnostics.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations); + } + function createVariableOrPropertyError(node: VariableDeclaration | PropertyDeclaration) { + const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + const targetStr = getTextOfNode(node.name, /*includeTrivia*/ false); + addRelatedInfo(diag, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag; + } + function createParameterError(node: ParameterDeclaration) { + if (isSetAccessor(node.parent)) { + return createAccessorTypeError(node.parent); + } + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + if (!addUndefined && node.initializer) { + return createExpressionError(node.initializer); + } + const message = addUndefined ? + Diagnostics.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations : + errorByDeclarationKind[node.kind]; + const diag = createDiagnosticForNode(node, message); + const targetStr = getTextOfNode(node.name, /*includeTrivia*/ false); + addRelatedInfo(diag, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind], targetStr)); + return diag; + } + function createClassExpressionError(node: Expression) { + return createExpressionError(node, Diagnostics.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations); + } + function createExpressionError(node: Expression, diagnosticMessage?: DiagnosticMessage) { + const parentDeclaration = findNearestDeclaration(node); + let diag: DiagnosticWithLocation; + if (parentDeclaration) { + const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); + const parent = findAncestor(node.parent, n => isExportAssignment(n) || (isStatement(n) ? "quit" : !isParenthesizedExpression(n) && !isTypeAssertionExpression(n) && !isAsExpression(n))); + if (parentDeclaration === parent) { + diag = createDiagnosticForNode(node, diagnosticMessage ?? errorByDeclarationKind[parentDeclaration.kind]); + addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + } + else { + diag = createDiagnosticForNode(node, diagnosticMessage ?? Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); + addRelatedInfo(diag, createDiagnosticForNode(node, Diagnostics.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)); + } + } + else { + diag = createDiagnosticForNode(node, diagnosticMessage ?? Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations); + } + return diag; + } +} \ No newline at end of file diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 77b108d1db..7b8cf11917 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5428,6 +5428,7 @@ export interface EmitResolver { isLateBound(node: Declaration): node is LateBoundDeclaration; collectLinkedAliases(node: Identifier, setVisibility?: boolean): Node[] | undefined; isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; + requiresAddingImplicitUndefined(node: ParameterDeclaration): boolean; isRequiredInitializedParameter(node: ParameterDeclaration): boolean; isOptionalUninitializedParameterProperty(node: ParameterDeclaration): boolean; isExpandoFunctionDeclaration(node: FunctionDeclaration): boolean; @@ -5732,6 +5733,7 @@ export interface PatternAmbientModule { /** @internal */ export const enum NodeCheckFlags { + None = 0, TypeChecked = 0x00000001, // Node has been type checked LexicalThis = 0x00000002, // Lexical 'this' reference CaptureThis = 0x00000004, // Lexical 'this' used in body @@ -6814,6 +6816,7 @@ export interface CompilerOptions { inlineSourceMap?: boolean; inlineSources?: boolean; isolatedModules?: boolean; + isolatedDeclarations?: boolean; jsx?: JsxEmit; keyofStringsOnly?: boolean; lib?: string[]; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 0737e538d2..dc5c9cd876 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -5157,7 +5157,7 @@ export function identifierIsThisKeyword(id: Identifier): boolean { } /** @internal */ -export function getAllAccessorDeclarations(declarations: readonly Declaration[], accessor: AccessorDeclaration): AllAccessorDeclarations { +export function getAllAccessorDeclarations(declarations: readonly Declaration[] | undefined, accessor: AccessorDeclaration): AllAccessorDeclarations { // TODO: GH#18217 let firstAccessor!: AccessorDeclaration; let secondAccessor!: AccessorDeclaration; diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 1dc9d86321..eafb79ffe5 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -7311,6 +7311,7 @@ declare namespace ts { inlineSourceMap?: boolean; inlineSources?: boolean; isolatedModules?: boolean; + isolatedDeclarations?: boolean; jsx?: JsxEmit; keyofStringsOnly?: boolean; lib?: string[]; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 1cb646e837..e2d5fa3e2a 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -3308,6 +3308,7 @@ declare namespace ts { inlineSourceMap?: boolean; inlineSources?: boolean; isolatedModules?: boolean; + isolatedDeclarations?: boolean; jsx?: JsxEmit; keyofStringsOnly?: boolean; lib?: string[]; -- Gitee From 23babb55fa887203958e86438f3677941fd2a784 Mon Sep 17 00:00:00 2001 From: liyancheng2 Date: Fri, 18 Jul 2025 20:47:09 +0800 Subject: [PATCH 5/7] optimize the path of 1.2 kit transform Issue: https://gitee.com/openharmony/third_party_typescript/issues/ICNC0B Signed-off-by: liyancheng2 --- lib/tsc.js | 1206 ++++++------ lib/tsserver.js | 1643 +++++++++-------- lib/tsserverlibrary.d.ts | 2 +- lib/tsserverlibrary.js | 1595 ++++++++-------- lib/typescript.d.ts | 2 +- lib/typescript.js | 1403 +++++++------- lib/typingsInstaller.js | 557 +++--- src/compiler/checker.ts | 1272 ++++++++++--- src/compiler/ohApi.ts | 156 +- src/compiler/parser.ts | 487 ++++- src/services/services.ts | 385 +++- .../reference/api/tsserverlibrary.d.ts | 2 +- tests/baselines/reference/api/typescript.d.ts | 2 +- 13 files changed, 5202 insertions(+), 3510 deletions(-) diff --git a/lib/tsc.js b/lib/tsc.js index f8f3e76074..dd669b2597 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -15,11 +15,28 @@ and limitations under the License. "use strict"; +var __create = Object.create; var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); // src/compiler/corePublic.ts var versionMajorMinor = "4.9"; @@ -5661,27 +5678,27 @@ function createFixedChunkSizePollingWatchFile(host) { } function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) { const toCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); - const path = toCanonicalFileName(name); - const existing = cache.get(path); + const path2 = toCanonicalFileName(name); + const existing = cache.get(path2); if (existing) { existing.callbacks.push(callback); } else { - cache.set(path, { + cache.set(path2, { watcher: createWatcher((param1, param2, param3) => { var _a2; - return (_a2 = cache.get(path)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); + return (_a2 = cache.get(path2)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); }), callbacks: [callback] }); } return { close: () => { - const watcher = cache.get(path); + const watcher = cache.get(path2); if (!watcher) return; if (!orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) return; - cache.delete(path); + cache.delete(path2); closeFileWatcherOf(watcher); } }; @@ -5882,15 +5899,15 @@ function createDirectoryWatcherSupportingRecursive({ (newChildWatches || (newChildWatches = [])).push(childWatcher); } } - function isIgnoredPath(path, options) { - return some(ignoredPaths, (searchPath) => isInPath(path, searchPath)) || isIgnoredByWatchOptions(path, options, useCaseSensitiveFileNames, getCurrentDirectory); + function isIgnoredPath(path2, options) { + return some(ignoredPaths, (searchPath) => isInPath(path2, searchPath)) || isIgnoredByWatchOptions(path2, options, useCaseSensitiveFileNames, getCurrentDirectory); } - function isInPath(path, searchPath) { - if (stringContains(path, searchPath)) + function isInPath(path2, searchPath) { + if (stringContains(path2, searchPath)) return true; if (useCaseSensitiveFileNames) return false; - return stringContains(toCanonicalFilePath(path), searchPath); + return stringContains(toCanonicalFilePath(path2), searchPath); } } var FileSystemEntryKind = /* @__PURE__ */ ((FileSystemEntryKind2) => { @@ -6208,13 +6225,13 @@ function createSystemWatchFunctions({ } function patchWriteFileEnsuringDirectory(sys2) { const originalWriteFile = sys2.writeFile; - sys2.writeFile = (path, data, writeBom) => writeFileEnsuringDirectories( - path, + sys2.writeFile = (path2, data, writeBom) => writeFileEnsuringDirectories( + path2, data, !!writeBom, - (path2, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path2, data2, writeByteOrderMark), - (path2) => sys2.createDirectory(path2), - (path2) => sys2.directoryExists(path2) + (path3, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path3, data2, writeByteOrderMark), + (path3) => sys2.createDirectory(path3), + (path3) => sys2.directoryExists(path3) ); } function getNodeMajorVersion() { @@ -6266,7 +6283,7 @@ var sys = (() => { getCurrentDirectory, fileSystemEntryExists, fsSupportsRecursiveFsWatch, - getAccessibleSortedChildDirectories: (path) => getAccessibleFileSystemEntries(path).directories, + getAccessibleSortedChildDirectories: (path2) => getAccessibleFileSystemEntries(path2).directories, realpath, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, @@ -6291,7 +6308,7 @@ var sys = (() => { writeFile: writeFile2, watchFile: watchFile2, watchDirectory, - resolvePath: (path) => _path.resolve(path), + resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, createDirectory(directoryName) { @@ -6325,9 +6342,9 @@ var sys = (() => { } return process.memoryUsage().heapUsed; }, - getFileSize(path) { + getFileSize(path2) { try { - const stat = statSync(path); + const stat = statSync(path2); if (stat == null ? void 0 : stat.isFile()) { return stat.size; } @@ -6372,10 +6389,10 @@ var sys = (() => { } }; return nodeSystem; - function statSync(path) { - return _fs.statSync(path, { throwIfNoEntry: false }); + function statSync(path2) { + return _fs.statSync(path2, { throwIfNoEntry: false }); } - function enableCPUProfiler(path, cb) { + function enableCPUProfiler(path2, cb) { if (activeSession) { cb(); return false; @@ -6390,7 +6407,7 @@ var sys = (() => { session.post("Profiler.enable", () => { session.post("Profiler.start", () => { activeSession = session; - profilePath = path; + profilePath = path2; cb(); }); }); @@ -6534,10 +6551,10 @@ var sys = (() => { } } } - function getAccessibleFileSystemEntries(path) { - perfLogger.logEvent("ReadDir: " + (path || ".")); + function getAccessibleFileSystemEntries(path2) { + perfLogger.logEvent("ReadDir: " + (path2 || ".")); try { - const entries = _fs.readdirSync(path || ".", { withFileTypes: true }); + const entries = _fs.readdirSync(path2 || ".", { withFileTypes: true }); const files = []; const directories = []; for (const dirent of entries) { @@ -6547,7 +6564,7 @@ var sys = (() => { } let stat; if (typeof dirent === "string" || dirent.isSymbolicLink()) { - const name = combinePaths(path, entry); + const name = combinePaths(path2, entry); try { stat = statSync(name); if (!stat) { @@ -6572,14 +6589,14 @@ var sys = (() => { return emptyFileSystemEntries; } } - function readDirectory(path, extensions, excludes, includes, depth) { - return matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); + function readDirectory(path2, extensions, excludes, includes, depth) { + return matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); } - function fileSystemEntryExists(path, entryKind) { + function fileSystemEntryExists(path2, entryKind) { const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - const stat = statSync(path); + const stat = statSync(path2); if (!stat) { return false; } @@ -6597,47 +6614,47 @@ var sys = (() => { Error.stackTraceLimit = originalStackTraceLimit; } } - function fileExists(path) { - return fileSystemEntryExists(path, 0 /* File */); + function fileExists(path2) { + return fileSystemEntryExists(path2, 0 /* File */); } - function directoryExists(path) { - return fileSystemEntryExists(path, 1 /* Directory */); + function directoryExists(path2) { + return fileSystemEntryExists(path2, 1 /* Directory */); } - function getDirectories(path) { - return getAccessibleFileSystemEntries(path).directories.slice(); + function getDirectories(path2) { + return getAccessibleFileSystemEntries(path2).directories.slice(); } - function fsRealPathHandlingLongPath(path) { - return path.length < 260 ? _fs.realpathSync.native(path) : _fs.realpathSync(path); + function fsRealPathHandlingLongPath(path2) { + return path2.length < 260 ? _fs.realpathSync.native(path2) : _fs.realpathSync(path2); } - function realpath(path) { + function realpath(path2) { try { - return fsRealpath(path); + return fsRealpath(path2); } catch (e) { - return path; + return path2; } } - function getModifiedTime3(path) { + function getModifiedTime3(path2) { var _a2; const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - return (_a2 = statSync(path)) == null ? void 0 : _a2.mtime; + return (_a2 = statSync(path2)) == null ? void 0 : _a2.mtime; } catch (e) { return void 0; } finally { Error.stackTraceLimit = originalStackTraceLimit; } } - function setModifiedTime(path, time) { + function setModifiedTime(path2, time) { try { - _fs.utimesSync(path, time, time); + _fs.utimesSync(path2, time, time); } catch (e) { return; } } - function deleteFile(path) { + function deleteFile(path2) { try { - return _fs.unlinkSync(path); + return _fs.unlinkSync(path2); } catch (e) { return; } @@ -6676,41 +6693,41 @@ var backslashRegExp = /\\/g; function isAnyDirectorySeparator(charCode) { return charCode === 47 /* slash */ || charCode === 92 /* backslash */; } -function isUrl(path) { - return getEncodedRootLength(path) < 0; +function isUrl(path2) { + return getEncodedRootLength(path2) < 0; } -function isRootedDiskPath(path) { - return getEncodedRootLength(path) > 0; +function isRootedDiskPath(path2) { + return getEncodedRootLength(path2) > 0; } -function isDiskPathRoot(path) { - const rootLength = getEncodedRootLength(path); - return rootLength > 0 && rootLength === path.length; +function isDiskPathRoot(path2) { + const rootLength = getEncodedRootLength(path2); + return rootLength > 0 && rootLength === path2.length; } -function pathIsAbsolute(path) { - return getEncodedRootLength(path) !== 0; +function pathIsAbsolute(path2) { + return getEncodedRootLength(path2) !== 0; } -function pathIsRelative(path) { - return /^\.\.?($|[\\/])/.test(path); +function pathIsRelative(path2) { + return /^\.\.?($|[\\/])/.test(path2); } -function pathIsBareSpecifier(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path); +function pathIsBareSpecifier(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2); } function hasExtension(fileName) { return stringContains(getBaseFileName(fileName), "."); } -function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); +function fileExtensionIs(path2, extension) { + return path2.length > extension.length && endsWith(path2, extension); } -function fileExtensionIsOneOf(path, extensions) { +function fileExtensionIsOneOf(path2, extensions) { for (const extension of extensions) { - if (fileExtensionIs(path, extension)) { + if (fileExtensionIs(path2, extension)) { return true; } } return false; } -function hasTrailingDirectorySeparator(path) { - return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1)); +function hasTrailingDirectorySeparator(path2) { + return path2.length > 0 && isAnyDirectorySeparator(path2.charCodeAt(path2.length - 1)); } function isVolumeCharacter(charCode) { return charCode >= 97 /* a */ && charCode <= 122 /* z */ || charCode >= 65 /* A */ && charCode <= 90 /* Z */; @@ -6726,113 +6743,113 @@ function getFileUrlVolumeSeparatorEnd(url, start) { } return -1; } -function getEncodedRootLength(path) { - if (!path) +function getEncodedRootLength(path2) { + if (!path2) return 0; - const ch0 = path.charCodeAt(0); + const ch0 = path2.charCodeAt(0); if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { - if (path.charCodeAt(1) !== ch0) + if (path2.charCodeAt(1) !== ch0) return 1; - const p1 = path.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); + const p1 = path2.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); if (p1 < 0) - return path.length; + return path2.length; return p1 + 1; } - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { - const ch2 = path.charCodeAt(2); + if (isVolumeCharacter(ch0) && path2.charCodeAt(1) === 58 /* colon */) { + const ch2 = path2.charCodeAt(2); if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) return 3; - if (path.length === 2) + if (path2.length === 2) return 2; } - const schemeEnd = path.indexOf(urlSchemeSeparator); + const schemeEnd = path2.indexOf(urlSchemeSeparator); if (schemeEnd !== -1) { const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path.indexOf(directorySeparator, authorityStart); + const authorityEnd = path2.indexOf(directorySeparator, authorityStart); if (authorityEnd !== -1) { - const scheme = path.slice(0, schemeEnd); - const authority = path.slice(authorityStart, authorityEnd); - if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + const scheme = path2.slice(0, schemeEnd); + const authority = path2.slice(authorityStart, authorityEnd); + if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path2.charCodeAt(authorityEnd + 1))) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path2, authorityEnd + 2); if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + if (path2.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { return ~(volumeSeparatorEnd + 1); } - if (volumeSeparatorEnd === path.length) { + if (volumeSeparatorEnd === path2.length) { return ~volumeSeparatorEnd; } } } return ~(authorityEnd + 1); } - return ~path.length; + return ~path2.length; } return 0; } -function getRootLength(path) { - const rootLength = getEncodedRootLength(path); +function getRootLength(path2) { + const rootLength = getEncodedRootLength(path2); return rootLength < 0 ? ~rootLength : rootLength; } -function getDirectoryPath(path) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) - return path; - path = removeTrailingDirectorySeparator(path); - return path.slice(0, Math.max(rootLength, path.lastIndexOf(directorySeparator))); -} -function getBaseFileName(path, extensions, ignoreCase) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) +function getDirectoryPath(path2) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) + return path2; + path2 = removeTrailingDirectorySeparator(path2); + return path2.slice(0, Math.max(rootLength, path2.lastIndexOf(directorySeparator))); +} +function getBaseFileName(path2, extensions, ignoreCase) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) return ""; - path = removeTrailingDirectorySeparator(path); - const name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(directorySeparator) + 1)); + path2 = removeTrailingDirectorySeparator(path2); + const name = path2.slice(Math.max(getRootLength(path2), path2.lastIndexOf(directorySeparator) + 1)); const extension = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(name, extensions, ignoreCase) : void 0; return extension ? name.slice(0, name.length - extension.length) : name; } -function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { +function tryGetExtensionFromPath(path2, extension, stringEqualityComparer) { if (!startsWith(extension, ".")) extension = "." + extension; - if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { - const pathExtension = path.slice(path.length - extension.length); + if (path2.length >= extension.length && path2.charCodeAt(path2.length - extension.length) === 46 /* dot */) { + const pathExtension = path2.slice(path2.length - extension.length); if (stringEqualityComparer(pathExtension, extension)) { return pathExtension; } } } -function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) { +function getAnyExtensionFromPathWorker(path2, extensions, stringEqualityComparer) { if (typeof extensions === "string") { - return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || ""; + return tryGetExtensionFromPath(path2, extensions, stringEqualityComparer) || ""; } for (const extension of extensions) { - const result = tryGetExtensionFromPath(path, extension, stringEqualityComparer); + const result = tryGetExtensionFromPath(path2, extension, stringEqualityComparer); if (result) return result; } return ""; } -function getAnyExtensionFromPath(path, extensions, ignoreCase) { +function getAnyExtensionFromPath(path2, extensions, ignoreCase) { if (extensions) { - return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); + return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path2), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); } - const baseFileName = getBaseFileName(path); + const baseFileName = getBaseFileName(path2); const extensionIndex = baseFileName.lastIndexOf("."); if (extensionIndex >= 0) { return baseFileName.substring(extensionIndex); } return ""; } -function pathComponents(path, rootLength) { - const root = path.substring(0, rootLength); - const rest = path.substring(rootLength).split(directorySeparator); +function pathComponents(path2, rootLength) { + const root = path2.substring(0, rootLength); + const rest = path2.substring(rootLength).split(directorySeparator); if (rest.length && !lastOrUndefined(rest)) rest.pop(); return [root, ...rest]; } -function getPathComponents(path, currentDirectory = "") { - path = combinePaths(currentDirectory, path); - return pathComponents(path, getRootLength(path)); +function getPathComponents(path2, currentDirectory = "") { + path2 = combinePaths(currentDirectory, path2); + return pathComponents(path2, getRootLength(path2)); } function getPathFromPathComponents(pathComponents2) { if (pathComponents2.length === 0) @@ -6840,8 +6857,8 @@ function getPathFromPathComponents(pathComponents2) { const root = pathComponents2[0] && ensureTrailingDirectorySeparator(pathComponents2[0]); return root + pathComponents2.slice(1).join(directorySeparator); } -function normalizeSlashes(path) { - return path.indexOf("\\") !== -1 ? path.replace(backslashRegExp, directorySeparator) : path; +function normalizeSlashes(path2) { + return path2.indexOf("\\") !== -1 ? path2.replace(backslashRegExp, directorySeparator) : path2; } function reducePathComponents(components) { if (!some(components)) @@ -6866,44 +6883,44 @@ function reducePathComponents(components) { } return reduced; } -function combinePaths(path, ...paths) { - if (path) - path = normalizeSlashes(path); +function combinePaths(path2, ...paths) { + if (path2) + path2 = normalizeSlashes(path2); for (let relativePath of paths) { if (!relativePath) continue; relativePath = normalizeSlashes(relativePath); - if (!path || getRootLength(relativePath) !== 0) { - path = relativePath; + if (!path2 || getRootLength(relativePath) !== 0) { + path2 = relativePath; } else { - path = ensureTrailingDirectorySeparator(path) + relativePath; + path2 = ensureTrailingDirectorySeparator(path2) + relativePath; } } - return path; + return path2; } -function resolvePath(path, ...paths) { - return normalizePath(some(paths) ? combinePaths(path, ...paths) : normalizeSlashes(path)); +function resolvePath(path2, ...paths) { + return normalizePath(some(paths) ? combinePaths(path2, ...paths) : normalizeSlashes(path2)); } -function getNormalizedPathComponents(path, currentDirectory) { - return reducePathComponents(getPathComponents(path, currentDirectory)); +function getNormalizedPathComponents(path2, currentDirectory) { + return reducePathComponents(getPathComponents(path2, currentDirectory)); } function getNormalizedAbsolutePath(fileName, currentDirectory) { return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } -function normalizePath(path) { - path = normalizeSlashes(path); - if (!relativePathSegmentRegExp.test(path)) { - return path; +function normalizePath(path2) { + path2 = normalizeSlashes(path2); + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } - const simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, ""); - if (simplified !== path) { - path = simplified; - if (!relativePathSegmentRegExp.test(path)) { - return path; + const simplified = path2.replace(/\/\.\//g, "/").replace(/^\.\//, ""); + if (simplified !== path2) { + path2 = simplified; + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } } - const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path))); - return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized; + const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path2))); + return normalized && hasTrailingDirectorySeparator(path2) ? ensureTrailingDirectorySeparator(normalized) : normalized; } function getPathWithoutRoot(pathComponents2) { if (pathComponents2.length === 0) @@ -6917,24 +6934,24 @@ function toPath(fileName, basePath, getCanonicalFileName) { const nonCanonicalizedPath = isRootedDiskPath(fileName) ? normalizePath(fileName) : getNormalizedAbsolutePath(fileName, basePath); return getCanonicalFileName(nonCanonicalizedPath); } -function removeTrailingDirectorySeparator(path) { - if (hasTrailingDirectorySeparator(path)) { - return path.substr(0, path.length - 1); +function removeTrailingDirectorySeparator(path2) { + if (hasTrailingDirectorySeparator(path2)) { + return path2.substr(0, path2.length - 1); } - return path; + return path2; } -function ensureTrailingDirectorySeparator(path) { - if (!hasTrailingDirectorySeparator(path)) { - return path + directorySeparator; +function ensureTrailingDirectorySeparator(path2) { + if (!hasTrailingDirectorySeparator(path2)) { + return path2 + directorySeparator; } - return path; + return path2; } -function ensurePathIsNonModuleName(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path; +function ensurePathIsNonModuleName(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2) ? "./" + path2 : path2; } -function changeAnyExtension(path, ext, extensions, ignoreCase) { - const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path); - return pathext ? path.slice(0, path.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path; +function changeAnyExtension(path2, ext, extensions, ignoreCase) { + const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path2, extensions, ignoreCase) : getAnyExtensionFromPath(path2); + return pathext ? path2.slice(0, path2.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path2; } var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; function comparePathsWorker(a, b, componentComparer) { @@ -7026,11 +7043,11 @@ function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanoni return toComponents; } const components = toComponents.slice(start); - const relative = []; + const relative2 = []; for (; start < fromComponents.length; start++) { - relative.push(".."); + relative2.push(".."); } - return ["", ...relative, ...components]; + return ["", ...relative2, ...components]; } function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative"); @@ -15586,8 +15603,8 @@ function hostGetCanonicalFileName(host) { function getResolvedExternalModuleName(host, file, referenceFile) { return file.moduleName || getExternalModuleNameFromPath(host, file.fileName, referenceFile && referenceFile.fileName); } -function getCanonicalAbsolutePath(host, path) { - return host.getCanonicalFileName(getNormalizedAbsolutePath(path, host.getCurrentDirectory())); +function getCanonicalAbsolutePath(host, path2) { + return host.getCanonicalFileName(getNormalizedAbsolutePath(path2, host.getCurrentDirectory())); } function getExternalModuleNameFromDeclaration(host, resolver, declaration) { const file = resolver.getExternalModuleFileFromDeclaration(declaration); @@ -15623,15 +15640,15 @@ function getDeclarationEmitOutputFilePath(fileName, host) { } function getDeclarationEmitOutputFilePathWorker(fileName, options, currentDirectory, commonSourceDirectory, getCanonicalFileName) { const outputDir = options.declarationDir || options.outDir; - const path = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; - const declarationExtension = getDeclarationEmitExtensionForPath(path); - return removeFileExtension(path) + declarationExtension; + const path2 = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; + const declarationExtension = getDeclarationEmitExtensionForPath(path2); + return removeFileExtension(path2) + declarationExtension; } -function getDeclarationEmitExtensionForPath(path) { - return fileExtensionIsOneOf(path, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; +function getDeclarationEmitExtensionForPath(path2) { + return fileExtensionIsOneOf(path2, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path2, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path2, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path2, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; } -function getPossibleOriginalInputExtensionForExtension(path) { - return fileExtensionIsOneOf(path, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; +function getPossibleOriginalInputExtensionForExtension(path2) { + return fileExtensionIsOneOf(path2, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path2, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path2, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; } function outFile(options) { return options.outFile || options.out; @@ -15684,12 +15701,12 @@ function ensureDirectoriesExist(directoryPath, createDirectory, directoryExists) createDirectory(directoryPath); } } -function writeFileEnsuringDirectories(path, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { +function writeFileEnsuringDirectories(path2, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { try { - writeFile2(path, data, writeByteOrderMark); + writeFile2(path2, data, writeByteOrderMark); } catch (e) { - ensureDirectoriesExist(getDirectoryPath(normalizePath(path)), createDirectory, directoryExists); - writeFile2(path, data, writeByteOrderMark); + ensureDirectoriesExist(getDirectoryPath(normalizePath(path2)), createDirectory, directoryExists); + writeFile2(path2, data, writeByteOrderMark); } } function getLineOfLocalPosition(sourceFile, pos) { @@ -16296,15 +16313,15 @@ function base64decode(host, input) { } return getStringFromExpandedCharCodes(expandedCharCodes); } -function readJsonOrUndefined(path, hostOrText) { - const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path); +function readJsonOrUndefined(path2, hostOrText) { + const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path2); if (!jsonText) return void 0; - const result = parseConfigFileTextToJson(path, jsonText); + const result = parseConfigFileTextToJson(path2, jsonText); return !result.error ? result.config : void 0; } -function readJson(path, host) { - return readJsonOrUndefined(path, host) || {}; +function readJson(path2, host) { + return readJsonOrUndefined(path2, host) || {}; } function directoryProbablyExists(directoryName, host) { return !host.directoryExists || host.directoryExists(directoryName); @@ -17122,7 +17139,7 @@ function createSymlinkCache(cwd, getCanonicalFileName, isOHModules2) { getSymlinkedFiles: () => symlinkedFiles, getSymlinkedDirectories: () => symlinkedDirectories, getSymlinkedDirectoriesByRealpath: () => symlinkedDirectoriesByRealpath, - setSymlinkedFile: (path, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path, real), + setSymlinkedFile: (path2, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path2, real), setSymlinkedDirectory: (symlink, real) => { let symlinkPath = toPath(symlink, cwd, getCanonicalFileName); if (!containsIgnoredPath(symlinkPath)) { @@ -17175,8 +17192,8 @@ function isNodeModulesOrScopedPackageDirectory(s, getCanonicalFileName, isOHModu function stripLeadingDirectorySeparator(s) { return isAnyDirectorySeparator(s.charCodeAt(0)) ? s.slice(1) : void 0; } -function tryRemoveDirectoryPrefix(path, dirPath, getCanonicalFileName) { - const withoutPrefix = tryRemovePrefix(path, dirPath, getCanonicalFileName); +function tryRemoveDirectoryPrefix(path2, dirPath, getCanonicalFileName) { + const withoutPrefix = tryRemovePrefix(path2, dirPath, getCanonicalFileName); return withoutPrefix === void 0 ? void 0 : stripLeadingDirectorySeparator(withoutPrefix); } var reservedCharacterPattern = /[^\w\s\/]/g; @@ -17284,25 +17301,25 @@ function getSubPatternFromSpec(spec, basePath, usage, { singleAsteriskRegexFragm function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } -function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { - path = normalizePath(path); +function getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const absolutePath = combinePaths(currentDirectory, path); + const absolutePath = combinePaths(currentDirectory, path2); return { includeFilePatterns: map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), (pattern) => `^${pattern}$`), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), - basePaths: getBasePaths(path, includes, useCaseSensitiveFileNames) + basePaths: getBasePaths(path2, includes, useCaseSensitiveFileNames) }; } function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); } -function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { - path = normalizePath(path); +function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); + const patterns = getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory); const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map((pattern) => getRegexFromPattern(pattern, useCaseSensitiveFileNames)); const includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); const excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); @@ -17313,14 +17330,14 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa visitDirectory(basePath, combinePaths(currentDirectory, basePath), depth); } return flatten(results); - function visitDirectory(path2, absolutePath, depth2) { + function visitDirectory(path3, absolutePath, depth2) { const canonicalPath = toCanonical(realpath(absolutePath)); if (visited.has(canonicalPath)) return; visited.set(canonicalPath, true); - const { files, directories } = getFileSystemEntries(path2); + const { files, directories } = getFileSystemEntries(path3); for (const current of sort(files, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if (extensions && !fileExtensionIsOneOf(name, extensions)) continue; @@ -17342,7 +17359,7 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } for (const current of sort(directories, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if ((!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName)) && (!excludeRegex || !excludeRegex.test(absoluteName))) { visitDirectory(name, absoluteName, depth2); @@ -17350,17 +17367,17 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } } -function getBasePaths(path, includes, useCaseSensitiveFileNames) { - const basePaths = [path]; +function getBasePaths(path2, includes, useCaseSensitiveFileNames) { + const basePaths = [path2]; if (includes) { const includeBasePaths = []; for (const include of includes) { - const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path, include)); + const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path2, include)); includeBasePaths.push(getIncludeBasePath(absolute)); } includeBasePaths.sort(getStringComparer(!useCaseSensitiveFileNames)); for (const includeBasePath of includeBasePaths) { - if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path, !useCaseSensitiveFileNames))) { + if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path2, !useCaseSensitiveFileNames))) { basePaths.push(includeBasePath); } } @@ -17462,23 +17479,23 @@ function compareNumberOfDirectorySeparators(path1, path2) { ); } var extensionsToRemove = [".d.ts" /* Dts */, ".d.ets" /* Dets */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".mts" /* Mts */, ".cjs" /* Cjs */, ".cts" /* Cts */, ".ts" /* Ts */, ".js" /* Js */, ".tsx" /* Tsx */, ".jsx" /* Jsx */, ".json" /* Json */, ".ets" /* Ets */]; -function removeFileExtension(path) { +function removeFileExtension(path2) { for (const ext of extensionsToRemove) { - const extensionless = tryRemoveExtension(path, ext); + const extensionless = tryRemoveExtension(path2, ext); if (extensionless !== void 0) { return extensionless; } } - return path; + return path2; } -function tryRemoveExtension(path, extension) { - return fileExtensionIs(path, extension) ? removeExtension(path, extension) : void 0; +function tryRemoveExtension(path2, extension) { + return fileExtensionIs(path2, extension) ? removeExtension(path2, extension) : void 0; } -function removeExtension(path, extension) { - return path.substring(0, path.length - extension.length); +function removeExtension(path2, extension) { + return path2.substring(0, path2.length - extension.length); } -function changeExtension(path, newExtension) { - return changeAnyExtension(path, newExtension, extensionsToRemove, false); +function changeExtension(path2, newExtension) { + return changeAnyExtension(path2, newExtension, extensionsToRemove, false); } function tryParsePattern(pattern) { const indexOfStar = pattern.indexOf("*"); @@ -17491,7 +17508,7 @@ function tryParsePattern(pattern) { }; } function tryParsePatterns(paths) { - return mapDefined(getOwnKeys(paths), (path) => tryParsePattern(path)); + return mapDefined(getOwnKeys(paths), (path2) => tryParsePattern(path2)); } function positionIsSynthesized(pos) { return !(pos >= 0); @@ -17502,18 +17519,18 @@ function extensionIsTS(ext) { function resolutionExtensionIsTSOrJson(ext) { return extensionIsTS(ext) || ext === ".json" /* Json */; } -function extensionFromPath(path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 ? ext : Debug.fail(`File ${path} has unknown extension.`); +function extensionFromPath(path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 ? ext : Debug.fail(`File ${path2} has unknown extension.`); } -function isAnySupportedFileExtension(path) { - return tryGetExtensionFromPath2(path) !== void 0; +function isAnySupportedFileExtension(path2) { + return tryGetExtensionFromPath2(path2) !== void 0; } -function tryGetExtensionFromPath2(path) { - if (fileExtensionIs(path, ".ets" /* Ets */)) { +function tryGetExtensionFromPath2(path2) { + if (fileExtensionIs(path2, ".ets" /* Ets */)) { return ".ets" /* Ets */; } - return find(extensionsToRemove, (e) => fileExtensionIs(path, e)); + return find(extensionsToRemove, (e) => fileExtensionIs(path2, e)); } function isCheckJsEnabledForFile(sourceFile, compilerOptions) { return sourceFile.checkJsDirective ? sourceFile.checkJsDirective.enabled : compilerOptions.checkJs; @@ -17752,8 +17769,8 @@ function expressionResultIsUnused(node) { return false; } } -function containsIgnoredPath(path) { - return some(ignoredPaths, (p) => stringContains(path, p)); +function containsIgnoredPath(path2) { + return some(ignoredPaths, (p) => stringContains(path2, p)); } function getContainingNodeArray(node) { if (!node.parent) @@ -22939,19 +22956,19 @@ function createInputFiles(javascriptTextOrReadFileText, declarationTextOrJavascr const node = parseNodeFactory.createInputFiles(); if (!isString(javascriptTextOrReadFileText)) { const cache = new Map2(); - const textGetter = (path) => { - if (path === void 0) + const textGetter = (path2) => { + if (path2 === void 0) return void 0; - let value = cache.get(path); + let value = cache.get(path2); if (value === void 0) { - value = javascriptTextOrReadFileText(path); - cache.set(path, value !== void 0 ? value : false); + value = javascriptTextOrReadFileText(path2); + cache.set(path2, value !== void 0 ? value : false); } return value !== false ? value : void 0; }; - const definedTextGetter = (path) => { - const result = textGetter(path); - return result !== void 0 ? result : `/* Input file ${path} was missing */\r + const definedTextGetter = (path2) => { + const result = textGetter(path2); + return result !== void 0 ? result : `/* Input file ${path2} was missing */\r `; }; let buildInfo2; @@ -26194,7 +26211,7 @@ function parseJSDocTypeExpressionForTests(content, start, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length2); } var languageVersionCallBack; -function getLanguageVersionByFilePath(getLanguageVersion) { +function setLanguageVersionByFilePath(getLanguageVersion) { languageVersionCallBack = getLanguageVersion; } var Parser; @@ -26423,7 +26440,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext(), sourceFileCompilerOptions), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -32993,7 +33010,7 @@ function processPragmasIntoFields(context, reportDiagnostic) { const typeReferenceDirectives = context.typeReferenceDirectives; const libReferenceDirectives = context.libReferenceDirectives; forEach(toArray(entryOrList), (arg) => { - const { types, lib, path, ["resolution-mode"]: res } = arg.arguments; + const { types, lib, path: path2, ["resolution-mode"]: res } = arg.arguments; if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } else if (types) { @@ -33001,8 +33018,8 @@ function processPragmasIntoFields(context, reportDiagnostic) { typeReferenceDirectives.push({ pos: types.pos, end: types.end, fileName: types.value, ...parsed ? { resolutionMode: parsed } : {} }); } else if (lib) { libReferenceDirectives.push({ pos: lib.pos, end: lib.end, fileName: lib.value }); - } else if (path) { - referencedFiles.push({ pos: path.pos, end: path.end, fileName: path.value }); + } else if (path2) { + referencedFiles.push({ pos: path2.pos, end: path2.end, fileName: path2.value }); } else { reportDiagnostic(arg.range.pos, arg.range.end - arg.range.pos, Diagnostics.Invalid_reference_directive_syntax); } @@ -35254,20 +35271,20 @@ function filterSameAsDefaultInclude(specs) { return void 0; return specs; } -function matchesSpecs(path, includeSpecs, excludeSpecs, host) { +function matchesSpecs(path2, includeSpecs, excludeSpecs, host) { if (!includeSpecs) return returnTrue; - const patterns = getFileMatcherPatterns(path, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); + const patterns = getFileMatcherPatterns(path2, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); const excludeRe = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, host.useCaseSensitiveFileNames); const includeRe = patterns.includeFilePattern && getRegexFromPattern(patterns.includeFilePattern, host.useCaseSensitiveFileNames); if (includeRe) { if (excludeRe) { - return (path2) => !(includeRe.test(path2) && !excludeRe.test(path2)); + return (path3) => !(includeRe.test(path3) && !excludeRe.test(path3)); } - return (path2) => !includeRe.test(path2); + return (path3) => !includeRe.test(path3); } if (excludeRe) { - return (path2) => excludeRe.test(path2); + return (path3) => excludeRe.test(path3); } return returnTrue; } @@ -35657,9 +35674,9 @@ function parseConfig(json, sourceFile, host, basePath, configFileName, resolutio let relativeDifference; const setPropertyInRawIfNotUndefined = (propertyName) => { if (!raw[propertyName] && baseRaw[propertyName]) { - raw[propertyName] = map(baseRaw[propertyName], (path) => isRootedDiskPath(path) ? path : combinePaths( + raw[propertyName] = map(baseRaw[propertyName], (path2) => isRootedDiskPath(path2) ? path2 : combinePaths( relativeDifference || (relativeDifference = convertToRelativePath(getDirectoryPath(ownConfig.extendedConfigPath), basePath, createGetCanonicalFileName(host.useCaseSensitiveFileNames))), - path + path2 )); } }; @@ -35782,14 +35799,14 @@ function getExtendsConfigPath(extendedConfig, host, basePath, errors, createDiag return void 0; } function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack, errors, extendedConfigCache) { - const path = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); + const path2 = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); let value; let extendedResult; let extendedConfig; - if (extendedConfigCache && (value = extendedConfigCache.get(path))) { + if (extendedConfigCache && (value = extendedConfigCache.get(path2))) { ({ extendedResult, extendedConfig } = value); } else { - extendedResult = readJsonConfigFile(extendedConfigPath, (path2) => host.readFile(path2)); + extendedResult = readJsonConfigFile(extendedConfigPath, (path3) => host.readFile(path3)); if (!extendedResult.parseDiagnostics.length) { extendedConfig = parseConfig( void 0, @@ -35803,7 +35820,7 @@ function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack ); } if (extendedConfigCache) { - extendedConfigCache.set(path, { extendedResult, extendedConfig }); + extendedConfigCache.set(path2, { extendedResult, extendedConfig }); } } if (sourceFile) { @@ -36044,14 +36061,14 @@ function specToDiagnostic(spec, disallowTrailingRecursion) { return [Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec]; } } -function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path, useCaseSensitiveFileNames) { - const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path, "exclude"); +function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path2, useCaseSensitiveFileNames) { + const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path2, "exclude"); const excludeRegex = rawExcludeRegex && new RegExp(rawExcludeRegex, useCaseSensitiveFileNames ? "" : "i"); const wildcardDirectories = {}; if (include !== void 0) { const recursiveKeys = []; for (const file of include) { - const spec = normalizePath(combinePaths(path, file)); + const spec = normalizePath(combinePaths(path2, file)); if (excludeRegex && excludeRegex.test(spec)) { continue; } @@ -36070,7 +36087,7 @@ function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExclu for (const key in wildcardDirectories) { if (hasProperty(wildcardDirectories, key)) { for (const recursiveKey of recursiveKeys) { - if (key !== recursiveKey && containsPath(recursiveKey, key, path, !useCaseSensitiveFileNames)) { + if (key !== recursiveKey && containsPath(recursiveKey, key, path2, !useCaseSensitiveFileNames)) { delete wildcardDirectories[key]; } } @@ -36272,12 +36289,12 @@ function readPackageJsonPathField(jsonContent, fieldName, baseDirectory, state) } return; } - const path = normalizePath(combinePaths(baseDirectory, fileName)); + const path2 = normalizePath(combinePaths(baseDirectory, fileName)); if (state.traceEnabled) { const message = isOhpm(state.compilerOptions.packageManagerType) ? Diagnostics.oh_package_json5_has_0_field_1_that_references_2 : Diagnostics.package_json_has_0_field_1_that_references_2; - trace(state.host, message, fieldName, fileName, path); + trace(state.host, message, fieldName, fileName, path2); } - return path; + return path2; } function readPackageJsonTypesFields(jsonContent, baseDirectory, state) { return readPackageJsonPathField(jsonContent, "typings", baseDirectory, state) || readPackageJsonPathField(jsonContent, "types", baseDirectory, state); @@ -36587,11 +36604,11 @@ function createCacheWithRedirects(options) { if (!redirectedReference) { return ownMap; } - const path = redirectedReference.sourceFile.path; - let redirects = redirectsMap.get(path); + const path2 = redirectedReference.sourceFile.path; + let redirects = redirectsMap.get(path2); if (!redirects) { redirects = !options || optionsHaveModuleResolutionChanges(options, redirectedReference.commandLine.options) ? new Map2() : ownMap; - redirectsMap.set(path, redirects); + redirectsMap.set(path2, redirects); } return redirects; } @@ -36663,8 +36680,8 @@ function createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileNam updateRedirectsMap(options, directoryToModuleNameMap); } function getOrCreateCacheForDirectory(directoryName, redirectedReference) { - const path = toPath(directoryName, currentDirectory, getCanonicalFileName); - return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, () => createModeAwareCache()); + const path2 = toPath(directoryName, currentDirectory, getCanonicalFileName); + return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path2, () => createModeAwareCache()); } } function createModeAwareCache() { @@ -36748,14 +36765,14 @@ function createModuleResolutionCache(currentDirectory, getCanonicalFileName, opt return directoryPathMap.get(toPath(directory, currentDirectory, getCanonicalFileName)); } function set(directory, result) { - const path = toPath(directory, currentDirectory, getCanonicalFileName); - if (directoryPathMap.has(path)) { + const path2 = toPath(directory, currentDirectory, getCanonicalFileName); + if (directoryPathMap.has(path2)) { return; } - directoryPathMap.set(path, result); + directoryPathMap.set(path2, result); const resolvedFileName = result.resolvedModule && (result.resolvedModule.originalPath || result.resolvedModule.resolvedFileName); - const commonPrefix = resolvedFileName && getCommonPrefix(path, resolvedFileName); - let current = path; + const commonPrefix = resolvedFileName && getCommonPrefix(path2, resolvedFileName); + let current = path2; while (current !== commonPrefix) { const parent = getDirectoryPath(current); if (parent === current || directoryPathMap.has(parent)) { @@ -37126,10 +37143,10 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, return void 0; let resolvedValue = resolved2.value; if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) { - const path = realPath(resolvedValue.path, host, traceEnabled); - const pathsAreEqual = arePathsEqual(path, resolvedValue.path, host); + const path2 = realPath(resolvedValue.path, host, traceEnabled); + const pathsAreEqual = arePathsEqual(path2, resolvedValue.path, host); const originalPath = pathsAreEqual ? void 0 : resolvedValue.path; - resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path, originalPath }; + resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path2, originalPath }; } return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; } else { @@ -37143,18 +37160,18 @@ function normalizePathForCJSResolution(containingDirectory, moduleName) { const combined = combinePaths(containingDirectory, moduleName); const parts = getPathComponents(combined); const lastPart = lastOrUndefined(parts); - const path = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); - return { path, parts }; + const path2 = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); + return { path: path2, parts }; } -function realPath(path, host, traceEnabled) { +function realPath(path2, host, traceEnabled) { if (!host.realpath) { - return path; + return path2; } - const real = normalizePath(host.realpath(path)); + const real = normalizePath(host.realpath(path2)); if (traceEnabled) { - trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path, real); + trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path2, real); } - Debug.assert(host.fileExists(real), `${path} linked to nonexistent file ${real}`); + Debug.assert(host.fileExists(real), `${path2} linked to nonexistent file ${real}`); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -37193,25 +37210,25 @@ function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, return void 0; } var nodeModulesPathPart = "/node_modules/"; -function pathContainsNodeModules(path) { - return stringContains(path, nodeModulesPathPart); +function pathContainsNodeModules(path2) { + return stringContains(path2, nodeModulesPathPart); } function parseModuleFromPath(resolved, packageManagerType) { const modulesPathPart = getModulePathPartByPMType(packageManagerType); - const path = normalizePath(resolved); - const idx = path.lastIndexOf(modulesPathPart); + const path2 = normalizePath(resolved); + const idx = path2.lastIndexOf(modulesPathPart); if (idx === -1) { return void 0; } const indexAfterModules = idx + modulesPathPart.length; - let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterModules); - if (path.charCodeAt(indexAfterModules) === 64 /* at */) { - indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterPackageName); + let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterModules); + if (path2.charCodeAt(indexAfterModules) === 64 /* at */) { + indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterPackageName); } - return path.slice(0, indexAfterPackageName); + return path2.slice(0, indexAfterPackageName); } -function moveToNextDirectorySeparatorIfAvailable(path, prevSeparatorIndex) { - const nextSeparatorIndex = path.indexOf(directorySeparator, prevSeparatorIndex + 1); +function moveToNextDirectorySeparatorIfAvailable(path2, prevSeparatorIndex) { + const nextSeparatorIndex = path2.indexOf(directorySeparator, prevSeparatorIndex + 1); return nextSeparatorIndex === -1 ? prevSeparatorIndex : nextSeparatorIndex; } function loadModuleFromFileNoPackageId(extensions, candidate, onlyRecordFailures, state) { @@ -37314,8 +37331,8 @@ function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecor return tryExtension(".json" /* Json */); } function tryExtension(ext) { - const path = tryFile(candidate + ext, onlyRecordFailures, state); - return path === void 0 ? void 0 : { path, ext }; + const path2 = tryFile(candidate + ext, onlyRecordFailures, state); + return path2 === void 0 ? void 0 : { path: path2, ext }; } } function tryFile(fileName, onlyRecordFailures, state) { @@ -37562,9 +37579,9 @@ function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFail return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state); } } -function resolvedIfExtensionMatches(extensions, path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 && extensionIsOk(extensions, ext) ? { path, ext } : void 0; +function resolvedIfExtensionMatches(extensions, path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 && extensionIsOk(extensions, ext) ? { path: path2, ext } : void 0; } function extensionIsOk(extensions, extension) { switch (extensions) { @@ -37818,11 +37835,11 @@ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirec trace(state.host, Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName); } return toSearchResult(void 0); - function toAbsolutePath(path) { + function toAbsolutePath(path2) { var _a2, _b; - if (path === void 0) - return path; - return getNormalizedAbsolutePath(path, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); + if (path2 === void 0) + return path2; + return getNormalizedAbsolutePath(path2, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); } function combineDirectoryPath(root, dir) { return ensureTrailingDirectorySeparator(combinePaths(root, dir)); @@ -38016,16 +38033,16 @@ function tryLoadModuleUsingPaths(extensions, moduleName, baseDirectory, paths, p trace(state.host, Diagnostics.Module_name_0_matched_pattern_1, moduleName, matchedPatternText); } const resolved = forEach(paths[matchedPatternText], (subst) => { - const path = matchedStar ? subst.replace("*", matchedStar) : subst; - const candidate = normalizePath(combinePaths(baseDirectory, path)); + const path2 = matchedStar ? subst.replace("*", matchedStar) : subst; + const candidate = normalizePath(combinePaths(baseDirectory, path2)); if (state.traceEnabled) { - trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path); + trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path2); } const extension = tryGetExtensionFromPath2(subst); if (extension !== void 0) { - const path2 = tryFile(candidate, onlyRecordFailures, state); - if (path2 !== void 0) { - return noPackageId({ path: path2, ext: extension }); + const path3 = tryFile(candidate, onlyRecordFailures, state); + if (path3 !== void 0) { + return noPackageId({ path: path3, ext: extension }); } } return loader(extensions, candidate, onlyRecordFailures || !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); @@ -38167,6 +38184,7 @@ function traceIfEnabled(state, diagnostic, ...args) { } // src/compiler/ohApi.ts +var path = __toESM(require("path")); var annotationMagicNamePrefix = "__$$ETS_ANNOTATION$$__"; var maxFlowDepthDefaultValue = 2e3; function isInEtsFile(node) { @@ -38300,8 +38318,8 @@ function isOHModulesDirectory(dirPath) { function isTargetModulesDerectory(dirPath) { return isNodeModulesDirectory(dirPath) || isOHModulesDirectory(dirPath); } -function pathContainsOHModules(path) { - return stringContains(path, ohModulesPathPart); +function pathContainsOHModules(path2) { + return stringContains(path2, ohModulesPathPart); } function choosePathContainsModules(packageManagerType, fileName) { return isOhpm(packageManagerType) ? pathContainsOHModules(fileName) : pathContainsNodeModules(fileName); @@ -39000,20 +39018,34 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; + if (compilerOptions.etsLoaderPath && normalizePath(compilerOptions.etsLoaderPath).endsWith("ets1.1/build-tools/ets-loader")) { + return resolvePath(compilerOptions.etsLoaderPath, "../../../../.."); + } + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; +} +function getKitConfigRelativePath(compilerOptions) { + const etsLoaderPath = compilerOptions.etsLoaderPath; + const sdkPath = getSdkPath(compilerOptions); + return path.relative( + sdkPath, + path.join(etsLoaderPath, "kit_configs") + ); +} +function convertPath(originalPath, from, to) { + return originalPath.replace(new RegExp(from, "g"), to); } -function getKitJsonObject(name, sdkPath) { +function getKitJsonObject(name, sdkPath, compilerOptions) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { return kitJsonCache.get(name); } + const OHOS_KIT_CONFIG_PATH = getKitConfigRelativePath(compilerOptions); + const HMS_KIT_CONFIG_PATH = convertPath(OHOS_KIT_CONFIG_PATH, "openharmony", "hms"); const ohosJsonPath = resolvePath(sdkPath, OHOS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); const hmsJsonPath = resolvePath(sdkPath, HMS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); let fileInfo = sys.fileExists(ohosJsonPath) ? sys.readFile(ohosJsonPath, "utf-8") : sys.fileExists(hmsJsonPath) ? sys.readFile(hmsJsonPath, "utf-8") : void 0; @@ -39181,7 +39213,7 @@ function processKitStatementSuccess(factory2, statement, jsonObject, inEtsContex } return true; } -function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext) { +function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext, compilerOptions) { const list = []; let skipRestStatements = false; statements.forEach( @@ -39198,7 +39230,7 @@ function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsC list.push(statement); return; } - const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath); + const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath, compilerOptions); const newImportStatements = new Array(); if (!processKitStatementSuccess(factory2, statement, jsonObject, inEtsContext, newImportStatements)) { list.push(statement); @@ -42409,10 +42441,10 @@ function getLocalModuleSpecifier(moduleFileName, info, compilerOptions, host, im Debug.assertNever(relativePreference); return isPathRelativeToParent(nonRelative) || countPathComponents(relativePath) < countPathComponents(nonRelative) ? relativePath : nonRelative; } -function countPathComponents(path) { +function countPathComponents(path2) { let count = 0; - for (let i = startsWith(path, "./") ? 2 : 0; i < path.length; i++) { - if (path.charCodeAt(i) === 47 /* slash */) + for (let i = startsWith(path2, "./") ? 2 : 0; i < path2.length; i++) { + if (path2.charCodeAt(i) === 47 /* slash */) count++; } return count; @@ -42459,9 +42491,9 @@ function forEachFileNameOfModule(importingFileName, importedFileName, host, pref if (!startsWithDirectory(target, realPathDirectory, getCanonicalFileName)) { return; } - const relative = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); + const relative2 = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); for (const symlinkDirectory of symlinkDirectories) { - const option = resolvePath(symlinkDirectory, relative); + const option = resolvePath(symlinkDirectory, relative2); const result2 = cb(option, target === referenceRedirect); shouldFilterIgnoredPaths = true; if (result2) @@ -42495,9 +42527,9 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack importedFileName, host, true, - (path, isRedirect) => { - const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path) : pathContainsNodeModules(path); - allFileNames.set(path, { path: getCanonicalFileName(path), isRedirect, isInNodeModules }); + (path2, isRedirect) => { + const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path2) : pathContainsNodeModules(path2); + allFileNames.set(path2, { path: getCanonicalFileName(path2), isRedirect, isInNodeModules }); importedFileFromNodeModules = importedFileFromNodeModules || isInNodeModules; } ); @@ -42505,8 +42537,8 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack for (let directory = getDirectoryPath(importingFileName); allFileNames.size !== 0; ) { const directoryStart = ensureTrailingDirectorySeparator(directory); let pathsInDirectory; - allFileNames.forEach(({ path, isRedirect, isInNodeModules }, fileName) => { - if (startsWith(path, directoryStart)) { + allFileNames.forEach(({ path: path2, isRedirect, isInNodeModules }, fileName) => { + if (startsWith(path2, directoryStart)) { (pathsInDirectory || (pathsInDirectory = [])).push({ path: fileName, isRedirect, isInNodeModules }); allFileNames.delete(fileName); } @@ -42688,16 +42720,16 @@ function tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, } return getEmitModuleResolutionKind(compilerOptions) === 2 /* NodeJs */ ? removeExtensionAndIndexPostFix(shortest, ending, compilerOptions) : removeFileExtension(shortest); } -function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { +function tryGetModuleNameAsNodeModule({ path: path2, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { if (!host.fileExists || !host.readFile) { return void 0; } - const parts = getNodeModulePathParts(path, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); + const parts = getNodeModulePathParts(path2, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); if (!parts) { return void 0; } const preferences = getPreferences(host, userPreferences, options, importingSourceFile); - let moduleSpecifier = path; + let moduleSpecifier = path2; let isPackageRootPath = false; if (!packageNameOnly) { let packageRootIndex = parts.packageRootIndex; @@ -42719,7 +42751,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa } if (!moduleFileName) moduleFileName = moduleFileToTry; - packageRootIndex = path.indexOf(directorySeparator, packageRootIndex + 1); + packageRootIndex = path2.indexOf(directorySeparator, packageRootIndex + 1); if (packageRootIndex === -1) { moduleSpecifier = removeExtensionAndIndexPostFix(moduleFileName, preferences.ending, options, host); break; @@ -42739,9 +42771,9 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return getEmitModuleResolutionKind(options) === 1 /* Classic */ && packageName === nodeModulesDirectoryName ? void 0 : packageName; function tryDirectoryWithPackageJson(packageRootIndex) { var _a2, _b; - const packageRootPath = path.substring(0, packageRootIndex); + const packageRootPath = path2.substring(0, packageRootIndex); const packageJsonPath = combinePaths(packageRootPath, getPackageJsonByPMType(options.packageManagerType)); - let moduleFileToTry = path; + let moduleFileToTry = path2; let maybeBlockedByTypesVersions = false; const cachedPackageJson = (_b = (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === void 0 && host.fileExists(packageJsonPath)) { @@ -42749,18 +42781,18 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa const importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */) { const conditions = ["node", importMode === 99 /* ESNext */ ? "import" : "require", "types"]; - const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; + const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path2, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; if (fromExports) { const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) }; return { ...withJsExtension, verbatimFromExports: true }; } if (packageJsonContent.exports) { - return { moduleFileToTry: path, blockedByExports: true }; + return { moduleFileToTry: path2, blockedByExports: true }; } } const versionPaths = packageJsonContent.typesVersions ? getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions) : void 0; if (versionPaths) { - const subModuleName = path.slice(packageRootPath.length + 1); + const subModuleName = path2.slice(packageRootPath.length + 1); const fromPaths = tryGetModuleNameFromPaths( subModuleName, versionPaths.paths, @@ -42790,20 +42822,20 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return { moduleFileToTry }; } } -function tryGetAnyFileFromPath(host, path) { +function tryGetAnyFileFromPath(host, path2) { if (!host.fileExists) return; const extensions = flatten(getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 /* JSON */ }])); for (const e of extensions) { - const fullPath = path + e; + const fullPath = path2 + e; if (host.fileExists(fullPath)) { return fullPath; } } } -function getPathsRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { +function getPathsRelativeToRootDirs(path2, rootDirs, getCanonicalFileName) { return mapDefined(rootDirs, (rootDir) => { - const relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + const relativePath = getRelativePathIfInDirectory(path2, rootDir, getCanonicalFileName); return relativePath !== void 0 && isPathRelativeToParent(relativePath) ? void 0 : relativePath; }); } @@ -42860,12 +42892,12 @@ function tryGetJSExtensionForFile(fileName, options) { return void 0; } } -function getRelativePathIfInDirectory(path, directoryPath, getCanonicalFileName) { - const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path, directoryPath, getCanonicalFileName, false); +function getRelativePathIfInDirectory(path2, directoryPath, getCanonicalFileName) { + const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path2, directoryPath, getCanonicalFileName, false); return isRootedDiskPath(relativePath) ? void 0 : relativePath; } -function isPathRelativeToParent(path) { - return startsWith(path, ".."); +function isPathRelativeToParent(path2) { + return startsWith(path2, ".."); } // src/compiler/checker.ts @@ -43536,8 +43568,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { clearConstEnumRelate: () => { constEnumRelate && constEnumRelate.clear(); }, - deleteConstEnumRelate: (path) => { - constEnumRelate && constEnumRelate.delete(path); + deleteConstEnumRelate: (path2) => { + constEnumRelate && constEnumRelate.delete(path2); }, isStaticRecord, getTypeArgumentsForResolvedSignature, @@ -48061,8 +48093,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { links.specifierCache.set(cacheKey, specifier); } return specifier; - function getSpecifierCacheKey(path, mode) { - return mode === void 0 ? path : `${mode}|${path}`; + function getSpecifierCacheKey(path2, mode) { + return mode === void 0 ? path2 : `${mode}|${path2}`; } } function symbolToEntityNameNode(symbol) { @@ -53880,10 +53912,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const text = identifier.escapedText; if (text) { const parentSymbol = name.kind === 165 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : name.kind === 211 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : void 0; - const path = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; - let result = unresolvedSymbols.get(path); + const path2 = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; + let result = unresolvedSymbols.get(path2); if (!result) { - unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); + unresolvedSymbols.set(path2, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); result.parent = parentSymbol; result.declaredType = unresolvedType; } @@ -57618,24 +57650,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return; } - let path = ""; + let path2 = ""; const secondaryRootErrors = []; while (stack.length) { const [msg, ...args] = stack.pop(); switch (msg.code) { case Diagnostics.Types_of_property_0_are_incompatible.code: { - if (path.indexOf("new ") === 0) { - path = `(${path})`; + if (path2.indexOf("new ") === 0) { + path2 = `(${path2})`; } const str = "" + args[0]; - if (path.length === 0) { - path = `${str}`; + if (path2.length === 0) { + path2 = `${str}`; } else if (isIdentifierText(str, getEmitScriptTarget(compilerOptions))) { - path = `${path}.${str}`; + path2 = `${path2}.${str}`; } else if (str[0] === "[" && str[str.length - 1] === "]") { - path = `${path}${str}`; + path2 = `${path2}${str}`; } else { - path = `${path}[${str}]`; + path2 = `${path2}[${str}]`; } break; } @@ -57643,7 +57675,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code: case Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: case Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: { - if (path.length === 0) { + if (path2.length === 0) { let mappedMsg = msg; if (msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) { mappedMsg = Diagnostics.Call_signature_return_types_0_and_1_are_incompatible; @@ -57654,7 +57686,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } else { const prefix = msg.code === Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : ""; const params = msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "..."; - path = `${prefix}${path}(${params})`; + path2 = `${prefix}${path2}(${params})`; } break; } @@ -57670,10 +57702,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return Debug.fail(`Unhandled Diagnostic: ${msg.code}`); } } - if (path) { + if (path2) { reportError( - path[path.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, - path + path2[path2.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, + path2 ); } else { secondaryRootErrors.shift(); @@ -67858,7 +67890,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const sourceFileNamePath = getSourceFileOfNode(declaration).fileName.replace(/\\/g, "/"); const SKIPPED_PATHS = ["/node_modules/", "/oh_modules/", "/js_util_module/"]; const skipSdkPathReg = /\/sdk\/default\/(openharmony|hms)\/ets\//; - if (SKIPPED_PATHS.some((path) => sourceFileNamePath.includes(path))) { + if (SKIPPED_PATHS.some((path2) => sourceFileNamePath.includes(path2))) { return false; } const isSDKPath = skipSdkPathReg.test(sourceFileNamePath); @@ -99097,9 +99129,9 @@ function getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSou function createAddOutput() { let outputs; return { addOutput, getOutputs }; - function addOutput(path) { - if (path) { - (outputs || (outputs = [])).push(path); + function addOutput(path2) { + if (path2) { + (outputs || (outputs = [])).push(path2); } } function getOutputs() { @@ -99275,8 +99307,8 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla emittedFilesList.push(declarationMapPath); } } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, host.getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, host.getCanonicalFileName)); } } function emitBuildInfo(bundle, buildInfoPath) { @@ -103953,7 +103985,7 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return { useCaseSensitiveFileNames, fileExists, - readFile: (path, encoding) => host.readFile(path, encoding), + readFile: (path2, encoding) => host.readFile(path2, encoding), directoryExists: host.directoryExists && directoryExists, getDirectories, readDirectory, @@ -103970,8 +104002,8 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi function getCachedFileSystemEntries(rootDirPath) { return cachedReadDirectoryResult.get(ensureTrailingDirectorySeparator(rootDirPath)); } - function getCachedFileSystemEntriesForBaseDir(path) { - const entries = getCachedFileSystemEntries(getDirectoryPath(path)); + function getCachedFileSystemEntriesForBaseDir(path2) { + const entries = getCachedFileSystemEntries(getDirectoryPath(path2)); if (!entries) { return entries; } @@ -104018,25 +104050,25 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return index >= 0; } function writeFile2(fileName, data, writeByteOrderMark) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { updateFilesOfFileSystemEntry(result, getBaseNameOfFileName(fileName), true); } return host.writeFile(fileName, data, writeByteOrderMark); } function fileExists(fileName) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); return result && hasEntry(result.sortedAndCanonicalizedFiles, getCanonicalFileName(getBaseNameOfFileName(fileName))) || host.fileExists(fileName); } function directoryExists(dirPath) { - const path = toPath3(dirPath); - return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path)) || host.directoryExists(dirPath); + const path2 = toPath3(dirPath); + return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path2)) || host.directoryExists(dirPath); } function createDirectory(dirPath) { - const path = toPath3(dirPath); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(dirPath); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { const baseName = getBaseNameOfFileName(dirPath); const canonicalizedBaseName = getCanonicalFileName(baseName); @@ -104064,21 +104096,21 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi } return host.readDirectory(rootDir, extensions, excludes, includes, depth); function getFileSystemEntries(dir) { - const path = toPath3(dir); - if (path === rootDirPath) { - return rootResult || getFileSystemEntriesFromHost(dir, path); + const path2 = toPath3(dir); + if (path2 === rootDirPath) { + return rootResult || getFileSystemEntriesFromHost(dir, path2); } - const result = tryReadDirectory(dir, path); - return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path) : emptyFileSystemEntries; + const result = tryReadDirectory(dir, path2); + return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path2) : emptyFileSystemEntries; } - function getFileSystemEntriesFromHost(dir, path) { - if (rootSymLinkResult && path === rootDirPath) + function getFileSystemEntriesFromHost(dir, path2) { + if (rootSymLinkResult && path2 === rootDirPath) return rootSymLinkResult; const result = { files: map(host.readDirectory(dir, void 0, void 0, ["*.*"]), getBaseNameOfFileName) || emptyArray, directories: host.getDirectories(dir) || emptyArray }; - if (path === rootDirPath) + if (path2 === rootDirPath) rootSymLinkResult = result; return result; } @@ -104471,9 +104503,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { fileName, data, writeByteOrderMark, - (path, data2, writeByteOrderMark2) => system.writeFile(path, data2, writeByteOrderMark2), - (path) => (compilerHost.createDirectory || system.createDirectory)(path), - (path) => directoryExists(path) + (path2, data2, writeByteOrderMark2) => system.writeFile(path2, data2, writeByteOrderMark2), + (path2) => (compilerHost.createDirectory || system.createDirectory)(path2), + (path2) => directoryExists(path2) ); mark("afterIOWrite"); measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -104487,7 +104519,7 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { return getDirectoryPath(normalizePath(system.getExecutingFilePath())); } const newLine = getNewLineCharacter(options, () => system.newLine); - const realpath = system.realpath && ((path) => system.realpath(path)); + const realpath = system.realpath && ((path2) => system.realpath(path2)); const compilerHost = { getSourceFile, getDefaultLibLocation, @@ -104502,9 +104534,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { trace: (s) => system.write(s + newLine), directoryExists: (directoryName) => system.directoryExists(directoryName), getEnvironmentVariable: (name) => system.getEnvironmentVariable ? system.getEnvironmentVariable(name) : "", - getDirectories: (path) => system.getDirectories(path), + getDirectories: (path2) => system.getDirectories(path2), realpath, - readDirectory: (path, extensions, include, exclude, depth) => system.readDirectory(path, extensions, include, exclude, depth), + readDirectory: (path2, extensions, include, exclude, depth) => system.readDirectory(path2, extensions, include, exclude, depth), createDirectory: (d) => system.createDirectory(d), createHash: maybeBind(system, system.createHash) }; @@ -105300,7 +105332,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } } PerformanceDotting.stop("processDefaultLib"); - missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path, file]) => file === void 0 ? path : void 0)); + missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path2, file]) => file === void 0 ? path2 : void 0)); files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); processingDefaultLibFiles = void 0; processingOtherFiles = void 0; @@ -105813,18 +105845,18 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config filesByName.set(newSourceFile.path, newSourceFile); } const oldFilesByNameMap = oldProgram.getFilesByNameMap(); - oldFilesByNameMap.forEach((oldFile, path) => { + oldFilesByNameMap.forEach((oldFile, path2) => { if (!oldFile) { - filesByName.set(path, oldFile); + filesByName.set(path2, oldFile); return; } - if (oldFile.path === path) { + if (oldFile.path === path2) { if (oldProgram.isSourceFileFromExternalLibrary(oldFile)) { sourceFilesFoundSearchingNodeModules.set(oldFile.path, true); } return; } - filesByName.set(path, filesByName.get(oldFile.path)); + filesByName.set(path2, filesByName.get(oldFile.path)); }); files = newSourceFiles; fileReasons = oldProgram.getFileIncludeReasons(); @@ -105856,10 +105888,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config isEmitBlocked, readFile: (f) => host.readFile(f), fileExists: (f) => { - const path = toPath3(f); - if (getSourceFileByPath(path)) + const path2 = toPath3(f); + if (getSourceFileByPath(path2)) return true; - if (contains(missingFilePaths, path)) + if (contains(missingFilePaths, path2)) return false; return host.fileExists(f); }, @@ -105907,9 +105939,9 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config return (_a3 = resolvedProjectReferences[index]) == null ? void 0 : _a3.commandLine; }, (fileName) => { - const path = toPath3(fileName); - const sourceFile = getSourceFileByPath(path); - return sourceFile ? sourceFile.text : filesByName.has(path) ? void 0 : host.readFile(path); + const path2 = toPath3(fileName); + const sourceFile = getSourceFileByPath(path2); + return sourceFile ? sourceFile.text : filesByName.has(path2) ? void 0 : host.readFile(path2); } ); } @@ -106028,8 +106060,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function getSourceFile(fileName) { return getSourceFileByPath(toPath3(fileName)); } - function getSourceFileByPath(path) { - return filesByName.get(path) || void 0; + function getSourceFileByPath(path2) { + return filesByName.get(path2) || void 0; } function getDiagnosticsHelper(sourceFile, getDiagnostics, cancellationToken) { if (sourceFile) { @@ -106638,17 +106670,17 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config addFilePreprocessingFileExplainingDiagnostic(existingFile, reason, Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [fileName, existingFile.fileName]); } } - function createRedirectSourceFile(redirectTarget, unredirected, fileName, path, resolvedPath, originalFileName, sourceFileOptions) { + function createRedirectSourceFile(redirectTarget, unredirected, fileName, path2, resolvedPath, originalFileName, sourceFileOptions) { var _a3; const redirect = Object.create(redirectTarget); redirect.fileName = fileName; - redirect.path = path; + redirect.path = path2; redirect.resolvedPath = resolvedPath; redirect.originalFileName = originalFileName; redirect.redirectInfo = { redirectTarget, unredirected }; redirect.packageJsonLocations = ((_a3 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _a3.length) ? sourceFileOptions.packageJsonLocations : void 0; redirect.packageJsonScope = sourceFileOptions.packageJsonScope; - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); Object.defineProperties(redirect, { id: { get() { @@ -106688,25 +106720,25 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function findSourceFileWorker(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { var _a3, _b2; - const path = toPath3(fileName); + const path2 = toPath3(fileName); if (useSourceOfProjectReferenceRedirect) { - let source = getSourceOfProjectReferenceRedirect(path); + let source = getSourceOfProjectReferenceRedirect(path2); const modulesPathPart = getModulePathPartByPMType(options.packageManagerType); if (!source && host.realpath && options.preserveSymlinks && isDeclarationFileName(fileName) && stringContains(fileName, modulesPathPart)) { const realPath2 = toPath3(host.realpath(fileName)); - if (realPath2 !== path) + if (realPath2 !== path2) source = getSourceOfProjectReferenceRedirect(realPath2); } if (source) { const file2 = isString(source) ? findSourceFile(source, isDefaultLib, ignoreNoDefaultLib, reason, packageId) : void 0; if (file2) - addFileToFilesByName(file2, path, void 0); + addFileToFilesByName(file2, path2, void 0); return file2; } } const originalFileName = fileName; - if (filesByName.has(path)) { - const file2 = filesByName.get(path); + if (filesByName.has(path2)) { + const file2 = filesByName.get(path2); addFileIncludeReason(file2 || void 0, reason); if (file2 && options.forceConsistentCasingInFileNames) { const checkedName = file2.fileName; @@ -106765,30 +106797,30 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config const packageIdKey = packageIdToString(packageId); const fileFromPackageId = packageIdToSourceFile.get(packageIdKey); if (fileFromPackageId) { - const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path, toPath3(fileName), originalFileName, sourceFileOptions); + const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path2, toPath3(fileName), originalFileName, sourceFileOptions); redirectTargetsMap.add(fileFromPackageId.path, fileName); - addFileToFilesByName(dupFile, path, redirectedPath); + addFileToFilesByName(dupFile, path2, redirectedPath); addFileIncludeReason(dupFile, reason); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); processingOtherFiles.push(dupFile); return dupFile; } else if (file) { packageIdToSourceFile.set(packageIdKey, file); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); } } - addFileToFilesByName(file, path, redirectedPath); + addFileToFilesByName(file, path2, redirectedPath); if (file) { - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); file.fileName = fileName; - file.path = path; + file.path = path2; file.resolvedPath = toPath3(fileName); file.originalFileName = originalFileName; file.packageJsonLocations = ((_b2 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _b2.length) ? sourceFileOptions.packageJsonLocations : void 0; file.packageJsonScope = sourceFileOptions.packageJsonScope; addFileIncludeReason(file, reason); if (host.useCaseSensitiveFileNames()) { - const pathLowerCase = toFileNameLowerCase(path); + const pathLowerCase = toFileNameLowerCase(path2); const existingFile = filesByNameIgnoreCase.get(pathLowerCase); if (existingFile) { reportFileNamesDifferOnlyInCasingError(fileName, existingFile, reason); @@ -106817,12 +106849,12 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config if (file) fileReasons.add(file.path, reason); } - function addFileToFilesByName(file, path, redirectedPath) { + function addFileToFilesByName(file, path2, redirectedPath) { if (redirectedPath) { filesByName.set(redirectedPath, file); - filesByName.set(path, file || false); + filesByName.set(path2, file || false); } else { - filesByName.set(path, file); + filesByName.set(path2, file); } } function getProjectReferenceRedirect(fileName) { @@ -106854,8 +106886,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function forEachResolvedProjectReference2(cb) { return forEachResolvedProjectReference(resolvedProjectReferences, cb); } - function getSourceOfProjectReferenceRedirect(path) { - if (!isDeclarationFileName(path)) + function getSourceOfProjectReferenceRedirect(path2) { + if (!isDeclarationFileName(path2)) return void 0; if (mapFromToProjectReferenceRedirectSource === void 0) { mapFromToProjectReferenceRedirectSource = new Map2(); @@ -106875,7 +106907,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } }); } - return mapFromToProjectReferenceRedirectSource.get(path); + return mapFromToProjectReferenceRedirectSource.get(path2); } function isSourceOfProjectReferenceRedirect(fileName) { return useSourceOfProjectReferenceRedirect && !!getResolvedProjectReferenceToRedirect(fileName); @@ -106964,15 +106996,15 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function pathForLibFile(libFileName) { const components = libFileName.split("."); - let path = components[1]; + let path2 = components[1]; let i = 2; while (components[i] && components[i] !== "d") { - path += (i === 2 ? "/" : "-") + components[i]; + path2 += (i === 2 ? "/" : "-") + components[i]; i++; } const modulePathType = getModuleByPMType(options.packageManagerType); const resolveFrom = combinePaths(currentDirectory, `__lib_${modulePathType}_lookup_${libFileName}__.ts`); - const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); + const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path2, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); if (localOverrideModuleResult == null ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; } @@ -107676,9 +107708,9 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { host.compilerHost.fileExists = fileExists; let directoryExists; if (originalDirectoryExists) { - directoryExists = host.compilerHost.directoryExists = (path) => { - if (originalDirectoryExists.call(host.compilerHost, path)) { - handleDirectoryCouldBeSymlink(path); + directoryExists = host.compilerHost.directoryExists = (path2) => { + if (originalDirectoryExists.call(host.compilerHost, path2)) { + handleDirectoryCouldBeSymlink(path2); return true; } if (!host.getResolvedProjectReferences()) @@ -107697,11 +107729,11 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { } }); } - return fileOrDirectoryExistsUsingSource(path, false); + return fileOrDirectoryExistsUsingSource(path2, false); }; } if (originalGetDirectories) { - host.compilerHost.getDirectories = (path) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path) ? originalGetDirectories.call(host.compilerHost, path) : []; + host.compilerHost.getDirectories = (path2) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path2) ? originalGetDirectories.call(host.compilerHost, path2) : []; } if (originalRealpath) { host.compilerHost.realpath = (s) => { @@ -108095,12 +108127,12 @@ var BuilderState; state.allFileNames = void 0; } BuilderState2.releaseCache = releaseCache2; - function getFilesAffectedBy(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { + function getFilesAffectedBy(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { var _a2, _b; const result = getFilesAffectedByWithOldState( state, programOfThisState, - path, + path2, cancellationToken, computeHash, getCanonicalFileName @@ -108110,8 +108142,8 @@ var BuilderState; return result; } BuilderState2.getFilesAffectedBy = getFilesAffectedBy; - function getFilesAffectedByWithOldState(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { - const sourceFile = programOfThisState.getSourceFileByPath(path); + function getFilesAffectedByWithOldState(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { + const sourceFile = programOfThisState.getSourceFileByPath(path2); if (!sourceFile) { return emptyArray; } @@ -108121,9 +108153,9 @@ var BuilderState; return (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName); } BuilderState2.getFilesAffectedByWithOldState = getFilesAffectedByWithOldState; - function updateSignatureOfFile(state, signature, path) { - state.fileInfos.get(path).signature = signature; - (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path); + function updateSignatureOfFile(state, signature, path2) { + state.fileInfos.get(path2).signature = signature; + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path2); } BuilderState2.updateSignatureOfFile = updateSignatureOfFile; function updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName, useFileVersionAsSignature = state.useFileVersionAsSignature) { @@ -108193,7 +108225,7 @@ var BuilderState; if (!exportedModules) { exportedModules = new Set2(); } - exportedModulePaths.forEach((path) => exportedModules.add(path)); + exportedModulePaths.forEach((path2) => exportedModules.add(path2)); } } } @@ -108209,10 +108241,10 @@ var BuilderState; const seenMap = new Set2(); const queue = [sourceFile.resolvedPath]; while (queue.length) { - const path = queue.pop(); - if (!seenMap.has(path)) { - seenMap.add(path); - const references = state.referencedMap.getValues(path); + const path2 = queue.pop(); + if (!seenMap.has(path2)) { + seenMap.add(path2); + const references = state.referencedMap.getValues(path2); if (references) { const iterator = references.keys(); for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) { @@ -108221,9 +108253,9 @@ var BuilderState; } } } - return arrayFrom(mapDefinedIterator(seenMap.keys(), (path) => { + return arrayFrom(mapDefinedIterator(seenMap.keys(), (path2) => { var _a2, _b; - return (_b = (_a2 = programOfThisState.getSourceFileByPath(path)) == null ? void 0 : _a2.fileName) != null ? _b : path; + return (_b = (_a2 = programOfThisState.getSourceFileByPath(path2)) == null ? void 0 : _a2.fileName) != null ? _b : path2; })); } BuilderState2.getAllDependencies = getAllDependencies; @@ -108356,7 +108388,7 @@ function createBuilderProgramState(newProgram, getCanonicalFileName, oldState, d var _a3, _b2; let oldInfo; let newReferences; - if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path) => !state.fileInfos.has(path) && oldState.fileInfos.has(path))) { + if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path2) => !state.fileInfos.has(path2) && oldState.fileInfos.has(path2))) { state.changedFilesSet.add(sourceFilePath); } else if (canCopySemanticDiagnostics) { const sourceFile = newProgram.getSourceFileByPath(sourceFilePath); @@ -108421,8 +108453,8 @@ function convertToDiagnostics(diagnostics, newProgram, getCanonicalFileName) { result.relatedInformation = relatedInformation ? relatedInformation.length ? relatedInformation.map((r) => convertToDiagnosticRelatedInformation(r, newProgram, toPath3)) : [] : void 0; return result; }); - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } } function convertToDiagnosticRelatedInformation(diagnostic, newProgram, toPath3) { @@ -108581,11 +108613,11 @@ function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken host ); } -function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCanonicalFileName, host) { - removeSemanticDiagnosticsOf(state, path); - if (!state.changedFilesSet.has(path)) { +function handleDtsMayChangeOf(state, path2, cancellationToken, computeHash, getCanonicalFileName, host) { + removeSemanticDiagnosticsOf(state, path2); + if (!state.changedFilesSet.has(path2)) { const program = Debug.checkDefined(state.program); - const sourceFile = program.getSourceFileByPath(path); + const sourceFile = program.getSourceFileByPath(path2); if (sourceFile) { BuilderState.updateShapeSignature( state, @@ -108597,22 +108629,22 @@ function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCa !host.disableUseFileVersionAsSignature ); if (getEmitDeclarations(state.compilerOptions)) { - addToAffectedFilesPendingEmit(state, path, 0 /* DtsOnly */); + addToAffectedFilesPendingEmit(state, path2, 0 /* DtsOnly */); } } } } -function removeSemanticDiagnosticsOf(state, path) { +function removeSemanticDiagnosticsOf(state, path2) { if (!state.semanticDiagnosticsFromOldState) { return true; } - state.semanticDiagnosticsFromOldState.delete(path); - state.semanticDiagnosticsPerFile.delete(path); + state.semanticDiagnosticsFromOldState.delete(path2); + state.semanticDiagnosticsPerFile.delete(path2); return !state.semanticDiagnosticsFromOldState.size; } -function isChangedSignature(state, path) { - const oldSignature = Debug.checkDefined(state.oldSignatures).get(path) || void 0; - const newSignature = Debug.checkDefined(state.fileInfos.get(path)).signature; +function isChangedSignature(state, path2) { + const oldSignature = Debug.checkDefined(state.oldSignatures).get(path2) || void 0; + const newSignature = Debug.checkDefined(state.fileInfos.get(path2)).signature; return newSignature !== oldSignature; } function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host) { @@ -108737,25 +108769,25 @@ function getSemanticDiagnosticsOfFile(state, sourceFile, cancellationToken) { ); } function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationToken) { - const path = sourceFile.resolvedPath; + const path2 = sourceFile.resolvedPath; if (state.semanticDiagnosticsPerFile) { - const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path); + const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path2); if (cachedDiagnostics) { return filterSemanticDiagnostics(cachedDiagnostics, state.compilerOptions); } } const diagnostics = Debug.checkDefined(state.program).getBindAndCheckDiagnostics(sourceFile, cancellationToken, state.isForLinter); if (state.semanticDiagnosticsPerFile) { - state.semanticDiagnosticsPerFile.set(path, diagnostics); + state.semanticDiagnosticsPerFile.set(path2, diagnostics); } if (state.constEnumRelatePerFile) { let checker = Debug.checkDefined(state.program).getTypeChecker(); - let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path) : void 0; + let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path2) : void 0; if (newCache) { - let oldCache = state.constEnumRelatePerFile.get(path); + let oldCache = state.constEnumRelatePerFile.get(path2); if (!oldCache) { if (newCache.size > 0) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } else { let isEqual = true; @@ -108775,10 +108807,10 @@ function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationTok }); } if (!isEqual) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } - checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path); + checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path2); } } return filterSemanticDiagnostics(diagnostics, state.compilerOptions); @@ -108880,16 +108912,16 @@ function getProgramBuildInfo(state, getCanonicalFileName) { let affectedFilesPendingEmit; if (state.affectedFilesPendingEmit) { const seenFiles = new Set2(); - for (const path of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { - if (tryAddToSet(seenFiles, path)) { - (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path), state.affectedFilesPendingEmitKind.get(path)]); + for (const path2 of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { + if (tryAddToSet(seenFiles, path2)) { + (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path2), state.affectedFilesPendingEmitKind.get(path2)]); } } } let changeFileSet; if (state.changedFilesSet.size) { - for (const path of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { - (changeFileSet || (changeFileSet = [])).push(toFileId(path)); + for (const path2 of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { + (changeFileSet || (changeFileSet = [])).push(toFileId(path2)); } } let constEnumRelateCache = {}; @@ -108929,17 +108961,17 @@ function getProgramBuildInfo(state, getCanonicalFileName) { result.constEnumRelateCache = constEnumRelateCache; } return result; - function relativeToBuildInfoEnsuringAbsolutePath(path) { - return relativeToBuildInfo(getNormalizedAbsolutePath(path, currentDirectory)); + function relativeToBuildInfoEnsuringAbsolutePath(path2) { + return relativeToBuildInfo(getNormalizedAbsolutePath(path2, currentDirectory)); } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, getCanonicalFileName)); } - function toFileId(path) { - let fileId = fileNameToFileId.get(path); + function toFileId(path2) { + let fileId = fileNameToFileId.get(path2); if (fileId === void 0) { - fileNames.push(relativeToBuildInfo(path)); - fileNameToFileId.set(path, fileId = fileNames.length); + fileNames.push(relativeToBuildInfo(path2)); + fileNameToFileId.set(path2, fileId = fileNames.length); } return fileId; } @@ -109247,7 +109279,7 @@ function createBuilderProgram(kind, { newProgram, host, oldProgram, configFilePa }; } else if ((_a2 = state.affectedFilesPendingEmitKind) == null ? void 0 : _a2.size) { Debug.assert(kind === 0 /* SemanticDiagnosticsBuilderProgram */); - if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path) === 0 /* DtsOnly */)) { + if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path2, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path2) === 0 /* DtsOnly */)) { clearAffectedFilesPendingEmit(state); } } @@ -109352,11 +109384,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) const fileInfos = new Map2(); const emitSignatures = ((_c = program.options) == null ? void 0 : _c.composite) && !outFile(program.options) ? new Map2() : void 0; program.fileInfos.forEach((fileInfo, index) => { - const path = toFilePath(index + 1); + const path2 = toFilePath(index + 1); const stateFileInfo = toBuilderStateFileInfo(fileInfo); - fileInfos.set(path, stateFileInfo); + fileInfos.set(path2, stateFileInfo); if (emitSignatures && stateFileInfo.signature) - emitSignatures.set(path, stateFileInfo.signature); + emitSignatures.set(path2, stateFileInfo.signature); }); (_d = program.emitSignatures) == null ? void 0 : _d.forEach((value) => { if (isNumber(value)) @@ -109428,11 +109460,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) close: noop, hasChangedEmitSignature: returnFalse }; - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } - function toAbsolutePath(path) { - return getNormalizedAbsolutePath(path, buildInfoDirectory); + function toAbsolutePath(path2) { + return getNormalizedAbsolutePath(path2, buildInfoDirectory); } function toFilePath(fileId) { return filePaths[fileId - 1]; @@ -109456,9 +109488,9 @@ function getBuildInfoFileVersionMap(program, buildInfoPath, host) { const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames()); const fileInfos = new Map2(); program.fileInfos.forEach((fileInfo, index) => { - const path = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); + const path2 = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); const version2 = isString(fileInfo) ? fileInfo : fileInfo.version; - fileInfos.set(path, version2); + fileInfos.set(path2, version2); }); return fileInfos; } @@ -109536,11 +109568,11 @@ function createAbstractBuilder(newProgramOrRootNames, hostOrOptions, oldProgramO } // src/compiler/resolutionCache.ts -function removeIgnoredPath(path) { - if (endsWith(path, "/node_modules/.staging") || endsWith(path, "/oh_modules/.staging")) { - return removeSuffix(path, "/.staging"); +function removeIgnoredPath(path2) { + if (endsWith(path2, "/node_modules/.staging") || endsWith(path2, "/oh_modules/.staging")) { + return removeSuffix(path2, "/.staging"); } - return some(ignoredPaths, (searchPath) => stringContains(path, searchPath)) ? void 0 : path; + return some(ignoredPaths, (searchPath) => stringContains(path2, searchPath)) ? void 0 : path2; } function canWatchDirectoryOrFile(dirPath) { const rootLength = getRootLength(dirPath); @@ -109677,18 +109709,18 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW filesWithChangedSetOfUnresolvedImports = void 0; return collected; } - function isFileWithInvalidatedNonRelativeUnresolvedImports(path) { + function isFileWithInvalidatedNonRelativeUnresolvedImports(path2) { if (!filesWithInvalidatedNonRelativeUnresolvedImports) { return false; } - const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); + const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path2); return !!value && !!value.length; } function createHasInvalidatedResolutions(customHasInvalidatedResolutions) { invalidateResolutionsOfFailedLookupLocations(); const collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = void 0; - return (path) => customHasInvalidatedResolutions(path) || !!(collected == null ? void 0 : collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); + return (path2) => customHasInvalidatedResolutions(path2) || !!(collected == null ? void 0 : collected.has(path2)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path2); } function startCachingPerDirectoryResolution() { moduleResolutionCache.clearAllExceptPackageJsonInfoCache(); @@ -109718,22 +109750,22 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW else impliedFormatPackageJsons.delete(newFile.path); }); - impliedFormatPackageJsons.forEach((existing, path) => { - if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path))) { + impliedFormatPackageJsons.forEach((existing, path2) => { + if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path2))) { existing.forEach((location) => fileWatchesOfAffectingLocations.get(location).files--); - impliedFormatPackageJsons.delete(path); + impliedFormatPackageJsons.delete(path2); } }); } - directoryWatchesOfFailedLookups.forEach((watcher, path) => { + directoryWatchesOfFailedLookups.forEach((watcher, path2) => { if (watcher.refCount === 0) { - directoryWatchesOfFailedLookups.delete(path); + directoryWatchesOfFailedLookups.delete(path2); watcher.watcher.close(); } }); - fileWatchesOfAffectingLocations.forEach((watcher, path) => { + fileWatchesOfAffectingLocations.forEach((watcher, path2) => { if (watcher.files === 0 && watcher.resolutions === 0) { - fileWatchesOfAffectingLocations.delete(path); + fileWatchesOfAffectingLocations.delete(path2); watcher.watcher.close(); } }); @@ -109781,9 +109813,9 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW containingSourceFileMode }) { var _a2, _b, _c; - const path = resolutionHost.toPath(containingFile); - const resolutionsInFile = cache.get(path) || cache.set(path, createModeAwareCache()).get(path); - const dirPath = getDirectoryPath(path); + const path2 = resolutionHost.toPath(containingFile); + const resolutionsInFile = cache.get(path2) || cache.set(path2, createModeAwareCache()).get(path2); + const dirPath = getDirectoryPath(path2); const perDirectoryCache = perDirectoryCacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference); let perDirectoryResolution = perDirectoryCache.get(dirPath); if (!perDirectoryResolution) { @@ -109792,7 +109824,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } const resolvedModules = []; const compilerOptions = resolutionHost.getCompilationSettings(); - const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path); + const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path2); const program = resolutionHost.getCurrentProgram(); const oldRedirect = program && program.getResolvedProjectReferenceToRedirect(containingFile); const unmatchedRedirects = oldRedirect ? !redirectedReference || redirectedReference.sourceFile.path !== oldRedirect.sourceFile.path : !!redirectedReference; @@ -109829,12 +109861,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } } resolutionsInFile.set(name, mode, resolution); - watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path, getResolutionWithResolvedFileName); + watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path2, getResolutionWithResolvedFileName); if (existingResolution) { - stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(existingResolution, path2, getResolutionWithResolvedFileName); } if (logChanges && filesWithChangedSetOfUnresolvedImports && !resolutionIsEqualTo(existingResolution, resolution)) { - filesWithChangedSetOfUnresolvedImports.push(path); + filesWithChangedSetOfUnresolvedImports.push(path2); logChanges = false; } } else { @@ -109857,7 +109889,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } resolutionsInFile.forEach((resolution, name, mode) => { if (!seenNamesInFile.has(name, mode) && !contains(reusedNames, name)) { - stopWatchFailedLookupLocationOfResolution(resolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(resolution, path2, getResolutionWithResolvedFileName); resolutionsInFile.delete(name, mode); } }); @@ -109967,8 +109999,8 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } return canWatchDirectoryOrFile(dirPath) ? { dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath, nonRecursive } : void 0; } - function isPathWithDefaultFailedLookupExtension(path) { - return fileExtensionIsOneOf(path, failedLookupDefaultExtensions); + function isPathWithDefaultFailedLookupExtension(path2) { + return fileExtensionIsOneOf(path2, failedLookupDefaultExtensions); } function watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, filePath, getResolutionWithResolvedFileName) { if (resolution.refCount) { @@ -110060,12 +110092,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW let actualWatcher = canWatchDirectoryOrFile(resolutionHost.toPath(locationToWatch)) ? resolutionHost.watchAffectingFileLocation(locationToWatch, (fileName, eventKind) => { cachedDirectoryStructureHost == null ? void 0 : cachedDirectoryStructureHost.addOrDeleteFile(fileName, resolutionHost.toPath(locationToWatch), eventKind); const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); - paths.forEach((path) => { + paths.forEach((path2) => { if (watcher.resolutions) - (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path); + (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path2); if (watcher.files) - (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path); - packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path)); + (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path2); + packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path2)); }); resolutionHost.scheduleInvalidateResolutionsOfFailedLookupLocations(); }) : noopFileWatcher; @@ -110258,7 +110290,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW invalidated = invalidateResolutions(resolutionsWithFailedLookups, canInvalidateFailedLookupResolution) || invalidated; const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); if (packageJsonMap && (failedLookupChecks || startsWithPathChecks || isInDirectoryChecks)) { - packageJsonMap.forEach((_value, path) => isInvalidatedFailedLookup(path) ? packageJsonMap.delete(path) : void 0); + packageJsonMap.forEach((_value, path2) => isInvalidatedFailedLookup(path2) ? packageJsonMap.delete(path2) : void 0); } failedLookupChecks = void 0; startsWithPathChecks = void 0; @@ -110574,7 +110606,7 @@ function fileIncludeReasonToDiagnostics(program, reason, fileNameConvertor) { var _a2, _b; const options = program.getCompilerOptions(); if (isReferencedFile(reason)) { - const referenceLocation = getReferencedFileLocation((path) => program.getSourceFileByPath(path), reason); + const referenceLocation = getReferencedFileLocation((path2) => program.getSourceFileByPath(path2), reason); const referenceText = isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : `"${referenceLocation.text}"`; let message; Debug.assert(isReferenceFileLocation(referenceLocation) || reason.kind === 3 /* Import */, "Only synthetic references are imports"); @@ -110803,9 +110835,9 @@ function createCompilerHostFromProgramHost(host, getCompilerOptions, directorySt fileName, text, writeByteOrderMark, - (path, data, writeByteOrderMark2) => host.writeFile(path, data, writeByteOrderMark2), - (path) => host.createDirectory(path), - (path) => host.directoryExists(path) + (path2, data, writeByteOrderMark2) => host.writeFile(path2, data, writeByteOrderMark2), + (path2) => host.createDirectory(path2), + (path2) => host.directoryExists(path2) ); performance.mark("afterIOWrite"); performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -110835,16 +110867,16 @@ function createProgramHost(system, createProgram2) { getCurrentDirectory: memoize(() => system.getCurrentDirectory()), getDefaultLibLocation, getDefaultLibFileName: (options) => combinePaths(getDefaultLibLocation(), getDefaultLibFileName(options)), - fileExists: (path) => system.fileExists(path), - readFile: (path, encoding) => system.readFile(path, encoding), - directoryExists: (path) => system.directoryExists(path), - getDirectories: (path) => system.getDirectories(path), - readDirectory: (path, extensions, exclude, include, depth) => system.readDirectory(path, extensions, exclude, include, depth), + fileExists: (path2) => system.fileExists(path2), + readFile: (path2, encoding) => system.readFile(path2, encoding), + directoryExists: (path2) => system.directoryExists(path2), + getDirectories: (path2) => system.getDirectories(path2), + readDirectory: (path2, extensions, exclude, include, depth) => system.readDirectory(path2, extensions, exclude, include, depth), realpath: maybeBind(system, system.realpath), getEnvironmentVariable: maybeBind(system, system.getEnvironmentVariable), trace: (s) => system.write(s + system.newLine), - createDirectory: (path) => system.createDirectory(path), - writeFile: (path, data, writeByteOrderMark) => system.writeFile(path, data, writeByteOrderMark), + createDirectory: (path2) => system.createDirectory(path2), + writeFile: (path2, data, writeByteOrderMark) => system.writeFile(path2, data, writeByteOrderMark), createHash: maybeBind(system, system.createHash), createProgram: createProgram2 || createEmitAndSemanticDiagnosticsBuilderProgram, disableUseFileVersionAsSignature: system.disableUseFileVersionAsSignature, @@ -111161,7 +111193,7 @@ function createWatchProgram(host) { originalWriteFile, readFileWithCache } = changeCompilerHostLikeToUseCache(compilerHost, toPath3); - if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path) => getSourceVersion(path, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path2) => getSourceVersion(path2, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { if (reportFileChangeDetectedOnCreateProgram) { reportWatchDiagnostic(Diagnostics.File_change_detected_Starting_incremental_compilation); @@ -111232,14 +111264,14 @@ function createWatchProgram(host) { return typeof hostSourceFile.version === "boolean"; } function fileExists(fileName) { - const path = toPath3(fileName); - if (isFileMissingOnHost(sourceFilesCache.get(path))) { + const path2 = toPath3(fileName); + if (isFileMissingOnHost(sourceFilesCache.get(path2))) { return false; } return directoryStructureHost.fileExists(fileName); } - function getVersionedSourceFileByPath(fileName, path, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { - const hostSourceFile = sourceFilesCache.get(path); + function getVersionedSourceFileByPath(fileName, path2, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { + const hostSourceFile = sourceFilesCache.get(path2); if (isFileMissingOnHost(hostSourceFile)) { return void 0; } @@ -111250,43 +111282,43 @@ function createWatchProgram(host) { hostSourceFile.sourceFile = sourceFile; hostSourceFile.version = sourceFile.version; if (!hostSourceFile.fileWatcher) { - hostSourceFile.fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + hostSourceFile.fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); } } else { if (hostSourceFile.fileWatcher) { hostSourceFile.fileWatcher.close(); } - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } else { if (sourceFile) { - const fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); - sourceFilesCache.set(path, { sourceFile, version: sourceFile.version, fileWatcher }); + const fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + sourceFilesCache.set(path2, { sourceFile, version: sourceFile.version, fileWatcher }); } else { - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } return sourceFile; } return hostSourceFile.sourceFile; } - function nextSourceFileVersion(path) { - const hostSourceFile = sourceFilesCache.get(path); + function nextSourceFileVersion(path2) { + const hostSourceFile = sourceFilesCache.get(path2); if (hostSourceFile !== void 0) { if (isFileMissingOnHost(hostSourceFile)) { - sourceFilesCache.set(path, { version: false }); + sourceFilesCache.set(path2, { version: false }); } else { hostSourceFile.version = false; } } } - function getSourceVersion(path, readFileWithCache) { - const hostSourceFile = sourceFilesCache.get(path); + function getSourceVersion(path2, readFileWithCache) { + const hostSourceFile = sourceFilesCache.get(path2); if (!hostSourceFile) return void 0; if (hostSourceFile.version) return hostSourceFile.version; - const text = readFileWithCache(path); + const text = readFileWithCache(path2); return text !== void 0 ? (compilerHost.createHash || generateDjb2Hash)(text) : void 0; } function onReleaseOldSourceFile(oldSourceFile, _oldOptions, hasSourceFileByPath) { @@ -111458,30 +111490,30 @@ function createWatchProgram(host) { } function onReleaseParsedCommandLine(fileName) { var _a2; - const path = toPath3(fileName); - const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path); + const path2 = toPath3(fileName); + const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path2); if (!config) return; - parsedConfigs.delete(path); + parsedConfigs.delete(path2); if (config.watchedDirectories) clearMap(config.watchedDirectories, closeFileWatcherOf); (_a2 = config.watcher) == null ? void 0 : _a2.close(); - clearSharedExtendedConfigFileWatcher(path, sharedExtendedConfigFileWatchers); + clearSharedExtendedConfigFileWatcher(path2, sharedExtendedConfigFileWatchers); } - function watchFilePath(path, file, callback, pollingInterval, options, watchType) { - return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path), pollingInterval, options, watchType); + function watchFilePath(path2, file, callback, pollingInterval, options, watchType) { + return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path2), pollingInterval, options, watchType); } - function onSourceFileChange(fileName, eventKind, path) { - updateCachedSystemWithFile(fileName, path, eventKind); - if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path)) { - resolutionCache.invalidateResolutionOfFile(path); + function onSourceFileChange(fileName, eventKind, path2) { + updateCachedSystemWithFile(fileName, path2, eventKind); + if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path2)) { + resolutionCache.invalidateResolutionOfFile(path2); } - nextSourceFileVersion(path); + nextSourceFileVersion(path2); scheduleProgramUpdate(); } - function updateCachedSystemWithFile(fileName, path, eventKind) { + function updateCachedSystemWithFile(fileName, path2, eventKind) { if (cachedDirectoryStructureHost) { - cachedDirectoryStructureHost.addOrDeleteFile(fileName, path, eventKind); + cachedDirectoryStructureHost.addOrDeleteFile(fileName, path2, eventKind); } } function watchMissingFilePath(missingFilePath) { @@ -111717,9 +111749,9 @@ function createBuilderStatusReporter(system, pretty) { } function createSolutionBuilderHostBase(system, createProgram2, reportDiagnostic, reportSolutionBuilderStatus) { const host = createProgramHost(system, createProgram2); - host.getModifiedTime = system.getModifiedTime ? (path) => system.getModifiedTime(path) : returnUndefined; - host.setModifiedTime = system.setModifiedTime ? (path, date) => system.setModifiedTime(path, date) : noop; - host.deleteFile = system.deleteFile ? (path) => system.deleteFile(path) : noop; + host.getModifiedTime = system.getModifiedTime ? (path2) => system.getModifiedTime(path2) : returnUndefined; + host.setModifiedTime = system.setModifiedTime ? (path2, date) => system.setModifiedTime(path2, date) : noop; + host.deleteFile = system.deleteFile ? (path2) => system.deleteFile(path2) : noop; host.reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); host.reportSolutionBuilderStatus = reportSolutionBuilderStatus || createBuilderStatusReporter(system); host.now = maybeBind(system, system.now); @@ -111827,9 +111859,9 @@ function toPath2(state, fileName) { } function toResolvedConfigFilePath(state, fileName) { const { resolvedConfigFilePaths } = state; - const path = resolvedConfigFilePaths.get(fileName); - if (path !== void 0) - return path; + const path2 = resolvedConfigFilePaths.get(fileName); + if (path2 !== void 0) + return path2; const resolvedPath = toPath2(state, fileName); resolvedConfigFilePaths.set(fileName, resolvedPath); return resolvedPath; @@ -112223,7 +112255,7 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, if (state.watch) { state.lastCachedPackageJsonLookups.set(projectPath, state.moduleResolutionCache && map( state.moduleResolutionCache.getPackageJsonInfoCache().entries(), - ([path, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path)) : path, data] + ([path2, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path2)) : path2, data] )); state.builderPrograms.set(projectPath, program); } @@ -112307,13 +112339,13 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, let outputTimeStampMap; let now; outputFiles.forEach(({ name, text, writeByteOrderMark, buildInfo }) => { - const path = toPath2(state, name); + const path2 = toPath2(state, name); emittedOutputs.set(toPath2(state, name), name); if (buildInfo) setBuildInfo(state, buildInfo, projectPath, options, resultFlags); writeFile(writeFileCallback ? { writeFile: writeFileCallback } : compilerHost, emitterDiagnostics, name, text, writeByteOrderMark); if (!isIncremental && state.watch) { - (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path, now || (now = getCurrentTime(state.host))); + (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path2, now || (now = getCurrentTime(state.host))); } }); finishEmit( @@ -112628,8 +112660,8 @@ function isFileWatcherWithModifiedTime(value) { return !!value.watcher; } function getModifiedTime2(state, fileName) { - const path = toPath2(state, fileName); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, fileName); + const existing = state.filesWatched.get(path2); if (state.watch && !!existing) { if (!isFileWatcherWithModifiedTime(existing)) return existing; @@ -112641,20 +112673,20 @@ function getModifiedTime2(state, fileName) { if (existing) existing.modifiedTime = result; else - state.filesWatched.set(path, result); + state.filesWatched.set(path2, result); } return result; } function watchFile(state, file, callback, pollingInterval, options, watchType, project) { - const path = toPath2(state, file); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, file); + const existing = state.filesWatched.get(path2); if (existing && isFileWatcherWithModifiedTime(existing)) { existing.callbacks.push(callback); } else { const watcher = state.watchFile( file, (fileName, eventKind, modifiedTime) => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); existing2.modifiedTime = modifiedTime; existing2.callbacks.forEach((cb) => cb(fileName, eventKind, modifiedTime)); @@ -112664,14 +112696,14 @@ function watchFile(state, file, callback, pollingInterval, options, watchType, p watchType, project ); - state.filesWatched.set(path, { callbacks: [callback], watcher, modifiedTime: existing }); + state.filesWatched.set(path2, { callbacks: [callback], watcher, modifiedTime: existing }); } return { close: () => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); if (existing2.callbacks.length === 1) { - state.filesWatched.delete(path); + state.filesWatched.delete(path2); closeFileWatcherOf(existing2); } else { unorderedRemoveItem(existing2.callbacks, callback); @@ -112706,19 +112738,19 @@ function setBuildInfo(state, buildInfo, resolvedConfigPath, options, resultFlags } } function getBuildInfoCacheEntry(state, buildInfoPath, resolvedConfigPath) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - return (existing == null ? void 0 : existing.path) === path ? existing : void 0; + return (existing == null ? void 0 : existing.path) === path2 ? existing : void 0; } function getBuildInfo2(state, buildInfoPath, resolvedConfigPath, modifiedTime) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - if (existing !== void 0 && existing.path === path) { + if (existing !== void 0 && existing.path === path2) { return existing.buildInfo || void 0; } const value = state.readFileWithCache(buildInfoPath); const buildInfo = value ? getBuildInfo(buildInfoPath, value) : void 0; - state.buildInfoCache.set(resolvedConfigPath, { path, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); + state.buildInfoCache.set(resolvedConfigPath, { path: path2, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); return buildInfo; } function checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName) { @@ -112857,11 +112889,11 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { const outputs = getAllProjectOutputs(project, !host.useCaseSensitiveFileNames()); const outputTimeStampMap = getOutputTimeStampMap(state, resolvedPath); for (const output of outputs) { - const path = toPath2(state, output); - let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path); + const path2 = toPath2(state, output); + let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path2); if (!outputTime) { outputTime = getModifiedTime(state.host, output); - outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path, outputTime); + outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path2, outputTime); } if (outputTime === missingFileModifiedTime) { return { @@ -112921,7 +112953,7 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { return extendedConfigStatus; const dependentPackageFileStatus = forEach( state.lastCachedPackageJsonLookups.get(resolvedPath) || emptyArray, - ([path]) => checkConfigFileUpToDateStatus(state, path, oldestOutputFileTime, oldestOutputFileName) + ([path2]) => checkConfigFileUpToDateStatus(state, path2, oldestOutputFileTime, oldestOutputFileName) ); if (dependentPackageFileStatus) return dependentPackageFileStatus; @@ -112980,8 +113012,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, if (!skipOutputs || outputs.length !== skipOutputs.size) { let reportVerbose = !!state.options.verbose; for (const file of outputs) { - const path = toPath2(state, file); - if (skipOutputs == null ? void 0 : skipOutputs.has(path)) + const path2 = toPath2(state, file); + if (skipOutputs == null ? void 0 : skipOutputs.has(path2)) continue; if (reportVerbose) { reportVerbose = false; @@ -112989,8 +113021,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, } host.setModifiedTime(file, now || (now = getCurrentTime(state.host))); if (outputTimeStampMap) { - outputTimeStampMap.set(path, now); - modifiedOutputs.add(path); + outputTimeStampMap.set(path2, now); + modifiedOutputs.add(path2); } } } @@ -113309,9 +113341,9 @@ function watchPackageJsonFiles(state, resolved, resolvedPath, parsed) { getOrCreateValueMapFromConfigFileMap(state.allWatchedPackageJsonFiles, resolvedPath), new Map2(state.lastCachedPackageJsonLookups.get(resolvedPath)), { - createNewValue: (path, _input) => watchFile( + createNewValue: (path2, _input) => watchFile( state, - path, + path2, () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* None */), 2e3 /* High */, parsed == null ? void 0 : parsed.watchOptions, @@ -113369,8 +113401,8 @@ function createSolutionBuilderWorker(watch, hostOrHostWithWatch, rootNames, opti close: () => stopWatching(state) }; } -function relName(state, path) { - return convertToRelativePath(path, state.currentDirectory, (f) => state.getCanonicalFileName(f)); +function relName(state, path2) { + return convertToRelativePath(path2, state.currentDirectory, (f) => state.getCanonicalFileName(f)); } function reportStatus(state, message, ...args) { state.host.reportSolutionBuilderStatus(createCompilerDiagnostic(message, ...args)); @@ -113579,12 +113611,12 @@ function getCountKey(program, file) { } else if (file.isDeclarationFile) { return "Definitions"; } - const path = file.path; - if (fileExtensionIsOneOf(path, supportedTSExtensionsFlat)) { + const path2 = file.path; + if (fileExtensionIsOneOf(path2, supportedTSExtensionsFlat)) { return "TypeScript"; - } else if (fileExtensionIsOneOf(path, supportedJSExtensionsFlat)) { + } else if (fileExtensionIsOneOf(path2, supportedJSExtensionsFlat)) { return "JavaScript"; - } else if (fileExtensionIs(path, ".json" /* Json */)) { + } else if (fileExtensionIs(path2, ".json" /* Json */)) { return "JSON"; } else { return "Other"; @@ -114084,7 +114116,7 @@ function executeCommandLine(system, cb, commandLineArgs) { ); } } - const commandLine = parseCommandLine(commandLineArgs, (path) => system.readFile(path)); + const commandLine = parseCommandLine(commandLineArgs, (path2) => system.readFile(path2)); if (commandLine.options.generateCpuProfile && system.enableCPUProfiler) { system.enableCPUProfiler(commandLine.options.generateCpuProfile, () => executeCommandLineWorker( system, diff --git a/lib/tsserver.js b/lib/tsserver.js index e8da9ae264..8239d434bc 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -15,9 +15,11 @@ and limitations under the License. var ts = {}; ((module) => { "use strict"; +var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) @@ -31,6 +33,10 @@ var __copyProps = (to, from, except, desc) => { } return to; }; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); var __toCommonJS = (mod) => (__copyProps, mod); // Modified helper to skip setting __esModule. // src/tsserver/server.ts @@ -1041,7 +1047,6 @@ __export(server_exports, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, - getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -2260,6 +2265,7 @@ __export(server_exports, { setEachParent: () => setEachParent, setEmitFlags: () => setEmitFlags, setGetSourceFileAsHashVersioned: () => setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath: () => setLanguageVersionByFilePath, setLocalizedDiagnosticMessages: () => setLocalizedDiagnosticMessages, setModuleDefaultHelper: () => setModuleDefaultHelper, setNodeFlags: () => setNodeFlags, @@ -8364,27 +8370,27 @@ function createFixedChunkSizePollingWatchFile(host) { } function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) { const toCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); - const path = toCanonicalFileName(name); - const existing = cache.get(path); + const path2 = toCanonicalFileName(name); + const existing = cache.get(path2); if (existing) { existing.callbacks.push(callback); } else { - cache.set(path, { + cache.set(path2, { watcher: createWatcher((param1, param2, param3) => { var _a2; - return (_a2 = cache.get(path)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); + return (_a2 = cache.get(path2)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); }), callbacks: [callback] }); } return { close: () => { - const watcher = cache.get(path); + const watcher = cache.get(path2); if (!watcher) return; if (!orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) return; - cache.delete(path); + cache.delete(path2); closeFileWatcherOf(watcher); } }; @@ -8585,15 +8591,15 @@ function createDirectoryWatcherSupportingRecursive({ (newChildWatches || (newChildWatches = [])).push(childWatcher); } } - function isIgnoredPath(path, options) { - return some(ignoredPaths, (searchPath) => isInPath(path, searchPath)) || isIgnoredByWatchOptions(path, options, useCaseSensitiveFileNames, getCurrentDirectory); + function isIgnoredPath(path2, options) { + return some(ignoredPaths, (searchPath) => isInPath(path2, searchPath)) || isIgnoredByWatchOptions(path2, options, useCaseSensitiveFileNames, getCurrentDirectory); } - function isInPath(path, searchPath) { - if (stringContains(path, searchPath)) + function isInPath(path2, searchPath) { + if (stringContains(path2, searchPath)) return true; if (useCaseSensitiveFileNames) return false; - return stringContains(toCanonicalFilePath(path), searchPath); + return stringContains(toCanonicalFilePath(path2), searchPath); } } var FileSystemEntryKind = /* @__PURE__ */ ((FileSystemEntryKind2) => { @@ -8911,13 +8917,13 @@ function createSystemWatchFunctions({ } function patchWriteFileEnsuringDirectory(sys2) { const originalWriteFile = sys2.writeFile; - sys2.writeFile = (path, data, writeBom) => writeFileEnsuringDirectories( - path, + sys2.writeFile = (path2, data, writeBom) => writeFileEnsuringDirectories( + path2, data, !!writeBom, - (path2, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path2, data2, writeByteOrderMark), - (path2) => sys2.createDirectory(path2), - (path2) => sys2.directoryExists(path2) + (path3, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path3, data2, writeByteOrderMark), + (path3) => sys2.createDirectory(path3), + (path3) => sys2.directoryExists(path3) ); } function getNodeMajorVersion() { @@ -8969,7 +8975,7 @@ var sys = (() => { getCurrentDirectory, fileSystemEntryExists, fsSupportsRecursiveFsWatch, - getAccessibleSortedChildDirectories: (path) => getAccessibleFileSystemEntries(path).directories, + getAccessibleSortedChildDirectories: (path2) => getAccessibleFileSystemEntries(path2).directories, realpath, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, @@ -8994,7 +9000,7 @@ var sys = (() => { writeFile: writeFile2, watchFile: watchFile2, watchDirectory, - resolvePath: (path) => _path.resolve(path), + resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, createDirectory(directoryName) { @@ -9028,9 +9034,9 @@ var sys = (() => { } return process.memoryUsage().heapUsed; }, - getFileSize(path) { + getFileSize(path2) { try { - const stat = statSync(path); + const stat = statSync(path2); if (stat == null ? void 0 : stat.isFile()) { return stat.size; } @@ -9075,10 +9081,10 @@ var sys = (() => { } }; return nodeSystem; - function statSync(path) { - return _fs.statSync(path, { throwIfNoEntry: false }); + function statSync(path2) { + return _fs.statSync(path2, { throwIfNoEntry: false }); } - function enableCPUProfiler(path, cb) { + function enableCPUProfiler(path2, cb) { if (activeSession) { cb(); return false; @@ -9093,7 +9099,7 @@ var sys = (() => { session.post("Profiler.enable", () => { session.post("Profiler.start", () => { activeSession = session; - profilePath = path; + profilePath = path2; cb(); }); }); @@ -9237,10 +9243,10 @@ var sys = (() => { } } } - function getAccessibleFileSystemEntries(path) { - perfLogger.logEvent("ReadDir: " + (path || ".")); + function getAccessibleFileSystemEntries(path2) { + perfLogger.logEvent("ReadDir: " + (path2 || ".")); try { - const entries = _fs.readdirSync(path || ".", { withFileTypes: true }); + const entries = _fs.readdirSync(path2 || ".", { withFileTypes: true }); const files = []; const directories = []; for (const dirent of entries) { @@ -9250,7 +9256,7 @@ var sys = (() => { } let stat; if (typeof dirent === "string" || dirent.isSymbolicLink()) { - const name = combinePaths(path, entry); + const name = combinePaths(path2, entry); try { stat = statSync(name); if (!stat) { @@ -9275,14 +9281,14 @@ var sys = (() => { return emptyFileSystemEntries; } } - function readDirectory(path, extensions, excludes, includes, depth) { - return matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); + function readDirectory(path2, extensions, excludes, includes, depth) { + return matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); } - function fileSystemEntryExists(path, entryKind) { + function fileSystemEntryExists(path2, entryKind) { const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - const stat = statSync(path); + const stat = statSync(path2); if (!stat) { return false; } @@ -9300,47 +9306,47 @@ var sys = (() => { Error.stackTraceLimit = originalStackTraceLimit; } } - function fileExists(path) { - return fileSystemEntryExists(path, 0 /* File */); + function fileExists(path2) { + return fileSystemEntryExists(path2, 0 /* File */); } - function directoryExists(path) { - return fileSystemEntryExists(path, 1 /* Directory */); + function directoryExists(path2) { + return fileSystemEntryExists(path2, 1 /* Directory */); } - function getDirectories(path) { - return getAccessibleFileSystemEntries(path).directories.slice(); + function getDirectories(path2) { + return getAccessibleFileSystemEntries(path2).directories.slice(); } - function fsRealPathHandlingLongPath(path) { - return path.length < 260 ? _fs.realpathSync.native(path) : _fs.realpathSync(path); + function fsRealPathHandlingLongPath(path2) { + return path2.length < 260 ? _fs.realpathSync.native(path2) : _fs.realpathSync(path2); } - function realpath(path) { + function realpath(path2) { try { - return fsRealpath(path); + return fsRealpath(path2); } catch (e) { - return path; + return path2; } } - function getModifiedTime3(path) { + function getModifiedTime3(path2) { var _a2; const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - return (_a2 = statSync(path)) == null ? void 0 : _a2.mtime; + return (_a2 = statSync(path2)) == null ? void 0 : _a2.mtime; } catch (e) { return void 0; } finally { Error.stackTraceLimit = originalStackTraceLimit; } } - function setModifiedTime(path, time) { + function setModifiedTime(path2, time) { try { - _fs.utimesSync(path, time, time); + _fs.utimesSync(path2, time, time); } catch (e) { return; } } - function deleteFile(path) { + function deleteFile(path2) { try { - return _fs.unlinkSync(path); + return _fs.unlinkSync(path2); } catch (e) { return; } @@ -9379,41 +9385,41 @@ var backslashRegExp = /\\/g; function isAnyDirectorySeparator(charCode) { return charCode === 47 /* slash */ || charCode === 92 /* backslash */; } -function isUrl(path) { - return getEncodedRootLength(path) < 0; +function isUrl(path2) { + return getEncodedRootLength(path2) < 0; } -function isRootedDiskPath(path) { - return getEncodedRootLength(path) > 0; +function isRootedDiskPath(path2) { + return getEncodedRootLength(path2) > 0; } -function isDiskPathRoot(path) { - const rootLength = getEncodedRootLength(path); - return rootLength > 0 && rootLength === path.length; +function isDiskPathRoot(path2) { + const rootLength = getEncodedRootLength(path2); + return rootLength > 0 && rootLength === path2.length; } -function pathIsAbsolute(path) { - return getEncodedRootLength(path) !== 0; +function pathIsAbsolute(path2) { + return getEncodedRootLength(path2) !== 0; } -function pathIsRelative(path) { - return /^\.\.?($|[\\/])/.test(path); +function pathIsRelative(path2) { + return /^\.\.?($|[\\/])/.test(path2); } -function pathIsBareSpecifier(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path); +function pathIsBareSpecifier(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2); } function hasExtension(fileName) { return stringContains(getBaseFileName(fileName), "."); } -function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); +function fileExtensionIs(path2, extension) { + return path2.length > extension.length && endsWith(path2, extension); } -function fileExtensionIsOneOf(path, extensions) { +function fileExtensionIsOneOf(path2, extensions) { for (const extension of extensions) { - if (fileExtensionIs(path, extension)) { + if (fileExtensionIs(path2, extension)) { return true; } } return false; } -function hasTrailingDirectorySeparator(path) { - return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1)); +function hasTrailingDirectorySeparator(path2) { + return path2.length > 0 && isAnyDirectorySeparator(path2.charCodeAt(path2.length - 1)); } function isVolumeCharacter(charCode) { return charCode >= 97 /* a */ && charCode <= 122 /* z */ || charCode >= 65 /* A */ && charCode <= 90 /* Z */; @@ -9429,113 +9435,113 @@ function getFileUrlVolumeSeparatorEnd(url, start2) { } return -1; } -function getEncodedRootLength(path) { - if (!path) +function getEncodedRootLength(path2) { + if (!path2) return 0; - const ch0 = path.charCodeAt(0); + const ch0 = path2.charCodeAt(0); if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { - if (path.charCodeAt(1) !== ch0) + if (path2.charCodeAt(1) !== ch0) return 1; - const p1 = path.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); + const p1 = path2.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); if (p1 < 0) - return path.length; + return path2.length; return p1 + 1; } - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { - const ch2 = path.charCodeAt(2); + if (isVolumeCharacter(ch0) && path2.charCodeAt(1) === 58 /* colon */) { + const ch2 = path2.charCodeAt(2); if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) return 3; - if (path.length === 2) + if (path2.length === 2) return 2; } - const schemeEnd = path.indexOf(urlSchemeSeparator); + const schemeEnd = path2.indexOf(urlSchemeSeparator); if (schemeEnd !== -1) { const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path.indexOf(directorySeparator, authorityStart); + const authorityEnd = path2.indexOf(directorySeparator, authorityStart); if (authorityEnd !== -1) { - const scheme = path.slice(0, schemeEnd); - const authority = path.slice(authorityStart, authorityEnd); - if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + const scheme = path2.slice(0, schemeEnd); + const authority = path2.slice(authorityStart, authorityEnd); + if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path2.charCodeAt(authorityEnd + 1))) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path2, authorityEnd + 2); if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + if (path2.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { return ~(volumeSeparatorEnd + 1); } - if (volumeSeparatorEnd === path.length) { + if (volumeSeparatorEnd === path2.length) { return ~volumeSeparatorEnd; } } } return ~(authorityEnd + 1); } - return ~path.length; + return ~path2.length; } return 0; } -function getRootLength(path) { - const rootLength = getEncodedRootLength(path); +function getRootLength(path2) { + const rootLength = getEncodedRootLength(path2); return rootLength < 0 ? ~rootLength : rootLength; } -function getDirectoryPath(path) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) - return path; - path = removeTrailingDirectorySeparator(path); - return path.slice(0, Math.max(rootLength, path.lastIndexOf(directorySeparator))); -} -function getBaseFileName(path, extensions, ignoreCase) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) +function getDirectoryPath(path2) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) + return path2; + path2 = removeTrailingDirectorySeparator(path2); + return path2.slice(0, Math.max(rootLength, path2.lastIndexOf(directorySeparator))); +} +function getBaseFileName(path2, extensions, ignoreCase) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) return ""; - path = removeTrailingDirectorySeparator(path); - const name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(directorySeparator) + 1)); + path2 = removeTrailingDirectorySeparator(path2); + const name = path2.slice(Math.max(getRootLength(path2), path2.lastIndexOf(directorySeparator) + 1)); const extension = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(name, extensions, ignoreCase) : void 0; return extension ? name.slice(0, name.length - extension.length) : name; } -function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { +function tryGetExtensionFromPath(path2, extension, stringEqualityComparer) { if (!startsWith(extension, ".")) extension = "." + extension; - if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { - const pathExtension = path.slice(path.length - extension.length); + if (path2.length >= extension.length && path2.charCodeAt(path2.length - extension.length) === 46 /* dot */) { + const pathExtension = path2.slice(path2.length - extension.length); if (stringEqualityComparer(pathExtension, extension)) { return pathExtension; } } } -function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) { +function getAnyExtensionFromPathWorker(path2, extensions, stringEqualityComparer) { if (typeof extensions === "string") { - return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || ""; + return tryGetExtensionFromPath(path2, extensions, stringEqualityComparer) || ""; } for (const extension of extensions) { - const result = tryGetExtensionFromPath(path, extension, stringEqualityComparer); + const result = tryGetExtensionFromPath(path2, extension, stringEqualityComparer); if (result) return result; } return ""; } -function getAnyExtensionFromPath(path, extensions, ignoreCase) { +function getAnyExtensionFromPath(path2, extensions, ignoreCase) { if (extensions) { - return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); + return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path2), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); } - const baseFileName = getBaseFileName(path); + const baseFileName = getBaseFileName(path2); const extensionIndex = baseFileName.lastIndexOf("."); if (extensionIndex >= 0) { return baseFileName.substring(extensionIndex); } return ""; } -function pathComponents(path, rootLength) { - const root = path.substring(0, rootLength); - const rest = path.substring(rootLength).split(directorySeparator); +function pathComponents(path2, rootLength) { + const root = path2.substring(0, rootLength); + const rest = path2.substring(rootLength).split(directorySeparator); if (rest.length && !lastOrUndefined(rest)) rest.pop(); return [root, ...rest]; } -function getPathComponents(path, currentDirectory = "") { - path = combinePaths(currentDirectory, path); - return pathComponents(path, getRootLength(path)); +function getPathComponents(path2, currentDirectory = "") { + path2 = combinePaths(currentDirectory, path2); + return pathComponents(path2, getRootLength(path2)); } function getPathFromPathComponents(pathComponents2) { if (pathComponents2.length === 0) @@ -9543,8 +9549,8 @@ function getPathFromPathComponents(pathComponents2) { const root = pathComponents2[0] && ensureTrailingDirectorySeparator(pathComponents2[0]); return root + pathComponents2.slice(1).join(directorySeparator); } -function normalizeSlashes(path) { - return path.indexOf("\\") !== -1 ? path.replace(backslashRegExp, directorySeparator) : path; +function normalizeSlashes(path2) { + return path2.indexOf("\\") !== -1 ? path2.replace(backslashRegExp, directorySeparator) : path2; } function reducePathComponents(components) { if (!some(components)) @@ -9569,44 +9575,44 @@ function reducePathComponents(components) { } return reduced; } -function combinePaths(path, ...paths) { - if (path) - path = normalizeSlashes(path); +function combinePaths(path2, ...paths) { + if (path2) + path2 = normalizeSlashes(path2); for (let relativePath of paths) { if (!relativePath) continue; relativePath = normalizeSlashes(relativePath); - if (!path || getRootLength(relativePath) !== 0) { - path = relativePath; + if (!path2 || getRootLength(relativePath) !== 0) { + path2 = relativePath; } else { - path = ensureTrailingDirectorySeparator(path) + relativePath; + path2 = ensureTrailingDirectorySeparator(path2) + relativePath; } } - return path; + return path2; } -function resolvePath(path, ...paths) { - return normalizePath(some(paths) ? combinePaths(path, ...paths) : normalizeSlashes(path)); +function resolvePath(path2, ...paths) { + return normalizePath(some(paths) ? combinePaths(path2, ...paths) : normalizeSlashes(path2)); } -function getNormalizedPathComponents(path, currentDirectory) { - return reducePathComponents(getPathComponents(path, currentDirectory)); +function getNormalizedPathComponents(path2, currentDirectory) { + return reducePathComponents(getPathComponents(path2, currentDirectory)); } function getNormalizedAbsolutePath(fileName, currentDirectory) { return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } -function normalizePath(path) { - path = normalizeSlashes(path); - if (!relativePathSegmentRegExp.test(path)) { - return path; +function normalizePath(path2) { + path2 = normalizeSlashes(path2); + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } - const simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, ""); - if (simplified !== path) { - path = simplified; - if (!relativePathSegmentRegExp.test(path)) { - return path; + const simplified = path2.replace(/\/\.\//g, "/").replace(/^\.\//, ""); + if (simplified !== path2) { + path2 = simplified; + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } } - const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path))); - return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized; + const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path2))); + return normalized && hasTrailingDirectorySeparator(path2) ? ensureTrailingDirectorySeparator(normalized) : normalized; } function getPathWithoutRoot(pathComponents2) { if (pathComponents2.length === 0) @@ -9620,24 +9626,24 @@ function toPath(fileName, basePath, getCanonicalFileName) { const nonCanonicalizedPath = isRootedDiskPath(fileName) ? normalizePath(fileName) : getNormalizedAbsolutePath(fileName, basePath); return getCanonicalFileName(nonCanonicalizedPath); } -function removeTrailingDirectorySeparator(path) { - if (hasTrailingDirectorySeparator(path)) { - return path.substr(0, path.length - 1); +function removeTrailingDirectorySeparator(path2) { + if (hasTrailingDirectorySeparator(path2)) { + return path2.substr(0, path2.length - 1); } - return path; + return path2; } -function ensureTrailingDirectorySeparator(path) { - if (!hasTrailingDirectorySeparator(path)) { - return path + directorySeparator; +function ensureTrailingDirectorySeparator(path2) { + if (!hasTrailingDirectorySeparator(path2)) { + return path2 + directorySeparator; } - return path; + return path2; } -function ensurePathIsNonModuleName(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path; +function ensurePathIsNonModuleName(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2) ? "./" + path2 : path2; } -function changeAnyExtension(path, ext, extensions, ignoreCase) { - const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path); - return pathext ? path.slice(0, path.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path; +function changeAnyExtension(path2, ext, extensions, ignoreCase) { + const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path2, extensions, ignoreCase) : getAnyExtensionFromPath(path2); + return pathext ? path2.slice(0, path2.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path2; } var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; function comparePathsWorker(a, b, componentComparer) { @@ -9729,11 +9735,11 @@ function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanoni return toComponents; } const components = toComponents.slice(start2); - const relative = []; + const relative2 = []; for (; start2 < fromComponents.length; start2++) { - relative.push(".."); + relative2.push(".."); } - return ["", ...relative, ...components]; + return ["", ...relative2, ...components]; } function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative"); @@ -18289,8 +18295,8 @@ function hostGetCanonicalFileName(host) { function getResolvedExternalModuleName(host, file, referenceFile) { return file.moduleName || getExternalModuleNameFromPath(host, file.fileName, referenceFile && referenceFile.fileName); } -function getCanonicalAbsolutePath(host, path) { - return host.getCanonicalFileName(getNormalizedAbsolutePath(path, host.getCurrentDirectory())); +function getCanonicalAbsolutePath(host, path2) { + return host.getCanonicalFileName(getNormalizedAbsolutePath(path2, host.getCurrentDirectory())); } function getExternalModuleNameFromDeclaration(host, resolver, declaration) { const file = resolver.getExternalModuleFileFromDeclaration(declaration); @@ -18326,15 +18332,15 @@ function getDeclarationEmitOutputFilePath(fileName, host) { } function getDeclarationEmitOutputFilePathWorker(fileName, options, currentDirectory, commonSourceDirectory, getCanonicalFileName) { const outputDir = options.declarationDir || options.outDir; - const path = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; - const declarationExtension = getDeclarationEmitExtensionForPath(path); - return removeFileExtension(path) + declarationExtension; + const path2 = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; + const declarationExtension = getDeclarationEmitExtensionForPath(path2); + return removeFileExtension(path2) + declarationExtension; } -function getDeclarationEmitExtensionForPath(path) { - return fileExtensionIsOneOf(path, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; +function getDeclarationEmitExtensionForPath(path2) { + return fileExtensionIsOneOf(path2, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path2, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path2, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path2, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; } -function getPossibleOriginalInputExtensionForExtension(path) { - return fileExtensionIsOneOf(path, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; +function getPossibleOriginalInputExtensionForExtension(path2) { + return fileExtensionIsOneOf(path2, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path2, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path2, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; } function outFile(options) { return options.outFile || options.out; @@ -18387,12 +18393,12 @@ function ensureDirectoriesExist(directoryPath, createDirectory, directoryExists) createDirectory(directoryPath); } } -function writeFileEnsuringDirectories(path, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { +function writeFileEnsuringDirectories(path2, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { try { - writeFile2(path, data, writeByteOrderMark); + writeFile2(path2, data, writeByteOrderMark); } catch (e) { - ensureDirectoriesExist(getDirectoryPath(normalizePath(path)), createDirectory, directoryExists); - writeFile2(path, data, writeByteOrderMark); + ensureDirectoriesExist(getDirectoryPath(normalizePath(path2)), createDirectory, directoryExists); + writeFile2(path2, data, writeByteOrderMark); } } function getLineOfLocalPosition(sourceFile, pos) { @@ -18999,15 +19005,15 @@ function base64decode(host, input) { } return getStringFromExpandedCharCodes(expandedCharCodes); } -function readJsonOrUndefined(path, hostOrText) { - const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path); +function readJsonOrUndefined(path2, hostOrText) { + const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path2); if (!jsonText) return void 0; - const result = parseConfigFileTextToJson(path, jsonText); + const result = parseConfigFileTextToJson(path2, jsonText); return !result.error ? result.config : void 0; } -function readJson(path, host) { - return readJsonOrUndefined(path, host) || {}; +function readJson(path2, host) { + return readJsonOrUndefined(path2, host) || {}; } function directoryProbablyExists(directoryName, host) { return !host.directoryExists || host.directoryExists(directoryName); @@ -19825,7 +19831,7 @@ function createSymlinkCache(cwd, getCanonicalFileName, isOHModules2) { getSymlinkedFiles: () => symlinkedFiles, getSymlinkedDirectories: () => symlinkedDirectories, getSymlinkedDirectoriesByRealpath: () => symlinkedDirectoriesByRealpath, - setSymlinkedFile: (path, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path, real), + setSymlinkedFile: (path2, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path2, real), setSymlinkedDirectory: (symlink, real) => { let symlinkPath = toPath(symlink, cwd, getCanonicalFileName); if (!containsIgnoredPath(symlinkPath)) { @@ -19878,8 +19884,8 @@ function isNodeModulesOrScopedPackageDirectory(s, getCanonicalFileName, isOHModu function stripLeadingDirectorySeparator(s) { return isAnyDirectorySeparator(s.charCodeAt(0)) ? s.slice(1) : void 0; } -function tryRemoveDirectoryPrefix(path, dirPath, getCanonicalFileName) { - const withoutPrefix = tryRemovePrefix(path, dirPath, getCanonicalFileName); +function tryRemoveDirectoryPrefix(path2, dirPath, getCanonicalFileName) { + const withoutPrefix = tryRemovePrefix(path2, dirPath, getCanonicalFileName); return withoutPrefix === void 0 ? void 0 : stripLeadingDirectorySeparator(withoutPrefix); } var reservedCharacterPattern = /[^\w\s\/]/g; @@ -19987,25 +19993,25 @@ function getSubPatternFromSpec(spec, basePath, usage, { singleAsteriskRegexFragm function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } -function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { - path = normalizePath(path); +function getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const absolutePath = combinePaths(currentDirectory, path); + const absolutePath = combinePaths(currentDirectory, path2); return { includeFilePatterns: map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), (pattern) => `^${pattern}$`), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), - basePaths: getBasePaths(path, includes, useCaseSensitiveFileNames) + basePaths: getBasePaths(path2, includes, useCaseSensitiveFileNames) }; } function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); } -function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { - path = normalizePath(path); +function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); + const patterns = getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory); const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map((pattern) => getRegexFromPattern(pattern, useCaseSensitiveFileNames)); const includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); const excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); @@ -20016,14 +20022,14 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa visitDirectory(basePath, combinePaths(currentDirectory, basePath), depth); } return flatten(results); - function visitDirectory(path2, absolutePath, depth2) { + function visitDirectory(path3, absolutePath, depth2) { const canonicalPath = toCanonical(realpath(absolutePath)); if (visited.has(canonicalPath)) return; visited.set(canonicalPath, true); - const { files, directories } = getFileSystemEntries(path2); + const { files, directories } = getFileSystemEntries(path3); for (const current of sort(files, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if (extensions && !fileExtensionIsOneOf(name, extensions)) continue; @@ -20045,7 +20051,7 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } for (const current of sort(directories, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if ((!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName)) && (!excludeRegex || !excludeRegex.test(absoluteName))) { visitDirectory(name, absoluteName, depth2); @@ -20053,17 +20059,17 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } } -function getBasePaths(path, includes, useCaseSensitiveFileNames) { - const basePaths = [path]; +function getBasePaths(path2, includes, useCaseSensitiveFileNames) { + const basePaths = [path2]; if (includes) { const includeBasePaths = []; for (const include of includes) { - const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path, include)); + const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path2, include)); includeBasePaths.push(getIncludeBasePath(absolute)); } includeBasePaths.sort(getStringComparer(!useCaseSensitiveFileNames)); for (const includeBasePath of includeBasePaths) { - if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path, !useCaseSensitiveFileNames))) { + if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path2, !useCaseSensitiveFileNames))) { basePaths.push(includeBasePath); } } @@ -20165,23 +20171,23 @@ function compareNumberOfDirectorySeparators(path1, path2) { ); } var extensionsToRemove = [".d.ts" /* Dts */, ".d.ets" /* Dets */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".mts" /* Mts */, ".cjs" /* Cjs */, ".cts" /* Cts */, ".ts" /* Ts */, ".js" /* Js */, ".tsx" /* Tsx */, ".jsx" /* Jsx */, ".json" /* Json */, ".ets" /* Ets */]; -function removeFileExtension(path) { +function removeFileExtension(path2) { for (const ext of extensionsToRemove) { - const extensionless = tryRemoveExtension(path, ext); + const extensionless = tryRemoveExtension(path2, ext); if (extensionless !== void 0) { return extensionless; } } - return path; + return path2; } -function tryRemoveExtension(path, extension) { - return fileExtensionIs(path, extension) ? removeExtension(path, extension) : void 0; +function tryRemoveExtension(path2, extension) { + return fileExtensionIs(path2, extension) ? removeExtension(path2, extension) : void 0; } -function removeExtension(path, extension) { - return path.substring(0, path.length - extension.length); +function removeExtension(path2, extension) { + return path2.substring(0, path2.length - extension.length); } -function changeExtension(path, newExtension) { - return changeAnyExtension(path, newExtension, extensionsToRemove, false); +function changeExtension(path2, newExtension) { + return changeAnyExtension(path2, newExtension, extensionsToRemove, false); } function tryParsePattern(pattern) { const indexOfStar = pattern.indexOf("*"); @@ -20194,7 +20200,7 @@ function tryParsePattern(pattern) { }; } function tryParsePatterns(paths) { - return mapDefined(getOwnKeys(paths), (path) => tryParsePattern(path)); + return mapDefined(getOwnKeys(paths), (path2) => tryParsePattern(path2)); } function positionIsSynthesized(pos) { return !(pos >= 0); @@ -20205,18 +20211,18 @@ function extensionIsTS(ext) { function resolutionExtensionIsTSOrJson(ext) { return extensionIsTS(ext) || ext === ".json" /* Json */; } -function extensionFromPath(path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 ? ext : Debug.fail(`File ${path} has unknown extension.`); +function extensionFromPath(path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 ? ext : Debug.fail(`File ${path2} has unknown extension.`); } -function isAnySupportedFileExtension(path) { - return tryGetExtensionFromPath2(path) !== void 0; +function isAnySupportedFileExtension(path2) { + return tryGetExtensionFromPath2(path2) !== void 0; } -function tryGetExtensionFromPath2(path) { - if (fileExtensionIs(path, ".ets" /* Ets */)) { +function tryGetExtensionFromPath2(path2) { + if (fileExtensionIs(path2, ".ets" /* Ets */)) { return ".ets" /* Ets */; } - return find(extensionsToRemove, (e) => fileExtensionIs(path, e)); + return find(extensionsToRemove, (e) => fileExtensionIs(path2, e)); } function isCheckJsEnabledForFile(sourceFile, compilerOptions) { return sourceFile.checkJsDirective ? sourceFile.checkJsDirective.enabled : compilerOptions.checkJs; @@ -20455,8 +20461,8 @@ function expressionResultIsUnused(node) { return false; } } -function containsIgnoredPath(path) { - return some(ignoredPaths, (p) => stringContains(path, p)); +function containsIgnoredPath(path2) { + return some(ignoredPaths, (p) => stringContains(path2, p)); } function getContainingNodeArray(node) { if (!node.parent) @@ -25642,19 +25648,19 @@ function createInputFiles(javascriptTextOrReadFileText, declarationTextOrJavascr const node = parseNodeFactory.createInputFiles(); if (!isString(javascriptTextOrReadFileText)) { const cache = new Map2(); - const textGetter = (path) => { - if (path === void 0) + const textGetter = (path2) => { + if (path2 === void 0) return void 0; - let value = cache.get(path); + let value = cache.get(path2); if (value === void 0) { - value = javascriptTextOrReadFileText(path); - cache.set(path, value !== void 0 ? value : false); + value = javascriptTextOrReadFileText(path2); + cache.set(path2, value !== void 0 ? value : false); } return value !== false ? value : void 0; }; - const definedTextGetter = (path) => { - const result = textGetter(path); - return result !== void 0 ? result : `/* Input file ${path} was missing */\r + const definedTextGetter = (path2) => { + const result = textGetter(path2); + return result !== void 0 ? result : `/* Input file ${path2} was missing */\r `; }; let buildInfo2; @@ -28882,7 +28888,7 @@ function parseJSDocTypeExpressionForTests(content, start2, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start2, length2); } var languageVersionCallBack; -function getLanguageVersionByFilePath(getLanguageVersion) { +function setLanguageVersionByFilePath(getLanguageVersion) { languageVersionCallBack = getLanguageVersion; } var Parser; @@ -29111,7 +29117,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext(), sourceFileCompilerOptions), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -35681,7 +35687,7 @@ function processPragmasIntoFields(context, reportDiagnostic) { const typeReferenceDirectives = context.typeReferenceDirectives; const libReferenceDirectives = context.libReferenceDirectives; forEach(toArray(entryOrList), (arg) => { - const { types, lib, path, ["resolution-mode"]: res } = arg.arguments; + const { types, lib, path: path2, ["resolution-mode"]: res } = arg.arguments; if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } else if (types) { @@ -35689,8 +35695,8 @@ function processPragmasIntoFields(context, reportDiagnostic) { typeReferenceDirectives.push({ pos: types.pos, end: types.end, fileName: types.value, ...parsed ? { resolutionMode: parsed } : {} }); } else if (lib) { libReferenceDirectives.push({ pos: lib.pos, end: lib.end, fileName: lib.value }); - } else if (path) { - referencedFiles.push({ pos: path.pos, end: path.end, fileName: path.value }); + } else if (path2) { + referencedFiles.push({ pos: path2.pos, end: path2.end, fileName: path2.value }); } else { reportDiagnostic(arg.range.pos, arg.range.end - arg.range.pos, Diagnostics.Invalid_reference_directive_syntax); } @@ -37942,20 +37948,20 @@ function filterSameAsDefaultInclude(specs) { return void 0; return specs; } -function matchesSpecs(path, includeSpecs, excludeSpecs, host) { +function matchesSpecs(path2, includeSpecs, excludeSpecs, host) { if (!includeSpecs) return returnTrue; - const patterns = getFileMatcherPatterns(path, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); + const patterns = getFileMatcherPatterns(path2, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); const excludeRe = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, host.useCaseSensitiveFileNames); const includeRe = patterns.includeFilePattern && getRegexFromPattern(patterns.includeFilePattern, host.useCaseSensitiveFileNames); if (includeRe) { if (excludeRe) { - return (path2) => !(includeRe.test(path2) && !excludeRe.test(path2)); + return (path3) => !(includeRe.test(path3) && !excludeRe.test(path3)); } - return (path2) => !includeRe.test(path2); + return (path3) => !includeRe.test(path3); } if (excludeRe) { - return (path2) => excludeRe.test(path2); + return (path3) => excludeRe.test(path3); } return returnTrue; } @@ -38345,9 +38351,9 @@ function parseConfig(json, sourceFile, host, basePath, configFileName, resolutio let relativeDifference; const setPropertyInRawIfNotUndefined = (propertyName) => { if (!raw[propertyName] && baseRaw[propertyName]) { - raw[propertyName] = map(baseRaw[propertyName], (path) => isRootedDiskPath(path) ? path : combinePaths( + raw[propertyName] = map(baseRaw[propertyName], (path2) => isRootedDiskPath(path2) ? path2 : combinePaths( relativeDifference || (relativeDifference = convertToRelativePath(getDirectoryPath(ownConfig.extendedConfigPath), basePath, createGetCanonicalFileName(host.useCaseSensitiveFileNames))), - path + path2 )); } }; @@ -38470,14 +38476,14 @@ function getExtendsConfigPath(extendedConfig, host, basePath, errors, createDiag return void 0; } function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack, errors, extendedConfigCache) { - const path = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); + const path2 = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); let value; let extendedResult; let extendedConfig; - if (extendedConfigCache && (value = extendedConfigCache.get(path))) { + if (extendedConfigCache && (value = extendedConfigCache.get(path2))) { ({ extendedResult, extendedConfig } = value); } else { - extendedResult = readJsonConfigFile(extendedConfigPath, (path2) => host.readFile(path2)); + extendedResult = readJsonConfigFile(extendedConfigPath, (path3) => host.readFile(path3)); if (!extendedResult.parseDiagnostics.length) { extendedConfig = parseConfig( void 0, @@ -38491,7 +38497,7 @@ function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack ); } if (extendedConfigCache) { - extendedConfigCache.set(path, { extendedResult, extendedConfig }); + extendedConfigCache.set(path2, { extendedResult, extendedConfig }); } } if (sourceFile) { @@ -38732,14 +38738,14 @@ function specToDiagnostic(spec, disallowTrailingRecursion) { return [Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec]; } } -function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path, useCaseSensitiveFileNames) { - const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path, "exclude"); +function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path2, useCaseSensitiveFileNames) { + const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path2, "exclude"); const excludeRegex = rawExcludeRegex && new RegExp(rawExcludeRegex, useCaseSensitiveFileNames ? "" : "i"); const wildcardDirectories = {}; if (include !== void 0) { const recursiveKeys = []; for (const file of include) { - const spec = normalizePath(combinePaths(path, file)); + const spec = normalizePath(combinePaths(path2, file)); if (excludeRegex && excludeRegex.test(spec)) { continue; } @@ -38758,7 +38764,7 @@ function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExclu for (const key in wildcardDirectories) { if (hasProperty(wildcardDirectories, key)) { for (const recursiveKey of recursiveKeys) { - if (key !== recursiveKey && containsPath(recursiveKey, key, path, !useCaseSensitiveFileNames)) { + if (key !== recursiveKey && containsPath(recursiveKey, key, path2, !useCaseSensitiveFileNames)) { delete wildcardDirectories[key]; } } @@ -38960,12 +38966,12 @@ function readPackageJsonPathField(jsonContent, fieldName, baseDirectory, state) } return; } - const path = normalizePath(combinePaths(baseDirectory, fileName)); + const path2 = normalizePath(combinePaths(baseDirectory, fileName)); if (state.traceEnabled) { const message = isOhpm(state.compilerOptions.packageManagerType) ? Diagnostics.oh_package_json5_has_0_field_1_that_references_2 : Diagnostics.package_json_has_0_field_1_that_references_2; - trace(state.host, message, fieldName, fileName, path); + trace(state.host, message, fieldName, fileName, path2); } - return path; + return path2; } function readPackageJsonTypesFields(jsonContent, baseDirectory, state) { return readPackageJsonPathField(jsonContent, "typings", baseDirectory, state) || readPackageJsonPathField(jsonContent, "types", baseDirectory, state); @@ -39275,11 +39281,11 @@ function createCacheWithRedirects(options) { if (!redirectedReference) { return ownMap; } - const path = redirectedReference.sourceFile.path; - let redirects = redirectsMap.get(path); + const path2 = redirectedReference.sourceFile.path; + let redirects = redirectsMap.get(path2); if (!redirects) { redirects = !options || optionsHaveModuleResolutionChanges(options, redirectedReference.commandLine.options) ? new Map2() : ownMap; - redirectsMap.set(path, redirects); + redirectsMap.set(path2, redirects); } return redirects; } @@ -39351,8 +39357,8 @@ function createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileNam updateRedirectsMap(options, directoryToModuleNameMap); } function getOrCreateCacheForDirectory(directoryName, redirectedReference) { - const path = toPath(directoryName, currentDirectory, getCanonicalFileName); - return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, () => createModeAwareCache()); + const path2 = toPath(directoryName, currentDirectory, getCanonicalFileName); + return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path2, () => createModeAwareCache()); } } function createModeAwareCache() { @@ -39436,14 +39442,14 @@ function createModuleResolutionCache(currentDirectory, getCanonicalFileName, opt return directoryPathMap.get(toPath(directory, currentDirectory, getCanonicalFileName)); } function set(directory, result) { - const path = toPath(directory, currentDirectory, getCanonicalFileName); - if (directoryPathMap.has(path)) { + const path2 = toPath(directory, currentDirectory, getCanonicalFileName); + if (directoryPathMap.has(path2)) { return; } - directoryPathMap.set(path, result); + directoryPathMap.set(path2, result); const resolvedFileName = result.resolvedModule && (result.resolvedModule.originalPath || result.resolvedModule.resolvedFileName); - const commonPrefix = resolvedFileName && getCommonPrefix(path, resolvedFileName); - let current = path; + const commonPrefix = resolvedFileName && getCommonPrefix(path2, resolvedFileName); + let current = path2; while (current !== commonPrefix) { const parent2 = getDirectoryPath(current); if (parent2 === current || directoryPathMap.has(parent2)) { @@ -39814,10 +39820,10 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, return void 0; let resolvedValue = resolved2.value; if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) { - const path = realPath(resolvedValue.path, host, traceEnabled); - const pathsAreEqual = arePathsEqual(path, resolvedValue.path, host); + const path2 = realPath(resolvedValue.path, host, traceEnabled); + const pathsAreEqual = arePathsEqual(path2, resolvedValue.path, host); const originalPath = pathsAreEqual ? void 0 : resolvedValue.path; - resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path, originalPath }; + resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path2, originalPath }; } return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; } else { @@ -39831,18 +39837,18 @@ function normalizePathForCJSResolution(containingDirectory, moduleName) { const combined = combinePaths(containingDirectory, moduleName); const parts = getPathComponents(combined); const lastPart = lastOrUndefined(parts); - const path = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); - return { path, parts }; + const path2 = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); + return { path: path2, parts }; } -function realPath(path, host, traceEnabled) { +function realPath(path2, host, traceEnabled) { if (!host.realpath) { - return path; + return path2; } - const real = normalizePath(host.realpath(path)); + const real = normalizePath(host.realpath(path2)); if (traceEnabled) { - trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path, real); + trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path2, real); } - Debug.assert(host.fileExists(real), `${path} linked to nonexistent file ${real}`); + Debug.assert(host.fileExists(real), `${path2} linked to nonexistent file ${real}`); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -39881,25 +39887,25 @@ function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, return void 0; } var nodeModulesPathPart = "/node_modules/"; -function pathContainsNodeModules(path) { - return stringContains(path, nodeModulesPathPart); +function pathContainsNodeModules(path2) { + return stringContains(path2, nodeModulesPathPart); } function parseModuleFromPath(resolved, packageManagerType) { const modulesPathPart = getModulePathPartByPMType(packageManagerType); - const path = normalizePath(resolved); - const idx = path.lastIndexOf(modulesPathPart); + const path2 = normalizePath(resolved); + const idx = path2.lastIndexOf(modulesPathPart); if (idx === -1) { return void 0; } const indexAfterModules = idx + modulesPathPart.length; - let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterModules); - if (path.charCodeAt(indexAfterModules) === 64 /* at */) { - indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterPackageName); + let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterModules); + if (path2.charCodeAt(indexAfterModules) === 64 /* at */) { + indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterPackageName); } - return path.slice(0, indexAfterPackageName); + return path2.slice(0, indexAfterPackageName); } -function moveToNextDirectorySeparatorIfAvailable(path, prevSeparatorIndex) { - const nextSeparatorIndex = path.indexOf(directorySeparator, prevSeparatorIndex + 1); +function moveToNextDirectorySeparatorIfAvailable(path2, prevSeparatorIndex) { + const nextSeparatorIndex = path2.indexOf(directorySeparator, prevSeparatorIndex + 1); return nextSeparatorIndex === -1 ? prevSeparatorIndex : nextSeparatorIndex; } function loadModuleFromFileNoPackageId(extensions, candidate, onlyRecordFailures, state) { @@ -40002,8 +40008,8 @@ function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecor return tryExtension(".json" /* Json */); } function tryExtension(ext) { - const path = tryFile(candidate + ext, onlyRecordFailures, state); - return path === void 0 ? void 0 : { path, ext }; + const path2 = tryFile(candidate + ext, onlyRecordFailures, state); + return path2 === void 0 ? void 0 : { path: path2, ext }; } } function tryFile(fileName, onlyRecordFailures, state) { @@ -40250,9 +40256,9 @@ function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFail return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state); } } -function resolvedIfExtensionMatches(extensions, path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 && extensionIsOk(extensions, ext) ? { path, ext } : void 0; +function resolvedIfExtensionMatches(extensions, path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 && extensionIsOk(extensions, ext) ? { path: path2, ext } : void 0; } function extensionIsOk(extensions, extension) { switch (extensions) { @@ -40506,11 +40512,11 @@ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirec trace(state.host, Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName); } return toSearchResult(void 0); - function toAbsolutePath(path) { + function toAbsolutePath(path2) { var _a2, _b; - if (path === void 0) - return path; - return getNormalizedAbsolutePath(path, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); + if (path2 === void 0) + return path2; + return getNormalizedAbsolutePath(path2, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); } function combineDirectoryPath(root, dir) { return ensureTrailingDirectorySeparator(combinePaths(root, dir)); @@ -40704,16 +40710,16 @@ function tryLoadModuleUsingPaths(extensions, moduleName, baseDirectory, paths, p trace(state.host, Diagnostics.Module_name_0_matched_pattern_1, moduleName, matchedPatternText); } const resolved = forEach(paths[matchedPatternText], (subst) => { - const path = matchedStar ? subst.replace("*", matchedStar) : subst; - const candidate = normalizePath(combinePaths(baseDirectory, path)); + const path2 = matchedStar ? subst.replace("*", matchedStar) : subst; + const candidate = normalizePath(combinePaths(baseDirectory, path2)); if (state.traceEnabled) { - trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path); + trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path2); } const extension = tryGetExtensionFromPath2(subst); if (extension !== void 0) { - const path2 = tryFile(candidate, onlyRecordFailures, state); - if (path2 !== void 0) { - return noPackageId({ path: path2, ext: extension }); + const path3 = tryFile(candidate, onlyRecordFailures, state); + if (path3 !== void 0) { + return noPackageId({ path: path3, ext: extension }); } } return loader(extensions, candidate, onlyRecordFailures || !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); @@ -40855,6 +40861,7 @@ function traceIfEnabled(state, diagnostic, ...args) { } // src/compiler/ohApi.ts +var path = __toESM(require("path")); var annotationMagicNamePrefix = "__$$ETS_ANNOTATION$$__"; var maxFlowDepthDefaultValue = 2e3; function isInEtsFile(node) { @@ -40988,8 +40995,8 @@ function isOHModulesDirectory(dirPath) { function isTargetModulesDerectory(dirPath) { return isNodeModulesDirectory(dirPath) || isOHModulesDirectory(dirPath); } -function pathContainsOHModules(path) { - return stringContains(path, ohModulesPathPart); +function pathContainsOHModules(path2) { + return stringContains(path2, ohModulesPathPart); } function choosePathContainsModules(packageManagerType, fileName) { return isOhpm(packageManagerType) ? pathContainsOHModules(fileName) : pathContainsNodeModules(fileName); @@ -41688,20 +41695,34 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; + if (compilerOptions.etsLoaderPath && normalizePath(compilerOptions.etsLoaderPath).endsWith("ets1.1/build-tools/ets-loader")) { + return resolvePath(compilerOptions.etsLoaderPath, "../../../../.."); + } + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; +} +function getKitConfigRelativePath(compilerOptions) { + const etsLoaderPath = compilerOptions.etsLoaderPath; + const sdkPath = getSdkPath(compilerOptions); + return path.relative( + sdkPath, + path.join(etsLoaderPath, "kit_configs") + ); +} +function convertPath(originalPath, from, to) { + return originalPath.replace(new RegExp(from, "g"), to); } -function getKitJsonObject(name, sdkPath) { +function getKitJsonObject(name, sdkPath, compilerOptions) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { return kitJsonCache.get(name); } + const OHOS_KIT_CONFIG_PATH = getKitConfigRelativePath(compilerOptions); + const HMS_KIT_CONFIG_PATH = convertPath(OHOS_KIT_CONFIG_PATH, "openharmony", "hms"); const ohosJsonPath = resolvePath(sdkPath, OHOS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); const hmsJsonPath = resolvePath(sdkPath, HMS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); let fileInfo = sys.fileExists(ohosJsonPath) ? sys.readFile(ohosJsonPath, "utf-8") : sys.fileExists(hmsJsonPath) ? sys.readFile(hmsJsonPath, "utf-8") : void 0; @@ -41869,7 +41890,7 @@ function processKitStatementSuccess(factory2, statement, jsonObject, inEtsContex } return true; } -function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext) { +function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext, compilerOptions) { const list = []; let skipRestStatements = false; statements.forEach( @@ -41886,7 +41907,7 @@ function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsC list.push(statement); return; } - const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath); + const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath, compilerOptions); const newImportStatements = new Array(); if (!processKitStatementSuccess(factory2, statement, jsonObject, inEtsContext, newImportStatements)) { list.push(statement); @@ -45072,10 +45093,10 @@ function getLocalModuleSpecifier(moduleFileName, info, compilerOptions, host, im Debug.assertNever(relativePreference); return isPathRelativeToParent(nonRelative) || countPathComponents(relativePath) < countPathComponents(nonRelative) ? relativePath : nonRelative; } -function countPathComponents(path) { +function countPathComponents(path2) { let count = 0; - for (let i = startsWith(path, "./") ? 2 : 0; i < path.length; i++) { - if (path.charCodeAt(i) === 47 /* slash */) + for (let i = startsWith(path2, "./") ? 2 : 0; i < path2.length; i++) { + if (path2.charCodeAt(i) === 47 /* slash */) count++; } return count; @@ -45122,9 +45143,9 @@ function forEachFileNameOfModule(importingFileName, importedFileName, host, pref if (!startsWithDirectory(target, realPathDirectory, getCanonicalFileName)) { return; } - const relative = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); + const relative2 = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); for (const symlinkDirectory of symlinkDirectories) { - const option = resolvePath(symlinkDirectory, relative); + const option = resolvePath(symlinkDirectory, relative2); const result2 = cb(option, target === referenceRedirect); shouldFilterIgnoredPaths = true; if (result2) @@ -45158,9 +45179,9 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack importedFileName, host, true, - (path, isRedirect) => { - const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path) : pathContainsNodeModules(path); - allFileNames.set(path, { path: getCanonicalFileName(path), isRedirect, isInNodeModules }); + (path2, isRedirect) => { + const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path2) : pathContainsNodeModules(path2); + allFileNames.set(path2, { path: getCanonicalFileName(path2), isRedirect, isInNodeModules }); importedFileFromNodeModules = importedFileFromNodeModules || isInNodeModules; } ); @@ -45168,8 +45189,8 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack for (let directory = getDirectoryPath(importingFileName); allFileNames.size !== 0; ) { const directoryStart = ensureTrailingDirectorySeparator(directory); let pathsInDirectory; - allFileNames.forEach(({ path, isRedirect, isInNodeModules }, fileName) => { - if (startsWith(path, directoryStart)) { + allFileNames.forEach(({ path: path2, isRedirect, isInNodeModules }, fileName) => { + if (startsWith(path2, directoryStart)) { (pathsInDirectory || (pathsInDirectory = [])).push({ path: fileName, isRedirect, isInNodeModules }); allFileNames.delete(fileName); } @@ -45345,16 +45366,16 @@ function tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, } return getEmitModuleResolutionKind(compilerOptions) === 2 /* NodeJs */ ? removeExtensionAndIndexPostFix(shortest, ending, compilerOptions) : removeFileExtension(shortest); } -function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { +function tryGetModuleNameAsNodeModule({ path: path2, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { if (!host.fileExists || !host.readFile) { return void 0; } - const parts = getNodeModulePathParts(path, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); + const parts = getNodeModulePathParts(path2, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); if (!parts) { return void 0; } const preferences = getPreferences(host, userPreferences, options, importingSourceFile); - let moduleSpecifier = path; + let moduleSpecifier = path2; let isPackageRootPath = false; if (!packageNameOnly) { let packageRootIndex = parts.packageRootIndex; @@ -45376,7 +45397,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa } if (!moduleFileName) moduleFileName = moduleFileToTry; - packageRootIndex = path.indexOf(directorySeparator, packageRootIndex + 1); + packageRootIndex = path2.indexOf(directorySeparator, packageRootIndex + 1); if (packageRootIndex === -1) { moduleSpecifier = removeExtensionAndIndexPostFix(moduleFileName, preferences.ending, options, host); break; @@ -45396,9 +45417,9 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return getEmitModuleResolutionKind(options) === 1 /* Classic */ && packageName === nodeModulesDirectoryName ? void 0 : packageName; function tryDirectoryWithPackageJson(packageRootIndex) { var _a2, _b; - const packageRootPath = path.substring(0, packageRootIndex); + const packageRootPath = path2.substring(0, packageRootIndex); const packageJsonPath = combinePaths(packageRootPath, getPackageJsonByPMType(options.packageManagerType)); - let moduleFileToTry = path; + let moduleFileToTry = path2; let maybeBlockedByTypesVersions = false; const cachedPackageJson = (_b = (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === void 0 && host.fileExists(packageJsonPath)) { @@ -45406,18 +45427,18 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa const importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */) { const conditions = ["node", importMode === 99 /* ESNext */ ? "import" : "require", "types"]; - const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; + const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path2, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; if (fromExports) { const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) }; return { ...withJsExtension, verbatimFromExports: true }; } if (packageJsonContent.exports) { - return { moduleFileToTry: path, blockedByExports: true }; + return { moduleFileToTry: path2, blockedByExports: true }; } } const versionPaths = packageJsonContent.typesVersions ? getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions) : void 0; if (versionPaths) { - const subModuleName = path.slice(packageRootPath.length + 1); + const subModuleName = path2.slice(packageRootPath.length + 1); const fromPaths = tryGetModuleNameFromPaths( subModuleName, versionPaths.paths, @@ -45447,20 +45468,20 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return { moduleFileToTry }; } } -function tryGetAnyFileFromPath(host, path) { +function tryGetAnyFileFromPath(host, path2) { if (!host.fileExists) return; const extensions = flatten(getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 /* JSON */ }])); for (const e of extensions) { - const fullPath = path + e; + const fullPath = path2 + e; if (host.fileExists(fullPath)) { return fullPath; } } } -function getPathsRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { +function getPathsRelativeToRootDirs(path2, rootDirs, getCanonicalFileName) { return mapDefined(rootDirs, (rootDir) => { - const relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + const relativePath = getRelativePathIfInDirectory(path2, rootDir, getCanonicalFileName); return relativePath !== void 0 && isPathRelativeToParent(relativePath) ? void 0 : relativePath; }); } @@ -45517,12 +45538,12 @@ function tryGetJSExtensionForFile(fileName, options) { return void 0; } } -function getRelativePathIfInDirectory(path, directoryPath, getCanonicalFileName) { - const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path, directoryPath, getCanonicalFileName, false); +function getRelativePathIfInDirectory(path2, directoryPath, getCanonicalFileName) { + const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path2, directoryPath, getCanonicalFileName, false); return isRootedDiskPath(relativePath) ? void 0 : relativePath; } -function isPathRelativeToParent(path) { - return startsWith(path, ".."); +function isPathRelativeToParent(path2) { + return startsWith(path2, ".."); } // src/compiler/checker.ts @@ -46081,8 +46102,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { clearConstEnumRelate: () => { constEnumRelate && constEnumRelate.clear(); }, - deleteConstEnumRelate: (path) => { - constEnumRelate && constEnumRelate.delete(path); + deleteConstEnumRelate: (path2) => { + constEnumRelate && constEnumRelate.delete(path2); }, isStaticRecord, getTypeArgumentsForResolvedSignature, @@ -50606,8 +50627,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { links.specifierCache.set(cacheKey, specifier); } return specifier; - function getSpecifierCacheKey(path, mode) { - return mode === void 0 ? path : `${mode}|${path}`; + function getSpecifierCacheKey(path2, mode) { + return mode === void 0 ? path2 : `${mode}|${path2}`; } } function symbolToEntityNameNode(symbol) { @@ -56425,10 +56446,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const text = identifier.escapedText; if (text) { const parentSymbol = name.kind === 165 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : name.kind === 211 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : void 0; - const path = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; - let result = unresolvedSymbols.get(path); + const path2 = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; + let result = unresolvedSymbols.get(path2); if (!result) { - unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); + unresolvedSymbols.set(path2, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); result.parent = parentSymbol; result.declaredType = unresolvedType; } @@ -60163,24 +60184,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return; } - let path = ""; + let path2 = ""; const secondaryRootErrors = []; while (stack.length) { const [msg, ...args] = stack.pop(); switch (msg.code) { case Diagnostics.Types_of_property_0_are_incompatible.code: { - if (path.indexOf("new ") === 0) { - path = `(${path})`; + if (path2.indexOf("new ") === 0) { + path2 = `(${path2})`; } const str = "" + args[0]; - if (path.length === 0) { - path = `${str}`; + if (path2.length === 0) { + path2 = `${str}`; } else if (isIdentifierText(str, getEmitScriptTarget(compilerOptions))) { - path = `${path}.${str}`; + path2 = `${path2}.${str}`; } else if (str[0] === "[" && str[str.length - 1] === "]") { - path = `${path}${str}`; + path2 = `${path2}${str}`; } else { - path = `${path}[${str}]`; + path2 = `${path2}[${str}]`; } break; } @@ -60188,7 +60209,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code: case Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: case Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: { - if (path.length === 0) { + if (path2.length === 0) { let mappedMsg = msg; if (msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) { mappedMsg = Diagnostics.Call_signature_return_types_0_and_1_are_incompatible; @@ -60199,7 +60220,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } else { const prefix = msg.code === Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : ""; const params = msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "..."; - path = `${prefix}${path}(${params})`; + path2 = `${prefix}${path2}(${params})`; } break; } @@ -60215,10 +60236,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return Debug.fail(`Unhandled Diagnostic: ${msg.code}`); } } - if (path) { + if (path2) { reportError( - path[path.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, - path + path2[path2.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, + path2 ); } else { secondaryRootErrors.shift(); @@ -70403,7 +70424,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const sourceFileNamePath = getSourceFileOfNode(declaration).fileName.replace(/\\/g, "/"); const SKIPPED_PATHS = ["/node_modules/", "/oh_modules/", "/js_util_module/"]; const skipSdkPathReg = /\/sdk\/default\/(openharmony|hms)\/ets\//; - if (SKIPPED_PATHS.some((path) => sourceFileNamePath.includes(path))) { + if (SKIPPED_PATHS.some((path2) => sourceFileNamePath.includes(path2))) { return false; } const isSDKPath = skipSdkPathReg.test(sourceFileNamePath); @@ -101446,9 +101467,9 @@ function getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSou function createAddOutput() { let outputs; return { addOutput, getOutputs }; - function addOutput(path) { - if (path) { - (outputs || (outputs = [])).push(path); + function addOutput(path2) { + if (path2) { + (outputs || (outputs = [])).push(path2); } } function getOutputs() { @@ -101624,8 +101645,8 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla emittedFilesList.push(declarationMapPath); } } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, host.getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, host.getCanonicalFileName)); } } function emitBuildInfo(bundle, buildInfoPath) { @@ -106294,7 +106315,7 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return { useCaseSensitiveFileNames, fileExists, - readFile: (path, encoding) => host.readFile(path, encoding), + readFile: (path2, encoding) => host.readFile(path2, encoding), directoryExists: host.directoryExists && directoryExists, getDirectories, readDirectory, @@ -106311,8 +106332,8 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi function getCachedFileSystemEntries(rootDirPath) { return cachedReadDirectoryResult.get(ensureTrailingDirectorySeparator(rootDirPath)); } - function getCachedFileSystemEntriesForBaseDir(path) { - const entries = getCachedFileSystemEntries(getDirectoryPath(path)); + function getCachedFileSystemEntriesForBaseDir(path2) { + const entries = getCachedFileSystemEntries(getDirectoryPath(path2)); if (!entries) { return entries; } @@ -106359,25 +106380,25 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return index >= 0; } function writeFile2(fileName, data, writeByteOrderMark) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { updateFilesOfFileSystemEntry(result, getBaseNameOfFileName(fileName), true); } return host.writeFile(fileName, data, writeByteOrderMark); } function fileExists(fileName) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); return result && hasEntry(result.sortedAndCanonicalizedFiles, getCanonicalFileName(getBaseNameOfFileName(fileName))) || host.fileExists(fileName); } function directoryExists(dirPath) { - const path = toPath3(dirPath); - return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path)) || host.directoryExists(dirPath); + const path2 = toPath3(dirPath); + return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path2)) || host.directoryExists(dirPath); } function createDirectory(dirPath) { - const path = toPath3(dirPath); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(dirPath); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { const baseName = getBaseNameOfFileName(dirPath); const canonicalizedBaseName = getCanonicalFileName(baseName); @@ -106405,21 +106426,21 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi } return host.readDirectory(rootDir, extensions, excludes, includes, depth); function getFileSystemEntries(dir) { - const path = toPath3(dir); - if (path === rootDirPath) { - return rootResult || getFileSystemEntriesFromHost(dir, path); + const path2 = toPath3(dir); + if (path2 === rootDirPath) { + return rootResult || getFileSystemEntriesFromHost(dir, path2); } - const result = tryReadDirectory2(dir, path); - return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path) : emptyFileSystemEntries; + const result = tryReadDirectory2(dir, path2); + return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path2) : emptyFileSystemEntries; } - function getFileSystemEntriesFromHost(dir, path) { - if (rootSymLinkResult && path === rootDirPath) + function getFileSystemEntriesFromHost(dir, path2) { + if (rootSymLinkResult && path2 === rootDirPath) return rootSymLinkResult; const result = { files: map(host.readDirectory(dir, void 0, void 0, ["*.*"]), getBaseNameOfFileName) || emptyArray, directories: host.getDirectories(dir) || emptyArray }; - if (path === rootDirPath) + if (path2 === rootDirPath) rootSymLinkResult = result; return result; } @@ -106812,9 +106833,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { fileName, data, writeByteOrderMark, - (path, data2, writeByteOrderMark2) => system.writeFile(path, data2, writeByteOrderMark2), - (path) => (compilerHost.createDirectory || system.createDirectory)(path), - (path) => directoryExists(path) + (path2, data2, writeByteOrderMark2) => system.writeFile(path2, data2, writeByteOrderMark2), + (path2) => (compilerHost.createDirectory || system.createDirectory)(path2), + (path2) => directoryExists(path2) ); mark("afterIOWrite"); measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -106828,7 +106849,7 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { return getDirectoryPath(normalizePath(system.getExecutingFilePath())); } const newLine = getNewLineCharacter(options, () => system.newLine); - const realpath = system.realpath && ((path) => system.realpath(path)); + const realpath = system.realpath && ((path2) => system.realpath(path2)); const compilerHost = { getSourceFile, getDefaultLibLocation, @@ -106843,9 +106864,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { trace: (s) => system.write(s + newLine), directoryExists: (directoryName) => system.directoryExists(directoryName), getEnvironmentVariable: (name) => system.getEnvironmentVariable ? system.getEnvironmentVariable(name) : "", - getDirectories: (path) => system.getDirectories(path), + getDirectories: (path2) => system.getDirectories(path2), realpath, - readDirectory: (path, extensions, include, exclude, depth) => system.readDirectory(path, extensions, include, exclude, depth), + readDirectory: (path2, extensions, include, exclude, depth) => system.readDirectory(path2, extensions, include, exclude, depth), createDirectory: (d) => system.createDirectory(d), createHash: maybeBind(system, system.createHash) }; @@ -107641,7 +107662,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } } PerformanceDotting.stop("processDefaultLib"); - missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path, file]) => file === void 0 ? path : void 0)); + missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path2, file]) => file === void 0 ? path2 : void 0)); files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); processingDefaultLibFiles = void 0; processingOtherFiles = void 0; @@ -108154,18 +108175,18 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config filesByName.set(newSourceFile.path, newSourceFile); } const oldFilesByNameMap = oldProgram.getFilesByNameMap(); - oldFilesByNameMap.forEach((oldFile, path) => { + oldFilesByNameMap.forEach((oldFile, path2) => { if (!oldFile) { - filesByName.set(path, oldFile); + filesByName.set(path2, oldFile); return; } - if (oldFile.path === path) { + if (oldFile.path === path2) { if (oldProgram.isSourceFileFromExternalLibrary(oldFile)) { sourceFilesFoundSearchingNodeModules.set(oldFile.path, true); } return; } - filesByName.set(path, filesByName.get(oldFile.path)); + filesByName.set(path2, filesByName.get(oldFile.path)); }); files = newSourceFiles; fileReasons = oldProgram.getFileIncludeReasons(); @@ -108197,10 +108218,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config isEmitBlocked, readFile: (f) => host.readFile(f), fileExists: (f) => { - const path = toPath3(f); - if (getSourceFileByPath(path)) + const path2 = toPath3(f); + if (getSourceFileByPath(path2)) return true; - if (contains(missingFilePaths, path)) + if (contains(missingFilePaths, path2)) return false; return host.fileExists(f); }, @@ -108248,9 +108269,9 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config return (_a3 = resolvedProjectReferences[index]) == null ? void 0 : _a3.commandLine; }, (fileName) => { - const path = toPath3(fileName); - const sourceFile = getSourceFileByPath(path); - return sourceFile ? sourceFile.text : filesByName.has(path) ? void 0 : host.readFile(path); + const path2 = toPath3(fileName); + const sourceFile = getSourceFileByPath(path2); + return sourceFile ? sourceFile.text : filesByName.has(path2) ? void 0 : host.readFile(path2); } ); } @@ -108369,8 +108390,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function getSourceFile(fileName) { return getSourceFileByPath(toPath3(fileName)); } - function getSourceFileByPath(path) { - return filesByName.get(path) || void 0; + function getSourceFileByPath(path2) { + return filesByName.get(path2) || void 0; } function getDiagnosticsHelper(sourceFile, getDiagnostics2, cancellationToken) { if (sourceFile) { @@ -108979,17 +109000,17 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config addFilePreprocessingFileExplainingDiagnostic(existingFile, reason, Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [fileName, existingFile.fileName]); } } - function createRedirectSourceFile(redirectTarget, unredirected, fileName, path, resolvedPath, originalFileName, sourceFileOptions) { + function createRedirectSourceFile(redirectTarget, unredirected, fileName, path2, resolvedPath, originalFileName, sourceFileOptions) { var _a3; const redirect = Object.create(redirectTarget); redirect.fileName = fileName; - redirect.path = path; + redirect.path = path2; redirect.resolvedPath = resolvedPath; redirect.originalFileName = originalFileName; redirect.redirectInfo = { redirectTarget, unredirected }; redirect.packageJsonLocations = ((_a3 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _a3.length) ? sourceFileOptions.packageJsonLocations : void 0; redirect.packageJsonScope = sourceFileOptions.packageJsonScope; - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); Object.defineProperties(redirect, { id: { get() { @@ -109029,25 +109050,25 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function findSourceFileWorker(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { var _a3, _b2; - const path = toPath3(fileName); + const path2 = toPath3(fileName); if (useSourceOfProjectReferenceRedirect) { - let source = getSourceOfProjectReferenceRedirect(path); + let source = getSourceOfProjectReferenceRedirect(path2); const modulesPathPart = getModulePathPartByPMType(options.packageManagerType); if (!source && host.realpath && options.preserveSymlinks && isDeclarationFileName(fileName) && stringContains(fileName, modulesPathPart)) { const realPath2 = toPath3(host.realpath(fileName)); - if (realPath2 !== path) + if (realPath2 !== path2) source = getSourceOfProjectReferenceRedirect(realPath2); } if (source) { const file2 = isString(source) ? findSourceFile(source, isDefaultLib, ignoreNoDefaultLib, reason, packageId) : void 0; if (file2) - addFileToFilesByName(file2, path, void 0); + addFileToFilesByName(file2, path2, void 0); return file2; } } const originalFileName = fileName; - if (filesByName.has(path)) { - const file2 = filesByName.get(path); + if (filesByName.has(path2)) { + const file2 = filesByName.get(path2); addFileIncludeReason(file2 || void 0, reason); if (file2 && options.forceConsistentCasingInFileNames) { const checkedName = file2.fileName; @@ -109106,30 +109127,30 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config const packageIdKey = packageIdToString(packageId); const fileFromPackageId = packageIdToSourceFile.get(packageIdKey); if (fileFromPackageId) { - const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path, toPath3(fileName), originalFileName, sourceFileOptions); + const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path2, toPath3(fileName), originalFileName, sourceFileOptions); redirectTargetsMap.add(fileFromPackageId.path, fileName); - addFileToFilesByName(dupFile, path, redirectedPath); + addFileToFilesByName(dupFile, path2, redirectedPath); addFileIncludeReason(dupFile, reason); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); processingOtherFiles.push(dupFile); return dupFile; } else if (file) { packageIdToSourceFile.set(packageIdKey, file); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); } } - addFileToFilesByName(file, path, redirectedPath); + addFileToFilesByName(file, path2, redirectedPath); if (file) { - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); file.fileName = fileName; - file.path = path; + file.path = path2; file.resolvedPath = toPath3(fileName); file.originalFileName = originalFileName; file.packageJsonLocations = ((_b2 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _b2.length) ? sourceFileOptions.packageJsonLocations : void 0; file.packageJsonScope = sourceFileOptions.packageJsonScope; addFileIncludeReason(file, reason); if (host.useCaseSensitiveFileNames()) { - const pathLowerCase = toFileNameLowerCase(path); + const pathLowerCase = toFileNameLowerCase(path2); const existingFile = filesByNameIgnoreCase.get(pathLowerCase); if (existingFile) { reportFileNamesDifferOnlyInCasingError(fileName, existingFile, reason); @@ -109158,12 +109179,12 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config if (file) fileReasons.add(file.path, reason); } - function addFileToFilesByName(file, path, redirectedPath) { + function addFileToFilesByName(file, path2, redirectedPath) { if (redirectedPath) { filesByName.set(redirectedPath, file); - filesByName.set(path, file || false); + filesByName.set(path2, file || false); } else { - filesByName.set(path, file); + filesByName.set(path2, file); } } function getProjectReferenceRedirect(fileName) { @@ -109195,8 +109216,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function forEachResolvedProjectReference2(cb) { return forEachResolvedProjectReference(resolvedProjectReferences, cb); } - function getSourceOfProjectReferenceRedirect(path) { - if (!isDeclarationFileName(path)) + function getSourceOfProjectReferenceRedirect(path2) { + if (!isDeclarationFileName(path2)) return void 0; if (mapFromToProjectReferenceRedirectSource === void 0) { mapFromToProjectReferenceRedirectSource = new Map2(); @@ -109216,7 +109237,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } }); } - return mapFromToProjectReferenceRedirectSource.get(path); + return mapFromToProjectReferenceRedirectSource.get(path2); } function isSourceOfProjectReferenceRedirect(fileName) { return useSourceOfProjectReferenceRedirect && !!getResolvedProjectReferenceToRedirect(fileName); @@ -109305,15 +109326,15 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function pathForLibFile(libFileName) { const components = libFileName.split("."); - let path = components[1]; + let path2 = components[1]; let i = 2; while (components[i] && components[i] !== "d") { - path += (i === 2 ? "/" : "-") + components[i]; + path2 += (i === 2 ? "/" : "-") + components[i]; i++; } const modulePathType = getModuleByPMType(options.packageManagerType); const resolveFrom = combinePaths(currentDirectory, `__lib_${modulePathType}_lookup_${libFileName}__.ts`); - const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); + const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path2, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); if (localOverrideModuleResult == null ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; } @@ -110017,9 +110038,9 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { host.compilerHost.fileExists = fileExists; let directoryExists; if (originalDirectoryExists) { - directoryExists = host.compilerHost.directoryExists = (path) => { - if (originalDirectoryExists.call(host.compilerHost, path)) { - handleDirectoryCouldBeSymlink(path); + directoryExists = host.compilerHost.directoryExists = (path2) => { + if (originalDirectoryExists.call(host.compilerHost, path2)) { + handleDirectoryCouldBeSymlink(path2); return true; } if (!host.getResolvedProjectReferences()) @@ -110038,11 +110059,11 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { } }); } - return fileOrDirectoryExistsUsingSource(path, false); + return fileOrDirectoryExistsUsingSource(path2, false); }; } if (originalGetDirectories) { - host.compilerHost.getDirectories = (path) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path) ? originalGetDirectories.call(host.compilerHost, path) : []; + host.compilerHost.getDirectories = (path2) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path2) ? originalGetDirectories.call(host.compilerHost, path2) : []; } if (originalRealpath) { host.compilerHost.realpath = (s) => { @@ -110436,12 +110457,12 @@ var BuilderState; state.allFileNames = void 0; } BuilderState2.releaseCache = releaseCache2; - function getFilesAffectedBy(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { + function getFilesAffectedBy(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { var _a2, _b; const result = getFilesAffectedByWithOldState( state, programOfThisState, - path, + path2, cancellationToken, computeHash, getCanonicalFileName @@ -110451,8 +110472,8 @@ var BuilderState; return result; } BuilderState2.getFilesAffectedBy = getFilesAffectedBy; - function getFilesAffectedByWithOldState(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { - const sourceFile = programOfThisState.getSourceFileByPath(path); + function getFilesAffectedByWithOldState(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { + const sourceFile = programOfThisState.getSourceFileByPath(path2); if (!sourceFile) { return emptyArray; } @@ -110462,9 +110483,9 @@ var BuilderState; return (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName); } BuilderState2.getFilesAffectedByWithOldState = getFilesAffectedByWithOldState; - function updateSignatureOfFile(state, signature, path) { - state.fileInfos.get(path).signature = signature; - (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path); + function updateSignatureOfFile(state, signature, path2) { + state.fileInfos.get(path2).signature = signature; + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path2); } BuilderState2.updateSignatureOfFile = updateSignatureOfFile; function updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName, useFileVersionAsSignature = state.useFileVersionAsSignature) { @@ -110534,7 +110555,7 @@ var BuilderState; if (!exportedModules) { exportedModules = new Set2(); } - exportedModulePaths.forEach((path) => exportedModules.add(path)); + exportedModulePaths.forEach((path2) => exportedModules.add(path2)); } } } @@ -110550,10 +110571,10 @@ var BuilderState; const seenMap = new Set2(); const queue = [sourceFile.resolvedPath]; while (queue.length) { - const path = queue.pop(); - if (!seenMap.has(path)) { - seenMap.add(path); - const references = state.referencedMap.getValues(path); + const path2 = queue.pop(); + if (!seenMap.has(path2)) { + seenMap.add(path2); + const references = state.referencedMap.getValues(path2); if (references) { const iterator = references.keys(); for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) { @@ -110562,9 +110583,9 @@ var BuilderState; } } } - return arrayFrom(mapDefinedIterator(seenMap.keys(), (path) => { + return arrayFrom(mapDefinedIterator(seenMap.keys(), (path2) => { var _a2, _b; - return (_b = (_a2 = programOfThisState.getSourceFileByPath(path)) == null ? void 0 : _a2.fileName) != null ? _b : path; + return (_b = (_a2 = programOfThisState.getSourceFileByPath(path2)) == null ? void 0 : _a2.fileName) != null ? _b : path2; })); } BuilderState2.getAllDependencies = getAllDependencies; @@ -110697,7 +110718,7 @@ function createBuilderProgramState(newProgram, getCanonicalFileName, oldState, d var _a3, _b2; let oldInfo; let newReferences; - if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path) => !state.fileInfos.has(path) && oldState.fileInfos.has(path))) { + if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path2) => !state.fileInfos.has(path2) && oldState.fileInfos.has(path2))) { state.changedFilesSet.add(sourceFilePath); } else if (canCopySemanticDiagnostics) { const sourceFile = newProgram.getSourceFileByPath(sourceFilePath); @@ -110762,8 +110783,8 @@ function convertToDiagnostics(diagnostics, newProgram, getCanonicalFileName) { result.relatedInformation = relatedInformation ? relatedInformation.length ? relatedInformation.map((r) => convertToDiagnosticRelatedInformation(r, newProgram, toPath3)) : [] : void 0; return result; }); - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } } function convertToDiagnosticRelatedInformation(diagnostic, newProgram, toPath3) { @@ -110922,11 +110943,11 @@ function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken host ); } -function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCanonicalFileName, host) { - removeSemanticDiagnosticsOf(state, path); - if (!state.changedFilesSet.has(path)) { +function handleDtsMayChangeOf(state, path2, cancellationToken, computeHash, getCanonicalFileName, host) { + removeSemanticDiagnosticsOf(state, path2); + if (!state.changedFilesSet.has(path2)) { const program = Debug.checkDefined(state.program); - const sourceFile = program.getSourceFileByPath(path); + const sourceFile = program.getSourceFileByPath(path2); if (sourceFile) { BuilderState.updateShapeSignature( state, @@ -110938,22 +110959,22 @@ function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCa !host.disableUseFileVersionAsSignature ); if (getEmitDeclarations(state.compilerOptions)) { - addToAffectedFilesPendingEmit(state, path, 0 /* DtsOnly */); + addToAffectedFilesPendingEmit(state, path2, 0 /* DtsOnly */); } } } } -function removeSemanticDiagnosticsOf(state, path) { +function removeSemanticDiagnosticsOf(state, path2) { if (!state.semanticDiagnosticsFromOldState) { return true; } - state.semanticDiagnosticsFromOldState.delete(path); - state.semanticDiagnosticsPerFile.delete(path); + state.semanticDiagnosticsFromOldState.delete(path2); + state.semanticDiagnosticsPerFile.delete(path2); return !state.semanticDiagnosticsFromOldState.size; } -function isChangedSignature(state, path) { - const oldSignature = Debug.checkDefined(state.oldSignatures).get(path) || void 0; - const newSignature = Debug.checkDefined(state.fileInfos.get(path)).signature; +function isChangedSignature(state, path2) { + const oldSignature = Debug.checkDefined(state.oldSignatures).get(path2) || void 0; + const newSignature = Debug.checkDefined(state.fileInfos.get(path2)).signature; return newSignature !== oldSignature; } function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host) { @@ -111078,25 +111099,25 @@ function getSemanticDiagnosticsOfFile(state, sourceFile, cancellationToken) { ); } function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationToken) { - const path = sourceFile.resolvedPath; + const path2 = sourceFile.resolvedPath; if (state.semanticDiagnosticsPerFile) { - const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path); + const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path2); if (cachedDiagnostics) { return filterSemanticDiagnostics(cachedDiagnostics, state.compilerOptions); } } const diagnostics = Debug.checkDefined(state.program).getBindAndCheckDiagnostics(sourceFile, cancellationToken, state.isForLinter); if (state.semanticDiagnosticsPerFile) { - state.semanticDiagnosticsPerFile.set(path, diagnostics); + state.semanticDiagnosticsPerFile.set(path2, diagnostics); } if (state.constEnumRelatePerFile) { let checker = Debug.checkDefined(state.program).getTypeChecker(); - let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path) : void 0; + let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path2) : void 0; if (newCache) { - let oldCache = state.constEnumRelatePerFile.get(path); + let oldCache = state.constEnumRelatePerFile.get(path2); if (!oldCache) { if (newCache.size > 0) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } else { let isEqual = true; @@ -111116,10 +111137,10 @@ function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationTok }); } if (!isEqual) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } - checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path); + checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path2); } } return filterSemanticDiagnostics(diagnostics, state.compilerOptions); @@ -111221,16 +111242,16 @@ function getProgramBuildInfo(state, getCanonicalFileName) { let affectedFilesPendingEmit; if (state.affectedFilesPendingEmit) { const seenFiles = new Set2(); - for (const path of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { - if (tryAddToSet(seenFiles, path)) { - (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path), state.affectedFilesPendingEmitKind.get(path)]); + for (const path2 of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { + if (tryAddToSet(seenFiles, path2)) { + (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path2), state.affectedFilesPendingEmitKind.get(path2)]); } } } let changeFileSet; if (state.changedFilesSet.size) { - for (const path of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { - (changeFileSet || (changeFileSet = [])).push(toFileId(path)); + for (const path2 of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { + (changeFileSet || (changeFileSet = [])).push(toFileId(path2)); } } let constEnumRelateCache = {}; @@ -111270,17 +111291,17 @@ function getProgramBuildInfo(state, getCanonicalFileName) { result.constEnumRelateCache = constEnumRelateCache; } return result; - function relativeToBuildInfoEnsuringAbsolutePath(path) { - return relativeToBuildInfo(getNormalizedAbsolutePath(path, currentDirectory)); + function relativeToBuildInfoEnsuringAbsolutePath(path2) { + return relativeToBuildInfo(getNormalizedAbsolutePath(path2, currentDirectory)); } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, getCanonicalFileName)); } - function toFileId(path) { - let fileId = fileNameToFileId.get(path); + function toFileId(path2) { + let fileId = fileNameToFileId.get(path2); if (fileId === void 0) { - fileNames.push(relativeToBuildInfo(path)); - fileNameToFileId.set(path, fileId = fileNames.length); + fileNames.push(relativeToBuildInfo(path2)); + fileNameToFileId.set(path2, fileId = fileNames.length); } return fileId; } @@ -111588,7 +111609,7 @@ function createBuilderProgram(kind, { newProgram, host, oldProgram, configFilePa }; } else if ((_a2 = state.affectedFilesPendingEmitKind) == null ? void 0 : _a2.size) { Debug.assert(kind === 0 /* SemanticDiagnosticsBuilderProgram */); - if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path) === 0 /* DtsOnly */)) { + if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path2, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path2) === 0 /* DtsOnly */)) { clearAffectedFilesPendingEmit(state); } } @@ -111693,11 +111714,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) const fileInfos = new Map2(); const emitSignatures = ((_c = program.options) == null ? void 0 : _c.composite) && !outFile(program.options) ? new Map2() : void 0; program.fileInfos.forEach((fileInfo, index) => { - const path = toFilePath(index + 1); + const path2 = toFilePath(index + 1); const stateFileInfo = toBuilderStateFileInfo(fileInfo); - fileInfos.set(path, stateFileInfo); + fileInfos.set(path2, stateFileInfo); if (emitSignatures && stateFileInfo.signature) - emitSignatures.set(path, stateFileInfo.signature); + emitSignatures.set(path2, stateFileInfo.signature); }); (_d = program.emitSignatures) == null ? void 0 : _d.forEach((value) => { if (isNumber(value)) @@ -111769,11 +111790,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) close: noop, hasChangedEmitSignature: returnFalse }; - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } - function toAbsolutePath(path) { - return getNormalizedAbsolutePath(path, buildInfoDirectory); + function toAbsolutePath(path2) { + return getNormalizedAbsolutePath(path2, buildInfoDirectory); } function toFilePath(fileId) { return filePaths[fileId - 1]; @@ -111797,9 +111818,9 @@ function getBuildInfoFileVersionMap(program, buildInfoPath, host) { const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames()); const fileInfos = new Map2(); program.fileInfos.forEach((fileInfo, index) => { - const path = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); + const path2 = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); const version2 = isString(fileInfo) ? fileInfo : fileInfo.version; - fileInfos.set(path, version2); + fileInfos.set(path2, version2); }); return fileInfos; } @@ -111877,11 +111898,11 @@ function createAbstractBuilder(newProgramOrRootNames, hostOrOptions, oldProgramO } // src/compiler/resolutionCache.ts -function removeIgnoredPath(path) { - if (endsWith(path, "/node_modules/.staging") || endsWith(path, "/oh_modules/.staging")) { - return removeSuffix(path, "/.staging"); +function removeIgnoredPath(path2) { + if (endsWith(path2, "/node_modules/.staging") || endsWith(path2, "/oh_modules/.staging")) { + return removeSuffix(path2, "/.staging"); } - return some(ignoredPaths, (searchPath) => stringContains(path, searchPath)) ? void 0 : path; + return some(ignoredPaths, (searchPath) => stringContains(path2, searchPath)) ? void 0 : path2; } function canWatchDirectoryOrFile(dirPath) { const rootLength = getRootLength(dirPath); @@ -112018,18 +112039,18 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW filesWithChangedSetOfUnresolvedImports = void 0; return collected; } - function isFileWithInvalidatedNonRelativeUnresolvedImports(path) { + function isFileWithInvalidatedNonRelativeUnresolvedImports(path2) { if (!filesWithInvalidatedNonRelativeUnresolvedImports) { return false; } - const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); + const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path2); return !!value && !!value.length; } function createHasInvalidatedResolutions(customHasInvalidatedResolutions) { invalidateResolutionsOfFailedLookupLocations(); const collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = void 0; - return (path) => customHasInvalidatedResolutions(path) || !!(collected == null ? void 0 : collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); + return (path2) => customHasInvalidatedResolutions(path2) || !!(collected == null ? void 0 : collected.has(path2)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path2); } function startCachingPerDirectoryResolution() { moduleResolutionCache.clearAllExceptPackageJsonInfoCache(); @@ -112059,22 +112080,22 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW else impliedFormatPackageJsons.delete(newFile.path); }); - impliedFormatPackageJsons.forEach((existing, path) => { - if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path))) { + impliedFormatPackageJsons.forEach((existing, path2) => { + if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path2))) { existing.forEach((location2) => fileWatchesOfAffectingLocations.get(location2).files--); - impliedFormatPackageJsons.delete(path); + impliedFormatPackageJsons.delete(path2); } }); } - directoryWatchesOfFailedLookups.forEach((watcher, path) => { + directoryWatchesOfFailedLookups.forEach((watcher, path2) => { if (watcher.refCount === 0) { - directoryWatchesOfFailedLookups.delete(path); + directoryWatchesOfFailedLookups.delete(path2); watcher.watcher.close(); } }); - fileWatchesOfAffectingLocations.forEach((watcher, path) => { + fileWatchesOfAffectingLocations.forEach((watcher, path2) => { if (watcher.files === 0 && watcher.resolutions === 0) { - fileWatchesOfAffectingLocations.delete(path); + fileWatchesOfAffectingLocations.delete(path2); watcher.watcher.close(); } }); @@ -112122,9 +112143,9 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW containingSourceFileMode }) { var _a2, _b, _c; - const path = resolutionHost.toPath(containingFile); - const resolutionsInFile = cache.get(path) || cache.set(path, createModeAwareCache()).get(path); - const dirPath = getDirectoryPath(path); + const path2 = resolutionHost.toPath(containingFile); + const resolutionsInFile = cache.get(path2) || cache.set(path2, createModeAwareCache()).get(path2); + const dirPath = getDirectoryPath(path2); const perDirectoryCache = perDirectoryCacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference); let perDirectoryResolution = perDirectoryCache.get(dirPath); if (!perDirectoryResolution) { @@ -112133,7 +112154,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } const resolvedModules = []; const compilerOptions = resolutionHost.getCompilationSettings(); - const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path); + const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path2); const program = resolutionHost.getCurrentProgram(); const oldRedirect = program && program.getResolvedProjectReferenceToRedirect(containingFile); const unmatchedRedirects = oldRedirect ? !redirectedReference || redirectedReference.sourceFile.path !== oldRedirect.sourceFile.path : !!redirectedReference; @@ -112170,12 +112191,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } } resolutionsInFile.set(name, mode, resolution); - watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path, getResolutionWithResolvedFileName); + watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path2, getResolutionWithResolvedFileName); if (existingResolution) { - stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(existingResolution, path2, getResolutionWithResolvedFileName); } if (logChanges && filesWithChangedSetOfUnresolvedImports && !resolutionIsEqualTo(existingResolution, resolution)) { - filesWithChangedSetOfUnresolvedImports.push(path); + filesWithChangedSetOfUnresolvedImports.push(path2); logChanges = false; } } else { @@ -112198,7 +112219,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } resolutionsInFile.forEach((resolution, name, mode) => { if (!seenNamesInFile.has(name, mode) && !contains(reusedNames, name)) { - stopWatchFailedLookupLocationOfResolution(resolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(resolution, path2, getResolutionWithResolvedFileName); resolutionsInFile.delete(name, mode); } }); @@ -112308,8 +112329,8 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } return canWatchDirectoryOrFile(dirPath) ? { dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath, nonRecursive } : void 0; } - function isPathWithDefaultFailedLookupExtension(path) { - return fileExtensionIsOneOf(path, failedLookupDefaultExtensions); + function isPathWithDefaultFailedLookupExtension(path2) { + return fileExtensionIsOneOf(path2, failedLookupDefaultExtensions); } function watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, filePath, getResolutionWithResolvedFileName) { if (resolution.refCount) { @@ -112401,12 +112422,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW let actualWatcher = canWatchDirectoryOrFile(resolutionHost.toPath(locationToWatch)) ? resolutionHost.watchAffectingFileLocation(locationToWatch, (fileName, eventKind) => { cachedDirectoryStructureHost == null ? void 0 : cachedDirectoryStructureHost.addOrDeleteFile(fileName, resolutionHost.toPath(locationToWatch), eventKind); const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); - paths.forEach((path) => { + paths.forEach((path2) => { if (watcher.resolutions) - (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path); + (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path2); if (watcher.files) - (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path); - packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path)); + (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path2); + packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path2)); }); resolutionHost.scheduleInvalidateResolutionsOfFailedLookupLocations(); }) : noopFileWatcher; @@ -112599,7 +112620,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW invalidated = invalidateResolutions(resolutionsWithFailedLookups, canInvalidateFailedLookupResolution) || invalidated; const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); if (packageJsonMap && (failedLookupChecks || startsWithPathChecks || isInDirectoryChecks)) { - packageJsonMap.forEach((_value, path) => isInvalidatedFailedLookup(path) ? packageJsonMap.delete(path) : void 0); + packageJsonMap.forEach((_value, path2) => isInvalidatedFailedLookup(path2) ? packageJsonMap.delete(path2) : void 0); } failedLookupChecks = void 0; startsWithPathChecks = void 0; @@ -112915,7 +112936,7 @@ function fileIncludeReasonToDiagnostics(program, reason, fileNameConvertor) { var _a2, _b; const options = program.getCompilerOptions(); if (isReferencedFile(reason)) { - const referenceLocation = getReferencedFileLocation((path) => program.getSourceFileByPath(path), reason); + const referenceLocation = getReferencedFileLocation((path2) => program.getSourceFileByPath(path2), reason); const referenceText = isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : `"${referenceLocation.text}"`; let message; Debug.assert(isReferenceFileLocation(referenceLocation) || reason.kind === 3 /* Import */, "Only synthetic references are imports"); @@ -113144,9 +113165,9 @@ function createCompilerHostFromProgramHost(host, getCompilerOptions, directorySt fileName, text, writeByteOrderMark, - (path, data, writeByteOrderMark2) => host.writeFile(path, data, writeByteOrderMark2), - (path) => host.createDirectory(path), - (path) => host.directoryExists(path) + (path2, data, writeByteOrderMark2) => host.writeFile(path2, data, writeByteOrderMark2), + (path2) => host.createDirectory(path2), + (path2) => host.directoryExists(path2) ); performance.mark("afterIOWrite"); performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -113176,16 +113197,16 @@ function createProgramHost(system, createProgram2) { getCurrentDirectory: memoize(() => system.getCurrentDirectory()), getDefaultLibLocation, getDefaultLibFileName: (options) => combinePaths(getDefaultLibLocation(), getDefaultLibFileName(options)), - fileExists: (path) => system.fileExists(path), - readFile: (path, encoding) => system.readFile(path, encoding), - directoryExists: (path) => system.directoryExists(path), - getDirectories: (path) => system.getDirectories(path), - readDirectory: (path, extensions, exclude, include, depth) => system.readDirectory(path, extensions, exclude, include, depth), + fileExists: (path2) => system.fileExists(path2), + readFile: (path2, encoding) => system.readFile(path2, encoding), + directoryExists: (path2) => system.directoryExists(path2), + getDirectories: (path2) => system.getDirectories(path2), + readDirectory: (path2, extensions, exclude, include, depth) => system.readDirectory(path2, extensions, exclude, include, depth), realpath: maybeBind(system, system.realpath), getEnvironmentVariable: maybeBind(system, system.getEnvironmentVariable), trace: (s) => system.write(s + system.newLine), - createDirectory: (path) => system.createDirectory(path), - writeFile: (path, data, writeByteOrderMark) => system.writeFile(path, data, writeByteOrderMark), + createDirectory: (path2) => system.createDirectory(path2), + writeFile: (path2, data, writeByteOrderMark) => system.writeFile(path2, data, writeByteOrderMark), createHash: maybeBind(system, system.createHash), createProgram: createProgram2 || createEmitAndSemanticDiagnosticsBuilderProgram, disableUseFileVersionAsSignature: system.disableUseFileVersionAsSignature, @@ -113502,7 +113523,7 @@ function createWatchProgram(host) { originalWriteFile, readFileWithCache } = changeCompilerHostLikeToUseCache(compilerHost, toPath3); - if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path) => getSourceVersion(path, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path2) => getSourceVersion(path2, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { if (reportFileChangeDetectedOnCreateProgram) { reportWatchDiagnostic(Diagnostics.File_change_detected_Starting_incremental_compilation); @@ -113573,14 +113594,14 @@ function createWatchProgram(host) { return typeof hostSourceFile.version === "boolean"; } function fileExists(fileName) { - const path = toPath3(fileName); - if (isFileMissingOnHost(sourceFilesCache.get(path))) { + const path2 = toPath3(fileName); + if (isFileMissingOnHost(sourceFilesCache.get(path2))) { return false; } return directoryStructureHost.fileExists(fileName); } - function getVersionedSourceFileByPath(fileName, path, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { - const hostSourceFile = sourceFilesCache.get(path); + function getVersionedSourceFileByPath(fileName, path2, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { + const hostSourceFile = sourceFilesCache.get(path2); if (isFileMissingOnHost(hostSourceFile)) { return void 0; } @@ -113591,43 +113612,43 @@ function createWatchProgram(host) { hostSourceFile.sourceFile = sourceFile; hostSourceFile.version = sourceFile.version; if (!hostSourceFile.fileWatcher) { - hostSourceFile.fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + hostSourceFile.fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); } } else { if (hostSourceFile.fileWatcher) { hostSourceFile.fileWatcher.close(); } - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } else { if (sourceFile) { - const fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); - sourceFilesCache.set(path, { sourceFile, version: sourceFile.version, fileWatcher }); + const fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + sourceFilesCache.set(path2, { sourceFile, version: sourceFile.version, fileWatcher }); } else { - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } return sourceFile; } return hostSourceFile.sourceFile; } - function nextSourceFileVersion(path) { - const hostSourceFile = sourceFilesCache.get(path); + function nextSourceFileVersion(path2) { + const hostSourceFile = sourceFilesCache.get(path2); if (hostSourceFile !== void 0) { if (isFileMissingOnHost(hostSourceFile)) { - sourceFilesCache.set(path, { version: false }); + sourceFilesCache.set(path2, { version: false }); } else { hostSourceFile.version = false; } } } - function getSourceVersion(path, readFileWithCache) { - const hostSourceFile = sourceFilesCache.get(path); + function getSourceVersion(path2, readFileWithCache) { + const hostSourceFile = sourceFilesCache.get(path2); if (!hostSourceFile) return void 0; if (hostSourceFile.version) return hostSourceFile.version; - const text = readFileWithCache(path); + const text = readFileWithCache(path2); return text !== void 0 ? (compilerHost.createHash || generateDjb2Hash)(text) : void 0; } function onReleaseOldSourceFile(oldSourceFile, _oldOptions, hasSourceFileByPath) { @@ -113799,30 +113820,30 @@ function createWatchProgram(host) { } function onReleaseParsedCommandLine(fileName) { var _a2; - const path = toPath3(fileName); - const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path); + const path2 = toPath3(fileName); + const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path2); if (!config) return; - parsedConfigs.delete(path); + parsedConfigs.delete(path2); if (config.watchedDirectories) clearMap(config.watchedDirectories, closeFileWatcherOf); (_a2 = config.watcher) == null ? void 0 : _a2.close(); - clearSharedExtendedConfigFileWatcher(path, sharedExtendedConfigFileWatchers); + clearSharedExtendedConfigFileWatcher(path2, sharedExtendedConfigFileWatchers); } - function watchFilePath(path, file, callback, pollingInterval, options, watchType) { - return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path), pollingInterval, options, watchType); + function watchFilePath(path2, file, callback, pollingInterval, options, watchType) { + return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path2), pollingInterval, options, watchType); } - function onSourceFileChange(fileName, eventKind, path) { - updateCachedSystemWithFile(fileName, path, eventKind); - if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path)) { - resolutionCache.invalidateResolutionOfFile(path); + function onSourceFileChange(fileName, eventKind, path2) { + updateCachedSystemWithFile(fileName, path2, eventKind); + if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path2)) { + resolutionCache.invalidateResolutionOfFile(path2); } - nextSourceFileVersion(path); + nextSourceFileVersion(path2); scheduleProgramUpdate(); } - function updateCachedSystemWithFile(fileName, path, eventKind) { + function updateCachedSystemWithFile(fileName, path2, eventKind) { if (cachedDirectoryStructureHost) { - cachedDirectoryStructureHost.addOrDeleteFile(fileName, path, eventKind); + cachedDirectoryStructureHost.addOrDeleteFile(fileName, path2, eventKind); } } function watchMissingFilePath(missingFilePath) { @@ -114046,9 +114067,9 @@ function createBuilderStatusReporter(system, pretty) { } function createSolutionBuilderHostBase(system, createProgram2, reportDiagnostic, reportSolutionBuilderStatus) { const host = createProgramHost(system, createProgram2); - host.getModifiedTime = system.getModifiedTime ? (path) => system.getModifiedTime(path) : returnUndefined; - host.setModifiedTime = system.setModifiedTime ? (path, date) => system.setModifiedTime(path, date) : noop; - host.deleteFile = system.deleteFile ? (path) => system.deleteFile(path) : noop; + host.getModifiedTime = system.getModifiedTime ? (path2) => system.getModifiedTime(path2) : returnUndefined; + host.setModifiedTime = system.setModifiedTime ? (path2, date) => system.setModifiedTime(path2, date) : noop; + host.deleteFile = system.deleteFile ? (path2) => system.deleteFile(path2) : noop; host.reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); host.reportSolutionBuilderStatus = reportSolutionBuilderStatus || createBuilderStatusReporter(system); host.now = maybeBind(system, system.now); @@ -114156,9 +114177,9 @@ function toPath2(state, fileName) { } function toResolvedConfigFilePath(state, fileName) { const { resolvedConfigFilePaths } = state; - const path = resolvedConfigFilePaths.get(fileName); - if (path !== void 0) - return path; + const path2 = resolvedConfigFilePaths.get(fileName); + if (path2 !== void 0) + return path2; const resolvedPath = toPath2(state, fileName); resolvedConfigFilePaths.set(fileName, resolvedPath); return resolvedPath; @@ -114540,7 +114561,7 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, if (state.watch) { state.lastCachedPackageJsonLookups.set(projectPath, state.moduleResolutionCache && map( state.moduleResolutionCache.getPackageJsonInfoCache().entries(), - ([path, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path)) : path, data] + ([path2, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path2)) : path2, data] )); state.builderPrograms.set(projectPath, program); } @@ -114624,13 +114645,13 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, let outputTimeStampMap; let now; outputFiles.forEach(({ name, text, writeByteOrderMark, buildInfo }) => { - const path = toPath2(state, name); + const path2 = toPath2(state, name); emittedOutputs.set(toPath2(state, name), name); if (buildInfo) setBuildInfo(state, buildInfo, projectPath, options, resultFlags); writeFile(writeFileCallback ? { writeFile: writeFileCallback } : compilerHost, emitterDiagnostics, name, text, writeByteOrderMark); if (!isIncremental && state.watch) { - (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path, now || (now = getCurrentTime(state.host))); + (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path2, now || (now = getCurrentTime(state.host))); } }); finishEmit( @@ -114945,8 +114966,8 @@ function isFileWatcherWithModifiedTime(value) { return !!value.watcher; } function getModifiedTime2(state, fileName) { - const path = toPath2(state, fileName); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, fileName); + const existing = state.filesWatched.get(path2); if (state.watch && !!existing) { if (!isFileWatcherWithModifiedTime(existing)) return existing; @@ -114958,20 +114979,20 @@ function getModifiedTime2(state, fileName) { if (existing) existing.modifiedTime = result; else - state.filesWatched.set(path, result); + state.filesWatched.set(path2, result); } return result; } function watchFile(state, file, callback, pollingInterval, options, watchType, project) { - const path = toPath2(state, file); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, file); + const existing = state.filesWatched.get(path2); if (existing && isFileWatcherWithModifiedTime(existing)) { existing.callbacks.push(callback); } else { const watcher = state.watchFile( file, (fileName, eventKind, modifiedTime) => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); existing2.modifiedTime = modifiedTime; existing2.callbacks.forEach((cb) => cb(fileName, eventKind, modifiedTime)); @@ -114981,14 +115002,14 @@ function watchFile(state, file, callback, pollingInterval, options, watchType, p watchType, project ); - state.filesWatched.set(path, { callbacks: [callback], watcher, modifiedTime: existing }); + state.filesWatched.set(path2, { callbacks: [callback], watcher, modifiedTime: existing }); } return { close: () => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); if (existing2.callbacks.length === 1) { - state.filesWatched.delete(path); + state.filesWatched.delete(path2); closeFileWatcherOf(existing2); } else { unorderedRemoveItem(existing2.callbacks, callback); @@ -115023,19 +115044,19 @@ function setBuildInfo(state, buildInfo, resolvedConfigPath, options, resultFlags } } function getBuildInfoCacheEntry(state, buildInfoPath, resolvedConfigPath) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - return (existing == null ? void 0 : existing.path) === path ? existing : void 0; + return (existing == null ? void 0 : existing.path) === path2 ? existing : void 0; } function getBuildInfo2(state, buildInfoPath, resolvedConfigPath, modifiedTime) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - if (existing !== void 0 && existing.path === path) { + if (existing !== void 0 && existing.path === path2) { return existing.buildInfo || void 0; } const value = state.readFileWithCache(buildInfoPath); const buildInfo = value ? getBuildInfo(buildInfoPath, value) : void 0; - state.buildInfoCache.set(resolvedConfigPath, { path, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); + state.buildInfoCache.set(resolvedConfigPath, { path: path2, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); return buildInfo; } function checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName) { @@ -115174,11 +115195,11 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { const outputs = getAllProjectOutputs(project, !host.useCaseSensitiveFileNames()); const outputTimeStampMap = getOutputTimeStampMap(state, resolvedPath); for (const output of outputs) { - const path = toPath2(state, output); - let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path); + const path2 = toPath2(state, output); + let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path2); if (!outputTime) { outputTime = getModifiedTime(state.host, output); - outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path, outputTime); + outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path2, outputTime); } if (outputTime === missingFileModifiedTime) { return { @@ -115238,7 +115259,7 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { return extendedConfigStatus; const dependentPackageFileStatus = forEach( state.lastCachedPackageJsonLookups.get(resolvedPath) || emptyArray, - ([path]) => checkConfigFileUpToDateStatus(state, path, oldestOutputFileTime, oldestOutputFileName) + ([path2]) => checkConfigFileUpToDateStatus(state, path2, oldestOutputFileTime, oldestOutputFileName) ); if (dependentPackageFileStatus) return dependentPackageFileStatus; @@ -115297,8 +115318,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, if (!skipOutputs || outputs.length !== skipOutputs.size) { let reportVerbose = !!state.options.verbose; for (const file of outputs) { - const path = toPath2(state, file); - if (skipOutputs == null ? void 0 : skipOutputs.has(path)) + const path2 = toPath2(state, file); + if (skipOutputs == null ? void 0 : skipOutputs.has(path2)) continue; if (reportVerbose) { reportVerbose = false; @@ -115306,8 +115327,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, } host.setModifiedTime(file, now || (now = getCurrentTime(state.host))); if (outputTimeStampMap) { - outputTimeStampMap.set(path, now); - modifiedOutputs.add(path); + outputTimeStampMap.set(path2, now); + modifiedOutputs.add(path2); } } } @@ -115626,9 +115647,9 @@ function watchPackageJsonFiles(state, resolved, resolvedPath, parsed) { getOrCreateValueMapFromConfigFileMap(state.allWatchedPackageJsonFiles, resolvedPath), new Map2(state.lastCachedPackageJsonLookups.get(resolvedPath)), { - createNewValue: (path, _input) => watchFile( + createNewValue: (path2, _input) => watchFile( state, - path, + path2, () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* None */), 2e3 /* High */, parsed == null ? void 0 : parsed.watchOptions, @@ -115686,8 +115707,8 @@ function createSolutionBuilderWorker(watch, hostOrHostWithWatch, rootNames, opti close: () => stopWatching(state) }; } -function relName(state, path) { - return convertToRelativePath(path, state.currentDirectory, (f) => state.getCanonicalFileName(f)); +function relName(state, path2) { + return convertToRelativePath(path2, state.currentDirectory, (f) => state.getCanonicalFileName(f)); } function reportStatus(state, message, ...args) { state.host.reportSolutionBuilderStatus(createCompilerDiagnostic(message, ...args)); @@ -115941,11 +115962,11 @@ function nonRelativeModuleNameForTypingCache(moduleName) { return nodeCoreModules.has(moduleName) ? "node" : moduleName; } function loadSafeList(host, safeListPath) { - const result = readConfigFile(safeListPath, (path) => host.readFile(path)); + const result = readConfigFile(safeListPath, (path2) => host.readFile(path2)); return new Map2(getEntries(result.config)); } function loadTypesMap(host, typesMapPath) { - const result = readConfigFile(typesMapPath, (path) => host.readFile(path)); + const result = readConfigFile(typesMapPath, (path2) => host.readFile(path2)); if (result.config) { return new Map2(getEntries(result.config.simpleMap)); } @@ -115957,9 +115978,9 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag } const inferredTypings = new Map2(); fileNames = mapDefined(fileNames, (fileName) => { - const path = normalizePath(fileName); - if (hasJSFileExtension(path)) { - return path; + const path2 = normalizePath(fileName); + if (hasJSFileExtension(path2)) { + return path2; } }); const filesToWatch = []; @@ -116026,7 +116047,7 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag let manifestTypingNames; if (host.fileExists(manifestPath)) { filesToWatch2.push(manifestPath); - manifest = readConfigFile(manifestPath, (path) => host.readFile(path)).config; + manifest = readConfigFile(manifestPath, (path2) => host.readFile(path2)).config; manifestTypingNames = flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], getOwnKeys); addInferredTypings(manifestTypingNames, `Typing names in '${manifestPath}' dependencies`); } @@ -116048,7 +116069,7 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag log(`Searching for typing names in ${packagesFolderPath}; all files: ${JSON.stringify(dependencyManifestNames)}`); for (const manifestPath2 of dependencyManifestNames) { const normalizedFileName = normalizePath(manifestPath2); - const result2 = readConfigFile(normalizedFileName, (path) => host.readFile(path)); + const result2 = readConfigFile(normalizedFileName, (path2) => host.readFile(path2)); const manifest2 = result2.config; if (!manifest2.name) { continue; @@ -117282,7 +117303,6 @@ __export(ts_exports3, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, - getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -118501,6 +118521,7 @@ __export(ts_exports3, { setEachParent: () => setEachParent, setEmitFlags: () => setEmitFlags, setGetSourceFileAsHashVersioned: () => setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath: () => setLanguageVersionByFilePath, setLocalizedDiagnosticMessages: () => setLocalizedDiagnosticMessages, setModuleDefaultHelper: () => setModuleDefaultHelper, setNodeFlags: () => setNodeFlags, @@ -121347,14 +121368,14 @@ function probablyUsesSemicolons(sourceFile) { function tryGetDirectories(host, directoryName) { return tryIOAndConsumeErrors(host, host.getDirectories, directoryName) || []; } -function tryReadDirectory(host, path, extensions, exclude, include) { - return tryIOAndConsumeErrors(host, host.readDirectory, path, extensions, exclude, include) || emptyArray; +function tryReadDirectory(host, path2, extensions, exclude, include) { + return tryIOAndConsumeErrors(host, host.readDirectory, path2, extensions, exclude, include) || emptyArray; } -function tryFileExists(host, path) { - return tryIOAndConsumeErrors(host, host.fileExists, path); +function tryFileExists(host, path2) { + return tryIOAndConsumeErrors(host, host.fileExists, path2); } -function tryDirectoryExists(host, path) { - return tryAndIgnoreErrors(() => directoryProbablyExists(path, host)) || false; +function tryDirectoryExists(host, path2) { + return tryAndIgnoreErrors(() => directoryProbablyExists(path2, host)) || false; } function tryAndIgnoreErrors(cb) { try { @@ -123388,27 +123409,27 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect return settingsOrHost; } function acquireDocument(fileName, compilationSettings, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); + return acquireDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); } - function acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version2, true, scriptKind, languageVersionOrOptions); + function acquireDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path2, compilationSettings, key, scriptSnapshot, version2, true, scriptKind, languageVersionOrOptions); } function updateDocument(fileName, compilationSettings, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); + return updateDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); } - function updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - return acquireOrUpdateDocument(fileName, path, getCompilationSettings(compilationSettings), key, scriptSnapshot, version2, false, scriptKind, languageVersionOrOptions); + function updateDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path2, getCompilationSettings(compilationSettings), key, scriptSnapshot, version2, false, scriptKind, languageVersionOrOptions); } function getDocumentRegistryEntry(bucketEntry, scriptKind) { const entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); Debug.assert(scriptKind === void 0 || !entry || entry.sourceFile.scriptKind === scriptKind, `Script kind should match provided ScriptKind:${scriptKind} and sourceFile.scriptKind: ${entry == null ? void 0 : entry.sourceFile.scriptKind}, !entry: ${!entry}`); return entry; } - function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version2, acquiring, scriptKind, languageVersionOrOptions) { + function acquireOrUpdateDocument(fileName, path2, compilationSettingsOrHost, key, scriptSnapshot, version2, acquiring, scriptKind, languageVersionOrOptions) { var _a2, _b, _c, _d; scriptKind = ensureScriptKind(fileName, scriptKind); const compilationSettings = getCompilationSettings(compilationSettingsOrHost); @@ -123416,7 +123437,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect const scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : getEmitScriptTarget(compilationSettings); const sourceFileOptions = typeof languageVersionOrOptions === "object" ? languageVersionOrOptions : { languageVersion: scriptTarget, - impliedNodeFormat: host && getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a2 = host.getCompilerHost) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getModuleResolutionCache) == null ? void 0 : _c.call(_b)) == null ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), + impliedNodeFormat: host && getImpliedNodeFormatForFile(path2, (_d = (_c = (_b = (_a2 = host.getCompilerHost) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getModuleResolutionCache) == null ? void 0 : _c.call(_b)) == null ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), setExternalModuleIndicator: getSetExternalModuleIndicator(compilationSettings) }; sourceFileOptions.languageVersion = scriptTarget; @@ -123427,15 +123448,15 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect if (buckets.size > oldBucketCount) { tracing.instant(tracing.Phase.Session, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: keyWithMode }); } - const otherBucketKey = !isDeclarationFileName(path) && forEachEntry(buckets, (bucket2, bucketKey) => bucketKey !== keyWithMode && bucket2.has(path) && bucketKey); + const otherBucketKey = !isDeclarationFileName(path2) && forEachEntry(buckets, (bucket2, bucketKey) => bucketKey !== keyWithMode && bucket2.has(path2) && bucketKey); if (otherBucketKey) { - tracing.instant(tracing.Phase.Session, "documentRegistryBucketOverlap", { path, key1: otherBucketKey, key2: keyWithMode }); + tracing.instant(tracing.Phase.Session, "documentRegistryBucketOverlap", { path: path2, key1: otherBucketKey, key2: keyWithMode }); } } - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); let entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); if (!entry && externalCache) { - const sourceFile = externalCache.getDocument(keyWithMode, path); + const sourceFile = externalCache.getDocument(keyWithMode, path2); if (sourceFile) { Debug.assert(acquiring); entry = { @@ -123448,7 +123469,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect if (!entry) { const sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, sourceFileOptions, version2, false, scriptKind, compilationSettings); if (externalCache) { - externalCache.setDocument(keyWithMode, path, sourceFile); + externalCache.setDocument(keyWithMode, path2, sourceFile); } entry = { sourceFile, @@ -123466,7 +123487,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect compilationSettings ); if (externalCache) { - externalCache.setDocument(keyWithMode, path, entry.sourceFile); + externalCache.setDocument(keyWithMode, path2, entry.sourceFile); } } if (acquiring) { @@ -123477,42 +123498,42 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect return entry.sourceFile; function setBucketEntry() { if (!bucketEntry) { - bucket.set(path, entry); + bucket.set(path2, entry); } else if (isDocumentRegistryEntry(bucketEntry)) { const scriptKindMap = new Map2(); scriptKindMap.set(bucketEntry.sourceFile.scriptKind, bucketEntry); scriptKindMap.set(scriptKind, entry); - bucket.set(path, scriptKindMap); + bucket.set(path2, scriptKindMap); } else { bucketEntry.set(scriptKind, entry); } } } function releaseDocument(fileName, compilationSettings, scriptKind, impliedNodeFormat) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(compilationSettings); - return releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat); + return releaseDocumentWithKey(path2, key, scriptKind, impliedNodeFormat); } - function releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat) { + function releaseDocumentWithKey(path2, key, scriptKind, impliedNodeFormat) { const bucket = Debug.checkDefined(buckets.get(getDocumentRegistryBucketKeyWithMode(key, impliedNodeFormat))); - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); const entry = getDocumentRegistryEntry(bucketEntry, scriptKind); entry.languageServiceRefCount--; Debug.assert(entry.languageServiceRefCount >= 0); if (entry.languageServiceRefCount === 0) { if (isDocumentRegistryEntry(bucketEntry)) { - bucket.delete(path); + bucket.delete(path2); } else { bucketEntry.delete(scriptKind); if (bucketEntry.size === 1) { - bucket.set(path, firstDefinedIterator(bucketEntry.values(), identity)); + bucket.set(path2, firstDefinedIterator(bucketEntry.values(), identity)); } } } } - function getLanguageServiceRefCounts(path, scriptKind) { + function getLanguageServiceRefCounts(path2, scriptKind) { return arrayFrom(buckets.entries(), ([key, bucket]) => { - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); const entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); return [key, entry && entry.languageServiceRefCount]; }); @@ -123570,10 +123591,10 @@ function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host } function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName, sourceMapper) { const canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); - return (path) => { - const originalPath = sourceMapper && sourceMapper.tryGetSourcePosition({ fileName: path, pos: 0 }); - const updatedPath = getUpdatedPath(originalPath ? originalPath.fileName : path); - return originalPath ? updatedPath === void 0 ? void 0 : makeCorrespondingRelativeChange(originalPath.fileName, updatedPath, path, getCanonicalFileName) : updatedPath; + return (path2) => { + const originalPath = sourceMapper && sourceMapper.tryGetSourcePosition({ fileName: path2, pos: 0 }); + const updatedPath = getUpdatedPath(originalPath ? originalPath.fileName : path2); + return originalPath ? updatedPath === void 0 ? void 0 : makeCorrespondingRelativeChange(originalPath.fileName, updatedPath, path2, getCanonicalFileName) : updatedPath; }; function getUpdatedPath(pathToUpdate) { if (getCanonicalFileName(pathToUpdate) === canonicalOldPath) @@ -123648,8 +123669,8 @@ function updateTsconfigFiles(program, changeTracker, oldToNew, oldFileOrDirPath, } return false; } - function relativePath(path) { - return getRelativePathFromDirectory(configDir, path, !useCaseSensitiveFileNames); + function relativePath(path2) { + return getRelativePathFromDirectory(configDir, path2, !useCaseSensitiveFileNames); } } function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName) { @@ -124386,8 +124407,8 @@ function getSourceMapper(host) { return toPath(fileName, currentDirectory, getCanonicalFileName); } function getDocumentPositionMapper2(generatedFileName, sourceFileName) { - const path = toPath3(generatedFileName); - const value = documentPositionMappers.get(path); + const path2 = toPath3(generatedFileName); + const value = documentPositionMappers.get(path2); if (value) return value; let mapper; @@ -124402,7 +124423,7 @@ function getSourceMapper(host) { (f) => !host.fileExists || host.fileExists(f) ? host.readFile(f) : void 0 ); } - documentPositionMappers.set(path, mapper || identitySourceMapConsumer); + documentPositionMappers.set(path2, mapper || identitySourceMapConsumer); return mapper || identitySourceMapConsumer; } function tryGetSourcePosition(info) { @@ -124436,22 +124457,22 @@ function getSourceMapper(host) { const program = host.getProgram(); if (!program) return void 0; - const path = toPath3(fileName); - const file = program.getSourceFileByPath(path); - return file && file.resolvedPath === path ? file : void 0; + const path2 = toPath3(fileName); + const file = program.getSourceFileByPath(path2); + return file && file.resolvedPath === path2 ? file : void 0; } function getOrCreateSourceFileLike(fileName) { - const path = toPath3(fileName); - const fileFromCache = sourceFileLike.get(path); + const path2 = toPath3(fileName); + const fileFromCache = sourceFileLike.get(path2); if (fileFromCache !== void 0) return fileFromCache ? fileFromCache : void 0; - if (!host.readFile || host.fileExists && !host.fileExists(path)) { - sourceFileLike.set(path, false); + if (!host.readFile || host.fileExists && !host.fileExists(path2)) { + sourceFileLike.set(path2, false); return void 0; } - const text = host.readFile(path); + const text = host.readFile(path2); const file = text ? createSourceFileLike(text) : false; - sourceFileLike.set(path, file); + sourceFileLike.set(path2, file); return file ? file : void 0; } function getSourceFileLike(fileName) { @@ -126544,7 +126565,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h let lastTypesRootVersion = 0; const cancellationToken = host.getCancellationToken ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; const currentDirectory = host.getCurrentDirectory(); - getLanguageVersionByFilePath(host.isStaticSourceFile); + setLanguageVersionByFilePath(host.isStaticSourceFile); maybeSetLocalizedDiagnosticMessages((_a2 = host.getLocalizedDiagnosticMessages) == null ? void 0 : _a2.bind(host)); function log(message) { if (host.log) { @@ -126613,12 +126634,12 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h directoryExists: (directoryName) => { return directoryProbablyExists(directoryName, host); }, - getDirectories: (path) => { - return host.getDirectories ? host.getDirectories(path) : []; + getDirectories: (path2) => { + return host.getDirectories ? host.getDirectories(path2) : []; }, - readDirectory: (path, extensions, exclude, include, depth) => { + readDirectory: (path2, extensions, exclude, include, depth) => { Debug.checkDefined(host.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"); - return host.readDirectory(path, extensions, exclude, include, depth); + return host.readDirectory(path2, extensions, exclude, include, depth); }, onReleaseOldSourceFile, onReleaseParsedCommandLine, @@ -126690,12 +126711,12 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h host.clearFileCache && host.clearFileCache(); return; function getParsedCommandLine(fileName) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); - const existing = parsedCommandLines == null ? void 0 : parsedCommandLines.get(path); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); + const existing = parsedCommandLines == null ? void 0 : parsedCommandLines.get(path2); if (existing !== void 0) return existing || void 0; const result = host.getParsedCommandLine ? host.getParsedCommandLine(fileName) : getParsedCommandLineOfConfigFileUsingSourceFile(fileName); - (parsedCommandLines || (parsedCommandLines = new Map2())).set(path, result || false); + (parsedCommandLines || (parsedCommandLines = new Map2())).set(path2, result || false); return result; } function getParsedCommandLineOfConfigFileUsingSourceFile(configFileName) { @@ -126728,7 +126749,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h function getOrCreateSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) { return getOrCreateSourceFileByPath(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), languageVersionOrOptions, onError, shouldCreateNewSourceFile); } - function getOrCreateSourceFileByPath(fileName, path, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { + function getOrCreateSourceFileByPath(fileName, path2, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { const scriptSnapshot = host.getScriptSnapshot(fileName); if (!scriptSnapshot) { return void 0; @@ -126736,16 +126757,16 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h const scriptKind = getScriptKind(fileName, host); const scriptVersion = host.getScriptVersion(fileName); if (!shouldCreateNewSourceFile) { - const oldSourceFile = program && program.getSourceFileByPath(path); + const oldSourceFile = program && program.getSourceFileByPath(path2); if (oldSourceFile) { if (scriptKind === oldSourceFile.scriptKind) { - return documentRegistry.updateDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); + return documentRegistry.updateDocumentWithKey(fileName, path2, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } else { documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, documentRegistry.getKeyForCompilationSettings(program.getCompilerOptions()), oldSourceFile.scriptKind, oldSourceFile.impliedNodeFormat); } } } - return documentRegistry.acquireDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); + return documentRegistry.acquireDocumentWithKey(fileName, path2, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } } function getProgram() { @@ -127207,7 +127228,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h return isArray(action) ? Promise.all(action.map((a) => applySingleCodeActionCommand(a))) : applySingleCodeActionCommand(action); } function applySingleCodeActionCommand(action) { - const getPath = (path) => toPath(path, currentDirectory, getCanonicalFileName); + const getPath = (path2) => toPath(path2, currentDirectory, getCanonicalFileName); Debug.assertEqual(action.type, "install package"); return host.installPackage ? host.installPackage({ fileName: getPath(action.file), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); } @@ -127491,11 +127512,11 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h function isLetterOrDigit(char) { return char >= 97 /* a */ && char <= 122 /* z */ || char >= 65 /* A */ && char <= 90 /* Z */ || char >= 48 /* _0 */ && char <= 57 /* _9 */; } - function isNodeModulesFile(path) { - return stringContains(path, "/node_modules/"); + function isNodeModulesFile(path2) { + return stringContains(path2, "/node_modules/"); } - function isOHModulesFile(path) { - return stringContains(path, "/oh_modules/"); + function isOHModulesFile(path2) { + return stringContains(path2, "/oh_modules/"); } } function getRenameInfo2(fileName, position, preferences) { @@ -127898,22 +127919,22 @@ var LanguageServiceShimHostAdapter = class { getCurrentDirectory() { return this.shimHost.getCurrentDirectory(); } - getDirectories(path) { - return JSON.parse(this.shimHost.getDirectories(path)); + getDirectories(path2) { + return JSON.parse(this.shimHost.getDirectories(path2)); } getDefaultLibFileName(options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); } - readDirectory(path, extensions, exclude, include, depth) { + readDirectory(path2, extensions, exclude, include, depth) { const pattern = getFileMatcherPatterns( - path, + path2, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory() ); return JSON.parse(this.shimHost.readDirectory( - path, + path2, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, @@ -127922,11 +127943,11 @@ var LanguageServiceShimHostAdapter = class { depth )); } - readFile(path, encoding) { - return this.shimHost.readFile(path, encoding); + readFile(path2, encoding) { + return this.shimHost.readFile(path2, encoding); } - fileExists(path) { - return this.shimHost.fileExists(path); + fileExists(path2) { + return this.shimHost.fileExists(path2); } }; var CoreServicesShimHostAdapter = class { @@ -127939,7 +127960,7 @@ var CoreServicesShimHostAdapter = class { this.directoryExists = void 0; } if ("realpath" in this.shimHost) { - this.realpath = (path) => this.shimHost.realpath(path); + this.realpath = (path2) => this.shimHost.realpath(path2); } else { this.realpath = void 0; } @@ -127968,8 +127989,8 @@ var CoreServicesShimHostAdapter = class { readFile(fileName) { return this.shimHost.readFile(fileName); } - getDirectories(path) { - return JSON.parse(this.shimHost.getDirectories(path)); + getDirectories(path2) { + return JSON.parse(this.shimHost.getDirectories(path2)); } }; function simpleForwardCall(logger, actionDescription2, action, logPerformance) { @@ -141861,14 +141882,14 @@ function getPatternFromFirstMatchingCondition(target, conditions) { function getFragmentDirectory(fragment) { return containsSlash(fragment) ? hasTrailingDirectorySeparator(fragment) ? fragment : getDirectoryPath(fragment) : void 0; } -function getCompletionsForPathMapping(path, patterns, fragment, packageDirectory, extensionOptions, host) { - if (!endsWith(path, "*")) { - return !stringContains(path, "*") ? justPathMappingName(path, "script" /* scriptElement */) : emptyArray; +function getCompletionsForPathMapping(path2, patterns, fragment, packageDirectory, extensionOptions, host) { + if (!endsWith(path2, "*")) { + return !stringContains(path2, "*") ? justPathMappingName(path2, "script" /* scriptElement */) : emptyArray; } - const pathPrefix = path.slice(0, path.length - 1); + const pathPrefix = path2.slice(0, path2.length - 1); const remainingFragment = tryRemovePrefix(fragment, pathPrefix); if (remainingFragment === void 0) { - const starIsFullPathComponent = path[path.length - 2] === "/"; + const starIsFullPathComponent = path2[path2.length - 2] === "/"; return starIsFullPathComponent ? justPathMappingName(pathPrefix, "directory" /* directory */) : flatMap(patterns, (pattern) => { var _a2; return (_a2 = getModulesForPathsPattern("", packageDirectory, pattern, extensionOptions, host)) == null ? void 0 : _a2.map(({ name, ...rest }) => ({ name: pathPrefix + name, ...rest })); @@ -141909,16 +141930,16 @@ function getModulesForPathsPattern(fragment, packageDirectory, pattern, extensio }); const directories = normalizedSuffix ? emptyArray : mapDefined(tryGetDirectories(host, baseDirectory), (dir) => dir === "node_modules" ? void 0 : directoryResult(dir)); return [...matches, ...directories]; - function trimPrefixAndSuffix(path) { - const inner = withoutStartAndEnd(normalizePath(path), completePrefix, normalizedSuffix); + function trimPrefixAndSuffix(path2) { + const inner = withoutStartAndEnd(normalizePath(path2), completePrefix, normalizedSuffix); return inner === void 0 ? void 0 : removeLeadingDirectorySeparator(inner); } } function withoutStartAndEnd(s, start2, end) { return startsWith(s, start2) && endsWith(s, end) ? s.slice(start2.length, s.length - end.length) : void 0; } -function removeLeadingDirectorySeparator(path) { - return path[0] === directorySeparator ? path.slice(1) : path; +function removeLeadingDirectorySeparator(path2) { + return path2[0] === directorySeparator ? path2.slice(1) : path2; } function getAmbientModuleCompletions(fragment, fragmentDirectory, checker) { const ambientModules = checker.getAmbientModules().map((sym) => stripQuotes(sym.name)); @@ -142004,10 +142025,10 @@ function getDirectoryFragmentTextSpan(text, textStart) { const length2 = text.length - offset; return length2 === 0 || isIdentifierText(text.substr(offset, length2), 99 /* ESNext */) ? void 0 : createTextSpan(textStart + offset, length2); } -function isPathRelativeToScript(path) { - if (path && path.length >= 2 && path.charCodeAt(0) === 46 /* dot */) { - const slashIndex = path.length >= 3 && path.charCodeAt(1) === 46 /* dot */ ? 2 : 1; - const slashCharCode = path.charCodeAt(slashIndex); +function isPathRelativeToScript(path2) { + if (path2 && path2.length >= 2 && path2.charCodeAt(0) === 46 /* dot */) { + const slashIndex = path2.length >= 3 && path2.charCodeAt(1) === 46 /* dot */ ? 2 : 1; + const slashCharCode = path2.charCodeAt(slashIndex); return slashCharCode === 47 /* slash */ || slashCharCode === 92 /* backslash */; } return false; @@ -146914,15 +146935,15 @@ function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExten }); return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, quotePreference); } -function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, quotePreference) { - path = ensurePathIsNonModuleName(path); +function makeImportOrRequire(defaultImport, imports, path2, useEs6Imports, quotePreference) { + path2 = ensurePathIsNonModuleName(path2); if (useEs6Imports) { const specifiers = imports.map((i) => factory.createImportSpecifier(false, void 0, factory.createIdentifier(i))); - return makeImportIfNecessary(defaultImport, specifiers, path, quotePreference); + return makeImportIfNecessary(defaultImport, specifiers, path2, quotePreference); } else { Debug.assert(!defaultImport, "No default import should exist"); const bindingElements = imports.map((i) => factory.createBindingElement(void 0, void 0, i)); - return bindingElements.length ? makeVariableStatement(factory.createObjectBindingPattern(bindingElements), void 0, createRequireCall(factory.createStringLiteral(path))) : void 0; + return bindingElements.length ? makeVariableStatement(factory.createObjectBindingPattern(bindingElements), void 0, createRequireCall(factory.createStringLiteral(path2))) : void 0; } } function makeVariableStatement(name, type, initializer, flags = 2 /* Const */) { @@ -156790,17 +156811,17 @@ function asNormalizedPath(fileName) { function createNormalizedPathMap() { const map2 = new Map2(); return { - get(path) { - return map2.get(path); + get(path2) { + return map2.get(path2); }, - set(path, value) { - map2.set(path, value); + set(path2, value) { + map2.set(path2, value); }, - contains(path) { - return map2.has(path); + contains(path2) { + return map2.has(path2); }, - remove(path) { - map2.delete(path); + remove(path2) { + map2.delete(path2); } }; } @@ -157312,12 +157333,12 @@ function isDynamicFileName(fileName) { return fileName[0] === "^" || (stringContains(fileName, "walkThroughSnippet:/") || stringContains(fileName, "untitled:/")) && getBaseFileName(fileName)[0] === "^" || stringContains(fileName, ":^") && !stringContains(fileName, directorySeparator); } var ScriptInfo = class { - constructor(host, fileName, scriptKind, hasMixedContent, path, initialVersion) { + constructor(host, fileName, scriptKind, hasMixedContent, path2, initialVersion) { this.host = host; this.fileName = fileName; this.scriptKind = scriptKind; this.hasMixedContent = hasMixedContent; - this.path = path; + this.path = path2; this.containingProjects = []; this.isDynamic = isDynamicFileName(fileName); this.textStorage = new TextStorage(host, this, initialVersion); @@ -158024,8 +158045,8 @@ var Project3 = class { useCaseSensitiveFileNames() { return this.projectService.host.useCaseSensitiveFileNames; } - readDirectory(path, extensions, exclude, include, depth) { - return this.directoryStructureHost.readDirectory(path, extensions, exclude, include, depth); + readDirectory(path2, extensions, exclude, include, depth) { + return this.directoryStructureHost.readDirectory(path2, extensions, exclude, include, depth); } readFile(fileName) { return this.projectService.host.readFile(fileName); @@ -158034,8 +158055,8 @@ var Project3 = class { return this.projectService.host.writeFile(fileName, content); } fileExists(file) { - const path = this.toPath(file); - return !this.isWatchedMissingFile(path) && this.directoryStructureHost.fileExists(file); + const path2 = this.toPath(file); + return !this.isWatchedMissingFile(path2) && this.directoryStructureHost.fileExists(file); } resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, _options, containingSourceFile) { return this.resolutionCache.resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, containingSourceFile); @@ -158049,11 +158070,11 @@ var Project3 = class { resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, _options, containingFileMode) { return this.resolutionCache.resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, containingFileMode); } - directoryExists(path) { - return this.directoryStructureHost.directoryExists(path); + directoryExists(path2) { + return this.directoryStructureHost.directoryExists(path2); } - getDirectories(path) { - return this.directoryStructureHost.getDirectories(path); + getDirectories(path2) { + return this.directoryStructureHost.getDirectories(path2); } getCachedDirectoryStructureHost() { return void 0; @@ -158253,15 +158274,15 @@ var Project3 = class { } })); } - getSourceFile(path) { + getSourceFile(path2) { if (!this.program) { return void 0; } - return this.program.getSourceFileByPath(path); + return this.program.getSourceFileByPath(path2); } - getSourceFileOrConfigFile(path) { + getSourceFileOrConfigFile(path2) { const options = this.program.getCompilerOptions(); - return path === options.configFilePath ? options.configFile : this.getSourceFile(path); + return path2 === options.configFilePath ? options.configFile : this.getSourceFile(path2); } close() { if (this.program) { @@ -158427,8 +158448,8 @@ var Project3 = class { this.markAsDirty(); } addMissingFileRoot(fileName) { - const path = this.projectService.toPath(fileName); - this.rootFilesMap.set(path, { fileName }); + const path2 = this.projectService.toPath(fileName); + this.rootFilesMap.set(path2, { fileName }); this.markAsDirty(); } removeFile(info, fileExists, detachFromProject) { @@ -158692,8 +158713,8 @@ var Project3 = class { ); return fileWatcher; } - isWatchedMissingFile(path) { - return !!this.missingFilesMap && this.missingFilesMap.has(path); + isWatchedMissingFile(path2) { + return !!this.missingFilesMap && this.missingFilesMap.has(path2); } addGeneratedFileWatch(generatedFile, sourceFile) { if (outFile(this.compilerOptions)) { @@ -158701,17 +158722,17 @@ var Project3 = class { this.generatedFilesMap = this.createGeneratedFileWatcher(generatedFile); } } else { - const path = this.toPath(sourceFile); + const path2 = this.toPath(sourceFile); if (this.generatedFilesMap) { if (isGeneratedFileWatcher(this.generatedFilesMap)) { Debug.fail(`${this.projectName} Expected to not have --out watcher for generated file with options: ${JSON.stringify(this.compilerOptions)}`); } - if (this.generatedFilesMap.has(path)) + if (this.generatedFilesMap.has(path2)) return; } else { this.generatedFilesMap = new Map2(); } - this.generatedFilesMap.set(path, this.createGeneratedFileWatcher(generatedFile)); + this.generatedFilesMap.set(path2, this.createGeneratedFileWatcher(generatedFile)); } } createGeneratedFileWatcher(generatedFile) { @@ -160069,12 +160090,12 @@ var _ProjectService = class { getNormalizedAbsolutePath(fileName) { return getNormalizedAbsolutePath(fileName, this.host.getCurrentDirectory()); } - setDocument(key, path, sourceFile) { - const info = Debug.checkDefined(this.getScriptInfoForPath(path)); + setDocument(key, path2, sourceFile) { + const info = Debug.checkDefined(this.getScriptInfoForPath(path2)); info.cacheSourceFile = { key, sourceFile }; } - getDocument(key, path) { - const info = this.getScriptInfoForPath(path); + getDocument(key, path2) { + const info = this.getScriptInfoForPath(path2); return info && info.cacheSourceFile && info.cacheSourceFile.key === key ? info.cacheSourceFile.sourceFile : void 0; } ensureInferredProjectsUpToDate_TestOnly() { @@ -160167,7 +160188,7 @@ var _ProjectService = class { const event = { eventName: ProjectsUpdatedInBackgroundEvent, data: { - openFiles: arrayFrom(this.openFiles.keys(), (path) => this.getScriptInfoForPath(path).fileName) + openFiles: arrayFrom(this.openFiles.keys(), (path2) => this.getScriptInfoForPath(path2).fileName) } }; this.eventHandler(event); @@ -160344,11 +160365,11 @@ var _ProjectService = class { } delayUpdateSourceInfoProjects(sourceInfos) { if (sourceInfos) { - sourceInfos.forEach((_value, path) => this.delayUpdateProjectsOfScriptInfoPath(path)); + sourceInfos.forEach((_value, path2) => this.delayUpdateProjectsOfScriptInfoPath(path2)); } } - delayUpdateProjectsOfScriptInfoPath(path) { - const info = this.getScriptInfoForPath(path); + delayUpdateProjectsOfScriptInfoPath(path2) { + const info = this.getScriptInfoForPath(path2); if (info) { this.delayUpdateProjectGraphs(info.containingProjects, true); } @@ -160542,8 +160563,8 @@ var _ProjectService = class { return project; } assignOrphanScriptInfosToInferredProject() { - this.openFiles.forEach((projectRootPath, path) => { - const info = this.getScriptInfoForPath(path); + this.openFiles.forEach((projectRootPath, path2) => { + const info = this.getScriptInfoForPath(path2); if (info.isOrphan()) { this.assignOrphanScriptInfoToInferredProject(info, projectRootPath); } @@ -160787,8 +160808,8 @@ var _ProjectService = class { this.configuredProjects.forEach(printProjectWithoutFileNames); this.inferredProjects.forEach(printProjectWithoutFileNames); this.logger.info("Open files: "); - this.openFiles.forEach((projectRootPath, path) => { - const info = this.getScriptInfoForPath(path); + this.openFiles.forEach((projectRootPath, path2) => { + const info = this.getScriptInfoForPath(path2); this.logger.info(` FileName: ${info.fileName} ProjectRootPath: ${projectRootPath}`); this.logger.info(` Projects: ${info.containingProjects.map((p) => p.getProjectName())}`); }); @@ -161093,10 +161114,10 @@ var _ProjectService = class { const newRootFile = propertyReader.getFileName(f); const fileName = toNormalizedPath(newRootFile); const isDynamic = isDynamicFileName(fileName); - let path; + let path2; if (!isDynamic && !project.fileExists(newRootFile)) { - path = normalizedPathToPath(fileName, this.currentDirectory, this.toCanonicalFileName); - const existingValue = projectRootFilesMap.get(path); + path2 = normalizedPathToPath(fileName, this.currentDirectory, this.toCanonicalFileName); + const existingValue = projectRootFilesMap.get(path2); if (existingValue) { if (existingValue.info) { project.removeFile(existingValue.info, false, true); @@ -161104,7 +161125,7 @@ var _ProjectService = class { } existingValue.fileName = fileName; } else { - projectRootFilesMap.set(path, { fileName }); + projectRootFilesMap.set(path2, { fileName }); } } else { const scriptKind = propertyReader.getScriptKind(f, this.hostConfiguration.extraFileExtensions); @@ -161116,8 +161137,8 @@ var _ProjectService = class { hasMixedContent, project.directoryStructureHost )); - path = scriptInfo.path; - const existingValue = projectRootFilesMap.get(path); + path2 = scriptInfo.path; + const existingValue = projectRootFilesMap.get(path2); if (!existingValue || existingValue.info !== scriptInfo) { project.addRoot(scriptInfo, fileName); if (scriptInfo.isScriptOpen()) { @@ -161127,15 +161148,15 @@ var _ProjectService = class { existingValue.fileName = fileName; } } - newRootScriptInfoMap.set(path, true); + newRootScriptInfoMap.set(path2, true); } if (projectRootFilesMap.size > newRootScriptInfoMap.size) { - projectRootFilesMap.forEach((value, path) => { - if (!newRootScriptInfoMap.has(path)) { + projectRootFilesMap.forEach((value, path2) => { + if (!newRootScriptInfoMap.has(path2)) { if (value.info) { - project.removeFile(value.info, project.fileExists(path), true); + project.removeFile(value.info, project.fileExists(path2), true); } else { - projectRootFilesMap.delete(path); + projectRootFilesMap.delete(path2); } } }); @@ -161282,15 +161303,15 @@ var _ProjectService = class { return this.getScriptInfoForNormalizedPath(toNormalizedPath(uncheckedFileName)); } getScriptInfoOrConfig(uncheckedFileName) { - const path = toNormalizedPath(uncheckedFileName); - const info = this.getScriptInfoForNormalizedPath(path); + const path2 = toNormalizedPath(uncheckedFileName); + const info = this.getScriptInfoForNormalizedPath(path2); if (info) return info; const configProject = this.configuredProjects.get(this.toPath(uncheckedFileName)); return configProject && configProject.getCompilerOptions().configFile; } logErrorForScriptInfoNotFound(fileName) { - const names = arrayFrom(this.filenameToScriptInfo.entries()).map(([path, scriptInfo]) => ({ path, fileName: scriptInfo.fileName })); + const names = arrayFrom(this.filenameToScriptInfo.entries()).map(([path2, scriptInfo]) => ({ path: path2, fileName: scriptInfo.fileName })); this.logger.msg(`Could not find file ${JSON.stringify(fileName)}. All files are: ${JSON.stringify(names)}`, "Err" /* Err */); } @@ -161311,7 +161332,7 @@ All files are: ${JSON.stringify(names)}`, "Err" /* Err */); if (!projects) { projects = createMultiMap(); projects.add(toAddInfo.path, project); - } else if (!forEachEntry(projects, (projs, path) => path === toAddInfo.path ? false : contains(projs, project))) { + } else if (!forEachEntry(projects, (projs, path2) => path2 === toAddInfo.path ? false : contains(projs, project))) { projects.add(toAddInfo.path, project); } } @@ -161450,8 +161471,8 @@ All files are: ${JSON.stringify(names)}`, "Err" /* Err */); } getOrCreateScriptInfoWorker(fileName, currentDirectory, openedByClient, fileContent, scriptKind, hasMixedContent, hostToQueryFileExistsOn) { Debug.assert(fileContent === void 0 || openedByClient, "ScriptInfo needs to be opened by client to be able to set its user defined content"); - const path = normalizedPathToPath(fileName, currentDirectory, this.toCanonicalFileName); - let info = this.getScriptInfoForPath(path); + const path2 = normalizedPathToPath(fileName, currentDirectory, this.toCanonicalFileName); + let info = this.getScriptInfoForPath(path2); if (!info) { const isDynamic = isDynamicFileName(fileName); Debug.assert(isRootedDiskPath(fileName) || isDynamic || openedByClient, "", () => `${JSON.stringify({ fileName, currentDirectory, hostCurrentDirectory: this.currentDirectory, openKeys: arrayFrom(this.openFilesWithNonRootedDiskPath.keys()) })} @@ -161463,7 +161484,7 @@ Dynamic files must always be opened with service's current directory or service if (!openedByClient && !isDynamic && !(hostToQueryFileExistsOn || this.host).fileExists(fileName)) { return; } - info = new ScriptInfo(this.host, fileName, scriptKind, !!hasMixedContent, path, this.filenameToScriptInfoVersion.get(path)); + info = new ScriptInfo(this.host, fileName, scriptKind, !!hasMixedContent, path2, this.filenameToScriptInfoVersion.get(path2)); this.filenameToScriptInfo.set(info.path, info); this.filenameToScriptInfoVersion.delete(info.path); if (!openedByClient) { @@ -161579,9 +161600,9 @@ Dynamic files must always be opened with service's current directory or service getSourceFileLike(fileName, projectNameOrProject, declarationInfo) { const project = projectNameOrProject.projectName ? projectNameOrProject : this.findProject(projectNameOrProject); if (project) { - const path = project.toPath(fileName); - const sourceFile = project.getSourceFile(path); - if (sourceFile && sourceFile.resolvedPath === path) + const path2 = project.toPath(fileName); + const sourceFile = project.getSourceFile(path2); + if (sourceFile && sourceFile.resolvedPath === path2) return sourceFile; } const info = this.getOrCreateScriptInfoNotOpenedByClient(fileName, (project || this).currentDirectory, project ? project.directoryStructureHost : this.host); @@ -161702,12 +161723,12 @@ Dynamic files must always be opened with service's current directory or service this.reloadConfiguredProject(child, reason, false, clearSemanticCache); } }; - openFiles == null ? void 0 : openFiles.forEach((openFileValue, path) => { - this.configFileForOpenFiles.delete(path); + openFiles == null ? void 0 : openFiles.forEach((openFileValue, path2) => { + this.configFileForOpenFiles.delete(path2); if (!shouldReloadProjectFor(openFileValue)) { return; } - const info = this.getScriptInfoForPath(path); + const info = this.getScriptInfoForPath(path2); Debug.assert(info.isScriptOpen()); const configFileName = this.getConfigFileNameForFile(info); if (configFileName) { @@ -161756,8 +161777,8 @@ Dynamic files must always be opened with service's current directory or service ensureProjectForOpenFiles() { this.logger.info("Before ensureProjectForOpenFiles:"); this.printProjects(); - this.openFiles.forEach((projectRootPath, path) => { - const info = this.getScriptInfoForPath(path); + this.openFiles.forEach((projectRootPath, path2) => { + const info = this.getScriptInfoForPath(path2); if (info.isOrphan()) { this.assignOrphanScriptInfoToInferredProject(info, projectRootPath); } else { @@ -162042,8 +162063,8 @@ Dynamic files must always be opened with service's current directory or service } if (!sourceInfos) return; - if (!forEachKey(sourceInfos, (path) => { - const info2 = this.getScriptInfoForPath(path); + if (!forEachKey(sourceInfos, (path2) => { + const info2 = this.getScriptInfoForPath(path2); return !!info2 && (info2.isScriptOpen() || !info2.isOrphan()); })) { return; @@ -162060,7 +162081,7 @@ Dynamic files must always be opened with service's current directory or service sourceInfos = info.sourceMapFilePath.sourceInfos; } if (sourceInfos) { - sourceInfos.forEach((_value, path) => toRemoveScriptInfos.delete(path)); + sourceInfos.forEach((_value, path2) => toRemoveScriptInfos.delete(path2)); } } }); @@ -162495,26 +162516,26 @@ Dynamic files must always be opened with service's current directory or service } }); } - watchPackageJsonFile(path) { + watchPackageJsonFile(path2) { const watchers = this.packageJsonFilesMap || (this.packageJsonFilesMap = new Map2()); - if (!watchers.has(path)) { - this.invalidateProjectPackageJson(path); - watchers.set(path, this.watchFactory.watchFile( - path, + if (!watchers.has(path2)) { + this.invalidateProjectPackageJson(path2); + watchers.set(path2, this.watchFactory.watchFile( + path2, (fileName, eventKind) => { - const path2 = this.toPath(fileName); + const path3 = this.toPath(fileName); switch (eventKind) { case 0 /* Created */: return Debug.fail(); case 1 /* Changed */: - this.packageJsonCache.addOrUpdate(path2); - this.invalidateProjectPackageJson(path2); + this.packageJsonCache.addOrUpdate(path3); + this.invalidateProjectPackageJson(path3); break; case 2 /* Deleted */: - this.packageJsonCache.delete(path2); - this.invalidateProjectPackageJson(path2); - watchers.get(path2).close(); - watchers.delete(path2); + this.packageJsonCache.delete(path3); + this.invalidateProjectPackageJson(path3); + watchers.get(path3).close(); + watchers.delete(path3); } }, 250 /* Low */, @@ -162523,9 +162544,9 @@ Dynamic files must always be opened with service's current directory or service )); } } - onAddPackageJson(path) { - this.packageJsonCache.addOrUpdate(path); - this.watchPackageJsonFile(path); + onAddPackageJson(path2) { + this.packageJsonCache.addOrUpdate(path2); + this.watchPackageJsonFile(path2); } includePackageJsonAutoImports() { switch (this.hostConfiguration.preferences.includePackageJsonAutoImports) { @@ -162868,8 +162889,8 @@ function toEvent(eventName, body) { function combineProjectOutput(defaultValue, getValue, projects, action) { const outputs = flatMapToMutable(isArray(projects) ? projects : projects.projects, (project) => action(project, defaultValue)); if (!isArray(projects) && projects.symLinkedProjects) { - projects.symLinkedProjects.forEach((projects2, path) => { - const value = getValue(path); + projects.symLinkedProjects.forEach((projects2, path2) => { + const value = getValue(path2); outputs.push(...flatMap(projects2, (project) => action(project, value))); }); } @@ -162998,9 +163019,9 @@ function getReferencesWorker(projects, defaultProject, initialLocation, logger) }); return results.filter((o) => o.references.length !== 0); } -function forEachProjectInProjects(projects, path, cb) { +function forEachProjectInProjects(projects, path2, cb) { for (const project of isArray(projects) ? projects : projects.projects) { - cb(project, path); + cb(project, path2); } if (!isArray(projects) && projects.symLinkedProjects) { projects.symLinkedProjects.forEach((symlinkedProjects, symlinkedPath) => { @@ -163014,8 +163035,8 @@ function getPerProjectReferences(projects, defaultProject, initialLocation, isFo const resultsMap = new Map2(); const queue = createQueue(); queue.enqueue({ project: defaultProject, location: initialLocation }); - forEachProjectInProjects(projects, initialLocation.fileName, (project, path) => { - const location2 = { fileName: path, pos: initialLocation.pos }; + forEachProjectInProjects(projects, initialLocation.fileName, (project, path2) => { + const location2 = { fileName: path2, pos: initialLocation.pos }; queue.enqueue({ project, location: location2 }); }); const projectService = defaultProject.projectService; @@ -164115,8 +164136,8 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter nodeModulesPathParts.packageRootIndex ); const packageName = getPackageNameFromTypesPackageName(unmangleScopedPackageName(packageNamePathPart)); - const path = project.toPath(fileName); - if (entrypoints && some(entrypoints, (e) => project.toPath(e) === path)) { + const path2 = project.toPath(fileName); + if (entrypoints && some(entrypoints, (e) => project.toPath(e) === path2)) { const [implementationResolution] = auxiliaryProject.resolveModuleNames([packageName], resolveFromFile); return implementationResolution == null ? void 0 : implementationResolution.resolvedFileName; } else { @@ -164780,7 +164801,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter } return combineProjectOutput( info, - (path) => this.projectService.getScriptInfoForPath(path), + (path2) => this.projectService.getScriptInfoForPath(path2), projects, (project, info2) => { if (!project.compileOnSaveEnabled || !project.languageServiceEnabled || project.isOrphan()) { @@ -164807,7 +164828,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter return args.richResponse ? { emitSkipped: true, diagnostics: [] } : false; } const scriptInfo = project.getScriptInfo(file); - const { emitSkipped, diagnostics } = project.emitFile(scriptInfo, (path, data, writeByteOrderMark) => this.host.writeFile(path, data, writeByteOrderMark)); + const { emitSkipped, diagnostics } = project.emitFile(scriptInfo, (path2, data, writeByteOrderMark) => this.host.writeFile(path2, data, writeByteOrderMark)); return args.richResponse ? { emitSkipped, diagnostics: args.includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(diagnostics) : diagnostics.map((d) => formatDiagnosticToProtocol(d, true)) @@ -166321,13 +166342,13 @@ var MainProcessLogger = class extends BaseLogger { function createWebSystem(host, args, getExecutingFilePath) { const returnEmptyString = () => ""; const getExecutingDirectoryPath = memoize(() => memoize(() => ensureTrailingDirectorySeparator(getDirectoryPath(getExecutingFilePath())))); - const getWebPath = (path) => startsWith(path, directorySeparator) ? path.replace(directorySeparator, getExecutingDirectoryPath()) : void 0; + const getWebPath = (path2) => startsWith(path2, directorySeparator) ? path2.replace(directorySeparator, getExecutingDirectoryPath()) : void 0; return { args, newLine: "\r\n", useCaseSensitiveFileNames: false, - readFile: (path) => { - const webPath = getWebPath(path); + readFile: (path2) => { + const webPath = getWebPath(path2); return webPath && host.readFile(webPath); }, write: host.writeMessage.bind(host), @@ -166362,8 +166383,8 @@ function createWebSystem(host, args, getExecutingFilePath) { }, exit: notImplemented, getEnvironmentVariable: returnEmptyString, - fileExists: (path) => { - const webPath = getWebPath(path); + fileExists: (path2) => { + const webPath = getWebPath(path2); return !!webPath && host.fileExists(webPath); }, directoryExists: returnFalse, @@ -170204,10 +170225,10 @@ function collectChangedFilesFromProgramState(state, arkTSVersion) { const seenPaths = new Set2(); const queue = arrayFrom(changedFiles.keys()); while (queue.length) { - const path = queue.pop(); - if (!seenPaths.has(path)) { - seenPaths.add(path); - queue.push(...BuilderState.getReferencedByPaths(state, path)); + const path2 = queue.pop(); + if (!seenPaths.has(path2)) { + seenPaths.add(path2); + queue.push(...BuilderState.getReferencedByPaths(state, path2)); } } return seenPaths; @@ -176145,37 +176166,37 @@ function initializeNodeSystem() { if (useWatchGuard) { const currentDrive = extractWatchDirectoryCacheKey(sys2.resolvePath(sys2.getCurrentDirectory()), void 0); const statusCache = new Map2(); - sys2.watchDirectory = (path, callback, recursive, options) => { - const cacheKey = extractWatchDirectoryCacheKey(path, currentDrive); + sys2.watchDirectory = (path2, callback, recursive, options) => { + const cacheKey = extractWatchDirectoryCacheKey(path2, currentDrive); let status = cacheKey && statusCache.get(cacheKey); if (status === void 0) { if (logger.hasLevel(3 /* verbose */)) { - logger.info(`${cacheKey} for path ${path} not found in cache...`); + logger.info(`${cacheKey} for path ${path2} not found in cache...`); } try { - const args = [combinePaths(libDirectory, "watchGuard.js"), path]; + const args = [combinePaths(libDirectory, "watchGuard.js"), path2]; if (logger.hasLevel(3 /* verbose */)) { logger.info(`Starting ${process.execPath} with args:${stringifyIndented(args)}`); } childProcess.execFileSync(process.execPath, args, { stdio: "ignore", env: { ELECTRON_RUN_AS_NODE: "1" } }); status = true; if (logger.hasLevel(3 /* verbose */)) { - logger.info(`WatchGuard for path ${path} returned: OK`); + logger.info(`WatchGuard for path ${path2} returned: OK`); } } catch (e) { status = false; if (logger.hasLevel(3 /* verbose */)) { - logger.info(`WatchGuard for path ${path} returned: ${e.message}`); + logger.info(`WatchGuard for path ${path2} returned: ${e.message}`); } } if (cacheKey) { statusCache.set(cacheKey, status); } } else if (logger.hasLevel(3 /* verbose */)) { - logger.info(`watchDirectory for ${path} uses cached drive information.`); + logger.info(`watchDirectory for ${path2} uses cached drive information.`); } if (status) { - return watchDirectorySwallowingException(path, callback, recursive, options); + return watchDirectorySwallowingException(path2, callback, recursive, options); } else { return noopFileWatcher; } @@ -176252,20 +176273,20 @@ function initializeNodeSystem() { writeMessage2(pending.dequeue()); } } - function extractWatchDirectoryCacheKey(path, currentDriveKey) { - path = normalizeSlashes(path); - if (isUNCPath(path)) { - const firstSlash = path.indexOf(directorySeparator, 2); - return firstSlash !== -1 ? toFileNameLowerCase(path.substring(0, firstSlash)) : path; + function extractWatchDirectoryCacheKey(path2, currentDriveKey) { + path2 = normalizeSlashes(path2); + if (isUNCPath(path2)) { + const firstSlash = path2.indexOf(directorySeparator, 2); + return firstSlash !== -1 ? toFileNameLowerCase(path2.substring(0, firstSlash)) : path2; } - const rootLength = getRootLength(path); + const rootLength = getRootLength(path2); if (rootLength === 0) { return currentDriveKey; } - if (path.charCodeAt(1) === 58 /* colon */ && path.charCodeAt(2) === 47 /* slash */) { - return toFileNameLowerCase(path.charAt(0)); + if (path2.charCodeAt(1) === 58 /* colon */ && path2.charCodeAt(2) === 47 /* slash */) { + return toFileNameLowerCase(path2.charAt(0)); } - if (path.charCodeAt(0) === 47 /* slash */ && path.charCodeAt(1) !== 47 /* slash */) { + if (path2.charCodeAt(0) === 47 /* slash */ && path2.charCodeAt(1) !== 47 /* slash */) { return currentDriveKey; } return void 0; @@ -176273,9 +176294,9 @@ function initializeNodeSystem() { function isUNCPath(s) { return s.length > 2 && s.charCodeAt(0) === 47 /* slash */ && s.charCodeAt(1) === 47 /* slash */; } - function watchDirectorySwallowingException(path, callback, recursive, options) { + function watchDirectorySwallowingException(path2, callback, recursive, options) { try { - return originalWatchDirectory(path, callback, recursive, options); + return originalWatchDirectory(path2, callback, recursive, options); } catch (e) { logger.info(`Exception when creating directory watcher: ${e.message}`); return noopFileWatcher; @@ -177837,7 +177858,6 @@ if (typeof process !== "undefined") { getJSXRuntimeImport, getJSXTransformEnabled, getLanguageVariant, - getLanguageVersionByFilePath, getLastChild, getLeadingCommentRanges, getLeadingCommentRangesOfNode, @@ -179056,6 +179076,7 @@ if (typeof process !== "undefined") { setEachParent, setEmitFlags, setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath, setLocalizedDiagnosticMessages, setModuleDefaultHelper, setNodeFlags, diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index 1f72dddd4a..902dd32cb9 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -9653,7 +9653,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; - function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; + function setLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index 04f70b0d2c..cb131871df 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -15,9 +15,11 @@ and limitations under the License. var ts = {}; ((module) => { "use strict"; +var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) @@ -31,6 +33,10 @@ var __copyProps = (to, from, except, desc) => { } return to; }; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); var __toCommonJS = (mod) => (__copyProps, mod); // Modified helper to skip setting __esModule. // src/tsserverlibrary/tsserverlibrary.ts @@ -1041,7 +1047,6 @@ __export(tsserverlibrary_exports, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, - getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -2260,6 +2265,7 @@ __export(tsserverlibrary_exports, { setEachParent: () => setEachParent, setEmitFlags: () => setEmitFlags, setGetSourceFileAsHashVersioned: () => setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath: () => setLanguageVersionByFilePath, setLocalizedDiagnosticMessages: () => setLocalizedDiagnosticMessages, setModuleDefaultHelper: () => setModuleDefaultHelper, setNodeFlags: () => setNodeFlags, @@ -8266,27 +8272,27 @@ function createFixedChunkSizePollingWatchFile(host) { } function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) { const toCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); - const path = toCanonicalFileName(name); - const existing = cache.get(path); + const path2 = toCanonicalFileName(name); + const existing = cache.get(path2); if (existing) { existing.callbacks.push(callback); } else { - cache.set(path, { + cache.set(path2, { watcher: createWatcher((param1, param2, param3) => { var _a2; - return (_a2 = cache.get(path)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); + return (_a2 = cache.get(path2)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); }), callbacks: [callback] }); } return { close: () => { - const watcher = cache.get(path); + const watcher = cache.get(path2); if (!watcher) return; if (!orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) return; - cache.delete(path); + cache.delete(path2); closeFileWatcherOf(watcher); } }; @@ -8487,15 +8493,15 @@ function createDirectoryWatcherSupportingRecursive({ (newChildWatches || (newChildWatches = [])).push(childWatcher); } } - function isIgnoredPath(path, options) { - return some(ignoredPaths, (searchPath) => isInPath(path, searchPath)) || isIgnoredByWatchOptions(path, options, useCaseSensitiveFileNames, getCurrentDirectory); + function isIgnoredPath(path2, options) { + return some(ignoredPaths, (searchPath) => isInPath(path2, searchPath)) || isIgnoredByWatchOptions(path2, options, useCaseSensitiveFileNames, getCurrentDirectory); } - function isInPath(path, searchPath) { - if (stringContains(path, searchPath)) + function isInPath(path2, searchPath) { + if (stringContains(path2, searchPath)) return true; if (useCaseSensitiveFileNames) return false; - return stringContains(toCanonicalFilePath(path), searchPath); + return stringContains(toCanonicalFilePath(path2), searchPath); } } var FileSystemEntryKind = /* @__PURE__ */ ((FileSystemEntryKind2) => { @@ -8813,13 +8819,13 @@ function createSystemWatchFunctions({ } function patchWriteFileEnsuringDirectory(sys2) { const originalWriteFile = sys2.writeFile; - sys2.writeFile = (path, data, writeBom) => writeFileEnsuringDirectories( - path, + sys2.writeFile = (path2, data, writeBom) => writeFileEnsuringDirectories( + path2, data, !!writeBom, - (path2, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path2, data2, writeByteOrderMark), - (path2) => sys2.createDirectory(path2), - (path2) => sys2.directoryExists(path2) + (path3, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path3, data2, writeByteOrderMark), + (path3) => sys2.createDirectory(path3), + (path3) => sys2.directoryExists(path3) ); } function getNodeMajorVersion() { @@ -8871,7 +8877,7 @@ var sys = (() => { getCurrentDirectory, fileSystemEntryExists, fsSupportsRecursiveFsWatch, - getAccessibleSortedChildDirectories: (path) => getAccessibleFileSystemEntries(path).directories, + getAccessibleSortedChildDirectories: (path2) => getAccessibleFileSystemEntries(path2).directories, realpath, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, @@ -8896,7 +8902,7 @@ var sys = (() => { writeFile: writeFile2, watchFile: watchFile2, watchDirectory, - resolvePath: (path) => _path.resolve(path), + resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, createDirectory(directoryName) { @@ -8930,9 +8936,9 @@ var sys = (() => { } return process.memoryUsage().heapUsed; }, - getFileSize(path) { + getFileSize(path2) { try { - const stat = statSync(path); + const stat = statSync(path2); if (stat == null ? void 0 : stat.isFile()) { return stat.size; } @@ -8977,10 +8983,10 @@ var sys = (() => { } }; return nodeSystem; - function statSync(path) { - return _fs.statSync(path, { throwIfNoEntry: false }); + function statSync(path2) { + return _fs.statSync(path2, { throwIfNoEntry: false }); } - function enableCPUProfiler(path, cb) { + function enableCPUProfiler(path2, cb) { if (activeSession) { cb(); return false; @@ -8995,7 +9001,7 @@ var sys = (() => { session.post("Profiler.enable", () => { session.post("Profiler.start", () => { activeSession = session; - profilePath = path; + profilePath = path2; cb(); }); }); @@ -9139,10 +9145,10 @@ var sys = (() => { } } } - function getAccessibleFileSystemEntries(path) { - perfLogger.logEvent("ReadDir: " + (path || ".")); + function getAccessibleFileSystemEntries(path2) { + perfLogger.logEvent("ReadDir: " + (path2 || ".")); try { - const entries = _fs.readdirSync(path || ".", { withFileTypes: true }); + const entries = _fs.readdirSync(path2 || ".", { withFileTypes: true }); const files = []; const directories = []; for (const dirent of entries) { @@ -9152,7 +9158,7 @@ var sys = (() => { } let stat; if (typeof dirent === "string" || dirent.isSymbolicLink()) { - const name = combinePaths(path, entry); + const name = combinePaths(path2, entry); try { stat = statSync(name); if (!stat) { @@ -9177,14 +9183,14 @@ var sys = (() => { return emptyFileSystemEntries; } } - function readDirectory(path, extensions, excludes, includes, depth) { - return matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); + function readDirectory(path2, extensions, excludes, includes, depth) { + return matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); } - function fileSystemEntryExists(path, entryKind) { + function fileSystemEntryExists(path2, entryKind) { const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - const stat = statSync(path); + const stat = statSync(path2); if (!stat) { return false; } @@ -9202,47 +9208,47 @@ var sys = (() => { Error.stackTraceLimit = originalStackTraceLimit; } } - function fileExists(path) { - return fileSystemEntryExists(path, 0 /* File */); + function fileExists(path2) { + return fileSystemEntryExists(path2, 0 /* File */); } - function directoryExists(path) { - return fileSystemEntryExists(path, 1 /* Directory */); + function directoryExists(path2) { + return fileSystemEntryExists(path2, 1 /* Directory */); } - function getDirectories(path) { - return getAccessibleFileSystemEntries(path).directories.slice(); + function getDirectories(path2) { + return getAccessibleFileSystemEntries(path2).directories.slice(); } - function fsRealPathHandlingLongPath(path) { - return path.length < 260 ? _fs.realpathSync.native(path) : _fs.realpathSync(path); + function fsRealPathHandlingLongPath(path2) { + return path2.length < 260 ? _fs.realpathSync.native(path2) : _fs.realpathSync(path2); } - function realpath(path) { + function realpath(path2) { try { - return fsRealpath(path); + return fsRealpath(path2); } catch (e) { - return path; + return path2; } } - function getModifiedTime3(path) { + function getModifiedTime3(path2) { var _a2; const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - return (_a2 = statSync(path)) == null ? void 0 : _a2.mtime; + return (_a2 = statSync(path2)) == null ? void 0 : _a2.mtime; } catch (e) { return void 0; } finally { Error.stackTraceLimit = originalStackTraceLimit; } } - function setModifiedTime(path, time) { + function setModifiedTime(path2, time) { try { - _fs.utimesSync(path, time, time); + _fs.utimesSync(path2, time, time); } catch (e) { return; } } - function deleteFile(path) { + function deleteFile(path2) { try { - return _fs.unlinkSync(path); + return _fs.unlinkSync(path2); } catch (e) { return; } @@ -9281,41 +9287,41 @@ var backslashRegExp = /\\/g; function isAnyDirectorySeparator(charCode) { return charCode === 47 /* slash */ || charCode === 92 /* backslash */; } -function isUrl(path) { - return getEncodedRootLength(path) < 0; +function isUrl(path2) { + return getEncodedRootLength(path2) < 0; } -function isRootedDiskPath(path) { - return getEncodedRootLength(path) > 0; +function isRootedDiskPath(path2) { + return getEncodedRootLength(path2) > 0; } -function isDiskPathRoot(path) { - const rootLength = getEncodedRootLength(path); - return rootLength > 0 && rootLength === path.length; +function isDiskPathRoot(path2) { + const rootLength = getEncodedRootLength(path2); + return rootLength > 0 && rootLength === path2.length; } -function pathIsAbsolute(path) { - return getEncodedRootLength(path) !== 0; +function pathIsAbsolute(path2) { + return getEncodedRootLength(path2) !== 0; } -function pathIsRelative(path) { - return /^\.\.?($|[\\/])/.test(path); +function pathIsRelative(path2) { + return /^\.\.?($|[\\/])/.test(path2); } -function pathIsBareSpecifier(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path); +function pathIsBareSpecifier(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2); } function hasExtension(fileName) { return stringContains(getBaseFileName(fileName), "."); } -function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); +function fileExtensionIs(path2, extension) { + return path2.length > extension.length && endsWith(path2, extension); } -function fileExtensionIsOneOf(path, extensions) { +function fileExtensionIsOneOf(path2, extensions) { for (const extension of extensions) { - if (fileExtensionIs(path, extension)) { + if (fileExtensionIs(path2, extension)) { return true; } } return false; } -function hasTrailingDirectorySeparator(path) { - return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1)); +function hasTrailingDirectorySeparator(path2) { + return path2.length > 0 && isAnyDirectorySeparator(path2.charCodeAt(path2.length - 1)); } function isVolumeCharacter(charCode) { return charCode >= 97 /* a */ && charCode <= 122 /* z */ || charCode >= 65 /* A */ && charCode <= 90 /* Z */; @@ -9331,113 +9337,113 @@ function getFileUrlVolumeSeparatorEnd(url, start) { } return -1; } -function getEncodedRootLength(path) { - if (!path) +function getEncodedRootLength(path2) { + if (!path2) return 0; - const ch0 = path.charCodeAt(0); + const ch0 = path2.charCodeAt(0); if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { - if (path.charCodeAt(1) !== ch0) + if (path2.charCodeAt(1) !== ch0) return 1; - const p1 = path.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); + const p1 = path2.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); if (p1 < 0) - return path.length; + return path2.length; return p1 + 1; } - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { - const ch2 = path.charCodeAt(2); + if (isVolumeCharacter(ch0) && path2.charCodeAt(1) === 58 /* colon */) { + const ch2 = path2.charCodeAt(2); if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) return 3; - if (path.length === 2) + if (path2.length === 2) return 2; } - const schemeEnd = path.indexOf(urlSchemeSeparator); + const schemeEnd = path2.indexOf(urlSchemeSeparator); if (schemeEnd !== -1) { const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path.indexOf(directorySeparator, authorityStart); + const authorityEnd = path2.indexOf(directorySeparator, authorityStart); if (authorityEnd !== -1) { - const scheme = path.slice(0, schemeEnd); - const authority = path.slice(authorityStart, authorityEnd); - if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + const scheme = path2.slice(0, schemeEnd); + const authority = path2.slice(authorityStart, authorityEnd); + if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path2.charCodeAt(authorityEnd + 1))) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path2, authorityEnd + 2); if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + if (path2.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { return ~(volumeSeparatorEnd + 1); } - if (volumeSeparatorEnd === path.length) { + if (volumeSeparatorEnd === path2.length) { return ~volumeSeparatorEnd; } } } return ~(authorityEnd + 1); } - return ~path.length; + return ~path2.length; } return 0; } -function getRootLength(path) { - const rootLength = getEncodedRootLength(path); +function getRootLength(path2) { + const rootLength = getEncodedRootLength(path2); return rootLength < 0 ? ~rootLength : rootLength; } -function getDirectoryPath(path) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) - return path; - path = removeTrailingDirectorySeparator(path); - return path.slice(0, Math.max(rootLength, path.lastIndexOf(directorySeparator))); -} -function getBaseFileName(path, extensions, ignoreCase) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) +function getDirectoryPath(path2) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) + return path2; + path2 = removeTrailingDirectorySeparator(path2); + return path2.slice(0, Math.max(rootLength, path2.lastIndexOf(directorySeparator))); +} +function getBaseFileName(path2, extensions, ignoreCase) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) return ""; - path = removeTrailingDirectorySeparator(path); - const name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(directorySeparator) + 1)); + path2 = removeTrailingDirectorySeparator(path2); + const name = path2.slice(Math.max(getRootLength(path2), path2.lastIndexOf(directorySeparator) + 1)); const extension = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(name, extensions, ignoreCase) : void 0; return extension ? name.slice(0, name.length - extension.length) : name; } -function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { +function tryGetExtensionFromPath(path2, extension, stringEqualityComparer) { if (!startsWith(extension, ".")) extension = "." + extension; - if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { - const pathExtension = path.slice(path.length - extension.length); + if (path2.length >= extension.length && path2.charCodeAt(path2.length - extension.length) === 46 /* dot */) { + const pathExtension = path2.slice(path2.length - extension.length); if (stringEqualityComparer(pathExtension, extension)) { return pathExtension; } } } -function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) { +function getAnyExtensionFromPathWorker(path2, extensions, stringEqualityComparer) { if (typeof extensions === "string") { - return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || ""; + return tryGetExtensionFromPath(path2, extensions, stringEqualityComparer) || ""; } for (const extension of extensions) { - const result = tryGetExtensionFromPath(path, extension, stringEqualityComparer); + const result = tryGetExtensionFromPath(path2, extension, stringEqualityComparer); if (result) return result; } return ""; } -function getAnyExtensionFromPath(path, extensions, ignoreCase) { +function getAnyExtensionFromPath(path2, extensions, ignoreCase) { if (extensions) { - return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); + return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path2), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); } - const baseFileName = getBaseFileName(path); + const baseFileName = getBaseFileName(path2); const extensionIndex = baseFileName.lastIndexOf("."); if (extensionIndex >= 0) { return baseFileName.substring(extensionIndex); } return ""; } -function pathComponents(path, rootLength) { - const root = path.substring(0, rootLength); - const rest = path.substring(rootLength).split(directorySeparator); +function pathComponents(path2, rootLength) { + const root = path2.substring(0, rootLength); + const rest = path2.substring(rootLength).split(directorySeparator); if (rest.length && !lastOrUndefined(rest)) rest.pop(); return [root, ...rest]; } -function getPathComponents(path, currentDirectory = "") { - path = combinePaths(currentDirectory, path); - return pathComponents(path, getRootLength(path)); +function getPathComponents(path2, currentDirectory = "") { + path2 = combinePaths(currentDirectory, path2); + return pathComponents(path2, getRootLength(path2)); } function getPathFromPathComponents(pathComponents2) { if (pathComponents2.length === 0) @@ -9445,8 +9451,8 @@ function getPathFromPathComponents(pathComponents2) { const root = pathComponents2[0] && ensureTrailingDirectorySeparator(pathComponents2[0]); return root + pathComponents2.slice(1).join(directorySeparator); } -function normalizeSlashes(path) { - return path.indexOf("\\") !== -1 ? path.replace(backslashRegExp, directorySeparator) : path; +function normalizeSlashes(path2) { + return path2.indexOf("\\") !== -1 ? path2.replace(backslashRegExp, directorySeparator) : path2; } function reducePathComponents(components) { if (!some(components)) @@ -9471,44 +9477,44 @@ function reducePathComponents(components) { } return reduced; } -function combinePaths(path, ...paths) { - if (path) - path = normalizeSlashes(path); +function combinePaths(path2, ...paths) { + if (path2) + path2 = normalizeSlashes(path2); for (let relativePath of paths) { if (!relativePath) continue; relativePath = normalizeSlashes(relativePath); - if (!path || getRootLength(relativePath) !== 0) { - path = relativePath; + if (!path2 || getRootLength(relativePath) !== 0) { + path2 = relativePath; } else { - path = ensureTrailingDirectorySeparator(path) + relativePath; + path2 = ensureTrailingDirectorySeparator(path2) + relativePath; } } - return path; + return path2; } -function resolvePath(path, ...paths) { - return normalizePath(some(paths) ? combinePaths(path, ...paths) : normalizeSlashes(path)); +function resolvePath(path2, ...paths) { + return normalizePath(some(paths) ? combinePaths(path2, ...paths) : normalizeSlashes(path2)); } -function getNormalizedPathComponents(path, currentDirectory) { - return reducePathComponents(getPathComponents(path, currentDirectory)); +function getNormalizedPathComponents(path2, currentDirectory) { + return reducePathComponents(getPathComponents(path2, currentDirectory)); } function getNormalizedAbsolutePath(fileName, currentDirectory) { return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } -function normalizePath(path) { - path = normalizeSlashes(path); - if (!relativePathSegmentRegExp.test(path)) { - return path; +function normalizePath(path2) { + path2 = normalizeSlashes(path2); + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } - const simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, ""); - if (simplified !== path) { - path = simplified; - if (!relativePathSegmentRegExp.test(path)) { - return path; + const simplified = path2.replace(/\/\.\//g, "/").replace(/^\.\//, ""); + if (simplified !== path2) { + path2 = simplified; + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } } - const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path))); - return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized; + const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path2))); + return normalized && hasTrailingDirectorySeparator(path2) ? ensureTrailingDirectorySeparator(normalized) : normalized; } function getPathWithoutRoot(pathComponents2) { if (pathComponents2.length === 0) @@ -9522,24 +9528,24 @@ function toPath(fileName, basePath, getCanonicalFileName) { const nonCanonicalizedPath = isRootedDiskPath(fileName) ? normalizePath(fileName) : getNormalizedAbsolutePath(fileName, basePath); return getCanonicalFileName(nonCanonicalizedPath); } -function removeTrailingDirectorySeparator(path) { - if (hasTrailingDirectorySeparator(path)) { - return path.substr(0, path.length - 1); +function removeTrailingDirectorySeparator(path2) { + if (hasTrailingDirectorySeparator(path2)) { + return path2.substr(0, path2.length - 1); } - return path; + return path2; } -function ensureTrailingDirectorySeparator(path) { - if (!hasTrailingDirectorySeparator(path)) { - return path + directorySeparator; +function ensureTrailingDirectorySeparator(path2) { + if (!hasTrailingDirectorySeparator(path2)) { + return path2 + directorySeparator; } - return path; + return path2; } -function ensurePathIsNonModuleName(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path; +function ensurePathIsNonModuleName(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2) ? "./" + path2 : path2; } -function changeAnyExtension(path, ext, extensions, ignoreCase) { - const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path); - return pathext ? path.slice(0, path.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path; +function changeAnyExtension(path2, ext, extensions, ignoreCase) { + const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path2, extensions, ignoreCase) : getAnyExtensionFromPath(path2); + return pathext ? path2.slice(0, path2.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path2; } var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; function comparePathsWorker(a, b, componentComparer) { @@ -9631,11 +9637,11 @@ function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanoni return toComponents; } const components = toComponents.slice(start); - const relative = []; + const relative2 = []; for (; start < fromComponents.length; start++) { - relative.push(".."); + relative2.push(".."); } - return ["", ...relative, ...components]; + return ["", ...relative2, ...components]; } function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative"); @@ -18191,8 +18197,8 @@ function hostGetCanonicalFileName(host) { function getResolvedExternalModuleName(host, file, referenceFile) { return file.moduleName || getExternalModuleNameFromPath(host, file.fileName, referenceFile && referenceFile.fileName); } -function getCanonicalAbsolutePath(host, path) { - return host.getCanonicalFileName(getNormalizedAbsolutePath(path, host.getCurrentDirectory())); +function getCanonicalAbsolutePath(host, path2) { + return host.getCanonicalFileName(getNormalizedAbsolutePath(path2, host.getCurrentDirectory())); } function getExternalModuleNameFromDeclaration(host, resolver, declaration) { const file = resolver.getExternalModuleFileFromDeclaration(declaration); @@ -18228,15 +18234,15 @@ function getDeclarationEmitOutputFilePath(fileName, host) { } function getDeclarationEmitOutputFilePathWorker(fileName, options, currentDirectory, commonSourceDirectory, getCanonicalFileName) { const outputDir = options.declarationDir || options.outDir; - const path = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; - const declarationExtension = getDeclarationEmitExtensionForPath(path); - return removeFileExtension(path) + declarationExtension; + const path2 = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; + const declarationExtension = getDeclarationEmitExtensionForPath(path2); + return removeFileExtension(path2) + declarationExtension; } -function getDeclarationEmitExtensionForPath(path) { - return fileExtensionIsOneOf(path, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; +function getDeclarationEmitExtensionForPath(path2) { + return fileExtensionIsOneOf(path2, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path2, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path2, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path2, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; } -function getPossibleOriginalInputExtensionForExtension(path) { - return fileExtensionIsOneOf(path, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; +function getPossibleOriginalInputExtensionForExtension(path2) { + return fileExtensionIsOneOf(path2, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path2, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path2, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; } function outFile(options) { return options.outFile || options.out; @@ -18289,12 +18295,12 @@ function ensureDirectoriesExist(directoryPath, createDirectory, directoryExists) createDirectory(directoryPath); } } -function writeFileEnsuringDirectories(path, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { +function writeFileEnsuringDirectories(path2, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { try { - writeFile2(path, data, writeByteOrderMark); + writeFile2(path2, data, writeByteOrderMark); } catch (e) { - ensureDirectoriesExist(getDirectoryPath(normalizePath(path)), createDirectory, directoryExists); - writeFile2(path, data, writeByteOrderMark); + ensureDirectoriesExist(getDirectoryPath(normalizePath(path2)), createDirectory, directoryExists); + writeFile2(path2, data, writeByteOrderMark); } } function getLineOfLocalPosition(sourceFile, pos) { @@ -18901,15 +18907,15 @@ function base64decode(host, input) { } return getStringFromExpandedCharCodes(expandedCharCodes); } -function readJsonOrUndefined(path, hostOrText) { - const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path); +function readJsonOrUndefined(path2, hostOrText) { + const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path2); if (!jsonText) return void 0; - const result = parseConfigFileTextToJson(path, jsonText); + const result = parseConfigFileTextToJson(path2, jsonText); return !result.error ? result.config : void 0; } -function readJson(path, host) { - return readJsonOrUndefined(path, host) || {}; +function readJson(path2, host) { + return readJsonOrUndefined(path2, host) || {}; } function directoryProbablyExists(directoryName, host) { return !host.directoryExists || host.directoryExists(directoryName); @@ -19727,7 +19733,7 @@ function createSymlinkCache(cwd, getCanonicalFileName, isOHModules2) { getSymlinkedFiles: () => symlinkedFiles, getSymlinkedDirectories: () => symlinkedDirectories, getSymlinkedDirectoriesByRealpath: () => symlinkedDirectoriesByRealpath, - setSymlinkedFile: (path, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path, real), + setSymlinkedFile: (path2, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path2, real), setSymlinkedDirectory: (symlink, real) => { let symlinkPath = toPath(symlink, cwd, getCanonicalFileName); if (!containsIgnoredPath(symlinkPath)) { @@ -19780,8 +19786,8 @@ function isNodeModulesOrScopedPackageDirectory(s, getCanonicalFileName, isOHModu function stripLeadingDirectorySeparator(s) { return isAnyDirectorySeparator(s.charCodeAt(0)) ? s.slice(1) : void 0; } -function tryRemoveDirectoryPrefix(path, dirPath, getCanonicalFileName) { - const withoutPrefix = tryRemovePrefix(path, dirPath, getCanonicalFileName); +function tryRemoveDirectoryPrefix(path2, dirPath, getCanonicalFileName) { + const withoutPrefix = tryRemovePrefix(path2, dirPath, getCanonicalFileName); return withoutPrefix === void 0 ? void 0 : stripLeadingDirectorySeparator(withoutPrefix); } var reservedCharacterPattern = /[^\w\s\/]/g; @@ -19889,25 +19895,25 @@ function getSubPatternFromSpec(spec, basePath, usage, { singleAsteriskRegexFragm function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } -function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { - path = normalizePath(path); +function getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const absolutePath = combinePaths(currentDirectory, path); + const absolutePath = combinePaths(currentDirectory, path2); return { includeFilePatterns: map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), (pattern) => `^${pattern}$`), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), - basePaths: getBasePaths(path, includes, useCaseSensitiveFileNames) + basePaths: getBasePaths(path2, includes, useCaseSensitiveFileNames) }; } function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); } -function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { - path = normalizePath(path); +function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); + const patterns = getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory); const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map((pattern) => getRegexFromPattern(pattern, useCaseSensitiveFileNames)); const includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); const excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); @@ -19918,14 +19924,14 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa visitDirectory(basePath, combinePaths(currentDirectory, basePath), depth); } return flatten(results); - function visitDirectory(path2, absolutePath, depth2) { + function visitDirectory(path3, absolutePath, depth2) { const canonicalPath = toCanonical(realpath(absolutePath)); if (visited.has(canonicalPath)) return; visited.set(canonicalPath, true); - const { files, directories } = getFileSystemEntries(path2); + const { files, directories } = getFileSystemEntries(path3); for (const current of sort(files, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if (extensions && !fileExtensionIsOneOf(name, extensions)) continue; @@ -19947,7 +19953,7 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } for (const current of sort(directories, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if ((!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName)) && (!excludeRegex || !excludeRegex.test(absoluteName))) { visitDirectory(name, absoluteName, depth2); @@ -19955,17 +19961,17 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } } -function getBasePaths(path, includes, useCaseSensitiveFileNames) { - const basePaths = [path]; +function getBasePaths(path2, includes, useCaseSensitiveFileNames) { + const basePaths = [path2]; if (includes) { const includeBasePaths = []; for (const include of includes) { - const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path, include)); + const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path2, include)); includeBasePaths.push(getIncludeBasePath(absolute)); } includeBasePaths.sort(getStringComparer(!useCaseSensitiveFileNames)); for (const includeBasePath of includeBasePaths) { - if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path, !useCaseSensitiveFileNames))) { + if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path2, !useCaseSensitiveFileNames))) { basePaths.push(includeBasePath); } } @@ -20067,23 +20073,23 @@ function compareNumberOfDirectorySeparators(path1, path2) { ); } var extensionsToRemove = [".d.ts" /* Dts */, ".d.ets" /* Dets */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".mts" /* Mts */, ".cjs" /* Cjs */, ".cts" /* Cts */, ".ts" /* Ts */, ".js" /* Js */, ".tsx" /* Tsx */, ".jsx" /* Jsx */, ".json" /* Json */, ".ets" /* Ets */]; -function removeFileExtension(path) { +function removeFileExtension(path2) { for (const ext of extensionsToRemove) { - const extensionless = tryRemoveExtension(path, ext); + const extensionless = tryRemoveExtension(path2, ext); if (extensionless !== void 0) { return extensionless; } } - return path; + return path2; } -function tryRemoveExtension(path, extension) { - return fileExtensionIs(path, extension) ? removeExtension(path, extension) : void 0; +function tryRemoveExtension(path2, extension) { + return fileExtensionIs(path2, extension) ? removeExtension(path2, extension) : void 0; } -function removeExtension(path, extension) { - return path.substring(0, path.length - extension.length); +function removeExtension(path2, extension) { + return path2.substring(0, path2.length - extension.length); } -function changeExtension(path, newExtension) { - return changeAnyExtension(path, newExtension, extensionsToRemove, false); +function changeExtension(path2, newExtension) { + return changeAnyExtension(path2, newExtension, extensionsToRemove, false); } function tryParsePattern(pattern) { const indexOfStar = pattern.indexOf("*"); @@ -20096,7 +20102,7 @@ function tryParsePattern(pattern) { }; } function tryParsePatterns(paths) { - return mapDefined(getOwnKeys(paths), (path) => tryParsePattern(path)); + return mapDefined(getOwnKeys(paths), (path2) => tryParsePattern(path2)); } function positionIsSynthesized(pos) { return !(pos >= 0); @@ -20107,18 +20113,18 @@ function extensionIsTS(ext) { function resolutionExtensionIsTSOrJson(ext) { return extensionIsTS(ext) || ext === ".json" /* Json */; } -function extensionFromPath(path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 ? ext : Debug.fail(`File ${path} has unknown extension.`); +function extensionFromPath(path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 ? ext : Debug.fail(`File ${path2} has unknown extension.`); } -function isAnySupportedFileExtension(path) { - return tryGetExtensionFromPath2(path) !== void 0; +function isAnySupportedFileExtension(path2) { + return tryGetExtensionFromPath2(path2) !== void 0; } -function tryGetExtensionFromPath2(path) { - if (fileExtensionIs(path, ".ets" /* Ets */)) { +function tryGetExtensionFromPath2(path2) { + if (fileExtensionIs(path2, ".ets" /* Ets */)) { return ".ets" /* Ets */; } - return find(extensionsToRemove, (e) => fileExtensionIs(path, e)); + return find(extensionsToRemove, (e) => fileExtensionIs(path2, e)); } function isCheckJsEnabledForFile(sourceFile, compilerOptions) { return sourceFile.checkJsDirective ? sourceFile.checkJsDirective.enabled : compilerOptions.checkJs; @@ -20357,8 +20363,8 @@ function expressionResultIsUnused(node) { return false; } } -function containsIgnoredPath(path) { - return some(ignoredPaths, (p) => stringContains(path, p)); +function containsIgnoredPath(path2) { + return some(ignoredPaths, (p) => stringContains(path2, p)); } function getContainingNodeArray(node) { if (!node.parent) @@ -25544,19 +25550,19 @@ function createInputFiles(javascriptTextOrReadFileText, declarationTextOrJavascr const node = parseNodeFactory.createInputFiles(); if (!isString(javascriptTextOrReadFileText)) { const cache = new Map2(); - const textGetter = (path) => { - if (path === void 0) + const textGetter = (path2) => { + if (path2 === void 0) return void 0; - let value = cache.get(path); + let value = cache.get(path2); if (value === void 0) { - value = javascriptTextOrReadFileText(path); - cache.set(path, value !== void 0 ? value : false); + value = javascriptTextOrReadFileText(path2); + cache.set(path2, value !== void 0 ? value : false); } return value !== false ? value : void 0; }; - const definedTextGetter = (path) => { - const result = textGetter(path); - return result !== void 0 ? result : `/* Input file ${path} was missing */\r + const definedTextGetter = (path2) => { + const result = textGetter(path2); + return result !== void 0 ? result : `/* Input file ${path2} was missing */\r `; }; let buildInfo2; @@ -28784,7 +28790,7 @@ function parseJSDocTypeExpressionForTests(content, start, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length2); } var languageVersionCallBack; -function getLanguageVersionByFilePath(getLanguageVersion) { +function setLanguageVersionByFilePath(getLanguageVersion) { languageVersionCallBack = getLanguageVersion; } var Parser; @@ -29013,7 +29019,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext(), sourceFileCompilerOptions), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -35583,7 +35589,7 @@ function processPragmasIntoFields(context, reportDiagnostic) { const typeReferenceDirectives = context.typeReferenceDirectives; const libReferenceDirectives = context.libReferenceDirectives; forEach(toArray(entryOrList), (arg) => { - const { types, lib, path, ["resolution-mode"]: res } = arg.arguments; + const { types, lib, path: path2, ["resolution-mode"]: res } = arg.arguments; if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } else if (types) { @@ -35591,8 +35597,8 @@ function processPragmasIntoFields(context, reportDiagnostic) { typeReferenceDirectives.push({ pos: types.pos, end: types.end, fileName: types.value, ...parsed ? { resolutionMode: parsed } : {} }); } else if (lib) { libReferenceDirectives.push({ pos: lib.pos, end: lib.end, fileName: lib.value }); - } else if (path) { - referencedFiles.push({ pos: path.pos, end: path.end, fileName: path.value }); + } else if (path2) { + referencedFiles.push({ pos: path2.pos, end: path2.end, fileName: path2.value }); } else { reportDiagnostic(arg.range.pos, arg.range.end - arg.range.pos, Diagnostics.Invalid_reference_directive_syntax); } @@ -37844,20 +37850,20 @@ function filterSameAsDefaultInclude(specs) { return void 0; return specs; } -function matchesSpecs(path, includeSpecs, excludeSpecs, host) { +function matchesSpecs(path2, includeSpecs, excludeSpecs, host) { if (!includeSpecs) return returnTrue; - const patterns = getFileMatcherPatterns(path, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); + const patterns = getFileMatcherPatterns(path2, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); const excludeRe = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, host.useCaseSensitiveFileNames); const includeRe = patterns.includeFilePattern && getRegexFromPattern(patterns.includeFilePattern, host.useCaseSensitiveFileNames); if (includeRe) { if (excludeRe) { - return (path2) => !(includeRe.test(path2) && !excludeRe.test(path2)); + return (path3) => !(includeRe.test(path3) && !excludeRe.test(path3)); } - return (path2) => !includeRe.test(path2); + return (path3) => !includeRe.test(path3); } if (excludeRe) { - return (path2) => excludeRe.test(path2); + return (path3) => excludeRe.test(path3); } return returnTrue; } @@ -38247,9 +38253,9 @@ function parseConfig(json, sourceFile, host, basePath, configFileName, resolutio let relativeDifference; const setPropertyInRawIfNotUndefined = (propertyName) => { if (!raw[propertyName] && baseRaw[propertyName]) { - raw[propertyName] = map(baseRaw[propertyName], (path) => isRootedDiskPath(path) ? path : combinePaths( + raw[propertyName] = map(baseRaw[propertyName], (path2) => isRootedDiskPath(path2) ? path2 : combinePaths( relativeDifference || (relativeDifference = convertToRelativePath(getDirectoryPath(ownConfig.extendedConfigPath), basePath, createGetCanonicalFileName(host.useCaseSensitiveFileNames))), - path + path2 )); } }; @@ -38372,14 +38378,14 @@ function getExtendsConfigPath(extendedConfig, host, basePath, errors, createDiag return void 0; } function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack, errors, extendedConfigCache) { - const path = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); + const path2 = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); let value; let extendedResult; let extendedConfig; - if (extendedConfigCache && (value = extendedConfigCache.get(path))) { + if (extendedConfigCache && (value = extendedConfigCache.get(path2))) { ({ extendedResult, extendedConfig } = value); } else { - extendedResult = readJsonConfigFile(extendedConfigPath, (path2) => host.readFile(path2)); + extendedResult = readJsonConfigFile(extendedConfigPath, (path3) => host.readFile(path3)); if (!extendedResult.parseDiagnostics.length) { extendedConfig = parseConfig( void 0, @@ -38393,7 +38399,7 @@ function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack ); } if (extendedConfigCache) { - extendedConfigCache.set(path, { extendedResult, extendedConfig }); + extendedConfigCache.set(path2, { extendedResult, extendedConfig }); } } if (sourceFile) { @@ -38634,14 +38640,14 @@ function specToDiagnostic(spec, disallowTrailingRecursion) { return [Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec]; } } -function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path, useCaseSensitiveFileNames) { - const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path, "exclude"); +function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path2, useCaseSensitiveFileNames) { + const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path2, "exclude"); const excludeRegex = rawExcludeRegex && new RegExp(rawExcludeRegex, useCaseSensitiveFileNames ? "" : "i"); const wildcardDirectories = {}; if (include !== void 0) { const recursiveKeys = []; for (const file of include) { - const spec = normalizePath(combinePaths(path, file)); + const spec = normalizePath(combinePaths(path2, file)); if (excludeRegex && excludeRegex.test(spec)) { continue; } @@ -38660,7 +38666,7 @@ function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExclu for (const key in wildcardDirectories) { if (hasProperty(wildcardDirectories, key)) { for (const recursiveKey of recursiveKeys) { - if (key !== recursiveKey && containsPath(recursiveKey, key, path, !useCaseSensitiveFileNames)) { + if (key !== recursiveKey && containsPath(recursiveKey, key, path2, !useCaseSensitiveFileNames)) { delete wildcardDirectories[key]; } } @@ -38862,12 +38868,12 @@ function readPackageJsonPathField(jsonContent, fieldName, baseDirectory, state) } return; } - const path = normalizePath(combinePaths(baseDirectory, fileName)); + const path2 = normalizePath(combinePaths(baseDirectory, fileName)); if (state.traceEnabled) { const message = isOhpm(state.compilerOptions.packageManagerType) ? Diagnostics.oh_package_json5_has_0_field_1_that_references_2 : Diagnostics.package_json_has_0_field_1_that_references_2; - trace(state.host, message, fieldName, fileName, path); + trace(state.host, message, fieldName, fileName, path2); } - return path; + return path2; } function readPackageJsonTypesFields(jsonContent, baseDirectory, state) { return readPackageJsonPathField(jsonContent, "typings", baseDirectory, state) || readPackageJsonPathField(jsonContent, "types", baseDirectory, state); @@ -39177,11 +39183,11 @@ function createCacheWithRedirects(options) { if (!redirectedReference) { return ownMap; } - const path = redirectedReference.sourceFile.path; - let redirects = redirectsMap.get(path); + const path2 = redirectedReference.sourceFile.path; + let redirects = redirectsMap.get(path2); if (!redirects) { redirects = !options || optionsHaveModuleResolutionChanges(options, redirectedReference.commandLine.options) ? new Map2() : ownMap; - redirectsMap.set(path, redirects); + redirectsMap.set(path2, redirects); } return redirects; } @@ -39253,8 +39259,8 @@ function createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileNam updateRedirectsMap(options, directoryToModuleNameMap); } function getOrCreateCacheForDirectory(directoryName, redirectedReference) { - const path = toPath(directoryName, currentDirectory, getCanonicalFileName); - return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, () => createModeAwareCache()); + const path2 = toPath(directoryName, currentDirectory, getCanonicalFileName); + return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path2, () => createModeAwareCache()); } } function createModeAwareCache() { @@ -39338,14 +39344,14 @@ function createModuleResolutionCache(currentDirectory, getCanonicalFileName, opt return directoryPathMap.get(toPath(directory, currentDirectory, getCanonicalFileName)); } function set(directory, result) { - const path = toPath(directory, currentDirectory, getCanonicalFileName); - if (directoryPathMap.has(path)) { + const path2 = toPath(directory, currentDirectory, getCanonicalFileName); + if (directoryPathMap.has(path2)) { return; } - directoryPathMap.set(path, result); + directoryPathMap.set(path2, result); const resolvedFileName = result.resolvedModule && (result.resolvedModule.originalPath || result.resolvedModule.resolvedFileName); - const commonPrefix = resolvedFileName && getCommonPrefix(path, resolvedFileName); - let current = path; + const commonPrefix = resolvedFileName && getCommonPrefix(path2, resolvedFileName); + let current = path2; while (current !== commonPrefix) { const parent2 = getDirectoryPath(current); if (parent2 === current || directoryPathMap.has(parent2)) { @@ -39716,10 +39722,10 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, return void 0; let resolvedValue = resolved2.value; if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) { - const path = realPath(resolvedValue.path, host, traceEnabled); - const pathsAreEqual = arePathsEqual(path, resolvedValue.path, host); + const path2 = realPath(resolvedValue.path, host, traceEnabled); + const pathsAreEqual = arePathsEqual(path2, resolvedValue.path, host); const originalPath = pathsAreEqual ? void 0 : resolvedValue.path; - resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path, originalPath }; + resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path2, originalPath }; } return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; } else { @@ -39733,18 +39739,18 @@ function normalizePathForCJSResolution(containingDirectory, moduleName) { const combined = combinePaths(containingDirectory, moduleName); const parts = getPathComponents(combined); const lastPart = lastOrUndefined(parts); - const path = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); - return { path, parts }; + const path2 = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); + return { path: path2, parts }; } -function realPath(path, host, traceEnabled) { +function realPath(path2, host, traceEnabled) { if (!host.realpath) { - return path; + return path2; } - const real = normalizePath(host.realpath(path)); + const real = normalizePath(host.realpath(path2)); if (traceEnabled) { - trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path, real); + trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path2, real); } - Debug.assert(host.fileExists(real), `${path} linked to nonexistent file ${real}`); + Debug.assert(host.fileExists(real), `${path2} linked to nonexistent file ${real}`); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -39783,25 +39789,25 @@ function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, return void 0; } var nodeModulesPathPart = "/node_modules/"; -function pathContainsNodeModules(path) { - return stringContains(path, nodeModulesPathPart); +function pathContainsNodeModules(path2) { + return stringContains(path2, nodeModulesPathPart); } function parseModuleFromPath(resolved, packageManagerType) { const modulesPathPart = getModulePathPartByPMType(packageManagerType); - const path = normalizePath(resolved); - const idx = path.lastIndexOf(modulesPathPart); + const path2 = normalizePath(resolved); + const idx = path2.lastIndexOf(modulesPathPart); if (idx === -1) { return void 0; } const indexAfterModules = idx + modulesPathPart.length; - let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterModules); - if (path.charCodeAt(indexAfterModules) === 64 /* at */) { - indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterPackageName); + let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterModules); + if (path2.charCodeAt(indexAfterModules) === 64 /* at */) { + indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterPackageName); } - return path.slice(0, indexAfterPackageName); + return path2.slice(0, indexAfterPackageName); } -function moveToNextDirectorySeparatorIfAvailable(path, prevSeparatorIndex) { - const nextSeparatorIndex = path.indexOf(directorySeparator, prevSeparatorIndex + 1); +function moveToNextDirectorySeparatorIfAvailable(path2, prevSeparatorIndex) { + const nextSeparatorIndex = path2.indexOf(directorySeparator, prevSeparatorIndex + 1); return nextSeparatorIndex === -1 ? prevSeparatorIndex : nextSeparatorIndex; } function loadModuleFromFileNoPackageId(extensions, candidate, onlyRecordFailures, state) { @@ -39904,8 +39910,8 @@ function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecor return tryExtension(".json" /* Json */); } function tryExtension(ext) { - const path = tryFile(candidate + ext, onlyRecordFailures, state); - return path === void 0 ? void 0 : { path, ext }; + const path2 = tryFile(candidate + ext, onlyRecordFailures, state); + return path2 === void 0 ? void 0 : { path: path2, ext }; } } function tryFile(fileName, onlyRecordFailures, state) { @@ -40152,9 +40158,9 @@ function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFail return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state); } } -function resolvedIfExtensionMatches(extensions, path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 && extensionIsOk(extensions, ext) ? { path, ext } : void 0; +function resolvedIfExtensionMatches(extensions, path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 && extensionIsOk(extensions, ext) ? { path: path2, ext } : void 0; } function extensionIsOk(extensions, extension) { switch (extensions) { @@ -40408,11 +40414,11 @@ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirec trace(state.host, Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName); } return toSearchResult(void 0); - function toAbsolutePath(path) { + function toAbsolutePath(path2) { var _a2, _b; - if (path === void 0) - return path; - return getNormalizedAbsolutePath(path, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); + if (path2 === void 0) + return path2; + return getNormalizedAbsolutePath(path2, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); } function combineDirectoryPath(root, dir) { return ensureTrailingDirectorySeparator(combinePaths(root, dir)); @@ -40606,16 +40612,16 @@ function tryLoadModuleUsingPaths(extensions, moduleName, baseDirectory, paths, p trace(state.host, Diagnostics.Module_name_0_matched_pattern_1, moduleName, matchedPatternText); } const resolved = forEach(paths[matchedPatternText], (subst) => { - const path = matchedStar ? subst.replace("*", matchedStar) : subst; - const candidate = normalizePath(combinePaths(baseDirectory, path)); + const path2 = matchedStar ? subst.replace("*", matchedStar) : subst; + const candidate = normalizePath(combinePaths(baseDirectory, path2)); if (state.traceEnabled) { - trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path); + trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path2); } const extension = tryGetExtensionFromPath2(subst); if (extension !== void 0) { - const path2 = tryFile(candidate, onlyRecordFailures, state); - if (path2 !== void 0) { - return noPackageId({ path: path2, ext: extension }); + const path3 = tryFile(candidate, onlyRecordFailures, state); + if (path3 !== void 0) { + return noPackageId({ path: path3, ext: extension }); } } return loader(extensions, candidate, onlyRecordFailures || !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); @@ -40757,6 +40763,7 @@ function traceIfEnabled(state, diagnostic, ...args) { } // src/compiler/ohApi.ts +var path = __toESM(require("path")); var annotationMagicNamePrefix = "__$$ETS_ANNOTATION$$__"; var maxFlowDepthDefaultValue = 2e3; function isInEtsFile(node) { @@ -40890,8 +40897,8 @@ function isOHModulesDirectory(dirPath) { function isTargetModulesDerectory(dirPath) { return isNodeModulesDirectory(dirPath) || isOHModulesDirectory(dirPath); } -function pathContainsOHModules(path) { - return stringContains(path, ohModulesPathPart); +function pathContainsOHModules(path2) { + return stringContains(path2, ohModulesPathPart); } function choosePathContainsModules(packageManagerType, fileName) { return isOhpm(packageManagerType) ? pathContainsOHModules(fileName) : pathContainsNodeModules(fileName); @@ -41590,20 +41597,34 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; + if (compilerOptions.etsLoaderPath && normalizePath(compilerOptions.etsLoaderPath).endsWith("ets1.1/build-tools/ets-loader")) { + return resolvePath(compilerOptions.etsLoaderPath, "../../../../.."); + } + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; +} +function getKitConfigRelativePath(compilerOptions) { + const etsLoaderPath = compilerOptions.etsLoaderPath; + const sdkPath = getSdkPath(compilerOptions); + return path.relative( + sdkPath, + path.join(etsLoaderPath, "kit_configs") + ); +} +function convertPath(originalPath, from, to) { + return originalPath.replace(new RegExp(from, "g"), to); } -function getKitJsonObject(name, sdkPath) { +function getKitJsonObject(name, sdkPath, compilerOptions) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { return kitJsonCache.get(name); } + const OHOS_KIT_CONFIG_PATH = getKitConfigRelativePath(compilerOptions); + const HMS_KIT_CONFIG_PATH = convertPath(OHOS_KIT_CONFIG_PATH, "openharmony", "hms"); const ohosJsonPath = resolvePath(sdkPath, OHOS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); const hmsJsonPath = resolvePath(sdkPath, HMS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); let fileInfo = sys.fileExists(ohosJsonPath) ? sys.readFile(ohosJsonPath, "utf-8") : sys.fileExists(hmsJsonPath) ? sys.readFile(hmsJsonPath, "utf-8") : void 0; @@ -41771,7 +41792,7 @@ function processKitStatementSuccess(factory2, statement, jsonObject, inEtsContex } return true; } -function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext) { +function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext, compilerOptions) { const list = []; let skipRestStatements = false; statements.forEach( @@ -41788,7 +41809,7 @@ function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsC list.push(statement); return; } - const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath); + const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath, compilerOptions); const newImportStatements = new Array(); if (!processKitStatementSuccess(factory2, statement, jsonObject, inEtsContext, newImportStatements)) { list.push(statement); @@ -44974,10 +44995,10 @@ function getLocalModuleSpecifier(moduleFileName, info, compilerOptions, host, im Debug.assertNever(relativePreference); return isPathRelativeToParent(nonRelative) || countPathComponents(relativePath) < countPathComponents(nonRelative) ? relativePath : nonRelative; } -function countPathComponents(path) { +function countPathComponents(path2) { let count = 0; - for (let i = startsWith(path, "./") ? 2 : 0; i < path.length; i++) { - if (path.charCodeAt(i) === 47 /* slash */) + for (let i = startsWith(path2, "./") ? 2 : 0; i < path2.length; i++) { + if (path2.charCodeAt(i) === 47 /* slash */) count++; } return count; @@ -45024,9 +45045,9 @@ function forEachFileNameOfModule(importingFileName, importedFileName, host, pref if (!startsWithDirectory(target, realPathDirectory, getCanonicalFileName)) { return; } - const relative = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); + const relative2 = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); for (const symlinkDirectory of symlinkDirectories) { - const option = resolvePath(symlinkDirectory, relative); + const option = resolvePath(symlinkDirectory, relative2); const result2 = cb(option, target === referenceRedirect); shouldFilterIgnoredPaths = true; if (result2) @@ -45060,9 +45081,9 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack importedFileName, host, true, - (path, isRedirect) => { - const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path) : pathContainsNodeModules(path); - allFileNames.set(path, { path: getCanonicalFileName(path), isRedirect, isInNodeModules }); + (path2, isRedirect) => { + const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path2) : pathContainsNodeModules(path2); + allFileNames.set(path2, { path: getCanonicalFileName(path2), isRedirect, isInNodeModules }); importedFileFromNodeModules = importedFileFromNodeModules || isInNodeModules; } ); @@ -45070,8 +45091,8 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack for (let directory = getDirectoryPath(importingFileName); allFileNames.size !== 0; ) { const directoryStart = ensureTrailingDirectorySeparator(directory); let pathsInDirectory; - allFileNames.forEach(({ path, isRedirect, isInNodeModules }, fileName) => { - if (startsWith(path, directoryStart)) { + allFileNames.forEach(({ path: path2, isRedirect, isInNodeModules }, fileName) => { + if (startsWith(path2, directoryStart)) { (pathsInDirectory || (pathsInDirectory = [])).push({ path: fileName, isRedirect, isInNodeModules }); allFileNames.delete(fileName); } @@ -45247,16 +45268,16 @@ function tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, } return getEmitModuleResolutionKind(compilerOptions) === 2 /* NodeJs */ ? removeExtensionAndIndexPostFix(shortest, ending, compilerOptions) : removeFileExtension(shortest); } -function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { +function tryGetModuleNameAsNodeModule({ path: path2, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { if (!host.fileExists || !host.readFile) { return void 0; } - const parts = getNodeModulePathParts(path, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); + const parts = getNodeModulePathParts(path2, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); if (!parts) { return void 0; } const preferences = getPreferences(host, userPreferences, options, importingSourceFile); - let moduleSpecifier = path; + let moduleSpecifier = path2; let isPackageRootPath = false; if (!packageNameOnly) { let packageRootIndex = parts.packageRootIndex; @@ -45278,7 +45299,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa } if (!moduleFileName) moduleFileName = moduleFileToTry; - packageRootIndex = path.indexOf(directorySeparator, packageRootIndex + 1); + packageRootIndex = path2.indexOf(directorySeparator, packageRootIndex + 1); if (packageRootIndex === -1) { moduleSpecifier = removeExtensionAndIndexPostFix(moduleFileName, preferences.ending, options, host); break; @@ -45298,9 +45319,9 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return getEmitModuleResolutionKind(options) === 1 /* Classic */ && packageName === nodeModulesDirectoryName ? void 0 : packageName; function tryDirectoryWithPackageJson(packageRootIndex) { var _a2, _b; - const packageRootPath = path.substring(0, packageRootIndex); + const packageRootPath = path2.substring(0, packageRootIndex); const packageJsonPath = combinePaths(packageRootPath, getPackageJsonByPMType(options.packageManagerType)); - let moduleFileToTry = path; + let moduleFileToTry = path2; let maybeBlockedByTypesVersions = false; const cachedPackageJson = (_b = (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === void 0 && host.fileExists(packageJsonPath)) { @@ -45308,18 +45329,18 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa const importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */) { const conditions = ["node", importMode === 99 /* ESNext */ ? "import" : "require", "types"]; - const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; + const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path2, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; if (fromExports) { const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) }; return { ...withJsExtension, verbatimFromExports: true }; } if (packageJsonContent.exports) { - return { moduleFileToTry: path, blockedByExports: true }; + return { moduleFileToTry: path2, blockedByExports: true }; } } const versionPaths = packageJsonContent.typesVersions ? getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions) : void 0; if (versionPaths) { - const subModuleName = path.slice(packageRootPath.length + 1); + const subModuleName = path2.slice(packageRootPath.length + 1); const fromPaths = tryGetModuleNameFromPaths( subModuleName, versionPaths.paths, @@ -45349,20 +45370,20 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return { moduleFileToTry }; } } -function tryGetAnyFileFromPath(host, path) { +function tryGetAnyFileFromPath(host, path2) { if (!host.fileExists) return; const extensions = flatten(getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 /* JSON */ }])); for (const e of extensions) { - const fullPath = path + e; + const fullPath = path2 + e; if (host.fileExists(fullPath)) { return fullPath; } } } -function getPathsRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { +function getPathsRelativeToRootDirs(path2, rootDirs, getCanonicalFileName) { return mapDefined(rootDirs, (rootDir) => { - const relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + const relativePath = getRelativePathIfInDirectory(path2, rootDir, getCanonicalFileName); return relativePath !== void 0 && isPathRelativeToParent(relativePath) ? void 0 : relativePath; }); } @@ -45419,12 +45440,12 @@ function tryGetJSExtensionForFile(fileName, options) { return void 0; } } -function getRelativePathIfInDirectory(path, directoryPath, getCanonicalFileName) { - const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path, directoryPath, getCanonicalFileName, false); +function getRelativePathIfInDirectory(path2, directoryPath, getCanonicalFileName) { + const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path2, directoryPath, getCanonicalFileName, false); return isRootedDiskPath(relativePath) ? void 0 : relativePath; } -function isPathRelativeToParent(path) { - return startsWith(path, ".."); +function isPathRelativeToParent(path2) { + return startsWith(path2, ".."); } // src/compiler/checker.ts @@ -45983,8 +46004,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { clearConstEnumRelate: () => { constEnumRelate && constEnumRelate.clear(); }, - deleteConstEnumRelate: (path) => { - constEnumRelate && constEnumRelate.delete(path); + deleteConstEnumRelate: (path2) => { + constEnumRelate && constEnumRelate.delete(path2); }, isStaticRecord, getTypeArgumentsForResolvedSignature, @@ -50508,8 +50529,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { links.specifierCache.set(cacheKey, specifier); } return specifier; - function getSpecifierCacheKey(path, mode) { - return mode === void 0 ? path : `${mode}|${path}`; + function getSpecifierCacheKey(path2, mode) { + return mode === void 0 ? path2 : `${mode}|${path2}`; } } function symbolToEntityNameNode(symbol) { @@ -56327,10 +56348,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const text = identifier.escapedText; if (text) { const parentSymbol = name.kind === 165 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : name.kind === 211 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : void 0; - const path = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; - let result = unresolvedSymbols.get(path); + const path2 = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; + let result = unresolvedSymbols.get(path2); if (!result) { - unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); + unresolvedSymbols.set(path2, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); result.parent = parentSymbol; result.declaredType = unresolvedType; } @@ -60065,24 +60086,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return; } - let path = ""; + let path2 = ""; const secondaryRootErrors = []; while (stack.length) { const [msg, ...args] = stack.pop(); switch (msg.code) { case Diagnostics.Types_of_property_0_are_incompatible.code: { - if (path.indexOf("new ") === 0) { - path = `(${path})`; + if (path2.indexOf("new ") === 0) { + path2 = `(${path2})`; } const str = "" + args[0]; - if (path.length === 0) { - path = `${str}`; + if (path2.length === 0) { + path2 = `${str}`; } else if (isIdentifierText(str, getEmitScriptTarget(compilerOptions))) { - path = `${path}.${str}`; + path2 = `${path2}.${str}`; } else if (str[0] === "[" && str[str.length - 1] === "]") { - path = `${path}${str}`; + path2 = `${path2}${str}`; } else { - path = `${path}[${str}]`; + path2 = `${path2}[${str}]`; } break; } @@ -60090,7 +60111,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code: case Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: case Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: { - if (path.length === 0) { + if (path2.length === 0) { let mappedMsg = msg; if (msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) { mappedMsg = Diagnostics.Call_signature_return_types_0_and_1_are_incompatible; @@ -60101,7 +60122,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } else { const prefix = msg.code === Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : ""; const params = msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "..."; - path = `${prefix}${path}(${params})`; + path2 = `${prefix}${path2}(${params})`; } break; } @@ -60117,10 +60138,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return Debug.fail(`Unhandled Diagnostic: ${msg.code}`); } } - if (path) { + if (path2) { reportError( - path[path.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, - path + path2[path2.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, + path2 ); } else { secondaryRootErrors.shift(); @@ -70305,7 +70326,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const sourceFileNamePath = getSourceFileOfNode(declaration).fileName.replace(/\\/g, "/"); const SKIPPED_PATHS = ["/node_modules/", "/oh_modules/", "/js_util_module/"]; const skipSdkPathReg = /\/sdk\/default\/(openharmony|hms)\/ets\//; - if (SKIPPED_PATHS.some((path) => sourceFileNamePath.includes(path))) { + if (SKIPPED_PATHS.some((path2) => sourceFileNamePath.includes(path2))) { return false; } const isSDKPath = skipSdkPathReg.test(sourceFileNamePath); @@ -101348,9 +101369,9 @@ function getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSou function createAddOutput() { let outputs; return { addOutput, getOutputs }; - function addOutput(path) { - if (path) { - (outputs || (outputs = [])).push(path); + function addOutput(path2) { + if (path2) { + (outputs || (outputs = [])).push(path2); } } function getOutputs() { @@ -101526,8 +101547,8 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla emittedFilesList.push(declarationMapPath); } } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, host.getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, host.getCanonicalFileName)); } } function emitBuildInfo(bundle, buildInfoPath) { @@ -106196,7 +106217,7 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return { useCaseSensitiveFileNames, fileExists, - readFile: (path, encoding) => host.readFile(path, encoding), + readFile: (path2, encoding) => host.readFile(path2, encoding), directoryExists: host.directoryExists && directoryExists, getDirectories, readDirectory, @@ -106213,8 +106234,8 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi function getCachedFileSystemEntries(rootDirPath) { return cachedReadDirectoryResult.get(ensureTrailingDirectorySeparator(rootDirPath)); } - function getCachedFileSystemEntriesForBaseDir(path) { - const entries = getCachedFileSystemEntries(getDirectoryPath(path)); + function getCachedFileSystemEntriesForBaseDir(path2) { + const entries = getCachedFileSystemEntries(getDirectoryPath(path2)); if (!entries) { return entries; } @@ -106261,25 +106282,25 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return index >= 0; } function writeFile2(fileName, data, writeByteOrderMark) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { updateFilesOfFileSystemEntry(result, getBaseNameOfFileName(fileName), true); } return host.writeFile(fileName, data, writeByteOrderMark); } function fileExists(fileName) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); return result && hasEntry(result.sortedAndCanonicalizedFiles, getCanonicalFileName(getBaseNameOfFileName(fileName))) || host.fileExists(fileName); } function directoryExists(dirPath) { - const path = toPath3(dirPath); - return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path)) || host.directoryExists(dirPath); + const path2 = toPath3(dirPath); + return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path2)) || host.directoryExists(dirPath); } function createDirectory(dirPath) { - const path = toPath3(dirPath); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(dirPath); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { const baseName = getBaseNameOfFileName(dirPath); const canonicalizedBaseName = getCanonicalFileName(baseName); @@ -106307,21 +106328,21 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi } return host.readDirectory(rootDir, extensions, excludes, includes, depth); function getFileSystemEntries(dir) { - const path = toPath3(dir); - if (path === rootDirPath) { - return rootResult || getFileSystemEntriesFromHost(dir, path); + const path2 = toPath3(dir); + if (path2 === rootDirPath) { + return rootResult || getFileSystemEntriesFromHost(dir, path2); } - const result = tryReadDirectory2(dir, path); - return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path) : emptyFileSystemEntries; + const result = tryReadDirectory2(dir, path2); + return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path2) : emptyFileSystemEntries; } - function getFileSystemEntriesFromHost(dir, path) { - if (rootSymLinkResult && path === rootDirPath) + function getFileSystemEntriesFromHost(dir, path2) { + if (rootSymLinkResult && path2 === rootDirPath) return rootSymLinkResult; const result = { files: map(host.readDirectory(dir, void 0, void 0, ["*.*"]), getBaseNameOfFileName) || emptyArray, directories: host.getDirectories(dir) || emptyArray }; - if (path === rootDirPath) + if (path2 === rootDirPath) rootSymLinkResult = result; return result; } @@ -106714,9 +106735,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { fileName, data, writeByteOrderMark, - (path, data2, writeByteOrderMark2) => system.writeFile(path, data2, writeByteOrderMark2), - (path) => (compilerHost.createDirectory || system.createDirectory)(path), - (path) => directoryExists(path) + (path2, data2, writeByteOrderMark2) => system.writeFile(path2, data2, writeByteOrderMark2), + (path2) => (compilerHost.createDirectory || system.createDirectory)(path2), + (path2) => directoryExists(path2) ); mark("afterIOWrite"); measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -106730,7 +106751,7 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { return getDirectoryPath(normalizePath(system.getExecutingFilePath())); } const newLine = getNewLineCharacter(options, () => system.newLine); - const realpath = system.realpath && ((path) => system.realpath(path)); + const realpath = system.realpath && ((path2) => system.realpath(path2)); const compilerHost = { getSourceFile, getDefaultLibLocation, @@ -106745,9 +106766,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { trace: (s) => system.write(s + newLine), directoryExists: (directoryName) => system.directoryExists(directoryName), getEnvironmentVariable: (name) => system.getEnvironmentVariable ? system.getEnvironmentVariable(name) : "", - getDirectories: (path) => system.getDirectories(path), + getDirectories: (path2) => system.getDirectories(path2), realpath, - readDirectory: (path, extensions, include, exclude, depth) => system.readDirectory(path, extensions, include, exclude, depth), + readDirectory: (path2, extensions, include, exclude, depth) => system.readDirectory(path2, extensions, include, exclude, depth), createDirectory: (d) => system.createDirectory(d), createHash: maybeBind(system, system.createHash) }; @@ -107543,7 +107564,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } } PerformanceDotting.stop("processDefaultLib"); - missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path, file]) => file === void 0 ? path : void 0)); + missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path2, file]) => file === void 0 ? path2 : void 0)); files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); processingDefaultLibFiles = void 0; processingOtherFiles = void 0; @@ -108056,18 +108077,18 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config filesByName.set(newSourceFile.path, newSourceFile); } const oldFilesByNameMap = oldProgram.getFilesByNameMap(); - oldFilesByNameMap.forEach((oldFile, path) => { + oldFilesByNameMap.forEach((oldFile, path2) => { if (!oldFile) { - filesByName.set(path, oldFile); + filesByName.set(path2, oldFile); return; } - if (oldFile.path === path) { + if (oldFile.path === path2) { if (oldProgram.isSourceFileFromExternalLibrary(oldFile)) { sourceFilesFoundSearchingNodeModules.set(oldFile.path, true); } return; } - filesByName.set(path, filesByName.get(oldFile.path)); + filesByName.set(path2, filesByName.get(oldFile.path)); }); files = newSourceFiles; fileReasons = oldProgram.getFileIncludeReasons(); @@ -108099,10 +108120,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config isEmitBlocked, readFile: (f) => host.readFile(f), fileExists: (f) => { - const path = toPath3(f); - if (getSourceFileByPath(path)) + const path2 = toPath3(f); + if (getSourceFileByPath(path2)) return true; - if (contains(missingFilePaths, path)) + if (contains(missingFilePaths, path2)) return false; return host.fileExists(f); }, @@ -108150,9 +108171,9 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config return (_a3 = resolvedProjectReferences[index]) == null ? void 0 : _a3.commandLine; }, (fileName) => { - const path = toPath3(fileName); - const sourceFile = getSourceFileByPath(path); - return sourceFile ? sourceFile.text : filesByName.has(path) ? void 0 : host.readFile(path); + const path2 = toPath3(fileName); + const sourceFile = getSourceFileByPath(path2); + return sourceFile ? sourceFile.text : filesByName.has(path2) ? void 0 : host.readFile(path2); } ); } @@ -108271,8 +108292,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function getSourceFile(fileName) { return getSourceFileByPath(toPath3(fileName)); } - function getSourceFileByPath(path) { - return filesByName.get(path) || void 0; + function getSourceFileByPath(path2) { + return filesByName.get(path2) || void 0; } function getDiagnosticsHelper(sourceFile, getDiagnostics2, cancellationToken) { if (sourceFile) { @@ -108881,17 +108902,17 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config addFilePreprocessingFileExplainingDiagnostic(existingFile, reason, Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [fileName, existingFile.fileName]); } } - function createRedirectSourceFile(redirectTarget, unredirected, fileName, path, resolvedPath, originalFileName, sourceFileOptions) { + function createRedirectSourceFile(redirectTarget, unredirected, fileName, path2, resolvedPath, originalFileName, sourceFileOptions) { var _a3; const redirect = Object.create(redirectTarget); redirect.fileName = fileName; - redirect.path = path; + redirect.path = path2; redirect.resolvedPath = resolvedPath; redirect.originalFileName = originalFileName; redirect.redirectInfo = { redirectTarget, unredirected }; redirect.packageJsonLocations = ((_a3 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _a3.length) ? sourceFileOptions.packageJsonLocations : void 0; redirect.packageJsonScope = sourceFileOptions.packageJsonScope; - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); Object.defineProperties(redirect, { id: { get() { @@ -108931,25 +108952,25 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function findSourceFileWorker(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { var _a3, _b2; - const path = toPath3(fileName); + const path2 = toPath3(fileName); if (useSourceOfProjectReferenceRedirect) { - let source = getSourceOfProjectReferenceRedirect(path); + let source = getSourceOfProjectReferenceRedirect(path2); const modulesPathPart = getModulePathPartByPMType(options.packageManagerType); if (!source && host.realpath && options.preserveSymlinks && isDeclarationFileName(fileName) && stringContains(fileName, modulesPathPart)) { const realPath2 = toPath3(host.realpath(fileName)); - if (realPath2 !== path) + if (realPath2 !== path2) source = getSourceOfProjectReferenceRedirect(realPath2); } if (source) { const file2 = isString(source) ? findSourceFile(source, isDefaultLib, ignoreNoDefaultLib, reason, packageId) : void 0; if (file2) - addFileToFilesByName(file2, path, void 0); + addFileToFilesByName(file2, path2, void 0); return file2; } } const originalFileName = fileName; - if (filesByName.has(path)) { - const file2 = filesByName.get(path); + if (filesByName.has(path2)) { + const file2 = filesByName.get(path2); addFileIncludeReason(file2 || void 0, reason); if (file2 && options.forceConsistentCasingInFileNames) { const checkedName = file2.fileName; @@ -109008,30 +109029,30 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config const packageIdKey = packageIdToString(packageId); const fileFromPackageId = packageIdToSourceFile.get(packageIdKey); if (fileFromPackageId) { - const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path, toPath3(fileName), originalFileName, sourceFileOptions); + const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path2, toPath3(fileName), originalFileName, sourceFileOptions); redirectTargetsMap.add(fileFromPackageId.path, fileName); - addFileToFilesByName(dupFile, path, redirectedPath); + addFileToFilesByName(dupFile, path2, redirectedPath); addFileIncludeReason(dupFile, reason); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); processingOtherFiles.push(dupFile); return dupFile; } else if (file) { packageIdToSourceFile.set(packageIdKey, file); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); } } - addFileToFilesByName(file, path, redirectedPath); + addFileToFilesByName(file, path2, redirectedPath); if (file) { - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); file.fileName = fileName; - file.path = path; + file.path = path2; file.resolvedPath = toPath3(fileName); file.originalFileName = originalFileName; file.packageJsonLocations = ((_b2 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _b2.length) ? sourceFileOptions.packageJsonLocations : void 0; file.packageJsonScope = sourceFileOptions.packageJsonScope; addFileIncludeReason(file, reason); if (host.useCaseSensitiveFileNames()) { - const pathLowerCase = toFileNameLowerCase(path); + const pathLowerCase = toFileNameLowerCase(path2); const existingFile = filesByNameIgnoreCase.get(pathLowerCase); if (existingFile) { reportFileNamesDifferOnlyInCasingError(fileName, existingFile, reason); @@ -109060,12 +109081,12 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config if (file) fileReasons.add(file.path, reason); } - function addFileToFilesByName(file, path, redirectedPath) { + function addFileToFilesByName(file, path2, redirectedPath) { if (redirectedPath) { filesByName.set(redirectedPath, file); - filesByName.set(path, file || false); + filesByName.set(path2, file || false); } else { - filesByName.set(path, file); + filesByName.set(path2, file); } } function getProjectReferenceRedirect(fileName) { @@ -109097,8 +109118,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function forEachResolvedProjectReference2(cb) { return forEachResolvedProjectReference(resolvedProjectReferences, cb); } - function getSourceOfProjectReferenceRedirect(path) { - if (!isDeclarationFileName(path)) + function getSourceOfProjectReferenceRedirect(path2) { + if (!isDeclarationFileName(path2)) return void 0; if (mapFromToProjectReferenceRedirectSource === void 0) { mapFromToProjectReferenceRedirectSource = new Map2(); @@ -109118,7 +109139,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } }); } - return mapFromToProjectReferenceRedirectSource.get(path); + return mapFromToProjectReferenceRedirectSource.get(path2); } function isSourceOfProjectReferenceRedirect(fileName) { return useSourceOfProjectReferenceRedirect && !!getResolvedProjectReferenceToRedirect(fileName); @@ -109207,15 +109228,15 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function pathForLibFile(libFileName) { const components = libFileName.split("."); - let path = components[1]; + let path2 = components[1]; let i = 2; while (components[i] && components[i] !== "d") { - path += (i === 2 ? "/" : "-") + components[i]; + path2 += (i === 2 ? "/" : "-") + components[i]; i++; } const modulePathType = getModuleByPMType(options.packageManagerType); const resolveFrom = combinePaths(currentDirectory, `__lib_${modulePathType}_lookup_${libFileName}__.ts`); - const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); + const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path2, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); if (localOverrideModuleResult == null ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; } @@ -109919,9 +109940,9 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { host.compilerHost.fileExists = fileExists; let directoryExists; if (originalDirectoryExists) { - directoryExists = host.compilerHost.directoryExists = (path) => { - if (originalDirectoryExists.call(host.compilerHost, path)) { - handleDirectoryCouldBeSymlink(path); + directoryExists = host.compilerHost.directoryExists = (path2) => { + if (originalDirectoryExists.call(host.compilerHost, path2)) { + handleDirectoryCouldBeSymlink(path2); return true; } if (!host.getResolvedProjectReferences()) @@ -109940,11 +109961,11 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { } }); } - return fileOrDirectoryExistsUsingSource(path, false); + return fileOrDirectoryExistsUsingSource(path2, false); }; } if (originalGetDirectories) { - host.compilerHost.getDirectories = (path) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path) ? originalGetDirectories.call(host.compilerHost, path) : []; + host.compilerHost.getDirectories = (path2) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path2) ? originalGetDirectories.call(host.compilerHost, path2) : []; } if (originalRealpath) { host.compilerHost.realpath = (s) => { @@ -110338,12 +110359,12 @@ var BuilderState; state.allFileNames = void 0; } BuilderState2.releaseCache = releaseCache2; - function getFilesAffectedBy(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { + function getFilesAffectedBy(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { var _a2, _b; const result = getFilesAffectedByWithOldState( state, programOfThisState, - path, + path2, cancellationToken, computeHash, getCanonicalFileName @@ -110353,8 +110374,8 @@ var BuilderState; return result; } BuilderState2.getFilesAffectedBy = getFilesAffectedBy; - function getFilesAffectedByWithOldState(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { - const sourceFile = programOfThisState.getSourceFileByPath(path); + function getFilesAffectedByWithOldState(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { + const sourceFile = programOfThisState.getSourceFileByPath(path2); if (!sourceFile) { return emptyArray; } @@ -110364,9 +110385,9 @@ var BuilderState; return (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName); } BuilderState2.getFilesAffectedByWithOldState = getFilesAffectedByWithOldState; - function updateSignatureOfFile(state, signature, path) { - state.fileInfos.get(path).signature = signature; - (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path); + function updateSignatureOfFile(state, signature, path2) { + state.fileInfos.get(path2).signature = signature; + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path2); } BuilderState2.updateSignatureOfFile = updateSignatureOfFile; function updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName, useFileVersionAsSignature = state.useFileVersionAsSignature) { @@ -110436,7 +110457,7 @@ var BuilderState; if (!exportedModules) { exportedModules = new Set2(); } - exportedModulePaths.forEach((path) => exportedModules.add(path)); + exportedModulePaths.forEach((path2) => exportedModules.add(path2)); } } } @@ -110452,10 +110473,10 @@ var BuilderState; const seenMap = new Set2(); const queue = [sourceFile.resolvedPath]; while (queue.length) { - const path = queue.pop(); - if (!seenMap.has(path)) { - seenMap.add(path); - const references = state.referencedMap.getValues(path); + const path2 = queue.pop(); + if (!seenMap.has(path2)) { + seenMap.add(path2); + const references = state.referencedMap.getValues(path2); if (references) { const iterator = references.keys(); for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) { @@ -110464,9 +110485,9 @@ var BuilderState; } } } - return arrayFrom(mapDefinedIterator(seenMap.keys(), (path) => { + return arrayFrom(mapDefinedIterator(seenMap.keys(), (path2) => { var _a2, _b; - return (_b = (_a2 = programOfThisState.getSourceFileByPath(path)) == null ? void 0 : _a2.fileName) != null ? _b : path; + return (_b = (_a2 = programOfThisState.getSourceFileByPath(path2)) == null ? void 0 : _a2.fileName) != null ? _b : path2; })); } BuilderState2.getAllDependencies = getAllDependencies; @@ -110599,7 +110620,7 @@ function createBuilderProgramState(newProgram, getCanonicalFileName, oldState, d var _a3, _b2; let oldInfo; let newReferences; - if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path) => !state.fileInfos.has(path) && oldState.fileInfos.has(path))) { + if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path2) => !state.fileInfos.has(path2) && oldState.fileInfos.has(path2))) { state.changedFilesSet.add(sourceFilePath); } else if (canCopySemanticDiagnostics) { const sourceFile = newProgram.getSourceFileByPath(sourceFilePath); @@ -110664,8 +110685,8 @@ function convertToDiagnostics(diagnostics, newProgram, getCanonicalFileName) { result.relatedInformation = relatedInformation ? relatedInformation.length ? relatedInformation.map((r) => convertToDiagnosticRelatedInformation(r, newProgram, toPath3)) : [] : void 0; return result; }); - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } } function convertToDiagnosticRelatedInformation(diagnostic, newProgram, toPath3) { @@ -110824,11 +110845,11 @@ function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken host ); } -function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCanonicalFileName, host) { - removeSemanticDiagnosticsOf(state, path); - if (!state.changedFilesSet.has(path)) { +function handleDtsMayChangeOf(state, path2, cancellationToken, computeHash, getCanonicalFileName, host) { + removeSemanticDiagnosticsOf(state, path2); + if (!state.changedFilesSet.has(path2)) { const program = Debug.checkDefined(state.program); - const sourceFile = program.getSourceFileByPath(path); + const sourceFile = program.getSourceFileByPath(path2); if (sourceFile) { BuilderState.updateShapeSignature( state, @@ -110840,22 +110861,22 @@ function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCa !host.disableUseFileVersionAsSignature ); if (getEmitDeclarations(state.compilerOptions)) { - addToAffectedFilesPendingEmit(state, path, 0 /* DtsOnly */); + addToAffectedFilesPendingEmit(state, path2, 0 /* DtsOnly */); } } } } -function removeSemanticDiagnosticsOf(state, path) { +function removeSemanticDiagnosticsOf(state, path2) { if (!state.semanticDiagnosticsFromOldState) { return true; } - state.semanticDiagnosticsFromOldState.delete(path); - state.semanticDiagnosticsPerFile.delete(path); + state.semanticDiagnosticsFromOldState.delete(path2); + state.semanticDiagnosticsPerFile.delete(path2); return !state.semanticDiagnosticsFromOldState.size; } -function isChangedSignature(state, path) { - const oldSignature = Debug.checkDefined(state.oldSignatures).get(path) || void 0; - const newSignature = Debug.checkDefined(state.fileInfos.get(path)).signature; +function isChangedSignature(state, path2) { + const oldSignature = Debug.checkDefined(state.oldSignatures).get(path2) || void 0; + const newSignature = Debug.checkDefined(state.fileInfos.get(path2)).signature; return newSignature !== oldSignature; } function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host) { @@ -110980,25 +111001,25 @@ function getSemanticDiagnosticsOfFile(state, sourceFile, cancellationToken) { ); } function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationToken) { - const path = sourceFile.resolvedPath; + const path2 = sourceFile.resolvedPath; if (state.semanticDiagnosticsPerFile) { - const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path); + const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path2); if (cachedDiagnostics) { return filterSemanticDiagnostics(cachedDiagnostics, state.compilerOptions); } } const diagnostics = Debug.checkDefined(state.program).getBindAndCheckDiagnostics(sourceFile, cancellationToken, state.isForLinter); if (state.semanticDiagnosticsPerFile) { - state.semanticDiagnosticsPerFile.set(path, diagnostics); + state.semanticDiagnosticsPerFile.set(path2, diagnostics); } if (state.constEnumRelatePerFile) { let checker = Debug.checkDefined(state.program).getTypeChecker(); - let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path) : void 0; + let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path2) : void 0; if (newCache) { - let oldCache = state.constEnumRelatePerFile.get(path); + let oldCache = state.constEnumRelatePerFile.get(path2); if (!oldCache) { if (newCache.size > 0) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } else { let isEqual = true; @@ -111018,10 +111039,10 @@ function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationTok }); } if (!isEqual) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } - checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path); + checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path2); } } return filterSemanticDiagnostics(diagnostics, state.compilerOptions); @@ -111123,16 +111144,16 @@ function getProgramBuildInfo(state, getCanonicalFileName) { let affectedFilesPendingEmit; if (state.affectedFilesPendingEmit) { const seenFiles = new Set2(); - for (const path of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { - if (tryAddToSet(seenFiles, path)) { - (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path), state.affectedFilesPendingEmitKind.get(path)]); + for (const path2 of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { + if (tryAddToSet(seenFiles, path2)) { + (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path2), state.affectedFilesPendingEmitKind.get(path2)]); } } } let changeFileSet; if (state.changedFilesSet.size) { - for (const path of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { - (changeFileSet || (changeFileSet = [])).push(toFileId(path)); + for (const path2 of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { + (changeFileSet || (changeFileSet = [])).push(toFileId(path2)); } } let constEnumRelateCache = {}; @@ -111172,17 +111193,17 @@ function getProgramBuildInfo(state, getCanonicalFileName) { result.constEnumRelateCache = constEnumRelateCache; } return result; - function relativeToBuildInfoEnsuringAbsolutePath(path) { - return relativeToBuildInfo(getNormalizedAbsolutePath(path, currentDirectory)); + function relativeToBuildInfoEnsuringAbsolutePath(path2) { + return relativeToBuildInfo(getNormalizedAbsolutePath(path2, currentDirectory)); } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, getCanonicalFileName)); } - function toFileId(path) { - let fileId = fileNameToFileId.get(path); + function toFileId(path2) { + let fileId = fileNameToFileId.get(path2); if (fileId === void 0) { - fileNames.push(relativeToBuildInfo(path)); - fileNameToFileId.set(path, fileId = fileNames.length); + fileNames.push(relativeToBuildInfo(path2)); + fileNameToFileId.set(path2, fileId = fileNames.length); } return fileId; } @@ -111490,7 +111511,7 @@ function createBuilderProgram(kind, { newProgram, host, oldProgram, configFilePa }; } else if ((_a2 = state.affectedFilesPendingEmitKind) == null ? void 0 : _a2.size) { Debug.assert(kind === 0 /* SemanticDiagnosticsBuilderProgram */); - if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path) === 0 /* DtsOnly */)) { + if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path2, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path2) === 0 /* DtsOnly */)) { clearAffectedFilesPendingEmit(state); } } @@ -111595,11 +111616,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) const fileInfos = new Map2(); const emitSignatures = ((_c = program.options) == null ? void 0 : _c.composite) && !outFile(program.options) ? new Map2() : void 0; program.fileInfos.forEach((fileInfo, index) => { - const path = toFilePath(index + 1); + const path2 = toFilePath(index + 1); const stateFileInfo = toBuilderStateFileInfo(fileInfo); - fileInfos.set(path, stateFileInfo); + fileInfos.set(path2, stateFileInfo); if (emitSignatures && stateFileInfo.signature) - emitSignatures.set(path, stateFileInfo.signature); + emitSignatures.set(path2, stateFileInfo.signature); }); (_d = program.emitSignatures) == null ? void 0 : _d.forEach((value) => { if (isNumber(value)) @@ -111671,11 +111692,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) close: noop, hasChangedEmitSignature: returnFalse }; - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } - function toAbsolutePath(path) { - return getNormalizedAbsolutePath(path, buildInfoDirectory); + function toAbsolutePath(path2) { + return getNormalizedAbsolutePath(path2, buildInfoDirectory); } function toFilePath(fileId) { return filePaths[fileId - 1]; @@ -111699,9 +111720,9 @@ function getBuildInfoFileVersionMap(program, buildInfoPath, host) { const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames()); const fileInfos = new Map2(); program.fileInfos.forEach((fileInfo, index) => { - const path = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); + const path2 = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); const version2 = isString(fileInfo) ? fileInfo : fileInfo.version; - fileInfos.set(path, version2); + fileInfos.set(path2, version2); }); return fileInfos; } @@ -111779,11 +111800,11 @@ function createAbstractBuilder(newProgramOrRootNames, hostOrOptions, oldProgramO } // src/compiler/resolutionCache.ts -function removeIgnoredPath(path) { - if (endsWith(path, "/node_modules/.staging") || endsWith(path, "/oh_modules/.staging")) { - return removeSuffix(path, "/.staging"); +function removeIgnoredPath(path2) { + if (endsWith(path2, "/node_modules/.staging") || endsWith(path2, "/oh_modules/.staging")) { + return removeSuffix(path2, "/.staging"); } - return some(ignoredPaths, (searchPath) => stringContains(path, searchPath)) ? void 0 : path; + return some(ignoredPaths, (searchPath) => stringContains(path2, searchPath)) ? void 0 : path2; } function canWatchDirectoryOrFile(dirPath) { const rootLength = getRootLength(dirPath); @@ -111920,18 +111941,18 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW filesWithChangedSetOfUnresolvedImports = void 0; return collected; } - function isFileWithInvalidatedNonRelativeUnresolvedImports(path) { + function isFileWithInvalidatedNonRelativeUnresolvedImports(path2) { if (!filesWithInvalidatedNonRelativeUnresolvedImports) { return false; } - const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); + const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path2); return !!value && !!value.length; } function createHasInvalidatedResolutions(customHasInvalidatedResolutions) { invalidateResolutionsOfFailedLookupLocations(); const collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = void 0; - return (path) => customHasInvalidatedResolutions(path) || !!(collected == null ? void 0 : collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); + return (path2) => customHasInvalidatedResolutions(path2) || !!(collected == null ? void 0 : collected.has(path2)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path2); } function startCachingPerDirectoryResolution() { moduleResolutionCache.clearAllExceptPackageJsonInfoCache(); @@ -111961,22 +111982,22 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW else impliedFormatPackageJsons.delete(newFile.path); }); - impliedFormatPackageJsons.forEach((existing, path) => { - if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path))) { + impliedFormatPackageJsons.forEach((existing, path2) => { + if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path2))) { existing.forEach((location) => fileWatchesOfAffectingLocations.get(location).files--); - impliedFormatPackageJsons.delete(path); + impliedFormatPackageJsons.delete(path2); } }); } - directoryWatchesOfFailedLookups.forEach((watcher, path) => { + directoryWatchesOfFailedLookups.forEach((watcher, path2) => { if (watcher.refCount === 0) { - directoryWatchesOfFailedLookups.delete(path); + directoryWatchesOfFailedLookups.delete(path2); watcher.watcher.close(); } }); - fileWatchesOfAffectingLocations.forEach((watcher, path) => { + fileWatchesOfAffectingLocations.forEach((watcher, path2) => { if (watcher.files === 0 && watcher.resolutions === 0) { - fileWatchesOfAffectingLocations.delete(path); + fileWatchesOfAffectingLocations.delete(path2); watcher.watcher.close(); } }); @@ -112024,9 +112045,9 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW containingSourceFileMode }) { var _a2, _b, _c; - const path = resolutionHost.toPath(containingFile); - const resolutionsInFile = cache.get(path) || cache.set(path, createModeAwareCache()).get(path); - const dirPath = getDirectoryPath(path); + const path2 = resolutionHost.toPath(containingFile); + const resolutionsInFile = cache.get(path2) || cache.set(path2, createModeAwareCache()).get(path2); + const dirPath = getDirectoryPath(path2); const perDirectoryCache = perDirectoryCacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference); let perDirectoryResolution = perDirectoryCache.get(dirPath); if (!perDirectoryResolution) { @@ -112035,7 +112056,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } const resolvedModules = []; const compilerOptions = resolutionHost.getCompilationSettings(); - const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path); + const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path2); const program = resolutionHost.getCurrentProgram(); const oldRedirect = program && program.getResolvedProjectReferenceToRedirect(containingFile); const unmatchedRedirects = oldRedirect ? !redirectedReference || redirectedReference.sourceFile.path !== oldRedirect.sourceFile.path : !!redirectedReference; @@ -112072,12 +112093,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } } resolutionsInFile.set(name, mode, resolution); - watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path, getResolutionWithResolvedFileName); + watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path2, getResolutionWithResolvedFileName); if (existingResolution) { - stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(existingResolution, path2, getResolutionWithResolvedFileName); } if (logChanges && filesWithChangedSetOfUnresolvedImports && !resolutionIsEqualTo(existingResolution, resolution)) { - filesWithChangedSetOfUnresolvedImports.push(path); + filesWithChangedSetOfUnresolvedImports.push(path2); logChanges = false; } } else { @@ -112100,7 +112121,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } resolutionsInFile.forEach((resolution, name, mode) => { if (!seenNamesInFile.has(name, mode) && !contains(reusedNames, name)) { - stopWatchFailedLookupLocationOfResolution(resolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(resolution, path2, getResolutionWithResolvedFileName); resolutionsInFile.delete(name, mode); } }); @@ -112210,8 +112231,8 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } return canWatchDirectoryOrFile(dirPath) ? { dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath, nonRecursive } : void 0; } - function isPathWithDefaultFailedLookupExtension(path) { - return fileExtensionIsOneOf(path, failedLookupDefaultExtensions); + function isPathWithDefaultFailedLookupExtension(path2) { + return fileExtensionIsOneOf(path2, failedLookupDefaultExtensions); } function watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, filePath, getResolutionWithResolvedFileName) { if (resolution.refCount) { @@ -112303,12 +112324,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW let actualWatcher = canWatchDirectoryOrFile(resolutionHost.toPath(locationToWatch)) ? resolutionHost.watchAffectingFileLocation(locationToWatch, (fileName, eventKind) => { cachedDirectoryStructureHost == null ? void 0 : cachedDirectoryStructureHost.addOrDeleteFile(fileName, resolutionHost.toPath(locationToWatch), eventKind); const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); - paths.forEach((path) => { + paths.forEach((path2) => { if (watcher.resolutions) - (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path); + (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path2); if (watcher.files) - (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path); - packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path)); + (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path2); + packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path2)); }); resolutionHost.scheduleInvalidateResolutionsOfFailedLookupLocations(); }) : noopFileWatcher; @@ -112501,7 +112522,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW invalidated = invalidateResolutions(resolutionsWithFailedLookups, canInvalidateFailedLookupResolution) || invalidated; const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); if (packageJsonMap && (failedLookupChecks || startsWithPathChecks || isInDirectoryChecks)) { - packageJsonMap.forEach((_value, path) => isInvalidatedFailedLookup(path) ? packageJsonMap.delete(path) : void 0); + packageJsonMap.forEach((_value, path2) => isInvalidatedFailedLookup(path2) ? packageJsonMap.delete(path2) : void 0); } failedLookupChecks = void 0; startsWithPathChecks = void 0; @@ -112817,7 +112838,7 @@ function fileIncludeReasonToDiagnostics(program, reason, fileNameConvertor) { var _a2, _b; const options = program.getCompilerOptions(); if (isReferencedFile(reason)) { - const referenceLocation = getReferencedFileLocation((path) => program.getSourceFileByPath(path), reason); + const referenceLocation = getReferencedFileLocation((path2) => program.getSourceFileByPath(path2), reason); const referenceText = isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : `"${referenceLocation.text}"`; let message; Debug.assert(isReferenceFileLocation(referenceLocation) || reason.kind === 3 /* Import */, "Only synthetic references are imports"); @@ -113046,9 +113067,9 @@ function createCompilerHostFromProgramHost(host, getCompilerOptions, directorySt fileName, text, writeByteOrderMark, - (path, data, writeByteOrderMark2) => host.writeFile(path, data, writeByteOrderMark2), - (path) => host.createDirectory(path), - (path) => host.directoryExists(path) + (path2, data, writeByteOrderMark2) => host.writeFile(path2, data, writeByteOrderMark2), + (path2) => host.createDirectory(path2), + (path2) => host.directoryExists(path2) ); performance.mark("afterIOWrite"); performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -113078,16 +113099,16 @@ function createProgramHost(system, createProgram2) { getCurrentDirectory: memoize(() => system.getCurrentDirectory()), getDefaultLibLocation, getDefaultLibFileName: (options) => combinePaths(getDefaultLibLocation(), getDefaultLibFileName(options)), - fileExists: (path) => system.fileExists(path), - readFile: (path, encoding) => system.readFile(path, encoding), - directoryExists: (path) => system.directoryExists(path), - getDirectories: (path) => system.getDirectories(path), - readDirectory: (path, extensions, exclude, include, depth) => system.readDirectory(path, extensions, exclude, include, depth), + fileExists: (path2) => system.fileExists(path2), + readFile: (path2, encoding) => system.readFile(path2, encoding), + directoryExists: (path2) => system.directoryExists(path2), + getDirectories: (path2) => system.getDirectories(path2), + readDirectory: (path2, extensions, exclude, include, depth) => system.readDirectory(path2, extensions, exclude, include, depth), realpath: maybeBind(system, system.realpath), getEnvironmentVariable: maybeBind(system, system.getEnvironmentVariable), trace: (s) => system.write(s + system.newLine), - createDirectory: (path) => system.createDirectory(path), - writeFile: (path, data, writeByteOrderMark) => system.writeFile(path, data, writeByteOrderMark), + createDirectory: (path2) => system.createDirectory(path2), + writeFile: (path2, data, writeByteOrderMark) => system.writeFile(path2, data, writeByteOrderMark), createHash: maybeBind(system, system.createHash), createProgram: createProgram2 || createEmitAndSemanticDiagnosticsBuilderProgram, disableUseFileVersionAsSignature: system.disableUseFileVersionAsSignature, @@ -113404,7 +113425,7 @@ function createWatchProgram(host) { originalWriteFile, readFileWithCache } = changeCompilerHostLikeToUseCache(compilerHost, toPath3); - if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path) => getSourceVersion(path, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path2) => getSourceVersion(path2, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { if (reportFileChangeDetectedOnCreateProgram) { reportWatchDiagnostic(Diagnostics.File_change_detected_Starting_incremental_compilation); @@ -113475,14 +113496,14 @@ function createWatchProgram(host) { return typeof hostSourceFile.version === "boolean"; } function fileExists(fileName) { - const path = toPath3(fileName); - if (isFileMissingOnHost(sourceFilesCache.get(path))) { + const path2 = toPath3(fileName); + if (isFileMissingOnHost(sourceFilesCache.get(path2))) { return false; } return directoryStructureHost.fileExists(fileName); } - function getVersionedSourceFileByPath(fileName, path, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { - const hostSourceFile = sourceFilesCache.get(path); + function getVersionedSourceFileByPath(fileName, path2, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { + const hostSourceFile = sourceFilesCache.get(path2); if (isFileMissingOnHost(hostSourceFile)) { return void 0; } @@ -113493,43 +113514,43 @@ function createWatchProgram(host) { hostSourceFile.sourceFile = sourceFile; hostSourceFile.version = sourceFile.version; if (!hostSourceFile.fileWatcher) { - hostSourceFile.fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + hostSourceFile.fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); } } else { if (hostSourceFile.fileWatcher) { hostSourceFile.fileWatcher.close(); } - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } else { if (sourceFile) { - const fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); - sourceFilesCache.set(path, { sourceFile, version: sourceFile.version, fileWatcher }); + const fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + sourceFilesCache.set(path2, { sourceFile, version: sourceFile.version, fileWatcher }); } else { - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } return sourceFile; } return hostSourceFile.sourceFile; } - function nextSourceFileVersion(path) { - const hostSourceFile = sourceFilesCache.get(path); + function nextSourceFileVersion(path2) { + const hostSourceFile = sourceFilesCache.get(path2); if (hostSourceFile !== void 0) { if (isFileMissingOnHost(hostSourceFile)) { - sourceFilesCache.set(path, { version: false }); + sourceFilesCache.set(path2, { version: false }); } else { hostSourceFile.version = false; } } } - function getSourceVersion(path, readFileWithCache) { - const hostSourceFile = sourceFilesCache.get(path); + function getSourceVersion(path2, readFileWithCache) { + const hostSourceFile = sourceFilesCache.get(path2); if (!hostSourceFile) return void 0; if (hostSourceFile.version) return hostSourceFile.version; - const text = readFileWithCache(path); + const text = readFileWithCache(path2); return text !== void 0 ? (compilerHost.createHash || generateDjb2Hash)(text) : void 0; } function onReleaseOldSourceFile(oldSourceFile, _oldOptions, hasSourceFileByPath) { @@ -113701,30 +113722,30 @@ function createWatchProgram(host) { } function onReleaseParsedCommandLine(fileName) { var _a2; - const path = toPath3(fileName); - const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path); + const path2 = toPath3(fileName); + const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path2); if (!config) return; - parsedConfigs.delete(path); + parsedConfigs.delete(path2); if (config.watchedDirectories) clearMap(config.watchedDirectories, closeFileWatcherOf); (_a2 = config.watcher) == null ? void 0 : _a2.close(); - clearSharedExtendedConfigFileWatcher(path, sharedExtendedConfigFileWatchers); + clearSharedExtendedConfigFileWatcher(path2, sharedExtendedConfigFileWatchers); } - function watchFilePath(path, file, callback, pollingInterval, options, watchType) { - return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path), pollingInterval, options, watchType); + function watchFilePath(path2, file, callback, pollingInterval, options, watchType) { + return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path2), pollingInterval, options, watchType); } - function onSourceFileChange(fileName, eventKind, path) { - updateCachedSystemWithFile(fileName, path, eventKind); - if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path)) { - resolutionCache.invalidateResolutionOfFile(path); + function onSourceFileChange(fileName, eventKind, path2) { + updateCachedSystemWithFile(fileName, path2, eventKind); + if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path2)) { + resolutionCache.invalidateResolutionOfFile(path2); } - nextSourceFileVersion(path); + nextSourceFileVersion(path2); scheduleProgramUpdate(); } - function updateCachedSystemWithFile(fileName, path, eventKind) { + function updateCachedSystemWithFile(fileName, path2, eventKind) { if (cachedDirectoryStructureHost) { - cachedDirectoryStructureHost.addOrDeleteFile(fileName, path, eventKind); + cachedDirectoryStructureHost.addOrDeleteFile(fileName, path2, eventKind); } } function watchMissingFilePath(missingFilePath) { @@ -113948,9 +113969,9 @@ function createBuilderStatusReporter(system, pretty) { } function createSolutionBuilderHostBase(system, createProgram2, reportDiagnostic, reportSolutionBuilderStatus) { const host = createProgramHost(system, createProgram2); - host.getModifiedTime = system.getModifiedTime ? (path) => system.getModifiedTime(path) : returnUndefined; - host.setModifiedTime = system.setModifiedTime ? (path, date) => system.setModifiedTime(path, date) : noop; - host.deleteFile = system.deleteFile ? (path) => system.deleteFile(path) : noop; + host.getModifiedTime = system.getModifiedTime ? (path2) => system.getModifiedTime(path2) : returnUndefined; + host.setModifiedTime = system.setModifiedTime ? (path2, date) => system.setModifiedTime(path2, date) : noop; + host.deleteFile = system.deleteFile ? (path2) => system.deleteFile(path2) : noop; host.reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); host.reportSolutionBuilderStatus = reportSolutionBuilderStatus || createBuilderStatusReporter(system); host.now = maybeBind(system, system.now); @@ -114058,9 +114079,9 @@ function toPath2(state, fileName) { } function toResolvedConfigFilePath(state, fileName) { const { resolvedConfigFilePaths } = state; - const path = resolvedConfigFilePaths.get(fileName); - if (path !== void 0) - return path; + const path2 = resolvedConfigFilePaths.get(fileName); + if (path2 !== void 0) + return path2; const resolvedPath = toPath2(state, fileName); resolvedConfigFilePaths.set(fileName, resolvedPath); return resolvedPath; @@ -114442,7 +114463,7 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, if (state.watch) { state.lastCachedPackageJsonLookups.set(projectPath, state.moduleResolutionCache && map( state.moduleResolutionCache.getPackageJsonInfoCache().entries(), - ([path, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path)) : path, data] + ([path2, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path2)) : path2, data] )); state.builderPrograms.set(projectPath, program); } @@ -114526,13 +114547,13 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, let outputTimeStampMap; let now; outputFiles.forEach(({ name, text, writeByteOrderMark, buildInfo }) => { - const path = toPath2(state, name); + const path2 = toPath2(state, name); emittedOutputs.set(toPath2(state, name), name); if (buildInfo) setBuildInfo(state, buildInfo, projectPath, options, resultFlags); writeFile(writeFileCallback ? { writeFile: writeFileCallback } : compilerHost, emitterDiagnostics, name, text, writeByteOrderMark); if (!isIncremental && state.watch) { - (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path, now || (now = getCurrentTime(state.host))); + (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path2, now || (now = getCurrentTime(state.host))); } }); finishEmit( @@ -114847,8 +114868,8 @@ function isFileWatcherWithModifiedTime(value) { return !!value.watcher; } function getModifiedTime2(state, fileName) { - const path = toPath2(state, fileName); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, fileName); + const existing = state.filesWatched.get(path2); if (state.watch && !!existing) { if (!isFileWatcherWithModifiedTime(existing)) return existing; @@ -114860,20 +114881,20 @@ function getModifiedTime2(state, fileName) { if (existing) existing.modifiedTime = result; else - state.filesWatched.set(path, result); + state.filesWatched.set(path2, result); } return result; } function watchFile(state, file, callback, pollingInterval, options, watchType, project) { - const path = toPath2(state, file); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, file); + const existing = state.filesWatched.get(path2); if (existing && isFileWatcherWithModifiedTime(existing)) { existing.callbacks.push(callback); } else { const watcher = state.watchFile( file, (fileName, eventKind, modifiedTime) => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); existing2.modifiedTime = modifiedTime; existing2.callbacks.forEach((cb) => cb(fileName, eventKind, modifiedTime)); @@ -114883,14 +114904,14 @@ function watchFile(state, file, callback, pollingInterval, options, watchType, p watchType, project ); - state.filesWatched.set(path, { callbacks: [callback], watcher, modifiedTime: existing }); + state.filesWatched.set(path2, { callbacks: [callback], watcher, modifiedTime: existing }); } return { close: () => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); if (existing2.callbacks.length === 1) { - state.filesWatched.delete(path); + state.filesWatched.delete(path2); closeFileWatcherOf(existing2); } else { unorderedRemoveItem(existing2.callbacks, callback); @@ -114925,19 +114946,19 @@ function setBuildInfo(state, buildInfo, resolvedConfigPath, options, resultFlags } } function getBuildInfoCacheEntry(state, buildInfoPath, resolvedConfigPath) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - return (existing == null ? void 0 : existing.path) === path ? existing : void 0; + return (existing == null ? void 0 : existing.path) === path2 ? existing : void 0; } function getBuildInfo2(state, buildInfoPath, resolvedConfigPath, modifiedTime) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - if (existing !== void 0 && existing.path === path) { + if (existing !== void 0 && existing.path === path2) { return existing.buildInfo || void 0; } const value = state.readFileWithCache(buildInfoPath); const buildInfo = value ? getBuildInfo(buildInfoPath, value) : void 0; - state.buildInfoCache.set(resolvedConfigPath, { path, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); + state.buildInfoCache.set(resolvedConfigPath, { path: path2, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); return buildInfo; } function checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName) { @@ -115076,11 +115097,11 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { const outputs = getAllProjectOutputs(project, !host.useCaseSensitiveFileNames()); const outputTimeStampMap = getOutputTimeStampMap(state, resolvedPath); for (const output of outputs) { - const path = toPath2(state, output); - let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path); + const path2 = toPath2(state, output); + let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path2); if (!outputTime) { outputTime = getModifiedTime(state.host, output); - outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path, outputTime); + outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path2, outputTime); } if (outputTime === missingFileModifiedTime) { return { @@ -115140,7 +115161,7 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { return extendedConfigStatus; const dependentPackageFileStatus = forEach( state.lastCachedPackageJsonLookups.get(resolvedPath) || emptyArray, - ([path]) => checkConfigFileUpToDateStatus(state, path, oldestOutputFileTime, oldestOutputFileName) + ([path2]) => checkConfigFileUpToDateStatus(state, path2, oldestOutputFileTime, oldestOutputFileName) ); if (dependentPackageFileStatus) return dependentPackageFileStatus; @@ -115199,8 +115220,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, if (!skipOutputs || outputs.length !== skipOutputs.size) { let reportVerbose = !!state.options.verbose; for (const file of outputs) { - const path = toPath2(state, file); - if (skipOutputs == null ? void 0 : skipOutputs.has(path)) + const path2 = toPath2(state, file); + if (skipOutputs == null ? void 0 : skipOutputs.has(path2)) continue; if (reportVerbose) { reportVerbose = false; @@ -115208,8 +115229,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, } host.setModifiedTime(file, now || (now = getCurrentTime(state.host))); if (outputTimeStampMap) { - outputTimeStampMap.set(path, now); - modifiedOutputs.add(path); + outputTimeStampMap.set(path2, now); + modifiedOutputs.add(path2); } } } @@ -115528,9 +115549,9 @@ function watchPackageJsonFiles(state, resolved, resolvedPath, parsed) { getOrCreateValueMapFromConfigFileMap(state.allWatchedPackageJsonFiles, resolvedPath), new Map2(state.lastCachedPackageJsonLookups.get(resolvedPath)), { - createNewValue: (path, _input) => watchFile( + createNewValue: (path2, _input) => watchFile( state, - path, + path2, () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* None */), 2e3 /* High */, parsed == null ? void 0 : parsed.watchOptions, @@ -115588,8 +115609,8 @@ function createSolutionBuilderWorker(watch, hostOrHostWithWatch, rootNames, opti close: () => stopWatching(state) }; } -function relName(state, path) { - return convertToRelativePath(path, state.currentDirectory, (f) => state.getCanonicalFileName(f)); +function relName(state, path2) { + return convertToRelativePath(path2, state.currentDirectory, (f) => state.getCanonicalFileName(f)); } function reportStatus(state, message, ...args) { state.host.reportSolutionBuilderStatus(createCompilerDiagnostic(message, ...args)); @@ -115843,11 +115864,11 @@ function nonRelativeModuleNameForTypingCache(moduleName) { return nodeCoreModules.has(moduleName) ? "node" : moduleName; } function loadSafeList(host, safeListPath) { - const result = readConfigFile(safeListPath, (path) => host.readFile(path)); + const result = readConfigFile(safeListPath, (path2) => host.readFile(path2)); return new Map2(getEntries(result.config)); } function loadTypesMap(host, typesMapPath) { - const result = readConfigFile(typesMapPath, (path) => host.readFile(path)); + const result = readConfigFile(typesMapPath, (path2) => host.readFile(path2)); if (result.config) { return new Map2(getEntries(result.config.simpleMap)); } @@ -115859,9 +115880,9 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag } const inferredTypings = new Map2(); fileNames = mapDefined(fileNames, (fileName) => { - const path = normalizePath(fileName); - if (hasJSFileExtension(path)) { - return path; + const path2 = normalizePath(fileName); + if (hasJSFileExtension(path2)) { + return path2; } }); const filesToWatch = []; @@ -115928,7 +115949,7 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag let manifestTypingNames; if (host.fileExists(manifestPath)) { filesToWatch2.push(manifestPath); - manifest = readConfigFile(manifestPath, (path) => host.readFile(path)).config; + manifest = readConfigFile(manifestPath, (path2) => host.readFile(path2)).config; manifestTypingNames = flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], getOwnKeys); addInferredTypings(manifestTypingNames, `Typing names in '${manifestPath}' dependencies`); } @@ -115950,7 +115971,7 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag log(`Searching for typing names in ${packagesFolderPath}; all files: ${JSON.stringify(dependencyManifestNames)}`); for (const manifestPath2 of dependencyManifestNames) { const normalizedFileName = normalizePath(manifestPath2); - const result2 = readConfigFile(normalizedFileName, (path) => host.readFile(path)); + const result2 = readConfigFile(normalizedFileName, (path2) => host.readFile(path2)); const manifest2 = result2.config; if (!manifest2.name) { continue; @@ -118570,14 +118591,14 @@ function probablyUsesSemicolons(sourceFile) { function tryGetDirectories(host, directoryName) { return tryIOAndConsumeErrors(host, host.getDirectories, directoryName) || []; } -function tryReadDirectory(host, path, extensions, exclude, include) { - return tryIOAndConsumeErrors(host, host.readDirectory, path, extensions, exclude, include) || emptyArray; +function tryReadDirectory(host, path2, extensions, exclude, include) { + return tryIOAndConsumeErrors(host, host.readDirectory, path2, extensions, exclude, include) || emptyArray; } -function tryFileExists(host, path) { - return tryIOAndConsumeErrors(host, host.fileExists, path); +function tryFileExists(host, path2) { + return tryIOAndConsumeErrors(host, host.fileExists, path2); } -function tryDirectoryExists(host, path) { - return tryAndIgnoreErrors(() => directoryProbablyExists(path, host)) || false; +function tryDirectoryExists(host, path2) { + return tryAndIgnoreErrors(() => directoryProbablyExists(path2, host)) || false; } function tryAndIgnoreErrors(cb) { try { @@ -120611,27 +120632,27 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect return settingsOrHost; } function acquireDocument(fileName, compilationSettings, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); + return acquireDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); } - function acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version2, true, scriptKind, languageVersionOrOptions); + function acquireDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path2, compilationSettings, key, scriptSnapshot, version2, true, scriptKind, languageVersionOrOptions); } function updateDocument(fileName, compilationSettings, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); + return updateDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); } - function updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - return acquireOrUpdateDocument(fileName, path, getCompilationSettings(compilationSettings), key, scriptSnapshot, version2, false, scriptKind, languageVersionOrOptions); + function updateDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path2, getCompilationSettings(compilationSettings), key, scriptSnapshot, version2, false, scriptKind, languageVersionOrOptions); } function getDocumentRegistryEntry(bucketEntry, scriptKind) { const entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); Debug.assert(scriptKind === void 0 || !entry || entry.sourceFile.scriptKind === scriptKind, `Script kind should match provided ScriptKind:${scriptKind} and sourceFile.scriptKind: ${entry == null ? void 0 : entry.sourceFile.scriptKind}, !entry: ${!entry}`); return entry; } - function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version2, acquiring, scriptKind, languageVersionOrOptions) { + function acquireOrUpdateDocument(fileName, path2, compilationSettingsOrHost, key, scriptSnapshot, version2, acquiring, scriptKind, languageVersionOrOptions) { var _a2, _b, _c, _d; scriptKind = ensureScriptKind(fileName, scriptKind); const compilationSettings = getCompilationSettings(compilationSettingsOrHost); @@ -120639,7 +120660,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect const scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : getEmitScriptTarget(compilationSettings); const sourceFileOptions = typeof languageVersionOrOptions === "object" ? languageVersionOrOptions : { languageVersion: scriptTarget, - impliedNodeFormat: host && getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a2 = host.getCompilerHost) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getModuleResolutionCache) == null ? void 0 : _c.call(_b)) == null ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), + impliedNodeFormat: host && getImpliedNodeFormatForFile(path2, (_d = (_c = (_b = (_a2 = host.getCompilerHost) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getModuleResolutionCache) == null ? void 0 : _c.call(_b)) == null ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), setExternalModuleIndicator: getSetExternalModuleIndicator(compilationSettings) }; sourceFileOptions.languageVersion = scriptTarget; @@ -120650,15 +120671,15 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect if (buckets.size > oldBucketCount) { tracing.instant(tracing.Phase.Session, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: keyWithMode }); } - const otherBucketKey = !isDeclarationFileName(path) && forEachEntry(buckets, (bucket2, bucketKey) => bucketKey !== keyWithMode && bucket2.has(path) && bucketKey); + const otherBucketKey = !isDeclarationFileName(path2) && forEachEntry(buckets, (bucket2, bucketKey) => bucketKey !== keyWithMode && bucket2.has(path2) && bucketKey); if (otherBucketKey) { - tracing.instant(tracing.Phase.Session, "documentRegistryBucketOverlap", { path, key1: otherBucketKey, key2: keyWithMode }); + tracing.instant(tracing.Phase.Session, "documentRegistryBucketOverlap", { path: path2, key1: otherBucketKey, key2: keyWithMode }); } } - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); let entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); if (!entry && externalCache) { - const sourceFile = externalCache.getDocument(keyWithMode, path); + const sourceFile = externalCache.getDocument(keyWithMode, path2); if (sourceFile) { Debug.assert(acquiring); entry = { @@ -120671,7 +120692,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect if (!entry) { const sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, sourceFileOptions, version2, false, scriptKind, compilationSettings); if (externalCache) { - externalCache.setDocument(keyWithMode, path, sourceFile); + externalCache.setDocument(keyWithMode, path2, sourceFile); } entry = { sourceFile, @@ -120689,7 +120710,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect compilationSettings ); if (externalCache) { - externalCache.setDocument(keyWithMode, path, entry.sourceFile); + externalCache.setDocument(keyWithMode, path2, entry.sourceFile); } } if (acquiring) { @@ -120700,42 +120721,42 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect return entry.sourceFile; function setBucketEntry() { if (!bucketEntry) { - bucket.set(path, entry); + bucket.set(path2, entry); } else if (isDocumentRegistryEntry(bucketEntry)) { const scriptKindMap = new Map2(); scriptKindMap.set(bucketEntry.sourceFile.scriptKind, bucketEntry); scriptKindMap.set(scriptKind, entry); - bucket.set(path, scriptKindMap); + bucket.set(path2, scriptKindMap); } else { bucketEntry.set(scriptKind, entry); } } } function releaseDocument(fileName, compilationSettings, scriptKind, impliedNodeFormat) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(compilationSettings); - return releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat); + return releaseDocumentWithKey(path2, key, scriptKind, impliedNodeFormat); } - function releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat) { + function releaseDocumentWithKey(path2, key, scriptKind, impliedNodeFormat) { const bucket = Debug.checkDefined(buckets.get(getDocumentRegistryBucketKeyWithMode(key, impliedNodeFormat))); - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); const entry = getDocumentRegistryEntry(bucketEntry, scriptKind); entry.languageServiceRefCount--; Debug.assert(entry.languageServiceRefCount >= 0); if (entry.languageServiceRefCount === 0) { if (isDocumentRegistryEntry(bucketEntry)) { - bucket.delete(path); + bucket.delete(path2); } else { bucketEntry.delete(scriptKind); if (bucketEntry.size === 1) { - bucket.set(path, firstDefinedIterator(bucketEntry.values(), identity)); + bucket.set(path2, firstDefinedIterator(bucketEntry.values(), identity)); } } } } - function getLanguageServiceRefCounts(path, scriptKind) { + function getLanguageServiceRefCounts(path2, scriptKind) { return arrayFrom(buckets.entries(), ([key, bucket]) => { - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); const entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); return [key, entry && entry.languageServiceRefCount]; }); @@ -120793,10 +120814,10 @@ function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host } function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName, sourceMapper) { const canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); - return (path) => { - const originalPath = sourceMapper && sourceMapper.tryGetSourcePosition({ fileName: path, pos: 0 }); - const updatedPath = getUpdatedPath(originalPath ? originalPath.fileName : path); - return originalPath ? updatedPath === void 0 ? void 0 : makeCorrespondingRelativeChange(originalPath.fileName, updatedPath, path, getCanonicalFileName) : updatedPath; + return (path2) => { + const originalPath = sourceMapper && sourceMapper.tryGetSourcePosition({ fileName: path2, pos: 0 }); + const updatedPath = getUpdatedPath(originalPath ? originalPath.fileName : path2); + return originalPath ? updatedPath === void 0 ? void 0 : makeCorrespondingRelativeChange(originalPath.fileName, updatedPath, path2, getCanonicalFileName) : updatedPath; }; function getUpdatedPath(pathToUpdate) { if (getCanonicalFileName(pathToUpdate) === canonicalOldPath) @@ -120871,8 +120892,8 @@ function updateTsconfigFiles(program, changeTracker, oldToNew, oldFileOrDirPath, } return false; } - function relativePath(path) { - return getRelativePathFromDirectory(configDir, path, !useCaseSensitiveFileNames); + function relativePath(path2) { + return getRelativePathFromDirectory(configDir, path2, !useCaseSensitiveFileNames); } } function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName) { @@ -121609,8 +121630,8 @@ function getSourceMapper(host) { return toPath(fileName, currentDirectory, getCanonicalFileName); } function getDocumentPositionMapper2(generatedFileName, sourceFileName) { - const path = toPath3(generatedFileName); - const value = documentPositionMappers.get(path); + const path2 = toPath3(generatedFileName); + const value = documentPositionMappers.get(path2); if (value) return value; let mapper; @@ -121625,7 +121646,7 @@ function getSourceMapper(host) { (f) => !host.fileExists || host.fileExists(f) ? host.readFile(f) : void 0 ); } - documentPositionMappers.set(path, mapper || identitySourceMapConsumer); + documentPositionMappers.set(path2, mapper || identitySourceMapConsumer); return mapper || identitySourceMapConsumer; } function tryGetSourcePosition(info) { @@ -121659,22 +121680,22 @@ function getSourceMapper(host) { const program = host.getProgram(); if (!program) return void 0; - const path = toPath3(fileName); - const file = program.getSourceFileByPath(path); - return file && file.resolvedPath === path ? file : void 0; + const path2 = toPath3(fileName); + const file = program.getSourceFileByPath(path2); + return file && file.resolvedPath === path2 ? file : void 0; } function getOrCreateSourceFileLike(fileName) { - const path = toPath3(fileName); - const fileFromCache = sourceFileLike.get(path); + const path2 = toPath3(fileName); + const fileFromCache = sourceFileLike.get(path2); if (fileFromCache !== void 0) return fileFromCache ? fileFromCache : void 0; - if (!host.readFile || host.fileExists && !host.fileExists(path)) { - sourceFileLike.set(path, false); + if (!host.readFile || host.fileExists && !host.fileExists(path2)) { + sourceFileLike.set(path2, false); return void 0; } - const text = host.readFile(path); + const text = host.readFile(path2); const file = text ? createSourceFileLike(text) : false; - sourceFileLike.set(path, file); + sourceFileLike.set(path2, file); return file ? file : void 0; } function getSourceFileLike(fileName) { @@ -123767,7 +123788,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h let lastTypesRootVersion = 0; const cancellationToken = host.getCancellationToken ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; const currentDirectory = host.getCurrentDirectory(); - getLanguageVersionByFilePath(host.isStaticSourceFile); + setLanguageVersionByFilePath(host.isStaticSourceFile); maybeSetLocalizedDiagnosticMessages((_a2 = host.getLocalizedDiagnosticMessages) == null ? void 0 : _a2.bind(host)); function log(message) { if (host.log) { @@ -123836,12 +123857,12 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h directoryExists: (directoryName) => { return directoryProbablyExists(directoryName, host); }, - getDirectories: (path) => { - return host.getDirectories ? host.getDirectories(path) : []; + getDirectories: (path2) => { + return host.getDirectories ? host.getDirectories(path2) : []; }, - readDirectory: (path, extensions, exclude, include, depth) => { + readDirectory: (path2, extensions, exclude, include, depth) => { Debug.checkDefined(host.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"); - return host.readDirectory(path, extensions, exclude, include, depth); + return host.readDirectory(path2, extensions, exclude, include, depth); }, onReleaseOldSourceFile, onReleaseParsedCommandLine, @@ -123913,12 +123934,12 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h host.clearFileCache && host.clearFileCache(); return; function getParsedCommandLine(fileName) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); - const existing = parsedCommandLines == null ? void 0 : parsedCommandLines.get(path); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); + const existing = parsedCommandLines == null ? void 0 : parsedCommandLines.get(path2); if (existing !== void 0) return existing || void 0; const result = host.getParsedCommandLine ? host.getParsedCommandLine(fileName) : getParsedCommandLineOfConfigFileUsingSourceFile(fileName); - (parsedCommandLines || (parsedCommandLines = new Map2())).set(path, result || false); + (parsedCommandLines || (parsedCommandLines = new Map2())).set(path2, result || false); return result; } function getParsedCommandLineOfConfigFileUsingSourceFile(configFileName) { @@ -123951,7 +123972,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h function getOrCreateSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) { return getOrCreateSourceFileByPath(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), languageVersionOrOptions, onError, shouldCreateNewSourceFile); } - function getOrCreateSourceFileByPath(fileName, path, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { + function getOrCreateSourceFileByPath(fileName, path2, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { const scriptSnapshot = host.getScriptSnapshot(fileName); if (!scriptSnapshot) { return void 0; @@ -123959,16 +123980,16 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h const scriptKind = getScriptKind(fileName, host); const scriptVersion = host.getScriptVersion(fileName); if (!shouldCreateNewSourceFile) { - const oldSourceFile = program && program.getSourceFileByPath(path); + const oldSourceFile = program && program.getSourceFileByPath(path2); if (oldSourceFile) { if (scriptKind === oldSourceFile.scriptKind) { - return documentRegistry.updateDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); + return documentRegistry.updateDocumentWithKey(fileName, path2, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } else { documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, documentRegistry.getKeyForCompilationSettings(program.getCompilerOptions()), oldSourceFile.scriptKind, oldSourceFile.impliedNodeFormat); } } } - return documentRegistry.acquireDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); + return documentRegistry.acquireDocumentWithKey(fileName, path2, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } } function getProgram() { @@ -124430,7 +124451,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h return isArray(action) ? Promise.all(action.map((a) => applySingleCodeActionCommand(a))) : applySingleCodeActionCommand(action); } function applySingleCodeActionCommand(action) { - const getPath = (path) => toPath(path, currentDirectory, getCanonicalFileName); + const getPath = (path2) => toPath(path2, currentDirectory, getCanonicalFileName); Debug.assertEqual(action.type, "install package"); return host.installPackage ? host.installPackage({ fileName: getPath(action.file), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); } @@ -124714,11 +124735,11 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h function isLetterOrDigit(char) { return char >= 97 /* a */ && char <= 122 /* z */ || char >= 65 /* A */ && char <= 90 /* Z */ || char >= 48 /* _0 */ && char <= 57 /* _9 */; } - function isNodeModulesFile(path) { - return stringContains(path, "/node_modules/"); + function isNodeModulesFile(path2) { + return stringContains(path2, "/node_modules/"); } - function isOHModulesFile(path) { - return stringContains(path, "/oh_modules/"); + function isOHModulesFile(path2) { + return stringContains(path2, "/oh_modules/"); } } function getRenameInfo2(fileName, position, preferences) { @@ -125121,22 +125142,22 @@ var LanguageServiceShimHostAdapter = class { getCurrentDirectory() { return this.shimHost.getCurrentDirectory(); } - getDirectories(path) { - return JSON.parse(this.shimHost.getDirectories(path)); + getDirectories(path2) { + return JSON.parse(this.shimHost.getDirectories(path2)); } getDefaultLibFileName(options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); } - readDirectory(path, extensions, exclude, include, depth) { + readDirectory(path2, extensions, exclude, include, depth) { const pattern = getFileMatcherPatterns( - path, + path2, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory() ); return JSON.parse(this.shimHost.readDirectory( - path, + path2, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, @@ -125145,11 +125166,11 @@ var LanguageServiceShimHostAdapter = class { depth )); } - readFile(path, encoding) { - return this.shimHost.readFile(path, encoding); + readFile(path2, encoding) { + return this.shimHost.readFile(path2, encoding); } - fileExists(path) { - return this.shimHost.fileExists(path); + fileExists(path2) { + return this.shimHost.fileExists(path2); } }; var CoreServicesShimHostAdapter = class { @@ -125162,7 +125183,7 @@ var CoreServicesShimHostAdapter = class { this.directoryExists = void 0; } if ("realpath" in this.shimHost) { - this.realpath = (path) => this.shimHost.realpath(path); + this.realpath = (path2) => this.shimHost.realpath(path2); } else { this.realpath = void 0; } @@ -125191,8 +125212,8 @@ var CoreServicesShimHostAdapter = class { readFile(fileName) { return this.shimHost.readFile(fileName); } - getDirectories(path) { - return JSON.parse(this.shimHost.getDirectories(path)); + getDirectories(path2) { + return JSON.parse(this.shimHost.getDirectories(path2)); } }; function simpleForwardCall(logger, actionDescription2, action, logPerformance) { @@ -139084,14 +139105,14 @@ function getPatternFromFirstMatchingCondition(target, conditions) { function getFragmentDirectory(fragment) { return containsSlash(fragment) ? hasTrailingDirectorySeparator(fragment) ? fragment : getDirectoryPath(fragment) : void 0; } -function getCompletionsForPathMapping(path, patterns, fragment, packageDirectory, extensionOptions, host) { - if (!endsWith(path, "*")) { - return !stringContains(path, "*") ? justPathMappingName(path, "script" /* scriptElement */) : emptyArray; +function getCompletionsForPathMapping(path2, patterns, fragment, packageDirectory, extensionOptions, host) { + if (!endsWith(path2, "*")) { + return !stringContains(path2, "*") ? justPathMappingName(path2, "script" /* scriptElement */) : emptyArray; } - const pathPrefix = path.slice(0, path.length - 1); + const pathPrefix = path2.slice(0, path2.length - 1); const remainingFragment = tryRemovePrefix(fragment, pathPrefix); if (remainingFragment === void 0) { - const starIsFullPathComponent = path[path.length - 2] === "/"; + const starIsFullPathComponent = path2[path2.length - 2] === "/"; return starIsFullPathComponent ? justPathMappingName(pathPrefix, "directory" /* directory */) : flatMap(patterns, (pattern) => { var _a2; return (_a2 = getModulesForPathsPattern("", packageDirectory, pattern, extensionOptions, host)) == null ? void 0 : _a2.map(({ name, ...rest }) => ({ name: pathPrefix + name, ...rest })); @@ -139132,16 +139153,16 @@ function getModulesForPathsPattern(fragment, packageDirectory, pattern, extensio }); const directories = normalizedSuffix ? emptyArray : mapDefined(tryGetDirectories(host, baseDirectory), (dir) => dir === "node_modules" ? void 0 : directoryResult(dir)); return [...matches, ...directories]; - function trimPrefixAndSuffix(path) { - const inner = withoutStartAndEnd(normalizePath(path), completePrefix, normalizedSuffix); + function trimPrefixAndSuffix(path2) { + const inner = withoutStartAndEnd(normalizePath(path2), completePrefix, normalizedSuffix); return inner === void 0 ? void 0 : removeLeadingDirectorySeparator(inner); } } function withoutStartAndEnd(s, start, end) { return startsWith(s, start) && endsWith(s, end) ? s.slice(start.length, s.length - end.length) : void 0; } -function removeLeadingDirectorySeparator(path) { - return path[0] === directorySeparator ? path.slice(1) : path; +function removeLeadingDirectorySeparator(path2) { + return path2[0] === directorySeparator ? path2.slice(1) : path2; } function getAmbientModuleCompletions(fragment, fragmentDirectory, checker) { const ambientModules = checker.getAmbientModules().map((sym) => stripQuotes(sym.name)); @@ -139227,10 +139248,10 @@ function getDirectoryFragmentTextSpan(text, textStart) { const length2 = text.length - offset; return length2 === 0 || isIdentifierText(text.substr(offset, length2), 99 /* ESNext */) ? void 0 : createTextSpan(textStart + offset, length2); } -function isPathRelativeToScript(path) { - if (path && path.length >= 2 && path.charCodeAt(0) === 46 /* dot */) { - const slashIndex = path.length >= 3 && path.charCodeAt(1) === 46 /* dot */ ? 2 : 1; - const slashCharCode = path.charCodeAt(slashIndex); +function isPathRelativeToScript(path2) { + if (path2 && path2.length >= 2 && path2.charCodeAt(0) === 46 /* dot */) { + const slashIndex = path2.length >= 3 && path2.charCodeAt(1) === 46 /* dot */ ? 2 : 1; + const slashCharCode = path2.charCodeAt(slashIndex); return slashCharCode === 47 /* slash */ || slashCharCode === 92 /* backslash */; } return false; @@ -144137,15 +144158,15 @@ function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExten }); return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, quotePreference); } -function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, quotePreference) { - path = ensurePathIsNonModuleName(path); +function makeImportOrRequire(defaultImport, imports, path2, useEs6Imports, quotePreference) { + path2 = ensurePathIsNonModuleName(path2); if (useEs6Imports) { const specifiers = imports.map((i) => factory.createImportSpecifier(false, void 0, factory.createIdentifier(i))); - return makeImportIfNecessary(defaultImport, specifiers, path, quotePreference); + return makeImportIfNecessary(defaultImport, specifiers, path2, quotePreference); } else { Debug.assert(!defaultImport, "No default import should exist"); const bindingElements = imports.map((i) => factory.createBindingElement(void 0, void 0, i)); - return bindingElements.length ? makeVariableStatement(factory.createObjectBindingPattern(bindingElements), void 0, createRequireCall(factory.createStringLiteral(path))) : void 0; + return bindingElements.length ? makeVariableStatement(factory.createObjectBindingPattern(bindingElements), void 0, createRequireCall(factory.createStringLiteral(path2))) : void 0; } } function makeVariableStatement(name, type, initializer, flags = 2 /* Const */) { @@ -153748,7 +153769,6 @@ __export(ts_exports3, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, - getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -154967,6 +154987,7 @@ __export(ts_exports3, { setEachParent: () => setEachParent, setEmitFlags: () => setEmitFlags, setGetSourceFileAsHashVersioned: () => setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath: () => setLanguageVersionByFilePath, setLocalizedDiagnosticMessages: () => setLocalizedDiagnosticMessages, setModuleDefaultHelper: () => setModuleDefaultHelper, setNodeFlags: () => setNodeFlags, @@ -156692,17 +156713,17 @@ function asNormalizedPath(fileName) { function createNormalizedPathMap() { const map2 = new Map2(); return { - get(path) { - return map2.get(path); + get(path2) { + return map2.get(path2); }, - set(path, value) { - map2.set(path, value); + set(path2, value) { + map2.set(path2, value); }, - contains(path) { - return map2.has(path); + contains(path2) { + return map2.has(path2); }, - remove(path) { - map2.delete(path); + remove(path2) { + map2.delete(path2); } }; } @@ -157214,12 +157235,12 @@ function isDynamicFileName(fileName) { return fileName[0] === "^" || (stringContains(fileName, "walkThroughSnippet:/") || stringContains(fileName, "untitled:/")) && getBaseFileName(fileName)[0] === "^" || stringContains(fileName, ":^") && !stringContains(fileName, directorySeparator); } var ScriptInfo = class { - constructor(host, fileName, scriptKind, hasMixedContent, path, initialVersion) { + constructor(host, fileName, scriptKind, hasMixedContent, path2, initialVersion) { this.host = host; this.fileName = fileName; this.scriptKind = scriptKind; this.hasMixedContent = hasMixedContent; - this.path = path; + this.path = path2; this.containingProjects = []; this.isDynamic = isDynamicFileName(fileName); this.textStorage = new TextStorage(host, this, initialVersion); @@ -157926,8 +157947,8 @@ var Project3 = class { useCaseSensitiveFileNames() { return this.projectService.host.useCaseSensitiveFileNames; } - readDirectory(path, extensions, exclude, include, depth) { - return this.directoryStructureHost.readDirectory(path, extensions, exclude, include, depth); + readDirectory(path2, extensions, exclude, include, depth) { + return this.directoryStructureHost.readDirectory(path2, extensions, exclude, include, depth); } readFile(fileName) { return this.projectService.host.readFile(fileName); @@ -157936,8 +157957,8 @@ var Project3 = class { return this.projectService.host.writeFile(fileName, content); } fileExists(file) { - const path = this.toPath(file); - return !this.isWatchedMissingFile(path) && this.directoryStructureHost.fileExists(file); + const path2 = this.toPath(file); + return !this.isWatchedMissingFile(path2) && this.directoryStructureHost.fileExists(file); } resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, _options, containingSourceFile) { return this.resolutionCache.resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, containingSourceFile); @@ -157951,11 +157972,11 @@ var Project3 = class { resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, _options, containingFileMode) { return this.resolutionCache.resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, containingFileMode); } - directoryExists(path) { - return this.directoryStructureHost.directoryExists(path); + directoryExists(path2) { + return this.directoryStructureHost.directoryExists(path2); } - getDirectories(path) { - return this.directoryStructureHost.getDirectories(path); + getDirectories(path2) { + return this.directoryStructureHost.getDirectories(path2); } getCachedDirectoryStructureHost() { return void 0; @@ -158155,15 +158176,15 @@ var Project3 = class { } })); } - getSourceFile(path) { + getSourceFile(path2) { if (!this.program) { return void 0; } - return this.program.getSourceFileByPath(path); + return this.program.getSourceFileByPath(path2); } - getSourceFileOrConfigFile(path) { + getSourceFileOrConfigFile(path2) { const options = this.program.getCompilerOptions(); - return path === options.configFilePath ? options.configFile : this.getSourceFile(path); + return path2 === options.configFilePath ? options.configFile : this.getSourceFile(path2); } close() { if (this.program) { @@ -158329,8 +158350,8 @@ var Project3 = class { this.markAsDirty(); } addMissingFileRoot(fileName) { - const path = this.projectService.toPath(fileName); - this.rootFilesMap.set(path, { fileName }); + const path2 = this.projectService.toPath(fileName); + this.rootFilesMap.set(path2, { fileName }); this.markAsDirty(); } removeFile(info, fileExists, detachFromProject) { @@ -158594,8 +158615,8 @@ var Project3 = class { ); return fileWatcher; } - isWatchedMissingFile(path) { - return !!this.missingFilesMap && this.missingFilesMap.has(path); + isWatchedMissingFile(path2) { + return !!this.missingFilesMap && this.missingFilesMap.has(path2); } addGeneratedFileWatch(generatedFile, sourceFile) { if (outFile(this.compilerOptions)) { @@ -158603,17 +158624,17 @@ var Project3 = class { this.generatedFilesMap = this.createGeneratedFileWatcher(generatedFile); } } else { - const path = this.toPath(sourceFile); + const path2 = this.toPath(sourceFile); if (this.generatedFilesMap) { if (isGeneratedFileWatcher(this.generatedFilesMap)) { Debug.fail(`${this.projectName} Expected to not have --out watcher for generated file with options: ${JSON.stringify(this.compilerOptions)}`); } - if (this.generatedFilesMap.has(path)) + if (this.generatedFilesMap.has(path2)) return; } else { this.generatedFilesMap = new Map2(); } - this.generatedFilesMap.set(path, this.createGeneratedFileWatcher(generatedFile)); + this.generatedFilesMap.set(path2, this.createGeneratedFileWatcher(generatedFile)); } } createGeneratedFileWatcher(generatedFile) { @@ -159971,12 +159992,12 @@ var _ProjectService = class { getNormalizedAbsolutePath(fileName) { return getNormalizedAbsolutePath(fileName, this.host.getCurrentDirectory()); } - setDocument(key, path, sourceFile) { - const info = Debug.checkDefined(this.getScriptInfoForPath(path)); + setDocument(key, path2, sourceFile) { + const info = Debug.checkDefined(this.getScriptInfoForPath(path2)); info.cacheSourceFile = { key, sourceFile }; } - getDocument(key, path) { - const info = this.getScriptInfoForPath(path); + getDocument(key, path2) { + const info = this.getScriptInfoForPath(path2); return info && info.cacheSourceFile && info.cacheSourceFile.key === key ? info.cacheSourceFile.sourceFile : void 0; } ensureInferredProjectsUpToDate_TestOnly() { @@ -160069,7 +160090,7 @@ var _ProjectService = class { const event = { eventName: ProjectsUpdatedInBackgroundEvent, data: { - openFiles: arrayFrom(this.openFiles.keys(), (path) => this.getScriptInfoForPath(path).fileName) + openFiles: arrayFrom(this.openFiles.keys(), (path2) => this.getScriptInfoForPath(path2).fileName) } }; this.eventHandler(event); @@ -160246,11 +160267,11 @@ var _ProjectService = class { } delayUpdateSourceInfoProjects(sourceInfos) { if (sourceInfos) { - sourceInfos.forEach((_value, path) => this.delayUpdateProjectsOfScriptInfoPath(path)); + sourceInfos.forEach((_value, path2) => this.delayUpdateProjectsOfScriptInfoPath(path2)); } } - delayUpdateProjectsOfScriptInfoPath(path) { - const info = this.getScriptInfoForPath(path); + delayUpdateProjectsOfScriptInfoPath(path2) { + const info = this.getScriptInfoForPath(path2); if (info) { this.delayUpdateProjectGraphs(info.containingProjects, true); } @@ -160444,8 +160465,8 @@ var _ProjectService = class { return project; } assignOrphanScriptInfosToInferredProject() { - this.openFiles.forEach((projectRootPath, path) => { - const info = this.getScriptInfoForPath(path); + this.openFiles.forEach((projectRootPath, path2) => { + const info = this.getScriptInfoForPath(path2); if (info.isOrphan()) { this.assignOrphanScriptInfoToInferredProject(info, projectRootPath); } @@ -160689,8 +160710,8 @@ var _ProjectService = class { this.configuredProjects.forEach(printProjectWithoutFileNames); this.inferredProjects.forEach(printProjectWithoutFileNames); this.logger.info("Open files: "); - this.openFiles.forEach((projectRootPath, path) => { - const info = this.getScriptInfoForPath(path); + this.openFiles.forEach((projectRootPath, path2) => { + const info = this.getScriptInfoForPath(path2); this.logger.info(` FileName: ${info.fileName} ProjectRootPath: ${projectRootPath}`); this.logger.info(` Projects: ${info.containingProjects.map((p) => p.getProjectName())}`); }); @@ -160995,10 +161016,10 @@ var _ProjectService = class { const newRootFile = propertyReader.getFileName(f); const fileName = toNormalizedPath(newRootFile); const isDynamic = isDynamicFileName(fileName); - let path; + let path2; if (!isDynamic && !project.fileExists(newRootFile)) { - path = normalizedPathToPath(fileName, this.currentDirectory, this.toCanonicalFileName); - const existingValue = projectRootFilesMap.get(path); + path2 = normalizedPathToPath(fileName, this.currentDirectory, this.toCanonicalFileName); + const existingValue = projectRootFilesMap.get(path2); if (existingValue) { if (existingValue.info) { project.removeFile(existingValue.info, false, true); @@ -161006,7 +161027,7 @@ var _ProjectService = class { } existingValue.fileName = fileName; } else { - projectRootFilesMap.set(path, { fileName }); + projectRootFilesMap.set(path2, { fileName }); } } else { const scriptKind = propertyReader.getScriptKind(f, this.hostConfiguration.extraFileExtensions); @@ -161018,8 +161039,8 @@ var _ProjectService = class { hasMixedContent, project.directoryStructureHost )); - path = scriptInfo.path; - const existingValue = projectRootFilesMap.get(path); + path2 = scriptInfo.path; + const existingValue = projectRootFilesMap.get(path2); if (!existingValue || existingValue.info !== scriptInfo) { project.addRoot(scriptInfo, fileName); if (scriptInfo.isScriptOpen()) { @@ -161029,15 +161050,15 @@ var _ProjectService = class { existingValue.fileName = fileName; } } - newRootScriptInfoMap.set(path, true); + newRootScriptInfoMap.set(path2, true); } if (projectRootFilesMap.size > newRootScriptInfoMap.size) { - projectRootFilesMap.forEach((value, path) => { - if (!newRootScriptInfoMap.has(path)) { + projectRootFilesMap.forEach((value, path2) => { + if (!newRootScriptInfoMap.has(path2)) { if (value.info) { - project.removeFile(value.info, project.fileExists(path), true); + project.removeFile(value.info, project.fileExists(path2), true); } else { - projectRootFilesMap.delete(path); + projectRootFilesMap.delete(path2); } } }); @@ -161184,15 +161205,15 @@ var _ProjectService = class { return this.getScriptInfoForNormalizedPath(toNormalizedPath(uncheckedFileName)); } getScriptInfoOrConfig(uncheckedFileName) { - const path = toNormalizedPath(uncheckedFileName); - const info = this.getScriptInfoForNormalizedPath(path); + const path2 = toNormalizedPath(uncheckedFileName); + const info = this.getScriptInfoForNormalizedPath(path2); if (info) return info; const configProject = this.configuredProjects.get(this.toPath(uncheckedFileName)); return configProject && configProject.getCompilerOptions().configFile; } logErrorForScriptInfoNotFound(fileName) { - const names = arrayFrom(this.filenameToScriptInfo.entries()).map(([path, scriptInfo]) => ({ path, fileName: scriptInfo.fileName })); + const names = arrayFrom(this.filenameToScriptInfo.entries()).map(([path2, scriptInfo]) => ({ path: path2, fileName: scriptInfo.fileName })); this.logger.msg(`Could not find file ${JSON.stringify(fileName)}. All files are: ${JSON.stringify(names)}`, "Err" /* Err */); } @@ -161213,7 +161234,7 @@ All files are: ${JSON.stringify(names)}`, "Err" /* Err */); if (!projects) { projects = createMultiMap(); projects.add(toAddInfo.path, project); - } else if (!forEachEntry(projects, (projs, path) => path === toAddInfo.path ? false : contains(projs, project))) { + } else if (!forEachEntry(projects, (projs, path2) => path2 === toAddInfo.path ? false : contains(projs, project))) { projects.add(toAddInfo.path, project); } } @@ -161352,8 +161373,8 @@ All files are: ${JSON.stringify(names)}`, "Err" /* Err */); } getOrCreateScriptInfoWorker(fileName, currentDirectory, openedByClient, fileContent, scriptKind, hasMixedContent, hostToQueryFileExistsOn) { Debug.assert(fileContent === void 0 || openedByClient, "ScriptInfo needs to be opened by client to be able to set its user defined content"); - const path = normalizedPathToPath(fileName, currentDirectory, this.toCanonicalFileName); - let info = this.getScriptInfoForPath(path); + const path2 = normalizedPathToPath(fileName, currentDirectory, this.toCanonicalFileName); + let info = this.getScriptInfoForPath(path2); if (!info) { const isDynamic = isDynamicFileName(fileName); Debug.assert(isRootedDiskPath(fileName) || isDynamic || openedByClient, "", () => `${JSON.stringify({ fileName, currentDirectory, hostCurrentDirectory: this.currentDirectory, openKeys: arrayFrom(this.openFilesWithNonRootedDiskPath.keys()) })} @@ -161365,7 +161386,7 @@ Dynamic files must always be opened with service's current directory or service if (!openedByClient && !isDynamic && !(hostToQueryFileExistsOn || this.host).fileExists(fileName)) { return; } - info = new ScriptInfo(this.host, fileName, scriptKind, !!hasMixedContent, path, this.filenameToScriptInfoVersion.get(path)); + info = new ScriptInfo(this.host, fileName, scriptKind, !!hasMixedContent, path2, this.filenameToScriptInfoVersion.get(path2)); this.filenameToScriptInfo.set(info.path, info); this.filenameToScriptInfoVersion.delete(info.path); if (!openedByClient) { @@ -161481,9 +161502,9 @@ Dynamic files must always be opened with service's current directory or service getSourceFileLike(fileName, projectNameOrProject, declarationInfo) { const project = projectNameOrProject.projectName ? projectNameOrProject : this.findProject(projectNameOrProject); if (project) { - const path = project.toPath(fileName); - const sourceFile = project.getSourceFile(path); - if (sourceFile && sourceFile.resolvedPath === path) + const path2 = project.toPath(fileName); + const sourceFile = project.getSourceFile(path2); + if (sourceFile && sourceFile.resolvedPath === path2) return sourceFile; } const info = this.getOrCreateScriptInfoNotOpenedByClient(fileName, (project || this).currentDirectory, project ? project.directoryStructureHost : this.host); @@ -161604,12 +161625,12 @@ Dynamic files must always be opened with service's current directory or service this.reloadConfiguredProject(child, reason, false, clearSemanticCache); } }; - openFiles == null ? void 0 : openFiles.forEach((openFileValue, path) => { - this.configFileForOpenFiles.delete(path); + openFiles == null ? void 0 : openFiles.forEach((openFileValue, path2) => { + this.configFileForOpenFiles.delete(path2); if (!shouldReloadProjectFor(openFileValue)) { return; } - const info = this.getScriptInfoForPath(path); + const info = this.getScriptInfoForPath(path2); Debug.assert(info.isScriptOpen()); const configFileName = this.getConfigFileNameForFile(info); if (configFileName) { @@ -161658,8 +161679,8 @@ Dynamic files must always be opened with service's current directory or service ensureProjectForOpenFiles() { this.logger.info("Before ensureProjectForOpenFiles:"); this.printProjects(); - this.openFiles.forEach((projectRootPath, path) => { - const info = this.getScriptInfoForPath(path); + this.openFiles.forEach((projectRootPath, path2) => { + const info = this.getScriptInfoForPath(path2); if (info.isOrphan()) { this.assignOrphanScriptInfoToInferredProject(info, projectRootPath); } else { @@ -161944,8 +161965,8 @@ Dynamic files must always be opened with service's current directory or service } if (!sourceInfos) return; - if (!forEachKey(sourceInfos, (path) => { - const info2 = this.getScriptInfoForPath(path); + if (!forEachKey(sourceInfos, (path2) => { + const info2 = this.getScriptInfoForPath(path2); return !!info2 && (info2.isScriptOpen() || !info2.isOrphan()); })) { return; @@ -161962,7 +161983,7 @@ Dynamic files must always be opened with service's current directory or service sourceInfos = info.sourceMapFilePath.sourceInfos; } if (sourceInfos) { - sourceInfos.forEach((_value, path) => toRemoveScriptInfos.delete(path)); + sourceInfos.forEach((_value, path2) => toRemoveScriptInfos.delete(path2)); } } }); @@ -162397,26 +162418,26 @@ Dynamic files must always be opened with service's current directory or service } }); } - watchPackageJsonFile(path) { + watchPackageJsonFile(path2) { const watchers = this.packageJsonFilesMap || (this.packageJsonFilesMap = new Map2()); - if (!watchers.has(path)) { - this.invalidateProjectPackageJson(path); - watchers.set(path, this.watchFactory.watchFile( - path, + if (!watchers.has(path2)) { + this.invalidateProjectPackageJson(path2); + watchers.set(path2, this.watchFactory.watchFile( + path2, (fileName, eventKind) => { - const path2 = this.toPath(fileName); + const path3 = this.toPath(fileName); switch (eventKind) { case 0 /* Created */: return Debug.fail(); case 1 /* Changed */: - this.packageJsonCache.addOrUpdate(path2); - this.invalidateProjectPackageJson(path2); + this.packageJsonCache.addOrUpdate(path3); + this.invalidateProjectPackageJson(path3); break; case 2 /* Deleted */: - this.packageJsonCache.delete(path2); - this.invalidateProjectPackageJson(path2); - watchers.get(path2).close(); - watchers.delete(path2); + this.packageJsonCache.delete(path3); + this.invalidateProjectPackageJson(path3); + watchers.get(path3).close(); + watchers.delete(path3); } }, 250 /* Low */, @@ -162425,9 +162446,9 @@ Dynamic files must always be opened with service's current directory or service )); } } - onAddPackageJson(path) { - this.packageJsonCache.addOrUpdate(path); - this.watchPackageJsonFile(path); + onAddPackageJson(path2) { + this.packageJsonCache.addOrUpdate(path2); + this.watchPackageJsonFile(path2); } includePackageJsonAutoImports() { switch (this.hostConfiguration.preferences.includePackageJsonAutoImports) { @@ -162770,8 +162791,8 @@ function toEvent(eventName, body) { function combineProjectOutput(defaultValue, getValue, projects, action) { const outputs = flatMapToMutable(isArray(projects) ? projects : projects.projects, (project) => action(project, defaultValue)); if (!isArray(projects) && projects.symLinkedProjects) { - projects.symLinkedProjects.forEach((projects2, path) => { - const value = getValue(path); + projects.symLinkedProjects.forEach((projects2, path2) => { + const value = getValue(path2); outputs.push(...flatMap(projects2, (project) => action(project, value))); }); } @@ -162900,9 +162921,9 @@ function getReferencesWorker(projects, defaultProject, initialLocation, logger) }); return results.filter((o) => o.references.length !== 0); } -function forEachProjectInProjects(projects, path, cb) { +function forEachProjectInProjects(projects, path2, cb) { for (const project of isArray(projects) ? projects : projects.projects) { - cb(project, path); + cb(project, path2); } if (!isArray(projects) && projects.symLinkedProjects) { projects.symLinkedProjects.forEach((symlinkedProjects, symlinkedPath) => { @@ -162916,8 +162937,8 @@ function getPerProjectReferences(projects, defaultProject, initialLocation, isFo const resultsMap = new Map2(); const queue = createQueue(); queue.enqueue({ project: defaultProject, location: initialLocation }); - forEachProjectInProjects(projects, initialLocation.fileName, (project, path) => { - const location = { fileName: path, pos: initialLocation.pos }; + forEachProjectInProjects(projects, initialLocation.fileName, (project, path2) => { + const location = { fileName: path2, pos: initialLocation.pos }; queue.enqueue({ project, location }); }); const projectService = defaultProject.projectService; @@ -164017,8 +164038,8 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter nodeModulesPathParts.packageRootIndex ); const packageName = getPackageNameFromTypesPackageName(unmangleScopedPackageName(packageNamePathPart)); - const path = project.toPath(fileName); - if (entrypoints && some(entrypoints, (e) => project.toPath(e) === path)) { + const path2 = project.toPath(fileName); + if (entrypoints && some(entrypoints, (e) => project.toPath(e) === path2)) { const [implementationResolution] = auxiliaryProject.resolveModuleNames([packageName], resolveFromFile); return implementationResolution == null ? void 0 : implementationResolution.resolvedFileName; } else { @@ -164682,7 +164703,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter } return combineProjectOutput( info, - (path) => this.projectService.getScriptInfoForPath(path), + (path2) => this.projectService.getScriptInfoForPath(path2), projects, (project, info2) => { if (!project.compileOnSaveEnabled || !project.languageServiceEnabled || project.isOrphan()) { @@ -164709,7 +164730,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter return args.richResponse ? { emitSkipped: true, diagnostics: [] } : false; } const scriptInfo = project.getScriptInfo(file); - const { emitSkipped, diagnostics } = project.emitFile(scriptInfo, (path, data, writeByteOrderMark) => this.host.writeFile(path, data, writeByteOrderMark)); + const { emitSkipped, diagnostics } = project.emitFile(scriptInfo, (path2, data, writeByteOrderMark) => this.host.writeFile(path2, data, writeByteOrderMark)); return args.richResponse ? { emitSkipped, diagnostics: args.includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(diagnostics) : diagnostics.map((d) => formatDiagnosticToProtocol(d, true)) @@ -169920,10 +169941,10 @@ function collectChangedFilesFromProgramState(state, arkTSVersion) { const seenPaths = new Set2(); const queue = arrayFrom(changedFiles.keys()); while (queue.length) { - const path = queue.pop(); - if (!seenPaths.has(path)) { - seenPaths.add(path); - queue.push(...BuilderState.getReferencedByPaths(state, path)); + const path2 = queue.pop(); + if (!seenPaths.has(path2)) { + seenPaths.add(path2); + queue.push(...BuilderState.getReferencedByPaths(state, path2)); } } return seenPaths; @@ -176834,7 +176855,6 @@ __export(ts_server_exports3, { getJSXRuntimeImport, getJSXTransformEnabled, getLanguageVariant, - getLanguageVersionByFilePath, getLastChild, getLeadingCommentRanges, getLeadingCommentRangesOfNode, @@ -178053,6 +178073,7 @@ __export(ts_server_exports3, { setEachParent, setEmitFlags, setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath, setLocalizedDiagnosticMessages, setModuleDefaultHelper, setNodeFlags, diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index 183e6dad7e..4cc579e309 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -5650,7 +5650,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; - function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; + function setLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** diff --git a/lib/typescript.js b/lib/typescript.js index d35883fb56..0b02064c8b 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -15,9 +15,11 @@ and limitations under the License. var ts = {}; ((module) => { "use strict"; +var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) @@ -31,6 +33,10 @@ var __copyProps = (to, from, except, desc) => { } return to; }; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); var __toCommonJS = (mod) => (__copyProps, mod); // Modified helper to skip setting __esModule. // src/typescript/typescript.ts @@ -1041,7 +1047,6 @@ __export(typescript_exports, { getJSXRuntimeImport: () => getJSXRuntimeImport, getJSXTransformEnabled: () => getJSXTransformEnabled, getLanguageVariant: () => getLanguageVariant, - getLanguageVersionByFilePath: () => getLanguageVersionByFilePath, getLastChild: () => getLastChild, getLeadingCommentRanges: () => getLeadingCommentRanges, getLeadingCommentRangesOfNode: () => getLeadingCommentRangesOfNode, @@ -2260,6 +2265,7 @@ __export(typescript_exports, { setEachParent: () => setEachParent, setEmitFlags: () => setEmitFlags, setGetSourceFileAsHashVersioned: () => setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath: () => setLanguageVersionByFilePath, setLocalizedDiagnosticMessages: () => setLocalizedDiagnosticMessages, setModuleDefaultHelper: () => setModuleDefaultHelper, setNodeFlags: () => setNodeFlags, @@ -8266,27 +8272,27 @@ function createFixedChunkSizePollingWatchFile(host) { } function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) { const toCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); - const path = toCanonicalFileName(name); - const existing = cache.get(path); + const path2 = toCanonicalFileName(name); + const existing = cache.get(path2); if (existing) { existing.callbacks.push(callback); } else { - cache.set(path, { + cache.set(path2, { watcher: createWatcher((param1, param2, param3) => { var _a2; - return (_a2 = cache.get(path)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); + return (_a2 = cache.get(path2)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); }), callbacks: [callback] }); } return { close: () => { - const watcher = cache.get(path); + const watcher = cache.get(path2); if (!watcher) return; if (!orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) return; - cache.delete(path); + cache.delete(path2); closeFileWatcherOf(watcher); } }; @@ -8487,15 +8493,15 @@ function createDirectoryWatcherSupportingRecursive({ (newChildWatches || (newChildWatches = [])).push(childWatcher); } } - function isIgnoredPath(path, options) { - return some(ignoredPaths, (searchPath) => isInPath(path, searchPath)) || isIgnoredByWatchOptions(path, options, useCaseSensitiveFileNames, getCurrentDirectory); + function isIgnoredPath(path2, options) { + return some(ignoredPaths, (searchPath) => isInPath(path2, searchPath)) || isIgnoredByWatchOptions(path2, options, useCaseSensitiveFileNames, getCurrentDirectory); } - function isInPath(path, searchPath) { - if (stringContains(path, searchPath)) + function isInPath(path2, searchPath) { + if (stringContains(path2, searchPath)) return true; if (useCaseSensitiveFileNames) return false; - return stringContains(toCanonicalFilePath(path), searchPath); + return stringContains(toCanonicalFilePath(path2), searchPath); } } var FileSystemEntryKind = /* @__PURE__ */ ((FileSystemEntryKind2) => { @@ -8813,13 +8819,13 @@ function createSystemWatchFunctions({ } function patchWriteFileEnsuringDirectory(sys2) { const originalWriteFile = sys2.writeFile; - sys2.writeFile = (path, data, writeBom) => writeFileEnsuringDirectories( - path, + sys2.writeFile = (path2, data, writeBom) => writeFileEnsuringDirectories( + path2, data, !!writeBom, - (path2, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path2, data2, writeByteOrderMark), - (path2) => sys2.createDirectory(path2), - (path2) => sys2.directoryExists(path2) + (path3, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path3, data2, writeByteOrderMark), + (path3) => sys2.createDirectory(path3), + (path3) => sys2.directoryExists(path3) ); } function getNodeMajorVersion() { @@ -8871,7 +8877,7 @@ var sys = (() => { getCurrentDirectory, fileSystemEntryExists, fsSupportsRecursiveFsWatch, - getAccessibleSortedChildDirectories: (path) => getAccessibleFileSystemEntries(path).directories, + getAccessibleSortedChildDirectories: (path2) => getAccessibleFileSystemEntries(path2).directories, realpath, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, @@ -8896,7 +8902,7 @@ var sys = (() => { writeFile: writeFile2, watchFile: watchFile2, watchDirectory, - resolvePath: (path) => _path.resolve(path), + resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, createDirectory(directoryName) { @@ -8930,9 +8936,9 @@ var sys = (() => { } return process.memoryUsage().heapUsed; }, - getFileSize(path) { + getFileSize(path2) { try { - const stat = statSync(path); + const stat = statSync(path2); if (stat == null ? void 0 : stat.isFile()) { return stat.size; } @@ -8977,10 +8983,10 @@ var sys = (() => { } }; return nodeSystem; - function statSync(path) { - return _fs.statSync(path, { throwIfNoEntry: false }); + function statSync(path2) { + return _fs.statSync(path2, { throwIfNoEntry: false }); } - function enableCPUProfiler(path, cb) { + function enableCPUProfiler(path2, cb) { if (activeSession) { cb(); return false; @@ -8995,7 +9001,7 @@ var sys = (() => { session.post("Profiler.enable", () => { session.post("Profiler.start", () => { activeSession = session; - profilePath = path; + profilePath = path2; cb(); }); }); @@ -9139,10 +9145,10 @@ var sys = (() => { } } } - function getAccessibleFileSystemEntries(path) { - perfLogger.logEvent("ReadDir: " + (path || ".")); + function getAccessibleFileSystemEntries(path2) { + perfLogger.logEvent("ReadDir: " + (path2 || ".")); try { - const entries = _fs.readdirSync(path || ".", { withFileTypes: true }); + const entries = _fs.readdirSync(path2 || ".", { withFileTypes: true }); const files = []; const directories = []; for (const dirent of entries) { @@ -9152,7 +9158,7 @@ var sys = (() => { } let stat; if (typeof dirent === "string" || dirent.isSymbolicLink()) { - const name = combinePaths(path, entry); + const name = combinePaths(path2, entry); try { stat = statSync(name); if (!stat) { @@ -9177,14 +9183,14 @@ var sys = (() => { return emptyFileSystemEntries; } } - function readDirectory(path, extensions, excludes, includes, depth) { - return matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); + function readDirectory(path2, extensions, excludes, includes, depth) { + return matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); } - function fileSystemEntryExists(path, entryKind) { + function fileSystemEntryExists(path2, entryKind) { const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - const stat = statSync(path); + const stat = statSync(path2); if (!stat) { return false; } @@ -9202,47 +9208,47 @@ var sys = (() => { Error.stackTraceLimit = originalStackTraceLimit; } } - function fileExists(path) { - return fileSystemEntryExists(path, 0 /* File */); + function fileExists(path2) { + return fileSystemEntryExists(path2, 0 /* File */); } - function directoryExists(path) { - return fileSystemEntryExists(path, 1 /* Directory */); + function directoryExists(path2) { + return fileSystemEntryExists(path2, 1 /* Directory */); } - function getDirectories(path) { - return getAccessibleFileSystemEntries(path).directories.slice(); + function getDirectories(path2) { + return getAccessibleFileSystemEntries(path2).directories.slice(); } - function fsRealPathHandlingLongPath(path) { - return path.length < 260 ? _fs.realpathSync.native(path) : _fs.realpathSync(path); + function fsRealPathHandlingLongPath(path2) { + return path2.length < 260 ? _fs.realpathSync.native(path2) : _fs.realpathSync(path2); } - function realpath(path) { + function realpath(path2) { try { - return fsRealpath(path); + return fsRealpath(path2); } catch (e) { - return path; + return path2; } } - function getModifiedTime3(path) { + function getModifiedTime3(path2) { var _a2; const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - return (_a2 = statSync(path)) == null ? void 0 : _a2.mtime; + return (_a2 = statSync(path2)) == null ? void 0 : _a2.mtime; } catch (e) { return void 0; } finally { Error.stackTraceLimit = originalStackTraceLimit; } } - function setModifiedTime(path, time) { + function setModifiedTime(path2, time) { try { - _fs.utimesSync(path, time, time); + _fs.utimesSync(path2, time, time); } catch (e) { return; } } - function deleteFile(path) { + function deleteFile(path2) { try { - return _fs.unlinkSync(path); + return _fs.unlinkSync(path2); } catch (e) { return; } @@ -9281,41 +9287,41 @@ var backslashRegExp = /\\/g; function isAnyDirectorySeparator(charCode) { return charCode === 47 /* slash */ || charCode === 92 /* backslash */; } -function isUrl(path) { - return getEncodedRootLength(path) < 0; +function isUrl(path2) { + return getEncodedRootLength(path2) < 0; } -function isRootedDiskPath(path) { - return getEncodedRootLength(path) > 0; +function isRootedDiskPath(path2) { + return getEncodedRootLength(path2) > 0; } -function isDiskPathRoot(path) { - const rootLength = getEncodedRootLength(path); - return rootLength > 0 && rootLength === path.length; +function isDiskPathRoot(path2) { + const rootLength = getEncodedRootLength(path2); + return rootLength > 0 && rootLength === path2.length; } -function pathIsAbsolute(path) { - return getEncodedRootLength(path) !== 0; +function pathIsAbsolute(path2) { + return getEncodedRootLength(path2) !== 0; } -function pathIsRelative(path) { - return /^\.\.?($|[\\/])/.test(path); +function pathIsRelative(path2) { + return /^\.\.?($|[\\/])/.test(path2); } -function pathIsBareSpecifier(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path); +function pathIsBareSpecifier(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2); } function hasExtension(fileName) { return stringContains(getBaseFileName(fileName), "."); } -function fileExtensionIs(path, extension) { - return path.length > extension.length && endsWith(path, extension); +function fileExtensionIs(path2, extension) { + return path2.length > extension.length && endsWith(path2, extension); } -function fileExtensionIsOneOf(path, extensions) { +function fileExtensionIsOneOf(path2, extensions) { for (const extension of extensions) { - if (fileExtensionIs(path, extension)) { + if (fileExtensionIs(path2, extension)) { return true; } } return false; } -function hasTrailingDirectorySeparator(path) { - return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1)); +function hasTrailingDirectorySeparator(path2) { + return path2.length > 0 && isAnyDirectorySeparator(path2.charCodeAt(path2.length - 1)); } function isVolumeCharacter(charCode) { return charCode >= 97 /* a */ && charCode <= 122 /* z */ || charCode >= 65 /* A */ && charCode <= 90 /* Z */; @@ -9331,113 +9337,113 @@ function getFileUrlVolumeSeparatorEnd(url, start) { } return -1; } -function getEncodedRootLength(path) { - if (!path) +function getEncodedRootLength(path2) { + if (!path2) return 0; - const ch0 = path.charCodeAt(0); + const ch0 = path2.charCodeAt(0); if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { - if (path.charCodeAt(1) !== ch0) + if (path2.charCodeAt(1) !== ch0) return 1; - const p1 = path.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); + const p1 = path2.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); if (p1 < 0) - return path.length; + return path2.length; return p1 + 1; } - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { - const ch2 = path.charCodeAt(2); + if (isVolumeCharacter(ch0) && path2.charCodeAt(1) === 58 /* colon */) { + const ch2 = path2.charCodeAt(2); if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) return 3; - if (path.length === 2) + if (path2.length === 2) return 2; } - const schemeEnd = path.indexOf(urlSchemeSeparator); + const schemeEnd = path2.indexOf(urlSchemeSeparator); if (schemeEnd !== -1) { const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path.indexOf(directorySeparator, authorityStart); + const authorityEnd = path2.indexOf(directorySeparator, authorityStart); if (authorityEnd !== -1) { - const scheme = path.slice(0, schemeEnd); - const authority = path.slice(authorityStart, authorityEnd); - if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + const scheme = path2.slice(0, schemeEnd); + const authority = path2.slice(authorityStart, authorityEnd); + if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path2.charCodeAt(authorityEnd + 1))) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path2, authorityEnd + 2); if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + if (path2.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { return ~(volumeSeparatorEnd + 1); } - if (volumeSeparatorEnd === path.length) { + if (volumeSeparatorEnd === path2.length) { return ~volumeSeparatorEnd; } } } return ~(authorityEnd + 1); } - return ~path.length; + return ~path2.length; } return 0; } -function getRootLength(path) { - const rootLength = getEncodedRootLength(path); +function getRootLength(path2) { + const rootLength = getEncodedRootLength(path2); return rootLength < 0 ? ~rootLength : rootLength; } -function getDirectoryPath(path) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) - return path; - path = removeTrailingDirectorySeparator(path); - return path.slice(0, Math.max(rootLength, path.lastIndexOf(directorySeparator))); -} -function getBaseFileName(path, extensions, ignoreCase) { - path = normalizeSlashes(path); - const rootLength = getRootLength(path); - if (rootLength === path.length) +function getDirectoryPath(path2) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) + return path2; + path2 = removeTrailingDirectorySeparator(path2); + return path2.slice(0, Math.max(rootLength, path2.lastIndexOf(directorySeparator))); +} +function getBaseFileName(path2, extensions, ignoreCase) { + path2 = normalizeSlashes(path2); + const rootLength = getRootLength(path2); + if (rootLength === path2.length) return ""; - path = removeTrailingDirectorySeparator(path); - const name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(directorySeparator) + 1)); + path2 = removeTrailingDirectorySeparator(path2); + const name = path2.slice(Math.max(getRootLength(path2), path2.lastIndexOf(directorySeparator) + 1)); const extension = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(name, extensions, ignoreCase) : void 0; return extension ? name.slice(0, name.length - extension.length) : name; } -function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { +function tryGetExtensionFromPath(path2, extension, stringEqualityComparer) { if (!startsWith(extension, ".")) extension = "." + extension; - if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { - const pathExtension = path.slice(path.length - extension.length); + if (path2.length >= extension.length && path2.charCodeAt(path2.length - extension.length) === 46 /* dot */) { + const pathExtension = path2.slice(path2.length - extension.length); if (stringEqualityComparer(pathExtension, extension)) { return pathExtension; } } } -function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) { +function getAnyExtensionFromPathWorker(path2, extensions, stringEqualityComparer) { if (typeof extensions === "string") { - return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || ""; + return tryGetExtensionFromPath(path2, extensions, stringEqualityComparer) || ""; } for (const extension of extensions) { - const result = tryGetExtensionFromPath(path, extension, stringEqualityComparer); + const result = tryGetExtensionFromPath(path2, extension, stringEqualityComparer); if (result) return result; } return ""; } -function getAnyExtensionFromPath(path, extensions, ignoreCase) { +function getAnyExtensionFromPath(path2, extensions, ignoreCase) { if (extensions) { - return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); + return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path2), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); } - const baseFileName = getBaseFileName(path); + const baseFileName = getBaseFileName(path2); const extensionIndex = baseFileName.lastIndexOf("."); if (extensionIndex >= 0) { return baseFileName.substring(extensionIndex); } return ""; } -function pathComponents(path, rootLength) { - const root = path.substring(0, rootLength); - const rest = path.substring(rootLength).split(directorySeparator); +function pathComponents(path2, rootLength) { + const root = path2.substring(0, rootLength); + const rest = path2.substring(rootLength).split(directorySeparator); if (rest.length && !lastOrUndefined(rest)) rest.pop(); return [root, ...rest]; } -function getPathComponents(path, currentDirectory = "") { - path = combinePaths(currentDirectory, path); - return pathComponents(path, getRootLength(path)); +function getPathComponents(path2, currentDirectory = "") { + path2 = combinePaths(currentDirectory, path2); + return pathComponents(path2, getRootLength(path2)); } function getPathFromPathComponents(pathComponents2) { if (pathComponents2.length === 0) @@ -9445,8 +9451,8 @@ function getPathFromPathComponents(pathComponents2) { const root = pathComponents2[0] && ensureTrailingDirectorySeparator(pathComponents2[0]); return root + pathComponents2.slice(1).join(directorySeparator); } -function normalizeSlashes(path) { - return path.indexOf("\\") !== -1 ? path.replace(backslashRegExp, directorySeparator) : path; +function normalizeSlashes(path2) { + return path2.indexOf("\\") !== -1 ? path2.replace(backslashRegExp, directorySeparator) : path2; } function reducePathComponents(components) { if (!some(components)) @@ -9471,44 +9477,44 @@ function reducePathComponents(components) { } return reduced; } -function combinePaths(path, ...paths) { - if (path) - path = normalizeSlashes(path); +function combinePaths(path2, ...paths) { + if (path2) + path2 = normalizeSlashes(path2); for (let relativePath of paths) { if (!relativePath) continue; relativePath = normalizeSlashes(relativePath); - if (!path || getRootLength(relativePath) !== 0) { - path = relativePath; + if (!path2 || getRootLength(relativePath) !== 0) { + path2 = relativePath; } else { - path = ensureTrailingDirectorySeparator(path) + relativePath; + path2 = ensureTrailingDirectorySeparator(path2) + relativePath; } } - return path; + return path2; } -function resolvePath(path, ...paths) { - return normalizePath(some(paths) ? combinePaths(path, ...paths) : normalizeSlashes(path)); +function resolvePath(path2, ...paths) { + return normalizePath(some(paths) ? combinePaths(path2, ...paths) : normalizeSlashes(path2)); } -function getNormalizedPathComponents(path, currentDirectory) { - return reducePathComponents(getPathComponents(path, currentDirectory)); +function getNormalizedPathComponents(path2, currentDirectory) { + return reducePathComponents(getPathComponents(path2, currentDirectory)); } function getNormalizedAbsolutePath(fileName, currentDirectory) { return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } -function normalizePath(path) { - path = normalizeSlashes(path); - if (!relativePathSegmentRegExp.test(path)) { - return path; +function normalizePath(path2) { + path2 = normalizeSlashes(path2); + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } - const simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, ""); - if (simplified !== path) { - path = simplified; - if (!relativePathSegmentRegExp.test(path)) { - return path; + const simplified = path2.replace(/\/\.\//g, "/").replace(/^\.\//, ""); + if (simplified !== path2) { + path2 = simplified; + if (!relativePathSegmentRegExp.test(path2)) { + return path2; } } - const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path))); - return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized; + const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path2))); + return normalized && hasTrailingDirectorySeparator(path2) ? ensureTrailingDirectorySeparator(normalized) : normalized; } function getPathWithoutRoot(pathComponents2) { if (pathComponents2.length === 0) @@ -9522,24 +9528,24 @@ function toPath(fileName, basePath, getCanonicalFileName) { const nonCanonicalizedPath = isRootedDiskPath(fileName) ? normalizePath(fileName) : getNormalizedAbsolutePath(fileName, basePath); return getCanonicalFileName(nonCanonicalizedPath); } -function removeTrailingDirectorySeparator(path) { - if (hasTrailingDirectorySeparator(path)) { - return path.substr(0, path.length - 1); +function removeTrailingDirectorySeparator(path2) { + if (hasTrailingDirectorySeparator(path2)) { + return path2.substr(0, path2.length - 1); } - return path; + return path2; } -function ensureTrailingDirectorySeparator(path) { - if (!hasTrailingDirectorySeparator(path)) { - return path + directorySeparator; +function ensureTrailingDirectorySeparator(path2) { + if (!hasTrailingDirectorySeparator(path2)) { + return path2 + directorySeparator; } - return path; + return path2; } -function ensurePathIsNonModuleName(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path; +function ensurePathIsNonModuleName(path2) { + return !pathIsAbsolute(path2) && !pathIsRelative(path2) ? "./" + path2 : path2; } -function changeAnyExtension(path, ext, extensions, ignoreCase) { - const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path); - return pathext ? path.slice(0, path.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path; +function changeAnyExtension(path2, ext, extensions, ignoreCase) { + const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path2, extensions, ignoreCase) : getAnyExtensionFromPath(path2); + return pathext ? path2.slice(0, path2.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path2; } var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; function comparePathsWorker(a, b, componentComparer) { @@ -9631,11 +9637,11 @@ function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanoni return toComponents; } const components = toComponents.slice(start); - const relative = []; + const relative2 = []; for (; start < fromComponents.length; start++) { - relative.push(".."); + relative2.push(".."); } - return ["", ...relative, ...components]; + return ["", ...relative2, ...components]; } function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative"); @@ -18191,8 +18197,8 @@ function hostGetCanonicalFileName(host) { function getResolvedExternalModuleName(host, file, referenceFile) { return file.moduleName || getExternalModuleNameFromPath(host, file.fileName, referenceFile && referenceFile.fileName); } -function getCanonicalAbsolutePath(host, path) { - return host.getCanonicalFileName(getNormalizedAbsolutePath(path, host.getCurrentDirectory())); +function getCanonicalAbsolutePath(host, path2) { + return host.getCanonicalFileName(getNormalizedAbsolutePath(path2, host.getCurrentDirectory())); } function getExternalModuleNameFromDeclaration(host, resolver, declaration) { const file = resolver.getExternalModuleFileFromDeclaration(declaration); @@ -18228,15 +18234,15 @@ function getDeclarationEmitOutputFilePath(fileName, host) { } function getDeclarationEmitOutputFilePathWorker(fileName, options, currentDirectory, commonSourceDirectory, getCanonicalFileName) { const outputDir = options.declarationDir || options.outDir; - const path = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; - const declarationExtension = getDeclarationEmitExtensionForPath(path); - return removeFileExtension(path) + declarationExtension; + const path2 = outputDir ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName) : fileName; + const declarationExtension = getDeclarationEmitExtensionForPath(path2); + return removeFileExtension(path2) + declarationExtension; } -function getDeclarationEmitExtensionForPath(path) { - return fileExtensionIsOneOf(path, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; +function getDeclarationEmitExtensionForPath(path2) { + return fileExtensionIsOneOf(path2, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : fileExtensionIsOneOf(path2, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : fileExtensionIsOneOf(path2, [".json" /* Json */]) ? `.json.d.ts` : fileExtensionIsOneOf(path2, [".ets" /* Ets */]) ? ".d.ets" /* Dets */ : ".d.ts" /* Dts */; } -function getPossibleOriginalInputExtensionForExtension(path) { - return fileExtensionIsOneOf(path, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; +function getPossibleOriginalInputExtensionForExtension(path2) { + return fileExtensionIsOneOf(path2, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path2, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path2, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; } function outFile(options) { return options.outFile || options.out; @@ -18289,12 +18295,12 @@ function ensureDirectoriesExist(directoryPath, createDirectory, directoryExists) createDirectory(directoryPath); } } -function writeFileEnsuringDirectories(path, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { +function writeFileEnsuringDirectories(path2, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { try { - writeFile2(path, data, writeByteOrderMark); + writeFile2(path2, data, writeByteOrderMark); } catch (e) { - ensureDirectoriesExist(getDirectoryPath(normalizePath(path)), createDirectory, directoryExists); - writeFile2(path, data, writeByteOrderMark); + ensureDirectoriesExist(getDirectoryPath(normalizePath(path2)), createDirectory, directoryExists); + writeFile2(path2, data, writeByteOrderMark); } } function getLineOfLocalPosition(sourceFile, pos) { @@ -18901,15 +18907,15 @@ function base64decode(host, input) { } return getStringFromExpandedCharCodes(expandedCharCodes); } -function readJsonOrUndefined(path, hostOrText) { - const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path); +function readJsonOrUndefined(path2, hostOrText) { + const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path2); if (!jsonText) return void 0; - const result = parseConfigFileTextToJson(path, jsonText); + const result = parseConfigFileTextToJson(path2, jsonText); return !result.error ? result.config : void 0; } -function readJson(path, host) { - return readJsonOrUndefined(path, host) || {}; +function readJson(path2, host) { + return readJsonOrUndefined(path2, host) || {}; } function directoryProbablyExists(directoryName, host) { return !host.directoryExists || host.directoryExists(directoryName); @@ -19727,7 +19733,7 @@ function createSymlinkCache(cwd, getCanonicalFileName, isOHModules2) { getSymlinkedFiles: () => symlinkedFiles, getSymlinkedDirectories: () => symlinkedDirectories, getSymlinkedDirectoriesByRealpath: () => symlinkedDirectoriesByRealpath, - setSymlinkedFile: (path, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path, real), + setSymlinkedFile: (path2, real) => (symlinkedFiles || (symlinkedFiles = new Map2())).set(path2, real), setSymlinkedDirectory: (symlink, real) => { let symlinkPath = toPath(symlink, cwd, getCanonicalFileName); if (!containsIgnoredPath(symlinkPath)) { @@ -19780,8 +19786,8 @@ function isNodeModulesOrScopedPackageDirectory(s, getCanonicalFileName, isOHModu function stripLeadingDirectorySeparator(s) { return isAnyDirectorySeparator(s.charCodeAt(0)) ? s.slice(1) : void 0; } -function tryRemoveDirectoryPrefix(path, dirPath, getCanonicalFileName) { - const withoutPrefix = tryRemovePrefix(path, dirPath, getCanonicalFileName); +function tryRemoveDirectoryPrefix(path2, dirPath, getCanonicalFileName) { + const withoutPrefix = tryRemovePrefix(path2, dirPath, getCanonicalFileName); return withoutPrefix === void 0 ? void 0 : stripLeadingDirectorySeparator(withoutPrefix); } var reservedCharacterPattern = /[^\w\s\/]/g; @@ -19889,25 +19895,25 @@ function getSubPatternFromSpec(spec, basePath, usage, { singleAsteriskRegexFragm function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } -function getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { - path = normalizePath(path); +function getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const absolutePath = combinePaths(currentDirectory, path); + const absolutePath = combinePaths(currentDirectory, path2); return { includeFilePatterns: map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), (pattern) => `^${pattern}$`), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), - basePaths: getBasePaths(path, includes, useCaseSensitiveFileNames) + basePaths: getBasePaths(path2, includes, useCaseSensitiveFileNames) }; } function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); } -function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { - path = normalizePath(path); +function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { + path2 = normalizePath(path2); currentDirectory = normalizePath(currentDirectory); - const patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory); + const patterns = getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory); const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map((pattern) => getRegexFromPattern(pattern, useCaseSensitiveFileNames)); const includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); const excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); @@ -19918,14 +19924,14 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa visitDirectory(basePath, combinePaths(currentDirectory, basePath), depth); } return flatten(results); - function visitDirectory(path2, absolutePath, depth2) { + function visitDirectory(path3, absolutePath, depth2) { const canonicalPath = toCanonical(realpath(absolutePath)); if (visited.has(canonicalPath)) return; visited.set(canonicalPath, true); - const { files, directories } = getFileSystemEntries(path2); + const { files, directories } = getFileSystemEntries(path3); for (const current of sort(files, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if (extensions && !fileExtensionIsOneOf(name, extensions)) continue; @@ -19947,7 +19953,7 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } for (const current of sort(directories, compareStringsCaseSensitive)) { - const name = combinePaths(path2, current); + const name = combinePaths(path3, current); const absoluteName = combinePaths(absolutePath, current); if ((!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName)) && (!excludeRegex || !excludeRegex.test(absoluteName))) { visitDirectory(name, absoluteName, depth2); @@ -19955,17 +19961,17 @@ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNa } } } -function getBasePaths(path, includes, useCaseSensitiveFileNames) { - const basePaths = [path]; +function getBasePaths(path2, includes, useCaseSensitiveFileNames) { + const basePaths = [path2]; if (includes) { const includeBasePaths = []; for (const include of includes) { - const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path, include)); + const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path2, include)); includeBasePaths.push(getIncludeBasePath(absolute)); } includeBasePaths.sort(getStringComparer(!useCaseSensitiveFileNames)); for (const includeBasePath of includeBasePaths) { - if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path, !useCaseSensitiveFileNames))) { + if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path2, !useCaseSensitiveFileNames))) { basePaths.push(includeBasePath); } } @@ -20067,23 +20073,23 @@ function compareNumberOfDirectorySeparators(path1, path2) { ); } var extensionsToRemove = [".d.ts" /* Dts */, ".d.ets" /* Dets */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".mts" /* Mts */, ".cjs" /* Cjs */, ".cts" /* Cts */, ".ts" /* Ts */, ".js" /* Js */, ".tsx" /* Tsx */, ".jsx" /* Jsx */, ".json" /* Json */, ".ets" /* Ets */]; -function removeFileExtension(path) { +function removeFileExtension(path2) { for (const ext of extensionsToRemove) { - const extensionless = tryRemoveExtension(path, ext); + const extensionless = tryRemoveExtension(path2, ext); if (extensionless !== void 0) { return extensionless; } } - return path; + return path2; } -function tryRemoveExtension(path, extension) { - return fileExtensionIs(path, extension) ? removeExtension(path, extension) : void 0; +function tryRemoveExtension(path2, extension) { + return fileExtensionIs(path2, extension) ? removeExtension(path2, extension) : void 0; } -function removeExtension(path, extension) { - return path.substring(0, path.length - extension.length); +function removeExtension(path2, extension) { + return path2.substring(0, path2.length - extension.length); } -function changeExtension(path, newExtension) { - return changeAnyExtension(path, newExtension, extensionsToRemove, false); +function changeExtension(path2, newExtension) { + return changeAnyExtension(path2, newExtension, extensionsToRemove, false); } function tryParsePattern(pattern) { const indexOfStar = pattern.indexOf("*"); @@ -20096,7 +20102,7 @@ function tryParsePattern(pattern) { }; } function tryParsePatterns(paths) { - return mapDefined(getOwnKeys(paths), (path) => tryParsePattern(path)); + return mapDefined(getOwnKeys(paths), (path2) => tryParsePattern(path2)); } function positionIsSynthesized(pos) { return !(pos >= 0); @@ -20107,18 +20113,18 @@ function extensionIsTS(ext) { function resolutionExtensionIsTSOrJson(ext) { return extensionIsTS(ext) || ext === ".json" /* Json */; } -function extensionFromPath(path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 ? ext : Debug.fail(`File ${path} has unknown extension.`); +function extensionFromPath(path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 ? ext : Debug.fail(`File ${path2} has unknown extension.`); } -function isAnySupportedFileExtension(path) { - return tryGetExtensionFromPath2(path) !== void 0; +function isAnySupportedFileExtension(path2) { + return tryGetExtensionFromPath2(path2) !== void 0; } -function tryGetExtensionFromPath2(path) { - if (fileExtensionIs(path, ".ets" /* Ets */)) { +function tryGetExtensionFromPath2(path2) { + if (fileExtensionIs(path2, ".ets" /* Ets */)) { return ".ets" /* Ets */; } - return find(extensionsToRemove, (e) => fileExtensionIs(path, e)); + return find(extensionsToRemove, (e) => fileExtensionIs(path2, e)); } function isCheckJsEnabledForFile(sourceFile, compilerOptions) { return sourceFile.checkJsDirective ? sourceFile.checkJsDirective.enabled : compilerOptions.checkJs; @@ -20357,8 +20363,8 @@ function expressionResultIsUnused(node) { return false; } } -function containsIgnoredPath(path) { - return some(ignoredPaths, (p) => stringContains(path, p)); +function containsIgnoredPath(path2) { + return some(ignoredPaths, (p) => stringContains(path2, p)); } function getContainingNodeArray(node) { if (!node.parent) @@ -25544,19 +25550,19 @@ function createInputFiles(javascriptTextOrReadFileText, declarationTextOrJavascr const node = parseNodeFactory.createInputFiles(); if (!isString(javascriptTextOrReadFileText)) { const cache = new Map2(); - const textGetter = (path) => { - if (path === void 0) + const textGetter = (path2) => { + if (path2 === void 0) return void 0; - let value = cache.get(path); + let value = cache.get(path2); if (value === void 0) { - value = javascriptTextOrReadFileText(path); - cache.set(path, value !== void 0 ? value : false); + value = javascriptTextOrReadFileText(path2); + cache.set(path2, value !== void 0 ? value : false); } return value !== false ? value : void 0; }; - const definedTextGetter = (path) => { - const result = textGetter(path); - return result !== void 0 ? result : `/* Input file ${path} was missing */\r + const definedTextGetter = (path2) => { + const result = textGetter(path2); + return result !== void 0 ? result : `/* Input file ${path2} was missing */\r `; }; let buildInfo2; @@ -28799,7 +28805,7 @@ function parseJSDocTypeExpressionForTests(content, start, length2) { return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length2); } var languageVersionCallBack; -function getLanguageVersionByFilePath(getLanguageVersion) { +function setLanguageVersionByFilePath(getLanguageVersion) { languageVersionCallBack = getLanguageVersion; } var Parser; @@ -29028,7 +29034,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray2(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext(), sourceFileCompilerOptions), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -35598,7 +35604,7 @@ function processPragmasIntoFields(context, reportDiagnostic) { const typeReferenceDirectives = context.typeReferenceDirectives; const libReferenceDirectives = context.libReferenceDirectives; forEach(toArray(entryOrList), (arg) => { - const { types, lib, path, ["resolution-mode"]: res } = arg.arguments; + const { types, lib, path: path2, ["resolution-mode"]: res } = arg.arguments; if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } else if (types) { @@ -35606,8 +35612,8 @@ function processPragmasIntoFields(context, reportDiagnostic) { typeReferenceDirectives.push({ pos: types.pos, end: types.end, fileName: types.value, ...parsed ? { resolutionMode: parsed } : {} }); } else if (lib) { libReferenceDirectives.push({ pos: lib.pos, end: lib.end, fileName: lib.value }); - } else if (path) { - referencedFiles.push({ pos: path.pos, end: path.end, fileName: path.value }); + } else if (path2) { + referencedFiles.push({ pos: path2.pos, end: path2.end, fileName: path2.value }); } else { reportDiagnostic(arg.range.pos, arg.range.end - arg.range.pos, Diagnostics.Invalid_reference_directive_syntax); } @@ -37859,20 +37865,20 @@ function filterSameAsDefaultInclude(specs) { return void 0; return specs; } -function matchesSpecs(path, includeSpecs, excludeSpecs, host) { +function matchesSpecs(path2, includeSpecs, excludeSpecs, host) { if (!includeSpecs) return returnTrue; - const patterns = getFileMatcherPatterns(path, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); + const patterns = getFileMatcherPatterns(path2, excludeSpecs, includeSpecs, host.useCaseSensitiveFileNames, host.getCurrentDirectory()); const excludeRe = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, host.useCaseSensitiveFileNames); const includeRe = patterns.includeFilePattern && getRegexFromPattern(patterns.includeFilePattern, host.useCaseSensitiveFileNames); if (includeRe) { if (excludeRe) { - return (path2) => !(includeRe.test(path2) && !excludeRe.test(path2)); + return (path3) => !(includeRe.test(path3) && !excludeRe.test(path3)); } - return (path2) => !includeRe.test(path2); + return (path3) => !includeRe.test(path3); } if (excludeRe) { - return (path2) => excludeRe.test(path2); + return (path3) => excludeRe.test(path3); } return returnTrue; } @@ -38262,9 +38268,9 @@ function parseConfig(json, sourceFile, host, basePath, configFileName, resolutio let relativeDifference; const setPropertyInRawIfNotUndefined = (propertyName) => { if (!raw[propertyName] && baseRaw[propertyName]) { - raw[propertyName] = map(baseRaw[propertyName], (path) => isRootedDiskPath(path) ? path : combinePaths( + raw[propertyName] = map(baseRaw[propertyName], (path2) => isRootedDiskPath(path2) ? path2 : combinePaths( relativeDifference || (relativeDifference = convertToRelativePath(getDirectoryPath(ownConfig.extendedConfigPath), basePath, createGetCanonicalFileName(host.useCaseSensitiveFileNames))), - path + path2 )); } }; @@ -38387,14 +38393,14 @@ function getExtendsConfigPath(extendedConfig, host, basePath, errors, createDiag return void 0; } function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack, errors, extendedConfigCache) { - const path = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); + const path2 = host.useCaseSensitiveFileNames ? extendedConfigPath : toFileNameLowerCase(extendedConfigPath); let value; let extendedResult; let extendedConfig; - if (extendedConfigCache && (value = extendedConfigCache.get(path))) { + if (extendedConfigCache && (value = extendedConfigCache.get(path2))) { ({ extendedResult, extendedConfig } = value); } else { - extendedResult = readJsonConfigFile(extendedConfigPath, (path2) => host.readFile(path2)); + extendedResult = readJsonConfigFile(extendedConfigPath, (path3) => host.readFile(path3)); if (!extendedResult.parseDiagnostics.length) { extendedConfig = parseConfig( void 0, @@ -38408,7 +38414,7 @@ function getExtendedConfig(sourceFile, extendedConfigPath, host, resolutionStack ); } if (extendedConfigCache) { - extendedConfigCache.set(path, { extendedResult, extendedConfig }); + extendedConfigCache.set(path2, { extendedResult, extendedConfig }); } } if (sourceFile) { @@ -38649,14 +38655,14 @@ function specToDiagnostic(spec, disallowTrailingRecursion) { return [Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, spec]; } } -function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path, useCaseSensitiveFileNames) { - const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path, "exclude"); +function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExcludeSpecs: exclude }, path2, useCaseSensitiveFileNames) { + const rawExcludeRegex = getRegularExpressionForWildcard(exclude, path2, "exclude"); const excludeRegex = rawExcludeRegex && new RegExp(rawExcludeRegex, useCaseSensitiveFileNames ? "" : "i"); const wildcardDirectories = {}; if (include !== void 0) { const recursiveKeys = []; for (const file of include) { - const spec = normalizePath(combinePaths(path, file)); + const spec = normalizePath(combinePaths(path2, file)); if (excludeRegex && excludeRegex.test(spec)) { continue; } @@ -38675,7 +38681,7 @@ function getWildcardDirectories({ validatedIncludeSpecs: include, validatedExclu for (const key in wildcardDirectories) { if (hasProperty(wildcardDirectories, key)) { for (const recursiveKey of recursiveKeys) { - if (key !== recursiveKey && containsPath(recursiveKey, key, path, !useCaseSensitiveFileNames)) { + if (key !== recursiveKey && containsPath(recursiveKey, key, path2, !useCaseSensitiveFileNames)) { delete wildcardDirectories[key]; } } @@ -38877,12 +38883,12 @@ function readPackageJsonPathField(jsonContent, fieldName, baseDirectory, state) } return; } - const path = normalizePath(combinePaths(baseDirectory, fileName)); + const path2 = normalizePath(combinePaths(baseDirectory, fileName)); if (state.traceEnabled) { const message = isOhpm(state.compilerOptions.packageManagerType) ? Diagnostics.oh_package_json5_has_0_field_1_that_references_2 : Diagnostics.package_json_has_0_field_1_that_references_2; - trace(state.host, message, fieldName, fileName, path); + trace(state.host, message, fieldName, fileName, path2); } - return path; + return path2; } function readPackageJsonTypesFields(jsonContent, baseDirectory, state) { return readPackageJsonPathField(jsonContent, "typings", baseDirectory, state) || readPackageJsonPathField(jsonContent, "types", baseDirectory, state); @@ -39192,11 +39198,11 @@ function createCacheWithRedirects(options) { if (!redirectedReference) { return ownMap; } - const path = redirectedReference.sourceFile.path; - let redirects = redirectsMap.get(path); + const path2 = redirectedReference.sourceFile.path; + let redirects = redirectsMap.get(path2); if (!redirects) { redirects = !options || optionsHaveModuleResolutionChanges(options, redirectedReference.commandLine.options) ? new Map2() : ownMap; - redirectsMap.set(path, redirects); + redirectsMap.set(path2, redirects); } return redirects; } @@ -39268,8 +39274,8 @@ function createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileNam updateRedirectsMap(options, directoryToModuleNameMap); } function getOrCreateCacheForDirectory(directoryName, redirectedReference) { - const path = toPath(directoryName, currentDirectory, getCanonicalFileName); - return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, () => createModeAwareCache()); + const path2 = toPath(directoryName, currentDirectory, getCanonicalFileName); + return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path2, () => createModeAwareCache()); } } function createModeAwareCache() { @@ -39353,14 +39359,14 @@ function createModuleResolutionCache(currentDirectory, getCanonicalFileName, opt return directoryPathMap.get(toPath(directory, currentDirectory, getCanonicalFileName)); } function set(directory, result) { - const path = toPath(directory, currentDirectory, getCanonicalFileName); - if (directoryPathMap.has(path)) { + const path2 = toPath(directory, currentDirectory, getCanonicalFileName); + if (directoryPathMap.has(path2)) { return; } - directoryPathMap.set(path, result); + directoryPathMap.set(path2, result); const resolvedFileName = result.resolvedModule && (result.resolvedModule.originalPath || result.resolvedModule.resolvedFileName); - const commonPrefix = resolvedFileName && getCommonPrefix(path, resolvedFileName); - let current = path; + const commonPrefix = resolvedFileName && getCommonPrefix(path2, resolvedFileName); + let current = path2; while (current !== commonPrefix) { const parent2 = getDirectoryPath(current); if (parent2 === current || directoryPathMap.has(parent2)) { @@ -39731,10 +39737,10 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, return void 0; let resolvedValue = resolved2.value; if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) { - const path = realPath(resolvedValue.path, host, traceEnabled); - const pathsAreEqual = arePathsEqual(path, resolvedValue.path, host); + const path2 = realPath(resolvedValue.path, host, traceEnabled); + const pathsAreEqual = arePathsEqual(path2, resolvedValue.path, host); const originalPath = pathsAreEqual ? void 0 : resolvedValue.path; - resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path, originalPath }; + resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path2, originalPath }; } return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; } else { @@ -39748,18 +39754,18 @@ function normalizePathForCJSResolution(containingDirectory, moduleName) { const combined = combinePaths(containingDirectory, moduleName); const parts = getPathComponents(combined); const lastPart = lastOrUndefined(parts); - const path = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); - return { path, parts }; + const path2 = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); + return { path: path2, parts }; } -function realPath(path, host, traceEnabled) { +function realPath(path2, host, traceEnabled) { if (!host.realpath) { - return path; + return path2; } - const real = normalizePath(host.realpath(path)); + const real = normalizePath(host.realpath(path2)); if (traceEnabled) { - trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path, real); + trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path2, real); } - Debug.assert(host.fileExists(real), `${path} linked to nonexistent file ${real}`); + Debug.assert(host.fileExists(real), `${path2} linked to nonexistent file ${real}`); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -39798,25 +39804,25 @@ function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, return void 0; } var nodeModulesPathPart = "/node_modules/"; -function pathContainsNodeModules(path) { - return stringContains(path, nodeModulesPathPart); +function pathContainsNodeModules(path2) { + return stringContains(path2, nodeModulesPathPart); } function parseModuleFromPath(resolved, packageManagerType) { const modulesPathPart = getModulePathPartByPMType(packageManagerType); - const path = normalizePath(resolved); - const idx = path.lastIndexOf(modulesPathPart); + const path2 = normalizePath(resolved); + const idx = path2.lastIndexOf(modulesPathPart); if (idx === -1) { return void 0; } const indexAfterModules = idx + modulesPathPart.length; - let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterModules); - if (path.charCodeAt(indexAfterModules) === 64 /* at */) { - indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterPackageName); + let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterModules); + if (path2.charCodeAt(indexAfterModules) === 64 /* at */) { + indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterPackageName); } - return path.slice(0, indexAfterPackageName); + return path2.slice(0, indexAfterPackageName); } -function moveToNextDirectorySeparatorIfAvailable(path, prevSeparatorIndex) { - const nextSeparatorIndex = path.indexOf(directorySeparator, prevSeparatorIndex + 1); +function moveToNextDirectorySeparatorIfAvailable(path2, prevSeparatorIndex) { + const nextSeparatorIndex = path2.indexOf(directorySeparator, prevSeparatorIndex + 1); return nextSeparatorIndex === -1 ? prevSeparatorIndex : nextSeparatorIndex; } function loadModuleFromFileNoPackageId(extensions, candidate, onlyRecordFailures, state) { @@ -39919,8 +39925,8 @@ function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecor return tryExtension(".json" /* Json */); } function tryExtension(ext) { - const path = tryFile(candidate + ext, onlyRecordFailures, state); - return path === void 0 ? void 0 : { path, ext }; + const path2 = tryFile(candidate + ext, onlyRecordFailures, state); + return path2 === void 0 ? void 0 : { path: path2, ext }; } } function tryFile(fileName, onlyRecordFailures, state) { @@ -40167,9 +40173,9 @@ function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFail return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state); } } -function resolvedIfExtensionMatches(extensions, path) { - const ext = tryGetExtensionFromPath2(path); - return ext !== void 0 && extensionIsOk(extensions, ext) ? { path, ext } : void 0; +function resolvedIfExtensionMatches(extensions, path2) { + const ext = tryGetExtensionFromPath2(path2); + return ext !== void 0 && extensionIsOk(extensions, ext) ? { path: path2, ext } : void 0; } function extensionIsOk(extensions, extension) { switch (extensions) { @@ -40423,11 +40429,11 @@ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirec trace(state.host, Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName); } return toSearchResult(void 0); - function toAbsolutePath(path) { + function toAbsolutePath(path2) { var _a2, _b; - if (path === void 0) - return path; - return getNormalizedAbsolutePath(path, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); + if (path2 === void 0) + return path2; + return getNormalizedAbsolutePath(path2, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); } function combineDirectoryPath(root, dir) { return ensureTrailingDirectorySeparator(combinePaths(root, dir)); @@ -40621,16 +40627,16 @@ function tryLoadModuleUsingPaths(extensions, moduleName, baseDirectory, paths, p trace(state.host, Diagnostics.Module_name_0_matched_pattern_1, moduleName, matchedPatternText); } const resolved = forEach(paths[matchedPatternText], (subst) => { - const path = matchedStar ? subst.replace("*", matchedStar) : subst; - const candidate = normalizePath(combinePaths(baseDirectory, path)); + const path2 = matchedStar ? subst.replace("*", matchedStar) : subst; + const candidate = normalizePath(combinePaths(baseDirectory, path2)); if (state.traceEnabled) { - trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path); + trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path2); } const extension = tryGetExtensionFromPath2(subst); if (extension !== void 0) { - const path2 = tryFile(candidate, onlyRecordFailures, state); - if (path2 !== void 0) { - return noPackageId({ path: path2, ext: extension }); + const path3 = tryFile(candidate, onlyRecordFailures, state); + if (path3 !== void 0) { + return noPackageId({ path: path3, ext: extension }); } } return loader(extensions, candidate, onlyRecordFailures || !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); @@ -40772,6 +40778,7 @@ function traceIfEnabled(state, diagnostic, ...args) { } // src/compiler/ohApi.ts +var path = __toESM(require("path")); var annotationMagicNamePrefix = "__$$ETS_ANNOTATION$$__"; var maxFlowDepthDefaultValue = 2e3; function isInEtsFile(node) { @@ -40905,8 +40912,8 @@ function isOHModulesDirectory(dirPath) { function isTargetModulesDerectory(dirPath) { return isNodeModulesDirectory(dirPath) || isOHModulesDirectory(dirPath); } -function pathContainsOHModules(path) { - return stringContains(path, ohModulesPathPart); +function pathContainsOHModules(path2) { + return stringContains(path2, ohModulesPathPart); } function choosePathContainsModules(packageManagerType, fileName) { return isOhpm(packageManagerType) ? pathContainsOHModules(fileName) : pathContainsNodeModules(fileName); @@ -41605,20 +41612,34 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var THROWS_TAG = "throws"; var THROWS_CATCH = "catch"; var THROWS_ASYNC_CALLBACK = "AsyncCallback"; var THROWS_ERROR_CALLBACK = "ErrorCallback"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; + if (compilerOptions.etsLoaderPath && normalizePath(compilerOptions.etsLoaderPath).endsWith("ets1.1/build-tools/ets-loader")) { + return resolvePath(compilerOptions.etsLoaderPath, "../../../../.."); + } + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; +} +function getKitConfigRelativePath(compilerOptions) { + const etsLoaderPath = compilerOptions.etsLoaderPath; + const sdkPath = getSdkPath(compilerOptions); + return path.relative( + sdkPath, + path.join(etsLoaderPath, "kit_configs") + ); +} +function convertPath(originalPath, from, to) { + return originalPath.replace(new RegExp(from, "g"), to); } -function getKitJsonObject(name, sdkPath) { +function getKitJsonObject(name, sdkPath, compilerOptions) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { return kitJsonCache.get(name); } + const OHOS_KIT_CONFIG_PATH = getKitConfigRelativePath(compilerOptions); + const HMS_KIT_CONFIG_PATH = convertPath(OHOS_KIT_CONFIG_PATH, "openharmony", "hms"); const ohosJsonPath = resolvePath(sdkPath, OHOS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); const hmsJsonPath = resolvePath(sdkPath, HMS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); let fileInfo = sys.fileExists(ohosJsonPath) ? sys.readFile(ohosJsonPath, "utf-8") : sys.fileExists(hmsJsonPath) ? sys.readFile(hmsJsonPath, "utf-8") : void 0; @@ -41786,7 +41807,7 @@ function processKitStatementSuccess(factory2, statement, jsonObject, inEtsContex } return true; } -function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext) { +function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext, compilerOptions) { const list = []; let skipRestStatements = false; statements.forEach( @@ -41803,7 +41824,7 @@ function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsC list.push(statement); return; } - const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath); + const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath, compilerOptions); const newImportStatements = new Array(); if (!processKitStatementSuccess(factory2, statement, jsonObject, inEtsContext, newImportStatements)) { list.push(statement); @@ -45014,10 +45035,10 @@ function getLocalModuleSpecifier(moduleFileName, info, compilerOptions, host, im Debug.assertNever(relativePreference); return isPathRelativeToParent(nonRelative) || countPathComponents(relativePath) < countPathComponents(nonRelative) ? relativePath : nonRelative; } -function countPathComponents(path) { +function countPathComponents(path2) { let count = 0; - for (let i = startsWith(path, "./") ? 2 : 0; i < path.length; i++) { - if (path.charCodeAt(i) === 47 /* slash */) + for (let i = startsWith(path2, "./") ? 2 : 0; i < path2.length; i++) { + if (path2.charCodeAt(i) === 47 /* slash */) count++; } return count; @@ -45064,9 +45085,9 @@ function forEachFileNameOfModule(importingFileName, importedFileName, host, pref if (!startsWithDirectory(target, realPathDirectory, getCanonicalFileName)) { return; } - const relative = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); + const relative2 = getRelativePathFromDirectory(realPathDirectory, target, getCanonicalFileName); for (const symlinkDirectory of symlinkDirectories) { - const option = resolvePath(symlinkDirectory, relative); + const option = resolvePath(symlinkDirectory, relative2); const result2 = cb(option, target === referenceRedirect); shouldFilterIgnoredPaths = true; if (result2) @@ -45100,9 +45121,9 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack importedFileName, host, true, - (path, isRedirect) => { - const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path) : pathContainsNodeModules(path); - allFileNames.set(path, { path: getCanonicalFileName(path), isRedirect, isInNodeModules }); + (path2, isRedirect) => { + const isInNodeModules = isOhpm(packageManagerType) ? pathContainsOHModules(path2) : pathContainsNodeModules(path2); + allFileNames.set(path2, { path: getCanonicalFileName(path2), isRedirect, isInNodeModules }); importedFileFromNodeModules = importedFileFromNodeModules || isInNodeModules; } ); @@ -45110,8 +45131,8 @@ function getAllModulePathsWorker(importingFileName, importedFileName, host, pack for (let directory = getDirectoryPath(importingFileName); allFileNames.size !== 0; ) { const directoryStart = ensureTrailingDirectorySeparator(directory); let pathsInDirectory; - allFileNames.forEach(({ path, isRedirect, isInNodeModules }, fileName) => { - if (startsWith(path, directoryStart)) { + allFileNames.forEach(({ path: path2, isRedirect, isInNodeModules }, fileName) => { + if (startsWith(path2, directoryStart)) { (pathsInDirectory || (pathsInDirectory = [])).push({ path: fileName, isRedirect, isInNodeModules }); allFileNames.delete(fileName); } @@ -45293,16 +45314,16 @@ function tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, } return getEmitModuleResolutionKind(compilerOptions) === 2 /* NodeJs */ ? removeExtensionAndIndexPostFix(shortest, ending, compilerOptions) : removeFileExtension(shortest); } -function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { +function tryGetModuleNameAsNodeModule({ path: path2, isRedirect }, { getCanonicalFileName, sourceDirectory }, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { if (!host.fileExists || !host.readFile) { return void 0; } - const parts = getNodeModulePathParts(path, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); + const parts = getNodeModulePathParts(path2, isOhpm(options.packageManagerType) ? ohModulesPathPart : nodeModulesPathPart); if (!parts) { return void 0; } const preferences = getPreferences(host, userPreferences, options, importingSourceFile); - let moduleSpecifier = path; + let moduleSpecifier = path2; let isPackageRootPath = false; if (!packageNameOnly) { let packageRootIndex = parts.packageRootIndex; @@ -45324,7 +45345,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa } if (!moduleFileName) moduleFileName = moduleFileToTry; - packageRootIndex = path.indexOf(directorySeparator, packageRootIndex + 1); + packageRootIndex = path2.indexOf(directorySeparator, packageRootIndex + 1); if (packageRootIndex === -1) { moduleSpecifier = removeExtensionAndIndexPostFix(moduleFileName, preferences.ending, options, host); break; @@ -45344,9 +45365,9 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return getEmitModuleResolutionKind(options) === 1 /* Classic */ && packageName === nodeModulesDirectoryName ? void 0 : packageName; function tryDirectoryWithPackageJson(packageRootIndex) { var _a2, _b; - const packageRootPath = path.substring(0, packageRootIndex); + const packageRootPath = path2.substring(0, packageRootIndex); const packageJsonPath = combinePaths(packageRootPath, getPackageJsonByPMType(options.packageManagerType)); - let moduleFileToTry = path; + let moduleFileToTry = path2; let maybeBlockedByTypesVersions = false; const cachedPackageJson = (_b = (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === void 0 && host.fileExists(packageJsonPath)) { @@ -45354,18 +45375,18 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa const importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */) { const conditions = ["node", importMode === 99 /* ESNext */ ? "import" : "require", "types"]; - const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; + const fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path2, packageRootPath, getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : void 0; if (fromExports) { const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) }; return { ...withJsExtension, verbatimFromExports: true }; } if (packageJsonContent.exports) { - return { moduleFileToTry: path, blockedByExports: true }; + return { moduleFileToTry: path2, blockedByExports: true }; } } const versionPaths = packageJsonContent.typesVersions ? getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions) : void 0; if (versionPaths) { - const subModuleName = path.slice(packageRootPath.length + 1); + const subModuleName = path2.slice(packageRootPath.length + 1); const fromPaths = tryGetModuleNameFromPaths( subModuleName, versionPaths.paths, @@ -45395,20 +45416,20 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa return { moduleFileToTry }; } } -function tryGetAnyFileFromPath(host, path) { +function tryGetAnyFileFromPath(host, path2) { if (!host.fileExists) return; const extensions = flatten(getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 /* JSON */ }])); for (const e of extensions) { - const fullPath = path + e; + const fullPath = path2 + e; if (host.fileExists(fullPath)) { return fullPath; } } } -function getPathsRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { +function getPathsRelativeToRootDirs(path2, rootDirs, getCanonicalFileName) { return mapDefined(rootDirs, (rootDir) => { - const relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + const relativePath = getRelativePathIfInDirectory(path2, rootDir, getCanonicalFileName); return relativePath !== void 0 && isPathRelativeToParent(relativePath) ? void 0 : relativePath; }); } @@ -45465,12 +45486,12 @@ function tryGetJSExtensionForFile(fileName, options) { return void 0; } } -function getRelativePathIfInDirectory(path, directoryPath, getCanonicalFileName) { - const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path, directoryPath, getCanonicalFileName, false); +function getRelativePathIfInDirectory(path2, directoryPath, getCanonicalFileName) { + const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path2, directoryPath, getCanonicalFileName, false); return isRootedDiskPath(relativePath) ? void 0 : relativePath; } -function isPathRelativeToParent(path) { - return startsWith(path, ".."); +function isPathRelativeToParent(path2) { + return startsWith(path2, ".."); } // src/compiler/checker.ts @@ -46141,8 +46162,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { clearConstEnumRelate: () => { constEnumRelate && constEnumRelate.clear(); }, - deleteConstEnumRelate: (path) => { - constEnumRelate && constEnumRelate.delete(path); + deleteConstEnumRelate: (path2) => { + constEnumRelate && constEnumRelate.delete(path2); }, isStaticRecord, getTypeArgumentsForResolvedSignature, @@ -50666,8 +50687,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { links.specifierCache.set(cacheKey, specifier); } return specifier; - function getSpecifierCacheKey(path, mode) { - return mode === void 0 ? path : `${mode}|${path}`; + function getSpecifierCacheKey(path2, mode) { + return mode === void 0 ? path2 : `${mode}|${path2}`; } } function symbolToEntityNameNode(symbol) { @@ -56485,10 +56506,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const text = identifier.escapedText; if (text) { const parentSymbol = name.kind === 165 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : name.kind === 211 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : void 0; - const path = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; - let result = unresolvedSymbols.get(path); + const path2 = parentSymbol ? `${getSymbolPath(parentSymbol)}.${text}` : text; + let result = unresolvedSymbols.get(path2); if (!result) { - unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); + unresolvedSymbols.set(path2, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); result.parent = parentSymbol; result.declaredType = unresolvedType; } @@ -60223,24 +60244,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return; } - let path = ""; + let path2 = ""; const secondaryRootErrors = []; while (stack.length) { const [msg, ...args] = stack.pop(); switch (msg.code) { case Diagnostics.Types_of_property_0_are_incompatible.code: { - if (path.indexOf("new ") === 0) { - path = `(${path})`; + if (path2.indexOf("new ") === 0) { + path2 = `(${path2})`; } const str = "" + args[0]; - if (path.length === 0) { - path = `${str}`; + if (path2.length === 0) { + path2 = `${str}`; } else if (isIdentifierText(str, getEmitScriptTarget(compilerOptions))) { - path = `${path}.${str}`; + path2 = `${path2}.${str}`; } else if (str[0] === "[" && str[str.length - 1] === "]") { - path = `${path}${str}`; + path2 = `${path2}${str}`; } else { - path = `${path}[${str}]`; + path2 = `${path2}[${str}]`; } break; } @@ -60248,7 +60269,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code: case Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: case Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: { - if (path.length === 0) { + if (path2.length === 0) { let mappedMsg = msg; if (msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) { mappedMsg = Diagnostics.Call_signature_return_types_0_and_1_are_incompatible; @@ -60259,7 +60280,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } else { const prefix = msg.code === Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : ""; const params = msg.code === Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || msg.code === Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "..."; - path = `${prefix}${path}(${params})`; + path2 = `${prefix}${path2}(${params})`; } break; } @@ -60275,10 +60296,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return Debug.fail(`Unhandled Diagnostic: ${msg.code}`); } } - if (path) { + if (path2) { reportError( - path[path.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, - path + path2[path2.length - 1] === ")" ? Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types : Diagnostics.The_types_of_0_are_incompatible_between_these_types, + path2 ); } else { secondaryRootErrors.shift(); @@ -70463,7 +70484,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const sourceFileNamePath = getSourceFileOfNode(declaration).fileName.replace(/\\/g, "/"); const SKIPPED_PATHS = ["/node_modules/", "/oh_modules/", "/js_util_module/"]; const skipSdkPathReg = /\/sdk\/default\/(openharmony|hms)\/ets\//; - if (SKIPPED_PATHS.some((path) => sourceFileNamePath.includes(path))) { + if (SKIPPED_PATHS.some((path2) => sourceFileNamePath.includes(path2))) { return false; } const isSDKPath = skipSdkPathReg.test(sourceFileNamePath); @@ -101702,9 +101723,9 @@ function getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSou function createAddOutput() { let outputs; return { addOutput, getOutputs }; - function addOutput(path) { - if (path) { - (outputs || (outputs = [])).push(path); + function addOutput(path2) { + if (path2) { + (outputs || (outputs = [])).push(path2); } } function getOutputs() { @@ -101880,8 +101901,8 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla emittedFilesList.push(declarationMapPath); } } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, host.getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, host.getCanonicalFileName)); } } function emitBuildInfo(bundle, buildInfoPath) { @@ -106558,7 +106579,7 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return { useCaseSensitiveFileNames, fileExists, - readFile: (path, encoding) => host.readFile(path, encoding), + readFile: (path2, encoding) => host.readFile(path2, encoding), directoryExists: host.directoryExists && directoryExists, getDirectories, readDirectory, @@ -106575,8 +106596,8 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi function getCachedFileSystemEntries(rootDirPath) { return cachedReadDirectoryResult.get(ensureTrailingDirectorySeparator(rootDirPath)); } - function getCachedFileSystemEntriesForBaseDir(path) { - const entries = getCachedFileSystemEntries(getDirectoryPath(path)); + function getCachedFileSystemEntriesForBaseDir(path2) { + const entries = getCachedFileSystemEntries(getDirectoryPath(path2)); if (!entries) { return entries; } @@ -106623,25 +106644,25 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi return index >= 0; } function writeFile2(fileName, data, writeByteOrderMark) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { updateFilesOfFileSystemEntry(result, getBaseNameOfFileName(fileName), true); } return host.writeFile(fileName, data, writeByteOrderMark); } function fileExists(fileName) { - const path = toPath3(fileName); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(fileName); + const result = getCachedFileSystemEntriesForBaseDir(path2); return result && hasEntry(result.sortedAndCanonicalizedFiles, getCanonicalFileName(getBaseNameOfFileName(fileName))) || host.fileExists(fileName); } function directoryExists(dirPath) { - const path = toPath3(dirPath); - return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path)) || host.directoryExists(dirPath); + const path2 = toPath3(dirPath); + return cachedReadDirectoryResult.has(ensureTrailingDirectorySeparator(path2)) || host.directoryExists(dirPath); } function createDirectory(dirPath) { - const path = toPath3(dirPath); - const result = getCachedFileSystemEntriesForBaseDir(path); + const path2 = toPath3(dirPath); + const result = getCachedFileSystemEntriesForBaseDir(path2); if (result) { const baseName = getBaseNameOfFileName(dirPath); const canonicalizedBaseName = getCanonicalFileName(baseName); @@ -106669,21 +106690,21 @@ function createCachedDirectoryStructureHost(host, currentDirectory, useCaseSensi } return host.readDirectory(rootDir, extensions, excludes, includes, depth); function getFileSystemEntries(dir) { - const path = toPath3(dir); - if (path === rootDirPath) { - return rootResult || getFileSystemEntriesFromHost(dir, path); + const path2 = toPath3(dir); + if (path2 === rootDirPath) { + return rootResult || getFileSystemEntriesFromHost(dir, path2); } - const result = tryReadDirectory2(dir, path); - return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path) : emptyFileSystemEntries; + const result = tryReadDirectory2(dir, path2); + return result !== void 0 ? result || getFileSystemEntriesFromHost(dir, path2) : emptyFileSystemEntries; } - function getFileSystemEntriesFromHost(dir, path) { - if (rootSymLinkResult && path === rootDirPath) + function getFileSystemEntriesFromHost(dir, path2) { + if (rootSymLinkResult && path2 === rootDirPath) return rootSymLinkResult; const result = { files: map(host.readDirectory(dir, void 0, void 0, ["*.*"]), getBaseNameOfFileName) || emptyArray, directories: host.getDirectories(dir) || emptyArray }; - if (path === rootDirPath) + if (path2 === rootDirPath) rootSymLinkResult = result; return result; } @@ -107076,9 +107097,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { fileName, data, writeByteOrderMark, - (path, data2, writeByteOrderMark2) => system.writeFile(path, data2, writeByteOrderMark2), - (path) => (compilerHost.createDirectory || system.createDirectory)(path), - (path) => directoryExists(path) + (path2, data2, writeByteOrderMark2) => system.writeFile(path2, data2, writeByteOrderMark2), + (path2) => (compilerHost.createDirectory || system.createDirectory)(path2), + (path2) => directoryExists(path2) ); mark("afterIOWrite"); measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -107092,7 +107113,7 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { return getDirectoryPath(normalizePath(system.getExecutingFilePath())); } const newLine = getNewLineCharacter(options, () => system.newLine); - const realpath = system.realpath && ((path) => system.realpath(path)); + const realpath = system.realpath && ((path2) => system.realpath(path2)); const compilerHost = { getSourceFile, getDefaultLibLocation, @@ -107107,9 +107128,9 @@ function createCompilerHostWorker(options, setParentNodes, system = sys) { trace: (s) => system.write(s + newLine), directoryExists: (directoryName) => system.directoryExists(directoryName), getEnvironmentVariable: (name) => system.getEnvironmentVariable ? system.getEnvironmentVariable(name) : "", - getDirectories: (path) => system.getDirectories(path), + getDirectories: (path2) => system.getDirectories(path2), realpath, - readDirectory: (path, extensions, include, exclude, depth) => system.readDirectory(path, extensions, include, exclude, depth), + readDirectory: (path2, extensions, include, exclude, depth) => system.readDirectory(path2, extensions, include, exclude, depth), createDirectory: (d) => system.createDirectory(d), createHash: maybeBind(system, system.createHash) }; @@ -107905,7 +107926,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } } PerformanceDotting.stop("processDefaultLib"); - missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path, file]) => file === void 0 ? path : void 0)); + missingFilePaths = arrayFrom(mapDefinedIterator(filesByName.entries(), ([path2, file]) => file === void 0 ? path2 : void 0)); files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); processingDefaultLibFiles = void 0; processingOtherFiles = void 0; @@ -108418,18 +108439,18 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config filesByName.set(newSourceFile.path, newSourceFile); } const oldFilesByNameMap = oldProgram.getFilesByNameMap(); - oldFilesByNameMap.forEach((oldFile, path) => { + oldFilesByNameMap.forEach((oldFile, path2) => { if (!oldFile) { - filesByName.set(path, oldFile); + filesByName.set(path2, oldFile); return; } - if (oldFile.path === path) { + if (oldFile.path === path2) { if (oldProgram.isSourceFileFromExternalLibrary(oldFile)) { sourceFilesFoundSearchingNodeModules.set(oldFile.path, true); } return; } - filesByName.set(path, filesByName.get(oldFile.path)); + filesByName.set(path2, filesByName.get(oldFile.path)); }); files = newSourceFiles; fileReasons = oldProgram.getFileIncludeReasons(); @@ -108461,10 +108482,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config isEmitBlocked, readFile: (f) => host.readFile(f), fileExists: (f) => { - const path = toPath3(f); - if (getSourceFileByPath(path)) + const path2 = toPath3(f); + if (getSourceFileByPath(path2)) return true; - if (contains(missingFilePaths, path)) + if (contains(missingFilePaths, path2)) return false; return host.fileExists(f); }, @@ -108512,9 +108533,9 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config return (_a3 = resolvedProjectReferences[index]) == null ? void 0 : _a3.commandLine; }, (fileName) => { - const path = toPath3(fileName); - const sourceFile = getSourceFileByPath(path); - return sourceFile ? sourceFile.text : filesByName.has(path) ? void 0 : host.readFile(path); + const path2 = toPath3(fileName); + const sourceFile = getSourceFileByPath(path2); + return sourceFile ? sourceFile.text : filesByName.has(path2) ? void 0 : host.readFile(path2); } ); } @@ -108633,8 +108654,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function getSourceFile(fileName) { return getSourceFileByPath(toPath3(fileName)); } - function getSourceFileByPath(path) { - return filesByName.get(path) || void 0; + function getSourceFileByPath(path2) { + return filesByName.get(path2) || void 0; } function getDiagnosticsHelper(sourceFile, getDiagnostics2, cancellationToken) { if (sourceFile) { @@ -109243,17 +109264,17 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config addFilePreprocessingFileExplainingDiagnostic(existingFile, reason, Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [fileName, existingFile.fileName]); } } - function createRedirectSourceFile(redirectTarget, unredirected, fileName, path, resolvedPath, originalFileName, sourceFileOptions) { + function createRedirectSourceFile(redirectTarget, unredirected, fileName, path2, resolvedPath, originalFileName, sourceFileOptions) { var _a3; const redirect = Object.create(redirectTarget); redirect.fileName = fileName; - redirect.path = path; + redirect.path = path2; redirect.resolvedPath = resolvedPath; redirect.originalFileName = originalFileName; redirect.redirectInfo = { redirectTarget, unredirected }; redirect.packageJsonLocations = ((_a3 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _a3.length) ? sourceFileOptions.packageJsonLocations : void 0; redirect.packageJsonScope = sourceFileOptions.packageJsonScope; - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); Object.defineProperties(redirect, { id: { get() { @@ -109293,25 +109314,25 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function findSourceFileWorker(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { var _a3, _b2; - const path = toPath3(fileName); + const path2 = toPath3(fileName); if (useSourceOfProjectReferenceRedirect) { - let source = getSourceOfProjectReferenceRedirect(path); + let source = getSourceOfProjectReferenceRedirect(path2); const modulesPathPart = getModulePathPartByPMType(options.packageManagerType); if (!source && host.realpath && options.preserveSymlinks && isDeclarationFileName(fileName) && stringContains(fileName, modulesPathPart)) { const realPath2 = toPath3(host.realpath(fileName)); - if (realPath2 !== path) + if (realPath2 !== path2) source = getSourceOfProjectReferenceRedirect(realPath2); } if (source) { const file2 = isString(source) ? findSourceFile(source, isDefaultLib, ignoreNoDefaultLib, reason, packageId) : void 0; if (file2) - addFileToFilesByName(file2, path, void 0); + addFileToFilesByName(file2, path2, void 0); return file2; } } const originalFileName = fileName; - if (filesByName.has(path)) { - const file2 = filesByName.get(path); + if (filesByName.has(path2)) { + const file2 = filesByName.get(path2); addFileIncludeReason(file2 || void 0, reason); if (file2 && options.forceConsistentCasingInFileNames) { const checkedName = file2.fileName; @@ -109370,30 +109391,30 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config const packageIdKey = packageIdToString(packageId); const fileFromPackageId = packageIdToSourceFile.get(packageIdKey); if (fileFromPackageId) { - const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path, toPath3(fileName), originalFileName, sourceFileOptions); + const dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path2, toPath3(fileName), originalFileName, sourceFileOptions); redirectTargetsMap.add(fileFromPackageId.path, fileName); - addFileToFilesByName(dupFile, path, redirectedPath); + addFileToFilesByName(dupFile, path2, redirectedPath); addFileIncludeReason(dupFile, reason); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); processingOtherFiles.push(dupFile); return dupFile; } else if (file) { packageIdToSourceFile.set(packageIdKey, file); - sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); + sourceFileToPackageName.set(path2, packageIdToPackageName(packageId)); } } - addFileToFilesByName(file, path, redirectedPath); + addFileToFilesByName(file, path2, redirectedPath); if (file) { - sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); + sourceFilesFoundSearchingNodeModules.set(path2, currentNodeModulesDepth > 0); file.fileName = fileName; - file.path = path; + file.path = path2; file.resolvedPath = toPath3(fileName); file.originalFileName = originalFileName; file.packageJsonLocations = ((_b2 = sourceFileOptions.packageJsonLocations) == null ? void 0 : _b2.length) ? sourceFileOptions.packageJsonLocations : void 0; file.packageJsonScope = sourceFileOptions.packageJsonScope; addFileIncludeReason(file, reason); if (host.useCaseSensitiveFileNames()) { - const pathLowerCase = toFileNameLowerCase(path); + const pathLowerCase = toFileNameLowerCase(path2); const existingFile = filesByNameIgnoreCase.get(pathLowerCase); if (existingFile) { reportFileNamesDifferOnlyInCasingError(fileName, existingFile, reason); @@ -109422,12 +109443,12 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config if (file) fileReasons.add(file.path, reason); } - function addFileToFilesByName(file, path, redirectedPath) { + function addFileToFilesByName(file, path2, redirectedPath) { if (redirectedPath) { filesByName.set(redirectedPath, file); - filesByName.set(path, file || false); + filesByName.set(path2, file || false); } else { - filesByName.set(path, file); + filesByName.set(path2, file); } } function getProjectReferenceRedirect(fileName) { @@ -109459,8 +109480,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config function forEachResolvedProjectReference2(cb) { return forEachResolvedProjectReference(resolvedProjectReferences, cb); } - function getSourceOfProjectReferenceRedirect(path) { - if (!isDeclarationFileName(path)) + function getSourceOfProjectReferenceRedirect(path2) { + if (!isDeclarationFileName(path2)) return void 0; if (mapFromToProjectReferenceRedirectSource === void 0) { mapFromToProjectReferenceRedirectSource = new Map2(); @@ -109480,7 +109501,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } }); } - return mapFromToProjectReferenceRedirectSource.get(path); + return mapFromToProjectReferenceRedirectSource.get(path2); } function isSourceOfProjectReferenceRedirect(fileName) { return useSourceOfProjectReferenceRedirect && !!getResolvedProjectReferenceToRedirect(fileName); @@ -109569,15 +109590,15 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config } function pathForLibFile(libFileName) { const components = libFileName.split("."); - let path = components[1]; + let path2 = components[1]; let i = 2; while (components[i] && components[i] !== "d") { - path += (i === 2 ? "/" : "-") + components[i]; + path2 += (i === 2 ? "/" : "-") + components[i]; i++; } const modulePathType = getModuleByPMType(options.packageManagerType); const resolveFrom = combinePaths(currentDirectory, `__lib_${modulePathType}_lookup_${libFileName}__.ts`); - const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); + const localOverrideModuleResult = resolveModuleName("@typescript/lib-" + path2, resolveFrom, { moduleResolution: 2 /* NodeJs */ }, host, moduleResolutionCache); if (localOverrideModuleResult == null ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; } @@ -110281,9 +110302,9 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { host.compilerHost.fileExists = fileExists; let directoryExists; if (originalDirectoryExists) { - directoryExists = host.compilerHost.directoryExists = (path) => { - if (originalDirectoryExists.call(host.compilerHost, path)) { - handleDirectoryCouldBeSymlink(path); + directoryExists = host.compilerHost.directoryExists = (path2) => { + if (originalDirectoryExists.call(host.compilerHost, path2)) { + handleDirectoryCouldBeSymlink(path2); return true; } if (!host.getResolvedProjectReferences()) @@ -110302,11 +110323,11 @@ function updateHostForUseSourceOfProjectReferenceRedirect(host) { } }); } - return fileOrDirectoryExistsUsingSource(path, false); + return fileOrDirectoryExistsUsingSource(path2, false); }; } if (originalGetDirectories) { - host.compilerHost.getDirectories = (path) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path) ? originalGetDirectories.call(host.compilerHost, path) : []; + host.compilerHost.getDirectories = (path2) => !host.getResolvedProjectReferences() || originalDirectoryExists && originalDirectoryExists.call(host.compilerHost, path2) ? originalGetDirectories.call(host.compilerHost, path2) : []; } if (originalRealpath) { host.compilerHost.realpath = (s) => { @@ -110700,12 +110721,12 @@ var BuilderState; state.allFileNames = void 0; } BuilderState2.releaseCache = releaseCache2; - function getFilesAffectedBy(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { + function getFilesAffectedBy(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { var _a2, _b; const result = getFilesAffectedByWithOldState( state, programOfThisState, - path, + path2, cancellationToken, computeHash, getCanonicalFileName @@ -110715,8 +110736,8 @@ var BuilderState; return result; } BuilderState2.getFilesAffectedBy = getFilesAffectedBy; - function getFilesAffectedByWithOldState(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { - const sourceFile = programOfThisState.getSourceFileByPath(path); + function getFilesAffectedByWithOldState(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { + const sourceFile = programOfThisState.getSourceFileByPath(path2); if (!sourceFile) { return emptyArray; } @@ -110726,9 +110747,9 @@ var BuilderState; return (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName); } BuilderState2.getFilesAffectedByWithOldState = getFilesAffectedByWithOldState; - function updateSignatureOfFile(state, signature, path) { - state.fileInfos.get(path).signature = signature; - (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path); + function updateSignatureOfFile(state, signature, path2) { + state.fileInfos.get(path2).signature = signature; + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path2); } BuilderState2.updateSignatureOfFile = updateSignatureOfFile; function updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName, useFileVersionAsSignature = state.useFileVersionAsSignature) { @@ -110798,7 +110819,7 @@ var BuilderState; if (!exportedModules) { exportedModules = new Set2(); } - exportedModulePaths.forEach((path) => exportedModules.add(path)); + exportedModulePaths.forEach((path2) => exportedModules.add(path2)); } } } @@ -110814,10 +110835,10 @@ var BuilderState; const seenMap = new Set2(); const queue = [sourceFile.resolvedPath]; while (queue.length) { - const path = queue.pop(); - if (!seenMap.has(path)) { - seenMap.add(path); - const references = state.referencedMap.getValues(path); + const path2 = queue.pop(); + if (!seenMap.has(path2)) { + seenMap.add(path2); + const references = state.referencedMap.getValues(path2); if (references) { const iterator = references.keys(); for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) { @@ -110826,9 +110847,9 @@ var BuilderState; } } } - return arrayFrom(mapDefinedIterator(seenMap.keys(), (path) => { + return arrayFrom(mapDefinedIterator(seenMap.keys(), (path2) => { var _a2, _b; - return (_b = (_a2 = programOfThisState.getSourceFileByPath(path)) == null ? void 0 : _a2.fileName) != null ? _b : path; + return (_b = (_a2 = programOfThisState.getSourceFileByPath(path2)) == null ? void 0 : _a2.fileName) != null ? _b : path2; })); } BuilderState2.getAllDependencies = getAllDependencies; @@ -110961,7 +110982,7 @@ function createBuilderProgramState(newProgram, getCanonicalFileName, oldState, d var _a3, _b2; let oldInfo; let newReferences; - if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path) => !state.fileInfos.has(path) && oldState.fileInfos.has(path))) { + if (!useOldState || !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || oldInfo.version !== info.version || oldInfo.impliedFormat !== info.impliedFormat || !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || newReferences && forEachKey(newReferences, (path2) => !state.fileInfos.has(path2) && oldState.fileInfos.has(path2))) { state.changedFilesSet.add(sourceFilePath); } else if (canCopySemanticDiagnostics) { const sourceFile = newProgram.getSourceFileByPath(sourceFilePath); @@ -111026,8 +111047,8 @@ function convertToDiagnostics(diagnostics, newProgram, getCanonicalFileName) { result.relatedInformation = relatedInformation ? relatedInformation.length ? relatedInformation.map((r) => convertToDiagnosticRelatedInformation(r, newProgram, toPath3)) : [] : void 0; return result; }); - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } } function convertToDiagnosticRelatedInformation(diagnostic, newProgram, toPath3) { @@ -111186,11 +111207,11 @@ function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken host ); } -function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCanonicalFileName, host) { - removeSemanticDiagnosticsOf(state, path); - if (!state.changedFilesSet.has(path)) { +function handleDtsMayChangeOf(state, path2, cancellationToken, computeHash, getCanonicalFileName, host) { + removeSemanticDiagnosticsOf(state, path2); + if (!state.changedFilesSet.has(path2)) { const program = Debug.checkDefined(state.program); - const sourceFile = program.getSourceFileByPath(path); + const sourceFile = program.getSourceFileByPath(path2); if (sourceFile) { BuilderState.updateShapeSignature( state, @@ -111202,22 +111223,22 @@ function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCa !host.disableUseFileVersionAsSignature ); if (getEmitDeclarations(state.compilerOptions)) { - addToAffectedFilesPendingEmit(state, path, 0 /* DtsOnly */); + addToAffectedFilesPendingEmit(state, path2, 0 /* DtsOnly */); } } } } -function removeSemanticDiagnosticsOf(state, path) { +function removeSemanticDiagnosticsOf(state, path2) { if (!state.semanticDiagnosticsFromOldState) { return true; } - state.semanticDiagnosticsFromOldState.delete(path); - state.semanticDiagnosticsPerFile.delete(path); + state.semanticDiagnosticsFromOldState.delete(path2); + state.semanticDiagnosticsPerFile.delete(path2); return !state.semanticDiagnosticsFromOldState.size; } -function isChangedSignature(state, path) { - const oldSignature = Debug.checkDefined(state.oldSignatures).get(path) || void 0; - const newSignature = Debug.checkDefined(state.fileInfos.get(path)).signature; +function isChangedSignature(state, path2) { + const oldSignature = Debug.checkDefined(state.oldSignatures).get(path2) || void 0; + const newSignature = Debug.checkDefined(state.fileInfos.get(path2)).signature; return newSignature !== oldSignature; } function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host) { @@ -111342,25 +111363,25 @@ function getSemanticDiagnosticsOfFile(state, sourceFile, cancellationToken) { ); } function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationToken) { - const path = sourceFile.resolvedPath; + const path2 = sourceFile.resolvedPath; if (state.semanticDiagnosticsPerFile) { - const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path); + const cachedDiagnostics = state.semanticDiagnosticsPerFile.get(path2); if (cachedDiagnostics) { return filterSemanticDiagnostics(cachedDiagnostics, state.compilerOptions); } } const diagnostics = Debug.checkDefined(state.program).getBindAndCheckDiagnostics(sourceFile, cancellationToken, state.isForLinter); if (state.semanticDiagnosticsPerFile) { - state.semanticDiagnosticsPerFile.set(path, diagnostics); + state.semanticDiagnosticsPerFile.set(path2, diagnostics); } if (state.constEnumRelatePerFile) { let checker = Debug.checkDefined(state.program).getTypeChecker(); - let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path) : void 0; + let newCache = checker.getConstEnumRelate ? checker.getConstEnumRelate().get(path2) : void 0; if (newCache) { - let oldCache = state.constEnumRelatePerFile.get(path); + let oldCache = state.constEnumRelatePerFile.get(path2); if (!oldCache) { if (newCache.size > 0) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } else { let isEqual = true; @@ -111380,10 +111401,10 @@ function getBinderAndCheckerDiagnosticsOfFile(state, sourceFile, cancellationTok }); } if (!isEqual) { - state.constEnumRelatePerFile.set(path, { isUpdate: true, cache: newCache }); + state.constEnumRelatePerFile.set(path2, { isUpdate: true, cache: newCache }); } } - checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path); + checker.deleteConstEnumRelate && checker.deleteConstEnumRelate(path2); } } return filterSemanticDiagnostics(diagnostics, state.compilerOptions); @@ -111485,16 +111506,16 @@ function getProgramBuildInfo(state, getCanonicalFileName) { let affectedFilesPendingEmit; if (state.affectedFilesPendingEmit) { const seenFiles = new Set2(); - for (const path of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { - if (tryAddToSet(seenFiles, path)) { - (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path), state.affectedFilesPendingEmitKind.get(path)]); + for (const path2 of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { + if (tryAddToSet(seenFiles, path2)) { + (affectedFilesPendingEmit || (affectedFilesPendingEmit = [])).push([toFileId(path2), state.affectedFilesPendingEmitKind.get(path2)]); } } } let changeFileSet; if (state.changedFilesSet.size) { - for (const path of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { - (changeFileSet || (changeFileSet = [])).push(toFileId(path)); + for (const path2 of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { + (changeFileSet || (changeFileSet = [])).push(toFileId(path2)); } } let constEnumRelateCache = {}; @@ -111534,17 +111555,17 @@ function getProgramBuildInfo(state, getCanonicalFileName) { result.constEnumRelateCache = constEnumRelateCache; } return result; - function relativeToBuildInfoEnsuringAbsolutePath(path) { - return relativeToBuildInfo(getNormalizedAbsolutePath(path, currentDirectory)); + function relativeToBuildInfoEnsuringAbsolutePath(path2) { + return relativeToBuildInfo(getNormalizedAbsolutePath(path2, currentDirectory)); } - function relativeToBuildInfo(path) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path, getCanonicalFileName)); + function relativeToBuildInfo(path2) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(buildInfoDirectory, path2, getCanonicalFileName)); } - function toFileId(path) { - let fileId = fileNameToFileId.get(path); + function toFileId(path2) { + let fileId = fileNameToFileId.get(path2); if (fileId === void 0) { - fileNames.push(relativeToBuildInfo(path)); - fileNameToFileId.set(path, fileId = fileNames.length); + fileNames.push(relativeToBuildInfo(path2)); + fileNameToFileId.set(path2, fileId = fileNames.length); } return fileId; } @@ -111852,7 +111873,7 @@ function createBuilderProgram(kind, { newProgram, host, oldProgram, configFilePa }; } else if ((_a2 = state.affectedFilesPendingEmitKind) == null ? void 0 : _a2.size) { Debug.assert(kind === 0 /* SemanticDiagnosticsBuilderProgram */); - if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path) === 0 /* DtsOnly */)) { + if (!emitOnlyDtsFiles || every(state.affectedFilesPendingEmit, (path2, index) => index < state.affectedFilesPendingEmitIndex || state.affectedFilesPendingEmitKind.get(path2) === 0 /* DtsOnly */)) { clearAffectedFilesPendingEmit(state); } } @@ -111957,11 +111978,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) const fileInfos = new Map2(); const emitSignatures = ((_c = program.options) == null ? void 0 : _c.composite) && !outFile(program.options) ? new Map2() : void 0; program.fileInfos.forEach((fileInfo, index) => { - const path = toFilePath(index + 1); + const path2 = toFilePath(index + 1); const stateFileInfo = toBuilderStateFileInfo(fileInfo); - fileInfos.set(path, stateFileInfo); + fileInfos.set(path2, stateFileInfo); if (emitSignatures && stateFileInfo.signature) - emitSignatures.set(path, stateFileInfo.signature); + emitSignatures.set(path2, stateFileInfo.signature); }); (_d = program.emitSignatures) == null ? void 0 : _d.forEach((value) => { if (isNumber(value)) @@ -112033,11 +112054,11 @@ function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) close: noop, hasChangedEmitSignature: returnFalse }; - function toPath3(path) { - return toPath(path, buildInfoDirectory, getCanonicalFileName); + function toPath3(path2) { + return toPath(path2, buildInfoDirectory, getCanonicalFileName); } - function toAbsolutePath(path) { - return getNormalizedAbsolutePath(path, buildInfoDirectory); + function toAbsolutePath(path2) { + return getNormalizedAbsolutePath(path2, buildInfoDirectory); } function toFilePath(fileId) { return filePaths[fileId - 1]; @@ -112061,9 +112082,9 @@ function getBuildInfoFileVersionMap(program, buildInfoPath, host) { const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames()); const fileInfos = new Map2(); program.fileInfos.forEach((fileInfo, index) => { - const path = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); + const path2 = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); const version2 = isString(fileInfo) ? fileInfo : fileInfo.version; - fileInfos.set(path, version2); + fileInfos.set(path2, version2); }); return fileInfos; } @@ -112141,11 +112162,11 @@ function createAbstractBuilder(newProgramOrRootNames, hostOrOptions, oldProgramO } // src/compiler/resolutionCache.ts -function removeIgnoredPath(path) { - if (endsWith(path, "/node_modules/.staging") || endsWith(path, "/oh_modules/.staging")) { - return removeSuffix(path, "/.staging"); +function removeIgnoredPath(path2) { + if (endsWith(path2, "/node_modules/.staging") || endsWith(path2, "/oh_modules/.staging")) { + return removeSuffix(path2, "/.staging"); } - return some(ignoredPaths, (searchPath) => stringContains(path, searchPath)) ? void 0 : path; + return some(ignoredPaths, (searchPath) => stringContains(path2, searchPath)) ? void 0 : path2; } function canWatchDirectoryOrFile(dirPath) { const rootLength = getRootLength(dirPath); @@ -112282,18 +112303,18 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW filesWithChangedSetOfUnresolvedImports = void 0; return collected; } - function isFileWithInvalidatedNonRelativeUnresolvedImports(path) { + function isFileWithInvalidatedNonRelativeUnresolvedImports(path2) { if (!filesWithInvalidatedNonRelativeUnresolvedImports) { return false; } - const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); + const value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path2); return !!value && !!value.length; } function createHasInvalidatedResolutions(customHasInvalidatedResolutions) { invalidateResolutionsOfFailedLookupLocations(); const collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = void 0; - return (path) => customHasInvalidatedResolutions(path) || !!(collected == null ? void 0 : collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); + return (path2) => customHasInvalidatedResolutions(path2) || !!(collected == null ? void 0 : collected.has(path2)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path2); } function startCachingPerDirectoryResolution() { moduleResolutionCache.clearAllExceptPackageJsonInfoCache(); @@ -112323,22 +112344,22 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW else impliedFormatPackageJsons.delete(newFile.path); }); - impliedFormatPackageJsons.forEach((existing, path) => { - if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path))) { + impliedFormatPackageJsons.forEach((existing, path2) => { + if (!(newProgram == null ? void 0 : newProgram.getSourceFileByPath(path2))) { existing.forEach((location) => fileWatchesOfAffectingLocations.get(location).files--); - impliedFormatPackageJsons.delete(path); + impliedFormatPackageJsons.delete(path2); } }); } - directoryWatchesOfFailedLookups.forEach((watcher, path) => { + directoryWatchesOfFailedLookups.forEach((watcher, path2) => { if (watcher.refCount === 0) { - directoryWatchesOfFailedLookups.delete(path); + directoryWatchesOfFailedLookups.delete(path2); watcher.watcher.close(); } }); - fileWatchesOfAffectingLocations.forEach((watcher, path) => { + fileWatchesOfAffectingLocations.forEach((watcher, path2) => { if (watcher.files === 0 && watcher.resolutions === 0) { - fileWatchesOfAffectingLocations.delete(path); + fileWatchesOfAffectingLocations.delete(path2); watcher.watcher.close(); } }); @@ -112386,9 +112407,9 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW containingSourceFileMode }) { var _a2, _b, _c; - const path = resolutionHost.toPath(containingFile); - const resolutionsInFile = cache.get(path) || cache.set(path, createModeAwareCache()).get(path); - const dirPath = getDirectoryPath(path); + const path2 = resolutionHost.toPath(containingFile); + const resolutionsInFile = cache.get(path2) || cache.set(path2, createModeAwareCache()).get(path2); + const dirPath = getDirectoryPath(path2); const perDirectoryCache = perDirectoryCacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference); let perDirectoryResolution = perDirectoryCache.get(dirPath); if (!perDirectoryResolution) { @@ -112397,7 +112418,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } const resolvedModules = []; const compilerOptions = resolutionHost.getCompilationSettings(); - const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path); + const hasInvalidatedNonRelativeUnresolvedImport = logChanges && isFileWithInvalidatedNonRelativeUnresolvedImports(path2); const program = resolutionHost.getCurrentProgram(); const oldRedirect = program && program.getResolvedProjectReferenceToRedirect(containingFile); const unmatchedRedirects = oldRedirect ? !redirectedReference || redirectedReference.sourceFile.path !== oldRedirect.sourceFile.path : !!redirectedReference; @@ -112434,12 +112455,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } } resolutionsInFile.set(name, mode, resolution); - watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path, getResolutionWithResolvedFileName); + watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path2, getResolutionWithResolvedFileName); if (existingResolution) { - stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(existingResolution, path2, getResolutionWithResolvedFileName); } if (logChanges && filesWithChangedSetOfUnresolvedImports && !resolutionIsEqualTo(existingResolution, resolution)) { - filesWithChangedSetOfUnresolvedImports.push(path); + filesWithChangedSetOfUnresolvedImports.push(path2); logChanges = false; } } else { @@ -112462,7 +112483,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } resolutionsInFile.forEach((resolution, name, mode) => { if (!seenNamesInFile.has(name, mode) && !contains(reusedNames, name)) { - stopWatchFailedLookupLocationOfResolution(resolution, path, getResolutionWithResolvedFileName); + stopWatchFailedLookupLocationOfResolution(resolution, path2, getResolutionWithResolvedFileName); resolutionsInFile.delete(name, mode); } }); @@ -112572,8 +112593,8 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW } return canWatchDirectoryOrFile(dirPath) ? { dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath, nonRecursive } : void 0; } - function isPathWithDefaultFailedLookupExtension(path) { - return fileExtensionIsOneOf(path, failedLookupDefaultExtensions); + function isPathWithDefaultFailedLookupExtension(path2) { + return fileExtensionIsOneOf(path2, failedLookupDefaultExtensions); } function watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, filePath, getResolutionWithResolvedFileName) { if (resolution.refCount) { @@ -112665,12 +112686,12 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW let actualWatcher = canWatchDirectoryOrFile(resolutionHost.toPath(locationToWatch)) ? resolutionHost.watchAffectingFileLocation(locationToWatch, (fileName, eventKind) => { cachedDirectoryStructureHost == null ? void 0 : cachedDirectoryStructureHost.addOrDeleteFile(fileName, resolutionHost.toPath(locationToWatch), eventKind); const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); - paths.forEach((path) => { + paths.forEach((path2) => { if (watcher.resolutions) - (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path); + (affectingPathChecks != null ? affectingPathChecks : affectingPathChecks = new Set2()).add(path2); if (watcher.files) - (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path); - packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path)); + (affectingPathChecksForFile != null ? affectingPathChecksForFile : affectingPathChecksForFile = new Set2()).add(path2); + packageJsonMap == null ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path2)); }); resolutionHost.scheduleInvalidateResolutionsOfFailedLookupLocations(); }) : noopFileWatcher; @@ -112863,7 +112884,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW invalidated = invalidateResolutions(resolutionsWithFailedLookups, canInvalidateFailedLookupResolution) || invalidated; const packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); if (packageJsonMap && (failedLookupChecks || startsWithPathChecks || isInDirectoryChecks)) { - packageJsonMap.forEach((_value, path) => isInvalidatedFailedLookup(path) ? packageJsonMap.delete(path) : void 0); + packageJsonMap.forEach((_value, path2) => isInvalidatedFailedLookup(path2) ? packageJsonMap.delete(path2) : void 0); } failedLookupChecks = void 0; startsWithPathChecks = void 0; @@ -113179,7 +113200,7 @@ function fileIncludeReasonToDiagnostics(program, reason, fileNameConvertor) { var _a2, _b; const options = program.getCompilerOptions(); if (isReferencedFile(reason)) { - const referenceLocation = getReferencedFileLocation((path) => program.getSourceFileByPath(path), reason); + const referenceLocation = getReferencedFileLocation((path2) => program.getSourceFileByPath(path2), reason); const referenceText = isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : `"${referenceLocation.text}"`; let message; Debug.assert(isReferenceFileLocation(referenceLocation) || reason.kind === 3 /* Import */, "Only synthetic references are imports"); @@ -113408,9 +113429,9 @@ function createCompilerHostFromProgramHost(host, getCompilerOptions, directorySt fileName, text, writeByteOrderMark, - (path, data, writeByteOrderMark2) => host.writeFile(path, data, writeByteOrderMark2), - (path) => host.createDirectory(path), - (path) => host.directoryExists(path) + (path2, data, writeByteOrderMark2) => host.writeFile(path2, data, writeByteOrderMark2), + (path2) => host.createDirectory(path2), + (path2) => host.directoryExists(path2) ); performance.mark("afterIOWrite"); performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); @@ -113440,16 +113461,16 @@ function createProgramHost(system, createProgram2) { getCurrentDirectory: memoize(() => system.getCurrentDirectory()), getDefaultLibLocation, getDefaultLibFileName: (options) => combinePaths(getDefaultLibLocation(), getDefaultLibFileName(options)), - fileExists: (path) => system.fileExists(path), - readFile: (path, encoding) => system.readFile(path, encoding), - directoryExists: (path) => system.directoryExists(path), - getDirectories: (path) => system.getDirectories(path), - readDirectory: (path, extensions, exclude, include, depth) => system.readDirectory(path, extensions, exclude, include, depth), + fileExists: (path2) => system.fileExists(path2), + readFile: (path2, encoding) => system.readFile(path2, encoding), + directoryExists: (path2) => system.directoryExists(path2), + getDirectories: (path2) => system.getDirectories(path2), + readDirectory: (path2, extensions, exclude, include, depth) => system.readDirectory(path2, extensions, exclude, include, depth), realpath: maybeBind(system, system.realpath), getEnvironmentVariable: maybeBind(system, system.getEnvironmentVariable), trace: (s) => system.write(s + system.newLine), - createDirectory: (path) => system.createDirectory(path), - writeFile: (path, data, writeByteOrderMark) => system.writeFile(path, data, writeByteOrderMark), + createDirectory: (path2) => system.createDirectory(path2), + writeFile: (path2, data, writeByteOrderMark) => system.writeFile(path2, data, writeByteOrderMark), createHash: maybeBind(system, system.createHash), createProgram: createProgram2 || createEmitAndSemanticDiagnosticsBuilderProgram, disableUseFileVersionAsSignature: system.disableUseFileVersionAsSignature, @@ -113766,7 +113787,7 @@ function createWatchProgram(host) { originalWriteFile, readFileWithCache } = changeCompilerHostLikeToUseCache(compilerHost, toPath3); - if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path) => getSourceVersion(path, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + if (isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, (path2) => getSourceVersion(path2, readFileWithCache), (fileName) => compilerHost.fileExists(fileName), hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { if (reportFileChangeDetectedOnCreateProgram) { reportWatchDiagnostic(Diagnostics.File_change_detected_Starting_incremental_compilation); @@ -113837,14 +113858,14 @@ function createWatchProgram(host) { return typeof hostSourceFile.version === "boolean"; } function fileExists(fileName) { - const path = toPath3(fileName); - if (isFileMissingOnHost(sourceFilesCache.get(path))) { + const path2 = toPath3(fileName); + if (isFileMissingOnHost(sourceFilesCache.get(path2))) { return false; } return directoryStructureHost.fileExists(fileName); } - function getVersionedSourceFileByPath(fileName, path, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { - const hostSourceFile = sourceFilesCache.get(path); + function getVersionedSourceFileByPath(fileName, path2, languageVersionOrOptions, onError, shouldCreateNewSourceFile, _options) { + const hostSourceFile = sourceFilesCache.get(path2); if (isFileMissingOnHost(hostSourceFile)) { return void 0; } @@ -113855,43 +113876,43 @@ function createWatchProgram(host) { hostSourceFile.sourceFile = sourceFile; hostSourceFile.version = sourceFile.version; if (!hostSourceFile.fileWatcher) { - hostSourceFile.fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + hostSourceFile.fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); } } else { if (hostSourceFile.fileWatcher) { hostSourceFile.fileWatcher.close(); } - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } else { if (sourceFile) { - const fileWatcher = watchFilePath(path, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); - sourceFilesCache.set(path, { sourceFile, version: sourceFile.version, fileWatcher }); + const fileWatcher = watchFilePath(path2, fileName, onSourceFileChange, 250 /* Low */, watchOptions, WatchType.SourceFile); + sourceFilesCache.set(path2, { sourceFile, version: sourceFile.version, fileWatcher }); } else { - sourceFilesCache.set(path, false); + sourceFilesCache.set(path2, false); } } return sourceFile; } return hostSourceFile.sourceFile; } - function nextSourceFileVersion(path) { - const hostSourceFile = sourceFilesCache.get(path); + function nextSourceFileVersion(path2) { + const hostSourceFile = sourceFilesCache.get(path2); if (hostSourceFile !== void 0) { if (isFileMissingOnHost(hostSourceFile)) { - sourceFilesCache.set(path, { version: false }); + sourceFilesCache.set(path2, { version: false }); } else { hostSourceFile.version = false; } } } - function getSourceVersion(path, readFileWithCache) { - const hostSourceFile = sourceFilesCache.get(path); + function getSourceVersion(path2, readFileWithCache) { + const hostSourceFile = sourceFilesCache.get(path2); if (!hostSourceFile) return void 0; if (hostSourceFile.version) return hostSourceFile.version; - const text = readFileWithCache(path); + const text = readFileWithCache(path2); return text !== void 0 ? (compilerHost.createHash || generateDjb2Hash)(text) : void 0; } function onReleaseOldSourceFile(oldSourceFile, _oldOptions, hasSourceFileByPath) { @@ -114063,30 +114084,30 @@ function createWatchProgram(host) { } function onReleaseParsedCommandLine(fileName) { var _a2; - const path = toPath3(fileName); - const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path); + const path2 = toPath3(fileName); + const config = parsedConfigs == null ? void 0 : parsedConfigs.get(path2); if (!config) return; - parsedConfigs.delete(path); + parsedConfigs.delete(path2); if (config.watchedDirectories) clearMap(config.watchedDirectories, closeFileWatcherOf); (_a2 = config.watcher) == null ? void 0 : _a2.close(); - clearSharedExtendedConfigFileWatcher(path, sharedExtendedConfigFileWatchers); + clearSharedExtendedConfigFileWatcher(path2, sharedExtendedConfigFileWatchers); } - function watchFilePath(path, file, callback, pollingInterval, options, watchType) { - return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path), pollingInterval, options, watchType); + function watchFilePath(path2, file, callback, pollingInterval, options, watchType) { + return watchFile2(file, (fileName, eventKind) => callback(fileName, eventKind, path2), pollingInterval, options, watchType); } - function onSourceFileChange(fileName, eventKind, path) { - updateCachedSystemWithFile(fileName, path, eventKind); - if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path)) { - resolutionCache.invalidateResolutionOfFile(path); + function onSourceFileChange(fileName, eventKind, path2) { + updateCachedSystemWithFile(fileName, path2, eventKind); + if (eventKind === 2 /* Deleted */ && sourceFilesCache.has(path2)) { + resolutionCache.invalidateResolutionOfFile(path2); } - nextSourceFileVersion(path); + nextSourceFileVersion(path2); scheduleProgramUpdate(); } - function updateCachedSystemWithFile(fileName, path, eventKind) { + function updateCachedSystemWithFile(fileName, path2, eventKind) { if (cachedDirectoryStructureHost) { - cachedDirectoryStructureHost.addOrDeleteFile(fileName, path, eventKind); + cachedDirectoryStructureHost.addOrDeleteFile(fileName, path2, eventKind); } } function watchMissingFilePath(missingFilePath) { @@ -114322,9 +114343,9 @@ function createBuilderStatusReporter(system, pretty) { } function createSolutionBuilderHostBase(system, createProgram2, reportDiagnostic, reportSolutionBuilderStatus) { const host = createProgramHost(system, createProgram2); - host.getModifiedTime = system.getModifiedTime ? (path) => system.getModifiedTime(path) : returnUndefined; - host.setModifiedTime = system.setModifiedTime ? (path, date) => system.setModifiedTime(path, date) : noop; - host.deleteFile = system.deleteFile ? (path) => system.deleteFile(path) : noop; + host.getModifiedTime = system.getModifiedTime ? (path2) => system.getModifiedTime(path2) : returnUndefined; + host.setModifiedTime = system.setModifiedTime ? (path2, date) => system.setModifiedTime(path2, date) : noop; + host.deleteFile = system.deleteFile ? (path2) => system.deleteFile(path2) : noop; host.reportDiagnostic = reportDiagnostic || createDiagnosticReporter(system); host.reportSolutionBuilderStatus = reportSolutionBuilderStatus || createBuilderStatusReporter(system); host.now = maybeBind(system, system.now); @@ -114432,9 +114453,9 @@ function toPath2(state, fileName) { } function toResolvedConfigFilePath(state, fileName) { const { resolvedConfigFilePaths } = state; - const path = resolvedConfigFilePaths.get(fileName); - if (path !== void 0) - return path; + const path2 = resolvedConfigFilePaths.get(fileName); + if (path2 !== void 0) + return path2; const resolvedPath = toPath2(state, fileName); resolvedConfigFilePaths.set(fileName, resolvedPath); return resolvedPath; @@ -114828,7 +114849,7 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, if (state.watch) { state.lastCachedPackageJsonLookups.set(projectPath, state.moduleResolutionCache && map( state.moduleResolutionCache.getPackageJsonInfoCache().entries(), - ([path, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path)) : path, data] + ([path2, data]) => [state.host.realpath && data ? toPath2(state, state.host.realpath(path2)) : path2, data] )); state.builderPrograms.set(projectPath, program); } @@ -114912,13 +114933,13 @@ function createBuildOrUpdateInvalidedProject(kind, state, project, projectPath, let outputTimeStampMap; let now; outputFiles.forEach(({ name, text, writeByteOrderMark, buildInfo }) => { - const path = toPath2(state, name); + const path2 = toPath2(state, name); emittedOutputs.set(toPath2(state, name), name); if (buildInfo) setBuildInfo(state, buildInfo, projectPath, options, resultFlags); writeFile(writeFileCallback ? { writeFile: writeFileCallback } : compilerHost, emitterDiagnostics, name, text, writeByteOrderMark); if (!isIncremental && state.watch) { - (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path, now || (now = getCurrentTime(state.host))); + (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path2, now || (now = getCurrentTime(state.host))); } }); finishEmit( @@ -115233,8 +115254,8 @@ function isFileWatcherWithModifiedTime(value) { return !!value.watcher; } function getModifiedTime2(state, fileName) { - const path = toPath2(state, fileName); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, fileName); + const existing = state.filesWatched.get(path2); if (state.watch && !!existing) { if (!isFileWatcherWithModifiedTime(existing)) return existing; @@ -115246,20 +115267,20 @@ function getModifiedTime2(state, fileName) { if (existing) existing.modifiedTime = result; else - state.filesWatched.set(path, result); + state.filesWatched.set(path2, result); } return result; } function watchFile(state, file, callback, pollingInterval, options, watchType, project) { - const path = toPath2(state, file); - const existing = state.filesWatched.get(path); + const path2 = toPath2(state, file); + const existing = state.filesWatched.get(path2); if (existing && isFileWatcherWithModifiedTime(existing)) { existing.callbacks.push(callback); } else { const watcher = state.watchFile( file, (fileName, eventKind, modifiedTime) => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); existing2.modifiedTime = modifiedTime; existing2.callbacks.forEach((cb) => cb(fileName, eventKind, modifiedTime)); @@ -115269,14 +115290,14 @@ function watchFile(state, file, callback, pollingInterval, options, watchType, p watchType, project ); - state.filesWatched.set(path, { callbacks: [callback], watcher, modifiedTime: existing }); + state.filesWatched.set(path2, { callbacks: [callback], watcher, modifiedTime: existing }); } return { close: () => { - const existing2 = Debug.checkDefined(state.filesWatched.get(path)); + const existing2 = Debug.checkDefined(state.filesWatched.get(path2)); Debug.assert(isFileWatcherWithModifiedTime(existing2)); if (existing2.callbacks.length === 1) { - state.filesWatched.delete(path); + state.filesWatched.delete(path2); closeFileWatcherOf(existing2); } else { unorderedRemoveItem(existing2.callbacks, callback); @@ -115311,19 +115332,19 @@ function setBuildInfo(state, buildInfo, resolvedConfigPath, options, resultFlags } } function getBuildInfoCacheEntry(state, buildInfoPath, resolvedConfigPath) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - return (existing == null ? void 0 : existing.path) === path ? existing : void 0; + return (existing == null ? void 0 : existing.path) === path2 ? existing : void 0; } function getBuildInfo2(state, buildInfoPath, resolvedConfigPath, modifiedTime) { - const path = toPath2(state, buildInfoPath); + const path2 = toPath2(state, buildInfoPath); const existing = state.buildInfoCache.get(resolvedConfigPath); - if (existing !== void 0 && existing.path === path) { + if (existing !== void 0 && existing.path === path2) { return existing.buildInfo || void 0; } const value = state.readFileWithCache(buildInfoPath); const buildInfo = value ? getBuildInfo(buildInfoPath, value) : void 0; - state.buildInfoCache.set(resolvedConfigPath, { path, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); + state.buildInfoCache.set(resolvedConfigPath, { path: path2, buildInfo: buildInfo || false, modifiedTime: modifiedTime || missingFileModifiedTime }); return buildInfo; } function checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName) { @@ -115462,11 +115483,11 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { const outputs = getAllProjectOutputs(project, !host.useCaseSensitiveFileNames()); const outputTimeStampMap = getOutputTimeStampMap(state, resolvedPath); for (const output of outputs) { - const path = toPath2(state, output); - let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path); + const path2 = toPath2(state, output); + let outputTime = outputTimeStampMap == null ? void 0 : outputTimeStampMap.get(path2); if (!outputTime) { outputTime = getModifiedTime(state.host, output); - outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path, outputTime); + outputTimeStampMap == null ? void 0 : outputTimeStampMap.set(path2, outputTime); } if (outputTime === missingFileModifiedTime) { return { @@ -115526,7 +115547,7 @@ function getUpToDateStatusWorker(state, project, resolvedPath) { return extendedConfigStatus; const dependentPackageFileStatus = forEach( state.lastCachedPackageJsonLookups.get(resolvedPath) || emptyArray, - ([path]) => checkConfigFileUpToDateStatus(state, path, oldestOutputFileTime, oldestOutputFileName) + ([path2]) => checkConfigFileUpToDateStatus(state, path2, oldestOutputFileTime, oldestOutputFileName) ); if (dependentPackageFileStatus) return dependentPackageFileStatus; @@ -115585,8 +115606,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, if (!skipOutputs || outputs.length !== skipOutputs.size) { let reportVerbose = !!state.options.verbose; for (const file of outputs) { - const path = toPath2(state, file); - if (skipOutputs == null ? void 0 : skipOutputs.has(path)) + const path2 = toPath2(state, file); + if (skipOutputs == null ? void 0 : skipOutputs.has(path2)) continue; if (reportVerbose) { reportVerbose = false; @@ -115594,8 +115615,8 @@ function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, } host.setModifiedTime(file, now || (now = getCurrentTime(state.host))); if (outputTimeStampMap) { - outputTimeStampMap.set(path, now); - modifiedOutputs.add(path); + outputTimeStampMap.set(path2, now); + modifiedOutputs.add(path2); } } } @@ -115914,9 +115935,9 @@ function watchPackageJsonFiles(state, resolved, resolvedPath, parsed) { getOrCreateValueMapFromConfigFileMap(state.allWatchedPackageJsonFiles, resolvedPath), new Map2(state.lastCachedPackageJsonLookups.get(resolvedPath)), { - createNewValue: (path, _input) => watchFile( + createNewValue: (path2, _input) => watchFile( state, - path, + path2, () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* None */), 2e3 /* High */, parsed == null ? void 0 : parsed.watchOptions, @@ -115974,8 +115995,8 @@ function createSolutionBuilderWorker(watch, hostOrHostWithWatch, rootNames, opti close: () => stopWatching(state) }; } -function relName(state, path) { - return convertToRelativePath(path, state.currentDirectory, (f) => state.getCanonicalFileName(f)); +function relName(state, path2) { + return convertToRelativePath(path2, state.currentDirectory, (f) => state.getCanonicalFileName(f)); } function reportStatus(state, message, ...args) { state.host.reportSolutionBuilderStatus(createCompilerDiagnostic(message, ...args)); @@ -116229,11 +116250,11 @@ function nonRelativeModuleNameForTypingCache(moduleName) { return nodeCoreModules.has(moduleName) ? "node" : moduleName; } function loadSafeList(host, safeListPath) { - const result = readConfigFile(safeListPath, (path) => host.readFile(path)); + const result = readConfigFile(safeListPath, (path2) => host.readFile(path2)); return new Map2(getEntries(result.config)); } function loadTypesMap(host, typesMapPath) { - const result = readConfigFile(typesMapPath, (path) => host.readFile(path)); + const result = readConfigFile(typesMapPath, (path2) => host.readFile(path2)); if (result.config) { return new Map2(getEntries(result.config.simpleMap)); } @@ -116245,9 +116266,9 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag } const inferredTypings = new Map2(); fileNames = mapDefined(fileNames, (fileName) => { - const path = normalizePath(fileName); - if (hasJSFileExtension(path)) { - return path; + const path2 = normalizePath(fileName); + if (hasJSFileExtension(path2)) { + return path2; } }); const filesToWatch = []; @@ -116314,7 +116335,7 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag let manifestTypingNames; if (host.fileExists(manifestPath)) { filesToWatch2.push(manifestPath); - manifest = readConfigFile(manifestPath, (path) => host.readFile(path)).config; + manifest = readConfigFile(manifestPath, (path2) => host.readFile(path2)).config; manifestTypingNames = flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], getOwnKeys); addInferredTypings(manifestTypingNames, `Typing names in '${manifestPath}' dependencies`); } @@ -116336,7 +116357,7 @@ function discoverTypings(host, log, fileNames, projectRootPath, safeList, packag log(`Searching for typing names in ${packagesFolderPath}; all files: ${JSON.stringify(dependencyManifestNames)}`); for (const manifestPath2 of dependencyManifestNames) { const normalizedFileName = normalizePath(manifestPath2); - const result2 = readConfigFile(normalizedFileName, (path) => host.readFile(path)); + const result2 = readConfigFile(normalizedFileName, (path2) => host.readFile(path2)); const manifest2 = result2.config; if (!manifest2.name) { continue; @@ -118972,14 +118993,14 @@ function probablyUsesSemicolons(sourceFile) { function tryGetDirectories(host, directoryName) { return tryIOAndConsumeErrors(host, host.getDirectories, directoryName) || []; } -function tryReadDirectory(host, path, extensions, exclude, include) { - return tryIOAndConsumeErrors(host, host.readDirectory, path, extensions, exclude, include) || emptyArray; +function tryReadDirectory(host, path2, extensions, exclude, include) { + return tryIOAndConsumeErrors(host, host.readDirectory, path2, extensions, exclude, include) || emptyArray; } -function tryFileExists(host, path) { - return tryIOAndConsumeErrors(host, host.fileExists, path); +function tryFileExists(host, path2) { + return tryIOAndConsumeErrors(host, host.fileExists, path2); } -function tryDirectoryExists(host, path) { - return tryAndIgnoreErrors(() => directoryProbablyExists(path, host)) || false; +function tryDirectoryExists(host, path2) { + return tryAndIgnoreErrors(() => directoryProbablyExists(path2, host)) || false; } function tryAndIgnoreErrors(cb) { try { @@ -121013,27 +121034,27 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect return settingsOrHost; } function acquireDocument(fileName, compilationSettings, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); + return acquireDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); } - function acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version2, true, scriptKind, languageVersionOrOptions); + function acquireDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path2, compilationSettings, key, scriptSnapshot, version2, true, scriptKind, languageVersionOrOptions); } function updateDocument(fileName, compilationSettings, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); + return updateDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions); } - function updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { - return acquireOrUpdateDocument(fileName, path, getCompilationSettings(compilationSettings), key, scriptSnapshot, version2, false, scriptKind, languageVersionOrOptions); + function updateDocumentWithKey(fileName, path2, compilationSettings, key, scriptSnapshot, version2, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path2, getCompilationSettings(compilationSettings), key, scriptSnapshot, version2, false, scriptKind, languageVersionOrOptions); } function getDocumentRegistryEntry(bucketEntry, scriptKind) { const entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); Debug.assert(scriptKind === void 0 || !entry || entry.sourceFile.scriptKind === scriptKind, `Script kind should match provided ScriptKind:${scriptKind} and sourceFile.scriptKind: ${entry == null ? void 0 : entry.sourceFile.scriptKind}, !entry: ${!entry}`); return entry; } - function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version2, acquiring, scriptKind, languageVersionOrOptions) { + function acquireOrUpdateDocument(fileName, path2, compilationSettingsOrHost, key, scriptSnapshot, version2, acquiring, scriptKind, languageVersionOrOptions) { var _a2, _b, _c, _d; scriptKind = ensureScriptKind(fileName, scriptKind); const compilationSettings = getCompilationSettings(compilationSettingsOrHost); @@ -121041,7 +121062,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect const scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : getEmitScriptTarget(compilationSettings); const sourceFileOptions = typeof languageVersionOrOptions === "object" ? languageVersionOrOptions : { languageVersion: scriptTarget, - impliedNodeFormat: host && getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a2 = host.getCompilerHost) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getModuleResolutionCache) == null ? void 0 : _c.call(_b)) == null ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), + impliedNodeFormat: host && getImpliedNodeFormatForFile(path2, (_d = (_c = (_b = (_a2 = host.getCompilerHost) == null ? void 0 : _a2.call(host)) == null ? void 0 : _b.getModuleResolutionCache) == null ? void 0 : _c.call(_b)) == null ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), setExternalModuleIndicator: getSetExternalModuleIndicator(compilationSettings) }; sourceFileOptions.languageVersion = scriptTarget; @@ -121052,15 +121073,15 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect if (buckets.size > oldBucketCount) { tracing.instant(tracing.Phase.Session, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: keyWithMode }); } - const otherBucketKey = !isDeclarationFileName(path) && forEachEntry(buckets, (bucket2, bucketKey) => bucketKey !== keyWithMode && bucket2.has(path) && bucketKey); + const otherBucketKey = !isDeclarationFileName(path2) && forEachEntry(buckets, (bucket2, bucketKey) => bucketKey !== keyWithMode && bucket2.has(path2) && bucketKey); if (otherBucketKey) { - tracing.instant(tracing.Phase.Session, "documentRegistryBucketOverlap", { path, key1: otherBucketKey, key2: keyWithMode }); + tracing.instant(tracing.Phase.Session, "documentRegistryBucketOverlap", { path: path2, key1: otherBucketKey, key2: keyWithMode }); } } - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); let entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); if (!entry && externalCache) { - const sourceFile = externalCache.getDocument(keyWithMode, path); + const sourceFile = externalCache.getDocument(keyWithMode, path2); if (sourceFile) { Debug.assert(acquiring); entry = { @@ -121073,7 +121094,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect if (!entry) { const sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, sourceFileOptions, version2, false, scriptKind, compilationSettings); if (externalCache) { - externalCache.setDocument(keyWithMode, path, sourceFile); + externalCache.setDocument(keyWithMode, path2, sourceFile); } entry = { sourceFile, @@ -121091,7 +121112,7 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect compilationSettings ); if (externalCache) { - externalCache.setDocument(keyWithMode, path, entry.sourceFile); + externalCache.setDocument(keyWithMode, path2, entry.sourceFile); } } if (acquiring) { @@ -121102,42 +121123,42 @@ function createDocumentRegistryInternal(useCaseSensitiveFileNames, currentDirect return entry.sourceFile; function setBucketEntry() { if (!bucketEntry) { - bucket.set(path, entry); + bucket.set(path2, entry); } else if (isDocumentRegistryEntry(bucketEntry)) { const scriptKindMap = new Map2(); scriptKindMap.set(bucketEntry.sourceFile.scriptKind, bucketEntry); scriptKindMap.set(scriptKind, entry); - bucket.set(path, scriptKindMap); + bucket.set(path2, scriptKindMap); } else { bucketEntry.set(scriptKind, entry); } } } function releaseDocument(fileName, compilationSettings, scriptKind, impliedNodeFormat) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); const key = getKeyForCompilationSettings(compilationSettings); - return releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat); + return releaseDocumentWithKey(path2, key, scriptKind, impliedNodeFormat); } - function releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat) { + function releaseDocumentWithKey(path2, key, scriptKind, impliedNodeFormat) { const bucket = Debug.checkDefined(buckets.get(getDocumentRegistryBucketKeyWithMode(key, impliedNodeFormat))); - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); const entry = getDocumentRegistryEntry(bucketEntry, scriptKind); entry.languageServiceRefCount--; Debug.assert(entry.languageServiceRefCount >= 0); if (entry.languageServiceRefCount === 0) { if (isDocumentRegistryEntry(bucketEntry)) { - bucket.delete(path); + bucket.delete(path2); } else { bucketEntry.delete(scriptKind); if (bucketEntry.size === 1) { - bucket.set(path, firstDefinedIterator(bucketEntry.values(), identity)); + bucket.set(path2, firstDefinedIterator(bucketEntry.values(), identity)); } } } } - function getLanguageServiceRefCounts(path, scriptKind) { + function getLanguageServiceRefCounts(path2, scriptKind) { return arrayFrom(buckets.entries(), ([key, bucket]) => { - const bucketEntry = bucket.get(path); + const bucketEntry = bucket.get(path2); const entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); return [key, entry && entry.languageServiceRefCount]; }); @@ -121195,10 +121216,10 @@ function getEditsForFileRename(program, oldFileOrDirPath, newFileOrDirPath, host } function getPathUpdater(oldFileOrDirPath, newFileOrDirPath, getCanonicalFileName, sourceMapper) { const canonicalOldPath = getCanonicalFileName(oldFileOrDirPath); - return (path) => { - const originalPath = sourceMapper && sourceMapper.tryGetSourcePosition({ fileName: path, pos: 0 }); - const updatedPath = getUpdatedPath(originalPath ? originalPath.fileName : path); - return originalPath ? updatedPath === void 0 ? void 0 : makeCorrespondingRelativeChange(originalPath.fileName, updatedPath, path, getCanonicalFileName) : updatedPath; + return (path2) => { + const originalPath = sourceMapper && sourceMapper.tryGetSourcePosition({ fileName: path2, pos: 0 }); + const updatedPath = getUpdatedPath(originalPath ? originalPath.fileName : path2); + return originalPath ? updatedPath === void 0 ? void 0 : makeCorrespondingRelativeChange(originalPath.fileName, updatedPath, path2, getCanonicalFileName) : updatedPath; }; function getUpdatedPath(pathToUpdate) { if (getCanonicalFileName(pathToUpdate) === canonicalOldPath) @@ -121273,8 +121294,8 @@ function updateTsconfigFiles(program, changeTracker, oldToNew, oldFileOrDirPath, } return false; } - function relativePath(path) { - return getRelativePathFromDirectory(configDir, path, !useCaseSensitiveFileNames); + function relativePath(path2) { + return getRelativePathFromDirectory(configDir, path2, !useCaseSensitiveFileNames); } } function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName) { @@ -122011,8 +122032,8 @@ function getSourceMapper(host) { return toPath(fileName, currentDirectory, getCanonicalFileName); } function getDocumentPositionMapper2(generatedFileName, sourceFileName) { - const path = toPath3(generatedFileName); - const value = documentPositionMappers.get(path); + const path2 = toPath3(generatedFileName); + const value = documentPositionMappers.get(path2); if (value) return value; let mapper; @@ -122027,7 +122048,7 @@ function getSourceMapper(host) { (f) => !host.fileExists || host.fileExists(f) ? host.readFile(f) : void 0 ); } - documentPositionMappers.set(path, mapper || identitySourceMapConsumer); + documentPositionMappers.set(path2, mapper || identitySourceMapConsumer); return mapper || identitySourceMapConsumer; } function tryGetSourcePosition(info) { @@ -122061,22 +122082,22 @@ function getSourceMapper(host) { const program = host.getProgram(); if (!program) return void 0; - const path = toPath3(fileName); - const file = program.getSourceFileByPath(path); - return file && file.resolvedPath === path ? file : void 0; + const path2 = toPath3(fileName); + const file = program.getSourceFileByPath(path2); + return file && file.resolvedPath === path2 ? file : void 0; } function getOrCreateSourceFileLike(fileName) { - const path = toPath3(fileName); - const fileFromCache = sourceFileLike.get(path); + const path2 = toPath3(fileName); + const fileFromCache = sourceFileLike.get(path2); if (fileFromCache !== void 0) return fileFromCache ? fileFromCache : void 0; - if (!host.readFile || host.fileExists && !host.fileExists(path)) { - sourceFileLike.set(path, false); + if (!host.readFile || host.fileExists && !host.fileExists(path2)) { + sourceFileLike.set(path2, false); return void 0; } - const text = host.readFile(path); + const text = host.readFile(path2); const file = text ? createSourceFileLike(text) : false; - sourceFileLike.set(path, file); + sourceFileLike.set(path2, file); return file ? file : void 0; } function getSourceFileLike(fileName) { @@ -124169,7 +124190,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h let lastTypesRootVersion = 0; const cancellationToken = host.getCancellationToken ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; const currentDirectory = host.getCurrentDirectory(); - getLanguageVersionByFilePath(host.isStaticSourceFile); + setLanguageVersionByFilePath(host.isStaticSourceFile); maybeSetLocalizedDiagnosticMessages((_a2 = host.getLocalizedDiagnosticMessages) == null ? void 0 : _a2.bind(host)); function log(message) { if (host.log) { @@ -124238,12 +124259,12 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h directoryExists: (directoryName) => { return directoryProbablyExists(directoryName, host); }, - getDirectories: (path) => { - return host.getDirectories ? host.getDirectories(path) : []; + getDirectories: (path2) => { + return host.getDirectories ? host.getDirectories(path2) : []; }, - readDirectory: (path, extensions, exclude, include, depth) => { + readDirectory: (path2, extensions, exclude, include, depth) => { Debug.checkDefined(host.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"); - return host.readDirectory(path, extensions, exclude, include, depth); + return host.readDirectory(path2, extensions, exclude, include, depth); }, onReleaseOldSourceFile, onReleaseParsedCommandLine, @@ -124315,12 +124336,12 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h host.clearFileCache && host.clearFileCache(); return; function getParsedCommandLine(fileName) { - const path = toPath(fileName, currentDirectory, getCanonicalFileName); - const existing = parsedCommandLines == null ? void 0 : parsedCommandLines.get(path); + const path2 = toPath(fileName, currentDirectory, getCanonicalFileName); + const existing = parsedCommandLines == null ? void 0 : parsedCommandLines.get(path2); if (existing !== void 0) return existing || void 0; const result = host.getParsedCommandLine ? host.getParsedCommandLine(fileName) : getParsedCommandLineOfConfigFileUsingSourceFile(fileName); - (parsedCommandLines || (parsedCommandLines = new Map2())).set(path, result || false); + (parsedCommandLines || (parsedCommandLines = new Map2())).set(path2, result || false); return result; } function getParsedCommandLineOfConfigFileUsingSourceFile(configFileName) { @@ -124353,7 +124374,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h function getOrCreateSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) { return getOrCreateSourceFileByPath(fileName, toPath(fileName, currentDirectory, getCanonicalFileName), languageVersionOrOptions, onError, shouldCreateNewSourceFile); } - function getOrCreateSourceFileByPath(fileName, path, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { + function getOrCreateSourceFileByPath(fileName, path2, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { const scriptSnapshot = host.getScriptSnapshot(fileName); if (!scriptSnapshot) { return void 0; @@ -124361,16 +124382,16 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h const scriptKind = getScriptKind(fileName, host); const scriptVersion = host.getScriptVersion(fileName); if (!shouldCreateNewSourceFile) { - const oldSourceFile = program && program.getSourceFileByPath(path); + const oldSourceFile = program && program.getSourceFileByPath(path2); if (oldSourceFile) { if (scriptKind === oldSourceFile.scriptKind) { - return documentRegistry.updateDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); + return documentRegistry.updateDocumentWithKey(fileName, path2, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } else { documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, documentRegistry.getKeyForCompilationSettings(program.getCompilerOptions()), oldSourceFile.scriptKind, oldSourceFile.impliedNodeFormat); } } } - return documentRegistry.acquireDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); + return documentRegistry.acquireDocumentWithKey(fileName, path2, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } } function getProgram() { @@ -124832,7 +124853,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h return isArray(action) ? Promise.all(action.map((a) => applySingleCodeActionCommand(a))) : applySingleCodeActionCommand(action); } function applySingleCodeActionCommand(action) { - const getPath = (path) => toPath(path, currentDirectory, getCanonicalFileName); + const getPath = (path2) => toPath(path2, currentDirectory, getCanonicalFileName); Debug.assertEqual(action.type, "install package"); return host.installPackage ? host.installPackage({ fileName: getPath(action.file), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`"); } @@ -125116,11 +125137,11 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h function isLetterOrDigit(char) { return char >= 97 /* a */ && char <= 122 /* z */ || char >= 65 /* A */ && char <= 90 /* Z */ || char >= 48 /* _0 */ && char <= 57 /* _9 */; } - function isNodeModulesFile(path) { - return stringContains(path, "/node_modules/"); + function isNodeModulesFile(path2) { + return stringContains(path2, "/node_modules/"); } - function isOHModulesFile(path) { - return stringContains(path, "/oh_modules/"); + function isOHModulesFile(path2) { + return stringContains(path2, "/oh_modules/"); } } function getRenameInfo2(fileName, position, preferences) { @@ -125523,22 +125544,22 @@ var LanguageServiceShimHostAdapter = class { getCurrentDirectory() { return this.shimHost.getCurrentDirectory(); } - getDirectories(path) { - return JSON.parse(this.shimHost.getDirectories(path)); + getDirectories(path2) { + return JSON.parse(this.shimHost.getDirectories(path2)); } getDefaultLibFileName(options) { return this.shimHost.getDefaultLibFileName(JSON.stringify(options)); } - readDirectory(path, extensions, exclude, include, depth) { + readDirectory(path2, extensions, exclude, include, depth) { const pattern = getFileMatcherPatterns( - path, + path2, exclude, include, this.shimHost.useCaseSensitiveFileNames(), this.shimHost.getCurrentDirectory() ); return JSON.parse(this.shimHost.readDirectory( - path, + path2, JSON.stringify(extensions), JSON.stringify(pattern.basePaths), pattern.excludePattern, @@ -125547,11 +125568,11 @@ var LanguageServiceShimHostAdapter = class { depth )); } - readFile(path, encoding) { - return this.shimHost.readFile(path, encoding); + readFile(path2, encoding) { + return this.shimHost.readFile(path2, encoding); } - fileExists(path) { - return this.shimHost.fileExists(path); + fileExists(path2) { + return this.shimHost.fileExists(path2); } }; var CoreServicesShimHostAdapter = class { @@ -125564,7 +125585,7 @@ var CoreServicesShimHostAdapter = class { this.directoryExists = void 0; } if ("realpath" in this.shimHost) { - this.realpath = (path) => this.shimHost.realpath(path); + this.realpath = (path2) => this.shimHost.realpath(path2); } else { this.realpath = void 0; } @@ -125593,8 +125614,8 @@ var CoreServicesShimHostAdapter = class { readFile(fileName) { return this.shimHost.readFile(fileName); } - getDirectories(path) { - return JSON.parse(this.shimHost.getDirectories(path)); + getDirectories(path2) { + return JSON.parse(this.shimHost.getDirectories(path2)); } }; function simpleForwardCall(logger, actionDescription2, action, logPerformance) { @@ -139524,14 +139545,14 @@ function getPatternFromFirstMatchingCondition(target, conditions) { function getFragmentDirectory(fragment) { return containsSlash(fragment) ? hasTrailingDirectorySeparator(fragment) ? fragment : getDirectoryPath(fragment) : void 0; } -function getCompletionsForPathMapping(path, patterns, fragment, packageDirectory, extensionOptions, host) { - if (!endsWith(path, "*")) { - return !stringContains(path, "*") ? justPathMappingName(path, "script" /* scriptElement */) : emptyArray; +function getCompletionsForPathMapping(path2, patterns, fragment, packageDirectory, extensionOptions, host) { + if (!endsWith(path2, "*")) { + return !stringContains(path2, "*") ? justPathMappingName(path2, "script" /* scriptElement */) : emptyArray; } - const pathPrefix = path.slice(0, path.length - 1); + const pathPrefix = path2.slice(0, path2.length - 1); const remainingFragment = tryRemovePrefix(fragment, pathPrefix); if (remainingFragment === void 0) { - const starIsFullPathComponent = path[path.length - 2] === "/"; + const starIsFullPathComponent = path2[path2.length - 2] === "/"; return starIsFullPathComponent ? justPathMappingName(pathPrefix, "directory" /* directory */) : flatMap(patterns, (pattern) => { var _a2; return (_a2 = getModulesForPathsPattern("", packageDirectory, pattern, extensionOptions, host)) == null ? void 0 : _a2.map(({ name, ...rest }) => ({ name: pathPrefix + name, ...rest })); @@ -139572,16 +139593,16 @@ function getModulesForPathsPattern(fragment, packageDirectory, pattern, extensio }); const directories = normalizedSuffix ? emptyArray : mapDefined(tryGetDirectories(host, baseDirectory), (dir) => dir === "node_modules" ? void 0 : directoryResult(dir)); return [...matches, ...directories]; - function trimPrefixAndSuffix(path) { - const inner = withoutStartAndEnd(normalizePath(path), completePrefix, normalizedSuffix); + function trimPrefixAndSuffix(path2) { + const inner = withoutStartAndEnd(normalizePath(path2), completePrefix, normalizedSuffix); return inner === void 0 ? void 0 : removeLeadingDirectorySeparator(inner); } } function withoutStartAndEnd(s, start, end) { return startsWith(s, start) && endsWith(s, end) ? s.slice(start.length, s.length - end.length) : void 0; } -function removeLeadingDirectorySeparator(path) { - return path[0] === directorySeparator ? path.slice(1) : path; +function removeLeadingDirectorySeparator(path2) { + return path2[0] === directorySeparator ? path2.slice(1) : path2; } function getAmbientModuleCompletions(fragment, fragmentDirectory, checker) { const ambientModules = checker.getAmbientModules().map((sym) => stripQuotes(sym.name)); @@ -139667,10 +139688,10 @@ function getDirectoryFragmentTextSpan(text, textStart) { const length2 = text.length - offset; return length2 === 0 || isIdentifierText(text.substr(offset, length2), 99 /* ESNext */) ? void 0 : createTextSpan(textStart + offset, length2); } -function isPathRelativeToScript(path) { - if (path && path.length >= 2 && path.charCodeAt(0) === 46 /* dot */) { - const slashIndex = path.length >= 3 && path.charCodeAt(1) === 46 /* dot */ ? 2 : 1; - const slashCharCode = path.charCodeAt(slashIndex); +function isPathRelativeToScript(path2) { + if (path2 && path2.length >= 2 && path2.charCodeAt(0) === 46 /* dot */) { + const slashIndex = path2.length >= 3 && path2.charCodeAt(1) === 46 /* dot */ ? 2 : 1; + const slashCharCode = path2.charCodeAt(slashIndex); return slashCharCode === 47 /* slash */ || slashCharCode === 92 /* backslash */; } return false; @@ -144577,15 +144598,15 @@ function createOldFileImportsFromNewFile(newFileNeedExport, newFileNameWithExten }); return makeImportOrRequire(defaultImport, imports, newFileNameWithExtension, useEs6Imports, quotePreference); } -function makeImportOrRequire(defaultImport, imports, path, useEs6Imports, quotePreference) { - path = ensurePathIsNonModuleName(path); +function makeImportOrRequire(defaultImport, imports, path2, useEs6Imports, quotePreference) { + path2 = ensurePathIsNonModuleName(path2); if (useEs6Imports) { const specifiers = imports.map((i) => factory.createImportSpecifier(false, void 0, factory.createIdentifier(i))); - return makeImportIfNecessary(defaultImport, specifiers, path, quotePreference); + return makeImportIfNecessary(defaultImport, specifiers, path2, quotePreference); } else { Debug.assert(!defaultImport, "No default import should exist"); const bindingElements = imports.map((i) => factory.createBindingElement(void 0, void 0, i)); - return bindingElements.length ? makeVariableStatement(factory.createObjectBindingPattern(bindingElements), void 0, createRequireCall(factory.createStringLiteral(path))) : void 0; + return bindingElements.length ? makeVariableStatement(factory.createObjectBindingPattern(bindingElements), void 0, createRequireCall(factory.createStringLiteral(path2))) : void 0; } } function makeVariableStatement(name, type, initializer, flags = 2 /* Const */) { @@ -158221,10 +158242,10 @@ function collectChangedFilesFromProgramState(state, arkTSVersion) { const seenPaths = new Set2(); const queue = arrayFrom(changedFiles.keys()); while (queue.length) { - const path = queue.pop(); - if (!seenPaths.has(path)) { - seenPaths.add(path); - queue.push(...BuilderState.getReferencedByPaths(state, path)); + const path2 = queue.pop(); + if (!seenPaths.has(path2)) { + seenPaths.add(path2); + queue.push(...BuilderState.getReferencedByPaths(state, path2)); } } return seenPaths; @@ -165062,7 +165083,6 @@ if (typeof console !== "undefined") { getJSXRuntimeImport, getJSXTransformEnabled, getLanguageVariant, - getLanguageVersionByFilePath, getLastChild, getLeadingCommentRanges, getLeadingCommentRangesOfNode, @@ -166281,6 +166301,7 @@ if (typeof console !== "undefined") { setEachParent, setEmitFlags, setGetSourceFileAsHashVersioned, + setLanguageVersionByFilePath, setLocalizedDiagnosticMessages, setModuleDefaultHelper, setNodeFlags, diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 21f562ab29..5a0d3291b5 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -46,7 +46,7 @@ __export(nodeTypingsInstaller_exports, { }); module.exports = __toCommonJS(nodeTypingsInstaller_exports); var fs = __toESM(require("fs")); -var path = __toESM(require("path")); +var path2 = __toESM(require("path")); // src/compiler/corePublic.ts var versionMajorMinor = "4.9"; @@ -3945,27 +3945,27 @@ function createFixedChunkSizePollingWatchFile(host) { } function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) { const toCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); - const path2 = toCanonicalFileName(name); - const existing = cache.get(path2); + const path3 = toCanonicalFileName(name); + const existing = cache.get(path3); if (existing) { existing.callbacks.push(callback); } else { - cache.set(path2, { + cache.set(path3, { watcher: createWatcher((param1, param2, param3) => { var _a2; - return (_a2 = cache.get(path2)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); + return (_a2 = cache.get(path3)) == null ? void 0 : _a2.callbacks.slice().forEach((cb) => cb(param1, param2, param3)); }), callbacks: [callback] }); } return { close: () => { - const watcher = cache.get(path2); + const watcher = cache.get(path3); if (!watcher) return; if (!orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) return; - cache.delete(path2); + cache.delete(path3); closeFileWatcherOf(watcher); } }; @@ -4166,15 +4166,15 @@ function createDirectoryWatcherSupportingRecursive({ (newChildWatches || (newChildWatches = [])).push(childWatcher); } } - function isIgnoredPath(path2, options) { - return some(ignoredPaths, (searchPath) => isInPath(path2, searchPath)) || isIgnoredByWatchOptions(path2, options, useCaseSensitiveFileNames, getCurrentDirectory); + function isIgnoredPath(path3, options) { + return some(ignoredPaths, (searchPath) => isInPath(path3, searchPath)) || isIgnoredByWatchOptions(path3, options, useCaseSensitiveFileNames, getCurrentDirectory); } - function isInPath(path2, searchPath) { - if (stringContains(path2, searchPath)) + function isInPath(path3, searchPath) { + if (stringContains(path3, searchPath)) return true; if (useCaseSensitiveFileNames) return false; - return stringContains(toCanonicalFilePath(path2), searchPath); + return stringContains(toCanonicalFilePath(path3), searchPath); } } var FileSystemEntryKind = /* @__PURE__ */ ((FileSystemEntryKind2) => { @@ -4492,13 +4492,13 @@ function createSystemWatchFunctions({ } function patchWriteFileEnsuringDirectory(sys2) { const originalWriteFile = sys2.writeFile; - sys2.writeFile = (path2, data, writeBom) => writeFileEnsuringDirectories( - path2, + sys2.writeFile = (path3, data, writeBom) => writeFileEnsuringDirectories( + path3, data, !!writeBom, - (path3, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path3, data2, writeByteOrderMark), - (path3) => sys2.createDirectory(path3), - (path3) => sys2.directoryExists(path3) + (path4, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path4, data2, writeByteOrderMark), + (path4) => sys2.createDirectory(path4), + (path4) => sys2.directoryExists(path4) ); } function getNodeMajorVersion() { @@ -4550,7 +4550,7 @@ var sys = (() => { getCurrentDirectory, fileSystemEntryExists, fsSupportsRecursiveFsWatch, - getAccessibleSortedChildDirectories: (path2) => getAccessibleFileSystemEntries(path2).directories, + getAccessibleSortedChildDirectories: (path3) => getAccessibleFileSystemEntries(path3).directories, realpath, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, @@ -4575,7 +4575,7 @@ var sys = (() => { writeFile: writeFile2, watchFile, watchDirectory, - resolvePath: (path2) => _path.resolve(path2), + resolvePath: (path3) => _path.resolve(path3), fileExists, directoryExists, createDirectory(directoryName) { @@ -4609,9 +4609,9 @@ var sys = (() => { } return process.memoryUsage().heapUsed; }, - getFileSize(path2) { + getFileSize(path3) { try { - const stat = statSync(path2); + const stat = statSync(path3); if (stat == null ? void 0 : stat.isFile()) { return stat.size; } @@ -4656,10 +4656,10 @@ var sys = (() => { } }; return nodeSystem; - function statSync(path2) { - return _fs.statSync(path2, { throwIfNoEntry: false }); + function statSync(path3) { + return _fs.statSync(path3, { throwIfNoEntry: false }); } - function enableCPUProfiler(path2, cb) { + function enableCPUProfiler(path3, cb) { if (activeSession) { cb(); return false; @@ -4674,7 +4674,7 @@ var sys = (() => { session.post("Profiler.enable", () => { session.post("Profiler.start", () => { activeSession = session; - profilePath = path2; + profilePath = path3; cb(); }); }); @@ -4818,10 +4818,10 @@ var sys = (() => { } } } - function getAccessibleFileSystemEntries(path2) { - perfLogger.logEvent("ReadDir: " + (path2 || ".")); + function getAccessibleFileSystemEntries(path3) { + perfLogger.logEvent("ReadDir: " + (path3 || ".")); try { - const entries = _fs.readdirSync(path2 || ".", { withFileTypes: true }); + const entries = _fs.readdirSync(path3 || ".", { withFileTypes: true }); const files = []; const directories = []; for (const dirent of entries) { @@ -4831,7 +4831,7 @@ var sys = (() => { } let stat; if (typeof dirent === "string" || dirent.isSymbolicLink()) { - const name = combinePaths(path2, entry); + const name = combinePaths(path3, entry); try { stat = statSync(name); if (!stat) { @@ -4856,14 +4856,14 @@ var sys = (() => { return emptyFileSystemEntries; } } - function readDirectory(path2, extensions, excludes, includes, depth) { - return matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); + function readDirectory(path3, extensions, excludes, includes, depth) { + return matchFiles(path3, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath); } - function fileSystemEntryExists(path2, entryKind) { + function fileSystemEntryExists(path3, entryKind) { const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - const stat = statSync(path2); + const stat = statSync(path3); if (!stat) { return false; } @@ -4881,47 +4881,47 @@ var sys = (() => { Error.stackTraceLimit = originalStackTraceLimit; } } - function fileExists(path2) { - return fileSystemEntryExists(path2, 0 /* File */); + function fileExists(path3) { + return fileSystemEntryExists(path3, 0 /* File */); } - function directoryExists(path2) { - return fileSystemEntryExists(path2, 1 /* Directory */); + function directoryExists(path3) { + return fileSystemEntryExists(path3, 1 /* Directory */); } - function getDirectories(path2) { - return getAccessibleFileSystemEntries(path2).directories.slice(); + function getDirectories(path3) { + return getAccessibleFileSystemEntries(path3).directories.slice(); } - function fsRealPathHandlingLongPath(path2) { - return path2.length < 260 ? _fs.realpathSync.native(path2) : _fs.realpathSync(path2); + function fsRealPathHandlingLongPath(path3) { + return path3.length < 260 ? _fs.realpathSync.native(path3) : _fs.realpathSync(path3); } - function realpath(path2) { + function realpath(path3) { try { - return fsRealpath(path2); + return fsRealpath(path3); } catch (e) { - return path2; + return path3; } } - function getModifiedTime2(path2) { + function getModifiedTime2(path3) { var _a2; const originalStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; try { - return (_a2 = statSync(path2)) == null ? void 0 : _a2.mtime; + return (_a2 = statSync(path3)) == null ? void 0 : _a2.mtime; } catch (e) { return void 0; } finally { Error.stackTraceLimit = originalStackTraceLimit; } } - function setModifiedTime(path2, time) { + function setModifiedTime(path3, time) { try { - _fs.utimesSync(path2, time, time); + _fs.utimesSync(path3, time, time); } catch (e) { return; } } - function deleteFile(path2) { + function deleteFile(path3) { try { - return _fs.unlinkSync(path2); + return _fs.unlinkSync(path3); } catch (e) { return; } @@ -4957,31 +4957,31 @@ var backslashRegExp = /\\/g; function isAnyDirectorySeparator(charCode) { return charCode === 47 /* slash */ || charCode === 92 /* backslash */; } -function isRootedDiskPath(path2) { - return getEncodedRootLength(path2) > 0; +function isRootedDiskPath(path3) { + return getEncodedRootLength(path3) > 0; } -function pathIsAbsolute(path2) { - return getEncodedRootLength(path2) !== 0; +function pathIsAbsolute(path3) { + return getEncodedRootLength(path3) !== 0; } -function pathIsRelative(path2) { - return /^\.\.?($|[\\/])/.test(path2); +function pathIsRelative(path3) { + return /^\.\.?($|[\\/])/.test(path3); } function hasExtension(fileName) { return stringContains(getBaseFileName(fileName), "."); } -function fileExtensionIs(path2, extension) { - return path2.length > extension.length && endsWith(path2, extension); +function fileExtensionIs(path3, extension) { + return path3.length > extension.length && endsWith(path3, extension); } -function fileExtensionIsOneOf(path2, extensions) { +function fileExtensionIsOneOf(path3, extensions) { for (const extension of extensions) { - if (fileExtensionIs(path2, extension)) { + if (fileExtensionIs(path3, extension)) { return true; } } return false; } -function hasTrailingDirectorySeparator(path2) { - return path2.length > 0 && isAnyDirectorySeparator(path2.charCodeAt(path2.length - 1)); +function hasTrailingDirectorySeparator(path3) { + return path3.length > 0 && isAnyDirectorySeparator(path3.charCodeAt(path3.length - 1)); } function isVolumeCharacter(charCode) { return charCode >= 97 /* a */ && charCode <= 122 /* z */ || charCode >= 65 /* A */ && charCode <= 90 /* Z */; @@ -4997,113 +4997,113 @@ function getFileUrlVolumeSeparatorEnd(url, start) { } return -1; } -function getEncodedRootLength(path2) { - if (!path2) +function getEncodedRootLength(path3) { + if (!path3) return 0; - const ch0 = path2.charCodeAt(0); + const ch0 = path3.charCodeAt(0); if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { - if (path2.charCodeAt(1) !== ch0) + if (path3.charCodeAt(1) !== ch0) return 1; - const p1 = path2.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); + const p1 = path3.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2); if (p1 < 0) - return path2.length; + return path3.length; return p1 + 1; } - if (isVolumeCharacter(ch0) && path2.charCodeAt(1) === 58 /* colon */) { - const ch2 = path2.charCodeAt(2); + if (isVolumeCharacter(ch0) && path3.charCodeAt(1) === 58 /* colon */) { + const ch2 = path3.charCodeAt(2); if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) return 3; - if (path2.length === 2) + if (path3.length === 2) return 2; } - const schemeEnd = path2.indexOf(urlSchemeSeparator); + const schemeEnd = path3.indexOf(urlSchemeSeparator); if (schemeEnd !== -1) { const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path2.indexOf(directorySeparator, authorityStart); + const authorityEnd = path3.indexOf(directorySeparator, authorityStart); if (authorityEnd !== -1) { - const scheme = path2.slice(0, schemeEnd); - const authority = path2.slice(authorityStart, authorityEnd); - if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path2.charCodeAt(authorityEnd + 1))) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path2, authorityEnd + 2); + const scheme = path3.slice(0, schemeEnd); + const authority = path3.slice(authorityStart, authorityEnd); + if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path3.charCodeAt(authorityEnd + 1))) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path3, authorityEnd + 2); if (volumeSeparatorEnd !== -1) { - if (path2.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + if (path3.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { return ~(volumeSeparatorEnd + 1); } - if (volumeSeparatorEnd === path2.length) { + if (volumeSeparatorEnd === path3.length) { return ~volumeSeparatorEnd; } } } return ~(authorityEnd + 1); } - return ~path2.length; + return ~path3.length; } return 0; } -function getRootLength(path2) { - const rootLength = getEncodedRootLength(path2); +function getRootLength(path3) { + const rootLength = getEncodedRootLength(path3); return rootLength < 0 ? ~rootLength : rootLength; } -function getDirectoryPath(path2) { - path2 = normalizeSlashes(path2); - const rootLength = getRootLength(path2); - if (rootLength === path2.length) - return path2; - path2 = removeTrailingDirectorySeparator(path2); - return path2.slice(0, Math.max(rootLength, path2.lastIndexOf(directorySeparator))); -} -function getBaseFileName(path2, extensions, ignoreCase) { - path2 = normalizeSlashes(path2); - const rootLength = getRootLength(path2); - if (rootLength === path2.length) +function getDirectoryPath(path3) { + path3 = normalizeSlashes(path3); + const rootLength = getRootLength(path3); + if (rootLength === path3.length) + return path3; + path3 = removeTrailingDirectorySeparator(path3); + return path3.slice(0, Math.max(rootLength, path3.lastIndexOf(directorySeparator))); +} +function getBaseFileName(path3, extensions, ignoreCase) { + path3 = normalizeSlashes(path3); + const rootLength = getRootLength(path3); + if (rootLength === path3.length) return ""; - path2 = removeTrailingDirectorySeparator(path2); - const name = path2.slice(Math.max(getRootLength(path2), path2.lastIndexOf(directorySeparator) + 1)); + path3 = removeTrailingDirectorySeparator(path3); + const name = path3.slice(Math.max(getRootLength(path3), path3.lastIndexOf(directorySeparator) + 1)); const extension = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(name, extensions, ignoreCase) : void 0; return extension ? name.slice(0, name.length - extension.length) : name; } -function tryGetExtensionFromPath(path2, extension, stringEqualityComparer) { +function tryGetExtensionFromPath(path3, extension, stringEqualityComparer) { if (!startsWith(extension, ".")) extension = "." + extension; - if (path2.length >= extension.length && path2.charCodeAt(path2.length - extension.length) === 46 /* dot */) { - const pathExtension = path2.slice(path2.length - extension.length); + if (path3.length >= extension.length && path3.charCodeAt(path3.length - extension.length) === 46 /* dot */) { + const pathExtension = path3.slice(path3.length - extension.length); if (stringEqualityComparer(pathExtension, extension)) { return pathExtension; } } } -function getAnyExtensionFromPathWorker(path2, extensions, stringEqualityComparer) { +function getAnyExtensionFromPathWorker(path3, extensions, stringEqualityComparer) { if (typeof extensions === "string") { - return tryGetExtensionFromPath(path2, extensions, stringEqualityComparer) || ""; + return tryGetExtensionFromPath(path3, extensions, stringEqualityComparer) || ""; } for (const extension of extensions) { - const result = tryGetExtensionFromPath(path2, extension, stringEqualityComparer); + const result = tryGetExtensionFromPath(path3, extension, stringEqualityComparer); if (result) return result; } return ""; } -function getAnyExtensionFromPath(path2, extensions, ignoreCase) { +function getAnyExtensionFromPath(path3, extensions, ignoreCase) { if (extensions) { - return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path2), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); + return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path3), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive); } - const baseFileName = getBaseFileName(path2); + const baseFileName = getBaseFileName(path3); const extensionIndex = baseFileName.lastIndexOf("."); if (extensionIndex >= 0) { return baseFileName.substring(extensionIndex); } return ""; } -function pathComponents(path2, rootLength) { - const root = path2.substring(0, rootLength); - const rest = path2.substring(rootLength).split(directorySeparator); +function pathComponents(path3, rootLength) { + const root = path3.substring(0, rootLength); + const rest = path3.substring(rootLength).split(directorySeparator); if (rest.length && !lastOrUndefined(rest)) rest.pop(); return [root, ...rest]; } -function getPathComponents(path2, currentDirectory = "") { - path2 = combinePaths(currentDirectory, path2); - return pathComponents(path2, getRootLength(path2)); +function getPathComponents(path3, currentDirectory = "") { + path3 = combinePaths(currentDirectory, path3); + return pathComponents(path3, getRootLength(path3)); } function getPathFromPathComponents(pathComponents2) { if (pathComponents2.length === 0) @@ -5111,8 +5111,8 @@ function getPathFromPathComponents(pathComponents2) { const root = pathComponents2[0] && ensureTrailingDirectorySeparator(pathComponents2[0]); return root + pathComponents2.slice(1).join(directorySeparator); } -function normalizeSlashes(path2) { - return path2.indexOf("\\") !== -1 ? path2.replace(backslashRegExp, directorySeparator) : path2; +function normalizeSlashes(path3) { + return path3.indexOf("\\") !== -1 ? path3.replace(backslashRegExp, directorySeparator) : path3; } function reducePathComponents(components) { if (!some(components)) @@ -5137,67 +5137,67 @@ function reducePathComponents(components) { } return reduced; } -function combinePaths(path2, ...paths) { - if (path2) - path2 = normalizeSlashes(path2); +function combinePaths(path3, ...paths) { + if (path3) + path3 = normalizeSlashes(path3); for (let relativePath of paths) { if (!relativePath) continue; relativePath = normalizeSlashes(relativePath); - if (!path2 || getRootLength(relativePath) !== 0) { - path2 = relativePath; + if (!path3 || getRootLength(relativePath) !== 0) { + path3 = relativePath; } else { - path2 = ensureTrailingDirectorySeparator(path2) + relativePath; + path3 = ensureTrailingDirectorySeparator(path3) + relativePath; } } - return path2; + return path3; } -function resolvePath(path2, ...paths) { - return normalizePath(some(paths) ? combinePaths(path2, ...paths) : normalizeSlashes(path2)); +function resolvePath(path3, ...paths) { + return normalizePath(some(paths) ? combinePaths(path3, ...paths) : normalizeSlashes(path3)); } -function getNormalizedPathComponents(path2, currentDirectory) { - return reducePathComponents(getPathComponents(path2, currentDirectory)); +function getNormalizedPathComponents(path3, currentDirectory) { + return reducePathComponents(getPathComponents(path3, currentDirectory)); } function getNormalizedAbsolutePath(fileName, currentDirectory) { return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } -function normalizePath(path2) { - path2 = normalizeSlashes(path2); - if (!relativePathSegmentRegExp.test(path2)) { - return path2; +function normalizePath(path3) { + path3 = normalizeSlashes(path3); + if (!relativePathSegmentRegExp.test(path3)) { + return path3; } - const simplified = path2.replace(/\/\.\//g, "/").replace(/^\.\//, ""); - if (simplified !== path2) { - path2 = simplified; - if (!relativePathSegmentRegExp.test(path2)) { - return path2; + const simplified = path3.replace(/\/\.\//g, "/").replace(/^\.\//, ""); + if (simplified !== path3) { + path3 = simplified; + if (!relativePathSegmentRegExp.test(path3)) { + return path3; } } - const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path2))); - return normalized && hasTrailingDirectorySeparator(path2) ? ensureTrailingDirectorySeparator(normalized) : normalized; + const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path3))); + return normalized && hasTrailingDirectorySeparator(path3) ? ensureTrailingDirectorySeparator(normalized) : normalized; } function toPath(fileName, basePath, getCanonicalFileName) { const nonCanonicalizedPath = isRootedDiskPath(fileName) ? normalizePath(fileName) : getNormalizedAbsolutePath(fileName, basePath); return getCanonicalFileName(nonCanonicalizedPath); } -function removeTrailingDirectorySeparator(path2) { - if (hasTrailingDirectorySeparator(path2)) { - return path2.substr(0, path2.length - 1); +function removeTrailingDirectorySeparator(path3) { + if (hasTrailingDirectorySeparator(path3)) { + return path3.substr(0, path3.length - 1); } - return path2; + return path3; } -function ensureTrailingDirectorySeparator(path2) { - if (!hasTrailingDirectorySeparator(path2)) { - return path2 + directorySeparator; +function ensureTrailingDirectorySeparator(path3) { + if (!hasTrailingDirectorySeparator(path3)) { + return path3 + directorySeparator; } - return path2; + return path3; } -function ensurePathIsNonModuleName(path2) { - return !pathIsAbsolute(path2) && !pathIsRelative(path2) ? "./" + path2 : path2; +function ensurePathIsNonModuleName(path3) { + return !pathIsAbsolute(path3) && !pathIsRelative(path3) ? "./" + path3 : path3; } -function changeAnyExtension(path2, ext, extensions, ignoreCase) { - const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path2, extensions, ignoreCase) : getAnyExtensionFromPath(path2); - return pathext ? path2.slice(0, path2.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path2; +function changeAnyExtension(path3, ext, extensions, ignoreCase) { + const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path3, extensions, ignoreCase) : getAnyExtensionFromPath(path3); + return pathext ? path3.slice(0, path3.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path3; } var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; function comparePathsWorker(a, b, componentComparer) { @@ -5278,11 +5278,11 @@ function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanoni return toComponents; } const components = toComponents.slice(start); - const relative = []; + const relative2 = []; for (; start < fromComponents.length; start++) { - relative.push(".."); + relative2.push(".."); } - return ["", ...relative, ...components]; + return ["", ...relative2, ...components]; } function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative"); @@ -11567,8 +11567,8 @@ function hostUsesCaseSensitiveFileNames(host) { function hostGetCanonicalFileName(host) { return createGetCanonicalFileName(hostUsesCaseSensitiveFileNames(host)); } -function getPossibleOriginalInputExtensionForExtension(path2) { - return fileExtensionIsOneOf(path2, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path2, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path2, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; +function getPossibleOriginalInputExtensionForExtension(path3) { + return fileExtensionIsOneOf(path3, [".d.mts" /* Dmts */, ".mjs" /* Mjs */, ".mts" /* Mts */]) ? [".mts" /* Mts */, ".mjs" /* Mjs */] : fileExtensionIsOneOf(path3, [".d.cts" /* Dcts */, ".cjs" /* Cjs */, ".cts" /* Cts */]) ? [".cts" /* Cts */, ".cjs" /* Cjs */] : fileExtensionIsOneOf(path3, [`.json.d.ts`]) ? [".json" /* Json */] : [".tsx" /* Tsx */, ".ts" /* Ts */, ".jsx" /* Jsx */, ".js" /* Js */]; } function outFile(options) { return options.outFile || options.out; @@ -11586,12 +11586,12 @@ function ensureDirectoriesExist(directoryPath, createDirectory, directoryExists) createDirectory(directoryPath); } } -function writeFileEnsuringDirectories(path2, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { +function writeFileEnsuringDirectories(path3, data, writeByteOrderMark, writeFile2, createDirectory, directoryExists) { try { - writeFile2(path2, data, writeByteOrderMark); + writeFile2(path3, data, writeByteOrderMark); } catch (e) { - ensureDirectoriesExist(getDirectoryPath(normalizePath(path2)), createDirectory, directoryExists); - writeFile2(path2, data, writeByteOrderMark); + ensureDirectoriesExist(getDirectoryPath(normalizePath(path3)), createDirectory, directoryExists); + writeFile2(path3, data, writeByteOrderMark); } } function getLineOfLocalPositionFromLineMap(lineMap, pos) { @@ -11879,15 +11879,15 @@ function isEmptyObjectLiteral(expression) { function tryExtractTSExtension(fileName) { return find(supportedTSExtensionsForExtractExtension, (extension) => fileExtensionIs(fileName, extension)); } -function readJsonOrUndefined(path2, hostOrText) { - const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path2); +function readJsonOrUndefined(path3, hostOrText) { + const jsonText = isString(hostOrText) ? hostOrText : hostOrText.readFile(path3); if (!jsonText) return void 0; - const result = parseConfigFileTextToJson(path2, jsonText); + const result = parseConfigFileTextToJson(path3, jsonText); return !result.error ? result.config : void 0; } -function readJson(path2, host) { - return readJsonOrUndefined(path2, host) || {}; +function readJson(path3, host) { + return readJsonOrUndefined(path3, host) || {}; } function directoryProbablyExists(directoryName, host) { return !host.directoryExists || host.directoryExists(directoryName); @@ -12333,25 +12333,25 @@ function getSubPatternFromSpec(spec, basePath, usage, { singleAsteriskRegexFragm function replaceWildcardCharacter(match, singleAsteriskRegexFragment) { return match === "*" ? singleAsteriskRegexFragment : match === "?" ? "[^/]" : "\\" + match; } -function getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { - path2 = normalizePath(path2); +function getFileMatcherPatterns(path3, excludes, includes, useCaseSensitiveFileNames, currentDirectory) { + path3 = normalizePath(path3); currentDirectory = normalizePath(currentDirectory); - const absolutePath = combinePaths(currentDirectory, path2); + const absolutePath = combinePaths(currentDirectory, path3); return { includeFilePatterns: map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), (pattern) => `^${pattern}$`), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), - basePaths: getBasePaths(path2, includes, useCaseSensitiveFileNames) + basePaths: getBasePaths(path3, includes, useCaseSensitiveFileNames) }; } function getRegexFromPattern(pattern, useCaseSensitiveFileNames) { return new RegExp(pattern, useCaseSensitiveFileNames ? "" : "i"); } -function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { - path2 = normalizePath(path2); +function matchFiles(path3, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) { + path3 = normalizePath(path3); currentDirectory = normalizePath(currentDirectory); - const patterns = getFileMatcherPatterns(path2, excludes, includes, useCaseSensitiveFileNames, currentDirectory); + const patterns = getFileMatcherPatterns(path3, excludes, includes, useCaseSensitiveFileNames, currentDirectory); const includeFileRegexes = patterns.includeFilePatterns && patterns.includeFilePatterns.map((pattern) => getRegexFromPattern(pattern, useCaseSensitiveFileNames)); const includeDirectoryRegex = patterns.includeDirectoryPattern && getRegexFromPattern(patterns.includeDirectoryPattern, useCaseSensitiveFileNames); const excludeRegex = patterns.excludePattern && getRegexFromPattern(patterns.excludePattern, useCaseSensitiveFileNames); @@ -12362,14 +12362,14 @@ function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileN visitDirectory(basePath, combinePaths(currentDirectory, basePath), depth); } return flatten(results); - function visitDirectory(path3, absolutePath, depth2) { + function visitDirectory(path4, absolutePath, depth2) { const canonicalPath = toCanonical(realpath(absolutePath)); if (visited.has(canonicalPath)) return; visited.set(canonicalPath, true); - const { files, directories } = getFileSystemEntries(path3); + const { files, directories } = getFileSystemEntries(path4); for (const current of sort(files, compareStringsCaseSensitive)) { - const name = combinePaths(path3, current); + const name = combinePaths(path4, current); const absoluteName = combinePaths(absolutePath, current); if (extensions && !fileExtensionIsOneOf(name, extensions)) continue; @@ -12391,7 +12391,7 @@ function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileN } } for (const current of sort(directories, compareStringsCaseSensitive)) { - const name = combinePaths(path3, current); + const name = combinePaths(path4, current); const absoluteName = combinePaths(absolutePath, current); if ((!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName)) && (!excludeRegex || !excludeRegex.test(absoluteName))) { visitDirectory(name, absoluteName, depth2); @@ -12399,17 +12399,17 @@ function matchFiles(path2, extensions, excludes, includes, useCaseSensitiveFileN } } } -function getBasePaths(path2, includes, useCaseSensitiveFileNames) { - const basePaths = [path2]; +function getBasePaths(path3, includes, useCaseSensitiveFileNames) { + const basePaths = [path3]; if (includes) { const includeBasePaths = []; for (const include of includes) { - const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path2, include)); + const absolute = isRootedDiskPath(include) ? include : normalizePath(combinePaths(path3, include)); includeBasePaths.push(getIncludeBasePath(absolute)); } includeBasePaths.sort(getStringComparer(!useCaseSensitiveFileNames)); for (const includeBasePath of includeBasePaths) { - if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path2, !useCaseSensitiveFileNames))) { + if (every(basePaths, (basePath) => !containsPath(basePath, includeBasePath, path3, !useCaseSensitiveFileNames))) { basePaths.push(includeBasePath); } } @@ -12465,20 +12465,20 @@ function hasTSFileExtension(fileName) { return some(supportedTSExtensionsFlat, (extension) => fileExtensionIs(fileName, extension)); } var extensionsToRemove = [".d.ts" /* Dts */, ".d.ets" /* Dets */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".mts" /* Mts */, ".cjs" /* Cjs */, ".cts" /* Cts */, ".ts" /* Ts */, ".js" /* Js */, ".tsx" /* Tsx */, ".jsx" /* Jsx */, ".json" /* Json */, ".ets" /* Ets */]; -function removeFileExtension(path2) { +function removeFileExtension(path3) { for (const ext of extensionsToRemove) { - const extensionless = tryRemoveExtension(path2, ext); + const extensionless = tryRemoveExtension(path3, ext); if (extensionless !== void 0) { return extensionless; } } - return path2; + return path3; } -function tryRemoveExtension(path2, extension) { - return fileExtensionIs(path2, extension) ? removeExtension(path2, extension) : void 0; +function tryRemoveExtension(path3, extension) { + return fileExtensionIs(path3, extension) ? removeExtension(path3, extension) : void 0; } -function removeExtension(path2, extension) { - return path2.substring(0, path2.length - extension.length); +function removeExtension(path3, extension) { + return path3.substring(0, path3.length - extension.length); } function tryParsePattern(pattern) { const indexOfStar = pattern.indexOf("*"); @@ -12491,16 +12491,16 @@ function tryParsePattern(pattern) { }; } function tryParsePatterns(paths) { - return mapDefined(getOwnKeys(paths), (path2) => tryParsePattern(path2)); + return mapDefined(getOwnKeys(paths), (path3) => tryParsePattern(path3)); } function positionIsSynthesized(pos) { return !(pos >= 0); } -function tryGetExtensionFromPath2(path2) { - if (fileExtensionIs(path2, ".ets" /* Ets */)) { +function tryGetExtensionFromPath2(path3) { + if (fileExtensionIs(path3, ".ets" /* Ets */)) { return ".ets" /* Ets */; } - return find(extensionsToRemove, (e) => fileExtensionIs(path2, e)); + return find(extensionsToRemove, (e) => fileExtensionIs(path3, e)); } var emptyFileSystemEntries = { files: emptyArray, @@ -19280,7 +19280,7 @@ var Parser; let statements = parseList(ParsingContext.SourceElements, parseStatement); const markedkitImportRanges = new Array(); const sdkPath = getSdkPath(sourceFileCompilerOptions); - statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + statements = !!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || (languageVersionCallBack == null ? void 0 : languageVersionCallBack(fileName)) ? statements : createNodeArray(processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext(), sourceFileCompilerOptions), statements.pos); Debug.assert(token() === 1 /* EndOfFileToken */); const endOfFileToken = addJSDocComment(parseTokenNode()); const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2); @@ -25850,7 +25850,7 @@ function processPragmasIntoFields(context, reportDiagnostic) { const typeReferenceDirectives = context.typeReferenceDirectives; const libReferenceDirectives = context.libReferenceDirectives; forEach(toArray(entryOrList), (arg) => { - const { types, lib, path: path2, ["resolution-mode"]: res } = arg.arguments; + const { types, lib, path: path3, ["resolution-mode"]: res } = arg.arguments; if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } else if (types) { @@ -25858,8 +25858,8 @@ function processPragmasIntoFields(context, reportDiagnostic) { typeReferenceDirectives.push({ pos: types.pos, end: types.end, fileName: types.value, ...parsed ? { resolutionMode: parsed } : {} }); } else if (lib) { libReferenceDirectives.push({ pos: lib.pos, end: lib.end, fileName: lib.value }); - } else if (path2) { - referencedFiles.push({ pos: path2.pos, end: path2.end, fileName: path2.value }); + } else if (path3) { + referencedFiles.push({ pos: path3.pos, end: path3.end, fileName: path3.value }); } else { reportDiagnostic(arg.range.pos, arg.range.end - arg.range.pos, Diagnostics.Invalid_reference_directive_syntax); } @@ -27933,12 +27933,12 @@ function readPackageJsonPathField(jsonContent, fieldName, baseDirectory, state) } return; } - const path2 = normalizePath(combinePaths(baseDirectory, fileName)); + const path3 = normalizePath(combinePaths(baseDirectory, fileName)); if (state.traceEnabled) { const message = isOhpm(state.compilerOptions.packageManagerType) ? Diagnostics.oh_package_json5_has_0_field_1_that_references_2 : Diagnostics.package_json_has_0_field_1_that_references_2; - trace(state.host, message, fieldName, fileName, path2); + trace(state.host, message, fieldName, fileName, path3); } - return path2; + return path3; } function readPackageJsonTypesFields(jsonContent, baseDirectory, state) { return readPackageJsonPathField(jsonContent, "typings", baseDirectory, state) || readPackageJsonPathField(jsonContent, "types", baseDirectory, state); @@ -28001,9 +28001,9 @@ function getPackageJsonTypesVersionsPaths(typesVersions) { } } } -function arePathsEqual(path1, path2, host) { +function arePathsEqual(path1, path22, host) { const useCaseSensitiveFileNames = typeof host.useCaseSensitiveFileNames === "function" ? host.useCaseSensitiveFileNames() : host.useCaseSensitiveFileNames; - return comparePaths(path1, path2, !useCaseSensitiveFileNames) === 0 /* EqualTo */; + return comparePaths(path1, path22, !useCaseSensitiveFileNames) === 0 /* EqualTo */; } function resolveModuleName(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { const traceEnabled = isTraceEnabled(compilerOptions, host); @@ -28308,10 +28308,10 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, return void 0; let resolvedValue = resolved2.value; if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) { - const path2 = realPath(resolvedValue.path, host, traceEnabled); - const pathsAreEqual = arePathsEqual(path2, resolvedValue.path, host); + const path3 = realPath(resolvedValue.path, host, traceEnabled); + const pathsAreEqual = arePathsEqual(path3, resolvedValue.path, host); const originalPath = pathsAreEqual ? void 0 : resolvedValue.path; - resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path2, originalPath }; + resolvedValue = { ...resolvedValue, path: pathsAreEqual ? resolvedValue.path : path3, originalPath }; } return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; } else { @@ -28325,18 +28325,18 @@ function normalizePathForCJSResolution(containingDirectory, moduleName) { const combined = combinePaths(containingDirectory, moduleName); const parts = getPathComponents(combined); const lastPart = lastOrUndefined(parts); - const path2 = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); - return { path: path2, parts }; + const path3 = lastPart === "." || lastPart === ".." ? ensureTrailingDirectorySeparator(normalizePath(combined)) : normalizePath(combined); + return { path: path3, parts }; } -function realPath(path2, host, traceEnabled) { +function realPath(path3, host, traceEnabled) { if (!host.realpath) { - return path2; + return path3; } - const real = normalizePath(host.realpath(path2)); + const real = normalizePath(host.realpath(path3)); if (traceEnabled) { - trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path2, real); + trace(host, Diagnostics.Resolving_real_path_for_0_result_1, path3, real); } - Debug.assert(host.fileExists(real), `${path2} linked to nonexistent file ${real}`); + Debug.assert(host.fileExists(real), `${path3} linked to nonexistent file ${real}`); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -28375,25 +28375,25 @@ function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, return void 0; } var nodeModulesPathPart = "/node_modules/"; -function pathContainsNodeModules(path2) { - return stringContains(path2, nodeModulesPathPart); +function pathContainsNodeModules(path3) { + return stringContains(path3, nodeModulesPathPart); } function parseModuleFromPath(resolved, packageManagerType) { const modulesPathPart = getModulePathPartByPMType(packageManagerType); - const path2 = normalizePath(resolved); - const idx = path2.lastIndexOf(modulesPathPart); + const path3 = normalizePath(resolved); + const idx = path3.lastIndexOf(modulesPathPart); if (idx === -1) { return void 0; } const indexAfterModules = idx + modulesPathPart.length; - let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterModules); - if (path2.charCodeAt(indexAfterModules) === 64 /* at */) { - indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterPackageName); + let indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path3, indexAfterModules); + if (path3.charCodeAt(indexAfterModules) === 64 /* at */) { + indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path3, indexAfterPackageName); } - return path2.slice(0, indexAfterPackageName); + return path3.slice(0, indexAfterPackageName); } -function moveToNextDirectorySeparatorIfAvailable(path2, prevSeparatorIndex) { - const nextSeparatorIndex = path2.indexOf(directorySeparator, prevSeparatorIndex + 1); +function moveToNextDirectorySeparatorIfAvailable(path3, prevSeparatorIndex) { + const nextSeparatorIndex = path3.indexOf(directorySeparator, prevSeparatorIndex + 1); return nextSeparatorIndex === -1 ? prevSeparatorIndex : nextSeparatorIndex; } function loadModuleFromFileNoPackageId(extensions, candidate, onlyRecordFailures, state) { @@ -28496,8 +28496,8 @@ function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecor return tryExtension(".json" /* Json */); } function tryExtension(ext) { - const path2 = tryFile(candidate + ext, onlyRecordFailures, state); - return path2 === void 0 ? void 0 : { path: path2, ext }; + const path3 = tryFile(candidate + ext, onlyRecordFailures, state); + return path3 === void 0 ? void 0 : { path: path3, ext }; } } function tryFile(fileName, onlyRecordFailures, state) { @@ -28648,9 +28648,9 @@ function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFail return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state); } } -function resolvedIfExtensionMatches(extensions, path2) { - const ext = tryGetExtensionFromPath2(path2); - return ext !== void 0 && extensionIsOk(extensions, ext) ? { path: path2, ext } : void 0; +function resolvedIfExtensionMatches(extensions, path3) { + const ext = tryGetExtensionFromPath2(path3); + return ext !== void 0 && extensionIsOk(extensions, ext) ? { path: path3, ext } : void 0; } function extensionIsOk(extensions, extension) { switch (extensions) { @@ -28904,11 +28904,11 @@ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirec trace(state.host, Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName); } return toSearchResult(void 0); - function toAbsolutePath(path2) { + function toAbsolutePath(path3) { var _a2, _b; - if (path2 === void 0) - return path2; - return getNormalizedAbsolutePath(path2, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); + if (path3 === void 0) + return path3; + return getNormalizedAbsolutePath(path3, (_b = (_a2 = state.host).getCurrentDirectory) == null ? void 0 : _b.call(_a2)); } function combineDirectoryPath(root, dir) { return ensureTrailingDirectorySeparator(combinePaths(root, dir)); @@ -29102,16 +29102,16 @@ function tryLoadModuleUsingPaths(extensions, moduleName, baseDirectory, paths, p trace(state.host, Diagnostics.Module_name_0_matched_pattern_1, moduleName, matchedPatternText); } const resolved = forEach(paths[matchedPatternText], (subst) => { - const path2 = matchedStar ? subst.replace("*", matchedStar) : subst; - const candidate = normalizePath(combinePaths(baseDirectory, path2)); + const path3 = matchedStar ? subst.replace("*", matchedStar) : subst; + const candidate = normalizePath(combinePaths(baseDirectory, path3)); if (state.traceEnabled) { - trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path2); + trace(state.host, Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1, subst, path3); } const extension = tryGetExtensionFromPath2(subst); if (extension !== void 0) { - const path3 = tryFile(candidate, onlyRecordFailures, state); - if (path3 !== void 0) { - return noPackageId({ path: path3, ext: extension }); + const path4 = tryFile(candidate, onlyRecordFailures, state); + if (path4 !== void 0) { + return noPackageId({ path: path4, ext: extension }); } } return loader(extensions, candidate, onlyRecordFailures || !directoryProbablyExists(getDirectoryPath(candidate), state.host), state); @@ -29210,6 +29210,7 @@ function traceIfEnabled(state, diagnostic, ...args) { } // src/compiler/ohApi.ts +var path = __toESM(require("path")); function isInEtsFile(node) { var _a2; return node !== void 0 && ((_a2 = getSourceFileOfNode(node)) == null ? void 0 : _a2.scriptKind) === 8 /* ETS */; @@ -29243,8 +29244,8 @@ function getPackageJsonByPMType(packageManagerType) { } return "package.json"; } -function pathContainsOHModules(path2) { - return stringContains(path2, ohModulesPathPart); +function pathContainsOHModules(path3) { + return stringContains(path3, ohModulesPathPart); } function hasEtsExtendDecoratorNames(decorators, options) { const names = []; @@ -29357,16 +29358,30 @@ var JSON_SUFFIX = ".json"; var KIT_PREFIX = "@kit."; var DEFAULT_KEYWORD = "default"; var ETS_DECLARATION = ".d.ets"; -var OHOS_KIT_CONFIG_PATH = "./openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs"; -var HMS_KIT_CONFIG_PATH = "./hms/ets/ets1.1/build-tools/ets-loader/kit_configs"; var kitJsonCache = /* @__PURE__ */ new Map(); function getSdkPath(compilerOptions) { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../../..") : void 0; + if (compilerOptions.etsLoaderPath && normalizePath(compilerOptions.etsLoaderPath).endsWith("ets1.1/build-tools/ets-loader")) { + return resolvePath(compilerOptions.etsLoaderPath, "../../../../.."); + } + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, "../../../..") : void 0; +} +function getKitConfigRelativePath(compilerOptions) { + const etsLoaderPath = compilerOptions.etsLoaderPath; + const sdkPath = getSdkPath(compilerOptions); + return path.relative( + sdkPath, + path.join(etsLoaderPath, "kit_configs") + ); +} +function convertPath(originalPath, from, to) { + return originalPath.replace(new RegExp(from, "g"), to); } -function getKitJsonObject(name, sdkPath) { +function getKitJsonObject(name, sdkPath, compilerOptions) { if (kitJsonCache == null ? void 0 : kitJsonCache.has(name)) { return kitJsonCache.get(name); } + const OHOS_KIT_CONFIG_PATH = getKitConfigRelativePath(compilerOptions); + const HMS_KIT_CONFIG_PATH = convertPath(OHOS_KIT_CONFIG_PATH, "openharmony", "hms"); const ohosJsonPath = resolvePath(sdkPath, OHOS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); const hmsJsonPath = resolvePath(sdkPath, HMS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); let fileInfo = sys.fileExists(ohosJsonPath) ? sys.readFile(ohosJsonPath, "utf-8") : sys.fileExists(hmsJsonPath) ? sys.readFile(hmsJsonPath, "utf-8") : void 0; @@ -29523,7 +29538,7 @@ function processKitStatementSuccess(factory2, statement, jsonObject, inEtsContex } return true; } -function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext) { +function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsContext, compilerOptions) { const list = []; let skipRestStatements = false; statements.forEach( @@ -29540,7 +29555,7 @@ function processKit(factory2, statements, sdkPath, markedkitImportRanges, inEtsC list.push(statement); return; } - const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath); + const jsonObject = getKitJsonObject(moduleSpecifierText, sdkPath, compilerOptions); const newImportStatements = new Array(); if (!processKitStatementSuccess(factory2, statement, jsonObject, inEtsContext, newImportStatements)) { list.push(statement); @@ -38633,12 +38648,12 @@ var BuilderState; state.allFileNames = void 0; } BuilderState2.releaseCache = releaseCache; - function getFilesAffectedBy(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { + function getFilesAffectedBy(state, programOfThisState, path3, cancellationToken, computeHash, getCanonicalFileName) { var _a2, _b; const result = getFilesAffectedByWithOldState( state, programOfThisState, - path2, + path3, cancellationToken, computeHash, getCanonicalFileName @@ -38648,8 +38663,8 @@ var BuilderState; return result; } BuilderState2.getFilesAffectedBy = getFilesAffectedBy; - function getFilesAffectedByWithOldState(state, programOfThisState, path2, cancellationToken, computeHash, getCanonicalFileName) { - const sourceFile = programOfThisState.getSourceFileByPath(path2); + function getFilesAffectedByWithOldState(state, programOfThisState, path3, cancellationToken, computeHash, getCanonicalFileName) { + const sourceFile = programOfThisState.getSourceFileByPath(path3); if (!sourceFile) { return emptyArray; } @@ -38659,9 +38674,9 @@ var BuilderState; return (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName); } BuilderState2.getFilesAffectedByWithOldState = getFilesAffectedByWithOldState; - function updateSignatureOfFile(state, signature, path2) { - state.fileInfos.get(path2).signature = signature; - (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path2); + function updateSignatureOfFile(state, signature, path3) { + state.fileInfos.get(path3).signature = signature; + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new Set2())).add(path3); } BuilderState2.updateSignatureOfFile = updateSignatureOfFile; function updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName, useFileVersionAsSignature = state.useFileVersionAsSignature) { @@ -38731,7 +38746,7 @@ var BuilderState; if (!exportedModules) { exportedModules = new Set2(); } - exportedModulePaths.forEach((path2) => exportedModules.add(path2)); + exportedModulePaths.forEach((path3) => exportedModules.add(path3)); } } } @@ -38747,10 +38762,10 @@ var BuilderState; const seenMap = new Set2(); const queue = [sourceFile.resolvedPath]; while (queue.length) { - const path2 = queue.pop(); - if (!seenMap.has(path2)) { - seenMap.add(path2); - const references = state.referencedMap.getValues(path2); + const path3 = queue.pop(); + if (!seenMap.has(path3)) { + seenMap.add(path3); + const references = state.referencedMap.getValues(path3); if (references) { const iterator = references.keys(); for (let iterResult = iterator.next(); !iterResult.done; iterResult = iterator.next()) { @@ -38759,9 +38774,9 @@ var BuilderState; } } } - return arrayFrom(mapDefinedIterator(seenMap.keys(), (path2) => { + return arrayFrom(mapDefinedIterator(seenMap.keys(), (path3) => { var _a2, _b; - return (_b = (_a2 = programOfThisState.getSourceFileByPath(path2)) == null ? void 0 : _a2.fileName) != null ? _b : path2; + return (_b = (_a2 = programOfThisState.getSourceFileByPath(path3)) == null ? void 0 : _a2.fileName) != null ? _b : path3; })); } BuilderState2.getAllDependencies = getAllDependencies; @@ -38964,11 +38979,11 @@ function nonRelativeModuleNameForTypingCache(moduleName) { return nodeCoreModules.has(moduleName) ? "node" : moduleName; } function loadSafeList(host, safeListPath) { - const result = readConfigFile(safeListPath, (path2) => host.readFile(path2)); + const result = readConfigFile(safeListPath, (path3) => host.readFile(path3)); return new Map2(getEntries(result.config)); } function loadTypesMap(host, typesMapPath) { - const result = readConfigFile(typesMapPath, (path2) => host.readFile(path2)); + const result = readConfigFile(typesMapPath, (path3) => host.readFile(path3)); if (result.config) { return new Map2(getEntries(result.config.simpleMap)); } @@ -38980,9 +38995,9 @@ function discoverTypings(host, log2, fileNames, projectRootPath, safeList, packa } const inferredTypings = new Map2(); fileNames = mapDefined(fileNames, (fileName) => { - const path2 = normalizePath(fileName); - if (hasJSFileExtension(path2)) { - return path2; + const path3 = normalizePath(fileName); + if (hasJSFileExtension(path3)) { + return path3; } }); const filesToWatch = []; @@ -39049,7 +39064,7 @@ function discoverTypings(host, log2, fileNames, projectRootPath, safeList, packa let manifestTypingNames; if (host.fileExists(manifestPath)) { filesToWatch2.push(manifestPath); - manifest = readConfigFile(manifestPath, (path2) => host.readFile(path2)).config; + manifest = readConfigFile(manifestPath, (path3) => host.readFile(path3)).config; manifestTypingNames = flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], getOwnKeys); addInferredTypings(manifestTypingNames, `Typing names in '${manifestPath}' dependencies`); } @@ -39071,7 +39086,7 @@ function discoverTypings(host, log2, fileNames, projectRootPath, safeList, packa log2(`Searching for typing names in ${packagesFolderPath}; all files: ${JSON.stringify(dependencyManifestNames)}`); for (const manifestPath2 of dependencyManifestNames) { const normalizedFileName = normalizePath(manifestPath2); - const result2 = readConfigFile(normalizedFileName, (path2) => host.readFile(path2)); + const result2 = readConfigFile(normalizedFileName, (path3) => host.readFile(path3)); const manifest2 = result2.config; if (!manifest2.name) { continue; @@ -39548,21 +39563,21 @@ var TypingsInstaller = class { } watchers.isInvoked = false; const isLoggingEnabled = this.log.isEnabled(); - const createProjectWatcher = (path2, projectWatcherType) => { - const canonicalPath = this.toCanonicalFileName(path2); + const createProjectWatcher = (path3, projectWatcherType) => { + const canonicalPath = this.toCanonicalFileName(path3); toRemove.delete(canonicalPath); if (watchers.has(canonicalPath)) { return; } if (isLoggingEnabled) { - this.log.writeLine(`${projectWatcherType}:: Added:: WatchInfo: ${path2}`); + this.log.writeLine(`${projectWatcherType}:: Added:: WatchInfo: ${path3}`); } - const watcher = projectWatcherType === "FileWatcher" /* FileWatcher */ ? this.watchFactory.watchFile(path2, () => { + const watcher = projectWatcherType === "FileWatcher" /* FileWatcher */ ? this.watchFactory.watchFile(path3, () => { if (!watchers.isInvoked) { watchers.isInvoked = true; this.sendResponse({ projectName, kind: ActionInvalidate }); } - }, 2e3 /* High */, options, projectName, watchers) : this.watchFactory.watchDirectory(path2, (f) => { + }, 2e3 /* High */, options, projectName, watchers) : this.watchFactory.watchDirectory(path3, (f) => { if (watchers.isInvoked || !fileExtensionIs(f, ".json" /* Json */)) { return; } @@ -39573,7 +39588,7 @@ var TypingsInstaller = class { }, 1 /* Recursive */, options, projectName, watchers); watchers.set(canonicalPath, isLoggingEnabled ? { close: () => { - this.log.writeLine(`${projectWatcherType}:: Closed:: WatchInfo: ${path2}`); + this.log.writeLine(`${projectWatcherType}:: Closed:: WatchInfo: ${path3}`); watcher.close(); } } : watcher); @@ -39598,9 +39613,9 @@ var TypingsInstaller = class { } createProjectWatcher(file, "DirectoryWatcher" /* DirectoryWatcher */); } - toRemove.forEach((watch, path2) => { + toRemove.forEach((watch, path3) => { watch.close(); - watchers.delete(path2); + watchers.delete(path3); }); } createSetTypings(request, typings) { @@ -39652,8 +39667,8 @@ var FileLog = class { } }; function getDefaultNPMLocation(processName, validateDefaultNpmLocation2, host) { - if (path.basename(processName).indexOf("node") === 0) { - const npmPath = path.join(path.dirname(process.argv[0]), "npm"); + if (path2.basename(processName).indexOf("node") === 0) { + const npmPath = path2.join(path2.dirname(process.argv[0]), "npm"); if (!validateDefaultNpmLocation2) { return npmPath; } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d6694c6347..7dabf33a08 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1,211 +1,1071 @@ import * as ts from "./_namespaces/ts"; import { - __String, AccessExpression, AccessFlags, AccessorDeclaration, addRange, addRelatedInfo, addSyntheticLeadingComment, - AllAccessorDeclarations, and, Annotation, AnnotationDeclaration, AnnotationElement, AnnotationPropertyDeclaration, - AnonymousType, AnyImportOrReExport, AnyImportSyntax, append, appendIfUnique, - ArrayBindingPattern, arrayFrom, arrayIsHomogeneous, ArrayLiteralExpression, arrayOf, arraysEqual, arrayToMultiMap, - ArrayTypeNode, ArrowFunction, AssertionExpression, AssignmentDeclarationKind, AssignmentKind, AssignmentPattern, - AwaitExpression, BaseType, BigIntLiteral, BigIntLiteralType, BinaryExpression, BinaryOperatorToken, binarySearch, - BindableObjectDefinePropertyCall, BindingElement, BindingElementGrandparent, BindingName, BindingPattern, - bindSourceFile, Block, BreakOrContinueStatement, CallChain, CallExpression, CallLikeExpression, - CallSignatureDeclaration, CancellationToken, canHaveDecorators, canHaveExportModifier, canHaveIllegalDecorators, - canHaveIllegalModifiers, canHaveModifiers, cartesianProduct, CaseBlock, CaseClause, CaseOrDefaultClause, cast, - chainDiagnosticMessages, CharacterCodes, CheckFlags, checkStructPropertyPosition, ClassDeclaration, ClassElement, ClassExpression, - ClassLikeDeclaration, ClassStaticBlockDeclaration, clear, combinePaths, compareDiagnostics, comparePaths, - compareValues, Comparison, CompilerOptions, ComputedPropertyName, concatenate, concatenateDiagnosticMessageChains, - ConditionalExpression, ConditionalRoot, ConditionalType, ConditionalTypeNode, ConditionCheckResult, - ConstructorDeclaration, ConstructorTypeNode, ConstructSignatureDeclaration, contains, containsParseError, - ContextFlags, copyEntries, countWhere, createBinaryExpressionTrampoline, createCompilerDiagnostic, - createDiagnosticCollection, createDiagnosticForFileFromMessageChain, createDiagnosticForNode, - createDiagnosticForNodeArray, createDiagnosticForNodeFromMessageChain, createDiagnosticForNodeInSourceFile, - createDiagnosticMessageChainFromDiagnostic, createEmptyExports, createFileDiagnostic, createGetCanonicalFileName, - createGetSymbolWalker, createPrinterWithDefaults, createPrinterWithRemoveComments, createPrinterWithRemoveCommentsNeverAsciiEscape, - createPrinterWithRemoveCommentsOmitTrailingSemicolon, createPropertyNameNodeForIdentifierOrLiteral, createScanner, createSymbolTable, createTextWriter, - createUnderscoreEscapedMultiMap, Debug, Declaration, DeclarationName, declarationNameToString, DeclarationStatement, DeclarationWithTypeParameterChildren, - DeclarationWithTypeParameters, Decorator, deduplicate, DefaultClause, defaultMaximumTruncationLength, DeferredTypeReference, DeleteExpression, - Diagnostic, DiagnosticCategory, DiagnosticMessage, DiagnosticMessageChain, DiagnosticRelatedInformation, - Diagnostics, DiagnosticWithLocation, DoStatement, DynamicNamedDeclaration, ElementAccessChain, - ElementAccessExpression, ElementFlags, EmitFlags, EmitHint, EmitResolver, EmitTextWriter, emptyArray, endsWith, - EntityName, EntityNameExpression, EntityNameOrEntityNameExpression, entityNameToString, EnumDeclaration, EnumKind, - EnumMember, equateValues, escapeLeadingUnderscores, escapeString, ESMap, EtsComponentExpression, every, - EvolvingArrayType, ExclamationToken, ExportAssignment, exportAssignmentIsAlias, ExportDeclaration, ExportSpecifier, - Expression, expressionResultIsUnused, ExpressionStatement, ExpressionWithTypeArguments, Extension, - ExternalEmitHelpers, externalHelpersModuleNameText, factory, FileCheckModuleInfo, fileExtensionIs, - fileExtensionIsOneOf, filter, find, findAncestor, findBestPatternMatch, findIndex, findLast, findLastIndex, - findUseStrictPrologue, first, firstDefined, firstOrUndefined, flatMap, flatten, FlowArrayMutation, FlowAssignment, - FlowCall, FlowCondition, FlowFlags, FlowLabel, FlowNode, FlowReduceLabel, FlowStart, FlowSwitchClause, FlowType, - forEach, forEachChild, forEachChildRecursively, forEachEnclosingBlockScopeContainer, forEachEntry, - forEachImportClauseDeclaration, forEachKey, forEachReturnStatement, forEachYieldExpression, ForInOrOfStatement, - ForInStatement, formatMessage, ForOfStatement, ForStatement, FreshableIntrinsicType, FreshableType, - FreshObjectLiteralType, FunctionDeclaration, FunctionExpression, FunctionFlags, FunctionLikeDeclaration, - FunctionTypeNode, GenericType, GetAccessorDeclaration, getAliasDeclarationFromName, getAllAccessorDeclarations, - getAllDecorators, getAllowSyntheticDefaultImports, getAncestor, getAssignedExpandoInitializer, - getAssignmentDeclarationKind, getAssignmentDeclarationPropertyAccessKind, getAssignmentTargetKind, getCheckFlags, - getClassExtendsHeritageElement, getClassLikeDeclarationOfSymbol, getCombinedLocalAndExportSymbolFlags, - getCombinedModifierFlags, getCombinedNodeFlags, getContainingClass, getContainingFunction, - getContainingFunctionOrClassStaticBlock, getContainingStruct, getDeclarationModifierFlagsFromSymbol, - getDeclarationOfKind, getDeclarationsOfKind, getDeclaredExpandoInitializer, getDirectoryPath, - getEffectiveBaseTypeNode, getEffectiveConstraintOfTypeParameter, getEffectiveContainerForJSDocTemplateTag, - getEffectiveImplementsTypeNodes, getEffectiveInitializer, getEffectiveJSDocHost, getEffectiveModifierFlags, - getEffectiveReturnTypeNode, getEffectiveSetAccessorTypeAnnotationNode, getEffectiveTypeAnnotationNode, - getEffectiveTypeParameterDeclarations, getElementOrPropertyAccessName, getEmitDeclarations, getEmitModuleKind, - getEmitModuleResolutionKind, getEmitScriptTarget, getEnclosingBlockScopeContainer, getEntityNameFromTypeNode, - getEntries, getErrorSpanForNode, getEscapedTextOfIdentifierOrLiteral, getESModuleInterop, - getEtsComponentExpressionInnerCallExpressionNode, getEtsComponentExpressionInnerExpressionStatementNode, - getEtsExtendDecoratorsComponentNames, getEtsLibs, getEtsStylesDecoratorComponentNames, getExpandoInitializer, - getExportAssignmentExpression, getExternalModuleImportEqualsDeclarationExpression, getExternalModuleName, - getExternalModuleRequireArgument, getFirstConstructorWithBody, getFirstIdentifier, getFunctionFlags, - getHostSignatureFromJSDoc, getImmediatelyInvokedFunctionExpression, getInitializerOfBinaryExpression, - getInterfaceBaseTypeNodes, getInvokedExpression, getJSDocClassTag, getJSDocDeprecatedTag, getJSDocEnumTag, - getJSDocHost, getJSDocParameterTags, getJSDocRoot, getJSDocTags, getJSDocThisTag, getJSDocType, - getJSDocTypeAssertionType, getJSDocTypeParameterDeclarations, getJSDocTypeTag, getJSXImplicitImportBase, - getJSXRuntimeImport, getJSXTransformEnabled, getLeftmostAccessExpression, getLineAndCharacterOfPosition, - getLocalSymbolForExportDefault, getMaxFlowDepth, getMembersOfDeclaration, getModeForUsageLocation, getModifiers, - getModuleInstanceState, getNameFromIndexInfo, getNameOfDeclaration, getNameOfDecorator, getNameOfExpando, - getNamespaceDeclarationNode, getNewTargetContainer, getNonAugmentationDeclaration, getNormalizedAbsolutePath, - getObjectFlags, getOriginalNode, getOrUpdate, getOwnKeys, getPackageJsonByPMType, getParameterSymbolFromJSDoc, - getParseTreeNode, getPropertyAssignmentAliasLikeExpression, getPropertyNameForPropertyNameNode, - getResolutionDiagnostic, getResolutionModeOverrideForClause, getResolvedExternalModuleName, getResolvedModule, - getRestParameterElementType, getRootDeclaration, getRootEtsComponentInnerCallExpressionNode, - getScriptTargetFeatures, getSelectedEffectiveModifierFlags, getSemanticJsxChildren, getSetAccessorValueParameter, - getSingleVariableOfVariableStatement, getSourceFileOfModule, getSourceFileOfNode, getSpanOfTokenAtPosition, - getSpellingSuggestion, getStrictOptionValue, getSuperContainer, getSymbolNameForPrivateIdentifier, - getTextOfIdentifierOrLiteral, getTextOfJSDocComment, getTextOfNode, getTextOfPropertyName, getThisContainer, - getThisParameter, getTrailingSemicolonDeferringWriter, getTypeParameterFromJsDoc, getTypesPackageName, - getUseDefineForClassFields, group, hasAbstractModifier, hasAccessorModifier, hasAmbientModifier, hasAnnotations, - hasContextSensitiveParameters, hasDecorators, HasDecorators, hasDynamicName, hasEffectiveModifier, - hasEffectiveModifiers, hasEffectiveReadonlyModifier, hasEtsStylesDecoratorNames, HasExpressionInitializer, - hasExtension, HasIllegalDecorators, HasIllegalModifiers, hasInitializer, HasInitializer, hasJSDocNodes, - hasJSDocParameterTags, hasJSFileExtension, hasJsonModuleEmitEnabled, HasModifiers, hasOnlyExpressionInitializer, - hasOverrideModifier, hasPossibleExternalModuleReference, hasQuestionToken, hasRestParameter, hasScopeMarker, - hasStaticModifier, hasSyntacticModifier, hasSyntacticModifiers, HeritageClause, Identifier, IdentifierTypePredicate, - idText, IfStatement, ImportCall, ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportOrExportSpecifier, - ImportsNotUsedAsValues, ImportSpecifier, ImportTypeAssertionContainer, ImportTypeNode, IncompleteType, - IndexedAccessType, IndexedAccessTypeNode, IndexInfo, IndexKind, indexOfNode, IndexSignatureDeclaration, IndexType, - indicesOf, InferenceContext, InferenceFlags, InferenceInfo, InferencePriority, InferTypeNode, InstantiableType, - InstantiationExpressionType, InterfaceDeclaration, InterfaceType, InterfaceTypeWithDeclaredMembers, - InternalSymbolName, IntersectionType, IntersectionTypeNode, IntrinsicType, introducesArgumentsExoticObject, - isAccessExpression, isAccessor, isAliasableExpression, isAmbientModule, isAnnotation, isAnnotationDeclaration, - isAnnotationPropertyDeclaration, isArkTsDecorator, isArray, isArrayBindingPattern, isArrayLiteralExpression, - isArrowFunction, isAssertionExpression, isAssignmentDeclaration, - isAssignmentExpression, isAssignmentOperator, isAssignmentPattern, isAssignmentTarget, - isAutoAccessorPropertyDeclaration, isBinaryExpression, isBindableObjectDefinePropertyCall, - isBindableStaticElementAccessExpression, isBindableStaticNameExpression, isBindingElement, isBindingPattern, - isBlock, isBlockOrCatchScoped, isBlockScopedContainerTopLevel, isCallChain, isCalledStructDeclaration, - isCallExpression, isCallLikeExpression, isCallOrNewExpression, isCallSignatureDeclaration, isCatchClause, - isCatchClauseVariableDeclarationOrBindingElement, isCheckJsEnabledForFile, isChildOfNodeWithKind, - isClassDeclaration, isClassElement, isClassExpression, isClassLike, isClassStaticBlockDeclaration, isCommaSequence, - isCommonJsExportedExpression, isCommonJsExportPropertyAssignment, isComputedNonLiteralName, isComputedPropertyName, - isConstructorDeclaration, isConstructorTypeNode, isConstTypeReference, isDeclaration, isDeclarationName, - isDeclarationReadonly, isDecorator, isDecoratorOrAnnotation, isDefaultedExpandoInitializer, isDeleteTarget, isDottedName, isDynamicName, - isEffectiveExternalModule, isElementAccessExpression, isEntityName, isEntityNameExpression, isEnumConst, - isEnumDeclaration, isEnumMember, isEtsComponentExpression, isEtsFunctionDecorators, - isExclusivelyTypeOnlyImportOrExport, isExportAssignment, isExportDeclaration, isExportsIdentifier, - isExportSpecifier, isExpression, isExpressionNode, isExpressionOfOptionalChainRoot, isExpressionStatement, - isExpressionWithTypeArguments, isExpressionWithTypeArgumentsInClassExtendsClause, isExternalModule, - isExternalModuleAugmentation, isExternalModuleImportEqualsDeclaration, isExternalModuleIndicator, - isExternalModuleNameRelative, isExternalModuleReference, isExternalOrCommonJsModule, isForInOrOfStatement, - isForInStatement, isForOfStatement, isForStatement, isFunctionDeclaration, isFunctionExpression, - isFunctionExpressionOrArrowFunction, isFunctionLike, isFunctionLikeDeclaration, - isFunctionLikeOrClassStaticBlockDeclaration, isFunctionOrModuleBlock, isFunctionTypeNode, isGeneratedIdentifier, - isGetAccessor, isGetAccessorDeclaration, isGetOrSetAccessorDeclaration, isGlobalScopeAugmentation, isHeritageClause, - isIdentifier, isIdentifierStart, isIdentifierText, isIdentifierTypePredicate, isIdentifierTypeReference, - isIfStatement, isImportCall, isImportClause, isImportDeclaration, isImportEqualsDeclaration, isImportKeyword, - isImportOrExportSpecifier, isImportSpecifier, isImportTypeNode, isInBuildOrPageTransitionContext, - isIndexedAccessTypeNode, isInEtsFile, isInETSFile, isInExpressionContext, isInfinityOrNaNString, isInJSDoc, - isInJSFile, isInJsonFile, isInterfaceDeclaration, isInternalModuleImportEqualsDeclaration, isInTopLevelContext, - isIntrinsicJsxName, isIterationStatement, isJSDocAllType, isJSDocAugmentsTag, isJSDocCallbackTag, - isJSDocConstructSignature, isJSDocFunctionType, isJSDocIndexSignature, isJSDocLinkLike, isJSDocMemberName, - isJSDocNameReference, isJSDocNode, isJSDocNonNullableType, isJSDocNullableType, isJSDocOptionalType, - isJSDocParameterTag, isJSDocPropertyLikeTag, isJSDocReturnTag, isJSDocSignature, isJSDocTemplateTag, - isJSDocTypeAlias, isJSDocTypeAssertion, isJSDocTypedefTag, isJSDocTypeExpression, isJSDocTypeLiteral, - isJSDocTypeTag, isJSDocUnknownType, isJSDocVariadicType, isJsonSourceFile, isJsxAttribute, isJsxAttributeLike, - isJsxAttributes, isJsxElement, isJsxOpeningElement, isJsxOpeningFragment, isJsxOpeningLikeElement, - isJsxSelfClosingElement, isJsxSpreadAttribute, isJSXTagName, isKnownSymbol, isLateVisibilityPaintedStatement, - isLeftHandSideExpression, isLet, isLineBreak, isLiteralComputedPropertyDeclarationName, isLiteralExpression, - isLiteralExpressionOfObject, isLiteralImportTypeNode, isLiteralTypeNode, isMetaProperty, isMethodDeclaration, - isMethodSignature, isModifier, isModuleBlock, isModuleDeclaration, isModuleExportsAccessExpression, - isModuleIdentifier, isModuleOrEnumDeclaration, isModuleWithStringLiteralName, isNamedDeclaration, isNamedExports, - isNamedTupleMember, isNamespaceExport, isNamespaceExportDeclaration, isNamespaceReexportDeclaration, - isNewExpression, isNightly, isNodeDescendantOf, isNullishCoalesce, isNumericLiteral, isNumericLiteralName, - isObjectBindingPattern, isObjectLiteralElementLike, isObjectLiteralExpression, isObjectLiteralMethod, - isObjectLiteralOrClassExpressionMethodOrAccessor, isOHModules, isOhpmAndOhModules, isOmittedExpression, - isOptionalChain, isOptionalChainRoot, isOptionalTypeNode, isOutermostOptionalChain, isParameter, - isParameterDeclaration, isParameterOrCatchClauseVariable, isParameterPropertyDeclaration, isParenthesizedExpression, - isParenthesizedTypeNode, isPartOfTypeNode, isPartOfTypeQuery, isPlainJsFile, isPrefixUnaryExpression, - isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression, - isPropertyAccessEntityNameExpression, isPropertyAccessExpression, isPropertyAccessOrQualifiedNameOrImportTypeNode, - isPropertyAssignment, isPropertyDeclaration, isPropertyName, isPropertyNameLiteral, isPropertySignature, - isPrototypeAccess, isPrototypePropertyAssignment, isPushOrUnshiftIdentifier, isQualifiedName, isRequireCall, - isRestParameter, isRestTypeNode, isRightSideOfAccessExpression, isRightSideOfQualifiedNameOrPropertyAccess, - isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName, isSameEntityName, isSendableFunctionOrType, - isSetAccessor, isShorthandAmbientModuleSymbol, isShorthandPropertyAssignment, isSingleOrDoubleQuote, isSourceFile, - isSourceFileJS, isSpreadAssignment, isSpreadElement, isStatement, isStatementWithLocals, isStatic, isString, - isStringANonContextualKeyword, isStringLiteral, isStringLiteralLike, isStringOrNumericLiteralLike, isSuperCall, - isSuperProperty, isTaggedTemplateExpression, isTemplateSpan, isThisContainerOrFunctionBlock, isThisIdentifier, - isThisInitializedDeclaration, isThisInitializedObjectBindingExpression, isThisInTypeQuery, isThisProperty, - isThisTypeParameter, isTokenInsideBuilder, isTransientSymbol, isTupleTypeNode, isTypeAlias, isTypeAliasDeclaration, - isTypeDeclaration, isTypeLiteralNode, isTypeNode, isTypeNodeKind, isTypeOfExpression, - isTypeOnlyImportOrExportDeclaration, isTypeOperatorNode, isTypeParameterDeclaration, isTypePredicateNode, - isTypeQueryNode, isTypeReferenceNode, isTypeReferenceType, isUMDExportSymbol, isValidESSymbolDeclaration, - isValidTypeOnlyAliasUseSite, isValueSignatureDeclaration, isVarConst, isVariableDeclaration, - isVariableDeclarationInitializedToBareOrAccessedRequire, isVariableDeclarationInVariableStatement, - isVariableDeclarationList, isVariableLike, isVariableLikeOrAccessor, isVariableStatement, isWriteAccess, - isWriteOnlyAccess, IterableOrIteratorType, IterationTypes, JSDoc, JSDocAugmentsTag, JSDocCallbackTag, JSDocComment, - JSDocContainer, JSDocEnumTag, JSDocFunctionType, JSDocImplementsTag, JSDocLink, JSDocLinkCode, JSDocLinkPlain, - JSDocMemberName, JsDocNodeCheckConfigItem, JSDocNullableType, JSDocOptionalType, JSDocParameterTag, JSDocPrivateTag, - JSDocPropertyLikeTag, JSDocPropertyTag, JSDocProtectedTag, JSDocPublicTag, JSDocSignature, JSDocTag, JsDocTagInfo, - JSDocTemplateTag, JSDocTypedefTag, JSDocTypeExpression, JSDocTypeReferencingNode, JSDocTypeTag, JSDocVariadicType, - JsxAttribute, JsxAttributeLike, JsxAttributes, JsxChild, JsxClosingElement, JsxElement, JsxEmit, JsxExpression, - JsxFlags, JsxFragment, JsxOpeningElement, JsxOpeningFragment, JsxOpeningLikeElement, JsxReferenceKind, - JsxSelfClosingElement, JsxSpreadAttribute, JsxTagNameExpression, KeywordTypeNode, LabeledStatement, last, - lastOrUndefined, LateBoundBinaryExpressionDeclaration, LateBoundDeclaration, LateBoundName, - LateVisibilityPaintedStatement, LeftHandSideExpression, length, LiteralExpression, LiteralType, LiteralTypeNode, - mangleScopedPackageName, map, Map, mapDefined, MappedSymbol, MappedType, MappedTypeNode, MatchingKeys, maybeBind, - MemberName, MemberOverrideStatus, memoize, MemoryDotting, MetaProperty, MethodDeclaration, MethodSignature, - minAndMax, MinusToken, Modifier, ModifierFlags, modifiersToFlags, modifierToFlag, ModuleBlock, ModuleDeclaration, - ModuleInstanceState, ModuleKind, ModuleResolutionKind, Mutable, NamedDeclaration, NamedExports, - NamedImportsOrExports, NamedTupleMember, NamespaceDeclaration, NamespaceExport, NamespaceExportDeclaration, - NamespaceImport, needsScopeMarker, NewExpression, Node, NodeArray, NodeBuilderFlags, nodeCanBeDecorated, - NodeCheckFlags, NodeFlags, nodeHasName, nodeIsDecorated, nodeIsMissing, nodeIsPresent, nodeIsSynthesized, NodeLinks, - nodeStartsNewLexicalEnvironment, NodeWithTypeArguments, NonNullChain, NonNullExpression, not, - noTruncationMaximumTruncationLength, nullTransformationContext, NumberLiteralType, NumericLiteral, objectAllocator, - ObjectBindingPattern, ObjectFlags, ObjectFlagsType, ObjectLiteralElementLike, ObjectLiteralExpression, ObjectType, - OptionalChain, OptionalTypeNode, or, orderedRemoveItemAt, OuterExpressionKinds, outFile, ParameterDeclaration, - parameterIsThisKeyword, ParameterPropertyDeclaration, ParenthesizedExpression, ParenthesizedTypeNode, - parseIsolatedEntityName, parseNodeFactory, parsePseudoBigInt, Path, pathIsRelative, PatternAmbientModule, PerformanceDotting, PlusToken, - PostfixUnaryExpression, PrefixUnaryExpression, PrivateIdentifier, Program, PromiseOrAwaitableType, - PropertyAccessChain, PropertyAccessEntityNameExpression, PropertyAccessExpression, PropertyAssignment, - PropertyDeclaration, PropertyName, PropertySignature, PseudoBigInt, pseudoBigIntToString, pushIfUnique, - QualifiedName, QuestionToken, rangeEquals, rangeOfNode, rangeOfTypeParameters, ReadonlyESMap, ReadonlyKeyword, - reduceLeft, RelationComparisonResult, relativeComplement, removeExtension, removePrefix, replaceElement, REQUIRE_DECORATOR, - resolutionExtensionIsTSOrJson, ResolvedModuleFull, ResolvedType, resolvePath, resolveTripleslashReference, - resolvingEmptyArray, RestTypeNode, ReturnStatement, ReverseMappedSymbol, ReverseMappedType, sameMap, - SatisfiesExpression, ScriptKind, ScriptTarget, Set, SetAccessorDeclaration, setCommentRange, setEmitFlags, - setNodeFlags, setOriginalNode, setParent, setSyntheticLeadingComments, setTextRange, setTextRangePosEnd, - setValueDeclaration, ShorthandPropertyAssignment, shouldPreserveConstEnums, Signature, SignatureDeclaration, - SignatureFlags, SignatureKind, singleElementArray, skipOuterExpressions, skipParentheses, skipTrivia, - skipTypeChecking, some, SourceFile, SpreadAssignment, SpreadElement, startsWith, Statement, stringContains, - StringLiteral, StringLiteralLike, StringLiteralType, StringMappingType, stripQuotes, StructDeclaration, - StructuredType, SubstitutionType, sum, SuperCall, SwitchStatement, Symbol, SymbolAccessibility, - SymbolAccessibilityResult, SymbolFlags, SymbolFormatFlags, SymbolId, SymbolLinks, symbolName, SymbolTable, - SymbolTracker, SymbolVisibilityResult, SyntaxKind, SyntheticDefaultModuleType, SyntheticExpression, sys, - TaggedTemplateExpression, TemplateExpression, TemplateLiteralType, TemplateLiteralTypeNode, Ternary, - textRangeContainsPositionInclusive, TextSpan, textSpanContainsPosition, textSpanEnd, ThisExpression, ThisTypeNode, - ThrowStatement, TokenFlags, tokenToString, tracing, TracingNode, TransientSymbol, tryAddToSet, tryCast, - tryExtractTSExtension, tryGetClassImplementingOrExtendingExpressionWithTypeArguments, tryGetExtensionFromPath, - tryGetModuleSpecifierFromDeclaration, tryGetPropertyAccessOrIdentifierToString, tryGetTextOfPropertyName, TryStatement, TupleType, - TupleTypeNode, TupleTypeReference, Type, TypeAliasDeclaration, TypeAssertion, TypeChecker, TypeCheckerHost, - TypeComparer, TypeElement, TypeFlags, TypeFormatFlags, TypeId, TypeLiteralNode, TypeMapKind, TypeMapper, TypeNode, - TypeNodeSyntaxKind, TypeOfExpression, TypeOnlyAliasDeclaration, TypeOnlyCompatibleAliasDeclaration, - TypeOperatorNode, TypeParameter, TypeParameterDeclaration, TypePredicate, TypePredicateKind, TypePredicateNode, - TypeQueryNode, TypeReference, TypeReferenceNode, TypeReferenceSerializationKind, TypeReferenceType, TypeVariable, - UnaryExpression, UnderscoreEscapedMap, unescapeLeadingUnderscores, UnionOrIntersectionType, - UnionOrIntersectionTypeNode, UnionReduction, UnionType, UnionTypeNode, UniqueESSymbolType, - usingSingleLineStringWriter, VariableDeclaration, VariableDeclarationList, VariableLikeDeclaration, - VariableStatement, VarianceFlags, visitEachChild, visitNode, visitNodes, Visitor, VisitResult, VoidExpression, - walkUpBindingElementsAndPatterns, walkUpParenthesizedExpressions, walkUpParenthesizedTypes, - walkUpParenthesizedTypesAndGetParentAndChild, WhileStatement, WideningContext, WithStatement, YieldExpression, + __String, + AccessExpression, + AccessFlags, + AccessorDeclaration, + addRange, + addRelatedInfo, + addSyntheticLeadingComment, + AllAccessorDeclarations, + and, + Annotation, + AnnotationDeclaration, + AnnotationElement, + AnnotationPropertyDeclaration, + AnonymousType, + AnyImportOrReExport, + AnyImportSyntax, + append, + appendIfUnique, + ArrayBindingPattern, + arrayFrom, + arrayIsHomogeneous, + ArrayLiteralExpression, + arrayOf, + arraysEqual, + arrayToMultiMap, + ArrayTypeNode, + ArrowFunction, + AssertionExpression, + AssignmentDeclarationKind, + AssignmentKind, + AssignmentPattern, + AwaitExpression, + BaseType, + BigIntLiteral, + BigIntLiteralType, + BinaryExpression, + BinaryOperatorToken, + binarySearch, + BindableObjectDefinePropertyCall, + BindingElement, + BindingElementGrandparent, + BindingName, + BindingPattern, + bindSourceFile, + Block, + BreakOrContinueStatement, + CallChain, + CallExpression, + CallLikeExpression, + CallSignatureDeclaration, + CancellationToken, + canHaveDecorators, + canHaveExportModifier, + canHaveIllegalDecorators, + canHaveIllegalModifiers, + canHaveModifiers, + cartesianProduct, + CaseBlock, + CaseClause, + CaseOrDefaultClause, + cast, + chainDiagnosticMessages, + CharacterCodes, + CheckFlags, + checkStructPropertyPosition, + ClassDeclaration, + ClassElement, + ClassExpression, + ClassLikeDeclaration, + ClassStaticBlockDeclaration, + clear, + combinePaths, + compareDiagnostics, + comparePaths, + compareValues, + Comparison, + CompilerOptions, + ComputedPropertyName, + concatenate, + concatenateDiagnosticMessageChains, + ConditionalExpression, + ConditionalRoot, + ConditionalType, + ConditionalTypeNode, + ConditionCheckResult, + ConstructorDeclaration, + ConstructorTypeNode, + ConstructSignatureDeclaration, + contains, + containsParseError, + ContextFlags, + copyEntries, + countWhere, + createBinaryExpressionTrampoline, + createCompilerDiagnostic, + createDiagnosticCollection, + createDiagnosticForFileFromMessageChain, + createDiagnosticForNode, + createDiagnosticForNodeArray, + createDiagnosticForNodeFromMessageChain, + createDiagnosticForNodeInSourceFile, + createDiagnosticMessageChainFromDiagnostic, + createEmptyExports, + createFileDiagnostic, + createGetCanonicalFileName, + createGetSymbolWalker, + createPrinterWithDefaults, + createPrinterWithRemoveComments, + createPrinterWithRemoveCommentsNeverAsciiEscape, + createPrinterWithRemoveCommentsOmitTrailingSemicolon, + createPropertyNameNodeForIdentifierOrLiteral, + createScanner, + createSymbolTable, + createTextWriter, + createUnderscoreEscapedMultiMap, + Debug, + Declaration, + DeclarationName, + declarationNameToString, + DeclarationStatement, + DeclarationWithTypeParameterChildren, + DeclarationWithTypeParameters, + Decorator, + deduplicate, + DefaultClause, + defaultMaximumTruncationLength, + DeferredTypeReference, + DeleteExpression, + Diagnostic, + DiagnosticCategory, + DiagnosticMessage, + DiagnosticMessageChain, + DiagnosticRelatedInformation, + Diagnostics, + DiagnosticWithLocation, + DoStatement, + DynamicNamedDeclaration, + ElementAccessChain, + ElementAccessExpression, + ElementFlags, + EmitFlags, + EmitHint, + EmitResolver, + EmitTextWriter, + emptyArray, + endsWith, + EntityName, + EntityNameExpression, + EntityNameOrEntityNameExpression, + entityNameToString, + EnumDeclaration, + EnumKind, + EnumMember, + equateValues, + escapeLeadingUnderscores, + escapeString, + ESMap, + EtsComponentExpression, + every, + EvolvingArrayType, + ExclamationToken, + ExportAssignment, + exportAssignmentIsAlias, + ExportDeclaration, + ExportSpecifier, + Expression, + expressionResultIsUnused, + ExpressionStatement, + ExpressionWithTypeArguments, + Extension, + ExternalEmitHelpers, + externalHelpersModuleNameText, + factory, + FileCheckModuleInfo, + fileExtensionIs, + fileExtensionIsOneOf, + filter, + find, + findAncestor, + findBestPatternMatch, + findIndex, + findLast, + findLastIndex, + findUseStrictPrologue, + first, + firstDefined, + firstOrUndefined, + flatMap, + flatten, + FlowArrayMutation, + FlowAssignment, + FlowCall, + FlowCondition, + FlowFlags, + FlowLabel, + FlowNode, + FlowReduceLabel, + FlowStart, + FlowSwitchClause, + FlowType, + forEach, + forEachChild, + forEachChildRecursively, + forEachEnclosingBlockScopeContainer, + forEachEntry, + forEachImportClauseDeclaration, + forEachKey, + forEachReturnStatement, + forEachYieldExpression, + ForInOrOfStatement, + ForInStatement, + formatMessage, + ForOfStatement, + ForStatement, + FreshableIntrinsicType, + FreshableType, + FreshObjectLiteralType, + FunctionDeclaration, + FunctionExpression, + FunctionFlags, + FunctionLikeDeclaration, + FunctionTypeNode, + GenericType, + GetAccessorDeclaration, + getAliasDeclarationFromName, + getAllAccessorDeclarations, + getAllDecorators, + getAllowSyntheticDefaultImports, + getAncestor, + getAssignedExpandoInitializer, + getAssignmentDeclarationKind, + getAssignmentDeclarationPropertyAccessKind, + getAssignmentTargetKind, + getCheckFlags, + getClassExtendsHeritageElement, + getClassLikeDeclarationOfSymbol, + getCombinedLocalAndExportSymbolFlags, + getCombinedModifierFlags, + getCombinedNodeFlags, + getContainingClass, + getContainingFunction, + getContainingFunctionOrClassStaticBlock, + getContainingStruct, + getDeclarationModifierFlagsFromSymbol, + getDeclarationOfKind, + getDeclarationsOfKind, + getDeclaredExpandoInitializer, + getDirectoryPath, + getEffectiveBaseTypeNode, + getEffectiveConstraintOfTypeParameter, + getEffectiveContainerForJSDocTemplateTag, + getEffectiveImplementsTypeNodes, + getEffectiveInitializer, + getEffectiveJSDocHost, + getEffectiveModifierFlags, + getEffectiveReturnTypeNode, + getEffectiveSetAccessorTypeAnnotationNode, + getEffectiveTypeAnnotationNode, + getEffectiveTypeParameterDeclarations, + getElementOrPropertyAccessName, + getEmitDeclarations, + getEmitModuleKind, + getEmitModuleResolutionKind, + getEmitScriptTarget, + getEnclosingBlockScopeContainer, + getEntityNameFromTypeNode, + getEntries, + getErrorSpanForNode, + getEscapedTextOfIdentifierOrLiteral, + getESModuleInterop, + getEtsComponentExpressionInnerCallExpressionNode, + getEtsComponentExpressionInnerExpressionStatementNode, + getEtsExtendDecoratorsComponentNames, + getEtsLibs, + getEtsStylesDecoratorComponentNames, + getExpandoInitializer, + getExportAssignmentExpression, + getExternalModuleImportEqualsDeclarationExpression, + getExternalModuleName, + getExternalModuleRequireArgument, + getFirstConstructorWithBody, + getFirstIdentifier, + getFunctionFlags, + getHostSignatureFromJSDoc, + getImmediatelyInvokedFunctionExpression, + getInitializerOfBinaryExpression, + getInterfaceBaseTypeNodes, + getInvokedExpression, + getJSDocClassTag, + getJSDocDeprecatedTag, + getJSDocEnumTag, + getJSDocHost, + getJSDocParameterTags, + getJSDocRoot, + getJSDocTags, + getJSDocThisTag, + getJSDocType, + getJSDocTypeAssertionType, + getJSDocTypeParameterDeclarations, + getJSDocTypeTag, + getJSXImplicitImportBase, + getJSXRuntimeImport, + getJSXTransformEnabled, + getLeftmostAccessExpression, + getLineAndCharacterOfPosition, + getLocalSymbolForExportDefault, + getMaxFlowDepth, + getMembersOfDeclaration, + getModeForUsageLocation, + getModifiers, + getModuleInstanceState, + getNameFromIndexInfo, + getNameOfDeclaration, + getNameOfDecorator, + getNameOfExpando, + getNamespaceDeclarationNode, + getNewTargetContainer, + getNonAugmentationDeclaration, + getNormalizedAbsolutePath, + getObjectFlags, + getOriginalNode, + getOrUpdate, + getOwnKeys, + getPackageJsonByPMType, + getParameterSymbolFromJSDoc, + getParseTreeNode, + getPropertyAssignmentAliasLikeExpression, + getPropertyNameForPropertyNameNode, + getResolutionDiagnostic, + getResolutionModeOverrideForClause, + getResolvedExternalModuleName, + getResolvedModule, + getRestParameterElementType, + getRootDeclaration, + getRootEtsComponentInnerCallExpressionNode, + getScriptTargetFeatures, + getSelectedEffectiveModifierFlags, + getSemanticJsxChildren, + getSetAccessorValueParameter, + getSingleVariableOfVariableStatement, + getSourceFileOfModule, + getSourceFileOfNode, + getSpanOfTokenAtPosition, + getSpellingSuggestion, + getStrictOptionValue, + getSuperContainer, + getSymbolNameForPrivateIdentifier, + getTextOfIdentifierOrLiteral, + getTextOfJSDocComment, + getTextOfNode, + getTextOfPropertyName, + getThisContainer, + getThisParameter, + getTrailingSemicolonDeferringWriter, + getTypeParameterFromJsDoc, + getTypesPackageName, + getUseDefineForClassFields, + group, + hasAbstractModifier, + hasAccessorModifier, + hasAmbientModifier, + hasAnnotations, + hasContextSensitiveParameters, + hasDecorators, + HasDecorators, + hasDynamicName, + hasEffectiveModifier, + hasEffectiveModifiers, + hasEffectiveReadonlyModifier, + hasEtsStylesDecoratorNames, + HasExpressionInitializer, + hasExtension, + HasIllegalDecorators, + HasIllegalModifiers, + hasInitializer, + HasInitializer, + hasJSDocNodes, + hasJSDocParameterTags, + hasJSFileExtension, + hasJsonModuleEmitEnabled, + HasModifiers, + hasOnlyExpressionInitializer, + hasOverrideModifier, + hasPossibleExternalModuleReference, + hasQuestionToken, + hasRestParameter, + hasScopeMarker, + hasStaticModifier, + hasSyntacticModifier, + hasSyntacticModifiers, + HeritageClause, + Identifier, + IdentifierTypePredicate, + idText, + IfStatement, + ImportCall, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportOrExportSpecifier, + ImportsNotUsedAsValues, + ImportSpecifier, + ImportTypeAssertionContainer, + ImportTypeNode, + IncompleteType, + IndexedAccessType, + IndexedAccessTypeNode, + IndexInfo, + IndexKind, + indexOfNode, + IndexSignatureDeclaration, + IndexType, + indicesOf, + InferenceContext, + InferenceFlags, + InferenceInfo, + InferencePriority, + InferTypeNode, + InstantiableType, + InstantiationExpressionType, + InterfaceDeclaration, + InterfaceType, + InterfaceTypeWithDeclaredMembers, + InternalSymbolName, + IntersectionType, + IntersectionTypeNode, + IntrinsicType, + introducesArgumentsExoticObject, + isAccessExpression, + isAccessor, + isAliasableExpression, + isAmbientModule, + isAnnotation, + isAnnotationDeclaration, + isAnnotationPropertyDeclaration, + isArkTsDecorator, + isArray, + isArrayBindingPattern, + isArrayLiteralExpression, + isArrowFunction, + isAssertionExpression, + isAssignmentDeclaration, + isAssignmentExpression, + isAssignmentOperator, + isAssignmentPattern, + isAssignmentTarget, + isAutoAccessorPropertyDeclaration, + isBinaryExpression, + isBindableObjectDefinePropertyCall, + isBindableStaticElementAccessExpression, + isBindableStaticNameExpression, + isBindingElement, + isBindingPattern, + isBlock, + isBlockOrCatchScoped, + isBlockScopedContainerTopLevel, + isCallChain, + isCalledStructDeclaration, + isCallExpression, + isCallLikeExpression, + isCallOrNewExpression, + isCallSignatureDeclaration, + isCatchClause, + isCatchClauseVariableDeclarationOrBindingElement, + isCheckJsEnabledForFile, + isChildOfNodeWithKind, + isClassDeclaration, + isClassElement, + isClassExpression, + isClassLike, + isClassStaticBlockDeclaration, + isCommaSequence, + isCommonJsExportedExpression, + isCommonJsExportPropertyAssignment, + isComputedNonLiteralName, + isComputedPropertyName, + isConstructorDeclaration, + isConstructorTypeNode, + isConstTypeReference, + isDeclaration, + isDeclarationName, + isDeclarationReadonly, + isDecorator, + isDecoratorOrAnnotation, + isDefaultedExpandoInitializer, + isDeleteTarget, + isDottedName, + isDynamicName, + isEffectiveExternalModule, + isElementAccessExpression, + isEntityName, + isEntityNameExpression, + isEnumConst, + isEnumDeclaration, + isEnumMember, + isEtsComponentExpression, + isEtsFunctionDecorators, + isExclusivelyTypeOnlyImportOrExport, + isExportAssignment, + isExportDeclaration, + isExportsIdentifier, + isExportSpecifier, + isExpression, + isExpressionNode, + isExpressionOfOptionalChainRoot, + isExpressionStatement, + isExpressionWithTypeArguments, + isExpressionWithTypeArgumentsInClassExtendsClause, + isExternalModule, + isExternalModuleAugmentation, + isExternalModuleImportEqualsDeclaration, + isExternalModuleIndicator, + isExternalModuleNameRelative, + isExternalModuleReference, + isExternalOrCommonJsModule, + isForInOrOfStatement, + isForInStatement, + isForOfStatement, + isForStatement, + isFunctionDeclaration, + isFunctionExpression, + isFunctionExpressionOrArrowFunction, + isFunctionLike, + isFunctionLikeDeclaration, + isFunctionLikeOrClassStaticBlockDeclaration, + isFunctionOrModuleBlock, + isFunctionTypeNode, + isGeneratedIdentifier, + isGetAccessor, + isGetAccessorDeclaration, + isGetOrSetAccessorDeclaration, + isGlobalScopeAugmentation, + isHeritageClause, + isIdentifier, + isIdentifierStart, + isIdentifierText, + isIdentifierTypePredicate, + isIdentifierTypeReference, + isIfStatement, + isImportCall, + isImportClause, + isImportDeclaration, + isImportEqualsDeclaration, + isImportKeyword, + isImportOrExportSpecifier, + isImportSpecifier, + isImportTypeNode, + isInBuildOrPageTransitionContext, + isIndexedAccessTypeNode, + isInEtsFile, + isInETSFile, + isInExpressionContext, + isInfinityOrNaNString, + isInJSDoc, + isInJSFile, + isInJsonFile, + isInterfaceDeclaration, + isInternalModuleImportEqualsDeclaration, + isInTopLevelContext, + isIntrinsicJsxName, + isIterationStatement, + isJSDocAllType, + isJSDocAugmentsTag, + isJSDocCallbackTag, + isJSDocConstructSignature, + isJSDocFunctionType, + isJSDocIndexSignature, + isJSDocLinkLike, + isJSDocMemberName, + isJSDocNameReference, + isJSDocNode, + isJSDocNonNullableType, + isJSDocNullableType, + isJSDocOptionalType, + isJSDocParameterTag, + isJSDocPropertyLikeTag, + isJSDocReturnTag, + isJSDocSignature, + isJSDocTemplateTag, + isJSDocTypeAlias, + isJSDocTypeAssertion, + isJSDocTypedefTag, + isJSDocTypeExpression, + isJSDocTypeLiteral, + isJSDocTypeTag, + isJSDocUnknownType, + isJSDocVariadicType, + isJsonSourceFile, + isJsxAttribute, + isJsxAttributeLike, + isJsxAttributes, + isJsxElement, + isJsxOpeningElement, + isJsxOpeningFragment, + isJsxOpeningLikeElement, + isJsxSelfClosingElement, + isJsxSpreadAttribute, + isJSXTagName, + isKnownSymbol, + isLateVisibilityPaintedStatement, + isLeftHandSideExpression, + isLet, + isLineBreak, + isLiteralComputedPropertyDeclarationName, + isLiteralExpression, + isLiteralExpressionOfObject, + isLiteralImportTypeNode, + isLiteralTypeNode, + isMetaProperty, + isMethodDeclaration, + isMethodSignature, + isModifier, + isModuleBlock, + isModuleDeclaration, + isModuleExportsAccessExpression, + isModuleIdentifier, + isModuleOrEnumDeclaration, + isModuleWithStringLiteralName, + isNamedDeclaration, + isNamedExports, + isNamedTupleMember, + isNamespaceExport, + isNamespaceExportDeclaration, + isNamespaceReexportDeclaration, + isNewExpression, + isNightly, + isNodeDescendantOf, + isNullishCoalesce, + isNumericLiteral, + isNumericLiteralName, + isObjectBindingPattern, + isObjectLiteralElementLike, + isObjectLiteralExpression, + isObjectLiteralMethod, + isObjectLiteralOrClassExpressionMethodOrAccessor, + isOHModules, + isOhpmAndOhModules, + isOmittedExpression, + isOptionalChain, + isOptionalChainRoot, + isOptionalTypeNode, + isOutermostOptionalChain, + isParameter, + isParameterDeclaration, + isParameterOrCatchClauseVariable, + isParameterPropertyDeclaration, + isParenthesizedExpression, + isParenthesizedTypeNode, + isPartOfTypeNode, + isPartOfTypeQuery, + isPlainJsFile, + isPrefixUnaryExpression, + isPrivateIdentifier, + isPrivateIdentifierClassElementDeclaration, + isPrivateIdentifierPropertyAccessExpression, + isPropertyAccessEntityNameExpression, + isPropertyAccessExpression, + isPropertyAccessOrQualifiedNameOrImportTypeNode, + isPropertyAssignment, + isPropertyDeclaration, + isPropertyName, + isPropertyNameLiteral, + isPropertySignature, + isPrototypeAccess, + isPrototypePropertyAssignment, + isPushOrUnshiftIdentifier, + isQualifiedName, + isRequireCall, + isRestParameter, + isRestTypeNode, + isRightSideOfAccessExpression, + isRightSideOfQualifiedNameOrPropertyAccess, + isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName, + isSameEntityName, + isSendableFunctionOrType, + isSetAccessor, + isShorthandAmbientModuleSymbol, + isShorthandPropertyAssignment, + isSingleOrDoubleQuote, + isSourceFile, + isSourceFileJS, + isSpreadAssignment, + isSpreadElement, + isStatement, + isStatementWithLocals, + isStatic, + isString, + isStringANonContextualKeyword, + isStringLiteral, + isStringLiteralLike, + isStringOrNumericLiteralLike, + isSuperCall, + isSuperProperty, + isTaggedTemplateExpression, + isTemplateSpan, + isThisContainerOrFunctionBlock, + isThisIdentifier, + isThisInitializedDeclaration, + isThisInitializedObjectBindingExpression, + isThisInTypeQuery, + isThisProperty, + isThisTypeParameter, + isTokenInsideBuilder, + isTransientSymbol, + isTupleTypeNode, + isTypeAlias, + isTypeAliasDeclaration, + isTypeDeclaration, + isTypeLiteralNode, + isTypeNode, + isTypeNodeKind, + isTypeOfExpression, + isTypeOnlyImportOrExportDeclaration, + isTypeOperatorNode, + isTypeParameterDeclaration, + isTypePredicateNode, + isTypeQueryNode, + isTypeReferenceNode, + isTypeReferenceType, + isUMDExportSymbol, + isValidESSymbolDeclaration, + isValidTypeOnlyAliasUseSite, + isValueSignatureDeclaration, + isVarConst, + isVariableDeclaration, + isVariableDeclarationInitializedToBareOrAccessedRequire, + isVariableDeclarationInVariableStatement, + isVariableDeclarationList, + isVariableLike, + isVariableLikeOrAccessor, + isVariableStatement, + isWriteAccess, + isWriteOnlyAccess, + IterableOrIteratorType, + IterationTypes, + JSDoc, + JSDocAugmentsTag, + JSDocCallbackTag, + JSDocComment, + JSDocContainer, + JSDocEnumTag, + JSDocFunctionType, + JSDocImplementsTag, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, + JSDocMemberName, + JsDocNodeCheckConfigItem, + JSDocNullableType, + JSDocOptionalType, + JSDocParameterTag, + JSDocPrivateTag, + JSDocPropertyLikeTag, + JSDocPropertyTag, + JSDocProtectedTag, + JSDocPublicTag, + JSDocSignature, + JSDocTag, + JsDocTagInfo, + JSDocTemplateTag, + JSDocTypedefTag, + JSDocTypeExpression, + JSDocTypeReferencingNode, + JSDocTypeTag, + JSDocVariadicType, + JsxAttribute, + JsxAttributeLike, + JsxAttributes, + JsxChild, + JsxClosingElement, + JsxElement, + JsxEmit, + JsxExpression, + JsxFlags, + JsxFragment, + JsxOpeningElement, + JsxOpeningFragment, + JsxOpeningLikeElement, + JsxReferenceKind, + JsxSelfClosingElement, + JsxSpreadAttribute, + JsxTagNameExpression, + KeywordTypeNode, + LabeledStatement, + last, + lastOrUndefined, + LateBoundBinaryExpressionDeclaration, + LateBoundDeclaration, + LateBoundName, + LateVisibilityPaintedStatement, + LeftHandSideExpression, + length, + LiteralExpression, + LiteralType, + LiteralTypeNode, + mangleScopedPackageName, + map, + Map, + mapDefined, + MappedSymbol, + MappedType, + MappedTypeNode, + MatchingKeys, + maybeBind, + MemberName, + MemberOverrideStatus, + memoize, + MemoryDotting, + MetaProperty, + MethodDeclaration, + MethodSignature, + minAndMax, + MinusToken, + Modifier, + ModifierFlags, + modifiersToFlags, + modifierToFlag, + ModuleBlock, + ModuleDeclaration, + ModuleInstanceState, + ModuleKind, + ModuleResolutionKind, + Mutable, + NamedDeclaration, + NamedExports, + NamedImportsOrExports, + NamedTupleMember, + NamespaceDeclaration, + NamespaceExport, + NamespaceExportDeclaration, + NamespaceImport, + needsScopeMarker, + NewExpression, + Node, + NodeArray, + NodeBuilderFlags, + nodeCanBeDecorated, + NodeCheckFlags, + NodeFlags, + nodeHasName, + nodeIsDecorated, + nodeIsMissing, + nodeIsPresent, + nodeIsSynthesized, + NodeLinks, + nodeStartsNewLexicalEnvironment, + NodeWithTypeArguments, + NonNullChain, + NonNullExpression, + not, + noTruncationMaximumTruncationLength, + nullTransformationContext, + NumberLiteralType, + NumericLiteral, + objectAllocator, + ObjectBindingPattern, + ObjectFlags, + ObjectFlagsType, + ObjectLiteralElementLike, + ObjectLiteralExpression, + ObjectType, + OptionalChain, + OptionalTypeNode, + or, + orderedRemoveItemAt, + OuterExpressionKinds, + outFile, + ParameterDeclaration, + parameterIsThisKeyword, + ParameterPropertyDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, + parseIsolatedEntityName, + parseNodeFactory, + parsePseudoBigInt, + Path, + pathIsRelative, + PatternAmbientModule, + PerformanceDotting, + PlusToken, + PostfixUnaryExpression, + PrefixUnaryExpression, + PrivateIdentifier, + Program, + PromiseOrAwaitableType, + PropertyAccessChain, + PropertyAccessEntityNameExpression, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertyName, + PropertySignature, + PseudoBigInt, + pseudoBigIntToString, + pushIfUnique, + QualifiedName, + QuestionToken, + rangeEquals, + rangeOfNode, + rangeOfTypeParameters, + ReadonlyESMap, + ReadonlyKeyword, + reduceLeft, + RelationComparisonResult, + relativeComplement, + removeExtension, + removePrefix, + replaceElement, + REQUIRE_DECORATOR, + resolutionExtensionIsTSOrJson, + ResolvedModuleFull, + ResolvedType, + resolvePath, + resolveTripleslashReference, + resolvingEmptyArray, + RestTypeNode, + ReturnStatement, + ReverseMappedSymbol, + ReverseMappedType, + sameMap, + SatisfiesExpression, + ScriptKind, + ScriptTarget, + Set, + SetAccessorDeclaration, + setCommentRange, + setEmitFlags, + setNodeFlags, + setOriginalNode, + setParent, + setSyntheticLeadingComments, + setTextRange, + setTextRangePosEnd, + setValueDeclaration, + ShorthandPropertyAssignment, + shouldPreserveConstEnums, + Signature, + SignatureDeclaration, + SignatureFlags, + SignatureKind, + singleElementArray, + skipOuterExpressions, + skipParentheses, + skipTrivia, + skipTypeChecking, + some, + SourceFile, + SpreadAssignment, + SpreadElement, + startsWith, + Statement, + stringContains, + StringLiteral, + StringLiteralLike, + StringLiteralType, + StringMappingType, + stripQuotes, + StructDeclaration, + StructuredType, + SubstitutionType, + sum, + SuperCall, + SwitchStatement, + Symbol, + SymbolAccessibility, + SymbolAccessibilityResult, + SymbolFlags, + SymbolFormatFlags, + SymbolId, + SymbolLinks, + symbolName, + SymbolTable, + SymbolTracker, + SymbolVisibilityResult, + SyntaxKind, + SyntheticDefaultModuleType, + SyntheticExpression, + sys, + TaggedTemplateExpression, + TemplateExpression, + TemplateLiteralType, + TemplateLiteralTypeNode, + Ternary, + textRangeContainsPositionInclusive, + TextSpan, + textSpanContainsPosition, + textSpanEnd, + ThisExpression, + ThisTypeNode, + ThrowStatement, + TokenFlags, + tokenToString, + tracing, + TracingNode, + TransientSymbol, + tryAddToSet, + tryCast, + tryExtractTSExtension, + tryGetClassImplementingOrExtendingExpressionWithTypeArguments, + tryGetExtensionFromPath, + tryGetModuleSpecifierFromDeclaration, + tryGetPropertyAccessOrIdentifierToString, + tryGetTextOfPropertyName, + TryStatement, + TupleType, + TupleTypeNode, + TupleTypeReference, + Type, + TypeAliasDeclaration, + TypeAssertion, + TypeChecker, + TypeCheckerHost, + TypeComparer, + TypeElement, + TypeFlags, + TypeFormatFlags, + TypeId, + TypeLiteralNode, + TypeMapKind, + TypeMapper, + TypeNode, + TypeNodeSyntaxKind, + TypeOfExpression, + TypeOnlyAliasDeclaration, + TypeOnlyCompatibleAliasDeclaration, + TypeOperatorNode, + TypeParameter, + TypeParameterDeclaration, + TypePredicate, + TypePredicateKind, + TypePredicateNode, + TypeQueryNode, + TypeReference, + TypeReferenceNode, + TypeReferenceSerializationKind, + TypeReferenceType, + TypeVariable, + UnaryExpression, + UnderscoreEscapedMap, + unescapeLeadingUnderscores, + UnionOrIntersectionType, + UnionOrIntersectionTypeNode, + UnionReduction, + UnionType, + UnionTypeNode, + UniqueESSymbolType, + usingSingleLineStringWriter, + VariableDeclaration, + VariableDeclarationList, + VariableLikeDeclaration, + VariableStatement, + VarianceFlags, + visitEachChild, + visitNode, + visitNodes, + Visitor, + VisitResult, + VoidExpression, + walkUpBindingElementsAndPatterns, + walkUpParenthesizedExpressions, + walkUpParenthesizedTypes, + walkUpParenthesizedTypesAndGetParentAndChild, + WhileStatement, + WideningContext, + WithStatement, + YieldExpression, } from "./_namespaces/ts"; import * as performance from "./_namespaces/ts.performance"; import * as moduleSpecifiers from "./_namespaces/ts.moduleSpecifiers"; diff --git a/src/compiler/ohApi.ts b/src/compiler/ohApi.ts index bd1b087e37..0ad1b05d8f 100644 --- a/src/compiler/ohApi.ts +++ b/src/compiler/ohApi.ts @@ -1,19 +1,110 @@ import { - __String, Annotation, AnnotationDeclaration, AnnotationPropertyDeclaration, CallExpression, ClassDeclaration, CommentDirectiveType, CompilerOptions, - computeLineStarts, concatenate, Debug, Decorator, Diagnostic, ElementAccessExpression, EmitHost, EmitTextWriter, endsWith, EnumMember, - EtsComponentExpression, ExportDeclaration, ExportSpecifier, Expression, ExpressionStatement, factory, flattenDiagnosticMessageText, - FunctionDeclaration, getAllDecorators, getAncestor, getIllegalDecorators, getLineAndCharacterOfPosition, getRootEtsComponent, getSourceFileOfNode, - Identifier, ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportSpecifier, isCallExpression, isEtsComponentExpression, - isExportSpecifier, isExternalModuleImportEqualsDeclaration, isFunctionDeclaration, isIdentifier, isImportClause, isImportDeclaration, - isImportSpecifier, isNamedExportBindings, isNamedImportBindings, isNamespaceImport, isNamespaceExport, isNodeModulesDirectory, - isPropertyAccessExpression, isPropertyAssignment, isStringLiteral, isStructDeclaration, isTypeAliasDeclaration, isWhiteSpaceLike, last, - LateVisibilityPaintedStatement, LeftHandSideExpression, LineAndCharacter, MethodDeclaration, Modifier, ModifierLike, Mutable, - NamedExports, NamedImports, NamedImportBindings, NamespaceImport, Node, NodeArray, NodeFactory, NodeFlags, nodeModulesPathPart, noop, - ObjectLiteralExpression, Path, pathContainsNodeModules, PropertyAccessExpression, PropertyAssignment, PropertyDeclaration, resolvePath, - setTextRangePosEnd, ScriptKind, some, SourceFile, sys, startsWith, Statement, stringContains, StringLiteral, StructDeclaration, SyntaxKind, - TextRange, TransformationContext, TransformerFactory, tryGetTextOfPropertyName, visitEachChild, visitLexicalEnvironment, visitNode, visitNodes, - VisitResult, unescapeLeadingUnderscores + __String, + Annotation, + AnnotationDeclaration, + AnnotationPropertyDeclaration, + CallExpression, + ClassDeclaration, + CommentDirectiveType, + CompilerOptions, + computeLineStarts, + concatenate, + Debug, + Decorator, + Diagnostic, + ElementAccessExpression, + EmitHost, + EmitTextWriter, + endsWith, + EnumMember, + EtsComponentExpression, + ExportDeclaration, + ExportSpecifier, + Expression, + ExpressionStatement, + factory, + flattenDiagnosticMessageText, + FunctionDeclaration, + getAllDecorators, + getAncestor, + getIllegalDecorators, + getLineAndCharacterOfPosition, + getRootEtsComponent, + getSourceFileOfNode, + Identifier, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportSpecifier, + isCallExpression, + isEtsComponentExpression, + isExportSpecifier, + isExternalModuleImportEqualsDeclaration, + isFunctionDeclaration, + isIdentifier, + isImportClause, + isImportDeclaration, + isImportSpecifier, + isNamedExportBindings, + isNamedImportBindings, + isNamespaceImport, + isNamespaceExport, + isNodeModulesDirectory, + isPropertyAccessExpression, + isPropertyAssignment, + isStringLiteral, + isStructDeclaration, + isTypeAliasDeclaration, + isWhiteSpaceLike, + last, + LateVisibilityPaintedStatement, + LeftHandSideExpression, + LineAndCharacter, + MethodDeclaration, + Modifier, + ModifierLike, + Mutable, + NamedExports, + NamedImports, + NamedImportBindings, + NamespaceImport, + Node, + NodeArray, + NodeFactory, + NodeFlags, + nodeModulesPathPart, + noop, + ObjectLiteralExpression, + Path, + pathContainsNodeModules, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + resolvePath, + setTextRangePosEnd, + ScriptKind, + some, + SourceFile, + sys, + startsWith, + Statement, + stringContains, + StringLiteral, + StructDeclaration, + SyntaxKind, + TextRange, + TransformationContext, + TransformerFactory, + tryGetTextOfPropertyName, + visitEachChild, + visitLexicalEnvironment, + visitNode, + visitNodes, + VisitResult, + unescapeLeadingUnderscores, + normalizePath, } from "./_namespaces/ts"; +import * as path from 'path'; /** @internal */ // Required for distinguishing annotations and decorators in other code analysis tools @@ -1060,12 +1151,10 @@ const JSON_SUFFIX = '.json'; const KIT_PREFIX = '@kit.'; const DEFAULT_KEYWORD = 'default'; const ETS_DECLARATION = '.d.ets'; -const OHOS_KIT_CONFIG_PATH = './openharmony/ets/ets1.1/build-tools/ets-loader/kit_configs'; -const HMS_KIT_CONFIG_PATH = './hms/ets/ets1.1/build-tools/ets-loader/kit_configs'; -export const THROWS_TAG = 'throws' -export const THROWS_CATCH = 'catch' -export const THROWS_ASYNC_CALLBACK = 'AsyncCallback' -export const THROWS_ERROR_CALLBACK = 'ErrorCallback' +export const THROWS_TAG = 'throws'; +export const THROWS_CATCH = 'catch'; +export const THROWS_ASYNC_CALLBACK = 'AsyncCallback'; +export const THROWS_ERROR_CALLBACK = 'ErrorCallback'; interface KitSymbolInfo { source: string, @@ -1082,13 +1171,32 @@ const kitJsonCache = new Map(); /** @internal */ export function getSdkPath(compilerOptions: CompilerOptions): string | undefined { - return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, '../../../../..') : undefined; + if (compilerOptions.etsLoaderPath && + normalizePath(compilerOptions.etsLoaderPath).endsWith('ets1.1/build-tools/ets-loader')) { + return resolvePath(compilerOptions.etsLoaderPath, '../../../../..'); + } + return compilerOptions.etsLoaderPath ? resolvePath(compilerOptions.etsLoaderPath, '../../../..') : undefined; +} + +function getKitConfigRelativePath(compilerOptions: CompilerOptions): string { + const etsLoaderPath = compilerOptions.etsLoaderPath; + const sdkPath = getSdkPath(compilerOptions); + return path.relative( + sdkPath!, + path.join(etsLoaderPath!, 'kit_configs') + ); +} + +function convertPath(originalPath: string, from: string, to: string): string { + return originalPath.replace(new RegExp(from, 'g'), to); } -function getKitJsonObject(name: string, sdkPath: string): KitJsonInfo | undefined { +function getKitJsonObject(name: string, sdkPath: string, compilerOptions: CompilerOptions): KitJsonInfo | undefined { if (kitJsonCache?.has(name)) { return kitJsonCache.get(name); } + const OHOS_KIT_CONFIG_PATH = getKitConfigRelativePath(compilerOptions); + const HMS_KIT_CONFIG_PATH = convertPath(OHOS_KIT_CONFIG_PATH, 'openharmony', 'hms'); const ohosJsonPath = resolvePath(sdkPath, OHOS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); const hmsJsonPath = resolvePath(sdkPath, HMS_KIT_CONFIG_PATH, `./${name}${JSON_SUFFIX}`); @@ -1288,7 +1396,7 @@ function processKitStatementSuccess(factory: NodeFactory, statement: ImportDecla /** @internal */ export function processKit(factory: NodeFactory, statements: NodeArray, sdkPath: string, - markedkitImportRanges: Array, inEtsContext: boolean): Statement[] { + markedkitImportRanges: Array, inEtsContext: boolean, compilerOptions: CompilerOptions): Statement[] { const list: Statement[] = []; let skipRestStatements = false; statements.forEach( @@ -1308,7 +1416,7 @@ export function processKit(factory: NodeFactory, statements: NodeArray(); if (!processKitStatementSuccess(factory, statement as ImportDeclaration, jsonObject, inEtsContext, newImportStatements)) { diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 7e8c6472d4..8b041ff89c 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1,75 +1,416 @@ import * as ts from "./_namespaces/ts"; import { - AccessorDeclaration, addRange, addRelatedInfo, AmdDependency, AnnotationDeclaration, AnnotationElement, - AnnotationPropertyDeclaration, append, ArrayBindingElement, ArrayBindingPattern, - ArrayLiteralExpression, ArrayTypeNode, ArrowFunction, AsExpression, AssertClause, AssertEntry, AssertionLevel, - AsteriskToken, attachFileToDiagnostics, AwaitExpression, BaseNodeFactory, BinaryExpression, BinaryOperatorToken, - BindingElement, BindingName, BindingPattern, Block, BooleanLiteral, BreakOrContinueStatement, BreakStatement, - CallExpression, CallSignatureDeclaration, canHaveModifiers, CaseBlock, CaseClause, CaseOrDefaultClause, CatchClause, - CharacterCodes, CheckJsDirective, ClassDeclaration, ClassElement, ClassExpression, ClassLikeDeclaration, - ClassStaticBlockDeclaration, CommaListExpression, CommentDirective, commentPragmas, CommentRange, CompilerOptions, - ComputedPropertyName, concatenate, ConditionalExpression, ConditionalTypeNode, ConstructorDeclaration, - ConstructorTypeNode, ConstructSignatureDeclaration, containsParseError, ContinueStatement, convertToObjectWorker, - createDetachedDiagnostic, createNodeFactory, createScanner, createTextChangeRange, createTextSpanFromBounds, Debug, - Decorator, DefaultClause, defaultInitCompilerOptions, DeleteExpression, Diagnostic, DiagnosticMessage, Diagnostics, - DiagnosticWithDetachedLocation, DoStatement, DotDotDotToken, ElementAccessExpression, emptyArray, emptyMap, - EndOfFileToken, ensureScriptKind, EntityName, EnumDeclaration, EnumMember, ESMap, EtsComponentExpression, EtsFlags, - ExclamationToken, ExportAssignment, ExportDeclaration, ExportSpecifier, Expression, ExpressionStatement, - ExpressionWithTypeArguments, Extension, ExternalModuleReference, fileExtensionIsOneOf, FileReference, findIndex, - forEach, ForEachChildNodes, ForInOrOfStatement, ForInStatement, ForOfStatement, ForStatement, FunctionDeclaration, - FunctionExpression, FunctionOrConstructorTypeNode, FunctionTypeNode, GetAccessorDeclaration, - getBinaryOperatorPrecedence, getEtsExtendDecoratorsComponentNames, getEtsStylesDecoratorComponentNames, - getFullWidth, getJSDocCommentRanges, getLanguageVariant, getLastChild, getLeadingCommentRanges, getModifiers, - getPropertyNameForPropertyNameNode, getRootComponent, getSdkPath, getSpellingSuggestion, getTextOfNodeFromSourceText, - getTextOfPropertyName, getVirtualEtsComponent, hasEtsBuilderDecoratorNames, hasEtsExtendDecoratorNames, - hasEtsStylesDecoratorNames, HasJSDoc, hasJSDocNodes, HasModifiers, HeritageClause, Identifier, idText, IfStatement, - ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportOrExportSpecifier, ImportSpecifier, - ImportTypeAssertionContainer, ImportTypeNode, IndexedAccessTypeNode, IndexSignatureDeclaration, InferTypeNode, - InterfaceDeclaration, IntersectionTypeNode, isArray, isAssignmentOperator, isAsyncModifier, isCallExpression, - isClassMemberModifier, isExportAssignment, isExportDeclaration, isExportModifier, isExpressionWithTypeArguments, - isExternalModuleReference, isFunctionTypeNode, isIdentifierText, isImportDeclaration, isImportEqualsDeclaration, - isJSDocFunctionType, isJSDocNullableType, isJSDocReturnTag, isJSDocTypeTag, isJsxOpeningElement, - isJsxOpeningFragment, isKeyword, isLeftHandSideExpression, isLiteralKind, isMetaProperty, isModifierKind, - isNonNullExpression, isPrivateIdentifier, isPropertyAccessExpression, isSetAccessorDeclaration, - isStringOrNumericLiteralLike, isTaggedTemplateExpression, isTemplateLiteralKind, isTokenInsideBuilder, - isTypeReferenceNode, IterationStatement, JSDoc, JSDocAllType, JSDocAugmentsTag, JSDocAuthorTag, JSDocCallbackTag, - JSDocClassTag, JSDocComment, JSDocContainer, JSDocDeprecatedTag, JSDocEnumTag, JSDocFunctionType, - JSDocImplementsTag, JSDocLink, JSDocLinkCode, JSDocLinkPlain, JSDocMemberName, JSDocNameReference, - JSDocNamespaceDeclaration, JSDocNonNullableType, JSDocNullableType, JSDocOptionalType, JSDocOverrideTag, - JSDocParameterTag, JSDocPrivateTag, JSDocPropertyLikeTag, JSDocPropertyTag, JSDocProtectedTag, JSDocPublicTag, - JSDocReadonlyTag, JSDocReturnTag, JSDocSeeTag, JSDocSignature, JSDocSyntaxKind, JSDocTag, JSDocTemplateTag, - JSDocText, JSDocThisTag, JSDocTypedefTag, JSDocTypeExpression, JSDocTypeLiteral, JSDocTypeTag, JSDocUnknownTag, - JSDocUnknownType, JSDocVariadicType, JsonMinusNumericLiteral, JsonObjectExpressionStatement, JsonSourceFile, - JsxAttribute, JsxAttributes, JsxAttributeValue, JsxChild, JsxClosingElement, JsxClosingFragment, JsxElement, - JsxExpression, JsxFragment, JsxOpeningElement, JsxOpeningFragment, JsxOpeningLikeElement, JsxSelfClosingElement, - JsxSpreadAttribute, JsxTagNameExpression, JsxTagNamePropertyAccess, JsxText, JsxTokenSyntaxKind, LabeledStatement, - LanguageVariant, last, lastOrUndefined, LeftHandSideExpression, LiteralExpression, LiteralLikeNode, LiteralTypeNode, - map, Map, mapDefined, MappedTypeNode, MemberExpression, MemoryDotting, MetaProperty, MethodDeclaration, - MethodSignature, MinusToken, MissingDeclaration, Modifier, ModifierFlags, ModifierLike, ModifiersArray, - modifiersToFlags, ModuleBlock, ModuleDeclaration, ModuleKind, Mutable, NamedExportBindings, NamedExports, - NamedImports, NamedImportsOrExports, NamedTupleMember, NamespaceDeclaration, NamespaceExport, - NamespaceExportDeclaration, NamespaceImport, NewExpression, Node, NodeArray, NodeFactoryFlags, NodeFlags, - nodeIsMissing, nodeIsPresent, NonNullExpression, noop, normalizePath, NoSubstitutionTemplateLiteral, NullLiteral, - NumericLiteral, objectAllocator, ObjectBindingPattern, ObjectLiteralElementLike, ObjectLiteralExpression, - OperatorPrecedence, OptionalTypeNode, PackageJsonInfo, ParameterDeclaration, ParenthesizedExpression, - ParenthesizedTypeNode, PartiallyEmittedExpression, perfLogger, PlusToken, PostfixUnaryExpression, - PostfixUnaryOperator, PragmaDefinition, PragmaKindFlags, PragmaMap, PragmaPseudoMap, PragmaPseudoMapEntry, - PrefixUnaryExpression, PrefixUnaryOperator, PrimaryExpression, PrivateIdentifier, processKit, - PropertyAccessEntityNameExpression, PropertyAccessExpression, PropertyAssignment, PropertyDeclaration, PropertyName, - PropertySignature, QualifiedName, QuestionDotToken, QuestionToken, ReadonlyKeyword, ReadonlyPragmaMap, - ReadonlyTextRange, RestTypeNode, ReturnStatement, SatisfiesExpression, ScriptKind, ScriptTarget, Set, - SetAccessorDeclaration, setParent, setParentRecursive, setTextRange, setTextRangePos, setTextRangePosEnd, - setTextRangePosWidth, ShorthandPropertyAssignment, skipTrivia, some, SourceFile, SpreadAssignment, SpreadElement, - startsWith, Statement, StringLiteral, StructDeclaration, supportedDeclarationExtensions, SwitchStatement, - SyntaxKind, TaggedTemplateExpression, TemplateExpression, TemplateHead, TemplateLiteralToken, - TemplateLiteralTypeNode, TemplateLiteralTypeSpan, TemplateMiddle, TemplateSpan, TemplateTail, TextChangeRange, - textChangeRangeIsUnchanged, textChangeRangeNewSpan, TextRange, textSpanEnd, textToKeywordObj, ThisExpression, - ThisTypeNode, ThrowStatement, toArray, Token, TokenFlags, tokenIsIdentifierOrKeyword, - tokenIsIdentifierOrKeywordOrGreaterThan, tokenToString, tracing, TransformFlags, trimString, TryStatement, - TupleTypeNode, TypeAliasDeclaration, TypeAssertion, TypeElement, TypeLiteralNode, TypeNode, TypeOfExpression, - TypeOperatorNode, TypeParameterDeclaration, TypePredicateNode, TypeQueryNode, TypeReferenceNode, UnaryExpression, - UnionOrIntersectionTypeNode, UnionTypeNode, UpdateExpression, VariableDeclaration, VariableDeclarationList, - VariableStatement, VoidExpression, WhileStatement, WithStatement, YieldExpression, + AccessorDeclaration, + addRange, + addRelatedInfo, + AmdDependency, + AnnotationDeclaration, + AnnotationElement, + AnnotationPropertyDeclaration, + append, + ArrayBindingElement, + ArrayBindingPattern, + ArrayLiteralExpression, + ArrayTypeNode, + ArrowFunction, + AsExpression, + AssertClause, + AssertEntry, + AssertionLevel, + AsteriskToken, + attachFileToDiagnostics, + AwaitExpression, + BaseNodeFactory, + BinaryExpression, + BinaryOperatorToken, + BindingElement, + BindingName, + BindingPattern, + Block, + BooleanLiteral, + BreakOrContinueStatement, + BreakStatement, + CallExpression, + CallSignatureDeclaration, + canHaveModifiers, + CaseBlock, + CaseClause, + CaseOrDefaultClause, + CatchClause, + CharacterCodes, + CheckJsDirective, + ClassDeclaration, + ClassElement, + ClassExpression, + ClassLikeDeclaration, + ClassStaticBlockDeclaration, + CommaListExpression, + CommentDirective, + commentPragmas, + CommentRange, + CompilerOptions, + ComputedPropertyName, + concatenate, + ConditionalExpression, + ConditionalTypeNode, + ConstructorDeclaration, + ConstructorTypeNode, + ConstructSignatureDeclaration, + containsParseError, + ContinueStatement, + convertToObjectWorker, + createDetachedDiagnostic, + createNodeFactory, + createScanner, + createTextChangeRange, + createTextSpanFromBounds, + Debug, + Decorator, + DefaultClause, + defaultInitCompilerOptions, + DeleteExpression, + Diagnostic, + DiagnosticMessage, + Diagnostics, + DiagnosticWithDetachedLocation, + DoStatement, + DotDotDotToken, + ElementAccessExpression, + emptyArray, + emptyMap, + EndOfFileToken, + ensureScriptKind, + EntityName, + EnumDeclaration, + EnumMember, + ESMap, + EtsComponentExpression, + EtsFlags, + ExclamationToken, + ExportAssignment, + ExportDeclaration, + ExportSpecifier, + Expression, + ExpressionStatement, + ExpressionWithTypeArguments, + Extension, + ExternalModuleReference, + fileExtensionIsOneOf, + FileReference, + findIndex, + forEach, + ForEachChildNodes, + ForInOrOfStatement, + ForInStatement, + ForOfStatement, + ForStatement, + FunctionDeclaration, + FunctionExpression, + FunctionOrConstructorTypeNode, + FunctionTypeNode, + GetAccessorDeclaration, + getBinaryOperatorPrecedence, + getEtsExtendDecoratorsComponentNames, + getEtsStylesDecoratorComponentNames, + getFullWidth, + getJSDocCommentRanges, + getLanguageVariant, + getLastChild, + getLeadingCommentRanges, + getModifiers, + getPropertyNameForPropertyNameNode, + getRootComponent, + getSdkPath, + getSpellingSuggestion, + getTextOfNodeFromSourceText, + getTextOfPropertyName, + getVirtualEtsComponent, + hasEtsBuilderDecoratorNames, + hasEtsExtendDecoratorNames, + hasEtsStylesDecoratorNames, + HasJSDoc, + hasJSDocNodes, + HasModifiers, + HeritageClause, + Identifier, + idText, + IfStatement, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportOrExportSpecifier, + ImportSpecifier, + ImportTypeAssertionContainer, + ImportTypeNode, + IndexedAccessTypeNode, + IndexSignatureDeclaration, + InferTypeNode, + InterfaceDeclaration, + IntersectionTypeNode, + isArray, + isAssignmentOperator, + isAsyncModifier, + isCallExpression, + isClassMemberModifier, + isExportAssignment, + isExportDeclaration, + isExportModifier, + isExpressionWithTypeArguments, + isExternalModuleReference, + isFunctionTypeNode, + isIdentifierText, + isImportDeclaration, + isImportEqualsDeclaration, + isJSDocFunctionType, + isJSDocNullableType, + isJSDocReturnTag, + isJSDocTypeTag, + isJsxOpeningElement, + isJsxOpeningFragment, + isKeyword, + isLeftHandSideExpression, + isLiteralKind, + isMetaProperty, + isModifierKind, + isNonNullExpression, + isPrivateIdentifier, + isPropertyAccessExpression, + isSetAccessorDeclaration, + isStringOrNumericLiteralLike, + isTaggedTemplateExpression, + isTemplateLiteralKind, + isTokenInsideBuilder, + isTypeReferenceNode, + IterationStatement, + JSDoc, + JSDocAllType, + JSDocAugmentsTag, + JSDocAuthorTag, + JSDocCallbackTag, + JSDocClassTag, + JSDocComment, + JSDocContainer, + JSDocDeprecatedTag, + JSDocEnumTag, + JSDocFunctionType, + JSDocImplementsTag, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, + JSDocMemberName, + JSDocNameReference, + JSDocNamespaceDeclaration, + JSDocNonNullableType, + JSDocNullableType, + JSDocOptionalType, + JSDocOverrideTag, + JSDocParameterTag, + JSDocPrivateTag, + JSDocPropertyLikeTag, + JSDocPropertyTag, + JSDocProtectedTag, + JSDocPublicTag, + JSDocReadonlyTag, + JSDocReturnTag, + JSDocSeeTag, + JSDocSignature, + JSDocSyntaxKind, + JSDocTag, + JSDocTemplateTag, + JSDocText, + JSDocThisTag, + JSDocTypedefTag, + JSDocTypeExpression, + JSDocTypeLiteral, + JSDocTypeTag, + JSDocUnknownTag, + JSDocUnknownType, + JSDocVariadicType, + JsonMinusNumericLiteral, + JsonObjectExpressionStatement, + JsonSourceFile, + JsxAttribute, + JsxAttributes, + JsxAttributeValue, + JsxChild, + JsxClosingElement, + JsxClosingFragment, + JsxElement, + JsxExpression, + JsxFragment, + JsxOpeningElement, + JsxOpeningFragment, + JsxOpeningLikeElement, + JsxSelfClosingElement, + JsxSpreadAttribute, + JsxTagNameExpression, + JsxTagNamePropertyAccess, + JsxText, + JsxTokenSyntaxKind, + LabeledStatement, + LanguageVariant, + last, + lastOrUndefined, + LeftHandSideExpression, + LiteralExpression, + LiteralLikeNode, + LiteralTypeNode, + map, + Map, + mapDefined, + MappedTypeNode, + MemberExpression, + MemoryDotting, + MetaProperty, + MethodDeclaration, + MethodSignature, + MinusToken, + MissingDeclaration, + Modifier, + ModifierFlags, + ModifierLike, + ModifiersArray, + modifiersToFlags, + ModuleBlock, + ModuleDeclaration, + ModuleKind, + Mutable, + NamedExportBindings, + NamedExports, + NamedImports, + NamedImportsOrExports, + NamedTupleMember, + NamespaceDeclaration, + NamespaceExport, + NamespaceExportDeclaration, + NamespaceImport, + NewExpression, + Node, + NodeArray, + NodeFactoryFlags, + NodeFlags, + nodeIsMissing, + nodeIsPresent, + NonNullExpression, + noop, + normalizePath, + NoSubstitutionTemplateLiteral, + NullLiteral, + NumericLiteral, + objectAllocator, + ObjectBindingPattern, + ObjectLiteralElementLike, + ObjectLiteralExpression, + OperatorPrecedence, + OptionalTypeNode, + PackageJsonInfo, + ParameterDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, + PartiallyEmittedExpression, + perfLogger, + PlusToken, + PostfixUnaryExpression, + PostfixUnaryOperator, + PragmaDefinition, + PragmaKindFlags, + PragmaMap, + PragmaPseudoMap, + PragmaPseudoMapEntry, + PrefixUnaryExpression, + PrefixUnaryOperator, + PrimaryExpression, + PrivateIdentifier, + processKit, + PropertyAccessEntityNameExpression, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertyName, + PropertySignature, + QualifiedName, + QuestionDotToken, + QuestionToken, + ReadonlyKeyword, + ReadonlyPragmaMap, + ReadonlyTextRange, + RestTypeNode, + ReturnStatement, + SatisfiesExpression, + ScriptKind, + ScriptTarget, + Set, + SetAccessorDeclaration, + setParent, + setParentRecursive, + setTextRange, + setTextRangePos, + setTextRangePosEnd, + setTextRangePosWidth, + ShorthandPropertyAssignment, + skipTrivia, + some, + SourceFile, + SpreadAssignment, + SpreadElement, + startsWith, + Statement, + StringLiteral, + StructDeclaration, + supportedDeclarationExtensions, + SwitchStatement, + SyntaxKind, + TaggedTemplateExpression, + TemplateExpression, + TemplateHead, + TemplateLiteralToken, + TemplateLiteralTypeNode, + TemplateLiteralTypeSpan, + TemplateMiddle, + TemplateSpan, + TemplateTail, + TextChangeRange, + textChangeRangeIsUnchanged, + textChangeRangeNewSpan, + TextRange, + textSpanEnd, + textToKeywordObj, + ThisExpression, + ThisTypeNode, + ThrowStatement, + toArray, + Token, + TokenFlags, + tokenIsIdentifierOrKeyword, + tokenIsIdentifierOrKeywordOrGreaterThan, + tokenToString, + tracing, + TransformFlags, + trimString, + TryStatement, + TupleTypeNode, + TypeAliasDeclaration, + TypeAssertion, + TypeElement, + TypeLiteralNode, + TypeNode, + TypeOfExpression, + TypeOperatorNode, + TypeParameterDeclaration, + TypePredicateNode, + TypeQueryNode, + TypeReferenceNode, + UnaryExpression, + UnionOrIntersectionTypeNode, + UnionTypeNode, + UpdateExpression, + VariableDeclaration, + VariableDeclarationList, + VariableStatement, + VoidExpression, + WhileStatement, + WithStatement, + YieldExpression, } from "./_namespaces/ts"; import * as performance from "./_namespaces/ts.performance"; @@ -1115,9 +1456,9 @@ export function parseJSDocTypeExpressionForTests(content: string, start?: number return Parser.JSDocParser.parseJSDocTypeExpressionForTests(content, start, length); } -// Get language version: ArkTS 1.1、1.2 +// Set language version: ArkTS 1.1、1.2 let languageVersionCallBack: ((filePath: string) => boolean) | undefined; -export function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void { +export function setLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void { languageVersionCallBack = getLanguageVersion; } @@ -1491,7 +1832,7 @@ namespace Parser { // When the language version is 1.2, skip processKit statements = (!!sourceFileCompilerOptions.noTransformedKitInParser || !sdkPath || parseDiagnostics.length || languageVersionCallBack?.(fileName)) ? statements : - createNodeArray(processKit(factory, statements, sdkPath, markedkitImportRanges, inEtsContext()), statements.pos); + createNodeArray(processKit(factory, statements, sdkPath, markedkitImportRanges, inEtsContext(), sourceFileCompilerOptions), statements.pos); Debug.assert(token() === SyntaxKind.EndOfFileToken); const endOfFileToken = addJSDocComment(parseTokenNode()); diff --git a/src/services/services.ts b/src/services/services.ts index befde7310f..e1c70f6393 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2,60 +2,333 @@ import * as ts from "./_namespaces/ts"; import * as NavigateTo from "./_namespaces/ts.NavigateTo"; import * as NavigationBar from "./_namespaces/ts.NavigationBar"; import { - __String, ApplicableRefactorInfo, ApplyCodeActionCommandResult, AssignmentDeclarationKind, BaseType, - BinaryExpression, BreakpointResolver, BuilderProgram, CallHierarchy, CallHierarchyIncomingCall, CallHierarchyItem, - CallHierarchyOutgoingCall, CancellationToken, changeCompilerHostLikeToUseCache, CharacterCodes, CheckJsDirective, - Classifications, ClassifiedSpan, ClassifiedSpan2020, classifier, CodeActionCommand, codefix, CodeFixAction, - CombinedCodeActions, CombinedCodeFixScope, combinePaths, compareValues, CompilerHost, CompilerOptions, - CompletionEntryData, CompletionEntryDetails, CompletionInfo, Completions, computePositionOfLineAndCharacter, - computeSuggestionDiagnostics, createDocumentRegistry, createGetCanonicalFileName, createIncrementalProgram, - createIncrementalProgramForArkTs, createMultiMap, createProgram, CreateProgramOptions, createSourceFile, - CreateSourceFileOptions, createTextSpanFromBounds, createTextSpanFromNode, createTextSpanFromRange, Debug, - Declaration, deduplicate, DefinitionInfo, DefinitionInfoAndBoundSpan, Diagnostic, DiagnosticWithLocation, - directoryProbablyExists, DocCommentTemplateOptions, DocumentHighlights, DocumentRegistry, DocumentSpan, - EditorOptions, EditorSettings, ElementAccessExpression, EmitTextWriter, emptyArray, emptyOptions, EndOfFileToken, - EntityName, equateValues, ESMap, ExportDeclaration, FileReference, FileTextChanges, filter, find, FindAllReferences, - findChildOfKind, findPrecedingToken, first, firstDefined, firstOrOnly, flatMap, forEach, forEachChild, - FormatCodeOptions, FormatCodeSettings, formatting, FunctionLikeDeclaration, GeneratedIdentifierFlags, - getAdjustedRenameLocation, getAllSuperTypeNodes, getAssignmentDeclarationKind, GetCompletionsAtPositionOptions, - getContainerNode, getDefaultLibFileName, getDirectoryPath, getEmitDeclarations, getEntries, - getEscapedTextOfIdentifierOrLiteral, getFileEmitOutput, getImpliedNodeFormatForFile, getJSDocTags, getLanguageVersionByFilePath, - getLineAndCharacterOfPosition, getLineStarts, getMappedDocumentSpan, getNameFromPropertyName, getNewLineCharacter, - getNewLineOrDefaultFromHost, getNonAssignedNameOfDeclaration, getNormalizedAbsolutePath, getObjectFlags, - getScriptKind, getScriptKindFromFileName, getSetExternalModuleIndicator, getSnapshotText, getSourceFileOfNode, - getSourceMapper, getTokenPosOfNode, getTouchingPropertyName, getTouchingToken, GoToDefinition, - HasInvalidatedResolutions, hasJSDocNodes, hasProperty, hasStaticModifier, hasSyntacticModifier, HighlightSpanKind, - HostCancellationToken, hostGetCanonicalFileName, hostUsesCaseSensitiveFileNames, Identifier, identity, idText, - ImplementationLocation, ImportDeclaration, IndexKind, IndexType, InlayHint, InlayHints, InlayHintsContext, - insertSorted, InterfaceType, IntersectionType, isArray, isBindingPattern, isComputedPropertyName, - isConstTypeReference, IScriptSnapshot, isDeclarationName, isGetAccessor, isIdentifier, isImportMeta, isInComment, - isIncrementalCompilation, isInMarkedKitImport, isInsideJsxElement, isInsideJsxElementOrAttribute, isInString, isInTemplateString, - isIntrinsicJsxName, isJSDocCommentContainingNode, isJsxAttributes, isJsxClosingElement, isJsxElement, isJsxFragment, - isJsxOpeningElement, isJsxOpeningFragment, isJsxText, isLabelName, isLiteralComputedPropertyDeclarationName, - isNamedExports, isNamedTupleMember, isNameOfModuleDeclaration, isNewExpression, isNodeKind, isObjectLiteralElement, - isObjectLiteralExpression, isPrivateIdentifier, isProgramUptoDate, isPropertyAccessExpression, isPropertyName, - isRightSideOfPropertyAccess, isRightSideOfQualifiedName, isSetAccessor, isSourceFile, isStringOrNumericLiteralLike, isTagName, - isTextWhiteSpaceLike, isThisTypeParameter, JsDoc, JSDoc, JSDocContainer, JSDocTagInfo, JsonSourceFile, - JsxAttributes, JsxClosingTagInfo, JsxElement, JsxEmit, JsxFragment, LanguageService, LanguageServiceHost, - LanguageServiceMode, LanguageVariant, lastOrUndefined, length, LineAndCharacter, lineBreakPart, LiteralType, map, - Map, mapDefined, MapLike, mapOneOrMany, maybeBind, maybeSetLocalizedDiagnosticMessages, ModeAwareCache, - ModifierFlags, ModuleDeclaration, NavigateToItem, NavigationBarItem, NavigationTree, Node, NodeArray, NodeFlags, - noop, normalizePath, NumberLiteralType, NumericLiteral, ObjectAllocator, ObjectFlags, ObjectLiteralElement, - ObjectLiteralExpression, OperationCanceledException, OrganizeImports, OrganizeImportsArgs, OrganizeImportsMode, - OutliningElementsCollector, OutliningSpan, ParseConfigFileHost, ParsedCommandLine, - parseJsonSourceFileConfigFileContent, Path, PerformanceDotting, positionIsSynthesized, PossibleProgramFileInfo, PragmaMap, - PrivateIdentifier, Program, PropertyName, Push, QuickInfo, refactor, RefactorContext, RefactorEditInfo, - RefactorTriggerReason, ReferencedSymbol, ReferenceEntry, Rename, RenameInfo, RenameInfoOptions, RenameLocation, - ResolvedModuleFull, ResolvedProjectReference, ResolvedTypeReferenceDirective, returnFalse, scanner, - ScriptElementKind, ScriptElementKindModifier, ScriptKind, ScriptTarget, SelectionRange, - SemanticClassificationFormat, Set, setObjectAllocator, Signature, SignatureDeclaration, SignatureFlags, - SignatureHelp, SignatureHelpItems, SignatureHelpItemsOptions, SignatureKind, singleElementArray, - SmartSelectionRange, SortedArray, SourceFile, SourceFileLike, SourceMapSource, Statement, stringContains, - StringLiteral, StringLiteralLike, StringLiteralType, Symbol, SymbolDisplay, SymbolDisplayPart, SymbolFlags, - symbolName, SyntaxKind, SyntaxList, tagNamesAreEquivalent, TextChange, TextChangeRange, TextInsertion, TextRange, - TextSpan, textSpanEnd, timestamp, TodoComment, TodoCommentDescriptor, Token, toPath, tracing, TransformFlags, - TransientSymbol, Type, TypeChecker, TypeFlags, TypeNode, TypeParameter, TypePredicate, TypeReference, - typeToDisplayParts, UnderscoreEscapedMap, UnionOrIntersectionType, UnionType, updateSourceFile, UserPreferences, + __String, + ApplicableRefactorInfo, + ApplyCodeActionCommandResult, + AssignmentDeclarationKind, + BaseType, + BinaryExpression, + BreakpointResolver, + BuilderProgram, + CallHierarchy, + CallHierarchyIncomingCall, + CallHierarchyItem, + CallHierarchyOutgoingCall, + CancellationToken, + changeCompilerHostLikeToUseCache, + CharacterCodes, + CheckJsDirective, + Classifications, + ClassifiedSpan, + ClassifiedSpan2020, + classifier, + CodeActionCommand, + codefix, + CodeFixAction, + CombinedCodeActions, + CombinedCodeFixScope, + combinePaths, + compareValues, + CompilerHost, + CompilerOptions, + CompletionEntryData, + CompletionEntryDetails, + CompletionInfo, + Completions, + computePositionOfLineAndCharacter, + computeSuggestionDiagnostics, + createDocumentRegistry, + createGetCanonicalFileName, + createIncrementalProgram, + createIncrementalProgramForArkTs, + createMultiMap, + createProgram, + CreateProgramOptions, + createSourceFile, + CreateSourceFileOptions, + createTextSpanFromBounds, + createTextSpanFromNode, + createTextSpanFromRange, + Debug, + Declaration, + deduplicate, + DefinitionInfo, + DefinitionInfoAndBoundSpan, + Diagnostic, + DiagnosticWithLocation, + directoryProbablyExists, + DocCommentTemplateOptions, + DocumentHighlights, + DocumentRegistry, + DocumentSpan, + EditorOptions, + EditorSettings, + ElementAccessExpression, + EmitTextWriter, + emptyArray, + emptyOptions, + EndOfFileToken, + EntityName, + equateValues, + ESMap, + ExportDeclaration, + FileReference, + FileTextChanges, + filter, + find, + FindAllReferences, + findChildOfKind, + findPrecedingToken, + first, + firstDefined, + firstOrOnly, + flatMap, + forEach, + forEachChild, + FormatCodeOptions, + FormatCodeSettings, + formatting, + FunctionLikeDeclaration, + GeneratedIdentifierFlags, + getAdjustedRenameLocation, + getAllSuperTypeNodes, + getAssignmentDeclarationKind, + GetCompletionsAtPositionOptions, + getContainerNode, + getDefaultLibFileName, + getDirectoryPath, + getEmitDeclarations, + getEntries, + getEscapedTextOfIdentifierOrLiteral, + getFileEmitOutput, + getImpliedNodeFormatForFile, + getJSDocTags, + setLanguageVersionByFilePath, + getLineAndCharacterOfPosition, + getLineStarts, + getMappedDocumentSpan, + getNameFromPropertyName, + getNewLineCharacter, + getNewLineOrDefaultFromHost, + getNonAssignedNameOfDeclaration, + getNormalizedAbsolutePath, + getObjectFlags, + getScriptKind, + getScriptKindFromFileName, + getSetExternalModuleIndicator, + getSnapshotText, + getSourceFileOfNode, + getSourceMapper, + getTokenPosOfNode, + getTouchingPropertyName, + getTouchingToken, + GoToDefinition, + HasInvalidatedResolutions, + hasJSDocNodes, + hasProperty, + hasStaticModifier, + hasSyntacticModifier, + HighlightSpanKind, + HostCancellationToken, + hostGetCanonicalFileName, + hostUsesCaseSensitiveFileNames, + Identifier, + identity, + idText, + ImplementationLocation, + ImportDeclaration, + IndexKind, + IndexType, + InlayHint, + InlayHints, + InlayHintsContext, + insertSorted, + InterfaceType, + IntersectionType, + isArray, + isBindingPattern, + isComputedPropertyName, + isConstTypeReference, + IScriptSnapshot, + isDeclarationName, + isGetAccessor, + isIdentifier, + isImportMeta, + isInComment, + isIncrementalCompilation, + isInMarkedKitImport, + isInsideJsxElement, + isInsideJsxElementOrAttribute, + isInString, + isInTemplateString, + isIntrinsicJsxName, + isJSDocCommentContainingNode, + isJsxAttributes, + isJsxClosingElement, + isJsxElement, + isJsxFragment, + isJsxOpeningElement, + isJsxOpeningFragment, + isJsxText, + isLabelName, + isLiteralComputedPropertyDeclarationName, + isNamedExports, + isNamedTupleMember, + isNameOfModuleDeclaration, + isNewExpression, + isNodeKind, + isObjectLiteralElement, + isObjectLiteralExpression, + isPrivateIdentifier, + isProgramUptoDate, + isPropertyAccessExpression, + isPropertyName, + isRightSideOfPropertyAccess, + isRightSideOfQualifiedName, + isSetAccessor, + isSourceFile, + isStringOrNumericLiteralLike, + isTagName, + isTextWhiteSpaceLike, + isThisTypeParameter, + JsDoc, + JSDoc, + JSDocContainer, + JSDocTagInfo, + JsonSourceFile, + JsxAttributes, + JsxClosingTagInfo, + JsxElement, + JsxEmit, + JsxFragment, + LanguageService, + LanguageServiceHost, + LanguageServiceMode, + LanguageVariant, + lastOrUndefined, + length, + LineAndCharacter, + lineBreakPart, + LiteralType, + map, + Map, + mapDefined, + MapLike, + mapOneOrMany, + maybeBind, + maybeSetLocalizedDiagnosticMessages, + ModeAwareCache, + ModifierFlags, + ModuleDeclaration, + NavigateToItem, + NavigationBarItem, + NavigationTree, + Node, + NodeArray, + NodeFlags, + noop, + normalizePath, + NumberLiteralType, + NumericLiteral, + ObjectAllocator, + ObjectFlags, + ObjectLiteralElement, + ObjectLiteralExpression, + OperationCanceledException, + OrganizeImports, + OrganizeImportsArgs, + OrganizeImportsMode, + OutliningElementsCollector, + OutliningSpan, + ParseConfigFileHost, + ParsedCommandLine, + parseJsonSourceFileConfigFileContent, + Path, + PerformanceDotting, + positionIsSynthesized, + PossibleProgramFileInfo, + PragmaMap, + PrivateIdentifier, + Program, + PropertyName, + Push, + QuickInfo, + refactor, + RefactorContext, + RefactorEditInfo, + RefactorTriggerReason, + ReferencedSymbol, + ReferenceEntry, + Rename, + RenameInfo, + RenameInfoOptions, + RenameLocation, + ResolvedModuleFull, + ResolvedProjectReference, + ResolvedTypeReferenceDirective, + returnFalse, + scanner, + ScriptElementKind, + ScriptElementKindModifier, + ScriptKind, + ScriptTarget, + SelectionRange, + SemanticClassificationFormat, + Set, + setObjectAllocator, + Signature, + SignatureDeclaration, + SignatureFlags, + SignatureHelp, + SignatureHelpItems, + SignatureHelpItemsOptions, + SignatureKind, + singleElementArray, + SmartSelectionRange, + SortedArray, + SourceFile, + SourceFileLike, + SourceMapSource, + Statement, + stringContains, + StringLiteral, + StringLiteralLike, + StringLiteralType, + Symbol, + SymbolDisplay, + SymbolDisplayPart, + SymbolFlags, + symbolName, + SyntaxKind, + SyntaxList, + tagNamesAreEquivalent, + TextChange, + TextChangeRange, + TextInsertion, + TextRange, + TextSpan, + textSpanEnd, + timestamp, + TodoComment, + TodoCommentDescriptor, + Token, + toPath, + tracing, + TransformFlags, + TransientSymbol, + Type, + TypeChecker, + TypeFlags, + TypeNode, + TypeParameter, + TypePredicate, + TypeReference, + typeToDisplayParts, + UnderscoreEscapedMap, + UnionOrIntersectionType, + UnionType, + updateSourceFile, + UserPreferences, VariableDeclaration, } from "./_namespaces/ts"; @@ -1315,8 +1588,8 @@ export function createLanguageService( const currentDirectory = host.getCurrentDirectory(); - // Get the callback to determine languageVersion by filePath (will used in parsing) - getLanguageVersionByFilePath(host.isStaticSourceFile); + // Set the callback to determine languageVersion by filePath (will used in parsing) + setLanguageVersionByFilePath(host.isStaticSourceFile); // Checks if the localized messages json is set, and if not, query the host for it maybeSetLocalizedDiagnosticMessages(host.getLocalizedDiagnosticMessages?.bind(host)); diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 1f72dddd4a..902dd32cb9 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -9653,7 +9653,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; - function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; + function setLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 183e6dad7e..4cc579e309 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -5650,7 +5650,7 @@ declare namespace ts { function parseJsonText(fileName: string, sourceText: string): JsonSourceFile; function isExternalModule(file: SourceFile): boolean; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean, option?: CompilerOptions): SourceFile; - function getLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; + function setLanguageVersionByFilePath(getLanguageVersion: ((filePath: string) => boolean) | undefined): void; interface CreateSourceFileOptions { languageVersion: ScriptTarget; /** -- Gitee From 4ca8ca14b88e80e8f5215a7fd4da6428e540f58b Mon Sep 17 00:00:00 2001 From: zju_wyx Date: Thu, 5 Jun 2025 21:59:28 +0800 Subject: [PATCH 6/7] isolated declaration and noCheck feature Signed-off-by: zju_wyx Change-Id: Ieedac7fe76ad6e41a8bc245e5a16ae89a8f83f5b --- lib/tsc.js | 2118 ++++++++++--- lib/tsserver.js | 2205 ++++++++++--- lib/tsserverlibrary.d.ts | 28 +- lib/tsserverlibrary.js | 2205 ++++++++++--- lib/typescript.d.ts | 28 +- lib/typescript.js | 2195 ++++++++++--- lib/typingsInstaller.js | 41 +- src/compiler/_namespaces/ts.ts | 1 + src/compiler/checker.ts | 2767 ++++++++++++++--- src/compiler/commandLineParser.ts | 24 +- src/compiler/diagnosticMessages.json | 5 +- src/compiler/emitter.ts | 8 +- src/compiler/expressionToTypeNode.ts | 551 ++++ src/compiler/program.ts | 9 + src/compiler/sys.ts | 2 + src/compiler/transformers/declarations.ts | 389 ++- src/compiler/types.ts | 103 +- src/compiler/utilities.ts | 698 ++++- src/compiler/utilitiesPublic.ts | 75 + src/compiler/visitorPublic.ts | 131 +- src/harness/harnessIO.ts | 93 +- src/harness/runnerbase.ts | 6 +- src/services/transpile.ts | 125 +- src/services/utilities.ts | 1 + src/testRunner/_namespaces/Harness.ts | 1 + src/testRunner/compilerRunner.ts | 10 +- src/testRunner/externalCompileRunner.ts | 4 +- src/testRunner/fourslashRunner.ts | 3 +- src/testRunner/parallel/host.ts | 3 +- src/testRunner/projectsRunner.ts | 40 +- src/testRunner/runner.ts | 13 +- src/testRunner/rwcRunner.ts | 2 +- src/testRunner/test262Runner.ts | 2 +- src/testRunner/transpileRunner.ts | 127 + src/testRunner/unittests/tsbuild/helpers.ts | 2 +- src/testRunner/unittests/tsbuild/noCheck.ts | 77 + .../DateTimeFormatAndNumberFormatES2021.types | 36 +- ...leTypesInNestedMemberTypeAnnotations.types | 2 +- ...onAndModuleWithSameNameAndCommonRoot.types | 2 +- ...leWithSameNameAndDifferentCommonRoot.types | 2 +- ...ithExportedAndNonExportedImportAlias.types | 2 +- .../accessorsOverrideProperty8.types | 2 +- .../reference/aliasUsageInObjectLiteral.types | 2 +- tests/baselines/reference/ambientErrors.types | 2 +- tests/baselines/reference/anonterface.types | 6 +- .../anyAssignabilityInInheritance.types | 2 +- .../reference/api/tsserverlibrary.d.ts | 28 +- tests/baselines/reference/api/typescript.d.ts | 28 +- .../argumentExpressionContextualTyping.types | 2 +- ...FakeFlatNoCrashInferenceDeclarations.types | 6 +- ...ayLiteralWithMultipleBestCommonTypes.types | 16 +- .../reference/arraySigChecking.types | 2 +- .../reference/assertionTypePredicates1.types | 16 +- .../assigningFromObjectToAnythingElse.types | 8 +- .../reference/assignmentCompatBug5.types | 2 +- ...nmentCompatFunctionsWithOptionalArgs.types | 2 +- .../reference/assignmentCompatOnNew.types | 4 +- .../assignmentCompatWithCallSignatures3.types | 32 +- .../assignmentCompatWithCallSignatures4.types | 20 +- ...gnmentCompatWithConstructSignatures3.types | 32 +- ...gnmentCompatWithConstructSignatures4.types | 20 +- ...signmentCompatWithDiscriminatedUnion.types | 4 +- ...mentCompatWithGenericCallSignatures3.types | 2 +- ...assignmentToParenthesizedIdentifiers.types | 2 +- ...ncFunctionReturnExpressionErrorSpans.types | 4 +- .../asyncFunctionsAndStrictNullChecks.types | 10 +- .../reference/awaitUnionPromise.types | 2 +- .../reference/awaitedTypeJQuery.types | 12 +- ...baseClassImprovedMismatchErrors.errors.txt | 8 +- .../baseClassImprovedMismatchErrors.types | 4 +- tests/baselines/reference/bigintWithLib.types | 8 +- .../reference/bigintWithoutLib.types | 8 +- ...ngPatternCannotBeOnlyInferenceSource.types | 2 +- tests/baselines/reference/callChain.2.types | 4 +- tests/baselines/reference/callChain.3.types | 2 +- tests/baselines/reference/callChain.types | 14 +- tests/baselines/reference/callOverload.types | 6 +- ...SignatureAssignabilityInInheritance2.types | 8 +- ...SignatureAssignabilityInInheritance3.types | 8 +- ...SignatureAssignabilityInInheritance5.types | 8 +- ...SignatureAssignabilityInInheritance6.types | 4 +- .../callSignatureFunctionOverload.types | 4 +- .../reference/callWithMissingVoid.types | 8 +- .../baselines/reference/callWithSpread2.types | 6 +- .../baselines/reference/callWithSpread4.types | 4 +- .../callbackArgsDifferByOptionality.types | 4 +- .../reference/callbackCrossModule.types | 2 +- .../reference/callsOnComplexSignatures.types | 36 +- .../capturedParametersInInitializers1.types | 6 +- ...nedSpecializationToObjectTypeLiteral.types | 2 +- .../checkJsTypeDefNoUnusedLocalMarked.types | 6 +- .../reference/checkJsdocParamTag1.types | 6 +- .../reference/checkJsdocTypeTag5.types | 2 +- ...checkJsxIntersectionElementPropsType.types | 2 +- ...heckJsxSubtleSkipContextSensitiveBug.types | 2 +- ...onSFXContextualTypeInferredCorrectly.types | 4 +- .../reference/checkObjectDefineProperty.types | 4 +- ...kTypePredicateForRedundantProperties.types | 2 +- .../reference/circularResolvedSignature.types | 2 +- ...ditionalNoInfiniteInstantiationDepth.types | 4 +- .../classCanExtendConstructorFunction.types | 10 +- .../classExtendsInterfaceInExpression.types | 2 +- .../reference/classExtendsNull.types | 8 +- .../coAndContraVariantInferences.types | 12 +- .../reference/collisionArgumentsInType.types | 4 +- .../collisionRestParameterInType.types | 2 +- .../reference/commonTypeIntersection.types | 8 +- .../completionEntryForUnionMethod.baseline | 1176 +++++-- ...completionsCommentsCommentParsing.baseline | 16 +- ...etionsCommentsFunctionDeclaration.baseline | 16 +- ...letionsCommentsFunctionExpression.baseline | 16 +- .../complexRecursiveCollections.types | 48 +- ...ndexesOfIntersectionsAreInferencable.types | 2 +- .../reference/complicatedPrivacy.types | 8 +- .../computedPropertiesInDestructuring1.types | 10 +- ...mputedPropertiesInDestructuring1_ES6.types | 10 +- .../computedPropertiesNarrowed.errors.txt | 76 + .../reference/computedPropertiesNarrowed.js | 88 + .../computedPropertiesNarrowed.symbols | 125 + .../computedPropertiesNarrowed.types | 167 + ...itionalTypeAssignabilityWhenDeferred.types | 4 +- ...asedContextualTypeReturnTypeWidening.types | 12 +- ...onRegularTypeFetchingSpeedReasonable.types | 2 +- .../conditionalTypeDoesntSpinForever.types | 8 +- .../baselines/reference/conditionalTypes1.js | 2 +- .../reference/conditionalTypes1.types | 6 +- .../reference/conditionalTypes2.types | 8 +- .../conditionalTypesSimplifyWhenTrivial.types | 8 +- ...eOverloadsCausedByOverloadResolution.types | 16 +- .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../isolatedDeclarations/tsconfig.json | 5 + .../noCheck/tsconfig.json | 3 + ...sistentAliasVsNonAliasRecordBehavior.types | 16 +- .../baselines/reference/constAssertions.types | 4 +- .../baselines/reference/constEnum2.errors.txt | 5 +- tests/baselines/reference/constEnum2.js | 2 +- tests/baselines/reference/constEnum3.types | 4 +- .../reference/constantOverloadFunction.types | 6 +- ...nstantOverloadFunctionNoSubtypeError.types | 6 +- ...SignatureAssignabilityInInheritance2.types | 8 +- ...SignatureAssignabilityInInheritance3.types | 8 +- ...SignatureAssignabilityInInheritance5.types | 8 +- ...SignatureAssignabilityInInheritance6.types | 4 +- ...nstructorArgWithGenericCallSignature.types | 4 +- .../reference/constructorAsType.types | 4 +- ...contextualOverloadListFromArrayUnion.types | 8 +- ...tFromUnionWithPrimitiveNoImplicitAny.types | 2 +- ...itionalTypeInstantiationUsingDefault.types | 6 +- .../reference/contextualTypeFromJSDoc.types | 2 +- ...ntextualTypeOfIndexedAccessParameter.types | 2 +- .../reference/contextualTypeOnYield1.types | 2 +- .../reference/contextualTypeOnYield2.types | 2 +- .../contextualTypedSpecialAssignment.types | 2 +- .../reference/contextualTyping.types | 2 +- .../reference/contextualTyping25.types | 2 +- .../reference/contextualTyping26.types | 2 +- .../reference/contextualTyping27.types | 2 +- .../contextualTypingOfOptionalMembers.types | 4 +- ...uallyTypedParametersWithInitializers.types | 10 +- ...TypedStringLiteralsInJsxAttributes01.types | 4 +- .../contravariantInferenceAndTypeGuard.types | 8 +- .../reference/controlFlowAliasing.types | 66 +- .../reference/controlFlowArrays.types | 2 +- .../reference/controlFlowDeleteOperator.types | 2 +- .../controlFlowDestructuringLoop.types | 4 +- .../reference/controlFlowGenericTypes.types | 8 +- .../baselines/reference/controlFlowIIFE.types | 4 +- ...lowInitializedDestructuringVariables.types | 2 +- .../controlFlowNullishCoalesce.types | 4 +- .../reference/controlFlowOptionalChain.types | 28 +- .../reference/controlFlowOptionalChain2.types | 10 +- .../reference/controlFlowOuterVariable.types | 4 +- .../controlFlowPropertyDeclarations.types | 4 +- .../reference/controlFlowStringIndex.types | 4 +- .../controlFlowWithTemplateLiterals.types | 8 +- tests/baselines/reference/correlatedUnions.js | 4 +- .../reference/correlatedUnions.types | 14 +- ...licGenericTypeInstantiationInference.types | 2 +- .../declFilePrivateMethodOverloads.types | 8 +- ...tParametersOfFunctionAndFunctionType.types | 4 +- .../reference/declFileTypeofFunction.types | 24 +- ...declarationEmitAliasFromIndirectFile.types | 4 +- .../declarationEmitDestructuring1.types | 4 +- ...OptionalBindingParametersInOverloads.types | 2 +- ...cturingWithOptionalBindingParameters.types | 2 +- ...ionEmitDistributiveConditionalWithInfer.js | 2 +- ...EmitDistributiveConditionalWithInfer.types | 6 +- ...nEmitDuplicateParameterDestructuring.types | 8 +- ...peDistributivityPreservesConstraints.types | 2 +- .../declarationEmitOptionalMethod.types | 6 +- ...larationEmitPrivatePromiseLikeInterface.js | 2 +- ...declarationEmitShadowingInferNotRenamed.js | 2 +- .../reference/declarationMapsMultifile.types | 2 +- .../reference/declarationMapsOutFile.types | 2 +- .../reference/declarationMapsOutFile2.types | 2 +- .../declarationMapsWithSourceMap.types | 2 +- ...InternalTypesProduceUniqueTypeParams.types | 4 +- ...ertyCheckingWhenTargetIsIntersection.types | 4 +- .../deeplyNestedAssignabilityIssue.types | 4 +- ...defaultDeclarationEmitNamedCorrectly.types | 6 +- ...eclarationEmitShadowedNamedCorrectly.types | 6 +- ...terAddsUndefinedWithStrictNullChecks.types | 8 +- .../reference/deferredLookupTypeResolution.js | 17 + .../deferredLookupTypeResolution.types | 2 +- tests/baselines/reference/deleteChain.types | 22 +- .../dependentDestructuredVariables.types | 72 +- ...rivedClassOverridesProtectedMembers2.types | 20 +- .../derivedClassOverridesPublicMembers.types | 20 +- ...InterfaceIncompatibleWithBaseIndexer.types | 2 +- ...HiddenBaseCallViaSuperPropertyAccess.types | 4 +- .../destructionAssignmentError.types | 2 +- .../destructureOptionalParameter.types | 4 +- .../destructuredDeclarationEmit.types | 2 +- .../destructuringAssignmentWithDefault.types | 8 +- .../destructuringAssignmentWithDefault2.types | 2 +- .../reference/destructuringControlFlow.types | 8 +- ...InitializerContextualTypeFromContext.types | 4 +- ...estructuringParameterDeclaration1ES5.types | 16 +- ...ringParameterDeclaration1ES5iterable.types | 16 +- ...estructuringParameterDeclaration1ES6.types | 16 +- .../destructuringParameterDeclaration2.types | 4 +- ...estructuringParameterDeclaration3ES5.types | 2 +- ...ringParameterDeclaration3ES5iterable.types | 2 +- ...estructuringParameterDeclaration3ES6.types | 2 +- .../destructuringParameterDeclaration4.types | 4 +- .../destructuringParameterDeclaration5.types | 6 +- .../destructuringParameterDeclaration8.types | 4 +- ...yAssignmentNameIsNotAssignmentTarget.types | 2 +- .../destructuringTypeGuardFlow.types | 2 +- ...ionsForExpressionsWhichCouldBeCalled.types | 2 +- ...riminableUnionWithIntersectedMembers.types | 8 +- .../reference/discriminantPropertyCheck.types | 10 +- .../discriminantPropertyInference.types | 16 +- .../discriminantsAndPrimitives.types | 8 +- .../reference/discriminatedUnionTypes2.types | 24 +- .../reference/doNotInferUnrelatedTypes.types | 2 +- ...dToChangeYourTargetLibraryES2016Plus.types | 12 +- .../duplicatePropertiesInTypeAssertions01.js | 1 + .../duplicatePropertiesInTypeAssertions02.js | 1 + .../reference/duplicateTypeParameters3.types | 2 +- .../elaboratedErrorsOnNullableTargets01.types | 4 +- .../reference/elementAccessChain.2.types | 4 +- .../reference/elementAccessChain.types | 18 +- .../emitRestParametersFunctionProperty.types | 2 +- ...mitRestParametersFunctionPropertyES6.types | 2 +- ...ypeOfIndexSignatureContainingObject1.types | 2 +- ...ypeOfIndexSignatureContainingObject2.types | 4 +- .../enumAssignabilityInInheritance.types | 2 +- .../enumConstantMemberWithString.errors.txt | 8 +- ...stantMemberWithTemplateLiterals.errors.txt | 8 +- .../enumLiteralUnionNotWidened.types | 2 +- .../reference/enumWithExport.errors.txt | 4 +- tests/baselines/reference/enumWithExport.js | 2 +- .../baselines/reference/enumWithExport.types | 2 +- .../reference/equalityStrictNulls.types | 2 +- .../reference/errorElaboration.types | 2 +- .../errorsInGenericTypeReference.types | 10 +- .../baselines/reference/es2018IntlAPIs.types | 4 +- .../baselines/reference/es2020IntlAPIs.types | 108 +- .../baselines/reference/es2022IntlAPIs.types | 4 +- .../reference/es2022SharedMemory.types | 8 +- .../esNextWeakRefs_IterableWeakMap.types | 4 +- ...opertyCheckWithMultipleDiscriminants.types | 2 +- .../excessPropertyCheckWithUnions.types | 6 +- ...ropertyChecksWithNestedIntersections.types | 2 +- .../excessiveStackDepthFlatArray.types | 2 +- .../expandoFunctionContextualTypesJs.types | 2 +- ...expandoFunctionNestedAssigments.errors.txt | 57 + .../expandoFunctionNestedAssigments.js | 128 + .../expandoFunctionNestedAssigments.symbols | 136 + .../expandoFunctionNestedAssigments.types | 199 ++ ...expandoFunctionNestedAssigmentsDeclared.js | 141 + ...doFunctionNestedAssigmentsDeclared.symbols | 196 ++ ...andoFunctionNestedAssigmentsDeclared.types | 251 ++ .../reference/exportEqualErrorType.types | 4 +- .../reference/exportEqualMemberMissing.types | 4 +- tests/baselines/reference/fatArrowSelf.types | 4 +- tests/baselines/reference/for-of58.types | 4 +- .../reference/formatToPartsBigInt.types | 8 +- .../formatToPartsFractionalSecond.types | 8 +- .../reference/freshLiteralInference.types | 2 +- .../reference/functionAssignment.types | 2 +- ...nWithArgumentOfTypeFunctionTypeArray.types | 2 +- .../functionExpressionContextualTyping3.types | 2 +- .../reference/functionLiterals.types | 4 +- .../reference/functionOverloadErrors.types | 4 +- .../reference/functionOverloads14.types | 4 +- .../reference/functionOverloads15.types | 4 +- .../reference/functionOverloads16.types | 4 +- .../reference/functionOverloads17.types | 2 +- .../reference/functionOverloads18.types | 2 +- .../reference/functionOverloads19.types | 4 +- .../reference/functionOverloads20.types | 4 +- .../reference/functionOverloads21.types | 4 +- .../reference/functionOverloads22.types | 4 +- .../reference/functionOverloads34.types | 4 +- .../reference/functionOverloads35.types | 4 +- .../reference/functionOverloads36.types | 4 +- .../reference/functionOverloads37.types | 4 +- .../reference/functionOverloads38.types | 4 +- .../reference/functionOverloads39.types | 4 +- .../reference/functionOverloads40.types | 4 +- .../reference/functionOverloads41.types | 4 +- .../reference/functionOverloads42.types | 4 +- .../reference/functionOverloads43.types | 4 +- .../reference/functionOverloads44.types | 8 +- .../reference/functionOverloads45.types | 8 +- .../reference/functionReturnTypeQuery.types | 2 +- .../reference/generatedContextualTyping.types | 104 +- .../generatorReturnContextualType.types | 16 +- .../reference/generatorTypeCheck29.types | 2 +- .../reference/generatorTypeCheck30.types | 2 +- .../reference/generatorTypeCheck31.types | 2 +- .../reference/generatorTypeCheck45.types | 6 +- .../reference/generatorTypeCheck62.types | 6 +- .../reference/generatorTypeCheck63.types | 8 +- ...nericArgumentCallSigAssignmentCompat.types | 8 +- .../genericArrayPropertyAssignment.types | 2 +- ...nericAssignmentCompatWithInterfaces1.types | 2 +- .../genericCallWithObjectLiteralArgs.types | 2 +- ...nericCallWithObjectLiteralArguments1.types | 2 +- .../genericCallWithObjectTypeArgs2.types | 4 +- ...allWithObjectTypeArgsAndConstraints2.types | 2 +- ...allWithObjectTypeArgsAndConstraints3.types | 2 +- ...hOverloadedConstructorTypedArguments.types | 4 +- ...OverloadedConstructorTypedArguments2.types | 2 +- ...WithOverloadedFunctionTypedArguments.types | 6 +- ...ithOverloadedFunctionTypedArguments2.types | 2 +- .../reference/genericFunctionInference1.types | 10 +- .../reference/genericFunctionInference2.types | 2 +- .../reference/genericFunctionParameters.types | 4 +- ...ericFunctionsAndConditionalInference.types | 4 +- ...ericFunctionsWithOptionalParameters1.types | 16 +- ...ericFunctionsWithOptionalParameters2.types | 16 +- ...stantiationEquivalentToObjectLiteral.types | 2 +- .../reference/genericInterfaceTypeCall.types | 2 +- .../genericObjectSpreadResultInSwitch.types | 2 +- .../reference/genericRestParameters1.types | 10 +- .../reference/genericRestParameters2.types | 18 +- .../reference/genericRestParameters3.types | 12 +- .../reference/genericRestTypes.types | 2 +- .../genericSpecializationToTypeLiteral1.types | 2 +- .../genericTypeArgumentInference1.types | 16 +- tests/baselines/reference/generics2.types | 2 +- .../reference/generics2NoError.types | 2 +- .../getParameterNameAtPosition.types | 4 +- tests/baselines/reference/giant.errors.txt | 501 ++- tests/baselines/reference/giant.js | 8 + tests/baselines/reference/giant.symbols | 1291 ++++---- tests/baselines/reference/giant.types | 20 +- ...cMappedTypeIntersectionAssignability.types | 4 +- ...ionOutputGetsTruncatedWithError.errors.txt | 2 +- ...DeclarationOutputGetsTruncatedWithError.js | 4 +- ...rationOutputGetsTruncatedWithError.symbols | 10 +- ...larationOutputGetsTruncatedWithError.types | 5 +- .../identityRelationNeverTypes.types | 2 +- .../reference/illegalGenericWrapping1.types | 2 +- ...yFunctionInvocationWithAnyArguements.types | 2 +- .../reference/implicitConstParameters.types | 4 +- .../importDeclFromTypeNodeInJsSource.js | 8 +- .../inKeywordTypeguard(strict=false).types | 24 +- .../inKeywordTypeguard(strict=true).types | 26 +- .../reference/incompatibleTypes.types | 14 +- .../independentPropertyVariance.types | 2 +- .../reference/indexSignatureInOtherFile.types | 2 +- .../indexSignatureInOtherFile1.types | 2 +- tests/baselines/reference/indexSignatures1.js | 18 + .../reference/indexSignatures1.types | 14 +- .../indexedAccessNormalization.types | 4 +- .../indexedAccessTypeConstraints.types | 2 +- .../indexedAccessWithFreshObjectLiteral.types | 6 +- .../reference/indexingTypesWithNever.types | 10 +- .../indirectTypeParameterReferences.types | 2 +- .../reference/inferFromBindingPattern.types | 12 +- ...inferFromGenericFunctionReturnTypes3.types | 12 +- ...rStringLiteralUnionForBindingElement.types | 2 +- tests/baselines/reference/inferTypes1.types | 4 +- tests/baselines/reference/inferTypes2.types | 2 +- .../reference/inferTypesWithExtends1.types | 4 +- .../inferenceDoesNotAddUndefinedOrNull.types | 10 +- ...eOfNullableObjectTypesWithCommonBase.types | 4 +- ...eOptionalPropertiesToIndexSignatures.types | 6 +- .../baselines/reference/inferingFromAny.types | 4 +- .../inferrenceInfiniteLoopWithSubtyping.types | 6 +- .../infinitelyGenerativeInheritance1.types | 4 +- ...arameterBeforeNonoptionalNotOptional.types | 6 +- ...lineJsxFactoryDeclarationsLocalTypes.types | 8 +- .../instantiateContextualTypes.types | 6 +- .../reference/instantiationExpressions.types | 12 +- .../interfaceExtendsObjectIntersection.types | 2 +- .../reference/interfaceImplementation7.types | 6 +- .../interfacePropertiesWithSameName1.types | 6 +- .../interfacePropertiesWithSameName2.types | 10 +- ...sectionMemberOfUnionNarrowsCorrectly.types | 2 +- ...nOfTypeVariableHasApparentSignatures.types | 4 +- .../reference/intersectionPropertyCheck.types | 12 +- .../reference/intersectionReduction.types | 20 +- .../intersectionReductionStrict.types | 14 +- .../intersectionTypeInference1.types | 6 +- .../intersectionTypeInference2.types | 2 +- .../reference/intersectionTypeMembers.types | 8 +- .../intersectionTypeNormalization.types | 4 +- ...rsectionType_useDefineForClassFields.types | 2 +- .../intersectionWithConflictingPrivates.types | 4 +- .../intersectionWithIndexSignatures.types | 4 +- .../intersectionsAndOptionalProperties.types | 2 +- .../reference/intraExpressionInferences.types | 26 +- .../invariantGenericErrorElaboration.types | 2 +- .../isDeclarationVisibleNodeKinds.types | 8 +- .../isolatedDeclarationErrors.errors.txt | 21 + .../reference/isolatedDeclarationErrors.js | 18 + .../isolatedDeclarationErrors.symbols | 25 + .../reference/isolatedDeclarationErrors.types | 33 + ...edDeclarationErrorsAugmentation.errors.txt | 28 + .../isolatedDeclarationErrorsAugmentation.js | 31 + ...latedDeclarationErrorsAugmentation.symbols | 46 + ...solatedDeclarationErrorsAugmentation.types | 46 + ...solatedDeclarationErrorsClasses.errors.txt | 128 + .../isolatedDeclarationErrorsClasses.js | 92 + .../isolatedDeclarationErrorsClasses.symbols | 119 + .../isolatedDeclarationErrorsClasses.types | 143 + ...arationErrorsClassesExpressions.errors.txt | 39 + ...atedDeclarationErrorsClassesExpressions.js | 35 + ...eclarationErrorsClassesExpressions.symbols | 37 + ...dDeclarationErrorsClassesExpressions.types | 41 + ...solatedDeclarationErrorsDefault.errors.txt | 44 + .../isolatedDeclarationErrorsDefault.js | 42 + .../isolatedDeclarationErrorsDefault.symbols | 31 + .../isolatedDeclarationErrorsDefault.types | 54 + .../isolatedDeclarationErrorsEnums.errors.txt | 82 + .../isolatedDeclarationErrorsEnums.js | 91 + .../isolatedDeclarationErrorsEnums.symbols | 135 + .../isolatedDeclarationErrorsEnums.types | 170 + ...clarationErrorsExpandoFunctions.errors.txt | 35 + ...olatedDeclarationErrorsExpandoFunctions.js | 21 + ...dDeclarationErrorsExpandoFunctions.symbols | 39 + ...tedDeclarationErrorsExpandoFunctions.types | 53 + ...tedDeclarationErrorsExpressions.errors.txt | 345 ++ .../isolatedDeclarationErrorsExpressions.js | 235 ++ ...olatedDeclarationErrorsExpressions.symbols | 356 +++ ...isolatedDeclarationErrorsExpressions.types | 567 ++++ ...ationErrorsFunctionDeclarations.errors.txt | 40 + ...edDeclarationErrorsFunctionDeclarations.js | 18 + ...larationErrorsFunctionDeclarations.symbols | 25 + ...eclarationErrorsFunctionDeclarations.types | 41 + ...solatedDeclarationErrorsObjects.errors.txt | 161 + .../isolatedDeclarationErrorsObjects.js | 164 + .../isolatedDeclarationErrorsObjects.symbols | 216 ++ .../isolatedDeclarationErrorsObjects.types | 259 ++ ...tedDeclarationErrorsReturnTypes.errors.txt | 361 +++ .../isolatedDeclarationErrorsReturnTypes.js | 361 +++ ...olatedDeclarationErrorsReturnTypes.symbols | 555 ++++ ...isolatedDeclarationErrorsReturnTypes.types | 878 ++++++ .../isolatedDeclarationLazySymbols.errors.txt | 40 + .../isolatedDeclarationLazySymbols.js | 43 + .../isolatedDeclarationLazySymbols.symbols | 67 + .../isolatedDeclarationLazySymbols.types | 87 + .../reference/isolatedDeclarationOutFile.js | 65 + .../isolatedDeclarationOutFile.symbols | 42 + .../isolatedDeclarationOutFile.types | 45 + ...solatedDeclarationsAddUndefined.errors.txt | 22 + .../isolatedDeclarationsAddUndefined.js | 62 + .../isolatedDeclarationsAddUndefined.symbols | 39 + .../isolatedDeclarationsAddUndefined.types | 48 + .../isolatedDeclarationsAllowJs.errors.txt | 16 + .../reference/isolatedDeclarationsAllowJs.js | 15 + .../isolatedDeclarationsAllowJs.symbols | 8 + .../isolatedDeclarationsAllowJs.types | 8 + .../reference/isolatedDeclarationsLiterals.js | 177 ++ .../isolatedDeclarationsLiterals.symbols | 125 + .../isolatedDeclarationsLiterals.types | 170 + ...DeclarationsRequiresDeclaration.errors.txt | 8 + ...isolatedDeclarationsRequiresDeclaration.js | 17 + ...tedDeclarationsRequiresDeclaration.symbols | 8 + ...latedDeclarationsRequiresDeclaration.types | 10 + .../isomorphicMappedTypeInference.types | 10 +- .../reference/iteratorSpreadInCall5.types | 2 +- .../reference/iteratorSpreadInCall6.types | 2 +- .../iteratorsAndStrictNullChecks.types | 4 +- ...onsClassImplementsGenericsSerialization.js | 2 +- .../reference/jsDeclarationsClasses.js | 2 +- .../reference/jsDeclarationsCrossfileMerge.js | 6 + ...DeclarationsExportDefinePropertyEmit.types | 4 +- ...tionsFunctionClassesCjsExportAssignment.js | 24 +- ...nsFunctionClassesCjsExportAssignment.types | 18 +- .../reference/jsDeclarationsFunctions.types | 4 +- .../jsDeclarationsFunctionsCjs.types | 4 +- ...ationsImportAliasExposedWithinNamespace.js | 13 +- .../reference/jsDeclarationsInterfaces.js | 30 +- ...tionsParameterTagReusesInputNodeInEmit2.js | 2 +- .../jsDeclarationsReactComponents.js | 2 +- .../jsDeclarationsReactComponents.types | 10 +- ...tionsTypedefPropertyAndExportAssignment.js | 18 +- .../jsDeclarationsUniqueSymbolUsage.js | 2 +- .../jsDeclarationsUniqueSymbolUsage.types | 2 +- .../jsDocFunctionSignatures6.baseline | 64 + .../reference/jsEnumCrossFileExport.types | 4 +- .../reference/jsEnumTagOnObjectFrozen.types | 26 +- .../reference/jsdocFunctionType.types | 2 +- tests/baselines/reference/jsdocLiteral.types | 2 +- .../baselines/reference/jsdocParamTag2.types | 10 +- .../reference/jsdocParamTagTypeLiteral.types | 10 +- .../jsdocParseHigherOrderFunction.types | 8 +- ...sdocParseParenthesizedJSDocParameter.types | 2 +- .../jsdocPostfixEqualsAddsOptionality.types | 8 +- .../reference/jsdocPropertyTagInvalid.types | 4 +- .../jsdocTemplateConstructorFunction2.types | 4 +- .../reference/jsdocTemplateTag.types | 4 +- .../baselines/reference/json.stringify.types | 20 +- .../jsxCallbackWithDestructuring.types | 4 +- ...omplexSignatureHasApplicabilityError.types | 4 +- ...xDeclarationsWithEsModuleInteropNoCrash.js | 2 +- .../reference/jsxEmitWithAttributes.types | 2 +- .../jsxExcessPropsAndAssignability.types | 4 +- .../jsxFactoryAndReactNamespace.types | 2 +- .../reference/jsxFactoryIdentifier.types | 2 +- ...xFactoryNotIdentifierOrQualifiedName.types | 2 +- ...FactoryNotIdentifierOrQualifiedName2.types | 2 +- .../reference/jsxFactoryQualifiedName.types | 2 +- .../jsxFragmentFactoryNoUnusedLocals.types | 2 +- .../jsxIntrinsicElementsCompatability.types | 6 +- ...ibraryManagedAttributesUnusedGeneric.types | 4 +- .../jsxNamespaceGlobalReexport.types | 24 +- ...paceGlobalReexportMissingAliasTarget.types | 24 +- ...xNamespaceImplicitImportJSXNamespace.types | 24 +- ...figPickedOverGlobalOne(jsx=preserve).types | 2 +- ...igPickedOverGlobalOne(jsx=react-jsx).types | 2 +- ...mespaceFromPragmaPickedOverGlobalOne.types | 2 +- .../reference/jsxPartialSpread.types | 6 +- .../reference/keyofAndIndexedAccess.types | 28 +- .../reference/keyofAndIndexedAccess2.types | 16 +- .../reference/literalTypeWidening.types | 2 +- .../reference/localesObjectArgument.types | 12 +- .../logicalAssignment2(target=es2015).types | 4 +- .../logicalAssignment2(target=es2020).types | 4 +- .../logicalAssignment2(target=es2021).types | 4 +- .../logicalAssignment2(target=esnext).types | 4 +- .../logicalAssignment5(target=es2015).types | 12 +- .../logicalAssignment5(target=es2020).types | 12 +- .../logicalAssignment5(target=es2021).types | 12 +- .../logicalAssignment5(target=esnext).types | 12 +- .../logicalAssignment8(target=es2015).types | 2 +- .../logicalAssignment8(target=es2020).types | 2 +- .../logicalAssignment8(target=es2021).types | 2 +- .../logicalAssignment8(target=esnext).types | 2 +- .../reference/logicalAssignment9.types | 2 +- .../reference/mappedTypeAsClauses.types | 10 +- .../reference/mappedTypeConstraints.types | 6 +- .../reference/mappedTypeErrors.types | 2 +- .../reference/mappedTypeErrors2.types | 2 +- .../mappedTypeGenericIndexedAccess.types | 8 +- .../reference/mappedTypeInferenceErrors.types | 2 +- .../reference/mappedTypeModifiers.types | 30 +- .../reference/mappedTypeProperties.types | 4 +- tests/baselines/reference/mappedTypes4.types | 4 +- tests/baselines/reference/mappedTypes6.types | 2 +- .../reference/mappedTypesArraysTuples.types | 2 +- .../memberFunctionsWithPrivateOverloads.types | 8 +- .../memberFunctionsWithPublicOverloads.types | 8 +- ...rFunctionsWithPublicPrivateOverloads.types | 10 +- .../misspelledJsDocTypedefTags.types | 4 +- .../reference/mixinAccessModifiers.types | 4 +- .../moduleAliasAsFunctionArgument.types | 2 +- .../reference/moduleExportAssignment7.types | 4 +- .../moduleExportDuplicateAlias3.types | 4 +- .../baselines/reference/multiLineErrors.types | 2 +- tests/baselines/reference/multiline.types | 2 +- .../baselines/reference/namedTupleMembers.js | 2 +- ...MergedWithFunctionWithOverloadsUsage.types | 4 +- ...narrowExceptionVariableInCatchClause.types | 2 +- .../reference/narrowingByTypeofInSwitch.types | 10 +- .../narrowingConstrainedTypeVariable.types | 2 +- .../reference/narrowingDestructuring.types | 2 +- .../reference/narrowingOfQualifiedNames.types | 8 +- .../reference/narrowingTypeofFunction.types | 2 +- .../reference/narrowingTypeofObject.types | 4 +- .../reference/narrowingTypeofUndefined.types | 2 +- .../reference/narrowingUnionToUnion.types | 8 +- ...rbyIdenticalGenericLambdasAssignable.types | 18 +- .../nestedExcessPropertyChecking.types | 20 +- .../nestedTypeVariableInfersLiteral.types | 6 +- ...everAsDiscriminantType(strict=false).types | 6 +- ...neverAsDiscriminantType(strict=true).types | 6 +- .../reference/neverReturningFunctions1.types | 60 +- .../reference/neverTypeErrors1.types | 2 +- .../reference/neverTypeErrors2.types | 2 +- .../reference/noCheckDoesNotReportError.js | 8 + .../noCheckDoesNotReportError.symbols | 4 + .../reference/noCheckDoesNotReportError.types | 5 + .../reference/noCheckNoEmit.errors.txt | 9 + .../baselines/reference/noCheckNoEmit.symbols | 4 + tests/baselines/reference/noCheckNoEmit.types | 5 + ...heckRequiresEmitDeclarationOnly.errors.txt | 7 + .../noCheckRequiresEmitDeclarationOnly.js | 9 + ...noCheckRequiresEmitDeclarationOnly.symbols | 4 + .../noCheckRequiresEmitDeclarationOnly.types | 5 + tests/baselines/reference/noEmitOnError.js | 9 + ...AnyDestructuringParameterDeclaration.types | 4 +- ...oUncheckedIndexedAccessDestructuring.types | 36 +- ...eclarationEmitErrors1(module=node16).types | 4 +- ...larationEmitErrors1(module=nodenext).types | 4 +- .../nonInferrableTypePropagation2.types | 4 +- .../reference/nonInstantiatedModule.types | 4 +- .../reference/nonNullReferenceMatching.types | 4 +- .../normalizedIntersectionTooComplex.types | 72 +- .../reference/numberFormatCurrencySign.types | 4 +- .../numberFormatCurrencySignResolved.types | 4 +- .../reference/numberVsBigIntOperations.types | 4 +- tests/baselines/reference/objectCreate2.types | 40 +- .../reference/objectFromEntries.types | 2 +- .../objectLitTargetTypeCallSite.types | 2 +- .../objectLiteralContextualTyping.types | 2 +- .../reference/objectLiteralNormalization.js | 12 +- .../objectLiteralNormalization.types | 2 +- ...LiteralShorthandPropertiesAssignment.types | 4 +- ...eralShorthandPropertiesAssignmentES6.types | 4 +- ...alShorthandPropertiesAssignmentError.types | 4 +- ...AssignmentErrorFromMissingIdentifier.types | 4 +- ...lShorthandPropertiesFunctionArgument.types | 2 +- ...ShorthandPropertiesFunctionArgument2.types | 2 +- tests/baselines/reference/objectRest.types | 8 +- .../reference/objectRestAssignment.types | 4 +- .../reference/objectRestNegative.types | 2 +- .../reference/objectRestParameter.types | 10 +- .../reference/objectRestParameterES5.types | 10 +- tests/baselines/reference/objectSpread.types | 20 +- .../reference/objectSpreadNegative.types | 4 +- .../objectSpreadRepeatedNullCheckPerf.types | 104 +- .../reference/objectSpreadStrictNull.types | 8 +- .../reference/objectTypesIdentity.types | 32 +- .../reference/objectTypesIdentity2.types | 20 +- ...bjectTypesIdentityWithCallSignatures.types | 32 +- ...jectTypesIdentityWithCallSignatures2.types | 32 +- ...jectTypesIdentityWithCallSignatures3.types | 14 +- ...thCallSignaturesDifferingParamCounts.types | 32 +- ...hCallSignaturesDifferingParamCounts2.types | 14 +- ...ntityWithCallSignaturesWithOverloads.types | 32 +- ...TypesIdentityWithConstructSignatures.types | 18 +- ...ypesIdentityWithConstructSignatures2.types | 28 +- ...structSignaturesDifferingParamCounts.types | 28 +- ...pesIdentityWithGenericCallSignatures.types | 32 +- ...esIdentityWithGenericCallSignatures2.types | 32 +- ...CallSignaturesDifferingByConstraints.types | 54 +- ...allSignaturesDifferingByConstraints2.types | 54 +- ...allSignaturesDifferingByConstraints3.types | 32 +- ...cCallSignaturesDifferingByReturnType.types | 32 +- ...CallSignaturesDifferingByReturnType2.types | 32 +- ...gnaturesDifferingTypeParameterCounts.types | 32 +- ...naturesDifferingTypeParameterCounts2.types | 14 +- ...ignaturesDifferingTypeParameterNames.types | 32 +- ...hGenericCallSignaturesOptionalParams.types | 32 +- ...GenericCallSignaturesOptionalParams2.types | 32 +- ...GenericCallSignaturesOptionalParams3.types | 32 +- ...ructSignaturesDifferingByConstraints.types | 46 +- ...uctSignaturesDifferingByConstraints2.types | 46 +- ...uctSignaturesDifferingByConstraints3.types | 28 +- ...tructSignaturesDifferingByReturnType.types | 34 +- ...ructSignaturesDifferingByReturnType2.types | 28 +- ...gnaturesDifferingTypeParameterCounts.types | 28 +- ...ignaturesDifferingTypeParameterNames.types | 28 +- ...ricConstructSignaturesOptionalParams.types | 28 +- ...icConstructSignaturesOptionalParams2.types | 28 +- ...icConstructSignaturesOptionalParams3.types | 28 +- ...ectTypesIdentityWithNumericIndexers1.types | 32 +- ...ectTypesIdentityWithNumericIndexers2.types | 32 +- ...ectTypesIdentityWithNumericIndexers3.types | 32 +- .../objectTypesIdentityWithOptionality.types | 22 +- .../objectTypesIdentityWithPrivates.types | 32 +- .../objectTypesIdentityWithPublics.types | 32 +- ...bjectTypesIdentityWithStringIndexers.types | 32 +- ...jectTypesIdentityWithStringIndexers2.types | 32 +- .../observableInferenceCanBeMade.types | 4 +- .../reference/omitTypeHelperModifiers01.types | 2 +- .../operationsAvailableOnPromisedType.types | 4 +- .../optionalBindingParameters2.types | 2 +- ...ptionalBindingParametersInOverloads2.types | 2 +- .../reference/optionalChainingInference.types | 24 +- .../optionalFunctionArgAssignability.types | 2 +- ...ameterInDestructuringWithInitializer.types | 22 +- .../optionalParameterRetainsNull.types | 10 +- .../reference/optionalPropertiesTest.types | 2 +- ...ertyAssignableToStringIndexSignature.types | 6 +- .../reference/outModuleConcatCommonjs.js | 25 + .../baselines/reference/outModuleConcatES6.js | 24 + .../baselines/reference/outModuleConcatUmd.js | 24 + tests/baselines/reference/overload1.types | 30 +- .../overloadOnConstAsTypeAnnotation.types | 4 +- .../overloadOnConstConstraintChecks1.types | 12 +- .../overloadOnConstConstraintChecks2.types | 4 +- .../overloadOnConstConstraintChecks3.types | 4 +- .../overloadOnConstConstraintChecks4.types | 4 +- .../overloadOnConstDuplicateOverloads1.types | 8 +- ...InBaseWithBadImplementationInDerived.types | 8 +- .../overloadOnConstInCallback1.types | 4 +- ...ObjectLiteralImplementingAnInterface.types | 12 +- .../overloadOnConstInheritance1.types | 4 +- .../overloadOnConstInheritance2.types | 4 +- .../overloadOnConstInheritance3.types | 4 +- .../overloadOnConstInheritance4.types | 10 +- .../overloadOnConstNoAnyImplementation.types | 10 +- ...loadOnConstNoAnyImplementation2.errors.txt | 4 +- .../overloadOnConstNoAnyImplementation2.types | 12 +- ...loadOnConstNoNonSpecializedSignature.types | 2 +- ...verloadOnConstNoStringImplementation.types | 10 +- ...dOnConstNoStringImplementation2.errors.txt | 4 +- ...erloadOnConstNoStringImplementation2.types | 12 +- .../reference/overloadResolutionTest1.types | 12 +- ...structorFixesInferencesAppropriately.types | 2 +- .../reference/overloadingOnConstants1.types | 6 +- ...erloadingOnConstantsInImplementation.types | 4 +- .../overloadsWithProvisionalErrors.types | 4 +- tests/baselines/reference/override19.types | 2 +- tests/baselines/reference/override2.types | 8 +- .../parameterDestructuringObjectLiteral.types | 4 +- .../parameterNamesInTypeParameterList.types | 4 +- ...TypesWhenAppropriatelyContextualized.types | 12 +- .../parenthesizedContexualTyping2.types | 2 +- ...eArrowFunctionWithFunctionReturnType.types | 4 +- tests/baselines/reference/parseBigInt.types | 16 +- .../parserOverloadOnConstants1.types | 6 +- .../parserShorthandPropertyAssignment1.types | 2 +- .../parserUsingConstructorAsIdentifier.types | 4 +- tests/baselines/reference/parserharness.types | 42 +- .../partialTypeNarrowedToByTypeGuard.types | 2 +- .../reference/primitiveUnionDetection.types | 6 +- .../reference/primtiveTypesAreIdentical.types | 4 +- .../privateNameAndPropertySignature.types | 4 +- .../reference/privateNamesUnique-2.types | 4 +- .../privateWriteOnlyAccessorRead.types | 4 +- .../reference/promisePermutations.types | 12 +- .../reference/promisePermutations2.types | 6 +- .../reference/promisePermutations3.types | 12 +- tests/baselines/reference/promiseTest.types | 4 +- tests/baselines/reference/promises.types | 4 +- .../reference/promisesWithConstraints.types | 2 +- .../propTypeValidatorInference.types | 4 +- .../reference/propertyAccessChain.2.types | 4 +- .../reference/propertyAccessChain.types | 18 +- .../reference/propertyAccessWidening.types | 2 +- .../reference/ramdaToolsNoInfinite2.types | 8 +- .../reactReadonlyHOCAssignabilityReal.types | 2 +- ...ikeDeferredInferenceAllowsAssignment.types | 12 +- ...ssignmentInSubclassOfClassExpression.types | 2 +- .../readonlyTupleAndArrayElaboration.types | 8 +- .../reference/recursiveClassBaseType.types | 2 +- .../recursiveClassReferenceTest.types | 2 +- ...siveConditionalEvaluationNonInfinite.types | 2 +- .../reference/recursiveConditionalTypes.types | 6 +- .../recursiveExcessPropertyChecks.types | 2 +- .../reference/recursiveTypeReferences1.types | 24 +- .../reference/recursiveTypeReferences2.js | 8 +- .../reference/recursiveTypesWithTypeof.types | 28 +- .../recursiveUnionTypeInference.types | 2 +- ...amingDestructuredPropertyInFunctionType.js | 6 +- ...ngDestructuredPropertyInFunctionType.types | 26 +- ...gDestructuredPropertyInFunctionType2.types | 12 +- .../restTuplesFromContextualTypes.types | 36 +- .../returnTypeInferenceNotTooBroad.types | 2 +- .../reference/returnTypeTypeArguments.types | 2 +- ...reverseMappedPartiallyInferableTypes.types | 2 +- .../reverseMappedTypeAssignableToIndex.types | 2 +- .../signatureHelpJSDocCallbackTag.baseline | 12 +- ...natureHelpJSMissingPropertyAccess.baseline | 2 +- ...irectedDeepObjectLiteralElaborations.types | 4 +- .../reference/specializationError.types | 2 +- ...pecializedOverloadWithRestParameters.types | 4 +- ...edSignatureAsCallbackParameter1.errors.txt | 4 +- ...ializedSignatureAsCallbackParameter1.types | 2 +- ...sNotSubtypeOfNonSpecializedSignature.types | 26 +- ...reIsSubtypeOfNonSpecializedSignature.types | 26 +- .../spellingSuggestionJSXAttribute.types | 2 +- .../baselines/reference/spreadDuplicate.types | 2 +- .../reference/spreadObjectOrFalsy.types | 4 +- ...ramsFromGeneratorMakesRequiredParams.types | 2 +- .../reference/spreadOverwritesProperty.types | 4 +- .../spreadOverwritesPropertyStrict.types | 16 +- tests/baselines/reference/spreadUnion3.types | 10 +- .../reference/spyComparisonChecking.types | 2 +- ...ymousTypeNotReferencingTypeParameter.types | 4 +- .../reference/staticInheritance.types | 2 +- .../reference/strictFunctionTypes1.types | 6 +- .../reference/strictNullLogicalAndOr.types | 2 +- .../reference/strictOptionalProperties1.types | 4 +- .../strictTypeofUnionNarrowing.types | 4 +- .../reference/stringLiteralType.types | 2 +- .../stringLiteralTypeIsSubtypeOfString.types | 32 +- .../stringLiteralTypesAsTags03.types | 10 +- ...teralTypesInImplementationSignatures.types | 36 +- ...eralTypesInImplementationSignatures2.types | 18 +- .../stringLiteralTypesOverloads01.types | 36 +- .../stringLiteralTypesOverloads02.types | 36 +- ...ubstitutionTypesInIndexedAccessTypes.types | 6 +- .../subtypingWithCallSignatures.types | 4 +- .../subtypingWithCallSignatures2.types | 90 +- .../subtypingWithCallSignatures3.types | 72 +- ...lSignaturesWithSpecializedSignatures.types | 6 +- .../subtypingWithConstructSignatures.types | 4 +- .../subtypingWithConstructSignatures2.types | 72 +- .../subtypingWithConstructSignatures3.types | 62 +- .../subtypingWithConstructSignatures5.types | 8 +- .../subtypingWithConstructSignatures6.types | 4 +- ...tSignaturesWithSpecializedSignatures.types | 6 +- .../switchCaseCircularRefeference.types | 2 +- .../reference/symbolProperty21.types | 2 +- .../reference/symbolProperty35.types | 4 +- .../reference/symbolProperty41.types | 4 +- .../taggedTemplateContextualTyping1.types | 2 +- .../taggedTemplateContextualTyping2.types | 4 +- ...ingsWithManyCallAndMemberExpressions.types | 2 +- ...sWithManyCallAndMemberExpressionsES6.types | 2 +- .../taggedTemplatesWithTypeArguments1.types | 4 +- .../reference/targetTypeVoidFunc.types | 2 +- .../reference/templateLiteralTypes2.types | 4 +- .../reference/templateLiteralTypes3.types | 6 +- .../reference/templateLiteralTypes4.types | 4 +- .../templateLiteralTypesPatterns.types | 30 +- .../reference/thisTypeInFunctions.types | 38 +- .../thisTypeInFunctionsNegative.types | 38 +- .../reference/thisTypeInObjectLiterals2.types | 2 +- .../thisTypeInTaggedTemplateCall.types | 10 +- .../reference/thisTypeSyntacticContext.types | 6 +- .../transpile/declarationBasicSyntax.d.ts | 109 + .../transpile/declarationBasicSyntax.js | 72 + .../declarationCrossFileInferences.d.ts | 48 + .../declarationCrossFileInferences.js | 38 + .../transpile/declarationLinkedAliases.d.ts | 8 + .../transpile/declarationLinkedAliases.js | 11 + .../declarationSingleFileHasErrors.d.ts | 15 + .../declarationSingleFileHasErrors.js | 7 + ...eclarationSingleFileHasErrorsReported.d.ts | 18 + .../declarationSingleFileHasErrorsReported.js | 17 + .../declarationTypeWithComputedName.d.ts | 19 + .../transpile/declarationsSimple.d.ts | 23 + .../reference/transpile/declarationsSimple.js | 24 + .../truthinessCallExpressionCoercion2.types | 8 +- .../tryCatchFinallyControlFlow.types | 4 +- ...rojects-and-concatenates-them-correctly.js | 44 +- ...c-errors-with-incremental-discrepancies.js | 106 + .../semantic-errors-with-incremental.js | 336 ++ .../tsbuild/noCheck-errors/semantic-errors.js | 250 ++ ...x-errors-with-incremental-discrepancies.js | 106 + .../syntax-errors-with-incremental.js | 346 +++ .../tsbuild/noCheck-errors/syntax-errors.js | 260 ++ ...c-errors-with-incremental-discrepancies.js | 132 + .../semantic-errors-with-incremental.js | 282 ++ .../tsbuild/noCheck/semantic-errors.js | 212 ++ ...x-errors-with-incremental-discrepancies.js | 132 + .../noCheck/syntax-errors-with-incremental.js | 301 ++ .../tsbuild/noCheck/syntax-errors.js | 231 ++ .../declarationDir-is-specified.js | 1 + ...-outDir-and-declarationDir-is-specified.js | 1 + .../when-outDir-is-specified.js | 1 + .../with-outFile.js | 1 + ...e-is-specified-with-declaration-enabled.js | 1 + .../without-outDir-or-outFile-is-specified.js | 1 + ...uteQuickinfoTypesSameAsObjectLiteral.types | 4 +- .../tsxDiscriminantPropertyInference.types | 16 +- .../reference/tsxInvokeComponentType.types | 2 +- .../reference/tsxSfcReturnNull.types | 2 +- .../tsxSfcReturnNullStrictNullChecks.types | 6 +- ...sxSfcReturnUndefinedStrictNullChecks.types | 6 +- .../reference/tsxSpreadChildren.types | 2 +- ...InvalidType(jsx=react,target=es2015).types | 2 +- ...renInvalidType(jsx=react,target=es5).types | 2 +- ...lidType(jsx=react-jsx,target=es2015).types | 2 +- ...nvalidType(jsx=react-jsx,target=es5).types | 2 +- ...xStatelessFunctionComponentOverload1.types | 20 +- ...xStatelessFunctionComponentOverload2.types | 2 +- ...xStatelessFunctionComponentOverload3.types | 8 +- ...xStatelessFunctionComponentOverload4.types | 12 +- .../tsxStatelessFunctionComponents1.types | 4 +- .../tsxStatelessFunctionComponents2.types | 2 +- ...FunctionComponentsWithTypeArguments1.types | 2 +- ...FunctionComponentsWithTypeArguments2.types | 4 +- ...FunctionComponentsWithTypeArguments3.types | 4 +- ...FunctionComponentsWithTypeArguments4.types | 4 +- ...FunctionComponentsWithTypeArguments5.types | 4 +- tests/baselines/reference/tsxTypeErrors.types | 2 +- .../reference/tsxUnionElementType1.types | 4 +- .../reference/tsxUnionElementType2.types | 4 +- .../reference/tsxUnionElementType5.types | 2 +- .../reference/tsxUnionElementType6.types | 2 +- .../tsxUnionMemberChecksFilterDataProps.types | 6 +- .../baselines/reference/tsxUnionSpread.types | 4 +- tests/baselines/reference/typeAliases.types | 10 +- .../reference/typeArgInference.types | 4 +- .../typeArgumentInferenceOrdering.types | 2 +- ...NarrowsIndexedAccessOfKnownProperty1.types | 4 +- ...NarrowsIndexedAccessOfKnownProperty2.types | 2 +- ...NarrowsIndexedAccessOfKnownProperty5.types | 8 +- ...NarrowsIndexedAccessOfKnownProperty6.types | 8 +- ...ypeGuardNarrowsPrimitiveIntersection.types | 6 +- .../typeGuardNarrowsToLiteralTypeUnion.types | 2 +- .../typeGuardOfFormTypeOfFunction.types | 6 +- .../typeGuardOfFromPropNameInUnionType.types | 2 +- .../reference/typeGuardsAsAssertions.types | 40 +- .../reference/typeInferenceLiteralUnion.types | 2 +- .../reference/typeLiteralCallback.types | 2 +- tests/baselines/reference/typeName1.types | 4 +- .../typeParametersInStaticMethods.types | 4 +- .../typePredicateStructuralMatch.types | 8 +- .../reference/typePredicatesInUnion2.types | 4 +- .../reference/typeReferenceDirectives11.js | 24 + .../reference/typeReferenceDirectives12.js | 60 + .../reference/typeReferenceRelatedFiles.js | 1 - ...pertyaccessfromindexsignature=false).types | 2 +- ...opertyaccessfromindexsignature=true).types | 2 +- ...nce2(nouncheckedindexedaccess=false).types | 2 +- ...ance2(nouncheckedindexedaccess=true).types | 2 +- .../typeTagOnPropertyAssignment.types | 8 +- .../typeTagWithGenericSignature.types | 4 +- .../reference/typeofObjectInference.types | 16 +- tests/baselines/reference/typeofThis.types | 8 +- .../typesWithSpecializedCallSignatures.types | 14 +- ...esWithSpecializedConstructSignatures.types | 2 +- .../reference/umd-augmentation-1.types | 4 +- .../reference/umd-augmentation-2.types | 4 +- .../reference/umd-augmentation-3.types | 4 +- .../reference/umd-augmentation-4.types | 4 +- ...uncalledFunctionChecksInConditional2.types | 88 +- .../reference/undeclaredModuleError.types | 4 +- .../undefinedArgumentInference.types | 2 +- ...tWithUnknown(strictnullchecks=false).types | 2 +- ...ntWithUnknown(strictnullchecks=true).types | 2 +- .../reference/underscoreMapFirst.types | 12 +- .../baselines/reference/underscoreTest1.types | 24 +- .../unionAndIntersectionInference1.types | 4 +- .../unionAndIntersectionInference2.types | 12 +- ...onErrorMessageOnMatchingDiscriminant.types | 6 +- ...heckNoApparentPropTypeMismatchErrors.types | 4 +- .../unionReductionMutualSubtypes.types | 12 +- .../reference/unionTypeReduction2.types | 98 +- .../unionTypeWithIndexAndTuple.types | 2 +- .../unionTypeWithIndexSignature.types | 2 +- tests/baselines/reference/uniqueSymbols.types | 14 +- .../reference/uniqueSymbolsDeclarations.types | 12 +- .../uniqueSymbolsDeclarationsErrors.types | 2 +- .../reference/uniqueSymbolsErrors.types | 12 +- .../reference/unknownControlFlow.types | 6 +- tests/baselines/reference/unknownType2.types | 6 +- .../baselines/reference/useRegexpGroups.types | 4 +- .../reference/varArgParamTypeCheck.types | 4 +- .../reference/varArgsOnConstructorTypes.types | 8 +- tests/baselines/reference/vardecl.types | 14 +- ...aratorResolvedDuringContextualTyping.types | 4 +- tests/baselines/reference/variadicTuples1.js | 18 + .../baselines/reference/variadicTuples1.types | 26 +- .../baselines/reference/variadicTuples2.types | 4 +- .../reference/varianceAnnotations.js | 2 +- .../visibilityOfCrossModuleTypeUsage.types | 4 +- .../reference/voidUndefinedReduction.types | 2 +- .../vueLikeDataAndPropsInference.types | 8 +- .../vueLikeDataAndPropsInference2.types | 8 +- tests/baselines/reference/weakType.types | 6 +- .../weakTypeAndPrimitiveNarrowing.types | 4 +- .../reference/weakTypesAndLiterals01.js | 17 + .../reference/weakTypesAndLiterals01.types | 2 +- tests/baselines/reference/widenToAny1.types | 2 +- .../compiler/computedPropertiesNarrowed.ts | 52 + .../expandoFunctionNestedAssigments.ts | 54 + ...expandoFunctionNestedAssigmentsDeclared.ts | 74 + tests/cases/compiler/giant.ts | 1 + ...DeclarationOutputGetsTruncatedWithError.ts | 2 +- .../compiler/isolatedDeclarationErrors.ts | 12 + .../isolatedDeclarationErrorsAugmentation.ts | 25 + .../isolatedDeclarationErrorsClasses.ts | 63 + ...atedDeclarationErrorsClassesExpressions.ts | 26 + .../isolatedDeclarationErrorsDefault.ts | 25 + .../isolatedDeclarationErrorsEnums.ts | 52 + ...olatedDeclarationErrorsExpandoFunctions.ts | 14 + .../isolatedDeclarationErrorsExpressions.ts | 142 + ...edDeclarationErrorsFunctionDeclarations.ts | 14 + .../isolatedDeclarationErrorsObjects.ts | 93 + .../isolatedDeclarationErrorsReturnTypes.ts | 207 ++ .../isolatedDeclarationLazySymbols.ts | 28 + .../compiler/isolatedDeclarationOutFile.ts | 25 + .../isolatedDeclarationsAddUndefined.ts | 21 + .../compiler/isolatedDeclarationsAllowJs.ts | 8 + .../compiler/isolatedDeclarationsLiterals.ts | 71 + ...isolatedDeclarationsRequiresDeclaration.ts | 6 + .../compiler/noCheckDoesNotReportError.ts | 6 + tests/cases/compiler/noCheckNoEmit.ts | 7 + .../noCheckRequiresEmitDeclarationOnly.ts | 4 + ...ixClassExtendAbstractMethodWithLongName.ts | 5 +- .../codeFixClassImplementInterfaceCallback.ts | 4 +- .../codeFixClassImplementInterfaceComments.ts | 2 +- ...nterface_noUndefinedOnOptionalParameter.ts | 2 +- .../fourslash/completionForStringLiteral4.ts | 2 +- .../etsHoverOnExtendComponentProps.ts | 2 +- .../etsHoverOnForNestingUseOfComponent.ts | 2 +- ...rOnFunctionOfChainCallInCustomComponent.ts | 6 +- ...rOnFunctionOfChainCallInExtendComponent.ts | 2 +- ...rOnFunctionOfChainCallInStylesComponent.ts | 4 +- .../etsHoverOnStylesComponentProps.ts | 4 +- tests/cases/fourslash/importJsNodeModule3.ts | 2 +- .../fourslash/jsDocFunctionSignatures2.ts | 2 +- .../fourslash/objectLiteralCallSignatures.ts | 2 +- .../fourslash/quickInfoForOverloadOnConst1.ts | 8 +- .../thisPredicateFunctionQuickInfo01.ts | 8 +- .../thisPredicateFunctionQuickInfo02.ts | 22 +- .../cases/transpile/declarationBasicSyntax.ts | 41 + .../declarationCrossFileInferences.ts | 13 + .../transpile/declarationLinkedAliases.ts | 4 + .../declarationSingleFileHasErrors.ts | 2 + .../declarationSingleFileHasErrorsReported.ts | 3 + .../declarationTypeWithComputedName.ts | 13 + tests/cases/transpile/declarationsSimple.ts | 14 + 1017 files changed, 30831 insertions(+), 7247 deletions(-) create mode 100644 src/compiler/expressionToTypeNode.ts create mode 100644 src/testRunner/transpileRunner.ts create mode 100644 src/testRunner/unittests/tsbuild/noCheck.ts create mode 100644 tests/baselines/reference/computedPropertiesNarrowed.errors.txt create mode 100644 tests/baselines/reference/computedPropertiesNarrowed.js create mode 100644 tests/baselines/reference/computedPropertiesNarrowed.symbols create mode 100644 tests/baselines/reference/computedPropertiesNarrowed.types create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/isolatedDeclarations/tsconfig.json create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noCheck/tsconfig.json create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigments.errors.txt create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigments.js create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigments.symbols create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigments.types create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.js create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.symbols create mode 100644 tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrors.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrors.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrors.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrors.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsAugmentation.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsAugmentation.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsAugmentation.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsDefault.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsDefault.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsDefault.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsDefault.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsEnums.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsEnums.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsEnums.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsEnums.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpressions.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpressions.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpressions.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsExpressions.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsObjects.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsObjects.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsObjects.types create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.types create mode 100644 tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationLazySymbols.js create mode 100644 tests/baselines/reference/isolatedDeclarationLazySymbols.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationLazySymbols.types create mode 100644 tests/baselines/reference/isolatedDeclarationOutFile.js create mode 100644 tests/baselines/reference/isolatedDeclarationOutFile.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationOutFile.types create mode 100644 tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationsAddUndefined.js create mode 100644 tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationsAddUndefined.types create mode 100644 tests/baselines/reference/isolatedDeclarationsAllowJs.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationsAllowJs.js create mode 100644 tests/baselines/reference/isolatedDeclarationsAllowJs.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationsAllowJs.types create mode 100644 tests/baselines/reference/isolatedDeclarationsLiterals.js create mode 100644 tests/baselines/reference/isolatedDeclarationsLiterals.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationsLiterals.types create mode 100644 tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.js create mode 100644 tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.types create mode 100644 tests/baselines/reference/noCheckDoesNotReportError.js create mode 100644 tests/baselines/reference/noCheckDoesNotReportError.symbols create mode 100644 tests/baselines/reference/noCheckDoesNotReportError.types create mode 100644 tests/baselines/reference/noCheckNoEmit.errors.txt create mode 100644 tests/baselines/reference/noCheckNoEmit.symbols create mode 100644 tests/baselines/reference/noCheckNoEmit.types create mode 100644 tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt create mode 100644 tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.js create mode 100644 tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.symbols create mode 100644 tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.types create mode 100644 tests/baselines/reference/noEmitOnError.js create mode 100644 tests/baselines/reference/outModuleConcatCommonjs.js create mode 100644 tests/baselines/reference/outModuleConcatES6.js create mode 100644 tests/baselines/reference/outModuleConcatUmd.js create mode 100644 tests/baselines/reference/transpile/declarationBasicSyntax.d.ts create mode 100644 tests/baselines/reference/transpile/declarationBasicSyntax.js create mode 100644 tests/baselines/reference/transpile/declarationCrossFileInferences.d.ts create mode 100644 tests/baselines/reference/transpile/declarationCrossFileInferences.js create mode 100644 tests/baselines/reference/transpile/declarationLinkedAliases.d.ts create mode 100644 tests/baselines/reference/transpile/declarationLinkedAliases.js create mode 100644 tests/baselines/reference/transpile/declarationSingleFileHasErrors.d.ts create mode 100644 tests/baselines/reference/transpile/declarationSingleFileHasErrors.js create mode 100644 tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.d.ts create mode 100644 tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.js create mode 100644 tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts create mode 100644 tests/baselines/reference/transpile/declarationsSimple.d.ts create mode 100644 tests/baselines/reference/transpile/declarationsSimple.js create mode 100644 tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental-discrepancies.js create mode 100644 tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js create mode 100644 tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js create mode 100644 tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental-discrepancies.js create mode 100644 tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js create mode 100644 tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js create mode 100644 tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js create mode 100644 tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js create mode 100644 tests/baselines/reference/tsbuild/noCheck/semantic-errors.js create mode 100644 tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js create mode 100644 tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js create mode 100644 tests/baselines/reference/tsbuild/noCheck/syntax-errors.js create mode 100644 tests/baselines/reference/typeReferenceDirectives11.js create mode 100644 tests/baselines/reference/typeReferenceDirectives12.js create mode 100644 tests/cases/compiler/computedPropertiesNarrowed.ts create mode 100644 tests/cases/compiler/expandoFunctionNestedAssigments.ts create mode 100644 tests/cases/compiler/expandoFunctionNestedAssigmentsDeclared.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrors.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsAugmentation.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsClasses.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsDefault.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsEnums.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts create mode 100644 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts create mode 100644 tests/cases/compiler/isolatedDeclarationLazySymbols.ts create mode 100644 tests/cases/compiler/isolatedDeclarationOutFile.ts create mode 100644 tests/cases/compiler/isolatedDeclarationsAddUndefined.ts create mode 100644 tests/cases/compiler/isolatedDeclarationsAllowJs.ts create mode 100644 tests/cases/compiler/isolatedDeclarationsLiterals.ts create mode 100644 tests/cases/compiler/isolatedDeclarationsRequiresDeclaration.ts create mode 100644 tests/cases/compiler/noCheckDoesNotReportError.ts create mode 100644 tests/cases/compiler/noCheckNoEmit.ts create mode 100644 tests/cases/compiler/noCheckRequiresEmitDeclarationOnly.ts create mode 100644 tests/cases/transpile/declarationBasicSyntax.ts create mode 100644 tests/cases/transpile/declarationCrossFileInferences.ts create mode 100644 tests/cases/transpile/declarationLinkedAliases.ts create mode 100644 tests/cases/transpile/declarationSingleFileHasErrors.ts create mode 100644 tests/cases/transpile/declarationSingleFileHasErrorsReported.ts create mode 100644 tests/cases/transpile/declarationTypeWithComputedName.ts create mode 100644 tests/cases/transpile/declarationsSimple.ts diff --git a/lib/tsc.js b/lib/tsc.js index dd669b2597..ce5e5f3825 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -2759,6 +2759,418 @@ ${lanes.join("\n")} Debug2.formatControlFlowGraph = formatControlFlowGraph; })(Debug || (Debug = {})); +// src/compiler/expressionToTypeNode.ts +function createSyntacticTypeNodeBuilder(options, resolver) { + const strictNullChecks = getStrictOptionValue(options, "strictNullChecks"); + return { + typeFromExpression, + serializeTypeOfDeclaration, + serializeReturnTypeForSignature, + serializeTypeOfExpression + }; + function serializeExistingTypeAnnotation(type) { + return type === void 0 ? void 0 : !type.parent || !isParameter(type.parent) || !resolver.requiresAddingImplicitUndefined(type.parent) || canAddUndefined(type); + } + function serializeTypeOfExpression(expr, context, addUndefined, preserveLiterals) { + var _a2; + return (_a2 = typeFromExpression(expr, context, false, addUndefined, preserveLiterals)) != null ? _a2 : inferExpressionType(expr, context); + } + function serializeTypeOfDeclaration(node, context) { + switch (node.kind) { + case 170 /* PropertySignature */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)); + case 168 /* Parameter */: + return typeFromParameter(node, context); + case 261 /* VariableDeclaration */: + return typeFromVariable(node, context); + case 171 /* PropertyDeclaration */: + return typeFromProperty(node, context); + case 208 /* BindingElement */: + return inferTypeOfDeclaration(node, context); + case 280 /* ExportAssignment */: + return serializeTypeOfExpression(node.expression, context, void 0, true); + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)) || inferTypeOfDeclaration(node, context); + case 305 /* PropertyAssignment */: + return typeFromExpression(node.initializer, context) || inferTypeOfDeclaration(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function serializeReturnTypeForSignature(node, context) { + switch (node.kind) { + case 177 /* GetAccessor */: + return typeFromAccessor(node, context); + case 174 /* MethodDeclaration */: + case 263 /* FunctionDeclaration */: + case 180 /* ConstructSignature */: + case 173 /* MethodSignature */: + case 179 /* CallSignature */: + case 176 /* Constructor */: + case 178 /* SetAccessor */: + case 181 /* IndexSignature */: + case 184 /* FunctionType */: + case 185 /* ConstructorType */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 326 /* JSDocFunctionType */: + case 332 /* JSDocSignature */: + return createReturnFromSignature(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function getTypeAnnotationFromAccessor2(accessor) { + if (!accessor) + return void 0; + if (accessor.kind === 177 /* GetAccessor */) { + return getEffectiveReturnTypeNode(accessor); + } + if (accessor.parameters.length > 0) { + return getEffectiveTypeAnnotationNode(accessor.parameters[0]); + } + return void 0; + } + function getTypeAnnotationFromAllAccessorDeclarations(node, accessors) { + let accessorType = getTypeAnnotationFromAccessor2(node); + if (!accessorType && node !== accessors.firstAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.firstAccessor); + } + if (!accessorType && accessors.secondAccessor && node !== accessors.secondAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.secondAccessor); + } + return accessorType; + } + function typeFromAccessor(node, context) { + const accessorDeclarations = resolver.getAllAccessorDeclarations(node); + const accessorType = getTypeAnnotationFromAllAccessorDeclarations(node, accessorDeclarations); + if (accessorType) { + return serializeExistingTypeAnnotation(accessorType); + } + if (accessorDeclarations.getAccessor) { + return createReturnFromSignature(accessorDeclarations.getAccessor, context); + } + return false; + } + function typeFromVariable(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer && !resolver.isExpandoFunctionDeclaration(node)) { + resultType = typeFromExpression( + node.initializer, + context, + void 0, + void 0, + isVarConst(node) + ); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromParameter(node, context) { + const parent = node.parent; + if (parent.kind === 178 /* SetAccessor */) { + return typeFromAccessor(parent, context); + } + const declaredType = getEffectiveTypeAnnotationNode(node); + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + let resultType; + if (!addUndefined) { + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + if (node.initializer && isIdentifier(node.name)) { + resultType = typeFromExpression(node.initializer, context); + } + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromProperty(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer) { + const isReadonly = isDeclarationReadonly(node); + resultType = typeFromExpression(node.initializer, context, void 0, void 0, isReadonly); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function inferTypeOfDeclaration(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferExpressionType(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferReturnTypeOfSignatureSignature(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferAccessorType(node, context) { + if (node.kind === 177 /* GetAccessor */) { + return createReturnFromSignature(node, context); + } else { + context.tracker.reportInferenceFallback(node); + return false; + } + } + function typeFromTypeAssertion(expression, type, context, requiresAddingUndefined) { + if (isConstTypeReference(type)) { + return typeFromExpression(expression, context, true, requiresAddingUndefined); + } + if (requiresAddingUndefined && !canAddUndefined(type)) { + context.tracker.reportInferenceFallback(type); + } + return serializeExistingTypeAnnotation(type); + } + function typeFromExpression(node, context, isConstContext = false, requiresAddingUndefined = false, preserveLiterals = false) { + switch (node.kind) { + case 217 /* ParenthesizedExpression */: + if (isJSDocTypeAssertion(node)) { + return typeFromTypeAssertion(node.expression, getJSDocTypeAssertionType(node), context, requiresAddingUndefined); + } + return typeFromExpression(node.expression, context, isConstContext, requiresAddingUndefined); + case 79 /* Identifier */: + if (resolver.isUndefinedIdentifierExpression(node)) { + return true; + } + break; + case 105 /* NullKeyword */: + return true; + case 219 /* ArrowFunction */: + case 218 /* FunctionExpression */: + return typeFromFunctionLikeExpression(node, context); + case 216 /* TypeAssertionExpression */: + case 235 /* AsExpression */: + const asExpression = node; + return typeFromTypeAssertion(asExpression.expression, asExpression.type, context, requiresAddingUndefined); + case 225 /* PrefixUnaryExpression */: + const unaryExpression = node; + if (isPrimitiveLiteralValue(unaryExpression)) { + if (unaryExpression.operand.kind === 9 /* BigIntLiteral */) { + return typeFromPrimitiveLiteral(); + } + if (unaryExpression.operand.kind === 8 /* NumericLiteral */) { + return typeFromPrimitiveLiteral(); + } + } + break; + case 8 /* NumericLiteral */: + return typeFromPrimitiveLiteral(); + case 229 /* TemplateExpression */: + if (!isConstContext && !preserveLiterals) { + return true; + } + break; + case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* StringLiteral */: + return typeFromPrimitiveLiteral(); + case 9 /* BigIntLiteral */: + return typeFromPrimitiveLiteral(); + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + return typeFromPrimitiveLiteral(); + case 209 /* ArrayLiteralExpression */: + return typeFromArrayLiteral(node, context, isConstContext); + case 210 /* ObjectLiteralExpression */: + return typeFromObjectLiteral(node, context, isConstContext); + case 232 /* ClassExpression */: + return inferExpressionType(node, context); + } + return void 0; + } + function typeFromFunctionLikeExpression(fnNode, context) { + var _a2; + const returnType = (_a2 = serializeExistingTypeAnnotation(fnNode.type)) != null ? _a2 : createReturnFromSignature(fnNode, context); + const typeParameters = reuseTypeParameters(fnNode.typeParameters); + const parameters = fnNode.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext) { + if (!isConstContext) { + context.tracker.reportInferenceFallback(arrayLiteral); + return false; + } + for (const element of arrayLiteral.elements) { + if (element.kind === 231 /* SpreadElement */) { + context.tracker.reportInferenceFallback(element); + return false; + } + } + return true; + } + function typeFromArrayLiteral(arrayLiteral, context, isConstContext) { + var _a2; + if (!canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext)) { + return false; + } + let canInferArray = true; + for (const element of arrayLiteral.elements) { + Debug.assert(element.kind !== 231 /* SpreadElement */); + if (element.kind !== 233 /* OmittedExpression */) { + canInferArray = ((_a2 = typeFromExpression(element, context, isConstContext)) != null ? _a2 : inferExpressionType(element, context)) && canInferArray; + } + } + return true; + } + function canGetTypeFromObjectLiteral(objectLiteral, context) { + let result = true; + for (const prop of objectLiteral.properties) { + if (prop.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } + if (prop.kind === 306 /* ShorthandPropertyAssignment */ || prop.kind === 307 /* SpreadAssignment */) { + context.tracker.reportInferenceFallback(prop); + result = false; + } else if (prop.name.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } else if (prop.name.kind === 80 /* PrivateIdentifier */) { + result = false; + } else if (prop.name.kind === 166 /* ComputedPropertyName */) { + const expression = prop.name.expression; + if (!isPrimitiveLiteralValue(expression, false) && !isEntityNameExpression(expression)) { + context.tracker.reportInferenceFallback(prop.name); + result = false; + } + } + } + return result; + } + function typeFromObjectLiteral(objectLiteral, context, isConstContext) { + if (!canGetTypeFromObjectLiteral(objectLiteral, context)) { + return false; + } + let canInferObjectLiteral = true; + for (const prop of objectLiteral.properties) { + Debug.assert(!isShorthandPropertyAssignment(prop) && !isSpreadAssignment(prop)); + if (prop.name.kind === 166 /* ComputedPropertyName */) { + if (!resolver.isNonNarrowedBindableName(prop.name)) { + context.tracker.reportInferenceFallback(prop.name); + } else if (isEntityNameExpression(prop.name.expression)) { + const visibilityResult = resolver.isEntityNameVisible( + prop.name.expression, + context.enclosingDeclaration, + false + ); + if (visibilityResult.accessibility !== 0 /* Accessible */) { + context.tracker.reportInferenceFallback(prop.name); + } + } + } + switch (prop.kind) { + case 174 /* MethodDeclaration */: + canInferObjectLiteral = !!typeFromObjectLiteralMethod(prop, context) && canInferObjectLiteral; + break; + case 305 /* PropertyAssignment */: + canInferObjectLiteral = !!typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) && canInferObjectLiteral; + break; + case 178 /* SetAccessor */: + case 177 /* GetAccessor */: + canInferObjectLiteral = !!typeFromObjectLiteralAccessor(prop, context) && canInferObjectLiteral; + break; + } + } + return canInferObjectLiteral; + } + function typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) { + var _a2; + return (_a2 = typeFromExpression(prop.initializer, context, isConstContext)) != null ? _a2 : inferTypeOfDeclaration(prop, context); + } + function ensureParameter(p, context) { + return typeFromParameter(p, context); + } + function reuseTypeParameters(typeParameters) { + var _a2; + return (_a2 = typeParameters == null ? void 0 : typeParameters.every( + (tp) => serializeExistingTypeAnnotation(tp.constraint) && serializeExistingTypeAnnotation(tp.default) + )) != null ? _a2 : true; + } + function typeFromObjectLiteralMethod(method, context) { + const returnType = createReturnFromSignature(method, context); + const typeParameters = reuseTypeParameters(method.typeParameters); + const parameters = method.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function typeFromObjectLiteralAccessor(accessor, context) { + const allAccessors = resolver.getAllAccessorDeclarations(accessor); + const getAccessorType = allAccessors.getAccessor && getTypeAnnotationFromAccessor2(allAccessors.getAccessor); + const setAccessorType = allAccessors.setAccessor && getTypeAnnotationFromAccessor2(allAccessors.setAccessor); + if (getAccessorType !== void 0 && setAccessorType !== void 0) { + const parameters = accessor.parameters.every((p) => ensureParameter(p, context)); + if (isGetAccessor(accessor)) { + return parameters && serializeExistingTypeAnnotation(getAccessorType); + } else { + return parameters; + } + } else if (allAccessors.firstAccessor === accessor) { + const foundType = getAccessorType != null ? getAccessorType : setAccessorType; + const propertyType = foundType ? serializeExistingTypeAnnotation(foundType) : inferAccessorType(accessor, context); + return propertyType; + } + return false; + } + function typeFromPrimitiveLiteral() { + return true; + } + function canAddUndefined(node) { + if (!strictNullChecks) { + return true; + } + if (isKeyword(node.kind) || node.kind === 201 /* LiteralType */ || node.kind === 184 /* FunctionType */ || node.kind === 185 /* ConstructorType */ || node.kind === 188 /* ArrayType */ || node.kind === 189 /* TupleType */ || node.kind === 187 /* TypeLiteral */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 197 /* ThisType */) { + return true; + } + if (node.kind === 196 /* ParenthesizedType */) { + return canAddUndefined(node.type); + } + if (node.kind === 192 /* UnionType */ || node.kind === 193 /* IntersectionType */) { + return node.types.every(canAddUndefined); + } + return false; + } + function createReturnFromSignature(fn, context) { + let returnType; + const returnTypeNode = getEffectiveReturnTypeNode(fn); + if (returnTypeNode) { + returnType = serializeExistingTypeAnnotation(returnTypeNode); + } + if (!returnType && isValueSignatureDeclaration(fn)) { + returnType = typeFromSingleReturnExpression(fn, context); + } + return returnType != null ? returnType : inferReturnTypeOfSignatureSignature(fn, context); + } + function typeFromSingleReturnExpression(declaration, context) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + if (candidateExpr) { + return typeFromExpression(candidateExpr, context); + } + return void 0; + } +} + // src/compiler/semver.ts var versionRegExp = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i; var prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i; @@ -4350,8 +4762,10 @@ var NodeBuilderFlags = /* @__PURE__ */ ((NodeBuilderFlags2) => { NodeBuilderFlags2[NodeBuilderFlags2["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; NodeBuilderFlags2[NodeBuilderFlags2["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType"; NodeBuilderFlags2[NodeBuilderFlags2["WriteComputedProps"] = 1073741824] = "WriteComputedProps"; + NodeBuilderFlags2[NodeBuilderFlags2["NoSyntacticPrinter"] = -2147483648] = "NoSyntacticPrinter"; NodeBuilderFlags2[NodeBuilderFlags2["AllowNodeModulesRelativePaths"] = 67108864] = "AllowNodeModulesRelativePaths"; NodeBuilderFlags2[NodeBuilderFlags2["DoNotIncludeSymbolChain"] = 134217728] = "DoNotIncludeSymbolChain"; + NodeBuilderFlags2[NodeBuilderFlags2["AllowUnresolvedComputedNames"] = 1] = "AllowUnresolvedComputedNames"; NodeBuilderFlags2[NodeBuilderFlags2["IgnoreErrors"] = 70221824] = "IgnoreErrors"; NodeBuilderFlags2[NodeBuilderFlags2["InObjectTypeLiteral"] = 4194304] = "InObjectTypeLiteral"; NodeBuilderFlags2[NodeBuilderFlags2["InTypeAlias"] = 8388608] = "InTypeAlias"; @@ -4612,6 +5026,7 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => { TypeFlags2[TypeFlags2["Nullable"] = 98304] = "Nullable"; TypeFlags2[TypeFlags2["Literal"] = 2944] = "Literal"; TypeFlags2[TypeFlags2["Unit"] = 109440] = "Unit"; + TypeFlags2[TypeFlags2["Freshable"] = 2976] = "Freshable"; TypeFlags2[TypeFlags2["StringOrNumberLiteral"] = 384] = "StringOrNumberLiteral"; TypeFlags2[TypeFlags2["StringOrNumberLiteralOrUnique"] = 8576] = "StringOrNumberLiteralOrUnique"; TypeFlags2[TypeFlags2["DefinitelyFalsy"] = 117632] = "DefinitelyFalsy"; @@ -6311,6 +6726,7 @@ var sys = (() => { resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, + getAccessibleFileSystemEntries, createDirectory(directoryName) { if (!nodeSystem.directoryExists(directoryName)) { try { @@ -8572,6 +8988,7 @@ var Diagnostics = { Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), + Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported: diag(6805, 3 /* Message */, "Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805", "Disable full type checking (only critical parse and emit errors will be reported)."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), type_Colon: diag(6902, 3 /* Message */, "type_Colon_6902", "type:"), @@ -12316,6 +12733,77 @@ function isNamedImportBindings(node) { function isModuleOrEnumDeclaration(node) { return node.kind === 270 /* ModuleDeclaration */ || node.kind === 269 /* EnumDeclaration */; } +function canHaveSymbol(node) { + switch (node.kind) { + case 219 /* ArrowFunction */: + case 227 /* BinaryExpression */: + case 208 /* BindingElement */: + case 213 /* CallExpression */: + case 179 /* CallSignature */: + case 264 /* ClassDeclaration */: + case 232 /* ClassExpression */: + case 175 /* ClassStaticBlockDeclaration */: + case 176 /* Constructor */: + case 185 /* ConstructorType */: + case 180 /* ConstructSignature */: + case 212 /* ElementAccessExpression */: + case 269 /* EnumDeclaration */: + case 308 /* EnumMember */: + case 280 /* ExportAssignment */: + case 281 /* ExportDeclaration */: + case 284 /* ExportSpecifier */: + case 263 /* FunctionDeclaration */: + case 218 /* FunctionExpression */: + case 184 /* FunctionType */: + case 177 /* GetAccessor */: + case 79 /* Identifier */: + case 276 /* ImportClause */: + case 274 /* ImportEqualsDeclaration */: + case 279 /* ImportSpecifier */: + case 181 /* IndexSignature */: + case 267 /* InterfaceDeclaration */: + case 347 /* JSDocCallbackTag */: + case 348 /* JSDocEnumTag */: + case 326 /* JSDocFunctionType */: + case 349 /* JSDocParameterTag */: + case 356 /* JSDocPropertyTag */: + case 332 /* JSDocSignature */: + case 354 /* JSDocTypedefTag */: + case 331 /* JSDocTypeLiteral */: + case 294 /* JsxAttribute */: + case 295 /* JsxAttributes */: + case 296 /* JsxSpreadAttribute */: + case 200 /* MappedType */: + case 174 /* MethodDeclaration */: + case 173 /* MethodSignature */: + case 270 /* ModuleDeclaration */: + case 202 /* NamedTupleMember */: + case 283 /* NamespaceExport */: + case 273 /* NamespaceExportDeclaration */: + case 277 /* NamespaceImport */: + case 214 /* NewExpression */: + case 14 /* NoSubstitutionTemplateLiteral */: + case 8 /* NumericLiteral */: + case 210 /* ObjectLiteralExpression */: + case 168 /* Parameter */: + case 211 /* PropertyAccessExpression */: + case 305 /* PropertyAssignment */: + case 171 /* PropertyDeclaration */: + case 170 /* PropertySignature */: + case 178 /* SetAccessor */: + case 306 /* ShorthandPropertyAssignment */: + case 314 /* SourceFile */: + case 307 /* SpreadAssignment */: + case 10 /* StringLiteral */: + case 268 /* TypeAliasDeclaration */: + case 187 /* TypeLiteral */: + case 167 /* TypeParameter */: + case 261 /* VariableDeclaration */: + return true; + default: + return false; + } +} function isDeclarationKind(kind) { return kind === 219 /* ArrowFunction */ || kind === 208 /* BindingElement */ || kind === 264 /* ClassDeclaration */ || kind === 232 /* ClassExpression */ || kind === 175 /* ClassStaticBlockDeclaration */ || kind === 265 /* StructDeclaration */ || kind === 266 /* AnnotationDeclaration */ || kind === 176 /* Constructor */ || kind === 269 /* EnumDeclaration */ || kind === 308 /* EnumMember */ || kind === 284 /* ExportSpecifier */ || kind === 263 /* FunctionDeclaration */ || kind === 218 /* FunctionExpression */ || kind === 177 /* GetAccessor */ || kind === 276 /* ImportClause */ || kind === 274 /* ImportEqualsDeclaration */ || kind === 279 /* ImportSpecifier */ || kind === 267 /* InterfaceDeclaration */ || kind === 294 /* JsxAttribute */ || kind === 174 /* MethodDeclaration */ || kind === 173 /* MethodSignature */ || kind === 270 /* ModuleDeclaration */ || kind === 273 /* NamespaceExportDeclaration */ || kind === 277 /* NamespaceImport */ || kind === 283 /* NamespaceExport */ || kind === 168 /* Parameter */ || kind === 305 /* PropertyAssignment */ || kind === 171 /* PropertyDeclaration */ || kind === 172 /* AnnotationPropertyDeclaration */ || kind === 170 /* PropertySignature */ || kind === 178 /* SetAccessor */ || kind === 306 /* ShorthandPropertyAssignment */ || kind === 268 /* TypeAliasDeclaration */ || kind === 167 /* TypeParameter */ || kind === 261 /* VariableDeclaration */ || kind === 354 /* JSDocTypedefTag */ || kind === 347 /* JSDocCallbackTag */ || kind === 356 /* JSDocPropertyTag */; } @@ -16725,7 +17213,7 @@ function Signature2(checker, flags) { this.checker = checker; } } -function Node4(kind, pos, end) { +function Node5(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -16745,7 +17233,7 @@ function Token(kind, pos, end) { this.transformFlags = 0 /* None */; this.parent = void 0; } -function Identifier2(kind, pos, end) { +function Identifier3(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -16762,11 +17250,11 @@ function SourceMapSource(fileName, text, skipTrivia2) { this.skipTrivia = skipTrivia2 || ((pos) => pos); } var objectAllocator = { - getNodeConstructor: () => Node4, + getNodeConstructor: () => Node5, getTokenConstructor: () => Token, - getIdentifierConstructor: () => Identifier2, - getPrivateIdentifierConstructor: () => Node4, - getSourceFileConstructor: () => Node4, + getIdentifierConstructor: () => Identifier3, + getPrivateIdentifierConstructor: () => Node5, + getSourceFileConstructor: () => Node5, getSymbolConstructor: () => Symbol4, getTypeConstructor: () => Type3, getSignatureConstructor: () => Signature2, @@ -17590,7 +18078,7 @@ function rangeOfTypeParameters(sourceFile, typeParameters) { return { pos, end }; } function skipTypeChecking(sourceFile, options, host) { - return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); + return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || options.noCheck || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); } function isJsonEqual(a, b) { return a === b || typeof a === "object" && a !== null && typeof b === "object" && b !== null && equalOwnProperties(a, b, isJsonEqual); @@ -17966,6 +18454,12 @@ function getNameOfDecorator(node) { } return void 0; } +function isExpandoPropertyDeclaration(declaration) { + return !!declaration && (isPropertyAccessExpression(declaration) || isElementAccessExpression(declaration) || isBinaryExpression(declaration)); +} +function evaluatorResult(value, isSyntacticallyString = false, resolvedOtherFiles = false, hasExternalReferences = false) { + return { value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences }; +} function getLeadingCommentRangesOfNode(node, sourceFileOfNode) { return node.kind !== 11 /* JsxText */ ? getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : void 0; } @@ -18099,6 +18593,55 @@ function setParentRecursive(rootNode, incremental) { return bindParentToChildIgnoringJSDoc(child, parent) || bindJSDoc(child); } } +function isPrimitiveLiteralValue(node, includeBigInt = true) { + Debug.type(node); + switch (node.kind) { + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + case 8 /* NumericLiteral */: + case 10 /* StringLiteral */: + case 14 /* NoSubstitutionTemplateLiteral */: + return true; + case 9 /* BigIntLiteral */: + return includeBigInt; + case 225 /* PrefixUnaryExpression */: + if (node.operator === 40 /* MinusToken */) { + return isNumericLiteral(node.operand) || includeBigInt && isBigIntLiteral(node.operand); + } + if (node.operator === 39 /* PlusToken */) { + return isNumericLiteral(node.operand); + } + return false; + default: + assertType(node); + return false; + } +} +function unwrapParenthesizedExpression(o) { + while (o.kind === 217 /* ParenthesizedExpression */) { + o = o.expression; + } + return o; +} +function hasInferredType(node) { + Debug.type(node); + switch (node.kind) { + case 168 /* Parameter */: + case 170 /* PropertySignature */: + case 171 /* PropertyDeclaration */: + case 208 /* BindingElement */: + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + case 261 /* VariableDeclaration */: + case 280 /* ExportAssignment */: + case 305 /* PropertyAssignment */: + return true; + default: + assertType(node); + return false; + } +} // src/compiler/factory/baseNodeFactory.ts function createBaseNodeFactory() { @@ -33746,6 +34289,20 @@ var commandOptionsWithoutBuild = [ defaultValueDescription: false, description: Diagnostics.Disable_emitting_comments }, + { + name: "noCheck", + type: "boolean", + showInSimplifiedHelpView: false, + category: Diagnostics.Compiler_Diagnostics, + description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, + transpileOptionValue: void 0, + defaultValueDescription: false, + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, + extraValidation() { + return [Diagnostics.Unknown_compiler_option_0, "noCheck"]; + } + }, { name: "noEmit", type: "boolean", @@ -33795,6 +34352,15 @@ var commandOptionsWithoutBuild = [ transpileOptionValue: true, defaultValueDescription: false }, + { + name: "isolatedDeclarations", + type: "boolean", + category: Diagnostics.Interop_Constraints, + description: Diagnostics.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files, + defaultValueDescription: false, + affectsMultiFileEmitBuildInfo: true, + affectsSemanticDiagnostics: true + }, { name: "strict", type: "boolean", @@ -43054,6 +43620,7 @@ var CheckMode2 = /* @__PURE__ */ ((CheckMode3) => { return CheckMode3; })(CheckMode2 || {}); var SignatureCheckMode2 = /* @__PURE__ */ ((SignatureCheckMode3) => { + SignatureCheckMode3[SignatureCheckMode3["None"] = 0] = "None"; SignatureCheckMode3[SignatureCheckMode3["BivariantCallback"] = 1] = "BivariantCallback"; SignatureCheckMode3[SignatureCheckMode3["StrictCallback"] = 2] = "StrictCallback"; SignatureCheckMode3[SignatureCheckMode3["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes"; @@ -43221,6 +43788,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); var nodeBuilder = createNodeBuilder(); + var syntacticNodeBuilder = createSyntacticTypeNodeBuilder(compilerOptions, { + isEntityNameVisible, + isExpandoFunctionDeclaration, + isNonNarrowedBindableName, + getAllAccessorDeclarations: getAllAccessorDeclarationsForDeclaration, + requiresAddingImplicitUndefined, + isUndefinedIdentifierExpression(node) { + Debug.assert(isExpressionNode(node)); + return getSymbolAtLocation(node) === undefinedSymbol; + } + }); var globals = createSymbolTable(); var undefinedSymbol = createSymbol(4 /* Property */, "undefined"); undefinedSymbol.declarations = []; @@ -46436,6 +47014,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { (_a2 = tracing) == null ? void 0 : _a2.recordType(result); return result; } + function createTypeWithSymbol(flags, symbol) { + const result = createType(flags); + result.symbol = symbol; + return result; + } function createOriginType(flags) { return new Type7(checker, flags); } @@ -46446,9 +47029,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function createObjectType(objectFlags, symbol) { - const type = createType(524288 /* Object */); + const type = createTypeWithSymbol(524288 /* Object */, symbol); type.objectFlags = objectFlags; - type.symbol = symbol; type.members = void 0; type.properties = void 0; type.callSignatures = void 0; @@ -46460,10 +47042,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return getUnionType(arrayFrom(typeofNEFacts.keys(), getStringLiteralType)); } function createTypeParameter(symbol) { - const type = createType(262144 /* TypeParameter */); - if (symbol) - type.symbol = symbol; - return type; + return createTypeWithSymbol(262144 /* TypeParameter */, symbol); } function isReservedMemberName(name) { return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */ && name.charCodeAt(2) !== 64 /* at */ && name.charCodeAt(2) !== 35 /* hash */; @@ -46801,7 +47380,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; } } - function isEntityNameVisible(entityName, enclosingDeclaration) { + function getMeaningOfEntityNameReference(entityName) { + let meaning; + if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */ || entityName.parent.kind === 182 /* TypePredicate */ && entityName.parent.parameterName === entityName) { + meaning = 111551 /* Value */ | 1048576 /* ExportValue */; + } else if (entityName.kind === 165 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 274 /* ImportEqualsDeclaration */ || entityName.parent.kind === 165 /* QualifiedName */ && entityName.parent.left === entityName || entityName.parent.kind === 211 /* PropertyAccessExpression */ && entityName.parent.expression === entityName || entityName.parent.kind === 212 /* ElementAccessExpression */ && entityName.parent.expression === entityName) { + meaning = 1920 /* Namespace */; + } else { + meaning = 788968 /* Type */; + } + return meaning; + } + function isEntityNameVisible(entityName, enclosingDeclaration, shouldComputeAliasToMakeVisible = true) { let meaning; if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */) { meaning = 111551 /* Value */ | 1048576 /* ExportValue */; @@ -46818,7 +47408,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!symbol && isThisIdentifier(firstIdentifier) && isSymbolAccessible(getSymbolOfNode(getThisContainer(firstIdentifier, false)), firstIdentifier, meaning, false).accessibility === 0 /* Accessible */) { return { accessibility: 0 /* Accessible */ }; } - return symbol && hasVisibleDeclarations(symbol, true) || { + return symbol && hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) || { accessibility: 1 /* NotAccessible */, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier @@ -46913,9 +47503,78 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { symbolToTypeParameterDeclarations: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParametersToTypeParameterDeclarations(symbol, context)), symbolToParameterDeclaration: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToParameterDeclaration(symbol, context)), typeParameterToDeclaration: (parameter, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParameterToDeclaration(parameter, context)), - symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker, bundled) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context, bundled)), - symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)) + symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context)), + symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)), + serializeTypeForDeclaration: (declaration, type, symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeTypeForDeclaration(context, declaration, type, symbol)), + serializeReturnTypeForSignature: (signature, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeReturnTypeForSignature(context, signature)), + expressionOrTypeToTypeNode: (expr, type, addUndefined, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => expressionOrTypeToTypeNode(context, expr, type, addUndefined)) }; + function setTextRange2(context, range, location) { + if (!nodeIsSynthesized(range) && !(range.flags & 8 /* Synthesized */) && (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range))) { + range = factory.cloneNode(range); + } + if (!location) { + return range; + } + if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location))) { + return setOriginalNode(range, location); + } + return setTextRange(setOriginalNode(range, location), location); + } + function expressionOrTypeToTypeNode(context, expr, type, addUndefined) { + const oldFlags = context.flags; + if (expr && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfExpression(expr, context, addUndefined); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined); + context.flags = oldFlags; + return result; + } + function expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined) { + if (expr) { + const typeNode = isAssertionExpression(expr) ? expr.type : isJSDocTypeAssertion(expr) ? getJSDocTypeAssertionType(expr) : void 0; + if (typeNode && !isConstTypeReference(typeNode)) { + const result = tryReuseExistingTypeNode(context, typeNode, type, expr.parent, addUndefined); + if (result) { + return result; + } + } + } + if (addUndefined) { + type = getOptionalType(type); + } + return typeToTypeNodeHelper(type, context); + } + function tryReuseExistingTypeNode(context, typeNode, type, host2, addUndefined) { + const originalType = type; + if (addUndefined) { + type = getOptionalType(type); + } + const clone2 = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host2); + if (clone2) { + if (addUndefined && !someType(getTypeFromTypeNode(typeNode), (t) => !!(t.flags & 32768 /* Undefined */))) { + return factory.createUnionTypeNode([clone2, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + return clone2; + } + if (addUndefined && originalType !== type) { + const cloneMissingUndefined = tryReuseExistingNonParameterTypeNode(context, typeNode, originalType, host2); + if (cloneMissingUndefined) { + return factory.createUnionTypeNode([cloneMissingUndefined, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + } + return void 0; + } + function tryReuseExistingNonParameterTypeNode(context, existing, type, host2 = context.enclosingDeclaration, annotationType) { + if (typeNodeIsEquivalentToType(existing, host2, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + const result = tryReuseExistingTypeNodeHelper(context, existing); + if (result) { + return result; + } + } + return void 0; + } function symbolToNode(symbol, context, meaning) { if (context.flags & 1073741824 /* WriteComputedProps */) { if (symbol.valueDeclaration) { @@ -46934,68 +47593,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function withContext(enclosingDeclaration, flags, tracker, cb) { var _a2, _b; Debug.assert(enclosingDeclaration === void 0 || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); + const moduleResolverHost = (tracker == null ? void 0 : tracker.trackSymbol) ? tracker.moduleResolverHost : flags & 134217728 /* DoNotIncludeSymbolChain */ ? createBasicNodeBuilderModuleSpecifierResolutionHost(host) : void 0; const context = { enclosingDeclaration, + enclosingFile: enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration), flags: flags || 0 /* None */, - tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: () => false, moduleResolverHost: flags & 134217728 /* DoNotIncludeSymbolChain */ ? { - getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", - getCurrentDirectory: () => host.getCurrentDirectory(), - getSymlinkCache: maybeBind(host, host.getSymlinkCache), - getPackageJsonInfoCache: () => { - var _a3; - return (_a3 = host.getPackageJsonInfoCache) == null ? void 0 : _a3.call(host); - }, - useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), - redirectTargetsMap: host.redirectTargetsMap, - getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), - isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), - fileExists: (fileName) => host.fileExists(fileName), - getFileIncludeReasons: () => host.getFileIncludeReasons(), - readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 - } : void 0 }, + tracker: void 0, encounteredError: false, reportedDiagnostic: false, visitedTypes: void 0, symbolDepth: void 0, inferTypeParameters: void 0, - approximateLength: 0 + approximateLength: 0, + trackedSymbols: void 0, + bundled: !!compilerOptions.outFile && !!enclosingDeclaration && isExternalOrCommonJsModule(getSourceFileOfNode(enclosingDeclaration)) }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); if (context.truncating && context.flags & 1 /* NoTruncation */) { (_b = (_a2 = context.tracker) == null ? void 0 : _a2.reportTruncationError) == null ? void 0 : _b.call(_a2); } return context.encounteredError ? void 0 : resultingNode; } - function wrapSymbolTrackerToReportForContext(context, tracker) { - const oldTrackSymbol = tracker.trackSymbol; - return { - ...tracker, - reportCyclicStructureError: wrapReportedDiagnostic(tracker.reportCyclicStructureError), - reportInaccessibleThisError: wrapReportedDiagnostic(tracker.reportInaccessibleThisError), - reportInaccessibleUniqueSymbolError: wrapReportedDiagnostic(tracker.reportInaccessibleUniqueSymbolError), - reportLikelyUnsafeImportRequiredError: wrapReportedDiagnostic(tracker.reportLikelyUnsafeImportRequiredError), - reportNonlocalAugmentation: wrapReportedDiagnostic(tracker.reportNonlocalAugmentation), - reportPrivateInBaseOfClassExpression: wrapReportedDiagnostic(tracker.reportPrivateInBaseOfClassExpression), - reportNonSerializableProperty: wrapReportedDiagnostic(tracker.reportNonSerializableProperty), - trackSymbol: oldTrackSymbol && ((...args) => { - const result = oldTrackSymbol(...args); - if (result) { - context.reportedDiagnostic = true; - } - return result; - }) - }; - function wrapReportedDiagnostic(method) { - if (!method) { - return method; - } - return (...args) => { - context.reportedDiagnostic = true; - return method(...args); - }; - } - } function checkTruncationLength(context) { if (context.truncating) return context.truncating; @@ -47172,7 +47791,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, constraintNode)); } - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */) { const name2 = typeParameterToName(type, context); context.approximateLength += idText(name2).length; return factory.createTypeReferenceNode(factory.createIdentifier(idText(name2)), void 0); @@ -47410,7 +48029,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!nodeIsSynthesized(node) && getParseTreeNode(node) === node) { return node; } - return setTextRange(factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), node); + return setTextRange2( + context, + factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), + node + ); } function deepCloneOrReuseNodes(nodes, visitor, test, start, count) { if (nodes && nodes.length === 0) { @@ -47656,7 +48279,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const propertyType = shouldUsePlaceholderForProperty(propertySymbol, context) ? anyType : getNonMissingTypeOfSymbol(propertySymbol); const saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = void 0; - if (context.tracker.trackSymbol && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.canTrackSymbol && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { const decl = first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -47693,7 +48316,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.reverseMappedStack || (context.reverseMappedStack = []); context.reverseMappedStack.push(propertySymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : factory.createKeywordTypeNode(132 /* AnyKeyword */); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, void 0, propertyType, propertySymbol) : factory.createKeywordTypeNode(132 /* AnyKeyword */); if (propertyIsReverseMapped) { context.reverseMappedStack.pop(); } @@ -47804,9 +48427,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a2, _b, _c, _d; - const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; - if (suppressAny) - context.flags &= ~256 /* SuppressAnyReturnType */; + const flags = context.flags; + context.flags &= ~256 /* SuppressAnyReturnType */; context.approximateLength += 3; let typeParameters; let typeArguments; @@ -47816,37 +48438,128 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { typeParameters = signature.typeParameters && signature.typeParameters.map((parameter) => typeParameterToDeclaration(parameter, context)); } const expandedParams = getExpandedParameters(signature, true)[0]; - const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports)); + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters); + const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */)); const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); } - let returnTypeNode; - const typePredicate = getTypePredicateOfSignature(signature); - if (typePredicate) { - const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; - const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); - const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); - returnTypeNode = factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); - } else { - const returnType = getReturnTypeOfSignature(signature); - if (returnType && !(suppressAny && isTypeAny(returnType))) { - returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports); - } else if (!suppressAny) { - returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); - } - } + context.flags = flags; + const returnTypeNode = serializeReturnTypeForSignature(context, signature); let modifiers = options == null ? void 0 : options.modifiers; if (kind === 185 /* ConstructorType */ && signature.flags & 4 /* Abstract */) { - const flags = modifiersToFlags(modifiers); - modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */); + const flags2 = modifiersToFlags(modifiers); + modifiers = factory.createModifiersFromModifierFlags(flags2 | 256 /* Abstract */); } const node = kind === 179 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 180 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 173 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (_a2 = options == null ? void 0 : options.name) != null ? _a2 : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 174 /* MethodDeclaration */ ? factory.createMethodDeclaration(modifiers, void 0, (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""), void 0, typeParameters, parameters, returnTypeNode, void 0) : kind === 176 /* Constructor */ ? factory.createConstructorDeclaration(modifiers, parameters, void 0) : kind === 177 /* GetAccessor */ ? factory.createGetAccessorDeclaration(modifiers, (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""), parameters, returnTypeNode, void 0) : kind === 178 /* SetAccessor */ ? factory.createSetAccessorDeclaration(modifiers, (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""), parameters, void 0) : kind === 181 /* IndexSignature */ ? factory.createIndexSignature(modifiers, parameters, returnTypeNode) : kind === 326 /* JSDocFunctionType */ ? factory.createJSDocFunctionType(parameters, returnTypeNode) : kind === 184 /* FunctionType */ ? factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 185 /* ConstructorType */ ? factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 263 /* FunctionDeclaration */ ? factory.createFunctionDeclaration(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, void 0) : kind === 218 /* FunctionExpression */ ? factory.createFunctionExpression(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, factory.createBlock([])) : kind === 219 /* ArrowFunction */ ? factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, void 0, factory.createBlock([])) : Debug.assertNever(kind); if (typeArguments) { node.typeArguments = factory.createNodeArray(typeArguments); } + cleanup == null ? void 0 : cleanup(); return node; } + function isNewScopeNode(node) { + return isFunctionLike(node) || isJSDocSignature(node) || isMappedTypeNode(node); + } + function getTypeParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getSignatureFromDeclaration(node).typeParameters : isConditionalTypeNode(node) ? getInferTypeParameters(node) : [getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))]; + } + function getParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getExpandedParameters(getSignatureFromDeclaration(node), true)[0] : void 0; + } + function enterNewScope(context, declaration, expandedParams, typeParameters) { + let cleanup; + if (context.enclosingDeclaration && declaration && declaration !== context.enclosingDeclaration && !isInJSFile(declaration) && (some(expandedParams) || some(typeParameters))) { + pushFakeScope( + "params", + (add) => { + for (const param of expandedParams != null ? expandedParams : emptyArray) { + if (!forEach(param.declarations, (d) => { + if (isParameter(d) && isBindingPattern(d.name)) { + bindPattern(d.name); + return true; + } + return void 0; + function bindPattern(p) { + forEach(p.elements, (e) => { + switch (e.kind) { + case 233 /* OmittedExpression */: + return; + case 208 /* BindingElement */: + return bindElement(e); + default: + return Debug.assertNever(e); + } + }); + } + function bindElement(e) { + if (isBindingPattern(e.name)) { + return bindPattern(e.name); + } + const symbol = getSymbolOfNode(e); + add(symbol.escapedName, symbol); + } + })) { + add(param.escapedName, param); + } + } + } + ); + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + pushFakeScope( + "typeParams", + (add) => { + for (const typeParam of typeParameters != null ? typeParameters : emptyArray) { + const typeParamName = typeParameterToName(typeParam, context).escapedText; + add(typeParamName, typeParam.symbol); + } + } + ); + } + return cleanup; + } + function pushFakeScope(kind, addAll) { + var _a2; + Debug.assert(context.enclosingDeclaration); + let existingFakeScope; + if (getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration; + } else if (context.enclosingDeclaration.parent && getNodeLinks(context.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration.parent; + } + Debug.assertOptionalNode(existingFakeScope, isBlock); + const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable(); + let newLocals; + addAll((name, symbol) => { + if (!locals.has(name)) { + newLocals = append(newLocals, name); + locals.set(name, symbol); + } + }); + if (!newLocals) { + return; + } + const oldCleanup = cleanup; + function undo() { + forEach(newLocals, (s) => locals.delete(s)); + oldCleanup == null ? void 0 : oldCleanup(); + } + if (existingFakeScope) { + cleanup = undo; + } else { + const fakeScope = parseNodeFactory.createBlock(emptyArray); + getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = kind; + fakeScope.locals = locals; + const saveEnclosingDeclaration = context.enclosingDeclaration; + setParent(fakeScope, saveEnclosingDeclaration); + context.enclosingDeclaration = fakeScope; + cleanup = () => { + context.enclosingDeclaration = saveEnclosingDeclaration; + undo(); + }; + } + } + } function tryGetThisParameterDeclaration(signature, context) { if (signature.thisParameter) { return symbolToParameterDeclaration(signature.thisParameter, context); @@ -47878,20 +48591,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constraintNode = constraint && typeToTypeNodeHelper(constraint, context); return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } - function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - let parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); - if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); + function typePredicateToTypePredicateNodeHelper(typePredicate, context) { + const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; + const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); + const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); + return factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); + } + function getEffectiveParameterDeclaration(parameterSymbol) { + const parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); + if (parameterDeclaration) { + return parameterDeclaration; } - let parameterType = getTypeOfSymbol(parameterSymbol); - if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { - parameterType = getOptionalType(parameterType); + if (!isTransientSymbol(parameterSymbol)) { + return getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); } - const parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); + } + function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { + const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol); + const parameterType = getTypeOfSymbol(parameterSymbol); + const parameterTypeNode = serializeTypeForDeclaration(context, parameterDeclaration, parameterType, parameterSymbol); const modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : void 0; const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 32768 /* RestParameter */; const dotDotDotToken = isRest ? factory.createToken(25 /* DotDotDotToken */) : void 0; - const name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); + const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context); const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */; const questionToken = isOptional ? factory.createToken(57 /* QuestionToken */) : void 0; const parameterNode = factory.createParameterDeclaration( @@ -47904,13 +48626,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.approximateLength += symbolName(parameterSymbol).length + 3; return parameterNode; + } + function parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context) { + return parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); function cloneBindingName(node) { return elideInitializerAndSetEmitFlags(node); function elideInitializerAndSetEmitFlags(node2) { - if (context.tracker.trackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { + if (context.tracker.canTrackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { trackComputedName(node2.expression, context.enclosingDeclaration, context); } - let visited = visitEachChild(node2, elideInitializerAndSetEmitFlags, nullTransformationContext, void 0, elideInitializerAndSetEmitFlags); + let visited = visitEachChild( + node2, + elideInitializerAndSetEmitFlags, + void 0, + void 0, + elideInitializerAndSetEmitFlags + ); if (isBindingElement(visited)) { visited = factory.updateBindingElement( visited, @@ -47928,8 +48659,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function trackComputedName(accessExpression, enclosingDeclaration, context) { - if (!context.tracker.trackSymbol) + if (!context.tracker.canTrackSymbol) { return; + } const firstIdentifier = getFirstIdentifier(accessExpression); const name = resolveName(firstIdentifier, firstIdentifier.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */, void 0, void 0, true); if (name) { @@ -48062,13 +48794,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } } - if (!context.enclosingDeclaration || !context.tracker.moduleResolverHost) { + if (!context.enclosingFile || !context.tracker.moduleResolverHost) { if (ambientModuleSymbolRegex.test(symbol.escapedName)) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } return getSourceFileOfNode(getNonAugmentationDeclaration(symbol)).fileName; } - const contextFile = getSourceFileOfNode(getOriginalNode(context.enclosingDeclaration)); + const contextFile = context.enclosingFile; const resolutionMode = overrideImportMode || (contextFile == null ? void 0 : contextFile.impliedNodeFormat); const cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode); const links = getSymbolLinks(symbol); @@ -48162,8 +48894,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } const lit = factory.createLiteralTypeNode(factory.createStringLiteral(specifier)); - if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) + if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) { context.tracker.trackExternalModuleSymbolOfImportTypeNode(chain[0]); + } context.approximateLength += specifier.length + 10; if (!nonRootParts || isEntityName(nonRootParts)) { if (nonRootParts) { @@ -48242,13 +48975,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return identifier; } } - function typeParameterShadowsNameInScope(escapedName, context, type) { - const result = resolveName(context.enclosingDeclaration, escapedName, 788968 /* Type */, void 0, escapedName, false); - if (result) { - if (result.flags & 262144 /* TypeParameter */ && result === type.symbol) { - return false; - } - return true; + function typeParameterShadowsOtherTypeParameterInScope(escapedName, context, type) { + const result = resolveName( + context.enclosingDeclaration, + escapedName, + 788968 /* Type */, + void 0, + escapedName, + false + ); + if (result && result.flags & 262144 /* TypeParameter */) { + return result !== type.symbol; } return false; } @@ -48268,7 +49005,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const rawtext = result.escapedText; let i = ((_a2 = context.typeParameterNamesByTextNextNameCount) == null ? void 0 : _a2.get(rawtext)) || 0; let text = rawtext; - while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { + while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsOtherTypeParameterInScope(text, context, type)) { i++; text = `${rawtext}_${i}`; } @@ -48277,7 +49014,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } (context.typeParameterNamesByTextNextNameCount || (context.typeParameterNamesByTextNextNameCount = new Map2())).set(rawtext, i); (context.typeParameterNames || (context.typeParameterNames = new Map2())).set(getTypeId(type), result); - (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(rawtext); + (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(text); } return result; } @@ -48390,7 +49127,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (initial.typeParameterSymbolList) { initial.typeParameterSymbolList = new Set2(initial.typeParameterSymbolList); } - initial.tracker = wrapSymbolTrackerToReportForContext(initial, initial.tracker); + if (initial.typeParameterNamesByTextNextNameCount) { + initial.typeParameterNamesByTextNextNameCount = new Map2(initial.typeParameterNamesByTextNextNameCount); + } + initial.tracker = new SymbolTrackerImpl(initial, initial.tracker.inner, initial.tracker.moduleResolverHost); return initial; } function getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration) { @@ -48399,16 +49139,23 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) { return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters); } - function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) { + function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) { + while (getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration) { + enclosingDeclaration = enclosingDeclaration.parent; + } + return enclosingDeclaration; + } + function serializeTypeForDeclaration(context, declaration, type, symbol) { + var _a2, _b; + const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); + const enclosingDeclaration = context.enclosingDeclaration; if (!isErrorType(type) && enclosingDeclaration) { - const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration); + const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) ? declaration : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { - const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation); - if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { - const result2 = serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled); - if (result2) { - return result2; - } + const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation); + const result2 = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + if (result2) { + return result2; } } } @@ -48416,73 +49163,148 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol && (!context.enclosingDeclaration || some(symbol.declarations, (d) => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration)))) { context.flags |= 1048576 /* AllowUniqueESSymbolType */; } - const result = typeToTypeNodeHelper(type, context); + const decl = (_b = declaration != null ? declaration : symbol.valueDeclaration) != null ? _b : (_a2 = symbol.declarations) == null ? void 0 : _a2[0]; + const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : void 0; + if (decl && hasInferredType(decl) && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfDeclaration(decl, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); context.flags = oldFlags; return result; } - function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type) { - const typeFromTypeNode = getTypeFromTypeNode(typeNode); + function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type, typeFromTypeNode = getTypeFromTypeNode(typeNode)) { if (typeFromTypeNode === type) { return true; } - if (isParameter(annotatedDeclaration) && annotatedDeclaration.questionToken) { + if (annotatedDeclaration && (isParameter(annotatedDeclaration) || isPropertySignature(annotatedDeclaration) || isPropertyDeclaration(annotatedDeclaration)) && annotatedDeclaration.questionToken) { return getTypeWithFacts(type, 524288 /* NEUndefined */) === typeFromTypeNode; } return false; } - function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) { + function serializeReturnTypeForSignature(context, signature) { + const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; + const flags = context.flags; + if (suppressAny) + context.flags &= ~256 /* SuppressAnyReturnType */; + let returnTypeNode; + const returnType = getReturnTypeOfSignature(signature); + if (returnType && !(suppressAny && isTypeAny(returnType))) { + if (signature.declaration && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeReturnTypeForSignature(signature.declaration, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + returnTypeNode = serializeReturnTypeForSignatureWorker(context, signature); + } else if (!suppressAny) { + returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); + } + context.flags = flags; + return returnTypeNode; + } + function serializeReturnTypeForSignatureWorker(context, signature) { + const typePredicate = getTypePredicateOfSignature(signature); + const type = getReturnTypeOfSignature(signature); if (!isErrorType(type) && context.enclosingDeclaration) { - const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration); - if (!!findAncestor(annotation, (n) => n === context.enclosingDeclaration) && annotation) { + const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); + const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); + if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) { const annotated = getTypeFromTypeNode(annotation); const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated; - if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) { - const result = serializeExistingTypeNode(context, annotation, includePrivateSymbol, bundled); - if (result) { - return result; - } + const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + if (result) { + return result; } } } - return typeToTypeNodeHelper(type, context); + if (typePredicate) { + return typePredicateToTypePredicateNodeHelper(typePredicate, context); + } + const expr = signature.declaration && getPossibleTypeNodeReuseExpression(signature.declaration); + return expressionOrTypeToTypeNode(context, expr, type); } - function trackExistingEntityName(node, context, includePrivateSymbol) { - var _a2, _b; + function trackExistingEntityName(node, context) { let introducesError = false; const leftmost = getFirstIdentifier(node); if (isInJSFile(node) && (isExportsIdentifier(leftmost) || isModuleExportsAccessExpression(leftmost.parent) || isQualifiedName(leftmost.parent) && isModuleIdentifier(leftmost.parent.left) && isExportsIdentifier(leftmost.parent.right))) { introducesError = true; return { introducesError, node }; } - const sym = resolveEntityName(leftmost, 67108863 /* All */, true, true); + const meaning = getMeaningOfEntityNameReference(node); + let sym; + if (isThisIdentifier(leftmost)) { + sym = getSymbolOfNode(getThisContainer(leftmost, false)); + if (isSymbolAccessible( + sym, + leftmost, + meaning, + false + ).accessibility !== 0 /* Accessible */) { + introducesError = true; + context.tracker.reportInaccessibleThisError(); + } + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + sym = resolveEntityName(leftmost, meaning, true, true); if (sym) { - if (isSymbolAccessible(sym, context.enclosingDeclaration, 67108863 /* All */, false).accessibility !== 0 /* Accessible */) { + if (sym.flags & 1 /* FunctionScopedVariable */ && sym.valueDeclaration) { + if (isParameterDeclaration(sym.valueDeclaration)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + } + if (!(sym.flags & 262144 /* TypeParameter */) && !isDeclarationName(node) && isSymbolAccessible( + sym, + context.enclosingDeclaration, + meaning, + false + ).accessibility !== 0 /* Accessible */) { introducesError = true; } else { - (_b = (_a2 = context.tracker) == null ? void 0 : _a2.trackSymbol) == null ? void 0 : _b.call(_a2, sym, context.enclosingDeclaration, 67108863 /* All */); - includePrivateSymbol == null ? void 0 : includePrivateSymbol(sym); + context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning); } - if (isIdentifier(node)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + return { introducesError, node }; + function attachSymbolToLeftmostIdentifier(node2) { + if (node2 === leftmost) { const type = getDeclaredTypeOfSymbol(sym); - const name = sym.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : factory.cloneNode(node); + const name = sym.flags & 262144 /* TypeParameter */ ? typeParameterToName(type, context) : factory.cloneNode(node2); name.symbol = sym; - return { introducesError, node: setEmitFlags(setOriginalNode(name, node), 16777216 /* NoAsciiEscaping */) }; + return setTextRange2(context, setEmitFlags(name, 16777216 /* NoAsciiEscaping */), node2); } + const updated = visitEachChild(node2, (c) => attachSymbolToLeftmostIdentifier(c), void 0); + if (updated !== node2) { + setTextRange2(context, updated, node2); + } + return updated; } - return { introducesError, node }; } - function serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled) { + function tryReuseExistingTypeNodeHelper(context, existing) { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } let hadError = false; - const file = getSourceFileOfNode(existing); - const transformed = visitNode(existing, visitExistingNodeTreeSymbols); + const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode); if (hadError) { return void 0; } - return transformed === existing ? setTextRange(factory.cloneNode(existing), existing) : transformed; + return transformed; function visitExistingNodeTreeSymbols(node) { + const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : void 0; + const result = visitExistingNodeTreeSymbolsWorker(node); + onExitNewScope == null ? void 0 : onExitNewScope(); + return result === node ? setTextRange2(context, factory.cloneNode(result), node) : result; + } + function onEnterNewScope(node) { + const oldContex = context; + context = cloneNodeBuilderContext(context); + const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + return onExitNewScope; + function onExitNewScope() { + cleanup == null ? void 0 : cleanup(); + context = oldContex; + } + } + function visitExistingNodeTreeSymbolsWorker(node) { if (isJSDocAllType(node) || node.kind === 328 /* JSDocNamepathType */) { return factory.createKeywordTypeNode(132 /* AnyKeyword */); } @@ -48490,16 +49312,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createKeywordTypeNode(159 /* UnknownKeyword */); } if (isJSDocNullableType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createLiteralTypeNode(factory.createNull())]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createLiteralTypeNode(factory.createNull())] + ); } if (isJSDocOptionalType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)] + ); } if (isJSDocNonNullableType(node)) { return visitNode(node.type, visitExistingNodeTreeSymbols); } if (isJSDocVariadicType(node)) { - return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols)); + return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); } if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, (t) => { @@ -48510,7 +49336,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, name, t.isBracketed || t.typeExpression && isJSDocOptionalType(t.typeExpression.type) ? factory.createToken(57 /* QuestionToken */) : void 0, - overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); })); } @@ -48525,9 +49351,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, "x", void 0, - visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols, isTypeNode) )], - visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols, isTypeNode) )]); } if (isJSDocFunctionType(node)) { @@ -48535,29 +49361,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { let newTypeNode; return factory.createConstructorTypeNode( void 0, - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), mapDefined(node.parameters, (p, i) => p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, void 0) : factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } else { return factory.createFunctionTypeNode( - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), map(node.parameters, (p, i) => factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } } @@ -48578,17 +49404,61 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { node.isTypeOf ); } + if (isNamedDeclaration(node) && node.name.kind === 166 /* ComputedPropertyName */ && !isLateBindableName(node.name)) { + if (!(context.flags & 1 /* AllowUnresolvedComputedNames */ && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & 1 /* Any */)) { + return void 0; + } + } + if (isFunctionLike(node) && !node.type || isPropertyDeclaration(node) && !node.type && !node.initializer || isPropertySignature(node) && !node.type && !node.initializer || isParameter(node) && !node.type && !node.initializer) { + let visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + if (visited === node) { + visited = setTextRange2(context, factory.cloneNode(node), node); + } + visited.type = factory.createKeywordTypeNode(132 /* AnyKeyword */); + if (isParameter(node)) { + visited.modifiers = void 0; + } + return visited; + } if (isEntityName(node) || isEntityNameExpression(node)) { - const { introducesError, node: result } = trackExistingEntityName(node, context, includePrivateSymbol); - hadError = hadError || introducesError; - if (result !== node) { - return result; + if (isDeclarationName(node)) { + return node; } + const { introducesError, node: result } = trackExistingEntityName(node, context); + hadError = hadError || introducesError; + return result; } - if (file && isTupleTypeNode(node) && getLineAndCharacterOfPosition(file, node.pos).line === getLineAndCharacterOfPosition(file, node.end).line) { - setEmitFlags(node, 1 /* SingleLine */); + if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { + const visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + const clone2 = setTextRange2(context, visited === node ? factory.cloneNode(node) : visited, node); + const flags = getEmitFlags(clone2); + setEmitFlags( + clone2, + flags | (context.flags & 1024 /* MultilineObjectLiterals */ && isTypeLiteralNode(node) ? 0 : 1 /* SingleLine */) + ); + return clone2; + } + if (isStringLiteral(node) && !!(context.flags & 268435456 /* UseSingleQuotesForStringLiteralType */) && !node.singleQuote) { + const clone2 = factory.cloneNode(node); + clone2.singleQuote = true; + return clone2; + } + if (isConditionalTypeNode(node)) { + const checkType = visitNode(node.checkType, visitExistingNodeTreeSymbols, isTypeNode); + const disposeScope = onEnterNewScope(node); + const extendType = visitNode(node.extendsType, visitExistingNodeTreeSymbols, isTypeNode); + const trueType2 = visitNode(node.trueType, visitExistingNodeTreeSymbols, isTypeNode); + disposeScope(); + const falseType2 = visitNode(node.falseType, visitExistingNodeTreeSymbols, isTypeNode); + return factory.updateConditionalTypeNode( + node, + checkType, + extendType, + trueType2, + falseType2 + ); } - return visitEachChild(node, visitExistingNodeTreeSymbols, nullTransformationContext); + return visitEachChild(node, visitExistingNodeTreeSymbols, void 0); function getEffectiveDotDotDotForParameter(p) { return p.dotDotDotToken || (p.type && isJSDocVariadicType(p.type) ? factory.createToken(25 /* DotDotDotToken */) : void 0); } @@ -48596,18 +49466,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return p.name && isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? `args` : `arg${index}`; } function rewriteModuleSpecifier(parent, lit) { - if (bundled) { - if (context.tracker && context.tracker.moduleResolverHost) { - const targetFile = getExternalModuleFileFromDeclaration(parent); - if (targetFile) { - const getCanonicalFileName = createGetCanonicalFileName(!!host.useCaseSensitiveFileNames); - const resolverHost = { - getCanonicalFileName, - getCurrentDirectory: () => context.tracker.moduleResolverHost.getCurrentDirectory(), - getCommonSourceDirectory: () => context.tracker.moduleResolverHost.getCommonSourceDirectory() - }; - const newName = getResolvedExternalModuleName(resolverHost, targetFile); - return factory.createStringLiteral(newName); + if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) { + const targetFile = getExternalModuleFileFromDeclaration(parent); + if (targetFile) { + const newName = getSpecifierForModuleSymbol(targetFile.symbol, context); + if (newName !== lit.text) { + return setOriginalNode(factory.createStringLiteral(newName), lit); } } } else { @@ -48618,11 +49482,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - return lit; + return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral); } } } - function symbolTableToDeclarationStatements(symbolTable, context, bundled) { + function symbolTableToDeclarationStatements(symbolTable, context) { const serializePropertySymbolForClass = makeSerializePropertySymbol(factory.createPropertyDeclaration, 174 /* MethodDeclaration */, true); const serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol((mods, name, question, type) => factory.createPropertySignature(mods, name, question, type), 173 /* MethodSignature */, false); const enclosingDeclaration = context.enclosingDeclaration; @@ -48634,28 +49498,37 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ...oldcontext, usedSymbolNames: new Set2(oldcontext.usedSymbolNames), remappedSymbolNames: new Map2(), - tracker: { - ...oldcontext.tracker, - trackSymbol: (sym, decl, meaning) => { - const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); - if (accessibleResult.accessibility === 0 /* Accessible */) { - const chain = lookupSymbolChainWorker(sym, context, meaning); - if (!(sym.flags & 4 /* Property */)) { - includePrivateSymbol(chain[0]); + tracker: void 0 + }; + const tracker = { + ...oldcontext.tracker.inner, + trackSymbol: (sym, decl, meaning) => { + var _a2, _b; + if ((_a2 = context.remappedSymbolNames) == null ? void 0 : _a2.has(getSymbolId(sym))) { + return false; + } + const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); + if (accessibleResult.accessibility === 0 /* Accessible */) { + const chain = lookupSymbolChainWorker(sym, context, meaning); + if (!(sym.flags & 4 /* Property */)) { + const root = chain[0]; + const contextFile = getSourceFileOfNode(oldcontext.enclosingDeclaration); + if (some(root.declarations, (d) => getSourceFileOfNode(d) === contextFile)) { + includePrivateSymbol(root); } - } else if (oldcontext.tracker && oldcontext.tracker.trackSymbol) { - return oldcontext.tracker.trackSymbol(sym, decl, meaning); } - return false; + } else if ((_b = oldcontext.tracker.inner) == null ? void 0 : _b.trackSymbol) { + return oldcontext.tracker.inner.trackSymbol(sym, decl, meaning); } + return false; } }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, oldcontext.tracker.moduleResolverHost); forEachEntry(symbolTable, (symbol, name) => { const baseName = unescapeLeadingUnderscores(name); void getInternalSymbolName(symbol, baseName); }); - let addingDeclare = !bundled; + let addingDeclare = !context.bundled; const exportEquals = symbolTable.get("export=" /* ExportEquals */); if (exportEquals && symbolTable.size > 1 && exportEquals.flags & 2097152 /* Alias */) { symbolTable = createSymbolTable(); @@ -48807,6 +49680,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function serializeSymbol(symbol, isPrivate, propertyAsAlias) { + void getPropertiesOfType(getTypeOfSymbol(symbol)); const visitedSym = getMergedSymbol(symbol); if (visitedSymbols.has(getSymbolId(visitedSym))) { return; @@ -48820,6 +49694,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (context.reportedDiagnostic) { oldcontext.reportedDiagnostic = context.reportedDiagnostic; } + if (context.trackedSymbols) { + if (!oldContext.trackedSymbols) { + oldContext.trackedSymbols = context.trackedSymbols; + } else { + Debug.assert(context.trackedSymbols === oldContext.trackedSymbols); + } + } context = oldContext; } } @@ -48877,9 +49758,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* Value */); } else { - const statement = setTextRange(factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(name, void 0, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) - ], flags)), textRange); + const statement = setTextRange2( + context, + factory.createVariableStatement( + void 0, + factory.createVariableDeclarationList([ + factory.createVariableDeclaration( + name, + void 0, + serializeTypeForDeclaration(context, void 0, type, symbol) + ) + ], flags) + ), + textRange + ); addResult(statement, name !== localName ? modifierFlags & ~1 /* Export */ : modifierFlags); if (name !== localName && !isPrivate) { addResult( @@ -48983,7 +49875,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.flags |= 8388608 /* InTypeAlias */; const oldEnclosingDecl = context.enclosingDeclaration; context.enclosingDeclaration = jsdocAliasDecl; - const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) || typeToTypeNodeHelper(aliasType, context); + const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && tryReuseExistingNonParameterTypeNode(context, jsdocAliasDecl.typeExpression.type, aliasType, void 0) || typeToTypeNodeHelper(aliasType, context); addResult(setSyntheticLeadingComments( factory.createTypeAliasDeclaration(void 0, getInternalSymbolName(symbol, symbolName2), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }] @@ -49067,8 +49959,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags) { const signatures = getSignaturesOfType(type, 0 /* Call */); for (const sig of signatures) { - const decl = signatureToSignatureDeclarationHelper(sig, 263 /* FunctionDeclaration */, context, { name: factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); - addResult(setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); + const decl = signatureToSignatureDeclarationHelper( + sig, + 263 /* FunctionDeclaration */, + context, + { name: factory.createIdentifier(localName) } + ); + addResult(setTextRange2(context, decl, getSignatureTextRangeLocation(sig)), modifierFlags); } if (!(symbol.flags & (512 /* ValueModule */ | 1024 /* NamespaceModule */) && !!symbol.exports && !!symbol.exports.size)) { const props = filter(getPropertiesOfType(type), isNamespaceMember); @@ -49140,7 +50037,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return cleanup(void 0); } let introducesError; - ({ introducesError, node: expr } = trackExistingEntityName(expr, context, includePrivateSymbol)); + ({ introducesError, node: expr } = trackExistingEntityName(expr, context)); if (introducesError) { return cleanup(void 0); } @@ -49149,7 +50046,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { expr, map( e.typeArguments, - (a) => serializeExistingTypeNode(context, a, includePrivateSymbol, bundled) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) + (a) => tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) ) )); function cleanup(result2) { @@ -49205,13 +50102,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constructors = isNonConstructableClassLikeInJsFile ? [factory.createConstructorDeclaration(factory.createModifiersFromModifierFlags(8 /* Private */), [], void 0)] : serializeSignatures(1 /* Construct */, staticType, staticBaseType, 176 /* Constructor */); const indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; - addResult(setTextRange(factory.createClassDeclaration( - void 0, - localName, - typeParamDecls, - heritageClauses, - [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] - ), symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0]), modifierFlags); + addResult(setTextRange2( + context, + factory.createClassDeclaration( + void 0, + localName, + typeParamDecls, + heritageClauses, + [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] + ), + symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0] + ), modifierFlags); } function getSomeTargetNameFromDeclarations(declarations) { return firstDefined(declarations, (d) => { @@ -49266,6 +50167,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { break; } Debug.failBadSyntaxKind(((_c = node.parent) == null ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); + break; case 306 /* ShorthandPropertyAssignment */: if (((_e = (_d = node.parent) == null ? void 0 : _d.parent) == null ? void 0 : _e.kind) === 227 /* BinaryExpression */) { serializeExportSpecifier( @@ -49309,22 +50211,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 273 /* NamespaceExportDeclaration */: addResult(factory.createNamespaceExportDeclaration(idText(node.name)), 0 /* None */); break; - case 276 /* ImportClause */: + case 276 /* ImportClause */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, factory.createIdentifier(localName), void 0), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; - case 277 /* NamespaceImport */: + } + case 277 /* NamespaceImport */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, void 0, factory.createNamespaceImport(factory.createIdentifier(localName))), - factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 283 /* NamespaceExport */: addResult(factory.createExportDeclaration( void 0, @@ -49333,7 +50241,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)) ), 0 /* None */); break; - case 279 /* ImportSpecifier */: + case 279 /* ImportSpecifier */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause( @@ -49347,10 +50257,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ) ]) ), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 284 /* ExportSpecifier */: const specifier = node.parent.parent.moduleSpecifier; serializeExportSpecifier( @@ -49433,7 +50344,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { serializeAsFunctionNamespaceMerge(typeToSerialize, symbol, varName, isExportAssignmentCompatibleSymbolName ? 0 /* None */ : 1 /* Export */); } else { const statement = factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(varName, void 0, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) + factory.createVariableDeclaration( + varName, + void 0, + serializeTypeForDeclaration( + context, + void 0, + typeToSerialize, + symbol + ) + ) ], 2 /* Const */)); addResult( statement, @@ -49455,8 +50375,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function isTypeRepresentableAsFunctionNamespaceMerge(typeToSerialize, hostSymbol) { + var _a2; const ctxSrc = getSourceFileOfNode(context.enclosingDeclaration); - return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); + return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !some((_a2 = typeToSerialize.symbol) == null ? void 0 : _a2.declarations, isTypeNode) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); } function makeSerializePropertySymbol(createProperty, methodKind, useAccessors) { return function serializePropertySymbol(p, isStatic2, baseType) { @@ -49475,50 +50396,66 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (p.flags & 98304 /* Accessor */ && useAccessors) { const result = []; if (p.flags & 65536 /* SetAccessor */) { - result.push(setTextRange(factory.createSetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [factory.createParameterDeclaration( - void 0, - void 0, - "arg", - void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled) - )], - void 0 - ), ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createSetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [factory.createParameterDeclaration( + void 0, + void 0, + "arg", + void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p) + )], + void 0 + ), + ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl + )); } if (p.flags & 32768 /* GetAccessor */) { const isPrivate2 = modifierFlags & 8 /* Private */; - result.push(setTextRange(factory.createGetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [], - isPrivate2 ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createGetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [], + isPrivate2 ? void 0 : serializeTypeForDeclaration(context, void 0, getTypeOfSymbol(p), p), + void 0 + ), + ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl + )); } return result; } else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) { - return setTextRange(createProperty( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl); + return setTextRange2( + context, + createProperty( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p), + void 0 + ), + ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl + ); } if (p.flags & (8192 /* Method */ | 16 /* Function */)) { const type = getTypeOfSymbol(p); const signatures = getSignaturesOfType(type, 0 /* Call */); if (flag & 8 /* Private */) { - return setTextRange(createProperty( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - void 0, - void 0 - ), ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); + return setTextRange2( + context, + createProperty( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + void 0, + void 0 + ), + ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0] + ); } const results2 = []; for (const sig of signatures) { @@ -49533,7 +50470,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } ); const location = sig.declaration && isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; - results2.push(setTextRange(decl, location)); + results2.push(setTextRange2(context, decl, location)); } return results2; } @@ -49574,17 +50511,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (privateProtected) { - return [setTextRange(factory.createConstructorDeclaration( - factory.createModifiersFromModifierFlags(privateProtected), - [], - void 0 - ), signatures[0].declaration)]; + return [setTextRange2( + context, + factory.createConstructorDeclaration( + factory.createModifiersFromModifierFlags(privateProtected), + [], + void 0 + ), + signatures[0].declaration + )]; } } const results2 = []; for (const sig of signatures) { const decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); - results2.push(setTextRange(decl, sig.declaration)); + results2.push(setTextRange2(context, decl, sig.declaration)); } return results2; } @@ -49708,8 +50649,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const t = types[i]; flags |= t.flags; if (!(t.flags & 98304 /* Nullable */)) { - if (t.flags & (512 /* BooleanLiteral */ | 1024 /* EnumLiteral */)) { - const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (t.flags & (512 /* BooleanLiteral */ | 1056 /* EnumLike */)) { + const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLikeType(t); if (baseType.flags & 1048576 /* Union */) { const count = baseType.types.length; if (i + count <= types.length && getRegularTypeOfLiteralType(types[i + count - 1]) === getRegularTypeOfLiteralType(baseType.types[count - 1])) { @@ -51422,6 +52363,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return false; } function isLiteralEnumMember(member) { + var _a2, _b; const expr = member.initializer; if (!expr) { return !(member.flags & 16777216 /* Ambient */); @@ -51434,7 +52376,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 225 /* PrefixUnaryExpression */: return expr.operator === 40 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 79 /* Identifier */: - return nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); + return nodeIsMissing(expr) || ((_b = (_a2 = getSymbolOfNode(member.parent).exports.get(expr.escapedText)) == null ? void 0 : _a2.valueDeclaration) == null ? void 0 : _b.kind) === 308 /* EnumMember */; case 227 /* BinaryExpression */: return isStringConcatExpression(expr); default: @@ -51451,7 +52393,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - if (member.initializer && isStringLiteralLike(member.initializer)) { + if (member.initializer && isStringConcatExpression(member.initializer)) { return links.enumKind = 1 /* Literal */; } if (!isLiteralEnumMember(member)) { @@ -51463,8 +52405,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } - function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && !(type.flags & 1048576 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + function getBaseTypeOfEnumLikeType(type) { + return type.flags & 1056 /* EnumLike */ && type.symbol.flags & 8 /* EnumMember */ ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { const links = getSymbolLinks(symbol); @@ -51478,9 +52420,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - const value = getEnumMemberValue(member); - const memberType = getFreshTypeOfLiteralType(getEnumLiteralType(value !== void 0 ? value : 0, enumCount, getSymbolOfNode(member))); - getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; + const memberSymbol = getSymbolOfNode(member); + const value = getEnumMemberValue(member).value; + const memberType = value !== void 0 ? getFreshTypeOfLiteralType( + getEnumLiteralType(value, enumCount, memberSymbol) + ) : createComputedEnumType(memberSymbol); + getSymbolLinks(memberSymbol).declaredType = memberType; memberTypeList.push(getRegularTypeOfLiteralType(memberType)); } } @@ -51495,9 +52440,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.declaredType = enumType2; } } - const enumType = createType(32 /* Enum */); - enumType.symbol = symbol; - return links.declaredType = enumType; + const enumType = createComputedEnumType(symbol); + links.declaredType = enumType; + return links.declaredType; + } + function createComputedEnumType(symbol) { + const regularType = createTypeWithSymbol(32 /* Enum */, symbol); + const freshType = createTypeWithSymbol(32 /* Enum */, symbol); + regularType.regularType = regularType; + regularType.freshType = freshType; + freshType.freshType = freshType; + freshType.regularType = regularType; + return regularType; } function getDeclaredTypeOfEnumMember(symbol) { const links = getSymbolLinks(symbol); @@ -53764,8 +54718,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function cloneTypeReference(source) { - const type = createType(source.flags); - type.symbol = source.symbol; + const type = createTypeWithSymbol(source.flags, source.symbol); type.objectFlags = source.objectFlags; type.target = source.target; type.resolvedTypeArguments = source.resolvedTypeArguments; @@ -54719,7 +55672,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { orderedRemoveItemAt(typeSet, missingIndex); } } - if (includes & (2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { + if (includes & (32 /* Enum */ | 2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & 2 /* Subtype */)); } if (includes & 128 /* StringLiteral */ && includes & 134217728 /* TemplateLiteral */) { @@ -55310,8 +56263,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return result; } function createStringMappingType(symbol, type) { - const result = createType(268435456 /* StringMapping */); - result.symbol = symbol; + const result = createTypeWithSymbol(268435456 /* StringMapping */, symbol); result.type = type; return result; } @@ -56125,14 +57077,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return info.isReadonly !== readonly ? createIndexInfo(info.keyType, info.type, readonly, info.declaration) : info; } function createLiteralType(flags, value, symbol, regularType) { - const type = createType(flags); - type.symbol = symbol; + const type = createTypeWithSymbol(flags, symbol); type.value = value; type.regularType = regularType || type; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 2944 /* Literal */) { + if (type.flags & 2976 /* Freshable */) { if (!type.freshType) { const freshType = createLiteralType(type.flags, type.value, type.symbol, type); freshType.freshType = freshType; @@ -56143,10 +57094,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 2944 /* Literal */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; + return type.flags & 2976 /* Freshable */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; } function isFreshLiteralType(type) { - return !!(type.flags & 2944 /* Literal */) && type.freshType === type; + return !!(type.flags & 2976 /* Freshable */) && type.freshType === type; } function getStringLiteralType(value) { let type; @@ -56179,8 +57130,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.resolvedType; } function createUniqueESSymbolType(symbol) { - const type = createType(8192 /* UniqueESSymbol */); - type.symbol = symbol; + const type = createTypeWithSymbol(8192 /* UniqueESSymbol */, symbol); type.escapedName = `__@${type.symbol.escapedName}@${getSymbolId(type.symbol)}`; return type; } @@ -57261,7 +58211,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return compareSignaturesRelated( source, target, - ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0, + ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0 /* None */, false, void 0, void 0, @@ -57443,7 +58393,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { errorReporter( Diagnostics.Property_0_is_missing_in_type_1, symbolName(property), - typeToString(getDeclaredTypeOfSymbol(targetSymbol), void 0, 64 /* UseFullyQualifiedType */) + typeToString( + getDeclaredTypeOfSymbol(targetSymbol), + void 0, + 64 /* UseFullyQualifiedType */ + ) ); enumRelation.set(id, 2 /* Failed */ | 4 /* Reported */); } else { @@ -57477,13 +58431,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; if (s & 12288 /* ESSymbolLike */ && t & 4096 /* ESSymbol */) return true; - if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; + } if (s & 1024 /* EnumLiteral */ && t & 1024 /* EnumLiteral */) { - if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; - if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) + } + if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) { return true; + } } if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */))) return true; @@ -59819,7 +60776,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type.flags & 16 /* Boolean */ ? true : type.flags & 1048576 /* Union */ ? type.flags & 1024 /* EnumLiteral */ ? true : every(type.types, isUnitType) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; + return type.flags & 1056 /* EnumLike */ ? getBaseTypeOfEnumLikeType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; } function getBaseTypeOfLiteralTypeUnion(type) { var _a2; @@ -59827,7 +60784,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return (_a2 = getCachedType(key)) != null ? _a2 : setCachedType(key, mapType(type, getBaseTypeOfLiteralType)); } function getWidenedLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; + return type.flags & 1056 /* EnumLike */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLikeType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; } function getWidenedUniqueESSymbolType(type) { return type.flags & 8192 /* UniqueESSymbol */ ? esSymbolType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedUniqueESSymbolType) : type; @@ -61766,7 +62723,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return true; } - if (source.flags & 1024 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 1056 /* EnumLike */ && getBaseTypeOfEnumLikeType(source) === target) { return true; } return containsType(target.types, source); @@ -70328,7 +71285,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function checkExpressionCached(node, checkMode) { - if (checkMode && checkMode !== 0 /* Normal */) { + if (checkMode) { return checkExpression(node, checkMode); } const links = getNodeLinks(node); @@ -75173,13 +76130,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { nodeLinks2.flags |= 16384 /* EnumValuesComputed */; let autoValue = 0; for (const member of node.members) { - const value = computeMemberValue(member, autoValue); - getNodeLinks(member).enumMemberValue = value; - autoValue = typeof value === "number" ? value + 1 : void 0; + const result = computeEnumMemberValue(member, autoValue); + getNodeLinks(member).enumMemberValue = result; + autoValue = typeof result.value === "number" ? result.value + 1 : void 0; } } } - function computeMemberValue(member, autoValue) { + function computeEnumMemberValue(member, autoValue) { if (isComputedNonLiteralName(member.name)) { error(member.name, Diagnostics.Computed_property_names_are_not_allowed_in_enums); } else { @@ -75189,29 +76146,33 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (member.initializer) { - return computeConstantValue(member); + return computeConstantEnumMemberValue(member); } if (member.parent.flags & 16777216 /* Ambient */ && !isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { - return void 0; + return evaluatorResult(void 0); } - if (autoValue !== void 0) { - return autoValue; + if (autoValue === void 0) { + error(member.name, Diagnostics.Enum_member_must_have_initializer); + return evaluatorResult(void 0); } - error(member.name, Diagnostics.Enum_member_must_have_initializer); - return void 0; + return evaluatorResult(autoValue); } - function computeConstantValue(member) { + function computeConstantEnumMemberValue(member) { const enumKind = getEnumKind(getSymbolOfNode(member.parent)); const isConstEnum = isEnumConst(member.parent); const initializer = member.initializer; - const value = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? void 0 : evaluate(initializer); - if (value !== void 0) { - if (isConstEnum && typeof value === "number" && !isFinite(value)) { - error(initializer, isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value); + const result = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? evaluatorResult(void 0) : evaluate(initializer, member); + if (result.value !== void 0) { + if (isConstEnum && typeof result.value === "number" && !isFinite(result.value)) { + error( + initializer, + isNaN(result.value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value + ); } } else if (enumKind === 1 /* Literal */) { + const result2 = evaluate(initializer, member); error(initializer, Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members); - return 0; + return evaluatorResult(0, result2.isSyntacticallyString, result2.resolvedOtherFiles, result2.hasExternalReferences); } else if (isConstEnum) { error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); } else if (member.parent.flags & 16777216 /* Ambient */) { @@ -75224,103 +76185,149 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { checkTypeAssignableTo(source, getDeclaredTypeOfSymbol(getSymbolOfNode(member.parent)), initializer, void 0); } } - return value; - function evaluate(expr) { + return result; + function evaluate(expr, location) { + let isSyntacticallyString = false; + let resolvedOtherFiles = false; + let hasExternalReferences = false; + expr = skipParentheses(expr); switch (expr.kind) { case 225 /* PrefixUnaryExpression */: - const value2 = evaluate(expr.operand); - if (typeof value2 === "number") { + const result2 = evaluate(expr.operand, location); + resolvedOtherFiles = result2.resolvedOtherFiles; + hasExternalReferences = result2.hasExternalReferences; + if (typeof result2.value === "number") { switch (expr.operator) { case 39 /* PlusToken */: - return value2; + return evaluatorResult(result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return -value2; + return evaluatorResult(-result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 54 /* TildeToken */: - return ~value2; + return evaluatorResult(~result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } } break; - case 227 /* BinaryExpression */: - const left = evaluate(expr.left); - const right = evaluate(expr.right); - if (typeof left === "number" && typeof right === "number") { + case 227 /* BinaryExpression */: { + const left = evaluate(expr.left, location); + const right = evaluate(expr.right, location); + isSyntacticallyString = (left.isSyntacticallyString || right.isSyntacticallyString) && expr.operatorToken.kind === 39 /* PlusToken */; + resolvedOtherFiles = left.resolvedOtherFiles || right.resolvedOtherFiles; + hasExternalReferences = left.hasExternalReferences || right.hasExternalReferences; + if (typeof left.value === "number" && typeof right.value === "number") { switch (expr.operatorToken.kind) { case 51 /* BarToken */: - return left | right; + return evaluatorResult(left.value | right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 50 /* AmpersandToken */: - return left & right; + return evaluatorResult(left.value & right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 48 /* GreaterThanGreaterThanToken */: - return left >> right; + return evaluatorResult(left.value >> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 49 /* GreaterThanGreaterThanGreaterThanToken */: - return left >>> right; + return evaluatorResult(left.value >>> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 47 /* LessThanLessThanToken */: - return left << right; + return evaluatorResult(left.value << right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 52 /* CaretToken */: - return left ^ right; + return evaluatorResult(left.value ^ right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 41 /* AsteriskToken */: - return left * right; + return evaluatorResult(left.value * right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 43 /* SlashToken */: - return left / right; + return evaluatorResult(left.value / right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 39 /* PlusToken */: - return left + right; + return evaluatorResult(left.value + right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return left - right; + return evaluatorResult(left.value - right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 44 /* PercentToken */: - return left % right; + return evaluatorResult(left.value % right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 42 /* AsteriskAsteriskToken */: - return left ** right; + return evaluatorResult(left.value ** right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } - } else if (typeof left === "string" && typeof right === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { - return left + right; + } else if (typeof left.value === "string" && typeof right.value === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { + return evaluatorResult( + "" + left.value + right.value, + isSyntacticallyString, + resolvedOtherFiles, + hasExternalReferences + ); } break; + } case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - return expr.text; + return evaluatorResult(expr.text, true); case 8 /* NumericLiteral */: - checkGrammarNumericLiteral(expr); - return +expr.text; - case 217 /* ParenthesizedExpression */: - return evaluate(expr.expression); + return evaluatorResult(+expr.text); case 79 /* Identifier */: - const identifier = expr; - if (isInfinityOrNaNString(identifier.escapedText)) { - return +identifier.escapedText; - } - return nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 212 /* ElementAccessExpression */: + return evaluateEntityNameExpression(expr, location); case 211 /* PropertyAccessExpression */: - if (isConstantMemberAccess(expr)) { - const type = getTypeOfExpression(expr.expression); - if (type.symbol && type.symbol.flags & 384 /* Enum */) { - let name; - if (expr.kind === 211 /* PropertyAccessExpression */) { - name = expr.name.escapedText; - } else { - name = escapeLeadingUnderscores(cast(expr.argumentExpression, isLiteralExpression).text); - } - return evaluateEnumMember(expr, type.symbol, name); - } + if (isEntityNameExpression(expr)) { + return evaluateEntityNameExpression(expr, location); } break; + case 212 /* ElementAccessExpression */: + return evaluateElementAccessExpression(expr, location); } - return void 0; + return evaluatorResult(void 0, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } - function evaluateEnumMember(expr, enumSymbol, name) { - const memberSymbol = enumSymbol.exports.get(name); - if (memberSymbol) { - const declaration = memberSymbol.valueDeclaration; - if (declaration !== member) { - if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member) && isEnumDeclaration(declaration.parent)) { - return getEnumMemberValue(declaration); + function evaluateEntityNameExpression(expr, location) { + const symbol = resolveEntityName(expr, 111551 /* Value */, true); + if (!symbol) { + return evaluatorResult(void 0); + } + if (expr.kind === 79 /* Identifier */) { + const identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText) && symbol === getGlobalSymbol(identifier.escapedText, 111551 /* Value */, void 0)) { + return evaluatorResult(+identifier.escapedText, false); + } + } + if (symbol.flags & 8 /* EnumMember */) { + return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration); + } + if (isConstVariable(symbol)) { + const declaration = symbol.valueDeclaration; + if (declaration && isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && (!location || declaration !== location && isBlockScopedNameDeclaredBeforeUse(declaration, location))) { + const result2 = evaluate(declaration.initializer, declaration); + if (location && getSourceFileOfNode(location) !== getSourceFileOfNode(declaration)) { + return evaluatorResult( + result2.value, + false, + true, + true + ); } - error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); - return 0; - } else { - error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(memberSymbol)); + return evaluatorResult(result2.value, result2.isSyntacticallyString, result2.resolvedOtherFiles, true); } } - return void 0; + return evaluatorResult(void 0); + } + function evaluateElementAccessExpression(expr, location) { + const root = expr.expression; + if (isEntityNameExpression(root) && isStringLiteralLike(expr.argumentExpression)) { + const rootSymbol = resolveEntityName(root, 111551 /* Value */, true); + if (rootSymbol && rootSymbol.flags & 384 /* Enum */) { + const name = escapeLeadingUnderscores(expr.argumentExpression.text); + const member2 = rootSymbol.exports.get(name); + if (member2) { + Debug.assert(getSourceFileOfNode(member2.valueDeclaration) === getSourceFileOfNode(rootSymbol.valueDeclaration)); + return location ? evaluateEnumMember(expr, member2, location) : getEnumMemberValue(member2.valueDeclaration); + } + } + } + return evaluatorResult(void 0); + } + function evaluateEnumMember(expr, symbol, location) { + const declaration = symbol.valueDeclaration; + if (!declaration || declaration === location) { + error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(symbol)); + return evaluatorResult(void 0); + } + if (!isBlockScopedNameDeclaredBeforeUse(declaration, location)) { + error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); + return evaluatorResult(0); + } + const value = getEnumMemberValue(declaration); + if (location.parent !== declaration.parent) { + return evaluatorResult(value.value, value.isSyntacticallyString, value.resolvedOtherFiles, true); + } + return value; } } function isConstantMemberAccess(node) { @@ -75374,6 +76381,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (isPrivateIdentifier(node.name)) { error(node, Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier); } + if (node.initializer) { + checkExpression(node.initializer); + } } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { const declarations = symbol.declarations; @@ -77278,15 +78288,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { - const declaration = getParseTreeNode(node, isFunctionDeclaration); + const declaration = getParseTreeNode( + node, + (n) => isFunctionDeclaration(n) || isVariableDeclaration(n) + ); if (!declaration) { return false; } - const symbol = getSymbolOfNode(declaration); - if (!symbol || !(symbol.flags & 16 /* Function */)) { + let symbol; + if (isVariableDeclaration(declaration)) { + if (declaration.type || !isInJSFile(declaration) && !isVarConst(declaration)) { + return false; + } + const initializer = getDeclaredExpandoInitializer(declaration); + if (!initializer || !canHaveSymbol(initializer)) { + return false; + } + symbol = getSymbolOfNode(initializer); + } else { + symbol = getSymbolOfNode(declaration); + } + if (!symbol || !(symbol.flags & 16 /* Function */ | 3 /* Variable */)) { return false; } - return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && p.valueDeclaration && isPropertyAccessExpression(p.valueDeclaration)); + return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && isExpandoPropertyDeclaration(p.valueDeclaration)); } function getPropertiesOfContainerFunction(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -77304,8 +78329,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return ((_a2 = nodeLinks[nodeId]) == null ? void 0 : _a2.flags) || 0; } function getEnumMemberValue(node) { + var _a2; computeEnumMemberValues(node.parent); - return getNodeLinks(node).enumMemberValue; + return (_a2 = getNodeLinks(node).enumMemberValue) != null ? _a2 : evaluatorResult(void 0); } function canHaveConstantValue(node) { switch (node.kind) { @@ -77318,13 +78344,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function getConstantValue2(node) { if (node.kind === 308 /* EnumMember */) { - return getEnumMemberValue(node); + return getEnumMemberValue(node).value; } const symbol = getNodeLinks(node).resolvedSymbol; if (symbol && symbol.flags & 8 /* EnumMember */) { const member = symbol.valueDeclaration; if (isEnumConst(member.parent)) { - return getEnumMemberValue(member); + return getEnumMemberValue(member).value; } } return void 0; @@ -77391,20 +78417,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return 11 /* ObjectType */; } } - function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker) { const declaration = getParseTreeNode(declarationIn, isVariableLikeOrAccessor); if (!declaration) { return factory.createToken(132 /* AnyKeyword */); } const symbol = getSymbolOfNode(declaration); - let type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol) { - flags |= 1048576 /* AllowUniqueESSymbolType */; - } - if (addUndefined) { - type = getOptionalType(type); - } - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + const type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; + return nodeBuilder.serializeTypeForDeclaration( + declaration, + type, + symbol, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); + } + function isDeclarationWithPossibleInnerTypeNodeReuse(declaration) { + return isFunctionLike(declaration) || isExportAssignment(declaration) || isVariableLike(declaration); } function getAllAccessorDeclarationsForDeclaration(accessor) { accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); @@ -77421,13 +78451,39 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getAccessor }; } + function getPossibleTypeNodeReuseExpression(declaration) { + return isFunctionLike(declaration) && !isSetAccessor(declaration) ? getSingleReturnExpression(declaration) : isExportAssignment(declaration) ? declaration.expression : !!declaration.initializer ? declaration.initializer : isParameter(declaration) && isSetAccessor(declaration.parent) ? getSingleReturnExpression(getAllAccessorDeclarationsForDeclaration(declaration.parent).getAccessor) : void 0; + } + function getSingleReturnExpression(declaration) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + return candidateExpr; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { return factory.createToken(132 /* AnyKeyword */); } - const signature = getSignatureFromDeclaration(signatureDeclaration); - return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.serializeReturnTypeForSignature( + getSignatureFromDeclaration(signatureDeclaration), + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { const expr = getParseTreeNode(exprIn, isExpression); @@ -77435,7 +78491,14 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createToken(132 /* AnyKeyword */); } const type = getWidenedType(getRegularTypeOfExpression(expr)); - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.expressionOrTypeToTypeNode( + expr, + type, + void 0, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function hasGlobalName(name) { return globals.has(escapeLeadingUnderscores(name)); @@ -77488,8 +78551,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function isNonNarrowedBindableName(node) { + if (!hasBindableName(node.parent)) { + return false; + } + const expression = node.expression; + if (!isEntityNameExpression(expression)) { + return true; + } + const type = getTypeOfExpression(expression); + const symbol = getSymbolAtLocation(expression); + if (!symbol) { + return false; + } + const declaredType = getTypeOfSymbol(symbol); + return declaredType === type; + } function literalTypeToNode(type, enclosing, tracker) { - const enumResult = type.flags & 1024 /* EnumLiteral */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); + const enumResult = type.flags & 1056 /* EnumLike */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); if (enumResult) return enumResult; const literalValue = type.value; @@ -77534,6 +78613,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return void 0; } + function getNonlocalEffectiveReturnTypeAnnotationNode(node) { + const direct = getEffectiveReturnTypeNode(node); + if (direct) { + return direct; + } + if (node.kind === 177 /* GetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node).setAccessor; + if (other) { + const param = getSetAccessorValueParameter(other); + if (param) { + return getEffectiveTypeAnnotationNode(param); + } + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -77629,6 +78724,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const node = getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue2(node) : void 0; }, + getEnumMemberValue: (nodeIn) => { + const node = getParseTreeNode(nodeIn, isEnumMember); + return node ? getEnumMemberValue(node) : void 0; + }, collectLinkedAliases, getReferencedValueDeclaration, getTypeReferenceSerializationKind, @@ -77642,6 +78741,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration, + isNonNarrowedBindableName, isLateBound: (nodeIn) => { const node = getParseTreeNode(nodeIn, isDeclaration); const symbol = node && getSymbolOfNode(node); @@ -77670,14 +78770,15 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const parseDecl = getParseTreeNode(decl); return !!parseNode && !!parseDecl && (isVariableDeclaration(parseDecl) || isBindingElement(parseDecl)) && isBindingCapturedByNode(parseNode, parseDecl); }, - getDeclarationStatementsForSourceFile: (node, flags, tracker, bundled) => { + getDeclarationStatementsForSourceFile: (node, flags, tracker) => { const n = getParseTreeNode(node); Debug.assert(n && n.kind === 314 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); const sym = getSymbolOfNode(node); if (!sym) { - return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); + return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker); } - return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled); + resolveExternalModuleSymbol(sym); + return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker); }, isImportRequiredByAugmentation, getAnnotationObjectLiteralEvaluatedProps: (node) => { @@ -79071,7 +80172,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function isSimpleLiteralEnumReference(expr) { if ((isPropertyAccessExpression(expr) || isElementAccessExpression(expr) && isStringOrNumberLiteralExpression(expr.argumentExpression)) && isEntityNameExpression(expr.expression)) { - return !!(checkExpressionCached(expr).flags & 1024 /* EnumLiteral */); + return !!(checkExpressionCached(expr).flags & 1056 /* EnumLike */); } } function checkAmbientInitializer(node) { @@ -79505,6 +80606,138 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return void 0; } } +function createBasicNodeBuilderModuleSpecifierResolutionHost(host) { + return { + getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", + getCurrentDirectory: () => host.getCurrentDirectory(), + getSymlinkCache: maybeBind(host, host.getSymlinkCache), + getPackageJsonInfoCache: () => { + var _a2; + return (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host); + }, + useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), + redirectTargetsMap: host.redirectTargetsMap, + getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), + isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), + fileExists: (fileName) => host.fileExists(fileName), + getFileIncludeReasons: () => host.getFileIncludeReasons(), + readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 + }; +} +var SymbolTrackerImpl = class { + constructor(context, tracker, moduleResolverHost) { + this.moduleResolverHost = void 0; + this.inner = void 0; + this.disableTrackSymbol = false; + var _a2; + while (tracker instanceof SymbolTrackerImpl) { + tracker = tracker.inner; + } + this.inner = tracker; + this.moduleResolverHost = moduleResolverHost; + this.context = context; + this.canTrackSymbol = !!((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol); + } + trackSymbol(symbol, enclosingDeclaration, meaning) { + var _a2, _b, _c; + if (((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol) && !this.disableTrackSymbol) { + if (this.inner.trackSymbol(symbol, enclosingDeclaration, meaning)) { + this.onDiagnosticReported(); + return true; + } + if (!(symbol.flags & 262144 /* TypeParameter */)) { + ((_c = (_b = this.context).trackedSymbols) != null ? _c : _b.trackedSymbols = []).push([symbol, enclosingDeclaration, meaning]); + } + } + return false; + } + trackReferencedAmbientModule(decl, symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackReferencedAmbientModule) { + this.onDiagnosticReported(); + this.inner.trackReferencedAmbientModule(decl, symbol); + } + } + trackExternalModuleSymbolOfImportTypeNode(symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackExternalModuleSymbolOfImportTypeNode) { + this.onDiagnosticReported(); + this.inner.trackExternalModuleSymbolOfImportTypeNode(symbol); + } + } + reportInaccessibleThisError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleThisError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleThisError(); + } + } + reportPrivateInBaseOfClassExpression(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportPrivateInBaseOfClassExpression) { + this.onDiagnosticReported(); + this.inner.reportPrivateInBaseOfClassExpression(propertyName); + } + } + reportInaccessibleUniqueSymbolError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleUniqueSymbolError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleUniqueSymbolError(); + } + } + reportCyclicStructureError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportCyclicStructureError) { + this.onDiagnosticReported(); + this.inner.reportCyclicStructureError(); + } + } + reportLikelyUnsafeImportRequiredError(specifier) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportLikelyUnsafeImportRequiredError) { + this.onDiagnosticReported(); + this.inner.reportLikelyUnsafeImportRequiredError(specifier); + } + } + reportTruncationError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportTruncationError) { + this.onDiagnosticReported(); + this.inner.reportTruncationError(); + } + } + reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonlocalAugmentation) { + this.onDiagnosticReported(); + this.inner.reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol); + } + } + reportNonSerializableProperty(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonSerializableProperty) { + this.onDiagnosticReported(); + this.inner.reportNonSerializableProperty(propertyName); + } + } + reportImportTypeNodeResolutionModeOverride() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportImportTypeNodeResolutionModeOverride) { + this.onDiagnosticReported(); + this.inner.reportImportTypeNodeResolutionModeOverride(); + } + } + onDiagnosticReported() { + this.context.reportedDiagnostic = true; + } + reportInferenceFallback(node) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInferenceFallback) { + this.inner.reportInferenceFallback(node); + } + } +}; function isNotAccessor(declaration) { return !isAccessor(declaration); } @@ -79778,7 +81011,7 @@ function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) { } return updated; } -function visitEachChild(node, visitor, context, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { +function visitEachChild(node, visitor, context = nullTransformationContext, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { if (node === void 0) { return void 0; } @@ -97034,7 +98267,7 @@ function isInternalDeclaration(node, currentSourceFile) { return hasInternalAnnotation(range, currentSourceFile); }); } -var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; +var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 1 /* AllowUnresolvedComputedNames */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; function transformDeclarations(context) { const throwDiagnostic = () => Debug.fail("Diagnostic emitted without context"); let getSymbolAccessibilityDiagnostic = throwDiagnostic; @@ -97064,7 +98297,8 @@ function transformDeclarations(context) { trackExternalModuleSymbolOfImportTypeNode, reportNonlocalAugmentation, reportNonSerializableProperty, - reportImportTypeNodeResolutionModeOverride + reportImportTypeNodeResolutionModeOverride, + reportInferenceFallback }; let errorNameNode; let errorFallbackNode; @@ -97074,8 +98308,30 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); + const getIsolatedDeclarationError = createGetIsolatedDeclarationErrors(resolver); const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; + function reportExpandoFunctionErrors(node) { + resolver.getPropertiesOfContainerFunction(node).forEach((p) => { + if (isExpandoPropertyDeclaration(p.valueDeclaration)) { + const errorTarget = isBinaryExpression(p.valueDeclaration) ? p.valueDeclaration.left : p.valueDeclaration; + context.addDiagnostic(createDiagnosticForNode( + errorTarget, + Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function + )); + } + }); + } + function reportInferenceFallback(node) { + if (!isolatedDeclarations || isSourceFileJS(currentSourceFile)) { + return; + } + if (isVariableDeclaration(node) && resolver.isExpandoFunctionDeclaration(node)) { + reportExpandoFunctionErrors(node); + } else { + context.addDiagnostic(getIsolatedDeclarationError(node)); + } + } function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { return; @@ -97426,7 +98682,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, void 0, elem.propertyName, - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } return factory2.updateBindingElement( @@ -97434,7 +98690,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } } @@ -97459,11 +98715,15 @@ function transformDeclarations(context) { return newParam; } function shouldPrintWithInitializer(node) { - return canHaveLiteralInitializer(node) && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); + return canHaveLiteralInitializer(node) && !!node.initializer && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); } function ensureNoInitializer(node) { if (shouldPrintWithInitializer(node)) { - return resolver.createLiteralConstValue(getParseTreeNode(node), symbolTracker); + const unwrappedInitializer = unwrapParenthesizedExpression(node.initializer); + if (!isPrimitiveLiteralValue(unwrappedInitializer)) { + reportInferenceFallback(node); + } + return resolver.createLiteralConstValue(getParseTreeNode(node, canHaveLiteralInitializer), symbolTracker); } return void 0; } @@ -97498,8 +98758,8 @@ function transformDeclarations(context) { } if (node.kind === 168 /* Parameter */ || node.kind === 171 /* PropertyDeclaration */ || node.kind === 170 /* PropertySignature */ || node.kind === 172 /* AnnotationPropertyDeclaration */) { if (isPropertySignature(node) || !node.initializer) - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } return cleanup(resolver.createReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); function cleanup(returnValue) { @@ -97764,6 +99024,14 @@ function transformDeclarations(context) { if (isDeclarationAndNotVisible(input)) return; if (hasDynamicName(input) && !resolver.isLateBound(getParseTreeNode(input))) { + if (isolatedDeclarations && isClassDeclaration(input.parent) && isEntityNameExpression(input.name.expression) && resolver.isEntityNameVisible(input.name.expression, input.parent).accessibility === 0 /* Accessible */ && !resolver.isNonNarrowedBindableName(input.name)) { + context.addDiagnostic( + createDiagnosticForNode( + input, + Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations + ) + ); + } return; } } @@ -98132,6 +99400,9 @@ function transformDeclarations(context) { } if (clean2 && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { const props = resolver.getPropertiesOfContainerFunction(input); + if (isolatedDeclarations) { + reportExpandoFunctionErrors(input); + } const fakespace = parseNodeFactory.createModuleDeclaration(void 0, clean2.name || factory2.createIdentifier("_default"), factory2.createModuleBlock([]), 16 /* Namespace */); setParent(fakespace, enclosingDeclaration); fakespace.locals = createSymbolTable(props); @@ -98142,7 +99413,12 @@ function transformDeclarations(context) { return void 0; } getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(p.valueDeclaration); - const type = resolver.createTypeOfDeclaration(p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags, symbolTracker); + const type = resolver.createTypeOfDeclaration( + p.valueDeclaration, + fakespace, + declarationEmitNodeBuilderFlags | -2147483648 /* NoSyntacticPrinter */, + symbolTracker + ); getSymbolAccessibilityDiagnostic = oldDiag; const nameStr = unescapeLeadingUnderscores(p.escapedName); const isNonContextualKeywordName = isStringANonContextualKeyword(nameStr); @@ -98387,12 +99663,26 @@ function transformDeclarations(context) { return cleanup(transformVariableStatement(input)); } case 269 /* EnumDeclaration */: { - return cleanup(factory2.updateEnumDeclaration(input, factory2.createNodeArray(ensureModifiers(input)), input.name, factory2.createNodeArray(mapDefined(input.members, (m) => { - if (shouldStripInternal(m)) - return; - const constValue = resolver.getConstantValue(m); - return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); - })))); + return cleanup(factory2.updateEnumDeclaration( + input, + factory2.createNodeArray(ensureModifiers(input)), + input.name, + factory2.createNodeArray(mapDefined(input.members, (m) => { + if (shouldStripInternal(m)) + return; + const enumValue = resolver.getEnumMemberValue(m); + const constValue = enumValue == null ? void 0 : enumValue.value; + if (isolatedDeclarations && m.initializer && (enumValue == null ? void 0 : enumValue.hasExternalReferences) && !isComputedPropertyName(m.name)) { + context.addDiagnostic( + createDiagnosticForNode( + m, + Diagnostics.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations + ) + ); + } + return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); + })) + )); } } function cleanup(node) { @@ -98445,7 +99735,7 @@ function transformDeclarations(context) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = node.name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node))); + Debug.assert(hasDynamicName(node)); const decl = node; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); @@ -99388,7 +100678,7 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla const sourceFiles = isSourceFile(sourceFileOrBundle) ? [sourceFileOrBundle] : sourceFileOrBundle.sourceFiles; const filesForEmit = forceDtsEmit ? sourceFiles : filter(sourceFiles, isSourceFileNotJson); const inputListOrBundle = outFile(compilerOptions) ? [factory.createBundle(filesForEmit, !isSourceFile(sourceFileOrBundle) ? sourceFileOrBundle.prepends : void 0)] : filesForEmit; - if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions)) { + if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions) || compilerOptions.noCheck) { filesForEmit.forEach(collectLinkedAliases); } PerformanceDotting.start("transformNodes"); @@ -99597,6 +100887,7 @@ var notImplementedResolver = { isSymbolAccessible: notImplemented, isEntityNameVisible: notImplemented, getConstantValue: notImplemented, + getEnumMemberValue: notImplemented, getReferencedValueDeclaration: notImplemented, getTypeReferenceSerializationKind: notImplemented, isOptionalParameter: notImplemented, @@ -99606,6 +100897,7 @@ var notImplementedResolver = { getTypeReferenceDirectivesForEntityName: notImplemented, getTypeReferenceDirectivesForSymbol: notImplemented, isLiteralConstDeclaration: notImplemented, + isNonNarrowedBindableName: notImplemented, getJsxFactoryEntity: notImplemented, getJsxFragmentFactoryEntity: notImplemented, getAllAccessorDeclarations: notImplemented, @@ -107318,6 +108610,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit"); } } + if (options.noCheck) { + if (options.noEmit) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); + } + if (!options.emitDeclarationOnly) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "noCheck", "emitDeclarationOnly"); + } + } if (options.emitDecoratorMetadata && !options.experimentalDecorators) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"); } diff --git a/lib/tsserver.js b/lib/tsserver.js index 8239d434bc..0d440e14bf 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -266,6 +266,7 @@ __export(server_exports, { canHaveIllegalType: () => canHaveIllegalType, canHaveIllegalTypeParameters: () => canHaveIllegalTypeParameters, canHaveModifiers: () => canHaveModifiers, + canHaveSymbol: () => canHaveSymbol, canJsonReportNoInputFiles: () => canJsonReportNoInputFiles, canProduceDiagnostics: () => canProduceDiagnostics, canWatchDirectoryOrFile: () => canWatchDirectoryOrFile, @@ -640,6 +641,7 @@ __export(server_exports, { createSwitch: () => createSwitch, createSymbolTable: () => createSymbolTable, createSymlinkCache: () => createSymlinkCache, + createSyntacticTypeNodeBuilder: () => createSyntacticTypeNodeBuilder, createSystemWatchFunctions: () => createSystemWatchFunctions, createTaggedTemplate: () => createTaggedTemplate, createTempVariable: () => createTempVariable, @@ -749,6 +751,7 @@ __export(server_exports, { escapeNonAsciiString: () => escapeNonAsciiString, escapeSnippetText: () => escapeSnippetText, escapeString: () => escapeString, + evaluatorResult: () => evaluatorResult, every: () => every, expandPreOrPostfixIncrementOrDecrementExpression: () => expandPreOrPostfixIncrementOrDecrementExpression, explainFiles: () => explainFiles, @@ -1315,6 +1318,7 @@ __export(server_exports, { hasExtension: () => hasExtension, hasIllegalDecorators: () => hasIllegalDecorators, hasIndexSignature: () => hasIndexSignature, + hasInferredType: () => hasInferredType, hasInitializer: () => hasInitializer, hasInvalidEscape: () => hasInvalidEscape, hasJSDocNodes: () => hasJSDocNodes, @@ -1533,6 +1537,7 @@ __export(server_exports, { isExclamationToken: () => isExclamationToken, isExcludedFile: () => isExcludedFile, isExclusivelyTypeOnlyImportOrExport: () => isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration: () => isExpandoPropertyDeclaration, isExportAssignment: () => isExportAssignment, isExportDeclaration: () => isExportDeclaration, isExportModifier: () => isExportModifier, @@ -1849,6 +1854,7 @@ __export(server_exports, { isPossiblyTypeArgumentPosition: () => isPossiblyTypeArgumentPosition, isPostfixUnaryExpression: () => isPostfixUnaryExpression, isPrefixUnaryExpression: () => isPrefixUnaryExpression, + isPrimitiveLiteralValue: () => isPrimitiveLiteralValue, isPrivateIdentifier: () => isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration: () => isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression: () => isPrivateIdentifierPropertyAccessExpression, @@ -2414,6 +2420,7 @@ __export(server_exports, { transformTypeExportImportAndConstEnumInTypeScript: () => transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript: () => transformTypeScript, transpile: () => transpile, + transpileDeclaration: () => transpileDeclaration, transpileModule: () => transpileModule, transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions, trimString: () => trimString, @@ -2463,6 +2470,7 @@ __export(server_exports, { unreachableCodeIsError: () => unreachableCodeIsError, unusedLabelIsError: () => unusedLabelIsError, unwrapInnermostStatementOfLabel: () => unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression: () => unwrapParenthesizedExpression, updateArrayBindingPattern: () => updateArrayBindingPattern, updateArrayLiteral: () => updateArrayLiteral, updateArrayTypeNode: () => updateArrayTypeNode, @@ -5451,6 +5459,418 @@ ${lanes.join("\n")} Debug2.formatControlFlowGraph = formatControlFlowGraph; })(Debug || (Debug = {})); +// src/compiler/expressionToTypeNode.ts +function createSyntacticTypeNodeBuilder(options, resolver) { + const strictNullChecks = getStrictOptionValue(options, "strictNullChecks"); + return { + typeFromExpression, + serializeTypeOfDeclaration, + serializeReturnTypeForSignature, + serializeTypeOfExpression + }; + function serializeExistingTypeAnnotation(type) { + return type === void 0 ? void 0 : !type.parent || !isParameter(type.parent) || !resolver.requiresAddingImplicitUndefined(type.parent) || canAddUndefined(type); + } + function serializeTypeOfExpression(expr, context, addUndefined, preserveLiterals) { + var _a2; + return (_a2 = typeFromExpression(expr, context, false, addUndefined, preserveLiterals)) != null ? _a2 : inferExpressionType(expr, context); + } + function serializeTypeOfDeclaration(node, context) { + switch (node.kind) { + case 170 /* PropertySignature */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)); + case 168 /* Parameter */: + return typeFromParameter(node, context); + case 261 /* VariableDeclaration */: + return typeFromVariable(node, context); + case 171 /* PropertyDeclaration */: + return typeFromProperty(node, context); + case 208 /* BindingElement */: + return inferTypeOfDeclaration(node, context); + case 280 /* ExportAssignment */: + return serializeTypeOfExpression(node.expression, context, void 0, true); + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)) || inferTypeOfDeclaration(node, context); + case 305 /* PropertyAssignment */: + return typeFromExpression(node.initializer, context) || inferTypeOfDeclaration(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function serializeReturnTypeForSignature(node, context) { + switch (node.kind) { + case 177 /* GetAccessor */: + return typeFromAccessor(node, context); + case 174 /* MethodDeclaration */: + case 263 /* FunctionDeclaration */: + case 180 /* ConstructSignature */: + case 173 /* MethodSignature */: + case 179 /* CallSignature */: + case 176 /* Constructor */: + case 178 /* SetAccessor */: + case 181 /* IndexSignature */: + case 184 /* FunctionType */: + case 185 /* ConstructorType */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 326 /* JSDocFunctionType */: + case 332 /* JSDocSignature */: + return createReturnFromSignature(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function getTypeAnnotationFromAccessor2(accessor) { + if (!accessor) + return void 0; + if (accessor.kind === 177 /* GetAccessor */) { + return getEffectiveReturnTypeNode(accessor); + } + if (accessor.parameters.length > 0) { + return getEffectiveTypeAnnotationNode(accessor.parameters[0]); + } + return void 0; + } + function getTypeAnnotationFromAllAccessorDeclarations(node, accessors) { + let accessorType = getTypeAnnotationFromAccessor2(node); + if (!accessorType && node !== accessors.firstAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.firstAccessor); + } + if (!accessorType && accessors.secondAccessor && node !== accessors.secondAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.secondAccessor); + } + return accessorType; + } + function typeFromAccessor(node, context) { + const accessorDeclarations = resolver.getAllAccessorDeclarations(node); + const accessorType = getTypeAnnotationFromAllAccessorDeclarations(node, accessorDeclarations); + if (accessorType) { + return serializeExistingTypeAnnotation(accessorType); + } + if (accessorDeclarations.getAccessor) { + return createReturnFromSignature(accessorDeclarations.getAccessor, context); + } + return false; + } + function typeFromVariable(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer && !resolver.isExpandoFunctionDeclaration(node)) { + resultType = typeFromExpression( + node.initializer, + context, + void 0, + void 0, + isVarConst(node) + ); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromParameter(node, context) { + const parent2 = node.parent; + if (parent2.kind === 178 /* SetAccessor */) { + return typeFromAccessor(parent2, context); + } + const declaredType = getEffectiveTypeAnnotationNode(node); + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + let resultType; + if (!addUndefined) { + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + if (node.initializer && isIdentifier(node.name)) { + resultType = typeFromExpression(node.initializer, context); + } + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromProperty(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer) { + const isReadonly = isDeclarationReadonly(node); + resultType = typeFromExpression(node.initializer, context, void 0, void 0, isReadonly); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function inferTypeOfDeclaration(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferExpressionType(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferReturnTypeOfSignatureSignature(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferAccessorType(node, context) { + if (node.kind === 177 /* GetAccessor */) { + return createReturnFromSignature(node, context); + } else { + context.tracker.reportInferenceFallback(node); + return false; + } + } + function typeFromTypeAssertion(expression, type, context, requiresAddingUndefined) { + if (isConstTypeReference(type)) { + return typeFromExpression(expression, context, true, requiresAddingUndefined); + } + if (requiresAddingUndefined && !canAddUndefined(type)) { + context.tracker.reportInferenceFallback(type); + } + return serializeExistingTypeAnnotation(type); + } + function typeFromExpression(node, context, isConstContext = false, requiresAddingUndefined = false, preserveLiterals = false) { + switch (node.kind) { + case 217 /* ParenthesizedExpression */: + if (isJSDocTypeAssertion(node)) { + return typeFromTypeAssertion(node.expression, getJSDocTypeAssertionType(node), context, requiresAddingUndefined); + } + return typeFromExpression(node.expression, context, isConstContext, requiresAddingUndefined); + case 79 /* Identifier */: + if (resolver.isUndefinedIdentifierExpression(node)) { + return true; + } + break; + case 105 /* NullKeyword */: + return true; + case 219 /* ArrowFunction */: + case 218 /* FunctionExpression */: + return typeFromFunctionLikeExpression(node, context); + case 216 /* TypeAssertionExpression */: + case 235 /* AsExpression */: + const asExpression = node; + return typeFromTypeAssertion(asExpression.expression, asExpression.type, context, requiresAddingUndefined); + case 225 /* PrefixUnaryExpression */: + const unaryExpression = node; + if (isPrimitiveLiteralValue(unaryExpression)) { + if (unaryExpression.operand.kind === 9 /* BigIntLiteral */) { + return typeFromPrimitiveLiteral(); + } + if (unaryExpression.operand.kind === 8 /* NumericLiteral */) { + return typeFromPrimitiveLiteral(); + } + } + break; + case 8 /* NumericLiteral */: + return typeFromPrimitiveLiteral(); + case 229 /* TemplateExpression */: + if (!isConstContext && !preserveLiterals) { + return true; + } + break; + case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* StringLiteral */: + return typeFromPrimitiveLiteral(); + case 9 /* BigIntLiteral */: + return typeFromPrimitiveLiteral(); + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + return typeFromPrimitiveLiteral(); + case 209 /* ArrayLiteralExpression */: + return typeFromArrayLiteral(node, context, isConstContext); + case 210 /* ObjectLiteralExpression */: + return typeFromObjectLiteral(node, context, isConstContext); + case 232 /* ClassExpression */: + return inferExpressionType(node, context); + } + return void 0; + } + function typeFromFunctionLikeExpression(fnNode, context) { + var _a2; + const returnType = (_a2 = serializeExistingTypeAnnotation(fnNode.type)) != null ? _a2 : createReturnFromSignature(fnNode, context); + const typeParameters = reuseTypeParameters(fnNode.typeParameters); + const parameters = fnNode.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext) { + if (!isConstContext) { + context.tracker.reportInferenceFallback(arrayLiteral); + return false; + } + for (const element of arrayLiteral.elements) { + if (element.kind === 231 /* SpreadElement */) { + context.tracker.reportInferenceFallback(element); + return false; + } + } + return true; + } + function typeFromArrayLiteral(arrayLiteral, context, isConstContext) { + var _a2; + if (!canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext)) { + return false; + } + let canInferArray = true; + for (const element of arrayLiteral.elements) { + Debug.assert(element.kind !== 231 /* SpreadElement */); + if (element.kind !== 233 /* OmittedExpression */) { + canInferArray = ((_a2 = typeFromExpression(element, context, isConstContext)) != null ? _a2 : inferExpressionType(element, context)) && canInferArray; + } + } + return true; + } + function canGetTypeFromObjectLiteral(objectLiteral, context) { + let result = true; + for (const prop of objectLiteral.properties) { + if (prop.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } + if (prop.kind === 306 /* ShorthandPropertyAssignment */ || prop.kind === 307 /* SpreadAssignment */) { + context.tracker.reportInferenceFallback(prop); + result = false; + } else if (prop.name.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } else if (prop.name.kind === 80 /* PrivateIdentifier */) { + result = false; + } else if (prop.name.kind === 166 /* ComputedPropertyName */) { + const expression = prop.name.expression; + if (!isPrimitiveLiteralValue(expression, false) && !isEntityNameExpression(expression)) { + context.tracker.reportInferenceFallback(prop.name); + result = false; + } + } + } + return result; + } + function typeFromObjectLiteral(objectLiteral, context, isConstContext) { + if (!canGetTypeFromObjectLiteral(objectLiteral, context)) { + return false; + } + let canInferObjectLiteral = true; + for (const prop of objectLiteral.properties) { + Debug.assert(!isShorthandPropertyAssignment(prop) && !isSpreadAssignment(prop)); + if (prop.name.kind === 166 /* ComputedPropertyName */) { + if (!resolver.isNonNarrowedBindableName(prop.name)) { + context.tracker.reportInferenceFallback(prop.name); + } else if (isEntityNameExpression(prop.name.expression)) { + const visibilityResult = resolver.isEntityNameVisible( + prop.name.expression, + context.enclosingDeclaration, + false + ); + if (visibilityResult.accessibility !== 0 /* Accessible */) { + context.tracker.reportInferenceFallback(prop.name); + } + } + } + switch (prop.kind) { + case 174 /* MethodDeclaration */: + canInferObjectLiteral = !!typeFromObjectLiteralMethod(prop, context) && canInferObjectLiteral; + break; + case 305 /* PropertyAssignment */: + canInferObjectLiteral = !!typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) && canInferObjectLiteral; + break; + case 178 /* SetAccessor */: + case 177 /* GetAccessor */: + canInferObjectLiteral = !!typeFromObjectLiteralAccessor(prop, context) && canInferObjectLiteral; + break; + } + } + return canInferObjectLiteral; + } + function typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) { + var _a2; + return (_a2 = typeFromExpression(prop.initializer, context, isConstContext)) != null ? _a2 : inferTypeOfDeclaration(prop, context); + } + function ensureParameter(p, context) { + return typeFromParameter(p, context); + } + function reuseTypeParameters(typeParameters) { + var _a2; + return (_a2 = typeParameters == null ? void 0 : typeParameters.every( + (tp) => serializeExistingTypeAnnotation(tp.constraint) && serializeExistingTypeAnnotation(tp.default) + )) != null ? _a2 : true; + } + function typeFromObjectLiteralMethod(method, context) { + const returnType = createReturnFromSignature(method, context); + const typeParameters = reuseTypeParameters(method.typeParameters); + const parameters = method.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function typeFromObjectLiteralAccessor(accessor, context) { + const allAccessors = resolver.getAllAccessorDeclarations(accessor); + const getAccessorType = allAccessors.getAccessor && getTypeAnnotationFromAccessor2(allAccessors.getAccessor); + const setAccessorType = allAccessors.setAccessor && getTypeAnnotationFromAccessor2(allAccessors.setAccessor); + if (getAccessorType !== void 0 && setAccessorType !== void 0) { + const parameters = accessor.parameters.every((p) => ensureParameter(p, context)); + if (isGetAccessor(accessor)) { + return parameters && serializeExistingTypeAnnotation(getAccessorType); + } else { + return parameters; + } + } else if (allAccessors.firstAccessor === accessor) { + const foundType = getAccessorType != null ? getAccessorType : setAccessorType; + const propertyType = foundType ? serializeExistingTypeAnnotation(foundType) : inferAccessorType(accessor, context); + return propertyType; + } + return false; + } + function typeFromPrimitiveLiteral() { + return true; + } + function canAddUndefined(node) { + if (!strictNullChecks) { + return true; + } + if (isKeyword(node.kind) || node.kind === 201 /* LiteralType */ || node.kind === 184 /* FunctionType */ || node.kind === 185 /* ConstructorType */ || node.kind === 188 /* ArrayType */ || node.kind === 189 /* TupleType */ || node.kind === 187 /* TypeLiteral */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 197 /* ThisType */) { + return true; + } + if (node.kind === 196 /* ParenthesizedType */) { + return canAddUndefined(node.type); + } + if (node.kind === 192 /* UnionType */ || node.kind === 193 /* IntersectionType */) { + return node.types.every(canAddUndefined); + } + return false; + } + function createReturnFromSignature(fn, context) { + let returnType; + const returnTypeNode = getEffectiveReturnTypeNode(fn); + if (returnTypeNode) { + returnType = serializeExistingTypeAnnotation(returnTypeNode); + } + if (!returnType && isValueSignatureDeclaration(fn)) { + returnType = typeFromSingleReturnExpression(fn, context); + } + return returnType != null ? returnType : inferReturnTypeOfSignatureSignature(fn, context); + } + function typeFromSingleReturnExpression(declaration, context) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + if (candidateExpr) { + return typeFromExpression(candidateExpr, context); + } + return void 0; + } +} + // src/compiler/semver.ts var versionRegExp = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i; var prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i; @@ -7042,8 +7462,10 @@ var NodeBuilderFlags = /* @__PURE__ */ ((NodeBuilderFlags2) => { NodeBuilderFlags2[NodeBuilderFlags2["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; NodeBuilderFlags2[NodeBuilderFlags2["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType"; NodeBuilderFlags2[NodeBuilderFlags2["WriteComputedProps"] = 1073741824] = "WriteComputedProps"; + NodeBuilderFlags2[NodeBuilderFlags2["NoSyntacticPrinter"] = -2147483648] = "NoSyntacticPrinter"; NodeBuilderFlags2[NodeBuilderFlags2["AllowNodeModulesRelativePaths"] = 67108864] = "AllowNodeModulesRelativePaths"; NodeBuilderFlags2[NodeBuilderFlags2["DoNotIncludeSymbolChain"] = 134217728] = "DoNotIncludeSymbolChain"; + NodeBuilderFlags2[NodeBuilderFlags2["AllowUnresolvedComputedNames"] = 1] = "AllowUnresolvedComputedNames"; NodeBuilderFlags2[NodeBuilderFlags2["IgnoreErrors"] = 70221824] = "IgnoreErrors"; NodeBuilderFlags2[NodeBuilderFlags2["InObjectTypeLiteral"] = 4194304] = "InObjectTypeLiteral"; NodeBuilderFlags2[NodeBuilderFlags2["InTypeAlias"] = 8388608] = "InTypeAlias"; @@ -7304,6 +7726,7 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => { TypeFlags2[TypeFlags2["Nullable"] = 98304] = "Nullable"; TypeFlags2[TypeFlags2["Literal"] = 2944] = "Literal"; TypeFlags2[TypeFlags2["Unit"] = 109440] = "Unit"; + TypeFlags2[TypeFlags2["Freshable"] = 2976] = "Freshable"; TypeFlags2[TypeFlags2["StringOrNumberLiteral"] = 384] = "StringOrNumberLiteral"; TypeFlags2[TypeFlags2["StringOrNumberLiteralOrUnique"] = 8576] = "StringOrNumberLiteralOrUnique"; TypeFlags2[TypeFlags2["DefinitelyFalsy"] = 117632] = "DefinitelyFalsy"; @@ -9003,6 +9426,7 @@ var sys = (() => { resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, + getAccessibleFileSystemEntries, createDirectory(directoryName) { if (!nodeSystem.directoryExists(directoryName)) { try { @@ -11264,6 +11688,7 @@ var Diagnostics = { Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), + Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported: diag(6805, 3 /* Message */, "Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805", "Disable full type checking (only critical parse and emit errors will be reported)."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), type_Colon: diag(6902, 3 /* Message */, "type_Colon_6902", "type:"), @@ -15008,6 +15433,77 @@ function isNamedImportBindings(node) { function isModuleOrEnumDeclaration(node) { return node.kind === 270 /* ModuleDeclaration */ || node.kind === 269 /* EnumDeclaration */; } +function canHaveSymbol(node) { + switch (node.kind) { + case 219 /* ArrowFunction */: + case 227 /* BinaryExpression */: + case 208 /* BindingElement */: + case 213 /* CallExpression */: + case 179 /* CallSignature */: + case 264 /* ClassDeclaration */: + case 232 /* ClassExpression */: + case 175 /* ClassStaticBlockDeclaration */: + case 176 /* Constructor */: + case 185 /* ConstructorType */: + case 180 /* ConstructSignature */: + case 212 /* ElementAccessExpression */: + case 269 /* EnumDeclaration */: + case 308 /* EnumMember */: + case 280 /* ExportAssignment */: + case 281 /* ExportDeclaration */: + case 284 /* ExportSpecifier */: + case 263 /* FunctionDeclaration */: + case 218 /* FunctionExpression */: + case 184 /* FunctionType */: + case 177 /* GetAccessor */: + case 79 /* Identifier */: + case 276 /* ImportClause */: + case 274 /* ImportEqualsDeclaration */: + case 279 /* ImportSpecifier */: + case 181 /* IndexSignature */: + case 267 /* InterfaceDeclaration */: + case 347 /* JSDocCallbackTag */: + case 348 /* JSDocEnumTag */: + case 326 /* JSDocFunctionType */: + case 349 /* JSDocParameterTag */: + case 356 /* JSDocPropertyTag */: + case 332 /* JSDocSignature */: + case 354 /* JSDocTypedefTag */: + case 331 /* JSDocTypeLiteral */: + case 294 /* JsxAttribute */: + case 295 /* JsxAttributes */: + case 296 /* JsxSpreadAttribute */: + case 200 /* MappedType */: + case 174 /* MethodDeclaration */: + case 173 /* MethodSignature */: + case 270 /* ModuleDeclaration */: + case 202 /* NamedTupleMember */: + case 283 /* NamespaceExport */: + case 273 /* NamespaceExportDeclaration */: + case 277 /* NamespaceImport */: + case 214 /* NewExpression */: + case 14 /* NoSubstitutionTemplateLiteral */: + case 8 /* NumericLiteral */: + case 210 /* ObjectLiteralExpression */: + case 168 /* Parameter */: + case 211 /* PropertyAccessExpression */: + case 305 /* PropertyAssignment */: + case 171 /* PropertyDeclaration */: + case 170 /* PropertySignature */: + case 178 /* SetAccessor */: + case 306 /* ShorthandPropertyAssignment */: + case 314 /* SourceFile */: + case 307 /* SpreadAssignment */: + case 10 /* StringLiteral */: + case 268 /* TypeAliasDeclaration */: + case 187 /* TypeLiteral */: + case 167 /* TypeParameter */: + case 261 /* VariableDeclaration */: + return true; + default: + return false; + } +} function isDeclarationKind(kind) { return kind === 219 /* ArrowFunction */ || kind === 208 /* BindingElement */ || kind === 264 /* ClassDeclaration */ || kind === 232 /* ClassExpression */ || kind === 175 /* ClassStaticBlockDeclaration */ || kind === 265 /* StructDeclaration */ || kind === 266 /* AnnotationDeclaration */ || kind === 176 /* Constructor */ || kind === 269 /* EnumDeclaration */ || kind === 308 /* EnumMember */ || kind === 284 /* ExportSpecifier */ || kind === 263 /* FunctionDeclaration */ || kind === 218 /* FunctionExpression */ || kind === 177 /* GetAccessor */ || kind === 276 /* ImportClause */ || kind === 274 /* ImportEqualsDeclaration */ || kind === 279 /* ImportSpecifier */ || kind === 267 /* InterfaceDeclaration */ || kind === 294 /* JsxAttribute */ || kind === 174 /* MethodDeclaration */ || kind === 173 /* MethodSignature */ || kind === 270 /* ModuleDeclaration */ || kind === 273 /* NamespaceExportDeclaration */ || kind === 277 /* NamespaceImport */ || kind === 283 /* NamespaceExport */ || kind === 168 /* Parameter */ || kind === 305 /* PropertyAssignment */ || kind === 171 /* PropertyDeclaration */ || kind === 172 /* AnnotationPropertyDeclaration */ || kind === 170 /* PropertySignature */ || kind === 178 /* SetAccessor */ || kind === 306 /* ShorthandPropertyAssignment */ || kind === 268 /* TypeAliasDeclaration */ || kind === 167 /* TypeParameter */ || kind === 261 /* VariableDeclaration */ || kind === 354 /* JSDocTypedefTag */ || kind === 347 /* JSDocCallbackTag */ || kind === 356 /* JSDocPropertyTag */; } @@ -19417,7 +19913,7 @@ function Signature2(checker, flags) { this.checker = checker; } } -function Node4(kind, pos, end) { +function Node5(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -19437,7 +19933,7 @@ function Token(kind, pos, end) { this.transformFlags = 0 /* None */; this.parent = void 0; } -function Identifier2(kind, pos, end) { +function Identifier3(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -19454,11 +19950,11 @@ function SourceMapSource(fileName, text, skipTrivia2) { this.skipTrivia = skipTrivia2 || ((pos) => pos); } var objectAllocator = { - getNodeConstructor: () => Node4, + getNodeConstructor: () => Node5, getTokenConstructor: () => Token, - getIdentifierConstructor: () => Identifier2, - getPrivateIdentifierConstructor: () => Node4, - getSourceFileConstructor: () => Node4, + getIdentifierConstructor: () => Identifier3, + getPrivateIdentifierConstructor: () => Node5, + getSourceFileConstructor: () => Node5, getSymbolConstructor: () => Symbol4, getTypeConstructor: () => Type3, getSignatureConstructor: () => Signature2, @@ -20282,7 +20778,7 @@ function rangeOfTypeParameters(sourceFile, typeParameters) { return { pos, end }; } function skipTypeChecking(sourceFile, options, host) { - return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); + return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || options.noCheck || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); } function isJsonEqual(a, b) { return a === b || typeof a === "object" && a !== null && typeof b === "object" && b !== null && equalOwnProperties(a, b, isJsonEqual); @@ -20658,6 +21154,12 @@ function getNameOfDecorator(node) { } return void 0; } +function isExpandoPropertyDeclaration(declaration) { + return !!declaration && (isPropertyAccessExpression(declaration) || isElementAccessExpression(declaration) || isBinaryExpression(declaration)); +} +function evaluatorResult(value, isSyntacticallyString = false, resolvedOtherFiles = false, hasExternalReferences = false) { + return { value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences }; +} function getLeadingCommentRangesOfNode(node, sourceFileOfNode) { return node.kind !== 11 /* JsxText */ ? getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : void 0; } @@ -20791,6 +21293,55 @@ function setParentRecursive(rootNode, incremental) { return bindParentToChildIgnoringJSDoc(child, parent2) || bindJSDoc(child); } } +function isPrimitiveLiteralValue(node, includeBigInt = true) { + Debug.type(node); + switch (node.kind) { + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + case 8 /* NumericLiteral */: + case 10 /* StringLiteral */: + case 14 /* NoSubstitutionTemplateLiteral */: + return true; + case 9 /* BigIntLiteral */: + return includeBigInt; + case 225 /* PrefixUnaryExpression */: + if (node.operator === 40 /* MinusToken */) { + return isNumericLiteral(node.operand) || includeBigInt && isBigIntLiteral(node.operand); + } + if (node.operator === 39 /* PlusToken */) { + return isNumericLiteral(node.operand); + } + return false; + default: + assertType(node); + return false; + } +} +function unwrapParenthesizedExpression(o) { + while (o.kind === 217 /* ParenthesizedExpression */) { + o = o.expression; + } + return o; +} +function hasInferredType(node) { + Debug.type(node); + switch (node.kind) { + case 168 /* Parameter */: + case 170 /* PropertySignature */: + case 171 /* PropertyDeclaration */: + case 208 /* BindingElement */: + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + case 261 /* VariableDeclaration */: + case 280 /* ExportAssignment */: + case 305 /* PropertyAssignment */: + return true; + default: + assertType(node); + return false; + } +} // src/compiler/factory/baseNodeFactory.ts function createBaseNodeFactory() { @@ -36423,6 +36974,20 @@ var commandOptionsWithoutBuild = [ defaultValueDescription: false, description: Diagnostics.Disable_emitting_comments }, + { + name: "noCheck", + type: "boolean", + showInSimplifiedHelpView: false, + category: Diagnostics.Compiler_Diagnostics, + description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, + transpileOptionValue: void 0, + defaultValueDescription: false, + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, + extraValidation() { + return [Diagnostics.Unknown_compiler_option_0, "noCheck"]; + } + }, { name: "noEmit", type: "boolean", @@ -36472,6 +37037,15 @@ var commandOptionsWithoutBuild = [ transpileOptionValue: true, defaultValueDescription: false }, + { + name: "isolatedDeclarations", + type: "boolean", + category: Diagnostics.Interop_Constraints, + description: Diagnostics.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files, + defaultValueDescription: false, + affectsMultiFileEmitBuildInfo: true, + affectsSemanticDiagnostics: true + }, { name: "strict", type: "boolean", @@ -45655,6 +46229,7 @@ var CheckMode = /* @__PURE__ */ ((CheckMode3) => { return CheckMode3; })(CheckMode || {}); var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => { + SignatureCheckMode3[SignatureCheckMode3["None"] = 0] = "None"; SignatureCheckMode3[SignatureCheckMode3["BivariantCallback"] = 1] = "BivariantCallback"; SignatureCheckMode3[SignatureCheckMode3["StrictCallback"] = 2] = "StrictCallback"; SignatureCheckMode3[SignatureCheckMode3["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes"; @@ -45755,6 +46330,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); var nodeBuilder = createNodeBuilder(); + var syntacticNodeBuilder = createSyntacticTypeNodeBuilder(compilerOptions, { + isEntityNameVisible, + isExpandoFunctionDeclaration, + isNonNarrowedBindableName, + getAllAccessorDeclarations: getAllAccessorDeclarationsForDeclaration, + requiresAddingImplicitUndefined, + isUndefinedIdentifierExpression(node) { + Debug.assert(isExpressionNode(node)); + return getSymbolAtLocation(node) === undefinedSymbol; + } + }); var globals = createSymbolTable(); var undefinedSymbol = createSymbol(4 /* Property */, "undefined"); undefinedSymbol.declarations = []; @@ -48970,6 +49556,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { (_a2 = tracing) == null ? void 0 : _a2.recordType(result); return result; } + function createTypeWithSymbol(flags, symbol) { + const result = createType(flags); + result.symbol = symbol; + return result; + } function createOriginType(flags) { return new Type31(checker, flags); } @@ -48980,9 +49571,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function createObjectType(objectFlags, symbol) { - const type = createType(524288 /* Object */); + const type = createTypeWithSymbol(524288 /* Object */, symbol); type.objectFlags = objectFlags; - type.symbol = symbol; type.members = void 0; type.properties = void 0; type.callSignatures = void 0; @@ -48994,10 +49584,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return getUnionType(arrayFrom(typeofNEFacts.keys(), getStringLiteralType)); } function createTypeParameter(symbol) { - const type = createType(262144 /* TypeParameter */); - if (symbol) - type.symbol = symbol; - return type; + return createTypeWithSymbol(262144 /* TypeParameter */, symbol); } function isReservedMemberName(name) { return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */ && name.charCodeAt(2) !== 64 /* at */ && name.charCodeAt(2) !== 35 /* hash */; @@ -49335,7 +49922,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; } } - function isEntityNameVisible(entityName, enclosingDeclaration) { + function getMeaningOfEntityNameReference(entityName) { + let meaning; + if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */ || entityName.parent.kind === 182 /* TypePredicate */ && entityName.parent.parameterName === entityName) { + meaning = 111551 /* Value */ | 1048576 /* ExportValue */; + } else if (entityName.kind === 165 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 274 /* ImportEqualsDeclaration */ || entityName.parent.kind === 165 /* QualifiedName */ && entityName.parent.left === entityName || entityName.parent.kind === 211 /* PropertyAccessExpression */ && entityName.parent.expression === entityName || entityName.parent.kind === 212 /* ElementAccessExpression */ && entityName.parent.expression === entityName) { + meaning = 1920 /* Namespace */; + } else { + meaning = 788968 /* Type */; + } + return meaning; + } + function isEntityNameVisible(entityName, enclosingDeclaration, shouldComputeAliasToMakeVisible = true) { let meaning; if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */) { meaning = 111551 /* Value */ | 1048576 /* ExportValue */; @@ -49352,7 +49950,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!symbol && isThisIdentifier(firstIdentifier) && isSymbolAccessible(getSymbolOfNode(getThisContainer(firstIdentifier, false)), firstIdentifier, meaning, false).accessibility === 0 /* Accessible */) { return { accessibility: 0 /* Accessible */ }; } - return symbol && hasVisibleDeclarations(symbol, true) || { + return symbol && hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) || { accessibility: 1 /* NotAccessible */, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier @@ -49447,9 +50045,78 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { symbolToTypeParameterDeclarations: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParametersToTypeParameterDeclarations(symbol, context)), symbolToParameterDeclaration: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToParameterDeclaration(symbol, context)), typeParameterToDeclaration: (parameter, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParameterToDeclaration(parameter, context)), - symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker, bundled) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context, bundled)), - symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)) + symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context)), + symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)), + serializeTypeForDeclaration: (declaration, type, symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeTypeForDeclaration(context, declaration, type, symbol)), + serializeReturnTypeForSignature: (signature, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeReturnTypeForSignature(context, signature)), + expressionOrTypeToTypeNode: (expr, type, addUndefined, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => expressionOrTypeToTypeNode(context, expr, type, addUndefined)) }; + function setTextRange2(context, range, location2) { + if (!nodeIsSynthesized(range) && !(range.flags & 8 /* Synthesized */) && (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range))) { + range = factory.cloneNode(range); + } + if (!location2) { + return range; + } + if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location2))) { + return setOriginalNode(range, location2); + } + return setTextRange(setOriginalNode(range, location2), location2); + } + function expressionOrTypeToTypeNode(context, expr, type, addUndefined) { + const oldFlags = context.flags; + if (expr && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfExpression(expr, context, addUndefined); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined); + context.flags = oldFlags; + return result; + } + function expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined) { + if (expr) { + const typeNode = isAssertionExpression(expr) ? expr.type : isJSDocTypeAssertion(expr) ? getJSDocTypeAssertionType(expr) : void 0; + if (typeNode && !isConstTypeReference(typeNode)) { + const result = tryReuseExistingTypeNode(context, typeNode, type, expr.parent, addUndefined); + if (result) { + return result; + } + } + } + if (addUndefined) { + type = getOptionalType(type); + } + return typeToTypeNodeHelper(type, context); + } + function tryReuseExistingTypeNode(context, typeNode, type, host2, addUndefined) { + const originalType = type; + if (addUndefined) { + type = getOptionalType(type); + } + const clone2 = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host2); + if (clone2) { + if (addUndefined && !someType(getTypeFromTypeNode(typeNode), (t) => !!(t.flags & 32768 /* Undefined */))) { + return factory.createUnionTypeNode([clone2, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + return clone2; + } + if (addUndefined && originalType !== type) { + const cloneMissingUndefined = tryReuseExistingNonParameterTypeNode(context, typeNode, originalType, host2); + if (cloneMissingUndefined) { + return factory.createUnionTypeNode([cloneMissingUndefined, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + } + return void 0; + } + function tryReuseExistingNonParameterTypeNode(context, existing, type, host2 = context.enclosingDeclaration, annotationType) { + if (typeNodeIsEquivalentToType(existing, host2, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + const result = tryReuseExistingTypeNodeHelper(context, existing); + if (result) { + return result; + } + } + return void 0; + } function symbolToNode(symbol, context, meaning) { if (context.flags & 1073741824 /* WriteComputedProps */) { if (symbol.valueDeclaration) { @@ -49468,68 +50135,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function withContext(enclosingDeclaration, flags, tracker, cb) { var _a2, _b; Debug.assert(enclosingDeclaration === void 0 || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); + const moduleResolverHost = (tracker == null ? void 0 : tracker.trackSymbol) ? tracker.moduleResolverHost : flags & 134217728 /* DoNotIncludeSymbolChain */ ? createBasicNodeBuilderModuleSpecifierResolutionHost(host) : void 0; const context = { enclosingDeclaration, + enclosingFile: enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration), flags: flags || 0 /* None */, - tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: () => false, moduleResolverHost: flags & 134217728 /* DoNotIncludeSymbolChain */ ? { - getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", - getCurrentDirectory: () => host.getCurrentDirectory(), - getSymlinkCache: maybeBind(host, host.getSymlinkCache), - getPackageJsonInfoCache: () => { - var _a3; - return (_a3 = host.getPackageJsonInfoCache) == null ? void 0 : _a3.call(host); - }, - useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), - redirectTargetsMap: host.redirectTargetsMap, - getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), - isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), - fileExists: (fileName) => host.fileExists(fileName), - getFileIncludeReasons: () => host.getFileIncludeReasons(), - readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 - } : void 0 }, + tracker: void 0, encounteredError: false, reportedDiagnostic: false, visitedTypes: void 0, symbolDepth: void 0, inferTypeParameters: void 0, - approximateLength: 0 + approximateLength: 0, + trackedSymbols: void 0, + bundled: !!compilerOptions.outFile && !!enclosingDeclaration && isExternalOrCommonJsModule(getSourceFileOfNode(enclosingDeclaration)) }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); if (context.truncating && context.flags & 1 /* NoTruncation */) { (_b = (_a2 = context.tracker) == null ? void 0 : _a2.reportTruncationError) == null ? void 0 : _b.call(_a2); } return context.encounteredError ? void 0 : resultingNode; } - function wrapSymbolTrackerToReportForContext(context, tracker) { - const oldTrackSymbol = tracker.trackSymbol; - return { - ...tracker, - reportCyclicStructureError: wrapReportedDiagnostic(tracker.reportCyclicStructureError), - reportInaccessibleThisError: wrapReportedDiagnostic(tracker.reportInaccessibleThisError), - reportInaccessibleUniqueSymbolError: wrapReportedDiagnostic(tracker.reportInaccessibleUniqueSymbolError), - reportLikelyUnsafeImportRequiredError: wrapReportedDiagnostic(tracker.reportLikelyUnsafeImportRequiredError), - reportNonlocalAugmentation: wrapReportedDiagnostic(tracker.reportNonlocalAugmentation), - reportPrivateInBaseOfClassExpression: wrapReportedDiagnostic(tracker.reportPrivateInBaseOfClassExpression), - reportNonSerializableProperty: wrapReportedDiagnostic(tracker.reportNonSerializableProperty), - trackSymbol: oldTrackSymbol && ((...args) => { - const result = oldTrackSymbol(...args); - if (result) { - context.reportedDiagnostic = true; - } - return result; - }) - }; - function wrapReportedDiagnostic(method) { - if (!method) { - return method; - } - return (...args) => { - context.reportedDiagnostic = true; - return method(...args); - }; - } - } function checkTruncationLength(context) { if (context.truncating) return context.truncating; @@ -49706,7 +50333,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, constraintNode)); } - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */) { const name2 = typeParameterToName(type, context); context.approximateLength += idText(name2).length; return factory.createTypeReferenceNode(factory.createIdentifier(idText(name2)), void 0); @@ -49944,7 +50571,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!nodeIsSynthesized(node) && getParseTreeNode(node) === node) { return node; } - return setTextRange(factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), node); + return setTextRange2( + context, + factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), + node + ); } function deepCloneOrReuseNodes(nodes, visitor, test, start2, count) { if (nodes && nodes.length === 0) { @@ -50190,7 +50821,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const propertyType = shouldUsePlaceholderForProperty(propertySymbol, context) ? anyType : getNonMissingTypeOfSymbol(propertySymbol); const saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = void 0; - if (context.tracker.trackSymbol && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.canTrackSymbol && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { const decl = first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -50227,7 +50858,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.reverseMappedStack || (context.reverseMappedStack = []); context.reverseMappedStack.push(propertySymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : factory.createKeywordTypeNode(132 /* AnyKeyword */); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, void 0, propertyType, propertySymbol) : factory.createKeywordTypeNode(132 /* AnyKeyword */); if (propertyIsReverseMapped) { context.reverseMappedStack.pop(); } @@ -50338,9 +50969,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a2, _b, _c, _d; - const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; - if (suppressAny) - context.flags &= ~256 /* SuppressAnyReturnType */; + const flags = context.flags; + context.flags &= ~256 /* SuppressAnyReturnType */; context.approximateLength += 3; let typeParameters; let typeArguments; @@ -50350,37 +50980,128 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { typeParameters = signature.typeParameters && signature.typeParameters.map((parameter) => typeParameterToDeclaration(parameter, context)); } const expandedParams = getExpandedParameters(signature, true)[0]; - const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports)); + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters); + const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */)); const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); } - let returnTypeNode; - const typePredicate = getTypePredicateOfSignature(signature); - if (typePredicate) { - const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; - const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); - const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); - returnTypeNode = factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); - } else { - const returnType = getReturnTypeOfSignature(signature); - if (returnType && !(suppressAny && isTypeAny(returnType))) { - returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports); - } else if (!suppressAny) { - returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); - } - } + context.flags = flags; + const returnTypeNode = serializeReturnTypeForSignature(context, signature); let modifiers = options == null ? void 0 : options.modifiers; if (kind === 185 /* ConstructorType */ && signature.flags & 4 /* Abstract */) { - const flags = modifiersToFlags(modifiers); - modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */); + const flags2 = modifiersToFlags(modifiers); + modifiers = factory.createModifiersFromModifierFlags(flags2 | 256 /* Abstract */); } const node = kind === 179 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 180 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 173 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (_a2 = options == null ? void 0 : options.name) != null ? _a2 : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 174 /* MethodDeclaration */ ? factory.createMethodDeclaration(modifiers, void 0, (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""), void 0, typeParameters, parameters, returnTypeNode, void 0) : kind === 176 /* Constructor */ ? factory.createConstructorDeclaration(modifiers, parameters, void 0) : kind === 177 /* GetAccessor */ ? factory.createGetAccessorDeclaration(modifiers, (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""), parameters, returnTypeNode, void 0) : kind === 178 /* SetAccessor */ ? factory.createSetAccessorDeclaration(modifiers, (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""), parameters, void 0) : kind === 181 /* IndexSignature */ ? factory.createIndexSignature(modifiers, parameters, returnTypeNode) : kind === 326 /* JSDocFunctionType */ ? factory.createJSDocFunctionType(parameters, returnTypeNode) : kind === 184 /* FunctionType */ ? factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 185 /* ConstructorType */ ? factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 263 /* FunctionDeclaration */ ? factory.createFunctionDeclaration(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, void 0) : kind === 218 /* FunctionExpression */ ? factory.createFunctionExpression(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, factory.createBlock([])) : kind === 219 /* ArrowFunction */ ? factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, void 0, factory.createBlock([])) : Debug.assertNever(kind); if (typeArguments) { node.typeArguments = factory.createNodeArray(typeArguments); } + cleanup == null ? void 0 : cleanup(); return node; } + function isNewScopeNode(node) { + return isFunctionLike(node) || isJSDocSignature(node) || isMappedTypeNode(node); + } + function getTypeParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getSignatureFromDeclaration(node).typeParameters : isConditionalTypeNode(node) ? getInferTypeParameters(node) : [getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))]; + } + function getParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getExpandedParameters(getSignatureFromDeclaration(node), true)[0] : void 0; + } + function enterNewScope(context, declaration, expandedParams, typeParameters) { + let cleanup; + if (context.enclosingDeclaration && declaration && declaration !== context.enclosingDeclaration && !isInJSFile(declaration) && (some(expandedParams) || some(typeParameters))) { + pushFakeScope( + "params", + (add) => { + for (const param of expandedParams != null ? expandedParams : emptyArray) { + if (!forEach(param.declarations, (d) => { + if (isParameter(d) && isBindingPattern(d.name)) { + bindPattern(d.name); + return true; + } + return void 0; + function bindPattern(p) { + forEach(p.elements, (e) => { + switch (e.kind) { + case 233 /* OmittedExpression */: + return; + case 208 /* BindingElement */: + return bindElement(e); + default: + return Debug.assertNever(e); + } + }); + } + function bindElement(e) { + if (isBindingPattern(e.name)) { + return bindPattern(e.name); + } + const symbol = getSymbolOfNode(e); + add(symbol.escapedName, symbol); + } + })) { + add(param.escapedName, param); + } + } + } + ); + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + pushFakeScope( + "typeParams", + (add) => { + for (const typeParam of typeParameters != null ? typeParameters : emptyArray) { + const typeParamName = typeParameterToName(typeParam, context).escapedText; + add(typeParamName, typeParam.symbol); + } + } + ); + } + return cleanup; + } + function pushFakeScope(kind, addAll) { + var _a2; + Debug.assert(context.enclosingDeclaration); + let existingFakeScope; + if (getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration; + } else if (context.enclosingDeclaration.parent && getNodeLinks(context.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration.parent; + } + Debug.assertOptionalNode(existingFakeScope, isBlock); + const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable(); + let newLocals; + addAll((name, symbol) => { + if (!locals.has(name)) { + newLocals = append(newLocals, name); + locals.set(name, symbol); + } + }); + if (!newLocals) { + return; + } + const oldCleanup = cleanup; + function undo() { + forEach(newLocals, (s) => locals.delete(s)); + oldCleanup == null ? void 0 : oldCleanup(); + } + if (existingFakeScope) { + cleanup = undo; + } else { + const fakeScope = parseNodeFactory.createBlock(emptyArray); + getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = kind; + fakeScope.locals = locals; + const saveEnclosingDeclaration = context.enclosingDeclaration; + setParent(fakeScope, saveEnclosingDeclaration); + context.enclosingDeclaration = fakeScope; + cleanup = () => { + context.enclosingDeclaration = saveEnclosingDeclaration; + undo(); + }; + } + } + } function tryGetThisParameterDeclaration(signature, context) { if (signature.thisParameter) { return symbolToParameterDeclaration(signature.thisParameter, context); @@ -50412,20 +51133,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constraintNode = constraint && typeToTypeNodeHelper(constraint, context); return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } - function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - let parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); - if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); + function typePredicateToTypePredicateNodeHelper(typePredicate, context) { + const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; + const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); + const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); + return factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); + } + function getEffectiveParameterDeclaration(parameterSymbol) { + const parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); + if (parameterDeclaration) { + return parameterDeclaration; } - let parameterType = getTypeOfSymbol(parameterSymbol); - if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { - parameterType = getOptionalType(parameterType); + if (!isTransientSymbol(parameterSymbol)) { + return getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); } - const parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); + } + function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { + const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol); + const parameterType = getTypeOfSymbol(parameterSymbol); + const parameterTypeNode = serializeTypeForDeclaration(context, parameterDeclaration, parameterType, parameterSymbol); const modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : void 0; const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 32768 /* RestParameter */; const dotDotDotToken = isRest ? factory.createToken(25 /* DotDotDotToken */) : void 0; - const name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); + const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context); const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */; const questionToken = isOptional ? factory.createToken(57 /* QuestionToken */) : void 0; const parameterNode = factory.createParameterDeclaration( @@ -50438,13 +51168,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.approximateLength += symbolName(parameterSymbol).length + 3; return parameterNode; + } + function parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context) { + return parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); function cloneBindingName(node) { return elideInitializerAndSetEmitFlags(node); function elideInitializerAndSetEmitFlags(node2) { - if (context.tracker.trackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { + if (context.tracker.canTrackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { trackComputedName(node2.expression, context.enclosingDeclaration, context); } - let visited = visitEachChild(node2, elideInitializerAndSetEmitFlags, nullTransformationContext, void 0, elideInitializerAndSetEmitFlags); + let visited = visitEachChild( + node2, + elideInitializerAndSetEmitFlags, + void 0, + void 0, + elideInitializerAndSetEmitFlags + ); if (isBindingElement(visited)) { visited = factory.updateBindingElement( visited, @@ -50462,8 +51201,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function trackComputedName(accessExpression, enclosingDeclaration, context) { - if (!context.tracker.trackSymbol) + if (!context.tracker.canTrackSymbol) { return; + } const firstIdentifier = getFirstIdentifier(accessExpression); const name = resolveName(firstIdentifier, firstIdentifier.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */, void 0, void 0, true); if (name) { @@ -50596,13 +51336,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } } - if (!context.enclosingDeclaration || !context.tracker.moduleResolverHost) { + if (!context.enclosingFile || !context.tracker.moduleResolverHost) { if (ambientModuleSymbolRegex.test(symbol.escapedName)) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } return getSourceFileOfNode(getNonAugmentationDeclaration(symbol)).fileName; } - const contextFile = getSourceFileOfNode(getOriginalNode(context.enclosingDeclaration)); + const contextFile = context.enclosingFile; const resolutionMode = overrideImportMode || (contextFile == null ? void 0 : contextFile.impliedNodeFormat); const cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode); const links = getSymbolLinks(symbol); @@ -50696,8 +51436,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } const lit = factory.createLiteralTypeNode(factory.createStringLiteral(specifier)); - if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) + if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) { context.tracker.trackExternalModuleSymbolOfImportTypeNode(chain[0]); + } context.approximateLength += specifier.length + 10; if (!nonRootParts || isEntityName(nonRootParts)) { if (nonRootParts) { @@ -50776,13 +51517,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return identifier; } } - function typeParameterShadowsNameInScope(escapedName, context, type) { - const result = resolveName(context.enclosingDeclaration, escapedName, 788968 /* Type */, void 0, escapedName, false); - if (result) { - if (result.flags & 262144 /* TypeParameter */ && result === type.symbol) { - return false; - } - return true; + function typeParameterShadowsOtherTypeParameterInScope(escapedName, context, type) { + const result = resolveName( + context.enclosingDeclaration, + escapedName, + 788968 /* Type */, + void 0, + escapedName, + false + ); + if (result && result.flags & 262144 /* TypeParameter */) { + return result !== type.symbol; } return false; } @@ -50802,7 +51547,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const rawtext = result.escapedText; let i = ((_a2 = context.typeParameterNamesByTextNextNameCount) == null ? void 0 : _a2.get(rawtext)) || 0; let text = rawtext; - while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { + while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsOtherTypeParameterInScope(text, context, type)) { i++; text = `${rawtext}_${i}`; } @@ -50811,7 +51556,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } (context.typeParameterNamesByTextNextNameCount || (context.typeParameterNamesByTextNextNameCount = new Map2())).set(rawtext, i); (context.typeParameterNames || (context.typeParameterNames = new Map2())).set(getTypeId(type), result); - (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(rawtext); + (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(text); } return result; } @@ -50924,7 +51669,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (initial.typeParameterSymbolList) { initial.typeParameterSymbolList = new Set2(initial.typeParameterSymbolList); } - initial.tracker = wrapSymbolTrackerToReportForContext(initial, initial.tracker); + if (initial.typeParameterNamesByTextNextNameCount) { + initial.typeParameterNamesByTextNextNameCount = new Map2(initial.typeParameterNamesByTextNextNameCount); + } + initial.tracker = new SymbolTrackerImpl(initial, initial.tracker.inner, initial.tracker.moduleResolverHost); return initial; } function getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration) { @@ -50933,16 +51681,23 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) { return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters); } - function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) { + function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) { + while (getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration) { + enclosingDeclaration = enclosingDeclaration.parent; + } + return enclosingDeclaration; + } + function serializeTypeForDeclaration(context, declaration, type, symbol) { + var _a2, _b; + const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); + const enclosingDeclaration = context.enclosingDeclaration; if (!isErrorType(type) && enclosingDeclaration) { - const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration); + const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) ? declaration : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { - const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation); - if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { - const result2 = serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled); - if (result2) { - return result2; - } + const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation); + const result2 = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + if (result2) { + return result2; } } } @@ -50950,73 +51705,148 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol && (!context.enclosingDeclaration || some(symbol.declarations, (d) => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration)))) { context.flags |= 1048576 /* AllowUniqueESSymbolType */; } - const result = typeToTypeNodeHelper(type, context); + const decl = (_b = declaration != null ? declaration : symbol.valueDeclaration) != null ? _b : (_a2 = symbol.declarations) == null ? void 0 : _a2[0]; + const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : void 0; + if (decl && hasInferredType(decl) && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfDeclaration(decl, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); context.flags = oldFlags; return result; } - function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type) { - const typeFromTypeNode = getTypeFromTypeNode(typeNode); + function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type, typeFromTypeNode = getTypeFromTypeNode(typeNode)) { if (typeFromTypeNode === type) { return true; } - if (isParameter(annotatedDeclaration) && annotatedDeclaration.questionToken) { + if (annotatedDeclaration && (isParameter(annotatedDeclaration) || isPropertySignature(annotatedDeclaration) || isPropertyDeclaration(annotatedDeclaration)) && annotatedDeclaration.questionToken) { return getTypeWithFacts(type, 524288 /* NEUndefined */) === typeFromTypeNode; } return false; } - function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) { + function serializeReturnTypeForSignature(context, signature) { + const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; + const flags = context.flags; + if (suppressAny) + context.flags &= ~256 /* SuppressAnyReturnType */; + let returnTypeNode; + const returnType = getReturnTypeOfSignature(signature); + if (returnType && !(suppressAny && isTypeAny(returnType))) { + if (signature.declaration && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeReturnTypeForSignature(signature.declaration, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + returnTypeNode = serializeReturnTypeForSignatureWorker(context, signature); + } else if (!suppressAny) { + returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); + } + context.flags = flags; + return returnTypeNode; + } + function serializeReturnTypeForSignatureWorker(context, signature) { + const typePredicate = getTypePredicateOfSignature(signature); + const type = getReturnTypeOfSignature(signature); if (!isErrorType(type) && context.enclosingDeclaration) { - const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration); - if (!!findAncestor(annotation, (n) => n === context.enclosingDeclaration) && annotation) { + const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); + const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); + if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) { const annotated = getTypeFromTypeNode(annotation); const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated; - if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) { - const result = serializeExistingTypeNode(context, annotation, includePrivateSymbol, bundled); - if (result) { - return result; - } + const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + if (result) { + return result; } } } - return typeToTypeNodeHelper(type, context); + if (typePredicate) { + return typePredicateToTypePredicateNodeHelper(typePredicate, context); + } + const expr = signature.declaration && getPossibleTypeNodeReuseExpression(signature.declaration); + return expressionOrTypeToTypeNode(context, expr, type); } - function trackExistingEntityName(node, context, includePrivateSymbol) { - var _a2, _b; + function trackExistingEntityName(node, context) { let introducesError = false; const leftmost = getFirstIdentifier(node); if (isInJSFile(node) && (isExportsIdentifier(leftmost) || isModuleExportsAccessExpression(leftmost.parent) || isQualifiedName(leftmost.parent) && isModuleIdentifier(leftmost.parent.left) && isExportsIdentifier(leftmost.parent.right))) { introducesError = true; return { introducesError, node }; } - const sym = resolveEntityName(leftmost, 67108863 /* All */, true, true); + const meaning = getMeaningOfEntityNameReference(node); + let sym; + if (isThisIdentifier(leftmost)) { + sym = getSymbolOfNode(getThisContainer(leftmost, false)); + if (isSymbolAccessible( + sym, + leftmost, + meaning, + false + ).accessibility !== 0 /* Accessible */) { + introducesError = true; + context.tracker.reportInaccessibleThisError(); + } + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + sym = resolveEntityName(leftmost, meaning, true, true); if (sym) { - if (isSymbolAccessible(sym, context.enclosingDeclaration, 67108863 /* All */, false).accessibility !== 0 /* Accessible */) { + if (sym.flags & 1 /* FunctionScopedVariable */ && sym.valueDeclaration) { + if (isParameterDeclaration(sym.valueDeclaration)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + } + if (!(sym.flags & 262144 /* TypeParameter */) && !isDeclarationName(node) && isSymbolAccessible( + sym, + context.enclosingDeclaration, + meaning, + false + ).accessibility !== 0 /* Accessible */) { introducesError = true; } else { - (_b = (_a2 = context.tracker) == null ? void 0 : _a2.trackSymbol) == null ? void 0 : _b.call(_a2, sym, context.enclosingDeclaration, 67108863 /* All */); - includePrivateSymbol == null ? void 0 : includePrivateSymbol(sym); + context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning); } - if (isIdentifier(node)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + return { introducesError, node }; + function attachSymbolToLeftmostIdentifier(node2) { + if (node2 === leftmost) { const type = getDeclaredTypeOfSymbol(sym); - const name = sym.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : factory.cloneNode(node); + const name = sym.flags & 262144 /* TypeParameter */ ? typeParameterToName(type, context) : factory.cloneNode(node2); name.symbol = sym; - return { introducesError, node: setEmitFlags(setOriginalNode(name, node), 16777216 /* NoAsciiEscaping */) }; + return setTextRange2(context, setEmitFlags(name, 16777216 /* NoAsciiEscaping */), node2); + } + const updated = visitEachChild(node2, (c) => attachSymbolToLeftmostIdentifier(c), void 0); + if (updated !== node2) { + setTextRange2(context, updated, node2); } + return updated; } - return { introducesError, node }; } - function serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled) { + function tryReuseExistingTypeNodeHelper(context, existing) { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } let hadError = false; - const file = getSourceFileOfNode(existing); - const transformed = visitNode(existing, visitExistingNodeTreeSymbols); + const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode); if (hadError) { return void 0; } - return transformed === existing ? setTextRange(factory.cloneNode(existing), existing) : transformed; + return transformed; function visitExistingNodeTreeSymbols(node) { + const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : void 0; + const result = visitExistingNodeTreeSymbolsWorker(node); + onExitNewScope == null ? void 0 : onExitNewScope(); + return result === node ? setTextRange2(context, factory.cloneNode(result), node) : result; + } + function onEnterNewScope(node) { + const oldContex = context; + context = cloneNodeBuilderContext(context); + const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + return onExitNewScope; + function onExitNewScope() { + cleanup == null ? void 0 : cleanup(); + context = oldContex; + } + } + function visitExistingNodeTreeSymbolsWorker(node) { if (isJSDocAllType(node) || node.kind === 328 /* JSDocNamepathType */) { return factory.createKeywordTypeNode(132 /* AnyKeyword */); } @@ -51024,16 +51854,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createKeywordTypeNode(159 /* UnknownKeyword */); } if (isJSDocNullableType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createLiteralTypeNode(factory.createNull())]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createLiteralTypeNode(factory.createNull())] + ); } if (isJSDocOptionalType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)] + ); } if (isJSDocNonNullableType(node)) { return visitNode(node.type, visitExistingNodeTreeSymbols); } if (isJSDocVariadicType(node)) { - return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols)); + return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); } if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, (t) => { @@ -51044,7 +51878,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, name, t.isBracketed || t.typeExpression && isJSDocOptionalType(t.typeExpression.type) ? factory.createToken(57 /* QuestionToken */) : void 0, - overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); })); } @@ -51059,9 +51893,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, "x", void 0, - visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols, isTypeNode) )], - visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols, isTypeNode) )]); } if (isJSDocFunctionType(node)) { @@ -51069,29 +51903,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { let newTypeNode; return factory.createConstructorTypeNode( void 0, - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), mapDefined(node.parameters, (p, i) => p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, void 0) : factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } else { return factory.createFunctionTypeNode( - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), map(node.parameters, (p, i) => factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } } @@ -51112,17 +51946,61 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { node.isTypeOf ); } + if (isNamedDeclaration(node) && node.name.kind === 166 /* ComputedPropertyName */ && !isLateBindableName(node.name)) { + if (!(context.flags & 1 /* AllowUnresolvedComputedNames */ && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & 1 /* Any */)) { + return void 0; + } + } + if (isFunctionLike(node) && !node.type || isPropertyDeclaration(node) && !node.type && !node.initializer || isPropertySignature(node) && !node.type && !node.initializer || isParameter(node) && !node.type && !node.initializer) { + let visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + if (visited === node) { + visited = setTextRange2(context, factory.cloneNode(node), node); + } + visited.type = factory.createKeywordTypeNode(132 /* AnyKeyword */); + if (isParameter(node)) { + visited.modifiers = void 0; + } + return visited; + } if (isEntityName(node) || isEntityNameExpression(node)) { - const { introducesError, node: result } = trackExistingEntityName(node, context, includePrivateSymbol); - hadError = hadError || introducesError; - if (result !== node) { - return result; + if (isDeclarationName(node)) { + return node; } + const { introducesError, node: result } = trackExistingEntityName(node, context); + hadError = hadError || introducesError; + return result; } - if (file && isTupleTypeNode(node) && getLineAndCharacterOfPosition(file, node.pos).line === getLineAndCharacterOfPosition(file, node.end).line) { - setEmitFlags(node, 1 /* SingleLine */); + if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { + const visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + const clone2 = setTextRange2(context, visited === node ? factory.cloneNode(node) : visited, node); + const flags = getEmitFlags(clone2); + setEmitFlags( + clone2, + flags | (context.flags & 1024 /* MultilineObjectLiterals */ && isTypeLiteralNode(node) ? 0 : 1 /* SingleLine */) + ); + return clone2; + } + if (isStringLiteral(node) && !!(context.flags & 268435456 /* UseSingleQuotesForStringLiteralType */) && !node.singleQuote) { + const clone2 = factory.cloneNode(node); + clone2.singleQuote = true; + return clone2; + } + if (isConditionalTypeNode(node)) { + const checkType = visitNode(node.checkType, visitExistingNodeTreeSymbols, isTypeNode); + const disposeScope = onEnterNewScope(node); + const extendType = visitNode(node.extendsType, visitExistingNodeTreeSymbols, isTypeNode); + const trueType2 = visitNode(node.trueType, visitExistingNodeTreeSymbols, isTypeNode); + disposeScope(); + const falseType2 = visitNode(node.falseType, visitExistingNodeTreeSymbols, isTypeNode); + return factory.updateConditionalTypeNode( + node, + checkType, + extendType, + trueType2, + falseType2 + ); } - return visitEachChild(node, visitExistingNodeTreeSymbols, nullTransformationContext); + return visitEachChild(node, visitExistingNodeTreeSymbols, void 0); function getEffectiveDotDotDotForParameter(p) { return p.dotDotDotToken || (p.type && isJSDocVariadicType(p.type) ? factory.createToken(25 /* DotDotDotToken */) : void 0); } @@ -51130,18 +52008,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return p.name && isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? `args` : `arg${index}`; } function rewriteModuleSpecifier(parent2, lit) { - if (bundled) { - if (context.tracker && context.tracker.moduleResolverHost) { - const targetFile = getExternalModuleFileFromDeclaration(parent2); - if (targetFile) { - const getCanonicalFileName = createGetCanonicalFileName(!!host.useCaseSensitiveFileNames); - const resolverHost = { - getCanonicalFileName, - getCurrentDirectory: () => context.tracker.moduleResolverHost.getCurrentDirectory(), - getCommonSourceDirectory: () => context.tracker.moduleResolverHost.getCommonSourceDirectory() - }; - const newName = getResolvedExternalModuleName(resolverHost, targetFile); - return factory.createStringLiteral(newName); + if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) { + const targetFile = getExternalModuleFileFromDeclaration(parent2); + if (targetFile) { + const newName = getSpecifierForModuleSymbol(targetFile.symbol, context); + if (newName !== lit.text) { + return setOriginalNode(factory.createStringLiteral(newName), lit); } } } else { @@ -51152,11 +52024,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - return lit; + return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral); } } } - function symbolTableToDeclarationStatements(symbolTable, context, bundled) { + function symbolTableToDeclarationStatements(symbolTable, context) { const serializePropertySymbolForClass = makeSerializePropertySymbol(factory.createPropertyDeclaration, 174 /* MethodDeclaration */, true); const serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol((mods, name, question, type) => factory.createPropertySignature(mods, name, question, type), 173 /* MethodSignature */, false); const enclosingDeclaration = context.enclosingDeclaration; @@ -51168,28 +52040,37 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ...oldcontext, usedSymbolNames: new Set2(oldcontext.usedSymbolNames), remappedSymbolNames: new Map2(), - tracker: { - ...oldcontext.tracker, - trackSymbol: (sym, decl, meaning) => { - const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); - if (accessibleResult.accessibility === 0 /* Accessible */) { - const chain = lookupSymbolChainWorker(sym, context, meaning); - if (!(sym.flags & 4 /* Property */)) { - includePrivateSymbol(chain[0]); + tracker: void 0 + }; + const tracker = { + ...oldcontext.tracker.inner, + trackSymbol: (sym, decl, meaning) => { + var _a2, _b; + if ((_a2 = context.remappedSymbolNames) == null ? void 0 : _a2.has(getSymbolId(sym))) { + return false; + } + const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); + if (accessibleResult.accessibility === 0 /* Accessible */) { + const chain = lookupSymbolChainWorker(sym, context, meaning); + if (!(sym.flags & 4 /* Property */)) { + const root = chain[0]; + const contextFile = getSourceFileOfNode(oldcontext.enclosingDeclaration); + if (some(root.declarations, (d) => getSourceFileOfNode(d) === contextFile)) { + includePrivateSymbol(root); } - } else if (oldcontext.tracker && oldcontext.tracker.trackSymbol) { - return oldcontext.tracker.trackSymbol(sym, decl, meaning); } - return false; + } else if ((_b = oldcontext.tracker.inner) == null ? void 0 : _b.trackSymbol) { + return oldcontext.tracker.inner.trackSymbol(sym, decl, meaning); } + return false; } }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, oldcontext.tracker.moduleResolverHost); forEachEntry(symbolTable, (symbol, name) => { const baseName = unescapeLeadingUnderscores(name); void getInternalSymbolName(symbol, baseName); }); - let addingDeclare = !bundled; + let addingDeclare = !context.bundled; const exportEquals = symbolTable.get("export=" /* ExportEquals */); if (exportEquals && symbolTable.size > 1 && exportEquals.flags & 2097152 /* Alias */) { symbolTable = createSymbolTable(); @@ -51341,6 +52222,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function serializeSymbol(symbol, isPrivate, propertyAsAlias) { + void getPropertiesOfType(getTypeOfSymbol(symbol)); const visitedSym = getMergedSymbol(symbol); if (visitedSymbols.has(getSymbolId(visitedSym))) { return; @@ -51354,6 +52236,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (context.reportedDiagnostic) { oldcontext.reportedDiagnostic = context.reportedDiagnostic; } + if (context.trackedSymbols) { + if (!oldContext.trackedSymbols) { + oldContext.trackedSymbols = context.trackedSymbols; + } else { + Debug.assert(context.trackedSymbols === oldContext.trackedSymbols); + } + } context = oldContext; } } @@ -51411,9 +52300,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* Value */); } else { - const statement = setTextRange(factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(name, void 0, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) - ], flags)), textRange); + const statement = setTextRange2( + context, + factory.createVariableStatement( + void 0, + factory.createVariableDeclarationList([ + factory.createVariableDeclaration( + name, + void 0, + serializeTypeForDeclaration(context, void 0, type, symbol) + ) + ], flags) + ), + textRange + ); addResult(statement, name !== localName ? modifierFlags & ~1 /* Export */ : modifierFlags); if (name !== localName && !isPrivate) { addResult( @@ -51517,7 +52417,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.flags |= 8388608 /* InTypeAlias */; const oldEnclosingDecl = context.enclosingDeclaration; context.enclosingDeclaration = jsdocAliasDecl; - const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) || typeToTypeNodeHelper(aliasType, context); + const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && tryReuseExistingNonParameterTypeNode(context, jsdocAliasDecl.typeExpression.type, aliasType, void 0) || typeToTypeNodeHelper(aliasType, context); addResult(setSyntheticLeadingComments( factory.createTypeAliasDeclaration(void 0, getInternalSymbolName(symbol, symbolName2), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }] @@ -51601,8 +52501,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags) { const signatures = getSignaturesOfType(type, 0 /* Call */); for (const sig of signatures) { - const decl = signatureToSignatureDeclarationHelper(sig, 263 /* FunctionDeclaration */, context, { name: factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); - addResult(setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); + const decl = signatureToSignatureDeclarationHelper( + sig, + 263 /* FunctionDeclaration */, + context, + { name: factory.createIdentifier(localName) } + ); + addResult(setTextRange2(context, decl, getSignatureTextRangeLocation(sig)), modifierFlags); } if (!(symbol.flags & (512 /* ValueModule */ | 1024 /* NamespaceModule */) && !!symbol.exports && !!symbol.exports.size)) { const props = filter(getPropertiesOfType(type), isNamespaceMember); @@ -51674,7 +52579,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return cleanup(void 0); } let introducesError; - ({ introducesError, node: expr } = trackExistingEntityName(expr, context, includePrivateSymbol)); + ({ introducesError, node: expr } = trackExistingEntityName(expr, context)); if (introducesError) { return cleanup(void 0); } @@ -51683,7 +52588,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { expr, map( e.typeArguments, - (a) => serializeExistingTypeNode(context, a, includePrivateSymbol, bundled) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) + (a) => tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) ) )); function cleanup(result2) { @@ -51739,13 +52644,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constructors = isNonConstructableClassLikeInJsFile ? [factory.createConstructorDeclaration(factory.createModifiersFromModifierFlags(8 /* Private */), [], void 0)] : serializeSignatures(1 /* Construct */, staticType, staticBaseType, 176 /* Constructor */); const indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; - addResult(setTextRange(factory.createClassDeclaration( - void 0, - localName, - typeParamDecls, - heritageClauses, - [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] - ), symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0]), modifierFlags); + addResult(setTextRange2( + context, + factory.createClassDeclaration( + void 0, + localName, + typeParamDecls, + heritageClauses, + [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] + ), + symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0] + ), modifierFlags); } function getSomeTargetNameFromDeclarations(declarations) { return firstDefined(declarations, (d) => { @@ -51800,6 +52709,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { break; } Debug.failBadSyntaxKind(((_c = node.parent) == null ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); + break; case 306 /* ShorthandPropertyAssignment */: if (((_e = (_d = node.parent) == null ? void 0 : _d.parent) == null ? void 0 : _e.kind) === 227 /* BinaryExpression */) { serializeExportSpecifier( @@ -51843,22 +52753,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 273 /* NamespaceExportDeclaration */: addResult(factory.createNamespaceExportDeclaration(idText(node.name)), 0 /* None */); break; - case 276 /* ImportClause */: + case 276 /* ImportClause */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, factory.createIdentifier(localName), void 0), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; - case 277 /* NamespaceImport */: + } + case 277 /* NamespaceImport */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, void 0, factory.createNamespaceImport(factory.createIdentifier(localName))), - factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 283 /* NamespaceExport */: addResult(factory.createExportDeclaration( void 0, @@ -51867,7 +52783,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)) ), 0 /* None */); break; - case 279 /* ImportSpecifier */: + case 279 /* ImportSpecifier */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause( @@ -51881,10 +52799,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ) ]) ), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 284 /* ExportSpecifier */: const specifier = node.parent.parent.moduleSpecifier; serializeExportSpecifier( @@ -51967,7 +52886,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { serializeAsFunctionNamespaceMerge(typeToSerialize, symbol, varName, isExportAssignmentCompatibleSymbolName ? 0 /* None */ : 1 /* Export */); } else { const statement = factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(varName, void 0, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) + factory.createVariableDeclaration( + varName, + void 0, + serializeTypeForDeclaration( + context, + void 0, + typeToSerialize, + symbol + ) + ) ], 2 /* Const */)); addResult( statement, @@ -51989,8 +52917,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function isTypeRepresentableAsFunctionNamespaceMerge(typeToSerialize, hostSymbol) { + var _a2; const ctxSrc = getSourceFileOfNode(context.enclosingDeclaration); - return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); + return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !some((_a2 = typeToSerialize.symbol) == null ? void 0 : _a2.declarations, isTypeNode) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); } function makeSerializePropertySymbol(createProperty2, methodKind, useAccessors) { return function serializePropertySymbol(p, isStatic2, baseType) { @@ -52009,50 +52938,66 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (p.flags & 98304 /* Accessor */ && useAccessors) { const result = []; if (p.flags & 65536 /* SetAccessor */) { - result.push(setTextRange(factory.createSetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [factory.createParameterDeclaration( - void 0, - void 0, - "arg", - void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled) - )], - void 0 - ), ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createSetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [factory.createParameterDeclaration( + void 0, + void 0, + "arg", + void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p) + )], + void 0 + ), + ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl + )); } if (p.flags & 32768 /* GetAccessor */) { const isPrivate2 = modifierFlags & 8 /* Private */; - result.push(setTextRange(factory.createGetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [], - isPrivate2 ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createGetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [], + isPrivate2 ? void 0 : serializeTypeForDeclaration(context, void 0, getTypeOfSymbol(p), p), + void 0 + ), + ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl + )); } return result; } else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) { - return setTextRange(createProperty2( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl); + return setTextRange2( + context, + createProperty2( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p), + void 0 + ), + ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl + ); } if (p.flags & (8192 /* Method */ | 16 /* Function */)) { const type = getTypeOfSymbol(p); const signatures = getSignaturesOfType(type, 0 /* Call */); if (flag & 8 /* Private */) { - return setTextRange(createProperty2( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - void 0, - void 0 - ), ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); + return setTextRange2( + context, + createProperty2( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + void 0, + void 0 + ), + ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0] + ); } const results2 = []; for (const sig of signatures) { @@ -52067,7 +53012,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } ); const location2 = sig.declaration && isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; - results2.push(setTextRange(decl, location2)); + results2.push(setTextRange2(context, decl, location2)); } return results2; } @@ -52108,17 +53053,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (privateProtected) { - return [setTextRange(factory.createConstructorDeclaration( - factory.createModifiersFromModifierFlags(privateProtected), - [], - void 0 - ), signatures[0].declaration)]; + return [setTextRange2( + context, + factory.createConstructorDeclaration( + factory.createModifiersFromModifierFlags(privateProtected), + [], + void 0 + ), + signatures[0].declaration + )]; } } const results2 = []; for (const sig of signatures) { const decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); - results2.push(setTextRange(decl, sig.declaration)); + results2.push(setTextRange2(context, decl, sig.declaration)); } return results2; } @@ -52242,8 +53191,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const t = types[i]; flags |= t.flags; if (!(t.flags & 98304 /* Nullable */)) { - if (t.flags & (512 /* BooleanLiteral */ | 1024 /* EnumLiteral */)) { - const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (t.flags & (512 /* BooleanLiteral */ | 1056 /* EnumLike */)) { + const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLikeType(t); if (baseType.flags & 1048576 /* Union */) { const count = baseType.types.length; if (i + count <= types.length && getRegularTypeOfLiteralType(types[i + count - 1]) === getRegularTypeOfLiteralType(baseType.types[count - 1])) { @@ -53956,6 +54905,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return false; } function isLiteralEnumMember(member) { + var _a2, _b; const expr = member.initializer; if (!expr) { return !(member.flags & 16777216 /* Ambient */); @@ -53968,7 +54918,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 225 /* PrefixUnaryExpression */: return expr.operator === 40 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 79 /* Identifier */: - return nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); + return nodeIsMissing(expr) || ((_b = (_a2 = getSymbolOfNode(member.parent).exports.get(expr.escapedText)) == null ? void 0 : _a2.valueDeclaration) == null ? void 0 : _b.kind) === 308 /* EnumMember */; case 227 /* BinaryExpression */: return isStringConcatExpression(expr); default: @@ -53985,7 +54935,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - if (member.initializer && isStringLiteralLike(member.initializer)) { + if (member.initializer && isStringConcatExpression(member.initializer)) { return links.enumKind = 1 /* Literal */; } if (!isLiteralEnumMember(member)) { @@ -53997,8 +54947,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } - function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && !(type.flags & 1048576 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + function getBaseTypeOfEnumLikeType(type) { + return type.flags & 1056 /* EnumLike */ && type.symbol.flags & 8 /* EnumMember */ ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { const links = getSymbolLinks(symbol); @@ -54012,9 +54962,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - const value = getEnumMemberValue(member); - const memberType = getFreshTypeOfLiteralType(getEnumLiteralType(value !== void 0 ? value : 0, enumCount, getSymbolOfNode(member))); - getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; + const memberSymbol = getSymbolOfNode(member); + const value = getEnumMemberValue(member).value; + const memberType = value !== void 0 ? getFreshTypeOfLiteralType( + getEnumLiteralType(value, enumCount, memberSymbol) + ) : createComputedEnumType(memberSymbol); + getSymbolLinks(memberSymbol).declaredType = memberType; memberTypeList.push(getRegularTypeOfLiteralType(memberType)); } } @@ -54029,9 +54982,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.declaredType = enumType2; } } - const enumType = createType(32 /* Enum */); - enumType.symbol = symbol; - return links.declaredType = enumType; + const enumType = createComputedEnumType(symbol); + links.declaredType = enumType; + return links.declaredType; + } + function createComputedEnumType(symbol) { + const regularType = createTypeWithSymbol(32 /* Enum */, symbol); + const freshType = createTypeWithSymbol(32 /* Enum */, symbol); + regularType.regularType = regularType; + regularType.freshType = freshType; + freshType.freshType = freshType; + freshType.regularType = regularType; + return regularType; } function getDeclaredTypeOfEnumMember(symbol) { const links = getSymbolLinks(symbol); @@ -56298,8 +57260,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function cloneTypeReference(source) { - const type = createType(source.flags); - type.symbol = source.symbol; + const type = createTypeWithSymbol(source.flags, source.symbol); type.objectFlags = source.objectFlags; type.target = source.target; type.resolvedTypeArguments = source.resolvedTypeArguments; @@ -57253,7 +58214,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { orderedRemoveItemAt(typeSet, missingIndex); } } - if (includes & (2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { + if (includes & (32 /* Enum */ | 2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & 2 /* Subtype */)); } if (includes & 128 /* StringLiteral */ && includes & 134217728 /* TemplateLiteral */) { @@ -57844,8 +58805,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return result; } function createStringMappingType(symbol, type) { - const result = createType(268435456 /* StringMapping */); - result.symbol = symbol; + const result = createTypeWithSymbol(268435456 /* StringMapping */, symbol); result.type = type; return result; } @@ -58659,14 +59619,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return info.isReadonly !== readonly ? createIndexInfo(info.keyType, info.type, readonly, info.declaration) : info; } function createLiteralType(flags, value, symbol, regularType) { - const type = createType(flags); - type.symbol = symbol; + const type = createTypeWithSymbol(flags, symbol); type.value = value; type.regularType = regularType || type; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 2944 /* Literal */) { + if (type.flags & 2976 /* Freshable */) { if (!type.freshType) { const freshType = createLiteralType(type.flags, type.value, type.symbol, type); freshType.freshType = freshType; @@ -58677,10 +59636,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 2944 /* Literal */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; + return type.flags & 2976 /* Freshable */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; } function isFreshLiteralType(type) { - return !!(type.flags & 2944 /* Literal */) && type.freshType === type; + return !!(type.flags & 2976 /* Freshable */) && type.freshType === type; } function getStringLiteralType(value) { let type; @@ -58713,8 +59672,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.resolvedType; } function createUniqueESSymbolType(symbol) { - const type = createType(8192 /* UniqueESSymbol */); - type.symbol = symbol; + const type = createTypeWithSymbol(8192 /* UniqueESSymbol */, symbol); type.escapedName = `__@${type.symbol.escapedName}@${getSymbolId(type.symbol)}`; return type; } @@ -59795,7 +60753,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return compareSignaturesRelated( source, target, - ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0, + ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0 /* None */, false, void 0, void 0, @@ -59977,7 +60935,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { errorReporter( Diagnostics.Property_0_is_missing_in_type_1, symbolName(property), - typeToString(getDeclaredTypeOfSymbol(targetSymbol), void 0, 64 /* UseFullyQualifiedType */) + typeToString( + getDeclaredTypeOfSymbol(targetSymbol), + void 0, + 64 /* UseFullyQualifiedType */ + ) ); enumRelation.set(id, 2 /* Failed */ | 4 /* Reported */); } else { @@ -60011,13 +60973,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; if (s & 12288 /* ESSymbolLike */ && t & 4096 /* ESSymbol */) return true; - if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; + } if (s & 1024 /* EnumLiteral */ && t & 1024 /* EnumLiteral */) { - if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; - if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) + } + if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) { return true; + } } if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */))) return true; @@ -62353,7 +63318,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type.flags & 16 /* Boolean */ ? true : type.flags & 1048576 /* Union */ ? type.flags & 1024 /* EnumLiteral */ ? true : every(type.types, isUnitType) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; + return type.flags & 1056 /* EnumLike */ ? getBaseTypeOfEnumLikeType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; } function getBaseTypeOfLiteralTypeUnion(type) { var _a2; @@ -62361,7 +63326,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return (_a2 = getCachedType(key)) != null ? _a2 : setCachedType(key, mapType(type, getBaseTypeOfLiteralType)); } function getWidenedLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; + return type.flags & 1056 /* EnumLike */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLikeType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; } function getWidenedUniqueESSymbolType(type) { return type.flags & 8192 /* UniqueESSymbol */ ? esSymbolType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedUniqueESSymbolType) : type; @@ -64300,7 +65265,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return true; } - if (source.flags & 1024 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 1056 /* EnumLike */ && getBaseTypeOfEnumLikeType(source) === target) { return true; } return containsType(target.types, source); @@ -72862,7 +73827,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function checkExpressionCached(node, checkMode) { - if (checkMode && checkMode !== 0 /* Normal */) { + if (checkMode) { return checkExpression(node, checkMode); } const links = getNodeLinks(node); @@ -77707,13 +78672,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { nodeLinks2.flags |= 16384 /* EnumValuesComputed */; let autoValue = 0; for (const member of node.members) { - const value = computeMemberValue(member, autoValue); - getNodeLinks(member).enumMemberValue = value; - autoValue = typeof value === "number" ? value + 1 : void 0; + const result = computeEnumMemberValue(member, autoValue); + getNodeLinks(member).enumMemberValue = result; + autoValue = typeof result.value === "number" ? result.value + 1 : void 0; } } } - function computeMemberValue(member, autoValue) { + function computeEnumMemberValue(member, autoValue) { if (isComputedNonLiteralName(member.name)) { error(member.name, Diagnostics.Computed_property_names_are_not_allowed_in_enums); } else { @@ -77723,29 +78688,33 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (member.initializer) { - return computeConstantValue(member); + return computeConstantEnumMemberValue(member); } if (member.parent.flags & 16777216 /* Ambient */ && !isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { - return void 0; + return evaluatorResult(void 0); } - if (autoValue !== void 0) { - return autoValue; + if (autoValue === void 0) { + error(member.name, Diagnostics.Enum_member_must_have_initializer); + return evaluatorResult(void 0); } - error(member.name, Diagnostics.Enum_member_must_have_initializer); - return void 0; + return evaluatorResult(autoValue); } - function computeConstantValue(member) { + function computeConstantEnumMemberValue(member) { const enumKind = getEnumKind(getSymbolOfNode(member.parent)); const isConstEnum2 = isEnumConst(member.parent); const initializer = member.initializer; - const value = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? void 0 : evaluate(initializer); - if (value !== void 0) { - if (isConstEnum2 && typeof value === "number" && !isFinite(value)) { - error(initializer, isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value); + const result = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? evaluatorResult(void 0) : evaluate(initializer, member); + if (result.value !== void 0) { + if (isConstEnum2 && typeof result.value === "number" && !isFinite(result.value)) { + error( + initializer, + isNaN(result.value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value + ); } } else if (enumKind === 1 /* Literal */) { + const result2 = evaluate(initializer, member); error(initializer, Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members); - return 0; + return evaluatorResult(0, result2.isSyntacticallyString, result2.resolvedOtherFiles, result2.hasExternalReferences); } else if (isConstEnum2) { error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); } else if (member.parent.flags & 16777216 /* Ambient */) { @@ -77758,103 +78727,149 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { checkTypeAssignableTo(source, getDeclaredTypeOfSymbol(getSymbolOfNode(member.parent)), initializer, void 0); } } - return value; - function evaluate(expr) { + return result; + function evaluate(expr, location2) { + let isSyntacticallyString = false; + let resolvedOtherFiles = false; + let hasExternalReferences = false; + expr = skipParentheses(expr); switch (expr.kind) { case 225 /* PrefixUnaryExpression */: - const value2 = evaluate(expr.operand); - if (typeof value2 === "number") { + const result2 = evaluate(expr.operand, location2); + resolvedOtherFiles = result2.resolvedOtherFiles; + hasExternalReferences = result2.hasExternalReferences; + if (typeof result2.value === "number") { switch (expr.operator) { case 39 /* PlusToken */: - return value2; + return evaluatorResult(result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return -value2; + return evaluatorResult(-result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 54 /* TildeToken */: - return ~value2; + return evaluatorResult(~result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } } break; - case 227 /* BinaryExpression */: - const left = evaluate(expr.left); - const right = evaluate(expr.right); - if (typeof left === "number" && typeof right === "number") { + case 227 /* BinaryExpression */: { + const left = evaluate(expr.left, location2); + const right = evaluate(expr.right, location2); + isSyntacticallyString = (left.isSyntacticallyString || right.isSyntacticallyString) && expr.operatorToken.kind === 39 /* PlusToken */; + resolvedOtherFiles = left.resolvedOtherFiles || right.resolvedOtherFiles; + hasExternalReferences = left.hasExternalReferences || right.hasExternalReferences; + if (typeof left.value === "number" && typeof right.value === "number") { switch (expr.operatorToken.kind) { case 51 /* BarToken */: - return left | right; + return evaluatorResult(left.value | right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 50 /* AmpersandToken */: - return left & right; + return evaluatorResult(left.value & right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 48 /* GreaterThanGreaterThanToken */: - return left >> right; + return evaluatorResult(left.value >> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 49 /* GreaterThanGreaterThanGreaterThanToken */: - return left >>> right; + return evaluatorResult(left.value >>> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 47 /* LessThanLessThanToken */: - return left << right; + return evaluatorResult(left.value << right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 52 /* CaretToken */: - return left ^ right; + return evaluatorResult(left.value ^ right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 41 /* AsteriskToken */: - return left * right; + return evaluatorResult(left.value * right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 43 /* SlashToken */: - return left / right; + return evaluatorResult(left.value / right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 39 /* PlusToken */: - return left + right; + return evaluatorResult(left.value + right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return left - right; + return evaluatorResult(left.value - right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 44 /* PercentToken */: - return left % right; + return evaluatorResult(left.value % right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 42 /* AsteriskAsteriskToken */: - return left ** right; - } - } else if (typeof left === "string" && typeof right === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { - return left + right; + return evaluatorResult(left.value ** right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + } + } else if (typeof left.value === "string" && typeof right.value === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { + return evaluatorResult( + "" + left.value + right.value, + isSyntacticallyString, + resolvedOtherFiles, + hasExternalReferences + ); } break; + } case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - return expr.text; + return evaluatorResult(expr.text, true); case 8 /* NumericLiteral */: - checkGrammarNumericLiteral(expr); - return +expr.text; - case 217 /* ParenthesizedExpression */: - return evaluate(expr.expression); + return evaluatorResult(+expr.text); case 79 /* Identifier */: - const identifier = expr; - if (isInfinityOrNaNString(identifier.escapedText)) { - return +identifier.escapedText; - } - return nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 212 /* ElementAccessExpression */: + return evaluateEntityNameExpression(expr, location2); case 211 /* PropertyAccessExpression */: - if (isConstantMemberAccess(expr)) { - const type = getTypeOfExpression(expr.expression); - if (type.symbol && type.symbol.flags & 384 /* Enum */) { - let name; - if (expr.kind === 211 /* PropertyAccessExpression */) { - name = expr.name.escapedText; - } else { - name = escapeLeadingUnderscores(cast(expr.argumentExpression, isLiteralExpression).text); - } - return evaluateEnumMember(expr, type.symbol, name); - } + if (isEntityNameExpression(expr)) { + return evaluateEntityNameExpression(expr, location2); } break; + case 212 /* ElementAccessExpression */: + return evaluateElementAccessExpression(expr, location2); } - return void 0; + return evaluatorResult(void 0, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } - function evaluateEnumMember(expr, enumSymbol, name) { - const memberSymbol = enumSymbol.exports.get(name); - if (memberSymbol) { - const declaration = memberSymbol.valueDeclaration; - if (declaration !== member) { - if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member) && isEnumDeclaration(declaration.parent)) { - return getEnumMemberValue(declaration); + function evaluateEntityNameExpression(expr, location2) { + const symbol = resolveEntityName(expr, 111551 /* Value */, true); + if (!symbol) { + return evaluatorResult(void 0); + } + if (expr.kind === 79 /* Identifier */) { + const identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText) && symbol === getGlobalSymbol(identifier.escapedText, 111551 /* Value */, void 0)) { + return evaluatorResult(+identifier.escapedText, false); + } + } + if (symbol.flags & 8 /* EnumMember */) { + return location2 ? evaluateEnumMember(expr, symbol, location2) : getEnumMemberValue(symbol.valueDeclaration); + } + if (isConstVariable(symbol)) { + const declaration = symbol.valueDeclaration; + if (declaration && isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && (!location2 || declaration !== location2 && isBlockScopedNameDeclaredBeforeUse(declaration, location2))) { + const result2 = evaluate(declaration.initializer, declaration); + if (location2 && getSourceFileOfNode(location2) !== getSourceFileOfNode(declaration)) { + return evaluatorResult( + result2.value, + false, + true, + true + ); } - error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); - return 0; - } else { - error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(memberSymbol)); + return evaluatorResult(result2.value, result2.isSyntacticallyString, result2.resolvedOtherFiles, true); } } - return void 0; + return evaluatorResult(void 0); + } + function evaluateElementAccessExpression(expr, location2) { + const root = expr.expression; + if (isEntityNameExpression(root) && isStringLiteralLike(expr.argumentExpression)) { + const rootSymbol = resolveEntityName(root, 111551 /* Value */, true); + if (rootSymbol && rootSymbol.flags & 384 /* Enum */) { + const name = escapeLeadingUnderscores(expr.argumentExpression.text); + const member2 = rootSymbol.exports.get(name); + if (member2) { + Debug.assert(getSourceFileOfNode(member2.valueDeclaration) === getSourceFileOfNode(rootSymbol.valueDeclaration)); + return location2 ? evaluateEnumMember(expr, member2, location2) : getEnumMemberValue(member2.valueDeclaration); + } + } + } + return evaluatorResult(void 0); + } + function evaluateEnumMember(expr, symbol, location2) { + const declaration = symbol.valueDeclaration; + if (!declaration || declaration === location2) { + error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(symbol)); + return evaluatorResult(void 0); + } + if (!isBlockScopedNameDeclaredBeforeUse(declaration, location2)) { + error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); + return evaluatorResult(0); + } + const value = getEnumMemberValue(declaration); + if (location2.parent !== declaration.parent) { + return evaluatorResult(value.value, value.isSyntacticallyString, value.resolvedOtherFiles, true); + } + return value; } } function isConstantMemberAccess(node) { @@ -77908,6 +78923,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (isPrivateIdentifier(node.name)) { error(node, Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier); } + if (node.initializer) { + checkExpression(node.initializer); + } } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { const declarations = symbol.declarations; @@ -79812,15 +80830,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { - const declaration = getParseTreeNode(node, isFunctionDeclaration); + const declaration = getParseTreeNode( + node, + (n) => isFunctionDeclaration(n) || isVariableDeclaration(n) + ); if (!declaration) { return false; } - const symbol = getSymbolOfNode(declaration); - if (!symbol || !(symbol.flags & 16 /* Function */)) { + let symbol; + if (isVariableDeclaration(declaration)) { + if (declaration.type || !isInJSFile(declaration) && !isVarConst(declaration)) { + return false; + } + const initializer = getDeclaredExpandoInitializer(declaration); + if (!initializer || !canHaveSymbol(initializer)) { + return false; + } + symbol = getSymbolOfNode(initializer); + } else { + symbol = getSymbolOfNode(declaration); + } + if (!symbol || !(symbol.flags & 16 /* Function */ | 3 /* Variable */)) { return false; } - return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && p.valueDeclaration && isPropertyAccessExpression(p.valueDeclaration)); + return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && isExpandoPropertyDeclaration(p.valueDeclaration)); } function getPropertiesOfContainerFunction(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -79838,8 +80871,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return ((_a2 = nodeLinks[nodeId]) == null ? void 0 : _a2.flags) || 0; } function getEnumMemberValue(node) { + var _a2; computeEnumMemberValues(node.parent); - return getNodeLinks(node).enumMemberValue; + return (_a2 = getNodeLinks(node).enumMemberValue) != null ? _a2 : evaluatorResult(void 0); } function canHaveConstantValue(node) { switch (node.kind) { @@ -79852,13 +80886,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function getConstantValue2(node) { if (node.kind === 308 /* EnumMember */) { - return getEnumMemberValue(node); + return getEnumMemberValue(node).value; } const symbol = getNodeLinks(node).resolvedSymbol; if (symbol && symbol.flags & 8 /* EnumMember */) { const member = symbol.valueDeclaration; if (isEnumConst(member.parent)) { - return getEnumMemberValue(member); + return getEnumMemberValue(member).value; } } return void 0; @@ -79925,20 +80959,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return 11 /* ObjectType */; } } - function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker) { const declaration = getParseTreeNode(declarationIn, isVariableLikeOrAccessor); if (!declaration) { return factory.createToken(132 /* AnyKeyword */); } const symbol = getSymbolOfNode(declaration); - let type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol) { - flags |= 1048576 /* AllowUniqueESSymbolType */; - } - if (addUndefined) { - type = getOptionalType(type); - } - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + const type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; + return nodeBuilder.serializeTypeForDeclaration( + declaration, + type, + symbol, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); + } + function isDeclarationWithPossibleInnerTypeNodeReuse(declaration) { + return isFunctionLike(declaration) || isExportAssignment(declaration) || isVariableLike(declaration); } function getAllAccessorDeclarationsForDeclaration(accessor) { accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); @@ -79955,13 +80993,39 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getAccessor }; } + function getPossibleTypeNodeReuseExpression(declaration) { + return isFunctionLike(declaration) && !isSetAccessor(declaration) ? getSingleReturnExpression(declaration) : isExportAssignment(declaration) ? declaration.expression : !!declaration.initializer ? declaration.initializer : isParameter(declaration) && isSetAccessor(declaration.parent) ? getSingleReturnExpression(getAllAccessorDeclarationsForDeclaration(declaration.parent).getAccessor) : void 0; + } + function getSingleReturnExpression(declaration) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + return candidateExpr; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { return factory.createToken(132 /* AnyKeyword */); } - const signature = getSignatureFromDeclaration(signatureDeclaration); - return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.serializeReturnTypeForSignature( + getSignatureFromDeclaration(signatureDeclaration), + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { const expr = getParseTreeNode(exprIn, isExpression); @@ -79969,7 +81033,14 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createToken(132 /* AnyKeyword */); } const type = getWidenedType(getRegularTypeOfExpression(expr)); - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.expressionOrTypeToTypeNode( + expr, + type, + void 0, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function hasGlobalName(name) { return globals.has(escapeLeadingUnderscores(name)); @@ -80022,8 +81093,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function isNonNarrowedBindableName(node) { + if (!hasBindableName(node.parent)) { + return false; + } + const expression = node.expression; + if (!isEntityNameExpression(expression)) { + return true; + } + const type = getTypeOfExpression(expression); + const symbol = getSymbolAtLocation(expression); + if (!symbol) { + return false; + } + const declaredType = getTypeOfSymbol(symbol); + return declaredType === type; + } function literalTypeToNode(type, enclosing, tracker) { - const enumResult = type.flags & 1024 /* EnumLiteral */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); + const enumResult = type.flags & 1056 /* EnumLike */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); if (enumResult) return enumResult; const literalValue = type.value; @@ -80068,6 +81155,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return void 0; } + function getNonlocalEffectiveReturnTypeAnnotationNode(node) { + const direct = getEffectiveReturnTypeNode(node); + if (direct) { + return direct; + } + if (node.kind === 177 /* GetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node).setAccessor; + if (other) { + const param = getSetAccessorValueParameter(other); + if (param) { + return getEffectiveTypeAnnotationNode(param); + } + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -80163,6 +81266,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const node = getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue2(node) : void 0; }, + getEnumMemberValue: (nodeIn) => { + const node = getParseTreeNode(nodeIn, isEnumMember); + return node ? getEnumMemberValue(node) : void 0; + }, collectLinkedAliases, getReferencedValueDeclaration, getTypeReferenceSerializationKind, @@ -80176,6 +81283,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration, + isNonNarrowedBindableName, isLateBound: (nodeIn) => { const node = getParseTreeNode(nodeIn, isDeclaration); const symbol = node && getSymbolOfNode(node); @@ -80204,14 +81312,15 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const parseDecl = getParseTreeNode(decl); return !!parseNode && !!parseDecl && (isVariableDeclaration(parseDecl) || isBindingElement(parseDecl)) && isBindingCapturedByNode(parseNode, parseDecl); }, - getDeclarationStatementsForSourceFile: (node, flags, tracker, bundled) => { + getDeclarationStatementsForSourceFile: (node, flags, tracker) => { const n = getParseTreeNode(node); Debug.assert(n && n.kind === 314 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); const sym = getSymbolOfNode(node); if (!sym) { - return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); + return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker); } - return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled); + resolveExternalModuleSymbol(sym); + return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker); }, isImportRequiredByAugmentation, getAnnotationObjectLiteralEvaluatedProps: (node) => { @@ -81605,7 +82714,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function isSimpleLiteralEnumReference(expr) { if ((isPropertyAccessExpression(expr) || isElementAccessExpression(expr) && isStringOrNumberLiteralExpression(expr.argumentExpression)) && isEntityNameExpression(expr.expression)) { - return !!(checkExpressionCached(expr).flags & 1024 /* EnumLiteral */); + return !!(checkExpressionCached(expr).flags & 1056 /* EnumLike */); } } function checkAmbientInitializer(node) { @@ -82039,6 +83148,138 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return void 0; } } +function createBasicNodeBuilderModuleSpecifierResolutionHost(host) { + return { + getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", + getCurrentDirectory: () => host.getCurrentDirectory(), + getSymlinkCache: maybeBind(host, host.getSymlinkCache), + getPackageJsonInfoCache: () => { + var _a2; + return (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host); + }, + useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), + redirectTargetsMap: host.redirectTargetsMap, + getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), + isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), + fileExists: (fileName) => host.fileExists(fileName), + getFileIncludeReasons: () => host.getFileIncludeReasons(), + readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 + }; +} +var SymbolTrackerImpl = class { + constructor(context, tracker, moduleResolverHost) { + this.moduleResolverHost = void 0; + this.inner = void 0; + this.disableTrackSymbol = false; + var _a2; + while (tracker instanceof SymbolTrackerImpl) { + tracker = tracker.inner; + } + this.inner = tracker; + this.moduleResolverHost = moduleResolverHost; + this.context = context; + this.canTrackSymbol = !!((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol); + } + trackSymbol(symbol, enclosingDeclaration, meaning) { + var _a2, _b, _c; + if (((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol) && !this.disableTrackSymbol) { + if (this.inner.trackSymbol(symbol, enclosingDeclaration, meaning)) { + this.onDiagnosticReported(); + return true; + } + if (!(symbol.flags & 262144 /* TypeParameter */)) { + ((_c = (_b = this.context).trackedSymbols) != null ? _c : _b.trackedSymbols = []).push([symbol, enclosingDeclaration, meaning]); + } + } + return false; + } + trackReferencedAmbientModule(decl, symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackReferencedAmbientModule) { + this.onDiagnosticReported(); + this.inner.trackReferencedAmbientModule(decl, symbol); + } + } + trackExternalModuleSymbolOfImportTypeNode(symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackExternalModuleSymbolOfImportTypeNode) { + this.onDiagnosticReported(); + this.inner.trackExternalModuleSymbolOfImportTypeNode(symbol); + } + } + reportInaccessibleThisError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleThisError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleThisError(); + } + } + reportPrivateInBaseOfClassExpression(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportPrivateInBaseOfClassExpression) { + this.onDiagnosticReported(); + this.inner.reportPrivateInBaseOfClassExpression(propertyName); + } + } + reportInaccessibleUniqueSymbolError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleUniqueSymbolError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleUniqueSymbolError(); + } + } + reportCyclicStructureError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportCyclicStructureError) { + this.onDiagnosticReported(); + this.inner.reportCyclicStructureError(); + } + } + reportLikelyUnsafeImportRequiredError(specifier) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportLikelyUnsafeImportRequiredError) { + this.onDiagnosticReported(); + this.inner.reportLikelyUnsafeImportRequiredError(specifier); + } + } + reportTruncationError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportTruncationError) { + this.onDiagnosticReported(); + this.inner.reportTruncationError(); + } + } + reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonlocalAugmentation) { + this.onDiagnosticReported(); + this.inner.reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol); + } + } + reportNonSerializableProperty(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonSerializableProperty) { + this.onDiagnosticReported(); + this.inner.reportNonSerializableProperty(propertyName); + } + } + reportImportTypeNodeResolutionModeOverride() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportImportTypeNodeResolutionModeOverride) { + this.onDiagnosticReported(); + this.inner.reportImportTypeNodeResolutionModeOverride(); + } + } + onDiagnosticReported() { + this.context.reportedDiagnostic = true; + } + reportInferenceFallback(node) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInferenceFallback) { + this.inner.reportInferenceFallback(node); + } + } +}; function isNotAccessor(declaration) { return !isAccessor(declaration); } @@ -82312,7 +83553,7 @@ function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) { } return updated; } -function visitEachChild(node, visitor, context, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { +function visitEachChild(node, visitor, context = nullTransformationContext, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { if (node === void 0) { return void 0; } @@ -99384,7 +100625,7 @@ function isInternalDeclaration(node, currentSourceFile) { return hasInternalAnnotation(range, currentSourceFile); }); } -var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; +var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 1 /* AllowUnresolvedComputedNames */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; function transformDeclarations(context) { const throwDiagnostic = () => Debug.fail("Diagnostic emitted without context"); let getSymbolAccessibilityDiagnostic = throwDiagnostic; @@ -99414,7 +100655,8 @@ function transformDeclarations(context) { trackExternalModuleSymbolOfImportTypeNode, reportNonlocalAugmentation, reportNonSerializableProperty, - reportImportTypeNodeResolutionModeOverride + reportImportTypeNodeResolutionModeOverride, + reportInferenceFallback }; let errorNameNode; let errorFallbackNode; @@ -99424,8 +100666,30 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); + const getIsolatedDeclarationError = createGetIsolatedDeclarationErrors(resolver); const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; + function reportExpandoFunctionErrors(node) { + resolver.getPropertiesOfContainerFunction(node).forEach((p) => { + if (isExpandoPropertyDeclaration(p.valueDeclaration)) { + const errorTarget = isBinaryExpression(p.valueDeclaration) ? p.valueDeclaration.left : p.valueDeclaration; + context.addDiagnostic(createDiagnosticForNode( + errorTarget, + Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function + )); + } + }); + } + function reportInferenceFallback(node) { + if (!isolatedDeclarations || isSourceFileJS(currentSourceFile)) { + return; + } + if (isVariableDeclaration(node) && resolver.isExpandoFunctionDeclaration(node)) { + reportExpandoFunctionErrors(node); + } else { + context.addDiagnostic(getIsolatedDeclarationError(node)); + } + } function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { return; @@ -99776,7 +101040,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, void 0, elem.propertyName, - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } return factory2.updateBindingElement( @@ -99784,7 +101048,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } } @@ -99809,11 +101073,15 @@ function transformDeclarations(context) { return newParam; } function shouldPrintWithInitializer(node) { - return canHaveLiteralInitializer(node) && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); + return canHaveLiteralInitializer(node) && !!node.initializer && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); } function ensureNoInitializer(node) { if (shouldPrintWithInitializer(node)) { - return resolver.createLiteralConstValue(getParseTreeNode(node), symbolTracker); + const unwrappedInitializer = unwrapParenthesizedExpression(node.initializer); + if (!isPrimitiveLiteralValue(unwrappedInitializer)) { + reportInferenceFallback(node); + } + return resolver.createLiteralConstValue(getParseTreeNode(node, canHaveLiteralInitializer), symbolTracker); } return void 0; } @@ -99848,8 +101116,8 @@ function transformDeclarations(context) { } if (node.kind === 168 /* Parameter */ || node.kind === 171 /* PropertyDeclaration */ || node.kind === 170 /* PropertySignature */ || node.kind === 172 /* AnnotationPropertyDeclaration */) { if (isPropertySignature(node) || !node.initializer) - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } return cleanup(resolver.createReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); function cleanup(returnValue) { @@ -100114,6 +101382,14 @@ function transformDeclarations(context) { if (isDeclarationAndNotVisible(input)) return; if (hasDynamicName(input) && !resolver.isLateBound(getParseTreeNode(input))) { + if (isolatedDeclarations && isClassDeclaration(input.parent) && isEntityNameExpression(input.name.expression) && resolver.isEntityNameVisible(input.name.expression, input.parent).accessibility === 0 /* Accessible */ && !resolver.isNonNarrowedBindableName(input.name)) { + context.addDiagnostic( + createDiagnosticForNode( + input, + Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations + ) + ); + } return; } } @@ -100482,6 +101758,9 @@ function transformDeclarations(context) { } if (clean2 && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { const props = resolver.getPropertiesOfContainerFunction(input); + if (isolatedDeclarations) { + reportExpandoFunctionErrors(input); + } const fakespace = parseNodeFactory.createModuleDeclaration(void 0, clean2.name || factory2.createIdentifier("_default"), factory2.createModuleBlock([]), 16 /* Namespace */); setParent(fakespace, enclosingDeclaration); fakespace.locals = createSymbolTable(props); @@ -100492,7 +101771,12 @@ function transformDeclarations(context) { return void 0; } getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(p.valueDeclaration); - const type = resolver.createTypeOfDeclaration(p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags, symbolTracker); + const type = resolver.createTypeOfDeclaration( + p.valueDeclaration, + fakespace, + declarationEmitNodeBuilderFlags | -2147483648 /* NoSyntacticPrinter */, + symbolTracker + ); getSymbolAccessibilityDiagnostic = oldDiag; const nameStr = unescapeLeadingUnderscores(p.escapedName); const isNonContextualKeywordName = isStringANonContextualKeyword(nameStr); @@ -100737,12 +102021,26 @@ function transformDeclarations(context) { return cleanup(transformVariableStatement(input)); } case 269 /* EnumDeclaration */: { - return cleanup(factory2.updateEnumDeclaration(input, factory2.createNodeArray(ensureModifiers(input)), input.name, factory2.createNodeArray(mapDefined(input.members, (m) => { - if (shouldStripInternal(m)) - return; - const constValue = resolver.getConstantValue(m); - return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); - })))); + return cleanup(factory2.updateEnumDeclaration( + input, + factory2.createNodeArray(ensureModifiers(input)), + input.name, + factory2.createNodeArray(mapDefined(input.members, (m) => { + if (shouldStripInternal(m)) + return; + const enumValue = resolver.getEnumMemberValue(m); + const constValue = enumValue == null ? void 0 : enumValue.value; + if (isolatedDeclarations && m.initializer && (enumValue == null ? void 0 : enumValue.hasExternalReferences) && !isComputedPropertyName(m.name)) { + context.addDiagnostic( + createDiagnosticForNode( + m, + Diagnostics.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations + ) + ); + } + return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); + })) + )); } } function cleanup(node) { @@ -100795,7 +102093,7 @@ function transformDeclarations(context) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = node.name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node))); + Debug.assert(hasDynamicName(node)); const decl = node; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); @@ -101726,7 +103024,7 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla const sourceFiles = isSourceFile(sourceFileOrBundle) ? [sourceFileOrBundle] : sourceFileOrBundle.sourceFiles; const filesForEmit = forceDtsEmit ? sourceFiles : filter(sourceFiles, isSourceFileNotJson); const inputListOrBundle = outFile(compilerOptions) ? [factory.createBundle(filesForEmit, !isSourceFile(sourceFileOrBundle) ? sourceFileOrBundle.prepends : void 0)] : filesForEmit; - if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions)) { + if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions) || compilerOptions.noCheck) { filesForEmit.forEach(collectLinkedAliases); } PerformanceDotting.start("transformNodes"); @@ -101935,6 +103233,7 @@ var notImplementedResolver = { isSymbolAccessible: notImplemented, isEntityNameVisible: notImplemented, getConstantValue: notImplemented, + getEnumMemberValue: notImplemented, getReferencedValueDeclaration: notImplemented, getTypeReferenceSerializationKind: notImplemented, isOptionalParameter: notImplemented, @@ -101944,6 +103243,7 @@ var notImplementedResolver = { getTypeReferenceDirectivesForEntityName: notImplemented, getTypeReferenceDirectivesForSymbol: notImplemented, isLiteralConstDeclaration: notImplemented, + isNonNarrowedBindableName: notImplemented, getJsxFactoryEntity: notImplemented, getJsxFragmentFactoryEntity: notImplemented, getAllAccessorDeclarations: notImplemented, @@ -109648,6 +110948,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit"); } } + if (options.noCheck) { + if (options.noEmit) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); + } + if (!options.emitDeclarationOnly) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "noCheck", "emitDeclarationOnly"); + } + } if (options.emitDecoratorMetadata && !options.experimentalDecorators) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"); } @@ -116522,6 +117830,7 @@ __export(ts_exports3, { canHaveIllegalType: () => canHaveIllegalType, canHaveIllegalTypeParameters: () => canHaveIllegalTypeParameters, canHaveModifiers: () => canHaveModifiers, + canHaveSymbol: () => canHaveSymbol, canJsonReportNoInputFiles: () => canJsonReportNoInputFiles, canProduceDiagnostics: () => canProduceDiagnostics, canWatchDirectoryOrFile: () => canWatchDirectoryOrFile, @@ -116896,6 +118205,7 @@ __export(ts_exports3, { createSwitch: () => createSwitch, createSymbolTable: () => createSymbolTable, createSymlinkCache: () => createSymlinkCache, + createSyntacticTypeNodeBuilder: () => createSyntacticTypeNodeBuilder, createSystemWatchFunctions: () => createSystemWatchFunctions, createTaggedTemplate: () => createTaggedTemplate, createTempVariable: () => createTempVariable, @@ -117005,6 +118315,7 @@ __export(ts_exports3, { escapeNonAsciiString: () => escapeNonAsciiString, escapeSnippetText: () => escapeSnippetText, escapeString: () => escapeString, + evaluatorResult: () => evaluatorResult, every: () => every, expandPreOrPostfixIncrementOrDecrementExpression: () => expandPreOrPostfixIncrementOrDecrementExpression, explainFiles: () => explainFiles, @@ -117571,6 +118882,7 @@ __export(ts_exports3, { hasExtension: () => hasExtension, hasIllegalDecorators: () => hasIllegalDecorators, hasIndexSignature: () => hasIndexSignature, + hasInferredType: () => hasInferredType, hasInitializer: () => hasInitializer, hasInvalidEscape: () => hasInvalidEscape, hasJSDocNodes: () => hasJSDocNodes, @@ -117789,6 +119101,7 @@ __export(ts_exports3, { isExclamationToken: () => isExclamationToken, isExcludedFile: () => isExcludedFile, isExclusivelyTypeOnlyImportOrExport: () => isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration: () => isExpandoPropertyDeclaration, isExportAssignment: () => isExportAssignment, isExportDeclaration: () => isExportDeclaration, isExportModifier: () => isExportModifier, @@ -118105,6 +119418,7 @@ __export(ts_exports3, { isPossiblyTypeArgumentPosition: () => isPossiblyTypeArgumentPosition, isPostfixUnaryExpression: () => isPostfixUnaryExpression, isPrefixUnaryExpression: () => isPrefixUnaryExpression, + isPrimitiveLiteralValue: () => isPrimitiveLiteralValue, isPrivateIdentifier: () => isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration: () => isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression: () => isPrivateIdentifierPropertyAccessExpression, @@ -118670,6 +119984,7 @@ __export(ts_exports3, { transformTypeExportImportAndConstEnumInTypeScript: () => transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript: () => transformTypeScript, transpile: () => transpile, + transpileDeclaration: () => transpileDeclaration, transpileModule: () => transpileModule, transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions, trimString: () => trimString, @@ -118719,6 +120034,7 @@ __export(ts_exports3, { unreachableCodeIsError: () => unreachableCodeIsError, unusedLabelIsError: () => unusedLabelIsError, unwrapInnermostStatementOfLabel: () => unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression: () => unwrapParenthesizedExpression, updateArrayBindingPattern: () => updateArrayBindingPattern, updateArrayLiteral: () => updateArrayLiteral, updateArrayTypeNode: () => updateArrayTypeNode, @@ -120571,7 +121887,8 @@ function createModuleSpecifierResolutionHost(program, host) { getProjectReferenceRedirect: (fileName) => program.getProjectReferenceRedirect(fileName), isSourceOfProjectReferenceRedirect: (fileName) => program.isSourceOfProjectReferenceRedirect(fileName), getNearestAncestorDirectoryWithPackageJson: maybeBind(host, host.getNearestAncestorDirectoryWithPackageJson), - getFileIncludeReasons: () => program.getFileIncludeReasons() + getFileIncludeReasons: () => program.getFileIncludeReasons(), + getCommonSourceDirectory: () => program.getCommonSourceDirectory() }; } function getModuleSpecifierResolverHost(program, host) { @@ -124729,6 +126046,34 @@ function canBeConvertedToAsync(node) { // src/services/transpile.ts function transpileModule(input, transpileOptions) { + return transpileWorker(input, transpileOptions, false); +} +function transpileDeclaration(input, transpileOptions) { + return transpileWorker(input, transpileOptions, true); +} +var barebonesLibContent = `/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number {} +interface Object {} +interface RegExp {} +interface String {} +interface Array { length: number; [n: number]: T; } +interface SymbolConstructor { + (desc?: string | number): symbol; + for(name: string): symbol; + readonly toStringTag: symbol; +} +declare var Symbol: SymbolConstructor; +interface Symbol { + readonly [Symbol.toStringTag]: string; +}`; +var barebonesLibName = "lib.d.ts"; +var barebonesLibSourceFile = createSourceFile(barebonesLibName, barebonesLibContent, { languageVersion: 99 /* Latest */ }); +function transpileWorker(input, transpileOptions, declaration) { const diagnostics = []; const options = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : {}; const defaultOptions = getDefaultCompilerOptions2(); @@ -124742,9 +126087,17 @@ function transpileModule(input, transpileOptions) { } options.suppressOutputPathCheck = true; options.allowNonTsExtensions = true; + if (declaration) { + options.declaration = true; + options.emitDeclarationOnly = true; + options.isolatedDeclarations = true; + options.noCheck = true; + } else { + options.declaration = false; + } const newLine = getNewLineCharacter(options); const compilerHost = { - getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : void 0, + getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : fileName === normalizePath(barebonesLibName) ? barebonesLibSourceFile : void 0, writeFile: (name, text) => { if (fileExtensionIs(name, ".map")) { Debug.assertEqual(sourceMapText, void 0, "Unexpected multiple source map outputs, file:", name); @@ -124754,12 +126107,12 @@ function transpileModule(input, transpileOptions) { outputText = text; } }, - getDefaultLibFileName: () => "lib.d.ts", + getDefaultLibFileName: () => barebonesLibName, useCaseSensitiveFileNames: () => false, getCanonicalFileName: (fileName) => fileName, getCurrentDirectory: () => "", getNewLine: () => newLine, - fileExists: (fileName) => fileName === inputFileName, + fileExists: (fileName) => fileName === inputFileName || !!declaration && fileName === barebonesLibName, readFile: () => "", directoryExists: () => true, getDirectories: () => [] @@ -124786,14 +126139,24 @@ function transpileModule(input, transpileOptions) { } let outputText; let sourceMapText; - const program = createProgram([inputFileName], options, compilerHost); + const inputs = declaration ? [inputFileName, barebonesLibName] : [inputFileName]; + const program = createProgram(inputs, options, compilerHost); if (transpileOptions.reportDiagnostics) { addRange(diagnostics, program.getSyntacticDiagnostics(sourceFile)); addRange(diagnostics, program.getOptionsDiagnostics()); } - program.emit(void 0, void 0, void 0, void 0, transpileOptions.transformers); - if (outputText === void 0) + const result = program.emit( + void 0, + void 0, + void 0, + declaration, + transpileOptions.transformers, + declaration + ); + addRange(diagnostics, result.diagnostics); + if (outputText === void 0) { return Debug.fail("Output generation failed"); + } return { outputText, diagnostics, sourceMapText }; } function transpile(input, compilerOptions, fileName, diagnostics, moduleName) { @@ -177077,6 +178440,7 @@ if (typeof process !== "undefined") { canHaveIllegalType, canHaveIllegalTypeParameters, canHaveModifiers, + canHaveSymbol, canJsonReportNoInputFiles, canProduceDiagnostics, canWatchDirectoryOrFile, @@ -177451,6 +178815,7 @@ if (typeof process !== "undefined") { createSwitch, createSymbolTable, createSymlinkCache, + createSyntacticTypeNodeBuilder, createSystemWatchFunctions, createTaggedTemplate, createTempVariable, @@ -177560,6 +178925,7 @@ if (typeof process !== "undefined") { escapeNonAsciiString, escapeSnippetText, escapeString, + evaluatorResult, every, expandPreOrPostfixIncrementOrDecrementExpression, explainFiles, @@ -178126,6 +179492,7 @@ if (typeof process !== "undefined") { hasExtension, hasIllegalDecorators, hasIndexSignature, + hasInferredType, hasInitializer, hasInvalidEscape, hasJSDocNodes, @@ -178344,6 +179711,7 @@ if (typeof process !== "undefined") { isExclamationToken, isExcludedFile, isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration, isExportAssignment, isExportDeclaration, isExportModifier, @@ -178660,6 +180028,7 @@ if (typeof process !== "undefined") { isPossiblyTypeArgumentPosition, isPostfixUnaryExpression, isPrefixUnaryExpression, + isPrimitiveLiteralValue, isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression, @@ -179225,6 +180594,7 @@ if (typeof process !== "undefined") { transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript, transpile, + transpileDeclaration, transpileModule, transpileOptionValueCompilerOptions, trimString, @@ -179274,6 +180644,7 @@ if (typeof process !== "undefined") { unreachableCodeIsError, unusedLabelIsError, unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression, updateArrayBindingPattern, updateArrayLiteral, updateArrayTypeNode, diff --git a/lib/tsserverlibrary.d.ts b/lib/tsserverlibrary.d.ts index 902dd32cb9..b87e2171c0 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -5447,7 +5447,7 @@ declare namespace ts { readonly expression: EntityNameExpression; readonly name: Identifier; } - interface ElementAccessExpression extends MemberExpression { + interface ElementAccessExpression extends MemberExpression, Declaration { readonly kind: SyntaxKind.ElementAccessExpression; readonly expression: LeftHandSideExpression; readonly questionDotToken?: QuestionDotToken; @@ -6236,7 +6236,7 @@ declare namespace ts { } type FlowType = Type | IncompleteType; interface IncompleteType { - flags: TypeFlags; + flags: TypeFlags | 0; type: Type; } interface AmdDependency { @@ -6253,6 +6253,7 @@ declare namespace ts { interface SourceFileLike { getLineAndCharacterOfPosition(pos: number): LineAndCharacter; } + type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined; interface SourceFile extends Declaration { readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; @@ -6921,6 +6922,7 @@ declare namespace ts { StringMapping = 268435456, Literal = 2944, Unit = 109440, + Freshable = 2976, StringOrNumberLiteral = 384, PossiblyFalsy = 117724, StringLike = 402653316, @@ -6972,10 +6974,12 @@ declare namespace ts { isClass(): this is InterfaceType; isIndexType(): this is IndexType; } - interface LiteralType extends Type { + interface FreshableType extends Type { + freshType: FreshableType; + regularType: FreshableType; + } + interface LiteralType extends FreshableType { value: string | number | PseudoBigInt; - freshType: LiteralType; - regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -6990,7 +6994,7 @@ declare namespace ts { interface BigIntLiteralType extends LiteralType { value: PseudoBigInt; } - interface EnumType extends Type { + interface EnumType extends FreshableType { } enum ObjectFlags { Class = 1, @@ -7325,6 +7329,7 @@ declare namespace ts { moduleDetection?: ModuleDetectionKind; newLine?: NewLineKind; noEmit?: boolean; + noCheck?: boolean; noEmitHelpers?: boolean; noEmitOnError?: boolean; noErrorTruncation?: boolean; @@ -8751,6 +8756,7 @@ declare namespace ts { readonly redirectTargetsMap: RedirectTargetsMap; getProjectReferenceRedirect(fileName: string): string | undefined; isSourceOfProjectReferenceRedirect(fileName: string): boolean; + getCommonSourceDirectory(): string; } interface ModulePath { path: string; @@ -8789,6 +8795,7 @@ declare namespace ts { reportNonlocalAugmentation?(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): void; reportNonSerializableProperty?(propertyName: string): void; reportImportTypeNodeResolutionModeOverride?(): void; + reportInferenceFallback?(node: Node): void; } interface TextSpan { start: number; @@ -9968,7 +9975,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext | undefined): T; /** * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. * @@ -9976,7 +9983,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; function createSourceMapGenerator(host: EmitHost, file: string, sourceRoot: string, sourcesDirectoryPath: string, generatorOptions: SourceMapGeneratorOptions): SourceMapGenerator; interface SourceMapGeneratorOptions { extendedDiagnostics?: boolean; @@ -11680,6 +11687,7 @@ declare namespace ts { }; function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpileDeclaration(input: string, transpileOptions: TranspileOptions): TranspileOutput; function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; interface TranspileOptions { compilerOptions?: CompilerOptions; @@ -12782,7 +12790,7 @@ declare namespace ts { staticBlocks: Set; libraryTypeCallDiagnosticChecker: LibraryTypeCallDiagnosticChecker; skipArkTSStaticBlocksCheck: boolean; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap void>; @@ -13395,7 +13403,7 @@ declare namespace ts { private fileExportDeclCaches?; private compatibleSdkVersionStage; private compatibleSdkVersion; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap canHaveIllegalType, canHaveIllegalTypeParameters: () => canHaveIllegalTypeParameters, canHaveModifiers: () => canHaveModifiers, + canHaveSymbol: () => canHaveSymbol, canJsonReportNoInputFiles: () => canJsonReportNoInputFiles, canProduceDiagnostics: () => canProduceDiagnostics, canWatchDirectoryOrFile: () => canWatchDirectoryOrFile, @@ -640,6 +641,7 @@ __export(tsserverlibrary_exports, { createSwitch: () => createSwitch, createSymbolTable: () => createSymbolTable, createSymlinkCache: () => createSymlinkCache, + createSyntacticTypeNodeBuilder: () => createSyntacticTypeNodeBuilder, createSystemWatchFunctions: () => createSystemWatchFunctions, createTaggedTemplate: () => createTaggedTemplate, createTempVariable: () => createTempVariable, @@ -749,6 +751,7 @@ __export(tsserverlibrary_exports, { escapeNonAsciiString: () => escapeNonAsciiString, escapeSnippetText: () => escapeSnippetText, escapeString: () => escapeString, + evaluatorResult: () => evaluatorResult, every: () => every, expandPreOrPostfixIncrementOrDecrementExpression: () => expandPreOrPostfixIncrementOrDecrementExpression, explainFiles: () => explainFiles, @@ -1315,6 +1318,7 @@ __export(tsserverlibrary_exports, { hasExtension: () => hasExtension, hasIllegalDecorators: () => hasIllegalDecorators, hasIndexSignature: () => hasIndexSignature, + hasInferredType: () => hasInferredType, hasInitializer: () => hasInitializer, hasInvalidEscape: () => hasInvalidEscape, hasJSDocNodes: () => hasJSDocNodes, @@ -1533,6 +1537,7 @@ __export(tsserverlibrary_exports, { isExclamationToken: () => isExclamationToken, isExcludedFile: () => isExcludedFile, isExclusivelyTypeOnlyImportOrExport: () => isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration: () => isExpandoPropertyDeclaration, isExportAssignment: () => isExportAssignment, isExportDeclaration: () => isExportDeclaration, isExportModifier: () => isExportModifier, @@ -1849,6 +1854,7 @@ __export(tsserverlibrary_exports, { isPossiblyTypeArgumentPosition: () => isPossiblyTypeArgumentPosition, isPostfixUnaryExpression: () => isPostfixUnaryExpression, isPrefixUnaryExpression: () => isPrefixUnaryExpression, + isPrimitiveLiteralValue: () => isPrimitiveLiteralValue, isPrivateIdentifier: () => isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration: () => isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression: () => isPrivateIdentifierPropertyAccessExpression, @@ -2414,6 +2420,7 @@ __export(tsserverlibrary_exports, { transformTypeExportImportAndConstEnumInTypeScript: () => transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript: () => transformTypeScript, transpile: () => transpile, + transpileDeclaration: () => transpileDeclaration, transpileModule: () => transpileModule, transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions, trimString: () => trimString, @@ -2463,6 +2470,7 @@ __export(tsserverlibrary_exports, { unreachableCodeIsError: () => unreachableCodeIsError, unusedLabelIsError: () => unusedLabelIsError, unwrapInnermostStatementOfLabel: () => unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression: () => unwrapParenthesizedExpression, updateArrayBindingPattern: () => updateArrayBindingPattern, updateArrayLiteral: () => updateArrayLiteral, updateArrayTypeNode: () => updateArrayTypeNode, @@ -5353,6 +5361,418 @@ ${lanes.join("\n")} Debug2.formatControlFlowGraph = formatControlFlowGraph; })(Debug || (Debug = {})); +// src/compiler/expressionToTypeNode.ts +function createSyntacticTypeNodeBuilder(options, resolver) { + const strictNullChecks = getStrictOptionValue(options, "strictNullChecks"); + return { + typeFromExpression, + serializeTypeOfDeclaration, + serializeReturnTypeForSignature, + serializeTypeOfExpression + }; + function serializeExistingTypeAnnotation(type) { + return type === void 0 ? void 0 : !type.parent || !isParameter(type.parent) || !resolver.requiresAddingImplicitUndefined(type.parent) || canAddUndefined(type); + } + function serializeTypeOfExpression(expr, context, addUndefined, preserveLiterals) { + var _a2; + return (_a2 = typeFromExpression(expr, context, false, addUndefined, preserveLiterals)) != null ? _a2 : inferExpressionType(expr, context); + } + function serializeTypeOfDeclaration(node, context) { + switch (node.kind) { + case 170 /* PropertySignature */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)); + case 168 /* Parameter */: + return typeFromParameter(node, context); + case 261 /* VariableDeclaration */: + return typeFromVariable(node, context); + case 171 /* PropertyDeclaration */: + return typeFromProperty(node, context); + case 208 /* BindingElement */: + return inferTypeOfDeclaration(node, context); + case 280 /* ExportAssignment */: + return serializeTypeOfExpression(node.expression, context, void 0, true); + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)) || inferTypeOfDeclaration(node, context); + case 305 /* PropertyAssignment */: + return typeFromExpression(node.initializer, context) || inferTypeOfDeclaration(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function serializeReturnTypeForSignature(node, context) { + switch (node.kind) { + case 177 /* GetAccessor */: + return typeFromAccessor(node, context); + case 174 /* MethodDeclaration */: + case 263 /* FunctionDeclaration */: + case 180 /* ConstructSignature */: + case 173 /* MethodSignature */: + case 179 /* CallSignature */: + case 176 /* Constructor */: + case 178 /* SetAccessor */: + case 181 /* IndexSignature */: + case 184 /* FunctionType */: + case 185 /* ConstructorType */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 326 /* JSDocFunctionType */: + case 332 /* JSDocSignature */: + return createReturnFromSignature(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function getTypeAnnotationFromAccessor2(accessor) { + if (!accessor) + return void 0; + if (accessor.kind === 177 /* GetAccessor */) { + return getEffectiveReturnTypeNode(accessor); + } + if (accessor.parameters.length > 0) { + return getEffectiveTypeAnnotationNode(accessor.parameters[0]); + } + return void 0; + } + function getTypeAnnotationFromAllAccessorDeclarations(node, accessors) { + let accessorType = getTypeAnnotationFromAccessor2(node); + if (!accessorType && node !== accessors.firstAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.firstAccessor); + } + if (!accessorType && accessors.secondAccessor && node !== accessors.secondAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.secondAccessor); + } + return accessorType; + } + function typeFromAccessor(node, context) { + const accessorDeclarations = resolver.getAllAccessorDeclarations(node); + const accessorType = getTypeAnnotationFromAllAccessorDeclarations(node, accessorDeclarations); + if (accessorType) { + return serializeExistingTypeAnnotation(accessorType); + } + if (accessorDeclarations.getAccessor) { + return createReturnFromSignature(accessorDeclarations.getAccessor, context); + } + return false; + } + function typeFromVariable(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer && !resolver.isExpandoFunctionDeclaration(node)) { + resultType = typeFromExpression( + node.initializer, + context, + void 0, + void 0, + isVarConst(node) + ); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromParameter(node, context) { + const parent2 = node.parent; + if (parent2.kind === 178 /* SetAccessor */) { + return typeFromAccessor(parent2, context); + } + const declaredType = getEffectiveTypeAnnotationNode(node); + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + let resultType; + if (!addUndefined) { + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + if (node.initializer && isIdentifier(node.name)) { + resultType = typeFromExpression(node.initializer, context); + } + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromProperty(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer) { + const isReadonly = isDeclarationReadonly(node); + resultType = typeFromExpression(node.initializer, context, void 0, void 0, isReadonly); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function inferTypeOfDeclaration(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferExpressionType(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferReturnTypeOfSignatureSignature(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferAccessorType(node, context) { + if (node.kind === 177 /* GetAccessor */) { + return createReturnFromSignature(node, context); + } else { + context.tracker.reportInferenceFallback(node); + return false; + } + } + function typeFromTypeAssertion(expression, type, context, requiresAddingUndefined) { + if (isConstTypeReference(type)) { + return typeFromExpression(expression, context, true, requiresAddingUndefined); + } + if (requiresAddingUndefined && !canAddUndefined(type)) { + context.tracker.reportInferenceFallback(type); + } + return serializeExistingTypeAnnotation(type); + } + function typeFromExpression(node, context, isConstContext = false, requiresAddingUndefined = false, preserveLiterals = false) { + switch (node.kind) { + case 217 /* ParenthesizedExpression */: + if (isJSDocTypeAssertion(node)) { + return typeFromTypeAssertion(node.expression, getJSDocTypeAssertionType(node), context, requiresAddingUndefined); + } + return typeFromExpression(node.expression, context, isConstContext, requiresAddingUndefined); + case 79 /* Identifier */: + if (resolver.isUndefinedIdentifierExpression(node)) { + return true; + } + break; + case 105 /* NullKeyword */: + return true; + case 219 /* ArrowFunction */: + case 218 /* FunctionExpression */: + return typeFromFunctionLikeExpression(node, context); + case 216 /* TypeAssertionExpression */: + case 235 /* AsExpression */: + const asExpression = node; + return typeFromTypeAssertion(asExpression.expression, asExpression.type, context, requiresAddingUndefined); + case 225 /* PrefixUnaryExpression */: + const unaryExpression = node; + if (isPrimitiveLiteralValue(unaryExpression)) { + if (unaryExpression.operand.kind === 9 /* BigIntLiteral */) { + return typeFromPrimitiveLiteral(); + } + if (unaryExpression.operand.kind === 8 /* NumericLiteral */) { + return typeFromPrimitiveLiteral(); + } + } + break; + case 8 /* NumericLiteral */: + return typeFromPrimitiveLiteral(); + case 229 /* TemplateExpression */: + if (!isConstContext && !preserveLiterals) { + return true; + } + break; + case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* StringLiteral */: + return typeFromPrimitiveLiteral(); + case 9 /* BigIntLiteral */: + return typeFromPrimitiveLiteral(); + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + return typeFromPrimitiveLiteral(); + case 209 /* ArrayLiteralExpression */: + return typeFromArrayLiteral(node, context, isConstContext); + case 210 /* ObjectLiteralExpression */: + return typeFromObjectLiteral(node, context, isConstContext); + case 232 /* ClassExpression */: + return inferExpressionType(node, context); + } + return void 0; + } + function typeFromFunctionLikeExpression(fnNode, context) { + var _a2; + const returnType = (_a2 = serializeExistingTypeAnnotation(fnNode.type)) != null ? _a2 : createReturnFromSignature(fnNode, context); + const typeParameters = reuseTypeParameters(fnNode.typeParameters); + const parameters = fnNode.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext) { + if (!isConstContext) { + context.tracker.reportInferenceFallback(arrayLiteral); + return false; + } + for (const element of arrayLiteral.elements) { + if (element.kind === 231 /* SpreadElement */) { + context.tracker.reportInferenceFallback(element); + return false; + } + } + return true; + } + function typeFromArrayLiteral(arrayLiteral, context, isConstContext) { + var _a2; + if (!canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext)) { + return false; + } + let canInferArray = true; + for (const element of arrayLiteral.elements) { + Debug.assert(element.kind !== 231 /* SpreadElement */); + if (element.kind !== 233 /* OmittedExpression */) { + canInferArray = ((_a2 = typeFromExpression(element, context, isConstContext)) != null ? _a2 : inferExpressionType(element, context)) && canInferArray; + } + } + return true; + } + function canGetTypeFromObjectLiteral(objectLiteral, context) { + let result = true; + for (const prop of objectLiteral.properties) { + if (prop.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } + if (prop.kind === 306 /* ShorthandPropertyAssignment */ || prop.kind === 307 /* SpreadAssignment */) { + context.tracker.reportInferenceFallback(prop); + result = false; + } else if (prop.name.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } else if (prop.name.kind === 80 /* PrivateIdentifier */) { + result = false; + } else if (prop.name.kind === 166 /* ComputedPropertyName */) { + const expression = prop.name.expression; + if (!isPrimitiveLiteralValue(expression, false) && !isEntityNameExpression(expression)) { + context.tracker.reportInferenceFallback(prop.name); + result = false; + } + } + } + return result; + } + function typeFromObjectLiteral(objectLiteral, context, isConstContext) { + if (!canGetTypeFromObjectLiteral(objectLiteral, context)) { + return false; + } + let canInferObjectLiteral = true; + for (const prop of objectLiteral.properties) { + Debug.assert(!isShorthandPropertyAssignment(prop) && !isSpreadAssignment(prop)); + if (prop.name.kind === 166 /* ComputedPropertyName */) { + if (!resolver.isNonNarrowedBindableName(prop.name)) { + context.tracker.reportInferenceFallback(prop.name); + } else if (isEntityNameExpression(prop.name.expression)) { + const visibilityResult = resolver.isEntityNameVisible( + prop.name.expression, + context.enclosingDeclaration, + false + ); + if (visibilityResult.accessibility !== 0 /* Accessible */) { + context.tracker.reportInferenceFallback(prop.name); + } + } + } + switch (prop.kind) { + case 174 /* MethodDeclaration */: + canInferObjectLiteral = !!typeFromObjectLiteralMethod(prop, context) && canInferObjectLiteral; + break; + case 305 /* PropertyAssignment */: + canInferObjectLiteral = !!typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) && canInferObjectLiteral; + break; + case 178 /* SetAccessor */: + case 177 /* GetAccessor */: + canInferObjectLiteral = !!typeFromObjectLiteralAccessor(prop, context) && canInferObjectLiteral; + break; + } + } + return canInferObjectLiteral; + } + function typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) { + var _a2; + return (_a2 = typeFromExpression(prop.initializer, context, isConstContext)) != null ? _a2 : inferTypeOfDeclaration(prop, context); + } + function ensureParameter(p, context) { + return typeFromParameter(p, context); + } + function reuseTypeParameters(typeParameters) { + var _a2; + return (_a2 = typeParameters == null ? void 0 : typeParameters.every( + (tp) => serializeExistingTypeAnnotation(tp.constraint) && serializeExistingTypeAnnotation(tp.default) + )) != null ? _a2 : true; + } + function typeFromObjectLiteralMethod(method, context) { + const returnType = createReturnFromSignature(method, context); + const typeParameters = reuseTypeParameters(method.typeParameters); + const parameters = method.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function typeFromObjectLiteralAccessor(accessor, context) { + const allAccessors = resolver.getAllAccessorDeclarations(accessor); + const getAccessorType = allAccessors.getAccessor && getTypeAnnotationFromAccessor2(allAccessors.getAccessor); + const setAccessorType = allAccessors.setAccessor && getTypeAnnotationFromAccessor2(allAccessors.setAccessor); + if (getAccessorType !== void 0 && setAccessorType !== void 0) { + const parameters = accessor.parameters.every((p) => ensureParameter(p, context)); + if (isGetAccessor(accessor)) { + return parameters && serializeExistingTypeAnnotation(getAccessorType); + } else { + return parameters; + } + } else if (allAccessors.firstAccessor === accessor) { + const foundType = getAccessorType != null ? getAccessorType : setAccessorType; + const propertyType = foundType ? serializeExistingTypeAnnotation(foundType) : inferAccessorType(accessor, context); + return propertyType; + } + return false; + } + function typeFromPrimitiveLiteral() { + return true; + } + function canAddUndefined(node) { + if (!strictNullChecks) { + return true; + } + if (isKeyword(node.kind) || node.kind === 201 /* LiteralType */ || node.kind === 184 /* FunctionType */ || node.kind === 185 /* ConstructorType */ || node.kind === 188 /* ArrayType */ || node.kind === 189 /* TupleType */ || node.kind === 187 /* TypeLiteral */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 197 /* ThisType */) { + return true; + } + if (node.kind === 196 /* ParenthesizedType */) { + return canAddUndefined(node.type); + } + if (node.kind === 192 /* UnionType */ || node.kind === 193 /* IntersectionType */) { + return node.types.every(canAddUndefined); + } + return false; + } + function createReturnFromSignature(fn, context) { + let returnType; + const returnTypeNode = getEffectiveReturnTypeNode(fn); + if (returnTypeNode) { + returnType = serializeExistingTypeAnnotation(returnTypeNode); + } + if (!returnType && isValueSignatureDeclaration(fn)) { + returnType = typeFromSingleReturnExpression(fn, context); + } + return returnType != null ? returnType : inferReturnTypeOfSignatureSignature(fn, context); + } + function typeFromSingleReturnExpression(declaration, context) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + if (candidateExpr) { + return typeFromExpression(candidateExpr, context); + } + return void 0; + } +} + // src/compiler/semver.ts var versionRegExp = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i; var prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i; @@ -6944,8 +7364,10 @@ var NodeBuilderFlags = /* @__PURE__ */ ((NodeBuilderFlags2) => { NodeBuilderFlags2[NodeBuilderFlags2["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; NodeBuilderFlags2[NodeBuilderFlags2["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType"; NodeBuilderFlags2[NodeBuilderFlags2["WriteComputedProps"] = 1073741824] = "WriteComputedProps"; + NodeBuilderFlags2[NodeBuilderFlags2["NoSyntacticPrinter"] = -2147483648] = "NoSyntacticPrinter"; NodeBuilderFlags2[NodeBuilderFlags2["AllowNodeModulesRelativePaths"] = 67108864] = "AllowNodeModulesRelativePaths"; NodeBuilderFlags2[NodeBuilderFlags2["DoNotIncludeSymbolChain"] = 134217728] = "DoNotIncludeSymbolChain"; + NodeBuilderFlags2[NodeBuilderFlags2["AllowUnresolvedComputedNames"] = 1] = "AllowUnresolvedComputedNames"; NodeBuilderFlags2[NodeBuilderFlags2["IgnoreErrors"] = 70221824] = "IgnoreErrors"; NodeBuilderFlags2[NodeBuilderFlags2["InObjectTypeLiteral"] = 4194304] = "InObjectTypeLiteral"; NodeBuilderFlags2[NodeBuilderFlags2["InTypeAlias"] = 8388608] = "InTypeAlias"; @@ -7206,6 +7628,7 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => { TypeFlags2[TypeFlags2["Nullable"] = 98304] = "Nullable"; TypeFlags2[TypeFlags2["Literal"] = 2944] = "Literal"; TypeFlags2[TypeFlags2["Unit"] = 109440] = "Unit"; + TypeFlags2[TypeFlags2["Freshable"] = 2976] = "Freshable"; TypeFlags2[TypeFlags2["StringOrNumberLiteral"] = 384] = "StringOrNumberLiteral"; TypeFlags2[TypeFlags2["StringOrNumberLiteralOrUnique"] = 8576] = "StringOrNumberLiteralOrUnique"; TypeFlags2[TypeFlags2["DefinitelyFalsy"] = 117632] = "DefinitelyFalsy"; @@ -8905,6 +9328,7 @@ var sys = (() => { resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, + getAccessibleFileSystemEntries, createDirectory(directoryName) { if (!nodeSystem.directoryExists(directoryName)) { try { @@ -11166,6 +11590,7 @@ var Diagnostics = { Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), + Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported: diag(6805, 3 /* Message */, "Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805", "Disable full type checking (only critical parse and emit errors will be reported)."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), type_Colon: diag(6902, 3 /* Message */, "type_Colon_6902", "type:"), @@ -14910,6 +15335,77 @@ function isNamedImportBindings(node) { function isModuleOrEnumDeclaration(node) { return node.kind === 270 /* ModuleDeclaration */ || node.kind === 269 /* EnumDeclaration */; } +function canHaveSymbol(node) { + switch (node.kind) { + case 219 /* ArrowFunction */: + case 227 /* BinaryExpression */: + case 208 /* BindingElement */: + case 213 /* CallExpression */: + case 179 /* CallSignature */: + case 264 /* ClassDeclaration */: + case 232 /* ClassExpression */: + case 175 /* ClassStaticBlockDeclaration */: + case 176 /* Constructor */: + case 185 /* ConstructorType */: + case 180 /* ConstructSignature */: + case 212 /* ElementAccessExpression */: + case 269 /* EnumDeclaration */: + case 308 /* EnumMember */: + case 280 /* ExportAssignment */: + case 281 /* ExportDeclaration */: + case 284 /* ExportSpecifier */: + case 263 /* FunctionDeclaration */: + case 218 /* FunctionExpression */: + case 184 /* FunctionType */: + case 177 /* GetAccessor */: + case 79 /* Identifier */: + case 276 /* ImportClause */: + case 274 /* ImportEqualsDeclaration */: + case 279 /* ImportSpecifier */: + case 181 /* IndexSignature */: + case 267 /* InterfaceDeclaration */: + case 347 /* JSDocCallbackTag */: + case 348 /* JSDocEnumTag */: + case 326 /* JSDocFunctionType */: + case 349 /* JSDocParameterTag */: + case 356 /* JSDocPropertyTag */: + case 332 /* JSDocSignature */: + case 354 /* JSDocTypedefTag */: + case 331 /* JSDocTypeLiteral */: + case 294 /* JsxAttribute */: + case 295 /* JsxAttributes */: + case 296 /* JsxSpreadAttribute */: + case 200 /* MappedType */: + case 174 /* MethodDeclaration */: + case 173 /* MethodSignature */: + case 270 /* ModuleDeclaration */: + case 202 /* NamedTupleMember */: + case 283 /* NamespaceExport */: + case 273 /* NamespaceExportDeclaration */: + case 277 /* NamespaceImport */: + case 214 /* NewExpression */: + case 14 /* NoSubstitutionTemplateLiteral */: + case 8 /* NumericLiteral */: + case 210 /* ObjectLiteralExpression */: + case 168 /* Parameter */: + case 211 /* PropertyAccessExpression */: + case 305 /* PropertyAssignment */: + case 171 /* PropertyDeclaration */: + case 170 /* PropertySignature */: + case 178 /* SetAccessor */: + case 306 /* ShorthandPropertyAssignment */: + case 314 /* SourceFile */: + case 307 /* SpreadAssignment */: + case 10 /* StringLiteral */: + case 268 /* TypeAliasDeclaration */: + case 187 /* TypeLiteral */: + case 167 /* TypeParameter */: + case 261 /* VariableDeclaration */: + return true; + default: + return false; + } +} function isDeclarationKind(kind) { return kind === 219 /* ArrowFunction */ || kind === 208 /* BindingElement */ || kind === 264 /* ClassDeclaration */ || kind === 232 /* ClassExpression */ || kind === 175 /* ClassStaticBlockDeclaration */ || kind === 265 /* StructDeclaration */ || kind === 266 /* AnnotationDeclaration */ || kind === 176 /* Constructor */ || kind === 269 /* EnumDeclaration */ || kind === 308 /* EnumMember */ || kind === 284 /* ExportSpecifier */ || kind === 263 /* FunctionDeclaration */ || kind === 218 /* FunctionExpression */ || kind === 177 /* GetAccessor */ || kind === 276 /* ImportClause */ || kind === 274 /* ImportEqualsDeclaration */ || kind === 279 /* ImportSpecifier */ || kind === 267 /* InterfaceDeclaration */ || kind === 294 /* JsxAttribute */ || kind === 174 /* MethodDeclaration */ || kind === 173 /* MethodSignature */ || kind === 270 /* ModuleDeclaration */ || kind === 273 /* NamespaceExportDeclaration */ || kind === 277 /* NamespaceImport */ || kind === 283 /* NamespaceExport */ || kind === 168 /* Parameter */ || kind === 305 /* PropertyAssignment */ || kind === 171 /* PropertyDeclaration */ || kind === 172 /* AnnotationPropertyDeclaration */ || kind === 170 /* PropertySignature */ || kind === 178 /* SetAccessor */ || kind === 306 /* ShorthandPropertyAssignment */ || kind === 268 /* TypeAliasDeclaration */ || kind === 167 /* TypeParameter */ || kind === 261 /* VariableDeclaration */ || kind === 354 /* JSDocTypedefTag */ || kind === 347 /* JSDocCallbackTag */ || kind === 356 /* JSDocPropertyTag */; } @@ -19319,7 +19815,7 @@ function Signature2(checker, flags) { this.checker = checker; } } -function Node4(kind, pos, end) { +function Node5(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -19339,7 +19835,7 @@ function Token(kind, pos, end) { this.transformFlags = 0 /* None */; this.parent = void 0; } -function Identifier2(kind, pos, end) { +function Identifier3(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -19356,11 +19852,11 @@ function SourceMapSource(fileName, text, skipTrivia2) { this.skipTrivia = skipTrivia2 || ((pos) => pos); } var objectAllocator = { - getNodeConstructor: () => Node4, + getNodeConstructor: () => Node5, getTokenConstructor: () => Token, - getIdentifierConstructor: () => Identifier2, - getPrivateIdentifierConstructor: () => Node4, - getSourceFileConstructor: () => Node4, + getIdentifierConstructor: () => Identifier3, + getPrivateIdentifierConstructor: () => Node5, + getSourceFileConstructor: () => Node5, getSymbolConstructor: () => Symbol4, getTypeConstructor: () => Type3, getSignatureConstructor: () => Signature2, @@ -20184,7 +20680,7 @@ function rangeOfTypeParameters(sourceFile, typeParameters) { return { pos, end }; } function skipTypeChecking(sourceFile, options, host) { - return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); + return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || options.noCheck || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); } function isJsonEqual(a, b) { return a === b || typeof a === "object" && a !== null && typeof b === "object" && b !== null && equalOwnProperties(a, b, isJsonEqual); @@ -20560,6 +21056,12 @@ function getNameOfDecorator(node) { } return void 0; } +function isExpandoPropertyDeclaration(declaration) { + return !!declaration && (isPropertyAccessExpression(declaration) || isElementAccessExpression(declaration) || isBinaryExpression(declaration)); +} +function evaluatorResult(value, isSyntacticallyString = false, resolvedOtherFiles = false, hasExternalReferences = false) { + return { value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences }; +} function getLeadingCommentRangesOfNode(node, sourceFileOfNode) { return node.kind !== 11 /* JsxText */ ? getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : void 0; } @@ -20693,6 +21195,55 @@ function setParentRecursive(rootNode, incremental) { return bindParentToChildIgnoringJSDoc(child, parent2) || bindJSDoc(child); } } +function isPrimitiveLiteralValue(node, includeBigInt = true) { + Debug.type(node); + switch (node.kind) { + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + case 8 /* NumericLiteral */: + case 10 /* StringLiteral */: + case 14 /* NoSubstitutionTemplateLiteral */: + return true; + case 9 /* BigIntLiteral */: + return includeBigInt; + case 225 /* PrefixUnaryExpression */: + if (node.operator === 40 /* MinusToken */) { + return isNumericLiteral(node.operand) || includeBigInt && isBigIntLiteral(node.operand); + } + if (node.operator === 39 /* PlusToken */) { + return isNumericLiteral(node.operand); + } + return false; + default: + assertType(node); + return false; + } +} +function unwrapParenthesizedExpression(o) { + while (o.kind === 217 /* ParenthesizedExpression */) { + o = o.expression; + } + return o; +} +function hasInferredType(node) { + Debug.type(node); + switch (node.kind) { + case 168 /* Parameter */: + case 170 /* PropertySignature */: + case 171 /* PropertyDeclaration */: + case 208 /* BindingElement */: + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + case 261 /* VariableDeclaration */: + case 280 /* ExportAssignment */: + case 305 /* PropertyAssignment */: + return true; + default: + assertType(node); + return false; + } +} // src/compiler/factory/baseNodeFactory.ts function createBaseNodeFactory() { @@ -36325,6 +36876,20 @@ var commandOptionsWithoutBuild = [ defaultValueDescription: false, description: Diagnostics.Disable_emitting_comments }, + { + name: "noCheck", + type: "boolean", + showInSimplifiedHelpView: false, + category: Diagnostics.Compiler_Diagnostics, + description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, + transpileOptionValue: void 0, + defaultValueDescription: false, + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, + extraValidation() { + return [Diagnostics.Unknown_compiler_option_0, "noCheck"]; + } + }, { name: "noEmit", type: "boolean", @@ -36374,6 +36939,15 @@ var commandOptionsWithoutBuild = [ transpileOptionValue: true, defaultValueDescription: false }, + { + name: "isolatedDeclarations", + type: "boolean", + category: Diagnostics.Interop_Constraints, + description: Diagnostics.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files, + defaultValueDescription: false, + affectsMultiFileEmitBuildInfo: true, + affectsSemanticDiagnostics: true + }, { name: "strict", type: "boolean", @@ -45557,6 +46131,7 @@ var CheckMode = /* @__PURE__ */ ((CheckMode3) => { return CheckMode3; })(CheckMode || {}); var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => { + SignatureCheckMode3[SignatureCheckMode3["None"] = 0] = "None"; SignatureCheckMode3[SignatureCheckMode3["BivariantCallback"] = 1] = "BivariantCallback"; SignatureCheckMode3[SignatureCheckMode3["StrictCallback"] = 2] = "StrictCallback"; SignatureCheckMode3[SignatureCheckMode3["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes"; @@ -45657,6 +46232,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); var nodeBuilder = createNodeBuilder(); + var syntacticNodeBuilder = createSyntacticTypeNodeBuilder(compilerOptions, { + isEntityNameVisible, + isExpandoFunctionDeclaration, + isNonNarrowedBindableName, + getAllAccessorDeclarations: getAllAccessorDeclarationsForDeclaration, + requiresAddingImplicitUndefined, + isUndefinedIdentifierExpression(node) { + Debug.assert(isExpressionNode(node)); + return getSymbolAtLocation(node) === undefinedSymbol; + } + }); var globals = createSymbolTable(); var undefinedSymbol = createSymbol(4 /* Property */, "undefined"); undefinedSymbol.declarations = []; @@ -48872,6 +49458,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { (_a2 = tracing) == null ? void 0 : _a2.recordType(result); return result; } + function createTypeWithSymbol(flags, symbol) { + const result = createType(flags); + result.symbol = symbol; + return result; + } function createOriginType(flags) { return new Type31(checker, flags); } @@ -48882,9 +49473,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function createObjectType(objectFlags, symbol) { - const type = createType(524288 /* Object */); + const type = createTypeWithSymbol(524288 /* Object */, symbol); type.objectFlags = objectFlags; - type.symbol = symbol; type.members = void 0; type.properties = void 0; type.callSignatures = void 0; @@ -48896,10 +49486,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return getUnionType(arrayFrom(typeofNEFacts.keys(), getStringLiteralType)); } function createTypeParameter(symbol) { - const type = createType(262144 /* TypeParameter */); - if (symbol) - type.symbol = symbol; - return type; + return createTypeWithSymbol(262144 /* TypeParameter */, symbol); } function isReservedMemberName(name) { return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */ && name.charCodeAt(2) !== 64 /* at */ && name.charCodeAt(2) !== 35 /* hash */; @@ -49237,7 +49824,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; } } - function isEntityNameVisible(entityName, enclosingDeclaration) { + function getMeaningOfEntityNameReference(entityName) { + let meaning; + if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */ || entityName.parent.kind === 182 /* TypePredicate */ && entityName.parent.parameterName === entityName) { + meaning = 111551 /* Value */ | 1048576 /* ExportValue */; + } else if (entityName.kind === 165 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 274 /* ImportEqualsDeclaration */ || entityName.parent.kind === 165 /* QualifiedName */ && entityName.parent.left === entityName || entityName.parent.kind === 211 /* PropertyAccessExpression */ && entityName.parent.expression === entityName || entityName.parent.kind === 212 /* ElementAccessExpression */ && entityName.parent.expression === entityName) { + meaning = 1920 /* Namespace */; + } else { + meaning = 788968 /* Type */; + } + return meaning; + } + function isEntityNameVisible(entityName, enclosingDeclaration, shouldComputeAliasToMakeVisible = true) { let meaning; if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */) { meaning = 111551 /* Value */ | 1048576 /* ExportValue */; @@ -49254,7 +49852,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!symbol && isThisIdentifier(firstIdentifier) && isSymbolAccessible(getSymbolOfNode(getThisContainer(firstIdentifier, false)), firstIdentifier, meaning, false).accessibility === 0 /* Accessible */) { return { accessibility: 0 /* Accessible */ }; } - return symbol && hasVisibleDeclarations(symbol, true) || { + return symbol && hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) || { accessibility: 1 /* NotAccessible */, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier @@ -49349,9 +49947,78 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { symbolToTypeParameterDeclarations: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParametersToTypeParameterDeclarations(symbol, context)), symbolToParameterDeclaration: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToParameterDeclaration(symbol, context)), typeParameterToDeclaration: (parameter, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParameterToDeclaration(parameter, context)), - symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker, bundled) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context, bundled)), - symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)) + symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context)), + symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)), + serializeTypeForDeclaration: (declaration, type, symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeTypeForDeclaration(context, declaration, type, symbol)), + serializeReturnTypeForSignature: (signature, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeReturnTypeForSignature(context, signature)), + expressionOrTypeToTypeNode: (expr, type, addUndefined, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => expressionOrTypeToTypeNode(context, expr, type, addUndefined)) }; + function setTextRange2(context, range, location) { + if (!nodeIsSynthesized(range) && !(range.flags & 8 /* Synthesized */) && (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range))) { + range = factory.cloneNode(range); + } + if (!location) { + return range; + } + if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location))) { + return setOriginalNode(range, location); + } + return setTextRange(setOriginalNode(range, location), location); + } + function expressionOrTypeToTypeNode(context, expr, type, addUndefined) { + const oldFlags = context.flags; + if (expr && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfExpression(expr, context, addUndefined); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined); + context.flags = oldFlags; + return result; + } + function expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined) { + if (expr) { + const typeNode = isAssertionExpression(expr) ? expr.type : isJSDocTypeAssertion(expr) ? getJSDocTypeAssertionType(expr) : void 0; + if (typeNode && !isConstTypeReference(typeNode)) { + const result = tryReuseExistingTypeNode(context, typeNode, type, expr.parent, addUndefined); + if (result) { + return result; + } + } + } + if (addUndefined) { + type = getOptionalType(type); + } + return typeToTypeNodeHelper(type, context); + } + function tryReuseExistingTypeNode(context, typeNode, type, host2, addUndefined) { + const originalType = type; + if (addUndefined) { + type = getOptionalType(type); + } + const clone2 = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host2); + if (clone2) { + if (addUndefined && !someType(getTypeFromTypeNode(typeNode), (t) => !!(t.flags & 32768 /* Undefined */))) { + return factory.createUnionTypeNode([clone2, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + return clone2; + } + if (addUndefined && originalType !== type) { + const cloneMissingUndefined = tryReuseExistingNonParameterTypeNode(context, typeNode, originalType, host2); + if (cloneMissingUndefined) { + return factory.createUnionTypeNode([cloneMissingUndefined, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + } + return void 0; + } + function tryReuseExistingNonParameterTypeNode(context, existing, type, host2 = context.enclosingDeclaration, annotationType) { + if (typeNodeIsEquivalentToType(existing, host2, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + const result = tryReuseExistingTypeNodeHelper(context, existing); + if (result) { + return result; + } + } + return void 0; + } function symbolToNode(symbol, context, meaning) { if (context.flags & 1073741824 /* WriteComputedProps */) { if (symbol.valueDeclaration) { @@ -49370,68 +50037,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function withContext(enclosingDeclaration, flags, tracker, cb) { var _a2, _b; Debug.assert(enclosingDeclaration === void 0 || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); + const moduleResolverHost = (tracker == null ? void 0 : tracker.trackSymbol) ? tracker.moduleResolverHost : flags & 134217728 /* DoNotIncludeSymbolChain */ ? createBasicNodeBuilderModuleSpecifierResolutionHost(host) : void 0; const context = { enclosingDeclaration, + enclosingFile: enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration), flags: flags || 0 /* None */, - tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: () => false, moduleResolverHost: flags & 134217728 /* DoNotIncludeSymbolChain */ ? { - getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", - getCurrentDirectory: () => host.getCurrentDirectory(), - getSymlinkCache: maybeBind(host, host.getSymlinkCache), - getPackageJsonInfoCache: () => { - var _a3; - return (_a3 = host.getPackageJsonInfoCache) == null ? void 0 : _a3.call(host); - }, - useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), - redirectTargetsMap: host.redirectTargetsMap, - getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), - isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), - fileExists: (fileName) => host.fileExists(fileName), - getFileIncludeReasons: () => host.getFileIncludeReasons(), - readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 - } : void 0 }, + tracker: void 0, encounteredError: false, reportedDiagnostic: false, visitedTypes: void 0, symbolDepth: void 0, inferTypeParameters: void 0, - approximateLength: 0 + approximateLength: 0, + trackedSymbols: void 0, + bundled: !!compilerOptions.outFile && !!enclosingDeclaration && isExternalOrCommonJsModule(getSourceFileOfNode(enclosingDeclaration)) }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); if (context.truncating && context.flags & 1 /* NoTruncation */) { (_b = (_a2 = context.tracker) == null ? void 0 : _a2.reportTruncationError) == null ? void 0 : _b.call(_a2); } return context.encounteredError ? void 0 : resultingNode; } - function wrapSymbolTrackerToReportForContext(context, tracker) { - const oldTrackSymbol = tracker.trackSymbol; - return { - ...tracker, - reportCyclicStructureError: wrapReportedDiagnostic(tracker.reportCyclicStructureError), - reportInaccessibleThisError: wrapReportedDiagnostic(tracker.reportInaccessibleThisError), - reportInaccessibleUniqueSymbolError: wrapReportedDiagnostic(tracker.reportInaccessibleUniqueSymbolError), - reportLikelyUnsafeImportRequiredError: wrapReportedDiagnostic(tracker.reportLikelyUnsafeImportRequiredError), - reportNonlocalAugmentation: wrapReportedDiagnostic(tracker.reportNonlocalAugmentation), - reportPrivateInBaseOfClassExpression: wrapReportedDiagnostic(tracker.reportPrivateInBaseOfClassExpression), - reportNonSerializableProperty: wrapReportedDiagnostic(tracker.reportNonSerializableProperty), - trackSymbol: oldTrackSymbol && ((...args) => { - const result = oldTrackSymbol(...args); - if (result) { - context.reportedDiagnostic = true; - } - return result; - }) - }; - function wrapReportedDiagnostic(method) { - if (!method) { - return method; - } - return (...args) => { - context.reportedDiagnostic = true; - return method(...args); - }; - } - } function checkTruncationLength(context) { if (context.truncating) return context.truncating; @@ -49608,7 +50235,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, constraintNode)); } - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */) { const name2 = typeParameterToName(type, context); context.approximateLength += idText(name2).length; return factory.createTypeReferenceNode(factory.createIdentifier(idText(name2)), void 0); @@ -49846,7 +50473,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!nodeIsSynthesized(node) && getParseTreeNode(node) === node) { return node; } - return setTextRange(factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), node); + return setTextRange2( + context, + factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), + node + ); } function deepCloneOrReuseNodes(nodes, visitor, test, start, count) { if (nodes && nodes.length === 0) { @@ -50092,7 +50723,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const propertyType = shouldUsePlaceholderForProperty(propertySymbol, context) ? anyType : getNonMissingTypeOfSymbol(propertySymbol); const saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = void 0; - if (context.tracker.trackSymbol && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.canTrackSymbol && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { const decl = first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -50129,7 +50760,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.reverseMappedStack || (context.reverseMappedStack = []); context.reverseMappedStack.push(propertySymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : factory.createKeywordTypeNode(132 /* AnyKeyword */); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, void 0, propertyType, propertySymbol) : factory.createKeywordTypeNode(132 /* AnyKeyword */); if (propertyIsReverseMapped) { context.reverseMappedStack.pop(); } @@ -50240,9 +50871,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a2, _b, _c, _d; - const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; - if (suppressAny) - context.flags &= ~256 /* SuppressAnyReturnType */; + const flags = context.flags; + context.flags &= ~256 /* SuppressAnyReturnType */; context.approximateLength += 3; let typeParameters; let typeArguments; @@ -50252,37 +50882,128 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { typeParameters = signature.typeParameters && signature.typeParameters.map((parameter) => typeParameterToDeclaration(parameter, context)); } const expandedParams = getExpandedParameters(signature, true)[0]; - const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports)); + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters); + const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */)); const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); } - let returnTypeNode; - const typePredicate = getTypePredicateOfSignature(signature); - if (typePredicate) { - const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; - const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); - const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); - returnTypeNode = factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); - } else { - const returnType = getReturnTypeOfSignature(signature); - if (returnType && !(suppressAny && isTypeAny(returnType))) { - returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports); - } else if (!suppressAny) { - returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); - } - } + context.flags = flags; + const returnTypeNode = serializeReturnTypeForSignature(context, signature); let modifiers = options == null ? void 0 : options.modifiers; if (kind === 185 /* ConstructorType */ && signature.flags & 4 /* Abstract */) { - const flags = modifiersToFlags(modifiers); - modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */); + const flags2 = modifiersToFlags(modifiers); + modifiers = factory.createModifiersFromModifierFlags(flags2 | 256 /* Abstract */); } const node = kind === 179 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 180 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 173 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (_a2 = options == null ? void 0 : options.name) != null ? _a2 : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 174 /* MethodDeclaration */ ? factory.createMethodDeclaration(modifiers, void 0, (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""), void 0, typeParameters, parameters, returnTypeNode, void 0) : kind === 176 /* Constructor */ ? factory.createConstructorDeclaration(modifiers, parameters, void 0) : kind === 177 /* GetAccessor */ ? factory.createGetAccessorDeclaration(modifiers, (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""), parameters, returnTypeNode, void 0) : kind === 178 /* SetAccessor */ ? factory.createSetAccessorDeclaration(modifiers, (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""), parameters, void 0) : kind === 181 /* IndexSignature */ ? factory.createIndexSignature(modifiers, parameters, returnTypeNode) : kind === 326 /* JSDocFunctionType */ ? factory.createJSDocFunctionType(parameters, returnTypeNode) : kind === 184 /* FunctionType */ ? factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 185 /* ConstructorType */ ? factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 263 /* FunctionDeclaration */ ? factory.createFunctionDeclaration(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, void 0) : kind === 218 /* FunctionExpression */ ? factory.createFunctionExpression(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, factory.createBlock([])) : kind === 219 /* ArrowFunction */ ? factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, void 0, factory.createBlock([])) : Debug.assertNever(kind); if (typeArguments) { node.typeArguments = factory.createNodeArray(typeArguments); } + cleanup == null ? void 0 : cleanup(); return node; } + function isNewScopeNode(node) { + return isFunctionLike(node) || isJSDocSignature(node) || isMappedTypeNode(node); + } + function getTypeParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getSignatureFromDeclaration(node).typeParameters : isConditionalTypeNode(node) ? getInferTypeParameters(node) : [getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))]; + } + function getParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getExpandedParameters(getSignatureFromDeclaration(node), true)[0] : void 0; + } + function enterNewScope(context, declaration, expandedParams, typeParameters) { + let cleanup; + if (context.enclosingDeclaration && declaration && declaration !== context.enclosingDeclaration && !isInJSFile(declaration) && (some(expandedParams) || some(typeParameters))) { + pushFakeScope( + "params", + (add) => { + for (const param of expandedParams != null ? expandedParams : emptyArray) { + if (!forEach(param.declarations, (d) => { + if (isParameter(d) && isBindingPattern(d.name)) { + bindPattern(d.name); + return true; + } + return void 0; + function bindPattern(p) { + forEach(p.elements, (e) => { + switch (e.kind) { + case 233 /* OmittedExpression */: + return; + case 208 /* BindingElement */: + return bindElement(e); + default: + return Debug.assertNever(e); + } + }); + } + function bindElement(e) { + if (isBindingPattern(e.name)) { + return bindPattern(e.name); + } + const symbol = getSymbolOfNode(e); + add(symbol.escapedName, symbol); + } + })) { + add(param.escapedName, param); + } + } + } + ); + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + pushFakeScope( + "typeParams", + (add) => { + for (const typeParam of typeParameters != null ? typeParameters : emptyArray) { + const typeParamName = typeParameterToName(typeParam, context).escapedText; + add(typeParamName, typeParam.symbol); + } + } + ); + } + return cleanup; + } + function pushFakeScope(kind, addAll) { + var _a2; + Debug.assert(context.enclosingDeclaration); + let existingFakeScope; + if (getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration; + } else if (context.enclosingDeclaration.parent && getNodeLinks(context.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration.parent; + } + Debug.assertOptionalNode(existingFakeScope, isBlock); + const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable(); + let newLocals; + addAll((name, symbol) => { + if (!locals.has(name)) { + newLocals = append(newLocals, name); + locals.set(name, symbol); + } + }); + if (!newLocals) { + return; + } + const oldCleanup = cleanup; + function undo() { + forEach(newLocals, (s) => locals.delete(s)); + oldCleanup == null ? void 0 : oldCleanup(); + } + if (existingFakeScope) { + cleanup = undo; + } else { + const fakeScope = parseNodeFactory.createBlock(emptyArray); + getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = kind; + fakeScope.locals = locals; + const saveEnclosingDeclaration = context.enclosingDeclaration; + setParent(fakeScope, saveEnclosingDeclaration); + context.enclosingDeclaration = fakeScope; + cleanup = () => { + context.enclosingDeclaration = saveEnclosingDeclaration; + undo(); + }; + } + } + } function tryGetThisParameterDeclaration(signature, context) { if (signature.thisParameter) { return symbolToParameterDeclaration(signature.thisParameter, context); @@ -50314,20 +51035,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constraintNode = constraint && typeToTypeNodeHelper(constraint, context); return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } - function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - let parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); - if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); + function typePredicateToTypePredicateNodeHelper(typePredicate, context) { + const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; + const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); + const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); + return factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); + } + function getEffectiveParameterDeclaration(parameterSymbol) { + const parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); + if (parameterDeclaration) { + return parameterDeclaration; } - let parameterType = getTypeOfSymbol(parameterSymbol); - if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { - parameterType = getOptionalType(parameterType); + if (!isTransientSymbol(parameterSymbol)) { + return getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); } - const parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); + } + function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { + const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol); + const parameterType = getTypeOfSymbol(parameterSymbol); + const parameterTypeNode = serializeTypeForDeclaration(context, parameterDeclaration, parameterType, parameterSymbol); const modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : void 0; const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 32768 /* RestParameter */; const dotDotDotToken = isRest ? factory.createToken(25 /* DotDotDotToken */) : void 0; - const name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); + const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context); const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */; const questionToken = isOptional ? factory.createToken(57 /* QuestionToken */) : void 0; const parameterNode = factory.createParameterDeclaration( @@ -50340,13 +51070,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.approximateLength += symbolName(parameterSymbol).length + 3; return parameterNode; + } + function parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context) { + return parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); function cloneBindingName(node) { return elideInitializerAndSetEmitFlags(node); function elideInitializerAndSetEmitFlags(node2) { - if (context.tracker.trackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { + if (context.tracker.canTrackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { trackComputedName(node2.expression, context.enclosingDeclaration, context); } - let visited = visitEachChild(node2, elideInitializerAndSetEmitFlags, nullTransformationContext, void 0, elideInitializerAndSetEmitFlags); + let visited = visitEachChild( + node2, + elideInitializerAndSetEmitFlags, + void 0, + void 0, + elideInitializerAndSetEmitFlags + ); if (isBindingElement(visited)) { visited = factory.updateBindingElement( visited, @@ -50364,8 +51103,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function trackComputedName(accessExpression, enclosingDeclaration, context) { - if (!context.tracker.trackSymbol) + if (!context.tracker.canTrackSymbol) { return; + } const firstIdentifier = getFirstIdentifier(accessExpression); const name = resolveName(firstIdentifier, firstIdentifier.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */, void 0, void 0, true); if (name) { @@ -50498,13 +51238,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } } - if (!context.enclosingDeclaration || !context.tracker.moduleResolverHost) { + if (!context.enclosingFile || !context.tracker.moduleResolverHost) { if (ambientModuleSymbolRegex.test(symbol.escapedName)) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } return getSourceFileOfNode(getNonAugmentationDeclaration(symbol)).fileName; } - const contextFile = getSourceFileOfNode(getOriginalNode(context.enclosingDeclaration)); + const contextFile = context.enclosingFile; const resolutionMode = overrideImportMode || (contextFile == null ? void 0 : contextFile.impliedNodeFormat); const cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode); const links = getSymbolLinks(symbol); @@ -50598,8 +51338,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } const lit = factory.createLiteralTypeNode(factory.createStringLiteral(specifier)); - if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) + if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) { context.tracker.trackExternalModuleSymbolOfImportTypeNode(chain[0]); + } context.approximateLength += specifier.length + 10; if (!nonRootParts || isEntityName(nonRootParts)) { if (nonRootParts) { @@ -50678,13 +51419,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return identifier; } } - function typeParameterShadowsNameInScope(escapedName, context, type) { - const result = resolveName(context.enclosingDeclaration, escapedName, 788968 /* Type */, void 0, escapedName, false); - if (result) { - if (result.flags & 262144 /* TypeParameter */ && result === type.symbol) { - return false; - } - return true; + function typeParameterShadowsOtherTypeParameterInScope(escapedName, context, type) { + const result = resolveName( + context.enclosingDeclaration, + escapedName, + 788968 /* Type */, + void 0, + escapedName, + false + ); + if (result && result.flags & 262144 /* TypeParameter */) { + return result !== type.symbol; } return false; } @@ -50704,7 +51449,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const rawtext = result.escapedText; let i = ((_a2 = context.typeParameterNamesByTextNextNameCount) == null ? void 0 : _a2.get(rawtext)) || 0; let text = rawtext; - while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { + while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsOtherTypeParameterInScope(text, context, type)) { i++; text = `${rawtext}_${i}`; } @@ -50713,7 +51458,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } (context.typeParameterNamesByTextNextNameCount || (context.typeParameterNamesByTextNextNameCount = new Map2())).set(rawtext, i); (context.typeParameterNames || (context.typeParameterNames = new Map2())).set(getTypeId(type), result); - (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(rawtext); + (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(text); } return result; } @@ -50826,7 +51571,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (initial.typeParameterSymbolList) { initial.typeParameterSymbolList = new Set2(initial.typeParameterSymbolList); } - initial.tracker = wrapSymbolTrackerToReportForContext(initial, initial.tracker); + if (initial.typeParameterNamesByTextNextNameCount) { + initial.typeParameterNamesByTextNextNameCount = new Map2(initial.typeParameterNamesByTextNextNameCount); + } + initial.tracker = new SymbolTrackerImpl(initial, initial.tracker.inner, initial.tracker.moduleResolverHost); return initial; } function getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration) { @@ -50835,16 +51583,23 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) { return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters); } - function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) { + function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) { + while (getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration) { + enclosingDeclaration = enclosingDeclaration.parent; + } + return enclosingDeclaration; + } + function serializeTypeForDeclaration(context, declaration, type, symbol) { + var _a2, _b; + const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); + const enclosingDeclaration = context.enclosingDeclaration; if (!isErrorType(type) && enclosingDeclaration) { - const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration); + const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) ? declaration : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { - const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation); - if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { - const result2 = serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled); - if (result2) { - return result2; - } + const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation); + const result2 = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + if (result2) { + return result2; } } } @@ -50852,73 +51607,148 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol && (!context.enclosingDeclaration || some(symbol.declarations, (d) => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration)))) { context.flags |= 1048576 /* AllowUniqueESSymbolType */; } - const result = typeToTypeNodeHelper(type, context); + const decl = (_b = declaration != null ? declaration : symbol.valueDeclaration) != null ? _b : (_a2 = symbol.declarations) == null ? void 0 : _a2[0]; + const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : void 0; + if (decl && hasInferredType(decl) && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfDeclaration(decl, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); context.flags = oldFlags; return result; } - function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type) { - const typeFromTypeNode = getTypeFromTypeNode(typeNode); + function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type, typeFromTypeNode = getTypeFromTypeNode(typeNode)) { if (typeFromTypeNode === type) { return true; } - if (isParameter(annotatedDeclaration) && annotatedDeclaration.questionToken) { + if (annotatedDeclaration && (isParameter(annotatedDeclaration) || isPropertySignature(annotatedDeclaration) || isPropertyDeclaration(annotatedDeclaration)) && annotatedDeclaration.questionToken) { return getTypeWithFacts(type, 524288 /* NEUndefined */) === typeFromTypeNode; } return false; } - function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) { + function serializeReturnTypeForSignature(context, signature) { + const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; + const flags = context.flags; + if (suppressAny) + context.flags &= ~256 /* SuppressAnyReturnType */; + let returnTypeNode; + const returnType = getReturnTypeOfSignature(signature); + if (returnType && !(suppressAny && isTypeAny(returnType))) { + if (signature.declaration && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeReturnTypeForSignature(signature.declaration, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + returnTypeNode = serializeReturnTypeForSignatureWorker(context, signature); + } else if (!suppressAny) { + returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); + } + context.flags = flags; + return returnTypeNode; + } + function serializeReturnTypeForSignatureWorker(context, signature) { + const typePredicate = getTypePredicateOfSignature(signature); + const type = getReturnTypeOfSignature(signature); if (!isErrorType(type) && context.enclosingDeclaration) { - const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration); - if (!!findAncestor(annotation, (n) => n === context.enclosingDeclaration) && annotation) { + const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); + const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); + if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) { const annotated = getTypeFromTypeNode(annotation); const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated; - if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) { - const result = serializeExistingTypeNode(context, annotation, includePrivateSymbol, bundled); - if (result) { - return result; - } + const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + if (result) { + return result; } } } - return typeToTypeNodeHelper(type, context); + if (typePredicate) { + return typePredicateToTypePredicateNodeHelper(typePredicate, context); + } + const expr = signature.declaration && getPossibleTypeNodeReuseExpression(signature.declaration); + return expressionOrTypeToTypeNode(context, expr, type); } - function trackExistingEntityName(node, context, includePrivateSymbol) { - var _a2, _b; + function trackExistingEntityName(node, context) { let introducesError = false; const leftmost = getFirstIdentifier(node); if (isInJSFile(node) && (isExportsIdentifier(leftmost) || isModuleExportsAccessExpression(leftmost.parent) || isQualifiedName(leftmost.parent) && isModuleIdentifier(leftmost.parent.left) && isExportsIdentifier(leftmost.parent.right))) { introducesError = true; return { introducesError, node }; } - const sym = resolveEntityName(leftmost, 67108863 /* All */, true, true); + const meaning = getMeaningOfEntityNameReference(node); + let sym; + if (isThisIdentifier(leftmost)) { + sym = getSymbolOfNode(getThisContainer(leftmost, false)); + if (isSymbolAccessible( + sym, + leftmost, + meaning, + false + ).accessibility !== 0 /* Accessible */) { + introducesError = true; + context.tracker.reportInaccessibleThisError(); + } + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + sym = resolveEntityName(leftmost, meaning, true, true); if (sym) { - if (isSymbolAccessible(sym, context.enclosingDeclaration, 67108863 /* All */, false).accessibility !== 0 /* Accessible */) { + if (sym.flags & 1 /* FunctionScopedVariable */ && sym.valueDeclaration) { + if (isParameterDeclaration(sym.valueDeclaration)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + } + if (!(sym.flags & 262144 /* TypeParameter */) && !isDeclarationName(node) && isSymbolAccessible( + sym, + context.enclosingDeclaration, + meaning, + false + ).accessibility !== 0 /* Accessible */) { introducesError = true; } else { - (_b = (_a2 = context.tracker) == null ? void 0 : _a2.trackSymbol) == null ? void 0 : _b.call(_a2, sym, context.enclosingDeclaration, 67108863 /* All */); - includePrivateSymbol == null ? void 0 : includePrivateSymbol(sym); + context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning); } - if (isIdentifier(node)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + return { introducesError, node }; + function attachSymbolToLeftmostIdentifier(node2) { + if (node2 === leftmost) { const type = getDeclaredTypeOfSymbol(sym); - const name = sym.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : factory.cloneNode(node); + const name = sym.flags & 262144 /* TypeParameter */ ? typeParameterToName(type, context) : factory.cloneNode(node2); name.symbol = sym; - return { introducesError, node: setEmitFlags(setOriginalNode(name, node), 16777216 /* NoAsciiEscaping */) }; + return setTextRange2(context, setEmitFlags(name, 16777216 /* NoAsciiEscaping */), node2); + } + const updated = visitEachChild(node2, (c) => attachSymbolToLeftmostIdentifier(c), void 0); + if (updated !== node2) { + setTextRange2(context, updated, node2); } + return updated; } - return { introducesError, node }; } - function serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled) { + function tryReuseExistingTypeNodeHelper(context, existing) { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } let hadError = false; - const file = getSourceFileOfNode(existing); - const transformed = visitNode(existing, visitExistingNodeTreeSymbols); + const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode); if (hadError) { return void 0; } - return transformed === existing ? setTextRange(factory.cloneNode(existing), existing) : transformed; + return transformed; function visitExistingNodeTreeSymbols(node) { + const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : void 0; + const result = visitExistingNodeTreeSymbolsWorker(node); + onExitNewScope == null ? void 0 : onExitNewScope(); + return result === node ? setTextRange2(context, factory.cloneNode(result), node) : result; + } + function onEnterNewScope(node) { + const oldContex = context; + context = cloneNodeBuilderContext(context); + const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + return onExitNewScope; + function onExitNewScope() { + cleanup == null ? void 0 : cleanup(); + context = oldContex; + } + } + function visitExistingNodeTreeSymbolsWorker(node) { if (isJSDocAllType(node) || node.kind === 328 /* JSDocNamepathType */) { return factory.createKeywordTypeNode(132 /* AnyKeyword */); } @@ -50926,16 +51756,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createKeywordTypeNode(159 /* UnknownKeyword */); } if (isJSDocNullableType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createLiteralTypeNode(factory.createNull())]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createLiteralTypeNode(factory.createNull())] + ); } if (isJSDocOptionalType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)] + ); } if (isJSDocNonNullableType(node)) { return visitNode(node.type, visitExistingNodeTreeSymbols); } if (isJSDocVariadicType(node)) { - return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols)); + return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); } if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, (t) => { @@ -50946,7 +51780,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, name, t.isBracketed || t.typeExpression && isJSDocOptionalType(t.typeExpression.type) ? factory.createToken(57 /* QuestionToken */) : void 0, - overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); })); } @@ -50961,9 +51795,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, "x", void 0, - visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols, isTypeNode) )], - visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols, isTypeNode) )]); } if (isJSDocFunctionType(node)) { @@ -50971,29 +51805,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { let newTypeNode; return factory.createConstructorTypeNode( void 0, - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), mapDefined(node.parameters, (p, i) => p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, void 0) : factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } else { return factory.createFunctionTypeNode( - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), map(node.parameters, (p, i) => factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } } @@ -51014,17 +51848,61 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { node.isTypeOf ); } + if (isNamedDeclaration(node) && node.name.kind === 166 /* ComputedPropertyName */ && !isLateBindableName(node.name)) { + if (!(context.flags & 1 /* AllowUnresolvedComputedNames */ && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & 1 /* Any */)) { + return void 0; + } + } + if (isFunctionLike(node) && !node.type || isPropertyDeclaration(node) && !node.type && !node.initializer || isPropertySignature(node) && !node.type && !node.initializer || isParameter(node) && !node.type && !node.initializer) { + let visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + if (visited === node) { + visited = setTextRange2(context, factory.cloneNode(node), node); + } + visited.type = factory.createKeywordTypeNode(132 /* AnyKeyword */); + if (isParameter(node)) { + visited.modifiers = void 0; + } + return visited; + } if (isEntityName(node) || isEntityNameExpression(node)) { - const { introducesError, node: result } = trackExistingEntityName(node, context, includePrivateSymbol); - hadError = hadError || introducesError; - if (result !== node) { - return result; + if (isDeclarationName(node)) { + return node; } + const { introducesError, node: result } = trackExistingEntityName(node, context); + hadError = hadError || introducesError; + return result; } - if (file && isTupleTypeNode(node) && getLineAndCharacterOfPosition(file, node.pos).line === getLineAndCharacterOfPosition(file, node.end).line) { - setEmitFlags(node, 1 /* SingleLine */); + if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { + const visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + const clone2 = setTextRange2(context, visited === node ? factory.cloneNode(node) : visited, node); + const flags = getEmitFlags(clone2); + setEmitFlags( + clone2, + flags | (context.flags & 1024 /* MultilineObjectLiterals */ && isTypeLiteralNode(node) ? 0 : 1 /* SingleLine */) + ); + return clone2; + } + if (isStringLiteral(node) && !!(context.flags & 268435456 /* UseSingleQuotesForStringLiteralType */) && !node.singleQuote) { + const clone2 = factory.cloneNode(node); + clone2.singleQuote = true; + return clone2; + } + if (isConditionalTypeNode(node)) { + const checkType = visitNode(node.checkType, visitExistingNodeTreeSymbols, isTypeNode); + const disposeScope = onEnterNewScope(node); + const extendType = visitNode(node.extendsType, visitExistingNodeTreeSymbols, isTypeNode); + const trueType2 = visitNode(node.trueType, visitExistingNodeTreeSymbols, isTypeNode); + disposeScope(); + const falseType2 = visitNode(node.falseType, visitExistingNodeTreeSymbols, isTypeNode); + return factory.updateConditionalTypeNode( + node, + checkType, + extendType, + trueType2, + falseType2 + ); } - return visitEachChild(node, visitExistingNodeTreeSymbols, nullTransformationContext); + return visitEachChild(node, visitExistingNodeTreeSymbols, void 0); function getEffectiveDotDotDotForParameter(p) { return p.dotDotDotToken || (p.type && isJSDocVariadicType(p.type) ? factory.createToken(25 /* DotDotDotToken */) : void 0); } @@ -51032,18 +51910,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return p.name && isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? `args` : `arg${index}`; } function rewriteModuleSpecifier(parent2, lit) { - if (bundled) { - if (context.tracker && context.tracker.moduleResolverHost) { - const targetFile = getExternalModuleFileFromDeclaration(parent2); - if (targetFile) { - const getCanonicalFileName = createGetCanonicalFileName(!!host.useCaseSensitiveFileNames); - const resolverHost = { - getCanonicalFileName, - getCurrentDirectory: () => context.tracker.moduleResolverHost.getCurrentDirectory(), - getCommonSourceDirectory: () => context.tracker.moduleResolverHost.getCommonSourceDirectory() - }; - const newName = getResolvedExternalModuleName(resolverHost, targetFile); - return factory.createStringLiteral(newName); + if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) { + const targetFile = getExternalModuleFileFromDeclaration(parent2); + if (targetFile) { + const newName = getSpecifierForModuleSymbol(targetFile.symbol, context); + if (newName !== lit.text) { + return setOriginalNode(factory.createStringLiteral(newName), lit); } } } else { @@ -51054,11 +51926,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - return lit; + return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral); } } } - function symbolTableToDeclarationStatements(symbolTable, context, bundled) { + function symbolTableToDeclarationStatements(symbolTable, context) { const serializePropertySymbolForClass = makeSerializePropertySymbol(factory.createPropertyDeclaration, 174 /* MethodDeclaration */, true); const serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol((mods, name, question, type) => factory.createPropertySignature(mods, name, question, type), 173 /* MethodSignature */, false); const enclosingDeclaration = context.enclosingDeclaration; @@ -51070,28 +51942,37 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ...oldcontext, usedSymbolNames: new Set2(oldcontext.usedSymbolNames), remappedSymbolNames: new Map2(), - tracker: { - ...oldcontext.tracker, - trackSymbol: (sym, decl, meaning) => { - const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); - if (accessibleResult.accessibility === 0 /* Accessible */) { - const chain = lookupSymbolChainWorker(sym, context, meaning); - if (!(sym.flags & 4 /* Property */)) { - includePrivateSymbol(chain[0]); + tracker: void 0 + }; + const tracker = { + ...oldcontext.tracker.inner, + trackSymbol: (sym, decl, meaning) => { + var _a2, _b; + if ((_a2 = context.remappedSymbolNames) == null ? void 0 : _a2.has(getSymbolId(sym))) { + return false; + } + const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); + if (accessibleResult.accessibility === 0 /* Accessible */) { + const chain = lookupSymbolChainWorker(sym, context, meaning); + if (!(sym.flags & 4 /* Property */)) { + const root = chain[0]; + const contextFile = getSourceFileOfNode(oldcontext.enclosingDeclaration); + if (some(root.declarations, (d) => getSourceFileOfNode(d) === contextFile)) { + includePrivateSymbol(root); } - } else if (oldcontext.tracker && oldcontext.tracker.trackSymbol) { - return oldcontext.tracker.trackSymbol(sym, decl, meaning); } - return false; + } else if ((_b = oldcontext.tracker.inner) == null ? void 0 : _b.trackSymbol) { + return oldcontext.tracker.inner.trackSymbol(sym, decl, meaning); } + return false; } }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, oldcontext.tracker.moduleResolverHost); forEachEntry(symbolTable, (symbol, name) => { const baseName = unescapeLeadingUnderscores(name); void getInternalSymbolName(symbol, baseName); }); - let addingDeclare = !bundled; + let addingDeclare = !context.bundled; const exportEquals = symbolTable.get("export=" /* ExportEquals */); if (exportEquals && symbolTable.size > 1 && exportEquals.flags & 2097152 /* Alias */) { symbolTable = createSymbolTable(); @@ -51243,6 +52124,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function serializeSymbol(symbol, isPrivate, propertyAsAlias) { + void getPropertiesOfType(getTypeOfSymbol(symbol)); const visitedSym = getMergedSymbol(symbol); if (visitedSymbols.has(getSymbolId(visitedSym))) { return; @@ -51256,6 +52138,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (context.reportedDiagnostic) { oldcontext.reportedDiagnostic = context.reportedDiagnostic; } + if (context.trackedSymbols) { + if (!oldContext.trackedSymbols) { + oldContext.trackedSymbols = context.trackedSymbols; + } else { + Debug.assert(context.trackedSymbols === oldContext.trackedSymbols); + } + } context = oldContext; } } @@ -51313,9 +52202,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* Value */); } else { - const statement = setTextRange(factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(name, void 0, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) - ], flags)), textRange); + const statement = setTextRange2( + context, + factory.createVariableStatement( + void 0, + factory.createVariableDeclarationList([ + factory.createVariableDeclaration( + name, + void 0, + serializeTypeForDeclaration(context, void 0, type, symbol) + ) + ], flags) + ), + textRange + ); addResult(statement, name !== localName ? modifierFlags & ~1 /* Export */ : modifierFlags); if (name !== localName && !isPrivate) { addResult( @@ -51419,7 +52319,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.flags |= 8388608 /* InTypeAlias */; const oldEnclosingDecl = context.enclosingDeclaration; context.enclosingDeclaration = jsdocAliasDecl; - const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) || typeToTypeNodeHelper(aliasType, context); + const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && tryReuseExistingNonParameterTypeNode(context, jsdocAliasDecl.typeExpression.type, aliasType, void 0) || typeToTypeNodeHelper(aliasType, context); addResult(setSyntheticLeadingComments( factory.createTypeAliasDeclaration(void 0, getInternalSymbolName(symbol, symbolName2), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }] @@ -51503,8 +52403,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags) { const signatures = getSignaturesOfType(type, 0 /* Call */); for (const sig of signatures) { - const decl = signatureToSignatureDeclarationHelper(sig, 263 /* FunctionDeclaration */, context, { name: factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); - addResult(setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); + const decl = signatureToSignatureDeclarationHelper( + sig, + 263 /* FunctionDeclaration */, + context, + { name: factory.createIdentifier(localName) } + ); + addResult(setTextRange2(context, decl, getSignatureTextRangeLocation(sig)), modifierFlags); } if (!(symbol.flags & (512 /* ValueModule */ | 1024 /* NamespaceModule */) && !!symbol.exports && !!symbol.exports.size)) { const props = filter(getPropertiesOfType(type), isNamespaceMember); @@ -51576,7 +52481,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return cleanup(void 0); } let introducesError; - ({ introducesError, node: expr } = trackExistingEntityName(expr, context, includePrivateSymbol)); + ({ introducesError, node: expr } = trackExistingEntityName(expr, context)); if (introducesError) { return cleanup(void 0); } @@ -51585,7 +52490,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { expr, map( e.typeArguments, - (a) => serializeExistingTypeNode(context, a, includePrivateSymbol, bundled) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) + (a) => tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) ) )); function cleanup(result2) { @@ -51641,13 +52546,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constructors = isNonConstructableClassLikeInJsFile ? [factory.createConstructorDeclaration(factory.createModifiersFromModifierFlags(8 /* Private */), [], void 0)] : serializeSignatures(1 /* Construct */, staticType, staticBaseType, 176 /* Constructor */); const indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; - addResult(setTextRange(factory.createClassDeclaration( - void 0, - localName, - typeParamDecls, - heritageClauses, - [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] - ), symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0]), modifierFlags); + addResult(setTextRange2( + context, + factory.createClassDeclaration( + void 0, + localName, + typeParamDecls, + heritageClauses, + [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] + ), + symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0] + ), modifierFlags); } function getSomeTargetNameFromDeclarations(declarations) { return firstDefined(declarations, (d) => { @@ -51702,6 +52611,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { break; } Debug.failBadSyntaxKind(((_c = node.parent) == null ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); + break; case 306 /* ShorthandPropertyAssignment */: if (((_e = (_d = node.parent) == null ? void 0 : _d.parent) == null ? void 0 : _e.kind) === 227 /* BinaryExpression */) { serializeExportSpecifier( @@ -51745,22 +52655,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 273 /* NamespaceExportDeclaration */: addResult(factory.createNamespaceExportDeclaration(idText(node.name)), 0 /* None */); break; - case 276 /* ImportClause */: + case 276 /* ImportClause */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, factory.createIdentifier(localName), void 0), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; - case 277 /* NamespaceImport */: + } + case 277 /* NamespaceImport */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, void 0, factory.createNamespaceImport(factory.createIdentifier(localName))), - factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 283 /* NamespaceExport */: addResult(factory.createExportDeclaration( void 0, @@ -51769,7 +52685,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)) ), 0 /* None */); break; - case 279 /* ImportSpecifier */: + case 279 /* ImportSpecifier */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause( @@ -51783,10 +52701,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ) ]) ), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 284 /* ExportSpecifier */: const specifier = node.parent.parent.moduleSpecifier; serializeExportSpecifier( @@ -51869,7 +52788,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { serializeAsFunctionNamespaceMerge(typeToSerialize, symbol, varName, isExportAssignmentCompatibleSymbolName ? 0 /* None */ : 1 /* Export */); } else { const statement = factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(varName, void 0, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) + factory.createVariableDeclaration( + varName, + void 0, + serializeTypeForDeclaration( + context, + void 0, + typeToSerialize, + symbol + ) + ) ], 2 /* Const */)); addResult( statement, @@ -51891,8 +52819,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function isTypeRepresentableAsFunctionNamespaceMerge(typeToSerialize, hostSymbol) { + var _a2; const ctxSrc = getSourceFileOfNode(context.enclosingDeclaration); - return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); + return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !some((_a2 = typeToSerialize.symbol) == null ? void 0 : _a2.declarations, isTypeNode) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); } function makeSerializePropertySymbol(createProperty2, methodKind, useAccessors) { return function serializePropertySymbol(p, isStatic2, baseType) { @@ -51911,50 +52840,66 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (p.flags & 98304 /* Accessor */ && useAccessors) { const result = []; if (p.flags & 65536 /* SetAccessor */) { - result.push(setTextRange(factory.createSetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [factory.createParameterDeclaration( - void 0, - void 0, - "arg", - void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled) - )], - void 0 - ), ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createSetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [factory.createParameterDeclaration( + void 0, + void 0, + "arg", + void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p) + )], + void 0 + ), + ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl + )); } if (p.flags & 32768 /* GetAccessor */) { const isPrivate2 = modifierFlags & 8 /* Private */; - result.push(setTextRange(factory.createGetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [], - isPrivate2 ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createGetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [], + isPrivate2 ? void 0 : serializeTypeForDeclaration(context, void 0, getTypeOfSymbol(p), p), + void 0 + ), + ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl + )); } return result; } else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) { - return setTextRange(createProperty2( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl); + return setTextRange2( + context, + createProperty2( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p), + void 0 + ), + ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl + ); } if (p.flags & (8192 /* Method */ | 16 /* Function */)) { const type = getTypeOfSymbol(p); const signatures = getSignaturesOfType(type, 0 /* Call */); if (flag & 8 /* Private */) { - return setTextRange(createProperty2( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - void 0, - void 0 - ), ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); + return setTextRange2( + context, + createProperty2( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + void 0, + void 0 + ), + ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0] + ); } const results2 = []; for (const sig of signatures) { @@ -51969,7 +52914,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } ); const location = sig.declaration && isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; - results2.push(setTextRange(decl, location)); + results2.push(setTextRange2(context, decl, location)); } return results2; } @@ -52010,17 +52955,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (privateProtected) { - return [setTextRange(factory.createConstructorDeclaration( - factory.createModifiersFromModifierFlags(privateProtected), - [], - void 0 - ), signatures[0].declaration)]; + return [setTextRange2( + context, + factory.createConstructorDeclaration( + factory.createModifiersFromModifierFlags(privateProtected), + [], + void 0 + ), + signatures[0].declaration + )]; } } const results2 = []; for (const sig of signatures) { const decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); - results2.push(setTextRange(decl, sig.declaration)); + results2.push(setTextRange2(context, decl, sig.declaration)); } return results2; } @@ -52144,8 +53093,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const t = types[i]; flags |= t.flags; if (!(t.flags & 98304 /* Nullable */)) { - if (t.flags & (512 /* BooleanLiteral */ | 1024 /* EnumLiteral */)) { - const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (t.flags & (512 /* BooleanLiteral */ | 1056 /* EnumLike */)) { + const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLikeType(t); if (baseType.flags & 1048576 /* Union */) { const count = baseType.types.length; if (i + count <= types.length && getRegularTypeOfLiteralType(types[i + count - 1]) === getRegularTypeOfLiteralType(baseType.types[count - 1])) { @@ -53858,6 +54807,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return false; } function isLiteralEnumMember(member) { + var _a2, _b; const expr = member.initializer; if (!expr) { return !(member.flags & 16777216 /* Ambient */); @@ -53870,7 +54820,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 225 /* PrefixUnaryExpression */: return expr.operator === 40 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 79 /* Identifier */: - return nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); + return nodeIsMissing(expr) || ((_b = (_a2 = getSymbolOfNode(member.parent).exports.get(expr.escapedText)) == null ? void 0 : _a2.valueDeclaration) == null ? void 0 : _b.kind) === 308 /* EnumMember */; case 227 /* BinaryExpression */: return isStringConcatExpression(expr); default: @@ -53887,7 +54837,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - if (member.initializer && isStringLiteralLike(member.initializer)) { + if (member.initializer && isStringConcatExpression(member.initializer)) { return links.enumKind = 1 /* Literal */; } if (!isLiteralEnumMember(member)) { @@ -53899,8 +54849,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } - function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && !(type.flags & 1048576 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + function getBaseTypeOfEnumLikeType(type) { + return type.flags & 1056 /* EnumLike */ && type.symbol.flags & 8 /* EnumMember */ ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { const links = getSymbolLinks(symbol); @@ -53914,9 +54864,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - const value = getEnumMemberValue(member); - const memberType = getFreshTypeOfLiteralType(getEnumLiteralType(value !== void 0 ? value : 0, enumCount, getSymbolOfNode(member))); - getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; + const memberSymbol = getSymbolOfNode(member); + const value = getEnumMemberValue(member).value; + const memberType = value !== void 0 ? getFreshTypeOfLiteralType( + getEnumLiteralType(value, enumCount, memberSymbol) + ) : createComputedEnumType(memberSymbol); + getSymbolLinks(memberSymbol).declaredType = memberType; memberTypeList.push(getRegularTypeOfLiteralType(memberType)); } } @@ -53931,9 +54884,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.declaredType = enumType2; } } - const enumType = createType(32 /* Enum */); - enumType.symbol = symbol; - return links.declaredType = enumType; + const enumType = createComputedEnumType(symbol); + links.declaredType = enumType; + return links.declaredType; + } + function createComputedEnumType(symbol) { + const regularType = createTypeWithSymbol(32 /* Enum */, symbol); + const freshType = createTypeWithSymbol(32 /* Enum */, symbol); + regularType.regularType = regularType; + regularType.freshType = freshType; + freshType.freshType = freshType; + freshType.regularType = regularType; + return regularType; } function getDeclaredTypeOfEnumMember(symbol) { const links = getSymbolLinks(symbol); @@ -56200,8 +57162,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function cloneTypeReference(source) { - const type = createType(source.flags); - type.symbol = source.symbol; + const type = createTypeWithSymbol(source.flags, source.symbol); type.objectFlags = source.objectFlags; type.target = source.target; type.resolvedTypeArguments = source.resolvedTypeArguments; @@ -57155,7 +58116,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { orderedRemoveItemAt(typeSet, missingIndex); } } - if (includes & (2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { + if (includes & (32 /* Enum */ | 2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & 2 /* Subtype */)); } if (includes & 128 /* StringLiteral */ && includes & 134217728 /* TemplateLiteral */) { @@ -57746,8 +58707,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return result; } function createStringMappingType(symbol, type) { - const result = createType(268435456 /* StringMapping */); - result.symbol = symbol; + const result = createTypeWithSymbol(268435456 /* StringMapping */, symbol); result.type = type; return result; } @@ -58561,14 +59521,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return info.isReadonly !== readonly ? createIndexInfo(info.keyType, info.type, readonly, info.declaration) : info; } function createLiteralType(flags, value, symbol, regularType) { - const type = createType(flags); - type.symbol = symbol; + const type = createTypeWithSymbol(flags, symbol); type.value = value; type.regularType = regularType || type; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 2944 /* Literal */) { + if (type.flags & 2976 /* Freshable */) { if (!type.freshType) { const freshType = createLiteralType(type.flags, type.value, type.symbol, type); freshType.freshType = freshType; @@ -58579,10 +59538,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 2944 /* Literal */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; + return type.flags & 2976 /* Freshable */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; } function isFreshLiteralType(type) { - return !!(type.flags & 2944 /* Literal */) && type.freshType === type; + return !!(type.flags & 2976 /* Freshable */) && type.freshType === type; } function getStringLiteralType(value) { let type; @@ -58615,8 +59574,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.resolvedType; } function createUniqueESSymbolType(symbol) { - const type = createType(8192 /* UniqueESSymbol */); - type.symbol = symbol; + const type = createTypeWithSymbol(8192 /* UniqueESSymbol */, symbol); type.escapedName = `__@${type.symbol.escapedName}@${getSymbolId(type.symbol)}`; return type; } @@ -59697,7 +60655,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return compareSignaturesRelated( source, target, - ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0, + ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0 /* None */, false, void 0, void 0, @@ -59879,7 +60837,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { errorReporter( Diagnostics.Property_0_is_missing_in_type_1, symbolName(property), - typeToString(getDeclaredTypeOfSymbol(targetSymbol), void 0, 64 /* UseFullyQualifiedType */) + typeToString( + getDeclaredTypeOfSymbol(targetSymbol), + void 0, + 64 /* UseFullyQualifiedType */ + ) ); enumRelation.set(id, 2 /* Failed */ | 4 /* Reported */); } else { @@ -59913,13 +60875,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; if (s & 12288 /* ESSymbolLike */ && t & 4096 /* ESSymbol */) return true; - if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; + } if (s & 1024 /* EnumLiteral */ && t & 1024 /* EnumLiteral */) { - if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; - if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) + } + if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) { return true; + } } if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */))) return true; @@ -62255,7 +63220,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type.flags & 16 /* Boolean */ ? true : type.flags & 1048576 /* Union */ ? type.flags & 1024 /* EnumLiteral */ ? true : every(type.types, isUnitType) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; + return type.flags & 1056 /* EnumLike */ ? getBaseTypeOfEnumLikeType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; } function getBaseTypeOfLiteralTypeUnion(type) { var _a2; @@ -62263,7 +63228,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return (_a2 = getCachedType(key)) != null ? _a2 : setCachedType(key, mapType(type, getBaseTypeOfLiteralType)); } function getWidenedLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; + return type.flags & 1056 /* EnumLike */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLikeType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; } function getWidenedUniqueESSymbolType(type) { return type.flags & 8192 /* UniqueESSymbol */ ? esSymbolType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedUniqueESSymbolType) : type; @@ -64202,7 +65167,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return true; } - if (source.flags & 1024 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 1056 /* EnumLike */ && getBaseTypeOfEnumLikeType(source) === target) { return true; } return containsType(target.types, source); @@ -72764,7 +73729,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function checkExpressionCached(node, checkMode) { - if (checkMode && checkMode !== 0 /* Normal */) { + if (checkMode) { return checkExpression(node, checkMode); } const links = getNodeLinks(node); @@ -77609,13 +78574,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { nodeLinks2.flags |= 16384 /* EnumValuesComputed */; let autoValue = 0; for (const member of node.members) { - const value = computeMemberValue(member, autoValue); - getNodeLinks(member).enumMemberValue = value; - autoValue = typeof value === "number" ? value + 1 : void 0; + const result = computeEnumMemberValue(member, autoValue); + getNodeLinks(member).enumMemberValue = result; + autoValue = typeof result.value === "number" ? result.value + 1 : void 0; } } } - function computeMemberValue(member, autoValue) { + function computeEnumMemberValue(member, autoValue) { if (isComputedNonLiteralName(member.name)) { error(member.name, Diagnostics.Computed_property_names_are_not_allowed_in_enums); } else { @@ -77625,29 +78590,33 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (member.initializer) { - return computeConstantValue(member); + return computeConstantEnumMemberValue(member); } if (member.parent.flags & 16777216 /* Ambient */ && !isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { - return void 0; + return evaluatorResult(void 0); } - if (autoValue !== void 0) { - return autoValue; + if (autoValue === void 0) { + error(member.name, Diagnostics.Enum_member_must_have_initializer); + return evaluatorResult(void 0); } - error(member.name, Diagnostics.Enum_member_must_have_initializer); - return void 0; + return evaluatorResult(autoValue); } - function computeConstantValue(member) { + function computeConstantEnumMemberValue(member) { const enumKind = getEnumKind(getSymbolOfNode(member.parent)); const isConstEnum2 = isEnumConst(member.parent); const initializer = member.initializer; - const value = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? void 0 : evaluate(initializer); - if (value !== void 0) { - if (isConstEnum2 && typeof value === "number" && !isFinite(value)) { - error(initializer, isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value); + const result = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? evaluatorResult(void 0) : evaluate(initializer, member); + if (result.value !== void 0) { + if (isConstEnum2 && typeof result.value === "number" && !isFinite(result.value)) { + error( + initializer, + isNaN(result.value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value + ); } } else if (enumKind === 1 /* Literal */) { + const result2 = evaluate(initializer, member); error(initializer, Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members); - return 0; + return evaluatorResult(0, result2.isSyntacticallyString, result2.resolvedOtherFiles, result2.hasExternalReferences); } else if (isConstEnum2) { error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); } else if (member.parent.flags & 16777216 /* Ambient */) { @@ -77660,103 +78629,149 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { checkTypeAssignableTo(source, getDeclaredTypeOfSymbol(getSymbolOfNode(member.parent)), initializer, void 0); } } - return value; - function evaluate(expr) { + return result; + function evaluate(expr, location) { + let isSyntacticallyString = false; + let resolvedOtherFiles = false; + let hasExternalReferences = false; + expr = skipParentheses(expr); switch (expr.kind) { case 225 /* PrefixUnaryExpression */: - const value2 = evaluate(expr.operand); - if (typeof value2 === "number") { + const result2 = evaluate(expr.operand, location); + resolvedOtherFiles = result2.resolvedOtherFiles; + hasExternalReferences = result2.hasExternalReferences; + if (typeof result2.value === "number") { switch (expr.operator) { case 39 /* PlusToken */: - return value2; + return evaluatorResult(result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return -value2; + return evaluatorResult(-result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 54 /* TildeToken */: - return ~value2; + return evaluatorResult(~result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } } break; - case 227 /* BinaryExpression */: - const left = evaluate(expr.left); - const right = evaluate(expr.right); - if (typeof left === "number" && typeof right === "number") { + case 227 /* BinaryExpression */: { + const left = evaluate(expr.left, location); + const right = evaluate(expr.right, location); + isSyntacticallyString = (left.isSyntacticallyString || right.isSyntacticallyString) && expr.operatorToken.kind === 39 /* PlusToken */; + resolvedOtherFiles = left.resolvedOtherFiles || right.resolvedOtherFiles; + hasExternalReferences = left.hasExternalReferences || right.hasExternalReferences; + if (typeof left.value === "number" && typeof right.value === "number") { switch (expr.operatorToken.kind) { case 51 /* BarToken */: - return left | right; + return evaluatorResult(left.value | right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 50 /* AmpersandToken */: - return left & right; + return evaluatorResult(left.value & right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 48 /* GreaterThanGreaterThanToken */: - return left >> right; + return evaluatorResult(left.value >> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 49 /* GreaterThanGreaterThanGreaterThanToken */: - return left >>> right; + return evaluatorResult(left.value >>> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 47 /* LessThanLessThanToken */: - return left << right; + return evaluatorResult(left.value << right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 52 /* CaretToken */: - return left ^ right; + return evaluatorResult(left.value ^ right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 41 /* AsteriskToken */: - return left * right; + return evaluatorResult(left.value * right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 43 /* SlashToken */: - return left / right; + return evaluatorResult(left.value / right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 39 /* PlusToken */: - return left + right; + return evaluatorResult(left.value + right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return left - right; + return evaluatorResult(left.value - right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 44 /* PercentToken */: - return left % right; + return evaluatorResult(left.value % right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 42 /* AsteriskAsteriskToken */: - return left ** right; - } - } else if (typeof left === "string" && typeof right === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { - return left + right; + return evaluatorResult(left.value ** right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + } + } else if (typeof left.value === "string" && typeof right.value === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { + return evaluatorResult( + "" + left.value + right.value, + isSyntacticallyString, + resolvedOtherFiles, + hasExternalReferences + ); } break; + } case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - return expr.text; + return evaluatorResult(expr.text, true); case 8 /* NumericLiteral */: - checkGrammarNumericLiteral(expr); - return +expr.text; - case 217 /* ParenthesizedExpression */: - return evaluate(expr.expression); + return evaluatorResult(+expr.text); case 79 /* Identifier */: - const identifier = expr; - if (isInfinityOrNaNString(identifier.escapedText)) { - return +identifier.escapedText; - } - return nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 212 /* ElementAccessExpression */: + return evaluateEntityNameExpression(expr, location); case 211 /* PropertyAccessExpression */: - if (isConstantMemberAccess(expr)) { - const type = getTypeOfExpression(expr.expression); - if (type.symbol && type.symbol.flags & 384 /* Enum */) { - let name; - if (expr.kind === 211 /* PropertyAccessExpression */) { - name = expr.name.escapedText; - } else { - name = escapeLeadingUnderscores(cast(expr.argumentExpression, isLiteralExpression).text); - } - return evaluateEnumMember(expr, type.symbol, name); - } + if (isEntityNameExpression(expr)) { + return evaluateEntityNameExpression(expr, location); } break; + case 212 /* ElementAccessExpression */: + return evaluateElementAccessExpression(expr, location); } - return void 0; + return evaluatorResult(void 0, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } - function evaluateEnumMember(expr, enumSymbol, name) { - const memberSymbol = enumSymbol.exports.get(name); - if (memberSymbol) { - const declaration = memberSymbol.valueDeclaration; - if (declaration !== member) { - if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member) && isEnumDeclaration(declaration.parent)) { - return getEnumMemberValue(declaration); + function evaluateEntityNameExpression(expr, location) { + const symbol = resolveEntityName(expr, 111551 /* Value */, true); + if (!symbol) { + return evaluatorResult(void 0); + } + if (expr.kind === 79 /* Identifier */) { + const identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText) && symbol === getGlobalSymbol(identifier.escapedText, 111551 /* Value */, void 0)) { + return evaluatorResult(+identifier.escapedText, false); + } + } + if (symbol.flags & 8 /* EnumMember */) { + return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration); + } + if (isConstVariable(symbol)) { + const declaration = symbol.valueDeclaration; + if (declaration && isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && (!location || declaration !== location && isBlockScopedNameDeclaredBeforeUse(declaration, location))) { + const result2 = evaluate(declaration.initializer, declaration); + if (location && getSourceFileOfNode(location) !== getSourceFileOfNode(declaration)) { + return evaluatorResult( + result2.value, + false, + true, + true + ); } - error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); - return 0; - } else { - error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(memberSymbol)); + return evaluatorResult(result2.value, result2.isSyntacticallyString, result2.resolvedOtherFiles, true); } } - return void 0; + return evaluatorResult(void 0); + } + function evaluateElementAccessExpression(expr, location) { + const root = expr.expression; + if (isEntityNameExpression(root) && isStringLiteralLike(expr.argumentExpression)) { + const rootSymbol = resolveEntityName(root, 111551 /* Value */, true); + if (rootSymbol && rootSymbol.flags & 384 /* Enum */) { + const name = escapeLeadingUnderscores(expr.argumentExpression.text); + const member2 = rootSymbol.exports.get(name); + if (member2) { + Debug.assert(getSourceFileOfNode(member2.valueDeclaration) === getSourceFileOfNode(rootSymbol.valueDeclaration)); + return location ? evaluateEnumMember(expr, member2, location) : getEnumMemberValue(member2.valueDeclaration); + } + } + } + return evaluatorResult(void 0); + } + function evaluateEnumMember(expr, symbol, location) { + const declaration = symbol.valueDeclaration; + if (!declaration || declaration === location) { + error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(symbol)); + return evaluatorResult(void 0); + } + if (!isBlockScopedNameDeclaredBeforeUse(declaration, location)) { + error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); + return evaluatorResult(0); + } + const value = getEnumMemberValue(declaration); + if (location.parent !== declaration.parent) { + return evaluatorResult(value.value, value.isSyntacticallyString, value.resolvedOtherFiles, true); + } + return value; } } function isConstantMemberAccess(node) { @@ -77810,6 +78825,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (isPrivateIdentifier(node.name)) { error(node, Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier); } + if (node.initializer) { + checkExpression(node.initializer); + } } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { const declarations = symbol.declarations; @@ -79714,15 +80732,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { - const declaration = getParseTreeNode(node, isFunctionDeclaration); + const declaration = getParseTreeNode( + node, + (n) => isFunctionDeclaration(n) || isVariableDeclaration(n) + ); if (!declaration) { return false; } - const symbol = getSymbolOfNode(declaration); - if (!symbol || !(symbol.flags & 16 /* Function */)) { + let symbol; + if (isVariableDeclaration(declaration)) { + if (declaration.type || !isInJSFile(declaration) && !isVarConst(declaration)) { + return false; + } + const initializer = getDeclaredExpandoInitializer(declaration); + if (!initializer || !canHaveSymbol(initializer)) { + return false; + } + symbol = getSymbolOfNode(initializer); + } else { + symbol = getSymbolOfNode(declaration); + } + if (!symbol || !(symbol.flags & 16 /* Function */ | 3 /* Variable */)) { return false; } - return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && p.valueDeclaration && isPropertyAccessExpression(p.valueDeclaration)); + return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && isExpandoPropertyDeclaration(p.valueDeclaration)); } function getPropertiesOfContainerFunction(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -79740,8 +80773,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return ((_a2 = nodeLinks[nodeId]) == null ? void 0 : _a2.flags) || 0; } function getEnumMemberValue(node) { + var _a2; computeEnumMemberValues(node.parent); - return getNodeLinks(node).enumMemberValue; + return (_a2 = getNodeLinks(node).enumMemberValue) != null ? _a2 : evaluatorResult(void 0); } function canHaveConstantValue(node) { switch (node.kind) { @@ -79754,13 +80788,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function getConstantValue2(node) { if (node.kind === 308 /* EnumMember */) { - return getEnumMemberValue(node); + return getEnumMemberValue(node).value; } const symbol = getNodeLinks(node).resolvedSymbol; if (symbol && symbol.flags & 8 /* EnumMember */) { const member = symbol.valueDeclaration; if (isEnumConst(member.parent)) { - return getEnumMemberValue(member); + return getEnumMemberValue(member).value; } } return void 0; @@ -79827,20 +80861,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return 11 /* ObjectType */; } } - function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker) { const declaration = getParseTreeNode(declarationIn, isVariableLikeOrAccessor); if (!declaration) { return factory.createToken(132 /* AnyKeyword */); } const symbol = getSymbolOfNode(declaration); - let type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol) { - flags |= 1048576 /* AllowUniqueESSymbolType */; - } - if (addUndefined) { - type = getOptionalType(type); - } - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + const type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; + return nodeBuilder.serializeTypeForDeclaration( + declaration, + type, + symbol, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); + } + function isDeclarationWithPossibleInnerTypeNodeReuse(declaration) { + return isFunctionLike(declaration) || isExportAssignment(declaration) || isVariableLike(declaration); } function getAllAccessorDeclarationsForDeclaration(accessor) { accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); @@ -79857,13 +80895,39 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getAccessor }; } + function getPossibleTypeNodeReuseExpression(declaration) { + return isFunctionLike(declaration) && !isSetAccessor(declaration) ? getSingleReturnExpression(declaration) : isExportAssignment(declaration) ? declaration.expression : !!declaration.initializer ? declaration.initializer : isParameter(declaration) && isSetAccessor(declaration.parent) ? getSingleReturnExpression(getAllAccessorDeclarationsForDeclaration(declaration.parent).getAccessor) : void 0; + } + function getSingleReturnExpression(declaration) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + return candidateExpr; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { return factory.createToken(132 /* AnyKeyword */); } - const signature = getSignatureFromDeclaration(signatureDeclaration); - return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.serializeReturnTypeForSignature( + getSignatureFromDeclaration(signatureDeclaration), + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { const expr = getParseTreeNode(exprIn, isExpression); @@ -79871,7 +80935,14 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createToken(132 /* AnyKeyword */); } const type = getWidenedType(getRegularTypeOfExpression(expr)); - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.expressionOrTypeToTypeNode( + expr, + type, + void 0, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function hasGlobalName(name) { return globals.has(escapeLeadingUnderscores(name)); @@ -79924,8 +80995,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function isNonNarrowedBindableName(node) { + if (!hasBindableName(node.parent)) { + return false; + } + const expression = node.expression; + if (!isEntityNameExpression(expression)) { + return true; + } + const type = getTypeOfExpression(expression); + const symbol = getSymbolAtLocation(expression); + if (!symbol) { + return false; + } + const declaredType = getTypeOfSymbol(symbol); + return declaredType === type; + } function literalTypeToNode(type, enclosing, tracker) { - const enumResult = type.flags & 1024 /* EnumLiteral */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); + const enumResult = type.flags & 1056 /* EnumLike */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); if (enumResult) return enumResult; const literalValue = type.value; @@ -79970,6 +81057,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return void 0; } + function getNonlocalEffectiveReturnTypeAnnotationNode(node) { + const direct = getEffectiveReturnTypeNode(node); + if (direct) { + return direct; + } + if (node.kind === 177 /* GetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node).setAccessor; + if (other) { + const param = getSetAccessorValueParameter(other); + if (param) { + return getEffectiveTypeAnnotationNode(param); + } + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -80065,6 +81168,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const node = getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue2(node) : void 0; }, + getEnumMemberValue: (nodeIn) => { + const node = getParseTreeNode(nodeIn, isEnumMember); + return node ? getEnumMemberValue(node) : void 0; + }, collectLinkedAliases, getReferencedValueDeclaration, getTypeReferenceSerializationKind, @@ -80078,6 +81185,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration, + isNonNarrowedBindableName, isLateBound: (nodeIn) => { const node = getParseTreeNode(nodeIn, isDeclaration); const symbol = node && getSymbolOfNode(node); @@ -80106,14 +81214,15 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const parseDecl = getParseTreeNode(decl); return !!parseNode && !!parseDecl && (isVariableDeclaration(parseDecl) || isBindingElement(parseDecl)) && isBindingCapturedByNode(parseNode, parseDecl); }, - getDeclarationStatementsForSourceFile: (node, flags, tracker, bundled) => { + getDeclarationStatementsForSourceFile: (node, flags, tracker) => { const n = getParseTreeNode(node); Debug.assert(n && n.kind === 314 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); const sym = getSymbolOfNode(node); if (!sym) { - return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); + return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker); } - return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled); + resolveExternalModuleSymbol(sym); + return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker); }, isImportRequiredByAugmentation, getAnnotationObjectLiteralEvaluatedProps: (node) => { @@ -81507,7 +82616,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function isSimpleLiteralEnumReference(expr) { if ((isPropertyAccessExpression(expr) || isElementAccessExpression(expr) && isStringOrNumberLiteralExpression(expr.argumentExpression)) && isEntityNameExpression(expr.expression)) { - return !!(checkExpressionCached(expr).flags & 1024 /* EnumLiteral */); + return !!(checkExpressionCached(expr).flags & 1056 /* EnumLike */); } } function checkAmbientInitializer(node) { @@ -81941,6 +83050,138 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return void 0; } } +function createBasicNodeBuilderModuleSpecifierResolutionHost(host) { + return { + getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", + getCurrentDirectory: () => host.getCurrentDirectory(), + getSymlinkCache: maybeBind(host, host.getSymlinkCache), + getPackageJsonInfoCache: () => { + var _a2; + return (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host); + }, + useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), + redirectTargetsMap: host.redirectTargetsMap, + getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), + isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), + fileExists: (fileName) => host.fileExists(fileName), + getFileIncludeReasons: () => host.getFileIncludeReasons(), + readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 + }; +} +var SymbolTrackerImpl = class { + constructor(context, tracker, moduleResolverHost) { + this.moduleResolverHost = void 0; + this.inner = void 0; + this.disableTrackSymbol = false; + var _a2; + while (tracker instanceof SymbolTrackerImpl) { + tracker = tracker.inner; + } + this.inner = tracker; + this.moduleResolverHost = moduleResolverHost; + this.context = context; + this.canTrackSymbol = !!((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol); + } + trackSymbol(symbol, enclosingDeclaration, meaning) { + var _a2, _b, _c; + if (((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol) && !this.disableTrackSymbol) { + if (this.inner.trackSymbol(symbol, enclosingDeclaration, meaning)) { + this.onDiagnosticReported(); + return true; + } + if (!(symbol.flags & 262144 /* TypeParameter */)) { + ((_c = (_b = this.context).trackedSymbols) != null ? _c : _b.trackedSymbols = []).push([symbol, enclosingDeclaration, meaning]); + } + } + return false; + } + trackReferencedAmbientModule(decl, symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackReferencedAmbientModule) { + this.onDiagnosticReported(); + this.inner.trackReferencedAmbientModule(decl, symbol); + } + } + trackExternalModuleSymbolOfImportTypeNode(symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackExternalModuleSymbolOfImportTypeNode) { + this.onDiagnosticReported(); + this.inner.trackExternalModuleSymbolOfImportTypeNode(symbol); + } + } + reportInaccessibleThisError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleThisError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleThisError(); + } + } + reportPrivateInBaseOfClassExpression(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportPrivateInBaseOfClassExpression) { + this.onDiagnosticReported(); + this.inner.reportPrivateInBaseOfClassExpression(propertyName); + } + } + reportInaccessibleUniqueSymbolError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleUniqueSymbolError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleUniqueSymbolError(); + } + } + reportCyclicStructureError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportCyclicStructureError) { + this.onDiagnosticReported(); + this.inner.reportCyclicStructureError(); + } + } + reportLikelyUnsafeImportRequiredError(specifier) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportLikelyUnsafeImportRequiredError) { + this.onDiagnosticReported(); + this.inner.reportLikelyUnsafeImportRequiredError(specifier); + } + } + reportTruncationError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportTruncationError) { + this.onDiagnosticReported(); + this.inner.reportTruncationError(); + } + } + reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonlocalAugmentation) { + this.onDiagnosticReported(); + this.inner.reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol); + } + } + reportNonSerializableProperty(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonSerializableProperty) { + this.onDiagnosticReported(); + this.inner.reportNonSerializableProperty(propertyName); + } + } + reportImportTypeNodeResolutionModeOverride() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportImportTypeNodeResolutionModeOverride) { + this.onDiagnosticReported(); + this.inner.reportImportTypeNodeResolutionModeOverride(); + } + } + onDiagnosticReported() { + this.context.reportedDiagnostic = true; + } + reportInferenceFallback(node) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInferenceFallback) { + this.inner.reportInferenceFallback(node); + } + } +}; function isNotAccessor(declaration) { return !isAccessor(declaration); } @@ -82214,7 +83455,7 @@ function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) { } return updated; } -function visitEachChild(node, visitor, context, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { +function visitEachChild(node, visitor, context = nullTransformationContext, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { if (node === void 0) { return void 0; } @@ -99286,7 +100527,7 @@ function isInternalDeclaration(node, currentSourceFile) { return hasInternalAnnotation(range, currentSourceFile); }); } -var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; +var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 1 /* AllowUnresolvedComputedNames */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; function transformDeclarations(context) { const throwDiagnostic = () => Debug.fail("Diagnostic emitted without context"); let getSymbolAccessibilityDiagnostic = throwDiagnostic; @@ -99316,7 +100557,8 @@ function transformDeclarations(context) { trackExternalModuleSymbolOfImportTypeNode, reportNonlocalAugmentation, reportNonSerializableProperty, - reportImportTypeNodeResolutionModeOverride + reportImportTypeNodeResolutionModeOverride, + reportInferenceFallback }; let errorNameNode; let errorFallbackNode; @@ -99326,8 +100568,30 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); + const getIsolatedDeclarationError = createGetIsolatedDeclarationErrors(resolver); const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; + function reportExpandoFunctionErrors(node) { + resolver.getPropertiesOfContainerFunction(node).forEach((p) => { + if (isExpandoPropertyDeclaration(p.valueDeclaration)) { + const errorTarget = isBinaryExpression(p.valueDeclaration) ? p.valueDeclaration.left : p.valueDeclaration; + context.addDiagnostic(createDiagnosticForNode( + errorTarget, + Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function + )); + } + }); + } + function reportInferenceFallback(node) { + if (!isolatedDeclarations || isSourceFileJS(currentSourceFile)) { + return; + } + if (isVariableDeclaration(node) && resolver.isExpandoFunctionDeclaration(node)) { + reportExpandoFunctionErrors(node); + } else { + context.addDiagnostic(getIsolatedDeclarationError(node)); + } + } function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { return; @@ -99678,7 +100942,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, void 0, elem.propertyName, - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } return factory2.updateBindingElement( @@ -99686,7 +100950,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } } @@ -99711,11 +100975,15 @@ function transformDeclarations(context) { return newParam; } function shouldPrintWithInitializer(node) { - return canHaveLiteralInitializer(node) && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); + return canHaveLiteralInitializer(node) && !!node.initializer && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); } function ensureNoInitializer(node) { if (shouldPrintWithInitializer(node)) { - return resolver.createLiteralConstValue(getParseTreeNode(node), symbolTracker); + const unwrappedInitializer = unwrapParenthesizedExpression(node.initializer); + if (!isPrimitiveLiteralValue(unwrappedInitializer)) { + reportInferenceFallback(node); + } + return resolver.createLiteralConstValue(getParseTreeNode(node, canHaveLiteralInitializer), symbolTracker); } return void 0; } @@ -99750,8 +101018,8 @@ function transformDeclarations(context) { } if (node.kind === 168 /* Parameter */ || node.kind === 171 /* PropertyDeclaration */ || node.kind === 170 /* PropertySignature */ || node.kind === 172 /* AnnotationPropertyDeclaration */) { if (isPropertySignature(node) || !node.initializer) - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } return cleanup(resolver.createReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); function cleanup(returnValue) { @@ -100016,6 +101284,14 @@ function transformDeclarations(context) { if (isDeclarationAndNotVisible(input)) return; if (hasDynamicName(input) && !resolver.isLateBound(getParseTreeNode(input))) { + if (isolatedDeclarations && isClassDeclaration(input.parent) && isEntityNameExpression(input.name.expression) && resolver.isEntityNameVisible(input.name.expression, input.parent).accessibility === 0 /* Accessible */ && !resolver.isNonNarrowedBindableName(input.name)) { + context.addDiagnostic( + createDiagnosticForNode( + input, + Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations + ) + ); + } return; } } @@ -100384,6 +101660,9 @@ function transformDeclarations(context) { } if (clean2 && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { const props = resolver.getPropertiesOfContainerFunction(input); + if (isolatedDeclarations) { + reportExpandoFunctionErrors(input); + } const fakespace = parseNodeFactory.createModuleDeclaration(void 0, clean2.name || factory2.createIdentifier("_default"), factory2.createModuleBlock([]), 16 /* Namespace */); setParent(fakespace, enclosingDeclaration); fakespace.locals = createSymbolTable(props); @@ -100394,7 +101673,12 @@ function transformDeclarations(context) { return void 0; } getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(p.valueDeclaration); - const type = resolver.createTypeOfDeclaration(p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags, symbolTracker); + const type = resolver.createTypeOfDeclaration( + p.valueDeclaration, + fakespace, + declarationEmitNodeBuilderFlags | -2147483648 /* NoSyntacticPrinter */, + symbolTracker + ); getSymbolAccessibilityDiagnostic = oldDiag; const nameStr = unescapeLeadingUnderscores(p.escapedName); const isNonContextualKeywordName = isStringANonContextualKeyword(nameStr); @@ -100639,12 +101923,26 @@ function transformDeclarations(context) { return cleanup(transformVariableStatement(input)); } case 269 /* EnumDeclaration */: { - return cleanup(factory2.updateEnumDeclaration(input, factory2.createNodeArray(ensureModifiers(input)), input.name, factory2.createNodeArray(mapDefined(input.members, (m) => { - if (shouldStripInternal(m)) - return; - const constValue = resolver.getConstantValue(m); - return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); - })))); + return cleanup(factory2.updateEnumDeclaration( + input, + factory2.createNodeArray(ensureModifiers(input)), + input.name, + factory2.createNodeArray(mapDefined(input.members, (m) => { + if (shouldStripInternal(m)) + return; + const enumValue = resolver.getEnumMemberValue(m); + const constValue = enumValue == null ? void 0 : enumValue.value; + if (isolatedDeclarations && m.initializer && (enumValue == null ? void 0 : enumValue.hasExternalReferences) && !isComputedPropertyName(m.name)) { + context.addDiagnostic( + createDiagnosticForNode( + m, + Diagnostics.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations + ) + ); + } + return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); + })) + )); } } function cleanup(node) { @@ -100697,7 +101995,7 @@ function transformDeclarations(context) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = node.name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node))); + Debug.assert(hasDynamicName(node)); const decl = node; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); @@ -101628,7 +102926,7 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla const sourceFiles = isSourceFile(sourceFileOrBundle) ? [sourceFileOrBundle] : sourceFileOrBundle.sourceFiles; const filesForEmit = forceDtsEmit ? sourceFiles : filter(sourceFiles, isSourceFileNotJson); const inputListOrBundle = outFile(compilerOptions) ? [factory.createBundle(filesForEmit, !isSourceFile(sourceFileOrBundle) ? sourceFileOrBundle.prepends : void 0)] : filesForEmit; - if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions)) { + if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions) || compilerOptions.noCheck) { filesForEmit.forEach(collectLinkedAliases); } PerformanceDotting.start("transformNodes"); @@ -101837,6 +103135,7 @@ var notImplementedResolver = { isSymbolAccessible: notImplemented, isEntityNameVisible: notImplemented, getConstantValue: notImplemented, + getEnumMemberValue: notImplemented, getReferencedValueDeclaration: notImplemented, getTypeReferenceSerializationKind: notImplemented, isOptionalParameter: notImplemented, @@ -101846,6 +103145,7 @@ var notImplementedResolver = { getTypeReferenceDirectivesForEntityName: notImplemented, getTypeReferenceDirectivesForSymbol: notImplemented, isLiteralConstDeclaration: notImplemented, + isNonNarrowedBindableName: notImplemented, getJsxFactoryEntity: notImplemented, getJsxFragmentFactoryEntity: notImplemented, getAllAccessorDeclarations: notImplemented, @@ -109550,6 +110850,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit"); } } + if (options.noCheck) { + if (options.noEmit) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); + } + if (!options.emitDeclarationOnly) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "noCheck", "emitDeclarationOnly"); + } + } if (options.emitDecoratorMetadata && !options.experimentalDecorators) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"); } @@ -117794,7 +119102,8 @@ function createModuleSpecifierResolutionHost(program, host) { getProjectReferenceRedirect: (fileName) => program.getProjectReferenceRedirect(fileName), isSourceOfProjectReferenceRedirect: (fileName) => program.isSourceOfProjectReferenceRedirect(fileName), getNearestAncestorDirectoryWithPackageJson: maybeBind(host, host.getNearestAncestorDirectoryWithPackageJson), - getFileIncludeReasons: () => program.getFileIncludeReasons() + getFileIncludeReasons: () => program.getFileIncludeReasons(), + getCommonSourceDirectory: () => program.getCommonSourceDirectory() }; } function getModuleSpecifierResolverHost(program, host) { @@ -121952,6 +123261,34 @@ function canBeConvertedToAsync(node) { // src/services/transpile.ts function transpileModule(input, transpileOptions) { + return transpileWorker(input, transpileOptions, false); +} +function transpileDeclaration(input, transpileOptions) { + return transpileWorker(input, transpileOptions, true); +} +var barebonesLibContent = `/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number {} +interface Object {} +interface RegExp {} +interface String {} +interface Array { length: number; [n: number]: T; } +interface SymbolConstructor { + (desc?: string | number): symbol; + for(name: string): symbol; + readonly toStringTag: symbol; +} +declare var Symbol: SymbolConstructor; +interface Symbol { + readonly [Symbol.toStringTag]: string; +}`; +var barebonesLibName = "lib.d.ts"; +var barebonesLibSourceFile = createSourceFile(barebonesLibName, barebonesLibContent, { languageVersion: 99 /* Latest */ }); +function transpileWorker(input, transpileOptions, declaration) { const diagnostics = []; const options = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : {}; const defaultOptions = getDefaultCompilerOptions2(); @@ -121965,9 +123302,17 @@ function transpileModule(input, transpileOptions) { } options.suppressOutputPathCheck = true; options.allowNonTsExtensions = true; + if (declaration) { + options.declaration = true; + options.emitDeclarationOnly = true; + options.isolatedDeclarations = true; + options.noCheck = true; + } else { + options.declaration = false; + } const newLine = getNewLineCharacter(options); const compilerHost = { - getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : void 0, + getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : fileName === normalizePath(barebonesLibName) ? barebonesLibSourceFile : void 0, writeFile: (name, text) => { if (fileExtensionIs(name, ".map")) { Debug.assertEqual(sourceMapText, void 0, "Unexpected multiple source map outputs, file:", name); @@ -121977,12 +123322,12 @@ function transpileModule(input, transpileOptions) { outputText = text; } }, - getDefaultLibFileName: () => "lib.d.ts", + getDefaultLibFileName: () => barebonesLibName, useCaseSensitiveFileNames: () => false, getCanonicalFileName: (fileName) => fileName, getCurrentDirectory: () => "", getNewLine: () => newLine, - fileExists: (fileName) => fileName === inputFileName, + fileExists: (fileName) => fileName === inputFileName || !!declaration && fileName === barebonesLibName, readFile: () => "", directoryExists: () => true, getDirectories: () => [] @@ -122009,14 +123354,24 @@ function transpileModule(input, transpileOptions) { } let outputText; let sourceMapText; - const program = createProgram([inputFileName], options, compilerHost); + const inputs = declaration ? [inputFileName, barebonesLibName] : [inputFileName]; + const program = createProgram(inputs, options, compilerHost); if (transpileOptions.reportDiagnostics) { addRange(diagnostics, program.getSyntacticDiagnostics(sourceFile)); addRange(diagnostics, program.getOptionsDiagnostics()); } - program.emit(void 0, void 0, void 0, void 0, transpileOptions.transformers); - if (outputText === void 0) + const result = program.emit( + void 0, + void 0, + void 0, + declaration, + transpileOptions.transformers, + declaration + ); + addRange(diagnostics, result.diagnostics); + if (outputText === void 0) { return Debug.fail("Output generation failed"); + } return { outputText, diagnostics, sourceMapText }; } function transpile(input, compilerOptions, fileName, diagnostics, moduleName) { @@ -152988,6 +154343,7 @@ __export(ts_exports3, { canHaveIllegalType: () => canHaveIllegalType, canHaveIllegalTypeParameters: () => canHaveIllegalTypeParameters, canHaveModifiers: () => canHaveModifiers, + canHaveSymbol: () => canHaveSymbol, canJsonReportNoInputFiles: () => canJsonReportNoInputFiles, canProduceDiagnostics: () => canProduceDiagnostics, canWatchDirectoryOrFile: () => canWatchDirectoryOrFile, @@ -153362,6 +154718,7 @@ __export(ts_exports3, { createSwitch: () => createSwitch, createSymbolTable: () => createSymbolTable, createSymlinkCache: () => createSymlinkCache, + createSyntacticTypeNodeBuilder: () => createSyntacticTypeNodeBuilder, createSystemWatchFunctions: () => createSystemWatchFunctions, createTaggedTemplate: () => createTaggedTemplate, createTempVariable: () => createTempVariable, @@ -153471,6 +154828,7 @@ __export(ts_exports3, { escapeNonAsciiString: () => escapeNonAsciiString, escapeSnippetText: () => escapeSnippetText, escapeString: () => escapeString, + evaluatorResult: () => evaluatorResult, every: () => every, expandPreOrPostfixIncrementOrDecrementExpression: () => expandPreOrPostfixIncrementOrDecrementExpression, explainFiles: () => explainFiles, @@ -154037,6 +155395,7 @@ __export(ts_exports3, { hasExtension: () => hasExtension, hasIllegalDecorators: () => hasIllegalDecorators, hasIndexSignature: () => hasIndexSignature, + hasInferredType: () => hasInferredType, hasInitializer: () => hasInitializer, hasInvalidEscape: () => hasInvalidEscape, hasJSDocNodes: () => hasJSDocNodes, @@ -154255,6 +155614,7 @@ __export(ts_exports3, { isExclamationToken: () => isExclamationToken, isExcludedFile: () => isExcludedFile, isExclusivelyTypeOnlyImportOrExport: () => isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration: () => isExpandoPropertyDeclaration, isExportAssignment: () => isExportAssignment, isExportDeclaration: () => isExportDeclaration, isExportModifier: () => isExportModifier, @@ -154571,6 +155931,7 @@ __export(ts_exports3, { isPossiblyTypeArgumentPosition: () => isPossiblyTypeArgumentPosition, isPostfixUnaryExpression: () => isPostfixUnaryExpression, isPrefixUnaryExpression: () => isPrefixUnaryExpression, + isPrimitiveLiteralValue: () => isPrimitiveLiteralValue, isPrivateIdentifier: () => isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration: () => isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression: () => isPrivateIdentifierPropertyAccessExpression, @@ -155136,6 +156497,7 @@ __export(ts_exports3, { transformTypeExportImportAndConstEnumInTypeScript: () => transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript: () => transformTypeScript, transpile: () => transpile, + transpileDeclaration: () => transpileDeclaration, transpileModule: () => transpileModule, transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions, trimString: () => trimString, @@ -155185,6 +156547,7 @@ __export(ts_exports3, { unreachableCodeIsError: () => unreachableCodeIsError, unusedLabelIsError: () => unusedLabelIsError, unwrapInnermostStatementOfLabel: () => unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression: () => unwrapParenthesizedExpression, updateArrayBindingPattern: () => updateArrayBindingPattern, updateArrayLiteral: () => updateArrayLiteral, updateArrayTypeNode: () => updateArrayTypeNode, @@ -176074,6 +177437,7 @@ __export(ts_server_exports3, { canHaveIllegalType, canHaveIllegalTypeParameters, canHaveModifiers, + canHaveSymbol, canJsonReportNoInputFiles, canProduceDiagnostics, canWatchDirectoryOrFile, @@ -176448,6 +177812,7 @@ __export(ts_server_exports3, { createSwitch, createSymbolTable, createSymlinkCache, + createSyntacticTypeNodeBuilder, createSystemWatchFunctions, createTaggedTemplate, createTempVariable, @@ -176557,6 +177922,7 @@ __export(ts_server_exports3, { escapeNonAsciiString, escapeSnippetText, escapeString, + evaluatorResult, every, expandPreOrPostfixIncrementOrDecrementExpression, explainFiles, @@ -177123,6 +178489,7 @@ __export(ts_server_exports3, { hasExtension, hasIllegalDecorators, hasIndexSignature, + hasInferredType, hasInitializer, hasInvalidEscape, hasJSDocNodes, @@ -177341,6 +178708,7 @@ __export(ts_server_exports3, { isExclamationToken, isExcludedFile, isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration, isExportAssignment, isExportDeclaration, isExportModifier, @@ -177657,6 +179025,7 @@ __export(ts_server_exports3, { isPossiblyTypeArgumentPosition, isPostfixUnaryExpression, isPrefixUnaryExpression, + isPrimitiveLiteralValue, isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression, @@ -178222,6 +179591,7 @@ __export(ts_server_exports3, { transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript, transpile, + transpileDeclaration, transpileModule, transpileOptionValueCompilerOptions, trimString, @@ -178271,6 +179641,7 @@ __export(ts_server_exports3, { unreachableCodeIsError, unusedLabelIsError, unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression, updateArrayBindingPattern, updateArrayLiteral, updateArrayTypeNode, diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts index 4cc579e309..0d4a68e20f 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -1444,7 +1444,7 @@ declare namespace ts { readonly expression: EntityNameExpression; readonly name: Identifier; } - interface ElementAccessExpression extends MemberExpression { + interface ElementAccessExpression extends MemberExpression, Declaration { readonly kind: SyntaxKind.ElementAccessExpression; readonly expression: LeftHandSideExpression; readonly questionDotToken?: QuestionDotToken; @@ -2233,7 +2233,7 @@ declare namespace ts { } type FlowType = Type | IncompleteType; interface IncompleteType { - flags: TypeFlags; + flags: TypeFlags | 0; type: Type; } interface AmdDependency { @@ -2250,6 +2250,7 @@ declare namespace ts { interface SourceFileLike { getLineAndCharacterOfPosition(pos: number): LineAndCharacter; } + type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined; interface SourceFile extends Declaration { readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; @@ -2918,6 +2919,7 @@ declare namespace ts { StringMapping = 268435456, Literal = 2944, Unit = 109440, + Freshable = 2976, StringOrNumberLiteral = 384, PossiblyFalsy = 117724, StringLike = 402653316, @@ -2969,10 +2971,12 @@ declare namespace ts { isClass(): this is InterfaceType; isIndexType(): this is IndexType; } - interface LiteralType extends Type { + interface FreshableType extends Type { + freshType: FreshableType; + regularType: FreshableType; + } + interface LiteralType extends FreshableType { value: string | number | PseudoBigInt; - freshType: LiteralType; - regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -2987,7 +2991,7 @@ declare namespace ts { interface BigIntLiteralType extends LiteralType { value: PseudoBigInt; } - interface EnumType extends Type { + interface EnumType extends FreshableType { } enum ObjectFlags { Class = 1, @@ -3322,6 +3326,7 @@ declare namespace ts { moduleDetection?: ModuleDetectionKind; newLine?: NewLineKind; noEmit?: boolean; + noCheck?: boolean; noEmitHelpers?: boolean; noEmitOnError?: boolean; noErrorTruncation?: boolean; @@ -4748,6 +4753,7 @@ declare namespace ts { readonly redirectTargetsMap: RedirectTargetsMap; getProjectReferenceRedirect(fileName: string): string | undefined; isSourceOfProjectReferenceRedirect(fileName: string): boolean; + getCommonSourceDirectory(): string; } interface ModulePath { path: string; @@ -4786,6 +4792,7 @@ declare namespace ts { reportNonlocalAugmentation?(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): void; reportNonSerializableProperty?(propertyName: string): void; reportImportTypeNodeResolutionModeOverride?(): void; + reportInferenceFallback?(node: Node): void; } interface TextSpan { start: number; @@ -5965,7 +5972,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext | undefined): T; /** * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. * @@ -5973,7 +5980,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; function createSourceMapGenerator(host: EmitHost, file: string, sourceRoot: string, sourcesDirectoryPath: string, generatorOptions: SourceMapGeneratorOptions): SourceMapGenerator; interface SourceMapGeneratorOptions { extendedDiagnostics?: boolean; @@ -7750,6 +7757,7 @@ declare namespace ts { }; function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpileDeclaration(input: string, transpileOptions: TranspileOptions): TranspileOutput; function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; interface TranspileOptions { compilerOptions?: CompilerOptions; @@ -8852,7 +8860,7 @@ declare namespace ts { staticBlocks: Set; libraryTypeCallDiagnosticChecker: LibraryTypeCallDiagnosticChecker; skipArkTSStaticBlocksCheck: boolean; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap void>; @@ -9465,7 +9473,7 @@ declare namespace ts { private fileExportDeclCaches?; private compatibleSdkVersionStage; private compatibleSdkVersion; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap canHaveIllegalType, canHaveIllegalTypeParameters: () => canHaveIllegalTypeParameters, canHaveModifiers: () => canHaveModifiers, + canHaveSymbol: () => canHaveSymbol, canJsonReportNoInputFiles: () => canJsonReportNoInputFiles, canProduceDiagnostics: () => canProduceDiagnostics, canWatchDirectoryOrFile: () => canWatchDirectoryOrFile, @@ -640,6 +641,7 @@ __export(typescript_exports, { createSwitch: () => createSwitch, createSymbolTable: () => createSymbolTable, createSymlinkCache: () => createSymlinkCache, + createSyntacticTypeNodeBuilder: () => createSyntacticTypeNodeBuilder, createSystemWatchFunctions: () => createSystemWatchFunctions, createTaggedTemplate: () => createTaggedTemplate, createTempVariable: () => createTempVariable, @@ -749,6 +751,7 @@ __export(typescript_exports, { escapeNonAsciiString: () => escapeNonAsciiString, escapeSnippetText: () => escapeSnippetText, escapeString: () => escapeString, + evaluatorResult: () => evaluatorResult, every: () => every, expandPreOrPostfixIncrementOrDecrementExpression: () => expandPreOrPostfixIncrementOrDecrementExpression, explainFiles: () => explainFiles, @@ -1315,6 +1318,7 @@ __export(typescript_exports, { hasExtension: () => hasExtension, hasIllegalDecorators: () => hasIllegalDecorators, hasIndexSignature: () => hasIndexSignature, + hasInferredType: () => hasInferredType, hasInitializer: () => hasInitializer, hasInvalidEscape: () => hasInvalidEscape, hasJSDocNodes: () => hasJSDocNodes, @@ -1533,6 +1537,7 @@ __export(typescript_exports, { isExclamationToken: () => isExclamationToken, isExcludedFile: () => isExcludedFile, isExclusivelyTypeOnlyImportOrExport: () => isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration: () => isExpandoPropertyDeclaration, isExportAssignment: () => isExportAssignment, isExportDeclaration: () => isExportDeclaration, isExportModifier: () => isExportModifier, @@ -1849,6 +1854,7 @@ __export(typescript_exports, { isPossiblyTypeArgumentPosition: () => isPossiblyTypeArgumentPosition, isPostfixUnaryExpression: () => isPostfixUnaryExpression, isPrefixUnaryExpression: () => isPrefixUnaryExpression, + isPrimitiveLiteralValue: () => isPrimitiveLiteralValue, isPrivateIdentifier: () => isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration: () => isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression: () => isPrivateIdentifierPropertyAccessExpression, @@ -2414,6 +2420,7 @@ __export(typescript_exports, { transformTypeExportImportAndConstEnumInTypeScript: () => transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript: () => transformTypeScript, transpile: () => transpile, + transpileDeclaration: () => transpileDeclaration, transpileModule: () => transpileModule, transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions, trimString: () => trimString, @@ -2463,6 +2470,7 @@ __export(typescript_exports, { unreachableCodeIsError: () => unreachableCodeIsError, unusedLabelIsError: () => unusedLabelIsError, unwrapInnermostStatementOfLabel: () => unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression: () => unwrapParenthesizedExpression, updateArrayBindingPattern: () => updateArrayBindingPattern, updateArrayLiteral: () => updateArrayLiteral, updateArrayTypeNode: () => updateArrayTypeNode, @@ -5353,6 +5361,418 @@ ${lanes.join("\n")} Debug2.formatControlFlowGraph = formatControlFlowGraph; })(Debug || (Debug = {})); +// src/compiler/expressionToTypeNode.ts +function createSyntacticTypeNodeBuilder(options, resolver) { + const strictNullChecks = getStrictOptionValue(options, "strictNullChecks"); + return { + typeFromExpression, + serializeTypeOfDeclaration, + serializeReturnTypeForSignature, + serializeTypeOfExpression + }; + function serializeExistingTypeAnnotation(type) { + return type === void 0 ? void 0 : !type.parent || !isParameter(type.parent) || !resolver.requiresAddingImplicitUndefined(type.parent) || canAddUndefined(type); + } + function serializeTypeOfExpression(expr, context, addUndefined, preserveLiterals) { + var _a2; + return (_a2 = typeFromExpression(expr, context, false, addUndefined, preserveLiterals)) != null ? _a2 : inferExpressionType(expr, context); + } + function serializeTypeOfDeclaration(node, context) { + switch (node.kind) { + case 170 /* PropertySignature */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)); + case 168 /* Parameter */: + return typeFromParameter(node, context); + case 261 /* VariableDeclaration */: + return typeFromVariable(node, context); + case 171 /* PropertyDeclaration */: + return typeFromProperty(node, context); + case 208 /* BindingElement */: + return inferTypeOfDeclaration(node, context); + case 280 /* ExportAssignment */: + return serializeTypeOfExpression(node.expression, context, void 0, true); + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)) || inferTypeOfDeclaration(node, context); + case 305 /* PropertyAssignment */: + return typeFromExpression(node.initializer, context) || inferTypeOfDeclaration(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function serializeReturnTypeForSignature(node, context) { + switch (node.kind) { + case 177 /* GetAccessor */: + return typeFromAccessor(node, context); + case 174 /* MethodDeclaration */: + case 263 /* FunctionDeclaration */: + case 180 /* ConstructSignature */: + case 173 /* MethodSignature */: + case 179 /* CallSignature */: + case 176 /* Constructor */: + case 178 /* SetAccessor */: + case 181 /* IndexSignature */: + case 184 /* FunctionType */: + case 185 /* ConstructorType */: + case 218 /* FunctionExpression */: + case 219 /* ArrowFunction */: + case 326 /* JSDocFunctionType */: + case 332 /* JSDocSignature */: + return createReturnFromSignature(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind(node.kind)}`); + } + } + function getTypeAnnotationFromAccessor2(accessor) { + if (!accessor) + return void 0; + if (accessor.kind === 177 /* GetAccessor */) { + return getEffectiveReturnTypeNode(accessor); + } + if (accessor.parameters.length > 0) { + return getEffectiveTypeAnnotationNode(accessor.parameters[0]); + } + return void 0; + } + function getTypeAnnotationFromAllAccessorDeclarations(node, accessors) { + let accessorType = getTypeAnnotationFromAccessor2(node); + if (!accessorType && node !== accessors.firstAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.firstAccessor); + } + if (!accessorType && accessors.secondAccessor && node !== accessors.secondAccessor) { + accessorType = getTypeAnnotationFromAccessor2(accessors.secondAccessor); + } + return accessorType; + } + function typeFromAccessor(node, context) { + const accessorDeclarations = resolver.getAllAccessorDeclarations(node); + const accessorType = getTypeAnnotationFromAllAccessorDeclarations(node, accessorDeclarations); + if (accessorType) { + return serializeExistingTypeAnnotation(accessorType); + } + if (accessorDeclarations.getAccessor) { + return createReturnFromSignature(accessorDeclarations.getAccessor, context); + } + return false; + } + function typeFromVariable(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer && !resolver.isExpandoFunctionDeclaration(node)) { + resultType = typeFromExpression( + node.initializer, + context, + void 0, + void 0, + isVarConst(node) + ); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromParameter(node, context) { + const parent2 = node.parent; + if (parent2.kind === 178 /* SetAccessor */) { + return typeFromAccessor(parent2, context); + } + const declaredType = getEffectiveTypeAnnotationNode(node); + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + let resultType; + if (!addUndefined) { + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + if (node.initializer && isIdentifier(node.name)) { + resultType = typeFromExpression(node.initializer, context); + } + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function typeFromProperty(node, context) { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer) { + const isReadonly = isDeclarationReadonly(node); + resultType = typeFromExpression(node.initializer, context, void 0, void 0, isReadonly); + } + return resultType != null ? resultType : inferTypeOfDeclaration(node, context); + } + function inferTypeOfDeclaration(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferExpressionType(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferReturnTypeOfSignatureSignature(node, context) { + context.tracker.reportInferenceFallback(node); + return false; + } + function inferAccessorType(node, context) { + if (node.kind === 177 /* GetAccessor */) { + return createReturnFromSignature(node, context); + } else { + context.tracker.reportInferenceFallback(node); + return false; + } + } + function typeFromTypeAssertion(expression, type, context, requiresAddingUndefined) { + if (isConstTypeReference(type)) { + return typeFromExpression(expression, context, true, requiresAddingUndefined); + } + if (requiresAddingUndefined && !canAddUndefined(type)) { + context.tracker.reportInferenceFallback(type); + } + return serializeExistingTypeAnnotation(type); + } + function typeFromExpression(node, context, isConstContext = false, requiresAddingUndefined = false, preserveLiterals = false) { + switch (node.kind) { + case 217 /* ParenthesizedExpression */: + if (isJSDocTypeAssertion(node)) { + return typeFromTypeAssertion(node.expression, getJSDocTypeAssertionType(node), context, requiresAddingUndefined); + } + return typeFromExpression(node.expression, context, isConstContext, requiresAddingUndefined); + case 79 /* Identifier */: + if (resolver.isUndefinedIdentifierExpression(node)) { + return true; + } + break; + case 105 /* NullKeyword */: + return true; + case 219 /* ArrowFunction */: + case 218 /* FunctionExpression */: + return typeFromFunctionLikeExpression(node, context); + case 216 /* TypeAssertionExpression */: + case 235 /* AsExpression */: + const asExpression = node; + return typeFromTypeAssertion(asExpression.expression, asExpression.type, context, requiresAddingUndefined); + case 225 /* PrefixUnaryExpression */: + const unaryExpression = node; + if (isPrimitiveLiteralValue(unaryExpression)) { + if (unaryExpression.operand.kind === 9 /* BigIntLiteral */) { + return typeFromPrimitiveLiteral(); + } + if (unaryExpression.operand.kind === 8 /* NumericLiteral */) { + return typeFromPrimitiveLiteral(); + } + } + break; + case 8 /* NumericLiteral */: + return typeFromPrimitiveLiteral(); + case 229 /* TemplateExpression */: + if (!isConstContext && !preserveLiterals) { + return true; + } + break; + case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* StringLiteral */: + return typeFromPrimitiveLiteral(); + case 9 /* BigIntLiteral */: + return typeFromPrimitiveLiteral(); + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + return typeFromPrimitiveLiteral(); + case 209 /* ArrayLiteralExpression */: + return typeFromArrayLiteral(node, context, isConstContext); + case 210 /* ObjectLiteralExpression */: + return typeFromObjectLiteral(node, context, isConstContext); + case 232 /* ClassExpression */: + return inferExpressionType(node, context); + } + return void 0; + } + function typeFromFunctionLikeExpression(fnNode, context) { + var _a2; + const returnType = (_a2 = serializeExistingTypeAnnotation(fnNode.type)) != null ? _a2 : createReturnFromSignature(fnNode, context); + const typeParameters = reuseTypeParameters(fnNode.typeParameters); + const parameters = fnNode.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext) { + if (!isConstContext) { + context.tracker.reportInferenceFallback(arrayLiteral); + return false; + } + for (const element of arrayLiteral.elements) { + if (element.kind === 231 /* SpreadElement */) { + context.tracker.reportInferenceFallback(element); + return false; + } + } + return true; + } + function typeFromArrayLiteral(arrayLiteral, context, isConstContext) { + var _a2; + if (!canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext)) { + return false; + } + let canInferArray = true; + for (const element of arrayLiteral.elements) { + Debug.assert(element.kind !== 231 /* SpreadElement */); + if (element.kind !== 233 /* OmittedExpression */) { + canInferArray = ((_a2 = typeFromExpression(element, context, isConstContext)) != null ? _a2 : inferExpressionType(element, context)) && canInferArray; + } + } + return true; + } + function canGetTypeFromObjectLiteral(objectLiteral, context) { + let result = true; + for (const prop of objectLiteral.properties) { + if (prop.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } + if (prop.kind === 306 /* ShorthandPropertyAssignment */ || prop.kind === 307 /* SpreadAssignment */) { + context.tracker.reportInferenceFallback(prop); + result = false; + } else if (prop.name.flags & 131072 /* ThisNodeHasError */) { + result = false; + break; + } else if (prop.name.kind === 80 /* PrivateIdentifier */) { + result = false; + } else if (prop.name.kind === 166 /* ComputedPropertyName */) { + const expression = prop.name.expression; + if (!isPrimitiveLiteralValue(expression, false) && !isEntityNameExpression(expression)) { + context.tracker.reportInferenceFallback(prop.name); + result = false; + } + } + } + return result; + } + function typeFromObjectLiteral(objectLiteral, context, isConstContext) { + if (!canGetTypeFromObjectLiteral(objectLiteral, context)) { + return false; + } + let canInferObjectLiteral = true; + for (const prop of objectLiteral.properties) { + Debug.assert(!isShorthandPropertyAssignment(prop) && !isSpreadAssignment(prop)); + if (prop.name.kind === 166 /* ComputedPropertyName */) { + if (!resolver.isNonNarrowedBindableName(prop.name)) { + context.tracker.reportInferenceFallback(prop.name); + } else if (isEntityNameExpression(prop.name.expression)) { + const visibilityResult = resolver.isEntityNameVisible( + prop.name.expression, + context.enclosingDeclaration, + false + ); + if (visibilityResult.accessibility !== 0 /* Accessible */) { + context.tracker.reportInferenceFallback(prop.name); + } + } + } + switch (prop.kind) { + case 174 /* MethodDeclaration */: + canInferObjectLiteral = !!typeFromObjectLiteralMethod(prop, context) && canInferObjectLiteral; + break; + case 305 /* PropertyAssignment */: + canInferObjectLiteral = !!typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) && canInferObjectLiteral; + break; + case 178 /* SetAccessor */: + case 177 /* GetAccessor */: + canInferObjectLiteral = !!typeFromObjectLiteralAccessor(prop, context) && canInferObjectLiteral; + break; + } + } + return canInferObjectLiteral; + } + function typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) { + var _a2; + return (_a2 = typeFromExpression(prop.initializer, context, isConstContext)) != null ? _a2 : inferTypeOfDeclaration(prop, context); + } + function ensureParameter(p, context) { + return typeFromParameter(p, context); + } + function reuseTypeParameters(typeParameters) { + var _a2; + return (_a2 = typeParameters == null ? void 0 : typeParameters.every( + (tp) => serializeExistingTypeAnnotation(tp.constraint) && serializeExistingTypeAnnotation(tp.default) + )) != null ? _a2 : true; + } + function typeFromObjectLiteralMethod(method, context) { + const returnType = createReturnFromSignature(method, context); + const typeParameters = reuseTypeParameters(method.typeParameters); + const parameters = method.parameters.every((p) => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + function typeFromObjectLiteralAccessor(accessor, context) { + const allAccessors = resolver.getAllAccessorDeclarations(accessor); + const getAccessorType = allAccessors.getAccessor && getTypeAnnotationFromAccessor2(allAccessors.getAccessor); + const setAccessorType = allAccessors.setAccessor && getTypeAnnotationFromAccessor2(allAccessors.setAccessor); + if (getAccessorType !== void 0 && setAccessorType !== void 0) { + const parameters = accessor.parameters.every((p) => ensureParameter(p, context)); + if (isGetAccessor(accessor)) { + return parameters && serializeExistingTypeAnnotation(getAccessorType); + } else { + return parameters; + } + } else if (allAccessors.firstAccessor === accessor) { + const foundType = getAccessorType != null ? getAccessorType : setAccessorType; + const propertyType = foundType ? serializeExistingTypeAnnotation(foundType) : inferAccessorType(accessor, context); + return propertyType; + } + return false; + } + function typeFromPrimitiveLiteral() { + return true; + } + function canAddUndefined(node) { + if (!strictNullChecks) { + return true; + } + if (isKeyword(node.kind) || node.kind === 201 /* LiteralType */ || node.kind === 184 /* FunctionType */ || node.kind === 185 /* ConstructorType */ || node.kind === 188 /* ArrayType */ || node.kind === 189 /* TupleType */ || node.kind === 187 /* TypeLiteral */ || node.kind === 203 /* TemplateLiteralType */ || node.kind === 197 /* ThisType */) { + return true; + } + if (node.kind === 196 /* ParenthesizedType */) { + return canAddUndefined(node.type); + } + if (node.kind === 192 /* UnionType */ || node.kind === 193 /* IntersectionType */) { + return node.types.every(canAddUndefined); + } + return false; + } + function createReturnFromSignature(fn, context) { + let returnType; + const returnTypeNode = getEffectiveReturnTypeNode(fn); + if (returnTypeNode) { + returnType = serializeExistingTypeAnnotation(returnTypeNode); + } + if (!returnType && isValueSignatureDeclaration(fn)) { + returnType = typeFromSingleReturnExpression(fn, context); + } + return returnType != null ? returnType : inferReturnTypeOfSignatureSignature(fn, context); + } + function typeFromSingleReturnExpression(declaration, context) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + if (candidateExpr) { + return typeFromExpression(candidateExpr, context); + } + return void 0; + } +} + // src/compiler/semver.ts var versionRegExp = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i; var prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i; @@ -6944,8 +7364,10 @@ var NodeBuilderFlags = /* @__PURE__ */ ((NodeBuilderFlags2) => { NodeBuilderFlags2[NodeBuilderFlags2["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; NodeBuilderFlags2[NodeBuilderFlags2["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType"; NodeBuilderFlags2[NodeBuilderFlags2["WriteComputedProps"] = 1073741824] = "WriteComputedProps"; + NodeBuilderFlags2[NodeBuilderFlags2["NoSyntacticPrinter"] = -2147483648] = "NoSyntacticPrinter"; NodeBuilderFlags2[NodeBuilderFlags2["AllowNodeModulesRelativePaths"] = 67108864] = "AllowNodeModulesRelativePaths"; NodeBuilderFlags2[NodeBuilderFlags2["DoNotIncludeSymbolChain"] = 134217728] = "DoNotIncludeSymbolChain"; + NodeBuilderFlags2[NodeBuilderFlags2["AllowUnresolvedComputedNames"] = 1] = "AllowUnresolvedComputedNames"; NodeBuilderFlags2[NodeBuilderFlags2["IgnoreErrors"] = 70221824] = "IgnoreErrors"; NodeBuilderFlags2[NodeBuilderFlags2["InObjectTypeLiteral"] = 4194304] = "InObjectTypeLiteral"; NodeBuilderFlags2[NodeBuilderFlags2["InTypeAlias"] = 8388608] = "InTypeAlias"; @@ -7206,6 +7628,7 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => { TypeFlags2[TypeFlags2["Nullable"] = 98304] = "Nullable"; TypeFlags2[TypeFlags2["Literal"] = 2944] = "Literal"; TypeFlags2[TypeFlags2["Unit"] = 109440] = "Unit"; + TypeFlags2[TypeFlags2["Freshable"] = 2976] = "Freshable"; TypeFlags2[TypeFlags2["StringOrNumberLiteral"] = 384] = "StringOrNumberLiteral"; TypeFlags2[TypeFlags2["StringOrNumberLiteralOrUnique"] = 8576] = "StringOrNumberLiteralOrUnique"; TypeFlags2[TypeFlags2["DefinitelyFalsy"] = 117632] = "DefinitelyFalsy"; @@ -8905,6 +9328,7 @@ var sys = (() => { resolvePath: (path2) => _path.resolve(path2), fileExists, directoryExists, + getAccessibleFileSystemEntries, createDirectory(directoryName) { if (!nodeSystem.directoryExists(directoryName)) { try { @@ -11166,6 +11590,7 @@ var Diagnostics = { Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), + Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported: diag(6805, 3 /* Message */, "Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805", "Disable full type checking (only critical parse and emit errors will be reported)."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), type_Colon: diag(6902, 3 /* Message */, "type_Colon_6902", "type:"), @@ -14910,6 +15335,77 @@ function isNamedImportBindings(node) { function isModuleOrEnumDeclaration(node) { return node.kind === 270 /* ModuleDeclaration */ || node.kind === 269 /* EnumDeclaration */; } +function canHaveSymbol(node) { + switch (node.kind) { + case 219 /* ArrowFunction */: + case 227 /* BinaryExpression */: + case 208 /* BindingElement */: + case 213 /* CallExpression */: + case 179 /* CallSignature */: + case 264 /* ClassDeclaration */: + case 232 /* ClassExpression */: + case 175 /* ClassStaticBlockDeclaration */: + case 176 /* Constructor */: + case 185 /* ConstructorType */: + case 180 /* ConstructSignature */: + case 212 /* ElementAccessExpression */: + case 269 /* EnumDeclaration */: + case 308 /* EnumMember */: + case 280 /* ExportAssignment */: + case 281 /* ExportDeclaration */: + case 284 /* ExportSpecifier */: + case 263 /* FunctionDeclaration */: + case 218 /* FunctionExpression */: + case 184 /* FunctionType */: + case 177 /* GetAccessor */: + case 79 /* Identifier */: + case 276 /* ImportClause */: + case 274 /* ImportEqualsDeclaration */: + case 279 /* ImportSpecifier */: + case 181 /* IndexSignature */: + case 267 /* InterfaceDeclaration */: + case 347 /* JSDocCallbackTag */: + case 348 /* JSDocEnumTag */: + case 326 /* JSDocFunctionType */: + case 349 /* JSDocParameterTag */: + case 356 /* JSDocPropertyTag */: + case 332 /* JSDocSignature */: + case 354 /* JSDocTypedefTag */: + case 331 /* JSDocTypeLiteral */: + case 294 /* JsxAttribute */: + case 295 /* JsxAttributes */: + case 296 /* JsxSpreadAttribute */: + case 200 /* MappedType */: + case 174 /* MethodDeclaration */: + case 173 /* MethodSignature */: + case 270 /* ModuleDeclaration */: + case 202 /* NamedTupleMember */: + case 283 /* NamespaceExport */: + case 273 /* NamespaceExportDeclaration */: + case 277 /* NamespaceImport */: + case 214 /* NewExpression */: + case 14 /* NoSubstitutionTemplateLiteral */: + case 8 /* NumericLiteral */: + case 210 /* ObjectLiteralExpression */: + case 168 /* Parameter */: + case 211 /* PropertyAccessExpression */: + case 305 /* PropertyAssignment */: + case 171 /* PropertyDeclaration */: + case 170 /* PropertySignature */: + case 178 /* SetAccessor */: + case 306 /* ShorthandPropertyAssignment */: + case 314 /* SourceFile */: + case 307 /* SpreadAssignment */: + case 10 /* StringLiteral */: + case 268 /* TypeAliasDeclaration */: + case 187 /* TypeLiteral */: + case 167 /* TypeParameter */: + case 261 /* VariableDeclaration */: + return true; + default: + return false; + } +} function isDeclarationKind(kind) { return kind === 219 /* ArrowFunction */ || kind === 208 /* BindingElement */ || kind === 264 /* ClassDeclaration */ || kind === 232 /* ClassExpression */ || kind === 175 /* ClassStaticBlockDeclaration */ || kind === 265 /* StructDeclaration */ || kind === 266 /* AnnotationDeclaration */ || kind === 176 /* Constructor */ || kind === 269 /* EnumDeclaration */ || kind === 308 /* EnumMember */ || kind === 284 /* ExportSpecifier */ || kind === 263 /* FunctionDeclaration */ || kind === 218 /* FunctionExpression */ || kind === 177 /* GetAccessor */ || kind === 276 /* ImportClause */ || kind === 274 /* ImportEqualsDeclaration */ || kind === 279 /* ImportSpecifier */ || kind === 267 /* InterfaceDeclaration */ || kind === 294 /* JsxAttribute */ || kind === 174 /* MethodDeclaration */ || kind === 173 /* MethodSignature */ || kind === 270 /* ModuleDeclaration */ || kind === 273 /* NamespaceExportDeclaration */ || kind === 277 /* NamespaceImport */ || kind === 283 /* NamespaceExport */ || kind === 168 /* Parameter */ || kind === 305 /* PropertyAssignment */ || kind === 171 /* PropertyDeclaration */ || kind === 172 /* AnnotationPropertyDeclaration */ || kind === 170 /* PropertySignature */ || kind === 178 /* SetAccessor */ || kind === 306 /* ShorthandPropertyAssignment */ || kind === 268 /* TypeAliasDeclaration */ || kind === 167 /* TypeParameter */ || kind === 261 /* VariableDeclaration */ || kind === 354 /* JSDocTypedefTag */ || kind === 347 /* JSDocCallbackTag */ || kind === 356 /* JSDocPropertyTag */; } @@ -19319,7 +19815,7 @@ function Signature2(checker, flags) { this.checker = checker; } } -function Node4(kind, pos, end) { +function Node5(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -19339,7 +19835,7 @@ function Token(kind, pos, end) { this.transformFlags = 0 /* None */; this.parent = void 0; } -function Identifier2(kind, pos, end) { +function Identifier3(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -19356,11 +19852,11 @@ function SourceMapSource(fileName, text, skipTrivia2) { this.skipTrivia = skipTrivia2 || ((pos) => pos); } var objectAllocator = { - getNodeConstructor: () => Node4, + getNodeConstructor: () => Node5, getTokenConstructor: () => Token, - getIdentifierConstructor: () => Identifier2, - getPrivateIdentifierConstructor: () => Node4, - getSourceFileConstructor: () => Node4, + getIdentifierConstructor: () => Identifier3, + getPrivateIdentifierConstructor: () => Node5, + getSourceFileConstructor: () => Node5, getSymbolConstructor: () => Symbol4, getTypeConstructor: () => Type3, getSignatureConstructor: () => Signature2, @@ -20184,7 +20680,7 @@ function rangeOfTypeParameters(sourceFile, typeParameters) { return { pos, end }; } function skipTypeChecking(sourceFile, options, host) { - return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); + return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib || options.noCheck || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); } function isJsonEqual(a, b) { return a === b || typeof a === "object" && a !== null && typeof b === "object" && b !== null && equalOwnProperties(a, b, isJsonEqual); @@ -20560,6 +21056,12 @@ function getNameOfDecorator(node) { } return void 0; } +function isExpandoPropertyDeclaration(declaration) { + return !!declaration && (isPropertyAccessExpression(declaration) || isElementAccessExpression(declaration) || isBinaryExpression(declaration)); +} +function evaluatorResult(value, isSyntacticallyString = false, resolvedOtherFiles = false, hasExternalReferences = false) { + return { value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences }; +} function getLeadingCommentRangesOfNode(node, sourceFileOfNode) { return node.kind !== 11 /* JsxText */ ? getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : void 0; } @@ -20693,6 +21195,55 @@ function setParentRecursive(rootNode, incremental) { return bindParentToChildIgnoringJSDoc(child, parent2) || bindJSDoc(child); } } +function isPrimitiveLiteralValue(node, includeBigInt = true) { + Debug.type(node); + switch (node.kind) { + case 111 /* TrueKeyword */: + case 96 /* FalseKeyword */: + case 8 /* NumericLiteral */: + case 10 /* StringLiteral */: + case 14 /* NoSubstitutionTemplateLiteral */: + return true; + case 9 /* BigIntLiteral */: + return includeBigInt; + case 225 /* PrefixUnaryExpression */: + if (node.operator === 40 /* MinusToken */) { + return isNumericLiteral(node.operand) || includeBigInt && isBigIntLiteral(node.operand); + } + if (node.operator === 39 /* PlusToken */) { + return isNumericLiteral(node.operand); + } + return false; + default: + assertType(node); + return false; + } +} +function unwrapParenthesizedExpression(o) { + while (o.kind === 217 /* ParenthesizedExpression */) { + o = o.expression; + } + return o; +} +function hasInferredType(node) { + Debug.type(node); + switch (node.kind) { + case 168 /* Parameter */: + case 170 /* PropertySignature */: + case 171 /* PropertyDeclaration */: + case 208 /* BindingElement */: + case 211 /* PropertyAccessExpression */: + case 212 /* ElementAccessExpression */: + case 227 /* BinaryExpression */: + case 261 /* VariableDeclaration */: + case 280 /* ExportAssignment */: + case 305 /* PropertyAssignment */: + return true; + default: + assertType(node); + return false; + } +} // src/compiler/factory/baseNodeFactory.ts function createBaseNodeFactory() { @@ -36340,6 +36891,20 @@ var commandOptionsWithoutBuild = [ defaultValueDescription: false, description: Diagnostics.Disable_emitting_comments }, + { + name: "noCheck", + type: "boolean", + showInSimplifiedHelpView: false, + category: Diagnostics.Compiler_Diagnostics, + description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, + transpileOptionValue: void 0, + defaultValueDescription: false, + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, + extraValidation() { + return [Diagnostics.Unknown_compiler_option_0, "noCheck"]; + } + }, { name: "noEmit", type: "boolean", @@ -36389,6 +36954,15 @@ var commandOptionsWithoutBuild = [ transpileOptionValue: true, defaultValueDescription: false }, + { + name: "isolatedDeclarations", + type: "boolean", + category: Diagnostics.Interop_Constraints, + description: Diagnostics.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files, + defaultValueDescription: false, + affectsMultiFileEmitBuildInfo: true, + affectsSemanticDiagnostics: true + }, { name: "strict", type: "boolean", @@ -45648,6 +46222,7 @@ var CheckMode2 = /* @__PURE__ */ ((CheckMode3) => { return CheckMode3; })(CheckMode2 || {}); var SignatureCheckMode2 = /* @__PURE__ */ ((SignatureCheckMode3) => { + SignatureCheckMode3[SignatureCheckMode3["None"] = 0] = "None"; SignatureCheckMode3[SignatureCheckMode3["BivariantCallback"] = 1] = "BivariantCallback"; SignatureCheckMode3[SignatureCheckMode3["StrictCallback"] = 2] = "StrictCallback"; SignatureCheckMode3[SignatureCheckMode3["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes"; @@ -45815,6 +46390,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); var nodeBuilder = createNodeBuilder(); + var syntacticNodeBuilder = createSyntacticTypeNodeBuilder(compilerOptions, { + isEntityNameVisible, + isExpandoFunctionDeclaration, + isNonNarrowedBindableName, + getAllAccessorDeclarations: getAllAccessorDeclarationsForDeclaration, + requiresAddingImplicitUndefined, + isUndefinedIdentifierExpression(node) { + Debug.assert(isExpressionNode(node)); + return getSymbolAtLocation(node) === undefinedSymbol; + } + }); var globals = createSymbolTable(); var undefinedSymbol = createSymbol(4 /* Property */, "undefined"); undefinedSymbol.declarations = []; @@ -49030,6 +49616,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { (_a2 = tracing) == null ? void 0 : _a2.recordType(result); return result; } + function createTypeWithSymbol(flags, symbol) { + const result = createType(flags); + result.symbol = symbol; + return result; + } function createOriginType(flags) { return new Type31(checker, flags); } @@ -49040,9 +49631,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function createObjectType(objectFlags, symbol) { - const type = createType(524288 /* Object */); + const type = createTypeWithSymbol(524288 /* Object */, symbol); type.objectFlags = objectFlags; - type.symbol = symbol; type.members = void 0; type.properties = void 0; type.callSignatures = void 0; @@ -49054,10 +49644,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return getUnionType(arrayFrom(typeofNEFacts.keys(), getStringLiteralType)); } function createTypeParameter(symbol) { - const type = createType(262144 /* TypeParameter */); - if (symbol) - type.symbol = symbol; - return type; + return createTypeWithSymbol(262144 /* TypeParameter */, symbol); } function isReservedMemberName(name) { return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */ && name.charCodeAt(2) !== 64 /* at */ && name.charCodeAt(2) !== 35 /* hash */; @@ -49395,7 +49982,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; } } - function isEntityNameVisible(entityName, enclosingDeclaration) { + function getMeaningOfEntityNameReference(entityName) { + let meaning; + if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */ || entityName.parent.kind === 182 /* TypePredicate */ && entityName.parent.parameterName === entityName) { + meaning = 111551 /* Value */ | 1048576 /* ExportValue */; + } else if (entityName.kind === 165 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 274 /* ImportEqualsDeclaration */ || entityName.parent.kind === 165 /* QualifiedName */ && entityName.parent.left === entityName || entityName.parent.kind === 211 /* PropertyAccessExpression */ && entityName.parent.expression === entityName || entityName.parent.kind === 212 /* ElementAccessExpression */ && entityName.parent.expression === entityName) { + meaning = 1920 /* Namespace */; + } else { + meaning = 788968 /* Type */; + } + return meaning; + } + function isEntityNameVisible(entityName, enclosingDeclaration, shouldComputeAliasToMakeVisible = true) { let meaning; if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 234 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 166 /* ComputedPropertyName */) { meaning = 111551 /* Value */ | 1048576 /* ExportValue */; @@ -49412,7 +50010,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!symbol && isThisIdentifier(firstIdentifier) && isSymbolAccessible(getSymbolOfNode(getThisContainer(firstIdentifier, false)), firstIdentifier, meaning, false).accessibility === 0 /* Accessible */) { return { accessibility: 0 /* Accessible */ }; } - return symbol && hasVisibleDeclarations(symbol, true) || { + return symbol && hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) || { accessibility: 1 /* NotAccessible */, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier @@ -49507,9 +50105,78 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { symbolToTypeParameterDeclarations: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParametersToTypeParameterDeclarations(symbol, context)), symbolToParameterDeclaration: (symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToParameterDeclaration(symbol, context)), typeParameterToDeclaration: (parameter, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => typeParameterToDeclaration(parameter, context)), - symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker, bundled) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context, bundled)), - symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)) + symbolTableToDeclarationStatements: (symbolTable, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolTableToDeclarationStatements(symbolTable, context)), + symbolToNode: (symbol, meaning, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => symbolToNode(symbol, context, meaning)), + serializeTypeForDeclaration: (declaration, type, symbol, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeTypeForDeclaration(context, declaration, type, symbol)), + serializeReturnTypeForSignature: (signature, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => serializeReturnTypeForSignature(context, signature)), + expressionOrTypeToTypeNode: (expr, type, addUndefined, enclosingDeclaration, flags, tracker) => withContext(enclosingDeclaration, flags, tracker, (context) => expressionOrTypeToTypeNode(context, expr, type, addUndefined)) }; + function setTextRange2(context, range, location) { + if (!nodeIsSynthesized(range) && !(range.flags & 8 /* Synthesized */) && (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range))) { + range = factory.cloneNode(range); + } + if (!location) { + return range; + } + if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location))) { + return setOriginalNode(range, location); + } + return setTextRange(setOriginalNode(range, location), location); + } + function expressionOrTypeToTypeNode(context, expr, type, addUndefined) { + const oldFlags = context.flags; + if (expr && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfExpression(expr, context, addUndefined); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined); + context.flags = oldFlags; + return result; + } + function expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined) { + if (expr) { + const typeNode = isAssertionExpression(expr) ? expr.type : isJSDocTypeAssertion(expr) ? getJSDocTypeAssertionType(expr) : void 0; + if (typeNode && !isConstTypeReference(typeNode)) { + const result = tryReuseExistingTypeNode(context, typeNode, type, expr.parent, addUndefined); + if (result) { + return result; + } + } + } + if (addUndefined) { + type = getOptionalType(type); + } + return typeToTypeNodeHelper(type, context); + } + function tryReuseExistingTypeNode(context, typeNode, type, host2, addUndefined) { + const originalType = type; + if (addUndefined) { + type = getOptionalType(type); + } + const clone2 = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host2); + if (clone2) { + if (addUndefined && !someType(getTypeFromTypeNode(typeNode), (t) => !!(t.flags & 32768 /* Undefined */))) { + return factory.createUnionTypeNode([clone2, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + return clone2; + } + if (addUndefined && originalType !== type) { + const cloneMissingUndefined = tryReuseExistingNonParameterTypeNode(context, typeNode, originalType, host2); + if (cloneMissingUndefined) { + return factory.createUnionTypeNode([cloneMissingUndefined, factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + } + } + return void 0; + } + function tryReuseExistingNonParameterTypeNode(context, existing, type, host2 = context.enclosingDeclaration, annotationType) { + if (typeNodeIsEquivalentToType(existing, host2, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + const result = tryReuseExistingTypeNodeHelper(context, existing); + if (result) { + return result; + } + } + return void 0; + } function symbolToNode(symbol, context, meaning) { if (context.flags & 1073741824 /* WriteComputedProps */) { if (symbol.valueDeclaration) { @@ -49528,68 +50195,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function withContext(enclosingDeclaration, flags, tracker, cb) { var _a2, _b; Debug.assert(enclosingDeclaration === void 0 || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); + const moduleResolverHost = (tracker == null ? void 0 : tracker.trackSymbol) ? tracker.moduleResolverHost : flags & 134217728 /* DoNotIncludeSymbolChain */ ? createBasicNodeBuilderModuleSpecifierResolutionHost(host) : void 0; const context = { enclosingDeclaration, + enclosingFile: enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration), flags: flags || 0 /* None */, - tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: () => false, moduleResolverHost: flags & 134217728 /* DoNotIncludeSymbolChain */ ? { - getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", - getCurrentDirectory: () => host.getCurrentDirectory(), - getSymlinkCache: maybeBind(host, host.getSymlinkCache), - getPackageJsonInfoCache: () => { - var _a3; - return (_a3 = host.getPackageJsonInfoCache) == null ? void 0 : _a3.call(host); - }, - useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), - redirectTargetsMap: host.redirectTargetsMap, - getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), - isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), - fileExists: (fileName) => host.fileExists(fileName), - getFileIncludeReasons: () => host.getFileIncludeReasons(), - readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 - } : void 0 }, + tracker: void 0, encounteredError: false, reportedDiagnostic: false, visitedTypes: void 0, symbolDepth: void 0, inferTypeParameters: void 0, - approximateLength: 0 + approximateLength: 0, + trackedSymbols: void 0, + bundled: !!compilerOptions.outFile && !!enclosingDeclaration && isExternalOrCommonJsModule(getSourceFileOfNode(enclosingDeclaration)) }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); if (context.truncating && context.flags & 1 /* NoTruncation */) { (_b = (_a2 = context.tracker) == null ? void 0 : _a2.reportTruncationError) == null ? void 0 : _b.call(_a2); } return context.encounteredError ? void 0 : resultingNode; } - function wrapSymbolTrackerToReportForContext(context, tracker) { - const oldTrackSymbol = tracker.trackSymbol; - return { - ...tracker, - reportCyclicStructureError: wrapReportedDiagnostic(tracker.reportCyclicStructureError), - reportInaccessibleThisError: wrapReportedDiagnostic(tracker.reportInaccessibleThisError), - reportInaccessibleUniqueSymbolError: wrapReportedDiagnostic(tracker.reportInaccessibleUniqueSymbolError), - reportLikelyUnsafeImportRequiredError: wrapReportedDiagnostic(tracker.reportLikelyUnsafeImportRequiredError), - reportNonlocalAugmentation: wrapReportedDiagnostic(tracker.reportNonlocalAugmentation), - reportPrivateInBaseOfClassExpression: wrapReportedDiagnostic(tracker.reportPrivateInBaseOfClassExpression), - reportNonSerializableProperty: wrapReportedDiagnostic(tracker.reportNonSerializableProperty), - trackSymbol: oldTrackSymbol && ((...args) => { - const result = oldTrackSymbol(...args); - if (result) { - context.reportedDiagnostic = true; - } - return result; - }) - }; - function wrapReportedDiagnostic(method) { - if (!method) { - return method; - } - return (...args) => { - context.reportedDiagnostic = true; - return method(...args); - }; - } - } function checkTruncationLength(context) { if (context.truncating) return context.truncating; @@ -49766,7 +50393,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, constraintNode)); } - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */) { const name2 = typeParameterToName(type, context); context.approximateLength += idText(name2).length; return factory.createTypeReferenceNode(factory.createIdentifier(idText(name2)), void 0); @@ -50004,7 +50631,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (!nodeIsSynthesized(node) && getParseTreeNode(node) === node) { return node; } - return setTextRange(factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), node); + return setTextRange2( + context, + factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), + node + ); } function deepCloneOrReuseNodes(nodes, visitor, test, start, count) { if (nodes && nodes.length === 0) { @@ -50250,7 +50881,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const propertyType = shouldUsePlaceholderForProperty(propertySymbol, context) ? anyType : getNonMissingTypeOfSymbol(propertySymbol); const saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = void 0; - if (context.tracker.trackSymbol && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.canTrackSymbol && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { const decl = first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -50287,7 +50918,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.reverseMappedStack || (context.reverseMappedStack = []); context.reverseMappedStack.push(propertySymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : factory.createKeywordTypeNode(132 /* AnyKeyword */); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, void 0, propertyType, propertySymbol) : factory.createKeywordTypeNode(132 /* AnyKeyword */); if (propertyIsReverseMapped) { context.reverseMappedStack.pop(); } @@ -50398,9 +51029,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a2, _b, _c, _d; - const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; - if (suppressAny) - context.flags &= ~256 /* SuppressAnyReturnType */; + const flags = context.flags; + context.flags &= ~256 /* SuppressAnyReturnType */; context.approximateLength += 3; let typeParameters; let typeArguments; @@ -50410,37 +51040,128 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { typeParameters = signature.typeParameters && signature.typeParameters.map((parameter) => typeParameterToDeclaration(parameter, context)); } const expandedParams = getExpandedParameters(signature, true)[0]; - const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports)); + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters); + const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 176 /* Constructor */)); const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); } - let returnTypeNode; - const typePredicate = getTypePredicateOfSignature(signature); - if (typePredicate) { - const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; - const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); - const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); - returnTypeNode = factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); - } else { - const returnType = getReturnTypeOfSignature(signature); - if (returnType && !(suppressAny && isTypeAny(returnType))) { - returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports); - } else if (!suppressAny) { - returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); - } - } + context.flags = flags; + const returnTypeNode = serializeReturnTypeForSignature(context, signature); let modifiers = options == null ? void 0 : options.modifiers; if (kind === 185 /* ConstructorType */ && signature.flags & 4 /* Abstract */) { - const flags = modifiersToFlags(modifiers); - modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */); + const flags2 = modifiersToFlags(modifiers); + modifiers = factory.createModifiersFromModifierFlags(flags2 | 256 /* Abstract */); } const node = kind === 179 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 180 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 173 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (_a2 = options == null ? void 0 : options.name) != null ? _a2 : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 174 /* MethodDeclaration */ ? factory.createMethodDeclaration(modifiers, void 0, (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""), void 0, typeParameters, parameters, returnTypeNode, void 0) : kind === 176 /* Constructor */ ? factory.createConstructorDeclaration(modifiers, parameters, void 0) : kind === 177 /* GetAccessor */ ? factory.createGetAccessorDeclaration(modifiers, (_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""), parameters, returnTypeNode, void 0) : kind === 178 /* SetAccessor */ ? factory.createSetAccessorDeclaration(modifiers, (_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""), parameters, void 0) : kind === 181 /* IndexSignature */ ? factory.createIndexSignature(modifiers, parameters, returnTypeNode) : kind === 326 /* JSDocFunctionType */ ? factory.createJSDocFunctionType(parameters, returnTypeNode) : kind === 184 /* FunctionType */ ? factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 185 /* ConstructorType */ ? factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode != null ? returnTypeNode : factory.createTypeReferenceNode(factory.createIdentifier(""))) : kind === 263 /* FunctionDeclaration */ ? factory.createFunctionDeclaration(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, void 0) : kind === 218 /* FunctionExpression */ ? factory.createFunctionExpression(modifiers, void 0, (options == null ? void 0 : options.name) ? cast(options.name, isIdentifier) : factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, factory.createBlock([])) : kind === 219 /* ArrowFunction */ ? factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, void 0, factory.createBlock([])) : Debug.assertNever(kind); if (typeArguments) { node.typeArguments = factory.createNodeArray(typeArguments); } + cleanup == null ? void 0 : cleanup(); return node; } + function isNewScopeNode(node) { + return isFunctionLike(node) || isJSDocSignature(node) || isMappedTypeNode(node); + } + function getTypeParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getSignatureFromDeclaration(node).typeParameters : isConditionalTypeNode(node) ? getInferTypeParameters(node) : [getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))]; + } + function getParametersInScope(node) { + return isFunctionLike(node) || isJSDocSignature(node) ? getExpandedParameters(getSignatureFromDeclaration(node), true)[0] : void 0; + } + function enterNewScope(context, declaration, expandedParams, typeParameters) { + let cleanup; + if (context.enclosingDeclaration && declaration && declaration !== context.enclosingDeclaration && !isInJSFile(declaration) && (some(expandedParams) || some(typeParameters))) { + pushFakeScope( + "params", + (add) => { + for (const param of expandedParams != null ? expandedParams : emptyArray) { + if (!forEach(param.declarations, (d) => { + if (isParameter(d) && isBindingPattern(d.name)) { + bindPattern(d.name); + return true; + } + return void 0; + function bindPattern(p) { + forEach(p.elements, (e) => { + switch (e.kind) { + case 233 /* OmittedExpression */: + return; + case 208 /* BindingElement */: + return bindElement(e); + default: + return Debug.assertNever(e); + } + }); + } + function bindElement(e) { + if (isBindingPattern(e.name)) { + return bindPattern(e.name); + } + const symbol = getSymbolOfNode(e); + add(symbol.escapedName, symbol); + } + })) { + add(param.escapedName, param); + } + } + } + ); + if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + pushFakeScope( + "typeParams", + (add) => { + for (const typeParam of typeParameters != null ? typeParameters : emptyArray) { + const typeParamName = typeParameterToName(typeParam, context).escapedText; + add(typeParamName, typeParam.symbol); + } + } + ); + } + return cleanup; + } + function pushFakeScope(kind, addAll) { + var _a2; + Debug.assert(context.enclosingDeclaration); + let existingFakeScope; + if (getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration; + } else if (context.enclosingDeclaration.parent && getNodeLinks(context.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration.parent; + } + Debug.assertOptionalNode(existingFakeScope, isBlock); + const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable(); + let newLocals; + addAll((name, symbol) => { + if (!locals.has(name)) { + newLocals = append(newLocals, name); + locals.set(name, symbol); + } + }); + if (!newLocals) { + return; + } + const oldCleanup = cleanup; + function undo() { + forEach(newLocals, (s) => locals.delete(s)); + oldCleanup == null ? void 0 : oldCleanup(); + } + if (existingFakeScope) { + cleanup = undo; + } else { + const fakeScope = parseNodeFactory.createBlock(emptyArray); + getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = kind; + fakeScope.locals = locals; + const saveEnclosingDeclaration = context.enclosingDeclaration; + setParent(fakeScope, saveEnclosingDeclaration); + context.enclosingDeclaration = fakeScope; + cleanup = () => { + context.enclosingDeclaration = saveEnclosingDeclaration; + undo(); + }; + } + } + } function tryGetThisParameterDeclaration(signature, context) { if (signature.thisParameter) { return symbolToParameterDeclaration(signature.thisParameter, context); @@ -50472,20 +51193,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constraintNode = constraint && typeToTypeNodeHelper(constraint, context); return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } - function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - let parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); - if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); + function typePredicateToTypePredicateNodeHelper(typePredicate, context) { + const assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? factory.createToken(130 /* AssertsKeyword */) : void 0; + const parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? setEmitFlags(factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : factory.createThisTypeNode(); + const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); + return factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); + } + function getEffectiveParameterDeclaration(parameterSymbol) { + const parameterDeclaration = getDeclarationOfKind(parameterSymbol, 168 /* Parameter */); + if (parameterDeclaration) { + return parameterDeclaration; } - let parameterType = getTypeOfSymbol(parameterSymbol); - if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { - parameterType = getOptionalType(parameterType); + if (!isTransientSymbol(parameterSymbol)) { + return getDeclarationOfKind(parameterSymbol, 349 /* JSDocParameterTag */); } - const parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); + } + function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags) { + const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol); + const parameterType = getTypeOfSymbol(parameterSymbol); + const parameterTypeNode = serializeTypeForDeclaration(context, parameterDeclaration, parameterType, parameterSymbol); const modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : void 0; const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 32768 /* RestParameter */; const dotDotDotToken = isRest ? factory.createToken(25 /* DotDotDotToken */) : void 0; - const name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); + const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context); const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */; const questionToken = isOptional ? factory.createToken(57 /* QuestionToken */) : void 0; const parameterNode = factory.createParameterDeclaration( @@ -50498,13 +51228,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.approximateLength += symbolName(parameterSymbol).length + 3; return parameterNode; + } + function parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context) { + return parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 165 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol); function cloneBindingName(node) { return elideInitializerAndSetEmitFlags(node); function elideInitializerAndSetEmitFlags(node2) { - if (context.tracker.trackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { + if (context.tracker.canTrackSymbol && isComputedPropertyName(node2) && isLateBindableName(node2)) { trackComputedName(node2.expression, context.enclosingDeclaration, context); } - let visited = visitEachChild(node2, elideInitializerAndSetEmitFlags, nullTransformationContext, void 0, elideInitializerAndSetEmitFlags); + let visited = visitEachChild( + node2, + elideInitializerAndSetEmitFlags, + void 0, + void 0, + elideInitializerAndSetEmitFlags + ); if (isBindingElement(visited)) { visited = factory.updateBindingElement( visited, @@ -50522,8 +51261,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function trackComputedName(accessExpression, enclosingDeclaration, context) { - if (!context.tracker.trackSymbol) + if (!context.tracker.canTrackSymbol) { return; + } const firstIdentifier = getFirstIdentifier(accessExpression); const name = resolveName(firstIdentifier, firstIdentifier.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */, void 0, void 0, true); if (name) { @@ -50656,13 +51396,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } } - if (!context.enclosingDeclaration || !context.tracker.moduleResolverHost) { + if (!context.enclosingFile || !context.tracker.moduleResolverHost) { if (ambientModuleSymbolRegex.test(symbol.escapedName)) { return symbol.escapedName.substring(1, symbol.escapedName.length - 1); } return getSourceFileOfNode(getNonAugmentationDeclaration(symbol)).fileName; } - const contextFile = getSourceFileOfNode(getOriginalNode(context.enclosingDeclaration)); + const contextFile = context.enclosingFile; const resolutionMode = overrideImportMode || (contextFile == null ? void 0 : contextFile.impliedNodeFormat); const cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode); const links = getSymbolLinks(symbol); @@ -50756,8 +51496,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } const lit = factory.createLiteralTypeNode(factory.createStringLiteral(specifier)); - if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) + if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) { context.tracker.trackExternalModuleSymbolOfImportTypeNode(chain[0]); + } context.approximateLength += specifier.length + 10; if (!nonRootParts || isEntityName(nonRootParts)) { if (nonRootParts) { @@ -50836,13 +51577,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return identifier; } } - function typeParameterShadowsNameInScope(escapedName, context, type) { - const result = resolveName(context.enclosingDeclaration, escapedName, 788968 /* Type */, void 0, escapedName, false); - if (result) { - if (result.flags & 262144 /* TypeParameter */ && result === type.symbol) { - return false; - } - return true; + function typeParameterShadowsOtherTypeParameterInScope(escapedName, context, type) { + const result = resolveName( + context.enclosingDeclaration, + escapedName, + 788968 /* Type */, + void 0, + escapedName, + false + ); + if (result && result.flags & 262144 /* TypeParameter */) { + return result !== type.symbol; } return false; } @@ -50862,7 +51607,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const rawtext = result.escapedText; let i = ((_a2 = context.typeParameterNamesByTextNextNameCount) == null ? void 0 : _a2.get(rawtext)) || 0; let text = rawtext; - while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { + while (((_b = context.typeParameterNamesByText) == null ? void 0 : _b.has(text)) || typeParameterShadowsOtherTypeParameterInScope(text, context, type)) { i++; text = `${rawtext}_${i}`; } @@ -50871,7 +51616,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } (context.typeParameterNamesByTextNextNameCount || (context.typeParameterNamesByTextNextNameCount = new Map2())).set(rawtext, i); (context.typeParameterNames || (context.typeParameterNames = new Map2())).set(getTypeId(type), result); - (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(rawtext); + (context.typeParameterNamesByText || (context.typeParameterNamesByText = new Set2())).add(text); } return result; } @@ -50984,7 +51729,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (initial.typeParameterSymbolList) { initial.typeParameterSymbolList = new Set2(initial.typeParameterSymbolList); } - initial.tracker = wrapSymbolTrackerToReportForContext(initial, initial.tracker); + if (initial.typeParameterNamesByTextNextNameCount) { + initial.typeParameterNamesByTextNextNameCount = new Map2(initial.typeParameterNamesByTextNextNameCount); + } + initial.tracker = new SymbolTrackerImpl(initial, initial.tracker.inner, initial.tracker.moduleResolverHost); return initial; } function getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration) { @@ -50993,16 +51741,23 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) { return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters); } - function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) { + function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) { + while (getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration) { + enclosingDeclaration = enclosingDeclaration.parent; + } + return enclosingDeclaration; + } + function serializeTypeForDeclaration(context, declaration, type, symbol) { + var _a2, _b; + const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); + const enclosingDeclaration = context.enclosingDeclaration; if (!isErrorType(type) && enclosingDeclaration) { - const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration); + const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) ? declaration : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { - const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation); - if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { - const result2 = serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled); - if (result2) { - return result2; - } + const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation); + const result2 = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + if (result2) { + return result2; } } } @@ -51010,73 +51765,148 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol && (!context.enclosingDeclaration || some(symbol.declarations, (d) => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration)))) { context.flags |= 1048576 /* AllowUniqueESSymbolType */; } - const result = typeToTypeNodeHelper(type, context); + const decl = (_b = declaration != null ? declaration : symbol.valueDeclaration) != null ? _b : (_a2 = symbol.declarations) == null ? void 0 : _a2[0]; + const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : void 0; + if (decl && hasInferredType(decl) && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeTypeOfDeclaration(decl, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); context.flags = oldFlags; return result; } - function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type) { - const typeFromTypeNode = getTypeFromTypeNode(typeNode); + function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type, typeFromTypeNode = getTypeFromTypeNode(typeNode)) { if (typeFromTypeNode === type) { return true; } - if (isParameter(annotatedDeclaration) && annotatedDeclaration.questionToken) { + if (annotatedDeclaration && (isParameter(annotatedDeclaration) || isPropertySignature(annotatedDeclaration) || isPropertyDeclaration(annotatedDeclaration)) && annotatedDeclaration.questionToken) { return getTypeWithFacts(type, 524288 /* NEUndefined */) === typeFromTypeNode; } return false; } - function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) { + function serializeReturnTypeForSignature(context, signature) { + const suppressAny = context.flags & 256 /* SuppressAnyReturnType */; + const flags = context.flags; + if (suppressAny) + context.flags &= ~256 /* SuppressAnyReturnType */; + let returnTypeNode; + const returnType = getReturnTypeOfSignature(signature); + if (returnType && !(suppressAny && isTypeAny(returnType))) { + if (signature.declaration && !(context.flags & -2147483648 /* NoSyntacticPrinter */)) { + syntacticNodeBuilder.serializeReturnTypeForSignature(signature.declaration, context); + } + context.flags |= -2147483648 /* NoSyntacticPrinter */; + returnTypeNode = serializeReturnTypeForSignatureWorker(context, signature); + } else if (!suppressAny) { + returnTypeNode = factory.createKeywordTypeNode(132 /* AnyKeyword */); + } + context.flags = flags; + return returnTypeNode; + } + function serializeReturnTypeForSignatureWorker(context, signature) { + const typePredicate = getTypePredicateOfSignature(signature); + const type = getReturnTypeOfSignature(signature); if (!isErrorType(type) && context.enclosingDeclaration) { - const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration); - if (!!findAncestor(annotation, (n) => n === context.enclosingDeclaration) && annotation) { + const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); + const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); + if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) { const annotated = getTypeFromTypeNode(annotation); const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated; - if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) { - const result = serializeExistingTypeNode(context, annotation, includePrivateSymbol, bundled); - if (result) { - return result; - } + const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + if (result) { + return result; } } } - return typeToTypeNodeHelper(type, context); + if (typePredicate) { + return typePredicateToTypePredicateNodeHelper(typePredicate, context); + } + const expr = signature.declaration && getPossibleTypeNodeReuseExpression(signature.declaration); + return expressionOrTypeToTypeNode(context, expr, type); } - function trackExistingEntityName(node, context, includePrivateSymbol) { - var _a2, _b; + function trackExistingEntityName(node, context) { let introducesError = false; const leftmost = getFirstIdentifier(node); if (isInJSFile(node) && (isExportsIdentifier(leftmost) || isModuleExportsAccessExpression(leftmost.parent) || isQualifiedName(leftmost.parent) && isModuleIdentifier(leftmost.parent.left) && isExportsIdentifier(leftmost.parent.right))) { introducesError = true; return { introducesError, node }; } - const sym = resolveEntityName(leftmost, 67108863 /* All */, true, true); + const meaning = getMeaningOfEntityNameReference(node); + let sym; + if (isThisIdentifier(leftmost)) { + sym = getSymbolOfNode(getThisContainer(leftmost, false)); + if (isSymbolAccessible( + sym, + leftmost, + meaning, + false + ).accessibility !== 0 /* Accessible */) { + introducesError = true; + context.tracker.reportInaccessibleThisError(); + } + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + sym = resolveEntityName(leftmost, meaning, true, true); if (sym) { - if (isSymbolAccessible(sym, context.enclosingDeclaration, 67108863 /* All */, false).accessibility !== 0 /* Accessible */) { + if (sym.flags & 1 /* FunctionScopedVariable */ && sym.valueDeclaration) { + if (isParameterDeclaration(sym.valueDeclaration)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + } + if (!(sym.flags & 262144 /* TypeParameter */) && !isDeclarationName(node) && isSymbolAccessible( + sym, + context.enclosingDeclaration, + meaning, + false + ).accessibility !== 0 /* Accessible */) { introducesError = true; } else { - (_b = (_a2 = context.tracker) == null ? void 0 : _a2.trackSymbol) == null ? void 0 : _b.call(_a2, sym, context.enclosingDeclaration, 67108863 /* All */); - includePrivateSymbol == null ? void 0 : includePrivateSymbol(sym); + context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning); } - if (isIdentifier(node)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) }; + } + return { introducesError, node }; + function attachSymbolToLeftmostIdentifier(node2) { + if (node2 === leftmost) { const type = getDeclaredTypeOfSymbol(sym); - const name = sym.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : factory.cloneNode(node); + const name = sym.flags & 262144 /* TypeParameter */ ? typeParameterToName(type, context) : factory.cloneNode(node2); name.symbol = sym; - return { introducesError, node: setEmitFlags(setOriginalNode(name, node), 16777216 /* NoAsciiEscaping */) }; + return setTextRange2(context, setEmitFlags(name, 16777216 /* NoAsciiEscaping */), node2); + } + const updated = visitEachChild(node2, (c) => attachSymbolToLeftmostIdentifier(c), void 0); + if (updated !== node2) { + setTextRange2(context, updated, node2); } + return updated; } - return { introducesError, node }; } - function serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled) { + function tryReuseExistingTypeNodeHelper(context, existing) { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } let hadError = false; - const file = getSourceFileOfNode(existing); - const transformed = visitNode(existing, visitExistingNodeTreeSymbols); + const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode); if (hadError) { return void 0; } - return transformed === existing ? setTextRange(factory.cloneNode(existing), existing) : transformed; + return transformed; function visitExistingNodeTreeSymbols(node) { + const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : void 0; + const result = visitExistingNodeTreeSymbolsWorker(node); + onExitNewScope == null ? void 0 : onExitNewScope(); + return result === node ? setTextRange2(context, factory.cloneNode(result), node) : result; + } + function onEnterNewScope(node) { + const oldContex = context; + context = cloneNodeBuilderContext(context); + const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + return onExitNewScope; + function onExitNewScope() { + cleanup == null ? void 0 : cleanup(); + context = oldContex; + } + } + function visitExistingNodeTreeSymbolsWorker(node) { if (isJSDocAllType(node) || node.kind === 328 /* JSDocNamepathType */) { return factory.createKeywordTypeNode(132 /* AnyKeyword */); } @@ -51084,16 +51914,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createKeywordTypeNode(159 /* UnknownKeyword */); } if (isJSDocNullableType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createLiteralTypeNode(factory.createNull())]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createLiteralTypeNode(factory.createNull())] + ); } if (isJSDocOptionalType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode), factory.createKeywordTypeNode(157 /* UndefinedKeyword */)] + ); } if (isJSDocNonNullableType(node)) { return visitNode(node.type, visitExistingNodeTreeSymbols); } if (isJSDocVariadicType(node)) { - return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols)); + return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); } if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, (t) => { @@ -51104,7 +51938,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, name, t.isBracketed || t.typeExpression && isJSDocOptionalType(t.typeExpression.type) ? factory.createToken(57 /* QuestionToken */) : void 0, - overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + overrideTypeNode || t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); })); } @@ -51119,9 +51953,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { void 0, "x", void 0, - visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols, isTypeNode) )], - visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols, isTypeNode) )]); } if (isJSDocFunctionType(node)) { @@ -51129,29 +51963,29 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { let newTypeNode; return factory.createConstructorTypeNode( void 0, - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), mapDefined(node.parameters, (p, i) => p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, void 0) : factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } else { return factory.createFunctionTypeNode( - visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols), + visitNodes2(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), map(node.parameters, (p, i) => factory.createParameterDeclaration( void 0, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), void 0 )), - visitNode(node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(132 /* AnyKeyword */) + visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(132 /* AnyKeyword */) ); } } @@ -51172,17 +52006,61 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { node.isTypeOf ); } + if (isNamedDeclaration(node) && node.name.kind === 166 /* ComputedPropertyName */ && !isLateBindableName(node.name)) { + if (!(context.flags & 1 /* AllowUnresolvedComputedNames */ && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & 1 /* Any */)) { + return void 0; + } + } + if (isFunctionLike(node) && !node.type || isPropertyDeclaration(node) && !node.type && !node.initializer || isPropertySignature(node) && !node.type && !node.initializer || isParameter(node) && !node.type && !node.initializer) { + let visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + if (visited === node) { + visited = setTextRange2(context, factory.cloneNode(node), node); + } + visited.type = factory.createKeywordTypeNode(132 /* AnyKeyword */); + if (isParameter(node)) { + visited.modifiers = void 0; + } + return visited; + } if (isEntityName(node) || isEntityNameExpression(node)) { - const { introducesError, node: result } = trackExistingEntityName(node, context, includePrivateSymbol); - hadError = hadError || introducesError; - if (result !== node) { - return result; + if (isDeclarationName(node)) { + return node; } + const { introducesError, node: result } = trackExistingEntityName(node, context); + hadError = hadError || introducesError; + return result; } - if (file && isTupleTypeNode(node) && getLineAndCharacterOfPosition(file, node.pos).line === getLineAndCharacterOfPosition(file, node.end).line) { - setEmitFlags(node, 1 /* SingleLine */); + if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { + const visited = visitEachChild(node, visitExistingNodeTreeSymbols, void 0); + const clone2 = setTextRange2(context, visited === node ? factory.cloneNode(node) : visited, node); + const flags = getEmitFlags(clone2); + setEmitFlags( + clone2, + flags | (context.flags & 1024 /* MultilineObjectLiterals */ && isTypeLiteralNode(node) ? 0 : 1 /* SingleLine */) + ); + return clone2; + } + if (isStringLiteral(node) && !!(context.flags & 268435456 /* UseSingleQuotesForStringLiteralType */) && !node.singleQuote) { + const clone2 = factory.cloneNode(node); + clone2.singleQuote = true; + return clone2; + } + if (isConditionalTypeNode(node)) { + const checkType = visitNode(node.checkType, visitExistingNodeTreeSymbols, isTypeNode); + const disposeScope = onEnterNewScope(node); + const extendType = visitNode(node.extendsType, visitExistingNodeTreeSymbols, isTypeNode); + const trueType2 = visitNode(node.trueType, visitExistingNodeTreeSymbols, isTypeNode); + disposeScope(); + const falseType2 = visitNode(node.falseType, visitExistingNodeTreeSymbols, isTypeNode); + return factory.updateConditionalTypeNode( + node, + checkType, + extendType, + trueType2, + falseType2 + ); } - return visitEachChild(node, visitExistingNodeTreeSymbols, nullTransformationContext); + return visitEachChild(node, visitExistingNodeTreeSymbols, void 0); function getEffectiveDotDotDotForParameter(p) { return p.dotDotDotToken || (p.type && isJSDocVariadicType(p.type) ? factory.createToken(25 /* DotDotDotToken */) : void 0); } @@ -51190,18 +52068,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return p.name && isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? `args` : `arg${index}`; } function rewriteModuleSpecifier(parent2, lit) { - if (bundled) { - if (context.tracker && context.tracker.moduleResolverHost) { - const targetFile = getExternalModuleFileFromDeclaration(parent2); - if (targetFile) { - const getCanonicalFileName = createGetCanonicalFileName(!!host.useCaseSensitiveFileNames); - const resolverHost = { - getCanonicalFileName, - getCurrentDirectory: () => context.tracker.moduleResolverHost.getCurrentDirectory(), - getCommonSourceDirectory: () => context.tracker.moduleResolverHost.getCommonSourceDirectory() - }; - const newName = getResolvedExternalModuleName(resolverHost, targetFile); - return factory.createStringLiteral(newName); + if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) { + const targetFile = getExternalModuleFileFromDeclaration(parent2); + if (targetFile) { + const newName = getSpecifierForModuleSymbol(targetFile.symbol, context); + if (newName !== lit.text) { + return setOriginalNode(factory.createStringLiteral(newName), lit); } } } else { @@ -51212,11 +52084,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } } - return lit; + return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral); } } } - function symbolTableToDeclarationStatements(symbolTable, context, bundled) { + function symbolTableToDeclarationStatements(symbolTable, context) { const serializePropertySymbolForClass = makeSerializePropertySymbol(factory.createPropertyDeclaration, 174 /* MethodDeclaration */, true); const serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol((mods, name, question, type) => factory.createPropertySignature(mods, name, question, type), 173 /* MethodSignature */, false); const enclosingDeclaration = context.enclosingDeclaration; @@ -51228,28 +52100,37 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ...oldcontext, usedSymbolNames: new Set2(oldcontext.usedSymbolNames), remappedSymbolNames: new Map2(), - tracker: { - ...oldcontext.tracker, - trackSymbol: (sym, decl, meaning) => { - const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); - if (accessibleResult.accessibility === 0 /* Accessible */) { - const chain = lookupSymbolChainWorker(sym, context, meaning); - if (!(sym.flags & 4 /* Property */)) { - includePrivateSymbol(chain[0]); + tracker: void 0 + }; + const tracker = { + ...oldcontext.tracker.inner, + trackSymbol: (sym, decl, meaning) => { + var _a2, _b; + if ((_a2 = context.remappedSymbolNames) == null ? void 0 : _a2.has(getSymbolId(sym))) { + return false; + } + const accessibleResult = isSymbolAccessible(sym, decl, meaning, false); + if (accessibleResult.accessibility === 0 /* Accessible */) { + const chain = lookupSymbolChainWorker(sym, context, meaning); + if (!(sym.flags & 4 /* Property */)) { + const root = chain[0]; + const contextFile = getSourceFileOfNode(oldcontext.enclosingDeclaration); + if (some(root.declarations, (d) => getSourceFileOfNode(d) === contextFile)) { + includePrivateSymbol(root); } - } else if (oldcontext.tracker && oldcontext.tracker.trackSymbol) { - return oldcontext.tracker.trackSymbol(sym, decl, meaning); } - return false; + } else if ((_b = oldcontext.tracker.inner) == null ? void 0 : _b.trackSymbol) { + return oldcontext.tracker.inner.trackSymbol(sym, decl, meaning); } + return false; } }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, oldcontext.tracker.moduleResolverHost); forEachEntry(symbolTable, (symbol, name) => { const baseName = unescapeLeadingUnderscores(name); void getInternalSymbolName(symbol, baseName); }); - let addingDeclare = !bundled; + let addingDeclare = !context.bundled; const exportEquals = symbolTable.get("export=" /* ExportEquals */); if (exportEquals && symbolTable.size > 1 && exportEquals.flags & 2097152 /* Alias */) { symbolTable = createSymbolTable(); @@ -51401,6 +52282,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function serializeSymbol(symbol, isPrivate, propertyAsAlias) { + void getPropertiesOfType(getTypeOfSymbol(symbol)); const visitedSym = getMergedSymbol(symbol); if (visitedSymbols.has(getSymbolId(visitedSym))) { return; @@ -51414,6 +52296,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (context.reportedDiagnostic) { oldcontext.reportedDiagnostic = context.reportedDiagnostic; } + if (context.trackedSymbols) { + if (!oldContext.trackedSymbols) { + oldContext.trackedSymbols = context.trackedSymbols; + } else { + Debug.assert(context.trackedSymbols === oldContext.trackedSymbols); + } + } context = oldContext; } } @@ -51471,9 +52360,20 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* Value */); } else { - const statement = setTextRange(factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(name, void 0, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) - ], flags)), textRange); + const statement = setTextRange2( + context, + factory.createVariableStatement( + void 0, + factory.createVariableDeclarationList([ + factory.createVariableDeclaration( + name, + void 0, + serializeTypeForDeclaration(context, void 0, type, symbol) + ) + ], flags) + ), + textRange + ); addResult(statement, name !== localName ? modifierFlags & ~1 /* Export */ : modifierFlags); if (name !== localName && !isPrivate) { addResult( @@ -51577,7 +52477,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { context.flags |= 8388608 /* InTypeAlias */; const oldEnclosingDecl = context.enclosingDeclaration; context.enclosingDeclaration = jsdocAliasDecl; - const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) || typeToTypeNodeHelper(aliasType, context); + const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && tryReuseExistingNonParameterTypeNode(context, jsdocAliasDecl.typeExpression.type, aliasType, void 0) || typeToTypeNodeHelper(aliasType, context); addResult(setSyntheticLeadingComments( factory.createTypeAliasDeclaration(void 0, getInternalSymbolName(symbol, symbolName2), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }] @@ -51661,8 +52561,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { function serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags) { const signatures = getSignaturesOfType(type, 0 /* Call */); for (const sig of signatures) { - const decl = signatureToSignatureDeclarationHelper(sig, 263 /* FunctionDeclaration */, context, { name: factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); - addResult(setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); + const decl = signatureToSignatureDeclarationHelper( + sig, + 263 /* FunctionDeclaration */, + context, + { name: factory.createIdentifier(localName) } + ); + addResult(setTextRange2(context, decl, getSignatureTextRangeLocation(sig)), modifierFlags); } if (!(symbol.flags & (512 /* ValueModule */ | 1024 /* NamespaceModule */) && !!symbol.exports && !!symbol.exports.size)) { const props = filter(getPropertiesOfType(type), isNamespaceMember); @@ -51734,7 +52639,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return cleanup(void 0); } let introducesError; - ({ introducesError, node: expr } = trackExistingEntityName(expr, context, includePrivateSymbol)); + ({ introducesError, node: expr } = trackExistingEntityName(expr, context)); if (introducesError) { return cleanup(void 0); } @@ -51743,7 +52648,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { expr, map( e.typeArguments, - (a) => serializeExistingTypeNode(context, a, includePrivateSymbol, bundled) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) + (a) => tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) ) )); function cleanup(result2) { @@ -51799,13 +52704,17 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const constructors = isNonConstructableClassLikeInJsFile ? [factory.createConstructorDeclaration(factory.createModifiersFromModifierFlags(8 /* Private */), [], void 0)] : serializeSignatures(1 /* Construct */, staticType, staticBaseType, 176 /* Constructor */); const indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; - addResult(setTextRange(factory.createClassDeclaration( - void 0, - localName, - typeParamDecls, - heritageClauses, - [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] - ), symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0]), modifierFlags); + addResult(setTextRange2( + context, + factory.createClassDeclaration( + void 0, + localName, + typeParamDecls, + heritageClauses, + [...indexSignatures, ...staticMembers, ...constructors, ...publicProperties, ...privateProperties] + ), + symbol.declarations && filter(symbol.declarations, (d) => isClassDeclaration(d) || isClassExpression(d))[0] + ), modifierFlags); } function getSomeTargetNameFromDeclarations(declarations) { return firstDefined(declarations, (d) => { @@ -51860,6 +52769,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { break; } Debug.failBadSyntaxKind(((_c = node.parent) == null ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); + break; case 306 /* ShorthandPropertyAssignment */: if (((_e = (_d = node.parent) == null ? void 0 : _d.parent) == null ? void 0 : _e.kind) === 227 /* BinaryExpression */) { serializeExportSpecifier( @@ -51903,22 +52813,28 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 273 /* NamespaceExportDeclaration */: addResult(factory.createNamespaceExportDeclaration(idText(node.name)), 0 /* None */); break; - case 276 /* ImportClause */: + case 276 /* ImportClause */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, factory.createIdentifier(localName), void 0), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; - case 277 /* NamespaceImport */: + } + case 277 /* NamespaceImport */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause(false, void 0, factory.createNamespaceImport(factory.createIdentifier(localName))), - factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 283 /* NamespaceExport */: addResult(factory.createExportDeclaration( void 0, @@ -51927,7 +52843,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)) ), 0 /* None */); break; - case 279 /* ImportSpecifier */: + case 279 /* ImportSpecifier */: { + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier2 = context.bundled ? factory.createStringLiteral(generatedSpecifier) : node.parent.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( void 0, factory.createImportClause( @@ -51941,10 +52859,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { ) ]) ), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + specifier2, void 0 ), 0 /* None */); break; + } case 284 /* ExportSpecifier */: const specifier = node.parent.parent.moduleSpecifier; serializeExportSpecifier( @@ -52027,7 +52946,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { serializeAsFunctionNamespaceMerge(typeToSerialize, symbol, varName, isExportAssignmentCompatibleSymbolName ? 0 /* None */ : 1 /* Export */); } else { const statement = factory.createVariableStatement(void 0, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(varName, void 0, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) + factory.createVariableDeclaration( + varName, + void 0, + serializeTypeForDeclaration( + context, + void 0, + typeToSerialize, + symbol + ) + ) ], 2 /* Const */)); addResult( statement, @@ -52049,8 +52977,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function isTypeRepresentableAsFunctionNamespaceMerge(typeToSerialize, hostSymbol) { + var _a2; const ctxSrc = getSourceFileOfNode(context.enclosingDeclaration); - return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); + return getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && !some((_a2 = typeToSerialize.symbol) == null ? void 0 : _a2.declarations, isTypeNode) && !length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && !length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && !some(getPropertiesOfType(typeToSerialize), (p) => isLateBoundName(p.escapedName)) && !some(getPropertiesOfType(typeToSerialize), (p) => some(p.declarations, (d) => getSourceFileOfNode(d) !== ctxSrc)) && every(getPropertiesOfType(typeToSerialize), (p) => isIdentifierText(symbolName(p), languageVersion)); } function makeSerializePropertySymbol(createProperty2, methodKind, useAccessors) { return function serializePropertySymbol(p, isStatic2, baseType) { @@ -52069,50 +52998,66 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (p.flags & 98304 /* Accessor */ && useAccessors) { const result = []; if (p.flags & 65536 /* SetAccessor */) { - result.push(setTextRange(factory.createSetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [factory.createParameterDeclaration( - void 0, - void 0, - "arg", - void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled) - )], - void 0 - ), ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createSetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [factory.createParameterDeclaration( + void 0, + void 0, + "arg", + void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p) + )], + void 0 + ), + ((_b = p.declarations) == null ? void 0 : _b.find(isSetAccessor)) || firstPropertyLikeDecl + )); } if (p.flags & 32768 /* GetAccessor */) { const isPrivate2 = modifierFlags & 8 /* Private */; - result.push(setTextRange(factory.createGetAccessorDeclaration( - factory.createModifiersFromModifierFlags(flag), - name, - [], - isPrivate2 ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl)); + result.push(setTextRange2( + context, + factory.createGetAccessorDeclaration( + factory.createModifiersFromModifierFlags(flag), + name, + [], + isPrivate2 ? void 0 : serializeTypeForDeclaration(context, void 0, getTypeOfSymbol(p), p), + void 0 + ), + ((_c = p.declarations) == null ? void 0 : _c.find(isGetAccessor)) || firstPropertyLikeDecl + )); } return result; } else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) { - return setTextRange(createProperty2( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - isPrivate ? void 0 : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), - void 0 - ), ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl); + return setTextRange2( + context, + createProperty2( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + isPrivate ? void 0 : serializeTypeForDeclaration(context, void 0, getWriteTypeOfSymbol(p), p), + void 0 + ), + ((_d = p.declarations) == null ? void 0 : _d.find(or(isPropertyDeclaration, isVariableDeclaration))) || firstPropertyLikeDecl + ); } if (p.flags & (8192 /* Method */ | 16 /* Function */)) { const type = getTypeOfSymbol(p); const signatures = getSignaturesOfType(type, 0 /* Call */); if (flag & 8 /* Private */) { - return setTextRange(createProperty2( - factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), - name, - p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, - void 0, - void 0 - ), ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); + return setTextRange2( + context, + createProperty2( + factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), + name, + p.flags & 16777216 /* Optional */ ? factory.createToken(57 /* QuestionToken */) : void 0, + void 0, + void 0 + ), + ((_e = p.declarations) == null ? void 0 : _e.find(isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0] + ); } const results2 = []; for (const sig of signatures) { @@ -52127,7 +53072,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } ); const location = sig.declaration && isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; - results2.push(setTextRange(decl, location)); + results2.push(setTextRange2(context, decl, location)); } return results2; } @@ -52168,17 +53113,21 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (privateProtected) { - return [setTextRange(factory.createConstructorDeclaration( - factory.createModifiersFromModifierFlags(privateProtected), - [], - void 0 - ), signatures[0].declaration)]; + return [setTextRange2( + context, + factory.createConstructorDeclaration( + factory.createModifiersFromModifierFlags(privateProtected), + [], + void 0 + ), + signatures[0].declaration + )]; } } const results2 = []; for (const sig of signatures) { const decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); - results2.push(setTextRange(decl, sig.declaration)); + results2.push(setTextRange2(context, decl, sig.declaration)); } return results2; } @@ -52302,8 +53251,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const t = types[i]; flags |= t.flags; if (!(t.flags & 98304 /* Nullable */)) { - if (t.flags & (512 /* BooleanLiteral */ | 1024 /* EnumLiteral */)) { - const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (t.flags & (512 /* BooleanLiteral */ | 1056 /* EnumLike */)) { + const baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLikeType(t); if (baseType.flags & 1048576 /* Union */) { const count = baseType.types.length; if (i + count <= types.length && getRegularTypeOfLiteralType(types[i + count - 1]) === getRegularTypeOfLiteralType(baseType.types[count - 1])) { @@ -54016,6 +54965,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return false; } function isLiteralEnumMember(member) { + var _a2, _b; const expr = member.initializer; if (!expr) { return !(member.flags & 16777216 /* Ambient */); @@ -54028,7 +54978,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { case 225 /* PrefixUnaryExpression */: return expr.operator === 40 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 79 /* Identifier */: - return nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); + return nodeIsMissing(expr) || ((_b = (_a2 = getSymbolOfNode(member.parent).exports.get(expr.escapedText)) == null ? void 0 : _a2.valueDeclaration) == null ? void 0 : _b.kind) === 308 /* EnumMember */; case 227 /* BinaryExpression */: return isStringConcatExpression(expr); default: @@ -54045,7 +54995,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - if (member.initializer && isStringLiteralLike(member.initializer)) { + if (member.initializer && isStringConcatExpression(member.initializer)) { return links.enumKind = 1 /* Literal */; } if (!isLiteralEnumMember(member)) { @@ -54057,8 +55007,8 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; } - function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && !(type.flags & 1048576 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + function getBaseTypeOfEnumLikeType(type) { + return type.flags & 1056 /* EnumLike */ && type.symbol.flags & 8 /* EnumMember */ ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { const links = getSymbolLinks(symbol); @@ -54072,9 +55022,12 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { for (const declaration of symbol.declarations) { if (declaration.kind === 269 /* EnumDeclaration */) { for (const member of declaration.members) { - const value = getEnumMemberValue(member); - const memberType = getFreshTypeOfLiteralType(getEnumLiteralType(value !== void 0 ? value : 0, enumCount, getSymbolOfNode(member))); - getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; + const memberSymbol = getSymbolOfNode(member); + const value = getEnumMemberValue(member).value; + const memberType = value !== void 0 ? getFreshTypeOfLiteralType( + getEnumLiteralType(value, enumCount, memberSymbol) + ) : createComputedEnumType(memberSymbol); + getSymbolLinks(memberSymbol).declaredType = memberType; memberTypeList.push(getRegularTypeOfLiteralType(memberType)); } } @@ -54089,9 +55042,18 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.declaredType = enumType2; } } - const enumType = createType(32 /* Enum */); - enumType.symbol = symbol; - return links.declaredType = enumType; + const enumType = createComputedEnumType(symbol); + links.declaredType = enumType; + return links.declaredType; + } + function createComputedEnumType(symbol) { + const regularType = createTypeWithSymbol(32 /* Enum */, symbol); + const freshType = createTypeWithSymbol(32 /* Enum */, symbol); + regularType.regularType = regularType; + regularType.freshType = freshType; + freshType.freshType = freshType; + freshType.regularType = regularType; + return regularType; } function getDeclaredTypeOfEnumMember(symbol) { const links = getSymbolLinks(symbol); @@ -56358,8 +57320,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function cloneTypeReference(source) { - const type = createType(source.flags); - type.symbol = source.symbol; + const type = createTypeWithSymbol(source.flags, source.symbol); type.objectFlags = source.objectFlags; type.target = source.target; type.resolvedTypeArguments = source.resolvedTypeArguments; @@ -57313,7 +58274,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { orderedRemoveItemAt(typeSet, missingIndex); } } - if (includes & (2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { + if (includes & (32 /* Enum */ | 2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & 2 /* Subtype */)); } if (includes & 128 /* StringLiteral */ && includes & 134217728 /* TemplateLiteral */) { @@ -57904,8 +58865,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return result; } function createStringMappingType(symbol, type) { - const result = createType(268435456 /* StringMapping */); - result.symbol = symbol; + const result = createTypeWithSymbol(268435456 /* StringMapping */, symbol); result.type = type; return result; } @@ -58719,14 +59679,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return info.isReadonly !== readonly ? createIndexInfo(info.keyType, info.type, readonly, info.declaration) : info; } function createLiteralType(flags, value, symbol, regularType) { - const type = createType(flags); - type.symbol = symbol; + const type = createTypeWithSymbol(flags, symbol); type.value = value; type.regularType = regularType || type; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 2944 /* Literal */) { + if (type.flags & 2976 /* Freshable */) { if (!type.freshType) { const freshType = createLiteralType(type.flags, type.value, type.symbol, type); freshType.freshType = freshType; @@ -58737,10 +59696,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 2944 /* Literal */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; + return type.flags & 2976 /* Freshable */ ? type.regularType : type.flags & 1048576 /* Union */ ? type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType)) : type; } function isFreshLiteralType(type) { - return !!(type.flags & 2944 /* Literal */) && type.freshType === type; + return !!(type.flags & 2976 /* Freshable */) && type.freshType === type; } function getStringLiteralType(value) { let type; @@ -58773,8 +59732,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return links.resolvedType; } function createUniqueESSymbolType(symbol) { - const type = createType(8192 /* UniqueESSymbol */); - type.symbol = symbol; + const type = createTypeWithSymbol(8192 /* UniqueESSymbol */, symbol); type.escapedName = `__@${type.symbol.escapedName}@${getSymbolId(type.symbol)}`; return type; } @@ -59855,7 +60813,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return compareSignaturesRelated( source, target, - ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0, + ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0 /* None */, false, void 0, void 0, @@ -60037,7 +60995,11 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { errorReporter( Diagnostics.Property_0_is_missing_in_type_1, symbolName(property), - typeToString(getDeclaredTypeOfSymbol(targetSymbol), void 0, 64 /* UseFullyQualifiedType */) + typeToString( + getDeclaredTypeOfSymbol(targetSymbol), + void 0, + 64 /* UseFullyQualifiedType */ + ) ); enumRelation.set(id, 2 /* Failed */ | 4 /* Reported */); } else { @@ -60071,13 +61033,16 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return true; if (s & 12288 /* ESSymbolLike */ && t & 4096 /* ESSymbol */) return true; - if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; + } if (s & 1024 /* EnumLiteral */ && t & 1024 /* EnumLiteral */) { - if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { return true; - if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) + } + if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) { return true; + } } if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */))) return true; @@ -62413,7 +63378,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return type.flags & 16 /* Boolean */ ? true : type.flags & 1048576 /* Union */ ? type.flags & 1024 /* EnumLiteral */ ? true : every(type.types, isUnitType) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; + return type.flags & 1056 /* EnumLike */ ? getBaseTypeOfEnumLikeType(type) : type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; } function getBaseTypeOfLiteralTypeUnion(type) { var _a2; @@ -62421,7 +63386,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return (_a2 = getCachedType(key)) != null ? _a2 : setCachedType(key, mapType(type, getBaseTypeOfLiteralType)); } function getWidenedLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; + return type.flags & 1056 /* EnumLike */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLikeType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type; } function getWidenedUniqueESSymbolType(type) { return type.flags & 8192 /* UniqueESSymbol */ ? esSymbolType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedUniqueESSymbolType) : type; @@ -64360,7 +65325,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return true; } - if (source.flags & 1024 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 1056 /* EnumLike */ && getBaseTypeOfEnumLikeType(source) === target) { return true; } return containsType(target.types, source); @@ -72922,7 +73887,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } function checkExpressionCached(node, checkMode) { - if (checkMode && checkMode !== 0 /* Normal */) { + if (checkMode) { return checkExpression(node, checkMode); } const links = getNodeLinks(node); @@ -77767,13 +78732,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { nodeLinks2.flags |= 16384 /* EnumValuesComputed */; let autoValue = 0; for (const member of node.members) { - const value = computeMemberValue(member, autoValue); - getNodeLinks(member).enumMemberValue = value; - autoValue = typeof value === "number" ? value + 1 : void 0; + const result = computeEnumMemberValue(member, autoValue); + getNodeLinks(member).enumMemberValue = result; + autoValue = typeof result.value === "number" ? result.value + 1 : void 0; } } } - function computeMemberValue(member, autoValue) { + function computeEnumMemberValue(member, autoValue) { if (isComputedNonLiteralName(member.name)) { error(member.name, Diagnostics.Computed_property_names_are_not_allowed_in_enums); } else { @@ -77783,29 +78748,33 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } } if (member.initializer) { - return computeConstantValue(member); + return computeConstantEnumMemberValue(member); } if (member.parent.flags & 16777216 /* Ambient */ && !isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { - return void 0; + return evaluatorResult(void 0); } - if (autoValue !== void 0) { - return autoValue; + if (autoValue === void 0) { + error(member.name, Diagnostics.Enum_member_must_have_initializer); + return evaluatorResult(void 0); } - error(member.name, Diagnostics.Enum_member_must_have_initializer); - return void 0; + return evaluatorResult(autoValue); } - function computeConstantValue(member) { + function computeConstantEnumMemberValue(member) { const enumKind = getEnumKind(getSymbolOfNode(member.parent)); const isConstEnum2 = isEnumConst(member.parent); const initializer = member.initializer; - const value = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? void 0 : evaluate(initializer); - if (value !== void 0) { - if (isConstEnum2 && typeof value === "number" && !isFinite(value)) { - error(initializer, isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value); + const result = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? evaluatorResult(void 0) : evaluate(initializer, member); + if (result.value !== void 0) { + if (isConstEnum2 && typeof result.value === "number" && !isFinite(result.value)) { + error( + initializer, + isNaN(result.value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value + ); } } else if (enumKind === 1 /* Literal */) { + const result2 = evaluate(initializer, member); error(initializer, Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members); - return 0; + return evaluatorResult(0, result2.isSyntacticallyString, result2.resolvedOtherFiles, result2.hasExternalReferences); } else if (isConstEnum2) { error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); } else if (member.parent.flags & 16777216 /* Ambient */) { @@ -77818,103 +78787,149 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { checkTypeAssignableTo(source, getDeclaredTypeOfSymbol(getSymbolOfNode(member.parent)), initializer, void 0); } } - return value; - function evaluate(expr) { + return result; + function evaluate(expr, location) { + let isSyntacticallyString = false; + let resolvedOtherFiles = false; + let hasExternalReferences = false; + expr = skipParentheses(expr); switch (expr.kind) { case 225 /* PrefixUnaryExpression */: - const value2 = evaluate(expr.operand); - if (typeof value2 === "number") { + const result2 = evaluate(expr.operand, location); + resolvedOtherFiles = result2.resolvedOtherFiles; + hasExternalReferences = result2.hasExternalReferences; + if (typeof result2.value === "number") { switch (expr.operator) { case 39 /* PlusToken */: - return value2; + return evaluatorResult(result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return -value2; + return evaluatorResult(-result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 54 /* TildeToken */: - return ~value2; + return evaluatorResult(~result2.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } } break; - case 227 /* BinaryExpression */: - const left = evaluate(expr.left); - const right = evaluate(expr.right); - if (typeof left === "number" && typeof right === "number") { + case 227 /* BinaryExpression */: { + const left = evaluate(expr.left, location); + const right = evaluate(expr.right, location); + isSyntacticallyString = (left.isSyntacticallyString || right.isSyntacticallyString) && expr.operatorToken.kind === 39 /* PlusToken */; + resolvedOtherFiles = left.resolvedOtherFiles || right.resolvedOtherFiles; + hasExternalReferences = left.hasExternalReferences || right.hasExternalReferences; + if (typeof left.value === "number" && typeof right.value === "number") { switch (expr.operatorToken.kind) { case 51 /* BarToken */: - return left | right; + return evaluatorResult(left.value | right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 50 /* AmpersandToken */: - return left & right; + return evaluatorResult(left.value & right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 48 /* GreaterThanGreaterThanToken */: - return left >> right; + return evaluatorResult(left.value >> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 49 /* GreaterThanGreaterThanGreaterThanToken */: - return left >>> right; + return evaluatorResult(left.value >>> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 47 /* LessThanLessThanToken */: - return left << right; + return evaluatorResult(left.value << right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 52 /* CaretToken */: - return left ^ right; + return evaluatorResult(left.value ^ right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 41 /* AsteriskToken */: - return left * right; + return evaluatorResult(left.value * right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 43 /* SlashToken */: - return left / right; + return evaluatorResult(left.value / right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 39 /* PlusToken */: - return left + right; + return evaluatorResult(left.value + right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 40 /* MinusToken */: - return left - right; + return evaluatorResult(left.value - right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 44 /* PercentToken */: - return left % right; + return evaluatorResult(left.value % right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); case 42 /* AsteriskAsteriskToken */: - return left ** right; + return evaluatorResult(left.value ** right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } - } else if (typeof left === "string" && typeof right === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { - return left + right; + } else if (typeof left.value === "string" && typeof right.value === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { + return evaluatorResult( + "" + left.value + right.value, + isSyntacticallyString, + resolvedOtherFiles, + hasExternalReferences + ); } break; + } case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - return expr.text; + return evaluatorResult(expr.text, true); case 8 /* NumericLiteral */: - checkGrammarNumericLiteral(expr); - return +expr.text; - case 217 /* ParenthesizedExpression */: - return evaluate(expr.expression); + return evaluatorResult(+expr.text); case 79 /* Identifier */: - const identifier = expr; - if (isInfinityOrNaNString(identifier.escapedText)) { - return +identifier.escapedText; - } - return nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 212 /* ElementAccessExpression */: + return evaluateEntityNameExpression(expr, location); case 211 /* PropertyAccessExpression */: - if (isConstantMemberAccess(expr)) { - const type = getTypeOfExpression(expr.expression); - if (type.symbol && type.symbol.flags & 384 /* Enum */) { - let name; - if (expr.kind === 211 /* PropertyAccessExpression */) { - name = expr.name.escapedText; - } else { - name = escapeLeadingUnderscores(cast(expr.argumentExpression, isLiteralExpression).text); - } - return evaluateEnumMember(expr, type.symbol, name); - } + if (isEntityNameExpression(expr)) { + return evaluateEntityNameExpression(expr, location); } break; + case 212 /* ElementAccessExpression */: + return evaluateElementAccessExpression(expr, location); } - return void 0; + return evaluatorResult(void 0, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + } + function evaluateEntityNameExpression(expr, location) { + const symbol = resolveEntityName(expr, 111551 /* Value */, true); + if (!symbol) { + return evaluatorResult(void 0); + } + if (expr.kind === 79 /* Identifier */) { + const identifier = expr; + if (isInfinityOrNaNString(identifier.escapedText) && symbol === getGlobalSymbol(identifier.escapedText, 111551 /* Value */, void 0)) { + return evaluatorResult(+identifier.escapedText, false); + } + } + if (symbol.flags & 8 /* EnumMember */) { + return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration); + } + if (isConstVariable(symbol)) { + const declaration = symbol.valueDeclaration; + if (declaration && isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && (!location || declaration !== location && isBlockScopedNameDeclaredBeforeUse(declaration, location))) { + const result2 = evaluate(declaration.initializer, declaration); + if (location && getSourceFileOfNode(location) !== getSourceFileOfNode(declaration)) { + return evaluatorResult( + result2.value, + false, + true, + true + ); + } + return evaluatorResult(result2.value, result2.isSyntacticallyString, result2.resolvedOtherFiles, true); + } + } + return evaluatorResult(void 0); } - function evaluateEnumMember(expr, enumSymbol, name) { - const memberSymbol = enumSymbol.exports.get(name); - if (memberSymbol) { - const declaration = memberSymbol.valueDeclaration; - if (declaration !== member) { - if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member) && isEnumDeclaration(declaration.parent)) { - return getEnumMemberValue(declaration); + function evaluateElementAccessExpression(expr, location) { + const root = expr.expression; + if (isEntityNameExpression(root) && isStringLiteralLike(expr.argumentExpression)) { + const rootSymbol = resolveEntityName(root, 111551 /* Value */, true); + if (rootSymbol && rootSymbol.flags & 384 /* Enum */) { + const name = escapeLeadingUnderscores(expr.argumentExpression.text); + const member2 = rootSymbol.exports.get(name); + if (member2) { + Debug.assert(getSourceFileOfNode(member2.valueDeclaration) === getSourceFileOfNode(rootSymbol.valueDeclaration)); + return location ? evaluateEnumMember(expr, member2, location) : getEnumMemberValue(member2.valueDeclaration); } - error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); - return 0; - } else { - error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(memberSymbol)); } } - return void 0; + return evaluatorResult(void 0); + } + function evaluateEnumMember(expr, symbol, location) { + const declaration = symbol.valueDeclaration; + if (!declaration || declaration === location) { + error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(symbol)); + return evaluatorResult(void 0); + } + if (!isBlockScopedNameDeclaredBeforeUse(declaration, location)) { + error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); + return evaluatorResult(0); + } + const value = getEnumMemberValue(declaration); + if (location.parent !== declaration.parent) { + return evaluatorResult(value.value, value.isSyntacticallyString, value.resolvedOtherFiles, true); + } + return value; } } function isConstantMemberAccess(node) { @@ -77968,6 +78983,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { if (isPrivateIdentifier(node.name)) { error(node, Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier); } + if (node.initializer) { + checkExpression(node.initializer); + } } function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { const declarations = symbol.declarations; @@ -79872,15 +80890,30 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return strictNullChecks && isOptionalParameter(parameter) && (isJSDocParameterTag(parameter) || !parameter.initializer) && hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { - const declaration = getParseTreeNode(node, isFunctionDeclaration); + const declaration = getParseTreeNode( + node, + (n) => isFunctionDeclaration(n) || isVariableDeclaration(n) + ); if (!declaration) { return false; } - const symbol = getSymbolOfNode(declaration); - if (!symbol || !(symbol.flags & 16 /* Function */)) { + let symbol; + if (isVariableDeclaration(declaration)) { + if (declaration.type || !isInJSFile(declaration) && !isVarConst(declaration)) { + return false; + } + const initializer = getDeclaredExpandoInitializer(declaration); + if (!initializer || !canHaveSymbol(initializer)) { + return false; + } + symbol = getSymbolOfNode(initializer); + } else { + symbol = getSymbolOfNode(declaration); + } + if (!symbol || !(symbol.flags & 16 /* Function */ | 3 /* Variable */)) { return false; } - return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && p.valueDeclaration && isPropertyAccessExpression(p.valueDeclaration)); + return !!forEachEntry(getExportsOfSymbol(symbol), (p) => p.flags & 111551 /* Value */ && isExpandoPropertyDeclaration(p.valueDeclaration)); } function getPropertiesOfContainerFunction(node) { const declaration = getParseTreeNode(node, isFunctionDeclaration); @@ -79898,8 +80931,9 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return ((_a2 = nodeLinks[nodeId]) == null ? void 0 : _a2.flags) || 0; } function getEnumMemberValue(node) { + var _a2; computeEnumMemberValues(node.parent); - return getNodeLinks(node).enumMemberValue; + return (_a2 = getNodeLinks(node).enumMemberValue) != null ? _a2 : evaluatorResult(void 0); } function canHaveConstantValue(node) { switch (node.kind) { @@ -79912,13 +80946,13 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function getConstantValue2(node) { if (node.kind === 308 /* EnumMember */) { - return getEnumMemberValue(node); + return getEnumMemberValue(node).value; } const symbol = getNodeLinks(node).resolvedSymbol; if (symbol && symbol.flags & 8 /* EnumMember */) { const member = symbol.valueDeclaration; if (isEnumConst(member.parent)) { - return getEnumMemberValue(member); + return getEnumMemberValue(member).value; } } return void 0; @@ -79985,20 +81019,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return 11 /* ObjectType */; } } - function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { + function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker) { const declaration = getParseTreeNode(declarationIn, isVariableLikeOrAccessor); if (!declaration) { return factory.createToken(132 /* AnyKeyword */); } const symbol = getSymbolOfNode(declaration); - let type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - if (type.flags & 8192 /* UniqueESSymbol */ && type.symbol === symbol) { - flags |= 1048576 /* AllowUniqueESSymbolType */; - } - if (addUndefined) { - type = getOptionalType(type); - } - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + const type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; + return nodeBuilder.serializeTypeForDeclaration( + declaration, + type, + symbol, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); + } + function isDeclarationWithPossibleInnerTypeNodeReuse(declaration) { + return isFunctionLike(declaration) || isExportAssignment(declaration) || isVariableLike(declaration); } function getAllAccessorDeclarationsForDeclaration(accessor) { accessor = getParseTreeNode(accessor, isGetOrSetAccessorDeclaration); @@ -80015,13 +81053,39 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getAccessor }; } + function getPossibleTypeNodeReuseExpression(declaration) { + return isFunctionLike(declaration) && !isSetAccessor(declaration) ? getSingleReturnExpression(declaration) : isExportAssignment(declaration) ? declaration.expression : !!declaration.initializer ? declaration.initializer : isParameter(declaration) && isSetAccessor(declaration.parent) ? getSingleReturnExpression(getAllAccessorDeclarationsForDeclaration(declaration.parent).getAccessor) : void 0; + } + function getSingleReturnExpression(declaration) { + let candidateExpr; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, (s) => { + if (!candidateExpr) { + candidateExpr = s.expression; + } else { + candidateExpr = void 0; + return true; + } + }); + } else { + candidateExpr = body; + } + } + return candidateExpr; + } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { return factory.createToken(132 /* AnyKeyword */); } - const signature = getSignatureFromDeclaration(signatureDeclaration); - return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.serializeReturnTypeForSignature( + getSignatureFromDeclaration(signatureDeclaration), + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { const expr = getParseTreeNode(exprIn, isExpression); @@ -80029,7 +81093,14 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return factory.createToken(132 /* AnyKeyword */); } const type = getWidenedType(getRegularTypeOfExpression(expr)); - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.expressionOrTypeToTypeNode( + expr, + type, + void 0, + enclosingDeclaration, + flags | 1024 /* MultilineObjectLiterals */, + tracker + ); } function hasGlobalName(name) { return globals.has(escapeLeadingUnderscores(name)); @@ -80082,8 +81153,24 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return false; } + function isNonNarrowedBindableName(node) { + if (!hasBindableName(node.parent)) { + return false; + } + const expression = node.expression; + if (!isEntityNameExpression(expression)) { + return true; + } + const type = getTypeOfExpression(expression); + const symbol = getSymbolAtLocation(expression); + if (!symbol) { + return false; + } + const declaredType = getTypeOfSymbol(symbol); + return declaredType === type; + } function literalTypeToNode(type, enclosing, tracker) { - const enumResult = type.flags & 1024 /* EnumLiteral */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); + const enumResult = type.flags & 1056 /* EnumLike */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, void 0, tracker) : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); if (enumResult) return enumResult; const literalValue = type.value; @@ -80128,6 +81215,22 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } return void 0; } + function getNonlocalEffectiveReturnTypeAnnotationNode(node) { + const direct = getEffectiveReturnTypeNode(node); + if (direct) { + return direct; + } + if (node.kind === 177 /* GetAccessor */) { + const other = getAllAccessorDeclarationsForDeclaration(node).setAccessor; + if (other) { + const param = getSetAccessorValueParameter(other); + if (param) { + return getEffectiveTypeAnnotationNode(param); + } + } + } + return void 0; + } function isReferredToAnnotation(node) { let links = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -80223,6 +81326,10 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const node = getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue2(node) : void 0; }, + getEnumMemberValue: (nodeIn) => { + const node = getParseTreeNode(nodeIn, isEnumMember); + return node ? getEnumMemberValue(node) : void 0; + }, collectLinkedAliases, getReferencedValueDeclaration, getTypeReferenceSerializationKind, @@ -80236,6 +81343,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration, + isNonNarrowedBindableName, isLateBound: (nodeIn) => { const node = getParseTreeNode(nodeIn, isDeclaration); const symbol = node && getSymbolOfNode(node); @@ -80264,14 +81372,15 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { const parseDecl = getParseTreeNode(decl); return !!parseNode && !!parseDecl && (isVariableDeclaration(parseDecl) || isBindingElement(parseDecl)) && isBindingCapturedByNode(parseNode, parseDecl); }, - getDeclarationStatementsForSourceFile: (node, flags, tracker, bundled) => { + getDeclarationStatementsForSourceFile: (node, flags, tracker) => { const n = getParseTreeNode(node); Debug.assert(n && n.kind === 314 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); const sym = getSymbolOfNode(node); if (!sym) { - return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); + return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker); } - return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled); + resolveExternalModuleSymbol(sym); + return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker); }, isImportRequiredByAugmentation, getAnnotationObjectLiteralEvaluatedProps: (node) => { @@ -81665,7 +82774,7 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { } function isSimpleLiteralEnumReference(expr) { if ((isPropertyAccessExpression(expr) || isElementAccessExpression(expr) && isStringOrNumberLiteralExpression(expr.argumentExpression)) && isEntityNameExpression(expr.expression)) { - return !!(checkExpressionCached(expr).flags & 1024 /* EnumLiteral */); + return !!(checkExpressionCached(expr).flags & 1056 /* EnumLike */); } } function checkAmbientInitializer(node) { @@ -82099,6 +83208,138 @@ function createTypeChecker(host, isTypeCheckerForLinter = false) { return void 0; } } +function createBasicNodeBuilderModuleSpecifierResolutionHost(host) { + return { + getCommonSourceDirectory: !!host.getCommonSourceDirectory ? () => host.getCommonSourceDirectory() : () => "", + getCurrentDirectory: () => host.getCurrentDirectory(), + getSymlinkCache: maybeBind(host, host.getSymlinkCache), + getPackageJsonInfoCache: () => { + var _a2; + return (_a2 = host.getPackageJsonInfoCache) == null ? void 0 : _a2.call(host); + }, + useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), + redirectTargetsMap: host.redirectTargetsMap, + getProjectReferenceRedirect: (fileName) => host.getProjectReferenceRedirect(fileName), + isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName), + fileExists: (fileName) => host.fileExists(fileName), + getFileIncludeReasons: () => host.getFileIncludeReasons(), + readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0 + }; +} +var SymbolTrackerImpl = class { + constructor(context, tracker, moduleResolverHost) { + this.moduleResolverHost = void 0; + this.inner = void 0; + this.disableTrackSymbol = false; + var _a2; + while (tracker instanceof SymbolTrackerImpl) { + tracker = tracker.inner; + } + this.inner = tracker; + this.moduleResolverHost = moduleResolverHost; + this.context = context; + this.canTrackSymbol = !!((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol); + } + trackSymbol(symbol, enclosingDeclaration, meaning) { + var _a2, _b, _c; + if (((_a2 = this.inner) == null ? void 0 : _a2.trackSymbol) && !this.disableTrackSymbol) { + if (this.inner.trackSymbol(symbol, enclosingDeclaration, meaning)) { + this.onDiagnosticReported(); + return true; + } + if (!(symbol.flags & 262144 /* TypeParameter */)) { + ((_c = (_b = this.context).trackedSymbols) != null ? _c : _b.trackedSymbols = []).push([symbol, enclosingDeclaration, meaning]); + } + } + return false; + } + trackReferencedAmbientModule(decl, symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackReferencedAmbientModule) { + this.onDiagnosticReported(); + this.inner.trackReferencedAmbientModule(decl, symbol); + } + } + trackExternalModuleSymbolOfImportTypeNode(symbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.trackExternalModuleSymbolOfImportTypeNode) { + this.onDiagnosticReported(); + this.inner.trackExternalModuleSymbolOfImportTypeNode(symbol); + } + } + reportInaccessibleThisError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleThisError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleThisError(); + } + } + reportPrivateInBaseOfClassExpression(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportPrivateInBaseOfClassExpression) { + this.onDiagnosticReported(); + this.inner.reportPrivateInBaseOfClassExpression(propertyName); + } + } + reportInaccessibleUniqueSymbolError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInaccessibleUniqueSymbolError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleUniqueSymbolError(); + } + } + reportCyclicStructureError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportCyclicStructureError) { + this.onDiagnosticReported(); + this.inner.reportCyclicStructureError(); + } + } + reportLikelyUnsafeImportRequiredError(specifier) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportLikelyUnsafeImportRequiredError) { + this.onDiagnosticReported(); + this.inner.reportLikelyUnsafeImportRequiredError(specifier); + } + } + reportTruncationError() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportTruncationError) { + this.onDiagnosticReported(); + this.inner.reportTruncationError(); + } + } + reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonlocalAugmentation) { + this.onDiagnosticReported(); + this.inner.reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol); + } + } + reportNonSerializableProperty(propertyName) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportNonSerializableProperty) { + this.onDiagnosticReported(); + this.inner.reportNonSerializableProperty(propertyName); + } + } + reportImportTypeNodeResolutionModeOverride() { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportImportTypeNodeResolutionModeOverride) { + this.onDiagnosticReported(); + this.inner.reportImportTypeNodeResolutionModeOverride(); + } + } + onDiagnosticReported() { + this.context.reportedDiagnostic = true; + } + reportInferenceFallback(node) { + var _a2; + if ((_a2 = this.inner) == null ? void 0 : _a2.reportInferenceFallback) { + this.inner.reportInferenceFallback(node); + } + } +}; function isNotAccessor(declaration) { return !isAccessor(declaration); } @@ -82372,7 +83613,7 @@ function visitIterationBody(body, visitor, context, nodeVisitor = visitNode) { } return updated; } -function visitEachChild(node, visitor, context, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { +function visitEachChild(node, visitor, context = nullTransformationContext, nodesVisitor = visitNodes2, tokenVisitor, nodeVisitor = visitNode) { if (node === void 0) { return void 0; } @@ -99628,7 +100869,7 @@ function isInternalDeclaration(node, currentSourceFile) { return hasInternalAnnotation(range, currentSourceFile); }); } -var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; +var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 1 /* AllowUnresolvedComputedNames */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; function transformDeclarations(context) { const throwDiagnostic = () => Debug.fail("Diagnostic emitted without context"); let getSymbolAccessibilityDiagnostic = throwDiagnostic; @@ -99658,7 +100899,8 @@ function transformDeclarations(context) { trackExternalModuleSymbolOfImportTypeNode, reportNonlocalAugmentation, reportNonSerializableProperty, - reportImportTypeNodeResolutionModeOverride + reportImportTypeNodeResolutionModeOverride, + reportInferenceFallback }; let errorNameNode; let errorFallbackNode; @@ -99668,8 +100910,30 @@ function transformDeclarations(context) { let emittedImports; const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); + const getIsolatedDeclarationError = createGetIsolatedDeclarationErrors(resolver); const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; + function reportExpandoFunctionErrors(node) { + resolver.getPropertiesOfContainerFunction(node).forEach((p) => { + if (isExpandoPropertyDeclaration(p.valueDeclaration)) { + const errorTarget = isBinaryExpression(p.valueDeclaration) ? p.valueDeclaration.left : p.valueDeclaration; + context.addDiagnostic(createDiagnosticForNode( + errorTarget, + Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function + )); + } + }); + } + function reportInferenceFallback(node) { + if (!isolatedDeclarations || isSourceFileJS(currentSourceFile)) { + return; + } + if (isVariableDeclaration(node) && resolver.isExpandoFunctionDeclaration(node)) { + reportExpandoFunctionErrors(node); + } else { + context.addDiagnostic(getIsolatedDeclarationError(node)); + } + } function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives) { if (!typeReferenceDirectives) { return; @@ -100020,7 +101284,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, void 0, elem.propertyName, - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } return factory2.updateBindingElement( @@ -100028,7 +101292,7 @@ function transformDeclarations(context) { elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), - shouldPrintWithInitializer(elem) ? elem.initializer : void 0 + void 0 ); } } @@ -100053,11 +101317,15 @@ function transformDeclarations(context) { return newParam; } function shouldPrintWithInitializer(node) { - return canHaveLiteralInitializer(node) && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); + return canHaveLiteralInitializer(node) && !!node.initializer && resolver.isLiteralConstDeclaration(getParseTreeNode(node)); } function ensureNoInitializer(node) { if (shouldPrintWithInitializer(node)) { - return resolver.createLiteralConstValue(getParseTreeNode(node), symbolTracker); + const unwrappedInitializer = unwrapParenthesizedExpression(node.initializer); + if (!isPrimitiveLiteralValue(unwrappedInitializer)) { + reportInferenceFallback(node); + } + return resolver.createLiteralConstValue(getParseTreeNode(node, canHaveLiteralInitializer), symbolTracker); } return void 0; } @@ -100092,8 +101360,8 @@ function transformDeclarations(context) { } if (node.kind === 168 /* Parameter */ || node.kind === 171 /* PropertyDeclaration */ || node.kind === 170 /* PropertySignature */ || node.kind === 172 /* AnnotationPropertyDeclaration */) { if (isPropertySignature(node) || !node.initializer) - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } return cleanup(resolver.createReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); function cleanup(returnValue) { @@ -100358,6 +101626,14 @@ function transformDeclarations(context) { if (isDeclarationAndNotVisible(input)) return; if (hasDynamicName(input) && !resolver.isLateBound(getParseTreeNode(input))) { + if (isolatedDeclarations && isClassDeclaration(input.parent) && isEntityNameExpression(input.name.expression) && resolver.isEntityNameVisible(input.name.expression, input.parent).accessibility === 0 /* Accessible */ && !resolver.isNonNarrowedBindableName(input.name)) { + context.addDiagnostic( + createDiagnosticForNode( + input, + Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations + ) + ); + } return; } } @@ -100726,6 +102002,9 @@ function transformDeclarations(context) { } if (clean2 && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { const props = resolver.getPropertiesOfContainerFunction(input); + if (isolatedDeclarations) { + reportExpandoFunctionErrors(input); + } const fakespace = parseNodeFactory.createModuleDeclaration(void 0, clean2.name || factory2.createIdentifier("_default"), factory2.createModuleBlock([]), 16 /* Namespace */); setParent(fakespace, enclosingDeclaration); fakespace.locals = createSymbolTable(props); @@ -100736,7 +102015,12 @@ function transformDeclarations(context) { return void 0; } getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(p.valueDeclaration); - const type = resolver.createTypeOfDeclaration(p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags, symbolTracker); + const type = resolver.createTypeOfDeclaration( + p.valueDeclaration, + fakespace, + declarationEmitNodeBuilderFlags | -2147483648 /* NoSyntacticPrinter */, + symbolTracker + ); getSymbolAccessibilityDiagnostic = oldDiag; const nameStr = unescapeLeadingUnderscores(p.escapedName); const isNonContextualKeywordName = isStringANonContextualKeyword(nameStr); @@ -100981,12 +102265,26 @@ function transformDeclarations(context) { return cleanup(transformVariableStatement(input)); } case 269 /* EnumDeclaration */: { - return cleanup(factory2.updateEnumDeclaration(input, factory2.createNodeArray(ensureModifiers(input)), input.name, factory2.createNodeArray(mapDefined(input.members, (m) => { - if (shouldStripInternal(m)) - return; - const constValue = resolver.getConstantValue(m); - return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); - })))); + return cleanup(factory2.updateEnumDeclaration( + input, + factory2.createNodeArray(ensureModifiers(input)), + input.name, + factory2.createNodeArray(mapDefined(input.members, (m) => { + if (shouldStripInternal(m)) + return; + const enumValue = resolver.getEnumMemberValue(m); + const constValue = enumValue == null ? void 0 : enumValue.value; + if (isolatedDeclarations && m.initializer && (enumValue == null ? void 0 : enumValue.hasExternalReferences) && !isComputedPropertyName(m.name)) { + context.addDiagnostic( + createDiagnosticForNode( + m, + Diagnostics.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations + ) + ); + } + return preserveJsDoc(factory2.updateEnumMember(m, m.name, constValue !== void 0 ? typeof constValue === "string" ? factory2.createStringLiteral(constValue) : factory2.createNumericLiteral(constValue) : void 0), m); + })) + )); } } function cleanup(node) { @@ -101039,7 +102337,7 @@ function transformDeclarations(context) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = node.name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node))); + Debug.assert(hasDynamicName(node)); const decl = node; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); @@ -101982,7 +103280,7 @@ function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, decla const sourceFiles = isSourceFile(sourceFileOrBundle) ? [sourceFileOrBundle] : sourceFileOrBundle.sourceFiles; const filesForEmit = forceDtsEmit ? sourceFiles : filter(sourceFiles, isSourceFileNotJson); const inputListOrBundle = outFile(compilerOptions) ? [factory.createBundle(filesForEmit, !isSourceFile(sourceFileOrBundle) ? sourceFileOrBundle.prepends : void 0)] : filesForEmit; - if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions)) { + if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions) || compilerOptions.noCheck) { filesForEmit.forEach(collectLinkedAliases); } PerformanceDotting.start("transformNodes"); @@ -102191,6 +103489,7 @@ var notImplementedResolver = { isSymbolAccessible: notImplemented, isEntityNameVisible: notImplemented, getConstantValue: notImplemented, + getEnumMemberValue: notImplemented, getReferencedValueDeclaration: notImplemented, getTypeReferenceSerializationKind: notImplemented, isOptionalParameter: notImplemented, @@ -102200,6 +103499,7 @@ var notImplementedResolver = { getTypeReferenceDirectivesForEntityName: notImplemented, getTypeReferenceDirectivesForSymbol: notImplemented, isLiteralConstDeclaration: notImplemented, + isNonNarrowedBindableName: notImplemented, getJsxFactoryEntity: notImplemented, getJsxFragmentFactoryEntity: notImplemented, getAllAccessorDeclarations: notImplemented, @@ -109912,6 +111212,14 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "emitDeclarationOnly", "noEmit"); } } + if (options.noCheck) { + if (options.noEmit) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); + } + if (!options.emitDeclarationOnly) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "noCheck", "emitDeclarationOnly"); + } + } if (options.emitDecoratorMetadata && !options.experimentalDecorators) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"); } @@ -118196,7 +119504,8 @@ function createModuleSpecifierResolutionHost(program, host) { getProjectReferenceRedirect: (fileName) => program.getProjectReferenceRedirect(fileName), isSourceOfProjectReferenceRedirect: (fileName) => program.isSourceOfProjectReferenceRedirect(fileName), getNearestAncestorDirectoryWithPackageJson: maybeBind(host, host.getNearestAncestorDirectoryWithPackageJson), - getFileIncludeReasons: () => program.getFileIncludeReasons() + getFileIncludeReasons: () => program.getFileIncludeReasons(), + getCommonSourceDirectory: () => program.getCommonSourceDirectory() }; } function getModuleSpecifierResolverHost(program, host) { @@ -122354,6 +123663,34 @@ function canBeConvertedToAsync(node) { // src/services/transpile.ts function transpileModule(input, transpileOptions) { + return transpileWorker(input, transpileOptions, false); +} +function transpileDeclaration(input, transpileOptions) { + return transpileWorker(input, transpileOptions, true); +} +var barebonesLibContent = `/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number {} +interface Object {} +interface RegExp {} +interface String {} +interface Array { length: number; [n: number]: T; } +interface SymbolConstructor { + (desc?: string | number): symbol; + for(name: string): symbol; + readonly toStringTag: symbol; +} +declare var Symbol: SymbolConstructor; +interface Symbol { + readonly [Symbol.toStringTag]: string; +}`; +var barebonesLibName = "lib.d.ts"; +var barebonesLibSourceFile = createSourceFile(barebonesLibName, barebonesLibContent, { languageVersion: 99 /* Latest */ }); +function transpileWorker(input, transpileOptions, declaration) { const diagnostics = []; const options = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : {}; const defaultOptions = getDefaultCompilerOptions2(); @@ -122367,9 +123704,17 @@ function transpileModule(input, transpileOptions) { } options.suppressOutputPathCheck = true; options.allowNonTsExtensions = true; + if (declaration) { + options.declaration = true; + options.emitDeclarationOnly = true; + options.isolatedDeclarations = true; + options.noCheck = true; + } else { + options.declaration = false; + } const newLine = getNewLineCharacter(options); const compilerHost = { - getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : void 0, + getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : fileName === normalizePath(barebonesLibName) ? barebonesLibSourceFile : void 0, writeFile: (name, text) => { if (fileExtensionIs(name, ".map")) { Debug.assertEqual(sourceMapText, void 0, "Unexpected multiple source map outputs, file:", name); @@ -122379,12 +123724,12 @@ function transpileModule(input, transpileOptions) { outputText = text; } }, - getDefaultLibFileName: () => "lib.d.ts", + getDefaultLibFileName: () => barebonesLibName, useCaseSensitiveFileNames: () => false, getCanonicalFileName: (fileName) => fileName, getCurrentDirectory: () => "", getNewLine: () => newLine, - fileExists: (fileName) => fileName === inputFileName, + fileExists: (fileName) => fileName === inputFileName || !!declaration && fileName === barebonesLibName, readFile: () => "", directoryExists: () => true, getDirectories: () => [] @@ -122411,14 +123756,24 @@ function transpileModule(input, transpileOptions) { } let outputText; let sourceMapText; - const program = createProgram([inputFileName], options, compilerHost); + const inputs = declaration ? [inputFileName, barebonesLibName] : [inputFileName]; + const program = createProgram(inputs, options, compilerHost); if (transpileOptions.reportDiagnostics) { addRange(diagnostics, program.getSyntacticDiagnostics(sourceFile)); addRange(diagnostics, program.getOptionsDiagnostics()); } - program.emit(void 0, void 0, void 0, void 0, transpileOptions.transformers); - if (outputText === void 0) + const result = program.emit( + void 0, + void 0, + void 0, + declaration, + transpileOptions.transformers, + declaration + ); + addRange(diagnostics, result.diagnostics); + if (outputText === void 0) { return Debug.fail("Output generation failed"); + } return { outputText, diagnostics, sourceMapText }; } function transpile(input, compilerOptions, fileName, diagnostics, moduleName) { @@ -164302,6 +165657,7 @@ if (typeof console !== "undefined") { canHaveIllegalType, canHaveIllegalTypeParameters, canHaveModifiers, + canHaveSymbol, canJsonReportNoInputFiles, canProduceDiagnostics, canWatchDirectoryOrFile, @@ -164676,6 +166032,7 @@ if (typeof console !== "undefined") { createSwitch, createSymbolTable, createSymlinkCache, + createSyntacticTypeNodeBuilder, createSystemWatchFunctions, createTaggedTemplate, createTempVariable, @@ -164785,6 +166142,7 @@ if (typeof console !== "undefined") { escapeNonAsciiString, escapeSnippetText, escapeString, + evaluatorResult, every, expandPreOrPostfixIncrementOrDecrementExpression, explainFiles, @@ -165351,6 +166709,7 @@ if (typeof console !== "undefined") { hasExtension, hasIllegalDecorators, hasIndexSignature, + hasInferredType, hasInitializer, hasInvalidEscape, hasJSDocNodes, @@ -165569,6 +166928,7 @@ if (typeof console !== "undefined") { isExclamationToken, isExcludedFile, isExclusivelyTypeOnlyImportOrExport, + isExpandoPropertyDeclaration, isExportAssignment, isExportDeclaration, isExportModifier, @@ -165885,6 +167245,7 @@ if (typeof console !== "undefined") { isPossiblyTypeArgumentPosition, isPostfixUnaryExpression, isPrefixUnaryExpression, + isPrimitiveLiteralValue, isPrivateIdentifier, isPrivateIdentifierClassElementDeclaration, isPrivateIdentifierPropertyAccessExpression, @@ -166450,6 +167811,7 @@ if (typeof console !== "undefined") { transformTypeExportImportAndConstEnumInTypeScript, transformTypeScript, transpile, + transpileDeclaration, transpileModule, transpileOptionValueCompilerOptions, trimString, @@ -166499,6 +167861,7 @@ if (typeof console !== "undefined") { unreachableCodeIsError, unusedLabelIsError, unwrapInnermostStatementOfLabel, + unwrapParenthesizedExpression, updateArrayBindingPattern, updateArrayLiteral, updateArrayTypeNode, diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 5a0d3291b5..f14eb69e61 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -3399,6 +3399,7 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => { TypeFlags2[TypeFlags2["Nullable"] = 98304] = "Nullable"; TypeFlags2[TypeFlags2["Literal"] = 2944] = "Literal"; TypeFlags2[TypeFlags2["Unit"] = 109440] = "Unit"; + TypeFlags2[TypeFlags2["Freshable"] = 2976] = "Freshable"; TypeFlags2[TypeFlags2["StringOrNumberLiteral"] = 384] = "StringOrNumberLiteral"; TypeFlags2[TypeFlags2["StringOrNumberLiteralOrUnique"] = 8576] = "StringOrNumberLiteralOrUnique"; TypeFlags2[TypeFlags2["DefinitelyFalsy"] = 117632] = "DefinitelyFalsy"; @@ -4578,6 +4579,7 @@ var sys = (() => { resolvePath: (path3) => _path.resolve(path3), fileExists, directoryExists, + getAccessibleFileSystemEntries, createDirectory(directoryName) { if (!nodeSystem.directoryExists(directoryName)) { try { @@ -6798,6 +6800,7 @@ var Diagnostics = { Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, 3 /* Message */, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: diag(6719, 3 /* Message */, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."), Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, 3 /* Message */, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), + Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported: diag(6805, 3 /* Message */, "Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805", "Disable full type checking (only critical parse and emit errors will be reported)."), one_of_Colon: diag(6900, 3 /* Message */, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, 3 /* Message */, "one_or_more_Colon_6901", "one or more:"), type_Colon: diag(6902, 3 /* Message */, "type_Colon_6902", "type:"), @@ -12047,7 +12050,7 @@ function Signature2(checker, flags) { this.checker = checker; } } -function Node4(kind, pos, end) { +function Node5(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -12067,7 +12070,7 @@ function Token(kind, pos, end) { this.transformFlags = 0 /* None */; this.parent = void 0; } -function Identifier2(kind, pos, end) { +function Identifier3(kind, pos, end) { this.pos = pos; this.end = end; this.kind = kind; @@ -12084,11 +12087,11 @@ function SourceMapSource(fileName, text, skipTrivia2) { this.skipTrivia = skipTrivia2 || ((pos) => pos); } var objectAllocator = { - getNodeConstructor: () => Node4, + getNodeConstructor: () => Node5, getTokenConstructor: () => Token, - getIdentifierConstructor: () => Identifier2, - getPrivateIdentifierConstructor: () => Node4, - getSourceFileConstructor: () => Node4, + getIdentifierConstructor: () => Identifier3, + getPrivateIdentifierConstructor: () => Node5, + getSourceFileConstructor: () => Node5, getSymbolConstructor: () => Symbol4, getTypeConstructor: () => Type3, getSignatureConstructor: () => Signature2, @@ -26586,6 +26589,20 @@ var commandOptionsWithoutBuild = [ defaultValueDescription: false, description: Diagnostics.Disable_emitting_comments }, + { + name: "noCheck", + type: "boolean", + showInSimplifiedHelpView: false, + category: Diagnostics.Compiler_Diagnostics, + description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, + transpileOptionValue: void 0, + defaultValueDescription: false, + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, + extraValidation() { + return [Diagnostics.Unknown_compiler_option_0, "noCheck"]; + } + }, { name: "noEmit", type: "boolean", @@ -26635,6 +26652,15 @@ var commandOptionsWithoutBuild = [ transpileOptionValue: true, defaultValueDescription: false }, + { + name: "isolatedDeclarations", + type: "boolean", + category: Diagnostics.Interop_Constraints, + description: Diagnostics.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files, + defaultValueDescription: false, + affectsMultiFileEmitBuildInfo: true, + affectsSemanticDiagnostics: true + }, { name: "strict", type: "boolean", @@ -32395,6 +32421,7 @@ var CheckMode = /* @__PURE__ */ ((CheckMode3) => { return CheckMode3; })(CheckMode || {}); var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => { + SignatureCheckMode3[SignatureCheckMode3["None"] = 0] = "None"; SignatureCheckMode3[SignatureCheckMode3["BivariantCallback"] = 1] = "BivariantCallback"; SignatureCheckMode3[SignatureCheckMode3["StrictCallback"] = 2] = "StrictCallback"; SignatureCheckMode3[SignatureCheckMode3["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes"; @@ -34035,7 +34062,7 @@ function isInternalDeclaration(node, currentSourceFile) { return hasInternalAnnotation(range, currentSourceFile); }); } -var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; +var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | 2048 /* WriteClassExpressionAsTypeLiteral */ | 4096 /* UseTypeOfFunction */ | 8 /* UseStructuralFallback */ | 524288 /* AllowEmptyTuple */ | 1 /* AllowUnresolvedComputedNames */ | 4 /* GenerateNamesForShadowedTypeParams */ | 1 /* NoTruncation */; // src/compiler/transformer.ts function noEmitSubstitution(_hint, node) { diff --git a/src/compiler/_namespaces/ts.ts b/src/compiler/_namespaces/ts.ts index 55a6d48a79..b6000eea12 100644 --- a/src/compiler/_namespaces/ts.ts +++ b/src/compiler/_namespaces/ts.ts @@ -3,6 +3,7 @@ export * from "../corePublic"; export * from "../core"; export * from "../debug"; +export * from "../expressionToTypeNode"; export * from "../semver"; export * from "../performanceCore"; export * from "../performanceDotting"; diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7dabf33a08..ebcc748167 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1,1070 +1,1941 @@ import * as ts from "./_namespaces/ts"; import { __String, + AccessExpression, + AccessFlags, + AccessorDeclaration, + addRange, + addRelatedInfo, + addSyntheticLeadingComment, AllAccessorDeclarations, + and, + Annotation, + AnnotationDeclaration, + AnnotationElement, + AnnotationPropertyDeclaration, AnonymousType, + AnyImportOrReExport, + AnyImportSyntax, + append, + appendIfUnique, ArrayBindingPattern, + arrayFrom, + arrayIsHomogeneous, + ArrayLiteralExpression, + arrayOf, + arraysEqual, + arrayToMultiMap, ArrayTypeNode, + ArrowFunction, + AssertionExpression, + AssignmentDeclarationKind, + AssignmentKind, + AssignmentPattern, AwaitExpression, + BaseType, + BigIntLiteral, + BigIntLiteralType, + BinaryExpression, + BinaryOperatorToken, + binarySearch, BindableObjectDefinePropertyCall, + BindingElement, + BindingElementGrandparent, + BindingName, + BindingPattern, bindSourceFile, + Block, + BreakOrContinueStatement, + CallChain, + CallExpression, + CallLikeExpression, CallSignatureDeclaration, + CancellationToken, + canHaveDecorators, + canHaveExportModifier, + canHaveIllegalDecorators, canHaveIllegalModifiers, + canHaveModifiers, + + canHaveSymbol, cartesianProduct, + CaseBlock, + CaseClause, + CaseOrDefaultClause, + cast, chainDiagnosticMessages, + CharacterCodes, + CheckFlags, + checkStructPropertyPosition, + ClassDeclaration, + ClassElement, + ClassExpression, ClassLikeDeclaration, + ClassStaticBlockDeclaration, + clear, + combinePaths, + compareDiagnostics, + comparePaths, compareValues, + Comparison, + CompilerOptions, + ComputedPropertyName, + concatenate, + concatenateDiagnosticMessageChains, ConditionalExpression, + ConditionalRoot, + ConditionalType, + ConditionalTypeNode, + ConditionCheckResult, ConstructorDeclaration, + ConstructorTypeNode, + ConstructSignatureDeclaration, + contains, + containsParseError, ContextFlags, + copyEntries, + countWhere, + createBinaryExpressionTrampoline, + createCompilerDiagnostic, createDiagnosticCollection, + createDiagnosticForFileFromMessageChain, + createDiagnosticForNode, createDiagnosticForNodeArray, + createDiagnosticForNodeFromMessageChain, + createDiagnosticForNodeInSourceFile, createDiagnosticMessageChainFromDiagnostic, + createEmptyExports, + createFileDiagnostic, - createGetCanonicalFileName, + createGetSymbolWalker, + createPrinterWithDefaults, + createPrinterWithRemoveComments, + createPrinterWithRemoveCommentsNeverAsciiEscape, createPrinterWithRemoveCommentsOmitTrailingSemicolon, + createPropertyNameNodeForIdentifierOrLiteral, + createScanner, + createSymbolTable, + + createSyntacticTypeNodeBuilder, createTextWriter, createUnderscoreEscapedMultiMap, + Debug, + Declaration, + DeclarationName, + declarationNameToString, + DeclarationStatement, + DeclarationWithTypeParameterChildren, DeclarationWithTypeParameters, + Decorator, + deduplicate, + DefaultClause, + defaultMaximumTruncationLength, + DeferredTypeReference, + DeleteExpression, Diagnostic, + + DiagnosticArguments, DiagnosticCategory, + DiagnosticMessage, + DiagnosticMessageChain, + DiagnosticRelatedInformation, Diagnostics, + DiagnosticWithLocation, + DoStatement, + DynamicNamedDeclaration, + ElementAccessChain, ElementAccessExpression, + ElementFlags, + EmitFlags, + EmitHint, + EmitResolver, + EmitTextWriter, + emptyArray, + endsWith, EntityName, + EntityNameExpression, + EntityNameOrEntityNameExpression, + entityNameToString, + EnumDeclaration, + EnumKind, EnumMember, + + EnumType, equateValues, + escapeLeadingUnderscores, + escapeString, + ESMap, + EtsComponentExpression, - every, + + evaluatorResult, + EvaluatorResult, + every, EvolvingArrayType, + ExclamationToken, + ExportAssignment, + exportAssignmentIsAlias, + ExportDeclaration, + ExportSpecifier, Expression, + expressionResultIsUnused, + ExpressionStatement, + ExpressionWithTypeArguments, + Extension, ExternalEmitHelpers, + externalHelpersModuleNameText, + factory, + FileCheckModuleInfo, + fileExtensionIs, fileExtensionIsOneOf, + filter, + find, + findAncestor, + findBestPatternMatch, + findIndex, + findLast, + findLastIndex, findUseStrictPrologue, + first, + firstDefined, + firstOrUndefined, + flatMap, + flatten, + FlowArrayMutation, + FlowAssignment, FlowCall, + FlowCondition, + FlowFlags, + FlowLabel, + FlowNode, + FlowReduceLabel, + FlowStart, + FlowSwitchClause, + FlowType, forEach, + forEachChild, + forEachChildRecursively, + forEachEnclosingBlockScopeContainer, + forEachEntry, forEachImportClauseDeclaration, + forEachKey, + forEachReturnStatement, + forEachYieldExpression, + ForInOrOfStatement, ForInStatement, + formatMessage, + ForOfStatement, + ForStatement, + FreshableIntrinsicType, + FreshableType, FreshObjectLiteralType, + FunctionDeclaration, + FunctionExpression, + FunctionFlags, + FunctionLikeDeclaration, FunctionTypeNode, + GenericType, + GetAccessorDeclaration, + getAliasDeclarationFromName, + getAllAccessorDeclarations, getAllDecorators, + getAllowSyntheticDefaultImports, + getAncestor, + getAssignedExpandoInitializer, getAssignmentDeclarationKind, + getAssignmentDeclarationPropertyAccessKind, + getAssignmentTargetKind, + getCheckFlags, getClassExtendsHeritageElement, + getClassLikeDeclarationOfSymbol, + getCombinedLocalAndExportSymbolFlags, getCombinedModifierFlags, + getCombinedNodeFlags, + getContainingClass, + getContainingFunction, getContainingFunctionOrClassStaticBlock, + getContainingStruct, + getDeclarationModifierFlagsFromSymbol, getDeclarationOfKind, + getDeclarationsOfKind, + getDeclaredExpandoInitializer, + getDirectoryPath, getEffectiveBaseTypeNode, + getEffectiveConstraintOfTypeParameter, + getEffectiveContainerForJSDocTemplateTag, getEffectiveImplementsTypeNodes, + getEffectiveInitializer, + getEffectiveJSDocHost, + getEffectiveModifierFlags, getEffectiveReturnTypeNode, + getEffectiveSetAccessorTypeAnnotationNode, + getEffectiveTypeAnnotationNode, getEffectiveTypeParameterDeclarations, + getElementOrPropertyAccessName, + getEmitDeclarations, + + getEmitFlags, getEmitModuleKind, getEmitModuleResolutionKind, + getEmitScriptTarget, + getEnclosingBlockScopeContainer, + getEntityNameFromTypeNode, getEntries, + getErrorSpanForNode, + getEscapedTextOfIdentifierOrLiteral, + getESModuleInterop, getEtsComponentExpressionInnerCallExpressionNode, + getEtsComponentExpressionInnerExpressionStatementNode, getEtsExtendDecoratorsComponentNames, + getEtsLibs, + getEtsStylesDecoratorComponentNames, + getExpandoInitializer, getExportAssignmentExpression, + getExternalModuleImportEqualsDeclarationExpression, + getExternalModuleName, getExternalModuleRequireArgument, + getFirstConstructorWithBody, + getFirstIdentifier, + getFunctionFlags, getHostSignatureFromJSDoc, + getImmediatelyInvokedFunctionExpression, + getInitializerOfBinaryExpression, getInterfaceBaseTypeNodes, + getInvokedExpression, + getJSDocClassTag, + getJSDocDeprecatedTag, + getJSDocEnumTag, getJSDocHost, + getJSDocParameterTags, + getJSDocRoot, + getJSDocTags, + getJSDocThisTag, + getJSDocType, getJSDocTypeAssertionType, + getJSDocTypeParameterDeclarations, + getJSDocTypeTag, + getJSXImplicitImportBase, getJSXRuntimeImport, + getJSXTransformEnabled, + getLeftmostAccessExpression, + getLineAndCharacterOfPosition, getLocalSymbolForExportDefault, + getMaxFlowDepth, + getMembersOfDeclaration, + getModeForUsageLocation, + getModifiers, getModuleInstanceState, + getNameFromIndexInfo, + getNameOfDeclaration, + getNameOfDecorator, + getNameOfExpando, getNamespaceDeclarationNode, + getNewTargetContainer, + getNonAugmentationDeclaration, + getNormalizedAbsolutePath, getObjectFlags, + getOriginalNode, + getOrUpdate, + getOwnKeys, + getPackageJsonByPMType, + getParameterSymbolFromJSDoc, getParseTreeNode, + getPropertyAssignmentAliasLikeExpression, + getPropertyNameForPropertyNameNode, getResolutionDiagnostic, + getResolutionModeOverrideForClause, - getResolvedExternalModuleName, + + getResolvedModule, getRestParameterElementType, + getRootDeclaration, + getRootEtsComponentInnerCallExpressionNode, getScriptTargetFeatures, + getSelectedEffectiveModifierFlags, + getSemanticJsxChildren, + getSetAccessorValueParameter, getSingleVariableOfVariableStatement, + getSourceFileOfModule, + getSourceFileOfNode, + getSpanOfTokenAtPosition, getSpellingSuggestion, + getStrictOptionValue, + getSuperContainer, + getSymbolNameForPrivateIdentifier, getTextOfIdentifierOrLiteral, + getTextOfJSDocComment, + getTextOfNode, + getTextOfPropertyName, + getThisContainer, getThisParameter, + getTrailingSemicolonDeferringWriter, + getTypeParameterFromJsDoc, + getTypesPackageName, getUseDefineForClassFields, + group, + hasAbstractModifier, + hasAccessorModifier, + hasAmbientModifier, + hasAnnotations, hasContextSensitiveParameters, + hasDecorators, + HasDecorators, + hasDynamicName, + hasEffectiveModifier, hasEffectiveModifiers, + hasEffectiveReadonlyModifier, + hasEtsStylesDecoratorNames, + HasExpressionInitializer, hasExtension, + HasIllegalDecorators, + HasIllegalModifiers, + + hasInferredType, hasInitializer, + HasInitializer, + hasJSDocNodes, hasJSDocParameterTags, + hasJSFileExtension, + hasJsonModuleEmitEnabled, + HasModifiers, + hasOnlyExpressionInitializer, hasOverrideModifier, + hasPossibleExternalModuleReference, + hasQuestionToken, + hasRestParameter, + hasScopeMarker, hasStaticModifier, + hasSyntacticModifier, + hasSyntacticModifiers, + HeritageClause, + Identifier, + IdentifierTypePredicate, idText, + IfStatement, + ImportCall, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportOrExportSpecifier, ImportsNotUsedAsValues, + ImportSpecifier, + ImportTypeAssertionContainer, + ImportTypeNode, + IncompleteType, IndexedAccessType, + IndexedAccessTypeNode, + IndexInfo, + IndexKind, + indexOfNode, + IndexSignatureDeclaration, + IndexType, indicesOf, + InferenceContext, + InferenceFlags, + InferenceInfo, + InferencePriority, + InferTypeNode, + InstantiableType, InstantiationExpressionType, + InterfaceDeclaration, + InterfaceType, + InterfaceTypeWithDeclaredMembers, InternalSymbolName, + IntersectionType, + IntersectionTypeNode, + IntrinsicType, + introducesArgumentsExoticObject, isAccessExpression, + isAccessor, + isAliasableExpression, + isAmbientModule, + isAnnotation, + isAnnotationDeclaration, isAnnotationPropertyDeclaration, + isArkTsDecorator, + isArray, + isArrayBindingPattern, + isArrayLiteralExpression, isArrowFunction, + isAssertionExpression, + isAssignmentDeclaration, isAssignmentExpression, + isAssignmentOperator, + isAssignmentPattern, + isAssignmentTarget, isAutoAccessorPropertyDeclaration, + isBinaryExpression, + isBindableObjectDefinePropertyCall, isBindableStaticElementAccessExpression, + isBindableStaticNameExpression, + isBindingElement, + isBindingPattern, isBlock, + isBlockOrCatchScoped, + isBlockScopedContainerTopLevel, + isCallChain, + isCalledStructDeclaration, isCallExpression, + isCallLikeExpression, + isCallOrNewExpression, + isCallSignatureDeclaration, + isCatchClause, isCatchClauseVariableDeclarationOrBindingElement, + isCheckJsEnabledForFile, + isChildOfNodeWithKind, isClassDeclaration, + isClassElement, + isClassExpression, + isClassLike, + isClassStaticBlockDeclaration, + isCommaSequence, isCommonJsExportedExpression, + isCommonJsExportPropertyAssignment, + isComputedNonLiteralName, + isComputedPropertyName, + isConditionalTypeNode, isConstructorDeclaration, + isConstructorTypeNode, + isConstTypeReference, + isDeclaration, + isDeclarationName, isDeclarationReadonly, + isDecorator, + isDecoratorOrAnnotation, + isDefaultedExpandoInitializer, + isDeleteTarget, + isDottedName, + isDynamicName, isEffectiveExternalModule, + isElementAccessExpression, + isEntityName, + isEntityNameExpression, + isEnumConst, isEnumDeclaration, + isEnumMember, + isEtsComponentExpression, + isEtsFunctionDecorators, isExclusivelyTypeOnlyImportOrExport, + + isExpandoPropertyDeclaration, isExportAssignment, + isExportDeclaration, + isExportsIdentifier, isExportSpecifier, + isExpression, + isExpressionNode, + isExpressionOfOptionalChainRoot, + isExpressionStatement, isExpressionWithTypeArguments, + isExpressionWithTypeArgumentsInClassExtendsClause, + isExternalModule, isExternalModuleAugmentation, + isExternalModuleImportEqualsDeclaration, + isExternalModuleIndicator, isExternalModuleNameRelative, + isExternalModuleReference, + isExternalOrCommonJsModule, + isForInOrOfStatement, isForInStatement, + isForOfStatement, + isForStatement, + isFunctionDeclaration, + isFunctionExpression, isFunctionExpressionOrArrowFunction, + isFunctionLike, + isFunctionLikeDeclaration, isFunctionLikeOrClassStaticBlockDeclaration, + isFunctionOrModuleBlock, + isFunctionTypeNode, + isGeneratedIdentifier, isGetAccessor, + isGetAccessorDeclaration, + isGetOrSetAccessorDeclaration, + isGlobalScopeAugmentation, + isHeritageClause, isIdentifier, + isIdentifierStart, + isIdentifierText, + isIdentifierTypePredicate, + isIdentifierTypeReference, isIfStatement, + isImportCall, + isImportClause, + isImportDeclaration, + isImportEqualsDeclaration, + isImportKeyword, isImportOrExportSpecifier, + isImportSpecifier, + isImportTypeNode, + isInBuildOrPageTransitionContext, isIndexedAccessTypeNode, + isInEtsFile, + isInETSFile, + isInExpressionContext, + isInfinityOrNaNString, + isInJSDoc, isInJSFile, + isInJsonFile, + isInterfaceDeclaration, + isInternalModuleImportEqualsDeclaration, + isInTopLevelContext, isIntrinsicJsxName, + isIterationStatement, + isJSDocAllType, + isJSDocAugmentsTag, + isJSDocCallbackTag, isJSDocConstructSignature, + isJSDocFunctionType, + isJSDocIndexSignature, + isJSDocLinkLike, + isJSDocMemberName, isJSDocNameReference, + isJSDocNode, + isJSDocNonNullableType, + isJSDocNullableType, + isJSDocOptionalType, isJSDocParameterTag, + isJSDocPropertyLikeTag, + isJSDocReturnTag, + isJSDocSignature, + isJSDocTemplateTag, isJSDocTypeAlias, + isJSDocTypeAssertion, + isJSDocTypedefTag, + isJSDocTypeExpression, + isJSDocTypeLiteral, isJSDocTypeTag, + isJSDocUnknownType, + isJSDocVariadicType, + isJsonSourceFile, + isJsxAttribute, + isJsxAttributeLike, isJsxAttributes, + isJsxElement, + isJsxOpeningElement, + isJsxOpeningFragment, + isJsxOpeningLikeElement, isJsxSelfClosingElement, + isJsxSpreadAttribute, + isJSXTagName, + isKnownSymbol, + isLateVisibilityPaintedStatement, isLeftHandSideExpression, + isLet, + isLineBreak, + isLiteralComputedPropertyDeclarationName, - isLiteralExpression, + isLiteralExpressionOfObject, + isLiteralImportTypeNode, + isLiteralTypeNode, + + isMappedTypeNode, isMetaProperty, + isMethodDeclaration, isMethodSignature, + isModifier, + isModuleBlock, + isModuleDeclaration, + isModuleExportsAccessExpression, isModuleIdentifier, + isModuleOrEnumDeclaration, + isModuleWithStringLiteralName, + isNamedDeclaration, + isNamedExports, isNamedTupleMember, + isNamespaceExport, + isNamespaceExportDeclaration, + isNamespaceReexportDeclaration, isNewExpression, + isNightly, + isNodeDescendantOf, + isNullishCoalesce, + isNumericLiteral, + isNumericLiteralName, isObjectBindingPattern, + isObjectLiteralElementLike, + isObjectLiteralExpression, + isObjectLiteralMethod, isObjectLiteralOrClassExpressionMethodOrAccessor, + isOHModules, + isOhpmAndOhModules, + isOmittedExpression, isOptionalChain, + isOptionalChainRoot, + isOptionalTypeNode, + isOutermostOptionalChain, + isParameter, isParameterDeclaration, + isParameterOrCatchClauseVariable, + isParameterPropertyDeclaration, + isParenthesizedExpression, isParenthesizedTypeNode, + isPartOfTypeNode, + isPartOfTypeQuery, + isPlainJsFile, + isPrefixUnaryExpression, isPrivateIdentifier, + isPrivateIdentifierClassElementDeclaration, + isPrivateIdentifierPropertyAccessExpression, isPropertyAccessEntityNameExpression, + isPropertyAccessExpression, + isPropertyAccessOrQualifiedNameOrImportTypeNode, isPropertyAssignment, + isPropertyDeclaration, + isPropertyName, + isPropertyNameLiteral, + isPropertySignature, isPrototypeAccess, + isPrototypePropertyAssignment, + isPushOrUnshiftIdentifier, + isQualifiedName, + isRequireCall, isRestParameter, + isRestTypeNode, + isRightSideOfAccessExpression, + isRightSideOfQualifiedNameOrPropertyAccess, isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName, + isSameEntityName, + isSendableFunctionOrType, isSetAccessor, + isShorthandAmbientModuleSymbol, + isShorthandPropertyAssignment, + isSingleOrDoubleQuote, + isSourceFile, isSourceFileJS, + isSpreadAssignment, + isSpreadElement, + isStatement, + isStatementWithLocals, + isStatic, + isString, isStringANonContextualKeyword, + isStringLiteral, + isStringLiteralLike, + isStringOrNumericLiteralLike, + isSuperCall, isSuperProperty, + isTaggedTemplateExpression, + isTemplateSpan, + isThisContainerOrFunctionBlock, + isThisIdentifier, isThisInitializedDeclaration, + isThisInitializedObjectBindingExpression, + isThisInTypeQuery, + isThisProperty, isThisTypeParameter, + isTokenInsideBuilder, + isTransientSymbol, + isTupleTypeNode, + isTypeAlias, + isTypeAliasDeclaration, isTypeDeclaration, + isTypeLiteralNode, + isTypeNode, + isTypeNodeKind, + isTypeOfExpression, isTypeOnlyImportOrExportDeclaration, + isTypeOperatorNode, + isTypeParameterDeclaration, + isTypePredicateNode, isTypeQueryNode, + isTypeReferenceNode, + isTypeReferenceType, + isUMDExportSymbol, + isValidESSymbolDeclaration, isValidTypeOnlyAliasUseSite, + isValueSignatureDeclaration, + isVarConst, + isVariableDeclaration, isVariableDeclarationInitializedToBareOrAccessedRequire, + isVariableDeclarationInVariableStatement, isVariableDeclarationList, + isVariableLike, + isVariableLikeOrAccessor, + isVariableStatement, + isWriteAccess, isWriteOnlyAccess, + IterableOrIteratorType, + IterationTypes, + JSDoc, + JSDocAugmentsTag, + JSDocCallbackTag, + JSDocComment, JSDocContainer, + JSDocEnumTag, + JSDocFunctionType, + JSDocImplementsTag, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, JSDocMemberName, + JsDocNodeCheckConfigItem, + JSDocNullableType, + JSDocOptionalType, + JSDocParameterTag, + JSDocPrivateTag, JSDocPropertyLikeTag, + JSDocPropertyTag, + JSDocProtectedTag, + JSDocPublicTag, + JSDocSignature, + JSDocTag, + JsDocTagInfo, JSDocTemplateTag, + JSDocTypedefTag, + JSDocTypeExpression, + JSDocTypeReferencingNode, + JSDocTypeTag, + JSDocVariadicType, JsxAttribute, + JsxAttributeLike, + JsxAttributes, + + JsxAttributeValue, JsxChild, + JsxClosingElement, + JsxElement, + JsxEmit, + JsxExpression, JsxFlags, + JsxFragment, + JsxOpeningElement, + JsxOpeningFragment, + JsxOpeningLikeElement, + JsxReferenceKind, JsxSelfClosingElement, + JsxSpreadAttribute, + JsxTagNameExpression, + KeywordTypeNode, + LabeledStatement, + last, lastOrUndefined, + LateBoundBinaryExpressionDeclaration, + LateBoundDeclaration, + LateBoundName, LateVisibilityPaintedStatement, + LeftHandSideExpression, + length, + LiteralExpression, + LiteralType, + LiteralTypeNode, mangleScopedPackageName, + map, + Map, + mapDefined, + MappedSymbol, + MappedType, + MappedTypeNode, + MatchingKeys, + maybeBind, MemberName, + MemberOverrideStatus, + memoize, + MemoryDotting, + MetaProperty, + MethodDeclaration, + MethodSignature, minAndMax, + MinusToken, + Modifier, + ModifierFlags, + modifiersToFlags, + modifierToFlag, + ModuleBlock, + ModuleDeclaration, ModuleInstanceState, + ModuleKind, + ModuleResolutionKind, + + ModuleSpecifierResolutionHost, Mutable, + NamedDeclaration, + NamedExports, NamedImportsOrExports, + NamedTupleMember, + NamespaceDeclaration, + NamespaceExport, + NamespaceExportDeclaration, NamespaceImport, + needsScopeMarker, + NewExpression, + Node, + NodeArray, + NodeBuilderFlags, + nodeCanBeDecorated, NodeCheckFlags, + NodeFlags, + nodeHasName, + nodeIsDecorated, + nodeIsMissing, + nodeIsPresent, + nodeIsSynthesized, + NodeLinks, nodeStartsNewLexicalEnvironment, + NodeWithTypeArguments, + NonNullChain, + NonNullExpression, + not, noTruncationMaximumTruncationLength, + nullTransformationContext, + NumberLiteralType, + NumericLiteral, + objectAllocator, ObjectBindingPattern, + ObjectFlags, + ObjectFlagsType, + ObjectLiteralElementLike, + ObjectLiteralExpression, + ObjectType, OptionalChain, + OptionalTypeNode, + or, + orderedRemoveItemAt, + OuterExpressionKinds, + outFile, + ParameterDeclaration, parameterIsThisKeyword, + ParameterPropertyDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, parseIsolatedEntityName, + parseNodeFactory, + parsePseudoBigInt, + Path, + pathIsRelative, + PatternAmbientModule, + PerformanceDotting, + PlusToken, PostfixUnaryExpression, + PrefixUnaryExpression, + PrivateIdentifier, + Program, + PromiseOrAwaitableType, PropertyAccessChain, + PropertyAccessEntityNameExpression, + PropertyAccessExpression, + PropertyAssignment, PropertyDeclaration, + PropertyName, + PropertySignature, + PseudoBigInt, + pseudoBigIntToString, + pushIfUnique, QualifiedName, + QuestionToken, + rangeEquals, + rangeOfNode, + rangeOfTypeParameters, + ReadonlyESMap, + ReadonlyKeyword, reduceLeft, + RelationComparisonResult, + relativeComplement, + removeExtension, + removePrefix, + replaceElement, + REQUIRE_DECORATOR, resolutionExtensionIsTSOrJson, + ResolvedModuleFull, + ResolvedType, + resolvePath, + resolveTripleslashReference, resolvingEmptyArray, + RestTypeNode, + ReturnStatement, + ReverseMappedSymbol, + ReverseMappedType, + sameMap, SatisfiesExpression, + ScriptKind, + ScriptTarget, + Set, + SetAccessorDeclaration, + setCommentRange, + setEmitFlags, setNodeFlags, + setOriginalNode, + setParent, + setSyntheticLeadingComments, - setTextRange, + + setTextRange as setTextRangeWorker, + setTextRangePosEnd, setValueDeclaration, + ShorthandPropertyAssignment, + shouldPreserveConstEnums, + Signature, + SignatureDeclaration, SignatureFlags, + SignatureKind, + singleElementArray, + skipOuterExpressions, + skipParentheses, + skipTrivia, skipTypeChecking, + some, + SourceFile, + SpreadAssignment, + SpreadElement, + startsWith, + Statement, + stringContains, StringLiteral, + StringLiteralLike, + StringLiteralType, + StringMappingType, + stripQuotes, + StructDeclaration, StructuredType, + SubstitutionType, + sum, + SuperCall, + SwitchStatement, + Symbol, + SymbolAccessibility, SymbolAccessibilityResult, + SymbolFlags, + SymbolFormatFlags, + SymbolId, + SymbolLinks, + symbolName, + SymbolTable, SymbolTracker, + SymbolVisibilityResult, + SyntaxKind, + SyntheticDefaultModuleType, + SyntheticExpression, + sys, TaggedTemplateExpression, + TemplateExpression, + TemplateLiteralType, + TemplateLiteralTypeNode, + Ternary, textRangeContainsPositionInclusive, + TextSpan, + textSpanContainsPosition, + textSpanEnd, + ThisExpression, + ThisTypeNode, ThrowStatement, + TokenFlags, + tokenToString, + tracing, + TracingNode, + + TrackedSymbol, TransientSymbol, + tryAddToSet, + tryCast, tryExtractTSExtension, + tryGetClassImplementingOrExtendingExpressionWithTypeArguments, + tryGetExtensionFromPath, tryGetModuleSpecifierFromDeclaration, + tryGetPropertyAccessOrIdentifierToString, + tryGetTextOfPropertyName, + TryStatement, + TupleType, TupleTypeNode, + TupleTypeReference, + Type, + TypeAliasDeclaration, + TypeAssertion, + TypeChecker, + TypeCheckerHost, TypeComparer, + TypeElement, + TypeFlags, + TypeFormatFlags, + TypeId, + TypeLiteralNode, + TypeMapKind, + TypeMapper, + TypeNode, TypeNodeSyntaxKind, + TypeOfExpression, + TypeOnlyAliasDeclaration, + TypeOnlyCompatibleAliasDeclaration, TypeOperatorNode, + TypeParameter, + TypeParameterDeclaration, + TypePredicate, + TypePredicateKind, + TypePredicateNode, TypeQueryNode, + TypeReference, + TypeReferenceNode, + TypeReferenceSerializationKind, + TypeReferenceType, + TypeVariable, UnaryExpression, + UnderscoreEscapedMap, + unescapeLeadingUnderscores, + UnionOrIntersectionType, UnionOrIntersectionTypeNode, + UnionReduction, + UnionType, + UnionTypeNode, + UniqueESSymbolType, usingSingleLineStringWriter, + VariableDeclaration, + VariableDeclarationList, + VariableLikeDeclaration, VariableStatement, + VarianceFlags, + visitEachChild, + visitNode, + visitNodes, + Visitor, + VisitResult, + VoidExpression, walkUpBindingElementsAndPatterns, + walkUpParenthesizedExpressions, + walkUpParenthesizedTypes, walkUpParenthesizedTypesAndGetParentAndChild, + WhileStatement, + WideningContext, + WithStatement, + YieldExpression, } from "./_namespaces/ts"; import * as performance from "./_namespaces/ts.performance"; @@ -1258,6 +2129,7 @@ export const enum CheckMode { /** @internal */ export const enum SignatureCheckMode { + None = 0, BivariantCallback = 1 << 0, StrictCallback = 1 << 1, IgnoreReturnTypes = 1 << 2, @@ -1467,6 +2339,17 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); var nodeBuilder = createNodeBuilder(); + var syntacticNodeBuilder = createSyntacticTypeNodeBuilder(compilerOptions, { + isEntityNameVisible, + isExpandoFunctionDeclaration, + isNonNarrowedBindableName, + getAllAccessorDeclarations: getAllAccessorDeclarationsForDeclaration, + requiresAddingImplicitUndefined, + isUndefinedIdentifierExpression(node: Identifier) { + Debug.assert(isExpressionNode(node)); + return getSymbolAtLocation(node) === undefinedSymbol; + }, + }); var globals = createSymbolTable(); var undefinedSymbol = createSymbol(SymbolFlags.Property, "undefined" as __String); @@ -5587,6 +6470,12 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return result; } + function createTypeWithSymbol(flags: TypeFlags, symbol: Symbol): Type { + const result = createType(flags); + result.symbol = symbol; + return result; + } + function createOriginType(flags: TypeFlags): Type { return new Type(checker, flags); } @@ -5599,9 +6488,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function createObjectType(objectFlags: ObjectFlags, symbol?: Symbol): ObjectType { - const type = createType(TypeFlags.Object) as ObjectType; + const type = createTypeWithSymbol(TypeFlags.Object, symbol!) as ObjectType; type.objectFlags = objectFlags; - type.symbol = symbol!; type.members = undefined; type.properties = undefined; type.callSignatures = undefined; @@ -5615,9 +6503,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function createTypeParameter(symbol?: Symbol) { - const type = createType(TypeFlags.TypeParameter) as TypeParameter; - if (symbol) type.symbol = symbol; - return type; + return createTypeWithSymbol(TypeFlags.TypeParameter, symbol!) as TypeParameter; } // A reserved member name starts with two underscores, but the third character cannot be an underscore, @@ -6102,7 +6988,41 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } - function isEntityNameVisible(entityName: EntityNameOrEntityNameExpression, enclosingDeclaration: Node): SymbolVisibilityResult { + function getMeaningOfEntityNameReference(entityName: EntityNameOrEntityNameExpression): SymbolFlags { + // get symbol of the first identifier of the entityName + let meaning: SymbolFlags; + if ( + entityName.parent.kind === SyntaxKind.TypeQuery || + entityName.parent.kind === SyntaxKind.ExpressionWithTypeArguments && !isPartOfTypeNode(entityName.parent) || + entityName.parent.kind === SyntaxKind.ComputedPropertyName || + entityName.parent.kind === SyntaxKind.TypePredicate && (entityName.parent as TypePredicateNode).parameterName === entityName + ) { + // Typeof value + meaning = SymbolFlags.Value | SymbolFlags.ExportValue; + } + else if ( + entityName.kind === SyntaxKind.QualifiedName || entityName.kind === SyntaxKind.PropertyAccessExpression || + entityName.parent.kind === SyntaxKind.ImportEqualsDeclaration || + (entityName.parent.kind === SyntaxKind.QualifiedName && (entityName.parent as QualifiedName).left === entityName) || + (entityName.parent.kind === SyntaxKind.PropertyAccessExpression && (entityName.parent as PropertyAccessExpression).expression === entityName) || + (entityName.parent.kind === SyntaxKind.ElementAccessExpression && (entityName.parent as ElementAccessExpression).expression === entityName) + ) { + // Left identifier from type reference or TypeAlias + // Entity name of the import declaration + meaning = SymbolFlags.Namespace; + } + else { + // Type Reference or TypeAlias entity = Identifier + meaning = SymbolFlags.Type; + } + return meaning; + } + + function isEntityNameVisible( + entityName: EntityNameOrEntityNameExpression, + enclosingDeclaration: Node, + shouldComputeAliasToMakeVisible = true + ): SymbolVisibilityResult { // get symbol of the first identifier of the entityName let meaning: SymbolFlags; if (entityName.parent.kind === SyntaxKind.TypeQuery || @@ -6132,7 +7052,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } // Verify if the symbol is accessible - return (symbol && hasVisibleDeclarations(symbol, /*shouldComputeAliasToMakeVisible*/ true)) || { + return (symbol && hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible)) || { accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier @@ -6252,12 +7172,133 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: withContext(enclosingDeclaration, flags, tracker, context => symbolToParameterDeclaration(symbol, context)), typeParameterToDeclaration: (parameter: TypeParameter, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => typeParameterToDeclaration(parameter, context)), - symbolTableToDeclarationStatements: (symbolTable: SymbolTable, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker, bundled?: boolean) => - withContext(enclosingDeclaration, flags, tracker, context => symbolTableToDeclarationStatements(symbolTable, context, bundled)), + symbolTableToDeclarationStatements: (symbolTable: SymbolTable, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => + withContext(enclosingDeclaration, flags, tracker, context => symbolTableToDeclarationStatements(symbolTable, context)), symbolToNode: (symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => symbolToNode(symbol, context, meaning)), + serializeTypeForDeclaration: (declaration: Declaration, type: Type, symbol: Symbol, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => + withContext(enclosingDeclaration, flags, tracker, context => serializeTypeForDeclaration(context, declaration, type, symbol)), + serializeReturnTypeForSignature: (signature: Signature, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => + withContext(enclosingDeclaration, flags, tracker, context => serializeReturnTypeForSignature(context, signature)), + expressionOrTypeToTypeNode: (expr: Expression | JsxAttributeValue | undefined, type: Type, addUndefined?: boolean, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => + withContext(enclosingDeclaration, flags, tracker, context => expressionOrTypeToTypeNode(context, expr, type, addUndefined)) }; + /** + * Unlike the utilities `setTextRange`, this checks if the `location` we're trying to set on `range` is within the + * same file as the active context. If not, the range is not applied. This prevents us from copying ranges across files, + * which will confuse the node printer (as it assumes all node ranges are within the current file). + * Additionally, if `range` _isn't synthetic_, and isn't in the current file, it will _copy_ it to _remove_ its' position + * information. + * + * It also calls `setOriginalNode` to setup a `.original` pointer, since you basically *always* want these in the node builder. + */ + function setTextRange(context: NodeBuilderContext, range: T, location: Node | undefined): T { + if ( + !nodeIsSynthesized(range) && + !(range.flags & NodeFlags.Synthesized) && + (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range)) + ) { + range = factory.cloneNode(range); + } + if (!location) { + return range; + } + if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location))) { + return setOriginalNode(range, location); + } + return setTextRangeWorker(setOriginalNode(range, location), location); + } + + /** + * Same as expressionOrTypeToTypeNodeHelper, but also checks if the expression can be syntactically typed. + */ + function expressionOrTypeToTypeNode( + context: NodeBuilderContext, + expr: Expression | JsxAttributeValue | undefined, + type: Type, addUndefined?: boolean + ): TypeNode { + const oldFlags = context.flags; + if (expr && !(context.flags & NodeBuilderFlags.NoSyntacticPrinter)) { + syntacticNodeBuilder.serializeTypeOfExpression(expr, context, addUndefined); + } + context.flags |= NodeBuilderFlags.NoSyntacticPrinter; + const result = expressionOrTypeToTypeNodeHelper(context, expr, type, addUndefined); + context.flags = oldFlags; + return result; + } + + function expressionOrTypeToTypeNodeHelper( + context: NodeBuilderContext, + expr: Expression | JsxAttributeValue | undefined, + type: Type, + addUndefined?: boolean + ): TypeNode { + if (expr) { + const typeNode = isAssertionExpression(expr) ? expr.type + : isJSDocTypeAssertion(expr) ? getJSDocTypeAssertionType(expr) + : undefined; + if (typeNode && !isConstTypeReference(typeNode)) { + const result = tryReuseExistingTypeNode(context, typeNode, type, expr.parent, addUndefined); + if (result) { + return result; + } + } + } + + if (addUndefined) { + type = getOptionalType(type); + } + + return typeToTypeNodeHelper(type, context); + } + + function tryReuseExistingTypeNode( + context: NodeBuilderContext, + typeNode: TypeNode, + type: Type, + host: Node, + addUndefined?: boolean, + ): TypeNode | undefined { + const originalType = type; + if (addUndefined) { + type = getOptionalType(type); + } + const clone = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host); + if (clone) { + if (addUndefined && !someType(getTypeFromTypeNode(typeNode), t => !!(t.flags & TypeFlags.Undefined))) { + return factory.createUnionTypeNode([clone, factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)]); + } + return clone; + } + if (addUndefined && originalType !== type) { + const cloneMissingUndefined = tryReuseExistingNonParameterTypeNode(context, typeNode, originalType, host); + if (cloneMissingUndefined) { + return factory.createUnionTypeNode([cloneMissingUndefined, factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)]); + } + } + return undefined; + } + + function tryReuseExistingNonParameterTypeNode( + context: NodeBuilderContext, + existing: TypeNode, + type: Type, + host = context.enclosingDeclaration, + annotationType?: Type, + ): TypeNode | undefined { + if ( + typeNodeIsEquivalentToType(existing, host, type, annotationType) && + existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) + ) { + const result = tryReuseExistingTypeNodeHelper(context, existing); + if (result) { + return result; + } + } + return undefined; + } + function symbolToNode(symbol: Symbol, context: NodeBuilderContext, meaning: SymbolFlags) { if (context.flags & NodeBuilderFlags.WriteComputedProps) { if (symbol.valueDeclaration) { @@ -6275,31 +7316,25 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: function withContext(enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined, tracker: SymbolTracker | undefined, cb: (context: NodeBuilderContext) => T): T | undefined { Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & NodeFlags.Synthesized) === 0); + const moduleResolverHost = tracker?.trackSymbol ? tracker.moduleResolverHost : + flags! & NodeBuilderFlags.DoNotIncludeSymbolChain ? createBasicNodeBuilderModuleSpecifierResolutionHost(host) : + undefined; const context: NodeBuilderContext = { enclosingDeclaration, + enclosingFile: enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration), flags: flags || NodeBuilderFlags.None, // If no full tracker is provided, fake up a dummy one with a basic limited-functionality moduleResolverHost - tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: () => false, moduleResolverHost: flags! & NodeBuilderFlags.DoNotIncludeSymbolChain ? { - getCommonSourceDirectory: !!(host as Program).getCommonSourceDirectory ? () => (host as Program).getCommonSourceDirectory() : () => "", - getCurrentDirectory: () => host.getCurrentDirectory(), - getSymlinkCache: maybeBind(host, host.getSymlinkCache), - getPackageJsonInfoCache: () => host.getPackageJsonInfoCache?.(), - useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), - redirectTargetsMap: host.redirectTargetsMap, - getProjectReferenceRedirect: fileName => host.getProjectReferenceRedirect(fileName), - isSourceOfProjectReferenceRedirect: fileName => host.isSourceOfProjectReferenceRedirect(fileName), - fileExists: fileName => host.fileExists(fileName), - getFileIncludeReasons: () => host.getFileIncludeReasons(), - readFile: host.readFile ? (fileName => host.readFile!(fileName)) : undefined, - } : undefined }, + tracker: undefined!, encounteredError: false, reportedDiagnostic: false, visitedTypes: undefined, symbolDepth: undefined, inferTypeParameters: undefined, - approximateLength: 0 + approximateLength: 0, + trackedSymbols: undefined, + bundled: !!compilerOptions.outFile && !!enclosingDeclaration && isExternalOrCommonJsModule(getSourceFileOfNode(enclosingDeclaration)), }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); if (context.truncating && context.flags & NodeBuilderFlags.NoTruncation) { context.tracker?.reportTruncationError?.(); @@ -6307,37 +7342,6 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return context.encounteredError ? undefined : resultingNode; } - function wrapSymbolTrackerToReportForContext(context: NodeBuilderContext, tracker: SymbolTracker): SymbolTracker { - const oldTrackSymbol = tracker.trackSymbol; - return { - ...tracker, - reportCyclicStructureError: wrapReportedDiagnostic(tracker.reportCyclicStructureError), - reportInaccessibleThisError: wrapReportedDiagnostic(tracker.reportInaccessibleThisError), - reportInaccessibleUniqueSymbolError: wrapReportedDiagnostic(tracker.reportInaccessibleUniqueSymbolError), - reportLikelyUnsafeImportRequiredError: wrapReportedDiagnostic(tracker.reportLikelyUnsafeImportRequiredError), - reportNonlocalAugmentation: wrapReportedDiagnostic(tracker.reportNonlocalAugmentation), - reportPrivateInBaseOfClassExpression: wrapReportedDiagnostic(tracker.reportPrivateInBaseOfClassExpression), - reportNonSerializableProperty: wrapReportedDiagnostic(tracker.reportNonSerializableProperty), - trackSymbol: oldTrackSymbol && ((...args) => { - const result = oldTrackSymbol(...args); - if (result) { - context.reportedDiagnostic = true; - } - return result; - }), - }; - - function wrapReportedDiagnostic any>(method: T | undefined): T | undefined { - if (!method) { - return method; - } - return (((...args) => { - context.reportedDiagnostic = true; - return method(...args); - }) as T); - } - } - function checkTruncationLength(context: NodeBuilderContext): boolean { if (context.truncating) return context.truncating; return context.truncating = context.approximateLength > ((context.flags & NodeBuilderFlags.NoTruncation) ? noTruncationMaximumTruncationLength : defaultMaximumTruncationLength); @@ -6527,8 +7531,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type as TypeParameter, context, constraintNode)); } if (context.flags & NodeBuilderFlags.GenerateNamesForShadowedTypeParams && - type.flags & TypeFlags.TypeParameter && - !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { + type.flags & TypeFlags.TypeParameter + ) { const name = typeParameterToName(type, context); context.approximateLength += idText(name).length; return factory.createTypeReferenceNode(factory.createIdentifier(idText(name)), /*typeArguments*/ undefined); @@ -6819,16 +7823,26 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (!nodeIsSynthesized(node) && getParseTreeNode(node) === node) { return node; } - return setTextRange(factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), node); + return setTextRange( + context, + factory.cloneNode(visitEachChild(node, deepCloneOrReuseNode, nullTransformationContext, deepCloneOrReuseNodes)), + node + ); } - function deepCloneOrReuseNodes(nodes: NodeArray, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; - function deepCloneOrReuseNodes(nodes: NodeArray | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; - function deepCloneOrReuseNodes(nodes: NodeArray | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined { + function deepCloneOrReuseNodes( + nodes: NodeArray, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number + ): NodeArray; + function deepCloneOrReuseNodes( + nodes: NodeArray | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number + ): NodeArray | undefined; + function deepCloneOrReuseNodes( + nodes: NodeArray | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number + ): NodeArray | undefined { if (nodes && nodes.length === 0) { // Ensure we explicitly make a copy of an empty array; visitNodes will not do this unless the array has elements, // which can lead to us reusing the same empty NodeArray more than once within the same AST during type noding. - return setTextRange(factory.createNodeArray(/*nodes*/ undefined, nodes.hasTrailingComma), nodes); + return setTextRangeWorker(factory.createNodeArray(/*elements*/ undefined, nodes.hasTrailingComma), nodes); } return visitNodes(nodes, visitor, test, start, count); } @@ -7128,7 +8142,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: anyType : getNonMissingTypeOfSymbol(propertySymbol); const saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; - if (context.tracker.trackSymbol && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.canTrackSymbol && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { const decl = first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -7169,7 +8183,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: context.reverseMappedStack ||= []; context.reverseMappedStack.push(propertySymbol as ReverseMappedSymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); + propertyTypeNode = propertyType ? + serializeTypeForDeclaration(context, /*declaration*/ undefined, propertyType, propertySymbol) : + factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); if (propertyIsReverseMapped) { context.reverseMappedStack!.pop(); } @@ -7306,8 +8322,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function signatureToSignatureDeclarationHelper(signature: Signature, kind: SignatureDeclaration["kind"], context: NodeBuilderContext, options?: SignatureToSignatureDeclarationOptions): SignatureDeclaration { - const suppressAny = context.flags & NodeBuilderFlags.SuppressAnyReturnType; - if (suppressAny) context.flags &= ~NodeBuilderFlags.SuppressAnyReturnType; // suppress only toplevel `any`s + const flags = context.flags; + context.flags &= ~NodeBuilderFlags.SuppressAnyReturnType; // SuppressAnyReturnType should only apply to the signature `return` position context.approximateLength += 3; // Usually a signature contributes a few more characters than this, but 3 is the minimum let typeParameters: TypeParameterDeclaration[] | undefined; let typeArguments: TypeNode[] | undefined; @@ -7319,42 +8335,24 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } const expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters); // If the expanded parameter list had a variadic in a non-trailing position, don't expand it - const parameters = (some(expandedParams, p => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & CheckFlags.RestParameter)) ? signature.parameters : expandedParams).map(parameter => symbolToParameterDeclaration(parameter, context, kind === SyntaxKind.Constructor, options?.privateSymbolVisitor, options?.bundledImports)); + const parameters = (some(expandedParams, p => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & CheckFlags.RestParameter)) ? signature.parameters : expandedParams).map(parameter => symbolToParameterDeclaration(parameter, context, kind === SyntaxKind.Constructor)); const thisParameter = context.flags & NodeBuilderFlags.OmitThisParameter ? undefined : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); } + context.flags = flags; + + const returnTypeNode = serializeReturnTypeForSignature(context, signature); - let returnTypeNode: TypeNode | undefined; - const typePredicate = getTypePredicateOfSignature(signature); - if (typePredicate) { - const assertsModifier = typePredicate.kind === TypePredicateKind.AssertsThis || typePredicate.kind === TypePredicateKind.AssertsIdentifier ? - factory.createToken(SyntaxKind.AssertsKeyword) : - undefined; - const parameterName = typePredicate.kind === TypePredicateKind.Identifier || typePredicate.kind === TypePredicateKind.AssertsIdentifier ? - setEmitFlags(factory.createIdentifier(typePredicate.parameterName), EmitFlags.NoAsciiEscaping) : - factory.createThisTypeNode(); - const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); - returnTypeNode = factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); - } - else { - const returnType = getReturnTypeOfSignature(signature); - if (returnType && !(suppressAny && isTypeAny(returnType))) { - returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options?.privateSymbolVisitor, options?.bundledImports); - } - else if (!suppressAny) { - returnTypeNode = factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); - } - } let modifiers = options?.modifiers; if ((kind === SyntaxKind.ConstructorType) && signature.flags & SignatureFlags.Abstract) { const flags = modifiersToFlags(modifiers); modifiers = factory.createModifiersFromModifierFlags(flags | ModifierFlags.Abstract); } - const node = - kind === SyntaxKind.CallSignature ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : + const node = kind === SyntaxKind.CallSignature ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === SyntaxKind.ConstructSignature ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === SyntaxKind.MethodSignature ? factory.createMethodSignature(modifiers, options?.name ?? factory.createIdentifier(""), options?.questionToken, typeParameters, parameters, returnTypeNode) : kind === SyntaxKind.MethodDeclaration ? factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, options?.name ?? factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : @@ -7374,9 +8372,182 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: node.typeArguments = factory.createNodeArray(typeArguments); } + cleanup?.(); return node; } + type IntroducesNewScopeNode = SignatureDeclaration | JSDocSignature | MappedTypeNode; + + function isNewScopeNode(node: Node): node is IntroducesNewScopeNode { + return isFunctionLike(node) || + isJSDocSignature(node) || + isMappedTypeNode(node); + } + + function getTypeParametersInScope(node: IntroducesNewScopeNode | ConditionalTypeNode): readonly TypeParameter[] | undefined { + return isFunctionLike(node) || isJSDocSignature(node) ? getSignatureFromDeclaration(node).typeParameters : + isConditionalTypeNode(node) ? getInferTypeParameters(node) : + [getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))]; + } + + function getParametersInScope(node: IntroducesNewScopeNode | ConditionalTypeNode): readonly Symbol[] | undefined { + return isFunctionLike(node) || isJSDocSignature(node) ? + getExpandedParameters(getSignatureFromDeclaration(node), /*skipUnionExpanding*/ true)[0] : undefined; + } + + function enterNewScope( + context: NodeBuilderContext, + declaration: IntroducesNewScopeNode | ConditionalTypeNode | undefined, + expandedParams: readonly Symbol[] | undefined, + typeParameters: readonly TypeParameter[] | undefined + ): (() => void) | undefined { + // For regular function/method declarations, the enclosing declaration will already be signature.declaration, + // so this is a no-op, but for arrow functions and function expressions, the enclosing declaration will be + // the declaration that the arrow function / function expression is assigned to. + // + // If the parameters or return type include "typeof globalThis.paramName", using the wrong scope will lead + // us to believe that we can emit "typeof paramName" instead, even though that would refer to the parameter, + // not the global. Make sure we are in the right scope by changing the enclosingDeclaration to the function. + // + // We can't use the declaration directly; it may be in another file and so we may lose access to symbols + // accessible to the current enclosing declaration, or gain access to symbols not accessible to the current + // enclosing declaration. To keep this chain accurate, insert a fake scope into the chain which makes the + // function's parameters visible. + // + // If the declaration is in a JS file, then we don't need to do this at all, as there are no annotations besides + // JSDoc, which are always outside the function declaration, so are not in the parameter scope. + let cleanup: (() => void) | undefined; + if ( + context.enclosingDeclaration && + declaration && + declaration !== context.enclosingDeclaration && + !isInJSFile(declaration) && + (some(expandedParams) || some(typeParameters)) + ) { + // As a performance optimization, reuse the same fake scope within this chain. + // This is especially needed when we are working on an excessively deep type; + // if we don't do this, then we spend all of our time adding more and more + // scopes that need to be searched in isSymbolAccessible later. Since all we + // really want to do is to mark certain names as unavailable, we can just keep + // all of the names we're introducing in one large table and push/pop from it as + // needed; isSymbolAccessible will walk upward and find the closest "fake" scope, + // which will conveniently report on any and all faked scopes in the chain. + // + // It'd likely be better to store this somewhere else for isSymbolAccessible, but + // since that API _only_ uses the enclosing declaration (and its parents), this is + // seems like the best way to inject names into that search process. + // + // Note that we only check the most immediate enclosingDeclaration; the only place we + // could potentially add another fake scope into the chain is right here, so we don't + // traverse all ancestors. + pushFakeScope( + "params", + add => { + for (const param of expandedParams ?? emptyArray) { + if ( + !forEach(param.declarations, d => { + if (isParameter(d) && isBindingPattern(d.name)) { + bindPattern(d.name); + return true; + } + return undefined; + function bindPattern(p: BindingPattern): void { + forEach(p.elements, e => { + switch (e.kind) { + case SyntaxKind.OmittedExpression: + return; + case SyntaxKind.BindingElement: + return bindElement(e); + default: + return Debug.assertNever(e); + } + }); + } + function bindElement(e: BindingElement): void { + if (isBindingPattern(e.name)) { + return bindPattern(e.name); + } + const symbol = getSymbolOfNode(e); + add(symbol.escapedName, symbol); + } + }) + ) { + add(param.escapedName, param); + } + } + }, + ); + + if (context.flags & NodeBuilderFlags.GenerateNamesForShadowedTypeParams) { + // TODO(jakebailey): should this instead be done before walking type parameters? + pushFakeScope( + "typeParams", + add => { + for (const typeParam of typeParameters ?? emptyArray) { + const typeParamName = typeParameterToName(typeParam, context).escapedText; + add(typeParamName, typeParam.symbol); + } + }, + ); + } + return cleanup; + } + + function pushFakeScope(kind: "params" | "typeParams", addAll: (addSymbol: (name: __String, symbol: Symbol) => void) => void): void { + // We only ever need to look two declarations upward. + Debug.assert(context.enclosingDeclaration); + let existingFakeScope: Node | undefined; + if (getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration === kind) { + existingFakeScope = context.enclosingDeclaration; + } + else if ( + context.enclosingDeclaration.parent && + getNodeLinks(context.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === kind + ) { + existingFakeScope = context.enclosingDeclaration.parent; + } + Debug.assertOptionalNode(existingFakeScope, isBlock); + + const locals = existingFakeScope?.locals ?? createSymbolTable(); + let newLocals: __String[] | undefined; + addAll((name, symbol) => { + if (!locals.has(name)) { + newLocals = append(newLocals, name); + locals.set(name, symbol); + } + }); + if (!newLocals) { + return; + } + + const oldCleanup = cleanup; + function undo(): void { + forEach(newLocals, s => locals.delete(s)); + oldCleanup?.(); + } + + if (existingFakeScope) { + cleanup = undo; + } + else { + // Use a Block for this; the type of the node doesn't matter so long as it + // has locals, and this is cheaper/easier than using a function-ish Node. + const fakeScope = parseNodeFactory.createBlock(emptyArray); + getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = kind; + fakeScope.locals = locals; + + const saveEnclosingDeclaration = context.enclosingDeclaration; + setParent(fakeScope, saveEnclosingDeclaration); + context.enclosingDeclaration = fakeScope; + + cleanup = () => { + context.enclosingDeclaration = saveEnclosingDeclaration; + undo(); + }; + } + } + } + function tryGetThisParameterDeclaration(signature: Signature, context: NodeBuilderContext) { if (signature.thisParameter) { return symbolToParameterDeclaration(signature.thisParameter, context); @@ -7411,27 +8582,38 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } - function symbolToParameterDeclaration(parameterSymbol: Symbol, context: NodeBuilderContext, preserveModifierFlags?: boolean, privateSymbolVisitor?: (s: Symbol) => void, bundledImports?: boolean): ParameterDeclaration { - let parameterDeclaration: ParameterDeclaration | JSDocParameterTag | undefined = getDeclarationOfKind(parameterSymbol, SyntaxKind.Parameter); - if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) { - parameterDeclaration = getDeclarationOfKind(parameterSymbol, SyntaxKind.JSDocParameterTag); - } + function typePredicateToTypePredicateNodeHelper(typePredicate: TypePredicate, context: NodeBuilderContext): TypePredicateNode { + const assertsModifier = typePredicate.kind === TypePredicateKind.AssertsThis || typePredicate.kind === TypePredicateKind.AssertsIdentifier ? + factory.createToken(SyntaxKind.AssertsKeyword) : + undefined; + const parameterName = typePredicate.kind === TypePredicateKind.Identifier || typePredicate.kind === TypePredicateKind.AssertsIdentifier ? + setEmitFlags(factory.createIdentifier(typePredicate.parameterName), EmitFlags.NoAsciiEscaping) : + factory.createThisTypeNode(); + const typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); + return factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); + } - let parameterType = getTypeOfSymbol(parameterSymbol); - if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { - parameterType = getOptionalType(parameterType); + function getEffectiveParameterDeclaration(parameterSymbol: Symbol): ParameterDeclaration | JSDocParameterTag | undefined { + const parameterDeclaration: ParameterDeclaration | JSDocParameterTag | undefined = + getDeclarationOfKind(parameterSymbol, SyntaxKind.Parameter); + if (parameterDeclaration) { + return parameterDeclaration; + } + if (!isTransientSymbol(parameterSymbol)) { + return getDeclarationOfKind(parameterSymbol, SyntaxKind.JSDocParameterTag); } - const parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); + } + + function symbolToParameterDeclaration(parameterSymbol: Symbol, context: NodeBuilderContext, preserveModifierFlags?: boolean): ParameterDeclaration { + const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol); + + const parameterType = getTypeOfSymbol(parameterSymbol); + const parameterTypeNode = serializeTypeForDeclaration(context, parameterDeclaration, parameterType, parameterSymbol); const modifiers = !(context.flags & NodeBuilderFlags.OmitParameterModifiers) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : undefined; const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & CheckFlags.RestParameter; const dotDotDotToken = isRest ? factory.createToken(SyntaxKind.DotDotDotToken) : undefined; - const name = parameterDeclaration ? parameterDeclaration.name ? - parameterDeclaration.name.kind === SyntaxKind.Identifier ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), EmitFlags.NoAsciiEscaping) : - parameterDeclaration.name.kind === SyntaxKind.QualifiedName ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), EmitFlags.NoAsciiEscaping) : - cloneBindingName(parameterDeclaration.name) : - symbolName(parameterSymbol) : - symbolName(parameterSymbol); + const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context); const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & CheckFlags.OptionalParameter; const questionToken = isOptional ? factory.createToken(SyntaxKind.QuestionToken) : undefined; const parameterNode = factory.createParameterDeclaration( @@ -7440,24 +8622,41 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: name, questionToken, parameterTypeNode, - /*initializer*/ undefined); + /*initializer*/ undefined, + ); context.approximateLength += symbolName(parameterSymbol).length + 3; return parameterNode; + } + + function parameterToParameterDeclarationName( + parameterSymbol: Symbol, + parameterDeclaration: ParameterDeclaration | JSDocParameterTag | undefined, + context: NodeBuilderContext + ): string | BindingName { + return parameterDeclaration ? parameterDeclaration.name ? + parameterDeclaration.name.kind === SyntaxKind.Identifier ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), EmitFlags.NoAsciiEscaping) : + parameterDeclaration.name.kind === SyntaxKind.QualifiedName ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), EmitFlags.NoAsciiEscaping) : + cloneBindingName(parameterDeclaration.name) : + symbolName(parameterSymbol) : + symbolName(parameterSymbol); function cloneBindingName(node: BindingName): BindingName { return elideInitializerAndSetEmitFlags(node) as BindingName; function elideInitializerAndSetEmitFlags(node: Node): Node { - if (context.tracker.trackSymbol && isComputedPropertyName(node) && isLateBindableName(node)) { + if (context.tracker.canTrackSymbol && isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - let visited = visitEachChild(node, elideInitializerAndSetEmitFlags, nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags)!; + let visited = visitEachChild( + node, elideInitializerAndSetEmitFlags, /*context*/ undefined, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags + ); if (isBindingElement(visited)) { visited = factory.updateBindingElement( visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); + /*initializer*/ undefined, + ); } if (!nodeIsSynthesized(visited)) { visited = factory.cloneNode(visited); @@ -7468,7 +8667,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function trackComputedName(accessExpression: EntityNameOrEntityNameExpression, enclosingDeclaration: Node | undefined, context: NodeBuilderContext) { - if (!context.tracker.trackSymbol) return; + if (!context.tracker.canTrackSymbol) { + return; + } // get symbol of the first identifier of the entityName const firstIdentifier = getFirstIdentifier(accessExpression); const name = resolveName(firstIdentifier, firstIdentifier.escapedText, SymbolFlags.Value | SymbolFlags.ExportValue, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); @@ -7478,7 +8679,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function lookupSymbolChain(symbol: Symbol, context: NodeBuilderContext, meaning: SymbolFlags, yieldModuleSymbol?: boolean) { - context.tracker.trackSymbol!(symbol, context.enclosingDeclaration, meaning); // TODO: GH#18217 + context.tracker.trackSymbol(symbol, context.enclosingDeclaration, meaning); // TODO: GH#18217 return lookupSymbolChainWorker(symbol, context, meaning, yieldModuleSymbol); } @@ -7634,14 +8835,14 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return (symbol.escapedName as string).substring(1, (symbol.escapedName as string).length - 1); } } - if (!context.enclosingDeclaration || !context.tracker.moduleResolverHost) { + if (!context.enclosingFile || !context.tracker.moduleResolverHost) { // If there's no context declaration, we can't lookup a non-ambient specifier, so we just use the symbol name if (ambientModuleSymbolRegex.test(symbol.escapedName as string)) { return (symbol.escapedName as string).substring(1, (symbol.escapedName as string).length - 1); } return getSourceFileOfNode(getNonAugmentationDeclaration(symbol)!).fileName; // A resolver may not be provided for baselines and errors - in those cases we use the fileName in full } - const contextFile = getSourceFileOfNode(getOriginalNode(context.enclosingDeclaration)); + const contextFile = context.enclosingFile; const resolutionMode = overrideImportMode || contextFile?.impliedNodeFormat; const cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode); const links = getSymbolLinks(symbol); @@ -7674,7 +8875,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return specifier; function getSpecifierCacheKey(path: string, mode: SourceFile["impliedNodeFormat"] | undefined) { - return mode === undefined ? path : `${mode}|${path}`; + return mode === undefined? path : `${mode}|${path}`; } } @@ -7756,7 +8957,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } const lit = factory.createLiteralTypeNode(factory.createStringLiteral(specifier)); - if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) context.tracker.trackExternalModuleSymbolOfImportTypeNode(chain[0]); + if (context.tracker.trackExternalModuleSymbolOfImportTypeNode) { + context.tracker.trackExternalModuleSymbolOfImportTypeNode(chain[0]); + } context.approximateLength += specifier.length + 10; // specifier + import("") if (!nonRootParts || isEntityName(nonRootParts)) { if (nonRootParts) { @@ -7850,13 +9053,12 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } - function typeParameterShadowsNameInScope(escapedName: __String, context: NodeBuilderContext, type: TypeParameter) { - const result = resolveName(context.enclosingDeclaration, escapedName, SymbolFlags.Type, /*nameNotFoundArg*/ undefined, escapedName, /*isUse*/ false); - if (result) { - if (result.flags & SymbolFlags.TypeParameter && result === type.symbol) { - return false; - } - return true; + function typeParameterShadowsOtherTypeParameterInScope(escapedName: __String, context: NodeBuilderContext, type: TypeParameter): boolean { + const result = resolveName( + context.enclosingDeclaration, escapedName, SymbolFlags.Type, /*nameNotFoundMessage*/ undefined, escapedName, /*isUse*/ false + ); + if (result && result.flags & SymbolFlags.TypeParameter) { + return result !== type.symbol; } return false; } @@ -7876,7 +9078,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const rawtext = result.escapedText as string; let i = context.typeParameterNamesByTextNextNameCount?.get(rawtext) || 0; let text = rawtext; - while (context.typeParameterNamesByText?.has(text) || typeParameterShadowsNameInScope(text as __String, context, type)) { + while (context.typeParameterNamesByText?.has(text) || typeParameterShadowsOtherTypeParameterInScope(text as __String, context, type)) { i++; text = `${rawtext}_${i}`; } @@ -7887,7 +9089,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: // `i` we've used thus far, to save work later (context.typeParameterNamesByTextNextNameCount ||= new Map()).set(rawtext, i); (context.typeParameterNames ||= new Map()).set(getTypeId(type), result); - (context.typeParameterNamesByText ||= new Set()).add(rawtext); + (context.typeParameterNamesByText ||= new Set()).add(text); } return result; } @@ -8038,7 +9240,10 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (initial.typeParameterSymbolList) { initial.typeParameterSymbolList = new Set(initial.typeParameterSymbolList); } - initial.tracker = wrapSymbolTrackerToReportForContext(initial, initial.tracker); + if (initial.typeParameterNamesByTextNextNameCount) { + initial.typeParameterNamesByTextNextNameCount = new Map(initial.typeParameterNamesByTextNextNameCount); + } + initial.tracker = new SymbolTrackerImpl(initial, initial.tracker.inner, initial.tracker.moduleResolverHost); return initial; } @@ -8051,102 +9256,238 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return !(getObjectFlags(type) & ObjectFlags.Reference) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount((type as TypeReference).target.typeParameters); } + function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration: Node): Node { + while (getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration) { + enclosingDeclaration = enclosingDeclaration.parent; + } + return enclosingDeclaration; + } + /** * Unlike `typeToTypeNodeHelper`, this handles setting up the `AllowUniqueESSymbolType` flag * so a `unique symbol` is returned when appropriate for the input symbol, rather than `typeof sym` + * @param context - The node builder context. Any reused nodes are checked to be pulled from within the scope of the context's enclosingDeclaration. + * @param declaration - The preferred declaration to pull existing type nodes from (the symbol will be used as a fallback to find any annotated declaration) + * @param type - The type to write; an existing annotation must match this type if it's used, otherwise this is the type serialized as a new type node + * @param symbol - The symbol is used both to find an existing annotation if declaration is not provided, and to determine if `unique symbol` should be printed */ - function serializeTypeForDeclaration(context: NodeBuilderContext, type: Type, symbol: Symbol, enclosingDeclaration: Node | undefined, includePrivateSymbol?: (s: Symbol) => void, bundled?: boolean) { + function serializeTypeForDeclaration(context: NodeBuilderContext, declaration: Declaration | undefined, type: Type, symbol: Symbol): TypeNode { + const addUndefined = + declaration && + (isParameter(declaration) || isJSDocParameterTag(declaration)) && + requiresAddingImplicitUndefined(declaration); + const enclosingDeclaration = context.enclosingDeclaration; if (!isErrorType(type) && enclosingDeclaration) { - const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration); + const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) + ? declaration + : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { // try to reuse the existing annotation - const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation)!; - if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { - const result = serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled); - if (result) { - return result; - } + const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation)!; + const result = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + if (result) { + return result; } } } const oldFlags = context.flags; - if (type.flags & TypeFlags.UniqueESSymbol && - type.symbol === symbol && (!context.enclosingDeclaration || some(symbol.declarations, d => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration!)))) { + if ( + type.flags & TypeFlags.UniqueESSymbol && + type.symbol === symbol && (!context.enclosingDeclaration || + some(symbol.declarations, d => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration!))) + ) { context.flags |= NodeBuilderFlags.AllowUniqueESSymbolType; } - const result = typeToTypeNodeHelper(type, context); + + const decl = declaration ?? symbol.valueDeclaration ?? symbol.declarations?.[0]; + const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : undefined; + + if (decl && hasInferredType(decl) && !(context.flags & NodeBuilderFlags.NoSyntacticPrinter)) { + syntacticNodeBuilder.serializeTypeOfDeclaration(decl, context); + } + context.flags |= NodeBuilderFlags.NoSyntacticPrinter; + const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); context.flags = oldFlags; return result; } - function typeNodeIsEquivalentToType(typeNode: TypeNode, annotatedDeclaration: Declaration, type: Type) { - const typeFromTypeNode = getTypeFromTypeNode(typeNode); + function typeNodeIsEquivalentToType( + typeNode: TypeNode, + annotatedDeclaration: Node | undefined, + type: Type, + typeFromTypeNode = getTypeFromTypeNode(typeNode) + ): boolean { if (typeFromTypeNode === type) { return true; } - if (isParameter(annotatedDeclaration) && annotatedDeclaration.questionToken) { + if (annotatedDeclaration && + (isParameter(annotatedDeclaration) || isPropertySignature(annotatedDeclaration) || isPropertyDeclaration(annotatedDeclaration)) && + annotatedDeclaration.questionToken + ) { return getTypeWithFacts(type, TypeFacts.NEUndefined) === typeFromTypeNode; } return false; } - function serializeReturnTypeForSignature(context: NodeBuilderContext, type: Type, signature: Signature, includePrivateSymbol?: (s: Symbol) => void, bundled?: boolean) { + function serializeReturnTypeForSignature(context: NodeBuilderContext, signature: Signature): TypeNode | undefined { + const suppressAny = context.flags & NodeBuilderFlags.SuppressAnyReturnType; + const flags = context.flags; + if (suppressAny) context.flags &= ~NodeBuilderFlags.SuppressAnyReturnType; // suppress only toplevel `any`s + let returnTypeNode: TypeNode | undefined; + const returnType = getReturnTypeOfSignature(signature); + if (returnType && !(suppressAny && isTypeAny(returnType))) { + if (signature.declaration && !(context.flags & NodeBuilderFlags.NoSyntacticPrinter)) { + syntacticNodeBuilder.serializeReturnTypeForSignature(signature.declaration, context); + } + context.flags |= NodeBuilderFlags.NoSyntacticPrinter; + returnTypeNode = serializeReturnTypeForSignatureWorker(context, signature); + } + else if (!suppressAny) { + returnTypeNode = factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); + } + context.flags = flags; + return returnTypeNode; + } + + function serializeReturnTypeForSignatureWorker(context: NodeBuilderContext, signature: Signature): TypeNode { + const typePredicate = getTypePredicateOfSignature(signature); + const type = getReturnTypeOfSignature(signature); if (!isErrorType(type) && context.enclosingDeclaration) { - const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration); - if (!!findAncestor(annotation, n => n === context.enclosingDeclaration) && annotation) { + const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); + const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); + if (!!findAncestor(annotation, n => n === enclosingDeclarationIgnoringFakeScope) && annotation) { const annotated = getTypeFromTypeNode(annotation); const thisInstantiated = annotated.flags & TypeFlags.TypeParameter && (annotated as TypeParameter).isThisType ? instantiateType(annotated, signature.mapper) : annotated; - if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) { - const result = serializeExistingTypeNode(context, annotation, includePrivateSymbol, bundled); - if (result) { - return result; - } + const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + if (result) { + return result; } } } - return typeToTypeNodeHelper(type, context); + if (typePredicate) { + return typePredicateToTypePredicateNodeHelper(typePredicate, context); + } + const expr = signature.declaration && getPossibleTypeNodeReuseExpression(signature.declaration); + return expressionOrTypeToTypeNode(context, expr, type); } - function trackExistingEntityName(node: T, context: NodeBuilderContext, includePrivateSymbol?: (s: Symbol) => void) { + function trackExistingEntityName( + node: T, + context: NodeBuilderContext + ): { + introducesError: boolean; + node: T; + } { let introducesError = false; const leftmost = getFirstIdentifier(node); if (isInJSFile(node) && (isExportsIdentifier(leftmost) || isModuleExportsAccessExpression(leftmost.parent) || (isQualifiedName(leftmost.parent) && isModuleIdentifier(leftmost.parent.left) && isExportsIdentifier(leftmost.parent.right)))) { introducesError = true; return { introducesError, node }; } - const sym = resolveEntityName(leftmost, SymbolFlags.All, /*ignoreErrors*/ true, /*dontResolveALias*/ true); + const meaning = getMeaningOfEntityNameReference(node); + let sym: Symbol | undefined; + if (isThisIdentifier(leftmost)) { + // `this` isn't a bindable identifier - skip resolution, find a relevant `this` symbol directly and avoid exhaustive scope traversal + sym = getSymbolOfNode(getThisContainer(leftmost, /*includeArrowFunctions*/ false)); + if ( + isSymbolAccessible( + sym, leftmost, meaning, /*shouldComputeAliasesToMakeVisible*/ false + ).accessibility !== SymbolAccessibility.Accessible + ) { + introducesError = true; + context.tracker.reportInaccessibleThisError(); + } + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) as T }; + } + sym = resolveEntityName(leftmost, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); if (sym) { - if (isSymbolAccessible(sym, context.enclosingDeclaration, SymbolFlags.All, /*shouldComputeAliasesToMakeVisible*/ false).accessibility !== SymbolAccessibility.Accessible) { + // If a parameter is resolvable in the current context it is also visible, so no need to go to symbol accesibility + if ( + sym.flags & SymbolFlags.FunctionScopedVariable && + sym.valueDeclaration + ) { + if (isParameterDeclaration(sym.valueDeclaration)) { + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) as T }; + } + } + if ( + !(sym.flags & SymbolFlags.TypeParameter) && // Type parameters are visible in the curent context if they are are resolvable + !isDeclarationName(node) && + isSymbolAccessible( + sym, context.enclosingDeclaration, meaning, /*shouldComputeAliasesToMakeVisible*/ false + ).accessibility !== SymbolAccessibility.Accessible + ) { introducesError = true; } else { - context.tracker?.trackSymbol?.(sym, context.enclosingDeclaration, SymbolFlags.All); - includePrivateSymbol?.(sym); - } - if (isIdentifier(node)) { - const type = getDeclaredTypeOfSymbol(sym); - const name = sym.flags & SymbolFlags.TypeParameter && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : factory.cloneNode(node); - name.symbol = sym; // for quickinfo, which uses identifier symbol information - return { introducesError, node: setEmitFlags(setOriginalNode(name, node), EmitFlags.NoAsciiEscaping) }; + context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning); } + return { introducesError, node: attachSymbolToLeftmostIdentifier(node) as T }; } return { introducesError, node }; + + /** + * Attaches a `.symbol` member to an identifier, cloning it to do so, so symbol information + * is smuggled out for symbol display information. + */ + function attachSymbolToLeftmostIdentifier(node: Node): Node { + if (node === leftmost) { + const type = getDeclaredTypeOfSymbol(sym!); + const name = sym!.flags & SymbolFlags.TypeParameter ? typeParameterToName(type, context) : factory.cloneNode(node as Identifier); + name.symbol = sym!; // for quickinfo, which uses identifier symbol information + return setTextRange(context, setEmitFlags(name, EmitFlags.NoAsciiEscaping), node); + } + const updated = visitEachChild(node, c => attachSymbolToLeftmostIdentifier(c), /*context*/ undefined); + if (updated !== node) { + setTextRange(context, updated, node); + } + return updated; + } } - function serializeExistingTypeNode(context: NodeBuilderContext, existing: TypeNode, includePrivateSymbol?: (s: Symbol) => void, bundled?: boolean) { + /** + * Do you mean to call this directly? You probably should use `tryReuseExistingTypeNode` instead, + * which performs sanity checking on the type before doing this. + */ + function tryReuseExistingTypeNodeHelper(context: NodeBuilderContext, existing: TypeNode): TypeNode | undefined { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } let hadError = false; - const file = getSourceFileOfNode(existing); - const transformed = visitNode(existing, visitExistingNodeTreeSymbols); + const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode); if (hadError) { return undefined; } - return transformed === existing ? setTextRange(factory.cloneNode(existing), existing) : transformed; + return transformed; + + function visitExistingNodeTreeSymbols(node: Node): Node | undefined { + const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : undefined; + const result = visitExistingNodeTreeSymbolsWorker(node); + onExitNewScope?.(); + // We want to clone the subtree, so when we mark it up with __pos and __end in quickfixes, + // we don't get odd behavior because of reused nodes. We also need to clone to _remove_ + // the position information if the node comes from a different file than the one the node builder + // is set to build for (even though we are reusing the node structure, the position information + // would make the printer print invalid spans for literals and identifiers, and the formatter would + // choke on the mismatched positonal spans between a parent and an injected child from another file). + return result === node ? setTextRange(context, factory.cloneNode(result), node) : result; + } + + function onEnterNewScope(node: IntroducesNewScopeNode | ConditionalTypeNode): () => void { + const oldContex = context; + context = cloneNodeBuilderContext(context); + const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + + return onExitNewScope; + + function onExitNewScope(): void { + cleanup?.(); + context = oldContex; + } + } - function visitExistingNodeTreeSymbols(node: T): Node { + function visitExistingNodeTreeSymbolsWorker(node: Node): Node | undefined { // We don't _actually_ support jsdoc namepath types, emit `any` instead if (isJSDocAllType(node) || node.kind === SyntaxKind.JSDocNamepathType) { return factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); @@ -8155,16 +9496,20 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return factory.createKeywordTypeNode(SyntaxKind.UnknownKeyword); } if (isJSDocNullableType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createLiteralTypeNode(factory.createNull())]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)!, factory.createLiteralTypeNode(factory.createNull())] + ); } if (isJSDocOptionalType(node)) { - return factory.createUnionTypeNode([visitNode(node.type, visitExistingNodeTreeSymbols), factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)]); + return factory.createUnionTypeNode( + [visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)!, factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)] + ); } if (isJSDocNonNullableType(node)) { return visitNode(node.type, visitExistingNodeTreeSymbols); } if (isJSDocVariadicType(node)) { - return factory.createArrayTypeNode(visitNode((node as JSDocVariadicType).type, visitExistingNodeTreeSymbols)); + return factory.createArrayTypeNode(visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)!); } if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, t => { @@ -8176,7 +9521,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: /*modifiers*/ undefined, name, t.isBracketed || t.typeExpression && isJSDocOptionalType(t.typeExpression.type) ? factory.createToken(SyntaxKind.QuestionToken) : undefined, - overrideTypeNode || (t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols)) || factory.createKeywordTypeNode(SyntaxKind.AnyKeyword) + overrideTypeNode || (t.typeExpression && visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols, isTypeNode)) || + factory.createKeywordTypeNode(SyntaxKind.AnyKeyword), ); })); } @@ -8187,13 +9533,13 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return factory.createTypeLiteralNode([factory.createIndexSignature( /*modifiers*/ undefined, [factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotdotdotToken*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, "x", /*questionToken*/ undefined, - visitNode(node.typeArguments![0], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments![0], visitExistingNodeTreeSymbols, isTypeNode), )], - visitNode(node.typeArguments![1], visitExistingNodeTreeSymbols) + visitNode(node.typeArguments![1], visitExistingNodeTreeSymbols, isTypeNode), )]); } if (isJSDocFunctionType(node)) { @@ -8201,30 +9547,33 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: let newTypeNode: TypeNode | undefined; return factory.createConstructorTypeNode( /*modifiers*/ undefined, - visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), - mapDefined(node.parameters, (p, i) => p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, undefined) : factory.createParameterDeclaration( - /*modifiers*/ undefined, - getEffectiveDotDotDotForParameter(p), - getNameForJSDocFunctionParameter(p, i), - p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), - /*initializer*/ undefined - )), - visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(SyntaxKind.AnyKeyword) + visitNodes(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), + mapDefined(node.parameters, (p, i) => + p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, undefined) : factory.createParameterDeclaration( + /*modifiers*/ undefined, + getEffectiveDotDotDotForParameter(p), + getNameForJSDocFunctionParameter(p, i), + p.questionToken, + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), + /*initializer*/ undefined, + )), + visitNode(newTypeNode || node.type, visitExistingNodeTreeSymbols, isTypeNode) || + factory.createKeywordTypeNode(SyntaxKind.AnyKeyword), ); } else { return factory.createFunctionTypeNode( - visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), - map(node.parameters, (p, i) => factory.createParameterDeclaration( - /*modifiers*/ undefined, - getEffectiveDotDotDotForParameter(p), - getNameForJSDocFunctionParameter(p, i), - p.questionToken, - visitNode(p.type, visitExistingNodeTreeSymbols), - /*initializer*/ undefined - )), - visitNode(node.type, visitExistingNodeTreeSymbols) || factory.createKeywordTypeNode(SyntaxKind.AnyKeyword) + visitNodes(node.typeParameters, visitExistingNodeTreeSymbols, isTypeParameterDeclaration), + map(node.parameters, (p, i) => + factory.createParameterDeclaration( + /*modifiers*/ undefined, + getEffectiveDotDotDotForParameter(p), + getNameForJSDocFunctionParameter(p, i), + p.questionToken, + visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), + /*initializer*/ undefined, + )), + visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode) || factory.createKeywordTypeNode(SyntaxKind.AnyKeyword), ); } } @@ -8233,7 +9582,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } if (isLiteralImportTypeNode(node)) { const nodeSymbol = getNodeLinks(node).resolvedSymbol; - if (isInJSDoc(node) && + if ( + isInJSDoc(node) && nodeSymbol && ( // The import type resolved using jsdoc fallback logic @@ -8250,23 +9600,73 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: node.assertions, node.qualifier, visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, isTypeNode), - node.isTypeOf + node.isTypeOf, ); } + if (isNamedDeclaration(node) && node.name.kind === SyntaxKind.ComputedPropertyName && !isLateBindableName(node.name)) { + if (!(context.flags & NodeBuilderFlags.AllowUnresolvedComputedNames && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & TypeFlags.Any)) { + return undefined; + } + } + if ( + (isFunctionLike(node) && !node.type) || + (isPropertyDeclaration(node) && !node.type && !node.initializer) || + (isPropertySignature(node) && !node.type && !node.initializer) || + (isParameter(node) && !node.type && !node.initializer) + ) { + let visited = visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); + if (visited === node) { + visited = setTextRange(context, factory.cloneNode(node), node); + } + (visited as Mutable).type = factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); + if (isParameter(node)) { + (visited as Mutable).modifiers = undefined; + } + return visited; + } if (isEntityName(node) || isEntityNameExpression(node)) { - const { introducesError, node: result } = trackExistingEntityName(node, context, includePrivateSymbol); - hadError = hadError || introducesError; - if (result !== node) { - return result; + if (isDeclarationName(node)) { + return node; } + const { introducesError, node: result } = trackExistingEntityName(node, context); + hadError = hadError || introducesError; + // We should not go to child nodes of the entity name, they will not be accessible + return result; } - if (file && isTupleTypeNode(node) && (getLineAndCharacterOfPosition(file, node.pos).line === getLineAndCharacterOfPosition(file, node.end).line)) { - setEmitFlags(node, EmitFlags.SingleLine); + if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { + const visited = visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); + const clone = setTextRange(context, visited === node ? factory.cloneNode(node) : visited, node); + const flags = getEmitFlags(clone); + setEmitFlags( + clone, flags | (context.flags & NodeBuilderFlags.MultilineObjectLiterals && isTypeLiteralNode(node) ? 0 : EmitFlags.SingleLine) + ); + return clone; + } + if (isStringLiteral(node) && !!(context.flags & NodeBuilderFlags.UseSingleQuotesForStringLiteralType) && !node.singleQuote) { + const clone = factory.cloneNode(node); + (clone as Mutable).singleQuote = true; + return clone; + } + if (isConditionalTypeNode(node)) { + const checkType = visitNode(node.checkType, visitExistingNodeTreeSymbols, isTypeNode)!; + + const disposeScope = onEnterNewScope(node); + const extendType = visitNode(node.extendsType, visitExistingNodeTreeSymbols, isTypeNode)!; + const trueType = visitNode(node.trueType, visitExistingNodeTreeSymbols, isTypeNode)!; + disposeScope(); + const falseType = visitNode(node.falseType, visitExistingNodeTreeSymbols, isTypeNode)!; + return factory.updateConditionalTypeNode( + node, + checkType, + extendType, + trueType, + falseType, + ); } - return visitEachChild(node, visitExistingNodeTreeSymbols, nullTransformationContext); + return visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); function getEffectiveDotDotDotForParameter(p: ParameterDeclaration) { return p.dotDotDotToken || (p.type && isJSDocVariadicType(p.type) ? factory.createToken(SyntaxKind.DotDotDotToken) : undefined); @@ -8280,18 +9680,12 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function rewriteModuleSpecifier(parent: ImportTypeNode, lit: StringLiteral) { - if (bundled) { - if (context.tracker && context.tracker.moduleResolverHost) { - const targetFile = getExternalModuleFileFromDeclaration(parent); - if (targetFile) { - const getCanonicalFileName = createGetCanonicalFileName(!!host.useCaseSensitiveFileNames); - const resolverHost = { - getCanonicalFileName, - getCurrentDirectory: () => context.tracker.moduleResolverHost!.getCurrentDirectory(), - getCommonSourceDirectory: () => context.tracker.moduleResolverHost!.getCommonSourceDirectory() - }; - const newName = getResolvedExternalModuleName(resolverHost, targetFile); - return factory.createStringLiteral(newName); + if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) { + const targetFile = getExternalModuleFileFromDeclaration(parent); + if (targetFile) { + const newName = getSpecifierForModuleSymbol(targetFile.symbol, context); + if (newName !== lit.text) { + return setOriginalNode(factory.createStringLiteral(newName), lit); } } } @@ -8303,12 +9697,12 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } } - return lit; + return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral)!; } } } - function symbolTableToDeclarationStatements(symbolTable: SymbolTable, context: NodeBuilderContext, bundled?: boolean): Statement[] { + function symbolTableToDeclarationStatements(symbolTable: SymbolTable, context: NodeBuilderContext): Statement[] { const serializePropertySymbolForClass = makeSerializePropertySymbol(factory.createPropertyDeclaration, SyntaxKind.MethodDeclaration, /*useAcessors*/ true); const serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol((mods, name, question, type) => factory.createPropertySignature(mods, name, question, type), SyntaxKind.MethodSignature, /*useAcessors*/ false); @@ -8327,30 +9721,41 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: ...oldcontext, usedSymbolNames: new Set(oldcontext.usedSymbolNames), remappedSymbolNames: new Map(), - tracker: { - ...oldcontext.tracker, - trackSymbol: (sym, decl, meaning) => { - const accessibleResult = isSymbolAccessible(sym, decl, meaning, /*computeAliases*/ false); - if (accessibleResult.accessibility === SymbolAccessibility.Accessible) { - // Lookup the root symbol of the chain of refs we'll use to access it and serialize it - const chain = lookupSymbolChainWorker(sym, context, meaning); - if (!(sym.flags & SymbolFlags.Property)) { - includePrivateSymbol(chain[0]); + tracker: undefined!, + }; + const tracker: SymbolTracker = { + ...oldcontext.tracker.inner, + trackSymbol: (sym, decl, meaning) => { + // If the context has a remapped name for the symbol, it *should* mean it's been made visible + if (context.remappedSymbolNames?.has(getSymbolId(sym))) { + return false; + } + const accessibleResult = isSymbolAccessible(sym, decl, meaning, /*shouldComputeAliasesToMakeVisible*/ false); + if (accessibleResult.accessibility === SymbolAccessibility.Accessible) { + // Lookup the root symbol of the chain of refs we'll use to access it and serialize it + const chain = lookupSymbolChainWorker(sym, context, meaning); + if (!(sym.flags & SymbolFlags.Property)) { + // Only include referenced privates in the same file. Weird JS aliases may expose privates + // from other files - assume JS transforms will make those available via expected means + const root = chain[0]; + const contextFile = getSourceFileOfNode(oldcontext.enclosingDeclaration); + if (some(root.declarations, d => getSourceFileOfNode(d) === contextFile)) { + includePrivateSymbol(root); } } - else if (oldcontext.tracker && oldcontext.tracker.trackSymbol) { - return oldcontext.tracker.trackSymbol(sym, decl, meaning); - } - return false; - }, + } + else if (oldcontext.tracker.inner?.trackSymbol) { + return oldcontext.tracker.inner.trackSymbol(sym, decl, meaning); + } + return false; }, }; - context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); + context.tracker = new SymbolTrackerImpl(context, tracker, oldcontext.tracker.moduleResolverHost); forEachEntry(symbolTable, (symbol, name) => { const baseName = unescapeLeadingUnderscores(name); void getInternalSymbolName(symbol, baseName); // Called to cache values into `usedSymbolNames` and `remappedSymbolNames` }); - let addingDeclare = !bundled; + let addingDeclare = !context.bundled; const exportEquals = symbolTable.get(InternalSymbolName.ExportEquals); if (exportEquals && symbolTable.size > 1 && exportEquals.flags & SymbolFlags.Alias) { symbolTable = createSymbolTable(); @@ -8538,6 +9943,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function serializeSymbol(symbol: Symbol, isPrivate: boolean, propertyAsAlias: boolean): void { + void getPropertiesOfType(getTypeOfSymbol(symbol)); // resolve symbol's type and properties, which should trigger any required merges // cache visited list based on merged symbol, since we want to use the unmerged top-level symbol, but // still skip reserializing it if we encounter the merged product later on const visitedSym = getMergedSymbol(symbol); @@ -8554,6 +9960,13 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (context.reportedDiagnostic) { oldcontext.reportedDiagnostic = context.reportedDiagnostic; // hoist diagnostic result into outer context } + if (context.trackedSymbols) { + if (!oldContext.trackedSymbols) { + oldContext.trackedSymbols = context.trackedSymbols; + } else { + Debug.assert(context.trackedSymbols === oldContext.trackedSymbols); + } + } context = oldContext; } } @@ -8578,7 +9991,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return; // If we need to emit a private with a keyword name, we're done for, since something else will try to refer to it by that name } let needsPostExportDefault = isDefault && !!( - symbol.flags & SymbolFlags.ExportDoesNotSupportDefaultModifier + symbol.flags & SymbolFlags.ExportDoesNotSupportDefaultModifier || (symbol.flags & SymbolFlags.Function && length(getPropertiesOfType(getTypeOfSymbol(symbol)))) ) && !(symbol.flags & SymbolFlags.Alias); // An alias symbol should preclude needing to make an alias ourselves let needsExportDeclaration = !needsPostExportDefault && !isPrivate && isStringANonContextualKeyword(symbolName) && !isDefault; @@ -8646,12 +10059,22 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: ), ModifierFlags.None ); - context.tracker.trackSymbol!(type.symbol, context.enclosingDeclaration, SymbolFlags.Value); + context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, SymbolFlags.Value); } else { - const statement = setTextRange(factory.createVariableStatement(/*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) - ], flags)), textRange); + const statement = setTextRange( + context, + factory.createVariableStatement( + /*modifiers*/ undefined, + factory.createVariableDeclarationList([ + factory.createVariableDeclaration( + name, + /*exclamationToken*/ undefined, + serializeTypeForDeclaration(context, /*declaration*/ undefined, type, symbol) + ) + ], flags) + ), textRange + ); addResult(statement, name !== localName ? modifierFlags & ~ModifierFlags.Export : modifierFlags); if (name !== localName && !isPrivate) { // We rename the variable declaration we generate for Property symbols since they may have a name which @@ -8804,10 +10227,10 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: context.flags |= NodeBuilderFlags.InTypeAlias; const oldEnclosingDecl = context.enclosingDeclaration; context.enclosingDeclaration = jsdocAliasDecl; - const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression - && isJSDocTypeExpression(jsdocAliasDecl.typeExpression) - && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) - || typeToTypeNodeHelper(aliasType, context); + const typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && + isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && + tryReuseExistingNonParameterTypeNode(context, jsdocAliasDecl.typeExpression.type, aliasType, /*host*/ undefined) || + typeToTypeNodeHelper(aliasType, context); addResult(setSyntheticLeadingComments( factory.createTypeAliasDeclaration(/*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, typeNode), !commentText ? [] : [{ kind: SyntaxKind.MultiLineCommentTrivia, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }] @@ -8908,8 +10331,10 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const signatures = getSignaturesOfType(type, SignatureKind.Call); for (const sig of signatures) { // Each overload becomes a separate function declaration, in order - const decl = signatureToSignatureDeclarationHelper(sig, SyntaxKind.FunctionDeclaration, context, { name: factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }) as FunctionDeclaration; - addResult(setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); + const decl = signatureToSignatureDeclarationHelper( + sig, SyntaxKind.FunctionDeclaration, context, { name: factory.createIdentifier(localName) } + ) as FunctionDeclaration; + addResult(setTextRange(context, decl, getSignatureTextRangeLocation(sig)), modifierFlags); } // Module symbol emit will take care of module-y members, provided it has exports if (!(symbol.flags & (SymbolFlags.ValueModule | SymbolFlags.NamespaceModule) && !!symbol.exports && !!symbol.exports.size)) { @@ -9005,16 +10430,16 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return cleanup(/*result*/ undefined); // Empty heritage clause, should be an error, but prefer emitting no heritage clauses to reemitting the empty one } let introducesError: boolean; - ({ introducesError, node: expr } = trackExistingEntityName(expr, context, includePrivateSymbol)); + ({ introducesError, node: expr } = trackExistingEntityName(expr, context)); if (introducesError) { return cleanup(/*result*/ undefined); } } return cleanup(factory.createExpressionWithTypeArguments(expr, map(e.typeArguments, a => - serializeExistingTypeNode(context, a, includePrivateSymbol, bundled) + tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) || typeToTypeNodeHelper(getTypeFromTypeNode(a), context) - ) + ), )); function cleanup(result: T): T { @@ -9091,7 +10516,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: serializeSignatures(SignatureKind.Construct, staticType, staticBaseType, SyntaxKind.Constructor) as ConstructorDeclaration[]; const indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; - addResult(setTextRange(factory.createClassDeclaration( + addResult(setTextRange( + context, + factory.createClassDeclaration( /*modifiers*/ undefined, localName, typeParamDecls, @@ -9161,6 +10588,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } // We don't know how to serialize this (nested?) binding element Debug.failBadSyntaxKind(node.parent?.parent || node, "Unhandled binding element grandparent kind in declaration serialization"); + break; case SyntaxKind.ShorthandPropertyAssignment: if (node.parent?.parent?.kind === SyntaxKind.BinaryExpression) { // module.exports = { SomeClass } @@ -9219,25 +10647,32 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: // Is bound into file.symbol.globalExports instead, which we don't currently traverse addResult(factory.createNamespaceExportDeclaration(idText((node as NamespaceExportDeclaration).name)), ModifierFlags.None); break; - case SyntaxKind.ImportClause: + case SyntaxKind.ImportClause: { + // generate specifier (even though we're reusing and existing one) for ambient module reference include side effects + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier = context.bundled ? + factory.createStringLiteral(generatedSpecifier) : (node as ImportClause).parent.moduleSpecifier; addResult(factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause(/*isTypeOnly*/ false, factory.createIdentifier(localName), /*namedBindings*/ undefined), - // We use `target.parent || target` below as `target.parent` is unset when the target is a module which has been export assigned - // And then made into a default by the `esModuleInterop` or `allowSyntheticDefaultImports` flag - // In such cases, the `target` refers to the module itself already - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), - /*assertClause*/ undefined + specifier, + /*assertClause*/ undefined ), ModifierFlags.None); break; - case SyntaxKind.NamespaceImport: + } + case SyntaxKind.NamespaceImport: { + // generate specifier (even though we're reusing and existing one) for ambient module reference include side effects + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier = context.bundled ? + factory.createStringLiteral(generatedSpecifier) : (node as NamespaceImport).parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, factory.createNamespaceImport(factory.createIdentifier(localName))), - factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), - /*assertClause*/ undefined + specifier, + /*assertClause*/ undefined ), ModifierFlags.None); break; + } case SyntaxKind.NamespaceExport: addResult(factory.createExportDeclaration( /*modifiers*/ undefined, @@ -9246,7 +10681,11 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)) ), ModifierFlags.None); break; - case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportSpecifier: { + // generate specifier (even though we're reusing and existing one) for ambient module reference include side effects + const generatedSpecifier = getSpecifierForModuleSymbol(target.parent || target, context); + const specifier = context.bundled ? + factory.createStringLiteral(generatedSpecifier) : (node as ImportSpecifier).parent.parent.parent.moduleSpecifier; addResult(factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause( @@ -9259,10 +10698,11 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: factory.createIdentifier(localName) ) ])), - factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), - /*assertClause*/ undefined + specifier, + /*assertClause*/ undefined ), ModifierFlags.None); break; + } case SyntaxKind.ExportSpecifier: // does not use localName because the symbol name in this case refers to the name in the exports table, // which we must exactly preserve @@ -9383,7 +10823,13 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } else { const statement = factory.createVariableStatement(/*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(varName, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) + factory.createVariableDeclaration( + varName, + /*exclamationToken*/ undefined, + serializeTypeForDeclaration( + context, /*declaration*/ undefined, typeToSerialize, symbol + ) + ) ], NodeFlags.Const)); // Inlined JSON types exported with [module.]exports= will already emit an export=, so should use `declare`. // Otherwise, the type itself should be exported. @@ -9414,15 +10860,19 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: // whose input is not type annotated (if the input symbol has an annotation we can reuse, we should prefer it) const ctxSrc = getSourceFileOfNode(context.enclosingDeclaration); return getObjectFlags(typeToSerialize) & (ObjectFlags.Anonymous | ObjectFlags.Mapped) && - !length(getIndexInfosOfType(typeToSerialize)) && - !isClassInstanceSide(typeToSerialize) && // While a class instance is potentially representable as a NS, prefer printing a reference to the instance type and serializing the class - !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, SignatureKind.Call))) && - !length(getSignaturesOfType(typeToSerialize, SignatureKind.Construct)) && // TODO: could probably serialize as function + ns + class, now that that's OK - !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && - !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, d => getSourceFileOfNode(d) !== ctxSrc)) && - !some(getPropertiesOfType(typeToSerialize), p => isLateBoundName(p.escapedName)) && - !some(getPropertiesOfType(typeToSerialize), p => some(p.declarations, d => getSourceFileOfNode(d) !== ctxSrc)) && - every(getPropertiesOfType(typeToSerialize), p => isIdentifierText(symbolName(p), languageVersion)); + // If the type comes straight from a type node, we shouldn't try to break it up + !some(typeToSerialize.symbol?.declarations, isTypeNode) && + !length(getIndexInfosOfType(typeToSerialize)) && + // While a class instance is potentially representable as a NS, + // prefer printing a reference to the instance type and serializing the class + !isClassInstanceSide(typeToSerialize) && + !!(length(filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || length(getSignaturesOfType(typeToSerialize, SignatureKind.Call))) && + !length(getSignaturesOfType(typeToSerialize, SignatureKind.Construct)) && // TODO: could probably serialize as function + ns + class, now that that's OK + !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && + !(typeToSerialize.symbol && some(typeToSerialize.symbol.declarations, d => getSourceFileOfNode(d) !== ctxSrc)) && + !some(getPropertiesOfType(typeToSerialize), p => isLateBoundName(p.escapedName)) && + !some(getPropertiesOfType(typeToSerialize), p => some(p.declarations, d => getSourceFileOfNode(d) !== ctxSrc)) && + every(getPropertiesOfType(typeToSerialize), p => isIdentifierText(symbolName(p), languageVersion)); } function makeSerializePropertySymbol(createProperty: ( @@ -9467,7 +10917,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (p.flags & SymbolFlags.Accessor && useAccessors) { const result: AccessorDeclaration[] = []; if (p.flags & SymbolFlags.SetAccessor) { - result.push(setTextRange(factory.createSetAccessorDeclaration( + result.push(setTextRange( + context, + factory.createSetAccessorDeclaration( factory.createModifiersFromModifierFlags(flag), name, [factory.createParameterDeclaration( @@ -9475,18 +10927,20 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: /*dotDotDotToken*/ undefined, "arg", /*questionToken*/ undefined, - isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled) + isPrivate ? undefined : serializeTypeForDeclaration(context, /*declaration*/ undefined, getWriteTypeOfSymbol(p), p) )], /*body*/ undefined ), p.declarations?.find(isSetAccessor) || firstPropertyLikeDecl)); } if (p.flags & SymbolFlags.GetAccessor) { const isPrivate = modifierFlags & ModifierFlags.Private; - result.push(setTextRange(factory.createGetAccessorDeclaration( + result.push(setTextRange( + context, + factory.createGetAccessorDeclaration( factory.createModifiersFromModifierFlags(flag), name, [], - isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + isPrivate ? undefined : serializeTypeForDeclaration(context, /*declaration*/ undefined, getTypeOfSymbol(p), p), /*body*/ undefined ), p.declarations?.find(isGetAccessor) || firstPropertyLikeDecl)); } @@ -9495,11 +10949,13 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: // This is an else/if as accessors and properties can't merge in TS, but might in JS // If this happens, we assume the accessor takes priority, as it imposes more constraints else if (p.flags & (SymbolFlags.Property | SymbolFlags.Variable | SymbolFlags.Accessor)) { - return setTextRange(createProperty( + return setTextRange( + context, + createProperty( factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? ModifierFlags.Readonly : 0) | flag), name, p.flags & SymbolFlags.Optional ? factory.createToken(SyntaxKind.QuestionToken) : undefined, - isPrivate ? undefined : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + isPrivate ? undefined : serializeTypeForDeclaration(context, /*declaration*/ undefined, getWriteTypeOfSymbol(p), p), // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357 // interface members can't have initializers, however class members _can_ /*initializer*/ undefined @@ -9509,7 +10965,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const type = getTypeOfSymbol(p); const signatures = getSignaturesOfType(type, SignatureKind.Call); if (flag & ModifierFlags.Private) { - return setTextRange(createProperty( + return setTextRange( + context, + createProperty( factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? ModifierFlags.Readonly : 0) | flag), name, p.flags & SymbolFlags.Optional ? factory.createToken(SyntaxKind.QuestionToken) : undefined, @@ -9532,7 +10990,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } ); const location = sig.declaration && isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; - results.push(setTextRange(decl, location)); + results.push(setTextRange(context, decl, location)); } return results as unknown as T[]; } @@ -9577,11 +11035,15 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } if (privateProtected) { - return [setTextRange(factory.createConstructorDeclaration( - factory.createModifiersFromModifierFlags(privateProtected), - /*parameters*/ [], - /*body*/ undefined, - ), signatures[0].declaration)]; + return [setTextRange( + context, + factory.createConstructorDeclaration( + factory.createModifiersFromModifierFlags(privateProtected), + /*parameters*/ [], + /*body*/ undefined, + ), + signatures[0].declaration, + )]; } } @@ -9589,7 +11051,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: for (const sig of signatures) { // Each overload becomes a separate constructor declaration, in order const decl = signatureToSignatureDeclarationHelper(sig, outputKind, context); - results.push(setTextRange(decl, sig.declaration)); + results.push(setTextRange(context, decl, sig.declaration)); } return results; } @@ -9728,8 +11190,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const t = types[i]; flags |= t.flags; if (!(t.flags & TypeFlags.Nullable)) { - if (t.flags & (TypeFlags.BooleanLiteral | TypeFlags.EnumLiteral)) { - const baseType = t.flags & TypeFlags.BooleanLiteral ? booleanType : getBaseTypeOfEnumLiteralType(t as LiteralType); + if (t.flags & (TypeFlags.BooleanLiteral | TypeFlags.EnumLike)) { + const baseType = t.flags & TypeFlags.BooleanLiteral ? booleanType : getBaseTypeOfEnumLikeType(t as LiteralType); if (baseType.flags & TypeFlags.Union) { const count = (baseType as UnionType).types.length; if (i + count <= types.length && getRegularTypeOfLiteralType(types[i + count - 1]) === getRegularTypeOfLiteralType((baseType as UnionType).types[count - 1])) { @@ -9773,28 +11235,6 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: isExternalModuleAugmentation(node.parent.parent); } - interface NodeBuilderContext { - enclosingDeclaration: Node | undefined; - flags: NodeBuilderFlags; - tracker: SymbolTracker; - - // State - encounteredError: boolean; - reportedDiagnostic: boolean; - visitedTypes: Set | undefined; - symbolDepth: ESMap | undefined; - inferTypeParameters: TypeParameter[] | undefined; - approximateLength: number; - truncating?: boolean; - typeParameterSymbolList?: Set; - typeParameterNames?: ESMap; - typeParameterNamesByText?: Set; - typeParameterNamesByTextNextNameCount?: ESMap; - usedSymbolNames?: Set; - remappedSymbolNames?: ESMap; - reverseMappedStack?: ReverseMappedSymbol[]; - } - function isDefaultBindingContext(location: Node) { return location.kind === SyntaxKind.SourceFile || isAmbientModule(location); } @@ -10233,9 +11673,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (parentAccess && parentAccess.flowNode) { const propName = getDestructuringPropertyName(node); if (propName) { - const literal = setTextRange(parseNodeFactory.createStringLiteral(propName), node); + const literal = setTextRangeWorker(parseNodeFactory.createStringLiteral(propName), node); const lhsExpr = isLeftHandSideExpression(parentAccess) ? parentAccess : parseNodeFactory.createParenthesizedExpression(parentAccess); - const result = setTextRange(parseNodeFactory.createElementAccessExpression(lhsExpr, literal), node); + const result = setTextRangeWorker(parseNodeFactory.createElementAccessExpression(lhsExpr, literal), node); setParent(literal, result); setParent(result, node); if (lhsExpr !== parentAccess) { @@ -11995,7 +13435,8 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return (expr as PrefixUnaryExpression).operator === SyntaxKind.MinusToken && (expr as PrefixUnaryExpression).operand.kind === SyntaxKind.NumericLiteral; case SyntaxKind.Identifier: - return nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports!.get((expr as Identifier).escapedText); + return nodeIsMissing(expr) || + getSymbolOfNode(member.parent).exports!.get((expr as Identifier).escapedText)?.valueDeclaration?.kind === SyntaxKind.EnumMember; case SyntaxKind.BinaryExpression: return isStringConcatExpression(expr); default: @@ -12013,7 +13454,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: for (const declaration of symbol.declarations) { if (declaration.kind === SyntaxKind.EnumDeclaration) { for (const member of (declaration as EnumDeclaration).members) { - if (member.initializer && isStringLiteralLike(member.initializer)) { + if (member.initializer && isStringConcatExpression(member.initializer)) { return links.enumKind = EnumKind.Literal; } if (!isLiteralEnumMember(member)) { @@ -12026,8 +13467,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return links.enumKind = hasNonLiteralMember ? EnumKind.Numeric : EnumKind.Literal; } - function getBaseTypeOfEnumLiteralType(type: Type) { - return type.flags & TypeFlags.EnumLiteral && !(type.flags & TypeFlags.Union) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)!) : type; + function getBaseTypeOfEnumLikeType(type: Type): Type { + return type.flags & TypeFlags.EnumLike && type.symbol.flags & SymbolFlags.EnumMember ? + getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)!) : type; } function getDeclaredTypeOfEnum(symbol: Symbol): Type { @@ -12042,9 +13484,11 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: for (const declaration of symbol.declarations) { if (declaration.kind === SyntaxKind.EnumDeclaration) { for (const member of (declaration as EnumDeclaration).members) { - const value = getEnumMemberValue(member); - const memberType = getFreshTypeOfLiteralType(getEnumLiteralType(value !== undefined ? value : 0, enumCount, getSymbolOfNode(member))); - getSymbolLinks(getSymbolOfNode(member)).declaredType = memberType; + const memberSymbol = getSymbolOfNode(member); + const value = getEnumMemberValue(member).value; + const memberType = value !== undefined ? getFreshTypeOfLiteralType( + getEnumLiteralType(value, enumCount, memberSymbol)) : createComputedEnumType(memberSymbol); + getSymbolLinks(memberSymbol).declaredType = memberType; memberTypeList.push(getRegularTypeOfLiteralType(memberType)); } } @@ -12059,9 +13503,19 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return links.declaredType = enumType; } } - const enumType = createType(TypeFlags.Enum); - enumType.symbol = symbol; - return links.declaredType = enumType; + const enumType = createComputedEnumType(symbol); + links.declaredType = enumType; + return links.declaredType; + } + + function createComputedEnumType(symbol: Symbol): EnumType { + const regularType = createTypeWithSymbol(TypeFlags.Enum, symbol) as EnumType; + const freshType = createTypeWithSymbol(TypeFlags.Enum, symbol) as EnumType; + regularType.regularType = regularType; + regularType.freshType = freshType; + freshType.freshType = freshType; + freshType.regularType = regularType; + return regularType; } function getDeclaredTypeOfEnumMember(symbol: Symbol): Type { @@ -15057,8 +16511,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function cloneTypeReference(source: TypeReference): TypeReference { - const type = createType(source.flags) as TypeReference; - type.symbol = source.symbol; + const type = createTypeWithSymbol(source.flags, source.symbol) as TypeReference; type.objectFlags = source.objectFlags; type.target = source.target; type.resolvedTypeArguments = source.resolvedTypeArguments; @@ -16259,7 +17712,10 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: orderedRemoveItemAt(typeSet, missingIndex); } } - if (includes & (TypeFlags.Literal | TypeFlags.UniqueESSymbol | TypeFlags.TemplateLiteral | TypeFlags.StringMapping) || includes & TypeFlags.Void && includes & TypeFlags.Undefined) { + if ( + includes & (TypeFlags.Enum | TypeFlags.Literal | TypeFlags.UniqueESSymbol | TypeFlags.TemplateLiteral | TypeFlags.StringMapping) || + includes & TypeFlags.Void && includes & TypeFlags.Undefined + ) { removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & UnionReduction.Subtype)); } if (includes & TypeFlags.StringLiteral && includes & TypeFlags.TemplateLiteral) { @@ -17034,8 +18490,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function createStringMappingType(symbol: Symbol, type: Type) { - const result = createType(TypeFlags.StringMapping) as StringMappingType; - result.symbol = symbol; + const result = createTypeWithSymbol(TypeFlags.StringMapping, symbol) as StringMappingType; result.type = type; return result; } @@ -18100,33 +19555,32 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function createLiteralType(flags: TypeFlags, value: string | number | PseudoBigInt, symbol?: Symbol, regularType?: LiteralType) { - const type = createType(flags) as LiteralType; - type.symbol = symbol!; + const type = createTypeWithSymbol(flags, symbol!) as LiteralType; type.value = value; type.regularType = regularType || type; return type; } function getFreshTypeOfLiteralType(type: Type): Type { - if (type.flags & TypeFlags.Literal) { - if (!(type as LiteralType).freshType) { + if (type.flags & TypeFlags.Freshable) { + if (!(type as FreshableType).freshType) { const freshType = createLiteralType(type.flags, (type as LiteralType).value, (type as LiteralType).symbol, type as LiteralType); freshType.freshType = freshType; - (type as LiteralType).freshType = freshType; + (type as FreshableType).freshType = freshType; } - return (type as LiteralType).freshType; + return (type as FreshableType).freshType; } return type; } function getRegularTypeOfLiteralType(type: Type): Type { - return type.flags & TypeFlags.Literal ? (type as LiteralType).regularType : + return type.flags & TypeFlags.Freshable ? (type as FreshableType).regularType : type.flags & TypeFlags.Union ? ((type as UnionType).regularType || ((type as UnionType).regularType = mapType(type, getRegularTypeOfLiteralType) as UnionType)) : type; } function isFreshLiteralType(type: Type) { - return !!(type.flags & TypeFlags.Literal) && (type as LiteralType).freshType === type; + return !!(type.flags & TypeFlags.Freshable) && (type as LiteralType).freshType === type; } function getStringLiteralType(value: string): StringLiteralType { @@ -18169,8 +19623,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function createUniqueESSymbolType(symbol: Symbol) { - const type = createType(TypeFlags.UniqueESSymbol) as UniqueESSymbolType; - type.symbol = symbol; + const type = createTypeWithSymbol(TypeFlags.UniqueESSymbol, symbol) as UniqueESSymbolType; type.escapedName = `__@${type.symbol.escapedName}@${getSymbolId(type.symbol)}` as __String; return type; } @@ -19573,11 +21026,11 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: function isSignatureAssignableTo(source: Signature, target: Signature, ignoreReturnTypes: boolean): boolean { - return compareSignaturesRelated(source, target, ignoreReturnTypes ? SignatureCheckMode.IgnoreReturnTypes : 0, /*reportErrors*/ false, + return compareSignaturesRelated(source, target, ignoreReturnTypes ? SignatureCheckMode.IgnoreReturnTypes : SignatureCheckMode.None, /*reportErrors*/ false, /*errorReporter*/ undefined, /*errorReporter*/ undefined, compareTypesAssignable, /*reportUnreliableMarkers*/ undefined) !== Ternary.False; } - type ErrorReporter = (message: DiagnosticMessage, arg0?: string, arg1?: string) => void; + type ErrorReporter = (message: DiagnosticMessage, ...args: DiagnosticArguments) => void; /** * Returns true if `s` is `(...args: any[]) => any` or `(this: any, ...args: any[]) => any` @@ -19843,8 +21296,13 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const targetProperty = getPropertyOfType(targetEnumType, property.escapedName); if (!targetProperty || !(targetProperty.flags & SymbolFlags.EnumMember)) { if (errorReporter) { - errorReporter(Diagnostics.Property_0_is_missing_in_type_1, symbolName(property), - typeToString(getDeclaredTypeOfSymbol(targetSymbol), /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType)); + errorReporter( + Diagnostics.Property_0_is_missing_in_type_1, + symbolName(property), + typeToString(getDeclaredTypeOfSymbol(targetSymbol), + /*enclosingDeclaration*/ undefined, + TypeFormatFlags.UseFullyQualifiedType) + ); enumRelation.set(id, RelationComparisonResult.Failed | RelationComparisonResult.Reported); } else { @@ -19874,12 +21332,21 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (s & TypeFlags.BigIntLike && t & TypeFlags.BigInt) return true; if (s & TypeFlags.BooleanLike && t & TypeFlags.Boolean) return true; if (s & TypeFlags.ESSymbolLike && t & TypeFlags.ESSymbol) return true; - if (s & TypeFlags.Enum && t & TypeFlags.Enum && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; + if ( + s & TypeFlags.Enum && t & TypeFlags.Enum && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter) + ) { + return true; + } if (s & TypeFlags.EnumLiteral && t & TypeFlags.EnumLiteral) { - if (s & TypeFlags.Union && t & TypeFlags.Union && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & TypeFlags.Literal && t & TypeFlags.Literal && - (source as LiteralType).value === (target as LiteralType).value && - isEnumTypeRelatedTo(getParentOfSymbol(source.symbol)!, getParentOfSymbol(target.symbol)!, errorReporter)) return true; + if (s & TypeFlags.Union && t & TypeFlags.Union && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) { + return true; + } + if ( + s & TypeFlags.Literal && t & TypeFlags.Literal && (source as LiteralType).value === (target as LiteralType).value && + isEnumTypeRelatedTo(getParentOfSymbol(source.symbol)!, getParentOfSymbol(target.symbol)!, errorReporter) + ) { + return true; + } } // In non-strictNullChecks mode, `undefined` and `null` are assignable to anything except `never`. // Since unions and intersections may reduce to `never`, we exclude them here. @@ -22956,7 +24423,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function getBaseTypeOfLiteralType(type: Type): Type { - return type.flags & TypeFlags.EnumLiteral ? getBaseTypeOfEnumLiteralType(type as LiteralType) : + return type.flags & TypeFlags.EnumLike ? getBaseTypeOfEnumLikeType(type as LiteralType) : type.flags & (TypeFlags.StringLiteral | TypeFlags.TemplateLiteral | TypeFlags.StringMapping) ? stringType : type.flags & TypeFlags.NumberLiteral ? numberType : type.flags & TypeFlags.BigIntLiteral ? bigintType : @@ -22971,7 +24438,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function getWidenedLiteralType(type: Type): Type { - return type.flags & TypeFlags.EnumLiteral && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type as LiteralType) : + return type.flags & TypeFlags.EnumLike && isFreshLiteralType(type) ? getBaseTypeOfEnumLikeType(type as LiteralType) : type.flags & TypeFlags.StringLiteral && isFreshLiteralType(type) ? stringType : type.flags & TypeFlags.NumberLiteral && isFreshLiteralType(type) ? numberType : type.flags & TypeFlags.BigIntLiteral && isFreshLiteralType(type) ? bigintType : @@ -24012,7 +25479,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: function inferTypes(inferences: InferenceInfo[], originalSource: Type, originalTarget: Type, priority: InferencePriority = 0, contravariant = false) { let bivariant = false; let propagationType: Type; - let inferencePriority = InferencePriority.MaxValue; + let inferencePriority: number = InferencePriority.MaxValue; let allowComplexConstraintInference = true; let visited: ESMap; let sourceStack: object[]; @@ -25590,7 +27057,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } return true; } - if (source.flags & TypeFlags.EnumLiteral && getBaseTypeOfEnumLiteralType(source as LiteralType) === target) { + if (source.flags & TypeFlags.EnumLike && getBaseTypeOfEnumLikeType(source as LiteralType) === target) { return true; } return containsType(target.types, source); @@ -27142,7 +28609,12 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const symbol = getResolvedSymbol(expr as Identifier); if (isConstVariable(symbol)) { const declaration = symbol.valueDeclaration; - if (declaration && isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && isConstantReference(reference)) { + if ( + declaration && + isVariableDeclaration(declaration) && + !declaration.type && declaration.initializer && + isConstantReference(reference) + ) { inlineLevel++; const result = narrowType(type, declaration.initializer, assumeTrue); inlineLevel--; @@ -32319,7 +33791,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: function createSyntheticExpression(parent: Node, type: Type, isSpread?: boolean, tupleNameSource?: ParameterDeclaration | NamedTupleMember) { const result = parseNodeFactory.createSyntheticExpression(type, isSpread, tupleNameSource); - setTextRange(result, parent); + setTextRangeWorker(result, parent); setParent(result, parent); return result; } @@ -37021,7 +38493,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function checkExpressionCached(node: Expression | QualifiedName, checkMode?: CheckMode): Type { - if (checkMode && checkMode !== CheckMode.Normal) { + if (checkMode) { return checkExpression(node, checkMode); } const links = getNodeLinks(node); @@ -43626,14 +45098,13 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: nodeLinks.flags |= NodeCheckFlags.EnumValuesComputed; let autoValue: number | undefined = 0; for (const member of node.members) { - const value = computeMemberValue(member, autoValue); - getNodeLinks(member).enumMemberValue = value; - autoValue = typeof value === "number" ? value + 1 : undefined; + const result = computeEnumMemberValue(member, autoValue); + getNodeLinks(member).enumMemberValue = result; + autoValue = typeof result.value === "number" ? result.value + 1 : undefined; } } } - - function computeMemberValue(member: EnumMember, autoValue: number | undefined) { + function computeEnumMemberValue(member: EnumMember, autoValue: number | undefined): EvaluatorResult { if (isComputedNonLiteralName(member.name)) { error(member.name, Diagnostics.Computed_property_names_are_not_allowed_in_enums); } @@ -43644,39 +45115,43 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } if (member.initializer) { - return computeConstantValue(member); + return computeConstantEnumMemberValue(member); } // In ambient non-const numeric enum declarations, enum members without initializers are // considered computed members (as opposed to having auto-incremented values). if (member.parent.flags & NodeFlags.Ambient && !isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === EnumKind.Numeric) { - return undefined; + return evaluatorResult(/*value*/ undefined); } // If the member declaration specifies no value, the member is considered a constant enum member. // If the member is the first member in the enum declaration, it is assigned the value zero. // Otherwise, it is assigned the value of the immediately preceding member plus one, and an error // occurs if the immediately preceding member is not a constant enum member. - if (autoValue !== undefined) { - return autoValue; + if (autoValue === undefined) { + error(member.name, Diagnostics.Enum_member_must_have_initializer); + return evaluatorResult(/*value*/ undefined); } - error(member.name, Diagnostics.Enum_member_must_have_initializer); - return undefined; + return evaluatorResult(autoValue); } - function computeConstantValue(member: EnumMember): string | number | undefined { + function computeConstantEnumMemberValue(member: EnumMember): EvaluatorResult { const enumKind = getEnumKind(getSymbolOfNode(member.parent)); const isConstEnum = isEnumConst(member.parent); const initializer = member.initializer!; - const value = enumKind === EnumKind.Literal && !isLiteralEnumMember(member) ? undefined : evaluate(initializer); - if (value !== undefined) { - if (isConstEnum && typeof value === "number" && !isFinite(value)) { - error(initializer, isNaN(value) ? + const result = enumKind === EnumKind.Literal && !isLiteralEnumMember(member) ? evaluatorResult(/*value*/ undefined) : evaluate(initializer, member); + if (result.value !== undefined) { + if (isConstEnum && typeof result.value === "number" && !isFinite(result.value)) { + error( + initializer, + isNaN(result.value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : - Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value); + Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value, + ); } } else if (enumKind === EnumKind.Literal) { + const result = evaluate(initializer, member); error(initializer, Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members); - return 0; + return evaluatorResult(/*value*/ 0, result.isSyntacticallyString, result.resolvedOtherFiles, result.hasExternalReferences); } else if (isConstEnum) { error(initializer, Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); @@ -43694,93 +45169,178 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: checkTypeAssignableTo(source, getDeclaredTypeOfSymbol(getSymbolOfNode(member.parent)), initializer, /*headMessage*/ undefined); } } - return value; + return result; - function evaluate(expr: Expression): string | number | undefined { + function evaluate(expr: Expression, location: Declaration): EvaluatorResult { + let isSyntacticallyString = false; + let resolvedOtherFiles = false; + let hasExternalReferences = false; + // It's unclear when/whether we should consider skipping other kinds of outer expressions. + // Type assertions intentionally break evaluation when evaluating literal types, such as: + // type T = `one ${"two" as any} three`; // string + // But it's less clear whether such an assertion should break enum member evaluation: + // enum E { + // A = "one" as any + // } + // SatisfiesExpressions and non-null assertions seem to have even less reason to break + // emitting enum members as literals. However, these expressions also break Babel's + // evaluation (but not esbuild's), and the isolatedModules errors we give depend on + // our evaluation results, so we're currently being conservative so as to issue errors + // on code that might break Babel. + expr = skipParentheses(expr); switch (expr.kind) { case SyntaxKind.PrefixUnaryExpression: - const value = evaluate((expr as PrefixUnaryExpression).operand); - if (typeof value === "number") { + const result = evaluate((expr as PrefixUnaryExpression).operand, location); + resolvedOtherFiles = result.resolvedOtherFiles; + hasExternalReferences = result.hasExternalReferences; + if (typeof result.value === "number") { switch ((expr as PrefixUnaryExpression).operator) { - case SyntaxKind.PlusToken: return value; - case SyntaxKind.MinusToken: return -value; - case SyntaxKind.TildeToken: return ~value; + case SyntaxKind.PlusToken: + return evaluatorResult(result.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.MinusToken: + return evaluatorResult(-result.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.TildeToken: + return evaluatorResult(~result.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } } break; - case SyntaxKind.BinaryExpression: - const left = evaluate((expr as BinaryExpression).left); - const right = evaluate((expr as BinaryExpression).right); - if (typeof left === "number" && typeof right === "number") { + case SyntaxKind.BinaryExpression: { + const left = evaluate((expr as BinaryExpression).left, location); + const right = evaluate((expr as BinaryExpression).right, location); + isSyntacticallyString = (left.isSyntacticallyString || right.isSyntacticallyString) && + (expr as BinaryExpression).operatorToken.kind === SyntaxKind.PlusToken; + resolvedOtherFiles = left.resolvedOtherFiles || right.resolvedOtherFiles; + hasExternalReferences = left.hasExternalReferences || right.hasExternalReferences; + if (typeof left.value === "number" && typeof right.value === "number") { switch ((expr as BinaryExpression).operatorToken.kind) { - case SyntaxKind.BarToken: return left | right; - case SyntaxKind.AmpersandToken: return left & right; - case SyntaxKind.GreaterThanGreaterThanToken: return left >> right; - case SyntaxKind.GreaterThanGreaterThanGreaterThanToken: return left >>> right; - case SyntaxKind.LessThanLessThanToken: return left << right; - case SyntaxKind.CaretToken: return left ^ right; - case SyntaxKind.AsteriskToken: return left * right; - case SyntaxKind.SlashToken: return left / right; - case SyntaxKind.PlusToken: return left + right; - case SyntaxKind.MinusToken: return left - right; - case SyntaxKind.PercentToken: return left % right; - case SyntaxKind.AsteriskAsteriskToken: return left ** right; - } - } - else if (typeof left === "string" && typeof right === "string" && (expr as BinaryExpression).operatorToken.kind === SyntaxKind.PlusToken) { - return left + right; + case SyntaxKind.BarToken: + return evaluatorResult(left.value | right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.AmpersandToken: + return evaluatorResult(left.value & right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.GreaterThanGreaterThanToken: + return evaluatorResult(left.value >> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.GreaterThanGreaterThanGreaterThanToken: + return evaluatorResult(left.value >>> right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.LessThanLessThanToken: + return evaluatorResult(left.value << right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.CaretToken: + return evaluatorResult(left.value ^ right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.AsteriskToken: + return evaluatorResult(left.value * right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.SlashToken: + return evaluatorResult(left.value / right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.PlusToken: + return evaluatorResult(left.value + right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.MinusToken: + return evaluatorResult(left.value - right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.PercentToken: + return evaluatorResult(left.value % right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + case SyntaxKind.AsteriskAsteriskToken: + return evaluatorResult(left.value ** right.value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); + } + } + else if (typeof left.value === "string" && typeof right.value === "string" && + (expr as BinaryExpression).operatorToken.kind === SyntaxKind.PlusToken + ) { + return evaluatorResult( + "" + left.value + right.value, + isSyntacticallyString, + resolvedOtherFiles, + hasExternalReferences, + ); } break; + } case SyntaxKind.StringLiteral: case SyntaxKind.NoSubstitutionTemplateLiteral: - return (expr as StringLiteralLike).text; + return evaluatorResult((expr as StringLiteralLike).text, /*isSyntacticallyString*/ true); case SyntaxKind.NumericLiteral: - checkGrammarNumericLiteral(expr as NumericLiteral); - return +(expr as NumericLiteral).text; - case SyntaxKind.ParenthesizedExpression: - return evaluate((expr as ParenthesizedExpression).expression); + return evaluatorResult(+(expr as NumericLiteral).text); case SyntaxKind.Identifier: - const identifier = expr as Identifier; - if (isInfinityOrNaNString(identifier.escapedText)) { - return +(identifier.escapedText); - } - return nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case SyntaxKind.ElementAccessExpression: + return evaluateEntityNameExpression(expr as Identifier, location); case SyntaxKind.PropertyAccessExpression: - if (isConstantMemberAccess(expr)) { - const type = getTypeOfExpression(expr.expression); - if (type.symbol && type.symbol.flags & SymbolFlags.Enum) { - let name: __String; - if (expr.kind === SyntaxKind.PropertyAccessExpression) { - name = expr.name.escapedText; - } - else { - name = escapeLeadingUnderscores(cast(expr.argumentExpression, isLiteralExpression).text); - } - return evaluateEnumMember(expr, type.symbol, name); - } + if (isEntityNameExpression(expr)) { + return evaluateEntityNameExpression(expr, location); } break; + case SyntaxKind.ElementAccessExpression: + return evaluateElementAccessExpression(expr as ElementAccessExpression, location); + } - return undefined; + return evaluatorResult(/*value*/ undefined, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences); } - function evaluateEnumMember(expr: Expression, enumSymbol: Symbol, name: __String) { - const memberSymbol = enumSymbol.exports!.get(name); - if (memberSymbol) { - const declaration = memberSymbol.valueDeclaration; - if (declaration !== member) { - if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member) && isEnumDeclaration(declaration.parent)) { - return getEnumMemberValue(declaration as EnumMember); + function evaluateEntityNameExpression(expr: EntityNameExpression, location: Declaration): EvaluatorResult { + const symbol = resolveEntityName(expr, SymbolFlags.Value, /*ignoreErrors*/ true); + if (!symbol) { + return evaluatorResult(/*value*/ undefined); + } + + if (expr.kind === SyntaxKind.Identifier) { + const identifier = expr; + if ( + isInfinityOrNaNString(identifier.escapedText) && + (symbol === getGlobalSymbol(identifier.escapedText, SymbolFlags.Value, /*diagnostic*/ undefined)) + ) { + // Technically we resolved a global lib file here, but the decision to treat this as numeric + // is more predicated on the fact that the single-file resolution *didn't* resolve to a + // different meaning of `Infinity` or `NaN`. Transpilers handle this no problem. + return evaluatorResult(+(identifier.escapedText), /*isSyntacticallyString*/ false); + } + } + + if (symbol.flags & SymbolFlags.EnumMember) { + return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration as EnumMember); + } + if (isConstVariable(symbol)) { + const declaration = symbol.valueDeclaration; + if (declaration && isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && (!location || declaration !== location && isBlockScopedNameDeclaredBeforeUse(declaration, location))) { + const result = evaluate(declaration.initializer, declaration); + if (location && getSourceFileOfNode(location) !== getSourceFileOfNode(declaration)) { + return evaluatorResult( + result.value, + /*isSyntacticallyString*/ false, + /*resolvedOtherFiles*/ true, + /*hasExternalReferences*/ true, + ); } - error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); - return 0; + return evaluatorResult(result.value, result.isSyntacticallyString, result.resolvedOtherFiles, /*hasExternalReferences*/ true); } - else { - error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(memberSymbol)); + } + return evaluatorResult(/*value*/ undefined); + } + + function evaluateElementAccessExpression(expr: ElementAccessExpression, location?: Declaration): EvaluatorResult { + const root = expr.expression; + if (isEntityNameExpression(root) && isStringLiteralLike(expr.argumentExpression)) { + const rootSymbol = resolveEntityName(root, SymbolFlags.Value, /*ignoreErrors*/ true); + if (rootSymbol && rootSymbol.flags & SymbolFlags.Enum) { + const name = escapeLeadingUnderscores(expr.argumentExpression.text); + const member = rootSymbol.exports!.get(name); + if (member) { + Debug.assert(getSourceFileOfNode(member.valueDeclaration) === getSourceFileOfNode(rootSymbol.valueDeclaration)); + return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration as EnumMember); + } } } - return undefined; + return evaluatorResult(/*value*/ undefined); + } + + function evaluateEnumMember(expr: Expression, symbol: Symbol, location: Declaration): EvaluatorResult { + const declaration = symbol.valueDeclaration; + if (!declaration || declaration === location) { + error(expr, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(symbol)); + return evaluatorResult(/*value*/ undefined); + } + if (!isBlockScopedNameDeclaredBeforeUse(declaration, location)) { + error(expr, Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); + return evaluatorResult(/*value*/ 0); + } + const value = getEnumMemberValue(declaration as EnumMember); + if (location.parent !== declaration.parent) { + return evaluatorResult(value.value, value.isSyntacticallyString, value.resolvedOtherFiles, /*hasExternalReferences*/ true); + } + return value; } } @@ -43858,6 +45418,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: if (isPrivateIdentifier(node.name)) { error(node, Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier); } + if (node.initializer) { + checkExpression(node.initializer); + } } function getFirstNonAmbientClassOrFunctionDeclaration(symbol: Symbol): Declaration | undefined { @@ -46353,15 +47916,30 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } function isExpandoFunctionDeclaration(node: Declaration): boolean { - const declaration = getParseTreeNode(node, isFunctionDeclaration); + const declaration = getParseTreeNode( + node, (n): n is FunctionDeclaration | VariableDeclaration => isFunctionDeclaration(n) || isVariableDeclaration(n) + ); if (!declaration) { return false; } - const symbol = getSymbolOfNode(declaration); - if (!symbol || !(symbol.flags & SymbolFlags.Function)) { + let symbol: Symbol | undefined; + if (isVariableDeclaration(declaration)) { + if (declaration.type || (!isInJSFile(declaration) && !isVarConst(declaration))) { + return false; + } + const initializer = getDeclaredExpandoInitializer(declaration); + if (!initializer || !canHaveSymbol(initializer)) { + return false; + } + symbol = getSymbolOfNode(initializer); + } + else { + symbol = getSymbolOfNode(declaration); + } + if (!symbol || !(symbol.flags & SymbolFlags.Function | SymbolFlags.Variable)) { return false; } - return !!forEachEntry(getExportsOfSymbol(symbol), p => p.flags & SymbolFlags.Value && p.valueDeclaration && isPropertyAccessExpression(p.valueDeclaration)); + return !!forEachEntry(getExportsOfSymbol(symbol), p => p.flags & SymbolFlags.Value && isExpandoPropertyDeclaration(p.valueDeclaration)); } function getPropertiesOfContainerFunction(node: Declaration): Symbol[] { @@ -46379,9 +47957,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return nodeLinks[nodeId]?.flags || 0; } - function getEnumMemberValue(node: EnumMember): string | number | undefined { + function getEnumMemberValue(node: EnumMember): EvaluatorResult { computeEnumMemberValues(node.parent); - return getNodeLinks(node).enumMemberValue; + return getNodeLinks(node).enumMemberValue ?? evaluatorResult(/*value*/ undefined); } function canHaveConstantValue(node: Node): node is EnumMember | AccessExpression { @@ -46396,7 +47974,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: function getConstantValue(node: EnumMember | AccessExpression): string | number | undefined { if (node.kind === SyntaxKind.EnumMember) { - return getEnumMemberValue(node); + return getEnumMemberValue(node).value; } const symbol = getNodeLinks(node).resolvedSymbol; @@ -46404,7 +47982,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: // inline property\index accesses only for const enums const member = symbol.valueDeclaration as EnumMember; if (isEnumConst(member.parent)) { - return getEnumMemberValue(member); + return getEnumMemberValue(member).value; } } @@ -46492,24 +48070,32 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } - function createTypeOfDeclaration(declarationIn: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker, addUndefined?: boolean) { + function createTypeOfDeclaration(declarationIn: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker) { const declaration = getParseTreeNode(declarationIn, isVariableLikeOrAccessor); if (!declaration) { return factory.createToken(SyntaxKind.AnyKeyword) as KeywordTypeNode; } // Get type of the symbol if this is the valid symbol otherwise get type at location const symbol = getSymbolOfNode(declaration); - let type = symbol && !(symbol.flags & (SymbolFlags.TypeLiteral | SymbolFlags.Signature)) + const type = symbol && !(symbol.flags & (SymbolFlags.TypeLiteral | SymbolFlags.Signature)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - if (type.flags & TypeFlags.UniqueESSymbol && - type.symbol === symbol) { - flags |= NodeBuilderFlags.AllowUniqueESSymbolType; - } - if (addUndefined) { - type = getOptionalType(type); - } - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker); + + return nodeBuilder.serializeTypeForDeclaration( + declaration, type, symbol, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker + ); + } + + type DeclarationWithPotentialInnerNodeReuse = + | SignatureDeclaration + | JSDocSignature + | AccessorDeclaration + | VariableLikeDeclaration + | PropertyAccessExpression + | ExportAssignment; + + function isDeclarationWithPossibleInnerTypeNodeReuse(declaration: Declaration): declaration is DeclarationWithPotentialInnerNodeReuse { + return isFunctionLike(declaration) || isExportAssignment(declaration) || isVariableLike(declaration); } function getAllAccessorDeclarationsForDeclaration(accessor: AccessorDeclaration): AllAccessorDeclarations { @@ -46528,13 +48114,48 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: }; } + function getPossibleTypeNodeReuseExpression(declaration: DeclarationWithPotentialInnerNodeReuse): Expression | undefined { + return isFunctionLike(declaration) && !isSetAccessor(declaration) + ? getSingleReturnExpression(declaration) + : isExportAssignment(declaration) + ? declaration.expression + : !!(declaration as HasInitializer).initializer + ? (declaration as HasInitializer & typeof declaration).initializer + : isParameter(declaration) && isSetAccessor(declaration.parent) + ? getSingleReturnExpression(getAllAccessorDeclarationsForDeclaration(declaration.parent).getAccessor) + : undefined; + } + + function getSingleReturnExpression(declaration: SignatureDeclaration | undefined): Expression | undefined { + let candidateExpr: Expression | undefined; + if (declaration && !nodeIsMissing((declaration as FunctionLikeDeclaration).body)) { + const body = (declaration as FunctionLikeDeclaration).body; + if (body && isBlock(body)) { + forEachReturnStatement(body, s => { + if (!candidateExpr) { + candidateExpr = s.expression; + } + else { + candidateExpr = undefined; + return true; + } + }); + } + else { + candidateExpr = body; + } + } + return candidateExpr; + } + function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn: SignatureDeclaration, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker) { const signatureDeclaration = getParseTreeNode(signatureDeclarationIn, isFunctionLike); if (!signatureDeclaration) { return factory.createToken(SyntaxKind.AnyKeyword) as KeywordTypeNode; } - const signature = getSignatureFromDeclaration(signatureDeclaration); - return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker); + return nodeBuilder.serializeReturnTypeForSignature( + getSignatureFromDeclaration(signatureDeclaration), enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker + ); } function createTypeOfExpression(exprIn: Expression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker) { @@ -46543,7 +48164,9 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return factory.createToken(SyntaxKind.AnyKeyword) as KeywordTypeNode; } const type = getWidenedType(getRegularTypeOfExpression(expr)); - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker); + return nodeBuilder.expressionOrTypeToTypeNode( + expr, type, /*addUndefined*/ undefined, enclosingDeclaration, flags | NodeBuilderFlags.MultilineObjectLiterals, tracker + ); } function hasGlobalName(name: string): boolean { @@ -46614,9 +48237,30 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return false; } + function isNonNarrowedBindableName(node: ComputedPropertyName): boolean { + if (!hasBindableName(node.parent)) { + return false; + } + + const expression = node.expression; + if (!isEntityNameExpression(expression)) { + return true; + } + + const type = getTypeOfExpression(expression); + const symbol = getSymbolAtLocation(expression); + if (!symbol) { + return false; + } + // Ensure not type narrowing + const declaredType = getTypeOfSymbol(symbol); + return declaredType === type; + } + function literalTypeToNode(type: FreshableType, enclosing: Node, tracker: SymbolTracker): Expression { - const enumResult = type.flags & TypeFlags.EnumLiteral ? nodeBuilder.symbolToExpression(type.symbol, SymbolFlags.Value, enclosing, /*flags*/ undefined, tracker) - : type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); + const enumResult = type.flags & TypeFlags.EnumLike ? + nodeBuilder.symbolToExpression(type.symbol, SymbolFlags.Value, enclosing, /*flags*/ undefined, tracker) : + type === trueType ? factory.createTrue() : type === falseType && factory.createFalse(); if (enumResult) return enumResult; const literalValue = (type as LiteralType).value; return typeof literalValue === "object" ? factory.createBigIntLiteral(literalValue) : @@ -46654,7 +48298,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } - function getNonlocalEffectiveTypeAnnotationNode(node: Node) { + function getNonlocalEffectiveTypeAnnotationNode(node: Node): TypeNode | undefined { const direct = getEffectiveTypeAnnotationNode(node); if (direct) { return direct; @@ -46668,6 +48312,23 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: return undefined; } + function getNonlocalEffectiveReturnTypeAnnotationNode(node: SignatureDeclaration | JSDocSignature) { + const direct = getEffectiveReturnTypeNode(node); + if (direct) { + return direct; + } + if (node.kind === SyntaxKind.GetAccessor) { + const other = getAllAccessorDeclarationsForDeclaration(node).setAccessor; + if (other) { + const param = getSetAccessorValueParameter(other); + if (param) { + return getEffectiveTypeAnnotationNode(param); + } + } + } + return undefined; + } + function isReferredToAnnotation(node: ImportSpecifier | ExportSpecifier | ExportAssignment): boolean | undefined { let links: NodeLinks = getNodeLinks(node); if (!links.exportOrImportRefersToAnnotation) { @@ -46773,6 +48434,10 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const node = getParseTreeNode(nodeIn, canHaveConstantValue); return node ? getConstantValue(node) : undefined; }, + getEnumMemberValue: nodeIn => { + const node = getParseTreeNode(nodeIn, isEnumMember); + return node ? getEnumMemberValue(node) : undefined; + }, collectLinkedAliases, getReferencedValueDeclaration, getTypeReferenceSerializationKind, @@ -46786,6 +48451,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: getTypeReferenceDirectivesForEntityName, getTypeReferenceDirectivesForSymbol, isLiteralConstDeclaration, + isNonNarrowedBindableName, isLateBound: (nodeIn: Declaration): nodeIn is LateBoundDeclaration => { const node = getParseTreeNode(nodeIn, isDeclaration); const symbol = node && getSymbolOfNode(node); @@ -46814,14 +48480,15 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: const parseDecl = getParseTreeNode(decl); return !!parseNode && !!parseDecl && (isVariableDeclaration(parseDecl) || isBindingElement(parseDecl)) && isBindingCapturedByNode(parseNode, parseDecl); }, - getDeclarationStatementsForSourceFile: (node, flags, tracker, bundled) => { + getDeclarationStatementsForSourceFile: (node, flags, tracker) => { const n = getParseTreeNode(node) as SourceFile; Debug.assert(n && n.kind === SyntaxKind.SourceFile, "Non-sourcefile node passed into getDeclarationsForSourceFile"); const sym = getSymbolOfNode(node); if (!sym) { - return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); + return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker); } - return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled); + resolveExternalModuleSymbol(sym); // ensures cjs export assignment is setup + return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker); }, isImportRequiredByAugmentation, getAnnotationObjectLiteralEvaluatedProps: (node: Annotation): ESMap<__String, Expression> | undefined => { @@ -48530,7 +50197,7 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: function isSimpleLiteralEnumReference(expr: Expression) { if ((isPropertyAccessExpression(expr) || (isElementAccessExpression(expr) && isStringOrNumberLiteralExpression(expr.argumentExpression))) && isEntityNameExpression(expr.expression)) { - return !!(checkExpressionCached(expr).flags & TypeFlags.EnumLiteral); + return !!(checkExpressionCached(expr).flags & TypeFlags.EnumLike); } } @@ -49105,6 +50772,180 @@ export function createTypeChecker(host: TypeCheckerHost, isTypeCheckerForLinter: } } + function createBasicNodeBuilderModuleSpecifierResolutionHost(host: TypeCheckerHost): ModuleSpecifierResolutionHost { + return { + getCommonSourceDirectory: !!(host as Program).getCommonSourceDirectory ? () => (host as Program).getCommonSourceDirectory() : () => "", + getCurrentDirectory: () => host.getCurrentDirectory(), + getSymlinkCache: maybeBind(host, host.getSymlinkCache), + getPackageJsonInfoCache: () => host.getPackageJsonInfoCache?.(), + useCaseSensitiveFileNames: maybeBind(host, host.useCaseSensitiveFileNames), + redirectTargetsMap: host.redirectTargetsMap, + getProjectReferenceRedirect: fileName => host.getProjectReferenceRedirect(fileName), + isSourceOfProjectReferenceRedirect: fileName => host.isSourceOfProjectReferenceRedirect(fileName), + fileExists: fileName => host.fileExists(fileName), + getFileIncludeReasons: () => host.getFileIncludeReasons(), + readFile: host.readFile ? (fileName => host.readFile!(fileName)) : undefined, + }; + } + + interface NodeBuilderContext { + enclosingDeclaration: Node | undefined; + /** + * `enclosingFile` is generated from the initial `enclosingDeclaration` and + * is used to ensure text ranges for generated nodes are not set based on nodes from outside + * the original input's containing file. Checking the `enclosingDeclaration` at the time of + * `setTextRange` is not sufficient, as the `enclosingDeclaration` is modified by the node builder + * as it decends into some types as a shortcut to making certain scopes visible, and may be modified + * into a declaration in a different file from the original input `enclosingDeclaration`! + */ + enclosingFile: SourceFile | undefined; + flags: NodeBuilderFlags; + tracker: SymbolTrackerImpl; + + // State + encounteredError: boolean; + reportedDiagnostic: boolean; + trackedSymbols: TrackedSymbol[] | undefined; + visitedTypes: Set | undefined; + symbolDepth: ESMap | undefined; + inferTypeParameters: TypeParameter[] | undefined; + approximateLength: number; + truncating?: boolean; + typeParameterSymbolList?: Set; + typeParameterNames?: ESMap; + typeParameterNamesByText?: Set; + typeParameterNamesByTextNextNameCount?: ESMap; + usedSymbolNames?: Set; + remappedSymbolNames?: ESMap; + reverseMappedStack?: ReverseMappedSymbol[]; + bundled?: boolean; + } + + class SymbolTrackerImpl implements SymbolTracker { + moduleResolverHost: ModuleSpecifierResolutionHost & { getCommonSourceDirectory(): string; } | undefined = undefined; + context: NodeBuilderContext; + + readonly inner: SymbolTracker | undefined = undefined; + readonly canTrackSymbol: boolean; + disableTrackSymbol = false; + + constructor( + context: NodeBuilderContext, + tracker: SymbolTracker | undefined, + moduleResolverHost: ModuleSpecifierResolutionHost & { getCommonSourceDirectory(): string; } | undefined + ) { + while (tracker instanceof SymbolTrackerImpl) { + tracker = tracker.inner; + } + + this.inner = tracker; + this.moduleResolverHost = moduleResolverHost; + this.context = context; + this.canTrackSymbol = !!this.inner?.trackSymbol; + } + + trackSymbol(symbol: Symbol, enclosingDeclaration: Node | undefined, meaning: SymbolFlags): boolean { + if (this.inner?.trackSymbol && !this.disableTrackSymbol) { + if (this.inner.trackSymbol(symbol, enclosingDeclaration, meaning)) { + this.onDiagnosticReported(); + return true; + } + // Skip recording type parameters as they dont contribute to late painted statements + if (!(symbol.flags & SymbolFlags.TypeParameter)) { + (this.context.trackedSymbols ??= []).push([symbol, enclosingDeclaration, meaning]); + } + } + return false; + } + + trackReferencedAmbientModule?(decl: ModuleDeclaration, symbol: Symbol): void { + if (this.inner?.trackReferencedAmbientModule) { + this.onDiagnosticReported(); + this.inner.trackReferencedAmbientModule(decl, symbol); + } + } + + trackExternalModuleSymbolOfImportTypeNode?(symbol: Symbol): void { + if (this.inner?.trackExternalModuleSymbolOfImportTypeNode) { + this.onDiagnosticReported(); + this.inner.trackExternalModuleSymbolOfImportTypeNode(symbol); + } + } + + reportInaccessibleThisError(): void { + if (this.inner?.reportInaccessibleThisError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleThisError(); + } + } + + reportPrivateInBaseOfClassExpression(propertyName: string): void { + if (this.inner?.reportPrivateInBaseOfClassExpression) { + this.onDiagnosticReported(); + this.inner.reportPrivateInBaseOfClassExpression(propertyName); + } + } + + reportInaccessibleUniqueSymbolError(): void { + if (this.inner?.reportInaccessibleUniqueSymbolError) { + this.onDiagnosticReported(); + this.inner.reportInaccessibleUniqueSymbolError(); + } + } + + reportCyclicStructureError(): void { + if (this.inner?.reportCyclicStructureError) { + this.onDiagnosticReported(); + this.inner.reportCyclicStructureError(); + } + } + + reportLikelyUnsafeImportRequiredError(specifier: string): void { + if (this.inner?.reportLikelyUnsafeImportRequiredError) { + this.onDiagnosticReported(); + this.inner.reportLikelyUnsafeImportRequiredError(specifier); + } + } + + reportTruncationError(): void { + if (this.inner?.reportTruncationError) { + this.onDiagnosticReported(); + this.inner.reportTruncationError(); + } + } + + reportNonlocalAugmentation(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): void { + if (this.inner?.reportNonlocalAugmentation) { + this.onDiagnosticReported(); + this.inner.reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol); + } + } + + reportNonSerializableProperty(propertyName: string): void { + if (this.inner?.reportNonSerializableProperty) { + this.onDiagnosticReported(); + this.inner.reportNonSerializableProperty(propertyName); + } + } + + reportImportTypeNodeResolutionModeOverride(): void { + if (this.inner?.reportImportTypeNodeResolutionModeOverride) { + this.onDiagnosticReported(); + this.inner.reportImportTypeNodeResolutionModeOverride(); + } + } + + private onDiagnosticReported(): void { + this.context.reportedDiagnostic = true; + } + + reportInferenceFallback(node: Node): void { + if (this.inner?.reportInferenceFallback) { + this.inner.reportInferenceFallback(node); + } + } + } + function isNotAccessor(declaration: Declaration): boolean { // Accessors check for their own matching duplicates, and in contexts where they are valid, there are already duplicate identifier checks return !isAccessor(declaration); diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 22e6af6ca9..f8364f1747 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -544,7 +544,6 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ affectsEmit: true, affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, - category: Diagnostics.Emit, description: Diagnostics.Only_output_d_ts_files_and_not_JavaScript_files, transpileOptionValue: undefined, @@ -633,6 +632,20 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ defaultValueDescription: false, description: Diagnostics.Disable_emitting_comments, }, + { + name: "noCheck", + type: "boolean", + showInSimplifiedHelpView: false, + category: Diagnostics.Compiler_Diagnostics, + description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, + transpileOptionValue: undefined, + defaultValueDescription: false, + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, + extraValidation() { + return [Diagnostics.Unknown_compiler_option_0, "noCheck"]; + }, + }, { name: "noEmit", type: "boolean", @@ -682,6 +695,15 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ transpileOptionValue: true, defaultValueDescription: false, }, + { + name: "isolatedDeclarations", + type: "boolean", + category: Diagnostics.Interop_Constraints, + description: Diagnostics.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files, + defaultValueDescription: false, + affectsMultiFileEmitBuildInfo: true, + affectsSemanticDiagnostics: true, + }, // Strict Type Checks { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 7f07455032..91eab0063b 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -4000,7 +4000,6 @@ "category": "Error", "code": 4125 }, - "The current host does not support the '{0}' option.": { "category": "Error", "code": 5001 @@ -5924,6 +5923,10 @@ "category": "Message", "code": 6803 }, + "Disable full type checking (only critical parse and emit errors will be reported).": { + "category": "Message", + "code": 6805 + }, "one of:": { "category": "Message", diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 0fd8bbf33c..2c9addbf9b 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -194,7 +194,7 @@ function getSourceMapFilePath(jsFilePath: string, options: CompilerOptions) { } /** @internal */ -export function getOutputExtension(fileName: string, options: CompilerOptions): Extension { +export function getOutputExtension(fileName: string, options: Pick): Extension { return fileExtensionIs(fileName, Extension.Json) ? Extension.Json : options.jsx === JsxEmit.Preserve && fileExtensionIsOneOf(fileName, [Extension.Jsx, Extension.Tsx]) ? Extension.Jsx : fileExtensionIsOneOf(fileName, [Extension.Mts, Extension.Mjs]) ? Extension.Mjs : @@ -545,8 +545,8 @@ export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFi const filesForEmit = forceDtsEmit ? sourceFiles : filter(sourceFiles, isSourceFileNotJson); // Setup and perform the transformation to retrieve declarations from the input files const inputListOrBundle = outFile(compilerOptions) ? [factory.createBundle(filesForEmit, !isSourceFile(sourceFileOrBundle) ? sourceFileOrBundle.prepends : undefined)] : filesForEmit; - if (emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions)) { - // Checker wont collect the linked aliases since thats only done when declaration is enabled. + if ((emitOnlyDtsFiles && !getEmitDeclarations(compilerOptions)) || compilerOptions.noCheck) { + // Checker wont collect the linked aliases since thats only done when declaration is enabled and checking is performed. // Do that here when emitting only dts files filesForEmit.forEach(collectLinkedAliases); } @@ -803,6 +803,7 @@ export const notImplementedResolver: EmitResolver = { isEntityNameVisible: notImplemented, // Returns the constant value this property access resolves to: notImplemented, or 'undefined' for a non-constant getConstantValue: notImplemented, + getEnumMemberValue: notImplemented, getReferencedValueDeclaration: notImplemented, getTypeReferenceSerializationKind: notImplemented, isOptionalParameter: notImplemented, @@ -812,6 +813,7 @@ export const notImplementedResolver: EmitResolver = { getTypeReferenceDirectivesForEntityName: notImplemented, getTypeReferenceDirectivesForSymbol: notImplemented, isLiteralConstDeclaration: notImplemented, + isNonNarrowedBindableName: notImplemented, getJsxFactoryEntity: notImplemented, getJsxFragmentFactoryEntity: notImplemented, getAllAccessorDeclarations: notImplemented, diff --git a/src/compiler/expressionToTypeNode.ts b/src/compiler/expressionToTypeNode.ts new file mode 100644 index 0000000000..caf44d7ad9 --- /dev/null +++ b/src/compiler/expressionToTypeNode.ts @@ -0,0 +1,551 @@ +import { + AccessorDeclaration, + AllAccessorDeclarations, + ArrayLiteralExpression, + ArrowFunction, + AsExpression, + BindingElement, + BinaryExpression, + ClassExpression, + CompilerOptions, + Debug, + ElementAccessExpression, + ExportAssignment, + Expression, + forEachReturnStatement, + FunctionExpression, + FunctionLikeDeclaration, + GetAccessorDeclaration, + getEffectiveReturnTypeNode, + getEffectiveTypeAnnotationNode, + getJSDocTypeAssertionType, + getStrictOptionValue, + HasInferredType, + Identifier, + IntersectionTypeNode, + isBlock, + isConstTypeReference, + isDeclarationReadonly, + isEntityNameExpression, + isGetAccessor, + isIdentifier, + isJSDocTypeAssertion, + isKeyword, + isParameter, + isPrimitiveLiteralValue, + isShorthandPropertyAssignment, + isSpreadAssignment, + isValueSignatureDeclaration, + isVarConst, + JSDocSignature, + MethodDeclaration, + Node, + NodeArray, + NodeFlags, + nodeIsMissing, + ObjectLiteralExpression, + ParameterDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, + PrefixUnaryExpression, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertySignature, + SetAccessorDeclaration, + SignatureDeclaration, + SymbolAccessibility, + SyntaxKind, + SyntacticTypeNodeBuilderContext, + SyntacticTypeNodeBuilderResolver, + TypeAssertion, + TypeNode, + TypeParameterDeclaration, + UnionTypeNode, + VariableDeclaration +} from "./_namespaces/ts" + +/** @internal */ +export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolver: SyntacticTypeNodeBuilderResolver) { + const strictNullChecks = getStrictOptionValue(options, "strictNullChecks"); + + return { + typeFromExpression, + serializeTypeOfDeclaration, + serializeReturnTypeForSignature, + serializeTypeOfExpression, + }; + function serializeExistingTypeAnnotation(type: TypeNode | undefined): boolean | undefined { + return type === undefined ? + undefined : !type.parent || !isParameter(type.parent) || !resolver.requiresAddingImplicitUndefined(type.parent) || canAddUndefined(type); + } + function serializeTypeOfExpression( + expr: Expression, + context: SyntacticTypeNodeBuilderContext, + addUndefined?: boolean, + preserveLiterals?: boolean + ): boolean { + return typeFromExpression(expr, context, /*isConstContext*/ false, addUndefined, preserveLiterals) ?? inferExpressionType(expr, context); + } + function serializeTypeOfDeclaration(node: HasInferredType, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + switch (node.kind) { + case SyntaxKind.PropertySignature: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)); + case SyntaxKind.Parameter: + return typeFromParameter(node, context); + case SyntaxKind.VariableDeclaration: + return typeFromVariable(node, context); + case SyntaxKind.PropertyDeclaration: + return typeFromProperty(node, context); + case SyntaxKind.BindingElement: + return inferTypeOfDeclaration(node, context); + case SyntaxKind.ExportAssignment: + return serializeTypeOfExpression(node.expression, context, /*addUndefined*/ undefined, /*preserveLiterals*/ true); + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.ElementAccessExpression: + case SyntaxKind.BinaryExpression: + return serializeExistingTypeAnnotation(getEffectiveTypeAnnotationNode(node)) || inferTypeOfDeclaration(node, context); + case SyntaxKind.PropertyAssignment: + return typeFromExpression(node.initializer, context) || inferTypeOfDeclaration(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind((node as Node).kind)}`); + } + } + function serializeReturnTypeForSignature(node: SignatureDeclaration | JSDocSignature, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + switch (node.kind) { + case SyntaxKind.GetAccessor: + return typeFromAccessor(node, context); + case SyntaxKind.MethodDeclaration: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.ConstructSignature: + case SyntaxKind.MethodSignature: + case SyntaxKind.CallSignature: + case SyntaxKind.Constructor: + case SyntaxKind.SetAccessor: + case SyntaxKind.IndexSignature: + case SyntaxKind.FunctionType: + case SyntaxKind.ConstructorType: + case SyntaxKind.FunctionExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.JSDocFunctionType: + case SyntaxKind.JSDocSignature: + return createReturnFromSignature(node, context); + default: + Debug.assertNever(node, `Node needs to be an inferrable node, found ${Debug.formatSyntaxKind((node as Node).kind)}`); + } + } + function getTypeAnnotationFromAccessor(accessor: AccessorDeclaration): TypeNode | undefined { + if (!accessor) return undefined; + if (accessor.kind === SyntaxKind.GetAccessor) { + return getEffectiveReturnTypeNode(accessor); // Getter - return type + } + if (accessor.parameters.length > 0) { + return getEffectiveTypeAnnotationNode(accessor.parameters[0]); // Setter parameter type + } + return undefined; + } + function getTypeAnnotationFromAllAccessorDeclarations(node: AccessorDeclaration, accessors: AllAccessorDeclarations): TypeNode | undefined { + let accessorType = getTypeAnnotationFromAccessor(node); + if (!accessorType && node !== accessors.firstAccessor) { + accessorType = getTypeAnnotationFromAccessor(accessors.firstAccessor); + } + if (!accessorType && accessors.secondAccessor && node !== accessors.secondAccessor) { + accessorType = getTypeAnnotationFromAccessor(accessors.secondAccessor); + } + return accessorType; + } + + function typeFromAccessor(node: AccessorDeclaration, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + const accessorDeclarations = resolver.getAllAccessorDeclarations(node); + const accessorType = getTypeAnnotationFromAllAccessorDeclarations(node, accessorDeclarations); + if (accessorType) { + return serializeExistingTypeAnnotation(accessorType); + } + if (accessorDeclarations.getAccessor) { + return createReturnFromSignature(accessorDeclarations.getAccessor, context); + } + return false; + } + function typeFromVariable(node: VariableDeclaration, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer && !resolver.isExpandoFunctionDeclaration(node)) { + resultType = typeFromExpression( + node.initializer, context, /*isConstContext*/ undefined, /*requiresAddingUndefined*/ undefined, isVarConst(node) + ); + } + return resultType ?? inferTypeOfDeclaration(node, context); + } + function typeFromParameter(node: ParameterDeclaration, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + const parent = node.parent; + if (parent.kind === SyntaxKind.SetAccessor) { + return typeFromAccessor(parent, context); + } + const declaredType = getEffectiveTypeAnnotationNode(node); + const addUndefined = resolver.requiresAddingImplicitUndefined(node); + let resultType; + if (!addUndefined) { + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + if (node.initializer && isIdentifier(node.name)) { + resultType = typeFromExpression(node.initializer, context); + } + } + return resultType ?? inferTypeOfDeclaration(node, context); + } + function typeFromProperty(node: PropertyDeclaration, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + const declaredType = getEffectiveTypeAnnotationNode(node); + if (declaredType) { + return serializeExistingTypeAnnotation(declaredType); + } + let resultType; + if (node.initializer) { + const isReadonly = isDeclarationReadonly(node); + resultType = typeFromExpression(node.initializer, context, /*isConstContext*/ undefined, /*requiresAddingUndefined*/ undefined, isReadonly); + } + return resultType ?? inferTypeOfDeclaration(node, context); + } + + function inferTypeOfDeclaration( + node: PropertyAssignment | + PropertyAccessExpression | + BinaryExpression | + ElementAccessExpression | + VariableDeclaration | + ParameterDeclaration | + BindingElement | + PropertyDeclaration | + PropertySignature | + ExportAssignment, + context: SyntacticTypeNodeBuilderContext, + ): boolean { + context.tracker.reportInferenceFallback(node); + return false; + } + + function inferExpressionType(node: Expression, context: SyntacticTypeNodeBuilderContext): boolean { + context.tracker.reportInferenceFallback(node); + return false; + } + + function inferReturnTypeOfSignatureSignature(node: SignatureDeclaration | JSDocSignature, context: SyntacticTypeNodeBuilderContext): boolean { + context.tracker.reportInferenceFallback(node); + return false; + } + + function inferAccessorType(node: GetAccessorDeclaration | SetAccessorDeclaration, context: SyntacticTypeNodeBuilderContext): boolean { + if (node.kind === SyntaxKind.GetAccessor) { + return createReturnFromSignature(node, context); + } + else { + context.tracker.reportInferenceFallback(node); + return false; + } + } + + function typeFromTypeAssertion(expression: Expression, type: TypeNode, context: SyntacticTypeNodeBuilderContext, requiresAddingUndefined: boolean): boolean | undefined { + if (isConstTypeReference(type)) { + return typeFromExpression(expression, context, /*isConstContext*/ true, requiresAddingUndefined); + } + if (requiresAddingUndefined && !canAddUndefined(type)) { + context.tracker.reportInferenceFallback(type); + } + return serializeExistingTypeAnnotation(type); + } + + function typeFromExpression( + node: Expression, + context: SyntacticTypeNodeBuilderContext, + isConstContext: boolean = false, + requiresAddingUndefined: boolean = false, + preserveLiterals: boolean = false + ): boolean | undefined { + switch (node.kind) { + case SyntaxKind.ParenthesizedExpression: + if (isJSDocTypeAssertion(node)) { + return typeFromTypeAssertion(node.expression, getJSDocTypeAssertionType(node), context, requiresAddingUndefined); + } + return typeFromExpression((node as ParenthesizedExpression).expression, context, isConstContext, requiresAddingUndefined); + case SyntaxKind.Identifier: + if (resolver.isUndefinedIdentifierExpression(node as Identifier)) { + return true; + } + break; + case SyntaxKind.NullKeyword: + return true; + case SyntaxKind.ArrowFunction: + case SyntaxKind.FunctionExpression: + return typeFromFunctionLikeExpression(node as ArrowFunction | FunctionExpression, context); + case SyntaxKind.TypeAssertionExpression: + case SyntaxKind.AsExpression: + const asExpression = node as AsExpression | TypeAssertion; + return typeFromTypeAssertion(asExpression.expression, asExpression.type, context, requiresAddingUndefined); + case SyntaxKind.PrefixUnaryExpression: + const unaryExpression = node as PrefixUnaryExpression; + if (isPrimitiveLiteralValue(unaryExpression)) { + if (unaryExpression.operand.kind === SyntaxKind.BigIntLiteral) { + return typeFromPrimitiveLiteral(); + } + if (unaryExpression.operand.kind === SyntaxKind.NumericLiteral) { + return typeFromPrimitiveLiteral(); + } + } + break; + case SyntaxKind.NumericLiteral: + return typeFromPrimitiveLiteral(); + case SyntaxKind.TemplateExpression: + if (!isConstContext && !preserveLiterals) { + return true; + } + break; + case SyntaxKind.NoSubstitutionTemplateLiteral: + case SyntaxKind.StringLiteral: + return typeFromPrimitiveLiteral(); + case SyntaxKind.BigIntLiteral: + return typeFromPrimitiveLiteral(); + case SyntaxKind.TrueKeyword: + case SyntaxKind.FalseKeyword: + return typeFromPrimitiveLiteral(); + case SyntaxKind.ArrayLiteralExpression: + return typeFromArrayLiteral(node as ArrayLiteralExpression, context, isConstContext); + case SyntaxKind.ObjectLiteralExpression: + return typeFromObjectLiteral(node as ObjectLiteralExpression, context, isConstContext); + case SyntaxKind.ClassExpression: + return inferExpressionType(node as ClassExpression, context); + } + return undefined; + } + + function typeFromFunctionLikeExpression(fnNode: FunctionExpression | ArrowFunction, context: SyntacticTypeNodeBuilderContext): boolean { + const returnType = serializeExistingTypeAnnotation(fnNode.type) ?? createReturnFromSignature(fnNode, context); + const typeParameters = reuseTypeParameters(fnNode.typeParameters); + const parameters = fnNode.parameters.every(p => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + + function canGetTypeFromArrayLiteral(arrayLiteral: ArrayLiteralExpression, context: SyntacticTypeNodeBuilderContext, isConstContext: boolean): boolean { + if (!isConstContext) { + context.tracker.reportInferenceFallback(arrayLiteral); + return false; + } + for (const element of arrayLiteral.elements) { + if (element.kind === SyntaxKind.SpreadElement) { + context.tracker.reportInferenceFallback(element); + return false; + } + } + return true; + } + + function typeFromArrayLiteral(arrayLiteral: ArrayLiteralExpression, context: SyntacticTypeNodeBuilderContext, isConstContext: boolean): boolean { + if (!canGetTypeFromArrayLiteral(arrayLiteral, context, isConstContext)) { + return false; + } + + let canInferArray = true; + for (const element of arrayLiteral.elements) { + Debug.assert(element.kind !== SyntaxKind.SpreadElement); + if (element.kind !== SyntaxKind.OmittedExpression) { + canInferArray = (typeFromExpression(element, context, isConstContext) ?? inferExpressionType(element, context)) && canInferArray; + } + } + return true; + } + + function canGetTypeFromObjectLiteral(objectLiteral: ObjectLiteralExpression, context: SyntacticTypeNodeBuilderContext): boolean { + let result = true; + for (const prop of objectLiteral.properties) { + if (prop.flags & NodeFlags.ThisNodeHasError) { + result = false; + break; // Bail if parse errors + } + if (prop.kind === SyntaxKind.ShorthandPropertyAssignment || prop.kind === SyntaxKind.SpreadAssignment) { + context.tracker.reportInferenceFallback(prop); + result = false; + } + else if (prop.name.flags & NodeFlags.ThisNodeHasError) { + result = false; + break; // Bail if parse errors + } + else if (prop.name.kind === SyntaxKind.PrivateIdentifier) { + // Not valid in object literals but the compiler will complain about this, we just ignore it here. + result = false; + } + else if (prop.name.kind === SyntaxKind.ComputedPropertyName) { + const expression = prop.name.expression; + if (!isPrimitiveLiteralValue(expression, /*includeBigInt*/ false) && !isEntityNameExpression(expression)) { + context.tracker.reportInferenceFallback(prop.name); + result = false; + } + } + } + return result; + } + + function typeFromObjectLiteral(objectLiteral: ObjectLiteralExpression, context: SyntacticTypeNodeBuilderContext, isConstContext: boolean): boolean { + if (!canGetTypeFromObjectLiteral(objectLiteral, context)) { + return false; + } + + let canInferObjectLiteral = true; + for (const prop of objectLiteral.properties) { + Debug.assert(!isShorthandPropertyAssignment(prop) && !isSpreadAssignment(prop)); + + if (prop.name.kind === SyntaxKind.ComputedPropertyName) { + if (!resolver.isNonNarrowedBindableName(prop.name)) { + context.tracker.reportInferenceFallback(prop.name); + } + else if (isEntityNameExpression(prop.name.expression)) { + const visibilityResult = resolver.isEntityNameVisible( + prop.name.expression, context.enclosingDeclaration!, /*shouldComputeAliasToMakeVisible*/ false + ); + if (visibilityResult.accessibility !== SymbolAccessibility.Accessible) { + context.tracker.reportInferenceFallback(prop.name); + } + } + } + switch (prop.kind) { + case SyntaxKind.MethodDeclaration: + canInferObjectLiteral = !!typeFromObjectLiteralMethod(prop, context) && canInferObjectLiteral; + break; + case SyntaxKind.PropertyAssignment: + canInferObjectLiteral = !!typeFromObjectLiteralPropertyAssignment(prop, context, isConstContext) && canInferObjectLiteral; + break; + case SyntaxKind.SetAccessor: + case SyntaxKind.GetAccessor: + canInferObjectLiteral = !!typeFromObjectLiteralAccessor(prop, context) && canInferObjectLiteral; + break; + } + } + + return canInferObjectLiteral; + } + + function typeFromObjectLiteralPropertyAssignment(prop: PropertyAssignment, context: SyntacticTypeNodeBuilderContext, isConstContext: boolean) { + return typeFromExpression(prop.initializer, context, isConstContext) ?? inferTypeOfDeclaration(prop, context); + } + + function ensureParameter(p: ParameterDeclaration, context: SyntacticTypeNodeBuilderContext): boolean | undefined { + return typeFromParameter(p, context); + } + + function reuseTypeParameters(typeParameters: NodeArray | undefined): boolean { + // TODO: We will probably need to add a fake scopes for the signature (to hold the type parameters and the parameter) + // For now this is good enough since the new serialization is used for Nodes in the same context. + return typeParameters?.every(tp => + serializeExistingTypeAnnotation(tp.constraint) && + serializeExistingTypeAnnotation(tp.default) + ) ?? true; + } + + function typeFromObjectLiteralMethod(method: MethodDeclaration, context: SyntacticTypeNodeBuilderContext): boolean { + const returnType = createReturnFromSignature(method, context); + const typeParameters = reuseTypeParameters(method.typeParameters); + const parameters = method.parameters.every(p => ensureParameter(p, context)); + return returnType && typeParameters && parameters; + } + + function typeFromObjectLiteralAccessor( + accessor: GetAccessorDeclaration | SetAccessorDeclaration, + context: SyntacticTypeNodeBuilderContext + ): boolean | undefined + { + const allAccessors = resolver.getAllAccessorDeclarations(accessor); + const getAccessorType = allAccessors.getAccessor && getTypeAnnotationFromAccessor(allAccessors.getAccessor); + const setAccessorType = allAccessors.setAccessor && getTypeAnnotationFromAccessor(allAccessors.setAccessor); + // We have types for both accessors, we can't know if they are the same type so we keep both accessors + if (getAccessorType !== undefined && setAccessorType !== undefined) { + const parameters = accessor.parameters.every(p => ensureParameter(p, context)); + + if (isGetAccessor(accessor)) { + return parameters && serializeExistingTypeAnnotation(getAccessorType); + } + else { + return parameters; + } + } + else if (allAccessors.firstAccessor === accessor) { + const foundType = getAccessorType ?? setAccessorType; + const propertyType = foundType ? serializeExistingTypeAnnotation(foundType) : inferAccessorType(accessor, context); + + return propertyType; + } + return false; + } + + function typeFromPrimitiveLiteral(): boolean { + return true; + } + + function canAddUndefined(node: TypeNode): boolean { + if (!strictNullChecks) { + return true; + } + if ( + isKeyword(node.kind) || + node.kind === SyntaxKind.LiteralType || + node.kind === SyntaxKind.FunctionType || + node.kind === SyntaxKind.ConstructorType || + node.kind === SyntaxKind.ArrayType || + node.kind === SyntaxKind.TupleType || + node.kind === SyntaxKind.TypeLiteral || + node.kind === SyntaxKind.TemplateLiteralType || + node.kind === SyntaxKind.ThisType + ) { + return true; + } + if (node.kind === SyntaxKind.ParenthesizedType) { + return canAddUndefined((node as ParenthesizedTypeNode).type); + } + if (node.kind === SyntaxKind.UnionType || node.kind === SyntaxKind.IntersectionType) { + return (node as UnionTypeNode | IntersectionTypeNode).types.every(canAddUndefined); + } + return false; + } + + function createReturnFromSignature(fn: SignatureDeclaration | JSDocSignature, context: SyntacticTypeNodeBuilderContext): boolean { + let returnType; + const returnTypeNode = getEffectiveReturnTypeNode(fn); + if (returnTypeNode) { + returnType = serializeExistingTypeAnnotation(returnTypeNode); + } + if (!returnType && isValueSignatureDeclaration(fn)) { + returnType = typeFromSingleReturnExpression(fn, context); + } + return returnType ?? inferReturnTypeOfSignatureSignature(fn, context); + } + + function typeFromSingleReturnExpression( + declaration: FunctionLikeDeclaration | undefined, + context: SyntacticTypeNodeBuilderContext + ): boolean | undefined + { + let candidateExpr: Expression | undefined; + if (declaration && !nodeIsMissing(declaration.body)) { + const body = declaration.body; + if (body && isBlock(body)) { + forEachReturnStatement(body, s => { + if (!candidateExpr) { + candidateExpr = s.expression; + } + else { + candidateExpr = undefined; + return true; + } + }); + } + else { + candidateExpr = body; + } + } + if (candidateExpr) { + return typeFromExpression(candidateExpr, context); + } + return undefined; + } +} + diff --git a/src/compiler/program.ts b/src/compiler/program.ts index d1ff3495e0..c4231b6de3 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -3897,6 +3897,15 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } } + if (options.noCheck) { + if (options.noEmit) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); + } + if (!options.emitDeclarationOnly) { + createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "noCheck", "emitDeclarationOnly"); + } + } + if (options.emitDecoratorMetadata && !options.experimentalDecorators) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"); diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 3968415abe..bfc0b463bc 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -1381,6 +1381,7 @@ export interface System { realpath?(path: string): string; /** @internal */ getEnvironmentVariable(name: string): string; /** @internal */ tryEnableSourceMapsForHost?(): void; + /** @internal */ getAccessibleFileSystemEntries?(path: string): FileSystemEntries; /** @internal */ debugMode?: boolean; setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; clearTimeout?(timeoutId: any): void; @@ -1512,6 +1513,7 @@ export let sys: System = (() => { resolvePath: path => _path.resolve(path), fileExists, directoryExists, + getAccessibleFileSystemEntries, createDirectory(directoryName: string) { if (!nodeSystem.directoryExists(directoryName)) { // Wrapped in a try-catch to prevent crashing if we are in a race diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index cf8d8c2321..709c12702a 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -1,46 +1,244 @@ import { - AccessorDeclaration, addRelatedInfo, AllAccessorDeclarations, AnnotationPropertyDeclaration, AnyImportSyntax, append, ArrayBindingElement, - arrayFrom, AssertClause, BindingElement, BindingName, BindingPattern, Bundle, CallSignatureDeclaration, - canHaveModifiers, canProduceDiagnostics, ClassDeclaration, CommentRange, compact, concatenate, - concatenateDecoratorsAndModifiers, ConditionalTypeNode, ConstructorDeclaration, ConstructorTypeNode, - ConstructSignatureDeclaration, contains, createDiagnosticForNode, createEmptyExports, - createGetSymbolAccessibilityDiagnosticForNode, createGetSymbolAccessibilityDiagnosticForNodeName, createSymbolTable, - createUnparsedSourceFile, Debug, Declaration, DeclarationDiagnosticProducing, DeclarationName, - declarationNameToString, Decorator, Diagnostics, DiagnosticWithLocation, EmitFlags, EmitHost, EmitResolver, emptyArray, - ensureEtsDecorators, EntityNameOrEntityNameExpression, EnumDeclaration, ESMap, ExportAssignment, ExportDeclaration, - ExpressionWithTypeArguments, factory, FileReference, filter, flatMap, flatten, forEach, FunctionDeclaration, - FunctionTypeNode, GeneratedIdentifierFlags, GetAccessorDeclaration, getAnnotations, getCommentRange, getDirectoryPath, - getEffectiveBaseTypeNode, getEffectiveDecorators, getEffectiveModifierFlags, - getExternalModuleImportEqualsDeclarationExpression, getExternalModuleNameFromDeclaration, - getFirstConstructorWithBody, getLeadingCommentRanges, getLeadingCommentRangesOfNode, getLineAndCharacterOfPosition, - getNameOfDeclaration, getOriginalNodeId, getOutputPathsFor, getParseTreeNode, getRelativePathToDirectoryOrUrl, - getReservedDecoratorsOfEtsFile, getReservedDecoratorsOfStructDeclaration, getResolutionModeOverrideForClause, - getResolvedExternalModuleName, getSetAccessorValueParameter, getSourceFileOfNode, GetSymbolAccessibilityDiagnostic, - getTextOfNode, getThisParameter, getTrailingCommentRanges, hasDynamicName, hasEffectiveModifier, hasExtension, - hasJSDocNodes, HasModifiers, hasSyntacticModifier, HeritageClause, Identifier, ImportDeclaration, - ImportEqualsDeclaration, ImportTypeNode, IndexSignatureDeclaration, inEtsStylesContext, InterfaceDeclaration, isAnnotation, isAnnotationDeclaration, - isAnyImportSyntax, isArray, isBindingPattern, isCallExpression, isClassDeclaration, isDeclaration, isEntityName, - isEntityNameExpression, isExportAssignment, isExportDeclaration, isExternalModule, isExternalModuleAugmentation, - isExternalModuleIndicator, isExternalModuleReference, isExternalOrCommonJsModule, isFunctionDeclaration, - isFunctionLike, isGlobalScopeAugmentation, isIdentifier, isImportDeclaration, isImportEqualsDeclaration, - isIndexSignatureDeclaration, isInEtsFile, isInterfaceDeclaration, isJsonSourceFile, - isLateVisibilityPaintedStatement, isLiteralImportTypeNode, isMappedTypeNode, isMethodDeclaration, isMethodSignature, - isModifier, isModuleDeclaration, isNightly, isOHModulesReference, isOhpm, isOmittedExpression, isPrivateIdentifier, - isPropertyAccessExpression, isPropertySignature, isSemicolonClassElement, isSendableFunctionOrType, - isSetAccessorDeclaration, isSourceFile, isSourceFileJS, isSourceFileNotJson, isStringANonContextualKeyword, - isStringLiteral, isStringLiteralLike, isStructDeclaration, isTupleTypeNode, isTypeAliasDeclaration, isTypeNode, - isTypeParameterDeclaration, isTypeQueryNode, isTypeReferenceNode, isUnparsedSource, last, LateBoundDeclaration, - LateVisibilityPaintedStatement, length, map, Map, mapDefined, MethodDeclaration, MethodSignature, Modifier, - ModifierFlags, ModuleBody, ModuleDeclaration, Mutable, NamedDeclaration, NamespaceDeclaration, - needsScopeMarker, Node, NodeArray, NodeBuilderFlags, NodeFlags, NodeId, normalizeSlashes, OmittedExpression, - orderedRemoveItem, ParameterDeclaration, parseNodeFactory, pathContainsNodeModules, pathIsRelative, - PropertyDeclaration, PropertySignature, pushIfUnique, removeAllComments, Set, SetAccessorDeclaration, - setCommentRange, setEmitFlags, setOriginalNode, setParent, setTextRange, SignatureDeclaration, skipTrivia, some, - SourceFile, startsWith, Statement, stringContains, StringLiteral, Symbol, SymbolAccessibility, - SymbolAccessibilityResult, SymbolFlags, SymbolTracker, SyntaxKind, toFileNameLowerCase, toPath, - TransformationContext, transformNodes, tryCast, TypeAliasDeclaration, TypeNode, TypeParameterDeclaration, - TypeReferenceNode, unescapeLeadingUnderscores, UnparsedSource, VariableDeclaration, VariableStatement, visitArray, - visitEachChild, visitNode, visitNodes, VisitResult, + AccessorDeclaration, + addRelatedInfo, + AllAccessorDeclarations, + AnnotationPropertyDeclaration, + AnyImportSyntax, + append, + ArrayBindingElement, + arrayFrom, + AssertClause, + BindingElement, + BindingName, + BindingPattern, + Bundle, + CallSignatureDeclaration, + canHaveModifiers, + canProduceDiagnostics, + ClassDeclaration, + CommentRange, + compact, + concatenate, + concatenateDecoratorsAndModifiers, + ConditionalTypeNode, + ConstructorDeclaration, + ConstructorTypeNode, + ConstructSignatureDeclaration, + contains, + createDiagnosticForNode, + createEmptyExports, + createGetSymbolAccessibilityDiagnosticForNode, + createGetSymbolAccessibilityDiagnosticForNodeName, + createGetIsolatedDeclarationErrors, + createSymbolTable, + createUnparsedSourceFile, + Debug, + Declaration, + DeclarationDiagnosticProducing, + DeclarationName, + declarationNameToString, + Decorator, + Diagnostics, + DiagnosticWithLocation, + EmitFlags, + EmitHost, + EmitResolver, + emptyArray, + ensureEtsDecorators, + EntityNameOrEntityNameExpression, + EnumDeclaration, + ESMap, + ExportAssignment, + ExportDeclaration, + Expression, + ExpressionWithTypeArguments, + factory, + FileReference, + filter, + flatMap, + flatten, + forEach, + FunctionDeclaration, + FunctionTypeNode, + GeneratedIdentifierFlags, + GetAccessorDeclaration, + getAnnotations, + getCommentRange, + getDirectoryPath, + getEffectiveBaseTypeNode, + getEffectiveDecorators, + getEffectiveModifierFlags, + getExternalModuleImportEqualsDeclarationExpression, + getExternalModuleNameFromDeclaration, + getFirstConstructorWithBody, + getLeadingCommentRanges, + getLeadingCommentRangesOfNode, + getLineAndCharacterOfPosition, + getNameOfDeclaration, + getOriginalNodeId, + getOutputPathsFor, + getParseTreeNode, + getRelativePathToDirectoryOrUrl, + getReservedDecoratorsOfEtsFile, + getReservedDecoratorsOfStructDeclaration, + getResolutionModeOverrideForClause, + getResolvedExternalModuleName, + getSetAccessorValueParameter, + getSourceFileOfNode, + GetSymbolAccessibilityDiagnostic, + getTextOfNode, + getThisParameter, + getTrailingCommentRanges, + hasDynamicName, + hasEffectiveModifier, + hasExtension, + hasJSDocNodes, + HasModifiers, + hasSyntacticModifier, + HeritageClause, + Identifier, + ImportDeclaration, + ImportEqualsDeclaration, + ImportTypeNode, + IndexSignatureDeclaration, + inEtsStylesContext, + InterfaceDeclaration, + isAnnotation, + isAnnotationDeclaration, + isAnyImportSyntax, + isArray, + isBinaryExpression, + isBindingPattern, + isCallExpression, + isClassDeclaration, + isComputedPropertyName, + isDeclaration, + isEntityName, + isEntityNameExpression, + isExpandoPropertyDeclaration, + isExportAssignment, + isExportDeclaration, + isExternalModule, + isExternalModuleAugmentation, + isExternalModuleIndicator, + isExternalModuleReference, + isExternalOrCommonJsModule, + isFunctionDeclaration, + isFunctionLike, + isGlobalScopeAugmentation, + isIdentifier, + isImportDeclaration, + isImportEqualsDeclaration, + isIndexSignatureDeclaration, + isInEtsFile, + isInterfaceDeclaration, + isJsonSourceFile, + isLateVisibilityPaintedStatement, + isLiteralImportTypeNode, + isMappedTypeNode, + isMethodDeclaration, + isMethodSignature, + isModifier, + isModuleDeclaration, + isNightly, + isOHModulesReference, + isOhpm, + isOmittedExpression, + isPrimitiveLiteralValue, + isPrivateIdentifier, + isPropertyAccessExpression, + isPropertySignature, + isSemicolonClassElement, + isSendableFunctionOrType, + isSetAccessorDeclaration, + isSourceFile, + isSourceFileJS, + isSourceFileNotJson, + isStringANonContextualKeyword, + isStringLiteral, + isStringLiteralLike, + isStructDeclaration, + isTupleTypeNode, + isTypeAliasDeclaration, + isTypeNode, + isTypeParameterDeclaration, + isTypeQueryNode, + isTypeReferenceNode, + isUnparsedSource, + isVariableDeclaration, + last, + LateBoundDeclaration, + LateVisibilityPaintedStatement, + length, + map, + Map, + mapDefined, + MethodDeclaration, + MethodSignature, + Modifier, + ModifierFlags, + ModuleBody, + ModuleDeclaration, + Mutable, + NamedDeclaration, + NamespaceDeclaration, + needsScopeMarker, + Node, + NodeArray, + NodeBuilderFlags, + NodeFlags, + NodeId, + normalizeSlashes, + OmittedExpression, + orderedRemoveItem, + ParameterDeclaration, + parseNodeFactory, + pathContainsNodeModules, + pathIsRelative, + PropertyDeclaration, + PropertySignature, + pushIfUnique, + removeAllComments, + Set, + SetAccessorDeclaration, + setCommentRange, + setEmitFlags, + setOriginalNode, + setParent, + setTextRange, + SignatureDeclaration, + skipTrivia, + some, + SourceFile, + startsWith, + Statement, + stringContains, + StringLiteral, + Symbol, + SymbolAccessibility, + SymbolAccessibilityResult, + SymbolFlags, + SymbolTracker, + SyntaxKind, + toFileNameLowerCase, + toPath, + TransformationContext, + transformNodes, + tryCast, + TypeAliasDeclaration, + TypeNode, + TypeParameterDeclaration, + TypeReferenceNode, + unescapeLeadingUnderscores, + UnparsedSource, + unwrapParenthesizedExpression, + VariableDeclaration, + VariableStatement, + visitArray, + visitEachChild, + visitNode, + visitNodes, + VisitResult, } from "../_namespaces/ts"; import * as moduleSpecifiers from "../_namespaces/ts.moduleSpecifiers"; @@ -85,6 +283,7 @@ const declarationEmitNodeBuilderFlags = NodeBuilderFlags.UseTypeOfFunction | NodeBuilderFlags.UseStructuralFallback | NodeBuilderFlags.AllowEmptyTuple | + NodeBuilderFlags.AllowUnresolvedComputedNames | NodeBuilderFlags.GenerateNamesForShadowedTypeParams | NodeBuilderFlags.NoTruncation; @@ -128,6 +327,7 @@ export function transformDeclarations(context: TransformationContext) { reportNonlocalAugmentation, reportNonSerializableProperty, reportImportTypeNodeResolutionModeOverride, + reportInferenceFallback, }; let errorNameNode: DeclarationName | undefined; let errorFallbackNode: Declaration | undefined; @@ -138,9 +338,37 @@ export function transformDeclarations(context: TransformationContext) { let emittedImports: readonly AnyImportSyntax[] | undefined; // must be declared in container so it can be `undefined` while transformer's first pass const resolver = context.getEmitResolver(); const options = context.getCompilerOptions(); + const getIsolatedDeclarationError = createGetIsolatedDeclarationErrors(resolver); const { noResolve, stripInternal, isolatedDeclarations } = options; return transformRoot; + function reportExpandoFunctionErrors(node: FunctionDeclaration | VariableDeclaration): void { + resolver.getPropertiesOfContainerFunction(node).forEach(p => { + if (isExpandoPropertyDeclaration(p.valueDeclaration)) { + const errorTarget = isBinaryExpression(p.valueDeclaration) ? + p.valueDeclaration.left : + p.valueDeclaration; + + context.addDiagnostic(createDiagnosticForNode( + errorTarget, + Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function, + )); + } + }); + } + + function reportInferenceFallback(node: Node): void { + if (!isolatedDeclarations || isSourceFileJS(currentSourceFile)) { + return; + } + if (isVariableDeclaration(node) && resolver.isExpandoFunctionDeclaration(node)) { + reportExpandoFunctionErrors(node); + } + else { + context.addDiagnostic(getIsolatedDeclarationError(node)); + } + } + function recordTypeReferenceDirectivesIfNecessary(typeReferenceDirectives: readonly [specifier: string, mode: SourceFile["impliedNodeFormat"] | undefined][] | undefined): void { if (!typeReferenceDirectives) { return; @@ -530,7 +758,7 @@ export function transformDeclarations(context: TransformationContext) { elem.dotDotDotToken, /* propertyName */ undefined, elem.propertyName, - shouldPrintWithInitializer(elem) ? elem.initializer : undefined + /* initializer */ undefined ); } return factory.updateBindingElement( @@ -538,7 +766,7 @@ export function transformDeclarations(context: TransformationContext) { elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), - shouldPrintWithInitializer(elem) ? elem.initializer : undefined + /* initializer */ undefined, ); } } @@ -564,13 +792,19 @@ export function transformDeclarations(context: TransformationContext) { return newParam; } - function shouldPrintWithInitializer(node: Node) { - return canHaveLiteralInitializer(node) && resolver.isLiteralConstDeclaration(getParseTreeNode(node) as CanHaveLiteralInitializer); // TODO: Make safe + function shouldPrintWithInitializer(node: Node): node is CanHaveLiteralInitializer & { initializer: Expression; } { + return canHaveLiteralInitializer(node) && + !!node.initializer && + resolver.isLiteralConstDeclaration(getParseTreeNode(node) as CanHaveLiteralInitializer); // TODO: Make safea } function ensureNoInitializer(node: CanHaveLiteralInitializer) { if (shouldPrintWithInitializer(node)) { - return resolver.createLiteralConstValue(getParseTreeNode(node) as CanHaveLiteralInitializer, symbolTracker); // TODO: Make safe + const unwrappedInitializer = unwrapParenthesizedExpression(node.initializer); + if (!isPrimitiveLiteralValue(unwrappedInitializer)) { + reportInferenceFallback(node); + } + return resolver.createLiteralConstValue(getParseTreeNode(node, canHaveLiteralInitializer)!, symbolTracker); } return undefined; } @@ -629,8 +863,8 @@ export function transformDeclarations(context: TransformationContext) { || node.kind === SyntaxKind.PropertyDeclaration || node.kind === SyntaxKind.PropertySignature || node.kind === SyntaxKind.AnnotationPropertyDeclaration) { - if (isPropertySignature(node) || !node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); - return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + if (isPropertySignature(node) || !node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); + return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } return cleanup(resolver.createReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -952,7 +1186,27 @@ export function transformDeclarations(context: TransformationContext) { if (isDeclaration(input)) { if (isDeclarationAndNotVisible(input)) return; if (hasDynamicName(input) && !resolver.isLateBound(getParseTreeNode(input) as Declaration)) { + if ( + isolatedDeclarations && + // Classes usually elide properties with computed names that are not of a literal type + // In isolated declarations TSC needs to error on these as we don't know the type in a DTE. + isClassDeclaration(input.parent) && + isEntityNameExpression(input.name.expression) && + // If the symbol is not accessible we get another TS error no need to add to that + resolver.isEntityNameVisible(input.name.expression, input.parent).accessibility === SymbolAccessibility.Accessible && + !resolver.isNonNarrowedBindableName(input.name) + ) { + context.addDiagnostic( + createDiagnosticForNode( + input, + Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations + ) + ); + } return; + // A.B.C that is not late bound - usually this means the expression did not resolve. + // Check the entity name, and copy the declaration, rather than elide it (there's + // probably a checker error in the input, but this is most likely the desired output). } } @@ -1354,6 +1608,9 @@ export function transformDeclarations(context: TransformationContext) { } if (clean && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { const props = resolver.getPropertiesOfContainerFunction(input); + if (isolatedDeclarations) { + reportExpandoFunctionErrors(input); + } // Use parseNodeFactory so it is usable as an enclosing declaration const fakespace = parseNodeFactory.createModuleDeclaration(/*modifiers*/ undefined, clean.name || factory.createIdentifier("_default"), factory.createModuleBlock([]), NodeFlags.Namespace); setParent(fakespace, enclosingDeclaration as SourceFile | NamespaceDeclaration); @@ -1365,7 +1622,9 @@ export function transformDeclarations(context: TransformationContext) { return undefined; // TODO GH#33569: Handle element access expressions that created late bound names (rather than silently omitting them) } getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(p.valueDeclaration); - const type = resolver.createTypeOfDeclaration(p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags, symbolTracker); + const type = resolver.createTypeOfDeclaration( + p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags | NodeBuilderFlags.NoSyntacticPrinter, symbolTracker + ); getSymbolAccessibilityDiagnostic = oldDiag; const nameStr = unescapeLeadingUnderscores(p.escapedName); const isNonContextualKeywordName = isStringANonContextualKeyword(nameStr); @@ -1622,6 +1881,7 @@ export function transformDeclarations(context: TransformationContext) { const heritageClauses = transformHeritageClauses(input.heritageClauses); let reservedDecorators = concatenate(getReservedDecoratorsOfEtsFile(input, host), getAnnotations(input)); checkAnnotationVisibilityByDecorator(reservedDecorators); + return cleanup(factory.updateClassDeclaration( input, concatenateDecoratorsAndModifiers(reservedDecorators, modifiers), @@ -1636,10 +1896,27 @@ export function transformDeclarations(context: TransformationContext) { return cleanup(transformVariableStatement(input)); } case SyntaxKind.EnumDeclaration: { - return cleanup(factory.updateEnumDeclaration(input, factory.createNodeArray(ensureModifiers(input)), input.name, factory.createNodeArray(mapDefined(input.members, m => { - if (shouldStripInternal(m)) return; - // Rewrite enum values to their constants, if available - const constValue = resolver.getConstantValue(m); + return cleanup(factory.updateEnumDeclaration( + input, + factory.createNodeArray(ensureModifiers(input)), + input.name, + factory.createNodeArray(mapDefined(input.members, m => { + if (shouldStripInternal(m)) return; + // Rewrite enum values to their constants, if available + const enumValue = resolver.getEnumMemberValue(m); + const constValue = enumValue?.value; + if ( + isolatedDeclarations && m.initializer && enumValue?.hasExternalReferences && + // This will be its own compiler error instead, so don't report. + !isComputedPropertyName(m.name) + ) { + context.addDiagnostic( + createDiagnosticForNode( + m, + Diagnostics.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations + ) + ); + } return preserveJsDoc(factory.updateEnumMember(m, m.name, constValue !== undefined ? typeof constValue === "string" ? factory.createStringLiteral(constValue) : factory.createNumericLiteral(constValue) : undefined), m); })))); } @@ -1697,7 +1974,7 @@ export function transformDeclarations(context: TransformationContext) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = (node as NamedDeclaration).name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node) as Declaration)); // Should only be called with dynamic names + Debug.assert(hasDynamicName(node as NamedDeclaration)); // Should only be called with dynamic names const decl = node as NamedDeclaration as LateBoundDeclaration; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); @@ -1797,7 +2074,7 @@ function getTypeAnnotationFromAccessor(accessor: AccessorDeclaration): TypeNode } type CanHaveLiteralInitializer = VariableDeclaration | PropertyDeclaration | PropertySignature | ParameterDeclaration; -function canHaveLiteralInitializer(node: Node): boolean { +function canHaveLiteralInitializer(node: Node): node is CanHaveLiteralInitializer { switch (node.kind) { case SyntaxKind.PropertyDeclaration: case SyntaxKind.PropertySignature: diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 59418622d6..6bae3470f7 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1331,6 +1331,16 @@ export type HasIllegalModifiers = | NamespaceExportDeclaration ; +/** @internal */ +export type PrimitiveLiteral = + | BooleanLiteral + | NumericLiteral + | StringLiteral + | NoSubstitutionTemplateLiteral + | BigIntLiteral + | PrefixUnaryExpression & { operator: SyntaxKind.PlusToken; operand: NumericLiteral; } + | PrefixUnaryExpression & { operator: SyntaxKind.MinusToken; operand: NumericLiteral | BigIntLiteral; }; + /** @internal */ export interface MutableNodeArray extends Array, TextRange { hasTrailingComma: boolean; @@ -2762,7 +2772,7 @@ export interface PropertyAccessEntityNameExpression extends PropertyAccessExpres readonly name: Identifier; } -export interface ElementAccessExpression extends MemberExpression { +export interface ElementAccessExpression extends MemberExpression, Declaration { readonly kind: SyntaxKind.ElementAccessExpression; readonly expression: LeftHandSideExpression; readonly questionDotToken?: QuestionDotToken; @@ -4014,7 +4024,7 @@ export type FlowType = Type | IncompleteType; // is distinguished from a regular type by a flags value of zero. Incomplete type // objects are internal to the getFlowTypeOfReference function and never escape it. export interface IncompleteType { - flags: TypeFlags; // No flags set + flags: TypeFlags | 0; // No flags set type: Type; // The type marked incomplete } @@ -4047,6 +4057,8 @@ export interface RedirectInfo { readonly unredirected: SourceFile; } +export type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined; + // Source files are declarations when they are external modules. export interface SourceFile extends Declaration { readonly kind: SyntaxKind.SourceFile; @@ -5084,6 +5096,7 @@ export const enum ContextFlags { } // NOTE: If modifying this enum, must modify `TypeFormatFlags` too! +// dprint-ignore export const enum NodeBuilderFlags { None = 0, // Options @@ -5117,10 +5130,12 @@ export const enum NodeBuilderFlags { AllowUniqueESSymbolType = 1 << 20, AllowEmptyIndexInfoType = 1 << 21, /** @internal */ WriteComputedProps = 1 << 30, // { [E.A]: 1 } + /** @internal */ NoSyntacticPrinter = 1 << 31, // Errors (cont.) AllowNodeModulesRelativePaths = 1 << 26, /** @internal */ DoNotIncludeSymbolChain = 1 << 27, // Skip looking up and printing an accessible symbol chain + /** @internal */ AllowUnresolvedComputedNames = 1 << 32, IgnoreErrors = AllowThisInObjectLiteral | AllowQualifiedNameInPlaceOfIdentifier | AllowAnonymousIdentifier | AllowEmptyUnionOrIntersection | AllowEmptyTuple | AllowEmptyIndexInfoType | AllowNodeModulesRelativePaths, @@ -5416,6 +5431,7 @@ export enum TypeReferenceSerializationKind { /** @internal */ export interface EmitResolver { + isNonNarrowedBindableName(node: ComputedPropertyName): boolean; hasGlobalName(name: string): boolean; getReferencedExportContainer(node: Identifier, prefixLocals?: boolean): SourceFile | ModuleDeclaration | EnumDeclaration | undefined; getReferencedImportDeclaration(node: Identifier): Declaration | undefined; @@ -5433,9 +5449,9 @@ export interface EmitResolver { requiresAddingImplicitUndefined(node: ParameterDeclaration): boolean; isRequiredInitializedParameter(node: ParameterDeclaration): boolean; isOptionalUninitializedParameterProperty(node: ParameterDeclaration): boolean; - isExpandoFunctionDeclaration(node: FunctionDeclaration): boolean; + isExpandoFunctionDeclaration(node: FunctionDeclaration | VariableDeclaration): boolean; getPropertiesOfContainerFunction(node: Declaration): Symbol[]; - createTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker, addUndefined?: boolean): TypeNode | undefined; + createTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker): TypeNode | undefined; createReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker): TypeNode | undefined; createTypeOfExpression(expr: Expression, enclosingDeclaration: Node, flags: NodeBuilderFlags, tracker: SymbolTracker): TypeNode | undefined; createLiteralConstValue(node: VariableDeclaration | PropertyDeclaration | PropertySignature | ParameterDeclaration, tracker: SymbolTracker): Expression; @@ -5443,6 +5459,7 @@ export interface EmitResolver { isEntityNameVisible(entityName: EntityNameOrEntityNameExpression, enclosingDeclaration: Node): SymbolVisibilityResult; // Returns the constant value this property access resolves to, or 'undefined' for a non-constant getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined; + getEnumMemberValue(node: EnumMember): EvaluatorResult | undefined; getReferencedValueDeclaration(reference: Identifier): Declaration | undefined; getTypeReferenceSerializationKind(typeName: EntityName, location?: Node): TypeReferenceSerializationKind; isOptionalParameter(node: ParameterDeclaration): boolean; @@ -5764,6 +5781,14 @@ export const enum NodeCheckFlags { InCheckIdentifier = 0x10000000, } +/** @internal */ +export interface EvaluatorResult { + value: T; + isSyntacticallyString: boolean; + resolvedOtherFiles: boolean; + hasExternalReferences: boolean; +} + /** @internal */ export interface NodeLinks { flags: NodeCheckFlags; // Set of flags specific to Node @@ -5773,7 +5798,7 @@ export interface NodeLinks { resolvedSymbol?: Symbol; // Cached name resolution result resolvedIndexInfo?: IndexInfo; // Cached indexing info resolution result effectsSignature?: Signature; // Signature with possible control flow effects - enumMemberValue?: string | number; // Constant value of enum member + enumMemberValue?: EvaluatorResult; // Constant value of enum member isVisible?: boolean; // Is this node visible containsArgumentsReference?: boolean; // Whether a function-like declaration contains an 'arguments' reference hasReportedStatementInAmbientContext?: boolean; // Cache boolean if we report statements in ambient context @@ -5797,6 +5822,17 @@ export interface NodeLinks { annotationPropertyInferredType?: TypeNode; // Cached inferred type of AnnotationPropertyDeclaration annotationDeclarationUniquePrefix?: string; // Cached a prefix of AnnotationDeclaration name exportOrImportRefersToAnnotation?: boolean; // Indicates that ImportSpecifier, ExportSpecifier or ExportAssignment are referred to AnnotationDeclaration. + fakeScopeForSignatureDeclaration?: "params" | "typeParams"; // If present, this is a fake scope injected into an enclosing declaration chain. +} + +/** @internal */ +export type TrackedSymbol = [symbol: Symbol, enclosingDeclaration: Node | undefined, meaning: SymbolFlags]; +/** @internal */ +export interface SerializedTypeEntry { + node: TypeNode; + truncating?: boolean; + addedLength: number; + trackedSymbols: readonly TrackedSymbol[] | undefined; } export const enum TypeFlags { @@ -5836,6 +5872,7 @@ export const enum TypeFlags { Nullable = Undefined | Null, Literal = StringLiteral | NumberLiteral | BigIntLiteral | BooleanLiteral, Unit = Literal | UniqueESSymbol | Nullable, + Freshable = Enum | Literal, StringOrNumberLiteral = StringLiteral | NumberLiteral, /** @internal */ StringOrNumberLiteralOrUnique = StringLiteral | NumberLiteral | UniqueESSymbol, @@ -5929,22 +5966,20 @@ export interface NullableType extends IntrinsicType { objectFlags: ObjectFlags; } -/** @internal */ -export interface FreshableIntrinsicType extends IntrinsicType { - freshType: IntrinsicType; // Fresh version of type - regularType: IntrinsicType; // Regular version of type +export interface FreshableType extends Type { + freshType: FreshableType; // Fresh version of type + regularType: FreshableType; // Regular version of type } -/** @internal */ -export type FreshableType = LiteralType | FreshableIntrinsicType; +/*** @internal */ +export interface FreshableIntrinsicType extends FreshableType, IntrinsicType { +} // String literal types (TypeFlags.StringLiteral) // Numeric literal types (TypeFlags.NumberLiteral) // BigInt literal types (TypeFlags.BigIntLiteral) -export interface LiteralType extends Type { +export interface LiteralType extends FreshableType { value: string | number | PseudoBigInt; // Value of literal - freshType: LiteralType; // Fresh version of type - regularType: LiteralType; // Regular version of type } // Unique symbol types (TypeFlags.UniqueESSymbol) @@ -5966,7 +6001,7 @@ export interface BigIntLiteralType extends LiteralType { } // Enum types (TypeFlags.Enum) -export interface EnumType extends Type { +export interface EnumType extends FreshableType { } // Types included in TypeFlags.ObjectFlagsType have an objectFlags property. Some ObjectFlags @@ -6667,6 +6702,9 @@ export interface Diagnostic extends DiagnosticRelatedInformation { /** @internal */ skippedOn?: keyof CompilerOptions; } + /** @internal */ + export type DiagnosticArguments = (string | number)[]; + export interface DiagnosticRelatedInformation { category: DiagnosticCategory; code: number; @@ -6836,6 +6874,7 @@ export interface CompilerOptions { moduleDetection?: ModuleDetectionKind; newLine?: NewLineKind; noEmit?: boolean; + noCheck?: boolean; /** @internal */noEmitForJsFiles?: boolean; noEmitHelpers?: boolean; noEmitOnError?: boolean; @@ -9303,6 +9342,7 @@ export interface ModuleSpecifierResolutionHost { isSourceOfProjectReferenceRedirect(fileName: string): boolean; /** @internal */ getFileIncludeReasons(): MultiMap; + getCommonSourceDirectory(): string; } export interface ModulePath { @@ -9348,6 +9388,7 @@ export interface SymbolTracker { reportNonlocalAugmentation?(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): void; reportNonSerializableProperty?(propertyName: string): void; reportImportTypeNodeResolutionModeOverride?(): void; + reportInferenceFallback?(node: Node): void; } export interface TextSpan { @@ -9663,3 +9704,35 @@ export interface Queue { dequeue(): T; isEmpty(): boolean; } +/** @internal */ +export type HasInferredType = + | PropertyAssignment + | PropertyAccessExpression + | BinaryExpression + | ElementAccessExpression + | VariableDeclaration + | ParameterDeclaration + | BindingElement + | PropertyDeclaration + | PropertySignature + | ExportAssignment; + +/** @internal */ +export interface SyntacticTypeNodeBuilderContext { + tracker: Required>; + enclosingDeclaration: Node | undefined; +} + +/** @internal */ +export interface SyntacticTypeNodeBuilderResolver { + isUndefinedIdentifierExpression(name: Identifier): boolean; + isNonNarrowedBindableName(name: ComputedPropertyName): boolean; + isExpandoFunctionDeclaration(name: FunctionDeclaration | VariableDeclaration): boolean; + getAllAccessorDeclarations(declaration: AccessorDeclaration): AllAccessorDeclarations; + isEntityNameVisible( + entityName: EntityNameOrEntityNameExpression, + enclosingDeclaration: Node, + shouldComputeAliasToMakeVisible?: boolean + ): SymbolVisibilityResult; + requiresAddingImplicitUndefined(parameter: ParameterDeclaration | JSDocParameterTag): boolean; +} diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index dc5c9cd876..ff9c37aaf9 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1,98 +1,536 @@ import * as ts from "./_namespaces/ts"; import { - __String, AccessExpression, AccessorDeclaration, addRange, affectsDeclarationPathOptionDeclarations, - affectsEmitOptionDeclarations, AllAccessorDeclarations, AmbientModuleDeclaration, AnnotationPropertyDeclaration, - AnyImportOrBareOrAccessedRequire, AnyImportOrReExport, AnyImportSyntax, AnyValidImportOrReExport, arrayFrom, - ArrayLiteralExpression, ArrayTypeNode, ArrowFunction, AsExpression, AssertionExpression, assertType, AssignmentDeclarationKind, - AssignmentExpression, AssignmentOperatorToken, BinaryExpression, binarySearch, BindableObjectDefinePropertyCall, - BindableStaticAccessExpression, BindableStaticElementAccessExpression, BindableStaticNameExpression, BindingElement, - Block, BundleFileSection, BundleFileSectionKind, BundleFileTextLike, CallExpression, CallLikeExpression, - canHaveDecorators, canHaveIllegalDecorators, canHaveModifiers, CaseBlock, CaseClause, CaseOrDefaultClause, - CatchClause, changeAnyExtension, CharacterCodes, CheckFlags, ClassDeclaration, ClassElement, ClassLikeDeclaration, - ClassStaticBlockDeclaration, combinePaths, CommaListExpression, CommandLineOption, CommentDirective, - CommentDirectivesMap, CommentDirectiveType, CommentRange, compareStringsCaseSensitive, compareValues, Comparison, - CompilerOptions, ComputedPropertyName, computeLineAndCharacterOfPosition, computeLineOfPosition, computeLineStarts, - concatenate, ConditionalExpression, ConstructorDeclaration, contains, containsPath, createGetCanonicalFileName, - createModeAwareCache, createMultiMap, createScanner, createTextSpan, createTextSpanFromBounds, Debug, Declaration, - DeclarationName, DeclarationWithTypeParameterChildren, DeclarationWithTypeParameters, Decorator, DefaultClause, - DestructuringAssignment, Diagnostic, DiagnosticCollection, DiagnosticMessage, DiagnosticMessageChain, - DiagnosticRelatedInformation, Diagnostics, DiagnosticWithDetachedLocation, DiagnosticWithLocation, - directorySeparator, DoStatement, DynamicNamedBinaryExpression, DynamicNamedDeclaration, ElementAccessExpression, - EmitFlags, EmitHost, EmitResolver, EmitTextWriter, emptyArray, ensurePathIsNonModuleName, - ensureTrailingDirectorySeparator, EntityName, EntityNameExpression, EntityNameOrEntityNameExpression, - EnumDeclaration, EqualityComparer, equalOwnProperties, EqualsToken, equateValues, escapeLeadingUnderscores, ESMap, - EtsComponentExpression, every, ExportAssignment, ExportDeclaration, ExportSpecifier, Expression, - ExpressionStatement, ExpressionWithTypeArguments, Extension, ExternalModuleReference, factory, FileExtensionInfo, - fileExtensionIs, fileExtensionIsOneOf, FileReference, FileWatcher, filter, find, findAncestor, findBestPatternMatch, - findIndex, findLast, firstDefined, firstOrUndefined, flatMap, flatMapToMutable, flatten, forEach, - forEachAncestorDirectory, forEachChild, forEachChildRecursively, ForInOrOfStatement, ForInStatement, ForOfStatement, - ForStatement, FunctionBody, FunctionDeclaration, FunctionExpression, FunctionLikeDeclaration, - GetAccessorDeclaration, getAllDecorators, getBaseFileName, GetCanonicalFileName, getCombinedModifierFlags, - getCombinedNodeFlags, getDirectoryPath, getEntries, getJSDocAugmentsTag, getJSDocDeprecatedTagNoCache, - getJSDocImplementsTags, getJSDocOverrideTagNoCache, getJSDocParameterTags, getJSDocParameterTagsNoCache, - getJSDocPrivateTagNoCache, getJSDocProtectedTagNoCache, getJSDocPublicTagNoCache, getJSDocReadonlyTagNoCache, - getJSDocReturnType, getJSDocTags, getJSDocType, getJSDocTypeParameterTags, getJSDocTypeParameterTagsNoCache, - getJSDocTypeTag, getLeadingCommentRanges, getLineAndCharacterOfPosition, getLinesBetweenPositions, getLineStarts, - getModeForFileReference, getModeForResolutionAtIndex, getNameOfDeclaration, getNormalizedAbsolutePath, - getNormalizedPathComponents, getOwnKeys, getParseTreeNode, getPathComponents, getPathFromPathComponents, - getRelativePathToDirectoryOrUrl, getRootLength, getStringComparer, getSymbolId, getTrailingCommentRanges, - HasExpressionInitializer, hasExtension, hasInitializer, HasInitializer, HasJSDoc, hasJSDocNodes, HasModifiers, - hasProperty, HasType, HasTypeArguments, HeritageClause, Identifier, IdentifierTypePredicate, identity, idText, - IfStatement, ignoredPaths, ImportCall, ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportMetaProperty, - ImportSpecifier, ImportTypeNode, IndexInfo, indexOfAnyCharCode, InitializedVariableDeclaration, insertSorted, - InterfaceDeclaration, isAccessor, isAnnotation, isAnyDirectorySeparator, isArkTsDecorator, isArray, isArrayLiteralExpression, - isArrowFunction, isBigIntLiteral, isBinaryExpression, isBindingPattern, isCallExpression, isClassDeclaration, - isClassElement, isClassExpression, isClassLike, isClassStaticBlockDeclaration, isCommaListExpression, - isComputedPropertyName, isConstructorDeclaration, isDeclaration, isDecorator, isElementAccessExpression, - isEnumDeclaration, isEnumMember, isEtsComponentExpression, isExportAssignment, isExportDeclaration, - isExpressionStatement, isExpressionWithTypeArguments, isExternalModule, isExternalModuleReference, - isFileProbablyExternalModule, isForStatement, isFunctionDeclaration, isFunctionExpression, isFunctionLike, - isFunctionLikeDeclaration, isFunctionLikeOrClassStaticBlockDeclaration, isGetAccessorDeclaration, isHeritageClause, - isIdentifier, isIdentifierText, isImportTypeNode, isInterfaceDeclaration, isJSDoc, isJSDocFunctionType, - isJSDocLinkLike, isJSDocMemberName, isJSDocNameReference, isJSDocNode, isJSDocParameterTag, isJSDocPropertyLikeTag, - isJSDocSignature, isJSDocTag, isJSDocTemplateTag, isJSDocTypeExpression, isJSDocTypeLiteral, isJSDocTypeTag, - isJsxChild, isJsxFragment, isJsxOpeningLikeElement, isJsxText, isLeftHandSideExpression, isLineBreak, - isLiteralTypeNode, isMemberName, isMetaProperty, isMethodDeclaration, isMethodOrAccessor, isModuleDeclaration, - isNamedDeclaration, isNamespaceExport, isNamespaceExportDeclaration, isNamespaceImport, - isNoSubstitutionTemplateLiteral, isNumericLiteral, isObjectLiteralExpression, isOmittedExpression, isParameter, - isParameterPropertyDeclaration, isParenthesizedExpression, isParenthesizedTypeNode, isPrefixUnaryExpression, - isPrivateIdentifier, isPropertyAccessExpression, isPropertyAssignment, isPropertyDeclaration, isPropertyName, - isPropertySignature, isQualifiedName, isRootedDiskPath, isSendableFunctionOrType, isSetAccessorDeclaration, - isShorthandPropertyAssignment, isSourceFile, isString, isStringLiteral, isStringLiteralLike, isStruct, - isTypeAliasDeclaration, isTypeElement, isTypeLiteralNode, isTypeNode, isTypeReferenceNode, isVariableDeclaration, - isVariableStatement, isVoidExpression, isWhiteSpaceLike, isWhiteSpaceSingleLine, JSDoc, JSDocCallbackTag, - JSDocEnumTag, JSDocMemberName, JSDocParameterTag, JSDocSignature, JSDocTag, JSDocTemplateTag, JSDocTypedefTag, - JsonSourceFile, JsxChild, JsxElement, JsxEmit, JsxFragment, JsxOpeningElement, JsxOpeningLikeElement, - JsxSelfClosingElement, JsxTagNameExpression, KeywordSyntaxKind, LabeledStatement, LanguageVariant, last, - lastOrUndefined, LateVisibilityPaintedStatement, length, LiteralImportTypeNode, LiteralLikeElementAccessExpression, - LiteralLikeNode, LogicalOrCoalescingAssignmentOperator, map, Map, mapDefined, MapLike, MemberName, - MethodDeclaration, ModeAwareCache, ModifierFlags, ModifierLike, ModuleBlock, ModuleDeclaration, ModuleDetectionKind, - ModuleKind, ModuleResolutionKind, moduleResolutionOptionDeclarations, MultiMap, NamedDeclaration, NamedExports, - NamedImports, NamedImportsOrExports, NamespaceExport, NamespaceImport, NewExpression, NewLineKind, Node, NodeArray, - NodeFlags, NonNullExpression, noop, normalizePath, NoSubstitutionTemplateLiteral, NumericLiteral, ObjectFlags, - ObjectFlagsType, ObjectLiteralElement, ObjectLiteralExpression, ObjectLiteralExpressionBase, ObjectTypeDeclaration, - optionsAffectingProgramStructure, or, OuterExpressionKinds, PackageId, ParameterDeclaration, - ParenthesizedExpression, ParenthesizedTypeNode, parseConfigFileTextToJson, PartiallyEmittedExpression, Path, - pathIsRelative, Pattern, PostfixUnaryExpression, PrefixUnaryExpression, PrinterOptions, PrintHandlers, - PrivateIdentifier, ProjectReference, PrologueDirective, PropertyAccessEntityNameExpression, - PropertyAccessExpression, PropertyAssignment, PropertyDeclaration, PropertyName, PropertyNameLiteral, PseudoBigInt, - QualifiedName, ReadonlyCollection, ReadonlyESMap, ReadonlyTextRange, removeTrailingDirectorySeparator, - RequireOrImportCall, RequireVariableStatement, ResolvedModuleFull, ResolvedTypeReferenceDirective, - resolveTripleslashReference, ReturnStatement, SatisfiesExpression, ScriptKind, ScriptTarget, - semanticDiagnosticsOptionDeclarations, SetAccessorDeclaration, ShorthandPropertyAssignment, Signature, - SignatureDeclaration, SignatureFlags, SignatureKind, singleElementArray, singleOrUndefined, skipOuterExpressions, - skipTrivia, some, sort, SortedArray, SourceFile, SourceFileLike, SourceFileMayBeEmittedHost, SourceMapSource, - startsWith, startsWithUseStrict, Statement, stringContains, StringLiteral, StringLiteralLike, stringToToken, - StructDeclaration, SuperCall, SuperExpression, SuperProperty, SwitchStatement, Symbol, SymbolFlags, SymbolTable, - SyntaxKind, SyntaxList, sys, TaggedTemplateExpression, TemplateLiteral, TemplateLiteralLikeNode, - TemplateLiteralTypeSpan, TemplateSpan, TextRange, TextSpan, ThisTypePredicate, Token, TokenFlags, tokenToString, - toPath, tracing, TransformFlags, TransientSymbol, trimString, trimStringStart, TriviaSyntaxKind, tryCast, - tryRemovePrefix, TryStatement, TsConfigSourceFile, TupleTypeNode, Type, TypeAliasDeclaration, TypeAssertion, - TypeChecker, TypeCheckerHost, TypeElement, TypeFlags, TypeLiteralNode, TypeNode, TypeNodeSyntaxKind, TypeParameter, - TypeParameterDeclaration, TypePredicate, TypePredicateKind, TypeReferenceNode, unescapeLeadingUnderscores, - UnionOrIntersectionTypeNode, ValidImportTypeNode, VariableDeclaration, VariableDeclarationInitializedTo, - VariableDeclarationList, VariableLikeDeclaration, VariableStatement, version, WhileStatement, WithStatement, - WriteFileCallback, WriteFileCallbackData, YieldExpression, + __String, + AccessExpression, + AccessorDeclaration, + addRange, + affectsDeclarationPathOptionDeclarations, + affectsEmitOptionDeclarations, + AllAccessorDeclarations, + AmbientModuleDeclaration, + AnnotationPropertyDeclaration, + AnyImportOrBareOrAccessedRequire, + AnyImportOrReExport, + AnyImportSyntax, + AnyValidImportOrReExport, + arrayFrom, + ArrayLiteralExpression, + ArrayTypeNode, + ArrowFunction, + AsExpression, + AssertionExpression, + assertType, + AssignmentDeclarationKind, + AssignmentExpression, + AssignmentOperatorToken, + BinaryExpression, + binarySearch, + BindableObjectDefinePropertyCall, + BindableStaticAccessExpression, + BindableStaticElementAccessExpression, + BindableStaticNameExpression, + BindingElement, + Block, + BundleFileSection, + BundleFileSectionKind, + BundleFileTextLike, + CallExpression, + CallLikeExpression, + canHaveDecorators, + canHaveIllegalDecorators, + canHaveModifiers, + CaseBlock, + CaseClause, + CaseOrDefaultClause, + CatchClause, + changeAnyExtension, + CharacterCodes, + CheckFlags, + ClassDeclaration, + ClassElement, + ClassLikeDeclaration, + ClassStaticBlockDeclaration, + combinePaths, + CommaListExpression, + CommandLineOption, + CommentDirective, + CommentDirectivesMap, + CommentDirectiveType, + CommentRange, + compareStringsCaseSensitive, + compareValues, + Comparison, + CompilerOptions, + ComputedPropertyName, + computeLineAndCharacterOfPosition, + computeLineOfPosition, + computeLineStarts, + concatenate, + ConditionalExpression, + ConstructorDeclaration, + contains, + containsPath, + createGetCanonicalFileName, + createModeAwareCache, + createMultiMap, + createScanner, + createTextSpan, + createTextSpanFromBounds, + Debug, + Declaration, + DeclarationName, + DeclarationWithTypeParameterChildren, + DeclarationWithTypeParameters, + Decorator, + DefaultClause, + DestructuringAssignment, + Diagnostic, + DiagnosticCollection, + DiagnosticMessage, + DiagnosticMessageChain, + DiagnosticRelatedInformation, + Diagnostics, + DiagnosticWithDetachedLocation, + DiagnosticWithLocation, + directorySeparator, + DoStatement, + DynamicNamedBinaryExpression, + DynamicNamedDeclaration, + ElementAccessExpression, + EmitFlags, + EmitHost, + EmitResolver, + EmitTextWriter, + emptyArray, + ensurePathIsNonModuleName, + ensureTrailingDirectorySeparator, + EntityName, + EntityNameExpression, + EntityNameOrEntityNameExpression, + EnumDeclaration, + EqualityComparer, + equalOwnProperties, + EqualsToken, + equateValues, + escapeLeadingUnderscores, + ESMap, + EtsComponentExpression, + every, + EvaluatorResult, + ExportAssignment, + ExportDeclaration, + ExportSpecifier, + Expression, + ExpressionStatement, + ExpressionWithTypeArguments, + Extension, + ExternalModuleReference, + factory, + FileExtensionInfo, + fileExtensionIs, + fileExtensionIsOneOf, + FileReference, + FileWatcher, + filter, + find, + findAncestor, + findBestPatternMatch, + findIndex, + findLast, + firstDefined, + firstOrUndefined, + flatMap, + flatMapToMutable, + flatten, + forEach, + forEachAncestorDirectory, + forEachChild, + forEachChildRecursively, + ForInOrOfStatement, + ForInStatement, + ForOfStatement, + ForStatement, + FunctionBody, + FunctionDeclaration, + FunctionExpression, + FunctionLikeDeclaration, + GetAccessorDeclaration, + getAllDecorators, + getBaseFileName, + GetCanonicalFileName, + getCombinedModifierFlags, + getCombinedNodeFlags, + getDirectoryPath, + getEntries, + getJSDocAugmentsTag, + getJSDocDeprecatedTagNoCache, + getJSDocImplementsTags, + getJSDocOverrideTagNoCache, + getJSDocParameterTags, + getJSDocParameterTagsNoCache, + getJSDocPrivateTagNoCache, + getJSDocProtectedTagNoCache, + getJSDocPublicTagNoCache, + getJSDocReadonlyTagNoCache, + getJSDocReturnType, + getJSDocTags, + getJSDocType, + getJSDocTypeParameterTags, + getJSDocTypeParameterTagsNoCache, + getJSDocTypeTag, + getLeadingCommentRanges, + getLineAndCharacterOfPosition, + getLinesBetweenPositions, + getLineStarts, + getModeForFileReference, + getModeForResolutionAtIndex, + getNameOfDeclaration, + getNormalizedAbsolutePath, + getNormalizedPathComponents, + getOwnKeys, + getParseTreeNode, + getPathComponents, + getPathFromPathComponents, + getRelativePathToDirectoryOrUrl, + getRootLength, + getStringComparer, + getSymbolId, + getTrailingCommentRanges, + HasExpressionInitializer, + hasExtension, + HasInferredType, + hasInitializer, + HasInitializer, + HasJSDoc, + hasJSDocNodes, + HasModifiers, + hasProperty, + HasType, + HasTypeArguments, + HeritageClause, + Identifier, + IdentifierTypePredicate, + identity, + idText, + IfStatement, + ignoredPaths, + ImportCall, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportMetaProperty, + ImportSpecifier, + ImportTypeNode, + IndexInfo, + indexOfAnyCharCode, + InitializedVariableDeclaration, + insertSorted, + InterfaceDeclaration, + isAccessor, + isAnnotation, + isAnyDirectorySeparator, + isArkTsDecorator, + isArray, + isArrayLiteralExpression, + isArrowFunction, + isBigIntLiteral, + isBinaryExpression, + isBindingPattern, + isCallExpression, + isClassDeclaration, + isClassElement, + isClassExpression, + isClassLike, + isClassStaticBlockDeclaration, + isCommaListExpression, + isComputedPropertyName, + isConstructorDeclaration, + isDeclaration, + isDecorator, + isElementAccessExpression, + isEnumDeclaration, + isEnumMember, + isEtsComponentExpression, + isExportAssignment, + isExportDeclaration, + isExpressionStatement, + isExpressionWithTypeArguments, + isExternalModule, + isExternalModuleReference, + isFileProbablyExternalModule, + isForStatement, + isFunctionDeclaration, + isFunctionExpression, + isFunctionLike, + isFunctionLikeDeclaration, + isFunctionLikeOrClassStaticBlockDeclaration, + isGetAccessorDeclaration, + isHeritageClause, + isIdentifier, + isIdentifierText, + isImportTypeNode, + isInterfaceDeclaration, + isJSDoc, + isJSDocFunctionType, + isJSDocLinkLike, + isJSDocMemberName, + isJSDocNameReference, + isJSDocNode, + isJSDocParameterTag, + isJSDocPropertyLikeTag, + isJSDocSignature, + isJSDocTag, + isJSDocTemplateTag, + isJSDocTypeExpression, + isJSDocTypeLiteral, + isJSDocTypeTag, + isJsxChild, + isJsxFragment, + isJsxOpeningLikeElement, + isJsxText, + isLeftHandSideExpression, + isLineBreak, + isLiteralTypeNode, + isMemberName, + isMetaProperty, + isMethodDeclaration, + isMethodOrAccessor, + isModuleDeclaration, + isNamedDeclaration, + isNamespaceExport, + isNamespaceExportDeclaration, + isNamespaceImport, + isNoSubstitutionTemplateLiteral, + isNumericLiteral, + isObjectLiteralExpression, + isOmittedExpression, + isParameter, + isParameterPropertyDeclaration, + isParenthesizedExpression, + isParenthesizedTypeNode, + isPrefixUnaryExpression, + isPrivateIdentifier, + isPropertyAccessExpression, + isPropertyAssignment, + isPropertyDeclaration, + isPropertyName, + isPropertySignature, + isQualifiedName, + isRootedDiskPath, + isSendableFunctionOrType, + isSetAccessorDeclaration, + isShorthandPropertyAssignment, + isSourceFile, + isString, + isStringLiteral, + isStringLiteralLike, + isStruct, + isTypeAliasDeclaration, + isTypeElement, + isTypeLiteralNode, + isTypeNode, + isTypeReferenceNode, + isVariableDeclaration, + isVariableStatement, + isVoidExpression, + isWhiteSpaceLike, + isWhiteSpaceSingleLine, + JSDoc, + JSDocCallbackTag, + JSDocEnumTag, + JSDocMemberName, + JSDocParameterTag, + JSDocSignature, + JSDocTag, + JSDocTemplateTag, + JSDocTypedefTag, + JsonSourceFile, + JsxChild, + JsxElement, + JsxEmit, + JsxFragment, + JsxOpeningElement, + JsxOpeningLikeElement, + JsxSelfClosingElement, + JsxTagNameExpression, + KeywordSyntaxKind, + LabeledStatement, + LanguageVariant, + last, + lastOrUndefined, + LateVisibilityPaintedStatement, + length, + LiteralImportTypeNode, + LiteralLikeElementAccessExpression, + LiteralLikeNode, + LogicalOrCoalescingAssignmentOperator, + map, + Map, + mapDefined, + MapLike, + MemberName, + MethodDeclaration, + ModeAwareCache, + ModifierFlags, + ModifierLike, + ModuleBlock, + ModuleDeclaration, + ModuleDetectionKind, + ModuleKind, + ModuleResolutionKind, + moduleResolutionOptionDeclarations, + MultiMap, + NamedDeclaration, + NamedExports, + NamedImports, + NamedImportsOrExports, + NamespaceExport, + NamespaceImport, + NewExpression, + NewLineKind, + Node, + NodeArray, + NodeFlags, + NonNullExpression, + noop, + normalizePath, + NoSubstitutionTemplateLiteral, + NumericLiteral, + ObjectFlags, + ObjectFlagsType, + ObjectLiteralElement, + ObjectLiteralExpression, + ObjectLiteralExpressionBase, + ObjectTypeDeclaration, + optionsAffectingProgramStructure, + or, + OuterExpressionKinds, + PackageId, + ParameterDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, + parseConfigFileTextToJson, + PartiallyEmittedExpression, + Path, + pathIsRelative, + Pattern, + PostfixUnaryExpression, + PrefixUnaryExpression, + PrimitiveLiteral, + PrinterOptions, + PrintHandlers, + PrivateIdentifier, + ProjectReference, + PrologueDirective, + PropertyAccessEntityNameExpression, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertyName, + PropertyNameLiteral, + PseudoBigInt, + QualifiedName, + ReadonlyCollection, + ReadonlyESMap, + ReadonlyTextRange, + removeTrailingDirectorySeparator, + RequireOrImportCall, + RequireVariableStatement, + ResolvedModuleFull, + ResolvedTypeReferenceDirective, + resolveTripleslashReference, + ReturnStatement, + SatisfiesExpression, + ScriptKind, + ScriptTarget, + semanticDiagnosticsOptionDeclarations, + SetAccessorDeclaration, + ShorthandPropertyAssignment, + Signature, + SignatureDeclaration, + SignatureFlags, + SignatureKind, + singleElementArray, + singleOrUndefined, + skipOuterExpressions, + skipTrivia, + some, + sort, + SortedArray, + SourceFile, + SourceFileLike, + SourceFileMayBeEmittedHost, + SourceMapSource, + startsWith, + startsWithUseStrict, + Statement, + stringContains, + StringLiteral, + StringLiteralLike, + stringToToken, + StructDeclaration, + SuperCall, + SuperExpression, + SuperProperty, + SwitchStatement, + Symbol, + SymbolFlags, + SymbolTable, + SyntaxKind, + SyntaxList, + sys, + TaggedTemplateExpression, + TemplateLiteral, + TemplateLiteralLikeNode, + TemplateLiteralTypeSpan, + TemplateSpan, + TextRange, + TextSpan, + ThisTypePredicate, + Token, + TokenFlags, + tokenToString, + toPath, + tracing, + TransformFlags, + TransientSymbol, + trimString, + trimStringStart, + TriviaSyntaxKind, + tryCast, + tryRemovePrefix, + TryStatement, + TsConfigSourceFile, + TupleTypeNode, + Type, + TypeAliasDeclaration, + TypeAssertion, + TypeChecker, + TypeCheckerHost, + TypeElement, + TypeFlags, + TypeLiteralNode, + TypeNode, + TypeNodeSyntaxKind, + TypeParameter, + TypeParameterDeclaration, + TypePredicate, + TypePredicateKind, + TypeReferenceNode, + unescapeLeadingUnderscores, + UnionOrIntersectionTypeNode, + ValidImportTypeNode, + VariableDeclaration, + VariableDeclarationInitializedTo, + VariableDeclarationList, + VariableLikeDeclaration, + VariableStatement, + version, + WhileStatement, + WithStatement, + WriteFileCallback, + WriteFileCallbackData, + YieldExpression, } from "./_namespaces/ts"; /** @internal */ @@ -4076,7 +4514,7 @@ export function isPushOrUnshiftIdentifier(node: Identifier) { } /** @internal */ -export function isParameterDeclaration(node: VariableLikeDeclaration): boolean { +export function isParameterDeclaration(node: Declaration): boolean { const root = getRootDeclaration(node); return root.kind === SyntaxKind.Parameter; } @@ -8096,6 +8534,7 @@ export function skipTypeChecking(sourceFile: SourceFile, options: CompilerOption // '/// ' directive. return (options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib) || + options.noCheck || host.isSourceOfProjectReferenceRedirect(sourceFile.fileName); } @@ -8669,6 +9108,22 @@ export function getNameOfDecorator(node: Decorator): string | undefined { return undefined; } +/** @internal */ +export function isExpandoPropertyDeclaration( + declaration: Declaration | undefined +): declaration is PropertyAccessExpression | ElementAccessExpression | BinaryExpression { + return !!declaration && (isPropertyAccessExpression(declaration) || isElementAccessExpression(declaration) || isBinaryExpression(declaration)); +} + +/** @internal */ +export function evaluatorResult( + value: T, isSyntacticallyString = false, + resolvedOtherFiles = false, + hasExternalReferences = false +): EvaluatorResult { + return { value, isSyntacticallyString, resolvedOtherFiles, hasExternalReferences }; +} + export function getLeadingCommentRangesOfNode(node: Node, sourceFileOfNode: SourceFile) { return node.kind !== SyntaxKind.JsxText ? getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : undefined; } @@ -8821,4 +9276,59 @@ export function setParentRecursive(rootNode: T | undefined, incr function bindParentToChild(child: Node, parent: Node) { return bindParentToChildIgnoringJSDoc(child, parent) || bindJSDoc(child); } +} + +/** @internal */ +export function isPrimitiveLiteralValue(node: Expression, includeBigInt = true): node is PrimitiveLiteral { + Debug.type(node); + switch (node.kind) { + case SyntaxKind.TrueKeyword: + case SyntaxKind.FalseKeyword: + case SyntaxKind.NumericLiteral: + case SyntaxKind.StringLiteral: + case SyntaxKind.NoSubstitutionTemplateLiteral: + return true; + case SyntaxKind.BigIntLiteral: + return includeBigInt; + case SyntaxKind.PrefixUnaryExpression: + if (node.operator === SyntaxKind.MinusToken) { + return isNumericLiteral(node.operand) || (includeBigInt && isBigIntLiteral(node.operand)); + } + if (node.operator === SyntaxKind.PlusToken) { + return isNumericLiteral(node.operand); + } + return false; + default: + assertType(node); + return false; + } +} + +/** @internal */ +export function unwrapParenthesizedExpression(o: Expression): Expression { + while (o.kind === SyntaxKind.ParenthesizedExpression) { + o = (o as ParenthesizedExpression).expression; + } + return o; +} + +/** @internal */ +export function hasInferredType(node: Node): node is HasInferredType { + Debug.type(node); + switch (node.kind) { + case SyntaxKind.Parameter: + case SyntaxKind.PropertySignature: + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.BindingElement: + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.ElementAccessExpression: + case SyntaxKind.BinaryExpression: + case SyntaxKind.VariableDeclaration: + case SyntaxKind.ExportAssignment: + case SyntaxKind.PropertyAssignment: + return true; + default: + assertType(node); + return false; + } } \ No newline at end of file diff --git a/src/compiler/utilitiesPublic.ts b/src/compiler/utilitiesPublic.ts index 8348f99a1b..36c3842184 100644 --- a/src/compiler/utilitiesPublic.ts +++ b/src/compiler/utilitiesPublic.ts @@ -1938,6 +1938,81 @@ export function isModuleOrEnumDeclaration(node: Node): node is ModuleDeclaration return node.kind === SyntaxKind.ModuleDeclaration || node.kind === SyntaxKind.EnumDeclaration; } +/** @internal */ +export function canHaveSymbol(node: Node): node is Declaration { + // NOTE: This should cover all possible declarations except MissingDeclaration and SemicolonClassElement + // since they aren't actually declarations and can't have a symbol. + switch (node.kind) { + case SyntaxKind.ArrowFunction: + case SyntaxKind.BinaryExpression: + case SyntaxKind.BindingElement: + case SyntaxKind.CallExpression: + case SyntaxKind.CallSignature: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.ClassExpression: + case SyntaxKind.ClassStaticBlockDeclaration: + case SyntaxKind.Constructor: + case SyntaxKind.ConstructorType: + case SyntaxKind.ConstructSignature: + case SyntaxKind.ElementAccessExpression: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.EnumMember: + case SyntaxKind.ExportAssignment: + case SyntaxKind.ExportDeclaration: + case SyntaxKind.ExportSpecifier: + case SyntaxKind.FunctionDeclaration: + case SyntaxKind.FunctionExpression: + case SyntaxKind.FunctionType: + case SyntaxKind.GetAccessor: + case SyntaxKind.Identifier: + case SyntaxKind.ImportClause: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ImportSpecifier: + case SyntaxKind.IndexSignature: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.JSDocCallbackTag: + case SyntaxKind.JSDocEnumTag: + case SyntaxKind.JSDocFunctionType: + case SyntaxKind.JSDocParameterTag: + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocSignature: + case SyntaxKind.JSDocTypedefTag: + case SyntaxKind.JSDocTypeLiteral: + case SyntaxKind.JsxAttribute: + case SyntaxKind.JsxAttributes: + case SyntaxKind.JsxSpreadAttribute: + case SyntaxKind.MappedType: + case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: + case SyntaxKind.ModuleDeclaration: + case SyntaxKind.NamedTupleMember: + case SyntaxKind.NamespaceExport: + case SyntaxKind.NamespaceExportDeclaration: + case SyntaxKind.NamespaceImport: + case SyntaxKind.NewExpression: + case SyntaxKind.NoSubstitutionTemplateLiteral: + case SyntaxKind.NumericLiteral: + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.Parameter: + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.PropertyAssignment: + case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.SetAccessor: + case SyntaxKind.ShorthandPropertyAssignment: + case SyntaxKind.SourceFile: + case SyntaxKind.SpreadAssignment: + case SyntaxKind.StringLiteral: + case SyntaxKind.TypeAliasDeclaration: + case SyntaxKind.TypeLiteral: + case SyntaxKind.TypeParameter: + case SyntaxKind.VariableDeclaration: + return true; + default: + return false; + } +} + function isDeclarationKind(kind: SyntaxKind) { return kind === SyntaxKind.ArrowFunction || kind === SyntaxKind.BindingElement diff --git a/src/compiler/visitorPublic.ts b/src/compiler/visitorPublic.ts index f57637ca5d..56b5a72659 100644 --- a/src/compiler/visitorPublic.ts +++ b/src/compiler/visitorPublic.ts @@ -1,21 +1,108 @@ import { - ConciseBody, Debug, EmitFlags, Expression, factory, FunctionBody, getEmitFlags, getEmitScriptTarget, Identifier, - isAnnotationElement, isArray, isArrayBindingElement, isAssertClause, isAssertEntry, isAssertionKey, isAssertsKeyword, isAsteriskToken, - isAwaitKeyword, isBinaryOperatorToken, isBindingElement, isBindingName, isBindingPattern, isBlock, isCallChain, - isCaseBlock, isCaseOrDefaultClause, isCatchClause, isClassElement, isColonToken, isConciseBody, isDotDotDotToken, - isElementAccessChain, isEntityName, isEnumMember, isEqualsGreaterThanToken, isExclamationToken, isExportSpecifier, - isExpression, isExpressionWithTypeArguments, isForInitializer, isHeritageClause, isIdentifier, - isIdentifierOrThisTypeNode, isImportClause, isImportSpecifier, isImportTypeAssertionContainer, isJsxAttributeLike, - isJsxAttributes, isJsxChild, isJsxClosingElement, isJsxClosingFragment, isJsxOpeningElement, isJsxOpeningFragment, - isJsxTagNameExpression, isMemberName, isModifier, isModifierLike, isModuleBody, isModuleName, isModuleReference, - isNamedExportBindings, isNamedImportBindings, isObjectLiteralElementLike, isOptionalChain, isParameterDeclaration, - isPropertyAccessChain, isPropertyName, isQuestionDotToken, isQuestionOrExclamationToken, - isQuestionOrPlusOrMinusToken, isQuestionToken, isReadonlyKeywordOrPlusOrMinusToken, isStatement, - isStringLiteralOrJsxExpression, isTemplateHead, isTemplateLiteral, isTemplateLiteralTypeSpan, - isTemplateMiddleOrTemplateTail, isTemplateSpan, isToken, isTypeElement, isTypeNode, isTypeNodeOrTypeParameterDeclaration, isTypeParameterDeclaration, isVariableDeclaration, - isVariableDeclarationList, LexicalEnvironmentFlags, Node, NodeArray, NodesVisitor, NodeVisitor, ParameterDeclaration, ScriptTarget, - setEmitFlags, setTextRange, setTextRangePosEnd, singleOrUndefined, some, Statement, SyntaxKind, - TransformationContext, Visitor, VisitEachChildNodes + ConciseBody, + Debug, + EmitFlags, + Expression, + factory, + FunctionBody, + getEmitFlags, + getEmitScriptTarget, + Identifier, + isAnnotationElement, + isArray, + isArrayBindingElement, + isAssertClause, + isAssertEntry, + isAssertionKey, + isAssertsKeyword, + isAsteriskToken, + isAwaitKeyword, + isBinaryOperatorToken, + isBindingElement, + isBindingName, + isBindingPattern, + isBlock, + isCallChain, + isCaseBlock, + isCaseOrDefaultClause, + isCatchClause, + isClassElement, + isColonToken, + isConciseBody, + isDotDotDotToken, + isElementAccessChain, + isEntityName, + isEnumMember, + isEqualsGreaterThanToken, + isExclamationToken, + isExportSpecifier, + isExpression, + isExpressionWithTypeArguments, + isForInitializer, + isHeritageClause, + isIdentifier, + isIdentifierOrThisTypeNode, + isImportClause, + isImportSpecifier, + isImportTypeAssertionContainer, + isJsxAttributeLike, + isJsxAttributes, + isJsxChild, + isJsxClosingElement, + isJsxClosingFragment, + isJsxOpeningElement, + isJsxOpeningFragment, + isJsxTagNameExpression, + isMemberName, + isModifier, + isModifierLike, + isModuleBody, + isModuleName, + isModuleReference, + isNamedExportBindings, + isNamedImportBindings, + isObjectLiteralElementLike, + isOptionalChain, + isParameterDeclaration, + isPropertyAccessChain, + isPropertyName, + isQuestionDotToken, + isQuestionOrExclamationToken, + isQuestionOrPlusOrMinusToken, + isQuestionToken, + isReadonlyKeywordOrPlusOrMinusToken, + isStatement, + isStringLiteralOrJsxExpression, + isTemplateHead, + isTemplateLiteral, + isTemplateLiteralTypeSpan, + isTemplateMiddleOrTemplateTail, + isTemplateSpan, + isToken, + isTypeElement, + isTypeNode, + isTypeNodeOrTypeParameterDeclaration, + isTypeParameterDeclaration, + isVariableDeclaration, + isVariableDeclarationList, + LexicalEnvironmentFlags, + Node, + NodeArray, + NodesVisitor, + NodeVisitor, + nullTransformationContext, + ParameterDeclaration, + ScriptTarget, + setEmitFlags, + setTextRange, + setTextRangePosEnd, + singleOrUndefined, + some, + Statement, + SyntaxKind, + TransformationContext, + Visitor, + VisitEachChildNodes } from "./_namespaces/ts"; /** @@ -400,9 +487,9 @@ export function visitIterationBody(body: Statement, visitor: Visitor, context: T * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ -export function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; +export function visitEachChild(node: T, visitor: Visitor, context: TransformationContext | undefined): T; /** @internal */ -export function visitEachChild(node: T, visitor: Visitor, context: TransformationContext, nodesVisitor?: NodesVisitor, tokenVisitor?: Visitor, nodeVisitor?: NodeVisitor): T; // eslint-disable-line @typescript-eslint/unified-signatures +export function visitEachChild(node: T, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: NodesVisitor, tokenVisitor?: Visitor, nodeVisitor?: NodeVisitor): T; // eslint-disable-line @typescript-eslint/unified-signatures /** * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. * @@ -410,10 +497,10 @@ export function visitEachChild(node: T, visitor: Visitor, contex * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ -export function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; +export function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; /** @internal */ -export function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: NodesVisitor, tokenVisitor?: Visitor, nodeVisitor?: NodeVisitor): T | undefined; // eslint-disable-line @typescript-eslint/unified-signatures -export function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor = visitNodes, tokenVisitor?: Visitor, nodeVisitor: NodeVisitor = visitNode): T | undefined { +export function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: NodesVisitor, tokenVisitor?: Visitor, nodeVisitor?: NodeVisitor): T | undefined; // eslint-disable-line @typescript-eslint/unified-signatures +export function visitEachChild(node: T | undefined, visitor: Visitor, context = nullTransformationContext, nodesVisitor = visitNodes, tokenVisitor?: Visitor, nodeVisitor: NodeVisitor = visitNode): T | undefined { if (node === undefined) { return undefined; } diff --git a/src/harness/harnessIO.ts b/src/harness/harnessIO.ts index fbc8a16629..dbdc96860a 100644 --- a/src/harness/harnessIO.ts +++ b/src/harness/harnessIO.ts @@ -21,7 +21,7 @@ export interface IO { fileExists(fileName: string): boolean; directoryExists(path: string): boolean; deleteFile(fileName: string): void; - enumerateTestFiles(runner: RunnerBase): (string | FileBasedTest)[]; + enumerateTestFiles(runner: RunnerBase): string[]; listFiles(path: string, filter?: RegExp, options?: { recursive?: boolean }): string[]; log(text: string): void; args(): string[]; @@ -80,55 +80,30 @@ function createNodeIO(): IO { return runner.getTestFiles(); } - function listFiles(path: string, spec: RegExp, options: { recursive?: boolean } = {}) { + function listFiles(path: string, spec: RegExp | undefined, options: { recursive?: boolean; } = {}): string[] { function filesInFolder(folder: string): string[] { + const { files, directories } = ts.sys.getAccessibleFileSystemEntries!(folder); let paths: string[] = []; - for (const file of fs.readdirSync(folder)) { + for (const file of files) { const pathToFile = pathModule.join(folder, file); - if (!fs.existsSync(pathToFile)) continue; // ignore invalid symlinks - const stat = fs.statSync(pathToFile); - if (options.recursive && stat.isDirectory()) { - paths = paths.concat(filesInFolder(pathToFile)); - } - else if (stat.isFile() && (!spec || file.match(spec))) { + if (!spec || file.match(spec)) { paths.push(pathToFile); } } + if (options.recursive) { + for (const dir of directories) { + const pathToDir = pathModule.join(folder, dir); + paths = paths.concat(filesInFolder(pathToDir)); + } + } return paths; } return filesInFolder(path); } - function getAccessibleFileSystemEntries(dirname: string): ts.FileSystemEntries { - try { - const entries: string[] = fs.readdirSync(dirname || ".").sort(ts.sys.useCaseSensitiveFileNames ? ts.compareStringsCaseSensitive : ts.compareStringsCaseInsensitive); - const files: string[] = []; - const directories: string[] = []; - for (const entry of entries) { - if (entry === "." || entry === "..") continue; - const name = vpath.combine(dirname, entry); - try { - const stat = fs.statSync(name); - if (!stat) continue; - if (stat.isFile()) { - files.push(entry); - } - else if (stat.isDirectory()) { - directories.push(entry); - } - } - catch { /*ignore*/ } - } - return { files, directories }; - } - catch (e) { - return { files: [], directories: [] }; - } - } - function createDirectory(path: string) { try { fs.mkdirSync(path); @@ -166,7 +141,7 @@ function createNodeIO(): IO { getWorkspaceRoot: () => workspaceRoot, exit: exitCode => ts.sys.exit(exitCode), readDirectory: (path, extension, exclude, include, depth) => ts.sys.readDirectory(path, extension, exclude, include, depth), - getAccessibleFileSystemEntries, + getAccessibleFileSystemEntries: ts.sys.getAccessibleFileSystemEntries!, tryEnableSourceMapsForHost: () => ts.sys.tryEnableSourceMapsForHost && ts.sys.tryEnableSourceMapsForHost(), getMemoryUsage: () => ts.sys.getMemoryUsage && ts.sys.getMemoryUsage(), getEnvironmentVariable: name => ts.sys.getEnvironmentVariable(name), @@ -325,6 +300,8 @@ export namespace Compiler { { name: "noTypesAndSymbols", type: "boolean", defaultValueDescription: false }, // Emitted js baseline will print full paths for every output file { name: "fullEmitPaths", type: "boolean", defaultValueDescription: false }, + { name: "noCheck", type: "boolean", defaultValueDescription: false }, + { name: "reportDiagnostics", type: "boolean", defaultValueDescription: false }, // used to enable error collection in `transpile` baselines ]; let optionsIndex: ts.ESMap; @@ -400,6 +377,8 @@ export namespace Compiler { fileOptions?: any; } + export type CompileFilesResult = compiler.CompilationResult & { repeat(newOptions: TestCaseParser.CompilerSettings): CompileFilesResult; }; + export function compileFiles( inputFiles: TestFile[], otherFiles: TestFile[], @@ -408,7 +387,8 @@ export namespace Compiler { // Current directory is needed for rwcRunner to be able to use currentDirectory defined in json file currentDirectory: string | undefined, symlinks?: vfs.FileSet - ): compiler.CompilationResult { + ): CompileFilesResult { + const originalCurrentDirectory = currentDirectory; const options: ts.CompilerOptions & HarnessOptions = compilerOptions ? ts.cloneCompilerOptions(compilerOptions) : { noResolve: false }; options.target = ts.getEmitScriptTarget(options); options.newLine = options.newLine || ts.NewLineKind.CarriageReturnLineFeed; @@ -451,7 +431,16 @@ export namespace Compiler { const host = new fakes.CompilerHost(fs, options); const result = compiler.compileFiles(host, programFileNames, options); result.symlinks = symlinks; - return result; + (result as CompileFilesResult).repeat = + newOptions => compileFiles( + inputFiles, + otherFiles, + { ...harnessSettings, ...newOptions }, + compilerOptions, + originalCurrentDirectory, + symlinks + ); + return result as CompileFilesResult; } export interface DeclarationCompilationContext { @@ -887,7 +876,7 @@ export namespace Compiler { return "\n//// https://sokra.github.io/source-map-visualization" + hash + "\n"; } - export function doJsEmitBaseline(baselinePath: string, header: string, options: ts.CompilerOptions, result: compiler.CompilationResult, tsConfigFiles: readonly TestFile[], toBeCompiled: readonly TestFile[], otherFiles: readonly TestFile[], harnessSettings: TestCaseParser.CompilerSettings) { + export function doJsEmitBaseline(baselinePath: string, header: string, options: ts.CompilerOptions, result: CompileFilesResult, tsConfigFiles: readonly TestFile[], toBeCompiled: readonly TestFile[], otherFiles: readonly TestFile[], harnessSettings: TestCaseParser.CompilerSettings) { if (!options.noEmit && !options.emitDeclarationOnly && result.js.size === 0 && result.diagnostics.length === 0) { throw new Error("Expected at least one js file to be emitted or at least one error to be created."); } @@ -935,9 +924,33 @@ export namespace Compiler { jsCode += "\r\n\r\n"; jsCode += getErrorBaseline(tsConfigFiles.concat(declFileCompilationResult.declInputFiles, declFileCompilationResult.declOtherFiles), declFileCompilationResult.declResult.diagnostics); } + else if (!options.noCheck && !options.noEmit && (options.composite || options.declaration || options.emitDeclarationOnly)) { + const withoutChecking = result.repeat({ noCheck: "true", emitDeclarationOnly: "true" }); + compareResultFileSets(withoutChecking.dts, result.dts); + } // eslint-disable-next-line no-null/no-null Baseline.runBaseline(baselinePath.replace(/\.(ets|tsx?)/, ts.Extension.Js), jsCode.length > 0 ? tsCode + "\r\n\r\n" + jsCode : null); + + function compareResultFileSets(a: ReadonlyMap, b: ReadonlyMap): void { + a.forEach((doc, key) => { + const original = b.get(key); + if (!original) { + jsCode += `\r\n\r\n!!!! File ${Utils.removeTestPathPrefixes(doc.file)} missing from original emit, but present in noCheck emit\r\n`; + jsCode += fileOutput(doc, harnessSettings); + } + else if (original.text !== doc.text) { + jsCode += `\r\n\r\n!!!! File ${Utils.removeTestPathPrefixes(doc.file)} differs from original emit in noCheck emit\r\n`; + const Diff = require("diff"); + const expected = original.text; + const actual = doc.text; + const patch = Diff.createTwoFilesPatch("Expected", "Actual", expected, actual, "The full check baseline", "with noCheck set"); + const fileName = harnessSettings.fullEmitPaths ? Utils.removeTestPathPrefixes(doc.file) : ts.getBaseFileName(doc.file); + jsCode += "//// [" + fileName + "]\r\n"; + jsCode += patch; + } + }); + } } function fileOutput(file: documents.TextDocument, harnessSettings: TestCaseParser.CompilerSettings): string { diff --git a/src/harness/runnerbase.ts b/src/harness/runnerbase.ts index f6d0b36fee..e6318a9e91 100644 --- a/src/harness/runnerbase.ts +++ b/src/harness/runnerbase.ts @@ -1,7 +1,7 @@ import * as ts from "./_namespaces/ts"; import { FileBasedTest, IO, userSpecifiedRoot } from "./_namespaces/Harness"; -export type TestRunnerKind = CompilerTestKind | FourslashTestKind | "project" | "rwc" | "test262" | "user" | "dt" | "docker"; +export type TestRunnerKind = CompilerTestKind | FourslashTestKind | "project" | "rwc" | "test262" | "user" | "dt" | "docker" | "transpile"; export type CompilerTestKind = "conformance" | "compiler" | "compiler-oh"; export type FourslashTestKind = "fourslash" | "fourslash-shims" | "fourslash-shims-pp" | "fourslash-server" | "fourslash-oh"; @@ -20,7 +20,7 @@ export function setShardId(id: number) { export abstract class RunnerBase { // contains the tests to run - public tests: (string | FileBasedTest)[] = []; + public tests: string[] = []; /** Add a source file to the runner's list of tests that need to be initialized with initializeTests */ public addTest(fileName: string) { @@ -33,7 +33,7 @@ export abstract class RunnerBase { abstract kind(): TestRunnerKind; - abstract enumerateTestFiles(): (string | FileBasedTest)[]; + abstract enumerateTestFiles(): string[]; getTestFiles(): ReturnType { const all = this.enumerateTestFiles(); diff --git a/src/services/transpile.ts b/src/services/transpile.ts index 1eaa178c4d..cf1c9a9977 100644 --- a/src/services/transpile.ts +++ b/src/services/transpile.ts @@ -1,9 +1,35 @@ import { - addRange, cloneCompilerOptions, CommandLineOptionOfCustomType, CompilerHost, CompilerOptions, - createCompilerDiagnosticForInvalidCustomType, createProgram, createSourceFile, CustomTransformers, Debug, - Diagnostic, ensureScriptKind, fileExtensionIs, filter, forEachEntry, getDefaultCompilerOptions, getEmitScriptTarget, - getEntries, getImpliedNodeFormatForFile, getNewLineCharacter, getSetExternalModuleIndicator, hasProperty, isString, - Map, MapLike, normalizePath, optionDeclarations, parseCustomTypeOption, toPath, transpileOptionValueCompilerOptions, + addRange, + cloneCompilerOptions, + CommandLineOptionOfCustomType, + CompilerHost, + CompilerOptions, + createCompilerDiagnosticForInvalidCustomType, + createProgram, + createSourceFile, + CustomTransformers, + Debug, + Diagnostic, + ensureScriptKind, + fileExtensionIs, + filter, + forEachEntry, + getDefaultCompilerOptions, + getEmitScriptTarget, + getEntries, + getImpliedNodeFormatForFile, + getNewLineCharacter, + getSetExternalModuleIndicator, + hasProperty, + isString, + Map, + MapLike, + normalizePath, + optionDeclarations, + parseCustomTypeOption, + ScriptTarget, + toPath, + transpileOptionValueCompilerOptions, } from "./_namespaces/ts"; export interface TranspileOptions { @@ -23,14 +49,66 @@ export interface TranspileOutput { /* * This function will compile source text from 'input' argument using specified compiler options. - * If not options are provided - it will use a set of default compiler options. + * If no options are provided - it will use a set of default compiler options. * Extra compiler options that will unconditionally be used by this function are: * - isolatedModules = true * - allowNonTsExtensions = true * - noLib = true * - noResolve = true + * - declaration = false */ export function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput { + return transpileWorker(input, transpileOptions, /*declaration*/ false); +} + +/* +* This function will create a declaration file from 'input' argument using specified compiler options. +* If no options are provided - it will use a set of default compiler options. +* Extra compiler options that will unconditionally be used by this function are: +* - isolatedDeclarations = true +* - isolatedModules = true +* - allowNonTsExtensions = true +* - noLib = true +* - noResolve = true +* - declaration = true +* - emitDeclarationOnly = true +* - noCheck = true +* Note that this declaration file may differ from one produced by a full program typecheck, +* in that only types in the single input file are available to be used in the generated declarations. +*/ +export function transpileDeclaration(input: string, transpileOptions: TranspileOptions): TranspileOutput { + return transpileWorker(input, transpileOptions, /*declaration*/ true); +} + + +// Declaration emit works without a `lib`, but some local inferences you'd expect to work won't without +// at least a minimal `lib` available, since the checker will `any` their types without these defined. +// Late bound symbol names, in particular, are impossible to define without `Symbol` at least partially defined. +// TODO: This should *probably* just load the full, real `lib` for the `target`. +const barebonesLibContent = `/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number {} +interface Object {} +interface RegExp {} +interface String {} +interface Array { length: number; [n: number]: T; } +interface SymbolConstructor { + (desc?: string | number): symbol; + for(name: string): symbol; + readonly toStringTag: symbol; +} +declare var Symbol: SymbolConstructor; +interface Symbol { + readonly [Symbol.toStringTag]: string; +}`; +const barebonesLibName = "lib.d.ts"; +const barebonesLibSourceFile = createSourceFile(barebonesLibName, barebonesLibContent, { languageVersion: ScriptTarget.Latest }); + +function transpileWorker(input: string, transpileOptions: TranspileOptions, declaration?: boolean): TranspileOutput { const diagnostics: Diagnostic[] = []; const options: CompilerOptions = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : {}; @@ -53,10 +131,21 @@ export function transpileModule(input: string, transpileOptions: TranspileOption // Filename can be non-ts file. options.allowNonTsExtensions = true; + if (declaration) { + options.declaration = true; + options.emitDeclarationOnly = true; + options.isolatedDeclarations = true; + options.noCheck = true; + } + else { + options.declaration = false; + } + const newLine = getNewLineCharacter(options); // Create a compilerHost object to allow the compiler to read and write files const compilerHost: CompilerHost = { - getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : undefined, + getSourceFile: fileName => fileName === normalizePath(inputFileName) ? + sourceFile : fileName === normalizePath(barebonesLibName) ? barebonesLibSourceFile : undefined, writeFile: (name, text) => { if (fileExtensionIs(name, ".map")) { Debug.assertEqual(sourceMapText, undefined, "Unexpected multiple source map outputs, file:", name); @@ -67,12 +156,12 @@ export function transpileModule(input: string, transpileOptions: TranspileOption outputText = text; } }, - getDefaultLibFileName: () => "lib.d.ts", + getDefaultLibFileName: () => barebonesLibName, useCaseSensitiveFileNames: () => false, getCanonicalFileName: fileName => fileName, getCurrentDirectory: () => "", getNewLine: () => newLine, - fileExists: (fileName): boolean => fileName === inputFileName, + fileExists: (fileName): boolean => fileName === inputFileName || (!!declaration && fileName === barebonesLibName), readFile: () => "", directoryExists: () => true, getDirectories: () => [] @@ -105,16 +194,28 @@ export function transpileModule(input: string, transpileOptions: TranspileOption let outputText: string | undefined; let sourceMapText: string | undefined; - const program = createProgram([inputFileName], options, compilerHost); + const inputs = declaration ? [inputFileName, barebonesLibName] : [inputFileName]; + const program = createProgram(inputs, options, compilerHost); if (transpileOptions.reportDiagnostics) { addRange(/*to*/ diagnostics, /*from*/ program.getSyntacticDiagnostics(sourceFile)); addRange(/*to*/ diagnostics, /*from*/ program.getOptionsDiagnostics()); } // Emit - program.emit(/*targetSourceFile*/ undefined, /*writeFile*/ undefined, /*cancellationToken*/ undefined, /*emitOnlyDtsFiles*/ undefined, transpileOptions.transformers); + const result = program.emit( + /*targetSourceFile*/ undefined, + /*writeFile*/ undefined, + /*cancellationToken*/ undefined, + /*emitOnlyDtsFiles*/ declaration, + transpileOptions.transformers, + /*forceDtsEmit*/ declaration + ); + + addRange(/*to*/ diagnostics, /*from*/ result.diagnostics); - if (outputText === undefined) return Debug.fail("Output generation failed"); + if (outputText === undefined) { + return Debug.fail("Output generation failed"); + } return { outputText, diagnostics, sourceMapText }; } diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 058460cbce..1731ef889a 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -2115,6 +2115,7 @@ export function createModuleSpecifierResolutionHost(program: Program, host: Lang isSourceOfProjectReferenceRedirect: fileName => program.isSourceOfProjectReferenceRedirect(fileName), getNearestAncestorDirectoryWithPackageJson: maybeBind(host, host.getNearestAncestorDirectoryWithPackageJson), getFileIncludeReasons: () => program.getFileIncludeReasons(), + getCommonSourceDirectory: () => program.getCommonSourceDirectory(), }; } diff --git a/src/testRunner/_namespaces/Harness.ts b/src/testRunner/_namespaces/Harness.ts index 267863580e..7929933fc9 100644 --- a/src/testRunner/_namespaces/Harness.ts +++ b/src/testRunner/_namespaces/Harness.ts @@ -8,6 +8,7 @@ export * from "../fourslashRunner"; export * from "../compilerRunner"; export * from "../externalCompileRunner"; export * from "../test262Runner"; +export * from "../transpileRunner"; export * from "../runner"; // If running bundled, we want this to be here so that esbuild places the tests after runner.ts. diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index bb654ecf6f..51070db63e 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -50,9 +50,10 @@ export class CompilerBaselineRunner extends RunnerBase { return this.testSuiteName; } + private testFiles: string[] | undefined; public enumerateTestFiles() { // see also: `enumerateTestFiles` in tests/webTestServer.ts - return this.enumerateFiles(this.basePath, /\.(ets|tsx?)$/, { recursive: true }).map(CompilerTest.getConfigurations); + return this.testFiles ??= this.enumerateFiles(this.basePath, /\.(ets|tsx?)$/, { recursive: true }); } public initializeTests() { @@ -63,9 +64,8 @@ export class CompilerBaselineRunner extends RunnerBase { // this will set up a series of describe/it blocks to run between the setup and cleanup phases const files = this.tests.length > 0 ? this.tests : IO.enumerateTestFiles(this); - files.forEach(test => { - const file = typeof test === "string" ? test : test.file; - this.checkTestCodeOutput(vpath.normalizeSeparators(file), typeof test === "string" ? CompilerTest.getConfigurations(test) : test); + files.forEach(file => { + this.checkTestCodeOutput(vpath.normalizeSeparators(file), CompilerTest.getConfigurations(file)); }); }); } @@ -164,7 +164,7 @@ class CompilerTest { private lastUnit: TestCaseParser.TestUnitData; private harnessSettings: TestCaseParser.CompilerSettings; private hasNonDtsFiles: boolean; - private result: compiler.CompilationResult; + private result: Compiler.CompileFilesResult; private options: ts.CompilerOptions; private tsConfigFiles: Compiler.TestFile[]; // equivalent to the files that will be passed on the command line diff --git a/src/testRunner/externalCompileRunner.ts b/src/testRunner/externalCompileRunner.ts index 2099d2f576..30b5335293 100644 --- a/src/testRunner/externalCompileRunner.ts +++ b/src/testRunner/externalCompileRunner.ts @@ -37,7 +37,7 @@ abstract class ExternalCompileRunnerBase extends RunnerBase { describe(`${this.kind()} code samples`, function (this: Mocha.Suite) { this.timeout(600_000); // 10 minutes for (const test of testList) { - cls.runTest(typeof test === "string" ? test : test.file); + cls.runTest(test); } }); } @@ -142,7 +142,7 @@ export class DockerfileRunner extends ExternalCompileRunnerBase { cls.exec("docker", ["build", ".", "-t", "typescript/typescript"], { cwd: IO.getWorkspaceRoot() }); // cached because workspace is hashed to determine cacheability }); for (const test of testList) { - const directory = typeof test === "string" ? test : test.file; + const directory = test; const cwd = path.join(IO.getWorkspaceRoot(), cls.testDir, directory); it(`should build ${directory} successfully`, () => { const imageName = `tstest/${directory}`; diff --git a/src/testRunner/fourslashRunner.ts b/src/testRunner/fourslashRunner.ts index cdaef8c48f..caa757a449 100644 --- a/src/testRunner/fourslashRunner.ts +++ b/src/testRunner/fourslashRunner.ts @@ -49,8 +49,7 @@ export class FourSlashRunner extends RunnerBase { } describe(this.testSuiteName + " tests", () => { - this.tests.forEach(test => { - const file = typeof test === "string" ? test : test.file; + this.tests.forEach(file => { describe(file, () => { let fn = ts.normalizeSlashes(file); const justName = fn.replace(/^.*[\\\/]/, ""); diff --git a/src/testRunner/parallel/host.ts b/src/testRunner/parallel/host.ts index c0e38a3eb2..77177e4a00 100644 --- a/src/testRunner/parallel/host.ts +++ b/src/testRunner/parallel/host.ts @@ -200,8 +200,7 @@ export function start() { console.log("Discovering runner-based tests..."); const discoverStart = +(new Date()); for (const runner of runners) { - for (const test of runner.getTestFiles()) { - const file = typeof test === "string" ? test : test.file; + for (const file of runner.getTestFiles()) { let size: number; if (!perfData) { try { diff --git a/src/testRunner/projectsRunner.ts b/src/testRunner/projectsRunner.ts index 6c1cfddaa0..821906a70f 100644 --- a/src/testRunner/projectsRunner.ts +++ b/src/testRunner/projectsRunner.ts @@ -54,7 +54,7 @@ export class ProjectRunner extends Harness.RunnerBase { describe("projects tests", () => { const tests = this.tests.length === 0 ? this.enumerateTestFiles() : this.tests; for (const test of tests) { - this.runProjectTestCase(typeof test === "string" ? test : test.file); + this.runProjectTestCase(test); } }); } @@ -178,7 +178,7 @@ class ProjectTestCase { }; } - private get vfs() { + private get vfs(): vfs.FileSystem { return this.sys.vfs; } @@ -200,15 +200,37 @@ class ProjectTestCase { throw assert(false, "Testcase: " + testCaseFileName + " does not contain valid json format: " + e.message); } - const fs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false); - fs.mountSync(vpath.resolve(Harness.IO.getWorkspaceRoot(), "tests"), vpath.combine(vfs.srcFolder, "tests"), vfs.createResolver(Harness.IO)); - fs.mkdirpSync(vpath.combine(vfs.srcFolder, testCase.projectRoot)); - fs.chdir(vpath.combine(vfs.srcFolder, testCase.projectRoot)); - fs.makeReadonly(); + function makeFileSystem(): vfs.FileSystem { + const fs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false); + fs.mountSync(vpath.resolve(Harness.IO.getWorkspaceRoot(), "tests"), vpath.combine(vfs.srcFolder, "tests"), vfs.createResolver(Harness.IO)); + fs.mkdirpSync(vpath.combine(vfs.srcFolder, testCase.projectRoot)); + fs.chdir(vpath.combine(vfs.srcFolder, testCase.projectRoot)); + fs.makeReadonly(); + return fs; + } + let fs: vfs.FileSystem | undefined; return [ - { name: `@module: commonjs`, payload: { testCase, moduleKind: ts.ModuleKind.CommonJS, vfs: fs } }, - { name: `@module: amd`, payload: { testCase, moduleKind: ts.ModuleKind.AMD, vfs: fs } } + { + name: `@module: commonjs`, + payload: { + testCase, + moduleKind: ts.ModuleKind.CommonJS, + get vfs(): vfs.FileSystem { + return fs ??= makeFileSystem(); + }, + }, + }, + { + name: `@module: amd`, + payload: { + testCase, + moduleKind: ts.ModuleKind.AMD, + get vfs(): vfs.FileSystem { + return fs ??= makeFileSystem(); + }, + }, + }, ]; } diff --git a/src/testRunner/runner.ts b/src/testRunner/runner.ts index 6481fd00c1..6633c3e25e 100644 --- a/src/testRunner/runner.ts +++ b/src/testRunner/runner.ts @@ -6,7 +6,7 @@ import * as RWC from "./_namespaces/RWC"; import { CompilerBaselineRunner, CompilerTestType, DefinitelyTypedRunner, DockerfileRunner, FourSlashRunner, GeneratedFourslashRunner, IO, Parallel, RunnerBase, setLightMode, setShardId, setShards, Test262BaselineRunner, - TestRunnerKind, UserCodeRunner, + TestRunnerKind, TranspileRunner, UserCodeRunner } from "./_namespaces/Harness"; /* eslint-disable prefer-const */ @@ -20,8 +20,7 @@ function runTests(runners: RunnerBase[]) { const dupes: [string, string][] = []; for (const runner of runners) { if (runner instanceof CompilerBaselineRunner || runner instanceof FourSlashRunner) { - for (const sf of runner.enumerateTestFiles()) { - const full = typeof sf === "string" ? sf : sf.file; + for (const full of runner.enumerateTestFiles()) { const base = vpath.basename(full).toLowerCase(); // allow existing dupes in fourslash/shims and fourslash/server if (seen.has(base) && !/fourslash\/(shim|server)/.test(full)) { @@ -68,6 +67,8 @@ export function createRunner(kind: TestRunnerKind): RunnerBase { return new FourSlashRunner(FourSlash.FourSlashTestType.Server); case "project": return new project.ProjectRunner(); + case "transpile": + return new TranspileRunner(); case "rwc": return new RWC.RWCRunner(); case "test262": @@ -215,6 +216,9 @@ function handleTestConfig() { case "fourslash-generated": runners.push(new GeneratedFourslashRunner(FourSlash.FourSlashTestType.Native)); break; + case "transpile": + runners.push(new TranspileRunner()); + break; case "rwc": runners.push(new RWC.RWCRunner()); break; @@ -250,6 +254,9 @@ function handleTestConfig() { runners.push(new FourSlashRunner(FourSlash.FourSlashTestType.Server)); // runners.push(new GeneratedFourslashRunner()); + // transpile + runners.push(new TranspileRunner()); + // CRON-only tests if (process.env.TRAVIS_EVENT_TYPE === "cron") { runners.push(new UserCodeRunner()); diff --git a/src/testRunner/rwcRunner.ts b/src/testRunner/rwcRunner.ts index a60657574e..409b10d540 100644 --- a/src/testRunner/rwcRunner.ts +++ b/src/testRunner/rwcRunner.ts @@ -229,7 +229,7 @@ export class RWCRunner extends Harness.RunnerBase { public initializeTests(): void { // Read in and evaluate the test list for (const test of this.tests && this.tests.length ? this.tests : this.getTestFiles()) { - this.runTest(typeof test === "string" ? test : test.file); + this.runTest(test); } } diff --git a/src/testRunner/test262Runner.ts b/src/testRunner/test262Runner.ts index 87aee2bf57..f8b8b9b277 100644 --- a/src/testRunner/test262Runner.ts +++ b/src/testRunner/test262Runner.ts @@ -107,7 +107,7 @@ export class Test262BaselineRunner extends RunnerBase { }); } else { - this.tests.forEach(test => this.runTest(typeof test === "string" ? test : test.file)); + this.tests.forEach(file => this.runTest(file)); } } } \ No newline at end of file diff --git a/src/testRunner/transpileRunner.ts b/src/testRunner/transpileRunner.ts new file mode 100644 index 0000000000..7ff49dea05 --- /dev/null +++ b/src/testRunner/transpileRunner.ts @@ -0,0 +1,127 @@ +import * as ts from "./_namespaces/ts"; +import * as vpath from "./_namespaces/vpath"; +import { + Baseline, + Compiler, + getFileBasedTestConfigurations, + IO, + RunnerBase, + TestCaseParser, + TestRunnerKind +} from "./_namespaces/Harness"; +export class TranspileRunner extends RunnerBase { + protected basePath = "tests/cases/transpile"; + protected testSuiteName: TestRunnerKind = "transpile"; + + public enumerateTestFiles(): string[] { + // see also: `enumerateTestFiles` in tests/webTestServer.ts + return this.enumerateFiles(this.basePath, /\.[cm]?[tj]sx?/i, { recursive: true }); + } + + public kind(): TestRunnerKind { + return this.testSuiteName; + } + + public initializeTests(): void { + if (this.tests.length === 0) { + this.tests = IO.enumerateTestFiles(this); + } + + describe(this.testSuiteName + " tests", () => { + this.tests.forEach(file => { + file = vpath.normalizeSeparators(file); + describe(file, () => { + const tests = TranspileTestCase.getConfigurations(file); + for (const test of tests) { + test.run(); + } + }); + }); + }); + } +} + +enum TranspileKind { + Module, + Declaration, +} + +class TranspileTestCase { + static varyBy = []; + + static getConfigurations(file: string): TranspileTestCase[] { + const ext = vpath.extname(file); + const baseName = vpath.basename(file); + const justName = baseName.slice(0, baseName.length - ext.length); + const content = IO.readFile(file)!; + const settings = TestCaseParser.extractCompilerSettings(content); + const settingConfigurations = getFileBasedTestConfigurations(settings, TranspileTestCase.varyBy); + return settingConfigurations?.map(c => { + const desc = Object.entries(c).map(([key, value]) => `${key}=${value}`).join(","); + return new TranspileTestCase(`${justName}(${desc})`, ext, content, { ...settings, ...c }); + }) ?? [new TranspileTestCase(justName, ext, content, settings)]; + } + + private jsOutName; + private dtsOutName; + private units; + constructor( + private justName: string, + ext: string, + content: string, + private settings: TestCaseParser.CompilerSettings, + ) { + this.jsOutName = justName + this.getJsOutputExtension(`${justName}${ext}`); + this.dtsOutName = justName + ts.getDeclarationEmitExtensionForPath(`${justName}${ext}`); + this.units = TestCaseParser.makeUnitsFromTest(content, `${justName}${ext}`, undefined, settings); + } + + getJsOutputExtension(name: string): ts.Extension { + return ts.getOutputExtension(name, { jsx: this.settings.jsx === "preserve" ? ts.JsxEmit.Preserve : undefined }); + } + + runKind(kind: TranspileKind): void { + it(`transpile test ${this.justName} has expected ${kind === TranspileKind.Module ? "js" : "declaration"} output`, () => { + let baselineText = ""; + + // include inputs in output so how the test is parsed and broken down is more obvious + this.units.testUnitData.forEach(unit => { + baselineText += `//// [${unit.name}] ////\r\n`; + baselineText += unit.content; + if (!unit.content.endsWith("\n")) { + baselineText += "\r\n"; + } + }); + + this.units.testUnitData.forEach(unit => { + const opts: ts.CompilerOptions = {}; + Compiler.setCompilerOptionsFromHarnessSetting(this.settings, opts); + const result = (kind === TranspileKind.Module ? ts.transpileModule : ts.transpileDeclaration)(unit.content, { compilerOptions: opts, fileName: unit.name, reportDiagnostics: this.settings.reportDiagnostics === "true" }); + + baselineText += `//// [${ts.changeExtension(unit.name, kind === TranspileKind.Module ? this.getJsOutputExtension(unit.name) : ts.getDeclarationEmitExtensionForPath(unit.name))}] ////\r\n`; + baselineText += result.outputText; + if (!result.outputText.endsWith("\n")) { + baselineText += "\r\n"; + } + if (result.diagnostics && result.diagnostics.length) { + baselineText += "\r\n\r\n//// [Diagnostics reported]\r\n"; + baselineText += Compiler.getErrorBaseline([{ content: unit.content, unitName: unit.name }], result.diagnostics, !!opts.pretty); + if (!baselineText.endsWith("\n")) { + baselineText += "\r\n"; + } + } + }); + + Baseline.runBaseline(`transpile/${kind === TranspileKind.Module ? this.jsOutName : this.dtsOutName}`, baselineText); + }); + } + + run(): void { + if (!this.settings.emitDeclarationOnly) { + this.runKind(TranspileKind.Module); + } + if (this.settings.declaration) { + this.runKind(TranspileKind.Declaration); + } + } +} \ No newline at end of file diff --git a/src/testRunner/unittests/tsbuild/helpers.ts b/src/testRunner/unittests/tsbuild/helpers.ts index 6637e9e6ca..1866e2fce3 100644 --- a/src/testRunner/unittests/tsbuild/helpers.ts +++ b/src/testRunner/unittests/tsbuild/helpers.ts @@ -548,7 +548,7 @@ function getBuildInfoForIncrementalCorrectnessCheck(text: string | undefined): { fileNamesList: undefined, fileInfos: sanitizedFileInfos, // Ignore noEmit since that shouldnt be reason to emit the tsbuild info and presence of it in the buildinfo file does not matter - options: { ...readableBuildInfo.program.options, noEmit: undefined }, + options: readableBuildInfo.program.options ? { ...readableBuildInfo.program.options, noEmit: undefined } : undefined, exportedModulesMap: undefined, affectedFilesPendingEmit: undefined, latestChangedDtsFile: readableBuildInfo.program.latestChangedDtsFile ? "FakeFileName" : undefined, diff --git a/src/testRunner/unittests/tsbuild/noCheck.ts b/src/testRunner/unittests/tsbuild/noCheck.ts new file mode 100644 index 0000000000..832d6224a3 --- /dev/null +++ b/src/testRunner/unittests/tsbuild/noCheck.ts @@ -0,0 +1,77 @@ +namespace ts { + function verifyNoCheckFlag(variant: string): void { + function verifyNoCheckWorker(subScenario: string, declAText: string, commandLineArgs: readonly string[]): void { + verifyTscWithEdits({ + scenario: variant, + subScenario, + fs: () => + loadProjectFromFiles({ + "/src/a.ts": getATsContent(declAText), + "/src/tsconfig.json": JSON.stringify({ + compilerOptions: { noCheck: true, emitDeclarationOnly: true, declaration: true }, + }), + }), + commandLineArgs, + edits: [ + noChangeRun, + { + subScenario: "Fix `a` error", + modifyFs: fs => fs.writeFileSync("/src/a.ts", getATsContent(`const a = "hello"`)), + }, + noChangeRun, + { + subScenario: "Disable noCheck", + modifyFs: fs => + fs.writeFileSync( + "/src/tsconfig.json", + JSON.stringify({ + compilerOptions: { emitDeclarationOnly: true, declaration: true }, + }), + ), + }, + noChangeRun, + ], + baselinePrograms: true, + }); + + function getATsContent(declAText: string): string { + return `const err: number = "error"; + ${declAText}`; + } + } + + function verifyNoCheck(subScenario: string, aTsContent: string): void { + verifyNoCheckWorker(subScenario, aTsContent, ["--b", "/src/tsconfig.json", "-v"]); + verifyNoCheckWorker(`${subScenario} with incremental`, aTsContent, ["--b", "/src/tsconfig.json", "-v", "--incremental"]); + } + + verifyNoCheck("syntax errors", `const a = "hello`); + verifyNoCheck("semantic errors", `const a: number = "hello"`); + } + + describe("unittests:: tsbuild:: noCheck", () => { + // Enable the `noCheck` option on the CLI for testing purposes, to ensure it works with incremental/build + let validate: CommandLineOption["extraValidation"]; + before(() => { + for (const opt of optionDeclarations) { + if (opt.name === "noCheck") { + validate = opt.extraValidation; + opt.extraValidation = () => undefined; + } + } + }); + after(() => { + for (const opt of optionDeclarations) { + if (opt.name === "noCheck") { + opt.extraValidation = validate; + } + } + }); + + verifyNoCheckFlag("noCheck"); + }); + + describe("unittests:: tsbuild:: noCheck:: errors", () => { + verifyNoCheckFlag("noCheck-errors"); + }); +} \ No newline at end of file diff --git a/tests/baselines/reference/DateTimeFormatAndNumberFormatES2021.types b/tests/baselines/reference/DateTimeFormatAndNumberFormatES2021.types index 4c3c8e654e..ea42217a19 100644 --- a/tests/baselines/reference/DateTimeFormatAndNumberFormatES2021.types +++ b/tests/baselines/reference/DateTimeFormatAndNumberFormatES2021.types @@ -2,50 +2,50 @@ Intl.NumberFormat.prototype.formatRange >Intl.NumberFormat.prototype.formatRange : any >Intl.NumberFormat.prototype : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >prototype : Intl.NumberFormat >formatRange : any Intl.DateTimeFormat.prototype.formatRange ->Intl.DateTimeFormat.prototype.formatRange : (startDate: number | bigint | Date, endDate: number | bigint | Date) => string +>Intl.DateTimeFormat.prototype.formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string >Intl.DateTimeFormat.prototype : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >prototype : Intl.DateTimeFormat ->formatRange : (startDate: number | bigint | Date, endDate: number | bigint | Date) => string +>formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string new Intl.NumberFormat().formatRange >new Intl.NumberFormat().formatRange : any >new Intl.NumberFormat() : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >formatRange : any new Intl.NumberFormat().formatRangeToParts >new Intl.NumberFormat().formatRangeToParts : any >new Intl.NumberFormat() : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >formatRangeToParts : any new Intl.DateTimeFormat().formatRange ->new Intl.DateTimeFormat().formatRange : (startDate: number | bigint | Date, endDate: number | bigint | Date) => string +>new Intl.DateTimeFormat().formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string >new Intl.DateTimeFormat() : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } ->formatRange : (startDate: number | bigint | Date, endDate: number | bigint | Date) => string +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string new Intl.DateTimeFormat().formatRangeToParts ->new Intl.DateTimeFormat().formatRangeToParts : (startDate: number | bigint | Date, endDate: number | bigint | Date) => Intl.DateTimeRangeFormatPart[] +>new Intl.DateTimeFormat().formatRangeToParts : (startDate: Date | number | bigint, endDate: Date | number | bigint) => Intl.DateTimeRangeFormatPart[] >new Intl.DateTimeFormat() : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } ->formatRangeToParts : (startDate: number | bigint | Date, endDate: number | bigint | Date) => Intl.DateTimeRangeFormatPart[] +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>formatRangeToParts : (startDate: Date | number | bigint, endDate: Date | number | bigint) => Intl.DateTimeRangeFormatPart[] diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types index 80b2496f2d..e3286a644c 100644 --- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types +++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types @@ -11,7 +11,7 @@ module A { } export var UnitSquare : { ->UnitSquare : { top: { left: Point; right: Point;}; bottom: { left: Point; right: Point;}; } +>UnitSquare : { top: { left: Point; right: Point; }; bottom: { left: Point; right: Point; }; } top: { left: Point, right: Point }, >top : { left: Point; right: Point; } diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types index 898039eb6c..a38a459f9e 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types @@ -33,7 +33,7 @@ module A { === tests/cases/conformance/internalModules/DeclarationMerging/test.ts === var fn: () => { x: number; y: number }; ->fn : () => { x: number; y: number;} +>fn : () => { x: number; y: number; } >x : number >y : number diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types index c0c50ee3ca..f070f422a5 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types @@ -33,7 +33,7 @@ module B { === tests/cases/conformance/internalModules/DeclarationMerging/test.ts === var fn: () => { x: number; y: number }; ->fn : () => { x: number; y: number;} +>fn : () => { x: number; y: number; } >x : number >y : number diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types index 34afcbe4c1..f6edef1fb9 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types @@ -82,7 +82,7 @@ var p = Geometry.Origin; >Origin : A.Point var line: { start: { x: number; y: number }; end: { x: number; y: number; } }; ->line : { start: { x: number; y: number;}; end: { x: number; y: number;}; } +>line : { start: { x: number; y: number; }; end: { x: number; y: number; }; } >start : { x: number; y: number; } >x : number >y : number diff --git a/tests/baselines/reference/accessorsOverrideProperty8.types b/tests/baselines/reference/accessorsOverrideProperty8.types index 1379593d28..f45ee864d1 100644 --- a/tests/baselines/reference/accessorsOverrideProperty8.types +++ b/tests/baselines/reference/accessorsOverrideProperty8.types @@ -14,7 +14,7 @@ type AnyCtor

= new (...a: any[]) => P >a : any[] declare function classWithProperties(properties: T, klass: AnyCtor

): { ->classWithProperties : (properties: T, klass: AnyCtor

) => { new (): P & Properties; prototype: P & Properties;} +>classWithProperties : (properties: T, klass: AnyCtor

) => { new (): P & Properties; prototype: P & Properties; } >key : string >properties : T >klass : AnyCtor

diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.types b/tests/baselines/reference/aliasUsageInObjectLiteral.types index 40d4de4b74..d729e2b253 100644 --- a/tests/baselines/reference/aliasUsageInObjectLiteral.types +++ b/tests/baselines/reference/aliasUsageInObjectLiteral.types @@ -28,7 +28,7 @@ var b: { x: IHasVisualizationModel } = { x: moduleA }; >moduleA : typeof moduleA var c: { y: { z: IHasVisualizationModel } } = { y: { z: moduleA } }; ->c : { y: { z: IHasVisualizationModel;}; } +>c : { y: { z: IHasVisualizationModel; }; } >y : { z: IHasVisualizationModel; } >z : IHasVisualizationModel >{ y: { z: moduleA } } : { y: { z: typeof moduleA; }; } diff --git a/tests/baselines/reference/ambientErrors.types b/tests/baselines/reference/ambientErrors.types index 24aebd357a..a1d33d29ee 100644 --- a/tests/baselines/reference/ambientErrors.types +++ b/tests/baselines/reference/ambientErrors.types @@ -10,7 +10,7 @@ declare function fn(x: number): string; >x : number declare function fn(x: 'foo'): number; ->fn : { (x: number): string; (x: 'foo'): number; } +>fn : { (x: number): string; (x: "foo"): number; } >x : "foo" // Ambient functions with duplicate signatures diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types index a6c244b288..11786e1efc 100644 --- a/tests/baselines/reference/anonterface.types +++ b/tests/baselines/reference/anonterface.types @@ -6,7 +6,7 @@ module M { >C : C m(fn:{ (n:number):string; },n2:number):string { ->m : (fn: (n: number) => string, n2: number) => string +>m : (fn: { (n: number): string; }, n2: number) => string >fn : (n: number) => string >n : number >n2 : number @@ -28,9 +28,9 @@ var c=new M.C(); c.m(function(n) { return "hello: "+n; },18); >c.m(function(n) { return "hello: "+n; },18) : string ->c.m : (fn: (n: number) => string, n2: number) => string +>c.m : (fn: { (n: number): string; }, n2: number) => string >c : M.C ->m : (fn: (n: number) => string, n2: number) => string +>m : (fn: { (n: number): string; }, n2: number) => string >function(n) { return "hello: "+n; } : (n: number) => string >n : number >"hello: "+n : string diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index 4f9e8fdc9c..7afcf99fb2 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -83,7 +83,7 @@ var r3 = foo3(a); // any >a : any declare function foo7(x: { bar: number }): { bar: number }; ->foo7 : { (x: { bar: number;}): { bar: number;}; (x: any): any; } +>foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } >x : { bar: number; } >bar : number >bar : number diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 902dd32cb9..b87e2171c0 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -5447,7 +5447,7 @@ declare namespace ts { readonly expression: EntityNameExpression; readonly name: Identifier; } - interface ElementAccessExpression extends MemberExpression { + interface ElementAccessExpression extends MemberExpression, Declaration { readonly kind: SyntaxKind.ElementAccessExpression; readonly expression: LeftHandSideExpression; readonly questionDotToken?: QuestionDotToken; @@ -6236,7 +6236,7 @@ declare namespace ts { } type FlowType = Type | IncompleteType; interface IncompleteType { - flags: TypeFlags; + flags: TypeFlags | 0; type: Type; } interface AmdDependency { @@ -6253,6 +6253,7 @@ declare namespace ts { interface SourceFileLike { getLineAndCharacterOfPosition(pos: number): LineAndCharacter; } + type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined; interface SourceFile extends Declaration { readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; @@ -6921,6 +6922,7 @@ declare namespace ts { StringMapping = 268435456, Literal = 2944, Unit = 109440, + Freshable = 2976, StringOrNumberLiteral = 384, PossiblyFalsy = 117724, StringLike = 402653316, @@ -6972,10 +6974,12 @@ declare namespace ts { isClass(): this is InterfaceType; isIndexType(): this is IndexType; } - interface LiteralType extends Type { + interface FreshableType extends Type { + freshType: FreshableType; + regularType: FreshableType; + } + interface LiteralType extends FreshableType { value: string | number | PseudoBigInt; - freshType: LiteralType; - regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -6990,7 +6994,7 @@ declare namespace ts { interface BigIntLiteralType extends LiteralType { value: PseudoBigInt; } - interface EnumType extends Type { + interface EnumType extends FreshableType { } enum ObjectFlags { Class = 1, @@ -7325,6 +7329,7 @@ declare namespace ts { moduleDetection?: ModuleDetectionKind; newLine?: NewLineKind; noEmit?: boolean; + noCheck?: boolean; noEmitHelpers?: boolean; noEmitOnError?: boolean; noErrorTruncation?: boolean; @@ -8751,6 +8756,7 @@ declare namespace ts { readonly redirectTargetsMap: RedirectTargetsMap; getProjectReferenceRedirect(fileName: string): string | undefined; isSourceOfProjectReferenceRedirect(fileName: string): boolean; + getCommonSourceDirectory(): string; } interface ModulePath { path: string; @@ -8789,6 +8795,7 @@ declare namespace ts { reportNonlocalAugmentation?(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): void; reportNonSerializableProperty?(propertyName: string): void; reportImportTypeNodeResolutionModeOverride?(): void; + reportInferenceFallback?(node: Node): void; } interface TextSpan { start: number; @@ -9968,7 +9975,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext | undefined): T; /** * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. * @@ -9976,7 +9983,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; function createSourceMapGenerator(host: EmitHost, file: string, sourceRoot: string, sourcesDirectoryPath: string, generatorOptions: SourceMapGeneratorOptions): SourceMapGenerator; interface SourceMapGeneratorOptions { extendedDiagnostics?: boolean; @@ -11680,6 +11687,7 @@ declare namespace ts { }; function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpileDeclaration(input: string, transpileOptions: TranspileOptions): TranspileOutput; function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; interface TranspileOptions { compilerOptions?: CompilerOptions; @@ -12782,7 +12790,7 @@ declare namespace ts { staticBlocks: Set; libraryTypeCallDiagnosticChecker: LibraryTypeCallDiagnosticChecker; skipArkTSStaticBlocksCheck: boolean; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap void>; @@ -13395,7 +13403,7 @@ declare namespace ts { private fileExportDeclCaches?; private compatibleSdkVersionStage; private compatibleSdkVersion; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap; @@ -2918,6 +2919,7 @@ declare namespace ts { StringMapping = 268435456, Literal = 2944, Unit = 109440, + Freshable = 2976, StringOrNumberLiteral = 384, PossiblyFalsy = 117724, StringLike = 402653316, @@ -2969,10 +2971,12 @@ declare namespace ts { isClass(): this is InterfaceType; isIndexType(): this is IndexType; } - interface LiteralType extends Type { + interface FreshableType extends Type { + freshType: FreshableType; + regularType: FreshableType; + } + interface LiteralType extends FreshableType { value: string | number | PseudoBigInt; - freshType: LiteralType; - regularType: LiteralType; } interface UniqueESSymbolType extends Type { symbol: Symbol; @@ -2987,7 +2991,7 @@ declare namespace ts { interface BigIntLiteralType extends LiteralType { value: PseudoBigInt; } - interface EnumType extends Type { + interface EnumType extends FreshableType { } enum ObjectFlags { Class = 1, @@ -3322,6 +3326,7 @@ declare namespace ts { moduleDetection?: ModuleDetectionKind; newLine?: NewLineKind; noEmit?: boolean; + noCheck?: boolean; noEmitHelpers?: boolean; noEmitOnError?: boolean; noErrorTruncation?: boolean; @@ -4748,6 +4753,7 @@ declare namespace ts { readonly redirectTargetsMap: RedirectTargetsMap; getProjectReferenceRedirect(fileName: string): string | undefined; isSourceOfProjectReferenceRedirect(fileName: string): boolean; + getCommonSourceDirectory(): string; } interface ModulePath { path: string; @@ -4786,6 +4792,7 @@ declare namespace ts { reportNonlocalAugmentation?(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): void; reportNonSerializableProperty?(propertyName: string): void; reportImportTypeNodeResolutionModeOverride?(): void; + reportInferenceFallback?(node: Node): void; } interface TextSpan { start: number; @@ -5965,7 +5972,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T, visitor: Visitor, context: TransformationContext): T; + function visitEachChild(node: T, visitor: Visitor, context: TransformationContext | undefined): T; /** * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place. * @@ -5973,7 +5980,7 @@ declare namespace ts { * @param visitor The callback used to visit each child. * @param context A lexical environment context for the visitor. */ - function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; + function visitEachChild(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined; function createSourceMapGenerator(host: EmitHost, file: string, sourceRoot: string, sourcesDirectoryPath: string, generatorOptions: SourceMapGeneratorOptions): SourceMapGenerator; interface SourceMapGeneratorOptions { extendedDiagnostics?: boolean; @@ -7750,6 +7757,7 @@ declare namespace ts { }; function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo; function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput; + function transpileDeclaration(input: string, transpileOptions: TranspileOptions): TranspileOutput; function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string; interface TranspileOptions { compilerOptions?: CompilerOptions; @@ -8852,7 +8860,7 @@ declare namespace ts { staticBlocks: Set; libraryTypeCallDiagnosticChecker: LibraryTypeCallDiagnosticChecker; skipArkTSStaticBlocksCheck: boolean; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap void>; @@ -9465,7 +9473,7 @@ declare namespace ts { private fileExportDeclCaches?; private compatibleSdkVersionStage; private compatibleSdkVersion; - constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: ts.Map | undefined); + constructor(sourceFile: SourceFile, tsProgram: Program, tscStrictDiagnostics?: Map | undefined); static clearTsTypeChecker(): void; static clearQualifiedNameCache(): void; readonly handlersMap: ts.ESMap3 : 3 var o1: { x: [string, number], y: { c: boolean, d: string, e: number } } = { x: ["string", 1], y: { c: true, d: "world", e: 3 } }; ->o1 : { x: [string, number]; y: { c: boolean; d: string; e: number;}; } +>o1 : { x: [string, number]; y: { c: boolean; d: string; e: number; }; } >x : [string, number] >y : { c: boolean; d: string; e: number; } >c : boolean diff --git a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types index 692e007dd9..411b8984ef 100644 --- a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types @@ -1,7 +1,7 @@ === tests/cases/compiler/arrayFakeFlatNoCrashInferenceDeclarations.ts === type BadFlatArray = {obj: { ->BadFlatArray : { done: Arr; recur: Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends -1 ? "done" : "recur"] : Arr; }[Depth extends -1 ? "done" : "recur"] ->obj : { done: Arr; recur: Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends -1 ? "done" : "recur"] : Arr; }[Depth extends -1 ? "done" : "recur"] +>BadFlatArray : { done: Arr; recur: Arr extends ReadonlyArray ? BadFlatArray : Arr; }[Depth extends -1 ? "done" : "recur"] +>obj : { done: Arr; recur: Arr extends ReadonlyArray ? BadFlatArray : Arr; }[Depth extends -1 ? "done" : "recur"] "done": Arr, >"done" : Arr @@ -36,7 +36,7 @@ function foo(arr: T[], depth: number) { return flat(arr, depth); >flat(arr, depth) : (T | (T extends readonly (infer InnerArr)[] ? InnerArr | (InnerArr extends readonly (infer InnerArr)[] ? any : InnerArr) : T))[] ->flat : (arr: A, depth?: D | undefined) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends -1 ? "done" : "recur"] : A; }[D extends -1 ? "done" : "recur"][] +>flat : (arr: A, depth?: D) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends -1 ? "done" : "recur"] : A; }[D extends -1 ? "done" : "recur"][] >arr : T[] >depth : number } diff --git a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types index a7553fd5cd..25c1878cd5 100644 --- a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types +++ b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types @@ -56,28 +56,28 @@ var es = [(x: string) => 2, (x: Object) => 1]; // { (x:string) => number }[] >1 : 1 var fs = [(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => 2]; // (a: { x: number; y?: number }) => number[] ->fs : (((a: { x: number; y?: number;}) => number) | ((b: { x: number; z?: number;}) => number))[] ->[(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => 2] : (((a: { x: number; y?: number;}) => number) | ((b: { x: number; z?: number;}) => number))[] ->(a: { x: number; y?: number }) => 1 : (a: { x: number; y?: number;}) => number +>fs : (((a: { x: number; y?: number; }) => number) | ((b: { x: number; z?: number; }) => number))[] +>[(a: { x: number; y?: number }) => 1, (b: { x: number; z?: number }) => 2] : (((a: { x: number; y?: number; }) => number) | ((b: { x: number; z?: number; }) => number))[] +>(a: { x: number; y?: number }) => 1 : (a: { x: number; y?: number; }) => number >a : { x: number; y?: number; } >x : number >y : number >1 : 1 ->(b: { x: number; z?: number }) => 2 : (b: { x: number; z?: number;}) => number +>(b: { x: number; z?: number }) => 2 : (b: { x: number; z?: number; }) => number >b : { x: number; z?: number; } >x : number >z : number >2 : 2 var gs = [(b: { x: number; z?: number }) => 2, (a: { x: number; y?: number }) => 1]; // (b: { x: number; z?: number }) => number[] ->gs : (((b: { x: number; z?: number;}) => number) | ((a: { x: number; y?: number;}) => number))[] ->[(b: { x: number; z?: number }) => 2, (a: { x: number; y?: number }) => 1] : (((b: { x: number; z?: number;}) => number) | ((a: { x: number; y?: number;}) => number))[] ->(b: { x: number; z?: number }) => 2 : (b: { x: number; z?: number;}) => number +>gs : (((b: { x: number; z?: number; }) => number) | ((a: { x: number; y?: number; }) => number))[] +>[(b: { x: number; z?: number }) => 2, (a: { x: number; y?: number }) => 1] : (((b: { x: number; z?: number; }) => number) | ((a: { x: number; y?: number; }) => number))[] +>(b: { x: number; z?: number }) => 2 : (b: { x: number; z?: number; }) => number >b : { x: number; z?: number; } >x : number >z : number >2 : 2 ->(a: { x: number; y?: number }) => 1 : (a: { x: number; y?: number;}) => number +>(a: { x: number; y?: number }) => 1 : (a: { x: number; y?: number; }) => number >a : { x: number; y?: number; } >x : number >y : number diff --git a/tests/baselines/reference/arraySigChecking.types b/tests/baselines/reference/arraySigChecking.types index bbde492073..bfd8b878bc 100644 --- a/tests/baselines/reference/arraySigChecking.types +++ b/tests/baselines/reference/arraySigChecking.types @@ -50,7 +50,7 @@ myArray = [[1, 2]]; >2 : 2 function isEmpty(l: { length: number }) { ->isEmpty : (l: { length: number;}) => boolean +>isEmpty : (l: { length: number; }) => boolean >l : { length: number; } >length : number diff --git a/tests/baselines/reference/assertionTypePredicates1.types b/tests/baselines/reference/assertionTypePredicates1.types index c8f4c2e063..da7a18b3a2 100644 --- a/tests/baselines/reference/assertionTypePredicates1.types +++ b/tests/baselines/reference/assertionTypePredicates1.types @@ -83,9 +83,9 @@ function f01(x: unknown) { >"number" : "number" x.toLocaleString; ->x.toLocaleString : ((locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined) => string) | (() => string) +>x.toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) >x : number | boolean ->toLocaleString : ((locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined) => string) | (() => string) +>toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) } if (!!true) { >!!true : true @@ -290,9 +290,9 @@ function f10(x: string | undefined) { Debug.assert(x); >Debug.assert(x) : void ->Debug.assert : (value: unknown, message?: string | undefined) => asserts value +>Debug.assert : (value: unknown, message?: string) => asserts value >Debug : typeof Debug ->assert : (value: unknown, message?: string | undefined) => asserts value +>assert : (value: unknown, message?: string) => asserts value >x : string | undefined x.length; @@ -307,9 +307,9 @@ function f10(x: string | undefined) { Debug.assert(x !== undefined); >Debug.assert(x !== undefined) : void ->Debug.assert : (value: unknown, message?: string | undefined) => asserts value +>Debug.assert : (value: unknown, message?: string) => asserts value >Debug : typeof Debug ->assert : (value: unknown, message?: string | undefined) => asserts value +>assert : (value: unknown, message?: string) => asserts value >x !== undefined : boolean >x : string | undefined >undefined : undefined @@ -343,9 +343,9 @@ function f10(x: string | undefined) { Debug.assert(false); >Debug.assert(false) : void ->Debug.assert : (value: unknown, message?: string | undefined) => asserts value +>Debug.assert : (value: unknown, message?: string) => asserts value >Debug : typeof Debug ->assert : (value: unknown, message?: string | undefined) => asserts value +>assert : (value: unknown, message?: string) => asserts value >false : false x; // Unreachable diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.types b/tests/baselines/reference/assigningFromObjectToAnythingElse.types index 65e7012ffc..a2eea63e60 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.types +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.types @@ -13,17 +13,17 @@ y = x; var a: String = Object.create(""); >a : String >Object.create("") : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >"" : "" var c: String = Object.create(1); >c : String >Object.create(1) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >1 : 1 var w: Error = new Object(); diff --git a/tests/baselines/reference/assignmentCompatBug5.types b/tests/baselines/reference/assignmentCompatBug5.types index 8aadcc369d..2b8358bb27 100644 --- a/tests/baselines/reference/assignmentCompatBug5.types +++ b/tests/baselines/reference/assignmentCompatBug5.types @@ -1,6 +1,6 @@ === tests/cases/compiler/assignmentCompatBug5.ts === function foo1(x: { a: number; }) { } ->foo1 : (x: { a: number;}) => void +>foo1 : (x: { a: number; }) => void >x : { a: number; } >a : number diff --git a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types index 8cb4327d16..1f1beea0b3 100644 --- a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types +++ b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types @@ -1,6 +1,6 @@ === tests/cases/compiler/assignmentCompatFunctionsWithOptionalArgs.ts === function foo(x: { id: number; name?: string; }): void; ->foo : (x: { id: number; name?: string;}) => void +>foo : (x: { id: number; name?: string; }) => void >x : { id: number; name?: string; } >id : number >name : string diff --git a/tests/baselines/reference/assignmentCompatOnNew.types b/tests/baselines/reference/assignmentCompatOnNew.types index 1c443eb8d0..064e2c2c98 100644 --- a/tests/baselines/reference/assignmentCompatOnNew.types +++ b/tests/baselines/reference/assignmentCompatOnNew.types @@ -3,11 +3,11 @@ class Foo{}; >Foo : Foo function bar(x: {new(): Foo;}){} ->bar : (x: { new (): Foo;}) => void +>bar : (x: { new (): Foo; }) => void >x : new () => Foo bar(Foo); // Error, but should be allowed >bar(Foo) : void ->bar : (x: new () => Foo) => void +>bar : (x: { new (): Foo; }) => void >Foo : typeof Foo diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types index e904fd3141..12160cc337 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types @@ -74,7 +74,7 @@ var a10: (...x: Derived[]) => Derived; >x : Derived[] var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -92,7 +92,7 @@ var a13: (x: Array, y: Array) => Array; >y : Derived[] var a14: (x: { a: string; b: number }) => Object; ->a14 : (x: { a: string; b: number;}) => Object +>a14 : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -274,10 +274,10 @@ b8 = a8; // ok >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; ->b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number @@ -328,14 +328,14 @@ var b12: >(x: Array, y: T) => Array; >y : T a12 = b12; // ok ->a12 = b12 : (x: Base[], y: T) => Derived[] ->a12 : (x: Base[], y: Derived2[]) => Derived[] ->b12 : (x: Base[], y: T) => Derived[] +>a12 = b12 : (x: Array, y: T) => Derived[] +>a12 : (x: Array, y: Array) => Derived[] +>b12 : (x: Array, y: T) => Derived[] b12 = a12; // ok ->b12 = a12 : (x: Base[], y: Derived2[]) => Derived[] ->b12 : (x: Base[], y: T) => Derived[] ->a12 : (x: Base[], y: Derived2[]) => Derived[] +>b12 = a12 : (x: Array, y: Array) => Derived[] +>b12 : (x: Array, y: T) => Derived[] +>a12 : (x: Array, y: Array) => Derived[] var b13: >(x: Array, y: T) => T; >b13 : (x: Array, y: T) => T @@ -343,14 +343,14 @@ var b13: >(x: Array, y: T) => T; >y : T a13 = b13; // ok ->a13 = b13 : (x: Base[], y: T) => T ->a13 : (x: Base[], y: Derived[]) => Derived[] ->b13 : (x: Base[], y: T) => T +>a13 = b13 : (x: Array, y: T) => T +>a13 : (x: Array, y: Array) => Derived[] +>b13 : (x: Array, y: T) => T b13 = a13; // ok ->b13 = a13 : (x: Base[], y: Derived[]) => Derived[] ->b13 : (x: Base[], y: T) => T ->a13 : (x: Base[], y: Derived[]) => Derived[] +>b13 = a13 : (x: Array, y: Array) => Derived[] +>b13 : (x: Array, y: T) => T +>a13 : (x: Array, y: Array) => Derived[] var b14: (x: { a: T; b: T }) => T; >b14 : (x: { a: T; b: T; }) => T diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index ccbcb3ccfd..9c914ff77f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -50,7 +50,7 @@ module Errors { >x : Base[] var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -73,7 +73,7 @@ module Errors { }; var a15: (x: { a: string; b: number }) => number; ->a15 : (x: { a: string; b: number;}) => number +>a15 : (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -158,10 +158,10 @@ module Errors { >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; ->b8 : (x: (arg: T) => U, y: (arg2: { foo: number;}) => U) => (r: T) => U +>b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: number;}) => U +>y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number >r : T @@ -212,14 +212,14 @@ module Errors { >y : Base[] a12 = b12; ->a12 = b12 : (x: Base[], y: Base[]) => T ->a12 : (x: Base[], y: Derived2[]) => Derived[] ->b12 : (x: Base[], y: Base[]) => T +>a12 = b12 : (x: Array, y: Array) => T +>a12 : (x: Array, y: Array) => Derived[] +>b12 : (x: Array, y: Array) => T b12 = a12; ->b12 = a12 : (x: Base[], y: Derived2[]) => Derived[] ->b12 : (x: Base[], y: Base[]) => T ->a12 : (x: Base[], y: Derived2[]) => Derived[] +>b12 = a12 : (x: Array, y: Array) => Derived[] +>b12 : (x: Array, y: Array) => T +>a12 : (x: Array, y: Array) => Derived[] var b15: (x: { a: T; b: T }) => T; >b15 : (x: { a: T; b: T; }) => T diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types index 4be1347fca..5982a1db11 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types @@ -74,7 +74,7 @@ var a10: new (...x: Derived[]) => Derived; >x : Derived[] var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -92,7 +92,7 @@ var a13: new (x: Array, y: Array) => Array; >y : Derived[] var a14: new (x: { a: string; b: number }) => Object; ->a14 : new (x: { a: string; b: number;}) => Object +>a14 : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -274,10 +274,10 @@ b8 = a8; // ok >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; ->b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number @@ -328,14 +328,14 @@ var b12: new >(x: Array, y: T) => Array; >y : T a12 = b12; // ok ->a12 = b12 : new (x: Base[], y: T) => Derived[] ->a12 : new (x: Base[], y: Derived2[]) => Derived[] ->b12 : new (x: Base[], y: T) => Derived[] +>a12 = b12 : new (x: Array, y: T) => Derived[] +>a12 : new (x: Array, y: Array) => Derived[] +>b12 : new (x: Array, y: T) => Derived[] b12 = a12; // ok ->b12 = a12 : new (x: Base[], y: Derived2[]) => Derived[] ->b12 : new (x: Base[], y: T) => Derived[] ->a12 : new (x: Base[], y: Derived2[]) => Derived[] +>b12 = a12 : new (x: Array, y: Array) => Derived[] +>b12 : new (x: Array, y: T) => Derived[] +>a12 : new (x: Array, y: Array) => Derived[] var b13: new >(x: Array, y: T) => T; >b13 : new (x: Array, y: T) => T @@ -343,14 +343,14 @@ var b13: new >(x: Array, y: T) => T; >y : T a13 = b13; // ok ->a13 = b13 : new (x: Base[], y: T) => T ->a13 : new (x: Base[], y: Derived[]) => Derived[] ->b13 : new (x: Base[], y: T) => T +>a13 = b13 : new (x: Array, y: T) => T +>a13 : new (x: Array, y: Array) => Derived[] +>b13 : new (x: Array, y: T) => T b13 = a13; // ok ->b13 = a13 : new (x: Base[], y: Derived[]) => Derived[] ->b13 : new (x: Base[], y: T) => T ->a13 : new (x: Base[], y: Derived[]) => Derived[] +>b13 = a13 : new (x: Array, y: Array) => Derived[] +>b13 : new (x: Array, y: T) => T +>a13 : new (x: Array, y: Array) => Derived[] var b14: new (x: { a: T; b: T }) => T; >b14 : new (x: { a: T; b: T; }) => T diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index a13015a308..d6cf8e4826 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -50,7 +50,7 @@ module Errors { >x : Base[] var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -73,7 +73,7 @@ module Errors { }; var a15: new (x: { a: string; b: number }) => number; ->a15 : new (x: { a: string; b: number;}) => number +>a15 : new (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -158,10 +158,10 @@ module Errors { >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; ->b8 : new (x: (arg: T) => U, y: (arg2: { foo: number;}) => U) => (r: T) => U +>b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: number;}) => U +>y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number >r : T @@ -212,14 +212,14 @@ module Errors { >y : Base[] a12 = b12; // ok ->a12 = b12 : new (x: Base[], y: Base[]) => T ->a12 : new (x: Base[], y: Derived2[]) => Derived[] ->b12 : new (x: Base[], y: Base[]) => T +>a12 = b12 : new (x: Array, y: Array) => T +>a12 : new (x: Array, y: Array) => Derived[] +>b12 : new (x: Array, y: Array) => T b12 = a12; // ok ->b12 = a12 : new (x: Base[], y: Derived2[]) => Derived[] ->b12 : new (x: Base[], y: Base[]) => T ->a12 : new (x: Base[], y: Derived2[]) => Derived[] +>b12 = a12 : new (x: Array, y: Array) => Derived[] +>b12 : new (x: Array, y: Array) => T +>a12 : new (x: Array, y: Array) => Derived[] var b15: new (x: { a: T; b: T }) => T; >b15 : new (x: { a: T; b: T; }) => T diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types index 58784a8466..f89bb195f1 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types @@ -299,7 +299,7 @@ namespace GH30170 { >val : Blue | Yellow function drawWithColor(currentColor: 'blue' | 'yellow' | undefined) { ->drawWithColor : (currentColor: 'blue' | 'yellow' | undefined) => void +>drawWithColor : (currentColor: "blue" | "yellow" | undefined) => void >currentColor : "blue" | "yellow" return draw({ color: currentColor }); @@ -406,7 +406,7 @@ namespace GH15907 { >GH15907 : typeof GH15907 type Action = { type: 'activate' } | { type: 'disactivate' }; ->Action : { type: 'activate'; } | { type: 'disactivate'; } +>Action : { type: "activate"; } | { type: "disactivate"; } >type : "activate" >type : "disactivate" diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types index 5130dd25e0..76c8d3cadf 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types @@ -14,7 +14,7 @@ var g: (x: T) => (y: S) => I >y : S var h: (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U } ->h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U +>h : (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U; } >x : T >y : S >f : (x: T) => (y: S) => U diff --git a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types index 80fe9f32b5..9808365514 100644 --- a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types +++ b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types @@ -184,7 +184,7 @@ fn = () => 3; // Bug 823548: Should be error (fn is not a reference) >3 : 3 function fn2(x: number, y: { t: number }) { ->fn2 : (x: number, y: { t: number;}) => void +>fn2 : (x: number, y: { t: number; }) => void >x : number >y : { t: number; } >t : number diff --git a/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.types b/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.types index e381651ad9..63dd0aa3b1 100644 --- a/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.types +++ b/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.types @@ -1,10 +1,10 @@ === tests/cases/compiler/asyncFunctionReturnExpressionErrorSpans.ts === interface Foo { bar: { ->bar : { baz: { inner: { thing: string; };}; } +>bar : { baz: { inner: { thing: string; }; }; } baz: { ->baz : { inner: { thing: string;}; } +>baz : { inner: { thing: string; }; } inner: { >inner : { thing: string; } diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types index f67fe49a61..721c2f41a2 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types @@ -2,7 +2,7 @@ declare namespace Windows.Foundation { interface IPromise { then(success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } >success : ((value: TResult) => IPromise) | undefined >value : TResult >error : ((error: any) => IPromise) | undefined @@ -11,7 +11,7 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } >success : ((value: TResult) => IPromise) | undefined >value : TResult >error : ((error: any) => U) | undefined @@ -20,7 +20,7 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } >success : ((value: TResult) => U) | undefined >value : TResult >error : ((error: any) => IPromise) | undefined @@ -29,7 +29,7 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } >success : ((value: TResult) => U) | undefined >value : TResult >error : ((error: any) => U) | undefined @@ -38,7 +38,7 @@ declare namespace Windows.Foundation { >progress : any done(success?: (value: TResult) => any, error?: (error: any) => any, progress?: (progress: any) => void): void; ->done : (success?: ((value: TResult) => any) | undefined, error?: ((error: any) => any) | undefined, progress?: ((progress: any) => void) | undefined) => void +>done : (success?: (value: TResult) => any, error?: (error: any) => any, progress?: (progress: any) => void) => void >success : ((value: TResult) => any) | undefined >value : TResult >error : ((error: any) => any) | undefined diff --git a/tests/baselines/reference/awaitUnionPromise.types b/tests/baselines/reference/awaitUnionPromise.types index 8526b55d26..5dc023c039 100644 --- a/tests/baselines/reference/awaitUnionPromise.types +++ b/tests/baselines/reference/awaitUnionPromise.types @@ -15,7 +15,7 @@ interface IAsyncEnumerator { >next3 : () => Promise next4(): Promise; ->next4 : () => Promise +>next4 : () => Promise >x : string } diff --git a/tests/baselines/reference/awaitedTypeJQuery.types b/tests/baselines/reference/awaitedTypeJQuery.types index 365344c9ab..c454edb8d6 100644 --- a/tests/baselines/reference/awaitedTypeJQuery.types +++ b/tests/baselines/reference/awaitedTypeJQuery.types @@ -9,7 +9,7 @@ interface PromiseBase { thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -56,7 +56,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -93,7 +93,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRP = never, BJP = never, BNP = never, CRP = never, CJP = never, CNP = never, @@ -120,7 +120,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -157,7 +157,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -184,7 +184,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, diff --git a/tests/baselines/reference/baseClassImprovedMismatchErrors.errors.txt b/tests/baselines/reference/baseClassImprovedMismatchErrors.errors.txt index 418c39eafd..ab4bd194ff 100644 --- a/tests/baselines/reference/baseClassImprovedMismatchErrors.errors.txt +++ b/tests/baselines/reference/baseClassImprovedMismatchErrors.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/baseClassImprovedMismatchErrors.ts(8,5): error TS2416: Prop Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/baseClassImprovedMismatchErrors.ts(9,5): error TS2416: Property 'fn' in type 'Derived' is not assignable to the same property in base type 'Base'. - Type '() => string | number' is not assignable to type '() => number'. + Type '() => number | string' is not assignable to type '() => number'. Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/baseClassImprovedMismatchErrors.ts(14,5): error TS2416: Property 'n' in type 'DerivedInterface' is not assignable to the same property in base type 'Base'. @@ -17,7 +17,7 @@ tests/cases/compiler/baseClassImprovedMismatchErrors.ts(14,5): error TS2416: Pro Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/baseClassImprovedMismatchErrors.ts(15,5): error TS2416: Property 'fn' in type 'DerivedInterface' is not assignable to the same property in base type 'Base'. - Type '() => string | number' is not assignable to type '() => number'. + Type '() => number | string' is not assignable to type '() => number'. Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. @@ -42,7 +42,7 @@ tests/cases/compiler/baseClassImprovedMismatchErrors.ts(15,5): error TS2416: Pro fn() { ~~ !!! error TS2416: Property 'fn' in type 'Derived' is not assignable to the same property in base type 'Base'. -!!! error TS2416: Type '() => string | number' is not assignable to type '() => number'. +!!! error TS2416: Type '() => number | string' is not assignable to type '() => number'. !!! error TS2416: Type 'string | number' is not assignable to type 'number'. !!! error TS2416: Type 'string' is not assignable to type 'number'. return 10 as number | string; @@ -61,7 +61,7 @@ tests/cases/compiler/baseClassImprovedMismatchErrors.ts(15,5): error TS2416: Pro fn() { ~~ !!! error TS2416: Property 'fn' in type 'DerivedInterface' is not assignable to the same property in base type 'Base'. -!!! error TS2416: Type '() => string | number' is not assignable to type '() => number'. +!!! error TS2416: Type '() => number | string' is not assignable to type '() => number'. !!! error TS2416: Type 'string | number' is not assignable to type 'number'. !!! error TS2416: Type 'string' is not assignable to type 'number'. return 10 as number | string; diff --git a/tests/baselines/reference/baseClassImprovedMismatchErrors.types b/tests/baselines/reference/baseClassImprovedMismatchErrors.types index d1e79659d3..6f334c400d 100644 --- a/tests/baselines/reference/baseClassImprovedMismatchErrors.types +++ b/tests/baselines/reference/baseClassImprovedMismatchErrors.types @@ -20,7 +20,7 @@ class Derived extends Base { >n : string | Derived fn() { ->fn : () => string | number +>fn : () => number | string return 10 as number | string; >10 as number | string : string | number @@ -34,7 +34,7 @@ class DerivedInterface implements Base { >n : string | DerivedInterface fn() { ->fn : () => string | number +>fn : () => number | string return 10 as number | string; >10 as number | string : string | number diff --git a/tests/baselines/reference/bigintWithLib.types b/tests/baselines/reference/bigintWithLib.types index 6e4376a0e2..ef64ccc7fa 100644 --- a/tests/baselines/reference/bigintWithLib.types +++ b/tests/baselines/reference/bigintWithLib.types @@ -390,9 +390,9 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } >new Intl.NumberFormat("fr") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"fr" : "fr" >format : { (value: number): string; (value: number | bigint): string; } >3000n : 3000n @@ -401,9 +401,9 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } >new Intl.NumberFormat("fr") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"fr" : "fr" >format : { (value: number): string; (value: number | bigint): string; } >bigintVal : bigint diff --git a/tests/baselines/reference/bigintWithoutLib.types b/tests/baselines/reference/bigintWithoutLib.types index f0e50102ed..de92b65d32 100644 --- a/tests/baselines/reference/bigintWithoutLib.types +++ b/tests/baselines/reference/bigintWithoutLib.types @@ -374,9 +374,9 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string >new Intl.NumberFormat("fr").format : (value: number) => string >new Intl.NumberFormat("fr") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"fr" : "fr" >format : (value: number) => string >3000n : 3000n @@ -385,9 +385,9 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string >new Intl.NumberFormat("fr").format : (value: number) => string >new Intl.NumberFormat("fr") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"fr" : "fr" >format : (value: number) => string >bigintVal : bigint diff --git a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types index 1c81cf4f8d..32498cd44b 100644 --- a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types +++ b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types @@ -75,7 +75,7 @@ declare function useReduxDispatch1>(destructur const {} = useReduxDispatch1( >useReduxDispatch1( (d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), })) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } ->useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring<{ funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }, T>) => T +>useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring) => T (d, f) => ({ >(d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : (d: Dispatch, f: { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }) => { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } diff --git a/tests/baselines/reference/callChain.2.types b/tests/baselines/reference/callChain.2.types index a0a4973799..ea93d8ce48 100644 --- a/tests/baselines/reference/callChain.2.types +++ b/tests/baselines/reference/callChain.2.types @@ -17,8 +17,8 @@ o2?.b(); >b : () => number declare const o3: { b: (() => { c: string }) | undefined }; ->o3 : { b: (() => { c: string;}) | undefined; } ->b : () => { c: string;} +>o3 : { b: (() => { c: string; }) | undefined; } +>b : () => { c: string; } >c : string o3.b?.().c; diff --git a/tests/baselines/reference/callChain.3.types b/tests/baselines/reference/callChain.3.types index c4afc572ab..118c6c7b1c 100644 --- a/tests/baselines/reference/callChain.3.types +++ b/tests/baselines/reference/callChain.3.types @@ -4,7 +4,7 @@ declare function absorb(): T; declare const a: { m?(obj: {x: T}): T } | undefined; >a : { m?(obj: { x: T; }): T; } | undefined ->m : ((obj: { x: T;}) => T) | undefined +>m : ((obj: { x: T; }) => T) | undefined >obj : { x: T; } >x : T diff --git a/tests/baselines/reference/callChain.types b/tests/baselines/reference/callChain.types index ea4700aa95..8705be5983 100644 --- a/tests/baselines/reference/callChain.types +++ b/tests/baselines/reference/callChain.types @@ -106,8 +106,8 @@ o2?.["b"](1, ...[2, 3], 4); >4 : 4 declare const o3: { b: ((...args: any[]) => { c: string }) | undefined }; ->o3 : { b: ((...args: any[]) => { c: string;}) | undefined; } ->b : ((...args: any[]) => { c: string;}) | undefined +>o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } +>b : ((...args: any[]) => { c: string; }) | undefined >args : any[] >c : string @@ -266,21 +266,21 @@ o5()?.(); // GH#36031 o2?.b()!.toString; ->o2?.b()!.toString : ((radix?: number | undefined) => string) | undefined +>o2?.b()!.toString : ((radix?: number) => string) | undefined >o2?.b()! : number | undefined >o2?.b() : number | undefined >o2?.b : ((...args: any[]) => number) | undefined >o2 : { b: (...args: any[]) => number; } | undefined >b : ((...args: any[]) => number) | undefined ->toString : ((radix?: number | undefined) => string) | undefined +>toString : ((radix?: number) => string) | undefined o2?.b()!.toString!; ->o2?.b()!.toString! : (radix?: number | undefined) => string ->o2?.b()!.toString : ((radix?: number | undefined) => string) | undefined +>o2?.b()!.toString! : (radix?: number) => string +>o2?.b()!.toString : ((radix?: number) => string) | undefined >o2?.b()! : number | undefined >o2?.b() : number | undefined >o2?.b : ((...args: any[]) => number) | undefined >o2 : { b: (...args: any[]) => number; } | undefined >b : ((...args: any[]) => number) | undefined ->toString : ((radix?: number | undefined) => string) | undefined +>toString : ((radix?: number) => string) | undefined diff --git a/tests/baselines/reference/callOverload.types b/tests/baselines/reference/callOverload.types index 534fde2895..d5ff40eb7c 100644 --- a/tests/baselines/reference/callOverload.types +++ b/tests/baselines/reference/callOverload.types @@ -39,18 +39,18 @@ takeTwo(1, 2, 3, 4) withRest('a', ...n); // no error >withRest('a', ...n) : void ->withRest : (a: any, ...args: any[]) => void +>withRest : (a: any, ...args: Array) => void >'a' : "a" >...n : number >n : number[] withRest(); >withRest() : void ->withRest : (a: any, ...args: any[]) => void +>withRest : (a: any, ...args: Array) => void withRest(...n); >withRest(...n) : void ->withRest : (a: any, ...args: any[]) => void +>withRest : (a: any, ...args: Array) => void >...n : number >n : number[] diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types index c961027b1d..bca78c6c52 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types @@ -76,7 +76,7 @@ interface A { // T >x : Derived[] a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -94,7 +94,7 @@ interface A { // T >y : Derived[] a14: (x: { a: string; b: number }) => Object; ->a14 : (x: { a: string; b: number;}) => Object +>a14 : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -202,10 +202,10 @@ interface I extends A { >r : T a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types index a78f950218..6e70332075 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types @@ -50,7 +50,7 @@ module Errors { >x : Base[] a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -73,7 +73,7 @@ module Errors { }; a15: (x: { a: string; b: number }) => number; ->a15 : (x: { a: string; b: number;}) => number +>a15 : (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -152,10 +152,10 @@ module Errors { interface I4 extends A { a8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; // error, type mismatch ->a8 : (x: (arg: T) => U, y: (arg2: { foo: number;}) => U) => (r: T) => U +>a8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: number;}) => U +>y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number >r : T diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types index 3cb20bb250..f0328fb0a9 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types @@ -77,7 +77,7 @@ interface A { // T >x : Derived[] a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -95,7 +95,7 @@ interface A { // T >y : Derived[] a14: (x: { a: string; b: number }) => Object; ->a14 : (x: { a: string; b: number;}) => Object +>a14 : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -152,10 +152,10 @@ interface I extends B { >r : T a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types index 20558c30ec..8e893aba48 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types @@ -107,7 +107,7 @@ interface I5 extends A { interface I7 extends A { a11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->a11 : (x: { foo: T;}, y: { foo: U; bar: U; }) => Base +>a11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base >x : { foo: T; } >foo : T >y : { foo: U; bar: U; } @@ -117,7 +117,7 @@ interface I7 extends A { interface I9 extends A { a16: (x: { a: T; b: T }) => T[]; ->a16 : (x: { a: T; b: T;}) => T[] +>a16 : (x: { a: T; b: T; }) => T[] >x : { a: T; b: T; } >a : T >b : T diff --git a/tests/baselines/reference/callSignatureFunctionOverload.types b/tests/baselines/reference/callSignatureFunctionOverload.types index 43ab4eb493..d5897c0149 100644 --- a/tests/baselines/reference/callSignatureFunctionOverload.types +++ b/tests/baselines/reference/callSignatureFunctionOverload.types @@ -1,6 +1,6 @@ === tests/cases/compiler/callSignatureFunctionOverload.ts === var foo: { ->foo : { (name: string): string; (name: 'order'): string; (name: 'content'): string; (name: 'done'): string; } +>foo : { (name: string): string; (name: "order"): string; (name: "content"): string; (name: "done"): string; } (name: string): string; >name : string @@ -16,7 +16,7 @@ var foo: { } var foo2: { ->foo2 : { (name: string): string; (name: 'order'): string; (name: 'order'): string; (name: 'done'): string; } +>foo2 : { (name: string): string; (name: "order"): string; (name: "order"): string; (name: "done"): string; } (name: string): string; >name : string diff --git a/tests/baselines/reference/callWithMissingVoid.types b/tests/baselines/reference/callWithMissingVoid.types index 64c3977b14..1745ea3008 100644 --- a/tests/baselines/reference/callWithMissingVoid.types +++ b/tests/baselines/reference/callWithMissingVoid.types @@ -197,7 +197,7 @@ function c(x: number | void, y: void, z: void | string | number): void { c(3, void 0, void 0); // ok >c(3, void 0, void 0) : void ->c : (x: number | void, y: void, z: string | number | void) => void +>c : (x: number | void, y: void, z: void | string | number) => void >3 : 3 >void 0 : undefined >0 : 0 @@ -206,19 +206,19 @@ c(3, void 0, void 0); // ok c(3, void 0); // ok >c(3, void 0) : void ->c : (x: number | void, y: void, z: string | number | void) => void +>c : (x: number | void, y: void, z: void | string | number) => void >3 : 3 >void 0 : undefined >0 : 0 c(3); // ok >c(3) : void ->c : (x: number | void, y: void, z: string | number | void) => void +>c : (x: number | void, y: void, z: void | string | number) => void >3 : 3 c(); // ok >c() : void ->c : (x: number | void, y: void, z: string | number | void) => void +>c : (x: number | void, y: void, z: void | string | number) => void // Spread Parameters diff --git a/tests/baselines/reference/callWithSpread2.types b/tests/baselines/reference/callWithSpread2.types index 7933a3f6da..767c31639a 100644 --- a/tests/baselines/reference/callWithSpread2.types +++ b/tests/baselines/reference/callWithSpread2.types @@ -54,19 +54,19 @@ all(...ns) weird(...ns) >weird(...ns) : void ->weird : (a?: string | number, b?: string | number) => void +>weird : (a?: number | string, b?: number | string) => void >...ns : number >ns : number[] weird(...mixed) >weird(...mixed) : void ->weird : (a?: string | number, b?: string | number) => void +>weird : (a?: number | string, b?: number | string) => void >...mixed : string | number >mixed : (string | number)[] weird(...tuple) >weird(...tuple) : void ->weird : (a?: string | number, b?: string | number) => void +>weird : (a?: number | string, b?: number | string) => void >...tuple : string | number >tuple : [number, string] diff --git a/tests/baselines/reference/callWithSpread4.types b/tests/baselines/reference/callWithSpread4.types index 5d1a4a4de3..c7aeb35786 100644 --- a/tests/baselines/reference/callWithSpread4.types +++ b/tests/baselines/reference/callWithSpread4.types @@ -52,7 +52,7 @@ declare var fun: (inp: any) => AsyncGenerator pli( >pli( reads, ...gun, tr, fun, ...gz, writes) : Promise ->pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: readonly (R | W | RW)[]): Promise; (s1: R, s2: W | RW, ...streams: (W | RW)[]): Promise; } +>pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } reads, >reads : R @@ -92,7 +92,7 @@ test(...anys) pli(...[reads, writes, writes] as const) >pli(...[reads, writes, writes] as const) : Promise ->pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: readonly (R | W | RW)[]): Promise; (s1: R, s2: W | RW, ...streams: (W | RW)[]): Promise; } +>pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } >...[reads, writes, writes] as const : R | W >[reads, writes, writes] as const : readonly [R, W, W] >[reads, writes, writes] : readonly [R, W, W] diff --git a/tests/baselines/reference/callbackArgsDifferByOptionality.types b/tests/baselines/reference/callbackArgsDifferByOptionality.types index 095cb67cde..d54360c065 100644 --- a/tests/baselines/reference/callbackArgsDifferByOptionality.types +++ b/tests/baselines/reference/callbackArgsDifferByOptionality.types @@ -1,7 +1,7 @@ === tests/cases/compiler/callbackArgsDifferByOptionality.ts === function x3(callback: (x?: 'hi') => number); ->x3 : { (callback: (x?: 'hi') => number): any; (callback: (x: string) => number): any; } ->callback : (x?: 'hi') => number +>x3 : { (callback: (x?: "hi") => number): any; (callback: (x: string) => number): any; } +>callback : (x?: "hi") => number >x : "hi" function x3(callback: (x: string) => number); diff --git a/tests/baselines/reference/callbackCrossModule.types b/tests/baselines/reference/callbackCrossModule.types index c3d88c890a..c20a322273 100644 --- a/tests/baselines/reference/callbackCrossModule.types +++ b/tests/baselines/reference/callbackCrossModule.types @@ -24,7 +24,7 @@ function C() { === tests/cases/conformance/jsdoc/use.js === /** @param {import('./mod1').Con} k */ function f(k) { ->f : (k: import('./mod1').Con) => any +>f : (k: import("./mod1").Con) => any >k : import("tests/cases/conformance/jsdoc/mod1").Con if (1 === 2 - 1) { diff --git a/tests/baselines/reference/callsOnComplexSignatures.types b/tests/baselines/reference/callsOnComplexSignatures.types index 192c644744..4ef87f4a42 100644 --- a/tests/baselines/reference/callsOnComplexSignatures.types +++ b/tests/baselines/reference/callsOnComplexSignatures.types @@ -110,17 +110,17 @@ function test3(items: string[] | number[]) { } function test4( ->test4 : (arg1: ((...objs: { x: number;}[]) => number) | ((...objs: { y: number;}[]) => number), arg2: ((a: { x: number;}, b: object) => number) | ((a: object, b: { x: number;}) => number), arg3: ((a: { x: number;}, ...objs: { y: number;}[]) => number) | ((...objs: { x: number;}[]) => number), arg4: ((a?: { x: number;}, b?: { x: number;}) => number) | ((a?: { y: number;}) => number), arg5: ((a?: { x: number;}, ...b: { x: number;}[]) => number) | ((a?: { y: number;}) => number), arg6: ((a?: { x: number;}, b?: { x: number;}) => number) | ((...a: { y: number;}[]) => number)) => void +>test4 : (arg1: ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number), arg2: ((a: { x: number; }, b: object) => number) | ((a: object, b: { x: number; }) => number), arg3: ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number), arg4: ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number), arg5: ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number), arg6: ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number)) => void arg1: ((...objs: {x: number}[]) => number) | ((...objs: {y: number}[]) => number), ->arg1 : ((...objs: { x: number;}[]) => number) | ((...objs: { y: number;}[]) => number) +>arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) >objs : { x: number; }[] >x : number >objs : { y: number; }[] >y : number arg2: ((a: {x: number}, b: object) => number) | ((a: object, b: {x: number}) => number), ->arg2 : ((a: { x: number;}, b: object) => number) | ((a: object, b: { x: number;}) => number) +>arg2 : ((a: { x: number; }, b: object) => number) | ((a: object, b: { x: number; }) => number) >a : { x: number; } >x : number >b : object @@ -129,7 +129,7 @@ function test4( >x : number arg3: ((a: {x: number}, ...objs: {y: number}[]) => number) | ((...objs: {x: number}[]) => number), ->arg3 : ((a: { x: number;}, ...objs: { y: number;}[]) => number) | ((...objs: { x: number;}[]) => number) +>arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) >a : { x: number; } >x : number >objs : { y: number; }[] @@ -138,7 +138,7 @@ function test4( >x : number arg4: ((a?: {x: number}, b?: {x: number}) => number) | ((a?: {y: number}) => number), ->arg4 : ((a?: { x: number;}, b?: { x: number;}) => number) | ((a?: { y: number;}) => number) +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) >a : { x: number; } | undefined >x : number >b : { x: number; } | undefined @@ -147,7 +147,7 @@ function test4( >y : number arg5: ((a?: {x: number}, ...b: {x: number}[]) => number) | ((a?: {y: number}) => number), ->arg5 : ((a?: { x: number;}, ...b: { x: number;}[]) => number) | ((a?: { y: number;}) => number) +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) >a : { x: number; } | undefined >x : number >b : { x: number; }[] @@ -156,7 +156,7 @@ function test4( >y : number arg6: ((a?: {x: number}, b?: {x: number}) => number) | ((...a: {y: number}[]) => number), ->arg6 : ((a?: { x: number;}, b?: { x: number;}) => number) | ((...a: { y: number;}[]) => number) +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) >a : { x: number; } | undefined >x : number >b : { x: number; } | undefined @@ -240,11 +240,11 @@ function test4( arg4(); >arg4() : number ->arg4 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((a?: { y: number; } | undefined) => number) +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) arg4({x: 0, y: 0}); >arg4({x: 0, y: 0}) : number ->arg4 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((a?: { y: number; } | undefined) => number) +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -253,7 +253,7 @@ function test4( arg4({x: 0, y: 0}, {x: 0}); >arg4({x: 0, y: 0}, {x: 0}) : number ->arg4 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((a?: { y: number; } | undefined) => number) +>arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -265,11 +265,11 @@ function test4( arg5(); >arg5() : number ->arg5 : ((a?: { x: number; } | undefined, ...b: { x: number; }[]) => number) | ((a?: { y: number; } | undefined) => number) +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) arg5({x: 0, y: 0}); >arg5({x: 0, y: 0}) : number ->arg5 : ((a?: { x: number; } | undefined, ...b: { x: number; }[]) => number) | ((a?: { y: number; } | undefined) => number) +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -278,7 +278,7 @@ function test4( arg5({x: 0, y: 0}, {x: 0}); >arg5({x: 0, y: 0}, {x: 0}) : number ->arg5 : ((a?: { x: number; } | undefined, ...b: { x: number; }[]) => number) | ((a?: { y: number; } | undefined) => number) +>arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -290,11 +290,11 @@ function test4( arg6(); >arg6() : number ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) arg6({x: 0, y: 0}); >arg6({x: 0, y: 0}) : number ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -303,7 +303,7 @@ function test4( arg6({x: 0, y: 0}, {x: 0, y: 0}); >arg6({x: 0, y: 0}, {x: 0, y: 0}) : number ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -317,7 +317,7 @@ function test4( arg6({x: 0, y: 0}, {x: 0, y: 0}, {y: 0}); >arg6({x: 0, y: 0}, {x: 0, y: 0}, {y: 0}) : number ->arg6 : ((a?: { x: number; } | undefined, b?: { x: number; } | undefined) => number) | ((...a: { y: number; }[]) => number) +>arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) >{x: 0, y: 0} : { x: number; y: number; } >x : number >0 : 0 @@ -358,7 +358,7 @@ function test5() { // Union of all intrinsics and components of `any` function App(props: { component:React.ReactType }) { ->App : (props: { component: React.ReactType;}) => JSX.Element +>App : (props: { component: React.ReactType; }) => JSX.Element >props : { component: React.ReactType; } >component : React.ReactType >React : any diff --git a/tests/baselines/reference/capturedParametersInInitializers1.types b/tests/baselines/reference/capturedParametersInInitializers1.types index 02f0bb13a9..9094aabf99 100644 --- a/tests/baselines/reference/capturedParametersInInitializers1.types +++ b/tests/baselines/reference/capturedParametersInInitializers1.types @@ -33,9 +33,9 @@ let a; >a : any function foo3(y = { x: a }, z = 1) { ->foo3 : (y?: { x: number; }, z?: number) => void ->y : { x: number; } ->{ x: a } : { x: number; } +>foo3 : (y?: { x: typeof z; }, z?: number) => void +>y : { x: typeof z; } +>{ x: a } : { x: typeof z; } >x : number >a : number >z : number diff --git a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types index c6956f6373..d1b8185792 100644 --- a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types +++ b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types @@ -16,7 +16,7 @@ interface Sequence { >value : T groupBy(keySelector: (value: T) => K): Sequence<{ key: K; items: T[]; }>; ->groupBy : (keySelector: (value: T) => K) => Sequence<{ key: K; items: T[];}> +>groupBy : (keySelector: (value: T) => K) => Sequence<{ key: K; items: T[]; }> >keySelector : (value: T) => K >value : T >key : K diff --git a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types index d3c62c6f0a..2a6f006ed0 100644 --- a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types +++ b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types @@ -23,9 +23,9 @@ export = Foo; module.exports = /** @type {FooFun} */(void 0); >module.exports = /** @type {FooFun} */(void 0) : (foo: Foo) => string ->module.exports : (foo: typeof import("tests/cases/compiler/file")) => string ->module : { exports: (foo: typeof import("tests/cases/compiler/file")) => string; } ->exports : (foo: typeof import("tests/cases/compiler/file")) => string +>module.exports : (foo: Foo) => string +>module : { exports: (foo: Foo) => string; } +>exports : (foo: Foo) => string >(void 0) : FooFun >void 0 : undefined >0 : 0 diff --git a/tests/baselines/reference/checkJsdocParamTag1.types b/tests/baselines/reference/checkJsdocParamTag1.types index da4397da94..b3fcf8753f 100644 --- a/tests/baselines/reference/checkJsdocParamTag1.types +++ b/tests/baselines/reference/checkJsdocParamTag1.types @@ -11,16 +11,16 @@ function foo(n, s) {} foo(); >foo() : void ->foo : (n?: number, s?: string) => void +>foo : (n?: number | undefined, s?: string) => void foo(1); >foo(1) : void ->foo : (n?: number, s?: string) => void +>foo : (n?: number | undefined, s?: string) => void >1 : 1 foo(1, "hi"); >foo(1, "hi") : void ->foo : (n?: number, s?: string) => void +>foo : (n?: number | undefined, s?: string) => void >1 : 1 >"hi" : "hi" diff --git a/tests/baselines/reference/checkJsdocTypeTag5.types b/tests/baselines/reference/checkJsdocTypeTag5.types index c2dca1475d..8a6768655d 100644 --- a/tests/baselines/reference/checkJsdocTypeTag5.types +++ b/tests/baselines/reference/checkJsdocTypeTag5.types @@ -44,7 +44,7 @@ var k = function (x) { return x } /** @typedef {(x: 'hi' | 'bye') => 0 | 1 | 2} Argle */ /** @type {Argle} */ function blargle(s) { ->blargle : (x: 'hi' | 'bye') => 0 | 1 | 2 +>blargle : (x: "hi" | "bye") => 0 | 1 | 2 >s : "hi" | "bye" return 0; diff --git a/tests/baselines/reference/checkJsxIntersectionElementPropsType.types b/tests/baselines/reference/checkJsxIntersectionElementPropsType.types index 187d0f274a..efaa22d38c 100644 --- a/tests/baselines/reference/checkJsxIntersectionElementPropsType.types +++ b/tests/baselines/reference/checkJsxIntersectionElementPropsType.types @@ -16,7 +16,7 @@ declare class Component

{ class C extends Component<{ x?: boolean; } & T> {} >C : C ->Component : Component<{ x?: boolean | undefined; } & T> +>Component : Component<{ x?: boolean; } & T> >x : boolean | undefined const y = new C({foobar: "example"}); diff --git a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types index 253c94d57a..916c7375ae 100644 --- a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types +++ b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types @@ -28,7 +28,7 @@ class AsyncLoader extends React.Component> { } async function load(): Promise<{ success: true } | ErrorResult> { ->load : () => Promise<{ success: true;} | ErrorResult> +>load : () => Promise<{ success: true; } | ErrorResult> >success : true >true : true diff --git a/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types b/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types index 31755a9b0e..f375207c2f 100644 --- a/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types +++ b/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types @@ -49,7 +49,7 @@ export function HereIsTheError() { console.log(val)} // <- this throws an error /> : JSX.Element ->ComponentWithUnion : (props: PS | PM) => JSX.Element +>ComponentWithUnion : (props: PM | PS) => JSX.Element multi={false} >multi : false @@ -76,7 +76,7 @@ export function HereIsTheError() { // Usage with pure TypeScript ComponentWithUnion({ >ComponentWithUnion({ multi: false, value: 's', onChange: val => console.log(val) // <- this works fine}) : JSX.Element ->ComponentWithUnion : (props: PS | PM) => JSX.Element +>ComponentWithUnion : (props: PM | PS) => JSX.Element >{ multi: false, value: 's', onChange: val => console.log(val) // <- this works fine} : { multi: false; value: string; onChange: (val: string | undefined) => void; } multi: false, diff --git a/tests/baselines/reference/checkObjectDefineProperty.types b/tests/baselines/reference/checkObjectDefineProperty.types index 05f8b200c5..95fd99e2b7 100644 --- a/tests/baselines/reference/checkObjectDefineProperty.types +++ b/tests/baselines/reference/checkObjectDefineProperty.types @@ -177,7 +177,7 @@ Object.defineProperty(x, "zipStr", { * @param {{name: string}} named */ function takeName(named) { return named.name; } ->takeName : (named: { name: string;}) => string +>takeName : (named: { name: string; }) => string >named : { name: string; } >named.name : string >named : { name: string; } @@ -237,7 +237,7 @@ function match(a, b) {} match(() => expected, (x = expected) => void 0); >match(() => expected, (x = expected) => void 0) : void ->match : (a: () => typeof x, b: (_?: typeof x) => undefined) => void +>match : (a: typeof returnExemplar, b: typeof needsExemplar) => void >() => expected : () => { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } >expected : { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } >(x = expected) => void 0 : (x?: typeof x | undefined) => undefined diff --git a/tests/baselines/reference/checkTypePredicateForRedundantProperties.types b/tests/baselines/reference/checkTypePredicateForRedundantProperties.types index 9d0bc20213..5fcdab2cc9 100644 --- a/tests/baselines/reference/checkTypePredicateForRedundantProperties.types +++ b/tests/baselines/reference/checkTypePredicateForRedundantProperties.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkTypePredicateForRedundantProperties.ts === function addProp2(x: any): x is { a: string; a: string; } { ->addProp2 : (x: any) => x is { a: string; } +>addProp2 : (x: any) => x is { a: string; a: string; } >x : any >a : string >a : string diff --git a/tests/baselines/reference/circularResolvedSignature.types b/tests/baselines/reference/circularResolvedSignature.types index 23efb99838..c1760b93c0 100644 --- a/tests/baselines/reference/circularResolvedSignature.types +++ b/tests/baselines/reference/circularResolvedSignature.types @@ -27,7 +27,7 @@ export function Component() { >state : Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }> >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void >useState(() => ({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), })) : [Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>, (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void] ->useState : (initialState: () => S) => [S, (s: S) => void] +>useState : (initialState: (() => S)) => [S, (s: S) => void] >() => ({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), }) : () => { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } >({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), }) : { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } >{ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), } : { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } diff --git a/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.types b/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.types index babef6106a..8f5250d3e4 100644 --- a/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.types +++ b/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.types @@ -10,7 +10,7 @@ declare class Component

{ >context : any readonly props: Readonly

& Readonly<{ children?: {} }>; ->props : Readonly

& Readonly<{ children?: {} | undefined; }> +>props : Readonly

& Readonly<{ children?: {}; }> >children : {} | undefined } interface ComponentClass

{ @@ -29,7 +29,7 @@ interface ComponentClass

{ } interface FunctionComponent

{ (props: P & { children?: {} }, context?: any): {} | null; ->props : P & { children?: {} | undefined; } +>props : P & { children?: {}; } >children : {} | undefined >context : any >null : null diff --git a/tests/baselines/reference/classCanExtendConstructorFunction.types b/tests/baselines/reference/classCanExtendConstructorFunction.types index a060d27e54..eaaf569eb6 100644 --- a/tests/baselines/reference/classCanExtendConstructorFunction.types +++ b/tests/baselines/reference/classCanExtendConstructorFunction.types @@ -19,7 +19,7 @@ Wagon.circle = function (wagons) { >Wagon.circle = function (wagons) { return wagons ? wagons.length : 3.14;} : (wagons?: Wagon[] | undefined) => number >Wagon.circle : (wagons?: Wagon[] | undefined) => number >Wagon : typeof Wagon ->circle : (wagons?: Wagon[]) => number +>circle : (wagons?: Wagon[] | undefined) => number >function (wagons) { return wagons ? wagons.length : 3.14;} : (wagons?: Wagon[] | undefined) => number >wagons : Wagon[] @@ -75,9 +75,9 @@ Wagon.prototype.speed = function () { >this : this >numberOxen : number >this.weight() : number ->this.weight : (supplies?: any[]) => number +>this.weight : (supplies?: any[] | undefined) => number >this : this ->weight : (supplies?: any[]) => number +>weight : (supplies?: any[] | undefined) => number } // ok class Sql extends Wagon { @@ -126,9 +126,9 @@ class Sql extends Wagon { if (super.weight() < 0) { >super.weight() < 0 : boolean >super.weight() : number ->super.weight : (supplies?: any[]) => number +>super.weight : (supplies?: any[] | undefined) => number >super : Wagon ->weight : (supplies?: any[]) => number +>weight : (supplies?: any[] | undefined) => number >0 : 0 // ???????????????????????? diff --git a/tests/baselines/reference/classExtendsInterfaceInExpression.types b/tests/baselines/reference/classExtendsInterfaceInExpression.types index 453cf5edec..68fd86a222 100644 --- a/tests/baselines/reference/classExtendsInterfaceInExpression.types +++ b/tests/baselines/reference/classExtendsInterfaceInExpression.types @@ -2,7 +2,7 @@ interface A {} function factory(a: any): {new(): Object} { ->factory : (a: any) => { new (): Object;} +>factory : (a: any) => { new (): Object; } >a : any return null; diff --git a/tests/baselines/reference/classExtendsNull.types b/tests/baselines/reference/classExtendsNull.types index 864174cc3c..80573fbec3 100644 --- a/tests/baselines/reference/classExtendsNull.types +++ b/tests/baselines/reference/classExtendsNull.types @@ -10,9 +10,9 @@ class C extends null { return Object.create(null); >Object.create(null) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >null : null } } @@ -24,9 +24,9 @@ class D extends null { constructor() { return Object.create(null); >Object.create(null) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >null : null } } diff --git a/tests/baselines/reference/coAndContraVariantInferences.types b/tests/baselines/reference/coAndContraVariantInferences.types index 33ef1c87d4..7134e4100a 100644 --- a/tests/baselines/reference/coAndContraVariantInferences.types +++ b/tests/baselines/reference/coAndContraVariantInferences.types @@ -1,10 +1,10 @@ === tests/cases/compiler/coAndContraVariantInferences.ts === type A = { kind: 'a' }; ->A : { kind: 'a'; } +>A : { kind: "a"; } >kind : "a" type B = { kind: 'b' }; ->B : { kind: 'b'; } +>B : { kind: "b"; } >kind : "b" declare const a: A; @@ -18,10 +18,10 @@ declare function fab(arg: A | B): void; >arg : A | B declare function foo(x: { kind: T }, f: (arg: { kind: T }) => void): void; ->foo : (x: { kind: T;}, f: (arg: { kind: T;}) => void) => void +>foo : (x: { kind: T; }, f: (arg: { kind: T; }) => void) => void >x : { kind: T; } >kind : T ->f : (arg: { kind: T;}) => void +>f : (arg: { kind: T; }) => void >arg : { kind: T; } >kind : T @@ -94,11 +94,11 @@ call(actionA, printFn); >call(actionA, printFn) : void >call : (action: Action, fn: (action: Action) => any) => void >actionA : Action<"ACTION_A", string> ->printFn : (action: Action<"ACTION_A", string> | Action<"ACTION_B", boolean>) => void +>printFn : (action: typeof actionA | typeof actionB) => void call(actionB, printFn); >call(actionB, printFn) : void >call : (action: Action, fn: (action: Action) => any) => void >actionB : Action<"ACTION_B", boolean> ->printFn : (action: Action<"ACTION_A", string> | Action<"ACTION_B", boolean>) => void +>printFn : (action: typeof actionA | typeof actionB) => void diff --git a/tests/baselines/reference/collisionArgumentsInType.types b/tests/baselines/reference/collisionArgumentsInType.types index a8096e2e7f..722797250c 100644 --- a/tests/baselines/reference/collisionArgumentsInType.types +++ b/tests/baselines/reference/collisionArgumentsInType.types @@ -10,7 +10,7 @@ var v12: (arguments: number, ...restParameters) => void; // no error - no code g >restParameters : any[] var v2: { ->v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any[]) => void; } +>v2 : { (arguments: number, ...restParameters: any[]): any; new (arguments: number, ...restParameters: any[]): any; foo(arguments: number, ...restParameters: any[]): any; prop: (arguments: number, ...restParameters: any) => void; } (arguments: number, ...restParameters); // no error - no code gen >arguments : number @@ -31,7 +31,7 @@ var v2: { >restParameters : any[] } var v21: { ->v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any[]) => void; } +>v21 : { (i: number, ...arguments: any[]): any; new (i: number, ...arguments: any[]): any; foo(i: number, ...arguments: any[]): any; prop: (i: number, ...arguments: any) => void; } (i: number, ...arguments); // no error - no code gen >i : number diff --git a/tests/baselines/reference/collisionRestParameterInType.types b/tests/baselines/reference/collisionRestParameterInType.types index 5987409407..698980c636 100644 --- a/tests/baselines/reference/collisionRestParameterInType.types +++ b/tests/baselines/reference/collisionRestParameterInType.types @@ -5,7 +5,7 @@ var v1: (_i: number, ...restParameters) => void; // no error - no code gen >restParameters : any[] var v2: { ->v2 : { (_i: number, ...restParameters: any[]): any; new (_i: number, ...restParameters: any[]): any; foo(_i: number, ...restParameters: any[]): any; prop: (_i: number, ...restParameters: any[]) => void; } +>v2 : { (_i: number, ...restParameters: any[]): any; new (_i: number, ...restParameters: any[]): any; foo(_i: number, ...restParameters: any[]): any; prop: (_i: number, ...restParameters: any) => void; } (_i: number, ...restParameters); // no error - no code gen >_i : number diff --git a/tests/baselines/reference/commonTypeIntersection.types b/tests/baselines/reference/commonTypeIntersection.types index f1bd05d022..aa14b244bb 100644 --- a/tests/baselines/reference/commonTypeIntersection.types +++ b/tests/baselines/reference/commonTypeIntersection.types @@ -1,21 +1,21 @@ === tests/cases/conformance/types/intersection/commonTypeIntersection.ts === declare let x1: { __typename?: 'TypeTwo' } & { a: boolean }; ->x1 : { __typename?: 'TypeTwo'; } & { a: boolean; } +>x1 : { __typename?: "TypeTwo"; } & { a: boolean; } >__typename : "TypeTwo" >a : boolean let y1: { __typename?: 'TypeOne' } & { a: boolean} = x1; // should error here ->y1 : { __typename?: 'TypeOne'; } & { a: boolean; } +>y1 : { __typename?: "TypeOne"; } & { a: boolean; } >__typename : "TypeOne" >a : boolean >x1 : { __typename?: "TypeTwo"; } & { a: boolean; } declare let x2: { __typename?: 'TypeTwo' } & string; ->x2 : { __typename?: 'TypeTwo'; } & string +>x2 : { __typename?: "TypeTwo"; } & string >__typename : "TypeTwo" let y2: { __typename?: 'TypeOne' } & string = x2; // should error here ->y2 : { __typename?: 'TypeOne'; } & string +>y2 : { __typename?: "TypeOne"; } & string >__typename : "TypeOne" >x2 : { __typename?: "TypeTwo"; } & string diff --git a/tests/baselines/reference/completionEntryForUnionMethod.baseline b/tests/baselines/reference/completionEntryForUnionMethod.baseline index efef0b5307..bc799d5d71 100644 --- a/tests/baselines/reference/completionEntryForUnionMethod.baseline +++ b/tests/baselines/reference/completionEntryForUnionMethod.baseline @@ -1118,217 +1118,1025 @@ "kind": "space" }, { - "text": "...", + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "index", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "array", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "value", + "kind": "text" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "is", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "this", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "is", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "index", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "array", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Determines whether all the members of an array satisfy the specified test.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A function that accepts up to three arguments. The every method calls\nthe predicate function for each element in the array until the predicate returns a value\nwhich is coercible to the Boolean value false, or until the end of the array.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "An object to which the this keyword can refer in the predicate function.\nIf thisArg is omitted, undefined is used as the this value.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A function that accepts up to three arguments. The every method calls\nthe predicate function for each element in the array until the predicate returns a value\nwhich is coercible to the Boolean value false, or until the end of the array.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "An object to which the this keyword can refer in the predicate function.\nIf thisArg is omitted, undefined is used as the this value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "filter", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "jsDoc": [ + { + "name": "param", + "text": [ + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.", + "kind": "text" + } + ] + } + ], + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "filter", "kind": "propertyName" }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "index", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "array", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "value", + "kind": "text" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "is", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, { "text": ";", "kind": "punctuation" }, { - "text": "\n", - "kind": "lineBreak" + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "predicate", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "index", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "array", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" }, { - "text": "}", + "text": ")", "kind": "punctuation" - } - ], - "documentation": [ - { - "text": "Determines whether all the members of an array satisfy the specified test.", - "kind": "text" - } - ], - "tags": [ + }, { - "name": "param", - "text": [ - { - "text": "predicate", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "A function that accepts up to three arguments. The every method calls\nthe predicate function for each element in the array until the predicate returns a value\nwhich is coercible to the Boolean value false, or until the end of the array.", - "kind": "text" - } - ] + "text": " ", + "kind": "space" }, { - "name": "param", - "text": [ - { - "text": "thisArg", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "An object to which the this keyword can refer in the predicate function.\nIf thisArg is omitted, undefined is used as the this value.", - "kind": "text" - } - ] + "text": "=>", + "kind": "punctuation" }, { - "name": "param", - "text": [ - { - "text": "predicate", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "A function that accepts up to three arguments. The every method calls\nthe predicate function for each element in the array until the predicate returns a value\nwhich is coercible to the Boolean value false, or until the end of the array.", - "kind": "text" - } - ] + "text": " ", + "kind": "space" }, { - "name": "param", - "text": [ - { - "text": "thisArg", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "An object to which the this keyword can refer in the predicate function.\nIf thisArg is omitted, undefined is used as the this value.", - "kind": "text" - } - ] - } - ] - }, - { - "name": "filter", - "kind": "property", - "kindModifiers": "declare", - "sortText": "11", - "jsDoc": [ + "text": "unknown", + "kind": "keyword" + }, { - "name": "param", - "text": [ - { - "text": "predicate", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.", - "kind": "text" - } - ] + "text": ",", + "kind": "punctuation" }, { - "name": "param", - "text": [ - { - "text": "thisArg", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.", - "kind": "text" - } - ] + "text": " ", + "kind": "space" }, { - "name": "param", - "text": [ - { - "text": "predicate", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.", - "kind": "text" - } - ] + "text": "thisArg", + "kind": "parameterName" }, { - "name": "param", - "text": [ - { - "text": "thisArg", - "kind": "parameterName" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.", - "kind": "text" - } - ] - } - ], - "displayParts": [ + "text": "?", + "kind": "punctuation" + }, { - "text": "(", + "text": ":", "kind": "punctuation" }, { - "text": "property", - "kind": "text" + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" }, { "text": ")", "kind": "punctuation" }, + { + "text": ":", + "kind": "punctuation" + }, { "text": " ", "kind": "space" }, { - "text": "Array", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { - "text": "<", + "text": "[", "kind": "punctuation" }, { - "text": "T", - "kind": "typeParameterName" + "text": "]", + "kind": "punctuation" }, { - "text": ">", + "text": ";", "kind": "punctuation" }, { - "text": ".", + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", "kind": "punctuation" }, { - "text": "filter", - "kind": "propertyName" + "text": " ", + "kind": "space" }, { - "text": ":", + "text": "|", "kind": "punctuation" }, { @@ -1368,7 +2176,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -1408,7 +2216,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -1456,7 +2264,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -1600,7 +2408,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -1648,7 +2456,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -1720,7 +2528,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -1739,46 +2547,6 @@ "text": "\n", "kind": "lineBreak" }, - { - "text": "}", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "|", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "{", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "...", - "kind": "propertyName" - }, - { - "text": ";", - "kind": "punctuation" - }, - { - "text": "\n", - "kind": "lineBreak" - }, { "text": "}", "kind": "punctuation" diff --git a/tests/baselines/reference/completionsCommentsCommentParsing.baseline b/tests/baselines/reference/completionsCommentsCommentParsing.baseline index 8ebe56c5dc..fc42fbbb9f 100644 --- a/tests/baselines/reference/completionsCommentsCommentParsing.baseline +++ b/tests/baselines/reference/completionsCommentsCommentParsing.baseline @@ -12364,8 +12364,8 @@ "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "RegExp", + "kind": "localName" }, { "text": " ", @@ -12380,8 +12380,8 @@ "kind": "space" }, { - "text": "RegExp", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { "text": ")", @@ -38853,8 +38853,8 @@ "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "RegExp", + "kind": "localName" }, { "text": " ", @@ -38869,8 +38869,8 @@ "kind": "space" }, { - "text": "RegExp", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { "text": ")", diff --git a/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline b/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline index 4ab9660094..5a3e4921b2 100644 --- a/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline +++ b/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline @@ -3378,8 +3378,8 @@ "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "RegExp", + "kind": "localName" }, { "text": " ", @@ -3394,8 +3394,8 @@ "kind": "space" }, { - "text": "RegExp", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { "text": ")", @@ -11764,8 +11764,8 @@ "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "RegExp", + "kind": "localName" }, { "text": " ", @@ -11780,8 +11780,8 @@ "kind": "space" }, { - "text": "RegExp", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { "text": ")", diff --git a/tests/baselines/reference/completionsCommentsFunctionExpression.baseline b/tests/baselines/reference/completionsCommentsFunctionExpression.baseline index 85aa4b4599..45e226a391 100644 --- a/tests/baselines/reference/completionsCommentsFunctionExpression.baseline +++ b/tests/baselines/reference/completionsCommentsFunctionExpression.baseline @@ -7935,8 +7935,8 @@ "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "RegExp", + "kind": "localName" }, { "text": " ", @@ -7951,8 +7951,8 @@ "kind": "space" }, { - "text": "RegExp", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { "text": ")", @@ -16849,8 +16849,8 @@ "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "RegExp", + "kind": "localName" }, { "text": " ", @@ -16865,8 +16865,8 @@ "kind": "space" }, { - "text": "RegExp", - "kind": "localName" + "text": "string", + "kind": "keyword" }, { "text": ")", diff --git a/tests/baselines/reference/complexRecursiveCollections.types b/tests/baselines/reference/complexRecursiveCollections.types index d6bf7cf931..f1ae71f41a 100644 --- a/tests/baselines/reference/complexRecursiveCollections.types +++ b/tests/baselines/reference/complexRecursiveCollections.types @@ -122,7 +122,7 @@ declare module Immutable { >Collection : any export function isAssociative(maybeAssociative: any): maybeAssociative is Collection.Keyed | Collection.Indexed; ->isAssociative : (maybeAssociative: any) => maybeAssociative is Collection.Indexed | Collection.Keyed +>isAssociative : (maybeAssociative: any) => maybeAssociative is Collection.Keyed | Collection.Indexed >maybeAssociative : any >Collection : any >Collection : any @@ -416,12 +416,12 @@ declare module Immutable { >value : this merge(...collections: Array | {[key: string]: V}>): this; ->merge : (...collections: (Collection | { [key: string]: V; })[]) => this +>merge : (...collections: Array | { [key: string]: V; }>) => this >collections : (Collection | { [key: string]: V; })[] >key : string mergeWith(merger: (oldVal: V, newVal: V, key: K) => V, ...collections: Array | {[key: string]: V}>): this; ->mergeWith : (merger: (oldVal: V, newVal: V, key: K) => V, ...collections: (Collection | { [key: string]: V; })[]) => this +>mergeWith : (merger: (oldVal: V, newVal: V, key: K) => V, ...collections: Array | { [key: string]: V; }>) => this >merger : (oldVal: V, newVal: V, key: K) => V >oldVal : V >newVal : V @@ -430,12 +430,12 @@ declare module Immutable { >key : string mergeDeep(...collections: Array | {[key: string]: V}>): this; ->mergeDeep : (...collections: (Collection | { [key: string]: V; })[]) => this +>mergeDeep : (...collections: Array | { [key: string]: V; }>) => this >collections : (Collection | { [key: string]: V; })[] >key : string mergeDeepWith(merger: (oldVal: V, newVal: V, key: K) => V, ...collections: Array | {[key: string]: V}>): this; ->mergeDeepWith : (merger: (oldVal: V, newVal: V, key: K) => V, ...collections: (Collection | { [key: string]: V; })[]) => this +>mergeDeepWith : (merger: (oldVal: V, newVal: V, key: K) => V, ...collections: Array | { [key: string]: V; }>) => this >merger : (oldVal: V, newVal: V, key: K) => V >oldVal : V >newVal : V @@ -494,11 +494,11 @@ declare module Immutable { // Sequence algorithms concat(...collections: Array>): Map; ->concat : { (...collections: Array>): Map; (...collections: { [key: string]: C; }[]): Map; } +>concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } >collections : Iterable<[KC, VC]>[] concat(...collections: Array<{[key: string]: C}>): Map; ->concat : { (...collections: Iterable<[KC, VC]>[]): Map; (...collections: { [key: string]: C; }[]): Map; } +>concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } >collections : { [key: string]: C; }[] >key : string @@ -579,11 +579,11 @@ declare module Immutable { export interface OrderedMap extends Map { // Sequence algorithms concat(...collections: Array>): OrderedMap; ->concat : { (...collections: Array>): OrderedMap; (...collections: { [key: string]: C; }[]): OrderedMap; } +>concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } >collections : Iterable<[KC, VC]>[] concat(...collections: Array<{[key: string]: C}>): OrderedMap; ->concat : { (...collections: Iterable<[KC, VC]>[]): OrderedMap; (...collections: { [key: string]: C; }[]): OrderedMap; } +>concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } >collections : { [key: string]: C; }[] >key : string @@ -830,14 +830,14 @@ declare module Immutable { >collections : Collection[] zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: any[]) => Z, ...collections: Collection[]): OrderedSet; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } >zipper : (value: T, otherValue: U) => Z >value : T >otherValue : U >otherCollection : Collection zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: any[]) => Z, ...collections: Collection[]): OrderedSet; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } >zipper : (value: T, otherValue: U, thirdValue: V) => Z >value : T >otherValue : U @@ -971,7 +971,7 @@ declare module Immutable { >Record : typeof Record export function isRecord(maybeRecord: any): maybeRecord is Record.Instance; ->isRecord : (maybeRecord: any) => maybeRecord is Instance +>isRecord : (maybeRecord: any) => maybeRecord is Record.Instance >maybeRecord : any >Record : any @@ -1137,7 +1137,7 @@ declare module Immutable { >Seq : typeof Seq function isSeq(maybeSeq: any): maybeSeq is Seq.Indexed | Seq.Keyed; ->isSeq : (maybeSeq: any) => maybeSeq is Indexed | Keyed +>isSeq : (maybeSeq: any) => maybeSeq is Seq.Indexed | Seq.Keyed >maybeSeq : any >Seq : any >Seq : any @@ -1181,12 +1181,12 @@ declare module Immutable { >toSeq : () => this concat(...collections: Array>): Seq.Keyed; ->concat : { (...collections: Array>): Seq.Keyed; (...collections: { [key: string]: C; }[]): Keyed; } +>concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Keyed; } >collections : Iterable<[KC, VC]>[] >Seq : any concat(...collections: Array<{[key: string]: C}>): Seq.Keyed; ->concat : { (...collections: Iterable<[KC, VC]>[]): Keyed; (...collections: { [key: string]: C; }[]): Seq.Keyed; } +>concat : { (...collections: Array>): Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } >collections : { [key: string]: C; }[] >key : string >Seq : any @@ -1472,17 +1472,17 @@ declare module Immutable { >Collection : typeof Collection function isKeyed(maybeKeyed: any): maybeKeyed is Collection.Keyed; ->isKeyed : (maybeKeyed: any) => maybeKeyed is Keyed +>isKeyed : (maybeKeyed: any) => maybeKeyed is Collection.Keyed >maybeKeyed : any >Collection : any function isIndexed(maybeIndexed: any): maybeIndexed is Collection.Indexed; ->isIndexed : (maybeIndexed: any) => maybeIndexed is Indexed +>isIndexed : (maybeIndexed: any) => maybeIndexed is Collection.Indexed >maybeIndexed : any >Collection : any function isAssociative(maybeAssociative: any): maybeAssociative is Collection.Keyed | Collection.Indexed; ->isAssociative : (maybeAssociative: any) => maybeAssociative is Indexed | Keyed +>isAssociative : (maybeAssociative: any) => maybeAssociative is Collection.Keyed | Collection.Indexed >maybeAssociative : any >Collection : any >Collection : any @@ -1520,12 +1520,12 @@ declare module Immutable { >flip : () => this concat(...collections: Array>): Collection.Keyed; ->concat : { (...collections: Array>): Collection.Keyed; (...collections: { [key: string]: C; }[]): Keyed; } +>concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Keyed; } >collections : Iterable<[KC, VC]>[] >Collection : any concat(...collections: Array<{[key: string]: C}>): Collection.Keyed; ->concat : { (...collections: Iterable<[KC, VC]>[]): Keyed; (...collections: { [key: string]: C; }[]): Collection.Keyed; } +>concat : { (...collections: Array>): Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } >collections : { [key: string]: C; }[] >key : string >Collection : any @@ -1642,7 +1642,7 @@ declare module Immutable { >Collection : any zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: any[]) => Z, ...collections: Collection[]): Indexed; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Indexed; } >zipper : (value: T, otherValue: U) => Z >value : T >otherValue : U @@ -1650,7 +1650,7 @@ declare module Immutable { >Collection : any zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: any[]) => Z, ...collections: Collection[]): Indexed; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Indexed; } >zipper : (value: T, otherValue: U, thirdValue: V) => Z >value : T >otherValue : U @@ -1873,11 +1873,11 @@ declare module Immutable { // Conversion to JavaScript types toJS(): Array | { [key: string]: any }; ->toJS : () => any[] | { [key: string]: any; } +>toJS : () => Array | { [key: string]: any; } >key : string toJSON(): Array | { [key: string]: V }; ->toJSON : () => V[] | { [key: string]: V; } +>toJSON : () => Array | { [key: string]: V; } >key : string toArray(): Array; diff --git a/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types b/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types index 2460b5407e..8709868072 100644 --- a/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types +++ b/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types @@ -24,7 +24,7 @@ declare function Func( Func({ >Func({ initialValues: { foo: "" }, validate: props => { props.foo; }}) : void ->Func : (x: string extends "validate" | "initialValues" | keyof ExtraProps ? Readonly & ExtraProps> : Pick & ExtraProps>, "validate" | "initialValues" | Exclude> & Partial & ExtraProps>, "validateOnChange" | Extract>>) => void +>Func : (x: (string extends "validate" | "initialValues" | keyof ExtraProps ? Readonly & ExtraProps> : Pick & ExtraProps>, "validate" | "initialValues" | Exclude> & Partial & ExtraProps>, "validateOnChange" | Extract>>)) => void >{ initialValues: { foo: "" }, validate: props => { props.foo; }} : { initialValues: { foo: string; }; validate: (props: { foo: string; }) => void; } initialValues: { diff --git a/tests/baselines/reference/complicatedPrivacy.types b/tests/baselines/reference/complicatedPrivacy.types index c0b39f0ca8..58af74cfbb 100644 --- a/tests/baselines/reference/complicatedPrivacy.types +++ b/tests/baselines/reference/complicatedPrivacy.types @@ -43,14 +43,14 @@ module m1 { } export function f2(arg1: { x?: C1, y: number }) { ->f2 : (arg1: { x?: C1; y: number;}) => void +>f2 : (arg1: { x?: C1; y: number; }) => void >arg1 : { x?: C1; y: number; } >x : C1 >y : number } export function f3(): { ->f3 : () => (a: number) => C1 +>f3 : () => { (a: number): C1; } (a: number) : C1; >a : number @@ -61,7 +61,7 @@ module m1 { } export function f4(arg1: ->f4 : (arg1: { [number]: C1;}) => void +>f4 : (arg1: { [number]: C1; }) => void >arg1 : {} { [number]: C1; // Used to be indexer, now it is a computed property @@ -73,7 +73,7 @@ module m1 { export function f5(arg2: { ->f5 : (arg2: new (arg1: C1) => C1) => void +>f5 : (arg2: { new (arg1: C1): C1; }) => void >arg2 : new (arg1: C1) => C1 new (arg1: C1) : C1 diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1.types b/tests/baselines/reference/computedPropertiesInDestructuring1.types index 008ef71220..5e5405d1ae 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1.types +++ b/tests/baselines/reference/computedPropertiesInDestructuring1.types @@ -49,32 +49,32 @@ let [{[foo2()]: bar5}] = [{bar: "bar"}]; >"bar" : "bar" function f1({["bar"]: x}: { bar: number }) {} ->f1 : ({ ["bar"]: x }: { bar: number;}) => void +>f1 : ({ ["bar"]: x }: { bar: number; }) => void >"bar" : "bar" >x : number >bar : number function f2({[foo]: x}: { bar: number }) {} ->f2 : ({ [foo]: x }: { bar: number;}) => void +>f2 : ({ [foo]: x }: { bar: number; }) => void >foo : string >x : any >bar : number function f3({[foo2()]: x}: { bar: number }) {} ->f3 : ({ [foo2()]: x }: { bar: number;}) => void +>f3 : ({ [foo2()]: x }: { bar: number; }) => void >foo2() : string >foo2 : () => string >x : any >bar : number function f4([{[foo]: x}]: [{ bar: number }]) {} ->f4 : ([{ [foo]: x }]: [{ bar: number;}]) => void +>f4 : ([{ [foo]: x }]: [{ bar: number; }]) => void >foo : string >x : any >bar : number function f5([{[foo2()]: x}]: [{ bar: number }]) {} ->f5 : ([{ [foo2()]: x }]: [{ bar: number;}]) => void +>f5 : ([{ [foo2()]: x }]: [{ bar: number; }]) => void >foo2() : string >foo2 : () => string >x : any diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types index e91f37c3df..9efcf7beaf 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types +++ b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types @@ -56,32 +56,32 @@ let [{[foo2()]: bar5}] = [{bar: "bar"}]; >"bar" : "bar" function f1({["bar"]: x}: { bar: number }) {} ->f1 : ({ ["bar"]: x }: { bar: number;}) => void +>f1 : ({ ["bar"]: x }: { bar: number; }) => void >"bar" : "bar" >x : number >bar : number function f2({[foo]: x}: { bar: number }) {} ->f2 : ({ [foo]: x }: { bar: number;}) => void +>f2 : ({ [foo]: x }: { bar: number; }) => void >foo : string >x : any >bar : number function f3({[foo2()]: x}: { bar: number }) {} ->f3 : ({ [foo2()]: x }: { bar: number;}) => void +>f3 : ({ [foo2()]: x }: { bar: number; }) => void >foo2() : string >foo2 : () => string >x : any >bar : number function f4([{[foo]: x}]: [{ bar: number }]) {} ->f4 : ([{ [foo]: x }]: [{ bar: number;}]) => void +>f4 : ([{ [foo]: x }]: [{ bar: number; }]) => void >foo : string >x : any >bar : number function f5([{[foo2()]: x}]: [{ bar: number }]) {} ->f5 : ([{ [foo2()]: x }]: [{ bar: number;}]) => void +>f5 : ([{ [foo2()]: x }]: [{ bar: number; }]) => void >foo2() : string >foo2 : () => string >x : any diff --git a/tests/baselines/reference/computedPropertiesNarrowed.errors.txt b/tests/baselines/reference/computedPropertiesNarrowed.errors.txt new file mode 100644 index 0000000000..356e5d6f96 --- /dev/null +++ b/tests/baselines/reference/computedPropertiesNarrowed.errors.txt @@ -0,0 +1,76 @@ +tests/cases/compiler/computedPropertiesNarrowed.ts(5,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/computedPropertiesNarrowed.ts(18,20): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/computedPropertiesNarrowed.ts(22,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/computedPropertiesNarrowed.ts(26,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/computedPropertiesNarrowed.ts(37,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/computedPropertiesNarrowed.ts(47,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + + +==== tests/cases/compiler/computedPropertiesNarrowed.ts (6 errors) ==== + const x: 0 | 1 = Math.random()? 0: 1; + declare function assert(n: number): asserts n is 1; + assert(x); + export let o = { + [x]: 1 // error narrow type !== declared type + ~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/computedPropertiesNarrowed.ts:4:12: Add a type annotation to the variable o. + } + + + const y: 0 = 0 + export let o2 = { + [y]: 1 // ok literal computed type + } + + // literals are ok + export let o3 = { [1]: 1 } + export let o31 = { [-1]: 1 } + + export let o32 = { [1-1]: 1 } // error number + ~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/computedPropertiesNarrowed.ts:18:12: Add a type annotation to the variable o32. + + let u = Symbol(); + export let o4 = { + [u]: 1 // Should error, nut a unique symbol + ~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/computedPropertiesNarrowed.ts:21:12: Add a type annotation to the variable o4. + } + + export let o5 ={ + [Symbol()]: 1 // Should error + ~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/computedPropertiesNarrowed.ts:25:12: Add a type annotation to the variable o5. + } + + const uu: unique symbol = Symbol(); + export let o6 = { + [uu]: 1 // Should be ok + } + + + function foo (): 1 { return 1; } + export let o7 = { + [foo()]: 1 // Should error + ~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/computedPropertiesNarrowed.ts:36:12: Add a type annotation to the variable o7. + }; + + let E = { A: 1 } as const + export const o8 = { + [E.A]: 1 // Fresh + } + + function ns() { return { v: 0 } as const } + export const o9 = { + [ns().v]: 1 + ~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/computedPropertiesNarrowed.ts:46:14: Add a type annotation to the variable o9. + } + \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertiesNarrowed.js b/tests/baselines/reference/computedPropertiesNarrowed.js new file mode 100644 index 0000000000..d02723f334 --- /dev/null +++ b/tests/baselines/reference/computedPropertiesNarrowed.js @@ -0,0 +1,88 @@ +//// [computedPropertiesNarrowed.ts] +const x: 0 | 1 = Math.random()? 0: 1; +declare function assert(n: number): asserts n is 1; +assert(x); +export let o = { + [x]: 1 // error narrow type !== declared type +} + + +const y: 0 = 0 +export let o2 = { + [y]: 1 // ok literal computed type +} + +// literals are ok +export let o3 = { [1]: 1 } +export let o31 = { [-1]: 1 } + +export let o32 = { [1-1]: 1 } // error number + +let u = Symbol(); +export let o4 = { + [u]: 1 // Should error, nut a unique symbol +} + +export let o5 ={ + [Symbol()]: 1 // Should error +} + +const uu: unique symbol = Symbol(); +export let o6 = { + [uu]: 1 // Should be ok +} + + +function foo (): 1 { return 1; } +export let o7 = { + [foo()]: 1 // Should error +}; + +let E = { A: 1 } as const +export const o8 = { + [E.A]: 1 // Fresh +} + +function ns() { return { v: 0 } as const } +export const o9 = { + [ns().v]: 1 +} + + +//// [computedPropertiesNarrowed.js] +const x = Math.random() ? 0 : 1; +assert(x); +export let o = { + [x]: 1 // error narrow type !== declared type +}; +const y = 0; +export let o2 = { + [y]: 1 // ok literal computed type +}; +// literals are ok +export let o3 = { [1]: 1 }; +export let o31 = { [-1]: 1 }; +export let o32 = { [1 - 1]: 1 }; // error number +let u = Symbol(); +export let o4 = { + [u]: 1 // Should error, nut a unique symbol +}; +export let o5 = { + [Symbol()]: 1 // Should error +}; +const uu = Symbol(); +export let o6 = { + [uu]: 1 // Should be ok +}; +function foo() { return 1; } +export let o7 = { + [foo()]: 1 // Should error +}; +let E = { A: 1 }; +export const o8 = { + [E.A]: 1 // Fresh +}; +function ns() { return { v: 0 }; } +export const o9 = { + [ns().v]: 1 +}; diff --git a/tests/baselines/reference/computedPropertiesNarrowed.symbols b/tests/baselines/reference/computedPropertiesNarrowed.symbols new file mode 100644 index 0000000000..10f68a1bf3 --- /dev/null +++ b/tests/baselines/reference/computedPropertiesNarrowed.symbols @@ -0,0 +1,125 @@ +=== tests/cases/compiler/computedPropertiesNarrowed.ts === +const x: 0 | 1 = Math.random()? 0: 1; +>x : Symbol(x, Decl(computedPropertiesNarrowed.ts, 0, 5)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + +declare function assert(n: number): asserts n is 1; +>assert : Symbol(assert, Decl(computedPropertiesNarrowed.ts, 0, 37)) +>n : Symbol(n, Decl(computedPropertiesNarrowed.ts, 1, 24)) +>n : Symbol(n, Decl(computedPropertiesNarrowed.ts, 1, 24)) + +assert(x); +>assert : Symbol(assert, Decl(computedPropertiesNarrowed.ts, 0, 37)) +>x : Symbol(x, Decl(computedPropertiesNarrowed.ts, 0, 5)) + +export let o = { +>o : Symbol(o, Decl(computedPropertiesNarrowed.ts, 3, 10)) + + [x]: 1 // error narrow type !== declared type +>[x] : Symbol([x], Decl(computedPropertiesNarrowed.ts, 3, 16)) +>x : Symbol(x, Decl(computedPropertiesNarrowed.ts, 0, 5)) +} + + +const y: 0 = 0 +>y : Symbol(y, Decl(computedPropertiesNarrowed.ts, 8, 5)) + +export let o2 = { +>o2 : Symbol(o2, Decl(computedPropertiesNarrowed.ts, 9, 10)) + + [y]: 1 // ok literal computed type +>[y] : Symbol([y], Decl(computedPropertiesNarrowed.ts, 9, 17)) +>y : Symbol(y, Decl(computedPropertiesNarrowed.ts, 8, 5)) +} + +// literals are ok +export let o3 = { [1]: 1 } +>o3 : Symbol(o3, Decl(computedPropertiesNarrowed.ts, 14, 10)) +>[1] : Symbol([1], Decl(computedPropertiesNarrowed.ts, 14, 17)) +>1 : Symbol([1], Decl(computedPropertiesNarrowed.ts, 14, 17)) + +export let o31 = { [-1]: 1 } +>o31 : Symbol(o31, Decl(computedPropertiesNarrowed.ts, 15, 10)) +>[-1] : Symbol([-1], Decl(computedPropertiesNarrowed.ts, 15, 18)) + +export let o32 = { [1-1]: 1 } // error number +>o32 : Symbol(o32, Decl(computedPropertiesNarrowed.ts, 17, 10)) +>[1-1] : Symbol([1-1], Decl(computedPropertiesNarrowed.ts, 17, 18)) + +let u = Symbol(); +>u : Symbol(u, Decl(computedPropertiesNarrowed.ts, 19, 3)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +export let o4 = { +>o4 : Symbol(o4, Decl(computedPropertiesNarrowed.ts, 20, 10)) + + [u]: 1 // Should error, nut a unique symbol +>[u] : Symbol([u], Decl(computedPropertiesNarrowed.ts, 20, 17)) +>u : Symbol(u, Decl(computedPropertiesNarrowed.ts, 19, 3)) +} + +export let o5 ={ +>o5 : Symbol(o5, Decl(computedPropertiesNarrowed.ts, 24, 10)) + + [Symbol()]: 1 // Should error +>[Symbol()] : Symbol([Symbol()], Decl(computedPropertiesNarrowed.ts, 24, 17)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +} + +const uu: unique symbol = Symbol(); +>uu : Symbol(uu, Decl(computedPropertiesNarrowed.ts, 28, 5)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +export let o6 = { +>o6 : Symbol(o6, Decl(computedPropertiesNarrowed.ts, 29, 10)) + + [uu]: 1 // Should be ok +>[uu] : Symbol([uu], Decl(computedPropertiesNarrowed.ts, 29, 18)) +>uu : Symbol(uu, Decl(computedPropertiesNarrowed.ts, 28, 5)) +} + + +function foo (): 1 { return 1; } +>foo : Symbol(foo, Decl(computedPropertiesNarrowed.ts, 31, 1)) + +export let o7 = { +>o7 : Symbol(o7, Decl(computedPropertiesNarrowed.ts, 35, 10)) + + [foo()]: 1 // Should error +>[foo()] : Symbol([foo()], Decl(computedPropertiesNarrowed.ts, 35, 17)) +>foo : Symbol(foo, Decl(computedPropertiesNarrowed.ts, 31, 1)) + +}; + +let E = { A: 1 } as const +>E : Symbol(E, Decl(computedPropertiesNarrowed.ts, 39, 3)) +>A : Symbol(A, Decl(computedPropertiesNarrowed.ts, 39, 9)) +>const : Symbol(const) + +export const o8 = { +>o8 : Symbol(o8, Decl(computedPropertiesNarrowed.ts, 40, 12)) + + [E.A]: 1 // Fresh +>[E.A] : Symbol([E.A], Decl(computedPropertiesNarrowed.ts, 40, 19)) +>E.A : Symbol(A, Decl(computedPropertiesNarrowed.ts, 39, 9)) +>E : Symbol(E, Decl(computedPropertiesNarrowed.ts, 39, 3)) +>A : Symbol(A, Decl(computedPropertiesNarrowed.ts, 39, 9)) +} + +function ns() { return { v: 0 } as const } +>ns : Symbol(ns, Decl(computedPropertiesNarrowed.ts, 42, 1)) +>v : Symbol(v, Decl(computedPropertiesNarrowed.ts, 44, 24)) +>const : Symbol(const) + +export const o9 = { +>o9 : Symbol(o9, Decl(computedPropertiesNarrowed.ts, 45, 12)) + + [ns().v]: 1 +>[ns().v] : Symbol([ns().v], Decl(computedPropertiesNarrowed.ts, 45, 19)) +>ns().v : Symbol(v, Decl(computedPropertiesNarrowed.ts, 44, 24)) +>ns : Symbol(ns, Decl(computedPropertiesNarrowed.ts, 42, 1)) +>v : Symbol(v, Decl(computedPropertiesNarrowed.ts, 44, 24)) +} + diff --git a/tests/baselines/reference/computedPropertiesNarrowed.types b/tests/baselines/reference/computedPropertiesNarrowed.types new file mode 100644 index 0000000000..d363ed47e7 --- /dev/null +++ b/tests/baselines/reference/computedPropertiesNarrowed.types @@ -0,0 +1,167 @@ +=== tests/cases/compiler/computedPropertiesNarrowed.ts === +const x: 0 | 1 = Math.random()? 0: 1; +>x : 0 | 1 +>Math.random()? 0: 1 : 0 | 1 +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number +>0 : 0 +>1 : 1 + +declare function assert(n: number): asserts n is 1; +>assert : (n: number) => asserts n is 1 +>n : number + +assert(x); +>assert(x) : void +>assert : (n: number) => asserts n is 1 +>x : 0 | 1 + +export let o = { +>o : { 1: number; } +>{ [x]: 1 // error narrow type !== declared type} : { 1: number; } + + [x]: 1 // error narrow type !== declared type +>[x] : number +>x : 1 +>1 : 1 +} + + +const y: 0 = 0 +>y : 0 +>0 : 0 + +export let o2 = { +>o2 : { 0: number; } +>{ [y]: 1 // ok literal computed type } : { 0: number; } + + [y]: 1 // ok literal computed type +>[y] : number +>y : 0 +>1 : 1 +} + +// literals are ok +export let o3 = { [1]: 1 } +>o3 : { 1: number; } +>{ [1]: 1 } : { 1: number; } +>[1] : number +>1 : 1 +>1 : 1 + +export let o31 = { [-1]: 1 } +>o31 : { [-1]: number; } +>{ [-1]: 1 } : { [-1]: number; } +>[-1] : number +>-1 : -1 +>1 : 1 +>1 : 1 + +export let o32 = { [1-1]: 1 } // error number +>o32 : { [x: number]: number; } +>{ [1-1]: 1 } : { [x: number]: number; } +>[1-1] : number +>1-1 : number +>1 : 1 +>1 : 1 +>1 : 1 + +let u = Symbol(); +>u : symbol +>Symbol() : symbol +>Symbol : SymbolConstructor + +export let o4 = { +>o4 : { [x: symbol]: number; } +>{ [u]: 1 // Should error, nut a unique symbol} : { [x: symbol]: number; } + + [u]: 1 // Should error, nut a unique symbol +>[u] : number +>u : symbol +>1 : 1 +} + +export let o5 ={ +>o5 : { [x: symbol]: number; } +>{ [Symbol()]: 1 // Should error} : { [x: symbol]: number; } + + [Symbol()]: 1 // Should error +>[Symbol()] : number +>Symbol() : symbol +>Symbol : SymbolConstructor +>1 : 1 +} + +const uu: unique symbol = Symbol(); +>uu : unique symbol +>Symbol() : unique symbol +>Symbol : SymbolConstructor + +export let o6 = { +>o6 : { [uu]: number; } +>{ [uu]: 1 // Should be ok} : { [uu]: number; } + + [uu]: 1 // Should be ok +>[uu] : number +>uu : unique symbol +>1 : 1 +} + + +function foo (): 1 { return 1; } +>foo : () => 1 +>1 : 1 + +export let o7 = { +>o7 : { 1: number; } +>{ [foo()]: 1 // Should error} : { 1: number; } + + [foo()]: 1 // Should error +>[foo()] : number +>foo() : 1 +>foo : () => 1 +>1 : 1 + +}; + +let E = { A: 1 } as const +>E : { readonly A: 1; } +>{ A: 1 } as const : { readonly A: 1; } +>{ A: 1 } : { readonly A: 1; } +>A : 1 +>1 : 1 + +export const o8 = { +>o8 : { 1: number; } +>{ [E.A]: 1 // Fresh } : { 1: number; } + + [E.A]: 1 // Fresh +>[E.A] : number +>E.A : 1 +>E : { readonly A: 1; } +>A : 1 +>1 : 1 +} + +function ns() { return { v: 0 } as const } +>ns : () => { readonly v: 0; } +>{ v: 0 } as const : { readonly v: 0; } +>{ v: 0 } : { readonly v: 0; } +>v : 0 +>0 : 0 + +export const o9 = { +>o9 : { 0: number; } +>{ [ns().v]: 1} : { 0: number; } + + [ns().v]: 1 +>[ns().v] : number +>ns().v : 0 +>ns() : { readonly v: 0; } +>ns : () => { readonly v: 0; } +>v : 0 +>1 : 1 +} + diff --git a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types index 154a547203..855c424219 100644 --- a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types +++ b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types @@ -17,7 +17,7 @@ function select< >valueProp : TValueProp export function func(x: XX, tipos: { value: XX }[]) { ->func : (x: XX, tipos: { value: XX;}[]) => void +>func : (x: XX, tipos: { value: XX; }[]) => void >x : XX >tipos : { value: XX; }[] >value : XX @@ -104,7 +104,7 @@ function f(t: T) { } function f2(t1: { x: T; y: T }, t2: T extends T ? { x: T; y: T } : never) { ->f2 : (t1: { x: T; y: T;}, t2: T extends T ? { x: T; y: T;} : never) => void +>f2 : (t1: { x: T; y: T; }, t2: T extends T ? { x: T; y: T; } : never) => void >t1 : { x: T; y: T; } >x : T >y : T diff --git a/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types b/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types index ca6336e060..c54c7adbde 100644 --- a/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types +++ b/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types @@ -4,14 +4,14 @@ declare function useState1(initialState: (S extends (() => any) ? never : S) >initialState : (S extends () => any ? never : S) | (() => S) declare function useState2(initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)): S; // Any args ->useState2 : (initialState: (S extends (...args: any[]) => any ? never : S) | (() => S)) => S +>useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S >initialState : (S extends (...args: any[]) => any ? never : S) | (() => S) >args : any[] const func1 = useState1(() => () => 0); >func1 : () => 0 >useState1(() => () => 0) : () => 0 ->useState1 : (initialState: (S extends () => any ? never : S) | (() => S)) => S +>useState1 : (initialState: (S extends (() => any) ? never : S) | (() => S)) => S >() => () => 0 : () => () => 0 >() => 0 : () => 0 >0 : 0 @@ -19,7 +19,7 @@ const func1 = useState1(() => () => 0); const func2 = useState2(() => () => 0); >func2 : () => 0 >useState2(() => () => 0) : () => 0 ->useState2 : (initialState: (S extends (...args: any[]) => any ? never : S) | (() => S)) => S +>useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S >() => () => 0 : () => () => 0 >() => 0 : () => 0 >0 : 0 @@ -29,14 +29,14 @@ declare function useState3(initialState: (T extends (() => any) >initialState : (T extends () => any ? never : T) | (() => S) declare function useState4(initialState: (T extends ((...args: any[]) => any) ? never : T) | (() => S)): S; // Any args ->useState4 : (initialState: (T extends (...args: any[]) => any ? never : T) | (() => S)) => S +>useState4 : (initialState: (T extends ((...args: any[]) => any) ? never : T) | (() => S)) => S >initialState : (T extends (...args: any[]) => any ? never : T) | (() => S) >args : any[] const func3 = useState1(() => () => 0); >func3 : () => 0 >useState1(() => () => 0) : () => 0 ->useState1 : (initialState: (S extends () => any ? never : S) | (() => S)) => S +>useState1 : (initialState: (S extends (() => any) ? never : S) | (() => S)) => S >() => () => 0 : () => () => 0 >() => 0 : () => 0 >0 : 0 @@ -44,7 +44,7 @@ const func3 = useState1(() => () => 0); const func4 = useState2(() => () => 0); >func4 : () => 0 >useState2(() => () => 0) : () => 0 ->useState2 : (initialState: (S extends (...args: any[]) => any ? never : S) | (() => S)) => S +>useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S >() => () => 0 : () => () => 0 >() => 0 : () => 0 >0 : 0 diff --git a/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types b/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types index 50391d7c0d..4e6e6053a9 100644 --- a/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types +++ b/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types @@ -1,6 +1,6 @@ === tests/cases/compiler/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.ts === type BigUnion = ->BigUnion : { name: '0'; children: BigUnion[]; } | { name: '1'; children: BigUnion[]; } | { name: '2'; children: BigUnion[]; } | { name: '3'; children: BigUnion[]; } | { name: '4'; children: BigUnion[]; } | { name: '5'; children: BigUnion[]; } | { name: '6'; children: BigUnion[]; } | { name: '7'; children: BigUnion[]; } | { name: '8'; children: BigUnion[]; } | { name: '9'; children: BigUnion[]; } | { name: '10'; children: BigUnion[]; } | { name: '11'; children: BigUnion[]; } | { name: '12'; children: BigUnion[]; } | { name: '13'; children: BigUnion[]; } | { name: '14'; children: BigUnion[]; } | { name: '15'; children: BigUnion[]; } | { name: '16'; children: BigUnion[]; } | { name: '17'; children: BigUnion[]; } | { name: '18'; children: BigUnion[]; } | { name: '19'; children: BigUnion[]; } | { name: '20'; children: BigUnion[]; } | { name: '21'; children: BigUnion[]; } | { name: '22'; children: BigUnion[]; } | { name: '23'; children: BigUnion[]; } | { name: '24'; children: BigUnion[]; } | { name: '25'; children: BigUnion[]; } | { name: '26'; children: BigUnion[]; } | { name: '27'; children: BigUnion[]; } | { name: '28'; children: BigUnion[]; } | { name: '29'; children: BigUnion[]; } | { name: '30'; children: BigUnion[]; } | { name: '31'; children: BigUnion[]; } | { name: '32'; children: BigUnion[]; } | { name: '33'; children: BigUnion[]; } | { name: '34'; children: BigUnion[]; } | { name: '35'; children: BigUnion[]; } | { name: '36'; children: BigUnion[]; } | { name: '37'; children: BigUnion[]; } | { name: '38'; children: BigUnion[]; } | { name: '39'; children: BigUnion[]; } | { name: '40'; children: BigUnion[]; } | { name: '41'; children: BigUnion[]; } | { name: '42'; children: BigUnion[]; } | { name: '43'; children: BigUnion[]; } | { name: '44'; children: BigUnion[]; } | { name: '45'; children: BigUnion[]; } | { name: '46'; children: BigUnion[]; } | { name: '47'; children: BigUnion[]; } | { name: '48'; children: BigUnion[]; } | { name: '49'; children: BigUnion[]; } | { name: '50'; children: BigUnion[]; } | { name: '51'; children: BigUnion[]; } | { name: '52'; children: BigUnion[]; } | { name: '53'; children: BigUnion[]; } | { name: '54'; children: BigUnion[]; } | { name: '55'; children: BigUnion[]; } | { name: '56'; children: BigUnion[]; } | { name: '57'; children: BigUnion[]; } | { name: '58'; children: BigUnion[]; } | { name: '59'; children: BigUnion[]; } | { name: '60'; children: BigUnion[]; } | { name: '61'; children: BigUnion[]; } | { name: '62'; children: BigUnion[]; } | { name: '63'; children: BigUnion[]; } | { name: '64'; children: BigUnion[]; } | { name: '65'; children: BigUnion[]; } | { name: '66'; children: BigUnion[]; } | { name: '67'; children: BigUnion[]; } | { name: '68'; children: BigUnion[]; } | { name: '69'; children: BigUnion[]; } | { name: '70'; children: BigUnion[]; } | { name: '71'; children: BigUnion[]; } | { name: '72'; children: BigUnion[]; } | { name: '73'; children: BigUnion[]; } | { name: '74'; children: BigUnion[]; } | { name: '75'; children: BigUnion[]; } | { name: '76'; children: BigUnion[]; } | { name: '77'; children: BigUnion[]; } | { name: '78'; children: BigUnion[]; } | { name: '79'; children: BigUnion[]; } | { name: '80'; children: BigUnion[]; } | { name: '81'; children: BigUnion[]; } | { name: '82'; children: BigUnion[]; } | { name: '83'; children: BigUnion[]; } | { name: '84'; children: BigUnion[]; } | { name: '85'; children: BigUnion[]; } | { name: '86'; children: BigUnion[]; } | { name: '87'; children: BigUnion[]; } | { name: '88'; children: BigUnion[]; } | { name: '89'; children: BigUnion[]; } | { name: '90'; children: BigUnion[]; } | { name: '91'; children: BigUnion[]; } | { name: '92'; children: BigUnion[]; } | { name: '93'; children: BigUnion[]; } | { name: '94'; children: BigUnion[]; } | { name: '95'; children: BigUnion[]; } | { name: '96'; children: BigUnion[]; } | { name: '97'; children: BigUnion[]; } | { name: '98'; children: BigUnion[]; } | { name: '99'; children: BigUnion[]; } | { name: '100'; children: BigUnion[]; } | { name: '101'; children: BigUnion[]; } | { name: '102'; children: BigUnion[]; } | { name: '103'; children: BigUnion[]; } | { name: '104'; children: BigUnion[]; } | { name: '105'; children: BigUnion[]; } | { name: '106'; children: BigUnion[]; } | { name: '107'; children: BigUnion[]; } | { name: '108'; children: BigUnion[]; } | { name: '109'; children: BigUnion[]; } | { name: '110'; children: BigUnion[]; } | { name: '111'; children: BigUnion[]; } | { name: '112'; children: BigUnion[]; } | { name: '113'; children: BigUnion[]; } | { name: '114'; children: BigUnion[]; } | { name: '115'; children: BigUnion[]; } | { name: '116'; children: BigUnion[]; } | { name: '117'; children: BigUnion[]; } | { name: '118'; children: BigUnion[]; } | { name: '119'; children: BigUnion[]; } | { name: '120'; children: BigUnion[]; } | { name: '121'; children: BigUnion[]; } | { name: '122'; children: BigUnion[]; } | { name: '123'; children: BigUnion[]; } | { name: '124'; children: BigUnion[]; } | { name: '125'; children: BigUnion[]; } | { name: '126'; children: BigUnion[]; } | { name: '127'; children: BigUnion[]; } | { name: '128'; children: BigUnion[]; } | { name: '129'; children: BigUnion[]; } | { name: '130'; children: BigUnion[]; } | { name: '131'; children: BigUnion[]; } | { name: '132'; children: BigUnion[]; } | { name: '133'; children: BigUnion[]; } | { name: '134'; children: BigUnion[]; } | { name: '135'; children: BigUnion[]; } | { name: '136'; children: BigUnion[]; } | { name: '137'; children: BigUnion[]; } | { name: '138'; children: BigUnion[]; } | { name: '139'; children: BigUnion[]; } | { name: '140'; children: BigUnion[]; } | { name: '141'; children: BigUnion[]; } | { name: '142'; children: BigUnion[]; } | { name: '143'; children: BigUnion[]; } | { name: '144'; children: BigUnion[]; } | { name: '145'; children: BigUnion[]; } | { name: '146'; children: BigUnion[]; } | { name: '147'; children: BigUnion[]; } | { name: '148'; children: BigUnion[]; } | { name: '149'; children: BigUnion[]; } | { name: '150'; children: BigUnion[]; } | { name: '151'; children: BigUnion[]; } | { name: '152'; children: BigUnion[]; } | { name: '153'; children: BigUnion[]; } | { name: '154'; children: BigUnion[]; } | { name: '155'; children: BigUnion[]; } | { name: '156'; children: BigUnion[]; } | { name: '157'; children: BigUnion[]; } | { name: '158'; children: BigUnion[]; } | { name: '159'; children: BigUnion[]; } | { name: '160'; children: BigUnion[]; } | { name: '161'; children: BigUnion[]; } | { name: '162'; children: BigUnion[]; } | { name: '163'; children: BigUnion[]; } | { name: '164'; children: BigUnion[]; } | { name: '165'; children: BigUnion[]; } | { name: '166'; children: BigUnion[]; } | { name: '167'; children: BigUnion[]; } | { name: '168'; children: BigUnion[]; } | { name: '169'; children: BigUnion[]; } | { name: '170'; children: BigUnion[]; } | { name: '171'; children: BigUnion[]; } | { name: '172'; children: BigUnion[]; } | { name: '173'; children: BigUnion[]; } | { name: '174'; children: BigUnion[]; } | { name: '175'; children: BigUnion[]; } | { name: '176'; children: BigUnion[]; } | { name: '177'; children: BigUnion[]; } | { name: '178'; children: BigUnion[]; } | { name: '179'; children: BigUnion[]; } | { name: '180'; children: BigUnion[]; } | { name: '181'; children: BigUnion[]; } | { name: '182'; children: BigUnion[]; } | { name: '183'; children: BigUnion[]; } | { name: '184'; children: BigUnion[]; } | { name: '185'; children: BigUnion[]; } | { name: '186'; children: BigUnion[]; } | { name: '187'; children: BigUnion[]; } | { name: '188'; children: BigUnion[]; } | { name: '189'; children: BigUnion[]; } | { name: '190'; children: BigUnion[]; } | { name: '191'; children: BigUnion[]; } | { name: '192'; children: BigUnion[]; } | { name: '193'; children: BigUnion[]; } | { name: '194'; children: BigUnion[]; } | { name: '195'; children: BigUnion[]; } | { name: '196'; children: BigUnion[]; } | { name: '197'; children: BigUnion[]; } | { name: '198'; children: BigUnion[]; } | { name: '199'; children: BigUnion[]; } | { name: '200'; children: BigUnion[]; } | { name: '201'; children: BigUnion[]; } | { name: '202'; children: BigUnion[]; } | { name: '203'; children: BigUnion[]; } | { name: '204'; children: BigUnion[]; } | { name: '205'; children: BigUnion[]; } | { name: '206'; children: BigUnion[]; } | { name: '207'; children: BigUnion[]; } | { name: '208'; children: BigUnion[]; } | { name: '209'; children: BigUnion[]; } | { name: '210'; children: BigUnion[]; } | { name: '211'; children: BigUnion[]; } | { name: '212'; children: BigUnion[]; } | { name: '213'; children: BigUnion[]; } | { name: '214'; children: BigUnion[]; } | { name: '215'; children: BigUnion[]; } | { name: '216'; children: BigUnion[]; } | { name: '217'; children: BigUnion[]; } | { name: '218'; children: BigUnion[]; } | { name: '219'; children: BigUnion[]; } | { name: '220'; children: BigUnion[]; } | { name: '221'; children: BigUnion[]; } | { name: '222'; children: BigUnion[]; } | { name: '223'; children: BigUnion[]; } | { name: '224'; children: BigUnion[]; } | { name: '225'; children: BigUnion[]; } | { name: '226'; children: BigUnion[]; } | { name: '227'; children: BigUnion[]; } | { name: '228'; children: BigUnion[]; } | { name: '229'; children: BigUnion[]; } | { name: '230'; children: BigUnion[]; } | { name: '231'; children: BigUnion[]; } | { name: '232'; children: BigUnion[]; } | { name: '233'; children: BigUnion[]; } | { name: '234'; children: BigUnion[]; } | { name: '235'; children: BigUnion[]; } | { name: '236'; children: BigUnion[]; } | { name: '237'; children: BigUnion[]; } | { name: '238'; children: BigUnion[]; } | { name: '239'; children: BigUnion[]; } | { name: '240'; children: BigUnion[]; } | { name: '241'; children: BigUnion[]; } | { name: '242'; children: BigUnion[]; } | { name: '243'; children: BigUnion[]; } | { name: '244'; children: BigUnion[]; } | { name: '245'; children: BigUnion[]; } | { name: '246'; children: BigUnion[]; } | { name: '247'; children: BigUnion[]; } | { name: '248'; children: BigUnion[]; } | { name: '249'; children: BigUnion[]; } | { name: '250'; children: BigUnion[]; } | { name: '251'; children: BigUnion[]; } | { name: '252'; children: BigUnion[]; } | { name: '253'; children: BigUnion[]; } | { name: '254'; children: BigUnion[]; } | { name: '255'; children: BigUnion[]; } | { name: '256'; children: BigUnion[]; } | { name: '257'; children: BigUnion[]; } | { name: '258'; children: BigUnion[]; } | { name: '259'; children: BigUnion[]; } | { name: '260'; children: BigUnion[]; } | { name: '261'; children: BigUnion[]; } | { name: '262'; children: BigUnion[]; } | { name: '263'; children: BigUnion[]; } | { name: '264'; children: BigUnion[]; } | { name: '265'; children: BigUnion[]; } | { name: '266'; children: BigUnion[]; } | { name: '267'; children: BigUnion[]; } | { name: '268'; children: BigUnion[]; } | { name: '269'; children: BigUnion[]; } | { name: '270'; children: BigUnion[]; } | { name: '271'; children: BigUnion[]; } | { name: '272'; children: BigUnion[]; } | { name: '273'; children: BigUnion[]; } | { name: '274'; children: BigUnion[]; } | { name: '275'; children: BigUnion[]; } | { name: '276'; children: BigUnion[]; } | { name: '277'; children: BigUnion[]; } | { name: '278'; children: BigUnion[]; } | { name: '279'; children: BigUnion[]; } | { name: '280'; children: BigUnion[]; } | { name: '281'; children: BigUnion[]; } | { name: '282'; children: BigUnion[]; } | { name: '283'; children: BigUnion[]; } | { name: '284'; children: BigUnion[]; } | { name: '285'; children: BigUnion[]; } | { name: '286'; children: BigUnion[]; } | { name: '287'; children: BigUnion[]; } | { name: '288'; children: BigUnion[]; } | { name: '289'; children: BigUnion[]; } | { name: '290'; children: BigUnion[]; } | { name: '291'; children: BigUnion[]; } | { name: '292'; children: BigUnion[]; } | { name: '293'; children: BigUnion[]; } | { name: '294'; children: BigUnion[]; } | { name: '295'; children: BigUnion[]; } | { name: '296'; children: BigUnion[]; } | { name: '297'; children: BigUnion[]; } | { name: '298'; children: BigUnion[]; } | { name: '299'; children: BigUnion[]; } | { name: '300'; children: BigUnion[]; } | { name: '301'; children: BigUnion[]; } | { name: '302'; children: BigUnion[]; } | { name: '303'; children: BigUnion[]; } | { name: '304'; children: BigUnion[]; } | { name: '305'; children: BigUnion[]; } | { name: '306'; children: BigUnion[]; } | { name: '307'; children: BigUnion[]; } | { name: '308'; children: BigUnion[]; } | { name: '309'; children: BigUnion[]; } | { name: '310'; children: BigUnion[]; } | { name: '311'; children: BigUnion[]; } | { name: '312'; children: BigUnion[]; } | { name: '313'; children: BigUnion[]; } | { name: '314'; children: BigUnion[]; } | { name: '315'; children: BigUnion[]; } | { name: '316'; children: BigUnion[]; } | { name: '317'; children: BigUnion[]; } | { name: '318'; children: BigUnion[]; } | { name: '319'; children: BigUnion[]; } | { name: '320'; children: BigUnion[]; } | { name: '321'; children: BigUnion[]; } | { name: '322'; children: BigUnion[]; } | { name: '323'; children: BigUnion[]; } | { name: '324'; children: BigUnion[]; } | { name: '325'; children: BigUnion[]; } | { name: '326'; children: BigUnion[]; } | { name: '327'; children: BigUnion[]; } | { name: '328'; children: BigUnion[]; } | { name: '329'; children: BigUnion[]; } | { name: '330'; children: BigUnion[]; } | { name: '331'; children: BigUnion[]; } | { name: '332'; children: BigUnion[]; } | { name: '333'; children: BigUnion[]; } | { name: '334'; children: BigUnion[]; } | { name: '335'; children: BigUnion[]; } | { name: '336'; children: BigUnion[]; } | { name: '337'; children: BigUnion[]; } | { name: '338'; children: BigUnion[]; } | { name: '339'; children: BigUnion[]; } | { name: '340'; children: BigUnion[]; } | { name: '341'; children: BigUnion[]; } | { name: '342'; children: BigUnion[]; } | { name: '343'; children: BigUnion[]; } | { name: '344'; children: BigUnion[]; } | { name: '345'; children: BigUnion[]; } | { name: '346'; children: BigUnion[]; } | { name: '347'; children: BigUnion[]; } | { name: '348'; children: BigUnion[]; } | { name: '349'; children: BigUnion[]; } | { name: '350'; children: BigUnion[]; } | { name: '351'; children: BigUnion[]; } | { name: '352'; children: BigUnion[]; } | { name: '353'; children: BigUnion[]; } | { name: '354'; children: BigUnion[]; } | { name: '355'; children: BigUnion[]; } | { name: '356'; children: BigUnion[]; } | { name: '357'; children: BigUnion[]; } | { name: '358'; children: BigUnion[]; } | { name: '359'; children: BigUnion[]; } | { name: '360'; children: BigUnion[]; } | { name: '361'; children: BigUnion[]; } | { name: '362'; children: BigUnion[]; } | { name: '363'; children: BigUnion[]; } | { name: '364'; children: BigUnion[]; } | { name: '365'; children: BigUnion[]; } | { name: '366'; children: BigUnion[]; } | { name: '367'; children: BigUnion[]; } | { name: '368'; children: BigUnion[]; } | { name: '369'; children: BigUnion[]; } | { name: '370'; children: BigUnion[]; } | { name: '371'; children: BigUnion[]; } | { name: '372'; children: BigUnion[]; } | { name: '373'; children: BigUnion[]; } | { name: '374'; children: BigUnion[]; } | { name: '375'; children: BigUnion[]; } | { name: '376'; children: BigUnion[]; } | { name: '377'; children: BigUnion[]; } | { name: '378'; children: BigUnion[]; } | { name: '379'; children: BigUnion[]; } | { name: '380'; children: BigUnion[]; } | { name: '381'; children: BigUnion[]; } | { name: '382'; children: BigUnion[]; } | { name: '383'; children: BigUnion[]; } | { name: '384'; children: BigUnion[]; } | { name: '385'; children: BigUnion[]; } | { name: '386'; children: BigUnion[]; } | { name: '387'; children: BigUnion[]; } | { name: '388'; children: BigUnion[]; } | { name: '389'; children: BigUnion[]; } | { name: '390'; children: BigUnion[]; } | { name: '391'; children: BigUnion[]; } | { name: '392'; children: BigUnion[]; } | { name: '393'; children: BigUnion[]; } | { name: '394'; children: BigUnion[]; } | { name: '395'; children: BigUnion[]; } | { name: '396'; children: BigUnion[]; } | { name: '397'; children: BigUnion[]; } | { name: '398'; children: BigUnion[]; } | { name: '399'; children: BigUnion[]; } | { name: '400'; children: BigUnion[]; } | { name: '401'; children: BigUnion[]; } | { name: '402'; children: BigUnion[]; } | { name: '403'; children: BigUnion[]; } | { name: '404'; children: BigUnion[]; } | { name: '405'; children: BigUnion[]; } | { name: '406'; children: BigUnion[]; } | { name: '407'; children: BigUnion[]; } | { name: '408'; children: BigUnion[]; } | { name: '409'; children: BigUnion[]; } | { name: '410'; children: BigUnion[]; } | { name: '411'; children: BigUnion[]; } | { name: '412'; children: BigUnion[]; } | { name: '413'; children: BigUnion[]; } | { name: '414'; children: BigUnion[]; } | { name: '415'; children: BigUnion[]; } | { name: '416'; children: BigUnion[]; } | { name: '417'; children: BigUnion[]; } | { name: '418'; children: BigUnion[]; } | { name: '419'; children: BigUnion[]; } | { name: '420'; children: BigUnion[]; } | { name: '421'; children: BigUnion[]; } | { name: '422'; children: BigUnion[]; } | { name: '423'; children: BigUnion[]; } | { name: '424'; children: BigUnion[]; } | { name: '425'; children: BigUnion[]; } | { name: '426'; children: BigUnion[]; } | { name: '427'; children: BigUnion[]; } | { name: '428'; children: BigUnion[]; } | { name: '429'; children: BigUnion[]; } | { name: '430'; children: BigUnion[]; } | { name: '431'; children: BigUnion[]; } | { name: '432'; children: BigUnion[]; } | { name: '433'; children: BigUnion[]; } | { name: '434'; children: BigUnion[]; } | { name: '435'; children: BigUnion[]; } | { name: '436'; children: BigUnion[]; } | { name: '437'; children: BigUnion[]; } | { name: '438'; children: BigUnion[]; } | { name: '439'; children: BigUnion[]; } | { name: '440'; children: BigUnion[]; } | { name: '441'; children: BigUnion[]; } | { name: '442'; children: BigUnion[]; } | { name: '443'; children: BigUnion[]; } | { name: '444'; children: BigUnion[]; } | { name: '445'; children: BigUnion[]; } | { name: '446'; children: BigUnion[]; } | { name: '447'; children: BigUnion[]; } | { name: '448'; children: BigUnion[]; } | { name: '449'; children: BigUnion[]; } | { name: '450'; children: BigUnion[]; } | { name: '451'; children: BigUnion[]; } | { name: '452'; children: BigUnion[]; } | { name: '453'; children: BigUnion[]; } | { name: '454'; children: BigUnion[]; } | { name: '455'; children: BigUnion[]; } | { name: '456'; children: BigUnion[]; } | { name: '457'; children: BigUnion[]; } | { name: '458'; children: BigUnion[]; } | { name: '459'; children: BigUnion[]; } | { name: '460'; children: BigUnion[]; } | { name: '461'; children: BigUnion[]; } | { name: '462'; children: BigUnion[]; } | { name: '463'; children: BigUnion[]; } | { name: '464'; children: BigUnion[]; } | { name: '465'; children: BigUnion[]; } | { name: '466'; children: BigUnion[]; } | { name: '467'; children: BigUnion[]; } | { name: '468'; children: BigUnion[]; } | { name: '469'; children: BigUnion[]; } | { name: '470'; children: BigUnion[]; } | { name: '471'; children: BigUnion[]; } | { name: '472'; children: BigUnion[]; } | { name: '473'; children: BigUnion[]; } | { name: '474'; children: BigUnion[]; } | { name: '475'; children: BigUnion[]; } | { name: '476'; children: BigUnion[]; } | { name: '477'; children: BigUnion[]; } | { name: '478'; children: BigUnion[]; } | { name: '479'; children: BigUnion[]; } | { name: '480'; children: BigUnion[]; } | { name: '481'; children: BigUnion[]; } | { name: '482'; children: BigUnion[]; } | { name: '483'; children: BigUnion[]; } | { name: '484'; children: BigUnion[]; } | { name: '485'; children: BigUnion[]; } | { name: '486'; children: BigUnion[]; } | { name: '487'; children: BigUnion[]; } | { name: '488'; children: BigUnion[]; } | { name: '489'; children: BigUnion[]; } | { name: '490'; children: BigUnion[]; } | { name: '491'; children: BigUnion[]; } | { name: '492'; children: BigUnion[]; } | { name: '493'; children: BigUnion[]; } | { name: '494'; children: BigUnion[]; } | { name: '495'; children: BigUnion[]; } | { name: '496'; children: BigUnion[]; } | { name: '497'; children: BigUnion[]; } | { name: '498'; children: BigUnion[]; } | { name: '499'; children: BigUnion[]; } | { name: '500'; children: BigUnion[]; } | { name: '501'; children: BigUnion[]; } | { name: '502'; children: BigUnion[]; } | { name: '503'; children: BigUnion[]; } | { name: '504'; children: BigUnion[]; } | { name: '505'; children: BigUnion[]; } | { name: '506'; children: BigUnion[]; } | { name: '507'; children: BigUnion[]; } | { name: '508'; children: BigUnion[]; } | { name: '509'; children: BigUnion[]; } | { name: '510'; children: BigUnion[]; } | { name: '511'; children: BigUnion[]; } | { name: '512'; children: BigUnion[]; } | { name: '513'; children: BigUnion[]; } | { name: '514'; children: BigUnion[]; } | { name: '515'; children: BigUnion[]; } | { name: '516'; children: BigUnion[]; } | { name: '517'; children: BigUnion[]; } | { name: '518'; children: BigUnion[]; } | { name: '519'; children: BigUnion[]; } | { name: '520'; children: BigUnion[]; } | { name: '521'; children: BigUnion[]; } | { name: '522'; children: BigUnion[]; } | { name: '523'; children: BigUnion[]; } | { name: '524'; children: BigUnion[]; } | { name: '525'; children: BigUnion[]; } | { name: '526'; children: BigUnion[]; } | { name: '527'; children: BigUnion[]; } | { name: '528'; children: BigUnion[]; } | { name: '529'; children: BigUnion[]; } | { name: '530'; children: BigUnion[]; } | { name: '531'; children: BigUnion[]; } | { name: '532'; children: BigUnion[]; } | { name: '533'; children: BigUnion[]; } | { name: '534'; children: BigUnion[]; } | { name: '535'; children: BigUnion[]; } | { name: '536'; children: BigUnion[]; } | { name: '537'; children: BigUnion[]; } | { name: '538'; children: BigUnion[]; } | { name: '539'; children: BigUnion[]; } | { name: '540'; children: BigUnion[]; } | { name: '541'; children: BigUnion[]; } | { name: '542'; children: BigUnion[]; } | { name: '543'; children: BigUnion[]; } | { name: '544'; children: BigUnion[]; } | { name: '545'; children: BigUnion[]; } | { name: '546'; children: BigUnion[]; } | { name: '547'; children: BigUnion[]; } | { name: '548'; children: BigUnion[]; } | { name: '549'; children: BigUnion[]; } | { name: '550'; children: BigUnion[]; } | { name: '551'; children: BigUnion[]; } | { name: '552'; children: BigUnion[]; } | { name: '553'; children: BigUnion[]; } | { name: '554'; children: BigUnion[]; } | { name: '555'; children: BigUnion[]; } | { name: '556'; children: BigUnion[]; } | { name: '557'; children: BigUnion[]; } | { name: '558'; children: BigUnion[]; } | { name: '559'; children: BigUnion[]; } | { name: '560'; children: BigUnion[]; } | { name: '561'; children: BigUnion[]; } | { name: '562'; children: BigUnion[]; } | { name: '563'; children: BigUnion[]; } | { name: '564'; children: BigUnion[]; } | { name: '565'; children: BigUnion[]; } | { name: '566'; children: BigUnion[]; } | { name: '567'; children: BigUnion[]; } | { name: '568'; children: BigUnion[]; } | { name: '569'; children: BigUnion[]; } | { name: '570'; children: BigUnion[]; } | { name: '571'; children: BigUnion[]; } | { name: '572'; children: BigUnion[]; } | { name: '573'; children: BigUnion[]; } | { name: '574'; children: BigUnion[]; } | { name: '575'; children: BigUnion[]; } | { name: '576'; children: BigUnion[]; } | { name: '577'; children: BigUnion[]; } | { name: '578'; children: BigUnion[]; } | { name: '579'; children: BigUnion[]; } | { name: '580'; children: BigUnion[]; } | { name: '581'; children: BigUnion[]; } | { name: '582'; children: BigUnion[]; } | { name: '583'; children: BigUnion[]; } | { name: '584'; children: BigUnion[]; } | { name: '585'; children: BigUnion[]; } | { name: '586'; children: BigUnion[]; } | { name: '587'; children: BigUnion[]; } | { name: '588'; children: BigUnion[]; } | { name: '589'; children: BigUnion[]; } | { name: '590'; children: BigUnion[]; } | { name: '591'; children: BigUnion[]; } | { name: '592'; children: BigUnion[]; } | { name: '593'; children: BigUnion[]; } | { name: '594'; children: BigUnion[]; } | { name: '595'; children: BigUnion[]; } | { name: '596'; children: BigUnion[]; } | { name: '597'; children: BigUnion[]; } | { name: '598'; children: BigUnion[]; } | { name: '599'; children: BigUnion[]; } | { name: '600'; children: BigUnion[]; } | { name: '601'; children: BigUnion[]; } | { name: '602'; children: BigUnion[]; } | { name: '603'; children: BigUnion[]; } | { name: '604'; children: BigUnion[]; } | { name: '605'; children: BigUnion[]; } | { name: '606'; children: BigUnion[]; } | { name: '607'; children: BigUnion[]; } | { name: '608'; children: BigUnion[]; } | { name: '609'; children: BigUnion[]; } | { name: '610'; children: BigUnion[]; } | { name: '611'; children: BigUnion[]; } | { name: '612'; children: BigUnion[]; } | { name: '613'; children: BigUnion[]; } | { name: '614'; children: BigUnion[]; } | { name: '615'; children: BigUnion[]; } | { name: '616'; children: BigUnion[]; } | { name: '617'; children: BigUnion[]; } | { name: '618'; children: BigUnion[]; } | { name: '619'; children: BigUnion[]; } | { name: '620'; children: BigUnion[]; } | { name: '621'; children: BigUnion[]; } | { name: '622'; children: BigUnion[]; } | { name: '623'; children: BigUnion[]; } | { name: '624'; children: BigUnion[]; } | { name: '625'; children: BigUnion[]; } | { name: '626'; children: BigUnion[]; } | { name: '627'; children: BigUnion[]; } | { name: '628'; children: BigUnion[]; } | { name: '629'; children: BigUnion[]; } | { name: '630'; children: BigUnion[]; } | { name: '631'; children: BigUnion[]; } | { name: '632'; children: BigUnion[]; } | { name: '633'; children: BigUnion[]; } | { name: '634'; children: BigUnion[]; } | { name: '635'; children: BigUnion[]; } | { name: '636'; children: BigUnion[]; } | { name: '637'; children: BigUnion[]; } | { name: '638'; children: BigUnion[]; } | { name: '639'; children: BigUnion[]; } | { name: '640'; children: BigUnion[]; } | { name: '641'; children: BigUnion[]; } | { name: '642'; children: BigUnion[]; } | { name: '643'; children: BigUnion[]; } | { name: '644'; children: BigUnion[]; } | { name: '645'; children: BigUnion[]; } | { name: '646'; children: BigUnion[]; } | { name: '647'; children: BigUnion[]; } | { name: '648'; children: BigUnion[]; } | { name: '649'; children: BigUnion[]; } | { name: '650'; children: BigUnion[]; } | { name: '651'; children: BigUnion[]; } | { name: '652'; children: BigUnion[]; } | { name: '653'; children: BigUnion[]; } | { name: '654'; children: BigUnion[]; } | { name: '655'; children: BigUnion[]; } | { name: '656'; children: BigUnion[]; } | { name: '657'; children: BigUnion[]; } | { name: '658'; children: BigUnion[]; } | { name: '659'; children: BigUnion[]; } | { name: '660'; children: BigUnion[]; } | { name: '661'; children: BigUnion[]; } | { name: '662'; children: BigUnion[]; } | { name: '663'; children: BigUnion[]; } | { name: '664'; children: BigUnion[]; } | { name: '665'; children: BigUnion[]; } | { name: '666'; children: BigUnion[]; } | { name: '667'; children: BigUnion[]; } | { name: '668'; children: BigUnion[]; } | { name: '669'; children: BigUnion[]; } | { name: '670'; children: BigUnion[]; } | { name: '671'; children: BigUnion[]; } | { name: '672'; children: BigUnion[]; } | { name: '673'; children: BigUnion[]; } | { name: '674'; children: BigUnion[]; } | { name: '675'; children: BigUnion[]; } | { name: '676'; children: BigUnion[]; } | { name: '677'; children: BigUnion[]; } | { name: '678'; children: BigUnion[]; } | { name: '679'; children: BigUnion[]; } | { name: '680'; children: BigUnion[]; } | { name: '681'; children: BigUnion[]; } | { name: '682'; children: BigUnion[]; } | { name: '683'; children: BigUnion[]; } | { name: '684'; children: BigUnion[]; } | { name: '685'; children: BigUnion[]; } | { name: '686'; children: BigUnion[]; } | { name: '687'; children: BigUnion[]; } | { name: '688'; children: BigUnion[]; } | { name: '689'; children: BigUnion[]; } | { name: '690'; children: BigUnion[]; } | { name: '691'; children: BigUnion[]; } | { name: '692'; children: BigUnion[]; } | { name: '693'; children: BigUnion[]; } | { name: '694'; children: BigUnion[]; } | { name: '695'; children: BigUnion[]; } | { name: '696'; children: BigUnion[]; } | { name: '697'; children: BigUnion[]; } | { name: '698'; children: BigUnion[]; } | { name: '699'; children: BigUnion[]; } | { name: '700'; children: BigUnion[]; } | { name: '701'; children: BigUnion[]; } | { name: '702'; children: BigUnion[]; } | { name: '703'; children: BigUnion[]; } | { name: '704'; children: BigUnion[]; } | { name: '705'; children: BigUnion[]; } | { name: '706'; children: BigUnion[]; } | { name: '707'; children: BigUnion[]; } | { name: '708'; children: BigUnion[]; } | { name: '709'; children: BigUnion[]; } | { name: '710'; children: BigUnion[]; } | { name: '711'; children: BigUnion[]; } | { name: '712'; children: BigUnion[]; } | { name: '713'; children: BigUnion[]; } | { name: '714'; children: BigUnion[]; } | { name: '715'; children: BigUnion[]; } | { name: '716'; children: BigUnion[]; } | { name: '717'; children: BigUnion[]; } | { name: '718'; children: BigUnion[]; } | { name: '719'; children: BigUnion[]; } | { name: '720'; children: BigUnion[]; } | { name: '721'; children: BigUnion[]; } | { name: '722'; children: BigUnion[]; } | { name: '723'; children: BigUnion[]; } | { name: '724'; children: BigUnion[]; } | { name: '725'; children: BigUnion[]; } | { name: '726'; children: BigUnion[]; } | { name: '727'; children: BigUnion[]; } | { name: '728'; children: BigUnion[]; } | { name: '729'; children: BigUnion[]; } | { name: '730'; children: BigUnion[]; } | { name: '731'; children: BigUnion[]; } | { name: '732'; children: BigUnion[]; } | { name: '733'; children: BigUnion[]; } | { name: '734'; children: BigUnion[]; } | { name: '735'; children: BigUnion[]; } | { name: '736'; children: BigUnion[]; } | { name: '737'; children: BigUnion[]; } | { name: '738'; children: BigUnion[]; } | { name: '739'; children: BigUnion[]; } | { name: '740'; children: BigUnion[]; } | { name: '741'; children: BigUnion[]; } | { name: '742'; children: BigUnion[]; } | { name: '743'; children: BigUnion[]; } | { name: '744'; children: BigUnion[]; } | { name: '745'; children: BigUnion[]; } | { name: '746'; children: BigUnion[]; } | { name: '747'; children: BigUnion[]; } | { name: '748'; children: BigUnion[]; } | { name: '749'; children: BigUnion[]; } | { name: '750'; children: BigUnion[]; } | { name: '751'; children: BigUnion[]; } | { name: '752'; children: BigUnion[]; } | { name: '753'; children: BigUnion[]; } | { name: '754'; children: BigUnion[]; } | { name: '755'; children: BigUnion[]; } | { name: '756'; children: BigUnion[]; } | { name: '757'; children: BigUnion[]; } | { name: '758'; children: BigUnion[]; } | { name: '759'; children: BigUnion[]; } | { name: '760'; children: BigUnion[]; } | { name: '761'; children: BigUnion[]; } | { name: '762'; children: BigUnion[]; } | { name: '763'; children: BigUnion[]; } | { name: '764'; children: BigUnion[]; } | { name: '765'; children: BigUnion[]; } | { name: '766'; children: BigUnion[]; } | { name: '767'; children: BigUnion[]; } | { name: '768'; children: BigUnion[]; } | { name: '769'; children: BigUnion[]; } | { name: '770'; children: BigUnion[]; } | { name: '771'; children: BigUnion[]; } | { name: '772'; children: BigUnion[]; } | { name: '773'; children: BigUnion[]; } | { name: '774'; children: BigUnion[]; } | { name: '775'; children: BigUnion[]; } | { name: '776'; children: BigUnion[]; } | { name: '777'; children: BigUnion[]; } | { name: '778'; children: BigUnion[]; } | { name: '779'; children: BigUnion[]; } | { name: '780'; children: BigUnion[]; } | { name: '781'; children: BigUnion[]; } | { name: '782'; children: BigUnion[]; } | { name: '783'; children: BigUnion[]; } | { name: '784'; children: BigUnion[]; } | { name: '785'; children: BigUnion[]; } | { name: '786'; children: BigUnion[]; } | { name: '787'; children: BigUnion[]; } | { name: '788'; children: BigUnion[]; } | { name: '789'; children: BigUnion[]; } | { name: '790'; children: BigUnion[]; } | { name: '791'; children: BigUnion[]; } | { name: '792'; children: BigUnion[]; } | { name: '793'; children: BigUnion[]; } | { name: '794'; children: BigUnion[]; } | { name: '795'; children: BigUnion[]; } | { name: '796'; children: BigUnion[]; } | { name: '797'; children: BigUnion[]; } | { name: '798'; children: BigUnion[]; } | { name: '799'; children: BigUnion[]; } | { name: '800'; children: BigUnion[]; } | { name: '801'; children: BigUnion[]; } | { name: '802'; children: BigUnion[]; } | { name: '803'; children: BigUnion[]; } | { name: '804'; children: BigUnion[]; } | { name: '805'; children: BigUnion[]; } | { name: '806'; children: BigUnion[]; } | { name: '807'; children: BigUnion[]; } | { name: '808'; children: BigUnion[]; } | { name: '809'; children: BigUnion[]; } | { name: '810'; children: BigUnion[]; } | { name: '811'; children: BigUnion[]; } | { name: '812'; children: BigUnion[]; } | { name: '813'; children: BigUnion[]; } | { name: '814'; children: BigUnion[]; } | { name: '815'; children: BigUnion[]; } | { name: '816'; children: BigUnion[]; } | { name: '817'; children: BigUnion[]; } | { name: '818'; children: BigUnion[]; } | { name: '819'; children: BigUnion[]; } | { name: '820'; children: BigUnion[]; } | { name: '821'; children: BigUnion[]; } | { name: '822'; children: BigUnion[]; } | { name: '823'; children: BigUnion[]; } | { name: '824'; children: BigUnion[]; } | { name: '825'; children: BigUnion[]; } | { name: '826'; children: BigUnion[]; } | { name: '827'; children: BigUnion[]; } | { name: '828'; children: BigUnion[]; } | { name: '829'; children: BigUnion[]; } | { name: '830'; children: BigUnion[]; } | { name: '831'; children: BigUnion[]; } | { name: '832'; children: BigUnion[]; } | { name: '833'; children: BigUnion[]; } | { name: '834'; children: BigUnion[]; } | { name: '835'; children: BigUnion[]; } | { name: '836'; children: BigUnion[]; } | { name: '837'; children: BigUnion[]; } | { name: '838'; children: BigUnion[]; } | { name: '839'; children: BigUnion[]; } | { name: '840'; children: BigUnion[]; } | { name: '841'; children: BigUnion[]; } | { name: '842'; children: BigUnion[]; } | { name: '843'; children: BigUnion[]; } | { name: '844'; children: BigUnion[]; } | { name: '845'; children: BigUnion[]; } | { name: '846'; children: BigUnion[]; } | { name: '847'; children: BigUnion[]; } | { name: '848'; children: BigUnion[]; } | { name: '849'; children: BigUnion[]; } | { name: '850'; children: BigUnion[]; } | { name: '851'; children: BigUnion[]; } | { name: '852'; children: BigUnion[]; } | { name: '853'; children: BigUnion[]; } | { name: '854'; children: BigUnion[]; } | { name: '855'; children: BigUnion[]; } | { name: '856'; children: BigUnion[]; } | { name: '857'; children: BigUnion[]; } | { name: '858'; children: BigUnion[]; } | { name: '859'; children: BigUnion[]; } | { name: '860'; children: BigUnion[]; } | { name: '861'; children: BigUnion[]; } | { name: '862'; children: BigUnion[]; } | { name: '863'; children: BigUnion[]; } | { name: '864'; children: BigUnion[]; } | { name: '865'; children: BigUnion[]; } | { name: '866'; children: BigUnion[]; } | { name: '867'; children: BigUnion[]; } | { name: '868'; children: BigUnion[]; } | { name: '869'; children: BigUnion[]; } | { name: '870'; children: BigUnion[]; } | { name: '871'; children: BigUnion[]; } | { name: '872'; children: BigUnion[]; } | { name: '873'; children: BigUnion[]; } | { name: '874'; children: BigUnion[]; } | { name: '875'; children: BigUnion[]; } | { name: '876'; children: BigUnion[]; } | { name: '877'; children: BigUnion[]; } | { name: '878'; children: BigUnion[]; } | { name: '879'; children: BigUnion[]; } | { name: '880'; children: BigUnion[]; } | { name: '881'; children: BigUnion[]; } | { name: '882'; children: BigUnion[]; } | { name: '883'; children: BigUnion[]; } | { name: '884'; children: BigUnion[]; } | { name: '885'; children: BigUnion[]; } | { name: '886'; children: BigUnion[]; } | { name: '887'; children: BigUnion[]; } | { name: '888'; children: BigUnion[]; } | { name: '889'; children: BigUnion[]; } | { name: '890'; children: BigUnion[]; } | { name: '891'; children: BigUnion[]; } | { name: '892'; children: BigUnion[]; } | { name: '893'; children: BigUnion[]; } | { name: '894'; children: BigUnion[]; } | { name: '895'; children: BigUnion[]; } | { name: '896'; children: BigUnion[]; } | { name: '897'; children: BigUnion[]; } | { name: '898'; children: BigUnion[]; } | { name: '899'; children: BigUnion[]; } | { name: '900'; children: BigUnion[]; } | { name: '901'; children: BigUnion[]; } | { name: '902'; children: BigUnion[]; } | { name: '903'; children: BigUnion[]; } | { name: '904'; children: BigUnion[]; } | { name: '905'; children: BigUnion[]; } | { name: '906'; children: BigUnion[]; } | { name: '907'; children: BigUnion[]; } | { name: '908'; children: BigUnion[]; } | { name: '909'; children: BigUnion[]; } | { name: '910'; children: BigUnion[]; } | { name: '911'; children: BigUnion[]; } | { name: '912'; children: BigUnion[]; } | { name: '913'; children: BigUnion[]; } | { name: '914'; children: BigUnion[]; } | { name: '915'; children: BigUnion[]; } | { name: '916'; children: BigUnion[]; } | { name: '917'; children: BigUnion[]; } | { name: '918'; children: BigUnion[]; } | { name: '919'; children: BigUnion[]; } | { name: '920'; children: BigUnion[]; } | { name: '921'; children: BigUnion[]; } | { name: '922'; children: BigUnion[]; } | { name: '923'; children: BigUnion[]; } | { name: '924'; children: BigUnion[]; } | { name: '925'; children: BigUnion[]; } | { name: '926'; children: BigUnion[]; } | { name: '927'; children: BigUnion[]; } | { name: '928'; children: BigUnion[]; } | { name: '929'; children: BigUnion[]; } | { name: '930'; children: BigUnion[]; } | { name: '931'; children: BigUnion[]; } | { name: '932'; children: BigUnion[]; } | { name: '933'; children: BigUnion[]; } | { name: '934'; children: BigUnion[]; } | { name: '935'; children: BigUnion[]; } | { name: '936'; children: BigUnion[]; } | { name: '937'; children: BigUnion[]; } | { name: '938'; children: BigUnion[]; } | { name: '939'; children: BigUnion[]; } | { name: '940'; children: BigUnion[]; } | { name: '941'; children: BigUnion[]; } | { name: '942'; children: BigUnion[]; } | { name: '943'; children: BigUnion[]; } | { name: '944'; children: BigUnion[]; } | { name: '945'; children: BigUnion[]; } | { name: '946'; children: BigUnion[]; } | { name: '947'; children: BigUnion[]; } | { name: '948'; children: BigUnion[]; } | { name: '949'; children: BigUnion[]; } | { name: '950'; children: BigUnion[]; } | { name: '951'; children: BigUnion[]; } | { name: '952'; children: BigUnion[]; } | { name: '953'; children: BigUnion[]; } | { name: '954'; children: BigUnion[]; } | { name: '955'; children: BigUnion[]; } | { name: '956'; children: BigUnion[]; } | { name: '957'; children: BigUnion[]; } | { name: '958'; children: BigUnion[]; } | { name: '959'; children: BigUnion[]; } | { name: '960'; children: BigUnion[]; } | { name: '961'; children: BigUnion[]; } | { name: '962'; children: BigUnion[]; } | { name: '963'; children: BigUnion[]; } | { name: '964'; children: BigUnion[]; } | { name: '965'; children: BigUnion[]; } | { name: '966'; children: BigUnion[]; } | { name: '967'; children: BigUnion[]; } | { name: '968'; children: BigUnion[]; } | { name: '969'; children: BigUnion[]; } | { name: '970'; children: BigUnion[]; } | { name: '971'; children: BigUnion[]; } | { name: '972'; children: BigUnion[]; } | { name: '973'; children: BigUnion[]; } | { name: '974'; children: BigUnion[]; } | { name: '975'; children: BigUnion[]; } | { name: '976'; children: BigUnion[]; } | { name: '977'; children: BigUnion[]; } | { name: '978'; children: BigUnion[]; } | { name: '979'; children: BigUnion[]; } | { name: '980'; children: BigUnion[]; } | { name: '981'; children: BigUnion[]; } | { name: '982'; children: BigUnion[]; } | { name: '983'; children: BigUnion[]; } | { name: '984'; children: BigUnion[]; } | { name: '985'; children: BigUnion[]; } | { name: '986'; children: BigUnion[]; } | { name: '987'; children: BigUnion[]; } | { name: '988'; children: BigUnion[]; } | { name: '989'; children: BigUnion[]; } | { name: '990'; children: BigUnion[]; } | { name: '991'; children: BigUnion[]; } | { name: '992'; children: BigUnion[]; } | { name: '993'; children: BigUnion[]; } | { name: '994'; children: BigUnion[]; } | { name: '995'; children: BigUnion[]; } | { name: '996'; children: BigUnion[]; } | { name: '997'; children: BigUnion[]; } | { name: '998'; children: BigUnion[]; } | { name: '999'; children: BigUnion[]; } | { name: '1000'; children: BigUnion[]; } | { name: '1001'; children: BigUnion[]; } | { name: '1002'; children: BigUnion[]; } | { name: '1003'; children: BigUnion[]; } | { name: '1004'; children: BigUnion[]; } | { name: '1005'; children: BigUnion[]; } | { name: '1006'; children: BigUnion[]; } | { name: '1007'; children: BigUnion[]; } | { name: '1008'; children: BigUnion[]; } | { name: '1009'; children: BigUnion[]; } | { name: '1010'; children: BigUnion[]; } | { name: '1011'; children: BigUnion[]; } | { name: '1012'; children: BigUnion[]; } | { name: '1013'; children: BigUnion[]; } | { name: '1014'; children: BigUnion[]; } | { name: '1015'; children: BigUnion[]; } | { name: '1016'; children: BigUnion[]; } | { name: '1017'; children: BigUnion[]; } | { name: '1018'; children: BigUnion[]; } | { name: '1019'; children: BigUnion[]; } | { name: '1020'; children: BigUnion[]; } | { name: '1021'; children: BigUnion[]; } | { name: '1022'; children: BigUnion[]; } | { name: '1023'; children: BigUnion[]; } | { name: '1024'; children: BigUnion[]; } | { name: '1025'; children: BigUnion[]; } | { name: '1026'; children: BigUnion[]; } | { name: '1027'; children: BigUnion[]; } | { name: '1028'; children: BigUnion[]; } | { name: '1029'; children: BigUnion[]; } | { name: '1030'; children: BigUnion[]; } | { name: '1031'; children: BigUnion[]; } | { name: '1032'; children: BigUnion[]; } | { name: '1033'; children: BigUnion[]; } | { name: '1034'; children: BigUnion[]; } | { name: '1035'; children: BigUnion[]; } | { name: '1036'; children: BigUnion[]; } | { name: '1037'; children: BigUnion[]; } | { name: '1038'; children: BigUnion[]; } | { name: '1039'; children: BigUnion[]; } | { name: '1040'; children: BigUnion[]; } | { name: '1041'; children: BigUnion[]; } | { name: '1042'; children: BigUnion[]; } | { name: '1043'; children: BigUnion[]; } | { name: '1044'; children: BigUnion[]; } | { name: '1045'; children: BigUnion[]; } | { name: '1046'; children: BigUnion[]; } | { name: '1047'; children: BigUnion[]; } | { name: '1048'; children: BigUnion[]; } | { name: '1049'; children: BigUnion[]; } | { name: '1050'; children: BigUnion[]; } | { name: '1051'; children: BigUnion[]; } | { name: '1052'; children: BigUnion[]; } | { name: '1053'; children: BigUnion[]; } | { name: '1054'; children: BigUnion[]; } | { name: '1055'; children: BigUnion[]; } | { name: '1056'; children: BigUnion[]; } | { name: '1057'; children: BigUnion[]; } | { name: '1058'; children: BigUnion[]; } | { name: '1059'; children: BigUnion[]; } | { name: '1060'; children: BigUnion[]; } | { name: '1061'; children: BigUnion[]; } | { name: '1062'; children: BigUnion[]; } | { name: '1063'; children: BigUnion[]; } | { name: '1064'; children: BigUnion[]; } | { name: '1065'; children: BigUnion[]; } | { name: '1066'; children: BigUnion[]; } | { name: '1067'; children: BigUnion[]; } | { name: '1068'; children: BigUnion[]; } | { name: '1069'; children: BigUnion[]; } | { name: '1070'; children: BigUnion[]; } | { name: '1071'; children: BigUnion[]; } | { name: '1072'; children: BigUnion[]; } | { name: '1073'; children: BigUnion[]; } | { name: '1074'; children: BigUnion[]; } | { name: '1075'; children: BigUnion[]; } | { name: '1076'; children: BigUnion[]; } | { name: '1077'; children: BigUnion[]; } | { name: '1078'; children: BigUnion[]; } | { name: '1079'; children: BigUnion[]; } | { name: '1080'; children: BigUnion[]; } | { name: '1081'; children: BigUnion[]; } | { name: '1082'; children: BigUnion[]; } | { name: '1083'; children: BigUnion[]; } | { name: '1084'; children: BigUnion[]; } | { name: '1085'; children: BigUnion[]; } | { name: '1086'; children: BigUnion[]; } | { name: '1087'; children: BigUnion[]; } | { name: '1088'; children: BigUnion[]; } | { name: '1089'; children: BigUnion[]; } | { name: '1090'; children: BigUnion[]; } | { name: '1091'; children: BigUnion[]; } | { name: '1092'; children: BigUnion[]; } | { name: '1093'; children: BigUnion[]; } | { name: '1094'; children: BigUnion[]; } | { name: '1095'; children: BigUnion[]; } | { name: '1096'; children: BigUnion[]; } | { name: '1097'; children: BigUnion[]; } | { name: '1098'; children: BigUnion[]; } | { name: '1099'; children: BigUnion[]; } | { name: '1100'; children: BigUnion[]; } | { name: '1101'; children: BigUnion[]; } | { name: '1102'; children: BigUnion[]; } | { name: '1103'; children: BigUnion[]; } | { name: '1104'; children: BigUnion[]; } | { name: '1105'; children: BigUnion[]; } | { name: '1106'; children: BigUnion[]; } | { name: '1107'; children: BigUnion[]; } | { name: '1108'; children: BigUnion[]; } | { name: '1109'; children: BigUnion[]; } | { name: '1110'; children: BigUnion[]; } | { name: '1111'; children: BigUnion[]; } | { name: '1112'; children: BigUnion[]; } | { name: '1113'; children: BigUnion[]; } | { name: '1114'; children: BigUnion[]; } | { name: '1115'; children: BigUnion[]; } | { name: '1116'; children: BigUnion[]; } | { name: '1117'; children: BigUnion[]; } | { name: '1118'; children: BigUnion[]; } | { name: '1119'; children: BigUnion[]; } | { name: '1120'; children: BigUnion[]; } | { name: '1121'; children: BigUnion[]; } | { name: '1122'; children: BigUnion[]; } | { name: '1123'; children: BigUnion[]; } | { name: '1124'; children: BigUnion[]; } | { name: '1125'; children: BigUnion[]; } | { name: '1126'; children: BigUnion[]; } | { name: '1127'; children: BigUnion[]; } | { name: '1128'; children: BigUnion[]; } | { name: '1129'; children: BigUnion[]; } | { name: '1130'; children: BigUnion[]; } | { name: '1131'; children: BigUnion[]; } | { name: '1132'; children: BigUnion[]; } | { name: '1133'; children: BigUnion[]; } | { name: '1134'; children: BigUnion[]; } | { name: '1135'; children: BigUnion[]; } | { name: '1136'; children: BigUnion[]; } | { name: '1137'; children: BigUnion[]; } | { name: '1138'; children: BigUnion[]; } | { name: '1139'; children: BigUnion[]; } | { name: '1140'; children: BigUnion[]; } | { name: '1141'; children: BigUnion[]; } | { name: '1142'; children: BigUnion[]; } | { name: '1143'; children: BigUnion[]; } | { name: '1144'; children: BigUnion[]; } | { name: '1145'; children: BigUnion[]; } | { name: '1146'; children: BigUnion[]; } | { name: '1147'; children: BigUnion[]; } | { name: '1148'; children: BigUnion[]; } | { name: '1149'; children: BigUnion[]; } | { name: '1150'; children: BigUnion[]; } | { name: '1151'; children: BigUnion[]; } | { name: '1152'; children: BigUnion[]; } | { name: '1153'; children: BigUnion[]; } | { name: '1154'; children: BigUnion[]; } | { name: '1155'; children: BigUnion[]; } | { name: '1156'; children: BigUnion[]; } | { name: '1157'; children: BigUnion[]; } | { name: '1158'; children: BigUnion[]; } | { name: '1159'; children: BigUnion[]; } | { name: '1160'; children: BigUnion[]; } | { name: '1161'; children: BigUnion[]; } | { name: '1162'; children: BigUnion[]; } | { name: '1163'; children: BigUnion[]; } | { name: '1164'; children: BigUnion[]; } | { name: '1165'; children: BigUnion[]; } | { name: '1166'; children: BigUnion[]; } | { name: '1167'; children: BigUnion[]; } | { name: '1168'; children: BigUnion[]; } | { name: '1169'; children: BigUnion[]; } | { name: '1170'; children: BigUnion[]; } | { name: '1171'; children: BigUnion[]; } | { name: '1172'; children: BigUnion[]; } | { name: '1173'; children: BigUnion[]; } | { name: '1174'; children: BigUnion[]; } | { name: '1175'; children: BigUnion[]; } | { name: '1176'; children: BigUnion[]; } | { name: '1177'; children: BigUnion[]; } | { name: '1178'; children: BigUnion[]; } | { name: '1179'; children: BigUnion[]; } | { name: '1180'; children: BigUnion[]; } | { name: '1181'; children: BigUnion[]; } | { name: '1182'; children: BigUnion[]; } | { name: '1183'; children: BigUnion[]; } | { name: '1184'; children: BigUnion[]; } | { name: '1185'; children: BigUnion[]; } | { name: '1186'; children: BigUnion[]; } | { name: '1187'; children: BigUnion[]; } | { name: '1188'; children: BigUnion[]; } | { name: '1189'; children: BigUnion[]; } | { name: '1190'; children: BigUnion[]; } | { name: '1191'; children: BigUnion[]; } | { name: '1192'; children: BigUnion[]; } | { name: '1193'; children: BigUnion[]; } | { name: '1194'; children: BigUnion[]; } | { name: '1195'; children: BigUnion[]; } | { name: '1196'; children: BigUnion[]; } | { name: '1197'; children: BigUnion[]; } | { name: '1198'; children: BigUnion[]; } | { name: '1199'; children: BigUnion[]; } | { name: '1200'; children: BigUnion[]; } | { name: '1201'; children: BigUnion[]; } | { name: '1202'; children: BigUnion[]; } | { name: '1203'; children: BigUnion[]; } | { name: '1204'; children: BigUnion[]; } | { name: '1205'; children: BigUnion[]; } | { name: '1206'; children: BigUnion[]; } | { name: '1207'; children: BigUnion[]; } | { name: '1208'; children: BigUnion[]; } | { name: '1209'; children: BigUnion[]; } | { name: '1210'; children: BigUnion[]; } | { name: '1211'; children: BigUnion[]; } | { name: '1212'; children: BigUnion[]; } | { name: '1213'; children: BigUnion[]; } | { name: '1214'; children: BigUnion[]; } | { name: '1215'; children: BigUnion[]; } | { name: '1216'; children: BigUnion[]; } | { name: '1217'; children: BigUnion[]; } | { name: '1218'; children: BigUnion[]; } | { name: '1219'; children: BigUnion[]; } | { name: '1220'; children: BigUnion[]; } | { name: '1221'; children: BigUnion[]; } | { name: '1222'; children: BigUnion[]; } | { name: '1223'; children: BigUnion[]; } | { name: '1224'; children: BigUnion[]; } | { name: '1225'; children: BigUnion[]; } | { name: '1226'; children: BigUnion[]; } | { name: '1227'; children: BigUnion[]; } | { name: '1228'; children: BigUnion[]; } | { name: '1229'; children: BigUnion[]; } | { name: '1230'; children: BigUnion[]; } | { name: '1231'; children: BigUnion[]; } | { name: '1232'; children: BigUnion[]; } | { name: '1233'; children: BigUnion[]; } | { name: '1234'; children: BigUnion[]; } | { name: '1235'; children: BigUnion[]; } | { name: '1236'; children: BigUnion[]; } | { name: '1237'; children: BigUnion[]; } | { name: '1238'; children: BigUnion[]; } | { name: '1239'; children: BigUnion[]; } | { name: '1240'; children: BigUnion[]; } | { name: '1241'; children: BigUnion[]; } | { name: '1242'; children: BigUnion[]; } | { name: '1243'; children: BigUnion[]; } | { name: '1244'; children: BigUnion[]; } | { name: '1245'; children: BigUnion[]; } | { name: '1246'; children: BigUnion[]; } | { name: '1247'; children: BigUnion[]; } | { name: '1248'; children: BigUnion[]; } | { name: '1249'; children: BigUnion[]; } | { name: '1250'; children: BigUnion[]; } | { name: '1251'; children: BigUnion[]; } | { name: '1252'; children: BigUnion[]; } | { name: '1253'; children: BigUnion[]; } | { name: '1254'; children: BigUnion[]; } | { name: '1255'; children: BigUnion[]; } | { name: '1256'; children: BigUnion[]; } | { name: '1257'; children: BigUnion[]; } | { name: '1258'; children: BigUnion[]; } | { name: '1259'; children: BigUnion[]; } | { name: '1260'; children: BigUnion[]; } | { name: '1261'; children: BigUnion[]; } | { name: '1262'; children: BigUnion[]; } | { name: '1263'; children: BigUnion[]; } | { name: '1264'; children: BigUnion[]; } | { name: '1265'; children: BigUnion[]; } | { name: '1266'; children: BigUnion[]; } | { name: '1267'; children: BigUnion[]; } | { name: '1268'; children: BigUnion[]; } | { name: '1269'; children: BigUnion[]; } | { name: '1270'; children: BigUnion[]; } | { name: '1271'; children: BigUnion[]; } | { name: '1272'; children: BigUnion[]; } | { name: '1273'; children: BigUnion[]; } | { name: '1274'; children: BigUnion[]; } | { name: '1275'; children: BigUnion[]; } | { name: '1276'; children: BigUnion[]; } | { name: '1277'; children: BigUnion[]; } | { name: '1278'; children: BigUnion[]; } | { name: '1279'; children: BigUnion[]; } | { name: '1280'; children: BigUnion[]; } | { name: '1281'; children: BigUnion[]; } | { name: '1282'; children: BigUnion[]; } | { name: '1283'; children: BigUnion[]; } | { name: '1284'; children: BigUnion[]; } | { name: '1285'; children: BigUnion[]; } | { name: '1286'; children: BigUnion[]; } | { name: '1287'; children: BigUnion[]; } | { name: '1288'; children: BigUnion[]; } | { name: '1289'; children: BigUnion[]; } | { name: '1290'; children: BigUnion[]; } | { name: '1291'; children: BigUnion[]; } | { name: '1292'; children: BigUnion[]; } | { name: '1293'; children: BigUnion[]; } | { name: '1294'; children: BigUnion[]; } | { name: '1295'; children: BigUnion[]; } | { name: '1296'; children: BigUnion[]; } | { name: '1297'; children: BigUnion[]; } | { name: '1298'; children: BigUnion[]; } | { name: '1299'; children: BigUnion[]; } | { name: '1300'; children: BigUnion[]; } | { name: '1301'; children: BigUnion[]; } | { name: '1302'; children: BigUnion[]; } | { name: '1303'; children: BigUnion[]; } | { name: '1304'; children: BigUnion[]; } | { name: '1305'; children: BigUnion[]; } | { name: '1306'; children: BigUnion[]; } | { name: '1307'; children: BigUnion[]; } | { name: '1308'; children: BigUnion[]; } | { name: '1309'; children: BigUnion[]; } | { name: '1310'; children: BigUnion[]; } | { name: '1311'; children: BigUnion[]; } | { name: '1312'; children: BigUnion[]; } | { name: '1313'; children: BigUnion[]; } | { name: '1314'; children: BigUnion[]; } | { name: '1315'; children: BigUnion[]; } | { name: '1316'; children: BigUnion[]; } | { name: '1317'; children: BigUnion[]; } | { name: '1318'; children: BigUnion[]; } | { name: '1319'; children: BigUnion[]; } | { name: '1320'; children: BigUnion[]; } | { name: '1321'; children: BigUnion[]; } | { name: '1322'; children: BigUnion[]; } | { name: '1323'; children: BigUnion[]; } | { name: '1324'; children: BigUnion[]; } | { name: '1325'; children: BigUnion[]; } | { name: '1326'; children: BigUnion[]; } | { name: '1327'; children: BigUnion[]; } | { name: '1328'; children: BigUnion[]; } | { name: '1329'; children: BigUnion[]; } | { name: '1330'; children: BigUnion[]; } | { name: '1331'; children: BigUnion[]; } | { name: '1332'; children: BigUnion[]; } | { name: '1333'; children: BigUnion[]; } | { name: '1334'; children: BigUnion[]; } | { name: '1335'; children: BigUnion[]; } | { name: '1336'; children: BigUnion[]; } | { name: '1337'; children: BigUnion[]; } | { name: '1338'; children: BigUnion[]; } | { name: '1339'; children: BigUnion[]; } | { name: '1340'; children: BigUnion[]; } | { name: '1341'; children: BigUnion[]; } | { name: '1342'; children: BigUnion[]; } | { name: '1343'; children: BigUnion[]; } | { name: '1344'; children: BigUnion[]; } | { name: '1345'; children: BigUnion[]; } | { name: '1346'; children: BigUnion[]; } | { name: '1347'; children: BigUnion[]; } | { name: '1348'; children: BigUnion[]; } | { name: '1349'; children: BigUnion[]; } | { name: '1350'; children: BigUnion[]; } | { name: '1351'; children: BigUnion[]; } | { name: '1352'; children: BigUnion[]; } | { name: '1353'; children: BigUnion[]; } | { name: '1354'; children: BigUnion[]; } | { name: '1355'; children: BigUnion[]; } | { name: '1356'; children: BigUnion[]; } | { name: '1357'; children: BigUnion[]; } | { name: '1358'; children: BigUnion[]; } | { name: '1359'; children: BigUnion[]; } | { name: '1360'; children: BigUnion[]; } | { name: '1361'; children: BigUnion[]; } | { name: '1362'; children: BigUnion[]; } | { name: '1363'; children: BigUnion[]; } | { name: '1364'; children: BigUnion[]; } | { name: '1365'; children: BigUnion[]; } | { name: '1366'; children: BigUnion[]; } | { name: '1367'; children: BigUnion[]; } | { name: '1368'; children: BigUnion[]; } | { name: '1369'; children: BigUnion[]; } | { name: '1370'; children: BigUnion[]; } | { name: '1371'; children: BigUnion[]; } | { name: '1372'; children: BigUnion[]; } | { name: '1373'; children: BigUnion[]; } | { name: '1374'; children: BigUnion[]; } | { name: '1375'; children: BigUnion[]; } | { name: '1376'; children: BigUnion[]; } | { name: '1377'; children: BigUnion[]; } | { name: '1378'; children: BigUnion[]; } | { name: '1379'; children: BigUnion[]; } | { name: '1380'; children: BigUnion[]; } | { name: '1381'; children: BigUnion[]; } | { name: '1382'; children: BigUnion[]; } | { name: '1383'; children: BigUnion[]; } | { name: '1384'; children: BigUnion[]; } | { name: '1385'; children: BigUnion[]; } | { name: '1386'; children: BigUnion[]; } | { name: '1387'; children: BigUnion[]; } | { name: '1388'; children: BigUnion[]; } | { name: '1389'; children: BigUnion[]; } | { name: '1390'; children: BigUnion[]; } | { name: '1391'; children: BigUnion[]; } | { name: '1392'; children: BigUnion[]; } | { name: '1393'; children: BigUnion[]; } | { name: '1394'; children: BigUnion[]; } | { name: '1395'; children: BigUnion[]; } | { name: '1396'; children: BigUnion[]; } | { name: '1397'; children: BigUnion[]; } | { name: '1398'; children: BigUnion[]; } | { name: '1399'; children: BigUnion[]; } | { name: '1400'; children: BigUnion[]; } | { name: '1401'; children: BigUnion[]; } | { name: '1402'; children: BigUnion[]; } | { name: '1403'; children: BigUnion[]; } | { name: '1404'; children: BigUnion[]; } | { name: '1405'; children: BigUnion[]; } | { name: '1406'; children: BigUnion[]; } | { name: '1407'; children: BigUnion[]; } | { name: '1408'; children: BigUnion[]; } | { name: '1409'; children: BigUnion[]; } | { name: '1410'; children: BigUnion[]; } | { name: '1411'; children: BigUnion[]; } | { name: '1412'; children: BigUnion[]; } | { name: '1413'; children: BigUnion[]; } | { name: '1414'; children: BigUnion[]; } | { name: '1415'; children: BigUnion[]; } | { name: '1416'; children: BigUnion[]; } | { name: '1417'; children: BigUnion[]; } | { name: '1418'; children: BigUnion[]; } | { name: '1419'; children: BigUnion[]; } | { name: '1420'; children: BigUnion[]; } | { name: '1421'; children: BigUnion[]; } | { name: '1422'; children: BigUnion[]; } | { name: '1423'; children: BigUnion[]; } | { name: '1424'; children: BigUnion[]; } | { name: '1425'; children: BigUnion[]; } | { name: '1426'; children: BigUnion[]; } | { name: '1427'; children: BigUnion[]; } | { name: '1428'; children: BigUnion[]; } | { name: '1429'; children: BigUnion[]; } | { name: '1430'; children: BigUnion[]; } | { name: '1431'; children: BigUnion[]; } | { name: '1432'; children: BigUnion[]; } | { name: '1433'; children: BigUnion[]; } | { name: '1434'; children: BigUnion[]; } | { name: '1435'; children: BigUnion[]; } | { name: '1436'; children: BigUnion[]; } | { name: '1437'; children: BigUnion[]; } | { name: '1438'; children: BigUnion[]; } | { name: '1439'; children: BigUnion[]; } | { name: '1440'; children: BigUnion[]; } | { name: '1441'; children: BigUnion[]; } | { name: '1442'; children: BigUnion[]; } | { name: '1443'; children: BigUnion[]; } | { name: '1444'; children: BigUnion[]; } | { name: '1445'; children: BigUnion[]; } | { name: '1446'; children: BigUnion[]; } | { name: '1447'; children: BigUnion[]; } | { name: '1448'; children: BigUnion[]; } | { name: '1449'; children: BigUnion[]; } | { name: '1450'; children: BigUnion[]; } | { name: '1451'; children: BigUnion[]; } | { name: '1452'; children: BigUnion[]; } | { name: '1453'; children: BigUnion[]; } | { name: '1454'; children: BigUnion[]; } | { name: '1455'; children: BigUnion[]; } | { name: '1456'; children: BigUnion[]; } | { name: '1457'; children: BigUnion[]; } | { name: '1458'; children: BigUnion[]; } | { name: '1459'; children: BigUnion[]; } | { name: '1460'; children: BigUnion[]; } | { name: '1461'; children: BigUnion[]; } | { name: '1462'; children: BigUnion[]; } | { name: '1463'; children: BigUnion[]; } | { name: '1464'; children: BigUnion[]; } | { name: '1465'; children: BigUnion[]; } | { name: '1466'; children: BigUnion[]; } | { name: '1467'; children: BigUnion[]; } | { name: '1468'; children: BigUnion[]; } | { name: '1469'; children: BigUnion[]; } | { name: '1470'; children: BigUnion[]; } | { name: '1471'; children: BigUnion[]; } | { name: '1472'; children: BigUnion[]; } | { name: '1473'; children: BigUnion[]; } | { name: '1474'; children: BigUnion[]; } | { name: '1475'; children: BigUnion[]; } | { name: '1476'; children: BigUnion[]; } | { name: '1477'; children: BigUnion[]; } | { name: '1478'; children: BigUnion[]; } | { name: '1479'; children: BigUnion[]; } | { name: '1480'; children: BigUnion[]; } | { name: '1481'; children: BigUnion[]; } | { name: '1482'; children: BigUnion[]; } | { name: '1483'; children: BigUnion[]; } | { name: '1484'; children: BigUnion[]; } | { name: '1485'; children: BigUnion[]; } | { name: '1486'; children: BigUnion[]; } | { name: '1487'; children: BigUnion[]; } | { name: '1488'; children: BigUnion[]; } | { name: '1489'; children: BigUnion[]; } | { name: '1490'; children: BigUnion[]; } | { name: '1491'; children: BigUnion[]; } | { name: '1492'; children: BigUnion[]; } | { name: '1493'; children: BigUnion[]; } | { name: '1494'; children: BigUnion[]; } | { name: '1495'; children: BigUnion[]; } | { name: '1496'; children: BigUnion[]; } | { name: '1497'; children: BigUnion[]; } | { name: '1498'; children: BigUnion[]; } | { name: '1499'; children: BigUnion[]; } | { name: '1500'; children: BigUnion[]; } | { name: '1501'; children: BigUnion[]; } | { name: '1502'; children: BigUnion[]; } | { name: '1503'; children: BigUnion[]; } | { name: '1504'; children: BigUnion[]; } | { name: '1505'; children: BigUnion[]; } | { name: '1506'; children: BigUnion[]; } | { name: '1507'; children: BigUnion[]; } | { name: '1508'; children: BigUnion[]; } | { name: '1509'; children: BigUnion[]; } | { name: '1510'; children: BigUnion[]; } | { name: '1511'; children: BigUnion[]; } | { name: '1512'; children: BigUnion[]; } | { name: '1513'; children: BigUnion[]; } | { name: '1514'; children: BigUnion[]; } | { name: '1515'; children: BigUnion[]; } | { name: '1516'; children: BigUnion[]; } | { name: '1517'; children: BigUnion[]; } | { name: '1518'; children: BigUnion[]; } | { name: '1519'; children: BigUnion[]; } | { name: '1520'; children: BigUnion[]; } | { name: '1521'; children: BigUnion[]; } | { name: '1522'; children: BigUnion[]; } | { name: '1523'; children: BigUnion[]; } | { name: '1524'; children: BigUnion[]; } | { name: '1525'; children: BigUnion[]; } | { name: '1526'; children: BigUnion[]; } | { name: '1527'; children: BigUnion[]; } | { name: '1528'; children: BigUnion[]; } | { name: '1529'; children: BigUnion[]; } | { name: '1530'; children: BigUnion[]; } | { name: '1531'; children: BigUnion[]; } | { name: '1532'; children: BigUnion[]; } | { name: '1533'; children: BigUnion[]; } | { name: '1534'; children: BigUnion[]; } | { name: '1535'; children: BigUnion[]; } | { name: '1536'; children: BigUnion[]; } | { name: '1537'; children: BigUnion[]; } | { name: '1538'; children: BigUnion[]; } | { name: '1539'; children: BigUnion[]; } | { name: '1540'; children: BigUnion[]; } | { name: '1541'; children: BigUnion[]; } | { name: '1542'; children: BigUnion[]; } | { name: '1543'; children: BigUnion[]; } | { name: '1544'; children: BigUnion[]; } | { name: '1545'; children: BigUnion[]; } | { name: '1546'; children: BigUnion[]; } | { name: '1547'; children: BigUnion[]; } | { name: '1548'; children: BigUnion[]; } | { name: '1549'; children: BigUnion[]; } | { name: '1550'; children: BigUnion[]; } | { name: '1551'; children: BigUnion[]; } | { name: '1552'; children: BigUnion[]; } | { name: '1553'; children: BigUnion[]; } | { name: '1554'; children: BigUnion[]; } | { name: '1555'; children: BigUnion[]; } | { name: '1556'; children: BigUnion[]; } | { name: '1557'; children: BigUnion[]; } | { name: '1558'; children: BigUnion[]; } | { name: '1559'; children: BigUnion[]; } | { name: '1560'; children: BigUnion[]; } | { name: '1561'; children: BigUnion[]; } | { name: '1562'; children: BigUnion[]; } | { name: '1563'; children: BigUnion[]; } | { name: '1564'; children: BigUnion[]; } | { name: '1565'; children: BigUnion[]; } | { name: '1566'; children: BigUnion[]; } | { name: '1567'; children: BigUnion[]; } | { name: '1568'; children: BigUnion[]; } | { name: '1569'; children: BigUnion[]; } | { name: '1570'; children: BigUnion[]; } | { name: '1571'; children: BigUnion[]; } | { name: '1572'; children: BigUnion[]; } | { name: '1573'; children: BigUnion[]; } | { name: '1574'; children: BigUnion[]; } | { name: '1575'; children: BigUnion[]; } | { name: '1576'; children: BigUnion[]; } | { name: '1577'; children: BigUnion[]; } | { name: '1578'; children: BigUnion[]; } | { name: '1579'; children: BigUnion[]; } | { name: '1580'; children: BigUnion[]; } | { name: '1581'; children: BigUnion[]; } | { name: '1582'; children: BigUnion[]; } | { name: '1583'; children: BigUnion[]; } | { name: '1584'; children: BigUnion[]; } | { name: '1585'; children: BigUnion[]; } | { name: '1586'; children: BigUnion[]; } | { name: '1587'; children: BigUnion[]; } | { name: '1588'; children: BigUnion[]; } | { name: '1589'; children: BigUnion[]; } | { name: '1590'; children: BigUnion[]; } | { name: '1591'; children: BigUnion[]; } | { name: '1592'; children: BigUnion[]; } | { name: '1593'; children: BigUnion[]; } | { name: '1594'; children: BigUnion[]; } | { name: '1595'; children: BigUnion[]; } | { name: '1596'; children: BigUnion[]; } | { name: '1597'; children: BigUnion[]; } | { name: '1598'; children: BigUnion[]; } | { name: '1599'; children: BigUnion[]; } | { name: '1600'; children: BigUnion[]; } | { name: '1601'; children: BigUnion[]; } | { name: '1602'; children: BigUnion[]; } | { name: '1603'; children: BigUnion[]; } | { name: '1604'; children: BigUnion[]; } | { name: '1605'; children: BigUnion[]; } | { name: '1606'; children: BigUnion[]; } | { name: '1607'; children: BigUnion[]; } | { name: '1608'; children: BigUnion[]; } | { name: '1609'; children: BigUnion[]; } | { name: '1610'; children: BigUnion[]; } | { name: '1611'; children: BigUnion[]; } | { name: '1612'; children: BigUnion[]; } | { name: '1613'; children: BigUnion[]; } | { name: '1614'; children: BigUnion[]; } | { name: '1615'; children: BigUnion[]; } | { name: '1616'; children: BigUnion[]; } | { name: '1617'; children: BigUnion[]; } | { name: '1618'; children: BigUnion[]; } | { name: '1619'; children: BigUnion[]; } | { name: '1620'; children: BigUnion[]; } | { name: '1621'; children: BigUnion[]; } | { name: '1622'; children: BigUnion[]; } | { name: '1623'; children: BigUnion[]; } | { name: '1624'; children: BigUnion[]; } | { name: '1625'; children: BigUnion[]; } | { name: '1626'; children: BigUnion[]; } | { name: '1627'; children: BigUnion[]; } | { name: '1628'; children: BigUnion[]; } | { name: '1629'; children: BigUnion[]; } | { name: '1630'; children: BigUnion[]; } | { name: '1631'; children: BigUnion[]; } | { name: '1632'; children: BigUnion[]; } | { name: '1633'; children: BigUnion[]; } | { name: '1634'; children: BigUnion[]; } | { name: '1635'; children: BigUnion[]; } | { name: '1636'; children: BigUnion[]; } | { name: '1637'; children: BigUnion[]; } | { name: '1638'; children: BigUnion[]; } | { name: '1639'; children: BigUnion[]; } | { name: '1640'; children: BigUnion[]; } | { name: '1641'; children: BigUnion[]; } | { name: '1642'; children: BigUnion[]; } | { name: '1643'; children: BigUnion[]; } | { name: '1644'; children: BigUnion[]; } | { name: '1645'; children: BigUnion[]; } | { name: '1646'; children: BigUnion[]; } | { name: '1647'; children: BigUnion[]; } | { name: '1648'; children: BigUnion[]; } | { name: '1649'; children: BigUnion[]; } | { name: '1650'; children: BigUnion[]; } | { name: '1651'; children: BigUnion[]; } | { name: '1652'; children: BigUnion[]; } | { name: '1653'; children: BigUnion[]; } | { name: '1654'; children: BigUnion[]; } | { name: '1655'; children: BigUnion[]; } | { name: '1656'; children: BigUnion[]; } | { name: '1657'; children: BigUnion[]; } | { name: '1658'; children: BigUnion[]; } | { name: '1659'; children: BigUnion[]; } | { name: '1660'; children: BigUnion[]; } | { name: '1661'; children: BigUnion[]; } | { name: '1662'; children: BigUnion[]; } | { name: '1663'; children: BigUnion[]; } | { name: '1664'; children: BigUnion[]; } | { name: '1665'; children: BigUnion[]; } | { name: '1666'; children: BigUnion[]; } | { name: '1667'; children: BigUnion[]; } | { name: '1668'; children: BigUnion[]; } | { name: '1669'; children: BigUnion[]; } | { name: '1670'; children: BigUnion[]; } | { name: '1671'; children: BigUnion[]; } | { name: '1672'; children: BigUnion[]; } | { name: '1673'; children: BigUnion[]; } | { name: '1674'; children: BigUnion[]; } | { name: '1675'; children: BigUnion[]; } | { name: '1676'; children: BigUnion[]; } | { name: '1677'; children: BigUnion[]; } | { name: '1678'; children: BigUnion[]; } | { name: '1679'; children: BigUnion[]; } | { name: '1680'; children: BigUnion[]; } | { name: '1681'; children: BigUnion[]; } | { name: '1682'; children: BigUnion[]; } | { name: '1683'; children: BigUnion[]; } | { name: '1684'; children: BigUnion[]; } | { name: '1685'; children: BigUnion[]; } | { name: '1686'; children: BigUnion[]; } | { name: '1687'; children: BigUnion[]; } | { name: '1688'; children: BigUnion[]; } | { name: '1689'; children: BigUnion[]; } | { name: '1690'; children: BigUnion[]; } | { name: '1691'; children: BigUnion[]; } | { name: '1692'; children: BigUnion[]; } | { name: '1693'; children: BigUnion[]; } | { name: '1694'; children: BigUnion[]; } | { name: '1695'; children: BigUnion[]; } | { name: '1696'; children: BigUnion[]; } | { name: '1697'; children: BigUnion[]; } | { name: '1698'; children: BigUnion[]; } | { name: '1699'; children: BigUnion[]; } | { name: '1700'; children: BigUnion[]; } | { name: '1701'; children: BigUnion[]; } | { name: '1702'; children: BigUnion[]; } | { name: '1703'; children: BigUnion[]; } | { name: '1704'; children: BigUnion[]; } | { name: '1705'; children: BigUnion[]; } | { name: '1706'; children: BigUnion[]; } | { name: '1707'; children: BigUnion[]; } | { name: '1708'; children: BigUnion[]; } | { name: '1709'; children: BigUnion[]; } | { name: '1710'; children: BigUnion[]; } | { name: '1711'; children: BigUnion[]; } | { name: '1712'; children: BigUnion[]; } | { name: '1713'; children: BigUnion[]; } | { name: '1714'; children: BigUnion[]; } | { name: '1715'; children: BigUnion[]; } | { name: '1716'; children: BigUnion[]; } | { name: '1717'; children: BigUnion[]; } | { name: '1718'; children: BigUnion[]; } | { name: '1719'; children: BigUnion[]; } | { name: '1720'; children: BigUnion[]; } | { name: '1721'; children: BigUnion[]; } | { name: '1722'; children: BigUnion[]; } | { name: '1723'; children: BigUnion[]; } | { name: '1724'; children: BigUnion[]; } | { name: '1725'; children: BigUnion[]; } | { name: '1726'; children: BigUnion[]; } | { name: '1727'; children: BigUnion[]; } | { name: '1728'; children: BigUnion[]; } | { name: '1729'; children: BigUnion[]; } | { name: '1730'; children: BigUnion[]; } | { name: '1731'; children: BigUnion[]; } | { name: '1732'; children: BigUnion[]; } | { name: '1733'; children: BigUnion[]; } | { name: '1734'; children: BigUnion[]; } | { name: '1735'; children: BigUnion[]; } | { name: '1736'; children: BigUnion[]; } | { name: '1737'; children: BigUnion[]; } | { name: '1738'; children: BigUnion[]; } | { name: '1739'; children: BigUnion[]; } | { name: '1740'; children: BigUnion[]; } | { name: '1741'; children: BigUnion[]; } | { name: '1742'; children: BigUnion[]; } | { name: '1743'; children: BigUnion[]; } | { name: '1744'; children: BigUnion[]; } | { name: '1745'; children: BigUnion[]; } | { name: '1746'; children: BigUnion[]; } | { name: '1747'; children: BigUnion[]; } | { name: '1748'; children: BigUnion[]; } | { name: '1749'; children: BigUnion[]; } | { name: '1750'; children: BigUnion[]; } | { name: '1751'; children: BigUnion[]; } | { name: '1752'; children: BigUnion[]; } | { name: '1753'; children: BigUnion[]; } | { name: '1754'; children: BigUnion[]; } | { name: '1755'; children: BigUnion[]; } | { name: '1756'; children: BigUnion[]; } | { name: '1757'; children: BigUnion[]; } | { name: '1758'; children: BigUnion[]; } | { name: '1759'; children: BigUnion[]; } | { name: '1760'; children: BigUnion[]; } | { name: '1761'; children: BigUnion[]; } | { name: '1762'; children: BigUnion[]; } | { name: '1763'; children: BigUnion[]; } | { name: '1764'; children: BigUnion[]; } | { name: '1765'; children: BigUnion[]; } | { name: '1766'; children: BigUnion[]; } | { name: '1767'; children: BigUnion[]; } | { name: '1768'; children: BigUnion[]; } | { name: '1769'; children: BigUnion[]; } | { name: '1770'; children: BigUnion[]; } | { name: '1771'; children: BigUnion[]; } | { name: '1772'; children: BigUnion[]; } | { name: '1773'; children: BigUnion[]; } | { name: '1774'; children: BigUnion[]; } | { name: '1775'; children: BigUnion[]; } | { name: '1776'; children: BigUnion[]; } | { name: '1777'; children: BigUnion[]; } | { name: '1778'; children: BigUnion[]; } | { name: '1779'; children: BigUnion[]; } | { name: '1780'; children: BigUnion[]; } | { name: '1781'; children: BigUnion[]; } | { name: '1782'; children: BigUnion[]; } | { name: '1783'; children: BigUnion[]; } | { name: '1784'; children: BigUnion[]; } | { name: '1785'; children: BigUnion[]; } | { name: '1786'; children: BigUnion[]; } | { name: '1787'; children: BigUnion[]; } | { name: '1788'; children: BigUnion[]; } | { name: '1789'; children: BigUnion[]; } | { name: '1790'; children: BigUnion[]; } | { name: '1791'; children: BigUnion[]; } | { name: '1792'; children: BigUnion[]; } | { name: '1793'; children: BigUnion[]; } | { name: '1794'; children: BigUnion[]; } | { name: '1795'; children: BigUnion[]; } | { name: '1796'; children: BigUnion[]; } | { name: '1797'; children: BigUnion[]; } | { name: '1798'; children: BigUnion[]; } | { name: '1799'; children: BigUnion[]; } | { name: '1800'; children: BigUnion[]; } | { name: '1801'; children: BigUnion[]; } | { name: '1802'; children: BigUnion[]; } | { name: '1803'; children: BigUnion[]; } | { name: '1804'; children: BigUnion[]; } | { name: '1805'; children: BigUnion[]; } | { name: '1806'; children: BigUnion[]; } | { name: '1807'; children: BigUnion[]; } | { name: '1808'; children: BigUnion[]; } | { name: '1809'; children: BigUnion[]; } | { name: '1810'; children: BigUnion[]; } | { name: '1811'; children: BigUnion[]; } | { name: '1812'; children: BigUnion[]; } | { name: '1813'; children: BigUnion[]; } | { name: '1814'; children: BigUnion[]; } | { name: '1815'; children: BigUnion[]; } | { name: '1816'; children: BigUnion[]; } | { name: '1817'; children: BigUnion[]; } | { name: '1818'; children: BigUnion[]; } | { name: '1819'; children: BigUnion[]; } | { name: '1820'; children: BigUnion[]; } | { name: '1821'; children: BigUnion[]; } | { name: '1822'; children: BigUnion[]; } | { name: '1823'; children: BigUnion[]; } | { name: '1824'; children: BigUnion[]; } | { name: '1825'; children: BigUnion[]; } | { name: '1826'; children: BigUnion[]; } | { name: '1827'; children: BigUnion[]; } | { name: '1828'; children: BigUnion[]; } | { name: '1829'; children: BigUnion[]; } | { name: '1830'; children: BigUnion[]; } | { name: '1831'; children: BigUnion[]; } | { name: '1832'; children: BigUnion[]; } | { name: '1833'; children: BigUnion[]; } | { name: '1834'; children: BigUnion[]; } | { name: '1835'; children: BigUnion[]; } | { name: '1836'; children: BigUnion[]; } | { name: '1837'; children: BigUnion[]; } | { name: '1838'; children: BigUnion[]; } | { name: '1839'; children: BigUnion[]; } | { name: '1840'; children: BigUnion[]; } | { name: '1841'; children: BigUnion[]; } | { name: '1842'; children: BigUnion[]; } | { name: '1843'; children: BigUnion[]; } | { name: '1844'; children: BigUnion[]; } | { name: '1845'; children: BigUnion[]; } | { name: '1846'; children: BigUnion[]; } | { name: '1847'; children: BigUnion[]; } | { name: '1848'; children: BigUnion[]; } | { name: '1849'; children: BigUnion[]; } | { name: '1850'; children: BigUnion[]; } | { name: '1851'; children: BigUnion[]; } | { name: '1852'; children: BigUnion[]; } | { name: '1853'; children: BigUnion[]; } | { name: '1854'; children: BigUnion[]; } | { name: '1855'; children: BigUnion[]; } | { name: '1856'; children: BigUnion[]; } | { name: '1857'; children: BigUnion[]; } | { name: '1858'; children: BigUnion[]; } | { name: '1859'; children: BigUnion[]; } | { name: '1860'; children: BigUnion[]; } | { name: '1861'; children: BigUnion[]; } | { name: '1862'; children: BigUnion[]; } | { name: '1863'; children: BigUnion[]; } | { name: '1864'; children: BigUnion[]; } | { name: '1865'; children: BigUnion[]; } | { name: '1866'; children: BigUnion[]; } | { name: '1867'; children: BigUnion[]; } | { name: '1868'; children: BigUnion[]; } | { name: '1869'; children: BigUnion[]; } | { name: '1870'; children: BigUnion[]; } | { name: '1871'; children: BigUnion[]; } | { name: '1872'; children: BigUnion[]; } | { name: '1873'; children: BigUnion[]; } | { name: '1874'; children: BigUnion[]; } | { name: '1875'; children: BigUnion[]; } | { name: '1876'; children: BigUnion[]; } | { name: '1877'; children: BigUnion[]; } | { name: '1878'; children: BigUnion[]; } | { name: '1879'; children: BigUnion[]; } | { name: '1880'; children: BigUnion[]; } | { name: '1881'; children: BigUnion[]; } | { name: '1882'; children: BigUnion[]; } | { name: '1883'; children: BigUnion[]; } | { name: '1884'; children: BigUnion[]; } | { name: '1885'; children: BigUnion[]; } | { name: '1886'; children: BigUnion[]; } | { name: '1887'; children: BigUnion[]; } | { name: '1888'; children: BigUnion[]; } | { name: '1889'; children: BigUnion[]; } | { name: '1890'; children: BigUnion[]; } | { name: '1891'; children: BigUnion[]; } | { name: '1892'; children: BigUnion[]; } | { name: '1893'; children: BigUnion[]; } | { name: '1894'; children: BigUnion[]; } | { name: '1895'; children: BigUnion[]; } | { name: '1896'; children: BigUnion[]; } | { name: '1897'; children: BigUnion[]; } | { name: '1898'; children: BigUnion[]; } | { name: '1899'; children: BigUnion[]; } | { name: '1900'; children: BigUnion[]; } | { name: '1901'; children: BigUnion[]; } | { name: '1902'; children: BigUnion[]; } | { name: '1903'; children: BigUnion[]; } | { name: '1904'; children: BigUnion[]; } | { name: '1905'; children: BigUnion[]; } | { name: '1906'; children: BigUnion[]; } | { name: '1907'; children: BigUnion[]; } | { name: '1908'; children: BigUnion[]; } | { name: '1909'; children: BigUnion[]; } | { name: '1910'; children: BigUnion[]; } | { name: '1911'; children: BigUnion[]; } | { name: '1912'; children: BigUnion[]; } | { name: '1913'; children: BigUnion[]; } | { name: '1914'; children: BigUnion[]; } | { name: '1915'; children: BigUnion[]; } | { name: '1916'; children: BigUnion[]; } | { name: '1917'; children: BigUnion[]; } | { name: '1918'; children: BigUnion[]; } | { name: '1919'; children: BigUnion[]; } | { name: '1920'; children: BigUnion[]; } | { name: '1921'; children: BigUnion[]; } | { name: '1922'; children: BigUnion[]; } | { name: '1923'; children: BigUnion[]; } | { name: '1924'; children: BigUnion[]; } | { name: '1925'; children: BigUnion[]; } | { name: '1926'; children: BigUnion[]; } | { name: '1927'; children: BigUnion[]; } | { name: '1928'; children: BigUnion[]; } | { name: '1929'; children: BigUnion[]; } | { name: '1930'; children: BigUnion[]; } | { name: '1931'; children: BigUnion[]; } | { name: '1932'; children: BigUnion[]; } | { name: '1933'; children: BigUnion[]; } | { name: '1934'; children: BigUnion[]; } | { name: '1935'; children: BigUnion[]; } | { name: '1936'; children: BigUnion[]; } | { name: '1937'; children: BigUnion[]; } | { name: '1938'; children: BigUnion[]; } | { name: '1939'; children: BigUnion[]; } | { name: '1940'; children: BigUnion[]; } | { name: '1941'; children: BigUnion[]; } | { name: '1942'; children: BigUnion[]; } | { name: '1943'; children: BigUnion[]; } | { name: '1944'; children: BigUnion[]; } | { name: '1945'; children: BigUnion[]; } | { name: '1946'; children: BigUnion[]; } | { name: '1947'; children: BigUnion[]; } | { name: '1948'; children: BigUnion[]; } | { name: '1949'; children: BigUnion[]; } | { name: '1950'; children: BigUnion[]; } | { name: '1951'; children: BigUnion[]; } | { name: '1952'; children: BigUnion[]; } | { name: '1953'; children: BigUnion[]; } | { name: '1954'; children: BigUnion[]; } | { name: '1955'; children: BigUnion[]; } | { name: '1956'; children: BigUnion[]; } | { name: '1957'; children: BigUnion[]; } | { name: '1958'; children: BigUnion[]; } | { name: '1959'; children: BigUnion[]; } | { name: '1960'; children: BigUnion[]; } | { name: '1961'; children: BigUnion[]; } | { name: '1962'; children: BigUnion[]; } | { name: '1963'; children: BigUnion[]; } | { name: '1964'; children: BigUnion[]; } | { name: '1965'; children: BigUnion[]; } | { name: '1966'; children: BigUnion[]; } | { name: '1967'; children: BigUnion[]; } | { name: '1968'; children: BigUnion[]; } | { name: '1969'; children: BigUnion[]; } | { name: '1970'; children: BigUnion[]; } | { name: '1971'; children: BigUnion[]; } | { name: '1972'; children: BigUnion[]; } | { name: '1973'; children: BigUnion[]; } | { name: '1974'; children: BigUnion[]; } | { name: '1975'; children: BigUnion[]; } | { name: '1976'; children: BigUnion[]; } | { name: '1977'; children: BigUnion[]; } | { name: '1978'; children: BigUnion[]; } | { name: '1979'; children: BigUnion[]; } | { name: '1980'; children: BigUnion[]; } | { name: '1981'; children: BigUnion[]; } | { name: '1982'; children: BigUnion[]; } | { name: '1983'; children: BigUnion[]; } | { name: '1984'; children: BigUnion[]; } | { name: '1985'; children: BigUnion[]; } | { name: '1986'; children: BigUnion[]; } | { name: '1987'; children: BigUnion[]; } | { name: '1988'; children: BigUnion[]; } | { name: '1989'; children: BigUnion[]; } | { name: '1990'; children: BigUnion[]; } | { name: '1991'; children: BigUnion[]; } | { name: '1992'; children: BigUnion[]; } | { name: '1993'; children: BigUnion[]; } | { name: '1994'; children: BigUnion[]; } | { name: '1995'; children: BigUnion[]; } | { name: '1996'; children: BigUnion[]; } | { name: '1997'; children: BigUnion[]; } | { name: '1998'; children: BigUnion[]; } | { name: '1999'; children: BigUnion[]; } +>BigUnion : { name: "0"; children: BigUnion[]; } | { name: "1"; children: BigUnion[]; } | { name: "2"; children: BigUnion[]; } | { name: "3"; children: BigUnion[]; } | { name: "4"; children: BigUnion[]; } | { name: "5"; children: BigUnion[]; } | { name: "6"; children: BigUnion[]; } | { name: "7"; children: BigUnion[]; } | { name: "8"; children: BigUnion[]; } | { name: "9"; children: BigUnion[]; } | { name: "10"; children: BigUnion[]; } | { name: "11"; children: BigUnion[]; } | { name: "12"; children: BigUnion[]; } | { name: "13"; children: BigUnion[]; } | { name: "14"; children: BigUnion[]; } | { name: "15"; children: BigUnion[]; } | { name: "16"; children: BigUnion[]; } | { name: "17"; children: BigUnion[]; } | { name: "18"; children: BigUnion[]; } | { name: "19"; children: BigUnion[]; } | { name: "20"; children: BigUnion[]; } | { name: "21"; children: BigUnion[]; } | { name: "22"; children: BigUnion[]; } | { name: "23"; children: BigUnion[]; } | { name: "24"; children: BigUnion[]; } | { name: "25"; children: BigUnion[]; } | { name: "26"; children: BigUnion[]; } | { name: "27"; children: BigUnion[]; } | { name: "28"; children: BigUnion[]; } | { name: "29"; children: BigUnion[]; } | { name: "30"; children: BigUnion[]; } | { name: "31"; children: BigUnion[]; } | { name: "32"; children: BigUnion[]; } | { name: "33"; children: BigUnion[]; } | { name: "34"; children: BigUnion[]; } | { name: "35"; children: BigUnion[]; } | { name: "36"; children: BigUnion[]; } | { name: "37"; children: BigUnion[]; } | { name: "38"; children: BigUnion[]; } | { name: "39"; children: BigUnion[]; } | { name: "40"; children: BigUnion[]; } | { name: "41"; children: BigUnion[]; } | { name: "42"; children: BigUnion[]; } | { name: "43"; children: BigUnion[]; } | { name: "44"; children: BigUnion[]; } | { name: "45"; children: BigUnion[]; } | { name: "46"; children: BigUnion[]; } | { name: "47"; children: BigUnion[]; } | { name: "48"; children: BigUnion[]; } | { name: "49"; children: BigUnion[]; } | { name: "50"; children: BigUnion[]; } | { name: "51"; children: BigUnion[]; } | { name: "52"; children: BigUnion[]; } | { name: "53"; children: BigUnion[]; } | { name: "54"; children: BigUnion[]; } | { name: "55"; children: BigUnion[]; } | { name: "56"; children: BigUnion[]; } | { name: "57"; children: BigUnion[]; } | { name: "58"; children: BigUnion[]; } | { name: "59"; children: BigUnion[]; } | { name: "60"; children: BigUnion[]; } | { name: "61"; children: BigUnion[]; } | { name: "62"; children: BigUnion[]; } | { name: "63"; children: BigUnion[]; } | { name: "64"; children: BigUnion[]; } | { name: "65"; children: BigUnion[]; } | { name: "66"; children: BigUnion[]; } | { name: "67"; children: BigUnion[]; } | { name: "68"; children: BigUnion[]; } | { name: "69"; children: BigUnion[]; } | { name: "70"; children: BigUnion[]; } | { name: "71"; children: BigUnion[]; } | { name: "72"; children: BigUnion[]; } | { name: "73"; children: BigUnion[]; } | { name: "74"; children: BigUnion[]; } | { name: "75"; children: BigUnion[]; } | { name: "76"; children: BigUnion[]; } | { name: "77"; children: BigUnion[]; } | { name: "78"; children: BigUnion[]; } | { name: "79"; children: BigUnion[]; } | { name: "80"; children: BigUnion[]; } | { name: "81"; children: BigUnion[]; } | { name: "82"; children: BigUnion[]; } | { name: "83"; children: BigUnion[]; } | { name: "84"; children: BigUnion[]; } | { name: "85"; children: BigUnion[]; } | { name: "86"; children: BigUnion[]; } | { name: "87"; children: BigUnion[]; } | { name: "88"; children: BigUnion[]; } | { name: "89"; children: BigUnion[]; } | { name: "90"; children: BigUnion[]; } | { name: "91"; children: BigUnion[]; } | { name: "92"; children: BigUnion[]; } | { name: "93"; children: BigUnion[]; } | { name: "94"; children: BigUnion[]; } | { name: "95"; children: BigUnion[]; } | { name: "96"; children: BigUnion[]; } | { name: "97"; children: BigUnion[]; } | { name: "98"; children: BigUnion[]; } | { name: "99"; children: BigUnion[]; } | { name: "100"; children: BigUnion[]; } | { name: "101"; children: BigUnion[]; } | { name: "102"; children: BigUnion[]; } | { name: "103"; children: BigUnion[]; } | { name: "104"; children: BigUnion[]; } | { name: "105"; children: BigUnion[]; } | { name: "106"; children: BigUnion[]; } | { name: "107"; children: BigUnion[]; } | { name: "108"; children: BigUnion[]; } | { name: "109"; children: BigUnion[]; } | { name: "110"; children: BigUnion[]; } | { name: "111"; children: BigUnion[]; } | { name: "112"; children: BigUnion[]; } | { name: "113"; children: BigUnion[]; } | { name: "114"; children: BigUnion[]; } | { name: "115"; children: BigUnion[]; } | { name: "116"; children: BigUnion[]; } | { name: "117"; children: BigUnion[]; } | { name: "118"; children: BigUnion[]; } | { name: "119"; children: BigUnion[]; } | { name: "120"; children: BigUnion[]; } | { name: "121"; children: BigUnion[]; } | { name: "122"; children: BigUnion[]; } | { name: "123"; children: BigUnion[]; } | { name: "124"; children: BigUnion[]; } | { name: "125"; children: BigUnion[]; } | { name: "126"; children: BigUnion[]; } | { name: "127"; children: BigUnion[]; } | { name: "128"; children: BigUnion[]; } | { name: "129"; children: BigUnion[]; } | { name: "130"; children: BigUnion[]; } | { name: "131"; children: BigUnion[]; } | { name: "132"; children: BigUnion[]; } | { name: "133"; children: BigUnion[]; } | { name: "134"; children: BigUnion[]; } | { name: "135"; children: BigUnion[]; } | { name: "136"; children: BigUnion[]; } | { name: "137"; children: BigUnion[]; } | { name: "138"; children: BigUnion[]; } | { name: "139"; children: BigUnion[]; } | { name: "140"; children: BigUnion[]; } | { name: "141"; children: BigUnion[]; } | { name: "142"; children: BigUnion[]; } | { name: "143"; children: BigUnion[]; } | { name: "144"; children: BigUnion[]; } | { name: "145"; children: BigUnion[]; } | { name: "146"; children: BigUnion[]; } | { name: "147"; children: BigUnion[]; } | { name: "148"; children: BigUnion[]; } | { name: "149"; children: BigUnion[]; } | { name: "150"; children: BigUnion[]; } | { name: "151"; children: BigUnion[]; } | { name: "152"; children: BigUnion[]; } | { name: "153"; children: BigUnion[]; } | { name: "154"; children: BigUnion[]; } | { name: "155"; children: BigUnion[]; } | { name: "156"; children: BigUnion[]; } | { name: "157"; children: BigUnion[]; } | { name: "158"; children: BigUnion[]; } | { name: "159"; children: BigUnion[]; } | { name: "160"; children: BigUnion[]; } | { name: "161"; children: BigUnion[]; } | { name: "162"; children: BigUnion[]; } | { name: "163"; children: BigUnion[]; } | { name: "164"; children: BigUnion[]; } | { name: "165"; children: BigUnion[]; } | { name: "166"; children: BigUnion[]; } | { name: "167"; children: BigUnion[]; } | { name: "168"; children: BigUnion[]; } | { name: "169"; children: BigUnion[]; } | { name: "170"; children: BigUnion[]; } | { name: "171"; children: BigUnion[]; } | { name: "172"; children: BigUnion[]; } | { name: "173"; children: BigUnion[]; } | { name: "174"; children: BigUnion[]; } | { name: "175"; children: BigUnion[]; } | { name: "176"; children: BigUnion[]; } | { name: "177"; children: BigUnion[]; } | { name: "178"; children: BigUnion[]; } | { name: "179"; children: BigUnion[]; } | { name: "180"; children: BigUnion[]; } | { name: "181"; children: BigUnion[]; } | { name: "182"; children: BigUnion[]; } | { name: "183"; children: BigUnion[]; } | { name: "184"; children: BigUnion[]; } | { name: "185"; children: BigUnion[]; } | { name: "186"; children: BigUnion[]; } | { name: "187"; children: BigUnion[]; } | { name: "188"; children: BigUnion[]; } | { name: "189"; children: BigUnion[]; } | { name: "190"; children: BigUnion[]; } | { name: "191"; children: BigUnion[]; } | { name: "192"; children: BigUnion[]; } | { name: "193"; children: BigUnion[]; } | { name: "194"; children: BigUnion[]; } | { name: "195"; children: BigUnion[]; } | { name: "196"; children: BigUnion[]; } | { name: "197"; children: BigUnion[]; } | { name: "198"; children: BigUnion[]; } | { name: "199"; children: BigUnion[]; } | { name: "200"; children: BigUnion[]; } | { name: "201"; children: BigUnion[]; } | { name: "202"; children: BigUnion[]; } | { name: "203"; children: BigUnion[]; } | { name: "204"; children: BigUnion[]; } | { name: "205"; children: BigUnion[]; } | { name: "206"; children: BigUnion[]; } | { name: "207"; children: BigUnion[]; } | { name: "208"; children: BigUnion[]; } | { name: "209"; children: BigUnion[]; } | { name: "210"; children: BigUnion[]; } | { name: "211"; children: BigUnion[]; } | { name: "212"; children: BigUnion[]; } | { name: "213"; children: BigUnion[]; } | { name: "214"; children: BigUnion[]; } | { name: "215"; children: BigUnion[]; } | { name: "216"; children: BigUnion[]; } | { name: "217"; children: BigUnion[]; } | { name: "218"; children: BigUnion[]; } | { name: "219"; children: BigUnion[]; } | { name: "220"; children: BigUnion[]; } | { name: "221"; children: BigUnion[]; } | { name: "222"; children: BigUnion[]; } | { name: "223"; children: BigUnion[]; } | { name: "224"; children: BigUnion[]; } | { name: "225"; children: BigUnion[]; } | { name: "226"; children: BigUnion[]; } | { name: "227"; children: BigUnion[]; } | { name: "228"; children: BigUnion[]; } | { name: "229"; children: BigUnion[]; } | { name: "230"; children: BigUnion[]; } | { name: "231"; children: BigUnion[]; } | { name: "232"; children: BigUnion[]; } | { name: "233"; children: BigUnion[]; } | { name: "234"; children: BigUnion[]; } | { name: "235"; children: BigUnion[]; } | { name: "236"; children: BigUnion[]; } | { name: "237"; children: BigUnion[]; } | { name: "238"; children: BigUnion[]; } | { name: "239"; children: BigUnion[]; } | { name: "240"; children: BigUnion[]; } | { name: "241"; children: BigUnion[]; } | { name: "242"; children: BigUnion[]; } | { name: "243"; children: BigUnion[]; } | { name: "244"; children: BigUnion[]; } | { name: "245"; children: BigUnion[]; } | { name: "246"; children: BigUnion[]; } | { name: "247"; children: BigUnion[]; } | { name: "248"; children: BigUnion[]; } | { name: "249"; children: BigUnion[]; } | { name: "250"; children: BigUnion[]; } | { name: "251"; children: BigUnion[]; } | { name: "252"; children: BigUnion[]; } | { name: "253"; children: BigUnion[]; } | { name: "254"; children: BigUnion[]; } | { name: "255"; children: BigUnion[]; } | { name: "256"; children: BigUnion[]; } | { name: "257"; children: BigUnion[]; } | { name: "258"; children: BigUnion[]; } | { name: "259"; children: BigUnion[]; } | { name: "260"; children: BigUnion[]; } | { name: "261"; children: BigUnion[]; } | { name: "262"; children: BigUnion[]; } | { name: "263"; children: BigUnion[]; } | { name: "264"; children: BigUnion[]; } | { name: "265"; children: BigUnion[]; } | { name: "266"; children: BigUnion[]; } | { name: "267"; children: BigUnion[]; } | { name: "268"; children: BigUnion[]; } | { name: "269"; children: BigUnion[]; } | { name: "270"; children: BigUnion[]; } | { name: "271"; children: BigUnion[]; } | { name: "272"; children: BigUnion[]; } | { name: "273"; children: BigUnion[]; } | { name: "274"; children: BigUnion[]; } | { name: "275"; children: BigUnion[]; } | { name: "276"; children: BigUnion[]; } | { name: "277"; children: BigUnion[]; } | { name: "278"; children: BigUnion[]; } | { name: "279"; children: BigUnion[]; } | { name: "280"; children: BigUnion[]; } | { name: "281"; children: BigUnion[]; } | { name: "282"; children: BigUnion[]; } | { name: "283"; children: BigUnion[]; } | { name: "284"; children: BigUnion[]; } | { name: "285"; children: BigUnion[]; } | { name: "286"; children: BigUnion[]; } | { name: "287"; children: BigUnion[]; } | { name: "288"; children: BigUnion[]; } | { name: "289"; children: BigUnion[]; } | { name: "290"; children: BigUnion[]; } | { name: "291"; children: BigUnion[]; } | { name: "292"; children: BigUnion[]; } | { name: "293"; children: BigUnion[]; } | { name: "294"; children: BigUnion[]; } | { name: "295"; children: BigUnion[]; } | { name: "296"; children: BigUnion[]; } | { name: "297"; children: BigUnion[]; } | { name: "298"; children: BigUnion[]; } | { name: "299"; children: BigUnion[]; } | { name: "300"; children: BigUnion[]; } | { name: "301"; children: BigUnion[]; } | { name: "302"; children: BigUnion[]; } | { name: "303"; children: BigUnion[]; } | { name: "304"; children: BigUnion[]; } | { name: "305"; children: BigUnion[]; } | { name: "306"; children: BigUnion[]; } | { name: "307"; children: BigUnion[]; } | { name: "308"; children: BigUnion[]; } | { name: "309"; children: BigUnion[]; } | { name: "310"; children: BigUnion[]; } | { name: "311"; children: BigUnion[]; } | { name: "312"; children: BigUnion[]; } | { name: "313"; children: BigUnion[]; } | { name: "314"; children: BigUnion[]; } | { name: "315"; children: BigUnion[]; } | { name: "316"; children: BigUnion[]; } | { name: "317"; children: BigUnion[]; } | { name: "318"; children: BigUnion[]; } | { name: "319"; children: BigUnion[]; } | { name: "320"; children: BigUnion[]; } | { name: "321"; children: BigUnion[]; } | { name: "322"; children: BigUnion[]; } | { name: "323"; children: BigUnion[]; } | { name: "324"; children: BigUnion[]; } | { name: "325"; children: BigUnion[]; } | { name: "326"; children: BigUnion[]; } | { name: "327"; children: BigUnion[]; } | { name: "328"; children: BigUnion[]; } | { name: "329"; children: BigUnion[]; } | { name: "330"; children: BigUnion[]; } | { name: "331"; children: BigUnion[]; } | { name: "332"; children: BigUnion[]; } | { name: "333"; children: BigUnion[]; } | { name: "334"; children: BigUnion[]; } | { name: "335"; children: BigUnion[]; } | { name: "336"; children: BigUnion[]; } | { name: "337"; children: BigUnion[]; } | { name: "338"; children: BigUnion[]; } | { name: "339"; children: BigUnion[]; } | { name: "340"; children: BigUnion[]; } | { name: "341"; children: BigUnion[]; } | { name: "342"; children: BigUnion[]; } | { name: "343"; children: BigUnion[]; } | { name: "344"; children: BigUnion[]; } | { name: "345"; children: BigUnion[]; } | { name: "346"; children: BigUnion[]; } | { name: "347"; children: BigUnion[]; } | { name: "348"; children: BigUnion[]; } | { name: "349"; children: BigUnion[]; } | { name: "350"; children: BigUnion[]; } | { name: "351"; children: BigUnion[]; } | { name: "352"; children: BigUnion[]; } | { name: "353"; children: BigUnion[]; } | { name: "354"; children: BigUnion[]; } | { name: "355"; children: BigUnion[]; } | { name: "356"; children: BigUnion[]; } | { name: "357"; children: BigUnion[]; } | { name: "358"; children: BigUnion[]; } | { name: "359"; children: BigUnion[]; } | { name: "360"; children: BigUnion[]; } | { name: "361"; children: BigUnion[]; } | { name: "362"; children: BigUnion[]; } | { name: "363"; children: BigUnion[]; } | { name: "364"; children: BigUnion[]; } | { name: "365"; children: BigUnion[]; } | { name: "366"; children: BigUnion[]; } | { name: "367"; children: BigUnion[]; } | { name: "368"; children: BigUnion[]; } | { name: "369"; children: BigUnion[]; } | { name: "370"; children: BigUnion[]; } | { name: "371"; children: BigUnion[]; } | { name: "372"; children: BigUnion[]; } | { name: "373"; children: BigUnion[]; } | { name: "374"; children: BigUnion[]; } | { name: "375"; children: BigUnion[]; } | { name: "376"; children: BigUnion[]; } | { name: "377"; children: BigUnion[]; } | { name: "378"; children: BigUnion[]; } | { name: "379"; children: BigUnion[]; } | { name: "380"; children: BigUnion[]; } | { name: "381"; children: BigUnion[]; } | { name: "382"; children: BigUnion[]; } | { name: "383"; children: BigUnion[]; } | { name: "384"; children: BigUnion[]; } | { name: "385"; children: BigUnion[]; } | { name: "386"; children: BigUnion[]; } | { name: "387"; children: BigUnion[]; } | { name: "388"; children: BigUnion[]; } | { name: "389"; children: BigUnion[]; } | { name: "390"; children: BigUnion[]; } | { name: "391"; children: BigUnion[]; } | { name: "392"; children: BigUnion[]; } | { name: "393"; children: BigUnion[]; } | { name: "394"; children: BigUnion[]; } | { name: "395"; children: BigUnion[]; } | { name: "396"; children: BigUnion[]; } | { name: "397"; children: BigUnion[]; } | { name: "398"; children: BigUnion[]; } | { name: "399"; children: BigUnion[]; } | { name: "400"; children: BigUnion[]; } | { name: "401"; children: BigUnion[]; } | { name: "402"; children: BigUnion[]; } | { name: "403"; children: BigUnion[]; } | { name: "404"; children: BigUnion[]; } | { name: "405"; children: BigUnion[]; } | { name: "406"; children: BigUnion[]; } | { name: "407"; children: BigUnion[]; } | { name: "408"; children: BigUnion[]; } | { name: "409"; children: BigUnion[]; } | { name: "410"; children: BigUnion[]; } | { name: "411"; children: BigUnion[]; } | { name: "412"; children: BigUnion[]; } | { name: "413"; children: BigUnion[]; } | { name: "414"; children: BigUnion[]; } | { name: "415"; children: BigUnion[]; } | { name: "416"; children: BigUnion[]; } | { name: "417"; children: BigUnion[]; } | { name: "418"; children: BigUnion[]; } | { name: "419"; children: BigUnion[]; } | { name: "420"; children: BigUnion[]; } | { name: "421"; children: BigUnion[]; } | { name: "422"; children: BigUnion[]; } | { name: "423"; children: BigUnion[]; } | { name: "424"; children: BigUnion[]; } | { name: "425"; children: BigUnion[]; } | { name: "426"; children: BigUnion[]; } | { name: "427"; children: BigUnion[]; } | { name: "428"; children: BigUnion[]; } | { name: "429"; children: BigUnion[]; } | { name: "430"; children: BigUnion[]; } | { name: "431"; children: BigUnion[]; } | { name: "432"; children: BigUnion[]; } | { name: "433"; children: BigUnion[]; } | { name: "434"; children: BigUnion[]; } | { name: "435"; children: BigUnion[]; } | { name: "436"; children: BigUnion[]; } | { name: "437"; children: BigUnion[]; } | { name: "438"; children: BigUnion[]; } | { name: "439"; children: BigUnion[]; } | { name: "440"; children: BigUnion[]; } | { name: "441"; children: BigUnion[]; } | { name: "442"; children: BigUnion[]; } | { name: "443"; children: BigUnion[]; } | { name: "444"; children: BigUnion[]; } | { name: "445"; children: BigUnion[]; } | { name: "446"; children: BigUnion[]; } | { name: "447"; children: BigUnion[]; } | { name: "448"; children: BigUnion[]; } | { name: "449"; children: BigUnion[]; } | { name: "450"; children: BigUnion[]; } | { name: "451"; children: BigUnion[]; } | { name: "452"; children: BigUnion[]; } | { name: "453"; children: BigUnion[]; } | { name: "454"; children: BigUnion[]; } | { name: "455"; children: BigUnion[]; } | { name: "456"; children: BigUnion[]; } | { name: "457"; children: BigUnion[]; } | { name: "458"; children: BigUnion[]; } | { name: "459"; children: BigUnion[]; } | { name: "460"; children: BigUnion[]; } | { name: "461"; children: BigUnion[]; } | { name: "462"; children: BigUnion[]; } | { name: "463"; children: BigUnion[]; } | { name: "464"; children: BigUnion[]; } | { name: "465"; children: BigUnion[]; } | { name: "466"; children: BigUnion[]; } | { name: "467"; children: BigUnion[]; } | { name: "468"; children: BigUnion[]; } | { name: "469"; children: BigUnion[]; } | { name: "470"; children: BigUnion[]; } | { name: "471"; children: BigUnion[]; } | { name: "472"; children: BigUnion[]; } | { name: "473"; children: BigUnion[]; } | { name: "474"; children: BigUnion[]; } | { name: "475"; children: BigUnion[]; } | { name: "476"; children: BigUnion[]; } | { name: "477"; children: BigUnion[]; } | { name: "478"; children: BigUnion[]; } | { name: "479"; children: BigUnion[]; } | { name: "480"; children: BigUnion[]; } | { name: "481"; children: BigUnion[]; } | { name: "482"; children: BigUnion[]; } | { name: "483"; children: BigUnion[]; } | { name: "484"; children: BigUnion[]; } | { name: "485"; children: BigUnion[]; } | { name: "486"; children: BigUnion[]; } | { name: "487"; children: BigUnion[]; } | { name: "488"; children: BigUnion[]; } | { name: "489"; children: BigUnion[]; } | { name: "490"; children: BigUnion[]; } | { name: "491"; children: BigUnion[]; } | { name: "492"; children: BigUnion[]; } | { name: "493"; children: BigUnion[]; } | { name: "494"; children: BigUnion[]; } | { name: "495"; children: BigUnion[]; } | { name: "496"; children: BigUnion[]; } | { name: "497"; children: BigUnion[]; } | { name: "498"; children: BigUnion[]; } | { name: "499"; children: BigUnion[]; } | { name: "500"; children: BigUnion[]; } | { name: "501"; children: BigUnion[]; } | { name: "502"; children: BigUnion[]; } | { name: "503"; children: BigUnion[]; } | { name: "504"; children: BigUnion[]; } | { name: "505"; children: BigUnion[]; } | { name: "506"; children: BigUnion[]; } | { name: "507"; children: BigUnion[]; } | { name: "508"; children: BigUnion[]; } | { name: "509"; children: BigUnion[]; } | { name: "510"; children: BigUnion[]; } | { name: "511"; children: BigUnion[]; } | { name: "512"; children: BigUnion[]; } | { name: "513"; children: BigUnion[]; } | { name: "514"; children: BigUnion[]; } | { name: "515"; children: BigUnion[]; } | { name: "516"; children: BigUnion[]; } | { name: "517"; children: BigUnion[]; } | { name: "518"; children: BigUnion[]; } | { name: "519"; children: BigUnion[]; } | { name: "520"; children: BigUnion[]; } | { name: "521"; children: BigUnion[]; } | { name: "522"; children: BigUnion[]; } | { name: "523"; children: BigUnion[]; } | { name: "524"; children: BigUnion[]; } | { name: "525"; children: BigUnion[]; } | { name: "526"; children: BigUnion[]; } | { name: "527"; children: BigUnion[]; } | { name: "528"; children: BigUnion[]; } | { name: "529"; children: BigUnion[]; } | { name: "530"; children: BigUnion[]; } | { name: "531"; children: BigUnion[]; } | { name: "532"; children: BigUnion[]; } | { name: "533"; children: BigUnion[]; } | { name: "534"; children: BigUnion[]; } | { name: "535"; children: BigUnion[]; } | { name: "536"; children: BigUnion[]; } | { name: "537"; children: BigUnion[]; } | { name: "538"; children: BigUnion[]; } | { name: "539"; children: BigUnion[]; } | { name: "540"; children: BigUnion[]; } | { name: "541"; children: BigUnion[]; } | { name: "542"; children: BigUnion[]; } | { name: "543"; children: BigUnion[]; } | { name: "544"; children: BigUnion[]; } | { name: "545"; children: BigUnion[]; } | { name: "546"; children: BigUnion[]; } | { name: "547"; children: BigUnion[]; } | { name: "548"; children: BigUnion[]; } | { name: "549"; children: BigUnion[]; } | { name: "550"; children: BigUnion[]; } | { name: "551"; children: BigUnion[]; } | { name: "552"; children: BigUnion[]; } | { name: "553"; children: BigUnion[]; } | { name: "554"; children: BigUnion[]; } | { name: "555"; children: BigUnion[]; } | { name: "556"; children: BigUnion[]; } | { name: "557"; children: BigUnion[]; } | { name: "558"; children: BigUnion[]; } | { name: "559"; children: BigUnion[]; } | { name: "560"; children: BigUnion[]; } | { name: "561"; children: BigUnion[]; } | { name: "562"; children: BigUnion[]; } | { name: "563"; children: BigUnion[]; } | { name: "564"; children: BigUnion[]; } | { name: "565"; children: BigUnion[]; } | { name: "566"; children: BigUnion[]; } | { name: "567"; children: BigUnion[]; } | { name: "568"; children: BigUnion[]; } | { name: "569"; children: BigUnion[]; } | { name: "570"; children: BigUnion[]; } | { name: "571"; children: BigUnion[]; } | { name: "572"; children: BigUnion[]; } | { name: "573"; children: BigUnion[]; } | { name: "574"; children: BigUnion[]; } | { name: "575"; children: BigUnion[]; } | { name: "576"; children: BigUnion[]; } | { name: "577"; children: BigUnion[]; } | { name: "578"; children: BigUnion[]; } | { name: "579"; children: BigUnion[]; } | { name: "580"; children: BigUnion[]; } | { name: "581"; children: BigUnion[]; } | { name: "582"; children: BigUnion[]; } | { name: "583"; children: BigUnion[]; } | { name: "584"; children: BigUnion[]; } | { name: "585"; children: BigUnion[]; } | { name: "586"; children: BigUnion[]; } | { name: "587"; children: BigUnion[]; } | { name: "588"; children: BigUnion[]; } | { name: "589"; children: BigUnion[]; } | { name: "590"; children: BigUnion[]; } | { name: "591"; children: BigUnion[]; } | { name: "592"; children: BigUnion[]; } | { name: "593"; children: BigUnion[]; } | { name: "594"; children: BigUnion[]; } | { name: "595"; children: BigUnion[]; } | { name: "596"; children: BigUnion[]; } | { name: "597"; children: BigUnion[]; } | { name: "598"; children: BigUnion[]; } | { name: "599"; children: BigUnion[]; } | { name: "600"; children: BigUnion[]; } | { name: "601"; children: BigUnion[]; } | { name: "602"; children: BigUnion[]; } | { name: "603"; children: BigUnion[]; } | { name: "604"; children: BigUnion[]; } | { name: "605"; children: BigUnion[]; } | { name: "606"; children: BigUnion[]; } | { name: "607"; children: BigUnion[]; } | { name: "608"; children: BigUnion[]; } | { name: "609"; children: BigUnion[]; } | { name: "610"; children: BigUnion[]; } | { name: "611"; children: BigUnion[]; } | { name: "612"; children: BigUnion[]; } | { name: "613"; children: BigUnion[]; } | { name: "614"; children: BigUnion[]; } | { name: "615"; children: BigUnion[]; } | { name: "616"; children: BigUnion[]; } | { name: "617"; children: BigUnion[]; } | { name: "618"; children: BigUnion[]; } | { name: "619"; children: BigUnion[]; } | { name: "620"; children: BigUnion[]; } | { name: "621"; children: BigUnion[]; } | { name: "622"; children: BigUnion[]; } | { name: "623"; children: BigUnion[]; } | { name: "624"; children: BigUnion[]; } | { name: "625"; children: BigUnion[]; } | { name: "626"; children: BigUnion[]; } | { name: "627"; children: BigUnion[]; } | { name: "628"; children: BigUnion[]; } | { name: "629"; children: BigUnion[]; } | { name: "630"; children: BigUnion[]; } | { name: "631"; children: BigUnion[]; } | { name: "632"; children: BigUnion[]; } | { name: "633"; children: BigUnion[]; } | { name: "634"; children: BigUnion[]; } | { name: "635"; children: BigUnion[]; } | { name: "636"; children: BigUnion[]; } | { name: "637"; children: BigUnion[]; } | { name: "638"; children: BigUnion[]; } | { name: "639"; children: BigUnion[]; } | { name: "640"; children: BigUnion[]; } | { name: "641"; children: BigUnion[]; } | { name: "642"; children: BigUnion[]; } | { name: "643"; children: BigUnion[]; } | { name: "644"; children: BigUnion[]; } | { name: "645"; children: BigUnion[]; } | { name: "646"; children: BigUnion[]; } | { name: "647"; children: BigUnion[]; } | { name: "648"; children: BigUnion[]; } | { name: "649"; children: BigUnion[]; } | { name: "650"; children: BigUnion[]; } | { name: "651"; children: BigUnion[]; } | { name: "652"; children: BigUnion[]; } | { name: "653"; children: BigUnion[]; } | { name: "654"; children: BigUnion[]; } | { name: "655"; children: BigUnion[]; } | { name: "656"; children: BigUnion[]; } | { name: "657"; children: BigUnion[]; } | { name: "658"; children: BigUnion[]; } | { name: "659"; children: BigUnion[]; } | { name: "660"; children: BigUnion[]; } | { name: "661"; children: BigUnion[]; } | { name: "662"; children: BigUnion[]; } | { name: "663"; children: BigUnion[]; } | { name: "664"; children: BigUnion[]; } | { name: "665"; children: BigUnion[]; } | { name: "666"; children: BigUnion[]; } | { name: "667"; children: BigUnion[]; } | { name: "668"; children: BigUnion[]; } | { name: "669"; children: BigUnion[]; } | { name: "670"; children: BigUnion[]; } | { name: "671"; children: BigUnion[]; } | { name: "672"; children: BigUnion[]; } | { name: "673"; children: BigUnion[]; } | { name: "674"; children: BigUnion[]; } | { name: "675"; children: BigUnion[]; } | { name: "676"; children: BigUnion[]; } | { name: "677"; children: BigUnion[]; } | { name: "678"; children: BigUnion[]; } | { name: "679"; children: BigUnion[]; } | { name: "680"; children: BigUnion[]; } | { name: "681"; children: BigUnion[]; } | { name: "682"; children: BigUnion[]; } | { name: "683"; children: BigUnion[]; } | { name: "684"; children: BigUnion[]; } | { name: "685"; children: BigUnion[]; } | { name: "686"; children: BigUnion[]; } | { name: "687"; children: BigUnion[]; } | { name: "688"; children: BigUnion[]; } | { name: "689"; children: BigUnion[]; } | { name: "690"; children: BigUnion[]; } | { name: "691"; children: BigUnion[]; } | { name: "692"; children: BigUnion[]; } | { name: "693"; children: BigUnion[]; } | { name: "694"; children: BigUnion[]; } | { name: "695"; children: BigUnion[]; } | { name: "696"; children: BigUnion[]; } | { name: "697"; children: BigUnion[]; } | { name: "698"; children: BigUnion[]; } | { name: "699"; children: BigUnion[]; } | { name: "700"; children: BigUnion[]; } | { name: "701"; children: BigUnion[]; } | { name: "702"; children: BigUnion[]; } | { name: "703"; children: BigUnion[]; } | { name: "704"; children: BigUnion[]; } | { name: "705"; children: BigUnion[]; } | { name: "706"; children: BigUnion[]; } | { name: "707"; children: BigUnion[]; } | { name: "708"; children: BigUnion[]; } | { name: "709"; children: BigUnion[]; } | { name: "710"; children: BigUnion[]; } | { name: "711"; children: BigUnion[]; } | { name: "712"; children: BigUnion[]; } | { name: "713"; children: BigUnion[]; } | { name: "714"; children: BigUnion[]; } | { name: "715"; children: BigUnion[]; } | { name: "716"; children: BigUnion[]; } | { name: "717"; children: BigUnion[]; } | { name: "718"; children: BigUnion[]; } | { name: "719"; children: BigUnion[]; } | { name: "720"; children: BigUnion[]; } | { name: "721"; children: BigUnion[]; } | { name: "722"; children: BigUnion[]; } | { name: "723"; children: BigUnion[]; } | { name: "724"; children: BigUnion[]; } | { name: "725"; children: BigUnion[]; } | { name: "726"; children: BigUnion[]; } | { name: "727"; children: BigUnion[]; } | { name: "728"; children: BigUnion[]; } | { name: "729"; children: BigUnion[]; } | { name: "730"; children: BigUnion[]; } | { name: "731"; children: BigUnion[]; } | { name: "732"; children: BigUnion[]; } | { name: "733"; children: BigUnion[]; } | { name: "734"; children: BigUnion[]; } | { name: "735"; children: BigUnion[]; } | { name: "736"; children: BigUnion[]; } | { name: "737"; children: BigUnion[]; } | { name: "738"; children: BigUnion[]; } | { name: "739"; children: BigUnion[]; } | { name: "740"; children: BigUnion[]; } | { name: "741"; children: BigUnion[]; } | { name: "742"; children: BigUnion[]; } | { name: "743"; children: BigUnion[]; } | { name: "744"; children: BigUnion[]; } | { name: "745"; children: BigUnion[]; } | { name: "746"; children: BigUnion[]; } | { name: "747"; children: BigUnion[]; } | { name: "748"; children: BigUnion[]; } | { name: "749"; children: BigUnion[]; } | { name: "750"; children: BigUnion[]; } | { name: "751"; children: BigUnion[]; } | { name: "752"; children: BigUnion[]; } | { name: "753"; children: BigUnion[]; } | { name: "754"; children: BigUnion[]; } | { name: "755"; children: BigUnion[]; } | { name: "756"; children: BigUnion[]; } | { name: "757"; children: BigUnion[]; } | { name: "758"; children: BigUnion[]; } | { name: "759"; children: BigUnion[]; } | { name: "760"; children: BigUnion[]; } | { name: "761"; children: BigUnion[]; } | { name: "762"; children: BigUnion[]; } | { name: "763"; children: BigUnion[]; } | { name: "764"; children: BigUnion[]; } | { name: "765"; children: BigUnion[]; } | { name: "766"; children: BigUnion[]; } | { name: "767"; children: BigUnion[]; } | { name: "768"; children: BigUnion[]; } | { name: "769"; children: BigUnion[]; } | { name: "770"; children: BigUnion[]; } | { name: "771"; children: BigUnion[]; } | { name: "772"; children: BigUnion[]; } | { name: "773"; children: BigUnion[]; } | { name: "774"; children: BigUnion[]; } | { name: "775"; children: BigUnion[]; } | { name: "776"; children: BigUnion[]; } | { name: "777"; children: BigUnion[]; } | { name: "778"; children: BigUnion[]; } | { name: "779"; children: BigUnion[]; } | { name: "780"; children: BigUnion[]; } | { name: "781"; children: BigUnion[]; } | { name: "782"; children: BigUnion[]; } | { name: "783"; children: BigUnion[]; } | { name: "784"; children: BigUnion[]; } | { name: "785"; children: BigUnion[]; } | { name: "786"; children: BigUnion[]; } | { name: "787"; children: BigUnion[]; } | { name: "788"; children: BigUnion[]; } | { name: "789"; children: BigUnion[]; } | { name: "790"; children: BigUnion[]; } | { name: "791"; children: BigUnion[]; } | { name: "792"; children: BigUnion[]; } | { name: "793"; children: BigUnion[]; } | { name: "794"; children: BigUnion[]; } | { name: "795"; children: BigUnion[]; } | { name: "796"; children: BigUnion[]; } | { name: "797"; children: BigUnion[]; } | { name: "798"; children: BigUnion[]; } | { name: "799"; children: BigUnion[]; } | { name: "800"; children: BigUnion[]; } | { name: "801"; children: BigUnion[]; } | { name: "802"; children: BigUnion[]; } | { name: "803"; children: BigUnion[]; } | { name: "804"; children: BigUnion[]; } | { name: "805"; children: BigUnion[]; } | { name: "806"; children: BigUnion[]; } | { name: "807"; children: BigUnion[]; } | { name: "808"; children: BigUnion[]; } | { name: "809"; children: BigUnion[]; } | { name: "810"; children: BigUnion[]; } | { name: "811"; children: BigUnion[]; } | { name: "812"; children: BigUnion[]; } | { name: "813"; children: BigUnion[]; } | { name: "814"; children: BigUnion[]; } | { name: "815"; children: BigUnion[]; } | { name: "816"; children: BigUnion[]; } | { name: "817"; children: BigUnion[]; } | { name: "818"; children: BigUnion[]; } | { name: "819"; children: BigUnion[]; } | { name: "820"; children: BigUnion[]; } | { name: "821"; children: BigUnion[]; } | { name: "822"; children: BigUnion[]; } | { name: "823"; children: BigUnion[]; } | { name: "824"; children: BigUnion[]; } | { name: "825"; children: BigUnion[]; } | { name: "826"; children: BigUnion[]; } | { name: "827"; children: BigUnion[]; } | { name: "828"; children: BigUnion[]; } | { name: "829"; children: BigUnion[]; } | { name: "830"; children: BigUnion[]; } | { name: "831"; children: BigUnion[]; } | { name: "832"; children: BigUnion[]; } | { name: "833"; children: BigUnion[]; } | { name: "834"; children: BigUnion[]; } | { name: "835"; children: BigUnion[]; } | { name: "836"; children: BigUnion[]; } | { name: "837"; children: BigUnion[]; } | { name: "838"; children: BigUnion[]; } | { name: "839"; children: BigUnion[]; } | { name: "840"; children: BigUnion[]; } | { name: "841"; children: BigUnion[]; } | { name: "842"; children: BigUnion[]; } | { name: "843"; children: BigUnion[]; } | { name: "844"; children: BigUnion[]; } | { name: "845"; children: BigUnion[]; } | { name: "846"; children: BigUnion[]; } | { name: "847"; children: BigUnion[]; } | { name: "848"; children: BigUnion[]; } | { name: "849"; children: BigUnion[]; } | { name: "850"; children: BigUnion[]; } | { name: "851"; children: BigUnion[]; } | { name: "852"; children: BigUnion[]; } | { name: "853"; children: BigUnion[]; } | { name: "854"; children: BigUnion[]; } | { name: "855"; children: BigUnion[]; } | { name: "856"; children: BigUnion[]; } | { name: "857"; children: BigUnion[]; } | { name: "858"; children: BigUnion[]; } | { name: "859"; children: BigUnion[]; } | { name: "860"; children: BigUnion[]; } | { name: "861"; children: BigUnion[]; } | { name: "862"; children: BigUnion[]; } | { name: "863"; children: BigUnion[]; } | { name: "864"; children: BigUnion[]; } | { name: "865"; children: BigUnion[]; } | { name: "866"; children: BigUnion[]; } | { name: "867"; children: BigUnion[]; } | { name: "868"; children: BigUnion[]; } | { name: "869"; children: BigUnion[]; } | { name: "870"; children: BigUnion[]; } | { name: "871"; children: BigUnion[]; } | { name: "872"; children: BigUnion[]; } | { name: "873"; children: BigUnion[]; } | { name: "874"; children: BigUnion[]; } | { name: "875"; children: BigUnion[]; } | { name: "876"; children: BigUnion[]; } | { name: "877"; children: BigUnion[]; } | { name: "878"; children: BigUnion[]; } | { name: "879"; children: BigUnion[]; } | { name: "880"; children: BigUnion[]; } | { name: "881"; children: BigUnion[]; } | { name: "882"; children: BigUnion[]; } | { name: "883"; children: BigUnion[]; } | { name: "884"; children: BigUnion[]; } | { name: "885"; children: BigUnion[]; } | { name: "886"; children: BigUnion[]; } | { name: "887"; children: BigUnion[]; } | { name: "888"; children: BigUnion[]; } | { name: "889"; children: BigUnion[]; } | { name: "890"; children: BigUnion[]; } | { name: "891"; children: BigUnion[]; } | { name: "892"; children: BigUnion[]; } | { name: "893"; children: BigUnion[]; } | { name: "894"; children: BigUnion[]; } | { name: "895"; children: BigUnion[]; } | { name: "896"; children: BigUnion[]; } | { name: "897"; children: BigUnion[]; } | { name: "898"; children: BigUnion[]; } | { name: "899"; children: BigUnion[]; } | { name: "900"; children: BigUnion[]; } | { name: "901"; children: BigUnion[]; } | { name: "902"; children: BigUnion[]; } | { name: "903"; children: BigUnion[]; } | { name: "904"; children: BigUnion[]; } | { name: "905"; children: BigUnion[]; } | { name: "906"; children: BigUnion[]; } | { name: "907"; children: BigUnion[]; } | { name: "908"; children: BigUnion[]; } | { name: "909"; children: BigUnion[]; } | { name: "910"; children: BigUnion[]; } | { name: "911"; children: BigUnion[]; } | { name: "912"; children: BigUnion[]; } | { name: "913"; children: BigUnion[]; } | { name: "914"; children: BigUnion[]; } | { name: "915"; children: BigUnion[]; } | { name: "916"; children: BigUnion[]; } | { name: "917"; children: BigUnion[]; } | { name: "918"; children: BigUnion[]; } | { name: "919"; children: BigUnion[]; } | { name: "920"; children: BigUnion[]; } | { name: "921"; children: BigUnion[]; } | { name: "922"; children: BigUnion[]; } | { name: "923"; children: BigUnion[]; } | { name: "924"; children: BigUnion[]; } | { name: "925"; children: BigUnion[]; } | { name: "926"; children: BigUnion[]; } | { name: "927"; children: BigUnion[]; } | { name: "928"; children: BigUnion[]; } | { name: "929"; children: BigUnion[]; } | { name: "930"; children: BigUnion[]; } | { name: "931"; children: BigUnion[]; } | { name: "932"; children: BigUnion[]; } | { name: "933"; children: BigUnion[]; } | { name: "934"; children: BigUnion[]; } | { name: "935"; children: BigUnion[]; } | { name: "936"; children: BigUnion[]; } | { name: "937"; children: BigUnion[]; } | { name: "938"; children: BigUnion[]; } | { name: "939"; children: BigUnion[]; } | { name: "940"; children: BigUnion[]; } | { name: "941"; children: BigUnion[]; } | { name: "942"; children: BigUnion[]; } | { name: "943"; children: BigUnion[]; } | { name: "944"; children: BigUnion[]; } | { name: "945"; children: BigUnion[]; } | { name: "946"; children: BigUnion[]; } | { name: "947"; children: BigUnion[]; } | { name: "948"; children: BigUnion[]; } | { name: "949"; children: BigUnion[]; } | { name: "950"; children: BigUnion[]; } | { name: "951"; children: BigUnion[]; } | { name: "952"; children: BigUnion[]; } | { name: "953"; children: BigUnion[]; } | { name: "954"; children: BigUnion[]; } | { name: "955"; children: BigUnion[]; } | { name: "956"; children: BigUnion[]; } | { name: "957"; children: BigUnion[]; } | { name: "958"; children: BigUnion[]; } | { name: "959"; children: BigUnion[]; } | { name: "960"; children: BigUnion[]; } | { name: "961"; children: BigUnion[]; } | { name: "962"; children: BigUnion[]; } | { name: "963"; children: BigUnion[]; } | { name: "964"; children: BigUnion[]; } | { name: "965"; children: BigUnion[]; } | { name: "966"; children: BigUnion[]; } | { name: "967"; children: BigUnion[]; } | { name: "968"; children: BigUnion[]; } | { name: "969"; children: BigUnion[]; } | { name: "970"; children: BigUnion[]; } | { name: "971"; children: BigUnion[]; } | { name: "972"; children: BigUnion[]; } | { name: "973"; children: BigUnion[]; } | { name: "974"; children: BigUnion[]; } | { name: "975"; children: BigUnion[]; } | { name: "976"; children: BigUnion[]; } | { name: "977"; children: BigUnion[]; } | { name: "978"; children: BigUnion[]; } | { name: "979"; children: BigUnion[]; } | { name: "980"; children: BigUnion[]; } | { name: "981"; children: BigUnion[]; } | { name: "982"; children: BigUnion[]; } | { name: "983"; children: BigUnion[]; } | { name: "984"; children: BigUnion[]; } | { name: "985"; children: BigUnion[]; } | { name: "986"; children: BigUnion[]; } | { name: "987"; children: BigUnion[]; } | { name: "988"; children: BigUnion[]; } | { name: "989"; children: BigUnion[]; } | { name: "990"; children: BigUnion[]; } | { name: "991"; children: BigUnion[]; } | { name: "992"; children: BigUnion[]; } | { name: "993"; children: BigUnion[]; } | { name: "994"; children: BigUnion[]; } | { name: "995"; children: BigUnion[]; } | { name: "996"; children: BigUnion[]; } | { name: "997"; children: BigUnion[]; } | { name: "998"; children: BigUnion[]; } | { name: "999"; children: BigUnion[]; } | { name: "1000"; children: BigUnion[]; } | { name: "1001"; children: BigUnion[]; } | { name: "1002"; children: BigUnion[]; } | { name: "1003"; children: BigUnion[]; } | { name: "1004"; children: BigUnion[]; } | { name: "1005"; children: BigUnion[]; } | { name: "1006"; children: BigUnion[]; } | { name: "1007"; children: BigUnion[]; } | { name: "1008"; children: BigUnion[]; } | { name: "1009"; children: BigUnion[]; } | { name: "1010"; children: BigUnion[]; } | { name: "1011"; children: BigUnion[]; } | { name: "1012"; children: BigUnion[]; } | { name: "1013"; children: BigUnion[]; } | { name: "1014"; children: BigUnion[]; } | { name: "1015"; children: BigUnion[]; } | { name: "1016"; children: BigUnion[]; } | { name: "1017"; children: BigUnion[]; } | { name: "1018"; children: BigUnion[]; } | { name: "1019"; children: BigUnion[]; } | { name: "1020"; children: BigUnion[]; } | { name: "1021"; children: BigUnion[]; } | { name: "1022"; children: BigUnion[]; } | { name: "1023"; children: BigUnion[]; } | { name: "1024"; children: BigUnion[]; } | { name: "1025"; children: BigUnion[]; } | { name: "1026"; children: BigUnion[]; } | { name: "1027"; children: BigUnion[]; } | { name: "1028"; children: BigUnion[]; } | { name: "1029"; children: BigUnion[]; } | { name: "1030"; children: BigUnion[]; } | { name: "1031"; children: BigUnion[]; } | { name: "1032"; children: BigUnion[]; } | { name: "1033"; children: BigUnion[]; } | { name: "1034"; children: BigUnion[]; } | { name: "1035"; children: BigUnion[]; } | { name: "1036"; children: BigUnion[]; } | { name: "1037"; children: BigUnion[]; } | { name: "1038"; children: BigUnion[]; } | { name: "1039"; children: BigUnion[]; } | { name: "1040"; children: BigUnion[]; } | { name: "1041"; children: BigUnion[]; } | { name: "1042"; children: BigUnion[]; } | { name: "1043"; children: BigUnion[]; } | { name: "1044"; children: BigUnion[]; } | { name: "1045"; children: BigUnion[]; } | { name: "1046"; children: BigUnion[]; } | { name: "1047"; children: BigUnion[]; } | { name: "1048"; children: BigUnion[]; } | { name: "1049"; children: BigUnion[]; } | { name: "1050"; children: BigUnion[]; } | { name: "1051"; children: BigUnion[]; } | { name: "1052"; children: BigUnion[]; } | { name: "1053"; children: BigUnion[]; } | { name: "1054"; children: BigUnion[]; } | { name: "1055"; children: BigUnion[]; } | { name: "1056"; children: BigUnion[]; } | { name: "1057"; children: BigUnion[]; } | { name: "1058"; children: BigUnion[]; } | { name: "1059"; children: BigUnion[]; } | { name: "1060"; children: BigUnion[]; } | { name: "1061"; children: BigUnion[]; } | { name: "1062"; children: BigUnion[]; } | { name: "1063"; children: BigUnion[]; } | { name: "1064"; children: BigUnion[]; } | { name: "1065"; children: BigUnion[]; } | { name: "1066"; children: BigUnion[]; } | { name: "1067"; children: BigUnion[]; } | { name: "1068"; children: BigUnion[]; } | { name: "1069"; children: BigUnion[]; } | { name: "1070"; children: BigUnion[]; } | { name: "1071"; children: BigUnion[]; } | { name: "1072"; children: BigUnion[]; } | { name: "1073"; children: BigUnion[]; } | { name: "1074"; children: BigUnion[]; } | { name: "1075"; children: BigUnion[]; } | { name: "1076"; children: BigUnion[]; } | { name: "1077"; children: BigUnion[]; } | { name: "1078"; children: BigUnion[]; } | { name: "1079"; children: BigUnion[]; } | { name: "1080"; children: BigUnion[]; } | { name: "1081"; children: BigUnion[]; } | { name: "1082"; children: BigUnion[]; } | { name: "1083"; children: BigUnion[]; } | { name: "1084"; children: BigUnion[]; } | { name: "1085"; children: BigUnion[]; } | { name: "1086"; children: BigUnion[]; } | { name: "1087"; children: BigUnion[]; } | { name: "1088"; children: BigUnion[]; } | { name: "1089"; children: BigUnion[]; } | { name: "1090"; children: BigUnion[]; } | { name: "1091"; children: BigUnion[]; } | { name: "1092"; children: BigUnion[]; } | { name: "1093"; children: BigUnion[]; } | { name: "1094"; children: BigUnion[]; } | { name: "1095"; children: BigUnion[]; } | { name: "1096"; children: BigUnion[]; } | { name: "1097"; children: BigUnion[]; } | { name: "1098"; children: BigUnion[]; } | { name: "1099"; children: BigUnion[]; } | { name: "1100"; children: BigUnion[]; } | { name: "1101"; children: BigUnion[]; } | { name: "1102"; children: BigUnion[]; } | { name: "1103"; children: BigUnion[]; } | { name: "1104"; children: BigUnion[]; } | { name: "1105"; children: BigUnion[]; } | { name: "1106"; children: BigUnion[]; } | { name: "1107"; children: BigUnion[]; } | { name: "1108"; children: BigUnion[]; } | { name: "1109"; children: BigUnion[]; } | { name: "1110"; children: BigUnion[]; } | { name: "1111"; children: BigUnion[]; } | { name: "1112"; children: BigUnion[]; } | { name: "1113"; children: BigUnion[]; } | { name: "1114"; children: BigUnion[]; } | { name: "1115"; children: BigUnion[]; } | { name: "1116"; children: BigUnion[]; } | { name: "1117"; children: BigUnion[]; } | { name: "1118"; children: BigUnion[]; } | { name: "1119"; children: BigUnion[]; } | { name: "1120"; children: BigUnion[]; } | { name: "1121"; children: BigUnion[]; } | { name: "1122"; children: BigUnion[]; } | { name: "1123"; children: BigUnion[]; } | { name: "1124"; children: BigUnion[]; } | { name: "1125"; children: BigUnion[]; } | { name: "1126"; children: BigUnion[]; } | { name: "1127"; children: BigUnion[]; } | { name: "1128"; children: BigUnion[]; } | { name: "1129"; children: BigUnion[]; } | { name: "1130"; children: BigUnion[]; } | { name: "1131"; children: BigUnion[]; } | { name: "1132"; children: BigUnion[]; } | { name: "1133"; children: BigUnion[]; } | { name: "1134"; children: BigUnion[]; } | { name: "1135"; children: BigUnion[]; } | { name: "1136"; children: BigUnion[]; } | { name: "1137"; children: BigUnion[]; } | { name: "1138"; children: BigUnion[]; } | { name: "1139"; children: BigUnion[]; } | { name: "1140"; children: BigUnion[]; } | { name: "1141"; children: BigUnion[]; } | { name: "1142"; children: BigUnion[]; } | { name: "1143"; children: BigUnion[]; } | { name: "1144"; children: BigUnion[]; } | { name: "1145"; children: BigUnion[]; } | { name: "1146"; children: BigUnion[]; } | { name: "1147"; children: BigUnion[]; } | { name: "1148"; children: BigUnion[]; } | { name: "1149"; children: BigUnion[]; } | { name: "1150"; children: BigUnion[]; } | { name: "1151"; children: BigUnion[]; } | { name: "1152"; children: BigUnion[]; } | { name: "1153"; children: BigUnion[]; } | { name: "1154"; children: BigUnion[]; } | { name: "1155"; children: BigUnion[]; } | { name: "1156"; children: BigUnion[]; } | { name: "1157"; children: BigUnion[]; } | { name: "1158"; children: BigUnion[]; } | { name: "1159"; children: BigUnion[]; } | { name: "1160"; children: BigUnion[]; } | { name: "1161"; children: BigUnion[]; } | { name: "1162"; children: BigUnion[]; } | { name: "1163"; children: BigUnion[]; } | { name: "1164"; children: BigUnion[]; } | { name: "1165"; children: BigUnion[]; } | { name: "1166"; children: BigUnion[]; } | { name: "1167"; children: BigUnion[]; } | { name: "1168"; children: BigUnion[]; } | { name: "1169"; children: BigUnion[]; } | { name: "1170"; children: BigUnion[]; } | { name: "1171"; children: BigUnion[]; } | { name: "1172"; children: BigUnion[]; } | { name: "1173"; children: BigUnion[]; } | { name: "1174"; children: BigUnion[]; } | { name: "1175"; children: BigUnion[]; } | { name: "1176"; children: BigUnion[]; } | { name: "1177"; children: BigUnion[]; } | { name: "1178"; children: BigUnion[]; } | { name: "1179"; children: BigUnion[]; } | { name: "1180"; children: BigUnion[]; } | { name: "1181"; children: BigUnion[]; } | { name: "1182"; children: BigUnion[]; } | { name: "1183"; children: BigUnion[]; } | { name: "1184"; children: BigUnion[]; } | { name: "1185"; children: BigUnion[]; } | { name: "1186"; children: BigUnion[]; } | { name: "1187"; children: BigUnion[]; } | { name: "1188"; children: BigUnion[]; } | { name: "1189"; children: BigUnion[]; } | { name: "1190"; children: BigUnion[]; } | { name: "1191"; children: BigUnion[]; } | { name: "1192"; children: BigUnion[]; } | { name: "1193"; children: BigUnion[]; } | { name: "1194"; children: BigUnion[]; } | { name: "1195"; children: BigUnion[]; } | { name: "1196"; children: BigUnion[]; } | { name: "1197"; children: BigUnion[]; } | { name: "1198"; children: BigUnion[]; } | { name: "1199"; children: BigUnion[]; } | { name: "1200"; children: BigUnion[]; } | { name: "1201"; children: BigUnion[]; } | { name: "1202"; children: BigUnion[]; } | { name: "1203"; children: BigUnion[]; } | { name: "1204"; children: BigUnion[]; } | { name: "1205"; children: BigUnion[]; } | { name: "1206"; children: BigUnion[]; } | { name: "1207"; children: BigUnion[]; } | { name: "1208"; children: BigUnion[]; } | { name: "1209"; children: BigUnion[]; } | { name: "1210"; children: BigUnion[]; } | { name: "1211"; children: BigUnion[]; } | { name: "1212"; children: BigUnion[]; } | { name: "1213"; children: BigUnion[]; } | { name: "1214"; children: BigUnion[]; } | { name: "1215"; children: BigUnion[]; } | { name: "1216"; children: BigUnion[]; } | { name: "1217"; children: BigUnion[]; } | { name: "1218"; children: BigUnion[]; } | { name: "1219"; children: BigUnion[]; } | { name: "1220"; children: BigUnion[]; } | { name: "1221"; children: BigUnion[]; } | { name: "1222"; children: BigUnion[]; } | { name: "1223"; children: BigUnion[]; } | { name: "1224"; children: BigUnion[]; } | { name: "1225"; children: BigUnion[]; } | { name: "1226"; children: BigUnion[]; } | { name: "1227"; children: BigUnion[]; } | { name: "1228"; children: BigUnion[]; } | { name: "1229"; children: BigUnion[]; } | { name: "1230"; children: BigUnion[]; } | { name: "1231"; children: BigUnion[]; } | { name: "1232"; children: BigUnion[]; } | { name: "1233"; children: BigUnion[]; } | { name: "1234"; children: BigUnion[]; } | { name: "1235"; children: BigUnion[]; } | { name: "1236"; children: BigUnion[]; } | { name: "1237"; children: BigUnion[]; } | { name: "1238"; children: BigUnion[]; } | { name: "1239"; children: BigUnion[]; } | { name: "1240"; children: BigUnion[]; } | { name: "1241"; children: BigUnion[]; } | { name: "1242"; children: BigUnion[]; } | { name: "1243"; children: BigUnion[]; } | { name: "1244"; children: BigUnion[]; } | { name: "1245"; children: BigUnion[]; } | { name: "1246"; children: BigUnion[]; } | { name: "1247"; children: BigUnion[]; } | { name: "1248"; children: BigUnion[]; } | { name: "1249"; children: BigUnion[]; } | { name: "1250"; children: BigUnion[]; } | { name: "1251"; children: BigUnion[]; } | { name: "1252"; children: BigUnion[]; } | { name: "1253"; children: BigUnion[]; } | { name: "1254"; children: BigUnion[]; } | { name: "1255"; children: BigUnion[]; } | { name: "1256"; children: BigUnion[]; } | { name: "1257"; children: BigUnion[]; } | { name: "1258"; children: BigUnion[]; } | { name: "1259"; children: BigUnion[]; } | { name: "1260"; children: BigUnion[]; } | { name: "1261"; children: BigUnion[]; } | { name: "1262"; children: BigUnion[]; } | { name: "1263"; children: BigUnion[]; } | { name: "1264"; children: BigUnion[]; } | { name: "1265"; children: BigUnion[]; } | { name: "1266"; children: BigUnion[]; } | { name: "1267"; children: BigUnion[]; } | { name: "1268"; children: BigUnion[]; } | { name: "1269"; children: BigUnion[]; } | { name: "1270"; children: BigUnion[]; } | { name: "1271"; children: BigUnion[]; } | { name: "1272"; children: BigUnion[]; } | { name: "1273"; children: BigUnion[]; } | { name: "1274"; children: BigUnion[]; } | { name: "1275"; children: BigUnion[]; } | { name: "1276"; children: BigUnion[]; } | { name: "1277"; children: BigUnion[]; } | { name: "1278"; children: BigUnion[]; } | { name: "1279"; children: BigUnion[]; } | { name: "1280"; children: BigUnion[]; } | { name: "1281"; children: BigUnion[]; } | { name: "1282"; children: BigUnion[]; } | { name: "1283"; children: BigUnion[]; } | { name: "1284"; children: BigUnion[]; } | { name: "1285"; children: BigUnion[]; } | { name: "1286"; children: BigUnion[]; } | { name: "1287"; children: BigUnion[]; } | { name: "1288"; children: BigUnion[]; } | { name: "1289"; children: BigUnion[]; } | { name: "1290"; children: BigUnion[]; } | { name: "1291"; children: BigUnion[]; } | { name: "1292"; children: BigUnion[]; } | { name: "1293"; children: BigUnion[]; } | { name: "1294"; children: BigUnion[]; } | { name: "1295"; children: BigUnion[]; } | { name: "1296"; children: BigUnion[]; } | { name: "1297"; children: BigUnion[]; } | { name: "1298"; children: BigUnion[]; } | { name: "1299"; children: BigUnion[]; } | { name: "1300"; children: BigUnion[]; } | { name: "1301"; children: BigUnion[]; } | { name: "1302"; children: BigUnion[]; } | { name: "1303"; children: BigUnion[]; } | { name: "1304"; children: BigUnion[]; } | { name: "1305"; children: BigUnion[]; } | { name: "1306"; children: BigUnion[]; } | { name: "1307"; children: BigUnion[]; } | { name: "1308"; children: BigUnion[]; } | { name: "1309"; children: BigUnion[]; } | { name: "1310"; children: BigUnion[]; } | { name: "1311"; children: BigUnion[]; } | { name: "1312"; children: BigUnion[]; } | { name: "1313"; children: BigUnion[]; } | { name: "1314"; children: BigUnion[]; } | { name: "1315"; children: BigUnion[]; } | { name: "1316"; children: BigUnion[]; } | { name: "1317"; children: BigUnion[]; } | { name: "1318"; children: BigUnion[]; } | { name: "1319"; children: BigUnion[]; } | { name: "1320"; children: BigUnion[]; } | { name: "1321"; children: BigUnion[]; } | { name: "1322"; children: BigUnion[]; } | { name: "1323"; children: BigUnion[]; } | { name: "1324"; children: BigUnion[]; } | { name: "1325"; children: BigUnion[]; } | { name: "1326"; children: BigUnion[]; } | { name: "1327"; children: BigUnion[]; } | { name: "1328"; children: BigUnion[]; } | { name: "1329"; children: BigUnion[]; } | { name: "1330"; children: BigUnion[]; } | { name: "1331"; children: BigUnion[]; } | { name: "1332"; children: BigUnion[]; } | { name: "1333"; children: BigUnion[]; } | { name: "1334"; children: BigUnion[]; } | { name: "1335"; children: BigUnion[]; } | { name: "1336"; children: BigUnion[]; } | { name: "1337"; children: BigUnion[]; } | { name: "1338"; children: BigUnion[]; } | { name: "1339"; children: BigUnion[]; } | { name: "1340"; children: BigUnion[]; } | { name: "1341"; children: BigUnion[]; } | { name: "1342"; children: BigUnion[]; } | { name: "1343"; children: BigUnion[]; } | { name: "1344"; children: BigUnion[]; } | { name: "1345"; children: BigUnion[]; } | { name: "1346"; children: BigUnion[]; } | { name: "1347"; children: BigUnion[]; } | { name: "1348"; children: BigUnion[]; } | { name: "1349"; children: BigUnion[]; } | { name: "1350"; children: BigUnion[]; } | { name: "1351"; children: BigUnion[]; } | { name: "1352"; children: BigUnion[]; } | { name: "1353"; children: BigUnion[]; } | { name: "1354"; children: BigUnion[]; } | { name: "1355"; children: BigUnion[]; } | { name: "1356"; children: BigUnion[]; } | { name: "1357"; children: BigUnion[]; } | { name: "1358"; children: BigUnion[]; } | { name: "1359"; children: BigUnion[]; } | { name: "1360"; children: BigUnion[]; } | { name: "1361"; children: BigUnion[]; } | { name: "1362"; children: BigUnion[]; } | { name: "1363"; children: BigUnion[]; } | { name: "1364"; children: BigUnion[]; } | { name: "1365"; children: BigUnion[]; } | { name: "1366"; children: BigUnion[]; } | { name: "1367"; children: BigUnion[]; } | { name: "1368"; children: BigUnion[]; } | { name: "1369"; children: BigUnion[]; } | { name: "1370"; children: BigUnion[]; } | { name: "1371"; children: BigUnion[]; } | { name: "1372"; children: BigUnion[]; } | { name: "1373"; children: BigUnion[]; } | { name: "1374"; children: BigUnion[]; } | { name: "1375"; children: BigUnion[]; } | { name: "1376"; children: BigUnion[]; } | { name: "1377"; children: BigUnion[]; } | { name: "1378"; children: BigUnion[]; } | { name: "1379"; children: BigUnion[]; } | { name: "1380"; children: BigUnion[]; } | { name: "1381"; children: BigUnion[]; } | { name: "1382"; children: BigUnion[]; } | { name: "1383"; children: BigUnion[]; } | { name: "1384"; children: BigUnion[]; } | { name: "1385"; children: BigUnion[]; } | { name: "1386"; children: BigUnion[]; } | { name: "1387"; children: BigUnion[]; } | { name: "1388"; children: BigUnion[]; } | { name: "1389"; children: BigUnion[]; } | { name: "1390"; children: BigUnion[]; } | { name: "1391"; children: BigUnion[]; } | { name: "1392"; children: BigUnion[]; } | { name: "1393"; children: BigUnion[]; } | { name: "1394"; children: BigUnion[]; } | { name: "1395"; children: BigUnion[]; } | { name: "1396"; children: BigUnion[]; } | { name: "1397"; children: BigUnion[]; } | { name: "1398"; children: BigUnion[]; } | { name: "1399"; children: BigUnion[]; } | { name: "1400"; children: BigUnion[]; } | { name: "1401"; children: BigUnion[]; } | { name: "1402"; children: BigUnion[]; } | { name: "1403"; children: BigUnion[]; } | { name: "1404"; children: BigUnion[]; } | { name: "1405"; children: BigUnion[]; } | { name: "1406"; children: BigUnion[]; } | { name: "1407"; children: BigUnion[]; } | { name: "1408"; children: BigUnion[]; } | { name: "1409"; children: BigUnion[]; } | { name: "1410"; children: BigUnion[]; } | { name: "1411"; children: BigUnion[]; } | { name: "1412"; children: BigUnion[]; } | { name: "1413"; children: BigUnion[]; } | { name: "1414"; children: BigUnion[]; } | { name: "1415"; children: BigUnion[]; } | { name: "1416"; children: BigUnion[]; } | { name: "1417"; children: BigUnion[]; } | { name: "1418"; children: BigUnion[]; } | { name: "1419"; children: BigUnion[]; } | { name: "1420"; children: BigUnion[]; } | { name: "1421"; children: BigUnion[]; } | { name: "1422"; children: BigUnion[]; } | { name: "1423"; children: BigUnion[]; } | { name: "1424"; children: BigUnion[]; } | { name: "1425"; children: BigUnion[]; } | { name: "1426"; children: BigUnion[]; } | { name: "1427"; children: BigUnion[]; } | { name: "1428"; children: BigUnion[]; } | { name: "1429"; children: BigUnion[]; } | { name: "1430"; children: BigUnion[]; } | { name: "1431"; children: BigUnion[]; } | { name: "1432"; children: BigUnion[]; } | { name: "1433"; children: BigUnion[]; } | { name: "1434"; children: BigUnion[]; } | { name: "1435"; children: BigUnion[]; } | { name: "1436"; children: BigUnion[]; } | { name: "1437"; children: BigUnion[]; } | { name: "1438"; children: BigUnion[]; } | { name: "1439"; children: BigUnion[]; } | { name: "1440"; children: BigUnion[]; } | { name: "1441"; children: BigUnion[]; } | { name: "1442"; children: BigUnion[]; } | { name: "1443"; children: BigUnion[]; } | { name: "1444"; children: BigUnion[]; } | { name: "1445"; children: BigUnion[]; } | { name: "1446"; children: BigUnion[]; } | { name: "1447"; children: BigUnion[]; } | { name: "1448"; children: BigUnion[]; } | { name: "1449"; children: BigUnion[]; } | { name: "1450"; children: BigUnion[]; } | { name: "1451"; children: BigUnion[]; } | { name: "1452"; children: BigUnion[]; } | { name: "1453"; children: BigUnion[]; } | { name: "1454"; children: BigUnion[]; } | { name: "1455"; children: BigUnion[]; } | { name: "1456"; children: BigUnion[]; } | { name: "1457"; children: BigUnion[]; } | { name: "1458"; children: BigUnion[]; } | { name: "1459"; children: BigUnion[]; } | { name: "1460"; children: BigUnion[]; } | { name: "1461"; children: BigUnion[]; } | { name: "1462"; children: BigUnion[]; } | { name: "1463"; children: BigUnion[]; } | { name: "1464"; children: BigUnion[]; } | { name: "1465"; children: BigUnion[]; } | { name: "1466"; children: BigUnion[]; } | { name: "1467"; children: BigUnion[]; } | { name: "1468"; children: BigUnion[]; } | { name: "1469"; children: BigUnion[]; } | { name: "1470"; children: BigUnion[]; } | { name: "1471"; children: BigUnion[]; } | { name: "1472"; children: BigUnion[]; } | { name: "1473"; children: BigUnion[]; } | { name: "1474"; children: BigUnion[]; } | { name: "1475"; children: BigUnion[]; } | { name: "1476"; children: BigUnion[]; } | { name: "1477"; children: BigUnion[]; } | { name: "1478"; children: BigUnion[]; } | { name: "1479"; children: BigUnion[]; } | { name: "1480"; children: BigUnion[]; } | { name: "1481"; children: BigUnion[]; } | { name: "1482"; children: BigUnion[]; } | { name: "1483"; children: BigUnion[]; } | { name: "1484"; children: BigUnion[]; } | { name: "1485"; children: BigUnion[]; } | { name: "1486"; children: BigUnion[]; } | { name: "1487"; children: BigUnion[]; } | { name: "1488"; children: BigUnion[]; } | { name: "1489"; children: BigUnion[]; } | { name: "1490"; children: BigUnion[]; } | { name: "1491"; children: BigUnion[]; } | { name: "1492"; children: BigUnion[]; } | { name: "1493"; children: BigUnion[]; } | { name: "1494"; children: BigUnion[]; } | { name: "1495"; children: BigUnion[]; } | { name: "1496"; children: BigUnion[]; } | { name: "1497"; children: BigUnion[]; } | { name: "1498"; children: BigUnion[]; } | { name: "1499"; children: BigUnion[]; } | { name: "1500"; children: BigUnion[]; } | { name: "1501"; children: BigUnion[]; } | { name: "1502"; children: BigUnion[]; } | { name: "1503"; children: BigUnion[]; } | { name: "1504"; children: BigUnion[]; } | { name: "1505"; children: BigUnion[]; } | { name: "1506"; children: BigUnion[]; } | { name: "1507"; children: BigUnion[]; } | { name: "1508"; children: BigUnion[]; } | { name: "1509"; children: BigUnion[]; } | { name: "1510"; children: BigUnion[]; } | { name: "1511"; children: BigUnion[]; } | { name: "1512"; children: BigUnion[]; } | { name: "1513"; children: BigUnion[]; } | { name: "1514"; children: BigUnion[]; } | { name: "1515"; children: BigUnion[]; } | { name: "1516"; children: BigUnion[]; } | { name: "1517"; children: BigUnion[]; } | { name: "1518"; children: BigUnion[]; } | { name: "1519"; children: BigUnion[]; } | { name: "1520"; children: BigUnion[]; } | { name: "1521"; children: BigUnion[]; } | { name: "1522"; children: BigUnion[]; } | { name: "1523"; children: BigUnion[]; } | { name: "1524"; children: BigUnion[]; } | { name: "1525"; children: BigUnion[]; } | { name: "1526"; children: BigUnion[]; } | { name: "1527"; children: BigUnion[]; } | { name: "1528"; children: BigUnion[]; } | { name: "1529"; children: BigUnion[]; } | { name: "1530"; children: BigUnion[]; } | { name: "1531"; children: BigUnion[]; } | { name: "1532"; children: BigUnion[]; } | { name: "1533"; children: BigUnion[]; } | { name: "1534"; children: BigUnion[]; } | { name: "1535"; children: BigUnion[]; } | { name: "1536"; children: BigUnion[]; } | { name: "1537"; children: BigUnion[]; } | { name: "1538"; children: BigUnion[]; } | { name: "1539"; children: BigUnion[]; } | { name: "1540"; children: BigUnion[]; } | { name: "1541"; children: BigUnion[]; } | { name: "1542"; children: BigUnion[]; } | { name: "1543"; children: BigUnion[]; } | { name: "1544"; children: BigUnion[]; } | { name: "1545"; children: BigUnion[]; } | { name: "1546"; children: BigUnion[]; } | { name: "1547"; children: BigUnion[]; } | { name: "1548"; children: BigUnion[]; } | { name: "1549"; children: BigUnion[]; } | { name: "1550"; children: BigUnion[]; } | { name: "1551"; children: BigUnion[]; } | { name: "1552"; children: BigUnion[]; } | { name: "1553"; children: BigUnion[]; } | { name: "1554"; children: BigUnion[]; } | { name: "1555"; children: BigUnion[]; } | { name: "1556"; children: BigUnion[]; } | { name: "1557"; children: BigUnion[]; } | { name: "1558"; children: BigUnion[]; } | { name: "1559"; children: BigUnion[]; } | { name: "1560"; children: BigUnion[]; } | { name: "1561"; children: BigUnion[]; } | { name: "1562"; children: BigUnion[]; } | { name: "1563"; children: BigUnion[]; } | { name: "1564"; children: BigUnion[]; } | { name: "1565"; children: BigUnion[]; } | { name: "1566"; children: BigUnion[]; } | { name: "1567"; children: BigUnion[]; } | { name: "1568"; children: BigUnion[]; } | { name: "1569"; children: BigUnion[]; } | { name: "1570"; children: BigUnion[]; } | { name: "1571"; children: BigUnion[]; } | { name: "1572"; children: BigUnion[]; } | { name: "1573"; children: BigUnion[]; } | { name: "1574"; children: BigUnion[]; } | { name: "1575"; children: BigUnion[]; } | { name: "1576"; children: BigUnion[]; } | { name: "1577"; children: BigUnion[]; } | { name: "1578"; children: BigUnion[]; } | { name: "1579"; children: BigUnion[]; } | { name: "1580"; children: BigUnion[]; } | { name: "1581"; children: BigUnion[]; } | { name: "1582"; children: BigUnion[]; } | { name: "1583"; children: BigUnion[]; } | { name: "1584"; children: BigUnion[]; } | { name: "1585"; children: BigUnion[]; } | { name: "1586"; children: BigUnion[]; } | { name: "1587"; children: BigUnion[]; } | { name: "1588"; children: BigUnion[]; } | { name: "1589"; children: BigUnion[]; } | { name: "1590"; children: BigUnion[]; } | { name: "1591"; children: BigUnion[]; } | { name: "1592"; children: BigUnion[]; } | { name: "1593"; children: BigUnion[]; } | { name: "1594"; children: BigUnion[]; } | { name: "1595"; children: BigUnion[]; } | { name: "1596"; children: BigUnion[]; } | { name: "1597"; children: BigUnion[]; } | { name: "1598"; children: BigUnion[]; } | { name: "1599"; children: BigUnion[]; } | { name: "1600"; children: BigUnion[]; } | { name: "1601"; children: BigUnion[]; } | { name: "1602"; children: BigUnion[]; } | { name: "1603"; children: BigUnion[]; } | { name: "1604"; children: BigUnion[]; } | { name: "1605"; children: BigUnion[]; } | { name: "1606"; children: BigUnion[]; } | { name: "1607"; children: BigUnion[]; } | { name: "1608"; children: BigUnion[]; } | { name: "1609"; children: BigUnion[]; } | { name: "1610"; children: BigUnion[]; } | { name: "1611"; children: BigUnion[]; } | { name: "1612"; children: BigUnion[]; } | { name: "1613"; children: BigUnion[]; } | { name: "1614"; children: BigUnion[]; } | { name: "1615"; children: BigUnion[]; } | { name: "1616"; children: BigUnion[]; } | { name: "1617"; children: BigUnion[]; } | { name: "1618"; children: BigUnion[]; } | { name: "1619"; children: BigUnion[]; } | { name: "1620"; children: BigUnion[]; } | { name: "1621"; children: BigUnion[]; } | { name: "1622"; children: BigUnion[]; } | { name: "1623"; children: BigUnion[]; } | { name: "1624"; children: BigUnion[]; } | { name: "1625"; children: BigUnion[]; } | { name: "1626"; children: BigUnion[]; } | { name: "1627"; children: BigUnion[]; } | { name: "1628"; children: BigUnion[]; } | { name: "1629"; children: BigUnion[]; } | { name: "1630"; children: BigUnion[]; } | { name: "1631"; children: BigUnion[]; } | { name: "1632"; children: BigUnion[]; } | { name: "1633"; children: BigUnion[]; } | { name: "1634"; children: BigUnion[]; } | { name: "1635"; children: BigUnion[]; } | { name: "1636"; children: BigUnion[]; } | { name: "1637"; children: BigUnion[]; } | { name: "1638"; children: BigUnion[]; } | { name: "1639"; children: BigUnion[]; } | { name: "1640"; children: BigUnion[]; } | { name: "1641"; children: BigUnion[]; } | { name: "1642"; children: BigUnion[]; } | { name: "1643"; children: BigUnion[]; } | { name: "1644"; children: BigUnion[]; } | { name: "1645"; children: BigUnion[]; } | { name: "1646"; children: BigUnion[]; } | { name: "1647"; children: BigUnion[]; } | { name: "1648"; children: BigUnion[]; } | { name: "1649"; children: BigUnion[]; } | { name: "1650"; children: BigUnion[]; } | { name: "1651"; children: BigUnion[]; } | { name: "1652"; children: BigUnion[]; } | { name: "1653"; children: BigUnion[]; } | { name: "1654"; children: BigUnion[]; } | { name: "1655"; children: BigUnion[]; } | { name: "1656"; children: BigUnion[]; } | { name: "1657"; children: BigUnion[]; } | { name: "1658"; children: BigUnion[]; } | { name: "1659"; children: BigUnion[]; } | { name: "1660"; children: BigUnion[]; } | { name: "1661"; children: BigUnion[]; } | { name: "1662"; children: BigUnion[]; } | { name: "1663"; children: BigUnion[]; } | { name: "1664"; children: BigUnion[]; } | { name: "1665"; children: BigUnion[]; } | { name: "1666"; children: BigUnion[]; } | { name: "1667"; children: BigUnion[]; } | { name: "1668"; children: BigUnion[]; } | { name: "1669"; children: BigUnion[]; } | { name: "1670"; children: BigUnion[]; } | { name: "1671"; children: BigUnion[]; } | { name: "1672"; children: BigUnion[]; } | { name: "1673"; children: BigUnion[]; } | { name: "1674"; children: BigUnion[]; } | { name: "1675"; children: BigUnion[]; } | { name: "1676"; children: BigUnion[]; } | { name: "1677"; children: BigUnion[]; } | { name: "1678"; children: BigUnion[]; } | { name: "1679"; children: BigUnion[]; } | { name: "1680"; children: BigUnion[]; } | { name: "1681"; children: BigUnion[]; } | { name: "1682"; children: BigUnion[]; } | { name: "1683"; children: BigUnion[]; } | { name: "1684"; children: BigUnion[]; } | { name: "1685"; children: BigUnion[]; } | { name: "1686"; children: BigUnion[]; } | { name: "1687"; children: BigUnion[]; } | { name: "1688"; children: BigUnion[]; } | { name: "1689"; children: BigUnion[]; } | { name: "1690"; children: BigUnion[]; } | { name: "1691"; children: BigUnion[]; } | { name: "1692"; children: BigUnion[]; } | { name: "1693"; children: BigUnion[]; } | { name: "1694"; children: BigUnion[]; } | { name: "1695"; children: BigUnion[]; } | { name: "1696"; children: BigUnion[]; } | { name: "1697"; children: BigUnion[]; } | { name: "1698"; children: BigUnion[]; } | { name: "1699"; children: BigUnion[]; } | { name: "1700"; children: BigUnion[]; } | { name: "1701"; children: BigUnion[]; } | { name: "1702"; children: BigUnion[]; } | { name: "1703"; children: BigUnion[]; } | { name: "1704"; children: BigUnion[]; } | { name: "1705"; children: BigUnion[]; } | { name: "1706"; children: BigUnion[]; } | { name: "1707"; children: BigUnion[]; } | { name: "1708"; children: BigUnion[]; } | { name: "1709"; children: BigUnion[]; } | { name: "1710"; children: BigUnion[]; } | { name: "1711"; children: BigUnion[]; } | { name: "1712"; children: BigUnion[]; } | { name: "1713"; children: BigUnion[]; } | { name: "1714"; children: BigUnion[]; } | { name: "1715"; children: BigUnion[]; } | { name: "1716"; children: BigUnion[]; } | { name: "1717"; children: BigUnion[]; } | { name: "1718"; children: BigUnion[]; } | { name: "1719"; children: BigUnion[]; } | { name: "1720"; children: BigUnion[]; } | { name: "1721"; children: BigUnion[]; } | { name: "1722"; children: BigUnion[]; } | { name: "1723"; children: BigUnion[]; } | { name: "1724"; children: BigUnion[]; } | { name: "1725"; children: BigUnion[]; } | { name: "1726"; children: BigUnion[]; } | { name: "1727"; children: BigUnion[]; } | { name: "1728"; children: BigUnion[]; } | { name: "1729"; children: BigUnion[]; } | { name: "1730"; children: BigUnion[]; } | { name: "1731"; children: BigUnion[]; } | { name: "1732"; children: BigUnion[]; } | { name: "1733"; children: BigUnion[]; } | { name: "1734"; children: BigUnion[]; } | { name: "1735"; children: BigUnion[]; } | { name: "1736"; children: BigUnion[]; } | { name: "1737"; children: BigUnion[]; } | { name: "1738"; children: BigUnion[]; } | { name: "1739"; children: BigUnion[]; } | { name: "1740"; children: BigUnion[]; } | { name: "1741"; children: BigUnion[]; } | { name: "1742"; children: BigUnion[]; } | { name: "1743"; children: BigUnion[]; } | { name: "1744"; children: BigUnion[]; } | { name: "1745"; children: BigUnion[]; } | { name: "1746"; children: BigUnion[]; } | { name: "1747"; children: BigUnion[]; } | { name: "1748"; children: BigUnion[]; } | { name: "1749"; children: BigUnion[]; } | { name: "1750"; children: BigUnion[]; } | { name: "1751"; children: BigUnion[]; } | { name: "1752"; children: BigUnion[]; } | { name: "1753"; children: BigUnion[]; } | { name: "1754"; children: BigUnion[]; } | { name: "1755"; children: BigUnion[]; } | { name: "1756"; children: BigUnion[]; } | { name: "1757"; children: BigUnion[]; } | { name: "1758"; children: BigUnion[]; } | { name: "1759"; children: BigUnion[]; } | { name: "1760"; children: BigUnion[]; } | { name: "1761"; children: BigUnion[]; } | { name: "1762"; children: BigUnion[]; } | { name: "1763"; children: BigUnion[]; } | { name: "1764"; children: BigUnion[]; } | { name: "1765"; children: BigUnion[]; } | { name: "1766"; children: BigUnion[]; } | { name: "1767"; children: BigUnion[]; } | { name: "1768"; children: BigUnion[]; } | { name: "1769"; children: BigUnion[]; } | { name: "1770"; children: BigUnion[]; } | { name: "1771"; children: BigUnion[]; } | { name: "1772"; children: BigUnion[]; } | { name: "1773"; children: BigUnion[]; } | { name: "1774"; children: BigUnion[]; } | { name: "1775"; children: BigUnion[]; } | { name: "1776"; children: BigUnion[]; } | { name: "1777"; children: BigUnion[]; } | { name: "1778"; children: BigUnion[]; } | { name: "1779"; children: BigUnion[]; } | { name: "1780"; children: BigUnion[]; } | { name: "1781"; children: BigUnion[]; } | { name: "1782"; children: BigUnion[]; } | { name: "1783"; children: BigUnion[]; } | { name: "1784"; children: BigUnion[]; } | { name: "1785"; children: BigUnion[]; } | { name: "1786"; children: BigUnion[]; } | { name: "1787"; children: BigUnion[]; } | { name: "1788"; children: BigUnion[]; } | { name: "1789"; children: BigUnion[]; } | { name: "1790"; children: BigUnion[]; } | { name: "1791"; children: BigUnion[]; } | { name: "1792"; children: BigUnion[]; } | { name: "1793"; children: BigUnion[]; } | { name: "1794"; children: BigUnion[]; } | { name: "1795"; children: BigUnion[]; } | { name: "1796"; children: BigUnion[]; } | { name: "1797"; children: BigUnion[]; } | { name: "1798"; children: BigUnion[]; } | { name: "1799"; children: BigUnion[]; } | { name: "1800"; children: BigUnion[]; } | { name: "1801"; children: BigUnion[]; } | { name: "1802"; children: BigUnion[]; } | { name: "1803"; children: BigUnion[]; } | { name: "1804"; children: BigUnion[]; } | { name: "1805"; children: BigUnion[]; } | { name: "1806"; children: BigUnion[]; } | { name: "1807"; children: BigUnion[]; } | { name: "1808"; children: BigUnion[]; } | { name: "1809"; children: BigUnion[]; } | { name: "1810"; children: BigUnion[]; } | { name: "1811"; children: BigUnion[]; } | { name: "1812"; children: BigUnion[]; } | { name: "1813"; children: BigUnion[]; } | { name: "1814"; children: BigUnion[]; } | { name: "1815"; children: BigUnion[]; } | { name: "1816"; children: BigUnion[]; } | { name: "1817"; children: BigUnion[]; } | { name: "1818"; children: BigUnion[]; } | { name: "1819"; children: BigUnion[]; } | { name: "1820"; children: BigUnion[]; } | { name: "1821"; children: BigUnion[]; } | { name: "1822"; children: BigUnion[]; } | { name: "1823"; children: BigUnion[]; } | { name: "1824"; children: BigUnion[]; } | { name: "1825"; children: BigUnion[]; } | { name: "1826"; children: BigUnion[]; } | { name: "1827"; children: BigUnion[]; } | { name: "1828"; children: BigUnion[]; } | { name: "1829"; children: BigUnion[]; } | { name: "1830"; children: BigUnion[]; } | { name: "1831"; children: BigUnion[]; } | { name: "1832"; children: BigUnion[]; } | { name: "1833"; children: BigUnion[]; } | { name: "1834"; children: BigUnion[]; } | { name: "1835"; children: BigUnion[]; } | { name: "1836"; children: BigUnion[]; } | { name: "1837"; children: BigUnion[]; } | { name: "1838"; children: BigUnion[]; } | { name: "1839"; children: BigUnion[]; } | { name: "1840"; children: BigUnion[]; } | { name: "1841"; children: BigUnion[]; } | { name: "1842"; children: BigUnion[]; } | { name: "1843"; children: BigUnion[]; } | { name: "1844"; children: BigUnion[]; } | { name: "1845"; children: BigUnion[]; } | { name: "1846"; children: BigUnion[]; } | { name: "1847"; children: BigUnion[]; } | { name: "1848"; children: BigUnion[]; } | { name: "1849"; children: BigUnion[]; } | { name: "1850"; children: BigUnion[]; } | { name: "1851"; children: BigUnion[]; } | { name: "1852"; children: BigUnion[]; } | { name: "1853"; children: BigUnion[]; } | { name: "1854"; children: BigUnion[]; } | { name: "1855"; children: BigUnion[]; } | { name: "1856"; children: BigUnion[]; } | { name: "1857"; children: BigUnion[]; } | { name: "1858"; children: BigUnion[]; } | { name: "1859"; children: BigUnion[]; } | { name: "1860"; children: BigUnion[]; } | { name: "1861"; children: BigUnion[]; } | { name: "1862"; children: BigUnion[]; } | { name: "1863"; children: BigUnion[]; } | { name: "1864"; children: BigUnion[]; } | { name: "1865"; children: BigUnion[]; } | { name: "1866"; children: BigUnion[]; } | { name: "1867"; children: BigUnion[]; } | { name: "1868"; children: BigUnion[]; } | { name: "1869"; children: BigUnion[]; } | { name: "1870"; children: BigUnion[]; } | { name: "1871"; children: BigUnion[]; } | { name: "1872"; children: BigUnion[]; } | { name: "1873"; children: BigUnion[]; } | { name: "1874"; children: BigUnion[]; } | { name: "1875"; children: BigUnion[]; } | { name: "1876"; children: BigUnion[]; } | { name: "1877"; children: BigUnion[]; } | { name: "1878"; children: BigUnion[]; } | { name: "1879"; children: BigUnion[]; } | { name: "1880"; children: BigUnion[]; } | { name: "1881"; children: BigUnion[]; } | { name: "1882"; children: BigUnion[]; } | { name: "1883"; children: BigUnion[]; } | { name: "1884"; children: BigUnion[]; } | { name: "1885"; children: BigUnion[]; } | { name: "1886"; children: BigUnion[]; } | { name: "1887"; children: BigUnion[]; } | { name: "1888"; children: BigUnion[]; } | { name: "1889"; children: BigUnion[]; } | { name: "1890"; children: BigUnion[]; } | { name: "1891"; children: BigUnion[]; } | { name: "1892"; children: BigUnion[]; } | { name: "1893"; children: BigUnion[]; } | { name: "1894"; children: BigUnion[]; } | { name: "1895"; children: BigUnion[]; } | { name: "1896"; children: BigUnion[]; } | { name: "1897"; children: BigUnion[]; } | { name: "1898"; children: BigUnion[]; } | { name: "1899"; children: BigUnion[]; } | { name: "1900"; children: BigUnion[]; } | { name: "1901"; children: BigUnion[]; } | { name: "1902"; children: BigUnion[]; } | { name: "1903"; children: BigUnion[]; } | { name: "1904"; children: BigUnion[]; } | { name: "1905"; children: BigUnion[]; } | { name: "1906"; children: BigUnion[]; } | { name: "1907"; children: BigUnion[]; } | { name: "1908"; children: BigUnion[]; } | { name: "1909"; children: BigUnion[]; } | { name: "1910"; children: BigUnion[]; } | { name: "1911"; children: BigUnion[]; } | { name: "1912"; children: BigUnion[]; } | { name: "1913"; children: BigUnion[]; } | { name: "1914"; children: BigUnion[]; } | { name: "1915"; children: BigUnion[]; } | { name: "1916"; children: BigUnion[]; } | { name: "1917"; children: BigUnion[]; } | { name: "1918"; children: BigUnion[]; } | { name: "1919"; children: BigUnion[]; } | { name: "1920"; children: BigUnion[]; } | { name: "1921"; children: BigUnion[]; } | { name: "1922"; children: BigUnion[]; } | { name: "1923"; children: BigUnion[]; } | { name: "1924"; children: BigUnion[]; } | { name: "1925"; children: BigUnion[]; } | { name: "1926"; children: BigUnion[]; } | { name: "1927"; children: BigUnion[]; } | { name: "1928"; children: BigUnion[]; } | { name: "1929"; children: BigUnion[]; } | { name: "1930"; children: BigUnion[]; } | { name: "1931"; children: BigUnion[]; } | { name: "1932"; children: BigUnion[]; } | { name: "1933"; children: BigUnion[]; } | { name: "1934"; children: BigUnion[]; } | { name: "1935"; children: BigUnion[]; } | { name: "1936"; children: BigUnion[]; } | { name: "1937"; children: BigUnion[]; } | { name: "1938"; children: BigUnion[]; } | { name: "1939"; children: BigUnion[]; } | { name: "1940"; children: BigUnion[]; } | { name: "1941"; children: BigUnion[]; } | { name: "1942"; children: BigUnion[]; } | { name: "1943"; children: BigUnion[]; } | { name: "1944"; children: BigUnion[]; } | { name: "1945"; children: BigUnion[]; } | { name: "1946"; children: BigUnion[]; } | { name: "1947"; children: BigUnion[]; } | { name: "1948"; children: BigUnion[]; } | { name: "1949"; children: BigUnion[]; } | { name: "1950"; children: BigUnion[]; } | { name: "1951"; children: BigUnion[]; } | { name: "1952"; children: BigUnion[]; } | { name: "1953"; children: BigUnion[]; } | { name: "1954"; children: BigUnion[]; } | { name: "1955"; children: BigUnion[]; } | { name: "1956"; children: BigUnion[]; } | { name: "1957"; children: BigUnion[]; } | { name: "1958"; children: BigUnion[]; } | { name: "1959"; children: BigUnion[]; } | { name: "1960"; children: BigUnion[]; } | { name: "1961"; children: BigUnion[]; } | { name: "1962"; children: BigUnion[]; } | { name: "1963"; children: BigUnion[]; } | { name: "1964"; children: BigUnion[]; } | { name: "1965"; children: BigUnion[]; } | { name: "1966"; children: BigUnion[]; } | { name: "1967"; children: BigUnion[]; } | { name: "1968"; children: BigUnion[]; } | { name: "1969"; children: BigUnion[]; } | { name: "1970"; children: BigUnion[]; } | { name: "1971"; children: BigUnion[]; } | { name: "1972"; children: BigUnion[]; } | { name: "1973"; children: BigUnion[]; } | { name: "1974"; children: BigUnion[]; } | { name: "1975"; children: BigUnion[]; } | { name: "1976"; children: BigUnion[]; } | { name: "1977"; children: BigUnion[]; } | { name: "1978"; children: BigUnion[]; } | { name: "1979"; children: BigUnion[]; } | { name: "1980"; children: BigUnion[]; } | { name: "1981"; children: BigUnion[]; } | { name: "1982"; children: BigUnion[]; } | { name: "1983"; children: BigUnion[]; } | { name: "1984"; children: BigUnion[]; } | { name: "1985"; children: BigUnion[]; } | { name: "1986"; children: BigUnion[]; } | { name: "1987"; children: BigUnion[]; } | { name: "1988"; children: BigUnion[]; } | { name: "1989"; children: BigUnion[]; } | { name: "1990"; children: BigUnion[]; } | { name: "1991"; children: BigUnion[]; } | { name: "1992"; children: BigUnion[]; } | { name: "1993"; children: BigUnion[]; } | { name: "1994"; children: BigUnion[]; } | { name: "1995"; children: BigUnion[]; } | { name: "1996"; children: BigUnion[]; } | { name: "1997"; children: BigUnion[]; } | { name: "1998"; children: BigUnion[]; } | { name: "1999"; children: BigUnion[]; } { name: '0'; >name : "0" diff --git a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types index a7b17a7cc6..1feff9538f 100644 --- a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types +++ b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types @@ -90,12 +90,12 @@ export enum PubSubRecordIsStoredInRedisAsA { >storedAs : any storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; ->storedAsJsonEncodedRedisString : () => BuildPubSubRecordType +>storedAsJsonEncodedRedisString : () => BuildPubSubRecordType >storedAs : PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString >PubSubRecordIsStoredInRedisAsA : any storedRedisHash: () => BuildPubSubRecordType; ->storedRedisHash : () => BuildPubSubRecordType +>storedRedisHash : () => BuildPubSubRecordType >storedAs : PubSubRecordIsStoredInRedisAsA.redisHash >PubSubRecordIsStoredInRedisAsA : any } @@ -286,12 +286,12 @@ export enum PubSubRecordIsStoredInRedisAsA { >maxMsToWaitBeforePublishing : any maxMsToWaitBeforePublishing: (t: number) => BuildPubSubRecordType, ->maxMsToWaitBeforePublishing : (t: number) => BuildPubSubRecordType +>maxMsToWaitBeforePublishing : (t: number) => BuildPubSubRecordType >t : number >maxMsToWaitBeforePublishing : number neverDelayPublishing: () => BuildPubSubRecordType, ->neverDelayPublishing : () => BuildPubSubRecordType +>neverDelayPublishing : () => BuildPubSubRecordType >maxMsToWaitBeforePublishing : 0 } diff --git a/tests/baselines/reference/conditionalTypes1.js b/tests/baselines/reference/conditionalTypes1.js index 156568ac3d..7bf55b565e 100644 --- a/tests/baselines/reference/conditionalTypes1.js +++ b/tests/baselines/reference/conditionalTypes1.js @@ -647,7 +647,7 @@ type Foo = T extends string ? boolean : number; type Bar = T extends string ? boolean : number; declare const convert: (value: Foo) => Bar; type Baz = Foo; -declare const convert2: (value: Foo) => Foo; +declare const convert2: (value: Foo) => Baz; declare function f31(): void; declare function f32(): void; declare function f33(): void; diff --git a/tests/baselines/reference/conditionalTypes1.types b/tests/baselines/reference/conditionalTypes1.types index ec81f4b151..e37ddb0d24 100644 --- a/tests/baselines/reference/conditionalTypes1.types +++ b/tests/baselines/reference/conditionalTypes1.types @@ -135,7 +135,7 @@ type T15 = Extract; // never >q : "a" declare function f5(p: K): Extract; ->f5 : (p: K) => Extract +>f5 : (p: K) => Extract >p : K >k : K @@ -788,8 +788,8 @@ type Baz = Foo; >Baz : Baz const convert2 = (value: Foo): Baz => value; ->convert2 : (value: Foo) => Foo ->(value: Foo): Baz => value : (value: Foo) => Foo +>convert2 : (value: Foo) => Baz +>(value: Foo): Baz => value : (value: Foo) => Baz >value : Foo >value : Foo diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types index 8c72188b79..5f440f9d23 100644 --- a/tests/baselines/reference/conditionalTypes2.types +++ b/tests/baselines/reference/conditionalTypes2.types @@ -149,13 +149,13 @@ type Bar = { bar: string }; >bar : string declare function fooBar(x: { foo: string, bar: string }): void; ->fooBar : (x: { foo: string; bar: string;}) => void +>fooBar : (x: { foo: string; bar: string; }) => void >x : { foo: string; bar: string; } >foo : string >bar : string declare function fooBat(x: { foo: string, bat: string }): void; ->fooBat : (x: { foo: string; bat: string;}) => void +>fooBat : (x: { foo: string; bat: string; }) => void >x : { foo: string; bat: string; } >foo : string >bat : string @@ -455,7 +455,7 @@ declare function save(_response: IRootResponse): void; exportCommand(save); >exportCommand(save) : void >exportCommand : (functionToCall: IExportCallback) => void ->save : (_response: IResponse) => void +>save : (_response: IRootResponse) => void declare function exportCommand(functionToCall: IExportCallback): void; >exportCommand : (functionToCall: IExportCallback) => void @@ -525,7 +525,7 @@ type Foo3 = T extends number ? { n: T } : { x: T }; gg(ff); >gg(ff) : void >gg : (f: (x: Foo3) => void) => void ->ff : (x: { x: string; }) => void +>ff : (x: Foo3) => void // Repro from #41613 diff --git a/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types b/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types index 9aa70c9221..1874b60c73 100644 --- a/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types +++ b/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types @@ -57,8 +57,8 @@ type ExcludeWithDefault = T extends U ? D : T; >ExcludeWithDefault : ExcludeWithDefault const fn5 = ( ->fn5 : (params: Pick>) => Params ->( params: Pick>,): Params => params : (params: Pick>) => Params +>fn5 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, >params : Pick> @@ -81,8 +81,8 @@ function fn6(x: ExcludeWithDefault) { } const fn7 = ( ->fn7 : (params: Pick>) => Params ->( params: Pick>,): Params => params : (params: Pick>) => Params +>fn7 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, >params : Pick> diff --git a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types index 41981e19b8..06d399e20d 100644 --- a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types +++ b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types @@ -15,25 +15,25 @@ var out = foo((x, y) => { >out : boolean >foo((x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;}) : boolean >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } ->(x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;} : (x: string, y: string) => { (a: string): void; (b: string): void; } +>(x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;} : (x: string, y: string) => { (a: typeof x): void; (b: typeof y): void; } >x : string >y : string function bar(a: typeof x): void; ->bar : { (a: string): void; (b: string): void; } +>bar : { (a: typeof x): void; (b: typeof y): void; } >a : string >x : string function bar(b: typeof y): void; ->bar : { (a: string): void; (b: string): void; } +>bar : { (a: typeof x): void; (b: typeof y): void; } >b : string >y : string function bar() { } ->bar : { (a: string): void; (b: string): void; } +>bar : { (a: typeof x): void; (b: typeof y): void; } return bar; ->bar : { (a: string): void; (b: string): void; } +>bar : { (a: typeof x): void; (b: typeof y): void; } }); @@ -53,12 +53,12 @@ var out2 = foo2((x, y) => { >out2 : boolean >foo2((x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;}) : boolean >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } ->(x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;} : (x: string, y: string) => { (a: string): void; (b: string): void; } +>(x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;} : (x: string, y: string) => { (a: typeof x): void; (b: typeof y): void; } >x : string >y : string var bar: { ->bar : { (a: string): void; (b: string): void; } +>bar : { (a: typeof x): void; (b: typeof y): void; } (a: typeof x): void; >a : string @@ -70,6 +70,6 @@ var out2 = foo2((x, y) => { }; return bar; ->bar : { (a: string): void; (b: string): void; } +>bar : { (a: typeof x): void; (b: typeof y): void; } }); diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index 2c6d3a87db..47df2970a5 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index 2c6d3a87db..47df2970a5 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index 2c6d3a87db..47df2970a5 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index 98a0a53906..9679db3151 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index 21ce4aa571..e71b56f4b7 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index 6db571eb63..ddd296397a 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index a073cf27d6..9e6a69fdff 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index a2fc53622d..b1498f4fae 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index 2c6d3a87db..47df2970a5 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index a43b74f9ab..02ce0c323b 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index 847895c43d..cd6321c0da 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -74,6 +74,7 @@ /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/isolatedDeclarations/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/isolatedDeclarations/tsconfig.json new file mode 100644 index 0000000000..32cc784bec --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/isolatedDeclarations/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "isolatedDeclarations": true + } +} diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noCheck/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noCheck/tsconfig.json new file mode 100644 index 0000000000..cd727e8ccd --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noCheck/tsconfig.json @@ -0,0 +1,3 @@ +{ + "compilerOptions": {} +} diff --git a/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types index a0e03b1de3..b37089039e 100644 --- a/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types +++ b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types @@ -10,7 +10,7 @@ type Record2 = { }; function defaultRecord(x: Record<'a', string>, y: Record) { ->defaultRecord : (x: Record<'a', string>, y: Record) => void +>defaultRecord : (x: Record<"a", string>, y: Record) => void >x : Record<"a", string> >y : Record @@ -21,7 +21,7 @@ function defaultRecord(x: Record<'a', string>, y: Record) { } function customRecord(x: Record2<'a', string>, y: Record2) { ->customRecord : (x: Record2<'a', string>, y: Record2) => void +>customRecord : (x: Record2<"a", string>, y: Record2) => void >x : Record2<"a", string> >y : Record2 @@ -32,7 +32,7 @@ function customRecord(x: Record2<'a', string>, y: Record2) { } function mixed1(x: Record2<'a', string>, y: Record) { ->mixed1 : (x: Record2<'a', string>, y: Record) => void +>mixed1 : (x: Record2<"a", string>, y: Record) => void >x : Record2<"a", string> >y : Record @@ -43,7 +43,7 @@ function mixed1(x: Record2<'a', string>, y: Record) { } function mixed2(x: Record<'a', string>, y: Record2) { ->mixed2 : (x: Record<'a', string>, y: Record2) => void +>mixed2 : (x: Record<"a", string>, y: Record2) => void >x : Record<"a", string> >y : Record2 @@ -54,7 +54,7 @@ function mixed2(x: Record<'a', string>, y: Record2) { } function defaultRecord2(x: Record<'a', T>, y: Record) { ->defaultRecord2 : (x: Record<'a', T>, y: Record) => void +>defaultRecord2 : (x: Record<"a", T>, y: Record) => void >x : Record<"a", T> >y : Record @@ -65,7 +65,7 @@ function defaultRecord2(x: Record<'a', T>, y: Record) { } function customRecord2(x: Record2<'a', T>, y: Record2) { ->customRecord2 : (x: Record2<'a', T>, y: Record2) => void +>customRecord2 : (x: Record2<"a", T>, y: Record2) => void >x : Record2<"a", T> >y : Record2 @@ -76,7 +76,7 @@ function customRecord2(x: Record2<'a', T>, y: Record2) { } function mixed3(x: Record2<'a', T>, y: Record) { ->mixed3 : (x: Record2<'a', T>, y: Record) => void +>mixed3 : (x: Record2<"a", T>, y: Record) => void >x : Record2<"a", T> >y : Record @@ -87,7 +87,7 @@ function mixed3(x: Record2<'a', T>, y: Record) { } function mixed4(x: Record<'a', T>, y: Record2) { ->mixed4 : (x: Record<'a', T>, y: Record2) => void +>mixed4 : (x: Record<"a", T>, y: Record2) => void >x : Record<"a", T> >y : Record2 diff --git a/tests/baselines/reference/constAssertions.types b/tests/baselines/reference/constAssertions.types index e764b8c6c3..73aaf14c8b 100644 --- a/tests/baselines/reference/constAssertions.types +++ b/tests/baselines/reference/constAssertions.types @@ -381,7 +381,7 @@ let t4 = `${`(${t1})`}-${`(${t2})`}` as const; >t2 : "bar" function ff1(x: 'foo' | 'bar', y: 1 | 2) { ->ff1 : (x: 'foo' | 'bar', y: 1 | 2) => "foo-1" | "foo-2" | "bar-1" | "bar-2" +>ff1 : (x: "foo" | "bar", y: 1 | 2) => "foo-1" | "foo-2" | "bar-1" | "bar-2" >x : "foo" | "bar" >y : 1 | 2 @@ -441,7 +441,7 @@ const ts3 = ff2(!!true ? 'top' : 'bottom', !!true ? 'left' : 'right'); >'right' : "right" function ff3(x: 'foo' | 'bar', y: object) { ->ff3 : (x: 'foo' | 'bar', y: object) => `foo${string}` | `bar${string}` +>ff3 : (x: "foo" | "bar", y: object) => `foo${string}` | `bar${string}` >x : "foo" | "bar" >y : object diff --git a/tests/baselines/reference/constEnum2.errors.txt b/tests/baselines/reference/constEnum2.errors.txt index 2ab0f624d6..3d89acab5d 100644 --- a/tests/baselines/reference/constEnum2.errors.txt +++ b/tests/baselines/reference/constEnum2.errors.txt @@ -1,10 +1,9 @@ tests/cases/conformance/constEnums/constEnum2.ts(10,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values. tests/cases/conformance/constEnums/constEnum2.ts(11,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values. tests/cases/conformance/constEnums/constEnum2.ts(12,5): error TS1357: An enum member name must be followed by a ',', '=', or '}'. -tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: const enum member initializers can only contain literal values and other computed enum values. -==== tests/cases/conformance/constEnums/constEnum2.ts (4 errors) ==== +==== tests/cases/conformance/constEnums/constEnum2.ts (3 errors) ==== // An enum declaration that specifies a const modifier is a constant enum declaration. // In a constant enum declaration, all members must have constant values and // it is an error for a member declaration to specify an expression that isn't classified as a constant enum expression. @@ -23,6 +22,4 @@ tests/cases/conformance/constEnums/constEnum2.ts(12,9): error TS2474: const enum g = CONST, ~ !!! error TS1357: An enum member name must be followed by a ',', '=', or '}'. - ~~~~~ -!!! error TS2474: const enum member initializers can only contain literal values and other computed enum values. } \ No newline at end of file diff --git a/tests/baselines/reference/constEnum2.js b/tests/baselines/reference/constEnum2.js index 8ae6a84f69..da7edca327 100644 --- a/tests/baselines/reference/constEnum2.js +++ b/tests/baselines/reference/constEnum2.js @@ -27,5 +27,5 @@ declare const enum D { d = 10, e, f, - g + g = 0 } diff --git a/tests/baselines/reference/constEnum3.types b/tests/baselines/reference/constEnum3.types index 674a88248b..660c3ed192 100644 --- a/tests/baselines/reference/constEnum3.types +++ b/tests/baselines/reference/constEnum3.types @@ -32,11 +32,11 @@ f1(TestType.bar) f2('foo') >f2('foo') : void ->f2 : (f: "foo" | "bar") => void +>f2 : (f: TestTypeStr) => void >'foo' : "foo" f2('bar') >f2('bar') : void ->f2 : (f: "foo" | "bar") => void +>f2 : (f: TestTypeStr) => void >'bar' : "bar" diff --git a/tests/baselines/reference/constantOverloadFunction.types b/tests/baselines/reference/constantOverloadFunction.types index 458fdbae6f..10d05315eb 100644 --- a/tests/baselines/reference/constantOverloadFunction.types +++ b/tests/baselines/reference/constantOverloadFunction.types @@ -19,15 +19,15 @@ class Derived3 extends Base { biz() { } } >biz : () => void function foo(tagName: 'canvas'): Derived1; ->foo : { (tagName: 'canvas'): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } +>foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } >tagName : "canvas" function foo(tagName: 'div'): Derived2; ->foo : { (tagName: "canvas"): Derived1; (tagName: 'div'): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } +>foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } >tagName : "div" function foo(tagName: 'span'): Derived3; ->foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: 'span'): Derived3; (tagName: string): Base; } +>foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } >tagName : "span" function foo(tagName: string): Base; diff --git a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types index 52cb2aa138..b620d8b473 100644 --- a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types +++ b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types @@ -19,15 +19,15 @@ class Derived3 extends Base { biz() { } } >biz : () => void function foo(tagName: 'canvas'): Derived3; ->foo : { (tagName: 'canvas'): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } +>foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } >tagName : "canvas" function foo(tagName: 'div'): Derived2; ->foo : { (tagName: "canvas"): Derived3; (tagName: 'div'): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } +>foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } >tagName : "div" function foo(tagName: 'span'): Derived1; ->foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: 'span'): Derived1; (tagName: number): Base; } +>foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } >tagName : "span" function foo(tagName: number): Base; diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types index 83ed936011..56e4e44984 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types @@ -76,7 +76,7 @@ interface A { // T >x : Derived[] a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -94,7 +94,7 @@ interface A { // T >y : Derived[] a14: new (x: { a: string; b: number }) => Object; ->a14 : new (x: { a: string; b: number;}) => Object +>a14 : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -202,10 +202,10 @@ interface I extends A { >r : T a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types index af85d788f6..4756169701 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types @@ -50,7 +50,7 @@ module Errors { >x : Base[] a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -73,7 +73,7 @@ module Errors { }; a15: new (x: { a: string; b: number }) => number; ->a15 : new (x: { a: string; b: number;}) => number +>a15 : new (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -128,10 +128,10 @@ module Errors { interface I4 extends A { a8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; // error, type mismatch ->a8 : new (x: (arg: T) => U, y: (arg2: { foo: number;}) => U) => (r: T) => U +>a8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: number;}) => U +>y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number >r : T diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types index 887919a15c..551e0c70e6 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types @@ -77,7 +77,7 @@ interface A { // T >x : Derived[] a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -95,7 +95,7 @@ interface A { // T >y : Derived[] a14: new (x: { a: string; b: number }) => Object; ->a14 : new (x: { a: string; b: number;}) => Object +>a14 : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -152,10 +152,10 @@ interface I extends B { >r : T a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types index f612a68196..476fcb3995 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types @@ -107,7 +107,7 @@ interface I5 extends A { interface I7 extends A { a11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->a11 : new (x: { foo: T;}, y: { foo: U; bar: U; }) => Base +>a11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base >x : { foo: T; } >foo : T >y : { foo: U; bar: U; } @@ -117,7 +117,7 @@ interface I7 extends A { interface I9 extends A { a16: new (x: { a: T; b: T }) => T[]; ->a16 : new (x: { a: T; b: T;}) => T[] +>a16 : new (x: { a: T; b: T; }) => T[] >x : { a: T; b: T; } >a : T >b : T diff --git a/tests/baselines/reference/constructorArgWithGenericCallSignature.types b/tests/baselines/reference/constructorArgWithGenericCallSignature.types index 26eca63294..bb2ad66052 100644 --- a/tests/baselines/reference/constructorArgWithGenericCallSignature.types +++ b/tests/baselines/reference/constructorArgWithGenericCallSignature.types @@ -23,9 +23,9 @@ var func: Test.MyFunc; Test.F(func); // OK >Test.F(func) : void ->Test.F : (func: Test.MyFunc) => void +>Test.F : (func: MyFunc) => void >Test : typeof Test ->F : (func: Test.MyFunc) => void +>F : (func: MyFunc) => void >func : Test.MyFunc var test = new Test.MyClass(func); // Should be OK diff --git a/tests/baselines/reference/constructorAsType.types b/tests/baselines/reference/constructorAsType.types index 3d218edf10..55dc002907 100644 --- a/tests/baselines/reference/constructorAsType.types +++ b/tests/baselines/reference/constructorAsType.types @@ -1,6 +1,6 @@ === tests/cases/compiler/constructorAsType.ts === var Person:new () => {name: string;} = function () {return {name:"joe"};}; ->Person : new () => { name: string;} +>Person : new () => { name: string; } >name : string >function () {return {name:"joe"};} : () => { name: string; } >{name:"joe"} : { name: string; } @@ -8,7 +8,7 @@ var Person:new () => {name: string;} = function () {return {name:"joe"};}; >"joe" : "joe" var Person2:{new() : {name:string;};}; ->Person2 : new () => { name: string;} +>Person2 : new () => { name: string; } >name : string Person = Person2; diff --git a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types index f42e54a0ce..f2499a90c2 100644 --- a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types +++ b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types @@ -46,7 +46,7 @@ interface ResizeObserverCallback { // duplicate for effect const resizeObserver = new ResizeObserver(([entry]) => { >resizeObserver : ResizeObserver >new ResizeObserver(([entry]) => { entry}) : ResizeObserver ->ResizeObserver : { new (callback: globalThis.ResizeObserverCallback): ResizeObserver; prototype: ResizeObserver; } +>ResizeObserver : { new (callback: ResizeObserverCallback): ResizeObserver; prototype: ResizeObserver; } >([entry]) => { entry} : ([entry]: ResizeObserverEntry[]) => void >entry : ResizeObserverEntry @@ -153,7 +153,7 @@ series([ >cb => setTimeout(() => cb(null, 1), 300) : (cb: Callback) => number >cb : Callback >setTimeout(() => cb(null, 1), 300) : number ->setTimeout : (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number +>setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number >() => cb(null, 1) : () => unknown >cb(null, 1) : unknown >cb : Callback @@ -165,7 +165,7 @@ series([ >cb => setTimeout(() => cb(null, 2), 200) : (cb: Callback) => number >cb : Callback >setTimeout(() => cb(null, 2), 200) : number ->setTimeout : (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number +>setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number >() => cb(null, 2) : () => unknown >cb(null, 2) : unknown >cb : Callback @@ -177,7 +177,7 @@ series([ >cb => setTimeout(() => cb(null, 3), 100) : (cb: Callback) => number >cb : Callback >setTimeout(() => cb(null, 3), 100) : number ->setTimeout : (handler: TimerHandler, timeout?: number | undefined, ...arguments: any[]) => number +>setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number >() => cb(null, 3) : () => unknown >cb(null, 3) : unknown >cb : Callback diff --git a/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types b/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types index e561a05bc8..abdb2a9a45 100644 --- a/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types +++ b/tests/baselines/reference/contextualOverloadListFromUnionWithPrimitiveNoImplicitAny.types @@ -11,7 +11,7 @@ interface FullRule { >validate : string | RegExp | Validate normalize?: (match: {x: string}) => void; ->normalize : ((match: { x: string;}) => void) | undefined +>normalize : ((match: { x: string; }) => void) | undefined >match : { x: string; } >x : string } diff --git a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types index b98593ef5b..71c749cc9d 100644 --- a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types +++ b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types @@ -18,12 +18,12 @@ type ActionFunction = (event: TEvent) => void; >event : TEvent declare function createMachine< ->createMachine : (config: { types?: TTypesMeta;}, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test";}> : ActionFunction<{ type: string;}>) => void +>createMachine : (config: { types?: TTypesMeta; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void TTypesMeta extends TypegenEnabled | TypegenDisabled = TypegenDisabled >( config: { ->config : { types?: TTypesMeta | undefined; } +>config : { types?: TTypesMeta; } types?: TTypesMeta; >types : TTypesMeta | undefined @@ -42,7 +42,7 @@ declare function createMachine< createMachine({}, (ev) => { >createMachine({}, (ev) => { ev.type; // should be `string`}) : void ->createMachine : (config: { types?: TTypesMeta | undefined; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void +>createMachine : (config: { types?: TTypesMeta; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void >{} : {} >(ev) => { ev.type; // should be `string`} : (ev: { type: string; }) => void >ev : { type: string; } diff --git a/tests/baselines/reference/contextualTypeFromJSDoc.types b/tests/baselines/reference/contextualTypeFromJSDoc.types index 434163c4ba..0d8556d1f2 100644 --- a/tests/baselines/reference/contextualTypeFromJSDoc.types +++ b/tests/baselines/reference/contextualTypeFromJSDoc.types @@ -22,7 +22,7 @@ const arr = [ /** @return {Array<[string, {x?:number, y?:number}]>} */ function f() { ->f : () => Array<[string, { x?: number; y?: number;}]> +>f : () => Array<[string, { x?: number; y?: number; }]> return [ >[ ['a', { x: 1 }], ['b', { y: 2 }] ] : ([string, { x: number; }] | [string, { y: number; }])[] diff --git a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types index 5baf2f4a62..f4363caec9 100644 --- a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types +++ b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types @@ -29,7 +29,7 @@ f("a", { }); function g< ->g : (x: ({ a: string;} & { b: string;})[K], y: string) => void +>g : (x: ({ a: string; } & { b: string; })[K], y: string) => void K extends "a" | "b">(x: ({ a: string } & { b: string })[K], y: string) { >x : ({ a: string; } & { b: string; })[K] diff --git a/tests/baselines/reference/contextualTypeOnYield1.types b/tests/baselines/reference/contextualTypeOnYield1.types index 60cac2c6c1..586efa699c 100644 --- a/tests/baselines/reference/contextualTypeOnYield1.types +++ b/tests/baselines/reference/contextualTypeOnYield1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/contextualTypeOnYield1.ts === type FuncOrGeneratorFunc = () => (number | Generator<(arg: number) => void, any, void>) ->FuncOrGeneratorFunc : () => number | Generator<(arg: number) => void, any, void> +>FuncOrGeneratorFunc : () => (number | Generator<(arg: number) => void, any, void>) >arg : number const f: FuncOrGeneratorFunc = function*() { diff --git a/tests/baselines/reference/contextualTypeOnYield2.types b/tests/baselines/reference/contextualTypeOnYield2.types index 0ae99969ac..8fc0f4cc45 100644 --- a/tests/baselines/reference/contextualTypeOnYield2.types +++ b/tests/baselines/reference/contextualTypeOnYield2.types @@ -1,6 +1,6 @@ === tests/cases/compiler/contextualTypeOnYield2.ts === type OrGen = () => (number | Generator void, undefined>); ->OrGen : () => number | Generator void, undefined> +>OrGen : () => (number | Generator void, undefined>) >arg : number const g: OrGen = function* () { diff --git a/tests/baselines/reference/contextualTypedSpecialAssignment.types b/tests/baselines/reference/contextualTypedSpecialAssignment.types index 494532a5ea..7c06dfd235 100644 --- a/tests/baselines/reference/contextualTypedSpecialAssignment.types +++ b/tests/baselines/reference/contextualTypedSpecialAssignment.types @@ -190,7 +190,7 @@ F.prototype = { // module.exports assignment /** @type {{ status: 'done', m(n: number): void }} */ module.exports = { ->module.exports = { status: "done", m(n) { }} : { status: 'done'; m(n: number): void; } +>module.exports = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } >module.exports : { status: "done"; m(n: number): void; } >module : { exports: { status: "done"; m(n: number): void; }; } >exports : { status: "done"; m(n: number): void; } diff --git a/tests/baselines/reference/contextualTyping.types b/tests/baselines/reference/contextualTyping.types index 9d0bc11987..58ff4c5305 100644 --- a/tests/baselines/reference/contextualTyping.types +++ b/tests/baselines/reference/contextualTyping.types @@ -325,7 +325,7 @@ interface IPlaceHolder { } var objc8: { ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } t1: (s: string) => string; >t1 : (s: string) => string diff --git a/tests/baselines/reference/contextualTyping25.types b/tests/baselines/reference/contextualTyping25.types index c7d958722a..3c6442739a 100644 --- a/tests/baselines/reference/contextualTyping25.types +++ b/tests/baselines/reference/contextualTyping25.types @@ -1,6 +1,6 @@ === tests/cases/compiler/contextualTyping25.ts === function foo(param:{id:number;}){}; foo(<{id:number;}>({})); ->foo : (param: { id: number;}) => void +>foo : (param: { id: number; }) => void >param : { id: number; } >id : number >foo(<{id:number;}>({})) : void diff --git a/tests/baselines/reference/contextualTyping26.types b/tests/baselines/reference/contextualTyping26.types index 5c6b98e9db..65a089f608 100644 --- a/tests/baselines/reference/contextualTyping26.types +++ b/tests/baselines/reference/contextualTyping26.types @@ -1,6 +1,6 @@ === tests/cases/compiler/contextualTyping26.ts === function foo(param:{id:number;}){}; foo(<{id:number;}>({})); ->foo : (param: { id: number;}) => void +>foo : (param: { id: number; }) => void >param : { id: number; } >id : number >foo(<{id:number;}>({})) : void diff --git a/tests/baselines/reference/contextualTyping27.types b/tests/baselines/reference/contextualTyping27.types index 7ab9a389dc..f668565e43 100644 --- a/tests/baselines/reference/contextualTyping27.types +++ b/tests/baselines/reference/contextualTyping27.types @@ -1,6 +1,6 @@ === tests/cases/compiler/contextualTyping27.ts === function foo(param:{id:number;}){}; foo(<{id:number;}>({})); ->foo : (param: { id: number;}) => void +>foo : (param: { id: number; }) => void >param : { id: number; } >id : number >foo(<{id:number;}>({})) : void diff --git a/tests/baselines/reference/contextualTypingOfOptionalMembers.types b/tests/baselines/reference/contextualTypingOfOptionalMembers.types index 192d5b5249..84cac5231b 100644 --- a/tests/baselines/reference/contextualTypingOfOptionalMembers.types +++ b/tests/baselines/reference/contextualTypingOfOptionalMembers.types @@ -172,7 +172,7 @@ interface ActionsObjectOr { } declare function App4>(props: Options["actions"] & { state: State }): JSX.Element; ->App4 : >(props: Options["actions"] & { state: State;}) => JSX.Element +>App4 : >(props: Options["actions"] & { state: State; }) => JSX.Element >props : (string | Actions) & { state: State; } >state : State >JSX : any @@ -180,7 +180,7 @@ declare function App4>(props: Opti const a = s} />; // TODO: should be number => number, but JSX resolution is missing an inferential pass >a : JSX.Element > s} /> : JSX.Element ->App4 : >(props: (string | Actions) & { state: State; }) => JSX.Element +>App4 : >(props: Options["actions"] & { state: State; }) => JSX.Element >state : number >100 : 100 >foo : (s: number) => number diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers.types index e39e3bde4d..5368e4468e 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers.types @@ -9,14 +9,14 @@ declare function id2 any>(input: T): T; >input : T declare function id3 any>(input: T): T; ->id3 : any>(input: T) => T +>id3 : any>(input: T) => T >x : { foo: any; } >foo : any >input : T declare function id4 any>(input: T): T; ->id4 : any>(input: T) => T ->x : { foo?: number | undefined; } +>id4 : any>(input: T) => T +>x : { foo?: number; } >foo : number | undefined >input : T @@ -62,7 +62,7 @@ const f13 = id3(function ({ foo = 42 }) { return foo }); const f14 = id4(function ({ foo = 42 }) { return foo }); >f14 : ({ foo }: { foo?: number | undefined; }) => number >id4(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number | undefined; }) => number ->id4 : any>(input: T) => T +>id4 : any>(input: T) => T >function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number | undefined; }) => number >foo : number >42 : 42 @@ -96,7 +96,7 @@ const f22 = id2(function (foo = 42) { return foo }); const f25 = id5(function (foo = 42) { return foo }); >f25 : (foo?: number | undefined) => number >id5(function (foo = 42) { return foo }) : (foo?: number | undefined) => number ->id5 : any>(input: T) => T +>id5 : any>(input: T) => T >function (foo = 42) { return foo } : (foo?: number | undefined) => number >foo : number | undefined >42 : 42 diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types index 3168ac8d92..3ce1ee1291 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types @@ -11,8 +11,8 @@ namespace JSX { } const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}; ->FooComponent : (props: { foo: "A" | "B" | "C";}) => JSX.Element ->(props: { foo: "A" | "B" | "C" }) => {props.foo} : (props: { foo: "A" | "B" | "C";}) => JSX.Element +>FooComponent : (props: { foo: "A" | "B" | "C"; }) => JSX.Element +>(props: { foo: "A" | "B" | "C" }) => {props.foo} : (props: { foo: "A" | "B" | "C"; }) => JSX.Element >props : { foo: "A" | "B" | "C"; } >foo : "A" | "B" | "C" >{props.foo} : JSX.Element diff --git a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types index 5ee843a798..052741d548 100644 --- a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types +++ b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types @@ -29,21 +29,21 @@ declare class List { >List : List filter(fn: FilterFn, context: TContext): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } >fn : FilterFn >context : TContext filter(fn: FilterFn): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } >fn : FilterFn> filter(fn: IteratorFn, context: TContext): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } >fn : IteratorFn >context : TContext filter(fn: IteratorFn): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } >fn : IteratorFn> } interface Test { diff --git a/tests/baselines/reference/controlFlowAliasing.types b/tests/baselines/reference/controlFlowAliasing.types index 1f97602b3f..930c07b7dc 100644 --- a/tests/baselines/reference/controlFlowAliasing.types +++ b/tests/baselines/reference/controlFlowAliasing.types @@ -138,7 +138,7 @@ function f14(x: number | null | undefined): number | null { } function f15(obj: { readonly x: string | number }) { ->f15 : (obj: { readonly x: string | number;}) => void +>f15 : (obj: { readonly x: string | number; }) => void >obj : { readonly x: string | number; } >x : string | number @@ -163,7 +163,7 @@ function f15(obj: { readonly x: string | number }) { } function f16(obj: { readonly x: string | number }) { ->f16 : (obj: { readonly x: string | number;}) => void +>f16 : (obj: { readonly x: string | number; }) => void >obj : { readonly x: string | number; } >x : string | number @@ -249,8 +249,8 @@ function f18(obj: readonly [string | number]) { } function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f20 : (obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f20 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -281,8 +281,8 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f21 : (obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f21 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -313,8 +313,8 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f22 : (obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f22 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -345,8 +345,8 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f23 : (obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f23 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -382,8 +382,8 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f24 : (arg: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->arg : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f24 : (arg: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>arg : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -418,8 +418,8 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f25 : (arg: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->arg : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f25 : (arg: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>arg : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -454,9 +454,9 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number } }) { ->f26 : (outer: { readonly obj: { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; };}) => void ->outer : { readonly obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}; } ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f26 : (outer: { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; }) => void +>outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -493,9 +493,9 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' } function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number } }) { ->f27 : (outer: { obj: { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; };}) => void ->outer : { obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}; } ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f27 : (outer: { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; }) => void +>outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -532,8 +532,8 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu } function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f28 : (obj?: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } | undefined +>f28 : (obj?: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } | undefined >kind : "foo" >foo : string >kind : "bar" @@ -580,8 +580,8 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) // Narrowing by aliased discriminant property access function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f30 : (obj: { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; }) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f30 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -612,8 +612,8 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f31 : (obj: { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; }) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f31 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -642,8 +642,8 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f32 : (obj: { kind: 'foo'; foo: string;} | { kind: 'bar'; bar: number;}) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f32 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -673,8 +673,8 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { } function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { ->f33 : (obj: { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; }) => void ->obj : { kind: 'foo'; foo: string; } | { kind: 'bar'; bar: number; } +>f33 : (obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }) => void +>obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } >kind : "foo" >foo : string >kind : "bar" @@ -809,8 +809,8 @@ class C11 { // Mixing of aliased discriminants and conditionals function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) { ->f40 : (obj: { kind: 'foo'; foo?: string | undefined; } | { kind: 'bar'; bar?: number | undefined; }) => void ->obj : { kind: 'foo'; foo?: string | undefined; } | { kind: 'bar'; bar?: number | undefined; } +>f40 : (obj: { kind: "foo"; foo?: string; } | { kind: "bar"; bar?: number; }) => void +>obj : { kind: "foo"; foo?: string; } | { kind: "bar"; bar?: number; } >kind : "foo" >foo : string | undefined >kind : "bar" @@ -844,7 +844,7 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) // Unsupported narrowing of destructured payload by destructured discriminant type Data = { kind: 'str', payload: string } | { kind: 'num', payload: number }; ->Data : { kind: 'str'; payload: string; } | { kind: 'num'; payload: number; } +>Data : { kind: "str"; payload: string; } | { kind: "num"; payload: number; } >kind : "str" >payload : string >kind : "num" diff --git a/tests/baselines/reference/controlFlowArrays.types b/tests/baselines/reference/controlFlowArrays.types index 80d1e34847..286ba08e91 100644 --- a/tests/baselines/reference/controlFlowArrays.types +++ b/tests/baselines/reference/controlFlowArrays.types @@ -616,7 +616,7 @@ function f18() { // Repro from #39470 declare function foo(arg: { val: number }[]): void; ->foo : (arg: { val: number;}[]) => void +>foo : (arg: { val: number; }[]) => void >arg : { val: number; }[] >val : number diff --git a/tests/baselines/reference/controlFlowDeleteOperator.types b/tests/baselines/reference/controlFlowDeleteOperator.types index 83b0f522d2..f7868c009a 100644 --- a/tests/baselines/reference/controlFlowDeleteOperator.types +++ b/tests/baselines/reference/controlFlowDeleteOperator.types @@ -3,7 +3,7 @@ function f() { >f : () => void let x: { a?: number | string, b: number | string } = { b: 1 }; ->x : { a?: string | number | undefined; b: number | string; } +>x : { a?: number | string; b: number | string; } >a : string | number | undefined >b : string | number >{ b: 1 } : { b: number; } diff --git a/tests/baselines/reference/controlFlowDestructuringLoop.types b/tests/baselines/reference/controlFlowDestructuringLoop.types index c0b86606c0..b8bf5c3a3d 100644 --- a/tests/baselines/reference/controlFlowDestructuringLoop.types +++ b/tests/baselines/reference/controlFlowDestructuringLoop.types @@ -42,9 +42,9 @@ function foo(things: Val[]): void { val.toFixed(2); >val.toFixed(2) : string ->val.toFixed : (fractionDigits?: number | undefined) => string +>val.toFixed : (fractionDigits?: number) => string >val : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string >2 : 2 } else { diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index c02307a26e..3d968fce80 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -1,6 +1,6 @@ === tests/cases/conformance/controlFlow/controlFlowGenericTypes.ts === function f1(x: T, y: { a: T }, z: [T]): string { ->f1 : (x: T, y: { a: T;}, z: [T]) => string +>f1 : (x: T, y: { a: T; }, z: [T]) => string >x : T >y : { a: T; } >a : T @@ -167,7 +167,7 @@ function g4 | undefined>(x: T) { // Repro from #13995 declare function takeA(val: 'A'): void; ->takeA : (val: 'A') => void +>takeA : (val: "A") => void >val : "A" export function bounceAndTakeIfA(value: AB): AB { @@ -200,12 +200,12 @@ type Common = { id: number }; >id : number type AA = { tag: 'A', id: number }; ->AA : { tag: 'A'; id: number; } +>AA : { tag: "A"; id: number; } >tag : "A" >id : number type BB = { tag: 'B', id: number, foo: number }; ->BB : { tag: 'B'; id: number; foo: number; } +>BB : { tag: "B"; id: number; foo: number; } >tag : "B" >id : number >foo : number diff --git a/tests/baselines/reference/controlFlowIIFE.types b/tests/baselines/reference/controlFlowIIFE.types index 64207b2706..97c8c7ef02 100644 --- a/tests/baselines/reference/controlFlowIIFE.types +++ b/tests/baselines/reference/controlFlowIIFE.types @@ -144,9 +144,9 @@ if (!test) { test.slice(1); // No error >test.slice(1) : string ->test.slice : (start?: number | undefined, end?: number | undefined) => string +>test.slice : (start?: number, end?: number) => string >test : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string >1 : 1 })(); diff --git a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types index 8c64c50a32..05bc5582f6 100644 --- a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types +++ b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types @@ -1,6 +1,6 @@ === tests/cases/compiler/controlFlowInitializedDestructuringVariables.ts === declare const obj: { a?: string, b?: number }; ->obj : { a?: string | undefined; b?: number | undefined; } +>obj : { a?: string; b?: number; } >a : string | undefined >b : number | undefined diff --git a/tests/baselines/reference/controlFlowNullishCoalesce.types b/tests/baselines/reference/controlFlowNullishCoalesce.types index f94bbfd3ba..bec6f9b65a 100644 --- a/tests/baselines/reference/controlFlowNullishCoalesce.types +++ b/tests/baselines/reference/controlFlowNullishCoalesce.types @@ -13,9 +13,9 @@ o ?? (a = 1); a.toString(); >a.toString() : string ->a.toString : (radix?: number | undefined) => string +>a.toString : (radix?: number) => string >a : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string // assignment flow declare const o: { x: number } | undefined; diff --git a/tests/baselines/reference/controlFlowOptionalChain.types b/tests/baselines/reference/controlFlowOptionalChain.types index f10d0082f7..12f5708aee 100644 --- a/tests/baselines/reference/controlFlowOptionalChain.types +++ b/tests/baselines/reference/controlFlowOptionalChain.types @@ -26,9 +26,9 @@ o?.[a = 1]; a.toString(); >a.toString() : string ->a.toString : (radix?: number | undefined) => string +>a.toString : (radix?: number) => string >a : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string let b: number; >b : number @@ -44,9 +44,9 @@ o?.x[b = 1]; b.toString(); >b.toString() : string ->b.toString : (radix?: number | undefined) => string +>b.toString : (radix?: number) => string >b : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string let c: number; >c : number @@ -60,9 +60,9 @@ o?.(c = 1) c.toString(); >c.toString() : string ->c.toString : (radix?: number | undefined) => string +>c.toString : (radix?: number) => string >c : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string let d: number; >d : number @@ -78,9 +78,9 @@ o?.x(d = 1); d.toString(); >d.toString() : string ->d.toString : (radix?: number | undefined) => string +>d.toString : (radix?: number) => string >d : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string // type predicates declare const f: undefined | ((x: any) => x is number); @@ -249,7 +249,7 @@ o3.x; >x : 1 | 2 declare const o4: { x?: { y: boolean } }; ->o4 : { x?: { y: boolean; } | undefined; } +>o4 : { x?: { y: boolean; }; } >x : { y: boolean; } | undefined >y : boolean @@ -319,9 +319,9 @@ o4.x.y; >y : boolean declare const o5: { x?: { y: { z?: { w: boolean } } } }; ->o5 : { x?: { y: { z?: { w: boolean; };}; } | undefined; } ->x : { y: { z?: { w: boolean; };}; } | undefined ->y : { z?: { w: boolean; } | undefined; } +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +>x : { y: { z?: { w: boolean; }; }; } | undefined +>y : { z?: { w: boolean; }; } >z : { w: boolean; } | undefined >w : boolean @@ -1870,7 +1870,7 @@ function f41(o: Thing | undefined) { // Repros from #34570 type Shape = ->Shape : { type: 'rectangle'; width: number; height: number; } | { type: 'circle'; radius: number; } +>Shape : { type: "rectangle"; width: number; height: number; } | { type: "circle"; radius: number; } | { type: 'rectangle', width: number, height: number } >type : "rectangle" @@ -1923,7 +1923,7 @@ function getArea(shape?: Shape) { } type Feature = { ->Feature : { id: string; geometry?: { type: string; coordinates: number[]; } | undefined; } +>Feature : { id: string; geometry?: { type: string; coordinates: number[]; }; } id: string; >id : string diff --git a/tests/baselines/reference/controlFlowOptionalChain2.types b/tests/baselines/reference/controlFlowOptionalChain2.types index c2857e8761..df43a115a2 100644 --- a/tests/baselines/reference/controlFlowOptionalChain2.types +++ b/tests/baselines/reference/controlFlowOptionalChain2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/controlFlow/controlFlowOptionalChain2.ts === type A = { ->A : { type: 'A'; name: string; } +>A : { type: "A"; name: string; } type: 'A'; >type : "A" @@ -10,7 +10,7 @@ type A = { } type B = { ->B : { type: 'B'; } +>B : { type: "B"; } type: 'B'; >type : "B" @@ -70,18 +70,18 @@ function funcThree(arg: A | B | null) { } type U = { kind: undefined, u: 'u' } ->U : { kind: undefined; u: 'u'; } +>U : { kind: undefined; u: "u"; } >kind : undefined >u : "u" type N = { kind: null, n: 'n' } ->N : { kind: null; n: 'n'; } +>N : { kind: null; n: "n"; } >kind : null >null : null >n : "n" type X = { kind: 'X', x: 'x' } ->X : { kind: 'X'; x: 'x'; } +>X : { kind: "X"; x: "x"; } >kind : "X" >x : "x" diff --git a/tests/baselines/reference/controlFlowOuterVariable.types b/tests/baselines/reference/controlFlowOuterVariable.types index 9bd91acdaa..867f071641 100644 --- a/tests/baselines/reference/controlFlowOuterVariable.types +++ b/tests/baselines/reference/controlFlowOuterVariable.types @@ -32,8 +32,8 @@ const helper = function(t: T[]) { >helper(t.slice(1)) : void >helper : (t: T[]) => void >t.slice(1) : T[] ->t.slice : (start?: number | undefined, end?: number | undefined) => T[] +>t.slice : (start?: number, end?: number) => T[] >t : T[] ->slice : (start?: number | undefined, end?: number | undefined) => T[] +>slice : (start?: number, end?: number) => T[] >1 : 1 } diff --git a/tests/baselines/reference/controlFlowPropertyDeclarations.types b/tests/baselines/reference/controlFlowPropertyDeclarations.types index d1b74c8feb..58efb2507e 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.types +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.types @@ -316,9 +316,9 @@ export class HTMLtoJSX { >'{' + JSON.stringify(whitespace) : string >'{' : "{" >JSON.stringify(whitespace) : string ->JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >whitespace : string >'}' : "}" diff --git a/tests/baselines/reference/controlFlowStringIndex.types b/tests/baselines/reference/controlFlowStringIndex.types index 4baba673c7..5078ef6ad6 100644 --- a/tests/baselines/reference/controlFlowStringIndex.types +++ b/tests/baselines/reference/controlFlowStringIndex.types @@ -23,11 +23,11 @@ if (value.foo !== null) { value.foo.toExponential() >value.foo.toExponential() : string ->value.foo.toExponential : (fractionDigits?: number | undefined) => string +>value.foo.toExponential : (fractionDigits?: number) => string >value.foo : number >value : A >foo : number ->toExponential : (fractionDigits?: number | undefined) => string +>toExponential : (fractionDigits?: number) => string value.other // should still be number | null >value.other : number | null diff --git a/tests/baselines/reference/controlFlowWithTemplateLiterals.types b/tests/baselines/reference/controlFlowWithTemplateLiterals.types index 0a2c47b970..a396d5240e 100644 --- a/tests/baselines/reference/controlFlowWithTemplateLiterals.types +++ b/tests/baselines/reference/controlFlowWithTemplateLiterals.types @@ -10,9 +10,9 @@ if (typeof envVar === `string`) { envVar.slice(0) >envVar.slice(0) : string ->envVar.slice : (start?: number | undefined, end?: number | undefined) => string +>envVar.slice : (start?: number, end?: number) => string >envVar : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string >0 : 0 } @@ -27,11 +27,11 @@ if (`test` in obj) { obj.test.slice(0) >obj.test.slice(0) : string ->obj.test.slice : (start?: number | undefined, end?: number | undefined) => string +>obj.test.slice : (start?: number, end?: number) => string >obj.test : string >obj : { test: string; } >test : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string >0 : 0 } diff --git a/tests/baselines/reference/correlatedUnions.js b/tests/baselines/reference/correlatedUnions.js index 53dae6d8ab..1b204c2ade 100644 --- a/tests/baselines/reference/correlatedUnions.js +++ b/tests/baselines/reference/correlatedUnions.js @@ -450,12 +450,12 @@ declare function processEvents(events: Ev[] declare function createEventListener({ name, once, callback }: Ev): Ev; declare const clickEvent: { readonly name: "click"; - readonly once?: boolean | undefined; + readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; }; declare const scrollEvent: { readonly name: "scroll"; - readonly once?: boolean | undefined; + readonly once?: boolean; readonly callback: (ev: Event) => void; }; declare function ff1(): void; diff --git a/tests/baselines/reference/correlatedUnions.types b/tests/baselines/reference/correlatedUnions.types index 6d2074195b..576520ab57 100644 --- a/tests/baselines/reference/correlatedUnions.types +++ b/tests/baselines/reference/correlatedUnions.types @@ -64,9 +64,9 @@ processRecord({ kind: 'n', v: 42, f: v => v.toExponential() }); >v => v.toExponential() : (v: number) => string >v : number >v.toExponential() : string ->v.toExponential : (fractionDigits?: number | undefined) => string +>v.toExponential : (fractionDigits?: number) => string >v : number ->toExponential : (fractionDigits?: number | undefined) => string +>toExponential : (fractionDigits?: number) => string // -------- @@ -180,9 +180,9 @@ const handlers: HandlerMap = { >n => n.toFixed(2) : (n: number) => string >n : number >n.toFixed(2) : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string >2 : 2 }; @@ -352,9 +352,9 @@ function processEvents(events: Ev[]) { document.addEventListener(event.name, (ev) => event.callback(ev), { once: event.once }); >document.addEventListener(event.name, (ev) => event.callback(ev), { once: event.once }) : void ->document.addEventListener : { (type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; } +>document.addEventListener : { (type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; } >document : Document ->addEventListener : { (type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; } +>addEventListener : { (type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; } >event.name : K >event : Ev >name : K @@ -660,7 +660,7 @@ const ref: MyObj = { }; function func(k: K): MyObj[K]['name'] | undefined { ->func : (k: K) => MyObj[K]['name'] | undefined +>func : (k: K) => MyObj[K]["name"] | undefined >k : K const myObj: Partial[K] = ref[k]; diff --git a/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types b/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types index df006869da..3df11d79c2 100644 --- a/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types +++ b/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types @@ -58,6 +58,6 @@ function test(x: typeof a): void { } test(b); >test(b) : void ->test : (x: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: any; }; }; }; }; }; }; }; }; }; }; }) => void +>test : (x: typeof a) => void >b : { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: any; }; }; }; }; }; }; }; }; }; }; } diff --git a/tests/baselines/reference/declFilePrivateMethodOverloads.types b/tests/baselines/reference/declFilePrivateMethodOverloads.types index 0223d2b517..edab5964eb 100644 --- a/tests/baselines/reference/declFilePrivateMethodOverloads.types +++ b/tests/baselines/reference/declFilePrivateMethodOverloads.types @@ -7,7 +7,7 @@ class c1 { >c1 : c1 private _forEachBindingContext(bindingContext: IContext, fn: (bindingContext: IContext) => void); ->_forEachBindingContext : { (bindingContext: IContext, fn: (bindingContext: IContext) => void): any; (bindingContextArray: IContext[], fn: (bindingContext: IContext) => void): any; } +>_forEachBindingContext : { (bindingContext: IContext, fn: (bindingContext: IContext) => void): any; (bindingContextArray: Array, fn: (bindingContext: IContext) => void): any; } >bindingContext : IContext >fn : (bindingContext: IContext) => void >bindingContext : IContext @@ -19,7 +19,7 @@ class c1 { >bindingContext : IContext private _forEachBindingContext(context, fn: (bindingContext: IContext) => void): void { ->_forEachBindingContext : { (bindingContext: IContext, fn: (bindingContext: IContext) => void): any; (bindingContextArray: IContext[], fn: (bindingContext: IContext) => void): any; } +>_forEachBindingContext : { (bindingContext: IContext, fn: (bindingContext: IContext) => void): any; (bindingContextArray: Array, fn: (bindingContext: IContext) => void): any; } >context : any >fn : (bindingContext: IContext) => void >bindingContext : IContext @@ -28,7 +28,7 @@ class c1 { } private overloadWithArityDifference(bindingContext: IContext); ->overloadWithArityDifference : { (bindingContext: IContext): any; (bindingContextArray: IContext[], fn: (bindingContext: IContext) => void): any; } +>overloadWithArityDifference : { (bindingContext: IContext): any; (bindingContextArray: Array, fn: (bindingContext: IContext) => void): any; } >bindingContext : IContext private overloadWithArityDifference(bindingContextArray: Array, fn: (bindingContext: IContext) => void); @@ -38,7 +38,7 @@ class c1 { >bindingContext : IContext private overloadWithArityDifference(context): void { ->overloadWithArityDifference : { (bindingContext: IContext): any; (bindingContextArray: IContext[], fn: (bindingContext: IContext) => void): any; } +>overloadWithArityDifference : { (bindingContext: IContext): any; (bindingContextArray: Array, fn: (bindingContext: IContext) => void): any; } >context : any // Function here diff --git a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types index 93c6238744..3d11e220ae 100644 --- a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types +++ b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types @@ -4,12 +4,12 @@ function f1(...args) { } >args : any[] function f2(x: (...args) => void) { } ->f2 : (x: (...args: any[]) => void) => void +>f2 : (x: (...args: any) => void) => void >x : (...args: any[]) => void >args : any[] function f3(x: { (...args): void }) { } ->f3 : (x: (...args: any[]) => void) => void +>f3 : (x: { (...args: any): void; }) => void >x : (...args: any[]) => void >args : any[] diff --git a/tests/baselines/reference/declFileTypeofFunction.types b/tests/baselines/reference/declFileTypeofFunction.types index 376f314ecc..7d4443ad6a 100644 --- a/tests/baselines/reference/declFileTypeofFunction.types +++ b/tests/baselines/reference/declFileTypeofFunction.types @@ -1,30 +1,30 @@ === tests/cases/compiler/declFileTypeofFunction.ts === function f(n: typeof f): string; ->f : { (n: typeof f): string; (n: { (n: typeof g): number; (n: typeof f): number; }): string; } ->n : { (n: typeof f): string; (n: { (n: typeof g): number; (n: typeof f): number; }): string; } ->f : { (n: typeof f): string; (n: { (n: typeof g): number; (n: typeof f): number; }): string; } +>f : { (n: typeof f): string; (n: typeof g): string; } +>n : { (n: typeof f): string; (n: typeof g): string; } +>f : { (n: typeof f): string; (n: typeof g): string; } function f(n: typeof g): string; >f : { (n: typeof f): string; (n: typeof g): string; } ->n : { (n: typeof g): number; (n: { (n: typeof f): string; (n: typeof g): string; }): number; } ->g : { (n: typeof g): number; (n: { (n: typeof f): string; (n: typeof g): string; }): number; } +>n : { (n: typeof g): number; (n: typeof f): number; } +>g : { (n: typeof g): number; (n: typeof f): number; } function f() { return undefined; } ->f : { (n: typeof f): string; (n: { (n: typeof g): number; (n: typeof f): number; }): string; } +>f : { (n: typeof f): string; (n: typeof g): string; } >undefined : undefined function g(n: typeof g): number; ->g : { (n: typeof g): number; (n: { (n: typeof f): string; (n: typeof g): string; }): number; } ->n : { (n: typeof g): number; (n: { (n: typeof f): string; (n: typeof g): string; }): number; } ->g : { (n: typeof g): number; (n: { (n: typeof f): string; (n: typeof g): string; }): number; } +>g : { (n: typeof g): number; (n: typeof f): number; } +>n : { (n: typeof g): number; (n: typeof f): number; } +>g : { (n: typeof g): number; (n: typeof f): number; } function g(n: typeof f): number; >g : { (n: typeof g): number; (n: typeof f): number; } ->n : { (n: typeof f): string; (n: { (n: typeof g): number; (n: typeof f): number; }): string; } ->f : { (n: typeof f): string; (n: { (n: typeof g): number; (n: typeof f): number; }): string; } +>n : { (n: typeof f): string; (n: typeof g): string; } +>f : { (n: typeof f): string; (n: typeof g): string; } function g() { return undefined; } ->g : { (n: typeof g): number; (n: { (n: typeof f): string; (n: typeof g): string; }): number; } +>g : { (n: typeof g): number; (n: typeof f): number; } >undefined : undefined var b: () => typeof b; diff --git a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types index db3aae7ef4..cb27468efe 100644 --- a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types +++ b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types @@ -1,6 +1,6 @@ === tests/cases/compiler/locale.d.ts === export type Locale = { ->Locale : { weekdays: { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string];}; } +>Locale : { weekdays: { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string]; }; } weekdays: { >weekdays : { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string]; } @@ -14,7 +14,7 @@ export type Locale = { }; }; export type CustomLocale = { ->CustomLocale : { weekdays: { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string];}; } +>CustomLocale : { weekdays: { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string]; }; } weekdays: { >weekdays : { shorthand: [string, string, string, string, string, string, string]; longhand: [string, string, string, string, string, string, string]; } diff --git a/tests/baselines/reference/declarationEmitDestructuring1.types b/tests/baselines/reference/declarationEmitDestructuring1.types index 7ff74ab36a..161ad94e54 100644 --- a/tests/baselines/reference/declarationEmitDestructuring1.types +++ b/tests/baselines/reference/declarationEmitDestructuring1.types @@ -12,7 +12,7 @@ function far([a, [b], [[c]]]: [number, boolean[], string[][]]): void { } >c : string function bar({a1, b1, c1}: { a1: number, b1: boolean, c1: string }): void { } ->bar : ({ a1, b1, c1 }: { a1: number; b1: boolean; c1: string;}) => void +>bar : ({ a1, b1, c1 }: { a1: number; b1: boolean; c1: string; }) => void >a1 : number >b1 : boolean >c1 : string @@ -21,7 +21,7 @@ function bar({a1, b1, c1}: { a1: number, b1: boolean, c1: string }): void { } >c1 : string function baz({a2, b2: {b1, c1}}: { a2: number, b2: { b1: boolean, c1: string } }): void { } ->baz : ({ a2, b2: { b1, c1 } }: { a2: number; b2: { b1: boolean; c1: string; };}) => void +>baz : ({ a2, b2: { b1, c1 } }: { a2: number; b2: { b1: boolean; c1: string; }; }) => void >a2 : number >b2 : any >b1 : boolean diff --git a/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types b/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types index 460920dfb3..fb8c57d019 100644 --- a/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types +++ b/tests/baselines/reference/declarationEmitDestructuringOptionalBindingParametersInOverloads.types @@ -11,7 +11,7 @@ function foo(...rest: any[]) { } function foo2( { x, y, z }?: { x: string; y: number; z: boolean }); ->foo2 : ({ x, y, z }?: { x: string; y: number; z: boolean;}) => any +>foo2 : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => any >x : string >y : number >z : boolean diff --git a/tests/baselines/reference/declarationEmitDestructuringWithOptionalBindingParameters.types b/tests/baselines/reference/declarationEmitDestructuringWithOptionalBindingParameters.types index e7d0ec68f5..7c7d59ac11 100644 --- a/tests/baselines/reference/declarationEmitDestructuringWithOptionalBindingParameters.types +++ b/tests/baselines/reference/declarationEmitDestructuringWithOptionalBindingParameters.types @@ -6,7 +6,7 @@ function foo([x,y,z]?: [string, number, boolean]) { >z : boolean } function foo1( { x, y, z }?: { x: string; y: number; z: boolean }) { ->foo1 : ({ x, y, z }?: { x: string; y: number; z: boolean;}) => void +>foo1 : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => void >x : string >y : number >z : boolean diff --git a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.js b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.js index 1e161e0ca6..76cea4fd6f 100644 --- a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.js +++ b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.js @@ -15,4 +15,4 @@ exports.fun = fun; //// [declarationEmitDistributiveConditionalWithInfer.d.ts] -export declare const fun: (subFun: () => (Collection[Field] extends infer T ? T extends Collection[Field] ? T extends readonly (infer InnerArr)[] ? InnerArr : T : never : never)[]) => void; +export declare const fun: (subFun: () => FlatArray[]) => void; diff --git a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types index 08ee505927..16371e8358 100644 --- a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types +++ b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types @@ -1,11 +1,11 @@ === tests/cases/compiler/declarationEmitDistributiveConditionalWithInfer.ts === // This function's type is changed on declaration export const fun = ( ->fun : (subFun: () => (Collection[Field] extends readonly (infer InnerArr)[] ? InnerArr : Collection[Field])[]) => void ->( subFun: () => FlatArray[]) => { } : (subFun: () => (Collection[Field] extends readonly (infer InnerArr)[] ? InnerArr : Collection[Field])[]) => void +>fun : (subFun: () => FlatArray[]) => void +>( subFun: () => FlatArray[]) => { } : (subFun: () => FlatArray[]) => void subFun: () ->subFun : () => (Collection[Field] extends readonly (infer InnerArr)[] ? InnerArr : Collection[Field])[] +>subFun : () => FlatArray[] => FlatArray[]) => { }; diff --git a/tests/baselines/reference/declarationEmitDuplicateParameterDestructuring.types b/tests/baselines/reference/declarationEmitDuplicateParameterDestructuring.types index bed8aab73c..65d56875c4 100644 --- a/tests/baselines/reference/declarationEmitDuplicateParameterDestructuring.types +++ b/tests/baselines/reference/declarationEmitDuplicateParameterDestructuring.types @@ -1,7 +1,7 @@ === tests/cases/compiler/declarationEmitDuplicateParameterDestructuring.ts === export const fn1 = ({ prop: a, prop: b }: { prop: number }) => a + b; ->fn1 : ({ prop: a, prop: b }: { prop: number;}) => number ->({ prop: a, prop: b }: { prop: number }) => a + b : ({ prop: a, prop: b }: { prop: number;}) => number +>fn1 : ({ prop: a, prop: b }: { prop: number; }) => number +>({ prop: a, prop: b }: { prop: number }) => a + b : ({ prop: a, prop: b }: { prop: number; }) => number >prop : any >a : number >prop : any @@ -12,8 +12,8 @@ export const fn1 = ({ prop: a, prop: b }: { prop: number }) => a + b; >b : number export const fn2 = ({ prop: a }: { prop: number }, { prop: b }: { prop: number }) => a + b; ->fn2 : ({ prop: a }: { prop: number;}, { prop: b }: { prop: number;}) => number ->({ prop: a }: { prop: number }, { prop: b }: { prop: number }) => a + b : ({ prop: a }: { prop: number;}, { prop: b }: { prop: number;}) => number +>fn2 : ({ prop: a }: { prop: number; }, { prop: b }: { prop: number; }) => number +>({ prop: a }: { prop: number }, { prop: b }: { prop: number }) => a + b : ({ prop: a }: { prop: number; }, { prop: b }: { prop: number; }) => number >prop : any >a : number >prop : number diff --git a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types index 41b6e4b4bd..d00abf20f9 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types +++ b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types @@ -10,7 +10,7 @@ type AllArg = { [K in keyof T]: Parameters }; >AllArg : AllArg function fn }>(sliceIndex: T): AllArg { ->fn : ; }>(sliceIndex: T) => AllArg +>fn : ; }>(sliceIndex: T) => AllArg >x : Map >sliceIndex : T diff --git a/tests/baselines/reference/declarationEmitOptionalMethod.types b/tests/baselines/reference/declarationEmitOptionalMethod.types index 2419be9b02..8848e4da31 100644 --- a/tests/baselines/reference/declarationEmitOptionalMethod.types +++ b/tests/baselines/reference/declarationEmitOptionalMethod.types @@ -1,8 +1,8 @@ === tests/cases/compiler/declarationEmitOptionalMethod.ts === export const Foo = (opts: { ->Foo : (opts: { a?(): void; b?: () => void;}) => { c?(): void; d?: () => void;} ->(opts: { a?(): void, b?: () => void,}): { c?(): void, d?: () => void,} => ({ }) : (opts: { a?(): void; b?: () => void;}) => { c?(): void; d?: () => void;} ->opts : { a?(): void; b?: (() => void) | undefined; } +>Foo : (opts: { a?(): void; b?: () => void; }) => { c?(): void; d?: () => void; } +>(opts: { a?(): void, b?: () => void,}): { c?(): void, d?: () => void,} => ({ }) : (opts: { a?(): void; b?: () => void; }) => { c?(): void; d?: () => void; } +>opts : { a?(): void; b?: () => void; } a?(): void, >a : (() => void) | undefined diff --git a/tests/baselines/reference/declarationEmitPrivatePromiseLikeInterface.js b/tests/baselines/reference/declarationEmitPrivatePromiseLikeInterface.js index ec9d5aefcf..798d44832e 100644 --- a/tests/baselines/reference/declarationEmitPrivatePromiseLikeInterface.js +++ b/tests/baselines/reference/declarationEmitPrivatePromiseLikeInterface.js @@ -72,6 +72,6 @@ export interface HttpResponse ex error: E; } export declare class HttpClient { - request: () => TPromise, any>; + request: () => TPromise>; } export {}; diff --git a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js index 803a677f20..0d5274f645 100644 --- a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js +++ b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js @@ -36,5 +36,5 @@ type Client = string; type UpdatedClient = C & { foo: number; }; -export declare const createClient: Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C_1 ? UpdatedClient : never; }; +export declare const createClient: Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; }; export {}; diff --git a/tests/baselines/reference/declarationMapsMultifile.types b/tests/baselines/reference/declarationMapsMultifile.types index cfd5671eda..f77a3983a4 100644 --- a/tests/baselines/reference/declarationMapsMultifile.types +++ b/tests/baselines/reference/declarationMapsMultifile.types @@ -3,7 +3,7 @@ export class Foo { >Foo : Foo doThing(x: {a: number}) { ->doThing : (x: { a: number;}) => { b: number; } +>doThing : (x: { a: number; }) => { b: number; } >x : { a: number; } >a : number diff --git a/tests/baselines/reference/declarationMapsOutFile.types b/tests/baselines/reference/declarationMapsOutFile.types index cfd5671eda..f77a3983a4 100644 --- a/tests/baselines/reference/declarationMapsOutFile.types +++ b/tests/baselines/reference/declarationMapsOutFile.types @@ -3,7 +3,7 @@ export class Foo { >Foo : Foo doThing(x: {a: number}) { ->doThing : (x: { a: number;}) => { b: number; } +>doThing : (x: { a: number; }) => { b: number; } >x : { a: number; } >a : number diff --git a/tests/baselines/reference/declarationMapsOutFile2.types b/tests/baselines/reference/declarationMapsOutFile2.types index a0108b91fe..c4fc426199 100644 --- a/tests/baselines/reference/declarationMapsOutFile2.types +++ b/tests/baselines/reference/declarationMapsOutFile2.types @@ -3,7 +3,7 @@ class Foo { >Foo : Foo doThing(x: {a: number}) { ->doThing : (x: { a: number;}) => { b: number; } +>doThing : (x: { a: number; }) => { b: number; } >x : { a: number; } >a : number diff --git a/tests/baselines/reference/declarationMapsWithSourceMap.types b/tests/baselines/reference/declarationMapsWithSourceMap.types index a0108b91fe..c4fc426199 100644 --- a/tests/baselines/reference/declarationMapsWithSourceMap.types +++ b/tests/baselines/reference/declarationMapsWithSourceMap.types @@ -3,7 +3,7 @@ class Foo { >Foo : Foo doThing(x: {a: number}) { ->doThing : (x: { a: number;}) => { b: number; } +>doThing : (x: { a: number; }) => { b: number; } >x : { a: number; } >a : number diff --git a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types index 4e4bf5b769..5cc4e09d9a 100644 --- a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types +++ b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types @@ -155,7 +155,7 @@ let p2 = p1.deeper({ two: '2' }) >p1.deeper({ two: '2' }) : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } >p1.deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } >p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; } +>deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } >{ two: '2' } : { two: string; } >two : string >'2' : "2" @@ -181,7 +181,7 @@ let p3 = p2.deeper({ three: '3' }) >p2.deeper({ three: '3' }) : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } >p2.deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } >p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; } +>deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } >{ three: '3' } : { three: string; } >three : string >'3' : "3" diff --git a/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types b/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types index b8471ffedb..7e33bbce8a 100644 --- a/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types +++ b/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types @@ -45,10 +45,10 @@ TestComponent({icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test lab >'test label' : "test label" const TestComponent2: StatelessComponent = (props) => { ->TestComponent2 : StatelessComponent +>TestComponent2 : StatelessComponent >props2 : { x: number; } >x : number ->(props) => { return null;} : (props: (TestProps | { props2: { x: number;}; }) & { children?: number; }) => any +>(props) => { return null;} : (props: (TestProps | { props2: { x: number; }; }) & { children?: number; }) => any >props : (TestProps | { props2: { x: number; }; }) & { children?: number; } return null; diff --git a/tests/baselines/reference/deeplyNestedAssignabilityIssue.types b/tests/baselines/reference/deeplyNestedAssignabilityIssue.types index f5d8b1850c..566bd6e499 100644 --- a/tests/baselines/reference/deeplyNestedAssignabilityIssue.types +++ b/tests/baselines/reference/deeplyNestedAssignabilityIssue.types @@ -6,10 +6,10 @@ interface A { interface Large { something: { ->something : { another: { more: { thing: A; }; yetstill: { another: A; };}; } +>something : { another: { more: { thing: A; }; yetstill: { another: A; }; }; } another: { ->another : { more: { thing: A;}; yetstill: { another: A;}; } +>another : { more: { thing: A; }; yetstill: { another: A; }; } more: { >more : { thing: A; } diff --git a/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types b/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types index c80cfff0c8..5ac23f8e0e 100644 --- a/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types +++ b/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types @@ -7,8 +7,8 @@ export interface Things { >t : T } export function make(x: { new (): CTor & {props: P} }): Things { ->make : (x: { new (): CTor & { props: P; };}) => Things ->x : new () => CTor & { props: P;} +>make : (x: { new (): CTor & { props: P; }; }) => Things +>x : new () => CTor & { props: P; } >props : P return null as any; @@ -28,6 +28,6 @@ export default class MyComponent { static create = make(MyComponent); >create : Things >make(MyComponent) : Things ->make : (x: new () => CTor & { props: P; }) => Things +>make : (x: { new (): CTor & { props: P; }; }) => Things >MyComponent : typeof MyComponent } diff --git a/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types b/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types index 32f6e94c86..1d1c81b48b 100644 --- a/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types +++ b/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types @@ -10,8 +10,8 @@ export interface Things { >t : T } export function make(x: { new (): CTor & {props: P} }): Things { ->make : (x: { new (): CTor & { props: P; };}) => Things ->x : new () => CTor & { props: P;} +>make : (x: { new (): CTor & { props: P; }; }) => Things +>x : new () => CTor & { props: P; } >props : P return null as any; @@ -38,7 +38,7 @@ export namespace Something { export const create = make(me.default); >create : me.Things >make(me.default) : me.Things ->make : (x: new () => CTor & { props: P; }) => me.Things +>make : (x: { new (): CTor & { props: P; }; }) => me.Things >me.default : typeof me.default >me : typeof me >default : typeof me.default diff --git a/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types b/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types index 06b51c2eea..2a51f46589 100644 --- a/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types +++ b/tests/baselines/reference/defaultParameterAddsUndefinedWithStrictNullChecks.types @@ -34,16 +34,16 @@ let total = f() + f('a', 1) + f('b') + f(undefined, 2); >f() + f('a', 1) + f('b') : number >f() + f('a', 1) : number >f() : number ->f : (addUndefined1?: string, addUndefined2?: number | undefined) => number +>f : (addUndefined1?: string, addUndefined2?: number) => number >f('a', 1) : number ->f : (addUndefined1?: string, addUndefined2?: number | undefined) => number +>f : (addUndefined1?: string, addUndefined2?: number) => number >'a' : "a" >1 : 1 >f('b') : number ->f : (addUndefined1?: string, addUndefined2?: number | undefined) => number +>f : (addUndefined1?: string, addUndefined2?: number) => number >'b' : "b" >f(undefined, 2) : number ->f : (addUndefined1?: string, addUndefined2?: number | undefined) => number +>f : (addUndefined1?: string, addUndefined2?: number) => number >undefined : undefined >2 : 2 diff --git a/tests/baselines/reference/deferredLookupTypeResolution.js b/tests/baselines/reference/deferredLookupTypeResolution.js index 5baf26128b..b7d3a114c1 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution.js +++ b/tests/baselines/reference/deferredLookupTypeResolution.js @@ -60,3 +60,20 @@ declare function f3(x: 'a' | 'b'): { b: any; x: any; }; + + +!!!! File tests/cases/compiler/deferredLookupTypeResolution.d.ts differs from original emit in noCheck emit +//// [deferredLookupTypeResolution.d.ts] +=================================================================== +--- Expected The full check baseline ++++ Actual with noCheck set +@@ -15,8 +15,8 @@ + [P in A | B]: any; + }; + declare function f2(a: A): { [P in A | "x"]: any; }; + declare function f3(x: 'a' | 'b'): { ++ x: any; + a: any; + b: any; +- x: any; + }; diff --git a/tests/baselines/reference/deferredLookupTypeResolution.types b/tests/baselines/reference/deferredLookupTypeResolution.types index d35d3c3aba..42a397d6a5 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution.types +++ b/tests/baselines/reference/deferredLookupTypeResolution.types @@ -43,7 +43,7 @@ function f2(a: A) { } function f3(x: 'a' | 'b') { ->f3 : (x: 'a' | 'b') => { a: any; b: any; x: any; } +>f3 : (x: "a" | "b") => { a: any; b: any; x: any; } >x : "a" | "b" return f2(x); diff --git a/tests/baselines/reference/deleteChain.types b/tests/baselines/reference/deleteChain.types index 2e5f7fedd3..9d04861118 100644 --- a/tests/baselines/reference/deleteChain.types +++ b/tests/baselines/reference/deleteChain.types @@ -17,7 +17,7 @@ delete (o1?.b); >b : string | undefined declare const o2: undefined | { b: { c: string } }; ->o2 : { b: { c: string;}; } | undefined +>o2 : { b: { c: string; }; } | undefined >b : { c: string; } >c : string @@ -39,7 +39,7 @@ delete (o2?.b.c); >c : string | undefined declare const o3: { b: undefined | { c: string } }; ->o3 : { b: undefined | { c: string;}; } +>o3 : { b: undefined | { c: string; }; } >b : { c: string; } | undefined >c : string @@ -61,9 +61,9 @@ delete (o3.b?.c); >c : string | undefined declare const o4: { b?: { c: { d?: { e: string } } } }; ->o4 : { b?: { c: { d?: { e: string; };}; } | undefined; } ->b : { c: { d?: { e: string; };}; } | undefined ->c : { d?: { e: string; } | undefined; } +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +>b : { c: { d?: { e: string; }; }; } | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string @@ -106,9 +106,9 @@ delete (o4.b?.c.d?.e); >e : string | undefined declare const o5: { b?(): { c: { d?: { e: string } } } }; ->o5 : { b?(): { c: { d?: { e: string; }; };}; } ->b : (() => { c: { d?: { e: string; }; };}) | undefined ->c : { d?: { e: string; } | undefined; } +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string @@ -140,9 +140,9 @@ delete (o5.b?.().c.d?.e); >e : string | undefined declare const o6: { b?: { c: { d?: { e: string } } } }; ->o6 : { b?: { c: { d?: { e: string; };}; } | undefined; } ->b : { c: { d?: { e: string; };}; } | undefined ->c : { d?: { e: string; } | undefined; } +>o6 : { b?: { c: { d?: { e: string; }; }; }; } +>b : { c: { d?: { e: string; }; }; } | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 365c8428a3..d6c71eeeb5 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -1,6 +1,6 @@ === tests/cases/conformance/controlFlow/dependentDestructuredVariables.ts === type Action = ->Action : { kind: 'A'; payload: number; } | { kind: 'B'; payload: string; } +>Action : { kind: "A"; payload: number; } | { kind: "B"; payload: string; } | { kind: 'A', payload: number } >kind : "A" @@ -22,9 +22,9 @@ function f10({ kind, payload }: Action) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -55,9 +55,9 @@ function f11(action: Action) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -85,9 +85,9 @@ function f12({ kind, payload }: Action) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string break; case 'B': @@ -119,9 +119,9 @@ function f13({ kind, payload }: T) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -152,9 +152,9 @@ function f14(t: T) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -170,7 +170,7 @@ function f14(t: T) { } type Action2 = ->Action2 : { kind: 'A'; payload: number | undefined; } | { kind: 'B'; payload: string | undefined; } +>Action2 : { kind: "A"; payload: number | undefined; } | { kind: "B"; payload: string | undefined; } | { kind: 'A', payload: number | undefined } >kind : "A" @@ -195,9 +195,9 @@ function f20({ kind, payload }: Action2) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -232,9 +232,9 @@ function f21(action: Action2) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -271,9 +271,9 @@ function f22(action: Action2) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -305,9 +305,9 @@ function f23({ kind, payload }: Action2) { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string break; case 'B': @@ -328,7 +328,7 @@ function f23({ kind, payload }: Action2) { } type Foo = ->Foo : { kind: 'A'; isA: true; } | { kind: 'B'; isA: false; } | { kind: 'C'; isA: false; } +>Foo : { kind: "A"; isA: true; } | { kind: "B"; isA: false; } | { kind: "C"; isA: false; } | { kind: 'A', isA: true } >kind : "A" @@ -401,9 +401,9 @@ function f40(...[kind, data]: Args) { data.toFixed(); >data.toFixed() : string ->data.toFixed : (fractionDigits?: number | undefined) => string +>data.toFixed : (fractionDigits?: number) => string >data : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -461,7 +461,7 @@ function unrefined1(ab: AB): void { else { printValueList(value); >printValueList(value) : void ->printValueList : (t: T[]) => void +>printValueList : (t: Array) => void >value : T[] } } @@ -469,7 +469,7 @@ function unrefined1(ab: AB): void { // Repro from #38020 type Action3 = ->Action3 : { type: 'add'; payload: { toAdd: number;}; } | { type: 'remove'; payload: { toRemove: number;}; } +>Action3 : { type: "add"; payload: { toAdd: number; }; } | { type: "remove"; payload: { toRemove: number; }; } | {type: 'add', payload: { toAdd: number } } >type : "add" @@ -555,9 +555,9 @@ f50((kind, data) => { data.toFixed(); >data.toFixed() : string ->data.toFixed : (fractionDigits?: number | undefined) => string +>data.toFixed : (fractionDigits?: number) => string >data : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -573,7 +573,7 @@ f50((kind, data) => { }); const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => { ->f51 : (...args: ['A', number] | ['B', string]) => void +>f51 : (...args: ["A", number] | ["B", string]) => void >args : ["A", number] | ["B", string] >(kind, payload) => { if (kind === 'A') { payload.toFixed(); } if (kind === 'B') { payload.toUpperCase(); }} : (kind: "A" | "B", payload: string | number) => void >kind : "A" | "B" @@ -586,9 +586,9 @@ const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === 'B') { >kind === 'B' : boolean @@ -604,7 +604,7 @@ const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => }; const f52: (...args: ['A', number] | ['B']) => void = (kind, payload?) => { ->f52 : (...args: ['A', number] | ['B']) => void +>f52 : (...args: ["A", number] | ["B"]) => void >args : ["A", number] | ["B"] >(kind, payload?) => { if (kind === 'A') { payload.toFixed(); } else { payload; // undefined }} : (kind: "A" | "B", payload?: number | undefined) => void >kind : "A" | "B" @@ -617,9 +617,9 @@ const f52: (...args: ['A', number] | ['B']) => void = (kind, payload?) => { payload.toFixed(); >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } else { payload; // undefined @@ -937,9 +937,9 @@ const f60: Func = (kind, payload) => { payload.toFixed(); // error >payload.toFixed() : string ->payload.toFixed : (fractionDigits?: number | undefined) => string +>payload.toFixed : (fractionDigits?: number) => string >payload : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } if (kind === "b") { >kind === "b" : boolean @@ -1052,7 +1052,7 @@ function fa1(x: [true, number] | [false, string]) { } function fa2(x: { guard: true, value: number } | { guard: false, value: string }) { ->fa2 : (x: { guard: true; value: number;} | { guard: false; value: string;}) => void +>fa2 : (x: { guard: true; value: number; } | { guard: false; value: string; }) => void >x : { guard: true; value: number; } | { guard: false; value: string; } >guard : true >true : true diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types index 9f3ed172fe..3867279bbd 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types @@ -136,9 +136,9 @@ var r1 = d.a; var r2 = d.b(y); >r2 : void >d.b(y) : void ->d.b : (a: { foo: string; bar: string; }) => void +>d.b : (a: typeof y) => void >d : Derived ->b : (a: { foo: string; bar: string; }) => void +>b : (a: typeof y) => void >y : { foo: string; bar: string; } var r3 = d.c; @@ -148,10 +148,10 @@ var r3 = d.c; >c : { foo: string; bar: string; } var r3a = d.d; ->r3a : (a: { foo: string; bar: string; }) => void ->d.d : (a: { foo: string; bar: string; }) => void +>r3a : (a: typeof y) => void +>d.d : (a: typeof y) => void >d : Derived ->d : (a: { foo: string; bar: string; }) => void +>d : (a: typeof y) => void d.c = y; >d.c = y : { foo: string; bar: string; } @@ -169,9 +169,9 @@ var r4 = Derived.r; var r5 = Derived.s(y); >r5 : void >Derived.s(y) : void ->Derived.s : (a: { foo: string; bar: string; }) => void +>Derived.s : (a: typeof y) => void >Derived : typeof Derived ->s : (a: { foo: string; bar: string; }) => void +>s : (a: typeof y) => void >y : { foo: string; bar: string; } var r6 = Derived.t; @@ -181,10 +181,10 @@ var r6 = Derived.t; >t : { foo: string; bar: string; } var r6a = Derived.u; ->r6a : (a: { foo: string; bar: string; }) => void ->Derived.u : (a: { foo: string; bar: string; }) => void +>r6a : (a: typeof y) => void +>Derived.u : (a: typeof y) => void >Derived : typeof Derived ->u : (a: { foo: string; bar: string; }) => void +>u : (a: typeof y) => void Derived.t = y; >Derived.t = y : { foo: string; bar: string; } diff --git a/tests/baselines/reference/derivedClassOverridesPublicMembers.types b/tests/baselines/reference/derivedClassOverridesPublicMembers.types index 2554879086..f8faa5c774 100644 --- a/tests/baselines/reference/derivedClassOverridesPublicMembers.types +++ b/tests/baselines/reference/derivedClassOverridesPublicMembers.types @@ -135,9 +135,9 @@ var r1 = d.a; var r2 = d.b(y); >r2 : void >d.b(y) : void ->d.b : (a: { foo: string; bar: string; }) => void +>d.b : (a: typeof y) => void >d : Derived ->b : (a: { foo: string; bar: string; }) => void +>b : (a: typeof y) => void >y : { foo: string; bar: string; } var r3 = d.c; @@ -147,10 +147,10 @@ var r3 = d.c; >c : { foo: string; bar: string; } var r3a = d.d; ->r3a : (a: { foo: string; bar: string; }) => void ->d.d : (a: { foo: string; bar: string; }) => void +>r3a : (a: typeof y) => void +>d.d : (a: typeof y) => void >d : Derived ->d : (a: { foo: string; bar: string; }) => void +>d : (a: typeof y) => void d.c = y; >d.c = y : { foo: string; bar: string; } @@ -168,9 +168,9 @@ var r4 = Derived.r; var r5 = Derived.s(y); >r5 : void >Derived.s(y) : void ->Derived.s : (a: { foo: string; bar: string; }) => void +>Derived.s : (a: typeof y) => void >Derived : typeof Derived ->s : (a: { foo: string; bar: string; }) => void +>s : (a: typeof y) => void >y : { foo: string; bar: string; } var r6 = Derived.t; @@ -180,10 +180,10 @@ var r6 = Derived.t; >t : { foo: string; bar: string; } var r6a = Derived.u; ->r6a : (a: { foo: string; bar: string; }) => void ->Derived.u : (a: { foo: string; bar: string; }) => void +>r6a : (a: typeof y) => void +>Derived.u : (a: typeof y) => void >Derived : typeof Derived ->u : (a: { foo: string; bar: string; }) => void +>u : (a: typeof y) => void Derived.t = y; >Derived.t = y : { foo: string; bar: string; } diff --git a/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types b/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types index e073f8a8ce..a476177045 100644 --- a/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types +++ b/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types @@ -30,7 +30,7 @@ interface Derived3 extends Base { interface Derived4 extends Base { foo(): { x: number } // error ->foo : () => { x: number;} +>foo : () => { x: number; } >x : number } diff --git a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types index 28e916666f..a5e997f96e 100644 --- a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types +++ b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types @@ -3,7 +3,7 @@ class Base { >Base : Base foo(x: { a: number }): { a: number } { ->foo : (x: { a: number;}) => { a: number;} +>foo : (x: { a: number; }) => { a: number; } >x : { a: number; } >a : number >a : number @@ -18,7 +18,7 @@ class Derived extends Base { >Base : Base foo(x: { a: number; b: number }): { a: number; b: number } { ->foo : (x: { a: number; b: number;}) => { a: number; b: number;} +>foo : (x: { a: number; b: number; }) => { a: number; b: number; } >x : { a: number; b: number; } >a : number >b : number diff --git a/tests/baselines/reference/destructionAssignmentError.types b/tests/baselines/reference/destructionAssignmentError.types index 94cbd3f792..1ead378638 100644 --- a/tests/baselines/reference/destructionAssignmentError.types +++ b/tests/baselines/reference/destructionAssignmentError.types @@ -1,6 +1,6 @@ === tests/cases/compiler/destructionAssignmentError.ts === declare function fn(): { a: 1, b: 2 } ->fn : () => { a: 1; b: 2;} +>fn : () => { a: 1; b: 2; } >a : 1 >b : 2 diff --git a/tests/baselines/reference/destructureOptionalParameter.types b/tests/baselines/reference/destructureOptionalParameter.types index 01b45c1cb4..5e8bdecb5b 100644 --- a/tests/baselines/reference/destructureOptionalParameter.types +++ b/tests/baselines/reference/destructureOptionalParameter.types @@ -1,13 +1,13 @@ === tests/cases/compiler/destructureOptionalParameter.ts === declare function f1({ a, b }?: { a: number, b: string }): void; ->f1 : ({ a, b }?: { a: number; b: string;}) => void +>f1 : ({ a, b }?: { a: number; b: string; }) => void >a : number >b : string >a : number >b : string function f2({ a, b }: { a: number, b: number } = { a: 0, b: 0 }) { ->f2 : ({ a, b }?: { a: number; b: number;}) => void +>f2 : ({ a, b }?: { a: number; b: number; }) => void >a : number >b : number >a : number diff --git a/tests/baselines/reference/destructuredDeclarationEmit.types b/tests/baselines/reference/destructuredDeclarationEmit.types index 96da165806..c3bdad1bc9 100644 --- a/tests/baselines/reference/destructuredDeclarationEmit.types +++ b/tests/baselines/reference/destructuredDeclarationEmit.types @@ -16,7 +16,7 @@ const foo = { bar: 'hello', bat: 'world', bam: { bork: { bar: 'a', baz: 'b' } } >'b' : "b" const arr: [0, 1, 2, ['a', 'b', 'c', [{def: 'def'}, {sec: 'sec'}]]] = [0, 1, 2, ['a', 'b', 'c', [{def: 'def'}, {sec: 'sec'}]]]; ->arr : [0, 1, 2, ["a", "b", "c", [{ def: 'def'; }, { sec: 'sec'; }]]] +>arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] >def : "def" >sec : "sec" >[0, 1, 2, ['a', 'b', 'c', [{def: 'def'}, {sec: 'sec'}]]] : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault.types b/tests/baselines/reference/destructuringAssignmentWithDefault.types index 170d1d26ba..292f031931 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault.types @@ -1,6 +1,6 @@ === tests/cases/compiler/destructuringAssignmentWithDefault.ts === const a: { x?: number } = { }; ->a : { x?: number | undefined; } +>a : { x?: number; } >x : number | undefined >{ } : {} @@ -19,8 +19,8 @@ let x = 0; // Repro from #26235 function f1(options?: { color?: string, width?: number }) { ->f1 : (options?: { color?: string | undefined; width?: number | undefined; } | undefined) => void ->options : { color?: string | undefined; width?: number | undefined; } | undefined +>f1 : (options?: { color?: string; width?: number; }) => void +>options : { color?: string; width?: number; } | undefined >color : string | undefined >width : number | undefined @@ -91,7 +91,7 @@ function f2(options?: [string?, number?]) { } function f3(options?: { color: string, width: number }) { ->f3 : (options?: { color: string; width: number; } | undefined) => void +>f3 : (options?: { color: string; width: number; }) => void >options : { color: string; width: number; } | undefined >color : string >width : number diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault2.types b/tests/baselines/reference/destructuringAssignmentWithDefault2.types index 9acf42f3a1..6f9015a29d 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault2.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault2.types @@ -1,6 +1,6 @@ === tests/cases/compiler/destructuringAssignmentWithDefault2.ts === const a: { x?: number; y?: number } = { }; ->a : { x?: number | undefined; y?: number | undefined; } +>a : { x?: number; y?: number; } >x : number | undefined >y : number | undefined >{ } : {} diff --git a/tests/baselines/reference/destructuringControlFlow.types b/tests/baselines/reference/destructuringControlFlow.types index 9fc89eae51..a4a9ab0483 100644 --- a/tests/baselines/reference/destructuringControlFlow.types +++ b/tests/baselines/reference/destructuringControlFlow.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/destructuring/destructuringControlFlow.ts === function f1(obj: { a?: string }) { ->f1 : (obj: { a?: string;}) => void ->obj : { a?: string | undefined; } +>f1 : (obj: { a?: string; }) => void +>obj : { a?: string; } >a : string | undefined if (obj.a) { @@ -95,8 +95,8 @@ function f2(obj: [number, string] | null[]) { } function f3(obj: { a?: number, b?: string }) { ->f3 : (obj: { a?: number; b?: string;}) => void ->obj : { a?: number | undefined; b?: string | undefined; } +>f3 : (obj: { a?: number; b?: string; }) => void +>obj : { a?: number; b?: string; } >a : number | undefined >b : string | undefined diff --git a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types index d0ddb4918a..45e55828c8 100644 --- a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types +++ b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types @@ -50,9 +50,9 @@ const Child: SFC = ({ >`name: ${name} props: ${JSON.stringify(props)}` : string >name : "Apollo" | "Artemis" | "Dionysus" | "Persephone" >JSON.stringify(props) : string ->JSON.stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >props : {} // Repro from #29189 diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES5.types b/tests/baselines/reference/destructuringParameterDeclaration1ES5.types index cea8e2a231..dff5f97fe3 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES5.types @@ -11,13 +11,13 @@ function a1([a, b, [[c]]]: [number, number, string[][]]) { } >c : string function a2(o: { x: number, a: number }) { } ->a2 : (o: { x: number; a: number;}) => void +>a2 : (o: { x: number; a: number; }) => void >o : { x: number; a: number; } >x : number >a : number function a3({j, k, l: {m, n}, q: [a, b, c]}: { j: number, k: string, l: { m: boolean, n: number }, q: (number|string)[] }) { }; ->a3 : ({ j, k, l: { m, n }, q: [a, b, c] }: { j: number; k: string; l: { m: boolean; n: number; }; q: (number | string)[];}) => void +>a3 : ({ j, k, l: { m, n }, q: [a, b, c] }: { j: number; k: string; l: { m: boolean; n: number; }; q: (number | string)[]; }) => void >j : number >k : string >l : any @@ -35,7 +35,7 @@ function a3({j, k, l: {m, n}, q: [a, b, c]}: { j: number, k: string, l: { m: boo >q : (string | number)[] function a4({x, a}: { x: number, a: number }) { } ->a4 : ({ x, a }: { x: number; a: number;}) => void +>a4 : ({ x, a }: { x: number; a: number; }) => void >x : number >a : number >x : number @@ -213,7 +213,7 @@ function c2({z = 10}) { } >10 : 10 function c3({b}: { b: number|string} = { b: "hello" }) { } ->c3 : ({ b }?: { b: number | string;}) => void +>c3 : ({ b }?: { b: number | string; }) => void >b : string | number >b : string | number >{ b: "hello" } : { b: string; } @@ -284,7 +284,7 @@ c2({z:1}); // Implied type is {z?: number} c3({ b: 1 }); // Implied type is { b: number|string }. >c3({ b: 1 }) : void ->c3 : ({ b }?: { b: string | number; }) => void +>c3 : ({ b }?: { b: number | string; }) => void >{ b: 1 } : { b: number; } >b : number >1 : 1 @@ -407,12 +407,12 @@ function e1({x: number}) { } // x has type any NOT number >number : any function e2({x}: { x: number }) { } // x is type number ->e2 : ({ x }: { x: number;}) => void +>e2 : ({ x }: { x: number; }) => void >x : number >x : number function e3({x}: { x?: number }) { } // x is an optional with type number ->e3 : ({ x }: { x?: number;}) => void +>e3 : ({ x }: { x?: number; }) => void >x : number >x : number @@ -424,7 +424,7 @@ function e4({x: [number,string,any] }) { } // x has type [any, any, any] >any : any function e5({x: [a, b, c]}: { x: [number, number, number] }) { } // x has type [any, any, any] ->e5 : ({ x: [a, b, c] }: { x: [number, number, number];}) => void +>e5 : ({ x: [a, b, c] }: { x: [number, number, number]; }) => void >x : any >a : number >b : number diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types b/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types index 4fee7254d2..a2dc646157 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types @@ -11,13 +11,13 @@ function a1([a, b, [[c]]]: [number, number, string[][]]) { } >c : string function a2(o: { x: number, a: number }) { } ->a2 : (o: { x: number; a: number;}) => void +>a2 : (o: { x: number; a: number; }) => void >o : { x: number; a: number; } >x : number >a : number function a3({j, k, l: {m, n}, q: [a, b, c]}: { j: number, k: string, l: { m: boolean, n: number }, q: (number|string)[] }) { }; ->a3 : ({ j, k, l: { m, n }, q: [a, b, c] }: { j: number; k: string; l: { m: boolean; n: number; }; q: (number | string)[];}) => void +>a3 : ({ j, k, l: { m, n }, q: [a, b, c] }: { j: number; k: string; l: { m: boolean; n: number; }; q: (number | string)[]; }) => void >j : number >k : string >l : any @@ -35,7 +35,7 @@ function a3({j, k, l: {m, n}, q: [a, b, c]}: { j: number, k: string, l: { m: boo >q : (string | number)[] function a4({x, a}: { x: number, a: number }) { } ->a4 : ({ x, a }: { x: number; a: number;}) => void +>a4 : ({ x, a }: { x: number; a: number; }) => void >x : number >a : number >x : number @@ -213,7 +213,7 @@ function c2({z = 10}) { } >10 : 10 function c3({b}: { b: number|string} = { b: "hello" }) { } ->c3 : ({ b }?: { b: number | string;}) => void +>c3 : ({ b }?: { b: number | string; }) => void >b : string | number >b : string | number >{ b: "hello" } : { b: string; } @@ -284,7 +284,7 @@ c2({z:1}); // Implied type is {z?: number} c3({ b: 1 }); // Implied type is { b: number|string }. >c3({ b: 1 }) : void ->c3 : ({ b }?: { b: string | number; }) => void +>c3 : ({ b }?: { b: number | string; }) => void >{ b: 1 } : { b: number; } >b : number >1 : 1 @@ -407,12 +407,12 @@ function e1({x: number}) { } // x has type any NOT number >number : any function e2({x}: { x: number }) { } // x is type number ->e2 : ({ x }: { x: number;}) => void +>e2 : ({ x }: { x: number; }) => void >x : number >x : number function e3({x}: { x?: number }) { } // x is an optional with type number ->e3 : ({ x }: { x?: number;}) => void +>e3 : ({ x }: { x?: number; }) => void >x : number >x : number @@ -424,7 +424,7 @@ function e4({x: [number,string,any] }) { } // x has type [any, any, any] >any : any function e5({x: [a, b, c]}: { x: [number, number, number] }) { } // x has type [any, any, any] ->e5 : ({ x: [a, b, c] }: { x: [number, number, number];}) => void +>e5 : ({ x: [a, b, c] }: { x: [number, number, number]; }) => void >x : any >a : number >b : number diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES6.types b/tests/baselines/reference/destructuringParameterDeclaration1ES6.types index cee129da47..6aadf0d2be 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES6.types +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES6.types @@ -13,13 +13,13 @@ function a1([a, b, [[c]]]: [number, number, string[][]]) { } >c : string function a2(o: { x: number, a: number }) { } ->a2 : (o: { x: number; a: number;}) => void +>a2 : (o: { x: number; a: number; }) => void >o : { x: number; a: number; } >x : number >a : number function a3({j, k, l: {m, n}, q: [a, b, c]}: { j: number, k: string, l: { m: boolean, n: number }, q: (number|string)[] }) { }; ->a3 : ({ j, k, l: { m, n }, q: [a, b, c] }: { j: number; k: string; l: { m: boolean; n: number; }; q: (number | string)[];}) => void +>a3 : ({ j, k, l: { m, n }, q: [a, b, c] }: { j: number; k: string; l: { m: boolean; n: number; }; q: (number | string)[]; }) => void >j : number >k : string >l : any @@ -37,7 +37,7 @@ function a3({j, k, l: {m, n}, q: [a, b, c]}: { j: number, k: string, l: { m: boo >q : (string | number)[] function a4({x, a}: { x: number, a: number }) { } ->a4 : ({ x, a }: { x: number; a: number;}) => void +>a4 : ({ x, a }: { x: number; a: number; }) => void >x : number >a : number >x : number @@ -196,7 +196,7 @@ function c2({z = 10}) { } >10 : 10 function c3({b}: { b: number|string} = { b: "hello" }) { } ->c3 : ({ b }?: { b: number | string;}) => void +>c3 : ({ b }?: { b: number | string; }) => void >b : string | number >b : string | number >{ b: "hello" } : { b: string; } @@ -267,7 +267,7 @@ c2({z:1}); // Implied type is {z?: number} c3({ b: 1 }); // Implied type is { b: number|string }. >c3({ b: 1 }) : void ->c3 : ({ b }?: { b: string | number; }) => void +>c3 : ({ b }?: { b: number | string; }) => void >{ b: 1 } : { b: number; } >b : number >1 : 1 @@ -381,12 +381,12 @@ function e1({x: number}) { } // x has type any NOT number >number : any function e2({x}: { x: number }) { } // x is type number ->e2 : ({ x }: { x: number;}) => void +>e2 : ({ x }: { x: number; }) => void >x : number >x : number function e3({x}: { x?: number }) { } // x is an optional with type number ->e3 : ({ x }: { x?: number;}) => void +>e3 : ({ x }: { x?: number; }) => void >x : number >x : number @@ -398,7 +398,7 @@ function e4({x: [number,string,any] }) { } // x has type [any, any, any] >any : any function e5({x: [a, b, c]}: { x: [number, number, number] }) { } // x has type [any, any, any] ->e5 : ({ x: [a, b, c] }: { x: [number, number, number];}) => void +>e5 : ({ x: [a, b, c] }: { x: [number, number, number]; }) => void >x : any >a : number >b : number diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.types b/tests/baselines/reference/destructuringParameterDeclaration2.types index dda3f0cae5..11c2b1f24f 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.types +++ b/tests/baselines/reference/destructuringParameterDeclaration2.types @@ -122,7 +122,7 @@ function c2({z = 10}) { } >10 : 10 function c3({b}: { b: number|string } = { b: "hello" }) { } ->c3 : ({ b }?: { b: number | string;}) => void +>c3 : ({ b }?: { b: number | string; }) => void >b : string | number >b : string | number >{ b: "hello" } : { b: string; } @@ -175,7 +175,7 @@ c2({ z: false }); // Error, implied type is {z?: number} c3({ b: true }); // Error, implied type is { b: number|string }. >c3({ b: true }) : void ->c3 : ({ b }?: { b: string | number; }) => void +>c3 : ({ b }?: { b: number | string; }) => void >{ b: true } : { b: boolean; } >b : boolean >true : true diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types index a7d9b02412..06ce898049 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types @@ -78,7 +78,7 @@ a2([...array]); a1(...array); >a1(...array) : void ->a1 : (...x: (string | number)[]) => void +>a1 : (...x: (number | string)[]) => void >...array : number >array : number[] diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types index f09b7387a3..ac32778c38 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types @@ -78,7 +78,7 @@ a2([...array]); a1(...array); >a1(...array) : void ->a1 : (...x: (string | number)[]) => void +>a1 : (...x: (number | string)[]) => void >...array : number >array : number[] diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types index 5d56b4163d..bba79dd427 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types @@ -78,7 +78,7 @@ a2([...array]); a1(...array); >a1(...array) : void ->a1 : (...x: (string | number)[]) => void +>a1 : (...x: (number | string)[]) => void >...array : number >array : number[] diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.types b/tests/baselines/reference/destructuringParameterDeclaration4.types index 08a6474c44..4da1313cb3 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.types +++ b/tests/baselines/reference/destructuringParameterDeclaration4.types @@ -54,7 +54,7 @@ function a6([a, b, c, ...x]: number[]) { } a1(1, 2, "hello", true); // Error, parameter type is (number|string)[] >a1(1, 2, "hello", true) : void ->a1 : (...x: (string | number)[]) => void +>a1 : (...x: (number | string)[]) => void >1 : 1 >2 : 2 >"hello" : "hello" @@ -62,7 +62,7 @@ a1(1, 2, "hello", true); // Error, parameter type is (number|string)[] a1(...array2); // Error parameter type is (number|string)[] >a1(...array2) : void ->a1 : (...x: (string | number)[]) => void +>a1 : (...x: (number | string)[]) => void >...array2 : any >array2 : any diff --git a/tests/baselines/reference/destructuringParameterDeclaration5.types b/tests/baselines/reference/destructuringParameterDeclaration5.types index a3fed88a21..859b391f71 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration5.types @@ -53,17 +53,17 @@ function d0({x} = { x: new Class() }) { } >Class : typeof Class function d1({x}: { x: F }) { } ->d1 : ({ x }: { x: F;}) => void +>d1 : ({ x }: { x: F; }) => void >x : F >x : F function d2({x}: { x: Class }) { } ->d2 : ({ x }: { x: Class;}) => void +>d2 : ({ x }: { x: Class; }) => void >x : Class >x : Class function d3({y}: { y: D }) { } ->d3 : ({ y }: { y: D;}) => void +>d3 : ({ y }: { y: D; }) => void >y : D >y : D diff --git a/tests/baselines/reference/destructuringParameterDeclaration8.types b/tests/baselines/reference/destructuringParameterDeclaration8.types index bcd16300c5..870cbd0576 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration8.types +++ b/tests/baselines/reference/destructuringParameterDeclaration8.types @@ -2,7 +2,7 @@ // explicit type annotation should cause `method` to have type 'x' | 'y' // both inside and outside `test`. function test({ ->test : ({ method, nested: { p } }: { method?: 'x' | 'y'; nested?: { p: 'a' | 'b'; };}) => void +>test : ({ method, nested: { p } }: { method?: "x" | "y"; nested?: { p: "a" | "b"; }; }) => void method = 'z', >method : "x" | "y" @@ -18,7 +18,7 @@ function test({ >method : "x" | "y" nested?: { p: 'a' | 'b' } ->nested : { p: 'a' | 'b'; } +>nested : { p: "a" | "b"; } >p : "a" | "b" }) diff --git a/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types b/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types index 98d5cc7bba..e0428fc959 100644 --- a/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types +++ b/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types @@ -1,7 +1,7 @@ === tests/cases/compiler/destructuringPropertyAssignmentNameIsNotAssignmentTarget.ts === // test for #10668 function qux(bar: { value: number }) { ->qux : (bar: { value: number;}) => void +>qux : (bar: { value: number; }) => void >bar : { value: number; } >value : number diff --git a/tests/baselines/reference/destructuringTypeGuardFlow.types b/tests/baselines/reference/destructuringTypeGuardFlow.types index 7863be76c9..5be052d345 100644 --- a/tests/baselines/reference/destructuringTypeGuardFlow.types +++ b/tests/baselines/reference/destructuringTypeGuardFlow.types @@ -1,6 +1,6 @@ === tests/cases/compiler/destructuringTypeGuardFlow.ts === type foo = { ->foo : { bar: number | null; baz: string; nested: { a: number; b: string | null;}; } +>foo : { bar: number | null; baz: string; nested: { a: number; b: string | null; }; } bar: number | null; >bar : number | null diff --git a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types index 3060747c0a..8bf53bf6dd 100644 --- a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types +++ b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types @@ -10,7 +10,7 @@ declare function getNum(): number; >getNum : () => number declare function foo(arg: { x: Bar, y: Date }, item: number, items?: [number, number, number]): void; ->foo : (arg: { x: Bar; y: Date;}, item: number, items?: [number, number, number]) => void +>foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void >arg : { x: Bar; y: Date; } >x : Bar >y : Date diff --git a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types index 3cb79ee43e..6b1637b950 100644 --- a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types +++ b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types @@ -1,7 +1,7 @@ === tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts === // regression test for https://github.com/microsoft/TypeScript/issues/33243 type X = ->X : ({ x: 'x'; y: number; } & { y: number; }) | ({ x: 'y'; y: number; z?: boolean; } & { y: number; }) +>X : ({ x: "x"; y: number; } & { y: number; }) | ({ x: "y"; y: number; z?: boolean; } & { y: number; }) | { x: 'x', y: number } & { y: number } >x : "x" @@ -17,14 +17,14 @@ type X = // error const x: X = 4 as any as { x: 'x' | 'y', y: number }; >x : X ->4 as any as { x: 'x' | 'y', y: number } : { x: 'x' | 'y'; y: number; } +>4 as any as { x: 'x' | 'y', y: number } : { x: "x" | "y"; y: number; } >4 as any : any >4 : 4 >x : "x" | "y" >y : number type Y = ->Y : { x: 'x'; y: number; } | { x: 'y'; y: number; z?: boolean; } +>Y : { x: "x"; y: number; } | { x: "y"; y: number; z?: boolean; } | { x: 'x', y: number } >x : "x" @@ -38,7 +38,7 @@ type Y = // no error const y: Y = 4 as any as { x: 'x' | 'y', y: number }; >y : Y ->4 as any as { x: 'x' | 'y', y: number } : { x: 'x' | 'y'; y: number; } +>4 as any as { x: 'x' | 'y', y: number } : { x: "x" | "y"; y: number; } >4 as any : any >4 : 4 >x : "x" | "y" diff --git a/tests/baselines/reference/discriminantPropertyCheck.types b/tests/baselines/reference/discriminantPropertyCheck.types index e93ccc20ac..e608c014a2 100644 --- a/tests/baselines/reference/discriminantPropertyCheck.types +++ b/tests/baselines/reference/discriminantPropertyCheck.types @@ -298,11 +298,11 @@ function func2(inst: Instance) { >Num : Types.Num inst.value.toExponential; ->inst.value.toExponential : (fractionDigits?: number | undefined) => string +>inst.value.toExponential : (fractionDigits?: number) => string >inst.value : number >inst : NumType >value : number ->toExponential : (fractionDigits?: number | undefined) => string +>toExponential : (fractionDigits?: number) => string break; } @@ -424,7 +424,7 @@ export function foo(obj: Obj) { } function onlyPlus(arg: '+') { ->onlyPlus : (arg: '+') => "+" +>onlyPlus : (arg: "+") => "+" >arg : "+" return arg; @@ -573,7 +573,7 @@ function DoesNotWork(data: unknown) { // Repro from #36777 type TestA = { ->TestA : { type: 'testA'; bananas: 3; } +>TestA : { type: "testA"; bananas: 3; } type: 'testA'; >type : "testA" @@ -583,7 +583,7 @@ type TestA = { } type TestB = { ->TestB : { type: 'testB'; apples: 5; } +>TestB : { type: "testB"; apples: 5; } type: 'testB'; >type : "testB" diff --git a/tests/baselines/reference/discriminantPropertyInference.types b/tests/baselines/reference/discriminantPropertyInference.types index 333b93e0eb..80a3e00a8c 100644 --- a/tests/baselines/reference/discriminantPropertyInference.types +++ b/tests/baselines/reference/discriminantPropertyInference.types @@ -14,7 +14,7 @@ type DiscriminatorTrue = { } type DiscriminatorFalse = { ->DiscriminatorFalse : { disc?: false | undefined; cb: (x: number) => void; } +>DiscriminatorFalse : { disc?: false; cb: (x: number) => void; } disc?: false; >disc : false | undefined @@ -47,7 +47,7 @@ f({ >s => parseInt(s) : (s: string) => number >s : string >parseInt(s) : number ->parseInt : (string: string, radix?: number | undefined) => number +>parseInt : (string: string, radix?: number) => number >s : string }); @@ -67,9 +67,9 @@ f({ >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); @@ -88,9 +88,9 @@ f({ >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); @@ -105,9 +105,9 @@ f({ >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); diff --git a/tests/baselines/reference/discriminantsAndPrimitives.types b/tests/baselines/reference/discriminantsAndPrimitives.types index 07b07fdac0..0326976995 100644 --- a/tests/baselines/reference/discriminantsAndPrimitives.types +++ b/tests/baselines/reference/discriminantsAndPrimitives.types @@ -179,19 +179,19 @@ if (n.type === "Disjunction") { n.alternatives.slice() >n.alternatives.slice() : string[] ->n.alternatives.slice : (start?: number | undefined, end?: number | undefined) => string[] +>n.alternatives.slice : (start?: number, end?: number) => string[] >n.alternatives : string[] >n : Disjunction >alternatives : string[] ->slice : (start?: number | undefined, end?: number | undefined) => string[] +>slice : (start?: number, end?: number) => string[] } else { n.elements.slice() // n should be narrowed to Pattern >n.elements.slice() : string[] ->n.elements.slice : (start?: number | undefined, end?: number | undefined) => string[] +>n.elements.slice : (start?: number, end?: number) => string[] >n.elements : string[] >n : Pattern >elements : string[] ->slice : (start?: number | undefined, end?: number | undefined) => string[] +>slice : (start?: number, end?: number) => string[] } diff --git a/tests/baselines/reference/discriminatedUnionTypes2.types b/tests/baselines/reference/discriminatedUnionTypes2.types index 07250ba11f..5f337bf735 100644 --- a/tests/baselines/reference/discriminatedUnionTypes2.types +++ b/tests/baselines/reference/discriminatedUnionTypes2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/union/discriminatedUnionTypes2.ts === function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind: string, c: string }) { ->f10 : (x: { kind: false; a: string;} | { kind: true; b: string;} | { kind: string; c: string;}) => void +>f10 : (x: { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; }) => void >x : { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; } >kind : false >false : false @@ -44,7 +44,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind } function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind: string, c: string }) { ->f11 : (x: { kind: false; a: string;} | { kind: true; b: string;} | { kind: string; c: string;}) => void +>f11 : (x: { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; }) => void >x : { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; } >kind : false >false : false @@ -87,7 +87,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind } function f13(x: { a: null; b: string } | { a: string, c: number }) { ->f13 : (x: { a: null; b: string;} | { a: string; c: number;}) => void +>f13 : (x: { a: null; b: string; } | { a: string; c: number; }) => void >x : { a: null; b: string; } | { a: string; c: number; } >a : null >null : null @@ -108,7 +108,7 @@ function f13(x: { a: null; b: string } | { a: string, c: number }) { } function f14(x: { a: 0; b: string } | { a: T, c: number }) { ->f14 : (x: { a: 0; b: string;} | { a: T; c: number;}) => void +>f14 : (x: { a: 0; b: string; } | { a: T; c: number; }) => void >x : { a: 0; b: string; } | { a: T; c: number; } >a : 0 >b : string @@ -292,7 +292,7 @@ function f31(foo: Foo) { // Repro from #33448 type a = { ->a : { type: 'a'; data: string; } +>a : { type: "a"; data: string; } type: 'a', >type : "a" @@ -301,7 +301,7 @@ type a = { >data : string } type b = { ->b : { type: 'b'; name: string; } +>b : { type: "b"; name: string; } type: 'b', >type : "b" @@ -310,7 +310,7 @@ type b = { >name : string } type c = { ->c : { type: 'c'; other: string; } +>c : { type: "c"; other: string; } type: 'c', >type : "c" @@ -347,7 +347,7 @@ function f(problem: abc & (b | c)) { } type RuntimeValue = ->RuntimeValue : { type: 'number'; value: number; } | { type: 'string'; value: string; } | { type: 'boolean'; value: boolean; } +>RuntimeValue : { type: "number"; value: number; } | { type: "string"; value: string; } | { type: "boolean"; value: boolean; } | { type: 'number', value: number } >type : "number" @@ -362,8 +362,8 @@ type RuntimeValue = >value : boolean function foo1(x: RuntimeValue & { type: 'number' }) { ->foo1 : (x: RuntimeValue & { type: 'number';}) => void ->x : { type: "number"; value: number; } & { type: 'number'; } +>foo1 : (x: RuntimeValue & { type: "number"; }) => void +>x : { type: "number"; value: number; } & { type: "number"; } >type : "number" if (x.type === 'number') { @@ -387,8 +387,8 @@ function foo1(x: RuntimeValue & { type: 'number' }) { } function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { ->foo2 : (x: RuntimeValue & ({ type: 'number';} | { type: 'string';})) => void ->x : ({ type: "number"; value: number; } & { type: 'number'; }) | ({ type: "string"; value: string; } & { type: 'string'; }) +>foo2 : (x: RuntimeValue & ({ type: "number"; } | { type: "string"; })) => void +>x : ({ type: "number"; value: number; } & { type: "number"; }) | ({ type: "string"; value: string; } & { type: "string"; }) >type : "number" >type : "string" diff --git a/tests/baselines/reference/doNotInferUnrelatedTypes.types b/tests/baselines/reference/doNotInferUnrelatedTypes.types index 21a1f76d2e..0a298a7ad6 100644 --- a/tests/baselines/reference/doNotInferUnrelatedTypes.types +++ b/tests/baselines/reference/doNotInferUnrelatedTypes.types @@ -13,6 +13,6 @@ declare var alt: Array; let foo: LiteralType = dearray(alt); >foo : LiteralType >dearray(alt) : LiteralType ->dearray : (ara: readonly T[]) => T +>dearray : (ara: ReadonlyArray) => T >alt : LiteralType[] diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types index a085da824f..d89ae0ff1b 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types @@ -55,9 +55,9 @@ const testIntlFormatToParts = new Intl.DateTimeFormat("en-US").formatToParts(); >new Intl.DateTimeFormat("en-US").formatToParts() : any >new Intl.DateTimeFormat("en-US").formatToParts : any >new Intl.DateTimeFormat("en-US") : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >"en-US" : "en-US" >formatToParts : any @@ -93,9 +93,9 @@ const testRegExpMatchArrayGroups = "2019-04-30".match(/(?[0-9]{4})-(?testRegExpMatchArrayGroups : any >"2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g).groups : any >"2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g) : RegExpMatchArray ->"2019-04-30".match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; } +>"2019-04-30".match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray; } >"2019-04-30" : "2019-04-30" ->match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; } +>match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray; } >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g : RegExp >groups : any @@ -152,9 +152,9 @@ const testNumberFormatFormatToParts = new Intl.NumberFormat("en-US").formatToPar >new Intl.NumberFormat("en-US").formatToParts() : any >new Intl.NumberFormat("en-US").formatToParts : any >new Intl.NumberFormat("en-US") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"en-US" : "en-US" >formatToParts : any diff --git a/tests/baselines/reference/duplicatePropertiesInTypeAssertions01.js b/tests/baselines/reference/duplicatePropertiesInTypeAssertions01.js index e0b54e6205..be3f868a2a 100644 --- a/tests/baselines/reference/duplicatePropertiesInTypeAssertions01.js +++ b/tests/baselines/reference/duplicatePropertiesInTypeAssertions01.js @@ -8,4 +8,5 @@ var x = {}; //// [duplicatePropertiesInTypeAssertions01.d.ts] declare let x: { a: number; + a: number; }; diff --git a/tests/baselines/reference/duplicatePropertiesInTypeAssertions02.js b/tests/baselines/reference/duplicatePropertiesInTypeAssertions02.js index 8fe55ed046..655a6816f7 100644 --- a/tests/baselines/reference/duplicatePropertiesInTypeAssertions02.js +++ b/tests/baselines/reference/duplicatePropertiesInTypeAssertions02.js @@ -8,4 +8,5 @@ var x = {}; //// [duplicatePropertiesInTypeAssertions02.d.ts] declare let x: { a: number; + a: number; }; diff --git a/tests/baselines/reference/duplicateTypeParameters3.types b/tests/baselines/reference/duplicateTypeParameters3.types index 504a0fc74b..fd8678d9ed 100644 --- a/tests/baselines/reference/duplicateTypeParameters3.types +++ b/tests/baselines/reference/duplicateTypeParameters3.types @@ -1,7 +1,7 @@ === tests/cases/compiler/duplicateTypeParameters3.ts === interface X { x: () => () => void; ->x : () => () => void +>x : () => () => void } diff --git a/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types b/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types index f161972d84..614237644c 100644 --- a/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types +++ b/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types @@ -1,13 +1,13 @@ === tests/cases/compiler/elaboratedErrorsOnNullableTargets01.ts === export declare let x: null | { foo: { bar: string | null } | undefined } | undefined; ->x : { foo: { bar: string | null;} | undefined; } | null | undefined +>x : { foo: { bar: string | null; } | undefined; } | null | undefined >null : null >foo : { bar: string | null; } | undefined >bar : string | null >null : null export declare let y: { foo: { bar: number | undefined } }; ->y : { foo: { bar: number | undefined;}; } +>y : { foo: { bar: number | undefined; }; } >foo : { bar: number | undefined; } >bar : number | undefined diff --git a/tests/baselines/reference/elementAccessChain.2.types b/tests/baselines/reference/elementAccessChain.2.types index d1cc7222c8..2d722c6e76 100644 --- a/tests/baselines/reference/elementAccessChain.2.types +++ b/tests/baselines/reference/elementAccessChain.2.types @@ -9,7 +9,7 @@ o1?.["b"]; >"b" : "b" declare const o2: undefined | { b: { c: string } }; ->o2 : { b: { c: string;}; } +>o2 : { b: { c: string; }; } >b : { c: string; } >c : string @@ -28,7 +28,7 @@ o2?.b["c"]; >"c" : "c" declare const o3: { b: undefined | { c: string } }; ->o3 : { b: undefined | { c: string;}; } +>o3 : { b: undefined | { c: string; }; } >b : { c: string; } >c : string diff --git a/tests/baselines/reference/elementAccessChain.types b/tests/baselines/reference/elementAccessChain.types index ccb7d97460..c25c293627 100644 --- a/tests/baselines/reference/elementAccessChain.types +++ b/tests/baselines/reference/elementAccessChain.types @@ -9,7 +9,7 @@ o1?.["b"]; >"b" : "b" declare const o2: undefined | { b: { c: string } }; ->o2 : { b: { c: string;}; } | undefined +>o2 : { b: { c: string; }; } | undefined >b : { c: string; } >c : string @@ -28,7 +28,7 @@ o2?.b["c"]; >"c" : "c" declare const o3: { b: undefined | { c: string } }; ->o3 : { b: undefined | { c: string;}; } +>o3 : { b: undefined | { c: string; }; } >b : { c: string; } | undefined >c : string @@ -47,9 +47,9 @@ o3.b?.["c"]; >"c" : "c" declare const o4: { b?: { c: { d?: { e: string } } } }; ->o4 : { b?: { c: { d?: { e: string; };}; } | undefined; } ->b : { c: { d?: { e: string; };}; } | undefined ->c : { d?: { e: string; } | undefined; } +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +>b : { c: { d?: { e: string; }; }; } | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string @@ -76,9 +76,9 @@ o4.b?.["c"].d?.["e"]; >"e" : "e" declare const o5: { b?(): { c: { d?: { e: string } } } }; ->o5 : { b?(): { c: { d?: { e: string; }; };}; } ->b : (() => { c: { d?: { e: string; }; };}) | undefined ->c : { d?: { e: string; } | undefined; } +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string @@ -132,7 +132,7 @@ o5["b"]?.()["c"].d?.["e"]; // GH#33744 declare const o6: () => undefined | ({ x: number }); ->o6 : () => undefined | ({ x: number;}) +>o6 : () => undefined | ({ x: number; }) >x : number o6()?.["x"]; diff --git a/tests/baselines/reference/emitRestParametersFunctionProperty.types b/tests/baselines/reference/emitRestParametersFunctionProperty.types index 8242e742ee..9da15fb3c2 100644 --- a/tests/baselines/reference/emitRestParametersFunctionProperty.types +++ b/tests/baselines/reference/emitRestParametersFunctionProperty.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/restParameters/emitRestParametersFunctionProperty.ts === var obj: { ->obj : { func1: (...rest: any[]) => void; } +>obj : { func1: (...rest: any) => void; } func1: (...rest) => void >func1 : (...rest: any[]) => void diff --git a/tests/baselines/reference/emitRestParametersFunctionPropertyES6.types b/tests/baselines/reference/emitRestParametersFunctionPropertyES6.types index 07a008cd4c..eef95db6b2 100644 --- a/tests/baselines/reference/emitRestParametersFunctionPropertyES6.types +++ b/tests/baselines/reference/emitRestParametersFunctionPropertyES6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/restParameters/emitRestParametersFunctionPropertyES6.ts === var obj: { ->obj : { func1: (...rest: any[]) => void; } +>obj : { func1: (...rest: any) => void; } func1: (...rest) => void >func1 : (...rest: any[]) => void diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types index a23d06ef8c..034e4ce50e 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types @@ -73,7 +73,7 @@ export function fooToBar( >null : null >{} : {} >mapValues(foos, f => f.foo) : Dictionary ->mapValues : (obj: Dictionary | NumericDictionary, callback: DictionaryIterator) => Dictionary +>mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary >foos : Record >f => f.foo : (f: Foo) => string >f : Foo diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types index cd6feb52aa..5dfd9308c1 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types @@ -68,7 +68,7 @@ export function fooToBar( const wat = mapValues(foos, f => f.foo); >wat : Dictionary >mapValues(foos, f => f.foo) : Dictionary ->mapValues : (obj: Dictionary | NumericDictionary, callback: DictionaryIterator) => Dictionary +>mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary >foos : Record >f => f.foo : (f: Foo) => string >f : Foo @@ -84,7 +84,7 @@ export function fooToBar( >null : null >{} : {} >mapValues(foos, f => f.foo) : Dictionary ->mapValues : (obj: Dictionary | NumericDictionary, callback: DictionaryIterator) => Dictionary +>mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary >foos : Record >f => f.foo : (f: Foo) => string >f : Foo diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.types b/tests/baselines/reference/enumAssignabilityInInheritance.types index a3a3bef800..2c792b406d 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.types +++ b/tests/baselines/reference/enumAssignabilityInInheritance.types @@ -113,7 +113,7 @@ var r4 = foo5(E.A); >A : E declare function foo6(x: { bar: number }): { bar: number }; ->foo6 : { (x: { bar: number;}): { bar: number;}; (x: E): E; } +>foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } >x : { bar: number; } >bar : number >bar : number diff --git a/tests/baselines/reference/enumConstantMemberWithString.errors.txt b/tests/baselines/reference/enumConstantMemberWithString.errors.txt index 99f089e2bb..1d4d63d45c 100644 --- a/tests/baselines/reference/enumConstantMemberWithString.errors.txt +++ b/tests/baselines/reference/enumConstantMemberWithString.errors.txt @@ -1,16 +1,22 @@ +tests/cases/conformance/enums/enumConstantMemberWithString.ts(5,9): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. tests/cases/conformance/enums/enumConstantMemberWithString.ts(5,9): error TS2553: Computed values are not permitted in an enum with string valued members. +tests/cases/conformance/enums/enumConstantMemberWithString.ts(5,15): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. tests/cases/conformance/enums/enumConstantMemberWithString.ts(6,9): error TS2553: Computed values are not permitted in an enum with string valued members. tests/cases/conformance/enums/enumConstantMemberWithString.ts(18,9): error TS2553: Computed values are not permitted in an enum with string valued members. -==== tests/cases/conformance/enums/enumConstantMemberWithString.ts (3 errors) ==== +==== tests/cases/conformance/enums/enumConstantMemberWithString.ts (5 errors) ==== enum T1 { a = "1", b = "1" + "2", c = "1" + "2" + "3", d = "a" - "a", + ~~~ +!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. ~~~~~~~~~ !!! error TS2553: Computed values are not permitted in an enum with string valued members. + ~~~ +!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. e = "a" + 1 ~~~~~~~ !!! error TS2553: Computed values are not permitted in an enum with string valued members. diff --git a/tests/baselines/reference/enumConstantMemberWithTemplateLiterals.errors.txt b/tests/baselines/reference/enumConstantMemberWithTemplateLiterals.errors.txt index e07f2ae26e..985df7167a 100644 --- a/tests/baselines/reference/enumConstantMemberWithTemplateLiterals.errors.txt +++ b/tests/baselines/reference/enumConstantMemberWithTemplateLiterals.errors.txt @@ -1,10 +1,12 @@ +tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(28,9): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(28,9): error TS2553: Computed values are not permitted in an enum with string valued members. +tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(28,15): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(29,9): error TS2553: Computed values are not permitted in an enum with string valued members. tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(30,9): error TS2553: Computed values are not permitted in an enum with string valued members. tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(31,9): error TS2553: Computed values are not permitted in an enum with string valued members. -==== tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts (4 errors) ==== +==== tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts (6 errors) ==== enum T1 { a = `1` } @@ -33,8 +35,12 @@ tests/cases/conformance/enums/enumConstantMemberWithTemplateLiterals.ts(31,9): e c = `1` + `2` + `3`, d = 1, e = `1` - `1`, + ~~~ +!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. ~~~~~~~~~ !!! error TS2553: Computed values are not permitted in an enum with string valued members. + ~~~ +!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. f = `1` + 1, ~~~~~~~ !!! error TS2553: Computed values are not permitted in an enum with string valued members. diff --git a/tests/baselines/reference/enumLiteralUnionNotWidened.types b/tests/baselines/reference/enumLiteralUnionNotWidened.types index 1446b2a56a..e976128f69 100644 --- a/tests/baselines/reference/enumLiteralUnionNotWidened.types +++ b/tests/baselines/reference/enumLiteralUnionNotWidened.types @@ -19,7 +19,7 @@ type C = A | B.foo; >B : any type D = A | "foo"; ->D : A | "foo" +>D : "foo" | A class List >List : List diff --git a/tests/baselines/reference/enumWithExport.errors.txt b/tests/baselines/reference/enumWithExport.errors.txt index 486b7ed95e..a8dd8d7157 100644 --- a/tests/baselines/reference/enumWithExport.errors.txt +++ b/tests/baselines/reference/enumWithExport.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/enumWithExport.ts(5,7): error TS2651: A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums. +tests/cases/compiler/enumWithExport.ts(5,7): error TS2304: Cannot find name 'y'. ==== tests/cases/compiler/enumWithExport.ts (1 errors) ==== @@ -8,5 +8,5 @@ tests/cases/compiler/enumWithExport.ts(5,7): error TS2651: A member initializer enum x { z = y ~ -!!! error TS2651: A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums. +!!! error TS2304: Cannot find name 'y'. } \ No newline at end of file diff --git a/tests/baselines/reference/enumWithExport.js b/tests/baselines/reference/enumWithExport.js index 0660663b79..1106734c4c 100644 --- a/tests/baselines/reference/enumWithExport.js +++ b/tests/baselines/reference/enumWithExport.js @@ -12,5 +12,5 @@ var x; x.y = 123; })(x || (x = {})); (function (x) { - x[x["z"] = 0] = "z"; + x[x["z"] = y] = "z"; })(x || (x = {})); diff --git a/tests/baselines/reference/enumWithExport.types b/tests/baselines/reference/enumWithExport.types index e616e9d4e1..cfcf773ff8 100644 --- a/tests/baselines/reference/enumWithExport.types +++ b/tests/baselines/reference/enumWithExport.types @@ -10,6 +10,6 @@ enum x { >x : x z = y ->z : x.z +>z : x >y : any } diff --git a/tests/baselines/reference/equalityStrictNulls.types b/tests/baselines/reference/equalityStrictNulls.types index 20623ca4bf..7e613f8d87 100644 --- a/tests/baselines/reference/equalityStrictNulls.types +++ b/tests/baselines/reference/equalityStrictNulls.types @@ -111,7 +111,7 @@ function f2() { } function f3(a: number, b: boolean, c: { x: number }, d: number | string) { ->f3 : (a: number, b: boolean, c: { x: number;}, d: number | string) => void +>f3 : (a: number, b: boolean, c: { x: number; }, d: number | string) => void >a : number >b : boolean >c : { x: number; } diff --git a/tests/baselines/reference/errorElaboration.types b/tests/baselines/reference/errorElaboration.types index 6957a9f48b..1e7d9c72eb 100644 --- a/tests/baselines/reference/errorElaboration.types +++ b/tests/baselines/reference/errorElaboration.types @@ -27,7 +27,7 @@ foo(a); // Repro for #25498 function test(): {[A in "foo"]: A} { ->test : () => { foo: "foo"; } +>test : () => { [A in "foo"]: A; } return {foo: "bar"}; >{foo: "bar"} : { foo: "bar"; } diff --git a/tests/baselines/reference/errorsInGenericTypeReference.types b/tests/baselines/reference/errorsInGenericTypeReference.types index cbd59f0cf8..92f6b0b3d3 100644 --- a/tests/baselines/reference/errorsInGenericTypeReference.types +++ b/tests/baselines/reference/errorsInGenericTypeReference.types @@ -41,12 +41,12 @@ class testClass3 { >testClass3 : testClass3 testMethod1(): Foo<{ x: V }> { return null; } // error: could not find symbol V ->testMethod1 : () => Foo<{ x: V;}> +>testMethod1 : () => Foo<{ x: V; }> >x : V >null : null static testMethod2(): Foo<{ x: V }> { return null } // error: could not find symbol V ->testMethod2 : () => Foo<{ x: V;}> +>testMethod2 : () => Foo<{ x: V; }> >x : V >null : null @@ -63,14 +63,14 @@ class testClass3 { // in function return type annotation function testFunction1(): Foo<{ x: V }> { return null; } // error: could not find symbol V ->testFunction1 : () => Foo<{ x: V;}> +>testFunction1 : () => Foo<{ x: V; }> >x : V >null : null // in paramter types function testFunction2(p: Foo<{ x: V }>) { }// error: could not find symbol V ->testFunction2 : (p: Foo<{ x: V;}>) => void +>testFunction2 : (p: Foo<{ x: V; }>) => void >p : Foo<{ x: V; }> >x : V @@ -129,7 +129,7 @@ interface testInterface2 { >x : V method(a: Foo<{ x: V }>): Foo<{ x: V }>; //2x: error: could not find symbol V ->method : (a: Foo<{ x: V;}>) => Foo<{ x: V;}> +>method : (a: Foo<{ x: V; }>) => Foo<{ x: V; }> >a : Foo<{ x: V; }> >x : V >x : V diff --git a/tests/baselines/reference/es2018IntlAPIs.types b/tests/baselines/reference/es2018IntlAPIs.types index 673beff6e9..1867a783cd 100644 --- a/tests/baselines/reference/es2018IntlAPIs.types +++ b/tests/baselines/reference/es2018IntlAPIs.types @@ -24,9 +24,9 @@ console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')); >Intl.PluralRules.supportedLocalesOf(locales, options).join : (separator?: string) => string >Intl.PluralRules.supportedLocalesOf(locales, options) : string[] >Intl.PluralRules.supportedLocalesOf : (locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit"; }) => string[] ->Intl.PluralRules : { (locales?: string | string[], options?: Intl.PluralRulesOptions): Intl.PluralRules; new (locales?: string | string[], options?: Intl.PluralRulesOptions): Intl.PluralRules; supportedLocalesOf(locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +>Intl.PluralRules : { (locales?: string | string[], options?: PluralRulesOptions): Intl.PluralRules; new (locales?: string | string[], options?: PluralRulesOptions): Intl.PluralRules; supportedLocalesOf(locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } >Intl : typeof Intl ->PluralRules : { (locales?: string | string[], options?: Intl.PluralRulesOptions): Intl.PluralRules; new (locales?: string | string[], options?: Intl.PluralRulesOptions): Intl.PluralRules; supportedLocalesOf(locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +>PluralRules : { (locales?: string | string[], options?: PluralRulesOptions): Intl.PluralRules; new (locales?: string | string[], options?: PluralRulesOptions): Intl.PluralRules; supportedLocalesOf(locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } >supportedLocalesOf : (locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit"; }) => string[] >locales : string[] >options : { readonly localeMatcher: "lookup"; } diff --git a/tests/baselines/reference/es2020IntlAPIs.types b/tests/baselines/reference/es2020IntlAPIs.types index 6014acbd05..bb471d1a37 100644 --- a/tests/baselines/reference/es2020IntlAPIs.types +++ b/tests/baselines/reference/es2020IntlAPIs.types @@ -23,20 +23,20 @@ function log(locale: string) { `${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` >`${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` : string >new Intl.DateTimeFormat(locale).format(date) : string ->new Intl.DateTimeFormat(locale).format : (date?: number | Date) => string +>new Intl.DateTimeFormat(locale).format : (date?: Date | number) => string >new Intl.DateTimeFormat(locale) : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >locale : string ->format : (date?: number | Date) => string +>format : (date?: Date | number) => string >date : Date >new Intl.NumberFormat(locale).format(count) : string >new Intl.NumberFormat(locale).format : { (value: number): string; (value: number | bigint): string; } >new Intl.NumberFormat(locale) : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >locale : string >format : { (value: number): string; (value: number | bigint): string; } >count : 26254.39 @@ -62,9 +62,9 @@ log("de-DE"); const rtf1 = new Intl.RelativeTimeFormat('en', { style: 'narrow' }); >rtf1 : Intl.RelativeTimeFormat >new Intl.RelativeTimeFormat('en', { style: 'narrow' }) : Intl.RelativeTimeFormat ->Intl.RelativeTimeFormat : { new (locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): string[]; } +>Intl.RelativeTimeFormat : { new (locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): string[]; } >Intl : typeof Intl ->RelativeTimeFormat : { new (locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): string[]; } +>RelativeTimeFormat : { new (locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): string[]; } >'en' : "en" >{ style: 'narrow' } : { style: "narrow"; } >style : "narrow" @@ -76,9 +76,9 @@ console.log(rtf1.format(3, 'quarter')); >console : Console >log : (...data: any[]) => void >rtf1.format(3, 'quarter') : string ->rtf1.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +>rtf1.format : (value: number, unit: RelativeTimeFormatUnit) => string >rtf1 : Intl.RelativeTimeFormat ->format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +>format : (value: number, unit: RelativeTimeFormatUnit) => string >3 : 3 >'quarter' : "quarter" @@ -90,9 +90,9 @@ console.log(rtf1.format(-1, 'day')); >console : Console >log : (...data: any[]) => void >rtf1.format(-1, 'day') : string ->rtf1.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +>rtf1.format : (value: number, unit: RelativeTimeFormatUnit) => string >rtf1 : Intl.RelativeTimeFormat ->format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +>format : (value: number, unit: RelativeTimeFormatUnit) => string >-1 : -1 >1 : 1 >'day' : "day" @@ -102,9 +102,9 @@ console.log(rtf1.format(-1, 'day')); const rtf2 = new Intl.RelativeTimeFormat('es', { numeric: 'auto' }); >rtf2 : Intl.RelativeTimeFormat >new Intl.RelativeTimeFormat('es', { numeric: 'auto' }) : Intl.RelativeTimeFormat ->Intl.RelativeTimeFormat : { new (locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): string[]; } +>Intl.RelativeTimeFormat : { new (locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): string[]; } >Intl : typeof Intl ->RelativeTimeFormat : { new (locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: string | string[], options?: Intl.RelativeTimeFormatOptions): string[]; } +>RelativeTimeFormat : { new (locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: UnicodeBCP47LocaleIdentifier | UnicodeBCP47LocaleIdentifier[], options?: RelativeTimeFormatOptions): string[]; } >'es' : "es" >{ numeric: 'auto' } : { numeric: "auto"; } >numeric : "auto" @@ -116,9 +116,9 @@ console.log(rtf2.format(2, 'day')); >console : Console >log : (...data: any[]) => void >rtf2.format(2, 'day') : string ->rtf2.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +>rtf2.format : (value: number, unit: RelativeTimeFormatUnit) => string >rtf2 : Intl.RelativeTimeFormat ->format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +>format : (value: number, unit: RelativeTimeFormatUnit) => string >2 : 2 >'day' : "day" @@ -128,9 +128,9 @@ console.log(rtf2.format(2, 'day')); const regionNamesInEnglish = new Intl.DisplayNames(['en'], { type: 'region' }); >regionNamesInEnglish : Intl.DisplayNames >new Intl.DisplayNames(['en'], { type: 'region' }) : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >['en'] : string[] >'en' : "en" >{ type: 'region' } : { type: "region"; } @@ -140,9 +140,9 @@ const regionNamesInEnglish = new Intl.DisplayNames(['en'], { type: 'region' }); const regionNamesInTraditionalChinese = new Intl.DisplayNames(['zh-Hant'], { type: 'region' }); >regionNamesInTraditionalChinese : Intl.DisplayNames >new Intl.DisplayNames(['zh-Hant'], { type: 'region' }) : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >['zh-Hant'] : string[] >'zh-Hant' : "zh-Hant" >{ type: 'region' } : { type: "region"; } @@ -197,11 +197,11 @@ console.log(Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ')) >Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ') : string >Intl.DisplayNames.supportedLocalesOf(locales1, options1).join : (separator?: string) => string >Intl.DisplayNames.supportedLocalesOf(locales1, options1) : string[] ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } +>supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] >locales1 : string[] >options1 : { readonly localeMatcher: "lookup"; } >join : (separator?: string) => string @@ -209,39 +209,39 @@ console.log(Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ')) new Intl.Locale(); // should error >new Intl.Locale() : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale new Intl.Locale(new Intl.Locale('en-US')); >new Intl.Locale(new Intl.Locale('en-US')) : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >new Intl.Locale('en-US') : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >'en-US' : "en-US" new Intl.DisplayNames(); // TypeError: invalid_argument >new Intl.DisplayNames() : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } new Intl.DisplayNames('en'); // TypeError: invalid_argument >new Intl.DisplayNames('en') : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >'en' : "en" new Intl.DisplayNames('en', {}); // TypeError: invalid_argument >new Intl.DisplayNames('en', {}) : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >'en' : "en" >{} : {} @@ -254,9 +254,9 @@ console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')); >(new Intl.DisplayNames(undefined, {type: 'language'})).of : (code: string) => string >(new Intl.DisplayNames(undefined, {type: 'language'})) : Intl.DisplayNames >new Intl.DisplayNames(undefined, {type: 'language'}) : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >undefined : undefined >{type: 'language'} : { type: "language"; } >type : "language" @@ -269,9 +269,9 @@ const localesArg = ["es-ES", new Intl.Locale("en-US")]; >["es-ES", new Intl.Locale("en-US")] : (string | Intl.Locale)[] >"es-ES" : "es-ES" >new Intl.Locale("en-US") : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >"en-US" : "en-US" console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions().locale); // "es-ES" @@ -284,9 +284,9 @@ console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOpti >(new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions : () => Intl.ResolvedDisplayNamesOptions >(new Intl.DisplayNames(localesArg, {type: 'language'})) : Intl.DisplayNames >new Intl.DisplayNames(localesArg, {type: 'language'}) : Intl.DisplayNames ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >localesArg : (string | Intl.Locale)[] >{type: 'language'} : { type: "language"; } >type : "language" @@ -300,11 +300,11 @@ console.log(Intl.DisplayNames.supportedLocalesOf(localesArg)); // ["es-ES", "en- >console : Console >log : (...data: any[]) => void >Intl.DisplayNames.supportedLocalesOf(localesArg) : string[] ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } +>supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] >localesArg : (string | Intl.Locale)[] console.log(Intl.DisplayNames.supportedLocalesOf()); // [] @@ -313,11 +313,11 @@ console.log(Intl.DisplayNames.supportedLocalesOf()); // [] >console : Console >log : (...data: any[]) => void >Intl.DisplayNames.supportedLocalesOf() : string[] ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } +>supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})); // ["es-ES", "en-US"] >console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})) : void @@ -325,11 +325,11 @@ console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})); // ["es-ES", >console : Console >log : (...data: any[]) => void >Intl.DisplayNames.supportedLocalesOf(localesArg, {}) : string[] ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } +>Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] +>Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } >Intl : typeof Intl ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] +>DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } +>supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] >localesArg : (string | Intl.Locale)[] >{} : {} diff --git a/tests/baselines/reference/es2022IntlAPIs.types b/tests/baselines/reference/es2022IntlAPIs.types index d6a0ac5049..d62c52b1e8 100644 --- a/tests/baselines/reference/es2022IntlAPIs.types +++ b/tests/baselines/reference/es2022IntlAPIs.types @@ -18,9 +18,9 @@ for (const zoneName of timezoneNames) { var formatter = new Intl.DateTimeFormat('en-US', { >formatter : Intl.DateTimeFormat >new Intl.DateTimeFormat('en-US', { timeZone: 'America/Los_Angeles', timeZoneName: zoneName, }) : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >'en-US' : "en-US" >{ timeZone: 'America/Los_Angeles', timeZoneName: zoneName, } : { timeZone: string; timeZoneName: "short" | "long" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric"; } diff --git a/tests/baselines/reference/es2022SharedMemory.types b/tests/baselines/reference/es2022SharedMemory.types index d3bf7f66c0..0df1c8f21a 100644 --- a/tests/baselines/reference/es2022SharedMemory.types +++ b/tests/baselines/reference/es2022SharedMemory.types @@ -18,9 +18,9 @@ const int32 = new Int32Array(sab); const waitValue = Atomics.wait(int32, 0, 0); >waitValue : "ok" | "not-equal" | "timed-out" >Atomics.wait(int32, 0, 0) : "ok" | "not-equal" | "timed-out" ->Atomics.wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number | undefined): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number | undefined): "ok" | "not-equal" | "timed-out"; } +>Atomics.wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): "ok" | "not-equal" | "timed-out"; } >Atomics : Atomics ->wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number | undefined): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number | undefined): "ok" | "not-equal" | "timed-out"; } +>wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): "ok" | "not-equal" | "timed-out"; } >int32 : Int32Array >0 : 0 >0 : 0 @@ -29,9 +29,9 @@ const { async, value } = Atomics.waitAsync(int32, 0, BigInt(0)); >async : boolean >value : "ok" | "not-equal" | "timed-out" | Promise<"ok" | "not-equal" | "timed-out"> >Atomics.waitAsync(int32, 0, BigInt(0)) : { async: false; value: "ok" | "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "not-equal" | "timed-out">; } ->Atomics.waitAsync : (typedArray: Int32Array | BigInt64Array, index: number, value: bigint, timeout?: number | undefined) => { async: false; value: "ok" | "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "not-equal" | "timed-out">; } +>Atomics.waitAsync : (typedArray: BigInt64Array | Int32Array, index: number, value: bigint, timeout?: number) => { async: false; value: "ok" | "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "not-equal" | "timed-out">; } >Atomics : Atomics ->waitAsync : (typedArray: Int32Array | BigInt64Array, index: number, value: bigint, timeout?: number | undefined) => { async: false; value: "ok" | "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "not-equal" | "timed-out">; } +>waitAsync : (typedArray: BigInt64Array | Int32Array, index: number, value: bigint, timeout?: number) => { async: false; value: "ok" | "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "not-equal" | "timed-out">; } >int32 : Int32Array >0 : 0 >BigInt(0) : bigint diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types index 79e5457512..fd4d39efc1 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types @@ -130,10 +130,10 @@ export class IterableWeakMap implements WeakMap { this.#finalizationGroup.register(key, { >this.#finalizationGroup.register(key, { set: this.#refSet, ref, }, ref) : void ->this.#finalizationGroup.register : (target: object, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: object | undefined) => void +>this.#finalizationGroup.register : (target: object, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: object) => void >this.#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> >this : this ->register : (target: object, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: object | undefined) => void +>register : (target: object, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: object) => void >key : K >{ set: this.#refSet, ref, } : { set: Set>; ref: WeakRef; } diff --git a/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types b/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types index 2c5b07e591..6117c95330 100644 --- a/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types +++ b/tests/baselines/reference/excessPropertyCheckWithMultipleDiscriminants.types @@ -58,7 +58,7 @@ const foo: Primitive = { type DisjointDiscriminants = { p1: 'left'; p2: true; p3: number } | { p1: 'right'; p2: false; p4: string } | { p1: 'left'; p2: boolean }; ->DisjointDiscriminants : { p1: 'left'; p2: true; p3: number; } | { p1: 'right'; p2: false; p4: string; } | { p1: 'left'; p2: boolean; } +>DisjointDiscriminants : { p1: "left"; p2: true; p3: number; } | { p1: "right"; p2: false; p4: string; } | { p1: "left"; p2: boolean; } >p1 : "left" >p2 : true >true : true diff --git a/tests/baselines/reference/excessPropertyCheckWithUnions.types b/tests/baselines/reference/excessPropertyCheckWithUnions.types index 2b012e13eb..95c110d515 100644 --- a/tests/baselines/reference/excessPropertyCheckWithUnions.types +++ b/tests/baselines/reference/excessPropertyCheckWithUnions.types @@ -280,12 +280,12 @@ const abac: AB = { // Excess property checks must match all discriminable properties type Button = { tag: 'button'; type?: 'submit'; }; ->Button : { tag: 'button'; type?: "submit" | undefined; } +>Button : { tag: "button"; type?: "submit"; } >tag : "button" >type : "submit" | undefined type Anchor = { tag: 'a'; type?: string; href: string }; ->Anchor : { tag: 'a'; type?: string | undefined; href: string; } +>Anchor : { tag: "a"; type?: string; href: string; } >tag : "a" >type : string | undefined >href : string @@ -399,7 +399,7 @@ declare const prop2: string | undefined; >prop2 : string | undefined function F1(_arg: { props: Properties }) { } ->F1 : (_arg: { props: Properties;}) => void +>F1 : (_arg: { props: Properties; }) => void >_arg : { props: Properties; } >props : Properties diff --git a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types index 9e9ef82d54..897b0d164d 100644 --- a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types +++ b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types @@ -80,7 +80,7 @@ let f: D = { a: { x: 'hello', y: 2 }, c: 5 }; // error - y does not exist in typ // https://github.com/Microsoft/TypeScript/issues/18075 export type MyType = { id: number; } & { name: string; } & { photo: { id: number; } & { url: string; } } ->MyType : { id: number; } & { name: string; } & { photo: { id: number;} & { url: string;}; } +>MyType : { id: number; } & { name: string; } & { photo: { id: number; } & { url: string; }; } >id : number >name : string >photo : { id: number; } & { url: string; } diff --git a/tests/baselines/reference/excessiveStackDepthFlatArray.types b/tests/baselines/reference/excessiveStackDepthFlatArray.types index d84f300a5f..adc3ef7cba 100644 --- a/tests/baselines/reference/excessiveStackDepthFlatArray.types +++ b/tests/baselines/reference/excessiveStackDepthFlatArray.types @@ -1,7 +1,7 @@ === tests/cases/compiler/index.tsx === interface MiddlewareArray extends Array {} declare function configureStore(options: { middleware: MiddlewareArray }): void; ->configureStore : (options: { middleware: MiddlewareArray;}) => void +>configureStore : (options: { middleware: MiddlewareArray; }) => void >options : { middleware: MiddlewareArray; } >middleware : MiddlewareArray diff --git a/tests/baselines/reference/expandoFunctionContextualTypesJs.types b/tests/baselines/reference/expandoFunctionContextualTypesJs.types index c2a32db424..b8715d619b 100644 --- a/tests/baselines/reference/expandoFunctionContextualTypesJs.types +++ b/tests/baselines/reference/expandoFunctionContextualTypesJs.types @@ -59,7 +59,7 @@ const check = MyComponent2; * @param {{ props: MyComponentProps }} p */ function expectLiteral(p) {} ->expectLiteral : (p: { props: MyComponentProps;}) => void +>expectLiteral : (p: { props: MyComponentProps; }) => void >p : { props: MyComponentProps; } function foo() { diff --git a/tests/baselines/reference/expandoFunctionNestedAssigments.errors.txt b/tests/baselines/reference/expandoFunctionNestedAssigments.errors.txt new file mode 100644 index 0000000000..73097beea8 --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigments.errors.txt @@ -0,0 +1,57 @@ +tests/cases/compiler/expandoFunctionNestedAssigments.ts(7,23): error TS2339: Property 'inNestedFunction' does not exist on type 'typeof Foo'. + + +==== tests/cases/compiler/expandoFunctionNestedAssigments.ts (1 errors) ==== + function Foo(): void { + + } + let d: number = (Foo.inVariableInit = 1); + + + function bar(p = (Foo.inNestedFunction = 1)) { + ~~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'inNestedFunction' does not exist on type 'typeof Foo'. + + } + + (Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); + + if(Foo.fromIf = 1) { + Foo.inIf = 1; + } + + while(Foo.fromWhileCondition = 1) { + Foo.fromWhileBody = 1; + { + Foo.fromWhileBodyNested = 1; + } + } + + do { + Foo.fromDoBody = 1; + { + Foo.fromDoBodyNested = 1; + } + } while(Foo.fromDoCondition = 1); + + for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ + Foo.fromForBody = 1; + { + Foo.fromForBodyNested = 1; + } + } + + for(let f of (Foo.forOf = []) ){ + Foo.fromForOfBody = 1; + { + Foo.fromForOfBodyNested = 1; + } + } + + + for(let f in (Foo.forIn = []) ){ + Foo.fromForInBody = 1; + { + Foo.fromForInBodyNested = 1; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/expandoFunctionNestedAssigments.js b/tests/baselines/reference/expandoFunctionNestedAssigments.js new file mode 100644 index 0000000000..e2951c4f07 --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigments.js @@ -0,0 +1,128 @@ +//// [expandoFunctionNestedAssigments.ts] +function Foo(): void { + +} +let d: number = (Foo.inVariableInit = 1); + + +function bar(p = (Foo.inNestedFunction = 1)) { + +} + +(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); + +if(Foo.fromIf = 1) { + Foo.inIf = 1; +} + +while(Foo.fromWhileCondition = 1) { + Foo.fromWhileBody = 1; + { + Foo.fromWhileBodyNested = 1; + } +} + +do { + Foo.fromDoBody = 1; + { + Foo.fromDoBodyNested = 1; + } +} while(Foo.fromDoCondition = 1); + +for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ + Foo.fromForBody = 1; + { + Foo.fromForBodyNested = 1; + } +} + +for(let f of (Foo.forOf = []) ){ + Foo.fromForOfBody = 1; + { + Foo.fromForOfBodyNested = 1; + } +} + + +for(let f in (Foo.forIn = []) ){ + Foo.fromForInBody = 1; + { + Foo.fromForInBodyNested = 1; + } +} + +//// [expandoFunctionNestedAssigments.js] +function Foo() { +} +var d = (Foo.inVariableInit = 1); +function bar(p) { + if (p === void 0) { p = (Foo.inNestedFunction = 1); } +} +(Foo.bla = { foo: 1 }).foo = (Foo.baz = 1) + (Foo.bar = 0); +if (Foo.fromIf = 1) { + Foo.inIf = 1; +} +while (Foo.fromWhileCondition = 1) { + Foo.fromWhileBody = 1; + { + Foo.fromWhileBodyNested = 1; + } +} +do { + Foo.fromDoBody = 1; + { + Foo.fromDoBodyNested = 1; + } +} while (Foo.fromDoCondition = 1); +for (Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1) { + Foo.fromForBody = 1; + { + Foo.fromForBodyNested = 1; + } +} +for (var _i = 0, _a = (Foo.forOf = []); _i < _a.length; _i++) { + var f = _a[_i]; + Foo.fromForOfBody = 1; + { + Foo.fromForOfBodyNested = 1; + } +} +for (var f in (Foo.forIn = [])) { + Foo.fromForInBody = 1; + { + Foo.fromForInBodyNested = 1; + } +} + + +//// [expandoFunctionNestedAssigments.d.ts] +declare function Foo(): void; +declare namespace Foo { + var inVariableInit: number; + var bla: { + foo: number; + }; + var baz: number; + var bar: number; + var fromIf: number; + var inIf: number; + var fromWhileCondition: number; + var fromWhileBody: number; + var fromWhileBodyNested: number; + var fromDoBody: number; + var fromDoBodyNested: number; + var fromDoCondition: number; + var forInit: number; + var forCond: number; + var fromForBody: number; + var fromForBodyNested: number; + var forIncr: number; + var forOf: any[]; + var fromForOfBody: number; + var fromForOfBodyNested: number; + var forIn: any[]; + var fromForInBody: number; + var fromForInBodyNested: number; +} +declare let d: number; +declare function bar(p?: number): void; diff --git a/tests/baselines/reference/expandoFunctionNestedAssigments.symbols b/tests/baselines/reference/expandoFunctionNestedAssigments.symbols new file mode 100644 index 0000000000..b1cdf86068 --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigments.symbols @@ -0,0 +1,136 @@ +=== tests/cases/compiler/expandoFunctionNestedAssigments.ts === +function Foo(): void { +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) + +} +let d: number = (Foo.inVariableInit = 1); +>d : Symbol(d, Decl(expandoFunctionNestedAssigments.ts, 3, 3)) +>Foo.inVariableInit : Symbol(Foo.inVariableInit, Decl(expandoFunctionNestedAssigments.ts, 3, 17)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>inVariableInit : Symbol(Foo.inVariableInit, Decl(expandoFunctionNestedAssigments.ts, 3, 17)) + + +function bar(p = (Foo.inNestedFunction = 1)) { +>bar : Symbol(bar, Decl(expandoFunctionNestedAssigments.ts, 3, 41)) +>p : Symbol(p, Decl(expandoFunctionNestedAssigments.ts, 6, 13)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) + +} + +(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); +>(Foo.bla = { foo: 1}).foo : Symbol(foo, Decl(expandoFunctionNestedAssigments.ts, 10, 12)) +>Foo.bla : Symbol(Foo.bla, Decl(expandoFunctionNestedAssigments.ts, 10, 1)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>bla : Symbol(Foo.bla, Decl(expandoFunctionNestedAssigments.ts, 10, 1)) +>foo : Symbol(foo, Decl(expandoFunctionNestedAssigments.ts, 10, 12)) +>foo : Symbol(foo, Decl(expandoFunctionNestedAssigments.ts, 10, 12)) +>Foo.baz : Symbol(Foo.baz, Decl(expandoFunctionNestedAssigments.ts, 10, 29)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>baz : Symbol(Foo.baz, Decl(expandoFunctionNestedAssigments.ts, 10, 29)) +>Foo.bar : Symbol(Foo.bar, Decl(expandoFunctionNestedAssigments.ts, 10, 45)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>bar : Symbol(Foo.bar, Decl(expandoFunctionNestedAssigments.ts, 10, 45)) + +if(Foo.fromIf = 1) { +>Foo.fromIf : Symbol(Foo.fromIf, Decl(expandoFunctionNestedAssigments.ts, 12, 3)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromIf : Symbol(Foo.fromIf, Decl(expandoFunctionNestedAssigments.ts, 12, 3)) + + Foo.inIf = 1; +>Foo.inIf : Symbol(Foo.inIf, Decl(expandoFunctionNestedAssigments.ts, 12, 20)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>inIf : Symbol(Foo.inIf, Decl(expandoFunctionNestedAssigments.ts, 12, 20)) +} + +while(Foo.fromWhileCondition = 1) { +>Foo.fromWhileCondition : Symbol(Foo.fromWhileCondition, Decl(expandoFunctionNestedAssigments.ts, 16, 6)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromWhileCondition : Symbol(Foo.fromWhileCondition, Decl(expandoFunctionNestedAssigments.ts, 16, 6)) + + Foo.fromWhileBody = 1; +>Foo.fromWhileBody : Symbol(Foo.fromWhileBody, Decl(expandoFunctionNestedAssigments.ts, 16, 35)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromWhileBody : Symbol(Foo.fromWhileBody, Decl(expandoFunctionNestedAssigments.ts, 16, 35)) + { + Foo.fromWhileBodyNested = 1; +>Foo.fromWhileBodyNested : Symbol(Foo.fromWhileBodyNested, Decl(expandoFunctionNestedAssigments.ts, 18, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromWhileBodyNested : Symbol(Foo.fromWhileBodyNested, Decl(expandoFunctionNestedAssigments.ts, 18, 5)) + } +} + +do { + Foo.fromDoBody = 1; +>Foo.fromDoBody : Symbol(Foo.fromDoBody, Decl(expandoFunctionNestedAssigments.ts, 23, 4)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromDoBody : Symbol(Foo.fromDoBody, Decl(expandoFunctionNestedAssigments.ts, 23, 4)) + { + Foo.fromDoBodyNested = 1; +>Foo.fromDoBodyNested : Symbol(Foo.fromDoBodyNested, Decl(expandoFunctionNestedAssigments.ts, 25, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromDoBodyNested : Symbol(Foo.fromDoBodyNested, Decl(expandoFunctionNestedAssigments.ts, 25, 5)) + } +} while(Foo.fromDoCondition = 1); +>Foo.fromDoCondition : Symbol(Foo.fromDoCondition, Decl(expandoFunctionNestedAssigments.ts, 28, 8)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromDoCondition : Symbol(Foo.fromDoCondition, Decl(expandoFunctionNestedAssigments.ts, 28, 8)) + +for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ +>Foo.forInit : Symbol(Foo.forInit, Decl(expandoFunctionNestedAssigments.ts, 30, 4)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>forInit : Symbol(Foo.forInit, Decl(expandoFunctionNestedAssigments.ts, 30, 4)) +>Foo.forCond : Symbol(Foo.forCond, Decl(expandoFunctionNestedAssigments.ts, 30, 22)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>forCond : Symbol(Foo.forCond, Decl(expandoFunctionNestedAssigments.ts, 30, 22)) +>Foo.forIncr : Symbol(Foo.forIncr, Decl(expandoFunctionNestedAssigments.ts, 30, 43)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>forIncr : Symbol(Foo.forIncr, Decl(expandoFunctionNestedAssigments.ts, 30, 43)) + + Foo.fromForBody = 1; +>Foo.fromForBody : Symbol(Foo.fromForBody, Decl(expandoFunctionNestedAssigments.ts, 30, 61)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromForBody : Symbol(Foo.fromForBody, Decl(expandoFunctionNestedAssigments.ts, 30, 61)) + { + Foo.fromForBodyNested = 1; +>Foo.fromForBodyNested : Symbol(Foo.fromForBodyNested, Decl(expandoFunctionNestedAssigments.ts, 32, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromForBodyNested : Symbol(Foo.fromForBodyNested, Decl(expandoFunctionNestedAssigments.ts, 32, 5)) + } +} + +for(let f of (Foo.forOf = []) ){ +>f : Symbol(f, Decl(expandoFunctionNestedAssigments.ts, 37, 7)) +>Foo.forOf : Symbol(Foo.forOf, Decl(expandoFunctionNestedAssigments.ts, 37, 14)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>forOf : Symbol(Foo.forOf, Decl(expandoFunctionNestedAssigments.ts, 37, 14)) + + Foo.fromForOfBody = 1; +>Foo.fromForOfBody : Symbol(Foo.fromForOfBody, Decl(expandoFunctionNestedAssigments.ts, 37, 32)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromForOfBody : Symbol(Foo.fromForOfBody, Decl(expandoFunctionNestedAssigments.ts, 37, 32)) + { + Foo.fromForOfBodyNested = 1; +>Foo.fromForOfBodyNested : Symbol(Foo.fromForOfBodyNested, Decl(expandoFunctionNestedAssigments.ts, 39, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromForOfBodyNested : Symbol(Foo.fromForOfBodyNested, Decl(expandoFunctionNestedAssigments.ts, 39, 5)) + } +} + + +for(let f in (Foo.forIn = []) ){ +>f : Symbol(f, Decl(expandoFunctionNestedAssigments.ts, 45, 7)) +>Foo.forIn : Symbol(Foo.forIn, Decl(expandoFunctionNestedAssigments.ts, 45, 14)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>forIn : Symbol(Foo.forIn, Decl(expandoFunctionNestedAssigments.ts, 45, 14)) + + Foo.fromForInBody = 1; +>Foo.fromForInBody : Symbol(Foo.fromForInBody, Decl(expandoFunctionNestedAssigments.ts, 45, 32)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromForInBody : Symbol(Foo.fromForInBody, Decl(expandoFunctionNestedAssigments.ts, 45, 32)) + { + Foo.fromForInBodyNested = 1; +>Foo.fromForInBodyNested : Symbol(Foo.fromForInBodyNested, Decl(expandoFunctionNestedAssigments.ts, 47, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigments.ts, 0, 0), Decl(expandoFunctionNestedAssigments.ts, 12, 3), Decl(expandoFunctionNestedAssigments.ts, 16, 6), Decl(expandoFunctionNestedAssigments.ts, 28, 8), Decl(expandoFunctionNestedAssigments.ts, 30, 4) ... and 1 more) +>fromForInBodyNested : Symbol(Foo.fromForInBodyNested, Decl(expandoFunctionNestedAssigments.ts, 47, 5)) + } +} diff --git a/tests/baselines/reference/expandoFunctionNestedAssigments.types b/tests/baselines/reference/expandoFunctionNestedAssigments.types new file mode 100644 index 0000000000..6035b6c646 --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigments.types @@ -0,0 +1,199 @@ +=== tests/cases/compiler/expandoFunctionNestedAssigments.ts === +function Foo(): void { +>Foo : typeof Foo + +} +let d: number = (Foo.inVariableInit = 1); +>d : number +>(Foo.inVariableInit = 1) : 1 +>Foo.inVariableInit = 1 : 1 +>Foo.inVariableInit : number +>Foo : typeof Foo +>inVariableInit : number +>1 : 1 + + +function bar(p = (Foo.inNestedFunction = 1)) { +>bar : (p?: number) => void +>p : number +>(Foo.inNestedFunction = 1) : 1 +>Foo.inNestedFunction = 1 : 1 +>Foo.inNestedFunction : any +>Foo : typeof Foo +>inNestedFunction : any +>1 : 1 + +} + +(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); +>(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0) : number +>(Foo.bla = { foo: 1}).foo : number +>(Foo.bla = { foo: 1}) : { foo: number; } +>Foo.bla = { foo: 1} : { foo: number; } +>Foo.bla : { foo: number; } +>Foo : typeof Foo +>bla : { foo: number; } +>{ foo: 1} : { foo: number; } +>foo : number +>1 : 1 +>foo : number +>(Foo.baz = 1) + (Foo.bar = 0) : number +>(Foo.baz = 1) : 1 +>Foo.baz = 1 : 1 +>Foo.baz : number +>Foo : typeof Foo +>baz : number +>1 : 1 +>(Foo.bar = 0) : 0 +>Foo.bar = 0 : 0 +>Foo.bar : number +>Foo : typeof Foo +>bar : number +>0 : 0 + +if(Foo.fromIf = 1) { +>Foo.fromIf = 1 : 1 +>Foo.fromIf : number +>Foo : typeof Foo +>fromIf : number +>1 : 1 + + Foo.inIf = 1; +>Foo.inIf = 1 : 1 +>Foo.inIf : number +>Foo : typeof Foo +>inIf : number +>1 : 1 +} + +while(Foo.fromWhileCondition = 1) { +>Foo.fromWhileCondition = 1 : 1 +>Foo.fromWhileCondition : number +>Foo : typeof Foo +>fromWhileCondition : number +>1 : 1 + + Foo.fromWhileBody = 1; +>Foo.fromWhileBody = 1 : 1 +>Foo.fromWhileBody : number +>Foo : typeof Foo +>fromWhileBody : number +>1 : 1 + { + Foo.fromWhileBodyNested = 1; +>Foo.fromWhileBodyNested = 1 : 1 +>Foo.fromWhileBodyNested : number +>Foo : typeof Foo +>fromWhileBodyNested : number +>1 : 1 + } +} + +do { + Foo.fromDoBody = 1; +>Foo.fromDoBody = 1 : 1 +>Foo.fromDoBody : number +>Foo : typeof Foo +>fromDoBody : number +>1 : 1 + { + Foo.fromDoBodyNested = 1; +>Foo.fromDoBodyNested = 1 : 1 +>Foo.fromDoBodyNested : number +>Foo : typeof Foo +>fromDoBodyNested : number +>1 : 1 + } +} while(Foo.fromDoCondition = 1); +>Foo.fromDoCondition = 1 : 1 +>Foo.fromDoCondition : number +>Foo : typeof Foo +>fromDoCondition : number +>1 : 1 + +for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ +>Foo.forInit = 1 : 1 +>Foo.forInit : number +>Foo : typeof Foo +>forInit : number +>1 : 1 +>(Foo.forCond = 1) > 1 : boolean +>(Foo.forCond = 1) : 1 +>Foo.forCond = 1 : 1 +>Foo.forCond : number +>Foo : typeof Foo +>forCond : number +>1 : 1 +>1 : 1 +>Foo.forIncr = 1 : 1 +>Foo.forIncr : number +>Foo : typeof Foo +>forIncr : number +>1 : 1 + + Foo.fromForBody = 1; +>Foo.fromForBody = 1 : 1 +>Foo.fromForBody : number +>Foo : typeof Foo +>fromForBody : number +>1 : 1 + { + Foo.fromForBodyNested = 1; +>Foo.fromForBodyNested = 1 : 1 +>Foo.fromForBodyNested : number +>Foo : typeof Foo +>fromForBodyNested : number +>1 : 1 + } +} + +for(let f of (Foo.forOf = []) ){ +>f : any +>(Foo.forOf = []) : undefined[] +>Foo.forOf = [] : undefined[] +>Foo.forOf : any[] +>Foo : typeof Foo +>forOf : any[] +>[] : undefined[] + + Foo.fromForOfBody = 1; +>Foo.fromForOfBody = 1 : 1 +>Foo.fromForOfBody : number +>Foo : typeof Foo +>fromForOfBody : number +>1 : 1 + { + Foo.fromForOfBodyNested = 1; +>Foo.fromForOfBodyNested = 1 : 1 +>Foo.fromForOfBodyNested : number +>Foo : typeof Foo +>fromForOfBodyNested : number +>1 : 1 + } +} + + +for(let f in (Foo.forIn = []) ){ +>f : string +>(Foo.forIn = []) : undefined[] +>Foo.forIn = [] : undefined[] +>Foo.forIn : any[] +>Foo : typeof Foo +>forIn : any[] +>[] : undefined[] + + Foo.fromForInBody = 1; +>Foo.fromForInBody = 1 : 1 +>Foo.fromForInBody : number +>Foo : typeof Foo +>fromForInBody : number +>1 : 1 + { + Foo.fromForInBodyNested = 1; +>Foo.fromForInBodyNested = 1 : 1 +>Foo.fromForInBodyNested : number +>Foo : typeof Foo +>fromForInBodyNested : number +>1 : 1 + } +} diff --git a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.js b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.js new file mode 100644 index 0000000000..d040165602 --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.js @@ -0,0 +1,141 @@ +//// [expandoFunctionNestedAssigmentsDeclared.ts] +function Foo(): void { + +} +declare namespace Foo { + var bla: { + foo: number; + }; + var baz: number; + var bar: number; + var fromIf: number; + var inIf: number; + var fromWhileCondition: number; + var fromWhileBody: number; + var fromWhileBodyNested: number; + var fromDoBody: number; + var fromDoBodyNested: number; + var fromDoCondition: number; + var forInit: number; + var forCond: number; + var fromForBody: number; + var fromForBodyNested: number; + var forIncr: number; + var forOf: any[]; + var fromForOfBody: number; + var fromForOfBodyNested: number; + var forIn: any[]; + var fromForInBody: number; + var fromForInBodyNested: number; +} + +(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); + +if(Foo.fromIf = 1) { + Foo.inIf = 1; +} + +while(Foo.fromWhileCondition = 1) { + Foo.fromWhileBody = 1; + { + Foo.fromWhileBodyNested = 1; + } +} + +do { + Foo.fromDoBody = 1; + { + Foo.fromDoBodyNested = 1; + } +} while(Foo.fromDoCondition = 1); + +for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ + Foo.fromForBody = 1; + { + Foo.fromForBodyNested = 1; + } +} + +for(let f of (Foo.forOf = []) ){ + Foo.fromForOfBody = 1; + { + Foo.fromForOfBodyNested = 1; + } +} + + +for(let f in (Foo.forIn = []) ){ + Foo.fromForInBody = 1; + { + Foo.fromForInBodyNested = 1; + } +} + +//// [expandoFunctionNestedAssigmentsDeclared.js] +function Foo() { +} +(Foo.bla = { foo: 1 }).foo = (Foo.baz = 1) + (Foo.bar = 0); +if (Foo.fromIf = 1) { + Foo.inIf = 1; +} +while (Foo.fromWhileCondition = 1) { + Foo.fromWhileBody = 1; + { + Foo.fromWhileBodyNested = 1; + } +} +do { + Foo.fromDoBody = 1; + { + Foo.fromDoBodyNested = 1; + } +} while (Foo.fromDoCondition = 1); +for (Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1) { + Foo.fromForBody = 1; + { + Foo.fromForBodyNested = 1; + } +} +for (var _i = 0, _a = (Foo.forOf = []); _i < _a.length; _i++) { + var f = _a[_i]; + Foo.fromForOfBody = 1; + { + Foo.fromForOfBodyNested = 1; + } +} +for (var f in (Foo.forIn = [])) { + Foo.fromForInBody = 1; + { + Foo.fromForInBodyNested = 1; + } +} + + +//// [expandoFunctionNestedAssigmentsDeclared.d.ts] +declare function Foo(): void; +declare namespace Foo { + var bla: { + foo: number; + }; + var baz: number; + var bar: number; + var fromIf: number; + var inIf: number; + var fromWhileCondition: number; + var fromWhileBody: number; + var fromWhileBodyNested: number; + var fromDoBody: number; + var fromDoBodyNested: number; + var fromDoCondition: number; + var forInit: number; + var forCond: number; + var fromForBody: number; + var fromForBodyNested: number; + var forIncr: number; + var forOf: any[]; + var fromForOfBody: number; + var fromForOfBodyNested: number; + var forIn: any[]; + var fromForInBody: number; + var fromForInBodyNested: number; +} diff --git a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.symbols b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.symbols new file mode 100644 index 0000000000..dff79e574f --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.symbols @@ -0,0 +1,196 @@ +=== tests/cases/compiler/expandoFunctionNestedAssigmentsDeclared.ts === +function Foo(): void { +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) + +} +declare namespace Foo { +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) + + var bla: { +>bla : Symbol(bla, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 4, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 1)) + + foo: number; +>foo : Symbol(foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 4, 14)) + + }; + var baz: number; +>baz : Symbol(baz, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 7, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 29)) + + var bar: number; +>bar : Symbol(bar, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 8, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 45)) + + var fromIf: number; +>fromIf : Symbol(fromIf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 9, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3)) + + var inIf: number; +>inIf : Symbol(inIf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 10, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 20)) + + var fromWhileCondition: number; +>fromWhileCondition : Symbol(fromWhileCondition, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 11, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6)) + + var fromWhileBody: number; +>fromWhileBody : Symbol(fromWhileBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 12, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 35)) + + var fromWhileBodyNested: number; +>fromWhileBodyNested : Symbol(fromWhileBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 13, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 38, 5)) + + var fromDoBody: number; +>fromDoBody : Symbol(fromDoBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 14, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 43, 4)) + + var fromDoBodyNested: number; +>fromDoBodyNested : Symbol(fromDoBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 15, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 45, 5)) + + var fromDoCondition: number; +>fromDoCondition : Symbol(fromDoCondition, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 16, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8)) + + var forInit: number; +>forInit : Symbol(forInit, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 17, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 4)) + + var forCond: number; +>forCond : Symbol(forCond, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 18, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 22)) + + var fromForBody: number; +>fromForBody : Symbol(fromForBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 19, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 61)) + + var fromForBodyNested: number; +>fromForBodyNested : Symbol(fromForBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 20, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 52, 5)) + + var forIncr: number; +>forIncr : Symbol(forIncr, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 21, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 43)) + + var forOf: any[]; +>forOf : Symbol(forOf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 22, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 14)) + + var fromForOfBody: number; +>fromForOfBody : Symbol(fromForOfBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 23, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 32)) + + var fromForOfBodyNested: number; +>fromForOfBodyNested : Symbol(fromForOfBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 24, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 59, 5)) + + var forIn: any[]; +>forIn : Symbol(forIn, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 25, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 14)) + + var fromForInBody: number; +>fromForInBody : Symbol(fromForInBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 26, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 32)) + + var fromForInBodyNested: number; +>fromForInBodyNested : Symbol(fromForInBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 27, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 67, 5)) +} + +(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); +>(Foo.bla = { foo: 1}).foo : Symbol(foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 12)) +>Foo.bla : Symbol(Foo.bla, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 4, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 1)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>bla : Symbol(Foo.bla, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 4, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 1)) +>foo : Symbol(foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 12)) +>foo : Symbol(foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 12)) +>Foo.baz : Symbol(Foo.baz, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 7, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 29)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>baz : Symbol(Foo.baz, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 7, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 29)) +>Foo.bar : Symbol(Foo.bar, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 8, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 45)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>bar : Symbol(Foo.bar, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 8, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 30, 45)) + +if(Foo.fromIf = 1) { +>Foo.fromIf : Symbol(Foo.fromIf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 9, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromIf : Symbol(Foo.fromIf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 9, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3)) + + Foo.inIf = 1; +>Foo.inIf : Symbol(Foo.inIf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 10, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 20)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>inIf : Symbol(Foo.inIf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 10, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 20)) +} + +while(Foo.fromWhileCondition = 1) { +>Foo.fromWhileCondition : Symbol(Foo.fromWhileCondition, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 11, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromWhileCondition : Symbol(Foo.fromWhileCondition, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 11, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6)) + + Foo.fromWhileBody = 1; +>Foo.fromWhileBody : Symbol(Foo.fromWhileBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 12, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 35)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromWhileBody : Symbol(Foo.fromWhileBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 12, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 35)) + { + Foo.fromWhileBodyNested = 1; +>Foo.fromWhileBodyNested : Symbol(Foo.fromWhileBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 13, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 38, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromWhileBodyNested : Symbol(Foo.fromWhileBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 13, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 38, 5)) + } +} + +do { + Foo.fromDoBody = 1; +>Foo.fromDoBody : Symbol(Foo.fromDoBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 14, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 43, 4)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromDoBody : Symbol(Foo.fromDoBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 14, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 43, 4)) + { + Foo.fromDoBodyNested = 1; +>Foo.fromDoBodyNested : Symbol(Foo.fromDoBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 15, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 45, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromDoBodyNested : Symbol(Foo.fromDoBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 15, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 45, 5)) + } +} while(Foo.fromDoCondition = 1); +>Foo.fromDoCondition : Symbol(Foo.fromDoCondition, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 16, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromDoCondition : Symbol(Foo.fromDoCondition, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 16, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8)) + +for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ +>Foo.forInit : Symbol(Foo.forInit, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 17, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 4)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>forInit : Symbol(Foo.forInit, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 17, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 4)) +>Foo.forCond : Symbol(Foo.forCond, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 18, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 22)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>forCond : Symbol(Foo.forCond, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 18, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 22)) +>Foo.forIncr : Symbol(Foo.forIncr, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 21, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 43)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>forIncr : Symbol(Foo.forIncr, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 21, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 43)) + + Foo.fromForBody = 1; +>Foo.fromForBody : Symbol(Foo.fromForBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 19, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 61)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromForBody : Symbol(Foo.fromForBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 19, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 50, 61)) + { + Foo.fromForBodyNested = 1; +>Foo.fromForBodyNested : Symbol(Foo.fromForBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 20, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 52, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromForBodyNested : Symbol(Foo.fromForBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 20, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 52, 5)) + } +} + +for(let f of (Foo.forOf = []) ){ +>f : Symbol(f, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 7)) +>Foo.forOf : Symbol(Foo.forOf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 22, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 14)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>forOf : Symbol(Foo.forOf, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 22, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 14)) + + Foo.fromForOfBody = 1; +>Foo.fromForOfBody : Symbol(Foo.fromForOfBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 23, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 32)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromForOfBody : Symbol(Foo.fromForOfBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 23, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 57, 32)) + { + Foo.fromForOfBodyNested = 1; +>Foo.fromForOfBodyNested : Symbol(Foo.fromForOfBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 24, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 59, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromForOfBodyNested : Symbol(Foo.fromForOfBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 24, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 59, 5)) + } +} + + +for(let f in (Foo.forIn = []) ){ +>f : Symbol(f, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 7)) +>Foo.forIn : Symbol(Foo.forIn, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 25, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 14)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>forIn : Symbol(Foo.forIn, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 25, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 14)) + + Foo.fromForInBody = 1; +>Foo.fromForInBody : Symbol(Foo.fromForInBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 26, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 32)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromForInBody : Symbol(Foo.fromForInBody, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 26, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 65, 32)) + { + Foo.fromForInBodyNested = 1; +>Foo.fromForInBodyNested : Symbol(Foo.fromForInBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 27, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 67, 5)) +>Foo : Symbol(Foo, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 0, 0), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 2, 1), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 32, 3), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 36, 6), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 48, 8) ... and 2 more) +>fromForInBodyNested : Symbol(Foo.fromForInBodyNested, Decl(expandoFunctionNestedAssigmentsDeclared.ts, 27, 7), Decl(expandoFunctionNestedAssigmentsDeclared.ts, 67, 5)) + } +} diff --git a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types new file mode 100644 index 0000000000..813cfc21be --- /dev/null +++ b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types @@ -0,0 +1,251 @@ +=== tests/cases/compiler/expandoFunctionNestedAssigmentsDeclared.ts === +function Foo(): void { +>Foo : typeof Foo + +} +declare namespace Foo { +>Foo : typeof Foo + + var bla: { +>bla : { foo: number; } + + foo: number; +>foo : number + + }; + var baz: number; +>baz : number + + var bar: number; +>bar : number + + var fromIf: number; +>fromIf : number + + var inIf: number; +>inIf : number + + var fromWhileCondition: number; +>fromWhileCondition : number + + var fromWhileBody: number; +>fromWhileBody : number + + var fromWhileBodyNested: number; +>fromWhileBodyNested : number + + var fromDoBody: number; +>fromDoBody : number + + var fromDoBodyNested: number; +>fromDoBodyNested : number + + var fromDoCondition: number; +>fromDoCondition : number + + var forInit: number; +>forInit : number + + var forCond: number; +>forCond : number + + var fromForBody: number; +>fromForBody : number + + var fromForBodyNested: number; +>fromForBodyNested : number + + var forIncr: number; +>forIncr : number + + var forOf: any[]; +>forOf : any[] + + var fromForOfBody: number; +>fromForOfBody : number + + var fromForOfBodyNested: number; +>fromForOfBodyNested : number + + var forIn: any[]; +>forIn : any[] + + var fromForInBody: number; +>fromForInBody : number + + var fromForInBodyNested: number; +>fromForInBodyNested : number +} + +(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0); +>(Foo.bla = { foo: 1}).foo = (Foo.baz = 1) + (Foo.bar = 0) : number +>(Foo.bla = { foo: 1}).foo : number +>(Foo.bla = { foo: 1}) : { foo: number; } +>Foo.bla = { foo: 1} : { foo: number; } +>Foo.bla : { foo: number; } +>Foo : typeof Foo +>bla : { foo: number; } +>{ foo: 1} : { foo: number; } +>foo : number +>1 : 1 +>foo : number +>(Foo.baz = 1) + (Foo.bar = 0) : number +>(Foo.baz = 1) : 1 +>Foo.baz = 1 : 1 +>Foo.baz : number +>Foo : typeof Foo +>baz : number +>1 : 1 +>(Foo.bar = 0) : 0 +>Foo.bar = 0 : 0 +>Foo.bar : number +>Foo : typeof Foo +>bar : number +>0 : 0 + +if(Foo.fromIf = 1) { +>Foo.fromIf = 1 : 1 +>Foo.fromIf : number +>Foo : typeof Foo +>fromIf : number +>1 : 1 + + Foo.inIf = 1; +>Foo.inIf = 1 : 1 +>Foo.inIf : number +>Foo : typeof Foo +>inIf : number +>1 : 1 +} + +while(Foo.fromWhileCondition = 1) { +>Foo.fromWhileCondition = 1 : 1 +>Foo.fromWhileCondition : number +>Foo : typeof Foo +>fromWhileCondition : number +>1 : 1 + + Foo.fromWhileBody = 1; +>Foo.fromWhileBody = 1 : 1 +>Foo.fromWhileBody : number +>Foo : typeof Foo +>fromWhileBody : number +>1 : 1 + { + Foo.fromWhileBodyNested = 1; +>Foo.fromWhileBodyNested = 1 : 1 +>Foo.fromWhileBodyNested : number +>Foo : typeof Foo +>fromWhileBodyNested : number +>1 : 1 + } +} + +do { + Foo.fromDoBody = 1; +>Foo.fromDoBody = 1 : 1 +>Foo.fromDoBody : number +>Foo : typeof Foo +>fromDoBody : number +>1 : 1 + { + Foo.fromDoBodyNested = 1; +>Foo.fromDoBodyNested = 1 : 1 +>Foo.fromDoBodyNested : number +>Foo : typeof Foo +>fromDoBodyNested : number +>1 : 1 + } +} while(Foo.fromDoCondition = 1); +>Foo.fromDoCondition = 1 : 1 +>Foo.fromDoCondition : number +>Foo : typeof Foo +>fromDoCondition : number +>1 : 1 + +for(Foo.forInit = 1; (Foo.forCond = 1) > 1; Foo.forIncr = 1){ +>Foo.forInit = 1 : 1 +>Foo.forInit : number +>Foo : typeof Foo +>forInit : number +>1 : 1 +>(Foo.forCond = 1) > 1 : boolean +>(Foo.forCond = 1) : 1 +>Foo.forCond = 1 : 1 +>Foo.forCond : number +>Foo : typeof Foo +>forCond : number +>1 : 1 +>1 : 1 +>Foo.forIncr = 1 : 1 +>Foo.forIncr : number +>Foo : typeof Foo +>forIncr : number +>1 : 1 + + Foo.fromForBody = 1; +>Foo.fromForBody = 1 : 1 +>Foo.fromForBody : number +>Foo : typeof Foo +>fromForBody : number +>1 : 1 + { + Foo.fromForBodyNested = 1; +>Foo.fromForBodyNested = 1 : 1 +>Foo.fromForBodyNested : number +>Foo : typeof Foo +>fromForBodyNested : number +>1 : 1 + } +} + +for(let f of (Foo.forOf = []) ){ +>f : any +>(Foo.forOf = []) : undefined[] +>Foo.forOf = [] : undefined[] +>Foo.forOf : any[] +>Foo : typeof Foo +>forOf : any[] +>[] : undefined[] + + Foo.fromForOfBody = 1; +>Foo.fromForOfBody = 1 : 1 +>Foo.fromForOfBody : number +>Foo : typeof Foo +>fromForOfBody : number +>1 : 1 + { + Foo.fromForOfBodyNested = 1; +>Foo.fromForOfBodyNested = 1 : 1 +>Foo.fromForOfBodyNested : number +>Foo : typeof Foo +>fromForOfBodyNested : number +>1 : 1 + } +} + + +for(let f in (Foo.forIn = []) ){ +>f : string +>(Foo.forIn = []) : undefined[] +>Foo.forIn = [] : undefined[] +>Foo.forIn : any[] +>Foo : typeof Foo +>forIn : any[] +>[] : undefined[] + + Foo.fromForInBody = 1; +>Foo.fromForInBody = 1 : 1 +>Foo.fromForInBody : number +>Foo : typeof Foo +>fromForInBody : number +>1 : 1 + { + Foo.fromForInBodyNested = 1; +>Foo.fromForInBodyNested = 1 : 1 +>Foo.fromForInBodyNested : number +>Foo : typeof Foo +>fromForInBodyNested : number +>1 : 1 + } +} diff --git a/tests/baselines/reference/exportEqualErrorType.types b/tests/baselines/reference/exportEqualErrorType.types index 20aedd2e63..ca06ab2a71 100644 --- a/tests/baselines/reference/exportEqualErrorType.types +++ b/tests/baselines/reference/exportEqualErrorType.types @@ -5,10 +5,10 @@ import connect = require('exportEqualErrorType_0'); connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. >connect().use(connect.static('foo')) : connect.connectExport ->connect().use : (mod: connect.connectModule) => connect.connectExport +>connect().use : (mod: connectModule) => connect.connectExport >connect() : connect.connectExport >connect : { (): connect.connectExport; foo: Date; } ->use : (mod: connect.connectModule) => connect.connectExport +>use : (mod: connectModule) => connect.connectExport >connect.static('foo') : any >connect.static : any >connect : { (): connect.connectExport; foo: Date; } diff --git a/tests/baselines/reference/exportEqualMemberMissing.types b/tests/baselines/reference/exportEqualMemberMissing.types index 02e73124a3..57b0fbb9a1 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.types +++ b/tests/baselines/reference/exportEqualMemberMissing.types @@ -5,10 +5,10 @@ import connect = require('./exportEqualMemberMissing_0'); connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. >connect().use(connect.static('foo')) : connect.connectExport ->connect().use : (mod: connect.connectModule) => connect.connectExport +>connect().use : (mod: connectModule) => connect.connectExport >connect() : connect.connectExport >connect : { (): connect.connectExport; foo: Date; } ->use : (mod: connect.connectModule) => connect.connectExport +>use : (mod: connectModule) => connect.connectExport >connect.static('foo') : any >connect.static : any >connect : { (): connect.connectExport; foo: Date; } diff --git a/tests/baselines/reference/fatArrowSelf.types b/tests/baselines/reference/fatArrowSelf.types index a7d3f7a7b2..f383635c93 100644 --- a/tests/baselines/reference/fatArrowSelf.types +++ b/tests/baselines/reference/fatArrowSelf.types @@ -32,11 +32,11 @@ module Consumer { this.emitter.addListener('change', (e) => { >this.emitter.addListener('change', (e) => { this.changed(); }) : void ->this.emitter.addListener : (type: string, listener: Events.ListenerCallback) => void +>this.emitter.addListener : (type: string, listener: ListenerCallback) => void >this.emitter : Events.EventEmitter >this : this >emitter : Events.EventEmitter ->addListener : (type: string, listener: Events.ListenerCallback) => void +>addListener : (type: string, listener: ListenerCallback) => void >'change' : "change" >(e) => { this.changed(); } : (e: any) => void >e : any diff --git a/tests/baselines/reference/for-of58.types b/tests/baselines/reference/for-of58.types index 5a3470b45f..09ef3ed3f3 100644 --- a/tests/baselines/reference/for-of58.types +++ b/tests/baselines/reference/for-of58.types @@ -1,10 +1,10 @@ === tests/cases/conformance/es6/for-ofStatements/for-of58.ts === type X = { x: 'x' }; ->X : { x: 'x'; } +>X : { x: "x"; } >x : "x" type Y = { y: 'y' }; ->Y : { y: 'y'; } +>Y : { y: "y"; } >y : "y" declare const arr: X[] & Y[]; diff --git a/tests/baselines/reference/formatToPartsBigInt.types b/tests/baselines/reference/formatToPartsBigInt.types index d3eeb2247a..a55bbe9954 100644 --- a/tests/baselines/reference/formatToPartsBigInt.types +++ b/tests/baselines/reference/formatToPartsBigInt.types @@ -6,9 +6,9 @@ new Intl.NumberFormat("fr").formatToParts(3000n); >new Intl.NumberFormat("fr").formatToParts(3000n) : Intl.NumberFormatPart[] >new Intl.NumberFormat("fr").formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] >new Intl.NumberFormat("fr") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"fr" : "fr" >formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] >3000n : 3000n @@ -17,9 +17,9 @@ new Intl.NumberFormat("fr").formatToParts(BigInt(123)); >new Intl.NumberFormat("fr").formatToParts(BigInt(123)) : Intl.NumberFormatPart[] >new Intl.NumberFormat("fr").formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] >new Intl.NumberFormat("fr") : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >"fr" : "fr" >formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] >BigInt(123) : bigint diff --git a/tests/baselines/reference/formatToPartsFractionalSecond.types b/tests/baselines/reference/formatToPartsFractionalSecond.types index 222c94fd83..b0347a32fa 100644 --- a/tests/baselines/reference/formatToPartsFractionalSecond.types +++ b/tests/baselines/reference/formatToPartsFractionalSecond.types @@ -3,12 +3,12 @@ new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractional >new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractionalSecond') : Intl.DateTimeFormatPart >new Intl.DateTimeFormat().formatToParts().find : { (predicate: (this: void, value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart; } >new Intl.DateTimeFormat().formatToParts() : Intl.DateTimeFormatPart[] ->new Intl.DateTimeFormat().formatToParts : (date?: number | Date) => Intl.DateTimeFormatPart[] +>new Intl.DateTimeFormat().formatToParts : (date?: Date | number) => Intl.DateTimeFormatPart[] >new Intl.DateTimeFormat() : Intl.DateTimeFormat ->Intl.DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>Intl.DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } >Intl : typeof Intl ->DateTimeFormat : { (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } ->formatToParts : (date?: number | Date) => Intl.DateTimeFormatPart[] +>DateTimeFormat : { (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; new (locales?: string | string[], options?: DateTimeFormatOptions): Intl.DateTimeFormat; supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; readonly prototype: Intl.DateTimeFormat; } +>formatToParts : (date?: Date | number) => Intl.DateTimeFormatPart[] >find : { (predicate: (this: void, value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart; } >(val) => val.type === 'fractionalSecond' : (this: void, val: Intl.DateTimeFormatPart) => boolean >val : Intl.DateTimeFormatPart diff --git a/tests/baselines/reference/freshLiteralInference.types b/tests/baselines/reference/freshLiteralInference.types index acf37c5264..f420cd235a 100644 --- a/tests/baselines/reference/freshLiteralInference.types +++ b/tests/baselines/reference/freshLiteralInference.types @@ -14,7 +14,7 @@ let x1 = value; // regular "1" >value : "1" declare function f2(x: { value: T }): { value: T }; ->f2 : (x: { value: T;}) => { value: T;} +>f2 : (x: { value: T; }) => { value: T; } >x : { value: T; } >value : T >value : T diff --git a/tests/baselines/reference/functionAssignment.types b/tests/baselines/reference/functionAssignment.types index 85c8a5e710..ef4d3c49d3 100644 --- a/tests/baselines/reference/functionAssignment.types +++ b/tests/baselines/reference/functionAssignment.types @@ -66,7 +66,7 @@ f2(() => { }); function f3(a: { a: number; b: number; }) { } ->f3 : (a: { a: number; b: number;}) => void +>f3 : (a: { a: number; b: number; }) => void >a : { a: number; b: number; } >a : number >b : number diff --git a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types index a1d32a2a40..bfc0ae2f83 100644 --- a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types +++ b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types @@ -1,6 +1,6 @@ === tests/cases/compiler/functionDeclarationWithArgumentOfTypeFunctionTypeArray.ts === function foo(args: { (x): number }[]) { ->foo : (args: ((x: any) => number)[]) => number +>foo : (args: { (x: any): number; }[]) => number >args : ((x: any) => number)[] >x : any diff --git a/tests/baselines/reference/functionExpressionContextualTyping3.types b/tests/baselines/reference/functionExpressionContextualTyping3.types index 3d89ca0bcc..1db68bfdc5 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping3.types +++ b/tests/baselines/reference/functionExpressionContextualTyping3.types @@ -6,7 +6,7 @@ declare function f(value: T | number): void; f((a: any) => "") >f((a: any) => "") : void ->f : (value: number | T) => void +>f : (value: T | number) => void >(a: any) => "" : (a: any) => "" >a : any >"" : "" diff --git a/tests/baselines/reference/functionLiterals.types b/tests/baselines/reference/functionLiterals.types index 9d9f881ed5..22923e9bac 100644 --- a/tests/baselines/reference/functionLiterals.types +++ b/tests/baselines/reference/functionLiterals.types @@ -2,7 +2,7 @@ // PropName(ParamList):ReturnType is equivalent to PropName: { (ParamList): ReturnType } var b: { ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } func1(x: number): number; // Method signature >func1 : (x: number) => number @@ -116,7 +116,7 @@ c.func5 = c.func4; // generic versions var b2: { ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } func1(x: T): number; // Method signature >func1 : (x: T) => number diff --git a/tests/baselines/reference/functionOverloadErrors.types b/tests/baselines/reference/functionOverloadErrors.types index b732839177..c20f6a95e9 100644 --- a/tests/baselines/reference/functionOverloadErrors.types +++ b/tests/baselines/reference/functionOverloadErrors.types @@ -20,7 +20,7 @@ function fn2a() { } function fn2b(n: number[]); ->fn2b : { (n: number[]): any; (n: number[]): any; } +>fn2b : { (n: number[]): any; (n: Array): any; } >n : number[] function fn2b(n: Array); @@ -28,7 +28,7 @@ function fn2b(n: Array); >n : number[] function fn2b() { ->fn2b : { (n: number[]): any; (n: number[]): any; } +>fn2b : { (n: number[]): any; (n: Array): any; } } //Multiple function overload signatures that differ only by return type diff --git a/tests/baselines/reference/functionOverloads14.types b/tests/baselines/reference/functionOverloads14.types index 5b4ac06427..3e88bd04f8 100644 --- a/tests/baselines/reference/functionOverloads14.types +++ b/tests/baselines/reference/functionOverloads14.types @@ -1,10 +1,10 @@ === tests/cases/compiler/functionOverloads14.ts === function foo():{a:number;} ->foo : { (): { a: number;}; (): { a: string; }; } +>foo : { (): { a: number; }; (): { a: string; }; } >a : number function foo():{a:string;} ->foo : { (): { a: number; }; (): { a: string;}; } +>foo : { (): { a: number; }; (): { a: string; }; } >a : string function foo():{a:any;} { return {a:1} } diff --git a/tests/baselines/reference/functionOverloads15.types b/tests/baselines/reference/functionOverloads15.types index 50c76b576a..86c9fc6a66 100644 --- a/tests/baselines/reference/functionOverloads15.types +++ b/tests/baselines/reference/functionOverloads15.types @@ -1,12 +1,12 @@ === tests/cases/compiler/functionOverloads15.ts === function foo(foo:{a:string; b:number;}):string; ->foo : { (foo: { a: string; b: number;}): string; (foo: { a: string; b: number; }): number; } +>foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } >foo : { a: string; b: number; } >a : string >b : number function foo(foo:{a:string; b:number;}):number; ->foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number;}): number; } +>foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } >foo : { a: string; b: number; } >a : string >b : number diff --git a/tests/baselines/reference/functionOverloads16.types b/tests/baselines/reference/functionOverloads16.types index 0de0ee8b67..1d7a4184de 100644 --- a/tests/baselines/reference/functionOverloads16.types +++ b/tests/baselines/reference/functionOverloads16.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads16.ts === function foo(foo:{a:string;}):string; ->foo : { (foo: { a: string;}): string; (foo: { a: string; }): number; } +>foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } >foo : { a: string; } >a : string function foo(foo:{a:string;}):number; ->foo : { (foo: { a: string; }): string; (foo: { a: string;}): number; } +>foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } >foo : { a: string; } >a : string diff --git a/tests/baselines/reference/functionOverloads17.types b/tests/baselines/reference/functionOverloads17.types index a83c31f1fb..a93973cf3a 100644 --- a/tests/baselines/reference/functionOverloads17.types +++ b/tests/baselines/reference/functionOverloads17.types @@ -1,6 +1,6 @@ === tests/cases/compiler/functionOverloads17.ts === function foo():{a:number;} ->foo : () => { a: number;} +>foo : () => { a: number; } >a : number function foo():{a:string;} { return {a:""} } diff --git a/tests/baselines/reference/functionOverloads18.types b/tests/baselines/reference/functionOverloads18.types index d712c36515..8e3da948e5 100644 --- a/tests/baselines/reference/functionOverloads18.types +++ b/tests/baselines/reference/functionOverloads18.types @@ -1,6 +1,6 @@ === tests/cases/compiler/functionOverloads18.ts === function foo(bar:{a:number;}); ->foo : (bar: { a: number;}) => any +>foo : (bar: { a: number; }) => any >bar : { a: number; } >a : number diff --git a/tests/baselines/reference/functionOverloads19.types b/tests/baselines/reference/functionOverloads19.types index 1f2f34d88e..33d6fc151d 100644 --- a/tests/baselines/reference/functionOverloads19.types +++ b/tests/baselines/reference/functionOverloads19.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads19.ts === function foo(bar:{b:string;}); ->foo : { (bar: { b: string;}): any; (bar: { a: string; }): any; } +>foo : { (bar: { b: string; }): any; (bar: { a: string; }): any; } >bar : { b: string; } >b : string function foo(bar:{a:string;}); ->foo : { (bar: { b: string; }): any; (bar: { a: string;}): any; } +>foo : { (bar: { b: string; }): any; (bar: { a: string; }): any; } >bar : { a: string; } >a : string diff --git a/tests/baselines/reference/functionOverloads20.types b/tests/baselines/reference/functionOverloads20.types index 8c0326a2b7..88d84babe7 100644 --- a/tests/baselines/reference/functionOverloads20.types +++ b/tests/baselines/reference/functionOverloads20.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads20.ts === function foo(bar:{a:number;}): number; ->foo : { (bar: { a: number;}): number; (bar: { a: string; }): string; } +>foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: number; } >a : number function foo(bar:{a:string;}): string; ->foo : { (bar: { a: number; }): number; (bar: { a: string;}): string; } +>foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: string; } >a : string diff --git a/tests/baselines/reference/functionOverloads21.types b/tests/baselines/reference/functionOverloads21.types index 5ceb24dc26..4d87e3a123 100644 --- a/tests/baselines/reference/functionOverloads21.types +++ b/tests/baselines/reference/functionOverloads21.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads21.ts === function foo(bar:{a:number;}[]); ->foo : { (bar: { a: number;}[]): any; (bar: { a: number; b: string; }[]): any; } +>foo : { (bar: { a: number; }[]): any; (bar: { a: number; b: string; }[]): any; } >bar : { a: number; }[] >a : number function foo(bar:{a:number; b:string;}[]); ->foo : { (bar: { a: number; }[]): any; (bar: { a: number; b: string;}[]): any; } +>foo : { (bar: { a: number; }[]): any; (bar: { a: number; b: string; }[]): any; } >bar : { a: number; b: string; }[] >a : number >b : string diff --git a/tests/baselines/reference/functionOverloads22.types b/tests/baselines/reference/functionOverloads22.types index e799d2fc06..ff6b30c084 100644 --- a/tests/baselines/reference/functionOverloads22.types +++ b/tests/baselines/reference/functionOverloads22.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads22.ts === function foo(bar:number):{a:number;}[]; ->foo : { (bar: number): { a: number;}[]; (bar: string): { a: number; b: string; }[]; } +>foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } >bar : number >a : number function foo(bar:string):{a:number; b:string;}[]; ->foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string;}[]; } +>foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } >bar : string >a : number >b : string diff --git a/tests/baselines/reference/functionOverloads34.types b/tests/baselines/reference/functionOverloads34.types index 4df69b604b..8e979aaa96 100644 --- a/tests/baselines/reference/functionOverloads34.types +++ b/tests/baselines/reference/functionOverloads34.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads34.ts === function foo(bar:{a:number;}):string; ->foo : { (bar: { a: number;}): string; (bar: { a: boolean; }): number; } +>foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } >bar : { a: number; } >a : number function foo(bar:{a:boolean;}):number; ->foo : { (bar: { a: number; }): string; (bar: { a: boolean;}): number; } +>foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } >bar : { a: boolean; } >a : boolean diff --git a/tests/baselines/reference/functionOverloads35.types b/tests/baselines/reference/functionOverloads35.types index 2cc628f57f..8686bc2fdf 100644 --- a/tests/baselines/reference/functionOverloads35.types +++ b/tests/baselines/reference/functionOverloads35.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads35.ts === function foo(bar:{a:number;}):number; ->foo : { (bar: { a: number;}): number; (bar: { a: string; }): string; } +>foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: number; } >a : number function foo(bar:{a:string;}):string; ->foo : { (bar: { a: number; }): number; (bar: { a: string;}): string; } +>foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: string; } >a : string diff --git a/tests/baselines/reference/functionOverloads36.types b/tests/baselines/reference/functionOverloads36.types index a4ecb44829..8a78f466d3 100644 --- a/tests/baselines/reference/functionOverloads36.types +++ b/tests/baselines/reference/functionOverloads36.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads36.ts === function foo(bar:{a:number;}):number; ->foo : { (bar: { a: number;}): number; (bar: { a: string; }): string; } +>foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: number; } >a : number function foo(bar:{a:string;}):string; ->foo : { (bar: { a: number; }): number; (bar: { a: string;}): string; } +>foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: string; } >a : string diff --git a/tests/baselines/reference/functionOverloads37.types b/tests/baselines/reference/functionOverloads37.types index d55de4251d..9908718060 100644 --- a/tests/baselines/reference/functionOverloads37.types +++ b/tests/baselines/reference/functionOverloads37.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads37.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: boolean; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:boolean;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: boolean;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: boolean; }[] >a : boolean diff --git a/tests/baselines/reference/functionOverloads38.types b/tests/baselines/reference/functionOverloads38.types index 2f420e7899..e8b32f78e7 100644 --- a/tests/baselines/reference/functionOverloads38.types +++ b/tests/baselines/reference/functionOverloads38.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads38.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: boolean; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:boolean;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: boolean;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: boolean; }[] >a : boolean diff --git a/tests/baselines/reference/functionOverloads39.types b/tests/baselines/reference/functionOverloads39.types index 1ae837a296..bf4a6ec5ae 100644 --- a/tests/baselines/reference/functionOverloads39.types +++ b/tests/baselines/reference/functionOverloads39.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads39.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: boolean; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:boolean;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: boolean;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: boolean; }[] >a : boolean diff --git a/tests/baselines/reference/functionOverloads40.types b/tests/baselines/reference/functionOverloads40.types index b303743a51..3ba5b993b5 100644 --- a/tests/baselines/reference/functionOverloads40.types +++ b/tests/baselines/reference/functionOverloads40.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads40.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: boolean; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:boolean;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: boolean;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: boolean; }[] >a : boolean diff --git a/tests/baselines/reference/functionOverloads41.types b/tests/baselines/reference/functionOverloads41.types index 7a15f84d7f..6dfeb47f22 100644 --- a/tests/baselines/reference/functionOverloads41.types +++ b/tests/baselines/reference/functionOverloads41.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads41.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: boolean; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:boolean;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: boolean;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: boolean; }[] >a : boolean diff --git a/tests/baselines/reference/functionOverloads42.types b/tests/baselines/reference/functionOverloads42.types index 3bbb27c762..e709ea8b7e 100644 --- a/tests/baselines/reference/functionOverloads42.types +++ b/tests/baselines/reference/functionOverloads42.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads42.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: any; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:any;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: any;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } >bar : { a: any; }[] >a : any diff --git a/tests/baselines/reference/functionOverloads43.types b/tests/baselines/reference/functionOverloads43.types index 3f032c0bd4..41a29fd0fe 100644 --- a/tests/baselines/reference/functionOverloads43.types +++ b/tests/baselines/reference/functionOverloads43.types @@ -1,11 +1,11 @@ === tests/cases/compiler/functionOverloads43.ts === function foo(bar: { a:number }[]): number; ->foo : { (bar: { a: number;}[]): number; (bar: { a: string; }[]): string; } +>foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } >bar : { a: number; }[] >a : number function foo(bar: { a:string }[]): string; ->foo : { (bar: { a: number; }[]): number; (bar: { a: string;}[]): string; } +>foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } >bar : { a: string; }[] >a : string diff --git a/tests/baselines/reference/functionOverloads44.types b/tests/baselines/reference/functionOverloads44.types index d607612f21..24f5fb6506 100644 --- a/tests/baselines/reference/functionOverloads44.types +++ b/tests/baselines/reference/functionOverloads44.types @@ -9,12 +9,12 @@ interface Cat extends Animal { cat } >cat : any function foo1(bar: { a:number }[]): Dog; ->foo1 : { (bar: { a: number;}[]): Dog; (bar: { a: string; }[]): Animal; } +>foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } >bar : { a: number; }[] >a : number function foo1(bar: { a:string }[]): Animal; ->foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string;}[]): Animal; } +>foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } >bar : { a: string; }[] >a : string @@ -28,12 +28,12 @@ function foo1([x]: { a:number | string }[]): Dog { } function foo2(bar: { a:number }[]): Cat; ->foo2 : { (bar: { a: number;}[]): Cat; (bar: { a: string; }[]): Dog | Cat; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } >bar : { a: number; }[] >a : number function foo2(bar: { a:string }[]): Cat | Dog; ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string;}[]): Cat | Dog; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } >bar : { a: string; }[] >a : string diff --git a/tests/baselines/reference/functionOverloads45.types b/tests/baselines/reference/functionOverloads45.types index 285c2cd573..89e6799c93 100644 --- a/tests/baselines/reference/functionOverloads45.types +++ b/tests/baselines/reference/functionOverloads45.types @@ -9,12 +9,12 @@ interface Cat extends Animal { cat } >cat : any function foo1(bar: { a:number }[]): Cat; ->foo1 : { (bar: { a: number;}[]): Cat; (bar: { a: string; }[]): Dog; } +>foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } >bar : { a: number; }[] >a : number function foo1(bar: { a:string }[]): Dog; ->foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string;}[]): Dog; } +>foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } >bar : { a: string; }[] >a : string @@ -28,12 +28,12 @@ function foo1([x]: { a:number | string }[]): Animal { } function foo2(bar: { a:number }[]): Cat; ->foo2 : { (bar: { a: number;}[]): Cat; (bar: { a: string; }[]): Dog; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } >bar : { a: number; }[] >a : number function foo2(bar: { a:string }[]): Dog; ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string;}[]): Dog; } +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } >bar : { a: string; }[] >a : string diff --git a/tests/baselines/reference/functionReturnTypeQuery.types b/tests/baselines/reference/functionReturnTypeQuery.types index f50c10aea0..258989fa88 100644 --- a/tests/baselines/reference/functionReturnTypeQuery.types +++ b/tests/baselines/reference/functionReturnTypeQuery.types @@ -10,7 +10,7 @@ declare function test1(foo: string, bar: typeof foo): typeof foo; >foo : string declare function test2({foo}: {foo: string}, bar: typeof foo): typeof foo; ->test2 : ({ foo }: { foo: string;}, bar: typeof foo) => typeof foo +>test2 : ({ foo }: { foo: string; }, bar: typeof foo) => typeof foo >foo : string >foo : string >bar : string diff --git a/tests/baselines/reference/generatedContextualTyping.types b/tests/baselines/reference/generatedContextualTyping.types index adfd9b9407..351d68246c 100644 --- a/tests/baselines/reference/generatedContextualTyping.types +++ b/tests/baselines/reference/generatedContextualTyping.types @@ -1062,7 +1062,7 @@ function x123(parm: () => Base[] = function named() { return [d1, d2] }) { } >d2 : Derived2 function x124(parm: { (): Base[]; } = () => [d1, d2]) { } ->x124 : (parm?: { (): Base[];}) => void +>x124 : (parm?: { (): Base[]; }) => void >parm : () => Base[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1070,7 +1070,7 @@ function x124(parm: { (): Base[]; } = () => [d1, d2]) { } >d2 : Derived2 function x125(parm: { (): Base[]; } = function() { return [d1, d2] }) { } ->x125 : (parm?: { (): Base[];}) => void +>x125 : (parm?: { (): Base[]; }) => void >parm : () => Base[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1078,7 +1078,7 @@ function x125(parm: { (): Base[]; } = function() { return [d1, d2] }) { } >d2 : Derived2 function x126(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } ->x126 : (parm?: { (): Base[];}) => void +>x126 : (parm?: { (): Base[]; }) => void >parm : () => Base[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] @@ -1109,7 +1109,7 @@ function x129(parm: { [n: number]: Base; } = [d1, d2]) { } >d2 : Derived2 function x130(parm: {n: Base[]; } = { n: [d1, d2] }) { } ->x130 : (parm?: { n: Base[];}) => void +>x130 : (parm?: { n: Base[]; }) => void >parm : { n: Base[]; } >n : Base[] >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } @@ -1161,21 +1161,21 @@ function x135(): () => Base[] { return function named() { return [d1, d2] }; } >d2 : Derived2 function x136(): { (): Base[]; } { return () => [d1, d2]; } ->x136 : () => { (): Base[];} +>x136 : () => { (): Base[]; } >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x137(): { (): Base[]; } { return function() { return [d1, d2] }; } ->x137 : () => { (): Base[];} +>x137 : () => { (): Base[]; } >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x138(): { (): Base[]; } { return function named() { return [d1, d2] }; } ->x138 : () => { (): Base[];} +>x138 : () => { (): Base[]; } >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1202,7 +1202,7 @@ function x141(): { [n: number]: Base; } { return [d1, d2]; } >d2 : Derived2 function x142(): {n: Base[]; } { return { n: [d1, d2] }; } ->x142 : () => { n: Base[];} +>x142 : () => { n: Base[]; } >n : Base[] >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] @@ -1264,7 +1264,7 @@ function x147(): () => Base[] { return function named() { return [d1, d2] }; ret >d2 : Derived2 function x148(): { (): Base[]; } { return () => [d1, d2]; return () => [d1, d2]; } ->x148 : () => { (): Base[];} +>x148 : () => { (): Base[]; } >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -1275,7 +1275,7 @@ function x148(): { (): Base[]; } { return () => [d1, d2]; return () => [d1, d2]; >d2 : Derived2 function x149(): { (): Base[]; } { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } ->x149 : () => { (): Base[];} +>x149 : () => { (): Base[]; } >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 @@ -1286,7 +1286,7 @@ function x149(): { (): Base[]; } { return function() { return [d1, d2] }; return >d2 : Derived2 function x150(): { (): Base[]; } { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } ->x150 : () => { (): Base[];} +>x150 : () => { (): Base[]; } >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1327,7 +1327,7 @@ function x153(): { [n: number]: Base; } { return [d1, d2]; return [d1, d2]; } >d2 : Derived2 function x154(): {n: Base[]; } { return { n: [d1, d2] }; return { n: [d1, d2] }; } ->x154 : () => { n: Base[];} +>x154 : () => { n: Base[]; } >n : Base[] >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] @@ -1395,7 +1395,7 @@ var x159: () => () => Base[] = () => { return function named() { return [d1, d2] >d2 : Derived2 var x160: () => { (): Base[]; } = () => { return () => [d1, d2]; }; ->x160 : () => { (): Base[];} +>x160 : () => { (): Base[]; } >() => { return () => [d1, d2]; } : () => () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1403,7 +1403,7 @@ var x160: () => { (): Base[]; } = () => { return () => [d1, d2]; }; >d2 : Derived2 var x161: () => { (): Base[]; } = () => { return function() { return [d1, d2] }; }; ->x161 : () => { (): Base[];} +>x161 : () => { (): Base[]; } >() => { return function() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1411,7 +1411,7 @@ var x161: () => { (): Base[]; } = () => { return function() { return [d1, d2] }; >d2 : Derived2 var x162: () => { (): Base[]; } = () => { return function named() { return [d1, d2] }; }; ->x162 : () => { (): Base[];} +>x162 : () => { (): Base[]; } >() => { return function named() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] @@ -1442,7 +1442,7 @@ var x165: () => { [n: number]: Base; } = () => { return [d1, d2]; }; >d2 : Derived2 var x166: () => {n: Base[]; } = () => { return { n: [d1, d2] }; }; ->x166 : () => { n: Base[];} +>x166 : () => { n: Base[]; } >n : Base[] >() => { return { n: [d1, d2] }; } : () => { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } @@ -1497,7 +1497,7 @@ var x171: () => () => Base[] = function() { return function named() { return [d1 >d2 : Derived2 var x172: () => { (): Base[]; } = function() { return () => [d1, d2]; }; ->x172 : () => { (): Base[];} +>x172 : () => { (): Base[]; } >function() { return () => [d1, d2]; } : () => () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1505,7 +1505,7 @@ var x172: () => { (): Base[]; } = function() { return () => [d1, d2]; }; >d2 : Derived2 var x173: () => { (): Base[]; } = function() { return function() { return [d1, d2] }; }; ->x173 : () => { (): Base[];} +>x173 : () => { (): Base[]; } >function() { return function() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -1513,7 +1513,7 @@ var x173: () => { (): Base[]; } = function() { return function() { return [d1, d >d2 : Derived2 var x174: () => { (): Base[]; } = function() { return function named() { return [d1, d2] }; }; ->x174 : () => { (): Base[];} +>x174 : () => { (): Base[]; } >function() { return function named() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] @@ -1544,7 +1544,7 @@ var x177: () => { [n: number]: Base; } = function() { return [d1, d2]; }; >d2 : Derived2 var x178: () => {n: Base[]; } = function() { return { n: [d1, d2] }; }; ->x178 : () => { n: Base[];} +>x178 : () => { n: Base[]; } >n : Base[] >function() { return { n: [d1, d2] }; } : () => { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } @@ -2090,7 +2090,7 @@ var x239: { n: () => Base[]; } = { n: function named() { return [d1, d2] } }; >d2 : Derived2 var x240: { n: { (): Base[]; }; } = { n: () => [d1, d2] }; ->x240 : { n: { (): Base[];}; } +>x240 : { n: { (): Base[]; }; } >n : () => Base[] >{ n: () => [d1, d2] } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] @@ -2100,7 +2100,7 @@ var x240: { n: { (): Base[]; }; } = { n: () => [d1, d2] }; >d2 : Derived2 var x241: { n: { (): Base[]; }; } = { n: function() { return [d1, d2] } }; ->x241 : { n: { (): Base[];}; } +>x241 : { n: { (): Base[]; }; } >n : () => Base[] >{ n: function() { return [d1, d2] } } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] @@ -2110,7 +2110,7 @@ var x241: { n: { (): Base[]; }; } = { n: function() { return [d1, d2] } }; >d2 : Derived2 var x242: { n: { (): Base[]; }; } = { n: function named() { return [d1, d2] } }; ->x242 : { n: { (): Base[];}; } +>x242 : { n: { (): Base[]; }; } >n : () => Base[] >{ n: function named() { return [d1, d2] } } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] @@ -2149,7 +2149,7 @@ var x245: { n: { [n: number]: Base; }; } = { n: [d1, d2] }; >d2 : Derived2 var x246: { n: {n: Base[]; } ; } = { n: { n: [d1, d2] } }; ->x246 : { n: { n: Base[];}; } +>x246 : { n: { n: Base[]; }; } >n : { n: Base[]; } >n : Base[] >{ n: { n: [d1, d2] } } : { n: { n: (Derived1 | Derived2)[]; }; } @@ -2947,30 +2947,30 @@ function x323(n: () => Base[]) { }; x323(function named() { return [d1, d2] }); >d2 : Derived2 function x324(n: { (): Base[]; }) { }; x324(() => [d1, d2]); ->x324 : (n: { (): Base[];}) => void +>x324 : (n: { (): Base[]; }) => void >n : () => Base[] >x324(() => [d1, d2]) : void ->x324 : (n: () => Base[]) => void +>x324 : (n: { (): Base[]; }) => void >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x325(n: { (): Base[]; }) { }; x325(function() { return [d1, d2] }); ->x325 : (n: { (): Base[];}) => void +>x325 : (n: { (): Base[]; }) => void >n : () => Base[] >x325(function() { return [d1, d2] }) : void ->x325 : (n: () => Base[]) => void +>x325 : (n: { (): Base[]; }) => void >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x326(n: { (): Base[]; }) { }; x326(function named() { return [d1, d2] }); ->x326 : (n: { (): Base[];}) => void +>x326 : (n: { (): Base[]; }) => void >n : () => Base[] >x326(function named() { return [d1, d2] }) : void ->x326 : (n: () => Base[]) => void +>x326 : (n: { (): Base[]; }) => void >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -2990,7 +2990,7 @@ function x328(n: Array) { }; x328([d1, d2]); >x328 : (n: Array) => void >n : Base[] >x328([d1, d2]) : void ->x328 : (n: Base[]) => void +>x328 : (n: Array) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -3006,7 +3006,7 @@ function x329(n: { [n: number]: Base; }) { }; x329([d1, d2]); >d2 : Derived2 function x330(n: {n: Base[]; } ) { }; x330({ n: [d1, d2] }); ->x330 : (n: { n: Base[];}) => void +>x330 : (n: { n: Base[]; }) => void >n : { n: Base[]; } >n : Base[] >x330({ n: [d1, d2] }) : void @@ -3079,36 +3079,36 @@ var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] }); >d2 : Derived2 var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]); ->x336 : (n: { (): Base[];}) => () => Base[] ->(n: { (): Base[]; }) => n : (n: { (): Base[];}) => () => Base[] +>x336 : (n: { (): Base[]; }) => () => Base[] +>(n: { (): Base[]; }) => n : (n: { (): Base[]; }) => () => Base[] >n : () => Base[] >n : () => Base[] >x336(() => [d1, d2]) : () => Base[] ->x336 : (n: () => Base[]) => () => Base[] +>x336 : (n: { (): Base[]; }) => () => Base[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] }); ->x337 : (n: { (): Base[];}) => () => Base[] ->(n: { (): Base[]; }) => n : (n: { (): Base[];}) => () => Base[] +>x337 : (n: { (): Base[]; }) => () => Base[] +>(n: { (): Base[]; }) => n : (n: { (): Base[]; }) => () => Base[] >n : () => Base[] >n : () => Base[] >x337(function() { return [d1, d2] }) : () => Base[] ->x337 : (n: () => Base[]) => () => Base[] +>x337 : (n: { (): Base[]; }) => () => Base[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] }); ->x338 : (n: { (): Base[];}) => () => Base[] ->(n: { (): Base[]; }) => n : (n: { (): Base[];}) => () => Base[] +>x338 : (n: { (): Base[]; }) => () => Base[] +>(n: { (): Base[]; }) => n : (n: { (): Base[]; }) => () => Base[] >n : () => Base[] >n : () => Base[] >x338(function named() { return [d1, d2] }) : () => Base[] ->x338 : (n: () => Base[]) => () => Base[] +>x338 : (n: { (): Base[]; }) => () => Base[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3132,7 +3132,7 @@ var x340 = (n: Array) => n; x340([d1, d2]); >n : Base[] >n : Base[] >x340([d1, d2]) : Base[] ->x340 : (n: Base[]) => Base[] +>x340 : (n: Array) => Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 @@ -3226,33 +3226,33 @@ var x347 = function(n: () => Base[]) { }; x347(function named() { return [d1, d2 >d2 : Derived2 var x348 = function(n: { (): Base[]; }) { }; x348(() => [d1, d2]); ->x348 : (n: { (): Base[];}) => void ->function(n: { (): Base[]; }) { } : (n: { (): Base[];}) => void +>x348 : (n: { (): Base[]; }) => void +>function(n: { (): Base[]; }) { } : (n: { (): Base[]; }) => void >n : () => Base[] >x348(() => [d1, d2]) : void ->x348 : (n: () => Base[]) => void +>x348 : (n: { (): Base[]; }) => void >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x349 = function(n: { (): Base[]; }) { }; x349(function() { return [d1, d2] }); ->x349 : (n: { (): Base[];}) => void ->function(n: { (): Base[]; }) { } : (n: { (): Base[];}) => void +>x349 : (n: { (): Base[]; }) => void +>function(n: { (): Base[]; }) { } : (n: { (): Base[]; }) => void >n : () => Base[] >x349(function() { return [d1, d2] }) : void ->x349 : (n: () => Base[]) => void +>x349 : (n: { (): Base[]; }) => void >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x350 = function(n: { (): Base[]; }) { }; x350(function named() { return [d1, d2] }); ->x350 : (n: { (): Base[];}) => void ->function(n: { (): Base[]; }) { } : (n: { (): Base[];}) => void +>x350 : (n: { (): Base[]; }) => void +>function(n: { (): Base[]; }) { } : (n: { (): Base[]; }) => void >n : () => Base[] >x350(function named() { return [d1, d2] }) : void ->x350 : (n: () => Base[]) => void +>x350 : (n: { (): Base[]; }) => void >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] @@ -3274,7 +3274,7 @@ var x352 = function(n: Array) { }; x352([d1, d2]); >function(n: Array) { } : (n: Array) => void >n : Base[] >x352([d1, d2]) : void ->x352 : (n: Base[]) => void +>x352 : (n: Array) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 diff --git a/tests/baselines/reference/generatorReturnContextualType.types b/tests/baselines/reference/generatorReturnContextualType.types index e243cd26cc..5f46e4e6ce 100644 --- a/tests/baselines/reference/generatorReturnContextualType.types +++ b/tests/baselines/reference/generatorReturnContextualType.types @@ -2,7 +2,7 @@ // #35995 function* f1(): Generator { ->f1 : () => Generator +>f1 : () => Generator >x : "x" return { x: 'x' }; @@ -12,7 +12,7 @@ function* f1(): Generator { } function* g1(): Iterator { ->g1 : () => Iterator +>g1 : () => Iterator >x : "x" return { x: 'x' }; @@ -22,7 +22,7 @@ function* g1(): Iterator { } async function* f2(): AsyncGenerator { ->f2 : () => AsyncGenerator +>f2 : () => AsyncGenerator >x : "x" return { x: 'x' }; @@ -32,7 +32,7 @@ async function* f2(): AsyncGenerator { } async function* g2(): AsyncIterator { ->g2 : () => AsyncIterator +>g2 : () => AsyncIterator >x : "x" return { x: 'x' }; @@ -42,7 +42,7 @@ async function* g2(): AsyncIterator { } async function* f3(): AsyncGenerator { ->f3 : () => AsyncGenerator +>f3 : () => AsyncGenerator >x : "x" return Promise.resolve({ x: 'x' }); @@ -56,7 +56,7 @@ async function* f3(): AsyncGenerator { } async function* g3(): AsyncIterator { ->g3 : () => AsyncIterator +>g3 : () => AsyncIterator >x : "x" return Promise.resolve({ x: 'x' }); @@ -70,7 +70,7 @@ async function* g3(): AsyncIterator { } async function* f4(): AsyncGenerator { ->f4 : () => AsyncGenerator +>f4 : () => AsyncGenerator >x : "x" const ret = { x: 'x' }; @@ -88,7 +88,7 @@ async function* f4(): AsyncGenerator { } async function* g4(): AsyncIterator { ->g4 : () => AsyncIterator +>g4 : () => AsyncIterator >x : "x" const ret = { x: 'x' }; diff --git a/tests/baselines/reference/generatorTypeCheck29.types b/tests/baselines/reference/generatorTypeCheck29.types index 71d781eaa4..483e2bbb36 100644 --- a/tests/baselines/reference/generatorTypeCheck29.types +++ b/tests/baselines/reference/generatorTypeCheck29.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck29.ts === function* g2(): Iterator number>> { ->g2 : () => Iterator number>, any, undefined> +>g2 : () => Iterator number>> >x : string yield function* () { diff --git a/tests/baselines/reference/generatorTypeCheck30.types b/tests/baselines/reference/generatorTypeCheck30.types index 12f06dc09d..4cb0b622cc 100644 --- a/tests/baselines/reference/generatorTypeCheck30.types +++ b/tests/baselines/reference/generatorTypeCheck30.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck30.ts === function* g2(): Iterator number>> { ->g2 : () => Iterator number>, any, undefined> +>g2 : () => Iterator number>> >x : string yield function* () { diff --git a/tests/baselines/reference/generatorTypeCheck31.types b/tests/baselines/reference/generatorTypeCheck31.types index c15eab96fe..1353f46297 100644 --- a/tests/baselines/reference/generatorTypeCheck31.types +++ b/tests/baselines/reference/generatorTypeCheck31.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck31.ts === function* g2(): Iterator<() => Iterable<(x: string) => number>> { ->g2 : () => Iterator<() => Iterable<(x: string) => number>, any, undefined> +>g2 : () => Iterator<() => Iterable<(x: string) => number>> >x : string yield function* () { diff --git a/tests/baselines/reference/generatorTypeCheck45.types b/tests/baselines/reference/generatorTypeCheck45.types index f8f88191e5..8dfd790726 100644 --- a/tests/baselines/reference/generatorTypeCheck45.types +++ b/tests/baselines/reference/generatorTypeCheck45.types @@ -1,15 +1,15 @@ === tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck45.ts === declare function foo(x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T): T; ->foo : (x: T, fun: () => Iterator<(x: T) => U, any, undefined>, fun2: (y: U) => T) => T +>foo : (x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T >x : T ->fun : () => Iterator<(x: T) => U, any, undefined> +>fun : () => Iterator<(x: T) => U> >x : T >fun2 : (y: U) => T >y : U foo("", function* () { yield x => x.length }, p => undefined); // T is fixed, should be string >foo("", function* () { yield x => x.length }, p => undefined) : string ->foo : (x: T, fun: () => Iterator<(x: T) => U, any, undefined>, fun2: (y: U) => T) => T +>foo : (x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T >"" : "" >function* () { yield x => x.length } : () => Generator<(x: string) => number, void, undefined> >yield x => x.length : undefined diff --git a/tests/baselines/reference/generatorTypeCheck62.types b/tests/baselines/reference/generatorTypeCheck62.types index 398d225676..c54bd1d303 100644 --- a/tests/baselines/reference/generatorTypeCheck62.types +++ b/tests/baselines/reference/generatorTypeCheck62.types @@ -51,7 +51,7 @@ export interface State extends StrategicState { export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { >Nothing1 : Strategy >strategy("Nothing", function*(state: State) { return state;}) : (a: State) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function*(state: State) { return state;} : (state: State) => Generator >state : State @@ -64,7 +64,7 @@ export const Nothing1: Strategy = strategy("Nothing", function*(state: St export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { >Nothing2 : Strategy >strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function*(state: State) { yield state;} : (state: State) => Generator >state : State @@ -78,7 +78,7 @@ export const Nothing2: Strategy = strategy("Nothing", function*(state: St export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy >strategy("Nothing", function* (state: State) { yield ; return state;}) : (a: any) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function* (state: State) { yield ; return state;} : (state: State) => Generator >state : State diff --git a/tests/baselines/reference/generatorTypeCheck63.types b/tests/baselines/reference/generatorTypeCheck63.types index 9f92860ed4..5353551908 100644 --- a/tests/baselines/reference/generatorTypeCheck63.types +++ b/tests/baselines/reference/generatorTypeCheck63.types @@ -51,7 +51,7 @@ export interface State extends StrategicState { export const Nothing: Strategy = strategy("Nothing", function* (state: State) { >Nothing : Strategy >strategy("Nothing", function* (state: State) { yield 1; return state;}) : (a: State) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function* (state: State) { yield 1; return state;} : (state: State) => Generator >state : State @@ -68,7 +68,7 @@ export const Nothing: Strategy = strategy("Nothing", function* (state: St export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { >Nothing1 : Strategy >strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function* (state: State) {} : (state: State) => Generator >state : State @@ -78,7 +78,7 @@ export const Nothing1: Strategy = strategy("Nothing", function* (state: S export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { >Nothing2 : Strategy >strategy("Nothing", function* (state: State) { return 1;}) : (a: State) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function* (state: State) { return 1;} : (state: State) => Generator >state : State @@ -91,7 +91,7 @@ export const Nothing2: Strategy = strategy("Nothing", function* (state: S export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy >strategy("Nothing", function* (state: State) { yield state; return 1;}) : (a: State) => IterableIterator ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator >"Nothing" : "Nothing" >function* (state: State) { yield state; return 1;} : (state: State) => Generator >state : State diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index ff35469d81..b86b7fe65a 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -28,9 +28,9 @@ declare var _: Underscore.Static; // Ideally, we would not have a generic signature here, because it should be instantiated with {} during inferential typing _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean ->_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +>_.all : (list: T[], iterator?: Iterator, context?: any) => boolean >_ : Underscore.Static ->all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +>all : (list: T[], iterator?: Iterator, context?: any) => boolean >[true, 1, null, 'yes'] : (string | number | true)[] >true : true >1 : 1 @@ -43,9 +43,9 @@ _.all([true, 1, null, 'yes'], _.identity); // Ok, because fixing makes us infer boolean for T _.all([true], _.identity); >_.all([true], _.identity) : boolean ->_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +>_.all : (list: T[], iterator?: Iterator, context?: any) => boolean >_ : Underscore.Static ->all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +>all : (list: T[], iterator?: Iterator, context?: any) => boolean >[true] : true[] >true : true >_.identity : (value: T) => T diff --git a/tests/baselines/reference/genericArrayPropertyAssignment.types b/tests/baselines/reference/genericArrayPropertyAssignment.types index cc52cd5d9b..9552d0ac2c 100644 --- a/tests/baselines/reference/genericArrayPropertyAssignment.types +++ b/tests/baselines/reference/genericArrayPropertyAssignment.types @@ -1,6 +1,6 @@ === tests/cases/compiler/genericArrayPropertyAssignment.ts === function isEmpty(list: {length:number;}) ->isEmpty : (list: { length: number;}) => boolean +>isEmpty : (list: { length: number; }) => boolean >list : { length: number; } >length : number { diff --git a/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.types b/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.types index 3a9414e316..3fc4090d5d 100644 --- a/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.types +++ b/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.types @@ -35,7 +35,7 @@ var a1: I = { x: new A() }; var a2: I = function (): { x: A } { >a2 : I >function (): { x: A } { var z = { x: new A() }; return z;} () : { x: A; } ->function (): { x: A } { var z = { x: new A() }; return z;} : () => { x: A;} +>function (): { x: A } { var z = { x: new A() }; return z;} : () => { x: A; } >x : A var z = { x: new A() }; return z; diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types index 7a0574028b..7343f8a703 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectLiteralArgs.ts === function foo(x: { bar: T; baz: T }) { ->foo : (x: { bar: T; baz: T;}) => { bar: T; baz: T; } +>foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } >x : { bar: T; baz: T; } >bar : T >baz : T diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types b/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types index 5d254d7929..633a0cd3fb 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/genericCallWithObjectLiteralArguments1.ts === function foo(n: { x: T; y: T }, m: T) { return m; } ->foo : (n: { x: T; y: T;}, m: T) => T +>foo : (n: { x: T; y: T; }, m: T) => T >n : { x: T; y: T; } >x : T >y : T diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs2.types b/tests/baselines/reference/genericCallWithObjectTypeArgs2.types index 368ff2c5fd..61d83aaa40 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs2.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs2.types @@ -22,7 +22,7 @@ class Derived2 extends Base { // returns {}[] function f(a: { x: T; y: U }) { ->f : (a: { x: T; y: U;}) => (T | U)[] +>f : (a: { x: T; y: U; }) => (T | U)[] >a : { x: T; y: U; } >x : T >y : U @@ -63,7 +63,7 @@ var r2 = f({ x: new Base(), y: new Derived2() }); // {}[] function f2(a: { x: T; y: U }) { ->f2 : (a: { x: T; y: U;}) => (x: T) => U +>f2 : (a: { x: T; y: U; }) => (x: T) => U >a : { x: T; y: U; } >x : T >y : U diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types index 0a2fa2179a..b26c37a58f 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types @@ -17,7 +17,7 @@ class Derived extends Base { } function f(x: { foo: T; bar: T }) { ->f : (x: { foo: T; bar: T;}) => T +>f : (x: { foo: T; bar: T; }) => T >x : { foo: T; bar: T; } >foo : T >bar : T diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types index 38646489b8..a670d20e03 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types @@ -23,7 +23,7 @@ class Derived2 extends Base { } function f(a: { x: T; y: T }) { ->f : (a: { x: T; y: T;}) => T +>f : (a: { x: T; y: T; }) => T >a : { x: T; y: T; } >x : T >y : T diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types index 9becb06eb8..4bab98ccc8 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types @@ -29,7 +29,7 @@ module NonGenericParameter { var r = foo4(a); >r : boolean >foo4(a) : boolean ->foo4 : (cb: { new (x: boolean): boolean; new (x: string): string; }) => boolean +>foo4 : (cb: typeof a) => boolean >a : { new (x: boolean): boolean; new (x: string): string; } var b: { new (x: T): T }; @@ -39,7 +39,7 @@ module NonGenericParameter { var r2 = foo4(b); >r2 : boolean >foo4(b) : boolean ->foo4 : (cb: { new (x: boolean): boolean; new (x: string): string; }) => boolean +>foo4 : (cb: typeof a) => boolean >b : new (x: T) => T } diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types index a975cb761d..80aa7c87bf 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types @@ -31,7 +31,7 @@ module NonGenericParameter { var r3 = foo4(b); // ok >r3 : { new (x: boolean): boolean; new (x: string): string; } >foo4(b) : { new (x: boolean): boolean; new (x: string): string; } ->foo4 : (cb: { new (x: boolean): boolean; new (x: string): string; }) => { new (x: boolean): boolean; new (x: string): string; } +>foo4 : (cb: typeof a) => { new (x: boolean): boolean; new (x: string): string; } >b : new (x: T) => U } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types index 6360ee8241..43571f1859 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types @@ -27,13 +27,13 @@ module NonGenericParameter { var r = foo4(a); >r : { (x: boolean): boolean; (x: string): string; } >foo4(a) : { (x: boolean): boolean; (x: string): string; } ->foo4 : (cb: { (x: boolean): boolean; (x: string): string; }) => { (x: boolean): boolean; (x: string): string; } +>foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } >a : { (x: boolean): boolean; (x: string): string; } var r2 = foo4((x: T) => x); >r2 : { (x: boolean): boolean; (x: string): string; } >foo4((x: T) => x) : { (x: boolean): boolean; (x: string): string; } ->foo4 : (cb: { (x: boolean): boolean; (x: string): string; }) => { (x: boolean): boolean; (x: string): string; } +>foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } >(x: T) => x : (x: T) => T >x : T >x : T @@ -41,7 +41,7 @@ module NonGenericParameter { var r4 = foo4(x => x); >r4 : { (x: boolean): boolean; (x: string): string; } >foo4(x => x) : { (x: boolean): boolean; (x: string): string; } ->foo4 : (cb: { (x: boolean): boolean; (x: string): string; }) => { (x: boolean): boolean; (x: string): string; } +>foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } >x => x : (x: any) => any >x : any >x : any diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types index 626a38bb7d..a90088c5c9 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types @@ -27,7 +27,7 @@ module NonGenericParameter { var r3 = foo4((x: T) => { var r: U; return r }); // ok >r3 : { (x: boolean): boolean; (x: string): string; } >foo4((x: T) => { var r: U; return r }) : { (x: boolean): boolean; (x: string): string; } ->foo4 : (cb: { (x: boolean): boolean; (x: string): string; }) => { (x: boolean): boolean; (x: string): string; } +>foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } >(x: T) => { var r: U; return r } : (x: T) => U >x : T >r : U diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index f8d6971304..10ae1466da 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -28,7 +28,7 @@ declare function list(a: T): T[]; >a : T declare function box(x: V): { value: V }; ->box : (x: V) => { value: V;} +>box : (x: V) => { value: V; } >x : V >value : V @@ -621,7 +621,7 @@ var z = identityM(x); // #3038 export function keyOf(value: { key: a; }): a { ->keyOf : (value: { key: a;}) => a +>keyOf : (value: { key: a; }) => a >value : { key: a; } >key : a @@ -975,17 +975,17 @@ declare function foo2(fn: T, a?: U, b?: U): [T, U]; foo2(() => {}); >foo2(() => {}) : [() => void, () => void] ->foo2 : (fn: T, a?: U | undefined, b?: U | undefined) => [T, U] +>foo2 : (fn: T, a?: U, b?: U) => [T, U] >() => {} : () => void foo2(identity); >foo2(identity) : [(value: T) => T, (value: T) => T] ->foo2 : (fn: T, a?: U | undefined, b?: U | undefined) => [T, U] +>foo2 : (fn: T, a?: U, b?: U) => [T, U] >identity : (value: T) => T foo2(identity, 1); >foo2(identity, 1) : [(value: T) => T, number] ->foo2 : (fn: T, a?: U | undefined, b?: U | undefined) => [T, U] +>foo2 : (fn: T, a?: U, b?: U) => [T, U] >identity : (value: T) => T >1 : 1 diff --git a/tests/baselines/reference/genericFunctionInference2.types b/tests/baselines/reference/genericFunctionInference2.types index 79fd0d14fd..a59db10b60 100644 --- a/tests/baselines/reference/genericFunctionInference2.types +++ b/tests/baselines/reference/genericFunctionInference2.types @@ -10,7 +10,7 @@ declare function combineReducers(reducers: { [K in keyof S]: Reducer }) >reducers : { [K in keyof S]: Reducer; } type MyState = { combined: { foo: number } }; ->MyState : { combined: { foo: number;}; } +>MyState : { combined: { foo: number; }; } >combined : { foo: number; } >foo : number diff --git a/tests/baselines/reference/genericFunctionParameters.types b/tests/baselines/reference/genericFunctionParameters.types index 6f59aea1fb..a60cc827a6 100644 --- a/tests/baselines/reference/genericFunctionParameters.types +++ b/tests/baselines/reference/genericFunctionParameters.types @@ -10,7 +10,7 @@ declare function f2(cb: (x: S) => T): T; >x : S declare function f3(cb: >(x: S) => T): T; ->f3 : (cb: (x: S) => T) => T +>f3 : (cb: >(x: S) => T) => T >cb : (x: S) => T >x : S @@ -33,7 +33,7 @@ let x2 = f2(x => x); // number let x3 = f3(x => x); // Array >x3 : any[] >f3(x => x) : any[] ->f3 : (cb: (x: S) => T) => T +>f3 : (cb: >(x: S) => T) => T >x => x : (x: S) => S >x : S >x : S diff --git a/tests/baselines/reference/genericFunctionsAndConditionalInference.types b/tests/baselines/reference/genericFunctionsAndConditionalInference.types index f545b8ea81..60155dba4d 100644 --- a/tests/baselines/reference/genericFunctionsAndConditionalInference.types +++ b/tests/baselines/reference/genericFunctionsAndConditionalInference.types @@ -8,8 +8,8 @@ declare function unboxify(obj: Boxified): T; >obj : Boxified function foo(obj: { u: { value: U }, v: { value: V } }) { ->foo : (obj: { u: { value: U; }; v: { value: V; };}) => { u: U; v: V; } ->obj : { u: { value: U;}; v: { value: V;}; } +>foo : (obj: { u: { value: U; }; v: { value: V; }; }) => { u: U; v: V; } +>obj : { u: { value: U; }; v: { value: V; }; } >u : { value: U; } >value : U >v : { value: V; } diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types index 96121d1746..729fa63fc1 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types @@ -14,30 +14,30 @@ var utils: Utils; utils.fold(); // no error >utils.fold() : unknown ->utils.fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T utils.fold(null); // no error >utils.fold(null) : unknown ->utils.fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >null : null utils.fold(null, null); // no error >utils.fold(null, null) : unknown ->utils.fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >null : null >null : null utils.fold(null, null, null); // no error >utils.fold(null, null, null) : unknown ->utils.fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c?: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T >null : null >null : null >null : null diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types index 54eac1b784..9b83c74562 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types @@ -14,30 +14,30 @@ var utils: Utils; utils.fold(); // error >utils.fold() : unknown ->utils.fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T utils.fold(null); // no error >utils.fold(null) : unknown ->utils.fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >null : null utils.fold(null, null); // no error >utils.fold(null, null) : unknown ->utils.fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >null : null >null : null utils.fold(null, null, null); // error: Unable to invoke type with no call signatures >utils.fold(null, null, null) : unknown ->utils.fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils ->fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T +>fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T >null : null >null : null >null : null diff --git a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types index 53c02fa292..4f3330b494 100644 --- a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types +++ b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types @@ -26,7 +26,7 @@ declare function f(x: Pair); >x : Pair declare function f2(x: { first: T; second: U; }); ->f2 : (x: { first: T; second: U;}) => any +>f2 : (x: { first: T; second: U; }) => any >x : { first: T; second: U; } >first : T >second : U diff --git a/tests/baselines/reference/genericInterfaceTypeCall.types b/tests/baselines/reference/genericInterfaceTypeCall.types index 533ccf1239..8095995c8d 100644 --- a/tests/baselines/reference/genericInterfaceTypeCall.types +++ b/tests/baselines/reference/genericInterfaceTypeCall.types @@ -14,7 +14,7 @@ interface bar { >arg : T fail2(func2: { (arg: T): void; }): void; ->fail2 : (func2: (arg: T) => void) => void +>fail2 : (func2: { (arg: T): void; }) => void >func2 : (arg: T) => void >arg : T } diff --git a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types index 40505e8bbf..6fd3bede7b 100644 --- a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types +++ b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types @@ -1,6 +1,6 @@ === tests/cases/compiler/genericObjectSpreadResultInSwitch.ts === type Params = { ->Params : { foo: string; } & ({ tag: 'a'; type: number; } | { tag: 'b'; type: string; }) +>Params : { foo: string; } & ({ tag: "a"; type: number; } | { tag: "b"; type: string; }) foo: string; >foo : string diff --git a/tests/baselines/reference/genericRestParameters1.types b/tests/baselines/reference/genericRestParameters1.types index cbc4e94107..5067bb41a7 100644 --- a/tests/baselines/reference/genericRestParameters1.types +++ b/tests/baselines/reference/genericRestParameters1.types @@ -579,7 +579,7 @@ const g21 = bind(g20, 42); // (y: string, z: boolean) => string[] >g21 : (y?: string | undefined, z?: boolean | undefined) => string[] >bind(g20, 42) : (y?: string | undefined, z?: boolean | undefined) => string[] >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V ->g20 : (x: number, y?: string | undefined, z?: boolean | undefined) => string[] +>g20 : (x: number, y?: string, z?: boolean) => string[] >42 : 42 const g22 = bind(g21, "hello"); // (z: boolean) => string[] @@ -598,20 +598,20 @@ const g23 = bind(g22, true); // () => string[] g20(42, "hello", true); >g20(42, "hello", true) : string[] ->g20 : (x: number, y?: string | undefined, z?: boolean | undefined) => string[] +>g20 : (x: number, y?: string, z?: boolean) => string[] >42 : 42 >"hello" : "hello" >true : true g20(42, "hello"); >g20(42, "hello") : string[] ->g20 : (x: number, y?: string | undefined, z?: boolean | undefined) => string[] +>g20 : (x: number, y?: string, z?: boolean) => string[] >42 : 42 >"hello" : "hello" g20(42); >g20(42) : string[] ->g20 : (x: number, y?: string | undefined, z?: boolean | undefined) => string[] +>g20 : (x: number, y?: string, z?: boolean) => string[] >42 : 42 g21("hello", true); @@ -704,7 +704,7 @@ type T09 = Parameters; >T09 : never type Record1 = { ->Record1 : { move: [number, 'left' | 'right']; jump: [number, 'up' | 'down']; stop: string; done: []; } +>Record1 : { move: [number, "left" | "right"]; jump: [number, "up" | "down"]; stop: string; done: []; } move: [number, 'left' | 'right']; >move : [number, "left" | "right"] diff --git a/tests/baselines/reference/genericRestParameters2.types b/tests/baselines/reference/genericRestParameters2.types index ed4555c936..6d427250e1 100644 --- a/tests/baselines/reference/genericRestParameters2.types +++ b/tests/baselines/reference/genericRestParameters2.types @@ -226,20 +226,20 @@ f11(42, "hello", true, ...t4, false, ...t3); f12(42, "hello"); >f12(42, "hello") : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >"hello" : "hello" f12(42, "hello", true); >f12(42, "hello", true) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >"hello" : "hello" >true : true f12(42, "hello", true, false); >f12(42, "hello", true, false) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >"hello" : "hello" >true : true @@ -247,7 +247,7 @@ f12(42, "hello", true, false); f12(t1[0], t1[1], t1[2], t1[3]); >f12(t1[0], t1[1], t1[2], t1[3]) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >t1[0] : number >t1 : [number, string, ...boolean[]] >0 : 0 @@ -263,20 +263,20 @@ f12(t1[0], t1[1], t1[2], t1[3]); f12(...t1); >f12(...t1) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >...t1 : string | number | boolean >t1 : [number, string, ...boolean[]] f12(42, ...t2); >f12(42, ...t2) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >...t2 : string | boolean >t2 : [string, ...boolean[]] f12(42, "hello", ...t3); >f12(42, "hello", ...t3) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >"hello" : "hello" >...t3 : boolean @@ -284,7 +284,7 @@ f12(42, "hello", ...t3); f12(42, "hello", true, ...t4); >f12(42, "hello", true, ...t4) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >"hello" : "hello" >true : true @@ -293,7 +293,7 @@ f12(42, "hello", true, ...t4); f12(42, "hello", true, ...t4, false, ...t3); >f12(42, "hello", true, ...t4, false, ...t3) : void ->f12 : (a: number, b: string, ...x: boolean[]) => void +>f12 : (a: number, b: string, ...x: [...boolean[]]) => void >42 : 42 >"hello" : "hello" >true : true diff --git a/tests/baselines/reference/genericRestParameters3.types b/tests/baselines/reference/genericRestParameters3.types index d582932ba8..988c0ce906 100644 --- a/tests/baselines/reference/genericRestParameters3.types +++ b/tests/baselines/reference/genericRestParameters3.types @@ -268,13 +268,13 @@ function ff3(s1: (...args: [x: string, ...rest: A | [number >rest : [number] | A s1 = s2; ->s1 = s2 : (x: string, ...rest: [number] | A) => void ->s1 : (...args: [string, number] | [x: string, ...rest: A]) => void ->s2 : (x: string, ...rest: [number] | A) => void +>s1 = s2 : (x: string, ...rest: A | [number]) => void +>s1 : (...args: [x: string, ...rest: A | [number]]) => void +>s2 : (x: string, ...rest: A | [number]) => void s2 = s1; ->s2 = s1 : (...args: [string, number] | [x: string, ...rest: A]) => void ->s2 : (x: string, ...rest: [number] | A) => void ->s1 : (...args: [string, number] | [x: string, ...rest: A]) => void +>s2 = s1 : (...args: [x: string, ...rest: A | [number]]) => void +>s2 : (x: string, ...rest: A | [number]) => void +>s1 : (...args: [x: string, ...rest: A | [number]]) => void } diff --git a/tests/baselines/reference/genericRestTypes.types b/tests/baselines/reference/genericRestTypes.types index 9341cfeefd..93e40def9e 100644 --- a/tests/baselines/reference/genericRestTypes.types +++ b/tests/baselines/reference/genericRestTypes.types @@ -76,7 +76,7 @@ function assignmentWithComplexRest3() { >x : string const fn2: (...args: {x: "a"} & {x: "b"}) => void = fn1; ->fn2 : (...args: { x: "a";} & { x: "b";}) => void +>fn2 : (...args: { x: "a"; } & { x: "b"; }) => void >args : never >x : "a" >x : "b" diff --git a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types index 7f402ce08e..343e2f0bde 100644 --- a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types +++ b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types @@ -87,7 +87,7 @@ interface IEnumerable { interface IDictionary { toEnumerable(): IEnumerable<{ key: TKey; value: TValue }>; ->toEnumerable : () => IEnumerable<{ key: TKey; value: TValue;}> +>toEnumerable : () => IEnumerable<{ key: TKey; value: TValue; }> >key : TKey >value : TValue } diff --git a/tests/baselines/reference/genericTypeArgumentInference1.types b/tests/baselines/reference/genericTypeArgumentInference1.types index dd3ab70ada..90cb5f126d 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -25,9 +25,9 @@ declare var _: Underscore.Static; var r = _.all([true, 1, null, 'yes'], _.identity); >r : string | number | boolean >_.all([true, 1, null, 'yes'], _.identity) : string | number | boolean ->_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Iterator, context?: any) => T >_ : Underscore.Static ->all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>all : (list: T[], iterator?: Iterator, context?: any) => T >[true, 1, null, 'yes'] : (string | number | true)[] >true : true >1 : 1 @@ -40,9 +40,9 @@ var r = _.all([true, 1, null, 'yes'], _.identity); var r2 = _.all([true], _.identity); >r2 : boolean >_.all([true], _.identity) : boolean ->_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Iterator, context?: any) => T >_ : Underscore.Static ->all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>all : (list: T[], iterator?: Iterator, context?: any) => T >[true] : true[] >true : true >_.identity : (value: T) => T @@ -52,9 +52,9 @@ var r2 = _.all([true], _.identity); var r3 = _.all([], _.identity); >r3 : any >_.all([], _.identity) : any ->_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Iterator, context?: any) => T >_ : Underscore.Static ->all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>all : (list: T[], iterator?: Iterator, context?: any) => T >[] : undefined[] >_.identity : (value: T) => T >_ : Underscore.Static @@ -63,9 +63,9 @@ var r3 = _.all([], _.identity); var r4 = _.all([true], _.identity); >r4 : any >_.all([true], _.identity) : any ->_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>_.all : (list: T[], iterator?: Iterator, context?: any) => T >_ : Underscore.Static ->all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +>all : (list: T[], iterator?: Iterator, context?: any) => T >[true] : any[] >true : any >true : true diff --git a/tests/baselines/reference/generics2.types b/tests/baselines/reference/generics2.types index 9f835081bc..af9ae4bc00 100644 --- a/tests/baselines/reference/generics2.types +++ b/tests/baselines/reference/generics2.types @@ -18,7 +18,7 @@ interface G { var v1: { ->v1 : { x: { a: string;}; y: { a: string; b: string; c: string;}; } +>v1 : { x: { a: string; }; y: { a: string; b: string; c: string; }; } x: { a: string; } >x : { a: string; } diff --git a/tests/baselines/reference/generics2NoError.types b/tests/baselines/reference/generics2NoError.types index af39f023e3..c4095436a5 100644 --- a/tests/baselines/reference/generics2NoError.types +++ b/tests/baselines/reference/generics2NoError.types @@ -18,7 +18,7 @@ interface G { var v1: { ->v1 : { x: { a: string;}; y: { a: string; b: string; c: string;}; } +>v1 : { x: { a: string; }; y: { a: string; b: string; c: string; }; } x: { a: string; } >x : { a: string; } diff --git a/tests/baselines/reference/getParameterNameAtPosition.types b/tests/baselines/reference/getParameterNameAtPosition.types index 8eb527b41e..9b2b9db57c 100644 --- a/tests/baselines/reference/getParameterNameAtPosition.types +++ b/tests/baselines/reference/getParameterNameAtPosition.types @@ -16,7 +16,7 @@ declare function cases(tester: Tester): void; >tester : Tester declare function fn(implementation?: (...args: Y) => any): Mock; ->fn : (implementation?: ((...args: Y) => any) | undefined) => Mock +>fn : (implementation?: (...args: Y) => any) => Mock >implementation : ((...args: Y) => any) | undefined >args : Y @@ -24,7 +24,7 @@ cases(fn(opts => { })); >cases(fn(opts => { })) : void >cases : (tester: Tester) => void >fn(opts => { }) : Mock<[opts: any]> ->fn : (implementation?: ((...args: Y) => any) | undefined) => Mock +>fn : (implementation?: (...args: Y) => any) => Mock >opts => { } : (opts: any) => void >opts : any diff --git a/tests/baselines/reference/giant.errors.txt b/tests/baselines/reference/giant.errors.txt index 3c81c601f5..eaa8fcf0be 100644 --- a/tests/baselines/reference/giant.errors.txt +++ b/tests/baselines/reference/giant.errors.txt @@ -1,253 +1,237 @@ -tests/cases/compiler/giant.ts(22,12): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(23,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(23,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(24,12): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(25,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(25,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(26,13): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(27,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(27,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(28,13): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(29,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(29,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(32,12): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(33,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(33,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(34,12): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(35,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(35,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(60,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(60,6): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(61,5): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(62,6): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(75,5): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(86,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(87,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(87,20): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(88,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(89,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(89,20): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(90,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(91,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(91,21): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(92,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(93,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(93,21): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(96,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(97,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(97,20): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(98,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(99,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(99,20): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(124,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(124,10): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(125,9): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(126,10): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(139,9): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(153,39): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(165,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(166,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(166,20): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(167,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(168,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(168,20): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(169,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(170,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(170,21): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(171,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(172,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(172,21): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(175,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(176,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(176,20): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(177,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(178,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(178,20): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(203,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(203,10): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(204,9): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(205,10): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(218,9): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(232,39): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(237,35): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(239,24): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(242,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(243,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(244,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(23,12): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(24,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(24,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(25,12): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(26,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(26,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(27,13): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(28,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(28,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(29,13): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(30,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(30,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(33,12): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(34,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(34,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(35,12): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(36,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(36,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(62,5): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(63,6): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(76,5): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(87,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(88,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(88,20): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(89,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(90,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(90,20): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(91,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(92,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(92,21): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(93,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(94,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(94,21): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(97,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(98,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(98,20): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(99,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(100,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(100,20): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(126,9): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(127,10): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(140,9): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(154,39): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(166,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(167,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(167,20): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(168,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(169,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(169,20): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(170,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(171,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(171,21): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(172,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(173,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(173,21): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(176,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(177,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(177,20): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(178,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(179,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(179,20): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(205,9): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(206,10): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(219,9): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(233,39): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(238,35): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(240,24): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(243,21): error TS1183: An implementation cannot be declared in ambient contexts. tests/cases/compiler/giant.ts(244,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(245,20): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(246,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(246,31): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(247,20): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(248,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(248,23): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(249,21): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(250,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(250,32): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(251,21): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(253,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(254,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(254,31): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(255,20): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(256,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(256,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(257,20): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(261,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(261,25): error TS1036: Statements are not allowed in ambient contexts. -tests/cases/compiler/giant.ts(266,30): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(280,12): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(281,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(281,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(282,12): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(283,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(283,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(284,13): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(285,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(285,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(286,13): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(287,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(287,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(290,12): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(291,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(291,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(292,12): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(293,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(293,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(318,6): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(319,5): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(320,6): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(333,5): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(344,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(345,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(345,20): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(346,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(347,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(347,20): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(348,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(349,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(349,21): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(350,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(351,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(351,21): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(354,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(355,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(355,20): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(356,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(357,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(357,20): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(382,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(382,10): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(383,9): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(384,10): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(397,9): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(411,39): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(423,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(424,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(424,20): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(425,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(426,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(426,20): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(427,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(428,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(428,21): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(429,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(430,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(430,21): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(433,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(434,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(434,20): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(435,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(436,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. -tests/cases/compiler/giant.ts(436,20): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(461,10): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(462,9): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(463,10): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(476,9): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(490,39): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(495,35): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(497,24): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(500,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(501,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(502,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(245,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(245,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(246,20): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(247,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(247,31): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(248,20): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(249,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(249,23): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(250,21): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(251,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(251,32): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(252,21): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(254,21): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(255,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(255,31): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(256,20): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(257,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(257,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(258,20): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(262,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(262,25): error TS1036: Statements are not allowed in ambient contexts. +tests/cases/compiler/giant.ts(267,30): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(281,12): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(282,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(282,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(283,12): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(284,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(284,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(285,13): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(286,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(286,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(287,13): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(288,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(288,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(291,12): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(292,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(292,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(293,12): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(294,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(294,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(320,5): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(321,6): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(334,5): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(345,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(346,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(346,20): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(347,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(348,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(348,20): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(349,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(350,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(350,21): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(351,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(352,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(352,21): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(355,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(356,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(356,20): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(357,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(358,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(358,20): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(384,9): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(385,10): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(398,9): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(412,39): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(424,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(425,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(425,20): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(426,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(427,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(427,20): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(428,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(429,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(429,21): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(430,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(431,21): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(431,21): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(434,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(435,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(435,20): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(436,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(437,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/compiler/giant.ts(437,20): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(463,9): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(464,10): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(477,9): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(491,39): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(496,35): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(498,24): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(501,21): error TS1183: An implementation cannot be declared in ambient contexts. tests/cases/compiler/giant.ts(502,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(503,20): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(504,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(504,31): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(505,20): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(506,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(506,23): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(507,21): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(508,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(508,32): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(509,21): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(511,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(512,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(512,31): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(513,20): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(514,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(514,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(515,20): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(519,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(519,25): error TS1036: Statements are not allowed in ambient contexts. -tests/cases/compiler/giant.ts(524,30): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(531,31): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(533,20): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(536,17): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(537,18): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(538,12): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(503,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(503,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(504,20): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(505,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(505,31): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(506,20): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(507,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(507,23): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(508,21): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(509,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(509,32): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(510,21): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(512,21): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(513,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(513,31): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(514,20): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(515,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(515,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(516,20): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(520,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(520,25): error TS1036: Statements are not allowed in ambient contexts. +tests/cases/compiler/giant.ts(525,30): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(532,31): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(534,20): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(537,17): error TS1183: An implementation cannot be declared in ambient contexts. tests/cases/compiler/giant.ts(538,18): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(539,16): error TS2300: Duplicate identifier 'pgF'. -tests/cases/compiler/giant.ts(540,12): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(540,27): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(541,16): error TS2300: Duplicate identifier 'psF'. -tests/cases/compiler/giant.ts(542,13): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(542,19): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(543,17): error TS2300: Duplicate identifier 'rgF'. -tests/cases/compiler/giant.ts(544,13): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(544,28): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(545,17): error TS2300: Duplicate identifier 'rsF'. -tests/cases/compiler/giant.ts(547,17): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(548,12): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(548,27): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(549,16): error TS2300: Duplicate identifier 'tsF'. -tests/cases/compiler/giant.ts(550,12): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(550,18): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(551,16): error TS2300: Duplicate identifier 'tgF'. -tests/cases/compiler/giant.ts(555,18): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(555,21): error TS1036: Statements are not allowed in ambient contexts. -tests/cases/compiler/giant.ts(557,24): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(560,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(562,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(586,10): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(587,9): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(588,10): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(601,9): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(605,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(605,25): error TS1036: Statements are not allowed in ambient contexts. -tests/cases/compiler/giant.ts(610,30): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(614,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +tests/cases/compiler/giant.ts(539,12): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(539,18): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(540,16): error TS2300: Duplicate identifier 'pgF'. +tests/cases/compiler/giant.ts(541,12): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(541,27): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(542,16): error TS2300: Duplicate identifier 'psF'. +tests/cases/compiler/giant.ts(543,13): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(543,19): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(544,17): error TS2300: Duplicate identifier 'rgF'. +tests/cases/compiler/giant.ts(545,13): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(545,28): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(546,17): error TS2300: Duplicate identifier 'rsF'. +tests/cases/compiler/giant.ts(548,17): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(549,12): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(549,27): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(550,16): error TS2300: Duplicate identifier 'tsF'. +tests/cases/compiler/giant.ts(551,12): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(551,18): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(552,16): error TS2300: Duplicate identifier 'tgF'. +tests/cases/compiler/giant.ts(556,18): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(556,21): error TS1036: Statements are not allowed in ambient contexts. +tests/cases/compiler/giant.ts(558,24): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(561,21): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(563,21): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(588,9): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(589,10): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(602,9): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(606,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(606,25): error TS1036: Statements are not allowed in ambient contexts. +tests/cases/compiler/giant.ts(611,30): error TS1183: An implementation cannot be declared in ambient contexts. tests/cases/compiler/giant.ts(615,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. -tests/cases/compiler/giant.ts(615,39): error TS1183: An implementation cannot be declared in ambient contexts. tests/cases/compiler/giant.ts(616,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +tests/cases/compiler/giant.ts(616,39): error TS1183: An implementation cannot be declared in ambient contexts. tests/cases/compiler/giant.ts(617,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. -tests/cases/compiler/giant.ts(620,26): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(622,24): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(625,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(627,21): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -tests/cases/compiler/giant.ts(652,10): error TS2304: Cannot find name 'p'. -tests/cases/compiler/giant.ts(653,9): error TS1021: An index signature must have a type annotation. -tests/cases/compiler/giant.ts(654,10): error TS1096: An index signature must have exactly one parameter. -tests/cases/compiler/giant.ts(667,9): error TS2386: Overload signatures must all be optional or required. -tests/cases/compiler/giant.ts(671,22): error TS1183: An implementation cannot be declared in ambient contexts. -tests/cases/compiler/giant.ts(671,25): error TS1036: Statements are not allowed in ambient contexts. -tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(618,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +tests/cases/compiler/giant.ts(621,26): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(623,24): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(626,21): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(628,21): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(654,9): error TS1021: An index signature must have a type annotation. +tests/cases/compiler/giant.ts(655,10): error TS1096: An index signature must have exactly one parameter. +tests/cases/compiler/giant.ts(668,9): error TS2386: Overload signatures must all be optional or required. +tests/cases/compiler/giant.ts(672,22): error TS1183: An implementation cannot be declared in ambient contexts. +tests/cases/compiler/giant.ts(672,25): error TS1036: Statements are not allowed in ambient contexts. +tests/cases/compiler/giant.ts(676,30): error TS1183: An implementation cannot be declared in ambient contexts. -==== tests/cases/compiler/giant.ts (247 errors) ==== +==== tests/cases/compiler/giant.ts (231 errors) ==== /* Prefixes p -> public @@ -261,6 +245,7 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be MAX DEPTH 3 LEVELS */ + const p = "propName"; var V; function F() { }; class C { @@ -344,10 +329,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -454,10 +435,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -581,10 +558,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -796,10 +769,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -906,10 +875,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1033,10 +998,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1278,10 +1239,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1378,10 +1335,6 @@ tests/cases/compiler/giant.ts(675,30): error TS1183: An implementation cannot be //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. diff --git a/tests/baselines/reference/giant.js b/tests/baselines/reference/giant.js index e3d3bfd0c8..811d3571bb 100644 --- a/tests/baselines/reference/giant.js +++ b/tests/baselines/reference/giant.js @@ -12,6 +12,7 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; var V; function F() { }; class C { @@ -698,6 +699,7 @@ define(["require", "exports"], function (require, exports) { MAX DEPTH 3 LEVELS */ + var p = "propName"; var V; function F() { } ; @@ -1112,6 +1114,7 @@ define(["require", "exports"], function (require, exports) { //// [giant.d.ts] +declare const p = "propName"; export declare var eV: any; export declare function eF(): void; export declare class eC { @@ -1151,6 +1154,7 @@ export interface eI { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1203,6 +1207,7 @@ export declare module eM { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1318,6 +1323,7 @@ export declare module eaM { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1377,6 +1383,7 @@ export declare module eaM { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1404,3 +1411,4 @@ export declare module eaM { module eM { } } } +export {}; diff --git a/tests/baselines/reference/giant.symbols b/tests/baselines/reference/giant.symbols index 73341d014d..d870984147 100644 --- a/tests/baselines/reference/giant.symbols +++ b/tests/baselines/reference/giant.symbols @@ -12,101 +12,104 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; +>p : Symbol(p, Decl(giant.ts, 13, 5)) + var V; ->V : Symbol(V, Decl(giant.ts, 13, 3)) +>V : Symbol(V, Decl(giant.ts, 14, 3)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 13, 6)) +>F : Symbol(F, Decl(giant.ts, 14, 6)) class C { ->C : Symbol(C, Decl(giant.ts, 14, 17)) +>C : Symbol(C, Decl(giant.ts, 15, 17)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 16, 22)) +>pV : Symbol(C.pV, Decl(giant.ts, 17, 22)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 17, 14)) +>rV : Symbol(C.rV, Decl(giant.ts, 18, 14)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 18, 15)) +>pF : Symbol(C.pF, Decl(giant.ts, 19, 15)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 19, 19)) +>rF : Symbol(C.rF, Decl(giant.ts, 20, 19)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 20, 20)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 21, 20)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 21, 20)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 22, 20)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 22, 20)) ->param : Symbol(param, Decl(giant.ts, 23, 15)) +>psF : Symbol(C.psF, Decl(giant.ts, 23, 20)) +>param : Symbol(param, Decl(giant.ts, 24, 15)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 23, 29)) ->param : Symbol(param, Decl(giant.ts, 24, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 24, 29)) +>param : Symbol(param, Decl(giant.ts, 25, 19)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 24, 29)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 25, 29)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 25, 21)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 26, 21)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 26, 21)) ->param : Symbol(param, Decl(giant.ts, 27, 16)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 27, 21)) +>param : Symbol(param, Decl(giant.ts, 28, 16)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 27, 30)) ->param : Symbol(param, Decl(giant.ts, 28, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 28, 30)) +>param : Symbol(param, Decl(giant.ts, 29, 20)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 28, 30)) +>tV : Symbol(C.tV, Decl(giant.ts, 29, 30)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 29, 14)) +>tF : Symbol(C.tF, Decl(giant.ts, 30, 14)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 30, 19)) ->param : Symbol(param, Decl(giant.ts, 31, 15)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 31, 19)) +>param : Symbol(param, Decl(giant.ts, 32, 15)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 31, 29)) ->param : Symbol(param, Decl(giant.ts, 32, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 32, 29)) +>param : Symbol(param, Decl(giant.ts, 33, 19)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 32, 29)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 33, 29)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 33, 20)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 34, 20)) } interface I { ->I : Symbol(I, Decl(giant.ts, 35, 1)) +>I : Symbol(I, Decl(giant.ts, 36, 1)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 40, 5)) +>p : Symbol(p, Decl(giant.ts, 41, 5)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 41, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 42, 5)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 42, 5)) +>p2 : Symbol(p2, Decl(giant.ts, 43, 5)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 43, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 44, 5)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 44, 5)) ->p5 : Symbol(p5, Decl(giant.ts, 44, 16)) +>p4 : Symbol(p4, Decl(giant.ts, 45, 5)) +>p5 : Symbol(p5, Decl(giant.ts, 45, 16)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 45, 5)) ->p7 : Symbol(p7, Decl(giant.ts, 45, 16)) +>p6 : Symbol(p6, Decl(giant.ts, 46, 5)) +>p7 : Symbol(p7, Decl(giant.ts, 46, 16)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -115,165 +118,166 @@ interface I { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 52, 9)) +>p : Symbol(p, Decl(giant.ts, 53, 9)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 53, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 54, 9)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 54, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 55, 9)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 55, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 55, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 56, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 56, 20)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 56, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 56, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 57, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 57, 20)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 56, 35)) +>[p] : Symbol(I[p], Decl(giant.ts, 57, 35)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 60, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 61, 5)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 61, 5)) ->p3 : Symbol(p3, Decl(giant.ts, 61, 16)) +>p2 : Symbol(p2, Decl(giant.ts, 62, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 62, 16)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 61, 29)) +>p : Symbol(I.p, Decl(giant.ts, 62, 29)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 64, 6)) +>p1 : Symbol(I.p1, Decl(giant.ts, 65, 6)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 65, 8)) +>p2 : Symbol(I.p2, Decl(giant.ts, 66, 8)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 66, 16)) +>p3 : Symbol(I.p3, Decl(giant.ts, 67, 16)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 69, 9)) +>p4 : Symbol(I.p4, Decl(giant.ts, 70, 9)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 70, 11)) +>p5 : Symbol(I.p5, Decl(giant.ts, 71, 11)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 71, 17)) ->pa1 : Symbol(pa1, Decl(giant.ts, 72, 7)) +>p6 : Symbol(I.p6, Decl(giant.ts, 72, 17)) +>pa1 : Symbol(pa1, Decl(giant.ts, 73, 7)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 72, 18), Decl(giant.ts, 73, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 73, 7)) ->pa2 : Symbol(pa2, Decl(giant.ts, 73, 11)) +>p7 : Symbol(I.p7, Decl(giant.ts, 73, 18), Decl(giant.ts, 74, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 74, 7)) +>pa2 : Symbol(pa2, Decl(giant.ts, 74, 11)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 72, 18), Decl(giant.ts, 73, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 74, 9)) ->pa2 : Symbol(pa2, Decl(giant.ts, 74, 13)) +>p7 : Symbol(I.p7, Decl(giant.ts, 73, 18), Decl(giant.ts, 74, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 75, 9)) +>pa2 : Symbol(pa2, Decl(giant.ts, 75, 13)) } module M { ->M : Symbol(M, Decl(giant.ts, 75, 1)) +>M : Symbol(M, Decl(giant.ts, 76, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 77, 7)) +>V : Symbol(V, Decl(giant.ts, 78, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 77, 10)) +>F : Symbol(F, Decl(giant.ts, 78, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 78, 21)) +>C : Symbol(C, Decl(giant.ts, 79, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 80, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 81, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 81, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 82, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 82, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 83, 19)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 83, 23)) +>rF : Symbol(C.rF, Decl(giant.ts, 84, 23)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 84, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 85, 24)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 85, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 86, 24)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 86, 24)) ->param : Symbol(param, Decl(giant.ts, 87, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 87, 24)) +>param : Symbol(param, Decl(giant.ts, 88, 19)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 87, 33)) ->param : Symbol(param, Decl(giant.ts, 88, 23)) +>psF : Symbol(C.psF, Decl(giant.ts, 88, 33)) +>param : Symbol(param, Decl(giant.ts, 89, 23)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 88, 33)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 89, 33)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 89, 25)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 90, 25)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 90, 25)) ->param : Symbol(param, Decl(giant.ts, 91, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 91, 25)) +>param : Symbol(param, Decl(giant.ts, 92, 20)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 91, 34)) ->param : Symbol(param, Decl(giant.ts, 92, 24)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 92, 34)) +>param : Symbol(param, Decl(giant.ts, 93, 24)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 92, 34)) +>tV : Symbol(C.tV, Decl(giant.ts, 93, 34)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 93, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 94, 18)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 94, 23)) ->param : Symbol(param, Decl(giant.ts, 95, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 95, 23)) +>param : Symbol(param, Decl(giant.ts, 96, 19)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 95, 33)) ->param : Symbol(param, Decl(giant.ts, 96, 23)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 96, 33)) +>param : Symbol(param, Decl(giant.ts, 97, 23)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 96, 33)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 97, 33)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 97, 24)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 98, 24)) } interface I { ->I : Symbol(I, Decl(giant.ts, 99, 5)) +>I : Symbol(I, Decl(giant.ts, 100, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 104, 9)) +>p : Symbol(p, Decl(giant.ts, 105, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 105, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 106, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 106, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 107, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 107, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 108, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 108, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 108, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 109, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 109, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 109, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 109, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 110, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 110, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -282,207 +286,208 @@ module M { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 116, 13)) +>p : Symbol(p, Decl(giant.ts, 117, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 117, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 118, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 118, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 119, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 119, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 119, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 120, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 120, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 120, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 120, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 121, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 121, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 120, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 121, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 124, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 125, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 125, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 125, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 126, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 126, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 125, 33)) +>p : Symbol(I.p, Decl(giant.ts, 126, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 128, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 129, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 129, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 130, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 130, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 131, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 133, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 134, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 134, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 135, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 135, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 136, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 136, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 137, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 136, 22), Decl(giant.ts, 137, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 137, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 137, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 137, 22), Decl(giant.ts, 138, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 138, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 138, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 136, 22), Decl(giant.ts, 137, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 138, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 138, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 137, 22), Decl(giant.ts, 138, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 139, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 139, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 139, 5)) +>M : Symbol(M, Decl(giant.ts, 140, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 141, 11)) +>V : Symbol(V, Decl(giant.ts, 142, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 141, 14)) +>F : Symbol(F, Decl(giant.ts, 142, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 142, 25)) +>C : Symbol(C, Decl(giant.ts, 143, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 143, 20)) +>I : Symbol(I, Decl(giant.ts, 144, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 144, 24)) +>M : Symbol(M, Decl(giant.ts, 145, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 146, 18)) +>eV : Symbol(eV, Decl(giant.ts, 147, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 146, 22)) +>eF : Symbol(eF, Decl(giant.ts, 147, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 147, 33)) +>eC : Symbol(eC, Decl(giant.ts, 148, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 148, 28)) +>eI : Symbol(eI, Decl(giant.ts, 149, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 149, 32)) +>eM : Symbol(eM, Decl(giant.ts, 150, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 151, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 152, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 151, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 152, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 152, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 153, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 153, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 154, 37)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 156, 14)) +>eV : Symbol(eV, Decl(giant.ts, 157, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 156, 18)) +>eF : Symbol(eF, Decl(giant.ts, 157, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 157, 29)) +>eC : Symbol(eC, Decl(giant.ts, 158, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 159, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 160, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 160, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 161, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 161, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 162, 19)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 162, 23)) +>rF : Symbol(eC.rF, Decl(giant.ts, 163, 23)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 163, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 164, 24)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 164, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 165, 24)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 165, 24)) ->param : Symbol(param, Decl(giant.ts, 166, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 166, 24)) +>param : Symbol(param, Decl(giant.ts, 167, 19)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 166, 33)) ->param : Symbol(param, Decl(giant.ts, 167, 23)) +>psF : Symbol(eC.psF, Decl(giant.ts, 167, 33)) +>param : Symbol(param, Decl(giant.ts, 168, 23)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 167, 33)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 168, 33)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 168, 25)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 169, 25)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 169, 25)) ->param : Symbol(param, Decl(giant.ts, 170, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 170, 25)) +>param : Symbol(param, Decl(giant.ts, 171, 20)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 170, 34)) ->param : Symbol(param, Decl(giant.ts, 171, 24)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 171, 34)) +>param : Symbol(param, Decl(giant.ts, 172, 24)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 171, 34)) +>tV : Symbol(eC.tV, Decl(giant.ts, 172, 34)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 172, 18)) +>tF : Symbol(eC.tF, Decl(giant.ts, 173, 18)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 173, 23)) ->param : Symbol(param, Decl(giant.ts, 174, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 174, 23)) +>param : Symbol(param, Decl(giant.ts, 175, 19)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 174, 33)) ->param : Symbol(param, Decl(giant.ts, 175, 23)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 175, 33)) +>param : Symbol(param, Decl(giant.ts, 176, 23)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 175, 33)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 176, 33)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 176, 24)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 177, 24)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 178, 5)) +>eI : Symbol(eI, Decl(giant.ts, 179, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 183, 9)) +>p : Symbol(p, Decl(giant.ts, 184, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 184, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 185, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 185, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 186, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 186, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 187, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 187, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 187, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 188, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 188, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 188, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 188, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 189, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 189, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -491,311 +496,312 @@ module M { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 195, 13)) +>p : Symbol(p, Decl(giant.ts, 196, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 196, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 197, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 197, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 198, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 198, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 198, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 199, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 199, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 199, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 199, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 200, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 200, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 199, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 200, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 203, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 204, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 204, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 204, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 205, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 205, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 204, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 205, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 207, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 208, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 208, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 209, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 209, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 210, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 212, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 213, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 213, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 214, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 214, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 215, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 215, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 216, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 215, 22), Decl(giant.ts, 216, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 216, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 216, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 216, 22), Decl(giant.ts, 217, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 217, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 217, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 215, 22), Decl(giant.ts, 216, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 217, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 217, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 216, 22), Decl(giant.ts, 217, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 218, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 218, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 218, 5)) +>eM : Symbol(eM, Decl(giant.ts, 219, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 220, 11)) +>V : Symbol(V, Decl(giant.ts, 221, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 220, 14)) +>F : Symbol(F, Decl(giant.ts, 221, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 221, 25)) +>C : Symbol(C, Decl(giant.ts, 222, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 222, 20)) +>I : Symbol(I, Decl(giant.ts, 223, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 223, 24)) +>M : Symbol(M, Decl(giant.ts, 224, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 225, 18)) +>eV : Symbol(eV, Decl(giant.ts, 226, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 225, 22)) +>eF : Symbol(eF, Decl(giant.ts, 226, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 226, 33)) +>eC : Symbol(eC, Decl(giant.ts, 227, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 227, 28)) +>eI : Symbol(eI, Decl(giant.ts, 228, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 228, 32)) +>eM : Symbol(eM, Decl(giant.ts, 229, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 230, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 231, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 230, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 231, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 231, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 232, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 232, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 233, 37)) } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 235, 22)) +>eaV : Symbol(eaV, Decl(giant.ts, 236, 22)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 235, 27)) +>eaF : Symbol(eaF, Decl(giant.ts, 236, 27)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 236, 38)) +>eaC : Symbol(eaC, Decl(giant.ts, 237, 38)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 238, 26)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 239, 26)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 239, 18)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 240, 18)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 240, 19)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 241, 19)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 241, 23)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 242, 23)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 242, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 243, 24)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 243, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 244, 24)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 244, 24)) ->param : Symbol(param, Decl(giant.ts, 245, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 245, 24)) +>param : Symbol(param, Decl(giant.ts, 246, 19)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 245, 33)) ->param : Symbol(param, Decl(giant.ts, 246, 23)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 246, 33)) +>param : Symbol(param, Decl(giant.ts, 247, 23)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 246, 33)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 247, 33)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 247, 25)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 248, 25)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 248, 25)) ->param : Symbol(param, Decl(giant.ts, 249, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 249, 25)) +>param : Symbol(param, Decl(giant.ts, 250, 20)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 249, 34)) ->param : Symbol(param, Decl(giant.ts, 250, 24)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 250, 34)) +>param : Symbol(param, Decl(giant.ts, 251, 24)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 250, 34)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 251, 34)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 251, 18)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 252, 18)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 252, 23)) ->param : Symbol(param, Decl(giant.ts, 253, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 253, 23)) +>param : Symbol(param, Decl(giant.ts, 254, 19)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 253, 33)) ->param : Symbol(param, Decl(giant.ts, 254, 23)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 254, 33)) +>param : Symbol(param, Decl(giant.ts, 255, 23)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 254, 33)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 255, 33)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 255, 24)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 256, 24)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 257, 5)) +>eaM : Symbol(eaM, Decl(giant.ts, 258, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 259, 11)) +>V : Symbol(V, Decl(giant.ts, 260, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 259, 14)) +>F : Symbol(F, Decl(giant.ts, 260, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 260, 25)) +>C : Symbol(C, Decl(giant.ts, 261, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 261, 19)) +>I : Symbol(I, Decl(giant.ts, 262, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 262, 23)) +>M : Symbol(M, Decl(giant.ts, 263, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 264, 18)) +>eV : Symbol(eV, Decl(giant.ts, 265, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 264, 22)) +>eF : Symbol(eF, Decl(giant.ts, 265, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 265, 33)) +>eC : Symbol(eC, Decl(giant.ts, 266, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 266, 27)) +>eI : Symbol(eI, Decl(giant.ts, 267, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 267, 31)) +>eM : Symbol(eM, Decl(giant.ts, 268, 31)) } } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 271, 10)) +>eV : Symbol(eV, Decl(giant.ts, 272, 10)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 271, 14)) +>eF : Symbol(eF, Decl(giant.ts, 272, 14)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 272, 25)) +>eC : Symbol(eC, Decl(giant.ts, 273, 25)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 274, 22)) +>pV : Symbol(eC.pV, Decl(giant.ts, 275, 22)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 275, 14)) +>rV : Symbol(eC.rV, Decl(giant.ts, 276, 14)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 276, 15)) +>pF : Symbol(eC.pF, Decl(giant.ts, 277, 15)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 277, 19)) +>rF : Symbol(eC.rF, Decl(giant.ts, 278, 19)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 278, 20)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 279, 20)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 279, 20)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 280, 20)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 280, 20)) ->param : Symbol(param, Decl(giant.ts, 281, 15)) +>psF : Symbol(eC.psF, Decl(giant.ts, 281, 20)) +>param : Symbol(param, Decl(giant.ts, 282, 15)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 281, 29)) ->param : Symbol(param, Decl(giant.ts, 282, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 282, 29)) +>param : Symbol(param, Decl(giant.ts, 283, 19)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 282, 29)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 283, 29)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 283, 21)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 284, 21)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 284, 21)) ->param : Symbol(param, Decl(giant.ts, 285, 16)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 285, 21)) +>param : Symbol(param, Decl(giant.ts, 286, 16)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 285, 30)) ->param : Symbol(param, Decl(giant.ts, 286, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 286, 30)) +>param : Symbol(param, Decl(giant.ts, 287, 20)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 286, 30)) +>tV : Symbol(eC.tV, Decl(giant.ts, 287, 30)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 287, 14)) +>tF : Symbol(eC.tF, Decl(giant.ts, 288, 14)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 288, 19)) ->param : Symbol(param, Decl(giant.ts, 289, 15)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 289, 19)) +>param : Symbol(param, Decl(giant.ts, 290, 15)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 289, 29)) ->param : Symbol(param, Decl(giant.ts, 290, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 290, 29)) +>param : Symbol(param, Decl(giant.ts, 291, 19)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 290, 29)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 291, 29)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 291, 20)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 292, 20)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 293, 1)) +>eI : Symbol(eI, Decl(giant.ts, 294, 1)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 298, 5)) +>p : Symbol(p, Decl(giant.ts, 299, 5)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 299, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 300, 5)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 300, 5)) +>p2 : Symbol(p2, Decl(giant.ts, 301, 5)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 301, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 302, 5)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 302, 5)) ->p5 : Symbol(p5, Decl(giant.ts, 302, 16)) +>p4 : Symbol(p4, Decl(giant.ts, 303, 5)) +>p5 : Symbol(p5, Decl(giant.ts, 303, 16)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 303, 5)) ->p7 : Symbol(p7, Decl(giant.ts, 303, 16)) +>p6 : Symbol(p6, Decl(giant.ts, 304, 5)) +>p7 : Symbol(p7, Decl(giant.ts, 304, 16)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -804,165 +810,166 @@ export interface eI { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 310, 9)) +>p : Symbol(p, Decl(giant.ts, 311, 9)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 311, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 312, 9)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 312, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 313, 9)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 313, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 313, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 314, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 314, 20)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 314, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 314, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 315, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 315, 20)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 314, 35)) +>[p] : Symbol(eI[p], Decl(giant.ts, 315, 35)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 318, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 319, 5)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 319, 5)) ->p3 : Symbol(p3, Decl(giant.ts, 319, 16)) +>p2 : Symbol(p2, Decl(giant.ts, 320, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 320, 16)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 319, 29)) +>p : Symbol(eI.p, Decl(giant.ts, 320, 29)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 322, 6)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 323, 6)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 323, 8)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 324, 8)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 324, 16)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 325, 16)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 327, 9)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 328, 9)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 328, 11)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 329, 11)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 329, 17)) ->pa1 : Symbol(pa1, Decl(giant.ts, 330, 7)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 330, 17)) +>pa1 : Symbol(pa1, Decl(giant.ts, 331, 7)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 330, 18), Decl(giant.ts, 331, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 331, 7)) ->pa2 : Symbol(pa2, Decl(giant.ts, 331, 11)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 331, 18), Decl(giant.ts, 332, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 332, 7)) +>pa2 : Symbol(pa2, Decl(giant.ts, 332, 11)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 330, 18), Decl(giant.ts, 331, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 332, 9)) ->pa2 : Symbol(pa2, Decl(giant.ts, 332, 13)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 331, 18), Decl(giant.ts, 332, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 333, 9)) +>pa2 : Symbol(pa2, Decl(giant.ts, 333, 13)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 333, 1)) +>eM : Symbol(eM, Decl(giant.ts, 334, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 335, 7)) +>V : Symbol(V, Decl(giant.ts, 336, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 335, 10)) +>F : Symbol(F, Decl(giant.ts, 336, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 336, 21)) +>C : Symbol(C, Decl(giant.ts, 337, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 338, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 339, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 339, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 340, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 340, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 341, 19)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 341, 23)) +>rF : Symbol(C.rF, Decl(giant.ts, 342, 23)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 342, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 343, 24)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 343, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 344, 24)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 344, 24)) ->param : Symbol(param, Decl(giant.ts, 345, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 345, 24)) +>param : Symbol(param, Decl(giant.ts, 346, 19)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 345, 33)) ->param : Symbol(param, Decl(giant.ts, 346, 23)) +>psF : Symbol(C.psF, Decl(giant.ts, 346, 33)) +>param : Symbol(param, Decl(giant.ts, 347, 23)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 346, 33)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 347, 33)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 347, 25)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 348, 25)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 348, 25)) ->param : Symbol(param, Decl(giant.ts, 349, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 349, 25)) +>param : Symbol(param, Decl(giant.ts, 350, 20)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 349, 34)) ->param : Symbol(param, Decl(giant.ts, 350, 24)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 350, 34)) +>param : Symbol(param, Decl(giant.ts, 351, 24)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 350, 34)) +>tV : Symbol(C.tV, Decl(giant.ts, 351, 34)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 351, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 352, 18)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 352, 23)) ->param : Symbol(param, Decl(giant.ts, 353, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 353, 23)) +>param : Symbol(param, Decl(giant.ts, 354, 19)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 353, 33)) ->param : Symbol(param, Decl(giant.ts, 354, 23)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 354, 33)) +>param : Symbol(param, Decl(giant.ts, 355, 23)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 354, 33)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 355, 33)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 355, 24)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 356, 24)) } interface I { ->I : Symbol(I, Decl(giant.ts, 357, 5)) +>I : Symbol(I, Decl(giant.ts, 358, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 362, 9)) +>p : Symbol(p, Decl(giant.ts, 363, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 363, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 364, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 364, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 365, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 365, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 366, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 366, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 366, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 367, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 367, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 367, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 367, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 368, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 368, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -971,207 +978,208 @@ export module eM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 374, 13)) +>p : Symbol(p, Decl(giant.ts, 375, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 375, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 376, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 376, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 377, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 377, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 377, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 378, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 378, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 378, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 378, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 379, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 379, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 378, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 379, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 382, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 383, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 383, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 383, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 384, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 384, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 383, 33)) +>p : Symbol(I.p, Decl(giant.ts, 384, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 386, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 387, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 387, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 388, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 388, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 389, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 391, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 392, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 392, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 393, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 393, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 394, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 394, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 395, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 394, 22), Decl(giant.ts, 395, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 395, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 395, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 395, 22), Decl(giant.ts, 396, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 396, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 396, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 394, 22), Decl(giant.ts, 395, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 396, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 396, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 395, 22), Decl(giant.ts, 396, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 397, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 397, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 397, 5)) +>M : Symbol(M, Decl(giant.ts, 398, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 399, 11)) +>V : Symbol(V, Decl(giant.ts, 400, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 399, 14)) +>F : Symbol(F, Decl(giant.ts, 400, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 400, 25)) +>C : Symbol(C, Decl(giant.ts, 401, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 401, 20)) +>I : Symbol(I, Decl(giant.ts, 402, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 402, 24)) +>M : Symbol(M, Decl(giant.ts, 403, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 404, 18)) +>eV : Symbol(eV, Decl(giant.ts, 405, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 404, 22)) +>eF : Symbol(eF, Decl(giant.ts, 405, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 405, 33)) +>eC : Symbol(eC, Decl(giant.ts, 406, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 406, 28)) +>eI : Symbol(eI, Decl(giant.ts, 407, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 407, 32)) +>eM : Symbol(eM, Decl(giant.ts, 408, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 409, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 410, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 409, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 410, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 410, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 411, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 411, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 412, 37)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 414, 14)) +>eV : Symbol(eV, Decl(giant.ts, 415, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 414, 18)) +>eF : Symbol(eF, Decl(giant.ts, 415, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 415, 29)) +>eC : Symbol(eC, Decl(giant.ts, 416, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 417, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 418, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 418, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 419, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 419, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 420, 19)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 420, 23)) +>rF : Symbol(eC.rF, Decl(giant.ts, 421, 23)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 421, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 422, 24)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 422, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 423, 24)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 423, 24)) ->param : Symbol(param, Decl(giant.ts, 424, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 424, 24)) +>param : Symbol(param, Decl(giant.ts, 425, 19)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 424, 33)) ->param : Symbol(param, Decl(giant.ts, 425, 23)) +>psF : Symbol(eC.psF, Decl(giant.ts, 425, 33)) +>param : Symbol(param, Decl(giant.ts, 426, 23)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 425, 33)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 426, 33)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 426, 25)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 427, 25)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 427, 25)) ->param : Symbol(param, Decl(giant.ts, 428, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 428, 25)) +>param : Symbol(param, Decl(giant.ts, 429, 20)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 428, 34)) ->param : Symbol(param, Decl(giant.ts, 429, 24)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 429, 34)) +>param : Symbol(param, Decl(giant.ts, 430, 24)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 429, 34)) +>tV : Symbol(eC.tV, Decl(giant.ts, 430, 34)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 430, 18)) +>tF : Symbol(eC.tF, Decl(giant.ts, 431, 18)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 431, 23)) ->param : Symbol(param, Decl(giant.ts, 432, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 432, 23)) +>param : Symbol(param, Decl(giant.ts, 433, 19)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 432, 33)) ->param : Symbol(param, Decl(giant.ts, 433, 23)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 433, 33)) +>param : Symbol(param, Decl(giant.ts, 434, 23)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 433, 33)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 434, 33)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 434, 24)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 435, 24)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 436, 5)) +>eI : Symbol(eI, Decl(giant.ts, 437, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 441, 9)) +>p : Symbol(p, Decl(giant.ts, 442, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 442, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 443, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 443, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 444, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 444, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 445, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 445, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 445, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 446, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 446, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 446, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 446, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 447, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 447, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1180,336 +1188,337 @@ export module eM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 453, 13)) +>p : Symbol(p, Decl(giant.ts, 454, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 454, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 455, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 455, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 456, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 456, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 456, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 457, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 457, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 457, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 457, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 458, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 458, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 457, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 458, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 461, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 462, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 462, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 462, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 463, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 463, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 462, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 463, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 465, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 466, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 466, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 467, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 467, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 468, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 470, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 471, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 471, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 472, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 472, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 473, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 473, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 474, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 473, 22), Decl(giant.ts, 474, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 474, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 474, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 474, 22), Decl(giant.ts, 475, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 475, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 475, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 473, 22), Decl(giant.ts, 474, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 475, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 475, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 474, 22), Decl(giant.ts, 475, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 476, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 476, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 476, 5)) +>eM : Symbol(eM, Decl(giant.ts, 477, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 478, 11)) +>V : Symbol(V, Decl(giant.ts, 479, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 478, 14)) +>F : Symbol(F, Decl(giant.ts, 479, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 479, 25)) +>C : Symbol(C, Decl(giant.ts, 480, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 480, 20)) +>I : Symbol(I, Decl(giant.ts, 481, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 481, 24)) +>M : Symbol(M, Decl(giant.ts, 482, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 483, 18)) +>eV : Symbol(eV, Decl(giant.ts, 484, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 483, 22)) +>eF : Symbol(eF, Decl(giant.ts, 484, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 484, 33)) +>eC : Symbol(eC, Decl(giant.ts, 485, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 485, 28)) +>eI : Symbol(eI, Decl(giant.ts, 486, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 486, 32)) +>eM : Symbol(eM, Decl(giant.ts, 487, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 488, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 489, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 488, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 489, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 489, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 490, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 490, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 491, 37)) } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 493, 22)) +>eaV : Symbol(eaV, Decl(giant.ts, 494, 22)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 493, 27)) +>eaF : Symbol(eaF, Decl(giant.ts, 494, 27)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 494, 38)) +>eaC : Symbol(eaC, Decl(giant.ts, 495, 38)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 496, 26)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 497, 26)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 497, 18)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 498, 18)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 498, 19)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 499, 19)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 499, 23)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 500, 23)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 500, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 501, 24)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 501, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 502, 24)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 502, 24)) ->param : Symbol(param, Decl(giant.ts, 503, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 503, 24)) +>param : Symbol(param, Decl(giant.ts, 504, 19)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 503, 33)) ->param : Symbol(param, Decl(giant.ts, 504, 23)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 504, 33)) +>param : Symbol(param, Decl(giant.ts, 505, 23)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 504, 33)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 505, 33)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 505, 25)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 506, 25)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 506, 25)) ->param : Symbol(param, Decl(giant.ts, 507, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 507, 25)) +>param : Symbol(param, Decl(giant.ts, 508, 20)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 507, 34)) ->param : Symbol(param, Decl(giant.ts, 508, 24)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 508, 34)) +>param : Symbol(param, Decl(giant.ts, 509, 24)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 508, 34)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 509, 34)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 509, 18)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 510, 18)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 510, 23)) ->param : Symbol(param, Decl(giant.ts, 511, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 511, 23)) +>param : Symbol(param, Decl(giant.ts, 512, 19)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 511, 33)) ->param : Symbol(param, Decl(giant.ts, 512, 23)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 512, 33)) +>param : Symbol(param, Decl(giant.ts, 513, 23)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 512, 33)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 513, 33)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 513, 24)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 514, 24)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 515, 5)) +>eaM : Symbol(eaM, Decl(giant.ts, 516, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 517, 11)) +>V : Symbol(V, Decl(giant.ts, 518, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 517, 14)) +>F : Symbol(F, Decl(giant.ts, 518, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 518, 25)) +>C : Symbol(C, Decl(giant.ts, 519, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 519, 19)) +>I : Symbol(I, Decl(giant.ts, 520, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 520, 23)) +>M : Symbol(M, Decl(giant.ts, 521, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 522, 18)) +>eV : Symbol(eV, Decl(giant.ts, 523, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 522, 22)) +>eF : Symbol(eF, Decl(giant.ts, 523, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 523, 33)) +>eC : Symbol(eC, Decl(giant.ts, 524, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 524, 27)) +>eI : Symbol(eI, Decl(giant.ts, 525, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 525, 31)) +>eM : Symbol(eM, Decl(giant.ts, 526, 31)) } } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 529, 18)) +>eaV : Symbol(eaV, Decl(giant.ts, 530, 18)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 529, 23)) +>eaF : Symbol(eaF, Decl(giant.ts, 530, 23)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 530, 34)) +>eaC : Symbol(eaC, Decl(giant.ts, 531, 34)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 532, 22)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 533, 22)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 533, 14)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 534, 14)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 534, 15)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 535, 15)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 535, 19)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 536, 19)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 536, 20)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 537, 20)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 537, 20)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 538, 20)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 538, 20)) ->param : Symbol(param, Decl(giant.ts, 539, 15)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 539, 20)) +>param : Symbol(param, Decl(giant.ts, 540, 15)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 539, 29)) ->param : Symbol(param, Decl(giant.ts, 540, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 540, 29)) +>param : Symbol(param, Decl(giant.ts, 541, 19)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 540, 29)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 541, 29)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 541, 21)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 542, 21)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 542, 21)) ->param : Symbol(param, Decl(giant.ts, 543, 16)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 543, 21)) +>param : Symbol(param, Decl(giant.ts, 544, 16)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 543, 30)) ->param : Symbol(param, Decl(giant.ts, 544, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 544, 30)) +>param : Symbol(param, Decl(giant.ts, 545, 20)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 544, 30)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 545, 30)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 545, 14)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 546, 14)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 546, 19)) ->param : Symbol(param, Decl(giant.ts, 547, 15)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 547, 19)) +>param : Symbol(param, Decl(giant.ts, 548, 15)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 547, 29)) ->param : Symbol(param, Decl(giant.ts, 548, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 548, 29)) +>param : Symbol(param, Decl(giant.ts, 549, 19)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 548, 29)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 549, 29)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 549, 20)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 550, 20)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 551, 1)) +>eaM : Symbol(eaM, Decl(giant.ts, 552, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 553, 7)) +>V : Symbol(V, Decl(giant.ts, 554, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 553, 10)) +>F : Symbol(F, Decl(giant.ts, 554, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 554, 21)) +>C : Symbol(C, Decl(giant.ts, 555, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 556, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 557, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 557, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 558, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 558, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 559, 19)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 559, 23)) +>tV : Symbol(C.tV, Decl(giant.ts, 560, 23)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 560, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 561, 18)) } interface I { ->I : Symbol(I, Decl(giant.ts, 562, 5)) +>I : Symbol(I, Decl(giant.ts, 563, 5)) //Call Signature (); (): number; (p: string); ->p : Symbol(p, Decl(giant.ts, 567, 9)) +>p : Symbol(p, Decl(giant.ts, 568, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 568, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 569, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 569, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 570, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 570, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 570, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 571, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 571, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 571, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 571, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 572, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 572, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1518,162 +1527,163 @@ export declare module eaM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 578, 13)) +>p : Symbol(p, Decl(giant.ts, 579, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 579, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 580, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 580, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 581, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 581, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 581, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 582, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 582, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 582, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 582, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 583, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 583, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 582, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 583, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 586, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 587, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 587, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 587, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 588, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 588, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 587, 33)) +>p : Symbol(I.p, Decl(giant.ts, 588, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 590, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 591, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 591, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 592, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 592, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 593, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 595, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 596, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 596, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 597, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 597, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 598, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 598, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 599, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 598, 22), Decl(giant.ts, 599, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 599, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 599, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 599, 22), Decl(giant.ts, 600, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 600, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 600, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 598, 22), Decl(giant.ts, 599, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 600, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 600, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 599, 22), Decl(giant.ts, 600, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 601, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 601, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 601, 5)) +>M : Symbol(M, Decl(giant.ts, 602, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 603, 11)) +>V : Symbol(V, Decl(giant.ts, 604, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 603, 14)) +>F : Symbol(F, Decl(giant.ts, 604, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 604, 25)) +>C : Symbol(C, Decl(giant.ts, 605, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 605, 19)) +>I : Symbol(I, Decl(giant.ts, 606, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 606, 23)) +>M : Symbol(M, Decl(giant.ts, 607, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 608, 18)) +>eV : Symbol(eV, Decl(giant.ts, 609, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 608, 22)) +>eF : Symbol(eF, Decl(giant.ts, 609, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 609, 33)) +>eC : Symbol(eC, Decl(giant.ts, 610, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 610, 27)) +>eI : Symbol(eI, Decl(giant.ts, 611, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 611, 31)) +>eM : Symbol(eM, Decl(giant.ts, 612, 31)) export declare var eaV ->eaV : Symbol(eaV, Decl(giant.ts, 613, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 614, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 613, 30)) +>eaF : Symbol(eaF, Decl(giant.ts, 614, 30)) export declare class eaC { } ->eaC : Symbol(eaC, Decl(giant.ts, 614, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 615, 42)) export declare module eaM { } ->eaM : Symbol(eaM, Decl(giant.ts, 615, 36)) +>eaM : Symbol(eaM, Decl(giant.ts, 616, 36)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 618, 14)) +>eV : Symbol(eV, Decl(giant.ts, 619, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 618, 18)) +>eF : Symbol(eF, Decl(giant.ts, 619, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 619, 29)) +>eC : Symbol(eC, Decl(giant.ts, 620, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 621, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 622, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 622, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 623, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 623, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 624, 19)) static tV ->tV : Symbol(eC.tV, Decl(giant.ts, 624, 23)) +>tV : Symbol(eC.tV, Decl(giant.ts, 625, 23)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 625, 17)) +>tF : Symbol(eC.tF, Decl(giant.ts, 626, 17)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 627, 5)) +>eI : Symbol(eI, Decl(giant.ts, 628, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 632, 9)) +>p : Symbol(p, Decl(giant.ts, 633, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 633, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 634, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 634, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 635, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 635, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 636, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 636, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 636, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 637, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 637, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 637, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 637, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 638, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 638, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1682,95 +1692,96 @@ export declare module eaM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 644, 13)) +>p : Symbol(p, Decl(giant.ts, 645, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 645, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 646, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 646, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 647, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 647, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 647, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 648, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 648, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 648, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 648, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 649, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 649, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 648, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 649, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 652, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 653, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 653, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 653, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 654, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 654, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 653, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 654, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 656, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 657, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 657, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 658, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 658, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 659, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 661, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 662, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 662, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 663, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 663, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 664, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 664, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 665, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 664, 22), Decl(giant.ts, 665, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 665, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 665, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 665, 22), Decl(giant.ts, 666, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 666, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 666, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 664, 22), Decl(giant.ts, 665, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 666, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 666, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 665, 22), Decl(giant.ts, 666, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 667, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 667, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 667, 5)) +>eM : Symbol(eM, Decl(giant.ts, 668, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 669, 11)) +>V : Symbol(V, Decl(giant.ts, 670, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 669, 14)) +>F : Symbol(F, Decl(giant.ts, 670, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 670, 25)) +>C : Symbol(C, Decl(giant.ts, 671, 25)) module M { } ->M : Symbol(M, Decl(giant.ts, 671, 19)) +>M : Symbol(M, Decl(giant.ts, 672, 19)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 673, 18)) +>eV : Symbol(eV, Decl(giant.ts, 674, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 673, 22)) +>eF : Symbol(eF, Decl(giant.ts, 674, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 674, 33)) +>eC : Symbol(eC, Decl(giant.ts, 675, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 675, 27)) +>eI : Symbol(eI, Decl(giant.ts, 676, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 676, 31)) +>eM : Symbol(eM, Decl(giant.ts, 677, 31)) } } diff --git a/tests/baselines/reference/giant.types b/tests/baselines/reference/giant.types index 07cfe8d22f..b0db538b9b 100644 --- a/tests/baselines/reference/giant.types +++ b/tests/baselines/reference/giant.types @@ -12,6 +12,10 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; +>p : "propName" +>"propName" : "propName" + var V; >V : any @@ -132,7 +136,7 @@ interface I { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -298,7 +302,7 @@ module M { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -497,7 +501,7 @@ module M { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -793,7 +797,7 @@ export interface eI { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -959,7 +963,7 @@ export module eM { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -1158,7 +1162,7 @@ export module eM { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -1479,7 +1483,7 @@ export declare module eaM { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string @@ -1633,7 +1637,7 @@ export declare module eaM { //Index Signature [p]; >[p] : any ->p : any +>p : "propName" [p1: string]; >p1 : string diff --git a/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types b/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types index f89f132dcc..f80c3c2165 100644 --- a/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types +++ b/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types @@ -1,9 +1,9 @@ === tests/cases/compiler/homomorphicMappedTypeIntersectionAssignability.ts === function f( ->f : (a: { weak?: string;} & Readonly & { name: "ok";}, b: Readonly, c: Readonly & { name: string;}) => void +>f : (a: { weak?: string; } & Readonly & { name: "ok"; }, b: Readonly, c: Readonly & { name: string; }) => void a: { weak?: string } & Readonly & { name: "ok" }, ->a : { weak?: string | undefined; } & Readonly & { name: "ok"; } +>a : { weak?: string; } & Readonly & { name: "ok"; } >weak : string | undefined >name : "ok" diff --git a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.errors.txt b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.errors.txt index a5ddd88858..d07beecc0f 100644 --- a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.errors.txt +++ b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.errors.txt @@ -6,6 +6,6 @@ tests/cases/compiler/hugeDeclarationOutputGetsTruncatedWithError.ts(5,14): error type manyprops = `${props}${props}`; - export const c = null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}; + export const c = [null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}][0]; ~ !!! error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed. \ No newline at end of file diff --git a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.js b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.js index f644e54ad9..170f0f8dbc 100644 --- a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.js +++ b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.js @@ -3,10 +3,10 @@ type props = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | " type manyprops = `${props}${props}`; -export const c = null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}; +export const c = [null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}][0]; //// [hugeDeclarationOutputGetsTruncatedWithError.js] "use strict"; exports.__esModule = true; exports.c = void 0; -exports.c = null; +exports.c = [null][0]; diff --git a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.symbols b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.symbols index bb9228355d..8eb1110b0d 100644 --- a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.symbols +++ b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.symbols @@ -7,12 +7,12 @@ type manyprops = `${props}${props}`; >props : Symbol(props, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 0, 0)) >props : Symbol(props, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 0, 0)) -export const c = null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}; +export const c = [null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}][0]; >c : Symbol(c, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 12)) ->K : Symbol(K, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 34)) +>K : Symbol(K, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 35)) >manyprops : Symbol(manyprops, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 0, 167)) ->K2 : Symbol(K2, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 53)) +>K2 : Symbol(K2, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 54)) >manyprops : Symbol(manyprops, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 0, 167)) ->K : Symbol(K, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 34)) ->K2 : Symbol(K2, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 53)) +>K : Symbol(K, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 35)) +>K2 : Symbol(K2, Decl(hugeDeclarationOutputGetsTruncatedWithError.ts, 4, 54)) diff --git a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types index 28fcd4fd0d..ea6a297fd7 100644 --- a/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types +++ b/tests/baselines/reference/hugeDeclarationOutputGetsTruncatedWithError.types @@ -5,9 +5,12 @@ type props = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | " type manyprops = `${props}${props}`; >manyprops : "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" | "gk" | "gl" | "gm" | "gn" | "go" | "gp" | "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" | "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" | "ld" | "le" | "lf" | "lg" | "lh" | "li" | "lj" | "lk" | "ll" | "lm" | "ln" | "lo" | "lp" | "lq" | "lr" | "ls" | "lt" | "lu" | "lv" | "lw" | "lx" | "ly" | "lz" | "ma" | "mb" | "mc" | "md" | "me" | "mf" | "mg" | "mh" | "mi" | "mj" | "mk" | "ml" | "mm" | "mn" | "mo" | "mp" | "mq" | "mr" | "ms" | "mt" | "mu" | "mv" | "mw" | "mx" | "my" | "mz" | "na" | "nb" | "nc" | "nd" | "ne" | "nf" | "ng" | "nh" | "ni" | "nj" | "nk" | "nl" | "nm" | "nn" | "no" | "np" | "nq" | "nr" | "ns" | "nt" | "nu" | "nv" | "nw" | "nx" | "ny" | "nz" | "oa" | "ob" | "oc" | "od" | "oe" | "of" | "og" | "oh" | "oi" | "oj" | "ok" | "ol" | "om" | "on" | "oo" | "op" | "oq" | "or" | "os" | "ot" | "ou" | "ov" | "ow" | "ox" | "oy" | "oz" | "pa" | "pb" | "pc" | "pd" | "pe" | "pf" | "pg" | "ph" | "pi" | "pj" | "pk" | "pl" | "pm" | "pn" | "po" | "pp" | "pq" | "pr" | "ps" | "pt" | "pu" | "pv" | "pw" | "px" | "py" | "pz" | "qa" | "qb" | "qc" | "qd" | "qe" | "qf" | "qg" | "qh" | "qi" | "qj" | "qk" | "ql" | "qm" | "qn" | "qo" | "qp" | "qq" | "qr" | "qs" | "qt" | "qu" | "qv" | "qw" | "qx" | "qy" | "qz" | "ra" | "rb" | "rc" | "rd" | "re" | "rf" | "rg" | "rh" | "ri" | "rj" | "rk" | "rl" | "rm" | "rn" | "ro" | "rp" | "rq" | "rr" | "rs" | "rt" | "ru" | "rv" | "rw" | "rx" | "ry" | "rz" | "sa" | "sb" | "sc" | "sd" | "se" | "sf" | "sg" | "sh" | "si" | "sj" | "sk" | "sl" | "sm" | "sn" | "so" | "sp" | "sq" | "sr" | "ss" | "st" | "su" | "sv" | "sw" | "sx" | "sy" | "sz" | "ta" | "tb" | "tc" | "td" | "te" | "tf" | "tg" | "th" | "ti" | "tj" | "tk" | "tl" | "tm" | "tn" | "to" | "tp" | "tq" | "tr" | "ts" | "tt" | "tu" | "tv" | "tw" | "tx" | "ty" | "tz" | "ua" | "ub" | "uc" | "ud" | "ue" | "uf" | "ug" | "uh" | "ui" | "uj" | "uk" | "ul" | "um" | "un" | "uo" | "up" | "uq" | "ur" | "us" | "ut" | "uu" | "uv" | "uw" | "ux" | "uy" | "uz" | "va" | "vb" | "vc" | "vd" | "ve" | "vf" | "vg" | "vh" | "vi" | "vj" | "vk" | "vl" | "vm" | "vn" | "vo" | "vp" | "vq" | "vr" | "vs" | "vt" | "vu" | "vv" | "vw" | "vx" | "vy" | "vz" | "wa" | "wb" | "wc" | "wd" | "we" | "wf" | "wg" | "wh" | "wi" | "wj" | "wk" | "wl" | "wm" | "wn" | "wo" | "wp" | "wq" | "wr" | "ws" | "wt" | "wu" | "wv" | "ww" | "wx" | "wy" | "wz" | "xa" | "xb" | "xc" | "xd" | "xe" | "xf" | "xg" | "xh" | "xi" | "xj" | "xk" | "xl" | "xm" | "xn" | "xo" | "xp" | "xq" | "xr" | "xs" | "xt" | "xu" | "xv" | "xw" | "xx" | "xy" | "xz" | "ya" | "yb" | "yc" | "yd" | "ye" | "yf" | "yg" | "yh" | "yi" | "yj" | "yk" | "yl" | "ym" | "yn" | "yo" | "yp" | "yq" | "yr" | "ys" | "yt" | "yu" | "yv" | "yw" | "yx" | "yy" | "yz" | "za" | "zb" | "zc" | "zd" | "ze" | "zf" | "zg" | "zh" | "zi" | "zj" | "zk" | "zl" | "zm" | "zn" | "zo" | "zp" | "zq" | "zr" | "zs" | "zt" | "zu" | "zv" | "zw" | "zx" | "zy" | "zz" -export const c = null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}; +export const c = [null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}][0]; >c : { aa: { aa: "aa.aa"; ab: "aa.ab"; ac: "aa.ac"; ad: "aa.ad"; ae: "aa.ae"; af: "aa.af"; ag: "aa.ag"; ah: "aa.ah"; ai: "aa.ai"; aj: "aa.aj"; ak: "aa.ak"; al: "aa.al"; am: "aa.am"; an: "aa.an"; ao: "aa.ao"; ap: "aa.ap"; aq: "aa.aq"; ar: "aa.ar"; as: "aa.as"; at: "aa.at"; au: "aa.au"; av: "aa.av"; aw: "aa.aw"; ax: "aa.ax"; ay: "aa.ay"; az: "aa.az"; ba: "aa.ba"; bb: "aa.bb"; bc: "aa.bc"; bd: "aa.bd"; be: "aa.be"; bf: "aa.bf"; bg: "aa.bg"; bh: "aa.bh"; bi: "aa.bi"; bj: "aa.bj"; bk: "aa.bk"; bl: "aa.bl"; bm: "aa.bm"; bn: "aa.bn"; bo: "aa.bo"; bp: "aa.bp"; bq: "aa.bq"; br: "aa.br"; bs: "aa.bs"; bt: "aa.bt"; bu: "aa.bu"; bv: "aa.bv"; bw: "aa.bw"; bx: "aa.bx"; by: "aa.by"; bz: "aa.bz"; ca: "aa.ca"; cb: "aa.cb"; cc: "aa.cc"; cd: "aa.cd"; ce: "aa.ce"; cf: "aa.cf"; cg: "aa.cg"; ch: "aa.ch"; ci: "aa.ci"; cj: "aa.cj"; ck: "aa.ck"; cl: "aa.cl"; cm: "aa.cm"; cn: "aa.cn"; co: "aa.co"; cp: "aa.cp"; cq: "aa.cq"; cr: "aa.cr"; cs: "aa.cs"; ct: "aa.ct"; cu: "aa.cu"; cv: "aa.cv"; cw: "aa.cw"; cx: "aa.cx"; cy: "aa.cy"; cz: "aa.cz"; da: "aa.da"; db: "aa.db"; dc: "aa.dc"; dd: "aa.dd"; de: "aa.de"; df: "aa.df"; dg: "aa.dg"; dh: "aa.dh"; di: "aa.di"; dj: "aa.dj"; dk: "aa.dk"; dl: "aa.dl"; dm: "aa.dm"; dn: "aa.dn"; do: "aa.do"; dp: "aa.dp"; dq: "aa.dq"; dr: "aa.dr"; ds: "aa.ds"; dt: "aa.dt"; du: "aa.du"; dv: "aa.dv"; dw: "aa.dw"; dx: "aa.dx"; dy: "aa.dy"; dz: "aa.dz"; ea: "aa.ea"; eb: "aa.eb"; ec: "aa.ec"; ed: "aa.ed"; ee: "aa.ee"; ef: "aa.ef"; eg: "aa.eg"; eh: "aa.eh"; ei: "aa.ei"; ej: "aa.ej"; ek: "aa.ek"; el: "aa.el"; em: "aa.em"; en: "aa.en"; eo: "aa.eo"; ep: "aa.ep"; eq: "aa.eq"; er: "aa.er"; es: "aa.es"; et: "aa.et"; eu: "aa.eu"; ev: "aa.ev"; ew: "aa.ew"; ex: "aa.ex"; ey: "aa.ey"; ez: "aa.ez"; fa: "aa.fa"; fb: "aa.fb"; fc: "aa.fc"; fd: "aa.fd"; fe: "aa.fe"; ff: "aa.ff"; fg: "aa.fg"; fh: "aa.fh"; fi: "aa.fi"; fj: "aa.fj"; fk: "aa.fk"; fl: "aa.fl"; fm: "aa.fm"; fn: "aa.fn"; fo: "aa.fo"; fp: "aa.fp"; fq: "aa.fq"; fr: "aa.fr"; fs: "aa.fs"; ft: "aa.ft"; fu: "aa.fu"; fv: "aa.fv"; fw: "aa.fw"; fx: "aa.fx"; fy: "aa.fy"; fz: "aa.fz"; ga: "aa.ga"; gb: "aa.gb"; gc: "aa.gc"; gd: "aa.gd"; ge: "aa.ge"; gf: "aa.gf"; gg: "aa.gg"; gh: "aa.gh"; gi: "aa.gi"; gj: "aa.gj"; gk: "aa.gk"; gl: "aa.gl"; gm: "aa.gm"; gn: "aa.gn"; go: "aa.go"; gp: "aa.gp"; gq: "aa.gq"; gr: "aa.gr"; gs: "aa.gs"; gt: "aa.gt"; gu: "aa.gu"; gv: "aa.gv"; gw: "aa.gw"; gx: "aa.gx"; gy: "aa.gy"; gz: "aa.gz"; ha: "aa.ha"; hb: "aa.hb"; hc: "aa.hc"; hd: "aa.hd"; he: "aa.he"; hf: "aa.hf"; hg: "aa.hg"; hh: "aa.hh"; hi: "aa.hi"; hj: "aa.hj"; hk: "aa.hk"; hl: "aa.hl"; hm: "aa.hm"; hn: "aa.hn"; ho: "aa.ho"; hp: "aa.hp"; hq: "aa.hq"; hr: "aa.hr"; hs: "aa.hs"; ht: "aa.ht"; hu: "aa.hu"; hv: "aa.hv"; hw: "aa.hw"; hx: "aa.hx"; hy: "aa.hy"; hz: "aa.hz"; ia: "aa.ia"; ib: "aa.ib"; ic: "aa.ic"; id: "aa.id"; ie: "aa.ie"; if: "aa.if"; ig: "aa.ig"; ih: "aa.ih"; ii: "aa.ii"; ij: "aa.ij"; ik: "aa.ik"; il: "aa.il"; im: "aa.im"; in: "aa.in"; io: "aa.io"; ip: "aa.ip"; iq: "aa.iq"; ir: "aa.ir"; is: "aa.is"; it: "aa.it"; iu: "aa.iu"; iv: "aa.iv"; iw: "aa.iw"; ix: "aa.ix"; iy: "aa.iy"; iz: "aa.iz"; ja: "aa.ja"; jb: "aa.jb"; jc: "aa.jc"; jd: "aa.jd"; je: "aa.je"; jf: "aa.jf"; jg: "aa.jg"; jh: "aa.jh"; ji: "aa.ji"; jj: "aa.jj"; jk: "aa.jk"; jl: "aa.jl"; jm: "aa.jm"; jn: "aa.jn"; jo: "aa.jo"; jp: "aa.jp"; jq: "aa.jq"; jr: "aa.jr"; js: "aa.js"; jt: "aa.jt"; ju: "aa.ju"; jv: "aa.jv"; jw: "aa.jw"; jx: "aa.jx"; jy: "aa.jy"; jz: "aa.jz"; ka: "aa.ka"; kb: "aa.kb"; kc: "aa.kc"; kd: "aa.kd"; ke: "aa.ke"; kf: "aa.kf"; kg: "aa.kg"; kh: "aa.kh"; ki: "aa.ki"; kj: "aa.kj"; kk: "aa.kk"; kl: "aa.kl"; km: "aa.km"; kn: "aa.kn"; ko: "aa.ko"; kp: "aa.kp"; kq: "aa.kq"; kr: "aa.kr"; ks: "aa.ks"; kt: "aa.kt"; ku: "aa.ku"; kv: "aa.kv"; kw: "aa.kw"; kx: "aa.kx"; ky: "aa.ky"; kz: "aa.kz"; la: "aa.la"; lb: "aa.lb"; lc: "aa.lc"; ld: "aa.ld"; le: "aa.le"; lf: "aa.lf"; lg: "aa.lg"; lh: "aa.lh"; li: "aa.li"; lj: "aa.lj"; lk: "aa.lk"; ll: "aa.ll"; lm: "aa.lm"; ln: "aa.ln"; lo: "aa.lo"; lp: "aa.lp"; lq: "aa.lq"; lr: "aa.lr"; ls: "aa.ls"; lt: "aa.lt"; lu: "aa.lu"; lv: "aa.lv"; lw: "aa.lw"; lx: "aa.lx"; ly: "aa.ly"; lz: "aa.lz"; ma: "aa.ma"; mb: "aa.mb"; mc: "aa.mc"; md: "aa.md"; me: "aa.me"; mf: "aa.mf"; mg: "aa.mg"; mh: "aa.mh"; mi: "aa.mi"; mj: "aa.mj"; mk: "aa.mk"; ml: "aa.ml"; mm: "aa.mm"; mn: "aa.mn"; mo: "aa.mo"; mp: "aa.mp"; mq: "aa.mq"; mr: "aa.mr"; ms: "aa.ms"; mt: "aa.mt"; mu: "aa.mu"; mv: "aa.mv"; mw: "aa.mw"; mx: "aa.mx"; my: "aa.my"; mz: "aa.mz"; na: "aa.na"; nb: "aa.nb"; nc: "aa.nc"; nd: "aa.nd"; ne: "aa.ne"; nf: "aa.nf"; ng: "aa.ng"; nh: "aa.nh"; ni: "aa.ni"; nj: "aa.nj"; nk: "aa.nk"; nl: "aa.nl"; nm: "aa.nm"; nn: "aa.nn"; no: "aa.no"; np: "aa.np"; nq: "aa.nq"; nr: "aa.nr"; ns: "aa.ns"; nt: "aa.nt"; nu: "aa.nu"; nv: "aa.nv"; nw: "aa.nw"; nx: "aa.nx"; ny: "aa.ny"; nz: "aa.nz"; oa: "aa.oa"; ob: "aa.ob"; oc: "aa.oc"; od: "aa.od"; oe: "aa.oe"; of: "aa.of"; og: "aa.og"; oh: "aa.oh"; oi: "aa.oi"; oj: "aa.oj"; ok: "aa.ok"; ol: "aa.ol"; om: "aa.om"; on: "aa.on"; oo: "aa.oo"; op: "aa.op"; oq: "aa.oq"; or: "aa.or"; os: "aa.os"; ot: "aa.ot"; ou: "aa.ou"; ov: "aa.ov"; ow: "aa.ow"; ox: "aa.ox"; oy: "aa.oy"; oz: "aa.oz"; pa: "aa.pa"; pb: "aa.pb"; pc: "aa.pc"; pd: "aa.pd"; pe: "aa.pe"; pf: "aa.pf"; pg: "aa.pg"; ph: "aa.ph"; pi: "aa.pi"; pj: "aa.pj"; pk: "aa.pk"; pl: "aa.pl"; pm: "aa.pm"; pn: "aa.pn"; po: "aa.po"; pp: "aa.pp"; pq: "aa.pq"; pr: "aa.pr"; ps: "aa.ps"; pt: "aa.pt"; pu: "aa.pu"; pv: "aa.pv"; pw: "aa.pw"; px: "aa.px"; py: "aa.py"; pz: "aa.pz"; qa: "aa.qa"; qb: "aa.qb"; qc: "aa.qc"; qd: "aa.qd"; qe: "aa.qe"; qf: "aa.qf"; qg: "aa.qg"; qh: "aa.qh"; qi: "aa.qi"; qj: "aa.qj"; qk: "aa.qk"; ql: "aa.ql"; qm: "aa.qm"; qn: "aa.qn"; qo: "aa.qo"; qp: "aa.qp"; qq: "aa.qq"; qr: "aa.qr"; qs: "aa.qs"; qt: "aa.qt"; qu: "aa.qu"; qv: "aa.qv"; qw: "aa.qw"; qx: "aa.qx"; qy: "aa.qy"; qz: "aa.qz"; ra: "aa.ra"; rb: "aa.rb"; rc: "aa.rc"; rd: "aa.rd"; re: "aa.re"; rf: "aa.rf"; rg: "aa.rg"; rh: "aa.rh"; ri: "aa.ri"; rj: "aa.rj"; rk: "aa.rk"; rl: "aa.rl"; rm: "aa.rm"; rn: "aa.rn"; ro: "aa.ro"; rp: "aa.rp"; rq: "aa.rq"; rr: "aa.rr"; rs: "aa.rs"; rt: "aa.rt"; ru: "aa.ru"; rv: "aa.rv"; rw: "aa.rw"; rx: "aa.rx"; ry: "aa.ry"; rz: "aa.rz"; sa: "aa.sa"; sb: "aa.sb"; sc: "aa.sc"; sd: "aa.sd"; se: "aa.se"; sf: "aa.sf"; sg: "aa.sg"; sh: "aa.sh"; si: "aa.si"; sj: "aa.sj"; sk: "aa.sk"; sl: "aa.sl"; sm: "aa.sm"; sn: "aa.sn"; so: "aa.so"; sp: "aa.sp"; sq: "aa.sq"; sr: "aa.sr"; ss: "aa.ss"; st: "aa.st"; su: "aa.su"; sv: "aa.sv"; sw: "aa.sw"; sx: "aa.sx"; sy: "aa.sy"; sz: "aa.sz"; ta: "aa.ta"; tb: "aa.tb"; tc: "aa.tc"; td: "aa.td"; te: "aa.te"; tf: "aa.tf"; tg: "aa.tg"; th: "aa.th"; ti: "aa.ti"; tj: "aa.tj"; tk: "aa.tk"; tl: "aa.tl"; tm: "aa.tm"; tn: "aa.tn"; to: "aa.to"; tp: "aa.tp"; tq: "aa.tq"; tr: "aa.tr"; ts: "aa.ts"; tt: "aa.tt"; tu: "aa.tu"; tv: "aa.tv"; tw: "aa.tw"; tx: "aa.tx"; ty: "aa.ty"; tz: "aa.tz"; ua: "aa.ua"; ub: "aa.ub"; uc: "aa.uc"; ud: "aa.ud"; ue: "aa.ue"; uf: "aa.uf"; ug: "aa.ug"; uh: "aa.uh"; ui: "aa.ui"; uj: "aa.uj"; uk: "aa.uk"; ul: "aa.ul"; um: "aa.um"; un: "aa.un"; uo: "aa.uo"; up: "aa.up"; uq: "aa.uq"; ur: "aa.ur"; us: "aa.us"; ut: "aa.ut"; uu: "aa.uu"; uv: "aa.uv"; uw: "aa.uw"; ux: "aa.ux"; uy: "aa.uy"; uz: "aa.uz"; va: "aa.va"; vb: "aa.vb"; vc: "aa.vc"; vd: "aa.vd"; ve: "aa.ve"; vf: "aa.vf"; vg: "aa.vg"; vh: "aa.vh"; vi: "aa.vi"; vj: "aa.vj"; vk: "aa.vk"; vl: "aa.vl"; vm: "aa.vm"; vn: "aa.vn"; vo: "aa.vo"; vp: "aa.vp"; vq: "aa.vq"; vr: "aa.vr"; vs: "aa.vs"; vt: "aa.vt"; vu: "aa.vu"; vv: "aa.vv"; vw: "aa.vw"; vx: "aa.vx"; vy: "aa.vy"; vz: "aa.vz"; wa: "aa.wa"; wb: "aa.wb"; wc: "aa.wc"; wd: "aa.wd"; we: "aa.we"; wf: "aa.wf"; wg: "aa.wg"; wh: "aa.wh"; wi: "aa.wi"; wj: "aa.wj"; wk: "aa.wk"; wl: "aa.wl"; wm: "aa.wm"; wn: "aa.wn"; wo: "aa.wo"; wp: "aa.wp"; wq: "aa.wq"; wr: "aa.wr"; ws: "aa.ws"; wt: "aa.wt"; wu: "aa.wu"; wv: "aa.wv"; ww: "aa.ww"; wx: "aa.wx"; wy: "aa.wy"; wz: "aa.wz"; xa: "aa.xa"; xb: "aa.xb"; xc: "aa.xc"; xd: "aa.xd"; xe: "aa.xe"; xf: "aa.xf"; xg: "aa.xg"; xh: "aa.xh"; xi: "aa.xi"; xj: "aa.xj"; xk: "aa.xk"; xl: "aa.xl"; xm: "aa.xm"; xn: "aa.xn"; xo: "aa.xo"; xp: "aa.xp"; xq: "aa.xq"; xr: "aa.xr"; xs: "aa.xs"; xt: "aa.xt"; xu: "aa.xu"; xv: "aa.xv"; xw: "aa.xw"; xx: "aa.xx"; xy: "aa.xy"; xz: "aa.xz"; ya: "aa.ya"; yb: "aa.yb"; yc: "aa.yc"; yd: "aa.yd"; ye: "aa.ye"; yf: "aa.yf"; yg: "aa.yg"; yh: "aa.yh"; yi: "aa.yi"; yj: "aa.yj"; yk: "aa.yk"; yl: "aa.yl"; ym: "aa.ym"; yn: "aa.yn"; yo: "aa.yo"; yp: "aa.yp"; yq: "aa.yq"; yr: "aa.yr"; ys: "aa.ys"; yt: "aa.yt"; yu: "aa.yu"; yv: "aa.yv"; yw: "aa.yw"; yx: "aa.yx"; yy: "aa.yy"; yz: "aa.yz"; za: "aa.za"; zb: "aa.zb"; zc: "aa.zc"; zd: "aa.zd"; ze: "aa.ze"; zf: "aa.zf"; zg: "aa.zg"; zh: "aa.zh"; zi: "aa.zi"; zj: "aa.zj"; zk: "aa.zk"; zl: "aa.zl"; zm: "aa.zm"; zn: "aa.zn"; zo: "aa.zo"; zp: "aa.zp"; zq: "aa.zq"; zr: "aa.zr"; zs: "aa.zs"; zt: "aa.zt"; zu: "aa.zu"; zv: "aa.zv"; zw: "aa.zw"; zx: "aa.zx"; zy: "aa.zy"; zz: "aa.zz"; }; ab: { aa: "ab.aa"; ab: "ab.ab"; ac: "ab.ac"; ad: "ab.ad"; ae: "ab.ae"; af: "ab.af"; ag: "ab.ag"; ah: "ab.ah"; ai: "ab.ai"; aj: "ab.aj"; ak: "ab.ak"; al: "ab.al"; am: "ab.am"; an: "ab.an"; ao: "ab.ao"; ap: "ab.ap"; aq: "ab.aq"; ar: "ab.ar"; as: "ab.as"; at: "ab.at"; au: "ab.au"; av: "ab.av"; aw: "ab.aw"; ax: "ab.ax"; ay: "ab.ay"; az: "ab.az"; ba: "ab.ba"; bb: "ab.bb"; bc: "ab.bc"; bd: "ab.bd"; be: "ab.be"; bf: "ab.bf"; bg: "ab.bg"; bh: "ab.bh"; bi: "ab.bi"; bj: "ab.bj"; bk: "ab.bk"; bl: "ab.bl"; bm: "ab.bm"; bn: "ab.bn"; bo: "ab.bo"; bp: "ab.bp"; bq: "ab.bq"; br: "ab.br"; bs: "ab.bs"; bt: "ab.bt"; bu: "ab.bu"; bv: "ab.bv"; bw: "ab.bw"; bx: "ab.bx"; by: "ab.by"; bz: "ab.bz"; ca: "ab.ca"; cb: "ab.cb"; cc: "ab.cc"; cd: "ab.cd"; ce: "ab.ce"; cf: "ab.cf"; cg: "ab.cg"; ch: "ab.ch"; ci: "ab.ci"; cj: "ab.cj"; ck: "ab.ck"; cl: "ab.cl"; cm: "ab.cm"; cn: "ab.cn"; co: "ab.co"; cp: "ab.cp"; cq: "ab.cq"; cr: "ab.cr"; cs: "ab.cs"; ct: "ab.ct"; cu: "ab.cu"; cv: "ab.cv"; cw: "ab.cw"; cx: "ab.cx"; cy: "ab.cy"; cz: "ab.cz"; da: "ab.da"; db: "ab.db"; dc: "ab.dc"; dd: "ab.dd"; de: "ab.de"; df: "ab.df"; dg: "ab.dg"; dh: "ab.dh"; di: "ab.di"; dj: "ab.dj"; dk: "ab.dk"; dl: "ab.dl"; dm: "ab.dm"; dn: "ab.dn"; do: "ab.do"; dp: "ab.dp"; dq: "ab.dq"; dr: "ab.dr"; ds: "ab.ds"; dt: "ab.dt"; du: "ab.du"; dv: "ab.dv"; dw: "ab.dw"; dx: "ab.dx"; dy: "ab.dy"; dz: "ab.dz"; ea: "ab.ea"; eb: "ab.eb"; ec: "ab.ec"; ed: "ab.ed"; ee: "ab.ee"; ef: "ab.ef"; eg: "ab.eg"; eh: "ab.eh"; ei: "ab.ei"; ej: "ab.ej"; ek: "ab.ek"; el: "ab.el"; em: "ab.em"; en: "ab.en"; eo: "ab.eo"; ep: "ab.ep"; eq: "ab.eq"; er: "ab.er"; es: "ab.es"; et: "ab.et"; eu: "ab.eu"; ev: "ab.ev"; ew: "ab.ew"; ex: "ab.ex"; ey: "ab.ey"; ez: "ab.ez"; fa: "ab.fa"; fb: "ab.fb"; fc: "ab.fc"; fd: "ab.fd"; fe: "ab.fe"; ff: "ab.ff"; fg: "ab.fg"; fh: "ab.fh"; fi: "ab.fi"; fj: "ab.fj"; fk: "ab.fk"; fl: "ab.fl"; fm: "ab.fm"; fn: "ab.fn"; fo: "ab.fo"; fp: "ab.fp"; fq: "ab.fq"; fr: "ab.fr"; fs: "ab.fs"; ft: "ab.ft"; fu: "ab.fu"; fv: "ab.fv"; fw: "ab.fw"; fx: "ab.fx"; fy: "ab.fy"; fz: "ab.fz"; ga: "ab.ga"; gb: "ab.gb"; gc: "ab.gc"; gd: "ab.gd"; ge: "ab.ge"; gf: "ab.gf"; gg: "ab.gg"; gh: "ab.gh"; gi: "ab.gi"; gj: "ab.gj"; gk: "ab.gk"; gl: "ab.gl"; gm: "ab.gm"; gn: "ab.gn"; go: "ab.go"; gp: "ab.gp"; gq: "ab.gq"; gr: "ab.gr"; gs: "ab.gs"; gt: "ab.gt"; gu: "ab.gu"; gv: "ab.gv"; gw: "ab.gw"; gx: "ab.gx"; gy: "ab.gy"; gz: "ab.gz"; ha: "ab.ha"; hb: "ab.hb"; hc: "ab.hc"; hd: "ab.hd"; he: "ab.he"; hf: "ab.hf"; hg: "ab.hg"; hh: "ab.hh"; hi: "ab.hi"; hj: "ab.hj"; hk: "ab.hk"; hl: "ab.hl"; hm: "ab.hm"; hn: "ab.hn"; ho: "ab.ho"; hp: "ab.hp"; hq: "ab.hq"; hr: "ab.hr"; hs: "ab.hs"; ht: "ab.ht"; hu: "ab.hu"; hv: "ab.hv"; hw: "ab.hw"; hx: "ab.hx"; hy: "ab.hy"; hz: "ab.hz"; ia: "ab.ia"; ib: "ab.ib"; ic: "ab.ic"; id: "ab.id"; ie: "ab.ie"; if: "ab.if"; ig: "ab.ig"; ih: "ab.ih"; ii: "ab.ii"; ij: "ab.ij"; ik: "ab.ik"; il: "ab.il"; im: "ab.im"; in: "ab.in"; io: "ab.io"; ip: "ab.ip"; iq: "ab.iq"; ir: "ab.ir"; is: "ab.is"; it: "ab.it"; iu: "ab.iu"; iv: "ab.iv"; iw: "ab.iw"; ix: "ab.ix"; iy: "ab.iy"; iz: "ab.iz"; ja: "ab.ja"; jb: "ab.jb"; jc: "ab.jc"; jd: "ab.jd"; je: "ab.je"; jf: "ab.jf"; jg: "ab.jg"; jh: "ab.jh"; ji: "ab.ji"; jj: "ab.jj"; jk: "ab.jk"; jl: "ab.jl"; jm: "ab.jm"; jn: "ab.jn"; jo: "ab.jo"; jp: "ab.jp"; jq: "ab.jq"; jr: "ab.jr"; js: "ab.js"; jt: "ab.jt"; ju: "ab.ju"; jv: "ab.jv"; jw: "ab.jw"; jx: "ab.jx"; jy: "ab.jy"; jz: "ab.jz"; ka: "ab.ka"; kb: "ab.kb"; kc: "ab.kc"; kd: "ab.kd"; ke: "ab.ke"; kf: "ab.kf"; kg: "ab.kg"; kh: "ab.kh"; ki: "ab.ki"; kj: "ab.kj"; kk: "ab.kk"; kl: "ab.kl"; km: "ab.km"; kn: "ab.kn"; ko: "ab.ko"; kp: "ab.kp"; kq: "ab.kq"; kr: "ab.kr"; ks: "ab.ks"; kt: "ab.kt"; ku: "ab.ku"; kv: "ab.kv"; kw: "ab.kw"; kx: "ab.kx"; ky: "ab.ky"; kz: "ab.kz"; la: "ab.la"; lb: "ab.lb"; lc: "ab.lc"; ld: "ab.ld"; le: "ab.le"; lf: "ab.lf"; lg: "ab.lg"; lh: "ab.lh"; li: "ab.li"; lj: "ab.lj"; lk: "ab.lk"; ll: "ab.ll"; lm: "ab.lm"; ln: "ab.ln"; lo: "ab.lo"; lp: "ab.lp"; lq: "ab.lq"; lr: "ab.lr"; ls: "ab.ls"; lt: "ab.lt"; lu: "ab.lu"; lv: "ab.lv"; lw: "ab.lw"; lx: "ab.lx"; ly: "ab.ly"; lz: "ab.lz"; ma: "ab.ma"; mb: "ab.mb"; mc: "ab.mc"; md: "ab.md"; me: "ab.me"; mf: "ab.mf"; mg: "ab.mg"; mh: "ab.mh"; mi: "ab.mi"; mj: "ab.mj"; mk: "ab.mk"; ml: "ab.ml"; mm: "ab.mm"; mn: "ab.mn"; mo: "ab.mo"; mp: "ab.mp"; mq: "ab.mq"; mr: "ab.mr"; ms: "ab.ms"; mt: "ab.mt"; mu: "ab.mu"; mv: "ab.mv"; mw: "ab.mw"; mx: "ab.mx"; my: "ab.my"; mz: "ab.mz"; na: "ab.na"; nb: "ab.nb"; nc: "ab.nc"; nd: "ab.nd"; ne: "ab.ne"; nf: "ab.nf"; ng: "ab.ng"; nh: "ab.nh"; ni: "ab.ni"; nj: "ab.nj"; nk: "ab.nk"; nl: "ab.nl"; nm: "ab.nm"; nn: "ab.nn"; no: "ab.no"; np: "ab.np"; nq: "ab.nq"; nr: "ab.nr"; ns: "ab.ns"; nt: "ab.nt"; nu: "ab.nu"; nv: "ab.nv"; nw: "ab.nw"; nx: "ab.nx"; ny: "ab.ny"; nz: "ab.nz"; oa: "ab.oa"; ob: "ab.ob"; oc: "ab.oc"; od: "ab.od"; oe: "ab.oe"; of: "ab.of"; og: "ab.og"; oh: "ab.oh"; oi: "ab.oi"; oj: "ab.oj"; ok: "ab.ok"; ol: "ab.ol"; om: "ab.om"; on: "ab.on"; oo: "ab.oo"; op: "ab.op"; oq: "ab.oq"; or: "ab.or"; os: "ab.os"; ot: "ab.ot"; ou: "ab.ou"; ov: "ab.ov"; ow: "ab.ow"; ox: "ab.ox"; oy: "ab.oy"; oz: "ab.oz"; pa: "ab.pa"; pb: "ab.pb"; pc: "ab.pc"; pd: "ab.pd"; pe: "ab.pe"; pf: "ab.pf"; pg: "ab.pg"; ph: "ab.ph"; pi: "ab.pi"; pj: "ab.pj"; pk: "ab.pk"; pl: "ab.pl"; pm: "ab.pm"; pn: "ab.pn"; po: "ab.po"; pp: "ab.pp"; pq: "ab.pq"; pr: "ab.pr"; ps: "ab.ps"; pt: "ab.pt"; pu: "ab.pu"; pv: "ab.pv"; pw: "ab.pw"; px: "ab.px"; py: "ab.py"; pz: "ab.pz"; qa: "ab.qa"; qb: "ab.qb"; qc: "ab.qc"; qd: "ab.qd"; qe: "ab.qe"; qf: "ab.qf"; qg: "ab.qg"; qh: "ab.qh"; qi: "ab.qi"; qj: "ab.qj"; qk: "ab.qk"; ql: "ab.ql"; qm: "ab.qm"; qn: "ab.qn"; qo: "ab.qo"; qp: "ab.qp"; qq: "ab.qq"; qr: "ab.qr"; qs: "ab.qs"; qt: "ab.qt"; qu: "ab.qu"; qv: "ab.qv"; qw: "ab.qw"; qx: "ab.qx"; qy: "ab.qy"; qz: "ab.qz"; ra: "ab.ra"; rb: "ab.rb"; rc: "ab.rc"; rd: "ab.rd"; re: "ab.re"; rf: "ab.rf"; rg: "ab.rg"; rh: "ab.rh"; ri: "ab.ri"; rj: "ab.rj"; rk: "ab.rk"; rl: "ab.rl"; rm: "ab.rm"; rn: "ab.rn"; ro: "ab.ro"; rp: "ab.rp"; rq: "ab.rq"; rr: "ab.rr"; rs: "ab.rs"; rt: "ab.rt"; ru: "ab.ru"; rv: "ab.rv"; rw: "ab.rw"; rx: "ab.rx"; ry: "ab.ry"; rz: "ab.rz"; sa: "ab.sa"; sb: "ab.sb"; sc: "ab.sc"; sd: "ab.sd"; se: "ab.se"; sf: "ab.sf"; sg: "ab.sg"; sh: "ab.sh"; si: "ab.si"; sj: "ab.sj"; sk: "ab.sk"; sl: "ab.sl"; sm: "ab.sm"; sn: "ab.sn"; so: "ab.so"; sp: "ab.sp"; sq: "ab.sq"; sr: "ab.sr"; ss: "ab.ss"; st: "ab.st"; su: "ab.su"; sv: "ab.sv"; sw: "ab.sw"; sx: "ab.sx"; sy: "ab.sy"; sz: "ab.sz"; ta: "ab.ta"; tb: "ab.tb"; tc: "ab.tc"; td: "ab.td"; te: "ab.te"; tf: "ab.tf"; tg: "ab.tg"; th: "ab.th"; ti: "ab.ti"; tj: "ab.tj"; tk: "ab.tk"; tl: "ab.tl"; tm: "ab.tm"; tn: "ab.tn"; to: "ab.to"; tp: "ab.tp"; tq: "ab.tq"; tr: "ab.tr"; ts: "ab.ts"; tt: "ab.tt"; tu: "ab.tu"; tv: "ab.tv"; tw: "ab.tw"; tx: "ab.tx"; ty: "ab.ty"; tz: "ab.tz"; ua: "ab.ua"; ub: "ab.ub"; uc: "ab.uc"; ud: "ab.ud"; ue: "ab.ue"; uf: "ab.uf"; ug: "ab.ug"; uh: "ab.uh"; ui: "ab.ui"; uj: "ab.uj"; uk: "ab.uk"; ul: "ab.ul"; um: "ab.um"; un: "ab.un"; uo: "ab.uo"; up: "ab.up"; uq: "ab.uq"; ur: "ab.ur"; us: "ab.us"; ut: "ab.ut"; uu: "ab.uu"; uv: "ab.uv"; uw: "ab.uw"; ux: "ab.ux"; uy: "ab.uy"; uz: "ab.uz"; va: "ab.va"; vb: "ab.vb"; vc: "ab.vc"; vd: "ab.vd"; ve: "ab.ve"; vf: "ab.vf"; vg: "ab.vg"; vh: "ab.vh"; vi: "ab.vi"; vj: "ab.vj"; vk: "ab.vk"; vl: "ab.vl"; vm: "ab.vm"; vn: "ab.vn"; vo: "ab.vo"; vp: "ab.vp"; vq: "ab.vq"; vr: "ab.vr"; vs: "ab.vs"; vt: "ab.vt"; vu: "ab.vu"; vv: "ab.vv"; vw: "ab.vw"; vx: "ab.vx"; vy: "ab.vy"; vz: "ab.vz"; wa: "ab.wa"; wb: "ab.wb"; wc: "ab.wc"; wd: "ab.wd"; we: "ab.we"; wf: "ab.wf"; wg: "ab.wg"; wh: "ab.wh"; wi: "ab.wi"; wj: "ab.wj"; wk: "ab.wk"; wl: "ab.wl"; wm: "ab.wm"; wn: "ab.wn"; wo: "ab.wo"; wp: "ab.wp"; wq: "ab.wq"; wr: "ab.wr"; ws: "ab.ws"; wt: "ab.wt"; wu: "ab.wu"; wv: "ab.wv"; ww: "ab.ww"; wx: "ab.wx"; wy: "ab.wy"; wz: "ab.wz"; xa: "ab.xa"; xb: "ab.xb"; xc: "ab.xc"; xd: "ab.xd"; xe: "ab.xe"; xf: "ab.xf"; xg: "ab.xg"; xh: "ab.xh"; xi: "ab.xi"; xj: "ab.xj"; xk: "ab.xk"; xl: "ab.xl"; xm: "ab.xm"; xn: "ab.xn"; xo: "ab.xo"; xp: "ab.xp"; xq: "ab.xq"; xr: "ab.xr"; xs: "ab.xs"; xt: "ab.xt"; xu: "ab.xu"; xv: "ab.xv"; xw: "ab.xw"; xx: "ab.xx"; xy: "ab.xy"; xz: "ab.xz"; ya: "ab.ya"; yb: "ab.yb"; yc: "ab.yc"; yd: "ab.yd"; ye: "ab.ye"; yf: "ab.yf"; yg: "ab.yg"; yh: "ab.yh"; yi: "ab.yi"; yj: "ab.yj"; yk: "ab.yk"; yl: "ab.yl"; ym: "ab.ym"; yn: "ab.yn"; yo: "ab.yo"; yp: "ab.yp"; yq: "ab.yq"; yr: "ab.yr"; ys: "ab.ys"; yt: "ab.yt"; yu: "ab.yu"; yv: "ab.yv"; yw: "ab.yw"; yx: "ab.yx"; yy: "ab.yy"; yz: "ab.yz"; za: "ab.za"; zb: "ab.zb"; zc: "ab.zc"; zd: "ab.zd"; ze: "ab.ze"; zf: "ab.zf"; zg: "ab.zg"; zh: "ab.zh"; zi: "ab.zi"; zj: "ab.zj"; zk: "ab.zk"; zl: "ab.zl"; zm: "ab.zm"; zn: "ab.zn"; zo: "ab.zo"; zp: "ab.zp"; zq: "ab.zq"; zr: "ab.zr"; zs: "ab.zs"; zt: "ab.zt"; zu: "ab.zu"; zv: "ab.zv"; zw: "ab.zw"; zx: "ab.zx"; zy: "ab.zy"; zz: "ab.zz"; }; ac: { aa: "ac.aa"; ab: "ac.ab"; ac: "ac.ac"; ad: "ac.ad"; ae: "ac.ae"; af: "ac.af"; ag: "ac.ag"; ah: "ac.ah"; ai: "ac.ai"; aj: "ac.aj"; ak: "ac.ak"; al: "ac.al"; am: "ac.am"; an: "ac.an"; ao: "ac.ao"; ap: "ac.ap"; aq: "ac.aq"; ar: "ac.ar"; as: "ac.as"; at: "ac.at"; au: "ac.au"; av: "ac.av"; aw: "ac.aw"; ax: "ac.ax"; ay: "ac.ay"; az: "ac.az"; ba: "ac.ba"; bb: "ac.bb"; bc: "ac.bc"; bd: "ac.bd"; be: "ac.be"; bf: "ac.bf"; bg: "ac.bg"; bh: "ac.bh"; bi: "ac.bi"; bj: "ac.bj"; bk: "ac.bk"; bl: "ac.bl"; bm: "ac.bm"; bn: "ac.bn"; bo: "ac.bo"; bp: "ac.bp"; bq: "ac.bq"; br: "ac.br"; bs: "ac.bs"; bt: "ac.bt"; bu: "ac.bu"; bv: "ac.bv"; bw: "ac.bw"; bx: "ac.bx"; by: "ac.by"; bz: "ac.bz"; ca: "ac.ca"; cb: "ac.cb"; cc: "ac.cc"; cd: "ac.cd"; ce: "ac.ce"; cf: "ac.cf"; cg: "ac.cg"; ch: "ac.ch"; ci: "ac.ci"; cj: "ac.cj"; ck: "ac.ck"; cl: "ac.cl"; cm: "ac.cm"; cn: "ac.cn"; co: "ac.co"; cp: "ac.cp"; cq: "ac.cq"; cr: "ac.cr"; cs: "ac.cs"; ct: "ac.ct"; cu: "ac.cu"; cv: "ac.cv"; cw: "ac.cw"; cx: "ac.cx"; cy: "ac.cy"; cz: "ac.cz"; da: "ac.da"; db: "ac.db"; dc: "ac.dc"; dd: "ac.dd"; de: "ac.de"; df: "ac.df"; dg: "ac.dg"; dh: "ac.dh"; di: "ac.di"; dj: "ac.dj"; dk: "ac.dk"; dl: "ac.dl"; dm: "ac.dm"; dn: "ac.dn"; do: "ac.do"; dp: "ac.dp"; dq: "ac.dq"; dr: "ac.dr"; ds: "ac.ds"; dt: "ac.dt"; du: "ac.du"; dv: "ac.dv"; dw: "ac.dw"; dx: "ac.dx"; dy: "ac.dy"; dz: "ac.dz"; ea: "ac.ea"; eb: "ac.eb"; ec: "ac.ec"; ed: "ac.ed"; ee: "ac.ee"; ef: "ac.ef"; eg: "ac.eg"; eh: "ac.eh"; ei: "ac.ei"; ej: "ac.ej"; ek: "ac.ek"; el: "ac.el"; em: "ac.em"; en: "ac.en"; eo: "ac.eo"; ep: "ac.ep"; eq: "ac.eq"; er: "ac.er"; es: "ac.es"; et: "ac.et"; eu: "ac.eu"; ev: "ac.ev"; ew: "ac.ew"; ex: "ac.ex"; ey: "ac.ey"; ez: "ac.ez"; fa: "ac.fa"; fb: "ac.fb"; fc: "ac.fc"; fd: "ac.fd"; fe: "ac.fe"; ff: "ac.ff"; fg: "ac.fg"; fh: "ac.fh"; fi: "ac.fi"; fj: "ac.fj"; fk: "ac.fk"; fl: "ac.fl"; fm: "ac.fm"; fn: "ac.fn"; fo: "ac.fo"; fp: "ac.fp"; fq: "ac.fq"; fr: "ac.fr"; fs: "ac.fs"; ft: "ac.ft"; fu: "ac.fu"; fv: "ac.fv"; fw: "ac.fw"; fx: "ac.fx"; fy: "ac.fy"; fz: "ac.fz"; ga: "ac.ga"; gb: "ac.gb"; gc: "ac.gc"; gd: "ac.gd"; ge: "ac.ge"; gf: "ac.gf"; gg: "ac.gg"; gh: "ac.gh"; gi: "ac.gi"; gj: "ac.gj"; gk: "ac.gk"; gl: "ac.gl"; gm: "ac.gm"; gn: "ac.gn"; go: "ac.go"; gp: "ac.gp"; gq: "ac.gq"; gr: "ac.gr"; gs: "ac.gs"; gt: "ac.gt"; gu: "ac.gu"; gv: "ac.gv"; gw: "ac.gw"; gx: "ac.gx"; gy: "ac.gy"; gz: "ac.gz"; ha: "ac.ha"; hb: "ac.hb"; hc: "ac.hc"; hd: "ac.hd"; he: "ac.he"; hf: "ac.hf"; hg: "ac.hg"; hh: "ac.hh"; hi: "ac.hi"; hj: "ac.hj"; hk: "ac.hk"; hl: "ac.hl"; hm: "ac.hm"; hn: "ac.hn"; ho: "ac.ho"; hp: "ac.hp"; hq: "ac.hq"; hr: "ac.hr"; hs: "ac.hs"; ht: "ac.ht"; hu: "ac.hu"; hv: "ac.hv"; hw: "ac.hw"; hx: "ac.hx"; hy: "ac.hy"; hz: "ac.hz"; ia: "ac.ia"; ib: "ac.ib"; ic: "ac.ic"; id: "ac.id"; ie: "ac.ie"; if: "ac.if"; ig: "ac.ig"; ih: "ac.ih"; ii: "ac.ii"; ij: "ac.ij"; ik: "ac.ik"; il: "ac.il"; im: "ac.im"; in: "ac.in"; io: "ac.io"; ip: "ac.ip"; iq: "ac.iq"; ir: "ac.ir"; is: "ac.is"; it: "ac.it"; iu: "ac.iu"; iv: "ac.iv"; iw: "ac.iw"; ix: "ac.ix"; iy: "ac.iy"; iz: "ac.iz"; ja: "ac.ja"; jb: "ac.jb"; jc: "ac.jc"; jd: "ac.jd"; je: "ac.je"; jf: "ac.jf"; jg: "ac.jg"; jh: "ac.jh"; ji: "ac.ji"; jj: "ac.jj"; jk: "ac.jk"; jl: "ac.jl"; jm: "ac.jm"; jn: "ac.jn"; jo: "ac.jo"; jp: "ac.jp"; jq: "ac.jq"; jr: "ac.jr"; js: "ac.js"; jt: "ac.jt"; ju: "ac.ju"; jv: "ac.jv"; jw: "ac.jw"; jx: "ac.jx"; jy: "ac.jy"; jz: "ac.jz"; ka: "ac.ka"; kb: "ac.kb"; kc: "ac.kc"; kd: "ac.kd"; ke: "ac.ke"; kf: "ac.kf"; kg: "ac.kg"; kh: "ac.kh"; ki: "ac.ki"; kj: "ac.kj"; kk: "ac.kk"; kl: "ac.kl"; km: "ac.km"; kn: "ac.kn"; ko: "ac.ko"; kp: "ac.kp"; kq: "ac.kq"; kr: "ac.kr"; ks: "ac.ks"; kt: "ac.kt"; ku: "ac.ku"; kv: "ac.kv"; kw: "ac.kw"; kx: "ac.kx"; ky: "ac.ky"; kz: "ac.kz"; la: "ac.la"; lb: "ac.lb"; lc: "ac.lc"; ld: "ac.ld"; le: "ac.le"; lf: "ac.lf"; lg: "ac.lg"; lh: "ac.lh"; li: "ac.li"; lj: "ac.lj"; lk: "ac.lk"; ll: "ac.ll"; lm: "ac.lm"; ln: "ac.ln"; lo: "ac.lo"; lp: "ac.lp"; lq: "ac.lq"; lr: "ac.lr"; ls: "ac.ls"; lt: "ac.lt"; lu: "ac.lu"; lv: "ac.lv"; lw: "ac.lw"; lx: "ac.lx"; ly: "ac.ly"; lz: "ac.lz"; ma: "ac.ma"; mb: "ac.mb"; mc: "ac.mc"; md: "ac.md"; me: "ac.me"; mf: "ac.mf"; mg: "ac.mg"; mh: "ac.mh"; mi: "ac.mi"; mj: "ac.mj"; mk: "ac.mk"; ml: "ac.ml"; mm: "ac.mm"; mn: "ac.mn"; mo: "ac.mo"; mp: "ac.mp"; mq: "ac.mq"; mr: "ac.mr"; ms: "ac.ms"; mt: "ac.mt"; mu: "ac.mu"; mv: "ac.mv"; mw: "ac.mw"; mx: "ac.mx"; my: "ac.my"; mz: "ac.mz"; na: "ac.na"; nb: "ac.nb"; nc: "ac.nc"; nd: "ac.nd"; ne: "ac.ne"; nf: "ac.nf"; ng: "ac.ng"; nh: "ac.nh"; ni: "ac.ni"; nj: "ac.nj"; nk: "ac.nk"; nl: "ac.nl"; nm: "ac.nm"; nn: "ac.nn"; no: "ac.no"; np: "ac.np"; nq: "ac.nq"; nr: "ac.nr"; ns: "ac.ns"; nt: "ac.nt"; nu: "ac.nu"; nv: "ac.nv"; nw: "ac.nw"; nx: "ac.nx"; ny: "ac.ny"; nz: "ac.nz"; oa: "ac.oa"; ob: "ac.ob"; oc: "ac.oc"; od: "ac.od"; oe: "ac.oe"; of: "ac.of"; og: "ac.og"; oh: "ac.oh"; oi: "ac.oi"; oj: "ac.oj"; ok: "ac.ok"; ol: "ac.ol"; om: "ac.om"; on: "ac.on"; oo: "ac.oo"; op: "ac.op"; oq: "ac.oq"; or: "ac.or"; os: "ac.os"; ot: "ac.ot"; ou: "ac.ou"; ov: "ac.ov"; ow: "ac.ow"; ox: "ac.ox"; oy: "ac.oy"; oz: "ac.oz"; pa: "ac.pa"; pb: "ac.pb"; pc: "ac.pc"; pd: "ac.pd"; pe: "ac.pe"; pf: "ac.pf"; pg: "ac.pg"; ph: "ac.ph"; pi: "ac.pi"; pj: "ac.pj"; pk: "ac.pk"; pl: "ac.pl"; pm: "ac.pm"; pn: "ac.pn"; po: "ac.po"; pp: "ac.pp"; pq: "ac.pq"; pr: "ac.pr"; ps: "ac.ps"; pt: "ac.pt"; pu: "ac.pu"; pv: "ac.pv"; pw: "ac.pw"; px: "ac.px"; py: "ac.py"; pz: "ac.pz"; qa: "ac.qa"; qb: "ac.qb"; qc: "ac.qc"; qd: "ac.qd"; qe: "ac.qe"; qf: "ac.qf"; qg: "ac.qg"; qh: "ac.qh"; qi: "ac.qi"; qj: "ac.qj"; qk: "ac.qk"; ql: "ac.ql"; qm: "ac.qm"; qn: "ac.qn"; qo: "ac.qo"; qp: "ac.qp"; qq: "ac.qq"; qr: "ac.qr"; qs: "ac.qs"; qt: "ac.qt"; qu: "ac.qu"; qv: "ac.qv"; qw: "ac.qw"; qx: "ac.qx"; qy: "ac.qy"; qz: "ac.qz"; ra: "ac.ra"; rb: "ac.rb"; rc: "ac.rc"; rd: "ac.rd"; re: "ac.re"; rf: "ac.rf"; rg: "ac.rg"; rh: "ac.rh"; ri: "ac.ri"; rj: "ac.rj"; rk: "ac.rk"; rl: "ac.rl"; rm: "ac.rm"; rn: "ac.rn"; ro: "ac.ro"; rp: "ac.rp"; rq: "ac.rq"; rr: "ac.rr"; rs: "ac.rs"; rt: "ac.rt"; ru: "ac.ru"; rv: "ac.rv"; rw: "ac.rw"; rx: "ac.rx"; ry: "ac.ry"; rz: "ac.rz"; sa: "ac.sa"; sb: "ac.sb"; sc: "ac.sc"; sd: "ac.sd"; se: "ac.se"; sf: "ac.sf"; sg: "ac.sg"; sh: "ac.sh"; si: "ac.si"; sj: "ac.sj"; sk: "ac.sk"; sl: "ac.sl"; sm: "ac.sm"; sn: "ac.sn"; so: "ac.so"; sp: "ac.sp"; sq: "ac.sq"; sr: "ac.sr"; ss: "ac.ss"; st: "ac.st"; su: "ac.su"; sv: "ac.sv"; sw: "ac.sw"; sx: "ac.sx"; sy: "ac.sy"; sz: "ac.sz"; ta: "ac.ta"; tb: "ac.tb"; tc: "ac.tc"; td: "ac.td"; te: "ac.te"; tf: "ac.tf"; tg: "ac.tg"; th: "ac.th"; ti: "ac.ti"; tj: "ac.tj"; tk: "ac.tk"; tl: "ac.tl"; tm: "ac.tm"; tn: "ac.tn"; to: "ac.to"; tp: "ac.tp"; tq: "ac.tq"; tr: "ac.tr"; ts: "ac.ts"; tt: "ac.tt"; tu: "ac.tu"; tv: "ac.tv"; tw: "ac.tw"; tx: "ac.tx"; ty: "ac.ty"; tz: "ac.tz"; ua: "ac.ua"; ub: "ac.ub"; uc: "ac.uc"; ud: "ac.ud"; ue: "ac.ue"; uf: "ac.uf"; ug: "ac.ug"; uh: "ac.uh"; ui: "ac.ui"; uj: "ac.uj"; uk: "ac.uk"; ul: "ac.ul"; um: "ac.um"; un: "ac.un"; uo: "ac.uo"; up: "ac.up"; uq: "ac.uq"; ur: "ac.ur"; us: "ac.us"; ut: "ac.ut"; uu: "ac.uu"; uv: "ac.uv"; uw: "ac.uw"; ux: "ac.ux"; uy: "ac.uy"; uz: "ac.uz"; va: "ac.va"; vb: "ac.vb"; vc: "ac.vc"; vd: "ac.vd"; ve: "ac.ve"; vf: "ac.vf"; vg: "ac.vg"; vh: "ac.vh"; vi: "ac.vi"; vj: "ac.vj"; vk: "ac.vk"; vl: "ac.vl"; vm: "ac.vm"; vn: "ac.vn"; vo: "ac.vo"; vp: "ac.vp"; vq: "ac.vq"; vr: "ac.vr"; vs: "ac.vs"; vt: "ac.vt"; vu: "ac.vu"; vv: "ac.vv"; vw: "ac.vw"; vx: "ac.vx"; vy: "ac.vy"; vz: "ac.vz"; wa: "ac.wa"; wb: "ac.wb"; wc: "ac.wc"; wd: "ac.wd"; we: "ac.we"; wf: "ac.wf"; wg: "ac.wg"; wh: "ac.wh"; wi: "ac.wi"; wj: "ac.wj"; wk: "ac.wk"; wl: "ac.wl"; wm: "ac.wm"; wn: "ac.wn"; wo: "ac.wo"; wp: "ac.wp"; wq: "ac.wq"; wr: "ac.wr"; ws: "ac.ws"; wt: "ac.wt"; wu: "ac.wu"; wv: "ac.wv"; ww: "ac.ww"; wx: "ac.wx"; wy: "ac.wy"; wz: "ac.wz"; xa: "ac.xa"; xb: "ac.xb"; xc: "ac.xc"; xd: "ac.xd"; xe: "ac.xe"; xf: "ac.xf"; xg: "ac.xg"; xh: "ac.xh"; xi: "ac.xi"; xj: "ac.xj"; xk: "ac.xk"; xl: "ac.xl"; xm: "ac.xm"; xn: "ac.xn"; xo: "ac.xo"; xp: "ac.xp"; xq: "ac.xq"; xr: "ac.xr"; xs: "ac.xs"; xt: "ac.xt"; xu: "ac.xu"; xv: "ac.xv"; xw: "ac.xw"; xx: "ac.xx"; xy: "ac.xy"; xz: "ac.xz"; ya: "ac.ya"; yb: "ac.yb"; yc: "ac.yc"; yd: "ac.yd"; ye: "ac.ye"; yf: "ac.yf"; yg: "ac.yg"; yh: "ac.yh"; yi: "ac.yi"; yj: "ac.yj"; yk: "ac.yk"; yl: "ac.yl"; ym: "ac.ym"; yn: "ac.yn"; yo: "ac.yo"; yp: "ac.yp"; yq: "ac.yq"; yr: "ac.yr"; ys: "ac.ys"; yt: "ac.yt"; yu: "ac.yu"; yv: "ac.yv"; yw: "ac.yw"; yx: "ac.yx"; yy: "ac.yy"; yz: "ac.yz"; za: "ac.za"; zb: "ac.zb"; zc: "ac.zc"; zd: "ac.zd"; ze: "ac.ze"; zf: "ac.zf"; zg: "ac.zg"; zh: "ac.zh"; zi: "ac.zi"; zj: "ac.zj"; zk: "ac.zk"; zl: "ac.zl"; zm: "ac.zm"; zn: "ac.zn"; zo: "ac.zo"; zp: "ac.zp"; zq: "ac.zq"; zr: "ac.zr"; zs: "ac.zs"; zt: "ac.zt"; zu: "ac.zu"; zv: "ac.zv"; zw: "ac.zw"; zx: "ac.zx"; zy: "ac.zy"; zz: "ac.zz"; }; ad: { aa: "ad.aa"; ab: "ad.ab"; ac: "ad.ac"; ad: "ad.ad"; ae: "ad.ae"; af: "ad.af"; ag: "ad.ag"; ah: "ad.ah"; ai: "ad.ai"; aj: "ad.aj"; ak: "ad.ak"; al: "ad.al"; am: "ad.am"; an: "ad.an"; ao: "ad.ao"; ap: "ad.ap"; aq: "ad.aq"; ar: "ad.ar"; as: "ad.as"; at: "ad.at"; au: "ad.au"; av: "ad.av"; aw: "ad.aw"; ax: "ad.ax"; ay: "ad.ay"; az: "ad.az"; ba: "ad.ba"; bb: "ad.bb"; bc: "ad.bc"; bd: "ad.bd"; be: "ad.be"; bf: "ad.bf"; bg: "ad.bg"; bh: "ad.bh"; bi: "ad.bi"; bj: "ad.bj"; bk: "ad.bk"; bl: "ad.bl"; bm: "ad.bm"; bn: "ad.bn"; bo: "ad.bo"; bp: "ad.bp"; bq: "ad.bq"; br: "ad.br"; bs: "ad.bs"; bt: "ad.bt"; bu: "ad.bu"; bv: "ad.bv"; bw: "ad.bw"; bx: "ad.bx"; by: "ad.by"; bz: "ad.bz"; ca: "ad.ca"; cb: "ad.cb"; cc: "ad.cc"; cd: "ad.cd"; ce: "ad.ce"; cf: "ad.cf"; cg: "ad.cg"; ch: "ad.ch"; ci: "ad.ci"; cj: "ad.cj"; ck: "ad.ck"; cl: "ad.cl"; cm: "ad.cm"; cn: "ad.cn"; co: "ad.co"; cp: "ad.cp"; cq: "ad.cq"; cr: "ad.cr"; cs: "ad.cs"; ct: "ad.ct"; cu: "ad.cu"; cv: "ad.cv"; cw: "ad.cw"; cx: "ad.cx"; cy: "ad.cy"; cz: "ad.cz"; da: "ad.da"; db: "ad.db"; dc: "ad.dc"; dd: "ad.dd"; de: "ad.de"; df: "ad.df"; dg: "ad.dg"; dh: "ad.dh"; di: "ad.di"; dj: "ad.dj"; dk: "ad.dk"; dl: "ad.dl"; dm: "ad.dm"; dn: "ad.dn"; do: "ad.do"; dp: "ad.dp"; dq: "ad.dq"; dr: "ad.dr"; ds: "ad.ds"; dt: "ad.dt"; du: "ad.du"; dv: "ad.dv"; dw: "ad.dw"; dx: "ad.dx"; dy: "ad.dy"; dz: "ad.dz"; ea: "ad.ea"; eb: "ad.eb"; ec: "ad.ec"; ed: "ad.ed"; ee: "ad.ee"; ef: "ad.ef"; eg: "ad.eg"; eh: "ad.eh"; ei: "ad.ei"; ej: "ad.ej"; ek: "ad.ek"; el: "ad.el"; em: "ad.em"; en: "ad.en"; eo: "ad.eo"; ep: "ad.ep"; eq: "ad.eq"; er: "ad.er"; es: "ad.es"; et: "ad.et"; eu: "ad.eu"; ev: "ad.ev"; ew: "ad.ew"; ex: "ad.ex"; ey: "ad.ey"; ez: "ad.ez"; fa: "ad.fa"; fb: "ad.fb"; fc: "ad.fc"; fd: "ad.fd"; fe: "ad.fe"; ff: "ad.ff"; fg: "ad.fg"; fh: "ad.fh"; fi: "ad.fi"; fj: "ad.fj"; fk: "ad.fk"; fl: "ad.fl"; fm: "ad.fm"; fn: "ad.fn"; fo: "ad.fo"; fp: "ad.fp"; fq: "ad.fq"; fr: "ad.fr"; fs: "ad.fs"; ft: "ad.ft"; fu: "ad.fu"; fv: "ad.fv"; fw: "ad.fw"; fx: "ad.fx"; fy: "ad.fy"; fz: "ad.fz"; ga: "ad.ga"; gb: "ad.gb"; gc: "ad.gc"; gd: "ad.gd"; ge: "ad.ge"; gf: "ad.gf"; gg: "ad.gg"; gh: "ad.gh"; gi: "ad.gi"; gj: "ad.gj"; gk: "ad.gk"; gl: "ad.gl"; gm: "ad.gm"; gn: "ad.gn"; go: "ad.go"; gp: "ad.gp"; gq: "ad.gq"; gr: "ad.gr"; gs: "ad.gs"; gt: "ad.gt"; gu: "ad.gu"; gv: "ad.gv"; gw: "ad.gw"; gx: "ad.gx"; gy: "ad.gy"; gz: "ad.gz"; ha: "ad.ha"; hb: "ad.hb"; hc: "ad.hc"; hd: "ad.hd"; he: "ad.he"; hf: "ad.hf"; hg: "ad.hg"; hh: "ad.hh"; hi: "ad.hi"; hj: "ad.hj"; hk: "ad.hk"; hl: "ad.hl"; hm: "ad.hm"; hn: "ad.hn"; ho: "ad.ho"; hp: "ad.hp"; hq: "ad.hq"; hr: "ad.hr"; hs: "ad.hs"; ht: "ad.ht"; hu: "ad.hu"; hv: "ad.hv"; hw: "ad.hw"; hx: "ad.hx"; hy: "ad.hy"; hz: "ad.hz"; ia: "ad.ia"; ib: "ad.ib"; ic: "ad.ic"; id: "ad.id"; ie: "ad.ie"; if: "ad.if"; ig: "ad.ig"; ih: "ad.ih"; ii: "ad.ii"; ij: "ad.ij"; ik: "ad.ik"; il: "ad.il"; im: "ad.im"; in: "ad.in"; io: "ad.io"; ip: "ad.ip"; iq: "ad.iq"; ir: "ad.ir"; is: "ad.is"; it: "ad.it"; iu: "ad.iu"; iv: "ad.iv"; iw: "ad.iw"; ix: "ad.ix"; iy: "ad.iy"; iz: "ad.iz"; ja: "ad.ja"; jb: "ad.jb"; jc: "ad.jc"; jd: "ad.jd"; je: "ad.je"; jf: "ad.jf"; jg: "ad.jg"; jh: "ad.jh"; ji: "ad.ji"; jj: "ad.jj"; jk: "ad.jk"; jl: "ad.jl"; jm: "ad.jm"; jn: "ad.jn"; jo: "ad.jo"; jp: "ad.jp"; jq: "ad.jq"; jr: "ad.jr"; js: "ad.js"; jt: "ad.jt"; ju: "ad.ju"; jv: "ad.jv"; jw: "ad.jw"; jx: "ad.jx"; jy: "ad.jy"; jz: "ad.jz"; ka: "ad.ka"; kb: "ad.kb"; kc: "ad.kc"; kd: "ad.kd"; ke: "ad.ke"; kf: "ad.kf"; kg: "ad.kg"; kh: "ad.kh"; ki: "ad.ki"; kj: "ad.kj"; kk: "ad.kk"; kl: "ad.kl"; km: "ad.km"; kn: "ad.kn"; ko: "ad.ko"; kp: "ad.kp"; kq: "ad.kq"; kr: "ad.kr"; ks: "ad.ks"; kt: "ad.kt"; ku: "ad.ku"; kv: "ad.kv"; kw: "ad.kw"; kx: "ad.kx"; ky: "ad.ky"; kz: "ad.kz"; la: "ad.la"; lb: "ad.lb"; lc: "ad.lc"; ld: "ad.ld"; le: "ad.le"; lf: "ad.lf"; lg: "ad.lg"; lh: "ad.lh"; li: "ad.li"; lj: "ad.lj"; lk: "ad.lk"; ll: "ad.ll"; lm: "ad.lm"; ln: "ad.ln"; lo: "ad.lo"; lp: "ad.lp"; lq: "ad.lq"; lr: "ad.lr"; ls: "ad.ls"; lt: "ad.lt"; lu: "ad.lu"; lv: "ad.lv"; lw: "ad.lw"; lx: "ad.lx"; ly: "ad.ly"; lz: "ad.lz"; ma: "ad.ma"; mb: "ad.mb"; mc: "ad.mc"; md: "ad.md"; me: "ad.me"; mf: "ad.mf"; mg: "ad.mg"; mh: "ad.mh"; mi: "ad.mi"; mj: "ad.mj"; mk: "ad.mk"; ml: "ad.ml"; mm: "ad.mm"; mn: "ad.mn"; mo: "ad.mo"; mp: "ad.mp"; mq: "ad.mq"; mr: "ad.mr"; ms: "ad.ms"; mt: "ad.mt"; mu: "ad.mu"; mv: "ad.mv"; mw: "ad.mw"; mx: "ad.mx"; my: "ad.my"; mz: "ad.mz"; na: "ad.na"; nb: "ad.nb"; nc: "ad.nc"; nd: "ad.nd"; ne: "ad.ne"; nf: "ad.nf"; ng: "ad.ng"; nh: "ad.nh"; ni: "ad.ni"; nj: "ad.nj"; nk: "ad.nk"; nl: "ad.nl"; nm: "ad.nm"; nn: "ad.nn"; no: "ad.no"; np: "ad.np"; nq: "ad.nq"; nr: "ad.nr"; ns: "ad.ns"; nt: "ad.nt"; nu: "ad.nu"; nv: "ad.nv"; nw: "ad.nw"; nx: "ad.nx"; ny: "ad.ny"; nz: "ad.nz"; oa: "ad.oa"; ob: "ad.ob"; oc: "ad.oc"; od: "ad.od"; oe: "ad.oe"; of: "ad.of"; og: "ad.og"; oh: "ad.oh"; oi: "ad.oi"; oj: "ad.oj"; ok: "ad.ok"; ol: "ad.ol"; om: "ad.om"; on: "ad.on"; oo: "ad.oo"; op: "ad.op"; oq: "ad.oq"; or: "ad.or"; os: "ad.os"; ot: "ad.ot"; ou: "ad.ou"; ov: "ad.ov"; ow: "ad.ow"; ox: "ad.ox"; oy: "ad.oy"; oz: "ad.oz"; pa: "ad.pa"; pb: "ad.pb"; pc: "ad.pc"; pd: "ad.pd"; pe: "ad.pe"; pf: "ad.pf"; pg: "ad.pg"; ph: "ad.ph"; pi: "ad.pi"; pj: "ad.pj"; pk: "ad.pk"; pl: "ad.pl"; pm: "ad.pm"; pn: "ad.pn"; po: "ad.po"; pp: "ad.pp"; pq: "ad.pq"; pr: "ad.pr"; ps: "ad.ps"; pt: "ad.pt"; pu: "ad.pu"; pv: "ad.pv"; pw: "ad.pw"; px: "ad.px"; py: "ad.py"; pz: "ad.pz"; qa: "ad.qa"; qb: "ad.qb"; qc: "ad.qc"; qd: "ad.qd"; qe: "ad.qe"; qf: "ad.qf"; qg: "ad.qg"; qh: "ad.qh"; qi: "ad.qi"; qj: "ad.qj"; qk: "ad.qk"; ql: "ad.ql"; qm: "ad.qm"; qn: "ad.qn"; qo: "ad.qo"; qp: "ad.qp"; qq: "ad.qq"; qr: "ad.qr"; qs: "ad.qs"; qt: "ad.qt"; qu: "ad.qu"; qv: "ad.qv"; qw: "ad.qw"; qx: "ad.qx"; qy: "ad.qy"; qz: "ad.qz"; ra: "ad.ra"; rb: "ad.rb"; rc: "ad.rc"; rd: "ad.rd"; re: "ad.re"; rf: "ad.rf"; rg: "ad.rg"; rh: "ad.rh"; ri: "ad.ri"; rj: "ad.rj"; rk: "ad.rk"; rl: "ad.rl"; rm: "ad.rm"; rn: "ad.rn"; ro: "ad.ro"; rp: "ad.rp"; rq: "ad.rq"; rr: "ad.rr"; rs: "ad.rs"; rt: "ad.rt"; ru: "ad.ru"; rv: "ad.rv"; rw: "ad.rw"; rx: "ad.rx"; ry: "ad.ry"; rz: "ad.rz"; sa: "ad.sa"; sb: "ad.sb"; sc: "ad.sc"; sd: "ad.sd"; se: "ad.se"; sf: "ad.sf"; sg: "ad.sg"; sh: "ad.sh"; si: "ad.si"; sj: "ad.sj"; sk: "ad.sk"; sl: "ad.sl"; sm: "ad.sm"; sn: "ad.sn"; so: "ad.so"; sp: "ad.sp"; sq: "ad.sq"; sr: "ad.sr"; ss: "ad.ss"; st: "ad.st"; su: "ad.su"; sv: "ad.sv"; sw: "ad.sw"; sx: "ad.sx"; sy: "ad.sy"; sz: "ad.sz"; ta: "ad.ta"; tb: "ad.tb"; tc: "ad.tc"; td: "ad.td"; te: "ad.te"; tf: "ad.tf"; tg: "ad.tg"; th: "ad.th"; ti: "ad.ti"; tj: "ad.tj"; tk: "ad.tk"; tl: "ad.tl"; tm: "ad.tm"; tn: "ad.tn"; to: "ad.to"; tp: "ad.tp"; tq: "ad.tq"; tr: "ad.tr"; ts: "ad.ts"; tt: "ad.tt"; tu: "ad.tu"; tv: "ad.tv"; tw: "ad.tw"; tx: "ad.tx"; ty: "ad.ty"; tz: "ad.tz"; ua: "ad.ua"; ub: "ad.ub"; uc: "ad.uc"; ud: "ad.ud"; ue: "ad.ue"; uf: "ad.uf"; ug: "ad.ug"; uh: "ad.uh"; ui: "ad.ui"; uj: "ad.uj"; uk: "ad.uk"; ul: "ad.ul"; um: "ad.um"; un: "ad.un"; uo: "ad.uo"; up: "ad.up"; uq: "ad.uq"; ur: "ad.ur"; us: "ad.us"; ut: "ad.ut"; uu: "ad.uu"; uv: "ad.uv"; uw: "ad.uw"; ux: "ad.ux"; uy: "ad.uy"; uz: "ad.uz"; va: "ad.va"; vb: "ad.vb"; vc: "ad.vc"; vd: "ad.vd"; ve: "ad.ve"; vf: "ad.vf"; vg: "ad.vg"; vh: "ad.vh"; vi: "ad.vi"; vj: "ad.vj"; vk: "ad.vk"; vl: "ad.vl"; vm: "ad.vm"; vn: "ad.vn"; vo: "ad.vo"; vp: "ad.vp"; vq: "ad.vq"; vr: "ad.vr"; vs: "ad.vs"; vt: "ad.vt"; vu: "ad.vu"; vv: "ad.vv"; vw: "ad.vw"; vx: "ad.vx"; vy: "ad.vy"; vz: "ad.vz"; wa: "ad.wa"; wb: "ad.wb"; wc: "ad.wc"; wd: "ad.wd"; we: "ad.we"; wf: "ad.wf"; wg: "ad.wg"; wh: "ad.wh"; wi: "ad.wi"; wj: "ad.wj"; wk: "ad.wk"; wl: "ad.wl"; wm: "ad.wm"; wn: "ad.wn"; wo: "ad.wo"; wp: "ad.wp"; wq: "ad.wq"; wr: "ad.wr"; ws: "ad.ws"; wt: "ad.wt"; wu: "ad.wu"; wv: "ad.wv"; ww: "ad.ww"; wx: "ad.wx"; wy: "ad.wy"; wz: "ad.wz"; xa: "ad.xa"; xb: "ad.xb"; xc: "ad.xc"; xd: "ad.xd"; xe: "ad.xe"; xf: "ad.xf"; xg: "ad.xg"; xh: "ad.xh"; xi: "ad.xi"; xj: "ad.xj"; xk: "ad.xk"; xl: "ad.xl"; xm: "ad.xm"; xn: "ad.xn"; xo: "ad.xo"; xp: "ad.xp"; xq: "ad.xq"; xr: "ad.xr"; xs: "ad.xs"; xt: "ad.xt"; xu: "ad.xu"; xv: "ad.xv"; xw: "ad.xw"; xx: "ad.xx"; xy: "ad.xy"; xz: "ad.xz"; ya: "ad.ya"; yb: "ad.yb"; yc: "ad.yc"; yd: "ad.yd"; ye: "ad.ye"; yf: "ad.yf"; yg: "ad.yg"; yh: "ad.yh"; yi: "ad.yi"; yj: "ad.yj"; yk: "ad.yk"; yl: "ad.yl"; ym: "ad.ym"; yn: "ad.yn"; yo: "ad.yo"; yp: "ad.yp"; yq: "ad.yq"; yr: "ad.yr"; ys: "ad.ys"; yt: "ad.yt"; yu: "ad.yu"; yv: "ad.yv"; yw: "ad.yw"; yx: "ad.yx"; yy: "ad.yy"; yz: "ad.yz"; za: "ad.za"; zb: "ad.zb"; zc: "ad.zc"; zd: "ad.zd"; ze: "ad.ze"; zf: "ad.zf"; zg: "ad.zg"; zh: "ad.zh"; zi: "ad.zi"; zj: "ad.zj"; zk: "ad.zk"; zl: "ad.zl"; zm: "ad.zm"; zn: "ad.zn"; zo: "ad.zo"; zp: "ad.zp"; zq: "ad.zq"; zr: "ad.zr"; zs: "ad.zs"; zt: "ad.zt"; zu: "ad.zu"; zv: "ad.zv"; zw: "ad.zw"; zx: "ad.zx"; zy: "ad.zy"; zz: "ad.zz"; }; ae: { aa: "ae.aa"; ab: "ae.ab"; ac: "ae.ac"; ad: "ae.ad"; ae: "ae.ae"; af: "ae.af"; ag: "ae.ag"; ah: "ae.ah"; ai: "ae.ai"; aj: "ae.aj"; ak: "ae.ak"; al: "ae.al"; am: "ae.am"; an: "ae.an"; ao: "ae.ao"; ap: "ae.ap"; aq: "ae.aq"; ar: "ae.ar"; as: "ae.as"; at: "ae.at"; au: "ae.au"; av: "ae.av"; aw: "ae.aw"; ax: "ae.ax"; ay: "ae.ay"; az: "ae.az"; ba: "ae.ba"; bb: "ae.bb"; bc: "ae.bc"; bd: "ae.bd"; be: "ae.be"; bf: "ae.bf"; bg: "ae.bg"; bh: "ae.bh"; bi: "ae.bi"; bj: "ae.bj"; bk: "ae.bk"; bl: "ae.bl"; bm: "ae.bm"; bn: "ae.bn"; bo: "ae.bo"; bp: "ae.bp"; bq: "ae.bq"; br: "ae.br"; bs: "ae.bs"; bt: "ae.bt"; bu: "ae.bu"; bv: "ae.bv"; bw: "ae.bw"; bx: "ae.bx"; by: "ae.by"; bz: "ae.bz"; ca: "ae.ca"; cb: "ae.cb"; cc: "ae.cc"; cd: "ae.cd"; ce: "ae.ce"; cf: "ae.cf"; cg: "ae.cg"; ch: "ae.ch"; ci: "ae.ci"; cj: "ae.cj"; ck: "ae.ck"; cl: "ae.cl"; cm: "ae.cm"; cn: "ae.cn"; co: "ae.co"; cp: "ae.cp"; cq: "ae.cq"; cr: "ae.cr"; cs: "ae.cs"; ct: "ae.ct"; cu: "ae.cu"; cv: "ae.cv"; cw: "ae.cw"; cx: "ae.cx"; cy: "ae.cy"; cz: "ae.cz"; da: "ae.da"; db: "ae.db"; dc: "ae.dc"; dd: "ae.dd"; de: "ae.de"; df: "ae.df"; dg: "ae.dg"; dh: "ae.dh"; di: "ae.di"; dj: "ae.dj"; dk: "ae.dk"; dl: "ae.dl"; dm: "ae.dm"; dn: "ae.dn"; do: "ae.do"; dp: "ae.dp"; dq: "ae.dq"; dr: "ae.dr"; ds: "ae.ds"; dt: "ae.dt"; du: "ae.du"; dv: "ae.dv"; dw: "ae.dw"; dx: "ae.dx"; dy: "ae.dy"; dz: "ae.dz"; ea: "ae.ea"; eb: "ae.eb"; ec: "ae.ec"; ed: "ae.ed"; ee: "ae.ee"; ef: "ae.ef"; eg: "ae.eg"; eh: "ae.eh"; ei: "ae.ei"; ej: "ae.ej"; ek: "ae.ek"; el: "ae.el"; em: "ae.em"; en: "ae.en"; eo: "ae.eo"; ep: "ae.ep"; eq: "ae.eq"; er: "ae.er"; es: "ae.es"; et: "ae.et"; eu: "ae.eu"; ev: "ae.ev"; ew: "ae.ew"; ex: "ae.ex"; ey: "ae.ey"; ez: "ae.ez"; fa: "ae.fa"; fb: "ae.fb"; fc: "ae.fc"; fd: "ae.fd"; fe: "ae.fe"; ff: "ae.ff"; fg: "ae.fg"; fh: "ae.fh"; fi: "ae.fi"; fj: "ae.fj"; fk: "ae.fk"; fl: "ae.fl"; fm: "ae.fm"; fn: "ae.fn"; fo: "ae.fo"; fp: "ae.fp"; fq: "ae.fq"; fr: "ae.fr"; fs: "ae.fs"; ft: "ae.ft"; fu: "ae.fu"; fv: "ae.fv"; fw: "ae.fw"; fx: "ae.fx"; fy: "ae.fy"; fz: "ae.fz"; ga: "ae.ga"; gb: "ae.gb"; gc: "ae.gc"; gd: "ae.gd"; ge: "ae.ge"; gf: "ae.gf"; gg: "ae.gg"; gh: "ae.gh"; gi: "ae.gi"; gj: "ae.gj"; gk: "ae.gk"; gl: "ae.gl"; gm: "ae.gm"; gn: "ae.gn"; go: "ae.go"; gp: "ae.gp"; gq: "ae.gq"; gr: "ae.gr"; gs: "ae.gs"; gt: "ae.gt"; gu: "ae.gu"; gv: "ae.gv"; gw: "ae.gw"; gx: "ae.gx"; gy: "ae.gy"; gz: "ae.gz"; ha: "ae.ha"; hb: "ae.hb"; hc: "ae.hc"; hd: "ae.hd"; he: "ae.he"; hf: "ae.hf"; hg: "ae.hg"; hh: "ae.hh"; hi: "ae.hi"; hj: "ae.hj"; hk: "ae.hk"; hl: "ae.hl"; hm: "ae.hm"; hn: "ae.hn"; ho: "ae.ho"; hp: "ae.hp"; hq: "ae.hq"; hr: "ae.hr"; hs: "ae.hs"; ht: "ae.ht"; hu: "ae.hu"; hv: "ae.hv"; hw: "ae.hw"; hx: "ae.hx"; hy: "ae.hy"; hz: "ae.hz"; ia: "ae.ia"; ib: "ae.ib"; ic: "ae.ic"; id: "ae.id"; ie: "ae.ie"; if: "ae.if"; ig: "ae.ig"; ih: "ae.ih"; ii: "ae.ii"; ij: "ae.ij"; ik: "ae.ik"; il: "ae.il"; im: "ae.im"; in: "ae.in"; io: "ae.io"; ip: "ae.ip"; iq: "ae.iq"; ir: "ae.ir"; is: "ae.is"; it: "ae.it"; iu: "ae.iu"; iv: "ae.iv"; iw: "ae.iw"; ix: "ae.ix"; iy: "ae.iy"; iz: "ae.iz"; ja: "ae.ja"; jb: "ae.jb"; jc: "ae.jc"; jd: "ae.jd"; je: "ae.je"; jf: "ae.jf"; jg: "ae.jg"; jh: "ae.jh"; ji: "ae.ji"; jj: "ae.jj"; jk: "ae.jk"; jl: "ae.jl"; jm: "ae.jm"; jn: "ae.jn"; jo: "ae.jo"; jp: "ae.jp"; jq: "ae.jq"; jr: "ae.jr"; js: "ae.js"; jt: "ae.jt"; ju: "ae.ju"; jv: "ae.jv"; jw: "ae.jw"; jx: "ae.jx"; jy: "ae.jy"; jz: "ae.jz"; ka: "ae.ka"; kb: "ae.kb"; kc: "ae.kc"; kd: "ae.kd"; ke: "ae.ke"; kf: "ae.kf"; kg: "ae.kg"; kh: "ae.kh"; ki: "ae.ki"; kj: "ae.kj"; kk: "ae.kk"; kl: "ae.kl"; km: "ae.km"; kn: "ae.kn"; ko: "ae.ko"; kp: "ae.kp"; kq: "ae.kq"; kr: "ae.kr"; ks: "ae.ks"; kt: "ae.kt"; ku: "ae.ku"; kv: "ae.kv"; kw: "ae.kw"; kx: "ae.kx"; ky: "ae.ky"; kz: "ae.kz"; la: "ae.la"; lb: "ae.lb"; lc: "ae.lc"; ld: "ae.ld"; le: "ae.le"; lf: "ae.lf"; lg: "ae.lg"; lh: "ae.lh"; li: "ae.li"; lj: "ae.lj"; lk: "ae.lk"; ll: "ae.ll"; lm: "ae.lm"; ln: "ae.ln"; lo: "ae.lo"; lp: "ae.lp"; lq: "ae.lq"; lr: "ae.lr"; ls: "ae.ls"; lt: "ae.lt"; lu: "ae.lu"; lv: "ae.lv"; lw: "ae.lw"; lx: "ae.lx"; ly: "ae.ly"; lz: "ae.lz"; ma: "ae.ma"; mb: "ae.mb"; mc: "ae.mc"; md: "ae.md"; me: "ae.me"; mf: "ae.mf"; mg: "ae.mg"; mh: "ae.mh"; mi: "ae.mi"; mj: "ae.mj"; mk: "ae.mk"; ml: "ae.ml"; mm: "ae.mm"; mn: "ae.mn"; mo: "ae.mo"; mp: "ae.mp"; mq: "ae.mq"; mr: "ae.mr"; ms: "ae.ms"; mt: "ae.mt"; mu: "ae.mu"; mv: "ae.mv"; mw: "ae.mw"; mx: "ae.mx"; my: "ae.my"; mz: "ae.mz"; na: "ae.na"; nb: "ae.nb"; nc: "ae.nc"; nd: "ae.nd"; ne: "ae.ne"; nf: "ae.nf"; ng: "ae.ng"; nh: "ae.nh"; ni: "ae.ni"; nj: "ae.nj"; nk: "ae.nk"; nl: "ae.nl"; nm: "ae.nm"; nn: "ae.nn"; no: "ae.no"; np: "ae.np"; nq: "ae.nq"; nr: "ae.nr"; ns: "ae.ns"; nt: "ae.nt"; nu: "ae.nu"; nv: "ae.nv"; nw: "ae.nw"; nx: "ae.nx"; ny: "ae.ny"; nz: "ae.nz"; oa: "ae.oa"; ob: "ae.ob"; oc: "ae.oc"; od: "ae.od"; oe: "ae.oe"; of: "ae.of"; og: "ae.og"; oh: "ae.oh"; oi: "ae.oi"; oj: "ae.oj"; ok: "ae.ok"; ol: "ae.ol"; om: "ae.om"; on: "ae.on"; oo: "ae.oo"; op: "ae.op"; oq: "ae.oq"; or: "ae.or"; os: "ae.os"; ot: "ae.ot"; ou: "ae.ou"; ov: "ae.ov"; ow: "ae.ow"; ox: "ae.ox"; oy: "ae.oy"; oz: "ae.oz"; pa: "ae.pa"; pb: "ae.pb"; pc: "ae.pc"; pd: "ae.pd"; pe: "ae.pe"; pf: "ae.pf"; pg: "ae.pg"; ph: "ae.ph"; pi: "ae.pi"; pj: "ae.pj"; pk: "ae.pk"; pl: "ae.pl"; pm: "ae.pm"; pn: "ae.pn"; po: "ae.po"; pp: "ae.pp"; pq: "ae.pq"; pr: "ae.pr"; ps: "ae.ps"; pt: "ae.pt"; pu: "ae.pu"; pv: "ae.pv"; pw: "ae.pw"; px: "ae.px"; py: "ae.py"; pz: "ae.pz"; qa: "ae.qa"; qb: "ae.qb"; qc: "ae.qc"; qd: "ae.qd"; qe: "ae.qe"; qf: "ae.qf"; qg: "ae.qg"; qh: "ae.qh"; qi: "ae.qi"; qj: "ae.qj"; qk: "ae.qk"; ql: "ae.ql"; qm: "ae.qm"; qn: "ae.qn"; qo: "ae.qo"; qp: "ae.qp"; qq: "ae.qq"; qr: "ae.qr"; qs: "ae.qs"; qt: "ae.qt"; qu: "ae.qu"; qv: "ae.qv"; qw: "ae.qw"; qx: "ae.qx"; qy: "ae.qy"; qz: "ae.qz"; ra: "ae.ra"; rb: "ae.rb"; rc: "ae.rc"; rd: "ae.rd"; re: "ae.re"; rf: "ae.rf"; rg: "ae.rg"; rh: "ae.rh"; ri: "ae.ri"; rj: "ae.rj"; rk: "ae.rk"; rl: "ae.rl"; rm: "ae.rm"; rn: "ae.rn"; ro: "ae.ro"; rp: "ae.rp"; rq: "ae.rq"; rr: "ae.rr"; rs: "ae.rs"; rt: "ae.rt"; ru: "ae.ru"; rv: "ae.rv"; rw: "ae.rw"; rx: "ae.rx"; ry: "ae.ry"; rz: "ae.rz"; sa: "ae.sa"; sb: "ae.sb"; sc: "ae.sc"; sd: "ae.sd"; se: "ae.se"; sf: "ae.sf"; sg: "ae.sg"; sh: "ae.sh"; si: "ae.si"; sj: "ae.sj"; sk: "ae.sk"; sl: "ae.sl"; sm: "ae.sm"; sn: "ae.sn"; so: "ae.so"; sp: "ae.sp"; sq: "ae.sq"; sr: "ae.sr"; ss: "ae.ss"; st: "ae.st"; su: "ae.su"; sv: "ae.sv"; sw: "ae.sw"; sx: "ae.sx"; sy: "ae.sy"; sz: "ae.sz"; ta: "ae.ta"; tb: "ae.tb"; tc: "ae.tc"; td: "ae.td"; te: "ae.te"; tf: "ae.tf"; tg: "ae.tg"; th: "ae.th"; ti: "ae.ti"; tj: "ae.tj"; tk: "ae.tk"; tl: "ae.tl"; tm: "ae.tm"; tn: "ae.tn"; to: "ae.to"; tp: "ae.tp"; tq: "ae.tq"; tr: "ae.tr"; ts: "ae.ts"; tt: "ae.tt"; tu: "ae.tu"; tv: "ae.tv"; tw: "ae.tw"; tx: "ae.tx"; ty: "ae.ty"; tz: "ae.tz"; ua: "ae.ua"; ub: "ae.ub"; uc: "ae.uc"; ud: "ae.ud"; ue: "ae.ue"; uf: "ae.uf"; ug: "ae.ug"; uh: "ae.uh"; ui: "ae.ui"; uj: "ae.uj"; uk: "ae.uk"; ul: "ae.ul"; um: "ae.um"; un: "ae.un"; uo: "ae.uo"; up: "ae.up"; uq: "ae.uq"; ur: "ae.ur"; us: "ae.us"; ut: "ae.ut"; uu: "ae.uu"; uv: "ae.uv"; uw: "ae.uw"; ux: "ae.ux"; uy: "ae.uy"; uz: "ae.uz"; va: "ae.va"; vb: "ae.vb"; vc: "ae.vc"; vd: "ae.vd"; ve: "ae.ve"; vf: "ae.vf"; vg: "ae.vg"; vh: "ae.vh"; vi: "ae.vi"; vj: "ae.vj"; vk: "ae.vk"; vl: "ae.vl"; vm: "ae.vm"; vn: "ae.vn"; vo: "ae.vo"; vp: "ae.vp"; vq: "ae.vq"; vr: "ae.vr"; vs: "ae.vs"; vt: "ae.vt"; vu: "ae.vu"; vv: "ae.vv"; vw: "ae.vw"; vx: "ae.vx"; vy: "ae.vy"; vz: "ae.vz"; wa: "ae.wa"; wb: "ae.wb"; wc: "ae.wc"; wd: "ae.wd"; we: "ae.we"; wf: "ae.wf"; wg: "ae.wg"; wh: "ae.wh"; wi: "ae.wi"; wj: "ae.wj"; wk: "ae.wk"; wl: "ae.wl"; wm: "ae.wm"; wn: "ae.wn"; wo: "ae.wo"; wp: "ae.wp"; wq: "ae.wq"; wr: "ae.wr"; ws: "ae.ws"; wt: "ae.wt"; wu: "ae.wu"; wv: "ae.wv"; ww: "ae.ww"; wx: "ae.wx"; wy: "ae.wy"; wz: "ae.wz"; xa: "ae.xa"; xb: "ae.xb"; xc: "ae.xc"; xd: "ae.xd"; xe: "ae.xe"; xf: "ae.xf"; xg: "ae.xg"; xh: "ae.xh"; xi: "ae.xi"; xj: "ae.xj"; xk: "ae.xk"; xl: "ae.xl"; xm: "ae.xm"; xn: "ae.xn"; xo: "ae.xo"; xp: "ae.xp"; xq: "ae.xq"; xr: "ae.xr"; xs: "ae.xs"; xt: "ae.xt"; xu: "ae.xu"; xv: "ae.xv"; xw: "ae.xw"; xx: "ae.xx"; xy: "ae.xy"; xz: "ae.xz"; ya: "ae.ya"; yb: "ae.yb"; yc: "ae.yc"; yd: "ae.yd"; ye: "ae.ye"; yf: "ae.yf"; yg: "ae.yg"; yh: "ae.yh"; yi: "ae.yi"; yj: "ae.yj"; yk: "ae.yk"; yl: "ae.yl"; ym: "ae.ym"; yn: "ae.yn"; yo: "ae.yo"; yp: "ae.yp"; yq: "ae.yq"; yr: "ae.yr"; ys: "ae.ys"; yt: "ae.yt"; yu: "ae.yu"; yv: "ae.yv"; yw: "ae.yw"; yx: "ae.yx"; yy: "ae.yy"; yz: "ae.yz"; za: "ae.za"; zb: "ae.zb"; zc: "ae.zc"; zd: "ae.zd"; ze: "ae.ze"; zf: "ae.zf"; zg: "ae.zg"; zh: "ae.zh"; zi: "ae.zi"; zj: "ae.zj"; zk: "ae.zk"; zl: "ae.zl"; zm: "ae.zm"; zn: "ae.zn"; zo: "ae.zo"; zp: "ae.zp"; zq: "ae.zq"; zr: "ae.zr"; zs: "ae.zs"; zt: "ae.zt"; zu: "ae.zu"; zv: "ae.zv"; zw: "ae.zw"; zx: "ae.zx"; zy: "ae.zy"; zz: "ae.zz"; }; af: { aa: "af.aa"; ab: "af.ab"; ac: "af.ac"; ad: "af.ad"; ae: "af.ae"; af: "af.af"; ag: "af.ag"; ah: "af.ah"; ai: "af.ai"; aj: "af.aj"; ak: "af.ak"; al: "af.al"; am: "af.am"; an: "af.an"; ao: "af.ao"; ap: "af.ap"; aq: "af.aq"; ar: "af.ar"; as: "af.as"; at: "af.at"; au: "af.au"; av: "af.av"; aw: "af.aw"; ax: "af.ax"; ay: "af.ay"; az: "af.az"; ba: "af.ba"; bb: "af.bb"; bc: "af.bc"; bd: "af.bd"; be: "af.be"; bf: "af.bf"; bg: "af.bg"; bh: "af.bh"; bi: "af.bi"; bj: "af.bj"; bk: "af.bk"; bl: "af.bl"; bm: "af.bm"; bn: "af.bn"; bo: "af.bo"; bp: "af.bp"; bq: "af.bq"; br: "af.br"; bs: "af.bs"; bt: "af.bt"; bu: "af.bu"; bv: "af.bv"; bw: "af.bw"; bx: "af.bx"; by: "af.by"; bz: "af.bz"; ca: "af.ca"; cb: "af.cb"; cc: "af.cc"; cd: "af.cd"; ce: "af.ce"; cf: "af.cf"; cg: "af.cg"; ch: "af.ch"; ci: "af.ci"; cj: "af.cj"; ck: "af.ck"; cl: "af.cl"; cm: "af.cm"; cn: "af.cn"; co: "af.co"; cp: "af.cp"; cq: "af.cq"; cr: "af.cr"; cs: "af.cs"; ct: "af.ct"; cu: "af.cu"; cv: "af.cv"; cw: "af.cw"; cx: "af.cx"; cy: "af.cy"; cz: "af.cz"; da: "af.da"; db: "af.db"; dc: "af.dc"; dd: "af.dd"; de: "af.de"; df: "af.df"; dg: "af.dg"; dh: "af.dh"; di: "af.di"; dj: "af.dj"; dk: "af.dk"; dl: "af.dl"; dm: "af.dm"; dn: "af.dn"; do: "af.do"; dp: "af.dp"; dq: "af.dq"; dr: "af.dr"; ds: "af.ds"; dt: "af.dt"; du: "af.du"; dv: "af.dv"; dw: "af.dw"; dx: "af.dx"; dy: "af.dy"; dz: "af.dz"; ea: "af.ea"; eb: "af.eb"; ec: "af.ec"; ed: "af.ed"; ee: "af.ee"; ef: "af.ef"; eg: "af.eg"; eh: "af.eh"; ei: "af.ei"; ej: "af.ej"; ek: "af.ek"; el: "af.el"; em: "af.em"; en: "af.en"; eo: "af.eo"; ep: "af.ep"; eq: "af.eq"; er: "af.er"; es: "af.es"; et: "af.et"; eu: "af.eu"; ev: "af.ev"; ew: "af.ew"; ex: "af.ex"; ey: "af.ey"; ez: "af.ez"; fa: "af.fa"; fb: "af.fb"; fc: "af.fc"; fd: "af.fd"; fe: "af.fe"; ff: "af.ff"; fg: "af.fg"; fh: "af.fh"; fi: "af.fi"; fj: "af.fj"; fk: "af.fk"; fl: "af.fl"; fm: "af.fm"; fn: "af.fn"; fo: "af.fo"; fp: "af.fp"; fq: "af.fq"; fr: "af.fr"; fs: "af.fs"; ft: "af.ft"; fu: "af.fu"; fv: "af.fv"; fw: "af.fw"; fx: "af.fx"; fy: "af.fy"; fz: "af.fz"; ga: "af.ga"; gb: "af.gb"; gc: "af.gc"; gd: "af.gd"; ge: "af.ge"; gf: "af.gf"; gg: "af.gg"; gh: "af.gh"; gi: "af.gi"; gj: "af.gj"; gk: "af.gk"; gl: "af.gl"; gm: "af.gm"; gn: "af.gn"; go: "af.go"; gp: "af.gp"; gq: "af.gq"; gr: "af.gr"; gs: "af.gs"; gt: "af.gt"; gu: "af.gu"; gv: "af.gv"; gw: "af.gw"; gx: "af.gx"; gy: "af.gy"; gz: "af.gz"; ha: "af.ha"; hb: "af.hb"; hc: "af.hc"; hd: "af.hd"; he: "af.he"; hf: "af.hf"; hg: "af.hg"; hh: "af.hh"; hi: "af.hi"; hj: "af.hj"; hk: "af.hk"; hl: "af.hl"; hm: "af.hm"; hn: "af.hn"; ho: "af.ho"; hp: "af.hp"; hq: "af.hq"; hr: "af.hr"; hs: "af.hs"; ht: "af.ht"; hu: "af.hu"; hv: "af.hv"; hw: "af.hw"; hx: "af.hx"; hy: "af.hy"; hz: "af.hz"; ia: "af.ia"; ib: "af.ib"; ic: "af.ic"; id: "af.id"; ie: "af.ie"; if: "af.if"; ig: "af.ig"; ih: "af.ih"; ii: "af.ii"; ij: "af.ij"; ik: "af.ik"; il: "af.il"; im: "af.im"; in: "af.in"; io: "af.io"; ip: "af.ip"; iq: "af.iq"; ir: "af.ir"; is: "af.is"; it: "af.it"; iu: "af.iu"; iv: "af.iv"; iw: "af.iw"; ix: "af.ix"; iy: "af.iy"; iz: "af.iz"; ja: "af.ja"; jb: "af.jb"; jc: "af.jc"; jd: "af.jd"; je: "af.je"; jf: "af.jf"; jg: "af.jg"; jh: "af.jh"; ji: "af.ji"; jj: "af.jj"; jk: "af.jk"; jl: "af.jl"; jm: "af.jm"; jn: "af.jn"; jo: "af.jo"; jp: "af.jp"; jq: "af.jq"; jr: "af.jr"; js: "af.js"; jt: "af.jt"; ju: "af.ju"; jv: "af.jv"; jw: "af.jw"; jx: "af.jx"; jy: "af.jy"; jz: "af.jz"; ka: "af.ka"; kb: "af.kb"; kc: "af.kc"; kd: "af.kd"; ke: "af.ke"; kf: "af.kf"; kg: "af.kg"; kh: "af.kh"; ki: "af.ki"; kj: "af.kj"; kk: "af.kk"; kl: "af.kl"; km: "af.km"; kn: "af.kn"; ko: "af.ko"; kp: "af.kp"; kq: "af.kq"; kr: "af.kr"; ks: "af.ks"; kt: "af.kt"; ku: "af.ku"; kv: "af.kv"; kw: "af.kw"; kx: "af.kx"; ky: "af.ky"; kz: "af.kz"; la: "af.la"; lb: "af.lb"; lc: "af.lc"; ld: "af.ld"; le: "af.le"; lf: "af.lf"; lg: "af.lg"; lh: "af.lh"; li: "af.li"; lj: "af.lj"; lk: "af.lk"; ll: "af.ll"; lm: "af.lm"; ln: "af.ln"; lo: "af.lo"; lp: "af.lp"; lq: "af.lq"; lr: "af.lr"; ls: "af.ls"; lt: "af.lt"; lu: "af.lu"; lv: "af.lv"; lw: "af.lw"; lx: "af.lx"; ly: "af.ly"; lz: "af.lz"; ma: "af.ma"; mb: "af.mb"; mc: "af.mc"; md: "af.md"; me: "af.me"; mf: "af.mf"; mg: "af.mg"; mh: "af.mh"; mi: "af.mi"; mj: "af.mj"; mk: "af.mk"; ml: "af.ml"; mm: "af.mm"; mn: "af.mn"; mo: "af.mo"; mp: "af.mp"; mq: "af.mq"; mr: "af.mr"; ms: "af.ms"; mt: "af.mt"; mu: "af.mu"; mv: "af.mv"; mw: "af.mw"; mx: "af.mx"; my: "af.my"; mz: "af.mz"; na: "af.na"; nb: "af.nb"; nc: "af.nc"; nd: "af.nd"; ne: "af.ne"; nf: "af.nf"; ng: "af.ng"; nh: "af.nh"; ni: "af.ni"; nj: "af.nj"; nk: "af.nk"; nl: "af.nl"; nm: "af.nm"; nn: "af.nn"; no: "af.no"; np: "af.np"; nq: "af.nq"; nr: "af.nr"; ns: "af.ns"; nt: "af.nt"; nu: "af.nu"; nv: "af.nv"; nw: "af.nw"; nx: "af.nx"; ny: "af.ny"; nz: "af.nz"; oa: "af.oa"; ob: "af.ob"; oc: "af.oc"; od: "af.od"; oe: "af.oe"; of: "af.of"; og: "af.og"; oh: "af.oh"; oi: "af.oi"; oj: "af.oj"; ok: "af.ok"; ol: "af.ol"; om: "af.om"; on: "af.on"; oo: "af.oo"; op: "af.op"; oq: "af.oq"; or: "af.or"; os: "af.os"; ot: "af.ot"; ou: "af.ou"; ov: "af.ov"; ow: "af.ow"; ox: "af.ox"; oy: "af.oy"; oz: "af.oz"; pa: "af.pa"; pb: "af.pb"; pc: "af.pc"; pd: "af.pd"; pe: "af.pe"; pf: "af.pf"; pg: "af.pg"; ph: "af.ph"; pi: "af.pi"; pj: "af.pj"; pk: "af.pk"; pl: "af.pl"; pm: "af.pm"; pn: "af.pn"; po: "af.po"; pp: "af.pp"; pq: "af.pq"; pr: "af.pr"; ps: "af.ps"; pt: "af.pt"; pu: "af.pu"; pv: "af.pv"; pw: "af.pw"; px: "af.px"; py: "af.py"; pz: "af.pz"; qa: "af.qa"; qb: "af.qb"; qc: "af.qc"; qd: "af.qd"; qe: "af.qe"; qf: "af.qf"; qg: "af.qg"; qh: "af.qh"; qi: "af.qi"; qj: "af.qj"; qk: "af.qk"; ql: "af.ql"; qm: "af.qm"; qn: "af.qn"; qo: "af.qo"; qp: "af.qp"; qq: "af.qq"; qr: "af.qr"; qs: "af.qs"; qt: "af.qt"; qu: "af.qu"; qv: "af.qv"; qw: "af.qw"; qx: "af.qx"; qy: "af.qy"; qz: "af.qz"; ra: "af.ra"; rb: "af.rb"; rc: "af.rc"; rd: "af.rd"; re: "af.re"; rf: "af.rf"; rg: "af.rg"; rh: "af.rh"; ri: "af.ri"; rj: "af.rj"; rk: "af.rk"; rl: "af.rl"; rm: "af.rm"; rn: "af.rn"; ro: "af.ro"; rp: "af.rp"; rq: "af.rq"; rr: "af.rr"; rs: "af.rs"; rt: "af.rt"; ru: "af.ru"; rv: "af.rv"; rw: "af.rw"; rx: "af.rx"; ry: "af.ry"; rz: "af.rz"; sa: "af.sa"; sb: "af.sb"; sc: "af.sc"; sd: "af.sd"; se: "af.se"; sf: "af.sf"; sg: "af.sg"; sh: "af.sh"; si: "af.si"; sj: "af.sj"; sk: "af.sk"; sl: "af.sl"; sm: "af.sm"; sn: "af.sn"; so: "af.so"; sp: "af.sp"; sq: "af.sq"; sr: "af.sr"; ss: "af.ss"; st: "af.st"; su: "af.su"; sv: "af.sv"; sw: "af.sw"; sx: "af.sx"; sy: "af.sy"; sz: "af.sz"; ta: "af.ta"; tb: "af.tb"; tc: "af.tc"; td: "af.td"; te: "af.te"; tf: "af.tf"; tg: "af.tg"; th: "af.th"; ti: "af.ti"; tj: "af.tj"; tk: "af.tk"; tl: "af.tl"; tm: "af.tm"; tn: "af.tn"; to: "af.to"; tp: "af.tp"; tq: "af.tq"; tr: "af.tr"; ts: "af.ts"; tt: "af.tt"; tu: "af.tu"; tv: "af.tv"; tw: "af.tw"; tx: "af.tx"; ty: "af.ty"; tz: "af.tz"; ua: "af.ua"; ub: "af.ub"; uc: "af.uc"; ud: "af.ud"; ue: "af.ue"; uf: "af.uf"; ug: "af.ug"; uh: "af.uh"; ui: "af.ui"; uj: "af.uj"; uk: "af.uk"; ul: "af.ul"; um: "af.um"; un: "af.un"; uo: "af.uo"; up: "af.up"; uq: "af.uq"; ur: "af.ur"; us: "af.us"; ut: "af.ut"; uu: "af.uu"; uv: "af.uv"; uw: "af.uw"; ux: "af.ux"; uy: "af.uy"; uz: "af.uz"; va: "af.va"; vb: "af.vb"; vc: "af.vc"; vd: "af.vd"; ve: "af.ve"; vf: "af.vf"; vg: "af.vg"; vh: "af.vh"; vi: "af.vi"; vj: "af.vj"; vk: "af.vk"; vl: "af.vl"; vm: "af.vm"; vn: "af.vn"; vo: "af.vo"; vp: "af.vp"; vq: "af.vq"; vr: "af.vr"; vs: "af.vs"; vt: "af.vt"; vu: "af.vu"; vv: "af.vv"; vw: "af.vw"; vx: "af.vx"; vy: "af.vy"; vz: "af.vz"; wa: "af.wa"; wb: "af.wb"; wc: "af.wc"; wd: "af.wd"; we: "af.we"; wf: "af.wf"; wg: "af.wg"; wh: "af.wh"; wi: "af.wi"; wj: "af.wj"; wk: "af.wk"; wl: "af.wl"; wm: "af.wm"; wn: "af.wn"; wo: "af.wo"; wp: "af.wp"; wq: "af.wq"; wr: "af.wr"; ws: "af.ws"; wt: "af.wt"; wu: "af.wu"; wv: "af.wv"; ww: "af.ww"; wx: "af.wx"; wy: "af.wy"; wz: "af.wz"; xa: "af.xa"; xb: "af.xb"; xc: "af.xc"; xd: "af.xd"; xe: "af.xe"; xf: "af.xf"; xg: "af.xg"; xh: "af.xh"; xi: "af.xi"; xj: "af.xj"; xk: "af.xk"; xl: "af.xl"; xm: "af.xm"; xn: "af.xn"; xo: "af.xo"; xp: "af.xp"; xq: "af.xq"; xr: "af.xr"; xs: "af.xs"; xt: "af.xt"; xu: "af.xu"; xv: "af.xv"; xw: "af.xw"; xx: "af.xx"; xy: "af.xy"; xz: "af.xz"; ya: "af.ya"; yb: "af.yb"; yc: "af.yc"; yd: "af.yd"; ye: "af.ye"; yf: "af.yf"; yg: "af.yg"; yh: "af.yh"; yi: "af.yi"; yj: "af.yj"; yk: "af.yk"; yl: "af.yl"; ym: "af.ym"; yn: "af.yn"; yo: "af.yo"; yp: "af.yp"; yq: "af.yq"; yr: "af.yr"; ys: "af.ys"; yt: "af.yt"; yu: "af.yu"; yv: "af.yv"; yw: "af.yw"; yx: "af.yx"; yy: "af.yy"; yz: "af.yz"; za: "af.za"; zb: "af.zb"; zc: "af.zc"; zd: "af.zd"; ze: "af.ze"; zf: "af.zf"; zg: "af.zg"; zh: "af.zh"; zi: "af.zi"; zj: "af.zj"; zk: "af.zk"; zl: "af.zl"; zm: "af.zm"; zn: "af.zn"; zo: "af.zo"; zp: "af.zp"; zq: "af.zq"; zr: "af.zr"; zs: "af.zs"; zt: "af.zt"; zu: "af.zu"; zv: "af.zv"; zw: "af.zw"; zx: "af.zx"; zy: "af.zy"; zz: "af.zz"; }; ag: { aa: "ag.aa"; ab: "ag.ab"; ac: "ag.ac"; ad: "ag.ad"; ae: "ag.ae"; af: "ag.af"; ag: "ag.ag"; ah: "ag.ah"; ai: "ag.ai"; aj: "ag.aj"; ak: "ag.ak"; al: "ag.al"; am: "ag.am"; an: "ag.an"; ao: "ag.ao"; ap: "ag.ap"; aq: "ag.aq"; ar: "ag.ar"; as: "ag.as"; at: "ag.at"; au: "ag.au"; av: "ag.av"; aw: "ag.aw"; ax: "ag.ax"; ay: "ag.ay"; az: "ag.az"; ba: "ag.ba"; bb: "ag.bb"; bc: "ag.bc"; bd: "ag.bd"; be: "ag.be"; bf: "ag.bf"; bg: "ag.bg"; bh: "ag.bh"; bi: "ag.bi"; bj: "ag.bj"; bk: "ag.bk"; bl: "ag.bl"; bm: "ag.bm"; bn: "ag.bn"; bo: "ag.bo"; bp: "ag.bp"; bq: "ag.bq"; br: "ag.br"; bs: "ag.bs"; bt: "ag.bt"; bu: "ag.bu"; bv: "ag.bv"; bw: "ag.bw"; bx: "ag.bx"; by: "ag.by"; bz: "ag.bz"; ca: "ag.ca"; cb: "ag.cb"; cc: "ag.cc"; cd: "ag.cd"; ce: "ag.ce"; cf: "ag.cf"; cg: "ag.cg"; ch: "ag.ch"; ci: "ag.ci"; cj: "ag.cj"; ck: "ag.ck"; cl: "ag.cl"; cm: "ag.cm"; cn: "ag.cn"; co: "ag.co"; cp: "ag.cp"; cq: "ag.cq"; cr: "ag.cr"; cs: "ag.cs"; ct: "ag.ct"; cu: "ag.cu"; cv: "ag.cv"; cw: "ag.cw"; cx: "ag.cx"; cy: "ag.cy"; cz: "ag.cz"; da: "ag.da"; db: "ag.db"; dc: "ag.dc"; dd: "ag.dd"; de: "ag.de"; df: "ag.df"; dg: "ag.dg"; dh: "ag.dh"; di: "ag.di"; dj: "ag.dj"; dk: "ag.dk"; dl: "ag.dl"; dm: "ag.dm"; dn: "ag.dn"; do: "ag.do"; dp: "ag.dp"; dq: "ag.dq"; dr: "ag.dr"; ds: "ag.ds"; dt: "ag.dt"; du: "ag.du"; dv: "ag.dv"; dw: "ag.dw"; dx: "ag.dx"; dy: "ag.dy"; dz: "ag.dz"; ea: "ag.ea"; eb: "ag.eb"; ec: "ag.ec"; ed: "ag.ed"; ee: "ag.ee"; ef: "ag.ef"; eg: "ag.eg"; eh: "ag.eh"; ei: "ag.ei"; ej: "ag.ej"; ek: "ag.ek"; el: "ag.el"; em: "ag.em"; en: "ag.en"; eo: "ag.eo"; ep: "ag.ep"; eq: "ag.eq"; er: "ag.er"; es: "ag.es"; et: "ag.et"; eu: "ag.eu"; ev: "ag.ev"; ew: "ag.ew"; ex: "ag.ex"; ey: "ag.ey"; ez: "ag.ez"; fa: "ag.fa"; fb: "ag.fb"; fc: "ag.fc"; fd: "ag.fd"; fe: "ag.fe"; ff: "ag.ff"; fg: "ag.fg"; fh: "ag.fh"; fi: "ag.fi"; fj: "ag.fj"; fk: "ag.fk"; fl: "ag.fl"; fm: "ag.fm"; fn: "ag.fn"; fo: "ag.fo"; fp: "ag.fp"; fq: "ag.fq"; fr: "ag.fr"; fs: "ag.fs"; ft: "ag.ft"; fu: "ag.fu"; fv: "ag.fv"; fw: "ag.fw"; fx: "ag.fx"; fy: "ag.fy"; fz: "ag.fz"; ga: "ag.ga"; gb: "ag.gb"; gc: "ag.gc"; gd: "ag.gd"; ge: "ag.ge"; gf: "ag.gf"; gg: "ag.gg"; gh: "ag.gh"; gi: "ag.gi"; gj: "ag.gj"; gk: "ag.gk"; gl: "ag.gl"; gm: "ag.gm"; gn: "ag.gn"; go: "ag.go"; gp: "ag.gp"; gq: "ag.gq"; gr: "ag.gr"; gs: "ag.gs"; gt: "ag.gt"; gu: "ag.gu"; gv: "ag.gv"; gw: "ag.gw"; gx: "ag.gx"; gy: "ag.gy"; gz: "ag.gz"; ha: "ag.ha"; hb: "ag.hb"; hc: "ag.hc"; hd: "ag.hd"; he: "ag.he"; hf: "ag.hf"; hg: "ag.hg"; hh: "ag.hh"; hi: "ag.hi"; hj: "ag.hj"; hk: "ag.hk"; hl: "ag.hl"; hm: "ag.hm"; hn: "ag.hn"; ho: "ag.ho"; hp: "ag.hp"; hq: "ag.hq"; hr: "ag.hr"; hs: "ag.hs"; ht: "ag.ht"; hu: "ag.hu"; hv: "ag.hv"; hw: "ag.hw"; hx: "ag.hx"; hy: "ag.hy"; hz: "ag.hz"; ia: "ag.ia"; ib: "ag.ib"; ic: "ag.ic"; id: "ag.id"; ie: "ag.ie"; if: "ag.if"; ig: "ag.ig"; ih: "ag.ih"; ii: "ag.ii"; ij: "ag.ij"; ik: "ag.ik"; il: "ag.il"; im: "ag.im"; in: "ag.in"; io: "ag.io"; ip: "ag.ip"; iq: "ag.iq"; ir: "ag.ir"; is: "ag.is"; it: "ag.it"; iu: "ag.iu"; iv: "ag.iv"; iw: "ag.iw"; ix: "ag.ix"; iy: "ag.iy"; iz: "ag.iz"; ja: "ag.ja"; jb: "ag.jb"; jc: "ag.jc"; jd: "ag.jd"; je: "ag.je"; jf: "ag.jf"; jg: "ag.jg"; jh: "ag.jh"; ji: "ag.ji"; jj: "ag.jj"; jk: "ag.jk"; jl: "ag.jl"; jm: "ag.jm"; jn: "ag.jn"; jo: "ag.jo"; jp: "ag.jp"; jq: "ag.jq"; jr: "ag.jr"; js: "ag.js"; jt: "ag.jt"; ju: "ag.ju"; jv: "ag.jv"; jw: "ag.jw"; jx: "ag.jx"; jy: "ag.jy"; jz: "ag.jz"; ka: "ag.ka"; kb: "ag.kb"; kc: "ag.kc"; kd: "ag.kd"; ke: "ag.ke"; kf: "ag.kf"; kg: "ag.kg"; kh: "ag.kh"; ki: "ag.ki"; kj: "ag.kj"; kk: "ag.kk"; kl: "ag.kl"; km: "ag.km"; kn: "ag.kn"; ko: "ag.ko"; kp: "ag.kp"; kq: "ag.kq"; kr: "ag.kr"; ks: "ag.ks"; kt: "ag.kt"; ku: "ag.ku"; kv: "ag.kv"; kw: "ag.kw"; kx: "ag.kx"; ky: "ag.ky"; kz: "ag.kz"; la: "ag.la"; lb: "ag.lb"; lc: "ag.lc"; ld: "ag.ld"; le: "ag.le"; lf: "ag.lf"; lg: "ag.lg"; lh: "ag.lh"; li: "ag.li"; lj: "ag.lj"; lk: "ag.lk"; ll: "ag.ll"; lm: "ag.lm"; ln: "ag.ln"; lo: "ag.lo"; lp: "ag.lp"; lq: "ag.lq"; lr: "ag.lr"; ls: "ag.ls"; lt: "ag.lt"; lu: "ag.lu"; lv: "ag.lv"; lw: "ag.lw"; lx: "ag.lx"; ly: "ag.ly"; lz: "ag.lz"; ma: "ag.ma"; mb: "ag.mb"; mc: "ag.mc"; md: "ag.md"; me: "ag.me"; mf: "ag.mf"; mg: "ag.mg"; mh: "ag.mh"; mi: "ag.mi"; mj: "ag.mj"; mk: "ag.mk"; ml: "ag.ml"; mm: "ag.mm"; mn: "ag.mn"; mo: "ag.mo"; mp: "ag.mp"; mq: "ag.mq"; mr: "ag.mr"; ms: "ag.ms"; mt: "ag.mt"; mu: "ag.mu"; mv: "ag.mv"; mw: "ag.mw"; mx: "ag.mx"; my: "ag.my"; mz: "ag.mz"; na: "ag.na"; nb: "ag.nb"; nc: "ag.nc"; nd: "ag.nd"; ne: "ag.ne"; nf: "ag.nf"; ng: "ag.ng"; nh: "ag.nh"; ni: "ag.ni"; nj: "ag.nj"; nk: "ag.nk"; nl: "ag.nl"; nm: "ag.nm"; nn: "ag.nn"; no: "ag.no"; np: "ag.np"; nq: "ag.nq"; nr: "ag.nr"; ns: "ag.ns"; nt: "ag.nt"; nu: "ag.nu"; nv: "ag.nv"; nw: "ag.nw"; nx: "ag.nx"; ny: "ag.ny"; nz: "ag.nz"; oa: "ag.oa"; ob: "ag.ob"; oc: "ag.oc"; od: "ag.od"; oe: "ag.oe"; of: "ag.of"; og: "ag.og"; oh: "ag.oh"; oi: "ag.oi"; oj: "ag.oj"; ok: "ag.ok"; ol: "ag.ol"; om: "ag.om"; on: "ag.on"; oo: "ag.oo"; op: "ag.op"; oq: "ag.oq"; or: "ag.or"; os: "ag.os"; ot: "ag.ot"; ou: "ag.ou"; ov: "ag.ov"; ow: "ag.ow"; ox: "ag.ox"; oy: "ag.oy"; oz: "ag.oz"; pa: "ag.pa"; pb: "ag.pb"; pc: "ag.pc"; pd: "ag.pd"; pe: "ag.pe"; pf: "ag.pf"; pg: "ag.pg"; ph: "ag.ph"; pi: "ag.pi"; pj: "ag.pj"; pk: "ag.pk"; pl: "ag.pl"; pm: "ag.pm"; pn: "ag.pn"; po: "ag.po"; pp: "ag.pp"; pq: "ag.pq"; pr: "ag.pr"; ps: "ag.ps"; pt: "ag.pt"; pu: "ag.pu"; pv: "ag.pv"; pw: "ag.pw"; px: "ag.px"; py: "ag.py"; pz: "ag.pz"; qa: "ag.qa"; qb: "ag.qb"; qc: "ag.qc"; qd: "ag.qd"; qe: "ag.qe"; qf: "ag.qf"; qg: "ag.qg"; qh: "ag.qh"; qi: "ag.qi"; qj: "ag.qj"; qk: "ag.qk"; ql: "ag.ql"; qm: "ag.qm"; qn: "ag.qn"; qo: "ag.qo"; qp: "ag.qp"; qq: "ag.qq"; qr: "ag.qr"; qs: "ag.qs"; qt: "ag.qt"; qu: "ag.qu"; qv: "ag.qv"; qw: "ag.qw"; qx: "ag.qx"; qy: "ag.qy"; qz: "ag.qz"; ra: "ag.ra"; rb: "ag.rb"; rc: "ag.rc"; rd: "ag.rd"; re: "ag.re"; rf: "ag.rf"; rg: "ag.rg"; rh: "ag.rh"; ri: "ag.ri"; rj: "ag.rj"; rk: "ag.rk"; rl: "ag.rl"; rm: "ag.rm"; rn: "ag.rn"; ro: "ag.ro"; rp: "ag.rp"; rq: "ag.rq"; rr: "ag.rr"; rs: "ag.rs"; rt: "ag.rt"; ru: "ag.ru"; rv: "ag.rv"; rw: "ag.rw"; rx: "ag.rx"; ry: "ag.ry"; rz: "ag.rz"; sa: "ag.sa"; sb: "ag.sb"; sc: "ag.sc"; sd: "ag.sd"; se: "ag.se"; sf: "ag.sf"; sg: "ag.sg"; sh: "ag.sh"; si: "ag.si"; sj: "ag.sj"; sk: "ag.sk"; sl: "ag.sl"; sm: "ag.sm"; sn: "ag.sn"; so: "ag.so"; sp: "ag.sp"; sq: "ag.sq"; sr: "ag.sr"; ss: "ag.ss"; st: "ag.st"; su: "ag.su"; sv: "ag.sv"; sw: "ag.sw"; sx: "ag.sx"; sy: "ag.sy"; sz: "ag.sz"; ta: "ag.ta"; tb: "ag.tb"; tc: "ag.tc"; td: "ag.td"; te: "ag.te"; tf: "ag.tf"; tg: "ag.tg"; th: "ag.th"; ti: "ag.ti"; tj: "ag.tj"; tk: "ag.tk"; tl: "ag.tl"; tm: "ag.tm"; tn: "ag.tn"; to: "ag.to"; tp: "ag.tp"; tq: "ag.tq"; tr: "ag.tr"; ts: "ag.ts"; tt: "ag.tt"; tu: "ag.tu"; tv: "ag.tv"; tw: "ag.tw"; tx: "ag.tx"; ty: "ag.ty"; tz: "ag.tz"; ua: "ag.ua"; ub: "ag.ub"; uc: "ag.uc"; ud: "ag.ud"; ue: "ag.ue"; uf: "ag.uf"; ug: "ag.ug"; uh: "ag.uh"; ui: "ag.ui"; uj: "ag.uj"; uk: "ag.uk"; ul: "ag.ul"; um: "ag.um"; un: "ag.un"; uo: "ag.uo"; up: "ag.up"; uq: "ag.uq"; ur: "ag.ur"; us: "ag.us"; ut: "ag.ut"; uu: "ag.uu"; uv: "ag.uv"; uw: "ag.uw"; ux: "ag.ux"; uy: "ag.uy"; uz: "ag.uz"; va: "ag.va"; vb: "ag.vb"; vc: "ag.vc"; vd: "ag.vd"; ve: "ag.ve"; vf: "ag.vf"; vg: "ag.vg"; vh: "ag.vh"; vi: "ag.vi"; vj: "ag.vj"; vk: "ag.vk"; vl: "ag.vl"; vm: "ag.vm"; vn: "ag.vn"; vo: "ag.vo"; vp: "ag.vp"; vq: "ag.vq"; vr: "ag.vr"; vs: "ag.vs"; vt: "ag.vt"; vu: "ag.vu"; vv: "ag.vv"; vw: "ag.vw"; vx: "ag.vx"; vy: "ag.vy"; vz: "ag.vz"; wa: "ag.wa"; wb: "ag.wb"; wc: "ag.wc"; wd: "ag.wd"; we: "ag.we"; wf: "ag.wf"; wg: "ag.wg"; wh: "ag.wh"; wi: "ag.wi"; wj: "ag.wj"; wk: "ag.wk"; wl: "ag.wl"; wm: "ag.wm"; wn: "ag.wn"; wo: "ag.wo"; wp: "ag.wp"; wq: "ag.wq"; wr: "ag.wr"; ws: "ag.ws"; wt: "ag.wt"; wu: "ag.wu"; wv: "ag.wv"; ww: "ag.ww"; wx: "ag.wx"; wy: "ag.wy"; wz: "ag.wz"; xa: "ag.xa"; xb: "ag.xb"; xc: "ag.xc"; xd: "ag.xd"; xe: "ag.xe"; xf: "ag.xf"; xg: "ag.xg"; xh: "ag.xh"; xi: "ag.xi"; xj: "ag.xj"; xk: "ag.xk"; xl: "ag.xl"; xm: "ag.xm"; xn: "ag.xn"; xo: "ag.xo"; xp: "ag.xp"; xq: "ag.xq"; xr: "ag.xr"; xs: "ag.xs"; xt: "ag.xt"; xu: "ag.xu"; xv: "ag.xv"; xw: "ag.xw"; xx: "ag.xx"; xy: "ag.xy"; xz: "ag.xz"; ya: "ag.ya"; yb: "ag.yb"; yc: "ag.yc"; yd: "ag.yd"; ye: "ag.ye"; yf: "ag.yf"; yg: "ag.yg"; yh: "ag.yh"; yi: "ag.yi"; yj: "ag.yj"; yk: "ag.yk"; yl: "ag.yl"; ym: "ag.ym"; yn: "ag.yn"; yo: "ag.yo"; yp: "ag.yp"; yq: "ag.yq"; yr: "ag.yr"; ys: "ag.ys"; yt: "ag.yt"; yu: "ag.yu"; yv: "ag.yv"; yw: "ag.yw"; yx: "ag.yx"; yy: "ag.yy"; yz: "ag.yz"; za: "ag.za"; zb: "ag.zb"; zc: "ag.zc"; zd: "ag.zd"; ze: "ag.ze"; zf: "ag.zf"; zg: "ag.zg"; zh: "ag.zh"; zi: "ag.zi"; zj: "ag.zj"; zk: "ag.zk"; zl: "ag.zl"; zm: "ag.zm"; zn: "ag.zn"; zo: "ag.zo"; zp: "ag.zp"; zq: "ag.zq"; zr: "ag.zr"; zs: "ag.zs"; zt: "ag.zt"; zu: "ag.zu"; zv: "ag.zv"; zw: "ag.zw"; zx: "ag.zx"; zy: "ag.zy"; zz: "ag.zz"; }; ah: { aa: "ah.aa"; ab: "ah.ab"; ac: "ah.ac"; ad: "ah.ad"; ae: "ah.ae"; af: "ah.af"; ag: "ah.ag"; ah: "ah.ah"; ai: "ah.ai"; aj: "ah.aj"; ak: "ah.ak"; al: "ah.al"; am: "ah.am"; an: "ah.an"; ao: "ah.ao"; ap: "ah.ap"; aq: "ah.aq"; ar: "ah.ar"; as: "ah.as"; at: "ah.at"; au: "ah.au"; av: "ah.av"; aw: "ah.aw"; ax: "ah.ax"; ay: "ah.ay"; az: "ah.az"; ba: "ah.ba"; bb: "ah.bb"; bc: "ah.bc"; bd: "ah.bd"; be: "ah.be"; bf: "ah.bf"; bg: "ah.bg"; bh: "ah.bh"; bi: "ah.bi"; bj: "ah.bj"; bk: "ah.bk"; bl: "ah.bl"; bm: "ah.bm"; bn: "ah.bn"; bo: "ah.bo"; bp: "ah.bp"; bq: "ah.bq"; br: "ah.br"; bs: "ah.bs"; bt: "ah.bt"; bu: "ah.bu"; bv: "ah.bv"; bw: "ah.bw"; bx: "ah.bx"; by: "ah.by"; bz: "ah.bz"; ca: "ah.ca"; cb: "ah.cb"; cc: "ah.cc"; cd: "ah.cd"; ce: "ah.ce"; cf: "ah.cf"; cg: "ah.cg"; ch: "ah.ch"; ci: "ah.ci"; cj: "ah.cj"; ck: "ah.ck"; cl: "ah.cl"; cm: "ah.cm"; cn: "ah.cn"; co: "ah.co"; cp: "ah.cp"; cq: "ah.cq"; cr: "ah.cr"; cs: "ah.cs"; ct: "ah.ct"; cu: "ah.cu"; cv: "ah.cv"; cw: "ah.cw"; cx: "ah.cx"; cy: "ah.cy"; cz: "ah.cz"; da: "ah.da"; db: "ah.db"; dc: "ah.dc"; dd: "ah.dd"; de: "ah.de"; df: "ah.df"; dg: "ah.dg"; dh: "ah.dh"; di: "ah.di"; dj: "ah.dj"; dk: "ah.dk"; dl: "ah.dl"; dm: "ah.dm"; dn: "ah.dn"; do: "ah.do"; dp: "ah.dp"; dq: "ah.dq"; dr: "ah.dr"; ds: "ah.ds"; dt: "ah.dt"; du: "ah.du"; dv: "ah.dv"; dw: "ah.dw"; dx: "ah.dx"; dy: "ah.dy"; dz: "ah.dz"; ea: "ah.ea"; eb: "ah.eb"; ec: "ah.ec"; ed: "ah.ed"; ee: "ah.ee"; ef: "ah.ef"; eg: "ah.eg"; eh: "ah.eh"; ei: "ah.ei"; ej: "ah.ej"; ek: "ah.ek"; el: "ah.el"; em: "ah.em"; en: "ah.en"; eo: "ah.eo"; ep: "ah.ep"; eq: "ah.eq"; er: "ah.er"; es: "ah.es"; et: "ah.et"; eu: "ah.eu"; ev: "ah.ev"; ew: "ah.ew"; ex: "ah.ex"; ey: "ah.ey"; ez: "ah.ez"; fa: "ah.fa"; fb: "ah.fb"; fc: "ah.fc"; fd: "ah.fd"; fe: "ah.fe"; ff: "ah.ff"; fg: "ah.fg"; fh: "ah.fh"; fi: "ah.fi"; fj: "ah.fj"; fk: "ah.fk"; fl: "ah.fl"; fm: "ah.fm"; fn: "ah.fn"; fo: "ah.fo"; fp: "ah.fp"; fq: "ah.fq"; fr: "ah.fr"; fs: "ah.fs"; ft: "ah.ft"; fu: "ah.fu"; fv: "ah.fv"; fw: "ah.fw"; fx: "ah.fx"; fy: "ah.fy"; fz: "ah.fz"; ga: "ah.ga"; gb: "ah.gb"; gc: "ah.gc"; gd: "ah.gd"; ge: "ah.ge"; gf: "ah.gf"; gg: "ah.gg"; gh: "ah.gh"; gi: "ah.gi"; gj: "ah.gj"; gk: "ah.gk"; gl: "ah.gl"; gm: "ah.gm"; gn: "ah.gn"; go: "ah.go"; gp: "ah.gp"; gq: "ah.gq"; gr: "ah.gr"; gs: "ah.gs"; gt: "ah.gt"; gu: "ah.gu"; gv: "ah.gv"; gw: "ah.gw"; gx: "ah.gx"; gy: "ah.gy"; gz: "ah.gz"; ha: "ah.ha"; hb: "ah.hb"; hc: "ah.hc"; hd: "ah.hd"; he: "ah.he"; hf: "ah.hf"; hg: "ah.hg"; hh: "ah.hh"; hi: "ah.hi"; hj: "ah.hj"; hk: "ah.hk"; hl: "ah.hl"; hm: "ah.hm"; hn: "ah.hn"; ho: "ah.ho"; hp: "ah.hp"; hq: "ah.hq"; hr: "ah.hr"; hs: "ah.hs"; ht: "ah.ht"; hu: "ah.hu"; hv: "ah.hv"; hw: "ah.hw"; hx: "ah.hx"; hy: "ah.hy"; hz: "ah.hz"; ia: "ah.ia"; ib: "ah.ib"; ic: "ah.ic"; id: "ah.id"; ie: "ah.ie"; if: "ah.if"; ig: "ah.ig"; ih: "ah.ih"; ii: "ah.ii"; ij: "ah.ij"; ik: "ah.ik"; il: "ah.il"; im: "ah.im"; in: "ah.in"; io: "ah.io"; ip: "ah.ip"; iq: "ah.iq"; ir: "ah.ir"; is: "ah.is"; it: "ah.it"; iu: "ah.iu"; iv: "ah.iv"; iw: "ah.iw"; ix: "ah.ix"; iy: "ah.iy"; iz: "ah.iz"; ja: "ah.ja"; jb: "ah.jb"; jc: "ah.jc"; jd: "ah.jd"; je: "ah.je"; jf: "ah.jf"; jg: "ah.jg"; jh: "ah.jh"; ji: "ah.ji"; jj: "ah.jj"; jk: "ah.jk"; jl: "ah.jl"; jm: "ah.jm"; jn: "ah.jn"; jo: "ah.jo"; jp: "ah.jp"; jq: "ah.jq"; jr: "ah.jr"; js: "ah.js"; jt: "ah.jt"; ju: "ah.ju"; jv: "ah.jv"; jw: "ah.jw"; jx: "ah.jx"; jy: "ah.jy"; jz: "ah.jz"; ka: "ah.ka"; kb: "ah.kb"; kc: "ah.kc"; kd: "ah.kd"; ke: "ah.ke"; kf: "ah.kf"; kg: "ah.kg"; kh: "ah.kh"; ki: "ah.ki"; kj: "ah.kj"; kk: "ah.kk"; kl: "ah.kl"; km: "ah.km"; kn: "ah.kn"; ko: "ah.ko"; kp: "ah.kp"; kq: "ah.kq"; kr: "ah.kr"; ks: "ah.ks"; kt: "ah.kt"; ku: "ah.ku"; kv: "ah.kv"; kw: "ah.kw"; kx: "ah.kx"; ky: "ah.ky"; kz: "ah.kz"; la: "ah.la"; lb: "ah.lb"; lc: "ah.lc"; ld: "ah.ld"; le: "ah.le"; lf: "ah.lf"; lg: "ah.lg"; lh: "ah.lh"; li: "ah.li"; lj: "ah.lj"; lk: "ah.lk"; ll: "ah.ll"; lm: "ah.lm"; ln: "ah.ln"; lo: "ah.lo"; lp: "ah.lp"; lq: "ah.lq"; lr: "ah.lr"; ls: "ah.ls"; lt: "ah.lt"; lu: "ah.lu"; lv: "ah.lv"; lw: "ah.lw"; lx: "ah.lx"; ly: "ah.ly"; lz: "ah.lz"; ma: "ah.ma"; mb: "ah.mb"; mc: "ah.mc"; md: "ah.md"; me: "ah.me"; mf: "ah.mf"; mg: "ah.mg"; mh: "ah.mh"; mi: "ah.mi"; mj: "ah.mj"; mk: "ah.mk"; ml: "ah.ml"; mm: "ah.mm"; mn: "ah.mn"; mo: "ah.mo"; mp: "ah.mp"; mq: "ah.mq"; mr: "ah.mr"; ms: "ah.ms"; mt: "ah.mt"; mu: "ah.mu"; mv: "ah.mv"; mw: "ah.mw"; mx: "ah.mx"; my: "ah.my"; mz: "ah.mz"; na: "ah.na"; nb: "ah.nb"; nc: "ah.nc"; nd: "ah.nd"; ne: "ah.ne"; nf: "ah.nf"; ng: "ah.ng"; nh: "ah.nh"; ni: "ah.ni"; nj: "ah.nj"; nk: "ah.nk"; nl: "ah.nl"; nm: "ah.nm"; nn: "ah.nn"; no: "ah.no"; np: "ah.np"; nq: "ah.nq"; nr: "ah.nr"; ns: "ah.ns"; nt: "ah.nt"; nu: "ah.nu"; nv: "ah.nv"; nw: "ah.nw"; nx: "ah.nx"; ny: "ah.ny"; nz: "ah.nz"; oa: "ah.oa"; ob: "ah.ob"; oc: "ah.oc"; od: "ah.od"; oe: "ah.oe"; of: "ah.of"; og: "ah.og"; oh: "ah.oh"; oi: "ah.oi"; oj: "ah.oj"; ok: "ah.ok"; ol: "ah.ol"; om: "ah.om"; on: "ah.on"; oo: "ah.oo"; op: "ah.op"; oq: "ah.oq"; or: "ah.or"; os: "ah.os"; ot: "ah.ot"; ou: "ah.ou"; ov: "ah.ov"; ow: "ah.ow"; ox: "ah.ox"; oy: "ah.oy"; oz: "ah.oz"; pa: "ah.pa"; pb: "ah.pb"; pc: "ah.pc"; pd: "ah.pd"; pe: "ah.pe"; pf: "ah.pf"; pg: "ah.pg"; ph: "ah.ph"; pi: "ah.pi"; pj: "ah.pj"; pk: "ah.pk"; pl: "ah.pl"; pm: "ah.pm"; pn: "ah.pn"; po: "ah.po"; pp: "ah.pp"; pq: "ah.pq"; pr: "ah.pr"; ps: "ah.ps"; pt: "ah.pt"; pu: "ah.pu"; pv: "ah.pv"; pw: "ah.pw"; px: "ah.px"; py: "ah.py"; pz: "ah.pz"; qa: "ah.qa"; qb: "ah.qb"; qc: "ah.qc"; qd: "ah.qd"; qe: "ah.qe"; qf: "ah.qf"; qg: "ah.qg"; qh: "ah.qh"; qi: "ah.qi"; qj: "ah.qj"; qk: "ah.qk"; ql: "ah.ql"; qm: "ah.qm"; qn: "ah.qn"; qo: "ah.qo"; qp: "ah.qp"; qq: "ah.qq"; qr: "ah.qr"; qs: "ah.qs"; qt: "ah.qt"; qu: "ah.qu"; qv: "ah.qv"; qw: "ah.qw"; qx: "ah.qx"; qy: "ah.qy"; qz: "ah.qz"; ra: "ah.ra"; rb: "ah.rb"; rc: "ah.rc"; rd: "ah.rd"; re: "ah.re"; rf: "ah.rf"; rg: "ah.rg"; rh: "ah.rh"; ri: "ah.ri"; rj: "ah.rj"; rk: "ah.rk"; rl: "ah.rl"; rm: "ah.rm"; rn: "ah.rn"; ro: "ah.ro"; rp: "ah.rp"; rq: "ah.rq"; rr: "ah.rr"; rs: "ah.rs"; rt: "ah.rt"; ru: "ah.ru"; rv: "ah.rv"; rw: "ah.rw"; rx: "ah.rx"; ry: "ah.ry"; rz: "ah.rz"; sa: "ah.sa"; sb: "ah.sb"; sc: "ah.sc"; sd: "ah.sd"; se: "ah.se"; sf: "ah.sf"; sg: "ah.sg"; sh: "ah.sh"; si: "ah.si"; sj: "ah.sj"; sk: "ah.sk"; sl: "ah.sl"; sm: "ah.sm"; sn: "ah.sn"; so: "ah.so"; sp: "ah.sp"; sq: "ah.sq"; sr: "ah.sr"; ss: "ah.ss"; st: "ah.st"; su: "ah.su"; sv: "ah.sv"; sw: "ah.sw"; sx: "ah.sx"; sy: "ah.sy"; sz: "ah.sz"; ta: "ah.ta"; tb: "ah.tb"; tc: "ah.tc"; td: "ah.td"; te: "ah.te"; tf: "ah.tf"; tg: "ah.tg"; th: "ah.th"; ti: "ah.ti"; tj: "ah.tj"; tk: "ah.tk"; tl: "ah.tl"; tm: "ah.tm"; tn: "ah.tn"; to: "ah.to"; tp: "ah.tp"; tq: "ah.tq"; tr: "ah.tr"; ts: "ah.ts"; tt: "ah.tt"; tu: "ah.tu"; tv: "ah.tv"; tw: "ah.tw"; tx: "ah.tx"; ty: "ah.ty"; tz: "ah.tz"; ua: "ah.ua"; ub: "ah.ub"; uc: "ah.uc"; ud: "ah.ud"; ue: "ah.ue"; uf: "ah.uf"; ug: "ah.ug"; uh: "ah.uh"; ui: "ah.ui"; uj: "ah.uj"; uk: "ah.uk"; ul: "ah.ul"; um: "ah.um"; un: "ah.un"; uo: "ah.uo"; up: "ah.up"; uq: "ah.uq"; ur: "ah.ur"; us: "ah.us"; ut: "ah.ut"; uu: "ah.uu"; uv: "ah.uv"; uw: "ah.uw"; ux: "ah.ux"; uy: "ah.uy"; uz: "ah.uz"; va: "ah.va"; vb: "ah.vb"; vc: "ah.vc"; vd: "ah.vd"; ve: "ah.ve"; vf: "ah.vf"; vg: "ah.vg"; vh: "ah.vh"; vi: "ah.vi"; vj: "ah.vj"; vk: "ah.vk"; vl: "ah.vl"; vm: "ah.vm"; vn: "ah.vn"; vo: "ah.vo"; vp: "ah.vp"; vq: "ah.vq"; vr: "ah.vr"; vs: "ah.vs"; vt: "ah.vt"; vu: "ah.vu"; vv: "ah.vv"; vw: "ah.vw"; vx: "ah.vx"; vy: "ah.vy"; vz: "ah.vz"; wa: "ah.wa"; wb: "ah.wb"; wc: "ah.wc"; wd: "ah.wd"; we: "ah.we"; wf: "ah.wf"; wg: "ah.wg"; wh: "ah.wh"; wi: "ah.wi"; wj: "ah.wj"; wk: "ah.wk"; wl: "ah.wl"; wm: "ah.wm"; wn: "ah.wn"; wo: "ah.wo"; wp: "ah.wp"; wq: "ah.wq"; wr: "ah.wr"; ws: "ah.ws"; wt: "ah.wt"; wu: "ah.wu"; wv: "ah.wv"; ww: "ah.ww"; wx: "ah.wx"; wy: "ah.wy"; wz: "ah.wz"; xa: "ah.xa"; xb: "ah.xb"; xc: "ah.xc"; xd: "ah.xd"; xe: "ah.xe"; xf: "ah.xf"; xg: "ah.xg"; xh: "ah.xh"; xi: "ah.xi"; xj: "ah.xj"; xk: "ah.xk"; xl: "ah.xl"; xm: "ah.xm"; xn: "ah.xn"; xo: "ah.xo"; xp: "ah.xp"; xq: "ah.xq"; xr: "ah.xr"; xs: "ah.xs"; xt: "ah.xt"; xu: "ah.xu"; xv: "ah.xv"; xw: "ah.xw"; xx: "ah.xx"; xy: "ah.xy"; xz: "ah.xz"; ya: "ah.ya"; yb: "ah.yb"; yc: "ah.yc"; yd: "ah.yd"; ye: "ah.ye"; yf: "ah.yf"; yg: "ah.yg"; yh: "ah.yh"; yi: "ah.yi"; yj: "ah.yj"; yk: "ah.yk"; yl: "ah.yl"; ym: "ah.ym"; yn: "ah.yn"; yo: "ah.yo"; yp: "ah.yp"; yq: "ah.yq"; yr: "ah.yr"; ys: "ah.ys"; yt: "ah.yt"; yu: "ah.yu"; yv: "ah.yv"; yw: "ah.yw"; yx: "ah.yx"; yy: "ah.yy"; yz: "ah.yz"; za: "ah.za"; zb: "ah.zb"; zc: "ah.zc"; zd: "ah.zd"; ze: "ah.ze"; zf: "ah.zf"; zg: "ah.zg"; zh: "ah.zh"; zi: "ah.zi"; zj: "ah.zj"; zk: "ah.zk"; zl: "ah.zl"; zm: "ah.zm"; zn: "ah.zn"; zo: "ah.zo"; zp: "ah.zp"; zq: "ah.zq"; zr: "ah.zr"; zs: "ah.zs"; zt: "ah.zt"; zu: "ah.zu"; zv: "ah.zv"; zw: "ah.zw"; zx: "ah.zx"; zy: "ah.zy"; zz: "ah.zz"; }; ai: { aa: "ai.aa"; ab: "ai.ab"; ac: "ai.ac"; ad: "ai.ad"; ae: "ai.ae"; af: "ai.af"; ag: "ai.ag"; ah: "ai.ah"; ai: "ai.ai"; aj: "ai.aj"; ak: "ai.ak"; al: "ai.al"; am: "ai.am"; an: "ai.an"; ao: "ai.ao"; ap: "ai.ap"; aq: "ai.aq"; ar: "ai.ar"; as: "ai.as"; at: "ai.at"; au: "ai.au"; av: "ai.av"; aw: "ai.aw"; ax: "ai.ax"; ay: "ai.ay"; az: "ai.az"; ba: "ai.ba"; bb: "ai.bb"; bc: "ai.bc"; bd: "ai.bd"; be: "ai.be"; bf: "ai.bf"; bg: "ai.bg"; bh: "ai.bh"; bi: "ai.bi"; bj: "ai.bj"; bk: "ai.bk"; bl: "ai.bl"; bm: "ai.bm"; bn: "ai.bn"; bo: "ai.bo"; bp: "ai.bp"; bq: "ai.bq"; br: "ai.br"; bs: "ai.bs"; bt: "ai.bt"; bu: "ai.bu"; bv: "ai.bv"; bw: "ai.bw"; bx: "ai.bx"; by: "ai.by"; bz: "ai.bz"; ca: "ai.ca"; cb: "ai.cb"; cc: "ai.cc"; cd: "ai.cd"; ce: "ai.ce"; cf: "ai.cf"; cg: "ai.cg"; ch: "ai.ch"; ci: "ai.ci"; cj: "ai.cj"; ck: "ai.ck"; cl: "ai.cl"; cm: "ai.cm"; cn: "ai.cn"; co: "ai.co"; cp: "ai.cp"; cq: "ai.cq"; cr: "ai.cr"; cs: "ai.cs"; ct: "ai.ct"; cu: "ai.cu"; cv: "ai.cv"; cw: "ai.cw"; cx: "ai.cx"; cy: "ai.cy"; cz: "ai.cz"; da: "ai.da"; db: "ai.db"; dc: "ai.dc"; dd: "ai.dd"; de: "ai.de"; df: "ai.df"; dg: "ai.dg"; dh: "ai.dh"; di: "ai.di"; dj: "ai.dj"; dk: "ai.dk"; dl: "ai.dl"; dm: "ai.dm"; dn: "ai.dn"; do: "ai.do"; dp: "ai.dp"; dq: "ai.dq"; dr: "ai.dr"; ds: "ai.ds"; dt: "ai.dt"; du: "ai.du"; dv: "ai.dv"; dw: "ai.dw"; dx: "ai.dx"; dy: "ai.dy"; dz: "ai.dz"; ea: "ai.ea"; eb: "ai.eb"; ec: "ai.ec"; ed: "ai.ed"; ee: "ai.ee"; ef: "ai.ef"; eg: "ai.eg"; eh: "ai.eh"; ei: "ai.ei"; ej: "ai.ej"; ek: "ai.ek"; el: "ai.el"; em: "ai.em"; en: "ai.en"; eo: "ai.eo"; ep: "ai.ep"; eq: "ai.eq"; er: "ai.er"; es: "ai.es"; et: "ai.et"; eu: "ai.eu"; ev: "ai.ev"; ew: "ai.ew"; ex: "ai.ex"; ey: "ai.ey"; ez: "ai.ez"; fa: "ai.fa"; fb: "ai.fb"; fc: "ai.fc"; fd: "ai.fd"; fe: "ai.fe"; ff: "ai.ff"; fg: "ai.fg"; fh: "ai.fh"; fi: "ai.fi"; fj: "ai.fj"; fk: "ai.fk"; fl: "ai.fl"; fm: "ai.fm"; fn: "ai.fn"; fo: "ai.fo"; fp: "ai.fp"; fq: "ai.fq"; fr: "ai.fr"; fs: "ai.fs"; ft: "ai.ft"; fu: "ai.fu"; fv: "ai.fv"; fw: "ai.fw"; fx: "ai.fx"; fy: "ai.fy"; fz: "ai.fz"; ga: "ai.ga"; gb: "ai.gb"; gc: "ai.gc"; gd: "ai.gd"; ge: "ai.ge"; gf: "ai.gf"; gg: "ai.gg"; gh: "ai.gh"; gi: "ai.gi"; gj: "ai.gj"; gk: "ai.gk"; gl: "ai.gl"; gm: "ai.gm"; gn: "ai.gn"; go: "ai.go"; gp: "ai.gp"; gq: "ai.gq"; gr: "ai.gr"; gs: "ai.gs"; gt: "ai.gt"; gu: "ai.gu"; gv: "ai.gv"; gw: "ai.gw"; gx: "ai.gx"; gy: "ai.gy"; gz: "ai.gz"; ha: "ai.ha"; hb: "ai.hb"; hc: "ai.hc"; hd: "ai.hd"; he: "ai.he"; hf: "ai.hf"; hg: "ai.hg"; hh: "ai.hh"; hi: "ai.hi"; hj: "ai.hj"; hk: "ai.hk"; hl: "ai.hl"; hm: "ai.hm"; hn: "ai.hn"; ho: "ai.ho"; hp: "ai.hp"; hq: "ai.hq"; hr: "ai.hr"; hs: "ai.hs"; ht: "ai.ht"; hu: "ai.hu"; hv: "ai.hv"; hw: "ai.hw"; hx: "ai.hx"; hy: "ai.hy"; hz: "ai.hz"; ia: "ai.ia"; ib: "ai.ib"; ic: "ai.ic"; id: "ai.id"; ie: "ai.ie"; if: "ai.if"; ig: "ai.ig"; ih: "ai.ih"; ii: "ai.ii"; ij: "ai.ij"; ik: "ai.ik"; il: "ai.il"; im: "ai.im"; in: "ai.in"; io: "ai.io"; ip: "ai.ip"; iq: "ai.iq"; ir: "ai.ir"; is: "ai.is"; it: "ai.it"; iu: "ai.iu"; iv: "ai.iv"; iw: "ai.iw"; ix: "ai.ix"; iy: "ai.iy"; iz: "ai.iz"; ja: "ai.ja"; jb: "ai.jb"; jc: "ai.jc"; jd: "ai.jd"; je: "ai.je"; jf: "ai.jf"; jg: "ai.jg"; jh: "ai.jh"; ji: "ai.ji"; jj: "ai.jj"; jk: "ai.jk"; jl: "ai.jl"; jm: "ai.jm"; jn: "ai.jn"; jo: "ai.jo"; jp: "ai.jp"; jq: "ai.jq"; jr: "ai.jr"; js: "ai.js"; jt: "ai.jt"; ju: "ai.ju"; jv: "ai.jv"; jw: "ai.jw"; jx: "ai.jx"; jy: "ai.jy"; jz: "ai.jz"; ka: "ai.ka"; kb: "ai.kb"; kc: "ai.kc"; kd: "ai.kd"; ke: "ai.ke"; kf: "ai.kf"; kg: "ai.kg"; kh: "ai.kh"; ki: "ai.ki"; kj: "ai.kj"; kk: "ai.kk"; kl: "ai.kl"; km: "ai.km"; kn: "ai.kn"; ko: "ai.ko"; kp: "ai.kp"; kq: "ai.kq"; kr: "ai.kr"; ks: "ai.ks"; kt: "ai.kt"; ku: "ai.ku"; kv: "ai.kv"; kw: "ai.kw"; kx: "ai.kx"; ky: "ai.ky"; kz: "ai.kz"; la: "ai.la"; lb: "ai.lb"; lc: "ai.lc"; ld: "ai.ld"; le: "ai.le"; lf: "ai.lf"; lg: "ai.lg"; lh: "ai.lh"; li: "ai.li"; lj: "ai.lj"; lk: "ai.lk"; ll: "ai.ll"; lm: "ai.lm"; ln: "ai.ln"; lo: "ai.lo"; lp: "ai.lp"; lq: "ai.lq"; lr: "ai.lr"; ls: "ai.ls"; lt: "ai.lt"; lu: "ai.lu"; lv: "ai.lv"; lw: "ai.lw"; lx: "ai.lx"; ly: "ai.ly"; lz: "ai.lz"; ma: "ai.ma"; mb: "ai.mb"; mc: "ai.mc"; md: "ai.md"; me: "ai.me"; mf: "ai.mf"; mg: "ai.mg"; mh: "ai.mh"; mi: "ai.mi"; mj: "ai.mj"; mk: "ai.mk"; ml: "ai.ml"; mm: "ai.mm"; mn: "ai.mn"; mo: "ai.mo"; mp: "ai.mp"; mq: "ai.mq"; mr: "ai.mr"; ms: "ai.ms"; mt: "ai.mt"; mu: "ai.mu"; mv: "ai.mv"; mw: "ai.mw"; mx: "ai.mx"; my: "ai.my"; mz: "ai.mz"; na: "ai.na"; nb: "ai.nb"; nc: "ai.nc"; nd: "ai.nd"; ne: "ai.ne"; nf: "ai.nf"; ng: "ai.ng"; nh: "ai.nh"; ni: "ai.ni"; nj: "ai.nj"; nk: "ai.nk"; nl: "ai.nl"; nm: "ai.nm"; nn: "ai.nn"; no: "ai.no"; np: "ai.np"; nq: "ai.nq"; nr: "ai.nr"; ns: "ai.ns"; nt: "ai.nt"; nu: "ai.nu"; nv: "ai.nv"; nw: "ai.nw"; nx: "ai.nx"; ny: "ai.ny"; nz: "ai.nz"; oa: "ai.oa"; ob: "ai.ob"; oc: "ai.oc"; od: "ai.od"; oe: "ai.oe"; of: "ai.of"; og: "ai.og"; oh: "ai.oh"; oi: "ai.oi"; oj: "ai.oj"; ok: "ai.ok"; ol: "ai.ol"; om: "ai.om"; on: "ai.on"; oo: "ai.oo"; op: "ai.op"; oq: "ai.oq"; or: "ai.or"; os: "ai.os"; ot: "ai.ot"; ou: "ai.ou"; ov: "ai.ov"; ow: "ai.ow"; ox: "ai.ox"; oy: "ai.oy"; oz: "ai.oz"; pa: "ai.pa"; pb: "ai.pb"; pc: "ai.pc"; pd: "ai.pd"; pe: "ai.pe"; pf: "ai.pf"; pg: "ai.pg"; ph: "ai.ph"; pi: "ai.pi"; pj: "ai.pj"; pk: "ai.pk"; pl: "ai.pl"; pm: "ai.pm"; pn: "ai.pn"; po: "ai.po"; pp: "ai.pp"; pq: "ai.pq"; pr: "ai.pr"; ps: "ai.ps"; pt: "ai.pt"; pu: "ai.pu"; pv: "ai.pv"; pw: "ai.pw"; px: "ai.px"; py: "ai.py"; pz: "ai.pz"; qa: "ai.qa"; qb: "ai.qb"; qc: "ai.qc"; qd: "ai.qd"; qe: "ai.qe"; qf: "ai.qf"; qg: "ai.qg"; qh: "ai.qh"; qi: "ai.qi"; qj: "ai.qj"; qk: "ai.qk"; ql: "ai.ql"; qm: "ai.qm"; qn: "ai.qn"; qo: "ai.qo"; qp: "ai.qp"; qq: "ai.qq"; qr: "ai.qr"; qs: "ai.qs"; qt: "ai.qt"; qu: "ai.qu"; qv: "ai.qv"; qw: "ai.qw"; qx: "ai.qx"; qy: "ai.qy"; qz: "ai.qz"; ra: "ai.ra"; rb: "ai.rb"; rc: "ai.rc"; rd: "ai.rd"; re: "ai.re"; rf: "ai.rf"; rg: "ai.rg"; rh: "ai.rh"; ri: "ai.ri"; rj: "ai.rj"; rk: "ai.rk"; rl: "ai.rl"; rm: "ai.rm"; rn: "ai.rn"; ro: "ai.ro"; rp: "ai.rp"; rq: "ai.rq"; rr: "ai.rr"; rs: "ai.rs"; rt: "ai.rt"; ru: "ai.ru"; rv: "ai.rv"; rw: "ai.rw"; rx: "ai.rx"; ry: "ai.ry"; rz: "ai.rz"; sa: "ai.sa"; sb: "ai.sb"; sc: "ai.sc"; sd: "ai.sd"; se: "ai.se"; sf: "ai.sf"; sg: "ai.sg"; sh: "ai.sh"; si: "ai.si"; sj: "ai.sj"; sk: "ai.sk"; sl: "ai.sl"; sm: "ai.sm"; sn: "ai.sn"; so: "ai.so"; sp: "ai.sp"; sq: "ai.sq"; sr: "ai.sr"; ss: "ai.ss"; st: "ai.st"; su: "ai.su"; sv: "ai.sv"; sw: "ai.sw"; sx: "ai.sx"; sy: "ai.sy"; sz: "ai.sz"; ta: "ai.ta"; tb: "ai.tb"; tc: "ai.tc"; td: "ai.td"; te: "ai.te"; tf: "ai.tf"; tg: "ai.tg"; th: "ai.th"; ti: "ai.ti"; tj: "ai.tj"; tk: "ai.tk"; tl: "ai.tl"; tm: "ai.tm"; tn: "ai.tn"; to: "ai.to"; tp: "ai.tp"; tq: "ai.tq"; tr: "ai.tr"; ts: "ai.ts"; tt: "ai.tt"; tu: "ai.tu"; tv: "ai.tv"; tw: "ai.tw"; tx: "ai.tx"; ty: "ai.ty"; tz: "ai.tz"; ua: "ai.ua"; ub: "ai.ub"; uc: "ai.uc"; ud: "ai.ud"; ue: "ai.ue"; uf: "ai.uf"; ug: "ai.ug"; uh: "ai.uh"; ui: "ai.ui"; uj: "ai.uj"; uk: "ai.uk"; ul: "ai.ul"; um: "ai.um"; un: "ai.un"; uo: "ai.uo"; up: "ai.up"; uq: "ai.uq"; ur: "ai.ur"; us: "ai.us"; ut: "ai.ut"; uu: "ai.uu"; uv: "ai.uv"; uw: "ai.uw"; ux: "ai.ux"; uy: "ai.uy"; uz: "ai.uz"; va: "ai.va"; vb: "ai.vb"; vc: "ai.vc"; vd: "ai.vd"; ve: "ai.ve"; vf: "ai.vf"; vg: "ai.vg"; vh: "ai.vh"; vi: "ai.vi"; vj: "ai.vj"; vk: "ai.vk"; vl: "ai.vl"; vm: "ai.vm"; vn: "ai.vn"; vo: "ai.vo"; vp: "ai.vp"; vq: "ai.vq"; vr: "ai.vr"; vs: "ai.vs"; vt: "ai.vt"; vu: "ai.vu"; vv: "ai.vv"; vw: "ai.vw"; vx: "ai.vx"; vy: "ai.vy"; vz: "ai.vz"; wa: "ai.wa"; wb: "ai.wb"; wc: "ai.wc"; wd: "ai.wd"; we: "ai.we"; wf: "ai.wf"; wg: "ai.wg"; wh: "ai.wh"; wi: "ai.wi"; wj: "ai.wj"; wk: "ai.wk"; wl: "ai.wl"; wm: "ai.wm"; wn: "ai.wn"; wo: "ai.wo"; wp: "ai.wp"; wq: "ai.wq"; wr: "ai.wr"; ws: "ai.ws"; wt: "ai.wt"; wu: "ai.wu"; wv: "ai.wv"; ww: "ai.ww"; wx: "ai.wx"; wy: "ai.wy"; wz: "ai.wz"; xa: "ai.xa"; xb: "ai.xb"; xc: "ai.xc"; xd: "ai.xd"; xe: "ai.xe"; xf: "ai.xf"; xg: "ai.xg"; xh: "ai.xh"; xi: "ai.xi"; xj: "ai.xj"; xk: "ai.xk"; xl: "ai.xl"; xm: "ai.xm"; xn: "ai.xn"; xo: "ai.xo"; xp: "ai.xp"; xq: "ai.xq"; xr: "ai.xr"; xs: "ai.xs"; xt: "ai.xt"; xu: "ai.xu"; xv: "ai.xv"; xw: "ai.xw"; xx: "ai.xx"; xy: "ai.xy"; xz: "ai.xz"; ya: "ai.ya"; yb: "ai.yb"; yc: "ai.yc"; yd: "ai.yd"; ye: "ai.ye"; yf: "ai.yf"; yg: "ai.yg"; yh: "ai.yh"; yi: "ai.yi"; yj: "ai.yj"; yk: "ai.yk"; yl: "ai.yl"; ym: "ai.ym"; yn: "ai.yn"; yo: "ai.yo"; yp: "ai.yp"; yq: "ai.yq"; yr: "ai.yr"; ys: "ai.ys"; yt: "ai.yt"; yu: "ai.yu"; yv: "ai.yv"; yw: "ai.yw"; yx: "ai.yx"; yy: "ai.yy"; yz: "ai.yz"; za: "ai.za"; zb: "ai.zb"; zc: "ai.zc"; zd: "ai.zd"; ze: "ai.ze"; zf: "ai.zf"; zg: "ai.zg"; zh: "ai.zh"; zi: "ai.zi"; zj: "ai.zj"; zk: "ai.zk"; zl: "ai.zl"; zm: "ai.zm"; zn: "ai.zn"; zo: "ai.zo"; zp: "ai.zp"; zq: "ai.zq"; zr: "ai.zr"; zs: "ai.zs"; zt: "ai.zt"; zu: "ai.zu"; zv: "ai.zv"; zw: "ai.zw"; zx: "ai.zx"; zy: "ai.zy"; zz: "ai.zz"; }; aj: { aa: "aj.aa"; ab: "aj.ab"; ac: "aj.ac"; ad: "aj.ad"; ae: "aj.ae"; af: "aj.af"; ag: "aj.ag"; ah: "aj.ah"; ai: "aj.ai"; aj: "aj.aj"; ak: "aj.ak"; al: "aj.al"; am: "aj.am"; an: "aj.an"; ao: "aj.ao"; ap: "aj.ap"; aq: "aj.aq"; ar: "aj.ar"; as: "aj.as"; at: "aj.at"; au: "aj.au"; av: "aj.av"; aw: "aj.aw"; ax: "aj.ax"; ay: "aj.ay"; az: "aj.az"; ba: "aj.ba"; bb: "aj.bb"; bc: "aj.bc"; bd: "aj.bd"; be: "aj.be"; bf: "aj.bf"; bg: "aj.bg"; bh: "aj.bh"; bi: "aj.bi"; bj: "aj.bj"; bk: "aj.bk"; bl: "aj.bl"; bm: "aj.bm"; bn: "aj.bn"; bo: "aj.bo"; bp: "aj.bp"; bq: "aj.bq"; br: "aj.br"; bs: "aj.bs"; bt: "aj.bt"; bu: "aj.bu"; bv: "aj.bv"; bw: "aj.bw"; bx: "aj.bx"; by: "aj.by"; bz: "aj.bz"; ca: "aj.ca"; cb: "aj.cb"; cc: "aj.cc"; cd: "aj.cd"; ce: "aj.ce"; cf: "aj.cf"; cg: "aj.cg"; ch: "aj.ch"; ci: "aj.ci"; cj: "aj.cj"; ck: "aj.ck"; cl: "aj.cl"; cm: "aj.cm"; cn: "aj.cn"; co: "aj.co"; cp: "aj.cp"; cq: "aj.cq"; cr: "aj.cr"; cs: "aj.cs"; ct: "aj.ct"; cu: "aj.cu"; cv: "aj.cv"; cw: "aj.cw"; cx: "aj.cx"; cy: "aj.cy"; cz: "aj.cz"; da: "aj.da"; db: "aj.db"; dc: "aj.dc"; dd: "aj.dd"; de: "aj.de"; df: "aj.df"; dg: "aj.dg"; dh: "aj.dh"; di: "aj.di"; dj: "aj.dj"; dk: "aj.dk"; dl: "aj.dl"; dm: "aj.dm"; dn: "aj.dn"; do: "aj.do"; dp: "aj.dp"; dq: "aj.dq"; dr: "aj.dr"; ds: "aj.ds"; dt: "aj.dt"; du: "aj.du"; dv: "aj.dv"; dw: "aj.dw"; dx: "aj.dx"; dy: "aj.dy"; dz: "aj.dz"; ea: "aj.ea"; eb: "aj.eb"; ec: "aj.ec"; ed: "aj.ed"; ee: "aj.ee"; ef: "aj.ef"; eg: "aj.eg"; eh: "aj.eh"; ei: "aj.ei"; ej: "aj.ej"; ek: "aj.ek"; el: "aj.el"; em: "aj.em"; en: "aj.en"; eo: "aj.eo"; ep: "aj.ep"; eq: "aj.eq"; er: "aj.er"; es: "aj.es"; et: "aj.et"; eu: "aj.eu"; ev: "aj.ev"; ew: "aj.ew"; ex: "aj.ex"; ey: "aj.ey"; ez: "aj.ez"; fa: "aj.fa"; fb: "aj.fb"; fc: "aj.fc"; fd: "aj.fd"; fe: "aj.fe"; ff: "aj.ff"; fg: "aj.fg"; fh: "aj.fh"; fi: "aj.fi"; fj: "aj.fj"; fk: "aj.fk"; fl: "aj.fl"; fm: "aj.fm"; fn: "aj.fn"; fo: "aj.fo"; fp: "aj.fp"; fq: "aj.fq"; fr: "aj.fr"; fs: "aj.fs"; ft: "aj.ft"; fu: "aj.fu"; fv: "aj.fv"; fw: "aj.fw"; fx: "aj.fx"; fy: "aj.fy"; fz: "aj.fz"; ga: "aj.ga"; gb: "aj.gb"; gc: "aj.gc"; gd: "aj.gd"; ge: "aj.ge"; gf: "aj.gf"; gg: "aj.gg"; gh: "aj.gh"; gi: "aj.gi"; gj: "aj.gj"; gk: "aj.gk"; gl: "aj.gl"; gm: "aj.gm"; gn: "aj.gn"; go: "aj.go"; gp: "aj.gp"; gq: "aj.gq"; gr: "aj.gr"; gs: "aj.gs"; gt: "aj.gt"; gu: "aj.gu"; gv: "aj.gv"; gw: "aj.gw"; gx: "aj.gx"; gy: "aj.gy"; gz: "aj.gz"; ha: "aj.ha"; hb: "aj.hb"; hc: "aj.hc"; hd: "aj.hd"; he: "aj.he"; hf: "aj.hf"; hg: "aj.hg"; hh: "aj.hh"; hi: "aj.hi"; hj: "aj.hj"; hk: "aj.hk"; hl: "aj.hl"; hm: "aj.hm"; hn: "aj.hn"; ho: "aj.ho"; hp: "aj.hp"; hq: "aj.hq"; hr: "aj.hr"; hs: "aj.hs"; ht: "aj.ht"; hu: "aj.hu"; hv: "aj.hv"; hw: "aj.hw"; hx: "aj.hx"; hy: "aj.hy"; hz: "aj.hz"; ia: "aj.ia"; ib: "aj.ib"; ic: "aj.ic"; id: "aj.id"; ie: "aj.ie"; if: "aj.if"; ig: "aj.ig"; ih: "aj.ih"; ii: "aj.ii"; ij: "aj.ij"; ik: "aj.ik"; il: "aj.il"; im: "aj.im"; in: "aj.in"; io: "aj.io"; ip: "aj.ip"; iq: "aj.iq"; ir: "aj.ir"; is: "aj.is"; it: "aj.it"; iu: "aj.iu"; iv: "aj.iv"; iw: "aj.iw"; ix: "aj.ix"; iy: "aj.iy"; iz: "aj.iz"; ja: "aj.ja"; jb: "aj.jb"; jc: "aj.jc"; jd: "aj.jd"; je: "aj.je"; jf: "aj.jf"; jg: "aj.jg"; jh: "aj.jh"; ji: "aj.ji"; jj: "aj.jj"; jk: "aj.jk"; jl: "aj.jl"; jm: "aj.jm"; jn: "aj.jn"; jo: "aj.jo"; jp: "aj.jp"; jq: "aj.jq"; jr: "aj.jr"; js: "aj.js"; jt: "aj.jt"; ju: "aj.ju"; jv: "aj.jv"; jw: "aj.jw"; jx: "aj.jx"; jy: "aj.jy"; jz: "aj.jz"; ka: "aj.ka"; kb: "aj.kb"; kc: "aj.kc"; kd: "aj.kd"; ke: "aj.ke"; kf: "aj.kf"; kg: "aj.kg"; kh: "aj.kh"; ki: "aj.ki"; kj: "aj.kj"; kk: "aj.kk"; kl: "aj.kl"; km: "aj.km"; kn: "aj.kn"; ko: "aj.ko"; kp: "aj.kp"; kq: "aj.kq"; kr: "aj.kr"; ks: "aj.ks"; kt: "aj.kt"; ku: "aj.ku"; kv: "aj.kv"; kw: "aj.kw"; kx: "aj.kx"; ky: "aj.ky"; kz: "aj.kz"; la: "aj.la"; lb: "aj.lb"; lc: "aj.lc"; ld: "aj.ld"; le: "aj.le"; lf: "aj.lf"; lg: "aj.lg"; lh: "aj.lh"; li: "aj.li"; lj: "aj.lj"; lk: "aj.lk"; ll: "aj.ll"; lm: "aj.lm"; ln: "aj.ln"; lo: "aj.lo"; lp: "aj.lp"; lq: "aj.lq"; lr: "aj.lr"; ls: "aj.ls"; lt: "aj.lt"; lu: "aj.lu"; lv: "aj.lv"; lw: "aj.lw"; lx: "aj.lx"; ly: "aj.ly"; lz: "aj.lz"; ma: "aj.ma"; mb: "aj.mb"; mc: "aj.mc"; md: "aj.md"; me: "aj.me"; mf: "aj.mf"; mg: "aj.mg"; mh: "aj.mh"; mi: "aj.mi"; mj: "aj.mj"; mk: "aj.mk"; ml: "aj.ml"; mm: "aj.mm"; mn: "aj.mn"; mo: "aj.mo"; mp: "aj.mp"; mq: "aj.mq"; mr: "aj.mr"; ms: "aj.ms"; mt: "aj.mt"; mu: "aj.mu"; mv: "aj.mv"; mw: "aj.mw"; mx: "aj.mx"; my: "aj.my"; mz: "aj.mz"; na: "aj.na"; nb: "aj.nb"; nc: "aj.nc"; nd: "aj.nd"; ne: "aj.ne"; nf: "aj.nf"; ng: "aj.ng"; nh: "aj.nh"; ni: "aj.ni"; nj: "aj.nj"; nk: "aj.nk"; nl: "aj.nl"; nm: "aj.nm"; nn: "aj.nn"; no: "aj.no"; np: "aj.np"; nq: "aj.nq"; nr: "aj.nr"; ns: "aj.ns"; nt: "aj.nt"; nu: "aj.nu"; nv: "aj.nv"; nw: "aj.nw"; nx: "aj.nx"; ny: "aj.ny"; nz: "aj.nz"; oa: "aj.oa"; ob: "aj.ob"; oc: "aj.oc"; od: "aj.od"; oe: "aj.oe"; of: "aj.of"; og: "aj.og"; oh: "aj.oh"; oi: "aj.oi"; oj: "aj.oj"; ok: "aj.ok"; ol: "aj.ol"; om: "aj.om"; on: "aj.on"; oo: "aj.oo"; op: "aj.op"; oq: "aj.oq"; or: "aj.or"; os: "aj.os"; ot: "aj.ot"; ou: "aj.ou"; ov: "aj.ov"; ow: "aj.ow"; ox: "aj.ox"; oy: "aj.oy"; oz: "aj.oz"; pa: "aj.pa"; pb: "aj.pb"; pc: "aj.pc"; pd: "aj.pd"; pe: "aj.pe"; pf: "aj.pf"; pg: "aj.pg"; ph: "aj.ph"; pi: "aj.pi"; pj: "aj.pj"; pk: "aj.pk"; pl: "aj.pl"; pm: "aj.pm"; pn: "aj.pn"; po: "aj.po"; pp: "aj.pp"; pq: "aj.pq"; pr: "aj.pr"; ps: "aj.ps"; pt: "aj.pt"; pu: "aj.pu"; pv: "aj.pv"; pw: "aj.pw"; px: "aj.px"; py: "aj.py"; pz: "aj.pz"; qa: "aj.qa"; qb: "aj.qb"; qc: "aj.qc"; qd: "aj.qd"; qe: "aj.qe"; qf: "aj.qf"; qg: "aj.qg"; qh: "aj.qh"; qi: "aj.qi"; qj: "aj.qj"; qk: "aj.qk"; ql: "aj.ql"; qm: "aj.qm"; qn: "aj.qn"; qo: "aj.qo"; qp: "aj.qp"; qq: "aj.qq"; qr: "aj.qr"; qs: "aj.qs"; qt: "aj.qt"; qu: "aj.qu"; qv: "aj.qv"; qw: "aj.qw"; qx: "aj.qx"; qy: "aj.qy"; qz: "aj.qz"; ra: "aj.ra"; rb: "aj.rb"; rc: "aj.rc"; rd: "aj.rd"; re: "aj.re"; rf: "aj.rf"; rg: "aj.rg"; rh: "aj.rh"; ri: "aj.ri"; rj: "aj.rj"; rk: "aj.rk"; rl: "aj.rl"; rm: "aj.rm"; rn: "aj.rn"; ro: "aj.ro"; rp: "aj.rp"; rq: "aj.rq"; rr: "aj.rr"; rs: "aj.rs"; rt: "aj.rt"; ru: "aj.ru"; rv: "aj.rv"; rw: "aj.rw"; rx: "aj.rx"; ry: "aj.ry"; rz: "aj.rz"; sa: "aj.sa"; sb: "aj.sb"; sc: "aj.sc"; sd: "aj.sd"; se: "aj.se"; sf: "aj.sf"; sg: "aj.sg"; sh: "aj.sh"; si: "aj.si"; sj: "aj.sj"; sk: "aj.sk"; sl: "aj.sl"; sm: "aj.sm"; sn: "aj.sn"; so: "aj.so"; sp: "aj.sp"; sq: "aj.sq"; sr: "aj.sr"; ss: "aj.ss"; st: "aj.st"; su: "aj.su"; sv: "aj.sv"; sw: "aj.sw"; sx: "aj.sx"; sy: "aj.sy"; sz: "aj.sz"; ta: "aj.ta"; tb: "aj.tb"; tc: "aj.tc"; td: "aj.td"; te: "aj.te"; tf: "aj.tf"; tg: "aj.tg"; th: "aj.th"; ti: "aj.ti"; tj: "aj.tj"; tk: "aj.tk"; tl: "aj.tl"; tm: "aj.tm"; tn: "aj.tn"; to: "aj.to"; tp: "aj.tp"; tq: "aj.tq"; tr: "aj.tr"; ts: "aj.ts"; tt: "aj.tt"; tu: "aj.tu"; tv: "aj.tv"; tw: "aj.tw"; tx: "aj.tx"; ty: "aj.ty"; tz: "aj.tz"; ua: "aj.ua"; ub: "aj.ub"; uc: "aj.uc"; ud: "aj.ud"; ue: "aj.ue"; uf: "aj.uf"; ug: "aj.ug"; uh: "aj.uh"; ui: "aj.ui"; uj: "aj.uj"; uk: "aj.uk"; ul: "aj.ul"; um: "aj.um"; un: "aj.un"; uo: "aj.uo"; up: "aj.up"; uq: "aj.uq"; ur: "aj.ur"; us: "aj.us"; ut: "aj.ut"; uu: "aj.uu"; uv: "aj.uv"; uw: "aj.uw"; ux: "aj.ux"; uy: "aj.uy"; uz: "aj.uz"; va: "aj.va"; vb: "aj.vb"; vc: "aj.vc"; vd: "aj.vd"; ve: "aj.ve"; vf: "aj.vf"; vg: "aj.vg"; vh: "aj.vh"; vi: "aj.vi"; vj: "aj.vj"; vk: "aj.vk"; vl: "aj.vl"; vm: "aj.vm"; vn: "aj.vn"; vo: "aj.vo"; vp: "aj.vp"; vq: "aj.vq"; vr: "aj.vr"; vs: "aj.vs"; vt: "aj.vt"; vu: "aj.vu"; vv: "aj.vv"; vw: "aj.vw"; vx: "aj.vx"; vy: "aj.vy"; vz: "aj.vz"; wa: "aj.wa"; wb: "aj.wb"; wc: "aj.wc"; wd: "aj.wd"; we: "aj.we"; wf: "aj.wf"; wg: "aj.wg"; wh: "aj.wh"; wi: "aj.wi"; wj: "aj.wj"; wk: "aj.wk"; wl: "aj.wl"; wm: "aj.wm"; wn: "aj.wn"; wo: "aj.wo"; wp: "aj.wp"; wq: "aj.wq"; wr: "aj.wr"; ws: "aj.ws"; wt: "aj.wt"; wu: "aj.wu"; wv: "aj.wv"; ww: "aj.ww"; wx: "aj.wx"; wy: "aj.wy"; wz: "aj.wz"; xa: "aj.xa"; xb: "aj.xb"; xc: "aj.xc"; xd: "aj.xd"; xe: "aj.xe"; xf: "aj.xf"; xg: "aj.xg"; xh: "aj.xh"; xi: "aj.xi"; xj: "aj.xj"; xk: "aj.xk"; xl: "aj.xl"; xm: "aj.xm"; xn: "aj.xn"; xo: "aj.xo"; xp: "aj.xp"; xq: "aj.xq"; xr: "aj.xr"; xs: "aj.xs"; xt: "aj.xt"; xu: "aj.xu"; xv: "aj.xv"; xw: "aj.xw"; xx: "aj.xx"; xy: "aj.xy"; xz: "aj.xz"; ya: "aj.ya"; yb: "aj.yb"; yc: "aj.yc"; yd: "aj.yd"; ye: "aj.ye"; yf: "aj.yf"; yg: "aj.yg"; yh: "aj.yh"; yi: "aj.yi"; yj: "aj.yj"; yk: "aj.yk"; yl: "aj.yl"; ym: "aj.ym"; yn: "aj.yn"; yo: "aj.yo"; yp: "aj.yp"; yq: "aj.yq"; yr: "aj.yr"; ys: "aj.ys"; yt: "aj.yt"; yu: "aj.yu"; yv: "aj.yv"; yw: "aj.yw"; yx: "aj.yx"; yy: "aj.yy"; yz: "aj.yz"; za: "aj.za"; zb: "aj.zb"; zc: "aj.zc"; zd: "aj.zd"; ze: "aj.ze"; zf: "aj.zf"; zg: "aj.zg"; zh: "aj.zh"; zi: "aj.zi"; zj: "aj.zj"; zk: "aj.zk"; zl: "aj.zl"; zm: "aj.zm"; zn: "aj.zn"; zo: "aj.zo"; zp: "aj.zp"; zq: "aj.zq"; zr: "aj.zr"; zs: "aj.zs"; zt: "aj.zt"; zu: "aj.zu"; zv: "aj.zv"; zw: "aj.zw"; zx: "aj.zx"; zy: "aj.zy"; zz: "aj.zz"; }; ak: { aa: "ak.aa"; ab: "ak.ab"; ac: "ak.ac"; ad: "ak.ad"; ae: "ak.ae"; af: "ak.af"; ag: "ak.ag"; ah: "ak.ah"; ai: "ak.ai"; aj: "ak.aj"; ak: "ak.ak"; al: "ak.al"; am: "ak.am"; an: "ak.an"; ao: "ak.ao"; ap: "ak.ap"; aq: "ak.aq"; ar: "ak.ar"; as: "ak.as"; at: "ak.at"; au: "ak.au"; av: "ak.av"; aw: "ak.aw"; ax: "ak.ax"; ay: "ak.ay"; az: "ak.az"; ba: "ak.ba"; bb: "ak.bb"; bc: "ak.bc"; bd: "ak.bd"; be: "ak.be"; bf: "ak.bf"; bg: "ak.bg"; bh: "ak.bh"; bi: "ak.bi"; bj: "ak.bj"; bk: "ak.bk"; bl: "ak.bl"; bm: "ak.bm"; bn: "ak.bn"; bo: "ak.bo"; bp: "ak.bp"; bq: "ak.bq"; br: "ak.br"; bs: "ak.bs"; bt: "ak.bt"; bu: "ak.bu"; bv: "ak.bv"; bw: "ak.bw"; bx: "ak.bx"; by: "ak.by"; bz: "ak.bz"; ca: "ak.ca"; cb: "ak.cb"; cc: "ak.cc"; cd: "ak.cd"; ce: "ak.ce"; cf: "ak.cf"; cg: "ak.cg"; ch: "ak.ch"; ci: "ak.ci"; cj: "ak.cj"; ck: "ak.ck"; cl: "ak.cl"; cm: "ak.cm"; cn: "ak.cn"; co: "ak.co"; cp: "ak.cp"; cq: "ak.cq"; cr: "ak.cr"; cs: "ak.cs"; ct: "ak.ct"; cu: "ak.cu"; cv: "ak.cv"; cw: "ak.cw"; cx: "ak.cx"; cy: "ak.cy"; cz: "ak.cz"; da: "ak.da"; db: "ak.db"; dc: "ak.dc"; dd: "ak.dd"; de: "ak.de"; df: "ak.df"; dg: "ak.dg"; dh: "ak.dh"; di: "ak.di"; dj: "ak.dj"; dk: "ak.dk"; dl: "ak.dl"; dm: "ak.dm"; dn: "ak.dn"; do: "ak.do"; dp: "ak.dp"; dq: "ak.dq"; dr: "ak.dr"; ds: "ak.ds"; dt: "ak.dt"; du: "ak.du"; dv: "ak.dv"; dw: "ak.dw"; dx: "ak.dx"; dy: "ak.dy"; dz: "ak.dz"; ea: "ak.ea"; eb: "ak.eb"; ec: "ak.ec"; ed: "ak.ed"; ee: "ak.ee"; ef: "ak.ef"; eg: "ak.eg"; eh: "ak.eh"; ei: "ak.ei"; ej: "ak.ej"; ek: "ak.ek"; el: "ak.el"; em: "ak.em"; en: "ak.en"; eo: "ak.eo"; ep: "ak.ep"; eq: "ak.eq"; er: "ak.er"; es: "ak.es"; et: "ak.et"; eu: "ak.eu"; ev: "ak.ev"; ew: "ak.ew"; ex: "ak.ex"; ey: "ak.ey"; ez: "ak.ez"; fa: "ak.fa"; fb: "ak.fb"; fc: "ak.fc"; fd: "ak.fd"; fe: "ak.fe"; ff: "ak.ff"; fg: "ak.fg"; fh: "ak.fh"; fi: "ak.fi"; fj: "ak.fj"; fk: "ak.fk"; fl: "ak.fl"; fm: "ak.fm"; fn: "ak.fn"; fo: "ak.fo"; fp: "ak.fp"; fq: "ak.fq"; fr: "ak.fr"; fs: "ak.fs"; ft: "ak.ft"; fu: "ak.fu"; fv: "ak.fv"; fw: "ak.fw"; fx: "ak.fx"; fy: "ak.fy"; fz: "ak.fz"; ga: "ak.ga"; gb: "ak.gb"; gc: "ak.gc"; gd: "ak.gd"; ge: "ak.ge"; gf: "ak.gf"; gg: "ak.gg"; gh: "ak.gh"; gi: "ak.gi"; gj: "ak.gj"; gk: "ak.gk"; gl: "ak.gl"; gm: "ak.gm"; gn: "ak.gn"; go: "ak.go"; gp: "ak.gp"; gq: "ak.gq"; gr: "ak.gr"; gs: "ak.gs"; gt: "ak.gt"; gu: "ak.gu"; gv: "ak.gv"; gw: "ak.gw"; gx: "ak.gx"; gy: "ak.gy"; gz: "ak.gz"; ha: "ak.ha"; hb: "ak.hb"; hc: "ak.hc"; hd: "ak.hd"; he: "ak.he"; hf: "ak.hf"; hg: "ak.hg"; hh: "ak.hh"; hi: "ak.hi"; hj: "ak.hj"; hk: "ak.hk"; hl: "ak.hl"; hm: "ak.hm"; hn: "ak.hn"; ho: "ak.ho"; hp: "ak.hp"; hq: "ak.hq"; hr: "ak.hr"; hs: "ak.hs"; ht: "ak.ht"; hu: "ak.hu"; hv: "ak.hv"; hw: "ak.hw"; hx: "ak.hx"; hy: "ak.hy"; hz: "ak.hz"; ia: "ak.ia"; ib: "ak.ib"; ic: "ak.ic"; id: "ak.id"; ie: "ak.ie"; if: "ak.if"; ig: "ak.ig"; ih: "ak.ih"; ii: "ak.ii"; ij: "ak.ij"; ik: "ak.ik"; il: "ak.il"; im: "ak.im"; in: "ak.in"; io: "ak.io"; ip: "ak.ip"; iq: "ak.iq"; ir: "ak.ir"; is: "ak.is"; it: "ak.it"; iu: "ak.iu"; iv: "ak.iv"; iw: "ak.iw"; ix: "ak.ix"; iy: "ak.iy"; iz: "ak.iz"; ja: "ak.ja"; jb: "ak.jb"; jc: "ak.jc"; jd: "ak.jd"; je: "ak.je"; jf: "ak.jf"; jg: "ak.jg"; jh: "ak.jh"; ji: "ak.ji"; jj: "ak.jj"; jk: "ak.jk"; jl: "ak.jl"; jm: "ak.jm"; jn: "ak.jn"; jo: "ak.jo"; jp: "ak.jp"; jq: "ak.jq"; jr: "ak.jr"; js: "ak.js"; jt: "ak.jt"; ju: "ak.ju"; jv: "ak.jv"; jw: "ak.jw"; jx: "ak.jx"; jy: "ak.jy"; jz: "ak.jz"; ka: "ak.ka"; kb: "ak.kb"; kc: "ak.kc"; kd: "ak.kd"; ke: "ak.ke"; kf: "ak.kf"; kg: "ak.kg"; kh: "ak.kh"; ki: "ak.ki"; kj: "ak.kj"; kk: "ak.kk"; kl: "ak.kl"; km: "ak.km"; kn: "ak.kn"; ko: "ak.ko"; kp: "ak.kp"; kq: "ak.kq"; kr: "ak.kr"; ks: "ak.ks"; kt: "ak.kt"; ku: "ak.ku"; kv: "ak.kv"; kw: "ak.kw"; kx: "ak.kx"; ky: "ak.ky"; kz: "ak.kz"; la: "ak.la"; lb: "ak.lb"; lc: "ak.lc"; ld: "ak.ld"; le: "ak.le"; lf: "ak.lf"; lg: "ak.lg"; lh: "ak.lh"; li: "ak.li"; lj: "ak.lj"; lk: "ak.lk"; ll: "ak.ll"; lm: "ak.lm"; ln: "ak.ln"; lo: "ak.lo"; lp: "ak.lp"; lq: "ak.lq"; lr: "ak.lr"; ls: "ak.ls"; lt: "ak.lt"; lu: "ak.lu"; lv: "ak.lv"; lw: "ak.lw"; lx: "ak.lx"; ly: "ak.ly"; lz: "ak.lz"; ma: "ak.ma"; mb: "ak.mb"; mc: "ak.mc"; md: "ak.md"; me: "ak.me"; mf: "ak.mf"; mg: "ak.mg"; mh: "ak.mh"; mi: "ak.mi"; mj: "ak.mj"; mk: "ak.mk"; ml: "ak.ml"; mm: "ak.mm"; mn: "ak.mn"; mo: "ak.mo"; mp: "ak.mp"; mq: "ak.mq"; mr: "ak.mr"; ms: "ak.ms"; mt: "ak.mt"; mu: "ak.mu"; mv: "ak.mv"; mw: "ak.mw"; mx: "ak.mx"; my: "ak.my"; mz: "ak.mz"; na: "ak.na"; nb: "ak.nb"; nc: "ak.nc"; nd: "ak.nd"; ne: "ak.ne"; nf: "ak.nf"; ng: "ak.ng"; nh: "ak.nh"; ni: "ak.ni"; nj: "ak.nj"; nk: "ak.nk"; nl: "ak.nl"; nm: "ak.nm"; nn: "ak.nn"; no: "ak.no"; np: "ak.np"; nq: "ak.nq"; nr: "ak.nr"; ns: "ak.ns"; nt: "ak.nt"; nu: "ak.nu"; nv: "ak.nv"; nw: "ak.nw"; nx: "ak.nx"; ny: "ak.ny"; nz: "ak.nz"; oa: "ak.oa"; ob: "ak.ob"; oc: "ak.oc"; od: "ak.od"; oe: "ak.oe"; of: "ak.of"; og: "ak.og"; oh: "ak.oh"; oi: "ak.oi"; oj: "ak.oj"; ok: "ak.ok"; ol: "ak.ol"; om: "ak.om"; on: "ak.on"; oo: "ak.oo"; op: "ak.op"; oq: "ak.oq"; or: "ak.or"; os: "ak.os"; ot: "ak.ot"; ou: "ak.ou"; ov: "ak.ov"; ow: "ak.ow"; ox: "ak.ox"; oy: "ak.oy"; oz: "ak.oz"; pa: "ak.pa"; pb: "ak.pb"; pc: "ak.pc"; pd: "ak.pd"; pe: "ak.pe"; pf: "ak.pf"; pg: "ak.pg"; ph: "ak.ph"; pi: "ak.pi"; pj: "ak.pj"; pk: "ak.pk"; pl: "ak.pl"; pm: "ak.pm"; pn: "ak.pn"; po: "ak.po"; pp: "ak.pp"; pq: "ak.pq"; pr: "ak.pr"; ps: "ak.ps"; pt: "ak.pt"; pu: "ak.pu"; pv: "ak.pv"; pw: "ak.pw"; px: "ak.px"; py: "ak.py"; pz: "ak.pz"; qa: "ak.qa"; qb: "ak.qb"; qc: "ak.qc"; qd: "ak.qd"; qe: "ak.qe"; qf: "ak.qf"; qg: "ak.qg"; qh: "ak.qh"; qi: "ak.qi"; qj: "ak.qj"; qk: "ak.qk"; ql: "ak.ql"; qm: "ak.qm"; qn: "ak.qn"; qo: "ak.qo"; qp: "ak.qp"; qq: "ak.qq"; qr: "ak.qr"; qs: "ak.qs"; qt: "ak.qt"; qu: "ak.qu"; qv: "ak.qv"; qw: "ak.qw"; qx: "ak.qx"; qy: "ak.qy"; qz: "ak.qz"; ra: "ak.ra"; rb: "ak.rb"; rc: "ak.rc"; rd: "ak.rd"; re: "ak.re"; rf: "ak.rf"; rg: "ak.rg"; rh: "ak.rh"; ri: "ak.ri"; rj: "ak.rj"; rk: "ak.rk"; rl: "ak.rl"; rm: "ak.rm"; rn: "ak.rn"; ro: "ak.ro"; rp: "ak.rp"; rq: "ak.rq"; rr: "ak.rr"; rs: "ak.rs"; rt: "ak.rt"; ru: "ak.ru"; rv: "ak.rv"; rw: "ak.rw"; rx: "ak.rx"; ry: "ak.ry"; rz: "ak.rz"; sa: "ak.sa"; sb: "ak.sb"; sc: "ak.sc"; sd: "ak.sd"; se: "ak.se"; sf: "ak.sf"; sg: "ak.sg"; sh: "ak.sh"; si: "ak.si"; sj: "ak.sj"; sk: "ak.sk"; sl: "ak.sl"; sm: "ak.sm"; sn: "ak.sn"; so: "ak.so"; sp: "ak.sp"; sq: "ak.sq"; sr: "ak.sr"; ss: "ak.ss"; st: "ak.st"; su: "ak.su"; sv: "ak.sv"; sw: "ak.sw"; sx: "ak.sx"; sy: "ak.sy"; sz: "ak.sz"; ta: "ak.ta"; tb: "ak.tb"; tc: "ak.tc"; td: "ak.td"; te: "ak.te"; tf: "ak.tf"; tg: "ak.tg"; th: "ak.th"; ti: "ak.ti"; tj: "ak.tj"; tk: "ak.tk"; tl: "ak.tl"; tm: "ak.tm"; tn: "ak.tn"; to: "ak.to"; tp: "ak.tp"; tq: "ak.tq"; tr: "ak.tr"; ts: "ak.ts"; tt: "ak.tt"; tu: "ak.tu"; tv: "ak.tv"; tw: "ak.tw"; tx: "ak.tx"; ty: "ak.ty"; tz: "ak.tz"; ua: "ak.ua"; ub: "ak.ub"; uc: "ak.uc"; ud: "ak.ud"; ue: "ak.ue"; uf: "ak.uf"; ug: "ak.ug"; uh: "ak.uh"; ui: "ak.ui"; uj: "ak.uj"; uk: "ak.uk"; ul: "ak.ul"; um: "ak.um"; un: "ak.un"; uo: "ak.uo"; up: "ak.up"; uq: "ak.uq"; ur: "ak.ur"; us: "ak.us"; ut: "ak.ut"; uu: "ak.uu"; uv: "ak.uv"; uw: "ak.uw"; ux: "ak.ux"; uy: "ak.uy"; uz: "ak.uz"; va: "ak.va"; vb: "ak.vb"; vc: "ak.vc"; vd: "ak.vd"; ve: "ak.ve"; vf: "ak.vf"; vg: "ak.vg"; vh: "ak.vh"; vi: "ak.vi"; vj: "ak.vj"; vk: "ak.vk"; vl: "ak.vl"; vm: "ak.vm"; vn: "ak.vn"; vo: "ak.vo"; vp: "ak.vp"; vq: "ak.vq"; vr: "ak.vr"; vs: "ak.vs"; vt: "ak.vt"; vu: "ak.vu"; vv: "ak.vv"; vw: "ak.vw"; vx: "ak.vx"; vy: "ak.vy"; vz: "ak.vz"; wa: "ak.wa"; wb: "ak.wb"; wc: "ak.wc"; wd: "ak.wd"; we: "ak.we"; wf: "ak.wf"; wg: "ak.wg"; wh: "ak.wh"; wi: "ak.wi"; wj: "ak.wj"; wk: "ak.wk"; wl: "ak.wl"; wm: "ak.wm"; wn: "ak.wn"; wo: "ak.wo"; wp: "ak.wp"; wq: "ak.wq"; wr: "ak.wr"; ws: "ak.ws"; wt: "ak.wt"; wu: "ak.wu"; wv: "ak.wv"; ww: "ak.ww"; wx: "ak.wx"; wy: "ak.wy"; wz: "ak.wz"; xa: "ak.xa"; xb: "ak.xb"; xc: "ak.xc"; xd: "ak.xd"; xe: "ak.xe"; xf: "ak.xf"; xg: "ak.xg"; xh: "ak.xh"; xi: "ak.xi"; xj: "ak.xj"; xk: "ak.xk"; xl: "ak.xl"; xm: "ak.xm"; xn: "ak.xn"; xo: "ak.xo"; xp: "ak.xp"; xq: "ak.xq"; xr: "ak.xr"; xs: "ak.xs"; xt: "ak.xt"; xu: "ak.xu"; xv: "ak.xv"; xw: "ak.xw"; xx: "ak.xx"; xy: "ak.xy"; xz: "ak.xz"; ya: "ak.ya"; yb: "ak.yb"; yc: "ak.yc"; yd: "ak.yd"; ye: "ak.ye"; yf: "ak.yf"; yg: "ak.yg"; yh: "ak.yh"; yi: "ak.yi"; yj: "ak.yj"; yk: "ak.yk"; yl: "ak.yl"; ym: "ak.ym"; yn: "ak.yn"; yo: "ak.yo"; yp: "ak.yp"; yq: "ak.yq"; yr: "ak.yr"; ys: "ak.ys"; yt: "ak.yt"; yu: "ak.yu"; yv: "ak.yv"; yw: "ak.yw"; yx: "ak.yx"; yy: "ak.yy"; yz: "ak.yz"; za: "ak.za"; zb: "ak.zb"; zc: "ak.zc"; zd: "ak.zd"; ze: "ak.ze"; zf: "ak.zf"; zg: "ak.zg"; zh: "ak.zh"; zi: "ak.zi"; zj: "ak.zj"; zk: "ak.zk"; zl: "ak.zl"; zm: "ak.zm"; zn: "ak.zn"; zo: "ak.zo"; zp: "ak.zp"; zq: "ak.zq"; zr: "ak.zr"; zs: "ak.zs"; zt: "ak.zt"; zu: "ak.zu"; zv: "ak.zv"; zw: "ak.zw"; zx: "ak.zx"; zy: "ak.zy"; zz: "ak.zz"; }; al: { aa: "al.aa"; ab: "al.ab"; ac: "al.ac"; ad: "al.ad"; ae: "al.ae"; af: "al.af"; ag: "al.ag"; ah: "al.ah"; ai: "al.ai"; aj: "al.aj"; ak: "al.ak"; al: "al.al"; am: "al.am"; an: "al.an"; ao: "al.ao"; ap: "al.ap"; aq: "al.aq"; ar: "al.ar"; as: "al.as"; at: "al.at"; au: "al.au"; av: "al.av"; aw: "al.aw"; ax: "al.ax"; ay: "al.ay"; az: "al.az"; ba: "al.ba"; bb: "al.bb"; bc: "al.bc"; bd: "al.bd"; be: "al.be"; bf: "al.bf"; bg: "al.bg"; bh: "al.bh"; bi: "al.bi"; bj: "al.bj"; bk: "al.bk"; bl: "al.bl"; bm: "al.bm"; bn: "al.bn"; bo: "al.bo"; bp: "al.bp"; bq: "al.bq"; br: "al.br"; bs: "al.bs"; bt: "al.bt"; bu: "al.bu"; bv: "al.bv"; bw: "al.bw"; bx: "al.bx"; by: "al.by"; bz: "al.bz"; ca: "al.ca"; cb: "al.cb"; cc: "al.cc"; cd: "al.cd"; ce: "al.ce"; cf: "al.cf"; cg: "al.cg"; ch: "al.ch"; ci: "al.ci"; cj: "al.cj"; ck: "al.ck"; cl: "al.cl"; cm: "al.cm"; cn: "al.cn"; co: "al.co"; cp: "al.cp"; cq: "al.cq"; cr: "al.cr"; cs: "al.cs"; ct: "al.ct"; cu: "al.cu"; cv: "al.cv"; cw: "al.cw"; cx: "al.cx"; cy: "al.cy"; cz: "al.cz"; da: "al.da"; db: "al.db"; dc: "al.dc"; dd: "al.dd"; de: "al.de"; df: "al.df"; dg: "al.dg"; dh: "al.dh"; di: "al.di"; dj: "al.dj"; dk: "al.dk"; dl: "al.dl"; dm: "al.dm"; dn: "al.dn"; do: "al.do"; dp: "al.dp"; dq: "al.dq"; dr: "al.dr"; ds: "al.ds"; dt: "al.dt"; du: "al.du"; dv: "al.dv"; dw: "al.dw"; dx: "al.dx"; dy: "al.dy"; dz: "al.dz"; ea: "al.ea"; eb: "al.eb"; ec: "al.ec"; ed: "al.ed"; ee: "al.ee"; ef: "al.ef"; eg: "al.eg"; eh: "al.eh"; ei: "al.ei"; ej: "al.ej"; ek: "al.ek"; el: "al.el"; em: "al.em"; en: "al.en"; eo: "al.eo"; ep: "al.ep"; eq: "al.eq"; er: "al.er"; es: "al.es"; et: "al.et"; eu: "al.eu"; ev: "al.ev"; ew: "al.ew"; ex: "al.ex"; ey: "al.ey"; ez: "al.ez"; fa: "al.fa"; fb: "al.fb"; fc: "al.fc"; fd: "al.fd"; fe: "al.fe"; ff: "al.ff"; fg: "al.fg"; fh: "al.fh"; fi: "al.fi"; fj: "al.fj"; fk: "al.fk"; fl: "al.fl"; fm: "al.fm"; fn: "al.fn"; fo: "al.fo"; fp: "al.fp"; fq: "al.fq"; fr: "al.fr"; fs: "al.fs"; ft: "al.ft"; fu: "al.fu"; fv: "al.fv"; fw: "al.fw"; fx: "al.fx"; fy: "al.fy"; fz: "al.fz"; ga: "al.ga"; gb: "al.gb"; gc: "al.gc"; gd: "al.gd"; ge: "al.ge"; gf: "al.gf"; gg: "al.gg"; gh: "al.gh"; gi: "al.gi"; gj: "al.gj"; gk: "al.gk"; gl: "al.gl"; gm: "al.gm"; gn: "al.gn"; go: "al.go"; gp: "al.gp"; gq: "al.gq"; gr: "al.gr"; gs: "al.gs"; gt: "al.gt"; gu: "al.gu"; gv: "al.gv"; gw: "al.gw"; gx: "al.gx"; gy: "al.gy"; gz: "al.gz"; ha: "al.ha"; hb: "al.hb"; hc: "al.hc"; hd: "al.hd"; he: "al.he"; hf: "al.hf"; hg: "al.hg"; hh: "al.hh"; hi: "al.hi"; hj: "al.hj"; hk: "al.hk"; hl: "al.hl"; hm: "al.hm"; hn: "al.hn"; ho: "al.ho"; hp: "al.hp"; hq: "al.hq"; hr: "al.hr"; hs: "al.hs"; ht: "al.ht"; hu: "al.hu"; hv: "al.hv"; hw: "al.hw"; hx: "al.hx"; hy: "al.hy"; hz: "al.hz"; ia: "al.ia"; ib: "al.ib"; ic: "al.ic"; id: "al.id"; ie: "al.ie"; if: "al.if"; ig: "al.ig"; ih: "al.ih"; ii: "al.ii"; ij: "al.ij"; ik: "al.ik"; il: "al.il"; im: "al.im"; in: "al.in"; io: "al.io"; ip: "al.ip"; iq: "al.iq"; ir: "al.ir"; is: "al.is"; it: "al.it"; iu: "al.iu"; iv: "al.iv"; iw: "al.iw"; ix: "al.ix"; iy: "al.iy"; iz: "al.iz"; ja: "al.ja"; jb: "al.jb"; jc: "al.jc"; jd: "al.jd"; je: "al.je"; jf: "al.jf"; jg: "al.jg"; jh: "al.jh"; ji: "al.ji"; jj: "al.jj"; jk: "al.jk"; jl: "al.jl"; jm: "al.jm"; jn: "al.jn"; jo: "al.jo"; jp: "al.jp"; jq: "al.jq"; jr: "al.jr"; js: "al.js"; jt: "al.jt"; ju: "al.ju"; jv: "al.jv"; jw: "al.jw"; jx: "al.jx"; jy: "al.jy"; jz: "al.jz"; ka: "al.ka"; kb: "al.kb"; kc: "al.kc"; kd: "al.kd"; ke: "al.ke"; kf: "al.kf"; kg: "al.kg"; kh: "al.kh"; ki: "al.ki"; kj: "al.kj"; kk: "al.kk"; kl: "al.kl"; km: "al.km"; kn: "al.kn"; ko: "al.ko"; kp: "al.kp"; kq: "al.kq"; kr: "al.kr"; ks: "al.ks"; kt: "al.kt"; ku: "al.ku"; kv: "al.kv"; kw: "al.kw"; kx: "al.kx"; ky: "al.ky"; kz: "al.kz"; la: "al.la"; lb: "al.lb"; lc: "al.lc"; ld: "al.ld"; le: "al.le"; lf: "al.lf"; lg: "al.lg"; lh: "al.lh"; li: "al.li"; lj: "al.lj"; lk: "al.lk"; ll: "al.ll"; lm: "al.lm"; ln: "al.ln"; lo: "al.lo"; lp: "al.lp"; lq: "al.lq"; lr: "al.lr"; ls: "al.ls"; lt: "al.lt"; lu: "al.lu"; lv: "al.lv"; lw: "al.lw"; lx: "al.lx"; ly: "al.ly"; lz: "al.lz"; ma: "al.ma"; mb: "al.mb"; mc: "al.mc"; md: "al.md"; me: "al.me"; mf: "al.mf"; mg: "al.mg"; mh: "al.mh"; mi: "al.mi"; mj: "al.mj"; mk: "al.mk"; ml: "al.ml"; mm: "al.mm"; mn: "al.mn"; mo: "al.mo"; mp: "al.mp"; mq: "al.mq"; mr: "al.mr"; ms: "al.ms"; mt: "al.mt"; mu: "al.mu"; mv: "al.mv"; mw: "al.mw"; mx: "al.mx"; my: "al.my"; mz: "al.mz"; na: "al.na"; nb: "al.nb"; nc: "al.nc"; nd: "al.nd"; ne: "al.ne"; nf: "al.nf"; ng: "al.ng"; nh: "al.nh"; ni: "al.ni"; nj: "al.nj"; nk: "al.nk"; nl: "al.nl"; nm: "al.nm"; nn: "al.nn"; no: "al.no"; np: "al.np"; nq: "al.nq"; nr: "al.nr"; ns: "al.ns"; nt: "al.nt"; nu: "al.nu"; nv: "al.nv"; nw: "al.nw"; nx: "al.nx"; ny: "al.ny"; nz: "al.nz"; oa: "al.oa"; ob: "al.ob"; oc: "al.oc"; od: "al.od"; oe: "al.oe"; of: "al.of"; og: "al.og"; oh: "al.oh"; oi: "al.oi"; oj: "al.oj"; ok: "al.ok"; ol: "al.ol"; om: "al.om"; on: "al.on"; oo: "al.oo"; op: "al.op"; oq: "al.oq"; or: "al.or"; os: "al.os"; ot: "al.ot"; ou: "al.ou"; ov: "al.ov"; ow: "al.ow"; ox: "al.ox"; oy: "al.oy"; oz: "al.oz"; pa: "al.pa"; pb: "al.pb"; pc: "al.pc"; pd: "al.pd"; pe: "al.pe"; pf: "al.pf"; pg: "al.pg"; ph: "al.ph"; pi: "al.pi"; pj: "al.pj"; pk: "al.pk"; pl: "al.pl"; pm: "al.pm"; pn: "al.pn"; po: "al.po"; pp: "al.pp"; pq: "al.pq"; pr: "al.pr"; ps: "al.ps"; pt: "al.pt"; pu: "al.pu"; pv: "al.pv"; pw: "al.pw"; px: "al.px"; py: "al.py"; pz: "al.pz"; qa: "al.qa"; qb: "al.qb"; qc: "al.qc"; qd: "al.qd"; qe: "al.qe"; qf: "al.qf"; qg: "al.qg"; qh: "al.qh"; qi: "al.qi"; qj: "al.qj"; qk: "al.qk"; ql: "al.ql"; qm: "al.qm"; qn: "al.qn"; qo: "al.qo"; qp: "al.qp"; qq: "al.qq"; qr: "al.qr"; qs: "al.qs"; qt: "al.qt"; qu: "al.qu"; qv: "al.qv"; qw: "al.qw"; qx: "al.qx"; qy: "al.qy"; qz: "al.qz"; ra: "al.ra"; rb: "al.rb"; rc: "al.rc"; rd: "al.rd"; re: "al.re"; rf: "al.rf"; rg: "al.rg"; rh: "al.rh"; ri: "al.ri"; rj: "al.rj"; rk: "al.rk"; rl: "al.rl"; rm: "al.rm"; rn: "al.rn"; ro: "al.ro"; rp: "al.rp"; rq: "al.rq"; rr: "al.rr"; rs: "al.rs"; rt: "al.rt"; ru: "al.ru"; rv: "al.rv"; rw: "al.rw"; rx: "al.rx"; ry: "al.ry"; rz: "al.rz"; sa: "al.sa"; sb: "al.sb"; sc: "al.sc"; sd: "al.sd"; se: "al.se"; sf: "al.sf"; sg: "al.sg"; sh: "al.sh"; si: "al.si"; sj: "al.sj"; sk: "al.sk"; sl: "al.sl"; sm: "al.sm"; sn: "al.sn"; so: "al.so"; sp: "al.sp"; sq: "al.sq"; sr: "al.sr"; ss: "al.ss"; st: "al.st"; su: "al.su"; sv: "al.sv"; sw: "al.sw"; sx: "al.sx"; sy: "al.sy"; sz: "al.sz"; ta: "al.ta"; tb: "al.tb"; tc: "al.tc"; td: "al.td"; te: "al.te"; tf: "al.tf"; tg: "al.tg"; th: "al.th"; ti: "al.ti"; tj: "al.tj"; tk: "al.tk"; tl: "al.tl"; tm: "al.tm"; tn: "al.tn"; to: "al.to"; tp: "al.tp"; tq: "al.tq"; tr: "al.tr"; ts: "al.ts"; tt: "al.tt"; tu: "al.tu"; tv: "al.tv"; tw: "al.tw"; tx: "al.tx"; ty: "al.ty"; tz: "al.tz"; ua: "al.ua"; ub: "al.ub"; uc: "al.uc"; ud: "al.ud"; ue: "al.ue"; uf: "al.uf"; ug: "al.ug"; uh: "al.uh"; ui: "al.ui"; uj: "al.uj"; uk: "al.uk"; ul: "al.ul"; um: "al.um"; un: "al.un"; uo: "al.uo"; up: "al.up"; uq: "al.uq"; ur: "al.ur"; us: "al.us"; ut: "al.ut"; uu: "al.uu"; uv: "al.uv"; uw: "al.uw"; ux: "al.ux"; uy: "al.uy"; uz: "al.uz"; va: "al.va"; vb: "al.vb"; vc: "al.vc"; vd: "al.vd"; ve: "al.ve"; vf: "al.vf"; vg: "al.vg"; vh: "al.vh"; vi: "al.vi"; vj: "al.vj"; vk: "al.vk"; vl: "al.vl"; vm: "al.vm"; vn: "al.vn"; vo: "al.vo"; vp: "al.vp"; vq: "al.vq"; vr: "al.vr"; vs: "al.vs"; vt: "al.vt"; vu: "al.vu"; vv: "al.vv"; vw: "al.vw"; vx: "al.vx"; vy: "al.vy"; vz: "al.vz"; wa: "al.wa"; wb: "al.wb"; wc: "al.wc"; wd: "al.wd"; we: "al.we"; wf: "al.wf"; wg: "al.wg"; wh: "al.wh"; wi: "al.wi"; wj: "al.wj"; wk: "al.wk"; wl: "al.wl"; wm: "al.wm"; wn: "al.wn"; wo: "al.wo"; wp: "al.wp"; wq: "al.wq"; wr: "al.wr"; ws: "al.ws"; wt: "al.wt"; wu: "al.wu"; wv: "al.wv"; ww: "al.ww"; wx: "al.wx"; wy: "al.wy"; wz: "al.wz"; xa: "al.xa"; xb: "al.xb"; xc: "al.xc"; xd: "al.xd"; xe: "al.xe"; xf: "al.xf"; xg: "al.xg"; xh: "al.xh"; xi: "al.xi"; xj: "al.xj"; xk: "al.xk"; xl: "al.xl"; xm: "al.xm"; xn: "al.xn"; xo: "al.xo"; xp: "al.xp"; xq: "al.xq"; xr: "al.xr"; xs: "al.xs"; xt: "al.xt"; xu: "al.xu"; xv: "al.xv"; xw: "al.xw"; xx: "al.xx"; xy: "al.xy"; xz: "al.xz"; ya: "al.ya"; yb: "al.yb"; yc: "al.yc"; yd: "al.yd"; ye: "al.ye"; yf: "al.yf"; yg: "al.yg"; yh: "al.yh"; yi: "al.yi"; yj: "al.yj"; yk: "al.yk"; yl: "al.yl"; ym: "al.ym"; yn: "al.yn"; yo: "al.yo"; yp: "al.yp"; yq: "al.yq"; yr: "al.yr"; ys: "al.ys"; yt: "al.yt"; yu: "al.yu"; yv: "al.yv"; yw: "al.yw"; yx: "al.yx"; yy: "al.yy"; yz: "al.yz"; za: "al.za"; zb: "al.zb"; zc: "al.zc"; zd: "al.zd"; ze: "al.ze"; zf: "al.zf"; zg: "al.zg"; zh: "al.zh"; zi: "al.zi"; zj: "al.zj"; zk: "al.zk"; zl: "al.zl"; zm: "al.zm"; zn: "al.zn"; zo: "al.zo"; zp: "al.zp"; zq: "al.zq"; zr: "al.zr"; zs: "al.zs"; zt: "al.zt"; zu: "al.zu"; zv: "al.zv"; zw: "al.zw"; zx: "al.zx"; zy: "al.zy"; zz: "al.zz"; }; am: { aa: "am.aa"; ab: "am.ab"; ac: "am.ac"; ad: "am.ad"; ae: "am.ae"; af: "am.af"; ag: "am.ag"; ah: "am.ah"; ai: "am.ai"; aj: "am.aj"; ak: "am.ak"; al: "am.al"; am: "am.am"; an: "am.an"; ao: "am.ao"; ap: "am.ap"; aq: "am.aq"; ar: "am.ar"; as: "am.as"; at: "am.at"; au: "am.au"; av: "am.av"; aw: "am.aw"; ax: "am.ax"; ay: "am.ay"; az: "am.az"; ba: "am.ba"; bb: "am.bb"; bc: "am.bc"; bd: "am.bd"; be: "am.be"; bf: "am.bf"; bg: "am.bg"; bh: "am.bh"; bi: "am.bi"; bj: "am.bj"; bk: "am.bk"; bl: "am.bl"; bm: "am.bm"; bn: "am.bn"; bo: "am.bo"; bp: "am.bp"; bq: "am.bq"; br: "am.br"; bs: "am.bs"; bt: "am.bt"; bu: "am.bu"; bv: "am.bv"; bw: "am.bw"; bx: "am.bx"; by: "am.by"; bz: "am.bz"; ca: "am.ca"; cb: "am.cb"; cc: "am.cc"; cd: "am.cd"; ce: "am.ce"; cf: "am.cf"; cg: "am.cg"; ch: "am.ch"; ci: "am.ci"; cj: "am.cj"; ck: "am.ck"; cl: "am.cl"; cm: "am.cm"; cn: "am.cn"; co: "am.co"; cp: "am.cp"; cq: "am.cq"; cr: "am.cr"; cs: "am.cs"; ct: "am.ct"; cu: "am.cu"; cv: "am.cv"; cw: "am.cw"; cx: "am.cx"; cy: "am.cy"; cz: "am.cz"; da: "am.da"; db: "am.db"; dc: "am.dc"; dd: "am.dd"; de: "am.de"; df: "am.df"; dg: "am.dg"; dh: "am.dh"; di: "am.di"; dj: "am.dj"; dk: "am.dk"; dl: "am.dl"; dm: "am.dm"; dn: "am.dn"; do: "am.do"; dp: "am.dp"; dq: "am.dq"; dr: "am.dr"; ds: "am.ds"; dt: "am.dt"; du: "am.du"; dv: "am.dv"; dw: "am.dw"; dx: "am.dx"; dy: "am.dy"; dz: "am.dz"; ea: "am.ea"; eb: "am.eb"; ec: "am.ec"; ed: "am.ed"; ee: "am.ee"; ef: "am.ef"; eg: "am.eg"; eh: "am.eh"; ei: "am.ei"; ej: "am.ej"; ek: "am.ek"; el: "am.el"; em: "am.em"; en: "am.en"; eo: "am.eo"; ep: "am.ep"; eq: "am.eq"; er: "am.er"; es: "am.es"; et: "am.et"; eu: "am.eu"; ev: "am.ev"; ew: "am.ew"; ex: "am.ex"; ey: "am.ey"; ez: "am.ez"; fa: "am.fa"; fb: "am.fb"; fc: "am.fc"; fd: "am.fd"; fe: "am.fe"; ff: "am.ff"; fg: "am.fg"; fh: "am.fh"; fi: "am.fi"; fj: "am.fj"; fk: "am.fk"; fl: "am.fl"; fm: "am.fm"; fn: "am.fn"; fo: "am.fo"; fp: "am.fp"; fq: "am.fq"; fr: "am.fr"; fs: "am.fs"; ft: "am.ft"; fu: "am.fu"; fv: "am.fv"; fw: "am.fw"; fx: "am.fx"; fy: "am.fy"; fz: "am.fz"; ga: "am.ga"; gb: "am.gb"; gc: "am.gc"; gd: "am.gd"; ge: "am.ge"; gf: "am.gf"; gg: "am.gg"; gh: "am.gh"; gi: "am.gi"; gj: "am.gj"; gk: "am.gk"; gl: "am.gl"; gm: "am.gm"; gn: "am.gn"; go: "am.go"; gp: "am.gp"; gq: "am.gq"; gr: "am.gr"; gs: "am.gs"; gt: "am.gt"; gu: "am.gu"; gv: "am.gv"; gw: "am.gw"; gx: "am.gx"; gy: "am.gy"; gz: "am.gz"; ha: "am.ha"; hb: "am.hb"; hc: "am.hc"; hd: "am.hd"; he: "am.he"; hf: "am.hf"; hg: "am.hg"; hh: "am.hh"; hi: "am.hi"; hj: "am.hj"; hk: "am.hk"; hl: "am.hl"; hm: "am.hm"; hn: "am.hn"; ho: "am.ho"; hp: "am.hp"; hq: "am.hq"; hr: "am.hr"; hs: "am.hs"; ht: "am.ht"; hu: "am.hu"; hv: "am.hv"; hw: "am.hw"; hx: "am.hx"; hy: "am.hy"; hz: "am.hz"; ia: "am.ia"; ib: "am.ib"; ic: "am.ic"; id: "am.id"; ie: "am.ie"; if: "am.if"; ig: "am.ig"; ih: "am.ih"; ii: "am.ii"; ij: "am.ij"; ik: "am.ik"; il: "am.il"; im: "am.im"; in: "am.in"; io: "am.io"; ip: "am.ip"; iq: "am.iq"; ir: "am.ir"; is: "am.is"; it: "am.it"; iu: "am.iu"; iv: "am.iv"; iw: "am.iw"; ix: "am.ix"; iy: "am.iy"; iz: "am.iz"; ja: "am.ja"; jb: "am.jb"; jc: "am.jc"; jd: "am.jd"; je: "am.je"; jf: "am.jf"; jg: "am.jg"; jh: "am.jh"; ji: "am.ji"; jj: "am.jj"; jk: "am.jk"; jl: "am.jl"; jm: "am.jm"; jn: "am.jn"; jo: "am.jo"; jp: "am.jp"; jq: "am.jq"; jr: "am.jr"; js: "am.js"; jt: "am.jt"; ju: "am.ju"; jv: "am.jv"; jw: "am.jw"; jx: "am.jx"; jy: "am.jy"; jz: "am.jz"; ka: "am.ka"; kb: "am.kb"; kc: "am.kc"; kd: "am.kd"; ke: "am.ke"; kf: "am.kf"; kg: "am.kg"; kh: "am.kh"; ki: "am.ki"; kj: "am.kj"; kk: "am.kk"; kl: "am.kl"; km: "am.km"; kn: "am.kn"; ko: "am.ko"; kp: "am.kp"; kq: "am.kq"; kr: "am.kr"; ks: "am.ks"; kt: "am.kt"; ku: "am.ku"; kv: "am.kv"; kw: "am.kw"; kx: "am.kx"; ky: "am.ky"; kz: "am.kz"; la: "am.la"; lb: "am.lb"; lc: "am.lc"; ld: "am.ld"; le: "am.le"; lf: "am.lf"; lg: "am.lg"; lh: "am.lh"; li: "am.li"; lj: "am.lj"; lk: "am.lk"; ll: "am.ll"; lm: "am.lm"; ln: "am.ln"; lo: "am.lo"; lp: "am.lp"; lq: "am.lq"; lr: "am.lr"; ls: "am.ls"; lt: "am.lt"; lu: "am.lu"; lv: "am.lv"; lw: "am.lw"; lx: "am.lx"; ly: "am.ly"; lz: "am.lz"; ma: "am.ma"; mb: "am.mb"; mc: "am.mc"; md: "am.md"; me: "am.me"; mf: "am.mf"; mg: "am.mg"; mh: "am.mh"; mi: "am.mi"; mj: "am.mj"; mk: "am.mk"; ml: "am.ml"; mm: "am.mm"; mn: "am.mn"; mo: "am.mo"; mp: "am.mp"; mq: "am.mq"; mr: "am.mr"; ms: "am.ms"; mt: "am.mt"; mu: "am.mu"; mv: "am.mv"; mw: "am.mw"; mx: "am.mx"; my: "am.my"; mz: "am.mz"; na: "am.na"; nb: "am.nb"; nc: "am.nc"; nd: "am.nd"; ne: "am.ne"; nf: "am.nf"; ng: "am.ng"; nh: "am.nh"; ni: "am.ni"; nj: "am.nj"; nk: "am.nk"; nl: "am.nl"; nm: "am.nm"; nn: "am.nn"; no: "am.no"; np: "am.np"; nq: "am.nq"; nr: "am.nr"; ns: "am.ns"; nt: "am.nt"; nu: "am.nu"; nv: "am.nv"; nw: "am.nw"; nx: "am.nx"; ny: "am.ny"; nz: "am.nz"; oa: "am.oa"; ob: "am.ob"; oc: "am.oc"; od: "am.od"; oe: "am.oe"; of: "am.of"; og: "am.og"; oh: "am.oh"; oi: "am.oi"; oj: "am.oj"; ok: "am.ok"; ol: "am.ol"; om: "am.om"; on: "am.on"; oo: "am.oo"; op: "am.op"; oq: "am.oq"; or: "am.or"; os: "am.os"; ot: "am.ot"; ou: "am.ou"; ov: "am.ov"; ow: "am.ow"; ox: "am.ox"; oy: "am.oy"; oz: "am.oz"; pa: "am.pa"; pb: "am.pb"; pc: "am.pc"; pd: "am.pd"; pe: "am.pe"; pf: "am.pf"; pg: "am.pg"; ph: "am.ph"; pi: "am.pi"; pj: "am.pj"; pk: "am.pk"; pl: "am.pl"; pm: "am.pm"; pn: "am.pn"; po: "am.po"; pp: "am.pp"; pq: "am.pq"; pr: "am.pr"; ps: "am.ps"; pt: "am.pt"; pu: "am.pu"; pv: "am.pv"; pw: "am.pw"; px: "am.px"; py: "am.py"; pz: "am.pz"; qa: "am.qa"; qb: "am.qb"; qc: "am.qc"; qd: "am.qd"; qe: "am.qe"; qf: "am.qf"; qg: "am.qg"; qh: "am.qh"; qi: "am.qi"; qj: "am.qj"; qk: "am.qk"; ql: "am.ql"; qm: "am.qm"; qn: "am.qn"; qo: "am.qo"; qp: "am.qp"; qq: "am.qq"; qr: "am.qr"; qs: "am.qs"; qt: "am.qt"; qu: "am.qu"; qv: "am.qv"; qw: "am.qw"; qx: "am.qx"; qy: "am.qy"; qz: "am.qz"; ra: "am.ra"; rb: "am.rb"; rc: "am.rc"; rd: "am.rd"; re: "am.re"; rf: "am.rf"; rg: "am.rg"; rh: "am.rh"; ri: "am.ri"; rj: "am.rj"; rk: "am.rk"; rl: "am.rl"; rm: "am.rm"; rn: "am.rn"; ro: "am.ro"; rp: "am.rp"; rq: "am.rq"; rr: "am.rr"; rs: "am.rs"; rt: "am.rt"; ru: "am.ru"; rv: "am.rv"; rw: "am.rw"; rx: "am.rx"; ry: "am.ry"; rz: "am.rz"; sa: "am.sa"; sb: "am.sb"; sc: "am.sc"; sd: "am.sd"; se: "am.se"; sf: "am.sf"; sg: "am.sg"; sh: "am.sh"; si: "am.si"; sj: "am.sj"; sk: "am.sk"; sl: "am.sl"; sm: "am.sm"; sn: "am.sn"; so: "am.so"; sp: "am.sp"; sq: "am.sq"; sr: "am.sr"; ss: "am.ss"; st: "am.st"; su: "am.su"; sv: "am.sv"; sw: "am.sw"; sx: "am.sx"; sy: "am.sy"; sz: "am.sz"; ta: "am.ta"; tb: "am.tb"; tc: "am.tc"; td: "am.td"; te: "am.te"; tf: "am.tf"; tg: "am.tg"; th: "am.th"; ti: "am.ti"; tj: "am.tj"; tk: "am.tk"; tl: "am.tl"; tm: "am.tm"; tn: "am.tn"; to: "am.to"; tp: "am.tp"; tq: "am.tq"; tr: "am.tr"; ts: "am.ts"; tt: "am.tt"; tu: "am.tu"; tv: "am.tv"; tw: "am.tw"; tx: "am.tx"; ty: "am.ty"; tz: "am.tz"; ua: "am.ua"; ub: "am.ub"; uc: "am.uc"; ud: "am.ud"; ue: "am.ue"; uf: "am.uf"; ug: "am.ug"; uh: "am.uh"; ui: "am.ui"; uj: "am.uj"; uk: "am.uk"; ul: "am.ul"; um: "am.um"; un: "am.un"; uo: "am.uo"; up: "am.up"; uq: "am.uq"; ur: "am.ur"; us: "am.us"; ut: "am.ut"; uu: "am.uu"; uv: "am.uv"; uw: "am.uw"; ux: "am.ux"; uy: "am.uy"; uz: "am.uz"; va: "am.va"; vb: "am.vb"; vc: "am.vc"; vd: "am.vd"; ve: "am.ve"; vf: "am.vf"; vg: "am.vg"; vh: "am.vh"; vi: "am.vi"; vj: "am.vj"; vk: "am.vk"; vl: "am.vl"; vm: "am.vm"; vn: "am.vn"; vo: "am.vo"; vp: "am.vp"; vq: "am.vq"; vr: "am.vr"; vs: "am.vs"; vt: "am.vt"; vu: "am.vu"; vv: "am.vv"; vw: "am.vw"; vx: "am.vx"; vy: "am.vy"; vz: "am.vz"; wa: "am.wa"; wb: "am.wb"; wc: "am.wc"; wd: "am.wd"; we: "am.we"; wf: "am.wf"; wg: "am.wg"; wh: "am.wh"; wi: "am.wi"; wj: "am.wj"; wk: "am.wk"; wl: "am.wl"; wm: "am.wm"; wn: "am.wn"; wo: "am.wo"; wp: "am.wp"; wq: "am.wq"; wr: "am.wr"; ws: "am.ws"; wt: "am.wt"; wu: "am.wu"; wv: "am.wv"; ww: "am.ww"; wx: "am.wx"; wy: "am.wy"; wz: "am.wz"; xa: "am.xa"; xb: "am.xb"; xc: "am.xc"; xd: "am.xd"; xe: "am.xe"; xf: "am.xf"; xg: "am.xg"; xh: "am.xh"; xi: "am.xi"; xj: "am.xj"; xk: "am.xk"; xl: "am.xl"; xm: "am.xm"; xn: "am.xn"; xo: "am.xo"; xp: "am.xp"; xq: "am.xq"; xr: "am.xr"; xs: "am.xs"; xt: "am.xt"; xu: "am.xu"; xv: "am.xv"; xw: "am.xw"; xx: "am.xx"; xy: "am.xy"; xz: "am.xz"; ya: "am.ya"; yb: "am.yb"; yc: "am.yc"; yd: "am.yd"; ye: "am.ye"; yf: "am.yf"; yg: "am.yg"; yh: "am.yh"; yi: "am.yi"; yj: "am.yj"; yk: "am.yk"; yl: "am.yl"; ym: "am.ym"; yn: "am.yn"; yo: "am.yo"; yp: "am.yp"; yq: "am.yq"; yr: "am.yr"; ys: "am.ys"; yt: "am.yt"; yu: "am.yu"; yv: "am.yv"; yw: "am.yw"; yx: "am.yx"; yy: "am.yy"; yz: "am.yz"; za: "am.za"; zb: "am.zb"; zc: "am.zc"; zd: "am.zd"; ze: "am.ze"; zf: "am.zf"; zg: "am.zg"; zh: "am.zh"; zi: "am.zi"; zj: "am.zj"; zk: "am.zk"; zl: "am.zl"; zm: "am.zm"; zn: "am.zn"; zo: "am.zo"; zp: "am.zp"; zq: "am.zq"; zr: "am.zr"; zs: "am.zs"; zt: "am.zt"; zu: "am.zu"; zv: "am.zv"; zw: "am.zw"; zx: "am.zx"; zy: "am.zy"; zz: "am.zz"; }; an: { aa: "an.aa"; ab: "an.ab"; ac: "an.ac"; ad: "an.ad"; ae: "an.ae"; af: "an.af"; ag: "an.ag"; ah: "an.ah"; ai: "an.ai"; aj: "an.aj"; ak: "an.ak"; al: "an.al"; am: "an.am"; an: "an.an"; ao: "an.ao"; ap: "an.ap"; aq: "an.aq"; ar: "an.ar"; as: "an.as"; at: "an.at"; au: "an.au"; av: "an.av"; aw: "an.aw"; ax: "an.ax"; ay: "an.ay"; az: "an.az"; ba: "an.ba"; bb: "an.bb"; bc: "an.bc"; bd: "an.bd"; be: "an.be"; bf: "an.bf"; bg: "an.bg"; bh: "an.bh"; bi: "an.bi"; bj: "an.bj"; bk: "an.bk"; bl: "an.bl"; bm: "an.bm"; bn: "an.bn"; bo: "an.bo"; bp: "an.bp"; bq: "an.bq"; br: "an.br"; bs: "an.bs"; bt: "an.bt"; bu: "an.bu"; bv: "an.bv"; bw: "an.bw"; bx: "an.bx"; by: "an.by"; bz: "an.bz"; ca: "an.ca"; cb: "an.cb"; cc: "an.cc"; cd: "an.cd"; ce: "an.ce"; cf: "an.cf"; cg: "an.cg"; ch: "an.ch"; ci: "an.ci"; cj: "an.cj"; ck: "an.ck"; cl: "an.cl"; cm: "an.cm"; cn: "an.cn"; co: "an.co"; cp: "an.cp"; cq: "an.cq"; cr: "an.cr"; cs: "an.cs"; ct: "an.ct"; cu: "an.cu"; cv: "an.cv"; cw: "an.cw"; cx: "an.cx"; cy: "an.cy"; cz: "an.cz"; da: "an.da"; db: "an.db"; dc: "an.dc"; dd: "an.dd"; de: "an.de"; df: "an.df"; dg: "an.dg"; dh: "an.dh"; di: "an.di"; dj: "an.dj"; dk: "an.dk"; dl: "an.dl"; dm: "an.dm"; dn: "an.dn"; do: "an.do"; dp: "an.dp"; dq: "an.dq"; dr: "an.dr"; ds: "an.ds"; dt: "an.dt"; du: "an.du"; dv: "an.dv"; dw: "an.dw"; dx: "an.dx"; dy: "an.dy"; dz: "an.dz"; ea: "an.ea"; eb: "an.eb"; ec: "an.ec"; ed: "an.ed"; ee: "an.ee"; ef: "an.ef"; eg: "an.eg"; eh: "an.eh"; ei: "an.ei"; ej: "an.ej"; ek: "an.ek"; el: "an.el"; em: "an.em"; en: "an.en"; eo: "an.eo"; ep: "an.ep"; eq: "an.eq"; er: "an.er"; es: "an.es"; et: "an.et"; eu: "an.eu"; ev: "an.ev"; ew: "an.ew"; ex: "an.ex"; ey: "an.ey"; ez: "an.ez"; fa: "an.fa"; fb: "an.fb"; fc: "an.fc"; fd: "an.fd"; fe: "an.fe"; ff: "an.ff"; fg: "an.fg"; fh: "an.fh"; fi: "an.fi"; fj: "an.fj"; fk: "an.fk"; fl: "an.fl"; fm: "an.fm"; fn: "an.fn"; fo: "an.fo"; fp: "an.fp"; fq: "an.fq"; fr: "an.fr"; fs: "an.fs"; ft: "an.ft"; fu: "an.fu"; fv: "an.fv"; fw: "an.fw"; fx: "an.fx"; fy: "an.fy"; fz: "an.fz"; ga: "an.ga"; gb: "an.gb"; gc: "an.gc"; gd: "an.gd"; ge: "an.ge"; gf: "an.gf"; gg: "an.gg"; gh: "an.gh"; gi: "an.gi"; gj: "an.gj"; gk: "an.gk"; gl: "an.gl"; gm: "an.gm"; gn: "an.gn"; go: "an.go"; gp: "an.gp"; gq: "an.gq"; gr: "an.gr"; gs: "an.gs"; gt: "an.gt"; gu: "an.gu"; gv: "an.gv"; gw: "an.gw"; gx: "an.gx"; gy: "an.gy"; gz: "an.gz"; ha: "an.ha"; hb: "an.hb"; hc: "an.hc"; hd: "an.hd"; he: "an.he"; hf: "an.hf"; hg: "an.hg"; hh: "an.hh"; hi: "an.hi"; hj: "an.hj"; hk: "an.hk"; hl: "an.hl"; hm: "an.hm"; hn: "an.hn"; ho: "an.ho"; hp: "an.hp"; hq: "an.hq"; hr: "an.hr"; hs: "an.hs"; ht: "an.ht"; hu: "an.hu"; hv: "an.hv"; hw: "an.hw"; hx: "an.hx"; hy: "an.hy"; hz: "an.hz"; ia: "an.ia"; ib: "an.ib"; ic: "an.ic"; id: "an.id"; ie: "an.ie"; if: "an.if"; ig: "an.ig"; ih: "an.ih"; ii: "an.ii"; ij: "an.ij"; ik: "an.ik"; il: "an.il"; im: "an.im"; in: "an.in"; io: "an.io"; ip: "an.ip"; iq: "an.iq"; ir: "an.ir"; is: "an.is"; it: "an.it"; iu: "an.iu"; iv: "an.iv"; iw: "an.iw"; ix: "an.ix"; iy: "an.iy"; iz: "an.iz"; ja: "an.ja"; jb: "an.jb"; jc: "an.jc"; jd: "an.jd"; je: "an.je"; jf: "an.jf"; jg: "an.jg"; jh: "an.jh"; ji: "an.ji"; jj: "an.jj"; jk: "an.jk"; jl: "an.jl"; jm: "an.jm"; jn: "an.jn"; jo: "an.jo"; jp: "an.jp"; jq: "an.jq"; jr: "an.jr"; js: "an.js"; jt: "an.jt"; ju: "an.ju"; jv: "an.jv"; jw: "an.jw"; jx: "an.jx"; jy: "an.jy"; jz: "an.jz"; ka: "an.ka"; kb: "an.kb"; kc: "an.kc"; kd: "an.kd"; ke: "an.ke"; kf: "an.kf"; kg: "an.kg"; kh: "an.kh"; ki: "an.ki"; kj: "an.kj"; kk: "an.kk"; kl: "an.kl"; km: "an.km"; kn: "an.kn"; ko: "an.ko"; kp: "an.kp"; kq: "an.kq"; kr: "an.kr"; ks: "an.ks"; kt: "an.kt"; ku: "an.ku"; kv: "an.kv"; kw: "an.kw"; kx: "an.kx"; ky: "an.ky"; kz: "an.kz"; la: "an.la"; lb: "an.lb"; lc: "an.lc"; ld: "an.ld"; le: "an.le"; lf: "an.lf"; lg: "an.lg"; lh: "an.lh"; li: "an.li"; lj: "an.lj"; lk: "an.lk"; ll: "an.ll"; lm: "an.lm"; ln: "an.ln"; lo: "an.lo"; lp: "an.lp"; lq: "an.lq"; lr: "an.lr"; ls: "an.ls"; lt: "an.lt"; lu: "an.lu"; lv: "an.lv"; lw: "an.lw"; lx: "an.lx"; ly: "an.ly"; lz: "an.lz"; ma: "an.ma"; mb: "an.mb"; mc: "an.mc"; md: "an.md"; me: "an.me"; mf: "an.mf"; mg: "an.mg"; mh: "an.mh"; mi: "an.mi"; mj: "an.mj"; mk: "an.mk"; ml: "an.ml"; mm: "an.mm"; mn: "an.mn"; mo: "an.mo"; mp: "an.mp"; mq: "an.mq"; mr: "an.mr"; ms: "an.ms"; mt: "an.mt"; mu: "an.mu"; mv: "an.mv"; mw: "an.mw"; mx: "an.mx"; my: "an.my"; mz: "an.mz"; na: "an.na"; nb: "an.nb"; nc: "an.nc"; nd: "an.nd"; ne: "an.ne"; nf: "an.nf"; ng: "an.ng"; nh: "an.nh"; ni: "an.ni"; nj: "an.nj"; nk: "an.nk"; nl: "an.nl"; nm: "an.nm"; nn: "an.nn"; no: "an.no"; np: "an.np"; nq: "an.nq"; nr: "an.nr"; ns: "an.ns"; nt: "an.nt"; nu: "an.nu"; nv: "an.nv"; nw: "an.nw"; nx: "an.nx"; ny: "an.ny"; nz: "an.nz"; oa: "an.oa"; ob: "an.ob"; oc: "an.oc"; od: "an.od"; oe: "an.oe"; of: "an.of"; og: "an.og"; oh: "an.oh"; oi: "an.oi"; oj: "an.oj"; ok: "an.ok"; ol: "an.ol"; om: "an.om"; on: "an.on"; oo: "an.oo"; op: "an.op"; oq: "an.oq"; or: "an.or"; os: "an.os"; ot: "an.ot"; ou: "an.ou"; ov: "an.ov"; ow: "an.ow"; ox: "an.ox"; oy: "an.oy"; oz: "an.oz"; pa: "an.pa"; pb: "an.pb"; pc: "an.pc"; pd: "an.pd"; pe: "an.pe"; pf: "an.pf"; pg: "an.pg"; ph: "an.ph"; pi: "an.pi"; pj: "an.pj"; pk: "an.pk"; pl: "an.pl"; pm: "an.pm"; pn: "an.pn"; po: "an.po"; pp: "an.pp"; pq: "an.pq"; pr: "an.pr"; ps: "an.ps"; pt: "an.pt"; pu: "an.pu"; pv: "an.pv"; pw: "an.pw"; px: "an.px"; py: "an.py"; pz: "an.pz"; qa: "an.qa"; qb: "an.qb"; qc: "an.qc"; qd: "an.qd"; qe: "an.qe"; qf: "an.qf"; qg: "an.qg"; qh: "an.qh"; qi: "an.qi"; qj: "an.qj"; qk: "an.qk"; ql: "an.ql"; qm: "an.qm"; qn: "an.qn"; qo: "an.qo"; qp: "an.qp"; qq: "an.qq"; qr: "an.qr"; qs: "an.qs"; qt: "an.qt"; qu: "an.qu"; qv: "an.qv"; qw: "an.qw"; qx: "an.qx"; qy: "an.qy"; qz: "an.qz"; ra: "an.ra"; rb: "an.rb"; rc: "an.rc"; rd: "an.rd"; re: "an.re"; rf: "an.rf"; rg: "an.rg"; rh: "an.rh"; ri: "an.ri"; rj: "an.rj"; rk: "an.rk"; rl: "an.rl"; rm: "an.rm"; rn: "an.rn"; ro: "an.ro"; rp: "an.rp"; rq: "an.rq"; rr: "an.rr"; rs: "an.rs"; rt: "an.rt"; ru: "an.ru"; rv: "an.rv"; rw: "an.rw"; rx: "an.rx"; ry: "an.ry"; rz: "an.rz"; sa: "an.sa"; sb: "an.sb"; sc: "an.sc"; sd: "an.sd"; se: "an.se"; sf: "an.sf"; sg: "an.sg"; sh: "an.sh"; si: "an.si"; sj: "an.sj"; sk: "an.sk"; sl: "an.sl"; sm: "an.sm"; sn: "an.sn"; so: "an.so"; sp: "an.sp"; sq: "an.sq"; sr: "an.sr"; ss: "an.ss"; st: "an.st"; su: "an.su"; sv: "an.sv"; sw: "an.sw"; sx: "an.sx"; sy: "an.sy"; sz: "an.sz"; ta: "an.ta"; tb: "an.tb"; tc: "an.tc"; td: "an.td"; te: "an.te"; tf: "an.tf"; tg: "an.tg"; th: "an.th"; ti: "an.ti"; tj: "an.tj"; tk: "an.tk"; tl: "an.tl"; tm: "an.tm"; tn: "an.tn"; to: "an.to"; tp: "an.tp"; tq: "an.tq"; tr: "an.tr"; ts: "an.ts"; tt: "an.tt"; tu: "an.tu"; tv: "an.tv"; tw: "an.tw"; tx: "an.tx"; ty: "an.ty"; tz: "an.tz"; ua: "an.ua"; ub: "an.ub"; uc: "an.uc"; ud: "an.ud"; ue: "an.ue"; uf: "an.uf"; ug: "an.ug"; uh: "an.uh"; ui: "an.ui"; uj: "an.uj"; uk: "an.uk"; ul: "an.ul"; um: "an.um"; un: "an.un"; uo: "an.uo"; up: "an.up"; uq: "an.uq"; ur: "an.ur"; us: "an.us"; ut: "an.ut"; uu: "an.uu"; uv: "an.uv"; uw: "an.uw"; ux: "an.ux"; uy: "an.uy"; uz: "an.uz"; va: "an.va"; vb: "an.vb"; vc: "an.vc"; vd: "an.vd"; ve: "an.ve"; vf: "an.vf"; vg: "an.vg"; vh: "an.vh"; vi: "an.vi"; vj: "an.vj"; vk: "an.vk"; vl: "an.vl"; vm: "an.vm"; vn: "an.vn"; vo: "an.vo"; vp: "an.vp"; vq: "an.vq"; vr: "an.vr"; vs: "an.vs"; vt: "an.vt"; vu: "an.vu"; vv: "an.vv"; vw: "an.vw"; vx: "an.vx"; vy: "an.vy"; vz: "an.vz"; wa: "an.wa"; wb: "an.wb"; wc: "an.wc"; wd: "an.wd"; we: "an.we"; wf: "an.wf"; wg: "an.wg"; wh: "an.wh"; wi: "an.wi"; wj: "an.wj"; wk: "an.wk"; wl: "an.wl"; wm: "an.wm"; wn: "an.wn"; wo: "an.wo"; wp: "an.wp"; wq: "an.wq"; wr: "an.wr"; ws: "an.ws"; wt: "an.wt"; wu: "an.wu"; wv: "an.wv"; ww: "an.ww"; wx: "an.wx"; wy: "an.wy"; wz: "an.wz"; xa: "an.xa"; xb: "an.xb"; xc: "an.xc"; xd: "an.xd"; xe: "an.xe"; xf: "an.xf"; xg: "an.xg"; xh: "an.xh"; xi: "an.xi"; xj: "an.xj"; xk: "an.xk"; xl: "an.xl"; xm: "an.xm"; xn: "an.xn"; xo: "an.xo"; xp: "an.xp"; xq: "an.xq"; xr: "an.xr"; xs: "an.xs"; xt: "an.xt"; xu: "an.xu"; xv: "an.xv"; xw: "an.xw"; xx: "an.xx"; xy: "an.xy"; xz: "an.xz"; ya: "an.ya"; yb: "an.yb"; yc: "an.yc"; yd: "an.yd"; ye: "an.ye"; yf: "an.yf"; yg: "an.yg"; yh: "an.yh"; yi: "an.yi"; yj: "an.yj"; yk: "an.yk"; yl: "an.yl"; ym: "an.ym"; yn: "an.yn"; yo: "an.yo"; yp: "an.yp"; yq: "an.yq"; yr: "an.yr"; ys: "an.ys"; yt: "an.yt"; yu: "an.yu"; yv: "an.yv"; yw: "an.yw"; yx: "an.yx"; yy: "an.yy"; yz: "an.yz"; za: "an.za"; zb: "an.zb"; zc: "an.zc"; zd: "an.zd"; ze: "an.ze"; zf: "an.zf"; zg: "an.zg"; zh: "an.zh"; zi: "an.zi"; zj: "an.zj"; zk: "an.zk"; zl: "an.zl"; zm: "an.zm"; zn: "an.zn"; zo: "an.zo"; zp: "an.zp"; zq: "an.zq"; zr: "an.zr"; zs: "an.zs"; zt: "an.zt"; zu: "an.zu"; zv: "an.zv"; zw: "an.zw"; zx: "an.zx"; zy: "an.zy"; zz: "an.zz"; }; ao: { aa: "ao.aa"; ab: "ao.ab"; ac: "ao.ac"; ad: "ao.ad"; ae: "ao.ae"; af: "ao.af"; ag: "ao.ag"; ah: "ao.ah"; ai: "ao.ai"; aj: "ao.aj"; ak: "ao.ak"; al: "ao.al"; am: "ao.am"; an: "ao.an"; ao: "ao.ao"; ap: "ao.ap"; aq: "ao.aq"; ar: "ao.ar"; as: "ao.as"; at: "ao.at"; au: "ao.au"; av: "ao.av"; aw: "ao.aw"; ax: "ao.ax"; ay: "ao.ay"; az: "ao.az"; ba: "ao.ba"; bb: "ao.bb"; bc: "ao.bc"; bd: "ao.bd"; be: "ao.be"; bf: "ao.bf"; bg: "ao.bg"; bh: "ao.bh"; bi: "ao.bi"; bj: "ao.bj"; bk: "ao.bk"; bl: "ao.bl"; bm: "ao.bm"; bn: "ao.bn"; bo: "ao.bo"; bp: "ao.bp"; bq: "ao.bq"; br: "ao.br"; bs: "ao.bs"; bt: "ao.bt"; bu: "ao.bu"; bv: "ao.bv"; bw: "ao.bw"; bx: "ao.bx"; by: "ao.by"; bz: "ao.bz"; ca: "ao.ca"; cb: "ao.cb"; cc: "ao.cc"; cd: "ao.cd"; ce: "ao.ce"; cf: "ao.cf"; cg: "ao.cg"; ch: "ao.ch"; ci: "ao.ci"; cj: "ao.cj"; ck: "ao.ck"; cl: "ao.cl"; cm: "ao.cm"; cn: "ao.cn"; co: "ao.co"; cp: "ao.cp"; cq: "ao.cq"; cr: "ao.cr"; cs: "ao.cs"; ct: "ao.ct"; cu: "ao.cu"; cv: "ao.cv"; cw: "ao.cw"; cx: "ao.cx"; cy: "ao.cy"; cz: "ao.cz"; da: "ao.da"; db: "ao.db"; dc: "ao.dc"; dd: "ao.dd"; de: "ao.de"; df: "ao.df"; dg: "ao.dg"; dh: "ao.dh"; di: "ao.di"; dj: "ao.dj"; dk: "ao.dk"; dl: "ao.dl"; dm: "ao.dm"; dn: "ao.dn"; do: "ao.do"; dp: "ao.dp"; dq: "ao.dq"; dr: "ao.dr"; ds: "ao.ds"; dt: "ao.dt"; du: "ao.du"; dv: "ao.dv"; dw: "ao.dw"; dx: "ao.dx"; dy: "ao.dy"; dz: "ao.dz"; ea: "ao.ea"; eb: "ao.eb"; ec: "ao.ec"; ed: "ao.ed"; ee: "ao.ee"; ef: "ao.ef"; eg: "ao.eg"; eh: "ao.eh"; ei: "ao.ei"; ej: "ao.ej"; ek: "ao.ek"; el: "ao.el"; em: "ao.em"; en: "ao.en"; eo: "ao.eo"; ep: "ao.ep"; eq: "ao.eq"; er: "ao.er"; es: "ao.es"; et: "ao.et"; eu: "ao.eu"; ev: "ao.ev"; ew: "ao.ew"; ex: "ao.ex"; ey: "ao.ey"; ez: "ao.ez"; fa: "ao.fa"; fb: "ao.fb"; fc: "ao.fc"; fd: "ao.fd"; fe: "ao.fe"; ff: "ao.ff"; fg: "ao.fg"; fh: "ao.fh"; fi: "ao.fi"; fj: "ao.fj"; fk: "ao.fk"; fl: "ao.fl"; fm: "ao.fm"; fn: "ao.fn"; fo: "ao.fo"; fp: "ao.fp"; fq: "ao.fq"; fr: "ao.fr"; fs: "ao.fs"; ft: "ao.ft"; fu: "ao.fu"; fv: "ao.fv"; fw: "ao.fw"; fx: "ao.fx"; fy: "ao.fy"; fz: "ao.fz"; ga: "ao.ga"; gb: "ao.gb"; gc: "ao.gc"; gd: "ao.gd"; ge: "ao.ge"; gf: "ao.gf"; gg: "ao.gg"; gh: "ao.gh"; gi: "ao.gi"; gj: "ao.gj"; gk: "ao.gk"; gl: "ao.gl"; gm: "ao.gm"; gn: "ao.gn"; go: "ao.go"; gp: "ao.gp"; gq: "ao.gq"; gr: "ao.gr"; gs: "ao.gs"; gt: "ao.gt"; gu: "ao.gu"; gv: "ao.gv"; gw: "ao.gw"; gx: "ao.gx"; gy: "ao.gy"; gz: "ao.gz"; ha: "ao.ha"; hb: "ao.hb"; hc: "ao.hc"; hd: "ao.hd"; he: "ao.he"; hf: "ao.hf"; hg: "ao.hg"; hh: "ao.hh"; hi: "ao.hi"; hj: "ao.hj"; hk: "ao.hk"; hl: "ao.hl"; hm: "ao.hm"; hn: "ao.hn"; ho: "ao.ho"; hp: "ao.hp"; hq: "ao.hq"; hr: "ao.hr"; hs: "ao.hs"; ht: "ao.ht"; hu: "ao.hu"; hv: "ao.hv"; hw: "ao.hw"; hx: "ao.hx"; hy: "ao.hy"; hz: "ao.hz"; ia: "ao.ia"; ib: "ao.ib"; ic: "ao.ic"; id: "ao.id"; ie: "ao.ie"; if: "ao.if"; ig: "ao.ig"; ih: "ao.ih"; ii: "ao.ii"; ij: "ao.ij"; ik: "ao.ik"; il: "ao.il"; im: "ao.im"; in: "ao.in"; io: "ao.io"; ip: "ao.ip"; iq: "ao.iq"; ir: "ao.ir"; is: "ao.is"; it: "ao.it"; iu: "ao.iu"; iv: "ao.iv"; iw: "ao.iw"; ix: "ao.ix"; iy: "ao.iy"; iz: "ao.iz"; ja: "ao.ja"; jb: "ao.jb"; jc: "ao.jc"; jd: "ao.jd"; je: "ao.je"; jf: "ao.jf"; jg: "ao.jg"; jh: "ao.jh"; ji: "ao.ji"; jj: "ao.jj"; jk: "ao.jk"; jl: "ao.jl"; jm: "ao.jm"; jn: "ao.jn"; jo: "ao.jo"; jp: "ao.jp"; jq: "ao.jq"; jr: "ao.jr"; js: "ao.js"; jt: "ao.jt"; ju: "ao.ju"; jv: "ao.jv"; jw: "ao.jw"; jx: "ao.jx"; jy: "ao.jy"; jz: "ao.jz"; ka: "ao.ka"; kb: "ao.kb"; kc: "ao.kc"; kd: "ao.kd"; ke: "ao.ke"; kf: "ao.kf"; kg: "ao.kg"; kh: "ao.kh"; ki: "ao.ki"; kj: "ao.kj"; kk: "ao.kk"; kl: "ao.kl"; km: "ao.km"; kn: "ao.kn"; ko: "ao.ko"; kp: "ao.kp"; kq: "ao.kq"; kr: "ao.kr"; ks: "ao.ks"; kt: "ao.kt"; ku: "ao.ku"; kv: "ao.kv"; kw: "ao.kw"; kx: "ao.kx"; ky: "ao.ky"; kz: "ao.kz"; la: "ao.la"; lb: "ao.lb"; lc: "ao.lc"; ld: "ao.ld"; le: "ao.le"; lf: "ao.lf"; lg: "ao.lg"; lh: "ao.lh"; li: "ao.li"; lj: "ao.lj"; lk: "ao.lk"; ll: "ao.ll"; lm: "ao.lm"; ln: "ao.ln"; lo: "ao.lo"; lp: "ao.lp"; lq: "ao.lq"; lr: "ao.lr"; ls: "ao.ls"; lt: "ao.lt"; lu: "ao.lu"; lv: "ao.lv"; lw: "ao.lw"; lx: "ao.lx"; ly: "ao.ly"; lz: "ao.lz"; ma: "ao.ma"; mb: "ao.mb"; mc: "ao.mc"; md: "ao.md"; me: "ao.me"; mf: "ao.mf"; mg: "ao.mg"; mh: "ao.mh"; mi: "ao.mi"; mj: "ao.mj"; mk: "ao.mk"; ml: "ao.ml"; mm: "ao.mm"; mn: "ao.mn"; mo: "ao.mo"; mp: "ao.mp"; mq: "ao.mq"; mr: "ao.mr"; ms: "ao.ms"; mt: "ao.mt"; mu: "ao.mu"; mv: "ao.mv"; mw: "ao.mw"; mx: "ao.mx"; my: "ao.my"; mz: "ao.mz"; na: "ao.na"; nb: "ao.nb"; nc: "ao.nc"; nd: "ao.nd"; ne: "ao.ne"; nf: "ao.nf"; ng: "ao.ng"; nh: "ao.nh"; ni: "ao.ni"; nj: "ao.nj"; nk: "ao.nk"; nl: "ao.nl"; nm: "ao.nm"; nn: "ao.nn"; no: "ao.no"; np: "ao.np"; nq: "ao.nq"; nr: "ao.nr"; ns: "ao.ns"; nt: "ao.nt"; nu: "ao.nu"; nv: "ao.nv"; nw: "ao.nw"; nx: "ao.nx"; ny: "ao.ny"; nz: "ao.nz"; oa: "ao.oa"; ob: "ao.ob"; oc: "ao.oc"; od: "ao.od"; oe: "ao.oe"; of: "ao.of"; og: "ao.og"; oh: "ao.oh"; oi: "ao.oi"; oj: "ao.oj"; ok: "ao.ok"; ol: "ao.ol"; om: "ao.om"; on: "ao.on"; oo: "ao.oo"; op: "ao.op"; oq: "ao.oq"; or: "ao.or"; os: "ao.os"; ot: "ao.ot"; ou: "ao.ou"; ov: "ao.ov"; ow: "ao.ow"; ox: "ao.ox"; oy: "ao.oy"; oz: "ao.oz"; pa: "ao.pa"; pb: "ao.pb"; pc: "ao.pc"; pd: "ao.pd"; pe: "ao.pe"; pf: "ao.pf"; pg: "ao.pg"; ph: "ao.ph"; pi: "ao.pi"; pj: "ao.pj"; pk: "ao.pk"; pl: "ao.pl"; pm: "ao.pm"; pn: "ao.pn"; po: "ao.po"; pp: "ao.pp"; pq: "ao.pq"; pr: "ao.pr"; ps: "ao.ps"; pt: "ao.pt"; pu: "ao.pu"; pv: "ao.pv"; pw: "ao.pw"; px: "ao.px"; py: "ao.py"; pz: "ao.pz"; qa: "ao.qa"; qb: "ao.qb"; qc: "ao.qc"; qd: "ao.qd"; qe: "ao.qe"; qf: "ao.qf"; qg: "ao.qg"; qh: "ao.qh"; qi: "ao.qi"; qj: "ao.qj"; qk: "ao.qk"; ql: "ao.ql"; qm: "ao.qm"; qn: "ao.qn"; qo: "ao.qo"; qp: "ao.qp"; qq: "ao.qq"; qr: "ao.qr"; qs: "ao.qs"; qt: "ao.qt"; qu: "ao.qu"; qv: "ao.qv"; qw: "ao.qw"; qx: "ao.qx"; qy: "ao.qy"; qz: "ao.qz"; ra: "ao.ra"; rb: "ao.rb"; rc: "ao.rc"; rd: "ao.rd"; re: "ao.re"; rf: "ao.rf"; rg: "ao.rg"; rh: "ao.rh"; ri: "ao.ri"; rj: "ao.rj"; rk: "ao.rk"; rl: "ao.rl"; rm: "ao.rm"; rn: "ao.rn"; ro: "ao.ro"; rp: "ao.rp"; rq: "ao.rq"; rr: "ao.rr"; rs: "ao.rs"; rt: "ao.rt"; ru: "ao.ru"; rv: "ao.rv"; rw: "ao.rw"; rx: "ao.rx"; ry: "ao.ry"; rz: "ao.rz"; sa: "ao.sa"; sb: "ao.sb"; sc: "ao.sc"; sd: "ao.sd"; se: "ao.se"; sf: "ao.sf"; sg: "ao.sg"; sh: "ao.sh"; si: "ao.si"; sj: "ao.sj"; sk: "ao.sk"; sl: "ao.sl"; sm: "ao.sm"; sn: "ao.sn"; so: "ao.so"; sp: "ao.sp"; sq: "ao.sq"; sr: "ao.sr"; ss: "ao.ss"; st: "ao.st"; su: "ao.su"; sv: "ao.sv"; sw: "ao.sw"; sx: "ao.sx"; sy: "ao.sy"; sz: "ao.sz"; ta: "ao.ta"; tb: "ao.tb"; tc: "ao.tc"; td: "ao.td"; te: "ao.te"; tf: "ao.tf"; tg: "ao.tg"; th: "ao.th"; ti: "ao.ti"; tj: "ao.tj"; tk: "ao.tk"; tl: "ao.tl"; tm: "ao.tm"; tn: "ao.tn"; to: "ao.to"; tp: "ao.tp"; tq: "ao.tq"; tr: "ao.tr"; ts: "ao.ts"; tt: "ao.tt"; tu: "ao.tu"; tv: "ao.tv"; tw: "ao.tw"; tx: "ao.tx"; ty: "ao.ty"; tz: "ao.tz"; ua: "ao.ua"; ub: "ao.ub"; uc: "ao.uc"; ud: "ao.ud"; ue: "ao.ue"; uf: "ao.uf"; ug: "ao.ug"; uh: "ao.uh"; ui: "ao.ui"; uj: "ao.uj"; uk: "ao.uk"; ul: "ao.ul"; um: "ao.um"; un: "ao.un"; uo: "ao.uo"; up: "ao.up"; uq: "ao.uq"; ur: "ao.ur"; us: "ao.us"; ut: "ao.ut"; uu: "ao.uu"; uv: "ao.uv"; uw: "ao.uw"; ux: "ao.ux"; uy: "ao.uy"; uz: "ao.uz"; va: "ao.va"; vb: "ao.vb"; vc: "ao.vc"; vd: "ao.vd"; ve: "ao.ve"; vf: "ao.vf"; vg: "ao.vg"; vh: "ao.vh"; vi: "ao.vi"; vj: "ao.vj"; vk: "ao.vk"; vl: "ao.vl"; vm: "ao.vm"; vn: "ao.vn"; vo: "ao.vo"; vp: "ao.vp"; vq: "ao.vq"; vr: "ao.vr"; vs: "ao.vs"; vt: "ao.vt"; vu: "ao.vu"; vv: "ao.vv"; vw: "ao.vw"; vx: "ao.vx"; vy: "ao.vy"; vz: "ao.vz"; wa: "ao.wa"; wb: "ao.wb"; wc: "ao.wc"; wd: "ao.wd"; we: "ao.we"; wf: "ao.wf"; wg: "ao.wg"; wh: "ao.wh"; wi: "ao.wi"; wj: "ao.wj"; wk: "ao.wk"; wl: "ao.wl"; wm: "ao.wm"; wn: "ao.wn"; wo: "ao.wo"; wp: "ao.wp"; wq: "ao.wq"; wr: "ao.wr"; ws: "ao.ws"; wt: "ao.wt"; wu: "ao.wu"; wv: "ao.wv"; ww: "ao.ww"; wx: "ao.wx"; wy: "ao.wy"; wz: "ao.wz"; xa: "ao.xa"; xb: "ao.xb"; xc: "ao.xc"; xd: "ao.xd"; xe: "ao.xe"; xf: "ao.xf"; xg: "ao.xg"; xh: "ao.xh"; xi: "ao.xi"; xj: "ao.xj"; xk: "ao.xk"; xl: "ao.xl"; xm: "ao.xm"; xn: "ao.xn"; xo: "ao.xo"; xp: "ao.xp"; xq: "ao.xq"; xr: "ao.xr"; xs: "ao.xs"; xt: "ao.xt"; xu: "ao.xu"; xv: "ao.xv"; xw: "ao.xw"; xx: "ao.xx"; xy: "ao.xy"; xz: "ao.xz"; ya: "ao.ya"; yb: "ao.yb"; yc: "ao.yc"; yd: "ao.yd"; ye: "ao.ye"; yf: "ao.yf"; yg: "ao.yg"; yh: "ao.yh"; yi: "ao.yi"; yj: "ao.yj"; yk: "ao.yk"; yl: "ao.yl"; ym: "ao.ym"; yn: "ao.yn"; yo: "ao.yo"; yp: "ao.yp"; yq: "ao.yq"; yr: "ao.yr"; ys: "ao.ys"; yt: "ao.yt"; yu: "ao.yu"; yv: "ao.yv"; yw: "ao.yw"; yx: "ao.yx"; yy: "ao.yy"; yz: "ao.yz"; za: "ao.za"; zb: "ao.zb"; zc: "ao.zc"; zd: "ao.zd"; ze: "ao.ze"; zf: "ao.zf"; zg: "ao.zg"; zh: "ao.zh"; zi: "ao.zi"; zj: "ao.zj"; zk: "ao.zk"; zl: "ao.zl"; zm: "ao.zm"; zn: "ao.zn"; zo: "ao.zo"; zp: "ao.zp"; zq: "ao.zq"; zr: "ao.zr"; zs: "ao.zs"; zt: "ao.zt"; zu: "ao.zu"; zv: "ao.zv"; zw: "ao.zw"; zx: "ao.zx"; zy: "ao.zy"; zz: "ao.zz"; }; ap: { aa: "ap.aa"; ab: "ap.ab"; ac: "ap.ac"; ad: "ap.ad"; ae: "ap.ae"; af: "ap.af"; ag: "ap.ag"; ah: "ap.ah"; ai: "ap.ai"; aj: "ap.aj"; ak: "ap.ak"; al: "ap.al"; am: "ap.am"; an: "ap.an"; ao: "ap.ao"; ap: "ap.ap"; aq: "ap.aq"; ar: "ap.ar"; as: "ap.as"; at: "ap.at"; au: "ap.au"; av: "ap.av"; aw: "ap.aw"; ax: "ap.ax"; ay: "ap.ay"; az: "ap.az"; ba: "ap.ba"; bb: "ap.bb"; bc: "ap.bc"; bd: "ap.bd"; be: "ap.be"; bf: "ap.bf"; bg: "ap.bg"; bh: "ap.bh"; bi: "ap.bi"; bj: "ap.bj"; bk: "ap.bk"; bl: "ap.bl"; bm: "ap.bm"; bn: "ap.bn"; bo: "ap.bo"; bp: "ap.bp"; bq: "ap.bq"; br: "ap.br"; bs: "ap.bs"; bt: "ap.bt"; bu: "ap.bu"; bv: "ap.bv"; bw: "ap.bw"; bx: "ap.bx"; by: "ap.by"; bz: "ap.bz"; ca: "ap.ca"; cb: "ap.cb"; cc: "ap.cc"; cd: "ap.cd"; ce: "ap.ce"; cf: "ap.cf"; cg: "ap.cg"; ch: "ap.ch"; ci: "ap.ci"; cj: "ap.cj"; ck: "ap.ck"; cl: "ap.cl"; cm: "ap.cm"; cn: "ap.cn"; co: "ap.co"; cp: "ap.cp"; cq: "ap.cq"; cr: "ap.cr"; cs: "ap.cs"; ct: "ap.ct"; cu: "ap.cu"; cv: "ap.cv"; cw: "ap.cw"; cx: "ap.cx"; cy: "ap.cy"; cz: "ap.cz"; da: "ap.da"; db: "ap.db"; dc: "ap.dc"; dd: "ap.dd"; de: "ap.de"; df: "ap.df"; dg: "ap.dg"; dh: "ap.dh"; di: "ap.di"; dj: "ap.dj"; dk: "ap.dk"; dl: "ap.dl"; dm: "ap.dm"; dn: "ap.dn"; do: "ap.do"; dp: "ap.dp"; dq: "ap.dq"; dr: "ap.dr"; ds: "ap.ds"; dt: "ap.dt"; du: "ap.du"; dv: "ap.dv"; dw: "ap.dw"; dx: "ap.dx"; dy: "ap.dy"; dz: "ap.dz"; ea: "ap.ea"; eb: "ap.eb"; ec: "ap.ec"; ed: "ap.ed"; ee: "ap.ee"; ef: "ap.ef"; eg: "ap.eg"; eh: "ap.eh"; ei: "ap.ei"; ej: "ap.ej"; ek: "ap.ek"; el: "ap.el"; em: "ap.em"; en: "ap.en"; eo: "ap.eo"; ep: "ap.ep"; eq: "ap.eq"; er: "ap.er"; es: "ap.es"; et: "ap.et"; eu: "ap.eu"; ev: "ap.ev"; ew: "ap.ew"; ex: "ap.ex"; ey: "ap.ey"; ez: "ap.ez"; fa: "ap.fa"; fb: "ap.fb"; fc: "ap.fc"; fd: "ap.fd"; fe: "ap.fe"; ff: "ap.ff"; fg: "ap.fg"; fh: "ap.fh"; fi: "ap.fi"; fj: "ap.fj"; fk: "ap.fk"; fl: "ap.fl"; fm: "ap.fm"; fn: "ap.fn"; fo: "ap.fo"; fp: "ap.fp"; fq: "ap.fq"; fr: "ap.fr"; fs: "ap.fs"; ft: "ap.ft"; fu: "ap.fu"; fv: "ap.fv"; fw: "ap.fw"; fx: "ap.fx"; fy: "ap.fy"; fz: "ap.fz"; ga: "ap.ga"; gb: "ap.gb"; gc: "ap.gc"; gd: "ap.gd"; ge: "ap.ge"; gf: "ap.gf"; gg: "ap.gg"; gh: "ap.gh"; gi: "ap.gi"; gj: "ap.gj"; gk: "ap.gk"; gl: "ap.gl"; gm: "ap.gm"; gn: "ap.gn"; go: "ap.go"; gp: "ap.gp"; gq: "ap.gq"; gr: "ap.gr"; gs: "ap.gs"; gt: "ap.gt"; gu: "ap.gu"; gv: "ap.gv"; gw: "ap.gw"; gx: "ap.gx"; gy: "ap.gy"; gz: "ap.gz"; ha: "ap.ha"; hb: "ap.hb"; hc: "ap.hc"; hd: "ap.hd"; he: "ap.he"; hf: "ap.hf"; hg: "ap.hg"; hh: "ap.hh"; hi: "ap.hi"; hj: "ap.hj"; hk: "ap.hk"; hl: "ap.hl"; hm: "ap.hm"; hn: "ap.hn"; ho: "ap.ho"; hp: "ap.hp"; hq: "ap.hq"; hr: "ap.hr"; hs: "ap.hs"; ht: "ap.ht"; hu: "ap.hu"; hv: "ap.hv"; hw: "ap.hw"; hx: "ap.hx"; hy: "ap.hy"; hz: "ap.hz"; ia: "ap.ia"; ib: "ap.ib"; ic: "ap.ic"; id: "ap.id"; ie: "ap.ie"; if: "ap.if"; ig: "ap.ig"; ih: "ap.ih"; ii: "ap.ii"; ij: "ap.ij"; ik: "ap.ik"; il: "ap.il"; im: "ap.im"; in: "ap.in"; io: "ap.io"; ip: "ap.ip"; iq: "ap.iq"; ir: "ap.ir"; is: "ap.is"; it: "ap.it"; iu: "ap.iu"; iv: "ap.iv"; iw: "ap.iw"; ix: "ap.ix"; iy: "ap.iy"; iz: "ap.iz"; ja: "ap.ja"; jb: "ap.jb"; jc: "ap.jc"; jd: "ap.jd"; je: "ap.je"; jf: "ap.jf"; jg: "ap.jg"; jh: "ap.jh"; ji: "ap.ji"; jj: "ap.jj"; jk: "ap.jk"; jl: "ap.jl"; jm: "ap.jm"; jn: "ap.jn"; jo: "ap.jo"; jp: "ap.jp"; jq: "ap.jq"; jr: "ap.jr"; js: "ap.js"; jt: "ap.jt"; ju: "ap.ju"; jv: "ap.jv"; jw: "ap.jw"; jx: "ap.jx"; jy: "ap.jy"; jz: "ap.jz"; ka: "ap.ka"; kb: "ap.kb"; kc: "ap.kc"; kd: "ap.kd"; ke: "ap.ke"; kf: "ap.kf"; kg: "ap.kg"; kh: "ap.kh"; ki: "ap.ki"; kj: "ap.kj"; kk: "ap.kk"; kl: "ap.kl"; km: "ap.km"; kn: "ap.kn"; ko: "ap.ko"; kp: "ap.kp"; kq: "ap.kq"; kr: "ap.kr"; ks: "ap.ks"; kt: "ap.kt"; ku: "ap.ku"; kv: "ap.kv"; kw: "ap.kw"; kx: "ap.kx"; ky: "ap.ky"; kz: "ap.kz"; la: "ap.la"; lb: "ap.lb"; lc: "ap.lc"; ld: "ap.ld"; le: "ap.le"; lf: "ap.lf"; lg: "ap.lg"; lh: "ap.lh"; li: "ap.li"; lj: "ap.lj"; lk: "ap.lk"; ll: "ap.ll"; lm: "ap.lm"; ln: "ap.ln"; lo: "ap.lo"; lp: "ap.lp"; lq: "ap.lq"; lr: "ap.lr"; ls: "ap.ls"; lt: "ap.lt"; lu: "ap.lu"; lv: "ap.lv"; lw: "ap.lw"; lx: "ap.lx"; ly: "ap.ly"; lz: "ap.lz"; ma: "ap.ma"; mb: "ap.mb"; mc: "ap.mc"; md: "ap.md"; me: "ap.me"; mf: "ap.mf"; mg: "ap.mg"; mh: "ap.mh"; mi: "ap.mi"; mj: "ap.mj"; mk: "ap.mk"; ml: "ap.ml"; mm: "ap.mm"; mn: "ap.mn"; mo: "ap.mo"; mp: "ap.mp"; mq: "ap.mq"; mr: "ap.mr"; ms: "ap.ms"; mt: "ap.mt"; mu: "ap.mu"; mv: "ap.mv"; mw: "ap.mw"; mx: "ap.mx"; my: "ap.my"; mz: "ap.mz"; na: "ap.na"; nb: "ap.nb"; nc: "ap.nc"; nd: "ap.nd"; ne: "ap.ne"; nf: "ap.nf"; ng: "ap.ng"; nh: "ap.nh"; ni: "ap.ni"; nj: "ap.nj"; nk: "ap.nk"; nl: "ap.nl"; nm: "ap.nm"; nn: "ap.nn"; no: "ap.no"; np: "ap.np"; nq: "ap.nq"; nr: "ap.nr"; ns: "ap.ns"; nt: "ap.nt"; nu: "ap.nu"; nv: "ap.nv"; nw: "ap.nw"; nx: "ap.nx"; ny: "ap.ny"; nz: "ap.nz"; oa: "ap.oa"; ob: "ap.ob"; oc: "ap.oc"; od: "ap.od"; oe: "ap.oe"; of: "ap.of"; og: "ap.og"; oh: "ap.oh"; oi: "ap.oi"; oj: "ap.oj"; ok: "ap.ok"; ol: "ap.ol"; om: "ap.om"; on: "ap.on"; oo: "ap.oo"; op: "ap.op"; oq: "ap.oq"; or: "ap.or"; os: "ap.os"; ot: "ap.ot"; ou: "ap.ou"; ov: "ap.ov"; ow: "ap.ow"; ox: "ap.ox"; oy: "ap.oy"; oz: "ap.oz"; pa: "ap.pa"; pb: "ap.pb"; pc: "ap.pc"; pd: "ap.pd"; pe: "ap.pe"; pf: "ap.pf"; pg: "ap.pg"; ph: "ap.ph"; pi: "ap.pi"; pj: "ap.pj"; pk: "ap.pk"; pl: "ap.pl"; pm: "ap.pm"; pn: "ap.pn"; po: "ap.po"; pp: "ap.pp"; pq: "ap.pq"; pr: "ap.pr"; ps: "ap.ps"; pt: "ap.pt"; pu: "ap.pu"; pv: "ap.pv"; pw: "ap.pw"; px: "ap.px"; py: "ap.py"; pz: "ap.pz"; qa: "ap.qa"; qb: "ap.qb"; qc: "ap.qc"; qd: "ap.qd"; qe: "ap.qe"; qf: "ap.qf"; qg: "ap.qg"; qh: "ap.qh"; qi: "ap.qi"; qj: "ap.qj"; qk: "ap.qk"; ql: "ap.ql"; qm: "ap.qm"; qn: "ap.qn"; qo: "ap.qo"; qp: "ap.qp"; qq: "ap.qq"; qr: "ap.qr"; qs: "ap.qs"; qt: "ap.qt"; qu: "ap.qu"; qv: "ap.qv"; qw: "ap.qw"; qx: "ap.qx"; qy: "ap.qy"; qz: "ap.qz"; ra: "ap.ra"; rb: "ap.rb"; rc: "ap.rc"; rd: "ap.rd"; re: "ap.re"; rf: "ap.rf"; rg: "ap.rg"; rh: "ap.rh"; ri: "ap.ri"; rj: "ap.rj"; rk: "ap.rk"; rl: "ap.rl"; rm: "ap.rm"; rn: "ap.rn"; ro: "ap.ro"; rp: "ap.rp"; rq: "ap.rq"; rr: "ap.rr"; rs: "ap.rs"; rt: "ap.rt"; ru: "ap.ru"; rv: "ap.rv"; rw: "ap.rw"; rx: "ap.rx"; ry: "ap.ry"; rz: "ap.rz"; sa: "ap.sa"; sb: "ap.sb"; sc: "ap.sc"; sd: "ap.sd"; se: "ap.se"; sf: "ap.sf"; sg: "ap.sg"; sh: "ap.sh"; si: "ap.si"; sj: "ap.sj"; sk: "ap.sk"; sl: "ap.sl"; sm: "ap.sm"; sn: "ap.sn"; so: "ap.so"; sp: "ap.sp"; sq: "ap.sq"; sr: "ap.sr"; ss: "ap.ss"; st: "ap.st"; su: "ap.su"; sv: "ap.sv"; sw: "ap.sw"; sx: "ap.sx"; sy: "ap.sy"; sz: "ap.sz"; ta: "ap.ta"; tb: "ap.tb"; tc: "ap.tc"; td: "ap.td"; te: "ap.te"; tf: "ap.tf"; tg: "ap.tg"; th: "ap.th"; ti: "ap.ti"; tj: "ap.tj"; tk: "ap.tk"; tl: "ap.tl"; tm: "ap.tm"; tn: "ap.tn"; to: "ap.to"; tp: "ap.tp"; tq: "ap.tq"; tr: "ap.tr"; ts: "ap.ts"; tt: "ap.tt"; tu: "ap.tu"; tv: "ap.tv"; tw: "ap.tw"; tx: "ap.tx"; ty: "ap.ty"; tz: "ap.tz"; ua: "ap.ua"; ub: "ap.ub"; uc: "ap.uc"; ud: "ap.ud"; ue: "ap.ue"; uf: "ap.uf"; ug: "ap.ug"; uh: "ap.uh"; ui: "ap.ui"; uj: "ap.uj"; uk: "ap.uk"; ul: "ap.ul"; um: "ap.um"; un: "ap.un"; uo: "ap.uo"; up: "ap.up"; uq: "ap.uq"; ur: "ap.ur"; us: "ap.us"; ut: "ap.ut"; uu: "ap.uu"; uv: "ap.uv"; uw: "ap.uw"; ux: "ap.ux"; uy: "ap.uy"; uz: "ap.uz"; va: "ap.va"; vb: "ap.vb"; vc: "ap.vc"; vd: "ap.vd"; ve: "ap.ve"; vf: "ap.vf"; vg: "ap.vg"; vh: "ap.vh"; vi: "ap.vi"; vj: "ap.vj"; vk: "ap.vk"; vl: "ap.vl"; vm: "ap.vm"; vn: "ap.vn"; vo: "ap.vo"; vp: "ap.vp"; vq: "ap.vq"; vr: "ap.vr"; vs: "ap.vs"; vt: "ap.vt"; vu: "ap.vu"; vv: "ap.vv"; vw: "ap.vw"; vx: "ap.vx"; vy: "ap.vy"; vz: "ap.vz"; wa: "ap.wa"; wb: "ap.wb"; wc: "ap.wc"; wd: "ap.wd"; we: "ap.we"; wf: "ap.wf"; wg: "ap.wg"; wh: "ap.wh"; wi: "ap.wi"; wj: "ap.wj"; wk: "ap.wk"; wl: "ap.wl"; wm: "ap.wm"; wn: "ap.wn"; wo: "ap.wo"; wp: "ap.wp"; wq: "ap.wq"; wr: "ap.wr"; ws: "ap.ws"; wt: "ap.wt"; wu: "ap.wu"; wv: "ap.wv"; ww: "ap.ww"; wx: "ap.wx"; wy: "ap.wy"; wz: "ap.wz"; xa: "ap.xa"; xb: "ap.xb"; xc: "ap.xc"; xd: "ap.xd"; xe: "ap.xe"; xf: "ap.xf"; xg: "ap.xg"; xh: "ap.xh"; xi: "ap.xi"; xj: "ap.xj"; xk: "ap.xk"; xl: "ap.xl"; xm: "ap.xm"; xn: "ap.xn"; xo: "ap.xo"; xp: "ap.xp"; xq: "ap.xq"; xr: "ap.xr"; xs: "ap.xs"; xt: "ap.xt"; xu: "ap.xu"; xv: "ap.xv"; xw: "ap.xw"; xx: "ap.xx"; xy: "ap.xy"; xz: "ap.xz"; ya: "ap.ya"; yb: "ap.yb"; yc: "ap.yc"; yd: "ap.yd"; ye: "ap.ye"; yf: "ap.yf"; yg: "ap.yg"; yh: "ap.yh"; yi: "ap.yi"; yj: "ap.yj"; yk: "ap.yk"; yl: "ap.yl"; ym: "ap.ym"; yn: "ap.yn"; yo: "ap.yo"; yp: "ap.yp"; yq: "ap.yq"; yr: "ap.yr"; ys: "ap.ys"; yt: "ap.yt"; yu: "ap.yu"; yv: "ap.yv"; yw: "ap.yw"; yx: "ap.yx"; yy: "ap.yy"; yz: "ap.yz"; za: "ap.za"; zb: "ap.zb"; zc: "ap.zc"; zd: "ap.zd"; ze: "ap.ze"; zf: "ap.zf"; zg: "ap.zg"; zh: "ap.zh"; zi: "ap.zi"; zj: "ap.zj"; zk: "ap.zk"; zl: "ap.zl"; zm: "ap.zm"; zn: "ap.zn"; zo: "ap.zo"; zp: "ap.zp"; zq: "ap.zq"; zr: "ap.zr"; zs: "ap.zs"; zt: "ap.zt"; zu: "ap.zu"; zv: "ap.zv"; zw: "ap.zw"; zx: "ap.zx"; zy: "ap.zy"; zz: "ap.zz"; }; aq: { aa: "aq.aa"; ab: "aq.ab"; ac: "aq.ac"; ad: "aq.ad"; ae: "aq.ae"; af: "aq.af"; ag: "aq.ag"; ah: "aq.ah"; ai: "aq.ai"; aj: "aq.aj"; ak: "aq.ak"; al: "aq.al"; am: "aq.am"; an: "aq.an"; ao: "aq.ao"; ap: "aq.ap"; aq: "aq.aq"; ar: "aq.ar"; as: "aq.as"; at: "aq.at"; au: "aq.au"; av: "aq.av"; aw: "aq.aw"; ax: "aq.ax"; ay: "aq.ay"; az: "aq.az"; ba: "aq.ba"; bb: "aq.bb"; bc: "aq.bc"; bd: "aq.bd"; be: "aq.be"; bf: "aq.bf"; bg: "aq.bg"; bh: "aq.bh"; bi: "aq.bi"; bj: "aq.bj"; bk: "aq.bk"; bl: "aq.bl"; bm: "aq.bm"; bn: "aq.bn"; bo: "aq.bo"; bp: "aq.bp"; bq: "aq.bq"; br: "aq.br"; bs: "aq.bs"; bt: "aq.bt"; bu: "aq.bu"; bv: "aq.bv"; bw: "aq.bw"; bx: "aq.bx"; by: "aq.by"; bz: "aq.bz"; ca: "aq.ca"; cb: "aq.cb"; cc: "aq.cc"; cd: "aq.cd"; ce: "aq.ce"; cf: "aq.cf"; cg: "aq.cg"; ch: "aq.ch"; ci: "aq.ci"; cj: "aq.cj"; ck: "aq.ck"; cl: "aq.cl"; cm: "aq.cm"; cn: "aq.cn"; co: "aq.co"; cp: "aq.cp"; cq: "aq.cq"; cr: "aq.cr"; cs: "aq.cs"; ct: "aq.ct"; cu: "aq.cu"; cv: "aq.cv"; cw: "aq.cw"; cx: "aq.cx"; cy: "aq.cy"; cz: "aq.cz"; da: "aq.da"; db: "aq.db"; dc: "aq.dc"; dd: "aq.dd"; de: "aq.de"; df: "aq.df"; dg: "aq.dg"; dh: "aq.dh"; di: "aq.di"; dj: "aq.dj"; dk: "aq.dk"; dl: "aq.dl"; dm: "aq.dm"; dn: "aq.dn"; do: "aq.do"; dp: "aq.dp"; dq: "aq.dq"; dr: "aq.dr"; ds: "aq.ds"; dt: "aq.dt"; du: "aq.du"; dv: "aq.dv"; dw: "aq.dw"; dx: "aq.dx"; dy: "aq.dy"; dz: "aq.dz"; ea: "aq.ea"; eb: "aq.eb"; ec: "aq.ec"; ed: "aq.ed"; ee: "aq.ee"; ef: "aq.ef"; eg: "aq.eg"; eh: "aq.eh"; ei: "aq.ei"; ej: "aq.ej"; ek: "aq.ek"; el: "aq.el"; em: "aq.em"; en: "aq.en"; eo: "aq.eo"; ep: "aq.ep"; eq: "aq.eq"; er: "aq.er"; es: "aq.es"; et: "aq.et"; eu: "aq.eu"; ev: "aq.ev"; ew: "aq.ew"; ex: "aq.ex"; ey: "aq.ey"; ez: "aq.ez"; fa: "aq.fa"; fb: "aq.fb"; fc: "aq.fc"; fd: "aq.fd"; fe: "aq.fe"; ff: "aq.ff"; fg: "aq.fg"; fh: "aq.fh"; fi: "aq.fi"; fj: "aq.fj"; fk: "aq.fk"; fl: "aq.fl"; fm: "aq.fm"; fn: "aq.fn"; fo: "aq.fo"; fp: "aq.fp"; fq: "aq.fq"; fr: "aq.fr"; fs: "aq.fs"; ft: "aq.ft"; fu: "aq.fu"; fv: "aq.fv"; fw: "aq.fw"; fx: "aq.fx"; fy: "aq.fy"; fz: "aq.fz"; ga: "aq.ga"; gb: "aq.gb"; gc: "aq.gc"; gd: "aq.gd"; ge: "aq.ge"; gf: "aq.gf"; gg: "aq.gg"; gh: "aq.gh"; gi: "aq.gi"; gj: "aq.gj"; gk: "aq.gk"; gl: "aq.gl"; gm: "aq.gm"; gn: "aq.gn"; go: "aq.go"; gp: "aq.gp"; gq: "aq.gq"; gr: "aq.gr"; gs: "aq.gs"; gt: "aq.gt"; gu: "aq.gu"; gv: "aq.gv"; gw: "aq.gw"; gx: "aq.gx"; gy: "aq.gy"; gz: "aq.gz"; ha: "aq.ha"; hb: "aq.hb"; hc: "aq.hc"; hd: "aq.hd"; he: "aq.he"; hf: "aq.hf"; hg: "aq.hg"; hh: "aq.hh"; hi: "aq.hi"; hj: "aq.hj"; hk: "aq.hk"; hl: "aq.hl"; hm: "aq.hm"; hn: "aq.hn"; ho: "aq.ho"; hp: "aq.hp"; hq: "aq.hq"; hr: "aq.hr"; hs: "aq.hs"; ht: "aq.ht"; hu: "aq.hu"; hv: "aq.hv"; hw: "aq.hw"; hx: "aq.hx"; hy: "aq.hy"; hz: "aq.hz"; ia: "aq.ia"; ib: "aq.ib"; ic: "aq.ic"; id: "aq.id"; ie: "aq.ie"; if: "aq.if"; ig: "aq.ig"; ih: "aq.ih"; ii: "aq.ii"; ij: "aq.ij"; ik: "aq.ik"; il: "aq.il"; im: "aq.im"; in: "aq.in"; io: "aq.io"; ip: "aq.ip"; iq: "aq.iq"; ir: "aq.ir"; is: "aq.is"; it: "aq.it"; iu: "aq.iu"; iv: "aq.iv"; iw: "aq.iw"; ix: "aq.ix"; iy: "aq.iy"; iz: "aq.iz"; ja: "aq.ja"; jb: "aq.jb"; jc: "aq.jc"; jd: "aq.jd"; je: "aq.je"; jf: "aq.jf"; jg: "aq.jg"; jh: "aq.jh"; ji: "aq.ji"; jj: "aq.jj"; jk: "aq.jk"; jl: "aq.jl"; jm: "aq.jm"; jn: "aq.jn"; jo: "aq.jo"; jp: "aq.jp"; jq: "aq.jq"; jr: "aq.jr"; js: "aq.js"; jt: "aq.jt"; ju: "aq.ju"; jv: "aq.jv"; jw: "aq.jw"; jx: "aq.jx"; jy: "aq.jy"; jz: "aq.jz"; ka: "aq.ka"; kb: "aq.kb"; kc: "aq.kc"; kd: "aq.kd"; ke: "aq.ke"; kf: "aq.kf"; kg: "aq.kg"; kh: "aq.kh"; ki: "aq.ki"; kj: "aq.kj"; kk: "aq.kk"; kl: "aq.kl"; km: "aq.km"; kn: "aq.kn"; ko: "aq.ko"; kp: "aq.kp"; kq: "aq.kq"; kr: "aq.kr"; ks: "aq.ks"; kt: "aq.kt"; ku: "aq.ku"; kv: "aq.kv"; kw: "aq.kw"; kx: "aq.kx"; ky: "aq.ky"; kz: "aq.kz"; la: "aq.la"; lb: "aq.lb"; lc: "aq.lc"; ld: "aq.ld"; le: "aq.le"; lf: "aq.lf"; lg: "aq.lg"; lh: "aq.lh"; li: "aq.li"; lj: "aq.lj"; lk: "aq.lk"; ll: "aq.ll"; lm: "aq.lm"; ln: "aq.ln"; lo: "aq.lo"; lp: "aq.lp"; lq: "aq.lq"; lr: "aq.lr"; ls: "aq.ls"; lt: "aq.lt"; lu: "aq.lu"; lv: "aq.lv"; lw: "aq.lw"; lx: "aq.lx"; ly: "aq.ly"; lz: "aq.lz"; ma: "aq.ma"; mb: "aq.mb"; mc: "aq.mc"; md: "aq.md"; me: "aq.me"; mf: "aq.mf"; mg: "aq.mg"; mh: "aq.mh"; mi: "aq.mi"; mj: "aq.mj"; mk: "aq.mk"; ml: "aq.ml"; mm: "aq.mm"; mn: "aq.mn"; mo: "aq.mo"; mp: "aq.mp"; mq: "aq.mq"; mr: "aq.mr"; ms: "aq.ms"; mt: "aq.mt"; mu: "aq.mu"; mv: "aq.mv"; mw: "aq.mw"; mx: "aq.mx"; my: "aq.my"; mz: "aq.mz"; na: "aq.na"; nb: "aq.nb"; nc: "aq.nc"; nd: "aq.nd"; ne: "aq.ne"; nf: "aq.nf"; ng: "aq.ng"; nh: "aq.nh"; ni: "aq.ni"; nj: "aq.nj"; nk: "aq.nk"; nl: "aq.nl"; nm: "aq.nm"; nn: "aq.nn"; no: "aq.no"; np: "aq.np"; nq: "aq.nq"; nr: "aq.nr"; ns: "aq.ns"; nt: "aq.nt"; nu: "aq.nu"; nv: "aq.nv"; nw: "aq.nw"; nx: "aq.nx"; ny: "aq.ny"; nz: "aq.nz"; oa: "aq.oa"; ob: "aq.ob"; oc: "aq.oc"; od: "aq.od"; oe: "aq.oe"; of: "aq.of"; og: "aq.og"; oh: "aq.oh"; oi: "aq.oi"; oj: "aq.oj"; ok: "aq.ok"; ol: "aq.ol"; om: "aq.om"; on: "aq.on"; oo: "aq.oo"; op: "aq.op"; oq: "aq.oq"; or: "aq.or"; os: "aq.os"; ot: "aq.ot"; ou: "aq.ou"; ov: "aq.ov"; ow: "aq.ow"; ox: "aq.ox"; oy: "aq.oy"; oz: "aq.oz"; pa: "aq.pa"; pb: "aq.pb"; pc: "aq.pc"; pd: "aq.pd"; pe: "aq.pe"; pf: "aq.pf"; pg: "aq.pg"; ph: "aq.ph"; pi: "aq.pi"; pj: "aq.pj"; pk: "aq.pk"; pl: "aq.pl"; pm: "aq.pm"; pn: "aq.pn"; po: "aq.po"; pp: "aq.pp"; pq: "aq.pq"; pr: "aq.pr"; ps: "aq.ps"; pt: "aq.pt"; pu: "aq.pu"; pv: "aq.pv"; pw: "aq.pw"; px: "aq.px"; py: "aq.py"; pz: "aq.pz"; qa: "aq.qa"; qb: "aq.qb"; qc: "aq.qc"; qd: "aq.qd"; qe: "aq.qe"; qf: "aq.qf"; qg: "aq.qg"; qh: "aq.qh"; qi: "aq.qi"; qj: "aq.qj"; qk: "aq.qk"; ql: "aq.ql"; qm: "aq.qm"; qn: "aq.qn"; qo: "aq.qo"; qp: "aq.qp"; qq: "aq.qq"; qr: "aq.qr"; qs: "aq.qs"; qt: "aq.qt"; qu: "aq.qu"; qv: "aq.qv"; qw: "aq.qw"; qx: "aq.qx"; qy: "aq.qy"; qz: "aq.qz"; ra: "aq.ra"; rb: "aq.rb"; rc: "aq.rc"; rd: "aq.rd"; re: "aq.re"; rf: "aq.rf"; rg: "aq.rg"; rh: "aq.rh"; ri: "aq.ri"; rj: "aq.rj"; rk: "aq.rk"; rl: "aq.rl"; rm: "aq.rm"; rn: "aq.rn"; ro: "aq.ro"; rp: "aq.rp"; rq: "aq.rq"; rr: "aq.rr"; rs: "aq.rs"; rt: "aq.rt"; ru: "aq.ru"; rv: "aq.rv"; rw: "aq.rw"; rx: "aq.rx"; ry: "aq.ry"; rz: "aq.rz"; sa: "aq.sa"; sb: "aq.sb"; sc: "aq.sc"; sd: "aq.sd"; se: "aq.se"; sf: "aq.sf"; sg: "aq.sg"; sh: "aq.sh"; si: "aq.si"; sj: "aq.sj"; sk: "aq.sk"; sl: "aq.sl"; sm: "aq.sm"; sn: "aq.sn"; so: "aq.so"; sp: "aq.sp"; sq: "aq.sq"; sr: "aq.sr"; ss: "aq.ss"; st: "aq.st"; su: "aq.su"; sv: "aq.sv"; sw: "aq.sw"; sx: "aq.sx"; sy: "aq.sy"; sz: "aq.sz"; ta: "aq.ta"; tb: "aq.tb"; tc: "aq.tc"; td: "aq.td"; te: "aq.te"; tf: "aq.tf"; tg: "aq.tg"; th: "aq.th"; ti: "aq.ti"; tj: "aq.tj"; tk: "aq.tk"; tl: "aq.tl"; tm: "aq.tm"; tn: "aq.tn"; to: "aq.to"; tp: "aq.tp"; tq: "aq.tq"; tr: "aq.tr"; ts: "aq.ts"; tt: "aq.tt"; tu: "aq.tu"; tv: "aq.tv"; tw: "aq.tw"; tx: "aq.tx"; ty: "aq.ty"; tz: "aq.tz"; ua: "aq.ua"; ub: "aq.ub"; uc: "aq.uc"; ud: "aq.ud"; ue: "aq.ue"; uf: "aq.uf"; ug: "aq.ug"; uh: "aq.uh"; ui: "aq.ui"; uj: "aq.uj"; uk: "aq.uk"; ul: "aq.ul"; um: "aq.um"; un: "aq.un"; uo: "aq.uo"; up: "aq.up"; uq: "aq.uq"; ur: "aq.ur"; us: "aq.us"; ut: "aq.ut"; uu: "aq.uu"; uv: "aq.uv"; uw: "aq.uw"; ux: "aq.ux"; uy: "aq.uy"; uz: "aq.uz"; va: "aq.va"; vb: "aq.vb"; vc: "aq.vc"; vd: "aq.vd"; ve: "aq.ve"; vf: "aq.vf"; vg: "aq.vg"; vh: "aq.vh"; vi: "aq.vi"; vj: "aq.vj"; vk: "aq.vk"; vl: "aq.vl"; vm: "aq.vm"; vn: "aq.vn"; vo: "aq.vo"; vp: "aq.vp"; vq: "aq.vq"; vr: "aq.vr"; vs: "aq.vs"; vt: "aq.vt"; vu: "aq.vu"; vv: "aq.vv"; vw: "aq.vw"; vx: "aq.vx"; vy: "aq.vy"; vz: "aq.vz"; wa: "aq.wa"; wb: "aq.wb"; wc: "aq.wc"; wd: "aq.wd"; we: "aq.we"; wf: "aq.wf"; wg: "aq.wg"; wh: "aq.wh"; wi: "aq.wi"; wj: "aq.wj"; wk: "aq.wk"; wl: "aq.wl"; wm: "aq.wm"; wn: "aq.wn"; wo: "aq.wo"; wp: "aq.wp"; wq: "aq.wq"; wr: "aq.wr"; ws: "aq.ws"; wt: "aq.wt"; wu: "aq.wu"; wv: "aq.wv"; ww: "aq.ww"; wx: "aq.wx"; wy: "aq.wy"; wz: "aq.wz"; xa: "aq.xa"; xb: "aq.xb"; xc: "aq.xc"; xd: "aq.xd"; xe: "aq.xe"; xf: "aq.xf"; xg: "aq.xg"; xh: "aq.xh"; xi: "aq.xi"; xj: "aq.xj"; xk: "aq.xk"; xl: "aq.xl"; xm: "aq.xm"; xn: "aq.xn"; xo: "aq.xo"; xp: "aq.xp"; xq: "aq.xq"; xr: "aq.xr"; xs: "aq.xs"; xt: "aq.xt"; xu: "aq.xu"; xv: "aq.xv"; xw: "aq.xw"; xx: "aq.xx"; xy: "aq.xy"; xz: "aq.xz"; ya: "aq.ya"; yb: "aq.yb"; yc: "aq.yc"; yd: "aq.yd"; ye: "aq.ye"; yf: "aq.yf"; yg: "aq.yg"; yh: "aq.yh"; yi: "aq.yi"; yj: "aq.yj"; yk: "aq.yk"; yl: "aq.yl"; ym: "aq.ym"; yn: "aq.yn"; yo: "aq.yo"; yp: "aq.yp"; yq: "aq.yq"; yr: "aq.yr"; ys: "aq.ys"; yt: "aq.yt"; yu: "aq.yu"; yv: "aq.yv"; yw: "aq.yw"; yx: "aq.yx"; yy: "aq.yy"; yz: "aq.yz"; za: "aq.za"; zb: "aq.zb"; zc: "aq.zc"; zd: "aq.zd"; ze: "aq.ze"; zf: "aq.zf"; zg: "aq.zg"; zh: "aq.zh"; zi: "aq.zi"; zj: "aq.zj"; zk: "aq.zk"; zl: "aq.zl"; zm: "aq.zm"; zn: "aq.zn"; zo: "aq.zo"; zp: "aq.zp"; zq: "aq.zq"; zr: "aq.zr"; zs: "aq.zs"; zt: "aq.zt"; zu: "aq.zu"; zv: "aq.zv"; zw: "aq.zw"; zx: "aq.zx"; zy: "aq.zy"; zz: "aq.zz"; }; ar: { aa: "ar.aa"; ab: "ar.ab"; ac: "ar.ac"; ad: "ar.ad"; ae: "ar.ae"; af: "ar.af"; ag: "ar.ag"; ah: "ar.ah"; ai: "ar.ai"; aj: "ar.aj"; ak: "ar.ak"; al: "ar.al"; am: "ar.am"; an: "ar.an"; ao: "ar.ao"; ap: "ar.ap"; aq: "ar.aq"; ar: "ar.ar"; as: "ar.as"; at: "ar.at"; au: "ar.au"; av: "ar.av"; aw: "ar.aw"; ax: "ar.ax"; ay: "ar.ay"; az: "ar.az"; ba: "ar.ba"; bb: "ar.bb"; bc: "ar.bc"; bd: "ar.bd"; be: "ar.be"; bf: "ar.bf"; bg: "ar.bg"; bh: "ar.bh"; bi: "ar.bi"; bj: "ar.bj"; bk: "ar.bk"; bl: "ar.bl"; bm: "ar.bm"; bn: "ar.bn"; bo: "ar.bo"; bp: "ar.bp"; bq: "ar.bq"; br: "ar.br"; bs: "ar.bs"; bt: "ar.bt"; bu: "ar.bu"; bv: "ar.bv"; bw: "ar.bw"; bx: "ar.bx"; by: "ar.by"; bz: "ar.bz"; ca: "ar.ca"; cb: "ar.cb"; cc: "ar.cc"; cd: "ar.cd"; ce: "ar.ce"; cf: "ar.cf"; cg: "ar.cg"; ch: "ar.ch"; ci: "ar.ci"; cj: "ar.cj"; ck: "ar.ck"; cl: "ar.cl"; cm: "ar.cm"; cn: "ar.cn"; co: "ar.co"; cp: "ar.cp"; cq: "ar.cq"; cr: "ar.cr"; cs: "ar.cs"; ct: "ar.ct"; cu: "ar.cu"; cv: "ar.cv"; cw: "ar.cw"; cx: "ar.cx"; cy: "ar.cy"; cz: "ar.cz"; da: "ar.da"; db: "ar.db"; dc: "ar.dc"; dd: "ar.dd"; de: "ar.de"; df: "ar.df"; dg: "ar.dg"; dh: "ar.dh"; di: "ar.di"; dj: "ar.dj"; dk: "ar.dk"; dl: "ar.dl"; dm: "ar.dm"; dn: "ar.dn"; do: "ar.do"; dp: "ar.dp"; dq: "ar.dq"; dr: "ar.dr"; ds: "ar.ds"; dt: "ar.dt"; du: "ar.du"; dv: "ar.dv"; dw: "ar.dw"; dx: "ar.dx"; dy: "ar.dy"; dz: "ar.dz"; ea: "ar.ea"; eb: "ar.eb"; ec: "ar.ec"; ed: "ar.ed"; ee: "ar.ee"; ef: "ar.ef"; eg: "ar.eg"; eh: "ar.eh"; ei: "ar.ei"; ej: "ar.ej"; ek: "ar.ek"; el: "ar.el"; em: "ar.em"; en: "ar.en"; eo: "ar.eo"; ep: "ar.ep"; eq: "ar.eq"; er: "ar.er"; es: "ar.es"; et: "ar.et"; eu: "ar.eu"; ev: "ar.ev"; ew: "ar.ew"; ex: "ar.ex"; ey: "ar.ey"; ez: "ar.ez"; fa: "ar.fa"; fb: "ar.fb"; fc: "ar.fc"; fd: "ar.fd"; fe: "ar.fe"; ff: "ar.ff"; fg: "ar.fg"; fh: "ar.fh"; fi: "ar.fi"; fj: "ar.fj"; fk: "ar.fk"; fl: "ar.fl"; fm: "ar.fm"; fn: "ar.fn"; fo: "ar.fo"; fp: "ar.fp"; fq: "ar.fq"; fr: "ar.fr"; fs: "ar.fs"; ft: "ar.ft"; fu: "ar.fu"; fv: "ar.fv"; fw: "ar.fw"; fx: "ar.fx"; fy: "ar.fy"; fz: "ar.fz"; ga: "ar.ga"; gb: "ar.gb"; gc: "ar.gc"; gd: "ar.gd"; ge: "ar.ge"; gf: "ar.gf"; gg: "ar.gg"; gh: "ar.gh"; gi: "ar.gi"; gj: "ar.gj"; gk: "ar.gk"; gl: "ar.gl"; gm: "ar.gm"; gn: "ar.gn"; go: "ar.go"; gp: "ar.gp"; gq: "ar.gq"; gr: "ar.gr"; gs: "ar.gs"; gt: "ar.gt"; gu: "ar.gu"; gv: "ar.gv"; gw: "ar.gw"; gx: "ar.gx"; gy: "ar.gy"; gz: "ar.gz"; ha: "ar.ha"; hb: "ar.hb"; hc: "ar.hc"; hd: "ar.hd"; he: "ar.he"; hf: "ar.hf"; hg: "ar.hg"; hh: "ar.hh"; hi: "ar.hi"; hj: "ar.hj"; hk: "ar.hk"; hl: "ar.hl"; hm: "ar.hm"; hn: "ar.hn"; ho: "ar.ho"; hp: "ar.hp"; hq: "ar.hq"; hr: "ar.hr"; hs: "ar.hs"; ht: "ar.ht"; hu: "ar.hu"; hv: "ar.hv"; hw: "ar.hw"; hx: "ar.hx"; hy: "ar.hy"; hz: "ar.hz"; ia: "ar.ia"; ib: "ar.ib"; ic: "ar.ic"; id: "ar.id"; ie: "ar.ie"; if: "ar.if"; ig: "ar.ig"; ih: "ar.ih"; ii: "ar.ii"; ij: "ar.ij"; ik: "ar.ik"; il: "ar.il"; im: "ar.im"; in: "ar.in"; io: "ar.io"; ip: "ar.ip"; iq: "ar.iq"; ir: "ar.ir"; is: "ar.is"; it: "ar.it"; iu: "ar.iu"; iv: "ar.iv"; iw: "ar.iw"; ix: "ar.ix"; iy: "ar.iy"; iz: "ar.iz"; ja: "ar.ja"; jb: "ar.jb"; jc: "ar.jc"; jd: "ar.jd"; je: "ar.je"; jf: "ar.jf"; jg: "ar.jg"; jh: "ar.jh"; ji: "ar.ji"; jj: "ar.jj"; jk: "ar.jk"; jl: "ar.jl"; jm: "ar.jm"; jn: "ar.jn"; jo: "ar.jo"; jp: "ar.jp"; jq: "ar.jq"; jr: "ar.jr"; js: "ar.js"; jt: "ar.jt"; ju: "ar.ju"; jv: "ar.jv"; jw: "ar.jw"; jx: "ar.jx"; jy: "ar.jy"; jz: "ar.jz"; ka: "ar.ka"; kb: "ar.kb"; kc: "ar.kc"; kd: "ar.kd"; ke: "ar.ke"; kf: "ar.kf"; kg: "ar.kg"; kh: "ar.kh"; ki: "ar.ki"; kj: "ar.kj"; kk: "ar.kk"; kl: "ar.kl"; km: "ar.km"; kn: "ar.kn"; ko: "ar.ko"; kp: "ar.kp"; kq: "ar.kq"; kr: "ar.kr"; ks: "ar.ks"; kt: "ar.kt"; ku: "ar.ku"; kv: "ar.kv"; kw: "ar.kw"; kx: "ar.kx"; ky: "ar.ky"; kz: "ar.kz"; la: "ar.la"; lb: "ar.lb"; lc: "ar.lc"; ld: "ar.ld"; le: "ar.le"; lf: "ar.lf"; lg: "ar.lg"; lh: "ar.lh"; li: "ar.li"; lj: "ar.lj"; lk: "ar.lk"; ll: "ar.ll"; lm: "ar.lm"; ln: "ar.ln"; lo: "ar.lo"; lp: "ar.lp"; lq: "ar.lq"; lr: "ar.lr"; ls: "ar.ls"; lt: "ar.lt"; lu: "ar.lu"; lv: "ar.lv"; lw: "ar.lw"; lx: "ar.lx"; ly: "ar.ly"; lz: "ar.lz"; ma: "ar.ma"; mb: "ar.mb"; mc: "ar.mc"; md: "ar.md"; me: "ar.me"; mf: "ar.mf"; mg: "ar.mg"; mh: "ar.mh"; mi: "ar.mi"; mj: "ar.mj"; mk: "ar.mk"; ml: "ar.ml"; mm: "ar.mm"; mn: "ar.mn"; mo: "ar.mo"; mp: "ar.mp"; mq: "ar.mq"; mr: "ar.mr"; ms: "ar.ms"; mt: "ar.mt"; mu: "ar.mu"; mv: "ar.mv"; mw: "ar.mw"; mx: "ar.mx"; my: "ar.my"; mz: "ar.mz"; na: "ar.na"; nb: "ar.nb"; nc: "ar.nc"; nd: "ar.nd"; ne: "ar.ne"; nf: "ar.nf"; ng: "ar.ng"; nh: "ar.nh"; ni: "ar.ni"; nj: "ar.nj"; nk: "ar.nk"; nl: "ar.nl"; nm: "ar.nm"; nn: "ar.nn"; no: "ar.no"; np: "ar.np"; nq: "ar.nq"; nr: "ar.nr"; ns: "ar.ns"; nt: "ar.nt"; nu: "ar.nu"; nv: "ar.nv"; nw: "ar.nw"; nx: "ar.nx"; ny: "ar.ny"; nz: "ar.nz"; oa: "ar.oa"; ob: "ar.ob"; oc: "ar.oc"; od: "ar.od"; oe: "ar.oe"; of: "ar.of"; og: "ar.og"; oh: "ar.oh"; oi: "ar.oi"; oj: "ar.oj"; ok: "ar.ok"; ol: "ar.ol"; om: "ar.om"; on: "ar.on"; oo: "ar.oo"; op: "ar.op"; oq: "ar.oq"; or: "ar.or"; os: "ar.os"; ot: "ar.ot"; ou: "ar.ou"; ov: "ar.ov"; ow: "ar.ow"; ox: "ar.ox"; oy: "ar.oy"; oz: "ar.oz"; pa: "ar.pa"; pb: "ar.pb"; pc: "ar.pc"; pd: "ar.pd"; pe: "ar.pe"; pf: "ar.pf"; pg: "ar.pg"; ph: "ar.ph"; pi: "ar.pi"; pj: "ar.pj"; pk: "ar.pk"; pl: "ar.pl"; pm: "ar.pm"; pn: "ar.pn"; po: "ar.po"; pp: "ar.pp"; pq: "ar.pq"; pr: "ar.pr"; ps: "ar.ps"; pt: "ar.pt"; pu: "ar.pu"; pv: "ar.pv"; pw: "ar.pw"; px: "ar.px"; py: "ar.py"; pz: "ar.pz"; qa: "ar.qa"; qb: "ar.qb"; qc: "ar.qc"; qd: "ar.qd"; qe: "ar.qe"; qf: "ar.qf"; qg: "ar.qg"; qh: "ar.qh"; qi: "ar.qi"; qj: "ar.qj"; qk: "ar.qk"; ql: "ar.ql"; qm: "ar.qm"; qn: "ar.qn"; qo: "ar.qo"; qp: "ar.qp"; qq: "ar.qq"; qr: "ar.qr"; qs: "ar.qs"; qt: "ar.qt"; qu: "ar.qu"; qv: "ar.qv"; qw: "ar.qw"; qx: "ar.qx"; qy: "ar.qy"; qz: "ar.qz"; ra: "ar.ra"; rb: "ar.rb"; rc: "ar.rc"; rd: "ar.rd"; re: "ar.re"; rf: "ar.rf"; rg: "ar.rg"; rh: "ar.rh"; ri: "ar.ri"; rj: "ar.rj"; rk: "ar.rk"; rl: "ar.rl"; rm: "ar.rm"; rn: "ar.rn"; ro: "ar.ro"; rp: "ar.rp"; rq: "ar.rq"; rr: "ar.rr"; rs: "ar.rs"; rt: "ar.rt"; ru: "ar.ru"; rv: "ar.rv"; rw: "ar.rw"; rx: "ar.rx"; ry: "ar.ry"; rz: "ar.rz"; sa: "ar.sa"; sb: "ar.sb"; sc: "ar.sc"; sd: "ar.sd"; se: "ar.se"; sf: "ar.sf"; sg: "ar.sg"; sh: "ar.sh"; si: "ar.si"; sj: "ar.sj"; sk: "ar.sk"; sl: "ar.sl"; sm: "ar.sm"; sn: "ar.sn"; so: "ar.so"; sp: "ar.sp"; sq: "ar.sq"; sr: "ar.sr"; ss: "ar.ss"; st: "ar.st"; su: "ar.su"; sv: "ar.sv"; sw: "ar.sw"; sx: "ar.sx"; sy: "ar.sy"; sz: "ar.sz"; ta: "ar.ta"; tb: "ar.tb"; tc: "ar.tc"; td: "ar.td"; te: "ar.te"; tf: "ar.tf"; tg: "ar.tg"; th: "ar.th"; ti: "ar.ti"; tj: "ar.tj"; tk: "ar.tk"; tl: "ar.tl"; tm: "ar.tm"; tn: "ar.tn"; to: "ar.to"; tp: "ar.tp"; tq: "ar.tq"; tr: "ar.tr"; ts: "ar.ts"; tt: "ar.tt"; tu: "ar.tu"; tv: "ar.tv"; tw: "ar.tw"; tx: "ar.tx"; ty: "ar.ty"; tz: "ar.tz"; ua: "ar.ua"; ub: "ar.ub"; uc: "ar.uc"; ud: "ar.ud"; ue: "ar.ue"; uf: "ar.uf"; ug: "ar.ug"; uh: "ar.uh"; ui: "ar.ui"; uj: "ar.uj"; uk: "ar.uk"; ul: "ar.ul"; um: "ar.um"; un: "ar.un"; uo: "ar.uo"; up: "ar.up"; uq: "ar.uq"; ur: "ar.ur"; us: "ar.us"; ut: "ar.ut"; uu: "ar.uu"; uv: "ar.uv"; uw: "ar.uw"; ux: "ar.ux"; uy: "ar.uy"; uz: "ar.uz"; va: "ar.va"; vb: "ar.vb"; vc: "ar.vc"; vd: "ar.vd"; ve: "ar.ve"; vf: "ar.vf"; vg: "ar.vg"; vh: "ar.vh"; vi: "ar.vi"; vj: "ar.vj"; vk: "ar.vk"; vl: "ar.vl"; vm: "ar.vm"; vn: "ar.vn"; vo: "ar.vo"; vp: "ar.vp"; vq: "ar.vq"; vr: "ar.vr"; vs: "ar.vs"; vt: "ar.vt"; vu: "ar.vu"; vv: "ar.vv"; vw: "ar.vw"; vx: "ar.vx"; vy: "ar.vy"; vz: "ar.vz"; wa: "ar.wa"; wb: "ar.wb"; wc: "ar.wc"; wd: "ar.wd"; we: "ar.we"; wf: "ar.wf"; wg: "ar.wg"; wh: "ar.wh"; wi: "ar.wi"; wj: "ar.wj"; wk: "ar.wk"; wl: "ar.wl"; wm: "ar.wm"; wn: "ar.wn"; wo: "ar.wo"; wp: "ar.wp"; wq: "ar.wq"; wr: "ar.wr"; ws: "ar.ws"; wt: "ar.wt"; wu: "ar.wu"; wv: "ar.wv"; ww: "ar.ww"; wx: "ar.wx"; wy: "ar.wy"; wz: "ar.wz"; xa: "ar.xa"; xb: "ar.xb"; xc: "ar.xc"; xd: "ar.xd"; xe: "ar.xe"; xf: "ar.xf"; xg: "ar.xg"; xh: "ar.xh"; xi: "ar.xi"; xj: "ar.xj"; xk: "ar.xk"; xl: "ar.xl"; xm: "ar.xm"; xn: "ar.xn"; xo: "ar.xo"; xp: "ar.xp"; xq: "ar.xq"; xr: "ar.xr"; xs: "ar.xs"; xt: "ar.xt"; xu: "ar.xu"; xv: "ar.xv"; xw: "ar.xw"; xx: "ar.xx"; xy: "ar.xy"; xz: "ar.xz"; ya: "ar.ya"; yb: "ar.yb"; yc: "ar.yc"; yd: "ar.yd"; ye: "ar.ye"; yf: "ar.yf"; yg: "ar.yg"; yh: "ar.yh"; yi: "ar.yi"; yj: "ar.yj"; yk: "ar.yk"; yl: "ar.yl"; ym: "ar.ym"; yn: "ar.yn"; yo: "ar.yo"; yp: "ar.yp"; yq: "ar.yq"; yr: "ar.yr"; ys: "ar.ys"; yt: "ar.yt"; yu: "ar.yu"; yv: "ar.yv"; yw: "ar.yw"; yx: "ar.yx"; yy: "ar.yy"; yz: "ar.yz"; za: "ar.za"; zb: "ar.zb"; zc: "ar.zc"; zd: "ar.zd"; ze: "ar.ze"; zf: "ar.zf"; zg: "ar.zg"; zh: "ar.zh"; zi: "ar.zi"; zj: "ar.zj"; zk: "ar.zk"; zl: "ar.zl"; zm: "ar.zm"; zn: "ar.zn"; zo: "ar.zo"; zp: "ar.zp"; zq: "ar.zq"; zr: "ar.zr"; zs: "ar.zs"; zt: "ar.zt"; zu: "ar.zu"; zv: "ar.zv"; zw: "ar.zw"; zx: "ar.zx"; zy: "ar.zy"; zz: "ar.zz"; }; as: { aa: "as.aa"; ab: "as.ab"; ac: "as.ac"; ad: "as.ad"; ae: "as.ae"; af: "as.af"; ag: "as.ag"; ah: "as.ah"; ai: "as.ai"; aj: "as.aj"; ak: "as.ak"; al: "as.al"; am: "as.am"; an: "as.an"; ao: "as.ao"; ap: "as.ap"; aq: "as.aq"; ar: "as.ar"; as: "as.as"; at: "as.at"; au: "as.au"; av: "as.av"; aw: "as.aw"; ax: "as.ax"; ay: "as.ay"; az: "as.az"; ba: "as.ba"; bb: "as.bb"; bc: "as.bc"; bd: "as.bd"; be: "as.be"; bf: "as.bf"; bg: "as.bg"; bh: "as.bh"; bi: "as.bi"; bj: "as.bj"; bk: "as.bk"; bl: "as.bl"; bm: "as.bm"; bn: "as.bn"; bo: "as.bo"; bp: "as.bp"; bq: "as.bq"; br: "as.br"; bs: "as.bs"; bt: "as.bt"; bu: "as.bu"; bv: "as.bv"; bw: "as.bw"; bx: "as.bx"; by: "as.by"; bz: "as.bz"; ca: "as.ca"; cb: "as.cb"; cc: "as.cc"; cd: "as.cd"; ce: "as.ce"; cf: "as.cf"; cg: "as.cg"; ch: "as.ch"; ci: "as.ci"; cj: "as.cj"; ck: "as.ck"; cl: "as.cl"; cm: "as.cm"; cn: "as.cn"; co: "as.co"; cp: "as.cp"; cq: "as.cq"; cr: "as.cr"; cs: "as.cs"; ct: "as.ct"; cu: "as.cu"; cv: "as.cv"; cw: "as.cw"; cx: "as.cx"; cy: "as.cy"; cz: "as.cz"; da: "as.da"; db: "as.db"; dc: "as.dc"; dd: "as.dd"; de: "as.de"; df: "as.df"; dg: "as.dg"; dh: "as.dh"; di: "as.di"; dj: "as.dj"; dk: "as.dk"; dl: "as.dl"; dm: "as.dm"; dn: "as.dn"; do: "as.do"; dp: "as.dp"; dq: "as.dq"; dr: "as.dr"; ds: "as.ds"; dt: "as.dt"; du: "as.du"; dv: "as.dv"; dw: "as.dw"; dx: "as.dx"; dy: "as.dy"; dz: "as.dz"; ea: "as.ea"; eb: "as.eb"; ec: "as.ec"; ed: "as.ed"; ee: "as.ee"; ef: "as.ef"; eg: "as.eg"; eh: "as.eh"; ei: "as.ei"; ej: "as.ej"; ek: "as.ek"; el: "as.el"; em: "as.em"; en: "as.en"; eo: "as.eo"; ep: "as.ep"; eq: "as.eq"; er: "as.er"; es: "as.es"; et: "as.et"; eu: "as.eu"; ev: "as.ev"; ew: "as.ew"; ex: "as.ex"; ey: "as.ey"; ez: "as.ez"; fa: "as.fa"; fb: "as.fb"; fc: "as.fc"; fd: "as.fd"; fe: "as.fe"; ff: "as.ff"; fg: "as.fg"; fh: "as.fh"; fi: "as.fi"; fj: "as.fj"; fk: "as.fk"; fl: "as.fl"; fm: "as.fm"; fn: "as.fn"; fo: "as.fo"; fp: "as.fp"; fq: "as.fq"; fr: "as.fr"; fs: "as.fs"; ft: "as.ft"; fu: "as.fu"; fv: "as.fv"; fw: "as.fw"; fx: "as.fx"; fy: "as.fy"; fz: "as.fz"; ga: "as.ga"; gb: "as.gb"; gc: "as.gc"; gd: "as.gd"; ge: "as.ge"; gf: "as.gf"; gg: "as.gg"; gh: "as.gh"; gi: "as.gi"; gj: "as.gj"; gk: "as.gk"; gl: "as.gl"; gm: "as.gm"; gn: "as.gn"; go: "as.go"; gp: "as.gp"; gq: "as.gq"; gr: "as.gr"; gs: "as.gs"; gt: "as.gt"; gu: "as.gu"; gv: "as.gv"; gw: "as.gw"; gx: "as.gx"; gy: "as.gy"; gz: "as.gz"; ha: "as.ha"; hb: "as.hb"; hc: "as.hc"; hd: "as.hd"; he: "as.he"; hf: "as.hf"; hg: "as.hg"; hh: "as.hh"; hi: "as.hi"; hj: "as.hj"; hk: "as.hk"; hl: "as.hl"; hm: "as.hm"; hn: "as.hn"; ho: "as.ho"; hp: "as.hp"; hq: "as.hq"; hr: "as.hr"; hs: "as.hs"; ht: "as.ht"; hu: "as.hu"; hv: "as.hv"; hw: "as.hw"; hx: "as.hx"; hy: "as.hy"; hz: "as.hz"; ia: "as.ia"; ib: "as.ib"; ic: "as.ic"; id: "as.id"; ie: "as.ie"; if: "as.if"; ig: "as.ig"; ih: "as.ih"; ii: "as.ii"; ij: "as.ij"; ik: "as.ik"; il: "as.il"; im: "as.im"; in: "as.in"; io: "as.io"; ip: "as.ip"; iq: "as.iq"; ir: "as.ir"; is: "as.is"; it: "as.it"; iu: "as.iu"; iv: "as.iv"; iw: "as.iw"; ix: "as.ix"; iy: "as.iy"; iz: "as.iz"; ja: "as.ja"; jb: "as.jb"; jc: "as.jc"; jd: "as.jd"; je: "as.je"; jf: "as.jf"; jg: "as.jg"; jh: "as.jh"; ji: "as.ji"; jj: "as.jj"; jk: "as.jk"; jl: "as.jl"; jm: "as.jm"; jn: "as.jn"; jo: "as.jo"; jp: "as.jp"; jq: "as.jq"; jr: "as.jr"; js: "as.js"; jt: "as.jt"; ju: "as.ju"; jv: "as.jv"; jw: "as.jw"; jx: "as.jx"; jy: "as.jy"; jz: "as.jz"; ka: "as.ka"; kb: "as.kb"; kc: "as.kc"; kd: "as.kd"; ke: "as.ke"; kf: "as.kf"; kg: "as.kg"; kh: "as.kh"; ki: "as.ki"; kj: "as.kj"; kk: "as.kk"; kl: "as.kl"; km: "as.km"; kn: "as.kn"; ko: "as.ko"; kp: "as.kp"; kq: "as.kq"; kr: "as.kr"; ks: "as.ks"; kt: "as.kt"; ku: "as.ku"; kv: "as.kv"; kw: "as.kw"; kx: "as.kx"; ky: "as.ky"; kz: "as.kz"; la: "as.la"; lb: "as.lb"; lc: "as.lc"; ld: "as.ld"; le: "as.le"; lf: "as.lf"; lg: "as.lg"; lh: "as.lh"; li: "as.li"; lj: "as.lj"; lk: "as.lk"; ll: "as.ll"; lm: "as.lm"; ln: "as.ln"; lo: "as.lo"; lp: "as.lp"; lq: "as.lq"; lr: "as.lr"; ls: "as.ls"; lt: "as.lt"; lu: "as.lu"; lv: "as.lv"; lw: "as.lw"; lx: "as.lx"; ly: "as.ly"; lz: "as.lz"; ma: "as.ma"; mb: "as.mb"; mc: "as.mc"; md: "as.md"; me: "as.me"; mf: "as.mf"; mg: "as.mg"; mh: "as.mh"; mi: "as.mi"; mj: "as.mj"; mk: "as.mk"; ml: "as.ml"; mm: "as.mm"; mn: "as.mn"; mo: "as.mo"; mp: "as.mp"; mq: "as.mq"; mr: "as.mr"; ms: "as.ms"; mt: "as.mt"; mu: "as.mu"; mv: "as.mv"; mw: "as.mw"; mx: "as.mx"; my: "as.my"; mz: "as.mz"; na: "as.na"; nb: "as.nb"; nc: "as.nc"; nd: "as.nd"; ne: "as.ne"; nf: "as.nf"; ng: "as.ng"; nh: "as.nh"; ni: "as.ni"; nj: "as.nj"; nk: "as.nk"; nl: "as.nl"; nm: "as.nm"; nn: "as.nn"; no: "as.no"; np: "as.np"; nq: "as.nq"; nr: "as.nr"; ns: "as.ns"; nt: "as.nt"; nu: "as.nu"; nv: "as.nv"; nw: "as.nw"; nx: "as.nx"; ny: "as.ny"; nz: "as.nz"; oa: "as.oa"; ob: "as.ob"; oc: "as.oc"; od: "as.od"; oe: "as.oe"; of: "as.of"; og: "as.og"; oh: "as.oh"; oi: "as.oi"; oj: "as.oj"; ok: "as.ok"; ol: "as.ol"; om: "as.om"; on: "as.on"; oo: "as.oo"; op: "as.op"; oq: "as.oq"; or: "as.or"; os: "as.os"; ot: "as.ot"; ou: "as.ou"; ov: "as.ov"; ow: "as.ow"; ox: "as.ox"; oy: "as.oy"; oz: "as.oz"; pa: "as.pa"; pb: "as.pb"; pc: "as.pc"; pd: "as.pd"; pe: "as.pe"; pf: "as.pf"; pg: "as.pg"; ph: "as.ph"; pi: "as.pi"; pj: "as.pj"; pk: "as.pk"; pl: "as.pl"; pm: "as.pm"; pn: "as.pn"; po: "as.po"; pp: "as.pp"; pq: "as.pq"; pr: "as.pr"; ps: "as.ps"; pt: "as.pt"; pu: "as.pu"; pv: "as.pv"; pw: "as.pw"; px: "as.px"; py: "as.py"; pz: "as.pz"; qa: "as.qa"; qb: "as.qb"; qc: "as.qc"; qd: "as.qd"; qe: "as.qe"; qf: "as.qf"; qg: "as.qg"; qh: "as.qh"; qi: "as.qi"; qj: "as.qj"; qk: "as.qk"; ql: "as.ql"; qm: "as.qm"; qn: "as.qn"; qo: "as.qo"; qp: "as.qp"; qq: "as.qq"; qr: "as.qr"; qs: "as.qs"; qt: "as.qt"; qu: "as.qu"; qv: "as.qv"; qw: "as.qw"; qx: "as.qx"; qy: "as.qy"; qz: "as.qz"; ra: "as.ra"; rb: "as.rb"; rc: "as.rc"; rd: "as.rd"; re: "as.re"; rf: "as.rf"; rg: "as.rg"; rh: "as.rh"; ri: "as.ri"; rj: "as.rj"; rk: "as.rk"; rl: "as.rl"; rm: "as.rm"; rn: "as.rn"; ro: "as.ro"; rp: "as.rp"; rq: "as.rq"; rr: "as.rr"; rs: "as.rs"; rt: "as.rt"; ru: "as.ru"; rv: "as.rv"; rw: "as.rw"; rx: "as.rx"; ry: "as.ry"; rz: "as.rz"; sa: "as.sa"; sb: "as.sb"; sc: "as.sc"; sd: "as.sd"; se: "as.se"; sf: "as.sf"; sg: "as.sg"; sh: "as.sh"; si: "as.si"; sj: "as.sj"; sk: "as.sk"; sl: "as.sl"; sm: "as.sm"; sn: "as.sn"; so: "as.so"; sp: "as.sp"; sq: "as.sq"; sr: "as.sr"; ss: "as.ss"; st: "as.st"; su: "as.su"; sv: "as.sv"; sw: "as.sw"; sx: "as.sx"; sy: "as.sy"; sz: "as.sz"; ta: "as.ta"; tb: "as.tb"; tc: "as.tc"; td: "as.td"; te: "as.te"; tf: "as.tf"; tg: "as.tg"; th: "as.th"; ti: "as.ti"; tj: "as.tj"; tk: "as.tk"; tl: "as.tl"; tm: "as.tm"; tn: "as.tn"; to: "as.to"; tp: "as.tp"; tq: "as.tq"; tr: "as.tr"; ts: "as.ts"; tt: "as.tt"; tu: "as.tu"; tv: "as.tv"; tw: "as.tw"; tx: "as.tx"; ty: "as.ty"; tz: "as.tz"; ua: "as.ua"; ub: "as.ub"; uc: "as.uc"; ud: "as.ud"; ue: "as.ue"; uf: "as.uf"; ug: "as.ug"; uh: "as.uh"; ui: "as.ui"; uj: "as.uj"; uk: "as.uk"; ul: "as.ul"; um: "as.um"; un: "as.un"; uo: "as.uo"; up: "as.up"; uq: "as.uq"; ur: "as.ur"; us: "as.us"; ut: "as.ut"; uu: "as.uu"; uv: "as.uv"; uw: "as.uw"; ux: "as.ux"; uy: "as.uy"; uz: "as.uz"; va: "as.va"; vb: "as.vb"; vc: "as.vc"; vd: "as.vd"; ve: "as.ve"; vf: "as.vf"; vg: "as.vg"; vh: "as.vh"; vi: "as.vi"; vj: "as.vj"; vk: "as.vk"; vl: "as.vl"; vm: "as.vm"; vn: "as.vn"; vo: "as.vo"; vp: "as.vp"; vq: "as.vq"; vr: "as.vr"; vs: "as.vs"; vt: "as.vt"; vu: "as.vu"; vv: "as.vv"; vw: "as.vw"; vx: "as.vx"; vy: "as.vy"; vz: "as.vz"; wa: "as.wa"; wb: "as.wb"; wc: "as.wc"; wd: "as.wd"; we: "as.we"; wf: "as.wf"; wg: "as.wg"; wh: "as.wh"; wi: "as.wi"; wj: "as.wj"; wk: "as.wk"; wl: "as.wl"; wm: "as.wm"; wn: "as.wn"; wo: "as.wo"; wp: "as.wp"; wq: "as.wq"; wr: "as.wr"; ws: "as.ws"; wt: "as.wt"; wu: "as.wu"; wv: "as.wv"; ww: "as.ww"; wx: "as.wx"; wy: "as.wy"; wz: "as.wz"; xa: "as.xa"; xb: "as.xb"; xc: "as.xc"; xd: "as.xd"; xe: "as.xe"; xf: "as.xf"; xg: "as.xg"; xh: "as.xh"; xi: "as.xi"; xj: "as.xj"; xk: "as.xk"; xl: "as.xl"; xm: "as.xm"; xn: "as.xn"; xo: "as.xo"; xp: "as.xp"; xq: "as.xq"; xr: "as.xr"; xs: "as.xs"; xt: "as.xt"; xu: "as.xu"; xv: "as.xv"; xw: "as.xw"; xx: "as.xx"; xy: "as.xy"; xz: "as.xz"; ya: "as.ya"; yb: "as.yb"; yc: "as.yc"; yd: "as.yd"; ye: "as.ye"; yf: "as.yf"; yg: "as.yg"; yh: "as.yh"; yi: "as.yi"; yj: "as.yj"; yk: "as.yk"; yl: "as.yl"; ym: "as.ym"; yn: "as.yn"; yo: "as.yo"; yp: "as.yp"; yq: "as.yq"; yr: "as.yr"; ys: "as.ys"; yt: "as.yt"; yu: "as.yu"; yv: "as.yv"; yw: "as.yw"; yx: "as.yx"; yy: "as.yy"; yz: "as.yz"; za: "as.za"; zb: "as.zb"; zc: "as.zc"; zd: "as.zd"; ze: "as.ze"; zf: "as.zf"; zg: "as.zg"; zh: "as.zh"; zi: "as.zi"; zj: "as.zj"; zk: "as.zk"; zl: "as.zl"; zm: "as.zm"; zn: "as.zn"; zo: "as.zo"; zp: "as.zp"; zq: "as.zq"; zr: "as.zr"; zs: "as.zs"; zt: "as.zt"; zu: "as.zu"; zv: "as.zv"; zw: "as.zw"; zx: "as.zx"; zy: "as.zy"; zz: "as.zz"; }; at: { aa: "at.aa"; ab: "at.ab"; ac: "at.ac"; ad: "at.ad"; ae: "at.ae"; af: "at.af"; ag: "at.ag"; ah: "at.ah"; ai: "at.ai"; aj: "at.aj"; ak: "at.ak"; al: "at.al"; am: "at.am"; an: "at.an"; ao: "at.ao"; ap: "at.ap"; aq: "at.aq"; ar: "at.ar"; as: "at.as"; at: "at.at"; au: "at.au"; av: "at.av"; aw: "at.aw"; ax: "at.ax"; ay: "at.ay"; az: "at.az"; ba: "at.ba"; bb: "at.bb"; bc: "at.bc"; bd: "at.bd"; be: "at.be"; bf: "at.bf"; bg: "at.bg"; bh: "at.bh"; bi: "at.bi"; bj: "at.bj"; bk: "at.bk"; bl: "at.bl"; bm: "at.bm"; bn: "at.bn"; bo: "at.bo"; bp: "at.bp"; bq: "at.bq"; br: "at.br"; bs: "at.bs"; bt: "at.bt"; bu: "at.bu"; bv: "at.bv"; bw: "at.bw"; bx: "at.bx"; by: "at.by"; bz: "at.bz"; ca: "at.ca"; cb: "at.cb"; cc: "at.cc"; cd: "at.cd"; ce: "at.ce"; cf: "at.cf"; cg: "at.cg"; ch: "at.ch"; ci: "at.ci"; cj: "at.cj"; ck: "at.ck"; cl: "at.cl"; cm: "at.cm"; cn: "at.cn"; co: "at.co"; cp: "at.cp"; cq: "at.cq"; cr: "at.cr"; cs: "at.cs"; ct: "at.ct"; cu: "at.cu"; cv: "at.cv"; cw: "at.cw"; cx: "at.cx"; cy: "at.cy"; cz: "at.cz"; da: "at.da"; db: "at.db"; dc: "at.dc"; dd: "at.dd"; de: "at.de"; df: "at.df"; dg: "at.dg"; dh: "at.dh"; di: "at.di"; dj: "at.dj"; dk: "at.dk"; dl: "at.dl"; dm: "at.dm"; dn: "at.dn"; do: "at.do"; dp: "at.dp"; dq: "at.dq"; dr: "at.dr"; ds: "at.ds"; dt: "at.dt"; du: "at.du"; dv: "at.dv"; dw: "at.dw"; dx: "at.dx"; dy: "at.dy"; dz: "at.dz"; ea: "at.ea"; eb: "at.eb"; ec: "at.ec"; ed: "at.ed"; ee: "at.ee"; ef: "at.ef"; eg: "at.eg"; eh: "at.eh"; ei: "at.ei"; ej: "at.ej"; ek: "at.ek"; el: "at.el"; em: "at.em"; en: "at.en"; eo: "at.eo"; ep: "at.ep"; eq: "at.eq"; er: "at.er"; es: "at.es"; et: "at.et"; eu: "at.eu"; ev: "at.ev"; ew: "at.ew"; ex: "at.ex"; ey: "at.ey"; ez: "at.ez"; fa: "at.fa"; fb: "at.fb"; fc: "at.fc"; fd: "at.fd"; fe: "at.fe"; ff: "at.ff"; fg: "at.fg"; fh: "at.fh"; fi: "at.fi"; fj: "at.fj"; fk: "at.fk"; fl: "at.fl"; fm: "at.fm"; fn: "at.fn"; fo: "at.fo"; fp: "at.fp"; fq: "at.fq"; fr: "at.fr"; fs: "at.fs"; ft: "at.ft"; fu: "at.fu"; fv: "at.fv"; fw: "at.fw"; fx: "at.fx"; fy: "at.fy"; fz: "at.fz"; ga: "at.ga"; gb: "at.gb"; gc: "at.gc"; gd: "at.gd"; ge: "at.ge"; gf: "at.gf"; gg: "at.gg"; gh: "at.gh"; gi: "at.gi"; gj: "at.gj"; gk: "at.gk"; gl: "at.gl"; gm: "at.gm"; gn: "at.gn"; go: "at.go"; gp: "at.gp"; gq: "at.gq"; gr: "at.gr"; gs: "at.gs"; gt: "at.gt"; gu: "at.gu"; gv: "at.gv"; gw: "at.gw"; gx: "at.gx"; gy: "at.gy"; gz: "at.gz"; ha: "at.ha"; hb: "at.hb"; hc: "at.hc"; hd: "at.hd"; he: "at.he"; hf: "at.hf"; hg: "at.hg"; hh: "at.hh"; hi: "at.hi"; hj: "at.hj"; hk: "at.hk"; hl: "at.hl"; hm: "at.hm"; hn: "at.hn"; ho: "at.ho"; hp: "at.hp"; hq: "at.hq"; hr: "at.hr"; hs: "at.hs"; ht: "at.ht"; hu: "at.hu"; hv: "at.hv"; hw: "at.hw"; hx: "at.hx"; hy: "at.hy"; hz: "at.hz"; ia: "at.ia"; ib: "at.ib"; ic: "at.ic"; id: "at.id"; ie: "at.ie"; if: "at.if"; ig: "at.ig"; ih: "at.ih"; ii: "at.ii"; ij: "at.ij"; ik: "at.ik"; il: "at.il"; im: "at.im"; in: "at.in"; io: "at.io"; ip: "at.ip"; iq: "at.iq"; ir: "at.ir"; is: "at.is"; it: "at.it"; iu: "at.iu"; iv: "at.iv"; iw: "at.iw"; ix: "at.ix"; iy: "at.iy"; iz: "at.iz"; ja: "at.ja"; jb: "at.jb"; jc: "at.jc"; jd: "at.jd"; je: "at.je"; jf: "at.jf"; jg: "at.jg"; jh: "at.jh"; ji: "at.ji"; jj: "at.jj"; jk: "at.jk"; jl: "at.jl"; jm: "at.jm"; jn: "at.jn"; jo: "at.jo"; jp: "at.jp"; jq: "at.jq"; jr: "at.jr"; js: "at.js"; jt: "at.jt"; ju: "at.ju"; jv: "at.jv"; jw: "at.jw"; jx: "at.jx"; jy: "at.jy"; jz: "at.jz"; ka: "at.ka"; kb: "at.kb"; kc: "at.kc"; kd: "at.kd"; ke: "at.ke"; kf: "at.kf"; kg: "at.kg"; kh: "at.kh"; ki: "at.ki"; kj: "at.kj"; kk: "at.kk"; kl: "at.kl"; km: "at.km"; kn: "at.kn"; ko: "at.ko"; kp: "at.kp"; kq: "at.kq"; kr: "at.kr"; ks: "at.ks"; kt: "at.kt"; ku: "at.ku"; kv: "at.kv"; kw: "at.kw"; kx: "at.kx"; ky: "at.ky"; kz: "at.kz"; la: "at.la"; lb: "at.lb"; lc: "at.lc"; ld: "at.ld"; le: "at.le"; lf: "at.lf"; lg: "at.lg"; lh: "at.lh"; li: "at.li"; lj: "at.lj"; lk: "at.lk"; ll: "at.ll"; lm: "at.lm"; ln: "at.ln"; lo: "at.lo"; lp: "at.lp"; lq: "at.lq"; lr: "at.lr"; ls: "at.ls"; lt: "at.lt"; lu: "at.lu"; lv: "at.lv"; lw: "at.lw"; lx: "at.lx"; ly: "at.ly"; lz: "at.lz"; ma: "at.ma"; mb: "at.mb"; mc: "at.mc"; md: "at.md"; me: "at.me"; mf: "at.mf"; mg: "at.mg"; mh: "at.mh"; mi: "at.mi"; mj: "at.mj"; mk: "at.mk"; ml: "at.ml"; mm: "at.mm"; mn: "at.mn"; mo: "at.mo"; mp: "at.mp"; mq: "at.mq"; mr: "at.mr"; ms: "at.ms"; mt: "at.mt"; mu: "at.mu"; mv: "at.mv"; mw: "at.mw"; mx: "at.mx"; my: "at.my"; mz: "at.mz"; na: "at.na"; nb: "at.nb"; nc: "at.nc"; nd: "at.nd"; ne: "at.ne"; nf: "at.nf"; ng: "at.ng"; nh: "at.nh"; ni: "at.ni"; nj: "at.nj"; nk: "at.nk"; nl: "at.nl"; nm: "at.nm"; nn: "at.nn"; no: "at.no"; np: "at.np"; nq: "at.nq"; nr: "at.nr"; ns: "at.ns"; nt: "at.nt"; nu: "at.nu"; nv: "at.nv"; nw: "at.nw"; nx: "at.nx"; ny: "at.ny"; nz: "at.nz"; oa: "at.oa"; ob: "at.ob"; oc: "at.oc"; od: "at.od"; oe: "at.oe"; of: "at.of"; og: "at.og"; oh: "at.oh"; oi: "at.oi"; oj: "at.oj"; ok: "at.ok"; ol: "at.ol"; om: "at.om"; on: "at.on"; oo: "at.oo"; op: "at.op"; oq: "at.oq"; or: "at.or"; os: "at.os"; ot: "at.ot"; ou: "at.ou"; ov: "at.ov"; ow: "at.ow"; ox: "at.ox"; oy: "at.oy"; oz: "at.oz"; pa: "at.pa"; pb: "at.pb"; pc: "at.pc"; pd: "at.pd"; pe: "at.pe"; pf: "at.pf"; pg: "at.pg"; ph: "at.ph"; pi: "at.pi"; pj: "at.pj"; pk: "at.pk"; pl: "at.pl"; pm: "at.pm"; pn: "at.pn"; po: "at.po"; pp: "at.pp"; pq: "at.pq"; pr: "at.pr"; ps: "at.ps"; pt: "at.pt"; pu: "at.pu"; pv: "at.pv"; pw: "at.pw"; px: "at.px"; py: "at.py"; pz: "at.pz"; qa: "at.qa"; qb: "at.qb"; qc: "at.qc"; qd: "at.qd"; qe: "at.qe"; qf: "at.qf"; qg: "at.qg"; qh: "at.qh"; qi: "at.qi"; qj: "at.qj"; qk: "at.qk"; ql: "at.ql"; qm: "at.qm"; qn: "at.qn"; qo: "at.qo"; qp: "at.qp"; qq: "at.qq"; qr: "at.qr"; qs: "at.qs"; qt: "at.qt"; qu: "at.qu"; qv: "at.qv"; qw: "at.qw"; qx: "at.qx"; qy: "at.qy"; qz: "at.qz"; ra: "at.ra"; rb: "at.rb"; rc: "at.rc"; rd: "at.rd"; re: "at.re"; rf: "at.rf"; rg: "at.rg"; rh: "at.rh"; ri: "at.ri"; rj: "at.rj"; rk: "at.rk"; rl: "at.rl"; rm: "at.rm"; rn: "at.rn"; ro: "at.ro"; rp: "at.rp"; rq: "at.rq"; rr: "at.rr"; rs: "at.rs"; rt: "at.rt"; ru: "at.ru"; rv: "at.rv"; rw: "at.rw"; rx: "at.rx"; ry: "at.ry"; rz: "at.rz"; sa: "at.sa"; sb: "at.sb"; sc: "at.sc"; sd: "at.sd"; se: "at.se"; sf: "at.sf"; sg: "at.sg"; sh: "at.sh"; si: "at.si"; sj: "at.sj"; sk: "at.sk"; sl: "at.sl"; sm: "at.sm"; sn: "at.sn"; so: "at.so"; sp: "at.sp"; sq: "at.sq"; sr: "at.sr"; ss: "at.ss"; st: "at.st"; su: "at.su"; sv: "at.sv"; sw: "at.sw"; sx: "at.sx"; sy: "at.sy"; sz: "at.sz"; ta: "at.ta"; tb: "at.tb"; tc: "at.tc"; td: "at.td"; te: "at.te"; tf: "at.tf"; tg: "at.tg"; th: "at.th"; ti: "at.ti"; tj: "at.tj"; tk: "at.tk"; tl: "at.tl"; tm: "at.tm"; tn: "at.tn"; to: "at.to"; tp: "at.tp"; tq: "at.tq"; tr: "at.tr"; ts: "at.ts"; tt: "at.tt"; tu: "at.tu"; tv: "at.tv"; tw: "at.tw"; tx: "at.tx"; ty: "at.ty"; tz: "at.tz"; ua: "at.ua"; ub: "at.ub"; uc: "at.uc"; ud: "at.ud"; ue: "at.ue"; uf: "at.uf"; ug: "at.ug"; uh: "at.uh"; ui: "at.ui"; uj: "at.uj"; uk: "at.uk"; ul: "at.ul"; um: "at.um"; un: "at.un"; uo: "at.uo"; up: "at.up"; uq: "at.uq"; ur: "at.ur"; us: "at.us"; ut: "at.ut"; uu: "at.uu"; uv: "at.uv"; uw: "at.uw"; ux: "at.ux"; uy: "at.uy"; uz: "at.uz"; va: "at.va"; vb: "at.vb"; vc: "at.vc"; vd: "at.vd"; ve: "at.ve"; vf: "at.vf"; vg: "at.vg"; vh: "at.vh"; vi: "at.vi"; vj: "at.vj"; vk: "at.vk"; vl: "at.vl"; vm: "at.vm"; vn: "at.vn"; vo: "at.vo"; vp: "at.vp"; vq: "at.vq"; vr: "at.vr"; vs: "at.vs"; vt: "at.vt"; vu: "at.vu"; vv: "at.vv"; vw: "at.vw"; vx: "at.vx"; vy: "at.vy"; vz: "at.vz"; wa: "at.wa"; wb: "at.wb"; wc: "at.wc"; wd: "at.wd"; we: "at.we"; wf: "at.wf"; wg: "at.wg"; wh: "at.wh"; wi: "at.wi"; wj: "at.wj"; wk: "at.wk"; wl: "at.wl"; wm: "at.wm"; wn: "at.wn"; wo: "at.wo"; wp: "at.wp"; wq: "at.wq"; wr: "at.wr"; ws: "at.ws"; wt: "at.wt"; wu: "at.wu"; wv: "at.wv"; ww: "at.ww"; wx: "at.wx"; wy: "at.wy"; wz: "at.wz"; xa: "at.xa"; xb: "at.xb"; xc: "at.xc"; xd: "at.xd"; xe: "at.xe"; xf: "at.xf"; xg: "at.xg"; xh: "at.xh"; xi: "at.xi"; xj: "at.xj"; xk: "at.xk"; xl: "at.xl"; xm: "at.xm"; xn: "at.xn"; xo: "at.xo"; xp: "at.xp"; xq: "at.xq"; xr: "at.xr"; xs: "at.xs"; xt: "at.xt"; xu: "at.xu"; xv: "at.xv"; xw: "at.xw"; xx: "at.xx"; xy: "at.xy"; xz: "at.xz"; ya: "at.ya"; yb: "at.yb"; yc: "at.yc"; yd: "at.yd"; ye: "at.ye"; yf: "at.yf"; yg: "at.yg"; yh: "at.yh"; yi: "at.yi"; yj: "at.yj"; yk: "at.yk"; yl: "at.yl"; ym: "at.ym"; yn: "at.yn"; yo: "at.yo"; yp: "at.yp"; yq: "at.yq"; yr: "at.yr"; ys: "at.ys"; yt: "at.yt"; yu: "at.yu"; yv: "at.yv"; yw: "at.yw"; yx: "at.yx"; yy: "at.yy"; yz: "at.yz"; za: "at.za"; zb: "at.zb"; zc: "at.zc"; zd: "at.zd"; ze: "at.ze"; zf: "at.zf"; zg: "at.zg"; zh: "at.zh"; zi: "at.zi"; zj: "at.zj"; zk: "at.zk"; zl: "at.zl"; zm: "at.zm"; zn: "at.zn"; zo: "at.zo"; zp: "at.zp"; zq: "at.zq"; zr: "at.zr"; zs: "at.zs"; zt: "at.zt"; zu: "at.zu"; zv: "at.zv"; zw: "at.zw"; zx: "at.zx"; zy: "at.zy"; zz: "at.zz"; }; au: { aa: "au.aa"; ab: "au.ab"; ac: "au.ac"; ad: "au.ad"; ae: "au.ae"; af: "au.af"; ag: "au.ag"; ah: "au.ah"; ai: "au.ai"; aj: "au.aj"; ak: "au.ak"; al: "au.al"; am: "au.am"; an: "au.an"; ao: "au.ao"; ap: "au.ap"; aq: "au.aq"; ar: "au.ar"; as: "au.as"; at: "au.at"; au: "au.au"; av: "au.av"; aw: "au.aw"; ax: "au.ax"; ay: "au.ay"; az: "au.az"; ba: "au.ba"; bb: "au.bb"; bc: "au.bc"; bd: "au.bd"; be: "au.be"; bf: "au.bf"; bg: "au.bg"; bh: "au.bh"; bi: "au.bi"; bj: "au.bj"; bk: "au.bk"; bl: "au.bl"; bm: "au.bm"; bn: "au.bn"; bo: "au.bo"; bp: "au.bp"; bq: "au.bq"; br: "au.br"; bs: "au.bs"; bt: "au.bt"; bu: "au.bu"; bv: "au.bv"; bw: "au.bw"; bx: "au.bx"; by: "au.by"; bz: "au.bz"; ca: "au.ca"; cb: "au.cb"; cc: "au.cc"; cd: "au.cd"; ce: "au.ce"; cf: "au.cf"; cg: "au.cg"; ch: "au.ch"; ci: "au.ci"; cj: "au.cj"; ck: "au.ck"; cl: "au.cl"; cm: "au.cm"; cn: "au.cn"; co: "au.co"; cp: "au.cp"; cq: "au.cq"; cr: "au.cr"; cs: "au.cs"; ct: "au.ct"; cu: "au.cu"; cv: "au.cv"; cw: "au.cw"; cx: "au.cx"; cy: "au.cy"; cz: "au.cz"; da: "au.da"; db: "au.db"; dc: "au.dc"; dd: "au.dd"; de: "au.de"; df: "au.df"; dg: "au.dg"; dh: "au.dh"; di: "au.di"; dj: "au.dj"; dk: "au.dk"; dl: "au.dl"; dm: "au.dm"; dn: "au.dn"; do: "au.do"; dp: "au.dp"; dq: "au.dq"; dr: "au.dr"; ds: "au.ds"; dt: "au.dt"; du: "au.du"; dv: "au.dv"; dw: "au.dw"; dx: "au.dx"; dy: "au.dy"; dz: "au.dz"; ea: "au.ea"; eb: "au.eb"; ec: "au.ec"; ed: "au.ed"; ee: "au.ee"; ef: "au.ef"; eg: "au.eg"; eh: "au.eh"; ei: "au.ei"; ej: "au.ej"; ek: "au.ek"; el: "au.el"; em: "au.em"; en: "au.en"; eo: "au.eo"; ep: "au.ep"; eq: "au.eq"; er: "au.er"; es: "au.es"; et: "au.et"; eu: "au.eu"; ev: "au.ev"; ew: "au.ew"; ex: "au.ex"; ey: "au.ey"; ez: "au.ez"; fa: "au.fa"; fb: "au.fb"; fc: "au.fc"; fd: "au.fd"; fe: "au.fe"; ff: "au.ff"; fg: "au.fg"; fh: "au.fh"; fi: "au.fi"; fj: "au.fj"; fk: "au.fk"; fl: "au.fl"; fm: "au.fm"; fn: "au.fn"; fo: "au.fo"; fp: "au.fp"; fq: "au.fq"; fr: "au.fr"; fs: "au.fs"; ft: "au.ft"; fu: "au.fu"; fv: "au.fv"; fw: "au.fw"; fx: "au.fx"; fy: "au.fy"; fz: "au.fz"; ga: "au.ga"; gb: "au.gb"; gc: "au.gc"; gd: "au.gd"; ge: "au.ge"; gf: "au.gf"; gg: "au.gg"; gh: "au.gh"; gi: "au.gi"; gj: "au.gj"; gk: "au.gk"; gl: "au.gl"; gm: "au.gm"; gn: "au.gn"; go: "au.go"; gp: "au.gp"; gq: "au.gq"; gr: "au.gr"; gs: "au.gs"; gt: "au.gt"; gu: "au.gu"; gv: "au.gv"; gw: "au.gw"; gx: "au.gx"; gy: "au.gy"; gz: "au.gz"; ha: "au.ha"; hb: "au.hb"; hc: "au.hc"; hd: "au.hd"; he: "au.he"; hf: "au.hf"; hg: "au.hg"; hh: "au.hh"; hi: "au.hi"; hj: "au.hj"; hk: "au.hk"; hl: "au.hl"; hm: "au.hm"; hn: "au.hn"; ho: "au.ho"; hp: "au.hp"; hq: "au.hq"; hr: "au.hr"; hs: "au.hs"; ht: "au.ht"; hu: "au.hu"; hv: "au.hv"; hw: "au.hw"; hx: "au.hx"; hy: "au.hy"; hz: "au.hz"; ia: "au.ia"; ib: "au.ib"; ic: "au.ic"; id: "au.id"; ie: "au.ie"; if: "au.if"; ig: "au.ig"; ih: "au.ih"; ii: "au.ii"; ij: "au.ij"; ik: "au.ik"; il: "au.il"; im: "au.im"; in: "au.in"; io: "au.io"; ip: "au.ip"; iq: "au.iq"; ir: "au.ir"; is: "au.is"; it: "au.it"; iu: "au.iu"; iv: "au.iv"; iw: "au.iw"; ix: "au.ix"; iy: "au.iy"; iz: "au.iz"; ja: "au.ja"; jb: "au.jb"; jc: "au.jc"; jd: "au.jd"; je: "au.je"; jf: "au.jf"; jg: "au.jg"; jh: "au.jh"; ji: "au.ji"; jj: "au.jj"; jk: "au.jk"; jl: "au.jl"; jm: "au.jm"; jn: "au.jn"; jo: "au.jo"; jp: "au.jp"; jq: "au.jq"; jr: "au.jr"; js: "au.js"; jt: "au.jt"; ju: "au.ju"; jv: "au.jv"; jw: "au.jw"; jx: "au.jx"; jy: "au.jy"; jz: "au.jz"; ka: "au.ka"; kb: "au.kb"; kc: "au.kc"; kd: "au.kd"; ke: "au.ke"; kf: "au.kf"; kg: "au.kg"; kh: "au.kh"; ki: "au.ki"; kj: "au.kj"; kk: "au.kk"; kl: "au.kl"; km: "au.km"; kn: "au.kn"; ko: "au.ko"; kp: "au.kp"; kq: "au.kq"; kr: "au.kr"; ks: "au.ks"; kt: "au.kt"; ku: "au.ku"; kv: "au.kv"; kw: "au.kw"; kx: "au.kx"; ky: "au.ky"; kz: "au.kz"; la: "au.la"; lb: "au.lb"; lc: "au.lc"; ld: "au.ld"; le: "au.le"; lf: "au.lf"; lg: "au.lg"; lh: "au.lh"; li: "au.li"; lj: "au.lj"; lk: "au.lk"; ll: "au.ll"; lm: "au.lm"; ln: "au.ln"; lo: "au.lo"; lp: "au.lp"; lq: "au.lq"; lr: "au.lr"; ls: "au.ls"; lt: "au.lt"; lu: "au.lu"; lv: "au.lv"; lw: "au.lw"; lx: "au.lx"; ly: "au.ly"; lz: "au.lz"; ma: "au.ma"; mb: "au.mb"; mc: "au.mc"; md: "au.md"; me: "au.me"; mf: "au.mf"; mg: "au.mg"; mh: "au.mh"; mi: "au.mi"; mj: "au.mj"; mk: "au.mk"; ml: "au.ml"; mm: "au.mm"; mn: "au.mn"; mo: "au.mo"; mp: "au.mp"; mq: "au.mq"; mr: "au.mr"; ms: "au.ms"; mt: "au.mt"; mu: "au.mu"; mv: "au.mv"; mw: "au.mw"; mx: "au.mx"; my: "au.my"; mz: "au.mz"; na: "au.na"; nb: "au.nb"; nc: "au.nc"; nd: "au.nd"; ne: "au.ne"; nf: "au.nf"; ng: "au.ng"; nh: "au.nh"; ni: "au.ni"; nj: "au.nj"; nk: "au.nk"; nl: "au.nl"; nm: "au.nm"; nn: "au.nn"; no: "au.no"; np: "au.np"; nq: "au.nq"; nr: "au.nr"; ns: "au.ns"; nt: "au.nt"; nu: "au.nu"; nv: "au.nv"; nw: "au.nw"; nx: "au.nx"; ny: "au.ny"; nz: "au.nz"; oa: "au.oa"; ob: "au.ob"; oc: "au.oc"; od: "au.od"; oe: "au.oe"; of: "au.of"; og: "au.og"; oh: "au.oh"; oi: "au.oi"; oj: "au.oj"; ok: "au.ok"; ol: "au.ol"; om: "au.om"; on: "au.on"; oo: "au.oo"; op: "au.op"; oq: "au.oq"; or: "au.or"; os: "au.os"; ot: "au.ot"; ou: "au.ou"; ov: "au.ov"; ow: "au.ow"; ox: "au.ox"; oy: "au.oy"; oz: "au.oz"; pa: "au.pa"; pb: "au.pb"; pc: "au.pc"; pd: "au.pd"; pe: "au.pe"; pf: "au.pf"; pg: "au.pg"; ph: "au.ph"; pi: "au.pi"; pj: "au.pj"; pk: "au.pk"; pl: "au.pl"; pm: "au.pm"; pn: "au.pn"; po: "au.po"; pp: "au.pp"; pq: "au.pq"; pr: "au.pr"; ps: "au.ps"; pt: "au.pt"; pu: "au.pu"; pv: "au.pv"; pw: "au.pw"; px: "au.px"; py: "au.py"; pz: "au.pz"; qa: "au.qa"; qb: "au.qb"; qc: "au.qc"; qd: "au.qd"; qe: "au.qe"; qf: "au.qf"; qg: "au.qg"; qh: "au.qh"; qi: "au.qi"; qj: "au.qj"; qk: "au.qk"; ql: "au.ql"; qm: "au.qm"; qn: "au.qn"; qo: "au.qo"; qp: "au.qp"; qq: "au.qq"; qr: "au.qr"; qs: "au.qs"; qt: "au.qt"; qu: "au.qu"; qv: "au.qv"; qw: "au.qw"; qx: "au.qx"; qy: "au.qy"; qz: "au.qz"; ra: "au.ra"; rb: "au.rb"; rc: "au.rc"; rd: "au.rd"; re: "au.re"; rf: "au.rf"; rg: "au.rg"; rh: "au.rh"; ri: "au.ri"; rj: "au.rj"; rk: "au.rk"; rl: "au.rl"; rm: "au.rm"; rn: "au.rn"; ro: "au.ro"; rp: "au.rp"; rq: "au.rq"; rr: "au.rr"; rs: "au.rs"; rt: "au.rt"; ru: "au.ru"; rv: "au.rv"; rw: "au.rw"; rx: "au.rx"; ry: "au.ry"; rz: "au.rz"; sa: "au.sa"; sb: "au.sb"; sc: "au.sc"; sd: "au.sd"; se: "au.se"; sf: "au.sf"; sg: "au.sg"; sh: "au.sh"; si: "au.si"; sj: "au.sj"; sk: "au.sk"; sl: "au.sl"; sm: "au.sm"; sn: "au.sn"; so: "au.so"; sp: "au.sp"; sq: "au.sq"; sr: "au.sr"; ss: "au.ss"; st: "au.st"; su: "au.su"; sv: "au.sv"; sw: "au.sw"; sx: "au.sx"; sy: "au.sy"; sz: "au.sz"; ta: "au.ta"; tb: "au.tb"; tc: "au.tc"; td: "au.td"; te: "au.te"; tf: "au.tf"; tg: "au.tg"; th: "au.th"; ti: "au.ti"; tj: "au.tj"; tk: "au.tk"; tl: "au.tl"; tm: "au.tm"; tn: "au.tn"; to: "au.to"; tp: "au.tp"; tq: "au.tq"; tr: "au.tr"; ts: "au.ts"; tt: "au.tt"; tu: "au.tu"; tv: "au.tv"; tw: "au.tw"; tx: "au.tx"; ty: "au.ty"; tz: "au.tz"; ua: "au.ua"; ub: "au.ub"; uc: "au.uc"; ud: "au.ud"; ue: "au.ue"; uf: "au.uf"; ug: "au.ug"; uh: "au.uh"; ui: "au.ui"; uj: "au.uj"; uk: "au.uk"; ul: "au.ul"; um: "au.um"; un: "au.un"; uo: "au.uo"; up: "au.up"; uq: "au.uq"; ur: "au.ur"; us: "au.us"; ut: "au.ut"; uu: "au.uu"; uv: "au.uv"; uw: "au.uw"; ux: "au.ux"; uy: "au.uy"; uz: "au.uz"; va: "au.va"; vb: "au.vb"; vc: "au.vc"; vd: "au.vd"; ve: "au.ve"; vf: "au.vf"; vg: "au.vg"; vh: "au.vh"; vi: "au.vi"; vj: "au.vj"; vk: "au.vk"; vl: "au.vl"; vm: "au.vm"; vn: "au.vn"; vo: "au.vo"; vp: "au.vp"; vq: "au.vq"; vr: "au.vr"; vs: "au.vs"; vt: "au.vt"; vu: "au.vu"; vv: "au.vv"; vw: "au.vw"; vx: "au.vx"; vy: "au.vy"; vz: "au.vz"; wa: "au.wa"; wb: "au.wb"; wc: "au.wc"; wd: "au.wd"; we: "au.we"; wf: "au.wf"; wg: "au.wg"; wh: "au.wh"; wi: "au.wi"; wj: "au.wj"; wk: "au.wk"; wl: "au.wl"; wm: "au.wm"; wn: "au.wn"; wo: "au.wo"; wp: "au.wp"; wq: "au.wq"; wr: "au.wr"; ws: "au.ws"; wt: "au.wt"; wu: "au.wu"; wv: "au.wv"; ww: "au.ww"; wx: "au.wx"; wy: "au.wy"; wz: "au.wz"; xa: "au.xa"; xb: "au.xb"; xc: "au.xc"; xd: "au.xd"; xe: "au.xe"; xf: "au.xf"; xg: "au.xg"; xh: "au.xh"; xi: "au.xi"; xj: "au.xj"; xk: "au.xk"; xl: "au.xl"; xm: "au.xm"; xn: "au.xn"; xo: "au.xo"; xp: "au.xp"; xq: "au.xq"; xr: "au.xr"; xs: "au.xs"; xt: "au.xt"; xu: "au.xu"; xv: "au.xv"; xw: "au.xw"; xx: "au.xx"; xy: "au.xy"; xz: "au.xz"; ya: "au.ya"; yb: "au.yb"; yc: "au.yc"; yd: "au.yd"; ye: "au.ye"; yf: "au.yf"; yg: "au.yg"; yh: "au.yh"; yi: "au.yi"; yj: "au.yj"; yk: "au.yk"; yl: "au.yl"; ym: "au.ym"; yn: "au.yn"; yo: "au.yo"; yp: "au.yp"; yq: "au.yq"; yr: "au.yr"; ys: "au.ys"; yt: "au.yt"; yu: "au.yu"; yv: "au.yv"; yw: "au.yw"; yx: "au.yx"; yy: "au.yy"; yz: "au.yz"; za: "au.za"; zb: "au.zb"; zc: "au.zc"; zd: "au.zd"; ze: "au.ze"; zf: "au.zf"; zg: "au.zg"; zh: "au.zh"; zi: "au.zi"; zj: "au.zj"; zk: "au.zk"; zl: "au.zl"; zm: "au.zm"; zn: "au.zn"; zo: "au.zo"; zp: "au.zp"; zq: "au.zq"; zr: "au.zr"; zs: "au.zs"; zt: "au.zt"; zu: "au.zu"; zv: "au.zv"; zw: "au.zw"; zx: "au.zx"; zy: "au.zy"; zz: "au.zz"; }; av: { aa: "av.aa"; ab: "av.ab"; ac: "av.ac"; ad: "av.ad"; ae: "av.ae"; af: "av.af"; ag: "av.ag"; ah: "av.ah"; ai: "av.ai"; aj: "av.aj"; ak: "av.ak"; al: "av.al"; am: "av.am"; an: "av.an"; ao: "av.ao"; ap: "av.ap"; aq: "av.aq"; ar: "av.ar"; as: "av.as"; at: "av.at"; au: "av.au"; av: "av.av"; aw: "av.aw"; ax: "av.ax"; ay: "av.ay"; az: "av.az"; ba: "av.ba"; bb: "av.bb"; bc: "av.bc"; bd: "av.bd"; be: "av.be"; bf: "av.bf"; bg: "av.bg"; bh: "av.bh"; bi: "av.bi"; bj: "av.bj"; bk: "av.bk"; bl: "av.bl"; bm: "av.bm"; bn: "av.bn"; bo: "av.bo"; bp: "av.bp"; bq: "av.bq"; br: "av.br"; bs: "av.bs"; bt: "av.bt"; bu: "av.bu"; bv: "av.bv"; bw: "av.bw"; bx: "av.bx"; by: "av.by"; bz: "av.bz"; ca: "av.ca"; cb: "av.cb"; cc: "av.cc"; cd: "av.cd"; ce: "av.ce"; cf: "av.cf"; cg: "av.cg"; ch: "av.ch"; ci: "av.ci"; cj: "av.cj"; ck: "av.ck"; cl: "av.cl"; cm: "av.cm"; cn: "av.cn"; co: "av.co"; cp: "av.cp"; cq: "av.cq"; cr: "av.cr"; cs: "av.cs"; ct: "av.ct"; cu: "av.cu"; cv: "av.cv"; cw: "av.cw"; cx: "av.cx"; cy: "av.cy"; cz: "av.cz"; da: "av.da"; db: "av.db"; dc: "av.dc"; dd: "av.dd"; de: "av.de"; df: "av.df"; dg: "av.dg"; dh: "av.dh"; di: "av.di"; dj: "av.dj"; dk: "av.dk"; dl: "av.dl"; dm: "av.dm"; dn: "av.dn"; do: "av.do"; dp: "av.dp"; dq: "av.dq"; dr: "av.dr"; ds: "av.ds"; dt: "av.dt"; du: "av.du"; dv: "av.dv"; dw: "av.dw"; dx: "av.dx"; dy: "av.dy"; dz: "av.dz"; ea: "av.ea"; eb: "av.eb"; ec: "av.ec"; ed: "av.ed"; ee: "av.ee"; ef: "av.ef"; eg: "av.eg"; eh: "av.eh"; ei: "av.ei"; ej: "av.ej"; ek: "av.ek"; el: "av.el"; em: "av.em"; en: "av.en"; eo: "av.eo"; ep: "av.ep"; eq: "av.eq"; er: "av.er"; es: "av.es"; et: "av.et"; eu: "av.eu"; ev: "av.ev"; ew: "av.ew"; ex: "av.ex"; ey: "av.ey"; ez: "av.ez"; fa: "av.fa"; fb: "av.fb"; fc: "av.fc"; fd: "av.fd"; fe: "av.fe"; ff: "av.ff"; fg: "av.fg"; fh: "av.fh"; fi: "av.fi"; fj: "av.fj"; fk: "av.fk"; fl: "av.fl"; fm: "av.fm"; fn: "av.fn"; fo: "av.fo"; fp: "av.fp"; fq: "av.fq"; fr: "av.fr"; fs: "av.fs"; ft: "av.ft"; fu: "av.fu"; fv: "av.fv"; fw: "av.fw"; fx: "av.fx"; fy: "av.fy"; fz: "av.fz"; ga: "av.ga"; gb: "av.gb"; gc: "av.gc"; gd: "av.gd"; ge: "av.ge"; gf: "av.gf"; gg: "av.gg"; gh: "av.gh"; gi: "av.gi"; gj: "av.gj"; gk: "av.gk"; gl: "av.gl"; gm: "av.gm"; gn: "av.gn"; go: "av.go"; gp: "av.gp"; gq: "av.gq"; gr: "av.gr"; gs: "av.gs"; gt: "av.gt"; gu: "av.gu"; gv: "av.gv"; gw: "av.gw"; gx: "av.gx"; gy: "av.gy"; gz: "av.gz"; ha: "av.ha"; hb: "av.hb"; hc: "av.hc"; hd: "av.hd"; he: "av.he"; hf: "av.hf"; hg: "av.hg"; hh: "av.hh"; hi: "av.hi"; hj: "av.hj"; hk: "av.hk"; hl: "av.hl"; hm: "av.hm"; hn: "av.hn"; ho: "av.ho"; hp: "av.hp"; hq: "av.hq"; hr: "av.hr"; hs: "av.hs"; ht: "av.ht"; hu: "av.hu"; hv: "av.hv"; hw: "av.hw"; hx: "av.hx"; hy: "av.hy"; hz: "av.hz"; ia: "av.ia"; ib: "av.ib"; ic: "av.ic"; id: "av.id"; ie: "av.ie"; if: "av.if"; ig: "av.ig"; ih: "av.ih"; ii: "av.ii"; ij: "av.ij"; ik: "av.ik"; il: "av.il"; im: "av.im"; in: "av.in"; io: "av.io"; ip: "av.ip"; iq: "av.iq"; ir: "av.ir"; is: "av.is"; it: "av.it"; iu: "av.iu"; iv: "av.iv"; iw: "av.iw"; ix: "av.ix"; iy: "av.iy"; iz: "av.iz"; ja: "av.ja"; jb: "av.jb"; jc: "av.jc"; jd: "av.jd"; je: "av.je"; jf: "av.jf"; jg: "av.jg"; jh: "av.jh"; ji: "av.ji"; jj: "av.jj"; jk: "av.jk"; jl: "av.jl"; jm: "av.jm"; jn: "av.jn"; jo: "av.jo"; jp: "av.jp"; jq: "av.jq"; jr: "av.jr"; js: "av.js"; jt: "av.jt"; ju: "av.ju"; jv: "av.jv"; jw: "av.jw"; jx: "av.jx"; jy: "av.jy"; jz: "av.jz"; ka: "av.ka"; kb: "av.kb"; kc: "av.kc"; kd: "av.kd"; ke: "av.ke"; kf: "av.kf"; kg: "av.kg"; kh: "av.kh"; ki: "av.ki"; kj: "av.kj"; kk: "av.kk"; kl: "av.kl"; km: "av.km"; kn: "av.kn"; ko: "av.ko"; kp: "av.kp"; kq: "av.kq"; kr: "av.kr"; ks: "av.ks"; kt: "av.kt"; ku: "av.ku"; kv: "av.kv"; kw: "av.kw"; kx: "av.kx"; ky: "av.ky"; kz: "av.kz"; la: "av.la"; lb: "av.lb"; lc: "av.lc"; ld: "av.ld"; le: "av.le"; lf: "av.lf"; lg: "av.lg"; lh: "av.lh"; li: "av.li"; lj: "av.lj"; lk: "av.lk"; ll: "av.ll"; lm: "av.lm"; ln: "av.ln"; lo: "av.lo"; lp: "av.lp"; lq: "av.lq"; lr: "av.lr"; ls: "av.ls"; lt: "av.lt"; lu: "av.lu"; lv: "av.lv"; lw: "av.lw"; lx: "av.lx"; ly: "av.ly"; lz: "av.lz"; ma: "av.ma"; mb: "av.mb"; mc: "av.mc"; md: "av.md"; me: "av.me"; mf: "av.mf"; mg: "av.mg"; mh: "av.mh"; mi: "av.mi"; mj: "av.mj"; mk: "av.mk"; ml: "av.ml"; mm: "av.mm"; mn: "av.mn"; mo: "av.mo"; mp: "av.mp"; mq: "av.mq"; mr: "av.mr"; ms: "av.ms"; mt: "av.mt"; mu: "av.mu"; mv: "av.mv"; mw: "av.mw"; mx: "av.mx"; my: "av.my"; mz: "av.mz"; na: "av.na"; nb: "av.nb"; nc: "av.nc"; nd: "av.nd"; ne: "av.ne"; nf: "av.nf"; ng: "av.ng"; nh: "av.nh"; ni: "av.ni"; nj: "av.nj"; nk: "av.nk"; nl: "av.nl"; nm: "av.nm"; nn: "av.nn"; no: "av.no"; np: "av.np"; nq: "av.nq"; nr: "av.nr"; ns: "av.ns"; nt: "av.nt"; nu: "av.nu"; nv: "av.nv"; nw: "av.nw"; nx: "av.nx"; ny: "av.ny"; nz: "av.nz"; oa: "av.oa"; ob: "av.ob"; oc: "av.oc"; od: "av.od"; oe: "av.oe"; of: "av.of"; og: "av.og"; oh: "av.oh"; oi: "av.oi"; oj: "av.oj"; ok: "av.ok"; ol: "av.ol"; om: "av.om"; on: "av.on"; oo: "av.oo"; op: "av.op"; oq: "av.oq"; or: "av.or"; os: "av.os"; ot: "av.ot"; ou: "av.ou"; ov: "av.ov"; ow: "av.ow"; ox: "av.ox"; oy: "av.oy"; oz: "av.oz"; pa: "av.pa"; pb: "av.pb"; pc: "av.pc"; pd: "av.pd"; pe: "av.pe"; pf: "av.pf"; pg: "av.pg"; ph: "av.ph"; pi: "av.pi"; pj: "av.pj"; pk: "av.pk"; pl: "av.pl"; pm: "av.pm"; pn: "av.pn"; po: "av.po"; pp: "av.pp"; pq: "av.pq"; pr: "av.pr"; ps: "av.ps"; pt: "av.pt"; pu: "av.pu"; pv: "av.pv"; pw: "av.pw"; px: "av.px"; py: "av.py"; pz: "av.pz"; qa: "av.qa"; qb: "av.qb"; qc: "av.qc"; qd: "av.qd"; qe: "av.qe"; qf: "av.qf"; qg: "av.qg"; qh: "av.qh"; qi: "av.qi"; qj: "av.qj"; qk: "av.qk"; ql: "av.ql"; qm: "av.qm"; qn: "av.qn"; qo: "av.qo"; qp: "av.qp"; qq: "av.qq"; qr: "av.qr"; qs: "av.qs"; qt: "av.qt"; qu: "av.qu"; qv: "av.qv"; qw: "av.qw"; qx: "av.qx"; qy: "av.qy"; qz: "av.qz"; ra: "av.ra"; rb: "av.rb"; rc: "av.rc"; rd: "av.rd"; re: "av.re"; rf: "av.rf"; rg: "av.rg"; rh: "av.rh"; ri: "av.ri"; rj: "av.rj"; rk: "av.rk"; rl: "av.rl"; rm: "av.rm"; rn: "av.rn"; ro: "av.ro"; rp: "av.rp"; rq: "av.rq"; rr: "av.rr"; rs: "av.rs"; rt: "av.rt"; ru: "av.ru"; rv: "av.rv"; rw: "av.rw"; rx: "av.rx"; ry: "av.ry"; rz: "av.rz"; sa: "av.sa"; sb: "av.sb"; sc: "av.sc"; sd: "av.sd"; se: "av.se"; sf: "av.sf"; sg: "av.sg"; sh: "av.sh"; si: "av.si"; sj: "av.sj"; sk: "av.sk"; sl: "av.sl"; sm: "av.sm"; sn: "av.sn"; so: "av.so"; sp: "av.sp"; sq: "av.sq"; sr: "av.sr"; ss: "av.ss"; st: "av.st"; su: "av.su"; sv: "av.sv"; sw: "av.sw"; sx: "av.sx"; sy: "av.sy"; sz: "av.sz"; ta: "av.ta"; tb: "av.tb"; tc: "av.tc"; td: "av.td"; te: "av.te"; tf: "av.tf"; tg: "av.tg"; th: "av.th"; ti: "av.ti"; tj: "av.tj"; tk: "av.tk"; tl: "av.tl"; tm: "av.tm"; tn: "av.tn"; to: "av.to"; tp: "av.tp"; tq: "av.tq"; tr: "av.tr"; ts: "av.ts"; tt: "av.tt"; tu: "av.tu"; tv: "av.tv"; tw: "av.tw"; tx: "av.tx"; ty: "av.ty"; tz: "av.tz"; ua: "av.ua"; ub: "av.ub"; uc: "av.uc"; ud: "av.ud"; ue: "av.ue"; uf: "av.uf"; ug: "av.ug"; uh: "av.uh"; ui: "av.ui"; uj: "av.uj"; uk: "av.uk"; ul: "av.ul"; um: "av.um"; un: "av.un"; uo: "av.uo"; up: "av.up"; uq: "av.uq"; ur: "av.ur"; us: "av.us"; ut: "av.ut"; uu: "av.uu"; uv: "av.uv"; uw: "av.uw"; ux: "av.ux"; uy: "av.uy"; uz: "av.uz"; va: "av.va"; vb: "av.vb"; vc: "av.vc"; vd: "av.vd"; ve: "av.ve"; vf: "av.vf"; vg: "av.vg"; vh: "av.vh"; vi: "av.vi"; vj: "av.vj"; vk: "av.vk"; vl: "av.vl"; vm: "av.vm"; vn: "av.vn"; vo: "av.vo"; vp: "av.vp"; vq: "av.vq"; vr: "av.vr"; vs: "av.vs"; vt: "av.vt"; vu: "av.vu"; vv: "av.vv"; vw: "av.vw"; vx: "av.vx"; vy: "av.vy"; vz: "av.vz"; wa: "av.wa"; wb: "av.wb"; wc: "av.wc"; wd: "av.wd"; we: "av.we"; wf: "av.wf"; wg: "av.wg"; wh: "av.wh"; wi: "av.wi"; wj: "av.wj"; wk: "av.wk"; wl: "av.wl"; wm: "av.wm"; wn: "av.wn"; wo: "av.wo"; wp: "av.wp"; wq: "av.wq"; wr: "av.wr"; ws: "av.ws"; wt: "av.wt"; wu: "av.wu"; wv: "av.wv"; ww: "av.ww"; wx: "av.wx"; wy: "av.wy"; wz: "av.wz"; xa: "av.xa"; xb: "av.xb"; xc: "av.xc"; xd: "av.xd"; xe: "av.xe"; xf: "av.xf"; xg: "av.xg"; xh: "av.xh"; xi: "av.xi"; xj: "av.xj"; xk: "av.xk"; xl: "av.xl"; xm: "av.xm"; xn: "av.xn"; xo: "av.xo"; xp: "av.xp"; xq: "av.xq"; xr: "av.xr"; xs: "av.xs"; xt: "av.xt"; xu: "av.xu"; xv: "av.xv"; xw: "av.xw"; xx: "av.xx"; xy: "av.xy"; xz: "av.xz"; ya: "av.ya"; yb: "av.yb"; yc: "av.yc"; yd: "av.yd"; ye: "av.ye"; yf: "av.yf"; yg: "av.yg"; yh: "av.yh"; yi: "av.yi"; yj: "av.yj"; yk: "av.yk"; yl: "av.yl"; ym: "av.ym"; yn: "av.yn"; yo: "av.yo"; yp: "av.yp"; yq: "av.yq"; yr: "av.yr"; ys: "av.ys"; yt: "av.yt"; yu: "av.yu"; yv: "av.yv"; yw: "av.yw"; yx: "av.yx"; yy: "av.yy"; yz: "av.yz"; za: "av.za"; zb: "av.zb"; zc: "av.zc"; zd: "av.zd"; ze: "av.ze"; zf: "av.zf"; zg: "av.zg"; zh: "av.zh"; zi: "av.zi"; zj: "av.zj"; zk: "av.zk"; zl: "av.zl"; zm: "av.zm"; zn: "av.zn"; zo: "av.zo"; zp: "av.zp"; zq: "av.zq"; zr: "av.zr"; zs: "av.zs"; zt: "av.zt"; zu: "av.zu"; zv: "av.zv"; zw: "av.zw"; zx: "av.zx"; zy: "av.zy"; zz: "av.zz"; }; aw: { aa: "aw.aa"; ab: "aw.ab"; ac: "aw.ac"; ad: "aw.ad"; ae: "aw.ae"; af: "aw.af"; ag: "aw.ag"; ah: "aw.ah"; ai: "aw.ai"; aj: "aw.aj"; ak: "aw.ak"; al: "aw.al"; am: "aw.am"; an: "aw.an"; ao: "aw.ao"; ap: "aw.ap"; aq: "aw.aq"; ar: "aw.ar"; as: "aw.as"; at: "aw.at"; au: "aw.au"; av: "aw.av"; aw: "aw.aw"; ax: "aw.ax"; ay: "aw.ay"; az: "aw.az"; ba: "aw.ba"; bb: "aw.bb"; bc: "aw.bc"; bd: "aw.bd"; be: "aw.be"; bf: "aw.bf"; bg: "aw.bg"; bh: "aw.bh"; bi: "aw.bi"; bj: "aw.bj"; bk: "aw.bk"; bl: "aw.bl"; bm: "aw.bm"; bn: "aw.bn"; bo: "aw.bo"; bp: "aw.bp"; bq: "aw.bq"; br: "aw.br"; bs: "aw.bs"; bt: "aw.bt"; bu: "aw.bu"; bv: "aw.bv"; bw: "aw.bw"; bx: "aw.bx"; by: "aw.by"; bz: "aw.bz"; ca: "aw.ca"; cb: "aw.cb"; cc: "aw.cc"; cd: "aw.cd"; ce: "aw.ce"; cf: "aw.cf"; cg: "aw.cg"; ch: "aw.ch"; ci: "aw.ci"; cj: "aw.cj"; ck: "aw.ck"; cl: "aw.cl"; cm: "aw.cm"; cn: "aw.cn"; co: "aw.co"; cp: "aw.cp"; cq: "aw.cq"; cr: "aw.cr"; cs: "aw.cs"; ct: "aw.ct"; cu: "aw.cu"; cv: "aw.cv"; cw: "aw.cw"; cx: "aw.cx"; cy: "aw.cy"; cz: "aw.cz"; da: "aw.da"; db: "aw.db"; dc: "aw.dc"; dd: "aw.dd"; de: "aw.de"; df: "aw.df"; dg: "aw.dg"; dh: "aw.dh"; di: "aw.di"; dj: "aw.dj"; dk: "aw.dk"; dl: "aw.dl"; dm: "aw.dm"; dn: "aw.dn"; do: "aw.do"; dp: "aw.dp"; dq: "aw.dq"; dr: "aw.dr"; ds: "aw.ds"; dt: "aw.dt"; du: "aw.du"; dv: "aw.dv"; dw: "aw.dw"; dx: "aw.dx"; dy: "aw.dy"; dz: "aw.dz"; ea: "aw.ea"; eb: "aw.eb"; ec: "aw.ec"; ed: "aw.ed"; ee: "aw.ee"; ef: "aw.ef"; eg: "aw.eg"; eh: "aw.eh"; ei: "aw.ei"; ej: "aw.ej"; ek: "aw.ek"; el: "aw.el"; em: "aw.em"; en: "aw.en"; eo: "aw.eo"; ep: "aw.ep"; eq: "aw.eq"; er: "aw.er"; es: "aw.es"; et: "aw.et"; eu: "aw.eu"; ev: "aw.ev"; ew: "aw.ew"; ex: "aw.ex"; ey: "aw.ey"; ez: "aw.ez"; fa: "aw.fa"; fb: "aw.fb"; fc: "aw.fc"; fd: "aw.fd"; fe: "aw.fe"; ff: "aw.ff"; fg: "aw.fg"; fh: "aw.fh"; fi: "aw.fi"; fj: "aw.fj"; fk: "aw.fk"; fl: "aw.fl"; fm: "aw.fm"; fn: "aw.fn"; fo: "aw.fo"; fp: "aw.fp"; fq: "aw.fq"; fr: "aw.fr"; fs: "aw.fs"; ft: "aw.ft"; fu: "aw.fu"; fv: "aw.fv"; fw: "aw.fw"; fx: "aw.fx"; fy: "aw.fy"; fz: "aw.fz"; ga: "aw.ga"; gb: "aw.gb"; gc: "aw.gc"; gd: "aw.gd"; ge: "aw.ge"; gf: "aw.gf"; gg: "aw.gg"; gh: "aw.gh"; gi: "aw.gi"; gj: "aw.gj"; gk: "aw.gk"; gl: "aw.gl"; gm: "aw.gm"; gn: "aw.gn"; go: "aw.go"; gp: "aw.gp"; gq: "aw.gq"; gr: "aw.gr"; gs: "aw.gs"; gt: "aw.gt"; gu: "aw.gu"; gv: "aw.gv"; gw: "aw.gw"; gx: "aw.gx"; gy: "aw.gy"; gz: "aw.gz"; ha: "aw.ha"; hb: "aw.hb"; hc: "aw.hc"; hd: "aw.hd"; he: "aw.he"; hf: "aw.hf"; hg: "aw.hg"; hh: "aw.hh"; hi: "aw.hi"; hj: "aw.hj"; hk: "aw.hk"; hl: "aw.hl"; hm: "aw.hm"; hn: "aw.hn"; ho: "aw.ho"; hp: "aw.hp"; hq: "aw.hq"; hr: "aw.hr"; hs: "aw.hs"; ht: "aw.ht"; hu: "aw.hu"; hv: "aw.hv"; hw: "aw.hw"; hx: "aw.hx"; hy: "aw.hy"; hz: "aw.hz"; ia: "aw.ia"; ib: "aw.ib"; ic: "aw.ic"; id: "aw.id"; ie: "aw.ie"; if: "aw.if"; ig: "aw.ig"; ih: "aw.ih"; ii: "aw.ii"; ij: "aw.ij"; ik: "aw.ik"; il: "aw.il"; im: "aw.im"; in: "aw.in"; io: "aw.io"; ip: "aw.ip"; iq: "aw.iq"; ir: "aw.ir"; is: "aw.is"; it: "aw.it"; iu: "aw.iu"; iv: "aw.iv"; iw: "aw.iw"; ix: "aw.ix"; iy: "aw.iy"; iz: "aw.iz"; ja: "aw.ja"; jb: "aw.jb"; jc: "aw.jc"; jd: "aw.jd"; je: "aw.je"; jf: "aw.jf"; jg: "aw.jg"; jh: "aw.jh"; ji: "aw.ji"; jj: "aw.jj"; jk: "aw.jk"; jl: "aw.jl"; jm: "aw.jm"; jn: "aw.jn"; jo: "aw.jo"; jp: "aw.jp"; jq: "aw.jq"; jr: "aw.jr"; js: "aw.js"; jt: "aw.jt"; ju: "aw.ju"; jv: "aw.jv"; jw: "aw.jw"; jx: "aw.jx"; jy: "aw.jy"; jz: "aw.jz"; ka: "aw.ka"; kb: "aw.kb"; kc: "aw.kc"; kd: "aw.kd"; ke: "aw.ke"; kf: "aw.kf"; kg: "aw.kg"; kh: "aw.kh"; ki: "aw.ki"; kj: "aw.kj"; kk: "aw.kk"; kl: "aw.kl"; km: "aw.km"; kn: "aw.kn"; ko: "aw.ko"; kp: "aw.kp"; kq: "aw.kq"; kr: "aw.kr"; ks: "aw.ks"; kt: "aw.kt"; ku: "aw.ku"; kv: "aw.kv"; kw: "aw.kw"; kx: "aw.kx"; ky: "aw.ky"; kz: "aw.kz"; la: "aw.la"; lb: "aw.lb"; lc: "aw.lc"; ld: "aw.ld"; le: "aw.le"; lf: "aw.lf"; lg: "aw.lg"; lh: "aw.lh"; li: "aw.li"; lj: "aw.lj"; lk: "aw.lk"; ll: "aw.ll"; lm: "aw.lm"; ln: "aw.ln"; lo: "aw.lo"; lp: "aw.lp"; lq: "aw.lq"; lr: "aw.lr"; ls: "aw.ls"; lt: "aw.lt"; lu: "aw.lu"; lv: "aw.lv"; lw: "aw.lw"; lx: "aw.lx"; ly: "aw.ly"; lz: "aw.lz"; ma: "aw.ma"; mb: "aw.mb"; mc: "aw.mc"; md: "aw.md"; me: "aw.me"; mf: "aw.mf"; mg: "aw.mg"; mh: "aw.mh"; mi: "aw.mi"; mj: "aw.mj"; mk: "aw.mk"; ml: "aw.ml"; mm: "aw.mm"; mn: "aw.mn"; mo: "aw.mo"; mp: "aw.mp"; mq: "aw.mq"; mr: "aw.mr"; ms: "aw.ms"; mt: "aw.mt"; mu: "aw.mu"; mv: "aw.mv"; mw: "aw.mw"; mx: "aw.mx"; my: "aw.my"; mz: "aw.mz"; na: "aw.na"; nb: "aw.nb"; nc: "aw.nc"; nd: "aw.nd"; ne: "aw.ne"; nf: "aw.nf"; ng: "aw.ng"; nh: "aw.nh"; ni: "aw.ni"; nj: "aw.nj"; nk: "aw.nk"; nl: "aw.nl"; nm: "aw.nm"; nn: "aw.nn"; no: "aw.no"; np: "aw.np"; nq: "aw.nq"; nr: "aw.nr"; ns: "aw.ns"; nt: "aw.nt"; nu: "aw.nu"; nv: "aw.nv"; nw: "aw.nw"; nx: "aw.nx"; ny: "aw.ny"; nz: "aw.nz"; oa: "aw.oa"; ob: "aw.ob"; oc: "aw.oc"; od: "aw.od"; oe: "aw.oe"; of: "aw.of"; og: "aw.og"; oh: "aw.oh"; oi: "aw.oi"; oj: "aw.oj"; ok: "aw.ok"; ol: "aw.ol"; om: "aw.om"; on: "aw.on"; oo: "aw.oo"; op: "aw.op"; oq: "aw.oq"; or: "aw.or"; os: "aw.os"; ot: "aw.ot"; ou: "aw.ou"; ov: "aw.ov"; ow: "aw.ow"; ox: "aw.ox"; oy: "aw.oy"; oz: "aw.oz"; pa: "aw.pa"; pb: "aw.pb"; pc: "aw.pc"; pd: "aw.pd"; pe: "aw.pe"; pf: "aw.pf"; pg: "aw.pg"; ph: "aw.ph"; pi: "aw.pi"; pj: "aw.pj"; pk: "aw.pk"; pl: "aw.pl"; pm: "aw.pm"; pn: "aw.pn"; po: "aw.po"; pp: "aw.pp"; pq: "aw.pq"; pr: "aw.pr"; ps: "aw.ps"; pt: "aw.pt"; pu: "aw.pu"; pv: "aw.pv"; pw: "aw.pw"; px: "aw.px"; py: "aw.py"; pz: "aw.pz"; qa: "aw.qa"; qb: "aw.qb"; qc: "aw.qc"; qd: "aw.qd"; qe: "aw.qe"; qf: "aw.qf"; qg: "aw.qg"; qh: "aw.qh"; qi: "aw.qi"; qj: "aw.qj"; qk: "aw.qk"; ql: "aw.ql"; qm: "aw.qm"; qn: "aw.qn"; qo: "aw.qo"; qp: "aw.qp"; qq: "aw.qq"; qr: "aw.qr"; qs: "aw.qs"; qt: "aw.qt"; qu: "aw.qu"; qv: "aw.qv"; qw: "aw.qw"; qx: "aw.qx"; qy: "aw.qy"; qz: "aw.qz"; ra: "aw.ra"; rb: "aw.rb"; rc: "aw.rc"; rd: "aw.rd"; re: "aw.re"; rf: "aw.rf"; rg: "aw.rg"; rh: "aw.rh"; ri: "aw.ri"; rj: "aw.rj"; rk: "aw.rk"; rl: "aw.rl"; rm: "aw.rm"; rn: "aw.rn"; ro: "aw.ro"; rp: "aw.rp"; rq: "aw.rq"; rr: "aw.rr"; rs: "aw.rs"; rt: "aw.rt"; ru: "aw.ru"; rv: "aw.rv"; rw: "aw.rw"; rx: "aw.rx"; ry: "aw.ry"; rz: "aw.rz"; sa: "aw.sa"; sb: "aw.sb"; sc: "aw.sc"; sd: "aw.sd"; se: "aw.se"; sf: "aw.sf"; sg: "aw.sg"; sh: "aw.sh"; si: "aw.si"; sj: "aw.sj"; sk: "aw.sk"; sl: "aw.sl"; sm: "aw.sm"; sn: "aw.sn"; so: "aw.so"; sp: "aw.sp"; sq: "aw.sq"; sr: "aw.sr"; ss: "aw.ss"; st: "aw.st"; su: "aw.su"; sv: "aw.sv"; sw: "aw.sw"; sx: "aw.sx"; sy: "aw.sy"; sz: "aw.sz"; ta: "aw.ta"; tb: "aw.tb"; tc: "aw.tc"; td: "aw.td"; te: "aw.te"; tf: "aw.tf"; tg: "aw.tg"; th: "aw.th"; ti: "aw.ti"; tj: "aw.tj"; tk: "aw.tk"; tl: "aw.tl"; tm: "aw.tm"; tn: "aw.tn"; to: "aw.to"; tp: "aw.tp"; tq: "aw.tq"; tr: "aw.tr"; ts: "aw.ts"; tt: "aw.tt"; tu: "aw.tu"; tv: "aw.tv"; tw: "aw.tw"; tx: "aw.tx"; ty: "aw.ty"; tz: "aw.tz"; ua: "aw.ua"; ub: "aw.ub"; uc: "aw.uc"; ud: "aw.ud"; ue: "aw.ue"; uf: "aw.uf"; ug: "aw.ug"; uh: "aw.uh"; ui: "aw.ui"; uj: "aw.uj"; uk: "aw.uk"; ul: "aw.ul"; um: "aw.um"; un: "aw.un"; uo: "aw.uo"; up: "aw.up"; uq: "aw.uq"; ur: "aw.ur"; us: "aw.us"; ut: "aw.ut"; uu: "aw.uu"; uv: "aw.uv"; uw: "aw.uw"; ux: "aw.ux"; uy: "aw.uy"; uz: "aw.uz"; va: "aw.va"; vb: "aw.vb"; vc: "aw.vc"; vd: "aw.vd"; ve: "aw.ve"; vf: "aw.vf"; vg: "aw.vg"; vh: "aw.vh"; vi: "aw.vi"; vj: "aw.vj"; vk: "aw.vk"; vl: "aw.vl"; vm: "aw.vm"; vn: "aw.vn"; vo: "aw.vo"; vp: "aw.vp"; vq: "aw.vq"; vr: "aw.vr"; vs: "aw.vs"; vt: "aw.vt"; vu: "aw.vu"; vv: "aw.vv"; vw: "aw.vw"; vx: "aw.vx"; vy: "aw.vy"; vz: "aw.vz"; wa: "aw.wa"; wb: "aw.wb"; wc: "aw.wc"; wd: "aw.wd"; we: "aw.we"; wf: "aw.wf"; wg: "aw.wg"; wh: "aw.wh"; wi: "aw.wi"; wj: "aw.wj"; wk: "aw.wk"; wl: "aw.wl"; wm: "aw.wm"; wn: "aw.wn"; wo: "aw.wo"; wp: "aw.wp"; wq: "aw.wq"; wr: "aw.wr"; ws: "aw.ws"; wt: "aw.wt"; wu: "aw.wu"; wv: "aw.wv"; ww: "aw.ww"; wx: "aw.wx"; wy: "aw.wy"; wz: "aw.wz"; xa: "aw.xa"; xb: "aw.xb"; xc: "aw.xc"; xd: "aw.xd"; xe: "aw.xe"; xf: "aw.xf"; xg: "aw.xg"; xh: "aw.xh"; xi: "aw.xi"; xj: "aw.xj"; xk: "aw.xk"; xl: "aw.xl"; xm: "aw.xm"; xn: "aw.xn"; xo: "aw.xo"; xp: "aw.xp"; xq: "aw.xq"; xr: "aw.xr"; xs: "aw.xs"; xt: "aw.xt"; xu: "aw.xu"; xv: "aw.xv"; xw: "aw.xw"; xx: "aw.xx"; xy: "aw.xy"; xz: "aw.xz"; ya: "aw.ya"; yb: "aw.yb"; yc: "aw.yc"; yd: "aw.yd"; ye: "aw.ye"; yf: "aw.yf"; yg: "aw.yg"; yh: "aw.yh"; yi: "aw.yi"; yj: "aw.yj"; yk: "aw.yk"; yl: "aw.yl"; ym: "aw.ym"; yn: "aw.yn"; yo: "aw.yo"; yp: "aw.yp"; yq: "aw.yq"; yr: "aw.yr"; ys: "aw.ys"; yt: "aw.yt"; yu: "aw.yu"; yv: "aw.yv"; yw: "aw.yw"; yx: "aw.yx"; yy: "aw.yy"; yz: "aw.yz"; za: "aw.za"; zb: "aw.zb"; zc: "aw.zc"; zd: "aw.zd"; ze: "aw.ze"; zf: "aw.zf"; zg: "aw.zg"; zh: "aw.zh"; zi: "aw.zi"; zj: "aw.zj"; zk: "aw.zk"; zl: "aw.zl"; zm: "aw.zm"; zn: "aw.zn"; zo: "aw.zo"; zp: "aw.zp"; zq: "aw.zq"; zr: "aw.zr"; zs: "aw.zs"; zt: "aw.zt"; zu: "aw.zu"; zv: "aw.zv"; zw: "aw.zw"; zx: "aw.zx"; zy: "aw.zy"; zz: "aw.zz"; }; ax: { aa: "ax.aa"; ab: "ax.ab"; ac: "ax.ac"; ad: "ax.ad"; ae: "ax.ae"; af: "ax.af"; ag: "ax.ag"; ah: "ax.ah"; ai: "ax.ai"; aj: "ax.aj"; ak: "ax.ak"; al: "ax.al"; am: "ax.am"; an: "ax.an"; ao: "ax.ao"; ap: "ax.ap"; aq: "ax.aq"; ar: "ax.ar"; as: "ax.as"; at: "ax.at"; au: "ax.au"; av: "ax.av"; aw: "ax.aw"; ax: "ax.ax"; ay: "ax.ay"; az: "ax.az"; ba: "ax.ba"; bb: "ax.bb"; bc: "ax.bc"; bd: "ax.bd"; be: "ax.be"; bf: "ax.bf"; bg: "ax.bg"; bh: "ax.bh"; bi: "ax.bi"; bj: "ax.bj"; bk: "ax.bk"; bl: "ax.bl"; bm: "ax.bm"; bn: "ax.bn"; bo: "ax.bo"; bp: "ax.bp"; bq: "ax.bq"; br: "ax.br"; bs: "ax.bs"; bt: "ax.bt"; bu: "ax.bu"; bv: "ax.bv"; bw: "ax.bw"; bx: "ax.bx"; by: "ax.by"; bz: "ax.bz"; ca: "ax.ca"; cb: "ax.cb"; cc: "ax.cc"; cd: "ax.cd"; ce: "ax.ce"; cf: "ax.cf"; cg: "ax.cg"; ch: "ax.ch"; ci: "ax.ci"; cj: "ax.cj"; ck: "ax.ck"; cl: "ax.cl"; cm: "ax.cm"; cn: "ax.cn"; co: "ax.co"; cp: "ax.cp"; cq: "ax.cq"; cr: "ax.cr"; cs: "ax.cs"; ct: "ax.ct"; cu: "ax.cu"; cv: "ax.cv"; cw: "ax.cw"; cx: "ax.cx"; cy: "ax.cy"; cz: "ax.cz"; da: "ax.da"; db: "ax.db"; dc: "ax.dc"; dd: "ax.dd"; de: "ax.de"; df: "ax.df"; dg: "ax.dg"; dh: "ax.dh"; di: "ax.di"; dj: "ax.dj"; dk: "ax.dk"; dl: "ax.dl"; dm: "ax.dm"; dn: "ax.dn"; do: "ax.do"; dp: "ax.dp"; dq: "ax.dq"; dr: "ax.dr"; ds: "ax.ds"; dt: "ax.dt"; du: "ax.du"; dv: "ax.dv"; dw: "ax.dw"; dx: "ax.dx"; dy: "ax.dy"; dz: "ax.dz"; ea: "ax.ea"; eb: "ax.eb"; ec: "ax.ec"; ed: "ax.ed"; ee: "ax.ee"; ef: "ax.ef"; eg: "ax.eg"; eh: "ax.eh"; ei: "ax.ei"; ej: "ax.ej"; ek: "ax.ek"; el: "ax.el"; em: "ax.em"; en: "ax.en"; eo: "ax.eo"; ep: "ax.ep"; eq: "ax.eq"; er: "ax.er"; es: "ax.es"; et: "ax.et"; eu: "ax.eu"; ev: "ax.ev"; ew: "ax.ew"; ex: "ax.ex"; ey: "ax.ey"; ez: "ax.ez"; fa: "ax.fa"; fb: "ax.fb"; fc: "ax.fc"; fd: "ax.fd"; fe: "ax.fe"; ff: "ax.ff"; fg: "ax.fg"; fh: "ax.fh"; fi: "ax.fi"; fj: "ax.fj"; fk: "ax.fk"; fl: "ax.fl"; fm: "ax.fm"; fn: "ax.fn"; fo: "ax.fo"; fp: "ax.fp"; fq: "ax.fq"; fr: "ax.fr"; fs: "ax.fs"; ft: "ax.ft"; fu: "ax.fu"; fv: "ax.fv"; fw: "ax.fw"; fx: "ax.fx"; fy: "ax.fy"; fz: "ax.fz"; ga: "ax.ga"; gb: "ax.gb"; gc: "ax.gc"; gd: "ax.gd"; ge: "ax.ge"; gf: "ax.gf"; gg: "ax.gg"; gh: "ax.gh"; gi: "ax.gi"; gj: "ax.gj"; gk: "ax.gk"; gl: "ax.gl"; gm: "ax.gm"; gn: "ax.gn"; go: "ax.go"; gp: "ax.gp"; gq: "ax.gq"; gr: "ax.gr"; gs: "ax.gs"; gt: "ax.gt"; gu: "ax.gu"; gv: "ax.gv"; gw: "ax.gw"; gx: "ax.gx"; gy: "ax.gy"; gz: "ax.gz"; ha: "ax.ha"; hb: "ax.hb"; hc: "ax.hc"; hd: "ax.hd"; he: "ax.he"; hf: "ax.hf"; hg: "ax.hg"; hh: "ax.hh"; hi: "ax.hi"; hj: "ax.hj"; hk: "ax.hk"; hl: "ax.hl"; hm: "ax.hm"; hn: "ax.hn"; ho: "ax.ho"; hp: "ax.hp"; hq: "ax.hq"; hr: "ax.hr"; hs: "ax.hs"; ht: "ax.ht"; hu: "ax.hu"; hv: "ax.hv"; hw: "ax.hw"; hx: "ax.hx"; hy: "ax.hy"; hz: "ax.hz"; ia: "ax.ia"; ib: "ax.ib"; ic: "ax.ic"; id: "ax.id"; ie: "ax.ie"; if: "ax.if"; ig: "ax.ig"; ih: "ax.ih"; ii: "ax.ii"; ij: "ax.ij"; ik: "ax.ik"; il: "ax.il"; im: "ax.im"; in: "ax.in"; io: "ax.io"; ip: "ax.ip"; iq: "ax.iq"; ir: "ax.ir"; is: "ax.is"; it: "ax.it"; iu: "ax.iu"; iv: "ax.iv"; iw: "ax.iw"; ix: "ax.ix"; iy: "ax.iy"; iz: "ax.iz"; ja: "ax.ja"; jb: "ax.jb"; jc: "ax.jc"; jd: "ax.jd"; je: "ax.je"; jf: "ax.jf"; jg: "ax.jg"; jh: "ax.jh"; ji: "ax.ji"; jj: "ax.jj"; jk: "ax.jk"; jl: "ax.jl"; jm: "ax.jm"; jn: "ax.jn"; jo: "ax.jo"; jp: "ax.jp"; jq: "ax.jq"; jr: "ax.jr"; js: "ax.js"; jt: "ax.jt"; ju: "ax.ju"; jv: "ax.jv"; jw: "ax.jw"; jx: "ax.jx"; jy: "ax.jy"; jz: "ax.jz"; ka: "ax.ka"; kb: "ax.kb"; kc: "ax.kc"; kd: "ax.kd"; ke: "ax.ke"; kf: "ax.kf"; kg: "ax.kg"; kh: "ax.kh"; ki: "ax.ki"; kj: "ax.kj"; kk: "ax.kk"; kl: "ax.kl"; km: "ax.km"; kn: "ax.kn"; ko: "ax.ko"; kp: "ax.kp"; kq: "ax.kq"; kr: "ax.kr"; ks: "ax.ks"; kt: "ax.kt"; ku: "ax.ku"; kv: "ax.kv"; kw: "ax.kw"; kx: "ax.kx"; ky: "ax.ky"; kz: "ax.kz"; la: "ax.la"; lb: "ax.lb"; lc: "ax.lc"; ld: "ax.ld"; le: "ax.le"; lf: "ax.lf"; lg: "ax.lg"; lh: "ax.lh"; li: "ax.li"; lj: "ax.lj"; lk: "ax.lk"; ll: "ax.ll"; lm: "ax.lm"; ln: "ax.ln"; lo: "ax.lo"; lp: "ax.lp"; lq: "ax.lq"; lr: "ax.lr"; ls: "ax.ls"; lt: "ax.lt"; lu: "ax.lu"; lv: "ax.lv"; lw: "ax.lw"; lx: "ax.lx"; ly: "ax.ly"; lz: "ax.lz"; ma: "ax.ma"; mb: "ax.mb"; mc: "ax.mc"; md: "ax.md"; me: "ax.me"; mf: "ax.mf"; mg: "ax.mg"; mh: "ax.mh"; mi: "ax.mi"; mj: "ax.mj"; mk: "ax.mk"; ml: "ax.ml"; mm: "ax.mm"; mn: "ax.mn"; mo: "ax.mo"; mp: "ax.mp"; mq: "ax.mq"; mr: "ax.mr"; ms: "ax.ms"; mt: "ax.mt"; mu: "ax.mu"; mv: "ax.mv"; mw: "ax.mw"; mx: "ax.mx"; my: "ax.my"; mz: "ax.mz"; na: "ax.na"; nb: "ax.nb"; nc: "ax.nc"; nd: "ax.nd"; ne: "ax.ne"; nf: "ax.nf"; ng: "ax.ng"; nh: "ax.nh"; ni: "ax.ni"; nj: "ax.nj"; nk: "ax.nk"; nl: "ax.nl"; nm: "ax.nm"; nn: "ax.nn"; no: "ax.no"; np: "ax.np"; nq: "ax.nq"; nr: "ax.nr"; ns: "ax.ns"; nt: "ax.nt"; nu: "ax.nu"; nv: "ax.nv"; nw: "ax.nw"; nx: "ax.nx"; ny: "ax.ny"; nz: "ax.nz"; oa: "ax.oa"; ob: "ax.ob"; oc: "ax.oc"; od: "ax.od"; oe: "ax.oe"; of: "ax.of"; og: "ax.og"; oh: "ax.oh"; oi: "ax.oi"; oj: "ax.oj"; ok: "ax.ok"; ol: "ax.ol"; om: "ax.om"; on: "ax.on"; oo: "ax.oo"; op: "ax.op"; oq: "ax.oq"; or: "ax.or"; os: "ax.os"; ot: "ax.ot"; ou: "ax.ou"; ov: "ax.ov"; ow: "ax.ow"; ox: "ax.ox"; oy: "ax.oy"; oz: "ax.oz"; pa: "ax.pa"; pb: "ax.pb"; pc: "ax.pc"; pd: "ax.pd"; pe: "ax.pe"; pf: "ax.pf"; pg: "ax.pg"; ph: "ax.ph"; pi: "ax.pi"; pj: "ax.pj"; pk: "ax.pk"; pl: "ax.pl"; pm: "ax.pm"; pn: "ax.pn"; po: "ax.po"; pp: "ax.pp"; pq: "ax.pq"; pr: "ax.pr"; ps: "ax.ps"; pt: "ax.pt"; pu: "ax.pu"; pv: "ax.pv"; pw: "ax.pw"; px: "ax.px"; py: "ax.py"; pz: "ax.pz"; qa: "ax.qa"; qb: "ax.qb"; qc: "ax.qc"; qd: "ax.qd"; qe: "ax.qe"; qf: "ax.qf"; qg: "ax.qg"; qh: "ax.qh"; qi: "ax.qi"; qj: "ax.qj"; qk: "ax.qk"; ql: "ax.ql"; qm: "ax.qm"; qn: "ax.qn"; qo: "ax.qo"; qp: "ax.qp"; qq: "ax.qq"; qr: "ax.qr"; qs: "ax.qs"; qt: "ax.qt"; qu: "ax.qu"; qv: "ax.qv"; qw: "ax.qw"; qx: "ax.qx"; qy: "ax.qy"; qz: "ax.qz"; ra: "ax.ra"; rb: "ax.rb"; rc: "ax.rc"; rd: "ax.rd"; re: "ax.re"; rf: "ax.rf"; rg: "ax.rg"; rh: "ax.rh"; ri: "ax.ri"; rj: "ax.rj"; rk: "ax.rk"; rl: "ax.rl"; rm: "ax.rm"; rn: "ax.rn"; ro: "ax.ro"; rp: "ax.rp"; rq: "ax.rq"; rr: "ax.rr"; rs: "ax.rs"; rt: "ax.rt"; ru: "ax.ru"; rv: "ax.rv"; rw: "ax.rw"; rx: "ax.rx"; ry: "ax.ry"; rz: "ax.rz"; sa: "ax.sa"; sb: "ax.sb"; sc: "ax.sc"; sd: "ax.sd"; se: "ax.se"; sf: "ax.sf"; sg: "ax.sg"; sh: "ax.sh"; si: "ax.si"; sj: "ax.sj"; sk: "ax.sk"; sl: "ax.sl"; sm: "ax.sm"; sn: "ax.sn"; so: "ax.so"; sp: "ax.sp"; sq: "ax.sq"; sr: "ax.sr"; ss: "ax.ss"; st: "ax.st"; su: "ax.su"; sv: "ax.sv"; sw: "ax.sw"; sx: "ax.sx"; sy: "ax.sy"; sz: "ax.sz"; ta: "ax.ta"; tb: "ax.tb"; tc: "ax.tc"; td: "ax.td"; te: "ax.te"; tf: "ax.tf"; tg: "ax.tg"; th: "ax.th"; ti: "ax.ti"; tj: "ax.tj"; tk: "ax.tk"; tl: "ax.tl"; tm: "ax.tm"; tn: "ax.tn"; to: "ax.to"; tp: "ax.tp"; tq: "ax.tq"; tr: "ax.tr"; ts: "ax.ts"; tt: "ax.tt"; tu: "ax.tu"; tv: "ax.tv"; tw: "ax.tw"; tx: "ax.tx"; ty: "ax.ty"; tz: "ax.tz"; ua: "ax.ua"; ub: "ax.ub"; uc: "ax.uc"; ud: "ax.ud"; ue: "ax.ue"; uf: "ax.uf"; ug: "ax.ug"; uh: "ax.uh"; ui: "ax.ui"; uj: "ax.uj"; uk: "ax.uk"; ul: "ax.ul"; um: "ax.um"; un: "ax.un"; uo: "ax.uo"; up: "ax.up"; uq: "ax.uq"; ur: "ax.ur"; us: "ax.us"; ut: "ax.ut"; uu: "ax.uu"; uv: "ax.uv"; uw: "ax.uw"; ux: "ax.ux"; uy: "ax.uy"; uz: "ax.uz"; va: "ax.va"; vb: "ax.vb"; vc: "ax.vc"; vd: "ax.vd"; ve: "ax.ve"; vf: "ax.vf"; vg: "ax.vg"; vh: "ax.vh"; vi: "ax.vi"; vj: "ax.vj"; vk: "ax.vk"; vl: "ax.vl"; vm: "ax.vm"; vn: "ax.vn"; vo: "ax.vo"; vp: "ax.vp"; vq: "ax.vq"; vr: "ax.vr"; vs: "ax.vs"; vt: "ax.vt"; vu: "ax.vu"; vv: "ax.vv"; vw: "ax.vw"; vx: "ax.vx"; vy: "ax.vy"; vz: "ax.vz"; wa: "ax.wa"; wb: "ax.wb"; wc: "ax.wc"; wd: "ax.wd"; we: "ax.we"; wf: "ax.wf"; wg: "ax.wg"; wh: "ax.wh"; wi: "ax.wi"; wj: "ax.wj"; wk: "ax.wk"; wl: "ax.wl"; wm: "ax.wm"; wn: "ax.wn"; wo: "ax.wo"; wp: "ax.wp"; wq: "ax.wq"; wr: "ax.wr"; ws: "ax.ws"; wt: "ax.wt"; wu: "ax.wu"; wv: "ax.wv"; ww: "ax.ww"; wx: "ax.wx"; wy: "ax.wy"; wz: "ax.wz"; xa: "ax.xa"; xb: "ax.xb"; xc: "ax.xc"; xd: "ax.xd"; xe: "ax.xe"; xf: "ax.xf"; xg: "ax.xg"; xh: "ax.xh"; xi: "ax.xi"; xj: "ax.xj"; xk: "ax.xk"; xl: "ax.xl"; xm: "ax.xm"; xn: "ax.xn"; xo: "ax.xo"; xp: "ax.xp"; xq: "ax.xq"; xr: "ax.xr"; xs: "ax.xs"; xt: "ax.xt"; xu: "ax.xu"; xv: "ax.xv"; xw: "ax.xw"; xx: "ax.xx"; xy: "ax.xy"; xz: "ax.xz"; ya: "ax.ya"; yb: "ax.yb"; yc: "ax.yc"; yd: "ax.yd"; ye: "ax.ye"; yf: "ax.yf"; yg: "ax.yg"; yh: "ax.yh"; yi: "ax.yi"; yj: "ax.yj"; yk: "ax.yk"; yl: "ax.yl"; ym: "ax.ym"; yn: "ax.yn"; yo: "ax.yo"; yp: "ax.yp"; yq: "ax.yq"; yr: "ax.yr"; ys: "ax.ys"; yt: "ax.yt"; yu: "ax.yu"; yv: "ax.yv"; yw: "ax.yw"; yx: "ax.yx"; yy: "ax.yy"; yz: "ax.yz"; za: "ax.za"; zb: "ax.zb"; zc: "ax.zc"; zd: "ax.zd"; ze: "ax.ze"; zf: "ax.zf"; zg: "ax.zg"; zh: "ax.zh"; zi: "ax.zi"; zj: "ax.zj"; zk: "ax.zk"; zl: "ax.zl"; zm: "ax.zm"; zn: "ax.zn"; zo: "ax.zo"; zp: "ax.zp"; zq: "ax.zq"; zr: "ax.zr"; zs: "ax.zs"; zt: "ax.zt"; zu: "ax.zu"; zv: "ax.zv"; zw: "ax.zw"; zx: "ax.zx"; zy: "ax.zy"; zz: "ax.zz"; }; ay: { aa: "ay.aa"; ab: "ay.ab"; ac: "ay.ac"; ad: "ay.ad"; ae: "ay.ae"; af: "ay.af"; ag: "ay.ag"; ah: "ay.ah"; ai: "ay.ai"; aj: "ay.aj"; ak: "ay.ak"; al: "ay.al"; am: "ay.am"; an: "ay.an"; ao: "ay.ao"; ap: "ay.ap"; aq: "ay.aq"; ar: "ay.ar"; as: "ay.as"; at: "ay.at"; au: "ay.au"; av: "ay.av"; aw: "ay.aw"; ax: "ay.ax"; ay: "ay.ay"; az: "ay.az"; ba: "ay.ba"; bb: "ay.bb"; bc: "ay.bc"; bd: "ay.bd"; be: "ay.be"; bf: "ay.bf"; bg: "ay.bg"; bh: "ay.bh"; bi: "ay.bi"; bj: "ay.bj"; bk: "ay.bk"; bl: "ay.bl"; bm: "ay.bm"; bn: "ay.bn"; bo: "ay.bo"; bp: "ay.bp"; bq: "ay.bq"; br: "ay.br"; bs: "ay.bs"; bt: "ay.bt"; bu: "ay.bu"; bv: "ay.bv"; bw: "ay.bw"; bx: "ay.bx"; by: "ay.by"; bz: "ay.bz"; ca: "ay.ca"; cb: "ay.cb"; cc: "ay.cc"; cd: "ay.cd"; ce: "ay.ce"; cf: "ay.cf"; cg: "ay.cg"; ch: "ay.ch"; ci: "ay.ci"; cj: "ay.cj"; ck: "ay.ck"; cl: "ay.cl"; cm: "ay.cm"; cn: "ay.cn"; co: "ay.co"; cp: "ay.cp"; cq: "ay.cq"; cr: "ay.cr"; cs: "ay.cs"; ct: "ay.ct"; cu: "ay.cu"; cv: "ay.cv"; cw: "ay.cw"; cx: "ay.cx"; cy: "ay.cy"; cz: "ay.cz"; da: "ay.da"; db: "ay.db"; dc: "ay.dc"; dd: "ay.dd"; de: "ay.de"; df: "ay.df"; dg: "ay.dg"; dh: "ay.dh"; di: "ay.di"; dj: "ay.dj"; dk: "ay.dk"; dl: "ay.dl"; dm: "ay.dm"; dn: "ay.dn"; do: "ay.do"; dp: "ay.dp"; dq: "ay.dq"; dr: "ay.dr"; ds: "ay.ds"; dt: "ay.dt"; du: "ay.du"; dv: "ay.dv"; dw: "ay.dw"; dx: "ay.dx"; dy: "ay.dy"; dz: "ay.dz"; ea: "ay.ea"; eb: "ay.eb"; ec: "ay.ec"; ed: "ay.ed"; ee: "ay.ee"; ef: "ay.ef"; eg: "ay.eg"; eh: "ay.eh"; ei: "ay.ei"; ej: "ay.ej"; ek: "ay.ek"; el: "ay.el"; em: "ay.em"; en: "ay.en"; eo: "ay.eo"; ep: "ay.ep"; eq: "ay.eq"; er: "ay.er"; es: "ay.es"; et: "ay.et"; eu: "ay.eu"; ev: "ay.ev"; ew: "ay.ew"; ex: "ay.ex"; ey: "ay.ey"; ez: "ay.ez"; fa: "ay.fa"; fb: "ay.fb"; fc: "ay.fc"; fd: "ay.fd"; fe: "ay.fe"; ff: "ay.ff"; fg: "ay.fg"; fh: "ay.fh"; fi: "ay.fi"; fj: "ay.fj"; fk: "ay.fk"; fl: "ay.fl"; fm: "ay.fm"; fn: "ay.fn"; fo: "ay.fo"; fp: "ay.fp"; fq: "ay.fq"; fr: "ay.fr"; fs: "ay.fs"; ft: "ay.ft"; fu: "ay.fu"; fv: "ay.fv"; fw: "ay.fw"; fx: "ay.fx"; fy: "ay.fy"; fz: "ay.fz"; ga: "ay.ga"; gb: "ay.gb"; gc: "ay.gc"; gd: "ay.gd"; ge: "ay.ge"; gf: "ay.gf"; gg: "ay.gg"; gh: "ay.gh"; gi: "ay.gi"; gj: "ay.gj"; gk: "ay.gk"; gl: "ay.gl"; gm: "ay.gm"; gn: "ay.gn"; go: "ay.go"; gp: "ay.gp"; gq: "ay.gq"; gr: "ay.gr"; gs: "ay.gs"; gt: "ay.gt"; gu: "ay.gu"; gv: "ay.gv"; gw: "ay.gw"; gx: "ay.gx"; gy: "ay.gy"; gz: "ay.gz"; ha: "ay.ha"; hb: "ay.hb"; hc: "ay.hc"; hd: "ay.hd"; he: "ay.he"; hf: "ay.hf"; hg: "ay.hg"; hh: "ay.hh"; hi: "ay.hi"; hj: "ay.hj"; hk: "ay.hk"; hl: "ay.hl"; hm: "ay.hm"; hn: "ay.hn"; ho: "ay.ho"; hp: "ay.hp"; hq: "ay.hq"; hr: "ay.hr"; hs: "ay.hs"; ht: "ay.ht"; hu: "ay.hu"; hv: "ay.hv"; hw: "ay.hw"; hx: "ay.hx"; hy: "ay.hy"; hz: "ay.hz"; ia: "ay.ia"; ib: "ay.ib"; ic: "ay.ic"; id: "ay.id"; ie: "ay.ie"; if: "ay.if"; ig: "ay.ig"; ih: "ay.ih"; ii: "ay.ii"; ij: "ay.ij"; ik: "ay.ik"; il: "ay.il"; im: "ay.im"; in: "ay.in"; io: "ay.io"; ip: "ay.ip"; iq: "ay.iq"; ir: "ay.ir"; is: "ay.is"; it: "ay.it"; iu: "ay.iu"; iv: "ay.iv"; iw: "ay.iw"; ix: "ay.ix"; iy: "ay.iy"; iz: "ay.iz"; ja: "ay.ja"; jb: "ay.jb"; jc: "ay.jc"; jd: "ay.jd"; je: "ay.je"; jf: "ay.jf"; jg: "ay.jg"; jh: "ay.jh"; ji: "ay.ji"; jj: "ay.jj"; jk: "ay.jk"; jl: "ay.jl"; jm: "ay.jm"; jn: "ay.jn"; jo: "ay.jo"; jp: "ay.jp"; jq: "ay.jq"; jr: "ay.jr"; js: "ay.js"; jt: "ay.jt"; ju: "ay.ju"; jv: "ay.jv"; jw: "ay.jw"; jx: "ay.jx"; jy: "ay.jy"; jz: "ay.jz"; ka: "ay.ka"; kb: "ay.kb"; kc: "ay.kc"; kd: "ay.kd"; ke: "ay.ke"; kf: "ay.kf"; kg: "ay.kg"; kh: "ay.kh"; ki: "ay.ki"; kj: "ay.kj"; kk: "ay.kk"; kl: "ay.kl"; km: "ay.km"; kn: "ay.kn"; ko: "ay.ko"; kp: "ay.kp"; kq: "ay.kq"; kr: "ay.kr"; ks: "ay.ks"; kt: "ay.kt"; ku: "ay.ku"; kv: "ay.kv"; kw: "ay.kw"; kx: "ay.kx"; ky: "ay.ky"; kz: "ay.kz"; la: "ay.la"; lb: "ay.lb"; lc: "ay.lc"; ld: "ay.ld"; le: "ay.le"; lf: "ay.lf"; lg: "ay.lg"; lh: "ay.lh"; li: "ay.li"; lj: "ay.lj"; lk: "ay.lk"; ll: "ay.ll"; lm: "ay.lm"; ln: "ay.ln"; lo: "ay.lo"; lp: "ay.lp"; lq: "ay.lq"; lr: "ay.lr"; ls: "ay.ls"; lt: "ay.lt"; lu: "ay.lu"; lv: "ay.lv"; lw: "ay.lw"; lx: "ay.lx"; ly: "ay.ly"; lz: "ay.lz"; ma: "ay.ma"; mb: "ay.mb"; mc: "ay.mc"; md: "ay.md"; me: "ay.me"; mf: "ay.mf"; mg: "ay.mg"; mh: "ay.mh"; mi: "ay.mi"; mj: "ay.mj"; mk: "ay.mk"; ml: "ay.ml"; mm: "ay.mm"; mn: "ay.mn"; mo: "ay.mo"; mp: "ay.mp"; mq: "ay.mq"; mr: "ay.mr"; ms: "ay.ms"; mt: "ay.mt"; mu: "ay.mu"; mv: "ay.mv"; mw: "ay.mw"; mx: "ay.mx"; my: "ay.my"; mz: "ay.mz"; na: "ay.na"; nb: "ay.nb"; nc: "ay.nc"; nd: "ay.nd"; ne: "ay.ne"; nf: "ay.nf"; ng: "ay.ng"; nh: "ay.nh"; ni: "ay.ni"; nj: "ay.nj"; nk: "ay.nk"; nl: "ay.nl"; nm: "ay.nm"; nn: "ay.nn"; no: "ay.no"; np: "ay.np"; nq: "ay.nq"; nr: "ay.nr"; ns: "ay.ns"; nt: "ay.nt"; nu: "ay.nu"; nv: "ay.nv"; nw: "ay.nw"; nx: "ay.nx"; ny: "ay.ny"; nz: "ay.nz"; oa: "ay.oa"; ob: "ay.ob"; oc: "ay.oc"; od: "ay.od"; oe: "ay.oe"; of: "ay.of"; og: "ay.og"; oh: "ay.oh"; oi: "ay.oi"; oj: "ay.oj"; ok: "ay.ok"; ol: "ay.ol"; om: "ay.om"; on: "ay.on"; oo: "ay.oo"; op: "ay.op"; oq: "ay.oq"; or: "ay.or"; os: "ay.os"; ot: "ay.ot"; ou: "ay.ou"; ov: "ay.ov"; ow: "ay.ow"; ox: "ay.ox"; oy: "ay.oy"; oz: "ay.oz"; pa: "ay.pa"; pb: "ay.pb"; pc: "ay.pc"; pd: "ay.pd"; pe: "ay.pe"; pf: "ay.pf"; pg: "ay.pg"; ph: "ay.ph"; pi: "ay.pi"; pj: "ay.pj"; pk: "ay.pk"; pl: "ay.pl"; pm: "ay.pm"; pn: "ay.pn"; po: "ay.po"; pp: "ay.pp"; pq: "ay.pq"; pr: "ay.pr"; ps: "ay.ps"; pt: "ay.pt"; pu: "ay.pu"; pv: "ay.pv"; pw: "ay.pw"; px: "ay.px"; py: "ay.py"; pz: "ay.pz"; qa: "ay.qa"; qb: "ay.qb"; qc: "ay.qc"; qd: "ay.qd"; qe: "ay.qe"; qf: "ay.qf"; qg: "ay.qg"; qh: "ay.qh"; qi: "ay.qi"; qj: "ay.qj"; qk: "ay.qk"; ql: "ay.ql"; qm: "ay.qm"; qn: "ay.qn"; qo: "ay.qo"; qp: "ay.qp"; qq: "ay.qq"; qr: "ay.qr"; qs: "ay.qs"; qt: "ay.qt"; qu: "ay.qu"; qv: "ay.qv"; qw: "ay.qw"; qx: "ay.qx"; qy: "ay.qy"; qz: "ay.qz"; ra: "ay.ra"; rb: "ay.rb"; rc: "ay.rc"; rd: "ay.rd"; re: "ay.re"; rf: "ay.rf"; rg: "ay.rg"; rh: "ay.rh"; ri: "ay.ri"; rj: "ay.rj"; rk: "ay.rk"; rl: "ay.rl"; rm: "ay.rm"; rn: "ay.rn"; ro: "ay.ro"; rp: "ay.rp"; rq: "ay.rq"; rr: "ay.rr"; rs: "ay.rs"; rt: "ay.rt"; ru: "ay.ru"; rv: "ay.rv"; rw: "ay.rw"; rx: "ay.rx"; ry: "ay.ry"; rz: "ay.rz"; sa: "ay.sa"; sb: "ay.sb"; sc: "ay.sc"; sd: "ay.sd"; se: "ay.se"; sf: "ay.sf"; sg: "ay.sg"; sh: "ay.sh"; si: "ay.si"; sj: "ay.sj"; sk: "ay.sk"; sl: "ay.sl"; sm: "ay.sm"; sn: "ay.sn"; so: "ay.so"; sp: "ay.sp"; sq: "ay.sq"; sr: "ay.sr"; ss: "ay.ss"; st: "ay.st"; su: "ay.su"; sv: "ay.sv"; sw: "ay.sw"; sx: "ay.sx"; sy: "ay.sy"; sz: "ay.sz"; ta: "ay.ta"; tb: "ay.tb"; tc: "ay.tc"; td: "ay.td"; te: "ay.te"; tf: "ay.tf"; tg: "ay.tg"; th: "ay.th"; ti: "ay.ti"; tj: "ay.tj"; tk: "ay.tk"; tl: "ay.tl"; tm: "ay.tm"; tn: "ay.tn"; to: "ay.to"; tp: "ay.tp"; tq: "ay.tq"; tr: "ay.tr"; ts: "ay.ts"; tt: "ay.tt"; tu: "ay.tu"; tv: "ay.tv"; tw: "ay.tw"; tx: "ay.tx"; ty: "ay.ty"; tz: "ay.tz"; ua: "ay.ua"; ub: "ay.ub"; uc: "ay.uc"; ud: "ay.ud"; ue: "ay.ue"; uf: "ay.uf"; ug: "ay.ug"; uh: "ay.uh"; ui: "ay.ui"; uj: "ay.uj"; uk: "ay.uk"; ul: "ay.ul"; um: "ay.um"; un: "ay.un"; uo: "ay.uo"; up: "ay.up"; uq: "ay.uq"; ur: "ay.ur"; us: "ay.us"; ut: "ay.ut"; uu: "ay.uu"; uv: "ay.uv"; uw: "ay.uw"; ux: "ay.ux"; uy: "ay.uy"; uz: "ay.uz"; va: "ay.va"; vb: "ay.vb"; vc: "ay.vc"; vd: "ay.vd"; ve: "ay.ve"; vf: "ay.vf"; vg: "ay.vg"; vh: "ay.vh"; vi: "ay.vi"; vj: "ay.vj"; vk: "ay.vk"; vl: "ay.vl"; vm: "ay.vm"; vn: "ay.vn"; vo: "ay.vo"; vp: "ay.vp"; vq: "ay.vq"; vr: "ay.vr"; vs: "ay.vs"; vt: "ay.vt"; vu: "ay.vu"; vv: "ay.vv"; vw: "ay.vw"; vx: "ay.vx"; vy: "ay.vy"; vz: "ay.vz"; wa: "ay.wa"; wb: "ay.wb"; wc: "ay.wc"; wd: "ay.wd"; we: "ay.we"; wf: "ay.wf"; wg: "ay.wg"; wh: "ay.wh"; wi: "ay.wi"; wj: "ay.wj"; wk: "ay.wk"; wl: "ay.wl"; wm: "ay.wm"; wn: "ay.wn"; wo: "ay.wo"; wp: "ay.wp"; wq: "ay.wq"; wr: "ay.wr"; ws: "ay.ws"; wt: "ay.wt"; wu: "ay.wu"; wv: "ay.wv"; ww: "ay.ww"; wx: "ay.wx"; wy: "ay.wy"; wz: "ay.wz"; xa: "ay.xa"; xb: "ay.xb"; xc: "ay.xc"; xd: "ay.xd"; xe: "ay.xe"; xf: "ay.xf"; xg: "ay.xg"; xh: "ay.xh"; xi: "ay.xi"; xj: "ay.xj"; xk: "ay.xk"; xl: "ay.xl"; xm: "ay.xm"; xn: "ay.xn"; xo: "ay.xo"; xp: "ay.xp"; xq: "ay.xq"; xr: "ay.xr"; xs: "ay.xs"; xt: "ay.xt"; xu: "ay.xu"; xv: "ay.xv"; xw: "ay.xw"; xx: "ay.xx"; xy: "ay.xy"; xz: "ay.xz"; ya: "ay.ya"; yb: "ay.yb"; yc: "ay.yc"; yd: "ay.yd"; ye: "ay.ye"; yf: "ay.yf"; yg: "ay.yg"; yh: "ay.yh"; yi: "ay.yi"; yj: "ay.yj"; yk: "ay.yk"; yl: "ay.yl"; ym: "ay.ym"; yn: "ay.yn"; yo: "ay.yo"; yp: "ay.yp"; yq: "ay.yq"; yr: "ay.yr"; ys: "ay.ys"; yt: "ay.yt"; yu: "ay.yu"; yv: "ay.yv"; yw: "ay.yw"; yx: "ay.yx"; yy: "ay.yy"; yz: "ay.yz"; za: "ay.za"; zb: "ay.zb"; zc: "ay.zc"; zd: "ay.zd"; ze: "ay.ze"; zf: "ay.zf"; zg: "ay.zg"; zh: "ay.zh"; zi: "ay.zi"; zj: "ay.zj"; zk: "ay.zk"; zl: "ay.zl"; zm: "ay.zm"; zn: "ay.zn"; zo: "ay.zo"; zp: "ay.zp"; zq: "ay.zq"; zr: "ay.zr"; zs: "ay.zs"; zt: "ay.zt"; zu: "ay.zu"; zv: "ay.zv"; zw: "ay.zw"; zx: "ay.zx"; zy: "ay.zy"; zz: "ay.zz"; }; az: { aa: "az.aa"; ab: "az.ab"; ac: "az.ac"; ad: "az.ad"; ae: "az.ae"; af: "az.af"; ag: "az.ag"; ah: "az.ah"; ai: "az.ai"; aj: "az.aj"; ak: "az.ak"; al: "az.al"; am: "az.am"; an: "az.an"; ao: "az.ao"; ap: "az.ap"; aq: "az.aq"; ar: "az.ar"; as: "az.as"; at: "az.at"; au: "az.au"; av: "az.av"; aw: "az.aw"; ax: "az.ax"; ay: "az.ay"; az: "az.az"; ba: "az.ba"; bb: "az.bb"; bc: "az.bc"; bd: "az.bd"; be: "az.be"; bf: "az.bf"; bg: "az.bg"; bh: "az.bh"; bi: "az.bi"; bj: "az.bj"; bk: "az.bk"; bl: "az.bl"; bm: "az.bm"; bn: "az.bn"; bo: "az.bo"; bp: "az.bp"; bq: "az.bq"; br: "az.br"; bs: "az.bs"; bt: "az.bt"; bu: "az.bu"; bv: "az.bv"; bw: "az.bw"; bx: "az.bx"; by: "az.by"; bz: "az.bz"; ca: "az.ca"; cb: "az.cb"; cc: "az.cc"; cd: "az.cd"; ce: "az.ce"; cf: "az.cf"; cg: "az.cg"; ch: "az.ch"; ci: "az.ci"; cj: "az.cj"; ck: "az.ck"; cl: "az.cl"; cm: "az.cm"; cn: "az.cn"; co: "az.co"; cp: "az.cp"; cq: "az.cq"; cr: "az.cr"; cs: "az.cs"; ct: "az.ct"; cu: "az.cu"; cv: "az.cv"; cw: "az.cw"; cx: "az.cx"; cy: "az.cy"; cz: "az.cz"; da: "az.da"; db: "az.db"; dc: "az.dc"; dd: "az.dd"; de: "az.de"; df: "az.df"; dg: "az.dg"; dh: "az.dh"; di: "az.di"; dj: "az.dj"; dk: "az.dk"; dl: "az.dl"; dm: "az.dm"; dn: "az.dn"; do: "az.do"; dp: "az.dp"; dq: "az.dq"; dr: "az.dr"; ds: "az.ds"; dt: "az.dt"; du: "az.du"; dv: "az.dv"; dw: "az.dw"; dx: "az.dx"; dy: "az.dy"; dz: "az.dz"; ea: "az.ea"; eb: "az.eb"; ec: "az.ec"; ed: "az.ed"; ee: "az.ee"; ef: "az.ef"; eg: "az.eg"; eh: "az.eh"; ei: "az.ei"; ej: "az.ej"; ek: "az.ek"; el: "az.el"; em: "az.em"; en: "az.en"; eo: "az.eo"; ep: "az.ep"; eq: "az.eq"; er: "az.er"; es: "az.es"; et: "az.et"; eu: "az.eu"; ev: "az.ev"; ew: "az.ew"; ex: "az.ex"; ey: "az.ey"; ez: "az.ez"; fa: "az.fa"; fb: "az.fb"; fc: "az.fc"; fd: "az.fd"; fe: "az.fe"; ff: "az.ff"; fg: "az.fg"; fh: "az.fh"; fi: "az.fi"; fj: "az.fj"; fk: "az.fk"; fl: "az.fl"; fm: "az.fm"; fn: "az.fn"; fo: "az.fo"; fp: "az.fp"; fq: "az.fq"; fr: "az.fr"; fs: "az.fs"; ft: "az.ft"; fu: "az.fu"; fv: "az.fv"; fw: "az.fw"; fx: "az.fx"; fy: "az.fy"; fz: "az.fz"; ga: "az.ga"; gb: "az.gb"; gc: "az.gc"; gd: "az.gd"; ge: "az.ge"; gf: "az.gf"; gg: "az.gg"; gh: "az.gh"; gi: "az.gi"; gj: "az.gj"; gk: "az.gk"; gl: "az.gl"; gm: "az.gm"; gn: "az.gn"; go: "az.go"; gp: "az.gp"; gq: "az.gq"; gr: "az.gr"; gs: "az.gs"; gt: "az.gt"; gu: "az.gu"; gv: "az.gv"; gw: "az.gw"; gx: "az.gx"; gy: "az.gy"; gz: "az.gz"; ha: "az.ha"; hb: "az.hb"; hc: "az.hc"; hd: "az.hd"; he: "az.he"; hf: "az.hf"; hg: "az.hg"; hh: "az.hh"; hi: "az.hi"; hj: "az.hj"; hk: "az.hk"; hl: "az.hl"; hm: "az.hm"; hn: "az.hn"; ho: "az.ho"; hp: "az.hp"; hq: "az.hq"; hr: "az.hr"; hs: "az.hs"; ht: "az.ht"; hu: "az.hu"; hv: "az.hv"; hw: "az.hw"; hx: "az.hx"; hy: "az.hy"; hz: "az.hz"; ia: "az.ia"; ib: "az.ib"; ic: "az.ic"; id: "az.id"; ie: "az.ie"; if: "az.if"; ig: "az.ig"; ih: "az.ih"; ii: "az.ii"; ij: "az.ij"; ik: "az.ik"; il: "az.il"; im: "az.im"; in: "az.in"; io: "az.io"; ip: "az.ip"; iq: "az.iq"; ir: "az.ir"; is: "az.is"; it: "az.it"; iu: "az.iu"; iv: "az.iv"; iw: "az.iw"; ix: "az.ix"; iy: "az.iy"; iz: "az.iz"; ja: "az.ja"; jb: "az.jb"; jc: "az.jc"; jd: "az.jd"; je: "az.je"; jf: "az.jf"; jg: "az.jg"; jh: "az.jh"; ji: "az.ji"; jj: "az.jj"; jk: "az.jk"; jl: "az.jl"; jm: "az.jm"; jn: "az.jn"; jo: "az.jo"; jp: "az.jp"; jq: "az.jq"; jr: "az.jr"; js: "az.js"; jt: "az.jt"; ju: "az.ju"; jv: "az.jv"; jw: "az.jw"; jx: "az.jx"; jy: "az.jy"; jz: "az.jz"; ka: "az.ka"; kb: "az.kb"; kc: "az.kc"; kd: "az.kd"; ke: "az.ke"; kf: "az.kf"; kg: "az.kg"; kh: "az.kh"; ki: "az.ki"; kj: "az.kj"; kk: "az.kk"; kl: "az.kl"; km: "az.km"; kn: "az.kn"; ko: "az.ko"; kp: "az.kp"; kq: "az.kq"; kr: "az.kr"; ks: "az.ks"; kt: "az.kt"; ku: "az.ku"; kv: "az.kv"; kw: "az.kw"; kx: "az.kx"; ky: "az.ky"; kz: "az.kz"; la: "az.la"; lb: "az.lb"; lc: "az.lc"; ld: "az.ld"; le: "az.le"; lf: "az.lf"; lg: "az.lg"; lh: "az.lh"; li: "az.li"; lj: "az.lj"; lk: "az.lk"; ll: "az.ll"; lm: "az.lm"; ln: "az.ln"; lo: "az.lo"; lp: "az.lp"; lq: "az.lq"; lr: "az.lr"; ls: "az.ls"; lt: "az.lt"; lu: "az.lu"; lv: "az.lv"; lw: "az.lw"; lx: "az.lx"; ly: "az.ly"; lz: "az.lz"; ma: "az.ma"; mb: "az.mb"; mc: "az.mc"; md: "az.md"; me: "az.me"; mf: "az.mf"; mg: "az.mg"; mh: "az.mh"; mi: "az.mi"; mj: "az.mj"; mk: "az.mk"; ml: "az.ml"; mm: "az.mm"; mn: "az.mn"; mo: "az.mo"; mp: "az.mp"; mq: "az.mq"; mr: "az.mr"; ms: "az.ms"; mt: "az.mt"; mu: "az.mu"; mv: "az.mv"; mw: "az.mw"; mx: "az.mx"; my: "az.my"; mz: "az.mz"; na: "az.na"; nb: "az.nb"; nc: "az.nc"; nd: "az.nd"; ne: "az.ne"; nf: "az.nf"; ng: "az.ng"; nh: "az.nh"; ni: "az.ni"; nj: "az.nj"; nk: "az.nk"; nl: "az.nl"; nm: "az.nm"; nn: "az.nn"; no: "az.no"; np: "az.np"; nq: "az.nq"; nr: "az.nr"; ns: "az.ns"; nt: "az.nt"; nu: "az.nu"; nv: "az.nv"; nw: "az.nw"; nx: "az.nx"; ny: "az.ny"; nz: "az.nz"; oa: "az.oa"; ob: "az.ob"; oc: "az.oc"; od: "az.od"; oe: "az.oe"; of: "az.of"; og: "az.og"; oh: "az.oh"; oi: "az.oi"; oj: "az.oj"; ok: "az.ok"; ol: "az.ol"; om: "az.om"; on: "az.on"; oo: "az.oo"; op: "az.op"; oq: "az.oq"; or: "az.or"; os: "az.os"; ot: "az.ot"; ou: "az.ou"; ov: "az.ov"; ow: "az.ow"; ox: "az.ox"; oy: "az.oy"; oz: "az.oz"; pa: "az.pa"; pb: "az.pb"; pc: "az.pc"; pd: "az.pd"; pe: "az.pe"; pf: "az.pf"; pg: "az.pg"; ph: "az.ph"; pi: "az.pi"; pj: "az.pj"; pk: "az.pk"; pl: "az.pl"; pm: "az.pm"; pn: "az.pn"; po: "az.po"; pp: "az.pp"; pq: "az.pq"; pr: "az.pr"; ps: "az.ps"; pt: "az.pt"; pu: "az.pu"; pv: "az.pv"; pw: "az.pw"; px: "az.px"; py: "az.py"; pz: "az.pz"; qa: "az.qa"; qb: "az.qb"; qc: "az.qc"; qd: "az.qd"; qe: "az.qe"; qf: "az.qf"; qg: "az.qg"; qh: "az.qh"; qi: "az.qi"; qj: "az.qj"; qk: "az.qk"; ql: "az.ql"; qm: "az.qm"; qn: "az.qn"; qo: "az.qo"; qp: "az.qp"; qq: "az.qq"; qr: "az.qr"; qs: "az.qs"; qt: "az.qt"; qu: "az.qu"; qv: "az.qv"; qw: "az.qw"; qx: "az.qx"; qy: "az.qy"; qz: "az.qz"; ra: "az.ra"; rb: "az.rb"; rc: "az.rc"; rd: "az.rd"; re: "az.re"; rf: "az.rf"; rg: "az.rg"; rh: "az.rh"; ri: "az.ri"; rj: "az.rj"; rk: "az.rk"; rl: "az.rl"; rm: "az.rm"; rn: "az.rn"; ro: "az.ro"; rp: "az.rp"; rq: "az.rq"; rr: "az.rr"; rs: "az.rs"; rt: "az.rt"; ru: "az.ru"; rv: "az.rv"; rw: "az.rw"; rx: "az.rx"; ry: "az.ry"; rz: "az.rz"; sa: "az.sa"; sb: "az.sb"; sc: "az.sc"; sd: "az.sd"; se: "az.se"; sf: "az.sf"; sg: "az.sg"; sh: "az.sh"; si: "az.si"; sj: "az.sj"; sk: "az.sk"; sl: "az.sl"; sm: "az.sm"; sn: "az.sn"; so: "az.so"; sp: "az.sp"; sq: "az.sq"; sr: "az.sr"; ss: "az.ss"; st: "az.st"; su: "az.su"; sv: "az.sv"; sw: "az.sw"; sx: "az.sx"; sy: "az.sy"; sz: "az.sz"; ta: "az.ta"; tb: "az.tb"; tc: "az.tc"; td: "az.td"; te: "az.te"; tf: "az.tf"; tg: "az.tg"; th: "az.th"; ti: "az.ti"; tj: "az.tj"; tk: "az.tk"; tl: "az.tl"; tm: "az.tm"; tn: "az.tn"; to: "az.to"; tp: "az.tp"; tq: "az.tq"; tr: "az.tr"; ts: "az.ts"; tt: "az.tt"; tu: "az.tu"; tv: "az.tv"; tw: "az.tw"; tx: "az.tx"; ty: "az.ty"; tz: "az.tz"; ua: "az.ua"; ub: "az.ub"; uc: "az.uc"; ud: "az.ud"; ue: "az.ue"; uf: "az.uf"; ug: "az.ug"; uh: "az.uh"; ui: "az.ui"; uj: "az.uj"; uk: "az.uk"; ul: "az.ul"; um: "az.um"; un: "az.un"; uo: "az.uo"; up: "az.up"; uq: "az.uq"; ur: "az.ur"; us: "az.us"; ut: "az.ut"; uu: "az.uu"; uv: "az.uv"; uw: "az.uw"; ux: "az.ux"; uy: "az.uy"; uz: "az.uz"; va: "az.va"; vb: "az.vb"; vc: "az.vc"; vd: "az.vd"; ve: "az.ve"; vf: "az.vf"; vg: "az.vg"; vh: "az.vh"; vi: "az.vi"; vj: "az.vj"; vk: "az.vk"; vl: "az.vl"; vm: "az.vm"; vn: "az.vn"; vo: "az.vo"; vp: "az.vp"; vq: "az.vq"; vr: "az.vr"; vs: "az.vs"; vt: "az.vt"; vu: "az.vu"; vv: "az.vv"; vw: "az.vw"; vx: "az.vx"; vy: "az.vy"; vz: "az.vz"; wa: "az.wa"; wb: "az.wb"; wc: "az.wc"; wd: "az.wd"; we: "az.we"; wf: "az.wf"; wg: "az.wg"; wh: "az.wh"; wi: "az.wi"; wj: "az.wj"; wk: "az.wk"; wl: "az.wl"; wm: "az.wm"; wn: "az.wn"; wo: "az.wo"; wp: "az.wp"; wq: "az.wq"; wr: "az.wr"; ws: "az.ws"; wt: "az.wt"; wu: "az.wu"; wv: "az.wv"; ww: "az.ww"; wx: "az.wx"; wy: "az.wy"; wz: "az.wz"; xa: "az.xa"; xb: "az.xb"; xc: "az.xc"; xd: "az.xd"; xe: "az.xe"; xf: "az.xf"; xg: "az.xg"; xh: "az.xh"; xi: "az.xi"; xj: "az.xj"; xk: "az.xk"; xl: "az.xl"; xm: "az.xm"; xn: "az.xn"; xo: "az.xo"; xp: "az.xp"; xq: "az.xq"; xr: "az.xr"; xs: "az.xs"; xt: "az.xt"; xu: "az.xu"; xv: "az.xv"; xw: "az.xw"; xx: "az.xx"; xy: "az.xy"; xz: "az.xz"; ya: "az.ya"; yb: "az.yb"; yc: "az.yc"; yd: "az.yd"; ye: "az.ye"; yf: "az.yf"; yg: "az.yg"; yh: "az.yh"; yi: "az.yi"; yj: "az.yj"; yk: "az.yk"; yl: "az.yl"; ym: "az.ym"; yn: "az.yn"; yo: "az.yo"; yp: "az.yp"; yq: "az.yq"; yr: "az.yr"; ys: "az.ys"; yt: "az.yt"; yu: "az.yu"; yv: "az.yv"; yw: "az.yw"; yx: "az.yx"; yy: "az.yy"; yz: "az.yz"; za: "az.za"; zb: "az.zb"; zc: "az.zc"; zd: "az.zd"; ze: "az.ze"; zf: "az.zf"; zg: "az.zg"; zh: "az.zh"; zi: "az.zi"; zj: "az.zj"; zk: "az.zk"; zl: "az.zl"; zm: "az.zm"; zn: "az.zn"; zo: "az.zo"; zp: "az.zp"; zq: "az.zq"; zr: "az.zr"; zs: "az.zs"; zt: "az.zt"; zu: "az.zu"; zv: "az.zv"; zw: "az.zw"; zx: "az.zx"; zy: "az.zy"; zz: "az.zz"; }; ba: { aa: "ba.aa"; ab: "ba.ab"; ac: "ba.ac"; ad: "ba.ad"; ae: "ba.ae"; af: "ba.af"; ag: "ba.ag"; ah: "ba.ah"; ai: "ba.ai"; aj: "ba.aj"; ak: "ba.ak"; al: "ba.al"; am: "ba.am"; an: "ba.an"; ao: "ba.ao"; ap: "ba.ap"; aq: "ba.aq"; ar: "ba.ar"; as: "ba.as"; at: "ba.at"; au: "ba.au"; av: "ba.av"; aw: "ba.aw"; ax: "ba.ax"; ay: "ba.ay"; az: "ba.az"; ba: "ba.ba"; bb: "ba.bb"; bc: "ba.bc"; bd: "ba.bd"; be: "ba.be"; bf: "ba.bf"; bg: "ba.bg"; bh: "ba.bh"; bi: "ba.bi"; bj: "ba.bj"; bk: "ba.bk"; bl: "ba.bl"; bm: "ba.bm"; bn: "ba.bn"; bo: "ba.bo"; bp: "ba.bp"; bq: "ba.bq"; br: "ba.br"; bs: "ba.bs"; bt: "ba.bt"; bu: "ba.bu"; bv: "ba.bv"; bw: "ba.bw"; bx: "ba.bx"; by: "ba.by"; bz: "ba.bz"; ca: "ba.ca"; cb: "ba.cb"; cc: "ba.cc"; cd: "ba.cd"; ce: "ba.ce"; cf: "ba.cf"; cg: "ba.cg"; ch: "ba.ch"; ci: "ba.ci"; cj: "ba.cj"; ck: "ba.ck"; cl: "ba.cl"; cm: "ba.cm"; cn: "ba.cn"; co: "ba.co"; cp: "ba.cp"; cq: "ba.cq"; cr: "ba.cr"; cs: "ba.cs"; ct: "ba.ct"; cu: "ba.cu"; cv: "ba.cv"; cw: "ba.cw"; cx: "ba.cx"; cy: "ba.cy"; cz: "ba.cz"; da: "ba.da"; db: "ba.db"; dc: "ba.dc"; dd: "ba.dd"; de: "ba.de"; df: "ba.df"; dg: "ba.dg"; dh: "ba.dh"; di: "ba.di"; dj: "ba.dj"; dk: "ba.dk"; dl: "ba.dl"; dm: "ba.dm"; dn: "ba.dn"; do: "ba.do"; dp: "ba.dp"; dq: "ba.dq"; dr: "ba.dr"; ds: "ba.ds"; dt: "ba.dt"; du: "ba.du"; dv: "ba.dv"; dw: "ba.dw"; dx: "ba.dx"; dy: "ba.dy"; dz: "ba.dz"; ea: "ba.ea"; eb: "ba.eb"; ec: "ba.ec"; ed: "ba.ed"; ee: "ba.ee"; ef: "ba.ef"; eg: "ba.eg"; eh: "ba.eh"; ei: "ba.ei"; ej: "ba.ej"; ek: "ba.ek"; el: "ba.el"; em: "ba.em"; en: "ba.en"; eo: "ba.eo"; ep: "ba.ep"; eq: "ba.eq"; er: "ba.er"; es: "ba.es"; et: "ba.et"; eu: "ba.eu"; ev: "ba.ev"; ew: "ba.ew"; ex: "ba.ex"; ey: "ba.ey"; ez: "ba.ez"; fa: "ba.fa"; fb: "ba.fb"; fc: "ba.fc"; fd: "ba.fd"; fe: "ba.fe"; ff: "ba.ff"; fg: "ba.fg"; fh: "ba.fh"; fi: "ba.fi"; fj: "ba.fj"; fk: "ba.fk"; fl: "ba.fl"; fm: "ba.fm"; fn: "ba.fn"; fo: "ba.fo"; fp: "ba.fp"; fq: "ba.fq"; fr: "ba.fr"; fs: "ba.fs"; ft: "ba.ft"; fu: "ba.fu"; fv: "ba.fv"; fw: "ba.fw"; fx: "ba.fx"; fy: "ba.fy"; fz: "ba.fz"; ga: "ba.ga"; gb: "ba.gb"; gc: "ba.gc"; gd: "ba.gd"; ge: "ba.ge"; gf: "ba.gf"; gg: "ba.gg"; gh: "ba.gh"; gi: "ba.gi"; gj: "ba.gj"; gk: "ba.gk"; gl: "ba.gl"; gm: "ba.gm"; gn: "ba.gn"; go: "ba.go"; gp: "ba.gp"; gq: "ba.gq"; gr: "ba.gr"; gs: "ba.gs"; gt: "ba.gt"; gu: "ba.gu"; gv: "ba.gv"; gw: "ba.gw"; gx: "ba.gx"; gy: "ba.gy"; gz: "ba.gz"; ha: "ba.ha"; hb: "ba.hb"; hc: "ba.hc"; hd: "ba.hd"; he: "ba.he"; hf: "ba.hf"; hg: "ba.hg"; hh: "ba.hh"; hi: "ba.hi"; hj: "ba.hj"; hk: "ba.hk"; hl: "ba.hl"; hm: "ba.hm"; hn: "ba.hn"; ho: "ba.ho"; hp: "ba.hp"; hq: "ba.hq"; hr: "ba.hr"; hs: "ba.hs"; ht: "ba.ht"; hu: "ba.hu"; hv: "ba.hv"; hw: "ba.hw"; hx: "ba.hx"; hy: "ba.hy"; hz: "ba.hz"; ia: "ba.ia"; ib: "ba.ib"; ic: "ba.ic"; id: "ba.id"; ie: "ba.ie"; if: "ba.if"; ig: "ba.ig"; ih: "ba.ih"; ii: "ba.ii"; ij: "ba.ij"; ik: "ba.ik"; il: "ba.il"; im: "ba.im"; in: "ba.in"; io: "ba.io"; ip: "ba.ip"; iq: "ba.iq"; ir: "ba.ir"; is: "ba.is"; it: "ba.it"; iu: "ba.iu"; iv: "ba.iv"; iw: "ba.iw"; ix: "ba.ix"; iy: "ba.iy"; iz: "ba.iz"; ja: "ba.ja"; jb: "ba.jb"; jc: "ba.jc"; jd: "ba.jd"; je: "ba.je"; jf: "ba.jf"; jg: "ba.jg"; jh: "ba.jh"; ji: "ba.ji"; jj: "ba.jj"; jk: "ba.jk"; jl: "ba.jl"; jm: "ba.jm"; jn: "ba.jn"; jo: "ba.jo"; jp: "ba.jp"; jq: "ba.jq"; jr: "ba.jr"; js: "ba.js"; jt: "ba.jt"; ju: "ba.ju"; jv: "ba.jv"; jw: "ba.jw"; jx: "ba.jx"; jy: "ba.jy"; jz: "ba.jz"; ka: "ba.ka"; kb: "ba.kb"; kc: "ba.kc"; kd: "ba.kd"; ke: "ba.ke"; kf: "ba.kf"; kg: "ba.kg"; kh: "ba.kh"; ki: "ba.ki"; kj: "ba.kj"; kk: "ba.kk"; kl: "ba.kl"; km: "ba.km"; kn: "ba.kn"; ko: "ba.ko"; kp: "ba.kp"; kq: "ba.kq"; kr: "ba.kr"; ks: "ba.ks"; kt: "ba.kt"; ku: "ba.ku"; kv: "ba.kv"; kw: "ba.kw"; kx: "ba.kx"; ky: "ba.ky"; kz: "ba.kz"; la: "ba.la"; lb: "ba.lb"; lc: "ba.lc"; ld: "ba.ld"; le: "ba.le"; lf: "ba.lf"; lg: "ba.lg"; lh: "ba.lh"; li: "ba.li"; lj: "ba.lj"; lk: "ba.lk"; ll: "ba.ll"; lm: "ba.lm"; ln: "ba.ln"; lo: "ba.lo"; lp: "ba.lp"; lq: "ba.lq"; lr: "ba.lr"; ls: "ba.ls"; lt: "ba.lt"; lu: "ba.lu"; lv: "ba.lv"; lw: "ba.lw"; lx: "ba.lx"; ly: "ba.ly"; lz: "ba.lz"; ma: "ba.ma"; mb: "ba.mb"; mc: "ba.mc"; md: "ba.md"; me: "ba.me"; mf: "ba.mf"; mg: "ba.mg"; mh: "ba.mh"; mi: "ba.mi"; mj: "ba.mj"; mk: "ba.mk"; ml: "ba.ml"; mm: "ba.mm"; mn: "ba.mn"; mo: "ba.mo"; mp: "ba.mp"; mq: "ba.mq"; mr: "ba.mr"; ms: "ba.ms"; mt: "ba.mt"; mu: "ba.mu"; mv: "ba.mv"; mw: "ba.mw"; mx: "ba.mx"; my: "ba.my"; mz: "ba.mz"; na: "ba.na"; nb: "ba.nb"; nc: "ba.nc"; nd: "ba.nd"; ne: "ba.ne"; nf: "ba.nf"; ng: "ba.ng"; nh: "ba.nh"; ni: "ba.ni"; nj: "ba.nj"; nk: "ba.nk"; nl: "ba.nl"; nm: "ba.nm"; nn: "ba.nn"; no: "ba.no"; np: "ba.np"; nq: "ba.nq"; nr: "ba.nr"; ns: "ba.ns"; nt: "ba.nt"; nu: "ba.nu"; nv: "ba.nv"; nw: "ba.nw"; nx: "ba.nx"; ny: "ba.ny"; nz: "ba.nz"; oa: "ba.oa"; ob: "ba.ob"; oc: "ba.oc"; od: "ba.od"; oe: "ba.oe"; of: "ba.of"; og: "ba.og"; oh: "ba.oh"; oi: "ba.oi"; oj: "ba.oj"; ok: "ba.ok"; ol: "ba.ol"; om: "ba.om"; on: "ba.on"; oo: "ba.oo"; op: "ba.op"; oq: "ba.oq"; or: "ba.or"; os: "ba.os"; ot: "ba.ot"; ou: "ba.ou"; ov: "ba.ov"; ow: "ba.ow"; ox: "ba.ox"; oy: "ba.oy"; oz: "ba.oz"; pa: "ba.pa"; pb: "ba.pb"; pc: "ba.pc"; pd: "ba.pd"; pe: "ba.pe"; pf: "ba.pf"; pg: "ba.pg"; ph: "ba.ph"; pi: "ba.pi"; pj: "ba.pj"; pk: "ba.pk"; pl: "ba.pl"; pm: "ba.pm"; pn: "ba.pn"; po: "ba.po"; pp: "ba.pp"; pq: "ba.pq"; pr: "ba.pr"; ps: "ba.ps"; pt: "ba.pt"; pu: "ba.pu"; pv: "ba.pv"; pw: "ba.pw"; px: "ba.px"; py: "ba.py"; pz: "ba.pz"; qa: "ba.qa"; qb: "ba.qb"; qc: "ba.qc"; qd: "ba.qd"; qe: "ba.qe"; qf: "ba.qf"; qg: "ba.qg"; qh: "ba.qh"; qi: "ba.qi"; qj: "ba.qj"; qk: "ba.qk"; ql: "ba.ql"; qm: "ba.qm"; qn: "ba.qn"; qo: "ba.qo"; qp: "ba.qp"; qq: "ba.qq"; qr: "ba.qr"; qs: "ba.qs"; qt: "ba.qt"; qu: "ba.qu"; qv: "ba.qv"; qw: "ba.qw"; qx: "ba.qx"; qy: "ba.qy"; qz: "ba.qz"; ra: "ba.ra"; rb: "ba.rb"; rc: "ba.rc"; rd: "ba.rd"; re: "ba.re"; rf: "ba.rf"; rg: "ba.rg"; rh: "ba.rh"; ri: "ba.ri"; rj: "ba.rj"; rk: "ba.rk"; rl: "ba.rl"; rm: "ba.rm"; rn: "ba.rn"; ro: "ba.ro"; rp: "ba.rp"; rq: "ba.rq"; rr: "ba.rr"; rs: "ba.rs"; rt: "ba.rt"; ru: "ba.ru"; rv: "ba.rv"; rw: "ba.rw"; rx: "ba.rx"; ry: "ba.ry"; rz: "ba.rz"; sa: "ba.sa"; sb: "ba.sb"; sc: "ba.sc"; sd: "ba.sd"; se: "ba.se"; sf: "ba.sf"; sg: "ba.sg"; sh: "ba.sh"; si: "ba.si"; sj: "ba.sj"; sk: "ba.sk"; sl: "ba.sl"; sm: "ba.sm"; sn: "ba.sn"; so: "ba.so"; sp: "ba.sp"; sq: "ba.sq"; sr: "ba.sr"; ss: "ba.ss"; st: "ba.st"; su: "ba.su"; sv: "ba.sv"; sw: "ba.sw"; sx: "ba.sx"; sy: "ba.sy"; sz: "ba.sz"; ta: "ba.ta"; tb: "ba.tb"; tc: "ba.tc"; td: "ba.td"; te: "ba.te"; tf: "ba.tf"; tg: "ba.tg"; th: "ba.th"; ti: "ba.ti"; tj: "ba.tj"; tk: "ba.tk"; tl: "ba.tl"; tm: "ba.tm"; tn: "ba.tn"; to: "ba.to"; tp: "ba.tp"; tq: "ba.tq"; tr: "ba.tr"; ts: "ba.ts"; tt: "ba.tt"; tu: "ba.tu"; tv: "ba.tv"; tw: "ba.tw"; tx: "ba.tx"; ty: "ba.ty"; tz: "ba.tz"; ua: "ba.ua"; ub: "ba.ub"; uc: "ba.uc"; ud: "ba.ud"; ue: "ba.ue"; uf: "ba.uf"; ug: "ba.ug"; uh: "ba.uh"; ui: "ba.ui"; uj: "ba.uj"; uk: "ba.uk"; ul: "ba.ul"; um: "ba.um"; un: "ba.un"; uo: "ba.uo"; up: "ba.up"; uq: "ba.uq"; ur: "ba.ur"; us: "ba.us"; ut: "ba.ut"; uu: "ba.uu"; uv: "ba.uv"; uw: "ba.uw"; ux: "ba.ux"; uy: "ba.uy"; uz: "ba.uz"; va: "ba.va"; vb: "ba.vb"; vc: "ba.vc"; vd: "ba.vd"; ve: "ba.ve"; vf: "ba.vf"; vg: "ba.vg"; vh: "ba.vh"; vi: "ba.vi"; vj: "ba.vj"; vk: "ba.vk"; vl: "ba.vl"; vm: "ba.vm"; vn: "ba.vn"; vo: "ba.vo"; vp: "ba.vp"; vq: "ba.vq"; vr: "ba.vr"; vs: "ba.vs"; vt: "ba.vt"; vu: "ba.vu"; vv: "ba.vv"; vw: "ba.vw"; vx: "ba.vx"; vy: "ba.vy"; vz: "ba.vz"; wa: "ba.wa"; wb: "ba.wb"; wc: "ba.wc"; wd: "ba.wd"; we: "ba.we"; wf: "ba.wf"; wg: "ba.wg"; wh: "ba.wh"; wi: "ba.wi"; wj: "ba.wj"; wk: "ba.wk"; wl: "ba.wl"; wm: "ba.wm"; wn: "ba.wn"; wo: "ba.wo"; wp: "ba.wp"; wq: "ba.wq"; wr: "ba.wr"; ws: "ba.ws"; wt: "ba.wt"; wu: "ba.wu"; wv: "ba.wv"; ww: "ba.ww"; wx: "ba.wx"; wy: "ba.wy"; wz: "ba.wz"; xa: "ba.xa"; xb: "ba.xb"; xc: "ba.xc"; xd: "ba.xd"; xe: "ba.xe"; xf: "ba.xf"; xg: "ba.xg"; xh: "ba.xh"; xi: "ba.xi"; xj: "ba.xj"; xk: "ba.xk"; xl: "ba.xl"; xm: "ba.xm"; xn: "ba.xn"; xo: "ba.xo"; xp: "ba.xp"; xq: "ba.xq"; xr: "ba.xr"; xs: "ba.xs"; xt: "ba.xt"; xu: "ba.xu"; xv: "ba.xv"; xw: "ba.xw"; xx: "ba.xx"; xy: "ba.xy"; xz: "ba.xz"; ya: "ba.ya"; yb: "ba.yb"; yc: "ba.yc"; yd: "ba.yd"; ye: "ba.ye"; yf: "ba.yf"; yg: "ba.yg"; yh: "ba.yh"; yi: "ba.yi"; yj: "ba.yj"; yk: "ba.yk"; yl: "ba.yl"; ym: "ba.ym"; yn: "ba.yn"; yo: "ba.yo"; yp: "ba.yp"; yq: "ba.yq"; yr: "ba.yr"; ys: "ba.ys"; yt: "ba.yt"; yu: "ba.yu"; yv: "ba.yv"; yw: "ba.yw"; yx: "ba.yx"; yy: "ba.yy"; yz: "ba.yz"; za: "ba.za"; zb: "ba.zb"; zc: "ba.zc"; zd: "ba.zd"; ze: "ba.ze"; zf: "ba.zf"; zg: "ba.zg"; zh: "ba.zh"; zi: "ba.zi"; zj: "ba.zj"; zk: "ba.zk"; zl: "ba.zl"; zm: "ba.zm"; zn: "ba.zn"; zo: "ba.zo"; zp: "ba.zp"; zq: "ba.zq"; zr: "ba.zr"; zs: "ba.zs"; zt: "ba.zt"; zu: "ba.zu"; zv: "ba.zv"; zw: "ba.zw"; zx: "ba.zx"; zy: "ba.zy"; zz: "ba.zz"; }; bb: { aa: "bb.aa"; ab: "bb.ab"; ac: "bb.ac"; ad: "bb.ad"; ae: "bb.ae"; af: "bb.af"; ag: "bb.ag"; ah: "bb.ah"; ai: "bb.ai"; aj: "bb.aj"; ak: "bb.ak"; al: "bb.al"; am: "bb.am"; an: "bb.an"; ao: "bb.ao"; ap: "bb.ap"; aq: "bb.aq"; ar: "bb.ar"; as: "bb.as"; at: "bb.at"; au: "bb.au"; av: "bb.av"; aw: "bb.aw"; ax: "bb.ax"; ay: "bb.ay"; az: "bb.az"; ba: "bb.ba"; bb: "bb.bb"; bc: "bb.bc"; bd: "bb.bd"; be: "bb.be"; bf: "bb.bf"; bg: "bb.bg"; bh: "bb.bh"; bi: "bb.bi"; bj: "bb.bj"; bk: "bb.bk"; bl: "bb.bl"; bm: "bb.bm"; bn: "bb.bn"; bo: "bb.bo"; bp: "bb.bp"; bq: "bb.bq"; br: "bb.br"; bs: "bb.bs"; bt: "bb.bt"; bu: "bb.bu"; bv: "bb.bv"; bw: "bb.bw"; bx: "bb.bx"; by: "bb.by"; bz: "bb.bz"; ca: "bb.ca"; cb: "bb.cb"; cc: "bb.cc"; cd: "bb.cd"; ce: "bb.ce"; cf: "bb.cf"; cg: "bb.cg"; ch: "bb.ch"; ci: "bb.ci"; cj: "bb.cj"; ck: "bb.ck"; cl: "bb.cl"; cm: "bb.cm"; cn: "bb.cn"; co: "bb.co"; cp: "bb.cp"; cq: "bb.cq"; cr: "bb.cr"; cs: "bb.cs"; ct: "bb.ct"; cu: "bb.cu"; cv: "bb.cv"; cw: "bb.cw"; cx: "bb.cx"; cy: "bb.cy"; cz: "bb.cz"; da: "bb.da"; db: "bb.db"; dc: "bb.dc"; dd: "bb.dd"; de: "bb.de"; df: "bb.df"; dg: "bb.dg"; dh: "bb.dh"; di: "bb.di"; dj: "bb.dj"; dk: "bb.dk"; dl: "bb.dl"; dm: "bb.dm"; dn: "bb.dn"; do: "bb.do"; dp: "bb.dp"; dq: "bb.dq"; dr: "bb.dr"; ds: "bb.ds"; dt: "bb.dt"; du: "bb.du"; dv: "bb.dv"; dw: "bb.dw"; dx: "bb.dx"; dy: "bb.dy"; dz: "bb.dz"; ea: "bb.ea"; eb: "bb.eb"; ec: "bb.ec"; ed: "bb.ed"; ee: "bb.ee"; ef: "bb.ef"; eg: "bb.eg"; eh: "bb.eh"; ei: "bb.ei"; ej: "bb.ej"; ek: "bb.ek"; el: "bb.el"; em: "bb.em"; en: "bb.en"; eo: "bb.eo"; ep: "bb.ep"; eq: "bb.eq"; er: "bb.er"; es: "bb.es"; et: "bb.et"; eu: "bb.eu"; ev: "bb.ev"; ew: "bb.ew"; ex: "bb.ex"; ey: "bb.ey"; ez: "bb.ez"; fa: "bb.fa"; fb: "bb.fb"; fc: "bb.fc"; fd: "bb.fd"; fe: "bb.fe"; ff: "bb.ff"; fg: "bb.fg"; fh: "bb.fh"; fi: "bb.fi"; fj: "bb.fj"; fk: "bb.fk"; fl: "bb.fl"; fm: "bb.fm"; fn: "bb.fn"; fo: "bb.fo"; fp: "bb.fp"; fq: "bb.fq"; fr: "bb.fr"; fs: "bb.fs"; ft: "bb.ft"; fu: "bb.fu"; fv: "bb.fv"; fw: "bb.fw"; fx: "bb.fx"; fy: "bb.fy"; fz: "bb.fz"; ga: "bb.ga"; gb: "bb.gb"; gc: "bb.gc"; gd: "bb.gd"; ge: "bb.ge"; gf: "bb.gf"; gg: "bb.gg"; gh: "bb.gh"; gi: "bb.gi"; gj: "bb.gj"; gk: "bb.gk"; gl: "bb.gl"; gm: "bb.gm"; gn: "bb.gn"; go: "bb.go"; gp: "bb.gp"; gq: "bb.gq"; gr: "bb.gr"; gs: "bb.gs"; gt: "bb.gt"; gu: "bb.gu"; gv: "bb.gv"; gw: "bb.gw"; gx: "bb.gx"; gy: "bb.gy"; gz: "bb.gz"; ha: "bb.ha"; hb: "bb.hb"; hc: "bb.hc"; hd: "bb.hd"; he: "bb.he"; hf: "bb.hf"; hg: "bb.hg"; hh: "bb.hh"; hi: "bb.hi"; hj: "bb.hj"; hk: "bb.hk"; hl: "bb.hl"; hm: "bb.hm"; hn: "bb.hn"; ho: "bb.ho"; hp: "bb.hp"; hq: "bb.hq"; hr: "bb.hr"; hs: "bb.hs"; ht: "bb.ht"; hu: "bb.hu"; hv: "bb.hv"; hw: "bb.hw"; hx: "bb.hx"; hy: "bb.hy"; hz: "bb.hz"; ia: "bb.ia"; ib: "bb.ib"; ic: "bb.ic"; id: "bb.id"; ie: "bb.ie"; if: "bb.if"; ig: "bb.ig"; ih: "bb.ih"; ii: "bb.ii"; ij: "bb.ij"; ik: "bb.ik"; il: "bb.il"; im: "bb.im"; in: "bb.in"; io: "bb.io"; ip: "bb.ip"; iq: "bb.iq"; ir: "bb.ir"; is: "bb.is"; it: "bb.it"; iu: "bb.iu"; iv: "bb.iv"; iw: "bb.iw"; ix: "bb.ix"; iy: "bb.iy"; iz: "bb.iz"; ja: "bb.ja"; jb: "bb.jb"; jc: "bb.jc"; jd: "bb.jd"; je: "bb.je"; jf: "bb.jf"; jg: "bb.jg"; jh: "bb.jh"; ji: "bb.ji"; jj: "bb.jj"; jk: "bb.jk"; jl: "bb.jl"; jm: "bb.jm"; jn: "bb.jn"; jo: "bb.jo"; jp: "bb.jp"; jq: "bb.jq"; jr: "bb.jr"; js: "bb.js"; jt: "bb.jt"; ju: "bb.ju"; jv: "bb.jv"; jw: "bb.jw"; jx: "bb.jx"; jy: "bb.jy"; jz: "bb.jz"; ka: "bb.ka"; kb: "bb.kb"; kc: "bb.kc"; kd: "bb.kd"; ke: "bb.ke"; kf: "bb.kf"; kg: "bb.kg"; kh: "bb.kh"; ki: "bb.ki"; kj: "bb.kj"; kk: "bb.kk"; kl: "bb.kl"; km: "bb.km"; kn: "bb.kn"; ko: "bb.ko"; kp: "bb.kp"; kq: "bb.kq"; kr: "bb.kr"; ks: "bb.ks"; kt: "bb.kt"; ku: "bb.ku"; kv: "bb.kv"; kw: "bb.kw"; kx: "bb.kx"; ky: "bb.ky"; kz: "bb.kz"; la: "bb.la"; lb: "bb.lb"; lc: "bb.lc"; ld: "bb.ld"; le: "bb.le"; lf: "bb.lf"; lg: "bb.lg"; lh: "bb.lh"; li: "bb.li"; lj: "bb.lj"; lk: "bb.lk"; ll: "bb.ll"; lm: "bb.lm"; ln: "bb.ln"; lo: "bb.lo"; lp: "bb.lp"; lq: "bb.lq"; lr: "bb.lr"; ls: "bb.ls"; lt: "bb.lt"; lu: "bb.lu"; lv: "bb.lv"; lw: "bb.lw"; lx: "bb.lx"; ly: "bb.ly"; lz: "bb.lz"; ma: "bb.ma"; mb: "bb.mb"; mc: "bb.mc"; md: "bb.md"; me: "bb.me"; mf: "bb.mf"; mg: "bb.mg"; mh: "bb.mh"; mi: "bb.mi"; mj: "bb.mj"; mk: "bb.mk"; ml: "bb.ml"; mm: "bb.mm"; mn: "bb.mn"; mo: "bb.mo"; mp: "bb.mp"; mq: "bb.mq"; mr: "bb.mr"; ms: "bb.ms"; mt: "bb.mt"; mu: "bb.mu"; mv: "bb.mv"; mw: "bb.mw"; mx: "bb.mx"; my: "bb.my"; mz: "bb.mz"; na: "bb.na"; nb: "bb.nb"; nc: "bb.nc"; nd: "bb.nd"; ne: "bb.ne"; nf: "bb.nf"; ng: "bb.ng"; nh: "bb.nh"; ni: "bb.ni"; nj: "bb.nj"; nk: "bb.nk"; nl: "bb.nl"; nm: "bb.nm"; nn: "bb.nn"; no: "bb.no"; np: "bb.np"; nq: "bb.nq"; nr: "bb.nr"; ns: "bb.ns"; nt: "bb.nt"; nu: "bb.nu"; nv: "bb.nv"; nw: "bb.nw"; nx: "bb.nx"; ny: "bb.ny"; nz: "bb.nz"; oa: "bb.oa"; ob: "bb.ob"; oc: "bb.oc"; od: "bb.od"; oe: "bb.oe"; of: "bb.of"; og: "bb.og"; oh: "bb.oh"; oi: "bb.oi"; oj: "bb.oj"; ok: "bb.ok"; ol: "bb.ol"; om: "bb.om"; on: "bb.on"; oo: "bb.oo"; op: "bb.op"; oq: "bb.oq"; or: "bb.or"; os: "bb.os"; ot: "bb.ot"; ou: "bb.ou"; ov: "bb.ov"; ow: "bb.ow"; ox: "bb.ox"; oy: "bb.oy"; oz: "bb.oz"; pa: "bb.pa"; pb: "bb.pb"; pc: "bb.pc"; pd: "bb.pd"; pe: "bb.pe"; pf: "bb.pf"; pg: "bb.pg"; ph: "bb.ph"; pi: "bb.pi"; pj: "bb.pj"; pk: "bb.pk"; pl: "bb.pl"; pm: "bb.pm"; pn: "bb.pn"; po: "bb.po"; pp: "bb.pp"; pq: "bb.pq"; pr: "bb.pr"; ps: "bb.ps"; pt: "bb.pt"; pu: "bb.pu"; pv: "bb.pv"; pw: "bb.pw"; px: "bb.px"; py: "bb.py"; pz: "bb.pz"; qa: "bb.qa"; qb: "bb.qb"; qc: "bb.qc"; qd: "bb.qd"; qe: "bb.qe"; qf: "bb.qf"; qg: "bb.qg"; qh: "bb.qh"; qi: "bb.qi"; qj: "bb.qj"; qk: "bb.qk"; ql: "bb.ql"; qm: "bb.qm"; qn: "bb.qn"; qo: "bb.qo"; qp: "bb.qp"; qq: "bb.qq"; qr: "bb.qr"; qs: "bb.qs"; qt: "bb.qt"; qu: "bb.qu"; qv: "bb.qv"; qw: "bb.qw"; qx: "bb.qx"; qy: "bb.qy"; qz: "bb.qz"; ra: "bb.ra"; rb: "bb.rb"; rc: "bb.rc"; rd: "bb.rd"; re: "bb.re"; rf: "bb.rf"; rg: "bb.rg"; rh: "bb.rh"; ri: "bb.ri"; rj: "bb.rj"; rk: "bb.rk"; rl: "bb.rl"; rm: "bb.rm"; rn: "bb.rn"; ro: "bb.ro"; rp: "bb.rp"; rq: "bb.rq"; rr: "bb.rr"; rs: "bb.rs"; rt: "bb.rt"; ru: "bb.ru"; rv: "bb.rv"; rw: "bb.rw"; rx: "bb.rx"; ry: "bb.ry"; rz: "bb.rz"; sa: "bb.sa"; sb: "bb.sb"; sc: "bb.sc"; sd: "bb.sd"; se: "bb.se"; sf: "bb.sf"; sg: "bb.sg"; sh: "bb.sh"; si: "bb.si"; sj: "bb.sj"; sk: "bb.sk"; sl: "bb.sl"; sm: "bb.sm"; sn: "bb.sn"; so: "bb.so"; sp: "bb.sp"; sq: "bb.sq"; sr: "bb.sr"; ss: "bb.ss"; st: "bb.st"; su: "bb.su"; sv: "bb.sv"; sw: "bb.sw"; sx: "bb.sx"; sy: "bb.sy"; sz: "bb.sz"; ta: "bb.ta"; tb: "bb.tb"; tc: "bb.tc"; td: "bb.td"; te: "bb.te"; tf: "bb.tf"; tg: "bb.tg"; th: "bb.th"; ti: "bb.ti"; tj: "bb.tj"; tk: "bb.tk"; tl: "bb.tl"; tm: "bb.tm"; tn: "bb.tn"; to: "bb.to"; tp: "bb.tp"; tq: "bb.tq"; tr: "bb.tr"; ts: "bb.ts"; tt: "bb.tt"; tu: "bb.tu"; tv: "bb.tv"; tw: "bb.tw"; tx: "bb.tx"; ty: "bb.ty"; tz: "bb.tz"; ua: "bb.ua"; ub: "bb.ub"; uc: "bb.uc"; ud: "bb.ud"; ue: "bb.ue"; uf: "bb.uf"; ug: "bb.ug"; uh: "bb.uh"; ui: "bb.ui"; uj: "bb.uj"; uk: "bb.uk"; ul: "bb.ul"; um: "bb.um"; un: "bb.un"; uo: "bb.uo"; up: "bb.up"; uq: "bb.uq"; ur: "bb.ur"; us: "bb.us"; ut: "bb.ut"; uu: "bb.uu"; uv: "bb.uv"; uw: "bb.uw"; ux: "bb.ux"; uy: "bb.uy"; uz: "bb.uz"; va: "bb.va"; vb: "bb.vb"; vc: "bb.vc"; vd: "bb.vd"; ve: "bb.ve"; vf: "bb.vf"; vg: "bb.vg"; vh: "bb.vh"; vi: "bb.vi"; vj: "bb.vj"; vk: "bb.vk"; vl: "bb.vl"; vm: "bb.vm"; vn: "bb.vn"; vo: "bb.vo"; vp: "bb.vp"; vq: "bb.vq"; vr: "bb.vr"; vs: "bb.vs"; vt: "bb.vt"; vu: "bb.vu"; vv: "bb.vv"; vw: "bb.vw"; vx: "bb.vx"; vy: "bb.vy"; vz: "bb.vz"; wa: "bb.wa"; wb: "bb.wb"; wc: "bb.wc"; wd: "bb.wd"; we: "bb.we"; wf: "bb.wf"; wg: "bb.wg"; wh: "bb.wh"; wi: "bb.wi"; wj: "bb.wj"; wk: "bb.wk"; wl: "bb.wl"; wm: "bb.wm"; wn: "bb.wn"; wo: "bb.wo"; wp: "bb.wp"; wq: "bb.wq"; wr: "bb.wr"; ws: "bb.ws"; wt: "bb.wt"; wu: "bb.wu"; wv: "bb.wv"; ww: "bb.ww"; wx: "bb.wx"; wy: "bb.wy"; wz: "bb.wz"; xa: "bb.xa"; xb: "bb.xb"; xc: "bb.xc"; xd: "bb.xd"; xe: "bb.xe"; xf: "bb.xf"; xg: "bb.xg"; xh: "bb.xh"; xi: "bb.xi"; xj: "bb.xj"; xk: "bb.xk"; xl: "bb.xl"; xm: "bb.xm"; xn: "bb.xn"; xo: "bb.xo"; xp: "bb.xp"; xq: "bb.xq"; xr: "bb.xr"; xs: "bb.xs"; xt: "bb.xt"; xu: "bb.xu"; xv: "bb.xv"; xw: "bb.xw"; xx: "bb.xx"; xy: "bb.xy"; xz: "bb.xz"; ya: "bb.ya"; yb: "bb.yb"; yc: "bb.yc"; yd: "bb.yd"; ye: "bb.ye"; yf: "bb.yf"; yg: "bb.yg"; yh: "bb.yh"; yi: "bb.yi"; yj: "bb.yj"; yk: "bb.yk"; yl: "bb.yl"; ym: "bb.ym"; yn: "bb.yn"; yo: "bb.yo"; yp: "bb.yp"; yq: "bb.yq"; yr: "bb.yr"; ys: "bb.ys"; yt: "bb.yt"; yu: "bb.yu"; yv: "bb.yv"; yw: "bb.yw"; yx: "bb.yx"; yy: "bb.yy"; yz: "bb.yz"; za: "bb.za"; zb: "bb.zb"; zc: "bb.zc"; zd: "bb.zd"; ze: "bb.ze"; zf: "bb.zf"; zg: "bb.zg"; zh: "bb.zh"; zi: "bb.zi"; zj: "bb.zj"; zk: "bb.zk"; zl: "bb.zl"; zm: "bb.zm"; zn: "bb.zn"; zo: "bb.zo"; zp: "bb.zp"; zq: "bb.zq"; zr: "bb.zr"; zs: "bb.zs"; zt: "bb.zt"; zu: "bb.zu"; zv: "bb.zv"; zw: "bb.zw"; zx: "bb.zx"; zy: "bb.zy"; zz: "bb.zz"; }; bc: { aa: "bc.aa"; ab: "bc.ab"; ac: "bc.ac"; ad: "bc.ad"; ae: "bc.ae"; af: "bc.af"; ag: "bc.ag"; ah: "bc.ah"; ai: "bc.ai"; aj: "bc.aj"; ak: "bc.ak"; al: "bc.al"; am: "bc.am"; an: "bc.an"; ao: "bc.ao"; ap: "bc.ap"; aq: "bc.aq"; ar: "bc.ar"; as: "bc.as"; at: "bc.at"; au: "bc.au"; av: "bc.av"; aw: "bc.aw"; ax: "bc.ax"; ay: "bc.ay"; az: "bc.az"; ba: "bc.ba"; bb: "bc.bb"; bc: "bc.bc"; bd: "bc.bd"; be: "bc.be"; bf: "bc.bf"; bg: "bc.bg"; bh: "bc.bh"; bi: "bc.bi"; bj: "bc.bj"; bk: "bc.bk"; bl: "bc.bl"; bm: "bc.bm"; bn: "bc.bn"; bo: "bc.bo"; bp: "bc.bp"; bq: "bc.bq"; br: "bc.br"; bs: "bc.bs"; bt: "bc.bt"; bu: "bc.bu"; bv: "bc.bv"; bw: "bc.bw"; bx: "bc.bx"; by: "bc.by"; bz: "bc.bz"; ca: "bc.ca"; cb: "bc.cb"; cc: "bc.cc"; cd: "bc.cd"; ce: "bc.ce"; cf: "bc.cf"; cg: "bc.cg"; ch: "bc.ch"; ci: "bc.ci"; cj: "bc.cj"; ck: "bc.ck"; cl: "bc.cl"; cm: "bc.cm"; cn: "bc.cn"; co: "bc.co"; cp: "bc.cp"; cq: "bc.cq"; cr: "bc.cr"; cs: "bc.cs"; ct: "bc.ct"; cu: "bc.cu"; cv: "bc.cv"; cw: "bc.cw"; cx: "bc.cx"; cy: "bc.cy"; cz: "bc.cz"; da: "bc.da"; db: "bc.db"; dc: "bc.dc"; dd: "bc.dd"; de: "bc.de"; df: "bc.df"; dg: "bc.dg"; dh: "bc.dh"; di: "bc.di"; dj: "bc.dj"; dk: "bc.dk"; dl: "bc.dl"; dm: "bc.dm"; dn: "bc.dn"; do: "bc.do"; dp: "bc.dp"; dq: "bc.dq"; dr: "bc.dr"; ds: "bc.ds"; dt: "bc.dt"; du: "bc.du"; dv: "bc.dv"; dw: "bc.dw"; dx: "bc.dx"; dy: "bc.dy"; dz: "bc.dz"; ea: "bc.ea"; eb: "bc.eb"; ec: "bc.ec"; ed: "bc.ed"; ee: "bc.ee"; ef: "bc.ef"; eg: "bc.eg"; eh: "bc.eh"; ei: "bc.ei"; ej: "bc.ej"; ek: "bc.ek"; el: "bc.el"; em: "bc.em"; en: "bc.en"; eo: "bc.eo"; ep: "bc.ep"; eq: "bc.eq"; er: "bc.er"; es: "bc.es"; et: "bc.et"; eu: "bc.eu"; ev: "bc.ev"; ew: "bc.ew"; ex: "bc.ex"; ey: "bc.ey"; ez: "bc.ez"; fa: "bc.fa"; fb: "bc.fb"; fc: "bc.fc"; fd: "bc.fd"; fe: "bc.fe"; ff: "bc.ff"; fg: "bc.fg"; fh: "bc.fh"; fi: "bc.fi"; fj: "bc.fj"; fk: "bc.fk"; fl: "bc.fl"; fm: "bc.fm"; fn: "bc.fn"; fo: "bc.fo"; fp: "bc.fp"; fq: "bc.fq"; fr: "bc.fr"; fs: "bc.fs"; ft: "bc.ft"; fu: "bc.fu"; fv: "bc.fv"; fw: "bc.fw"; fx: "bc.fx"; fy: "bc.fy"; fz: "bc.fz"; ga: "bc.ga"; gb: "bc.gb"; gc: "bc.gc"; gd: "bc.gd"; ge: "bc.ge"; gf: "bc.gf"; gg: "bc.gg"; gh: "bc.gh"; gi: "bc.gi"; gj: "bc.gj"; gk: "bc.gk"; gl: "bc.gl"; gm: "bc.gm"; gn: "bc.gn"; go: "bc.go"; gp: "bc.gp"; gq: "bc.gq"; gr: "bc.gr"; gs: "bc.gs"; gt: "bc.gt"; gu: "bc.gu"; gv: "bc.gv"; gw: "bc.gw"; gx: "bc.gx"; gy: "bc.gy"; gz: "bc.gz"; ha: "bc.ha"; hb: "bc.hb"; hc: "bc.hc"; hd: "bc.hd"; he: "bc.he"; hf: "bc.hf"; hg: "bc.hg"; hh: "bc.hh"; hi: "bc.hi"; hj: "bc.hj"; hk: "bc.hk"; hl: "bc.hl"; hm: "bc.hm"; hn: "bc.hn"; ho: "bc.ho"; hp: "bc.hp"; hq: "bc.hq"; hr: "bc.hr"; hs: "bc.hs"; ht: "bc.ht"; hu: "bc.hu"; hv: "bc.hv"; hw: "bc.hw"; hx: "bc.hx"; hy: "bc.hy"; hz: "bc.hz"; ia: "bc.ia"; ib: "bc.ib"; ic: "bc.ic"; id: "bc.id"; ie: "bc.ie"; if: "bc.if"; ig: "bc.ig"; ih: "bc.ih"; ii: "bc.ii"; ij: "bc.ij"; ik: "bc.ik"; il: "bc.il"; im: "bc.im"; in: "bc.in"; io: "bc.io"; ip: "bc.ip"; iq: "bc.iq"; ir: "bc.ir"; is: "bc.is"; it: "bc.it"; iu: "bc.iu"; iv: "bc.iv"; iw: "bc.iw"; ix: "bc.ix"; iy: "bc.iy"; iz: "bc.iz"; ja: "bc.ja"; jb: "bc.jb"; jc: "bc.jc"; jd: "bc.jd"; je: "bc.je"; jf: "bc.jf"; jg: "bc.jg"; jh: "bc.jh"; ji: "bc.ji"; jj: "bc.jj"; jk: "bc.jk"; jl: "bc.jl"; jm: "bc.jm"; jn: "bc.jn"; jo: "bc.jo"; jp: "bc.jp"; jq: "bc.jq"; jr: "bc.jr"; js: "bc.js"; jt: "bc.jt"; ju: "bc.ju"; jv: "bc.jv"; jw: "bc.jw"; jx: "bc.jx"; jy: "bc.jy"; jz: "bc.jz"; ka: "bc.ka"; kb: "bc.kb"; kc: "bc.kc"; kd: "bc.kd"; ke: "bc.ke"; kf: "bc.kf"; kg: "bc.kg"; kh: "bc.kh"; ki: "bc.ki"; kj: "bc.kj"; kk: "bc.kk"; kl: "bc.kl"; km: "bc.km"; kn: "bc.kn"; ko: "bc.ko"; kp: "bc.kp"; kq: "bc.kq"; kr: "bc.kr"; ks: "bc.ks"; kt: "bc.kt"; ku: "bc.ku"; kv: "bc.kv"; kw: "bc.kw"; kx: "bc.kx"; ky: "bc.ky"; kz: "bc.kz"; la: "bc.la"; lb: "bc.lb"; lc: "bc.lc"; ld: "bc.ld"; le: "bc.le"; lf: "bc.lf"; lg: "bc.lg"; lh: "bc.lh"; li: "bc.li"; lj: "bc.lj"; lk: "bc.lk"; ll: "bc.ll"; lm: "bc.lm"; ln: "bc.ln"; lo: "bc.lo"; lp: "bc.lp"; lq: "bc.lq"; lr: "bc.lr"; ls: "bc.ls"; lt: "bc.lt"; lu: "bc.lu"; lv: "bc.lv"; lw: "bc.lw"; lx: "bc.lx"; ly: "bc.ly"; lz: "bc.lz"; ma: "bc.ma"; mb: "bc.mb"; mc: "bc.mc"; md: "bc.md"; me: "bc.me"; mf: "bc.mf"; mg: "bc.mg"; mh: "bc.mh"; mi: "bc.mi"; mj: "bc.mj"; mk: "bc.mk"; ml: "bc.ml"; mm: "bc.mm"; mn: "bc.mn"; mo: "bc.mo"; mp: "bc.mp"; mq: "bc.mq"; mr: "bc.mr"; ms: "bc.ms"; mt: "bc.mt"; mu: "bc.mu"; mv: "bc.mv"; mw: "bc.mw"; mx: "bc.mx"; my: "bc.my"; mz: "bc.mz"; na: "bc.na"; nb: "bc.nb"; nc: "bc.nc"; nd: "bc.nd"; ne: "bc.ne"; nf: "bc.nf"; ng: "bc.ng"; nh: "bc.nh"; ni: "bc.ni"; nj: "bc.nj"; nk: "bc.nk"; nl: "bc.nl"; nm: "bc.nm"; nn: "bc.nn"; no: "bc.no"; np: "bc.np"; nq: "bc.nq"; nr: "bc.nr"; ns: "bc.ns"; nt: "bc.nt"; nu: "bc.nu"; nv: "bc.nv"; nw: "bc.nw"; nx: "bc.nx"; ny: "bc.ny"; nz: "bc.nz"; oa: "bc.oa"; ob: "bc.ob"; oc: "bc.oc"; od: "bc.od"; oe: "bc.oe"; of: "bc.of"; og: "bc.og"; oh: "bc.oh"; oi: "bc.oi"; oj: "bc.oj"; ok: "bc.ok"; ol: "bc.ol"; om: "bc.om"; on: "bc.on"; oo: "bc.oo"; op: "bc.op"; oq: "bc.oq"; or: "bc.or"; os: "bc.os"; ot: "bc.ot"; ou: "bc.ou"; ov: "bc.ov"; ow: "bc.ow"; ox: "bc.ox"; oy: "bc.oy"; oz: "bc.oz"; pa: "bc.pa"; pb: "bc.pb"; pc: "bc.pc"; pd: "bc.pd"; pe: "bc.pe"; pf: "bc.pf"; pg: "bc.pg"; ph: "bc.ph"; pi: "bc.pi"; pj: "bc.pj"; pk: "bc.pk"; pl: "bc.pl"; pm: "bc.pm"; pn: "bc.pn"; po: "bc.po"; pp: "bc.pp"; pq: "bc.pq"; pr: "bc.pr"; ps: "bc.ps"; pt: "bc.pt"; pu: "bc.pu"; pv: "bc.pv"; pw: "bc.pw"; px: "bc.px"; py: "bc.py"; pz: "bc.pz"; qa: "bc.qa"; qb: "bc.qb"; qc: "bc.qc"; qd: "bc.qd"; qe: "bc.qe"; qf: "bc.qf"; qg: "bc.qg"; qh: "bc.qh"; qi: "bc.qi"; qj: "bc.qj"; qk: "bc.qk"; ql: "bc.ql"; qm: "bc.qm"; qn: "bc.qn"; qo: "bc.qo"; qp: "bc.qp"; qq: "bc.qq"; qr: "bc.qr"; qs: "bc.qs"; qt: "bc.qt"; qu: "bc.qu"; qv: "bc.qv"; qw: "bc.qw"; qx: "bc.qx"; qy: "bc.qy"; qz: "bc.qz"; ra: "bc.ra"; rb: "bc.rb"; rc: "bc.rc"; rd: "bc.rd"; re: "bc.re"; rf: "bc.rf"; rg: "bc.rg"; rh: "bc.rh"; ri: "bc.ri"; rj: "bc.rj"; rk: "bc.rk"; rl: "bc.rl"; rm: "bc.rm"; rn: "bc.rn"; ro: "bc.ro"; rp: "bc.rp"; rq: "bc.rq"; rr: "bc.rr"; rs: "bc.rs"; rt: "bc.rt"; ru: "bc.ru"; rv: "bc.rv"; rw: "bc.rw"; rx: "bc.rx"; ry: "bc.ry"; rz: "bc.rz"; sa: "bc.sa"; sb: "bc.sb"; sc: "bc.sc"; sd: "bc.sd"; se: "bc.se"; sf: "bc.sf"; sg: "bc.sg"; sh: "bc.sh"; si: "bc.si"; sj: "bc.sj"; sk: "bc.sk"; sl: "bc.sl"; sm: "bc.sm"; sn: "bc.sn"; so: "bc.so"; sp: "bc.sp"; sq: "bc.sq"; sr: "bc.sr"; ss: "bc.ss"; st: "bc.st"; su: "bc.su"; sv: "bc.sv"; sw: "bc.sw"; sx: "bc.sx"; sy: "bc.sy"; sz: "bc.sz"; ta: "bc.ta"; tb: "bc.tb"; tc: "bc.tc"; td: "bc.td"; te: "bc.te"; tf: "bc.tf"; tg: "bc.tg"; th: "bc.th"; ti: "bc.ti"; tj: "bc.tj"; tk: "bc.tk"; tl: "bc.tl"; tm: "bc.tm"; tn: "bc.tn"; to: "bc.to"; tp: "bc.tp"; tq: "bc.tq"; tr: "bc.tr"; ts: "bc.ts"; tt: "bc.tt"; tu: "bc.tu"; tv: "bc.tv"; tw: "bc.tw"; tx: "bc.tx"; ty: "bc.ty"; tz: "bc.tz"; ua: "bc.ua"; ub: "bc.ub"; uc: "bc.uc"; ud: "bc.ud"; ue: "bc.ue"; uf: "bc.uf"; ug: "bc.ug"; uh: "bc.uh"; ui: "bc.ui"; uj: "bc.uj"; uk: "bc.uk"; ul: "bc.ul"; um: "bc.um"; un: "bc.un"; uo: "bc.uo"; up: "bc.up"; uq: "bc.uq"; ur: "bc.ur"; us: "bc.us"; ut: "bc.ut"; uu: "bc.uu"; uv: "bc.uv"; uw: "bc.uw"; ux: "bc.ux"; uy: "bc.uy"; uz: "bc.uz"; va: "bc.va"; vb: "bc.vb"; vc: "bc.vc"; vd: "bc.vd"; ve: "bc.ve"; vf: "bc.vf"; vg: "bc.vg"; vh: "bc.vh"; vi: "bc.vi"; vj: "bc.vj"; vk: "bc.vk"; vl: "bc.vl"; vm: "bc.vm"; vn: "bc.vn"; vo: "bc.vo"; vp: "bc.vp"; vq: "bc.vq"; vr: "bc.vr"; vs: "bc.vs"; vt: "bc.vt"; vu: "bc.vu"; vv: "bc.vv"; vw: "bc.vw"; vx: "bc.vx"; vy: "bc.vy"; vz: "bc.vz"; wa: "bc.wa"; wb: "bc.wb"; wc: "bc.wc"; wd: "bc.wd"; we: "bc.we"; wf: "bc.wf"; wg: "bc.wg"; wh: "bc.wh"; wi: "bc.wi"; wj: "bc.wj"; wk: "bc.wk"; wl: "bc.wl"; wm: "bc.wm"; wn: "bc.wn"; wo: "bc.wo"; wp: "bc.wp"; wq: "bc.wq"; wr: "bc.wr"; ws: "bc.ws"; wt: "bc.wt"; wu: "bc.wu"; wv: "bc.wv"; ww: "bc.ww"; wx: "bc.wx"; wy: "bc.wy"; wz: "bc.wz"; xa: "bc.xa"; xb: "bc.xb"; xc: "bc.xc"; xd: "bc.xd"; xe: "bc.xe"; xf: "bc.xf"; xg: "bc.xg"; xh: "bc.xh"; xi: "bc.xi"; xj: "bc.xj"; xk: "bc.xk"; xl: "bc.xl"; xm: "bc.xm"; xn: "bc.xn"; xo: "bc.xo"; xp: "bc.xp"; xq: "bc.xq"; xr: "bc.xr"; xs: "bc.xs"; xt: "bc.xt"; xu: "bc.xu"; xv: "bc.xv"; xw: "bc.xw"; xx: "bc.xx"; xy: "bc.xy"; xz: "bc.xz"; ya: "bc.ya"; yb: "bc.yb"; yc: "bc.yc"; yd: "bc.yd"; ye: "bc.ye"; yf: "bc.yf"; yg: "bc.yg"; yh: "bc.yh"; yi: "bc.yi"; yj: "bc.yj"; yk: "bc.yk"; yl: "bc.yl"; ym: "bc.ym"; yn: "bc.yn"; yo: "bc.yo"; yp: "bc.yp"; yq: "bc.yq"; yr: "bc.yr"; ys: "bc.ys"; yt: "bc.yt"; yu: "bc.yu"; yv: "bc.yv"; yw: "bc.yw"; yx: "bc.yx"; yy: "bc.yy"; yz: "bc.yz"; za: "bc.za"; zb: "bc.zb"; zc: "bc.zc"; zd: "bc.zd"; ze: "bc.ze"; zf: "bc.zf"; zg: "bc.zg"; zh: "bc.zh"; zi: "bc.zi"; zj: "bc.zj"; zk: "bc.zk"; zl: "bc.zl"; zm: "bc.zm"; zn: "bc.zn"; zo: "bc.zo"; zp: "bc.zp"; zq: "bc.zq"; zr: "bc.zr"; zs: "bc.zs"; zt: "bc.zt"; zu: "bc.zu"; zv: "bc.zv"; zw: "bc.zw"; zx: "bc.zx"; zy: "bc.zy"; zz: "bc.zz"; }; bd: { aa: "bd.aa"; ab: "bd.ab"; ac: "bd.ac"; ad: "bd.ad"; ae: "bd.ae"; af: "bd.af"; ag: "bd.ag"; ah: "bd.ah"; ai: "bd.ai"; aj: "bd.aj"; ak: "bd.ak"; al: "bd.al"; am: "bd.am"; an: "bd.an"; ao: "bd.ao"; ap: "bd.ap"; aq: "bd.aq"; ar: "bd.ar"; as: "bd.as"; at: "bd.at"; au: "bd.au"; av: "bd.av"; aw: "bd.aw"; ax: "bd.ax"; ay: "bd.ay"; az: "bd.az"; ba: "bd.ba"; bb: "bd.bb"; bc: "bd.bc"; bd: "bd.bd"; be: "bd.be"; bf: "bd.bf"; bg: "bd.bg"; bh: "bd.bh"; bi: "bd.bi"; bj: "bd.bj"; bk: "bd.bk"; bl: "bd.bl"; bm: "bd.bm"; bn: "bd.bn"; bo: "bd.bo"; bp: "bd.bp"; bq: "bd.bq"; br: "bd.br"; bs: "bd.bs"; bt: "bd.bt"; bu: "bd.bu"; bv: "bd.bv"; bw: "bd.bw"; bx: "bd.bx"; by: "bd.by"; bz: "bd.bz"; ca: "bd.ca"; cb: "bd.cb"; cc: "bd.cc"; cd: "bd.cd"; ce: "bd.ce"; cf: "bd.cf"; cg: "bd.cg"; ch: "bd.ch"; ci: "bd.ci"; cj: "bd.cj"; ck: "bd.ck"; cl: "bd.cl"; cm: "bd.cm"; cn: "bd.cn"; co: "bd.co"; cp: "bd.cp"; cq: "bd.cq"; cr: "bd.cr"; cs: "bd.cs"; ct: "bd.ct"; cu: "bd.cu"; cv: "bd.cv"; cw: "bd.cw"; cx: "bd.cx"; cy: "bd.cy"; cz: "bd.cz"; da: "bd.da"; db: "bd.db"; dc: "bd.dc"; dd: "bd.dd"; de: "bd.de"; df: "bd.df"; dg: "bd.dg"; dh: "bd.dh"; di: "bd.di"; dj: "bd.dj"; dk: "bd.dk"; dl: "bd.dl"; dm: "bd.dm"; dn: "bd.dn"; do: "bd.do"; dp: "bd.dp"; dq: "bd.dq"; dr: "bd.dr"; ds: "bd.ds"; dt: "bd.dt"; du: "bd.du"; dv: "bd.dv"; dw: "bd.dw"; dx: "bd.dx"; dy: "bd.dy"; dz: "bd.dz"; ea: "bd.ea"; eb: "bd.eb"; ec: "bd.ec"; ed: "bd.ed"; ee: "bd.ee"; ef: "bd.ef"; eg: "bd.eg"; eh: "bd.eh"; ei: "bd.ei"; ej: "bd.ej"; ek: "bd.ek"; el: "bd.el"; em: "bd.em"; en: "bd.en"; eo: "bd.eo"; ep: "bd.ep"; eq: "bd.eq"; er: "bd.er"; es: "bd.es"; et: "bd.et"; eu: "bd.eu"; ev: "bd.ev"; ew: "bd.ew"; ex: "bd.ex"; ey: "bd.ey"; ez: "bd.ez"; fa: "bd.fa"; fb: "bd.fb"; fc: "bd.fc"; fd: "bd.fd"; fe: "bd.fe"; ff: "bd.ff"; fg: "bd.fg"; fh: "bd.fh"; fi: "bd.fi"; fj: "bd.fj"; fk: "bd.fk"; fl: "bd.fl"; fm: "bd.fm"; fn: "bd.fn"; fo: "bd.fo"; fp: "bd.fp"; fq: "bd.fq"; fr: "bd.fr"; fs: "bd.fs"; ft: "bd.ft"; fu: "bd.fu"; fv: "bd.fv"; fw: "bd.fw"; fx: "bd.fx"; fy: "bd.fy"; fz: "bd.fz"; ga: "bd.ga"; gb: "bd.gb"; gc: "bd.gc"; gd: "bd.gd"; ge: "bd.ge"; gf: "bd.gf"; gg: "bd.gg"; gh: "bd.gh"; gi: "bd.gi"; gj: "bd.gj"; gk: "bd.gk"; gl: "bd.gl"; gm: "bd.gm"; gn: "bd.gn"; go: "bd.go"; gp: "bd.gp"; gq: "bd.gq"; gr: "bd.gr"; gs: "bd.gs"; gt: "bd.gt"; gu: "bd.gu"; gv: "bd.gv"; gw: "bd.gw"; gx: "bd.gx"; gy: "bd.gy"; gz: "bd.gz"; ha: "bd.ha"; hb: "bd.hb"; hc: "bd.hc"; hd: "bd.hd"; he: "bd.he"; hf: "bd.hf"; hg: "bd.hg"; hh: "bd.hh"; hi: "bd.hi"; hj: "bd.hj"; hk: "bd.hk"; hl: "bd.hl"; hm: "bd.hm"; hn: "bd.hn"; ho: "bd.ho"; hp: "bd.hp"; hq: "bd.hq"; hr: "bd.hr"; hs: "bd.hs"; ht: "bd.ht"; hu: "bd.hu"; hv: "bd.hv"; hw: "bd.hw"; hx: "bd.hx"; hy: "bd.hy"; hz: "bd.hz"; ia: "bd.ia"; ib: "bd.ib"; ic: "bd.ic"; id: "bd.id"; ie: "bd.ie"; if: "bd.if"; ig: "bd.ig"; ih: "bd.ih"; ii: "bd.ii"; ij: "bd.ij"; ik: "bd.ik"; il: "bd.il"; im: "bd.im"; in: "bd.in"; io: "bd.io"; ip: "bd.ip"; iq: "bd.iq"; ir: "bd.ir"; is: "bd.is"; it: "bd.it"; iu: "bd.iu"; iv: "bd.iv"; iw: "bd.iw"; ix: "bd.ix"; iy: "bd.iy"; iz: "bd.iz"; ja: "bd.ja"; jb: "bd.jb"; jc: "bd.jc"; jd: "bd.jd"; je: "bd.je"; jf: "bd.jf"; jg: "bd.jg"; jh: "bd.jh"; ji: "bd.ji"; jj: "bd.jj"; jk: "bd.jk"; jl: "bd.jl"; jm: "bd.jm"; jn: "bd.jn"; jo: "bd.jo"; jp: "bd.jp"; jq: "bd.jq"; jr: "bd.jr"; js: "bd.js"; jt: "bd.jt"; ju: "bd.ju"; jv: "bd.jv"; jw: "bd.jw"; jx: "bd.jx"; jy: "bd.jy"; jz: "bd.jz"; ka: "bd.ka"; kb: "bd.kb"; kc: "bd.kc"; kd: "bd.kd"; ke: "bd.ke"; kf: "bd.kf"; kg: "bd.kg"; kh: "bd.kh"; ki: "bd.ki"; kj: "bd.kj"; kk: "bd.kk"; kl: "bd.kl"; km: "bd.km"; kn: "bd.kn"; ko: "bd.ko"; kp: "bd.kp"; kq: "bd.kq"; kr: "bd.kr"; ks: "bd.ks"; kt: "bd.kt"; ku: "bd.ku"; kv: "bd.kv"; kw: "bd.kw"; kx: "bd.kx"; ky: "bd.ky"; kz: "bd.kz"; la: "bd.la"; lb: "bd.lb"; lc: "bd.lc"; ld: "bd.ld"; le: "bd.le"; lf: "bd.lf"; lg: "bd.lg"; lh: "bd.lh"; li: "bd.li"; lj: "bd.lj"; lk: "bd.lk"; ll: "bd.ll"; lm: "bd.lm"; ln: "bd.ln"; lo: "bd.lo"; lp: "bd.lp"; lq: "bd.lq"; lr: "bd.lr"; ls: "bd.ls"; lt: "bd.lt"; lu: "bd.lu"; lv: "bd.lv"; lw: "bd.lw"; lx: "bd.lx"; ly: "bd.ly"; lz: "bd.lz"; ma: "bd.ma"; mb: "bd.mb"; mc: "bd.mc"; md: "bd.md"; me: "bd.me"; mf: "bd.mf"; mg: "bd.mg"; mh: "bd.mh"; mi: "bd.mi"; mj: "bd.mj"; mk: "bd.mk"; ml: "bd.ml"; mm: "bd.mm"; mn: "bd.mn"; mo: "bd.mo"; mp: "bd.mp"; mq: "bd.mq"; mr: "bd.mr"; ms: "bd.ms"; mt: "bd.mt"; mu: "bd.mu"; mv: "bd.mv"; mw: "bd.mw"; mx: "bd.mx"; my: "bd.my"; mz: "bd.mz"; na: "bd.na"; nb: "bd.nb"; nc: "bd.nc"; nd: "bd.nd"; ne: "bd.ne"; nf: "bd.nf"; ng: "bd.ng"; nh: "bd.nh"; ni: "bd.ni"; nj: "bd.nj"; nk: "bd.nk"; nl: "bd.nl"; nm: "bd.nm"; nn: "bd.nn"; no: "bd.no"; np: "bd.np"; nq: "bd.nq"; nr: "bd.nr"; ns: "bd.ns"; nt: "bd.nt"; nu: "bd.nu"; nv: "bd.nv"; nw: "bd.nw"; nx: "bd.nx"; ny: "bd.ny"; nz: "bd.nz"; oa: "bd.oa"; ob: "bd.ob"; oc: "bd.oc"; od: "bd.od"; oe: "bd.oe"; of: "bd.of"; og: "bd.og"; oh: "bd.oh"; oi: "bd.oi"; oj: "bd.oj"; ok: "bd.ok"; ol: "bd.ol"; om: "bd.om"; on: "bd.on"; oo: "bd.oo"; op: "bd.op"; oq: "bd.oq"; or: "bd.or"; os: "bd.os"; ot: "bd.ot"; ou: "bd.ou"; ov: "bd.ov"; ow: "bd.ow"; ox: "bd.ox"; oy: "bd.oy"; oz: "bd.oz"; pa: "bd.pa"; pb: "bd.pb"; pc: "bd.pc"; pd: "bd.pd"; pe: "bd.pe"; pf: "bd.pf"; pg: "bd.pg"; ph: "bd.ph"; pi: "bd.pi"; pj: "bd.pj"; pk: "bd.pk"; pl: "bd.pl"; pm: "bd.pm"; pn: "bd.pn"; po: "bd.po"; pp: "bd.pp"; pq: "bd.pq"; pr: "bd.pr"; ps: "bd.ps"; pt: "bd.pt"; pu: "bd.pu"; pv: "bd.pv"; pw: "bd.pw"; px: "bd.px"; py: "bd.py"; pz: "bd.pz"; qa: "bd.qa"; qb: "bd.qb"; qc: "bd.qc"; qd: "bd.qd"; qe: "bd.qe"; qf: "bd.qf"; qg: "bd.qg"; qh: "bd.qh"; qi: "bd.qi"; qj: "bd.qj"; qk: "bd.qk"; ql: "bd.ql"; qm: "bd.qm"; qn: "bd.qn"; qo: "bd.qo"; qp: "bd.qp"; qq: "bd.qq"; qr: "bd.qr"; qs: "bd.qs"; qt: "bd.qt"; qu: "bd.qu"; qv: "bd.qv"; qw: "bd.qw"; qx: "bd.qx"; qy: "bd.qy"; qz: "bd.qz"; ra: "bd.ra"; rb: "bd.rb"; rc: "bd.rc"; rd: "bd.rd"; re: "bd.re"; rf: "bd.rf"; rg: "bd.rg"; rh: "bd.rh"; ri: "bd.ri"; rj: "bd.rj"; rk: "bd.rk"; rl: "bd.rl"; rm: "bd.rm"; rn: "bd.rn"; ro: "bd.ro"; rp: "bd.rp"; rq: "bd.rq"; rr: "bd.rr"; rs: "bd.rs"; rt: "bd.rt"; ru: "bd.ru"; rv: "bd.rv"; rw: "bd.rw"; rx: "bd.rx"; ry: "bd.ry"; rz: "bd.rz"; sa: "bd.sa"; sb: "bd.sb"; sc: "bd.sc"; sd: "bd.sd"; se: "bd.se"; sf: "bd.sf"; sg: "bd.sg"; sh: "bd.sh"; si: "bd.si"; sj: "bd.sj"; sk: "bd.sk"; sl: "bd.sl"; sm: "bd.sm"; sn: "bd.sn"; so: "bd.so"; sp: "bd.sp"; sq: "bd.sq"; sr: "bd.sr"; ss: "bd.ss"; st: "bd.st"; su: "bd.su"; sv: "bd.sv"; sw: "bd.sw"; sx: "bd.sx"; sy: "bd.sy"; sz: "bd.sz"; ta: "bd.ta"; tb: "bd.tb"; tc: "bd.tc"; td: "bd.td"; te: "bd.te"; tf: "bd.tf"; tg: "bd.tg"; th: "bd.th"; ti: "bd.ti"; tj: "bd.tj"; tk: "bd.tk"; tl: "bd.tl"; tm: "bd.tm"; tn: "bd.tn"; to: "bd.to"; tp: "bd.tp"; tq: "bd.tq"; tr: "bd.tr"; ts: "bd.ts"; tt: "bd.tt"; tu: "bd.tu"; tv: "bd.tv"; tw: "bd.tw"; tx: "bd.tx"; ty: "bd.ty"; tz: "bd.tz"; ua: "bd.ua"; ub: "bd.ub"; uc: "bd.uc"; ud: "bd.ud"; ue: "bd.ue"; uf: "bd.uf"; ug: "bd.ug"; uh: "bd.uh"; ui: "bd.ui"; uj: "bd.uj"; uk: "bd.uk"; ul: "bd.ul"; um: "bd.um"; un: "bd.un"; uo: "bd.uo"; up: "bd.up"; uq: "bd.uq"; ur: "bd.ur"; us: "bd.us"; ut: "bd.ut"; uu: "bd.uu"; uv: "bd.uv"; uw: "bd.uw"; ux: "bd.ux"; uy: "bd.uy"; uz: "bd.uz"; va: "bd.va"; vb: "bd.vb"; vc: "bd.vc"; vd: "bd.vd"; ve: "bd.ve"; vf: "bd.vf"; vg: "bd.vg"; vh: "bd.vh"; vi: "bd.vi"; vj: "bd.vj"; vk: "bd.vk"; vl: "bd.vl"; vm: "bd.vm"; vn: "bd.vn"; vo: "bd.vo"; vp: "bd.vp"; vq: "bd.vq"; vr: "bd.vr"; vs: "bd.vs"; vt: "bd.vt"; vu: "bd.vu"; vv: "bd.vv"; vw: "bd.vw"; vx: "bd.vx"; vy: "bd.vy"; vz: "bd.vz"; wa: "bd.wa"; wb: "bd.wb"; wc: "bd.wc"; wd: "bd.wd"; we: "bd.we"; wf: "bd.wf"; wg: "bd.wg"; wh: "bd.wh"; wi: "bd.wi"; wj: "bd.wj"; wk: "bd.wk"; wl: "bd.wl"; wm: "bd.wm"; wn: "bd.wn"; wo: "bd.wo"; wp: "bd.wp"; wq: "bd.wq"; wr: "bd.wr"; ws: "bd.ws"; wt: "bd.wt"; wu: "bd.wu"; wv: "bd.wv"; ww: "bd.ww"; wx: "bd.wx"; wy: "bd.wy"; wz: "bd.wz"; xa: "bd.xa"; xb: "bd.xb"; xc: "bd.xc"; xd: "bd.xd"; xe: "bd.xe"; xf: "bd.xf"; xg: "bd.xg"; xh: "bd.xh"; xi: "bd.xi"; xj: "bd.xj"; xk: "bd.xk"; xl: "bd.xl"; xm: "bd.xm"; xn: "bd.xn"; xo: "bd.xo"; xp: "bd.xp"; xq: "bd.xq"; xr: "bd.xr"; xs: "bd.xs"; xt: "bd.xt"; xu: "bd.xu"; xv: "bd.xv"; xw: "bd.xw"; xx: "bd.xx"; xy: "bd.xy"; xz: "bd.xz"; ya: "bd.ya"; yb: "bd.yb"; yc: "bd.yc"; yd: "bd.yd"; ye: "bd.ye"; yf: "bd.yf"; yg: "bd.yg"; yh: "bd.yh"; yi: "bd.yi"; yj: "bd.yj"; yk: "bd.yk"; yl: "bd.yl"; ym: "bd.ym"; yn: "bd.yn"; yo: "bd.yo"; yp: "bd.yp"; yq: "bd.yq"; yr: "bd.yr"; ys: "bd.ys"; yt: "bd.yt"; yu: "bd.yu"; yv: "bd.yv"; yw: "bd.yw"; yx: "bd.yx"; yy: "bd.yy"; yz: "bd.yz"; za: "bd.za"; zb: "bd.zb"; zc: "bd.zc"; zd: "bd.zd"; ze: "bd.ze"; zf: "bd.zf"; zg: "bd.zg"; zh: "bd.zh"; zi: "bd.zi"; zj: "bd.zj"; zk: "bd.zk"; zl: "bd.zl"; zm: "bd.zm"; zn: "bd.zn"; zo: "bd.zo"; zp: "bd.zp"; zq: "bd.zq"; zr: "bd.zr"; zs: "bd.zs"; zt: "bd.zt"; zu: "bd.zu"; zv: "bd.zv"; zw: "bd.zw"; zx: "bd.zx"; zy: "bd.zy"; zz: "bd.zz"; }; be: { aa: "be.aa"; ab: "be.ab"; ac: "be.ac"; ad: "be.ad"; ae: "be.ae"; af: "be.af"; ag: "be.ag"; ah: "be.ah"; ai: "be.ai"; aj: "be.aj"; ak: "be.ak"; al: "be.al"; am: "be.am"; an: "be.an"; ao: "be.ao"; ap: "be.ap"; aq: "be.aq"; ar: "be.ar"; as: "be.as"; at: "be.at"; au: "be.au"; av: "be.av"; aw: "be.aw"; ax: "be.ax"; ay: "be.ay"; az: "be.az"; ba: "be.ba"; bb: "be.bb"; bc: "be.bc"; bd: "be.bd"; be: "be.be"; bf: "be.bf"; bg: "be.bg"; bh: "be.bh"; bi: "be.bi"; bj: "be.bj"; bk: "be.bk"; bl: "be.bl"; bm: "be.bm"; bn: "be.bn"; bo: "be.bo"; bp: "be.bp"; bq: "be.bq"; br: "be.br"; bs: "be.bs"; bt: "be.bt"; bu: "be.bu"; bv: "be.bv"; bw: "be.bw"; bx: "be.bx"; by: "be.by"; bz: "be.bz"; ca: "be.ca"; cb: "be.cb"; cc: "be.cc"; cd: "be.cd"; ce: "be.ce"; cf: "be.cf"; cg: "be.cg"; ch: "be.ch"; ci: "be.ci"; cj: "be.cj"; ck: "be.ck"; cl: "be.cl"; cm: "be.cm"; cn: "be.cn"; co: "be.co"; cp: "be.cp"; cq: "be.cq"; cr: "be.cr"; cs: "be.cs"; ct: "be.ct"; cu: "be.cu"; cv: "be.cv"; cw: "be.cw"; cx: "be.cx"; cy: "be.cy"; cz: "be.cz"; da: "be.da"; db: "be.db"; dc: "be.dc"; dd: "be.dd"; de: "be.de"; df: "be.df"; dg: "be.dg"; dh: "be.dh"; di: "be.di"; dj: "be.dj"; dk: "be.dk"; dl: "be.dl"; dm: "be.dm"; dn: "be.dn"; do: "be.do"; dp: "be.dp"; dq: "be.dq"; dr: "be.dr"; ds: "be.ds"; dt: "be.dt"; du: "be.du"; dv: "be.dv"; dw: "be.dw"; dx: "be.dx"; dy: "be.dy"; dz: "be.dz"; ea: "be.ea"; eb: "be.eb"; ec: "be.ec"; ed: "be.ed"; ee: "be.ee"; ef: "be.ef"; eg: "be.eg"; eh: "be.eh"; ei: "be.ei"; ej: "be.ej"; ek: "be.ek"; el: "be.el"; em: "be.em"; en: "be.en"; eo: "be.eo"; ep: "be.ep"; eq: "be.eq"; er: "be.er"; es: "be.es"; et: "be.et"; eu: "be.eu"; ev: "be.ev"; ew: "be.ew"; ex: "be.ex"; ey: "be.ey"; ez: "be.ez"; fa: "be.fa"; fb: "be.fb"; fc: "be.fc"; fd: "be.fd"; fe: "be.fe"; ff: "be.ff"; fg: "be.fg"; fh: "be.fh"; fi: "be.fi"; fj: "be.fj"; fk: "be.fk"; fl: "be.fl"; fm: "be.fm"; fn: "be.fn"; fo: "be.fo"; fp: "be.fp"; fq: "be.fq"; fr: "be.fr"; fs: "be.fs"; ft: "be.ft"; fu: "be.fu"; fv: "be.fv"; fw: "be.fw"; fx: "be.fx"; fy: "be.fy"; fz: "be.fz"; ga: "be.ga"; gb: "be.gb"; gc: "be.gc"; gd: "be.gd"; ge: "be.ge"; gf: "be.gf"; gg: "be.gg"; gh: "be.gh"; gi: "be.gi"; gj: "be.gj"; gk: "be.gk"; gl: "be.gl"; gm: "be.gm"; gn: "be.gn"; go: "be.go"; gp: "be.gp"; gq: "be.gq"; gr: "be.gr"; gs: "be.gs"; gt: "be.gt"; gu: "be.gu"; gv: "be.gv"; gw: "be.gw"; gx: "be.gx"; gy: "be.gy"; gz: "be.gz"; ha: "be.ha"; hb: "be.hb"; hc: "be.hc"; hd: "be.hd"; he: "be.he"; hf: "be.hf"; hg: "be.hg"; hh: "be.hh"; hi: "be.hi"; hj: "be.hj"; hk: "be.hk"; hl: "be.hl"; hm: "be.hm"; hn: "be.hn"; ho: "be.ho"; hp: "be.hp"; hq: "be.hq"; hr: "be.hr"; hs: "be.hs"; ht: "be.ht"; hu: "be.hu"; hv: "be.hv"; hw: "be.hw"; hx: "be.hx"; hy: "be.hy"; hz: "be.hz"; ia: "be.ia"; ib: "be.ib"; ic: "be.ic"; id: "be.id"; ie: "be.ie"; if: "be.if"; ig: "be.ig"; ih: "be.ih"; ii: "be.ii"; ij: "be.ij"; ik: "be.ik"; il: "be.il"; im: "be.im"; in: "be.in"; io: "be.io"; ip: "be.ip"; iq: "be.iq"; ir: "be.ir"; is: "be.is"; it: "be.it"; iu: "be.iu"; iv: "be.iv"; iw: "be.iw"; ix: "be.ix"; iy: "be.iy"; iz: "be.iz"; ja: "be.ja"; jb: "be.jb"; jc: "be.jc"; jd: "be.jd"; je: "be.je"; jf: "be.jf"; jg: "be.jg"; jh: "be.jh"; ji: "be.ji"; jj: "be.jj"; jk: "be.jk"; jl: "be.jl"; jm: "be.jm"; jn: "be.jn"; jo: "be.jo"; jp: "be.jp"; jq: "be.jq"; jr: "be.jr"; js: "be.js"; jt: "be.jt"; ju: "be.ju"; jv: "be.jv"; jw: "be.jw"; jx: "be.jx"; jy: "be.jy"; jz: "be.jz"; ka: "be.ka"; kb: "be.kb"; kc: "be.kc"; kd: "be.kd"; ke: "be.ke"; kf: "be.kf"; kg: "be.kg"; kh: "be.kh"; ki: "be.ki"; kj: "be.kj"; kk: "be.kk"; kl: "be.kl"; km: "be.km"; kn: "be.kn"; ko: "be.ko"; kp: "be.kp"; kq: "be.kq"; kr: "be.kr"; ks: "be.ks"; kt: "be.kt"; ku: "be.ku"; kv: "be.kv"; kw: "be.kw"; kx: "be.kx"; ky: "be.ky"; kz: "be.kz"; la: "be.la"; lb: "be.lb"; lc: "be.lc"; ld: "be.ld"; le: "be.le"; lf: "be.lf"; lg: "be.lg"; lh: "be.lh"; li: "be.li"; lj: "be.lj"; lk: "be.lk"; ll: "be.ll"; lm: "be.lm"; ln: "be.ln"; lo: "be.lo"; lp: "be.lp"; lq: "be.lq"; lr: "be.lr"; ls: "be.ls"; lt: "be.lt"; lu: "be.lu"; lv: "be.lv"; lw: "be.lw"; lx: "be.lx"; ly: "be.ly"; lz: "be.lz"; ma: "be.ma"; mb: "be.mb"; mc: "be.mc"; md: "be.md"; me: "be.me"; mf: "be.mf"; mg: "be.mg"; mh: "be.mh"; mi: "be.mi"; mj: "be.mj"; mk: "be.mk"; ml: "be.ml"; mm: "be.mm"; mn: "be.mn"; mo: "be.mo"; mp: "be.mp"; mq: "be.mq"; mr: "be.mr"; ms: "be.ms"; mt: "be.mt"; mu: "be.mu"; mv: "be.mv"; mw: "be.mw"; mx: "be.mx"; my: "be.my"; mz: "be.mz"; na: "be.na"; nb: "be.nb"; nc: "be.nc"; nd: "be.nd"; ne: "be.ne"; nf: "be.nf"; ng: "be.ng"; nh: "be.nh"; ni: "be.ni"; nj: "be.nj"; nk: "be.nk"; nl: "be.nl"; nm: "be.nm"; nn: "be.nn"; no: "be.no"; np: "be.np"; nq: "be.nq"; nr: "be.nr"; ns: "be.ns"; nt: "be.nt"; nu: "be.nu"; nv: "be.nv"; nw: "be.nw"; nx: "be.nx"; ny: "be.ny"; nz: "be.nz"; oa: "be.oa"; ob: "be.ob"; oc: "be.oc"; od: "be.od"; oe: "be.oe"; of: "be.of"; og: "be.og"; oh: "be.oh"; oi: "be.oi"; oj: "be.oj"; ok: "be.ok"; ol: "be.ol"; om: "be.om"; on: "be.on"; oo: "be.oo"; op: "be.op"; oq: "be.oq"; or: "be.or"; os: "be.os"; ot: "be.ot"; ou: "be.ou"; ov: "be.ov"; ow: "be.ow"; ox: "be.ox"; oy: "be.oy"; oz: "be.oz"; pa: "be.pa"; pb: "be.pb"; pc: "be.pc"; pd: "be.pd"; pe: "be.pe"; pf: "be.pf"; pg: "be.pg"; ph: "be.ph"; pi: "be.pi"; pj: "be.pj"; pk: "be.pk"; pl: "be.pl"; pm: "be.pm"; pn: "be.pn"; po: "be.po"; pp: "be.pp"; pq: "be.pq"; pr: "be.pr"; ps: "be.ps"; pt: "be.pt"; pu: "be.pu"; pv: "be.pv"; pw: "be.pw"; px: "be.px"; py: "be.py"; pz: "be.pz"; qa: "be.qa"; qb: "be.qb"; qc: "be.qc"; qd: "be.qd"; qe: "be.qe"; qf: "be.qf"; qg: "be.qg"; qh: "be.qh"; qi: "be.qi"; qj: "be.qj"; qk: "be.qk"; ql: "be.ql"; qm: "be.qm"; qn: "be.qn"; qo: "be.qo"; qp: "be.qp"; qq: "be.qq"; qr: "be.qr"; qs: "be.qs"; qt: "be.qt"; qu: "be.qu"; qv: "be.qv"; qw: "be.qw"; qx: "be.qx"; qy: "be.qy"; qz: "be.qz"; ra: "be.ra"; rb: "be.rb"; rc: "be.rc"; rd: "be.rd"; re: "be.re"; rf: "be.rf"; rg: "be.rg"; rh: "be.rh"; ri: "be.ri"; rj: "be.rj"; rk: "be.rk"; rl: "be.rl"; rm: "be.rm"; rn: "be.rn"; ro: "be.ro"; rp: "be.rp"; rq: "be.rq"; rr: "be.rr"; rs: "be.rs"; rt: "be.rt"; ru: "be.ru"; rv: "be.rv"; rw: "be.rw"; rx: "be.rx"; ry: "be.ry"; rz: "be.rz"; sa: "be.sa"; sb: "be.sb"; sc: "be.sc"; sd: "be.sd"; se: "be.se"; sf: "be.sf"; sg: "be.sg"; sh: "be.sh"; si: "be.si"; sj: "be.sj"; sk: "be.sk"; sl: "be.sl"; sm: "be.sm"; sn: "be.sn"; so: "be.so"; sp: "be.sp"; sq: "be.sq"; sr: "be.sr"; ss: "be.ss"; st: "be.st"; su: "be.su"; sv: "be.sv"; sw: "be.sw"; sx: "be.sx"; sy: "be.sy"; sz: "be.sz"; ta: "be.ta"; tb: "be.tb"; tc: "be.tc"; td: "be.td"; te: "be.te"; tf: "be.tf"; tg: "be.tg"; th: "be.th"; ti: "be.ti"; tj: "be.tj"; tk: "be.tk"; tl: "be.tl"; tm: "be.tm"; tn: "be.tn"; to: "be.to"; tp: "be.tp"; tq: "be.tq"; tr: "be.tr"; ts: "be.ts"; tt: "be.tt"; tu: "be.tu"; tv: "be.tv"; tw: "be.tw"; tx: "be.tx"; ty: "be.ty"; tz: "be.tz"; ua: "be.ua"; ub: "be.ub"; uc: "be.uc"; ud: "be.ud"; ue: "be.ue"; uf: "be.uf"; ug: "be.ug"; uh: "be.uh"; ui: "be.ui"; uj: "be.uj"; uk: "be.uk"; ul: "be.ul"; um: "be.um"; un: "be.un"; uo: "be.uo"; up: "be.up"; uq: "be.uq"; ur: "be.ur"; us: "be.us"; ut: "be.ut"; uu: "be.uu"; uv: "be.uv"; uw: "be.uw"; ux: "be.ux"; uy: "be.uy"; uz: "be.uz"; va: "be.va"; vb: "be.vb"; vc: "be.vc"; vd: "be.vd"; ve: "be.ve"; vf: "be.vf"; vg: "be.vg"; vh: "be.vh"; vi: "be.vi"; vj: "be.vj"; vk: "be.vk"; vl: "be.vl"; vm: "be.vm"; vn: "be.vn"; vo: "be.vo"; vp: "be.vp"; vq: "be.vq"; vr: "be.vr"; vs: "be.vs"; vt: "be.vt"; vu: "be.vu"; vv: "be.vv"; vw: "be.vw"; vx: "be.vx"; vy: "be.vy"; vz: "be.vz"; wa: "be.wa"; wb: "be.wb"; wc: "be.wc"; wd: "be.wd"; we: "be.we"; wf: "be.wf"; wg: "be.wg"; wh: "be.wh"; wi: "be.wi"; wj: "be.wj"; wk: "be.wk"; wl: "be.wl"; wm: "be.wm"; wn: "be.wn"; wo: "be.wo"; wp: "be.wp"; wq: "be.wq"; wr: "be.wr"; ws: "be.ws"; wt: "be.wt"; wu: "be.wu"; wv: "be.wv"; ww: "be.ww"; wx: "be.wx"; wy: "be.wy"; wz: "be.wz"; xa: "be.xa"; xb: "be.xb"; xc: "be.xc"; xd: "be.xd"; xe: "be.xe"; xf: "be.xf"; xg: "be.xg"; xh: "be.xh"; xi: "be.xi"; xj: "be.xj"; xk: "be.xk"; xl: "be.xl"; xm: "be.xm"; xn: "be.xn"; xo: "be.xo"; xp: "be.xp"; xq: "be.xq"; xr: "be.xr"; xs: "be.xs"; xt: "be.xt"; xu: "be.xu"; xv: "be.xv"; xw: "be.xw"; xx: "be.xx"; xy: "be.xy"; xz: "be.xz"; ya: "be.ya"; yb: "be.yb"; yc: "be.yc"; yd: "be.yd"; ye: "be.ye"; yf: "be.yf"; yg: "be.yg"; yh: "be.yh"; yi: "be.yi"; yj: "be.yj"; yk: "be.yk"; yl: "be.yl"; ym: "be.ym"; yn: "be.yn"; yo: "be.yo"; yp: "be.yp"; yq: "be.yq"; yr: "be.yr"; ys: "be.ys"; yt: "be.yt"; yu: "be.yu"; yv: "be.yv"; yw: "be.yw"; yx: "be.yx"; yy: "be.yy"; yz: "be.yz"; za: "be.za"; zb: "be.zb"; zc: "be.zc"; zd: "be.zd"; ze: "be.ze"; zf: "be.zf"; zg: "be.zg"; zh: "be.zh"; zi: "be.zi"; zj: "be.zj"; zk: "be.zk"; zl: "be.zl"; zm: "be.zm"; zn: "be.zn"; zo: "be.zo"; zp: "be.zp"; zq: "be.zq"; zr: "be.zr"; zs: "be.zs"; zt: "be.zt"; zu: "be.zu"; zv: "be.zv"; zw: "be.zw"; zx: "be.zx"; zy: "be.zy"; zz: "be.zz"; }; bf: { aa: "bf.aa"; ab: "bf.ab"; ac: "bf.ac"; ad: "bf.ad"; ae: "bf.ae"; af: "bf.af"; ag: "bf.ag"; ah: "bf.ah"; ai: "bf.ai"; aj: "bf.aj"; ak: "bf.ak"; al: "bf.al"; am: "bf.am"; an: "bf.an"; ao: "bf.ao"; ap: "bf.ap"; aq: "bf.aq"; ar: "bf.ar"; as: "bf.as"; at: "bf.at"; au: "bf.au"; av: "bf.av"; aw: "bf.aw"; ax: "bf.ax"; ay: "bf.ay"; az: "bf.az"; ba: "bf.ba"; bb: "bf.bb"; bc: "bf.bc"; bd: "bf.bd"; be: "bf.be"; bf: "bf.bf"; bg: "bf.bg"; bh: "bf.bh"; bi: "bf.bi"; bj: "bf.bj"; bk: "bf.bk"; bl: "bf.bl"; bm: "bf.bm"; bn: "bf.bn"; bo: "bf.bo"; bp: "bf.bp"; bq: "bf.bq"; br: "bf.br"; bs: "bf.bs"; bt: "bf.bt"; bu: "bf.bu"; bv: "bf.bv"; bw: "bf.bw"; bx: "bf.bx"; by: "bf.by"; bz: "bf.bz"; ca: "bf.ca"; cb: "bf.cb"; cc: "bf.cc"; cd: "bf.cd"; ce: "bf.ce"; cf: "bf.cf"; cg: "bf.cg"; ch: "bf.ch"; ci: "bf.ci"; cj: "bf.cj"; ck: "bf.ck"; cl: "bf.cl"; cm: "bf.cm"; cn: "bf.cn"; co: "bf.co"; cp: "bf.cp"; cq: "bf.cq"; cr: "bf.cr"; cs: "bf.cs"; ct: "bf.ct"; cu: "bf.cu"; cv: "bf.cv"; cw: "bf.cw"; cx: "bf.cx"; cy: "bf.cy"; cz: "bf.cz"; da: "bf.da"; db: "bf.db"; dc: "bf.dc"; dd: "bf.dd"; de: "bf.de"; df: "bf.df"; dg: "bf.dg"; dh: "bf.dh"; di: "bf.di"; dj: "bf.dj"; dk: "bf.dk"; dl: "bf.dl"; dm: "bf.dm"; dn: "bf.dn"; do: "bf.do"; dp: "bf.dp"; dq: "bf.dq"; dr: "bf.dr"; ds: "bf.ds"; dt: "bf.dt"; du: "bf.du"; dv: "bf.dv"; dw: "bf.dw"; dx: "bf.dx"; dy: "bf.dy"; dz: "bf.dz"; ea: "bf.ea"; eb: "bf.eb"; ec: "bf.ec"; ed: "bf.ed"; ee: "bf.ee"; ef: "bf.ef"; eg: "bf.eg"; eh: "bf.eh"; ei: "bf.ei"; ej: "bf.ej"; ek: "bf.ek"; el: "bf.el"; em: "bf.em"; en: "bf.en"; eo: "bf.eo"; ep: "bf.ep"; eq: "bf.eq"; er: "bf.er"; es: "bf.es"; et: "bf.et"; eu: "bf.eu"; ev: "bf.ev"; ew: "bf.ew"; ex: "bf.ex"; ey: "bf.ey"; ez: "bf.ez"; fa: "bf.fa"; fb: "bf.fb"; fc: "bf.fc"; fd: "bf.fd"; fe: "bf.fe"; ff: "bf.ff"; fg: "bf.fg"; fh: "bf.fh"; fi: "bf.fi"; fj: "bf.fj"; fk: "bf.fk"; fl: "bf.fl"; fm: "bf.fm"; fn: "bf.fn"; fo: "bf.fo"; fp: "bf.fp"; fq: "bf.fq"; fr: "bf.fr"; fs: "bf.fs"; ft: "bf.ft"; fu: "bf.fu"; fv: "bf.fv"; fw: "bf.fw"; fx: "bf.fx"; fy: "bf.fy"; fz: "bf.fz"; ga: "bf.ga"; gb: "bf.gb"; gc: "bf.gc"; gd: "bf.gd"; ge: "bf.ge"; gf: "bf.gf"; gg: "bf.gg"; gh: "bf.gh"; gi: "bf.gi"; gj: "bf.gj"; gk: "bf.gk"; gl: "bf.gl"; gm: "bf.gm"; gn: "bf.gn"; go: "bf.go"; gp: "bf.gp"; gq: "bf.gq"; gr: "bf.gr"; gs: "bf.gs"; gt: "bf.gt"; gu: "bf.gu"; gv: "bf.gv"; gw: "bf.gw"; gx: "bf.gx"; gy: "bf.gy"; gz: "bf.gz"; ha: "bf.ha"; hb: "bf.hb"; hc: "bf.hc"; hd: "bf.hd"; he: "bf.he"; hf: "bf.hf"; hg: "bf.hg"; hh: "bf.hh"; hi: "bf.hi"; hj: "bf.hj"; hk: "bf.hk"; hl: "bf.hl"; hm: "bf.hm"; hn: "bf.hn"; ho: "bf.ho"; hp: "bf.hp"; hq: "bf.hq"; hr: "bf.hr"; hs: "bf.hs"; ht: "bf.ht"; hu: "bf.hu"; hv: "bf.hv"; hw: "bf.hw"; hx: "bf.hx"; hy: "bf.hy"; hz: "bf.hz"; ia: "bf.ia"; ib: "bf.ib"; ic: "bf.ic"; id: "bf.id"; ie: "bf.ie"; if: "bf.if"; ig: "bf.ig"; ih: "bf.ih"; ii: "bf.ii"; ij: "bf.ij"; ik: "bf.ik"; il: "bf.il"; im: "bf.im"; in: "bf.in"; io: "bf.io"; ip: "bf.ip"; iq: "bf.iq"; ir: "bf.ir"; is: "bf.is"; it: "bf.it"; iu: "bf.iu"; iv: "bf.iv"; iw: "bf.iw"; ix: "bf.ix"; iy: "bf.iy"; iz: "bf.iz"; ja: "bf.ja"; jb: "bf.jb"; jc: "bf.jc"; jd: "bf.jd"; je: "bf.je"; jf: "bf.jf"; jg: "bf.jg"; jh: "bf.jh"; ji: "bf.ji"; jj: "bf.jj"; jk: "bf.jk"; jl: "bf.jl"; jm: "bf.jm"; jn: "bf.jn"; jo: "bf.jo"; jp: "bf.jp"; jq: "bf.jq"; jr: "bf.jr"; js: "bf.js"; jt: "bf.jt"; ju: "bf.ju"; jv: "bf.jv"; jw: "bf.jw"; jx: "bf.jx"; jy: "bf.jy"; jz: "bf.jz"; ka: "bf.ka"; kb: "bf.kb"; kc: "bf.kc"; kd: "bf.kd"; ke: "bf.ke"; kf: "bf.kf"; kg: "bf.kg"; kh: "bf.kh"; ki: "bf.ki"; kj: "bf.kj"; kk: "bf.kk"; kl: "bf.kl"; km: "bf.km"; kn: "bf.kn"; ko: "bf.ko"; kp: "bf.kp"; kq: "bf.kq"; kr: "bf.kr"; ks: "bf.ks"; kt: "bf.kt"; ku: "bf.ku"; kv: "bf.kv"; kw: "bf.kw"; kx: "bf.kx"; ky: "bf.ky"; kz: "bf.kz"; la: "bf.la"; lb: "bf.lb"; lc: "bf.lc"; ld: "bf.ld"; le: "bf.le"; lf: "bf.lf"; lg: "bf.lg"; lh: "bf.lh"; li: "bf.li"; lj: "bf.lj"; lk: "bf.lk"; ll: "bf.ll"; lm: "bf.lm"; ln: "bf.ln"; lo: "bf.lo"; lp: "bf.lp"; lq: "bf.lq"; lr: "bf.lr"; ls: "bf.ls"; lt: "bf.lt"; lu: "bf.lu"; lv: "bf.lv"; lw: "bf.lw"; lx: "bf.lx"; ly: "bf.ly"; lz: "bf.lz"; ma: "bf.ma"; mb: "bf.mb"; mc: "bf.mc"; md: "bf.md"; me: "bf.me"; mf: "bf.mf"; mg: "bf.mg"; mh: "bf.mh"; mi: "bf.mi"; mj: "bf.mj"; mk: "bf.mk"; ml: "bf.ml"; mm: "bf.mm"; mn: "bf.mn"; mo: "bf.mo"; mp: "bf.mp"; mq: "bf.mq"; mr: "bf.mr"; ms: "bf.ms"; mt: "bf.mt"; mu: "bf.mu"; mv: "bf.mv"; mw: "bf.mw"; mx: "bf.mx"; my: "bf.my"; mz: "bf.mz"; na: "bf.na"; nb: "bf.nb"; nc: "bf.nc"; nd: "bf.nd"; ne: "bf.ne"; nf: "bf.nf"; ng: "bf.ng"; nh: "bf.nh"; ni: "bf.ni"; nj: "bf.nj"; nk: "bf.nk"; nl: "bf.nl"; nm: "bf.nm"; nn: "bf.nn"; no: "bf.no"; np: "bf.np"; nq: "bf.nq"; nr: "bf.nr"; ns: "bf.ns"; nt: "bf.nt"; nu: "bf.nu"; nv: "bf.nv"; nw: "bf.nw"; nx: "bf.nx"; ny: "bf.ny"; nz: "bf.nz"; oa: "bf.oa"; ob: "bf.ob"; oc: "bf.oc"; od: "bf.od"; oe: "bf.oe"; of: "bf.of"; og: "bf.og"; oh: "bf.oh"; oi: "bf.oi"; oj: "bf.oj"; ok: "bf.ok"; ol: "bf.ol"; om: "bf.om"; on: "bf.on"; oo: "bf.oo"; op: "bf.op"; oq: "bf.oq"; or: "bf.or"; os: "bf.os"; ot: "bf.ot"; ou: "bf.ou"; ov: "bf.ov"; ow: "bf.ow"; ox: "bf.ox"; oy: "bf.oy"; oz: "bf.oz"; pa: "bf.pa"; pb: "bf.pb"; pc: "bf.pc"; pd: "bf.pd"; pe: "bf.pe"; pf: "bf.pf"; pg: "bf.pg"; ph: "bf.ph"; pi: "bf.pi"; pj: "bf.pj"; pk: "bf.pk"; pl: "bf.pl"; pm: "bf.pm"; pn: "bf.pn"; po: "bf.po"; pp: "bf.pp"; pq: "bf.pq"; pr: "bf.pr"; ps: "bf.ps"; pt: "bf.pt"; pu: "bf.pu"; pv: "bf.pv"; pw: "bf.pw"; px: "bf.px"; py: "bf.py"; pz: "bf.pz"; qa: "bf.qa"; qb: "bf.qb"; qc: "bf.qc"; qd: "bf.qd"; qe: "bf.qe"; qf: "bf.qf"; qg: "bf.qg"; qh: "bf.qh"; qi: "bf.qi"; qj: "bf.qj"; qk: "bf.qk"; ql: "bf.ql"; qm: "bf.qm"; qn: "bf.qn"; qo: "bf.qo"; qp: "bf.qp"; qq: "bf.qq"; qr: "bf.qr"; qs: "bf.qs"; qt: "bf.qt"; qu: "bf.qu"; qv: "bf.qv"; qw: "bf.qw"; qx: "bf.qx"; qy: "bf.qy"; qz: "bf.qz"; ra: "bf.ra"; rb: "bf.rb"; rc: "bf.rc"; rd: "bf.rd"; re: "bf.re"; rf: "bf.rf"; rg: "bf.rg"; rh: "bf.rh"; ri: "bf.ri"; rj: "bf.rj"; rk: "bf.rk"; rl: "bf.rl"; rm: "bf.rm"; rn: "bf.rn"; ro: "bf.ro"; rp: "bf.rp"; rq: "bf.rq"; rr: "bf.rr"; rs: "bf.rs"; rt: "bf.rt"; ru: "bf.ru"; rv: "bf.rv"; rw: "bf.rw"; rx: "bf.rx"; ry: "bf.ry"; rz: "bf.rz"; sa: "bf.sa"; sb: "bf.sb"; sc: "bf.sc"; sd: "bf.sd"; se: "bf.se"; sf: "bf.sf"; sg: "bf.sg"; sh: "bf.sh"; si: "bf.si"; sj: "bf.sj"; sk: "bf.sk"; sl: "bf.sl"; sm: "bf.sm"; sn: "bf.sn"; so: "bf.so"; sp: "bf.sp"; sq: "bf.sq"; sr: "bf.sr"; ss: "bf.ss"; st: "bf.st"; su: "bf.su"; sv: "bf.sv"; sw: "bf.sw"; sx: "bf.sx"; sy: "bf.sy"; sz: "bf.sz"; ta: "bf.ta"; tb: "bf.tb"; tc: "bf.tc"; td: "bf.td"; te: "bf.te"; tf: "bf.tf"; tg: "bf.tg"; th: "bf.th"; ti: "bf.ti"; tj: "bf.tj"; tk: "bf.tk"; tl: "bf.tl"; tm: "bf.tm"; tn: "bf.tn"; to: "bf.to"; tp: "bf.tp"; tq: "bf.tq"; tr: "bf.tr"; ts: "bf.ts"; tt: "bf.tt"; tu: "bf.tu"; tv: "bf.tv"; tw: "bf.tw"; tx: "bf.tx"; ty: "bf.ty"; tz: "bf.tz"; ua: "bf.ua"; ub: "bf.ub"; uc: "bf.uc"; ud: "bf.ud"; ue: "bf.ue"; uf: "bf.uf"; ug: "bf.ug"; uh: "bf.uh"; ui: "bf.ui"; uj: "bf.uj"; uk: "bf.uk"; ul: "bf.ul"; um: "bf.um"; un: "bf.un"; uo: "bf.uo"; up: "bf.up"; uq: "bf.uq"; ur: "bf.ur"; us: "bf.us"; ut: "bf.ut"; uu: "bf.uu"; uv: "bf.uv"; uw: "bf.uw"; ux: "bf.ux"; uy: "bf.uy"; uz: "bf.uz"; va: "bf.va"; vb: "bf.vb"; vc: "bf.vc"; vd: "bf.vd"; ve: "bf.ve"; vf: "bf.vf"; vg: "bf.vg"; vh: "bf.vh"; vi: "bf.vi"; vj: "bf.vj"; vk: "bf.vk"; vl: "bf.vl"; vm: "bf.vm"; vn: "bf.vn"; vo: "bf.vo"; vp: "bf.vp"; vq: "bf.vq"; vr: "bf.vr"; vs: "bf.vs"; vt: "bf.vt"; vu: "bf.vu"; vv: "bf.vv"; vw: "bf.vw"; vx: "bf.vx"; vy: "bf.vy"; vz: "bf.vz"; wa: "bf.wa"; wb: "bf.wb"; wc: "bf.wc"; wd: "bf.wd"; we: "bf.we"; wf: "bf.wf"; wg: "bf.wg"; wh: "bf.wh"; wi: "bf.wi"; wj: "bf.wj"; wk: "bf.wk"; wl: "bf.wl"; wm: "bf.wm"; wn: "bf.wn"; wo: "bf.wo"; wp: "bf.wp"; wq: "bf.wq"; wr: "bf.wr"; ws: "bf.ws"; wt: "bf.wt"; wu: "bf.wu"; wv: "bf.wv"; ww: "bf.ww"; wx: "bf.wx"; wy: "bf.wy"; wz: "bf.wz"; xa: "bf.xa"; xb: "bf.xb"; xc: "bf.xc"; xd: "bf.xd"; xe: "bf.xe"; xf: "bf.xf"; xg: "bf.xg"; xh: "bf.xh"; xi: "bf.xi"; xj: "bf.xj"; xk: "bf.xk"; xl: "bf.xl"; xm: "bf.xm"; xn: "bf.xn"; xo: "bf.xo"; xp: "bf.xp"; xq: "bf.xq"; xr: "bf.xr"; xs: "bf.xs"; xt: "bf.xt"; xu: "bf.xu"; xv: "bf.xv"; xw: "bf.xw"; xx: "bf.xx"; xy: "bf.xy"; xz: "bf.xz"; ya: "bf.ya"; yb: "bf.yb"; yc: "bf.yc"; yd: "bf.yd"; ye: "bf.ye"; yf: "bf.yf"; yg: "bf.yg"; yh: "bf.yh"; yi: "bf.yi"; yj: "bf.yj"; yk: "bf.yk"; yl: "bf.yl"; ym: "bf.ym"; yn: "bf.yn"; yo: "bf.yo"; yp: "bf.yp"; yq: "bf.yq"; yr: "bf.yr"; ys: "bf.ys"; yt: "bf.yt"; yu: "bf.yu"; yv: "bf.yv"; yw: "bf.yw"; yx: "bf.yx"; yy: "bf.yy"; yz: "bf.yz"; za: "bf.za"; zb: "bf.zb"; zc: "bf.zc"; zd: "bf.zd"; ze: "bf.ze"; zf: "bf.zf"; zg: "bf.zg"; zh: "bf.zh"; zi: "bf.zi"; zj: "bf.zj"; zk: "bf.zk"; zl: "bf.zl"; zm: "bf.zm"; zn: "bf.zn"; zo: "bf.zo"; zp: "bf.zp"; zq: "bf.zq"; zr: "bf.zr"; zs: "bf.zs"; zt: "bf.zt"; zu: "bf.zu"; zv: "bf.zv"; zw: "bf.zw"; zx: "bf.zx"; zy: "bf.zy"; zz: "bf.zz"; }; bg: { aa: "bg.aa"; ab: "bg.ab"; ac: "bg.ac"; ad: "bg.ad"; ae: "bg.ae"; af: "bg.af"; ag: "bg.ag"; ah: "bg.ah"; ai: "bg.ai"; aj: "bg.aj"; ak: "bg.ak"; al: "bg.al"; am: "bg.am"; an: "bg.an"; ao: "bg.ao"; ap: "bg.ap"; aq: "bg.aq"; ar: "bg.ar"; as: "bg.as"; at: "bg.at"; au: "bg.au"; av: "bg.av"; aw: "bg.aw"; ax: "bg.ax"; ay: "bg.ay"; az: "bg.az"; ba: "bg.ba"; bb: "bg.bb"; bc: "bg.bc"; bd: "bg.bd"; be: "bg.be"; bf: "bg.bf"; bg: "bg.bg"; bh: "bg.bh"; bi: "bg.bi"; bj: "bg.bj"; bk: "bg.bk"; bl: "bg.bl"; bm: "bg.bm"; bn: "bg.bn"; bo: "bg.bo"; bp: "bg.bp"; bq: "bg.bq"; br: "bg.br"; bs: "bg.bs"; bt: "bg.bt"; bu: "bg.bu"; bv: "bg.bv"; bw: "bg.bw"; bx: "bg.bx"; by: "bg.by"; bz: "bg.bz"; ca: "bg.ca"; cb: "bg.cb"; cc: "bg.cc"; cd: "bg.cd"; ce: "bg.ce"; cf: "bg.cf"; cg: "bg.cg"; ch: "bg.ch"; ci: "bg.ci"; cj: "bg.cj"; ck: "bg.ck"; cl: "bg.cl"; cm: "bg.cm"; cn: "bg.cn"; co: "bg.co"; cp: "bg.cp"; cq: "bg.cq"; cr: "bg.cr"; cs: "bg.cs"; ct: "bg.ct"; cu: "bg.cu"; cv: "bg.cv"; cw: "bg.cw"; cx: "bg.cx"; cy: "bg.cy"; cz: "bg.cz"; da: "bg.da"; db: "bg.db"; dc: "bg.dc"; dd: "bg.dd"; de: "bg.de"; df: "bg.df"; dg: "bg.dg"; dh: "bg.dh"; di: "bg.di"; dj: "bg.dj"; dk: "bg.dk"; dl: "bg.dl"; dm: "bg.dm"; dn: "bg.dn"; do: "bg.do"; dp: "bg.dp"; dq: "bg.dq"; dr: "bg.dr"; ds: "bg.ds"; dt: "bg.dt"; du: "bg.du"; dv: "bg.dv"; dw: "bg.dw"; dx: "bg.dx"; dy: "bg.dy"; dz: "bg.dz"; ea: "bg.ea"; eb: "bg.eb"; ec: "bg.ec"; ed: "bg.ed"; ee: "bg.ee"; ef: "bg.ef"; eg: "bg.eg"; eh: "bg.eh"; ei: "bg.ei"; ej: "bg.ej"; ek: "bg.ek"; el: "bg.el"; em: "bg.em"; en: "bg.en"; eo: "bg.eo"; ep: "bg.ep"; eq: "bg.eq"; er: "bg.er"; es: "bg.es"; et: "bg.et"; eu: "bg.eu"; ev: "bg.ev"; ew: "bg.ew"; ex: "bg.ex"; ey: "bg.ey"; ez: "bg.ez"; fa: "bg.fa"; fb: "bg.fb"; fc: "bg.fc"; fd: "bg.fd"; fe: "bg.fe"; ff: "bg.ff"; fg: "bg.fg"; fh: "bg.fh"; fi: "bg.fi"; fj: "bg.fj"; fk: "bg.fk"; fl: "bg.fl"; fm: "bg.fm"; fn: "bg.fn"; fo: "bg.fo"; fp: "bg.fp"; fq: "bg.fq"; fr: "bg.fr"; fs: "bg.fs"; ft: "bg.ft"; fu: "bg.fu"; fv: "bg.fv"; fw: "bg.fw"; fx: "bg.fx"; fy: "bg.fy"; fz: "bg.fz"; ga: "bg.ga"; gb: "bg.gb"; gc: "bg.gc"; gd: "bg.gd"; ge: "bg.ge"; gf: "bg.gf"; gg: "bg.gg"; gh: "bg.gh"; gi: "bg.gi"; gj: "bg.gj"; gk: "bg.gk"; gl: "bg.gl"; gm: "bg.gm"; gn: "bg.gn"; go: "bg.go"; gp: "bg.gp"; gq: "bg.gq"; gr: "bg.gr"; gs: "bg.gs"; gt: "bg.gt"; gu: "bg.gu"; gv: "bg.gv"; gw: "bg.gw"; gx: "bg.gx"; gy: "bg.gy"; gz: "bg.gz"; ha: "bg.ha"; hb: "bg.hb"; hc: "bg.hc"; hd: "bg.hd"; he: "bg.he"; hf: "bg.hf"; hg: "bg.hg"; hh: "bg.hh"; hi: "bg.hi"; hj: "bg.hj"; hk: "bg.hk"; hl: "bg.hl"; hm: "bg.hm"; hn: "bg.hn"; ho: "bg.ho"; hp: "bg.hp"; hq: "bg.hq"; hr: "bg.hr"; hs: "bg.hs"; ht: "bg.ht"; hu: "bg.hu"; hv: "bg.hv"; hw: "bg.hw"; hx: "bg.hx"; hy: "bg.hy"; hz: "bg.hz"; ia: "bg.ia"; ib: "bg.ib"; ic: "bg.ic"; id: "bg.id"; ie: "bg.ie"; if: "bg.if"; ig: "bg.ig"; ih: "bg.ih"; ii: "bg.ii"; ij: "bg.ij"; ik: "bg.ik"; il: "bg.il"; im: "bg.im"; in: "bg.in"; io: "bg.io"; ip: "bg.ip"; iq: "bg.iq"; ir: "bg.ir"; is: "bg.is"; it: "bg.it"; iu: "bg.iu"; iv: "bg.iv"; iw: "bg.iw"; ix: "bg.ix"; iy: "bg.iy"; iz: "bg.iz"; ja: "bg.ja"; jb: "bg.jb"; jc: "bg.jc"; jd: "bg.jd"; je: "bg.je"; jf: "bg.jf"; jg: "bg.jg"; jh: "bg.jh"; ji: "bg.ji"; jj: "bg.jj"; jk: "bg.jk"; jl: "bg.jl"; jm: "bg.jm"; jn: "bg.jn"; jo: "bg.jo"; jp: "bg.jp"; jq: "bg.jq"; jr: "bg.jr"; js: "bg.js"; jt: "bg.jt"; ju: "bg.ju"; jv: "bg.jv"; jw: "bg.jw"; jx: "bg.jx"; jy: "bg.jy"; jz: "bg.jz"; ka: "bg.ka"; kb: "bg.kb"; kc: "bg.kc"; kd: "bg.kd"; ke: "bg.ke"; kf: "bg.kf"; kg: "bg.kg"; kh: "bg.kh"; ki: "bg.ki"; kj: "bg.kj"; kk: "bg.kk"; kl: "bg.kl"; km: "bg.km"; kn: "bg.kn"; ko: "bg.ko"; kp: "bg.kp"; kq: "bg.kq"; kr: "bg.kr"; ks: "bg.ks"; kt: "bg.kt"; ku: "bg.ku"; kv: "bg.kv"; kw: "bg.kw"; kx: "bg.kx"; ky: "bg.ky"; kz: "bg.kz"; la: "bg.la"; lb: "bg.lb"; lc: "bg.lc"; ld: "bg.ld"; le: "bg.le"; lf: "bg.lf"; lg: "bg.lg"; lh: "bg.lh"; li: "bg.li"; lj: "bg.lj"; lk: "bg.lk"; ll: "bg.ll"; lm: "bg.lm"; ln: "bg.ln"; lo: "bg.lo"; lp: "bg.lp"; lq: "bg.lq"; lr: "bg.lr"; ls: "bg.ls"; lt: "bg.lt"; lu: "bg.lu"; lv: "bg.lv"; lw: "bg.lw"; lx: "bg.lx"; ly: "bg.ly"; lz: "bg.lz"; ma: "bg.ma"; mb: "bg.mb"; mc: "bg.mc"; md: "bg.md"; me: "bg.me"; mf: "bg.mf"; mg: "bg.mg"; mh: "bg.mh"; mi: "bg.mi"; mj: "bg.mj"; mk: "bg.mk"; ml: "bg.ml"; mm: "bg.mm"; mn: "bg.mn"; mo: "bg.mo"; mp: "bg.mp"; mq: "bg.mq"; mr: "bg.mr"; ms: "bg.ms"; mt: "bg.mt"; mu: "bg.mu"; mv: "bg.mv"; mw: "bg.mw"; mx: "bg.mx"; my: "bg.my"; mz: "bg.mz"; na: "bg.na"; nb: "bg.nb"; nc: "bg.nc"; nd: "bg.nd"; ne: "bg.ne"; nf: "bg.nf"; ng: "bg.ng"; nh: "bg.nh"; ni: "bg.ni"; nj: "bg.nj"; nk: "bg.nk"; nl: "bg.nl"; nm: "bg.nm"; nn: "bg.nn"; no: "bg.no"; np: "bg.np"; nq: "bg.nq"; nr: "bg.nr"; ns: "bg.ns"; nt: "bg.nt"; nu: "bg.nu"; nv: "bg.nv"; nw: "bg.nw"; nx: "bg.nx"; ny: "bg.ny"; nz: "bg.nz"; oa: "bg.oa"; ob: "bg.ob"; oc: "bg.oc"; od: "bg.od"; oe: "bg.oe"; of: "bg.of"; og: "bg.og"; oh: "bg.oh"; oi: "bg.oi"; oj: "bg.oj"; ok: "bg.ok"; ol: "bg.ol"; om: "bg.om"; on: "bg.on"; oo: "bg.oo"; op: "bg.op"; oq: "bg.oq"; or: "bg.or"; os: "bg.os"; ot: "bg.ot"; ou: "bg.ou"; ov: "bg.ov"; ow: "bg.ow"; ox: "bg.ox"; oy: "bg.oy"; oz: "bg.oz"; pa: "bg.pa"; pb: "bg.pb"; pc: "bg.pc"; pd: "bg.pd"; pe: "bg.pe"; pf: "bg.pf"; pg: "bg.pg"; ph: "bg.ph"; pi: "bg.pi"; pj: "bg.pj"; pk: "bg.pk"; pl: "bg.pl"; pm: "bg.pm"; pn: "bg.pn"; po: "bg.po"; pp: "bg.pp"; pq: "bg.pq"; pr: "bg.pr"; ps: "bg.ps"; pt: "bg.pt"; pu: "bg.pu"; pv: "bg.pv"; pw: "bg.pw"; px: "bg.px"; py: "bg.py"; pz: "bg.pz"; qa: "bg.qa"; qb: "bg.qb"; qc: "bg.qc"; qd: "bg.qd"; qe: "bg.qe"; qf: "bg.qf"; qg: "bg.qg"; qh: "bg.qh"; qi: "bg.qi"; qj: "bg.qj"; qk: "bg.qk"; ql: "bg.ql"; qm: "bg.qm"; qn: "bg.qn"; qo: "bg.qo"; qp: "bg.qp"; qq: "bg.qq"; qr: "bg.qr"; qs: "bg.qs"; qt: "bg.qt"; qu: "bg.qu"; qv: "bg.qv"; qw: "bg.qw"; qx: "bg.qx"; qy: "bg.qy"; qz: "bg.qz"; ra: "bg.ra"; rb: "bg.rb"; rc: "bg.rc"; rd: "bg.rd"; re: "bg.re"; rf: "bg.rf"; rg: "bg.rg"; rh: "bg.rh"; ri: "bg.ri"; rj: "bg.rj"; rk: "bg.rk"; rl: "bg.rl"; rm: "bg.rm"; rn: "bg.rn"; ro: "bg.ro"; rp: "bg.rp"; rq: "bg.rq"; rr: "bg.rr"; rs: "bg.rs"; rt: "bg.rt"; ru: "bg.ru"; rv: "bg.rv"; rw: "bg.rw"; rx: "bg.rx"; ry: "bg.ry"; rz: "bg.rz"; sa: "bg.sa"; sb: "bg.sb"; sc: "bg.sc"; sd: "bg.sd"; se: "bg.se"; sf: "bg.sf"; sg: "bg.sg"; sh: "bg.sh"; si: "bg.si"; sj: "bg.sj"; sk: "bg.sk"; sl: "bg.sl"; sm: "bg.sm"; sn: "bg.sn"; so: "bg.so"; sp: "bg.sp"; sq: "bg.sq"; sr: "bg.sr"; ss: "bg.ss"; st: "bg.st"; su: "bg.su"; sv: "bg.sv"; sw: "bg.sw"; sx: "bg.sx"; sy: "bg.sy"; sz: "bg.sz"; ta: "bg.ta"; tb: "bg.tb"; tc: "bg.tc"; td: "bg.td"; te: "bg.te"; tf: "bg.tf"; tg: "bg.tg"; th: "bg.th"; ti: "bg.ti"; tj: "bg.tj"; tk: "bg.tk"; tl: "bg.tl"; tm: "bg.tm"; tn: "bg.tn"; to: "bg.to"; tp: "bg.tp"; tq: "bg.tq"; tr: "bg.tr"; ts: "bg.ts"; tt: "bg.tt"; tu: "bg.tu"; tv: "bg.tv"; tw: "bg.tw"; tx: "bg.tx"; ty: "bg.ty"; tz: "bg.tz"; ua: "bg.ua"; ub: "bg.ub"; uc: "bg.uc"; ud: "bg.ud"; ue: "bg.ue"; uf: "bg.uf"; ug: "bg.ug"; uh: "bg.uh"; ui: "bg.ui"; uj: "bg.uj"; uk: "bg.uk"; ul: "bg.ul"; um: "bg.um"; un: "bg.un"; uo: "bg.uo"; up: "bg.up"; uq: "bg.uq"; ur: "bg.ur"; us: "bg.us"; ut: "bg.ut"; uu: "bg.uu"; uv: "bg.uv"; uw: "bg.uw"; ux: "bg.ux"; uy: "bg.uy"; uz: "bg.uz"; va: "bg.va"; vb: "bg.vb"; vc: "bg.vc"; vd: "bg.vd"; ve: "bg.ve"; vf: "bg.vf"; vg: "bg.vg"; vh: "bg.vh"; vi: "bg.vi"; vj: "bg.vj"; vk: "bg.vk"; vl: "bg.vl"; vm: "bg.vm"; vn: "bg.vn"; vo: "bg.vo"; vp: "bg.vp"; vq: "bg.vq"; vr: "bg.vr"; vs: "bg.vs"; vt: "bg.vt"; vu: "bg.vu"; vv: "bg.vv"; vw: "bg.vw"; vx: "bg.vx"; vy: "bg.vy"; vz: "bg.vz"; wa: "bg.wa"; wb: "bg.wb"; wc: "bg.wc"; wd: "bg.wd"; we: "bg.we"; wf: "bg.wf"; wg: "bg.wg"; wh: "bg.wh"; wi: "bg.wi"; wj: "bg.wj"; wk: "bg.wk"; wl: "bg.wl"; wm: "bg.wm"; wn: "bg.wn"; wo: "bg.wo"; wp: "bg.wp"; wq: "bg.wq"; wr: "bg.wr"; ws: "bg.ws"; wt: "bg.wt"; wu: "bg.wu"; wv: "bg.wv"; ww: "bg.ww"; wx: "bg.wx"; wy: "bg.wy"; wz: "bg.wz"; xa: "bg.xa"; xb: "bg.xb"; xc: "bg.xc"; xd: "bg.xd"; xe: "bg.xe"; xf: "bg.xf"; xg: "bg.xg"; xh: "bg.xh"; xi: "bg.xi"; xj: "bg.xj"; xk: "bg.xk"; xl: "bg.xl"; xm: "bg.xm"; xn: "bg.xn"; xo: "bg.xo"; xp: "bg.xp"; xq: "bg.xq"; xr: "bg.xr"; xs: "bg.xs"; xt: "bg.xt"; xu: "bg.xu"; xv: "bg.xv"; xw: "bg.xw"; xx: "bg.xx"; xy: "bg.xy"; xz: "bg.xz"; ya: "bg.ya"; yb: "bg.yb"; yc: "bg.yc"; yd: "bg.yd"; ye: "bg.ye"; yf: "bg.yf"; yg: "bg.yg"; yh: "bg.yh"; yi: "bg.yi"; yj: "bg.yj"; yk: "bg.yk"; yl: "bg.yl"; ym: "bg.ym"; yn: "bg.yn"; yo: "bg.yo"; yp: "bg.yp"; yq: "bg.yq"; yr: "bg.yr"; ys: "bg.ys"; yt: "bg.yt"; yu: "bg.yu"; yv: "bg.yv"; yw: "bg.yw"; yx: "bg.yx"; yy: "bg.yy"; yz: "bg.yz"; za: "bg.za"; zb: "bg.zb"; zc: "bg.zc"; zd: "bg.zd"; ze: "bg.ze"; zf: "bg.zf"; zg: "bg.zg"; zh: "bg.zh"; zi: "bg.zi"; zj: "bg.zj"; zk: "bg.zk"; zl: "bg.zl"; zm: "bg.zm"; zn: "bg.zn"; zo: "bg.zo"; zp: "bg.zp"; zq: "bg.zq"; zr: "bg.zr"; zs: "bg.zs"; zt: "bg.zt"; zu: "bg.zu"; zv: "bg.zv"; zw: "bg.zw"; zx: "bg.zx"; zy: "bg.zy"; zz: "bg.zz"; }; bh: { aa: "bh.aa"; ab: "bh.ab"; ac: "bh.ac"; ad: "bh.ad"; ae: "bh.ae"; af: "bh.af"; ag: "bh.ag"; ah: "bh.ah"; ai: "bh.ai"; aj: "bh.aj"; ak: "bh.ak"; al: "bh.al"; am: "bh.am"; an: "bh.an"; ao: "bh.ao"; ap: "bh.ap"; aq: "bh.aq"; ar: "bh.ar"; as: "bh.as"; at: "bh.at"; au: "bh.au"; av: "bh.av"; aw: "bh.aw"; ax: "bh.ax"; ay: "bh.ay"; az: "bh.az"; ba: "bh.ba"; bb: "bh.bb"; bc: "bh.bc"; bd: "bh.bd"; be: "bh.be"; bf: "bh.bf"; bg: "bh.bg"; bh: "bh.bh"; bi: "bh.bi"; bj: "bh.bj"; bk: "bh.bk"; bl: "bh.bl"; bm: "bh.bm"; bn: "bh.bn"; bo: "bh.bo"; bp: "bh.bp"; bq: "bh.bq"; br: "bh.br"; bs: "bh.bs"; bt: "bh.bt"; bu: "bh.bu"; bv: "bh.bv"; bw: "bh.bw"; bx: "bh.bx"; by: "bh.by"; bz: "bh.bz"; ca: "bh.ca"; cb: "bh.cb"; cc: "bh.cc"; cd: "bh.cd"; ce: "bh.ce"; cf: "bh.cf"; cg: "bh.cg"; ch: "bh.ch"; ci: "bh.ci"; cj: "bh.cj"; ck: "bh.ck"; cl: "bh.cl"; cm: "bh.cm"; cn: "bh.cn"; co: "bh.co"; cp: "bh.cp"; cq: "bh.cq"; cr: "bh.cr"; cs: "bh.cs"; ct: "bh.ct"; cu: "bh.cu"; cv: "bh.cv"; cw: "bh.cw"; cx: "bh.cx"; cy: "bh.cy"; cz: "bh.cz"; da: "bh.da"; db: "bh.db"; dc: "bh.dc"; dd: "bh.dd"; de: "bh.de"; df: "bh.df"; dg: "bh.dg"; dh: "bh.dh"; di: "bh.di"; dj: "bh.dj"; dk: "bh.dk"; dl: "bh.dl"; dm: "bh.dm"; dn: "bh.dn"; do: "bh.do"; dp: "bh.dp"; dq: "bh.dq"; dr: "bh.dr"; ds: "bh.ds"; dt: "bh.dt"; du: "bh.du"; dv: "bh.dv"; dw: "bh.dw"; dx: "bh.dx"; dy: "bh.dy"; dz: "bh.dz"; ea: "bh.ea"; eb: "bh.eb"; ec: "bh.ec"; ed: "bh.ed"; ee: "bh.ee"; ef: "bh.ef"; eg: "bh.eg"; eh: "bh.eh"; ei: "bh.ei"; ej: "bh.ej"; ek: "bh.ek"; el: "bh.el"; em: "bh.em"; en: "bh.en"; eo: "bh.eo"; ep: "bh.ep"; eq: "bh.eq"; er: "bh.er"; es: "bh.es"; et: "bh.et"; eu: "bh.eu"; ev: "bh.ev"; ew: "bh.ew"; ex: "bh.ex"; ey: "bh.ey"; ez: "bh.ez"; fa: "bh.fa"; fb: "bh.fb"; fc: "bh.fc"; fd: "bh.fd"; fe: "bh.fe"; ff: "bh.ff"; fg: "bh.fg"; fh: "bh.fh"; fi: "bh.fi"; fj: "bh.fj"; fk: "bh.fk"; fl: "bh.fl"; fm: "bh.fm"; fn: "bh.fn"; fo: "bh.fo"; fp: "bh.fp"; fq: "bh.fq"; fr: "bh.fr"; fs: "bh.fs"; ft: "bh.ft"; fu: "bh.fu"; fv: "bh.fv"; fw: "bh.fw"; fx: "bh.fx"; fy: "bh.fy"; fz: "bh.fz"; ga: "bh.ga"; gb: "bh.gb"; gc: "bh.gc"; gd: "bh.gd"; ge: "bh.ge"; gf: "bh.gf"; gg: "bh.gg"; gh: "bh.gh"; gi: "bh.gi"; gj: "bh.gj"; gk: "bh.gk"; gl: "bh.gl"; gm: "bh.gm"; gn: "bh.gn"; go: "bh.go"; gp: "bh.gp"; gq: "bh.gq"; gr: "bh.gr"; gs: "bh.gs"; gt: "bh.gt"; gu: "bh.gu"; gv: "bh.gv"; gw: "bh.gw"; gx: "bh.gx"; gy: "bh.gy"; gz: "bh.gz"; ha: "bh.ha"; hb: "bh.hb"; hc: "bh.hc"; hd: "bh.hd"; he: "bh.he"; hf: "bh.hf"; hg: "bh.hg"; hh: "bh.hh"; hi: "bh.hi"; hj: "bh.hj"; hk: "bh.hk"; hl: "bh.hl"; hm: "bh.hm"; hn: "bh.hn"; ho: "bh.ho"; hp: "bh.hp"; hq: "bh.hq"; hr: "bh.hr"; hs: "bh.hs"; ht: "bh.ht"; hu: "bh.hu"; hv: "bh.hv"; hw: "bh.hw"; hx: "bh.hx"; hy: "bh.hy"; hz: "bh.hz"; ia: "bh.ia"; ib: "bh.ib"; ic: "bh.ic"; id: "bh.id"; ie: "bh.ie"; if: "bh.if"; ig: "bh.ig"; ih: "bh.ih"; ii: "bh.ii"; ij: "bh.ij"; ik: "bh.ik"; il: "bh.il"; im: "bh.im"; in: "bh.in"; io: "bh.io"; ip: "bh.ip"; iq: "bh.iq"; ir: "bh.ir"; is: "bh.is"; it: "bh.it"; iu: "bh.iu"; iv: "bh.iv"; iw: "bh.iw"; ix: "bh.ix"; iy: "bh.iy"; iz: "bh.iz"; ja: "bh.ja"; jb: "bh.jb"; jc: "bh.jc"; jd: "bh.jd"; je: "bh.je"; jf: "bh.jf"; jg: "bh.jg"; jh: "bh.jh"; ji: "bh.ji"; jj: "bh.jj"; jk: "bh.jk"; jl: "bh.jl"; jm: "bh.jm"; jn: "bh.jn"; jo: "bh.jo"; jp: "bh.jp"; jq: "bh.jq"; jr: "bh.jr"; js: "bh.js"; jt: "bh.jt"; ju: "bh.ju"; jv: "bh.jv"; jw: "bh.jw"; jx: "bh.jx"; jy: "bh.jy"; jz: "bh.jz"; ka: "bh.ka"; kb: "bh.kb"; kc: "bh.kc"; kd: "bh.kd"; ke: "bh.ke"; kf: "bh.kf"; kg: "bh.kg"; kh: "bh.kh"; ki: "bh.ki"; kj: "bh.kj"; kk: "bh.kk"; kl: "bh.kl"; km: "bh.km"; kn: "bh.kn"; ko: "bh.ko"; kp: "bh.kp"; kq: "bh.kq"; kr: "bh.kr"; ks: "bh.ks"; kt: "bh.kt"; ku: "bh.ku"; kv: "bh.kv"; kw: "bh.kw"; kx: "bh.kx"; ky: "bh.ky"; kz: "bh.kz"; la: "bh.la"; lb: "bh.lb"; lc: "bh.lc"; ld: "bh.ld"; le: "bh.le"; lf: "bh.lf"; lg: "bh.lg"; lh: "bh.lh"; li: "bh.li"; lj: "bh.lj"; lk: "bh.lk"; ll: "bh.ll"; lm: "bh.lm"; ln: "bh.ln"; lo: "bh.lo"; lp: "bh.lp"; lq: "bh.lq"; lr: "bh.lr"; ls: "bh.ls"; lt: "bh.lt"; lu: "bh.lu"; lv: "bh.lv"; lw: "bh.lw"; lx: "bh.lx"; ly: "bh.ly"; lz: "bh.lz"; ma: "bh.ma"; mb: "bh.mb"; mc: "bh.mc"; md: "bh.md"; me: "bh.me"; mf: "bh.mf"; mg: "bh.mg"; mh: "bh.mh"; mi: "bh.mi"; mj: "bh.mj"; mk: "bh.mk"; ml: "bh.ml"; mm: "bh.mm"; mn: "bh.mn"; mo: "bh.mo"; mp: "bh.mp"; mq: "bh.mq"; mr: "bh.mr"; ms: "bh.ms"; mt: "bh.mt"; mu: "bh.mu"; mv: "bh.mv"; mw: "bh.mw"; mx: "bh.mx"; my: "bh.my"; mz: "bh.mz"; na: "bh.na"; nb: "bh.nb"; nc: "bh.nc"; nd: "bh.nd"; ne: "bh.ne"; nf: "bh.nf"; ng: "bh.ng"; nh: "bh.nh"; ni: "bh.ni"; nj: "bh.nj"; nk: "bh.nk"; nl: "bh.nl"; nm: "bh.nm"; nn: "bh.nn"; no: "bh.no"; np: "bh.np"; nq: "bh.nq"; nr: "bh.nr"; ns: "bh.ns"; nt: "bh.nt"; nu: "bh.nu"; nv: "bh.nv"; nw: "bh.nw"; nx: "bh.nx"; ny: "bh.ny"; nz: "bh.nz"; oa: "bh.oa"; ob: "bh.ob"; oc: "bh.oc"; od: "bh.od"; oe: "bh.oe"; of: "bh.of"; og: "bh.og"; oh: "bh.oh"; oi: "bh.oi"; oj: "bh.oj"; ok: "bh.ok"; ol: "bh.ol"; om: "bh.om"; on: "bh.on"; oo: "bh.oo"; op: "bh.op"; oq: "bh.oq"; or: "bh.or"; os: "bh.os"; ot: "bh.ot"; ou: "bh.ou"; ov: "bh.ov"; ow: "bh.ow"; ox: "bh.ox"; oy: "bh.oy"; oz: "bh.oz"; pa: "bh.pa"; pb: "bh.pb"; pc: "bh.pc"; pd: "bh.pd"; pe: "bh.pe"; pf: "bh.pf"; pg: "bh.pg"; ph: "bh.ph"; pi: "bh.pi"; pj: "bh.pj"; pk: "bh.pk"; pl: "bh.pl"; pm: "bh.pm"; pn: "bh.pn"; po: "bh.po"; pp: "bh.pp"; pq: "bh.pq"; pr: "bh.pr"; ps: "bh.ps"; pt: "bh.pt"; pu: "bh.pu"; pv: "bh.pv"; pw: "bh.pw"; px: "bh.px"; py: "bh.py"; pz: "bh.pz"; qa: "bh.qa"; qb: "bh.qb"; qc: "bh.qc"; qd: "bh.qd"; qe: "bh.qe"; qf: "bh.qf"; qg: "bh.qg"; qh: "bh.qh"; qi: "bh.qi"; qj: "bh.qj"; qk: "bh.qk"; ql: "bh.ql"; qm: "bh.qm"; qn: "bh.qn"; qo: "bh.qo"; qp: "bh.qp"; qq: "bh.qq"; qr: "bh.qr"; qs: "bh.qs"; qt: "bh.qt"; qu: "bh.qu"; qv: "bh.qv"; qw: "bh.qw"; qx: "bh.qx"; qy: "bh.qy"; qz: "bh.qz"; ra: "bh.ra"; rb: "bh.rb"; rc: "bh.rc"; rd: "bh.rd"; re: "bh.re"; rf: "bh.rf"; rg: "bh.rg"; rh: "bh.rh"; ri: "bh.ri"; rj: "bh.rj"; rk: "bh.rk"; rl: "bh.rl"; rm: "bh.rm"; rn: "bh.rn"; ro: "bh.ro"; rp: "bh.rp"; rq: "bh.rq"; rr: "bh.rr"; rs: "bh.rs"; rt: "bh.rt"; ru: "bh.ru"; rv: "bh.rv"; rw: "bh.rw"; rx: "bh.rx"; ry: "bh.ry"; rz: "bh.rz"; sa: "bh.sa"; sb: "bh.sb"; sc: "bh.sc"; sd: "bh.sd"; se: "bh.se"; sf: "bh.sf"; sg: "bh.sg"; sh: "bh.sh"; si: "bh.si"; sj: "bh.sj"; sk: "bh.sk"; sl: "bh.sl"; sm: "bh.sm"; sn: "bh.sn"; so: "bh.so"; sp: "bh.sp"; sq: "bh.sq"; sr: "bh.sr"; ss: "bh.ss"; st: "bh.st"; su: "bh.su"; sv: "bh.sv"; sw: "bh.sw"; sx: "bh.sx"; sy: "bh.sy"; sz: "bh.sz"; ta: "bh.ta"; tb: "bh.tb"; tc: "bh.tc"; td: "bh.td"; te: "bh.te"; tf: "bh.tf"; tg: "bh.tg"; th: "bh.th"; ti: "bh.ti"; tj: "bh.tj"; tk: "bh.tk"; tl: "bh.tl"; tm: "bh.tm"; tn: "bh.tn"; to: "bh.to"; tp: "bh.tp"; tq: "bh.tq"; tr: "bh.tr"; ts: "bh.ts"; tt: "bh.tt"; tu: "bh.tu"; tv: "bh.tv"; tw: "bh.tw"; tx: "bh.tx"; ty: "bh.ty"; tz: "bh.tz"; ua: "bh.ua"; ub: "bh.ub"; uc: "bh.uc"; ud: "bh.ud"; ue: "bh.ue"; uf: "bh.uf"; ug: "bh.ug"; uh: "bh.uh"; ui: "bh.ui"; uj: "bh.uj"; uk: "bh.uk"; ul: "bh.ul"; um: "bh.um"; un: "bh.un"; uo: "bh.uo"; up: "bh.up"; uq: "bh.uq"; ur: "bh.ur"; us: "bh.us"; ut: "bh.ut"; uu: "bh.uu"; uv: "bh.uv"; uw: "bh.uw"; ux: "bh.ux"; uy: "bh.uy"; uz: "bh.uz"; va: "bh.va"; vb: "bh.vb"; vc: "bh.vc"; vd: "bh.vd"; ve: "bh.ve"; vf: "bh.vf"; vg: "bh.vg"; vh: "bh.vh"; vi: "bh.vi"; vj: "bh.vj"; vk: "bh.vk"; vl: "bh.vl"; vm: "bh.vm"; vn: "bh.vn"; vo: "bh.vo"; vp: "bh.vp"; vq: "bh.vq"; vr: "bh.vr"; vs: "bh.vs"; vt: "bh.vt"; vu: "bh.vu"; vv: "bh.vv"; vw: "bh.vw"; vx: "bh.vx"; vy: "bh.vy"; vz: "bh.vz"; wa: "bh.wa"; wb: "bh.wb"; wc: "bh.wc"; wd: "bh.wd"; we: "bh.we"; wf: "bh.wf"; wg: "bh.wg"; wh: "bh.wh"; wi: "bh.wi"; wj: "bh.wj"; wk: "bh.wk"; wl: "bh.wl"; wm: "bh.wm"; wn: "bh.wn"; wo: "bh.wo"; wp: "bh.wp"; wq: "bh.wq"; wr: "bh.wr"; ws: "bh.ws"; wt: "bh.wt"; wu: "bh.wu"; wv: "bh.wv"; ww: "bh.ww"; wx: "bh.wx"; wy: "bh.wy"; wz: "bh.wz"; xa: "bh.xa"; xb: "bh.xb"; xc: "bh.xc"; xd: "bh.xd"; xe: "bh.xe"; xf: "bh.xf"; xg: "bh.xg"; xh: "bh.xh"; xi: "bh.xi"; xj: "bh.xj"; xk: "bh.xk"; xl: "bh.xl"; xm: "bh.xm"; xn: "bh.xn"; xo: "bh.xo"; xp: "bh.xp"; xq: "bh.xq"; xr: "bh.xr"; xs: "bh.xs"; xt: "bh.xt"; xu: "bh.xu"; xv: "bh.xv"; xw: "bh.xw"; xx: "bh.xx"; xy: "bh.xy"; xz: "bh.xz"; ya: "bh.ya"; yb: "bh.yb"; yc: "bh.yc"; yd: "bh.yd"; ye: "bh.ye"; yf: "bh.yf"; yg: "bh.yg"; yh: "bh.yh"; yi: "bh.yi"; yj: "bh.yj"; yk: "bh.yk"; yl: "bh.yl"; ym: "bh.ym"; yn: "bh.yn"; yo: "bh.yo"; yp: "bh.yp"; yq: "bh.yq"; yr: "bh.yr"; ys: "bh.ys"; yt: "bh.yt"; yu: "bh.yu"; yv: "bh.yv"; yw: "bh.yw"; yx: "bh.yx"; yy: "bh.yy"; yz: "bh.yz"; za: "bh.za"; zb: "bh.zb"; zc: "bh.zc"; zd: "bh.zd"; ze: "bh.ze"; zf: "bh.zf"; zg: "bh.zg"; zh: "bh.zh"; zi: "bh.zi"; zj: "bh.zj"; zk: "bh.zk"; zl: "bh.zl"; zm: "bh.zm"; zn: "bh.zn"; zo: "bh.zo"; zp: "bh.zp"; zq: "bh.zq"; zr: "bh.zr"; zs: "bh.zs"; zt: "bh.zt"; zu: "bh.zu"; zv: "bh.zv"; zw: "bh.zw"; zx: "bh.zx"; zy: "bh.zy"; zz: "bh.zz"; }; bi: { aa: "bi.aa"; ab: "bi.ab"; ac: "bi.ac"; ad: "bi.ad"; ae: "bi.ae"; af: "bi.af"; ag: "bi.ag"; ah: "bi.ah"; ai: "bi.ai"; aj: "bi.aj"; ak: "bi.ak"; al: "bi.al"; am: "bi.am"; an: "bi.an"; ao: "bi.ao"; ap: "bi.ap"; aq: "bi.aq"; ar: "bi.ar"; as: "bi.as"; at: "bi.at"; au: "bi.au"; av: "bi.av"; aw: "bi.aw"; ax: "bi.ax"; ay: "bi.ay"; az: "bi.az"; ba: "bi.ba"; bb: "bi.bb"; bc: "bi.bc"; bd: "bi.bd"; be: "bi.be"; bf: "bi.bf"; bg: "bi.bg"; bh: "bi.bh"; bi: "bi.bi"; bj: "bi.bj"; bk: "bi.bk"; bl: "bi.bl"; bm: "bi.bm"; bn: "bi.bn"; bo: "bi.bo"; bp: "bi.bp"; bq: "bi.bq"; br: "bi.br"; bs: "bi.bs"; bt: "bi.bt"; bu: "bi.bu"; bv: "bi.bv"; bw: "bi.bw"; bx: "bi.bx"; by: "bi.by"; bz: "bi.bz"; ca: "bi.ca"; cb: "bi.cb"; cc: "bi.cc"; cd: "bi.cd"; ce: "bi.ce"; cf: "bi.cf"; cg: "bi.cg"; ch: "bi.ch"; ci: "bi.ci"; cj: "bi.cj"; ck: "bi.ck"; cl: "bi.cl"; cm: "bi.cm"; cn: "bi.cn"; co: "bi.co"; cp: "bi.cp"; cq: "bi.cq"; cr: "bi.cr"; cs: "bi.cs"; ct: "bi.ct"; cu: "bi.cu"; cv: "bi.cv"; cw: "bi.cw"; cx: "bi.cx"; cy: "bi.cy"; cz: "bi.cz"; da: "bi.da"; db: "bi.db"; dc: "bi.dc"; dd: "bi.dd"; de: "bi.de"; df: "bi.df"; dg: "bi.dg"; dh: "bi.dh"; di: "bi.di"; dj: "bi.dj"; dk: "bi.dk"; dl: "bi.dl"; dm: "bi.dm"; dn: "bi.dn"; do: "bi.do"; dp: "bi.dp"; dq: "bi.dq"; dr: "bi.dr"; ds: "bi.ds"; dt: "bi.dt"; du: "bi.du"; dv: "bi.dv"; dw: "bi.dw"; dx: "bi.dx"; dy: "bi.dy"; dz: "bi.dz"; ea: "bi.ea"; eb: "bi.eb"; ec: "bi.ec"; ed: "bi.ed"; ee: "bi.ee"; ef: "bi.ef"; eg: "bi.eg"; eh: "bi.eh"; ei: "bi.ei"; ej: "bi.ej"; ek: "bi.ek"; el: "bi.el"; em: "bi.em"; en: "bi.en"; eo: "bi.eo"; ep: "bi.ep"; eq: "bi.eq"; er: "bi.er"; es: "bi.es"; et: "bi.et"; eu: "bi.eu"; ev: "bi.ev"; ew: "bi.ew"; ex: "bi.ex"; ey: "bi.ey"; ez: "bi.ez"; fa: "bi.fa"; fb: "bi.fb"; fc: "bi.fc"; fd: "bi.fd"; fe: "bi.fe"; ff: "bi.ff"; fg: "bi.fg"; fh: "bi.fh"; fi: "bi.fi"; fj: "bi.fj"; fk: "bi.fk"; fl: "bi.fl"; fm: "bi.fm"; fn: "bi.fn"; fo: "bi.fo"; fp: "bi.fp"; fq: "bi.fq"; fr: "bi.fr"; fs: "bi.fs"; ft: "bi.ft"; fu: "bi.fu"; fv: "bi.fv"; fw: "bi.fw"; fx: "bi.fx"; fy: "bi.fy"; fz: "bi.fz"; ga: "bi.ga"; gb: "bi.gb"; gc: "bi.gc"; gd: "bi.gd"; ge: "bi.ge"; gf: "bi.gf"; gg: "bi.gg"; gh: "bi.gh"; gi: "bi.gi"; gj: "bi.gj"; gk: "bi.gk"; gl: "bi.gl"; gm: "bi.gm"; gn: "bi.gn"; go: "bi.go"; gp: "bi.gp"; gq: "bi.gq"; gr: "bi.gr"; gs: "bi.gs"; gt: "bi.gt"; gu: "bi.gu"; gv: "bi.gv"; gw: "bi.gw"; gx: "bi.gx"; gy: "bi.gy"; gz: "bi.gz"; ha: "bi.ha"; hb: "bi.hb"; hc: "bi.hc"; hd: "bi.hd"; he: "bi.he"; hf: "bi.hf"; hg: "bi.hg"; hh: "bi.hh"; hi: "bi.hi"; hj: "bi.hj"; hk: "bi.hk"; hl: "bi.hl"; hm: "bi.hm"; hn: "bi.hn"; ho: "bi.ho"; hp: "bi.hp"; hq: "bi.hq"; hr: "bi.hr"; hs: "bi.hs"; ht: "bi.ht"; hu: "bi.hu"; hv: "bi.hv"; hw: "bi.hw"; hx: "bi.hx"; hy: "bi.hy"; hz: "bi.hz"; ia: "bi.ia"; ib: "bi.ib"; ic: "bi.ic"; id: "bi.id"; ie: "bi.ie"; if: "bi.if"; ig: "bi.ig"; ih: "bi.ih"; ii: "bi.ii"; ij: "bi.ij"; ik: "bi.ik"; il: "bi.il"; im: "bi.im"; in: "bi.in"; io: "bi.io"; ip: "bi.ip"; iq: "bi.iq"; ir: "bi.ir"; is: "bi.is"; it: "bi.it"; iu: "bi.iu"; iv: "bi.iv"; iw: "bi.iw"; ix: "bi.ix"; iy: "bi.iy"; iz: "bi.iz"; ja: "bi.ja"; jb: "bi.jb"; jc: "bi.jc"; jd: "bi.jd"; je: "bi.je"; jf: "bi.jf"; jg: "bi.jg"; jh: "bi.jh"; ji: "bi.ji"; jj: "bi.jj"; jk: "bi.jk"; jl: "bi.jl"; jm: "bi.jm"; jn: "bi.jn"; jo: "bi.jo"; jp: "bi.jp"; jq: "bi.jq"; jr: "bi.jr"; js: "bi.js"; jt: "bi.jt"; ju: "bi.ju"; jv: "bi.jv"; jw: "bi.jw"; jx: "bi.jx"; jy: "bi.jy"; jz: "bi.jz"; ka: "bi.ka"; kb: "bi.kb"; kc: "bi.kc"; kd: "bi.kd"; ke: "bi.ke"; kf: "bi.kf"; kg: "bi.kg"; kh: "bi.kh"; ki: "bi.ki"; kj: "bi.kj"; kk: "bi.kk"; kl: "bi.kl"; km: "bi.km"; kn: "bi.kn"; ko: "bi.ko"; kp: "bi.kp"; kq: "bi.kq"; kr: "bi.kr"; ks: "bi.ks"; kt: "bi.kt"; ku: "bi.ku"; kv: "bi.kv"; kw: "bi.kw"; kx: "bi.kx"; ky: "bi.ky"; kz: "bi.kz"; la: "bi.la"; lb: "bi.lb"; lc: "bi.lc"; ld: "bi.ld"; le: "bi.le"; lf: "bi.lf"; lg: "bi.lg"; lh: "bi.lh"; li: "bi.li"; lj: "bi.lj"; lk: "bi.lk"; ll: "bi.ll"; lm: "bi.lm"; ln: "bi.ln"; lo: "bi.lo"; lp: "bi.lp"; lq: "bi.lq"; lr: "bi.lr"; ls: "bi.ls"; lt: "bi.lt"; lu: "bi.lu"; lv: "bi.lv"; lw: "bi.lw"; lx: "bi.lx"; ly: "bi.ly"; lz: "bi.lz"; ma: "bi.ma"; mb: "bi.mb"; mc: "bi.mc"; md: "bi.md"; me: "bi.me"; mf: "bi.mf"; mg: "bi.mg"; mh: "bi.mh"; mi: "bi.mi"; mj: "bi.mj"; mk: "bi.mk"; ml: "bi.ml"; mm: "bi.mm"; mn: "bi.mn"; mo: "bi.mo"; mp: "bi.mp"; mq: "bi.mq"; mr: "bi.mr"; ms: "bi.ms"; mt: "bi.mt"; mu: "bi.mu"; mv: "bi.mv"; mw: "bi.mw"; mx: "bi.mx"; my: "bi.my"; mz: "bi.mz"; na: "bi.na"; nb: "bi.nb"; nc: "bi.nc"; nd: "bi.nd"; ne: "bi.ne"; nf: "bi.nf"; ng: "bi.ng"; nh: "bi.nh"; ni: "bi.ni"; nj: "bi.nj"; nk: "bi.nk"; nl: "bi.nl"; nm: "bi.nm"; nn: "bi.nn"; no: "bi.no"; np: "bi.np"; nq: "bi.nq"; nr: "bi.nr"; ns: "bi.ns"; nt: "bi.nt"; nu: "bi.nu"; nv: "bi.nv"; nw: "bi.nw"; nx: "bi.nx"; ny: "bi.ny"; nz: "bi.nz"; oa: "bi.oa"; ob: "bi.ob"; oc: "bi.oc"; od: "bi.od"; oe: "bi.oe"; of: "bi.of"; og: "bi.og"; oh: "bi.oh"; oi: "bi.oi"; oj: "bi.oj"; ok: "bi.ok"; ol: "bi.ol"; om: "bi.om"; on: "bi.on"; oo: "bi.oo"; op: "bi.op"; oq: "bi.oq"; or: "bi.or"; os: "bi.os"; ot: "bi.ot"; ou: "bi.ou"; ov: "bi.ov"; ow: "bi.ow"; ox: "bi.ox"; oy: "bi.oy"; oz: "bi.oz"; pa: "bi.pa"; pb: "bi.pb"; pc: "bi.pc"; pd: "bi.pd"; pe: "bi.pe"; pf: "bi.pf"; pg: "bi.pg"; ph: "bi.ph"; pi: "bi.pi"; pj: "bi.pj"; pk: "bi.pk"; pl: "bi.pl"; pm: "bi.pm"; pn: "bi.pn"; po: "bi.po"; pp: "bi.pp"; pq: "bi.pq"; pr: "bi.pr"; ps: "bi.ps"; pt: "bi.pt"; pu: "bi.pu"; pv: "bi.pv"; pw: "bi.pw"; px: "bi.px"; py: "bi.py"; pz: "bi.pz"; qa: "bi.qa"; qb: "bi.qb"; qc: "bi.qc"; qd: "bi.qd"; qe: "bi.qe"; qf: "bi.qf"; qg: "bi.qg"; qh: "bi.qh"; qi: "bi.qi"; qj: "bi.qj"; qk: "bi.qk"; ql: "bi.ql"; qm: "bi.qm"; qn: "bi.qn"; qo: "bi.qo"; qp: "bi.qp"; qq: "bi.qq"; qr: "bi.qr"; qs: "bi.qs"; qt: "bi.qt"; qu: "bi.qu"; qv: "bi.qv"; qw: "bi.qw"; qx: "bi.qx"; qy: "bi.qy"; qz: "bi.qz"; ra: "bi.ra"; rb: "bi.rb"; rc: "bi.rc"; rd: "bi.rd"; re: "bi.re"; rf: "bi.rf"; rg: "bi.rg"; rh: "bi.rh"; ri: "bi.ri"; rj: "bi.rj"; rk: "bi.rk"; rl: "bi.rl"; rm: "bi.rm"; rn: "bi.rn"; ro: "bi.ro"; rp: "bi.rp"; rq: "bi.rq"; rr: "bi.rr"; rs: "bi.rs"; rt: "bi.rt"; ru: "bi.ru"; rv: "bi.rv"; rw: "bi.rw"; rx: "bi.rx"; ry: "bi.ry"; rz: "bi.rz"; sa: "bi.sa"; sb: "bi.sb"; sc: "bi.sc"; sd: "bi.sd"; se: "bi.se"; sf: "bi.sf"; sg: "bi.sg"; sh: "bi.sh"; si: "bi.si"; sj: "bi.sj"; sk: "bi.sk"; sl: "bi.sl"; sm: "bi.sm"; sn: "bi.sn"; so: "bi.so"; sp: "bi.sp"; sq: "bi.sq"; sr: "bi.sr"; ss: "bi.ss"; st: "bi.st"; su: "bi.su"; sv: "bi.sv"; sw: "bi.sw"; sx: "bi.sx"; sy: "bi.sy"; sz: "bi.sz"; ta: "bi.ta"; tb: "bi.tb"; tc: "bi.tc"; td: "bi.td"; te: "bi.te"; tf: "bi.tf"; tg: "bi.tg"; th: "bi.th"; ti: "bi.ti"; tj: "bi.tj"; tk: "bi.tk"; tl: "bi.tl"; tm: "bi.tm"; tn: "bi.tn"; to: "bi.to"; tp: "bi.tp"; tq: "bi.tq"; tr: "bi.tr"; ts: "bi.ts"; tt: "bi.tt"; tu: "bi.tu"; tv: "bi.tv"; tw: "bi.tw"; tx: "bi.tx"; ty: "bi.ty"; tz: "bi.tz"; ua: "bi.ua"; ub: "bi.ub"; uc: "bi.uc"; ud: "bi.ud"; ue: "bi.ue"; uf: "bi.uf"; ug: "bi.ug"; uh: "bi.uh"; ui: "bi.ui"; uj: "bi.uj"; uk: "bi.uk"; ul: "bi.ul"; um: "bi.um"; un: "bi.un"; uo: "bi.uo"; up: "bi.up"; uq: "bi.uq"; ur: "bi.ur"; us: "bi.us"; ut: "bi.ut"; uu: "bi.uu"; uv: "bi.uv"; uw: "bi.uw"; ux: "bi.ux"; uy: "bi.uy"; uz: "bi.uz"; va: "bi.va"; vb: "bi.vb"; vc: "bi.vc"; vd: "bi.vd"; ve: "bi.ve"; vf: "bi.vf"; vg: "bi.vg"; vh: "bi.vh"; vi: "bi.vi"; vj: "bi.vj"; vk: "bi.vk"; vl: "bi.vl"; vm: "bi.vm"; vn: "bi.vn"; vo: "bi.vo"; vp: "bi.vp"; vq: "bi.vq"; vr: "bi.vr"; vs: "bi.vs"; vt: "bi.vt"; vu: "bi.vu"; vv: "bi.vv"; vw: "bi.vw"; vx: "bi.vx"; vy: "bi.vy"; vz: "bi.vz"; wa: "bi.wa"; wb: "bi.wb"; wc: "bi.wc"; wd: "bi.wd"; we: "bi.we"; wf: "bi.wf"; wg: "bi.wg"; wh: "bi.wh"; wi: "bi.wi"; wj: "bi.wj"; wk: "bi.wk"; wl: "bi.wl"; wm: "bi.wm"; wn: "bi.wn"; wo: "bi.wo"; wp: "bi.wp"; wq: "bi.wq"; wr: "bi.wr"; ws: "bi.ws"; wt: "bi.wt"; wu: "bi.wu"; wv: "bi.wv"; ww: "bi.ww"; wx: "bi.wx"; wy: "bi.wy"; wz: "bi.wz"; xa: "bi.xa"; xb: "bi.xb"; xc: "bi.xc"; xd: "bi.xd"; xe: "bi.xe"; xf: "bi.xf"; xg: "bi.xg"; xh: "bi.xh"; xi: "bi.xi"; xj: "bi.xj"; xk: "bi.xk"; xl: "bi.xl"; xm: "bi.xm"; xn: "bi.xn"; xo: "bi.xo"; xp: "bi.xp"; xq: "bi.xq"; xr: "bi.xr"; xs: "bi.xs"; xt: "bi.xt"; xu: "bi.xu"; xv: "bi.xv"; xw: "bi.xw"; xx: "bi.xx"; xy: "bi.xy"; xz: "bi.xz"; ya: "bi.ya"; yb: "bi.yb"; yc: "bi.yc"; yd: "bi.yd"; ye: "bi.ye"; yf: "bi.yf"; yg: "bi.yg"; yh: "bi.yh"; yi: "bi.yi"; yj: "bi.yj"; yk: "bi.yk"; yl: "bi.yl"; ym: "bi.ym"; yn: "bi.yn"; yo: "bi.yo"; yp: "bi.yp"; yq: "bi.yq"; yr: "bi.yr"; ys: "bi.ys"; yt: "bi.yt"; yu: "bi.yu"; yv: "bi.yv"; yw: "bi.yw"; yx: "bi.yx"; yy: "bi.yy"; yz: "bi.yz"; za: "bi.za"; zb: "bi.zb"; zc: "bi.zc"; zd: "bi.zd"; ze: "bi.ze"; zf: "bi.zf"; zg: "bi.zg"; zh: "bi.zh"; zi: "bi.zi"; zj: "bi.zj"; zk: "bi.zk"; zl: "bi.zl"; zm: "bi.zm"; zn: "bi.zn"; zo: "bi.zo"; zp: "bi.zp"; zq: "bi.zq"; zr: "bi.zr"; zs: "bi.zs"; zt: "bi.zt"; zu: "bi.zu"; zv: "bi.zv"; zw: "bi.zw"; zx: "bi.zx"; zy: "bi.zy"; zz: "bi.zz"; }; bj: { aa: "bj.aa"; ab: "bj.ab"; ac: "bj.ac"; ad: "bj.ad"; ae: "bj.ae"; af: "bj.af"; ag: "bj.ag"; ah: "bj.ah"; ai: "bj.ai"; aj: "bj.aj"; ak: "bj.ak"; al: "bj.al"; am: "bj.am"; an: "bj.an"; ao: "bj.ao"; ap: "bj.ap"; aq: "bj.aq"; ar: "bj.ar"; as: "bj.as"; at: "bj.at"; au: "bj.au"; av: "bj.av"; aw: "bj.aw"; ax: "bj.ax"; ay: "bj.ay"; az: "bj.az"; ba: "bj.ba"; bb: "bj.bb"; bc: "bj.bc"; bd: "bj.bd"; be: "bj.be"; bf: "bj.bf"; bg: "bj.bg"; bh: "bj.bh"; bi: "bj.bi"; bj: "bj.bj"; bk: "bj.bk"; bl: "bj.bl"; bm: "bj.bm"; bn: "bj.bn"; bo: "bj.bo"; bp: "bj.bp"; bq: "bj.bq"; br: "bj.br"; bs: "bj.bs"; bt: "bj.bt"; bu: "bj.bu"; bv: "bj.bv"; bw: "bj.bw"; bx: "bj.bx"; by: "bj.by"; bz: "bj.bz"; ca: "bj.ca"; cb: "bj.cb"; cc: "bj.cc"; cd: "bj.cd"; ce: "bj.ce"; cf: "bj.cf"; cg: "bj.cg"; ch: "bj.ch"; ci: "bj.ci"; cj: "bj.cj"; ck: "bj.ck"; cl: "bj.cl"; cm: "bj.cm"; cn: "bj.cn"; co: "bj.co"; cp: "bj.cp"; cq: "bj.cq"; cr: "bj.cr"; cs: "bj.cs"; ct: "bj.ct"; cu: "bj.cu"; cv: "bj.cv"; cw: "bj.cw"; cx: "bj.cx"; cy: "bj.cy"; cz: "bj.cz"; da: "bj.da"; db: "bj.db"; dc: "bj.dc"; dd: "bj.dd"; de: "bj.de"; df: "bj.df"; dg: "bj.dg"; dh: "bj.dh"; di: "bj.di"; dj: "bj.dj"; dk: "bj.dk"; dl: "bj.dl"; dm: "bj.dm"; dn: "bj.dn"; do: "bj.do"; dp: "bj.dp"; dq: "bj.dq"; dr: "bj.dr"; ds: "bj.ds"; dt: "bj.dt"; du: "bj.du"; dv: "bj.dv"; dw: "bj.dw"; dx: "bj.dx"; dy: "bj.dy"; dz: "bj.dz"; ea: "bj.ea"; eb: "bj.eb"; ec: "bj.ec"; ed: "bj.ed"; ee: "bj.ee"; ef: "bj.ef"; eg: "bj.eg"; eh: "bj.eh"; ei: "bj.ei"; ej: "bj.ej"; ek: "bj.ek"; el: "bj.el"; em: "bj.em"; en: "bj.en"; eo: "bj.eo"; ep: "bj.ep"; eq: "bj.eq"; er: "bj.er"; es: "bj.es"; et: "bj.et"; eu: "bj.eu"; ev: "bj.ev"; ew: "bj.ew"; ex: "bj.ex"; ey: "bj.ey"; ez: "bj.ez"; fa: "bj.fa"; fb: "bj.fb"; fc: "bj.fc"; fd: "bj.fd"; fe: "bj.fe"; ff: "bj.ff"; fg: "bj.fg"; fh: "bj.fh"; fi: "bj.fi"; fj: "bj.fj"; fk: "bj.fk"; fl: "bj.fl"; fm: "bj.fm"; fn: "bj.fn"; fo: "bj.fo"; fp: "bj.fp"; fq: "bj.fq"; fr: "bj.fr"; fs: "bj.fs"; ft: "bj.ft"; fu: "bj.fu"; fv: "bj.fv"; fw: "bj.fw"; fx: "bj.fx"; fy: "bj.fy"; fz: "bj.fz"; ga: "bj.ga"; gb: "bj.gb"; gc: "bj.gc"; gd: "bj.gd"; ge: "bj.ge"; gf: "bj.gf"; gg: "bj.gg"; gh: "bj.gh"; gi: "bj.gi"; gj: "bj.gj"; gk: "bj.gk"; gl: "bj.gl"; gm: "bj.gm"; gn: "bj.gn"; go: "bj.go"; gp: "bj.gp"; gq: "bj.gq"; gr: "bj.gr"; gs: "bj.gs"; gt: "bj.gt"; gu: "bj.gu"; gv: "bj.gv"; gw: "bj.gw"; gx: "bj.gx"; gy: "bj.gy"; gz: "bj.gz"; ha: "bj.ha"; hb: "bj.hb"; hc: "bj.hc"; hd: "bj.hd"; he: "bj.he"; hf: "bj.hf"; hg: "bj.hg"; hh: "bj.hh"; hi: "bj.hi"; hj: "bj.hj"; hk: "bj.hk"; hl: "bj.hl"; hm: "bj.hm"; hn: "bj.hn"; ho: "bj.ho"; hp: "bj.hp"; hq: "bj.hq"; hr: "bj.hr"; hs: "bj.hs"; ht: "bj.ht"; hu: "bj.hu"; hv: "bj.hv"; hw: "bj.hw"; hx: "bj.hx"; hy: "bj.hy"; hz: "bj.hz"; ia: "bj.ia"; ib: "bj.ib"; ic: "bj.ic"; id: "bj.id"; ie: "bj.ie"; if: "bj.if"; ig: "bj.ig"; ih: "bj.ih"; ii: "bj.ii"; ij: "bj.ij"; ik: "bj.ik"; il: "bj.il"; im: "bj.im"; in: "bj.in"; io: "bj.io"; ip: "bj.ip"; iq: "bj.iq"; ir: "bj.ir"; is: "bj.is"; it: "bj.it"; iu: "bj.iu"; iv: "bj.iv"; iw: "bj.iw"; ix: "bj.ix"; iy: "bj.iy"; iz: "bj.iz"; ja: "bj.ja"; jb: "bj.jb"; jc: "bj.jc"; jd: "bj.jd"; je: "bj.je"; jf: "bj.jf"; jg: "bj.jg"; jh: "bj.jh"; ji: "bj.ji"; jj: "bj.jj"; jk: "bj.jk"; jl: "bj.jl"; jm: "bj.jm"; jn: "bj.jn"; jo: "bj.jo"; jp: "bj.jp"; jq: "bj.jq"; jr: "bj.jr"; js: "bj.js"; jt: "bj.jt"; ju: "bj.ju"; jv: "bj.jv"; jw: "bj.jw"; jx: "bj.jx"; jy: "bj.jy"; jz: "bj.jz"; ka: "bj.ka"; kb: "bj.kb"; kc: "bj.kc"; kd: "bj.kd"; ke: "bj.ke"; kf: "bj.kf"; kg: "bj.kg"; kh: "bj.kh"; ki: "bj.ki"; kj: "bj.kj"; kk: "bj.kk"; kl: "bj.kl"; km: "bj.km"; kn: "bj.kn"; ko: "bj.ko"; kp: "bj.kp"; kq: "bj.kq"; kr: "bj.kr"; ks: "bj.ks"; kt: "bj.kt"; ku: "bj.ku"; kv: "bj.kv"; kw: "bj.kw"; kx: "bj.kx"; ky: "bj.ky"; kz: "bj.kz"; la: "bj.la"; lb: "bj.lb"; lc: "bj.lc"; ld: "bj.ld"; le: "bj.le"; lf: "bj.lf"; lg: "bj.lg"; lh: "bj.lh"; li: "bj.li"; lj: "bj.lj"; lk: "bj.lk"; ll: "bj.ll"; lm: "bj.lm"; ln: "bj.ln"; lo: "bj.lo"; lp: "bj.lp"; lq: "bj.lq"; lr: "bj.lr"; ls: "bj.ls"; lt: "bj.lt"; lu: "bj.lu"; lv: "bj.lv"; lw: "bj.lw"; lx: "bj.lx"; ly: "bj.ly"; lz: "bj.lz"; ma: "bj.ma"; mb: "bj.mb"; mc: "bj.mc"; md: "bj.md"; me: "bj.me"; mf: "bj.mf"; mg: "bj.mg"; mh: "bj.mh"; mi: "bj.mi"; mj: "bj.mj"; mk: "bj.mk"; ml: "bj.ml"; mm: "bj.mm"; mn: "bj.mn"; mo: "bj.mo"; mp: "bj.mp"; mq: "bj.mq"; mr: "bj.mr"; ms: "bj.ms"; mt: "bj.mt"; mu: "bj.mu"; mv: "bj.mv"; mw: "bj.mw"; mx: "bj.mx"; my: "bj.my"; mz: "bj.mz"; na: "bj.na"; nb: "bj.nb"; nc: "bj.nc"; nd: "bj.nd"; ne: "bj.ne"; nf: "bj.nf"; ng: "bj.ng"; nh: "bj.nh"; ni: "bj.ni"; nj: "bj.nj"; nk: "bj.nk"; nl: "bj.nl"; nm: "bj.nm"; nn: "bj.nn"; no: "bj.no"; np: "bj.np"; nq: "bj.nq"; nr: "bj.nr"; ns: "bj.ns"; nt: "bj.nt"; nu: "bj.nu"; nv: "bj.nv"; nw: "bj.nw"; nx: "bj.nx"; ny: "bj.ny"; nz: "bj.nz"; oa: "bj.oa"; ob: "bj.ob"; oc: "bj.oc"; od: "bj.od"; oe: "bj.oe"; of: "bj.of"; og: "bj.og"; oh: "bj.oh"; oi: "bj.oi"; oj: "bj.oj"; ok: "bj.ok"; ol: "bj.ol"; om: "bj.om"; on: "bj.on"; oo: "bj.oo"; op: "bj.op"; oq: "bj.oq"; or: "bj.or"; os: "bj.os"; ot: "bj.ot"; ou: "bj.ou"; ov: "bj.ov"; ow: "bj.ow"; ox: "bj.ox"; oy: "bj.oy"; oz: "bj.oz"; pa: "bj.pa"; pb: "bj.pb"; pc: "bj.pc"; pd: "bj.pd"; pe: "bj.pe"; pf: "bj.pf"; pg: "bj.pg"; ph: "bj.ph"; pi: "bj.pi"; pj: "bj.pj"; pk: "bj.pk"; pl: "bj.pl"; pm: "bj.pm"; pn: "bj.pn"; po: "bj.po"; pp: "bj.pp"; pq: "bj.pq"; pr: "bj.pr"; ps: "bj.ps"; pt: "bj.pt"; pu: "bj.pu"; pv: "bj.pv"; pw: "bj.pw"; px: "bj.px"; py: "bj.py"; pz: "bj.pz"; qa: "bj.qa"; qb: "bj.qb"; qc: "bj.qc"; qd: "bj.qd"; qe: "bj.qe"; qf: "bj.qf"; qg: "bj.qg"; qh: "bj.qh"; qi: "bj.qi"; qj: "bj.qj"; qk: "bj.qk"; ql: "bj.ql"; qm: "bj.qm"; qn: "bj.qn"; qo: "bj.qo"; qp: "bj.qp"; qq: "bj.qq"; qr: "bj.qr"; qs: "bj.qs"; qt: "bj.qt"; qu: "bj.qu"; qv: "bj.qv"; qw: "bj.qw"; qx: "bj.qx"; qy: "bj.qy"; qz: "bj.qz"; ra: "bj.ra"; rb: "bj.rb"; rc: "bj.rc"; rd: "bj.rd"; re: "bj.re"; rf: "bj.rf"; rg: "bj.rg"; rh: "bj.rh"; ri: "bj.ri"; rj: "bj.rj"; rk: "bj.rk"; rl: "bj.rl"; rm: "bj.rm"; rn: "bj.rn"; ro: "bj.ro"; rp: "bj.rp"; rq: "bj.rq"; rr: "bj.rr"; rs: "bj.rs"; rt: "bj.rt"; ru: "bj.ru"; rv: "bj.rv"; rw: "bj.rw"; rx: "bj.rx"; ry: "bj.ry"; rz: "bj.rz"; sa: "bj.sa"; sb: "bj.sb"; sc: "bj.sc"; sd: "bj.sd"; se: "bj.se"; sf: "bj.sf"; sg: "bj.sg"; sh: "bj.sh"; si: "bj.si"; sj: "bj.sj"; sk: "bj.sk"; sl: "bj.sl"; sm: "bj.sm"; sn: "bj.sn"; so: "bj.so"; sp: "bj.sp"; sq: "bj.sq"; sr: "bj.sr"; ss: "bj.ss"; st: "bj.st"; su: "bj.su"; sv: "bj.sv"; sw: "bj.sw"; sx: "bj.sx"; sy: "bj.sy"; sz: "bj.sz"; ta: "bj.ta"; tb: "bj.tb"; tc: "bj.tc"; td: "bj.td"; te: "bj.te"; tf: "bj.tf"; tg: "bj.tg"; th: "bj.th"; ti: "bj.ti"; tj: "bj.tj"; tk: "bj.tk"; tl: "bj.tl"; tm: "bj.tm"; tn: "bj.tn"; to: "bj.to"; tp: "bj.tp"; tq: "bj.tq"; tr: "bj.tr"; ts: "bj.ts"; tt: "bj.tt"; tu: "bj.tu"; tv: "bj.tv"; tw: "bj.tw"; tx: "bj.tx"; ty: "bj.ty"; tz: "bj.tz"; ua: "bj.ua"; ub: "bj.ub"; uc: "bj.uc"; ud: "bj.ud"; ue: "bj.ue"; uf: "bj.uf"; ug: "bj.ug"; uh: "bj.uh"; ui: "bj.ui"; uj: "bj.uj"; uk: "bj.uk"; ul: "bj.ul"; um: "bj.um"; un: "bj.un"; uo: "bj.uo"; up: "bj.up"; uq: "bj.uq"; ur: "bj.ur"; us: "bj.us"; ut: "bj.ut"; uu: "bj.uu"; uv: "bj.uv"; uw: "bj.uw"; ux: "bj.ux"; uy: "bj.uy"; uz: "bj.uz"; va: "bj.va"; vb: "bj.vb"; vc: "bj.vc"; vd: "bj.vd"; ve: "bj.ve"; vf: "bj.vf"; vg: "bj.vg"; vh: "bj.vh"; vi: "bj.vi"; vj: "bj.vj"; vk: "bj.vk"; vl: "bj.vl"; vm: "bj.vm"; vn: "bj.vn"; vo: "bj.vo"; vp: "bj.vp"; vq: "bj.vq"; vr: "bj.vr"; vs: "bj.vs"; vt: "bj.vt"; vu: "bj.vu"; vv: "bj.vv"; vw: "bj.vw"; vx: "bj.vx"; vy: "bj.vy"; vz: "bj.vz"; wa: "bj.wa"; wb: "bj.wb"; wc: "bj.wc"; wd: "bj.wd"; we: "bj.we"; wf: "bj.wf"; wg: "bj.wg"; wh: "bj.wh"; wi: "bj.wi"; wj: "bj.wj"; wk: "bj.wk"; wl: "bj.wl"; wm: "bj.wm"; wn: "bj.wn"; wo: "bj.wo"; wp: "bj.wp"; wq: "bj.wq"; wr: "bj.wr"; ws: "bj.ws"; wt: "bj.wt"; wu: "bj.wu"; wv: "bj.wv"; ww: "bj.ww"; wx: "bj.wx"; wy: "bj.wy"; wz: "bj.wz"; xa: "bj.xa"; xb: "bj.xb"; xc: "bj.xc"; xd: "bj.xd"; xe: "bj.xe"; xf: "bj.xf"; xg: "bj.xg"; xh: "bj.xh"; xi: "bj.xi"; xj: "bj.xj"; xk: "bj.xk"; xl: "bj.xl"; xm: "bj.xm"; xn: "bj.xn"; xo: "bj.xo"; xp: "bj.xp"; xq: "bj.xq"; xr: "bj.xr"; xs: "bj.xs"; xt: "bj.xt"; xu: "bj.xu"; xv: "bj.xv"; xw: "bj.xw"; xx: "bj.xx"; xy: "bj.xy"; xz: "bj.xz"; ya: "bj.ya"; yb: "bj.yb"; yc: "bj.yc"; yd: "bj.yd"; ye: "bj.ye"; yf: "bj.yf"; yg: "bj.yg"; yh: "bj.yh"; yi: "bj.yi"; yj: "bj.yj"; yk: "bj.yk"; yl: "bj.yl"; ym: "bj.ym"; yn: "bj.yn"; yo: "bj.yo"; yp: "bj.yp"; yq: "bj.yq"; yr: "bj.yr"; ys: "bj.ys"; yt: "bj.yt"; yu: "bj.yu"; yv: "bj.yv"; yw: "bj.yw"; yx: "bj.yx"; yy: "bj.yy"; yz: "bj.yz"; za: "bj.za"; zb: "bj.zb"; zc: "bj.zc"; zd: "bj.zd"; ze: "bj.ze"; zf: "bj.zf"; zg: "bj.zg"; zh: "bj.zh"; zi: "bj.zi"; zj: "bj.zj"; zk: "bj.zk"; zl: "bj.zl"; zm: "bj.zm"; zn: "bj.zn"; zo: "bj.zo"; zp: "bj.zp"; zq: "bj.zq"; zr: "bj.zr"; zs: "bj.zs"; zt: "bj.zt"; zu: "bj.zu"; zv: "bj.zv"; zw: "bj.zw"; zx: "bj.zx"; zy: "bj.zy"; zz: "bj.zz"; }; bk: { aa: "bk.aa"; ab: "bk.ab"; ac: "bk.ac"; ad: "bk.ad"; ae: "bk.ae"; af: "bk.af"; ag: "bk.ag"; ah: "bk.ah"; ai: "bk.ai"; aj: "bk.aj"; ak: "bk.ak"; al: "bk.al"; am: "bk.am"; an: "bk.an"; ao: "bk.ao"; ap: "bk.ap"; aq: "bk.aq"; ar: "bk.ar"; as: "bk.as"; at: "bk.at"; au: "bk.au"; av: "bk.av"; aw: "bk.aw"; ax: "bk.ax"; ay: "bk.ay"; az: "bk.az"; ba: "bk.ba"; bb: "bk.bb"; bc: "bk.bc"; bd: "bk.bd"; be: "bk.be"; bf: "bk.bf"; bg: "bk.bg"; bh: "bk.bh"; bi: "bk.bi"; bj: "bk.bj"; bk: "bk.bk"; bl: "bk.bl"; bm: "bk.bm"; bn: "bk.bn"; bo: "bk.bo"; bp: "bk.bp"; bq: "bk.bq"; br: "bk.br"; bs: "bk.bs"; bt: "bk.bt"; bu: "bk.bu"; bv: "bk.bv"; bw: "bk.bw"; bx: "bk.bx"; by: "bk.by"; bz: "bk.bz"; ca: "bk.ca"; cb: "bk.cb"; cc: "bk.cc"; cd: "bk.cd"; ce: "bk.ce"; cf: "bk.cf"; cg: "bk.cg"; ch: "bk.ch"; ci: "bk.ci"; cj: "bk.cj"; ck: "bk.ck"; cl: "bk.cl"; cm: "bk.cm"; cn: "bk.cn"; co: "bk.co"; cp: "bk.cp"; cq: "bk.cq"; cr: "bk.cr"; cs: "bk.cs"; ct: "bk.ct"; cu: "bk.cu"; cv: "bk.cv"; cw: "bk.cw"; cx: "bk.cx"; cy: "bk.cy"; cz: "bk.cz"; da: "bk.da"; db: "bk.db"; dc: "bk.dc"; dd: "bk.dd"; de: "bk.de"; df: "bk.df"; dg: "bk.dg"; dh: "bk.dh"; di: "bk.di"; dj: "bk.dj"; dk: "bk.dk"; dl: "bk.dl"; dm: "bk.dm"; dn: "bk.dn"; do: "bk.do"; dp: "bk.dp"; dq: "bk.dq"; dr: "bk.dr"; ds: "bk.ds"; dt: "bk.dt"; du: "bk.du"; dv: "bk.dv"; dw: "bk.dw"; dx: "bk.dx"; dy: "bk.dy"; dz: "bk.dz"; ea: "bk.ea"; eb: "bk.eb"; ec: "bk.ec"; ed: "bk.ed"; ee: "bk.ee"; ef: "bk.ef"; eg: "bk.eg"; eh: "bk.eh"; ei: "bk.ei"; ej: "bk.ej"; ek: "bk.ek"; el: "bk.el"; em: "bk.em"; en: "bk.en"; eo: "bk.eo"; ep: "bk.ep"; eq: "bk.eq"; er: "bk.er"; es: "bk.es"; et: "bk.et"; eu: "bk.eu"; ev: "bk.ev"; ew: "bk.ew"; ex: "bk.ex"; ey: "bk.ey"; ez: "bk.ez"; fa: "bk.fa"; fb: "bk.fb"; fc: "bk.fc"; fd: "bk.fd"; fe: "bk.fe"; ff: "bk.ff"; fg: "bk.fg"; fh: "bk.fh"; fi: "bk.fi"; fj: "bk.fj"; fk: "bk.fk"; fl: "bk.fl"; fm: "bk.fm"; fn: "bk.fn"; fo: "bk.fo"; fp: "bk.fp"; fq: "bk.fq"; fr: "bk.fr"; fs: "bk.fs"; ft: "bk.ft"; fu: "bk.fu"; fv: "bk.fv"; fw: "bk.fw"; fx: "bk.fx"; fy: "bk.fy"; fz: "bk.fz"; ga: "bk.ga"; gb: "bk.gb"; gc: "bk.gc"; gd: "bk.gd"; ge: "bk.ge"; gf: "bk.gf"; gg: "bk.gg"; gh: "bk.gh"; gi: "bk.gi"; gj: "bk.gj"; gk: "bk.gk"; gl: "bk.gl"; gm: "bk.gm"; gn: "bk.gn"; go: "bk.go"; gp: "bk.gp"; gq: "bk.gq"; gr: "bk.gr"; gs: "bk.gs"; gt: "bk.gt"; gu: "bk.gu"; gv: "bk.gv"; gw: "bk.gw"; gx: "bk.gx"; gy: "bk.gy"; gz: "bk.gz"; ha: "bk.ha"; hb: "bk.hb"; hc: "bk.hc"; hd: "bk.hd"; he: "bk.he"; hf: "bk.hf"; hg: "bk.hg"; hh: "bk.hh"; hi: "bk.hi"; hj: "bk.hj"; hk: "bk.hk"; hl: "bk.hl"; hm: "bk.hm"; hn: "bk.hn"; ho: "bk.ho"; hp: "bk.hp"; hq: "bk.hq"; hr: "bk.hr"; hs: "bk.hs"; ht: "bk.ht"; hu: "bk.hu"; hv: "bk.hv"; hw: "bk.hw"; hx: "bk.hx"; hy: "bk.hy"; hz: "bk.hz"; ia: "bk.ia"; ib: "bk.ib"; ic: "bk.ic"; id: "bk.id"; ie: "bk.ie"; if: "bk.if"; ig: "bk.ig"; ih: "bk.ih"; ii: "bk.ii"; ij: "bk.ij"; ik: "bk.ik"; il: "bk.il"; im: "bk.im"; in: "bk.in"; io: "bk.io"; ip: "bk.ip"; iq: "bk.iq"; ir: "bk.ir"; is: "bk.is"; it: "bk.it"; iu: "bk.iu"; iv: "bk.iv"; iw: "bk.iw"; ix: "bk.ix"; iy: "bk.iy"; iz: "bk.iz"; ja: "bk.ja"; jb: "bk.jb"; jc: "bk.jc"; jd: "bk.jd"; je: "bk.je"; jf: "bk.jf"; jg: "bk.jg"; jh: "bk.jh"; ji: "bk.ji"; jj: "bk.jj"; jk: "bk.jk"; jl: "bk.jl"; jm: "bk.jm"; jn: "bk.jn"; jo: "bk.jo"; jp: "bk.jp"; jq: "bk.jq"; jr: "bk.jr"; js: "bk.js"; jt: "bk.jt"; ju: "bk.ju"; jv: "bk.jv"; jw: "bk.jw"; jx: "bk.jx"; jy: "bk.jy"; jz: "bk.jz"; ka: "bk.ka"; kb: "bk.kb"; kc: "bk.kc"; kd: "bk.kd"; ke: "bk.ke"; kf: "bk.kf"; kg: "bk.kg"; kh: "bk.kh"; ki: "bk.ki"; kj: "bk.kj"; kk: "bk.kk"; kl: "bk.kl"; km: "bk.km"; kn: "bk.kn"; ko: "bk.ko"; kp: "bk.kp"; kq: "bk.kq"; kr: "bk.kr"; ks: "bk.ks"; kt: "bk.kt"; ku: "bk.ku"; kv: "bk.kv"; kw: "bk.kw"; kx: "bk.kx"; ky: "bk.ky"; kz: "bk.kz"; la: "bk.la"; lb: "bk.lb"; lc: "bk.lc"; ld: "bk.ld"; le: "bk.le"; lf: "bk.lf"; lg: "bk.lg"; lh: "bk.lh"; li: "bk.li"; lj: "bk.lj"; lk: "bk.lk"; ll: "bk.ll"; lm: "bk.lm"; ln: "bk.ln"; lo: "bk.lo"; lp: "bk.lp"; lq: "bk.lq"; lr: "bk.lr"; ls: "bk.ls"; lt: "bk.lt"; lu: "bk.lu"; lv: "bk.lv"; lw: "bk.lw"; lx: "bk.lx"; ly: "bk.ly"; lz: "bk.lz"; ma: "bk.ma"; mb: "bk.mb"; mc: "bk.mc"; md: "bk.md"; me: "bk.me"; mf: "bk.mf"; mg: "bk.mg"; mh: "bk.mh"; mi: "bk.mi"; mj: "bk.mj"; mk: "bk.mk"; ml: "bk.ml"; mm: "bk.mm"; mn: "bk.mn"; mo: "bk.mo"; mp: "bk.mp"; mq: "bk.mq"; mr: "bk.mr"; ms: "bk.ms"; mt: "bk.mt"; mu: "bk.mu"; mv: "bk.mv"; mw: "bk.mw"; mx: "bk.mx"; my: "bk.my"; mz: "bk.mz"; na: "bk.na"; nb: "bk.nb"; nc: "bk.nc"; nd: "bk.nd"; ne: "bk.ne"; nf: "bk.nf"; ng: "bk.ng"; nh: "bk.nh"; ni: "bk.ni"; nj: "bk.nj"; nk: "bk.nk"; nl: "bk.nl"; nm: "bk.nm"; nn: "bk.nn"; no: "bk.no"; np: "bk.np"; nq: "bk.nq"; nr: "bk.nr"; ns: "bk.ns"; nt: "bk.nt"; nu: "bk.nu"; nv: "bk.nv"; nw: "bk.nw"; nx: "bk.nx"; ny: "bk.ny"; nz: "bk.nz"; oa: "bk.oa"; ob: "bk.ob"; oc: "bk.oc"; od: "bk.od"; oe: "bk.oe"; of: "bk.of"; og: "bk.og"; oh: "bk.oh"; oi: "bk.oi"; oj: "bk.oj"; ok: "bk.ok"; ol: "bk.ol"; om: "bk.om"; on: "bk.on"; oo: "bk.oo"; op: "bk.op"; oq: "bk.oq"; or: "bk.or"; os: "bk.os"; ot: "bk.ot"; ou: "bk.ou"; ov: "bk.ov"; ow: "bk.ow"; ox: "bk.ox"; oy: "bk.oy"; oz: "bk.oz"; pa: "bk.pa"; pb: "bk.pb"; pc: "bk.pc"; pd: "bk.pd"; pe: "bk.pe"; pf: "bk.pf"; pg: "bk.pg"; ph: "bk.ph"; pi: "bk.pi"; pj: "bk.pj"; pk: "bk.pk"; pl: "bk.pl"; pm: "bk.pm"; pn: "bk.pn"; po: "bk.po"; pp: "bk.pp"; pq: "bk.pq"; pr: "bk.pr"; ps: "bk.ps"; pt: "bk.pt"; pu: "bk.pu"; pv: "bk.pv"; pw: "bk.pw"; px: "bk.px"; py: "bk.py"; pz: "bk.pz"; qa: "bk.qa"; qb: "bk.qb"; qc: "bk.qc"; qd: "bk.qd"; qe: "bk.qe"; qf: "bk.qf"; qg: "bk.qg"; qh: "bk.qh"; qi: "bk.qi"; qj: "bk.qj"; qk: "bk.qk"; ql: "bk.ql"; qm: "bk.qm"; qn: "bk.qn"; qo: "bk.qo"; qp: "bk.qp"; qq: "bk.qq"; qr: "bk.qr"; qs: "bk.qs"; qt: "bk.qt"; qu: "bk.qu"; qv: "bk.qv"; qw: "bk.qw"; qx: "bk.qx"; qy: "bk.qy"; qz: "bk.qz"; ra: "bk.ra"; rb: "bk.rb"; rc: "bk.rc"; rd: "bk.rd"; re: "bk.re"; rf: "bk.rf"; rg: "bk.rg"; rh: "bk.rh"; ri: "bk.ri"; rj: "bk.rj"; rk: "bk.rk"; rl: "bk.rl"; rm: "bk.rm"; rn: "bk.rn"; ro: "bk.ro"; rp: "bk.rp"; rq: "bk.rq"; rr: "bk.rr"; rs: "bk.rs"; rt: "bk.rt"; ru: "bk.ru"; rv: "bk.rv"; rw: "bk.rw"; rx: "bk.rx"; ry: "bk.ry"; rz: "bk.rz"; sa: "bk.sa"; sb: "bk.sb"; sc: "bk.sc"; sd: "bk.sd"; se: "bk.se"; sf: "bk.sf"; sg: "bk.sg"; sh: "bk.sh"; si: "bk.si"; sj: "bk.sj"; sk: "bk.sk"; sl: "bk.sl"; sm: "bk.sm"; sn: "bk.sn"; so: "bk.so"; sp: "bk.sp"; sq: "bk.sq"; sr: "bk.sr"; ss: "bk.ss"; st: "bk.st"; su: "bk.su"; sv: "bk.sv"; sw: "bk.sw"; sx: "bk.sx"; sy: "bk.sy"; sz: "bk.sz"; ta: "bk.ta"; tb: "bk.tb"; tc: "bk.tc"; td: "bk.td"; te: "bk.te"; tf: "bk.tf"; tg: "bk.tg"; th: "bk.th"; ti: "bk.ti"; tj: "bk.tj"; tk: "bk.tk"; tl: "bk.tl"; tm: "bk.tm"; tn: "bk.tn"; to: "bk.to"; tp: "bk.tp"; tq: "bk.tq"; tr: "bk.tr"; ts: "bk.ts"; tt: "bk.tt"; tu: "bk.tu"; tv: "bk.tv"; tw: "bk.tw"; tx: "bk.tx"; ty: "bk.ty"; tz: "bk.tz"; ua: "bk.ua"; ub: "bk.ub"; uc: "bk.uc"; ud: "bk.ud"; ue: "bk.ue"; uf: "bk.uf"; ug: "bk.ug"; uh: "bk.uh"; ui: "bk.ui"; uj: "bk.uj"; uk: "bk.uk"; ul: "bk.ul"; um: "bk.um"; un: "bk.un"; uo: "bk.uo"; up: "bk.up"; uq: "bk.uq"; ur: "bk.ur"; us: "bk.us"; ut: "bk.ut"; uu: "bk.uu"; uv: "bk.uv"; uw: "bk.uw"; ux: "bk.ux"; uy: "bk.uy"; uz: "bk.uz"; va: "bk.va"; vb: "bk.vb"; vc: "bk.vc"; vd: "bk.vd"; ve: "bk.ve"; vf: "bk.vf"; vg: "bk.vg"; vh: "bk.vh"; vi: "bk.vi"; vj: "bk.vj"; vk: "bk.vk"; vl: "bk.vl"; vm: "bk.vm"; vn: "bk.vn"; vo: "bk.vo"; vp: "bk.vp"; vq: "bk.vq"; vr: "bk.vr"; vs: "bk.vs"; vt: "bk.vt"; vu: "bk.vu"; vv: "bk.vv"; vw: "bk.vw"; vx: "bk.vx"; vy: "bk.vy"; vz: "bk.vz"; wa: "bk.wa"; wb: "bk.wb"; wc: "bk.wc"; wd: "bk.wd"; we: "bk.we"; wf: "bk.wf"; wg: "bk.wg"; wh: "bk.wh"; wi: "bk.wi"; wj: "bk.wj"; wk: "bk.wk"; wl: "bk.wl"; wm: "bk.wm"; wn: "bk.wn"; wo: "bk.wo"; wp: "bk.wp"; wq: "bk.wq"; wr: "bk.wr"; ws: "bk.ws"; wt: "bk.wt"; wu: "bk.wu"; wv: "bk.wv"; ww: "bk.ww"; wx: "bk.wx"; wy: "bk.wy"; wz: "bk.wz"; xa: "bk.xa"; xb: "bk.xb"; xc: "bk.xc"; xd: "bk.xd"; xe: "bk.xe"; xf: "bk.xf"; xg: "bk.xg"; xh: "bk.xh"; xi: "bk.xi"; xj: "bk.xj"; xk: "bk.xk"; xl: "bk.xl"; xm: "bk.xm"; xn: "bk.xn"; xo: "bk.xo"; xp: "bk.xp"; xq: "bk.xq"; xr: "bk.xr"; xs: "bk.xs"; xt: "bk.xt"; xu: "bk.xu"; xv: "bk.xv"; xw: "bk.xw"; xx: "bk.xx"; xy: "bk.xy"; xz: "bk.xz"; ya: "bk.ya"; yb: "bk.yb"; yc: "bk.yc"; yd: "bk.yd"; ye: "bk.ye"; yf: "bk.yf"; yg: "bk.yg"; yh: "bk.yh"; yi: "bk.yi"; yj: "bk.yj"; yk: "bk.yk"; yl: "bk.yl"; ym: "bk.ym"; yn: "bk.yn"; yo: "bk.yo"; yp: "bk.yp"; yq: "bk.yq"; yr: "bk.yr"; ys: "bk.ys"; yt: "bk.yt"; yu: "bk.yu"; yv: "bk.yv"; yw: "bk.yw"; yx: "bk.yx"; yy: "bk.yy"; yz: "bk.yz"; za: "bk.za"; zb: "bk.zb"; zc: "bk.zc"; zd: "bk.zd"; ze: "bk.ze"; zf: "bk.zf"; zg: "bk.zg"; zh: "bk.zh"; zi: "bk.zi"; zj: "bk.zj"; zk: "bk.zk"; zl: "bk.zl"; zm: "bk.zm"; zn: "bk.zn"; zo: "bk.zo"; zp: "bk.zp"; zq: "bk.zq"; zr: "bk.zr"; zs: "bk.zs"; zt: "bk.zt"; zu: "bk.zu"; zv: "bk.zv"; zw: "bk.zw"; zx: "bk.zx"; zy: "bk.zy"; zz: "bk.zz"; }; bl: { aa: "bl.aa"; ab: "bl.ab"; ac: "bl.ac"; ad: "bl.ad"; ae: "bl.ae"; af: "bl.af"; ag: "bl.ag"; ah: "bl.ah"; ai: "bl.ai"; aj: "bl.aj"; ak: "bl.ak"; al: "bl.al"; am: "bl.am"; an: "bl.an"; ao: "bl.ao"; ap: "bl.ap"; aq: "bl.aq"; ar: "bl.ar"; as: "bl.as"; at: "bl.at"; au: "bl.au"; av: "bl.av"; aw: "bl.aw"; ax: "bl.ax"; ay: "bl.ay"; az: "bl.az"; ba: "bl.ba"; bb: "bl.bb"; bc: "bl.bc"; bd: "bl.bd"; be: "bl.be"; bf: "bl.bf"; bg: "bl.bg"; bh: "bl.bh"; bi: "bl.bi"; bj: "bl.bj"; bk: "bl.bk"; bl: "bl.bl"; bm: "bl.bm"; bn: "bl.bn"; bo: "bl.bo"; bp: "bl.bp"; bq: "bl.bq"; br: "bl.br"; bs: "bl.bs"; bt: "bl.bt"; bu: "bl.bu"; bv: "bl.bv"; bw: "bl.bw"; bx: "bl.bx"; by: "bl.by"; bz: "bl.bz"; ca: "bl.ca"; cb: "bl.cb"; cc: "bl.cc"; cd: "bl.cd"; ce: "bl.ce"; cf: "bl.cf"; cg: "bl.cg"; ch: "bl.ch"; ci: "bl.ci"; cj: "bl.cj"; ck: "bl.ck"; cl: "bl.cl"; cm: "bl.cm"; cn: "bl.cn"; co: "bl.co"; cp: "bl.cp"; cq: "bl.cq"; cr: "bl.cr"; cs: "bl.cs"; ct: "bl.ct"; cu: "bl.cu"; cv: "bl.cv"; cw: "bl.cw"; cx: "bl.cx"; cy: "bl.cy"; cz: "bl.cz"; da: "bl.da"; db: "bl.db"; dc: "bl.dc"; dd: "bl.dd"; de: "bl.de"; df: "bl.df"; dg: "bl.dg"; dh: "bl.dh"; di: "bl.di"; dj: "bl.dj"; dk: "bl.dk"; dl: "bl.dl"; dm: "bl.dm"; dn: "bl.dn"; do: "bl.do"; dp: "bl.dp"; dq: "bl.dq"; dr: "bl.dr"; ds: "bl.ds"; dt: "bl.dt"; du: "bl.du"; dv: "bl.dv"; dw: "bl.dw"; dx: "bl.dx"; dy: "bl.dy"; dz: "bl.dz"; ea: "bl.ea"; eb: "bl.eb"; ec: "bl.ec"; ed: "bl.ed"; ee: "bl.ee"; ef: "bl.ef"; eg: "bl.eg"; eh: "bl.eh"; ei: "bl.ei"; ej: "bl.ej"; ek: "bl.ek"; el: "bl.el"; em: "bl.em"; en: "bl.en"; eo: "bl.eo"; ep: "bl.ep"; eq: "bl.eq"; er: "bl.er"; es: "bl.es"; et: "bl.et"; eu: "bl.eu"; ev: "bl.ev"; ew: "bl.ew"; ex: "bl.ex"; ey: "bl.ey"; ez: "bl.ez"; fa: "bl.fa"; fb: "bl.fb"; fc: "bl.fc"; fd: "bl.fd"; fe: "bl.fe"; ff: "bl.ff"; fg: "bl.fg"; fh: "bl.fh"; fi: "bl.fi"; fj: "bl.fj"; fk: "bl.fk"; fl: "bl.fl"; fm: "bl.fm"; fn: "bl.fn"; fo: "bl.fo"; fp: "bl.fp"; fq: "bl.fq"; fr: "bl.fr"; fs: "bl.fs"; ft: "bl.ft"; fu: "bl.fu"; fv: "bl.fv"; fw: "bl.fw"; fx: "bl.fx"; fy: "bl.fy"; fz: "bl.fz"; ga: "bl.ga"; gb: "bl.gb"; gc: "bl.gc"; gd: "bl.gd"; ge: "bl.ge"; gf: "bl.gf"; gg: "bl.gg"; gh: "bl.gh"; gi: "bl.gi"; gj: "bl.gj"; gk: "bl.gk"; gl: "bl.gl"; gm: "bl.gm"; gn: "bl.gn"; go: "bl.go"; gp: "bl.gp"; gq: "bl.gq"; gr: "bl.gr"; gs: "bl.gs"; gt: "bl.gt"; gu: "bl.gu"; gv: "bl.gv"; gw: "bl.gw"; gx: "bl.gx"; gy: "bl.gy"; gz: "bl.gz"; ha: "bl.ha"; hb: "bl.hb"; hc: "bl.hc"; hd: "bl.hd"; he: "bl.he"; hf: "bl.hf"; hg: "bl.hg"; hh: "bl.hh"; hi: "bl.hi"; hj: "bl.hj"; hk: "bl.hk"; hl: "bl.hl"; hm: "bl.hm"; hn: "bl.hn"; ho: "bl.ho"; hp: "bl.hp"; hq: "bl.hq"; hr: "bl.hr"; hs: "bl.hs"; ht: "bl.ht"; hu: "bl.hu"; hv: "bl.hv"; hw: "bl.hw"; hx: "bl.hx"; hy: "bl.hy"; hz: "bl.hz"; ia: "bl.ia"; ib: "bl.ib"; ic: "bl.ic"; id: "bl.id"; ie: "bl.ie"; if: "bl.if"; ig: "bl.ig"; ih: "bl.ih"; ii: "bl.ii"; ij: "bl.ij"; ik: "bl.ik"; il: "bl.il"; im: "bl.im"; in: "bl.in"; io: "bl.io"; ip: "bl.ip"; iq: "bl.iq"; ir: "bl.ir"; is: "bl.is"; it: "bl.it"; iu: "bl.iu"; iv: "bl.iv"; iw: "bl.iw"; ix: "bl.ix"; iy: "bl.iy"; iz: "bl.iz"; ja: "bl.ja"; jb: "bl.jb"; jc: "bl.jc"; jd: "bl.jd"; je: "bl.je"; jf: "bl.jf"; jg: "bl.jg"; jh: "bl.jh"; ji: "bl.ji"; jj: "bl.jj"; jk: "bl.jk"; jl: "bl.jl"; jm: "bl.jm"; jn: "bl.jn"; jo: "bl.jo"; jp: "bl.jp"; jq: "bl.jq"; jr: "bl.jr"; js: "bl.js"; jt: "bl.jt"; ju: "bl.ju"; jv: "bl.jv"; jw: "bl.jw"; jx: "bl.jx"; jy: "bl.jy"; jz: "bl.jz"; ka: "bl.ka"; kb: "bl.kb"; kc: "bl.kc"; kd: "bl.kd"; ke: "bl.ke"; kf: "bl.kf"; kg: "bl.kg"; kh: "bl.kh"; ki: "bl.ki"; kj: "bl.kj"; kk: "bl.kk"; kl: "bl.kl"; km: "bl.km"; kn: "bl.kn"; ko: "bl.ko"; kp: "bl.kp"; kq: "bl.kq"; kr: "bl.kr"; ks: "bl.ks"; kt: "bl.kt"; ku: "bl.ku"; kv: "bl.kv"; kw: "bl.kw"; kx: "bl.kx"; ky: "bl.ky"; kz: "bl.kz"; la: "bl.la"; lb: "bl.lb"; lc: "bl.lc"; ld: "bl.ld"; le: "bl.le"; lf: "bl.lf"; lg: "bl.lg"; lh: "bl.lh"; li: "bl.li"; lj: "bl.lj"; lk: "bl.lk"; ll: "bl.ll"; lm: "bl.lm"; ln: "bl.ln"; lo: "bl.lo"; lp: "bl.lp"; lq: "bl.lq"; lr: "bl.lr"; ls: "bl.ls"; lt: "bl.lt"; lu: "bl.lu"; lv: "bl.lv"; lw: "bl.lw"; lx: "bl.lx"; ly: "bl.ly"; lz: "bl.lz"; ma: "bl.ma"; mb: "bl.mb"; mc: "bl.mc"; md: "bl.md"; me: "bl.me"; mf: "bl.mf"; mg: "bl.mg"; mh: "bl.mh"; mi: "bl.mi"; mj: "bl.mj"; mk: "bl.mk"; ml: "bl.ml"; mm: "bl.mm"; mn: "bl.mn"; mo: "bl.mo"; mp: "bl.mp"; mq: "bl.mq"; mr: "bl.mr"; ms: "bl.ms"; mt: "bl.mt"; mu: "bl.mu"; mv: "bl.mv"; mw: "bl.mw"; mx: "bl.mx"; my: "bl.my"; mz: "bl.mz"; na: "bl.na"; nb: "bl.nb"; nc: "bl.nc"; nd: "bl.nd"; ne: "bl.ne"; nf: "bl.nf"; ng: "bl.ng"; nh: "bl.nh"; ni: "bl.ni"; nj: "bl.nj"; nk: "bl.nk"; nl: "bl.nl"; nm: "bl.nm"; nn: "bl.nn"; no: "bl.no"; np: "bl.np"; nq: "bl.nq"; nr: "bl.nr"; ns: "bl.ns"; nt: "bl.nt"; nu: "bl.nu"; nv: "bl.nv"; nw: "bl.nw"; nx: "bl.nx"; ny: "bl.ny"; nz: "bl.nz"; oa: "bl.oa"; ob: "bl.ob"; oc: "bl.oc"; od: "bl.od"; oe: "bl.oe"; of: "bl.of"; og: "bl.og"; oh: "bl.oh"; oi: "bl.oi"; oj: "bl.oj"; ok: "bl.ok"; ol: "bl.ol"; om: "bl.om"; on: "bl.on"; oo: "bl.oo"; op: "bl.op"; oq: "bl.oq"; or: "bl.or"; os: "bl.os"; ot: "bl.ot"; ou: "bl.ou"; ov: "bl.ov"; ow: "bl.ow"; ox: "bl.ox"; oy: "bl.oy"; oz: "bl.oz"; pa: "bl.pa"; pb: "bl.pb"; pc: "bl.pc"; pd: "bl.pd"; pe: "bl.pe"; pf: "bl.pf"; pg: "bl.pg"; ph: "bl.ph"; pi: "bl.pi"; pj: "bl.pj"; pk: "bl.pk"; pl: "bl.pl"; pm: "bl.pm"; pn: "bl.pn"; po: "bl.po"; pp: "bl.pp"; pq: "bl.pq"; pr: "bl.pr"; ps: "bl.ps"; pt: "bl.pt"; pu: "bl.pu"; pv: "bl.pv"; pw: "bl.pw"; px: "bl.px"; py: "bl.py"; pz: "bl.pz"; qa: "bl.qa"; qb: "bl.qb"; qc: "bl.qc"; qd: "bl.qd"; qe: "bl.qe"; qf: "bl.qf"; qg: "bl.qg"; qh: "bl.qh"; qi: "bl.qi"; qj: "bl.qj"; qk: "bl.qk"; ql: "bl.ql"; qm: "bl.qm"; qn: "bl.qn"; qo: "bl.qo"; qp: "bl.qp"; qq: "bl.qq"; qr: "bl.qr"; qs: "bl.qs"; qt: "bl.qt"; qu: "bl.qu"; qv: "bl.qv"; qw: "bl.qw"; qx: "bl.qx"; qy: "bl.qy"; qz: "bl.qz"; ra: "bl.ra"; rb: "bl.rb"; rc: "bl.rc"; rd: "bl.rd"; re: "bl.re"; rf: "bl.rf"; rg: "bl.rg"; rh: "bl.rh"; ri: "bl.ri"; rj: "bl.rj"; rk: "bl.rk"; rl: "bl.rl"; rm: "bl.rm"; rn: "bl.rn"; ro: "bl.ro"; rp: "bl.rp"; rq: "bl.rq"; rr: "bl.rr"; rs: "bl.rs"; rt: "bl.rt"; ru: "bl.ru"; rv: "bl.rv"; rw: "bl.rw"; rx: "bl.rx"; ry: "bl.ry"; rz: "bl.rz"; sa: "bl.sa"; sb: "bl.sb"; sc: "bl.sc"; sd: "bl.sd"; se: "bl.se"; sf: "bl.sf"; sg: "bl.sg"; sh: "bl.sh"; si: "bl.si"; sj: "bl.sj"; sk: "bl.sk"; sl: "bl.sl"; sm: "bl.sm"; sn: "bl.sn"; so: "bl.so"; sp: "bl.sp"; sq: "bl.sq"; sr: "bl.sr"; ss: "bl.ss"; st: "bl.st"; su: "bl.su"; sv: "bl.sv"; sw: "bl.sw"; sx: "bl.sx"; sy: "bl.sy"; sz: "bl.sz"; ta: "bl.ta"; tb: "bl.tb"; tc: "bl.tc"; td: "bl.td"; te: "bl.te"; tf: "bl.tf"; tg: "bl.tg"; th: "bl.th"; ti: "bl.ti"; tj: "bl.tj"; tk: "bl.tk"; tl: "bl.tl"; tm: "bl.tm"; tn: "bl.tn"; to: "bl.to"; tp: "bl.tp"; tq: "bl.tq"; tr: "bl.tr"; ts: "bl.ts"; tt: "bl.tt"; tu: "bl.tu"; tv: "bl.tv"; tw: "bl.tw"; tx: "bl.tx"; ty: "bl.ty"; tz: "bl.tz"; ua: "bl.ua"; ub: "bl.ub"; uc: "bl.uc"; ud: "bl.ud"; ue: "bl.ue"; uf: "bl.uf"; ug: "bl.ug"; uh: "bl.uh"; ui: "bl.ui"; uj: "bl.uj"; uk: "bl.uk"; ul: "bl.ul"; um: "bl.um"; un: "bl.un"; uo: "bl.uo"; up: "bl.up"; uq: "bl.uq"; ur: "bl.ur"; us: "bl.us"; ut: "bl.ut"; uu: "bl.uu"; uv: "bl.uv"; uw: "bl.uw"; ux: "bl.ux"; uy: "bl.uy"; uz: "bl.uz"; va: "bl.va"; vb: "bl.vb"; vc: "bl.vc"; vd: "bl.vd"; ve: "bl.ve"; vf: "bl.vf"; vg: "bl.vg"; vh: "bl.vh"; vi: "bl.vi"; vj: "bl.vj"; vk: "bl.vk"; vl: "bl.vl"; vm: "bl.vm"; vn: "bl.vn"; vo: "bl.vo"; vp: "bl.vp"; vq: "bl.vq"; vr: "bl.vr"; vs: "bl.vs"; vt: "bl.vt"; vu: "bl.vu"; vv: "bl.vv"; vw: "bl.vw"; vx: "bl.vx"; vy: "bl.vy"; vz: "bl.vz"; wa: "bl.wa"; wb: "bl.wb"; wc: "bl.wc"; wd: "bl.wd"; we: "bl.we"; wf: "bl.wf"; wg: "bl.wg"; wh: "bl.wh"; wi: "bl.wi"; wj: "bl.wj"; wk: "bl.wk"; wl: "bl.wl"; wm: "bl.wm"; wn: "bl.wn"; wo: "bl.wo"; wp: "bl.wp"; wq: "bl.wq"; wr: "bl.wr"; ws: "bl.ws"; wt: "bl.wt"; wu: "bl.wu"; wv: "bl.wv"; ww: "bl.ww"; wx: "bl.wx"; wy: "bl.wy"; wz: "bl.wz"; xa: "bl.xa"; xb: "bl.xb"; xc: "bl.xc"; xd: "bl.xd"; xe: "bl.xe"; xf: "bl.xf"; xg: "bl.xg"; xh: "bl.xh"; xi: "bl.xi"; xj: "bl.xj"; xk: "bl.xk"; xl: "bl.xl"; xm: "bl.xm"; xn: "bl.xn"; xo: "bl.xo"; xp: "bl.xp"; xq: "bl.xq"; xr: "bl.xr"; xs: "bl.xs"; xt: "bl.xt"; xu: "bl.xu"; xv: "bl.xv"; xw: "bl.xw"; xx: "bl.xx"; xy: "bl.xy"; xz: "bl.xz"; ya: "bl.ya"; yb: "bl.yb"; yc: "bl.yc"; yd: "bl.yd"; ye: "bl.ye"; yf: "bl.yf"; yg: "bl.yg"; yh: "bl.yh"; yi: "bl.yi"; yj: "bl.yj"; yk: "bl.yk"; yl: "bl.yl"; ym: "bl.ym"; yn: "bl.yn"; yo: "bl.yo"; yp: "bl.yp"; yq: "bl.yq"; yr: "bl.yr"; ys: "bl.ys"; yt: "bl.yt"; yu: "bl.yu"; yv: "bl.yv"; yw: "bl.yw"; yx: "bl.yx"; yy: "bl.yy"; yz: "bl.yz"; za: "bl.za"; zb: "bl.zb"; zc: "bl.zc"; zd: "bl.zd"; ze: "bl.ze"; zf: "bl.zf"; zg: "bl.zg"; zh: "bl.zh"; zi: "bl.zi"; zj: "bl.zj"; zk: "bl.zk"; zl: "bl.zl"; zm: "bl.zm"; zn: "bl.zn"; zo: "bl.zo"; zp: "bl.zp"; zq: "bl.zq"; zr: "bl.zr"; zs: "bl.zs"; zt: "bl.zt"; zu: "bl.zu"; zv: "bl.zv"; zw: "bl.zw"; zx: "bl.zx"; zy: "bl.zy"; zz: "bl.zz"; }; bm: { aa: "bm.aa"; ab: "bm.ab"; ac: "bm.ac"; ad: "bm.ad"; ae: "bm.ae"; af: "bm.af"; ag: "bm.ag"; ah: "bm.ah"; ai: "bm.ai"; aj: "bm.aj"; ak: "bm.ak"; al: "bm.al"; am: "bm.am"; an: "bm.an"; ao: "bm.ao"; ap: "bm.ap"; aq: "bm.aq"; ar: "bm.ar"; as: "bm.as"; at: "bm.at"; au: "bm.au"; av: "bm.av"; aw: "bm.aw"; ax: "bm.ax"; ay: "bm.ay"; az: "bm.az"; ba: "bm.ba"; bb: "bm.bb"; bc: "bm.bc"; bd: "bm.bd"; be: "bm.be"; bf: "bm.bf"; bg: "bm.bg"; bh: "bm.bh"; bi: "bm.bi"; bj: "bm.bj"; bk: "bm.bk"; bl: "bm.bl"; bm: "bm.bm"; bn: "bm.bn"; bo: "bm.bo"; bp: "bm.bp"; bq: "bm.bq"; br: "bm.br"; bs: "bm.bs"; bt: "bm.bt"; bu: "bm.bu"; bv: "bm.bv"; bw: "bm.bw"; bx: "bm.bx"; by: "bm.by"; bz: "bm.bz"; ca: "bm.ca"; cb: "bm.cb"; cc: "bm.cc"; cd: "bm.cd"; ce: "bm.ce"; cf: "bm.cf"; cg: "bm.cg"; ch: "bm.ch"; ci: "bm.ci"; cj: "bm.cj"; ck: "bm.ck"; cl: "bm.cl"; cm: "bm.cm"; cn: "bm.cn"; co: "bm.co"; cp: "bm.cp"; cq: "bm.cq"; cr: "bm.cr"; cs: "bm.cs"; ct: "bm.ct"; cu: "bm.cu"; cv: "bm.cv"; cw: "bm.cw"; cx: "bm.cx"; cy: "bm.cy"; cz: "bm.cz"; da: "bm.da"; db: "bm.db"; dc: "bm.dc"; dd: "bm.dd"; de: "bm.de"; df: "bm.df"; dg: "bm.dg"; dh: "bm.dh"; di: "bm.di"; dj: "bm.dj"; dk: "bm.dk"; dl: "bm.dl"; dm: "bm.dm"; dn: "bm.dn"; do: "bm.do"; dp: "bm.dp"; dq: "bm.dq"; dr: "bm.dr"; ds: "bm.ds"; dt: "bm.dt"; du: "bm.du"; dv: "bm.dv"; dw: "bm.dw"; dx: "bm.dx"; dy: "bm.dy"; dz: "bm.dz"; ea: "bm.ea"; eb: "bm.eb"; ec: "bm.ec"; ed: "bm.ed"; ee: "bm.ee"; ef: "bm.ef"; eg: "bm.eg"; eh: "bm.eh"; ei: "bm.ei"; ej: "bm.ej"; ek: "bm.ek"; el: "bm.el"; em: "bm.em"; en: "bm.en"; eo: "bm.eo"; ep: "bm.ep"; eq: "bm.eq"; er: "bm.er"; es: "bm.es"; et: "bm.et"; eu: "bm.eu"; ev: "bm.ev"; ew: "bm.ew"; ex: "bm.ex"; ey: "bm.ey"; ez: "bm.ez"; fa: "bm.fa"; fb: "bm.fb"; fc: "bm.fc"; fd: "bm.fd"; fe: "bm.fe"; ff: "bm.ff"; fg: "bm.fg"; fh: "bm.fh"; fi: "bm.fi"; fj: "bm.fj"; fk: "bm.fk"; fl: "bm.fl"; fm: "bm.fm"; fn: "bm.fn"; fo: "bm.fo"; fp: "bm.fp"; fq: "bm.fq"; fr: "bm.fr"; fs: "bm.fs"; ft: "bm.ft"; fu: "bm.fu"; fv: "bm.fv"; fw: "bm.fw"; fx: "bm.fx"; fy: "bm.fy"; fz: "bm.fz"; ga: "bm.ga"; gb: "bm.gb"; gc: "bm.gc"; gd: "bm.gd"; ge: "bm.ge"; gf: "bm.gf"; gg: "bm.gg"; gh: "bm.gh"; gi: "bm.gi"; gj: "bm.gj"; gk: "bm.gk"; gl: "bm.gl"; gm: "bm.gm"; gn: "bm.gn"; go: "bm.go"; gp: "bm.gp"; gq: "bm.gq"; gr: "bm.gr"; gs: "bm.gs"; gt: "bm.gt"; gu: "bm.gu"; gv: "bm.gv"; gw: "bm.gw"; gx: "bm.gx"; gy: "bm.gy"; gz: "bm.gz"; ha: "bm.ha"; hb: "bm.hb"; hc: "bm.hc"; hd: "bm.hd"; he: "bm.he"; hf: "bm.hf"; hg: "bm.hg"; hh: "bm.hh"; hi: "bm.hi"; hj: "bm.hj"; hk: "bm.hk"; hl: "bm.hl"; hm: "bm.hm"; hn: "bm.hn"; ho: "bm.ho"; hp: "bm.hp"; hq: "bm.hq"; hr: "bm.hr"; hs: "bm.hs"; ht: "bm.ht"; hu: "bm.hu"; hv: "bm.hv"; hw: "bm.hw"; hx: "bm.hx"; hy: "bm.hy"; hz: "bm.hz"; ia: "bm.ia"; ib: "bm.ib"; ic: "bm.ic"; id: "bm.id"; ie: "bm.ie"; if: "bm.if"; ig: "bm.ig"; ih: "bm.ih"; ii: "bm.ii"; ij: "bm.ij"; ik: "bm.ik"; il: "bm.il"; im: "bm.im"; in: "bm.in"; io: "bm.io"; ip: "bm.ip"; iq: "bm.iq"; ir: "bm.ir"; is: "bm.is"; it: "bm.it"; iu: "bm.iu"; iv: "bm.iv"; iw: "bm.iw"; ix: "bm.ix"; iy: "bm.iy"; iz: "bm.iz"; ja: "bm.ja"; jb: "bm.jb"; jc: "bm.jc"; jd: "bm.jd"; je: "bm.je"; jf: "bm.jf"; jg: "bm.jg"; jh: "bm.jh"; ji: "bm.ji"; jj: "bm.jj"; jk: "bm.jk"; jl: "bm.jl"; jm: "bm.jm"; jn: "bm.jn"; jo: "bm.jo"; jp: "bm.jp"; jq: "bm.jq"; jr: "bm.jr"; js: "bm.js"; jt: "bm.jt"; ju: "bm.ju"; jv: "bm.jv"; jw: "bm.jw"; jx: "bm.jx"; jy: "bm.jy"; jz: "bm.jz"; ka: "bm.ka"; kb: "bm.kb"; kc: "bm.kc"; kd: "bm.kd"; ke: "bm.ke"; kf: "bm.kf"; kg: "bm.kg"; kh: "bm.kh"; ki: "bm.ki"; kj: "bm.kj"; kk: "bm.kk"; kl: "bm.kl"; km: "bm.km"; kn: "bm.kn"; ko: "bm.ko"; kp: "bm.kp"; kq: "bm.kq"; kr: "bm.kr"; ks: "bm.ks"; kt: "bm.kt"; ku: "bm.ku"; kv: "bm.kv"; kw: "bm.kw"; kx: "bm.kx"; ky: "bm.ky"; kz: "bm.kz"; la: "bm.la"; lb: "bm.lb"; lc: "bm.lc"; ld: "bm.ld"; le: "bm.le"; lf: "bm.lf"; lg: "bm.lg"; lh: "bm.lh"; li: "bm.li"; lj: "bm.lj"; lk: "bm.lk"; ll: "bm.ll"; lm: "bm.lm"; ln: "bm.ln"; lo: "bm.lo"; lp: "bm.lp"; lq: "bm.lq"; lr: "bm.lr"; ls: "bm.ls"; lt: "bm.lt"; lu: "bm.lu"; lv: "bm.lv"; lw: "bm.lw"; lx: "bm.lx"; ly: "bm.ly"; lz: "bm.lz"; ma: "bm.ma"; mb: "bm.mb"; mc: "bm.mc"; md: "bm.md"; me: "bm.me"; mf: "bm.mf"; mg: "bm.mg"; mh: "bm.mh"; mi: "bm.mi"; mj: "bm.mj"; mk: "bm.mk"; ml: "bm.ml"; mm: "bm.mm"; mn: "bm.mn"; mo: "bm.mo"; mp: "bm.mp"; mq: "bm.mq"; mr: "bm.mr"; ms: "bm.ms"; mt: "bm.mt"; mu: "bm.mu"; mv: "bm.mv"; mw: "bm.mw"; mx: "bm.mx"; my: "bm.my"; mz: "bm.mz"; na: "bm.na"; nb: "bm.nb"; nc: "bm.nc"; nd: "bm.nd"; ne: "bm.ne"; nf: "bm.nf"; ng: "bm.ng"; nh: "bm.nh"; ni: "bm.ni"; nj: "bm.nj"; nk: "bm.nk"; nl: "bm.nl"; nm: "bm.nm"; nn: "bm.nn"; no: "bm.no"; np: "bm.np"; nq: "bm.nq"; nr: "bm.nr"; ns: "bm.ns"; nt: "bm.nt"; nu: "bm.nu"; nv: "bm.nv"; nw: "bm.nw"; nx: "bm.nx"; ny: "bm.ny"; nz: "bm.nz"; oa: "bm.oa"; ob: "bm.ob"; oc: "bm.oc"; od: "bm.od"; oe: "bm.oe"; of: "bm.of"; og: "bm.og"; oh: "bm.oh"; oi: "bm.oi"; oj: "bm.oj"; ok: "bm.ok"; ol: "bm.ol"; om: "bm.om"; on: "bm.on"; oo: "bm.oo"; op: "bm.op"; oq: "bm.oq"; or: "bm.or"; os: "bm.os"; ot: "bm.ot"; ou: "bm.ou"; ov: "bm.ov"; ow: "bm.ow"; ox: "bm.ox"; oy: "bm.oy"; oz: "bm.oz"; pa: "bm.pa"; pb: "bm.pb"; pc: "bm.pc"; pd: "bm.pd"; pe: "bm.pe"; pf: "bm.pf"; pg: "bm.pg"; ph: "bm.ph"; pi: "bm.pi"; pj: "bm.pj"; pk: "bm.pk"; pl: "bm.pl"; pm: "bm.pm"; pn: "bm.pn"; po: "bm.po"; pp: "bm.pp"; pq: "bm.pq"; pr: "bm.pr"; ps: "bm.ps"; pt: "bm.pt"; pu: "bm.pu"; pv: "bm.pv"; pw: "bm.pw"; px: "bm.px"; py: "bm.py"; pz: "bm.pz"; qa: "bm.qa"; qb: "bm.qb"; qc: "bm.qc"; qd: "bm.qd"; qe: "bm.qe"; qf: "bm.qf"; qg: "bm.qg"; qh: "bm.qh"; qi: "bm.qi"; qj: "bm.qj"; qk: "bm.qk"; ql: "bm.ql"; qm: "bm.qm"; qn: "bm.qn"; qo: "bm.qo"; qp: "bm.qp"; qq: "bm.qq"; qr: "bm.qr"; qs: "bm.qs"; qt: "bm.qt"; qu: "bm.qu"; qv: "bm.qv"; qw: "bm.qw"; qx: "bm.qx"; qy: "bm.qy"; qz: "bm.qz"; ra: "bm.ra"; rb: "bm.rb"; rc: "bm.rc"; rd: "bm.rd"; re: "bm.re"; rf: "bm.rf"; rg: "bm.rg"; rh: "bm.rh"; ri: "bm.ri"; rj: "bm.rj"; rk: "bm.rk"; rl: "bm.rl"; rm: "bm.rm"; rn: "bm.rn"; ro: "bm.ro"; rp: "bm.rp"; rq: "bm.rq"; rr: "bm.rr"; rs: "bm.rs"; rt: "bm.rt"; ru: "bm.ru"; rv: "bm.rv"; rw: "bm.rw"; rx: "bm.rx"; ry: "bm.ry"; rz: "bm.rz"; sa: "bm.sa"; sb: "bm.sb"; sc: "bm.sc"; sd: "bm.sd"; se: "bm.se"; sf: "bm.sf"; sg: "bm.sg"; sh: "bm.sh"; si: "bm.si"; sj: "bm.sj"; sk: "bm.sk"; sl: "bm.sl"; sm: "bm.sm"; sn: "bm.sn"; so: "bm.so"; sp: "bm.sp"; sq: "bm.sq"; sr: "bm.sr"; ss: "bm.ss"; st: "bm.st"; su: "bm.su"; sv: "bm.sv"; sw: "bm.sw"; sx: "bm.sx"; sy: "bm.sy"; sz: "bm.sz"; ta: "bm.ta"; tb: "bm.tb"; tc: "bm.tc"; td: "bm.td"; te: "bm.te"; tf: "bm.tf"; tg: "bm.tg"; th: "bm.th"; ti: "bm.ti"; tj: "bm.tj"; tk: "bm.tk"; tl: "bm.tl"; tm: "bm.tm"; tn: "bm.tn"; to: "bm.to"; tp: "bm.tp"; tq: "bm.tq"; tr: "bm.tr"; ts: "bm.ts"; tt: "bm.tt"; tu: "bm.tu"; tv: "bm.tv"; tw: "bm.tw"; tx: "bm.tx"; ty: "bm.ty"; tz: "bm.tz"; ua: "bm.ua"; ub: "bm.ub"; uc: "bm.uc"; ud: "bm.ud"; ue: "bm.ue"; uf: "bm.uf"; ug: "bm.ug"; uh: "bm.uh"; ui: "bm.ui"; uj: "bm.uj"; uk: "bm.uk"; ul: "bm.ul"; um: "bm.um"; un: "bm.un"; uo: "bm.uo"; up: "bm.up"; uq: "bm.uq"; ur: "bm.ur"; us: "bm.us"; ut: "bm.ut"; uu: "bm.uu"; uv: "bm.uv"; uw: "bm.uw"; ux: "bm.ux"; uy: "bm.uy"; uz: "bm.uz"; va: "bm.va"; vb: "bm.vb"; vc: "bm.vc"; vd: "bm.vd"; ve: "bm.ve"; vf: "bm.vf"; vg: "bm.vg"; vh: "bm.vh"; vi: "bm.vi"; vj: "bm.vj"; vk: "bm.vk"; vl: "bm.vl"; vm: "bm.vm"; vn: "bm.vn"; vo: "bm.vo"; vp: "bm.vp"; vq: "bm.vq"; vr: "bm.vr"; vs: "bm.vs"; vt: "bm.vt"; vu: "bm.vu"; vv: "bm.vv"; vw: "bm.vw"; vx: "bm.vx"; vy: "bm.vy"; vz: "bm.vz"; wa: "bm.wa"; wb: "bm.wb"; wc: "bm.wc"; wd: "bm.wd"; we: "bm.we"; wf: "bm.wf"; wg: "bm.wg"; wh: "bm.wh"; wi: "bm.wi"; wj: "bm.wj"; wk: "bm.wk"; wl: "bm.wl"; wm: "bm.wm"; wn: "bm.wn"; wo: "bm.wo"; wp: "bm.wp"; wq: "bm.wq"; wr: "bm.wr"; ws: "bm.ws"; wt: "bm.wt"; wu: "bm.wu"; wv: "bm.wv"; ww: "bm.ww"; wx: "bm.wx"; wy: "bm.wy"; wz: "bm.wz"; xa: "bm.xa"; xb: "bm.xb"; xc: "bm.xc"; xd: "bm.xd"; xe: "bm.xe"; xf: "bm.xf"; xg: "bm.xg"; xh: "bm.xh"; xi: "bm.xi"; xj: "bm.xj"; xk: "bm.xk"; xl: "bm.xl"; xm: "bm.xm"; xn: "bm.xn"; xo: "bm.xo"; xp: "bm.xp"; xq: "bm.xq"; xr: "bm.xr"; xs: "bm.xs"; xt: "bm.xt"; xu: "bm.xu"; xv: "bm.xv"; xw: "bm.xw"; xx: "bm.xx"; xy: "bm.xy"; xz: "bm.xz"; ya: "bm.ya"; yb: "bm.yb"; yc: "bm.yc"; yd: "bm.yd"; ye: "bm.ye"; yf: "bm.yf"; yg: "bm.yg"; yh: "bm.yh"; yi: "bm.yi"; yj: "bm.yj"; yk: "bm.yk"; yl: "bm.yl"; ym: "bm.ym"; yn: "bm.yn"; yo: "bm.yo"; yp: "bm.yp"; yq: "bm.yq"; yr: "bm.yr"; ys: "bm.ys"; yt: "bm.yt"; yu: "bm.yu"; yv: "bm.yv"; yw: "bm.yw"; yx: "bm.yx"; yy: "bm.yy"; yz: "bm.yz"; za: "bm.za"; zb: "bm.zb"; zc: "bm.zc"; zd: "bm.zd"; ze: "bm.ze"; zf: "bm.zf"; zg: "bm.zg"; zh: "bm.zh"; zi: "bm.zi"; zj: "bm.zj"; zk: "bm.zk"; zl: "bm.zl"; zm: "bm.zm"; zn: "bm.zn"; zo: "bm.zo"; zp: "bm.zp"; zq: "bm.zq"; zr: "bm.zr"; zs: "bm.zs"; zt: "bm.zt"; zu: "bm.zu"; zv: "bm.zv"; zw: "bm.zw"; zx: "bm.zx"; zy: "bm.zy"; zz: "bm.zz"; }; bn: { aa: "bn.aa"; ab: "bn.ab"; ac: "bn.ac"; ad: "bn.ad"; ae: "bn.ae"; af: "bn.af"; ag: "bn.ag"; ah: "bn.ah"; ai: "bn.ai"; aj: "bn.aj"; ak: "bn.ak"; al: "bn.al"; am: "bn.am"; an: "bn.an"; ao: "bn.ao"; ap: "bn.ap"; aq: "bn.aq"; ar: "bn.ar"; as: "bn.as"; at: "bn.at"; au: "bn.au"; av: "bn.av"; aw: "bn.aw"; ax: "bn.ax"; ay: "bn.ay"; az: "bn.az"; ba: "bn.ba"; bb: "bn.bb"; bc: "bn.bc"; bd: "bn.bd"; be: "bn.be"; bf: "bn.bf"; bg: "bn.bg"; bh: "bn.bh"; bi: "bn.bi"; bj: "bn.bj"; bk: "bn.bk"; bl: "bn.bl"; bm: "bn.bm"; bn: "bn.bn"; bo: "bn.bo"; bp: "bn.bp"; bq: "bn.bq"; br: "bn.br"; bs: "bn.bs"; bt: "bn.bt"; bu: "bn.bu"; bv: "bn.bv"; bw: "bn.bw"; bx: "bn.bx"; by: "bn.by"; bz: "bn.bz"; ca: "bn.ca"; cb: "bn.cb"; cc: "bn.cc"; cd: "bn.cd"; ce: "bn.ce"; cf: "bn.cf"; cg: "bn.cg"; ch: "bn.ch"; ci: "bn.ci"; cj: "bn.cj"; ck: "bn.ck"; cl: "bn.cl"; cm: "bn.cm"; cn: "bn.cn"; co: "bn.co"; cp: "bn.cp"; cq: "bn.cq"; cr: "bn.cr"; cs: "bn.cs"; ct: "bn.ct"; cu: "bn.cu"; cv: "bn.cv"; cw: "bn.cw"; cx: "bn.cx"; cy: "bn.cy"; cz: "bn.cz"; da: "bn.da"; db: "bn.db"; dc: "bn.dc"; dd: "bn.dd"; de: "bn.de"; df: "bn.df"; dg: "bn.dg"; dh: "bn.dh"; di: "bn.di"; dj: "bn.dj"; dk: "bn.dk"; dl: "bn.dl"; dm: "bn.dm"; dn: "bn.dn"; do: "bn.do"; dp: "bn.dp"; dq: "bn.dq"; dr: "bn.dr"; ds: "bn.ds"; dt: "bn.dt"; du: "bn.du"; dv: "bn.dv"; dw: "bn.dw"; dx: "bn.dx"; dy: "bn.dy"; dz: "bn.dz"; ea: "bn.ea"; eb: "bn.eb"; ec: "bn.ec"; ed: "bn.ed"; ee: "bn.ee"; ef: "bn.ef"; eg: "bn.eg"; eh: "bn.eh"; ei: "bn.ei"; ej: "bn.ej"; ek: "bn.ek"; el: "bn.el"; em: "bn.em"; en: "bn.en"; eo: "bn.eo"; ep: "bn.ep"; eq: "bn.eq"; er: "bn.er"; es: "bn.es"; et: "bn.et"; eu: "bn.eu"; ev: "bn.ev"; ew: "bn.ew"; ex: "bn.ex"; ey: "bn.ey"; ez: "bn.ez"; fa: "bn.fa"; fb: "bn.fb"; fc: "bn.fc"; fd: "bn.fd"; fe: "bn.fe"; ff: "bn.ff"; fg: "bn.fg"; fh: "bn.fh"; fi: "bn.fi"; fj: "bn.fj"; fk: "bn.fk"; fl: "bn.fl"; fm: "bn.fm"; fn: "bn.fn"; fo: "bn.fo"; fp: "bn.fp"; fq: "bn.fq"; fr: "bn.fr"; fs: "bn.fs"; ft: "bn.ft"; fu: "bn.fu"; fv: "bn.fv"; fw: "bn.fw"; fx: "bn.fx"; fy: "bn.fy"; fz: "bn.fz"; ga: "bn.ga"; gb: "bn.gb"; gc: "bn.gc"; gd: "bn.gd"; ge: "bn.ge"; gf: "bn.gf"; gg: "bn.gg"; gh: "bn.gh"; gi: "bn.gi"; gj: "bn.gj"; gk: "bn.gk"; gl: "bn.gl"; gm: "bn.gm"; gn: "bn.gn"; go: "bn.go"; gp: "bn.gp"; gq: "bn.gq"; gr: "bn.gr"; gs: "bn.gs"; gt: "bn.gt"; gu: "bn.gu"; gv: "bn.gv"; gw: "bn.gw"; gx: "bn.gx"; gy: "bn.gy"; gz: "bn.gz"; ha: "bn.ha"; hb: "bn.hb"; hc: "bn.hc"; hd: "bn.hd"; he: "bn.he"; hf: "bn.hf"; hg: "bn.hg"; hh: "bn.hh"; hi: "bn.hi"; hj: "bn.hj"; hk: "bn.hk"; hl: "bn.hl"; hm: "bn.hm"; hn: "bn.hn"; ho: "bn.ho"; hp: "bn.hp"; hq: "bn.hq"; hr: "bn.hr"; hs: "bn.hs"; ht: "bn.ht"; hu: "bn.hu"; hv: "bn.hv"; hw: "bn.hw"; hx: "bn.hx"; hy: "bn.hy"; hz: "bn.hz"; ia: "bn.ia"; ib: "bn.ib"; ic: "bn.ic"; id: "bn.id"; ie: "bn.ie"; if: "bn.if"; ig: "bn.ig"; ih: "bn.ih"; ii: "bn.ii"; ij: "bn.ij"; ik: "bn.ik"; il: "bn.il"; im: "bn.im"; in: "bn.in"; io: "bn.io"; ip: "bn.ip"; iq: "bn.iq"; ir: "bn.ir"; is: "bn.is"; it: "bn.it"; iu: "bn.iu"; iv: "bn.iv"; iw: "bn.iw"; ix: "bn.ix"; iy: "bn.iy"; iz: "bn.iz"; ja: "bn.ja"; jb: "bn.jb"; jc: "bn.jc"; jd: "bn.jd"; je: "bn.je"; jf: "bn.jf"; jg: "bn.jg"; jh: "bn.jh"; ji: "bn.ji"; jj: "bn.jj"; jk: "bn.jk"; jl: "bn.jl"; jm: "bn.jm"; jn: "bn.jn"; jo: "bn.jo"; jp: "bn.jp"; jq: "bn.jq"; jr: "bn.jr"; js: "bn.js"; jt: "bn.jt"; ju: "bn.ju"; jv: "bn.jv"; jw: "bn.jw"; jx: "bn.jx"; jy: "bn.jy"; jz: "bn.jz"; ka: "bn.ka"; kb: "bn.kb"; kc: "bn.kc"; kd: "bn.kd"; ke: "bn.ke"; kf: "bn.kf"; kg: "bn.kg"; kh: "bn.kh"; ki: "bn.ki"; kj: "bn.kj"; kk: "bn.kk"; kl: "bn.kl"; km: "bn.km"; kn: "bn.kn"; ko: "bn.ko"; kp: "bn.kp"; kq: "bn.kq"; kr: "bn.kr"; ks: "bn.ks"; kt: "bn.kt"; ku: "bn.ku"; kv: "bn.kv"; kw: "bn.kw"; kx: "bn.kx"; ky: "bn.ky"; kz: "bn.kz"; la: "bn.la"; lb: "bn.lb"; lc: "bn.lc"; ld: "bn.ld"; le: "bn.le"; lf: "bn.lf"; lg: "bn.lg"; lh: "bn.lh"; li: "bn.li"; lj: "bn.lj"; lk: "bn.lk"; ll: "bn.ll"; lm: "bn.lm"; ln: "bn.ln"; lo: "bn.lo"; lp: "bn.lp"; lq: "bn.lq"; lr: "bn.lr"; ls: "bn.ls"; lt: "bn.lt"; lu: "bn.lu"; lv: "bn.lv"; lw: "bn.lw"; lx: "bn.lx"; ly: "bn.ly"; lz: "bn.lz"; ma: "bn.ma"; mb: "bn.mb"; mc: "bn.mc"; md: "bn.md"; me: "bn.me"; mf: "bn.mf"; mg: "bn.mg"; mh: "bn.mh"; mi: "bn.mi"; mj: "bn.mj"; mk: "bn.mk"; ml: "bn.ml"; mm: "bn.mm"; mn: "bn.mn"; mo: "bn.mo"; mp: "bn.mp"; mq: "bn.mq"; mr: "bn.mr"; ms: "bn.ms"; mt: "bn.mt"; mu: "bn.mu"; mv: "bn.mv"; mw: "bn.mw"; mx: "bn.mx"; my: "bn.my"; mz: "bn.mz"; na: "bn.na"; nb: "bn.nb"; nc: "bn.nc"; nd: "bn.nd"; ne: "bn.ne"; nf: "bn.nf"; ng: "bn.ng"; nh: "bn.nh"; ni: "bn.ni"; nj: "bn.nj"; nk: "bn.nk"; nl: "bn.nl"; nm: "bn.nm"; nn: "bn.nn"; no: "bn.no"; np: "bn.np"; nq: "bn.nq"; nr: "bn.nr"; ns: "bn.ns"; nt: "bn.nt"; nu: "bn.nu"; nv: "bn.nv"; nw: "bn.nw"; nx: "bn.nx"; ny: "bn.ny"; nz: "bn.nz"; oa: "bn.oa"; ob: "bn.ob"; oc: "bn.oc"; od: "bn.od"; oe: "bn.oe"; of: "bn.of"; og: "bn.og"; oh: "bn.oh"; oi: "bn.oi"; oj: "bn.oj"; ok: "bn.ok"; ol: "bn.ol"; om: "bn.om"; on: "bn.on"; oo: "bn.oo"; op: "bn.op"; oq: "bn.oq"; or: "bn.or"; os: "bn.os"; ot: "bn.ot"; ou: "bn.ou"; ov: "bn.ov"; ow: "bn.ow"; ox: "bn.ox"; oy: "bn.oy"; oz: "bn.oz"; pa: "bn.pa"; pb: "bn.pb"; pc: "bn.pc"; pd: "bn.pd"; pe: "bn.pe"; pf: "bn.pf"; pg: "bn.pg"; ph: "bn.ph"; pi: "bn.pi"; pj: "bn.pj"; pk: "bn.pk"; pl: "bn.pl"; pm: "bn.pm"; pn: "bn.pn"; po: "bn.po"; pp: "bn.pp"; pq: "bn.pq"; pr: "bn.pr"; ps: "bn.ps"; pt: "bn.pt"; pu: "bn.pu"; pv: "bn.pv"; pw: "bn.pw"; px: "bn.px"; py: "bn.py"; pz: "bn.pz"; qa: "bn.qa"; qb: "bn.qb"; qc: "bn.qc"; qd: "bn.qd"; qe: "bn.qe"; qf: "bn.qf"; qg: "bn.qg"; qh: "bn.qh"; qi: "bn.qi"; qj: "bn.qj"; qk: "bn.qk"; ql: "bn.ql"; qm: "bn.qm"; qn: "bn.qn"; qo: "bn.qo"; qp: "bn.qp"; qq: "bn.qq"; qr: "bn.qr"; qs: "bn.qs"; qt: "bn.qt"; qu: "bn.qu"; qv: "bn.qv"; qw: "bn.qw"; qx: "bn.qx"; qy: "bn.qy"; qz: "bn.qz"; ra: "bn.ra"; rb: "bn.rb"; rc: "bn.rc"; rd: "bn.rd"; re: "bn.re"; rf: "bn.rf"; rg: "bn.rg"; rh: "bn.rh"; ri: "bn.ri"; rj: "bn.rj"; rk: "bn.rk"; rl: "bn.rl"; rm: "bn.rm"; rn: "bn.rn"; ro: "bn.ro"; rp: "bn.rp"; rq: "bn.rq"; rr: "bn.rr"; rs: "bn.rs"; rt: "bn.rt"; ru: "bn.ru"; rv: "bn.rv"; rw: "bn.rw"; rx: "bn.rx"; ry: "bn.ry"; rz: "bn.rz"; sa: "bn.sa"; sb: "bn.sb"; sc: "bn.sc"; sd: "bn.sd"; se: "bn.se"; sf: "bn.sf"; sg: "bn.sg"; sh: "bn.sh"; si: "bn.si"; sj: "bn.sj"; sk: "bn.sk"; sl: "bn.sl"; sm: "bn.sm"; sn: "bn.sn"; so: "bn.so"; sp: "bn.sp"; sq: "bn.sq"; sr: "bn.sr"; ss: "bn.ss"; st: "bn.st"; su: "bn.su"; sv: "bn.sv"; sw: "bn.sw"; sx: "bn.sx"; sy: "bn.sy"; sz: "bn.sz"; ta: "bn.ta"; tb: "bn.tb"; tc: "bn.tc"; td: "bn.td"; te: "bn.te"; tf: "bn.tf"; tg: "bn.tg"; th: "bn.th"; ti: "bn.ti"; tj: "bn.tj"; tk: "bn.tk"; tl: "bn.tl"; tm: "bn.tm"; tn: "bn.tn"; to: "bn.to"; tp: "bn.tp"; tq: "bn.tq"; tr: "bn.tr"; ts: "bn.ts"; tt: "bn.tt"; tu: "bn.tu"; tv: "bn.tv"; tw: "bn.tw"; tx: "bn.tx"; ty: "bn.ty"; tz: "bn.tz"; ua: "bn.ua"; ub: "bn.ub"; uc: "bn.uc"; ud: "bn.ud"; ue: "bn.ue"; uf: "bn.uf"; ug: "bn.ug"; uh: "bn.uh"; ui: "bn.ui"; uj: "bn.uj"; uk: "bn.uk"; ul: "bn.ul"; um: "bn.um"; un: "bn.un"; uo: "bn.uo"; up: "bn.up"; uq: "bn.uq"; ur: "bn.ur"; us: "bn.us"; ut: "bn.ut"; uu: "bn.uu"; uv: "bn.uv"; uw: "bn.uw"; ux: "bn.ux"; uy: "bn.uy"; uz: "bn.uz"; va: "bn.va"; vb: "bn.vb"; vc: "bn.vc"; vd: "bn.vd"; ve: "bn.ve"; vf: "bn.vf"; vg: "bn.vg"; vh: "bn.vh"; vi: "bn.vi"; vj: "bn.vj"; vk: "bn.vk"; vl: "bn.vl"; vm: "bn.vm"; vn: "bn.vn"; vo: "bn.vo"; vp: "bn.vp"; vq: "bn.vq"; vr: "bn.vr"; vs: "bn.vs"; vt: "bn.vt"; vu: "bn.vu"; vv: "bn.vv"; vw: "bn.vw"; vx: "bn.vx"; vy: "bn.vy"; vz: "bn.vz"; wa: "bn.wa"; wb: "bn.wb"; wc: "bn.wc"; wd: "bn.wd"; we: "bn.we"; wf: "bn.wf"; wg: "bn.wg"; wh: "bn.wh"; wi: "bn.wi"; wj: "bn.wj"; wk: "bn.wk"; wl: "bn.wl"; wm: "bn.wm"; wn: "bn.wn"; wo: "bn.wo"; wp: "bn.wp"; wq: "bn.wq"; wr: "bn.wr"; ws: "bn.ws"; wt: "bn.wt"; wu: "bn.wu"; wv: "bn.wv"; ww: "bn.ww"; wx: "bn.wx"; wy: "bn.wy"; wz: "bn.wz"; xa: "bn.xa"; xb: "bn.xb"; xc: "bn.xc"; xd: "bn.xd"; xe: "bn.xe"; xf: "bn.xf"; xg: "bn.xg"; xh: "bn.xh"; xi: "bn.xi"; xj: "bn.xj"; xk: "bn.xk"; xl: "bn.xl"; xm: "bn.xm"; xn: "bn.xn"; xo: "bn.xo"; xp: "bn.xp"; xq: "bn.xq"; xr: "bn.xr"; xs: "bn.xs"; xt: "bn.xt"; xu: "bn.xu"; xv: "bn.xv"; xw: "bn.xw"; xx: "bn.xx"; xy: "bn.xy"; xz: "bn.xz"; ya: "bn.ya"; yb: "bn.yb"; yc: "bn.yc"; yd: "bn.yd"; ye: "bn.ye"; yf: "bn.yf"; yg: "bn.yg"; yh: "bn.yh"; yi: "bn.yi"; yj: "bn.yj"; yk: "bn.yk"; yl: "bn.yl"; ym: "bn.ym"; yn: "bn.yn"; yo: "bn.yo"; yp: "bn.yp"; yq: "bn.yq"; yr: "bn.yr"; ys: "bn.ys"; yt: "bn.yt"; yu: "bn.yu"; yv: "bn.yv"; yw: "bn.yw"; yx: "bn.yx"; yy: "bn.yy"; yz: "bn.yz"; za: "bn.za"; zb: "bn.zb"; zc: "bn.zc"; zd: "bn.zd"; ze: "bn.ze"; zf: "bn.zf"; zg: "bn.zg"; zh: "bn.zh"; zi: "bn.zi"; zj: "bn.zj"; zk: "bn.zk"; zl: "bn.zl"; zm: "bn.zm"; zn: "bn.zn"; zo: "bn.zo"; zp: "bn.zp"; zq: "bn.zq"; zr: "bn.zr"; zs: "bn.zs"; zt: "bn.zt"; zu: "bn.zu"; zv: "bn.zv"; zw: "bn.zw"; zx: "bn.zx"; zy: "bn.zy"; zz: "bn.zz"; }; bo: { aa: "bo.aa"; ab: "bo.ab"; ac: "bo.ac"; ad: "bo.ad"; ae: "bo.ae"; af: "bo.af"; ag: "bo.ag"; ah: "bo.ah"; ai: "bo.ai"; aj: "bo.aj"; ak: "bo.ak"; al: "bo.al"; am: "bo.am"; an: "bo.an"; ao: "bo.ao"; ap: "bo.ap"; aq: "bo.aq"; ar: "bo.ar"; as: "bo.as"; at: "bo.at"; au: "bo.au"; av: "bo.av"; aw: "bo.aw"; ax: "bo.ax"; ay: "bo.ay"; az: "bo.az"; ba: "bo.ba"; bb: "bo.bb"; bc: "bo.bc"; bd: "bo.bd"; be: "bo.be"; bf: "bo.bf"; bg: "bo.bg"; bh: "bo.bh"; bi: "bo.bi"; bj: "bo.bj"; bk: "bo.bk"; bl: "bo.bl"; bm: "bo.bm"; bn: "bo.bn"; bo: "bo.bo"; bp: "bo.bp"; bq: "bo.bq"; br: "bo.br"; bs: "bo.bs"; bt: "bo.bt"; bu: "bo.bu"; bv: "bo.bv"; bw: "bo.bw"; bx: "bo.bx"; by: "bo.by"; bz: "bo.bz"; ca: "bo.ca"; cb: "bo.cb"; cc: "bo.cc"; cd: "bo.cd"; ce: "bo.ce"; cf: "bo.cf"; cg: "bo.cg"; ch: "bo.ch"; ci: "bo.ci"; cj: "bo.cj"; ck: "bo.ck"; cl: "bo.cl"; cm: "bo.cm"; cn: "bo.cn"; co: "bo.co"; cp: "bo.cp"; cq: "bo.cq"; cr: "bo.cr"; cs: "bo.cs"; ct: "bo.ct"; cu: "bo.cu"; cv: "bo.cv"; cw: "bo.cw"; cx: "bo.cx"; cy: "bo.cy"; cz: "bo.cz"; da: "bo.da"; db: "bo.db"; dc: "bo.dc"; dd: "bo.dd"; de: "bo.de"; df: "bo.df"; dg: "bo.dg"; dh: "bo.dh"; di: "bo.di"; dj: "bo.dj"; dk: "bo.dk"; dl: "bo.dl"; dm: "bo.dm"; dn: "bo.dn"; do: "bo.do"; dp: "bo.dp"; dq: "bo.dq"; dr: "bo.dr"; ds: "bo.ds"; dt: "bo.dt"; du: "bo.du"; dv: "bo.dv"; dw: "bo.dw"; dx: "bo.dx"; dy: "bo.dy"; dz: "bo.dz"; ea: "bo.ea"; eb: "bo.eb"; ec: "bo.ec"; ed: "bo.ed"; ee: "bo.ee"; ef: "bo.ef"; eg: "bo.eg"; eh: "bo.eh"; ei: "bo.ei"; ej: "bo.ej"; ek: "bo.ek"; el: "bo.el"; em: "bo.em"; en: "bo.en"; eo: "bo.eo"; ep: "bo.ep"; eq: "bo.eq"; er: "bo.er"; es: "bo.es"; et: "bo.et"; eu: "bo.eu"; ev: "bo.ev"; ew: "bo.ew"; ex: "bo.ex"; ey: "bo.ey"; ez: "bo.ez"; fa: "bo.fa"; fb: "bo.fb"; fc: "bo.fc"; fd: "bo.fd"; fe: "bo.fe"; ff: "bo.ff"; fg: "bo.fg"; fh: "bo.fh"; fi: "bo.fi"; fj: "bo.fj"; fk: "bo.fk"; fl: "bo.fl"; fm: "bo.fm"; fn: "bo.fn"; fo: "bo.fo"; fp: "bo.fp"; fq: "bo.fq"; fr: "bo.fr"; fs: "bo.fs"; ft: "bo.ft"; fu: "bo.fu"; fv: "bo.fv"; fw: "bo.fw"; fx: "bo.fx"; fy: "bo.fy"; fz: "bo.fz"; ga: "bo.ga"; gb: "bo.gb"; gc: "bo.gc"; gd: "bo.gd"; ge: "bo.ge"; gf: "bo.gf"; gg: "bo.gg"; gh: "bo.gh"; gi: "bo.gi"; gj: "bo.gj"; gk: "bo.gk"; gl: "bo.gl"; gm: "bo.gm"; gn: "bo.gn"; go: "bo.go"; gp: "bo.gp"; gq: "bo.gq"; gr: "bo.gr"; gs: "bo.gs"; gt: "bo.gt"; gu: "bo.gu"; gv: "bo.gv"; gw: "bo.gw"; gx: "bo.gx"; gy: "bo.gy"; gz: "bo.gz"; ha: "bo.ha"; hb: "bo.hb"; hc: "bo.hc"; hd: "bo.hd"; he: "bo.he"; hf: "bo.hf"; hg: "bo.hg"; hh: "bo.hh"; hi: "bo.hi"; hj: "bo.hj"; hk: "bo.hk"; hl: "bo.hl"; hm: "bo.hm"; hn: "bo.hn"; ho: "bo.ho"; hp: "bo.hp"; hq: "bo.hq"; hr: "bo.hr"; hs: "bo.hs"; ht: "bo.ht"; hu: "bo.hu"; hv: "bo.hv"; hw: "bo.hw"; hx: "bo.hx"; hy: "bo.hy"; hz: "bo.hz"; ia: "bo.ia"; ib: "bo.ib"; ic: "bo.ic"; id: "bo.id"; ie: "bo.ie"; if: "bo.if"; ig: "bo.ig"; ih: "bo.ih"; ii: "bo.ii"; ij: "bo.ij"; ik: "bo.ik"; il: "bo.il"; im: "bo.im"; in: "bo.in"; io: "bo.io"; ip: "bo.ip"; iq: "bo.iq"; ir: "bo.ir"; is: "bo.is"; it: "bo.it"; iu: "bo.iu"; iv: "bo.iv"; iw: "bo.iw"; ix: "bo.ix"; iy: "bo.iy"; iz: "bo.iz"; ja: "bo.ja"; jb: "bo.jb"; jc: "bo.jc"; jd: "bo.jd"; je: "bo.je"; jf: "bo.jf"; jg: "bo.jg"; jh: "bo.jh"; ji: "bo.ji"; jj: "bo.jj"; jk: "bo.jk"; jl: "bo.jl"; jm: "bo.jm"; jn: "bo.jn"; jo: "bo.jo"; jp: "bo.jp"; jq: "bo.jq"; jr: "bo.jr"; js: "bo.js"; jt: "bo.jt"; ju: "bo.ju"; jv: "bo.jv"; jw: "bo.jw"; jx: "bo.jx"; jy: "bo.jy"; jz: "bo.jz"; ka: "bo.ka"; kb: "bo.kb"; kc: "bo.kc"; kd: "bo.kd"; ke: "bo.ke"; kf: "bo.kf"; kg: "bo.kg"; kh: "bo.kh"; ki: "bo.ki"; kj: "bo.kj"; kk: "bo.kk"; kl: "bo.kl"; km: "bo.km"; kn: "bo.kn"; ko: "bo.ko"; kp: "bo.kp"; kq: "bo.kq"; kr: "bo.kr"; ks: "bo.ks"; kt: "bo.kt"; ku: "bo.ku"; kv: "bo.kv"; kw: "bo.kw"; kx: "bo.kx"; ky: "bo.ky"; kz: "bo.kz"; la: "bo.la"; lb: "bo.lb"; lc: "bo.lc"; ld: "bo.ld"; le: "bo.le"; lf: "bo.lf"; lg: "bo.lg"; lh: "bo.lh"; li: "bo.li"; lj: "bo.lj"; lk: "bo.lk"; ll: "bo.ll"; lm: "bo.lm"; ln: "bo.ln"; lo: "bo.lo"; lp: "bo.lp"; lq: "bo.lq"; lr: "bo.lr"; ls: "bo.ls"; lt: "bo.lt"; lu: "bo.lu"; lv: "bo.lv"; lw: "bo.lw"; lx: "bo.lx"; ly: "bo.ly"; lz: "bo.lz"; ma: "bo.ma"; mb: "bo.mb"; mc: "bo.mc"; md: "bo.md"; me: "bo.me"; mf: "bo.mf"; mg: "bo.mg"; mh: "bo.mh"; mi: "bo.mi"; mj: "bo.mj"; mk: "bo.mk"; ml: "bo.ml"; mm: "bo.mm"; mn: "bo.mn"; mo: "bo.mo"; mp: "bo.mp"; mq: "bo.mq"; mr: "bo.mr"; ms: "bo.ms"; mt: "bo.mt"; mu: "bo.mu"; mv: "bo.mv"; mw: "bo.mw"; mx: "bo.mx"; my: "bo.my"; mz: "bo.mz"; na: "bo.na"; nb: "bo.nb"; nc: "bo.nc"; nd: "bo.nd"; ne: "bo.ne"; nf: "bo.nf"; ng: "bo.ng"; nh: "bo.nh"; ni: "bo.ni"; nj: "bo.nj"; nk: "bo.nk"; nl: "bo.nl"; nm: "bo.nm"; nn: "bo.nn"; no: "bo.no"; np: "bo.np"; nq: "bo.nq"; nr: "bo.nr"; ns: "bo.ns"; nt: "bo.nt"; nu: "bo.nu"; nv: "bo.nv"; nw: "bo.nw"; nx: "bo.nx"; ny: "bo.ny"; nz: "bo.nz"; oa: "bo.oa"; ob: "bo.ob"; oc: "bo.oc"; od: "bo.od"; oe: "bo.oe"; of: "bo.of"; og: "bo.og"; oh: "bo.oh"; oi: "bo.oi"; oj: "bo.oj"; ok: "bo.ok"; ol: "bo.ol"; om: "bo.om"; on: "bo.on"; oo: "bo.oo"; op: "bo.op"; oq: "bo.oq"; or: "bo.or"; os: "bo.os"; ot: "bo.ot"; ou: "bo.ou"; ov: "bo.ov"; ow: "bo.ow"; ox: "bo.ox"; oy: "bo.oy"; oz: "bo.oz"; pa: "bo.pa"; pb: "bo.pb"; pc: "bo.pc"; pd: "bo.pd"; pe: "bo.pe"; pf: "bo.pf"; pg: "bo.pg"; ph: "bo.ph"; pi: "bo.pi"; pj: "bo.pj"; pk: "bo.pk"; pl: "bo.pl"; pm: "bo.pm"; pn: "bo.pn"; po: "bo.po"; pp: "bo.pp"; pq: "bo.pq"; pr: "bo.pr"; ps: "bo.ps"; pt: "bo.pt"; pu: "bo.pu"; pv: "bo.pv"; pw: "bo.pw"; px: "bo.px"; py: "bo.py"; pz: "bo.pz"; qa: "bo.qa"; qb: "bo.qb"; qc: "bo.qc"; qd: "bo.qd"; qe: "bo.qe"; qf: "bo.qf"; qg: "bo.qg"; qh: "bo.qh"; qi: "bo.qi"; qj: "bo.qj"; qk: "bo.qk"; ql: "bo.ql"; qm: "bo.qm"; qn: "bo.qn"; qo: "bo.qo"; qp: "bo.qp"; qq: "bo.qq"; qr: "bo.qr"; qs: "bo.qs"; qt: "bo.qt"; qu: "bo.qu"; qv: "bo.qv"; qw: "bo.qw"; qx: "bo.qx"; qy: "bo.qy"; qz: "bo.qz"; ra: "bo.ra"; rb: "bo.rb"; rc: "bo.rc"; rd: "bo.rd"; re: "bo.re"; rf: "bo.rf"; rg: "bo.rg"; rh: "bo.rh"; ri: "bo.ri"; rj: "bo.rj"; rk: "bo.rk"; rl: "bo.rl"; rm: "bo.rm"; rn: "bo.rn"; ro: "bo.ro"; rp: "bo.rp"; rq: "bo.rq"; rr: "bo.rr"; rs: "bo.rs"; rt: "bo.rt"; ru: "bo.ru"; rv: "bo.rv"; rw: "bo.rw"; rx: "bo.rx"; ry: "bo.ry"; rz: "bo.rz"; sa: "bo.sa"; sb: "bo.sb"; sc: "bo.sc"; sd: "bo.sd"; se: "bo.se"; sf: "bo.sf"; sg: "bo.sg"; sh: "bo.sh"; si: "bo.si"; sj: "bo.sj"; sk: "bo.sk"; sl: "bo.sl"; sm: "bo.sm"; sn: "bo.sn"; so: "bo.so"; sp: "bo.sp"; sq: "bo.sq"; sr: "bo.sr"; ss: "bo.ss"; st: "bo.st"; su: "bo.su"; sv: "bo.sv"; sw: "bo.sw"; sx: "bo.sx"; sy: "bo.sy"; sz: "bo.sz"; ta: "bo.ta"; tb: "bo.tb"; tc: "bo.tc"; td: "bo.td"; te: "bo.te"; tf: "bo.tf"; tg: "bo.tg"; th: "bo.th"; ti: "bo.ti"; tj: "bo.tj"; tk: "bo.tk"; tl: "bo.tl"; tm: "bo.tm"; tn: "bo.tn"; to: "bo.to"; tp: "bo.tp"; tq: "bo.tq"; tr: "bo.tr"; ts: "bo.ts"; tt: "bo.tt"; tu: "bo.tu"; tv: "bo.tv"; tw: "bo.tw"; tx: "bo.tx"; ty: "bo.ty"; tz: "bo.tz"; ua: "bo.ua"; ub: "bo.ub"; uc: "bo.uc"; ud: "bo.ud"; ue: "bo.ue"; uf: "bo.uf"; ug: "bo.ug"; uh: "bo.uh"; ui: "bo.ui"; uj: "bo.uj"; uk: "bo.uk"; ul: "bo.ul"; um: "bo.um"; un: "bo.un"; uo: "bo.uo"; up: "bo.up"; uq: "bo.uq"; ur: "bo.ur"; us: "bo.us"; ut: "bo.ut"; uu: "bo.uu"; uv: "bo.uv"; uw: "bo.uw"; ux: "bo.ux"; uy: "bo.uy"; uz: "bo.uz"; va: "bo.va"; vb: "bo.vb"; vc: "bo.vc"; vd: "bo.vd"; ve: "bo.ve"; vf: "bo.vf"; vg: "bo.vg"; vh: "bo.vh"; vi: "bo.vi"; vj: "bo.vj"; vk: "bo.vk"; vl: "bo.vl"; vm: "bo.vm"; vn: "bo.vn"; vo: "bo.vo"; vp: "bo.vp"; vq: "bo.vq"; vr: "bo.vr"; vs: "bo.vs"; vt: "bo.vt"; vu: "bo.vu"; vv: "bo.vv"; vw: "bo.vw"; vx: "bo.vx"; vy: "bo.vy"; vz: "bo.vz"; wa: "bo.wa"; wb: "bo.wb"; wc: "bo.wc"; wd: "bo.wd"; we: "bo.we"; wf: "bo.wf"; wg: "bo.wg"; wh: "bo.wh"; wi: "bo.wi"; wj: "bo.wj"; wk: "bo.wk"; wl: "bo.wl"; wm: "bo.wm"; wn: "bo.wn"; wo: "bo.wo"; wp: "bo.wp"; wq: "bo.wq"; wr: "bo.wr"; ws: "bo.ws"; wt: "bo.wt"; wu: "bo.wu"; wv: "bo.wv"; ww: "bo.ww"; wx: "bo.wx"; wy: "bo.wy"; wz: "bo.wz"; xa: "bo.xa"; xb: "bo.xb"; xc: "bo.xc"; xd: "bo.xd"; xe: "bo.xe"; xf: "bo.xf"; xg: "bo.xg"; xh: "bo.xh"; xi: "bo.xi"; xj: "bo.xj"; xk: "bo.xk"; xl: "bo.xl"; xm: "bo.xm"; xn: "bo.xn"; xo: "bo.xo"; xp: "bo.xp"; xq: "bo.xq"; xr: "bo.xr"; xs: "bo.xs"; xt: "bo.xt"; xu: "bo.xu"; xv: "bo.xv"; xw: "bo.xw"; xx: "bo.xx"; xy: "bo.xy"; xz: "bo.xz"; ya: "bo.ya"; yb: "bo.yb"; yc: "bo.yc"; yd: "bo.yd"; ye: "bo.ye"; yf: "bo.yf"; yg: "bo.yg"; yh: "bo.yh"; yi: "bo.yi"; yj: "bo.yj"; yk: "bo.yk"; yl: "bo.yl"; ym: "bo.ym"; yn: "bo.yn"; yo: "bo.yo"; yp: "bo.yp"; yq: "bo.yq"; yr: "bo.yr"; ys: "bo.ys"; yt: "bo.yt"; yu: "bo.yu"; yv: "bo.yv"; yw: "bo.yw"; yx: "bo.yx"; yy: "bo.yy"; yz: "bo.yz"; za: "bo.za"; zb: "bo.zb"; zc: "bo.zc"; zd: "bo.zd"; ze: "bo.ze"; zf: "bo.zf"; zg: "bo.zg"; zh: "bo.zh"; zi: "bo.zi"; zj: "bo.zj"; zk: "bo.zk"; zl: "bo.zl"; zm: "bo.zm"; zn: "bo.zn"; zo: "bo.zo"; zp: "bo.zp"; zq: "bo.zq"; zr: "bo.zr"; zs: "bo.zs"; zt: "bo.zt"; zu: "bo.zu"; zv: "bo.zv"; zw: "bo.zw"; zx: "bo.zx"; zy: "bo.zy"; zz: "bo.zz"; }; bp: { aa: "bp.aa"; ab: "bp.ab"; ac: "bp.ac"; ad: "bp.ad"; ae: "bp.ae"; af: "bp.af"; ag: "bp.ag"; ah: "bp.ah"; ai: "bp.ai"; aj: "bp.aj"; ak: "bp.ak"; al: "bp.al"; am: "bp.am"; an: "bp.an"; ao: "bp.ao"; ap: "bp.ap"; aq: "bp.aq"; ar: "bp.ar"; as: "bp.as"; at: "bp.at"; au: "bp.au"; av: "bp.av"; aw: "bp.aw"; ax: "bp.ax"; ay: "bp.ay"; az: "bp.az"; ba: "bp.ba"; bb: "bp.bb"; bc: "bp.bc"; bd: "bp.bd"; be: "bp.be"; bf: "bp.bf"; bg: "bp.bg"; bh: "bp.bh"; bi: "bp.bi"; bj: "bp.bj"; bk: "bp.bk"; bl: "bp.bl"; bm: "bp.bm"; bn: "bp.bn"; bo: "bp.bo"; bp: "bp.bp"; bq: "bp.bq"; br: "bp.br"; bs: "bp.bs"; bt: "bp.bt"; bu: "bp.bu"; bv: "bp.bv"; bw: "bp.bw"; bx: "bp.bx"; by: "bp.by"; bz: "bp.bz"; ca: "bp.ca"; cb: "bp.cb"; cc: "bp.cc"; cd: "bp.cd"; ce: "bp.ce"; cf: "bp.cf"; cg: "bp.cg"; ch: "bp.ch"; ci: "bp.ci"; cj: "bp.cj"; ck: "bp.ck"; cl: "bp.cl"; cm: "bp.cm"; cn: "bp.cn"; co: "bp.co"; cp: "bp.cp"; cq: "bp.cq"; cr: "bp.cr"; cs: "bp.cs"; ct: "bp.ct"; cu: "bp.cu"; cv: "bp.cv"; cw: "bp.cw"; cx: "bp.cx"; cy: "bp.cy"; cz: "bp.cz"; da: "bp.da"; db: "bp.db"; dc: "bp.dc"; dd: "bp.dd"; de: "bp.de"; df: "bp.df"; dg: "bp.dg"; dh: "bp.dh"; di: "bp.di"; dj: "bp.dj"; dk: "bp.dk"; dl: "bp.dl"; dm: "bp.dm"; dn: "bp.dn"; do: "bp.do"; dp: "bp.dp"; dq: "bp.dq"; dr: "bp.dr"; ds: "bp.ds"; dt: "bp.dt"; du: "bp.du"; dv: "bp.dv"; dw: "bp.dw"; dx: "bp.dx"; dy: "bp.dy"; dz: "bp.dz"; ea: "bp.ea"; eb: "bp.eb"; ec: "bp.ec"; ed: "bp.ed"; ee: "bp.ee"; ef: "bp.ef"; eg: "bp.eg"; eh: "bp.eh"; ei: "bp.ei"; ej: "bp.ej"; ek: "bp.ek"; el: "bp.el"; em: "bp.em"; en: "bp.en"; eo: "bp.eo"; ep: "bp.ep"; eq: "bp.eq"; er: "bp.er"; es: "bp.es"; et: "bp.et"; eu: "bp.eu"; ev: "bp.ev"; ew: "bp.ew"; ex: "bp.ex"; ey: "bp.ey"; ez: "bp.ez"; fa: "bp.fa"; fb: "bp.fb"; fc: "bp.fc"; fd: "bp.fd"; fe: "bp.fe"; ff: "bp.ff"; fg: "bp.fg"; fh: "bp.fh"; fi: "bp.fi"; fj: "bp.fj"; fk: "bp.fk"; fl: "bp.fl"; fm: "bp.fm"; fn: "bp.fn"; fo: "bp.fo"; fp: "bp.fp"; fq: "bp.fq"; fr: "bp.fr"; fs: "bp.fs"; ft: "bp.ft"; fu: "bp.fu"; fv: "bp.fv"; fw: "bp.fw"; fx: "bp.fx"; fy: "bp.fy"; fz: "bp.fz"; ga: "bp.ga"; gb: "bp.gb"; gc: "bp.gc"; gd: "bp.gd"; ge: "bp.ge"; gf: "bp.gf"; gg: "bp.gg"; gh: "bp.gh"; gi: "bp.gi"; gj: "bp.gj"; gk: "bp.gk"; gl: "bp.gl"; gm: "bp.gm"; gn: "bp.gn"; go: "bp.go"; gp: "bp.gp"; gq: "bp.gq"; gr: "bp.gr"; gs: "bp.gs"; gt: "bp.gt"; gu: "bp.gu"; gv: "bp.gv"; gw: "bp.gw"; gx: "bp.gx"; gy: "bp.gy"; gz: "bp.gz"; ha: "bp.ha"; hb: "bp.hb"; hc: "bp.hc"; hd: "bp.hd"; he: "bp.he"; hf: "bp.hf"; hg: "bp.hg"; hh: "bp.hh"; hi: "bp.hi"; hj: "bp.hj"; hk: "bp.hk"; hl: "bp.hl"; hm: "bp.hm"; hn: "bp.hn"; ho: "bp.ho"; hp: "bp.hp"; hq: "bp.hq"; hr: "bp.hr"; hs: "bp.hs"; ht: "bp.ht"; hu: "bp.hu"; hv: "bp.hv"; hw: "bp.hw"; hx: "bp.hx"; hy: "bp.hy"; hz: "bp.hz"; ia: "bp.ia"; ib: "bp.ib"; ic: "bp.ic"; id: "bp.id"; ie: "bp.ie"; if: "bp.if"; ig: "bp.ig"; ih: "bp.ih"; ii: "bp.ii"; ij: "bp.ij"; ik: "bp.ik"; il: "bp.il"; im: "bp.im"; in: "bp.in"; io: "bp.io"; ip: "bp.ip"; iq: "bp.iq"; ir: "bp.ir"; is: "bp.is"; it: "bp.it"; iu: "bp.iu"; iv: "bp.iv"; iw: "bp.iw"; ix: "bp.ix"; iy: "bp.iy"; iz: "bp.iz"; ja: "bp.ja"; jb: "bp.jb"; jc: "bp.jc"; jd: "bp.jd"; je: "bp.je"; jf: "bp.jf"; jg: "bp.jg"; jh: "bp.jh"; ji: "bp.ji"; jj: "bp.jj"; jk: "bp.jk"; jl: "bp.jl"; jm: "bp.jm"; jn: "bp.jn"; jo: "bp.jo"; jp: "bp.jp"; jq: "bp.jq"; jr: "bp.jr"; js: "bp.js"; jt: "bp.jt"; ju: "bp.ju"; jv: "bp.jv"; jw: "bp.jw"; jx: "bp.jx"; jy: "bp.jy"; jz: "bp.jz"; ka: "bp.ka"; kb: "bp.kb"; kc: "bp.kc"; kd: "bp.kd"; ke: "bp.ke"; kf: "bp.kf"; kg: "bp.kg"; kh: "bp.kh"; ki: "bp.ki"; kj: "bp.kj"; kk: "bp.kk"; kl: "bp.kl"; km: "bp.km"; kn: "bp.kn"; ko: "bp.ko"; kp: "bp.kp"; kq: "bp.kq"; kr: "bp.kr"; ks: "bp.ks"; kt: "bp.kt"; ku: "bp.ku"; kv: "bp.kv"; kw: "bp.kw"; kx: "bp.kx"; ky: "bp.ky"; kz: "bp.kz"; la: "bp.la"; lb: "bp.lb"; lc: "bp.lc"; ld: "bp.ld"; le: "bp.le"; lf: "bp.lf"; lg: "bp.lg"; lh: "bp.lh"; li: "bp.li"; lj: "bp.lj"; lk: "bp.lk"; ll: "bp.ll"; lm: "bp.lm"; ln: "bp.ln"; lo: "bp.lo"; lp: "bp.lp"; lq: "bp.lq"; lr: "bp.lr"; ls: "bp.ls"; lt: "bp.lt"; lu: "bp.lu"; lv: "bp.lv"; lw: "bp.lw"; lx: "bp.lx"; ly: "bp.ly"; lz: "bp.lz"; ma: "bp.ma"; mb: "bp.mb"; mc: "bp.mc"; md: "bp.md"; me: "bp.me"; mf: "bp.mf"; mg: "bp.mg"; mh: "bp.mh"; mi: "bp.mi"; mj: "bp.mj"; mk: "bp.mk"; ml: "bp.ml"; mm: "bp.mm"; mn: "bp.mn"; mo: "bp.mo"; mp: "bp.mp"; mq: "bp.mq"; mr: "bp.mr"; ms: "bp.ms"; mt: "bp.mt"; mu: "bp.mu"; mv: "bp.mv"; mw: "bp.mw"; mx: "bp.mx"; my: "bp.my"; mz: "bp.mz"; na: "bp.na"; nb: "bp.nb"; nc: "bp.nc"; nd: "bp.nd"; ne: "bp.ne"; nf: "bp.nf"; ng: "bp.ng"; nh: "bp.nh"; ni: "bp.ni"; nj: "bp.nj"; nk: "bp.nk"; nl: "bp.nl"; nm: "bp.nm"; nn: "bp.nn"; no: "bp.no"; np: "bp.np"; nq: "bp.nq"; nr: "bp.nr"; ns: "bp.ns"; nt: "bp.nt"; nu: "bp.nu"; nv: "bp.nv"; nw: "bp.nw"; nx: "bp.nx"; ny: "bp.ny"; nz: "bp.nz"; oa: "bp.oa"; ob: "bp.ob"; oc: "bp.oc"; od: "bp.od"; oe: "bp.oe"; of: "bp.of"; og: "bp.og"; oh: "bp.oh"; oi: "bp.oi"; oj: "bp.oj"; ok: "bp.ok"; ol: "bp.ol"; om: "bp.om"; on: "bp.on"; oo: "bp.oo"; op: "bp.op"; oq: "bp.oq"; or: "bp.or"; os: "bp.os"; ot: "bp.ot"; ou: "bp.ou"; ov: "bp.ov"; ow: "bp.ow"; ox: "bp.ox"; oy: "bp.oy"; oz: "bp.oz"; pa: "bp.pa"; pb: "bp.pb"; pc: "bp.pc"; pd: "bp.pd"; pe: "bp.pe"; pf: "bp.pf"; pg: "bp.pg"; ph: "bp.ph"; pi: "bp.pi"; pj: "bp.pj"; pk: "bp.pk"; pl: "bp.pl"; pm: "bp.pm"; pn: "bp.pn"; po: "bp.po"; pp: "bp.pp"; pq: "bp.pq"; pr: "bp.pr"; ps: "bp.ps"; pt: "bp.pt"; pu: "bp.pu"; pv: "bp.pv"; pw: "bp.pw"; px: "bp.px"; py: "bp.py"; pz: "bp.pz"; qa: "bp.qa"; qb: "bp.qb"; qc: "bp.qc"; qd: "bp.qd"; qe: "bp.qe"; qf: "bp.qf"; qg: "bp.qg"; qh: "bp.qh"; qi: "bp.qi"; qj: "bp.qj"; qk: "bp.qk"; ql: "bp.ql"; qm: "bp.qm"; qn: "bp.qn"; qo: "bp.qo"; qp: "bp.qp"; qq: "bp.qq"; qr: "bp.qr"; qs: "bp.qs"; qt: "bp.qt"; qu: "bp.qu"; qv: "bp.qv"; qw: "bp.qw"; qx: "bp.qx"; qy: "bp.qy"; qz: "bp.qz"; ra: "bp.ra"; rb: "bp.rb"; rc: "bp.rc"; rd: "bp.rd"; re: "bp.re"; rf: "bp.rf"; rg: "bp.rg"; rh: "bp.rh"; ri: "bp.ri"; rj: "bp.rj"; rk: "bp.rk"; rl: "bp.rl"; rm: "bp.rm"; rn: "bp.rn"; ro: "bp.ro"; rp: "bp.rp"; rq: "bp.rq"; rr: "bp.rr"; rs: "bp.rs"; rt: "bp.rt"; ru: "bp.ru"; rv: "bp.rv"; rw: "bp.rw"; rx: "bp.rx"; ry: "bp.ry"; rz: "bp.rz"; sa: "bp.sa"; sb: "bp.sb"; sc: "bp.sc"; sd: "bp.sd"; se: "bp.se"; sf: "bp.sf"; sg: "bp.sg"; sh: "bp.sh"; si: "bp.si"; sj: "bp.sj"; sk: "bp.sk"; sl: "bp.sl"; sm: "bp.sm"; sn: "bp.sn"; so: "bp.so"; sp: "bp.sp"; sq: "bp.sq"; sr: "bp.sr"; ss: "bp.ss"; st: "bp.st"; su: "bp.su"; sv: "bp.sv"; sw: "bp.sw"; sx: "bp.sx"; sy: "bp.sy"; sz: "bp.sz"; ta: "bp.ta"; tb: "bp.tb"; tc: "bp.tc"; td: "bp.td"; te: "bp.te"; tf: "bp.tf"; tg: "bp.tg"; th: "bp.th"; ti: "bp.ti"; tj: "bp.tj"; tk: "bp.tk"; tl: "bp.tl"; tm: "bp.tm"; tn: "bp.tn"; to: "bp.to"; tp: "bp.tp"; tq: "bp.tq"; tr: "bp.tr"; ts: "bp.ts"; tt: "bp.tt"; tu: "bp.tu"; tv: "bp.tv"; tw: "bp.tw"; tx: "bp.tx"; ty: "bp.ty"; tz: "bp.tz"; ua: "bp.ua"; ub: "bp.ub"; uc: "bp.uc"; ud: "bp.ud"; ue: "bp.ue"; uf: "bp.uf"; ug: "bp.ug"; uh: "bp.uh"; ui: "bp.ui"; uj: "bp.uj"; uk: "bp.uk"; ul: "bp.ul"; um: "bp.um"; un: "bp.un"; uo: "bp.uo"; up: "bp.up"; uq: "bp.uq"; ur: "bp.ur"; us: "bp.us"; ut: "bp.ut"; uu: "bp.uu"; uv: "bp.uv"; uw: "bp.uw"; ux: "bp.ux"; uy: "bp.uy"; uz: "bp.uz"; va: "bp.va"; vb: "bp.vb"; vc: "bp.vc"; vd: "bp.vd"; ve: "bp.ve"; vf: "bp.vf"; vg: "bp.vg"; vh: "bp.vh"; vi: "bp.vi"; vj: "bp.vj"; vk: "bp.vk"; vl: "bp.vl"; vm: "bp.vm"; vn: "bp.vn"; vo: "bp.vo"; vp: "bp.vp"; vq: "bp.vq"; vr: "bp.vr"; vs: "bp.vs"; vt: "bp.vt"; vu: "bp.vu"; vv: "bp.vv"; vw: "bp.vw"; vx: "bp.vx"; vy: "bp.vy"; vz: "bp.vz"; wa: "bp.wa"; wb: "bp.wb"; wc: "bp.wc"; wd: "bp.wd"; we: "bp.we"; wf: "bp.wf"; wg: "bp.wg"; wh: "bp.wh"; wi: "bp.wi"; wj: "bp.wj"; wk: "bp.wk"; wl: "bp.wl"; wm: "bp.wm"; wn: "bp.wn"; wo: "bp.wo"; wp: "bp.wp"; wq: "bp.wq"; wr: "bp.wr"; ws: "bp.ws"; wt: "bp.wt"; wu: "bp.wu"; wv: "bp.wv"; ww: "bp.ww"; wx: "bp.wx"; wy: "bp.wy"; wz: "bp.wz"; xa: "bp.xa"; xb: "bp.xb"; xc: "bp.xc"; xd: "bp.xd"; xe: "bp.xe"; xf: "bp.xf"; xg: "bp.xg"; xh: "bp.xh"; xi: "bp.xi"; xj: "bp.xj"; xk: "bp.xk"; xl: "bp.xl"; xm: "bp.xm"; xn: "bp.xn"; xo: "bp.xo"; xp: "bp.xp"; xq: "bp.xq"; xr: "bp.xr"; xs: "bp.xs"; xt: "bp.xt"; xu: "bp.xu"; xv: "bp.xv"; xw: "bp.xw"; xx: "bp.xx"; xy: "bp.xy"; xz: "bp.xz"; ya: "bp.ya"; yb: "bp.yb"; yc: "bp.yc"; yd: "bp.yd"; ye: "bp.ye"; yf: "bp.yf"; yg: "bp.yg"; yh: "bp.yh"; yi: "bp.yi"; yj: "bp.yj"; yk: "bp.yk"; yl: "bp.yl"; ym: "bp.ym"; yn: "bp.yn"; yo: "bp.yo"; yp: "bp.yp"; yq: "bp.yq"; yr: "bp.yr"; ys: "bp.ys"; yt: "bp.yt"; yu: "bp.yu"; yv: "bp.yv"; yw: "bp.yw"; yx: "bp.yx"; yy: "bp.yy"; yz: "bp.yz"; za: "bp.za"; zb: "bp.zb"; zc: "bp.zc"; zd: "bp.zd"; ze: "bp.ze"; zf: "bp.zf"; zg: "bp.zg"; zh: "bp.zh"; zi: "bp.zi"; zj: "bp.zj"; zk: "bp.zk"; zl: "bp.zl"; zm: "bp.zm"; zn: "bp.zn"; zo: "bp.zo"; zp: "bp.zp"; zq: "bp.zq"; zr: "bp.zr"; zs: "bp.zs"; zt: "bp.zt"; zu: "bp.zu"; zv: "bp.zv"; zw: "bp.zw"; zx: "bp.zx"; zy: "bp.zy"; zz: "bp.zz"; }; bq: { aa: "bq.aa"; ab: "bq.ab"; ac: "bq.ac"; ad: "bq.ad"; ae: "bq.ae"; af: "bq.af"; ag: "bq.ag"; ah: "bq.ah"; ai: "bq.ai"; aj: "bq.aj"; ak: "bq.ak"; al: "bq.al"; am: "bq.am"; an: "bq.an"; ao: "bq.ao"; ap: "bq.ap"; aq: "bq.aq"; ar: "bq.ar"; as: "bq.as"; at: "bq.at"; au: "bq.au"; av: "bq.av"; aw: "bq.aw"; ax: "bq.ax"; ay: "bq.ay"; az: "bq.az"; ba: "bq.ba"; bb: "bq.bb"; bc: "bq.bc"; bd: "bq.bd"; be: "bq.be"; bf: "bq.bf"; bg: "bq.bg"; bh: "bq.bh"; bi: "bq.bi"; bj: "bq.bj"; bk: "bq.bk"; bl: "bq.bl"; bm: "bq.bm"; bn: "bq.bn"; bo: "bq.bo"; bp: "bq.bp"; bq: "bq.bq"; br: "bq.br"; bs: "bq.bs"; bt: "bq.bt"; bu: "bq.bu"; bv: "bq.bv"; bw: "bq.bw"; bx: "bq.bx"; by: "bq.by"; bz: "bq.bz"; ca: "bq.ca"; cb: "bq.cb"; cc: "bq.cc"; cd: "bq.cd"; ce: "bq.ce"; cf: "bq.cf"; cg: "bq.cg"; ch: "bq.ch"; ci: "bq.ci"; cj: "bq.cj"; ck: "bq.ck"; cl: "bq.cl"; cm: "bq.cm"; cn: "bq.cn"; co: "bq.co"; cp: "bq.cp"; cq: "bq.cq"; cr: "bq.cr"; cs: "bq.cs"; ct: "bq.ct"; cu: "bq.cu"; cv: "bq.cv"; cw: "bq.cw"; cx: "bq.cx"; cy: "bq.cy"; cz: "bq.cz"; da: "bq.da"; db: "bq.db"; dc: "bq.dc"; dd: "bq.dd"; de: "bq.de"; df: "bq.df"; dg: "bq.dg"; dh: "bq.dh"; di: "bq.di"; dj: "bq.dj"; dk: "bq.dk"; dl: "bq.dl"; dm: "bq.dm"; dn: "bq.dn"; do: "bq.do"; dp: "bq.dp"; dq: "bq.dq"; dr: "bq.dr"; ds: "bq.ds"; dt: "bq.dt"; du: "bq.du"; dv: "bq.dv"; dw: "bq.dw"; dx: "bq.dx"; dy: "bq.dy"; dz: "bq.dz"; ea: "bq.ea"; eb: "bq.eb"; ec: "bq.ec"; ed: "bq.ed"; ee: "bq.ee"; ef: "bq.ef"; eg: "bq.eg"; eh: "bq.eh"; ei: "bq.ei"; ej: "bq.ej"; ek: "bq.ek"; el: "bq.el"; em: "bq.em"; en: "bq.en"; eo: "bq.eo"; ep: "bq.ep"; eq: "bq.eq"; er: "bq.er"; es: "bq.es"; et: "bq.et"; eu: "bq.eu"; ev: "bq.ev"; ew: "bq.ew"; ex: "bq.ex"; ey: "bq.ey"; ez: "bq.ez"; fa: "bq.fa"; fb: "bq.fb"; fc: "bq.fc"; fd: "bq.fd"; fe: "bq.fe"; ff: "bq.ff"; fg: "bq.fg"; fh: "bq.fh"; fi: "bq.fi"; fj: "bq.fj"; fk: "bq.fk"; fl: "bq.fl"; fm: "bq.fm"; fn: "bq.fn"; fo: "bq.fo"; fp: "bq.fp"; fq: "bq.fq"; fr: "bq.fr"; fs: "bq.fs"; ft: "bq.ft"; fu: "bq.fu"; fv: "bq.fv"; fw: "bq.fw"; fx: "bq.fx"; fy: "bq.fy"; fz: "bq.fz"; ga: "bq.ga"; gb: "bq.gb"; gc: "bq.gc"; gd: "bq.gd"; ge: "bq.ge"; gf: "bq.gf"; gg: "bq.gg"; gh: "bq.gh"; gi: "bq.gi"; gj: "bq.gj"; gk: "bq.gk"; gl: "bq.gl"; gm: "bq.gm"; gn: "bq.gn"; go: "bq.go"; gp: "bq.gp"; gq: "bq.gq"; gr: "bq.gr"; gs: "bq.gs"; gt: "bq.gt"; gu: "bq.gu"; gv: "bq.gv"; gw: "bq.gw"; gx: "bq.gx"; gy: "bq.gy"; gz: "bq.gz"; ha: "bq.ha"; hb: "bq.hb"; hc: "bq.hc"; hd: "bq.hd"; he: "bq.he"; hf: "bq.hf"; hg: "bq.hg"; hh: "bq.hh"; hi: "bq.hi"; hj: "bq.hj"; hk: "bq.hk"; hl: "bq.hl"; hm: "bq.hm"; hn: "bq.hn"; ho: "bq.ho"; hp: "bq.hp"; hq: "bq.hq"; hr: "bq.hr"; hs: "bq.hs"; ht: "bq.ht"; hu: "bq.hu"; hv: "bq.hv"; hw: "bq.hw"; hx: "bq.hx"; hy: "bq.hy"; hz: "bq.hz"; ia: "bq.ia"; ib: "bq.ib"; ic: "bq.ic"; id: "bq.id"; ie: "bq.ie"; if: "bq.if"; ig: "bq.ig"; ih: "bq.ih"; ii: "bq.ii"; ij: "bq.ij"; ik: "bq.ik"; il: "bq.il"; im: "bq.im"; in: "bq.in"; io: "bq.io"; ip: "bq.ip"; iq: "bq.iq"; ir: "bq.ir"; is: "bq.is"; it: "bq.it"; iu: "bq.iu"; iv: "bq.iv"; iw: "bq.iw"; ix: "bq.ix"; iy: "bq.iy"; iz: "bq.iz"; ja: "bq.ja"; jb: "bq.jb"; jc: "bq.jc"; jd: "bq.jd"; je: "bq.je"; jf: "bq.jf"; jg: "bq.jg"; jh: "bq.jh"; ji: "bq.ji"; jj: "bq.jj"; jk: "bq.jk"; jl: "bq.jl"; jm: "bq.jm"; jn: "bq.jn"; jo: "bq.jo"; jp: "bq.jp"; jq: "bq.jq"; jr: "bq.jr"; js: "bq.js"; jt: "bq.jt"; ju: "bq.ju"; jv: "bq.jv"; jw: "bq.jw"; jx: "bq.jx"; jy: "bq.jy"; jz: "bq.jz"; ka: "bq.ka"; kb: "bq.kb"; kc: "bq.kc"; kd: "bq.kd"; ke: "bq.ke"; kf: "bq.kf"; kg: "bq.kg"; kh: "bq.kh"; ki: "bq.ki"; kj: "bq.kj"; kk: "bq.kk"; kl: "bq.kl"; km: "bq.km"; kn: "bq.kn"; ko: "bq.ko"; kp: "bq.kp"; kq: "bq.kq"; kr: "bq.kr"; ks: "bq.ks"; kt: "bq.kt"; ku: "bq.ku"; kv: "bq.kv"; kw: "bq.kw"; kx: "bq.kx"; ky: "bq.ky"; kz: "bq.kz"; la: "bq.la"; lb: "bq.lb"; lc: "bq.lc"; ld: "bq.ld"; le: "bq.le"; lf: "bq.lf"; lg: "bq.lg"; lh: "bq.lh"; li: "bq.li"; lj: "bq.lj"; lk: "bq.lk"; ll: "bq.ll"; lm: "bq.lm"; ln: "bq.ln"; lo: "bq.lo"; lp: "bq.lp"; lq: "bq.lq"; lr: "bq.lr"; ls: "bq.ls"; lt: "bq.lt"; lu: "bq.lu"; lv: "bq.lv"; lw: "bq.lw"; lx: "bq.lx"; ly: "bq.ly"; lz: "bq.lz"; ma: "bq.ma"; mb: "bq.mb"; mc: "bq.mc"; md: "bq.md"; me: "bq.me"; mf: "bq.mf"; mg: "bq.mg"; mh: "bq.mh"; mi: "bq.mi"; mj: "bq.mj"; mk: "bq.mk"; ml: "bq.ml"; mm: "bq.mm"; mn: "bq.mn"; mo: "bq.mo"; mp: "bq.mp"; mq: "bq.mq"; mr: "bq.mr"; ms: "bq.ms"; mt: "bq.mt"; mu: "bq.mu"; mv: "bq.mv"; mw: "bq.mw"; mx: "bq.mx"; my: "bq.my"; mz: "bq.mz"; na: "bq.na"; nb: "bq.nb"; nc: "bq.nc"; nd: "bq.nd"; ne: "bq.ne"; nf: "bq.nf"; ng: "bq.ng"; nh: "bq.nh"; ni: "bq.ni"; nj: "bq.nj"; nk: "bq.nk"; nl: "bq.nl"; nm: "bq.nm"; nn: "bq.nn"; no: "bq.no"; np: "bq.np"; nq: "bq.nq"; nr: "bq.nr"; ns: "bq.ns"; nt: "bq.nt"; nu: "bq.nu"; nv: "bq.nv"; nw: "bq.nw"; nx: "bq.nx"; ny: "bq.ny"; nz: "bq.nz"; oa: "bq.oa"; ob: "bq.ob"; oc: "bq.oc"; od: "bq.od"; oe: "bq.oe"; of: "bq.of"; og: "bq.og"; oh: "bq.oh"; oi: "bq.oi"; oj: "bq.oj"; ok: "bq.ok"; ol: "bq.ol"; om: "bq.om"; on: "bq.on"; oo: "bq.oo"; op: "bq.op"; oq: "bq.oq"; or: "bq.or"; os: "bq.os"; ot: "bq.ot"; ou: "bq.ou"; ov: "bq.ov"; ow: "bq.ow"; ox: "bq.ox"; oy: "bq.oy"; oz: "bq.oz"; pa: "bq.pa"; pb: "bq.pb"; pc: "bq.pc"; pd: "bq.pd"; pe: "bq.pe"; pf: "bq.pf"; pg: "bq.pg"; ph: "bq.ph"; pi: "bq.pi"; pj: "bq.pj"; pk: "bq.pk"; pl: "bq.pl"; pm: "bq.pm"; pn: "bq.pn"; po: "bq.po"; pp: "bq.pp"; pq: "bq.pq"; pr: "bq.pr"; ps: "bq.ps"; pt: "bq.pt"; pu: "bq.pu"; pv: "bq.pv"; pw: "bq.pw"; px: "bq.px"; py: "bq.py"; pz: "bq.pz"; qa: "bq.qa"; qb: "bq.qb"; qc: "bq.qc"; qd: "bq.qd"; qe: "bq.qe"; qf: "bq.qf"; qg: "bq.qg"; qh: "bq.qh"; qi: "bq.qi"; qj: "bq.qj"; qk: "bq.qk"; ql: "bq.ql"; qm: "bq.qm"; qn: "bq.qn"; qo: "bq.qo"; qp: "bq.qp"; qq: "bq.qq"; qr: "bq.qr"; qs: "bq.qs"; qt: "bq.qt"; qu: "bq.qu"; qv: "bq.qv"; qw: "bq.qw"; qx: "bq.qx"; qy: "bq.qy"; qz: "bq.qz"; ra: "bq.ra"; rb: "bq.rb"; rc: "bq.rc"; rd: "bq.rd"; re: "bq.re"; rf: "bq.rf"; rg: "bq.rg"; rh: "bq.rh"; ri: "bq.ri"; rj: "bq.rj"; rk: "bq.rk"; rl: "bq.rl"; rm: "bq.rm"; rn: "bq.rn"; ro: "bq.ro"; rp: "bq.rp"; rq: "bq.rq"; rr: "bq.rr"; rs: "bq.rs"; rt: "bq.rt"; ru: "bq.ru"; rv: "bq.rv"; rw: "bq.rw"; rx: "bq.rx"; ry: "bq.ry"; rz: "bq.rz"; sa: "bq.sa"; sb: "bq.sb"; sc: "bq.sc"; sd: "bq.sd"; se: "bq.se"; sf: "bq.sf"; sg: "bq.sg"; sh: "bq.sh"; si: "bq.si"; sj: "bq.sj"; sk: "bq.sk"; sl: "bq.sl"; sm: "bq.sm"; sn: "bq.sn"; so: "bq.so"; sp: "bq.sp"; sq: "bq.sq"; sr: "bq.sr"; ss: "bq.ss"; st: "bq.st"; su: "bq.su"; sv: "bq.sv"; sw: "bq.sw"; sx: "bq.sx"; sy: "bq.sy"; sz: "bq.sz"; ta: "bq.ta"; tb: "bq.tb"; tc: "bq.tc"; td: "bq.td"; te: "bq.te"; tf: "bq.tf"; tg: "bq.tg"; th: "bq.th"; ti: "bq.ti"; tj: "bq.tj"; tk: "bq.tk"; tl: "bq.tl"; tm: "bq.tm"; tn: "bq.tn"; to: "bq.to"; tp: "bq.tp"; tq: "bq.tq"; tr: "bq.tr"; ts: "bq.ts"; tt: "bq.tt"; tu: "bq.tu"; tv: "bq.tv"; tw: "bq.tw"; tx: "bq.tx"; ty: "bq.ty"; tz: "bq.tz"; ua: "bq.ua"; ub: "bq.ub"; uc: "bq.uc"; ud: "bq.ud"; ue: "bq.ue"; uf: "bq.uf"; ug: "bq.ug"; uh: "bq.uh"; ui: "bq.ui"; uj: "bq.uj"; uk: "bq.uk"; ul: "bq.ul"; um: "bq.um"; un: "bq.un"; uo: "bq.uo"; up: "bq.up"; uq: "bq.uq"; ur: "bq.ur"; us: "bq.us"; ut: "bq.ut"; uu: "bq.uu"; uv: "bq.uv"; uw: "bq.uw"; ux: "bq.ux"; uy: "bq.uy"; uz: "bq.uz"; va: "bq.va"; vb: "bq.vb"; vc: "bq.vc"; vd: "bq.vd"; ve: "bq.ve"; vf: "bq.vf"; vg: "bq.vg"; vh: "bq.vh"; vi: "bq.vi"; vj: "bq.vj"; vk: "bq.vk"; vl: "bq.vl"; vm: "bq.vm"; vn: "bq.vn"; vo: "bq.vo"; vp: "bq.vp"; vq: "bq.vq"; vr: "bq.vr"; vs: "bq.vs"; vt: "bq.vt"; vu: "bq.vu"; vv: "bq.vv"; vw: "bq.vw"; vx: "bq.vx"; vy: "bq.vy"; vz: "bq.vz"; wa: "bq.wa"; wb: "bq.wb"; wc: "bq.wc"; wd: "bq.wd"; we: "bq.we"; wf: "bq.wf"; wg: "bq.wg"; wh: "bq.wh"; wi: "bq.wi"; wj: "bq.wj"; wk: "bq.wk"; wl: "bq.wl"; wm: "bq.wm"; wn: "bq.wn"; wo: "bq.wo"; wp: "bq.wp"; wq: "bq.wq"; wr: "bq.wr"; ws: "bq.ws"; wt: "bq.wt"; wu: "bq.wu"; wv: "bq.wv"; ww: "bq.ww"; wx: "bq.wx"; wy: "bq.wy"; wz: "bq.wz"; xa: "bq.xa"; xb: "bq.xb"; xc: "bq.xc"; xd: "bq.xd"; xe: "bq.xe"; xf: "bq.xf"; xg: "bq.xg"; xh: "bq.xh"; xi: "bq.xi"; xj: "bq.xj"; xk: "bq.xk"; xl: "bq.xl"; xm: "bq.xm"; xn: "bq.xn"; xo: "bq.xo"; xp: "bq.xp"; xq: "bq.xq"; xr: "bq.xr"; xs: "bq.xs"; xt: "bq.xt"; xu: "bq.xu"; xv: "bq.xv"; xw: "bq.xw"; xx: "bq.xx"; xy: "bq.xy"; xz: "bq.xz"; ya: "bq.ya"; yb: "bq.yb"; yc: "bq.yc"; yd: "bq.yd"; ye: "bq.ye"; yf: "bq.yf"; yg: "bq.yg"; yh: "bq.yh"; yi: "bq.yi"; yj: "bq.yj"; yk: "bq.yk"; yl: "bq.yl"; ym: "bq.ym"; yn: "bq.yn"; yo: "bq.yo"; yp: "bq.yp"; yq: "bq.yq"; yr: "bq.yr"; ys: "bq.ys"; yt: "bq.yt"; yu: "bq.yu"; yv: "bq.yv"; yw: "bq.yw"; yx: "bq.yx"; yy: "bq.yy"; yz: "bq.yz"; za: "bq.za"; zb: "bq.zb"; zc: "bq.zc"; zd: "bq.zd"; ze: "bq.ze"; zf: "bq.zf"; zg: "bq.zg"; zh: "bq.zh"; zi: "bq.zi"; zj: "bq.zj"; zk: "bq.zk"; zl: "bq.zl"; zm: "bq.zm"; zn: "bq.zn"; zo: "bq.zo"; zp: "bq.zp"; zq: "bq.zq"; zr: "bq.zr"; zs: "bq.zs"; zt: "bq.zt"; zu: "bq.zu"; zv: "bq.zv"; zw: "bq.zw"; zx: "bq.zx"; zy: "bq.zy"; zz: "bq.zz"; }; br: { aa: "br.aa"; ab: "br.ab"; ac: "br.ac"; ad: "br.ad"; ae: "br.ae"; af: "br.af"; ag: "br.ag"; ah: "br.ah"; ai: "br.ai"; aj: "br.aj"; ak: "br.ak"; al: "br.al"; am: "br.am"; an: "br.an"; ao: "br.ao"; ap: "br.ap"; aq: "br.aq"; ar: "br.ar"; as: "br.as"; at: "br.at"; au: "br.au"; av: "br.av"; aw: "br.aw"; ax: "br.ax"; ay: "br.ay"; az: "br.az"; ba: "br.ba"; bb: "br.bb"; bc: "br.bc"; bd: "br.bd"; be: "br.be"; bf: "br.bf"; bg: "br.bg"; bh: "br.bh"; bi: "br.bi"; bj: "br.bj"; bk: "br.bk"; bl: "br.bl"; bm: "br.bm"; bn: "br.bn"; bo: "br.bo"; bp: "br.bp"; bq: "br.bq"; br: "br.br"; bs: "br.bs"; bt: "br.bt"; bu: "br.bu"; bv: "br.bv"; bw: "br.bw"; bx: "br.bx"; by: "br.by"; bz: "br.bz"; ca: "br.ca"; cb: "br.cb"; cc: "br.cc"; cd: "br.cd"; ce: "br.ce"; cf: "br.cf"; cg: "br.cg"; ch: "br.ch"; ci: "br.ci"; cj: "br.cj"; ck: "br.ck"; cl: "br.cl"; cm: "br.cm"; cn: "br.cn"; co: "br.co"; cp: "br.cp"; cq: "br.cq"; cr: "br.cr"; cs: "br.cs"; ct: "br.ct"; cu: "br.cu"; cv: "br.cv"; cw: "br.cw"; cx: "br.cx"; cy: "br.cy"; cz: "br.cz"; da: "br.da"; db: "br.db"; dc: "br.dc"; dd: "br.dd"; de: "br.de"; df: "br.df"; dg: "br.dg"; dh: "br.dh"; di: "br.di"; dj: "br.dj"; dk: "br.dk"; dl: "br.dl"; dm: "br.dm"; dn: "br.dn"; do: "br.do"; dp: "br.dp"; dq: "br.dq"; dr: "br.dr"; ds: "br.ds"; dt: "br.dt"; du: "br.du"; dv: "br.dv"; dw: "br.dw"; dx: "br.dx"; dy: "br.dy"; dz: "br.dz"; ea: "br.ea"; eb: "br.eb"; ec: "br.ec"; ed: "br.ed"; ee: "br.ee"; ef: "br.ef"; eg: "br.eg"; eh: "br.eh"; ei: "br.ei"; ej: "br.ej"; ek: "br.ek"; el: "br.el"; em: "br.em"; en: "br.en"; eo: "br.eo"; ep: "br.ep"; eq: "br.eq"; er: "br.er"; es: "br.es"; et: "br.et"; eu: "br.eu"; ev: "br.ev"; ew: "br.ew"; ex: "br.ex"; ey: "br.ey"; ez: "br.ez"; fa: "br.fa"; fb: "br.fb"; fc: "br.fc"; fd: "br.fd"; fe: "br.fe"; ff: "br.ff"; fg: "br.fg"; fh: "br.fh"; fi: "br.fi"; fj: "br.fj"; fk: "br.fk"; fl: "br.fl"; fm: "br.fm"; fn: "br.fn"; fo: "br.fo"; fp: "br.fp"; fq: "br.fq"; fr: "br.fr"; fs: "br.fs"; ft: "br.ft"; fu: "br.fu"; fv: "br.fv"; fw: "br.fw"; fx: "br.fx"; fy: "br.fy"; fz: "br.fz"; ga: "br.ga"; gb: "br.gb"; gc: "br.gc"; gd: "br.gd"; ge: "br.ge"; gf: "br.gf"; gg: "br.gg"; gh: "br.gh"; gi: "br.gi"; gj: "br.gj"; gk: "br.gk"; gl: "br.gl"; gm: "br.gm"; gn: "br.gn"; go: "br.go"; gp: "br.gp"; gq: "br.gq"; gr: "br.gr"; gs: "br.gs"; gt: "br.gt"; gu: "br.gu"; gv: "br.gv"; gw: "br.gw"; gx: "br.gx"; gy: "br.gy"; gz: "br.gz"; ha: "br.ha"; hb: "br.hb"; hc: "br.hc"; hd: "br.hd"; he: "br.he"; hf: "br.hf"; hg: "br.hg"; hh: "br.hh"; hi: "br.hi"; hj: "br.hj"; hk: "br.hk"; hl: "br.hl"; hm: "br.hm"; hn: "br.hn"; ho: "br.ho"; hp: "br.hp"; hq: "br.hq"; hr: "br.hr"; hs: "br.hs"; ht: "br.ht"; hu: "br.hu"; hv: "br.hv"; hw: "br.hw"; hx: "br.hx"; hy: "br.hy"; hz: "br.hz"; ia: "br.ia"; ib: "br.ib"; ic: "br.ic"; id: "br.id"; ie: "br.ie"; if: "br.if"; ig: "br.ig"; ih: "br.ih"; ii: "br.ii"; ij: "br.ij"; ik: "br.ik"; il: "br.il"; im: "br.im"; in: "br.in"; io: "br.io"; ip: "br.ip"; iq: "br.iq"; ir: "br.ir"; is: "br.is"; it: "br.it"; iu: "br.iu"; iv: "br.iv"; iw: "br.iw"; ix: "br.ix"; iy: "br.iy"; iz: "br.iz"; ja: "br.ja"; jb: "br.jb"; jc: "br.jc"; jd: "br.jd"; je: "br.je"; jf: "br.jf"; jg: "br.jg"; jh: "br.jh"; ji: "br.ji"; jj: "br.jj"; jk: "br.jk"; jl: "br.jl"; jm: "br.jm"; jn: "br.jn"; jo: "br.jo"; jp: "br.jp"; jq: "br.jq"; jr: "br.jr"; js: "br.js"; jt: "br.jt"; ju: "br.ju"; jv: "br.jv"; jw: "br.jw"; jx: "br.jx"; jy: "br.jy"; jz: "br.jz"; ka: "br.ka"; kb: "br.kb"; kc: "br.kc"; kd: "br.kd"; ke: "br.ke"; kf: "br.kf"; kg: "br.kg"; kh: "br.kh"; ki: "br.ki"; kj: "br.kj"; kk: "br.kk"; kl: "br.kl"; km: "br.km"; kn: "br.kn"; ko: "br.ko"; kp: "br.kp"; kq: "br.kq"; kr: "br.kr"; ks: "br.ks"; kt: "br.kt"; ku: "br.ku"; kv: "br.kv"; kw: "br.kw"; kx: "br.kx"; ky: "br.ky"; kz: "br.kz"; la: "br.la"; lb: "br.lb"; lc: "br.lc"; ld: "br.ld"; le: "br.le"; lf: "br.lf"; lg: "br.lg"; lh: "br.lh"; li: "br.li"; lj: "br.lj"; lk: "br.lk"; ll: "br.ll"; lm: "br.lm"; ln: "br.ln"; lo: "br.lo"; lp: "br.lp"; lq: "br.lq"; lr: "br.lr"; ls: "br.ls"; lt: "br.lt"; lu: "br.lu"; lv: "br.lv"; lw: "br.lw"; lx: "br.lx"; ly: "br.ly"; lz: "br.lz"; ma: "br.ma"; mb: "br.mb"; mc: "br.mc"; md: "br.md"; me: "br.me"; mf: "br.mf"; mg: "br.mg"; mh: "br.mh"; mi: "br.mi"; mj: "br.mj"; mk: "br.mk"; ml: "br.ml"; mm: "br.mm"; mn: "br.mn"; mo: "br.mo"; mp: "br.mp"; mq: "br.mq"; mr: "br.mr"; ms: "br.ms"; mt: "br.mt"; mu: "br.mu"; mv: "br.mv"; mw: "br.mw"; mx: "br.mx"; my: "br.my"; mz: "br.mz"; na: "br.na"; nb: "br.nb"; nc: "br.nc"; nd: "br.nd"; ne: "br.ne"; nf: "br.nf"; ng: "br.ng"; nh: "br.nh"; ni: "br.ni"; nj: "br.nj"; nk: "br.nk"; nl: "br.nl"; nm: "br.nm"; nn: "br.nn"; no: "br.no"; np: "br.np"; nq: "br.nq"; nr: "br.nr"; ns: "br.ns"; nt: "br.nt"; nu: "br.nu"; nv: "br.nv"; nw: "br.nw"; nx: "br.nx"; ny: "br.ny"; nz: "br.nz"; oa: "br.oa"; ob: "br.ob"; oc: "br.oc"; od: "br.od"; oe: "br.oe"; of: "br.of"; og: "br.og"; oh: "br.oh"; oi: "br.oi"; oj: "br.oj"; ok: "br.ok"; ol: "br.ol"; om: "br.om"; on: "br.on"; oo: "br.oo"; op: "br.op"; oq: "br.oq"; or: "br.or"; os: "br.os"; ot: "br.ot"; ou: "br.ou"; ov: "br.ov"; ow: "br.ow"; ox: "br.ox"; oy: "br.oy"; oz: "br.oz"; pa: "br.pa"; pb: "br.pb"; pc: "br.pc"; pd: "br.pd"; pe: "br.pe"; pf: "br.pf"; pg: "br.pg"; ph: "br.ph"; pi: "br.pi"; pj: "br.pj"; pk: "br.pk"; pl: "br.pl"; pm: "br.pm"; pn: "br.pn"; po: "br.po"; pp: "br.pp"; pq: "br.pq"; pr: "br.pr"; ps: "br.ps"; pt: "br.pt"; pu: "br.pu"; pv: "br.pv"; pw: "br.pw"; px: "br.px"; py: "br.py"; pz: "br.pz"; qa: "br.qa"; qb: "br.qb"; qc: "br.qc"; qd: "br.qd"; qe: "br.qe"; qf: "br.qf"; qg: "br.qg"; qh: "br.qh"; qi: "br.qi"; qj: "br.qj"; qk: "br.qk"; ql: "br.ql"; qm: "br.qm"; qn: "br.qn"; qo: "br.qo"; qp: "br.qp"; qq: "br.qq"; qr: "br.qr"; qs: "br.qs"; qt: "br.qt"; qu: "br.qu"; qv: "br.qv"; qw: "br.qw"; qx: "br.qx"; qy: "br.qy"; qz: "br.qz"; ra: "br.ra"; rb: "br.rb"; rc: "br.rc"; rd: "br.rd"; re: "br.re"; rf: "br.rf"; rg: "br.rg"; rh: "br.rh"; ri: "br.ri"; rj: "br.rj"; rk: "br.rk"; rl: "br.rl"; rm: "br.rm"; rn: "br.rn"; ro: "br.ro"; rp: "br.rp"; rq: "br.rq"; rr: "br.rr"; rs: "br.rs"; rt: "br.rt"; ru: "br.ru"; rv: "br.rv"; rw: "br.rw"; rx: "br.rx"; ry: "br.ry"; rz: "br.rz"; sa: "br.sa"; sb: "br.sb"; sc: "br.sc"; sd: "br.sd"; se: "br.se"; sf: "br.sf"; sg: "br.sg"; sh: "br.sh"; si: "br.si"; sj: "br.sj"; sk: "br.sk"; sl: "br.sl"; sm: "br.sm"; sn: "br.sn"; so: "br.so"; sp: "br.sp"; sq: "br.sq"; sr: "br.sr"; ss: "br.ss"; st: "br.st"; su: "br.su"; sv: "br.sv"; sw: "br.sw"; sx: "br.sx"; sy: "br.sy"; sz: "br.sz"; ta: "br.ta"; tb: "br.tb"; tc: "br.tc"; td: "br.td"; te: "br.te"; tf: "br.tf"; tg: "br.tg"; th: "br.th"; ti: "br.ti"; tj: "br.tj"; tk: "br.tk"; tl: "br.tl"; tm: "br.tm"; tn: "br.tn"; to: "br.to"; tp: "br.tp"; tq: "br.tq"; tr: "br.tr"; ts: "br.ts"; tt: "br.tt"; tu: "br.tu"; tv: "br.tv"; tw: "br.tw"; tx: "br.tx"; ty: "br.ty"; tz: "br.tz"; ua: "br.ua"; ub: "br.ub"; uc: "br.uc"; ud: "br.ud"; ue: "br.ue"; uf: "br.uf"; ug: "br.ug"; uh: "br.uh"; ui: "br.ui"; uj: "br.uj"; uk: "br.uk"; ul: "br.ul"; um: "br.um"; un: "br.un"; uo: "br.uo"; up: "br.up"; uq: "br.uq"; ur: "br.ur"; us: "br.us"; ut: "br.ut"; uu: "br.uu"; uv: "br.uv"; uw: "br.uw"; ux: "br.ux"; uy: "br.uy"; uz: "br.uz"; va: "br.va"; vb: "br.vb"; vc: "br.vc"; vd: "br.vd"; ve: "br.ve"; vf: "br.vf"; vg: "br.vg"; vh: "br.vh"; vi: "br.vi"; vj: "br.vj"; vk: "br.vk"; vl: "br.vl"; vm: "br.vm"; vn: "br.vn"; vo: "br.vo"; vp: "br.vp"; vq: "br.vq"; vr: "br.vr"; vs: "br.vs"; vt: "br.vt"; vu: "br.vu"; vv: "br.vv"; vw: "br.vw"; vx: "br.vx"; vy: "br.vy"; vz: "br.vz"; wa: "br.wa"; wb: "br.wb"; wc: "br.wc"; wd: "br.wd"; we: "br.we"; wf: "br.wf"; wg: "br.wg"; wh: "br.wh"; wi: "br.wi"; wj: "br.wj"; wk: "br.wk"; wl: "br.wl"; wm: "br.wm"; wn: "br.wn"; wo: "br.wo"; wp: "br.wp"; wq: "br.wq"; wr: "br.wr"; ws: "br.ws"; wt: "br.wt"; wu: "br.wu"; wv: "br.wv"; ww: "br.ww"; wx: "br.wx"; wy: "br.wy"; wz: "br.wz"; xa: "br.xa"; xb: "br.xb"; xc: "br.xc"; xd: "br.xd"; xe: "br.xe"; xf: "br.xf"; xg: "br.xg"; xh: "br.xh"; xi: "br.xi"; xj: "br.xj"; xk: "br.xk"; xl: "br.xl"; xm: "br.xm"; xn: "br.xn"; xo: "br.xo"; xp: "br.xp"; xq: "br.xq"; xr: "br.xr"; xs: "br.xs"; xt: "br.xt"; xu: "br.xu"; xv: "br.xv"; xw: "br.xw"; xx: "br.xx"; xy: "br.xy"; xz: "br.xz"; ya: "br.ya"; yb: "br.yb"; yc: "br.yc"; yd: "br.yd"; ye: "br.ye"; yf: "br.yf"; yg: "br.yg"; yh: "br.yh"; yi: "br.yi"; yj: "br.yj"; yk: "br.yk"; yl: "br.yl"; ym: "br.ym"; yn: "br.yn"; yo: "br.yo"; yp: "br.yp"; yq: "br.yq"; yr: "br.yr"; ys: "br.ys"; yt: "br.yt"; yu: "br.yu"; yv: "br.yv"; yw: "br.yw"; yx: "br.yx"; yy: "br.yy"; yz: "br.yz"; za: "br.za"; zb: "br.zb"; zc: "br.zc"; zd: "br.zd"; ze: "br.ze"; zf: "br.zf"; zg: "br.zg"; zh: "br.zh"; zi: "br.zi"; zj: "br.zj"; zk: "br.zk"; zl: "br.zl"; zm: "br.zm"; zn: "br.zn"; zo: "br.zo"; zp: "br.zp"; zq: "br.zq"; zr: "br.zr"; zs: "br.zs"; zt: "br.zt"; zu: "br.zu"; zv: "br.zv"; zw: "br.zw"; zx: "br.zx"; zy: "br.zy"; zz: "br.zz"; }; bs: { aa: "bs.aa"; ab: "bs.ab"; ac: "bs.ac"; ad: "bs.ad"; ae: "bs.ae"; af: "bs.af"; ag: "bs.ag"; ah: "bs.ah"; ai: "bs.ai"; aj: "bs.aj"; ak: "bs.ak"; al: "bs.al"; am: "bs.am"; an: "bs.an"; ao: "bs.ao"; ap: "bs.ap"; aq: "bs.aq"; ar: "bs.ar"; as: "bs.as"; at: "bs.at"; au: "bs.au"; av: "bs.av"; aw: "bs.aw"; ax: "bs.ax"; ay: "bs.ay"; az: "bs.az"; ba: "bs.ba"; bb: "bs.bb"; bc: "bs.bc"; bd: "bs.bd"; be: "bs.be"; bf: "bs.bf"; bg: "bs.bg"; bh: "bs.bh"; bi: "bs.bi"; bj: "bs.bj"; bk: "bs.bk"; bl: "bs.bl"; bm: "bs.bm"; bn: "bs.bn"; bo: "bs.bo"; bp: "bs.bp"; bq: "bs.bq"; br: "bs.br"; bs: "bs.bs"; bt: "bs.bt"; bu: "bs.bu"; bv: "bs.bv"; bw: "bs.bw"; bx: "bs.bx"; by: "bs.by"; bz: "bs.bz"; ca: "bs.ca"; cb: "bs.cb"; cc: "bs.cc"; cd: "bs.cd"; ce: "bs.ce"; cf: "bs.cf"; cg: "bs.cg"; ch: "bs.ch"; ci: "bs.ci"; cj: "bs.cj"; ck: "bs.ck"; cl: "bs.cl"; cm: "bs.cm"; cn: "bs.cn"; co: "bs.co"; cp: "bs.cp"; cq: "bs.cq"; cr: "bs.cr"; cs: "bs.cs"; ct: "bs.ct"; cu: "bs.cu"; cv: "bs.cv"; cw: "bs.cw"; cx: "bs.cx"; cy: "bs.cy"; cz: "bs.cz"; da: "bs.da"; db: "bs.db"; dc: "bs.dc"; dd: "bs.dd"; de: "bs.de"; df: "bs.df"; dg: "bs.dg"; dh: "bs.dh"; di: "bs.di"; dj: "bs.dj"; dk: "bs.dk"; dl: "bs.dl"; dm: "bs.dm"; dn: "bs.dn"; do: "bs.do"; dp: "bs.dp"; dq: "bs.dq"; dr: "bs.dr"; ds: "bs.ds"; dt: "bs.dt"; du: "bs.du"; dv: "bs.dv"; dw: "bs.dw"; dx: "bs.dx"; dy: "bs.dy"; dz: "bs.dz"; ea: "bs.ea"; eb: "bs.eb"; ec: "bs.ec"; ed: "bs.ed"; ee: "bs.ee"; ef: "bs.ef"; eg: "bs.eg"; eh: "bs.eh"; ei: "bs.ei"; ej: "bs.ej"; ek: "bs.ek"; el: "bs.el"; em: "bs.em"; en: "bs.en"; eo: "bs.eo"; ep: "bs.ep"; eq: "bs.eq"; er: "bs.er"; es: "bs.es"; et: "bs.et"; eu: "bs.eu"; ev: "bs.ev"; ew: "bs.ew"; ex: "bs.ex"; ey: "bs.ey"; ez: "bs.ez"; fa: "bs.fa"; fb: "bs.fb"; fc: "bs.fc"; fd: "bs.fd"; fe: "bs.fe"; ff: "bs.ff"; fg: "bs.fg"; fh: "bs.fh"; fi: "bs.fi"; fj: "bs.fj"; fk: "bs.fk"; fl: "bs.fl"; fm: "bs.fm"; fn: "bs.fn"; fo: "bs.fo"; fp: "bs.fp"; fq: "bs.fq"; fr: "bs.fr"; fs: "bs.fs"; ft: "bs.ft"; fu: "bs.fu"; fv: "bs.fv"; fw: "bs.fw"; fx: "bs.fx"; fy: "bs.fy"; fz: "bs.fz"; ga: "bs.ga"; gb: "bs.gb"; gc: "bs.gc"; gd: "bs.gd"; ge: "bs.ge"; gf: "bs.gf"; gg: "bs.gg"; gh: "bs.gh"; gi: "bs.gi"; gj: "bs.gj"; gk: "bs.gk"; gl: "bs.gl"; gm: "bs.gm"; gn: "bs.gn"; go: "bs.go"; gp: "bs.gp"; gq: "bs.gq"; gr: "bs.gr"; gs: "bs.gs"; gt: "bs.gt"; gu: "bs.gu"; gv: "bs.gv"; gw: "bs.gw"; gx: "bs.gx"; gy: "bs.gy"; gz: "bs.gz"; ha: "bs.ha"; hb: "bs.hb"; hc: "bs.hc"; hd: "bs.hd"; he: "bs.he"; hf: "bs.hf"; hg: "bs.hg"; hh: "bs.hh"; hi: "bs.hi"; hj: "bs.hj"; hk: "bs.hk"; hl: "bs.hl"; hm: "bs.hm"; hn: "bs.hn"; ho: "bs.ho"; hp: "bs.hp"; hq: "bs.hq"; hr: "bs.hr"; hs: "bs.hs"; ht: "bs.ht"; hu: "bs.hu"; hv: "bs.hv"; hw: "bs.hw"; hx: "bs.hx"; hy: "bs.hy"; hz: "bs.hz"; ia: "bs.ia"; ib: "bs.ib"; ic: "bs.ic"; id: "bs.id"; ie: "bs.ie"; if: "bs.if"; ig: "bs.ig"; ih: "bs.ih"; ii: "bs.ii"; ij: "bs.ij"; ik: "bs.ik"; il: "bs.il"; im: "bs.im"; in: "bs.in"; io: "bs.io"; ip: "bs.ip"; iq: "bs.iq"; ir: "bs.ir"; is: "bs.is"; it: "bs.it"; iu: "bs.iu"; iv: "bs.iv"; iw: "bs.iw"; ix: "bs.ix"; iy: "bs.iy"; iz: "bs.iz"; ja: "bs.ja"; jb: "bs.jb"; jc: "bs.jc"; jd: "bs.jd"; je: "bs.je"; jf: "bs.jf"; jg: "bs.jg"; jh: "bs.jh"; ji: "bs.ji"; jj: "bs.jj"; jk: "bs.jk"; jl: "bs.jl"; jm: "bs.jm"; jn: "bs.jn"; jo: "bs.jo"; jp: "bs.jp"; jq: "bs.jq"; jr: "bs.jr"; js: "bs.js"; jt: "bs.jt"; ju: "bs.ju"; jv: "bs.jv"; jw: "bs.jw"; jx: "bs.jx"; jy: "bs.jy"; jz: "bs.jz"; ka: "bs.ka"; kb: "bs.kb"; kc: "bs.kc"; kd: "bs.kd"; ke: "bs.ke"; kf: "bs.kf"; kg: "bs.kg"; kh: "bs.kh"; ki: "bs.ki"; kj: "bs.kj"; kk: "bs.kk"; kl: "bs.kl"; km: "bs.km"; kn: "bs.kn"; ko: "bs.ko"; kp: "bs.kp"; kq: "bs.kq"; kr: "bs.kr"; ks: "bs.ks"; kt: "bs.kt"; ku: "bs.ku"; kv: "bs.kv"; kw: "bs.kw"; kx: "bs.kx"; ky: "bs.ky"; kz: "bs.kz"; la: "bs.la"; lb: "bs.lb"; lc: "bs.lc"; ld: "bs.ld"; le: "bs.le"; lf: "bs.lf"; lg: "bs.lg"; lh: "bs.lh"; li: "bs.li"; lj: "bs.lj"; lk: "bs.lk"; ll: "bs.ll"; lm: "bs.lm"; ln: "bs.ln"; lo: "bs.lo"; lp: "bs.lp"; lq: "bs.lq"; lr: "bs.lr"; ls: "bs.ls"; lt: "bs.lt"; lu: "bs.lu"; lv: "bs.lv"; lw: "bs.lw"; lx: "bs.lx"; ly: "bs.ly"; lz: "bs.lz"; ma: "bs.ma"; mb: "bs.mb"; mc: "bs.mc"; md: "bs.md"; me: "bs.me"; mf: "bs.mf"; mg: "bs.mg"; mh: "bs.mh"; mi: "bs.mi"; mj: "bs.mj"; mk: "bs.mk"; ml: "bs.ml"; mm: "bs.mm"; mn: "bs.mn"; mo: "bs.mo"; mp: "bs.mp"; mq: "bs.mq"; mr: "bs.mr"; ms: "bs.ms"; mt: "bs.mt"; mu: "bs.mu"; mv: "bs.mv"; mw: "bs.mw"; mx: "bs.mx"; my: "bs.my"; mz: "bs.mz"; na: "bs.na"; nb: "bs.nb"; nc: "bs.nc"; nd: "bs.nd"; ne: "bs.ne"; nf: "bs.nf"; ng: "bs.ng"; nh: "bs.nh"; ni: "bs.ni"; nj: "bs.nj"; nk: "bs.nk"; nl: "bs.nl"; nm: "bs.nm"; nn: "bs.nn"; no: "bs.no"; np: "bs.np"; nq: "bs.nq"; nr: "bs.nr"; ns: "bs.ns"; nt: "bs.nt"; nu: "bs.nu"; nv: "bs.nv"; nw: "bs.nw"; nx: "bs.nx"; ny: "bs.ny"; nz: "bs.nz"; oa: "bs.oa"; ob: "bs.ob"; oc: "bs.oc"; od: "bs.od"; oe: "bs.oe"; of: "bs.of"; og: "bs.og"; oh: "bs.oh"; oi: "bs.oi"; oj: "bs.oj"; ok: "bs.ok"; ol: "bs.ol"; om: "bs.om"; on: "bs.on"; oo: "bs.oo"; op: "bs.op"; oq: "bs.oq"; or: "bs.or"; os: "bs.os"; ot: "bs.ot"; ou: "bs.ou"; ov: "bs.ov"; ow: "bs.ow"; ox: "bs.ox"; oy: "bs.oy"; oz: "bs.oz"; pa: "bs.pa"; pb: "bs.pb"; pc: "bs.pc"; pd: "bs.pd"; pe: "bs.pe"; pf: "bs.pf"; pg: "bs.pg"; ph: "bs.ph"; pi: "bs.pi"; pj: "bs.pj"; pk: "bs.pk"; pl: "bs.pl"; pm: "bs.pm"; pn: "bs.pn"; po: "bs.po"; pp: "bs.pp"; pq: "bs.pq"; pr: "bs.pr"; ps: "bs.ps"; pt: "bs.pt"; pu: "bs.pu"; pv: "bs.pv"; pw: "bs.pw"; px: "bs.px"; py: "bs.py"; pz: "bs.pz"; qa: "bs.qa"; qb: "bs.qb"; qc: "bs.qc"; qd: "bs.qd"; qe: "bs.qe"; qf: "bs.qf"; qg: "bs.qg"; qh: "bs.qh"; qi: "bs.qi"; qj: "bs.qj"; qk: "bs.qk"; ql: "bs.ql"; qm: "bs.qm"; qn: "bs.qn"; qo: "bs.qo"; qp: "bs.qp"; qq: "bs.qq"; qr: "bs.qr"; qs: "bs.qs"; qt: "bs.qt"; qu: "bs.qu"; qv: "bs.qv"; qw: "bs.qw"; qx: "bs.qx"; qy: "bs.qy"; qz: "bs.qz"; ra: "bs.ra"; rb: "bs.rb"; rc: "bs.rc"; rd: "bs.rd"; re: "bs.re"; rf: "bs.rf"; rg: "bs.rg"; rh: "bs.rh"; ri: "bs.ri"; rj: "bs.rj"; rk: "bs.rk"; rl: "bs.rl"; rm: "bs.rm"; rn: "bs.rn"; ro: "bs.ro"; rp: "bs.rp"; rq: "bs.rq"; rr: "bs.rr"; rs: "bs.rs"; rt: "bs.rt"; ru: "bs.ru"; rv: "bs.rv"; rw: "bs.rw"; rx: "bs.rx"; ry: "bs.ry"; rz: "bs.rz"; sa: "bs.sa"; sb: "bs.sb"; sc: "bs.sc"; sd: "bs.sd"; se: "bs.se"; sf: "bs.sf"; sg: "bs.sg"; sh: "bs.sh"; si: "bs.si"; sj: "bs.sj"; sk: "bs.sk"; sl: "bs.sl"; sm: "bs.sm"; sn: "bs.sn"; so: "bs.so"; sp: "bs.sp"; sq: "bs.sq"; sr: "bs.sr"; ss: "bs.ss"; st: "bs.st"; su: "bs.su"; sv: "bs.sv"; sw: "bs.sw"; sx: "bs.sx"; sy: "bs.sy"; sz: "bs.sz"; ta: "bs.ta"; tb: "bs.tb"; tc: "bs.tc"; td: "bs.td"; te: "bs.te"; tf: "bs.tf"; tg: "bs.tg"; th: "bs.th"; ti: "bs.ti"; tj: "bs.tj"; tk: "bs.tk"; tl: "bs.tl"; tm: "bs.tm"; tn: "bs.tn"; to: "bs.to"; tp: "bs.tp"; tq: "bs.tq"; tr: "bs.tr"; ts: "bs.ts"; tt: "bs.tt"; tu: "bs.tu"; tv: "bs.tv"; tw: "bs.tw"; tx: "bs.tx"; ty: "bs.ty"; tz: "bs.tz"; ua: "bs.ua"; ub: "bs.ub"; uc: "bs.uc"; ud: "bs.ud"; ue: "bs.ue"; uf: "bs.uf"; ug: "bs.ug"; uh: "bs.uh"; ui: "bs.ui"; uj: "bs.uj"; uk: "bs.uk"; ul: "bs.ul"; um: "bs.um"; un: "bs.un"; uo: "bs.uo"; up: "bs.up"; uq: "bs.uq"; ur: "bs.ur"; us: "bs.us"; ut: "bs.ut"; uu: "bs.uu"; uv: "bs.uv"; uw: "bs.uw"; ux: "bs.ux"; uy: "bs.uy"; uz: "bs.uz"; va: "bs.va"; vb: "bs.vb"; vc: "bs.vc"; vd: "bs.vd"; ve: "bs.ve"; vf: "bs.vf"; vg: "bs.vg"; vh: "bs.vh"; vi: "bs.vi"; vj: "bs.vj"; vk: "bs.vk"; vl: "bs.vl"; vm: "bs.vm"; vn: "bs.vn"; vo: "bs.vo"; vp: "bs.vp"; vq: "bs.vq"; vr: "bs.vr"; vs: "bs.vs"; vt: "bs.vt"; vu: "bs.vu"; vv: "bs.vv"; vw: "bs.vw"; vx: "bs.vx"; vy: "bs.vy"; vz: "bs.vz"; wa: "bs.wa"; wb: "bs.wb"; wc: "bs.wc"; wd: "bs.wd"; we: "bs.we"; wf: "bs.wf"; wg: "bs.wg"; wh: "bs.wh"; wi: "bs.wi"; wj: "bs.wj"; wk: "bs.wk"; wl: "bs.wl"; wm: "bs.wm"; wn: "bs.wn"; wo: "bs.wo"; wp: "bs.wp"; wq: "bs.wq"; wr: "bs.wr"; ws: "bs.ws"; wt: "bs.wt"; wu: "bs.wu"; wv: "bs.wv"; ww: "bs.ww"; wx: "bs.wx"; wy: "bs.wy"; wz: "bs.wz"; xa: "bs.xa"; xb: "bs.xb"; xc: "bs.xc"; xd: "bs.xd"; xe: "bs.xe"; xf: "bs.xf"; xg: "bs.xg"; xh: "bs.xh"; xi: "bs.xi"; xj: "bs.xj"; xk: "bs.xk"; xl: "bs.xl"; xm: "bs.xm"; xn: "bs.xn"; xo: "bs.xo"; xp: "bs.xp"; xq: "bs.xq"; xr: "bs.xr"; xs: "bs.xs"; xt: "bs.xt"; xu: "bs.xu"; xv: "bs.xv"; xw: "bs.xw"; xx: "bs.xx"; xy: "bs.xy"; xz: "bs.xz"; ya: "bs.ya"; yb: "bs.yb"; yc: "bs.yc"; yd: "bs.yd"; ye: "bs.ye"; yf: "bs.yf"; yg: "bs.yg"; yh: "bs.yh"; yi: "bs.yi"; yj: "bs.yj"; yk: "bs.yk"; yl: "bs.yl"; ym: "bs.ym"; yn: "bs.yn"; yo: "bs.yo"; yp: "bs.yp"; yq: "bs.yq"; yr: "bs.yr"; ys: "bs.ys"; yt: "bs.yt"; yu: "bs.yu"; yv: "bs.yv"; yw: "bs.yw"; yx: "bs.yx"; yy: "bs.yy"; yz: "bs.yz"; za: "bs.za"; zb: "bs.zb"; zc: "bs.zc"; zd: "bs.zd"; ze: "bs.ze"; zf: "bs.zf"; zg: "bs.zg"; zh: "bs.zh"; zi: "bs.zi"; zj: "bs.zj"; zk: "bs.zk"; zl: "bs.zl"; zm: "bs.zm"; zn: "bs.zn"; zo: "bs.zo"; zp: "bs.zp"; zq: "bs.zq"; zr: "bs.zr"; zs: "bs.zs"; zt: "bs.zt"; zu: "bs.zu"; zv: "bs.zv"; zw: "bs.zw"; zx: "bs.zx"; zy: "bs.zy"; zz: "bs.zz"; }; bt: { aa: "bt.aa"; ab: "bt.ab"; ac: "bt.ac"; ad: "bt.ad"; ae: "bt.ae"; af: "bt.af"; ag: "bt.ag"; ah: "bt.ah"; ai: "bt.ai"; aj: "bt.aj"; ak: "bt.ak"; al: "bt.al"; am: "bt.am"; an: "bt.an"; ao: "bt.ao"; ap: "bt.ap"; aq: "bt.aq"; ar: "bt.ar"; as: "bt.as"; at: "bt.at"; au: "bt.au"; av: "bt.av"; aw: "bt.aw"; ax: "bt.ax"; ay: "bt.ay"; az: "bt.az"; ba: "bt.ba"; bb: "bt.bb"; bc: "bt.bc"; bd: "bt.bd"; be: "bt.be"; bf: "bt.bf"; bg: "bt.bg"; bh: "bt.bh"; bi: "bt.bi"; bj: "bt.bj"; bk: "bt.bk"; bl: "bt.bl"; bm: "bt.bm"; bn: "bt.bn"; bo: "bt.bo"; bp: "bt.bp"; bq: "bt.bq"; br: "bt.br"; bs: "bt.bs"; bt: "bt.bt"; bu: "bt.bu"; bv: "bt.bv"; bw: "bt.bw"; bx: "bt.bx"; by: "bt.by"; bz: "bt.bz"; ca: "bt.ca"; cb: "bt.cb"; cc: "bt.cc"; cd: "bt.cd"; ce: "bt.ce"; cf: "bt.cf"; cg: "bt.cg"; ch: "bt.ch"; ci: "bt.ci"; cj: "bt.cj"; ck: "bt.ck"; cl: "bt.cl"; cm: "bt.cm"; cn: "bt.cn"; co: "bt.co"; cp: "bt.cp"; cq: "bt.cq"; cr: "bt.cr"; cs: "bt.cs"; ct: "bt.ct"; cu: "bt.cu"; cv: "bt.cv"; cw: "bt.cw"; cx: "bt.cx"; cy: "bt.cy"; cz: "bt.cz"; da: "bt.da"; db: "bt.db"; dc: "bt.dc"; dd: "bt.dd"; de: "bt.de"; df: "bt.df"; dg: "bt.dg"; dh: "bt.dh"; di: "bt.di"; dj: "bt.dj"; dk: "bt.dk"; dl: "bt.dl"; dm: "bt.dm"; dn: "bt.dn"; do: "bt.do"; dp: "bt.dp"; dq: "bt.dq"; dr: "bt.dr"; ds: "bt.ds"; dt: "bt.dt"; du: "bt.du"; dv: "bt.dv"; dw: "bt.dw"; dx: "bt.dx"; dy: "bt.dy"; dz: "bt.dz"; ea: "bt.ea"; eb: "bt.eb"; ec: "bt.ec"; ed: "bt.ed"; ee: "bt.ee"; ef: "bt.ef"; eg: "bt.eg"; eh: "bt.eh"; ei: "bt.ei"; ej: "bt.ej"; ek: "bt.ek"; el: "bt.el"; em: "bt.em"; en: "bt.en"; eo: "bt.eo"; ep: "bt.ep"; eq: "bt.eq"; er: "bt.er"; es: "bt.es"; et: "bt.et"; eu: "bt.eu"; ev: "bt.ev"; ew: "bt.ew"; ex: "bt.ex"; ey: "bt.ey"; ez: "bt.ez"; fa: "bt.fa"; fb: "bt.fb"; fc: "bt.fc"; fd: "bt.fd"; fe: "bt.fe"; ff: "bt.ff"; fg: "bt.fg"; fh: "bt.fh"; fi: "bt.fi"; fj: "bt.fj"; fk: "bt.fk"; fl: "bt.fl"; fm: "bt.fm"; fn: "bt.fn"; fo: "bt.fo"; fp: "bt.fp"; fq: "bt.fq"; fr: "bt.fr"; fs: "bt.fs"; ft: "bt.ft"; fu: "bt.fu"; fv: "bt.fv"; fw: "bt.fw"; fx: "bt.fx"; fy: "bt.fy"; fz: "bt.fz"; ga: "bt.ga"; gb: "bt.gb"; gc: "bt.gc"; gd: "bt.gd"; ge: "bt.ge"; gf: "bt.gf"; gg: "bt.gg"; gh: "bt.gh"; gi: "bt.gi"; gj: "bt.gj"; gk: "bt.gk"; gl: "bt.gl"; gm: "bt.gm"; gn: "bt.gn"; go: "bt.go"; gp: "bt.gp"; gq: "bt.gq"; gr: "bt.gr"; gs: "bt.gs"; gt: "bt.gt"; gu: "bt.gu"; gv: "bt.gv"; gw: "bt.gw"; gx: "bt.gx"; gy: "bt.gy"; gz: "bt.gz"; ha: "bt.ha"; hb: "bt.hb"; hc: "bt.hc"; hd: "bt.hd"; he: "bt.he"; hf: "bt.hf"; hg: "bt.hg"; hh: "bt.hh"; hi: "bt.hi"; hj: "bt.hj"; hk: "bt.hk"; hl: "bt.hl"; hm: "bt.hm"; hn: "bt.hn"; ho: "bt.ho"; hp: "bt.hp"; hq: "bt.hq"; hr: "bt.hr"; hs: "bt.hs"; ht: "bt.ht"; hu: "bt.hu"; hv: "bt.hv"; hw: "bt.hw"; hx: "bt.hx"; hy: "bt.hy"; hz: "bt.hz"; ia: "bt.ia"; ib: "bt.ib"; ic: "bt.ic"; id: "bt.id"; ie: "bt.ie"; if: "bt.if"; ig: "bt.ig"; ih: "bt.ih"; ii: "bt.ii"; ij: "bt.ij"; ik: "bt.ik"; il: "bt.il"; im: "bt.im"; in: "bt.in"; io: "bt.io"; ip: "bt.ip"; iq: "bt.iq"; ir: "bt.ir"; is: "bt.is"; it: "bt.it"; iu: "bt.iu"; iv: "bt.iv"; iw: "bt.iw"; ix: "bt.ix"; iy: "bt.iy"; iz: "bt.iz"; ja: "bt.ja"; jb: "bt.jb"; jc: "bt.jc"; jd: "bt.jd"; je: "bt.je"; jf: "bt.jf"; jg: "bt.jg"; jh: "bt.jh"; ji: "bt.ji"; jj: "bt.jj"; jk: "bt.jk"; jl: "bt.jl"; jm: "bt.jm"; jn: "bt.jn"; jo: "bt.jo"; jp: "bt.jp"; jq: "bt.jq"; jr: "bt.jr"; js: "bt.js"; jt: "bt.jt"; ju: "bt.ju"; jv: "bt.jv"; jw: "bt.jw"; jx: "bt.jx"; jy: "bt.jy"; jz: "bt.jz"; ka: "bt.ka"; kb: "bt.kb"; kc: "bt.kc"; kd: "bt.kd"; ke: "bt.ke"; kf: "bt.kf"; kg: "bt.kg"; kh: "bt.kh"; ki: "bt.ki"; kj: "bt.kj"; kk: "bt.kk"; kl: "bt.kl"; km: "bt.km"; kn: "bt.kn"; ko: "bt.ko"; kp: "bt.kp"; kq: "bt.kq"; kr: "bt.kr"; ks: "bt.ks"; kt: "bt.kt"; ku: "bt.ku"; kv: "bt.kv"; kw: "bt.kw"; kx: "bt.kx"; ky: "bt.ky"; kz: "bt.kz"; la: "bt.la"; lb: "bt.lb"; lc: "bt.lc"; ld: "bt.ld"; le: "bt.le"; lf: "bt.lf"; lg: "bt.lg"; lh: "bt.lh"; li: "bt.li"; lj: "bt.lj"; lk: "bt.lk"; ll: "bt.ll"; lm: "bt.lm"; ln: "bt.ln"; lo: "bt.lo"; lp: "bt.lp"; lq: "bt.lq"; lr: "bt.lr"; ls: "bt.ls"; lt: "bt.lt"; lu: "bt.lu"; lv: "bt.lv"; lw: "bt.lw"; lx: "bt.lx"; ly: "bt.ly"; lz: "bt.lz"; ma: "bt.ma"; mb: "bt.mb"; mc: "bt.mc"; md: "bt.md"; me: "bt.me"; mf: "bt.mf"; mg: "bt.mg"; mh: "bt.mh"; mi: "bt.mi"; mj: "bt.mj"; mk: "bt.mk"; ml: "bt.ml"; mm: "bt.mm"; mn: "bt.mn"; mo: "bt.mo"; mp: "bt.mp"; mq: "bt.mq"; mr: "bt.mr"; ms: "bt.ms"; mt: "bt.mt"; mu: "bt.mu"; mv: "bt.mv"; mw: "bt.mw"; mx: "bt.mx"; my: "bt.my"; mz: "bt.mz"; na: "bt.na"; nb: "bt.nb"; nc: "bt.nc"; nd: "bt.nd"; ne: "bt.ne"; nf: "bt.nf"; ng: "bt.ng"; nh: "bt.nh"; ni: "bt.ni"; nj: "bt.nj"; nk: "bt.nk"; nl: "bt.nl"; nm: "bt.nm"; nn: "bt.nn"; no: "bt.no"; np: "bt.np"; nq: "bt.nq"; nr: "bt.nr"; ns: "bt.ns"; nt: "bt.nt"; nu: "bt.nu"; nv: "bt.nv"; nw: "bt.nw"; nx: "bt.nx"; ny: "bt.ny"; nz: "bt.nz"; oa: "bt.oa"; ob: "bt.ob"; oc: "bt.oc"; od: "bt.od"; oe: "bt.oe"; of: "bt.of"; og: "bt.og"; oh: "bt.oh"; oi: "bt.oi"; oj: "bt.oj"; ok: "bt.ok"; ol: "bt.ol"; om: "bt.om"; on: "bt.on"; oo: "bt.oo"; op: "bt.op"; oq: "bt.oq"; or: "bt.or"; os: "bt.os"; ot: "bt.ot"; ou: "bt.ou"; ov: "bt.ov"; ow: "bt.ow"; ox: "bt.ox"; oy: "bt.oy"; oz: "bt.oz"; pa: "bt.pa"; pb: "bt.pb"; pc: "bt.pc"; pd: "bt.pd"; pe: "bt.pe"; pf: "bt.pf"; pg: "bt.pg"; ph: "bt.ph"; pi: "bt.pi"; pj: "bt.pj"; pk: "bt.pk"; pl: "bt.pl"; pm: "bt.pm"; pn: "bt.pn"; po: "bt.po"; pp: "bt.pp"; pq: "bt.pq"; pr: "bt.pr"; ps: "bt.ps"; pt: "bt.pt"; pu: "bt.pu"; pv: "bt.pv"; pw: "bt.pw"; px: "bt.px"; py: "bt.py"; pz: "bt.pz"; qa: "bt.qa"; qb: "bt.qb"; qc: "bt.qc"; qd: "bt.qd"; qe: "bt.qe"; qf: "bt.qf"; qg: "bt.qg"; qh: "bt.qh"; qi: "bt.qi"; qj: "bt.qj"; qk: "bt.qk"; ql: "bt.ql"; qm: "bt.qm"; qn: "bt.qn"; qo: "bt.qo"; qp: "bt.qp"; qq: "bt.qq"; qr: "bt.qr"; qs: "bt.qs"; qt: "bt.qt"; qu: "bt.qu"; qv: "bt.qv"; qw: "bt.qw"; qx: "bt.qx"; qy: "bt.qy"; qz: "bt.qz"; ra: "bt.ra"; rb: "bt.rb"; rc: "bt.rc"; rd: "bt.rd"; re: "bt.re"; rf: "bt.rf"; rg: "bt.rg"; rh: "bt.rh"; ri: "bt.ri"; rj: "bt.rj"; rk: "bt.rk"; rl: "bt.rl"; rm: "bt.rm"; rn: "bt.rn"; ro: "bt.ro"; rp: "bt.rp"; rq: "bt.rq"; rr: "bt.rr"; rs: "bt.rs"; rt: "bt.rt"; ru: "bt.ru"; rv: "bt.rv"; rw: "bt.rw"; rx: "bt.rx"; ry: "bt.ry"; rz: "bt.rz"; sa: "bt.sa"; sb: "bt.sb"; sc: "bt.sc"; sd: "bt.sd"; se: "bt.se"; sf: "bt.sf"; sg: "bt.sg"; sh: "bt.sh"; si: "bt.si"; sj: "bt.sj"; sk: "bt.sk"; sl: "bt.sl"; sm: "bt.sm"; sn: "bt.sn"; so: "bt.so"; sp: "bt.sp"; sq: "bt.sq"; sr: "bt.sr"; ss: "bt.ss"; st: "bt.st"; su: "bt.su"; sv: "bt.sv"; sw: "bt.sw"; sx: "bt.sx"; sy: "bt.sy"; sz: "bt.sz"; ta: "bt.ta"; tb: "bt.tb"; tc: "bt.tc"; td: "bt.td"; te: "bt.te"; tf: "bt.tf"; tg: "bt.tg"; th: "bt.th"; ti: "bt.ti"; tj: "bt.tj"; tk: "bt.tk"; tl: "bt.tl"; tm: "bt.tm"; tn: "bt.tn"; to: "bt.to"; tp: "bt.tp"; tq: "bt.tq"; tr: "bt.tr"; ts: "bt.ts"; tt: "bt.tt"; tu: "bt.tu"; tv: "bt.tv"; tw: "bt.tw"; tx: "bt.tx"; ty: "bt.ty"; tz: "bt.tz"; ua: "bt.ua"; ub: "bt.ub"; uc: "bt.uc"; ud: "bt.ud"; ue: "bt.ue"; uf: "bt.uf"; ug: "bt.ug"; uh: "bt.uh"; ui: "bt.ui"; uj: "bt.uj"; uk: "bt.uk"; ul: "bt.ul"; um: "bt.um"; un: "bt.un"; uo: "bt.uo"; up: "bt.up"; uq: "bt.uq"; ur: "bt.ur"; us: "bt.us"; ut: "bt.ut"; uu: "bt.uu"; uv: "bt.uv"; uw: "bt.uw"; ux: "bt.ux"; uy: "bt.uy"; uz: "bt.uz"; va: "bt.va"; vb: "bt.vb"; vc: "bt.vc"; vd: "bt.vd"; ve: "bt.ve"; vf: "bt.vf"; vg: "bt.vg"; vh: "bt.vh"; vi: "bt.vi"; vj: "bt.vj"; vk: "bt.vk"; vl: "bt.vl"; vm: "bt.vm"; vn: "bt.vn"; vo: "bt.vo"; vp: "bt.vp"; vq: "bt.vq"; vr: "bt.vr"; vs: "bt.vs"; vt: "bt.vt"; vu: "bt.vu"; vv: "bt.vv"; vw: "bt.vw"; vx: "bt.vx"; vy: "bt.vy"; vz: "bt.vz"; wa: "bt.wa"; wb: "bt.wb"; wc: "bt.wc"; wd: "bt.wd"; we: "bt.we"; wf: "bt.wf"; wg: "bt.wg"; wh: "bt.wh"; wi: "bt.wi"; wj: "bt.wj"; wk: "bt.wk"; wl: "bt.wl"; wm: "bt.wm"; wn: "bt.wn"; wo: "bt.wo"; wp: "bt.wp"; wq: "bt.wq"; wr: "bt.wr"; ws: "bt.ws"; wt: "bt.wt"; wu: "bt.wu"; wv: "bt.wv"; ww: "bt.ww"; wx: "bt.wx"; wy: "bt.wy"; wz: "bt.wz"; xa: "bt.xa"; xb: "bt.xb"; xc: "bt.xc"; xd: "bt.xd"; xe: "bt.xe"; xf: "bt.xf"; xg: "bt.xg"; xh: "bt.xh"; xi: "bt.xi"; xj: "bt.xj"; xk: "bt.xk"; xl: "bt.xl"; xm: "bt.xm"; xn: "bt.xn"; xo: "bt.xo"; xp: "bt.xp"; xq: "bt.xq"; xr: "bt.xr"; xs: "bt.xs"; xt: "bt.xt"; xu: "bt.xu"; xv: "bt.xv"; xw: "bt.xw"; xx: "bt.xx"; xy: "bt.xy"; xz: "bt.xz"; ya: "bt.ya"; yb: "bt.yb"; yc: "bt.yc"; yd: "bt.yd"; ye: "bt.ye"; yf: "bt.yf"; yg: "bt.yg"; yh: "bt.yh"; yi: "bt.yi"; yj: "bt.yj"; yk: "bt.yk"; yl: "bt.yl"; ym: "bt.ym"; yn: "bt.yn"; yo: "bt.yo"; yp: "bt.yp"; yq: "bt.yq"; yr: "bt.yr"; ys: "bt.ys"; yt: "bt.yt"; yu: "bt.yu"; yv: "bt.yv"; yw: "bt.yw"; yx: "bt.yx"; yy: "bt.yy"; yz: "bt.yz"; za: "bt.za"; zb: "bt.zb"; zc: "bt.zc"; zd: "bt.zd"; ze: "bt.ze"; zf: "bt.zf"; zg: "bt.zg"; zh: "bt.zh"; zi: "bt.zi"; zj: "bt.zj"; zk: "bt.zk"; zl: "bt.zl"; zm: "bt.zm"; zn: "bt.zn"; zo: "bt.zo"; zp: "bt.zp"; zq: "bt.zq"; zr: "bt.zr"; zs: "bt.zs"; zt: "bt.zt"; zu: "bt.zu"; zv: "bt.zv"; zw: "bt.zw"; zx: "bt.zx"; zy: "bt.zy"; zz: "bt.zz"; }; bu: { aa: "bu.aa"; ab: "bu.ab"; ac: "bu.ac"; ad: "bu.ad"; ae: "bu.ae"; af: "bu.af"; ag: "bu.ag"; ah: "bu.ah"; ai: "bu.ai"; aj: "bu.aj"; ak: "bu.ak"; al: "bu.al"; am: "bu.am"; an: "bu.an"; ao: "bu.ao"; ap: "bu.ap"; aq: "bu.aq"; ar: "bu.ar"; as: "bu.as"; at: "bu.at"; au: "bu.au"; av: "bu.av"; aw: "bu.aw"; ax: "bu.ax"; ay: "bu.ay"; az: "bu.az"; ba: "bu.ba"; bb: "bu.bb"; bc: "bu.bc"; bd: "bu.bd"; be: "bu.be"; bf: "bu.bf"; bg: "bu.bg"; bh: "bu.bh"; bi: "bu.bi"; bj: "bu.bj"; bk: "bu.bk"; bl: "bu.bl"; bm: "bu.bm"; bn: "bu.bn"; bo: "bu.bo"; bp: "bu.bp"; bq: "bu.bq"; br: "bu.br"; bs: "bu.bs"; bt: "bu.bt"; bu: "bu.bu"; bv: "bu.bv"; bw: "bu.bw"; bx: "bu.bx"; by: "bu.by"; bz: "bu.bz"; ca: "bu.ca"; cb: "bu.cb"; cc: "bu.cc"; cd: "bu.cd"; ce: "bu.ce"; cf: "bu.cf"; cg: "bu.cg"; ch: "bu.ch"; ci: "bu.ci"; cj: "bu.cj"; ck: "bu.ck"; cl: "bu.cl"; cm: "bu.cm"; cn: "bu.cn"; co: "bu.co"; cp: "bu.cp"; cq: "bu.cq"; cr: "bu.cr"; cs: "bu.cs"; ct: "bu.ct"; cu: "bu.cu"; cv: "bu.cv"; cw: "bu.cw"; cx: "bu.cx"; cy: "bu.cy"; cz: "bu.cz"; da: "bu.da"; db: "bu.db"; dc: "bu.dc"; dd: "bu.dd"; de: "bu.de"; df: "bu.df"; dg: "bu.dg"; dh: "bu.dh"; di: "bu.di"; dj: "bu.dj"; dk: "bu.dk"; dl: "bu.dl"; dm: "bu.dm"; dn: "bu.dn"; do: "bu.do"; dp: "bu.dp"; dq: "bu.dq"; dr: "bu.dr"; ds: "bu.ds"; dt: "bu.dt"; du: "bu.du"; dv: "bu.dv"; dw: "bu.dw"; dx: "bu.dx"; dy: "bu.dy"; dz: "bu.dz"; ea: "bu.ea"; eb: "bu.eb"; ec: "bu.ec"; ed: "bu.ed"; ee: "bu.ee"; ef: "bu.ef"; eg: "bu.eg"; eh: "bu.eh"; ei: "bu.ei"; ej: "bu.ej"; ek: "bu.ek"; el: "bu.el"; em: "bu.em"; en: "bu.en"; eo: "bu.eo"; ep: "bu.ep"; eq: "bu.eq"; er: "bu.er"; es: "bu.es"; et: "bu.et"; eu: "bu.eu"; ev: "bu.ev"; ew: "bu.ew"; ex: "bu.ex"; ey: "bu.ey"; ez: "bu.ez"; fa: "bu.fa"; fb: "bu.fb"; fc: "bu.fc"; fd: "bu.fd"; fe: "bu.fe"; ff: "bu.ff"; fg: "bu.fg"; fh: "bu.fh"; fi: "bu.fi"; fj: "bu.fj"; fk: "bu.fk"; fl: "bu.fl"; fm: "bu.fm"; fn: "bu.fn"; fo: "bu.fo"; fp: "bu.fp"; fq: "bu.fq"; fr: "bu.fr"; fs: "bu.fs"; ft: "bu.ft"; fu: "bu.fu"; fv: "bu.fv"; fw: "bu.fw"; fx: "bu.fx"; fy: "bu.fy"; fz: "bu.fz"; ga: "bu.ga"; gb: "bu.gb"; gc: "bu.gc"; gd: "bu.gd"; ge: "bu.ge"; gf: "bu.gf"; gg: "bu.gg"; gh: "bu.gh"; gi: "bu.gi"; gj: "bu.gj"; gk: "bu.gk"; gl: "bu.gl"; gm: "bu.gm"; gn: "bu.gn"; go: "bu.go"; gp: "bu.gp"; gq: "bu.gq"; gr: "bu.gr"; gs: "bu.gs"; gt: "bu.gt"; gu: "bu.gu"; gv: "bu.gv"; gw: "bu.gw"; gx: "bu.gx"; gy: "bu.gy"; gz: "bu.gz"; ha: "bu.ha"; hb: "bu.hb"; hc: "bu.hc"; hd: "bu.hd"; he: "bu.he"; hf: "bu.hf"; hg: "bu.hg"; hh: "bu.hh"; hi: "bu.hi"; hj: "bu.hj"; hk: "bu.hk"; hl: "bu.hl"; hm: "bu.hm"; hn: "bu.hn"; ho: "bu.ho"; hp: "bu.hp"; hq: "bu.hq"; hr: "bu.hr"; hs: "bu.hs"; ht: "bu.ht"; hu: "bu.hu"; hv: "bu.hv"; hw: "bu.hw"; hx: "bu.hx"; hy: "bu.hy"; hz: "bu.hz"; ia: "bu.ia"; ib: "bu.ib"; ic: "bu.ic"; id: "bu.id"; ie: "bu.ie"; if: "bu.if"; ig: "bu.ig"; ih: "bu.ih"; ii: "bu.ii"; ij: "bu.ij"; ik: "bu.ik"; il: "bu.il"; im: "bu.im"; in: "bu.in"; io: "bu.io"; ip: "bu.ip"; iq: "bu.iq"; ir: "bu.ir"; is: "bu.is"; it: "bu.it"; iu: "bu.iu"; iv: "bu.iv"; iw: "bu.iw"; ix: "bu.ix"; iy: "bu.iy"; iz: "bu.iz"; ja: "bu.ja"; jb: "bu.jb"; jc: "bu.jc"; jd: "bu.jd"; je: "bu.je"; jf: "bu.jf"; jg: "bu.jg"; jh: "bu.jh"; ji: "bu.ji"; jj: "bu.jj"; jk: "bu.jk"; jl: "bu.jl"; jm: "bu.jm"; jn: "bu.jn"; jo: "bu.jo"; jp: "bu.jp"; jq: "bu.jq"; jr: "bu.jr"; js: "bu.js"; jt: "bu.jt"; ju: "bu.ju"; jv: "bu.jv"; jw: "bu.jw"; jx: "bu.jx"; jy: "bu.jy"; jz: "bu.jz"; ka: "bu.ka"; kb: "bu.kb"; kc: "bu.kc"; kd: "bu.kd"; ke: "bu.ke"; kf: "bu.kf"; kg: "bu.kg"; kh: "bu.kh"; ki: "bu.ki"; kj: "bu.kj"; kk: "bu.kk"; kl: "bu.kl"; km: "bu.km"; kn: "bu.kn"; ko: "bu.ko"; kp: "bu.kp"; kq: "bu.kq"; kr: "bu.kr"; ks: "bu.ks"; kt: "bu.kt"; ku: "bu.ku"; kv: "bu.kv"; kw: "bu.kw"; kx: "bu.kx"; ky: "bu.ky"; kz: "bu.kz"; la: "bu.la"; lb: "bu.lb"; lc: "bu.lc"; ld: "bu.ld"; le: "bu.le"; lf: "bu.lf"; lg: "bu.lg"; lh: "bu.lh"; li: "bu.li"; lj: "bu.lj"; lk: "bu.lk"; ll: "bu.ll"; lm: "bu.lm"; ln: "bu.ln"; lo: "bu.lo"; lp: "bu.lp"; lq: "bu.lq"; lr: "bu.lr"; ls: "bu.ls"; lt: "bu.lt"; lu: "bu.lu"; lv: "bu.lv"; lw: "bu.lw"; lx: "bu.lx"; ly: "bu.ly"; lz: "bu.lz"; ma: "bu.ma"; mb: "bu.mb"; mc: "bu.mc"; md: "bu.md"; me: "bu.me"; mf: "bu.mf"; mg: "bu.mg"; mh: "bu.mh"; mi: "bu.mi"; mj: "bu.mj"; mk: "bu.mk"; ml: "bu.ml"; mm: "bu.mm"; mn: "bu.mn"; mo: "bu.mo"; mp: "bu.mp"; mq: "bu.mq"; mr: "bu.mr"; ms: "bu.ms"; mt: "bu.mt"; mu: "bu.mu"; mv: "bu.mv"; mw: "bu.mw"; mx: "bu.mx"; my: "bu.my"; mz: "bu.mz"; na: "bu.na"; nb: "bu.nb"; nc: "bu.nc"; nd: "bu.nd"; ne: "bu.ne"; nf: "bu.nf"; ng: "bu.ng"; nh: "bu.nh"; ni: "bu.ni"; nj: "bu.nj"; nk: "bu.nk"; nl: "bu.nl"; nm: "bu.nm"; nn: "bu.nn"; no: "bu.no"; np: "bu.np"; nq: "bu.nq"; nr: "bu.nr"; ns: "bu.ns"; nt: "bu.nt"; nu: "bu.nu"; nv: "bu.nv"; nw: "bu.nw"; nx: "bu.nx"; ny: "bu.ny"; nz: "bu.nz"; oa: "bu.oa"; ob: "bu.ob"; oc: "bu.oc"; od: "bu.od"; oe: "bu.oe"; of: "bu.of"; og: "bu.og"; oh: "bu.oh"; oi: "bu.oi"; oj: "bu.oj"; ok: "bu.ok"; ol: "bu.ol"; om: "bu.om"; on: "bu.on"; oo: "bu.oo"; op: "bu.op"; oq: "bu.oq"; or: "bu.or"; os: "bu.os"; ot: "bu.ot"; ou: "bu.ou"; ov: "bu.ov"; ow: "bu.ow"; ox: "bu.ox"; oy: "bu.oy"; oz: "bu.oz"; pa: "bu.pa"; pb: "bu.pb"; pc: "bu.pc"; pd: "bu.pd"; pe: "bu.pe"; pf: "bu.pf"; pg: "bu.pg"; ph: "bu.ph"; pi: "bu.pi"; pj: "bu.pj"; pk: "bu.pk"; pl: "bu.pl"; pm: "bu.pm"; pn: "bu.pn"; po: "bu.po"; pp: "bu.pp"; pq: "bu.pq"; pr: "bu.pr"; ps: "bu.ps"; pt: "bu.pt"; pu: "bu.pu"; pv: "bu.pv"; pw: "bu.pw"; px: "bu.px"; py: "bu.py"; pz: "bu.pz"; qa: "bu.qa"; qb: "bu.qb"; qc: "bu.qc"; qd: "bu.qd"; qe: "bu.qe"; qf: "bu.qf"; qg: "bu.qg"; qh: "bu.qh"; qi: "bu.qi"; qj: "bu.qj"; qk: "bu.qk"; ql: "bu.ql"; qm: "bu.qm"; qn: "bu.qn"; qo: "bu.qo"; qp: "bu.qp"; qq: "bu.qq"; qr: "bu.qr"; qs: "bu.qs"; qt: "bu.qt"; qu: "bu.qu"; qv: "bu.qv"; qw: "bu.qw"; qx: "bu.qx"; qy: "bu.qy"; qz: "bu.qz"; ra: "bu.ra"; rb: "bu.rb"; rc: "bu.rc"; rd: "bu.rd"; re: "bu.re"; rf: "bu.rf"; rg: "bu.rg"; rh: "bu.rh"; ri: "bu.ri"; rj: "bu.rj"; rk: "bu.rk"; rl: "bu.rl"; rm: "bu.rm"; rn: "bu.rn"; ro: "bu.ro"; rp: "bu.rp"; rq: "bu.rq"; rr: "bu.rr"; rs: "bu.rs"; rt: "bu.rt"; ru: "bu.ru"; rv: "bu.rv"; rw: "bu.rw"; rx: "bu.rx"; ry: "bu.ry"; rz: "bu.rz"; sa: "bu.sa"; sb: "bu.sb"; sc: "bu.sc"; sd: "bu.sd"; se: "bu.se"; sf: "bu.sf"; sg: "bu.sg"; sh: "bu.sh"; si: "bu.si"; sj: "bu.sj"; sk: "bu.sk"; sl: "bu.sl"; sm: "bu.sm"; sn: "bu.sn"; so: "bu.so"; sp: "bu.sp"; sq: "bu.sq"; sr: "bu.sr"; ss: "bu.ss"; st: "bu.st"; su: "bu.su"; sv: "bu.sv"; sw: "bu.sw"; sx: "bu.sx"; sy: "bu.sy"; sz: "bu.sz"; ta: "bu.ta"; tb: "bu.tb"; tc: "bu.tc"; td: "bu.td"; te: "bu.te"; tf: "bu.tf"; tg: "bu.tg"; th: "bu.th"; ti: "bu.ti"; tj: "bu.tj"; tk: "bu.tk"; tl: "bu.tl"; tm: "bu.tm"; tn: "bu.tn"; to: "bu.to"; tp: "bu.tp"; tq: "bu.tq"; tr: "bu.tr"; ts: "bu.ts"; tt: "bu.tt"; tu: "bu.tu"; tv: "bu.tv"; tw: "bu.tw"; tx: "bu.tx"; ty: "bu.ty"; tz: "bu.tz"; ua: "bu.ua"; ub: "bu.ub"; uc: "bu.uc"; ud: "bu.ud"; ue: "bu.ue"; uf: "bu.uf"; ug: "bu.ug"; uh: "bu.uh"; ui: "bu.ui"; uj: "bu.uj"; uk: "bu.uk"; ul: "bu.ul"; um: "bu.um"; un: "bu.un"; uo: "bu.uo"; up: "bu.up"; uq: "bu.uq"; ur: "bu.ur"; us: "bu.us"; ut: "bu.ut"; uu: "bu.uu"; uv: "bu.uv"; uw: "bu.uw"; ux: "bu.ux"; uy: "bu.uy"; uz: "bu.uz"; va: "bu.va"; vb: "bu.vb"; vc: "bu.vc"; vd: "bu.vd"; ve: "bu.ve"; vf: "bu.vf"; vg: "bu.vg"; vh: "bu.vh"; vi: "bu.vi"; vj: "bu.vj"; vk: "bu.vk"; vl: "bu.vl"; vm: "bu.vm"; vn: "bu.vn"; vo: "bu.vo"; vp: "bu.vp"; vq: "bu.vq"; vr: "bu.vr"; vs: "bu.vs"; vt: "bu.vt"; vu: "bu.vu"; vv: "bu.vv"; vw: "bu.vw"; vx: "bu.vx"; vy: "bu.vy"; vz: "bu.vz"; wa: "bu.wa"; wb: "bu.wb"; wc: "bu.wc"; wd: "bu.wd"; we: "bu.we"; wf: "bu.wf"; wg: "bu.wg"; wh: "bu.wh"; wi: "bu.wi"; wj: "bu.wj"; wk: "bu.wk"; wl: "bu.wl"; wm: "bu.wm"; wn: "bu.wn"; wo: "bu.wo"; wp: "bu.wp"; wq: "bu.wq"; wr: "bu.wr"; ws: "bu.ws"; wt: "bu.wt"; wu: "bu.wu"; wv: "bu.wv"; ww: "bu.ww"; wx: "bu.wx"; wy: "bu.wy"; wz: "bu.wz"; xa: "bu.xa"; xb: "bu.xb"; xc: "bu.xc"; xd: "bu.xd"; xe: "bu.xe"; xf: "bu.xf"; xg: "bu.xg"; xh: "bu.xh"; xi: "bu.xi"; xj: "bu.xj"; xk: "bu.xk"; xl: "bu.xl"; xm: "bu.xm"; xn: "bu.xn"; xo: "bu.xo"; xp: "bu.xp"; xq: "bu.xq"; xr: "bu.xr"; xs: "bu.xs"; xt: "bu.xt"; xu: "bu.xu"; xv: "bu.xv"; xw: "bu.xw"; xx: "bu.xx"; xy: "bu.xy"; xz: "bu.xz"; ya: "bu.ya"; yb: "bu.yb"; yc: "bu.yc"; yd: "bu.yd"; ye: "bu.ye"; yf: "bu.yf"; yg: "bu.yg"; yh: "bu.yh"; yi: "bu.yi"; yj: "bu.yj"; yk: "bu.yk"; yl: "bu.yl"; ym: "bu.ym"; yn: "bu.yn"; yo: "bu.yo"; yp: "bu.yp"; yq: "bu.yq"; yr: "bu.yr"; ys: "bu.ys"; yt: "bu.yt"; yu: "bu.yu"; yv: "bu.yv"; yw: "bu.yw"; yx: "bu.yx"; yy: "bu.yy"; yz: "bu.yz"; za: "bu.za"; zb: "bu.zb"; zc: "bu.zc"; zd: "bu.zd"; ze: "bu.ze"; zf: "bu.zf"; zg: "bu.zg"; zh: "bu.zh"; zi: "bu.zi"; zj: "bu.zj"; zk: "bu.zk"; zl: "bu.zl"; zm: "bu.zm"; zn: "bu.zn"; zo: "bu.zo"; zp: "bu.zp"; zq: "bu.zq"; zr: "bu.zr"; zs: "bu.zs"; zt: "bu.zt"; zu: "bu.zu"; zv: "bu.zv"; zw: "bu.zw"; zx: "bu.zx"; zy: "bu.zy"; zz: "bu.zz"; }; bv: { aa: "bv.aa"; ab: "bv.ab"; ac: "bv.ac"; ad: "bv.ad"; ae: "bv.ae"; af: "bv.af"; ag: "bv.ag"; ah: "bv.ah"; ai: "bv.ai"; aj: "bv.aj"; ak: "bv.ak"; al: "bv.al"; am: "bv.am"; an: "bv.an"; ao: "bv.ao"; ap: "bv.ap"; aq: "bv.aq"; ar: "bv.ar"; as: "bv.as"; at: "bv.at"; au: "bv.au"; av: "bv.av"; aw: "bv.aw"; ax: "bv.ax"; ay: "bv.ay"; az: "bv.az"; ba: "bv.ba"; bb: "bv.bb"; bc: "bv.bc"; bd: "bv.bd"; be: "bv.be"; bf: "bv.bf"; bg: "bv.bg"; bh: "bv.bh"; bi: "bv.bi"; bj: "bv.bj"; bk: "bv.bk"; bl: "bv.bl"; bm: "bv.bm"; bn: "bv.bn"; bo: "bv.bo"; bp: "bv.bp"; bq: "bv.bq"; br: "bv.br"; bs: "bv.bs"; bt: "bv.bt"; bu: "bv.bu"; bv: "bv.bv"; bw: "bv.bw"; bx: "bv.bx"; by: "bv.by"; bz: "bv.bz"; ca: "bv.ca"; cb: "bv.cb"; cc: "bv.cc"; cd: "bv.cd"; ce: "bv.ce"; cf: "bv.cf"; cg: "bv.cg"; ch: "bv.ch"; ci: "bv.ci"; cj: "bv.cj"; ck: "bv.ck"; cl: "bv.cl"; cm: "bv.cm"; cn: "bv.cn"; co: "bv.co"; cp: "bv.cp"; cq: "bv.cq"; cr: "bv.cr"; cs: "bv.cs"; ct: "bv.ct"; cu: "bv.cu"; cv: "bv.cv"; cw: "bv.cw"; cx: "bv.cx"; cy: "bv.cy"; cz: "bv.cz"; da: "bv.da"; db: "bv.db"; dc: "bv.dc"; dd: "bv.dd"; de: "bv.de"; df: "bv.df"; dg: "bv.dg"; dh: "bv.dh"; di: "bv.di"; dj: "bv.dj"; dk: "bv.dk"; dl: "bv.dl"; dm: "bv.dm"; dn: "bv.dn"; do: "bv.do"; dp: "bv.dp"; dq: "bv.dq"; dr: "bv.dr"; ds: "bv.ds"; dt: "bv.dt"; du: "bv.du"; dv: "bv.dv"; dw: "bv.dw"; dx: "bv.dx"; dy: "bv.dy"; dz: "bv.dz"; ea: "bv.ea"; eb: "bv.eb"; ec: "bv.ec"; ed: "bv.ed"; ee: "bv.ee"; ef: "bv.ef"; eg: "bv.eg"; eh: "bv.eh"; ei: "bv.ei"; ej: "bv.ej"; ek: "bv.ek"; el: "bv.el"; em: "bv.em"; en: "bv.en"; eo: "bv.eo"; ep: "bv.ep"; eq: "bv.eq"; er: "bv.er"; es: "bv.es"; et: "bv.et"; eu: "bv.eu"; ev: "bv.ev"; ew: "bv.ew"; ex: "bv.ex"; ey: "bv.ey"; ez: "bv.ez"; fa: "bv.fa"; fb: "bv.fb"; fc: "bv.fc"; fd: "bv.fd"; fe: "bv.fe"; ff: "bv.ff"; fg: "bv.fg"; fh: "bv.fh"; fi: "bv.fi"; fj: "bv.fj"; fk: "bv.fk"; fl: "bv.fl"; fm: "bv.fm"; fn: "bv.fn"; fo: "bv.fo"; fp: "bv.fp"; fq: "bv.fq"; fr: "bv.fr"; fs: "bv.fs"; ft: "bv.ft"; fu: "bv.fu"; fv: "bv.fv"; fw: "bv.fw"; fx: "bv.fx"; fy: "bv.fy"; fz: "bv.fz"; ga: "bv.ga"; gb: "bv.gb"; gc: "bv.gc"; gd: "bv.gd"; ge: "bv.ge"; gf: "bv.gf"; gg: "bv.gg"; gh: "bv.gh"; gi: "bv.gi"; gj: "bv.gj"; gk: "bv.gk"; gl: "bv.gl"; gm: "bv.gm"; gn: "bv.gn"; go: "bv.go"; gp: "bv.gp"; gq: "bv.gq"; gr: "bv.gr"; gs: "bv.gs"; gt: "bv.gt"; gu: "bv.gu"; gv: "bv.gv"; gw: "bv.gw"; gx: "bv.gx"; gy: "bv.gy"; gz: "bv.gz"; ha: "bv.ha"; hb: "bv.hb"; hc: "bv.hc"; hd: "bv.hd"; he: "bv.he"; hf: "bv.hf"; hg: "bv.hg"; hh: "bv.hh"; hi: "bv.hi"; hj: "bv.hj"; hk: "bv.hk"; hl: "bv.hl"; hm: "bv.hm"; hn: "bv.hn"; ho: "bv.ho"; hp: "bv.hp"; hq: "bv.hq"; hr: "bv.hr"; hs: "bv.hs"; ht: "bv.ht"; hu: "bv.hu"; hv: "bv.hv"; hw: "bv.hw"; hx: "bv.hx"; hy: "bv.hy"; hz: "bv.hz"; ia: "bv.ia"; ib: "bv.ib"; ic: "bv.ic"; id: "bv.id"; ie: "bv.ie"; if: "bv.if"; ig: "bv.ig"; ih: "bv.ih"; ii: "bv.ii"; ij: "bv.ij"; ik: "bv.ik"; il: "bv.il"; im: "bv.im"; in: "bv.in"; io: "bv.io"; ip: "bv.ip"; iq: "bv.iq"; ir: "bv.ir"; is: "bv.is"; it: "bv.it"; iu: "bv.iu"; iv: "bv.iv"; iw: "bv.iw"; ix: "bv.ix"; iy: "bv.iy"; iz: "bv.iz"; ja: "bv.ja"; jb: "bv.jb"; jc: "bv.jc"; jd: "bv.jd"; je: "bv.je"; jf: "bv.jf"; jg: "bv.jg"; jh: "bv.jh"; ji: "bv.ji"; jj: "bv.jj"; jk: "bv.jk"; jl: "bv.jl"; jm: "bv.jm"; jn: "bv.jn"; jo: "bv.jo"; jp: "bv.jp"; jq: "bv.jq"; jr: "bv.jr"; js: "bv.js"; jt: "bv.jt"; ju: "bv.ju"; jv: "bv.jv"; jw: "bv.jw"; jx: "bv.jx"; jy: "bv.jy"; jz: "bv.jz"; ka: "bv.ka"; kb: "bv.kb"; kc: "bv.kc"; kd: "bv.kd"; ke: "bv.ke"; kf: "bv.kf"; kg: "bv.kg"; kh: "bv.kh"; ki: "bv.ki"; kj: "bv.kj"; kk: "bv.kk"; kl: "bv.kl"; km: "bv.km"; kn: "bv.kn"; ko: "bv.ko"; kp: "bv.kp"; kq: "bv.kq"; kr: "bv.kr"; ks: "bv.ks"; kt: "bv.kt"; ku: "bv.ku"; kv: "bv.kv"; kw: "bv.kw"; kx: "bv.kx"; ky: "bv.ky"; kz: "bv.kz"; la: "bv.la"; lb: "bv.lb"; lc: "bv.lc"; ld: "bv.ld"; le: "bv.le"; lf: "bv.lf"; lg: "bv.lg"; lh: "bv.lh"; li: "bv.li"; lj: "bv.lj"; lk: "bv.lk"; ll: "bv.ll"; lm: "bv.lm"; ln: "bv.ln"; lo: "bv.lo"; lp: "bv.lp"; lq: "bv.lq"; lr: "bv.lr"; ls: "bv.ls"; lt: "bv.lt"; lu: "bv.lu"; lv: "bv.lv"; lw: "bv.lw"; lx: "bv.lx"; ly: "bv.ly"; lz: "bv.lz"; ma: "bv.ma"; mb: "bv.mb"; mc: "bv.mc"; md: "bv.md"; me: "bv.me"; mf: "bv.mf"; mg: "bv.mg"; mh: "bv.mh"; mi: "bv.mi"; mj: "bv.mj"; mk: "bv.mk"; ml: "bv.ml"; mm: "bv.mm"; mn: "bv.mn"; mo: "bv.mo"; mp: "bv.mp"; mq: "bv.mq"; mr: "bv.mr"; ms: "bv.ms"; mt: "bv.mt"; mu: "bv.mu"; mv: "bv.mv"; mw: "bv.mw"; mx: "bv.mx"; my: "bv.my"; mz: "bv.mz"; na: "bv.na"; nb: "bv.nb"; nc: "bv.nc"; nd: "bv.nd"; ne: "bv.ne"; nf: "bv.nf"; ng: "bv.ng"; nh: "bv.nh"; ni: "bv.ni"; nj: "bv.nj"; nk: "bv.nk"; nl: "bv.nl"; nm: "bv.nm"; nn: "bv.nn"; no: "bv.no"; np: "bv.np"; nq: "bv.nq"; nr: "bv.nr"; ns: "bv.ns"; nt: "bv.nt"; nu: "bv.nu"; nv: "bv.nv"; nw: "bv.nw"; nx: "bv.nx"; ny: "bv.ny"; nz: "bv.nz"; oa: "bv.oa"; ob: "bv.ob"; oc: "bv.oc"; od: "bv.od"; oe: "bv.oe"; of: "bv.of"; og: "bv.og"; oh: "bv.oh"; oi: "bv.oi"; oj: "bv.oj"; ok: "bv.ok"; ol: "bv.ol"; om: "bv.om"; on: "bv.on"; oo: "bv.oo"; op: "bv.op"; oq: "bv.oq"; or: "bv.or"; os: "bv.os"; ot: "bv.ot"; ou: "bv.ou"; ov: "bv.ov"; ow: "bv.ow"; ox: "bv.ox"; oy: "bv.oy"; oz: "bv.oz"; pa: "bv.pa"; pb: "bv.pb"; pc: "bv.pc"; pd: "bv.pd"; pe: "bv.pe"; pf: "bv.pf"; pg: "bv.pg"; ph: "bv.ph"; pi: "bv.pi"; pj: "bv.pj"; pk: "bv.pk"; pl: "bv.pl"; pm: "bv.pm"; pn: "bv.pn"; po: "bv.po"; pp: "bv.pp"; pq: "bv.pq"; pr: "bv.pr"; ps: "bv.ps"; pt: "bv.pt"; pu: "bv.pu"; pv: "bv.pv"; pw: "bv.pw"; px: "bv.px"; py: "bv.py"; pz: "bv.pz"; qa: "bv.qa"; qb: "bv.qb"; qc: "bv.qc"; qd: "bv.qd"; qe: "bv.qe"; qf: "bv.qf"; qg: "bv.qg"; qh: "bv.qh"; qi: "bv.qi"; qj: "bv.qj"; qk: "bv.qk"; ql: "bv.ql"; qm: "bv.qm"; qn: "bv.qn"; qo: "bv.qo"; qp: "bv.qp"; qq: "bv.qq"; qr: "bv.qr"; qs: "bv.qs"; qt: "bv.qt"; qu: "bv.qu"; qv: "bv.qv"; qw: "bv.qw"; qx: "bv.qx"; qy: "bv.qy"; qz: "bv.qz"; ra: "bv.ra"; rb: "bv.rb"; rc: "bv.rc"; rd: "bv.rd"; re: "bv.re"; rf: "bv.rf"; rg: "bv.rg"; rh: "bv.rh"; ri: "bv.ri"; rj: "bv.rj"; rk: "bv.rk"; rl: "bv.rl"; rm: "bv.rm"; rn: "bv.rn"; ro: "bv.ro"; rp: "bv.rp"; rq: "bv.rq"; rr: "bv.rr"; rs: "bv.rs"; rt: "bv.rt"; ru: "bv.ru"; rv: "bv.rv"; rw: "bv.rw"; rx: "bv.rx"; ry: "bv.ry"; rz: "bv.rz"; sa: "bv.sa"; sb: "bv.sb"; sc: "bv.sc"; sd: "bv.sd"; se: "bv.se"; sf: "bv.sf"; sg: "bv.sg"; sh: "bv.sh"; si: "bv.si"; sj: "bv.sj"; sk: "bv.sk"; sl: "bv.sl"; sm: "bv.sm"; sn: "bv.sn"; so: "bv.so"; sp: "bv.sp"; sq: "bv.sq"; sr: "bv.sr"; ss: "bv.ss"; st: "bv.st"; su: "bv.su"; sv: "bv.sv"; sw: "bv.sw"; sx: "bv.sx"; sy: "bv.sy"; sz: "bv.sz"; ta: "bv.ta"; tb: "bv.tb"; tc: "bv.tc"; td: "bv.td"; te: "bv.te"; tf: "bv.tf"; tg: "bv.tg"; th: "bv.th"; ti: "bv.ti"; tj: "bv.tj"; tk: "bv.tk"; tl: "bv.tl"; tm: "bv.tm"; tn: "bv.tn"; to: "bv.to"; tp: "bv.tp"; tq: "bv.tq"; tr: "bv.tr"; ts: "bv.ts"; tt: "bv.tt"; tu: "bv.tu"; tv: "bv.tv"; tw: "bv.tw"; tx: "bv.tx"; ty: "bv.ty"; tz: "bv.tz"; ua: "bv.ua"; ub: "bv.ub"; uc: "bv.uc"; ud: "bv.ud"; ue: "bv.ue"; uf: "bv.uf"; ug: "bv.ug"; uh: "bv.uh"; ui: "bv.ui"; uj: "bv.uj"; uk: "bv.uk"; ul: "bv.ul"; um: "bv.um"; un: "bv.un"; uo: "bv.uo"; up: "bv.up"; uq: "bv.uq"; ur: "bv.ur"; us: "bv.us"; ut: "bv.ut"; uu: "bv.uu"; uv: "bv.uv"; uw: "bv.uw"; ux: "bv.ux"; uy: "bv.uy"; uz: "bv.uz"; va: "bv.va"; vb: "bv.vb"; vc: "bv.vc"; vd: "bv.vd"; ve: "bv.ve"; vf: "bv.vf"; vg: "bv.vg"; vh: "bv.vh"; vi: "bv.vi"; vj: "bv.vj"; vk: "bv.vk"; vl: "bv.vl"; vm: "bv.vm"; vn: "bv.vn"; vo: "bv.vo"; vp: "bv.vp"; vq: "bv.vq"; vr: "bv.vr"; vs: "bv.vs"; vt: "bv.vt"; vu: "bv.vu"; vv: "bv.vv"; vw: "bv.vw"; vx: "bv.vx"; vy: "bv.vy"; vz: "bv.vz"; wa: "bv.wa"; wb: "bv.wb"; wc: "bv.wc"; wd: "bv.wd"; we: "bv.we"; wf: "bv.wf"; wg: "bv.wg"; wh: "bv.wh"; wi: "bv.wi"; wj: "bv.wj"; wk: "bv.wk"; wl: "bv.wl"; wm: "bv.wm"; wn: "bv.wn"; wo: "bv.wo"; wp: "bv.wp"; wq: "bv.wq"; wr: "bv.wr"; ws: "bv.ws"; wt: "bv.wt"; wu: "bv.wu"; wv: "bv.wv"; ww: "bv.ww"; wx: "bv.wx"; wy: "bv.wy"; wz: "bv.wz"; xa: "bv.xa"; xb: "bv.xb"; xc: "bv.xc"; xd: "bv.xd"; xe: "bv.xe"; xf: "bv.xf"; xg: "bv.xg"; xh: "bv.xh"; xi: "bv.xi"; xj: "bv.xj"; xk: "bv.xk"; xl: "bv.xl"; xm: "bv.xm"; xn: "bv.xn"; xo: "bv.xo"; xp: "bv.xp"; xq: "bv.xq"; xr: "bv.xr"; xs: "bv.xs"; xt: "bv.xt"; xu: "bv.xu"; xv: "bv.xv"; xw: "bv.xw"; xx: "bv.xx"; xy: "bv.xy"; xz: "bv.xz"; ya: "bv.ya"; yb: "bv.yb"; yc: "bv.yc"; yd: "bv.yd"; ye: "bv.ye"; yf: "bv.yf"; yg: "bv.yg"; yh: "bv.yh"; yi: "bv.yi"; yj: "bv.yj"; yk: "bv.yk"; yl: "bv.yl"; ym: "bv.ym"; yn: "bv.yn"; yo: "bv.yo"; yp: "bv.yp"; yq: "bv.yq"; yr: "bv.yr"; ys: "bv.ys"; yt: "bv.yt"; yu: "bv.yu"; yv: "bv.yv"; yw: "bv.yw"; yx: "bv.yx"; yy: "bv.yy"; yz: "bv.yz"; za: "bv.za"; zb: "bv.zb"; zc: "bv.zc"; zd: "bv.zd"; ze: "bv.ze"; zf: "bv.zf"; zg: "bv.zg"; zh: "bv.zh"; zi: "bv.zi"; zj: "bv.zj"; zk: "bv.zk"; zl: "bv.zl"; zm: "bv.zm"; zn: "bv.zn"; zo: "bv.zo"; zp: "bv.zp"; zq: "bv.zq"; zr: "bv.zr"; zs: "bv.zs"; zt: "bv.zt"; zu: "bv.zu"; zv: "bv.zv"; zw: "bv.zw"; zx: "bv.zx"; zy: "bv.zy"; zz: "bv.zz"; }; bw: { aa: "bw.aa"; ab: "bw.ab"; ac: "bw.ac"; ad: "bw.ad"; ae: "bw.ae"; af: "bw.af"; ag: "bw.ag"; ah: "bw.ah"; ai: "bw.ai"; aj: "bw.aj"; ak: "bw.ak"; al: "bw.al"; am: "bw.am"; an: "bw.an"; ao: "bw.ao"; ap: "bw.ap"; aq: "bw.aq"; ar: "bw.ar"; as: "bw.as"; at: "bw.at"; au: "bw.au"; av: "bw.av"; aw: "bw.aw"; ax: "bw.ax"; ay: "bw.ay"; az: "bw.az"; ba: "bw.ba"; bb: "bw.bb"; bc: "bw.bc"; bd: "bw.bd"; be: "bw.be"; bf: "bw.bf"; bg: "bw.bg"; bh: "bw.bh"; bi: "bw.bi"; bj: "bw.bj"; bk: "bw.bk"; bl: "bw.bl"; bm: "bw.bm"; bn: "bw.bn"; bo: "bw.bo"; bp: "bw.bp"; bq: "bw.bq"; br: "bw.br"; bs: "bw.bs"; bt: "bw.bt"; bu: "bw.bu"; bv: "bw.bv"; bw: "bw.bw"; bx: "bw.bx"; by: "bw.by"; bz: "bw.bz"; ca: "bw.ca"; cb: "bw.cb"; cc: "bw.cc"; cd: "bw.cd"; ce: "bw.ce"; cf: "bw.cf"; cg: "bw.cg"; ch: "bw.ch"; ci: "bw.ci"; cj: "bw.cj"; ck: "bw.ck"; cl: "bw.cl"; cm: "bw.cm"; cn: "bw.cn"; co: "bw.co"; cp: "bw.cp"; cq: "bw.cq"; cr: "bw.cr"; cs: "bw.cs"; ct: "bw.ct"; cu: "bw.cu"; cv: "bw.cv"; cw: "bw.cw"; cx: "bw.cx"; cy: "bw.cy"; cz: "bw.cz"; da: "bw.da"; db: "bw.db"; dc: "bw.dc"; dd: "bw.dd"; de: "bw.de"; df: "bw.df"; dg: "bw.dg"; dh: "bw.dh"; di: "bw.di"; dj: "bw.dj"; dk: "bw.dk"; dl: "bw.dl"; dm: "bw.dm"; dn: "bw.dn"; do: "bw.do"; dp: "bw.dp"; dq: "bw.dq"; dr: "bw.dr"; ds: "bw.ds"; dt: "bw.dt"; du: "bw.du"; dv: "bw.dv"; dw: "bw.dw"; dx: "bw.dx"; dy: "bw.dy"; dz: "bw.dz"; ea: "bw.ea"; eb: "bw.eb"; ec: "bw.ec"; ed: "bw.ed"; ee: "bw.ee"; ef: "bw.ef"; eg: "bw.eg"; eh: "bw.eh"; ei: "bw.ei"; ej: "bw.ej"; ek: "bw.ek"; el: "bw.el"; em: "bw.em"; en: "bw.en"; eo: "bw.eo"; ep: "bw.ep"; eq: "bw.eq"; er: "bw.er"; es: "bw.es"; et: "bw.et"; eu: "bw.eu"; ev: "bw.ev"; ew: "bw.ew"; ex: "bw.ex"; ey: "bw.ey"; ez: "bw.ez"; fa: "bw.fa"; fb: "bw.fb"; fc: "bw.fc"; fd: "bw.fd"; fe: "bw.fe"; ff: "bw.ff"; fg: "bw.fg"; fh: "bw.fh"; fi: "bw.fi"; fj: "bw.fj"; fk: "bw.fk"; fl: "bw.fl"; fm: "bw.fm"; fn: "bw.fn"; fo: "bw.fo"; fp: "bw.fp"; fq: "bw.fq"; fr: "bw.fr"; fs: "bw.fs"; ft: "bw.ft"; fu: "bw.fu"; fv: "bw.fv"; fw: "bw.fw"; fx: "bw.fx"; fy: "bw.fy"; fz: "bw.fz"; ga: "bw.ga"; gb: "bw.gb"; gc: "bw.gc"; gd: "bw.gd"; ge: "bw.ge"; gf: "bw.gf"; gg: "bw.gg"; gh: "bw.gh"; gi: "bw.gi"; gj: "bw.gj"; gk: "bw.gk"; gl: "bw.gl"; gm: "bw.gm"; gn: "bw.gn"; go: "bw.go"; gp: "bw.gp"; gq: "bw.gq"; gr: "bw.gr"; gs: "bw.gs"; gt: "bw.gt"; gu: "bw.gu"; gv: "bw.gv"; gw: "bw.gw"; gx: "bw.gx"; gy: "bw.gy"; gz: "bw.gz"; ha: "bw.ha"; hb: "bw.hb"; hc: "bw.hc"; hd: "bw.hd"; he: "bw.he"; hf: "bw.hf"; hg: "bw.hg"; hh: "bw.hh"; hi: "bw.hi"; hj: "bw.hj"; hk: "bw.hk"; hl: "bw.hl"; hm: "bw.hm"; hn: "bw.hn"; ho: "bw.ho"; hp: "bw.hp"; hq: "bw.hq"; hr: "bw.hr"; hs: "bw.hs"; ht: "bw.ht"; hu: "bw.hu"; hv: "bw.hv"; hw: "bw.hw"; hx: "bw.hx"; hy: "bw.hy"; hz: "bw.hz"; ia: "bw.ia"; ib: "bw.ib"; ic: "bw.ic"; id: "bw.id"; ie: "bw.ie"; if: "bw.if"; ig: "bw.ig"; ih: "bw.ih"; ii: "bw.ii"; ij: "bw.ij"; ik: "bw.ik"; il: "bw.il"; im: "bw.im"; in: "bw.in"; io: "bw.io"; ip: "bw.ip"; iq: "bw.iq"; ir: "bw.ir"; is: "bw.is"; it: "bw.it"; iu: "bw.iu"; iv: "bw.iv"; iw: "bw.iw"; ix: "bw.ix"; iy: "bw.iy"; iz: "bw.iz"; ja: "bw.ja"; jb: "bw.jb"; jc: "bw.jc"; jd: "bw.jd"; je: "bw.je"; jf: "bw.jf"; jg: "bw.jg"; jh: "bw.jh"; ji: "bw.ji"; jj: "bw.jj"; jk: "bw.jk"; jl: "bw.jl"; jm: "bw.jm"; jn: "bw.jn"; jo: "bw.jo"; jp: "bw.jp"; jq: "bw.jq"; jr: "bw.jr"; js: "bw.js"; jt: "bw.jt"; ju: "bw.ju"; jv: "bw.jv"; jw: "bw.jw"; jx: "bw.jx"; jy: "bw.jy"; jz: "bw.jz"; ka: "bw.ka"; kb: "bw.kb"; kc: "bw.kc"; kd: "bw.kd"; ke: "bw.ke"; kf: "bw.kf"; kg: "bw.kg"; kh: "bw.kh"; ki: "bw.ki"; kj: "bw.kj"; kk: "bw.kk"; kl: "bw.kl"; km: "bw.km"; kn: "bw.kn"; ko: "bw.ko"; kp: "bw.kp"; kq: "bw.kq"; kr: "bw.kr"; ks: "bw.ks"; kt: "bw.kt"; ku: "bw.ku"; kv: "bw.kv"; kw: "bw.kw"; kx: "bw.kx"; ky: "bw.ky"; kz: "bw.kz"; la: "bw.la"; lb: "bw.lb"; lc: "bw.lc"; ld: "bw.ld"; le: "bw.le"; lf: "bw.lf"; lg: "bw.lg"; lh: "bw.lh"; li: "bw.li"; lj: "bw.lj"; lk: "bw.lk"; ll: "bw.ll"; lm: "bw.lm"; ln: "bw.ln"; lo: "bw.lo"; lp: "bw.lp"; lq: "bw.lq"; lr: "bw.lr"; ls: "bw.ls"; lt: "bw.lt"; lu: "bw.lu"; lv: "bw.lv"; lw: "bw.lw"; lx: "bw.lx"; ly: "bw.ly"; lz: "bw.lz"; ma: "bw.ma"; mb: "bw.mb"; mc: "bw.mc"; md: "bw.md"; me: "bw.me"; mf: "bw.mf"; mg: "bw.mg"; mh: "bw.mh"; mi: "bw.mi"; mj: "bw.mj"; mk: "bw.mk"; ml: "bw.ml"; mm: "bw.mm"; mn: "bw.mn"; mo: "bw.mo"; mp: "bw.mp"; mq: "bw.mq"; mr: "bw.mr"; ms: "bw.ms"; mt: "bw.mt"; mu: "bw.mu"; mv: "bw.mv"; mw: "bw.mw"; mx: "bw.mx"; my: "bw.my"; mz: "bw.mz"; na: "bw.na"; nb: "bw.nb"; nc: "bw.nc"; nd: "bw.nd"; ne: "bw.ne"; nf: "bw.nf"; ng: "bw.ng"; nh: "bw.nh"; ni: "bw.ni"; nj: "bw.nj"; nk: "bw.nk"; nl: "bw.nl"; nm: "bw.nm"; nn: "bw.nn"; no: "bw.no"; np: "bw.np"; nq: "bw.nq"; nr: "bw.nr"; ns: "bw.ns"; nt: "bw.nt"; nu: "bw.nu"; nv: "bw.nv"; nw: "bw.nw"; nx: "bw.nx"; ny: "bw.ny"; nz: "bw.nz"; oa: "bw.oa"; ob: "bw.ob"; oc: "bw.oc"; od: "bw.od"; oe: "bw.oe"; of: "bw.of"; og: "bw.og"; oh: "bw.oh"; oi: "bw.oi"; oj: "bw.oj"; ok: "bw.ok"; ol: "bw.ol"; om: "bw.om"; on: "bw.on"; oo: "bw.oo"; op: "bw.op"; oq: "bw.oq"; or: "bw.or"; os: "bw.os"; ot: "bw.ot"; ou: "bw.ou"; ov: "bw.ov"; ow: "bw.ow"; ox: "bw.ox"; oy: "bw.oy"; oz: "bw.oz"; pa: "bw.pa"; pb: "bw.pb"; pc: "bw.pc"; pd: "bw.pd"; pe: "bw.pe"; pf: "bw.pf"; pg: "bw.pg"; ph: "bw.ph"; pi: "bw.pi"; pj: "bw.pj"; pk: "bw.pk"; pl: "bw.pl"; pm: "bw.pm"; pn: "bw.pn"; po: "bw.po"; pp: "bw.pp"; pq: "bw.pq"; pr: "bw.pr"; ps: "bw.ps"; pt: "bw.pt"; pu: "bw.pu"; pv: "bw.pv"; pw: "bw.pw"; px: "bw.px"; py: "bw.py"; pz: "bw.pz"; qa: "bw.qa"; qb: "bw.qb"; qc: "bw.qc"; qd: "bw.qd"; qe: "bw.qe"; qf: "bw.qf"; qg: "bw.qg"; qh: "bw.qh"; qi: "bw.qi"; qj: "bw.qj"; qk: "bw.qk"; ql: "bw.ql"; qm: "bw.qm"; qn: "bw.qn"; qo: "bw.qo"; qp: "bw.qp"; qq: "bw.qq"; qr: "bw.qr"; qs: "bw.qs"; qt: "bw.qt"; qu: "bw.qu"; qv: "bw.qv"; qw: "bw.qw"; qx: "bw.qx"; qy: "bw.qy"; qz: "bw.qz"; ra: "bw.ra"; rb: "bw.rb"; rc: "bw.rc"; rd: "bw.rd"; re: "bw.re"; rf: "bw.rf"; rg: "bw.rg"; rh: "bw.rh"; ri: "bw.ri"; rj: "bw.rj"; rk: "bw.rk"; rl: "bw.rl"; rm: "bw.rm"; rn: "bw.rn"; ro: "bw.ro"; rp: "bw.rp"; rq: "bw.rq"; rr: "bw.rr"; rs: "bw.rs"; rt: "bw.rt"; ru: "bw.ru"; rv: "bw.rv"; rw: "bw.rw"; rx: "bw.rx"; ry: "bw.ry"; rz: "bw.rz"; sa: "bw.sa"; sb: "bw.sb"; sc: "bw.sc"; sd: "bw.sd"; se: "bw.se"; sf: "bw.sf"; sg: "bw.sg"; sh: "bw.sh"; si: "bw.si"; sj: "bw.sj"; sk: "bw.sk"; sl: "bw.sl"; sm: "bw.sm"; sn: "bw.sn"; so: "bw.so"; sp: "bw.sp"; sq: "bw.sq"; sr: "bw.sr"; ss: "bw.ss"; st: "bw.st"; su: "bw.su"; sv: "bw.sv"; sw: "bw.sw"; sx: "bw.sx"; sy: "bw.sy"; sz: "bw.sz"; ta: "bw.ta"; tb: "bw.tb"; tc: "bw.tc"; td: "bw.td"; te: "bw.te"; tf: "bw.tf"; tg: "bw.tg"; th: "bw.th"; ti: "bw.ti"; tj: "bw.tj"; tk: "bw.tk"; tl: "bw.tl"; tm: "bw.tm"; tn: "bw.tn"; to: "bw.to"; tp: "bw.tp"; tq: "bw.tq"; tr: "bw.tr"; ts: "bw.ts"; tt: "bw.tt"; tu: "bw.tu"; tv: "bw.tv"; tw: "bw.tw"; tx: "bw.tx"; ty: "bw.ty"; tz: "bw.tz"; ua: "bw.ua"; ub: "bw.ub"; uc: "bw.uc"; ud: "bw.ud"; ue: "bw.ue"; uf: "bw.uf"; ug: "bw.ug"; uh: "bw.uh"; ui: "bw.ui"; uj: "bw.uj"; uk: "bw.uk"; ul: "bw.ul"; um: "bw.um"; un: "bw.un"; uo: "bw.uo"; up: "bw.up"; uq: "bw.uq"; ur: "bw.ur"; us: "bw.us"; ut: "bw.ut"; uu: "bw.uu"; uv: "bw.uv"; uw: "bw.uw"; ux: "bw.ux"; uy: "bw.uy"; uz: "bw.uz"; va: "bw.va"; vb: "bw.vb"; vc: "bw.vc"; vd: "bw.vd"; ve: "bw.ve"; vf: "bw.vf"; vg: "bw.vg"; vh: "bw.vh"; vi: "bw.vi"; vj: "bw.vj"; vk: "bw.vk"; vl: "bw.vl"; vm: "bw.vm"; vn: "bw.vn"; vo: "bw.vo"; vp: "bw.vp"; vq: "bw.vq"; vr: "bw.vr"; vs: "bw.vs"; vt: "bw.vt"; vu: "bw.vu"; vv: "bw.vv"; vw: "bw.vw"; vx: "bw.vx"; vy: "bw.vy"; vz: "bw.vz"; wa: "bw.wa"; wb: "bw.wb"; wc: "bw.wc"; wd: "bw.wd"; we: "bw.we"; wf: "bw.wf"; wg: "bw.wg"; wh: "bw.wh"; wi: "bw.wi"; wj: "bw.wj"; wk: "bw.wk"; wl: "bw.wl"; wm: "bw.wm"; wn: "bw.wn"; wo: "bw.wo"; wp: "bw.wp"; wq: "bw.wq"; wr: "bw.wr"; ws: "bw.ws"; wt: "bw.wt"; wu: "bw.wu"; wv: "bw.wv"; ww: "bw.ww"; wx: "bw.wx"; wy: "bw.wy"; wz: "bw.wz"; xa: "bw.xa"; xb: "bw.xb"; xc: "bw.xc"; xd: "bw.xd"; xe: "bw.xe"; xf: "bw.xf"; xg: "bw.xg"; xh: "bw.xh"; xi: "bw.xi"; xj: "bw.xj"; xk: "bw.xk"; xl: "bw.xl"; xm: "bw.xm"; xn: "bw.xn"; xo: "bw.xo"; xp: "bw.xp"; xq: "bw.xq"; xr: "bw.xr"; xs: "bw.xs"; xt: "bw.xt"; xu: "bw.xu"; xv: "bw.xv"; xw: "bw.xw"; xx: "bw.xx"; xy: "bw.xy"; xz: "bw.xz"; ya: "bw.ya"; yb: "bw.yb"; yc: "bw.yc"; yd: "bw.yd"; ye: "bw.ye"; yf: "bw.yf"; yg: "bw.yg"; yh: "bw.yh"; yi: "bw.yi"; yj: "bw.yj"; yk: "bw.yk"; yl: "bw.yl"; ym: "bw.ym"; yn: "bw.yn"; yo: "bw.yo"; yp: "bw.yp"; yq: "bw.yq"; yr: "bw.yr"; ys: "bw.ys"; yt: "bw.yt"; yu: "bw.yu"; yv: "bw.yv"; yw: "bw.yw"; yx: "bw.yx"; yy: "bw.yy"; yz: "bw.yz"; za: "bw.za"; zb: "bw.zb"; zc: "bw.zc"; zd: "bw.zd"; ze: "bw.ze"; zf: "bw.zf"; zg: "bw.zg"; zh: "bw.zh"; zi: "bw.zi"; zj: "bw.zj"; zk: "bw.zk"; zl: "bw.zl"; zm: "bw.zm"; zn: "bw.zn"; zo: "bw.zo"; zp: "bw.zp"; zq: "bw.zq"; zr: "bw.zr"; zs: "bw.zs"; zt: "bw.zt"; zu: "bw.zu"; zv: "bw.zv"; zw: "bw.zw"; zx: "bw.zx"; zy: "bw.zy"; zz: "bw.zz"; }; bx: { aa: "bx.aa"; ab: "bx.ab"; ac: "bx.ac"; ad: "bx.ad"; ae: "bx.ae"; af: "bx.af"; ag: "bx.ag"; ah: "bx.ah"; ai: "bx.ai"; aj: "bx.aj"; ak: "bx.ak"; al: "bx.al"; am: "bx.am"; an: "bx.an"; ao: "bx.ao"; ap: "bx.ap"; aq: "bx.aq"; ar: "bx.ar"; as: "bx.as"; at: "bx.at"; au: "bx.au"; av: "bx.av"; aw: "bx.aw"; ax: "bx.ax"; ay: "bx.ay"; az: "bx.az"; ba: "bx.ba"; bb: "bx.bb"; bc: "bx.bc"; bd: "bx.bd"; be: "bx.be"; bf: "bx.bf"; bg: "bx.bg"; bh: "bx.bh"; bi: "bx.bi"; bj: "bx.bj"; bk: "bx.bk"; bl: "bx.bl"; bm: "bx.bm"; bn: "bx.bn"; bo: "bx.bo"; bp: "bx.bp"; bq: "bx.bq"; br: "bx.br"; bs: "bx.bs"; bt: "bx.bt"; bu: "bx.bu"; bv: "bx.bv"; bw: "bx.bw"; bx: "bx.bx"; by: "bx.by"; bz: "bx.bz"; ca: "bx.ca"; cb: "bx.cb"; cc: "bx.cc"; cd: "bx.cd"; ce: "bx.ce"; cf: "bx.cf"; cg: "bx.cg"; ch: "bx.ch"; ci: "bx.ci"; cj: "bx.cj"; ck: "bx.ck"; cl: "bx.cl"; cm: "bx.cm"; cn: "bx.cn"; co: "bx.co"; cp: "bx.cp"; cq: "bx.cq"; cr: "bx.cr"; cs: "bx.cs"; ct: "bx.ct"; cu: "bx.cu"; cv: "bx.cv"; cw: "bx.cw"; cx: "bx.cx"; cy: "bx.cy"; cz: "bx.cz"; da: "bx.da"; db: "bx.db"; dc: "bx.dc"; dd: "bx.dd"; de: "bx.de"; df: "bx.df"; dg: "bx.dg"; dh: "bx.dh"; di: "bx.di"; dj: "bx.dj"; dk: "bx.dk"; dl: "bx.dl"; dm: "bx.dm"; dn: "bx.dn"; do: "bx.do"; dp: "bx.dp"; dq: "bx.dq"; dr: "bx.dr"; ds: "bx.ds"; dt: "bx.dt"; du: "bx.du"; dv: "bx.dv"; dw: "bx.dw"; dx: "bx.dx"; dy: "bx.dy"; dz: "bx.dz"; ea: "bx.ea"; eb: "bx.eb"; ec: "bx.ec"; ed: "bx.ed"; ee: "bx.ee"; ef: "bx.ef"; eg: "bx.eg"; eh: "bx.eh"; ei: "bx.ei"; ej: "bx.ej"; ek: "bx.ek"; el: "bx.el"; em: "bx.em"; en: "bx.en"; eo: "bx.eo"; ep: "bx.ep"; eq: "bx.eq"; er: "bx.er"; es: "bx.es"; et: "bx.et"; eu: "bx.eu"; ev: "bx.ev"; ew: "bx.ew"; ex: "bx.ex"; ey: "bx.ey"; ez: "bx.ez"; fa: "bx.fa"; fb: "bx.fb"; fc: "bx.fc"; fd: "bx.fd"; fe: "bx.fe"; ff: "bx.ff"; fg: "bx.fg"; fh: "bx.fh"; fi: "bx.fi"; fj: "bx.fj"; fk: "bx.fk"; fl: "bx.fl"; fm: "bx.fm"; fn: "bx.fn"; fo: "bx.fo"; fp: "bx.fp"; fq: "bx.fq"; fr: "bx.fr"; fs: "bx.fs"; ft: "bx.ft"; fu: "bx.fu"; fv: "bx.fv"; fw: "bx.fw"; fx: "bx.fx"; fy: "bx.fy"; fz: "bx.fz"; ga: "bx.ga"; gb: "bx.gb"; gc: "bx.gc"; gd: "bx.gd"; ge: "bx.ge"; gf: "bx.gf"; gg: "bx.gg"; gh: "bx.gh"; gi: "bx.gi"; gj: "bx.gj"; gk: "bx.gk"; gl: "bx.gl"; gm: "bx.gm"; gn: "bx.gn"; go: "bx.go"; gp: "bx.gp"; gq: "bx.gq"; gr: "bx.gr"; gs: "bx.gs"; gt: "bx.gt"; gu: "bx.gu"; gv: "bx.gv"; gw: "bx.gw"; gx: "bx.gx"; gy: "bx.gy"; gz: "bx.gz"; ha: "bx.ha"; hb: "bx.hb"; hc: "bx.hc"; hd: "bx.hd"; he: "bx.he"; hf: "bx.hf"; hg: "bx.hg"; hh: "bx.hh"; hi: "bx.hi"; hj: "bx.hj"; hk: "bx.hk"; hl: "bx.hl"; hm: "bx.hm"; hn: "bx.hn"; ho: "bx.ho"; hp: "bx.hp"; hq: "bx.hq"; hr: "bx.hr"; hs: "bx.hs"; ht: "bx.ht"; hu: "bx.hu"; hv: "bx.hv"; hw: "bx.hw"; hx: "bx.hx"; hy: "bx.hy"; hz: "bx.hz"; ia: "bx.ia"; ib: "bx.ib"; ic: "bx.ic"; id: "bx.id"; ie: "bx.ie"; if: "bx.if"; ig: "bx.ig"; ih: "bx.ih"; ii: "bx.ii"; ij: "bx.ij"; ik: "bx.ik"; il: "bx.il"; im: "bx.im"; in: "bx.in"; io: "bx.io"; ip: "bx.ip"; iq: "bx.iq"; ir: "bx.ir"; is: "bx.is"; it: "bx.it"; iu: "bx.iu"; iv: "bx.iv"; iw: "bx.iw"; ix: "bx.ix"; iy: "bx.iy"; iz: "bx.iz"; ja: "bx.ja"; jb: "bx.jb"; jc: "bx.jc"; jd: "bx.jd"; je: "bx.je"; jf: "bx.jf"; jg: "bx.jg"; jh: "bx.jh"; ji: "bx.ji"; jj: "bx.jj"; jk: "bx.jk"; jl: "bx.jl"; jm: "bx.jm"; jn: "bx.jn"; jo: "bx.jo"; jp: "bx.jp"; jq: "bx.jq"; jr: "bx.jr"; js: "bx.js"; jt: "bx.jt"; ju: "bx.ju"; jv: "bx.jv"; jw: "bx.jw"; jx: "bx.jx"; jy: "bx.jy"; jz: "bx.jz"; ka: "bx.ka"; kb: "bx.kb"; kc: "bx.kc"; kd: "bx.kd"; ke: "bx.ke"; kf: "bx.kf"; kg: "bx.kg"; kh: "bx.kh"; ki: "bx.ki"; kj: "bx.kj"; kk: "bx.kk"; kl: "bx.kl"; km: "bx.km"; kn: "bx.kn"; ko: "bx.ko"; kp: "bx.kp"; kq: "bx.kq"; kr: "bx.kr"; ks: "bx.ks"; kt: "bx.kt"; ku: "bx.ku"; kv: "bx.kv"; kw: "bx.kw"; kx: "bx.kx"; ky: "bx.ky"; kz: "bx.kz"; la: "bx.la"; lb: "bx.lb"; lc: "bx.lc"; ld: "bx.ld"; le: "bx.le"; lf: "bx.lf"; lg: "bx.lg"; lh: "bx.lh"; li: "bx.li"; lj: "bx.lj"; lk: "bx.lk"; ll: "bx.ll"; lm: "bx.lm"; ln: "bx.ln"; lo: "bx.lo"; lp: "bx.lp"; lq: "bx.lq"; lr: "bx.lr"; ls: "bx.ls"; lt: "bx.lt"; lu: "bx.lu"; lv: "bx.lv"; lw: "bx.lw"; lx: "bx.lx"; ly: "bx.ly"; lz: "bx.lz"; ma: "bx.ma"; mb: "bx.mb"; mc: "bx.mc"; md: "bx.md"; me: "bx.me"; mf: "bx.mf"; mg: "bx.mg"; mh: "bx.mh"; mi: "bx.mi"; mj: "bx.mj"; mk: "bx.mk"; ml: "bx.ml"; mm: "bx.mm"; mn: "bx.mn"; mo: "bx.mo"; mp: "bx.mp"; mq: "bx.mq"; mr: "bx.mr"; ms: "bx.ms"; mt: "bx.mt"; mu: "bx.mu"; mv: "bx.mv"; mw: "bx.mw"; mx: "bx.mx"; my: "bx.my"; mz: "bx.mz"; na: "bx.na"; nb: "bx.nb"; nc: "bx.nc"; nd: "bx.nd"; ne: "bx.ne"; nf: "bx.nf"; ng: "bx.ng"; nh: "bx.nh"; ni: "bx.ni"; nj: "bx.nj"; nk: "bx.nk"; nl: "bx.nl"; nm: "bx.nm"; nn: "bx.nn"; no: "bx.no"; np: "bx.np"; nq: "bx.nq"; nr: "bx.nr"; ns: "bx.ns"; nt: "bx.nt"; nu: "bx.nu"; nv: "bx.nv"; nw: "bx.nw"; nx: "bx.nx"; ny: "bx.ny"; nz: "bx.nz"; oa: "bx.oa"; ob: "bx.ob"; oc: "bx.oc"; od: "bx.od"; oe: "bx.oe"; of: "bx.of"; og: "bx.og"; oh: "bx.oh"; oi: "bx.oi"; oj: "bx.oj"; ok: "bx.ok"; ol: "bx.ol"; om: "bx.om"; on: "bx.on"; oo: "bx.oo"; op: "bx.op"; oq: "bx.oq"; or: "bx.or"; os: "bx.os"; ot: "bx.ot"; ou: "bx.ou"; ov: "bx.ov"; ow: "bx.ow"; ox: "bx.ox"; oy: "bx.oy"; oz: "bx.oz"; pa: "bx.pa"; pb: "bx.pb"; pc: "bx.pc"; pd: "bx.pd"; pe: "bx.pe"; pf: "bx.pf"; pg: "bx.pg"; ph: "bx.ph"; pi: "bx.pi"; pj: "bx.pj"; pk: "bx.pk"; pl: "bx.pl"; pm: "bx.pm"; pn: "bx.pn"; po: "bx.po"; pp: "bx.pp"; pq: "bx.pq"; pr: "bx.pr"; ps: "bx.ps"; pt: "bx.pt"; pu: "bx.pu"; pv: "bx.pv"; pw: "bx.pw"; px: "bx.px"; py: "bx.py"; pz: "bx.pz"; qa: "bx.qa"; qb: "bx.qb"; qc: "bx.qc"; qd: "bx.qd"; qe: "bx.qe"; qf: "bx.qf"; qg: "bx.qg"; qh: "bx.qh"; qi: "bx.qi"; qj: "bx.qj"; qk: "bx.qk"; ql: "bx.ql"; qm: "bx.qm"; qn: "bx.qn"; qo: "bx.qo"; qp: "bx.qp"; qq: "bx.qq"; qr: "bx.qr"; qs: "bx.qs"; qt: "bx.qt"; qu: "bx.qu"; qv: "bx.qv"; qw: "bx.qw"; qx: "bx.qx"; qy: "bx.qy"; qz: "bx.qz"; ra: "bx.ra"; rb: "bx.rb"; rc: "bx.rc"; rd: "bx.rd"; re: "bx.re"; rf: "bx.rf"; rg: "bx.rg"; rh: "bx.rh"; ri: "bx.ri"; rj: "bx.rj"; rk: "bx.rk"; rl: "bx.rl"; rm: "bx.rm"; rn: "bx.rn"; ro: "bx.ro"; rp: "bx.rp"; rq: "bx.rq"; rr: "bx.rr"; rs: "bx.rs"; rt: "bx.rt"; ru: "bx.ru"; rv: "bx.rv"; rw: "bx.rw"; rx: "bx.rx"; ry: "bx.ry"; rz: "bx.rz"; sa: "bx.sa"; sb: "bx.sb"; sc: "bx.sc"; sd: "bx.sd"; se: "bx.se"; sf: "bx.sf"; sg: "bx.sg"; sh: "bx.sh"; si: "bx.si"; sj: "bx.sj"; sk: "bx.sk"; sl: "bx.sl"; sm: "bx.sm"; sn: "bx.sn"; so: "bx.so"; sp: "bx.sp"; sq: "bx.sq"; sr: "bx.sr"; ss: "bx.ss"; st: "bx.st"; su: "bx.su"; sv: "bx.sv"; sw: "bx.sw"; sx: "bx.sx"; sy: "bx.sy"; sz: "bx.sz"; ta: "bx.ta"; tb: "bx.tb"; tc: "bx.tc"; td: "bx.td"; te: "bx.te"; tf: "bx.tf"; tg: "bx.tg"; th: "bx.th"; ti: "bx.ti"; tj: "bx.tj"; tk: "bx.tk"; tl: "bx.tl"; tm: "bx.tm"; tn: "bx.tn"; to: "bx.to"; tp: "bx.tp"; tq: "bx.tq"; tr: "bx.tr"; ts: "bx.ts"; tt: "bx.tt"; tu: "bx.tu"; tv: "bx.tv"; tw: "bx.tw"; tx: "bx.tx"; ty: "bx.ty"; tz: "bx.tz"; ua: "bx.ua"; ub: "bx.ub"; uc: "bx.uc"; ud: "bx.ud"; ue: "bx.ue"; uf: "bx.uf"; ug: "bx.ug"; uh: "bx.uh"; ui: "bx.ui"; uj: "bx.uj"; uk: "bx.uk"; ul: "bx.ul"; um: "bx.um"; un: "bx.un"; uo: "bx.uo"; up: "bx.up"; uq: "bx.uq"; ur: "bx.ur"; us: "bx.us"; ut: "bx.ut"; uu: "bx.uu"; uv: "bx.uv"; uw: "bx.uw"; ux: "bx.ux"; uy: "bx.uy"; uz: "bx.uz"; va: "bx.va"; vb: "bx.vb"; vc: "bx.vc"; vd: "bx.vd"; ve: "bx.ve"; vf: "bx.vf"; vg: "bx.vg"; vh: "bx.vh"; vi: "bx.vi"; vj: "bx.vj"; vk: "bx.vk"; vl: "bx.vl"; vm: "bx.vm"; vn: "bx.vn"; vo: "bx.vo"; vp: "bx.vp"; vq: "bx.vq"; vr: "bx.vr"; vs: "bx.vs"; vt: "bx.vt"; vu: "bx.vu"; vv: "bx.vv"; vw: "bx.vw"; vx: "bx.vx"; vy: "bx.vy"; vz: "bx.vz"; wa: "bx.wa"; wb: "bx.wb"; wc: "bx.wc"; wd: "bx.wd"; we: "bx.we"; wf: "bx.wf"; wg: "bx.wg"; wh: "bx.wh"; wi: "bx.wi"; wj: "bx.wj"; wk: "bx.wk"; wl: "bx.wl"; wm: "bx.wm"; wn: "bx.wn"; wo: "bx.wo"; wp: "bx.wp"; wq: "bx.wq"; wr: "bx.wr"; ws: "bx.ws"; wt: "bx.wt"; wu: "bx.wu"; wv: "bx.wv"; ww: "bx.ww"; wx: "bx.wx"; wy: "bx.wy"; wz: "bx.wz"; xa: "bx.xa"; xb: "bx.xb"; xc: "bx.xc"; xd: "bx.xd"; xe: "bx.xe"; xf: "bx.xf"; xg: "bx.xg"; xh: "bx.xh"; xi: "bx.xi"; xj: "bx.xj"; xk: "bx.xk"; xl: "bx.xl"; xm: "bx.xm"; xn: "bx.xn"; xo: "bx.xo"; xp: "bx.xp"; xq: "bx.xq"; xr: "bx.xr"; xs: "bx.xs"; xt: "bx.xt"; xu: "bx.xu"; xv: "bx.xv"; xw: "bx.xw"; xx: "bx.xx"; xy: "bx.xy"; xz: "bx.xz"; ya: "bx.ya"; yb: "bx.yb"; yc: "bx.yc"; yd: "bx.yd"; ye: "bx.ye"; yf: "bx.yf"; yg: "bx.yg"; yh: "bx.yh"; yi: "bx.yi"; yj: "bx.yj"; yk: "bx.yk"; yl: "bx.yl"; ym: "bx.ym"; yn: "bx.yn"; yo: "bx.yo"; yp: "bx.yp"; yq: "bx.yq"; yr: "bx.yr"; ys: "bx.ys"; yt: "bx.yt"; yu: "bx.yu"; yv: "bx.yv"; yw: "bx.yw"; yx: "bx.yx"; yy: "bx.yy"; yz: "bx.yz"; za: "bx.za"; zb: "bx.zb"; zc: "bx.zc"; zd: "bx.zd"; ze: "bx.ze"; zf: "bx.zf"; zg: "bx.zg"; zh: "bx.zh"; zi: "bx.zi"; zj: "bx.zj"; zk: "bx.zk"; zl: "bx.zl"; zm: "bx.zm"; zn: "bx.zn"; zo: "bx.zo"; zp: "bx.zp"; zq: "bx.zq"; zr: "bx.zr"; zs: "bx.zs"; zt: "bx.zt"; zu: "bx.zu"; zv: "bx.zv"; zw: "bx.zw"; zx: "bx.zx"; zy: "bx.zy"; zz: "bx.zz"; }; by: { aa: "by.aa"; ab: "by.ab"; ac: "by.ac"; ad: "by.ad"; ae: "by.ae"; af: "by.af"; ag: "by.ag"; ah: "by.ah"; ai: "by.ai"; aj: "by.aj"; ak: "by.ak"; al: "by.al"; am: "by.am"; an: "by.an"; ao: "by.ao"; ap: "by.ap"; aq: "by.aq"; ar: "by.ar"; as: "by.as"; at: "by.at"; au: "by.au"; av: "by.av"; aw: "by.aw"; ax: "by.ax"; ay: "by.ay"; az: "by.az"; ba: "by.ba"; bb: "by.bb"; bc: "by.bc"; bd: "by.bd"; be: "by.be"; bf: "by.bf"; bg: "by.bg"; bh: "by.bh"; bi: "by.bi"; bj: "by.bj"; bk: "by.bk"; bl: "by.bl"; bm: "by.bm"; bn: "by.bn"; bo: "by.bo"; bp: "by.bp"; bq: "by.bq"; br: "by.br"; bs: "by.bs"; bt: "by.bt"; bu: "by.bu"; bv: "by.bv"; bw: "by.bw"; bx: "by.bx"; by: "by.by"; bz: "by.bz"; ca: "by.ca"; cb: "by.cb"; cc: "by.cc"; cd: "by.cd"; ce: "by.ce"; cf: "by.cf"; cg: "by.cg"; ch: "by.ch"; ci: "by.ci"; cj: "by.cj"; ck: "by.ck"; cl: "by.cl"; cm: "by.cm"; cn: "by.cn"; co: "by.co"; cp: "by.cp"; cq: "by.cq"; cr: "by.cr"; cs: "by.cs"; ct: "by.ct"; cu: "by.cu"; cv: "by.cv"; cw: "by.cw"; cx: "by.cx"; cy: "by.cy"; cz: "by.cz"; da: "by.da"; db: "by.db"; dc: "by.dc"; dd: "by.dd"; de: "by.de"; df: "by.df"; dg: "by.dg"; dh: "by.dh"; di: "by.di"; dj: "by.dj"; dk: "by.dk"; dl: "by.dl"; dm: "by.dm"; dn: "by.dn"; do: "by.do"; dp: "by.dp"; dq: "by.dq"; dr: "by.dr"; ds: "by.ds"; dt: "by.dt"; du: "by.du"; dv: "by.dv"; dw: "by.dw"; dx: "by.dx"; dy: "by.dy"; dz: "by.dz"; ea: "by.ea"; eb: "by.eb"; ec: "by.ec"; ed: "by.ed"; ee: "by.ee"; ef: "by.ef"; eg: "by.eg"; eh: "by.eh"; ei: "by.ei"; ej: "by.ej"; ek: "by.ek"; el: "by.el"; em: "by.em"; en: "by.en"; eo: "by.eo"; ep: "by.ep"; eq: "by.eq"; er: "by.er"; es: "by.es"; et: "by.et"; eu: "by.eu"; ev: "by.ev"; ew: "by.ew"; ex: "by.ex"; ey: "by.ey"; ez: "by.ez"; fa: "by.fa"; fb: "by.fb"; fc: "by.fc"; fd: "by.fd"; fe: "by.fe"; ff: "by.ff"; fg: "by.fg"; fh: "by.fh"; fi: "by.fi"; fj: "by.fj"; fk: "by.fk"; fl: "by.fl"; fm: "by.fm"; fn: "by.fn"; fo: "by.fo"; fp: "by.fp"; fq: "by.fq"; fr: "by.fr"; fs: "by.fs"; ft: "by.ft"; fu: "by.fu"; fv: "by.fv"; fw: "by.fw"; fx: "by.fx"; fy: "by.fy"; fz: "by.fz"; ga: "by.ga"; gb: "by.gb"; gc: "by.gc"; gd: "by.gd"; ge: "by.ge"; gf: "by.gf"; gg: "by.gg"; gh: "by.gh"; gi: "by.gi"; gj: "by.gj"; gk: "by.gk"; gl: "by.gl"; gm: "by.gm"; gn: "by.gn"; go: "by.go"; gp: "by.gp"; gq: "by.gq"; gr: "by.gr"; gs: "by.gs"; gt: "by.gt"; gu: "by.gu"; gv: "by.gv"; gw: "by.gw"; gx: "by.gx"; gy: "by.gy"; gz: "by.gz"; ha: "by.ha"; hb: "by.hb"; hc: "by.hc"; hd: "by.hd"; he: "by.he"; hf: "by.hf"; hg: "by.hg"; hh: "by.hh"; hi: "by.hi"; hj: "by.hj"; hk: "by.hk"; hl: "by.hl"; hm: "by.hm"; hn: "by.hn"; ho: "by.ho"; hp: "by.hp"; hq: "by.hq"; hr: "by.hr"; hs: "by.hs"; ht: "by.ht"; hu: "by.hu"; hv: "by.hv"; hw: "by.hw"; hx: "by.hx"; hy: "by.hy"; hz: "by.hz"; ia: "by.ia"; ib: "by.ib"; ic: "by.ic"; id: "by.id"; ie: "by.ie"; if: "by.if"; ig: "by.ig"; ih: "by.ih"; ii: "by.ii"; ij: "by.ij"; ik: "by.ik"; il: "by.il"; im: "by.im"; in: "by.in"; io: "by.io"; ip: "by.ip"; iq: "by.iq"; ir: "by.ir"; is: "by.is"; it: "by.it"; iu: "by.iu"; iv: "by.iv"; iw: "by.iw"; ix: "by.ix"; iy: "by.iy"; iz: "by.iz"; ja: "by.ja"; jb: "by.jb"; jc: "by.jc"; jd: "by.jd"; je: "by.je"; jf: "by.jf"; jg: "by.jg"; jh: "by.jh"; ji: "by.ji"; jj: "by.jj"; jk: "by.jk"; jl: "by.jl"; jm: "by.jm"; jn: "by.jn"; jo: "by.jo"; jp: "by.jp"; jq: "by.jq"; jr: "by.jr"; js: "by.js"; jt: "by.jt"; ju: "by.ju"; jv: "by.jv"; jw: "by.jw"; jx: "by.jx"; jy: "by.jy"; jz: "by.jz"; ka: "by.ka"; kb: "by.kb"; kc: "by.kc"; kd: "by.kd"; ke: "by.ke"; kf: "by.kf"; kg: "by.kg"; kh: "by.kh"; ki: "by.ki"; kj: "by.kj"; kk: "by.kk"; kl: "by.kl"; km: "by.km"; kn: "by.kn"; ko: "by.ko"; kp: "by.kp"; kq: "by.kq"; kr: "by.kr"; ks: "by.ks"; kt: "by.kt"; ku: "by.ku"; kv: "by.kv"; kw: "by.kw"; kx: "by.kx"; ky: "by.ky"; kz: "by.kz"; la: "by.la"; lb: "by.lb"; lc: "by.lc"; ld: "by.ld"; le: "by.le"; lf: "by.lf"; lg: "by.lg"; lh: "by.lh"; li: "by.li"; lj: "by.lj"; lk: "by.lk"; ll: "by.ll"; lm: "by.lm"; ln: "by.ln"; lo: "by.lo"; lp: "by.lp"; lq: "by.lq"; lr: "by.lr"; ls: "by.ls"; lt: "by.lt"; lu: "by.lu"; lv: "by.lv"; lw: "by.lw"; lx: "by.lx"; ly: "by.ly"; lz: "by.lz"; ma: "by.ma"; mb: "by.mb"; mc: "by.mc"; md: "by.md"; me: "by.me"; mf: "by.mf"; mg: "by.mg"; mh: "by.mh"; mi: "by.mi"; mj: "by.mj"; mk: "by.mk"; ml: "by.ml"; mm: "by.mm"; mn: "by.mn"; mo: "by.mo"; mp: "by.mp"; mq: "by.mq"; mr: "by.mr"; ms: "by.ms"; mt: "by.mt"; mu: "by.mu"; mv: "by.mv"; mw: "by.mw"; mx: "by.mx"; my: "by.my"; mz: "by.mz"; na: "by.na"; nb: "by.nb"; nc: "by.nc"; nd: "by.nd"; ne: "by.ne"; nf: "by.nf"; ng: "by.ng"; nh: "by.nh"; ni: "by.ni"; nj: "by.nj"; nk: "by.nk"; nl: "by.nl"; nm: "by.nm"; nn: "by.nn"; no: "by.no"; np: "by.np"; nq: "by.nq"; nr: "by.nr"; ns: "by.ns"; nt: "by.nt"; nu: "by.nu"; nv: "by.nv"; nw: "by.nw"; nx: "by.nx"; ny: "by.ny"; nz: "by.nz"; oa: "by.oa"; ob: "by.ob"; oc: "by.oc"; od: "by.od"; oe: "by.oe"; of: "by.of"; og: "by.og"; oh: "by.oh"; oi: "by.oi"; oj: "by.oj"; ok: "by.ok"; ol: "by.ol"; om: "by.om"; on: "by.on"; oo: "by.oo"; op: "by.op"; oq: "by.oq"; or: "by.or"; os: "by.os"; ot: "by.ot"; ou: "by.ou"; ov: "by.ov"; ow: "by.ow"; ox: "by.ox"; oy: "by.oy"; oz: "by.oz"; pa: "by.pa"; pb: "by.pb"; pc: "by.pc"; pd: "by.pd"; pe: "by.pe"; pf: "by.pf"; pg: "by.pg"; ph: "by.ph"; pi: "by.pi"; pj: "by.pj"; pk: "by.pk"; pl: "by.pl"; pm: "by.pm"; pn: "by.pn"; po: "by.po"; pp: "by.pp"; pq: "by.pq"; pr: "by.pr"; ps: "by.ps"; pt: "by.pt"; pu: "by.pu"; pv: "by.pv"; pw: "by.pw"; px: "by.px"; py: "by.py"; pz: "by.pz"; qa: "by.qa"; qb: "by.qb"; qc: "by.qc"; qd: "by.qd"; qe: "by.qe"; qf: "by.qf"; qg: "by.qg"; qh: "by.qh"; qi: "by.qi"; qj: "by.qj"; qk: "by.qk"; ql: "by.ql"; qm: "by.qm"; qn: "by.qn"; qo: "by.qo"; qp: "by.qp"; qq: "by.qq"; qr: "by.qr"; qs: "by.qs"; qt: "by.qt"; qu: "by.qu"; qv: "by.qv"; qw: "by.qw"; qx: "by.qx"; qy: "by.qy"; qz: "by.qz"; ra: "by.ra"; rb: "by.rb"; rc: "by.rc"; rd: "by.rd"; re: "by.re"; rf: "by.rf"; rg: "by.rg"; rh: "by.rh"; ri: "by.ri"; rj: "by.rj"; rk: "by.rk"; rl: "by.rl"; rm: "by.rm"; rn: "by.rn"; ro: "by.ro"; rp: "by.rp"; rq: "by.rq"; rr: "by.rr"; rs: "by.rs"; rt: "by.rt"; ru: "by.ru"; rv: "by.rv"; rw: "by.rw"; rx: "by.rx"; ry: "by.ry"; rz: "by.rz"; sa: "by.sa"; sb: "by.sb"; sc: "by.sc"; sd: "by.sd"; se: "by.se"; sf: "by.sf"; sg: "by.sg"; sh: "by.sh"; si: "by.si"; sj: "by.sj"; sk: "by.sk"; sl: "by.sl"; sm: "by.sm"; sn: "by.sn"; so: "by.so"; sp: "by.sp"; sq: "by.sq"; sr: "by.sr"; ss: "by.ss"; st: "by.st"; su: "by.su"; sv: "by.sv"; sw: "by.sw"; sx: "by.sx"; sy: "by.sy"; sz: "by.sz"; ta: "by.ta"; tb: "by.tb"; tc: "by.tc"; td: "by.td"; te: "by.te"; tf: "by.tf"; tg: "by.tg"; th: "by.th"; ti: "by.ti"; tj: "by.tj"; tk: "by.tk"; tl: "by.tl"; tm: "by.tm"; tn: "by.tn"; to: "by.to"; tp: "by.tp"; tq: "by.tq"; tr: "by.tr"; ts: "by.ts"; tt: "by.tt"; tu: "by.tu"; tv: "by.tv"; tw: "by.tw"; tx: "by.tx"; ty: "by.ty"; tz: "by.tz"; ua: "by.ua"; ub: "by.ub"; uc: "by.uc"; ud: "by.ud"; ue: "by.ue"; uf: "by.uf"; ug: "by.ug"; uh: "by.uh"; ui: "by.ui"; uj: "by.uj"; uk: "by.uk"; ul: "by.ul"; um: "by.um"; un: "by.un"; uo: "by.uo"; up: "by.up"; uq: "by.uq"; ur: "by.ur"; us: "by.us"; ut: "by.ut"; uu: "by.uu"; uv: "by.uv"; uw: "by.uw"; ux: "by.ux"; uy: "by.uy"; uz: "by.uz"; va: "by.va"; vb: "by.vb"; vc: "by.vc"; vd: "by.vd"; ve: "by.ve"; vf: "by.vf"; vg: "by.vg"; vh: "by.vh"; vi: "by.vi"; vj: "by.vj"; vk: "by.vk"; vl: "by.vl"; vm: "by.vm"; vn: "by.vn"; vo: "by.vo"; vp: "by.vp"; vq: "by.vq"; vr: "by.vr"; vs: "by.vs"; vt: "by.vt"; vu: "by.vu"; vv: "by.vv"; vw: "by.vw"; vx: "by.vx"; vy: "by.vy"; vz: "by.vz"; wa: "by.wa"; wb: "by.wb"; wc: "by.wc"; wd: "by.wd"; we: "by.we"; wf: "by.wf"; wg: "by.wg"; wh: "by.wh"; wi: "by.wi"; wj: "by.wj"; wk: "by.wk"; wl: "by.wl"; wm: "by.wm"; wn: "by.wn"; wo: "by.wo"; wp: "by.wp"; wq: "by.wq"; wr: "by.wr"; ws: "by.ws"; wt: "by.wt"; wu: "by.wu"; wv: "by.wv"; ww: "by.ww"; wx: "by.wx"; wy: "by.wy"; wz: "by.wz"; xa: "by.xa"; xb: "by.xb"; xc: "by.xc"; xd: "by.xd"; xe: "by.xe"; xf: "by.xf"; xg: "by.xg"; xh: "by.xh"; xi: "by.xi"; xj: "by.xj"; xk: "by.xk"; xl: "by.xl"; xm: "by.xm"; xn: "by.xn"; xo: "by.xo"; xp: "by.xp"; xq: "by.xq"; xr: "by.xr"; xs: "by.xs"; xt: "by.xt"; xu: "by.xu"; xv: "by.xv"; xw: "by.xw"; xx: "by.xx"; xy: "by.xy"; xz: "by.xz"; ya: "by.ya"; yb: "by.yb"; yc: "by.yc"; yd: "by.yd"; ye: "by.ye"; yf: "by.yf"; yg: "by.yg"; yh: "by.yh"; yi: "by.yi"; yj: "by.yj"; yk: "by.yk"; yl: "by.yl"; ym: "by.ym"; yn: "by.yn"; yo: "by.yo"; yp: "by.yp"; yq: "by.yq"; yr: "by.yr"; ys: "by.ys"; yt: "by.yt"; yu: "by.yu"; yv: "by.yv"; yw: "by.yw"; yx: "by.yx"; yy: "by.yy"; yz: "by.yz"; za: "by.za"; zb: "by.zb"; zc: "by.zc"; zd: "by.zd"; ze: "by.ze"; zf: "by.zf"; zg: "by.zg"; zh: "by.zh"; zi: "by.zi"; zj: "by.zj"; zk: "by.zk"; zl: "by.zl"; zm: "by.zm"; zn: "by.zn"; zo: "by.zo"; zp: "by.zp"; zq: "by.zq"; zr: "by.zr"; zs: "by.zs"; zt: "by.zt"; zu: "by.zu"; zv: "by.zv"; zw: "by.zw"; zx: "by.zx"; zy: "by.zy"; zz: "by.zz"; }; bz: { aa: "bz.aa"; ab: "bz.ab"; ac: "bz.ac"; ad: "bz.ad"; ae: "bz.ae"; af: "bz.af"; ag: "bz.ag"; ah: "bz.ah"; ai: "bz.ai"; aj: "bz.aj"; ak: "bz.ak"; al: "bz.al"; am: "bz.am"; an: "bz.an"; ao: "bz.ao"; ap: "bz.ap"; aq: "bz.aq"; ar: "bz.ar"; as: "bz.as"; at: "bz.at"; au: "bz.au"; av: "bz.av"; aw: "bz.aw"; ax: "bz.ax"; ay: "bz.ay"; az: "bz.az"; ba: "bz.ba"; bb: "bz.bb"; bc: "bz.bc"; bd: "bz.bd"; be: "bz.be"; bf: "bz.bf"; bg: "bz.bg"; bh: "bz.bh"; bi: "bz.bi"; bj: "bz.bj"; bk: "bz.bk"; bl: "bz.bl"; bm: "bz.bm"; bn: "bz.bn"; bo: "bz.bo"; bp: "bz.bp"; bq: "bz.bq"; br: "bz.br"; bs: "bz.bs"; bt: "bz.bt"; bu: "bz.bu"; bv: "bz.bv"; bw: "bz.bw"; bx: "bz.bx"; by: "bz.by"; bz: "bz.bz"; ca: "bz.ca"; cb: "bz.cb"; cc: "bz.cc"; cd: "bz.cd"; ce: "bz.ce"; cf: "bz.cf"; cg: "bz.cg"; ch: "bz.ch"; ci: "bz.ci"; cj: "bz.cj"; ck: "bz.ck"; cl: "bz.cl"; cm: "bz.cm"; cn: "bz.cn"; co: "bz.co"; cp: "bz.cp"; cq: "bz.cq"; cr: "bz.cr"; cs: "bz.cs"; ct: "bz.ct"; cu: "bz.cu"; cv: "bz.cv"; cw: "bz.cw"; cx: "bz.cx"; cy: "bz.cy"; cz: "bz.cz"; da: "bz.da"; db: "bz.db"; dc: "bz.dc"; dd: "bz.dd"; de: "bz.de"; df: "bz.df"; dg: "bz.dg"; dh: "bz.dh"; di: "bz.di"; dj: "bz.dj"; dk: "bz.dk"; dl: "bz.dl"; dm: "bz.dm"; dn: "bz.dn"; do: "bz.do"; dp: "bz.dp"; dq: "bz.dq"; dr: "bz.dr"; ds: "bz.ds"; dt: "bz.dt"; du: "bz.du"; dv: "bz.dv"; dw: "bz.dw"; dx: "bz.dx"; dy: "bz.dy"; dz: "bz.dz"; ea: "bz.ea"; eb: "bz.eb"; ec: "bz.ec"; ed: "bz.ed"; ee: "bz.ee"; ef: "bz.ef"; eg: "bz.eg"; eh: "bz.eh"; ei: "bz.ei"; ej: "bz.ej"; ek: "bz.ek"; el: "bz.el"; em: "bz.em"; en: "bz.en"; eo: "bz.eo"; ep: "bz.ep"; eq: "bz.eq"; er: "bz.er"; es: "bz.es"; et: "bz.et"; eu: "bz.eu"; ev: "bz.ev"; ew: "bz.ew"; ex: "bz.ex"; ey: "bz.ey"; ez: "bz.ez"; fa: "bz.fa"; fb: "bz.fb"; fc: "bz.fc"; fd: "bz.fd"; fe: "bz.fe"; ff: "bz.ff"; fg: "bz.fg"; fh: "bz.fh"; fi: "bz.fi"; fj: "bz.fj"; fk: "bz.fk"; fl: "bz.fl"; fm: "bz.fm"; fn: "bz.fn"; fo: "bz.fo"; fp: "bz.fp"; fq: "bz.fq"; fr: "bz.fr"; fs: "bz.fs"; ft: "bz.ft"; fu: "bz.fu"; fv: "bz.fv"; fw: "bz.fw"; fx: "bz.fx"; fy: "bz.fy"; fz: "bz.fz"; ga: "bz.ga"; gb: "bz.gb"; gc: "bz.gc"; gd: "bz.gd"; ge: "bz.ge"; gf: "bz.gf"; gg: "bz.gg"; gh: "bz.gh"; gi: "bz.gi"; gj: "bz.gj"; gk: "bz.gk"; gl: "bz.gl"; gm: "bz.gm"; gn: "bz.gn"; go: "bz.go"; gp: "bz.gp"; gq: "bz.gq"; gr: "bz.gr"; gs: "bz.gs"; gt: "bz.gt"; gu: "bz.gu"; gv: "bz.gv"; gw: "bz.gw"; gx: "bz.gx"; gy: "bz.gy"; gz: "bz.gz"; ha: "bz.ha"; hb: "bz.hb"; hc: "bz.hc"; hd: "bz.hd"; he: "bz.he"; hf: "bz.hf"; hg: "bz.hg"; hh: "bz.hh"; hi: "bz.hi"; hj: "bz.hj"; hk: "bz.hk"; hl: "bz.hl"; hm: "bz.hm"; hn: "bz.hn"; ho: "bz.ho"; hp: "bz.hp"; hq: "bz.hq"; hr: "bz.hr"; hs: "bz.hs"; ht: "bz.ht"; hu: "bz.hu"; hv: "bz.hv"; hw: "bz.hw"; hx: "bz.hx"; hy: "bz.hy"; hz: "bz.hz"; ia: "bz.ia"; ib: "bz.ib"; ic: "bz.ic"; id: "bz.id"; ie: "bz.ie"; if: "bz.if"; ig: "bz.ig"; ih: "bz.ih"; ii: "bz.ii"; ij: "bz.ij"; ik: "bz.ik"; il: "bz.il"; im: "bz.im"; in: "bz.in"; io: "bz.io"; ip: "bz.ip"; iq: "bz.iq"; ir: "bz.ir"; is: "bz.is"; it: "bz.it"; iu: "bz.iu"; iv: "bz.iv"; iw: "bz.iw"; ix: "bz.ix"; iy: "bz.iy"; iz: "bz.iz"; ja: "bz.ja"; jb: "bz.jb"; jc: "bz.jc"; jd: "bz.jd"; je: "bz.je"; jf: "bz.jf"; jg: "bz.jg"; jh: "bz.jh"; ji: "bz.ji"; jj: "bz.jj"; jk: "bz.jk"; jl: "bz.jl"; jm: "bz.jm"; jn: "bz.jn"; jo: "bz.jo"; jp: "bz.jp"; jq: "bz.jq"; jr: "bz.jr"; js: "bz.js"; jt: "bz.jt"; ju: "bz.ju"; jv: "bz.jv"; jw: "bz.jw"; jx: "bz.jx"; jy: "bz.jy"; jz: "bz.jz"; ka: "bz.ka"; kb: "bz.kb"; kc: "bz.kc"; kd: "bz.kd"; ke: "bz.ke"; kf: "bz.kf"; kg: "bz.kg"; kh: "bz.kh"; ki: "bz.ki"; kj: "bz.kj"; kk: "bz.kk"; kl: "bz.kl"; km: "bz.km"; kn: "bz.kn"; ko: "bz.ko"; kp: "bz.kp"; kq: "bz.kq"; kr: "bz.kr"; ks: "bz.ks"; kt: "bz.kt"; ku: "bz.ku"; kv: "bz.kv"; kw: "bz.kw"; kx: "bz.kx"; ky: "bz.ky"; kz: "bz.kz"; la: "bz.la"; lb: "bz.lb"; lc: "bz.lc"; ld: "bz.ld"; le: "bz.le"; lf: "bz.lf"; lg: "bz.lg"; lh: "bz.lh"; li: "bz.li"; lj: "bz.lj"; lk: "bz.lk"; ll: "bz.ll"; lm: "bz.lm"; ln: "bz.ln"; lo: "bz.lo"; lp: "bz.lp"; lq: "bz.lq"; lr: "bz.lr"; ls: "bz.ls"; lt: "bz.lt"; lu: "bz.lu"; lv: "bz.lv"; lw: "bz.lw"; lx: "bz.lx"; ly: "bz.ly"; lz: "bz.lz"; ma: "bz.ma"; mb: "bz.mb"; mc: "bz.mc"; md: "bz.md"; me: "bz.me"; mf: "bz.mf"; mg: "bz.mg"; mh: "bz.mh"; mi: "bz.mi"; mj: "bz.mj"; mk: "bz.mk"; ml: "bz.ml"; mm: "bz.mm"; mn: "bz.mn"; mo: "bz.mo"; mp: "bz.mp"; mq: "bz.mq"; mr: "bz.mr"; ms: "bz.ms"; mt: "bz.mt"; mu: "bz.mu"; mv: "bz.mv"; mw: "bz.mw"; mx: "bz.mx"; my: "bz.my"; mz: "bz.mz"; na: "bz.na"; nb: "bz.nb"; nc: "bz.nc"; nd: "bz.nd"; ne: "bz.ne"; nf: "bz.nf"; ng: "bz.ng"; nh: "bz.nh"; ni: "bz.ni"; nj: "bz.nj"; nk: "bz.nk"; nl: "bz.nl"; nm: "bz.nm"; nn: "bz.nn"; no: "bz.no"; np: "bz.np"; nq: "bz.nq"; nr: "bz.nr"; ns: "bz.ns"; nt: "bz.nt"; nu: "bz.nu"; nv: "bz.nv"; nw: "bz.nw"; nx: "bz.nx"; ny: "bz.ny"; nz: "bz.nz"; oa: "bz.oa"; ob: "bz.ob"; oc: "bz.oc"; od: "bz.od"; oe: "bz.oe"; of: "bz.of"; og: "bz.og"; oh: "bz.oh"; oi: "bz.oi"; oj: "bz.oj"; ok: "bz.ok"; ol: "bz.ol"; om: "bz.om"; on: "bz.on"; oo: "bz.oo"; op: "bz.op"; oq: "bz.oq"; or: "bz.or"; os: "bz.os"; ot: "bz.ot"; ou: "bz.ou"; ov: "bz.ov"; ow: "bz.ow"; ox: "bz.ox"; oy: "bz.oy"; oz: "bz.oz"; pa: "bz.pa"; pb: "bz.pb"; pc: "bz.pc"; pd: "bz.pd"; pe: "bz.pe"; pf: "bz.pf"; pg: "bz.pg"; ph: "bz.ph"; pi: "bz.pi"; pj: "bz.pj"; pk: "bz.pk"; pl: "bz.pl"; pm: "bz.pm"; pn: "bz.pn"; po: "bz.po"; pp: "bz.pp"; pq: "bz.pq"; pr: "bz.pr"; ps: "bz.ps"; pt: "bz.pt"; pu: "bz.pu"; pv: "bz.pv"; pw: "bz.pw"; px: "bz.px"; py: "bz.py"; pz: "bz.pz"; qa: "bz.qa"; qb: "bz.qb"; qc: "bz.qc"; qd: "bz.qd"; qe: "bz.qe"; qf: "bz.qf"; qg: "bz.qg"; qh: "bz.qh"; qi: "bz.qi"; qj: "bz.qj"; qk: "bz.qk"; ql: "bz.ql"; qm: "bz.qm"; qn: "bz.qn"; qo: "bz.qo"; qp: "bz.qp"; qq: "bz.qq"; qr: "bz.qr"; qs: "bz.qs"; qt: "bz.qt"; qu: "bz.qu"; qv: "bz.qv"; qw: "bz.qw"; qx: "bz.qx"; qy: "bz.qy"; qz: "bz.qz"; ra: "bz.ra"; rb: "bz.rb"; rc: "bz.rc"; rd: "bz.rd"; re: "bz.re"; rf: "bz.rf"; rg: "bz.rg"; rh: "bz.rh"; ri: "bz.ri"; rj: "bz.rj"; rk: "bz.rk"; rl: "bz.rl"; rm: "bz.rm"; rn: "bz.rn"; ro: "bz.ro"; rp: "bz.rp"; rq: "bz.rq"; rr: "bz.rr"; rs: "bz.rs"; rt: "bz.rt"; ru: "bz.ru"; rv: "bz.rv"; rw: "bz.rw"; rx: "bz.rx"; ry: "bz.ry"; rz: "bz.rz"; sa: "bz.sa"; sb: "bz.sb"; sc: "bz.sc"; sd: "bz.sd"; se: "bz.se"; sf: "bz.sf"; sg: "bz.sg"; sh: "bz.sh"; si: "bz.si"; sj: "bz.sj"; sk: "bz.sk"; sl: "bz.sl"; sm: "bz.sm"; sn: "bz.sn"; so: "bz.so"; sp: "bz.sp"; sq: "bz.sq"; sr: "bz.sr"; ss: "bz.ss"; st: "bz.st"; su: "bz.su"; sv: "bz.sv"; sw: "bz.sw"; sx: "bz.sx"; sy: "bz.sy"; sz: "bz.sz"; ta: "bz.ta"; tb: "bz.tb"; tc: "bz.tc"; td: "bz.td"; te: "bz.te"; tf: "bz.tf"; tg: "bz.tg"; th: "bz.th"; ti: "bz.ti"; tj: "bz.tj"; tk: "bz.tk"; tl: "bz.tl"; tm: "bz.tm"; tn: "bz.tn"; to: "bz.to"; tp: "bz.tp"; tq: "bz.tq"; tr: "bz.tr"; ts: "bz.ts"; tt: "bz.tt"; tu: "bz.tu"; tv: "bz.tv"; tw: "bz.tw"; tx: "bz.tx"; ty: "bz.ty"; tz: "bz.tz"; ua: "bz.ua"; ub: "bz.ub"; uc: "bz.uc"; ud: "bz.ud"; ue: "bz.ue"; uf: "bz.uf"; ug: "bz.ug"; uh: "bz.uh"; ui: "bz.ui"; uj: "bz.uj"; uk: "bz.uk"; ul: "bz.ul"; um: "bz.um"; un: "bz.un"; uo: "bz.uo"; up: "bz.up"; uq: "bz.uq"; ur: "bz.ur"; us: "bz.us"; ut: "bz.ut"; uu: "bz.uu"; uv: "bz.uv"; uw: "bz.uw"; ux: "bz.ux"; uy: "bz.uy"; uz: "bz.uz"; va: "bz.va"; vb: "bz.vb"; vc: "bz.vc"; vd: "bz.vd"; ve: "bz.ve"; vf: "bz.vf"; vg: "bz.vg"; vh: "bz.vh"; vi: "bz.vi"; vj: "bz.vj"; vk: "bz.vk"; vl: "bz.vl"; vm: "bz.vm"; vn: "bz.vn"; vo: "bz.vo"; vp: "bz.vp"; vq: "bz.vq"; vr: "bz.vr"; vs: "bz.vs"; vt: "bz.vt"; vu: "bz.vu"; vv: "bz.vv"; vw: "bz.vw"; vx: "bz.vx"; vy: "bz.vy"; vz: "bz.vz"; wa: "bz.wa"; wb: "bz.wb"; wc: "bz.wc"; wd: "bz.wd"; we: "bz.we"; wf: "bz.wf"; wg: "bz.wg"; wh: "bz.wh"; wi: "bz.wi"; wj: "bz.wj"; wk: "bz.wk"; wl: "bz.wl"; wm: "bz.wm"; wn: "bz.wn"; wo: "bz.wo"; wp: "bz.wp"; wq: "bz.wq"; wr: "bz.wr"; ws: "bz.ws"; wt: "bz.wt"; wu: "bz.wu"; wv: "bz.wv"; ww: "bz.ww"; wx: "bz.wx"; wy: "bz.wy"; wz: "bz.wz"; xa: "bz.xa"; xb: "bz.xb"; xc: "bz.xc"; xd: "bz.xd"; xe: "bz.xe"; xf: "bz.xf"; xg: "bz.xg"; xh: "bz.xh"; xi: "bz.xi"; xj: "bz.xj"; xk: "bz.xk"; xl: "bz.xl"; xm: "bz.xm"; xn: "bz.xn"; xo: "bz.xo"; xp: "bz.xp"; xq: "bz.xq"; xr: "bz.xr"; xs: "bz.xs"; xt: "bz.xt"; xu: "bz.xu"; xv: "bz.xv"; xw: "bz.xw"; xx: "bz.xx"; xy: "bz.xy"; xz: "bz.xz"; ya: "bz.ya"; yb: "bz.yb"; yc: "bz.yc"; yd: "bz.yd"; ye: "bz.ye"; yf: "bz.yf"; yg: "bz.yg"; yh: "bz.yh"; yi: "bz.yi"; yj: "bz.yj"; yk: "bz.yk"; yl: "bz.yl"; ym: "bz.ym"; yn: "bz.yn"; yo: "bz.yo"; yp: "bz.yp"; yq: "bz.yq"; yr: "bz.yr"; ys: "bz.ys"; yt: "bz.yt"; yu: "bz.yu"; yv: "bz.yv"; yw: "bz.yw"; yx: "bz.yx"; yy: "bz.yy"; yz: "bz.yz"; za: "bz.za"; zb: "bz.zb"; zc: "bz.zc"; zd: "bz.zd"; ze: "bz.ze"; zf: "bz.zf"; zg: "bz.zg"; zh: "bz.zh"; zi: "bz.zi"; zj: "bz.zj"; zk: "bz.zk"; zl: "bz.zl"; zm: "bz.zm"; zn: "bz.zn"; zo: "bz.zo"; zp: "bz.zp"; zq: "bz.zq"; zr: "bz.zr"; zs: "bz.zs"; zt: "bz.zt"; zu: "bz.zu"; zv: "bz.zv"; zw: "bz.zw"; zx: "bz.zx"; zy: "bz.zy"; zz: "bz.zz"; }; ca: { aa: "ca.aa"; ab: "ca.ab"; ac: "ca.ac"; ad: "ca.ad"; ae: "ca.ae"; af: "ca.af"; ag: "ca.ag"; ah: "ca.ah"; ai: "ca.ai"; aj: "ca.aj"; ak: "ca.ak"; al: "ca.al"; am: "ca.am"; an: "ca.an"; ao: "ca.ao"; ap: "ca.ap"; aq: "ca.aq"; ar: "ca.ar"; as: "ca.as"; at: "ca.at"; au: "ca.au"; av: "ca.av"; aw: "ca.aw"; ax: "ca.ax"; ay: "ca.ay"; az: "ca.az"; ba: "ca.ba"; bb: "ca.bb"; bc: "ca.bc"; bd: "ca.bd"; be: "ca.be"; bf: "ca.bf"; bg: "ca.bg"; bh: "ca.bh"; bi: "ca.bi"; bj: "ca.bj"; bk: "ca.bk"; bl: "ca.bl"; bm: "ca.bm"; bn: "ca.bn"; bo: "ca.bo"; bp: "ca.bp"; bq: "ca.bq"; br: "ca.br"; bs: "ca.bs"; bt: "ca.bt"; bu: "ca.bu"; bv: "ca.bv"; bw: "ca.bw"; bx: "ca.bx"; by: "ca.by"; bz: "ca.bz"; ca: "ca.ca"; cb: "ca.cb"; cc: "ca.cc"; cd: "ca.cd"; ce: "ca.ce"; cf: "ca.cf"; cg: "ca.cg"; ch: "ca.ch"; ci: "ca.ci"; cj: "ca.cj"; ck: "ca.ck"; cl: "ca.cl"; cm: "ca.cm"; cn: "ca.cn"; co: "ca.co"; cp: "ca.cp"; cq: "ca.cq"; cr: "ca.cr"; cs: "ca.cs"; ct: "ca.ct"; cu: "ca.cu"; cv: "ca.cv"; cw: "ca.cw"; cx: "ca.cx"; cy: "ca.cy"; cz: "ca.cz"; da: "ca.da"; db: "ca.db"; dc: "ca.dc"; dd: "ca.dd"; de: "ca.de"; df: "ca.df"; dg: "ca.dg"; dh: "ca.dh"; di: "ca.di"; dj: "ca.dj"; dk: "ca.dk"; dl: "ca.dl"; dm: "ca.dm"; dn: "ca.dn"; do: "ca.do"; dp: "ca.dp"; dq: "ca.dq"; dr: "ca.dr"; ds: "ca.ds"; dt: "ca.dt"; du: "ca.du"; dv: "ca.dv"; dw: "ca.dw"; dx: "ca.dx"; dy: "ca.dy"; dz: "ca.dz"; ea: "ca.ea"; eb: "ca.eb"; ec: "ca.ec"; ed: "ca.ed"; ee: "ca.ee"; ef: "ca.ef"; eg: "ca.eg"; eh: "ca.eh"; ei: "ca.ei"; ej: "ca.ej"; ek: "ca.ek"; el: "ca.el"; em: "ca.em"; en: "ca.en"; eo: "ca.eo"; ep: "ca.ep"; eq: "ca.eq"; er: "ca.er"; es: "ca.es"; et: "ca.et"; eu: "ca.eu"; ev: "ca.ev"; ew: "ca.ew"; ex: "ca.ex"; ey: "ca.ey"; ez: "ca.ez"; fa: "ca.fa"; fb: "ca.fb"; fc: "ca.fc"; fd: "ca.fd"; fe: "ca.fe"; ff: "ca.ff"; fg: "ca.fg"; fh: "ca.fh"; fi: "ca.fi"; fj: "ca.fj"; fk: "ca.fk"; fl: "ca.fl"; fm: "ca.fm"; fn: "ca.fn"; fo: "ca.fo"; fp: "ca.fp"; fq: "ca.fq"; fr: "ca.fr"; fs: "ca.fs"; ft: "ca.ft"; fu: "ca.fu"; fv: "ca.fv"; fw: "ca.fw"; fx: "ca.fx"; fy: "ca.fy"; fz: "ca.fz"; ga: "ca.ga"; gb: "ca.gb"; gc: "ca.gc"; gd: "ca.gd"; ge: "ca.ge"; gf: "ca.gf"; gg: "ca.gg"; gh: "ca.gh"; gi: "ca.gi"; gj: "ca.gj"; gk: "ca.gk"; gl: "ca.gl"; gm: "ca.gm"; gn: "ca.gn"; go: "ca.go"; gp: "ca.gp"; gq: "ca.gq"; gr: "ca.gr"; gs: "ca.gs"; gt: "ca.gt"; gu: "ca.gu"; gv: "ca.gv"; gw: "ca.gw"; gx: "ca.gx"; gy: "ca.gy"; gz: "ca.gz"; ha: "ca.ha"; hb: "ca.hb"; hc: "ca.hc"; hd: "ca.hd"; he: "ca.he"; hf: "ca.hf"; hg: "ca.hg"; hh: "ca.hh"; hi: "ca.hi"; hj: "ca.hj"; hk: "ca.hk"; hl: "ca.hl"; hm: "ca.hm"; hn: "ca.hn"; ho: "ca.ho"; hp: "ca.hp"; hq: "ca.hq"; hr: "ca.hr"; hs: "ca.hs"; ht: "ca.ht"; hu: "ca.hu"; hv: "ca.hv"; hw: "ca.hw"; hx: "ca.hx"; hy: "ca.hy"; hz: "ca.hz"; ia: "ca.ia"; ib: "ca.ib"; ic: "ca.ic"; id: "ca.id"; ie: "ca.ie"; if: "ca.if"; ig: "ca.ig"; ih: "ca.ih"; ii: "ca.ii"; ij: "ca.ij"; ik: "ca.ik"; il: "ca.il"; im: "ca.im"; in: "ca.in"; io: "ca.io"; ip: "ca.ip"; iq: "ca.iq"; ir: "ca.ir"; is: "ca.is"; it: "ca.it"; iu: "ca.iu"; iv: "ca.iv"; iw: "ca.iw"; ix: "ca.ix"; iy: "ca.iy"; iz: "ca.iz"; ja: "ca.ja"; jb: "ca.jb"; jc: "ca.jc"; jd: "ca.jd"; je: "ca.je"; jf: "ca.jf"; jg: "ca.jg"; jh: "ca.jh"; ji: "ca.ji"; jj: "ca.jj"; jk: "ca.jk"; jl: "ca.jl"; jm: "ca.jm"; jn: "ca.jn"; jo: "ca.jo"; jp: "ca.jp"; jq: "ca.jq"; jr: "ca.jr"; js: "ca.js"; jt: "ca.jt"; ju: "ca.ju"; jv: "ca.jv"; jw: "ca.jw"; jx: "ca.jx"; jy: "ca.jy"; jz: "ca.jz"; ka: "ca.ka"; kb: "ca.kb"; kc: "ca.kc"; kd: "ca.kd"; ke: "ca.ke"; kf: "ca.kf"; kg: "ca.kg"; kh: "ca.kh"; ki: "ca.ki"; kj: "ca.kj"; kk: "ca.kk"; kl: "ca.kl"; km: "ca.km"; kn: "ca.kn"; ko: "ca.ko"; kp: "ca.kp"; kq: "ca.kq"; kr: "ca.kr"; ks: "ca.ks"; kt: "ca.kt"; ku: "ca.ku"; kv: "ca.kv"; kw: "ca.kw"; kx: "ca.kx"; ky: "ca.ky"; kz: "ca.kz"; la: "ca.la"; lb: "ca.lb"; lc: "ca.lc"; ld: "ca.ld"; le: "ca.le"; lf: "ca.lf"; lg: "ca.lg"; lh: "ca.lh"; li: "ca.li"; lj: "ca.lj"; lk: "ca.lk"; ll: "ca.ll"; lm: "ca.lm"; ln: "ca.ln"; lo: "ca.lo"; lp: "ca.lp"; lq: "ca.lq"; lr: "ca.lr"; ls: "ca.ls"; lt: "ca.lt"; lu: "ca.lu"; lv: "ca.lv"; lw: "ca.lw"; lx: "ca.lx"; ly: "ca.ly"; lz: "ca.lz"; ma: "ca.ma"; mb: "ca.mb"; mc: "ca.mc"; md: "ca.md"; me: "ca.me"; mf: "ca.mf"; mg: "ca.mg"; mh: "ca.mh"; mi: "ca.mi"; mj: "ca.mj"; mk: "ca.mk"; ml: "ca.ml"; mm: "ca.mm"; mn: "ca.mn"; mo: "ca.mo"; mp: "ca.mp"; mq: "ca.mq"; mr: "ca.mr"; ms: "ca.ms"; mt: "ca.mt"; mu: "ca.mu"; mv: "ca.mv"; mw: "ca.mw"; mx: "ca.mx"; my: "ca.my"; mz: "ca.mz"; na: "ca.na"; nb: "ca.nb"; nc: "ca.nc"; nd: "ca.nd"; ne: "ca.ne"; nf: "ca.nf"; ng: "ca.ng"; nh: "ca.nh"; ni: "ca.ni"; nj: "ca.nj"; nk: "ca.nk"; nl: "ca.nl"; nm: "ca.nm"; nn: "ca.nn"; no: "ca.no"; np: "ca.np"; nq: "ca.nq"; nr: "ca.nr"; ns: "ca.ns"; nt: "ca.nt"; nu: "ca.nu"; nv: "ca.nv"; nw: "ca.nw"; nx: "ca.nx"; ny: "ca.ny"; nz: "ca.nz"; oa: "ca.oa"; ob: "ca.ob"; oc: "ca.oc"; od: "ca.od"; oe: "ca.oe"; of: "ca.of"; og: "ca.og"; oh: "ca.oh"; oi: "ca.oi"; oj: "ca.oj"; ok: "ca.ok"; ol: "ca.ol"; om: "ca.om"; on: "ca.on"; oo: "ca.oo"; op: "ca.op"; oq: "ca.oq"; or: "ca.or"; os: "ca.os"; ot: "ca.ot"; ou: "ca.ou"; ov: "ca.ov"; ow: "ca.ow"; ox: "ca.ox"; oy: "ca.oy"; oz: "ca.oz"; pa: "ca.pa"; pb: "ca.pb"; pc: "ca.pc"; pd: "ca.pd"; pe: "ca.pe"; pf: "ca.pf"; pg: "ca.pg"; ph: "ca.ph"; pi: "ca.pi"; pj: "ca.pj"; pk: "ca.pk"; pl: "ca.pl"; pm: "ca.pm"; pn: "ca.pn"; po: "ca.po"; pp: "ca.pp"; pq: "ca.pq"; pr: "ca.pr"; ps: "ca.ps"; pt: "ca.pt"; pu: "ca.pu"; pv: "ca.pv"; pw: "ca.pw"; px: "ca.px"; py: "ca.py"; pz: "ca.pz"; qa: "ca.qa"; qb: "ca.qb"; qc: "ca.qc"; qd: "ca.qd"; qe: "ca.qe"; qf: "ca.qf"; qg: "ca.qg"; qh: "ca.qh"; qi: "ca.qi"; qj: "ca.qj"; qk: "ca.qk"; ql: "ca.ql"; qm: "ca.qm"; qn: "ca.qn"; qo: "ca.qo"; qp: "ca.qp"; qq: "ca.qq"; qr: "ca.qr"; qs: "ca.qs"; qt: "ca.qt"; qu: "ca.qu"; qv: "ca.qv"; qw: "ca.qw"; qx: "ca.qx"; qy: "ca.qy"; qz: "ca.qz"; ra: "ca.ra"; rb: "ca.rb"; rc: "ca.rc"; rd: "ca.rd"; re: "ca.re"; rf: "ca.rf"; rg: "ca.rg"; rh: "ca.rh"; ri: "ca.ri"; rj: "ca.rj"; rk: "ca.rk"; rl: "ca.rl"; rm: "ca.rm"; rn: "ca.rn"; ro: "ca.ro"; rp: "ca.rp"; rq: "ca.rq"; rr: "ca.rr"; rs: "ca.rs"; rt: "ca.rt"; ru: "ca.ru"; rv: "ca.rv"; rw: "ca.rw"; rx: "ca.rx"; ry: "ca.ry"; rz: "ca.rz"; sa: "ca.sa"; sb: "ca.sb"; sc: "ca.sc"; sd: "ca.sd"; se: "ca.se"; sf: "ca.sf"; sg: "ca.sg"; sh: "ca.sh"; si: "ca.si"; sj: "ca.sj"; sk: "ca.sk"; sl: "ca.sl"; sm: "ca.sm"; sn: "ca.sn"; so: "ca.so"; sp: "ca.sp"; sq: "ca.sq"; sr: "ca.sr"; ss: "ca.ss"; st: "ca.st"; su: "ca.su"; sv: "ca.sv"; sw: "ca.sw"; sx: "ca.sx"; sy: "ca.sy"; sz: "ca.sz"; ta: "ca.ta"; tb: "ca.tb"; tc: "ca.tc"; td: "ca.td"; te: "ca.te"; tf: "ca.tf"; tg: "ca.tg"; th: "ca.th"; ti: "ca.ti"; tj: "ca.tj"; tk: "ca.tk"; tl: "ca.tl"; tm: "ca.tm"; tn: "ca.tn"; to: "ca.to"; tp: "ca.tp"; tq: "ca.tq"; tr: "ca.tr"; ts: "ca.ts"; tt: "ca.tt"; tu: "ca.tu"; tv: "ca.tv"; tw: "ca.tw"; tx: "ca.tx"; ty: "ca.ty"; tz: "ca.tz"; ua: "ca.ua"; ub: "ca.ub"; uc: "ca.uc"; ud: "ca.ud"; ue: "ca.ue"; uf: "ca.uf"; ug: "ca.ug"; uh: "ca.uh"; ui: "ca.ui"; uj: "ca.uj"; uk: "ca.uk"; ul: "ca.ul"; um: "ca.um"; un: "ca.un"; uo: "ca.uo"; up: "ca.up"; uq: "ca.uq"; ur: "ca.ur"; us: "ca.us"; ut: "ca.ut"; uu: "ca.uu"; uv: "ca.uv"; uw: "ca.uw"; ux: "ca.ux"; uy: "ca.uy"; uz: "ca.uz"; va: "ca.va"; vb: "ca.vb"; vc: "ca.vc"; vd: "ca.vd"; ve: "ca.ve"; vf: "ca.vf"; vg: "ca.vg"; vh: "ca.vh"; vi: "ca.vi"; vj: "ca.vj"; vk: "ca.vk"; vl: "ca.vl"; vm: "ca.vm"; vn: "ca.vn"; vo: "ca.vo"; vp: "ca.vp"; vq: "ca.vq"; vr: "ca.vr"; vs: "ca.vs"; vt: "ca.vt"; vu: "ca.vu"; vv: "ca.vv"; vw: "ca.vw"; vx: "ca.vx"; vy: "ca.vy"; vz: "ca.vz"; wa: "ca.wa"; wb: "ca.wb"; wc: "ca.wc"; wd: "ca.wd"; we: "ca.we"; wf: "ca.wf"; wg: "ca.wg"; wh: "ca.wh"; wi: "ca.wi"; wj: "ca.wj"; wk: "ca.wk"; wl: "ca.wl"; wm: "ca.wm"; wn: "ca.wn"; wo: "ca.wo"; wp: "ca.wp"; wq: "ca.wq"; wr: "ca.wr"; ws: "ca.ws"; wt: "ca.wt"; wu: "ca.wu"; wv: "ca.wv"; ww: "ca.ww"; wx: "ca.wx"; wy: "ca.wy"; wz: "ca.wz"; xa: "ca.xa"; xb: "ca.xb"; xc: "ca.xc"; xd: "ca.xd"; xe: "ca.xe"; xf: "ca.xf"; xg: "ca.xg"; xh: "ca.xh"; xi: "ca.xi"; xj: "ca.xj"; xk: "ca.xk"; xl: "ca.xl"; xm: "ca.xm"; xn: "ca.xn"; xo: "ca.xo"; xp: "ca.xp"; xq: "ca.xq"; xr: "ca.xr"; xs: "ca.xs"; xt: "ca.xt"; xu: "ca.xu"; xv: "ca.xv"; xw: "ca.xw"; xx: "ca.xx"; xy: "ca.xy"; xz: "ca.xz"; ya: "ca.ya"; yb: "ca.yb"; yc: "ca.yc"; yd: "ca.yd"; ye: "ca.ye"; yf: "ca.yf"; yg: "ca.yg"; yh: "ca.yh"; yi: "ca.yi"; yj: "ca.yj"; yk: "ca.yk"; yl: "ca.yl"; ym: "ca.ym"; yn: "ca.yn"; yo: "ca.yo"; yp: "ca.yp"; yq: "ca.yq"; yr: "ca.yr"; ys: "ca.ys"; yt: "ca.yt"; yu: "ca.yu"; yv: "ca.yv"; yw: "ca.yw"; yx: "ca.yx"; yy: "ca.yy"; yz: "ca.yz"; za: "ca.za"; zb: "ca.zb"; zc: "ca.zc"; zd: "ca.zd"; ze: "ca.ze"; zf: "ca.zf"; zg: "ca.zg"; zh: "ca.zh"; zi: "ca.zi"; zj: "ca.zj"; zk: "ca.zk"; zl: "ca.zl"; zm: "ca.zm"; zn: "ca.zn"; zo: "ca.zo"; zp: "ca.zp"; zq: "ca.zq"; zr: "ca.zr"; zs: "ca.zs"; zt: "ca.zt"; zu: "ca.zu"; zv: "ca.zv"; zw: "ca.zw"; zx: "ca.zx"; zy: "ca.zy"; zz: "ca.zz"; }; cb: { aa: "cb.aa"; ab: "cb.ab"; ac: "cb.ac"; ad: "cb.ad"; ae: "cb.ae"; af: "cb.af"; ag: "cb.ag"; ah: "cb.ah"; ai: "cb.ai"; aj: "cb.aj"; ak: "cb.ak"; al: "cb.al"; am: "cb.am"; an: "cb.an"; ao: "cb.ao"; ap: "cb.ap"; aq: "cb.aq"; ar: "cb.ar"; as: "cb.as"; at: "cb.at"; au: "cb.au"; av: "cb.av"; aw: "cb.aw"; ax: "cb.ax"; ay: "cb.ay"; az: "cb.az"; ba: "cb.ba"; bb: "cb.bb"; bc: "cb.bc"; bd: "cb.bd"; be: "cb.be"; bf: "cb.bf"; bg: "cb.bg"; bh: "cb.bh"; bi: "cb.bi"; bj: "cb.bj"; bk: "cb.bk"; bl: "cb.bl"; bm: "cb.bm"; bn: "cb.bn"; bo: "cb.bo"; bp: "cb.bp"; bq: "cb.bq"; br: "cb.br"; bs: "cb.bs"; bt: "cb.bt"; bu: "cb.bu"; bv: "cb.bv"; bw: "cb.bw"; bx: "cb.bx"; by: "cb.by"; bz: "cb.bz"; ca: "cb.ca"; cb: "cb.cb"; cc: "cb.cc"; cd: "cb.cd"; ce: "cb.ce"; cf: "cb.cf"; cg: "cb.cg"; ch: "cb.ch"; ci: "cb.ci"; cj: "cb.cj"; ck: "cb.ck"; cl: "cb.cl"; cm: "cb.cm"; cn: "cb.cn"; co: "cb.co"; cp: "cb.cp"; cq: "cb.cq"; cr: "cb.cr"; cs: "cb.cs"; ct: "cb.ct"; cu: "cb.cu"; cv: "cb.cv"; cw: "cb.cw"; cx: "cb.cx"; cy: "cb.cy"; cz: "cb.cz"; da: "cb.da"; db: "cb.db"; dc: "cb.dc"; dd: "cb.dd"; de: "cb.de"; df: "cb.df"; dg: "cb.dg"; dh: "cb.dh"; di: "cb.di"; dj: "cb.dj"; dk: "cb.dk"; dl: "cb.dl"; dm: "cb.dm"; dn: "cb.dn"; do: "cb.do"; dp: "cb.dp"; dq: "cb.dq"; dr: "cb.dr"; ds: "cb.ds"; dt: "cb.dt"; du: "cb.du"; dv: "cb.dv"; dw: "cb.dw"; dx: "cb.dx"; dy: "cb.dy"; dz: "cb.dz"; ea: "cb.ea"; eb: "cb.eb"; ec: "cb.ec"; ed: "cb.ed"; ee: "cb.ee"; ef: "cb.ef"; eg: "cb.eg"; eh: "cb.eh"; ei: "cb.ei"; ej: "cb.ej"; ek: "cb.ek"; el: "cb.el"; em: "cb.em"; en: "cb.en"; eo: "cb.eo"; ep: "cb.ep"; eq: "cb.eq"; er: "cb.er"; es: "cb.es"; et: "cb.et"; eu: "cb.eu"; ev: "cb.ev"; ew: "cb.ew"; ex: "cb.ex"; ey: "cb.ey"; ez: "cb.ez"; fa: "cb.fa"; fb: "cb.fb"; fc: "cb.fc"; fd: "cb.fd"; fe: "cb.fe"; ff: "cb.ff"; fg: "cb.fg"; fh: "cb.fh"; fi: "cb.fi"; fj: "cb.fj"; fk: "cb.fk"; fl: "cb.fl"; fm: "cb.fm"; fn: "cb.fn"; fo: "cb.fo"; fp: "cb.fp"; fq: "cb.fq"; fr: "cb.fr"; fs: "cb.fs"; ft: "cb.ft"; fu: "cb.fu"; fv: "cb.fv"; fw: "cb.fw"; fx: "cb.fx"; fy: "cb.fy"; fz: "cb.fz"; ga: "cb.ga"; gb: "cb.gb"; gc: "cb.gc"; gd: "cb.gd"; ge: "cb.ge"; gf: "cb.gf"; gg: "cb.gg"; gh: "cb.gh"; gi: "cb.gi"; gj: "cb.gj"; gk: "cb.gk"; gl: "cb.gl"; gm: "cb.gm"; gn: "cb.gn"; go: "cb.go"; gp: "cb.gp"; gq: "cb.gq"; gr: "cb.gr"; gs: "cb.gs"; gt: "cb.gt"; gu: "cb.gu"; gv: "cb.gv"; gw: "cb.gw"; gx: "cb.gx"; gy: "cb.gy"; gz: "cb.gz"; ha: "cb.ha"; hb: "cb.hb"; hc: "cb.hc"; hd: "cb.hd"; he: "cb.he"; hf: "cb.hf"; hg: "cb.hg"; hh: "cb.hh"; hi: "cb.hi"; hj: "cb.hj"; hk: "cb.hk"; hl: "cb.hl"; hm: "cb.hm"; hn: "cb.hn"; ho: "cb.ho"; hp: "cb.hp"; hq: "cb.hq"; hr: "cb.hr"; hs: "cb.hs"; ht: "cb.ht"; hu: "cb.hu"; hv: "cb.hv"; hw: "cb.hw"; hx: "cb.hx"; hy: "cb.hy"; hz: "cb.hz"; ia: "cb.ia"; ib: "cb.ib"; ic: "cb.ic"; id: "cb.id"; ie: "cb.ie"; if: "cb.if"; ig: "cb.ig"; ih: "cb.ih"; ii: "cb.ii"; ij: "cb.ij"; ik: "cb.ik"; il: "cb.il"; im: "cb.im"; in: "cb.in"; io: "cb.io"; ip: "cb.ip"; iq: "cb.iq"; ir: "cb.ir"; is: "cb.is"; it: "cb.it"; iu: "cb.iu"; iv: "cb.iv"; iw: "cb.iw"; ix: "cb.ix"; iy: "cb.iy"; iz: "cb.iz"; ja: "cb.ja"; jb: "cb.jb"; jc: "cb.jc"; jd: "cb.jd"; je: "cb.je"; jf: "cb.jf"; jg: "cb.jg"; jh: "cb.jh"; ji: "cb.ji"; jj: "cb.jj"; jk: "cb.jk"; jl: "cb.jl"; jm: "cb.jm"; jn: "cb.jn"; jo: "cb.jo"; jp: "cb.jp"; jq: "cb.jq"; jr: "cb.jr"; js: "cb.js"; jt: "cb.jt"; ju: "cb.ju"; jv: "cb.jv"; jw: "cb.jw"; jx: "cb.jx"; jy: "cb.jy"; jz: "cb.jz"; ka: "cb.ka"; kb: "cb.kb"; kc: "cb.kc"; kd: "cb.kd"; ke: "cb.ke"; kf: "cb.kf"; kg: "cb.kg"; kh: "cb.kh"; ki: "cb.ki"; kj: "cb.kj"; kk: "cb.kk"; kl: "cb.kl"; km: "cb.km"; kn: "cb.kn"; ko: "cb.ko"; kp: "cb.kp"; kq: "cb.kq"; kr: "cb.kr"; ks: "cb.ks"; kt: "cb.kt"; ku: "cb.ku"; kv: "cb.kv"; kw: "cb.kw"; kx: "cb.kx"; ky: "cb.ky"; kz: "cb.kz"; la: "cb.la"; lb: "cb.lb"; lc: "cb.lc"; ld: "cb.ld"; le: "cb.le"; lf: "cb.lf"; lg: "cb.lg"; lh: "cb.lh"; li: "cb.li"; lj: "cb.lj"; lk: "cb.lk"; ll: "cb.ll"; lm: "cb.lm"; ln: "cb.ln"; lo: "cb.lo"; lp: "cb.lp"; lq: "cb.lq"; lr: "cb.lr"; ls: "cb.ls"; lt: "cb.lt"; lu: "cb.lu"; lv: "cb.lv"; lw: "cb.lw"; lx: "cb.lx"; ly: "cb.ly"; lz: "cb.lz"; ma: "cb.ma"; mb: "cb.mb"; mc: "cb.mc"; md: "cb.md"; me: "cb.me"; mf: "cb.mf"; mg: "cb.mg"; mh: "cb.mh"; mi: "cb.mi"; mj: "cb.mj"; mk: "cb.mk"; ml: "cb.ml"; mm: "cb.mm"; mn: "cb.mn"; mo: "cb.mo"; mp: "cb.mp"; mq: "cb.mq"; mr: "cb.mr"; ms: "cb.ms"; mt: "cb.mt"; mu: "cb.mu"; mv: "cb.mv"; mw: "cb.mw"; mx: "cb.mx"; my: "cb.my"; mz: "cb.mz"; na: "cb.na"; nb: "cb.nb"; nc: "cb.nc"; nd: "cb.nd"; ne: "cb.ne"; nf: "cb.nf"; ng: "cb.ng"; nh: "cb.nh"; ni: "cb.ni"; nj: "cb.nj"; nk: "cb.nk"; nl: "cb.nl"; nm: "cb.nm"; nn: "cb.nn"; no: "cb.no"; np: "cb.np"; nq: "cb.nq"; nr: "cb.nr"; ns: "cb.ns"; nt: "cb.nt"; nu: "cb.nu"; nv: "cb.nv"; nw: "cb.nw"; nx: "cb.nx"; ny: "cb.ny"; nz: "cb.nz"; oa: "cb.oa"; ob: "cb.ob"; oc: "cb.oc"; od: "cb.od"; oe: "cb.oe"; of: "cb.of"; og: "cb.og"; oh: "cb.oh"; oi: "cb.oi"; oj: "cb.oj"; ok: "cb.ok"; ol: "cb.ol"; om: "cb.om"; on: "cb.on"; oo: "cb.oo"; op: "cb.op"; oq: "cb.oq"; or: "cb.or"; os: "cb.os"; ot: "cb.ot"; ou: "cb.ou"; ov: "cb.ov"; ow: "cb.ow"; ox: "cb.ox"; oy: "cb.oy"; oz: "cb.oz"; pa: "cb.pa"; pb: "cb.pb"; pc: "cb.pc"; pd: "cb.pd"; pe: "cb.pe"; pf: "cb.pf"; pg: "cb.pg"; ph: "cb.ph"; pi: "cb.pi"; pj: "cb.pj"; pk: "cb.pk"; pl: "cb.pl"; pm: "cb.pm"; pn: "cb.pn"; po: "cb.po"; pp: "cb.pp"; pq: "cb.pq"; pr: "cb.pr"; ps: "cb.ps"; pt: "cb.pt"; pu: "cb.pu"; pv: "cb.pv"; pw: "cb.pw"; px: "cb.px"; py: "cb.py"; pz: "cb.pz"; qa: "cb.qa"; qb: "cb.qb"; qc: "cb.qc"; qd: "cb.qd"; qe: "cb.qe"; qf: "cb.qf"; qg: "cb.qg"; qh: "cb.qh"; qi: "cb.qi"; qj: "cb.qj"; qk: "cb.qk"; ql: "cb.ql"; qm: "cb.qm"; qn: "cb.qn"; qo: "cb.qo"; qp: "cb.qp"; qq: "cb.qq"; qr: "cb.qr"; qs: "cb.qs"; qt: "cb.qt"; qu: "cb.qu"; qv: "cb.qv"; qw: "cb.qw"; qx: "cb.qx"; qy: "cb.qy"; qz: "cb.qz"; ra: "cb.ra"; rb: "cb.rb"; rc: "cb.rc"; rd: "cb.rd"; re: "cb.re"; rf: "cb.rf"; rg: "cb.rg"; rh: "cb.rh"; ri: "cb.ri"; rj: "cb.rj"; rk: "cb.rk"; rl: "cb.rl"; rm: "cb.rm"; rn: "cb.rn"; ro: "cb.ro"; rp: "cb.rp"; rq: "cb.rq"; rr: "cb.rr"; rs: "cb.rs"; rt: "cb.rt"; ru: "cb.ru"; rv: "cb.rv"; rw: "cb.rw"; rx: "cb.rx"; ry: "cb.ry"; rz: "cb.rz"; sa: "cb.sa"; sb: "cb.sb"; sc: "cb.sc"; sd: "cb.sd"; se: "cb.se"; sf: "cb.sf"; sg: "cb.sg"; sh: "cb.sh"; si: "cb.si"; sj: "cb.sj"; sk: "cb.sk"; sl: "cb.sl"; sm: "cb.sm"; sn: "cb.sn"; so: "cb.so"; sp: "cb.sp"; sq: "cb.sq"; sr: "cb.sr"; ss: "cb.ss"; st: "cb.st"; su: "cb.su"; sv: "cb.sv"; sw: "cb.sw"; sx: "cb.sx"; sy: "cb.sy"; sz: "cb.sz"; ta: "cb.ta"; tb: "cb.tb"; tc: "cb.tc"; td: "cb.td"; te: "cb.te"; tf: "cb.tf"; tg: "cb.tg"; th: "cb.th"; ti: "cb.ti"; tj: "cb.tj"; tk: "cb.tk"; tl: "cb.tl"; tm: "cb.tm"; tn: "cb.tn"; to: "cb.to"; tp: "cb.tp"; tq: "cb.tq"; tr: "cb.tr"; ts: "cb.ts"; tt: "cb.tt"; tu: "cb.tu"; tv: "cb.tv"; tw: "cb.tw"; tx: "cb.tx"; ty: "cb.ty"; tz: "cb.tz"; ua: "cb.ua"; ub: "cb.ub"; uc: "cb.uc"; ud: "cb.ud"; ue: "cb.ue"; uf: "cb.uf"; ug: "cb.ug"; uh: "cb.uh"; ui: "cb.ui"; uj: "cb.uj"; uk: "cb.uk"; ul: "cb.ul"; um: "cb.um"; un: "cb.un"; uo: "cb.uo"; up: "cb.up"; uq: "cb.uq"; ur: "cb.ur"; us: "cb.us"; ut: "cb.ut"; uu: "cb.uu"; uv: "cb.uv"; uw: "cb.uw"; ux: "cb.ux"; uy: "cb.uy"; uz: "cb.uz"; va: "cb.va"; vb: "cb.vb"; vc: "cb.vc"; vd: "cb.vd"; ve: "cb.ve"; vf: "cb.vf"; vg: "cb.vg"; vh: "cb.vh"; vi: "cb.vi"; vj: "cb.vj"; vk: "cb.vk"; vl: "cb.vl"; vm: "cb.vm"; vn: "cb.vn"; vo: "cb.vo"; vp: "cb.vp"; vq: "cb.vq"; vr: "cb.vr"; vs: "cb.vs"; vt: "cb.vt"; vu: "cb.vu"; vv: "cb.vv"; vw: "cb.vw"; vx: "cb.vx"; vy: "cb.vy"; vz: "cb.vz"; wa: "cb.wa"; wb: "cb.wb"; wc: "cb.wc"; wd: "cb.wd"; we: "cb.we"; wf: "cb.wf"; wg: "cb.wg"; wh: "cb.wh"; wi: "cb.wi"; wj: "cb.wj"; wk: "cb.wk"; wl: "cb.wl"; wm: "cb.wm"; wn: "cb.wn"; wo: "cb.wo"; wp: "cb.wp"; wq: "cb.wq"; wr: "cb.wr"; ws: "cb.ws"; wt: "cb.wt"; wu: "cb.wu"; wv: "cb.wv"; ww: "cb.ww"; wx: "cb.wx"; wy: "cb.wy"; wz: "cb.wz"; xa: "cb.xa"; xb: "cb.xb"; xc: "cb.xc"; xd: "cb.xd"; xe: "cb.xe"; xf: "cb.xf"; xg: "cb.xg"; xh: "cb.xh"; xi: "cb.xi"; xj: "cb.xj"; xk: "cb.xk"; xl: "cb.xl"; xm: "cb.xm"; xn: "cb.xn"; xo: "cb.xo"; xp: "cb.xp"; xq: "cb.xq"; xr: "cb.xr"; xs: "cb.xs"; xt: "cb.xt"; xu: "cb.xu"; xv: "cb.xv"; xw: "cb.xw"; xx: "cb.xx"; xy: "cb.xy"; xz: "cb.xz"; ya: "cb.ya"; yb: "cb.yb"; yc: "cb.yc"; yd: "cb.yd"; ye: "cb.ye"; yf: "cb.yf"; yg: "cb.yg"; yh: "cb.yh"; yi: "cb.yi"; yj: "cb.yj"; yk: "cb.yk"; yl: "cb.yl"; ym: "cb.ym"; yn: "cb.yn"; yo: "cb.yo"; yp: "cb.yp"; yq: "cb.yq"; yr: "cb.yr"; ys: "cb.ys"; yt: "cb.yt"; yu: "cb.yu"; yv: "cb.yv"; yw: "cb.yw"; yx: "cb.yx"; yy: "cb.yy"; yz: "cb.yz"; za: "cb.za"; zb: "cb.zb"; zc: "cb.zc"; zd: "cb.zd"; ze: "cb.ze"; zf: "cb.zf"; zg: "cb.zg"; zh: "cb.zh"; zi: "cb.zi"; zj: "cb.zj"; zk: "cb.zk"; zl: "cb.zl"; zm: "cb.zm"; zn: "cb.zn"; zo: "cb.zo"; zp: "cb.zp"; zq: "cb.zq"; zr: "cb.zr"; zs: "cb.zs"; zt: "cb.zt"; zu: "cb.zu"; zv: "cb.zv"; zw: "cb.zw"; zx: "cb.zx"; zy: "cb.zy"; zz: "cb.zz"; }; cc: { aa: "cc.aa"; ab: "cc.ab"; ac: "cc.ac"; ad: "cc.ad"; ae: "cc.ae"; af: "cc.af"; ag: "cc.ag"; ah: "cc.ah"; ai: "cc.ai"; aj: "cc.aj"; ak: "cc.ak"; al: "cc.al"; am: "cc.am"; an: "cc.an"; ao: "cc.ao"; ap: "cc.ap"; aq: "cc.aq"; ar: "cc.ar"; as: "cc.as"; at: "cc.at"; au: "cc.au"; av: "cc.av"; aw: "cc.aw"; ax: "cc.ax"; ay: "cc.ay"; az: "cc.az"; ba: "cc.ba"; bb: "cc.bb"; bc: "cc.bc"; bd: "cc.bd"; be: "cc.be"; bf: "cc.bf"; bg: "cc.bg"; bh: "cc.bh"; bi: "cc.bi"; bj: "cc.bj"; bk: "cc.bk"; bl: "cc.bl"; bm: "cc.bm"; bn: "cc.bn"; bo: "cc.bo"; bp: "cc.bp"; bq: "cc.bq"; br: "cc.br"; bs: "cc.bs"; bt: "cc.bt"; bu: "cc.bu"; bv: "cc.bv"; bw: "cc.bw"; bx: "cc.bx"; by: "cc.by"; bz: "cc.bz"; ca: "cc.ca"; cb: "cc.cb"; cc: "cc.cc"; cd: "cc.cd"; ce: "cc.ce"; cf: "cc.cf"; cg: "cc.cg"; ch: "cc.ch"; ci: "cc.ci"; cj: "cc.cj"; ck: "cc.ck"; cl: "cc.cl"; cm: "cc.cm"; cn: "cc.cn"; co: "cc.co"; cp: "cc.cp"; cq: "cc.cq"; cr: "cc.cr"; cs: "cc.cs"; ct: "cc.ct"; cu: "cc.cu"; cv: "cc.cv"; cw: "cc.cw"; cx: "cc.cx"; cy: "cc.cy"; cz: "cc.cz"; da: "cc.da"; db: "cc.db"; dc: "cc.dc"; dd: "cc.dd"; de: "cc.de"; df: "cc.df"; dg: "cc.dg"; dh: "cc.dh"; di: "cc.di"; dj: "cc.dj"; dk: "cc.dk"; dl: "cc.dl"; dm: "cc.dm"; dn: "cc.dn"; do: "cc.do"; dp: "cc.dp"; dq: "cc.dq"; dr: "cc.dr"; ds: "cc.ds"; dt: "cc.dt"; du: "cc.du"; dv: "cc.dv"; dw: "cc.dw"; dx: "cc.dx"; dy: "cc.dy"; dz: "cc.dz"; ea: "cc.ea"; eb: "cc.eb"; ec: "cc.ec"; ed: "cc.ed"; ee: "cc.ee"; ef: "cc.ef"; eg: "cc.eg"; eh: "cc.eh"; ei: "cc.ei"; ej: "cc.ej"; ek: "cc.ek"; el: "cc.el"; em: "cc.em"; en: "cc.en"; eo: "cc.eo"; ep: "cc.ep"; eq: "cc.eq"; er: "cc.er"; es: "cc.es"; et: "cc.et"; eu: "cc.eu"; ev: "cc.ev"; ew: "cc.ew"; ex: "cc.ex"; ey: "cc.ey"; ez: "cc.ez"; fa: "cc.fa"; fb: "cc.fb"; fc: "cc.fc"; fd: "cc.fd"; fe: "cc.fe"; ff: "cc.ff"; fg: "cc.fg"; fh: "cc.fh"; fi: "cc.fi"; fj: "cc.fj"; fk: "cc.fk"; fl: "cc.fl"; fm: "cc.fm"; fn: "cc.fn"; fo: "cc.fo"; fp: "cc.fp"; fq: "cc.fq"; fr: "cc.fr"; fs: "cc.fs"; ft: "cc.ft"; fu: "cc.fu"; fv: "cc.fv"; fw: "cc.fw"; fx: "cc.fx"; fy: "cc.fy"; fz: "cc.fz"; ga: "cc.ga"; gb: "cc.gb"; gc: "cc.gc"; gd: "cc.gd"; ge: "cc.ge"; gf: "cc.gf"; gg: "cc.gg"; gh: "cc.gh"; gi: "cc.gi"; gj: "cc.gj"; gk: "cc.gk"; gl: "cc.gl"; gm: "cc.gm"; gn: "cc.gn"; go: "cc.go"; gp: "cc.gp"; gq: "cc.gq"; gr: "cc.gr"; gs: "cc.gs"; gt: "cc.gt"; gu: "cc.gu"; gv: "cc.gv"; gw: "cc.gw"; gx: "cc.gx"; gy: "cc.gy"; gz: "cc.gz"; ha: "cc.ha"; hb: "cc.hb"; hc: "cc.hc"; hd: "cc.hd"; he: "cc.he"; hf: "cc.hf"; hg: "cc.hg"; hh: "cc.hh"; hi: "cc.hi"; hj: "cc.hj"; hk: "cc.hk"; hl: "cc.hl"; hm: "cc.hm"; hn: "cc.hn"; ho: "cc.ho"; hp: "cc.hp"; hq: "cc.hq"; hr: "cc.hr"; hs: "cc.hs"; ht: "cc.ht"; hu: "cc.hu"; hv: "cc.hv"; hw: "cc.hw"; hx: "cc.hx"; hy: "cc.hy"; hz: "cc.hz"; ia: "cc.ia"; ib: "cc.ib"; ic: "cc.ic"; id: "cc.id"; ie: "cc.ie"; if: "cc.if"; ig: "cc.ig"; ih: "cc.ih"; ii: "cc.ii"; ij: "cc.ij"; ik: "cc.ik"; il: "cc.il"; im: "cc.im"; in: "cc.in"; io: "cc.io"; ip: "cc.ip"; iq: "cc.iq"; ir: "cc.ir"; is: "cc.is"; it: "cc.it"; iu: "cc.iu"; iv: "cc.iv"; iw: "cc.iw"; ix: "cc.ix"; iy: "cc.iy"; iz: "cc.iz"; ja: "cc.ja"; jb: "cc.jb"; jc: "cc.jc"; jd: "cc.jd"; je: "cc.je"; jf: "cc.jf"; jg: "cc.jg"; jh: "cc.jh"; ji: "cc.ji"; jj: "cc.jj"; jk: "cc.jk"; jl: "cc.jl"; jm: "cc.jm"; jn: "cc.jn"; jo: "cc.jo"; jp: "cc.jp"; jq: "cc.jq"; jr: "cc.jr"; js: "cc.js"; jt: "cc.jt"; ju: "cc.ju"; jv: "cc.jv"; jw: "cc.jw"; jx: "cc.jx"; jy: "cc.jy"; jz: "cc.jz"; ka: "cc.ka"; kb: "cc.kb"; kc: "cc.kc"; kd: "cc.kd"; ke: "cc.ke"; kf: "cc.kf"; kg: "cc.kg"; kh: "cc.kh"; ki: "cc.ki"; kj: "cc.kj"; kk: "cc.kk"; kl: "cc.kl"; km: "cc.km"; kn: "cc.kn"; ko: "cc.ko"; kp: "cc.kp"; kq: "cc.kq"; kr: "cc.kr"; ks: "cc.ks"; kt: "cc.kt"; ku: "cc.ku"; kv: "cc.kv"; kw: "cc.kw"; kx: "cc.kx"; ky: "cc.ky"; kz: "cc.kz"; la: "cc.la"; lb: "cc.lb"; lc: "cc.lc"; ld: "cc.ld"; le: "cc.le"; lf: "cc.lf"; lg: "cc.lg"; lh: "cc.lh"; li: "cc.li"; lj: "cc.lj"; lk: "cc.lk"; ll: "cc.ll"; lm: "cc.lm"; ln: "cc.ln"; lo: "cc.lo"; lp: "cc.lp"; lq: "cc.lq"; lr: "cc.lr"; ls: "cc.ls"; lt: "cc.lt"; lu: "cc.lu"; lv: "cc.lv"; lw: "cc.lw"; lx: "cc.lx"; ly: "cc.ly"; lz: "cc.lz"; ma: "cc.ma"; mb: "cc.mb"; mc: "cc.mc"; md: "cc.md"; me: "cc.me"; mf: "cc.mf"; mg: "cc.mg"; mh: "cc.mh"; mi: "cc.mi"; mj: "cc.mj"; mk: "cc.mk"; ml: "cc.ml"; mm: "cc.mm"; mn: "cc.mn"; mo: "cc.mo"; mp: "cc.mp"; mq: "cc.mq"; mr: "cc.mr"; ms: "cc.ms"; mt: "cc.mt"; mu: "cc.mu"; mv: "cc.mv"; mw: "cc.mw"; mx: "cc.mx"; my: "cc.my"; mz: "cc.mz"; na: "cc.na"; nb: "cc.nb"; nc: "cc.nc"; nd: "cc.nd"; ne: "cc.ne"; nf: "cc.nf"; ng: "cc.ng"; nh: "cc.nh"; ni: "cc.ni"; nj: "cc.nj"; nk: "cc.nk"; nl: "cc.nl"; nm: "cc.nm"; nn: "cc.nn"; no: "cc.no"; np: "cc.np"; nq: "cc.nq"; nr: "cc.nr"; ns: "cc.ns"; nt: "cc.nt"; nu: "cc.nu"; nv: "cc.nv"; nw: "cc.nw"; nx: "cc.nx"; ny: "cc.ny"; nz: "cc.nz"; oa: "cc.oa"; ob: "cc.ob"; oc: "cc.oc"; od: "cc.od"; oe: "cc.oe"; of: "cc.of"; og: "cc.og"; oh: "cc.oh"; oi: "cc.oi"; oj: "cc.oj"; ok: "cc.ok"; ol: "cc.ol"; om: "cc.om"; on: "cc.on"; oo: "cc.oo"; op: "cc.op"; oq: "cc.oq"; or: "cc.or"; os: "cc.os"; ot: "cc.ot"; ou: "cc.ou"; ov: "cc.ov"; ow: "cc.ow"; ox: "cc.ox"; oy: "cc.oy"; oz: "cc.oz"; pa: "cc.pa"; pb: "cc.pb"; pc: "cc.pc"; pd: "cc.pd"; pe: "cc.pe"; pf: "cc.pf"; pg: "cc.pg"; ph: "cc.ph"; pi: "cc.pi"; pj: "cc.pj"; pk: "cc.pk"; pl: "cc.pl"; pm: "cc.pm"; pn: "cc.pn"; po: "cc.po"; pp: "cc.pp"; pq: "cc.pq"; pr: "cc.pr"; ps: "cc.ps"; pt: "cc.pt"; pu: "cc.pu"; pv: "cc.pv"; pw: "cc.pw"; px: "cc.px"; py: "cc.py"; pz: "cc.pz"; qa: "cc.qa"; qb: "cc.qb"; qc: "cc.qc"; qd: "cc.qd"; qe: "cc.qe"; qf: "cc.qf"; qg: "cc.qg"; qh: "cc.qh"; qi: "cc.qi"; qj: "cc.qj"; qk: "cc.qk"; ql: "cc.ql"; qm: "cc.qm"; qn: "cc.qn"; qo: "cc.qo"; qp: "cc.qp"; qq: "cc.qq"; qr: "cc.qr"; qs: "cc.qs"; qt: "cc.qt"; qu: "cc.qu"; qv: "cc.qv"; qw: "cc.qw"; qx: "cc.qx"; qy: "cc.qy"; qz: "cc.qz"; ra: "cc.ra"; rb: "cc.rb"; rc: "cc.rc"; rd: "cc.rd"; re: "cc.re"; rf: "cc.rf"; rg: "cc.rg"; rh: "cc.rh"; ri: "cc.ri"; rj: "cc.rj"; rk: "cc.rk"; rl: "cc.rl"; rm: "cc.rm"; rn: "cc.rn"; ro: "cc.ro"; rp: "cc.rp"; rq: "cc.rq"; rr: "cc.rr"; rs: "cc.rs"; rt: "cc.rt"; ru: "cc.ru"; rv: "cc.rv"; rw: "cc.rw"; rx: "cc.rx"; ry: "cc.ry"; rz: "cc.rz"; sa: "cc.sa"; sb: "cc.sb"; sc: "cc.sc"; sd: "cc.sd"; se: "cc.se"; sf: "cc.sf"; sg: "cc.sg"; sh: "cc.sh"; si: "cc.si"; sj: "cc.sj"; sk: "cc.sk"; sl: "cc.sl"; sm: "cc.sm"; sn: "cc.sn"; so: "cc.so"; sp: "cc.sp"; sq: "cc.sq"; sr: "cc.sr"; ss: "cc.ss"; st: "cc.st"; su: "cc.su"; sv: "cc.sv"; sw: "cc.sw"; sx: "cc.sx"; sy: "cc.sy"; sz: "cc.sz"; ta: "cc.ta"; tb: "cc.tb"; tc: "cc.tc"; td: "cc.td"; te: "cc.te"; tf: "cc.tf"; tg: "cc.tg"; th: "cc.th"; ti: "cc.ti"; tj: "cc.tj"; tk: "cc.tk"; tl: "cc.tl"; tm: "cc.tm"; tn: "cc.tn"; to: "cc.to"; tp: "cc.tp"; tq: "cc.tq"; tr: "cc.tr"; ts: "cc.ts"; tt: "cc.tt"; tu: "cc.tu"; tv: "cc.tv"; tw: "cc.tw"; tx: "cc.tx"; ty: "cc.ty"; tz: "cc.tz"; ua: "cc.ua"; ub: "cc.ub"; uc: "cc.uc"; ud: "cc.ud"; ue: "cc.ue"; uf: "cc.uf"; ug: "cc.ug"; uh: "cc.uh"; ui: "cc.ui"; uj: "cc.uj"; uk: "cc.uk"; ul: "cc.ul"; um: "cc.um"; un: "cc.un"; uo: "cc.uo"; up: "cc.up"; uq: "cc.uq"; ur: "cc.ur"; us: "cc.us"; ut: "cc.ut"; uu: "cc.uu"; uv: "cc.uv"; uw: "cc.uw"; ux: "cc.ux"; uy: "cc.uy"; uz: "cc.uz"; va: "cc.va"; vb: "cc.vb"; vc: "cc.vc"; vd: "cc.vd"; ve: "cc.ve"; vf: "cc.vf"; vg: "cc.vg"; vh: "cc.vh"; vi: "cc.vi"; vj: "cc.vj"; vk: "cc.vk"; vl: "cc.vl"; vm: "cc.vm"; vn: "cc.vn"; vo: "cc.vo"; vp: "cc.vp"; vq: "cc.vq"; vr: "cc.vr"; vs: "cc.vs"; vt: "cc.vt"; vu: "cc.vu"; vv: "cc.vv"; vw: "cc.vw"; vx: "cc.vx"; vy: "cc.vy"; vz: "cc.vz"; wa: "cc.wa"; wb: "cc.wb"; wc: "cc.wc"; wd: "cc.wd"; we: "cc.we"; wf: "cc.wf"; wg: "cc.wg"; wh: "cc.wh"; wi: "cc.wi"; wj: "cc.wj"; wk: "cc.wk"; wl: "cc.wl"; wm: "cc.wm"; wn: "cc.wn"; wo: "cc.wo"; wp: "cc.wp"; wq: "cc.wq"; wr: "cc.wr"; ws: "cc.ws"; wt: "cc.wt"; wu: "cc.wu"; wv: "cc.wv"; ww: "cc.ww"; wx: "cc.wx"; wy: "cc.wy"; wz: "cc.wz"; xa: "cc.xa"; xb: "cc.xb"; xc: "cc.xc"; xd: "cc.xd"; xe: "cc.xe"; xf: "cc.xf"; xg: "cc.xg"; xh: "cc.xh"; xi: "cc.xi"; xj: "cc.xj"; xk: "cc.xk"; xl: "cc.xl"; xm: "cc.xm"; xn: "cc.xn"; xo: "cc.xo"; xp: "cc.xp"; xq: "cc.xq"; xr: "cc.xr"; xs: "cc.xs"; xt: "cc.xt"; xu: "cc.xu"; xv: "cc.xv"; xw: "cc.xw"; xx: "cc.xx"; xy: "cc.xy"; xz: "cc.xz"; ya: "cc.ya"; yb: "cc.yb"; yc: "cc.yc"; yd: "cc.yd"; ye: "cc.ye"; yf: "cc.yf"; yg: "cc.yg"; yh: "cc.yh"; yi: "cc.yi"; yj: "cc.yj"; yk: "cc.yk"; yl: "cc.yl"; ym: "cc.ym"; yn: "cc.yn"; yo: "cc.yo"; yp: "cc.yp"; yq: "cc.yq"; yr: "cc.yr"; ys: "cc.ys"; yt: "cc.yt"; yu: "cc.yu"; yv: "cc.yv"; yw: "cc.yw"; yx: "cc.yx"; yy: "cc.yy"; yz: "cc.yz"; za: "cc.za"; zb: "cc.zb"; zc: "cc.zc"; zd: "cc.zd"; ze: "cc.ze"; zf: "cc.zf"; zg: "cc.zg"; zh: "cc.zh"; zi: "cc.zi"; zj: "cc.zj"; zk: "cc.zk"; zl: "cc.zl"; zm: "cc.zm"; zn: "cc.zn"; zo: "cc.zo"; zp: "cc.zp"; zq: "cc.zq"; zr: "cc.zr"; zs: "cc.zs"; zt: "cc.zt"; zu: "cc.zu"; zv: "cc.zv"; zw: "cc.zw"; zx: "cc.zx"; zy: "cc.zy"; zz: "cc.zz"; }; cd: { aa: "cd.aa"; ab: "cd.ab"; ac: "cd.ac"; ad: "cd.ad"; ae: "cd.ae"; af: "cd.af"; ag: "cd.ag"; ah: "cd.ah"; ai: "cd.ai"; aj: "cd.aj"; ak: "cd.ak"; al: "cd.al"; am: "cd.am"; an: "cd.an"; ao: "cd.ao"; ap: "cd.ap"; aq: "cd.aq"; ar: "cd.ar"; as: "cd.as"; at: "cd.at"; au: "cd.au"; av: "cd.av"; aw: "cd.aw"; ax: "cd.ax"; ay: "cd.ay"; az: "cd.az"; ba: "cd.ba"; bb: "cd.bb"; bc: "cd.bc"; bd: "cd.bd"; be: "cd.be"; bf: "cd.bf"; bg: "cd.bg"; bh: "cd.bh"; bi: "cd.bi"; bj: "cd.bj"; bk: "cd.bk"; bl: "cd.bl"; bm: "cd.bm"; bn: "cd.bn"; bo: "cd.bo"; bp: "cd.bp"; bq: "cd.bq"; br: "cd.br"; bs: "cd.bs"; bt: "cd.bt"; bu: "cd.bu"; bv: "cd.bv"; bw: "cd.bw"; bx: "cd.bx"; by: "cd.by"; bz: "cd.bz"; ca: "cd.ca"; cb: "cd.cb"; cc: "cd.cc"; cd: "cd.cd"; ce: "cd.ce"; cf: "cd.cf"; cg: "cd.cg"; ch: "cd.ch"; ci: "cd.ci"; cj: "cd.cj"; ck: "cd.ck"; cl: "cd.cl"; cm: "cd.cm"; cn: "cd.cn"; co: "cd.co"; cp: "cd.cp"; cq: "cd.cq"; cr: "cd.cr"; cs: "cd.cs"; ct: "cd.ct"; cu: "cd.cu"; cv: "cd.cv"; cw: "cd.cw"; cx: "cd.cx"; cy: "cd.cy"; cz: "cd.cz"; da: "cd.da"; db: "cd.db"; dc: "cd.dc"; dd: "cd.dd"; de: "cd.de"; df: "cd.df"; dg: "cd.dg"; dh: "cd.dh"; di: "cd.di"; dj: "cd.dj"; dk: "cd.dk"; dl: "cd.dl"; dm: "cd.dm"; dn: "cd.dn"; do: "cd.do"; dp: "cd.dp"; dq: "cd.dq"; dr: "cd.dr"; ds: "cd.ds"; dt: "cd.dt"; du: "cd.du"; dv: "cd.dv"; dw: "cd.dw"; dx: "cd.dx"; dy: "cd.dy"; dz: "cd.dz"; ea: "cd.ea"; eb: "cd.eb"; ec: "cd.ec"; ed: "cd.ed"; ee: "cd.ee"; ef: "cd.ef"; eg: "cd.eg"; eh: "cd.eh"; ei: "cd.ei"; ej: "cd.ej"; ek: "cd.ek"; el: "cd.el"; em: "cd.em"; en: "cd.en"; eo: "cd.eo"; ep: "cd.ep"; eq: "cd.eq"; er: "cd.er"; es: "cd.es"; et: "cd.et"; eu: "cd.eu"; ev: "cd.ev"; ew: "cd.ew"; ex: "cd.ex"; ey: "cd.ey"; ez: "cd.ez"; fa: "cd.fa"; fb: "cd.fb"; fc: "cd.fc"; fd: "cd.fd"; fe: "cd.fe"; ff: "cd.ff"; fg: "cd.fg"; fh: "cd.fh"; fi: "cd.fi"; fj: "cd.fj"; fk: "cd.fk"; fl: "cd.fl"; fm: "cd.fm"; fn: "cd.fn"; fo: "cd.fo"; fp: "cd.fp"; fq: "cd.fq"; fr: "cd.fr"; fs: "cd.fs"; ft: "cd.ft"; fu: "cd.fu"; fv: "cd.fv"; fw: "cd.fw"; fx: "cd.fx"; fy: "cd.fy"; fz: "cd.fz"; ga: "cd.ga"; gb: "cd.gb"; gc: "cd.gc"; gd: "cd.gd"; ge: "cd.ge"; gf: "cd.gf"; gg: "cd.gg"; gh: "cd.gh"; gi: "cd.gi"; gj: "cd.gj"; gk: "cd.gk"; gl: "cd.gl"; gm: "cd.gm"; gn: "cd.gn"; go: "cd.go"; gp: "cd.gp"; gq: "cd.gq"; gr: "cd.gr"; gs: "cd.gs"; gt: "cd.gt"; gu: "cd.gu"; gv: "cd.gv"; gw: "cd.gw"; gx: "cd.gx"; gy: "cd.gy"; gz: "cd.gz"; ha: "cd.ha"; hb: "cd.hb"; hc: "cd.hc"; hd: "cd.hd"; he: "cd.he"; hf: "cd.hf"; hg: "cd.hg"; hh: "cd.hh"; hi: "cd.hi"; hj: "cd.hj"; hk: "cd.hk"; hl: "cd.hl"; hm: "cd.hm"; hn: "cd.hn"; ho: "cd.ho"; hp: "cd.hp"; hq: "cd.hq"; hr: "cd.hr"; hs: "cd.hs"; ht: "cd.ht"; hu: "cd.hu"; hv: "cd.hv"; hw: "cd.hw"; hx: "cd.hx"; hy: "cd.hy"; hz: "cd.hz"; ia: "cd.ia"; ib: "cd.ib"; ic: "cd.ic"; id: "cd.id"; ie: "cd.ie"; if: "cd.if"; ig: "cd.ig"; ih: "cd.ih"; ii: "cd.ii"; ij: "cd.ij"; ik: "cd.ik"; il: "cd.il"; im: "cd.im"; in: "cd.in"; io: "cd.io"; ip: "cd.ip"; iq: "cd.iq"; ir: "cd.ir"; is: "cd.is"; it: "cd.it"; iu: "cd.iu"; iv: "cd.iv"; iw: "cd.iw"; ix: "cd.ix"; iy: "cd.iy"; iz: "cd.iz"; ja: "cd.ja"; jb: "cd.jb"; jc: "cd.jc"; jd: "cd.jd"; je: "cd.je"; jf: "cd.jf"; jg: "cd.jg"; jh: "cd.jh"; ji: "cd.ji"; jj: "cd.jj"; jk: "cd.jk"; jl: "cd.jl"; jm: "cd.jm"; jn: "cd.jn"; jo: "cd.jo"; jp: "cd.jp"; jq: "cd.jq"; jr: "cd.jr"; js: "cd.js"; jt: "cd.jt"; ju: "cd.ju"; jv: "cd.jv"; jw: "cd.jw"; jx: "cd.jx"; jy: "cd.jy"; jz: "cd.jz"; ka: "cd.ka"; kb: "cd.kb"; kc: "cd.kc"; kd: "cd.kd"; ke: "cd.ke"; kf: "cd.kf"; kg: "cd.kg"; kh: "cd.kh"; ki: "cd.ki"; kj: "cd.kj"; kk: "cd.kk"; kl: "cd.kl"; km: "cd.km"; kn: "cd.kn"; ko: "cd.ko"; kp: "cd.kp"; kq: "cd.kq"; kr: "cd.kr"; ks: "cd.ks"; kt: "cd.kt"; ku: "cd.ku"; kv: "cd.kv"; kw: "cd.kw"; kx: "cd.kx"; ky: "cd.ky"; kz: "cd.kz"; la: "cd.la"; lb: "cd.lb"; lc: "cd.lc"; ld: "cd.ld"; le: "cd.le"; lf: "cd.lf"; lg: "cd.lg"; lh: "cd.lh"; li: "cd.li"; lj: "cd.lj"; lk: "cd.lk"; ll: "cd.ll"; lm: "cd.lm"; ln: "cd.ln"; lo: "cd.lo"; lp: "cd.lp"; lq: "cd.lq"; lr: "cd.lr"; ls: "cd.ls"; lt: "cd.lt"; lu: "cd.lu"; lv: "cd.lv"; lw: "cd.lw"; lx: "cd.lx"; ly: "cd.ly"; lz: "cd.lz"; ma: "cd.ma"; mb: "cd.mb"; mc: "cd.mc"; md: "cd.md"; me: "cd.me"; mf: "cd.mf"; mg: "cd.mg"; mh: "cd.mh"; mi: "cd.mi"; mj: "cd.mj"; mk: "cd.mk"; ml: "cd.ml"; mm: "cd.mm"; mn: "cd.mn"; mo: "cd.mo"; mp: "cd.mp"; mq: "cd.mq"; mr: "cd.mr"; ms: "cd.ms"; mt: "cd.mt"; mu: "cd.mu"; mv: "cd.mv"; mw: "cd.mw"; mx: "cd.mx"; my: "cd.my"; mz: "cd.mz"; na: "cd.na"; nb: "cd.nb"; nc: "cd.nc"; nd: "cd.nd"; ne: "cd.ne"; nf: "cd.nf"; ng: "cd.ng"; nh: "cd.nh"; ni: "cd.ni"; nj: "cd.nj"; nk: "cd.nk"; nl: "cd.nl"; nm: "cd.nm"; nn: "cd.nn"; no: "cd.no"; np: "cd.np"; nq: "cd.nq"; nr: "cd.nr"; ns: "cd.ns"; nt: "cd.nt"; nu: "cd.nu"; nv: "cd.nv"; nw: "cd.nw"; nx: "cd.nx"; ny: "cd.ny"; nz: "cd.nz"; oa: "cd.oa"; ob: "cd.ob"; oc: "cd.oc"; od: "cd.od"; oe: "cd.oe"; of: "cd.of"; og: "cd.og"; oh: "cd.oh"; oi: "cd.oi"; oj: "cd.oj"; ok: "cd.ok"; ol: "cd.ol"; om: "cd.om"; on: "cd.on"; oo: "cd.oo"; op: "cd.op"; oq: "cd.oq"; or: "cd.or"; os: "cd.os"; ot: "cd.ot"; ou: "cd.ou"; ov: "cd.ov"; ow: "cd.ow"; ox: "cd.ox"; oy: "cd.oy"; oz: "cd.oz"; pa: "cd.pa"; pb: "cd.pb"; pc: "cd.pc"; pd: "cd.pd"; pe: "cd.pe"; pf: "cd.pf"; pg: "cd.pg"; ph: "cd.ph"; pi: "cd.pi"; pj: "cd.pj"; pk: "cd.pk"; pl: "cd.pl"; pm: "cd.pm"; pn: "cd.pn"; po: "cd.po"; pp: "cd.pp"; pq: "cd.pq"; pr: "cd.pr"; ps: "cd.ps"; pt: "cd.pt"; pu: "cd.pu"; pv: "cd.pv"; pw: "cd.pw"; px: "cd.px"; py: "cd.py"; pz: "cd.pz"; qa: "cd.qa"; qb: "cd.qb"; qc: "cd.qc"; qd: "cd.qd"; qe: "cd.qe"; qf: "cd.qf"; qg: "cd.qg"; qh: "cd.qh"; qi: "cd.qi"; qj: "cd.qj"; qk: "cd.qk"; ql: "cd.ql"; qm: "cd.qm"; qn: "cd.qn"; qo: "cd.qo"; qp: "cd.qp"; qq: "cd.qq"; qr: "cd.qr"; qs: "cd.qs"; qt: "cd.qt"; qu: "cd.qu"; qv: "cd.qv"; qw: "cd.qw"; qx: "cd.qx"; qy: "cd.qy"; qz: "cd.qz"; ra: "cd.ra"; rb: "cd.rb"; rc: "cd.rc"; rd: "cd.rd"; re: "cd.re"; rf: "cd.rf"; rg: "cd.rg"; rh: "cd.rh"; ri: "cd.ri"; rj: "cd.rj"; rk: "cd.rk"; rl: "cd.rl"; rm: "cd.rm"; rn: "cd.rn"; ro: "cd.ro"; rp: "cd.rp"; rq: "cd.rq"; rr: "cd.rr"; rs: "cd.rs"; rt: "cd.rt"; ru: "cd.ru"; rv: "cd.rv"; rw: "cd.rw"; rx: "cd.rx"; ry: "cd.ry"; rz: "cd.rz"; sa: "cd.sa"; sb: "cd.sb"; sc: "cd.sc"; sd: "cd.sd"; se: "cd.se"; sf: "cd.sf"; sg: "cd.sg"; sh: "cd.sh"; si: "cd.si"; sj: "cd.sj"; sk: "cd.sk"; sl: "cd.sl"; sm: "cd.sm"; sn: "cd.sn"; so: "cd.so"; sp: "cd.sp"; sq: "cd.sq"; sr: "cd.sr"; ss: "cd.ss"; st: "cd.st"; su: "cd.su"; sv: "cd.sv"; sw: "cd.sw"; sx: "cd.sx"; sy: "cd.sy"; sz: "cd.sz"; ta: "cd.ta"; tb: "cd.tb"; tc: "cd.tc"; td: "cd.td"; te: "cd.te"; tf: "cd.tf"; tg: "cd.tg"; th: "cd.th"; ti: "cd.ti"; tj: "cd.tj"; tk: "cd.tk"; tl: "cd.tl"; tm: "cd.tm"; tn: "cd.tn"; to: "cd.to"; tp: "cd.tp"; tq: "cd.tq"; tr: "cd.tr"; ts: "cd.ts"; tt: "cd.tt"; tu: "cd.tu"; tv: "cd.tv"; tw: "cd.tw"; tx: "cd.tx"; ty: "cd.ty"; tz: "cd.tz"; ua: "cd.ua"; ub: "cd.ub"; uc: "cd.uc"; ud: "cd.ud"; ue: "cd.ue"; uf: "cd.uf"; ug: "cd.ug"; uh: "cd.uh"; ui: "cd.ui"; uj: "cd.uj"; uk: "cd.uk"; ul: "cd.ul"; um: "cd.um"; un: "cd.un"; uo: "cd.uo"; up: "cd.up"; uq: "cd.uq"; ur: "cd.ur"; us: "cd.us"; ut: "cd.ut"; uu: "cd.uu"; uv: "cd.uv"; uw: "cd.uw"; ux: "cd.ux"; uy: "cd.uy"; uz: "cd.uz"; va: "cd.va"; vb: "cd.vb"; vc: "cd.vc"; vd: "cd.vd"; ve: "cd.ve"; vf: "cd.vf"; vg: "cd.vg"; vh: "cd.vh"; vi: "cd.vi"; vj: "cd.vj"; vk: "cd.vk"; vl: "cd.vl"; vm: "cd.vm"; vn: "cd.vn"; vo: "cd.vo"; vp: "cd.vp"; vq: "cd.vq"; vr: "cd.vr"; vs: "cd.vs"; vt: "cd.vt"; vu: "cd.vu"; vv: "cd.vv"; vw: "cd.vw"; vx: "cd.vx"; vy: "cd.vy"; vz: "cd.vz"; wa: "cd.wa"; wb: "cd.wb"; wc: "cd.wc"; wd: "cd.wd"; we: "cd.we"; wf: "cd.wf"; wg: "cd.wg"; wh: "cd.wh"; wi: "cd.wi"; wj: "cd.wj"; wk: "cd.wk"; wl: "cd.wl"; wm: "cd.wm"; wn: "cd.wn"; wo: "cd.wo"; wp: "cd.wp"; wq: "cd.wq"; wr: "cd.wr"; ws: "cd.ws"; wt: "cd.wt"; wu: "cd.wu"; wv: "cd.wv"; ww: "cd.ww"; wx: "cd.wx"; wy: "cd.wy"; wz: "cd.wz"; xa: "cd.xa"; xb: "cd.xb"; xc: "cd.xc"; xd: "cd.xd"; xe: "cd.xe"; xf: "cd.xf"; xg: "cd.xg"; xh: "cd.xh"; xi: "cd.xi"; xj: "cd.xj"; xk: "cd.xk"; xl: "cd.xl"; xm: "cd.xm"; xn: "cd.xn"; xo: "cd.xo"; xp: "cd.xp"; xq: "cd.xq"; xr: "cd.xr"; xs: "cd.xs"; xt: "cd.xt"; xu: "cd.xu"; xv: "cd.xv"; xw: "cd.xw"; xx: "cd.xx"; xy: "cd.xy"; xz: "cd.xz"; ya: "cd.ya"; yb: "cd.yb"; yc: "cd.yc"; yd: "cd.yd"; ye: "cd.ye"; yf: "cd.yf"; yg: "cd.yg"; yh: "cd.yh"; yi: "cd.yi"; yj: "cd.yj"; yk: "cd.yk"; yl: "cd.yl"; ym: "cd.ym"; yn: "cd.yn"; yo: "cd.yo"; yp: "cd.yp"; yq: "cd.yq"; yr: "cd.yr"; ys: "cd.ys"; yt: "cd.yt"; yu: "cd.yu"; yv: "cd.yv"; yw: "cd.yw"; yx: "cd.yx"; yy: "cd.yy"; yz: "cd.yz"; za: "cd.za"; zb: "cd.zb"; zc: "cd.zc"; zd: "cd.zd"; ze: "cd.ze"; zf: "cd.zf"; zg: "cd.zg"; zh: "cd.zh"; zi: "cd.zi"; zj: "cd.zj"; zk: "cd.zk"; zl: "cd.zl"; zm: "cd.zm"; zn: "cd.zn"; zo: "cd.zo"; zp: "cd.zp"; zq: "cd.zq"; zr: "cd.zr"; zs: "cd.zs"; zt: "cd.zt"; zu: "cd.zu"; zv: "cd.zv"; zw: "cd.zw"; zx: "cd.zx"; zy: "cd.zy"; zz: "cd.zz"; }; ce: { aa: "ce.aa"; ab: "ce.ab"; ac: "ce.ac"; ad: "ce.ad"; ae: "ce.ae"; af: "ce.af"; ag: "ce.ag"; ah: "ce.ah"; ai: "ce.ai"; aj: "ce.aj"; ak: "ce.ak"; al: "ce.al"; am: "ce.am"; an: "ce.an"; ao: "ce.ao"; ap: "ce.ap"; aq: "ce.aq"; ar: "ce.ar"; as: "ce.as"; at: "ce.at"; au: "ce.au"; av: "ce.av"; aw: "ce.aw"; ax: "ce.ax"; ay: "ce.ay"; az: "ce.az"; ba: "ce.ba"; bb: "ce.bb"; bc: "ce.bc"; bd: "ce.bd"; be: "ce.be"; bf: "ce.bf"; bg: "ce.bg"; bh: "ce.bh"; bi: "ce.bi"; bj: "ce.bj"; bk: "ce.bk"; bl: "ce.bl"; bm: "ce.bm"; bn: "ce.bn"; bo: "ce.bo"; bp: "ce.bp"; bq: "ce.bq"; br: "ce.br"; bs: "ce.bs"; bt: "ce.bt"; bu: "ce.bu"; bv: "ce.bv"; bw: "ce.bw"; bx: "ce.bx"; by: "ce.by"; bz: "ce.bz"; ca: "ce.ca"; cb: "ce.cb"; cc: "ce.cc"; cd: "ce.cd"; ce: "ce.ce"; cf: "ce.cf"; cg: "ce.cg"; ch: "ce.ch"; ci: "ce.ci"; cj: "ce.cj"; ck: "ce.ck"; cl: "ce.cl"; cm: "ce.cm"; cn: "ce.cn"; co: "ce.co"; cp: "ce.cp"; cq: "ce.cq"; cr: "ce.cr"; cs: "ce.cs"; ct: "ce.ct"; cu: "ce.cu"; cv: "ce.cv"; cw: "ce.cw"; cx: "ce.cx"; cy: "ce.cy"; cz: "ce.cz"; da: "ce.da"; db: "ce.db"; dc: "ce.dc"; dd: "ce.dd"; de: "ce.de"; df: "ce.df"; dg: "ce.dg"; dh: "ce.dh"; di: "ce.di"; dj: "ce.dj"; dk: "ce.dk"; dl: "ce.dl"; dm: "ce.dm"; dn: "ce.dn"; do: "ce.do"; dp: "ce.dp"; dq: "ce.dq"; dr: "ce.dr"; ds: "ce.ds"; dt: "ce.dt"; du: "ce.du"; dv: "ce.dv"; dw: "ce.dw"; dx: "ce.dx"; dy: "ce.dy"; dz: "ce.dz"; ea: "ce.ea"; eb: "ce.eb"; ec: "ce.ec"; ed: "ce.ed"; ee: "ce.ee"; ef: "ce.ef"; eg: "ce.eg"; eh: "ce.eh"; ei: "ce.ei"; ej: "ce.ej"; ek: "ce.ek"; el: "ce.el"; em: "ce.em"; en: "ce.en"; eo: "ce.eo"; ep: "ce.ep"; eq: "ce.eq"; er: "ce.er"; es: "ce.es"; et: "ce.et"; eu: "ce.eu"; ev: "ce.ev"; ew: "ce.ew"; ex: "ce.ex"; ey: "ce.ey"; ez: "ce.ez"; fa: "ce.fa"; fb: "ce.fb"; fc: "ce.fc"; fd: "ce.fd"; fe: "ce.fe"; ff: "ce.ff"; fg: "ce.fg"; fh: "ce.fh"; fi: "ce.fi"; fj: "ce.fj"; fk: "ce.fk"; fl: "ce.fl"; fm: "ce.fm"; fn: "ce.fn"; fo: "ce.fo"; fp: "ce.fp"; fq: "ce.fq"; fr: "ce.fr"; fs: "ce.fs"; ft: "ce.ft"; fu: "ce.fu"; fv: "ce.fv"; fw: "ce.fw"; fx: "ce.fx"; fy: "ce.fy"; fz: "ce.fz"; ga: "ce.ga"; gb: "ce.gb"; gc: "ce.gc"; gd: "ce.gd"; ge: "ce.ge"; gf: "ce.gf"; gg: "ce.gg"; gh: "ce.gh"; gi: "ce.gi"; gj: "ce.gj"; gk: "ce.gk"; gl: "ce.gl"; gm: "ce.gm"; gn: "ce.gn"; go: "ce.go"; gp: "ce.gp"; gq: "ce.gq"; gr: "ce.gr"; gs: "ce.gs"; gt: "ce.gt"; gu: "ce.gu"; gv: "ce.gv"; gw: "ce.gw"; gx: "ce.gx"; gy: "ce.gy"; gz: "ce.gz"; ha: "ce.ha"; hb: "ce.hb"; hc: "ce.hc"; hd: "ce.hd"; he: "ce.he"; hf: "ce.hf"; hg: "ce.hg"; hh: "ce.hh"; hi: "ce.hi"; hj: "ce.hj"; hk: "ce.hk"; hl: "ce.hl"; hm: "ce.hm"; hn: "ce.hn"; ho: "ce.ho"; hp: "ce.hp"; hq: "ce.hq"; hr: "ce.hr"; hs: "ce.hs"; ht: "ce.ht"; hu: "ce.hu"; hv: "ce.hv"; hw: "ce.hw"; hx: "ce.hx"; hy: "ce.hy"; hz: "ce.hz"; ia: "ce.ia"; ib: "ce.ib"; ic: "ce.ic"; id: "ce.id"; ie: "ce.ie"; if: "ce.if"; ig: "ce.ig"; ih: "ce.ih"; ii: "ce.ii"; ij: "ce.ij"; ik: "ce.ik"; il: "ce.il"; im: "ce.im"; in: "ce.in"; io: "ce.io"; ip: "ce.ip"; iq: "ce.iq"; ir: "ce.ir"; is: "ce.is"; it: "ce.it"; iu: "ce.iu"; iv: "ce.iv"; iw: "ce.iw"; ix: "ce.ix"; iy: "ce.iy"; iz: "ce.iz"; ja: "ce.ja"; jb: "ce.jb"; jc: "ce.jc"; jd: "ce.jd"; je: "ce.je"; jf: "ce.jf"; jg: "ce.jg"; jh: "ce.jh"; ji: "ce.ji"; jj: "ce.jj"; jk: "ce.jk"; jl: "ce.jl"; jm: "ce.jm"; jn: "ce.jn"; jo: "ce.jo"; jp: "ce.jp"; jq: "ce.jq"; jr: "ce.jr"; js: "ce.js"; jt: "ce.jt"; ju: "ce.ju"; jv: "ce.jv"; jw: "ce.jw"; jx: "ce.jx"; jy: "ce.jy"; jz: "ce.jz"; ka: "ce.ka"; kb: "ce.kb"; kc: "ce.kc"; kd: "ce.kd"; ke: "ce.ke"; kf: "ce.kf"; kg: "ce.kg"; kh: "ce.kh"; ki: "ce.ki"; kj: "ce.kj"; kk: "ce.kk"; kl: "ce.kl"; km: "ce.km"; kn: "ce.kn"; ko: "ce.ko"; kp: "ce.kp"; kq: "ce.kq"; kr: "ce.kr"; ks: "ce.ks"; kt: "ce.kt"; ku: "ce.ku"; kv: "ce.kv"; kw: "ce.kw"; kx: "ce.kx"; ky: "ce.ky"; kz: "ce.kz"; la: "ce.la"; lb: "ce.lb"; lc: "ce.lc"; ld: "ce.ld"; le: "ce.le"; lf: "ce.lf"; lg: "ce.lg"; lh: "ce.lh"; li: "ce.li"; lj: "ce.lj"; lk: "ce.lk"; ll: "ce.ll"; lm: "ce.lm"; ln: "ce.ln"; lo: "ce.lo"; lp: "ce.lp"; lq: "ce.lq"; lr: "ce.lr"; ls: "ce.ls"; lt: "ce.lt"; lu: "ce.lu"; lv: "ce.lv"; lw: "ce.lw"; lx: "ce.lx"; ly: "ce.ly"; lz: "ce.lz"; ma: "ce.ma"; mb: "ce.mb"; mc: "ce.mc"; md: "ce.md"; me: "ce.me"; mf: "ce.mf"; mg: "ce.mg"; mh: "ce.mh"; mi: "ce.mi"; mj: "ce.mj"; mk: "ce.mk"; ml: "ce.ml"; mm: "ce.mm"; mn: "ce.mn"; mo: "ce.mo"; mp: "ce.mp"; mq: "ce.mq"; mr: "ce.mr"; ms: "ce.ms"; mt: "ce.mt"; mu: "ce.mu"; mv: "ce.mv"; mw: "ce.mw"; mx: "ce.mx"; my: "ce.my"; mz: "ce.mz"; na: "ce.na"; nb: "ce.nb"; nc: "ce.nc"; nd: "ce.nd"; ne: "ce.ne"; nf: "ce.nf"; ng: "ce.ng"; nh: "ce.nh"; ni: "ce.ni"; nj: "ce.nj"; nk: "ce.nk"; nl: "ce.nl"; nm: "ce.nm"; nn: "ce.nn"; no: "ce.no"; np: "ce.np"; nq: "ce.nq"; nr: "ce.nr"; ns: "ce.ns"; nt: "ce.nt"; nu: "ce.nu"; nv: "ce.nv"; nw: "ce.nw"; nx: "ce.nx"; ny: "ce.ny"; nz: "ce.nz"; oa: "ce.oa"; ob: "ce.ob"; oc: "ce.oc"; od: "ce.od"; oe: "ce.oe"; of: "ce.of"; og: "ce.og"; oh: "ce.oh"; oi: "ce.oi"; oj: "ce.oj"; ok: "ce.ok"; ol: "ce.ol"; om: "ce.om"; on: "ce.on"; oo: "ce.oo"; op: "ce.op"; oq: "ce.oq"; or: "ce.or"; os: "ce.os"; ot: "ce.ot"; ou: "ce.ou"; ov: "ce.ov"; ow: "ce.ow"; ox: "ce.ox"; oy: "ce.oy"; oz: "ce.oz"; pa: "ce.pa"; pb: "ce.pb"; pc: "ce.pc"; pd: "ce.pd"; pe: "ce.pe"; pf: "ce.pf"; pg: "ce.pg"; ph: "ce.ph"; pi: "ce.pi"; pj: "ce.pj"; pk: "ce.pk"; pl: "ce.pl"; pm: "ce.pm"; pn: "ce.pn"; po: "ce.po"; pp: "ce.pp"; pq: "ce.pq"; pr: "ce.pr"; ps: "ce.ps"; pt: "ce.pt"; pu: "ce.pu"; pv: "ce.pv"; pw: "ce.pw"; px: "ce.px"; py: "ce.py"; pz: "ce.pz"; qa: "ce.qa"; qb: "ce.qb"; qc: "ce.qc"; qd: "ce.qd"; qe: "ce.qe"; qf: "ce.qf"; qg: "ce.qg"; qh: "ce.qh"; qi: "ce.qi"; qj: "ce.qj"; qk: "ce.qk"; ql: "ce.ql"; qm: "ce.qm"; qn: "ce.qn"; qo: "ce.qo"; qp: "ce.qp"; qq: "ce.qq"; qr: "ce.qr"; qs: "ce.qs"; qt: "ce.qt"; qu: "ce.qu"; qv: "ce.qv"; qw: "ce.qw"; qx: "ce.qx"; qy: "ce.qy"; qz: "ce.qz"; ra: "ce.ra"; rb: "ce.rb"; rc: "ce.rc"; rd: "ce.rd"; re: "ce.re"; rf: "ce.rf"; rg: "ce.rg"; rh: "ce.rh"; ri: "ce.ri"; rj: "ce.rj"; rk: "ce.rk"; rl: "ce.rl"; rm: "ce.rm"; rn: "ce.rn"; ro: "ce.ro"; rp: "ce.rp"; rq: "ce.rq"; rr: "ce.rr"; rs: "ce.rs"; rt: "ce.rt"; ru: "ce.ru"; rv: "ce.rv"; rw: "ce.rw"; rx: "ce.rx"; ry: "ce.ry"; rz: "ce.rz"; sa: "ce.sa"; sb: "ce.sb"; sc: "ce.sc"; sd: "ce.sd"; se: "ce.se"; sf: "ce.sf"; sg: "ce.sg"; sh: "ce.sh"; si: "ce.si"; sj: "ce.sj"; sk: "ce.sk"; sl: "ce.sl"; sm: "ce.sm"; sn: "ce.sn"; so: "ce.so"; sp: "ce.sp"; sq: "ce.sq"; sr: "ce.sr"; ss: "ce.ss"; st: "ce.st"; su: "ce.su"; sv: "ce.sv"; sw: "ce.sw"; sx: "ce.sx"; sy: "ce.sy"; sz: "ce.sz"; ta: "ce.ta"; tb: "ce.tb"; tc: "ce.tc"; td: "ce.td"; te: "ce.te"; tf: "ce.tf"; tg: "ce.tg"; th: "ce.th"; ti: "ce.ti"; tj: "ce.tj"; tk: "ce.tk"; tl: "ce.tl"; tm: "ce.tm"; tn: "ce.tn"; to: "ce.to"; tp: "ce.tp"; tq: "ce.tq"; tr: "ce.tr"; ts: "ce.ts"; tt: "ce.tt"; tu: "ce.tu"; tv: "ce.tv"; tw: "ce.tw"; tx: "ce.tx"; ty: "ce.ty"; tz: "ce.tz"; ua: "ce.ua"; ub: "ce.ub"; uc: "ce.uc"; ud: "ce.ud"; ue: "ce.ue"; uf: "ce.uf"; ug: "ce.ug"; uh: "ce.uh"; ui: "ce.ui"; uj: "ce.uj"; uk: "ce.uk"; ul: "ce.ul"; um: "ce.um"; un: "ce.un"; uo: "ce.uo"; up: "ce.up"; uq: "ce.uq"; ur: "ce.ur"; us: "ce.us"; ut: "ce.ut"; uu: "ce.uu"; uv: "ce.uv"; uw: "ce.uw"; ux: "ce.ux"; uy: "ce.uy"; uz: "ce.uz"; va: "ce.va"; vb: "ce.vb"; vc: "ce.vc"; vd: "ce.vd"; ve: "ce.ve"; vf: "ce.vf"; vg: "ce.vg"; vh: "ce.vh"; vi: "ce.vi"; vj: "ce.vj"; vk: "ce.vk"; vl: "ce.vl"; vm: "ce.vm"; vn: "ce.vn"; vo: "ce.vo"; vp: "ce.vp"; vq: "ce.vq"; vr: "ce.vr"; vs: "ce.vs"; vt: "ce.vt"; vu: "ce.vu"; vv: "ce.vv"; vw: "ce.vw"; vx: "ce.vx"; vy: "ce.vy"; vz: "ce.vz"; wa: "ce.wa"; wb: "ce.wb"; wc: "ce.wc"; wd: "ce.wd"; we: "ce.we"; wf: "ce.wf"; wg: "ce.wg"; wh: "ce.wh"; wi: "ce.wi"; wj: "ce.wj"; wk: "ce.wk"; wl: "ce.wl"; wm: "ce.wm"; wn: "ce.wn"; wo: "ce.wo"; wp: "ce.wp"; wq: "ce.wq"; wr: "ce.wr"; ws: "ce.ws"; wt: "ce.wt"; wu: "ce.wu"; wv: "ce.wv"; ww: "ce.ww"; wx: "ce.wx"; wy: "ce.wy"; wz: "ce.wz"; xa: "ce.xa"; xb: "ce.xb"; xc: "ce.xc"; xd: "ce.xd"; xe: "ce.xe"; xf: "ce.xf"; xg: "ce.xg"; xh: "ce.xh"; xi: "ce.xi"; xj: "ce.xj"; xk: "ce.xk"; xl: "ce.xl"; xm: "ce.xm"; xn: "ce.xn"; xo: "ce.xo"; xp: "ce.xp"; xq: "ce.xq"; xr: "ce.xr"; xs: "ce.xs"; xt: "ce.xt"; xu: "ce.xu"; xv: "ce.xv"; xw: "ce.xw"; xx: "ce.xx"; xy: "ce.xy"; xz: "ce.xz"; ya: "ce.ya"; yb: "ce.yb"; yc: "ce.yc"; yd: "ce.yd"; ye: "ce.ye"; yf: "ce.yf"; yg: "ce.yg"; yh: "ce.yh"; yi: "ce.yi"; yj: "ce.yj"; yk: "ce.yk"; yl: "ce.yl"; ym: "ce.ym"; yn: "ce.yn"; yo: "ce.yo"; yp: "ce.yp"; yq: "ce.yq"; yr: "ce.yr"; ys: "ce.ys"; yt: "ce.yt"; yu: "ce.yu"; yv: "ce.yv"; yw: "ce.yw"; yx: "ce.yx"; yy: "ce.yy"; yz: "ce.yz"; za: "ce.za"; zb: "ce.zb"; zc: "ce.zc"; zd: "ce.zd"; ze: "ce.ze"; zf: "ce.zf"; zg: "ce.zg"; zh: "ce.zh"; zi: "ce.zi"; zj: "ce.zj"; zk: "ce.zk"; zl: "ce.zl"; zm: "ce.zm"; zn: "ce.zn"; zo: "ce.zo"; zp: "ce.zp"; zq: "ce.zq"; zr: "ce.zr"; zs: "ce.zs"; zt: "ce.zt"; zu: "ce.zu"; zv: "ce.zv"; zw: "ce.zw"; zx: "ce.zx"; zy: "ce.zy"; zz: "ce.zz"; }; cf: { aa: "cf.aa"; ab: "cf.ab"; ac: "cf.ac"; ad: "cf.ad"; ae: "cf.ae"; af: "cf.af"; ag: "cf.ag"; ah: "cf.ah"; ai: "cf.ai"; aj: "cf.aj"; ak: "cf.ak"; al: "cf.al"; am: "cf.am"; an: "cf.an"; ao: "cf.ao"; ap: "cf.ap"; aq: "cf.aq"; ar: "cf.ar"; as: "cf.as"; at: "cf.at"; au: "cf.au"; av: "cf.av"; aw: "cf.aw"; ax: "cf.ax"; ay: "cf.ay"; az: "cf.az"; ba: "cf.ba"; bb: "cf.bb"; bc: "cf.bc"; bd: "cf.bd"; be: "cf.be"; bf: "cf.bf"; bg: "cf.bg"; bh: "cf.bh"; bi: "cf.bi"; bj: "cf.bj"; bk: "cf.bk"; bl: "cf.bl"; bm: "cf.bm"; bn: "cf.bn"; bo: "cf.bo"; bp: "cf.bp"; bq: "cf.bq"; br: "cf.br"; bs: "cf.bs"; bt: "cf.bt"; bu: "cf.bu"; bv: "cf.bv"; bw: "cf.bw"; bx: "cf.bx"; by: "cf.by"; bz: "cf.bz"; ca: "cf.ca"; cb: "cf.cb"; cc: "cf.cc"; cd: "cf.cd"; ce: "cf.ce"; cf: "cf.cf"; cg: "cf.cg"; ch: "cf.ch"; ci: "cf.ci"; cj: "cf.cj"; ck: "cf.ck"; cl: "cf.cl"; cm: "cf.cm"; cn: "cf.cn"; co: "cf.co"; cp: "cf.cp"; cq: "cf.cq"; cr: "cf.cr"; cs: "cf.cs"; ct: "cf.ct"; cu: "cf.cu"; cv: "cf.cv"; cw: "cf.cw"; cx: "cf.cx"; cy: "cf.cy"; cz: "cf.cz"; da: "cf.da"; db: "cf.db"; dc: "cf.dc"; dd: "cf.dd"; de: "cf.de"; df: "cf.df"; dg: "cf.dg"; dh: "cf.dh"; di: "cf.di"; dj: "cf.dj"; dk: "cf.dk"; dl: "cf.dl"; dm: "cf.dm"; dn: "cf.dn"; do: "cf.do"; dp: "cf.dp"; dq: "cf.dq"; dr: "cf.dr"; ds: "cf.ds"; dt: "cf.dt"; du: "cf.du"; dv: "cf.dv"; dw: "cf.dw"; dx: "cf.dx"; dy: "cf.dy"; dz: "cf.dz"; ea: "cf.ea"; eb: "cf.eb"; ec: "cf.ec"; ed: "cf.ed"; ee: "cf.ee"; ef: "cf.ef"; eg: "cf.eg"; eh: "cf.eh"; ei: "cf.ei"; ej: "cf.ej"; ek: "cf.ek"; el: "cf.el"; em: "cf.em"; en: "cf.en"; eo: "cf.eo"; ep: "cf.ep"; eq: "cf.eq"; er: "cf.er"; es: "cf.es"; et: "cf.et"; eu: "cf.eu"; ev: "cf.ev"; ew: "cf.ew"; ex: "cf.ex"; ey: "cf.ey"; ez: "cf.ez"; fa: "cf.fa"; fb: "cf.fb"; fc: "cf.fc"; fd: "cf.fd"; fe: "cf.fe"; ff: "cf.ff"; fg: "cf.fg"; fh: "cf.fh"; fi: "cf.fi"; fj: "cf.fj"; fk: "cf.fk"; fl: "cf.fl"; fm: "cf.fm"; fn: "cf.fn"; fo: "cf.fo"; fp: "cf.fp"; fq: "cf.fq"; fr: "cf.fr"; fs: "cf.fs"; ft: "cf.ft"; fu: "cf.fu"; fv: "cf.fv"; fw: "cf.fw"; fx: "cf.fx"; fy: "cf.fy"; fz: "cf.fz"; ga: "cf.ga"; gb: "cf.gb"; gc: "cf.gc"; gd: "cf.gd"; ge: "cf.ge"; gf: "cf.gf"; gg: "cf.gg"; gh: "cf.gh"; gi: "cf.gi"; gj: "cf.gj"; gk: "cf.gk"; gl: "cf.gl"; gm: "cf.gm"; gn: "cf.gn"; go: "cf.go"; gp: "cf.gp"; gq: "cf.gq"; gr: "cf.gr"; gs: "cf.gs"; gt: "cf.gt"; gu: "cf.gu"; gv: "cf.gv"; gw: "cf.gw"; gx: "cf.gx"; gy: "cf.gy"; gz: "cf.gz"; ha: "cf.ha"; hb: "cf.hb"; hc: "cf.hc"; hd: "cf.hd"; he: "cf.he"; hf: "cf.hf"; hg: "cf.hg"; hh: "cf.hh"; hi: "cf.hi"; hj: "cf.hj"; hk: "cf.hk"; hl: "cf.hl"; hm: "cf.hm"; hn: "cf.hn"; ho: "cf.ho"; hp: "cf.hp"; hq: "cf.hq"; hr: "cf.hr"; hs: "cf.hs"; ht: "cf.ht"; hu: "cf.hu"; hv: "cf.hv"; hw: "cf.hw"; hx: "cf.hx"; hy: "cf.hy"; hz: "cf.hz"; ia: "cf.ia"; ib: "cf.ib"; ic: "cf.ic"; id: "cf.id"; ie: "cf.ie"; if: "cf.if"; ig: "cf.ig"; ih: "cf.ih"; ii: "cf.ii"; ij: "cf.ij"; ik: "cf.ik"; il: "cf.il"; im: "cf.im"; in: "cf.in"; io: "cf.io"; ip: "cf.ip"; iq: "cf.iq"; ir: "cf.ir"; is: "cf.is"; it: "cf.it"; iu: "cf.iu"; iv: "cf.iv"; iw: "cf.iw"; ix: "cf.ix"; iy: "cf.iy"; iz: "cf.iz"; ja: "cf.ja"; jb: "cf.jb"; jc: "cf.jc"; jd: "cf.jd"; je: "cf.je"; jf: "cf.jf"; jg: "cf.jg"; jh: "cf.jh"; ji: "cf.ji"; jj: "cf.jj"; jk: "cf.jk"; jl: "cf.jl"; jm: "cf.jm"; jn: "cf.jn"; jo: "cf.jo"; jp: "cf.jp"; jq: "cf.jq"; jr: "cf.jr"; js: "cf.js"; jt: "cf.jt"; ju: "cf.ju"; jv: "cf.jv"; jw: "cf.jw"; jx: "cf.jx"; jy: "cf.jy"; jz: "cf.jz"; ka: "cf.ka"; kb: "cf.kb"; kc: "cf.kc"; kd: "cf.kd"; ke: "cf.ke"; kf: "cf.kf"; kg: "cf.kg"; kh: "cf.kh"; ki: "cf.ki"; kj: "cf.kj"; kk: "cf.kk"; kl: "cf.kl"; km: "cf.km"; kn: "cf.kn"; ko: "cf.ko"; kp: "cf.kp"; kq: "cf.kq"; kr: "cf.kr"; ks: "cf.ks"; kt: "cf.kt"; ku: "cf.ku"; kv: "cf.kv"; kw: "cf.kw"; kx: "cf.kx"; ky: "cf.ky"; kz: "cf.kz"; la: "cf.la"; lb: "cf.lb"; lc: "cf.lc"; ld: "cf.ld"; le: "cf.le"; lf: "cf.lf"; lg: "cf.lg"; lh: "cf.lh"; li: "cf.li"; lj: "cf.lj"; lk: "cf.lk"; ll: "cf.ll"; lm: "cf.lm"; ln: "cf.ln"; lo: "cf.lo"; lp: "cf.lp"; lq: "cf.lq"; lr: "cf.lr"; ls: "cf.ls"; lt: "cf.lt"; lu: "cf.lu"; lv: "cf.lv"; lw: "cf.lw"; lx: "cf.lx"; ly: "cf.ly"; lz: "cf.lz"; ma: "cf.ma"; mb: "cf.mb"; mc: "cf.mc"; md: "cf.md"; me: "cf.me"; mf: "cf.mf"; mg: "cf.mg"; mh: "cf.mh"; mi: "cf.mi"; mj: "cf.mj"; mk: "cf.mk"; ml: "cf.ml"; mm: "cf.mm"; mn: "cf.mn"; mo: "cf.mo"; mp: "cf.mp"; mq: "cf.mq"; mr: "cf.mr"; ms: "cf.ms"; mt: "cf.mt"; mu: "cf.mu"; mv: "cf.mv"; mw: "cf.mw"; mx: "cf.mx"; my: "cf.my"; mz: "cf.mz"; na: "cf.na"; nb: "cf.nb"; nc: "cf.nc"; nd: "cf.nd"; ne: "cf.ne"; nf: "cf.nf"; ng: "cf.ng"; nh: "cf.nh"; ni: "cf.ni"; nj: "cf.nj"; nk: "cf.nk"; nl: "cf.nl"; nm: "cf.nm"; nn: "cf.nn"; no: "cf.no"; np: "cf.np"; nq: "cf.nq"; nr: "cf.nr"; ns: "cf.ns"; nt: "cf.nt"; nu: "cf.nu"; nv: "cf.nv"; nw: "cf.nw"; nx: "cf.nx"; ny: "cf.ny"; nz: "cf.nz"; oa: "cf.oa"; ob: "cf.ob"; oc: "cf.oc"; od: "cf.od"; oe: "cf.oe"; of: "cf.of"; og: "cf.og"; oh: "cf.oh"; oi: "cf.oi"; oj: "cf.oj"; ok: "cf.ok"; ol: "cf.ol"; om: "cf.om"; on: "cf.on"; oo: "cf.oo"; op: "cf.op"; oq: "cf.oq"; or: "cf.or"; os: "cf.os"; ot: "cf.ot"; ou: "cf.ou"; ov: "cf.ov"; ow: "cf.ow"; ox: "cf.ox"; oy: "cf.oy"; oz: "cf.oz"; pa: "cf.pa"; pb: "cf.pb"; pc: "cf.pc"; pd: "cf.pd"; pe: "cf.pe"; pf: "cf.pf"; pg: "cf.pg"; ph: "cf.ph"; pi: "cf.pi"; pj: "cf.pj"; pk: "cf.pk"; pl: "cf.pl"; pm: "cf.pm"; pn: "cf.pn"; po: "cf.po"; pp: "cf.pp"; pq: "cf.pq"; pr: "cf.pr"; ps: "cf.ps"; pt: "cf.pt"; pu: "cf.pu"; pv: "cf.pv"; pw: "cf.pw"; px: "cf.px"; py: "cf.py"; pz: "cf.pz"; qa: "cf.qa"; qb: "cf.qb"; qc: "cf.qc"; qd: "cf.qd"; qe: "cf.qe"; qf: "cf.qf"; qg: "cf.qg"; qh: "cf.qh"; qi: "cf.qi"; qj: "cf.qj"; qk: "cf.qk"; ql: "cf.ql"; qm: "cf.qm"; qn: "cf.qn"; qo: "cf.qo"; qp: "cf.qp"; qq: "cf.qq"; qr: "cf.qr"; qs: "cf.qs"; qt: "cf.qt"; qu: "cf.qu"; qv: "cf.qv"; qw: "cf.qw"; qx: "cf.qx"; qy: "cf.qy"; qz: "cf.qz"; ra: "cf.ra"; rb: "cf.rb"; rc: "cf.rc"; rd: "cf.rd"; re: "cf.re"; rf: "cf.rf"; rg: "cf.rg"; rh: "cf.rh"; ri: "cf.ri"; rj: "cf.rj"; rk: "cf.rk"; rl: "cf.rl"; rm: "cf.rm"; rn: "cf.rn"; ro: "cf.ro"; rp: "cf.rp"; rq: "cf.rq"; rr: "cf.rr"; rs: "cf.rs"; rt: "cf.rt"; ru: "cf.ru"; rv: "cf.rv"; rw: "cf.rw"; rx: "cf.rx"; ry: "cf.ry"; rz: "cf.rz"; sa: "cf.sa"; sb: "cf.sb"; sc: "cf.sc"; sd: "cf.sd"; se: "cf.se"; sf: "cf.sf"; sg: "cf.sg"; sh: "cf.sh"; si: "cf.si"; sj: "cf.sj"; sk: "cf.sk"; sl: "cf.sl"; sm: "cf.sm"; sn: "cf.sn"; so: "cf.so"; sp: "cf.sp"; sq: "cf.sq"; sr: "cf.sr"; ss: "cf.ss"; st: "cf.st"; su: "cf.su"; sv: "cf.sv"; sw: "cf.sw"; sx: "cf.sx"; sy: "cf.sy"; sz: "cf.sz"; ta: "cf.ta"; tb: "cf.tb"; tc: "cf.tc"; td: "cf.td"; te: "cf.te"; tf: "cf.tf"; tg: "cf.tg"; th: "cf.th"; ti: "cf.ti"; tj: "cf.tj"; tk: "cf.tk"; tl: "cf.tl"; tm: "cf.tm"; tn: "cf.tn"; to: "cf.to"; tp: "cf.tp"; tq: "cf.tq"; tr: "cf.tr"; ts: "cf.ts"; tt: "cf.tt"; tu: "cf.tu"; tv: "cf.tv"; tw: "cf.tw"; tx: "cf.tx"; ty: "cf.ty"; tz: "cf.tz"; ua: "cf.ua"; ub: "cf.ub"; uc: "cf.uc"; ud: "cf.ud"; ue: "cf.ue"; uf: "cf.uf"; ug: "cf.ug"; uh: "cf.uh"; ui: "cf.ui"; uj: "cf.uj"; uk: "cf.uk"; ul: "cf.ul"; um: "cf.um"; un: "cf.un"; uo: "cf.uo"; up: "cf.up"; uq: "cf.uq"; ur: "cf.ur"; us: "cf.us"; ut: "cf.ut"; uu: "cf.uu"; uv: "cf.uv"; uw: "cf.uw"; ux: "cf.ux"; uy: "cf.uy"; uz: "cf.uz"; va: "cf.va"; vb: "cf.vb"; vc: "cf.vc"; vd: "cf.vd"; ve: "cf.ve"; vf: "cf.vf"; vg: "cf.vg"; vh: "cf.vh"; vi: "cf.vi"; vj: "cf.vj"; vk: "cf.vk"; vl: "cf.vl"; vm: "cf.vm"; vn: "cf.vn"; vo: "cf.vo"; vp: "cf.vp"; vq: "cf.vq"; vr: "cf.vr"; vs: "cf.vs"; vt: "cf.vt"; vu: "cf.vu"; vv: "cf.vv"; vw: "cf.vw"; vx: "cf.vx"; vy: "cf.vy"; vz: "cf.vz"; wa: "cf.wa"; wb: "cf.wb"; wc: "cf.wc"; wd: "cf.wd"; we: "cf.we"; wf: "cf.wf"; wg: "cf.wg"; wh: "cf.wh"; wi: "cf.wi"; wj: "cf.wj"; wk: "cf.wk"; wl: "cf.wl"; wm: "cf.wm"; wn: "cf.wn"; wo: "cf.wo"; wp: "cf.wp"; wq: "cf.wq"; wr: "cf.wr"; ws: "cf.ws"; wt: "cf.wt"; wu: "cf.wu"; wv: "cf.wv"; ww: "cf.ww"; wx: "cf.wx"; wy: "cf.wy"; wz: "cf.wz"; xa: "cf.xa"; xb: "cf.xb"; xc: "cf.xc"; xd: "cf.xd"; xe: "cf.xe"; xf: "cf.xf"; xg: "cf.xg"; xh: "cf.xh"; xi: "cf.xi"; xj: "cf.xj"; xk: "cf.xk"; xl: "cf.xl"; xm: "cf.xm"; xn: "cf.xn"; xo: "cf.xo"; xp: "cf.xp"; xq: "cf.xq"; xr: "cf.xr"; xs: "cf.xs"; xt: "cf.xt"; xu: "cf.xu"; xv: "cf.xv"; xw: "cf.xw"; xx: "cf.xx"; xy: "cf.xy"; xz: "cf.xz"; ya: "cf.ya"; yb: "cf.yb"; yc: "cf.yc"; yd: "cf.yd"; ye: "cf.ye"; yf: "cf.yf"; yg: "cf.yg"; yh: "cf.yh"; yi: "cf.yi"; yj: "cf.yj"; yk: "cf.yk"; yl: "cf.yl"; ym: "cf.ym"; yn: "cf.yn"; yo: "cf.yo"; yp: "cf.yp"; yq: "cf.yq"; yr: "cf.yr"; ys: "cf.ys"; yt: "cf.yt"; yu: "cf.yu"; yv: "cf.yv"; yw: "cf.yw"; yx: "cf.yx"; yy: "cf.yy"; yz: "cf.yz"; za: "cf.za"; zb: "cf.zb"; zc: "cf.zc"; zd: "cf.zd"; ze: "cf.ze"; zf: "cf.zf"; zg: "cf.zg"; zh: "cf.zh"; zi: "cf.zi"; zj: "cf.zj"; zk: "cf.zk"; zl: "cf.zl"; zm: "cf.zm"; zn: "cf.zn"; zo: "cf.zo"; zp: "cf.zp"; zq: "cf.zq"; zr: "cf.zr"; zs: "cf.zs"; zt: "cf.zt"; zu: "cf.zu"; zv: "cf.zv"; zw: "cf.zw"; zx: "cf.zx"; zy: "cf.zy"; zz: "cf.zz"; }; cg: { aa: "cg.aa"; ab: "cg.ab"; ac: "cg.ac"; ad: "cg.ad"; ae: "cg.ae"; af: "cg.af"; ag: "cg.ag"; ah: "cg.ah"; ai: "cg.ai"; aj: "cg.aj"; ak: "cg.ak"; al: "cg.al"; am: "cg.am"; an: "cg.an"; ao: "cg.ao"; ap: "cg.ap"; aq: "cg.aq"; ar: "cg.ar"; as: "cg.as"; at: "cg.at"; au: "cg.au"; av: "cg.av"; aw: "cg.aw"; ax: "cg.ax"; ay: "cg.ay"; az: "cg.az"; ba: "cg.ba"; bb: "cg.bb"; bc: "cg.bc"; bd: "cg.bd"; be: "cg.be"; bf: "cg.bf"; bg: "cg.bg"; bh: "cg.bh"; bi: "cg.bi"; bj: "cg.bj"; bk: "cg.bk"; bl: "cg.bl"; bm: "cg.bm"; bn: "cg.bn"; bo: "cg.bo"; bp: "cg.bp"; bq: "cg.bq"; br: "cg.br"; bs: "cg.bs"; bt: "cg.bt"; bu: "cg.bu"; bv: "cg.bv"; bw: "cg.bw"; bx: "cg.bx"; by: "cg.by"; bz: "cg.bz"; ca: "cg.ca"; cb: "cg.cb"; cc: "cg.cc"; cd: "cg.cd"; ce: "cg.ce"; cf: "cg.cf"; cg: "cg.cg"; ch: "cg.ch"; ci: "cg.ci"; cj: "cg.cj"; ck: "cg.ck"; cl: "cg.cl"; cm: "cg.cm"; cn: "cg.cn"; co: "cg.co"; cp: "cg.cp"; cq: "cg.cq"; cr: "cg.cr"; cs: "cg.cs"; ct: "cg.ct"; cu: "cg.cu"; cv: "cg.cv"; cw: "cg.cw"; cx: "cg.cx"; cy: "cg.cy"; cz: "cg.cz"; da: "cg.da"; db: "cg.db"; dc: "cg.dc"; dd: "cg.dd"; de: "cg.de"; df: "cg.df"; dg: "cg.dg"; dh: "cg.dh"; di: "cg.di"; dj: "cg.dj"; dk: "cg.dk"; dl: "cg.dl"; dm: "cg.dm"; dn: "cg.dn"; do: "cg.do"; dp: "cg.dp"; dq: "cg.dq"; dr: "cg.dr"; ds: "cg.ds"; dt: "cg.dt"; du: "cg.du"; dv: "cg.dv"; dw: "cg.dw"; dx: "cg.dx"; dy: "cg.dy"; dz: "cg.dz"; ea: "cg.ea"; eb: "cg.eb"; ec: "cg.ec"; ed: "cg.ed"; ee: "cg.ee"; ef: "cg.ef"; eg: "cg.eg"; eh: "cg.eh"; ei: "cg.ei"; ej: "cg.ej"; ek: "cg.ek"; el: "cg.el"; em: "cg.em"; en: "cg.en"; eo: "cg.eo"; ep: "cg.ep"; eq: "cg.eq"; er: "cg.er"; es: "cg.es"; et: "cg.et"; eu: "cg.eu"; ev: "cg.ev"; ew: "cg.ew"; ex: "cg.ex"; ey: "cg.ey"; ez: "cg.ez"; fa: "cg.fa"; fb: "cg.fb"; fc: "cg.fc"; fd: "cg.fd"; fe: "cg.fe"; ff: "cg.ff"; fg: "cg.fg"; fh: "cg.fh"; fi: "cg.fi"; fj: "cg.fj"; fk: "cg.fk"; fl: "cg.fl"; fm: "cg.fm"; fn: "cg.fn"; fo: "cg.fo"; fp: "cg.fp"; fq: "cg.fq"; fr: "cg.fr"; fs: "cg.fs"; ft: "cg.ft"; fu: "cg.fu"; fv: "cg.fv"; fw: "cg.fw"; fx: "cg.fx"; fy: "cg.fy"; fz: "cg.fz"; ga: "cg.ga"; gb: "cg.gb"; gc: "cg.gc"; gd: "cg.gd"; ge: "cg.ge"; gf: "cg.gf"; gg: "cg.gg"; gh: "cg.gh"; gi: "cg.gi"; gj: "cg.gj"; gk: "cg.gk"; gl: "cg.gl"; gm: "cg.gm"; gn: "cg.gn"; go: "cg.go"; gp: "cg.gp"; gq: "cg.gq"; gr: "cg.gr"; gs: "cg.gs"; gt: "cg.gt"; gu: "cg.gu"; gv: "cg.gv"; gw: "cg.gw"; gx: "cg.gx"; gy: "cg.gy"; gz: "cg.gz"; ha: "cg.ha"; hb: "cg.hb"; hc: "cg.hc"; hd: "cg.hd"; he: "cg.he"; hf: "cg.hf"; hg: "cg.hg"; hh: "cg.hh"; hi: "cg.hi"; hj: "cg.hj"; hk: "cg.hk"; hl: "cg.hl"; hm: "cg.hm"; hn: "cg.hn"; ho: "cg.ho"; hp: "cg.hp"; hq: "cg.hq"; hr: "cg.hr"; hs: "cg.hs"; ht: "cg.ht"; hu: "cg.hu"; hv: "cg.hv"; hw: "cg.hw"; hx: "cg.hx"; hy: "cg.hy"; hz: "cg.hz"; ia: "cg.ia"; ib: "cg.ib"; ic: "cg.ic"; id: "cg.id"; ie: "cg.ie"; if: "cg.if"; ig: "cg.ig"; ih: "cg.ih"; ii: "cg.ii"; ij: "cg.ij"; ik: "cg.ik"; il: "cg.il"; im: "cg.im"; in: "cg.in"; io: "cg.io"; ip: "cg.ip"; iq: "cg.iq"; ir: "cg.ir"; is: "cg.is"; it: "cg.it"; iu: "cg.iu"; iv: "cg.iv"; iw: "cg.iw"; ix: "cg.ix"; iy: "cg.iy"; iz: "cg.iz"; ja: "cg.ja"; jb: "cg.jb"; jc: "cg.jc"; jd: "cg.jd"; je: "cg.je"; jf: "cg.jf"; jg: "cg.jg"; jh: "cg.jh"; ji: "cg.ji"; jj: "cg.jj"; jk: "cg.jk"; jl: "cg.jl"; jm: "cg.jm"; jn: "cg.jn"; jo: "cg.jo"; jp: "cg.jp"; jq: "cg.jq"; jr: "cg.jr"; js: "cg.js"; jt: "cg.jt"; ju: "cg.ju"; jv: "cg.jv"; jw: "cg.jw"; jx: "cg.jx"; jy: "cg.jy"; jz: "cg.jz"; ka: "cg.ka"; kb: "cg.kb"; kc: "cg.kc"; kd: "cg.kd"; ke: "cg.ke"; kf: "cg.kf"; kg: "cg.kg"; kh: "cg.kh"; ki: "cg.ki"; kj: "cg.kj"; kk: "cg.kk"; kl: "cg.kl"; km: "cg.km"; kn: "cg.kn"; ko: "cg.ko"; kp: "cg.kp"; kq: "cg.kq"; kr: "cg.kr"; ks: "cg.ks"; kt: "cg.kt"; ku: "cg.ku"; kv: "cg.kv"; kw: "cg.kw"; kx: "cg.kx"; ky: "cg.ky"; kz: "cg.kz"; la: "cg.la"; lb: "cg.lb"; lc: "cg.lc"; ld: "cg.ld"; le: "cg.le"; lf: "cg.lf"; lg: "cg.lg"; lh: "cg.lh"; li: "cg.li"; lj: "cg.lj"; lk: "cg.lk"; ll: "cg.ll"; lm: "cg.lm"; ln: "cg.ln"; lo: "cg.lo"; lp: "cg.lp"; lq: "cg.lq"; lr: "cg.lr"; ls: "cg.ls"; lt: "cg.lt"; lu: "cg.lu"; lv: "cg.lv"; lw: "cg.lw"; lx: "cg.lx"; ly: "cg.ly"; lz: "cg.lz"; ma: "cg.ma"; mb: "cg.mb"; mc: "cg.mc"; md: "cg.md"; me: "cg.me"; mf: "cg.mf"; mg: "cg.mg"; mh: "cg.mh"; mi: "cg.mi"; mj: "cg.mj"; mk: "cg.mk"; ml: "cg.ml"; mm: "cg.mm"; mn: "cg.mn"; mo: "cg.mo"; mp: "cg.mp"; mq: "cg.mq"; mr: "cg.mr"; ms: "cg.ms"; mt: "cg.mt"; mu: "cg.mu"; mv: "cg.mv"; mw: "cg.mw"; mx: "cg.mx"; my: "cg.my"; mz: "cg.mz"; na: "cg.na"; nb: "cg.nb"; nc: "cg.nc"; nd: "cg.nd"; ne: "cg.ne"; nf: "cg.nf"; ng: "cg.ng"; nh: "cg.nh"; ni: "cg.ni"; nj: "cg.nj"; nk: "cg.nk"; nl: "cg.nl"; nm: "cg.nm"; nn: "cg.nn"; no: "cg.no"; np: "cg.np"; nq: "cg.nq"; nr: "cg.nr"; ns: "cg.ns"; nt: "cg.nt"; nu: "cg.nu"; nv: "cg.nv"; nw: "cg.nw"; nx: "cg.nx"; ny: "cg.ny"; nz: "cg.nz"; oa: "cg.oa"; ob: "cg.ob"; oc: "cg.oc"; od: "cg.od"; oe: "cg.oe"; of: "cg.of"; og: "cg.og"; oh: "cg.oh"; oi: "cg.oi"; oj: "cg.oj"; ok: "cg.ok"; ol: "cg.ol"; om: "cg.om"; on: "cg.on"; oo: "cg.oo"; op: "cg.op"; oq: "cg.oq"; or: "cg.or"; os: "cg.os"; ot: "cg.ot"; ou: "cg.ou"; ov: "cg.ov"; ow: "cg.ow"; ox: "cg.ox"; oy: "cg.oy"; oz: "cg.oz"; pa: "cg.pa"; pb: "cg.pb"; pc: "cg.pc"; pd: "cg.pd"; pe: "cg.pe"; pf: "cg.pf"; pg: "cg.pg"; ph: "cg.ph"; pi: "cg.pi"; pj: "cg.pj"; pk: "cg.pk"; pl: "cg.pl"; pm: "cg.pm"; pn: "cg.pn"; po: "cg.po"; pp: "cg.pp"; pq: "cg.pq"; pr: "cg.pr"; ps: "cg.ps"; pt: "cg.pt"; pu: "cg.pu"; pv: "cg.pv"; pw: "cg.pw"; px: "cg.px"; py: "cg.py"; pz: "cg.pz"; qa: "cg.qa"; qb: "cg.qb"; qc: "cg.qc"; qd: "cg.qd"; qe: "cg.qe"; qf: "cg.qf"; qg: "cg.qg"; qh: "cg.qh"; qi: "cg.qi"; qj: "cg.qj"; qk: "cg.qk"; ql: "cg.ql"; qm: "cg.qm"; qn: "cg.qn"; qo: "cg.qo"; qp: "cg.qp"; qq: "cg.qq"; qr: "cg.qr"; qs: "cg.qs"; qt: "cg.qt"; qu: "cg.qu"; qv: "cg.qv"; qw: "cg.qw"; qx: "cg.qx"; qy: "cg.qy"; qz: "cg.qz"; ra: "cg.ra"; rb: "cg.rb"; rc: "cg.rc"; rd: "cg.rd"; re: "cg.re"; rf: "cg.rf"; rg: "cg.rg"; rh: "cg.rh"; ri: "cg.ri"; rj: "cg.rj"; rk: "cg.rk"; rl: "cg.rl"; rm: "cg.rm"; rn: "cg.rn"; ro: "cg.ro"; rp: "cg.rp"; rq: "cg.rq"; rr: "cg.rr"; rs: "cg.rs"; rt: "cg.rt"; ru: "cg.ru"; rv: "cg.rv"; rw: "cg.rw"; rx: "cg.rx"; ry: "cg.ry"; rz: "cg.rz"; sa: "cg.sa"; sb: "cg.sb"; sc: "cg.sc"; sd: "cg.sd"; se: "cg.se"; sf: "cg.sf"; sg: "cg.sg"; sh: "cg.sh"; si: "cg.si"; sj: "cg.sj"; sk: "cg.sk"; sl: "cg.sl"; sm: "cg.sm"; sn: "cg.sn"; so: "cg.so"; sp: "cg.sp"; sq: "cg.sq"; sr: "cg.sr"; ss: "cg.ss"; st: "cg.st"; su: "cg.su"; sv: "cg.sv"; sw: "cg.sw"; sx: "cg.sx"; sy: "cg.sy"; sz: "cg.sz"; ta: "cg.ta"; tb: "cg.tb"; tc: "cg.tc"; td: "cg.td"; te: "cg.te"; tf: "cg.tf"; tg: "cg.tg"; th: "cg.th"; ti: "cg.ti"; tj: "cg.tj"; tk: "cg.tk"; tl: "cg.tl"; tm: "cg.tm"; tn: "cg.tn"; to: "cg.to"; tp: "cg.tp"; tq: "cg.tq"; tr: "cg.tr"; ts: "cg.ts"; tt: "cg.tt"; tu: "cg.tu"; tv: "cg.tv"; tw: "cg.tw"; tx: "cg.tx"; ty: "cg.ty"; tz: "cg.tz"; ua: "cg.ua"; ub: "cg.ub"; uc: "cg.uc"; ud: "cg.ud"; ue: "cg.ue"; uf: "cg.uf"; ug: "cg.ug"; uh: "cg.uh"; ui: "cg.ui"; uj: "cg.uj"; uk: "cg.uk"; ul: "cg.ul"; um: "cg.um"; un: "cg.un"; uo: "cg.uo"; up: "cg.up"; uq: "cg.uq"; ur: "cg.ur"; us: "cg.us"; ut: "cg.ut"; uu: "cg.uu"; uv: "cg.uv"; uw: "cg.uw"; ux: "cg.ux"; uy: "cg.uy"; uz: "cg.uz"; va: "cg.va"; vb: "cg.vb"; vc: "cg.vc"; vd: "cg.vd"; ve: "cg.ve"; vf: "cg.vf"; vg: "cg.vg"; vh: "cg.vh"; vi: "cg.vi"; vj: "cg.vj"; vk: "cg.vk"; vl: "cg.vl"; vm: "cg.vm"; vn: "cg.vn"; vo: "cg.vo"; vp: "cg.vp"; vq: "cg.vq"; vr: "cg.vr"; vs: "cg.vs"; vt: "cg.vt"; vu: "cg.vu"; vv: "cg.vv"; vw: "cg.vw"; vx: "cg.vx"; vy: "cg.vy"; vz: "cg.vz"; wa: "cg.wa"; wb: "cg.wb"; wc: "cg.wc"; wd: "cg.wd"; we: "cg.we"; wf: "cg.wf"; wg: "cg.wg"; wh: "cg.wh"; wi: "cg.wi"; wj: "cg.wj"; wk: "cg.wk"; wl: "cg.wl"; wm: "cg.wm"; wn: "cg.wn"; wo: "cg.wo"; wp: "cg.wp"; wq: "cg.wq"; wr: "cg.wr"; ws: "cg.ws"; wt: "cg.wt"; wu: "cg.wu"; wv: "cg.wv"; ww: "cg.ww"; wx: "cg.wx"; wy: "cg.wy"; wz: "cg.wz"; xa: "cg.xa"; xb: "cg.xb"; xc: "cg.xc"; xd: "cg.xd"; xe: "cg.xe"; xf: "cg.xf"; xg: "cg.xg"; xh: "cg.xh"; xi: "cg.xi"; xj: "cg.xj"; xk: "cg.xk"; xl: "cg.xl"; xm: "cg.xm"; xn: "cg.xn"; xo: "cg.xo"; xp: "cg.xp"; xq: "cg.xq"; xr: "cg.xr"; xs: "cg.xs"; xt: "cg.xt"; xu: "cg.xu"; xv: "cg.xv"; xw: "cg.xw"; xx: "cg.xx"; xy: "cg.xy"; xz: "cg.xz"; ya: "cg.ya"; yb: "cg.yb"; yc: "cg.yc"; yd: "cg.yd"; ye: "cg.ye"; yf: "cg.yf"; yg: "cg.yg"; yh: "cg.yh"; yi: "cg.yi"; yj: "cg.yj"; yk: "cg.yk"; yl: "cg.yl"; ym: "cg.ym"; yn: "cg.yn"; yo: "cg.yo"; yp: "cg.yp"; yq: "cg.yq"; yr: "cg.yr"; ys: "cg.ys"; yt: "cg.yt"; yu: "cg.yu"; yv: "cg.yv"; yw: "cg.yw"; yx: "cg.yx"; yy: "cg.yy"; yz: "cg.yz"; za: "cg.za"; zb: "cg.zb"; zc: "cg.zc"; zd: "cg.zd"; ze: "cg.ze"; zf: "cg.zf"; zg: "cg.zg"; zh: "cg.zh"; zi: "cg.zi"; zj: "cg.zj"; zk: "cg.zk"; zl: "cg.zl"; zm: "cg.zm"; zn: "cg.zn"; zo: "cg.zo"; zp: "cg.zp"; zq: "cg.zq"; zr: "cg.zr"; zs: "cg.zs"; zt: "cg.zt"; zu: "cg.zu"; zv: "cg.zv"; zw: "cg.zw"; zx: "cg.zx"; zy: "cg.zy"; zz: "cg.zz"; }; ch: { aa: "ch.aa"; ab: "ch.ab"; ac: "ch.ac"; ad: "ch.ad"; ae: "ch.ae"; af: "ch.af"; ag: "ch.ag"; ah: "ch.ah"; ai: "ch.ai"; aj: "ch.aj"; ak: "ch.ak"; al: "ch.al"; am: "ch.am"; an: "ch.an"; ao: "ch.ao"; ap: "ch.ap"; aq: "ch.aq"; ar: "ch.ar"; as: "ch.as"; at: "ch.at"; au: "ch.au"; av: "ch.av"; aw: "ch.aw"; ax: "ch.ax"; ay: "ch.ay"; az: "ch.az"; ba: "ch.ba"; bb: "ch.bb"; bc: "ch.bc"; bd: "ch.bd"; be: "ch.be"; bf: "ch.bf"; bg: "ch.bg"; bh: "ch.bh"; bi: "ch.bi"; bj: "ch.bj"; bk: "ch.bk"; bl: "ch.bl"; bm: "ch.bm"; bn: "ch.bn"; bo: "ch.bo"; bp: "ch.bp"; bq: "ch.bq"; br: "ch.br"; bs: "ch.bs"; bt: "ch.bt"; bu: "ch.bu"; bv: "ch.bv"; bw: "ch.bw"; bx: "ch.bx"; by: "ch.by"; bz: "ch.bz"; ca: "ch.ca"; cb: "ch.cb"; cc: "ch.cc"; cd: "ch.cd"; ce: "ch.ce"; cf: "ch.cf"; cg: "ch.cg"; ch: "ch.ch"; ci: "ch.ci"; cj: "ch.cj"; ck: "ch.ck"; cl: "ch.cl"; cm: "ch.cm"; cn: "ch.cn"; co: "ch.co"; cp: "ch.cp"; cq: "ch.cq"; cr: "ch.cr"; cs: "ch.cs"; ct: "ch.ct"; cu: "ch.cu"; cv: "ch.cv"; cw: "ch.cw"; cx: "ch.cx"; cy: "ch.cy"; cz: "ch.cz"; da: "ch.da"; db: "ch.db"; dc: "ch.dc"; dd: "ch.dd"; de: "ch.de"; df: "ch.df"; dg: "ch.dg"; dh: "ch.dh"; di: "ch.di"; dj: "ch.dj"; dk: "ch.dk"; dl: "ch.dl"; dm: "ch.dm"; dn: "ch.dn"; do: "ch.do"; dp: "ch.dp"; dq: "ch.dq"; dr: "ch.dr"; ds: "ch.ds"; dt: "ch.dt"; du: "ch.du"; dv: "ch.dv"; dw: "ch.dw"; dx: "ch.dx"; dy: "ch.dy"; dz: "ch.dz"; ea: "ch.ea"; eb: "ch.eb"; ec: "ch.ec"; ed: "ch.ed"; ee: "ch.ee"; ef: "ch.ef"; eg: "ch.eg"; eh: "ch.eh"; ei: "ch.ei"; ej: "ch.ej"; ek: "ch.ek"; el: "ch.el"; em: "ch.em"; en: "ch.en"; eo: "ch.eo"; ep: "ch.ep"; eq: "ch.eq"; er: "ch.er"; es: "ch.es"; et: "ch.et"; eu: "ch.eu"; ev: "ch.ev"; ew: "ch.ew"; ex: "ch.ex"; ey: "ch.ey"; ez: "ch.ez"; fa: "ch.fa"; fb: "ch.fb"; fc: "ch.fc"; fd: "ch.fd"; fe: "ch.fe"; ff: "ch.ff"; fg: "ch.fg"; fh: "ch.fh"; fi: "ch.fi"; fj: "ch.fj"; fk: "ch.fk"; fl: "ch.fl"; fm: "ch.fm"; fn: "ch.fn"; fo: "ch.fo"; fp: "ch.fp"; fq: "ch.fq"; fr: "ch.fr"; fs: "ch.fs"; ft: "ch.ft"; fu: "ch.fu"; fv: "ch.fv"; fw: "ch.fw"; fx: "ch.fx"; fy: "ch.fy"; fz: "ch.fz"; ga: "ch.ga"; gb: "ch.gb"; gc: "ch.gc"; gd: "ch.gd"; ge: "ch.ge"; gf: "ch.gf"; gg: "ch.gg"; gh: "ch.gh"; gi: "ch.gi"; gj: "ch.gj"; gk: "ch.gk"; gl: "ch.gl"; gm: "ch.gm"; gn: "ch.gn"; go: "ch.go"; gp: "ch.gp"; gq: "ch.gq"; gr: "ch.gr"; gs: "ch.gs"; gt: "ch.gt"; gu: "ch.gu"; gv: "ch.gv"; gw: "ch.gw"; gx: "ch.gx"; gy: "ch.gy"; gz: "ch.gz"; ha: "ch.ha"; hb: "ch.hb"; hc: "ch.hc"; hd: "ch.hd"; he: "ch.he"; hf: "ch.hf"; hg: "ch.hg"; hh: "ch.hh"; hi: "ch.hi"; hj: "ch.hj"; hk: "ch.hk"; hl: "ch.hl"; hm: "ch.hm"; hn: "ch.hn"; ho: "ch.ho"; hp: "ch.hp"; hq: "ch.hq"; hr: "ch.hr"; hs: "ch.hs"; ht: "ch.ht"; hu: "ch.hu"; hv: "ch.hv"; hw: "ch.hw"; hx: "ch.hx"; hy: "ch.hy"; hz: "ch.hz"; ia: "ch.ia"; ib: "ch.ib"; ic: "ch.ic"; id: "ch.id"; ie: "ch.ie"; if: "ch.if"; ig: "ch.ig"; ih: "ch.ih"; ii: "ch.ii"; ij: "ch.ij"; ik: "ch.ik"; il: "ch.il"; im: "ch.im"; in: "ch.in"; io: "ch.io"; ip: "ch.ip"; iq: "ch.iq"; ir: "ch.ir"; is: "ch.is"; it: "ch.it"; iu: "ch.iu"; iv: "ch.iv"; iw: "ch.iw"; ix: "ch.ix"; iy: "ch.iy"; iz: "ch.iz"; ja: "ch.ja"; jb: "ch.jb"; jc: "ch.jc"; jd: "ch.jd"; je: "ch.je"; jf: "ch.jf"; jg: "ch.jg"; jh: "ch.jh"; ji: "ch.ji"; jj: "ch.jj"; jk: "ch.jk"; jl: "ch.jl"; jm: "ch.jm"; jn: "ch.jn"; jo: "ch.jo"; jp: "ch.jp"; jq: "ch.jq"; jr: "ch.jr"; js: "ch.js"; jt: "ch.jt"; ju: "ch.ju"; jv: "ch.jv"; jw: "ch.jw"; jx: "ch.jx"; jy: "ch.jy"; jz: "ch.jz"; ka: "ch.ka"; kb: "ch.kb"; kc: "ch.kc"; kd: "ch.kd"; ke: "ch.ke"; kf: "ch.kf"; kg: "ch.kg"; kh: "ch.kh"; ki: "ch.ki"; kj: "ch.kj"; kk: "ch.kk"; kl: "ch.kl"; km: "ch.km"; kn: "ch.kn"; ko: "ch.ko"; kp: "ch.kp"; kq: "ch.kq"; kr: "ch.kr"; ks: "ch.ks"; kt: "ch.kt"; ku: "ch.ku"; kv: "ch.kv"; kw: "ch.kw"; kx: "ch.kx"; ky: "ch.ky"; kz: "ch.kz"; la: "ch.la"; lb: "ch.lb"; lc: "ch.lc"; ld: "ch.ld"; le: "ch.le"; lf: "ch.lf"; lg: "ch.lg"; lh: "ch.lh"; li: "ch.li"; lj: "ch.lj"; lk: "ch.lk"; ll: "ch.ll"; lm: "ch.lm"; ln: "ch.ln"; lo: "ch.lo"; lp: "ch.lp"; lq: "ch.lq"; lr: "ch.lr"; ls: "ch.ls"; lt: "ch.lt"; lu: "ch.lu"; lv: "ch.lv"; lw: "ch.lw"; lx: "ch.lx"; ly: "ch.ly"; lz: "ch.lz"; ma: "ch.ma"; mb: "ch.mb"; mc: "ch.mc"; md: "ch.md"; me: "ch.me"; mf: "ch.mf"; mg: "ch.mg"; mh: "ch.mh"; mi: "ch.mi"; mj: "ch.mj"; mk: "ch.mk"; ml: "ch.ml"; mm: "ch.mm"; mn: "ch.mn"; mo: "ch.mo"; mp: "ch.mp"; mq: "ch.mq"; mr: "ch.mr"; ms: "ch.ms"; mt: "ch.mt"; mu: "ch.mu"; mv: "ch.mv"; mw: "ch.mw"; mx: "ch.mx"; my: "ch.my"; mz: "ch.mz"; na: "ch.na"; nb: "ch.nb"; nc: "ch.nc"; nd: "ch.nd"; ne: "ch.ne"; nf: "ch.nf"; ng: "ch.ng"; nh: "ch.nh"; ni: "ch.ni"; nj: "ch.nj"; nk: "ch.nk"; nl: "ch.nl"; nm: "ch.nm"; nn: "ch.nn"; no: "ch.no"; np: "ch.np"; nq: "ch.nq"; nr: "ch.nr"; ns: "ch.ns"; nt: "ch.nt"; nu: "ch.nu"; nv: "ch.nv"; nw: "ch.nw"; nx: "ch.nx"; ny: "ch.ny"; nz: "ch.nz"; oa: "ch.oa"; ob: "ch.ob"; oc: "ch.oc"; od: "ch.od"; oe: "ch.oe"; of: "ch.of"; og: "ch.og"; oh: "ch.oh"; oi: "ch.oi"; oj: "ch.oj"; ok: "ch.ok"; ol: "ch.ol"; om: "ch.om"; on: "ch.on"; oo: "ch.oo"; op: "ch.op"; oq: "ch.oq"; or: "ch.or"; os: "ch.os"; ot: "ch.ot"; ou: "ch.ou"; ov: "ch.ov"; ow: "ch.ow"; ox: "ch.ox"; oy: "ch.oy"; oz: "ch.oz"; pa: "ch.pa"; pb: "ch.pb"; pc: "ch.pc"; pd: "ch.pd"; pe: "ch.pe"; pf: "ch.pf"; pg: "ch.pg"; ph: "ch.ph"; pi: "ch.pi"; pj: "ch.pj"; pk: "ch.pk"; pl: "ch.pl"; pm: "ch.pm"; pn: "ch.pn"; po: "ch.po"; pp: "ch.pp"; pq: "ch.pq"; pr: "ch.pr"; ps: "ch.ps"; pt: "ch.pt"; pu: "ch.pu"; pv: "ch.pv"; pw: "ch.pw"; px: "ch.px"; py: "ch.py"; pz: "ch.pz"; qa: "ch.qa"; qb: "ch.qb"; qc: "ch.qc"; qd: "ch.qd"; qe: "ch.qe"; qf: "ch.qf"; qg: "ch.qg"; qh: "ch.qh"; qi: "ch.qi"; qj: "ch.qj"; qk: "ch.qk"; ql: "ch.ql"; qm: "ch.qm"; qn: "ch.qn"; qo: "ch.qo"; qp: "ch.qp"; qq: "ch.qq"; qr: "ch.qr"; qs: "ch.qs"; qt: "ch.qt"; qu: "ch.qu"; qv: "ch.qv"; qw: "ch.qw"; qx: "ch.qx"; qy: "ch.qy"; qz: "ch.qz"; ra: "ch.ra"; rb: "ch.rb"; rc: "ch.rc"; rd: "ch.rd"; re: "ch.re"; rf: "ch.rf"; rg: "ch.rg"; rh: "ch.rh"; ri: "ch.ri"; rj: "ch.rj"; rk: "ch.rk"; rl: "ch.rl"; rm: "ch.rm"; rn: "ch.rn"; ro: "ch.ro"; rp: "ch.rp"; rq: "ch.rq"; rr: "ch.rr"; rs: "ch.rs"; rt: "ch.rt"; ru: "ch.ru"; rv: "ch.rv"; rw: "ch.rw"; rx: "ch.rx"; ry: "ch.ry"; rz: "ch.rz"; sa: "ch.sa"; sb: "ch.sb"; sc: "ch.sc"; sd: "ch.sd"; se: "ch.se"; sf: "ch.sf"; sg: "ch.sg"; sh: "ch.sh"; si: "ch.si"; sj: "ch.sj"; sk: "ch.sk"; sl: "ch.sl"; sm: "ch.sm"; sn: "ch.sn"; so: "ch.so"; sp: "ch.sp"; sq: "ch.sq"; sr: "ch.sr"; ss: "ch.ss"; st: "ch.st"; su: "ch.su"; sv: "ch.sv"; sw: "ch.sw"; sx: "ch.sx"; sy: "ch.sy"; sz: "ch.sz"; ta: "ch.ta"; tb: "ch.tb"; tc: "ch.tc"; td: "ch.td"; te: "ch.te"; tf: "ch.tf"; tg: "ch.tg"; th: "ch.th"; ti: "ch.ti"; tj: "ch.tj"; tk: "ch.tk"; tl: "ch.tl"; tm: "ch.tm"; tn: "ch.tn"; to: "ch.to"; tp: "ch.tp"; tq: "ch.tq"; tr: "ch.tr"; ts: "ch.ts"; tt: "ch.tt"; tu: "ch.tu"; tv: "ch.tv"; tw: "ch.tw"; tx: "ch.tx"; ty: "ch.ty"; tz: "ch.tz"; ua: "ch.ua"; ub: "ch.ub"; uc: "ch.uc"; ud: "ch.ud"; ue: "ch.ue"; uf: "ch.uf"; ug: "ch.ug"; uh: "ch.uh"; ui: "ch.ui"; uj: "ch.uj"; uk: "ch.uk"; ul: "ch.ul"; um: "ch.um"; un: "ch.un"; uo: "ch.uo"; up: "ch.up"; uq: "ch.uq"; ur: "ch.ur"; us: "ch.us"; ut: "ch.ut"; uu: "ch.uu"; uv: "ch.uv"; uw: "ch.uw"; ux: "ch.ux"; uy: "ch.uy"; uz: "ch.uz"; va: "ch.va"; vb: "ch.vb"; vc: "ch.vc"; vd: "ch.vd"; ve: "ch.ve"; vf: "ch.vf"; vg: "ch.vg"; vh: "ch.vh"; vi: "ch.vi"; vj: "ch.vj"; vk: "ch.vk"; vl: "ch.vl"; vm: "ch.vm"; vn: "ch.vn"; vo: "ch.vo"; vp: "ch.vp"; vq: "ch.vq"; vr: "ch.vr"; vs: "ch.vs"; vt: "ch.vt"; vu: "ch.vu"; vv: "ch.vv"; vw: "ch.vw"; vx: "ch.vx"; vy: "ch.vy"; vz: "ch.vz"; wa: "ch.wa"; wb: "ch.wb"; wc: "ch.wc"; wd: "ch.wd"; we: "ch.we"; wf: "ch.wf"; wg: "ch.wg"; wh: "ch.wh"; wi: "ch.wi"; wj: "ch.wj"; wk: "ch.wk"; wl: "ch.wl"; wm: "ch.wm"; wn: "ch.wn"; wo: "ch.wo"; wp: "ch.wp"; wq: "ch.wq"; wr: "ch.wr"; ws: "ch.ws"; wt: "ch.wt"; wu: "ch.wu"; wv: "ch.wv"; ww: "ch.ww"; wx: "ch.wx"; wy: "ch.wy"; wz: "ch.wz"; xa: "ch.xa"; xb: "ch.xb"; xc: "ch.xc"; xd: "ch.xd"; xe: "ch.xe"; xf: "ch.xf"; xg: "ch.xg"; xh: "ch.xh"; xi: "ch.xi"; xj: "ch.xj"; xk: "ch.xk"; xl: "ch.xl"; xm: "ch.xm"; xn: "ch.xn"; xo: "ch.xo"; xp: "ch.xp"; xq: "ch.xq"; xr: "ch.xr"; xs: "ch.xs"; xt: "ch.xt"; xu: "ch.xu"; xv: "ch.xv"; xw: "ch.xw"; xx: "ch.xx"; xy: "ch.xy"; xz: "ch.xz"; ya: "ch.ya"; yb: "ch.yb"; yc: "ch.yc"; yd: "ch.yd"; ye: "ch.ye"; yf: "ch.yf"; yg: "ch.yg"; yh: "ch.yh"; yi: "ch.yi"; yj: "ch.yj"; yk: "ch.yk"; yl: "ch.yl"; ym: "ch.ym"; yn: "ch.yn"; yo: "ch.yo"; yp: "ch.yp"; yq: "ch.yq"; yr: "ch.yr"; ys: "ch.ys"; yt: "ch.yt"; yu: "ch.yu"; yv: "ch.yv"; yw: "ch.yw"; yx: "ch.yx"; yy: "ch.yy"; yz: "ch.yz"; za: "ch.za"; zb: "ch.zb"; zc: "ch.zc"; zd: "ch.zd"; ze: "ch.ze"; zf: "ch.zf"; zg: "ch.zg"; zh: "ch.zh"; zi: "ch.zi"; zj: "ch.zj"; zk: "ch.zk"; zl: "ch.zl"; zm: "ch.zm"; zn: "ch.zn"; zo: "ch.zo"; zp: "ch.zp"; zq: "ch.zq"; zr: "ch.zr"; zs: "ch.zs"; zt: "ch.zt"; zu: "ch.zu"; zv: "ch.zv"; zw: "ch.zw"; zx: "ch.zx"; zy: "ch.zy"; zz: "ch.zz"; }; ci: { aa: "ci.aa"; ab: "ci.ab"; ac: "ci.ac"; ad: "ci.ad"; ae: "ci.ae"; af: "ci.af"; ag: "ci.ag"; ah: "ci.ah"; ai: "ci.ai"; aj: "ci.aj"; ak: "ci.ak"; al: "ci.al"; am: "ci.am"; an: "ci.an"; ao: "ci.ao"; ap: "ci.ap"; aq: "ci.aq"; ar: "ci.ar"; as: "ci.as"; at: "ci.at"; au: "ci.au"; av: "ci.av"; aw: "ci.aw"; ax: "ci.ax"; ay: "ci.ay"; az: "ci.az"; ba: "ci.ba"; bb: "ci.bb"; bc: "ci.bc"; bd: "ci.bd"; be: "ci.be"; bf: "ci.bf"; bg: "ci.bg"; bh: "ci.bh"; bi: "ci.bi"; bj: "ci.bj"; bk: "ci.bk"; bl: "ci.bl"; bm: "ci.bm"; bn: "ci.bn"; bo: "ci.bo"; bp: "ci.bp"; bq: "ci.bq"; br: "ci.br"; bs: "ci.bs"; bt: "ci.bt"; bu: "ci.bu"; bv: "ci.bv"; bw: "ci.bw"; bx: "ci.bx"; by: "ci.by"; bz: "ci.bz"; ca: "ci.ca"; cb: "ci.cb"; cc: "ci.cc"; cd: "ci.cd"; ce: "ci.ce"; cf: "ci.cf"; cg: "ci.cg"; ch: "ci.ch"; ci: "ci.ci"; cj: "ci.cj"; ck: "ci.ck"; cl: "ci.cl"; cm: "ci.cm"; cn: "ci.cn"; co: "ci.co"; cp: "ci.cp"; cq: "ci.cq"; cr: "ci.cr"; cs: "ci.cs"; ct: "ci.ct"; cu: "ci.cu"; cv: "ci.cv"; cw: "ci.cw"; cx: "ci.cx"; cy: "ci.cy"; cz: "ci.cz"; da: "ci.da"; db: "ci.db"; dc: "ci.dc"; dd: "ci.dd"; de: "ci.de"; df: "ci.df"; dg: "ci.dg"; dh: "ci.dh"; di: "ci.di"; dj: "ci.dj"; dk: "ci.dk"; dl: "ci.dl"; dm: "ci.dm"; dn: "ci.dn"; do: "ci.do"; dp: "ci.dp"; dq: "ci.dq"; dr: "ci.dr"; ds: "ci.ds"; dt: "ci.dt"; du: "ci.du"; dv: "ci.dv"; dw: "ci.dw"; dx: "ci.dx"; dy: "ci.dy"; dz: "ci.dz"; ea: "ci.ea"; eb: "ci.eb"; ec: "ci.ec"; ed: "ci.ed"; ee: "ci.ee"; ef: "ci.ef"; eg: "ci.eg"; eh: "ci.eh"; ei: "ci.ei"; ej: "ci.ej"; ek: "ci.ek"; el: "ci.el"; em: "ci.em"; en: "ci.en"; eo: "ci.eo"; ep: "ci.ep"; eq: "ci.eq"; er: "ci.er"; es: "ci.es"; et: "ci.et"; eu: "ci.eu"; ev: "ci.ev"; ew: "ci.ew"; ex: "ci.ex"; ey: "ci.ey"; ez: "ci.ez"; fa: "ci.fa"; fb: "ci.fb"; fc: "ci.fc"; fd: "ci.fd"; fe: "ci.fe"; ff: "ci.ff"; fg: "ci.fg"; fh: "ci.fh"; fi: "ci.fi"; fj: "ci.fj"; fk: "ci.fk"; fl: "ci.fl"; fm: "ci.fm"; fn: "ci.fn"; fo: "ci.fo"; fp: "ci.fp"; fq: "ci.fq"; fr: "ci.fr"; fs: "ci.fs"; ft: "ci.ft"; fu: "ci.fu"; fv: "ci.fv"; fw: "ci.fw"; fx: "ci.fx"; fy: "ci.fy"; fz: "ci.fz"; ga: "ci.ga"; gb: "ci.gb"; gc: "ci.gc"; gd: "ci.gd"; ge: "ci.ge"; gf: "ci.gf"; gg: "ci.gg"; gh: "ci.gh"; gi: "ci.gi"; gj: "ci.gj"; gk: "ci.gk"; gl: "ci.gl"; gm: "ci.gm"; gn: "ci.gn"; go: "ci.go"; gp: "ci.gp"; gq: "ci.gq"; gr: "ci.gr"; gs: "ci.gs"; gt: "ci.gt"; gu: "ci.gu"; gv: "ci.gv"; gw: "ci.gw"; gx: "ci.gx"; gy: "ci.gy"; gz: "ci.gz"; ha: "ci.ha"; hb: "ci.hb"; hc: "ci.hc"; hd: "ci.hd"; he: "ci.he"; hf: "ci.hf"; hg: "ci.hg"; hh: "ci.hh"; hi: "ci.hi"; hj: "ci.hj"; hk: "ci.hk"; hl: "ci.hl"; hm: "ci.hm"; hn: "ci.hn"; ho: "ci.ho"; hp: "ci.hp"; hq: "ci.hq"; hr: "ci.hr"; hs: "ci.hs"; ht: "ci.ht"; hu: "ci.hu"; hv: "ci.hv"; hw: "ci.hw"; hx: "ci.hx"; hy: "ci.hy"; hz: "ci.hz"; ia: "ci.ia"; ib: "ci.ib"; ic: "ci.ic"; id: "ci.id"; ie: "ci.ie"; if: "ci.if"; ig: "ci.ig"; ih: "ci.ih"; ii: "ci.ii"; ij: "ci.ij"; ik: "ci.ik"; il: "ci.il"; im: "ci.im"; in: "ci.in"; io: "ci.io"; ip: "ci.ip"; iq: "ci.iq"; ir: "ci.ir"; is: "ci.is"; it: "ci.it"; iu: "ci.iu"; iv: "ci.iv"; iw: "ci.iw"; ix: "ci.ix"; iy: "ci.iy"; iz: "ci.iz"; ja: "ci.ja"; jb: "ci.jb"; jc: "ci.jc"; jd: "ci.jd"; je: "ci.je"; jf: "ci.jf"; jg: "ci.jg"; jh: "ci.jh"; ji: "ci.ji"; jj: "ci.jj"; jk: "ci.jk"; jl: "ci.jl"; jm: "ci.jm"; jn: "ci.jn"; jo: "ci.jo"; jp: "ci.jp"; jq: "ci.jq"; jr: "ci.jr"; js: "ci.js"; jt: "ci.jt"; ju: "ci.ju"; jv: "ci.jv"; jw: "ci.jw"; jx: "ci.jx"; jy: "ci.jy"; jz: "ci.jz"; ka: "ci.ka"; kb: "ci.kb"; kc: "ci.kc"; kd: "ci.kd"; ke: "ci.ke"; kf: "ci.kf"; kg: "ci.kg"; kh: "ci.kh"; ki: "ci.ki"; kj: "ci.kj"; kk: "ci.kk"; kl: "ci.kl"; km: "ci.km"; kn: "ci.kn"; ko: "ci.ko"; kp: "ci.kp"; kq: "ci.kq"; kr: "ci.kr"; ks: "ci.ks"; kt: "ci.kt"; ku: "ci.ku"; kv: "ci.kv"; kw: "ci.kw"; kx: "ci.kx"; ky: "ci.ky"; kz: "ci.kz"; la: "ci.la"; lb: "ci.lb"; lc: "ci.lc"; ld: "ci.ld"; le: "ci.le"; lf: "ci.lf"; lg: "ci.lg"; lh: "ci.lh"; li: "ci.li"; lj: "ci.lj"; lk: "ci.lk"; ll: "ci.ll"; lm: "ci.lm"; ln: "ci.ln"; lo: "ci.lo"; lp: "ci.lp"; lq: "ci.lq"; lr: "ci.lr"; ls: "ci.ls"; lt: "ci.lt"; lu: "ci.lu"; lv: "ci.lv"; lw: "ci.lw"; lx: "ci.lx"; ly: "ci.ly"; lz: "ci.lz"; ma: "ci.ma"; mb: "ci.mb"; mc: "ci.mc"; md: "ci.md"; me: "ci.me"; mf: "ci.mf"; mg: "ci.mg"; mh: "ci.mh"; mi: "ci.mi"; mj: "ci.mj"; mk: "ci.mk"; ml: "ci.ml"; mm: "ci.mm"; mn: "ci.mn"; mo: "ci.mo"; mp: "ci.mp"; mq: "ci.mq"; mr: "ci.mr"; ms: "ci.ms"; mt: "ci.mt"; mu: "ci.mu"; mv: "ci.mv"; mw: "ci.mw"; mx: "ci.mx"; my: "ci.my"; mz: "ci.mz"; na: "ci.na"; nb: "ci.nb"; nc: "ci.nc"; nd: "ci.nd"; ne: "ci.ne"; nf: "ci.nf"; ng: "ci.ng"; nh: "ci.nh"; ni: "ci.ni"; nj: "ci.nj"; nk: "ci.nk"; nl: "ci.nl"; nm: "ci.nm"; nn: "ci.nn"; no: "ci.no"; np: "ci.np"; nq: "ci.nq"; nr: "ci.nr"; ns: "ci.ns"; nt: "ci.nt"; nu: "ci.nu"; nv: "ci.nv"; nw: "ci.nw"; nx: "ci.nx"; ny: "ci.ny"; nz: "ci.nz"; oa: "ci.oa"; ob: "ci.ob"; oc: "ci.oc"; od: "ci.od"; oe: "ci.oe"; of: "ci.of"; og: "ci.og"; oh: "ci.oh"; oi: "ci.oi"; oj: "ci.oj"; ok: "ci.ok"; ol: "ci.ol"; om: "ci.om"; on: "ci.on"; oo: "ci.oo"; op: "ci.op"; oq: "ci.oq"; or: "ci.or"; os: "ci.os"; ot: "ci.ot"; ou: "ci.ou"; ov: "ci.ov"; ow: "ci.ow"; ox: "ci.ox"; oy: "ci.oy"; oz: "ci.oz"; pa: "ci.pa"; pb: "ci.pb"; pc: "ci.pc"; pd: "ci.pd"; pe: "ci.pe"; pf: "ci.pf"; pg: "ci.pg"; ph: "ci.ph"; pi: "ci.pi"; pj: "ci.pj"; pk: "ci.pk"; pl: "ci.pl"; pm: "ci.pm"; pn: "ci.pn"; po: "ci.po"; pp: "ci.pp"; pq: "ci.pq"; pr: "ci.pr"; ps: "ci.ps"; pt: "ci.pt"; pu: "ci.pu"; pv: "ci.pv"; pw: "ci.pw"; px: "ci.px"; py: "ci.py"; pz: "ci.pz"; qa: "ci.qa"; qb: "ci.qb"; qc: "ci.qc"; qd: "ci.qd"; qe: "ci.qe"; qf: "ci.qf"; qg: "ci.qg"; qh: "ci.qh"; qi: "ci.qi"; qj: "ci.qj"; qk: "ci.qk"; ql: "ci.ql"; qm: "ci.qm"; qn: "ci.qn"; qo: "ci.qo"; qp: "ci.qp"; qq: "ci.qq"; qr: "ci.qr"; qs: "ci.qs"; qt: "ci.qt"; qu: "ci.qu"; qv: "ci.qv"; qw: "ci.qw"; qx: "ci.qx"; qy: "ci.qy"; qz: "ci.qz"; ra: "ci.ra"; rb: "ci.rb"; rc: "ci.rc"; rd: "ci.rd"; re: "ci.re"; rf: "ci.rf"; rg: "ci.rg"; rh: "ci.rh"; ri: "ci.ri"; rj: "ci.rj"; rk: "ci.rk"; rl: "ci.rl"; rm: "ci.rm"; rn: "ci.rn"; ro: "ci.ro"; rp: "ci.rp"; rq: "ci.rq"; rr: "ci.rr"; rs: "ci.rs"; rt: "ci.rt"; ru: "ci.ru"; rv: "ci.rv"; rw: "ci.rw"; rx: "ci.rx"; ry: "ci.ry"; rz: "ci.rz"; sa: "ci.sa"; sb: "ci.sb"; sc: "ci.sc"; sd: "ci.sd"; se: "ci.se"; sf: "ci.sf"; sg: "ci.sg"; sh: "ci.sh"; si: "ci.si"; sj: "ci.sj"; sk: "ci.sk"; sl: "ci.sl"; sm: "ci.sm"; sn: "ci.sn"; so: "ci.so"; sp: "ci.sp"; sq: "ci.sq"; sr: "ci.sr"; ss: "ci.ss"; st: "ci.st"; su: "ci.su"; sv: "ci.sv"; sw: "ci.sw"; sx: "ci.sx"; sy: "ci.sy"; sz: "ci.sz"; ta: "ci.ta"; tb: "ci.tb"; tc: "ci.tc"; td: "ci.td"; te: "ci.te"; tf: "ci.tf"; tg: "ci.tg"; th: "ci.th"; ti: "ci.ti"; tj: "ci.tj"; tk: "ci.tk"; tl: "ci.tl"; tm: "ci.tm"; tn: "ci.tn"; to: "ci.to"; tp: "ci.tp"; tq: "ci.tq"; tr: "ci.tr"; ts: "ci.ts"; tt: "ci.tt"; tu: "ci.tu"; tv: "ci.tv"; tw: "ci.tw"; tx: "ci.tx"; ty: "ci.ty"; tz: "ci.tz"; ua: "ci.ua"; ub: "ci.ub"; uc: "ci.uc"; ud: "ci.ud"; ue: "ci.ue"; uf: "ci.uf"; ug: "ci.ug"; uh: "ci.uh"; ui: "ci.ui"; uj: "ci.uj"; uk: "ci.uk"; ul: "ci.ul"; um: "ci.um"; un: "ci.un"; uo: "ci.uo"; up: "ci.up"; uq: "ci.uq"; ur: "ci.ur"; us: "ci.us"; ut: "ci.ut"; uu: "ci.uu"; uv: "ci.uv"; uw: "ci.uw"; ux: "ci.ux"; uy: "ci.uy"; uz: "ci.uz"; va: "ci.va"; vb: "ci.vb"; vc: "ci.vc"; vd: "ci.vd"; ve: "ci.ve"; vf: "ci.vf"; vg: "ci.vg"; vh: "ci.vh"; vi: "ci.vi"; vj: "ci.vj"; vk: "ci.vk"; vl: "ci.vl"; vm: "ci.vm"; vn: "ci.vn"; vo: "ci.vo"; vp: "ci.vp"; vq: "ci.vq"; vr: "ci.vr"; vs: "ci.vs"; vt: "ci.vt"; vu: "ci.vu"; vv: "ci.vv"; vw: "ci.vw"; vx: "ci.vx"; vy: "ci.vy"; vz: "ci.vz"; wa: "ci.wa"; wb: "ci.wb"; wc: "ci.wc"; wd: "ci.wd"; we: "ci.we"; wf: "ci.wf"; wg: "ci.wg"; wh: "ci.wh"; wi: "ci.wi"; wj: "ci.wj"; wk: "ci.wk"; wl: "ci.wl"; wm: "ci.wm"; wn: "ci.wn"; wo: "ci.wo"; wp: "ci.wp"; wq: "ci.wq"; wr: "ci.wr"; ws: "ci.ws"; wt: "ci.wt"; wu: "ci.wu"; wv: "ci.wv"; ww: "ci.ww"; wx: "ci.wx"; wy: "ci.wy"; wz: "ci.wz"; xa: "ci.xa"; xb: "ci.xb"; xc: "ci.xc"; xd: "ci.xd"; xe: "ci.xe"; xf: "ci.xf"; xg: "ci.xg"; xh: "ci.xh"; xi: "ci.xi"; xj: "ci.xj"; xk: "ci.xk"; xl: "ci.xl"; xm: "ci.xm"; xn: "ci.xn"; xo: "ci.xo"; xp: "ci.xp"; xq: "ci.xq"; xr: "ci.xr"; xs: "ci.xs"; xt: "ci.xt"; xu: "ci.xu"; xv: "ci.xv"; xw: "ci.xw"; xx: "ci.xx"; xy: "ci.xy"; xz: "ci.xz"; ya: "ci.ya"; yb: "ci.yb"; yc: "ci.yc"; yd: "ci.yd"; ye: "ci.ye"; yf: "ci.yf"; yg: "ci.yg"; yh: "ci.yh"; yi: "ci.yi"; yj: "ci.yj"; yk: "ci.yk"; yl: "ci.yl"; ym: "ci.ym"; yn: "ci.yn"; yo: "ci.yo"; yp: "ci.yp"; yq: "ci.yq"; yr: "ci.yr"; ys: "ci.ys"; yt: "ci.yt"; yu: "ci.yu"; yv: "ci.yv"; yw: "ci.yw"; yx: "ci.yx"; yy: "ci.yy"; yz: "ci.yz"; za: "ci.za"; zb: "ci.zb"; zc: "ci.zc"; zd: "ci.zd"; ze: "ci.ze"; zf: "ci.zf"; zg: "ci.zg"; zh: "ci.zh"; zi: "ci.zi"; zj: "ci.zj"; zk: "ci.zk"; zl: "ci.zl"; zm: "ci.zm"; zn: "ci.zn"; zo: "ci.zo"; zp: "ci.zp"; zq: "ci.zq"; zr: "ci.zr"; zs: "ci.zs"; zt: "ci.zt"; zu: "ci.zu"; zv: "ci.zv"; zw: "ci.zw"; zx: "ci.zx"; zy: "ci.zy"; zz: "ci.zz"; }; cj: { aa: "cj.aa"; ab: "cj.ab"; ac: "cj.ac"; ad: "cj.ad"; ae: "cj.ae"; af: "cj.af"; ag: "cj.ag"; ah: "cj.ah"; ai: "cj.ai"; aj: "cj.aj"; ak: "cj.ak"; al: "cj.al"; am: "cj.am"; an: "cj.an"; ao: "cj.ao"; ap: "cj.ap"; aq: "cj.aq"; ar: "cj.ar"; as: "cj.as"; at: "cj.at"; au: "cj.au"; av: "cj.av"; aw: "cj.aw"; ax: "cj.ax"; ay: "cj.ay"; az: "cj.az"; ba: "cj.ba"; bb: "cj.bb"; bc: "cj.bc"; bd: "cj.bd"; be: "cj.be"; bf: "cj.bf"; bg: "cj.bg"; bh: "cj.bh"; bi: "cj.bi"; bj: "cj.bj"; bk: "cj.bk"; bl: "cj.bl"; bm: "cj.bm"; bn: "cj.bn"; bo: "cj.bo"; bp: "cj.bp"; bq: "cj.bq"; br: "cj.br"; bs: "cj.bs"; bt: "cj.bt"; bu: "cj.bu"; bv: "cj.bv"; bw: "cj.bw"; bx: "cj.bx"; by: "cj.by"; bz: "cj.bz"; ca: "cj.ca"; cb: "cj.cb"; cc: "cj.cc"; cd: "cj.cd"; ce: "cj.ce"; cf: "cj.cf"; cg: "cj.cg"; ch: "cj.ch"; ci: "cj.ci"; cj: "cj.cj"; ck: "cj.ck"; cl: "cj.cl"; cm: "cj.cm"; cn: "cj.cn"; co: "cj.co"; cp: "cj.cp"; cq: "cj.cq"; cr: "cj.cr"; cs: "cj.cs"; ct: "cj.ct"; cu: "cj.cu"; cv: "cj.cv"; cw: "cj.cw"; cx: "cj.cx"; cy: "cj.cy"; cz: "cj.cz"; da: "cj.da"; db: "cj.db"; dc: "cj.dc"; dd: "cj.dd"; de: "cj.de"; df: "cj.df"; dg: "cj.dg"; dh: "cj.dh"; di: "cj.di"; dj: "cj.dj"; dk: "cj.dk"; dl: "cj.dl"; dm: "cj.dm"; dn: "cj.dn"; do: "cj.do"; dp: "cj.dp"; dq: "cj.dq"; dr: "cj.dr"; ds: "cj.ds"; dt: "cj.dt"; du: "cj.du"; dv: "cj.dv"; dw: "cj.dw"; dx: "cj.dx"; dy: "cj.dy"; dz: "cj.dz"; ea: "cj.ea"; eb: "cj.eb"; ec: "cj.ec"; ed: "cj.ed"; ee: "cj.ee"; ef: "cj.ef"; eg: "cj.eg"; eh: "cj.eh"; ei: "cj.ei"; ej: "cj.ej"; ek: "cj.ek"; el: "cj.el"; em: "cj.em"; en: "cj.en"; eo: "cj.eo"; ep: "cj.ep"; eq: "cj.eq"; er: "cj.er"; es: "cj.es"; et: "cj.et"; eu: "cj.eu"; ev: "cj.ev"; ew: "cj.ew"; ex: "cj.ex"; ey: "cj.ey"; ez: "cj.ez"; fa: "cj.fa"; fb: "cj.fb"; fc: "cj.fc"; fd: "cj.fd"; fe: "cj.fe"; ff: "cj.ff"; fg: "cj.fg"; fh: "cj.fh"; fi: "cj.fi"; fj: "cj.fj"; fk: "cj.fk"; fl: "cj.fl"; fm: "cj.fm"; fn: "cj.fn"; fo: "cj.fo"; fp: "cj.fp"; fq: "cj.fq"; fr: "cj.fr"; fs: "cj.fs"; ft: "cj.ft"; fu: "cj.fu"; fv: "cj.fv"; fw: "cj.fw"; fx: "cj.fx"; fy: "cj.fy"; fz: "cj.fz"; ga: "cj.ga"; gb: "cj.gb"; gc: "cj.gc"; gd: "cj.gd"; ge: "cj.ge"; gf: "cj.gf"; gg: "cj.gg"; gh: "cj.gh"; gi: "cj.gi"; gj: "cj.gj"; gk: "cj.gk"; gl: "cj.gl"; gm: "cj.gm"; gn: "cj.gn"; go: "cj.go"; gp: "cj.gp"; gq: "cj.gq"; gr: "cj.gr"; gs: "cj.gs"; gt: "cj.gt"; gu: "cj.gu"; gv: "cj.gv"; gw: "cj.gw"; gx: "cj.gx"; gy: "cj.gy"; gz: "cj.gz"; ha: "cj.ha"; hb: "cj.hb"; hc: "cj.hc"; hd: "cj.hd"; he: "cj.he"; hf: "cj.hf"; hg: "cj.hg"; hh: "cj.hh"; hi: "cj.hi"; hj: "cj.hj"; hk: "cj.hk"; hl: "cj.hl"; hm: "cj.hm"; hn: "cj.hn"; ho: "cj.ho"; hp: "cj.hp"; hq: "cj.hq"; hr: "cj.hr"; hs: "cj.hs"; ht: "cj.ht"; hu: "cj.hu"; hv: "cj.hv"; hw: "cj.hw"; hx: "cj.hx"; hy: "cj.hy"; hz: "cj.hz"; ia: "cj.ia"; ib: "cj.ib"; ic: "cj.ic"; id: "cj.id"; ie: "cj.ie"; if: "cj.if"; ig: "cj.ig"; ih: "cj.ih"; ii: "cj.ii"; ij: "cj.ij"; ik: "cj.ik"; il: "cj.il"; im: "cj.im"; in: "cj.in"; io: "cj.io"; ip: "cj.ip"; iq: "cj.iq"; ir: "cj.ir"; is: "cj.is"; it: "cj.it"; iu: "cj.iu"; iv: "cj.iv"; iw: "cj.iw"; ix: "cj.ix"; iy: "cj.iy"; iz: "cj.iz"; ja: "cj.ja"; jb: "cj.jb"; jc: "cj.jc"; jd: "cj.jd"; je: "cj.je"; jf: "cj.jf"; jg: "cj.jg"; jh: "cj.jh"; ji: "cj.ji"; jj: "cj.jj"; jk: "cj.jk"; jl: "cj.jl"; jm: "cj.jm"; jn: "cj.jn"; jo: "cj.jo"; jp: "cj.jp"; jq: "cj.jq"; jr: "cj.jr"; js: "cj.js"; jt: "cj.jt"; ju: "cj.ju"; jv: "cj.jv"; jw: "cj.jw"; jx: "cj.jx"; jy: "cj.jy"; jz: "cj.jz"; ka: "cj.ka"; kb: "cj.kb"; kc: "cj.kc"; kd: "cj.kd"; ke: "cj.ke"; kf: "cj.kf"; kg: "cj.kg"; kh: "cj.kh"; ki: "cj.ki"; kj: "cj.kj"; kk: "cj.kk"; kl: "cj.kl"; km: "cj.km"; kn: "cj.kn"; ko: "cj.ko"; kp: "cj.kp"; kq: "cj.kq"; kr: "cj.kr"; ks: "cj.ks"; kt: "cj.kt"; ku: "cj.ku"; kv: "cj.kv"; kw: "cj.kw"; kx: "cj.kx"; ky: "cj.ky"; kz: "cj.kz"; la: "cj.la"; lb: "cj.lb"; lc: "cj.lc"; ld: "cj.ld"; le: "cj.le"; lf: "cj.lf"; lg: "cj.lg"; lh: "cj.lh"; li: "cj.li"; lj: "cj.lj"; lk: "cj.lk"; ll: "cj.ll"; lm: "cj.lm"; ln: "cj.ln"; lo: "cj.lo"; lp: "cj.lp"; lq: "cj.lq"; lr: "cj.lr"; ls: "cj.ls"; lt: "cj.lt"; lu: "cj.lu"; lv: "cj.lv"; lw: "cj.lw"; lx: "cj.lx"; ly: "cj.ly"; lz: "cj.lz"; ma: "cj.ma"; mb: "cj.mb"; mc: "cj.mc"; md: "cj.md"; me: "cj.me"; mf: "cj.mf"; mg: "cj.mg"; mh: "cj.mh"; mi: "cj.mi"; mj: "cj.mj"; mk: "cj.mk"; ml: "cj.ml"; mm: "cj.mm"; mn: "cj.mn"; mo: "cj.mo"; mp: "cj.mp"; mq: "cj.mq"; mr: "cj.mr"; ms: "cj.ms"; mt: "cj.mt"; mu: "cj.mu"; mv: "cj.mv"; mw: "cj.mw"; mx: "cj.mx"; my: "cj.my"; mz: "cj.mz"; na: "cj.na"; nb: "cj.nb"; nc: "cj.nc"; nd: "cj.nd"; ne: "cj.ne"; nf: "cj.nf"; ng: "cj.ng"; nh: "cj.nh"; ni: "cj.ni"; nj: "cj.nj"; nk: "cj.nk"; nl: "cj.nl"; nm: "cj.nm"; nn: "cj.nn"; no: "cj.no"; np: "cj.np"; nq: "cj.nq"; nr: "cj.nr"; ns: "cj.ns"; nt: "cj.nt"; nu: "cj.nu"; nv: "cj.nv"; nw: "cj.nw"; nx: "cj.nx"; ny: "cj.ny"; nz: "cj.nz"; oa: "cj.oa"; ob: "cj.ob"; oc: "cj.oc"; od: "cj.od"; oe: "cj.oe"; of: "cj.of"; og: "cj.og"; oh: "cj.oh"; oi: "cj.oi"; oj: "cj.oj"; ok: "cj.ok"; ol: "cj.ol"; om: "cj.om"; on: "cj.on"; oo: "cj.oo"; op: "cj.op"; oq: "cj.oq"; or: "cj.or"; os: "cj.os"; ot: "cj.ot"; ou: "cj.ou"; ov: "cj.ov"; ow: "cj.ow"; ox: "cj.ox"; oy: "cj.oy"; oz: "cj.oz"; pa: "cj.pa"; pb: "cj.pb"; pc: "cj.pc"; pd: "cj.pd"; pe: "cj.pe"; pf: "cj.pf"; pg: "cj.pg"; ph: "cj.ph"; pi: "cj.pi"; pj: "cj.pj"; pk: "cj.pk"; pl: "cj.pl"; pm: "cj.pm"; pn: "cj.pn"; po: "cj.po"; pp: "cj.pp"; pq: "cj.pq"; pr: "cj.pr"; ps: "cj.ps"; pt: "cj.pt"; pu: "cj.pu"; pv: "cj.pv"; pw: "cj.pw"; px: "cj.px"; py: "cj.py"; pz: "cj.pz"; qa: "cj.qa"; qb: "cj.qb"; qc: "cj.qc"; qd: "cj.qd"; qe: "cj.qe"; qf: "cj.qf"; qg: "cj.qg"; qh: "cj.qh"; qi: "cj.qi"; qj: "cj.qj"; qk: "cj.qk"; ql: "cj.ql"; qm: "cj.qm"; qn: "cj.qn"; qo: "cj.qo"; qp: "cj.qp"; qq: "cj.qq"; qr: "cj.qr"; qs: "cj.qs"; qt: "cj.qt"; qu: "cj.qu"; qv: "cj.qv"; qw: "cj.qw"; qx: "cj.qx"; qy: "cj.qy"; qz: "cj.qz"; ra: "cj.ra"; rb: "cj.rb"; rc: "cj.rc"; rd: "cj.rd"; re: "cj.re"; rf: "cj.rf"; rg: "cj.rg"; rh: "cj.rh"; ri: "cj.ri"; rj: "cj.rj"; rk: "cj.rk"; rl: "cj.rl"; rm: "cj.rm"; rn: "cj.rn"; ro: "cj.ro"; rp: "cj.rp"; rq: "cj.rq"; rr: "cj.rr"; rs: "cj.rs"; rt: "cj.rt"; ru: "cj.ru"; rv: "cj.rv"; rw: "cj.rw"; rx: "cj.rx"; ry: "cj.ry"; rz: "cj.rz"; sa: "cj.sa"; sb: "cj.sb"; sc: "cj.sc"; sd: "cj.sd"; se: "cj.se"; sf: "cj.sf"; sg: "cj.sg"; sh: "cj.sh"; si: "cj.si"; sj: "cj.sj"; sk: "cj.sk"; sl: "cj.sl"; sm: "cj.sm"; sn: "cj.sn"; so: "cj.so"; sp: "cj.sp"; sq: "cj.sq"; sr: "cj.sr"; ss: "cj.ss"; st: "cj.st"; su: "cj.su"; sv: "cj.sv"; sw: "cj.sw"; sx: "cj.sx"; sy: "cj.sy"; sz: "cj.sz"; ta: "cj.ta"; tb: "cj.tb"; tc: "cj.tc"; td: "cj.td"; te: "cj.te"; tf: "cj.tf"; tg: "cj.tg"; th: "cj.th"; ti: "cj.ti"; tj: "cj.tj"; tk: "cj.tk"; tl: "cj.tl"; tm: "cj.tm"; tn: "cj.tn"; to: "cj.to"; tp: "cj.tp"; tq: "cj.tq"; tr: "cj.tr"; ts: "cj.ts"; tt: "cj.tt"; tu: "cj.tu"; tv: "cj.tv"; tw: "cj.tw"; tx: "cj.tx"; ty: "cj.ty"; tz: "cj.tz"; ua: "cj.ua"; ub: "cj.ub"; uc: "cj.uc"; ud: "cj.ud"; ue: "cj.ue"; uf: "cj.uf"; ug: "cj.ug"; uh: "cj.uh"; ui: "cj.ui"; uj: "cj.uj"; uk: "cj.uk"; ul: "cj.ul"; um: "cj.um"; un: "cj.un"; uo: "cj.uo"; up: "cj.up"; uq: "cj.uq"; ur: "cj.ur"; us: "cj.us"; ut: "cj.ut"; uu: "cj.uu"; uv: "cj.uv"; uw: "cj.uw"; ux: "cj.ux"; uy: "cj.uy"; uz: "cj.uz"; va: "cj.va"; vb: "cj.vb"; vc: "cj.vc"; vd: "cj.vd"; ve: "cj.ve"; vf: "cj.vf"; vg: "cj.vg"; vh: "cj.vh"; vi: "cj.vi"; vj: "cj.vj"; vk: "cj.vk"; vl: "cj.vl"; vm: "cj.vm"; vn: "cj.vn"; vo: "cj.vo"; vp: "cj.vp"; vq: "cj.vq"; vr: "cj.vr"; vs: "cj.vs"; vt: "cj.vt"; vu: "cj.vu"; vv: "cj.vv"; vw: "cj.vw"; vx: "cj.vx"; vy: "cj.vy"; vz: "cj.vz"; wa: "cj.wa"; wb: "cj.wb"; wc: "cj.wc"; wd: "cj.wd"; we: "cj.we"; wf: "cj.wf"; wg: "cj.wg"; wh: "cj.wh"; wi: "cj.wi"; wj: "cj.wj"; wk: "cj.wk"; wl: "cj.wl"; wm: "cj.wm"; wn: "cj.wn"; wo: "cj.wo"; wp: "cj.wp"; wq: "cj.wq"; wr: "cj.wr"; ws: "cj.ws"; wt: "cj.wt"; wu: "cj.wu"; wv: "cj.wv"; ww: "cj.ww"; wx: "cj.wx"; wy: "cj.wy"; wz: "cj.wz"; xa: "cj.xa"; xb: "cj.xb"; xc: "cj.xc"; xd: "cj.xd"; xe: "cj.xe"; xf: "cj.xf"; xg: "cj.xg"; xh: "cj.xh"; xi: "cj.xi"; xj: "cj.xj"; xk: "cj.xk"; xl: "cj.xl"; xm: "cj.xm"; xn: "cj.xn"; xo: "cj.xo"; xp: "cj.xp"; xq: "cj.xq"; xr: "cj.xr"; xs: "cj.xs"; xt: "cj.xt"; xu: "cj.xu"; xv: "cj.xv"; xw: "cj.xw"; xx: "cj.xx"; xy: "cj.xy"; xz: "cj.xz"; ya: "cj.ya"; yb: "cj.yb"; yc: "cj.yc"; yd: "cj.yd"; ye: "cj.ye"; yf: "cj.yf"; yg: "cj.yg"; yh: "cj.yh"; yi: "cj.yi"; yj: "cj.yj"; yk: "cj.yk"; yl: "cj.yl"; ym: "cj.ym"; yn: "cj.yn"; yo: "cj.yo"; yp: "cj.yp"; yq: "cj.yq"; yr: "cj.yr"; ys: "cj.ys"; yt: "cj.yt"; yu: "cj.yu"; yv: "cj.yv"; yw: "cj.yw"; yx: "cj.yx"; yy: "cj.yy"; yz: "cj.yz"; za: "cj.za"; zb: "cj.zb"; zc: "cj.zc"; zd: "cj.zd"; ze: "cj.ze"; zf: "cj.zf"; zg: "cj.zg"; zh: "cj.zh"; zi: "cj.zi"; zj: "cj.zj"; zk: "cj.zk"; zl: "cj.zl"; zm: "cj.zm"; zn: "cj.zn"; zo: "cj.zo"; zp: "cj.zp"; zq: "cj.zq"; zr: "cj.zr"; zs: "cj.zs"; zt: "cj.zt"; zu: "cj.zu"; zv: "cj.zv"; zw: "cj.zw"; zx: "cj.zx"; zy: "cj.zy"; zz: "cj.zz"; }; ck: { aa: "ck.aa"; ab: "ck.ab"; ac: "ck.ac"; ad: "ck.ad"; ae: "ck.ae"; af: "ck.af"; ag: "ck.ag"; ah: "ck.ah"; ai: "ck.ai"; aj: "ck.aj"; ak: "ck.ak"; al: "ck.al"; am: "ck.am"; an: "ck.an"; ao: "ck.ao"; ap: "ck.ap"; aq: "ck.aq"; ar: "ck.ar"; as: "ck.as"; at: "ck.at"; au: "ck.au"; av: "ck.av"; aw: "ck.aw"; ax: "ck.ax"; ay: "ck.ay"; az: "ck.az"; ba: "ck.ba"; bb: "ck.bb"; bc: "ck.bc"; bd: "ck.bd"; be: "ck.be"; bf: "ck.bf"; bg: "ck.bg"; bh: "ck.bh"; bi: "ck.bi"; bj: "ck.bj"; bk: "ck.bk"; bl: "ck.bl"; bm: "ck.bm"; bn: "ck.bn"; bo: "ck.bo"; bp: "ck.bp"; bq: "ck.bq"; br: "ck.br"; bs: "ck.bs"; bt: "ck.bt"; bu: "ck.bu"; bv: "ck.bv"; bw: "ck.bw"; bx: "ck.bx"; by: "ck.by"; bz: "ck.bz"; ca: "ck.ca"; cb: "ck.cb"; cc: "ck.cc"; cd: "ck.cd"; ce: "ck.ce"; cf: "ck.cf"; cg: "ck.cg"; ch: "ck.ch"; ci: "ck.ci"; cj: "ck.cj"; ck: "ck.ck"; cl: "ck.cl"; cm: "ck.cm"; cn: "ck.cn"; co: "ck.co"; cp: "ck.cp"; cq: "ck.cq"; cr: "ck.cr"; cs: "ck.cs"; ct: "ck.ct"; cu: "ck.cu"; cv: "ck.cv"; cw: "ck.cw"; cx: "ck.cx"; cy: "ck.cy"; cz: "ck.cz"; da: "ck.da"; db: "ck.db"; dc: "ck.dc"; dd: "ck.dd"; de: "ck.de"; df: "ck.df"; dg: "ck.dg"; dh: "ck.dh"; di: "ck.di"; dj: "ck.dj"; dk: "ck.dk"; dl: "ck.dl"; dm: "ck.dm"; dn: "ck.dn"; do: "ck.do"; dp: "ck.dp"; dq: "ck.dq"; dr: "ck.dr"; ds: "ck.ds"; dt: "ck.dt"; du: "ck.du"; dv: "ck.dv"; dw: "ck.dw"; dx: "ck.dx"; dy: "ck.dy"; dz: "ck.dz"; ea: "ck.ea"; eb: "ck.eb"; ec: "ck.ec"; ed: "ck.ed"; ee: "ck.ee"; ef: "ck.ef"; eg: "ck.eg"; eh: "ck.eh"; ei: "ck.ei"; ej: "ck.ej"; ek: "ck.ek"; el: "ck.el"; em: "ck.em"; en: "ck.en"; eo: "ck.eo"; ep: "ck.ep"; eq: "ck.eq"; er: "ck.er"; es: "ck.es"; et: "ck.et"; eu: "ck.eu"; ev: "ck.ev"; ew: "ck.ew"; ex: "ck.ex"; ey: "ck.ey"; ez: "ck.ez"; fa: "ck.fa"; fb: "ck.fb"; fc: "ck.fc"; fd: "ck.fd"; fe: "ck.fe"; ff: "ck.ff"; fg: "ck.fg"; fh: "ck.fh"; fi: "ck.fi"; fj: "ck.fj"; fk: "ck.fk"; fl: "ck.fl"; fm: "ck.fm"; fn: "ck.fn"; fo: "ck.fo"; fp: "ck.fp"; fq: "ck.fq"; fr: "ck.fr"; fs: "ck.fs"; ft: "ck.ft"; fu: "ck.fu"; fv: "ck.fv"; fw: "ck.fw"; fx: "ck.fx"; fy: "ck.fy"; fz: "ck.fz"; ga: "ck.ga"; gb: "ck.gb"; gc: "ck.gc"; gd: "ck.gd"; ge: "ck.ge"; gf: "ck.gf"; gg: "ck.gg"; gh: "ck.gh"; gi: "ck.gi"; gj: "ck.gj"; gk: "ck.gk"; gl: "ck.gl"; gm: "ck.gm"; gn: "ck.gn"; go: "ck.go"; gp: "ck.gp"; gq: "ck.gq"; gr: "ck.gr"; gs: "ck.gs"; gt: "ck.gt"; gu: "ck.gu"; gv: "ck.gv"; gw: "ck.gw"; gx: "ck.gx"; gy: "ck.gy"; gz: "ck.gz"; ha: "ck.ha"; hb: "ck.hb"; hc: "ck.hc"; hd: "ck.hd"; he: "ck.he"; hf: "ck.hf"; hg: "ck.hg"; hh: "ck.hh"; hi: "ck.hi"; hj: "ck.hj"; hk: "ck.hk"; hl: "ck.hl"; hm: "ck.hm"; hn: "ck.hn"; ho: "ck.ho"; hp: "ck.hp"; hq: "ck.hq"; hr: "ck.hr"; hs: "ck.hs"; ht: "ck.ht"; hu: "ck.hu"; hv: "ck.hv"; hw: "ck.hw"; hx: "ck.hx"; hy: "ck.hy"; hz: "ck.hz"; ia: "ck.ia"; ib: "ck.ib"; ic: "ck.ic"; id: "ck.id"; ie: "ck.ie"; if: "ck.if"; ig: "ck.ig"; ih: "ck.ih"; ii: "ck.ii"; ij: "ck.ij"; ik: "ck.ik"; il: "ck.il"; im: "ck.im"; in: "ck.in"; io: "ck.io"; ip: "ck.ip"; iq: "ck.iq"; ir: "ck.ir"; is: "ck.is"; it: "ck.it"; iu: "ck.iu"; iv: "ck.iv"; iw: "ck.iw"; ix: "ck.ix"; iy: "ck.iy"; iz: "ck.iz"; ja: "ck.ja"; jb: "ck.jb"; jc: "ck.jc"; jd: "ck.jd"; je: "ck.je"; jf: "ck.jf"; jg: "ck.jg"; jh: "ck.jh"; ji: "ck.ji"; jj: "ck.jj"; jk: "ck.jk"; jl: "ck.jl"; jm: "ck.jm"; jn: "ck.jn"; jo: "ck.jo"; jp: "ck.jp"; jq: "ck.jq"; jr: "ck.jr"; js: "ck.js"; jt: "ck.jt"; ju: "ck.ju"; jv: "ck.jv"; jw: "ck.jw"; jx: "ck.jx"; jy: "ck.jy"; jz: "ck.jz"; ka: "ck.ka"; kb: "ck.kb"; kc: "ck.kc"; kd: "ck.kd"; ke: "ck.ke"; kf: "ck.kf"; kg: "ck.kg"; kh: "ck.kh"; ki: "ck.ki"; kj: "ck.kj"; kk: "ck.kk"; kl: "ck.kl"; km: "ck.km"; kn: "ck.kn"; ko: "ck.ko"; kp: "ck.kp"; kq: "ck.kq"; kr: "ck.kr"; ks: "ck.ks"; kt: "ck.kt"; ku: "ck.ku"; kv: "ck.kv"; kw: "ck.kw"; kx: "ck.kx"; ky: "ck.ky"; kz: "ck.kz"; la: "ck.la"; lb: "ck.lb"; lc: "ck.lc"; ld: "ck.ld"; le: "ck.le"; lf: "ck.lf"; lg: "ck.lg"; lh: "ck.lh"; li: "ck.li"; lj: "ck.lj"; lk: "ck.lk"; ll: "ck.ll"; lm: "ck.lm"; ln: "ck.ln"; lo: "ck.lo"; lp: "ck.lp"; lq: "ck.lq"; lr: "ck.lr"; ls: "ck.ls"; lt: "ck.lt"; lu: "ck.lu"; lv: "ck.lv"; lw: "ck.lw"; lx: "ck.lx"; ly: "ck.ly"; lz: "ck.lz"; ma: "ck.ma"; mb: "ck.mb"; mc: "ck.mc"; md: "ck.md"; me: "ck.me"; mf: "ck.mf"; mg: "ck.mg"; mh: "ck.mh"; mi: "ck.mi"; mj: "ck.mj"; mk: "ck.mk"; ml: "ck.ml"; mm: "ck.mm"; mn: "ck.mn"; mo: "ck.mo"; mp: "ck.mp"; mq: "ck.mq"; mr: "ck.mr"; ms: "ck.ms"; mt: "ck.mt"; mu: "ck.mu"; mv: "ck.mv"; mw: "ck.mw"; mx: "ck.mx"; my: "ck.my"; mz: "ck.mz"; na: "ck.na"; nb: "ck.nb"; nc: "ck.nc"; nd: "ck.nd"; ne: "ck.ne"; nf: "ck.nf"; ng: "ck.ng"; nh: "ck.nh"; ni: "ck.ni"; nj: "ck.nj"; nk: "ck.nk"; nl: "ck.nl"; nm: "ck.nm"; nn: "ck.nn"; no: "ck.no"; np: "ck.np"; nq: "ck.nq"; nr: "ck.nr"; ns: "ck.ns"; nt: "ck.nt"; nu: "ck.nu"; nv: "ck.nv"; nw: "ck.nw"; nx: "ck.nx"; ny: "ck.ny"; nz: "ck.nz"; oa: "ck.oa"; ob: "ck.ob"; oc: "ck.oc"; od: "ck.od"; oe: "ck.oe"; of: "ck.of"; og: "ck.og"; oh: "ck.oh"; oi: "ck.oi"; oj: "ck.oj"; ok: "ck.ok"; ol: "ck.ol"; om: "ck.om"; on: "ck.on"; oo: "ck.oo"; op: "ck.op"; oq: "ck.oq"; or: "ck.or"; os: "ck.os"; ot: "ck.ot"; ou: "ck.ou"; ov: "ck.ov"; ow: "ck.ow"; ox: "ck.ox"; oy: "ck.oy"; oz: "ck.oz"; pa: "ck.pa"; pb: "ck.pb"; pc: "ck.pc"; pd: "ck.pd"; pe: "ck.pe"; pf: "ck.pf"; pg: "ck.pg"; ph: "ck.ph"; pi: "ck.pi"; pj: "ck.pj"; pk: "ck.pk"; pl: "ck.pl"; pm: "ck.pm"; pn: "ck.pn"; po: "ck.po"; pp: "ck.pp"; pq: "ck.pq"; pr: "ck.pr"; ps: "ck.ps"; pt: "ck.pt"; pu: "ck.pu"; pv: "ck.pv"; pw: "ck.pw"; px: "ck.px"; py: "ck.py"; pz: "ck.pz"; qa: "ck.qa"; qb: "ck.qb"; qc: "ck.qc"; qd: "ck.qd"; qe: "ck.qe"; qf: "ck.qf"; qg: "ck.qg"; qh: "ck.qh"; qi: "ck.qi"; qj: "ck.qj"; qk: "ck.qk"; ql: "ck.ql"; qm: "ck.qm"; qn: "ck.qn"; qo: "ck.qo"; qp: "ck.qp"; qq: "ck.qq"; qr: "ck.qr"; qs: "ck.qs"; qt: "ck.qt"; qu: "ck.qu"; qv: "ck.qv"; qw: "ck.qw"; qx: "ck.qx"; qy: "ck.qy"; qz: "ck.qz"; ra: "ck.ra"; rb: "ck.rb"; rc: "ck.rc"; rd: "ck.rd"; re: "ck.re"; rf: "ck.rf"; rg: "ck.rg"; rh: "ck.rh"; ri: "ck.ri"; rj: "ck.rj"; rk: "ck.rk"; rl: "ck.rl"; rm: "ck.rm"; rn: "ck.rn"; ro: "ck.ro"; rp: "ck.rp"; rq: "ck.rq"; rr: "ck.rr"; rs: "ck.rs"; rt: "ck.rt"; ru: "ck.ru"; rv: "ck.rv"; rw: "ck.rw"; rx: "ck.rx"; ry: "ck.ry"; rz: "ck.rz"; sa: "ck.sa"; sb: "ck.sb"; sc: "ck.sc"; sd: "ck.sd"; se: "ck.se"; sf: "ck.sf"; sg: "ck.sg"; sh: "ck.sh"; si: "ck.si"; sj: "ck.sj"; sk: "ck.sk"; sl: "ck.sl"; sm: "ck.sm"; sn: "ck.sn"; so: "ck.so"; sp: "ck.sp"; sq: "ck.sq"; sr: "ck.sr"; ss: "ck.ss"; st: "ck.st"; su: "ck.su"; sv: "ck.sv"; sw: "ck.sw"; sx: "ck.sx"; sy: "ck.sy"; sz: "ck.sz"; ta: "ck.ta"; tb: "ck.tb"; tc: "ck.tc"; td: "ck.td"; te: "ck.te"; tf: "ck.tf"; tg: "ck.tg"; th: "ck.th"; ti: "ck.ti"; tj: "ck.tj"; tk: "ck.tk"; tl: "ck.tl"; tm: "ck.tm"; tn: "ck.tn"; to: "ck.to"; tp: "ck.tp"; tq: "ck.tq"; tr: "ck.tr"; ts: "ck.ts"; tt: "ck.tt"; tu: "ck.tu"; tv: "ck.tv"; tw: "ck.tw"; tx: "ck.tx"; ty: "ck.ty"; tz: "ck.tz"; ua: "ck.ua"; ub: "ck.ub"; uc: "ck.uc"; ud: "ck.ud"; ue: "ck.ue"; uf: "ck.uf"; ug: "ck.ug"; uh: "ck.uh"; ui: "ck.ui"; uj: "ck.uj"; uk: "ck.uk"; ul: "ck.ul"; um: "ck.um"; un: "ck.un"; uo: "ck.uo"; up: "ck.up"; uq: "ck.uq"; ur: "ck.ur"; us: "ck.us"; ut: "ck.ut"; uu: "ck.uu"; uv: "ck.uv"; uw: "ck.uw"; ux: "ck.ux"; uy: "ck.uy"; uz: "ck.uz"; va: "ck.va"; vb: "ck.vb"; vc: "ck.vc"; vd: "ck.vd"; ve: "ck.ve"; vf: "ck.vf"; vg: "ck.vg"; vh: "ck.vh"; vi: "ck.vi"; vj: "ck.vj"; vk: "ck.vk"; vl: "ck.vl"; vm: "ck.vm"; vn: "ck.vn"; vo: "ck.vo"; vp: "ck.vp"; vq: "ck.vq"; vr: "ck.vr"; vs: "ck.vs"; vt: "ck.vt"; vu: "ck.vu"; vv: "ck.vv"; vw: "ck.vw"; vx: "ck.vx"; vy: "ck.vy"; vz: "ck.vz"; wa: "ck.wa"; wb: "ck.wb"; wc: "ck.wc"; wd: "ck.wd"; we: "ck.we"; wf: "ck.wf"; wg: "ck.wg"; wh: "ck.wh"; wi: "ck.wi"; wj: "ck.wj"; wk: "ck.wk"; wl: "ck.wl"; wm: "ck.wm"; wn: "ck.wn"; wo: "ck.wo"; wp: "ck.wp"; wq: "ck.wq"; wr: "ck.wr"; ws: "ck.ws"; wt: "ck.wt"; wu: "ck.wu"; wv: "ck.wv"; ww: "ck.ww"; wx: "ck.wx"; wy: "ck.wy"; wz: "ck.wz"; xa: "ck.xa"; xb: "ck.xb"; xc: "ck.xc"; xd: "ck.xd"; xe: "ck.xe"; xf: "ck.xf"; xg: "ck.xg"; xh: "ck.xh"; xi: "ck.xi"; xj: "ck.xj"; xk: "ck.xk"; xl: "ck.xl"; xm: "ck.xm"; xn: "ck.xn"; xo: "ck.xo"; xp: "ck.xp"; xq: "ck.xq"; xr: "ck.xr"; xs: "ck.xs"; xt: "ck.xt"; xu: "ck.xu"; xv: "ck.xv"; xw: "ck.xw"; xx: "ck.xx"; xy: "ck.xy"; xz: "ck.xz"; ya: "ck.ya"; yb: "ck.yb"; yc: "ck.yc"; yd: "ck.yd"; ye: "ck.ye"; yf: "ck.yf"; yg: "ck.yg"; yh: "ck.yh"; yi: "ck.yi"; yj: "ck.yj"; yk: "ck.yk"; yl: "ck.yl"; ym: "ck.ym"; yn: "ck.yn"; yo: "ck.yo"; yp: "ck.yp"; yq: "ck.yq"; yr: "ck.yr"; ys: "ck.ys"; yt: "ck.yt"; yu: "ck.yu"; yv: "ck.yv"; yw: "ck.yw"; yx: "ck.yx"; yy: "ck.yy"; yz: "ck.yz"; za: "ck.za"; zb: "ck.zb"; zc: "ck.zc"; zd: "ck.zd"; ze: "ck.ze"; zf: "ck.zf"; zg: "ck.zg"; zh: "ck.zh"; zi: "ck.zi"; zj: "ck.zj"; zk: "ck.zk"; zl: "ck.zl"; zm: "ck.zm"; zn: "ck.zn"; zo: "ck.zo"; zp: "ck.zp"; zq: "ck.zq"; zr: "ck.zr"; zs: "ck.zs"; zt: "ck.zt"; zu: "ck.zu"; zv: "ck.zv"; zw: "ck.zw"; zx: "ck.zx"; zy: "ck.zy"; zz: "ck.zz"; }; cl: { aa: "cl.aa"; ab: "cl.ab"; ac: "cl.ac"; ad: "cl.ad"; ae: "cl.ae"; af: "cl.af"; ag: "cl.ag"; ah: "cl.ah"; ai: "cl.ai"; aj: "cl.aj"; ak: "cl.ak"; al: "cl.al"; am: "cl.am"; an: "cl.an"; ao: "cl.ao"; ap: "cl.ap"; aq: "cl.aq"; ar: "cl.ar"; as: "cl.as"; at: "cl.at"; au: "cl.au"; av: "cl.av"; aw: "cl.aw"; ax: "cl.ax"; ay: "cl.ay"; az: "cl.az"; ba: "cl.ba"; bb: "cl.bb"; bc: "cl.bc"; bd: "cl.bd"; be: "cl.be"; bf: "cl.bf"; bg: "cl.bg"; bh: "cl.bh"; bi: "cl.bi"; bj: "cl.bj"; bk: "cl.bk"; bl: "cl.bl"; bm: "cl.bm"; bn: "cl.bn"; bo: "cl.bo"; bp: "cl.bp"; bq: "cl.bq"; br: "cl.br"; bs: "cl.bs"; bt: "cl.bt"; bu: "cl.bu"; bv: "cl.bv"; bw: "cl.bw"; bx: "cl.bx"; by: "cl.by"; bz: "cl.bz"; ca: "cl.ca"; cb: "cl.cb"; cc: "cl.cc"; cd: "cl.cd"; ce: "cl.ce"; cf: "cl.cf"; cg: "cl.cg"; ch: "cl.ch"; ci: "cl.ci"; cj: "cl.cj"; ck: "cl.ck"; cl: "cl.cl"; cm: "cl.cm"; cn: "cl.cn"; co: "cl.co"; cp: "cl.cp"; cq: "cl.cq"; cr: "cl.cr"; cs: "cl.cs"; ct: "cl.ct"; cu: "cl.cu"; cv: "cl.cv"; cw: "cl.cw"; cx: "cl.cx"; cy: "cl.cy"; cz: "cl.cz"; da: "cl.da"; db: "cl.db"; dc: "cl.dc"; dd: "cl.dd"; de: "cl.de"; df: "cl.df"; dg: "cl.dg"; dh: "cl.dh"; di: "cl.di"; dj: "cl.dj"; dk: "cl.dk"; dl: "cl.dl"; dm: "cl.dm"; dn: "cl.dn"; do: "cl.do"; dp: "cl.dp"; dq: "cl.dq"; dr: "cl.dr"; ds: "cl.ds"; dt: "cl.dt"; du: "cl.du"; dv: "cl.dv"; dw: "cl.dw"; dx: "cl.dx"; dy: "cl.dy"; dz: "cl.dz"; ea: "cl.ea"; eb: "cl.eb"; ec: "cl.ec"; ed: "cl.ed"; ee: "cl.ee"; ef: "cl.ef"; eg: "cl.eg"; eh: "cl.eh"; ei: "cl.ei"; ej: "cl.ej"; ek: "cl.ek"; el: "cl.el"; em: "cl.em"; en: "cl.en"; eo: "cl.eo"; ep: "cl.ep"; eq: "cl.eq"; er: "cl.er"; es: "cl.es"; et: "cl.et"; eu: "cl.eu"; ev: "cl.ev"; ew: "cl.ew"; ex: "cl.ex"; ey: "cl.ey"; ez: "cl.ez"; fa: "cl.fa"; fb: "cl.fb"; fc: "cl.fc"; fd: "cl.fd"; fe: "cl.fe"; ff: "cl.ff"; fg: "cl.fg"; fh: "cl.fh"; fi: "cl.fi"; fj: "cl.fj"; fk: "cl.fk"; fl: "cl.fl"; fm: "cl.fm"; fn: "cl.fn"; fo: "cl.fo"; fp: "cl.fp"; fq: "cl.fq"; fr: "cl.fr"; fs: "cl.fs"; ft: "cl.ft"; fu: "cl.fu"; fv: "cl.fv"; fw: "cl.fw"; fx: "cl.fx"; fy: "cl.fy"; fz: "cl.fz"; ga: "cl.ga"; gb: "cl.gb"; gc: "cl.gc"; gd: "cl.gd"; ge: "cl.ge"; gf: "cl.gf"; gg: "cl.gg"; gh: "cl.gh"; gi: "cl.gi"; gj: "cl.gj"; gk: "cl.gk"; gl: "cl.gl"; gm: "cl.gm"; gn: "cl.gn"; go: "cl.go"; gp: "cl.gp"; gq: "cl.gq"; gr: "cl.gr"; gs: "cl.gs"; gt: "cl.gt"; gu: "cl.gu"; gv: "cl.gv"; gw: "cl.gw"; gx: "cl.gx"; gy: "cl.gy"; gz: "cl.gz"; ha: "cl.ha"; hb: "cl.hb"; hc: "cl.hc"; hd: "cl.hd"; he: "cl.he"; hf: "cl.hf"; hg: "cl.hg"; hh: "cl.hh"; hi: "cl.hi"; hj: "cl.hj"; hk: "cl.hk"; hl: "cl.hl"; hm: "cl.hm"; hn: "cl.hn"; ho: "cl.ho"; hp: "cl.hp"; hq: "cl.hq"; hr: "cl.hr"; hs: "cl.hs"; ht: "cl.ht"; hu: "cl.hu"; hv: "cl.hv"; hw: "cl.hw"; hx: "cl.hx"; hy: "cl.hy"; hz: "cl.hz"; ia: "cl.ia"; ib: "cl.ib"; ic: "cl.ic"; id: "cl.id"; ie: "cl.ie"; if: "cl.if"; ig: "cl.ig"; ih: "cl.ih"; ii: "cl.ii"; ij: "cl.ij"; ik: "cl.ik"; il: "cl.il"; im: "cl.im"; in: "cl.in"; io: "cl.io"; ip: "cl.ip"; iq: "cl.iq"; ir: "cl.ir"; is: "cl.is"; it: "cl.it"; iu: "cl.iu"; iv: "cl.iv"; iw: "cl.iw"; ix: "cl.ix"; iy: "cl.iy"; iz: "cl.iz"; ja: "cl.ja"; jb: "cl.jb"; jc: "cl.jc"; jd: "cl.jd"; je: "cl.je"; jf: "cl.jf"; jg: "cl.jg"; jh: "cl.jh"; ji: "cl.ji"; jj: "cl.jj"; jk: "cl.jk"; jl: "cl.jl"; jm: "cl.jm"; jn: "cl.jn"; jo: "cl.jo"; jp: "cl.jp"; jq: "cl.jq"; jr: "cl.jr"; js: "cl.js"; jt: "cl.jt"; ju: "cl.ju"; jv: "cl.jv"; jw: "cl.jw"; jx: "cl.jx"; jy: "cl.jy"; jz: "cl.jz"; ka: "cl.ka"; kb: "cl.kb"; kc: "cl.kc"; kd: "cl.kd"; ke: "cl.ke"; kf: "cl.kf"; kg: "cl.kg"; kh: "cl.kh"; ki: "cl.ki"; kj: "cl.kj"; kk: "cl.kk"; kl: "cl.kl"; km: "cl.km"; kn: "cl.kn"; ko: "cl.ko"; kp: "cl.kp"; kq: "cl.kq"; kr: "cl.kr"; ks: "cl.ks"; kt: "cl.kt"; ku: "cl.ku"; kv: "cl.kv"; kw: "cl.kw"; kx: "cl.kx"; ky: "cl.ky"; kz: "cl.kz"; la: "cl.la"; lb: "cl.lb"; lc: "cl.lc"; ld: "cl.ld"; le: "cl.le"; lf: "cl.lf"; lg: "cl.lg"; lh: "cl.lh"; li: "cl.li"; lj: "cl.lj"; lk: "cl.lk"; ll: "cl.ll"; lm: "cl.lm"; ln: "cl.ln"; lo: "cl.lo"; lp: "cl.lp"; lq: "cl.lq"; lr: "cl.lr"; ls: "cl.ls"; lt: "cl.lt"; lu: "cl.lu"; lv: "cl.lv"; lw: "cl.lw"; lx: "cl.lx"; ly: "cl.ly"; lz: "cl.lz"; ma: "cl.ma"; mb: "cl.mb"; mc: "cl.mc"; md: "cl.md"; me: "cl.me"; mf: "cl.mf"; mg: "cl.mg"; mh: "cl.mh"; mi: "cl.mi"; mj: "cl.mj"; mk: "cl.mk"; ml: "cl.ml"; mm: "cl.mm"; mn: "cl.mn"; mo: "cl.mo"; mp: "cl.mp"; mq: "cl.mq"; mr: "cl.mr"; ms: "cl.ms"; mt: "cl.mt"; mu: "cl.mu"; mv: "cl.mv"; mw: "cl.mw"; mx: "cl.mx"; my: "cl.my"; mz: "cl.mz"; na: "cl.na"; nb: "cl.nb"; nc: "cl.nc"; nd: "cl.nd"; ne: "cl.ne"; nf: "cl.nf"; ng: "cl.ng"; nh: "cl.nh"; ni: "cl.ni"; nj: "cl.nj"; nk: "cl.nk"; nl: "cl.nl"; nm: "cl.nm"; nn: "cl.nn"; no: "cl.no"; np: "cl.np"; nq: "cl.nq"; nr: "cl.nr"; ns: "cl.ns"; nt: "cl.nt"; nu: "cl.nu"; nv: "cl.nv"; nw: "cl.nw"; nx: "cl.nx"; ny: "cl.ny"; nz: "cl.nz"; oa: "cl.oa"; ob: "cl.ob"; oc: "cl.oc"; od: "cl.od"; oe: "cl.oe"; of: "cl.of"; og: "cl.og"; oh: "cl.oh"; oi: "cl.oi"; oj: "cl.oj"; ok: "cl.ok"; ol: "cl.ol"; om: "cl.om"; on: "cl.on"; oo: "cl.oo"; op: "cl.op"; oq: "cl.oq"; or: "cl.or"; os: "cl.os"; ot: "cl.ot"; ou: "cl.ou"; ov: "cl.ov"; ow: "cl.ow"; ox: "cl.ox"; oy: "cl.oy"; oz: "cl.oz"; pa: "cl.pa"; pb: "cl.pb"; pc: "cl.pc"; pd: "cl.pd"; pe: "cl.pe"; pf: "cl.pf"; pg: "cl.pg"; ph: "cl.ph"; pi: "cl.pi"; pj: "cl.pj"; pk: "cl.pk"; pl: "cl.pl"; pm: "cl.pm"; pn: "cl.pn"; po: "cl.po"; pp: "cl.pp"; pq: "cl.pq"; pr: "cl.pr"; ps: "cl.ps"; pt: "cl.pt"; pu: "cl.pu"; pv: "cl.pv"; pw: "cl.pw"; px: "cl.px"; py: "cl.py"; pz: "cl.pz"; qa: "cl.qa"; qb: "cl.qb"; qc: "cl.qc"; qd: "cl.qd"; qe: "cl.qe"; qf: "cl.qf"; qg: "cl.qg"; qh: "cl.qh"; qi: "cl.qi"; qj: "cl.qj"; qk: "cl.qk"; ql: "cl.ql"; qm: "cl.qm"; qn: "cl.qn"; qo: "cl.qo"; qp: "cl.qp"; qq: "cl.qq"; qr: "cl.qr"; qs: "cl.qs"; qt: "cl.qt"; qu: "cl.qu"; qv: "cl.qv"; qw: "cl.qw"; qx: "cl.qx"; qy: "cl.qy"; qz: "cl.qz"; ra: "cl.ra"; rb: "cl.rb"; rc: "cl.rc"; rd: "cl.rd"; re: "cl.re"; rf: "cl.rf"; rg: "cl.rg"; rh: "cl.rh"; ri: "cl.ri"; rj: "cl.rj"; rk: "cl.rk"; rl: "cl.rl"; rm: "cl.rm"; rn: "cl.rn"; ro: "cl.ro"; rp: "cl.rp"; rq: "cl.rq"; rr: "cl.rr"; rs: "cl.rs"; rt: "cl.rt"; ru: "cl.ru"; rv: "cl.rv"; rw: "cl.rw"; rx: "cl.rx"; ry: "cl.ry"; rz: "cl.rz"; sa: "cl.sa"; sb: "cl.sb"; sc: "cl.sc"; sd: "cl.sd"; se: "cl.se"; sf: "cl.sf"; sg: "cl.sg"; sh: "cl.sh"; si: "cl.si"; sj: "cl.sj"; sk: "cl.sk"; sl: "cl.sl"; sm: "cl.sm"; sn: "cl.sn"; so: "cl.so"; sp: "cl.sp"; sq: "cl.sq"; sr: "cl.sr"; ss: "cl.ss"; st: "cl.st"; su: "cl.su"; sv: "cl.sv"; sw: "cl.sw"; sx: "cl.sx"; sy: "cl.sy"; sz: "cl.sz"; ta: "cl.ta"; tb: "cl.tb"; tc: "cl.tc"; td: "cl.td"; te: "cl.te"; tf: "cl.tf"; tg: "cl.tg"; th: "cl.th"; ti: "cl.ti"; tj: "cl.tj"; tk: "cl.tk"; tl: "cl.tl"; tm: "cl.tm"; tn: "cl.tn"; to: "cl.to"; tp: "cl.tp"; tq: "cl.tq"; tr: "cl.tr"; ts: "cl.ts"; tt: "cl.tt"; tu: "cl.tu"; tv: "cl.tv"; tw: "cl.tw"; tx: "cl.tx"; ty: "cl.ty"; tz: "cl.tz"; ua: "cl.ua"; ub: "cl.ub"; uc: "cl.uc"; ud: "cl.ud"; ue: "cl.ue"; uf: "cl.uf"; ug: "cl.ug"; uh: "cl.uh"; ui: "cl.ui"; uj: "cl.uj"; uk: "cl.uk"; ul: "cl.ul"; um: "cl.um"; un: "cl.un"; uo: "cl.uo"; up: "cl.up"; uq: "cl.uq"; ur: "cl.ur"; us: "cl.us"; ut: "cl.ut"; uu: "cl.uu"; uv: "cl.uv"; uw: "cl.uw"; ux: "cl.ux"; uy: "cl.uy"; uz: "cl.uz"; va: "cl.va"; vb: "cl.vb"; vc: "cl.vc"; vd: "cl.vd"; ve: "cl.ve"; vf: "cl.vf"; vg: "cl.vg"; vh: "cl.vh"; vi: "cl.vi"; vj: "cl.vj"; vk: "cl.vk"; vl: "cl.vl"; vm: "cl.vm"; vn: "cl.vn"; vo: "cl.vo"; vp: "cl.vp"; vq: "cl.vq"; vr: "cl.vr"; vs: "cl.vs"; vt: "cl.vt"; vu: "cl.vu"; vv: "cl.vv"; vw: "cl.vw"; vx: "cl.vx"; vy: "cl.vy"; vz: "cl.vz"; wa: "cl.wa"; wb: "cl.wb"; wc: "cl.wc"; wd: "cl.wd"; we: "cl.we"; wf: "cl.wf"; wg: "cl.wg"; wh: "cl.wh"; wi: "cl.wi"; wj: "cl.wj"; wk: "cl.wk"; wl: "cl.wl"; wm: "cl.wm"; wn: "cl.wn"; wo: "cl.wo"; wp: "cl.wp"; wq: "cl.wq"; wr: "cl.wr"; ws: "cl.ws"; wt: "cl.wt"; wu: "cl.wu"; wv: "cl.wv"; ww: "cl.ww"; wx: "cl.wx"; wy: "cl.wy"; wz: "cl.wz"; xa: "cl.xa"; xb: "cl.xb"; xc: "cl.xc"; xd: "cl.xd"; xe: "cl.xe"; xf: "cl.xf"; xg: "cl.xg"; xh: "cl.xh"; xi: "cl.xi"; xj: "cl.xj"; xk: "cl.xk"; xl: "cl.xl"; xm: "cl.xm"; xn: "cl.xn"; xo: "cl.xo"; xp: "cl.xp"; xq: "cl.xq"; xr: "cl.xr"; xs: "cl.xs"; xt: "cl.xt"; xu: "cl.xu"; xv: "cl.xv"; xw: "cl.xw"; xx: "cl.xx"; xy: "cl.xy"; xz: "cl.xz"; ya: "cl.ya"; yb: "cl.yb"; yc: "cl.yc"; yd: "cl.yd"; ye: "cl.ye"; yf: "cl.yf"; yg: "cl.yg"; yh: "cl.yh"; yi: "cl.yi"; yj: "cl.yj"; yk: "cl.yk"; yl: "cl.yl"; ym: "cl.ym"; yn: "cl.yn"; yo: "cl.yo"; yp: "cl.yp"; yq: "cl.yq"; yr: "cl.yr"; ys: "cl.ys"; yt: "cl.yt"; yu: "cl.yu"; yv: "cl.yv"; yw: "cl.yw"; yx: "cl.yx"; yy: "cl.yy"; yz: "cl.yz"; za: "cl.za"; zb: "cl.zb"; zc: "cl.zc"; zd: "cl.zd"; ze: "cl.ze"; zf: "cl.zf"; zg: "cl.zg"; zh: "cl.zh"; zi: "cl.zi"; zj: "cl.zj"; zk: "cl.zk"; zl: "cl.zl"; zm: "cl.zm"; zn: "cl.zn"; zo: "cl.zo"; zp: "cl.zp"; zq: "cl.zq"; zr: "cl.zr"; zs: "cl.zs"; zt: "cl.zt"; zu: "cl.zu"; zv: "cl.zv"; zw: "cl.zw"; zx: "cl.zx"; zy: "cl.zy"; zz: "cl.zz"; }; cm: { aa: "cm.aa"; ab: "cm.ab"; ac: "cm.ac"; ad: "cm.ad"; ae: "cm.ae"; af: "cm.af"; ag: "cm.ag"; ah: "cm.ah"; ai: "cm.ai"; aj: "cm.aj"; ak: "cm.ak"; al: "cm.al"; am: "cm.am"; an: "cm.an"; ao: "cm.ao"; ap: "cm.ap"; aq: "cm.aq"; ar: "cm.ar"; as: "cm.as"; at: "cm.at"; au: "cm.au"; av: "cm.av"; aw: "cm.aw"; ax: "cm.ax"; ay: "cm.ay"; az: "cm.az"; ba: "cm.ba"; bb: "cm.bb"; bc: "cm.bc"; bd: "cm.bd"; be: "cm.be"; bf: "cm.bf"; bg: "cm.bg"; bh: "cm.bh"; bi: "cm.bi"; bj: "cm.bj"; bk: "cm.bk"; bl: "cm.bl"; bm: "cm.bm"; bn: "cm.bn"; bo: "cm.bo"; bp: "cm.bp"; bq: "cm.bq"; br: "cm.br"; bs: "cm.bs"; bt: "cm.bt"; bu: "cm.bu"; bv: "cm.bv"; bw: "cm.bw"; bx: "cm.bx"; by: "cm.by"; bz: "cm.bz"; ca: "cm.ca"; cb: "cm.cb"; cc: "cm.cc"; cd: "cm.cd"; ce: "cm.ce"; cf: "cm.cf"; cg: "cm.cg"; ch: "cm.ch"; ci: "cm.ci"; cj: "cm.cj"; ck: "cm.ck"; cl: "cm.cl"; cm: "cm.cm"; cn: "cm.cn"; co: "cm.co"; cp: "cm.cp"; cq: "cm.cq"; cr: "cm.cr"; cs: "cm.cs"; ct: "cm.ct"; cu: "cm.cu"; cv: "cm.cv"; cw: "cm.cw"; cx: "cm.cx"; cy: "cm.cy"; cz: "cm.cz"; da: "cm.da"; db: "cm.db"; dc: "cm.dc"; dd: "cm.dd"; de: "cm.de"; df: "cm.df"; dg: "cm.dg"; dh: "cm.dh"; di: "cm.di"; dj: "cm.dj"; dk: "cm.dk"; dl: "cm.dl"; dm: "cm.dm"; dn: "cm.dn"; do: "cm.do"; dp: "cm.dp"; dq: "cm.dq"; dr: "cm.dr"; ds: "cm.ds"; dt: "cm.dt"; du: "cm.du"; dv: "cm.dv"; dw: "cm.dw"; dx: "cm.dx"; dy: "cm.dy"; dz: "cm.dz"; ea: "cm.ea"; eb: "cm.eb"; ec: "cm.ec"; ed: "cm.ed"; ee: "cm.ee"; ef: "cm.ef"; eg: "cm.eg"; eh: "cm.eh"; ei: "cm.ei"; ej: "cm.ej"; ek: "cm.ek"; el: "cm.el"; em: "cm.em"; en: "cm.en"; eo: "cm.eo"; ep: "cm.ep"; eq: "cm.eq"; er: "cm.er"; es: "cm.es"; et: "cm.et"; eu: "cm.eu"; ev: "cm.ev"; ew: "cm.ew"; ex: "cm.ex"; ey: "cm.ey"; ez: "cm.ez"; fa: "cm.fa"; fb: "cm.fb"; fc: "cm.fc"; fd: "cm.fd"; fe: "cm.fe"; ff: "cm.ff"; fg: "cm.fg"; fh: "cm.fh"; fi: "cm.fi"; fj: "cm.fj"; fk: "cm.fk"; fl: "cm.fl"; fm: "cm.fm"; fn: "cm.fn"; fo: "cm.fo"; fp: "cm.fp"; fq: "cm.fq"; fr: "cm.fr"; fs: "cm.fs"; ft: "cm.ft"; fu: "cm.fu"; fv: "cm.fv"; fw: "cm.fw"; fx: "cm.fx"; fy: "cm.fy"; fz: "cm.fz"; ga: "cm.ga"; gb: "cm.gb"; gc: "cm.gc"; gd: "cm.gd"; ge: "cm.ge"; gf: "cm.gf"; gg: "cm.gg"; gh: "cm.gh"; gi: "cm.gi"; gj: "cm.gj"; gk: "cm.gk"; gl: "cm.gl"; gm: "cm.gm"; gn: "cm.gn"; go: "cm.go"; gp: "cm.gp"; gq: "cm.gq"; gr: "cm.gr"; gs: "cm.gs"; gt: "cm.gt"; gu: "cm.gu"; gv: "cm.gv"; gw: "cm.gw"; gx: "cm.gx"; gy: "cm.gy"; gz: "cm.gz"; ha: "cm.ha"; hb: "cm.hb"; hc: "cm.hc"; hd: "cm.hd"; he: "cm.he"; hf: "cm.hf"; hg: "cm.hg"; hh: "cm.hh"; hi: "cm.hi"; hj: "cm.hj"; hk: "cm.hk"; hl: "cm.hl"; hm: "cm.hm"; hn: "cm.hn"; ho: "cm.ho"; hp: "cm.hp"; hq: "cm.hq"; hr: "cm.hr"; hs: "cm.hs"; ht: "cm.ht"; hu: "cm.hu"; hv: "cm.hv"; hw: "cm.hw"; hx: "cm.hx"; hy: "cm.hy"; hz: "cm.hz"; ia: "cm.ia"; ib: "cm.ib"; ic: "cm.ic"; id: "cm.id"; ie: "cm.ie"; if: "cm.if"; ig: "cm.ig"; ih: "cm.ih"; ii: "cm.ii"; ij: "cm.ij"; ik: "cm.ik"; il: "cm.il"; im: "cm.im"; in: "cm.in"; io: "cm.io"; ip: "cm.ip"; iq: "cm.iq"; ir: "cm.ir"; is: "cm.is"; it: "cm.it"; iu: "cm.iu"; iv: "cm.iv"; iw: "cm.iw"; ix: "cm.ix"; iy: "cm.iy"; iz: "cm.iz"; ja: "cm.ja"; jb: "cm.jb"; jc: "cm.jc"; jd: "cm.jd"; je: "cm.je"; jf: "cm.jf"; jg: "cm.jg"; jh: "cm.jh"; ji: "cm.ji"; jj: "cm.jj"; jk: "cm.jk"; jl: "cm.jl"; jm: "cm.jm"; jn: "cm.jn"; jo: "cm.jo"; jp: "cm.jp"; jq: "cm.jq"; jr: "cm.jr"; js: "cm.js"; jt: "cm.jt"; ju: "cm.ju"; jv: "cm.jv"; jw: "cm.jw"; jx: "cm.jx"; jy: "cm.jy"; jz: "cm.jz"; ka: "cm.ka"; kb: "cm.kb"; kc: "cm.kc"; kd: "cm.kd"; ke: "cm.ke"; kf: "cm.kf"; kg: "cm.kg"; kh: "cm.kh"; ki: "cm.ki"; kj: "cm.kj"; kk: "cm.kk"; kl: "cm.kl"; km: "cm.km"; kn: "cm.kn"; ko: "cm.ko"; kp: "cm.kp"; kq: "cm.kq"; kr: "cm.kr"; ks: "cm.ks"; kt: "cm.kt"; ku: "cm.ku"; kv: "cm.kv"; kw: "cm.kw"; kx: "cm.kx"; ky: "cm.ky"; kz: "cm.kz"; la: "cm.la"; lb: "cm.lb"; lc: "cm.lc"; ld: "cm.ld"; le: "cm.le"; lf: "cm.lf"; lg: "cm.lg"; lh: "cm.lh"; li: "cm.li"; lj: "cm.lj"; lk: "cm.lk"; ll: "cm.ll"; lm: "cm.lm"; ln: "cm.ln"; lo: "cm.lo"; lp: "cm.lp"; lq: "cm.lq"; lr: "cm.lr"; ls: "cm.ls"; lt: "cm.lt"; lu: "cm.lu"; lv: "cm.lv"; lw: "cm.lw"; lx: "cm.lx"; ly: "cm.ly"; lz: "cm.lz"; ma: "cm.ma"; mb: "cm.mb"; mc: "cm.mc"; md: "cm.md"; me: "cm.me"; mf: "cm.mf"; mg: "cm.mg"; mh: "cm.mh"; mi: "cm.mi"; mj: "cm.mj"; mk: "cm.mk"; ml: "cm.ml"; mm: "cm.mm"; mn: "cm.mn"; mo: "cm.mo"; mp: "cm.mp"; mq: "cm.mq"; mr: "cm.mr"; ms: "cm.ms"; mt: "cm.mt"; mu: "cm.mu"; mv: "cm.mv"; mw: "cm.mw"; mx: "cm.mx"; my: "cm.my"; mz: "cm.mz"; na: "cm.na"; nb: "cm.nb"; nc: "cm.nc"; nd: "cm.nd"; ne: "cm.ne"; nf: "cm.nf"; ng: "cm.ng"; nh: "cm.nh"; ni: "cm.ni"; nj: "cm.nj"; nk: "cm.nk"; nl: "cm.nl"; nm: "cm.nm"; nn: "cm.nn"; no: "cm.no"; np: "cm.np"; nq: "cm.nq"; nr: "cm.nr"; ns: "cm.ns"; nt: "cm.nt"; nu: "cm.nu"; nv: "cm.nv"; nw: "cm.nw"; nx: "cm.nx"; ny: "cm.ny"; nz: "cm.nz"; oa: "cm.oa"; ob: "cm.ob"; oc: "cm.oc"; od: "cm.od"; oe: "cm.oe"; of: "cm.of"; og: "cm.og"; oh: "cm.oh"; oi: "cm.oi"; oj: "cm.oj"; ok: "cm.ok"; ol: "cm.ol"; om: "cm.om"; on: "cm.on"; oo: "cm.oo"; op: "cm.op"; oq: "cm.oq"; or: "cm.or"; os: "cm.os"; ot: "cm.ot"; ou: "cm.ou"; ov: "cm.ov"; ow: "cm.ow"; ox: "cm.ox"; oy: "cm.oy"; oz: "cm.oz"; pa: "cm.pa"; pb: "cm.pb"; pc: "cm.pc"; pd: "cm.pd"; pe: "cm.pe"; pf: "cm.pf"; pg: "cm.pg"; ph: "cm.ph"; pi: "cm.pi"; pj: "cm.pj"; pk: "cm.pk"; pl: "cm.pl"; pm: "cm.pm"; pn: "cm.pn"; po: "cm.po"; pp: "cm.pp"; pq: "cm.pq"; pr: "cm.pr"; ps: "cm.ps"; pt: "cm.pt"; pu: "cm.pu"; pv: "cm.pv"; pw: "cm.pw"; px: "cm.px"; py: "cm.py"; pz: "cm.pz"; qa: "cm.qa"; qb: "cm.qb"; qc: "cm.qc"; qd: "cm.qd"; qe: "cm.qe"; qf: "cm.qf"; qg: "cm.qg"; qh: "cm.qh"; qi: "cm.qi"; qj: "cm.qj"; qk: "cm.qk"; ql: "cm.ql"; qm: "cm.qm"; qn: "cm.qn"; qo: "cm.qo"; qp: "cm.qp"; qq: "cm.qq"; qr: "cm.qr"; qs: "cm.qs"; qt: "cm.qt"; qu: "cm.qu"; qv: "cm.qv"; qw: "cm.qw"; qx: "cm.qx"; qy: "cm.qy"; qz: "cm.qz"; ra: "cm.ra"; rb: "cm.rb"; rc: "cm.rc"; rd: "cm.rd"; re: "cm.re"; rf: "cm.rf"; rg: "cm.rg"; rh: "cm.rh"; ri: "cm.ri"; rj: "cm.rj"; rk: "cm.rk"; rl: "cm.rl"; rm: "cm.rm"; rn: "cm.rn"; ro: "cm.ro"; rp: "cm.rp"; rq: "cm.rq"; rr: "cm.rr"; rs: "cm.rs"; rt: "cm.rt"; ru: "cm.ru"; rv: "cm.rv"; rw: "cm.rw"; rx: "cm.rx"; ry: "cm.ry"; rz: "cm.rz"; sa: "cm.sa"; sb: "cm.sb"; sc: "cm.sc"; sd: "cm.sd"; se: "cm.se"; sf: "cm.sf"; sg: "cm.sg"; sh: "cm.sh"; si: "cm.si"; sj: "cm.sj"; sk: "cm.sk"; sl: "cm.sl"; sm: "cm.sm"; sn: "cm.sn"; so: "cm.so"; sp: "cm.sp"; sq: "cm.sq"; sr: "cm.sr"; ss: "cm.ss"; st: "cm.st"; su: "cm.su"; sv: "cm.sv"; sw: "cm.sw"; sx: "cm.sx"; sy: "cm.sy"; sz: "cm.sz"; ta: "cm.ta"; tb: "cm.tb"; tc: "cm.tc"; td: "cm.td"; te: "cm.te"; tf: "cm.tf"; tg: "cm.tg"; th: "cm.th"; ti: "cm.ti"; tj: "cm.tj"; tk: "cm.tk"; tl: "cm.tl"; tm: "cm.tm"; tn: "cm.tn"; to: "cm.to"; tp: "cm.tp"; tq: "cm.tq"; tr: "cm.tr"; ts: "cm.ts"; tt: "cm.tt"; tu: "cm.tu"; tv: "cm.tv"; tw: "cm.tw"; tx: "cm.tx"; ty: "cm.ty"; tz: "cm.tz"; ua: "cm.ua"; ub: "cm.ub"; uc: "cm.uc"; ud: "cm.ud"; ue: "cm.ue"; uf: "cm.uf"; ug: "cm.ug"; uh: "cm.uh"; ui: "cm.ui"; uj: "cm.uj"; uk: "cm.uk"; ul: "cm.ul"; um: "cm.um"; un: "cm.un"; uo: "cm.uo"; up: "cm.up"; uq: "cm.uq"; ur: "cm.ur"; us: "cm.us"; ut: "cm.ut"; uu: "cm.uu"; uv: "cm.uv"; uw: "cm.uw"; ux: "cm.ux"; uy: "cm.uy"; uz: "cm.uz"; va: "cm.va"; vb: "cm.vb"; vc: "cm.vc"; vd: "cm.vd"; ve: "cm.ve"; vf: "cm.vf"; vg: "cm.vg"; vh: "cm.vh"; vi: "cm.vi"; vj: "cm.vj"; vk: "cm.vk"; vl: "cm.vl"; vm: "cm.vm"; vn: "cm.vn"; vo: "cm.vo"; vp: "cm.vp"; vq: "cm.vq"; vr: "cm.vr"; vs: "cm.vs"; vt: "cm.vt"; vu: "cm.vu"; vv: "cm.vv"; vw: "cm.vw"; vx: "cm.vx"; vy: "cm.vy"; vz: "cm.vz"; wa: "cm.wa"; wb: "cm.wb"; wc: "cm.wc"; wd: "cm.wd"; we: "cm.we"; wf: "cm.wf"; wg: "cm.wg"; wh: "cm.wh"; wi: "cm.wi"; wj: "cm.wj"; wk: "cm.wk"; wl: "cm.wl"; wm: "cm.wm"; wn: "cm.wn"; wo: "cm.wo"; wp: "cm.wp"; wq: "cm.wq"; wr: "cm.wr"; ws: "cm.ws"; wt: "cm.wt"; wu: "cm.wu"; wv: "cm.wv"; ww: "cm.ww"; wx: "cm.wx"; wy: "cm.wy"; wz: "cm.wz"; xa: "cm.xa"; xb: "cm.xb"; xc: "cm.xc"; xd: "cm.xd"; xe: "cm.xe"; xf: "cm.xf"; xg: "cm.xg"; xh: "cm.xh"; xi: "cm.xi"; xj: "cm.xj"; xk: "cm.xk"; xl: "cm.xl"; xm: "cm.xm"; xn: "cm.xn"; xo: "cm.xo"; xp: "cm.xp"; xq: "cm.xq"; xr: "cm.xr"; xs: "cm.xs"; xt: "cm.xt"; xu: "cm.xu"; xv: "cm.xv"; xw: "cm.xw"; xx: "cm.xx"; xy: "cm.xy"; xz: "cm.xz"; ya: "cm.ya"; yb: "cm.yb"; yc: "cm.yc"; yd: "cm.yd"; ye: "cm.ye"; yf: "cm.yf"; yg: "cm.yg"; yh: "cm.yh"; yi: "cm.yi"; yj: "cm.yj"; yk: "cm.yk"; yl: "cm.yl"; ym: "cm.ym"; yn: "cm.yn"; yo: "cm.yo"; yp: "cm.yp"; yq: "cm.yq"; yr: "cm.yr"; ys: "cm.ys"; yt: "cm.yt"; yu: "cm.yu"; yv: "cm.yv"; yw: "cm.yw"; yx: "cm.yx"; yy: "cm.yy"; yz: "cm.yz"; za: "cm.za"; zb: "cm.zb"; zc: "cm.zc"; zd: "cm.zd"; ze: "cm.ze"; zf: "cm.zf"; zg: "cm.zg"; zh: "cm.zh"; zi: "cm.zi"; zj: "cm.zj"; zk: "cm.zk"; zl: "cm.zl"; zm: "cm.zm"; zn: "cm.zn"; zo: "cm.zo"; zp: "cm.zp"; zq: "cm.zq"; zr: "cm.zr"; zs: "cm.zs"; zt: "cm.zt"; zu: "cm.zu"; zv: "cm.zv"; zw: "cm.zw"; zx: "cm.zx"; zy: "cm.zy"; zz: "cm.zz"; }; cn: { aa: "cn.aa"; ab: "cn.ab"; ac: "cn.ac"; ad: "cn.ad"; ae: "cn.ae"; af: "cn.af"; ag: "cn.ag"; ah: "cn.ah"; ai: "cn.ai"; aj: "cn.aj"; ak: "cn.ak"; al: "cn.al"; am: "cn.am"; an: "cn.an"; ao: "cn.ao"; ap: "cn.ap"; aq: "cn.aq"; ar: "cn.ar"; as: "cn.as"; at: "cn.at"; au: "cn.au"; av: "cn.av"; aw: "cn.aw"; ax: "cn.ax"; ay: "cn.ay"; az: "cn.az"; ba: "cn.ba"; bb: "cn.bb"; bc: "cn.bc"; bd: "cn.bd"; be: "cn.be"; bf: "cn.bf"; bg: "cn.bg"; bh: "cn.bh"; bi: "cn.bi"; bj: "cn.bj"; bk: "cn.bk"; bl: "cn.bl"; bm: "cn.bm"; bn: "cn.bn"; bo: "cn.bo"; bp: "cn.bp"; bq: "cn.bq"; br: "cn.br"; bs: "cn.bs"; bt: "cn.bt"; bu: "cn.bu"; bv: "cn.bv"; bw: "cn.bw"; bx: "cn.bx"; by: "cn.by"; bz: "cn.bz"; ca: "cn.ca"; cb: "cn.cb"; cc: "cn.cc"; cd: "cn.cd"; ce: "cn.ce"; cf: "cn.cf"; cg: "cn.cg"; ch: "cn.ch"; ci: "cn.ci"; cj: "cn.cj"; ck: "cn.ck"; cl: "cn.cl"; cm: "cn.cm"; cn: "cn.cn"; co: "cn.co"; cp: "cn.cp"; cq: "cn.cq"; cr: "cn.cr"; cs: "cn.cs"; ct: "cn.ct"; cu: "cn.cu"; cv: "cn.cv"; cw: "cn.cw"; cx: "cn.cx"; cy: "cn.cy"; cz: "cn.cz"; da: "cn.da"; db: "cn.db"; dc: "cn.dc"; dd: "cn.dd"; de: "cn.de"; df: "cn.df"; dg: "cn.dg"; dh: "cn.dh"; di: "cn.di"; dj: "cn.dj"; dk: "cn.dk"; dl: "cn.dl"; dm: "cn.dm"; dn: "cn.dn"; do: "cn.do"; dp: "cn.dp"; dq: "cn.dq"; dr: "cn.dr"; ds: "cn.ds"; dt: "cn.dt"; du: "cn.du"; dv: "cn.dv"; dw: "cn.dw"; dx: "cn.dx"; dy: "cn.dy"; dz: "cn.dz"; ea: "cn.ea"; eb: "cn.eb"; ec: "cn.ec"; ed: "cn.ed"; ee: "cn.ee"; ef: "cn.ef"; eg: "cn.eg"; eh: "cn.eh"; ei: "cn.ei"; ej: "cn.ej"; ek: "cn.ek"; el: "cn.el"; em: "cn.em"; en: "cn.en"; eo: "cn.eo"; ep: "cn.ep"; eq: "cn.eq"; er: "cn.er"; es: "cn.es"; et: "cn.et"; eu: "cn.eu"; ev: "cn.ev"; ew: "cn.ew"; ex: "cn.ex"; ey: "cn.ey"; ez: "cn.ez"; fa: "cn.fa"; fb: "cn.fb"; fc: "cn.fc"; fd: "cn.fd"; fe: "cn.fe"; ff: "cn.ff"; fg: "cn.fg"; fh: "cn.fh"; fi: "cn.fi"; fj: "cn.fj"; fk: "cn.fk"; fl: "cn.fl"; fm: "cn.fm"; fn: "cn.fn"; fo: "cn.fo"; fp: "cn.fp"; fq: "cn.fq"; fr: "cn.fr"; fs: "cn.fs"; ft: "cn.ft"; fu: "cn.fu"; fv: "cn.fv"; fw: "cn.fw"; fx: "cn.fx"; fy: "cn.fy"; fz: "cn.fz"; ga: "cn.ga"; gb: "cn.gb"; gc: "cn.gc"; gd: "cn.gd"; ge: "cn.ge"; gf: "cn.gf"; gg: "cn.gg"; gh: "cn.gh"; gi: "cn.gi"; gj: "cn.gj"; gk: "cn.gk"; gl: "cn.gl"; gm: "cn.gm"; gn: "cn.gn"; go: "cn.go"; gp: "cn.gp"; gq: "cn.gq"; gr: "cn.gr"; gs: "cn.gs"; gt: "cn.gt"; gu: "cn.gu"; gv: "cn.gv"; gw: "cn.gw"; gx: "cn.gx"; gy: "cn.gy"; gz: "cn.gz"; ha: "cn.ha"; hb: "cn.hb"; hc: "cn.hc"; hd: "cn.hd"; he: "cn.he"; hf: "cn.hf"; hg: "cn.hg"; hh: "cn.hh"; hi: "cn.hi"; hj: "cn.hj"; hk: "cn.hk"; hl: "cn.hl"; hm: "cn.hm"; hn: "cn.hn"; ho: "cn.ho"; hp: "cn.hp"; hq: "cn.hq"; hr: "cn.hr"; hs: "cn.hs"; ht: "cn.ht"; hu: "cn.hu"; hv: "cn.hv"; hw: "cn.hw"; hx: "cn.hx"; hy: "cn.hy"; hz: "cn.hz"; ia: "cn.ia"; ib: "cn.ib"; ic: "cn.ic"; id: "cn.id"; ie: "cn.ie"; if: "cn.if"; ig: "cn.ig"; ih: "cn.ih"; ii: "cn.ii"; ij: "cn.ij"; ik: "cn.ik"; il: "cn.il"; im: "cn.im"; in: "cn.in"; io: "cn.io"; ip: "cn.ip"; iq: "cn.iq"; ir: "cn.ir"; is: "cn.is"; it: "cn.it"; iu: "cn.iu"; iv: "cn.iv"; iw: "cn.iw"; ix: "cn.ix"; iy: "cn.iy"; iz: "cn.iz"; ja: "cn.ja"; jb: "cn.jb"; jc: "cn.jc"; jd: "cn.jd"; je: "cn.je"; jf: "cn.jf"; jg: "cn.jg"; jh: "cn.jh"; ji: "cn.ji"; jj: "cn.jj"; jk: "cn.jk"; jl: "cn.jl"; jm: "cn.jm"; jn: "cn.jn"; jo: "cn.jo"; jp: "cn.jp"; jq: "cn.jq"; jr: "cn.jr"; js: "cn.js"; jt: "cn.jt"; ju: "cn.ju"; jv: "cn.jv"; jw: "cn.jw"; jx: "cn.jx"; jy: "cn.jy"; jz: "cn.jz"; ka: "cn.ka"; kb: "cn.kb"; kc: "cn.kc"; kd: "cn.kd"; ke: "cn.ke"; kf: "cn.kf"; kg: "cn.kg"; kh: "cn.kh"; ki: "cn.ki"; kj: "cn.kj"; kk: "cn.kk"; kl: "cn.kl"; km: "cn.km"; kn: "cn.kn"; ko: "cn.ko"; kp: "cn.kp"; kq: "cn.kq"; kr: "cn.kr"; ks: "cn.ks"; kt: "cn.kt"; ku: "cn.ku"; kv: "cn.kv"; kw: "cn.kw"; kx: "cn.kx"; ky: "cn.ky"; kz: "cn.kz"; la: "cn.la"; lb: "cn.lb"; lc: "cn.lc"; ld: "cn.ld"; le: "cn.le"; lf: "cn.lf"; lg: "cn.lg"; lh: "cn.lh"; li: "cn.li"; lj: "cn.lj"; lk: "cn.lk"; ll: "cn.ll"; lm: "cn.lm"; ln: "cn.ln"; lo: "cn.lo"; lp: "cn.lp"; lq: "cn.lq"; lr: "cn.lr"; ls: "cn.ls"; lt: "cn.lt"; lu: "cn.lu"; lv: "cn.lv"; lw: "cn.lw"; lx: "cn.lx"; ly: "cn.ly"; lz: "cn.lz"; ma: "cn.ma"; mb: "cn.mb"; mc: "cn.mc"; md: "cn.md"; me: "cn.me"; mf: "cn.mf"; mg: "cn.mg"; mh: "cn.mh"; mi: "cn.mi"; mj: "cn.mj"; mk: "cn.mk"; ml: "cn.ml"; mm: "cn.mm"; mn: "cn.mn"; mo: "cn.mo"; mp: "cn.mp"; mq: "cn.mq"; mr: "cn.mr"; ms: "cn.ms"; mt: "cn.mt"; mu: "cn.mu"; mv: "cn.mv"; mw: "cn.mw"; mx: "cn.mx"; my: "cn.my"; mz: "cn.mz"; na: "cn.na"; nb: "cn.nb"; nc: "cn.nc"; nd: "cn.nd"; ne: "cn.ne"; nf: "cn.nf"; ng: "cn.ng"; nh: "cn.nh"; ni: "cn.ni"; nj: "cn.nj"; nk: "cn.nk"; nl: "cn.nl"; nm: "cn.nm"; nn: "cn.nn"; no: "cn.no"; np: "cn.np"; nq: "cn.nq"; nr: "cn.nr"; ns: "cn.ns"; nt: "cn.nt"; nu: "cn.nu"; nv: "cn.nv"; nw: "cn.nw"; nx: "cn.nx"; ny: "cn.ny"; nz: "cn.nz"; oa: "cn.oa"; ob: "cn.ob"; oc: "cn.oc"; od: "cn.od"; oe: "cn.oe"; of: "cn.of"; og: "cn.og"; oh: "cn.oh"; oi: "cn.oi"; oj: "cn.oj"; ok: "cn.ok"; ol: "cn.ol"; om: "cn.om"; on: "cn.on"; oo: "cn.oo"; op: "cn.op"; oq: "cn.oq"; or: "cn.or"; os: "cn.os"; ot: "cn.ot"; ou: "cn.ou"; ov: "cn.ov"; ow: "cn.ow"; ox: "cn.ox"; oy: "cn.oy"; oz: "cn.oz"; pa: "cn.pa"; pb: "cn.pb"; pc: "cn.pc"; pd: "cn.pd"; pe: "cn.pe"; pf: "cn.pf"; pg: "cn.pg"; ph: "cn.ph"; pi: "cn.pi"; pj: "cn.pj"; pk: "cn.pk"; pl: "cn.pl"; pm: "cn.pm"; pn: "cn.pn"; po: "cn.po"; pp: "cn.pp"; pq: "cn.pq"; pr: "cn.pr"; ps: "cn.ps"; pt: "cn.pt"; pu: "cn.pu"; pv: "cn.pv"; pw: "cn.pw"; px: "cn.px"; py: "cn.py"; pz: "cn.pz"; qa: "cn.qa"; qb: "cn.qb"; qc: "cn.qc"; qd: "cn.qd"; qe: "cn.qe"; qf: "cn.qf"; qg: "cn.qg"; qh: "cn.qh"; qi: "cn.qi"; qj: "cn.qj"; qk: "cn.qk"; ql: "cn.ql"; qm: "cn.qm"; qn: "cn.qn"; qo: "cn.qo"; qp: "cn.qp"; qq: "cn.qq"; qr: "cn.qr"; qs: "cn.qs"; qt: "cn.qt"; qu: "cn.qu"; qv: "cn.qv"; qw: "cn.qw"; qx: "cn.qx"; qy: "cn.qy"; qz: "cn.qz"; ra: "cn.ra"; rb: "cn.rb"; rc: "cn.rc"; rd: "cn.rd"; re: "cn.re"; rf: "cn.rf"; rg: "cn.rg"; rh: "cn.rh"; ri: "cn.ri"; rj: "cn.rj"; rk: "cn.rk"; rl: "cn.rl"; rm: "cn.rm"; rn: "cn.rn"; ro: "cn.ro"; rp: "cn.rp"; rq: "cn.rq"; rr: "cn.rr"; rs: "cn.rs"; rt: "cn.rt"; ru: "cn.ru"; rv: "cn.rv"; rw: "cn.rw"; rx: "cn.rx"; ry: "cn.ry"; rz: "cn.rz"; sa: "cn.sa"; sb: "cn.sb"; sc: "cn.sc"; sd: "cn.sd"; se: "cn.se"; sf: "cn.sf"; sg: "cn.sg"; sh: "cn.sh"; si: "cn.si"; sj: "cn.sj"; sk: "cn.sk"; sl: "cn.sl"; sm: "cn.sm"; sn: "cn.sn"; so: "cn.so"; sp: "cn.sp"; sq: "cn.sq"; sr: "cn.sr"; ss: "cn.ss"; st: "cn.st"; su: "cn.su"; sv: "cn.sv"; sw: "cn.sw"; sx: "cn.sx"; sy: "cn.sy"; sz: "cn.sz"; ta: "cn.ta"; tb: "cn.tb"; tc: "cn.tc"; td: "cn.td"; te: "cn.te"; tf: "cn.tf"; tg: "cn.tg"; th: "cn.th"; ti: "cn.ti"; tj: "cn.tj"; tk: "cn.tk"; tl: "cn.tl"; tm: "cn.tm"; tn: "cn.tn"; to: "cn.to"; tp: "cn.tp"; tq: "cn.tq"; tr: "cn.tr"; ts: "cn.ts"; tt: "cn.tt"; tu: "cn.tu"; tv: "cn.tv"; tw: "cn.tw"; tx: "cn.tx"; ty: "cn.ty"; tz: "cn.tz"; ua: "cn.ua"; ub: "cn.ub"; uc: "cn.uc"; ud: "cn.ud"; ue: "cn.ue"; uf: "cn.uf"; ug: "cn.ug"; uh: "cn.uh"; ui: "cn.ui"; uj: "cn.uj"; uk: "cn.uk"; ul: "cn.ul"; um: "cn.um"; un: "cn.un"; uo: "cn.uo"; up: "cn.up"; uq: "cn.uq"; ur: "cn.ur"; us: "cn.us"; ut: "cn.ut"; uu: "cn.uu"; uv: "cn.uv"; uw: "cn.uw"; ux: "cn.ux"; uy: "cn.uy"; uz: "cn.uz"; va: "cn.va"; vb: "cn.vb"; vc: "cn.vc"; vd: "cn.vd"; ve: "cn.ve"; vf: "cn.vf"; vg: "cn.vg"; vh: "cn.vh"; vi: "cn.vi"; vj: "cn.vj"; vk: "cn.vk"; vl: "cn.vl"; vm: "cn.vm"; vn: "cn.vn"; vo: "cn.vo"; vp: "cn.vp"; vq: "cn.vq"; vr: "cn.vr"; vs: "cn.vs"; vt: "cn.vt"; vu: "cn.vu"; vv: "cn.vv"; vw: "cn.vw"; vx: "cn.vx"; vy: "cn.vy"; vz: "cn.vz"; wa: "cn.wa"; wb: "cn.wb"; wc: "cn.wc"; wd: "cn.wd"; we: "cn.we"; wf: "cn.wf"; wg: "cn.wg"; wh: "cn.wh"; wi: "cn.wi"; wj: "cn.wj"; wk: "cn.wk"; wl: "cn.wl"; wm: "cn.wm"; wn: "cn.wn"; wo: "cn.wo"; wp: "cn.wp"; wq: "cn.wq"; wr: "cn.wr"; ws: "cn.ws"; wt: "cn.wt"; wu: "cn.wu"; wv: "cn.wv"; ww: "cn.ww"; wx: "cn.wx"; wy: "cn.wy"; wz: "cn.wz"; xa: "cn.xa"; xb: "cn.xb"; xc: "cn.xc"; xd: "cn.xd"; xe: "cn.xe"; xf: "cn.xf"; xg: "cn.xg"; xh: "cn.xh"; xi: "cn.xi"; xj: "cn.xj"; xk: "cn.xk"; xl: "cn.xl"; xm: "cn.xm"; xn: "cn.xn"; xo: "cn.xo"; xp: "cn.xp"; xq: "cn.xq"; xr: "cn.xr"; xs: "cn.xs"; xt: "cn.xt"; xu: "cn.xu"; xv: "cn.xv"; xw: "cn.xw"; xx: "cn.xx"; xy: "cn.xy"; xz: "cn.xz"; ya: "cn.ya"; yb: "cn.yb"; yc: "cn.yc"; yd: "cn.yd"; ye: "cn.ye"; yf: "cn.yf"; yg: "cn.yg"; yh: "cn.yh"; yi: "cn.yi"; yj: "cn.yj"; yk: "cn.yk"; yl: "cn.yl"; ym: "cn.ym"; yn: "cn.yn"; yo: "cn.yo"; yp: "cn.yp"; yq: "cn.yq"; yr: "cn.yr"; ys: "cn.ys"; yt: "cn.yt"; yu: "cn.yu"; yv: "cn.yv"; yw: "cn.yw"; yx: "cn.yx"; yy: "cn.yy"; yz: "cn.yz"; za: "cn.za"; zb: "cn.zb"; zc: "cn.zc"; zd: "cn.zd"; ze: "cn.ze"; zf: "cn.zf"; zg: "cn.zg"; zh: "cn.zh"; zi: "cn.zi"; zj: "cn.zj"; zk: "cn.zk"; zl: "cn.zl"; zm: "cn.zm"; zn: "cn.zn"; zo: "cn.zo"; zp: "cn.zp"; zq: "cn.zq"; zr: "cn.zr"; zs: "cn.zs"; zt: "cn.zt"; zu: "cn.zu"; zv: "cn.zv"; zw: "cn.zw"; zx: "cn.zx"; zy: "cn.zy"; zz: "cn.zz"; }; co: { aa: "co.aa"; ab: "co.ab"; ac: "co.ac"; ad: "co.ad"; ae: "co.ae"; af: "co.af"; ag: "co.ag"; ah: "co.ah"; ai: "co.ai"; aj: "co.aj"; ak: "co.ak"; al: "co.al"; am: "co.am"; an: "co.an"; ao: "co.ao"; ap: "co.ap"; aq: "co.aq"; ar: "co.ar"; as: "co.as"; at: "co.at"; au: "co.au"; av: "co.av"; aw: "co.aw"; ax: "co.ax"; ay: "co.ay"; az: "co.az"; ba: "co.ba"; bb: "co.bb"; bc: "co.bc"; bd: "co.bd"; be: "co.be"; bf: "co.bf"; bg: "co.bg"; bh: "co.bh"; bi: "co.bi"; bj: "co.bj"; bk: "co.bk"; bl: "co.bl"; bm: "co.bm"; bn: "co.bn"; bo: "co.bo"; bp: "co.bp"; bq: "co.bq"; br: "co.br"; bs: "co.bs"; bt: "co.bt"; bu: "co.bu"; bv: "co.bv"; bw: "co.bw"; bx: "co.bx"; by: "co.by"; bz: "co.bz"; ca: "co.ca"; cb: "co.cb"; cc: "co.cc"; cd: "co.cd"; ce: "co.ce"; cf: "co.cf"; cg: "co.cg"; ch: "co.ch"; ci: "co.ci"; cj: "co.cj"; ck: "co.ck"; cl: "co.cl"; cm: "co.cm"; cn: "co.cn"; co: "co.co"; cp: "co.cp"; cq: "co.cq"; cr: "co.cr"; cs: "co.cs"; ct: "co.ct"; cu: "co.cu"; cv: "co.cv"; cw: "co.cw"; cx: "co.cx"; cy: "co.cy"; cz: "co.cz"; da: "co.da"; db: "co.db"; dc: "co.dc"; dd: "co.dd"; de: "co.de"; df: "co.df"; dg: "co.dg"; dh: "co.dh"; di: "co.di"; dj: "co.dj"; dk: "co.dk"; dl: "co.dl"; dm: "co.dm"; dn: "co.dn"; do: "co.do"; dp: "co.dp"; dq: "co.dq"; dr: "co.dr"; ds: "co.ds"; dt: "co.dt"; du: "co.du"; dv: "co.dv"; dw: "co.dw"; dx: "co.dx"; dy: "co.dy"; dz: "co.dz"; ea: "co.ea"; eb: "co.eb"; ec: "co.ec"; ed: "co.ed"; ee: "co.ee"; ef: "co.ef"; eg: "co.eg"; eh: "co.eh"; ei: "co.ei"; ej: "co.ej"; ek: "co.ek"; el: "co.el"; em: "co.em"; en: "co.en"; eo: "co.eo"; ep: "co.ep"; eq: "co.eq"; er: "co.er"; es: "co.es"; et: "co.et"; eu: "co.eu"; ev: "co.ev"; ew: "co.ew"; ex: "co.ex"; ey: "co.ey"; ez: "co.ez"; fa: "co.fa"; fb: "co.fb"; fc: "co.fc"; fd: "co.fd"; fe: "co.fe"; ff: "co.ff"; fg: "co.fg"; fh: "co.fh"; fi: "co.fi"; fj: "co.fj"; fk: "co.fk"; fl: "co.fl"; fm: "co.fm"; fn: "co.fn"; fo: "co.fo"; fp: "co.fp"; fq: "co.fq"; fr: "co.fr"; fs: "co.fs"; ft: "co.ft"; fu: "co.fu"; fv: "co.fv"; fw: "co.fw"; fx: "co.fx"; fy: "co.fy"; fz: "co.fz"; ga: "co.ga"; gb: "co.gb"; gc: "co.gc"; gd: "co.gd"; ge: "co.ge"; gf: "co.gf"; gg: "co.gg"; gh: "co.gh"; gi: "co.gi"; gj: "co.gj"; gk: "co.gk"; gl: "co.gl"; gm: "co.gm"; gn: "co.gn"; go: "co.go"; gp: "co.gp"; gq: "co.gq"; gr: "co.gr"; gs: "co.gs"; gt: "co.gt"; gu: "co.gu"; gv: "co.gv"; gw: "co.gw"; gx: "co.gx"; gy: "co.gy"; gz: "co.gz"; ha: "co.ha"; hb: "co.hb"; hc: "co.hc"; hd: "co.hd"; he: "co.he"; hf: "co.hf"; hg: "co.hg"; hh: "co.hh"; hi: "co.hi"; hj: "co.hj"; hk: "co.hk"; hl: "co.hl"; hm: "co.hm"; hn: "co.hn"; ho: "co.ho"; hp: "co.hp"; hq: "co.hq"; hr: "co.hr"; hs: "co.hs"; ht: "co.ht"; hu: "co.hu"; hv: "co.hv"; hw: "co.hw"; hx: "co.hx"; hy: "co.hy"; hz: "co.hz"; ia: "co.ia"; ib: "co.ib"; ic: "co.ic"; id: "co.id"; ie: "co.ie"; if: "co.if"; ig: "co.ig"; ih: "co.ih"; ii: "co.ii"; ij: "co.ij"; ik: "co.ik"; il: "co.il"; im: "co.im"; in: "co.in"; io: "co.io"; ip: "co.ip"; iq: "co.iq"; ir: "co.ir"; is: "co.is"; it: "co.it"; iu: "co.iu"; iv: "co.iv"; iw: "co.iw"; ix: "co.ix"; iy: "co.iy"; iz: "co.iz"; ja: "co.ja"; jb: "co.jb"; jc: "co.jc"; jd: "co.jd"; je: "co.je"; jf: "co.jf"; jg: "co.jg"; jh: "co.jh"; ji: "co.ji"; jj: "co.jj"; jk: "co.jk"; jl: "co.jl"; jm: "co.jm"; jn: "co.jn"; jo: "co.jo"; jp: "co.jp"; jq: "co.jq"; jr: "co.jr"; js: "co.js"; jt: "co.jt"; ju: "co.ju"; jv: "co.jv"; jw: "co.jw"; jx: "co.jx"; jy: "co.jy"; jz: "co.jz"; ka: "co.ka"; kb: "co.kb"; kc: "co.kc"; kd: "co.kd"; ke: "co.ke"; kf: "co.kf"; kg: "co.kg"; kh: "co.kh"; ki: "co.ki"; kj: "co.kj"; kk: "co.kk"; kl: "co.kl"; km: "co.km"; kn: "co.kn"; ko: "co.ko"; kp: "co.kp"; kq: "co.kq"; kr: "co.kr"; ks: "co.ks"; kt: "co.kt"; ku: "co.ku"; kv: "co.kv"; kw: "co.kw"; kx: "co.kx"; ky: "co.ky"; kz: "co.kz"; la: "co.la"; lb: "co.lb"; lc: "co.lc"; ld: "co.ld"; le: "co.le"; lf: "co.lf"; lg: "co.lg"; lh: "co.lh"; li: "co.li"; lj: "co.lj"; lk: "co.lk"; ll: "co.ll"; lm: "co.lm"; ln: "co.ln"; lo: "co.lo"; lp: "co.lp"; lq: "co.lq"; lr: "co.lr"; ls: "co.ls"; lt: "co.lt"; lu: "co.lu"; lv: "co.lv"; lw: "co.lw"; lx: "co.lx"; ly: "co.ly"; lz: "co.lz"; ma: "co.ma"; mb: "co.mb"; mc: "co.mc"; md: "co.md"; me: "co.me"; mf: "co.mf"; mg: "co.mg"; mh: "co.mh"; mi: "co.mi"; mj: "co.mj"; mk: "co.mk"; ml: "co.ml"; mm: "co.mm"; mn: "co.mn"; mo: "co.mo"; mp: "co.mp"; mq: "co.mq"; mr: "co.mr"; ms: "co.ms"; mt: "co.mt"; mu: "co.mu"; mv: "co.mv"; mw: "co.mw"; mx: "co.mx"; my: "co.my"; mz: "co.mz"; na: "co.na"; nb: "co.nb"; nc: "co.nc"; nd: "co.nd"; ne: "co.ne"; nf: "co.nf"; ng: "co.ng"; nh: "co.nh"; ni: "co.ni"; nj: "co.nj"; nk: "co.nk"; nl: "co.nl"; nm: "co.nm"; nn: "co.nn"; no: "co.no"; np: "co.np"; nq: "co.nq"; nr: "co.nr"; ns: "co.ns"; nt: "co.nt"; nu: "co.nu"; nv: "co.nv"; nw: "co.nw"; nx: "co.nx"; ny: "co.ny"; nz: "co.nz"; oa: "co.oa"; ob: "co.ob"; oc: "co.oc"; od: "co.od"; oe: "co.oe"; of: "co.of"; og: "co.og"; oh: "co.oh"; oi: "co.oi"; oj: "co.oj"; ok: "co.ok"; ol: "co.ol"; om: "co.om"; on: "co.on"; oo: "co.oo"; op: "co.op"; oq: "co.oq"; or: "co.or"; os: "co.os"; ot: "co.ot"; ou: "co.ou"; ov: "co.ov"; ow: "co.ow"; ox: "co.ox"; oy: "co.oy"; oz: "co.oz"; pa: "co.pa"; pb: "co.pb"; pc: "co.pc"; pd: "co.pd"; pe: "co.pe"; pf: "co.pf"; pg: "co.pg"; ph: "co.ph"; pi: "co.pi"; pj: "co.pj"; pk: "co.pk"; pl: "co.pl"; pm: "co.pm"; pn: "co.pn"; po: "co.po"; pp: "co.pp"; pq: "co.pq"; pr: "co.pr"; ps: "co.ps"; pt: "co.pt"; pu: "co.pu"; pv: "co.pv"; pw: "co.pw"; px: "co.px"; py: "co.py"; pz: "co.pz"; qa: "co.qa"; qb: "co.qb"; qc: "co.qc"; qd: "co.qd"; qe: "co.qe"; qf: "co.qf"; qg: "co.qg"; qh: "co.qh"; qi: "co.qi"; qj: "co.qj"; qk: "co.qk"; ql: "co.ql"; qm: "co.qm"; qn: "co.qn"; qo: "co.qo"; qp: "co.qp"; qq: "co.qq"; qr: "co.qr"; qs: "co.qs"; qt: "co.qt"; qu: "co.qu"; qv: "co.qv"; qw: "co.qw"; qx: "co.qx"; qy: "co.qy"; qz: "co.qz"; ra: "co.ra"; rb: "co.rb"; rc: "co.rc"; rd: "co.rd"; re: "co.re"; rf: "co.rf"; rg: "co.rg"; rh: "co.rh"; ri: "co.ri"; rj: "co.rj"; rk: "co.rk"; rl: "co.rl"; rm: "co.rm"; rn: "co.rn"; ro: "co.ro"; rp: "co.rp"; rq: "co.rq"; rr: "co.rr"; rs: "co.rs"; rt: "co.rt"; ru: "co.ru"; rv: "co.rv"; rw: "co.rw"; rx: "co.rx"; ry: "co.ry"; rz: "co.rz"; sa: "co.sa"; sb: "co.sb"; sc: "co.sc"; sd: "co.sd"; se: "co.se"; sf: "co.sf"; sg: "co.sg"; sh: "co.sh"; si: "co.si"; sj: "co.sj"; sk: "co.sk"; sl: "co.sl"; sm: "co.sm"; sn: "co.sn"; so: "co.so"; sp: "co.sp"; sq: "co.sq"; sr: "co.sr"; ss: "co.ss"; st: "co.st"; su: "co.su"; sv: "co.sv"; sw: "co.sw"; sx: "co.sx"; sy: "co.sy"; sz: "co.sz"; ta: "co.ta"; tb: "co.tb"; tc: "co.tc"; td: "co.td"; te: "co.te"; tf: "co.tf"; tg: "co.tg"; th: "co.th"; ti: "co.ti"; tj: "co.tj"; tk: "co.tk"; tl: "co.tl"; tm: "co.tm"; tn: "co.tn"; to: "co.to"; tp: "co.tp"; tq: "co.tq"; tr: "co.tr"; ts: "co.ts"; tt: "co.tt"; tu: "co.tu"; tv: "co.tv"; tw: "co.tw"; tx: "co.tx"; ty: "co.ty"; tz: "co.tz"; ua: "co.ua"; ub: "co.ub"; uc: "co.uc"; ud: "co.ud"; ue: "co.ue"; uf: "co.uf"; ug: "co.ug"; uh: "co.uh"; ui: "co.ui"; uj: "co.uj"; uk: "co.uk"; ul: "co.ul"; um: "co.um"; un: "co.un"; uo: "co.uo"; up: "co.up"; uq: "co.uq"; ur: "co.ur"; us: "co.us"; ut: "co.ut"; uu: "co.uu"; uv: "co.uv"; uw: "co.uw"; ux: "co.ux"; uy: "co.uy"; uz: "co.uz"; va: "co.va"; vb: "co.vb"; vc: "co.vc"; vd: "co.vd"; ve: "co.ve"; vf: "co.vf"; vg: "co.vg"; vh: "co.vh"; vi: "co.vi"; vj: "co.vj"; vk: "co.vk"; vl: "co.vl"; vm: "co.vm"; vn: "co.vn"; vo: "co.vo"; vp: "co.vp"; vq: "co.vq"; vr: "co.vr"; vs: "co.vs"; vt: "co.vt"; vu: "co.vu"; vv: "co.vv"; vw: "co.vw"; vx: "co.vx"; vy: "co.vy"; vz: "co.vz"; wa: "co.wa"; wb: "co.wb"; wc: "co.wc"; wd: "co.wd"; we: "co.we"; wf: "co.wf"; wg: "co.wg"; wh: "co.wh"; wi: "co.wi"; wj: "co.wj"; wk: "co.wk"; wl: "co.wl"; wm: "co.wm"; wn: "co.wn"; wo: "co.wo"; wp: "co.wp"; wq: "co.wq"; wr: "co.wr"; ws: "co.ws"; wt: "co.wt"; wu: "co.wu"; wv: "co.wv"; ww: "co.ww"; wx: "co.wx"; wy: "co.wy"; wz: "co.wz"; xa: "co.xa"; xb: "co.xb"; xc: "co.xc"; xd: "co.xd"; xe: "co.xe"; xf: "co.xf"; xg: "co.xg"; xh: "co.xh"; xi: "co.xi"; xj: "co.xj"; xk: "co.xk"; xl: "co.xl"; xm: "co.xm"; xn: "co.xn"; xo: "co.xo"; xp: "co.xp"; xq: "co.xq"; xr: "co.xr"; xs: "co.xs"; xt: "co.xt"; xu: "co.xu"; xv: "co.xv"; xw: "co.xw"; xx: "co.xx"; xy: "co.xy"; xz: "co.xz"; ya: "co.ya"; yb: "co.yb"; yc: "co.yc"; yd: "co.yd"; ye: "co.ye"; yf: "co.yf"; yg: "co.yg"; yh: "co.yh"; yi: "co.yi"; yj: "co.yj"; yk: "co.yk"; yl: "co.yl"; ym: "co.ym"; yn: "co.yn"; yo: "co.yo"; yp: "co.yp"; yq: "co.yq"; yr: "co.yr"; ys: "co.ys"; yt: "co.yt"; yu: "co.yu"; yv: "co.yv"; yw: "co.yw"; yx: "co.yx"; yy: "co.yy"; yz: "co.yz"; za: "co.za"; zb: "co.zb"; zc: "co.zc"; zd: "co.zd"; ze: "co.ze"; zf: "co.zf"; zg: "co.zg"; zh: "co.zh"; zi: "co.zi"; zj: "co.zj"; zk: "co.zk"; zl: "co.zl"; zm: "co.zm"; zn: "co.zn"; zo: "co.zo"; zp: "co.zp"; zq: "co.zq"; zr: "co.zr"; zs: "co.zs"; zt: "co.zt"; zu: "co.zu"; zv: "co.zv"; zw: "co.zw"; zx: "co.zx"; zy: "co.zy"; zz: "co.zz"; }; cp: { aa: "cp.aa"; ab: "cp.ab"; ac: "cp.ac"; ad: "cp.ad"; ae: "cp.ae"; af: "cp.af"; ag: "cp.ag"; ah: "cp.ah"; ai: "cp.ai"; aj: "cp.aj"; ak: "cp.ak"; al: "cp.al"; am: "cp.am"; an: "cp.an"; ao: "cp.ao"; ap: "cp.ap"; aq: "cp.aq"; ar: "cp.ar"; as: "cp.as"; at: "cp.at"; au: "cp.au"; av: "cp.av"; aw: "cp.aw"; ax: "cp.ax"; ay: "cp.ay"; az: "cp.az"; ba: "cp.ba"; bb: "cp.bb"; bc: "cp.bc"; bd: "cp.bd"; be: "cp.be"; bf: "cp.bf"; bg: "cp.bg"; bh: "cp.bh"; bi: "cp.bi"; bj: "cp.bj"; bk: "cp.bk"; bl: "cp.bl"; bm: "cp.bm"; bn: "cp.bn"; bo: "cp.bo"; bp: "cp.bp"; bq: "cp.bq"; br: "cp.br"; bs: "cp.bs"; bt: "cp.bt"; bu: "cp.bu"; bv: "cp.bv"; bw: "cp.bw"; bx: "cp.bx"; by: "cp.by"; bz: "cp.bz"; ca: "cp.ca"; cb: "cp.cb"; cc: "cp.cc"; cd: "cp.cd"; ce: "cp.ce"; cf: "cp.cf"; cg: "cp.cg"; ch: "cp.ch"; ci: "cp.ci"; cj: "cp.cj"; ck: "cp.ck"; cl: "cp.cl"; cm: "cp.cm"; cn: "cp.cn"; co: "cp.co"; cp: "cp.cp"; cq: "cp.cq"; cr: "cp.cr"; cs: "cp.cs"; ct: "cp.ct"; cu: "cp.cu"; cv: "cp.cv"; cw: "cp.cw"; cx: "cp.cx"; cy: "cp.cy"; cz: "cp.cz"; da: "cp.da"; db: "cp.db"; dc: "cp.dc"; dd: "cp.dd"; de: "cp.de"; df: "cp.df"; dg: "cp.dg"; dh: "cp.dh"; di: "cp.di"; dj: "cp.dj"; dk: "cp.dk"; dl: "cp.dl"; dm: "cp.dm"; dn: "cp.dn"; do: "cp.do"; dp: "cp.dp"; dq: "cp.dq"; dr: "cp.dr"; ds: "cp.ds"; dt: "cp.dt"; du: "cp.du"; dv: "cp.dv"; dw: "cp.dw"; dx: "cp.dx"; dy: "cp.dy"; dz: "cp.dz"; ea: "cp.ea"; eb: "cp.eb"; ec: "cp.ec"; ed: "cp.ed"; ee: "cp.ee"; ef: "cp.ef"; eg: "cp.eg"; eh: "cp.eh"; ei: "cp.ei"; ej: "cp.ej"; ek: "cp.ek"; el: "cp.el"; em: "cp.em"; en: "cp.en"; eo: "cp.eo"; ep: "cp.ep"; eq: "cp.eq"; er: "cp.er"; es: "cp.es"; et: "cp.et"; eu: "cp.eu"; ev: "cp.ev"; ew: "cp.ew"; ex: "cp.ex"; ey: "cp.ey"; ez: "cp.ez"; fa: "cp.fa"; fb: "cp.fb"; fc: "cp.fc"; fd: "cp.fd"; fe: "cp.fe"; ff: "cp.ff"; fg: "cp.fg"; fh: "cp.fh"; fi: "cp.fi"; fj: "cp.fj"; fk: "cp.fk"; fl: "cp.fl"; fm: "cp.fm"; fn: "cp.fn"; fo: "cp.fo"; fp: "cp.fp"; fq: "cp.fq"; fr: "cp.fr"; fs: "cp.fs"; ft: "cp.ft"; fu: "cp.fu"; fv: "cp.fv"; fw: "cp.fw"; fx: "cp.fx"; fy: "cp.fy"; fz: "cp.fz"; ga: "cp.ga"; gb: "cp.gb"; gc: "cp.gc"; gd: "cp.gd"; ge: "cp.ge"; gf: "cp.gf"; gg: "cp.gg"; gh: "cp.gh"; gi: "cp.gi"; gj: "cp.gj"; gk: "cp.gk"; gl: "cp.gl"; gm: "cp.gm"; gn: "cp.gn"; go: "cp.go"; gp: "cp.gp"; gq: "cp.gq"; gr: "cp.gr"; gs: "cp.gs"; gt: "cp.gt"; gu: "cp.gu"; gv: "cp.gv"; gw: "cp.gw"; gx: "cp.gx"; gy: "cp.gy"; gz: "cp.gz"; ha: "cp.ha"; hb: "cp.hb"; hc: "cp.hc"; hd: "cp.hd"; he: "cp.he"; hf: "cp.hf"; hg: "cp.hg"; hh: "cp.hh"; hi: "cp.hi"; hj: "cp.hj"; hk: "cp.hk"; hl: "cp.hl"; hm: "cp.hm"; hn: "cp.hn"; ho: "cp.ho"; hp: "cp.hp"; hq: "cp.hq"; hr: "cp.hr"; hs: "cp.hs"; ht: "cp.ht"; hu: "cp.hu"; hv: "cp.hv"; hw: "cp.hw"; hx: "cp.hx"; hy: "cp.hy"; hz: "cp.hz"; ia: "cp.ia"; ib: "cp.ib"; ic: "cp.ic"; id: "cp.id"; ie: "cp.ie"; if: "cp.if"; ig: "cp.ig"; ih: "cp.ih"; ii: "cp.ii"; ij: "cp.ij"; ik: "cp.ik"; il: "cp.il"; im: "cp.im"; in: "cp.in"; io: "cp.io"; ip: "cp.ip"; iq: "cp.iq"; ir: "cp.ir"; is: "cp.is"; it: "cp.it"; iu: "cp.iu"; iv: "cp.iv"; iw: "cp.iw"; ix: "cp.ix"; iy: "cp.iy"; iz: "cp.iz"; ja: "cp.ja"; jb: "cp.jb"; jc: "cp.jc"; jd: "cp.jd"; je: "cp.je"; jf: "cp.jf"; jg: "cp.jg"; jh: "cp.jh"; ji: "cp.ji"; jj: "cp.jj"; jk: "cp.jk"; jl: "cp.jl"; jm: "cp.jm"; jn: "cp.jn"; jo: "cp.jo"; jp: "cp.jp"; jq: "cp.jq"; jr: "cp.jr"; js: "cp.js"; jt: "cp.jt"; ju: "cp.ju"; jv: "cp.jv"; jw: "cp.jw"; jx: "cp.jx"; jy: "cp.jy"; jz: "cp.jz"; ka: "cp.ka"; kb: "cp.kb"; kc: "cp.kc"; kd: "cp.kd"; ke: "cp.ke"; kf: "cp.kf"; kg: "cp.kg"; kh: "cp.kh"; ki: "cp.ki"; kj: "cp.kj"; kk: "cp.kk"; kl: "cp.kl"; km: "cp.km"; kn: "cp.kn"; ko: "cp.ko"; kp: "cp.kp"; kq: "cp.kq"; kr: "cp.kr"; ks: "cp.ks"; kt: "cp.kt"; ku: "cp.ku"; kv: "cp.kv"; kw: "cp.kw"; kx: "cp.kx"; ky: "cp.ky"; kz: "cp.kz"; la: "cp.la"; lb: "cp.lb"; lc: "cp.lc"; ld: "cp.ld"; le: "cp.le"; lf: "cp.lf"; lg: "cp.lg"; lh: "cp.lh"; li: "cp.li"; lj: "cp.lj"; lk: "cp.lk"; ll: "cp.ll"; lm: "cp.lm"; ln: "cp.ln"; lo: "cp.lo"; lp: "cp.lp"; lq: "cp.lq"; lr: "cp.lr"; ls: "cp.ls"; lt: "cp.lt"; lu: "cp.lu"; lv: "cp.lv"; lw: "cp.lw"; lx: "cp.lx"; ly: "cp.ly"; lz: "cp.lz"; ma: "cp.ma"; mb: "cp.mb"; mc: "cp.mc"; md: "cp.md"; me: "cp.me"; mf: "cp.mf"; mg: "cp.mg"; mh: "cp.mh"; mi: "cp.mi"; mj: "cp.mj"; mk: "cp.mk"; ml: "cp.ml"; mm: "cp.mm"; mn: "cp.mn"; mo: "cp.mo"; mp: "cp.mp"; mq: "cp.mq"; mr: "cp.mr"; ms: "cp.ms"; mt: "cp.mt"; mu: "cp.mu"; mv: "cp.mv"; mw: "cp.mw"; mx: "cp.mx"; my: "cp.my"; mz: "cp.mz"; na: "cp.na"; nb: "cp.nb"; nc: "cp.nc"; nd: "cp.nd"; ne: "cp.ne"; nf: "cp.nf"; ng: "cp.ng"; nh: "cp.nh"; ni: "cp.ni"; nj: "cp.nj"; nk: "cp.nk"; nl: "cp.nl"; nm: "cp.nm"; nn: "cp.nn"; no: "cp.no"; np: "cp.np"; nq: "cp.nq"; nr: "cp.nr"; ns: "cp.ns"; nt: "cp.nt"; nu: "cp.nu"; nv: "cp.nv"; nw: "cp.nw"; nx: "cp.nx"; ny: "cp.ny"; nz: "cp.nz"; oa: "cp.oa"; ob: "cp.ob"; oc: "cp.oc"; od: "cp.od"; oe: "cp.oe"; of: "cp.of"; og: "cp.og"; oh: "cp.oh"; oi: "cp.oi"; oj: "cp.oj"; ok: "cp.ok"; ol: "cp.ol"; om: "cp.om"; on: "cp.on"; oo: "cp.oo"; op: "cp.op"; oq: "cp.oq"; or: "cp.or"; os: "cp.os"; ot: "cp.ot"; ou: "cp.ou"; ov: "cp.ov"; ow: "cp.ow"; ox: "cp.ox"; oy: "cp.oy"; oz: "cp.oz"; pa: "cp.pa"; pb: "cp.pb"; pc: "cp.pc"; pd: "cp.pd"; pe: "cp.pe"; pf: "cp.pf"; pg: "cp.pg"; ph: "cp.ph"; pi: "cp.pi"; pj: "cp.pj"; pk: "cp.pk"; pl: "cp.pl"; pm: "cp.pm"; pn: "cp.pn"; po: "cp.po"; pp: "cp.pp"; pq: "cp.pq"; pr: "cp.pr"; ps: "cp.ps"; pt: "cp.pt"; pu: "cp.pu"; pv: "cp.pv"; pw: "cp.pw"; px: "cp.px"; py: "cp.py"; pz: "cp.pz"; qa: "cp.qa"; qb: "cp.qb"; qc: "cp.qc"; qd: "cp.qd"; qe: "cp.qe"; qf: "cp.qf"; qg: "cp.qg"; qh: "cp.qh"; qi: "cp.qi"; qj: "cp.qj"; qk: "cp.qk"; ql: "cp.ql"; qm: "cp.qm"; qn: "cp.qn"; qo: "cp.qo"; qp: "cp.qp"; qq: "cp.qq"; qr: "cp.qr"; qs: "cp.qs"; qt: "cp.qt"; qu: "cp.qu"; qv: "cp.qv"; qw: "cp.qw"; qx: "cp.qx"; qy: "cp.qy"; qz: "cp.qz"; ra: "cp.ra"; rb: "cp.rb"; rc: "cp.rc"; rd: "cp.rd"; re: "cp.re"; rf: "cp.rf"; rg: "cp.rg"; rh: "cp.rh"; ri: "cp.ri"; rj: "cp.rj"; rk: "cp.rk"; rl: "cp.rl"; rm: "cp.rm"; rn: "cp.rn"; ro: "cp.ro"; rp: "cp.rp"; rq: "cp.rq"; rr: "cp.rr"; rs: "cp.rs"; rt: "cp.rt"; ru: "cp.ru"; rv: "cp.rv"; rw: "cp.rw"; rx: "cp.rx"; ry: "cp.ry"; rz: "cp.rz"; sa: "cp.sa"; sb: "cp.sb"; sc: "cp.sc"; sd: "cp.sd"; se: "cp.se"; sf: "cp.sf"; sg: "cp.sg"; sh: "cp.sh"; si: "cp.si"; sj: "cp.sj"; sk: "cp.sk"; sl: "cp.sl"; sm: "cp.sm"; sn: "cp.sn"; so: "cp.so"; sp: "cp.sp"; sq: "cp.sq"; sr: "cp.sr"; ss: "cp.ss"; st: "cp.st"; su: "cp.su"; sv: "cp.sv"; sw: "cp.sw"; sx: "cp.sx"; sy: "cp.sy"; sz: "cp.sz"; ta: "cp.ta"; tb: "cp.tb"; tc: "cp.tc"; td: "cp.td"; te: "cp.te"; tf: "cp.tf"; tg: "cp.tg"; th: "cp.th"; ti: "cp.ti"; tj: "cp.tj"; tk: "cp.tk"; tl: "cp.tl"; tm: "cp.tm"; tn: "cp.tn"; to: "cp.to"; tp: "cp.tp"; tq: "cp.tq"; tr: "cp.tr"; ts: "cp.ts"; tt: "cp.tt"; tu: "cp.tu"; tv: "cp.tv"; tw: "cp.tw"; tx: "cp.tx"; ty: "cp.ty"; tz: "cp.tz"; ua: "cp.ua"; ub: "cp.ub"; uc: "cp.uc"; ud: "cp.ud"; ue: "cp.ue"; uf: "cp.uf"; ug: "cp.ug"; uh: "cp.uh"; ui: "cp.ui"; uj: "cp.uj"; uk: "cp.uk"; ul: "cp.ul"; um: "cp.um"; un: "cp.un"; uo: "cp.uo"; up: "cp.up"; uq: "cp.uq"; ur: "cp.ur"; us: "cp.us"; ut: "cp.ut"; uu: "cp.uu"; uv: "cp.uv"; uw: "cp.uw"; ux: "cp.ux"; uy: "cp.uy"; uz: "cp.uz"; va: "cp.va"; vb: "cp.vb"; vc: "cp.vc"; vd: "cp.vd"; ve: "cp.ve"; vf: "cp.vf"; vg: "cp.vg"; vh: "cp.vh"; vi: "cp.vi"; vj: "cp.vj"; vk: "cp.vk"; vl: "cp.vl"; vm: "cp.vm"; vn: "cp.vn"; vo: "cp.vo"; vp: "cp.vp"; vq: "cp.vq"; vr: "cp.vr"; vs: "cp.vs"; vt: "cp.vt"; vu: "cp.vu"; vv: "cp.vv"; vw: "cp.vw"; vx: "cp.vx"; vy: "cp.vy"; vz: "cp.vz"; wa: "cp.wa"; wb: "cp.wb"; wc: "cp.wc"; wd: "cp.wd"; we: "cp.we"; wf: "cp.wf"; wg: "cp.wg"; wh: "cp.wh"; wi: "cp.wi"; wj: "cp.wj"; wk: "cp.wk"; wl: "cp.wl"; wm: "cp.wm"; wn: "cp.wn"; wo: "cp.wo"; wp: "cp.wp"; wq: "cp.wq"; wr: "cp.wr"; ws: "cp.ws"; wt: "cp.wt"; wu: "cp.wu"; wv: "cp.wv"; ww: "cp.ww"; wx: "cp.wx"; wy: "cp.wy"; wz: "cp.wz"; xa: "cp.xa"; xb: "cp.xb"; xc: "cp.xc"; xd: "cp.xd"; xe: "cp.xe"; xf: "cp.xf"; xg: "cp.xg"; xh: "cp.xh"; xi: "cp.xi"; xj: "cp.xj"; xk: "cp.xk"; xl: "cp.xl"; xm: "cp.xm"; xn: "cp.xn"; xo: "cp.xo"; xp: "cp.xp"; xq: "cp.xq"; xr: "cp.xr"; xs: "cp.xs"; xt: "cp.xt"; xu: "cp.xu"; xv: "cp.xv"; xw: "cp.xw"; xx: "cp.xx"; xy: "cp.xy"; xz: "cp.xz"; ya: "cp.ya"; yb: "cp.yb"; yc: "cp.yc"; yd: "cp.yd"; ye: "cp.ye"; yf: "cp.yf"; yg: "cp.yg"; yh: "cp.yh"; yi: "cp.yi"; yj: "cp.yj"; yk: "cp.yk"; yl: "cp.yl"; ym: "cp.ym"; yn: "cp.yn"; yo: "cp.yo"; yp: "cp.yp"; yq: "cp.yq"; yr: "cp.yr"; ys: "cp.ys"; yt: "cp.yt"; yu: "cp.yu"; yv: "cp.yv"; yw: "cp.yw"; yx: "cp.yx"; yy: "cp.yy"; yz: "cp.yz"; za: "cp.za"; zb: "cp.zb"; zc: "cp.zc"; zd: "cp.zd"; ze: "cp.ze"; zf: "cp.zf"; zg: "cp.zg"; zh: "cp.zh"; zi: "cp.zi"; zj: "cp.zj"; zk: "cp.zk"; zl: "cp.zl"; zm: "cp.zm"; zn: "cp.zn"; zo: "cp.zo"; zp: "cp.zp"; zq: "cp.zq"; zr: "cp.zr"; zs: "cp.zs"; zt: "cp.zt"; zu: "cp.zu"; zv: "cp.zv"; zw: "cp.zw"; zx: "cp.zx"; zy: "cp.zy"; zz: "cp.zz"; }; cq: { aa: "cq.aa"; ab: "cq.ab"; ac: "cq.ac"; ad: "cq.ad"; ae: "cq.ae"; af: "cq.af"; ag: "cq.ag"; ah: "cq.ah"; ai: "cq.ai"; aj: "cq.aj"; ak: "cq.ak"; al: "cq.al"; am: "cq.am"; an: "cq.an"; ao: "cq.ao"; ap: "cq.ap"; aq: "cq.aq"; ar: "cq.ar"; as: "cq.as"; at: "cq.at"; au: "cq.au"; av: "cq.av"; aw: "cq.aw"; ax: "cq.ax"; ay: "cq.ay"; az: "cq.az"; ba: "cq.ba"; bb: "cq.bb"; bc: "cq.bc"; bd: "cq.bd"; be: "cq.be"; bf: "cq.bf"; bg: "cq.bg"; bh: "cq.bh"; bi: "cq.bi"; bj: "cq.bj"; bk: "cq.bk"; bl: "cq.bl"; bm: "cq.bm"; bn: "cq.bn"; bo: "cq.bo"; bp: "cq.bp"; bq: "cq.bq"; br: "cq.br"; bs: "cq.bs"; bt: "cq.bt"; bu: "cq.bu"; bv: "cq.bv"; bw: "cq.bw"; bx: "cq.bx"; by: "cq.by"; bz: "cq.bz"; ca: "cq.ca"; cb: "cq.cb"; cc: "cq.cc"; cd: "cq.cd"; ce: "cq.ce"; cf: "cq.cf"; cg: "cq.cg"; ch: "cq.ch"; ci: "cq.ci"; cj: "cq.cj"; ck: "cq.ck"; cl: "cq.cl"; cm: "cq.cm"; cn: "cq.cn"; co: "cq.co"; cp: "cq.cp"; cq: "cq.cq"; cr: "cq.cr"; cs: "cq.cs"; ct: "cq.ct"; cu: "cq.cu"; cv: "cq.cv"; cw: "cq.cw"; cx: "cq.cx"; cy: "cq.cy"; cz: "cq.cz"; da: "cq.da"; db: "cq.db"; dc: "cq.dc"; dd: "cq.dd"; de: "cq.de"; df: "cq.df"; dg: "cq.dg"; dh: "cq.dh"; di: "cq.di"; dj: "cq.dj"; dk: "cq.dk"; dl: "cq.dl"; dm: "cq.dm"; dn: "cq.dn"; do: "cq.do"; dp: "cq.dp"; dq: "cq.dq"; dr: "cq.dr"; ds: "cq.ds"; dt: "cq.dt"; du: "cq.du"; dv: "cq.dv"; dw: "cq.dw"; dx: "cq.dx"; dy: "cq.dy"; dz: "cq.dz"; ea: "cq.ea"; eb: "cq.eb"; ec: "cq.ec"; ed: "cq.ed"; ee: "cq.ee"; ef: "cq.ef"; eg: "cq.eg"; eh: "cq.eh"; ei: "cq.ei"; ej: "cq.ej"; ek: "cq.ek"; el: "cq.el"; em: "cq.em"; en: "cq.en"; eo: "cq.eo"; ep: "cq.ep"; eq: "cq.eq"; er: "cq.er"; es: "cq.es"; et: "cq.et"; eu: "cq.eu"; ev: "cq.ev"; ew: "cq.ew"; ex: "cq.ex"; ey: "cq.ey"; ez: "cq.ez"; fa: "cq.fa"; fb: "cq.fb"; fc: "cq.fc"; fd: "cq.fd"; fe: "cq.fe"; ff: "cq.ff"; fg: "cq.fg"; fh: "cq.fh"; fi: "cq.fi"; fj: "cq.fj"; fk: "cq.fk"; fl: "cq.fl"; fm: "cq.fm"; fn: "cq.fn"; fo: "cq.fo"; fp: "cq.fp"; fq: "cq.fq"; fr: "cq.fr"; fs: "cq.fs"; ft: "cq.ft"; fu: "cq.fu"; fv: "cq.fv"; fw: "cq.fw"; fx: "cq.fx"; fy: "cq.fy"; fz: "cq.fz"; ga: "cq.ga"; gb: "cq.gb"; gc: "cq.gc"; gd: "cq.gd"; ge: "cq.ge"; gf: "cq.gf"; gg: "cq.gg"; gh: "cq.gh"; gi: "cq.gi"; gj: "cq.gj"; gk: "cq.gk"; gl: "cq.gl"; gm: "cq.gm"; gn: "cq.gn"; go: "cq.go"; gp: "cq.gp"; gq: "cq.gq"; gr: "cq.gr"; gs: "cq.gs"; gt: "cq.gt"; gu: "cq.gu"; gv: "cq.gv"; gw: "cq.gw"; gx: "cq.gx"; gy: "cq.gy"; gz: "cq.gz"; ha: "cq.ha"; hb: "cq.hb"; hc: "cq.hc"; hd: "cq.hd"; he: "cq.he"; hf: "cq.hf"; hg: "cq.hg"; hh: "cq.hh"; hi: "cq.hi"; hj: "cq.hj"; hk: "cq.hk"; hl: "cq.hl"; hm: "cq.hm"; hn: "cq.hn"; ho: "cq.ho"; hp: "cq.hp"; hq: "cq.hq"; hr: "cq.hr"; hs: "cq.hs"; ht: "cq.ht"; hu: "cq.hu"; hv: "cq.hv"; hw: "cq.hw"; hx: "cq.hx"; hy: "cq.hy"; hz: "cq.hz"; ia: "cq.ia"; ib: "cq.ib"; ic: "cq.ic"; id: "cq.id"; ie: "cq.ie"; if: "cq.if"; ig: "cq.ig"; ih: "cq.ih"; ii: "cq.ii"; ij: "cq.ij"; ik: "cq.ik"; il: "cq.il"; im: "cq.im"; in: "cq.in"; io: "cq.io"; ip: "cq.ip"; iq: "cq.iq"; ir: "cq.ir"; is: "cq.is"; it: "cq.it"; iu: "cq.iu"; iv: "cq.iv"; iw: "cq.iw"; ix: "cq.ix"; iy: "cq.iy"; iz: "cq.iz"; ja: "cq.ja"; jb: "cq.jb"; jc: "cq.jc"; jd: "cq.jd"; je: "cq.je"; jf: "cq.jf"; jg: "cq.jg"; jh: "cq.jh"; ji: "cq.ji"; jj: "cq.jj"; jk: "cq.jk"; jl: "cq.jl"; jm: "cq.jm"; jn: "cq.jn"; jo: "cq.jo"; jp: "cq.jp"; jq: "cq.jq"; jr: "cq.jr"; js: "cq.js"; jt: "cq.jt"; ju: "cq.ju"; jv: "cq.jv"; jw: "cq.jw"; jx: "cq.jx"; jy: "cq.jy"; jz: "cq.jz"; ka: "cq.ka"; kb: "cq.kb"; kc: "cq.kc"; kd: "cq.kd"; ke: "cq.ke"; kf: "cq.kf"; kg: "cq.kg"; kh: "cq.kh"; ki: "cq.ki"; kj: "cq.kj"; kk: "cq.kk"; kl: "cq.kl"; km: "cq.km"; kn: "cq.kn"; ko: "cq.ko"; kp: "cq.kp"; kq: "cq.kq"; kr: "cq.kr"; ks: "cq.ks"; kt: "cq.kt"; ku: "cq.ku"; kv: "cq.kv"; kw: "cq.kw"; kx: "cq.kx"; ky: "cq.ky"; kz: "cq.kz"; la: "cq.la"; lb: "cq.lb"; lc: "cq.lc"; ld: "cq.ld"; le: "cq.le"; lf: "cq.lf"; lg: "cq.lg"; lh: "cq.lh"; li: "cq.li"; lj: "cq.lj"; lk: "cq.lk"; ll: "cq.ll"; lm: "cq.lm"; ln: "cq.ln"; lo: "cq.lo"; lp: "cq.lp"; lq: "cq.lq"; lr: "cq.lr"; ls: "cq.ls"; lt: "cq.lt"; lu: "cq.lu"; lv: "cq.lv"; lw: "cq.lw"; lx: "cq.lx"; ly: "cq.ly"; lz: "cq.lz"; ma: "cq.ma"; mb: "cq.mb"; mc: "cq.mc"; md: "cq.md"; me: "cq.me"; mf: "cq.mf"; mg: "cq.mg"; mh: "cq.mh"; mi: "cq.mi"; mj: "cq.mj"; mk: "cq.mk"; ml: "cq.ml"; mm: "cq.mm"; mn: "cq.mn"; mo: "cq.mo"; mp: "cq.mp"; mq: "cq.mq"; mr: "cq.mr"; ms: "cq.ms"; mt: "cq.mt"; mu: "cq.mu"; mv: "cq.mv"; mw: "cq.mw"; mx: "cq.mx"; my: "cq.my"; mz: "cq.mz"; na: "cq.na"; nb: "cq.nb"; nc: "cq.nc"; nd: "cq.nd"; ne: "cq.ne"; nf: "cq.nf"; ng: "cq.ng"; nh: "cq.nh"; ni: "cq.ni"; nj: "cq.nj"; nk: "cq.nk"; nl: "cq.nl"; nm: "cq.nm"; nn: "cq.nn"; no: "cq.no"; np: "cq.np"; nq: "cq.nq"; nr: "cq.nr"; ns: "cq.ns"; nt: "cq.nt"; nu: "cq.nu"; nv: "cq.nv"; nw: "cq.nw"; nx: "cq.nx"; ny: "cq.ny"; nz: "cq.nz"; oa: "cq.oa"; ob: "cq.ob"; oc: "cq.oc"; od: "cq.od"; oe: "cq.oe"; of: "cq.of"; og: "cq.og"; oh: "cq.oh"; oi: "cq.oi"; oj: "cq.oj"; ok: "cq.ok"; ol: "cq.ol"; om: "cq.om"; on: "cq.on"; oo: "cq.oo"; op: "cq.op"; oq: "cq.oq"; or: "cq.or"; os: "cq.os"; ot: "cq.ot"; ou: "cq.ou"; ov: "cq.ov"; ow: "cq.ow"; ox: "cq.ox"; oy: "cq.oy"; oz: "cq.oz"; pa: "cq.pa"; pb: "cq.pb"; pc: "cq.pc"; pd: "cq.pd"; pe: "cq.pe"; pf: "cq.pf"; pg: "cq.pg"; ph: "cq.ph"; pi: "cq.pi"; pj: "cq.pj"; pk: "cq.pk"; pl: "cq.pl"; pm: "cq.pm"; pn: "cq.pn"; po: "cq.po"; pp: "cq.pp"; pq: "cq.pq"; pr: "cq.pr"; ps: "cq.ps"; pt: "cq.pt"; pu: "cq.pu"; pv: "cq.pv"; pw: "cq.pw"; px: "cq.px"; py: "cq.py"; pz: "cq.pz"; qa: "cq.qa"; qb: "cq.qb"; qc: "cq.qc"; qd: "cq.qd"; qe: "cq.qe"; qf: "cq.qf"; qg: "cq.qg"; qh: "cq.qh"; qi: "cq.qi"; qj: "cq.qj"; qk: "cq.qk"; ql: "cq.ql"; qm: "cq.qm"; qn: "cq.qn"; qo: "cq.qo"; qp: "cq.qp"; qq: "cq.qq"; qr: "cq.qr"; qs: "cq.qs"; qt: "cq.qt"; qu: "cq.qu"; qv: "cq.qv"; qw: "cq.qw"; qx: "cq.qx"; qy: "cq.qy"; qz: "cq.qz"; ra: "cq.ra"; rb: "cq.rb"; rc: "cq.rc"; rd: "cq.rd"; re: "cq.re"; rf: "cq.rf"; rg: "cq.rg"; rh: "cq.rh"; ri: "cq.ri"; rj: "cq.rj"; rk: "cq.rk"; rl: "cq.rl"; rm: "cq.rm"; rn: "cq.rn"; ro: "cq.ro"; rp: "cq.rp"; rq: "cq.rq"; rr: "cq.rr"; rs: "cq.rs"; rt: "cq.rt"; ru: "cq.ru"; rv: "cq.rv"; rw: "cq.rw"; rx: "cq.rx"; ry: "cq.ry"; rz: "cq.rz"; sa: "cq.sa"; sb: "cq.sb"; sc: "cq.sc"; sd: "cq.sd"; se: "cq.se"; sf: "cq.sf"; sg: "cq.sg"; sh: "cq.sh"; si: "cq.si"; sj: "cq.sj"; sk: "cq.sk"; sl: "cq.sl"; sm: "cq.sm"; sn: "cq.sn"; so: "cq.so"; sp: "cq.sp"; sq: "cq.sq"; sr: "cq.sr"; ss: "cq.ss"; st: "cq.st"; su: "cq.su"; sv: "cq.sv"; sw: "cq.sw"; sx: "cq.sx"; sy: "cq.sy"; sz: "cq.sz"; ta: "cq.ta"; tb: "cq.tb"; tc: "cq.tc"; td: "cq.td"; te: "cq.te"; tf: "cq.tf"; tg: "cq.tg"; th: "cq.th"; ti: "cq.ti"; tj: "cq.tj"; tk: "cq.tk"; tl: "cq.tl"; tm: "cq.tm"; tn: "cq.tn"; to: "cq.to"; tp: "cq.tp"; tq: "cq.tq"; tr: "cq.tr"; ts: "cq.ts"; tt: "cq.tt"; tu: "cq.tu"; tv: "cq.tv"; tw: "cq.tw"; tx: "cq.tx"; ty: "cq.ty"; tz: "cq.tz"; ua: "cq.ua"; ub: "cq.ub"; uc: "cq.uc"; ud: "cq.ud"; ue: "cq.ue"; uf: "cq.uf"; ug: "cq.ug"; uh: "cq.uh"; ui: "cq.ui"; uj: "cq.uj"; uk: "cq.uk"; ul: "cq.ul"; um: "cq.um"; un: "cq.un"; uo: "cq.uo"; up: "cq.up"; uq: "cq.uq"; ur: "cq.ur"; us: "cq.us"; ut: "cq.ut"; uu: "cq.uu"; uv: "cq.uv"; uw: "cq.uw"; ux: "cq.ux"; uy: "cq.uy"; uz: "cq.uz"; va: "cq.va"; vb: "cq.vb"; vc: "cq.vc"; vd: "cq.vd"; ve: "cq.ve"; vf: "cq.vf"; vg: "cq.vg"; vh: "cq.vh"; vi: "cq.vi"; vj: "cq.vj"; vk: "cq.vk"; vl: "cq.vl"; vm: "cq.vm"; vn: "cq.vn"; vo: "cq.vo"; vp: "cq.vp"; vq: "cq.vq"; vr: "cq.vr"; vs: "cq.vs"; vt: "cq.vt"; vu: "cq.vu"; vv: "cq.vv"; vw: "cq.vw"; vx: "cq.vx"; vy: "cq.vy"; vz: "cq.vz"; wa: "cq.wa"; wb: "cq.wb"; wc: "cq.wc"; wd: "cq.wd"; we: "cq.we"; wf: "cq.wf"; wg: "cq.wg"; wh: "cq.wh"; wi: "cq.wi"; wj: "cq.wj"; wk: "cq.wk"; wl: "cq.wl"; wm: "cq.wm"; wn: "cq.wn"; wo: "cq.wo"; wp: "cq.wp"; wq: "cq.wq"; wr: "cq.wr"; ws: "cq.ws"; wt: "cq.wt"; wu: "cq.wu"; wv: "cq.wv"; ww: "cq.ww"; wx: "cq.wx"; wy: "cq.wy"; wz: "cq.wz"; xa: "cq.xa"; xb: "cq.xb"; xc: "cq.xc"; xd: "cq.xd"; xe: "cq.xe"; xf: "cq.xf"; xg: "cq.xg"; xh: "cq.xh"; xi: "cq.xi"; xj: "cq.xj"; xk: "cq.xk"; xl: "cq.xl"; xm: "cq.xm"; xn: "cq.xn"; xo: "cq.xo"; xp: "cq.xp"; xq: "cq.xq"; xr: "cq.xr"; xs: "cq.xs"; xt: "cq.xt"; xu: "cq.xu"; xv: "cq.xv"; xw: "cq.xw"; xx: "cq.xx"; xy: "cq.xy"; xz: "cq.xz"; ya: "cq.ya"; yb: "cq.yb"; yc: "cq.yc"; yd: "cq.yd"; ye: "cq.ye"; yf: "cq.yf"; yg: "cq.yg"; yh: "cq.yh"; yi: "cq.yi"; yj: "cq.yj"; yk: "cq.yk"; yl: "cq.yl"; ym: "cq.ym"; yn: "cq.yn"; yo: "cq.yo"; yp: "cq.yp"; yq: "cq.yq"; yr: "cq.yr"; ys: "cq.ys"; yt: "cq.yt"; yu: "cq.yu"; yv: "cq.yv"; yw: "cq.yw"; yx: "cq.yx"; yy: "cq.yy"; yz: "cq.yz"; za: "cq.za"; zb: "cq.zb"; zc: "cq.zc"; zd: "cq.zd"; ze: "cq.ze"; zf: "cq.zf"; zg: "cq.zg"; zh: "cq.zh"; zi: "cq.zi"; zj: "cq.zj"; zk: "cq.zk"; zl: "cq.zl"; zm: "cq.zm"; zn: "cq.zn"; zo: "cq.zo"; zp: "cq.zp"; zq: "cq.zq"; zr: "cq.zr"; zs: "cq.zs"; zt: "cq.zt"; zu: "cq.zu"; zv: "cq.zv"; zw: "cq.zw"; zx: "cq.zx"; zy: "cq.zy"; zz: "cq.zz"; }; cr: { aa: "cr.aa"; ab: "cr.ab"; ac: "cr.ac"; ad: "cr.ad"; ae: "cr.ae"; af: "cr.af"; ag: "cr.ag"; ah: "cr.ah"; ai: "cr.ai"; aj: "cr.aj"; ak: "cr.ak"; al: "cr.al"; am: "cr.am"; an: "cr.an"; ao: "cr.ao"; ap: "cr.ap"; aq: "cr.aq"; ar: "cr.ar"; as: "cr.as"; at: "cr.at"; au: "cr.au"; av: "cr.av"; aw: "cr.aw"; ax: "cr.ax"; ay: "cr.ay"; az: "cr.az"; ba: "cr.ba"; bb: "cr.bb"; bc: "cr.bc"; bd: "cr.bd"; be: "cr.be"; bf: "cr.bf"; bg: "cr.bg"; bh: "cr.bh"; bi: "cr.bi"; bj: "cr.bj"; bk: "cr.bk"; bl: "cr.bl"; bm: "cr.bm"; bn: "cr.bn"; bo: "cr.bo"; bp: "cr.bp"; bq: "cr.bq"; br: "cr.br"; bs: "cr.bs"; bt: "cr.bt"; bu: "cr.bu"; bv: "cr.bv"; bw: "cr.bw"; bx: "cr.bx"; by: "cr.by"; bz: "cr.bz"; ca: "cr.ca"; cb: "cr.cb"; cc: "cr.cc"; cd: "cr.cd"; ce: "cr.ce"; cf: "cr.cf"; cg: "cr.cg"; ch: "cr.ch"; ci: "cr.ci"; cj: "cr.cj"; ck: "cr.ck"; cl: "cr.cl"; cm: "cr.cm"; cn: "cr.cn"; co: "cr.co"; cp: "cr.cp"; cq: "cr.cq"; cr: "cr.cr"; cs: "cr.cs"; ct: "cr.ct"; cu: "cr.cu"; cv: "cr.cv"; cw: "cr.cw"; cx: "cr.cx"; cy: "cr.cy"; cz: "cr.cz"; da: "cr.da"; db: "cr.db"; dc: "cr.dc"; dd: "cr.dd"; de: "cr.de"; df: "cr.df"; dg: "cr.dg"; dh: "cr.dh"; di: "cr.di"; dj: "cr.dj"; dk: "cr.dk"; dl: "cr.dl"; dm: "cr.dm"; dn: "cr.dn"; do: "cr.do"; dp: "cr.dp"; dq: "cr.dq"; dr: "cr.dr"; ds: "cr.ds"; dt: "cr.dt"; du: "cr.du"; dv: "cr.dv"; dw: "cr.dw"; dx: "cr.dx"; dy: "cr.dy"; dz: "cr.dz"; ea: "cr.ea"; eb: "cr.eb"; ec: "cr.ec"; ed: "cr.ed"; ee: "cr.ee"; ef: "cr.ef"; eg: "cr.eg"; eh: "cr.eh"; ei: "cr.ei"; ej: "cr.ej"; ek: "cr.ek"; el: "cr.el"; em: "cr.em"; en: "cr.en"; eo: "cr.eo"; ep: "cr.ep"; eq: "cr.eq"; er: "cr.er"; es: "cr.es"; et: "cr.et"; eu: "cr.eu"; ev: "cr.ev"; ew: "cr.ew"; ex: "cr.ex"; ey: "cr.ey"; ez: "cr.ez"; fa: "cr.fa"; fb: "cr.fb"; fc: "cr.fc"; fd: "cr.fd"; fe: "cr.fe"; ff: "cr.ff"; fg: "cr.fg"; fh: "cr.fh"; fi: "cr.fi"; fj: "cr.fj"; fk: "cr.fk"; fl: "cr.fl"; fm: "cr.fm"; fn: "cr.fn"; fo: "cr.fo"; fp: "cr.fp"; fq: "cr.fq"; fr: "cr.fr"; fs: "cr.fs"; ft: "cr.ft"; fu: "cr.fu"; fv: "cr.fv"; fw: "cr.fw"; fx: "cr.fx"; fy: "cr.fy"; fz: "cr.fz"; ga: "cr.ga"; gb: "cr.gb"; gc: "cr.gc"; gd: "cr.gd"; ge: "cr.ge"; gf: "cr.gf"; gg: "cr.gg"; gh: "cr.gh"; gi: "cr.gi"; gj: "cr.gj"; gk: "cr.gk"; gl: "cr.gl"; gm: "cr.gm"; gn: "cr.gn"; go: "cr.go"; gp: "cr.gp"; gq: "cr.gq"; gr: "cr.gr"; gs: "cr.gs"; gt: "cr.gt"; gu: "cr.gu"; gv: "cr.gv"; gw: "cr.gw"; gx: "cr.gx"; gy: "cr.gy"; gz: "cr.gz"; ha: "cr.ha"; hb: "cr.hb"; hc: "cr.hc"; hd: "cr.hd"; he: "cr.he"; hf: "cr.hf"; hg: "cr.hg"; hh: "cr.hh"; hi: "cr.hi"; hj: "cr.hj"; hk: "cr.hk"; hl: "cr.hl"; hm: "cr.hm"; hn: "cr.hn"; ho: "cr.ho"; hp: "cr.hp"; hq: "cr.hq"; hr: "cr.hr"; hs: "cr.hs"; ht: "cr.ht"; hu: "cr.hu"; hv: "cr.hv"; hw: "cr.hw"; hx: "cr.hx"; hy: "cr.hy"; hz: "cr.hz"; ia: "cr.ia"; ib: "cr.ib"; ic: "cr.ic"; id: "cr.id"; ie: "cr.ie"; if: "cr.if"; ig: "cr.ig"; ih: "cr.ih"; ii: "cr.ii"; ij: "cr.ij"; ik: "cr.ik"; il: "cr.il"; im: "cr.im"; in: "cr.in"; io: "cr.io"; ip: "cr.ip"; iq: "cr.iq"; ir: "cr.ir"; is: "cr.is"; it: "cr.it"; iu: "cr.iu"; iv: "cr.iv"; iw: "cr.iw"; ix: "cr.ix"; iy: "cr.iy"; iz: "cr.iz"; ja: "cr.ja"; jb: "cr.jb"; jc: "cr.jc"; jd: "cr.jd"; je: "cr.je"; jf: "cr.jf"; jg: "cr.jg"; jh: "cr.jh"; ji: "cr.ji"; jj: "cr.jj"; jk: "cr.jk"; jl: "cr.jl"; jm: "cr.jm"; jn: "cr.jn"; jo: "cr.jo"; jp: "cr.jp"; jq: "cr.jq"; jr: "cr.jr"; js: "cr.js"; jt: "cr.jt"; ju: "cr.ju"; jv: "cr.jv"; jw: "cr.jw"; jx: "cr.jx"; jy: "cr.jy"; jz: "cr.jz"; ka: "cr.ka"; kb: "cr.kb"; kc: "cr.kc"; kd: "cr.kd"; ke: "cr.ke"; kf: "cr.kf"; kg: "cr.kg"; kh: "cr.kh"; ki: "cr.ki"; kj: "cr.kj"; kk: "cr.kk"; kl: "cr.kl"; km: "cr.km"; kn: "cr.kn"; ko: "cr.ko"; kp: "cr.kp"; kq: "cr.kq"; kr: "cr.kr"; ks: "cr.ks"; kt: "cr.kt"; ku: "cr.ku"; kv: "cr.kv"; kw: "cr.kw"; kx: "cr.kx"; ky: "cr.ky"; kz: "cr.kz"; la: "cr.la"; lb: "cr.lb"; lc: "cr.lc"; ld: "cr.ld"; le: "cr.le"; lf: "cr.lf"; lg: "cr.lg"; lh: "cr.lh"; li: "cr.li"; lj: "cr.lj"; lk: "cr.lk"; ll: "cr.ll"; lm: "cr.lm"; ln: "cr.ln"; lo: "cr.lo"; lp: "cr.lp"; lq: "cr.lq"; lr: "cr.lr"; ls: "cr.ls"; lt: "cr.lt"; lu: "cr.lu"; lv: "cr.lv"; lw: "cr.lw"; lx: "cr.lx"; ly: "cr.ly"; lz: "cr.lz"; ma: "cr.ma"; mb: "cr.mb"; mc: "cr.mc"; md: "cr.md"; me: "cr.me"; mf: "cr.mf"; mg: "cr.mg"; mh: "cr.mh"; mi: "cr.mi"; mj: "cr.mj"; mk: "cr.mk"; ml: "cr.ml"; mm: "cr.mm"; mn: "cr.mn"; mo: "cr.mo"; mp: "cr.mp"; mq: "cr.mq"; mr: "cr.mr"; ms: "cr.ms"; mt: "cr.mt"; mu: "cr.mu"; mv: "cr.mv"; mw: "cr.mw"; mx: "cr.mx"; my: "cr.my"; mz: "cr.mz"; na: "cr.na"; nb: "cr.nb"; nc: "cr.nc"; nd: "cr.nd"; ne: "cr.ne"; nf: "cr.nf"; ng: "cr.ng"; nh: "cr.nh"; ni: "cr.ni"; nj: "cr.nj"; nk: "cr.nk"; nl: "cr.nl"; nm: "cr.nm"; nn: "cr.nn"; no: "cr.no"; np: "cr.np"; nq: "cr.nq"; nr: "cr.nr"; ns: "cr.ns"; nt: "cr.nt"; nu: "cr.nu"; nv: "cr.nv"; nw: "cr.nw"; nx: "cr.nx"; ny: "cr.ny"; nz: "cr.nz"; oa: "cr.oa"; ob: "cr.ob"; oc: "cr.oc"; od: "cr.od"; oe: "cr.oe"; of: "cr.of"; og: "cr.og"; oh: "cr.oh"; oi: "cr.oi"; oj: "cr.oj"; ok: "cr.ok"; ol: "cr.ol"; om: "cr.om"; on: "cr.on"; oo: "cr.oo"; op: "cr.op"; oq: "cr.oq"; or: "cr.or"; os: "cr.os"; ot: "cr.ot"; ou: "cr.ou"; ov: "cr.ov"; ow: "cr.ow"; ox: "cr.ox"; oy: "cr.oy"; oz: "cr.oz"; pa: "cr.pa"; pb: "cr.pb"; pc: "cr.pc"; pd: "cr.pd"; pe: "cr.pe"; pf: "cr.pf"; pg: "cr.pg"; ph: "cr.ph"; pi: "cr.pi"; pj: "cr.pj"; pk: "cr.pk"; pl: "cr.pl"; pm: "cr.pm"; pn: "cr.pn"; po: "cr.po"; pp: "cr.pp"; pq: "cr.pq"; pr: "cr.pr"; ps: "cr.ps"; pt: "cr.pt"; pu: "cr.pu"; pv: "cr.pv"; pw: "cr.pw"; px: "cr.px"; py: "cr.py"; pz: "cr.pz"; qa: "cr.qa"; qb: "cr.qb"; qc: "cr.qc"; qd: "cr.qd"; qe: "cr.qe"; qf: "cr.qf"; qg: "cr.qg"; qh: "cr.qh"; qi: "cr.qi"; qj: "cr.qj"; qk: "cr.qk"; ql: "cr.ql"; qm: "cr.qm"; qn: "cr.qn"; qo: "cr.qo"; qp: "cr.qp"; qq: "cr.qq"; qr: "cr.qr"; qs: "cr.qs"; qt: "cr.qt"; qu: "cr.qu"; qv: "cr.qv"; qw: "cr.qw"; qx: "cr.qx"; qy: "cr.qy"; qz: "cr.qz"; ra: "cr.ra"; rb: "cr.rb"; rc: "cr.rc"; rd: "cr.rd"; re: "cr.re"; rf: "cr.rf"; rg: "cr.rg"; rh: "cr.rh"; ri: "cr.ri"; rj: "cr.rj"; rk: "cr.rk"; rl: "cr.rl"; rm: "cr.rm"; rn: "cr.rn"; ro: "cr.ro"; rp: "cr.rp"; rq: "cr.rq"; rr: "cr.rr"; rs: "cr.rs"; rt: "cr.rt"; ru: "cr.ru"; rv: "cr.rv"; rw: "cr.rw"; rx: "cr.rx"; ry: "cr.ry"; rz: "cr.rz"; sa: "cr.sa"; sb: "cr.sb"; sc: "cr.sc"; sd: "cr.sd"; se: "cr.se"; sf: "cr.sf"; sg: "cr.sg"; sh: "cr.sh"; si: "cr.si"; sj: "cr.sj"; sk: "cr.sk"; sl: "cr.sl"; sm: "cr.sm"; sn: "cr.sn"; so: "cr.so"; sp: "cr.sp"; sq: "cr.sq"; sr: "cr.sr"; ss: "cr.ss"; st: "cr.st"; su: "cr.su"; sv: "cr.sv"; sw: "cr.sw"; sx: "cr.sx"; sy: "cr.sy"; sz: "cr.sz"; ta: "cr.ta"; tb: "cr.tb"; tc: "cr.tc"; td: "cr.td"; te: "cr.te"; tf: "cr.tf"; tg: "cr.tg"; th: "cr.th"; ti: "cr.ti"; tj: "cr.tj"; tk: "cr.tk"; tl: "cr.tl"; tm: "cr.tm"; tn: "cr.tn"; to: "cr.to"; tp: "cr.tp"; tq: "cr.tq"; tr: "cr.tr"; ts: "cr.ts"; tt: "cr.tt"; tu: "cr.tu"; tv: "cr.tv"; tw: "cr.tw"; tx: "cr.tx"; ty: "cr.ty"; tz: "cr.tz"; ua: "cr.ua"; ub: "cr.ub"; uc: "cr.uc"; ud: "cr.ud"; ue: "cr.ue"; uf: "cr.uf"; ug: "cr.ug"; uh: "cr.uh"; ui: "cr.ui"; uj: "cr.uj"; uk: "cr.uk"; ul: "cr.ul"; um: "cr.um"; un: "cr.un"; uo: "cr.uo"; up: "cr.up"; uq: "cr.uq"; ur: "cr.ur"; us: "cr.us"; ut: "cr.ut"; uu: "cr.uu"; uv: "cr.uv"; uw: "cr.uw"; ux: "cr.ux"; uy: "cr.uy"; uz: "cr.uz"; va: "cr.va"; vb: "cr.vb"; vc: "cr.vc"; vd: "cr.vd"; ve: "cr.ve"; vf: "cr.vf"; vg: "cr.vg"; vh: "cr.vh"; vi: "cr.vi"; vj: "cr.vj"; vk: "cr.vk"; vl: "cr.vl"; vm: "cr.vm"; vn: "cr.vn"; vo: "cr.vo"; vp: "cr.vp"; vq: "cr.vq"; vr: "cr.vr"; vs: "cr.vs"; vt: "cr.vt"; vu: "cr.vu"; vv: "cr.vv"; vw: "cr.vw"; vx: "cr.vx"; vy: "cr.vy"; vz: "cr.vz"; wa: "cr.wa"; wb: "cr.wb"; wc: "cr.wc"; wd: "cr.wd"; we: "cr.we"; wf: "cr.wf"; wg: "cr.wg"; wh: "cr.wh"; wi: "cr.wi"; wj: "cr.wj"; wk: "cr.wk"; wl: "cr.wl"; wm: "cr.wm"; wn: "cr.wn"; wo: "cr.wo"; wp: "cr.wp"; wq: "cr.wq"; wr: "cr.wr"; ws: "cr.ws"; wt: "cr.wt"; wu: "cr.wu"; wv: "cr.wv"; ww: "cr.ww"; wx: "cr.wx"; wy: "cr.wy"; wz: "cr.wz"; xa: "cr.xa"; xb: "cr.xb"; xc: "cr.xc"; xd: "cr.xd"; xe: "cr.xe"; xf: "cr.xf"; xg: "cr.xg"; xh: "cr.xh"; xi: "cr.xi"; xj: "cr.xj"; xk: "cr.xk"; xl: "cr.xl"; xm: "cr.xm"; xn: "cr.xn"; xo: "cr.xo"; xp: "cr.xp"; xq: "cr.xq"; xr: "cr.xr"; xs: "cr.xs"; xt: "cr.xt"; xu: "cr.xu"; xv: "cr.xv"; xw: "cr.xw"; xx: "cr.xx"; xy: "cr.xy"; xz: "cr.xz"; ya: "cr.ya"; yb: "cr.yb"; yc: "cr.yc"; yd: "cr.yd"; ye: "cr.ye"; yf: "cr.yf"; yg: "cr.yg"; yh: "cr.yh"; yi: "cr.yi"; yj: "cr.yj"; yk: "cr.yk"; yl: "cr.yl"; ym: "cr.ym"; yn: "cr.yn"; yo: "cr.yo"; yp: "cr.yp"; yq: "cr.yq"; yr: "cr.yr"; ys: "cr.ys"; yt: "cr.yt"; yu: "cr.yu"; yv: "cr.yv"; yw: "cr.yw"; yx: "cr.yx"; yy: "cr.yy"; yz: "cr.yz"; za: "cr.za"; zb: "cr.zb"; zc: "cr.zc"; zd: "cr.zd"; ze: "cr.ze"; zf: "cr.zf"; zg: "cr.zg"; zh: "cr.zh"; zi: "cr.zi"; zj: "cr.zj"; zk: "cr.zk"; zl: "cr.zl"; zm: "cr.zm"; zn: "cr.zn"; zo: "cr.zo"; zp: "cr.zp"; zq: "cr.zq"; zr: "cr.zr"; zs: "cr.zs"; zt: "cr.zt"; zu: "cr.zu"; zv: "cr.zv"; zw: "cr.zw"; zx: "cr.zx"; zy: "cr.zy"; zz: "cr.zz"; }; cs: { aa: "cs.aa"; ab: "cs.ab"; ac: "cs.ac"; ad: "cs.ad"; ae: "cs.ae"; af: "cs.af"; ag: "cs.ag"; ah: "cs.ah"; ai: "cs.ai"; aj: "cs.aj"; ak: "cs.ak"; al: "cs.al"; am: "cs.am"; an: "cs.an"; ao: "cs.ao"; ap: "cs.ap"; aq: "cs.aq"; ar: "cs.ar"; as: "cs.as"; at: "cs.at"; au: "cs.au"; av: "cs.av"; aw: "cs.aw"; ax: "cs.ax"; ay: "cs.ay"; az: "cs.az"; ba: "cs.ba"; bb: "cs.bb"; bc: "cs.bc"; bd: "cs.bd"; be: "cs.be"; bf: "cs.bf"; bg: "cs.bg"; bh: "cs.bh"; bi: "cs.bi"; bj: "cs.bj"; bk: "cs.bk"; bl: "cs.bl"; bm: "cs.bm"; bn: "cs.bn"; bo: "cs.bo"; bp: "cs.bp"; bq: "cs.bq"; br: "cs.br"; bs: "cs.bs"; bt: "cs.bt"; bu: "cs.bu"; bv: "cs.bv"; bw: "cs.bw"; bx: "cs.bx"; by: "cs.by"; bz: "cs.bz"; ca: "cs.ca"; cb: "cs.cb"; cc: "cs.cc"; cd: "cs.cd"; ce: "cs.ce"; cf: "cs.cf"; cg: "cs.cg"; ch: "cs.ch"; ci: "cs.ci"; cj: "cs.cj"; ck: "cs.ck"; cl: "cs.cl"; cm: "cs.cm"; cn: "cs.cn"; co: "cs.co"; cp: "cs.cp"; cq: "cs.cq"; cr: "cs.cr"; cs: "cs.cs"; ct: "cs.ct"; cu: "cs.cu"; cv: "cs.cv"; cw: "cs.cw"; cx: "cs.cx"; cy: "cs.cy"; cz: "cs.cz"; da: "cs.da"; db: "cs.db"; dc: "cs.dc"; dd: "cs.dd"; de: "cs.de"; df: "cs.df"; dg: "cs.dg"; dh: "cs.dh"; di: "cs.di"; dj: "cs.dj"; dk: "cs.dk"; dl: "cs.dl"; dm: "cs.dm"; dn: "cs.dn"; do: "cs.do"; dp: "cs.dp"; dq: "cs.dq"; dr: "cs.dr"; ds: "cs.ds"; dt: "cs.dt"; du: "cs.du"; dv: "cs.dv"; dw: "cs.dw"; dx: "cs.dx"; dy: "cs.dy"; dz: "cs.dz"; ea: "cs.ea"; eb: "cs.eb"; ec: "cs.ec"; ed: "cs.ed"; ee: "cs.ee"; ef: "cs.ef"; eg: "cs.eg"; eh: "cs.eh"; ei: "cs.ei"; ej: "cs.ej"; ek: "cs.ek"; el: "cs.el"; em: "cs.em"; en: "cs.en"; eo: "cs.eo"; ep: "cs.ep"; eq: "cs.eq"; er: "cs.er"; es: "cs.es"; et: "cs.et"; eu: "cs.eu"; ev: "cs.ev"; ew: "cs.ew"; ex: "cs.ex"; ey: "cs.ey"; ez: "cs.ez"; fa: "cs.fa"; fb: "cs.fb"; fc: "cs.fc"; fd: "cs.fd"; fe: "cs.fe"; ff: "cs.ff"; fg: "cs.fg"; fh: "cs.fh"; fi: "cs.fi"; fj: "cs.fj"; fk: "cs.fk"; fl: "cs.fl"; fm: "cs.fm"; fn: "cs.fn"; fo: "cs.fo"; fp: "cs.fp"; fq: "cs.fq"; fr: "cs.fr"; fs: "cs.fs"; ft: "cs.ft"; fu: "cs.fu"; fv: "cs.fv"; fw: "cs.fw"; fx: "cs.fx"; fy: "cs.fy"; fz: "cs.fz"; ga: "cs.ga"; gb: "cs.gb"; gc: "cs.gc"; gd: "cs.gd"; ge: "cs.ge"; gf: "cs.gf"; gg: "cs.gg"; gh: "cs.gh"; gi: "cs.gi"; gj: "cs.gj"; gk: "cs.gk"; gl: "cs.gl"; gm: "cs.gm"; gn: "cs.gn"; go: "cs.go"; gp: "cs.gp"; gq: "cs.gq"; gr: "cs.gr"; gs: "cs.gs"; gt: "cs.gt"; gu: "cs.gu"; gv: "cs.gv"; gw: "cs.gw"; gx: "cs.gx"; gy: "cs.gy"; gz: "cs.gz"; ha: "cs.ha"; hb: "cs.hb"; hc: "cs.hc"; hd: "cs.hd"; he: "cs.he"; hf: "cs.hf"; hg: "cs.hg"; hh: "cs.hh"; hi: "cs.hi"; hj: "cs.hj"; hk: "cs.hk"; hl: "cs.hl"; hm: "cs.hm"; hn: "cs.hn"; ho: "cs.ho"; hp: "cs.hp"; hq: "cs.hq"; hr: "cs.hr"; hs: "cs.hs"; ht: "cs.ht"; hu: "cs.hu"; hv: "cs.hv"; hw: "cs.hw"; hx: "cs.hx"; hy: "cs.hy"; hz: "cs.hz"; ia: "cs.ia"; ib: "cs.ib"; ic: "cs.ic"; id: "cs.id"; ie: "cs.ie"; if: "cs.if"; ig: "cs.ig"; ih: "cs.ih"; ii: "cs.ii"; ij: "cs.ij"; ik: "cs.ik"; il: "cs.il"; im: "cs.im"; in: "cs.in"; io: "cs.io"; ip: "cs.ip"; iq: "cs.iq"; ir: "cs.ir"; is: "cs.is"; it: "cs.it"; iu: "cs.iu"; iv: "cs.iv"; iw: "cs.iw"; ix: "cs.ix"; iy: "cs.iy"; iz: "cs.iz"; ja: "cs.ja"; jb: "cs.jb"; jc: "cs.jc"; jd: "cs.jd"; je: "cs.je"; jf: "cs.jf"; jg: "cs.jg"; jh: "cs.jh"; ji: "cs.ji"; jj: "cs.jj"; jk: "cs.jk"; jl: "cs.jl"; jm: "cs.jm"; jn: "cs.jn"; jo: "cs.jo"; jp: "cs.jp"; jq: "cs.jq"; jr: "cs.jr"; js: "cs.js"; jt: "cs.jt"; ju: "cs.ju"; jv: "cs.jv"; jw: "cs.jw"; jx: "cs.jx"; jy: "cs.jy"; jz: "cs.jz"; ka: "cs.ka"; kb: "cs.kb"; kc: "cs.kc"; kd: "cs.kd"; ke: "cs.ke"; kf: "cs.kf"; kg: "cs.kg"; kh: "cs.kh"; ki: "cs.ki"; kj: "cs.kj"; kk: "cs.kk"; kl: "cs.kl"; km: "cs.km"; kn: "cs.kn"; ko: "cs.ko"; kp: "cs.kp"; kq: "cs.kq"; kr: "cs.kr"; ks: "cs.ks"; kt: "cs.kt"; ku: "cs.ku"; kv: "cs.kv"; kw: "cs.kw"; kx: "cs.kx"; ky: "cs.ky"; kz: "cs.kz"; la: "cs.la"; lb: "cs.lb"; lc: "cs.lc"; ld: "cs.ld"; le: "cs.le"; lf: "cs.lf"; lg: "cs.lg"; lh: "cs.lh"; li: "cs.li"; lj: "cs.lj"; lk: "cs.lk"; ll: "cs.ll"; lm: "cs.lm"; ln: "cs.ln"; lo: "cs.lo"; lp: "cs.lp"; lq: "cs.lq"; lr: "cs.lr"; ls: "cs.ls"; lt: "cs.lt"; lu: "cs.lu"; lv: "cs.lv"; lw: "cs.lw"; lx: "cs.lx"; ly: "cs.ly"; lz: "cs.lz"; ma: "cs.ma"; mb: "cs.mb"; mc: "cs.mc"; md: "cs.md"; me: "cs.me"; mf: "cs.mf"; mg: "cs.mg"; mh: "cs.mh"; mi: "cs.mi"; mj: "cs.mj"; mk: "cs.mk"; ml: "cs.ml"; mm: "cs.mm"; mn: "cs.mn"; mo: "cs.mo"; mp: "cs.mp"; mq: "cs.mq"; mr: "cs.mr"; ms: "cs.ms"; mt: "cs.mt"; mu: "cs.mu"; mv: "cs.mv"; mw: "cs.mw"; mx: "cs.mx"; my: "cs.my"; mz: "cs.mz"; na: "cs.na"; nb: "cs.nb"; nc: "cs.nc"; nd: "cs.nd"; ne: "cs.ne"; nf: "cs.nf"; ng: "cs.ng"; nh: "cs.nh"; ni: "cs.ni"; nj: "cs.nj"; nk: "cs.nk"; nl: "cs.nl"; nm: "cs.nm"; nn: "cs.nn"; no: "cs.no"; np: "cs.np"; nq: "cs.nq"; nr: "cs.nr"; ns: "cs.ns"; nt: "cs.nt"; nu: "cs.nu"; nv: "cs.nv"; nw: "cs.nw"; nx: "cs.nx"; ny: "cs.ny"; nz: "cs.nz"; oa: "cs.oa"; ob: "cs.ob"; oc: "cs.oc"; od: "cs.od"; oe: "cs.oe"; of: "cs.of"; og: "cs.og"; oh: "cs.oh"; oi: "cs.oi"; oj: "cs.oj"; ok: "cs.ok"; ol: "cs.ol"; om: "cs.om"; on: "cs.on"; oo: "cs.oo"; op: "cs.op"; oq: "cs.oq"; or: "cs.or"; os: "cs.os"; ot: "cs.ot"; ou: "cs.ou"; ov: "cs.ov"; ow: "cs.ow"; ox: "cs.ox"; oy: "cs.oy"; oz: "cs.oz"; pa: "cs.pa"; pb: "cs.pb"; pc: "cs.pc"; pd: "cs.pd"; pe: "cs.pe"; pf: "cs.pf"; pg: "cs.pg"; ph: "cs.ph"; pi: "cs.pi"; pj: "cs.pj"; pk: "cs.pk"; pl: "cs.pl"; pm: "cs.pm"; pn: "cs.pn"; po: "cs.po"; pp: "cs.pp"; pq: "cs.pq"; pr: "cs.pr"; ps: "cs.ps"; pt: "cs.pt"; pu: "cs.pu"; pv: "cs.pv"; pw: "cs.pw"; px: "cs.px"; py: "cs.py"; pz: "cs.pz"; qa: "cs.qa"; qb: "cs.qb"; qc: "cs.qc"; qd: "cs.qd"; qe: "cs.qe"; qf: "cs.qf"; qg: "cs.qg"; qh: "cs.qh"; qi: "cs.qi"; qj: "cs.qj"; qk: "cs.qk"; ql: "cs.ql"; qm: "cs.qm"; qn: "cs.qn"; qo: "cs.qo"; qp: "cs.qp"; qq: "cs.qq"; qr: "cs.qr"; qs: "cs.qs"; qt: "cs.qt"; qu: "cs.qu"; qv: "cs.qv"; qw: "cs.qw"; qx: "cs.qx"; qy: "cs.qy"; qz: "cs.qz"; ra: "cs.ra"; rb: "cs.rb"; rc: "cs.rc"; rd: "cs.rd"; re: "cs.re"; rf: "cs.rf"; rg: "cs.rg"; rh: "cs.rh"; ri: "cs.ri"; rj: "cs.rj"; rk: "cs.rk"; rl: "cs.rl"; rm: "cs.rm"; rn: "cs.rn"; ro: "cs.ro"; rp: "cs.rp"; rq: "cs.rq"; rr: "cs.rr"; rs: "cs.rs"; rt: "cs.rt"; ru: "cs.ru"; rv: "cs.rv"; rw: "cs.rw"; rx: "cs.rx"; ry: "cs.ry"; rz: "cs.rz"; sa: "cs.sa"; sb: "cs.sb"; sc: "cs.sc"; sd: "cs.sd"; se: "cs.se"; sf: "cs.sf"; sg: "cs.sg"; sh: "cs.sh"; si: "cs.si"; sj: "cs.sj"; sk: "cs.sk"; sl: "cs.sl"; sm: "cs.sm"; sn: "cs.sn"; so: "cs.so"; sp: "cs.sp"; sq: "cs.sq"; sr: "cs.sr"; ss: "cs.ss"; st: "cs.st"; su: "cs.su"; sv: "cs.sv"; sw: "cs.sw"; sx: "cs.sx"; sy: "cs.sy"; sz: "cs.sz"; ta: "cs.ta"; tb: "cs.tb"; tc: "cs.tc"; td: "cs.td"; te: "cs.te"; tf: "cs.tf"; tg: "cs.tg"; th: "cs.th"; ti: "cs.ti"; tj: "cs.tj"; tk: "cs.tk"; tl: "cs.tl"; tm: "cs.tm"; tn: "cs.tn"; to: "cs.to"; tp: "cs.tp"; tq: "cs.tq"; tr: "cs.tr"; ts: "cs.ts"; tt: "cs.tt"; tu: "cs.tu"; tv: "cs.tv"; tw: "cs.tw"; tx: "cs.tx"; ty: "cs.ty"; tz: "cs.tz"; ua: "cs.ua"; ub: "cs.ub"; uc: "cs.uc"; ud: "cs.ud"; ue: "cs.ue"; uf: "cs.uf"; ug: "cs.ug"; uh: "cs.uh"; ui: "cs.ui"; uj: "cs.uj"; uk: "cs.uk"; ul: "cs.ul"; um: "cs.um"; un: "cs.un"; uo: "cs.uo"; up: "cs.up"; uq: "cs.uq"; ur: "cs.ur"; us: "cs.us"; ut: "cs.ut"; uu: "cs.uu"; uv: "cs.uv"; uw: "cs.uw"; ux: "cs.ux"; uy: "cs.uy"; uz: "cs.uz"; va: "cs.va"; vb: "cs.vb"; vc: "cs.vc"; vd: "cs.vd"; ve: "cs.ve"; vf: "cs.vf"; vg: "cs.vg"; vh: "cs.vh"; vi: "cs.vi"; vj: "cs.vj"; vk: "cs.vk"; vl: "cs.vl"; vm: "cs.vm"; vn: "cs.vn"; vo: "cs.vo"; vp: "cs.vp"; vq: "cs.vq"; vr: "cs.vr"; vs: "cs.vs"; vt: "cs.vt"; vu: "cs.vu"; vv: "cs.vv"; vw: "cs.vw"; vx: "cs.vx"; vy: "cs.vy"; vz: "cs.vz"; wa: "cs.wa"; wb: "cs.wb"; wc: "cs.wc"; wd: "cs.wd"; we: "cs.we"; wf: "cs.wf"; wg: "cs.wg"; wh: "cs.wh"; wi: "cs.wi"; wj: "cs.wj"; wk: "cs.wk"; wl: "cs.wl"; wm: "cs.wm"; wn: "cs.wn"; wo: "cs.wo"; wp: "cs.wp"; wq: "cs.wq"; wr: "cs.wr"; ws: "cs.ws"; wt: "cs.wt"; wu: "cs.wu"; wv: "cs.wv"; ww: "cs.ww"; wx: "cs.wx"; wy: "cs.wy"; wz: "cs.wz"; xa: "cs.xa"; xb: "cs.xb"; xc: "cs.xc"; xd: "cs.xd"; xe: "cs.xe"; xf: "cs.xf"; xg: "cs.xg"; xh: "cs.xh"; xi: "cs.xi"; xj: "cs.xj"; xk: "cs.xk"; xl: "cs.xl"; xm: "cs.xm"; xn: "cs.xn"; xo: "cs.xo"; xp: "cs.xp"; xq: "cs.xq"; xr: "cs.xr"; xs: "cs.xs"; xt: "cs.xt"; xu: "cs.xu"; xv: "cs.xv"; xw: "cs.xw"; xx: "cs.xx"; xy: "cs.xy"; xz: "cs.xz"; ya: "cs.ya"; yb: "cs.yb"; yc: "cs.yc"; yd: "cs.yd"; ye: "cs.ye"; yf: "cs.yf"; yg: "cs.yg"; yh: "cs.yh"; yi: "cs.yi"; yj: "cs.yj"; yk: "cs.yk"; yl: "cs.yl"; ym: "cs.ym"; yn: "cs.yn"; yo: "cs.yo"; yp: "cs.yp"; yq: "cs.yq"; yr: "cs.yr"; ys: "cs.ys"; yt: "cs.yt"; yu: "cs.yu"; yv: "cs.yv"; yw: "cs.yw"; yx: "cs.yx"; yy: "cs.yy"; yz: "cs.yz"; za: "cs.za"; zb: "cs.zb"; zc: "cs.zc"; zd: "cs.zd"; ze: "cs.ze"; zf: "cs.zf"; zg: "cs.zg"; zh: "cs.zh"; zi: "cs.zi"; zj: "cs.zj"; zk: "cs.zk"; zl: "cs.zl"; zm: "cs.zm"; zn: "cs.zn"; zo: "cs.zo"; zp: "cs.zp"; zq: "cs.zq"; zr: "cs.zr"; zs: "cs.zs"; zt: "cs.zt"; zu: "cs.zu"; zv: "cs.zv"; zw: "cs.zw"; zx: "cs.zx"; zy: "cs.zy"; zz: "cs.zz"; }; ct: { aa: "ct.aa"; ab: "ct.ab"; ac: "ct.ac"; ad: "ct.ad"; ae: "ct.ae"; af: "ct.af"; ag: "ct.ag"; ah: "ct.ah"; ai: "ct.ai"; aj: "ct.aj"; ak: "ct.ak"; al: "ct.al"; am: "ct.am"; an: "ct.an"; ao: "ct.ao"; ap: "ct.ap"; aq: "ct.aq"; ar: "ct.ar"; as: "ct.as"; at: "ct.at"; au: "ct.au"; av: "ct.av"; aw: "ct.aw"; ax: "ct.ax"; ay: "ct.ay"; az: "ct.az"; ba: "ct.ba"; bb: "ct.bb"; bc: "ct.bc"; bd: "ct.bd"; be: "ct.be"; bf: "ct.bf"; bg: "ct.bg"; bh: "ct.bh"; bi: "ct.bi"; bj: "ct.bj"; bk: "ct.bk"; bl: "ct.bl"; bm: "ct.bm"; bn: "ct.bn"; bo: "ct.bo"; bp: "ct.bp"; bq: "ct.bq"; br: "ct.br"; bs: "ct.bs"; bt: "ct.bt"; bu: "ct.bu"; bv: "ct.bv"; bw: "ct.bw"; bx: "ct.bx"; by: "ct.by"; bz: "ct.bz"; ca: "ct.ca"; cb: "ct.cb"; cc: "ct.cc"; cd: "ct.cd"; ce: "ct.ce"; cf: "ct.cf"; cg: "ct.cg"; ch: "ct.ch"; ci: "ct.ci"; cj: "ct.cj"; ck: "ct.ck"; cl: "ct.cl"; cm: "ct.cm"; cn: "ct.cn"; co: "ct.co"; cp: "ct.cp"; cq: "ct.cq"; cr: "ct.cr"; cs: "ct.cs"; ct: "ct.ct"; cu: "ct.cu"; cv: "ct.cv"; cw: "ct.cw"; cx: "ct.cx"; cy: "ct.cy"; cz: "ct.cz"; da: "ct.da"; db: "ct.db"; dc: "ct.dc"; dd: "ct.dd"; de: "ct.de"; df: "ct.df"; dg: "ct.dg"; dh: "ct.dh"; di: "ct.di"; dj: "ct.dj"; dk: "ct.dk"; dl: "ct.dl"; dm: "ct.dm"; dn: "ct.dn"; do: "ct.do"; dp: "ct.dp"; dq: "ct.dq"; dr: "ct.dr"; ds: "ct.ds"; dt: "ct.dt"; du: "ct.du"; dv: "ct.dv"; dw: "ct.dw"; dx: "ct.dx"; dy: "ct.dy"; dz: "ct.dz"; ea: "ct.ea"; eb: "ct.eb"; ec: "ct.ec"; ed: "ct.ed"; ee: "ct.ee"; ef: "ct.ef"; eg: "ct.eg"; eh: "ct.eh"; ei: "ct.ei"; ej: "ct.ej"; ek: "ct.ek"; el: "ct.el"; em: "ct.em"; en: "ct.en"; eo: "ct.eo"; ep: "ct.ep"; eq: "ct.eq"; er: "ct.er"; es: "ct.es"; et: "ct.et"; eu: "ct.eu"; ev: "ct.ev"; ew: "ct.ew"; ex: "ct.ex"; ey: "ct.ey"; ez: "ct.ez"; fa: "ct.fa"; fb: "ct.fb"; fc: "ct.fc"; fd: "ct.fd"; fe: "ct.fe"; ff: "ct.ff"; fg: "ct.fg"; fh: "ct.fh"; fi: "ct.fi"; fj: "ct.fj"; fk: "ct.fk"; fl: "ct.fl"; fm: "ct.fm"; fn: "ct.fn"; fo: "ct.fo"; fp: "ct.fp"; fq: "ct.fq"; fr: "ct.fr"; fs: "ct.fs"; ft: "ct.ft"; fu: "ct.fu"; fv: "ct.fv"; fw: "ct.fw"; fx: "ct.fx"; fy: "ct.fy"; fz: "ct.fz"; ga: "ct.ga"; gb: "ct.gb"; gc: "ct.gc"; gd: "ct.gd"; ge: "ct.ge"; gf: "ct.gf"; gg: "ct.gg"; gh: "ct.gh"; gi: "ct.gi"; gj: "ct.gj"; gk: "ct.gk"; gl: "ct.gl"; gm: "ct.gm"; gn: "ct.gn"; go: "ct.go"; gp: "ct.gp"; gq: "ct.gq"; gr: "ct.gr"; gs: "ct.gs"; gt: "ct.gt"; gu: "ct.gu"; gv: "ct.gv"; gw: "ct.gw"; gx: "ct.gx"; gy: "ct.gy"; gz: "ct.gz"; ha: "ct.ha"; hb: "ct.hb"; hc: "ct.hc"; hd: "ct.hd"; he: "ct.he"; hf: "ct.hf"; hg: "ct.hg"; hh: "ct.hh"; hi: "ct.hi"; hj: "ct.hj"; hk: "ct.hk"; hl: "ct.hl"; hm: "ct.hm"; hn: "ct.hn"; ho: "ct.ho"; hp: "ct.hp"; hq: "ct.hq"; hr: "ct.hr"; hs: "ct.hs"; ht: "ct.ht"; hu: "ct.hu"; hv: "ct.hv"; hw: "ct.hw"; hx: "ct.hx"; hy: "ct.hy"; hz: "ct.hz"; ia: "ct.ia"; ib: "ct.ib"; ic: "ct.ic"; id: "ct.id"; ie: "ct.ie"; if: "ct.if"; ig: "ct.ig"; ih: "ct.ih"; ii: "ct.ii"; ij: "ct.ij"; ik: "ct.ik"; il: "ct.il"; im: "ct.im"; in: "ct.in"; io: "ct.io"; ip: "ct.ip"; iq: "ct.iq"; ir: "ct.ir"; is: "ct.is"; it: "ct.it"; iu: "ct.iu"; iv: "ct.iv"; iw: "ct.iw"; ix: "ct.ix"; iy: "ct.iy"; iz: "ct.iz"; ja: "ct.ja"; jb: "ct.jb"; jc: "ct.jc"; jd: "ct.jd"; je: "ct.je"; jf: "ct.jf"; jg: "ct.jg"; jh: "ct.jh"; ji: "ct.ji"; jj: "ct.jj"; jk: "ct.jk"; jl: "ct.jl"; jm: "ct.jm"; jn: "ct.jn"; jo: "ct.jo"; jp: "ct.jp"; jq: "ct.jq"; jr: "ct.jr"; js: "ct.js"; jt: "ct.jt"; ju: "ct.ju"; jv: "ct.jv"; jw: "ct.jw"; jx: "ct.jx"; jy: "ct.jy"; jz: "ct.jz"; ka: "ct.ka"; kb: "ct.kb"; kc: "ct.kc"; kd: "ct.kd"; ke: "ct.ke"; kf: "ct.kf"; kg: "ct.kg"; kh: "ct.kh"; ki: "ct.ki"; kj: "ct.kj"; kk: "ct.kk"; kl: "ct.kl"; km: "ct.km"; kn: "ct.kn"; ko: "ct.ko"; kp: "ct.kp"; kq: "ct.kq"; kr: "ct.kr"; ks: "ct.ks"; kt: "ct.kt"; ku: "ct.ku"; kv: "ct.kv"; kw: "ct.kw"; kx: "ct.kx"; ky: "ct.ky"; kz: "ct.kz"; la: "ct.la"; lb: "ct.lb"; lc: "ct.lc"; ld: "ct.ld"; le: "ct.le"; lf: "ct.lf"; lg: "ct.lg"; lh: "ct.lh"; li: "ct.li"; lj: "ct.lj"; lk: "ct.lk"; ll: "ct.ll"; lm: "ct.lm"; ln: "ct.ln"; lo: "ct.lo"; lp: "ct.lp"; lq: "ct.lq"; lr: "ct.lr"; ls: "ct.ls"; lt: "ct.lt"; lu: "ct.lu"; lv: "ct.lv"; lw: "ct.lw"; lx: "ct.lx"; ly: "ct.ly"; lz: "ct.lz"; ma: "ct.ma"; mb: "ct.mb"; mc: "ct.mc"; md: "ct.md"; me: "ct.me"; mf: "ct.mf"; mg: "ct.mg"; mh: "ct.mh"; mi: "ct.mi"; mj: "ct.mj"; mk: "ct.mk"; ml: "ct.ml"; mm: "ct.mm"; mn: "ct.mn"; mo: "ct.mo"; mp: "ct.mp"; mq: "ct.mq"; mr: "ct.mr"; ms: "ct.ms"; mt: "ct.mt"; mu: "ct.mu"; mv: "ct.mv"; mw: "ct.mw"; mx: "ct.mx"; my: "ct.my"; mz: "ct.mz"; na: "ct.na"; nb: "ct.nb"; nc: "ct.nc"; nd: "ct.nd"; ne: "ct.ne"; nf: "ct.nf"; ng: "ct.ng"; nh: "ct.nh"; ni: "ct.ni"; nj: "ct.nj"; nk: "ct.nk"; nl: "ct.nl"; nm: "ct.nm"; nn: "ct.nn"; no: "ct.no"; np: "ct.np"; nq: "ct.nq"; nr: "ct.nr"; ns: "ct.ns"; nt: "ct.nt"; nu: "ct.nu"; nv: "ct.nv"; nw: "ct.nw"; nx: "ct.nx"; ny: "ct.ny"; nz: "ct.nz"; oa: "ct.oa"; ob: "ct.ob"; oc: "ct.oc"; od: "ct.od"; oe: "ct.oe"; of: "ct.of"; og: "ct.og"; oh: "ct.oh"; oi: "ct.oi"; oj: "ct.oj"; ok: "ct.ok"; ol: "ct.ol"; om: "ct.om"; on: "ct.on"; oo: "ct.oo"; op: "ct.op"; oq: "ct.oq"; or: "ct.or"; os: "ct.os"; ot: "ct.ot"; ou: "ct.ou"; ov: "ct.ov"; ow: "ct.ow"; ox: "ct.ox"; oy: "ct.oy"; oz: "ct.oz"; pa: "ct.pa"; pb: "ct.pb"; pc: "ct.pc"; pd: "ct.pd"; pe: "ct.pe"; pf: "ct.pf"; pg: "ct.pg"; ph: "ct.ph"; pi: "ct.pi"; pj: "ct.pj"; pk: "ct.pk"; pl: "ct.pl"; pm: "ct.pm"; pn: "ct.pn"; po: "ct.po"; pp: "ct.pp"; pq: "ct.pq"; pr: "ct.pr"; ps: "ct.ps"; pt: "ct.pt"; pu: "ct.pu"; pv: "ct.pv"; pw: "ct.pw"; px: "ct.px"; py: "ct.py"; pz: "ct.pz"; qa: "ct.qa"; qb: "ct.qb"; qc: "ct.qc"; qd: "ct.qd"; qe: "ct.qe"; qf: "ct.qf"; qg: "ct.qg"; qh: "ct.qh"; qi: "ct.qi"; qj: "ct.qj"; qk: "ct.qk"; ql: "ct.ql"; qm: "ct.qm"; qn: "ct.qn"; qo: "ct.qo"; qp: "ct.qp"; qq: "ct.qq"; qr: "ct.qr"; qs: "ct.qs"; qt: "ct.qt"; qu: "ct.qu"; qv: "ct.qv"; qw: "ct.qw"; qx: "ct.qx"; qy: "ct.qy"; qz: "ct.qz"; ra: "ct.ra"; rb: "ct.rb"; rc: "ct.rc"; rd: "ct.rd"; re: "ct.re"; rf: "ct.rf"; rg: "ct.rg"; rh: "ct.rh"; ri: "ct.ri"; rj: "ct.rj"; rk: "ct.rk"; rl: "ct.rl"; rm: "ct.rm"; rn: "ct.rn"; ro: "ct.ro"; rp: "ct.rp"; rq: "ct.rq"; rr: "ct.rr"; rs: "ct.rs"; rt: "ct.rt"; ru: "ct.ru"; rv: "ct.rv"; rw: "ct.rw"; rx: "ct.rx"; ry: "ct.ry"; rz: "ct.rz"; sa: "ct.sa"; sb: "ct.sb"; sc: "ct.sc"; sd: "ct.sd"; se: "ct.se"; sf: "ct.sf"; sg: "ct.sg"; sh: "ct.sh"; si: "ct.si"; sj: "ct.sj"; sk: "ct.sk"; sl: "ct.sl"; sm: "ct.sm"; sn: "ct.sn"; so: "ct.so"; sp: "ct.sp"; sq: "ct.sq"; sr: "ct.sr"; ss: "ct.ss"; st: "ct.st"; su: "ct.su"; sv: "ct.sv"; sw: "ct.sw"; sx: "ct.sx"; sy: "ct.sy"; sz: "ct.sz"; ta: "ct.ta"; tb: "ct.tb"; tc: "ct.tc"; td: "ct.td"; te: "ct.te"; tf: "ct.tf"; tg: "ct.tg"; th: "ct.th"; ti: "ct.ti"; tj: "ct.tj"; tk: "ct.tk"; tl: "ct.tl"; tm: "ct.tm"; tn: "ct.tn"; to: "ct.to"; tp: "ct.tp"; tq: "ct.tq"; tr: "ct.tr"; ts: "ct.ts"; tt: "ct.tt"; tu: "ct.tu"; tv: "ct.tv"; tw: "ct.tw"; tx: "ct.tx"; ty: "ct.ty"; tz: "ct.tz"; ua: "ct.ua"; ub: "ct.ub"; uc: "ct.uc"; ud: "ct.ud"; ue: "ct.ue"; uf: "ct.uf"; ug: "ct.ug"; uh: "ct.uh"; ui: "ct.ui"; uj: "ct.uj"; uk: "ct.uk"; ul: "ct.ul"; um: "ct.um"; un: "ct.un"; uo: "ct.uo"; up: "ct.up"; uq: "ct.uq"; ur: "ct.ur"; us: "ct.us"; ut: "ct.ut"; uu: "ct.uu"; uv: "ct.uv"; uw: "ct.uw"; ux: "ct.ux"; uy: "ct.uy"; uz: "ct.uz"; va: "ct.va"; vb: "ct.vb"; vc: "ct.vc"; vd: "ct.vd"; ve: "ct.ve"; vf: "ct.vf"; vg: "ct.vg"; vh: "ct.vh"; vi: "ct.vi"; vj: "ct.vj"; vk: "ct.vk"; vl: "ct.vl"; vm: "ct.vm"; vn: "ct.vn"; vo: "ct.vo"; vp: "ct.vp"; vq: "ct.vq"; vr: "ct.vr"; vs: "ct.vs"; vt: "ct.vt"; vu: "ct.vu"; vv: "ct.vv"; vw: "ct.vw"; vx: "ct.vx"; vy: "ct.vy"; vz: "ct.vz"; wa: "ct.wa"; wb: "ct.wb"; wc: "ct.wc"; wd: "ct.wd"; we: "ct.we"; wf: "ct.wf"; wg: "ct.wg"; wh: "ct.wh"; wi: "ct.wi"; wj: "ct.wj"; wk: "ct.wk"; wl: "ct.wl"; wm: "ct.wm"; wn: "ct.wn"; wo: "ct.wo"; wp: "ct.wp"; wq: "ct.wq"; wr: "ct.wr"; ws: "ct.ws"; wt: "ct.wt"; wu: "ct.wu"; wv: "ct.wv"; ww: "ct.ww"; wx: "ct.wx"; wy: "ct.wy"; wz: "ct.wz"; xa: "ct.xa"; xb: "ct.xb"; xc: "ct.xc"; xd: "ct.xd"; xe: "ct.xe"; xf: "ct.xf"; xg: "ct.xg"; xh: "ct.xh"; xi: "ct.xi"; xj: "ct.xj"; xk: "ct.xk"; xl: "ct.xl"; xm: "ct.xm"; xn: "ct.xn"; xo: "ct.xo"; xp: "ct.xp"; xq: "ct.xq"; xr: "ct.xr"; xs: "ct.xs"; xt: "ct.xt"; xu: "ct.xu"; xv: "ct.xv"; xw: "ct.xw"; xx: "ct.xx"; xy: "ct.xy"; xz: "ct.xz"; ya: "ct.ya"; yb: "ct.yb"; yc: "ct.yc"; yd: "ct.yd"; ye: "ct.ye"; yf: "ct.yf"; yg: "ct.yg"; yh: "ct.yh"; yi: "ct.yi"; yj: "ct.yj"; yk: "ct.yk"; yl: "ct.yl"; ym: "ct.ym"; yn: "ct.yn"; yo: "ct.yo"; yp: "ct.yp"; yq: "ct.yq"; yr: "ct.yr"; ys: "ct.ys"; yt: "ct.yt"; yu: "ct.yu"; yv: "ct.yv"; yw: "ct.yw"; yx: "ct.yx"; yy: "ct.yy"; yz: "ct.yz"; za: "ct.za"; zb: "ct.zb"; zc: "ct.zc"; zd: "ct.zd"; ze: "ct.ze"; zf: "ct.zf"; zg: "ct.zg"; zh: "ct.zh"; zi: "ct.zi"; zj: "ct.zj"; zk: "ct.zk"; zl: "ct.zl"; zm: "ct.zm"; zn: "ct.zn"; zo: "ct.zo"; zp: "ct.zp"; zq: "ct.zq"; zr: "ct.zr"; zs: "ct.zs"; zt: "ct.zt"; zu: "ct.zu"; zv: "ct.zv"; zw: "ct.zw"; zx: "ct.zx"; zy: "ct.zy"; zz: "ct.zz"; }; cu: { aa: "cu.aa"; ab: "cu.ab"; ac: "cu.ac"; ad: "cu.ad"; ae: "cu.ae"; af: "cu.af"; ag: "cu.ag"; ah: "cu.ah"; ai: "cu.ai"; aj: "cu.aj"; ak: "cu.ak"; al: "cu.al"; am: "cu.am"; an: "cu.an"; ao: "cu.ao"; ap: "cu.ap"; aq: "cu.aq"; ar: "cu.ar"; as: "cu.as"; at: "cu.at"; au: "cu.au"; av: "cu.av"; aw: "cu.aw"; ax: "cu.ax"; ay: "cu.ay"; az: "cu.az"; ba: "cu.ba"; bb: "cu.bb"; bc: "cu.bc"; bd: "cu.bd"; be: "cu.be"; bf: "cu.bf"; bg: "cu.bg"; bh: "cu.bh"; bi: "cu.bi"; bj: "cu.bj"; bk: "cu.bk"; bl: "cu.bl"; bm: "cu.bm"; bn: "cu.bn"; bo: "cu.bo"; bp: "cu.bp"; bq: "cu.bq"; br: "cu.br"; bs: "cu.bs"; bt: "cu.bt"; bu: "cu.bu"; bv: "cu.bv"; bw: "cu.bw"; bx: "cu.bx"; by: "cu.by"; bz: "cu.bz"; ca: "cu.ca"; cb: "cu.cb"; cc: "cu.cc"; cd: "cu.cd"; ce: "cu.ce"; cf: "cu.cf"; cg: "cu.cg"; ch: "cu.ch"; ci: "cu.ci"; cj: "cu.cj"; ck: "cu.ck"; cl: "cu.cl"; cm: "cu.cm"; cn: "cu.cn"; co: "cu.co"; cp: "cu.cp"; cq: "cu.cq"; cr: "cu.cr"; cs: "cu.cs"; ct: "cu.ct"; cu: "cu.cu"; cv: "cu.cv"; cw: "cu.cw"; cx: "cu.cx"; cy: "cu.cy"; cz: "cu.cz"; da: "cu.da"; db: "cu.db"; dc: "cu.dc"; dd: "cu.dd"; de: "cu.de"; df: "cu.df"; dg: "cu.dg"; dh: "cu.dh"; di: "cu.di"; dj: "cu.dj"; dk: "cu.dk"; dl: "cu.dl"; dm: "cu.dm"; dn: "cu.dn"; do: "cu.do"; dp: "cu.dp"; dq: "cu.dq"; dr: "cu.dr"; ds: "cu.ds"; dt: "cu.dt"; du: "cu.du"; dv: "cu.dv"; dw: "cu.dw"; dx: "cu.dx"; dy: "cu.dy"; dz: "cu.dz"; ea: "cu.ea"; eb: "cu.eb"; ec: "cu.ec"; ed: "cu.ed"; ee: "cu.ee"; ef: "cu.ef"; eg: "cu.eg"; eh: "cu.eh"; ei: "cu.ei"; ej: "cu.ej"; ek: "cu.ek"; el: "cu.el"; em: "cu.em"; en: "cu.en"; eo: "cu.eo"; ep: "cu.ep"; eq: "cu.eq"; er: "cu.er"; es: "cu.es"; et: "cu.et"; eu: "cu.eu"; ev: "cu.ev"; ew: "cu.ew"; ex: "cu.ex"; ey: "cu.ey"; ez: "cu.ez"; fa: "cu.fa"; fb: "cu.fb"; fc: "cu.fc"; fd: "cu.fd"; fe: "cu.fe"; ff: "cu.ff"; fg: "cu.fg"; fh: "cu.fh"; fi: "cu.fi"; fj: "cu.fj"; fk: "cu.fk"; fl: "cu.fl"; fm: "cu.fm"; fn: "cu.fn"; fo: "cu.fo"; fp: "cu.fp"; fq: "cu.fq"; fr: "cu.fr"; fs: "cu.fs"; ft: "cu.ft"; fu: "cu.fu"; fv: "cu.fv"; fw: "cu.fw"; fx: "cu.fx"; fy: "cu.fy"; fz: "cu.fz"; ga: "cu.ga"; gb: "cu.gb"; gc: "cu.gc"; gd: "cu.gd"; ge: "cu.ge"; gf: "cu.gf"; gg: "cu.gg"; gh: "cu.gh"; gi: "cu.gi"; gj: "cu.gj"; gk: "cu.gk"; gl: "cu.gl"; gm: "cu.gm"; gn: "cu.gn"; go: "cu.go"; gp: "cu.gp"; gq: "cu.gq"; gr: "cu.gr"; gs: "cu.gs"; gt: "cu.gt"; gu: "cu.gu"; gv: "cu.gv"; gw: "cu.gw"; gx: "cu.gx"; gy: "cu.gy"; gz: "cu.gz"; ha: "cu.ha"; hb: "cu.hb"; hc: "cu.hc"; hd: "cu.hd"; he: "cu.he"; hf: "cu.hf"; hg: "cu.hg"; hh: "cu.hh"; hi: "cu.hi"; hj: "cu.hj"; hk: "cu.hk"; hl: "cu.hl"; hm: "cu.hm"; hn: "cu.hn"; ho: "cu.ho"; hp: "cu.hp"; hq: "cu.hq"; hr: "cu.hr"; hs: "cu.hs"; ht: "cu.ht"; hu: "cu.hu"; hv: "cu.hv"; hw: "cu.hw"; hx: "cu.hx"; hy: "cu.hy"; hz: "cu.hz"; ia: "cu.ia"; ib: "cu.ib"; ic: "cu.ic"; id: "cu.id"; ie: "cu.ie"; if: "cu.if"; ig: "cu.ig"; ih: "cu.ih"; ii: "cu.ii"; ij: "cu.ij"; ik: "cu.ik"; il: "cu.il"; im: "cu.im"; in: "cu.in"; io: "cu.io"; ip: "cu.ip"; iq: "cu.iq"; ir: "cu.ir"; is: "cu.is"; it: "cu.it"; iu: "cu.iu"; iv: "cu.iv"; iw: "cu.iw"; ix: "cu.ix"; iy: "cu.iy"; iz: "cu.iz"; ja: "cu.ja"; jb: "cu.jb"; jc: "cu.jc"; jd: "cu.jd"; je: "cu.je"; jf: "cu.jf"; jg: "cu.jg"; jh: "cu.jh"; ji: "cu.ji"; jj: "cu.jj"; jk: "cu.jk"; jl: "cu.jl"; jm: "cu.jm"; jn: "cu.jn"; jo: "cu.jo"; jp: "cu.jp"; jq: "cu.jq"; jr: "cu.jr"; js: "cu.js"; jt: "cu.jt"; ju: "cu.ju"; jv: "cu.jv"; jw: "cu.jw"; jx: "cu.jx"; jy: "cu.jy"; jz: "cu.jz"; ka: "cu.ka"; kb: "cu.kb"; kc: "cu.kc"; kd: "cu.kd"; ke: "cu.ke"; kf: "cu.kf"; kg: "cu.kg"; kh: "cu.kh"; ki: "cu.ki"; kj: "cu.kj"; kk: "cu.kk"; kl: "cu.kl"; km: "cu.km"; kn: "cu.kn"; ko: "cu.ko"; kp: "cu.kp"; kq: "cu.kq"; kr: "cu.kr"; ks: "cu.ks"; kt: "cu.kt"; ku: "cu.ku"; kv: "cu.kv"; kw: "cu.kw"; kx: "cu.kx"; ky: "cu.ky"; kz: "cu.kz"; la: "cu.la"; lb: "cu.lb"; lc: "cu.lc"; ld: "cu.ld"; le: "cu.le"; lf: "cu.lf"; lg: "cu.lg"; lh: "cu.lh"; li: "cu.li"; lj: "cu.lj"; lk: "cu.lk"; ll: "cu.ll"; lm: "cu.lm"; ln: "cu.ln"; lo: "cu.lo"; lp: "cu.lp"; lq: "cu.lq"; lr: "cu.lr"; ls: "cu.ls"; lt: "cu.lt"; lu: "cu.lu"; lv: "cu.lv"; lw: "cu.lw"; lx: "cu.lx"; ly: "cu.ly"; lz: "cu.lz"; ma: "cu.ma"; mb: "cu.mb"; mc: "cu.mc"; md: "cu.md"; me: "cu.me"; mf: "cu.mf"; mg: "cu.mg"; mh: "cu.mh"; mi: "cu.mi"; mj: "cu.mj"; mk: "cu.mk"; ml: "cu.ml"; mm: "cu.mm"; mn: "cu.mn"; mo: "cu.mo"; mp: "cu.mp"; mq: "cu.mq"; mr: "cu.mr"; ms: "cu.ms"; mt: "cu.mt"; mu: "cu.mu"; mv: "cu.mv"; mw: "cu.mw"; mx: "cu.mx"; my: "cu.my"; mz: "cu.mz"; na: "cu.na"; nb: "cu.nb"; nc: "cu.nc"; nd: "cu.nd"; ne: "cu.ne"; nf: "cu.nf"; ng: "cu.ng"; nh: "cu.nh"; ni: "cu.ni"; nj: "cu.nj"; nk: "cu.nk"; nl: "cu.nl"; nm: "cu.nm"; nn: "cu.nn"; no: "cu.no"; np: "cu.np"; nq: "cu.nq"; nr: "cu.nr"; ns: "cu.ns"; nt: "cu.nt"; nu: "cu.nu"; nv: "cu.nv"; nw: "cu.nw"; nx: "cu.nx"; ny: "cu.ny"; nz: "cu.nz"; oa: "cu.oa"; ob: "cu.ob"; oc: "cu.oc"; od: "cu.od"; oe: "cu.oe"; of: "cu.of"; og: "cu.og"; oh: "cu.oh"; oi: "cu.oi"; oj: "cu.oj"; ok: "cu.ok"; ol: "cu.ol"; om: "cu.om"; on: "cu.on"; oo: "cu.oo"; op: "cu.op"; oq: "cu.oq"; or: "cu.or"; os: "cu.os"; ot: "cu.ot"; ou: "cu.ou"; ov: "cu.ov"; ow: "cu.ow"; ox: "cu.ox"; oy: "cu.oy"; oz: "cu.oz"; pa: "cu.pa"; pb: "cu.pb"; pc: "cu.pc"; pd: "cu.pd"; pe: "cu.pe"; pf: "cu.pf"; pg: "cu.pg"; ph: "cu.ph"; pi: "cu.pi"; pj: "cu.pj"; pk: "cu.pk"; pl: "cu.pl"; pm: "cu.pm"; pn: "cu.pn"; po: "cu.po"; pp: "cu.pp"; pq: "cu.pq"; pr: "cu.pr"; ps: "cu.ps"; pt: "cu.pt"; pu: "cu.pu"; pv: "cu.pv"; pw: "cu.pw"; px: "cu.px"; py: "cu.py"; pz: "cu.pz"; qa: "cu.qa"; qb: "cu.qb"; qc: "cu.qc"; qd: "cu.qd"; qe: "cu.qe"; qf: "cu.qf"; qg: "cu.qg"; qh: "cu.qh"; qi: "cu.qi"; qj: "cu.qj"; qk: "cu.qk"; ql: "cu.ql"; qm: "cu.qm"; qn: "cu.qn"; qo: "cu.qo"; qp: "cu.qp"; qq: "cu.qq"; qr: "cu.qr"; qs: "cu.qs"; qt: "cu.qt"; qu: "cu.qu"; qv: "cu.qv"; qw: "cu.qw"; qx: "cu.qx"; qy: "cu.qy"; qz: "cu.qz"; ra: "cu.ra"; rb: "cu.rb"; rc: "cu.rc"; rd: "cu.rd"; re: "cu.re"; rf: "cu.rf"; rg: "cu.rg"; rh: "cu.rh"; ri: "cu.ri"; rj: "cu.rj"; rk: "cu.rk"; rl: "cu.rl"; rm: "cu.rm"; rn: "cu.rn"; ro: "cu.ro"; rp: "cu.rp"; rq: "cu.rq"; rr: "cu.rr"; rs: "cu.rs"; rt: "cu.rt"; ru: "cu.ru"; rv: "cu.rv"; rw: "cu.rw"; rx: "cu.rx"; ry: "cu.ry"; rz: "cu.rz"; sa: "cu.sa"; sb: "cu.sb"; sc: "cu.sc"; sd: "cu.sd"; se: "cu.se"; sf: "cu.sf"; sg: "cu.sg"; sh: "cu.sh"; si: "cu.si"; sj: "cu.sj"; sk: "cu.sk"; sl: "cu.sl"; sm: "cu.sm"; sn: "cu.sn"; so: "cu.so"; sp: "cu.sp"; sq: "cu.sq"; sr: "cu.sr"; ss: "cu.ss"; st: "cu.st"; su: "cu.su"; sv: "cu.sv"; sw: "cu.sw"; sx: "cu.sx"; sy: "cu.sy"; sz: "cu.sz"; ta: "cu.ta"; tb: "cu.tb"; tc: "cu.tc"; td: "cu.td"; te: "cu.te"; tf: "cu.tf"; tg: "cu.tg"; th: "cu.th"; ti: "cu.ti"; tj: "cu.tj"; tk: "cu.tk"; tl: "cu.tl"; tm: "cu.tm"; tn: "cu.tn"; to: "cu.to"; tp: "cu.tp"; tq: "cu.tq"; tr: "cu.tr"; ts: "cu.ts"; tt: "cu.tt"; tu: "cu.tu"; tv: "cu.tv"; tw: "cu.tw"; tx: "cu.tx"; ty: "cu.ty"; tz: "cu.tz"; ua: "cu.ua"; ub: "cu.ub"; uc: "cu.uc"; ud: "cu.ud"; ue: "cu.ue"; uf: "cu.uf"; ug: "cu.ug"; uh: "cu.uh"; ui: "cu.ui"; uj: "cu.uj"; uk: "cu.uk"; ul: "cu.ul"; um: "cu.um"; un: "cu.un"; uo: "cu.uo"; up: "cu.up"; uq: "cu.uq"; ur: "cu.ur"; us: "cu.us"; ut: "cu.ut"; uu: "cu.uu"; uv: "cu.uv"; uw: "cu.uw"; ux: "cu.ux"; uy: "cu.uy"; uz: "cu.uz"; va: "cu.va"; vb: "cu.vb"; vc: "cu.vc"; vd: "cu.vd"; ve: "cu.ve"; vf: "cu.vf"; vg: "cu.vg"; vh: "cu.vh"; vi: "cu.vi"; vj: "cu.vj"; vk: "cu.vk"; vl: "cu.vl"; vm: "cu.vm"; vn: "cu.vn"; vo: "cu.vo"; vp: "cu.vp"; vq: "cu.vq"; vr: "cu.vr"; vs: "cu.vs"; vt: "cu.vt"; vu: "cu.vu"; vv: "cu.vv"; vw: "cu.vw"; vx: "cu.vx"; vy: "cu.vy"; vz: "cu.vz"; wa: "cu.wa"; wb: "cu.wb"; wc: "cu.wc"; wd: "cu.wd"; we: "cu.we"; wf: "cu.wf"; wg: "cu.wg"; wh: "cu.wh"; wi: "cu.wi"; wj: "cu.wj"; wk: "cu.wk"; wl: "cu.wl"; wm: "cu.wm"; wn: "cu.wn"; wo: "cu.wo"; wp: "cu.wp"; wq: "cu.wq"; wr: "cu.wr"; ws: "cu.ws"; wt: "cu.wt"; wu: "cu.wu"; wv: "cu.wv"; ww: "cu.ww"; wx: "cu.wx"; wy: "cu.wy"; wz: "cu.wz"; xa: "cu.xa"; xb: "cu.xb"; xc: "cu.xc"; xd: "cu.xd"; xe: "cu.xe"; xf: "cu.xf"; xg: "cu.xg"; xh: "cu.xh"; xi: "cu.xi"; xj: "cu.xj"; xk: "cu.xk"; xl: "cu.xl"; xm: "cu.xm"; xn: "cu.xn"; xo: "cu.xo"; xp: "cu.xp"; xq: "cu.xq"; xr: "cu.xr"; xs: "cu.xs"; xt: "cu.xt"; xu: "cu.xu"; xv: "cu.xv"; xw: "cu.xw"; xx: "cu.xx"; xy: "cu.xy"; xz: "cu.xz"; ya: "cu.ya"; yb: "cu.yb"; yc: "cu.yc"; yd: "cu.yd"; ye: "cu.ye"; yf: "cu.yf"; yg: "cu.yg"; yh: "cu.yh"; yi: "cu.yi"; yj: "cu.yj"; yk: "cu.yk"; yl: "cu.yl"; ym: "cu.ym"; yn: "cu.yn"; yo: "cu.yo"; yp: "cu.yp"; yq: "cu.yq"; yr: "cu.yr"; ys: "cu.ys"; yt: "cu.yt"; yu: "cu.yu"; yv: "cu.yv"; yw: "cu.yw"; yx: "cu.yx"; yy: "cu.yy"; yz: "cu.yz"; za: "cu.za"; zb: "cu.zb"; zc: "cu.zc"; zd: "cu.zd"; ze: "cu.ze"; zf: "cu.zf"; zg: "cu.zg"; zh: "cu.zh"; zi: "cu.zi"; zj: "cu.zj"; zk: "cu.zk"; zl: "cu.zl"; zm: "cu.zm"; zn: "cu.zn"; zo: "cu.zo"; zp: "cu.zp"; zq: "cu.zq"; zr: "cu.zr"; zs: "cu.zs"; zt: "cu.zt"; zu: "cu.zu"; zv: "cu.zv"; zw: "cu.zw"; zx: "cu.zx"; zy: "cu.zy"; zz: "cu.zz"; }; cv: { aa: "cv.aa"; ab: "cv.ab"; ac: "cv.ac"; ad: "cv.ad"; ae: "cv.ae"; af: "cv.af"; ag: "cv.ag"; ah: "cv.ah"; ai: "cv.ai"; aj: "cv.aj"; ak: "cv.ak"; al: "cv.al"; am: "cv.am"; an: "cv.an"; ao: "cv.ao"; ap: "cv.ap"; aq: "cv.aq"; ar: "cv.ar"; as: "cv.as"; at: "cv.at"; au: "cv.au"; av: "cv.av"; aw: "cv.aw"; ax: "cv.ax"; ay: "cv.ay"; az: "cv.az"; ba: "cv.ba"; bb: "cv.bb"; bc: "cv.bc"; bd: "cv.bd"; be: "cv.be"; bf: "cv.bf"; bg: "cv.bg"; bh: "cv.bh"; bi: "cv.bi"; bj: "cv.bj"; bk: "cv.bk"; bl: "cv.bl"; bm: "cv.bm"; bn: "cv.bn"; bo: "cv.bo"; bp: "cv.bp"; bq: "cv.bq"; br: "cv.br"; bs: "cv.bs"; bt: "cv.bt"; bu: "cv.bu"; bv: "cv.bv"; bw: "cv.bw"; bx: "cv.bx"; by: "cv.by"; bz: "cv.bz"; ca: "cv.ca"; cb: "cv.cb"; cc: "cv.cc"; cd: "cv.cd"; ce: "cv.ce"; cf: "cv.cf"; cg: "cv.cg"; ch: "cv.ch"; ci: "cv.ci"; cj: "cv.cj"; ck: "cv.ck"; cl: "cv.cl"; cm: "cv.cm"; cn: "cv.cn"; co: "cv.co"; cp: "cv.cp"; cq: "cv.cq"; cr: "cv.cr"; cs: "cv.cs"; ct: "cv.ct"; cu: "cv.cu"; cv: "cv.cv"; cw: "cv.cw"; cx: "cv.cx"; cy: "cv.cy"; cz: "cv.cz"; da: "cv.da"; db: "cv.db"; dc: "cv.dc"; dd: "cv.dd"; de: "cv.de"; df: "cv.df"; dg: "cv.dg"; dh: "cv.dh"; di: "cv.di"; dj: "cv.dj"; dk: "cv.dk"; dl: "cv.dl"; dm: "cv.dm"; dn: "cv.dn"; do: "cv.do"; dp: "cv.dp"; dq: "cv.dq"; dr: "cv.dr"; ds: "cv.ds"; dt: "cv.dt"; du: "cv.du"; dv: "cv.dv"; dw: "cv.dw"; dx: "cv.dx"; dy: "cv.dy"; dz: "cv.dz"; ea: "cv.ea"; eb: "cv.eb"; ec: "cv.ec"; ed: "cv.ed"; ee: "cv.ee"; ef: "cv.ef"; eg: "cv.eg"; eh: "cv.eh"; ei: "cv.ei"; ej: "cv.ej"; ek: "cv.ek"; el: "cv.el"; em: "cv.em"; en: "cv.en"; eo: "cv.eo"; ep: "cv.ep"; eq: "cv.eq"; er: "cv.er"; es: "cv.es"; et: "cv.et"; eu: "cv.eu"; ev: "cv.ev"; ew: "cv.ew"; ex: "cv.ex"; ey: "cv.ey"; ez: "cv.ez"; fa: "cv.fa"; fb: "cv.fb"; fc: "cv.fc"; fd: "cv.fd"; fe: "cv.fe"; ff: "cv.ff"; fg: "cv.fg"; fh: "cv.fh"; fi: "cv.fi"; fj: "cv.fj"; fk: "cv.fk"; fl: "cv.fl"; fm: "cv.fm"; fn: "cv.fn"; fo: "cv.fo"; fp: "cv.fp"; fq: "cv.fq"; fr: "cv.fr"; fs: "cv.fs"; ft: "cv.ft"; fu: "cv.fu"; fv: "cv.fv"; fw: "cv.fw"; fx: "cv.fx"; fy: "cv.fy"; fz: "cv.fz"; ga: "cv.ga"; gb: "cv.gb"; gc: "cv.gc"; gd: "cv.gd"; ge: "cv.ge"; gf: "cv.gf"; gg: "cv.gg"; gh: "cv.gh"; gi: "cv.gi"; gj: "cv.gj"; gk: "cv.gk"; gl: "cv.gl"; gm: "cv.gm"; gn: "cv.gn"; go: "cv.go"; gp: "cv.gp"; gq: "cv.gq"; gr: "cv.gr"; gs: "cv.gs"; gt: "cv.gt"; gu: "cv.gu"; gv: "cv.gv"; gw: "cv.gw"; gx: "cv.gx"; gy: "cv.gy"; gz: "cv.gz"; ha: "cv.ha"; hb: "cv.hb"; hc: "cv.hc"; hd: "cv.hd"; he: "cv.he"; hf: "cv.hf"; hg: "cv.hg"; hh: "cv.hh"; hi: "cv.hi"; hj: "cv.hj"; hk: "cv.hk"; hl: "cv.hl"; hm: "cv.hm"; hn: "cv.hn"; ho: "cv.ho"; hp: "cv.hp"; hq: "cv.hq"; hr: "cv.hr"; hs: "cv.hs"; ht: "cv.ht"; hu: "cv.hu"; hv: "cv.hv"; hw: "cv.hw"; hx: "cv.hx"; hy: "cv.hy"; hz: "cv.hz"; ia: "cv.ia"; ib: "cv.ib"; ic: "cv.ic"; id: "cv.id"; ie: "cv.ie"; if: "cv.if"; ig: "cv.ig"; ih: "cv.ih"; ii: "cv.ii"; ij: "cv.ij"; ik: "cv.ik"; il: "cv.il"; im: "cv.im"; in: "cv.in"; io: "cv.io"; ip: "cv.ip"; iq: "cv.iq"; ir: "cv.ir"; is: "cv.is"; it: "cv.it"; iu: "cv.iu"; iv: "cv.iv"; iw: "cv.iw"; ix: "cv.ix"; iy: "cv.iy"; iz: "cv.iz"; ja: "cv.ja"; jb: "cv.jb"; jc: "cv.jc"; jd: "cv.jd"; je: "cv.je"; jf: "cv.jf"; jg: "cv.jg"; jh: "cv.jh"; ji: "cv.ji"; jj: "cv.jj"; jk: "cv.jk"; jl: "cv.jl"; jm: "cv.jm"; jn: "cv.jn"; jo: "cv.jo"; jp: "cv.jp"; jq: "cv.jq"; jr: "cv.jr"; js: "cv.js"; jt: "cv.jt"; ju: "cv.ju"; jv: "cv.jv"; jw: "cv.jw"; jx: "cv.jx"; jy: "cv.jy"; jz: "cv.jz"; ka: "cv.ka"; kb: "cv.kb"; kc: "cv.kc"; kd: "cv.kd"; ke: "cv.ke"; kf: "cv.kf"; kg: "cv.kg"; kh: "cv.kh"; ki: "cv.ki"; kj: "cv.kj"; kk: "cv.kk"; kl: "cv.kl"; km: "cv.km"; kn: "cv.kn"; ko: "cv.ko"; kp: "cv.kp"; kq: "cv.kq"; kr: "cv.kr"; ks: "cv.ks"; kt: "cv.kt"; ku: "cv.ku"; kv: "cv.kv"; kw: "cv.kw"; kx: "cv.kx"; ky: "cv.ky"; kz: "cv.kz"; la: "cv.la"; lb: "cv.lb"; lc: "cv.lc"; ld: "cv.ld"; le: "cv.le"; lf: "cv.lf"; lg: "cv.lg"; lh: "cv.lh"; li: "cv.li"; lj: "cv.lj"; lk: "cv.lk"; ll: "cv.ll"; lm: "cv.lm"; ln: "cv.ln"; lo: "cv.lo"; lp: "cv.lp"; lq: "cv.lq"; lr: "cv.lr"; ls: "cv.ls"; lt: "cv.lt"; lu: "cv.lu"; lv: "cv.lv"; lw: "cv.lw"; lx: "cv.lx"; ly: "cv.ly"; lz: "cv.lz"; ma: "cv.ma"; mb: "cv.mb"; mc: "cv.mc"; md: "cv.md"; me: "cv.me"; mf: "cv.mf"; mg: "cv.mg"; mh: "cv.mh"; mi: "cv.mi"; mj: "cv.mj"; mk: "cv.mk"; ml: "cv.ml"; mm: "cv.mm"; mn: "cv.mn"; mo: "cv.mo"; mp: "cv.mp"; mq: "cv.mq"; mr: "cv.mr"; ms: "cv.ms"; mt: "cv.mt"; mu: "cv.mu"; mv: "cv.mv"; mw: "cv.mw"; mx: "cv.mx"; my: "cv.my"; mz: "cv.mz"; na: "cv.na"; nb: "cv.nb"; nc: "cv.nc"; nd: "cv.nd"; ne: "cv.ne"; nf: "cv.nf"; ng: "cv.ng"; nh: "cv.nh"; ni: "cv.ni"; nj: "cv.nj"; nk: "cv.nk"; nl: "cv.nl"; nm: "cv.nm"; nn: "cv.nn"; no: "cv.no"; np: "cv.np"; nq: "cv.nq"; nr: "cv.nr"; ns: "cv.ns"; nt: "cv.nt"; nu: "cv.nu"; nv: "cv.nv"; nw: "cv.nw"; nx: "cv.nx"; ny: "cv.ny"; nz: "cv.nz"; oa: "cv.oa"; ob: "cv.ob"; oc: "cv.oc"; od: "cv.od"; oe: "cv.oe"; of: "cv.of"; og: "cv.og"; oh: "cv.oh"; oi: "cv.oi"; oj: "cv.oj"; ok: "cv.ok"; ol: "cv.ol"; om: "cv.om"; on: "cv.on"; oo: "cv.oo"; op: "cv.op"; oq: "cv.oq"; or: "cv.or"; os: "cv.os"; ot: "cv.ot"; ou: "cv.ou"; ov: "cv.ov"; ow: "cv.ow"; ox: "cv.ox"; oy: "cv.oy"; oz: "cv.oz"; pa: "cv.pa"; pb: "cv.pb"; pc: "cv.pc"; pd: "cv.pd"; pe: "cv.pe"; pf: "cv.pf"; pg: "cv.pg"; ph: "cv.ph"; pi: "cv.pi"; pj: "cv.pj"; pk: "cv.pk"; pl: "cv.pl"; pm: "cv.pm"; pn: "cv.pn"; po: "cv.po"; pp: "cv.pp"; pq: "cv.pq"; pr: "cv.pr"; ps: "cv.ps"; pt: "cv.pt"; pu: "cv.pu"; pv: "cv.pv"; pw: "cv.pw"; px: "cv.px"; py: "cv.py"; pz: "cv.pz"; qa: "cv.qa"; qb: "cv.qb"; qc: "cv.qc"; qd: "cv.qd"; qe: "cv.qe"; qf: "cv.qf"; qg: "cv.qg"; qh: "cv.qh"; qi: "cv.qi"; qj: "cv.qj"; qk: "cv.qk"; ql: "cv.ql"; qm: "cv.qm"; qn: "cv.qn"; qo: "cv.qo"; qp: "cv.qp"; qq: "cv.qq"; qr: "cv.qr"; qs: "cv.qs"; qt: "cv.qt"; qu: "cv.qu"; qv: "cv.qv"; qw: "cv.qw"; qx: "cv.qx"; qy: "cv.qy"; qz: "cv.qz"; ra: "cv.ra"; rb: "cv.rb"; rc: "cv.rc"; rd: "cv.rd"; re: "cv.re"; rf: "cv.rf"; rg: "cv.rg"; rh: "cv.rh"; ri: "cv.ri"; rj: "cv.rj"; rk: "cv.rk"; rl: "cv.rl"; rm: "cv.rm"; rn: "cv.rn"; ro: "cv.ro"; rp: "cv.rp"; rq: "cv.rq"; rr: "cv.rr"; rs: "cv.rs"; rt: "cv.rt"; ru: "cv.ru"; rv: "cv.rv"; rw: "cv.rw"; rx: "cv.rx"; ry: "cv.ry"; rz: "cv.rz"; sa: "cv.sa"; sb: "cv.sb"; sc: "cv.sc"; sd: "cv.sd"; se: "cv.se"; sf: "cv.sf"; sg: "cv.sg"; sh: "cv.sh"; si: "cv.si"; sj: "cv.sj"; sk: "cv.sk"; sl: "cv.sl"; sm: "cv.sm"; sn: "cv.sn"; so: "cv.so"; sp: "cv.sp"; sq: "cv.sq"; sr: "cv.sr"; ss: "cv.ss"; st: "cv.st"; su: "cv.su"; sv: "cv.sv"; sw: "cv.sw"; sx: "cv.sx"; sy: "cv.sy"; sz: "cv.sz"; ta: "cv.ta"; tb: "cv.tb"; tc: "cv.tc"; td: "cv.td"; te: "cv.te"; tf: "cv.tf"; tg: "cv.tg"; th: "cv.th"; ti: "cv.ti"; tj: "cv.tj"; tk: "cv.tk"; tl: "cv.tl"; tm: "cv.tm"; tn: "cv.tn"; to: "cv.to"; tp: "cv.tp"; tq: "cv.tq"; tr: "cv.tr"; ts: "cv.ts"; tt: "cv.tt"; tu: "cv.tu"; tv: "cv.tv"; tw: "cv.tw"; tx: "cv.tx"; ty: "cv.ty"; tz: "cv.tz"; ua: "cv.ua"; ub: "cv.ub"; uc: "cv.uc"; ud: "cv.ud"; ue: "cv.ue"; uf: "cv.uf"; ug: "cv.ug"; uh: "cv.uh"; ui: "cv.ui"; uj: "cv.uj"; uk: "cv.uk"; ul: "cv.ul"; um: "cv.um"; un: "cv.un"; uo: "cv.uo"; up: "cv.up"; uq: "cv.uq"; ur: "cv.ur"; us: "cv.us"; ut: "cv.ut"; uu: "cv.uu"; uv: "cv.uv"; uw: "cv.uw"; ux: "cv.ux"; uy: "cv.uy"; uz: "cv.uz"; va: "cv.va"; vb: "cv.vb"; vc: "cv.vc"; vd: "cv.vd"; ve: "cv.ve"; vf: "cv.vf"; vg: "cv.vg"; vh: "cv.vh"; vi: "cv.vi"; vj: "cv.vj"; vk: "cv.vk"; vl: "cv.vl"; vm: "cv.vm"; vn: "cv.vn"; vo: "cv.vo"; vp: "cv.vp"; vq: "cv.vq"; vr: "cv.vr"; vs: "cv.vs"; vt: "cv.vt"; vu: "cv.vu"; vv: "cv.vv"; vw: "cv.vw"; vx: "cv.vx"; vy: "cv.vy"; vz: "cv.vz"; wa: "cv.wa"; wb: "cv.wb"; wc: "cv.wc"; wd: "cv.wd"; we: "cv.we"; wf: "cv.wf"; wg: "cv.wg"; wh: "cv.wh"; wi: "cv.wi"; wj: "cv.wj"; wk: "cv.wk"; wl: "cv.wl"; wm: "cv.wm"; wn: "cv.wn"; wo: "cv.wo"; wp: "cv.wp"; wq: "cv.wq"; wr: "cv.wr"; ws: "cv.ws"; wt: "cv.wt"; wu: "cv.wu"; wv: "cv.wv"; ww: "cv.ww"; wx: "cv.wx"; wy: "cv.wy"; wz: "cv.wz"; xa: "cv.xa"; xb: "cv.xb"; xc: "cv.xc"; xd: "cv.xd"; xe: "cv.xe"; xf: "cv.xf"; xg: "cv.xg"; xh: "cv.xh"; xi: "cv.xi"; xj: "cv.xj"; xk: "cv.xk"; xl: "cv.xl"; xm: "cv.xm"; xn: "cv.xn"; xo: "cv.xo"; xp: "cv.xp"; xq: "cv.xq"; xr: "cv.xr"; xs: "cv.xs"; xt: "cv.xt"; xu: "cv.xu"; xv: "cv.xv"; xw: "cv.xw"; xx: "cv.xx"; xy: "cv.xy"; xz: "cv.xz"; ya: "cv.ya"; yb: "cv.yb"; yc: "cv.yc"; yd: "cv.yd"; ye: "cv.ye"; yf: "cv.yf"; yg: "cv.yg"; yh: "cv.yh"; yi: "cv.yi"; yj: "cv.yj"; yk: "cv.yk"; yl: "cv.yl"; ym: "cv.ym"; yn: "cv.yn"; yo: "cv.yo"; yp: "cv.yp"; yq: "cv.yq"; yr: "cv.yr"; ys: "cv.ys"; yt: "cv.yt"; yu: "cv.yu"; yv: "cv.yv"; yw: "cv.yw"; yx: "cv.yx"; yy: "cv.yy"; yz: "cv.yz"; za: "cv.za"; zb: "cv.zb"; zc: "cv.zc"; zd: "cv.zd"; ze: "cv.ze"; zf: "cv.zf"; zg: "cv.zg"; zh: "cv.zh"; zi: "cv.zi"; zj: "cv.zj"; zk: "cv.zk"; zl: "cv.zl"; zm: "cv.zm"; zn: "cv.zn"; zo: "cv.zo"; zp: "cv.zp"; zq: "cv.zq"; zr: "cv.zr"; zs: "cv.zs"; zt: "cv.zt"; zu: "cv.zu"; zv: "cv.zv"; zw: "cv.zw"; zx: "cv.zx"; zy: "cv.zy"; zz: "cv.zz"; }; cw: { aa: "cw.aa"; ab: "cw.ab"; ac: "cw.ac"; ad: "cw.ad"; ae: "cw.ae"; af: "cw.af"; ag: "cw.ag"; ah: "cw.ah"; ai: "cw.ai"; aj: "cw.aj"; ak: "cw.ak"; al: "cw.al"; am: "cw.am"; an: "cw.an"; ao: "cw.ao"; ap: "cw.ap"; aq: "cw.aq"; ar: "cw.ar"; as: "cw.as"; at: "cw.at"; au: "cw.au"; av: "cw.av"; aw: "cw.aw"; ax: "cw.ax"; ay: "cw.ay"; az: "cw.az"; ba: "cw.ba"; bb: "cw.bb"; bc: "cw.bc"; bd: "cw.bd"; be: "cw.be"; bf: "cw.bf"; bg: "cw.bg"; bh: "cw.bh"; bi: "cw.bi"; bj: "cw.bj"; bk: "cw.bk"; bl: "cw.bl"; bm: "cw.bm"; bn: "cw.bn"; bo: "cw.bo"; bp: "cw.bp"; bq: "cw.bq"; br: "cw.br"; bs: "cw.bs"; bt: "cw.bt"; bu: "cw.bu"; bv: "cw.bv"; bw: "cw.bw"; bx: "cw.bx"; by: "cw.by"; bz: "cw.bz"; ca: "cw.ca"; cb: "cw.cb"; cc: "cw.cc"; cd: "cw.cd"; ce: "cw.ce"; cf: "cw.cf"; cg: "cw.cg"; ch: "cw.ch"; ci: "cw.ci"; cj: "cw.cj"; ck: "cw.ck"; cl: "cw.cl"; cm: "cw.cm"; cn: "cw.cn"; co: "cw.co"; cp: "cw.cp"; cq: "cw.cq"; cr: "cw.cr"; cs: "cw.cs"; ct: "cw.ct"; cu: "cw.cu"; cv: "cw.cv"; cw: "cw.cw"; cx: "cw.cx"; cy: "cw.cy"; cz: "cw.cz"; da: "cw.da"; db: "cw.db"; dc: "cw.dc"; dd: "cw.dd"; de: "cw.de"; df: "cw.df"; dg: "cw.dg"; dh: "cw.dh"; di: "cw.di"; dj: "cw.dj"; dk: "cw.dk"; dl: "cw.dl"; dm: "cw.dm"; dn: "cw.dn"; do: "cw.do"; dp: "cw.dp"; dq: "cw.dq"; dr: "cw.dr"; ds: "cw.ds"; dt: "cw.dt"; du: "cw.du"; dv: "cw.dv"; dw: "cw.dw"; dx: "cw.dx"; dy: "cw.dy"; dz: "cw.dz"; ea: "cw.ea"; eb: "cw.eb"; ec: "cw.ec"; ed: "cw.ed"; ee: "cw.ee"; ef: "cw.ef"; eg: "cw.eg"; eh: "cw.eh"; ei: "cw.ei"; ej: "cw.ej"; ek: "cw.ek"; el: "cw.el"; em: "cw.em"; en: "cw.en"; eo: "cw.eo"; ep: "cw.ep"; eq: "cw.eq"; er: "cw.er"; es: "cw.es"; et: "cw.et"; eu: "cw.eu"; ev: "cw.ev"; ew: "cw.ew"; ex: "cw.ex"; ey: "cw.ey"; ez: "cw.ez"; fa: "cw.fa"; fb: "cw.fb"; fc: "cw.fc"; fd: "cw.fd"; fe: "cw.fe"; ff: "cw.ff"; fg: "cw.fg"; fh: "cw.fh"; fi: "cw.fi"; fj: "cw.fj"; fk: "cw.fk"; fl: "cw.fl"; fm: "cw.fm"; fn: "cw.fn"; fo: "cw.fo"; fp: "cw.fp"; fq: "cw.fq"; fr: "cw.fr"; fs: "cw.fs"; ft: "cw.ft"; fu: "cw.fu"; fv: "cw.fv"; fw: "cw.fw"; fx: "cw.fx"; fy: "cw.fy"; fz: "cw.fz"; ga: "cw.ga"; gb: "cw.gb"; gc: "cw.gc"; gd: "cw.gd"; ge: "cw.ge"; gf: "cw.gf"; gg: "cw.gg"; gh: "cw.gh"; gi: "cw.gi"; gj: "cw.gj"; gk: "cw.gk"; gl: "cw.gl"; gm: "cw.gm"; gn: "cw.gn"; go: "cw.go"; gp: "cw.gp"; gq: "cw.gq"; gr: "cw.gr"; gs: "cw.gs"; gt: "cw.gt"; gu: "cw.gu"; gv: "cw.gv"; gw: "cw.gw"; gx: "cw.gx"; gy: "cw.gy"; gz: "cw.gz"; ha: "cw.ha"; hb: "cw.hb"; hc: "cw.hc"; hd: "cw.hd"; he: "cw.he"; hf: "cw.hf"; hg: "cw.hg"; hh: "cw.hh"; hi: "cw.hi"; hj: "cw.hj"; hk: "cw.hk"; hl: "cw.hl"; hm: "cw.hm"; hn: "cw.hn"; ho: "cw.ho"; hp: "cw.hp"; hq: "cw.hq"; hr: "cw.hr"; hs: "cw.hs"; ht: "cw.ht"; hu: "cw.hu"; hv: "cw.hv"; hw: "cw.hw"; hx: "cw.hx"; hy: "cw.hy"; hz: "cw.hz"; ia: "cw.ia"; ib: "cw.ib"; ic: "cw.ic"; id: "cw.id"; ie: "cw.ie"; if: "cw.if"; ig: "cw.ig"; ih: "cw.ih"; ii: "cw.ii"; ij: "cw.ij"; ik: "cw.ik"; il: "cw.il"; im: "cw.im"; in: "cw.in"; io: "cw.io"; ip: "cw.ip"; iq: "cw.iq"; ir: "cw.ir"; is: "cw.is"; it: "cw.it"; iu: "cw.iu"; iv: "cw.iv"; iw: "cw.iw"; ix: "cw.ix"; iy: "cw.iy"; iz: "cw.iz"; ja: "cw.ja"; jb: "cw.jb"; jc: "cw.jc"; jd: "cw.jd"; je: "cw.je"; jf: "cw.jf"; jg: "cw.jg"; jh: "cw.jh"; ji: "cw.ji"; jj: "cw.jj"; jk: "cw.jk"; jl: "cw.jl"; jm: "cw.jm"; jn: "cw.jn"; jo: "cw.jo"; jp: "cw.jp"; jq: "cw.jq"; jr: "cw.jr"; js: "cw.js"; jt: "cw.jt"; ju: "cw.ju"; jv: "cw.jv"; jw: "cw.jw"; jx: "cw.jx"; jy: "cw.jy"; jz: "cw.jz"; ka: "cw.ka"; kb: "cw.kb"; kc: "cw.kc"; kd: "cw.kd"; ke: "cw.ke"; kf: "cw.kf"; kg: "cw.kg"; kh: "cw.kh"; ki: "cw.ki"; kj: "cw.kj"; kk: "cw.kk"; kl: "cw.kl"; km: "cw.km"; kn: "cw.kn"; ko: "cw.ko"; kp: "cw.kp"; kq: "cw.kq"; kr: "cw.kr"; ks: "cw.ks"; kt: "cw.kt"; ku: "cw.ku"; kv: "cw.kv"; kw: "cw.kw"; kx: "cw.kx"; ky: "cw.ky"; kz: "cw.kz"; la: "cw.la"; lb: "cw.lb"; lc: "cw.lc"; ld: "cw.ld"; le: "cw.le"; lf: "cw.lf"; lg: "cw.lg"; lh: "cw.lh"; li: "cw.li"; lj: "cw.lj"; lk: "cw.lk"; ll: "cw.ll"; lm: "cw.lm"; ln: "cw.ln"; lo: "cw.lo"; lp: "cw.lp"; lq: "cw.lq"; lr: "cw.lr"; ls: "cw.ls"; lt: "cw.lt"; lu: "cw.lu"; lv: "cw.lv"; lw: "cw.lw"; lx: "cw.lx"; ly: "cw.ly"; lz: "cw.lz"; ma: "cw.ma"; mb: "cw.mb"; mc: "cw.mc"; md: "cw.md"; me: "cw.me"; mf: "cw.mf"; mg: "cw.mg"; mh: "cw.mh"; mi: "cw.mi"; mj: "cw.mj"; mk: "cw.mk"; ml: "cw.ml"; mm: "cw.mm"; mn: "cw.mn"; mo: "cw.mo"; mp: "cw.mp"; mq: "cw.mq"; mr: "cw.mr"; ms: "cw.ms"; mt: "cw.mt"; mu: "cw.mu"; mv: "cw.mv"; mw: "cw.mw"; mx: "cw.mx"; my: "cw.my"; mz: "cw.mz"; na: "cw.na"; nb: "cw.nb"; nc: "cw.nc"; nd: "cw.nd"; ne: "cw.ne"; nf: "cw.nf"; ng: "cw.ng"; nh: "cw.nh"; ni: "cw.ni"; nj: "cw.nj"; nk: "cw.nk"; nl: "cw.nl"; nm: "cw.nm"; nn: "cw.nn"; no: "cw.no"; np: "cw.np"; nq: "cw.nq"; nr: "cw.nr"; ns: "cw.ns"; nt: "cw.nt"; nu: "cw.nu"; nv: "cw.nv"; nw: "cw.nw"; nx: "cw.nx"; ny: "cw.ny"; nz: "cw.nz"; oa: "cw.oa"; ob: "cw.ob"; oc: "cw.oc"; od: "cw.od"; oe: "cw.oe"; of: "cw.of"; og: "cw.og"; oh: "cw.oh"; oi: "cw.oi"; oj: "cw.oj"; ok: "cw.ok"; ol: "cw.ol"; om: "cw.om"; on: "cw.on"; oo: "cw.oo"; op: "cw.op"; oq: "cw.oq"; or: "cw.or"; os: "cw.os"; ot: "cw.ot"; ou: "cw.ou"; ov: "cw.ov"; ow: "cw.ow"; ox: "cw.ox"; oy: "cw.oy"; oz: "cw.oz"; pa: "cw.pa"; pb: "cw.pb"; pc: "cw.pc"; pd: "cw.pd"; pe: "cw.pe"; pf: "cw.pf"; pg: "cw.pg"; ph: "cw.ph"; pi: "cw.pi"; pj: "cw.pj"; pk: "cw.pk"; pl: "cw.pl"; pm: "cw.pm"; pn: "cw.pn"; po: "cw.po"; pp: "cw.pp"; pq: "cw.pq"; pr: "cw.pr"; ps: "cw.ps"; pt: "cw.pt"; pu: "cw.pu"; pv: "cw.pv"; pw: "cw.pw"; px: "cw.px"; py: "cw.py"; pz: "cw.pz"; qa: "cw.qa"; qb: "cw.qb"; qc: "cw.qc"; qd: "cw.qd"; qe: "cw.qe"; qf: "cw.qf"; qg: "cw.qg"; qh: "cw.qh"; qi: "cw.qi"; qj: "cw.qj"; qk: "cw.qk"; ql: "cw.ql"; qm: "cw.qm"; qn: "cw.qn"; qo: "cw.qo"; qp: "cw.qp"; qq: "cw.qq"; qr: "cw.qr"; qs: "cw.qs"; qt: "cw.qt"; qu: "cw.qu"; qv: "cw.qv"; qw: "cw.qw"; qx: "cw.qx"; qy: "cw.qy"; qz: "cw.qz"; ra: "cw.ra"; rb: "cw.rb"; rc: "cw.rc"; rd: "cw.rd"; re: "cw.re"; rf: "cw.rf"; rg: "cw.rg"; rh: "cw.rh"; ri: "cw.ri"; rj: "cw.rj"; rk: "cw.rk"; rl: "cw.rl"; rm: "cw.rm"; rn: "cw.rn"; ro: "cw.ro"; rp: "cw.rp"; rq: "cw.rq"; rr: "cw.rr"; rs: "cw.rs"; rt: "cw.rt"; ru: "cw.ru"; rv: "cw.rv"; rw: "cw.rw"; rx: "cw.rx"; ry: "cw.ry"; rz: "cw.rz"; sa: "cw.sa"; sb: "cw.sb"; sc: "cw.sc"; sd: "cw.sd"; se: "cw.se"; sf: "cw.sf"; sg: "cw.sg"; sh: "cw.sh"; si: "cw.si"; sj: "cw.sj"; sk: "cw.sk"; sl: "cw.sl"; sm: "cw.sm"; sn: "cw.sn"; so: "cw.so"; sp: "cw.sp"; sq: "cw.sq"; sr: "cw.sr"; ss: "cw.ss"; st: "cw.st"; su: "cw.su"; sv: "cw.sv"; sw: "cw.sw"; sx: "cw.sx"; sy: "cw.sy"; sz: "cw.sz"; ta: "cw.ta"; tb: "cw.tb"; tc: "cw.tc"; td: "cw.td"; te: "cw.te"; tf: "cw.tf"; tg: "cw.tg"; th: "cw.th"; ti: "cw.ti"; tj: "cw.tj"; tk: "cw.tk"; tl: "cw.tl"; tm: "cw.tm"; tn: "cw.tn"; to: "cw.to"; tp: "cw.tp"; tq: "cw.tq"; tr: "cw.tr"; ts: "cw.ts"; tt: "cw.tt"; tu: "cw.tu"; tv: "cw.tv"; tw: "cw.tw"; tx: "cw.tx"; ty: "cw.ty"; tz: "cw.tz"; ua: "cw.ua"; ub: "cw.ub"; uc: "cw.uc"; ud: "cw.ud"; ue: "cw.ue"; uf: "cw.uf"; ug: "cw.ug"; uh: "cw.uh"; ui: "cw.ui"; uj: "cw.uj"; uk: "cw.uk"; ul: "cw.ul"; um: "cw.um"; un: "cw.un"; uo: "cw.uo"; up: "cw.up"; uq: "cw.uq"; ur: "cw.ur"; us: "cw.us"; ut: "cw.ut"; uu: "cw.uu"; uv: "cw.uv"; uw: "cw.uw"; ux: "cw.ux"; uy: "cw.uy"; uz: "cw.uz"; va: "cw.va"; vb: "cw.vb"; vc: "cw.vc"; vd: "cw.vd"; ve: "cw.ve"; vf: "cw.vf"; vg: "cw.vg"; vh: "cw.vh"; vi: "cw.vi"; vj: "cw.vj"; vk: "cw.vk"; vl: "cw.vl"; vm: "cw.vm"; vn: "cw.vn"; vo: "cw.vo"; vp: "cw.vp"; vq: "cw.vq"; vr: "cw.vr"; vs: "cw.vs"; vt: "cw.vt"; vu: "cw.vu"; vv: "cw.vv"; vw: "cw.vw"; vx: "cw.vx"; vy: "cw.vy"; vz: "cw.vz"; wa: "cw.wa"; wb: "cw.wb"; wc: "cw.wc"; wd: "cw.wd"; we: "cw.we"; wf: "cw.wf"; wg: "cw.wg"; wh: "cw.wh"; wi: "cw.wi"; wj: "cw.wj"; wk: "cw.wk"; wl: "cw.wl"; wm: "cw.wm"; wn: "cw.wn"; wo: "cw.wo"; wp: "cw.wp"; wq: "cw.wq"; wr: "cw.wr"; ws: "cw.ws"; wt: "cw.wt"; wu: "cw.wu"; wv: "cw.wv"; ww: "cw.ww"; wx: "cw.wx"; wy: "cw.wy"; wz: "cw.wz"; xa: "cw.xa"; xb: "cw.xb"; xc: "cw.xc"; xd: "cw.xd"; xe: "cw.xe"; xf: "cw.xf"; xg: "cw.xg"; xh: "cw.xh"; xi: "cw.xi"; xj: "cw.xj"; xk: "cw.xk"; xl: "cw.xl"; xm: "cw.xm"; xn: "cw.xn"; xo: "cw.xo"; xp: "cw.xp"; xq: "cw.xq"; xr: "cw.xr"; xs: "cw.xs"; xt: "cw.xt"; xu: "cw.xu"; xv: "cw.xv"; xw: "cw.xw"; xx: "cw.xx"; xy: "cw.xy"; xz: "cw.xz"; ya: "cw.ya"; yb: "cw.yb"; yc: "cw.yc"; yd: "cw.yd"; ye: "cw.ye"; yf: "cw.yf"; yg: "cw.yg"; yh: "cw.yh"; yi: "cw.yi"; yj: "cw.yj"; yk: "cw.yk"; yl: "cw.yl"; ym: "cw.ym"; yn: "cw.yn"; yo: "cw.yo"; yp: "cw.yp"; yq: "cw.yq"; yr: "cw.yr"; ys: "cw.ys"; yt: "cw.yt"; yu: "cw.yu"; yv: "cw.yv"; yw: "cw.yw"; yx: "cw.yx"; yy: "cw.yy"; yz: "cw.yz"; za: "cw.za"; zb: "cw.zb"; zc: "cw.zc"; zd: "cw.zd"; ze: "cw.ze"; zf: "cw.zf"; zg: "cw.zg"; zh: "cw.zh"; zi: "cw.zi"; zj: "cw.zj"; zk: "cw.zk"; zl: "cw.zl"; zm: "cw.zm"; zn: "cw.zn"; zo: "cw.zo"; zp: "cw.zp"; zq: "cw.zq"; zr: "cw.zr"; zs: "cw.zs"; zt: "cw.zt"; zu: "cw.zu"; zv: "cw.zv"; zw: "cw.zw"; zx: "cw.zx"; zy: "cw.zy"; zz: "cw.zz"; }; cx: { aa: "cx.aa"; ab: "cx.ab"; ac: "cx.ac"; ad: "cx.ad"; ae: "cx.ae"; af: "cx.af"; ag: "cx.ag"; ah: "cx.ah"; ai: "cx.ai"; aj: "cx.aj"; ak: "cx.ak"; al: "cx.al"; am: "cx.am"; an: "cx.an"; ao: "cx.ao"; ap: "cx.ap"; aq: "cx.aq"; ar: "cx.ar"; as: "cx.as"; at: "cx.at"; au: "cx.au"; av: "cx.av"; aw: "cx.aw"; ax: "cx.ax"; ay: "cx.ay"; az: "cx.az"; ba: "cx.ba"; bb: "cx.bb"; bc: "cx.bc"; bd: "cx.bd"; be: "cx.be"; bf: "cx.bf"; bg: "cx.bg"; bh: "cx.bh"; bi: "cx.bi"; bj: "cx.bj"; bk: "cx.bk"; bl: "cx.bl"; bm: "cx.bm"; bn: "cx.bn"; bo: "cx.bo"; bp: "cx.bp"; bq: "cx.bq"; br: "cx.br"; bs: "cx.bs"; bt: "cx.bt"; bu: "cx.bu"; bv: "cx.bv"; bw: "cx.bw"; bx: "cx.bx"; by: "cx.by"; bz: "cx.bz"; ca: "cx.ca"; cb: "cx.cb"; cc: "cx.cc"; cd: "cx.cd"; ce: "cx.ce"; cf: "cx.cf"; cg: "cx.cg"; ch: "cx.ch"; ci: "cx.ci"; cj: "cx.cj"; ck: "cx.ck"; cl: "cx.cl"; cm: "cx.cm"; cn: "cx.cn"; co: "cx.co"; cp: "cx.cp"; cq: "cx.cq"; cr: "cx.cr"; cs: "cx.cs"; ct: "cx.ct"; cu: "cx.cu"; cv: "cx.cv"; cw: "cx.cw"; cx: "cx.cx"; cy: "cx.cy"; cz: "cx.cz"; da: "cx.da"; db: "cx.db"; dc: "cx.dc"; dd: "cx.dd"; de: "cx.de"; df: "cx.df"; dg: "cx.dg"; dh: "cx.dh"; di: "cx.di"; dj: "cx.dj"; dk: "cx.dk"; dl: "cx.dl"; dm: "cx.dm"; dn: "cx.dn"; do: "cx.do"; dp: "cx.dp"; dq: "cx.dq"; dr: "cx.dr"; ds: "cx.ds"; dt: "cx.dt"; du: "cx.du"; dv: "cx.dv"; dw: "cx.dw"; dx: "cx.dx"; dy: "cx.dy"; dz: "cx.dz"; ea: "cx.ea"; eb: "cx.eb"; ec: "cx.ec"; ed: "cx.ed"; ee: "cx.ee"; ef: "cx.ef"; eg: "cx.eg"; eh: "cx.eh"; ei: "cx.ei"; ej: "cx.ej"; ek: "cx.ek"; el: "cx.el"; em: "cx.em"; en: "cx.en"; eo: "cx.eo"; ep: "cx.ep"; eq: "cx.eq"; er: "cx.er"; es: "cx.es"; et: "cx.et"; eu: "cx.eu"; ev: "cx.ev"; ew: "cx.ew"; ex: "cx.ex"; ey: "cx.ey"; ez: "cx.ez"; fa: "cx.fa"; fb: "cx.fb"; fc: "cx.fc"; fd: "cx.fd"; fe: "cx.fe"; ff: "cx.ff"; fg: "cx.fg"; fh: "cx.fh"; fi: "cx.fi"; fj: "cx.fj"; fk: "cx.fk"; fl: "cx.fl"; fm: "cx.fm"; fn: "cx.fn"; fo: "cx.fo"; fp: "cx.fp"; fq: "cx.fq"; fr: "cx.fr"; fs: "cx.fs"; ft: "cx.ft"; fu: "cx.fu"; fv: "cx.fv"; fw: "cx.fw"; fx: "cx.fx"; fy: "cx.fy"; fz: "cx.fz"; ga: "cx.ga"; gb: "cx.gb"; gc: "cx.gc"; gd: "cx.gd"; ge: "cx.ge"; gf: "cx.gf"; gg: "cx.gg"; gh: "cx.gh"; gi: "cx.gi"; gj: "cx.gj"; gk: "cx.gk"; gl: "cx.gl"; gm: "cx.gm"; gn: "cx.gn"; go: "cx.go"; gp: "cx.gp"; gq: "cx.gq"; gr: "cx.gr"; gs: "cx.gs"; gt: "cx.gt"; gu: "cx.gu"; gv: "cx.gv"; gw: "cx.gw"; gx: "cx.gx"; gy: "cx.gy"; gz: "cx.gz"; ha: "cx.ha"; hb: "cx.hb"; hc: "cx.hc"; hd: "cx.hd"; he: "cx.he"; hf: "cx.hf"; hg: "cx.hg"; hh: "cx.hh"; hi: "cx.hi"; hj: "cx.hj"; hk: "cx.hk"; hl: "cx.hl"; hm: "cx.hm"; hn: "cx.hn"; ho: "cx.ho"; hp: "cx.hp"; hq: "cx.hq"; hr: "cx.hr"; hs: "cx.hs"; ht: "cx.ht"; hu: "cx.hu"; hv: "cx.hv"; hw: "cx.hw"; hx: "cx.hx"; hy: "cx.hy"; hz: "cx.hz"; ia: "cx.ia"; ib: "cx.ib"; ic: "cx.ic"; id: "cx.id"; ie: "cx.ie"; if: "cx.if"; ig: "cx.ig"; ih: "cx.ih"; ii: "cx.ii"; ij: "cx.ij"; ik: "cx.ik"; il: "cx.il"; im: "cx.im"; in: "cx.in"; io: "cx.io"; ip: "cx.ip"; iq: "cx.iq"; ir: "cx.ir"; is: "cx.is"; it: "cx.it"; iu: "cx.iu"; iv: "cx.iv"; iw: "cx.iw"; ix: "cx.ix"; iy: "cx.iy"; iz: "cx.iz"; ja: "cx.ja"; jb: "cx.jb"; jc: "cx.jc"; jd: "cx.jd"; je: "cx.je"; jf: "cx.jf"; jg: "cx.jg"; jh: "cx.jh"; ji: "cx.ji"; jj: "cx.jj"; jk: "cx.jk"; jl: "cx.jl"; jm: "cx.jm"; jn: "cx.jn"; jo: "cx.jo"; jp: "cx.jp"; jq: "cx.jq"; jr: "cx.jr"; js: "cx.js"; jt: "cx.jt"; ju: "cx.ju"; jv: "cx.jv"; jw: "cx.jw"; jx: "cx.jx"; jy: "cx.jy"; jz: "cx.jz"; ka: "cx.ka"; kb: "cx.kb"; kc: "cx.kc"; kd: "cx.kd"; ke: "cx.ke"; kf: "cx.kf"; kg: "cx.kg"; kh: "cx.kh"; ki: "cx.ki"; kj: "cx.kj"; kk: "cx.kk"; kl: "cx.kl"; km: "cx.km"; kn: "cx.kn"; ko: "cx.ko"; kp: "cx.kp"; kq: "cx.kq"; kr: "cx.kr"; ks: "cx.ks"; kt: "cx.kt"; ku: "cx.ku"; kv: "cx.kv"; kw: "cx.kw"; kx: "cx.kx"; ky: "cx.ky"; kz: "cx.kz"; la: "cx.la"; lb: "cx.lb"; lc: "cx.lc"; ld: "cx.ld"; le: "cx.le"; lf: "cx.lf"; lg: "cx.lg"; lh: "cx.lh"; li: "cx.li"; lj: "cx.lj"; lk: "cx.lk"; ll: "cx.ll"; lm: "cx.lm"; ln: "cx.ln"; lo: "cx.lo"; lp: "cx.lp"; lq: "cx.lq"; lr: "cx.lr"; ls: "cx.ls"; lt: "cx.lt"; lu: "cx.lu"; lv: "cx.lv"; lw: "cx.lw"; lx: "cx.lx"; ly: "cx.ly"; lz: "cx.lz"; ma: "cx.ma"; mb: "cx.mb"; mc: "cx.mc"; md: "cx.md"; me: "cx.me"; mf: "cx.mf"; mg: "cx.mg"; mh: "cx.mh"; mi: "cx.mi"; mj: "cx.mj"; mk: "cx.mk"; ml: "cx.ml"; mm: "cx.mm"; mn: "cx.mn"; mo: "cx.mo"; mp: "cx.mp"; mq: "cx.mq"; mr: "cx.mr"; ms: "cx.ms"; mt: "cx.mt"; mu: "cx.mu"; mv: "cx.mv"; mw: "cx.mw"; mx: "cx.mx"; my: "cx.my"; mz: "cx.mz"; na: "cx.na"; nb: "cx.nb"; nc: "cx.nc"; nd: "cx.nd"; ne: "cx.ne"; nf: "cx.nf"; ng: "cx.ng"; nh: "cx.nh"; ni: "cx.ni"; nj: "cx.nj"; nk: "cx.nk"; nl: "cx.nl"; nm: "cx.nm"; nn: "cx.nn"; no: "cx.no"; np: "cx.np"; nq: "cx.nq"; nr: "cx.nr"; ns: "cx.ns"; nt: "cx.nt"; nu: "cx.nu"; nv: "cx.nv"; nw: "cx.nw"; nx: "cx.nx"; ny: "cx.ny"; nz: "cx.nz"; oa: "cx.oa"; ob: "cx.ob"; oc: "cx.oc"; od: "cx.od"; oe: "cx.oe"; of: "cx.of"; og: "cx.og"; oh: "cx.oh"; oi: "cx.oi"; oj: "cx.oj"; ok: "cx.ok"; ol: "cx.ol"; om: "cx.om"; on: "cx.on"; oo: "cx.oo"; op: "cx.op"; oq: "cx.oq"; or: "cx.or"; os: "cx.os"; ot: "cx.ot"; ou: "cx.ou"; ov: "cx.ov"; ow: "cx.ow"; ox: "cx.ox"; oy: "cx.oy"; oz: "cx.oz"; pa: "cx.pa"; pb: "cx.pb"; pc: "cx.pc"; pd: "cx.pd"; pe: "cx.pe"; pf: "cx.pf"; pg: "cx.pg"; ph: "cx.ph"; pi: "cx.pi"; pj: "cx.pj"; pk: "cx.pk"; pl: "cx.pl"; pm: "cx.pm"; pn: "cx.pn"; po: "cx.po"; pp: "cx.pp"; pq: "cx.pq"; pr: "cx.pr"; ps: "cx.ps"; pt: "cx.pt"; pu: "cx.pu"; pv: "cx.pv"; pw: "cx.pw"; px: "cx.px"; py: "cx.py"; pz: "cx.pz"; qa: "cx.qa"; qb: "cx.qb"; qc: "cx.qc"; qd: "cx.qd"; qe: "cx.qe"; qf: "cx.qf"; qg: "cx.qg"; qh: "cx.qh"; qi: "cx.qi"; qj: "cx.qj"; qk: "cx.qk"; ql: "cx.ql"; qm: "cx.qm"; qn: "cx.qn"; qo: "cx.qo"; qp: "cx.qp"; qq: "cx.qq"; qr: "cx.qr"; qs: "cx.qs"; qt: "cx.qt"; qu: "cx.qu"; qv: "cx.qv"; qw: "cx.qw"; qx: "cx.qx"; qy: "cx.qy"; qz: "cx.qz"; ra: "cx.ra"; rb: "cx.rb"; rc: "cx.rc"; rd: "cx.rd"; re: "cx.re"; rf: "cx.rf"; rg: "cx.rg"; rh: "cx.rh"; ri: "cx.ri"; rj: "cx.rj"; rk: "cx.rk"; rl: "cx.rl"; rm: "cx.rm"; rn: "cx.rn"; ro: "cx.ro"; rp: "cx.rp"; rq: "cx.rq"; rr: "cx.rr"; rs: "cx.rs"; rt: "cx.rt"; ru: "cx.ru"; rv: "cx.rv"; rw: "cx.rw"; rx: "cx.rx"; ry: "cx.ry"; rz: "cx.rz"; sa: "cx.sa"; sb: "cx.sb"; sc: "cx.sc"; sd: "cx.sd"; se: "cx.se"; sf: "cx.sf"; sg: "cx.sg"; sh: "cx.sh"; si: "cx.si"; sj: "cx.sj"; sk: "cx.sk"; sl: "cx.sl"; sm: "cx.sm"; sn: "cx.sn"; so: "cx.so"; sp: "cx.sp"; sq: "cx.sq"; sr: "cx.sr"; ss: "cx.ss"; st: "cx.st"; su: "cx.su"; sv: "cx.sv"; sw: "cx.sw"; sx: "cx.sx"; sy: "cx.sy"; sz: "cx.sz"; ta: "cx.ta"; tb: "cx.tb"; tc: "cx.tc"; td: "cx.td"; te: "cx.te"; tf: "cx.tf"; tg: "cx.tg"; th: "cx.th"; ti: "cx.ti"; tj: "cx.tj"; tk: "cx.tk"; tl: "cx.tl"; tm: "cx.tm"; tn: "cx.tn"; to: "cx.to"; tp: "cx.tp"; tq: "cx.tq"; tr: "cx.tr"; ts: "cx.ts"; tt: "cx.tt"; tu: "cx.tu"; tv: "cx.tv"; tw: "cx.tw"; tx: "cx.tx"; ty: "cx.ty"; tz: "cx.tz"; ua: "cx.ua"; ub: "cx.ub"; uc: "cx.uc"; ud: "cx.ud"; ue: "cx.ue"; uf: "cx.uf"; ug: "cx.ug"; uh: "cx.uh"; ui: "cx.ui"; uj: "cx.uj"; uk: "cx.uk"; ul: "cx.ul"; um: "cx.um"; un: "cx.un"; uo: "cx.uo"; up: "cx.up"; uq: "cx.uq"; ur: "cx.ur"; us: "cx.us"; ut: "cx.ut"; uu: "cx.uu"; uv: "cx.uv"; uw: "cx.uw"; ux: "cx.ux"; uy: "cx.uy"; uz: "cx.uz"; va: "cx.va"; vb: "cx.vb"; vc: "cx.vc"; vd: "cx.vd"; ve: "cx.ve"; vf: "cx.vf"; vg: "cx.vg"; vh: "cx.vh"; vi: "cx.vi"; vj: "cx.vj"; vk: "cx.vk"; vl: "cx.vl"; vm: "cx.vm"; vn: "cx.vn"; vo: "cx.vo"; vp: "cx.vp"; vq: "cx.vq"; vr: "cx.vr"; vs: "cx.vs"; vt: "cx.vt"; vu: "cx.vu"; vv: "cx.vv"; vw: "cx.vw"; vx: "cx.vx"; vy: "cx.vy"; vz: "cx.vz"; wa: "cx.wa"; wb: "cx.wb"; wc: "cx.wc"; wd: "cx.wd"; we: "cx.we"; wf: "cx.wf"; wg: "cx.wg"; wh: "cx.wh"; wi: "cx.wi"; wj: "cx.wj"; wk: "cx.wk"; wl: "cx.wl"; wm: "cx.wm"; wn: "cx.wn"; wo: "cx.wo"; wp: "cx.wp"; wq: "cx.wq"; wr: "cx.wr"; ws: "cx.ws"; wt: "cx.wt"; wu: "cx.wu"; wv: "cx.wv"; ww: "cx.ww"; wx: "cx.wx"; wy: "cx.wy"; wz: "cx.wz"; xa: "cx.xa"; xb: "cx.xb"; xc: "cx.xc"; xd: "cx.xd"; xe: "cx.xe"; xf: "cx.xf"; xg: "cx.xg"; xh: "cx.xh"; xi: "cx.xi"; xj: "cx.xj"; xk: "cx.xk"; xl: "cx.xl"; xm: "cx.xm"; xn: "cx.xn"; xo: "cx.xo"; xp: "cx.xp"; xq: "cx.xq"; xr: "cx.xr"; xs: "cx.xs"; xt: "cx.xt"; xu: "cx.xu"; xv: "cx.xv"; xw: "cx.xw"; xx: "cx.xx"; xy: "cx.xy"; xz: "cx.xz"; ya: "cx.ya"; yb: "cx.yb"; yc: "cx.yc"; yd: "cx.yd"; ye: "cx.ye"; yf: "cx.yf"; yg: "cx.yg"; yh: "cx.yh"; yi: "cx.yi"; yj: "cx.yj"; yk: "cx.yk"; yl: "cx.yl"; ym: "cx.ym"; yn: "cx.yn"; yo: "cx.yo"; yp: "cx.yp"; yq: "cx.yq"; yr: "cx.yr"; ys: "cx.ys"; yt: "cx.yt"; yu: "cx.yu"; yv: "cx.yv"; yw: "cx.yw"; yx: "cx.yx"; yy: "cx.yy"; yz: "cx.yz"; za: "cx.za"; zb: "cx.zb"; zc: "cx.zc"; zd: "cx.zd"; ze: "cx.ze"; zf: "cx.zf"; zg: "cx.zg"; zh: "cx.zh"; zi: "cx.zi"; zj: "cx.zj"; zk: "cx.zk"; zl: "cx.zl"; zm: "cx.zm"; zn: "cx.zn"; zo: "cx.zo"; zp: "cx.zp"; zq: "cx.zq"; zr: "cx.zr"; zs: "cx.zs"; zt: "cx.zt"; zu: "cx.zu"; zv: "cx.zv"; zw: "cx.zw"; zx: "cx.zx"; zy: "cx.zy"; zz: "cx.zz"; }; cy: { aa: "cy.aa"; ab: "cy.ab"; ac: "cy.ac"; ad: "cy.ad"; ae: "cy.ae"; af: "cy.af"; ag: "cy.ag"; ah: "cy.ah"; ai: "cy.ai"; aj: "cy.aj"; ak: "cy.ak"; al: "cy.al"; am: "cy.am"; an: "cy.an"; ao: "cy.ao"; ap: "cy.ap"; aq: "cy.aq"; ar: "cy.ar"; as: "cy.as"; at: "cy.at"; au: "cy.au"; av: "cy.av"; aw: "cy.aw"; ax: "cy.ax"; ay: "cy.ay"; az: "cy.az"; ba: "cy.ba"; bb: "cy.bb"; bc: "cy.bc"; bd: "cy.bd"; be: "cy.be"; bf: "cy.bf"; bg: "cy.bg"; bh: "cy.bh"; bi: "cy.bi"; bj: "cy.bj"; bk: "cy.bk"; bl: "cy.bl"; bm: "cy.bm"; bn: "cy.bn"; bo: "cy.bo"; bp: "cy.bp"; bq: "cy.bq"; br: "cy.br"; bs: "cy.bs"; bt: "cy.bt"; bu: "cy.bu"; bv: "cy.bv"; bw: "cy.bw"; bx: "cy.bx"; by: "cy.by"; bz: "cy.bz"; ca: "cy.ca"; cb: "cy.cb"; cc: "cy.cc"; cd: "cy.cd"; ce: "cy.ce"; cf: "cy.cf"; cg: "cy.cg"; ch: "cy.ch"; ci: "cy.ci"; cj: "cy.cj"; ck: "cy.ck"; cl: "cy.cl"; cm: "cy.cm"; cn: "cy.cn"; co: "cy.co"; cp: "cy.cp"; cq: "cy.cq"; cr: "cy.cr"; cs: "cy.cs"; ct: "cy.ct"; cu: "cy.cu"; cv: "cy.cv"; cw: "cy.cw"; cx: "cy.cx"; cy: "cy.cy"; cz: "cy.cz"; da: "cy.da"; db: "cy.db"; dc: "cy.dc"; dd: "cy.dd"; de: "cy.de"; df: "cy.df"; dg: "cy.dg"; dh: "cy.dh"; di: "cy.di"; dj: "cy.dj"; dk: "cy.dk"; dl: "cy.dl"; dm: "cy.dm"; dn: "cy.dn"; do: "cy.do"; dp: "cy.dp"; dq: "cy.dq"; dr: "cy.dr"; ds: "cy.ds"; dt: "cy.dt"; du: "cy.du"; dv: "cy.dv"; dw: "cy.dw"; dx: "cy.dx"; dy: "cy.dy"; dz: "cy.dz"; ea: "cy.ea"; eb: "cy.eb"; ec: "cy.ec"; ed: "cy.ed"; ee: "cy.ee"; ef: "cy.ef"; eg: "cy.eg"; eh: "cy.eh"; ei: "cy.ei"; ej: "cy.ej"; ek: "cy.ek"; el: "cy.el"; em: "cy.em"; en: "cy.en"; eo: "cy.eo"; ep: "cy.ep"; eq: "cy.eq"; er: "cy.er"; es: "cy.es"; et: "cy.et"; eu: "cy.eu"; ev: "cy.ev"; ew: "cy.ew"; ex: "cy.ex"; ey: "cy.ey"; ez: "cy.ez"; fa: "cy.fa"; fb: "cy.fb"; fc: "cy.fc"; fd: "cy.fd"; fe: "cy.fe"; ff: "cy.ff"; fg: "cy.fg"; fh: "cy.fh"; fi: "cy.fi"; fj: "cy.fj"; fk: "cy.fk"; fl: "cy.fl"; fm: "cy.fm"; fn: "cy.fn"; fo: "cy.fo"; fp: "cy.fp"; fq: "cy.fq"; fr: "cy.fr"; fs: "cy.fs"; ft: "cy.ft"; fu: "cy.fu"; fv: "cy.fv"; fw: "cy.fw"; fx: "cy.fx"; fy: "cy.fy"; fz: "cy.fz"; ga: "cy.ga"; gb: "cy.gb"; gc: "cy.gc"; gd: "cy.gd"; ge: "cy.ge"; gf: "cy.gf"; gg: "cy.gg"; gh: "cy.gh"; gi: "cy.gi"; gj: "cy.gj"; gk: "cy.gk"; gl: "cy.gl"; gm: "cy.gm"; gn: "cy.gn"; go: "cy.go"; gp: "cy.gp"; gq: "cy.gq"; gr: "cy.gr"; gs: "cy.gs"; gt: "cy.gt"; gu: "cy.gu"; gv: "cy.gv"; gw: "cy.gw"; gx: "cy.gx"; gy: "cy.gy"; gz: "cy.gz"; ha: "cy.ha"; hb: "cy.hb"; hc: "cy.hc"; hd: "cy.hd"; he: "cy.he"; hf: "cy.hf"; hg: "cy.hg"; hh: "cy.hh"; hi: "cy.hi"; hj: "cy.hj"; hk: "cy.hk"; hl: "cy.hl"; hm: "cy.hm"; hn: "cy.hn"; ho: "cy.ho"; hp: "cy.hp"; hq: "cy.hq"; hr: "cy.hr"; hs: "cy.hs"; ht: "cy.ht"; hu: "cy.hu"; hv: "cy.hv"; hw: "cy.hw"; hx: "cy.hx"; hy: "cy.hy"; hz: "cy.hz"; ia: "cy.ia"; ib: "cy.ib"; ic: "cy.ic"; id: "cy.id"; ie: "cy.ie"; if: "cy.if"; ig: "cy.ig"; ih: "cy.ih"; ii: "cy.ii"; ij: "cy.ij"; ik: "cy.ik"; il: "cy.il"; im: "cy.im"; in: "cy.in"; io: "cy.io"; ip: "cy.ip"; iq: "cy.iq"; ir: "cy.ir"; is: "cy.is"; it: "cy.it"; iu: "cy.iu"; iv: "cy.iv"; iw: "cy.iw"; ix: "cy.ix"; iy: "cy.iy"; iz: "cy.iz"; ja: "cy.ja"; jb: "cy.jb"; jc: "cy.jc"; jd: "cy.jd"; je: "cy.je"; jf: "cy.jf"; jg: "cy.jg"; jh: "cy.jh"; ji: "cy.ji"; jj: "cy.jj"; jk: "cy.jk"; jl: "cy.jl"; jm: "cy.jm"; jn: "cy.jn"; jo: "cy.jo"; jp: "cy.jp"; jq: "cy.jq"; jr: "cy.jr"; js: "cy.js"; jt: "cy.jt"; ju: "cy.ju"; jv: "cy.jv"; jw: "cy.jw"; jx: "cy.jx"; jy: "cy.jy"; jz: "cy.jz"; ka: "cy.ka"; kb: "cy.kb"; kc: "cy.kc"; kd: "cy.kd"; ke: "cy.ke"; kf: "cy.kf"; kg: "cy.kg"; kh: "cy.kh"; ki: "cy.ki"; kj: "cy.kj"; kk: "cy.kk"; kl: "cy.kl"; km: "cy.km"; kn: "cy.kn"; ko: "cy.ko"; kp: "cy.kp"; kq: "cy.kq"; kr: "cy.kr"; ks: "cy.ks"; kt: "cy.kt"; ku: "cy.ku"; kv: "cy.kv"; kw: "cy.kw"; kx: "cy.kx"; ky: "cy.ky"; kz: "cy.kz"; la: "cy.la"; lb: "cy.lb"; lc: "cy.lc"; ld: "cy.ld"; le: "cy.le"; lf: "cy.lf"; lg: "cy.lg"; lh: "cy.lh"; li: "cy.li"; lj: "cy.lj"; lk: "cy.lk"; ll: "cy.ll"; lm: "cy.lm"; ln: "cy.ln"; lo: "cy.lo"; lp: "cy.lp"; lq: "cy.lq"; lr: "cy.lr"; ls: "cy.ls"; lt: "cy.lt"; lu: "cy.lu"; lv: "cy.lv"; lw: "cy.lw"; lx: "cy.lx"; ly: "cy.ly"; lz: "cy.lz"; ma: "cy.ma"; mb: "cy.mb"; mc: "cy.mc"; md: "cy.md"; me: "cy.me"; mf: "cy.mf"; mg: "cy.mg"; mh: "cy.mh"; mi: "cy.mi"; mj: "cy.mj"; mk: "cy.mk"; ml: "cy.ml"; mm: "cy.mm"; mn: "cy.mn"; mo: "cy.mo"; mp: "cy.mp"; mq: "cy.mq"; mr: "cy.mr"; ms: "cy.ms"; mt: "cy.mt"; mu: "cy.mu"; mv: "cy.mv"; mw: "cy.mw"; mx: "cy.mx"; my: "cy.my"; mz: "cy.mz"; na: "cy.na"; nb: "cy.nb"; nc: "cy.nc"; nd: "cy.nd"; ne: "cy.ne"; nf: "cy.nf"; ng: "cy.ng"; nh: "cy.nh"; ni: "cy.ni"; nj: "cy.nj"; nk: "cy.nk"; nl: "cy.nl"; nm: "cy.nm"; nn: "cy.nn"; no: "cy.no"; np: "cy.np"; nq: "cy.nq"; nr: "cy.nr"; ns: "cy.ns"; nt: "cy.nt"; nu: "cy.nu"; nv: "cy.nv"; nw: "cy.nw"; nx: "cy.nx"; ny: "cy.ny"; nz: "cy.nz"; oa: "cy.oa"; ob: "cy.ob"; oc: "cy.oc"; od: "cy.od"; oe: "cy.oe"; of: "cy.of"; og: "cy.og"; oh: "cy.oh"; oi: "cy.oi"; oj: "cy.oj"; ok: "cy.ok"; ol: "cy.ol"; om: "cy.om"; on: "cy.on"; oo: "cy.oo"; op: "cy.op"; oq: "cy.oq"; or: "cy.or"; os: "cy.os"; ot: "cy.ot"; ou: "cy.ou"; ov: "cy.ov"; ow: "cy.ow"; ox: "cy.ox"; oy: "cy.oy"; oz: "cy.oz"; pa: "cy.pa"; pb: "cy.pb"; pc: "cy.pc"; pd: "cy.pd"; pe: "cy.pe"; pf: "cy.pf"; pg: "cy.pg"; ph: "cy.ph"; pi: "cy.pi"; pj: "cy.pj"; pk: "cy.pk"; pl: "cy.pl"; pm: "cy.pm"; pn: "cy.pn"; po: "cy.po"; pp: "cy.pp"; pq: "cy.pq"; pr: "cy.pr"; ps: "cy.ps"; pt: "cy.pt"; pu: "cy.pu"; pv: "cy.pv"; pw: "cy.pw"; px: "cy.px"; py: "cy.py"; pz: "cy.pz"; qa: "cy.qa"; qb: "cy.qb"; qc: "cy.qc"; qd: "cy.qd"; qe: "cy.qe"; qf: "cy.qf"; qg: "cy.qg"; qh: "cy.qh"; qi: "cy.qi"; qj: "cy.qj"; qk: "cy.qk"; ql: "cy.ql"; qm: "cy.qm"; qn: "cy.qn"; qo: "cy.qo"; qp: "cy.qp"; qq: "cy.qq"; qr: "cy.qr"; qs: "cy.qs"; qt: "cy.qt"; qu: "cy.qu"; qv: "cy.qv"; qw: "cy.qw"; qx: "cy.qx"; qy: "cy.qy"; qz: "cy.qz"; ra: "cy.ra"; rb: "cy.rb"; rc: "cy.rc"; rd: "cy.rd"; re: "cy.re"; rf: "cy.rf"; rg: "cy.rg"; rh: "cy.rh"; ri: "cy.ri"; rj: "cy.rj"; rk: "cy.rk"; rl: "cy.rl"; rm: "cy.rm"; rn: "cy.rn"; ro: "cy.ro"; rp: "cy.rp"; rq: "cy.rq"; rr: "cy.rr"; rs: "cy.rs"; rt: "cy.rt"; ru: "cy.ru"; rv: "cy.rv"; rw: "cy.rw"; rx: "cy.rx"; ry: "cy.ry"; rz: "cy.rz"; sa: "cy.sa"; sb: "cy.sb"; sc: "cy.sc"; sd: "cy.sd"; se: "cy.se"; sf: "cy.sf"; sg: "cy.sg"; sh: "cy.sh"; si: "cy.si"; sj: "cy.sj"; sk: "cy.sk"; sl: "cy.sl"; sm: "cy.sm"; sn: "cy.sn"; so: "cy.so"; sp: "cy.sp"; sq: "cy.sq"; sr: "cy.sr"; ss: "cy.ss"; st: "cy.st"; su: "cy.su"; sv: "cy.sv"; sw: "cy.sw"; sx: "cy.sx"; sy: "cy.sy"; sz: "cy.sz"; ta: "cy.ta"; tb: "cy.tb"; tc: "cy.tc"; td: "cy.td"; te: "cy.te"; tf: "cy.tf"; tg: "cy.tg"; th: "cy.th"; ti: "cy.ti"; tj: "cy.tj"; tk: "cy.tk"; tl: "cy.tl"; tm: "cy.tm"; tn: "cy.tn"; to: "cy.to"; tp: "cy.tp"; tq: "cy.tq"; tr: "cy.tr"; ts: "cy.ts"; tt: "cy.tt"; tu: "cy.tu"; tv: "cy.tv"; tw: "cy.tw"; tx: "cy.tx"; ty: "cy.ty"; tz: "cy.tz"; ua: "cy.ua"; ub: "cy.ub"; uc: "cy.uc"; ud: "cy.ud"; ue: "cy.ue"; uf: "cy.uf"; ug: "cy.ug"; uh: "cy.uh"; ui: "cy.ui"; uj: "cy.uj"; uk: "cy.uk"; ul: "cy.ul"; um: "cy.um"; un: "cy.un"; uo: "cy.uo"; up: "cy.up"; uq: "cy.uq"; ur: "cy.ur"; us: "cy.us"; ut: "cy.ut"; uu: "cy.uu"; uv: "cy.uv"; uw: "cy.uw"; ux: "cy.ux"; uy: "cy.uy"; uz: "cy.uz"; va: "cy.va"; vb: "cy.vb"; vc: "cy.vc"; vd: "cy.vd"; ve: "cy.ve"; vf: "cy.vf"; vg: "cy.vg"; vh: "cy.vh"; vi: "cy.vi"; vj: "cy.vj"; vk: "cy.vk"; vl: "cy.vl"; vm: "cy.vm"; vn: "cy.vn"; vo: "cy.vo"; vp: "cy.vp"; vq: "cy.vq"; vr: "cy.vr"; vs: "cy.vs"; vt: "cy.vt"; vu: "cy.vu"; vv: "cy.vv"; vw: "cy.vw"; vx: "cy.vx"; vy: "cy.vy"; vz: "cy.vz"; wa: "cy.wa"; wb: "cy.wb"; wc: "cy.wc"; wd: "cy.wd"; we: "cy.we"; wf: "cy.wf"; wg: "cy.wg"; wh: "cy.wh"; wi: "cy.wi"; wj: "cy.wj"; wk: "cy.wk"; wl: "cy.wl"; wm: "cy.wm"; wn: "cy.wn"; wo: "cy.wo"; wp: "cy.wp"; wq: "cy.wq"; wr: "cy.wr"; ws: "cy.ws"; wt: "cy.wt"; wu: "cy.wu"; wv: "cy.wv"; ww: "cy.ww"; wx: "cy.wx"; wy: "cy.wy"; wz: "cy.wz"; xa: "cy.xa"; xb: "cy.xb"; xc: "cy.xc"; xd: "cy.xd"; xe: "cy.xe"; xf: "cy.xf"; xg: "cy.xg"; xh: "cy.xh"; xi: "cy.xi"; xj: "cy.xj"; xk: "cy.xk"; xl: "cy.xl"; xm: "cy.xm"; xn: "cy.xn"; xo: "cy.xo"; xp: "cy.xp"; xq: "cy.xq"; xr: "cy.xr"; xs: "cy.xs"; xt: "cy.xt"; xu: "cy.xu"; xv: "cy.xv"; xw: "cy.xw"; xx: "cy.xx"; xy: "cy.xy"; xz: "cy.xz"; ya: "cy.ya"; yb: "cy.yb"; yc: "cy.yc"; yd: "cy.yd"; ye: "cy.ye"; yf: "cy.yf"; yg: "cy.yg"; yh: "cy.yh"; yi: "cy.yi"; yj: "cy.yj"; yk: "cy.yk"; yl: "cy.yl"; ym: "cy.ym"; yn: "cy.yn"; yo: "cy.yo"; yp: "cy.yp"; yq: "cy.yq"; yr: "cy.yr"; ys: "cy.ys"; yt: "cy.yt"; yu: "cy.yu"; yv: "cy.yv"; yw: "cy.yw"; yx: "cy.yx"; yy: "cy.yy"; yz: "cy.yz"; za: "cy.za"; zb: "cy.zb"; zc: "cy.zc"; zd: "cy.zd"; ze: "cy.ze"; zf: "cy.zf"; zg: "cy.zg"; zh: "cy.zh"; zi: "cy.zi"; zj: "cy.zj"; zk: "cy.zk"; zl: "cy.zl"; zm: "cy.zm"; zn: "cy.zn"; zo: "cy.zo"; zp: "cy.zp"; zq: "cy.zq"; zr: "cy.zr"; zs: "cy.zs"; zt: "cy.zt"; zu: "cy.zu"; zv: "cy.zv"; zw: "cy.zw"; zx: "cy.zx"; zy: "cy.zy"; zz: "cy.zz"; }; cz: { aa: "cz.aa"; ab: "cz.ab"; ac: "cz.ac"; ad: "cz.ad"; ae: "cz.ae"; af: "cz.af"; ag: "cz.ag"; ah: "cz.ah"; ai: "cz.ai"; aj: "cz.aj"; ak: "cz.ak"; al: "cz.al"; am: "cz.am"; an: "cz.an"; ao: "cz.ao"; ap: "cz.ap"; aq: "cz.aq"; ar: "cz.ar"; as: "cz.as"; at: "cz.at"; au: "cz.au"; av: "cz.av"; aw: "cz.aw"; ax: "cz.ax"; ay: "cz.ay"; az: "cz.az"; ba: "cz.ba"; bb: "cz.bb"; bc: "cz.bc"; bd: "cz.bd"; be: "cz.be"; bf: "cz.bf"; bg: "cz.bg"; bh: "cz.bh"; bi: "cz.bi"; bj: "cz.bj"; bk: "cz.bk"; bl: "cz.bl"; bm: "cz.bm"; bn: "cz.bn"; bo: "cz.bo"; bp: "cz.bp"; bq: "cz.bq"; br: "cz.br"; bs: "cz.bs"; bt: "cz.bt"; bu: "cz.bu"; bv: "cz.bv"; bw: "cz.bw"; bx: "cz.bx"; by: "cz.by"; bz: "cz.bz"; ca: "cz.ca"; cb: "cz.cb"; cc: "cz.cc"; cd: "cz.cd"; ce: "cz.ce"; cf: "cz.cf"; cg: "cz.cg"; ch: "cz.ch"; ci: "cz.ci"; cj: "cz.cj"; ck: "cz.ck"; cl: "cz.cl"; cm: "cz.cm"; cn: "cz.cn"; co: "cz.co"; cp: "cz.cp"; cq: "cz.cq"; cr: "cz.cr"; cs: "cz.cs"; ct: "cz.ct"; cu: "cz.cu"; cv: "cz.cv"; cw: "cz.cw"; cx: "cz.cx"; cy: "cz.cy"; cz: "cz.cz"; da: "cz.da"; db: "cz.db"; dc: "cz.dc"; dd: "cz.dd"; de: "cz.de"; df: "cz.df"; dg: "cz.dg"; dh: "cz.dh"; di: "cz.di"; dj: "cz.dj"; dk: "cz.dk"; dl: "cz.dl"; dm: "cz.dm"; dn: "cz.dn"; do: "cz.do"; dp: "cz.dp"; dq: "cz.dq"; dr: "cz.dr"; ds: "cz.ds"; dt: "cz.dt"; du: "cz.du"; dv: "cz.dv"; dw: "cz.dw"; dx: "cz.dx"; dy: "cz.dy"; dz: "cz.dz"; ea: "cz.ea"; eb: "cz.eb"; ec: "cz.ec"; ed: "cz.ed"; ee: "cz.ee"; ef: "cz.ef"; eg: "cz.eg"; eh: "cz.eh"; ei: "cz.ei"; ej: "cz.ej"; ek: "cz.ek"; el: "cz.el"; em: "cz.em"; en: "cz.en"; eo: "cz.eo"; ep: "cz.ep"; eq: "cz.eq"; er: "cz.er"; es: "cz.es"; et: "cz.et"; eu: "cz.eu"; ev: "cz.ev"; ew: "cz.ew"; ex: "cz.ex"; ey: "cz.ey"; ez: "cz.ez"; fa: "cz.fa"; fb: "cz.fb"; fc: "cz.fc"; fd: "cz.fd"; fe: "cz.fe"; ff: "cz.ff"; fg: "cz.fg"; fh: "cz.fh"; fi: "cz.fi"; fj: "cz.fj"; fk: "cz.fk"; fl: "cz.fl"; fm: "cz.fm"; fn: "cz.fn"; fo: "cz.fo"; fp: "cz.fp"; fq: "cz.fq"; fr: "cz.fr"; fs: "cz.fs"; ft: "cz.ft"; fu: "cz.fu"; fv: "cz.fv"; fw: "cz.fw"; fx: "cz.fx"; fy: "cz.fy"; fz: "cz.fz"; ga: "cz.ga"; gb: "cz.gb"; gc: "cz.gc"; gd: "cz.gd"; ge: "cz.ge"; gf: "cz.gf"; gg: "cz.gg"; gh: "cz.gh"; gi: "cz.gi"; gj: "cz.gj"; gk: "cz.gk"; gl: "cz.gl"; gm: "cz.gm"; gn: "cz.gn"; go: "cz.go"; gp: "cz.gp"; gq: "cz.gq"; gr: "cz.gr"; gs: "cz.gs"; gt: "cz.gt"; gu: "cz.gu"; gv: "cz.gv"; gw: "cz.gw"; gx: "cz.gx"; gy: "cz.gy"; gz: "cz.gz"; ha: "cz.ha"; hb: "cz.hb"; hc: "cz.hc"; hd: "cz.hd"; he: "cz.he"; hf: "cz.hf"; hg: "cz.hg"; hh: "cz.hh"; hi: "cz.hi"; hj: "cz.hj"; hk: "cz.hk"; hl: "cz.hl"; hm: "cz.hm"; hn: "cz.hn"; ho: "cz.ho"; hp: "cz.hp"; hq: "cz.hq"; hr: "cz.hr"; hs: "cz.hs"; ht: "cz.ht"; hu: "cz.hu"; hv: "cz.hv"; hw: "cz.hw"; hx: "cz.hx"; hy: "cz.hy"; hz: "cz.hz"; ia: "cz.ia"; ib: "cz.ib"; ic: "cz.ic"; id: "cz.id"; ie: "cz.ie"; if: "cz.if"; ig: "cz.ig"; ih: "cz.ih"; ii: "cz.ii"; ij: "cz.ij"; ik: "cz.ik"; il: "cz.il"; im: "cz.im"; in: "cz.in"; io: "cz.io"; ip: "cz.ip"; iq: "cz.iq"; ir: "cz.ir"; is: "cz.is"; it: "cz.it"; iu: "cz.iu"; iv: "cz.iv"; iw: "cz.iw"; ix: "cz.ix"; iy: "cz.iy"; iz: "cz.iz"; ja: "cz.ja"; jb: "cz.jb"; jc: "cz.jc"; jd: "cz.jd"; je: "cz.je"; jf: "cz.jf"; jg: "cz.jg"; jh: "cz.jh"; ji: "cz.ji"; jj: "cz.jj"; jk: "cz.jk"; jl: "cz.jl"; jm: "cz.jm"; jn: "cz.jn"; jo: "cz.jo"; jp: "cz.jp"; jq: "cz.jq"; jr: "cz.jr"; js: "cz.js"; jt: "cz.jt"; ju: "cz.ju"; jv: "cz.jv"; jw: "cz.jw"; jx: "cz.jx"; jy: "cz.jy"; jz: "cz.jz"; ka: "cz.ka"; kb: "cz.kb"; kc: "cz.kc"; kd: "cz.kd"; ke: "cz.ke"; kf: "cz.kf"; kg: "cz.kg"; kh: "cz.kh"; ki: "cz.ki"; kj: "cz.kj"; kk: "cz.kk"; kl: "cz.kl"; km: "cz.km"; kn: "cz.kn"; ko: "cz.ko"; kp: "cz.kp"; kq: "cz.kq"; kr: "cz.kr"; ks: "cz.ks"; kt: "cz.kt"; ku: "cz.ku"; kv: "cz.kv"; kw: "cz.kw"; kx: "cz.kx"; ky: "cz.ky"; kz: "cz.kz"; la: "cz.la"; lb: "cz.lb"; lc: "cz.lc"; ld: "cz.ld"; le: "cz.le"; lf: "cz.lf"; lg: "cz.lg"; lh: "cz.lh"; li: "cz.li"; lj: "cz.lj"; lk: "cz.lk"; ll: "cz.ll"; lm: "cz.lm"; ln: "cz.ln"; lo: "cz.lo"; lp: "cz.lp"; lq: "cz.lq"; lr: "cz.lr"; ls: "cz.ls"; lt: "cz.lt"; lu: "cz.lu"; lv: "cz.lv"; lw: "cz.lw"; lx: "cz.lx"; ly: "cz.ly"; lz: "cz.lz"; ma: "cz.ma"; mb: "cz.mb"; mc: "cz.mc"; md: "cz.md"; me: "cz.me"; mf: "cz.mf"; mg: "cz.mg"; mh: "cz.mh"; mi: "cz.mi"; mj: "cz.mj"; mk: "cz.mk"; ml: "cz.ml"; mm: "cz.mm"; mn: "cz.mn"; mo: "cz.mo"; mp: "cz.mp"; mq: "cz.mq"; mr: "cz.mr"; ms: "cz.ms"; mt: "cz.mt"; mu: "cz.mu"; mv: "cz.mv"; mw: "cz.mw"; mx: "cz.mx"; my: "cz.my"; mz: "cz.mz"; na: "cz.na"; nb: "cz.nb"; nc: "cz.nc"; nd: "cz.nd"; ne: "cz.ne"; nf: "cz.nf"; ng: "cz.ng"; nh: "cz.nh"; ni: "cz.ni"; nj: "cz.nj"; nk: "cz.nk"; nl: "cz.nl"; nm: "cz.nm"; nn: "cz.nn"; no: "cz.no"; np: "cz.np"; nq: "cz.nq"; nr: "cz.nr"; ns: "cz.ns"; nt: "cz.nt"; nu: "cz.nu"; nv: "cz.nv"; nw: "cz.nw"; nx: "cz.nx"; ny: "cz.ny"; nz: "cz.nz"; oa: "cz.oa"; ob: "cz.ob"; oc: "cz.oc"; od: "cz.od"; oe: "cz.oe"; of: "cz.of"; og: "cz.og"; oh: "cz.oh"; oi: "cz.oi"; oj: "cz.oj"; ok: "cz.ok"; ol: "cz.ol"; om: "cz.om"; on: "cz.on"; oo: "cz.oo"; op: "cz.op"; oq: "cz.oq"; or: "cz.or"; os: "cz.os"; ot: "cz.ot"; ou: "cz.ou"; ov: "cz.ov"; ow: "cz.ow"; ox: "cz.ox"; oy: "cz.oy"; oz: "cz.oz"; pa: "cz.pa"; pb: "cz.pb"; pc: "cz.pc"; pd: "cz.pd"; pe: "cz.pe"; pf: "cz.pf"; pg: "cz.pg"; ph: "cz.ph"; pi: "cz.pi"; pj: "cz.pj"; pk: "cz.pk"; pl: "cz.pl"; pm: "cz.pm"; pn: "cz.pn"; po: "cz.po"; pp: "cz.pp"; pq: "cz.pq"; pr: "cz.pr"; ps: "cz.ps"; pt: "cz.pt"; pu: "cz.pu"; pv: "cz.pv"; pw: "cz.pw"; px: "cz.px"; py: "cz.py"; pz: "cz.pz"; qa: "cz.qa"; qb: "cz.qb"; qc: "cz.qc"; qd: "cz.qd"; qe: "cz.qe"; qf: "cz.qf"; qg: "cz.qg"; qh: "cz.qh"; qi: "cz.qi"; qj: "cz.qj"; qk: "cz.qk"; ql: "cz.ql"; qm: "cz.qm"; qn: "cz.qn"; qo: "cz.qo"; qp: "cz.qp"; qq: "cz.qq"; qr: "cz.qr"; qs: "cz.qs"; qt: "cz.qt"; qu: "cz.qu"; qv: "cz.qv"; qw: "cz.qw"; qx: "cz.qx"; qy: "cz.qy"; qz: "cz.qz"; ra: "cz.ra"; rb: "cz.rb"; rc: "cz.rc"; rd: "cz.rd"; re: "cz.re"; rf: "cz.rf"; rg: "cz.rg"; rh: "cz.rh"; ri: "cz.ri"; rj: "cz.rj"; rk: "cz.rk"; rl: "cz.rl"; rm: "cz.rm"; rn: "cz.rn"; ro: "cz.ro"; rp: "cz.rp"; rq: "cz.rq"; rr: "cz.rr"; rs: "cz.rs"; rt: "cz.rt"; ru: "cz.ru"; rv: "cz.rv"; rw: "cz.rw"; rx: "cz.rx"; ry: "cz.ry"; rz: "cz.rz"; sa: "cz.sa"; sb: "cz.sb"; sc: "cz.sc"; sd: "cz.sd"; se: "cz.se"; sf: "cz.sf"; sg: "cz.sg"; sh: "cz.sh"; si: "cz.si"; sj: "cz.sj"; sk: "cz.sk"; sl: "cz.sl"; sm: "cz.sm"; sn: "cz.sn"; so: "cz.so"; sp: "cz.sp"; sq: "cz.sq"; sr: "cz.sr"; ss: "cz.ss"; st: "cz.st"; su: "cz.su"; sv: "cz.sv"; sw: "cz.sw"; sx: "cz.sx"; sy: "cz.sy"; sz: "cz.sz"; ta: "cz.ta"; tb: "cz.tb"; tc: "cz.tc"; td: "cz.td"; te: "cz.te"; tf: "cz.tf"; tg: "cz.tg"; th: "cz.th"; ti: "cz.ti"; tj: "cz.tj"; tk: "cz.tk"; tl: "cz.tl"; tm: "cz.tm"; tn: "cz.tn"; to: "cz.to"; tp: "cz.tp"; tq: "cz.tq"; tr: "cz.tr"; ts: "cz.ts"; tt: "cz.tt"; tu: "cz.tu"; tv: "cz.tv"; tw: "cz.tw"; tx: "cz.tx"; ty: "cz.ty"; tz: "cz.tz"; ua: "cz.ua"; ub: "cz.ub"; uc: "cz.uc"; ud: "cz.ud"; ue: "cz.ue"; uf: "cz.uf"; ug: "cz.ug"; uh: "cz.uh"; ui: "cz.ui"; uj: "cz.uj"; uk: "cz.uk"; ul: "cz.ul"; um: "cz.um"; un: "cz.un"; uo: "cz.uo"; up: "cz.up"; uq: "cz.uq"; ur: "cz.ur"; us: "cz.us"; ut: "cz.ut"; uu: "cz.uu"; uv: "cz.uv"; uw: "cz.uw"; ux: "cz.ux"; uy: "cz.uy"; uz: "cz.uz"; va: "cz.va"; vb: "cz.vb"; vc: "cz.vc"; vd: "cz.vd"; ve: "cz.ve"; vf: "cz.vf"; vg: "cz.vg"; vh: "cz.vh"; vi: "cz.vi"; vj: "cz.vj"; vk: "cz.vk"; vl: "cz.vl"; vm: "cz.vm"; vn: "cz.vn"; vo: "cz.vo"; vp: "cz.vp"; vq: "cz.vq"; vr: "cz.vr"; vs: "cz.vs"; vt: "cz.vt"; vu: "cz.vu"; vv: "cz.vv"; vw: "cz.vw"; vx: "cz.vx"; vy: "cz.vy"; vz: "cz.vz"; wa: "cz.wa"; wb: "cz.wb"; wc: "cz.wc"; wd: "cz.wd"; we: "cz.we"; wf: "cz.wf"; wg: "cz.wg"; wh: "cz.wh"; wi: "cz.wi"; wj: "cz.wj"; wk: "cz.wk"; wl: "cz.wl"; wm: "cz.wm"; wn: "cz.wn"; wo: "cz.wo"; wp: "cz.wp"; wq: "cz.wq"; wr: "cz.wr"; ws: "cz.ws"; wt: "cz.wt"; wu: "cz.wu"; wv: "cz.wv"; ww: "cz.ww"; wx: "cz.wx"; wy: "cz.wy"; wz: "cz.wz"; xa: "cz.xa"; xb: "cz.xb"; xc: "cz.xc"; xd: "cz.xd"; xe: "cz.xe"; xf: "cz.xf"; xg: "cz.xg"; xh: "cz.xh"; xi: "cz.xi"; xj: "cz.xj"; xk: "cz.xk"; xl: "cz.xl"; xm: "cz.xm"; xn: "cz.xn"; xo: "cz.xo"; xp: "cz.xp"; xq: "cz.xq"; xr: "cz.xr"; xs: "cz.xs"; xt: "cz.xt"; xu: "cz.xu"; xv: "cz.xv"; xw: "cz.xw"; xx: "cz.xx"; xy: "cz.xy"; xz: "cz.xz"; ya: "cz.ya"; yb: "cz.yb"; yc: "cz.yc"; yd: "cz.yd"; ye: "cz.ye"; yf: "cz.yf"; yg: "cz.yg"; yh: "cz.yh"; yi: "cz.yi"; yj: "cz.yj"; yk: "cz.yk"; yl: "cz.yl"; ym: "cz.ym"; yn: "cz.yn"; yo: "cz.yo"; yp: "cz.yp"; yq: "cz.yq"; yr: "cz.yr"; ys: "cz.ys"; yt: "cz.yt"; yu: "cz.yu"; yv: "cz.yv"; yw: "cz.yw"; yx: "cz.yx"; yy: "cz.yy"; yz: "cz.yz"; za: "cz.za"; zb: "cz.zb"; zc: "cz.zc"; zd: "cz.zd"; ze: "cz.ze"; zf: "cz.zf"; zg: "cz.zg"; zh: "cz.zh"; zi: "cz.zi"; zj: "cz.zj"; zk: "cz.zk"; zl: "cz.zl"; zm: "cz.zm"; zn: "cz.zn"; zo: "cz.zo"; zp: "cz.zp"; zq: "cz.zq"; zr: "cz.zr"; zs: "cz.zs"; zt: "cz.zt"; zu: "cz.zu"; zv: "cz.zv"; zw: "cz.zw"; zx: "cz.zx"; zy: "cz.zy"; zz: "cz.zz"; }; da: { aa: "da.aa"; ab: "da.ab"; ac: "da.ac"; ad: "da.ad"; ae: "da.ae"; af: "da.af"; ag: "da.ag"; ah: "da.ah"; ai: "da.ai"; aj: "da.aj"; ak: "da.ak"; al: "da.al"; am: "da.am"; an: "da.an"; ao: "da.ao"; ap: "da.ap"; aq: "da.aq"; ar: "da.ar"; as: "da.as"; at: "da.at"; au: "da.au"; av: "da.av"; aw: "da.aw"; ax: "da.ax"; ay: "da.ay"; az: "da.az"; ba: "da.ba"; bb: "da.bb"; bc: "da.bc"; bd: "da.bd"; be: "da.be"; bf: "da.bf"; bg: "da.bg"; bh: "da.bh"; bi: "da.bi"; bj: "da.bj"; bk: "da.bk"; bl: "da.bl"; bm: "da.bm"; bn: "da.bn"; bo: "da.bo"; bp: "da.bp"; bq: "da.bq"; br: "da.br"; bs: "da.bs"; bt: "da.bt"; bu: "da.bu"; bv: "da.bv"; bw: "da.bw"; bx: "da.bx"; by: "da.by"; bz: "da.bz"; ca: "da.ca"; cb: "da.cb"; cc: "da.cc"; cd: "da.cd"; ce: "da.ce"; cf: "da.cf"; cg: "da.cg"; ch: "da.ch"; ci: "da.ci"; cj: "da.cj"; ck: "da.ck"; cl: "da.cl"; cm: "da.cm"; cn: "da.cn"; co: "da.co"; cp: "da.cp"; cq: "da.cq"; cr: "da.cr"; cs: "da.cs"; ct: "da.ct"; cu: "da.cu"; cv: "da.cv"; cw: "da.cw"; cx: "da.cx"; cy: "da.cy"; cz: "da.cz"; da: "da.da"; db: "da.db"; dc: "da.dc"; dd: "da.dd"; de: "da.de"; df: "da.df"; dg: "da.dg"; dh: "da.dh"; di: "da.di"; dj: "da.dj"; dk: "da.dk"; dl: "da.dl"; dm: "da.dm"; dn: "da.dn"; do: "da.do"; dp: "da.dp"; dq: "da.dq"; dr: "da.dr"; ds: "da.ds"; dt: "da.dt"; du: "da.du"; dv: "da.dv"; dw: "da.dw"; dx: "da.dx"; dy: "da.dy"; dz: "da.dz"; ea: "da.ea"; eb: "da.eb"; ec: "da.ec"; ed: "da.ed"; ee: "da.ee"; ef: "da.ef"; eg: "da.eg"; eh: "da.eh"; ei: "da.ei"; ej: "da.ej"; ek: "da.ek"; el: "da.el"; em: "da.em"; en: "da.en"; eo: "da.eo"; ep: "da.ep"; eq: "da.eq"; er: "da.er"; es: "da.es"; et: "da.et"; eu: "da.eu"; ev: "da.ev"; ew: "da.ew"; ex: "da.ex"; ey: "da.ey"; ez: "da.ez"; fa: "da.fa"; fb: "da.fb"; fc: "da.fc"; fd: "da.fd"; fe: "da.fe"; ff: "da.ff"; fg: "da.fg"; fh: "da.fh"; fi: "da.fi"; fj: "da.fj"; fk: "da.fk"; fl: "da.fl"; fm: "da.fm"; fn: "da.fn"; fo: "da.fo"; fp: "da.fp"; fq: "da.fq"; fr: "da.fr"; fs: "da.fs"; ft: "da.ft"; fu: "da.fu"; fv: "da.fv"; fw: "da.fw"; fx: "da.fx"; fy: "da.fy"; fz: "da.fz"; ga: "da.ga"; gb: "da.gb"; gc: "da.gc"; gd: "da.gd"; ge: "da.ge"; gf: "da.gf"; gg: "da.gg"; gh: "da.gh"; gi: "da.gi"; gj: "da.gj"; gk: "da.gk"; gl: "da.gl"; gm: "da.gm"; gn: "da.gn"; go: "da.go"; gp: "da.gp"; gq: "da.gq"; gr: "da.gr"; gs: "da.gs"; gt: "da.gt"; gu: "da.gu"; gv: "da.gv"; gw: "da.gw"; gx: "da.gx"; gy: "da.gy"; gz: "da.gz"; ha: "da.ha"; hb: "da.hb"; hc: "da.hc"; hd: "da.hd"; he: "da.he"; hf: "da.hf"; hg: "da.hg"; hh: "da.hh"; hi: "da.hi"; hj: "da.hj"; hk: "da.hk"; hl: "da.hl"; hm: "da.hm"; hn: "da.hn"; ho: "da.ho"; hp: "da.hp"; hq: "da.hq"; hr: "da.hr"; hs: "da.hs"; ht: "da.ht"; hu: "da.hu"; hv: "da.hv"; hw: "da.hw"; hx: "da.hx"; hy: "da.hy"; hz: "da.hz"; ia: "da.ia"; ib: "da.ib"; ic: "da.ic"; id: "da.id"; ie: "da.ie"; if: "da.if"; ig: "da.ig"; ih: "da.ih"; ii: "da.ii"; ij: "da.ij"; ik: "da.ik"; il: "da.il"; im: "da.im"; in: "da.in"; io: "da.io"; ip: "da.ip"; iq: "da.iq"; ir: "da.ir"; is: "da.is"; it: "da.it"; iu: "da.iu"; iv: "da.iv"; iw: "da.iw"; ix: "da.ix"; iy: "da.iy"; iz: "da.iz"; ja: "da.ja"; jb: "da.jb"; jc: "da.jc"; jd: "da.jd"; je: "da.je"; jf: "da.jf"; jg: "da.jg"; jh: "da.jh"; ji: "da.ji"; jj: "da.jj"; jk: "da.jk"; jl: "da.jl"; jm: "da.jm"; jn: "da.jn"; jo: "da.jo"; jp: "da.jp"; jq: "da.jq"; jr: "da.jr"; js: "da.js"; jt: "da.jt"; ju: "da.ju"; jv: "da.jv"; jw: "da.jw"; jx: "da.jx"; jy: "da.jy"; jz: "da.jz"; ka: "da.ka"; kb: "da.kb"; kc: "da.kc"; kd: "da.kd"; ke: "da.ke"; kf: "da.kf"; kg: "da.kg"; kh: "da.kh"; ki: "da.ki"; kj: "da.kj"; kk: "da.kk"; kl: "da.kl"; km: "da.km"; kn: "da.kn"; ko: "da.ko"; kp: "da.kp"; kq: "da.kq"; kr: "da.kr"; ks: "da.ks"; kt: "da.kt"; ku: "da.ku"; kv: "da.kv"; kw: "da.kw"; kx: "da.kx"; ky: "da.ky"; kz: "da.kz"; la: "da.la"; lb: "da.lb"; lc: "da.lc"; ld: "da.ld"; le: "da.le"; lf: "da.lf"; lg: "da.lg"; lh: "da.lh"; li: "da.li"; lj: "da.lj"; lk: "da.lk"; ll: "da.ll"; lm: "da.lm"; ln: "da.ln"; lo: "da.lo"; lp: "da.lp"; lq: "da.lq"; lr: "da.lr"; ls: "da.ls"; lt: "da.lt"; lu: "da.lu"; lv: "da.lv"; lw: "da.lw"; lx: "da.lx"; ly: "da.ly"; lz: "da.lz"; ma: "da.ma"; mb: "da.mb"; mc: "da.mc"; md: "da.md"; me: "da.me"; mf: "da.mf"; mg: "da.mg"; mh: "da.mh"; mi: "da.mi"; mj: "da.mj"; mk: "da.mk"; ml: "da.ml"; mm: "da.mm"; mn: "da.mn"; mo: "da.mo"; mp: "da.mp"; mq: "da.mq"; mr: "da.mr"; ms: "da.ms"; mt: "da.mt"; mu: "da.mu"; mv: "da.mv"; mw: "da.mw"; mx: "da.mx"; my: "da.my"; mz: "da.mz"; na: "da.na"; nb: "da.nb"; nc: "da.nc"; nd: "da.nd"; ne: "da.ne"; nf: "da.nf"; ng: "da.ng"; nh: "da.nh"; ni: "da.ni"; nj: "da.nj"; nk: "da.nk"; nl: "da.nl"; nm: "da.nm"; nn: "da.nn"; no: "da.no"; np: "da.np"; nq: "da.nq"; nr: "da.nr"; ns: "da.ns"; nt: "da.nt"; nu: "da.nu"; nv: "da.nv"; nw: "da.nw"; nx: "da.nx"; ny: "da.ny"; nz: "da.nz"; oa: "da.oa"; ob: "da.ob"; oc: "da.oc"; od: "da.od"; oe: "da.oe"; of: "da.of"; og: "da.og"; oh: "da.oh"; oi: "da.oi"; oj: "da.oj"; ok: "da.ok"; ol: "da.ol"; om: "da.om"; on: "da.on"; oo: "da.oo"; op: "da.op"; oq: "da.oq"; or: "da.or"; os: "da.os"; ot: "da.ot"; ou: "da.ou"; ov: "da.ov"; ow: "da.ow"; ox: "da.ox"; oy: "da.oy"; oz: "da.oz"; pa: "da.pa"; pb: "da.pb"; pc: "da.pc"; pd: "da.pd"; pe: "da.pe"; pf: "da.pf"; pg: "da.pg"; ph: "da.ph"; pi: "da.pi"; pj: "da.pj"; pk: "da.pk"; pl: "da.pl"; pm: "da.pm"; pn: "da.pn"; po: "da.po"; pp: "da.pp"; pq: "da.pq"; pr: "da.pr"; ps: "da.ps"; pt: "da.pt"; pu: "da.pu"; pv: "da.pv"; pw: "da.pw"; px: "da.px"; py: "da.py"; pz: "da.pz"; qa: "da.qa"; qb: "da.qb"; qc: "da.qc"; qd: "da.qd"; qe: "da.qe"; qf: "da.qf"; qg: "da.qg"; qh: "da.qh"; qi: "da.qi"; qj: "da.qj"; qk: "da.qk"; ql: "da.ql"; qm: "da.qm"; qn: "da.qn"; qo: "da.qo"; qp: "da.qp"; qq: "da.qq"; qr: "da.qr"; qs: "da.qs"; qt: "da.qt"; qu: "da.qu"; qv: "da.qv"; qw: "da.qw"; qx: "da.qx"; qy: "da.qy"; qz: "da.qz"; ra: "da.ra"; rb: "da.rb"; rc: "da.rc"; rd: "da.rd"; re: "da.re"; rf: "da.rf"; rg: "da.rg"; rh: "da.rh"; ri: "da.ri"; rj: "da.rj"; rk: "da.rk"; rl: "da.rl"; rm: "da.rm"; rn: "da.rn"; ro: "da.ro"; rp: "da.rp"; rq: "da.rq"; rr: "da.rr"; rs: "da.rs"; rt: "da.rt"; ru: "da.ru"; rv: "da.rv"; rw: "da.rw"; rx: "da.rx"; ry: "da.ry"; rz: "da.rz"; sa: "da.sa"; sb: "da.sb"; sc: "da.sc"; sd: "da.sd"; se: "da.se"; sf: "da.sf"; sg: "da.sg"; sh: "da.sh"; si: "da.si"; sj: "da.sj"; sk: "da.sk"; sl: "da.sl"; sm: "da.sm"; sn: "da.sn"; so: "da.so"; sp: "da.sp"; sq: "da.sq"; sr: "da.sr"; ss: "da.ss"; st: "da.st"; su: "da.su"; sv: "da.sv"; sw: "da.sw"; sx: "da.sx"; sy: "da.sy"; sz: "da.sz"; ta: "da.ta"; tb: "da.tb"; tc: "da.tc"; td: "da.td"; te: "da.te"; tf: "da.tf"; tg: "da.tg"; th: "da.th"; ti: "da.ti"; tj: "da.tj"; tk: "da.tk"; tl: "da.tl"; tm: "da.tm"; tn: "da.tn"; to: "da.to"; tp: "da.tp"; tq: "da.tq"; tr: "da.tr"; ts: "da.ts"; tt: "da.tt"; tu: "da.tu"; tv: "da.tv"; tw: "da.tw"; tx: "da.tx"; ty: "da.ty"; tz: "da.tz"; ua: "da.ua"; ub: "da.ub"; uc: "da.uc"; ud: "da.ud"; ue: "da.ue"; uf: "da.uf"; ug: "da.ug"; uh: "da.uh"; ui: "da.ui"; uj: "da.uj"; uk: "da.uk"; ul: "da.ul"; um: "da.um"; un: "da.un"; uo: "da.uo"; up: "da.up"; uq: "da.uq"; ur: "da.ur"; us: "da.us"; ut: "da.ut"; uu: "da.uu"; uv: "da.uv"; uw: "da.uw"; ux: "da.ux"; uy: "da.uy"; uz: "da.uz"; va: "da.va"; vb: "da.vb"; vc: "da.vc"; vd: "da.vd"; ve: "da.ve"; vf: "da.vf"; vg: "da.vg"; vh: "da.vh"; vi: "da.vi"; vj: "da.vj"; vk: "da.vk"; vl: "da.vl"; vm: "da.vm"; vn: "da.vn"; vo: "da.vo"; vp: "da.vp"; vq: "da.vq"; vr: "da.vr"; vs: "da.vs"; vt: "da.vt"; vu: "da.vu"; vv: "da.vv"; vw: "da.vw"; vx: "da.vx"; vy: "da.vy"; vz: "da.vz"; wa: "da.wa"; wb: "da.wb"; wc: "da.wc"; wd: "da.wd"; we: "da.we"; wf: "da.wf"; wg: "da.wg"; wh: "da.wh"; wi: "da.wi"; wj: "da.wj"; wk: "da.wk"; wl: "da.wl"; wm: "da.wm"; wn: "da.wn"; wo: "da.wo"; wp: "da.wp"; wq: "da.wq"; wr: "da.wr"; ws: "da.ws"; wt: "da.wt"; wu: "da.wu"; wv: "da.wv"; ww: "da.ww"; wx: "da.wx"; wy: "da.wy"; wz: "da.wz"; xa: "da.xa"; xb: "da.xb"; xc: "da.xc"; xd: "da.xd"; xe: "da.xe"; xf: "da.xf"; xg: "da.xg"; xh: "da.xh"; xi: "da.xi"; xj: "da.xj"; xk: "da.xk"; xl: "da.xl"; xm: "da.xm"; xn: "da.xn"; xo: "da.xo"; xp: "da.xp"; xq: "da.xq"; xr: "da.xr"; xs: "da.xs"; xt: "da.xt"; xu: "da.xu"; xv: "da.xv"; xw: "da.xw"; xx: "da.xx"; xy: "da.xy"; xz: "da.xz"; ya: "da.ya"; yb: "da.yb"; yc: "da.yc"; yd: "da.yd"; ye: "da.ye"; yf: "da.yf"; yg: "da.yg"; yh: "da.yh"; yi: "da.yi"; yj: "da.yj"; yk: "da.yk"; yl: "da.yl"; ym: "da.ym"; yn: "da.yn"; yo: "da.yo"; yp: "da.yp"; yq: "da.yq"; yr: "da.yr"; ys: "da.ys"; yt: "da.yt"; yu: "da.yu"; yv: "da.yv"; yw: "da.yw"; yx: "da.yx"; yy: "da.yy"; yz: "da.yz"; za: "da.za"; zb: "da.zb"; zc: "da.zc"; zd: "da.zd"; ze: "da.ze"; zf: "da.zf"; zg: "da.zg"; zh: "da.zh"; zi: "da.zi"; zj: "da.zj"; zk: "da.zk"; zl: "da.zl"; zm: "da.zm"; zn: "da.zn"; zo: "da.zo"; zp: "da.zp"; zq: "da.zq"; zr: "da.zr"; zs: "da.zs"; zt: "da.zt"; zu: "da.zu"; zv: "da.zv"; zw: "da.zw"; zx: "da.zx"; zy: "da.zy"; zz: "da.zz"; }; db: { aa: "db.aa"; ab: "db.ab"; ac: "db.ac"; ad: "db.ad"; ae: "db.ae"; af: "db.af"; ag: "db.ag"; ah: "db.ah"; ai: "db.ai"; aj: "db.aj"; ak: "db.ak"; al: "db.al"; am: "db.am"; an: "db.an"; ao: "db.ao"; ap: "db.ap"; aq: "db.aq"; ar: "db.ar"; as: "db.as"; at: "db.at"; au: "db.au"; av: "db.av"; aw: "db.aw"; ax: "db.ax"; ay: "db.ay"; az: "db.az"; ba: "db.ba"; bb: "db.bb"; bc: "db.bc"; bd: "db.bd"; be: "db.be"; bf: "db.bf"; bg: "db.bg"; bh: "db.bh"; bi: "db.bi"; bj: "db.bj"; bk: "db.bk"; bl: "db.bl"; bm: "db.bm"; bn: "db.bn"; bo: "db.bo"; bp: "db.bp"; bq: "db.bq"; br: "db.br"; bs: "db.bs"; bt: "db.bt"; bu: "db.bu"; bv: "db.bv"; bw: "db.bw"; bx: "db.bx"; by: "db.by"; bz: "db.bz"; ca: "db.ca"; cb: "db.cb"; cc: "db.cc"; cd: "db.cd"; ce: "db.ce"; cf: "db.cf"; cg: "db.cg"; ch: "db.ch"; ci: "db.ci"; cj: "db.cj"; ck: "db.ck"; cl: "db.cl"; cm: "db.cm"; cn: "db.cn"; co: "db.co"; cp: "db.cp"; cq: "db.cq"; cr: "db.cr"; cs: "db.cs"; ct: "db.ct"; cu: "db.cu"; cv: "db.cv"; cw: "db.cw"; cx: "db.cx"; cy: "db.cy"; cz: "db.cz"; da: "db.da"; db: "db.db"; dc: "db.dc"; dd: "db.dd"; de: "db.de"; df: "db.df"; dg: "db.dg"; dh: "db.dh"; di: "db.di"; dj: "db.dj"; dk: "db.dk"; dl: "db.dl"; dm: "db.dm"; dn: "db.dn"; do: "db.do"; dp: "db.dp"; dq: "db.dq"; dr: "db.dr"; ds: "db.ds"; dt: "db.dt"; du: "db.du"; dv: "db.dv"; dw: "db.dw"; dx: "db.dx"; dy: "db.dy"; dz: "db.dz"; ea: "db.ea"; eb: "db.eb"; ec: "db.ec"; ed: "db.ed"; ee: "db.ee"; ef: "db.ef"; eg: "db.eg"; eh: "db.eh"; ei: "db.ei"; ej: "db.ej"; ek: "db.ek"; el: "db.el"; em: "db.em"; en: "db.en"; eo: "db.eo"; ep: "db.ep"; eq: "db.eq"; er: "db.er"; es: "db.es"; et: "db.et"; eu: "db.eu"; ev: "db.ev"; ew: "db.ew"; ex: "db.ex"; ey: "db.ey"; ez: "db.ez"; fa: "db.fa"; fb: "db.fb"; fc: "db.fc"; fd: "db.fd"; fe: "db.fe"; ff: "db.ff"; fg: "db.fg"; fh: "db.fh"; fi: "db.fi"; fj: "db.fj"; fk: "db.fk"; fl: "db.fl"; fm: "db.fm"; fn: "db.fn"; fo: "db.fo"; fp: "db.fp"; fq: "db.fq"; fr: "db.fr"; fs: "db.fs"; ft: "db.ft"; fu: "db.fu"; fv: "db.fv"; fw: "db.fw"; fx: "db.fx"; fy: "db.fy"; fz: "db.fz"; ga: "db.ga"; gb: "db.gb"; gc: "db.gc"; gd: "db.gd"; ge: "db.ge"; gf: "db.gf"; gg: "db.gg"; gh: "db.gh"; gi: "db.gi"; gj: "db.gj"; gk: "db.gk"; gl: "db.gl"; gm: "db.gm"; gn: "db.gn"; go: "db.go"; gp: "db.gp"; gq: "db.gq"; gr: "db.gr"; gs: "db.gs"; gt: "db.gt"; gu: "db.gu"; gv: "db.gv"; gw: "db.gw"; gx: "db.gx"; gy: "db.gy"; gz: "db.gz"; ha: "db.ha"; hb: "db.hb"; hc: "db.hc"; hd: "db.hd"; he: "db.he"; hf: "db.hf"; hg: "db.hg"; hh: "db.hh"; hi: "db.hi"; hj: "db.hj"; hk: "db.hk"; hl: "db.hl"; hm: "db.hm"; hn: "db.hn"; ho: "db.ho"; hp: "db.hp"; hq: "db.hq"; hr: "db.hr"; hs: "db.hs"; ht: "db.ht"; hu: "db.hu"; hv: "db.hv"; hw: "db.hw"; hx: "db.hx"; hy: "db.hy"; hz: "db.hz"; ia: "db.ia"; ib: "db.ib"; ic: "db.ic"; id: "db.id"; ie: "db.ie"; if: "db.if"; ig: "db.ig"; ih: "db.ih"; ii: "db.ii"; ij: "db.ij"; ik: "db.ik"; il: "db.il"; im: "db.im"; in: "db.in"; io: "db.io"; ip: "db.ip"; iq: "db.iq"; ir: "db.ir"; is: "db.is"; it: "db.it"; iu: "db.iu"; iv: "db.iv"; iw: "db.iw"; ix: "db.ix"; iy: "db.iy"; iz: "db.iz"; ja: "db.ja"; jb: "db.jb"; jc: "db.jc"; jd: "db.jd"; je: "db.je"; jf: "db.jf"; jg: "db.jg"; jh: "db.jh"; ji: "db.ji"; jj: "db.jj"; jk: "db.jk"; jl: "db.jl"; jm: "db.jm"; jn: "db.jn"; jo: "db.jo"; jp: "db.jp"; jq: "db.jq"; jr: "db.jr"; js: "db.js"; jt: "db.jt"; ju: "db.ju"; jv: "db.jv"; jw: "db.jw"; jx: "db.jx"; jy: "db.jy"; jz: "db.jz"; ka: "db.ka"; kb: "db.kb"; kc: "db.kc"; kd: "db.kd"; ke: "db.ke"; kf: "db.kf"; kg: "db.kg"; kh: "db.kh"; ki: "db.ki"; kj: "db.kj"; kk: "db.kk"; kl: "db.kl"; km: "db.km"; kn: "db.kn"; ko: "db.ko"; kp: "db.kp"; kq: "db.kq"; kr: "db.kr"; ks: "db.ks"; kt: "db.kt"; ku: "db.ku"; kv: "db.kv"; kw: "db.kw"; kx: "db.kx"; ky: "db.ky"; kz: "db.kz"; la: "db.la"; lb: "db.lb"; lc: "db.lc"; ld: "db.ld"; le: "db.le"; lf: "db.lf"; lg: "db.lg"; lh: "db.lh"; li: "db.li"; lj: "db.lj"; lk: "db.lk"; ll: "db.ll"; lm: "db.lm"; ln: "db.ln"; lo: "db.lo"; lp: "db.lp"; lq: "db.lq"; lr: "db.lr"; ls: "db.ls"; lt: "db.lt"; lu: "db.lu"; lv: "db.lv"; lw: "db.lw"; lx: "db.lx"; ly: "db.ly"; lz: "db.lz"; ma: "db.ma"; mb: "db.mb"; mc: "db.mc"; md: "db.md"; me: "db.me"; mf: "db.mf"; mg: "db.mg"; mh: "db.mh"; mi: "db.mi"; mj: "db.mj"; mk: "db.mk"; ml: "db.ml"; mm: "db.mm"; mn: "db.mn"; mo: "db.mo"; mp: "db.mp"; mq: "db.mq"; mr: "db.mr"; ms: "db.ms"; mt: "db.mt"; mu: "db.mu"; mv: "db.mv"; mw: "db.mw"; mx: "db.mx"; my: "db.my"; mz: "db.mz"; na: "db.na"; nb: "db.nb"; nc: "db.nc"; nd: "db.nd"; ne: "db.ne"; nf: "db.nf"; ng: "db.ng"; nh: "db.nh"; ni: "db.ni"; nj: "db.nj"; nk: "db.nk"; nl: "db.nl"; nm: "db.nm"; nn: "db.nn"; no: "db.no"; np: "db.np"; nq: "db.nq"; nr: "db.nr"; ns: "db.ns"; nt: "db.nt"; nu: "db.nu"; nv: "db.nv"; nw: "db.nw"; nx: "db.nx"; ny: "db.ny"; nz: "db.nz"; oa: "db.oa"; ob: "db.ob"; oc: "db.oc"; od: "db.od"; oe: "db.oe"; of: "db.of"; og: "db.og"; oh: "db.oh"; oi: "db.oi"; oj: "db.oj"; ok: "db.ok"; ol: "db.ol"; om: "db.om"; on: "db.on"; oo: "db.oo"; op: "db.op"; oq: "db.oq"; or: "db.or"; os: "db.os"; ot: "db.ot"; ou: "db.ou"; ov: "db.ov"; ow: "db.ow"; ox: "db.ox"; oy: "db.oy"; oz: "db.oz"; pa: "db.pa"; pb: "db.pb"; pc: "db.pc"; pd: "db.pd"; pe: "db.pe"; pf: "db.pf"; pg: "db.pg"; ph: "db.ph"; pi: "db.pi"; pj: "db.pj"; pk: "db.pk"; pl: "db.pl"; pm: "db.pm"; pn: "db.pn"; po: "db.po"; pp: "db.pp"; pq: "db.pq"; pr: "db.pr"; ps: "db.ps"; pt: "db.pt"; pu: "db.pu"; pv: "db.pv"; pw: "db.pw"; px: "db.px"; py: "db.py"; pz: "db.pz"; qa: "db.qa"; qb: "db.qb"; qc: "db.qc"; qd: "db.qd"; qe: "db.qe"; qf: "db.qf"; qg: "db.qg"; qh: "db.qh"; qi: "db.qi"; qj: "db.qj"; qk: "db.qk"; ql: "db.ql"; qm: "db.qm"; qn: "db.qn"; qo: "db.qo"; qp: "db.qp"; qq: "db.qq"; qr: "db.qr"; qs: "db.qs"; qt: "db.qt"; qu: "db.qu"; qv: "db.qv"; qw: "db.qw"; qx: "db.qx"; qy: "db.qy"; qz: "db.qz"; ra: "db.ra"; rb: "db.rb"; rc: "db.rc"; rd: "db.rd"; re: "db.re"; rf: "db.rf"; rg: "db.rg"; rh: "db.rh"; ri: "db.ri"; rj: "db.rj"; rk: "db.rk"; rl: "db.rl"; rm: "db.rm"; rn: "db.rn"; ro: "db.ro"; rp: "db.rp"; rq: "db.rq"; rr: "db.rr"; rs: "db.rs"; rt: "db.rt"; ru: "db.ru"; rv: "db.rv"; rw: "db.rw"; rx: "db.rx"; ry: "db.ry"; rz: "db.rz"; sa: "db.sa"; sb: "db.sb"; sc: "db.sc"; sd: "db.sd"; se: "db.se"; sf: "db.sf"; sg: "db.sg"; sh: "db.sh"; si: "db.si"; sj: "db.sj"; sk: "db.sk"; sl: "db.sl"; sm: "db.sm"; sn: "db.sn"; so: "db.so"; sp: "db.sp"; sq: "db.sq"; sr: "db.sr"; ss: "db.ss"; st: "db.st"; su: "db.su"; sv: "db.sv"; sw: "db.sw"; sx: "db.sx"; sy: "db.sy"; sz: "db.sz"; ta: "db.ta"; tb: "db.tb"; tc: "db.tc"; td: "db.td"; te: "db.te"; tf: "db.tf"; tg: "db.tg"; th: "db.th"; ti: "db.ti"; tj: "db.tj"; tk: "db.tk"; tl: "db.tl"; tm: "db.tm"; tn: "db.tn"; to: "db.to"; tp: "db.tp"; tq: "db.tq"; tr: "db.tr"; ts: "db.ts"; tt: "db.tt"; tu: "db.tu"; tv: "db.tv"; tw: "db.tw"; tx: "db.tx"; ty: "db.ty"; tz: "db.tz"; ua: "db.ua"; ub: "db.ub"; uc: "db.uc"; ud: "db.ud"; ue: "db.ue"; uf: "db.uf"; ug: "db.ug"; uh: "db.uh"; ui: "db.ui"; uj: "db.uj"; uk: "db.uk"; ul: "db.ul"; um: "db.um"; un: "db.un"; uo: "db.uo"; up: "db.up"; uq: "db.uq"; ur: "db.ur"; us: "db.us"; ut: "db.ut"; uu: "db.uu"; uv: "db.uv"; uw: "db.uw"; ux: "db.ux"; uy: "db.uy"; uz: "db.uz"; va: "db.va"; vb: "db.vb"; vc: "db.vc"; vd: "db.vd"; ve: "db.ve"; vf: "db.vf"; vg: "db.vg"; vh: "db.vh"; vi: "db.vi"; vj: "db.vj"; vk: "db.vk"; vl: "db.vl"; vm: "db.vm"; vn: "db.vn"; vo: "db.vo"; vp: "db.vp"; vq: "db.vq"; vr: "db.vr"; vs: "db.vs"; vt: "db.vt"; vu: "db.vu"; vv: "db.vv"; vw: "db.vw"; vx: "db.vx"; vy: "db.vy"; vz: "db.vz"; wa: "db.wa"; wb: "db.wb"; wc: "db.wc"; wd: "db.wd"; we: "db.we"; wf: "db.wf"; wg: "db.wg"; wh: "db.wh"; wi: "db.wi"; wj: "db.wj"; wk: "db.wk"; wl: "db.wl"; wm: "db.wm"; wn: "db.wn"; wo: "db.wo"; wp: "db.wp"; wq: "db.wq"; wr: "db.wr"; ws: "db.ws"; wt: "db.wt"; wu: "db.wu"; wv: "db.wv"; ww: "db.ww"; wx: "db.wx"; wy: "db.wy"; wz: "db.wz"; xa: "db.xa"; xb: "db.xb"; xc: "db.xc"; xd: "db.xd"; xe: "db.xe"; xf: "db.xf"; xg: "db.xg"; xh: "db.xh"; xi: "db.xi"; xj: "db.xj"; xk: "db.xk"; xl: "db.xl"; xm: "db.xm"; xn: "db.xn"; xo: "db.xo"; xp: "db.xp"; xq: "db.xq"; xr: "db.xr"; xs: "db.xs"; xt: "db.xt"; xu: "db.xu"; xv: "db.xv"; xw: "db.xw"; xx: "db.xx"; xy: "db.xy"; xz: "db.xz"; ya: "db.ya"; yb: "db.yb"; yc: "db.yc"; yd: "db.yd"; ye: "db.ye"; yf: "db.yf"; yg: "db.yg"; yh: "db.yh"; yi: "db.yi"; yj: "db.yj"; yk: "db.yk"; yl: "db.yl"; ym: "db.ym"; yn: "db.yn"; yo: "db.yo"; yp: "db.yp"; yq: "db.yq"; yr: "db.yr"; ys: "db.ys"; yt: "db.yt"; yu: "db.yu"; yv: "db.yv"; yw: "db.yw"; yx: "db.yx"; yy: "db.yy"; yz: "db.yz"; za: "db.za"; zb: "db.zb"; zc: "db.zc"; zd: "db.zd"; ze: "db.ze"; zf: "db.zf"; zg: "db.zg"; zh: "db.zh"; zi: "db.zi"; zj: "db.zj"; zk: "db.zk"; zl: "db.zl"; zm: "db.zm"; zn: "db.zn"; zo: "db.zo"; zp: "db.zp"; zq: "db.zq"; zr: "db.zr"; zs: "db.zs"; zt: "db.zt"; zu: "db.zu"; zv: "db.zv"; zw: "db.zw"; zx: "db.zx"; zy: "db.zy"; zz: "db.zz"; }; dc: { aa: "dc.aa"; ab: "dc.ab"; ac: "dc.ac"; ad: "dc.ad"; ae: "dc.ae"; af: "dc.af"; ag: "dc.ag"; ah: "dc.ah"; ai: "dc.ai"; aj: "dc.aj"; ak: "dc.ak"; al: "dc.al"; am: "dc.am"; an: "dc.an"; ao: "dc.ao"; ap: "dc.ap"; aq: "dc.aq"; ar: "dc.ar"; as: "dc.as"; at: "dc.at"; au: "dc.au"; av: "dc.av"; aw: "dc.aw"; ax: "dc.ax"; ay: "dc.ay"; az: "dc.az"; ba: "dc.ba"; bb: "dc.bb"; bc: "dc.bc"; bd: "dc.bd"; be: "dc.be"; bf: "dc.bf"; bg: "dc.bg"; bh: "dc.bh"; bi: "dc.bi"; bj: "dc.bj"; bk: "dc.bk"; bl: "dc.bl"; bm: "dc.bm"; bn: "dc.bn"; bo: "dc.bo"; bp: "dc.bp"; bq: "dc.bq"; br: "dc.br"; bs: "dc.bs"; bt: "dc.bt"; bu: "dc.bu"; bv: "dc.bv"; bw: "dc.bw"; bx: "dc.bx"; by: "dc.by"; bz: "dc.bz"; ca: "dc.ca"; cb: "dc.cb"; cc: "dc.cc"; cd: "dc.cd"; ce: "dc.ce"; cf: "dc.cf"; cg: "dc.cg"; ch: "dc.ch"; ci: "dc.ci"; cj: "dc.cj"; ck: "dc.ck"; cl: "dc.cl"; cm: "dc.cm"; cn: "dc.cn"; co: "dc.co"; cp: "dc.cp"; cq: "dc.cq"; cr: "dc.cr"; cs: "dc.cs"; ct: "dc.ct"; cu: "dc.cu"; cv: "dc.cv"; cw: "dc.cw"; cx: "dc.cx"; cy: "dc.cy"; cz: "dc.cz"; da: "dc.da"; db: "dc.db"; dc: "dc.dc"; dd: "dc.dd"; de: "dc.de"; df: "dc.df"; dg: "dc.dg"; dh: "dc.dh"; di: "dc.di"; dj: "dc.dj"; dk: "dc.dk"; dl: "dc.dl"; dm: "dc.dm"; dn: "dc.dn"; do: "dc.do"; dp: "dc.dp"; dq: "dc.dq"; dr: "dc.dr"; ds: "dc.ds"; dt: "dc.dt"; du: "dc.du"; dv: "dc.dv"; dw: "dc.dw"; dx: "dc.dx"; dy: "dc.dy"; dz: "dc.dz"; ea: "dc.ea"; eb: "dc.eb"; ec: "dc.ec"; ed: "dc.ed"; ee: "dc.ee"; ef: "dc.ef"; eg: "dc.eg"; eh: "dc.eh"; ei: "dc.ei"; ej: "dc.ej"; ek: "dc.ek"; el: "dc.el"; em: "dc.em"; en: "dc.en"; eo: "dc.eo"; ep: "dc.ep"; eq: "dc.eq"; er: "dc.er"; es: "dc.es"; et: "dc.et"; eu: "dc.eu"; ev: "dc.ev"; ew: "dc.ew"; ex: "dc.ex"; ey: "dc.ey"; ez: "dc.ez"; fa: "dc.fa"; fb: "dc.fb"; fc: "dc.fc"; fd: "dc.fd"; fe: "dc.fe"; ff: "dc.ff"; fg: "dc.fg"; fh: "dc.fh"; fi: "dc.fi"; fj: "dc.fj"; fk: "dc.fk"; fl: "dc.fl"; fm: "dc.fm"; fn: "dc.fn"; fo: "dc.fo"; fp: "dc.fp"; fq: "dc.fq"; fr: "dc.fr"; fs: "dc.fs"; ft: "dc.ft"; fu: "dc.fu"; fv: "dc.fv"; fw: "dc.fw"; fx: "dc.fx"; fy: "dc.fy"; fz: "dc.fz"; ga: "dc.ga"; gb: "dc.gb"; gc: "dc.gc"; gd: "dc.gd"; ge: "dc.ge"; gf: "dc.gf"; gg: "dc.gg"; gh: "dc.gh"; gi: "dc.gi"; gj: "dc.gj"; gk: "dc.gk"; gl: "dc.gl"; gm: "dc.gm"; gn: "dc.gn"; go: "dc.go"; gp: "dc.gp"; gq: "dc.gq"; gr: "dc.gr"; gs: "dc.gs"; gt: "dc.gt"; gu: "dc.gu"; gv: "dc.gv"; gw: "dc.gw"; gx: "dc.gx"; gy: "dc.gy"; gz: "dc.gz"; ha: "dc.ha"; hb: "dc.hb"; hc: "dc.hc"; hd: "dc.hd"; he: "dc.he"; hf: "dc.hf"; hg: "dc.hg"; hh: "dc.hh"; hi: "dc.hi"; hj: "dc.hj"; hk: "dc.hk"; hl: "dc.hl"; hm: "dc.hm"; hn: "dc.hn"; ho: "dc.ho"; hp: "dc.hp"; hq: "dc.hq"; hr: "dc.hr"; hs: "dc.hs"; ht: "dc.ht"; hu: "dc.hu"; hv: "dc.hv"; hw: "dc.hw"; hx: "dc.hx"; hy: "dc.hy"; hz: "dc.hz"; ia: "dc.ia"; ib: "dc.ib"; ic: "dc.ic"; id: "dc.id"; ie: "dc.ie"; if: "dc.if"; ig: "dc.ig"; ih: "dc.ih"; ii: "dc.ii"; ij: "dc.ij"; ik: "dc.ik"; il: "dc.il"; im: "dc.im"; in: "dc.in"; io: "dc.io"; ip: "dc.ip"; iq: "dc.iq"; ir: "dc.ir"; is: "dc.is"; it: "dc.it"; iu: "dc.iu"; iv: "dc.iv"; iw: "dc.iw"; ix: "dc.ix"; iy: "dc.iy"; iz: "dc.iz"; ja: "dc.ja"; jb: "dc.jb"; jc: "dc.jc"; jd: "dc.jd"; je: "dc.je"; jf: "dc.jf"; jg: "dc.jg"; jh: "dc.jh"; ji: "dc.ji"; jj: "dc.jj"; jk: "dc.jk"; jl: "dc.jl"; jm: "dc.jm"; jn: "dc.jn"; jo: "dc.jo"; jp: "dc.jp"; jq: "dc.jq"; jr: "dc.jr"; js: "dc.js"; jt: "dc.jt"; ju: "dc.ju"; jv: "dc.jv"; jw: "dc.jw"; jx: "dc.jx"; jy: "dc.jy"; jz: "dc.jz"; ka: "dc.ka"; kb: "dc.kb"; kc: "dc.kc"; kd: "dc.kd"; ke: "dc.ke"; kf: "dc.kf"; kg: "dc.kg"; kh: "dc.kh"; ki: "dc.ki"; kj: "dc.kj"; kk: "dc.kk"; kl: "dc.kl"; km: "dc.km"; kn: "dc.kn"; ko: "dc.ko"; kp: "dc.kp"; kq: "dc.kq"; kr: "dc.kr"; ks: "dc.ks"; kt: "dc.kt"; ku: "dc.ku"; kv: "dc.kv"; kw: "dc.kw"; kx: "dc.kx"; ky: "dc.ky"; kz: "dc.kz"; la: "dc.la"; lb: "dc.lb"; lc: "dc.lc"; ld: "dc.ld"; le: "dc.le"; lf: "dc.lf"; lg: "dc.lg"; lh: "dc.lh"; li: "dc.li"; lj: "dc.lj"; lk: "dc.lk"; ll: "dc.ll"; lm: "dc.lm"; ln: "dc.ln"; lo: "dc.lo"; lp: "dc.lp"; lq: "dc.lq"; lr: "dc.lr"; ls: "dc.ls"; lt: "dc.lt"; lu: "dc.lu"; lv: "dc.lv"; lw: "dc.lw"; lx: "dc.lx"; ly: "dc.ly"; lz: "dc.lz"; ma: "dc.ma"; mb: "dc.mb"; mc: "dc.mc"; md: "dc.md"; me: "dc.me"; mf: "dc.mf"; mg: "dc.mg"; mh: "dc.mh"; mi: "dc.mi"; mj: "dc.mj"; mk: "dc.mk"; ml: "dc.ml"; mm: "dc.mm"; mn: "dc.mn"; mo: "dc.mo"; mp: "dc.mp"; mq: "dc.mq"; mr: "dc.mr"; ms: "dc.ms"; mt: "dc.mt"; mu: "dc.mu"; mv: "dc.mv"; mw: "dc.mw"; mx: "dc.mx"; my: "dc.my"; mz: "dc.mz"; na: "dc.na"; nb: "dc.nb"; nc: "dc.nc"; nd: "dc.nd"; ne: "dc.ne"; nf: "dc.nf"; ng: "dc.ng"; nh: "dc.nh"; ni: "dc.ni"; nj: "dc.nj"; nk: "dc.nk"; nl: "dc.nl"; nm: "dc.nm"; nn: "dc.nn"; no: "dc.no"; np: "dc.np"; nq: "dc.nq"; nr: "dc.nr"; ns: "dc.ns"; nt: "dc.nt"; nu: "dc.nu"; nv: "dc.nv"; nw: "dc.nw"; nx: "dc.nx"; ny: "dc.ny"; nz: "dc.nz"; oa: "dc.oa"; ob: "dc.ob"; oc: "dc.oc"; od: "dc.od"; oe: "dc.oe"; of: "dc.of"; og: "dc.og"; oh: "dc.oh"; oi: "dc.oi"; oj: "dc.oj"; ok: "dc.ok"; ol: "dc.ol"; om: "dc.om"; on: "dc.on"; oo: "dc.oo"; op: "dc.op"; oq: "dc.oq"; or: "dc.or"; os: "dc.os"; ot: "dc.ot"; ou: "dc.ou"; ov: "dc.ov"; ow: "dc.ow"; ox: "dc.ox"; oy: "dc.oy"; oz: "dc.oz"; pa: "dc.pa"; pb: "dc.pb"; pc: "dc.pc"; pd: "dc.pd"; pe: "dc.pe"; pf: "dc.pf"; pg: "dc.pg"; ph: "dc.ph"; pi: "dc.pi"; pj: "dc.pj"; pk: "dc.pk"; pl: "dc.pl"; pm: "dc.pm"; pn: "dc.pn"; po: "dc.po"; pp: "dc.pp"; pq: "dc.pq"; pr: "dc.pr"; ps: "dc.ps"; pt: "dc.pt"; pu: "dc.pu"; pv: "dc.pv"; pw: "dc.pw"; px: "dc.px"; py: "dc.py"; pz: "dc.pz"; qa: "dc.qa"; qb: "dc.qb"; qc: "dc.qc"; qd: "dc.qd"; qe: "dc.qe"; qf: "dc.qf"; qg: "dc.qg"; qh: "dc.qh"; qi: "dc.qi"; qj: "dc.qj"; qk: "dc.qk"; ql: "dc.ql"; qm: "dc.qm"; qn: "dc.qn"; qo: "dc.qo"; qp: "dc.qp"; qq: "dc.qq"; qr: "dc.qr"; qs: "dc.qs"; qt: "dc.qt"; qu: "dc.qu"; qv: "dc.qv"; qw: "dc.qw"; qx: "dc.qx"; qy: "dc.qy"; qz: "dc.qz"; ra: "dc.ra"; rb: "dc.rb"; rc: "dc.rc"; rd: "dc.rd"; re: "dc.re"; rf: "dc.rf"; rg: "dc.rg"; rh: "dc.rh"; ri: "dc.ri"; rj: "dc.rj"; rk: "dc.rk"; rl: "dc.rl"; rm: "dc.rm"; rn: "dc.rn"; ro: "dc.ro"; rp: "dc.rp"; rq: "dc.rq"; rr: "dc.rr"; rs: "dc.rs"; rt: "dc.rt"; ru: "dc.ru"; rv: "dc.rv"; rw: "dc.rw"; rx: "dc.rx"; ry: "dc.ry"; rz: "dc.rz"; sa: "dc.sa"; sb: "dc.sb"; sc: "dc.sc"; sd: "dc.sd"; se: "dc.se"; sf: "dc.sf"; sg: "dc.sg"; sh: "dc.sh"; si: "dc.si"; sj: "dc.sj"; sk: "dc.sk"; sl: "dc.sl"; sm: "dc.sm"; sn: "dc.sn"; so: "dc.so"; sp: "dc.sp"; sq: "dc.sq"; sr: "dc.sr"; ss: "dc.ss"; st: "dc.st"; su: "dc.su"; sv: "dc.sv"; sw: "dc.sw"; sx: "dc.sx"; sy: "dc.sy"; sz: "dc.sz"; ta: "dc.ta"; tb: "dc.tb"; tc: "dc.tc"; td: "dc.td"; te: "dc.te"; tf: "dc.tf"; tg: "dc.tg"; th: "dc.th"; ti: "dc.ti"; tj: "dc.tj"; tk: "dc.tk"; tl: "dc.tl"; tm: "dc.tm"; tn: "dc.tn"; to: "dc.to"; tp: "dc.tp"; tq: "dc.tq"; tr: "dc.tr"; ts: "dc.ts"; tt: "dc.tt"; tu: "dc.tu"; tv: "dc.tv"; tw: "dc.tw"; tx: "dc.tx"; ty: "dc.ty"; tz: "dc.tz"; ua: "dc.ua"; ub: "dc.ub"; uc: "dc.uc"; ud: "dc.ud"; ue: "dc.ue"; uf: "dc.uf"; ug: "dc.ug"; uh: "dc.uh"; ui: "dc.ui"; uj: "dc.uj"; uk: "dc.uk"; ul: "dc.ul"; um: "dc.um"; un: "dc.un"; uo: "dc.uo"; up: "dc.up"; uq: "dc.uq"; ur: "dc.ur"; us: "dc.us"; ut: "dc.ut"; uu: "dc.uu"; uv: "dc.uv"; uw: "dc.uw"; ux: "dc.ux"; uy: "dc.uy"; uz: "dc.uz"; va: "dc.va"; vb: "dc.vb"; vc: "dc.vc"; vd: "dc.vd"; ve: "dc.ve"; vf: "dc.vf"; vg: "dc.vg"; vh: "dc.vh"; vi: "dc.vi"; vj: "dc.vj"; vk: "dc.vk"; vl: "dc.vl"; vm: "dc.vm"; vn: "dc.vn"; vo: "dc.vo"; vp: "dc.vp"; vq: "dc.vq"; vr: "dc.vr"; vs: "dc.vs"; vt: "dc.vt"; vu: "dc.vu"; vv: "dc.vv"; vw: "dc.vw"; vx: "dc.vx"; vy: "dc.vy"; vz: "dc.vz"; wa: "dc.wa"; wb: "dc.wb"; wc: "dc.wc"; wd: "dc.wd"; we: "dc.we"; wf: "dc.wf"; wg: "dc.wg"; wh: "dc.wh"; wi: "dc.wi"; wj: "dc.wj"; wk: "dc.wk"; wl: "dc.wl"; wm: "dc.wm"; wn: "dc.wn"; wo: "dc.wo"; wp: "dc.wp"; wq: "dc.wq"; wr: "dc.wr"; ws: "dc.ws"; wt: "dc.wt"; wu: "dc.wu"; wv: "dc.wv"; ww: "dc.ww"; wx: "dc.wx"; wy: "dc.wy"; wz: "dc.wz"; xa: "dc.xa"; xb: "dc.xb"; xc: "dc.xc"; xd: "dc.xd"; xe: "dc.xe"; xf: "dc.xf"; xg: "dc.xg"; xh: "dc.xh"; xi: "dc.xi"; xj: "dc.xj"; xk: "dc.xk"; xl: "dc.xl"; xm: "dc.xm"; xn: "dc.xn"; xo: "dc.xo"; xp: "dc.xp"; xq: "dc.xq"; xr: "dc.xr"; xs: "dc.xs"; xt: "dc.xt"; xu: "dc.xu"; xv: "dc.xv"; xw: "dc.xw"; xx: "dc.xx"; xy: "dc.xy"; xz: "dc.xz"; ya: "dc.ya"; yb: "dc.yb"; yc: "dc.yc"; yd: "dc.yd"; ye: "dc.ye"; yf: "dc.yf"; yg: "dc.yg"; yh: "dc.yh"; yi: "dc.yi"; yj: "dc.yj"; yk: "dc.yk"; yl: "dc.yl"; ym: "dc.ym"; yn: "dc.yn"; yo: "dc.yo"; yp: "dc.yp"; yq: "dc.yq"; yr: "dc.yr"; ys: "dc.ys"; yt: "dc.yt"; yu: "dc.yu"; yv: "dc.yv"; yw: "dc.yw"; yx: "dc.yx"; yy: "dc.yy"; yz: "dc.yz"; za: "dc.za"; zb: "dc.zb"; zc: "dc.zc"; zd: "dc.zd"; ze: "dc.ze"; zf: "dc.zf"; zg: "dc.zg"; zh: "dc.zh"; zi: "dc.zi"; zj: "dc.zj"; zk: "dc.zk"; zl: "dc.zl"; zm: "dc.zm"; zn: "dc.zn"; zo: "dc.zo"; zp: "dc.zp"; zq: "dc.zq"; zr: "dc.zr"; zs: "dc.zs"; zt: "dc.zt"; zu: "dc.zu"; zv: "dc.zv"; zw: "dc.zw"; zx: "dc.zx"; zy: "dc.zy"; zz: "dc.zz"; }; dd: { aa: "dd.aa"; ab: "dd.ab"; ac: "dd.ac"; ad: "dd.ad"; ae: "dd.ae"; af: "dd.af"; ag: "dd.ag"; ah: "dd.ah"; ai: "dd.ai"; aj: "dd.aj"; ak: "dd.ak"; al: "dd.al"; am: "dd.am"; an: "dd.an"; ao: "dd.ao"; ap: "dd.ap"; aq: "dd.aq"; ar: "dd.ar"; as: "dd.as"; at: "dd.at"; au: "dd.au"; av: "dd.av"; aw: "dd.aw"; ax: "dd.ax"; ay: "dd.ay"; az: "dd.az"; ba: "dd.ba"; bb: "dd.bb"; bc: "dd.bc"; bd: "dd.bd"; be: "dd.be"; bf: "dd.bf"; bg: "dd.bg"; bh: "dd.bh"; bi: "dd.bi"; bj: "dd.bj"; bk: "dd.bk"; bl: "dd.bl"; bm: "dd.bm"; bn: "dd.bn"; bo: "dd.bo"; bp: "dd.bp"; bq: "dd.bq"; br: "dd.br"; bs: "dd.bs"; bt: "dd.bt"; bu: "dd.bu"; bv: "dd.bv"; bw: "dd.bw"; bx: "dd.bx"; by: "dd.by"; bz: "dd.bz"; ca: "dd.ca"; cb: "dd.cb"; cc: "dd.cc"; cd: "dd.cd"; ce: "dd.ce"; cf: "dd.cf"; cg: "dd.cg"; ch: "dd.ch"; ci: "dd.ci"; cj: "dd.cj"; ck: "dd.ck"; cl: "dd.cl"; cm: "dd.cm"; cn: "dd.cn"; co: "dd.co"; cp: "dd.cp"; cq: "dd.cq"; cr: "dd.cr"; cs: "dd.cs"; ct: "dd.ct"; cu: "dd.cu"; cv: "dd.cv"; cw: "dd.cw"; cx: "dd.cx"; cy: "dd.cy"; cz: "dd.cz"; da: "dd.da"; db: "dd.db"; dc: "dd.dc"; dd: "dd.dd"; de: "dd.de"; df: "dd.df"; dg: "dd.dg"; dh: "dd.dh"; di: "dd.di"; dj: "dd.dj"; dk: "dd.dk"; dl: "dd.dl"; dm: "dd.dm"; dn: "dd.dn"; do: "dd.do"; dp: "dd.dp"; dq: "dd.dq"; dr: "dd.dr"; ds: "dd.ds"; dt: "dd.dt"; du: "dd.du"; dv: "dd.dv"; dw: "dd.dw"; dx: "dd.dx"; dy: "dd.dy"; dz: "dd.dz"; ea: "dd.ea"; eb: "dd.eb"; ec: "dd.ec"; ed: "dd.ed"; ee: "dd.ee"; ef: "dd.ef"; eg: "dd.eg"; eh: "dd.eh"; ei: "dd.ei"; ej: "dd.ej"; ek: "dd.ek"; el: "dd.el"; em: "dd.em"; en: "dd.en"; eo: "dd.eo"; ep: "dd.ep"; eq: "dd.eq"; er: "dd.er"; es: "dd.es"; et: "dd.et"; eu: "dd.eu"; ev: "dd.ev"; ew: "dd.ew"; ex: "dd.ex"; ey: "dd.ey"; ez: "dd.ez"; fa: "dd.fa"; fb: "dd.fb"; fc: "dd.fc"; fd: "dd.fd"; fe: "dd.fe"; ff: "dd.ff"; fg: "dd.fg"; fh: "dd.fh"; fi: "dd.fi"; fj: "dd.fj"; fk: "dd.fk"; fl: "dd.fl"; fm: "dd.fm"; fn: "dd.fn"; fo: "dd.fo"; fp: "dd.fp"; fq: "dd.fq"; fr: "dd.fr"; fs: "dd.fs"; ft: "dd.ft"; fu: "dd.fu"; fv: "dd.fv"; fw: "dd.fw"; fx: "dd.fx"; fy: "dd.fy"; fz: "dd.fz"; ga: "dd.ga"; gb: "dd.gb"; gc: "dd.gc"; gd: "dd.gd"; ge: "dd.ge"; gf: "dd.gf"; gg: "dd.gg"; gh: "dd.gh"; gi: "dd.gi"; gj: "dd.gj"; gk: "dd.gk"; gl: "dd.gl"; gm: "dd.gm"; gn: "dd.gn"; go: "dd.go"; gp: "dd.gp"; gq: "dd.gq"; gr: "dd.gr"; gs: "dd.gs"; gt: "dd.gt"; gu: "dd.gu"; gv: "dd.gv"; gw: "dd.gw"; gx: "dd.gx"; gy: "dd.gy"; gz: "dd.gz"; ha: "dd.ha"; hb: "dd.hb"; hc: "dd.hc"; hd: "dd.hd"; he: "dd.he"; hf: "dd.hf"; hg: "dd.hg"; hh: "dd.hh"; hi: "dd.hi"; hj: "dd.hj"; hk: "dd.hk"; hl: "dd.hl"; hm: "dd.hm"; hn: "dd.hn"; ho: "dd.ho"; hp: "dd.hp"; hq: "dd.hq"; hr: "dd.hr"; hs: "dd.hs"; ht: "dd.ht"; hu: "dd.hu"; hv: "dd.hv"; hw: "dd.hw"; hx: "dd.hx"; hy: "dd.hy"; hz: "dd.hz"; ia: "dd.ia"; ib: "dd.ib"; ic: "dd.ic"; id: "dd.id"; ie: "dd.ie"; if: "dd.if"; ig: "dd.ig"; ih: "dd.ih"; ii: "dd.ii"; ij: "dd.ij"; ik: "dd.ik"; il: "dd.il"; im: "dd.im"; in: "dd.in"; io: "dd.io"; ip: "dd.ip"; iq: "dd.iq"; ir: "dd.ir"; is: "dd.is"; it: "dd.it"; iu: "dd.iu"; iv: "dd.iv"; iw: "dd.iw"; ix: "dd.ix"; iy: "dd.iy"; iz: "dd.iz"; ja: "dd.ja"; jb: "dd.jb"; jc: "dd.jc"; jd: "dd.jd"; je: "dd.je"; jf: "dd.jf"; jg: "dd.jg"; jh: "dd.jh"; ji: "dd.ji"; jj: "dd.jj"; jk: "dd.jk"; jl: "dd.jl"; jm: "dd.jm"; jn: "dd.jn"; jo: "dd.jo"; jp: "dd.jp"; jq: "dd.jq"; jr: "dd.jr"; js: "dd.js"; jt: "dd.jt"; ju: "dd.ju"; jv: "dd.jv"; jw: "dd.jw"; jx: "dd.jx"; jy: "dd.jy"; jz: "dd.jz"; ka: "dd.ka"; kb: "dd.kb"; kc: "dd.kc"; kd: "dd.kd"; ke: "dd.ke"; kf: "dd.kf"; kg: "dd.kg"; kh: "dd.kh"; ki: "dd.ki"; kj: "dd.kj"; kk: "dd.kk"; kl: "dd.kl"; km: "dd.km"; kn: "dd.kn"; ko: "dd.ko"; kp: "dd.kp"; kq: "dd.kq"; kr: "dd.kr"; ks: "dd.ks"; kt: "dd.kt"; ku: "dd.ku"; kv: "dd.kv"; kw: "dd.kw"; kx: "dd.kx"; ky: "dd.ky"; kz: "dd.kz"; la: "dd.la"; lb: "dd.lb"; lc: "dd.lc"; ld: "dd.ld"; le: "dd.le"; lf: "dd.lf"; lg: "dd.lg"; lh: "dd.lh"; li: "dd.li"; lj: "dd.lj"; lk: "dd.lk"; ll: "dd.ll"; lm: "dd.lm"; ln: "dd.ln"; lo: "dd.lo"; lp: "dd.lp"; lq: "dd.lq"; lr: "dd.lr"; ls: "dd.ls"; lt: "dd.lt"; lu: "dd.lu"; lv: "dd.lv"; lw: "dd.lw"; lx: "dd.lx"; ly: "dd.ly"; lz: "dd.lz"; ma: "dd.ma"; mb: "dd.mb"; mc: "dd.mc"; md: "dd.md"; me: "dd.me"; mf: "dd.mf"; mg: "dd.mg"; mh: "dd.mh"; mi: "dd.mi"; mj: "dd.mj"; mk: "dd.mk"; ml: "dd.ml"; mm: "dd.mm"; mn: "dd.mn"; mo: "dd.mo"; mp: "dd.mp"; mq: "dd.mq"; mr: "dd.mr"; ms: "dd.ms"; mt: "dd.mt"; mu: "dd.mu"; mv: "dd.mv"; mw: "dd.mw"; mx: "dd.mx"; my: "dd.my"; mz: "dd.mz"; na: "dd.na"; nb: "dd.nb"; nc: "dd.nc"; nd: "dd.nd"; ne: "dd.ne"; nf: "dd.nf"; ng: "dd.ng"; nh: "dd.nh"; ni: "dd.ni"; nj: "dd.nj"; nk: "dd.nk"; nl: "dd.nl"; nm: "dd.nm"; nn: "dd.nn"; no: "dd.no"; np: "dd.np"; nq: "dd.nq"; nr: "dd.nr"; ns: "dd.ns"; nt: "dd.nt"; nu: "dd.nu"; nv: "dd.nv"; nw: "dd.nw"; nx: "dd.nx"; ny: "dd.ny"; nz: "dd.nz"; oa: "dd.oa"; ob: "dd.ob"; oc: "dd.oc"; od: "dd.od"; oe: "dd.oe"; of: "dd.of"; og: "dd.og"; oh: "dd.oh"; oi: "dd.oi"; oj: "dd.oj"; ok: "dd.ok"; ol: "dd.ol"; om: "dd.om"; on: "dd.on"; oo: "dd.oo"; op: "dd.op"; oq: "dd.oq"; or: "dd.or"; os: "dd.os"; ot: "dd.ot"; ou: "dd.ou"; ov: "dd.ov"; ow: "dd.ow"; ox: "dd.ox"; oy: "dd.oy"; oz: "dd.oz"; pa: "dd.pa"; pb: "dd.pb"; pc: "dd.pc"; pd: "dd.pd"; pe: "dd.pe"; pf: "dd.pf"; pg: "dd.pg"; ph: "dd.ph"; pi: "dd.pi"; pj: "dd.pj"; pk: "dd.pk"; pl: "dd.pl"; pm: "dd.pm"; pn: "dd.pn"; po: "dd.po"; pp: "dd.pp"; pq: "dd.pq"; pr: "dd.pr"; ps: "dd.ps"; pt: "dd.pt"; pu: "dd.pu"; pv: "dd.pv"; pw: "dd.pw"; px: "dd.px"; py: "dd.py"; pz: "dd.pz"; qa: "dd.qa"; qb: "dd.qb"; qc: "dd.qc"; qd: "dd.qd"; qe: "dd.qe"; qf: "dd.qf"; qg: "dd.qg"; qh: "dd.qh"; qi: "dd.qi"; qj: "dd.qj"; qk: "dd.qk"; ql: "dd.ql"; qm: "dd.qm"; qn: "dd.qn"; qo: "dd.qo"; qp: "dd.qp"; qq: "dd.qq"; qr: "dd.qr"; qs: "dd.qs"; qt: "dd.qt"; qu: "dd.qu"; qv: "dd.qv"; qw: "dd.qw"; qx: "dd.qx"; qy: "dd.qy"; qz: "dd.qz"; ra: "dd.ra"; rb: "dd.rb"; rc: "dd.rc"; rd: "dd.rd"; re: "dd.re"; rf: "dd.rf"; rg: "dd.rg"; rh: "dd.rh"; ri: "dd.ri"; rj: "dd.rj"; rk: "dd.rk"; rl: "dd.rl"; rm: "dd.rm"; rn: "dd.rn"; ro: "dd.ro"; rp: "dd.rp"; rq: "dd.rq"; rr: "dd.rr"; rs: "dd.rs"; rt: "dd.rt"; ru: "dd.ru"; rv: "dd.rv"; rw: "dd.rw"; rx: "dd.rx"; ry: "dd.ry"; rz: "dd.rz"; sa: "dd.sa"; sb: "dd.sb"; sc: "dd.sc"; sd: "dd.sd"; se: "dd.se"; sf: "dd.sf"; sg: "dd.sg"; sh: "dd.sh"; si: "dd.si"; sj: "dd.sj"; sk: "dd.sk"; sl: "dd.sl"; sm: "dd.sm"; sn: "dd.sn"; so: "dd.so"; sp: "dd.sp"; sq: "dd.sq"; sr: "dd.sr"; ss: "dd.ss"; st: "dd.st"; su: "dd.su"; sv: "dd.sv"; sw: "dd.sw"; sx: "dd.sx"; sy: "dd.sy"; sz: "dd.sz"; ta: "dd.ta"; tb: "dd.tb"; tc: "dd.tc"; td: "dd.td"; te: "dd.te"; tf: "dd.tf"; tg: "dd.tg"; th: "dd.th"; ti: "dd.ti"; tj: "dd.tj"; tk: "dd.tk"; tl: "dd.tl"; tm: "dd.tm"; tn: "dd.tn"; to: "dd.to"; tp: "dd.tp"; tq: "dd.tq"; tr: "dd.tr"; ts: "dd.ts"; tt: "dd.tt"; tu: "dd.tu"; tv: "dd.tv"; tw: "dd.tw"; tx: "dd.tx"; ty: "dd.ty"; tz: "dd.tz"; ua: "dd.ua"; ub: "dd.ub"; uc: "dd.uc"; ud: "dd.ud"; ue: "dd.ue"; uf: "dd.uf"; ug: "dd.ug"; uh: "dd.uh"; ui: "dd.ui"; uj: "dd.uj"; uk: "dd.uk"; ul: "dd.ul"; um: "dd.um"; un: "dd.un"; uo: "dd.uo"; up: "dd.up"; uq: "dd.uq"; ur: "dd.ur"; us: "dd.us"; ut: "dd.ut"; uu: "dd.uu"; uv: "dd.uv"; uw: "dd.uw"; ux: "dd.ux"; uy: "dd.uy"; uz: "dd.uz"; va: "dd.va"; vb: "dd.vb"; vc: "dd.vc"; vd: "dd.vd"; ve: "dd.ve"; vf: "dd.vf"; vg: "dd.vg"; vh: "dd.vh"; vi: "dd.vi"; vj: "dd.vj"; vk: "dd.vk"; vl: "dd.vl"; vm: "dd.vm"; vn: "dd.vn"; vo: "dd.vo"; vp: "dd.vp"; vq: "dd.vq"; vr: "dd.vr"; vs: "dd.vs"; vt: "dd.vt"; vu: "dd.vu"; vv: "dd.vv"; vw: "dd.vw"; vx: "dd.vx"; vy: "dd.vy"; vz: "dd.vz"; wa: "dd.wa"; wb: "dd.wb"; wc: "dd.wc"; wd: "dd.wd"; we: "dd.we"; wf: "dd.wf"; wg: "dd.wg"; wh: "dd.wh"; wi: "dd.wi"; wj: "dd.wj"; wk: "dd.wk"; wl: "dd.wl"; wm: "dd.wm"; wn: "dd.wn"; wo: "dd.wo"; wp: "dd.wp"; wq: "dd.wq"; wr: "dd.wr"; ws: "dd.ws"; wt: "dd.wt"; wu: "dd.wu"; wv: "dd.wv"; ww: "dd.ww"; wx: "dd.wx"; wy: "dd.wy"; wz: "dd.wz"; xa: "dd.xa"; xb: "dd.xb"; xc: "dd.xc"; xd: "dd.xd"; xe: "dd.xe"; xf: "dd.xf"; xg: "dd.xg"; xh: "dd.xh"; xi: "dd.xi"; xj: "dd.xj"; xk: "dd.xk"; xl: "dd.xl"; xm: "dd.xm"; xn: "dd.xn"; xo: "dd.xo"; xp: "dd.xp"; xq: "dd.xq"; xr: "dd.xr"; xs: "dd.xs"; xt: "dd.xt"; xu: "dd.xu"; xv: "dd.xv"; xw: "dd.xw"; xx: "dd.xx"; xy: "dd.xy"; xz: "dd.xz"; ya: "dd.ya"; yb: "dd.yb"; yc: "dd.yc"; yd: "dd.yd"; ye: "dd.ye"; yf: "dd.yf"; yg: "dd.yg"; yh: "dd.yh"; yi: "dd.yi"; yj: "dd.yj"; yk: "dd.yk"; yl: "dd.yl"; ym: "dd.ym"; yn: "dd.yn"; yo: "dd.yo"; yp: "dd.yp"; yq: "dd.yq"; yr: "dd.yr"; ys: "dd.ys"; yt: "dd.yt"; yu: "dd.yu"; yv: "dd.yv"; yw: "dd.yw"; yx: "dd.yx"; yy: "dd.yy"; yz: "dd.yz"; za: "dd.za"; zb: "dd.zb"; zc: "dd.zc"; zd: "dd.zd"; ze: "dd.ze"; zf: "dd.zf"; zg: "dd.zg"; zh: "dd.zh"; zi: "dd.zi"; zj: "dd.zj"; zk: "dd.zk"; zl: "dd.zl"; zm: "dd.zm"; zn: "dd.zn"; zo: "dd.zo"; zp: "dd.zp"; zq: "dd.zq"; zr: "dd.zr"; zs: "dd.zs"; zt: "dd.zt"; zu: "dd.zu"; zv: "dd.zv"; zw: "dd.zw"; zx: "dd.zx"; zy: "dd.zy"; zz: "dd.zz"; }; de: { aa: "de.aa"; ab: "de.ab"; ac: "de.ac"; ad: "de.ad"; ae: "de.ae"; af: "de.af"; ag: "de.ag"; ah: "de.ah"; ai: "de.ai"; aj: "de.aj"; ak: "de.ak"; al: "de.al"; am: "de.am"; an: "de.an"; ao: "de.ao"; ap: "de.ap"; aq: "de.aq"; ar: "de.ar"; as: "de.as"; at: "de.at"; au: "de.au"; av: "de.av"; aw: "de.aw"; ax: "de.ax"; ay: "de.ay"; az: "de.az"; ba: "de.ba"; bb: "de.bb"; bc: "de.bc"; bd: "de.bd"; be: "de.be"; bf: "de.bf"; bg: "de.bg"; bh: "de.bh"; bi: "de.bi"; bj: "de.bj"; bk: "de.bk"; bl: "de.bl"; bm: "de.bm"; bn: "de.bn"; bo: "de.bo"; bp: "de.bp"; bq: "de.bq"; br: "de.br"; bs: "de.bs"; bt: "de.bt"; bu: "de.bu"; bv: "de.bv"; bw: "de.bw"; bx: "de.bx"; by: "de.by"; bz: "de.bz"; ca: "de.ca"; cb: "de.cb"; cc: "de.cc"; cd: "de.cd"; ce: "de.ce"; cf: "de.cf"; cg: "de.cg"; ch: "de.ch"; ci: "de.ci"; cj: "de.cj"; ck: "de.ck"; cl: "de.cl"; cm: "de.cm"; cn: "de.cn"; co: "de.co"; cp: "de.cp"; cq: "de.cq"; cr: "de.cr"; cs: "de.cs"; ct: "de.ct"; cu: "de.cu"; cv: "de.cv"; cw: "de.cw"; cx: "de.cx"; cy: "de.cy"; cz: "de.cz"; da: "de.da"; db: "de.db"; dc: "de.dc"; dd: "de.dd"; de: "de.de"; df: "de.df"; dg: "de.dg"; dh: "de.dh"; di: "de.di"; dj: "de.dj"; dk: "de.dk"; dl: "de.dl"; dm: "de.dm"; dn: "de.dn"; do: "de.do"; dp: "de.dp"; dq: "de.dq"; dr: "de.dr"; ds: "de.ds"; dt: "de.dt"; du: "de.du"; dv: "de.dv"; dw: "de.dw"; dx: "de.dx"; dy: "de.dy"; dz: "de.dz"; ea: "de.ea"; eb: "de.eb"; ec: "de.ec"; ed: "de.ed"; ee: "de.ee"; ef: "de.ef"; eg: "de.eg"; eh: "de.eh"; ei: "de.ei"; ej: "de.ej"; ek: "de.ek"; el: "de.el"; em: "de.em"; en: "de.en"; eo: "de.eo"; ep: "de.ep"; eq: "de.eq"; er: "de.er"; es: "de.es"; et: "de.et"; eu: "de.eu"; ev: "de.ev"; ew: "de.ew"; ex: "de.ex"; ey: "de.ey"; ez: "de.ez"; fa: "de.fa"; fb: "de.fb"; fc: "de.fc"; fd: "de.fd"; fe: "de.fe"; ff: "de.ff"; fg: "de.fg"; fh: "de.fh"; fi: "de.fi"; fj: "de.fj"; fk: "de.fk"; fl: "de.fl"; fm: "de.fm"; fn: "de.fn"; fo: "de.fo"; fp: "de.fp"; fq: "de.fq"; fr: "de.fr"; fs: "de.fs"; ft: "de.ft"; fu: "de.fu"; fv: "de.fv"; fw: "de.fw"; fx: "de.fx"; fy: "de.fy"; fz: "de.fz"; ga: "de.ga"; gb: "de.gb"; gc: "de.gc"; gd: "de.gd"; ge: "de.ge"; gf: "de.gf"; gg: "de.gg"; gh: "de.gh"; gi: "de.gi"; gj: "de.gj"; gk: "de.gk"; gl: "de.gl"; gm: "de.gm"; gn: "de.gn"; go: "de.go"; gp: "de.gp"; gq: "de.gq"; gr: "de.gr"; gs: "de.gs"; gt: "de.gt"; gu: "de.gu"; gv: "de.gv"; gw: "de.gw"; gx: "de.gx"; gy: "de.gy"; gz: "de.gz"; ha: "de.ha"; hb: "de.hb"; hc: "de.hc"; hd: "de.hd"; he: "de.he"; hf: "de.hf"; hg: "de.hg"; hh: "de.hh"; hi: "de.hi"; hj: "de.hj"; hk: "de.hk"; hl: "de.hl"; hm: "de.hm"; hn: "de.hn"; ho: "de.ho"; hp: "de.hp"; hq: "de.hq"; hr: "de.hr"; hs: "de.hs"; ht: "de.ht"; hu: "de.hu"; hv: "de.hv"; hw: "de.hw"; hx: "de.hx"; hy: "de.hy"; hz: "de.hz"; ia: "de.ia"; ib: "de.ib"; ic: "de.ic"; id: "de.id"; ie: "de.ie"; if: "de.if"; ig: "de.ig"; ih: "de.ih"; ii: "de.ii"; ij: "de.ij"; ik: "de.ik"; il: "de.il"; im: "de.im"; in: "de.in"; io: "de.io"; ip: "de.ip"; iq: "de.iq"; ir: "de.ir"; is: "de.is"; it: "de.it"; iu: "de.iu"; iv: "de.iv"; iw: "de.iw"; ix: "de.ix"; iy: "de.iy"; iz: "de.iz"; ja: "de.ja"; jb: "de.jb"; jc: "de.jc"; jd: "de.jd"; je: "de.je"; jf: "de.jf"; jg: "de.jg"; jh: "de.jh"; ji: "de.ji"; jj: "de.jj"; jk: "de.jk"; jl: "de.jl"; jm: "de.jm"; jn: "de.jn"; jo: "de.jo"; jp: "de.jp"; jq: "de.jq"; jr: "de.jr"; js: "de.js"; jt: "de.jt"; ju: "de.ju"; jv: "de.jv"; jw: "de.jw"; jx: "de.jx"; jy: "de.jy"; jz: "de.jz"; ka: "de.ka"; kb: "de.kb"; kc: "de.kc"; kd: "de.kd"; ke: "de.ke"; kf: "de.kf"; kg: "de.kg"; kh: "de.kh"; ki: "de.ki"; kj: "de.kj"; kk: "de.kk"; kl: "de.kl"; km: "de.km"; kn: "de.kn"; ko: "de.ko"; kp: "de.kp"; kq: "de.kq"; kr: "de.kr"; ks: "de.ks"; kt: "de.kt"; ku: "de.ku"; kv: "de.kv"; kw: "de.kw"; kx: "de.kx"; ky: "de.ky"; kz: "de.kz"; la: "de.la"; lb: "de.lb"; lc: "de.lc"; ld: "de.ld"; le: "de.le"; lf: "de.lf"; lg: "de.lg"; lh: "de.lh"; li: "de.li"; lj: "de.lj"; lk: "de.lk"; ll: "de.ll"; lm: "de.lm"; ln: "de.ln"; lo: "de.lo"; lp: "de.lp"; lq: "de.lq"; lr: "de.lr"; ls: "de.ls"; lt: "de.lt"; lu: "de.lu"; lv: "de.lv"; lw: "de.lw"; lx: "de.lx"; ly: "de.ly"; lz: "de.lz"; ma: "de.ma"; mb: "de.mb"; mc: "de.mc"; md: "de.md"; me: "de.me"; mf: "de.mf"; mg: "de.mg"; mh: "de.mh"; mi: "de.mi"; mj: "de.mj"; mk: "de.mk"; ml: "de.ml"; mm: "de.mm"; mn: "de.mn"; mo: "de.mo"; mp: "de.mp"; mq: "de.mq"; mr: "de.mr"; ms: "de.ms"; mt: "de.mt"; mu: "de.mu"; mv: "de.mv"; mw: "de.mw"; mx: "de.mx"; my: "de.my"; mz: "de.mz"; na: "de.na"; nb: "de.nb"; nc: "de.nc"; nd: "de.nd"; ne: "de.ne"; nf: "de.nf"; ng: "de.ng"; nh: "de.nh"; ni: "de.ni"; nj: "de.nj"; nk: "de.nk"; nl: "de.nl"; nm: "de.nm"; nn: "de.nn"; no: "de.no"; np: "de.np"; nq: "de.nq"; nr: "de.nr"; ns: "de.ns"; nt: "de.nt"; nu: "de.nu"; nv: "de.nv"; nw: "de.nw"; nx: "de.nx"; ny: "de.ny"; nz: "de.nz"; oa: "de.oa"; ob: "de.ob"; oc: "de.oc"; od: "de.od"; oe: "de.oe"; of: "de.of"; og: "de.og"; oh: "de.oh"; oi: "de.oi"; oj: "de.oj"; ok: "de.ok"; ol: "de.ol"; om: "de.om"; on: "de.on"; oo: "de.oo"; op: "de.op"; oq: "de.oq"; or: "de.or"; os: "de.os"; ot: "de.ot"; ou: "de.ou"; ov: "de.ov"; ow: "de.ow"; ox: "de.ox"; oy: "de.oy"; oz: "de.oz"; pa: "de.pa"; pb: "de.pb"; pc: "de.pc"; pd: "de.pd"; pe: "de.pe"; pf: "de.pf"; pg: "de.pg"; ph: "de.ph"; pi: "de.pi"; pj: "de.pj"; pk: "de.pk"; pl: "de.pl"; pm: "de.pm"; pn: "de.pn"; po: "de.po"; pp: "de.pp"; pq: "de.pq"; pr: "de.pr"; ps: "de.ps"; pt: "de.pt"; pu: "de.pu"; pv: "de.pv"; pw: "de.pw"; px: "de.px"; py: "de.py"; pz: "de.pz"; qa: "de.qa"; qb: "de.qb"; qc: "de.qc"; qd: "de.qd"; qe: "de.qe"; qf: "de.qf"; qg: "de.qg"; qh: "de.qh"; qi: "de.qi"; qj: "de.qj"; qk: "de.qk"; ql: "de.ql"; qm: "de.qm"; qn: "de.qn"; qo: "de.qo"; qp: "de.qp"; qq: "de.qq"; qr: "de.qr"; qs: "de.qs"; qt: "de.qt"; qu: "de.qu"; qv: "de.qv"; qw: "de.qw"; qx: "de.qx"; qy: "de.qy"; qz: "de.qz"; ra: "de.ra"; rb: "de.rb"; rc: "de.rc"; rd: "de.rd"; re: "de.re"; rf: "de.rf"; rg: "de.rg"; rh: "de.rh"; ri: "de.ri"; rj: "de.rj"; rk: "de.rk"; rl: "de.rl"; rm: "de.rm"; rn: "de.rn"; ro: "de.ro"; rp: "de.rp"; rq: "de.rq"; rr: "de.rr"; rs: "de.rs"; rt: "de.rt"; ru: "de.ru"; rv: "de.rv"; rw: "de.rw"; rx: "de.rx"; ry: "de.ry"; rz: "de.rz"; sa: "de.sa"; sb: "de.sb"; sc: "de.sc"; sd: "de.sd"; se: "de.se"; sf: "de.sf"; sg: "de.sg"; sh: "de.sh"; si: "de.si"; sj: "de.sj"; sk: "de.sk"; sl: "de.sl"; sm: "de.sm"; sn: "de.sn"; so: "de.so"; sp: "de.sp"; sq: "de.sq"; sr: "de.sr"; ss: "de.ss"; st: "de.st"; su: "de.su"; sv: "de.sv"; sw: "de.sw"; sx: "de.sx"; sy: "de.sy"; sz: "de.sz"; ta: "de.ta"; tb: "de.tb"; tc: "de.tc"; td: "de.td"; te: "de.te"; tf: "de.tf"; tg: "de.tg"; th: "de.th"; ti: "de.ti"; tj: "de.tj"; tk: "de.tk"; tl: "de.tl"; tm: "de.tm"; tn: "de.tn"; to: "de.to"; tp: "de.tp"; tq: "de.tq"; tr: "de.tr"; ts: "de.ts"; tt: "de.tt"; tu: "de.tu"; tv: "de.tv"; tw: "de.tw"; tx: "de.tx"; ty: "de.ty"; tz: "de.tz"; ua: "de.ua"; ub: "de.ub"; uc: "de.uc"; ud: "de.ud"; ue: "de.ue"; uf: "de.uf"; ug: "de.ug"; uh: "de.uh"; ui: "de.ui"; uj: "de.uj"; uk: "de.uk"; ul: "de.ul"; um: "de.um"; un: "de.un"; uo: "de.uo"; up: "de.up"; uq: "de.uq"; ur: "de.ur"; us: "de.us"; ut: "de.ut"; uu: "de.uu"; uv: "de.uv"; uw: "de.uw"; ux: "de.ux"; uy: "de.uy"; uz: "de.uz"; va: "de.va"; vb: "de.vb"; vc: "de.vc"; vd: "de.vd"; ve: "de.ve"; vf: "de.vf"; vg: "de.vg"; vh: "de.vh"; vi: "de.vi"; vj: "de.vj"; vk: "de.vk"; vl: "de.vl"; vm: "de.vm"; vn: "de.vn"; vo: "de.vo"; vp: "de.vp"; vq: "de.vq"; vr: "de.vr"; vs: "de.vs"; vt: "de.vt"; vu: "de.vu"; vv: "de.vv"; vw: "de.vw"; vx: "de.vx"; vy: "de.vy"; vz: "de.vz"; wa: "de.wa"; wb: "de.wb"; wc: "de.wc"; wd: "de.wd"; we: "de.we"; wf: "de.wf"; wg: "de.wg"; wh: "de.wh"; wi: "de.wi"; wj: "de.wj"; wk: "de.wk"; wl: "de.wl"; wm: "de.wm"; wn: "de.wn"; wo: "de.wo"; wp: "de.wp"; wq: "de.wq"; wr: "de.wr"; ws: "de.ws"; wt: "de.wt"; wu: "de.wu"; wv: "de.wv"; ww: "de.ww"; wx: "de.wx"; wy: "de.wy"; wz: "de.wz"; xa: "de.xa"; xb: "de.xb"; xc: "de.xc"; xd: "de.xd"; xe: "de.xe"; xf: "de.xf"; xg: "de.xg"; xh: "de.xh"; xi: "de.xi"; xj: "de.xj"; xk: "de.xk"; xl: "de.xl"; xm: "de.xm"; xn: "de.xn"; xo: "de.xo"; xp: "de.xp"; xq: "de.xq"; xr: "de.xr"; xs: "de.xs"; xt: "de.xt"; xu: "de.xu"; xv: "de.xv"; xw: "de.xw"; xx: "de.xx"; xy: "de.xy"; xz: "de.xz"; ya: "de.ya"; yb: "de.yb"; yc: "de.yc"; yd: "de.yd"; ye: "de.ye"; yf: "de.yf"; yg: "de.yg"; yh: "de.yh"; yi: "de.yi"; yj: "de.yj"; yk: "de.yk"; yl: "de.yl"; ym: "de.ym"; yn: "de.yn"; yo: "de.yo"; yp: "de.yp"; yq: "de.yq"; yr: "de.yr"; ys: "de.ys"; yt: "de.yt"; yu: "de.yu"; yv: "de.yv"; yw: "de.yw"; yx: "de.yx"; yy: "de.yy"; yz: "de.yz"; za: "de.za"; zb: "de.zb"; zc: "de.zc"; zd: "de.zd"; ze: "de.ze"; zf: "de.zf"; zg: "de.zg"; zh: "de.zh"; zi: "de.zi"; zj: "de.zj"; zk: "de.zk"; zl: "de.zl"; zm: "de.zm"; zn: "de.zn"; zo: "de.zo"; zp: "de.zp"; zq: "de.zq"; zr: "de.zr"; zs: "de.zs"; zt: "de.zt"; zu: "de.zu"; zv: "de.zv"; zw: "de.zw"; zx: "de.zx"; zy: "de.zy"; zz: "de.zz"; }; df: { aa: "df.aa"; ab: "df.ab"; ac: "df.ac"; ad: "df.ad"; ae: "df.ae"; af: "df.af"; ag: "df.ag"; ah: "df.ah"; ai: "df.ai"; aj: "df.aj"; ak: "df.ak"; al: "df.al"; am: "df.am"; an: "df.an"; ao: "df.ao"; ap: "df.ap"; aq: "df.aq"; ar: "df.ar"; as: "df.as"; at: "df.at"; au: "df.au"; av: "df.av"; aw: "df.aw"; ax: "df.ax"; ay: "df.ay"; az: "df.az"; ba: "df.ba"; bb: "df.bb"; bc: "df.bc"; bd: "df.bd"; be: "df.be"; bf: "df.bf"; bg: "df.bg"; bh: "df.bh"; bi: "df.bi"; bj: "df.bj"; bk: "df.bk"; bl: "df.bl"; bm: "df.bm"; bn: "df.bn"; bo: "df.bo"; bp: "df.bp"; bq: "df.bq"; br: "df.br"; bs: "df.bs"; bt: "df.bt"; bu: "df.bu"; bv: "df.bv"; bw: "df.bw"; bx: "df.bx"; by: "df.by"; bz: "df.bz"; ca: "df.ca"; cb: "df.cb"; cc: "df.cc"; cd: "df.cd"; ce: "df.ce"; cf: "df.cf"; cg: "df.cg"; ch: "df.ch"; ci: "df.ci"; cj: "df.cj"; ck: "df.ck"; cl: "df.cl"; cm: "df.cm"; cn: "df.cn"; co: "df.co"; cp: "df.cp"; cq: "df.cq"; cr: "df.cr"; cs: "df.cs"; ct: "df.ct"; cu: "df.cu"; cv: "df.cv"; cw: "df.cw"; cx: "df.cx"; cy: "df.cy"; cz: "df.cz"; da: "df.da"; db: "df.db"; dc: "df.dc"; dd: "df.dd"; de: "df.de"; df: "df.df"; dg: "df.dg"; dh: "df.dh"; di: "df.di"; dj: "df.dj"; dk: "df.dk"; dl: "df.dl"; dm: "df.dm"; dn: "df.dn"; do: "df.do"; dp: "df.dp"; dq: "df.dq"; dr: "df.dr"; ds: "df.ds"; dt: "df.dt"; du: "df.du"; dv: "df.dv"; dw: "df.dw"; dx: "df.dx"; dy: "df.dy"; dz: "df.dz"; ea: "df.ea"; eb: "df.eb"; ec: "df.ec"; ed: "df.ed"; ee: "df.ee"; ef: "df.ef"; eg: "df.eg"; eh: "df.eh"; ei: "df.ei"; ej: "df.ej"; ek: "df.ek"; el: "df.el"; em: "df.em"; en: "df.en"; eo: "df.eo"; ep: "df.ep"; eq: "df.eq"; er: "df.er"; es: "df.es"; et: "df.et"; eu: "df.eu"; ev: "df.ev"; ew: "df.ew"; ex: "df.ex"; ey: "df.ey"; ez: "df.ez"; fa: "df.fa"; fb: "df.fb"; fc: "df.fc"; fd: "df.fd"; fe: "df.fe"; ff: "df.ff"; fg: "df.fg"; fh: "df.fh"; fi: "df.fi"; fj: "df.fj"; fk: "df.fk"; fl: "df.fl"; fm: "df.fm"; fn: "df.fn"; fo: "df.fo"; fp: "df.fp"; fq: "df.fq"; fr: "df.fr"; fs: "df.fs"; ft: "df.ft"; fu: "df.fu"; fv: "df.fv"; fw: "df.fw"; fx: "df.fx"; fy: "df.fy"; fz: "df.fz"; ga: "df.ga"; gb: "df.gb"; gc: "df.gc"; gd: "df.gd"; ge: "df.ge"; gf: "df.gf"; gg: "df.gg"; gh: "df.gh"; gi: "df.gi"; gj: "df.gj"; gk: "df.gk"; gl: "df.gl"; gm: "df.gm"; gn: "df.gn"; go: "df.go"; gp: "df.gp"; gq: "df.gq"; gr: "df.gr"; gs: "df.gs"; gt: "df.gt"; gu: "df.gu"; gv: "df.gv"; gw: "df.gw"; gx: "df.gx"; gy: "df.gy"; gz: "df.gz"; ha: "df.ha"; hb: "df.hb"; hc: "df.hc"; hd: "df.hd"; he: "df.he"; hf: "df.hf"; hg: "df.hg"; hh: "df.hh"; hi: "df.hi"; hj: "df.hj"; hk: "df.hk"; hl: "df.hl"; hm: "df.hm"; hn: "df.hn"; ho: "df.ho"; hp: "df.hp"; hq: "df.hq"; hr: "df.hr"; hs: "df.hs"; ht: "df.ht"; hu: "df.hu"; hv: "df.hv"; hw: "df.hw"; hx: "df.hx"; hy: "df.hy"; hz: "df.hz"; ia: "df.ia"; ib: "df.ib"; ic: "df.ic"; id: "df.id"; ie: "df.ie"; if: "df.if"; ig: "df.ig"; ih: "df.ih"; ii: "df.ii"; ij: "df.ij"; ik: "df.ik"; il: "df.il"; im: "df.im"; in: "df.in"; io: "df.io"; ip: "df.ip"; iq: "df.iq"; ir: "df.ir"; is: "df.is"; it: "df.it"; iu: "df.iu"; iv: "df.iv"; iw: "df.iw"; ix: "df.ix"; iy: "df.iy"; iz: "df.iz"; ja: "df.ja"; jb: "df.jb"; jc: "df.jc"; jd: "df.jd"; je: "df.je"; jf: "df.jf"; jg: "df.jg"; jh: "df.jh"; ji: "df.ji"; jj: "df.jj"; jk: "df.jk"; jl: "df.jl"; jm: "df.jm"; jn: "df.jn"; jo: "df.jo"; jp: "df.jp"; jq: "df.jq"; jr: "df.jr"; js: "df.js"; jt: "df.jt"; ju: "df.ju"; jv: "df.jv"; jw: "df.jw"; jx: "df.jx"; jy: "df.jy"; jz: "df.jz"; ka: "df.ka"; kb: "df.kb"; kc: "df.kc"; kd: "df.kd"; ke: "df.ke"; kf: "df.kf"; kg: "df.kg"; kh: "df.kh"; ki: "df.ki"; kj: "df.kj"; kk: "df.kk"; kl: "df.kl"; km: "df.km"; kn: "df.kn"; ko: "df.ko"; kp: "df.kp"; kq: "df.kq"; kr: "df.kr"; ks: "df.ks"; kt: "df.kt"; ku: "df.ku"; kv: "df.kv"; kw: "df.kw"; kx: "df.kx"; ky: "df.ky"; kz: "df.kz"; la: "df.la"; lb: "df.lb"; lc: "df.lc"; ld: "df.ld"; le: "df.le"; lf: "df.lf"; lg: "df.lg"; lh: "df.lh"; li: "df.li"; lj: "df.lj"; lk: "df.lk"; ll: "df.ll"; lm: "df.lm"; ln: "df.ln"; lo: "df.lo"; lp: "df.lp"; lq: "df.lq"; lr: "df.lr"; ls: "df.ls"; lt: "df.lt"; lu: "df.lu"; lv: "df.lv"; lw: "df.lw"; lx: "df.lx"; ly: "df.ly"; lz: "df.lz"; ma: "df.ma"; mb: "df.mb"; mc: "df.mc"; md: "df.md"; me: "df.me"; mf: "df.mf"; mg: "df.mg"; mh: "df.mh"; mi: "df.mi"; mj: "df.mj"; mk: "df.mk"; ml: "df.ml"; mm: "df.mm"; mn: "df.mn"; mo: "df.mo"; mp: "df.mp"; mq: "df.mq"; mr: "df.mr"; ms: "df.ms"; mt: "df.mt"; mu: "df.mu"; mv: "df.mv"; mw: "df.mw"; mx: "df.mx"; my: "df.my"; mz: "df.mz"; na: "df.na"; nb: "df.nb"; nc: "df.nc"; nd: "df.nd"; ne: "df.ne"; nf: "df.nf"; ng: "df.ng"; nh: "df.nh"; ni: "df.ni"; nj: "df.nj"; nk: "df.nk"; nl: "df.nl"; nm: "df.nm"; nn: "df.nn"; no: "df.no"; np: "df.np"; nq: "df.nq"; nr: "df.nr"; ns: "df.ns"; nt: "df.nt"; nu: "df.nu"; nv: "df.nv"; nw: "df.nw"; nx: "df.nx"; ny: "df.ny"; nz: "df.nz"; oa: "df.oa"; ob: "df.ob"; oc: "df.oc"; od: "df.od"; oe: "df.oe"; of: "df.of"; og: "df.og"; oh: "df.oh"; oi: "df.oi"; oj: "df.oj"; ok: "df.ok"; ol: "df.ol"; om: "df.om"; on: "df.on"; oo: "df.oo"; op: "df.op"; oq: "df.oq"; or: "df.or"; os: "df.os"; ot: "df.ot"; ou: "df.ou"; ov: "df.ov"; ow: "df.ow"; ox: "df.ox"; oy: "df.oy"; oz: "df.oz"; pa: "df.pa"; pb: "df.pb"; pc: "df.pc"; pd: "df.pd"; pe: "df.pe"; pf: "df.pf"; pg: "df.pg"; ph: "df.ph"; pi: "df.pi"; pj: "df.pj"; pk: "df.pk"; pl: "df.pl"; pm: "df.pm"; pn: "df.pn"; po: "df.po"; pp: "df.pp"; pq: "df.pq"; pr: "df.pr"; ps: "df.ps"; pt: "df.pt"; pu: "df.pu"; pv: "df.pv"; pw: "df.pw"; px: "df.px"; py: "df.py"; pz: "df.pz"; qa: "df.qa"; qb: "df.qb"; qc: "df.qc"; qd: "df.qd"; qe: "df.qe"; qf: "df.qf"; qg: "df.qg"; qh: "df.qh"; qi: "df.qi"; qj: "df.qj"; qk: "df.qk"; ql: "df.ql"; qm: "df.qm"; qn: "df.qn"; qo: "df.qo"; qp: "df.qp"; qq: "df.qq"; qr: "df.qr"; qs: "df.qs"; qt: "df.qt"; qu: "df.qu"; qv: "df.qv"; qw: "df.qw"; qx: "df.qx"; qy: "df.qy"; qz: "df.qz"; ra: "df.ra"; rb: "df.rb"; rc: "df.rc"; rd: "df.rd"; re: "df.re"; rf: "df.rf"; rg: "df.rg"; rh: "df.rh"; ri: "df.ri"; rj: "df.rj"; rk: "df.rk"; rl: "df.rl"; rm: "df.rm"; rn: "df.rn"; ro: "df.ro"; rp: "df.rp"; rq: "df.rq"; rr: "df.rr"; rs: "df.rs"; rt: "df.rt"; ru: "df.ru"; rv: "df.rv"; rw: "df.rw"; rx: "df.rx"; ry: "df.ry"; rz: "df.rz"; sa: "df.sa"; sb: "df.sb"; sc: "df.sc"; sd: "df.sd"; se: "df.se"; sf: "df.sf"; sg: "df.sg"; sh: "df.sh"; si: "df.si"; sj: "df.sj"; sk: "df.sk"; sl: "df.sl"; sm: "df.sm"; sn: "df.sn"; so: "df.so"; sp: "df.sp"; sq: "df.sq"; sr: "df.sr"; ss: "df.ss"; st: "df.st"; su: "df.su"; sv: "df.sv"; sw: "df.sw"; sx: "df.sx"; sy: "df.sy"; sz: "df.sz"; ta: "df.ta"; tb: "df.tb"; tc: "df.tc"; td: "df.td"; te: "df.te"; tf: "df.tf"; tg: "df.tg"; th: "df.th"; ti: "df.ti"; tj: "df.tj"; tk: "df.tk"; tl: "df.tl"; tm: "df.tm"; tn: "df.tn"; to: "df.to"; tp: "df.tp"; tq: "df.tq"; tr: "df.tr"; ts: "df.ts"; tt: "df.tt"; tu: "df.tu"; tv: "df.tv"; tw: "df.tw"; tx: "df.tx"; ty: "df.ty"; tz: "df.tz"; ua: "df.ua"; ub: "df.ub"; uc: "df.uc"; ud: "df.ud"; ue: "df.ue"; uf: "df.uf"; ug: "df.ug"; uh: "df.uh"; ui: "df.ui"; uj: "df.uj"; uk: "df.uk"; ul: "df.ul"; um: "df.um"; un: "df.un"; uo: "df.uo"; up: "df.up"; uq: "df.uq"; ur: "df.ur"; us: "df.us"; ut: "df.ut"; uu: "df.uu"; uv: "df.uv"; uw: "df.uw"; ux: "df.ux"; uy: "df.uy"; uz: "df.uz"; va: "df.va"; vb: "df.vb"; vc: "df.vc"; vd: "df.vd"; ve: "df.ve"; vf: "df.vf"; vg: "df.vg"; vh: "df.vh"; vi: "df.vi"; vj: "df.vj"; vk: "df.vk"; vl: "df.vl"; vm: "df.vm"; vn: "df.vn"; vo: "df.vo"; vp: "df.vp"; vq: "df.vq"; vr: "df.vr"; vs: "df.vs"; vt: "df.vt"; vu: "df.vu"; vv: "df.vv"; vw: "df.vw"; vx: "df.vx"; vy: "df.vy"; vz: "df.vz"; wa: "df.wa"; wb: "df.wb"; wc: "df.wc"; wd: "df.wd"; we: "df.we"; wf: "df.wf"; wg: "df.wg"; wh: "df.wh"; wi: "df.wi"; wj: "df.wj"; wk: "df.wk"; wl: "df.wl"; wm: "df.wm"; wn: "df.wn"; wo: "df.wo"; wp: "df.wp"; wq: "df.wq"; wr: "df.wr"; ws: "df.ws"; wt: "df.wt"; wu: "df.wu"; wv: "df.wv"; ww: "df.ww"; wx: "df.wx"; wy: "df.wy"; wz: "df.wz"; xa: "df.xa"; xb: "df.xb"; xc: "df.xc"; xd: "df.xd"; xe: "df.xe"; xf: "df.xf"; xg: "df.xg"; xh: "df.xh"; xi: "df.xi"; xj: "df.xj"; xk: "df.xk"; xl: "df.xl"; xm: "df.xm"; xn: "df.xn"; xo: "df.xo"; xp: "df.xp"; xq: "df.xq"; xr: "df.xr"; xs: "df.xs"; xt: "df.xt"; xu: "df.xu"; xv: "df.xv"; xw: "df.xw"; xx: "df.xx"; xy: "df.xy"; xz: "df.xz"; ya: "df.ya"; yb: "df.yb"; yc: "df.yc"; yd: "df.yd"; ye: "df.ye"; yf: "df.yf"; yg: "df.yg"; yh: "df.yh"; yi: "df.yi"; yj: "df.yj"; yk: "df.yk"; yl: "df.yl"; ym: "df.ym"; yn: "df.yn"; yo: "df.yo"; yp: "df.yp"; yq: "df.yq"; yr: "df.yr"; ys: "df.ys"; yt: "df.yt"; yu: "df.yu"; yv: "df.yv"; yw: "df.yw"; yx: "df.yx"; yy: "df.yy"; yz: "df.yz"; za: "df.za"; zb: "df.zb"; zc: "df.zc"; zd: "df.zd"; ze: "df.ze"; zf: "df.zf"; zg: "df.zg"; zh: "df.zh"; zi: "df.zi"; zj: "df.zj"; zk: "df.zk"; zl: "df.zl"; zm: "df.zm"; zn: "df.zn"; zo: "df.zo"; zp: "df.zp"; zq: "df.zq"; zr: "df.zr"; zs: "df.zs"; zt: "df.zt"; zu: "df.zu"; zv: "df.zv"; zw: "df.zw"; zx: "df.zx"; zy: "df.zy"; zz: "df.zz"; }; dg: { aa: "dg.aa"; ab: "dg.ab"; ac: "dg.ac"; ad: "dg.ad"; ae: "dg.ae"; af: "dg.af"; ag: "dg.ag"; ah: "dg.ah"; ai: "dg.ai"; aj: "dg.aj"; ak: "dg.ak"; al: "dg.al"; am: "dg.am"; an: "dg.an"; ao: "dg.ao"; ap: "dg.ap"; aq: "dg.aq"; ar: "dg.ar"; as: "dg.as"; at: "dg.at"; au: "dg.au"; av: "dg.av"; aw: "dg.aw"; ax: "dg.ax"; ay: "dg.ay"; az: "dg.az"; ba: "dg.ba"; bb: "dg.bb"; bc: "dg.bc"; bd: "dg.bd"; be: "dg.be"; bf: "dg.bf"; bg: "dg.bg"; bh: "dg.bh"; bi: "dg.bi"; bj: "dg.bj"; bk: "dg.bk"; bl: "dg.bl"; bm: "dg.bm"; bn: "dg.bn"; bo: "dg.bo"; bp: "dg.bp"; bq: "dg.bq"; br: "dg.br"; bs: "dg.bs"; bt: "dg.bt"; bu: "dg.bu"; bv: "dg.bv"; bw: "dg.bw"; bx: "dg.bx"; by: "dg.by"; bz: "dg.bz"; ca: "dg.ca"; cb: "dg.cb"; cc: "dg.cc"; cd: "dg.cd"; ce: "dg.ce"; cf: "dg.cf"; cg: "dg.cg"; ch: "dg.ch"; ci: "dg.ci"; cj: "dg.cj"; ck: "dg.ck"; cl: "dg.cl"; cm: "dg.cm"; cn: "dg.cn"; co: "dg.co"; cp: "dg.cp"; cq: "dg.cq"; cr: "dg.cr"; cs: "dg.cs"; ct: "dg.ct"; cu: "dg.cu"; cv: "dg.cv"; cw: "dg.cw"; cx: "dg.cx"; cy: "dg.cy"; cz: "dg.cz"; da: "dg.da"; db: "dg.db"; dc: "dg.dc"; dd: "dg.dd"; de: "dg.de"; df: "dg.df"; dg: "dg.dg"; dh: "dg.dh"; di: "dg.di"; dj: "dg.dj"; dk: "dg.dk"; dl: "dg.dl"; dm: "dg.dm"; dn: "dg.dn"; do: "dg.do"; dp: "dg.dp"; dq: "dg.dq"; dr: "dg.dr"; ds: "dg.ds"; dt: "dg.dt"; du: "dg.du"; dv: "dg.dv"; dw: "dg.dw"; dx: "dg.dx"; dy: "dg.dy"; dz: "dg.dz"; ea: "dg.ea"; eb: "dg.eb"; ec: "dg.ec"; ed: "dg.ed"; ee: "dg.ee"; ef: "dg.ef"; eg: "dg.eg"; eh: "dg.eh"; ei: "dg.ei"; ej: "dg.ej"; ek: "dg.ek"; el: "dg.el"; em: "dg.em"; en: "dg.en"; eo: "dg.eo"; ep: "dg.ep"; eq: "dg.eq"; er: "dg.er"; es: "dg.es"; et: "dg.et"; eu: "dg.eu"; ev: "dg.ev"; ew: "dg.ew"; ex: "dg.ex"; ey: "dg.ey"; ez: "dg.ez"; fa: "dg.fa"; fb: "dg.fb"; fc: "dg.fc"; fd: "dg.fd"; fe: "dg.fe"; ff: "dg.ff"; fg: "dg.fg"; fh: "dg.fh"; fi: "dg.fi"; fj: "dg.fj"; fk: "dg.fk"; fl: "dg.fl"; fm: "dg.fm"; fn: "dg.fn"; fo: "dg.fo"; fp: "dg.fp"; fq: "dg.fq"; fr: "dg.fr"; fs: "dg.fs"; ft: "dg.ft"; fu: "dg.fu"; fv: "dg.fv"; fw: "dg.fw"; fx: "dg.fx"; fy: "dg.fy"; fz: "dg.fz"; ga: "dg.ga"; gb: "dg.gb"; gc: "dg.gc"; gd: "dg.gd"; ge: "dg.ge"; gf: "dg.gf"; gg: "dg.gg"; gh: "dg.gh"; gi: "dg.gi"; gj: "dg.gj"; gk: "dg.gk"; gl: "dg.gl"; gm: "dg.gm"; gn: "dg.gn"; go: "dg.go"; gp: "dg.gp"; gq: "dg.gq"; gr: "dg.gr"; gs: "dg.gs"; gt: "dg.gt"; gu: "dg.gu"; gv: "dg.gv"; gw: "dg.gw"; gx: "dg.gx"; gy: "dg.gy"; gz: "dg.gz"; ha: "dg.ha"; hb: "dg.hb"; hc: "dg.hc"; hd: "dg.hd"; he: "dg.he"; hf: "dg.hf"; hg: "dg.hg"; hh: "dg.hh"; hi: "dg.hi"; hj: "dg.hj"; hk: "dg.hk"; hl: "dg.hl"; hm: "dg.hm"; hn: "dg.hn"; ho: "dg.ho"; hp: "dg.hp"; hq: "dg.hq"; hr: "dg.hr"; hs: "dg.hs"; ht: "dg.ht"; hu: "dg.hu"; hv: "dg.hv"; hw: "dg.hw"; hx: "dg.hx"; hy: "dg.hy"; hz: "dg.hz"; ia: "dg.ia"; ib: "dg.ib"; ic: "dg.ic"; id: "dg.id"; ie: "dg.ie"; if: "dg.if"; ig: "dg.ig"; ih: "dg.ih"; ii: "dg.ii"; ij: "dg.ij"; ik: "dg.ik"; il: "dg.il"; im: "dg.im"; in: "dg.in"; io: "dg.io"; ip: "dg.ip"; iq: "dg.iq"; ir: "dg.ir"; is: "dg.is"; it: "dg.it"; iu: "dg.iu"; iv: "dg.iv"; iw: "dg.iw"; ix: "dg.ix"; iy: "dg.iy"; iz: "dg.iz"; ja: "dg.ja"; jb: "dg.jb"; jc: "dg.jc"; jd: "dg.jd"; je: "dg.je"; jf: "dg.jf"; jg: "dg.jg"; jh: "dg.jh"; ji: "dg.ji"; jj: "dg.jj"; jk: "dg.jk"; jl: "dg.jl"; jm: "dg.jm"; jn: "dg.jn"; jo: "dg.jo"; jp: "dg.jp"; jq: "dg.jq"; jr: "dg.jr"; js: "dg.js"; jt: "dg.jt"; ju: "dg.ju"; jv: "dg.jv"; jw: "dg.jw"; jx: "dg.jx"; jy: "dg.jy"; jz: "dg.jz"; ka: "dg.ka"; kb: "dg.kb"; kc: "dg.kc"; kd: "dg.kd"; ke: "dg.ke"; kf: "dg.kf"; kg: "dg.kg"; kh: "dg.kh"; ki: "dg.ki"; kj: "dg.kj"; kk: "dg.kk"; kl: "dg.kl"; km: "dg.km"; kn: "dg.kn"; ko: "dg.ko"; kp: "dg.kp"; kq: "dg.kq"; kr: "dg.kr"; ks: "dg.ks"; kt: "dg.kt"; ku: "dg.ku"; kv: "dg.kv"; kw: "dg.kw"; kx: "dg.kx"; ky: "dg.ky"; kz: "dg.kz"; la: "dg.la"; lb: "dg.lb"; lc: "dg.lc"; ld: "dg.ld"; le: "dg.le"; lf: "dg.lf"; lg: "dg.lg"; lh: "dg.lh"; li: "dg.li"; lj: "dg.lj"; lk: "dg.lk"; ll: "dg.ll"; lm: "dg.lm"; ln: "dg.ln"; lo: "dg.lo"; lp: "dg.lp"; lq: "dg.lq"; lr: "dg.lr"; ls: "dg.ls"; lt: "dg.lt"; lu: "dg.lu"; lv: "dg.lv"; lw: "dg.lw"; lx: "dg.lx"; ly: "dg.ly"; lz: "dg.lz"; ma: "dg.ma"; mb: "dg.mb"; mc: "dg.mc"; md: "dg.md"; me: "dg.me"; mf: "dg.mf"; mg: "dg.mg"; mh: "dg.mh"; mi: "dg.mi"; mj: "dg.mj"; mk: "dg.mk"; ml: "dg.ml"; mm: "dg.mm"; mn: "dg.mn"; mo: "dg.mo"; mp: "dg.mp"; mq: "dg.mq"; mr: "dg.mr"; ms: "dg.ms"; mt: "dg.mt"; mu: "dg.mu"; mv: "dg.mv"; mw: "dg.mw"; mx: "dg.mx"; my: "dg.my"; mz: "dg.mz"; na: "dg.na"; nb: "dg.nb"; nc: "dg.nc"; nd: "dg.nd"; ne: "dg.ne"; nf: "dg.nf"; ng: "dg.ng"; nh: "dg.nh"; ni: "dg.ni"; nj: "dg.nj"; nk: "dg.nk"; nl: "dg.nl"; nm: "dg.nm"; nn: "dg.nn"; no: "dg.no"; np: "dg.np"; nq: "dg.nq"; nr: "dg.nr"; ns: "dg.ns"; nt: "dg.nt"; nu: "dg.nu"; nv: "dg.nv"; nw: "dg.nw"; nx: "dg.nx"; ny: "dg.ny"; nz: "dg.nz"; oa: "dg.oa"; ob: "dg.ob"; oc: "dg.oc"; od: "dg.od"; oe: "dg.oe"; of: "dg.of"; og: "dg.og"; oh: "dg.oh"; oi: "dg.oi"; oj: "dg.oj"; ok: "dg.ok"; ol: "dg.ol"; om: "dg.om"; on: "dg.on"; oo: "dg.oo"; op: "dg.op"; oq: "dg.oq"; or: "dg.or"; os: "dg.os"; ot: "dg.ot"; ou: "dg.ou"; ov: "dg.ov"; ow: "dg.ow"; ox: "dg.ox"; oy: "dg.oy"; oz: "dg.oz"; pa: "dg.pa"; pb: "dg.pb"; pc: "dg.pc"; pd: "dg.pd"; pe: "dg.pe"; pf: "dg.pf"; pg: "dg.pg"; ph: "dg.ph"; pi: "dg.pi"; pj: "dg.pj"; pk: "dg.pk"; pl: "dg.pl"; pm: "dg.pm"; pn: "dg.pn"; po: "dg.po"; pp: "dg.pp"; pq: "dg.pq"; pr: "dg.pr"; ps: "dg.ps"; pt: "dg.pt"; pu: "dg.pu"; pv: "dg.pv"; pw: "dg.pw"; px: "dg.px"; py: "dg.py"; pz: "dg.pz"; qa: "dg.qa"; qb: "dg.qb"; qc: "dg.qc"; qd: "dg.qd"; qe: "dg.qe"; qf: "dg.qf"; qg: "dg.qg"; qh: "dg.qh"; qi: "dg.qi"; qj: "dg.qj"; qk: "dg.qk"; ql: "dg.ql"; qm: "dg.qm"; qn: "dg.qn"; qo: "dg.qo"; qp: "dg.qp"; qq: "dg.qq"; qr: "dg.qr"; qs: "dg.qs"; qt: "dg.qt"; qu: "dg.qu"; qv: "dg.qv"; qw: "dg.qw"; qx: "dg.qx"; qy: "dg.qy"; qz: "dg.qz"; ra: "dg.ra"; rb: "dg.rb"; rc: "dg.rc"; rd: "dg.rd"; re: "dg.re"; rf: "dg.rf"; rg: "dg.rg"; rh: "dg.rh"; ri: "dg.ri"; rj: "dg.rj"; rk: "dg.rk"; rl: "dg.rl"; rm: "dg.rm"; rn: "dg.rn"; ro: "dg.ro"; rp: "dg.rp"; rq: "dg.rq"; rr: "dg.rr"; rs: "dg.rs"; rt: "dg.rt"; ru: "dg.ru"; rv: "dg.rv"; rw: "dg.rw"; rx: "dg.rx"; ry: "dg.ry"; rz: "dg.rz"; sa: "dg.sa"; sb: "dg.sb"; sc: "dg.sc"; sd: "dg.sd"; se: "dg.se"; sf: "dg.sf"; sg: "dg.sg"; sh: "dg.sh"; si: "dg.si"; sj: "dg.sj"; sk: "dg.sk"; sl: "dg.sl"; sm: "dg.sm"; sn: "dg.sn"; so: "dg.so"; sp: "dg.sp"; sq: "dg.sq"; sr: "dg.sr"; ss: "dg.ss"; st: "dg.st"; su: "dg.su"; sv: "dg.sv"; sw: "dg.sw"; sx: "dg.sx"; sy: "dg.sy"; sz: "dg.sz"; ta: "dg.ta"; tb: "dg.tb"; tc: "dg.tc"; td: "dg.td"; te: "dg.te"; tf: "dg.tf"; tg: "dg.tg"; th: "dg.th"; ti: "dg.ti"; tj: "dg.tj"; tk: "dg.tk"; tl: "dg.tl"; tm: "dg.tm"; tn: "dg.tn"; to: "dg.to"; tp: "dg.tp"; tq: "dg.tq"; tr: "dg.tr"; ts: "dg.ts"; tt: "dg.tt"; tu: "dg.tu"; tv: "dg.tv"; tw: "dg.tw"; tx: "dg.tx"; ty: "dg.ty"; tz: "dg.tz"; ua: "dg.ua"; ub: "dg.ub"; uc: "dg.uc"; ud: "dg.ud"; ue: "dg.ue"; uf: "dg.uf"; ug: "dg.ug"; uh: "dg.uh"; ui: "dg.ui"; uj: "dg.uj"; uk: "dg.uk"; ul: "dg.ul"; um: "dg.um"; un: "dg.un"; uo: "dg.uo"; up: "dg.up"; uq: "dg.uq"; ur: "dg.ur"; us: "dg.us"; ut: "dg.ut"; uu: "dg.uu"; uv: "dg.uv"; uw: "dg.uw"; ux: "dg.ux"; uy: "dg.uy"; uz: "dg.uz"; va: "dg.va"; vb: "dg.vb"; vc: "dg.vc"; vd: "dg.vd"; ve: "dg.ve"; vf: "dg.vf"; vg: "dg.vg"; vh: "dg.vh"; vi: "dg.vi"; vj: "dg.vj"; vk: "dg.vk"; vl: "dg.vl"; vm: "dg.vm"; vn: "dg.vn"; vo: "dg.vo"; vp: "dg.vp"; vq: "dg.vq"; vr: "dg.vr"; vs: "dg.vs"; vt: "dg.vt"; vu: "dg.vu"; vv: "dg.vv"; vw: "dg.vw"; vx: "dg.vx"; vy: "dg.vy"; vz: "dg.vz"; wa: "dg.wa"; wb: "dg.wb"; wc: "dg.wc"; wd: "dg.wd"; we: "dg.we"; wf: "dg.wf"; wg: "dg.wg"; wh: "dg.wh"; wi: "dg.wi"; wj: "dg.wj"; wk: "dg.wk"; wl: "dg.wl"; wm: "dg.wm"; wn: "dg.wn"; wo: "dg.wo"; wp: "dg.wp"; wq: "dg.wq"; wr: "dg.wr"; ws: "dg.ws"; wt: "dg.wt"; wu: "dg.wu"; wv: "dg.wv"; ww: "dg.ww"; wx: "dg.wx"; wy: "dg.wy"; wz: "dg.wz"; xa: "dg.xa"; xb: "dg.xb"; xc: "dg.xc"; xd: "dg.xd"; xe: "dg.xe"; xf: "dg.xf"; xg: "dg.xg"; xh: "dg.xh"; xi: "dg.xi"; xj: "dg.xj"; xk: "dg.xk"; xl: "dg.xl"; xm: "dg.xm"; xn: "dg.xn"; xo: "dg.xo"; xp: "dg.xp"; xq: "dg.xq"; xr: "dg.xr"; xs: "dg.xs"; xt: "dg.xt"; xu: "dg.xu"; xv: "dg.xv"; xw: "dg.xw"; xx: "dg.xx"; xy: "dg.xy"; xz: "dg.xz"; ya: "dg.ya"; yb: "dg.yb"; yc: "dg.yc"; yd: "dg.yd"; ye: "dg.ye"; yf: "dg.yf"; yg: "dg.yg"; yh: "dg.yh"; yi: "dg.yi"; yj: "dg.yj"; yk: "dg.yk"; yl: "dg.yl"; ym: "dg.ym"; yn: "dg.yn"; yo: "dg.yo"; yp: "dg.yp"; yq: "dg.yq"; yr: "dg.yr"; ys: "dg.ys"; yt: "dg.yt"; yu: "dg.yu"; yv: "dg.yv"; yw: "dg.yw"; yx: "dg.yx"; yy: "dg.yy"; yz: "dg.yz"; za: "dg.za"; zb: "dg.zb"; zc: "dg.zc"; zd: "dg.zd"; ze: "dg.ze"; zf: "dg.zf"; zg: "dg.zg"; zh: "dg.zh"; zi: "dg.zi"; zj: "dg.zj"; zk: "dg.zk"; zl: "dg.zl"; zm: "dg.zm"; zn: "dg.zn"; zo: "dg.zo"; zp: "dg.zp"; zq: "dg.zq"; zr: "dg.zr"; zs: "dg.zs"; zt: "dg.zt"; zu: "dg.zu"; zv: "dg.zv"; zw: "dg.zw"; zx: "dg.zx"; zy: "dg.zy"; zz: "dg.zz"; }; dh: { aa: "dh.aa"; ab: "dh.ab"; ac: "dh.ac"; ad: "dh.ad"; ae: "dh.ae"; af: "dh.af"; ag: "dh.ag"; ah: "dh.ah"; ai: "dh.ai"; aj: "dh.aj"; ak: "dh.ak"; al: "dh.al"; am: "dh.am"; an: "dh.an"; ao: "dh.ao"; ap: "dh.ap"; aq: "dh.aq"; ar: "dh.ar"; as: "dh.as"; at: "dh.at"; au: "dh.au"; av: "dh.av"; aw: "dh.aw"; ax: "dh.ax"; ay: "dh.ay"; az: "dh.az"; ba: "dh.ba"; bb: "dh.bb"; bc: "dh.bc"; bd: "dh.bd"; be: "dh.be"; bf: "dh.bf"; bg: "dh.bg"; bh: "dh.bh"; bi: "dh.bi"; bj: "dh.bj"; bk: "dh.bk"; bl: "dh.bl"; bm: "dh.bm"; bn: "dh.bn"; bo: "dh.bo"; bp: "dh.bp"; bq: "dh.bq"; br: "dh.br"; bs: "dh.bs"; bt: "dh.bt"; bu: "dh.bu"; bv: "dh.bv"; bw: "dh.bw"; bx: "dh.bx"; by: "dh.by"; bz: "dh.bz"; ca: "dh.ca"; cb: "dh.cb"; cc: "dh.cc"; cd: "dh.cd"; ce: "dh.ce"; cf: "dh.cf"; cg: "dh.cg"; ch: "dh.ch"; ci: "dh.ci"; cj: "dh.cj"; ck: "dh.ck"; cl: "dh.cl"; cm: "dh.cm"; cn: "dh.cn"; co: "dh.co"; cp: "dh.cp"; cq: "dh.cq"; cr: "dh.cr"; cs: "dh.cs"; ct: "dh.ct"; cu: "dh.cu"; cv: "dh.cv"; cw: "dh.cw"; cx: "dh.cx"; cy: "dh.cy"; cz: "dh.cz"; da: "dh.da"; db: "dh.db"; dc: "dh.dc"; dd: "dh.dd"; de: "dh.de"; df: "dh.df"; dg: "dh.dg"; dh: "dh.dh"; di: "dh.di"; dj: "dh.dj"; dk: "dh.dk"; dl: "dh.dl"; dm: "dh.dm"; dn: "dh.dn"; do: "dh.do"; dp: "dh.dp"; dq: "dh.dq"; dr: "dh.dr"; ds: "dh.ds"; dt: "dh.dt"; du: "dh.du"; dv: "dh.dv"; dw: "dh.dw"; dx: "dh.dx"; dy: "dh.dy"; dz: "dh.dz"; ea: "dh.ea"; eb: "dh.eb"; ec: "dh.ec"; ed: "dh.ed"; ee: "dh.ee"; ef: "dh.ef"; eg: "dh.eg"; eh: "dh.eh"; ei: "dh.ei"; ej: "dh.ej"; ek: "dh.ek"; el: "dh.el"; em: "dh.em"; en: "dh.en"; eo: "dh.eo"; ep: "dh.ep"; eq: "dh.eq"; er: "dh.er"; es: "dh.es"; et: "dh.et"; eu: "dh.eu"; ev: "dh.ev"; ew: "dh.ew"; ex: "dh.ex"; ey: "dh.ey"; ez: "dh.ez"; fa: "dh.fa"; fb: "dh.fb"; fc: "dh.fc"; fd: "dh.fd"; fe: "dh.fe"; ff: "dh.ff"; fg: "dh.fg"; fh: "dh.fh"; fi: "dh.fi"; fj: "dh.fj"; fk: "dh.fk"; fl: "dh.fl"; fm: "dh.fm"; fn: "dh.fn"; fo: "dh.fo"; fp: "dh.fp"; fq: "dh.fq"; fr: "dh.fr"; fs: "dh.fs"; ft: "dh.ft"; fu: "dh.fu"; fv: "dh.fv"; fw: "dh.fw"; fx: "dh.fx"; fy: "dh.fy"; fz: "dh.fz"; ga: "dh.ga"; gb: "dh.gb"; gc: "dh.gc"; gd: "dh.gd"; ge: "dh.ge"; gf: "dh.gf"; gg: "dh.gg"; gh: "dh.gh"; gi: "dh.gi"; gj: "dh.gj"; gk: "dh.gk"; gl: "dh.gl"; gm: "dh.gm"; gn: "dh.gn"; go: "dh.go"; gp: "dh.gp"; gq: "dh.gq"; gr: "dh.gr"; gs: "dh.gs"; gt: "dh.gt"; gu: "dh.gu"; gv: "dh.gv"; gw: "dh.gw"; gx: "dh.gx"; gy: "dh.gy"; gz: "dh.gz"; ha: "dh.ha"; hb: "dh.hb"; hc: "dh.hc"; hd: "dh.hd"; he: "dh.he"; hf: "dh.hf"; hg: "dh.hg"; hh: "dh.hh"; hi: "dh.hi"; hj: "dh.hj"; hk: "dh.hk"; hl: "dh.hl"; hm: "dh.hm"; hn: "dh.hn"; ho: "dh.ho"; hp: "dh.hp"; hq: "dh.hq"; hr: "dh.hr"; hs: "dh.hs"; ht: "dh.ht"; hu: "dh.hu"; hv: "dh.hv"; hw: "dh.hw"; hx: "dh.hx"; hy: "dh.hy"; hz: "dh.hz"; ia: "dh.ia"; ib: "dh.ib"; ic: "dh.ic"; id: "dh.id"; ie: "dh.ie"; if: "dh.if"; ig: "dh.ig"; ih: "dh.ih"; ii: "dh.ii"; ij: "dh.ij"; ik: "dh.ik"; il: "dh.il"; im: "dh.im"; in: "dh.in"; io: "dh.io"; ip: "dh.ip"; iq: "dh.iq"; ir: "dh.ir"; is: "dh.is"; it: "dh.it"; iu: "dh.iu"; iv: "dh.iv"; iw: "dh.iw"; ix: "dh.ix"; iy: "dh.iy"; iz: "dh.iz"; ja: "dh.ja"; jb: "dh.jb"; jc: "dh.jc"; jd: "dh.jd"; je: "dh.je"; jf: "dh.jf"; jg: "dh.jg"; jh: "dh.jh"; ji: "dh.ji"; jj: "dh.jj"; jk: "dh.jk"; jl: "dh.jl"; jm: "dh.jm"; jn: "dh.jn"; jo: "dh.jo"; jp: "dh.jp"; jq: "dh.jq"; jr: "dh.jr"; js: "dh.js"; jt: "dh.jt"; ju: "dh.ju"; jv: "dh.jv"; jw: "dh.jw"; jx: "dh.jx"; jy: "dh.jy"; jz: "dh.jz"; ka: "dh.ka"; kb: "dh.kb"; kc: "dh.kc"; kd: "dh.kd"; ke: "dh.ke"; kf: "dh.kf"; kg: "dh.kg"; kh: "dh.kh"; ki: "dh.ki"; kj: "dh.kj"; kk: "dh.kk"; kl: "dh.kl"; km: "dh.km"; kn: "dh.kn"; ko: "dh.ko"; kp: "dh.kp"; kq: "dh.kq"; kr: "dh.kr"; ks: "dh.ks"; kt: "dh.kt"; ku: "dh.ku"; kv: "dh.kv"; kw: "dh.kw"; kx: "dh.kx"; ky: "dh.ky"; kz: "dh.kz"; la: "dh.la"; lb: "dh.lb"; lc: "dh.lc"; ld: "dh.ld"; le: "dh.le"; lf: "dh.lf"; lg: "dh.lg"; lh: "dh.lh"; li: "dh.li"; lj: "dh.lj"; lk: "dh.lk"; ll: "dh.ll"; lm: "dh.lm"; ln: "dh.ln"; lo: "dh.lo"; lp: "dh.lp"; lq: "dh.lq"; lr: "dh.lr"; ls: "dh.ls"; lt: "dh.lt"; lu: "dh.lu"; lv: "dh.lv"; lw: "dh.lw"; lx: "dh.lx"; ly: "dh.ly"; lz: "dh.lz"; ma: "dh.ma"; mb: "dh.mb"; mc: "dh.mc"; md: "dh.md"; me: "dh.me"; mf: "dh.mf"; mg: "dh.mg"; mh: "dh.mh"; mi: "dh.mi"; mj: "dh.mj"; mk: "dh.mk"; ml: "dh.ml"; mm: "dh.mm"; mn: "dh.mn"; mo: "dh.mo"; mp: "dh.mp"; mq: "dh.mq"; mr: "dh.mr"; ms: "dh.ms"; mt: "dh.mt"; mu: "dh.mu"; mv: "dh.mv"; mw: "dh.mw"; mx: "dh.mx"; my: "dh.my"; mz: "dh.mz"; na: "dh.na"; nb: "dh.nb"; nc: "dh.nc"; nd: "dh.nd"; ne: "dh.ne"; nf: "dh.nf"; ng: "dh.ng"; nh: "dh.nh"; ni: "dh.ni"; nj: "dh.nj"; nk: "dh.nk"; nl: "dh.nl"; nm: "dh.nm"; nn: "dh.nn"; no: "dh.no"; np: "dh.np"; nq: "dh.nq"; nr: "dh.nr"; ns: "dh.ns"; nt: "dh.nt"; nu: "dh.nu"; nv: "dh.nv"; nw: "dh.nw"; nx: "dh.nx"; ny: "dh.ny"; nz: "dh.nz"; oa: "dh.oa"; ob: "dh.ob"; oc: "dh.oc"; od: "dh.od"; oe: "dh.oe"; of: "dh.of"; og: "dh.og"; oh: "dh.oh"; oi: "dh.oi"; oj: "dh.oj"; ok: "dh.ok"; ol: "dh.ol"; om: "dh.om"; on: "dh.on"; oo: "dh.oo"; op: "dh.op"; oq: "dh.oq"; or: "dh.or"; os: "dh.os"; ot: "dh.ot"; ou: "dh.ou"; ov: "dh.ov"; ow: "dh.ow"; ox: "dh.ox"; oy: "dh.oy"; oz: "dh.oz"; pa: "dh.pa"; pb: "dh.pb"; pc: "dh.pc"; pd: "dh.pd"; pe: "dh.pe"; pf: "dh.pf"; pg: "dh.pg"; ph: "dh.ph"; pi: "dh.pi"; pj: "dh.pj"; pk: "dh.pk"; pl: "dh.pl"; pm: "dh.pm"; pn: "dh.pn"; po: "dh.po"; pp: "dh.pp"; pq: "dh.pq"; pr: "dh.pr"; ps: "dh.ps"; pt: "dh.pt"; pu: "dh.pu"; pv: "dh.pv"; pw: "dh.pw"; px: "dh.px"; py: "dh.py"; pz: "dh.pz"; qa: "dh.qa"; qb: "dh.qb"; qc: "dh.qc"; qd: "dh.qd"; qe: "dh.qe"; qf: "dh.qf"; qg: "dh.qg"; qh: "dh.qh"; qi: "dh.qi"; qj: "dh.qj"; qk: "dh.qk"; ql: "dh.ql"; qm: "dh.qm"; qn: "dh.qn"; qo: "dh.qo"; qp: "dh.qp"; qq: "dh.qq"; qr: "dh.qr"; qs: "dh.qs"; qt: "dh.qt"; qu: "dh.qu"; qv: "dh.qv"; qw: "dh.qw"; qx: "dh.qx"; qy: "dh.qy"; qz: "dh.qz"; ra: "dh.ra"; rb: "dh.rb"; rc: "dh.rc"; rd: "dh.rd"; re: "dh.re"; rf: "dh.rf"; rg: "dh.rg"; rh: "dh.rh"; ri: "dh.ri"; rj: "dh.rj"; rk: "dh.rk"; rl: "dh.rl"; rm: "dh.rm"; rn: "dh.rn"; ro: "dh.ro"; rp: "dh.rp"; rq: "dh.rq"; rr: "dh.rr"; rs: "dh.rs"; rt: "dh.rt"; ru: "dh.ru"; rv: "dh.rv"; rw: "dh.rw"; rx: "dh.rx"; ry: "dh.ry"; rz: "dh.rz"; sa: "dh.sa"; sb: "dh.sb"; sc: "dh.sc"; sd: "dh.sd"; se: "dh.se"; sf: "dh.sf"; sg: "dh.sg"; sh: "dh.sh"; si: "dh.si"; sj: "dh.sj"; sk: "dh.sk"; sl: "dh.sl"; sm: "dh.sm"; sn: "dh.sn"; so: "dh.so"; sp: "dh.sp"; sq: "dh.sq"; sr: "dh.sr"; ss: "dh.ss"; st: "dh.st"; su: "dh.su"; sv: "dh.sv"; sw: "dh.sw"; sx: "dh.sx"; sy: "dh.sy"; sz: "dh.sz"; ta: "dh.ta"; tb: "dh.tb"; tc: "dh.tc"; td: "dh.td"; te: "dh.te"; tf: "dh.tf"; tg: "dh.tg"; th: "dh.th"; ti: "dh.ti"; tj: "dh.tj"; tk: "dh.tk"; tl: "dh.tl"; tm: "dh.tm"; tn: "dh.tn"; to: "dh.to"; tp: "dh.tp"; tq: "dh.tq"; tr: "dh.tr"; ts: "dh.ts"; tt: "dh.tt"; tu: "dh.tu"; tv: "dh.tv"; tw: "dh.tw"; tx: "dh.tx"; ty: "dh.ty"; tz: "dh.tz"; ua: "dh.ua"; ub: "dh.ub"; uc: "dh.uc"; ud: "dh.ud"; ue: "dh.ue"; uf: "dh.uf"; ug: "dh.ug"; uh: "dh.uh"; ui: "dh.ui"; uj: "dh.uj"; uk: "dh.uk"; ul: "dh.ul"; um: "dh.um"; un: "dh.un"; uo: "dh.uo"; up: "dh.up"; uq: "dh.uq"; ur: "dh.ur"; us: "dh.us"; ut: "dh.ut"; uu: "dh.uu"; uv: "dh.uv"; uw: "dh.uw"; ux: "dh.ux"; uy: "dh.uy"; uz: "dh.uz"; va: "dh.va"; vb: "dh.vb"; vc: "dh.vc"; vd: "dh.vd"; ve: "dh.ve"; vf: "dh.vf"; vg: "dh.vg"; vh: "dh.vh"; vi: "dh.vi"; vj: "dh.vj"; vk: "dh.vk"; vl: "dh.vl"; vm: "dh.vm"; vn: "dh.vn"; vo: "dh.vo"; vp: "dh.vp"; vq: "dh.vq"; vr: "dh.vr"; vs: "dh.vs"; vt: "dh.vt"; vu: "dh.vu"; vv: "dh.vv"; vw: "dh.vw"; vx: "dh.vx"; vy: "dh.vy"; vz: "dh.vz"; wa: "dh.wa"; wb: "dh.wb"; wc: "dh.wc"; wd: "dh.wd"; we: "dh.we"; wf: "dh.wf"; wg: "dh.wg"; wh: "dh.wh"; wi: "dh.wi"; wj: "dh.wj"; wk: "dh.wk"; wl: "dh.wl"; wm: "dh.wm"; wn: "dh.wn"; wo: "dh.wo"; wp: "dh.wp"; wq: "dh.wq"; wr: "dh.wr"; ws: "dh.ws"; wt: "dh.wt"; wu: "dh.wu"; wv: "dh.wv"; ww: "dh.ww"; wx: "dh.wx"; wy: "dh.wy"; wz: "dh.wz"; xa: "dh.xa"; xb: "dh.xb"; xc: "dh.xc"; xd: "dh.xd"; xe: "dh.xe"; xf: "dh.xf"; xg: "dh.xg"; xh: "dh.xh"; xi: "dh.xi"; xj: "dh.xj"; xk: "dh.xk"; xl: "dh.xl"; xm: "dh.xm"; xn: "dh.xn"; xo: "dh.xo"; xp: "dh.xp"; xq: "dh.xq"; xr: "dh.xr"; xs: "dh.xs"; xt: "dh.xt"; xu: "dh.xu"; xv: "dh.xv"; xw: "dh.xw"; xx: "dh.xx"; xy: "dh.xy"; xz: "dh.xz"; ya: "dh.ya"; yb: "dh.yb"; yc: "dh.yc"; yd: "dh.yd"; ye: "dh.ye"; yf: "dh.yf"; yg: "dh.yg"; yh: "dh.yh"; yi: "dh.yi"; yj: "dh.yj"; yk: "dh.yk"; yl: "dh.yl"; ym: "dh.ym"; yn: "dh.yn"; yo: "dh.yo"; yp: "dh.yp"; yq: "dh.yq"; yr: "dh.yr"; ys: "dh.ys"; yt: "dh.yt"; yu: "dh.yu"; yv: "dh.yv"; yw: "dh.yw"; yx: "dh.yx"; yy: "dh.yy"; yz: "dh.yz"; za: "dh.za"; zb: "dh.zb"; zc: "dh.zc"; zd: "dh.zd"; ze: "dh.ze"; zf: "dh.zf"; zg: "dh.zg"; zh: "dh.zh"; zi: "dh.zi"; zj: "dh.zj"; zk: "dh.zk"; zl: "dh.zl"; zm: "dh.zm"; zn: "dh.zn"; zo: "dh.zo"; zp: "dh.zp"; zq: "dh.zq"; zr: "dh.zr"; zs: "dh.zs"; zt: "dh.zt"; zu: "dh.zu"; zv: "dh.zv"; zw: "dh.zw"; zx: "dh.zx"; zy: "dh.zy"; zz: "dh.zz"; }; di: { aa: "di.aa"; ab: "di.ab"; ac: "di.ac"; ad: "di.ad"; ae: "di.ae"; af: "di.af"; ag: "di.ag"; ah: "di.ah"; ai: "di.ai"; aj: "di.aj"; ak: "di.ak"; al: "di.al"; am: "di.am"; an: "di.an"; ao: "di.ao"; ap: "di.ap"; aq: "di.aq"; ar: "di.ar"; as: "di.as"; at: "di.at"; au: "di.au"; av: "di.av"; aw: "di.aw"; ax: "di.ax"; ay: "di.ay"; az: "di.az"; ba: "di.ba"; bb: "di.bb"; bc: "di.bc"; bd: "di.bd"; be: "di.be"; bf: "di.bf"; bg: "di.bg"; bh: "di.bh"; bi: "di.bi"; bj: "di.bj"; bk: "di.bk"; bl: "di.bl"; bm: "di.bm"; bn: "di.bn"; bo: "di.bo"; bp: "di.bp"; bq: "di.bq"; br: "di.br"; bs: "di.bs"; bt: "di.bt"; bu: "di.bu"; bv: "di.bv"; bw: "di.bw"; bx: "di.bx"; by: "di.by"; bz: "di.bz"; ca: "di.ca"; cb: "di.cb"; cc: "di.cc"; cd: "di.cd"; ce: "di.ce"; cf: "di.cf"; cg: "di.cg"; ch: "di.ch"; ci: "di.ci"; cj: "di.cj"; ck: "di.ck"; cl: "di.cl"; cm: "di.cm"; cn: "di.cn"; co: "di.co"; cp: "di.cp"; cq: "di.cq"; cr: "di.cr"; cs: "di.cs"; ct: "di.ct"; cu: "di.cu"; cv: "di.cv"; cw: "di.cw"; cx: "di.cx"; cy: "di.cy"; cz: "di.cz"; da: "di.da"; db: "di.db"; dc: "di.dc"; dd: "di.dd"; de: "di.de"; df: "di.df"; dg: "di.dg"; dh: "di.dh"; di: "di.di"; dj: "di.dj"; dk: "di.dk"; dl: "di.dl"; dm: "di.dm"; dn: "di.dn"; do: "di.do"; dp: "di.dp"; dq: "di.dq"; dr: "di.dr"; ds: "di.ds"; dt: "di.dt"; du: "di.du"; dv: "di.dv"; dw: "di.dw"; dx: "di.dx"; dy: "di.dy"; dz: "di.dz"; ea: "di.ea"; eb: "di.eb"; ec: "di.ec"; ed: "di.ed"; ee: "di.ee"; ef: "di.ef"; eg: "di.eg"; eh: "di.eh"; ei: "di.ei"; ej: "di.ej"; ek: "di.ek"; el: "di.el"; em: "di.em"; en: "di.en"; eo: "di.eo"; ep: "di.ep"; eq: "di.eq"; er: "di.er"; es: "di.es"; et: "di.et"; eu: "di.eu"; ev: "di.ev"; ew: "di.ew"; ex: "di.ex"; ey: "di.ey"; ez: "di.ez"; fa: "di.fa"; fb: "di.fb"; fc: "di.fc"; fd: "di.fd"; fe: "di.fe"; ff: "di.ff"; fg: "di.fg"; fh: "di.fh"; fi: "di.fi"; fj: "di.fj"; fk: "di.fk"; fl: "di.fl"; fm: "di.fm"; fn: "di.fn"; fo: "di.fo"; fp: "di.fp"; fq: "di.fq"; fr: "di.fr"; fs: "di.fs"; ft: "di.ft"; fu: "di.fu"; fv: "di.fv"; fw: "di.fw"; fx: "di.fx"; fy: "di.fy"; fz: "di.fz"; ga: "di.ga"; gb: "di.gb"; gc: "di.gc"; gd: "di.gd"; ge: "di.ge"; gf: "di.gf"; gg: "di.gg"; gh: "di.gh"; gi: "di.gi"; gj: "di.gj"; gk: "di.gk"; gl: "di.gl"; gm: "di.gm"; gn: "di.gn"; go: "di.go"; gp: "di.gp"; gq: "di.gq"; gr: "di.gr"; gs: "di.gs"; gt: "di.gt"; gu: "di.gu"; gv: "di.gv"; gw: "di.gw"; gx: "di.gx"; gy: "di.gy"; gz: "di.gz"; ha: "di.ha"; hb: "di.hb"; hc: "di.hc"; hd: "di.hd"; he: "di.he"; hf: "di.hf"; hg: "di.hg"; hh: "di.hh"; hi: "di.hi"; hj: "di.hj"; hk: "di.hk"; hl: "di.hl"; hm: "di.hm"; hn: "di.hn"; ho: "di.ho"; hp: "di.hp"; hq: "di.hq"; hr: "di.hr"; hs: "di.hs"; ht: "di.ht"; hu: "di.hu"; hv: "di.hv"; hw: "di.hw"; hx: "di.hx"; hy: "di.hy"; hz: "di.hz"; ia: "di.ia"; ib: "di.ib"; ic: "di.ic"; id: "di.id"; ie: "di.ie"; if: "di.if"; ig: "di.ig"; ih: "di.ih"; ii: "di.ii"; ij: "di.ij"; ik: "di.ik"; il: "di.il"; im: "di.im"; in: "di.in"; io: "di.io"; ip: "di.ip"; iq: "di.iq"; ir: "di.ir"; is: "di.is"; it: "di.it"; iu: "di.iu"; iv: "di.iv"; iw: "di.iw"; ix: "di.ix"; iy: "di.iy"; iz: "di.iz"; ja: "di.ja"; jb: "di.jb"; jc: "di.jc"; jd: "di.jd"; je: "di.je"; jf: "di.jf"; jg: "di.jg"; jh: "di.jh"; ji: "di.ji"; jj: "di.jj"; jk: "di.jk"; jl: "di.jl"; jm: "di.jm"; jn: "di.jn"; jo: "di.jo"; jp: "di.jp"; jq: "di.jq"; jr: "di.jr"; js: "di.js"; jt: "di.jt"; ju: "di.ju"; jv: "di.jv"; jw: "di.jw"; jx: "di.jx"; jy: "di.jy"; jz: "di.jz"; ka: "di.ka"; kb: "di.kb"; kc: "di.kc"; kd: "di.kd"; ke: "di.ke"; kf: "di.kf"; kg: "di.kg"; kh: "di.kh"; ki: "di.ki"; kj: "di.kj"; kk: "di.kk"; kl: "di.kl"; km: "di.km"; kn: "di.kn"; ko: "di.ko"; kp: "di.kp"; kq: "di.kq"; kr: "di.kr"; ks: "di.ks"; kt: "di.kt"; ku: "di.ku"; kv: "di.kv"; kw: "di.kw"; kx: "di.kx"; ky: "di.ky"; kz: "di.kz"; la: "di.la"; lb: "di.lb"; lc: "di.lc"; ld: "di.ld"; le: "di.le"; lf: "di.lf"; lg: "di.lg"; lh: "di.lh"; li: "di.li"; lj: "di.lj"; lk: "di.lk"; ll: "di.ll"; lm: "di.lm"; ln: "di.ln"; lo: "di.lo"; lp: "di.lp"; lq: "di.lq"; lr: "di.lr"; ls: "di.ls"; lt: "di.lt"; lu: "di.lu"; lv: "di.lv"; lw: "di.lw"; lx: "di.lx"; ly: "di.ly"; lz: "di.lz"; ma: "di.ma"; mb: "di.mb"; mc: "di.mc"; md: "di.md"; me: "di.me"; mf: "di.mf"; mg: "di.mg"; mh: "di.mh"; mi: "di.mi"; mj: "di.mj"; mk: "di.mk"; ml: "di.ml"; mm: "di.mm"; mn: "di.mn"; mo: "di.mo"; mp: "di.mp"; mq: "di.mq"; mr: "di.mr"; ms: "di.ms"; mt: "di.mt"; mu: "di.mu"; mv: "di.mv"; mw: "di.mw"; mx: "di.mx"; my: "di.my"; mz: "di.mz"; na: "di.na"; nb: "di.nb"; nc: "di.nc"; nd: "di.nd"; ne: "di.ne"; nf: "di.nf"; ng: "di.ng"; nh: "di.nh"; ni: "di.ni"; nj: "di.nj"; nk: "di.nk"; nl: "di.nl"; nm: "di.nm"; nn: "di.nn"; no: "di.no"; np: "di.np"; nq: "di.nq"; nr: "di.nr"; ns: "di.ns"; nt: "di.nt"; nu: "di.nu"; nv: "di.nv"; nw: "di.nw"; nx: "di.nx"; ny: "di.ny"; nz: "di.nz"; oa: "di.oa"; ob: "di.ob"; oc: "di.oc"; od: "di.od"; oe: "di.oe"; of: "di.of"; og: "di.og"; oh: "di.oh"; oi: "di.oi"; oj: "di.oj"; ok: "di.ok"; ol: "di.ol"; om: "di.om"; on: "di.on"; oo: "di.oo"; op: "di.op"; oq: "di.oq"; or: "di.or"; os: "di.os"; ot: "di.ot"; ou: "di.ou"; ov: "di.ov"; ow: "di.ow"; ox: "di.ox"; oy: "di.oy"; oz: "di.oz"; pa: "di.pa"; pb: "di.pb"; pc: "di.pc"; pd: "di.pd"; pe: "di.pe"; pf: "di.pf"; pg: "di.pg"; ph: "di.ph"; pi: "di.pi"; pj: "di.pj"; pk: "di.pk"; pl: "di.pl"; pm: "di.pm"; pn: "di.pn"; po: "di.po"; pp: "di.pp"; pq: "di.pq"; pr: "di.pr"; ps: "di.ps"; pt: "di.pt"; pu: "di.pu"; pv: "di.pv"; pw: "di.pw"; px: "di.px"; py: "di.py"; pz: "di.pz"; qa: "di.qa"; qb: "di.qb"; qc: "di.qc"; qd: "di.qd"; qe: "di.qe"; qf: "di.qf"; qg: "di.qg"; qh: "di.qh"; qi: "di.qi"; qj: "di.qj"; qk: "di.qk"; ql: "di.ql"; qm: "di.qm"; qn: "di.qn"; qo: "di.qo"; qp: "di.qp"; qq: "di.qq"; qr: "di.qr"; qs: "di.qs"; qt: "di.qt"; qu: "di.qu"; qv: "di.qv"; qw: "di.qw"; qx: "di.qx"; qy: "di.qy"; qz: "di.qz"; ra: "di.ra"; rb: "di.rb"; rc: "di.rc"; rd: "di.rd"; re: "di.re"; rf: "di.rf"; rg: "di.rg"; rh: "di.rh"; ri: "di.ri"; rj: "di.rj"; rk: "di.rk"; rl: "di.rl"; rm: "di.rm"; rn: "di.rn"; ro: "di.ro"; rp: "di.rp"; rq: "di.rq"; rr: "di.rr"; rs: "di.rs"; rt: "di.rt"; ru: "di.ru"; rv: "di.rv"; rw: "di.rw"; rx: "di.rx"; ry: "di.ry"; rz: "di.rz"; sa: "di.sa"; sb: "di.sb"; sc: "di.sc"; sd: "di.sd"; se: "di.se"; sf: "di.sf"; sg: "di.sg"; sh: "di.sh"; si: "di.si"; sj: "di.sj"; sk: "di.sk"; sl: "di.sl"; sm: "di.sm"; sn: "di.sn"; so: "di.so"; sp: "di.sp"; sq: "di.sq"; sr: "di.sr"; ss: "di.ss"; st: "di.st"; su: "di.su"; sv: "di.sv"; sw: "di.sw"; sx: "di.sx"; sy: "di.sy"; sz: "di.sz"; ta: "di.ta"; tb: "di.tb"; tc: "di.tc"; td: "di.td"; te: "di.te"; tf: "di.tf"; tg: "di.tg"; th: "di.th"; ti: "di.ti"; tj: "di.tj"; tk: "di.tk"; tl: "di.tl"; tm: "di.tm"; tn: "di.tn"; to: "di.to"; tp: "di.tp"; tq: "di.tq"; tr: "di.tr"; ts: "di.ts"; tt: "di.tt"; tu: "di.tu"; tv: "di.tv"; tw: "di.tw"; tx: "di.tx"; ty: "di.ty"; tz: "di.tz"; ua: "di.ua"; ub: "di.ub"; uc: "di.uc"; ud: "di.ud"; ue: "di.ue"; uf: "di.uf"; ug: "di.ug"; uh: "di.uh"; ui: "di.ui"; uj: "di.uj"; uk: "di.uk"; ul: "di.ul"; um: "di.um"; un: "di.un"; uo: "di.uo"; up: "di.up"; uq: "di.uq"; ur: "di.ur"; us: "di.us"; ut: "di.ut"; uu: "di.uu"; uv: "di.uv"; uw: "di.uw"; ux: "di.ux"; uy: "di.uy"; uz: "di.uz"; va: "di.va"; vb: "di.vb"; vc: "di.vc"; vd: "di.vd"; ve: "di.ve"; vf: "di.vf"; vg: "di.vg"; vh: "di.vh"; vi: "di.vi"; vj: "di.vj"; vk: "di.vk"; vl: "di.vl"; vm: "di.vm"; vn: "di.vn"; vo: "di.vo"; vp: "di.vp"; vq: "di.vq"; vr: "di.vr"; vs: "di.vs"; vt: "di.vt"; vu: "di.vu"; vv: "di.vv"; vw: "di.vw"; vx: "di.vx"; vy: "di.vy"; vz: "di.vz"; wa: "di.wa"; wb: "di.wb"; wc: "di.wc"; wd: "di.wd"; we: "di.we"; wf: "di.wf"; wg: "di.wg"; wh: "di.wh"; wi: "di.wi"; wj: "di.wj"; wk: "di.wk"; wl: "di.wl"; wm: "di.wm"; wn: "di.wn"; wo: "di.wo"; wp: "di.wp"; wq: "di.wq"; wr: "di.wr"; ws: "di.ws"; wt: "di.wt"; wu: "di.wu"; wv: "di.wv"; ww: "di.ww"; wx: "di.wx"; wy: "di.wy"; wz: "di.wz"; xa: "di.xa"; xb: "di.xb"; xc: "di.xc"; xd: "di.xd"; xe: "di.xe"; xf: "di.xf"; xg: "di.xg"; xh: "di.xh"; xi: "di.xi"; xj: "di.xj"; xk: "di.xk"; xl: "di.xl"; xm: "di.xm"; xn: "di.xn"; xo: "di.xo"; xp: "di.xp"; xq: "di.xq"; xr: "di.xr"; xs: "di.xs"; xt: "di.xt"; xu: "di.xu"; xv: "di.xv"; xw: "di.xw"; xx: "di.xx"; xy: "di.xy"; xz: "di.xz"; ya: "di.ya"; yb: "di.yb"; yc: "di.yc"; yd: "di.yd"; ye: "di.ye"; yf: "di.yf"; yg: "di.yg"; yh: "di.yh"; yi: "di.yi"; yj: "di.yj"; yk: "di.yk"; yl: "di.yl"; ym: "di.ym"; yn: "di.yn"; yo: "di.yo"; yp: "di.yp"; yq: "di.yq"; yr: "di.yr"; ys: "di.ys"; yt: "di.yt"; yu: "di.yu"; yv: "di.yv"; yw: "di.yw"; yx: "di.yx"; yy: "di.yy"; yz: "di.yz"; za: "di.za"; zb: "di.zb"; zc: "di.zc"; zd: "di.zd"; ze: "di.ze"; zf: "di.zf"; zg: "di.zg"; zh: "di.zh"; zi: "di.zi"; zj: "di.zj"; zk: "di.zk"; zl: "di.zl"; zm: "di.zm"; zn: "di.zn"; zo: "di.zo"; zp: "di.zp"; zq: "di.zq"; zr: "di.zr"; zs: "di.zs"; zt: "di.zt"; zu: "di.zu"; zv: "di.zv"; zw: "di.zw"; zx: "di.zx"; zy: "di.zy"; zz: "di.zz"; }; dj: { aa: "dj.aa"; ab: "dj.ab"; ac: "dj.ac"; ad: "dj.ad"; ae: "dj.ae"; af: "dj.af"; ag: "dj.ag"; ah: "dj.ah"; ai: "dj.ai"; aj: "dj.aj"; ak: "dj.ak"; al: "dj.al"; am: "dj.am"; an: "dj.an"; ao: "dj.ao"; ap: "dj.ap"; aq: "dj.aq"; ar: "dj.ar"; as: "dj.as"; at: "dj.at"; au: "dj.au"; av: "dj.av"; aw: "dj.aw"; ax: "dj.ax"; ay: "dj.ay"; az: "dj.az"; ba: "dj.ba"; bb: "dj.bb"; bc: "dj.bc"; bd: "dj.bd"; be: "dj.be"; bf: "dj.bf"; bg: "dj.bg"; bh: "dj.bh"; bi: "dj.bi"; bj: "dj.bj"; bk: "dj.bk"; bl: "dj.bl"; bm: "dj.bm"; bn: "dj.bn"; bo: "dj.bo"; bp: "dj.bp"; bq: "dj.bq"; br: "dj.br"; bs: "dj.bs"; bt: "dj.bt"; bu: "dj.bu"; bv: "dj.bv"; bw: "dj.bw"; bx: "dj.bx"; by: "dj.by"; bz: "dj.bz"; ca: "dj.ca"; cb: "dj.cb"; cc: "dj.cc"; cd: "dj.cd"; ce: "dj.ce"; cf: "dj.cf"; cg: "dj.cg"; ch: "dj.ch"; ci: "dj.ci"; cj: "dj.cj"; ck: "dj.ck"; cl: "dj.cl"; cm: "dj.cm"; cn: "dj.cn"; co: "dj.co"; cp: "dj.cp"; cq: "dj.cq"; cr: "dj.cr"; cs: "dj.cs"; ct: "dj.ct"; cu: "dj.cu"; cv: "dj.cv"; cw: "dj.cw"; cx: "dj.cx"; cy: "dj.cy"; cz: "dj.cz"; da: "dj.da"; db: "dj.db"; dc: "dj.dc"; dd: "dj.dd"; de: "dj.de"; df: "dj.df"; dg: "dj.dg"; dh: "dj.dh"; di: "dj.di"; dj: "dj.dj"; dk: "dj.dk"; dl: "dj.dl"; dm: "dj.dm"; dn: "dj.dn"; do: "dj.do"; dp: "dj.dp"; dq: "dj.dq"; dr: "dj.dr"; ds: "dj.ds"; dt: "dj.dt"; du: "dj.du"; dv: "dj.dv"; dw: "dj.dw"; dx: "dj.dx"; dy: "dj.dy"; dz: "dj.dz"; ea: "dj.ea"; eb: "dj.eb"; ec: "dj.ec"; ed: "dj.ed"; ee: "dj.ee"; ef: "dj.ef"; eg: "dj.eg"; eh: "dj.eh"; ei: "dj.ei"; ej: "dj.ej"; ek: "dj.ek"; el: "dj.el"; em: "dj.em"; en: "dj.en"; eo: "dj.eo"; ep: "dj.ep"; eq: "dj.eq"; er: "dj.er"; es: "dj.es"; et: "dj.et"; eu: "dj.eu"; ev: "dj.ev"; ew: "dj.ew"; ex: "dj.ex"; ey: "dj.ey"; ez: "dj.ez"; fa: "dj.fa"; fb: "dj.fb"; fc: "dj.fc"; fd: "dj.fd"; fe: "dj.fe"; ff: "dj.ff"; fg: "dj.fg"; fh: "dj.fh"; fi: "dj.fi"; fj: "dj.fj"; fk: "dj.fk"; fl: "dj.fl"; fm: "dj.fm"; fn: "dj.fn"; fo: "dj.fo"; fp: "dj.fp"; fq: "dj.fq"; fr: "dj.fr"; fs: "dj.fs"; ft: "dj.ft"; fu: "dj.fu"; fv: "dj.fv"; fw: "dj.fw"; fx: "dj.fx"; fy: "dj.fy"; fz: "dj.fz"; ga: "dj.ga"; gb: "dj.gb"; gc: "dj.gc"; gd: "dj.gd"; ge: "dj.ge"; gf: "dj.gf"; gg: "dj.gg"; gh: "dj.gh"; gi: "dj.gi"; gj: "dj.gj"; gk: "dj.gk"; gl: "dj.gl"; gm: "dj.gm"; gn: "dj.gn"; go: "dj.go"; gp: "dj.gp"; gq: "dj.gq"; gr: "dj.gr"; gs: "dj.gs"; gt: "dj.gt"; gu: "dj.gu"; gv: "dj.gv"; gw: "dj.gw"; gx: "dj.gx"; gy: "dj.gy"; gz: "dj.gz"; ha: "dj.ha"; hb: "dj.hb"; hc: "dj.hc"; hd: "dj.hd"; he: "dj.he"; hf: "dj.hf"; hg: "dj.hg"; hh: "dj.hh"; hi: "dj.hi"; hj: "dj.hj"; hk: "dj.hk"; hl: "dj.hl"; hm: "dj.hm"; hn: "dj.hn"; ho: "dj.ho"; hp: "dj.hp"; hq: "dj.hq"; hr: "dj.hr"; hs: "dj.hs"; ht: "dj.ht"; hu: "dj.hu"; hv: "dj.hv"; hw: "dj.hw"; hx: "dj.hx"; hy: "dj.hy"; hz: "dj.hz"; ia: "dj.ia"; ib: "dj.ib"; ic: "dj.ic"; id: "dj.id"; ie: "dj.ie"; if: "dj.if"; ig: "dj.ig"; ih: "dj.ih"; ii: "dj.ii"; ij: "dj.ij"; ik: "dj.ik"; il: "dj.il"; im: "dj.im"; in: "dj.in"; io: "dj.io"; ip: "dj.ip"; iq: "dj.iq"; ir: "dj.ir"; is: "dj.is"; it: "dj.it"; iu: "dj.iu"; iv: "dj.iv"; iw: "dj.iw"; ix: "dj.ix"; iy: "dj.iy"; iz: "dj.iz"; ja: "dj.ja"; jb: "dj.jb"; jc: "dj.jc"; jd: "dj.jd"; je: "dj.je"; jf: "dj.jf"; jg: "dj.jg"; jh: "dj.jh"; ji: "dj.ji"; jj: "dj.jj"; jk: "dj.jk"; jl: "dj.jl"; jm: "dj.jm"; jn: "dj.jn"; jo: "dj.jo"; jp: "dj.jp"; jq: "dj.jq"; jr: "dj.jr"; js: "dj.js"; jt: "dj.jt"; ju: "dj.ju"; jv: "dj.jv"; jw: "dj.jw"; jx: "dj.jx"; jy: "dj.jy"; jz: "dj.jz"; ka: "dj.ka"; kb: "dj.kb"; kc: "dj.kc"; kd: "dj.kd"; ke: "dj.ke"; kf: "dj.kf"; kg: "dj.kg"; kh: "dj.kh"; ki: "dj.ki"; kj: "dj.kj"; kk: "dj.kk"; kl: "dj.kl"; km: "dj.km"; kn: "dj.kn"; ko: "dj.ko"; kp: "dj.kp"; kq: "dj.kq"; kr: "dj.kr"; ks: "dj.ks"; kt: "dj.kt"; ku: "dj.ku"; kv: "dj.kv"; kw: "dj.kw"; kx: "dj.kx"; ky: "dj.ky"; kz: "dj.kz"; la: "dj.la"; lb: "dj.lb"; lc: "dj.lc"; ld: "dj.ld"; le: "dj.le"; lf: "dj.lf"; lg: "dj.lg"; lh: "dj.lh"; li: "dj.li"; lj: "dj.lj"; lk: "dj.lk"; ll: "dj.ll"; lm: "dj.lm"; ln: "dj.ln"; lo: "dj.lo"; lp: "dj.lp"; lq: "dj.lq"; lr: "dj.lr"; ls: "dj.ls"; lt: "dj.lt"; lu: "dj.lu"; lv: "dj.lv"; lw: "dj.lw"; lx: "dj.lx"; ly: "dj.ly"; lz: "dj.lz"; ma: "dj.ma"; mb: "dj.mb"; mc: "dj.mc"; md: "dj.md"; me: "dj.me"; mf: "dj.mf"; mg: "dj.mg"; mh: "dj.mh"; mi: "dj.mi"; mj: "dj.mj"; mk: "dj.mk"; ml: "dj.ml"; mm: "dj.mm"; mn: "dj.mn"; mo: "dj.mo"; mp: "dj.mp"; mq: "dj.mq"; mr: "dj.mr"; ms: "dj.ms"; mt: "dj.mt"; mu: "dj.mu"; mv: "dj.mv"; mw: "dj.mw"; mx: "dj.mx"; my: "dj.my"; mz: "dj.mz"; na: "dj.na"; nb: "dj.nb"; nc: "dj.nc"; nd: "dj.nd"; ne: "dj.ne"; nf: "dj.nf"; ng: "dj.ng"; nh: "dj.nh"; ni: "dj.ni"; nj: "dj.nj"; nk: "dj.nk"; nl: "dj.nl"; nm: "dj.nm"; nn: "dj.nn"; no: "dj.no"; np: "dj.np"; nq: "dj.nq"; nr: "dj.nr"; ns: "dj.ns"; nt: "dj.nt"; nu: "dj.nu"; nv: "dj.nv"; nw: "dj.nw"; nx: "dj.nx"; ny: "dj.ny"; nz: "dj.nz"; oa: "dj.oa"; ob: "dj.ob"; oc: "dj.oc"; od: "dj.od"; oe: "dj.oe"; of: "dj.of"; og: "dj.og"; oh: "dj.oh"; oi: "dj.oi"; oj: "dj.oj"; ok: "dj.ok"; ol: "dj.ol"; om: "dj.om"; on: "dj.on"; oo: "dj.oo"; op: "dj.op"; oq: "dj.oq"; or: "dj.or"; os: "dj.os"; ot: "dj.ot"; ou: "dj.ou"; ov: "dj.ov"; ow: "dj.ow"; ox: "dj.ox"; oy: "dj.oy"; oz: "dj.oz"; pa: "dj.pa"; pb: "dj.pb"; pc: "dj.pc"; pd: "dj.pd"; pe: "dj.pe"; pf: "dj.pf"; pg: "dj.pg"; ph: "dj.ph"; pi: "dj.pi"; pj: "dj.pj"; pk: "dj.pk"; pl: "dj.pl"; pm: "dj.pm"; pn: "dj.pn"; po: "dj.po"; pp: "dj.pp"; pq: "dj.pq"; pr: "dj.pr"; ps: "dj.ps"; pt: "dj.pt"; pu: "dj.pu"; pv: "dj.pv"; pw: "dj.pw"; px: "dj.px"; py: "dj.py"; pz: "dj.pz"; qa: "dj.qa"; qb: "dj.qb"; qc: "dj.qc"; qd: "dj.qd"; qe: "dj.qe"; qf: "dj.qf"; qg: "dj.qg"; qh: "dj.qh"; qi: "dj.qi"; qj: "dj.qj"; qk: "dj.qk"; ql: "dj.ql"; qm: "dj.qm"; qn: "dj.qn"; qo: "dj.qo"; qp: "dj.qp"; qq: "dj.qq"; qr: "dj.qr"; qs: "dj.qs"; qt: "dj.qt"; qu: "dj.qu"; qv: "dj.qv"; qw: "dj.qw"; qx: "dj.qx"; qy: "dj.qy"; qz: "dj.qz"; ra: "dj.ra"; rb: "dj.rb"; rc: "dj.rc"; rd: "dj.rd"; re: "dj.re"; rf: "dj.rf"; rg: "dj.rg"; rh: "dj.rh"; ri: "dj.ri"; rj: "dj.rj"; rk: "dj.rk"; rl: "dj.rl"; rm: "dj.rm"; rn: "dj.rn"; ro: "dj.ro"; rp: "dj.rp"; rq: "dj.rq"; rr: "dj.rr"; rs: "dj.rs"; rt: "dj.rt"; ru: "dj.ru"; rv: "dj.rv"; rw: "dj.rw"; rx: "dj.rx"; ry: "dj.ry"; rz: "dj.rz"; sa: "dj.sa"; sb: "dj.sb"; sc: "dj.sc"; sd: "dj.sd"; se: "dj.se"; sf: "dj.sf"; sg: "dj.sg"; sh: "dj.sh"; si: "dj.si"; sj: "dj.sj"; sk: "dj.sk"; sl: "dj.sl"; sm: "dj.sm"; sn: "dj.sn"; so: "dj.so"; sp: "dj.sp"; sq: "dj.sq"; sr: "dj.sr"; ss: "dj.ss"; st: "dj.st"; su: "dj.su"; sv: "dj.sv"; sw: "dj.sw"; sx: "dj.sx"; sy: "dj.sy"; sz: "dj.sz"; ta: "dj.ta"; tb: "dj.tb"; tc: "dj.tc"; td: "dj.td"; te: "dj.te"; tf: "dj.tf"; tg: "dj.tg"; th: "dj.th"; ti: "dj.ti"; tj: "dj.tj"; tk: "dj.tk"; tl: "dj.tl"; tm: "dj.tm"; tn: "dj.tn"; to: "dj.to"; tp: "dj.tp"; tq: "dj.tq"; tr: "dj.tr"; ts: "dj.ts"; tt: "dj.tt"; tu: "dj.tu"; tv: "dj.tv"; tw: "dj.tw"; tx: "dj.tx"; ty: "dj.ty"; tz: "dj.tz"; ua: "dj.ua"; ub: "dj.ub"; uc: "dj.uc"; ud: "dj.ud"; ue: "dj.ue"; uf: "dj.uf"; ug: "dj.ug"; uh: "dj.uh"; ui: "dj.ui"; uj: "dj.uj"; uk: "dj.uk"; ul: "dj.ul"; um: "dj.um"; un: "dj.un"; uo: "dj.uo"; up: "dj.up"; uq: "dj.uq"; ur: "dj.ur"; us: "dj.us"; ut: "dj.ut"; uu: "dj.uu"; uv: "dj.uv"; uw: "dj.uw"; ux: "dj.ux"; uy: "dj.uy"; uz: "dj.uz"; va: "dj.va"; vb: "dj.vb"; vc: "dj.vc"; vd: "dj.vd"; ve: "dj.ve"; vf: "dj.vf"; vg: "dj.vg"; vh: "dj.vh"; vi: "dj.vi"; vj: "dj.vj"; vk: "dj.vk"; vl: "dj.vl"; vm: "dj.vm"; vn: "dj.vn"; vo: "dj.vo"; vp: "dj.vp"; vq: "dj.vq"; vr: "dj.vr"; vs: "dj.vs"; vt: "dj.vt"; vu: "dj.vu"; vv: "dj.vv"; vw: "dj.vw"; vx: "dj.vx"; vy: "dj.vy"; vz: "dj.vz"; wa: "dj.wa"; wb: "dj.wb"; wc: "dj.wc"; wd: "dj.wd"; we: "dj.we"; wf: "dj.wf"; wg: "dj.wg"; wh: "dj.wh"; wi: "dj.wi"; wj: "dj.wj"; wk: "dj.wk"; wl: "dj.wl"; wm: "dj.wm"; wn: "dj.wn"; wo: "dj.wo"; wp: "dj.wp"; wq: "dj.wq"; wr: "dj.wr"; ws: "dj.ws"; wt: "dj.wt"; wu: "dj.wu"; wv: "dj.wv"; ww: "dj.ww"; wx: "dj.wx"; wy: "dj.wy"; wz: "dj.wz"; xa: "dj.xa"; xb: "dj.xb"; xc: "dj.xc"; xd: "dj.xd"; xe: "dj.xe"; xf: "dj.xf"; xg: "dj.xg"; xh: "dj.xh"; xi: "dj.xi"; xj: "dj.xj"; xk: "dj.xk"; xl: "dj.xl"; xm: "dj.xm"; xn: "dj.xn"; xo: "dj.xo"; xp: "dj.xp"; xq: "dj.xq"; xr: "dj.xr"; xs: "dj.xs"; xt: "dj.xt"; xu: "dj.xu"; xv: "dj.xv"; xw: "dj.xw"; xx: "dj.xx"; xy: "dj.xy"; xz: "dj.xz"; ya: "dj.ya"; yb: "dj.yb"; yc: "dj.yc"; yd: "dj.yd"; ye: "dj.ye"; yf: "dj.yf"; yg: "dj.yg"; yh: "dj.yh"; yi: "dj.yi"; yj: "dj.yj"; yk: "dj.yk"; yl: "dj.yl"; ym: "dj.ym"; yn: "dj.yn"; yo: "dj.yo"; yp: "dj.yp"; yq: "dj.yq"; yr: "dj.yr"; ys: "dj.ys"; yt: "dj.yt"; yu: "dj.yu"; yv: "dj.yv"; yw: "dj.yw"; yx: "dj.yx"; yy: "dj.yy"; yz: "dj.yz"; za: "dj.za"; zb: "dj.zb"; zc: "dj.zc"; zd: "dj.zd"; ze: "dj.ze"; zf: "dj.zf"; zg: "dj.zg"; zh: "dj.zh"; zi: "dj.zi"; zj: "dj.zj"; zk: "dj.zk"; zl: "dj.zl"; zm: "dj.zm"; zn: "dj.zn"; zo: "dj.zo"; zp: "dj.zp"; zq: "dj.zq"; zr: "dj.zr"; zs: "dj.zs"; zt: "dj.zt"; zu: "dj.zu"; zv: "dj.zv"; zw: "dj.zw"; zx: "dj.zx"; zy: "dj.zy"; zz: "dj.zz"; }; dk: { aa: "dk.aa"; ab: "dk.ab"; ac: "dk.ac"; ad: "dk.ad"; ae: "dk.ae"; af: "dk.af"; ag: "dk.ag"; ah: "dk.ah"; ai: "dk.ai"; aj: "dk.aj"; ak: "dk.ak"; al: "dk.al"; am: "dk.am"; an: "dk.an"; ao: "dk.ao"; ap: "dk.ap"; aq: "dk.aq"; ar: "dk.ar"; as: "dk.as"; at: "dk.at"; au: "dk.au"; av: "dk.av"; aw: "dk.aw"; ax: "dk.ax"; ay: "dk.ay"; az: "dk.az"; ba: "dk.ba"; bb: "dk.bb"; bc: "dk.bc"; bd: "dk.bd"; be: "dk.be"; bf: "dk.bf"; bg: "dk.bg"; bh: "dk.bh"; bi: "dk.bi"; bj: "dk.bj"; bk: "dk.bk"; bl: "dk.bl"; bm: "dk.bm"; bn: "dk.bn"; bo: "dk.bo"; bp: "dk.bp"; bq: "dk.bq"; br: "dk.br"; bs: "dk.bs"; bt: "dk.bt"; bu: "dk.bu"; bv: "dk.bv"; bw: "dk.bw"; bx: "dk.bx"; by: "dk.by"; bz: "dk.bz"; ca: "dk.ca"; cb: "dk.cb"; cc: "dk.cc"; cd: "dk.cd"; ce: "dk.ce"; cf: "dk.cf"; cg: "dk.cg"; ch: "dk.ch"; ci: "dk.ci"; cj: "dk.cj"; ck: "dk.ck"; cl: "dk.cl"; cm: "dk.cm"; cn: "dk.cn"; co: "dk.co"; cp: "dk.cp"; cq: "dk.cq"; cr: "dk.cr"; cs: "dk.cs"; ct: "dk.ct"; cu: "dk.cu"; cv: "dk.cv"; cw: "dk.cw"; cx: "dk.cx"; cy: "dk.cy"; cz: "dk.cz"; da: "dk.da"; db: "dk.db"; dc: "dk.dc"; dd: "dk.dd"; de: "dk.de"; df: "dk.df"; dg: "dk.dg"; dh: "dk.dh"; di: "dk.di"; dj: "dk.dj"; dk: "dk.dk"; dl: "dk.dl"; dm: "dk.dm"; dn: "dk.dn"; do: "dk.do"; dp: "dk.dp"; dq: "dk.dq"; dr: "dk.dr"; ds: "dk.ds"; dt: "dk.dt"; du: "dk.du"; dv: "dk.dv"; dw: "dk.dw"; dx: "dk.dx"; dy: "dk.dy"; dz: "dk.dz"; ea: "dk.ea"; eb: "dk.eb"; ec: "dk.ec"; ed: "dk.ed"; ee: "dk.ee"; ef: "dk.ef"; eg: "dk.eg"; eh: "dk.eh"; ei: "dk.ei"; ej: "dk.ej"; ek: "dk.ek"; el: "dk.el"; em: "dk.em"; en: "dk.en"; eo: "dk.eo"; ep: "dk.ep"; eq: "dk.eq"; er: "dk.er"; es: "dk.es"; et: "dk.et"; eu: "dk.eu"; ev: "dk.ev"; ew: "dk.ew"; ex: "dk.ex"; ey: "dk.ey"; ez: "dk.ez"; fa: "dk.fa"; fb: "dk.fb"; fc: "dk.fc"; fd: "dk.fd"; fe: "dk.fe"; ff: "dk.ff"; fg: "dk.fg"; fh: "dk.fh"; fi: "dk.fi"; fj: "dk.fj"; fk: "dk.fk"; fl: "dk.fl"; fm: "dk.fm"; fn: "dk.fn"; fo: "dk.fo"; fp: "dk.fp"; fq: "dk.fq"; fr: "dk.fr"; fs: "dk.fs"; ft: "dk.ft"; fu: "dk.fu"; fv: "dk.fv"; fw: "dk.fw"; fx: "dk.fx"; fy: "dk.fy"; fz: "dk.fz"; ga: "dk.ga"; gb: "dk.gb"; gc: "dk.gc"; gd: "dk.gd"; ge: "dk.ge"; gf: "dk.gf"; gg: "dk.gg"; gh: "dk.gh"; gi: "dk.gi"; gj: "dk.gj"; gk: "dk.gk"; gl: "dk.gl"; gm: "dk.gm"; gn: "dk.gn"; go: "dk.go"; gp: "dk.gp"; gq: "dk.gq"; gr: "dk.gr"; gs: "dk.gs"; gt: "dk.gt"; gu: "dk.gu"; gv: "dk.gv"; gw: "dk.gw"; gx: "dk.gx"; gy: "dk.gy"; gz: "dk.gz"; ha: "dk.ha"; hb: "dk.hb"; hc: "dk.hc"; hd: "dk.hd"; he: "dk.he"; hf: "dk.hf"; hg: "dk.hg"; hh: "dk.hh"; hi: "dk.hi"; hj: "dk.hj"; hk: "dk.hk"; hl: "dk.hl"; hm: "dk.hm"; hn: "dk.hn"; ho: "dk.ho"; hp: "dk.hp"; hq: "dk.hq"; hr: "dk.hr"; hs: "dk.hs"; ht: "dk.ht"; hu: "dk.hu"; hv: "dk.hv"; hw: "dk.hw"; hx: "dk.hx"; hy: "dk.hy"; hz: "dk.hz"; ia: "dk.ia"; ib: "dk.ib"; ic: "dk.ic"; id: "dk.id"; ie: "dk.ie"; if: "dk.if"; ig: "dk.ig"; ih: "dk.ih"; ii: "dk.ii"; ij: "dk.ij"; ik: "dk.ik"; il: "dk.il"; im: "dk.im"; in: "dk.in"; io: "dk.io"; ip: "dk.ip"; iq: "dk.iq"; ir: "dk.ir"; is: "dk.is"; it: "dk.it"; iu: "dk.iu"; iv: "dk.iv"; iw: "dk.iw"; ix: "dk.ix"; iy: "dk.iy"; iz: "dk.iz"; ja: "dk.ja"; jb: "dk.jb"; jc: "dk.jc"; jd: "dk.jd"; je: "dk.je"; jf: "dk.jf"; jg: "dk.jg"; jh: "dk.jh"; ji: "dk.ji"; jj: "dk.jj"; jk: "dk.jk"; jl: "dk.jl"; jm: "dk.jm"; jn: "dk.jn"; jo: "dk.jo"; jp: "dk.jp"; jq: "dk.jq"; jr: "dk.jr"; js: "dk.js"; jt: "dk.jt"; ju: "dk.ju"; jv: "dk.jv"; jw: "dk.jw"; jx: "dk.jx"; jy: "dk.jy"; jz: "dk.jz"; ka: "dk.ka"; kb: "dk.kb"; kc: "dk.kc"; kd: "dk.kd"; ke: "dk.ke"; kf: "dk.kf"; kg: "dk.kg"; kh: "dk.kh"; ki: "dk.ki"; kj: "dk.kj"; kk: "dk.kk"; kl: "dk.kl"; km: "dk.km"; kn: "dk.kn"; ko: "dk.ko"; kp: "dk.kp"; kq: "dk.kq"; kr: "dk.kr"; ks: "dk.ks"; kt: "dk.kt"; ku: "dk.ku"; kv: "dk.kv"; kw: "dk.kw"; kx: "dk.kx"; ky: "dk.ky"; kz: "dk.kz"; la: "dk.la"; lb: "dk.lb"; lc: "dk.lc"; ld: "dk.ld"; le: "dk.le"; lf: "dk.lf"; lg: "dk.lg"; lh: "dk.lh"; li: "dk.li"; lj: "dk.lj"; lk: "dk.lk"; ll: "dk.ll"; lm: "dk.lm"; ln: "dk.ln"; lo: "dk.lo"; lp: "dk.lp"; lq: "dk.lq"; lr: "dk.lr"; ls: "dk.ls"; lt: "dk.lt"; lu: "dk.lu"; lv: "dk.lv"; lw: "dk.lw"; lx: "dk.lx"; ly: "dk.ly"; lz: "dk.lz"; ma: "dk.ma"; mb: "dk.mb"; mc: "dk.mc"; md: "dk.md"; me: "dk.me"; mf: "dk.mf"; mg: "dk.mg"; mh: "dk.mh"; mi: "dk.mi"; mj: "dk.mj"; mk: "dk.mk"; ml: "dk.ml"; mm: "dk.mm"; mn: "dk.mn"; mo: "dk.mo"; mp: "dk.mp"; mq: "dk.mq"; mr: "dk.mr"; ms: "dk.ms"; mt: "dk.mt"; mu: "dk.mu"; mv: "dk.mv"; mw: "dk.mw"; mx: "dk.mx"; my: "dk.my"; mz: "dk.mz"; na: "dk.na"; nb: "dk.nb"; nc: "dk.nc"; nd: "dk.nd"; ne: "dk.ne"; nf: "dk.nf"; ng: "dk.ng"; nh: "dk.nh"; ni: "dk.ni"; nj: "dk.nj"; nk: "dk.nk"; nl: "dk.nl"; nm: "dk.nm"; nn: "dk.nn"; no: "dk.no"; np: "dk.np"; nq: "dk.nq"; nr: "dk.nr"; ns: "dk.ns"; nt: "dk.nt"; nu: "dk.nu"; nv: "dk.nv"; nw: "dk.nw"; nx: "dk.nx"; ny: "dk.ny"; nz: "dk.nz"; oa: "dk.oa"; ob: "dk.ob"; oc: "dk.oc"; od: "dk.od"; oe: "dk.oe"; of: "dk.of"; og: "dk.og"; oh: "dk.oh"; oi: "dk.oi"; oj: "dk.oj"; ok: "dk.ok"; ol: "dk.ol"; om: "dk.om"; on: "dk.on"; oo: "dk.oo"; op: "dk.op"; oq: "dk.oq"; or: "dk.or"; os: "dk.os"; ot: "dk.ot"; ou: "dk.ou"; ov: "dk.ov"; ow: "dk.ow"; ox: "dk.ox"; oy: "dk.oy"; oz: "dk.oz"; pa: "dk.pa"; pb: "dk.pb"; pc: "dk.pc"; pd: "dk.pd"; pe: "dk.pe"; pf: "dk.pf"; pg: "dk.pg"; ph: "dk.ph"; pi: "dk.pi"; pj: "dk.pj"; pk: "dk.pk"; pl: "dk.pl"; pm: "dk.pm"; pn: "dk.pn"; po: "dk.po"; pp: "dk.pp"; pq: "dk.pq"; pr: "dk.pr"; ps: "dk.ps"; pt: "dk.pt"; pu: "dk.pu"; pv: "dk.pv"; pw: "dk.pw"; px: "dk.px"; py: "dk.py"; pz: "dk.pz"; qa: "dk.qa"; qb: "dk.qb"; qc: "dk.qc"; qd: "dk.qd"; qe: "dk.qe"; qf: "dk.qf"; qg: "dk.qg"; qh: "dk.qh"; qi: "dk.qi"; qj: "dk.qj"; qk: "dk.qk"; ql: "dk.ql"; qm: "dk.qm"; qn: "dk.qn"; qo: "dk.qo"; qp: "dk.qp"; qq: "dk.qq"; qr: "dk.qr"; qs: "dk.qs"; qt: "dk.qt"; qu: "dk.qu"; qv: "dk.qv"; qw: "dk.qw"; qx: "dk.qx"; qy: "dk.qy"; qz: "dk.qz"; ra: "dk.ra"; rb: "dk.rb"; rc: "dk.rc"; rd: "dk.rd"; re: "dk.re"; rf: "dk.rf"; rg: "dk.rg"; rh: "dk.rh"; ri: "dk.ri"; rj: "dk.rj"; rk: "dk.rk"; rl: "dk.rl"; rm: "dk.rm"; rn: "dk.rn"; ro: "dk.ro"; rp: "dk.rp"; rq: "dk.rq"; rr: "dk.rr"; rs: "dk.rs"; rt: "dk.rt"; ru: "dk.ru"; rv: "dk.rv"; rw: "dk.rw"; rx: "dk.rx"; ry: "dk.ry"; rz: "dk.rz"; sa: "dk.sa"; sb: "dk.sb"; sc: "dk.sc"; sd: "dk.sd"; se: "dk.se"; sf: "dk.sf"; sg: "dk.sg"; sh: "dk.sh"; si: "dk.si"; sj: "dk.sj"; sk: "dk.sk"; sl: "dk.sl"; sm: "dk.sm"; sn: "dk.sn"; so: "dk.so"; sp: "dk.sp"; sq: "dk.sq"; sr: "dk.sr"; ss: "dk.ss"; st: "dk.st"; su: "dk.su"; sv: "dk.sv"; sw: "dk.sw"; sx: "dk.sx"; sy: "dk.sy"; sz: "dk.sz"; ta: "dk.ta"; tb: "dk.tb"; tc: "dk.tc"; td: "dk.td"; te: "dk.te"; tf: "dk.tf"; tg: "dk.tg"; th: "dk.th"; ti: "dk.ti"; tj: "dk.tj"; tk: "dk.tk"; tl: "dk.tl"; tm: "dk.tm"; tn: "dk.tn"; to: "dk.to"; tp: "dk.tp"; tq: "dk.tq"; tr: "dk.tr"; ts: "dk.ts"; tt: "dk.tt"; tu: "dk.tu"; tv: "dk.tv"; tw: "dk.tw"; tx: "dk.tx"; ty: "dk.ty"; tz: "dk.tz"; ua: "dk.ua"; ub: "dk.ub"; uc: "dk.uc"; ud: "dk.ud"; ue: "dk.ue"; uf: "dk.uf"; ug: "dk.ug"; uh: "dk.uh"; ui: "dk.ui"; uj: "dk.uj"; uk: "dk.uk"; ul: "dk.ul"; um: "dk.um"; un: "dk.un"; uo: "dk.uo"; up: "dk.up"; uq: "dk.uq"; ur: "dk.ur"; us: "dk.us"; ut: "dk.ut"; uu: "dk.uu"; uv: "dk.uv"; uw: "dk.uw"; ux: "dk.ux"; uy: "dk.uy"; uz: "dk.uz"; va: "dk.va"; vb: "dk.vb"; vc: "dk.vc"; vd: "dk.vd"; ve: "dk.ve"; vf: "dk.vf"; vg: "dk.vg"; vh: "dk.vh"; vi: "dk.vi"; vj: "dk.vj"; vk: "dk.vk"; vl: "dk.vl"; vm: "dk.vm"; vn: "dk.vn"; vo: "dk.vo"; vp: "dk.vp"; vq: "dk.vq"; vr: "dk.vr"; vs: "dk.vs"; vt: "dk.vt"; vu: "dk.vu"; vv: "dk.vv"; vw: "dk.vw"; vx: "dk.vx"; vy: "dk.vy"; vz: "dk.vz"; wa: "dk.wa"; wb: "dk.wb"; wc: "dk.wc"; wd: "dk.wd"; we: "dk.we"; wf: "dk.wf"; wg: "dk.wg"; wh: "dk.wh"; wi: "dk.wi"; wj: "dk.wj"; wk: "dk.wk"; wl: "dk.wl"; wm: "dk.wm"; wn: "dk.wn"; wo: "dk.wo"; wp: "dk.wp"; wq: "dk.wq"; wr: "dk.wr"; ws: "dk.ws"; wt: "dk.wt"; wu: "dk.wu"; wv: "dk.wv"; ww: "dk.ww"; wx: "dk.wx"; wy: "dk.wy"; wz: "dk.wz"; xa: "dk.xa"; xb: "dk.xb"; xc: "dk.xc"; xd: "dk.xd"; xe: "dk.xe"; xf: "dk.xf"; xg: "dk.xg"; xh: "dk.xh"; xi: "dk.xi"; xj: "dk.xj"; xk: "dk.xk"; xl: "dk.xl"; xm: "dk.xm"; xn: "dk.xn"; xo: "dk.xo"; xp: "dk.xp"; xq: "dk.xq"; xr: "dk.xr"; xs: "dk.xs"; xt: "dk.xt"; xu: "dk.xu"; xv: "dk.xv"; xw: "dk.xw"; xx: "dk.xx"; xy: "dk.xy"; xz: "dk.xz"; ya: "dk.ya"; yb: "dk.yb"; yc: "dk.yc"; yd: "dk.yd"; ye: "dk.ye"; yf: "dk.yf"; yg: "dk.yg"; yh: "dk.yh"; yi: "dk.yi"; yj: "dk.yj"; yk: "dk.yk"; yl: "dk.yl"; ym: "dk.ym"; yn: "dk.yn"; yo: "dk.yo"; yp: "dk.yp"; yq: "dk.yq"; yr: "dk.yr"; ys: "dk.ys"; yt: "dk.yt"; yu: "dk.yu"; yv: "dk.yv"; yw: "dk.yw"; yx: "dk.yx"; yy: "dk.yy"; yz: "dk.yz"; za: "dk.za"; zb: "dk.zb"; zc: "dk.zc"; zd: "dk.zd"; ze: "dk.ze"; zf: "dk.zf"; zg: "dk.zg"; zh: "dk.zh"; zi: "dk.zi"; zj: "dk.zj"; zk: "dk.zk"; zl: "dk.zl"; zm: "dk.zm"; zn: "dk.zn"; zo: "dk.zo"; zp: "dk.zp"; zq: "dk.zq"; zr: "dk.zr"; zs: "dk.zs"; zt: "dk.zt"; zu: "dk.zu"; zv: "dk.zv"; zw: "dk.zw"; zx: "dk.zx"; zy: "dk.zy"; zz: "dk.zz"; }; dl: { aa: "dl.aa"; ab: "dl.ab"; ac: "dl.ac"; ad: "dl.ad"; ae: "dl.ae"; af: "dl.af"; ag: "dl.ag"; ah: "dl.ah"; ai: "dl.ai"; aj: "dl.aj"; ak: "dl.ak"; al: "dl.al"; am: "dl.am"; an: "dl.an"; ao: "dl.ao"; ap: "dl.ap"; aq: "dl.aq"; ar: "dl.ar"; as: "dl.as"; at: "dl.at"; au: "dl.au"; av: "dl.av"; aw: "dl.aw"; ax: "dl.ax"; ay: "dl.ay"; az: "dl.az"; ba: "dl.ba"; bb: "dl.bb"; bc: "dl.bc"; bd: "dl.bd"; be: "dl.be"; bf: "dl.bf"; bg: "dl.bg"; bh: "dl.bh"; bi: "dl.bi"; bj: "dl.bj"; bk: "dl.bk"; bl: "dl.bl"; bm: "dl.bm"; bn: "dl.bn"; bo: "dl.bo"; bp: "dl.bp"; bq: "dl.bq"; br: "dl.br"; bs: "dl.bs"; bt: "dl.bt"; bu: "dl.bu"; bv: "dl.bv"; bw: "dl.bw"; bx: "dl.bx"; by: "dl.by"; bz: "dl.bz"; ca: "dl.ca"; cb: "dl.cb"; cc: "dl.cc"; cd: "dl.cd"; ce: "dl.ce"; cf: "dl.cf"; cg: "dl.cg"; ch: "dl.ch"; ci: "dl.ci"; cj: "dl.cj"; ck: "dl.ck"; cl: "dl.cl"; cm: "dl.cm"; cn: "dl.cn"; co: "dl.co"; cp: "dl.cp"; cq: "dl.cq"; cr: "dl.cr"; cs: "dl.cs"; ct: "dl.ct"; cu: "dl.cu"; cv: "dl.cv"; cw: "dl.cw"; cx: "dl.cx"; cy: "dl.cy"; cz: "dl.cz"; da: "dl.da"; db: "dl.db"; dc: "dl.dc"; dd: "dl.dd"; de: "dl.de"; df: "dl.df"; dg: "dl.dg"; dh: "dl.dh"; di: "dl.di"; dj: "dl.dj"; dk: "dl.dk"; dl: "dl.dl"; dm: "dl.dm"; dn: "dl.dn"; do: "dl.do"; dp: "dl.dp"; dq: "dl.dq"; dr: "dl.dr"; ds: "dl.ds"; dt: "dl.dt"; du: "dl.du"; dv: "dl.dv"; dw: "dl.dw"; dx: "dl.dx"; dy: "dl.dy"; dz: "dl.dz"; ea: "dl.ea"; eb: "dl.eb"; ec: "dl.ec"; ed: "dl.ed"; ee: "dl.ee"; ef: "dl.ef"; eg: "dl.eg"; eh: "dl.eh"; ei: "dl.ei"; ej: "dl.ej"; ek: "dl.ek"; el: "dl.el"; em: "dl.em"; en: "dl.en"; eo: "dl.eo"; ep: "dl.ep"; eq: "dl.eq"; er: "dl.er"; es: "dl.es"; et: "dl.et"; eu: "dl.eu"; ev: "dl.ev"; ew: "dl.ew"; ex: "dl.ex"; ey: "dl.ey"; ez: "dl.ez"; fa: "dl.fa"; fb: "dl.fb"; fc: "dl.fc"; fd: "dl.fd"; fe: "dl.fe"; ff: "dl.ff"; fg: "dl.fg"; fh: "dl.fh"; fi: "dl.fi"; fj: "dl.fj"; fk: "dl.fk"; fl: "dl.fl"; fm: "dl.fm"; fn: "dl.fn"; fo: "dl.fo"; fp: "dl.fp"; fq: "dl.fq"; fr: "dl.fr"; fs: "dl.fs"; ft: "dl.ft"; fu: "dl.fu"; fv: "dl.fv"; fw: "dl.fw"; fx: "dl.fx"; fy: "dl.fy"; fz: "dl.fz"; ga: "dl.ga"; gb: "dl.gb"; gc: "dl.gc"; gd: "dl.gd"; ge: "dl.ge"; gf: "dl.gf"; gg: "dl.gg"; gh: "dl.gh"; gi: "dl.gi"; gj: "dl.gj"; gk: "dl.gk"; gl: "dl.gl"; gm: "dl.gm"; gn: "dl.gn"; go: "dl.go"; gp: "dl.gp"; gq: "dl.gq"; gr: "dl.gr"; gs: "dl.gs"; gt: "dl.gt"; gu: "dl.gu"; gv: "dl.gv"; gw: "dl.gw"; gx: "dl.gx"; gy: "dl.gy"; gz: "dl.gz"; ha: "dl.ha"; hb: "dl.hb"; hc: "dl.hc"; hd: "dl.hd"; he: "dl.he"; hf: "dl.hf"; hg: "dl.hg"; hh: "dl.hh"; hi: "dl.hi"; hj: "dl.hj"; hk: "dl.hk"; hl: "dl.hl"; hm: "dl.hm"; hn: "dl.hn"; ho: "dl.ho"; hp: "dl.hp"; hq: "dl.hq"; hr: "dl.hr"; hs: "dl.hs"; ht: "dl.ht"; hu: "dl.hu"; hv: "dl.hv"; hw: "dl.hw"; hx: "dl.hx"; hy: "dl.hy"; hz: "dl.hz"; ia: "dl.ia"; ib: "dl.ib"; ic: "dl.ic"; id: "dl.id"; ie: "dl.ie"; if: "dl.if"; ig: "dl.ig"; ih: "dl.ih"; ii: "dl.ii"; ij: "dl.ij"; ik: "dl.ik"; il: "dl.il"; im: "dl.im"; in: "dl.in"; io: "dl.io"; ip: "dl.ip"; iq: "dl.iq"; ir: "dl.ir"; is: "dl.is"; it: "dl.it"; iu: "dl.iu"; iv: "dl.iv"; iw: "dl.iw"; ix: "dl.ix"; iy: "dl.iy"; iz: "dl.iz"; ja: "dl.ja"; jb: "dl.jb"; jc: "dl.jc"; jd: "dl.jd"; je: "dl.je"; jf: "dl.jf"; jg: "dl.jg"; jh: "dl.jh"; ji: "dl.ji"; jj: "dl.jj"; jk: "dl.jk"; jl: "dl.jl"; jm: "dl.jm"; jn: "dl.jn"; jo: "dl.jo"; jp: "dl.jp"; jq: "dl.jq"; jr: "dl.jr"; js: "dl.js"; jt: "dl.jt"; ju: "dl.ju"; jv: "dl.jv"; jw: "dl.jw"; jx: "dl.jx"; jy: "dl.jy"; jz: "dl.jz"; ka: "dl.ka"; kb: "dl.kb"; kc: "dl.kc"; kd: "dl.kd"; ke: "dl.ke"; kf: "dl.kf"; kg: "dl.kg"; kh: "dl.kh"; ki: "dl.ki"; kj: "dl.kj"; kk: "dl.kk"; kl: "dl.kl"; km: "dl.km"; kn: "dl.kn"; ko: "dl.ko"; kp: "dl.kp"; kq: "dl.kq"; kr: "dl.kr"; ks: "dl.ks"; kt: "dl.kt"; ku: "dl.ku"; kv: "dl.kv"; kw: "dl.kw"; kx: "dl.kx"; ky: "dl.ky"; kz: "dl.kz"; la: "dl.la"; lb: "dl.lb"; lc: "dl.lc"; ld: "dl.ld"; le: "dl.le"; lf: "dl.lf"; lg: "dl.lg"; lh: "dl.lh"; li: "dl.li"; lj: "dl.lj"; lk: "dl.lk"; ll: "dl.ll"; lm: "dl.lm"; ln: "dl.ln"; lo: "dl.lo"; lp: "dl.lp"; lq: "dl.lq"; lr: "dl.lr"; ls: "dl.ls"; lt: "dl.lt"; lu: "dl.lu"; lv: "dl.lv"; lw: "dl.lw"; lx: "dl.lx"; ly: "dl.ly"; lz: "dl.lz"; ma: "dl.ma"; mb: "dl.mb"; mc: "dl.mc"; md: "dl.md"; me: "dl.me"; mf: "dl.mf"; mg: "dl.mg"; mh: "dl.mh"; mi: "dl.mi"; mj: "dl.mj"; mk: "dl.mk"; ml: "dl.ml"; mm: "dl.mm"; mn: "dl.mn"; mo: "dl.mo"; mp: "dl.mp"; mq: "dl.mq"; mr: "dl.mr"; ms: "dl.ms"; mt: "dl.mt"; mu: "dl.mu"; mv: "dl.mv"; mw: "dl.mw"; mx: "dl.mx"; my: "dl.my"; mz: "dl.mz"; na: "dl.na"; nb: "dl.nb"; nc: "dl.nc"; nd: "dl.nd"; ne: "dl.ne"; nf: "dl.nf"; ng: "dl.ng"; nh: "dl.nh"; ni: "dl.ni"; nj: "dl.nj"; nk: "dl.nk"; nl: "dl.nl"; nm: "dl.nm"; nn: "dl.nn"; no: "dl.no"; np: "dl.np"; nq: "dl.nq"; nr: "dl.nr"; ns: "dl.ns"; nt: "dl.nt"; nu: "dl.nu"; nv: "dl.nv"; nw: "dl.nw"; nx: "dl.nx"; ny: "dl.ny"; nz: "dl.nz"; oa: "dl.oa"; ob: "dl.ob"; oc: "dl.oc"; od: "dl.od"; oe: "dl.oe"; of: "dl.of"; og: "dl.og"; oh: "dl.oh"; oi: "dl.oi"; oj: "dl.oj"; ok: "dl.ok"; ol: "dl.ol"; om: "dl.om"; on: "dl.on"; oo: "dl.oo"; op: "dl.op"; oq: "dl.oq"; or: "dl.or"; os: "dl.os"; ot: "dl.ot"; ou: "dl.ou"; ov: "dl.ov"; ow: "dl.ow"; ox: "dl.ox"; oy: "dl.oy"; oz: "dl.oz"; pa: "dl.pa"; pb: "dl.pb"; pc: "dl.pc"; pd: "dl.pd"; pe: "dl.pe"; pf: "dl.pf"; pg: "dl.pg"; ph: "dl.ph"; pi: "dl.pi"; pj: "dl.pj"; pk: "dl.pk"; pl: "dl.pl"; pm: "dl.pm"; pn: "dl.pn"; po: "dl.po"; pp: "dl.pp"; pq: "dl.pq"; pr: "dl.pr"; ps: "dl.ps"; pt: "dl.pt"; pu: "dl.pu"; pv: "dl.pv"; pw: "dl.pw"; px: "dl.px"; py: "dl.py"; pz: "dl.pz"; qa: "dl.qa"; qb: "dl.qb"; qc: "dl.qc"; qd: "dl.qd"; qe: "dl.qe"; qf: "dl.qf"; qg: "dl.qg"; qh: "dl.qh"; qi: "dl.qi"; qj: "dl.qj"; qk: "dl.qk"; ql: "dl.ql"; qm: "dl.qm"; qn: "dl.qn"; qo: "dl.qo"; qp: "dl.qp"; qq: "dl.qq"; qr: "dl.qr"; qs: "dl.qs"; qt: "dl.qt"; qu: "dl.qu"; qv: "dl.qv"; qw: "dl.qw"; qx: "dl.qx"; qy: "dl.qy"; qz: "dl.qz"; ra: "dl.ra"; rb: "dl.rb"; rc: "dl.rc"; rd: "dl.rd"; re: "dl.re"; rf: "dl.rf"; rg: "dl.rg"; rh: "dl.rh"; ri: "dl.ri"; rj: "dl.rj"; rk: "dl.rk"; rl: "dl.rl"; rm: "dl.rm"; rn: "dl.rn"; ro: "dl.ro"; rp: "dl.rp"; rq: "dl.rq"; rr: "dl.rr"; rs: "dl.rs"; rt: "dl.rt"; ru: "dl.ru"; rv: "dl.rv"; rw: "dl.rw"; rx: "dl.rx"; ry: "dl.ry"; rz: "dl.rz"; sa: "dl.sa"; sb: "dl.sb"; sc: "dl.sc"; sd: "dl.sd"; se: "dl.se"; sf: "dl.sf"; sg: "dl.sg"; sh: "dl.sh"; si: "dl.si"; sj: "dl.sj"; sk: "dl.sk"; sl: "dl.sl"; sm: "dl.sm"; sn: "dl.sn"; so: "dl.so"; sp: "dl.sp"; sq: "dl.sq"; sr: "dl.sr"; ss: "dl.ss"; st: "dl.st"; su: "dl.su"; sv: "dl.sv"; sw: "dl.sw"; sx: "dl.sx"; sy: "dl.sy"; sz: "dl.sz"; ta: "dl.ta"; tb: "dl.tb"; tc: "dl.tc"; td: "dl.td"; te: "dl.te"; tf: "dl.tf"; tg: "dl.tg"; th: "dl.th"; ti: "dl.ti"; tj: "dl.tj"; tk: "dl.tk"; tl: "dl.tl"; tm: "dl.tm"; tn: "dl.tn"; to: "dl.to"; tp: "dl.tp"; tq: "dl.tq"; tr: "dl.tr"; ts: "dl.ts"; tt: "dl.tt"; tu: "dl.tu"; tv: "dl.tv"; tw: "dl.tw"; tx: "dl.tx"; ty: "dl.ty"; tz: "dl.tz"; ua: "dl.ua"; ub: "dl.ub"; uc: "dl.uc"; ud: "dl.ud"; ue: "dl.ue"; uf: "dl.uf"; ug: "dl.ug"; uh: "dl.uh"; ui: "dl.ui"; uj: "dl.uj"; uk: "dl.uk"; ul: "dl.ul"; um: "dl.um"; un: "dl.un"; uo: "dl.uo"; up: "dl.up"; uq: "dl.uq"; ur: "dl.ur"; us: "dl.us"; ut: "dl.ut"; uu: "dl.uu"; uv: "dl.uv"; uw: "dl.uw"; ux: "dl.ux"; uy: "dl.uy"; uz: "dl.uz"; va: "dl.va"; vb: "dl.vb"; vc: "dl.vc"; vd: "dl.vd"; ve: "dl.ve"; vf: "dl.vf"; vg: "dl.vg"; vh: "dl.vh"; vi: "dl.vi"; vj: "dl.vj"; vk: "dl.vk"; vl: "dl.vl"; vm: "dl.vm"; vn: "dl.vn"; vo: "dl.vo"; vp: "dl.vp"; vq: "dl.vq"; vr: "dl.vr"; vs: "dl.vs"; vt: "dl.vt"; vu: "dl.vu"; vv: "dl.vv"; vw: "dl.vw"; vx: "dl.vx"; vy: "dl.vy"; vz: "dl.vz"; wa: "dl.wa"; wb: "dl.wb"; wc: "dl.wc"; wd: "dl.wd"; we: "dl.we"; wf: "dl.wf"; wg: "dl.wg"; wh: "dl.wh"; wi: "dl.wi"; wj: "dl.wj"; wk: "dl.wk"; wl: "dl.wl"; wm: "dl.wm"; wn: "dl.wn"; wo: "dl.wo"; wp: "dl.wp"; wq: "dl.wq"; wr: "dl.wr"; ws: "dl.ws"; wt: "dl.wt"; wu: "dl.wu"; wv: "dl.wv"; ww: "dl.ww"; wx: "dl.wx"; wy: "dl.wy"; wz: "dl.wz"; xa: "dl.xa"; xb: "dl.xb"; xc: "dl.xc"; xd: "dl.xd"; xe: "dl.xe"; xf: "dl.xf"; xg: "dl.xg"; xh: "dl.xh"; xi: "dl.xi"; xj: "dl.xj"; xk: "dl.xk"; xl: "dl.xl"; xm: "dl.xm"; xn: "dl.xn"; xo: "dl.xo"; xp: "dl.xp"; xq: "dl.xq"; xr: "dl.xr"; xs: "dl.xs"; xt: "dl.xt"; xu: "dl.xu"; xv: "dl.xv"; xw: "dl.xw"; xx: "dl.xx"; xy: "dl.xy"; xz: "dl.xz"; ya: "dl.ya"; yb: "dl.yb"; yc: "dl.yc"; yd: "dl.yd"; ye: "dl.ye"; yf: "dl.yf"; yg: "dl.yg"; yh: "dl.yh"; yi: "dl.yi"; yj: "dl.yj"; yk: "dl.yk"; yl: "dl.yl"; ym: "dl.ym"; yn: "dl.yn"; yo: "dl.yo"; yp: "dl.yp"; yq: "dl.yq"; yr: "dl.yr"; ys: "dl.ys"; yt: "dl.yt"; yu: "dl.yu"; yv: "dl.yv"; yw: "dl.yw"; yx: "dl.yx"; yy: "dl.yy"; yz: "dl.yz"; za: "dl.za"; zb: "dl.zb"; zc: "dl.zc"; zd: "dl.zd"; ze: "dl.ze"; zf: "dl.zf"; zg: "dl.zg"; zh: "dl.zh"; zi: "dl.zi"; zj: "dl.zj"; zk: "dl.zk"; zl: "dl.zl"; zm: "dl.zm"; zn: "dl.zn"; zo: "dl.zo"; zp: "dl.zp"; zq: "dl.zq"; zr: "dl.zr"; zs: "dl.zs"; zt: "dl.zt"; zu: "dl.zu"; zv: "dl.zv"; zw: "dl.zw"; zx: "dl.zx"; zy: "dl.zy"; zz: "dl.zz"; }; dm: { aa: "dm.aa"; ab: "dm.ab"; ac: "dm.ac"; ad: "dm.ad"; ae: "dm.ae"; af: "dm.af"; ag: "dm.ag"; ah: "dm.ah"; ai: "dm.ai"; aj: "dm.aj"; ak: "dm.ak"; al: "dm.al"; am: "dm.am"; an: "dm.an"; ao: "dm.ao"; ap: "dm.ap"; aq: "dm.aq"; ar: "dm.ar"; as: "dm.as"; at: "dm.at"; au: "dm.au"; av: "dm.av"; aw: "dm.aw"; ax: "dm.ax"; ay: "dm.ay"; az: "dm.az"; ba: "dm.ba"; bb: "dm.bb"; bc: "dm.bc"; bd: "dm.bd"; be: "dm.be"; bf: "dm.bf"; bg: "dm.bg"; bh: "dm.bh"; bi: "dm.bi"; bj: "dm.bj"; bk: "dm.bk"; bl: "dm.bl"; bm: "dm.bm"; bn: "dm.bn"; bo: "dm.bo"; bp: "dm.bp"; bq: "dm.bq"; br: "dm.br"; bs: "dm.bs"; bt: "dm.bt"; bu: "dm.bu"; bv: "dm.bv"; bw: "dm.bw"; bx: "dm.bx"; by: "dm.by"; bz: "dm.bz"; ca: "dm.ca"; cb: "dm.cb"; cc: "dm.cc"; cd: "dm.cd"; ce: "dm.ce"; cf: "dm.cf"; cg: "dm.cg"; ch: "dm.ch"; ci: "dm.ci"; cj: "dm.cj"; ck: "dm.ck"; cl: "dm.cl"; cm: "dm.cm"; cn: "dm.cn"; co: "dm.co"; cp: "dm.cp"; cq: "dm.cq"; cr: "dm.cr"; cs: "dm.cs"; ct: "dm.ct"; cu: "dm.cu"; cv: "dm.cv"; cw: "dm.cw"; cx: "dm.cx"; cy: "dm.cy"; cz: "dm.cz"; da: "dm.da"; db: "dm.db"; dc: "dm.dc"; dd: "dm.dd"; de: "dm.de"; df: "dm.df"; dg: "dm.dg"; dh: "dm.dh"; di: "dm.di"; dj: "dm.dj"; dk: "dm.dk"; dl: "dm.dl"; dm: "dm.dm"; dn: "dm.dn"; do: "dm.do"; dp: "dm.dp"; dq: "dm.dq"; dr: "dm.dr"; ds: "dm.ds"; dt: "dm.dt"; du: "dm.du"; dv: "dm.dv"; dw: "dm.dw"; dx: "dm.dx"; dy: "dm.dy"; dz: "dm.dz"; ea: "dm.ea"; eb: "dm.eb"; ec: "dm.ec"; ed: "dm.ed"; ee: "dm.ee"; ef: "dm.ef"; eg: "dm.eg"; eh: "dm.eh"; ei: "dm.ei"; ej: "dm.ej"; ek: "dm.ek"; el: "dm.el"; em: "dm.em"; en: "dm.en"; eo: "dm.eo"; ep: "dm.ep"; eq: "dm.eq"; er: "dm.er"; es: "dm.es"; et: "dm.et"; eu: "dm.eu"; ev: "dm.ev"; ew: "dm.ew"; ex: "dm.ex"; ey: "dm.ey"; ez: "dm.ez"; fa: "dm.fa"; fb: "dm.fb"; fc: "dm.fc"; fd: "dm.fd"; fe: "dm.fe"; ff: "dm.ff"; fg: "dm.fg"; fh: "dm.fh"; fi: "dm.fi"; fj: "dm.fj"; fk: "dm.fk"; fl: "dm.fl"; fm: "dm.fm"; fn: "dm.fn"; fo: "dm.fo"; fp: "dm.fp"; fq: "dm.fq"; fr: "dm.fr"; fs: "dm.fs"; ft: "dm.ft"; fu: "dm.fu"; fv: "dm.fv"; fw: "dm.fw"; fx: "dm.fx"; fy: "dm.fy"; fz: "dm.fz"; ga: "dm.ga"; gb: "dm.gb"; gc: "dm.gc"; gd: "dm.gd"; ge: "dm.ge"; gf: "dm.gf"; gg: "dm.gg"; gh: "dm.gh"; gi: "dm.gi"; gj: "dm.gj"; gk: "dm.gk"; gl: "dm.gl"; gm: "dm.gm"; gn: "dm.gn"; go: "dm.go"; gp: "dm.gp"; gq: "dm.gq"; gr: "dm.gr"; gs: "dm.gs"; gt: "dm.gt"; gu: "dm.gu"; gv: "dm.gv"; gw: "dm.gw"; gx: "dm.gx"; gy: "dm.gy"; gz: "dm.gz"; ha: "dm.ha"; hb: "dm.hb"; hc: "dm.hc"; hd: "dm.hd"; he: "dm.he"; hf: "dm.hf"; hg: "dm.hg"; hh: "dm.hh"; hi: "dm.hi"; hj: "dm.hj"; hk: "dm.hk"; hl: "dm.hl"; hm: "dm.hm"; hn: "dm.hn"; ho: "dm.ho"; hp: "dm.hp"; hq: "dm.hq"; hr: "dm.hr"; hs: "dm.hs"; ht: "dm.ht"; hu: "dm.hu"; hv: "dm.hv"; hw: "dm.hw"; hx: "dm.hx"; hy: "dm.hy"; hz: "dm.hz"; ia: "dm.ia"; ib: "dm.ib"; ic: "dm.ic"; id: "dm.id"; ie: "dm.ie"; if: "dm.if"; ig: "dm.ig"; ih: "dm.ih"; ii: "dm.ii"; ij: "dm.ij"; ik: "dm.ik"; il: "dm.il"; im: "dm.im"; in: "dm.in"; io: "dm.io"; ip: "dm.ip"; iq: "dm.iq"; ir: "dm.ir"; is: "dm.is"; it: "dm.it"; iu: "dm.iu"; iv: "dm.iv"; iw: "dm.iw"; ix: "dm.ix"; iy: "dm.iy"; iz: "dm.iz"; ja: "dm.ja"; jb: "dm.jb"; jc: "dm.jc"; jd: "dm.jd"; je: "dm.je"; jf: "dm.jf"; jg: "dm.jg"; jh: "dm.jh"; ji: "dm.ji"; jj: "dm.jj"; jk: "dm.jk"; jl: "dm.jl"; jm: "dm.jm"; jn: "dm.jn"; jo: "dm.jo"; jp: "dm.jp"; jq: "dm.jq"; jr: "dm.jr"; js: "dm.js"; jt: "dm.jt"; ju: "dm.ju"; jv: "dm.jv"; jw: "dm.jw"; jx: "dm.jx"; jy: "dm.jy"; jz: "dm.jz"; ka: "dm.ka"; kb: "dm.kb"; kc: "dm.kc"; kd: "dm.kd"; ke: "dm.ke"; kf: "dm.kf"; kg: "dm.kg"; kh: "dm.kh"; ki: "dm.ki"; kj: "dm.kj"; kk: "dm.kk"; kl: "dm.kl"; km: "dm.km"; kn: "dm.kn"; ko: "dm.ko"; kp: "dm.kp"; kq: "dm.kq"; kr: "dm.kr"; ks: "dm.ks"; kt: "dm.kt"; ku: "dm.ku"; kv: "dm.kv"; kw: "dm.kw"; kx: "dm.kx"; ky: "dm.ky"; kz: "dm.kz"; la: "dm.la"; lb: "dm.lb"; lc: "dm.lc"; ld: "dm.ld"; le: "dm.le"; lf: "dm.lf"; lg: "dm.lg"; lh: "dm.lh"; li: "dm.li"; lj: "dm.lj"; lk: "dm.lk"; ll: "dm.ll"; lm: "dm.lm"; ln: "dm.ln"; lo: "dm.lo"; lp: "dm.lp"; lq: "dm.lq"; lr: "dm.lr"; ls: "dm.ls"; lt: "dm.lt"; lu: "dm.lu"; lv: "dm.lv"; lw: "dm.lw"; lx: "dm.lx"; ly: "dm.ly"; lz: "dm.lz"; ma: "dm.ma"; mb: "dm.mb"; mc: "dm.mc"; md: "dm.md"; me: "dm.me"; mf: "dm.mf"; mg: "dm.mg"; mh: "dm.mh"; mi: "dm.mi"; mj: "dm.mj"; mk: "dm.mk"; ml: "dm.ml"; mm: "dm.mm"; mn: "dm.mn"; mo: "dm.mo"; mp: "dm.mp"; mq: "dm.mq"; mr: "dm.mr"; ms: "dm.ms"; mt: "dm.mt"; mu: "dm.mu"; mv: "dm.mv"; mw: "dm.mw"; mx: "dm.mx"; my: "dm.my"; mz: "dm.mz"; na: "dm.na"; nb: "dm.nb"; nc: "dm.nc"; nd: "dm.nd"; ne: "dm.ne"; nf: "dm.nf"; ng: "dm.ng"; nh: "dm.nh"; ni: "dm.ni"; nj: "dm.nj"; nk: "dm.nk"; nl: "dm.nl"; nm: "dm.nm"; nn: "dm.nn"; no: "dm.no"; np: "dm.np"; nq: "dm.nq"; nr: "dm.nr"; ns: "dm.ns"; nt: "dm.nt"; nu: "dm.nu"; nv: "dm.nv"; nw: "dm.nw"; nx: "dm.nx"; ny: "dm.ny"; nz: "dm.nz"; oa: "dm.oa"; ob: "dm.ob"; oc: "dm.oc"; od: "dm.od"; oe: "dm.oe"; of: "dm.of"; og: "dm.og"; oh: "dm.oh"; oi: "dm.oi"; oj: "dm.oj"; ok: "dm.ok"; ol: "dm.ol"; om: "dm.om"; on: "dm.on"; oo: "dm.oo"; op: "dm.op"; oq: "dm.oq"; or: "dm.or"; os: "dm.os"; ot: "dm.ot"; ou: "dm.ou"; ov: "dm.ov"; ow: "dm.ow"; ox: "dm.ox"; oy: "dm.oy"; oz: "dm.oz"; pa: "dm.pa"; pb: "dm.pb"; pc: "dm.pc"; pd: "dm.pd"; pe: "dm.pe"; pf: "dm.pf"; pg: "dm.pg"; ph: "dm.ph"; pi: "dm.pi"; pj: "dm.pj"; pk: "dm.pk"; pl: "dm.pl"; pm: "dm.pm"; pn: "dm.pn"; po: "dm.po"; pp: "dm.pp"; pq: "dm.pq"; pr: "dm.pr"; ps: "dm.ps"; pt: "dm.pt"; pu: "dm.pu"; pv: "dm.pv"; pw: "dm.pw"; px: "dm.px"; py: "dm.py"; pz: "dm.pz"; qa: "dm.qa"; qb: "dm.qb"; qc: "dm.qc"; qd: "dm.qd"; qe: "dm.qe"; qf: "dm.qf"; qg: "dm.qg"; qh: "dm.qh"; qi: "dm.qi"; qj: "dm.qj"; qk: "dm.qk"; ql: "dm.ql"; qm: "dm.qm"; qn: "dm.qn"; qo: "dm.qo"; qp: "dm.qp"; qq: "dm.qq"; qr: "dm.qr"; qs: "dm.qs"; qt: "dm.qt"; qu: "dm.qu"; qv: "dm.qv"; qw: "dm.qw"; qx: "dm.qx"; qy: "dm.qy"; qz: "dm.qz"; ra: "dm.ra"; rb: "dm.rb"; rc: "dm.rc"; rd: "dm.rd"; re: "dm.re"; rf: "dm.rf"; rg: "dm.rg"; rh: "dm.rh"; ri: "dm.ri"; rj: "dm.rj"; rk: "dm.rk"; rl: "dm.rl"; rm: "dm.rm"; rn: "dm.rn"; ro: "dm.ro"; rp: "dm.rp"; rq: "dm.rq"; rr: "dm.rr"; rs: "dm.rs"; rt: "dm.rt"; ru: "dm.ru"; rv: "dm.rv"; rw: "dm.rw"; rx: "dm.rx"; ry: "dm.ry"; rz: "dm.rz"; sa: "dm.sa"; sb: "dm.sb"; sc: "dm.sc"; sd: "dm.sd"; se: "dm.se"; sf: "dm.sf"; sg: "dm.sg"; sh: "dm.sh"; si: "dm.si"; sj: "dm.sj"; sk: "dm.sk"; sl: "dm.sl"; sm: "dm.sm"; sn: "dm.sn"; so: "dm.so"; sp: "dm.sp"; sq: "dm.sq"; sr: "dm.sr"; ss: "dm.ss"; st: "dm.st"; su: "dm.su"; sv: "dm.sv"; sw: "dm.sw"; sx: "dm.sx"; sy: "dm.sy"; sz: "dm.sz"; ta: "dm.ta"; tb: "dm.tb"; tc: "dm.tc"; td: "dm.td"; te: "dm.te"; tf: "dm.tf"; tg: "dm.tg"; th: "dm.th"; ti: "dm.ti"; tj: "dm.tj"; tk: "dm.tk"; tl: "dm.tl"; tm: "dm.tm"; tn: "dm.tn"; to: "dm.to"; tp: "dm.tp"; tq: "dm.tq"; tr: "dm.tr"; ts: "dm.ts"; tt: "dm.tt"; tu: "dm.tu"; tv: "dm.tv"; tw: "dm.tw"; tx: "dm.tx"; ty: "dm.ty"; tz: "dm.tz"; ua: "dm.ua"; ub: "dm.ub"; uc: "dm.uc"; ud: "dm.ud"; ue: "dm.ue"; uf: "dm.uf"; ug: "dm.ug"; uh: "dm.uh"; ui: "dm.ui"; uj: "dm.uj"; uk: "dm.uk"; ul: "dm.ul"; um: "dm.um"; un: "dm.un"; uo: "dm.uo"; up: "dm.up"; uq: "dm.uq"; ur: "dm.ur"; us: "dm.us"; ut: "dm.ut"; uu: "dm.uu"; uv: "dm.uv"; uw: "dm.uw"; ux: "dm.ux"; uy: "dm.uy"; uz: "dm.uz"; va: "dm.va"; vb: "dm.vb"; vc: "dm.vc"; vd: "dm.vd"; ve: "dm.ve"; vf: "dm.vf"; vg: "dm.vg"; vh: "dm.vh"; vi: "dm.vi"; vj: "dm.vj"; vk: "dm.vk"; vl: "dm.vl"; vm: "dm.vm"; vn: "dm.vn"; vo: "dm.vo"; vp: "dm.vp"; vq: "dm.vq"; vr: "dm.vr"; vs: "dm.vs"; vt: "dm.vt"; vu: "dm.vu"; vv: "dm.vv"; vw: "dm.vw"; vx: "dm.vx"; vy: "dm.vy"; vz: "dm.vz"; wa: "dm.wa"; wb: "dm.wb"; wc: "dm.wc"; wd: "dm.wd"; we: "dm.we"; wf: "dm.wf"; wg: "dm.wg"; wh: "dm.wh"; wi: "dm.wi"; wj: "dm.wj"; wk: "dm.wk"; wl: "dm.wl"; wm: "dm.wm"; wn: "dm.wn"; wo: "dm.wo"; wp: "dm.wp"; wq: "dm.wq"; wr: "dm.wr"; ws: "dm.ws"; wt: "dm.wt"; wu: "dm.wu"; wv: "dm.wv"; ww: "dm.ww"; wx: "dm.wx"; wy: "dm.wy"; wz: "dm.wz"; xa: "dm.xa"; xb: "dm.xb"; xc: "dm.xc"; xd: "dm.xd"; xe: "dm.xe"; xf: "dm.xf"; xg: "dm.xg"; xh: "dm.xh"; xi: "dm.xi"; xj: "dm.xj"; xk: "dm.xk"; xl: "dm.xl"; xm: "dm.xm"; xn: "dm.xn"; xo: "dm.xo"; xp: "dm.xp"; xq: "dm.xq"; xr: "dm.xr"; xs: "dm.xs"; xt: "dm.xt"; xu: "dm.xu"; xv: "dm.xv"; xw: "dm.xw"; xx: "dm.xx"; xy: "dm.xy"; xz: "dm.xz"; ya: "dm.ya"; yb: "dm.yb"; yc: "dm.yc"; yd: "dm.yd"; ye: "dm.ye"; yf: "dm.yf"; yg: "dm.yg"; yh: "dm.yh"; yi: "dm.yi"; yj: "dm.yj"; yk: "dm.yk"; yl: "dm.yl"; ym: "dm.ym"; yn: "dm.yn"; yo: "dm.yo"; yp: "dm.yp"; yq: "dm.yq"; yr: "dm.yr"; ys: "dm.ys"; yt: "dm.yt"; yu: "dm.yu"; yv: "dm.yv"; yw: "dm.yw"; yx: "dm.yx"; yy: "dm.yy"; yz: "dm.yz"; za: "dm.za"; zb: "dm.zb"; zc: "dm.zc"; zd: "dm.zd"; ze: "dm.ze"; zf: "dm.zf"; zg: "dm.zg"; zh: "dm.zh"; zi: "dm.zi"; zj: "dm.zj"; zk: "dm.zk"; zl: "dm.zl"; zm: "dm.zm"; zn: "dm.zn"; zo: "dm.zo"; zp: "dm.zp"; zq: "dm.zq"; zr: "dm.zr"; zs: "dm.zs"; zt: "dm.zt"; zu: "dm.zu"; zv: "dm.zv"; zw: "dm.zw"; zx: "dm.zx"; zy: "dm.zy"; zz: "dm.zz"; }; dn: { aa: "dn.aa"; ab: "dn.ab"; ac: "dn.ac"; ad: "dn.ad"; ae: "dn.ae"; af: "dn.af"; ag: "dn.ag"; ah: "dn.ah"; ai: "dn.ai"; aj: "dn.aj"; ak: "dn.ak"; al: "dn.al"; am: "dn.am"; an: "dn.an"; ao: "dn.ao"; ap: "dn.ap"; aq: "dn.aq"; ar: "dn.ar"; as: "dn.as"; at: "dn.at"; au: "dn.au"; av: "dn.av"; aw: "dn.aw"; ax: "dn.ax"; ay: "dn.ay"; az: "dn.az"; ba: "dn.ba"; bb: "dn.bb"; bc: "dn.bc"; bd: "dn.bd"; be: "dn.be"; bf: "dn.bf"; bg: "dn.bg"; bh: "dn.bh"; bi: "dn.bi"; bj: "dn.bj"; bk: "dn.bk"; bl: "dn.bl"; bm: "dn.bm"; bn: "dn.bn"; bo: "dn.bo"; bp: "dn.bp"; bq: "dn.bq"; br: "dn.br"; bs: "dn.bs"; bt: "dn.bt"; bu: "dn.bu"; bv: "dn.bv"; bw: "dn.bw"; bx: "dn.bx"; by: "dn.by"; bz: "dn.bz"; ca: "dn.ca"; cb: "dn.cb"; cc: "dn.cc"; cd: "dn.cd"; ce: "dn.ce"; cf: "dn.cf"; cg: "dn.cg"; ch: "dn.ch"; ci: "dn.ci"; cj: "dn.cj"; ck: "dn.ck"; cl: "dn.cl"; cm: "dn.cm"; cn: "dn.cn"; co: "dn.co"; cp: "dn.cp"; cq: "dn.cq"; cr: "dn.cr"; cs: "dn.cs"; ct: "dn.ct"; cu: "dn.cu"; cv: "dn.cv"; cw: "dn.cw"; cx: "dn.cx"; cy: "dn.cy"; cz: "dn.cz"; da: "dn.da"; db: "dn.db"; dc: "dn.dc"; dd: "dn.dd"; de: "dn.de"; df: "dn.df"; dg: "dn.dg"; dh: "dn.dh"; di: "dn.di"; dj: "dn.dj"; dk: "dn.dk"; dl: "dn.dl"; dm: "dn.dm"; dn: "dn.dn"; do: "dn.do"; dp: "dn.dp"; dq: "dn.dq"; dr: "dn.dr"; ds: "dn.ds"; dt: "dn.dt"; du: "dn.du"; dv: "dn.dv"; dw: "dn.dw"; dx: "dn.dx"; dy: "dn.dy"; dz: "dn.dz"; ea: "dn.ea"; eb: "dn.eb"; ec: "dn.ec"; ed: "dn.ed"; ee: "dn.ee"; ef: "dn.ef"; eg: "dn.eg"; eh: "dn.eh"; ei: "dn.ei"; ej: "dn.ej"; ek: "dn.ek"; el: "dn.el"; em: "dn.em"; en: "dn.en"; eo: "dn.eo"; ep: "dn.ep"; eq: "dn.eq"; er: "dn.er"; es: "dn.es"; et: "dn.et"; eu: "dn.eu"; ev: "dn.ev"; ew: "dn.ew"; ex: "dn.ex"; ey: "dn.ey"; ez: "dn.ez"; fa: "dn.fa"; fb: "dn.fb"; fc: "dn.fc"; fd: "dn.fd"; fe: "dn.fe"; ff: "dn.ff"; fg: "dn.fg"; fh: "dn.fh"; fi: "dn.fi"; fj: "dn.fj"; fk: "dn.fk"; fl: "dn.fl"; fm: "dn.fm"; fn: "dn.fn"; fo: "dn.fo"; fp: "dn.fp"; fq: "dn.fq"; fr: "dn.fr"; fs: "dn.fs"; ft: "dn.ft"; fu: "dn.fu"; fv: "dn.fv"; fw: "dn.fw"; fx: "dn.fx"; fy: "dn.fy"; fz: "dn.fz"; ga: "dn.ga"; gb: "dn.gb"; gc: "dn.gc"; gd: "dn.gd"; ge: "dn.ge"; gf: "dn.gf"; gg: "dn.gg"; gh: "dn.gh"; gi: "dn.gi"; gj: "dn.gj"; gk: "dn.gk"; gl: "dn.gl"; gm: "dn.gm"; gn: "dn.gn"; go: "dn.go"; gp: "dn.gp"; gq: "dn.gq"; gr: "dn.gr"; gs: "dn.gs"; gt: "dn.gt"; gu: "dn.gu"; gv: "dn.gv"; gw: "dn.gw"; gx: "dn.gx"; gy: "dn.gy"; gz: "dn.gz"; ha: "dn.ha"; hb: "dn.hb"; hc: "dn.hc"; hd: "dn.hd"; he: "dn.he"; hf: "dn.hf"; hg: "dn.hg"; hh: "dn.hh"; hi: "dn.hi"; hj: "dn.hj"; hk: "dn.hk"; hl: "dn.hl"; hm: "dn.hm"; hn: "dn.hn"; ho: "dn.ho"; hp: "dn.hp"; hq: "dn.hq"; hr: "dn.hr"; hs: "dn.hs"; ht: "dn.ht"; hu: "dn.hu"; hv: "dn.hv"; hw: "dn.hw"; hx: "dn.hx"; hy: "dn.hy"; hz: "dn.hz"; ia: "dn.ia"; ib: "dn.ib"; ic: "dn.ic"; id: "dn.id"; ie: "dn.ie"; if: "dn.if"; ig: "dn.ig"; ih: "dn.ih"; ii: "dn.ii"; ij: "dn.ij"; ik: "dn.ik"; il: "dn.il"; im: "dn.im"; in: "dn.in"; io: "dn.io"; ip: "dn.ip"; iq: "dn.iq"; ir: "dn.ir"; is: "dn.is"; it: "dn.it"; iu: "dn.iu"; iv: "dn.iv"; iw: "dn.iw"; ix: "dn.ix"; iy: "dn.iy"; iz: "dn.iz"; ja: "dn.ja"; jb: "dn.jb"; jc: "dn.jc"; jd: "dn.jd"; je: "dn.je"; jf: "dn.jf"; jg: "dn.jg"; jh: "dn.jh"; ji: "dn.ji"; jj: "dn.jj"; jk: "dn.jk"; jl: "dn.jl"; jm: "dn.jm"; jn: "dn.jn"; jo: "dn.jo"; jp: "dn.jp"; jq: "dn.jq"; jr: "dn.jr"; js: "dn.js"; jt: "dn.jt"; ju: "dn.ju"; jv: "dn.jv"; jw: "dn.jw"; jx: "dn.jx"; jy: "dn.jy"; jz: "dn.jz"; ka: "dn.ka"; kb: "dn.kb"; kc: "dn.kc"; kd: "dn.kd"; ke: "dn.ke"; kf: "dn.kf"; kg: "dn.kg"; kh: "dn.kh"; ki: "dn.ki"; kj: "dn.kj"; kk: "dn.kk"; kl: "dn.kl"; km: "dn.km"; kn: "dn.kn"; ko: "dn.ko"; kp: "dn.kp"; kq: "dn.kq"; kr: "dn.kr"; ks: "dn.ks"; kt: "dn.kt"; ku: "dn.ku"; kv: "dn.kv"; kw: "dn.kw"; kx: "dn.kx"; ky: "dn.ky"; kz: "dn.kz"; la: "dn.la"; lb: "dn.lb"; lc: "dn.lc"; ld: "dn.ld"; le: "dn.le"; lf: "dn.lf"; lg: "dn.lg"; lh: "dn.lh"; li: "dn.li"; lj: "dn.lj"; lk: "dn.lk"; ll: "dn.ll"; lm: "dn.lm"; ln: "dn.ln"; lo: "dn.lo"; lp: "dn.lp"; lq: "dn.lq"; lr: "dn.lr"; ls: "dn.ls"; lt: "dn.lt"; lu: "dn.lu"; lv: "dn.lv"; lw: "dn.lw"; lx: "dn.lx"; ly: "dn.ly"; lz: "dn.lz"; ma: "dn.ma"; mb: "dn.mb"; mc: "dn.mc"; md: "dn.md"; me: "dn.me"; mf: "dn.mf"; mg: "dn.mg"; mh: "dn.mh"; mi: "dn.mi"; mj: "dn.mj"; mk: "dn.mk"; ml: "dn.ml"; mm: "dn.mm"; mn: "dn.mn"; mo: "dn.mo"; mp: "dn.mp"; mq: "dn.mq"; mr: "dn.mr"; ms: "dn.ms"; mt: "dn.mt"; mu: "dn.mu"; mv: "dn.mv"; mw: "dn.mw"; mx: "dn.mx"; my: "dn.my"; mz: "dn.mz"; na: "dn.na"; nb: "dn.nb"; nc: "dn.nc"; nd: "dn.nd"; ne: "dn.ne"; nf: "dn.nf"; ng: "dn.ng"; nh: "dn.nh"; ni: "dn.ni"; nj: "dn.nj"; nk: "dn.nk"; nl: "dn.nl"; nm: "dn.nm"; nn: "dn.nn"; no: "dn.no"; np: "dn.np"; nq: "dn.nq"; nr: "dn.nr"; ns: "dn.ns"; nt: "dn.nt"; nu: "dn.nu"; nv: "dn.nv"; nw: "dn.nw"; nx: "dn.nx"; ny: "dn.ny"; nz: "dn.nz"; oa: "dn.oa"; ob: "dn.ob"; oc: "dn.oc"; od: "dn.od"; oe: "dn.oe"; of: "dn.of"; og: "dn.og"; oh: "dn.oh"; oi: "dn.oi"; oj: "dn.oj"; ok: "dn.ok"; ol: "dn.ol"; om: "dn.om"; on: "dn.on"; oo: "dn.oo"; op: "dn.op"; oq: "dn.oq"; or: "dn.or"; os: "dn.os"; ot: "dn.ot"; ou: "dn.ou"; ov: "dn.ov"; ow: "dn.ow"; ox: "dn.ox"; oy: "dn.oy"; oz: "dn.oz"; pa: "dn.pa"; pb: "dn.pb"; pc: "dn.pc"; pd: "dn.pd"; pe: "dn.pe"; pf: "dn.pf"; pg: "dn.pg"; ph: "dn.ph"; pi: "dn.pi"; pj: "dn.pj"; pk: "dn.pk"; pl: "dn.pl"; pm: "dn.pm"; pn: "dn.pn"; po: "dn.po"; pp: "dn.pp"; pq: "dn.pq"; pr: "dn.pr"; ps: "dn.ps"; pt: "dn.pt"; pu: "dn.pu"; pv: "dn.pv"; pw: "dn.pw"; px: "dn.px"; py: "dn.py"; pz: "dn.pz"; qa: "dn.qa"; qb: "dn.qb"; qc: "dn.qc"; qd: "dn.qd"; qe: "dn.qe"; qf: "dn.qf"; qg: "dn.qg"; qh: "dn.qh"; qi: "dn.qi"; qj: "dn.qj"; qk: "dn.qk"; ql: "dn.ql"; qm: "dn.qm"; qn: "dn.qn"; qo: "dn.qo"; qp: "dn.qp"; qq: "dn.qq"; qr: "dn.qr"; qs: "dn.qs"; qt: "dn.qt"; qu: "dn.qu"; qv: "dn.qv"; qw: "dn.qw"; qx: "dn.qx"; qy: "dn.qy"; qz: "dn.qz"; ra: "dn.ra"; rb: "dn.rb"; rc: "dn.rc"; rd: "dn.rd"; re: "dn.re"; rf: "dn.rf"; rg: "dn.rg"; rh: "dn.rh"; ri: "dn.ri"; rj: "dn.rj"; rk: "dn.rk"; rl: "dn.rl"; rm: "dn.rm"; rn: "dn.rn"; ro: "dn.ro"; rp: "dn.rp"; rq: "dn.rq"; rr: "dn.rr"; rs: "dn.rs"; rt: "dn.rt"; ru: "dn.ru"; rv: "dn.rv"; rw: "dn.rw"; rx: "dn.rx"; ry: "dn.ry"; rz: "dn.rz"; sa: "dn.sa"; sb: "dn.sb"; sc: "dn.sc"; sd: "dn.sd"; se: "dn.se"; sf: "dn.sf"; sg: "dn.sg"; sh: "dn.sh"; si: "dn.si"; sj: "dn.sj"; sk: "dn.sk"; sl: "dn.sl"; sm: "dn.sm"; sn: "dn.sn"; so: "dn.so"; sp: "dn.sp"; sq: "dn.sq"; sr: "dn.sr"; ss: "dn.ss"; st: "dn.st"; su: "dn.su"; sv: "dn.sv"; sw: "dn.sw"; sx: "dn.sx"; sy: "dn.sy"; sz: "dn.sz"; ta: "dn.ta"; tb: "dn.tb"; tc: "dn.tc"; td: "dn.td"; te: "dn.te"; tf: "dn.tf"; tg: "dn.tg"; th: "dn.th"; ti: "dn.ti"; tj: "dn.tj"; tk: "dn.tk"; tl: "dn.tl"; tm: "dn.tm"; tn: "dn.tn"; to: "dn.to"; tp: "dn.tp"; tq: "dn.tq"; tr: "dn.tr"; ts: "dn.ts"; tt: "dn.tt"; tu: "dn.tu"; tv: "dn.tv"; tw: "dn.tw"; tx: "dn.tx"; ty: "dn.ty"; tz: "dn.tz"; ua: "dn.ua"; ub: "dn.ub"; uc: "dn.uc"; ud: "dn.ud"; ue: "dn.ue"; uf: "dn.uf"; ug: "dn.ug"; uh: "dn.uh"; ui: "dn.ui"; uj: "dn.uj"; uk: "dn.uk"; ul: "dn.ul"; um: "dn.um"; un: "dn.un"; uo: "dn.uo"; up: "dn.up"; uq: "dn.uq"; ur: "dn.ur"; us: "dn.us"; ut: "dn.ut"; uu: "dn.uu"; uv: "dn.uv"; uw: "dn.uw"; ux: "dn.ux"; uy: "dn.uy"; uz: "dn.uz"; va: "dn.va"; vb: "dn.vb"; vc: "dn.vc"; vd: "dn.vd"; ve: "dn.ve"; vf: "dn.vf"; vg: "dn.vg"; vh: "dn.vh"; vi: "dn.vi"; vj: "dn.vj"; vk: "dn.vk"; vl: "dn.vl"; vm: "dn.vm"; vn: "dn.vn"; vo: "dn.vo"; vp: "dn.vp"; vq: "dn.vq"; vr: "dn.vr"; vs: "dn.vs"; vt: "dn.vt"; vu: "dn.vu"; vv: "dn.vv"; vw: "dn.vw"; vx: "dn.vx"; vy: "dn.vy"; vz: "dn.vz"; wa: "dn.wa"; wb: "dn.wb"; wc: "dn.wc"; wd: "dn.wd"; we: "dn.we"; wf: "dn.wf"; wg: "dn.wg"; wh: "dn.wh"; wi: "dn.wi"; wj: "dn.wj"; wk: "dn.wk"; wl: "dn.wl"; wm: "dn.wm"; wn: "dn.wn"; wo: "dn.wo"; wp: "dn.wp"; wq: "dn.wq"; wr: "dn.wr"; ws: "dn.ws"; wt: "dn.wt"; wu: "dn.wu"; wv: "dn.wv"; ww: "dn.ww"; wx: "dn.wx"; wy: "dn.wy"; wz: "dn.wz"; xa: "dn.xa"; xb: "dn.xb"; xc: "dn.xc"; xd: "dn.xd"; xe: "dn.xe"; xf: "dn.xf"; xg: "dn.xg"; xh: "dn.xh"; xi: "dn.xi"; xj: "dn.xj"; xk: "dn.xk"; xl: "dn.xl"; xm: "dn.xm"; xn: "dn.xn"; xo: "dn.xo"; xp: "dn.xp"; xq: "dn.xq"; xr: "dn.xr"; xs: "dn.xs"; xt: "dn.xt"; xu: "dn.xu"; xv: "dn.xv"; xw: "dn.xw"; xx: "dn.xx"; xy: "dn.xy"; xz: "dn.xz"; ya: "dn.ya"; yb: "dn.yb"; yc: "dn.yc"; yd: "dn.yd"; ye: "dn.ye"; yf: "dn.yf"; yg: "dn.yg"; yh: "dn.yh"; yi: "dn.yi"; yj: "dn.yj"; yk: "dn.yk"; yl: "dn.yl"; ym: "dn.ym"; yn: "dn.yn"; yo: "dn.yo"; yp: "dn.yp"; yq: "dn.yq"; yr: "dn.yr"; ys: "dn.ys"; yt: "dn.yt"; yu: "dn.yu"; yv: "dn.yv"; yw: "dn.yw"; yx: "dn.yx"; yy: "dn.yy"; yz: "dn.yz"; za: "dn.za"; zb: "dn.zb"; zc: "dn.zc"; zd: "dn.zd"; ze: "dn.ze"; zf: "dn.zf"; zg: "dn.zg"; zh: "dn.zh"; zi: "dn.zi"; zj: "dn.zj"; zk: "dn.zk"; zl: "dn.zl"; zm: "dn.zm"; zn: "dn.zn"; zo: "dn.zo"; zp: "dn.zp"; zq: "dn.zq"; zr: "dn.zr"; zs: "dn.zs"; zt: "dn.zt"; zu: "dn.zu"; zv: "dn.zv"; zw: "dn.zw"; zx: "dn.zx"; zy: "dn.zy"; zz: "dn.zz"; }; do: { aa: "do.aa"; ab: "do.ab"; ac: "do.ac"; ad: "do.ad"; ae: "do.ae"; af: "do.af"; ag: "do.ag"; ah: "do.ah"; ai: "do.ai"; aj: "do.aj"; ak: "do.ak"; al: "do.al"; am: "do.am"; an: "do.an"; ao: "do.ao"; ap: "do.ap"; aq: "do.aq"; ar: "do.ar"; as: "do.as"; at: "do.at"; au: "do.au"; av: "do.av"; aw: "do.aw"; ax: "do.ax"; ay: "do.ay"; az: "do.az"; ba: "do.ba"; bb: "do.bb"; bc: "do.bc"; bd: "do.bd"; be: "do.be"; bf: "do.bf"; bg: "do.bg"; bh: "do.bh"; bi: "do.bi"; bj: "do.bj"; bk: "do.bk"; bl: "do.bl"; bm: "do.bm"; bn: "do.bn"; bo: "do.bo"; bp: "do.bp"; bq: "do.bq"; br: "do.br"; bs: "do.bs"; bt: "do.bt"; bu: "do.bu"; bv: "do.bv"; bw: "do.bw"; bx: "do.bx"; by: "do.by"; bz: "do.bz"; ca: "do.ca"; cb: "do.cb"; cc: "do.cc"; cd: "do.cd"; ce: "do.ce"; cf: "do.cf"; cg: "do.cg"; ch: "do.ch"; ci: "do.ci"; cj: "do.cj"; ck: "do.ck"; cl: "do.cl"; cm: "do.cm"; cn: "do.cn"; co: "do.co"; cp: "do.cp"; cq: "do.cq"; cr: "do.cr"; cs: "do.cs"; ct: "do.ct"; cu: "do.cu"; cv: "do.cv"; cw: "do.cw"; cx: "do.cx"; cy: "do.cy"; cz: "do.cz"; da: "do.da"; db: "do.db"; dc: "do.dc"; dd: "do.dd"; de: "do.de"; df: "do.df"; dg: "do.dg"; dh: "do.dh"; di: "do.di"; dj: "do.dj"; dk: "do.dk"; dl: "do.dl"; dm: "do.dm"; dn: "do.dn"; do: "do.do"; dp: "do.dp"; dq: "do.dq"; dr: "do.dr"; ds: "do.ds"; dt: "do.dt"; du: "do.du"; dv: "do.dv"; dw: "do.dw"; dx: "do.dx"; dy: "do.dy"; dz: "do.dz"; ea: "do.ea"; eb: "do.eb"; ec: "do.ec"; ed: "do.ed"; ee: "do.ee"; ef: "do.ef"; eg: "do.eg"; eh: "do.eh"; ei: "do.ei"; ej: "do.ej"; ek: "do.ek"; el: "do.el"; em: "do.em"; en: "do.en"; eo: "do.eo"; ep: "do.ep"; eq: "do.eq"; er: "do.er"; es: "do.es"; et: "do.et"; eu: "do.eu"; ev: "do.ev"; ew: "do.ew"; ex: "do.ex"; ey: "do.ey"; ez: "do.ez"; fa: "do.fa"; fb: "do.fb"; fc: "do.fc"; fd: "do.fd"; fe: "do.fe"; ff: "do.ff"; fg: "do.fg"; fh: "do.fh"; fi: "do.fi"; fj: "do.fj"; fk: "do.fk"; fl: "do.fl"; fm: "do.fm"; fn: "do.fn"; fo: "do.fo"; fp: "do.fp"; fq: "do.fq"; fr: "do.fr"; fs: "do.fs"; ft: "do.ft"; fu: "do.fu"; fv: "do.fv"; fw: "do.fw"; fx: "do.fx"; fy: "do.fy"; fz: "do.fz"; ga: "do.ga"; gb: "do.gb"; gc: "do.gc"; gd: "do.gd"; ge: "do.ge"; gf: "do.gf"; gg: "do.gg"; gh: "do.gh"; gi: "do.gi"; gj: "do.gj"; gk: "do.gk"; gl: "do.gl"; gm: "do.gm"; gn: "do.gn"; go: "do.go"; gp: "do.gp"; gq: "do.gq"; gr: "do.gr"; gs: "do.gs"; gt: "do.gt"; gu: "do.gu"; gv: "do.gv"; gw: "do.gw"; gx: "do.gx"; gy: "do.gy"; gz: "do.gz"; ha: "do.ha"; hb: "do.hb"; hc: "do.hc"; hd: "do.hd"; he: "do.he"; hf: "do.hf"; hg: "do.hg"; hh: "do.hh"; hi: "do.hi"; hj: "do.hj"; hk: "do.hk"; hl: "do.hl"; hm: "do.hm"; hn: "do.hn"; ho: "do.ho"; hp: "do.hp"; hq: "do.hq"; hr: "do.hr"; hs: "do.hs"; ht: "do.ht"; hu: "do.hu"; hv: "do.hv"; hw: "do.hw"; hx: "do.hx"; hy: "do.hy"; hz: "do.hz"; ia: "do.ia"; ib: "do.ib"; ic: "do.ic"; id: "do.id"; ie: "do.ie"; if: "do.if"; ig: "do.ig"; ih: "do.ih"; ii: "do.ii"; ij: "do.ij"; ik: "do.ik"; il: "do.il"; im: "do.im"; in: "do.in"; io: "do.io"; ip: "do.ip"; iq: "do.iq"; ir: "do.ir"; is: "do.is"; it: "do.it"; iu: "do.iu"; iv: "do.iv"; iw: "do.iw"; ix: "do.ix"; iy: "do.iy"; iz: "do.iz"; ja: "do.ja"; jb: "do.jb"; jc: "do.jc"; jd: "do.jd"; je: "do.je"; jf: "do.jf"; jg: "do.jg"; jh: "do.jh"; ji: "do.ji"; jj: "do.jj"; jk: "do.jk"; jl: "do.jl"; jm: "do.jm"; jn: "do.jn"; jo: "do.jo"; jp: "do.jp"; jq: "do.jq"; jr: "do.jr"; js: "do.js"; jt: "do.jt"; ju: "do.ju"; jv: "do.jv"; jw: "do.jw"; jx: "do.jx"; jy: "do.jy"; jz: "do.jz"; ka: "do.ka"; kb: "do.kb"; kc: "do.kc"; kd: "do.kd"; ke: "do.ke"; kf: "do.kf"; kg: "do.kg"; kh: "do.kh"; ki: "do.ki"; kj: "do.kj"; kk: "do.kk"; kl: "do.kl"; km: "do.km"; kn: "do.kn"; ko: "do.ko"; kp: "do.kp"; kq: "do.kq"; kr: "do.kr"; ks: "do.ks"; kt: "do.kt"; ku: "do.ku"; kv: "do.kv"; kw: "do.kw"; kx: "do.kx"; ky: "do.ky"; kz: "do.kz"; la: "do.la"; lb: "do.lb"; lc: "do.lc"; ld: "do.ld"; le: "do.le"; lf: "do.lf"; lg: "do.lg"; lh: "do.lh"; li: "do.li"; lj: "do.lj"; lk: "do.lk"; ll: "do.ll"; lm: "do.lm"; ln: "do.ln"; lo: "do.lo"; lp: "do.lp"; lq: "do.lq"; lr: "do.lr"; ls: "do.ls"; lt: "do.lt"; lu: "do.lu"; lv: "do.lv"; lw: "do.lw"; lx: "do.lx"; ly: "do.ly"; lz: "do.lz"; ma: "do.ma"; mb: "do.mb"; mc: "do.mc"; md: "do.md"; me: "do.me"; mf: "do.mf"; mg: "do.mg"; mh: "do.mh"; mi: "do.mi"; mj: "do.mj"; mk: "do.mk"; ml: "do.ml"; mm: "do.mm"; mn: "do.mn"; mo: "do.mo"; mp: "do.mp"; mq: "do.mq"; mr: "do.mr"; ms: "do.ms"; mt: "do.mt"; mu: "do.mu"; mv: "do.mv"; mw: "do.mw"; mx: "do.mx"; my: "do.my"; mz: "do.mz"; na: "do.na"; nb: "do.nb"; nc: "do.nc"; nd: "do.nd"; ne: "do.ne"; nf: "do.nf"; ng: "do.ng"; nh: "do.nh"; ni: "do.ni"; nj: "do.nj"; nk: "do.nk"; nl: "do.nl"; nm: "do.nm"; nn: "do.nn"; no: "do.no"; np: "do.np"; nq: "do.nq"; nr: "do.nr"; ns: "do.ns"; nt: "do.nt"; nu: "do.nu"; nv: "do.nv"; nw: "do.nw"; nx: "do.nx"; ny: "do.ny"; nz: "do.nz"; oa: "do.oa"; ob: "do.ob"; oc: "do.oc"; od: "do.od"; oe: "do.oe"; of: "do.of"; og: "do.og"; oh: "do.oh"; oi: "do.oi"; oj: "do.oj"; ok: "do.ok"; ol: "do.ol"; om: "do.om"; on: "do.on"; oo: "do.oo"; op: "do.op"; oq: "do.oq"; or: "do.or"; os: "do.os"; ot: "do.ot"; ou: "do.ou"; ov: "do.ov"; ow: "do.ow"; ox: "do.ox"; oy: "do.oy"; oz: "do.oz"; pa: "do.pa"; pb: "do.pb"; pc: "do.pc"; pd: "do.pd"; pe: "do.pe"; pf: "do.pf"; pg: "do.pg"; ph: "do.ph"; pi: "do.pi"; pj: "do.pj"; pk: "do.pk"; pl: "do.pl"; pm: "do.pm"; pn: "do.pn"; po: "do.po"; pp: "do.pp"; pq: "do.pq"; pr: "do.pr"; ps: "do.ps"; pt: "do.pt"; pu: "do.pu"; pv: "do.pv"; pw: "do.pw"; px: "do.px"; py: "do.py"; pz: "do.pz"; qa: "do.qa"; qb: "do.qb"; qc: "do.qc"; qd: "do.qd"; qe: "do.qe"; qf: "do.qf"; qg: "do.qg"; qh: "do.qh"; qi: "do.qi"; qj: "do.qj"; qk: "do.qk"; ql: "do.ql"; qm: "do.qm"; qn: "do.qn"; qo: "do.qo"; qp: "do.qp"; qq: "do.qq"; qr: "do.qr"; qs: "do.qs"; qt: "do.qt"; qu: "do.qu"; qv: "do.qv"; qw: "do.qw"; qx: "do.qx"; qy: "do.qy"; qz: "do.qz"; ra: "do.ra"; rb: "do.rb"; rc: "do.rc"; rd: "do.rd"; re: "do.re"; rf: "do.rf"; rg: "do.rg"; rh: "do.rh"; ri: "do.ri"; rj: "do.rj"; rk: "do.rk"; rl: "do.rl"; rm: "do.rm"; rn: "do.rn"; ro: "do.ro"; rp: "do.rp"; rq: "do.rq"; rr: "do.rr"; rs: "do.rs"; rt: "do.rt"; ru: "do.ru"; rv: "do.rv"; rw: "do.rw"; rx: "do.rx"; ry: "do.ry"; rz: "do.rz"; sa: "do.sa"; sb: "do.sb"; sc: "do.sc"; sd: "do.sd"; se: "do.se"; sf: "do.sf"; sg: "do.sg"; sh: "do.sh"; si: "do.si"; sj: "do.sj"; sk: "do.sk"; sl: "do.sl"; sm: "do.sm"; sn: "do.sn"; so: "do.so"; sp: "do.sp"; sq: "do.sq"; sr: "do.sr"; ss: "do.ss"; st: "do.st"; su: "do.su"; sv: "do.sv"; sw: "do.sw"; sx: "do.sx"; sy: "do.sy"; sz: "do.sz"; ta: "do.ta"; tb: "do.tb"; tc: "do.tc"; td: "do.td"; te: "do.te"; tf: "do.tf"; tg: "do.tg"; th: "do.th"; ti: "do.ti"; tj: "do.tj"; tk: "do.tk"; tl: "do.tl"; tm: "do.tm"; tn: "do.tn"; to: "do.to"; tp: "do.tp"; tq: "do.tq"; tr: "do.tr"; ts: "do.ts"; tt: "do.tt"; tu: "do.tu"; tv: "do.tv"; tw: "do.tw"; tx: "do.tx"; ty: "do.ty"; tz: "do.tz"; ua: "do.ua"; ub: "do.ub"; uc: "do.uc"; ud: "do.ud"; ue: "do.ue"; uf: "do.uf"; ug: "do.ug"; uh: "do.uh"; ui: "do.ui"; uj: "do.uj"; uk: "do.uk"; ul: "do.ul"; um: "do.um"; un: "do.un"; uo: "do.uo"; up: "do.up"; uq: "do.uq"; ur: "do.ur"; us: "do.us"; ut: "do.ut"; uu: "do.uu"; uv: "do.uv"; uw: "do.uw"; ux: "do.ux"; uy: "do.uy"; uz: "do.uz"; va: "do.va"; vb: "do.vb"; vc: "do.vc"; vd: "do.vd"; ve: "do.ve"; vf: "do.vf"; vg: "do.vg"; vh: "do.vh"; vi: "do.vi"; vj: "do.vj"; vk: "do.vk"; vl: "do.vl"; vm: "do.vm"; vn: "do.vn"; vo: "do.vo"; vp: "do.vp"; vq: "do.vq"; vr: "do.vr"; vs: "do.vs"; vt: "do.vt"; vu: "do.vu"; vv: "do.vv"; vw: "do.vw"; vx: "do.vx"; vy: "do.vy"; vz: "do.vz"; wa: "do.wa"; wb: "do.wb"; wc: "do.wc"; wd: "do.wd"; we: "do.we"; wf: "do.wf"; wg: "do.wg"; wh: "do.wh"; wi: "do.wi"; wj: "do.wj"; wk: "do.wk"; wl: "do.wl"; wm: "do.wm"; wn: "do.wn"; wo: "do.wo"; wp: "do.wp"; wq: "do.wq"; wr: "do.wr"; ws: "do.ws"; wt: "do.wt"; wu: "do.wu"; wv: "do.wv"; ww: "do.ww"; wx: "do.wx"; wy: "do.wy"; wz: "do.wz"; xa: "do.xa"; xb: "do.xb"; xc: "do.xc"; xd: "do.xd"; xe: "do.xe"; xf: "do.xf"; xg: "do.xg"; xh: "do.xh"; xi: "do.xi"; xj: "do.xj"; xk: "do.xk"; xl: "do.xl"; xm: "do.xm"; xn: "do.xn"; xo: "do.xo"; xp: "do.xp"; xq: "do.xq"; xr: "do.xr"; xs: "do.xs"; xt: "do.xt"; xu: "do.xu"; xv: "do.xv"; xw: "do.xw"; xx: "do.xx"; xy: "do.xy"; xz: "do.xz"; ya: "do.ya"; yb: "do.yb"; yc: "do.yc"; yd: "do.yd"; ye: "do.ye"; yf: "do.yf"; yg: "do.yg"; yh: "do.yh"; yi: "do.yi"; yj: "do.yj"; yk: "do.yk"; yl: "do.yl"; ym: "do.ym"; yn: "do.yn"; yo: "do.yo"; yp: "do.yp"; yq: "do.yq"; yr: "do.yr"; ys: "do.ys"; yt: "do.yt"; yu: "do.yu"; yv: "do.yv"; yw: "do.yw"; yx: "do.yx"; yy: "do.yy"; yz: "do.yz"; za: "do.za"; zb: "do.zb"; zc: "do.zc"; zd: "do.zd"; ze: "do.ze"; zf: "do.zf"; zg: "do.zg"; zh: "do.zh"; zi: "do.zi"; zj: "do.zj"; zk: "do.zk"; zl: "do.zl"; zm: "do.zm"; zn: "do.zn"; zo: "do.zo"; zp: "do.zp"; zq: "do.zq"; zr: "do.zr"; zs: "do.zs"; zt: "do.zt"; zu: "do.zu"; zv: "do.zv"; zw: "do.zw"; zx: "do.zx"; zy: "do.zy"; zz: "do.zz"; }; dp: { aa: "dp.aa"; ab: "dp.ab"; ac: "dp.ac"; ad: "dp.ad"; ae: "dp.ae"; af: "dp.af"; ag: "dp.ag"; ah: "dp.ah"; ai: "dp.ai"; aj: "dp.aj"; ak: "dp.ak"; al: "dp.al"; am: "dp.am"; an: "dp.an"; ao: "dp.ao"; ap: "dp.ap"; aq: "dp.aq"; ar: "dp.ar"; as: "dp.as"; at: "dp.at"; au: "dp.au"; av: "dp.av"; aw: "dp.aw"; ax: "dp.ax"; ay: "dp.ay"; az: "dp.az"; ba: "dp.ba"; bb: "dp.bb"; bc: "dp.bc"; bd: "dp.bd"; be: "dp.be"; bf: "dp.bf"; bg: "dp.bg"; bh: "dp.bh"; bi: "dp.bi"; bj: "dp.bj"; bk: "dp.bk"; bl: "dp.bl"; bm: "dp.bm"; bn: "dp.bn"; bo: "dp.bo"; bp: "dp.bp"; bq: "dp.bq"; br: "dp.br"; bs: "dp.bs"; bt: "dp.bt"; bu: "dp.bu"; bv: "dp.bv"; bw: "dp.bw"; bx: "dp.bx"; by: "dp.by"; bz: "dp.bz"; ca: "dp.ca"; cb: "dp.cb"; cc: "dp.cc"; cd: "dp.cd"; ce: "dp.ce"; cf: "dp.cf"; cg: "dp.cg"; ch: "dp.ch"; ci: "dp.ci"; cj: "dp.cj"; ck: "dp.ck"; cl: "dp.cl"; cm: "dp.cm"; cn: "dp.cn"; co: "dp.co"; cp: "dp.cp"; cq: "dp.cq"; cr: "dp.cr"; cs: "dp.cs"; ct: "dp.ct"; cu: "dp.cu"; cv: "dp.cv"; cw: "dp.cw"; cx: "dp.cx"; cy: "dp.cy"; cz: "dp.cz"; da: "dp.da"; db: "dp.db"; dc: "dp.dc"; dd: "dp.dd"; de: "dp.de"; df: "dp.df"; dg: "dp.dg"; dh: "dp.dh"; di: "dp.di"; dj: "dp.dj"; dk: "dp.dk"; dl: "dp.dl"; dm: "dp.dm"; dn: "dp.dn"; do: "dp.do"; dp: "dp.dp"; dq: "dp.dq"; dr: "dp.dr"; ds: "dp.ds"; dt: "dp.dt"; du: "dp.du"; dv: "dp.dv"; dw: "dp.dw"; dx: "dp.dx"; dy: "dp.dy"; dz: "dp.dz"; ea: "dp.ea"; eb: "dp.eb"; ec: "dp.ec"; ed: "dp.ed"; ee: "dp.ee"; ef: "dp.ef"; eg: "dp.eg"; eh: "dp.eh"; ei: "dp.ei"; ej: "dp.ej"; ek: "dp.ek"; el: "dp.el"; em: "dp.em"; en: "dp.en"; eo: "dp.eo"; ep: "dp.ep"; eq: "dp.eq"; er: "dp.er"; es: "dp.es"; et: "dp.et"; eu: "dp.eu"; ev: "dp.ev"; ew: "dp.ew"; ex: "dp.ex"; ey: "dp.ey"; ez: "dp.ez"; fa: "dp.fa"; fb: "dp.fb"; fc: "dp.fc"; fd: "dp.fd"; fe: "dp.fe"; ff: "dp.ff"; fg: "dp.fg"; fh: "dp.fh"; fi: "dp.fi"; fj: "dp.fj"; fk: "dp.fk"; fl: "dp.fl"; fm: "dp.fm"; fn: "dp.fn"; fo: "dp.fo"; fp: "dp.fp"; fq: "dp.fq"; fr: "dp.fr"; fs: "dp.fs"; ft: "dp.ft"; fu: "dp.fu"; fv: "dp.fv"; fw: "dp.fw"; fx: "dp.fx"; fy: "dp.fy"; fz: "dp.fz"; ga: "dp.ga"; gb: "dp.gb"; gc: "dp.gc"; gd: "dp.gd"; ge: "dp.ge"; gf: "dp.gf"; gg: "dp.gg"; gh: "dp.gh"; gi: "dp.gi"; gj: "dp.gj"; gk: "dp.gk"; gl: "dp.gl"; gm: "dp.gm"; gn: "dp.gn"; go: "dp.go"; gp: "dp.gp"; gq: "dp.gq"; gr: "dp.gr"; gs: "dp.gs"; gt: "dp.gt"; gu: "dp.gu"; gv: "dp.gv"; gw: "dp.gw"; gx: "dp.gx"; gy: "dp.gy"; gz: "dp.gz"; ha: "dp.ha"; hb: "dp.hb"; hc: "dp.hc"; hd: "dp.hd"; he: "dp.he"; hf: "dp.hf"; hg: "dp.hg"; hh: "dp.hh"; hi: "dp.hi"; hj: "dp.hj"; hk: "dp.hk"; hl: "dp.hl"; hm: "dp.hm"; hn: "dp.hn"; ho: "dp.ho"; hp: "dp.hp"; hq: "dp.hq"; hr: "dp.hr"; hs: "dp.hs"; ht: "dp.ht"; hu: "dp.hu"; hv: "dp.hv"; hw: "dp.hw"; hx: "dp.hx"; hy: "dp.hy"; hz: "dp.hz"; ia: "dp.ia"; ib: "dp.ib"; ic: "dp.ic"; id: "dp.id"; ie: "dp.ie"; if: "dp.if"; ig: "dp.ig"; ih: "dp.ih"; ii: "dp.ii"; ij: "dp.ij"; ik: "dp.ik"; il: "dp.il"; im: "dp.im"; in: "dp.in"; io: "dp.io"; ip: "dp.ip"; iq: "dp.iq"; ir: "dp.ir"; is: "dp.is"; it: "dp.it"; iu: "dp.iu"; iv: "dp.iv"; iw: "dp.iw"; ix: "dp.ix"; iy: "dp.iy"; iz: "dp.iz"; ja: "dp.ja"; jb: "dp.jb"; jc: "dp.jc"; jd: "dp.jd"; je: "dp.je"; jf: "dp.jf"; jg: "dp.jg"; jh: "dp.jh"; ji: "dp.ji"; jj: "dp.jj"; jk: "dp.jk"; jl: "dp.jl"; jm: "dp.jm"; jn: "dp.jn"; jo: "dp.jo"; jp: "dp.jp"; jq: "dp.jq"; jr: "dp.jr"; js: "dp.js"; jt: "dp.jt"; ju: "dp.ju"; jv: "dp.jv"; jw: "dp.jw"; jx: "dp.jx"; jy: "dp.jy"; jz: "dp.jz"; ka: "dp.ka"; kb: "dp.kb"; kc: "dp.kc"; kd: "dp.kd"; ke: "dp.ke"; kf: "dp.kf"; kg: "dp.kg"; kh: "dp.kh"; ki: "dp.ki"; kj: "dp.kj"; kk: "dp.kk"; kl: "dp.kl"; km: "dp.km"; kn: "dp.kn"; ko: "dp.ko"; kp: "dp.kp"; kq: "dp.kq"; kr: "dp.kr"; ks: "dp.ks"; kt: "dp.kt"; ku: "dp.ku"; kv: "dp.kv"; kw: "dp.kw"; kx: "dp.kx"; ky: "dp.ky"; kz: "dp.kz"; la: "dp.la"; lb: "dp.lb"; lc: "dp.lc"; ld: "dp.ld"; le: "dp.le"; lf: "dp.lf"; lg: "dp.lg"; lh: "dp.lh"; li: "dp.li"; lj: "dp.lj"; lk: "dp.lk"; ll: "dp.ll"; lm: "dp.lm"; ln: "dp.ln"; lo: "dp.lo"; lp: "dp.lp"; lq: "dp.lq"; lr: "dp.lr"; ls: "dp.ls"; lt: "dp.lt"; lu: "dp.lu"; lv: "dp.lv"; lw: "dp.lw"; lx: "dp.lx"; ly: "dp.ly"; lz: "dp.lz"; ma: "dp.ma"; mb: "dp.mb"; mc: "dp.mc"; md: "dp.md"; me: "dp.me"; mf: "dp.mf"; mg: "dp.mg"; mh: "dp.mh"; mi: "dp.mi"; mj: "dp.mj"; mk: "dp.mk"; ml: "dp.ml"; mm: "dp.mm"; mn: "dp.mn"; mo: "dp.mo"; mp: "dp.mp"; mq: "dp.mq"; mr: "dp.mr"; ms: "dp.ms"; mt: "dp.mt"; mu: "dp.mu"; mv: "dp.mv"; mw: "dp.mw"; mx: "dp.mx"; my: "dp.my"; mz: "dp.mz"; na: "dp.na"; nb: "dp.nb"; nc: "dp.nc"; nd: "dp.nd"; ne: "dp.ne"; nf: "dp.nf"; ng: "dp.ng"; nh: "dp.nh"; ni: "dp.ni"; nj: "dp.nj"; nk: "dp.nk"; nl: "dp.nl"; nm: "dp.nm"; nn: "dp.nn"; no: "dp.no"; np: "dp.np"; nq: "dp.nq"; nr: "dp.nr"; ns: "dp.ns"; nt: "dp.nt"; nu: "dp.nu"; nv: "dp.nv"; nw: "dp.nw"; nx: "dp.nx"; ny: "dp.ny"; nz: "dp.nz"; oa: "dp.oa"; ob: "dp.ob"; oc: "dp.oc"; od: "dp.od"; oe: "dp.oe"; of: "dp.of"; og: "dp.og"; oh: "dp.oh"; oi: "dp.oi"; oj: "dp.oj"; ok: "dp.ok"; ol: "dp.ol"; om: "dp.om"; on: "dp.on"; oo: "dp.oo"; op: "dp.op"; oq: "dp.oq"; or: "dp.or"; os: "dp.os"; ot: "dp.ot"; ou: "dp.ou"; ov: "dp.ov"; ow: "dp.ow"; ox: "dp.ox"; oy: "dp.oy"; oz: "dp.oz"; pa: "dp.pa"; pb: "dp.pb"; pc: "dp.pc"; pd: "dp.pd"; pe: "dp.pe"; pf: "dp.pf"; pg: "dp.pg"; ph: "dp.ph"; pi: "dp.pi"; pj: "dp.pj"; pk: "dp.pk"; pl: "dp.pl"; pm: "dp.pm"; pn: "dp.pn"; po: "dp.po"; pp: "dp.pp"; pq: "dp.pq"; pr: "dp.pr"; ps: "dp.ps"; pt: "dp.pt"; pu: "dp.pu"; pv: "dp.pv"; pw: "dp.pw"; px: "dp.px"; py: "dp.py"; pz: "dp.pz"; qa: "dp.qa"; qb: "dp.qb"; qc: "dp.qc"; qd: "dp.qd"; qe: "dp.qe"; qf: "dp.qf"; qg: "dp.qg"; qh: "dp.qh"; qi: "dp.qi"; qj: "dp.qj"; qk: "dp.qk"; ql: "dp.ql"; qm: "dp.qm"; qn: "dp.qn"; qo: "dp.qo"; qp: "dp.qp"; qq: "dp.qq"; qr: "dp.qr"; qs: "dp.qs"; qt: "dp.qt"; qu: "dp.qu"; qv: "dp.qv"; qw: "dp.qw"; qx: "dp.qx"; qy: "dp.qy"; qz: "dp.qz"; ra: "dp.ra"; rb: "dp.rb"; rc: "dp.rc"; rd: "dp.rd"; re: "dp.re"; rf: "dp.rf"; rg: "dp.rg"; rh: "dp.rh"; ri: "dp.ri"; rj: "dp.rj"; rk: "dp.rk"; rl: "dp.rl"; rm: "dp.rm"; rn: "dp.rn"; ro: "dp.ro"; rp: "dp.rp"; rq: "dp.rq"; rr: "dp.rr"; rs: "dp.rs"; rt: "dp.rt"; ru: "dp.ru"; rv: "dp.rv"; rw: "dp.rw"; rx: "dp.rx"; ry: "dp.ry"; rz: "dp.rz"; sa: "dp.sa"; sb: "dp.sb"; sc: "dp.sc"; sd: "dp.sd"; se: "dp.se"; sf: "dp.sf"; sg: "dp.sg"; sh: "dp.sh"; si: "dp.si"; sj: "dp.sj"; sk: "dp.sk"; sl: "dp.sl"; sm: "dp.sm"; sn: "dp.sn"; so: "dp.so"; sp: "dp.sp"; sq: "dp.sq"; sr: "dp.sr"; ss: "dp.ss"; st: "dp.st"; su: "dp.su"; sv: "dp.sv"; sw: "dp.sw"; sx: "dp.sx"; sy: "dp.sy"; sz: "dp.sz"; ta: "dp.ta"; tb: "dp.tb"; tc: "dp.tc"; td: "dp.td"; te: "dp.te"; tf: "dp.tf"; tg: "dp.tg"; th: "dp.th"; ti: "dp.ti"; tj: "dp.tj"; tk: "dp.tk"; tl: "dp.tl"; tm: "dp.tm"; tn: "dp.tn"; to: "dp.to"; tp: "dp.tp"; tq: "dp.tq"; tr: "dp.tr"; ts: "dp.ts"; tt: "dp.tt"; tu: "dp.tu"; tv: "dp.tv"; tw: "dp.tw"; tx: "dp.tx"; ty: "dp.ty"; tz: "dp.tz"; ua: "dp.ua"; ub: "dp.ub"; uc: "dp.uc"; ud: "dp.ud"; ue: "dp.ue"; uf: "dp.uf"; ug: "dp.ug"; uh: "dp.uh"; ui: "dp.ui"; uj: "dp.uj"; uk: "dp.uk"; ul: "dp.ul"; um: "dp.um"; un: "dp.un"; uo: "dp.uo"; up: "dp.up"; uq: "dp.uq"; ur: "dp.ur"; us: "dp.us"; ut: "dp.ut"; uu: "dp.uu"; uv: "dp.uv"; uw: "dp.uw"; ux: "dp.ux"; uy: "dp.uy"; uz: "dp.uz"; va: "dp.va"; vb: "dp.vb"; vc: "dp.vc"; vd: "dp.vd"; ve: "dp.ve"; vf: "dp.vf"; vg: "dp.vg"; vh: "dp.vh"; vi: "dp.vi"; vj: "dp.vj"; vk: "dp.vk"; vl: "dp.vl"; vm: "dp.vm"; vn: "dp.vn"; vo: "dp.vo"; vp: "dp.vp"; vq: "dp.vq"; vr: "dp.vr"; vs: "dp.vs"; vt: "dp.vt"; vu: "dp.vu"; vv: "dp.vv"; vw: "dp.vw"; vx: "dp.vx"; vy: "dp.vy"; vz: "dp.vz"; wa: "dp.wa"; wb: "dp.wb"; wc: "dp.wc"; wd: "dp.wd"; we: "dp.we"; wf: "dp.wf"; wg: "dp.wg"; wh: "dp.wh"; wi: "dp.wi"; wj: "dp.wj"; wk: "dp.wk"; wl: "dp.wl"; wm: "dp.wm"; wn: "dp.wn"; wo: "dp.wo"; wp: "dp.wp"; wq: "dp.wq"; wr: "dp.wr"; ws: "dp.ws"; wt: "dp.wt"; wu: "dp.wu"; wv: "dp.wv"; ww: "dp.ww"; wx: "dp.wx"; wy: "dp.wy"; wz: "dp.wz"; xa: "dp.xa"; xb: "dp.xb"; xc: "dp.xc"; xd: "dp.xd"; xe: "dp.xe"; xf: "dp.xf"; xg: "dp.xg"; xh: "dp.xh"; xi: "dp.xi"; xj: "dp.xj"; xk: "dp.xk"; xl: "dp.xl"; xm: "dp.xm"; xn: "dp.xn"; xo: "dp.xo"; xp: "dp.xp"; xq: "dp.xq"; xr: "dp.xr"; xs: "dp.xs"; xt: "dp.xt"; xu: "dp.xu"; xv: "dp.xv"; xw: "dp.xw"; xx: "dp.xx"; xy: "dp.xy"; xz: "dp.xz"; ya: "dp.ya"; yb: "dp.yb"; yc: "dp.yc"; yd: "dp.yd"; ye: "dp.ye"; yf: "dp.yf"; yg: "dp.yg"; yh: "dp.yh"; yi: "dp.yi"; yj: "dp.yj"; yk: "dp.yk"; yl: "dp.yl"; ym: "dp.ym"; yn: "dp.yn"; yo: "dp.yo"; yp: "dp.yp"; yq: "dp.yq"; yr: "dp.yr"; ys: "dp.ys"; yt: "dp.yt"; yu: "dp.yu"; yv: "dp.yv"; yw: "dp.yw"; yx: "dp.yx"; yy: "dp.yy"; yz: "dp.yz"; za: "dp.za"; zb: "dp.zb"; zc: "dp.zc"; zd: "dp.zd"; ze: "dp.ze"; zf: "dp.zf"; zg: "dp.zg"; zh: "dp.zh"; zi: "dp.zi"; zj: "dp.zj"; zk: "dp.zk"; zl: "dp.zl"; zm: "dp.zm"; zn: "dp.zn"; zo: "dp.zo"; zp: "dp.zp"; zq: "dp.zq"; zr: "dp.zr"; zs: "dp.zs"; zt: "dp.zt"; zu: "dp.zu"; zv: "dp.zv"; zw: "dp.zw"; zx: "dp.zx"; zy: "dp.zy"; zz: "dp.zz"; }; dq: { aa: "dq.aa"; ab: "dq.ab"; ac: "dq.ac"; ad: "dq.ad"; ae: "dq.ae"; af: "dq.af"; ag: "dq.ag"; ah: "dq.ah"; ai: "dq.ai"; aj: "dq.aj"; ak: "dq.ak"; al: "dq.al"; am: "dq.am"; an: "dq.an"; ao: "dq.ao"; ap: "dq.ap"; aq: "dq.aq"; ar: "dq.ar"; as: "dq.as"; at: "dq.at"; au: "dq.au"; av: "dq.av"; aw: "dq.aw"; ax: "dq.ax"; ay: "dq.ay"; az: "dq.az"; ba: "dq.ba"; bb: "dq.bb"; bc: "dq.bc"; bd: "dq.bd"; be: "dq.be"; bf: "dq.bf"; bg: "dq.bg"; bh: "dq.bh"; bi: "dq.bi"; bj: "dq.bj"; bk: "dq.bk"; bl: "dq.bl"; bm: "dq.bm"; bn: "dq.bn"; bo: "dq.bo"; bp: "dq.bp"; bq: "dq.bq"; br: "dq.br"; bs: "dq.bs"; bt: "dq.bt"; bu: "dq.bu"; bv: "dq.bv"; bw: "dq.bw"; bx: "dq.bx"; by: "dq.by"; bz: "dq.bz"; ca: "dq.ca"; cb: "dq.cb"; cc: "dq.cc"; cd: "dq.cd"; ce: "dq.ce"; cf: "dq.cf"; cg: "dq.cg"; ch: "dq.ch"; ci: "dq.ci"; cj: "dq.cj"; ck: "dq.ck"; cl: "dq.cl"; cm: "dq.cm"; cn: "dq.cn"; co: "dq.co"; cp: "dq.cp"; cq: "dq.cq"; cr: "dq.cr"; cs: "dq.cs"; ct: "dq.ct"; cu: "dq.cu"; cv: "dq.cv"; cw: "dq.cw"; cx: "dq.cx"; cy: "dq.cy"; cz: "dq.cz"; da: "dq.da"; db: "dq.db"; dc: "dq.dc"; dd: "dq.dd"; de: "dq.de"; df: "dq.df"; dg: "dq.dg"; dh: "dq.dh"; di: "dq.di"; dj: "dq.dj"; dk: "dq.dk"; dl: "dq.dl"; dm: "dq.dm"; dn: "dq.dn"; do: "dq.do"; dp: "dq.dp"; dq: "dq.dq"; dr: "dq.dr"; ds: "dq.ds"; dt: "dq.dt"; du: "dq.du"; dv: "dq.dv"; dw: "dq.dw"; dx: "dq.dx"; dy: "dq.dy"; dz: "dq.dz"; ea: "dq.ea"; eb: "dq.eb"; ec: "dq.ec"; ed: "dq.ed"; ee: "dq.ee"; ef: "dq.ef"; eg: "dq.eg"; eh: "dq.eh"; ei: "dq.ei"; ej: "dq.ej"; ek: "dq.ek"; el: "dq.el"; em: "dq.em"; en: "dq.en"; eo: "dq.eo"; ep: "dq.ep"; eq: "dq.eq"; er: "dq.er"; es: "dq.es"; et: "dq.et"; eu: "dq.eu"; ev: "dq.ev"; ew: "dq.ew"; ex: "dq.ex"; ey: "dq.ey"; ez: "dq.ez"; fa: "dq.fa"; fb: "dq.fb"; fc: "dq.fc"; fd: "dq.fd"; fe: "dq.fe"; ff: "dq.ff"; fg: "dq.fg"; fh: "dq.fh"; fi: "dq.fi"; fj: "dq.fj"; fk: "dq.fk"; fl: "dq.fl"; fm: "dq.fm"; fn: "dq.fn"; fo: "dq.fo"; fp: "dq.fp"; fq: "dq.fq"; fr: "dq.fr"; fs: "dq.fs"; ft: "dq.ft"; fu: "dq.fu"; fv: "dq.fv"; fw: "dq.fw"; fx: "dq.fx"; fy: "dq.fy"; fz: "dq.fz"; ga: "dq.ga"; gb: "dq.gb"; gc: "dq.gc"; gd: "dq.gd"; ge: "dq.ge"; gf: "dq.gf"; gg: "dq.gg"; gh: "dq.gh"; gi: "dq.gi"; gj: "dq.gj"; gk: "dq.gk"; gl: "dq.gl"; gm: "dq.gm"; gn: "dq.gn"; go: "dq.go"; gp: "dq.gp"; gq: "dq.gq"; gr: "dq.gr"; gs: "dq.gs"; gt: "dq.gt"; gu: "dq.gu"; gv: "dq.gv"; gw: "dq.gw"; gx: "dq.gx"; gy: "dq.gy"; gz: "dq.gz"; ha: "dq.ha"; hb: "dq.hb"; hc: "dq.hc"; hd: "dq.hd"; he: "dq.he"; hf: "dq.hf"; hg: "dq.hg"; hh: "dq.hh"; hi: "dq.hi"; hj: "dq.hj"; hk: "dq.hk"; hl: "dq.hl"; hm: "dq.hm"; hn: "dq.hn"; ho: "dq.ho"; hp: "dq.hp"; hq: "dq.hq"; hr: "dq.hr"; hs: "dq.hs"; ht: "dq.ht"; hu: "dq.hu"; hv: "dq.hv"; hw: "dq.hw"; hx: "dq.hx"; hy: "dq.hy"; hz: "dq.hz"; ia: "dq.ia"; ib: "dq.ib"; ic: "dq.ic"; id: "dq.id"; ie: "dq.ie"; if: "dq.if"; ig: "dq.ig"; ih: "dq.ih"; ii: "dq.ii"; ij: "dq.ij"; ik: "dq.ik"; il: "dq.il"; im: "dq.im"; in: "dq.in"; io: "dq.io"; ip: "dq.ip"; iq: "dq.iq"; ir: "dq.ir"; is: "dq.is"; it: "dq.it"; iu: "dq.iu"; iv: "dq.iv"; iw: "dq.iw"; ix: "dq.ix"; iy: "dq.iy"; iz: "dq.iz"; ja: "dq.ja"; jb: "dq.jb"; jc: "dq.jc"; jd: "dq.jd"; je: "dq.je"; jf: "dq.jf"; jg: "dq.jg"; jh: "dq.jh"; ji: "dq.ji"; jj: "dq.jj"; jk: "dq.jk"; jl: "dq.jl"; jm: "dq.jm"; jn: "dq.jn"; jo: "dq.jo"; jp: "dq.jp"; jq: "dq.jq"; jr: "dq.jr"; js: "dq.js"; jt: "dq.jt"; ju: "dq.ju"; jv: "dq.jv"; jw: "dq.jw"; jx: "dq.jx"; jy: "dq.jy"; jz: "dq.jz"; ka: "dq.ka"; kb: "dq.kb"; kc: "dq.kc"; kd: "dq.kd"; ke: "dq.ke"; kf: "dq.kf"; kg: "dq.kg"; kh: "dq.kh"; ki: "dq.ki"; kj: "dq.kj"; kk: "dq.kk"; kl: "dq.kl"; km: "dq.km"; kn: "dq.kn"; ko: "dq.ko"; kp: "dq.kp"; kq: "dq.kq"; kr: "dq.kr"; ks: "dq.ks"; kt: "dq.kt"; ku: "dq.ku"; kv: "dq.kv"; kw: "dq.kw"; kx: "dq.kx"; ky: "dq.ky"; kz: "dq.kz"; la: "dq.la"; lb: "dq.lb"; lc: "dq.lc"; ld: "dq.ld"; le: "dq.le"; lf: "dq.lf"; lg: "dq.lg"; lh: "dq.lh"; li: "dq.li"; lj: "dq.lj"; lk: "dq.lk"; ll: "dq.ll"; lm: "dq.lm"; ln: "dq.ln"; lo: "dq.lo"; lp: "dq.lp"; lq: "dq.lq"; lr: "dq.lr"; ls: "dq.ls"; lt: "dq.lt"; lu: "dq.lu"; lv: "dq.lv"; lw: "dq.lw"; lx: "dq.lx"; ly: "dq.ly"; lz: "dq.lz"; ma: "dq.ma"; mb: "dq.mb"; mc: "dq.mc"; md: "dq.md"; me: "dq.me"; mf: "dq.mf"; mg: "dq.mg"; mh: "dq.mh"; mi: "dq.mi"; mj: "dq.mj"; mk: "dq.mk"; ml: "dq.ml"; mm: "dq.mm"; mn: "dq.mn"; mo: "dq.mo"; mp: "dq.mp"; mq: "dq.mq"; mr: "dq.mr"; ms: "dq.ms"; mt: "dq.mt"; mu: "dq.mu"; mv: "dq.mv"; mw: "dq.mw"; mx: "dq.mx"; my: "dq.my"; mz: "dq.mz"; na: "dq.na"; nb: "dq.nb"; nc: "dq.nc"; nd: "dq.nd"; ne: "dq.ne"; nf: "dq.nf"; ng: "dq.ng"; nh: "dq.nh"; ni: "dq.ni"; nj: "dq.nj"; nk: "dq.nk"; nl: "dq.nl"; nm: "dq.nm"; nn: "dq.nn"; no: "dq.no"; np: "dq.np"; nq: "dq.nq"; nr: "dq.nr"; ns: "dq.ns"; nt: "dq.nt"; nu: "dq.nu"; nv: "dq.nv"; nw: "dq.nw"; nx: "dq.nx"; ny: "dq.ny"; nz: "dq.nz"; oa: "dq.oa"; ob: "dq.ob"; oc: "dq.oc"; od: "dq.od"; oe: "dq.oe"; of: "dq.of"; og: "dq.og"; oh: "dq.oh"; oi: "dq.oi"; oj: "dq.oj"; ok: "dq.ok"; ol: "dq.ol"; om: "dq.om"; on: "dq.on"; oo: "dq.oo"; op: "dq.op"; oq: "dq.oq"; or: "dq.or"; os: "dq.os"; ot: "dq.ot"; ou: "dq.ou"; ov: "dq.ov"; ow: "dq.ow"; ox: "dq.ox"; oy: "dq.oy"; oz: "dq.oz"; pa: "dq.pa"; pb: "dq.pb"; pc: "dq.pc"; pd: "dq.pd"; pe: "dq.pe"; pf: "dq.pf"; pg: "dq.pg"; ph: "dq.ph"; pi: "dq.pi"; pj: "dq.pj"; pk: "dq.pk"; pl: "dq.pl"; pm: "dq.pm"; pn: "dq.pn"; po: "dq.po"; pp: "dq.pp"; pq: "dq.pq"; pr: "dq.pr"; ps: "dq.ps"; pt: "dq.pt"; pu: "dq.pu"; pv: "dq.pv"; pw: "dq.pw"; px: "dq.px"; py: "dq.py"; pz: "dq.pz"; qa: "dq.qa"; qb: "dq.qb"; qc: "dq.qc"; qd: "dq.qd"; qe: "dq.qe"; qf: "dq.qf"; qg: "dq.qg"; qh: "dq.qh"; qi: "dq.qi"; qj: "dq.qj"; qk: "dq.qk"; ql: "dq.ql"; qm: "dq.qm"; qn: "dq.qn"; qo: "dq.qo"; qp: "dq.qp"; qq: "dq.qq"; qr: "dq.qr"; qs: "dq.qs"; qt: "dq.qt"; qu: "dq.qu"; qv: "dq.qv"; qw: "dq.qw"; qx: "dq.qx"; qy: "dq.qy"; qz: "dq.qz"; ra: "dq.ra"; rb: "dq.rb"; rc: "dq.rc"; rd: "dq.rd"; re: "dq.re"; rf: "dq.rf"; rg: "dq.rg"; rh: "dq.rh"; ri: "dq.ri"; rj: "dq.rj"; rk: "dq.rk"; rl: "dq.rl"; rm: "dq.rm"; rn: "dq.rn"; ro: "dq.ro"; rp: "dq.rp"; rq: "dq.rq"; rr: "dq.rr"; rs: "dq.rs"; rt: "dq.rt"; ru: "dq.ru"; rv: "dq.rv"; rw: "dq.rw"; rx: "dq.rx"; ry: "dq.ry"; rz: "dq.rz"; sa: "dq.sa"; sb: "dq.sb"; sc: "dq.sc"; sd: "dq.sd"; se: "dq.se"; sf: "dq.sf"; sg: "dq.sg"; sh: "dq.sh"; si: "dq.si"; sj: "dq.sj"; sk: "dq.sk"; sl: "dq.sl"; sm: "dq.sm"; sn: "dq.sn"; so: "dq.so"; sp: "dq.sp"; sq: "dq.sq"; sr: "dq.sr"; ss: "dq.ss"; st: "dq.st"; su: "dq.su"; sv: "dq.sv"; sw: "dq.sw"; sx: "dq.sx"; sy: "dq.sy"; sz: "dq.sz"; ta: "dq.ta"; tb: "dq.tb"; tc: "dq.tc"; td: "dq.td"; te: "dq.te"; tf: "dq.tf"; tg: "dq.tg"; th: "dq.th"; ti: "dq.ti"; tj: "dq.tj"; tk: "dq.tk"; tl: "dq.tl"; tm: "dq.tm"; tn: "dq.tn"; to: "dq.to"; tp: "dq.tp"; tq: "dq.tq"; tr: "dq.tr"; ts: "dq.ts"; tt: "dq.tt"; tu: "dq.tu"; tv: "dq.tv"; tw: "dq.tw"; tx: "dq.tx"; ty: "dq.ty"; tz: "dq.tz"; ua: "dq.ua"; ub: "dq.ub"; uc: "dq.uc"; ud: "dq.ud"; ue: "dq.ue"; uf: "dq.uf"; ug: "dq.ug"; uh: "dq.uh"; ui: "dq.ui"; uj: "dq.uj"; uk: "dq.uk"; ul: "dq.ul"; um: "dq.um"; un: "dq.un"; uo: "dq.uo"; up: "dq.up"; uq: "dq.uq"; ur: "dq.ur"; us: "dq.us"; ut: "dq.ut"; uu: "dq.uu"; uv: "dq.uv"; uw: "dq.uw"; ux: "dq.ux"; uy: "dq.uy"; uz: "dq.uz"; va: "dq.va"; vb: "dq.vb"; vc: "dq.vc"; vd: "dq.vd"; ve: "dq.ve"; vf: "dq.vf"; vg: "dq.vg"; vh: "dq.vh"; vi: "dq.vi"; vj: "dq.vj"; vk: "dq.vk"; vl: "dq.vl"; vm: "dq.vm"; vn: "dq.vn"; vo: "dq.vo"; vp: "dq.vp"; vq: "dq.vq"; vr: "dq.vr"; vs: "dq.vs"; vt: "dq.vt"; vu: "dq.vu"; vv: "dq.vv"; vw: "dq.vw"; vx: "dq.vx"; vy: "dq.vy"; vz: "dq.vz"; wa: "dq.wa"; wb: "dq.wb"; wc: "dq.wc"; wd: "dq.wd"; we: "dq.we"; wf: "dq.wf"; wg: "dq.wg"; wh: "dq.wh"; wi: "dq.wi"; wj: "dq.wj"; wk: "dq.wk"; wl: "dq.wl"; wm: "dq.wm"; wn: "dq.wn"; wo: "dq.wo"; wp: "dq.wp"; wq: "dq.wq"; wr: "dq.wr"; ws: "dq.ws"; wt: "dq.wt"; wu: "dq.wu"; wv: "dq.wv"; ww: "dq.ww"; wx: "dq.wx"; wy: "dq.wy"; wz: "dq.wz"; xa: "dq.xa"; xb: "dq.xb"; xc: "dq.xc"; xd: "dq.xd"; xe: "dq.xe"; xf: "dq.xf"; xg: "dq.xg"; xh: "dq.xh"; xi: "dq.xi"; xj: "dq.xj"; xk: "dq.xk"; xl: "dq.xl"; xm: "dq.xm"; xn: "dq.xn"; xo: "dq.xo"; xp: "dq.xp"; xq: "dq.xq"; xr: "dq.xr"; xs: "dq.xs"; xt: "dq.xt"; xu: "dq.xu"; xv: "dq.xv"; xw: "dq.xw"; xx: "dq.xx"; xy: "dq.xy"; xz: "dq.xz"; ya: "dq.ya"; yb: "dq.yb"; yc: "dq.yc"; yd: "dq.yd"; ye: "dq.ye"; yf: "dq.yf"; yg: "dq.yg"; yh: "dq.yh"; yi: "dq.yi"; yj: "dq.yj"; yk: "dq.yk"; yl: "dq.yl"; ym: "dq.ym"; yn: "dq.yn"; yo: "dq.yo"; yp: "dq.yp"; yq: "dq.yq"; yr: "dq.yr"; ys: "dq.ys"; yt: "dq.yt"; yu: "dq.yu"; yv: "dq.yv"; yw: "dq.yw"; yx: "dq.yx"; yy: "dq.yy"; yz: "dq.yz"; za: "dq.za"; zb: "dq.zb"; zc: "dq.zc"; zd: "dq.zd"; ze: "dq.ze"; zf: "dq.zf"; zg: "dq.zg"; zh: "dq.zh"; zi: "dq.zi"; zj: "dq.zj"; zk: "dq.zk"; zl: "dq.zl"; zm: "dq.zm"; zn: "dq.zn"; zo: "dq.zo"; zp: "dq.zp"; zq: "dq.zq"; zr: "dq.zr"; zs: "dq.zs"; zt: "dq.zt"; zu: "dq.zu"; zv: "dq.zv"; zw: "dq.zw"; zx: "dq.zx"; zy: "dq.zy"; zz: "dq.zz"; }; dr: { aa: "dr.aa"; ab: "dr.ab"; ac: "dr.ac"; ad: "dr.ad"; ae: "dr.ae"; af: "dr.af"; ag: "dr.ag"; ah: "dr.ah"; ai: "dr.ai"; aj: "dr.aj"; ak: "dr.ak"; al: "dr.al"; am: "dr.am"; an: "dr.an"; ao: "dr.ao"; ap: "dr.ap"; aq: "dr.aq"; ar: "dr.ar"; as: "dr.as"; at: "dr.at"; au: "dr.au"; av: "dr.av"; aw: "dr.aw"; ax: "dr.ax"; ay: "dr.ay"; az: "dr.az"; ba: "dr.ba"; bb: "dr.bb"; bc: "dr.bc"; bd: "dr.bd"; be: "dr.be"; bf: "dr.bf"; bg: "dr.bg"; bh: "dr.bh"; bi: "dr.bi"; bj: "dr.bj"; bk: "dr.bk"; bl: "dr.bl"; bm: "dr.bm"; bn: "dr.bn"; bo: "dr.bo"; bp: "dr.bp"; bq: "dr.bq"; br: "dr.br"; bs: "dr.bs"; bt: "dr.bt"; bu: "dr.bu"; bv: "dr.bv"; bw: "dr.bw"; bx: "dr.bx"; by: "dr.by"; bz: "dr.bz"; ca: "dr.ca"; cb: "dr.cb"; cc: "dr.cc"; cd: "dr.cd"; ce: "dr.ce"; cf: "dr.cf"; cg: "dr.cg"; ch: "dr.ch"; ci: "dr.ci"; cj: "dr.cj"; ck: "dr.ck"; cl: "dr.cl"; cm: "dr.cm"; cn: "dr.cn"; co: "dr.co"; cp: "dr.cp"; cq: "dr.cq"; cr: "dr.cr"; cs: "dr.cs"; ct: "dr.ct"; cu: "dr.cu"; cv: "dr.cv"; cw: "dr.cw"; cx: "dr.cx"; cy: "dr.cy"; cz: "dr.cz"; da: "dr.da"; db: "dr.db"; dc: "dr.dc"; dd: "dr.dd"; de: "dr.de"; df: "dr.df"; dg: "dr.dg"; dh: "dr.dh"; di: "dr.di"; dj: "dr.dj"; dk: "dr.dk"; dl: "dr.dl"; dm: "dr.dm"; dn: "dr.dn"; do: "dr.do"; dp: "dr.dp"; dq: "dr.dq"; dr: "dr.dr"; ds: "dr.ds"; dt: "dr.dt"; du: "dr.du"; dv: "dr.dv"; dw: "dr.dw"; dx: "dr.dx"; dy: "dr.dy"; dz: "dr.dz"; ea: "dr.ea"; eb: "dr.eb"; ec: "dr.ec"; ed: "dr.ed"; ee: "dr.ee"; ef: "dr.ef"; eg: "dr.eg"; eh: "dr.eh"; ei: "dr.ei"; ej: "dr.ej"; ek: "dr.ek"; el: "dr.el"; em: "dr.em"; en: "dr.en"; eo: "dr.eo"; ep: "dr.ep"; eq: "dr.eq"; er: "dr.er"; es: "dr.es"; et: "dr.et"; eu: "dr.eu"; ev: "dr.ev"; ew: "dr.ew"; ex: "dr.ex"; ey: "dr.ey"; ez: "dr.ez"; fa: "dr.fa"; fb: "dr.fb"; fc: "dr.fc"; fd: "dr.fd"; fe: "dr.fe"; ff: "dr.ff"; fg: "dr.fg"; fh: "dr.fh"; fi: "dr.fi"; fj: "dr.fj"; fk: "dr.fk"; fl: "dr.fl"; fm: "dr.fm"; fn: "dr.fn"; fo: "dr.fo"; fp: "dr.fp"; fq: "dr.fq"; fr: "dr.fr"; fs: "dr.fs"; ft: "dr.ft"; fu: "dr.fu"; fv: "dr.fv"; fw: "dr.fw"; fx: "dr.fx"; fy: "dr.fy"; fz: "dr.fz"; ga: "dr.ga"; gb: "dr.gb"; gc: "dr.gc"; gd: "dr.gd"; ge: "dr.ge"; gf: "dr.gf"; gg: "dr.gg"; gh: "dr.gh"; gi: "dr.gi"; gj: "dr.gj"; gk: "dr.gk"; gl: "dr.gl"; gm: "dr.gm"; gn: "dr.gn"; go: "dr.go"; gp: "dr.gp"; gq: "dr.gq"; gr: "dr.gr"; gs: "dr.gs"; gt: "dr.gt"; gu: "dr.gu"; gv: "dr.gv"; gw: "dr.gw"; gx: "dr.gx"; gy: "dr.gy"; gz: "dr.gz"; ha: "dr.ha"; hb: "dr.hb"; hc: "dr.hc"; hd: "dr.hd"; he: "dr.he"; hf: "dr.hf"; hg: "dr.hg"; hh: "dr.hh"; hi: "dr.hi"; hj: "dr.hj"; hk: "dr.hk"; hl: "dr.hl"; hm: "dr.hm"; hn: "dr.hn"; ho: "dr.ho"; hp: "dr.hp"; hq: "dr.hq"; hr: "dr.hr"; hs: "dr.hs"; ht: "dr.ht"; hu: "dr.hu"; hv: "dr.hv"; hw: "dr.hw"; hx: "dr.hx"; hy: "dr.hy"; hz: "dr.hz"; ia: "dr.ia"; ib: "dr.ib"; ic: "dr.ic"; id: "dr.id"; ie: "dr.ie"; if: "dr.if"; ig: "dr.ig"; ih: "dr.ih"; ii: "dr.ii"; ij: "dr.ij"; ik: "dr.ik"; il: "dr.il"; im: "dr.im"; in: "dr.in"; io: "dr.io"; ip: "dr.ip"; iq: "dr.iq"; ir: "dr.ir"; is: "dr.is"; it: "dr.it"; iu: "dr.iu"; iv: "dr.iv"; iw: "dr.iw"; ix: "dr.ix"; iy: "dr.iy"; iz: "dr.iz"; ja: "dr.ja"; jb: "dr.jb"; jc: "dr.jc"; jd: "dr.jd"; je: "dr.je"; jf: "dr.jf"; jg: "dr.jg"; jh: "dr.jh"; ji: "dr.ji"; jj: "dr.jj"; jk: "dr.jk"; jl: "dr.jl"; jm: "dr.jm"; jn: "dr.jn"; jo: "dr.jo"; jp: "dr.jp"; jq: "dr.jq"; jr: "dr.jr"; js: "dr.js"; jt: "dr.jt"; ju: "dr.ju"; jv: "dr.jv"; jw: "dr.jw"; jx: "dr.jx"; jy: "dr.jy"; jz: "dr.jz"; ka: "dr.ka"; kb: "dr.kb"; kc: "dr.kc"; kd: "dr.kd"; ke: "dr.ke"; kf: "dr.kf"; kg: "dr.kg"; kh: "dr.kh"; ki: "dr.ki"; kj: "dr.kj"; kk: "dr.kk"; kl: "dr.kl"; km: "dr.km"; kn: "dr.kn"; ko: "dr.ko"; kp: "dr.kp"; kq: "dr.kq"; kr: "dr.kr"; ks: "dr.ks"; kt: "dr.kt"; ku: "dr.ku"; kv: "dr.kv"; kw: "dr.kw"; kx: "dr.kx"; ky: "dr.ky"; kz: "dr.kz"; la: "dr.la"; lb: "dr.lb"; lc: "dr.lc"; ld: "dr.ld"; le: "dr.le"; lf: "dr.lf"; lg: "dr.lg"; lh: "dr.lh"; li: "dr.li"; lj: "dr.lj"; lk: "dr.lk"; ll: "dr.ll"; lm: "dr.lm"; ln: "dr.ln"; lo: "dr.lo"; lp: "dr.lp"; lq: "dr.lq"; lr: "dr.lr"; ls: "dr.ls"; lt: "dr.lt"; lu: "dr.lu"; lv: "dr.lv"; lw: "dr.lw"; lx: "dr.lx"; ly: "dr.ly"; lz: "dr.lz"; ma: "dr.ma"; mb: "dr.mb"; mc: "dr.mc"; md: "dr.md"; me: "dr.me"; mf: "dr.mf"; mg: "dr.mg"; mh: "dr.mh"; mi: "dr.mi"; mj: "dr.mj"; mk: "dr.mk"; ml: "dr.ml"; mm: "dr.mm"; mn: "dr.mn"; mo: "dr.mo"; mp: "dr.mp"; mq: "dr.mq"; mr: "dr.mr"; ms: "dr.ms"; mt: "dr.mt"; mu: "dr.mu"; mv: "dr.mv"; mw: "dr.mw"; mx: "dr.mx"; my: "dr.my"; mz: "dr.mz"; na: "dr.na"; nb: "dr.nb"; nc: "dr.nc"; nd: "dr.nd"; ne: "dr.ne"; nf: "dr.nf"; ng: "dr.ng"; nh: "dr.nh"; ni: "dr.ni"; nj: "dr.nj"; nk: "dr.nk"; nl: "dr.nl"; nm: "dr.nm"; nn: "dr.nn"; no: "dr.no"; np: "dr.np"; nq: "dr.nq"; nr: "dr.nr"; ns: "dr.ns"; nt: "dr.nt"; nu: "dr.nu"; nv: "dr.nv"; nw: "dr.nw"; nx: "dr.nx"; ny: "dr.ny"; nz: "dr.nz"; oa: "dr.oa"; ob: "dr.ob"; oc: "dr.oc"; od: "dr.od"; oe: "dr.oe"; of: "dr.of"; og: "dr.og"; oh: "dr.oh"; oi: "dr.oi"; oj: "dr.oj"; ok: "dr.ok"; ol: "dr.ol"; om: "dr.om"; on: "dr.on"; oo: "dr.oo"; op: "dr.op"; oq: "dr.oq"; or: "dr.or"; os: "dr.os"; ot: "dr.ot"; ou: "dr.ou"; ov: "dr.ov"; ow: "dr.ow"; ox: "dr.ox"; oy: "dr.oy"; oz: "dr.oz"; pa: "dr.pa"; pb: "dr.pb"; pc: "dr.pc"; pd: "dr.pd"; pe: "dr.pe"; pf: "dr.pf"; pg: "dr.pg"; ph: "dr.ph"; pi: "dr.pi"; pj: "dr.pj"; pk: "dr.pk"; pl: "dr.pl"; pm: "dr.pm"; pn: "dr.pn"; po: "dr.po"; pp: "dr.pp"; pq: "dr.pq"; pr: "dr.pr"; ps: "dr.ps"; pt: "dr.pt"; pu: "dr.pu"; pv: "dr.pv"; pw: "dr.pw"; px: "dr.px"; py: "dr.py"; pz: "dr.pz"; qa: "dr.qa"; qb: "dr.qb"; qc: "dr.qc"; qd: "dr.qd"; qe: "dr.qe"; qf: "dr.qf"; qg: "dr.qg"; qh: "dr.qh"; qi: "dr.qi"; qj: "dr.qj"; qk: "dr.qk"; ql: "dr.ql"; qm: "dr.qm"; qn: "dr.qn"; qo: "dr.qo"; qp: "dr.qp"; qq: "dr.qq"; qr: "dr.qr"; qs: "dr.qs"; qt: "dr.qt"; qu: "dr.qu"; qv: "dr.qv"; qw: "dr.qw"; qx: "dr.qx"; qy: "dr.qy"; qz: "dr.qz"; ra: "dr.ra"; rb: "dr.rb"; rc: "dr.rc"; rd: "dr.rd"; re: "dr.re"; rf: "dr.rf"; rg: "dr.rg"; rh: "dr.rh"; ri: "dr.ri"; rj: "dr.rj"; rk: "dr.rk"; rl: "dr.rl"; rm: "dr.rm"; rn: "dr.rn"; ro: "dr.ro"; rp: "dr.rp"; rq: "dr.rq"; rr: "dr.rr"; rs: "dr.rs"; rt: "dr.rt"; ru: "dr.ru"; rv: "dr.rv"; rw: "dr.rw"; rx: "dr.rx"; ry: "dr.ry"; rz: "dr.rz"; sa: "dr.sa"; sb: "dr.sb"; sc: "dr.sc"; sd: "dr.sd"; se: "dr.se"; sf: "dr.sf"; sg: "dr.sg"; sh: "dr.sh"; si: "dr.si"; sj: "dr.sj"; sk: "dr.sk"; sl: "dr.sl"; sm: "dr.sm"; sn: "dr.sn"; so: "dr.so"; sp: "dr.sp"; sq: "dr.sq"; sr: "dr.sr"; ss: "dr.ss"; st: "dr.st"; su: "dr.su"; sv: "dr.sv"; sw: "dr.sw"; sx: "dr.sx"; sy: "dr.sy"; sz: "dr.sz"; ta: "dr.ta"; tb: "dr.tb"; tc: "dr.tc"; td: "dr.td"; te: "dr.te"; tf: "dr.tf"; tg: "dr.tg"; th: "dr.th"; ti: "dr.ti"; tj: "dr.tj"; tk: "dr.tk"; tl: "dr.tl"; tm: "dr.tm"; tn: "dr.tn"; to: "dr.to"; tp: "dr.tp"; tq: "dr.tq"; tr: "dr.tr"; ts: "dr.ts"; tt: "dr.tt"; tu: "dr.tu"; tv: "dr.tv"; tw: "dr.tw"; tx: "dr.tx"; ty: "dr.ty"; tz: "dr.tz"; ua: "dr.ua"; ub: "dr.ub"; uc: "dr.uc"; ud: "dr.ud"; ue: "dr.ue"; uf: "dr.uf"; ug: "dr.ug"; uh: "dr.uh"; ui: "dr.ui"; uj: "dr.uj"; uk: "dr.uk"; ul: "dr.ul"; um: "dr.um"; un: "dr.un"; uo: "dr.uo"; up: "dr.up"; uq: "dr.uq"; ur: "dr.ur"; us: "dr.us"; ut: "dr.ut"; uu: "dr.uu"; uv: "dr.uv"; uw: "dr.uw"; ux: "dr.ux"; uy: "dr.uy"; uz: "dr.uz"; va: "dr.va"; vb: "dr.vb"; vc: "dr.vc"; vd: "dr.vd"; ve: "dr.ve"; vf: "dr.vf"; vg: "dr.vg"; vh: "dr.vh"; vi: "dr.vi"; vj: "dr.vj"; vk: "dr.vk"; vl: "dr.vl"; vm: "dr.vm"; vn: "dr.vn"; vo: "dr.vo"; vp: "dr.vp"; vq: "dr.vq"; vr: "dr.vr"; vs: "dr.vs"; vt: "dr.vt"; vu: "dr.vu"; vv: "dr.vv"; vw: "dr.vw"; vx: "dr.vx"; vy: "dr.vy"; vz: "dr.vz"; wa: "dr.wa"; wb: "dr.wb"; wc: "dr.wc"; wd: "dr.wd"; we: "dr.we"; wf: "dr.wf"; wg: "dr.wg"; wh: "dr.wh"; wi: "dr.wi"; wj: "dr.wj"; wk: "dr.wk"; wl: "dr.wl"; wm: "dr.wm"; wn: "dr.wn"; wo: "dr.wo"; wp: "dr.wp"; wq: "dr.wq"; wr: "dr.wr"; ws: "dr.ws"; wt: "dr.wt"; wu: "dr.wu"; wv: "dr.wv"; ww: "dr.ww"; wx: "dr.wx"; wy: "dr.wy"; wz: "dr.wz"; xa: "dr.xa"; xb: "dr.xb"; xc: "dr.xc"; xd: "dr.xd"; xe: "dr.xe"; xf: "dr.xf"; xg: "dr.xg"; xh: "dr.xh"; xi: "dr.xi"; xj: "dr.xj"; xk: "dr.xk"; xl: "dr.xl"; xm: "dr.xm"; xn: "dr.xn"; xo: "dr.xo"; xp: "dr.xp"; xq: "dr.xq"; xr: "dr.xr"; xs: "dr.xs"; xt: "dr.xt"; xu: "dr.xu"; xv: "dr.xv"; xw: "dr.xw"; xx: "dr.xx"; xy: "dr.xy"; xz: "dr.xz"; ya: "dr.ya"; yb: "dr.yb"; yc: "dr.yc"; yd: "dr.yd"; ye: "dr.ye"; yf: "dr.yf"; yg: "dr.yg"; yh: "dr.yh"; yi: "dr.yi"; yj: "dr.yj"; yk: "dr.yk"; yl: "dr.yl"; ym: "dr.ym"; yn: "dr.yn"; yo: "dr.yo"; yp: "dr.yp"; yq: "dr.yq"; yr: "dr.yr"; ys: "dr.ys"; yt: "dr.yt"; yu: "dr.yu"; yv: "dr.yv"; yw: "dr.yw"; yx: "dr.yx"; yy: "dr.yy"; yz: "dr.yz"; za: "dr.za"; zb: "dr.zb"; zc: "dr.zc"; zd: "dr.zd"; ze: "dr.ze"; zf: "dr.zf"; zg: "dr.zg"; zh: "dr.zh"; zi: "dr.zi"; zj: "dr.zj"; zk: "dr.zk"; zl: "dr.zl"; zm: "dr.zm"; zn: "dr.zn"; zo: "dr.zo"; zp: "dr.zp"; zq: "dr.zq"; zr: "dr.zr"; zs: "dr.zs"; zt: "dr.zt"; zu: "dr.zu"; zv: "dr.zv"; zw: "dr.zw"; zx: "dr.zx"; zy: "dr.zy"; zz: "dr.zz"; }; ds: { aa: "ds.aa"; ab: "ds.ab"; ac: "ds.ac"; ad: "ds.ad"; ae: "ds.ae"; af: "ds.af"; ag: "ds.ag"; ah: "ds.ah"; ai: "ds.ai"; aj: "ds.aj"; ak: "ds.ak"; al: "ds.al"; am: "ds.am"; an: "ds.an"; ao: "ds.ao"; ap: "ds.ap"; aq: "ds.aq"; ar: "ds.ar"; as: "ds.as"; at: "ds.at"; au: "ds.au"; av: "ds.av"; aw: "ds.aw"; ax: "ds.ax"; ay: "ds.ay"; az: "ds.az"; ba: "ds.ba"; bb: "ds.bb"; bc: "ds.bc"; bd: "ds.bd"; be: "ds.be"; bf: "ds.bf"; bg: "ds.bg"; bh: "ds.bh"; bi: "ds.bi"; bj: "ds.bj"; bk: "ds.bk"; bl: "ds.bl"; bm: "ds.bm"; bn: "ds.bn"; bo: "ds.bo"; bp: "ds.bp"; bq: "ds.bq"; br: "ds.br"; bs: "ds.bs"; bt: "ds.bt"; bu: "ds.bu"; bv: "ds.bv"; bw: "ds.bw"; bx: "ds.bx"; by: "ds.by"; bz: "ds.bz"; ca: "ds.ca"; cb: "ds.cb"; cc: "ds.cc"; cd: "ds.cd"; ce: "ds.ce"; cf: "ds.cf"; cg: "ds.cg"; ch: "ds.ch"; ci: "ds.ci"; cj: "ds.cj"; ck: "ds.ck"; cl: "ds.cl"; cm: "ds.cm"; cn: "ds.cn"; co: "ds.co"; cp: "ds.cp"; cq: "ds.cq"; cr: "ds.cr"; cs: "ds.cs"; ct: "ds.ct"; cu: "ds.cu"; cv: "ds.cv"; cw: "ds.cw"; cx: "ds.cx"; cy: "ds.cy"; cz: "ds.cz"; da: "ds.da"; db: "ds.db"; dc: "ds.dc"; dd: "ds.dd"; de: "ds.de"; df: "ds.df"; dg: "ds.dg"; dh: "ds.dh"; di: "ds.di"; dj: "ds.dj"; dk: "ds.dk"; dl: "ds.dl"; dm: "ds.dm"; dn: "ds.dn"; do: "ds.do"; dp: "ds.dp"; dq: "ds.dq"; dr: "ds.dr"; ds: "ds.ds"; dt: "ds.dt"; du: "ds.du"; dv: "ds.dv"; dw: "ds.dw"; dx: "ds.dx"; dy: "ds.dy"; dz: "ds.dz"; ea: "ds.ea"; eb: "ds.eb"; ec: "ds.ec"; ed: "ds.ed"; ee: "ds.ee"; ef: "ds.ef"; eg: "ds.eg"; eh: "ds.eh"; ei: "ds.ei"; ej: "ds.ej"; ek: "ds.ek"; el: "ds.el"; em: "ds.em"; en: "ds.en"; eo: "ds.eo"; ep: "ds.ep"; eq: "ds.eq"; er: "ds.er"; es: "ds.es"; et: "ds.et"; eu: "ds.eu"; ev: "ds.ev"; ew: "ds.ew"; ex: "ds.ex"; ey: "ds.ey"; ez: "ds.ez"; fa: "ds.fa"; fb: "ds.fb"; fc: "ds.fc"; fd: "ds.fd"; fe: "ds.fe"; ff: "ds.ff"; fg: "ds.fg"; fh: "ds.fh"; fi: "ds.fi"; fj: "ds.fj"; fk: "ds.fk"; fl: "ds.fl"; fm: "ds.fm"; fn: "ds.fn"; fo: "ds.fo"; fp: "ds.fp"; fq: "ds.fq"; fr: "ds.fr"; fs: "ds.fs"; ft: "ds.ft"; fu: "ds.fu"; fv: "ds.fv"; fw: "ds.fw"; fx: "ds.fx"; fy: "ds.fy"; fz: "ds.fz"; ga: "ds.ga"; gb: "ds.gb"; gc: "ds.gc"; gd: "ds.gd"; ge: "ds.ge"; gf: "ds.gf"; gg: "ds.gg"; gh: "ds.gh"; gi: "ds.gi"; gj: "ds.gj"; gk: "ds.gk"; gl: "ds.gl"; gm: "ds.gm"; gn: "ds.gn"; go: "ds.go"; gp: "ds.gp"; gq: "ds.gq"; gr: "ds.gr"; gs: "ds.gs"; gt: "ds.gt"; gu: "ds.gu"; gv: "ds.gv"; gw: "ds.gw"; gx: "ds.gx"; gy: "ds.gy"; gz: "ds.gz"; ha: "ds.ha"; hb: "ds.hb"; hc: "ds.hc"; hd: "ds.hd"; he: "ds.he"; hf: "ds.hf"; hg: "ds.hg"; hh: "ds.hh"; hi: "ds.hi"; hj: "ds.hj"; hk: "ds.hk"; hl: "ds.hl"; hm: "ds.hm"; hn: "ds.hn"; ho: "ds.ho"; hp: "ds.hp"; hq: "ds.hq"; hr: "ds.hr"; hs: "ds.hs"; ht: "ds.ht"; hu: "ds.hu"; hv: "ds.hv"; hw: "ds.hw"; hx: "ds.hx"; hy: "ds.hy"; hz: "ds.hz"; ia: "ds.ia"; ib: "ds.ib"; ic: "ds.ic"; id: "ds.id"; ie: "ds.ie"; if: "ds.if"; ig: "ds.ig"; ih: "ds.ih"; ii: "ds.ii"; ij: "ds.ij"; ik: "ds.ik"; il: "ds.il"; im: "ds.im"; in: "ds.in"; io: "ds.io"; ip: "ds.ip"; iq: "ds.iq"; ir: "ds.ir"; is: "ds.is"; it: "ds.it"; iu: "ds.iu"; iv: "ds.iv"; iw: "ds.iw"; ix: "ds.ix"; iy: "ds.iy"; iz: "ds.iz"; ja: "ds.ja"; jb: "ds.jb"; jc: "ds.jc"; jd: "ds.jd"; je: "ds.je"; jf: "ds.jf"; jg: "ds.jg"; jh: "ds.jh"; ji: "ds.ji"; jj: "ds.jj"; jk: "ds.jk"; jl: "ds.jl"; jm: "ds.jm"; jn: "ds.jn"; jo: "ds.jo"; jp: "ds.jp"; jq: "ds.jq"; jr: "ds.jr"; js: "ds.js"; jt: "ds.jt"; ju: "ds.ju"; jv: "ds.jv"; jw: "ds.jw"; jx: "ds.jx"; jy: "ds.jy"; jz: "ds.jz"; ka: "ds.ka"; kb: "ds.kb"; kc: "ds.kc"; kd: "ds.kd"; ke: "ds.ke"; kf: "ds.kf"; kg: "ds.kg"; kh: "ds.kh"; ki: "ds.ki"; kj: "ds.kj"; kk: "ds.kk"; kl: "ds.kl"; km: "ds.km"; kn: "ds.kn"; ko: "ds.ko"; kp: "ds.kp"; kq: "ds.kq"; kr: "ds.kr"; ks: "ds.ks"; kt: "ds.kt"; ku: "ds.ku"; kv: "ds.kv"; kw: "ds.kw"; kx: "ds.kx"; ky: "ds.ky"; kz: "ds.kz"; la: "ds.la"; lb: "ds.lb"; lc: "ds.lc"; ld: "ds.ld"; le: "ds.le"; lf: "ds.lf"; lg: "ds.lg"; lh: "ds.lh"; li: "ds.li"; lj: "ds.lj"; lk: "ds.lk"; ll: "ds.ll"; lm: "ds.lm"; ln: "ds.ln"; lo: "ds.lo"; lp: "ds.lp"; lq: "ds.lq"; lr: "ds.lr"; ls: "ds.ls"; lt: "ds.lt"; lu: "ds.lu"; lv: "ds.lv"; lw: "ds.lw"; lx: "ds.lx"; ly: "ds.ly"; lz: "ds.lz"; ma: "ds.ma"; mb: "ds.mb"; mc: "ds.mc"; md: "ds.md"; me: "ds.me"; mf: "ds.mf"; mg: "ds.mg"; mh: "ds.mh"; mi: "ds.mi"; mj: "ds.mj"; mk: "ds.mk"; ml: "ds.ml"; mm: "ds.mm"; mn: "ds.mn"; mo: "ds.mo"; mp: "ds.mp"; mq: "ds.mq"; mr: "ds.mr"; ms: "ds.ms"; mt: "ds.mt"; mu: "ds.mu"; mv: "ds.mv"; mw: "ds.mw"; mx: "ds.mx"; my: "ds.my"; mz: "ds.mz"; na: "ds.na"; nb: "ds.nb"; nc: "ds.nc"; nd: "ds.nd"; ne: "ds.ne"; nf: "ds.nf"; ng: "ds.ng"; nh: "ds.nh"; ni: "ds.ni"; nj: "ds.nj"; nk: "ds.nk"; nl: "ds.nl"; nm: "ds.nm"; nn: "ds.nn"; no: "ds.no"; np: "ds.np"; nq: "ds.nq"; nr: "ds.nr"; ns: "ds.ns"; nt: "ds.nt"; nu: "ds.nu"; nv: "ds.nv"; nw: "ds.nw"; nx: "ds.nx"; ny: "ds.ny"; nz: "ds.nz"; oa: "ds.oa"; ob: "ds.ob"; oc: "ds.oc"; od: "ds.od"; oe: "ds.oe"; of: "ds.of"; og: "ds.og"; oh: "ds.oh"; oi: "ds.oi"; oj: "ds.oj"; ok: "ds.ok"; ol: "ds.ol"; om: "ds.om"; on: "ds.on"; oo: "ds.oo"; op: "ds.op"; oq: "ds.oq"; or: "ds.or"; os: "ds.os"; ot: "ds.ot"; ou: "ds.ou"; ov: "ds.ov"; ow: "ds.ow"; ox: "ds.ox"; oy: "ds.oy"; oz: "ds.oz"; pa: "ds.pa"; pb: "ds.pb"; pc: "ds.pc"; pd: "ds.pd"; pe: "ds.pe"; pf: "ds.pf"; pg: "ds.pg"; ph: "ds.ph"; pi: "ds.pi"; pj: "ds.pj"; pk: "ds.pk"; pl: "ds.pl"; pm: "ds.pm"; pn: "ds.pn"; po: "ds.po"; pp: "ds.pp"; pq: "ds.pq"; pr: "ds.pr"; ps: "ds.ps"; pt: "ds.pt"; pu: "ds.pu"; pv: "ds.pv"; pw: "ds.pw"; px: "ds.px"; py: "ds.py"; pz: "ds.pz"; qa: "ds.qa"; qb: "ds.qb"; qc: "ds.qc"; qd: "ds.qd"; qe: "ds.qe"; qf: "ds.qf"; qg: "ds.qg"; qh: "ds.qh"; qi: "ds.qi"; qj: "ds.qj"; qk: "ds.qk"; ql: "ds.ql"; qm: "ds.qm"; qn: "ds.qn"; qo: "ds.qo"; qp: "ds.qp"; qq: "ds.qq"; qr: "ds.qr"; qs: "ds.qs"; qt: "ds.qt"; qu: "ds.qu"; qv: "ds.qv"; qw: "ds.qw"; qx: "ds.qx"; qy: "ds.qy"; qz: "ds.qz"; ra: "ds.ra"; rb: "ds.rb"; rc: "ds.rc"; rd: "ds.rd"; re: "ds.re"; rf: "ds.rf"; rg: "ds.rg"; rh: "ds.rh"; ri: "ds.ri"; rj: "ds.rj"; rk: "ds.rk"; rl: "ds.rl"; rm: "ds.rm"; rn: "ds.rn"; ro: "ds.ro"; rp: "ds.rp"; rq: "ds.rq"; rr: "ds.rr"; rs: "ds.rs"; rt: "ds.rt"; ru: "ds.ru"; rv: "ds.rv"; rw: "ds.rw"; rx: "ds.rx"; ry: "ds.ry"; rz: "ds.rz"; sa: "ds.sa"; sb: "ds.sb"; sc: "ds.sc"; sd: "ds.sd"; se: "ds.se"; sf: "ds.sf"; sg: "ds.sg"; sh: "ds.sh"; si: "ds.si"; sj: "ds.sj"; sk: "ds.sk"; sl: "ds.sl"; sm: "ds.sm"; sn: "ds.sn"; so: "ds.so"; sp: "ds.sp"; sq: "ds.sq"; sr: "ds.sr"; ss: "ds.ss"; st: "ds.st"; su: "ds.su"; sv: "ds.sv"; sw: "ds.sw"; sx: "ds.sx"; sy: "ds.sy"; sz: "ds.sz"; ta: "ds.ta"; tb: "ds.tb"; tc: "ds.tc"; td: "ds.td"; te: "ds.te"; tf: "ds.tf"; tg: "ds.tg"; th: "ds.th"; ti: "ds.ti"; tj: "ds.tj"; tk: "ds.tk"; tl: "ds.tl"; tm: "ds.tm"; tn: "ds.tn"; to: "ds.to"; tp: "ds.tp"; tq: "ds.tq"; tr: "ds.tr"; ts: "ds.ts"; tt: "ds.tt"; tu: "ds.tu"; tv: "ds.tv"; tw: "ds.tw"; tx: "ds.tx"; ty: "ds.ty"; tz: "ds.tz"; ua: "ds.ua"; ub: "ds.ub"; uc: "ds.uc"; ud: "ds.ud"; ue: "ds.ue"; uf: "ds.uf"; ug: "ds.ug"; uh: "ds.uh"; ui: "ds.ui"; uj: "ds.uj"; uk: "ds.uk"; ul: "ds.ul"; um: "ds.um"; un: "ds.un"; uo: "ds.uo"; up: "ds.up"; uq: "ds.uq"; ur: "ds.ur"; us: "ds.us"; ut: "ds.ut"; uu: "ds.uu"; uv: "ds.uv"; uw: "ds.uw"; ux: "ds.ux"; uy: "ds.uy"; uz: "ds.uz"; va: "ds.va"; vb: "ds.vb"; vc: "ds.vc"; vd: "ds.vd"; ve: "ds.ve"; vf: "ds.vf"; vg: "ds.vg"; vh: "ds.vh"; vi: "ds.vi"; vj: "ds.vj"; vk: "ds.vk"; vl: "ds.vl"; vm: "ds.vm"; vn: "ds.vn"; vo: "ds.vo"; vp: "ds.vp"; vq: "ds.vq"; vr: "ds.vr"; vs: "ds.vs"; vt: "ds.vt"; vu: "ds.vu"; vv: "ds.vv"; vw: "ds.vw"; vx: "ds.vx"; vy: "ds.vy"; vz: "ds.vz"; wa: "ds.wa"; wb: "ds.wb"; wc: "ds.wc"; wd: "ds.wd"; we: "ds.we"; wf: "ds.wf"; wg: "ds.wg"; wh: "ds.wh"; wi: "ds.wi"; wj: "ds.wj"; wk: "ds.wk"; wl: "ds.wl"; wm: "ds.wm"; wn: "ds.wn"; wo: "ds.wo"; wp: "ds.wp"; wq: "ds.wq"; wr: "ds.wr"; ws: "ds.ws"; wt: "ds.wt"; wu: "ds.wu"; wv: "ds.wv"; ww: "ds.ww"; wx: "ds.wx"; wy: "ds.wy"; wz: "ds.wz"; xa: "ds.xa"; xb: "ds.xb"; xc: "ds.xc"; xd: "ds.xd"; xe: "ds.xe"; xf: "ds.xf"; xg: "ds.xg"; xh: "ds.xh"; xi: "ds.xi"; xj: "ds.xj"; xk: "ds.xk"; xl: "ds.xl"; xm: "ds.xm"; xn: "ds.xn"; xo: "ds.xo"; xp: "ds.xp"; xq: "ds.xq"; xr: "ds.xr"; xs: "ds.xs"; xt: "ds.xt"; xu: "ds.xu"; xv: "ds.xv"; xw: "ds.xw"; xx: "ds.xx"; xy: "ds.xy"; xz: "ds.xz"; ya: "ds.ya"; yb: "ds.yb"; yc: "ds.yc"; yd: "ds.yd"; ye: "ds.ye"; yf: "ds.yf"; yg: "ds.yg"; yh: "ds.yh"; yi: "ds.yi"; yj: "ds.yj"; yk: "ds.yk"; yl: "ds.yl"; ym: "ds.ym"; yn: "ds.yn"; yo: "ds.yo"; yp: "ds.yp"; yq: "ds.yq"; yr: "ds.yr"; ys: "ds.ys"; yt: "ds.yt"; yu: "ds.yu"; yv: "ds.yv"; yw: "ds.yw"; yx: "ds.yx"; yy: "ds.yy"; yz: "ds.yz"; za: "ds.za"; zb: "ds.zb"; zc: "ds.zc"; zd: "ds.zd"; ze: "ds.ze"; zf: "ds.zf"; zg: "ds.zg"; zh: "ds.zh"; zi: "ds.zi"; zj: "ds.zj"; zk: "ds.zk"; zl: "ds.zl"; zm: "ds.zm"; zn: "ds.zn"; zo: "ds.zo"; zp: "ds.zp"; zq: "ds.zq"; zr: "ds.zr"; zs: "ds.zs"; zt: "ds.zt"; zu: "ds.zu"; zv: "ds.zv"; zw: "ds.zw"; zx: "ds.zx"; zy: "ds.zy"; zz: "ds.zz"; }; dt: { aa: "dt.aa"; ab: "dt.ab"; ac: "dt.ac"; ad: "dt.ad"; ae: "dt.ae"; af: "dt.af"; ag: "dt.ag"; ah: "dt.ah"; ai: "dt.ai"; aj: "dt.aj"; ak: "dt.ak"; al: "dt.al"; am: "dt.am"; an: "dt.an"; ao: "dt.ao"; ap: "dt.ap"; aq: "dt.aq"; ar: "dt.ar"; as: "dt.as"; at: "dt.at"; au: "dt.au"; av: "dt.av"; aw: "dt.aw"; ax: "dt.ax"; ay: "dt.ay"; az: "dt.az"; ba: "dt.ba"; bb: "dt.bb"; bc: "dt.bc"; bd: "dt.bd"; be: "dt.be"; bf: "dt.bf"; bg: "dt.bg"; bh: "dt.bh"; bi: "dt.bi"; bj: "dt.bj"; bk: "dt.bk"; bl: "dt.bl"; bm: "dt.bm"; bn: "dt.bn"; bo: "dt.bo"; bp: "dt.bp"; bq: "dt.bq"; br: "dt.br"; bs: "dt.bs"; bt: "dt.bt"; bu: "dt.bu"; bv: "dt.bv"; bw: "dt.bw"; bx: "dt.bx"; by: "dt.by"; bz: "dt.bz"; ca: "dt.ca"; cb: "dt.cb"; cc: "dt.cc"; cd: "dt.cd"; ce: "dt.ce"; cf: "dt.cf"; cg: "dt.cg"; ch: "dt.ch"; ci: "dt.ci"; cj: "dt.cj"; ck: "dt.ck"; cl: "dt.cl"; cm: "dt.cm"; cn: "dt.cn"; co: "dt.co"; cp: "dt.cp"; cq: "dt.cq"; cr: "dt.cr"; cs: "dt.cs"; ct: "dt.ct"; cu: "dt.cu"; cv: "dt.cv"; cw: "dt.cw"; cx: "dt.cx"; cy: "dt.cy"; cz: "dt.cz"; da: "dt.da"; db: "dt.db"; dc: "dt.dc"; dd: "dt.dd"; de: "dt.de"; df: "dt.df"; dg: "dt.dg"; dh: "dt.dh"; di: "dt.di"; dj: "dt.dj"; dk: "dt.dk"; dl: "dt.dl"; dm: "dt.dm"; dn: "dt.dn"; do: "dt.do"; dp: "dt.dp"; dq: "dt.dq"; dr: "dt.dr"; ds: "dt.ds"; dt: "dt.dt"; du: "dt.du"; dv: "dt.dv"; dw: "dt.dw"; dx: "dt.dx"; dy: "dt.dy"; dz: "dt.dz"; ea: "dt.ea"; eb: "dt.eb"; ec: "dt.ec"; ed: "dt.ed"; ee: "dt.ee"; ef: "dt.ef"; eg: "dt.eg"; eh: "dt.eh"; ei: "dt.ei"; ej: "dt.ej"; ek: "dt.ek"; el: "dt.el"; em: "dt.em"; en: "dt.en"; eo: "dt.eo"; ep: "dt.ep"; eq: "dt.eq"; er: "dt.er"; es: "dt.es"; et: "dt.et"; eu: "dt.eu"; ev: "dt.ev"; ew: "dt.ew"; ex: "dt.ex"; ey: "dt.ey"; ez: "dt.ez"; fa: "dt.fa"; fb: "dt.fb"; fc: "dt.fc"; fd: "dt.fd"; fe: "dt.fe"; ff: "dt.ff"; fg: "dt.fg"; fh: "dt.fh"; fi: "dt.fi"; fj: "dt.fj"; fk: "dt.fk"; fl: "dt.fl"; fm: "dt.fm"; fn: "dt.fn"; fo: "dt.fo"; fp: "dt.fp"; fq: "dt.fq"; fr: "dt.fr"; fs: "dt.fs"; ft: "dt.ft"; fu: "dt.fu"; fv: "dt.fv"; fw: "dt.fw"; fx: "dt.fx"; fy: "dt.fy"; fz: "dt.fz"; ga: "dt.ga"; gb: "dt.gb"; gc: "dt.gc"; gd: "dt.gd"; ge: "dt.ge"; gf: "dt.gf"; gg: "dt.gg"; gh: "dt.gh"; gi: "dt.gi"; gj: "dt.gj"; gk: "dt.gk"; gl: "dt.gl"; gm: "dt.gm"; gn: "dt.gn"; go: "dt.go"; gp: "dt.gp"; gq: "dt.gq"; gr: "dt.gr"; gs: "dt.gs"; gt: "dt.gt"; gu: "dt.gu"; gv: "dt.gv"; gw: "dt.gw"; gx: "dt.gx"; gy: "dt.gy"; gz: "dt.gz"; ha: "dt.ha"; hb: "dt.hb"; hc: "dt.hc"; hd: "dt.hd"; he: "dt.he"; hf: "dt.hf"; hg: "dt.hg"; hh: "dt.hh"; hi: "dt.hi"; hj: "dt.hj"; hk: "dt.hk"; hl: "dt.hl"; hm: "dt.hm"; hn: "dt.hn"; ho: "dt.ho"; hp: "dt.hp"; hq: "dt.hq"; hr: "dt.hr"; hs: "dt.hs"; ht: "dt.ht"; hu: "dt.hu"; hv: "dt.hv"; hw: "dt.hw"; hx: "dt.hx"; hy: "dt.hy"; hz: "dt.hz"; ia: "dt.ia"; ib: "dt.ib"; ic: "dt.ic"; id: "dt.id"; ie: "dt.ie"; if: "dt.if"; ig: "dt.ig"; ih: "dt.ih"; ii: "dt.ii"; ij: "dt.ij"; ik: "dt.ik"; il: "dt.il"; im: "dt.im"; in: "dt.in"; io: "dt.io"; ip: "dt.ip"; iq: "dt.iq"; ir: "dt.ir"; is: "dt.is"; it: "dt.it"; iu: "dt.iu"; iv: "dt.iv"; iw: "dt.iw"; ix: "dt.ix"; iy: "dt.iy"; iz: "dt.iz"; ja: "dt.ja"; jb: "dt.jb"; jc: "dt.jc"; jd: "dt.jd"; je: "dt.je"; jf: "dt.jf"; jg: "dt.jg"; jh: "dt.jh"; ji: "dt.ji"; jj: "dt.jj"; jk: "dt.jk"; jl: "dt.jl"; jm: "dt.jm"; jn: "dt.jn"; jo: "dt.jo"; jp: "dt.jp"; jq: "dt.jq"; jr: "dt.jr"; js: "dt.js"; jt: "dt.jt"; ju: "dt.ju"; jv: "dt.jv"; jw: "dt.jw"; jx: "dt.jx"; jy: "dt.jy"; jz: "dt.jz"; ka: "dt.ka"; kb: "dt.kb"; kc: "dt.kc"; kd: "dt.kd"; ke: "dt.ke"; kf: "dt.kf"; kg: "dt.kg"; kh: "dt.kh"; ki: "dt.ki"; kj: "dt.kj"; kk: "dt.kk"; kl: "dt.kl"; km: "dt.km"; kn: "dt.kn"; ko: "dt.ko"; kp: "dt.kp"; kq: "dt.kq"; kr: "dt.kr"; ks: "dt.ks"; kt: "dt.kt"; ku: "dt.ku"; kv: "dt.kv"; kw: "dt.kw"; kx: "dt.kx"; ky: "dt.ky"; kz: "dt.kz"; la: "dt.la"; lb: "dt.lb"; lc: "dt.lc"; ld: "dt.ld"; le: "dt.le"; lf: "dt.lf"; lg: "dt.lg"; lh: "dt.lh"; li: "dt.li"; lj: "dt.lj"; lk: "dt.lk"; ll: "dt.ll"; lm: "dt.lm"; ln: "dt.ln"; lo: "dt.lo"; lp: "dt.lp"; lq: "dt.lq"; lr: "dt.lr"; ls: "dt.ls"; lt: "dt.lt"; lu: "dt.lu"; lv: "dt.lv"; lw: "dt.lw"; lx: "dt.lx"; ly: "dt.ly"; lz: "dt.lz"; ma: "dt.ma"; mb: "dt.mb"; mc: "dt.mc"; md: "dt.md"; me: "dt.me"; mf: "dt.mf"; mg: "dt.mg"; mh: "dt.mh"; mi: "dt.mi"; mj: "dt.mj"; mk: "dt.mk"; ml: "dt.ml"; mm: "dt.mm"; mn: "dt.mn"; mo: "dt.mo"; mp: "dt.mp"; mq: "dt.mq"; mr: "dt.mr"; ms: "dt.ms"; mt: "dt.mt"; mu: "dt.mu"; mv: "dt.mv"; mw: "dt.mw"; mx: "dt.mx"; my: "dt.my"; mz: "dt.mz"; na: "dt.na"; nb: "dt.nb"; nc: "dt.nc"; nd: "dt.nd"; ne: "dt.ne"; nf: "dt.nf"; ng: "dt.ng"; nh: "dt.nh"; ni: "dt.ni"; nj: "dt.nj"; nk: "dt.nk"; nl: "dt.nl"; nm: "dt.nm"; nn: "dt.nn"; no: "dt.no"; np: "dt.np"; nq: "dt.nq"; nr: "dt.nr"; ns: "dt.ns"; nt: "dt.nt"; nu: "dt.nu"; nv: "dt.nv"; nw: "dt.nw"; nx: "dt.nx"; ny: "dt.ny"; nz: "dt.nz"; oa: "dt.oa"; ob: "dt.ob"; oc: "dt.oc"; od: "dt.od"; oe: "dt.oe"; of: "dt.of"; og: "dt.og"; oh: "dt.oh"; oi: "dt.oi"; oj: "dt.oj"; ok: "dt.ok"; ol: "dt.ol"; om: "dt.om"; on: "dt.on"; oo: "dt.oo"; op: "dt.op"; oq: "dt.oq"; or: "dt.or"; os: "dt.os"; ot: "dt.ot"; ou: "dt.ou"; ov: "dt.ov"; ow: "dt.ow"; ox: "dt.ox"; oy: "dt.oy"; oz: "dt.oz"; pa: "dt.pa"; pb: "dt.pb"; pc: "dt.pc"; pd: "dt.pd"; pe: "dt.pe"; pf: "dt.pf"; pg: "dt.pg"; ph: "dt.ph"; pi: "dt.pi"; pj: "dt.pj"; pk: "dt.pk"; pl: "dt.pl"; pm: "dt.pm"; pn: "dt.pn"; po: "dt.po"; pp: "dt.pp"; pq: "dt.pq"; pr: "dt.pr"; ps: "dt.ps"; pt: "dt.pt"; pu: "dt.pu"; pv: "dt.pv"; pw: "dt.pw"; px: "dt.px"; py: "dt.py"; pz: "dt.pz"; qa: "dt.qa"; qb: "dt.qb"; qc: "dt.qc"; qd: "dt.qd"; qe: "dt.qe"; qf: "dt.qf"; qg: "dt.qg"; qh: "dt.qh"; qi: "dt.qi"; qj: "dt.qj"; qk: "dt.qk"; ql: "dt.ql"; qm: "dt.qm"; qn: "dt.qn"; qo: "dt.qo"; qp: "dt.qp"; qq: "dt.qq"; qr: "dt.qr"; qs: "dt.qs"; qt: "dt.qt"; qu: "dt.qu"; qv: "dt.qv"; qw: "dt.qw"; qx: "dt.qx"; qy: "dt.qy"; qz: "dt.qz"; ra: "dt.ra"; rb: "dt.rb"; rc: "dt.rc"; rd: "dt.rd"; re: "dt.re"; rf: "dt.rf"; rg: "dt.rg"; rh: "dt.rh"; ri: "dt.ri"; rj: "dt.rj"; rk: "dt.rk"; rl: "dt.rl"; rm: "dt.rm"; rn: "dt.rn"; ro: "dt.ro"; rp: "dt.rp"; rq: "dt.rq"; rr: "dt.rr"; rs: "dt.rs"; rt: "dt.rt"; ru: "dt.ru"; rv: "dt.rv"; rw: "dt.rw"; rx: "dt.rx"; ry: "dt.ry"; rz: "dt.rz"; sa: "dt.sa"; sb: "dt.sb"; sc: "dt.sc"; sd: "dt.sd"; se: "dt.se"; sf: "dt.sf"; sg: "dt.sg"; sh: "dt.sh"; si: "dt.si"; sj: "dt.sj"; sk: "dt.sk"; sl: "dt.sl"; sm: "dt.sm"; sn: "dt.sn"; so: "dt.so"; sp: "dt.sp"; sq: "dt.sq"; sr: "dt.sr"; ss: "dt.ss"; st: "dt.st"; su: "dt.su"; sv: "dt.sv"; sw: "dt.sw"; sx: "dt.sx"; sy: "dt.sy"; sz: "dt.sz"; ta: "dt.ta"; tb: "dt.tb"; tc: "dt.tc"; td: "dt.td"; te: "dt.te"; tf: "dt.tf"; tg: "dt.tg"; th: "dt.th"; ti: "dt.ti"; tj: "dt.tj"; tk: "dt.tk"; tl: "dt.tl"; tm: "dt.tm"; tn: "dt.tn"; to: "dt.to"; tp: "dt.tp"; tq: "dt.tq"; tr: "dt.tr"; ts: "dt.ts"; tt: "dt.tt"; tu: "dt.tu"; tv: "dt.tv"; tw: "dt.tw"; tx: "dt.tx"; ty: "dt.ty"; tz: "dt.tz"; ua: "dt.ua"; ub: "dt.ub"; uc: "dt.uc"; ud: "dt.ud"; ue: "dt.ue"; uf: "dt.uf"; ug: "dt.ug"; uh: "dt.uh"; ui: "dt.ui"; uj: "dt.uj"; uk: "dt.uk"; ul: "dt.ul"; um: "dt.um"; un: "dt.un"; uo: "dt.uo"; up: "dt.up"; uq: "dt.uq"; ur: "dt.ur"; us: "dt.us"; ut: "dt.ut"; uu: "dt.uu"; uv: "dt.uv"; uw: "dt.uw"; ux: "dt.ux"; uy: "dt.uy"; uz: "dt.uz"; va: "dt.va"; vb: "dt.vb"; vc: "dt.vc"; vd: "dt.vd"; ve: "dt.ve"; vf: "dt.vf"; vg: "dt.vg"; vh: "dt.vh"; vi: "dt.vi"; vj: "dt.vj"; vk: "dt.vk"; vl: "dt.vl"; vm: "dt.vm"; vn: "dt.vn"; vo: "dt.vo"; vp: "dt.vp"; vq: "dt.vq"; vr: "dt.vr"; vs: "dt.vs"; vt: "dt.vt"; vu: "dt.vu"; vv: "dt.vv"; vw: "dt.vw"; vx: "dt.vx"; vy: "dt.vy"; vz: "dt.vz"; wa: "dt.wa"; wb: "dt.wb"; wc: "dt.wc"; wd: "dt.wd"; we: "dt.we"; wf: "dt.wf"; wg: "dt.wg"; wh: "dt.wh"; wi: "dt.wi"; wj: "dt.wj"; wk: "dt.wk"; wl: "dt.wl"; wm: "dt.wm"; wn: "dt.wn"; wo: "dt.wo"; wp: "dt.wp"; wq: "dt.wq"; wr: "dt.wr"; ws: "dt.ws"; wt: "dt.wt"; wu: "dt.wu"; wv: "dt.wv"; ww: "dt.ww"; wx: "dt.wx"; wy: "dt.wy"; wz: "dt.wz"; xa: "dt.xa"; xb: "dt.xb"; xc: "dt.xc"; xd: "dt.xd"; xe: "dt.xe"; xf: "dt.xf"; xg: "dt.xg"; xh: "dt.xh"; xi: "dt.xi"; xj: "dt.xj"; xk: "dt.xk"; xl: "dt.xl"; xm: "dt.xm"; xn: "dt.xn"; xo: "dt.xo"; xp: "dt.xp"; xq: "dt.xq"; xr: "dt.xr"; xs: "dt.xs"; xt: "dt.xt"; xu: "dt.xu"; xv: "dt.xv"; xw: "dt.xw"; xx: "dt.xx"; xy: "dt.xy"; xz: "dt.xz"; ya: "dt.ya"; yb: "dt.yb"; yc: "dt.yc"; yd: "dt.yd"; ye: "dt.ye"; yf: "dt.yf"; yg: "dt.yg"; yh: "dt.yh"; yi: "dt.yi"; yj: "dt.yj"; yk: "dt.yk"; yl: "dt.yl"; ym: "dt.ym"; yn: "dt.yn"; yo: "dt.yo"; yp: "dt.yp"; yq: "dt.yq"; yr: "dt.yr"; ys: "dt.ys"; yt: "dt.yt"; yu: "dt.yu"; yv: "dt.yv"; yw: "dt.yw"; yx: "dt.yx"; yy: "dt.yy"; yz: "dt.yz"; za: "dt.za"; zb: "dt.zb"; zc: "dt.zc"; zd: "dt.zd"; ze: "dt.ze"; zf: "dt.zf"; zg: "dt.zg"; zh: "dt.zh"; zi: "dt.zi"; zj: "dt.zj"; zk: "dt.zk"; zl: "dt.zl"; zm: "dt.zm"; zn: "dt.zn"; zo: "dt.zo"; zp: "dt.zp"; zq: "dt.zq"; zr: "dt.zr"; zs: "dt.zs"; zt: "dt.zt"; zu: "dt.zu"; zv: "dt.zv"; zw: "dt.zw"; zx: "dt.zx"; zy: "dt.zy"; zz: "dt.zz"; }; du: { aa: "du.aa"; ab: "du.ab"; ac: "du.ac"; ad: "du.ad"; ae: "du.ae"; af: "du.af"; ag: "du.ag"; ah: "du.ah"; ai: "du.ai"; aj: "du.aj"; ak: "du.ak"; al: "du.al"; am: "du.am"; an: "du.an"; ao: "du.ao"; ap: "du.ap"; aq: "du.aq"; ar: "du.ar"; as: "du.as"; at: "du.at"; au: "du.au"; av: "du.av"; aw: "du.aw"; ax: "du.ax"; ay: "du.ay"; az: "du.az"; ba: "du.ba"; bb: "du.bb"; bc: "du.bc"; bd: "du.bd"; be: "du.be"; bf: "du.bf"; bg: "du.bg"; bh: "du.bh"; bi: "du.bi"; bj: "du.bj"; bk: "du.bk"; bl: "du.bl"; bm: "du.bm"; bn: "du.bn"; bo: "du.bo"; bp: "du.bp"; bq: "du.bq"; br: "du.br"; bs: "du.bs"; bt: "du.bt"; bu: "du.bu"; bv: "du.bv"; bw: "du.bw"; bx: "du.bx"; by: "du.by"; bz: "du.bz"; ca: "du.ca"; cb: "du.cb"; cc: "du.cc"; cd: "du.cd"; ce: "du.ce"; cf: "du.cf"; cg: "du.cg"; ch: "du.ch"; ci: "du.ci"; cj: "du.cj"; ck: "du.ck"; cl: "du.cl"; cm: "du.cm"; cn: "du.cn"; co: "du.co"; cp: "du.cp"; cq: "du.cq"; cr: "du.cr"; cs: "du.cs"; ct: "du.ct"; cu: "du.cu"; cv: "du.cv"; cw: "du.cw"; cx: "du.cx"; cy: "du.cy"; cz: "du.cz"; da: "du.da"; db: "du.db"; dc: "du.dc"; dd: "du.dd"; de: "du.de"; df: "du.df"; dg: "du.dg"; dh: "du.dh"; di: "du.di"; dj: "du.dj"; dk: "du.dk"; dl: "du.dl"; dm: "du.dm"; dn: "du.dn"; do: "du.do"; dp: "du.dp"; dq: "du.dq"; dr: "du.dr"; ds: "du.ds"; dt: "du.dt"; du: "du.du"; dv: "du.dv"; dw: "du.dw"; dx: "du.dx"; dy: "du.dy"; dz: "du.dz"; ea: "du.ea"; eb: "du.eb"; ec: "du.ec"; ed: "du.ed"; ee: "du.ee"; ef: "du.ef"; eg: "du.eg"; eh: "du.eh"; ei: "du.ei"; ej: "du.ej"; ek: "du.ek"; el: "du.el"; em: "du.em"; en: "du.en"; eo: "du.eo"; ep: "du.ep"; eq: "du.eq"; er: "du.er"; es: "du.es"; et: "du.et"; eu: "du.eu"; ev: "du.ev"; ew: "du.ew"; ex: "du.ex"; ey: "du.ey"; ez: "du.ez"; fa: "du.fa"; fb: "du.fb"; fc: "du.fc"; fd: "du.fd"; fe: "du.fe"; ff: "du.ff"; fg: "du.fg"; fh: "du.fh"; fi: "du.fi"; fj: "du.fj"; fk: "du.fk"; fl: "du.fl"; fm: "du.fm"; fn: "du.fn"; fo: "du.fo"; fp: "du.fp"; fq: "du.fq"; fr: "du.fr"; fs: "du.fs"; ft: "du.ft"; fu: "du.fu"; fv: "du.fv"; fw: "du.fw"; fx: "du.fx"; fy: "du.fy"; fz: "du.fz"; ga: "du.ga"; gb: "du.gb"; gc: "du.gc"; gd: "du.gd"; ge: "du.ge"; gf: "du.gf"; gg: "du.gg"; gh: "du.gh"; gi: "du.gi"; gj: "du.gj"; gk: "du.gk"; gl: "du.gl"; gm: "du.gm"; gn: "du.gn"; go: "du.go"; gp: "du.gp"; gq: "du.gq"; gr: "du.gr"; gs: "du.gs"; gt: "du.gt"; gu: "du.gu"; gv: "du.gv"; gw: "du.gw"; gx: "du.gx"; gy: "du.gy"; gz: "du.gz"; ha: "du.ha"; hb: "du.hb"; hc: "du.hc"; hd: "du.hd"; he: "du.he"; hf: "du.hf"; hg: "du.hg"; hh: "du.hh"; hi: "du.hi"; hj: "du.hj"; hk: "du.hk"; hl: "du.hl"; hm: "du.hm"; hn: "du.hn"; ho: "du.ho"; hp: "du.hp"; hq: "du.hq"; hr: "du.hr"; hs: "du.hs"; ht: "du.ht"; hu: "du.hu"; hv: "du.hv"; hw: "du.hw"; hx: "du.hx"; hy: "du.hy"; hz: "du.hz"; ia: "du.ia"; ib: "du.ib"; ic: "du.ic"; id: "du.id"; ie: "du.ie"; if: "du.if"; ig: "du.ig"; ih: "du.ih"; ii: "du.ii"; ij: "du.ij"; ik: "du.ik"; il: "du.il"; im: "du.im"; in: "du.in"; io: "du.io"; ip: "du.ip"; iq: "du.iq"; ir: "du.ir"; is: "du.is"; it: "du.it"; iu: "du.iu"; iv: "du.iv"; iw: "du.iw"; ix: "du.ix"; iy: "du.iy"; iz: "du.iz"; ja: "du.ja"; jb: "du.jb"; jc: "du.jc"; jd: "du.jd"; je: "du.je"; jf: "du.jf"; jg: "du.jg"; jh: "du.jh"; ji: "du.ji"; jj: "du.jj"; jk: "du.jk"; jl: "du.jl"; jm: "du.jm"; jn: "du.jn"; jo: "du.jo"; jp: "du.jp"; jq: "du.jq"; jr: "du.jr"; js: "du.js"; jt: "du.jt"; ju: "du.ju"; jv: "du.jv"; jw: "du.jw"; jx: "du.jx"; jy: "du.jy"; jz: "du.jz"; ka: "du.ka"; kb: "du.kb"; kc: "du.kc"; kd: "du.kd"; ke: "du.ke"; kf: "du.kf"; kg: "du.kg"; kh: "du.kh"; ki: "du.ki"; kj: "du.kj"; kk: "du.kk"; kl: "du.kl"; km: "du.km"; kn: "du.kn"; ko: "du.ko"; kp: "du.kp"; kq: "du.kq"; kr: "du.kr"; ks: "du.ks"; kt: "du.kt"; ku: "du.ku"; kv: "du.kv"; kw: "du.kw"; kx: "du.kx"; ky: "du.ky"; kz: "du.kz"; la: "du.la"; lb: "du.lb"; lc: "du.lc"; ld: "du.ld"; le: "du.le"; lf: "du.lf"; lg: "du.lg"; lh: "du.lh"; li: "du.li"; lj: "du.lj"; lk: "du.lk"; ll: "du.ll"; lm: "du.lm"; ln: "du.ln"; lo: "du.lo"; lp: "du.lp"; lq: "du.lq"; lr: "du.lr"; ls: "du.ls"; lt: "du.lt"; lu: "du.lu"; lv: "du.lv"; lw: "du.lw"; lx: "du.lx"; ly: "du.ly"; lz: "du.lz"; ma: "du.ma"; mb: "du.mb"; mc: "du.mc"; md: "du.md"; me: "du.me"; mf: "du.mf"; mg: "du.mg"; mh: "du.mh"; mi: "du.mi"; mj: "du.mj"; mk: "du.mk"; ml: "du.ml"; mm: "du.mm"; mn: "du.mn"; mo: "du.mo"; mp: "du.mp"; mq: "du.mq"; mr: "du.mr"; ms: "du.ms"; mt: "du.mt"; mu: "du.mu"; mv: "du.mv"; mw: "du.mw"; mx: "du.mx"; my: "du.my"; mz: "du.mz"; na: "du.na"; nb: "du.nb"; nc: "du.nc"; nd: "du.nd"; ne: "du.ne"; nf: "du.nf"; ng: "du.ng"; nh: "du.nh"; ni: "du.ni"; nj: "du.nj"; nk: "du.nk"; nl: "du.nl"; nm: "du.nm"; nn: "du.nn"; no: "du.no"; np: "du.np"; nq: "du.nq"; nr: "du.nr"; ns: "du.ns"; nt: "du.nt"; nu: "du.nu"; nv: "du.nv"; nw: "du.nw"; nx: "du.nx"; ny: "du.ny"; nz: "du.nz"; oa: "du.oa"; ob: "du.ob"; oc: "du.oc"; od: "du.od"; oe: "du.oe"; of: "du.of"; og: "du.og"; oh: "du.oh"; oi: "du.oi"; oj: "du.oj"; ok: "du.ok"; ol: "du.ol"; om: "du.om"; on: "du.on"; oo: "du.oo"; op: "du.op"; oq: "du.oq"; or: "du.or"; os: "du.os"; ot: "du.ot"; ou: "du.ou"; ov: "du.ov"; ow: "du.ow"; ox: "du.ox"; oy: "du.oy"; oz: "du.oz"; pa: "du.pa"; pb: "du.pb"; pc: "du.pc"; pd: "du.pd"; pe: "du.pe"; pf: "du.pf"; pg: "du.pg"; ph: "du.ph"; pi: "du.pi"; pj: "du.pj"; pk: "du.pk"; pl: "du.pl"; pm: "du.pm"; pn: "du.pn"; po: "du.po"; pp: "du.pp"; pq: "du.pq"; pr: "du.pr"; ps: "du.ps"; pt: "du.pt"; pu: "du.pu"; pv: "du.pv"; pw: "du.pw"; px: "du.px"; py: "du.py"; pz: "du.pz"; qa: "du.qa"; qb: "du.qb"; qc: "du.qc"; qd: "du.qd"; qe: "du.qe"; qf: "du.qf"; qg: "du.qg"; qh: "du.qh"; qi: "du.qi"; qj: "du.qj"; qk: "du.qk"; ql: "du.ql"; qm: "du.qm"; qn: "du.qn"; qo: "du.qo"; qp: "du.qp"; qq: "du.qq"; qr: "du.qr"; qs: "du.qs"; qt: "du.qt"; qu: "du.qu"; qv: "du.qv"; qw: "du.qw"; qx: "du.qx"; qy: "du.qy"; qz: "du.qz"; ra: "du.ra"; rb: "du.rb"; rc: "du.rc"; rd: "du.rd"; re: "du.re"; rf: "du.rf"; rg: "du.rg"; rh: "du.rh"; ri: "du.ri"; rj: "du.rj"; rk: "du.rk"; rl: "du.rl"; rm: "du.rm"; rn: "du.rn"; ro: "du.ro"; rp: "du.rp"; rq: "du.rq"; rr: "du.rr"; rs: "du.rs"; rt: "du.rt"; ru: "du.ru"; rv: "du.rv"; rw: "du.rw"; rx: "du.rx"; ry: "du.ry"; rz: "du.rz"; sa: "du.sa"; sb: "du.sb"; sc: "du.sc"; sd: "du.sd"; se: "du.se"; sf: "du.sf"; sg: "du.sg"; sh: "du.sh"; si: "du.si"; sj: "du.sj"; sk: "du.sk"; sl: "du.sl"; sm: "du.sm"; sn: "du.sn"; so: "du.so"; sp: "du.sp"; sq: "du.sq"; sr: "du.sr"; ss: "du.ss"; st: "du.st"; su: "du.su"; sv: "du.sv"; sw: "du.sw"; sx: "du.sx"; sy: "du.sy"; sz: "du.sz"; ta: "du.ta"; tb: "du.tb"; tc: "du.tc"; td: "du.td"; te: "du.te"; tf: "du.tf"; tg: "du.tg"; th: "du.th"; ti: "du.ti"; tj: "du.tj"; tk: "du.tk"; tl: "du.tl"; tm: "du.tm"; tn: "du.tn"; to: "du.to"; tp: "du.tp"; tq: "du.tq"; tr: "du.tr"; ts: "du.ts"; tt: "du.tt"; tu: "du.tu"; tv: "du.tv"; tw: "du.tw"; tx: "du.tx"; ty: "du.ty"; tz: "du.tz"; ua: "du.ua"; ub: "du.ub"; uc: "du.uc"; ud: "du.ud"; ue: "du.ue"; uf: "du.uf"; ug: "du.ug"; uh: "du.uh"; ui: "du.ui"; uj: "du.uj"; uk: "du.uk"; ul: "du.ul"; um: "du.um"; un: "du.un"; uo: "du.uo"; up: "du.up"; uq: "du.uq"; ur: "du.ur"; us: "du.us"; ut: "du.ut"; uu: "du.uu"; uv: "du.uv"; uw: "du.uw"; ux: "du.ux"; uy: "du.uy"; uz: "du.uz"; va: "du.va"; vb: "du.vb"; vc: "du.vc"; vd: "du.vd"; ve: "du.ve"; vf: "du.vf"; vg: "du.vg"; vh: "du.vh"; vi: "du.vi"; vj: "du.vj"; vk: "du.vk"; vl: "du.vl"; vm: "du.vm"; vn: "du.vn"; vo: "du.vo"; vp: "du.vp"; vq: "du.vq"; vr: "du.vr"; vs: "du.vs"; vt: "du.vt"; vu: "du.vu"; vv: "du.vv"; vw: "du.vw"; vx: "du.vx"; vy: "du.vy"; vz: "du.vz"; wa: "du.wa"; wb: "du.wb"; wc: "du.wc"; wd: "du.wd"; we: "du.we"; wf: "du.wf"; wg: "du.wg"; wh: "du.wh"; wi: "du.wi"; wj: "du.wj"; wk: "du.wk"; wl: "du.wl"; wm: "du.wm"; wn: "du.wn"; wo: "du.wo"; wp: "du.wp"; wq: "du.wq"; wr: "du.wr"; ws: "du.ws"; wt: "du.wt"; wu: "du.wu"; wv: "du.wv"; ww: "du.ww"; wx: "du.wx"; wy: "du.wy"; wz: "du.wz"; xa: "du.xa"; xb: "du.xb"; xc: "du.xc"; xd: "du.xd"; xe: "du.xe"; xf: "du.xf"; xg: "du.xg"; xh: "du.xh"; xi: "du.xi"; xj: "du.xj"; xk: "du.xk"; xl: "du.xl"; xm: "du.xm"; xn: "du.xn"; xo: "du.xo"; xp: "du.xp"; xq: "du.xq"; xr: "du.xr"; xs: "du.xs"; xt: "du.xt"; xu: "du.xu"; xv: "du.xv"; xw: "du.xw"; xx: "du.xx"; xy: "du.xy"; xz: "du.xz"; ya: "du.ya"; yb: "du.yb"; yc: "du.yc"; yd: "du.yd"; ye: "du.ye"; yf: "du.yf"; yg: "du.yg"; yh: "du.yh"; yi: "du.yi"; yj: "du.yj"; yk: "du.yk"; yl: "du.yl"; ym: "du.ym"; yn: "du.yn"; yo: "du.yo"; yp: "du.yp"; yq: "du.yq"; yr: "du.yr"; ys: "du.ys"; yt: "du.yt"; yu: "du.yu"; yv: "du.yv"; yw: "du.yw"; yx: "du.yx"; yy: "du.yy"; yz: "du.yz"; za: "du.za"; zb: "du.zb"; zc: "du.zc"; zd: "du.zd"; ze: "du.ze"; zf: "du.zf"; zg: "du.zg"; zh: "du.zh"; zi: "du.zi"; zj: "du.zj"; zk: "du.zk"; zl: "du.zl"; zm: "du.zm"; zn: "du.zn"; zo: "du.zo"; zp: "du.zp"; zq: "du.zq"; zr: "du.zr"; zs: "du.zs"; zt: "du.zt"; zu: "du.zu"; zv: "du.zv"; zw: "du.zw"; zx: "du.zx"; zy: "du.zy"; zz: "du.zz"; }; dv: { aa: "dv.aa"; ab: "dv.ab"; ac: "dv.ac"; ad: "dv.ad"; ae: "dv.ae"; af: "dv.af"; ag: "dv.ag"; ah: "dv.ah"; ai: "dv.ai"; aj: "dv.aj"; ak: "dv.ak"; al: "dv.al"; am: "dv.am"; an: "dv.an"; ao: "dv.ao"; ap: "dv.ap"; aq: "dv.aq"; ar: "dv.ar"; as: "dv.as"; at: "dv.at"; au: "dv.au"; av: "dv.av"; aw: "dv.aw"; ax: "dv.ax"; ay: "dv.ay"; az: "dv.az"; ba: "dv.ba"; bb: "dv.bb"; bc: "dv.bc"; bd: "dv.bd"; be: "dv.be"; bf: "dv.bf"; bg: "dv.bg"; bh: "dv.bh"; bi: "dv.bi"; bj: "dv.bj"; bk: "dv.bk"; bl: "dv.bl"; bm: "dv.bm"; bn: "dv.bn"; bo: "dv.bo"; bp: "dv.bp"; bq: "dv.bq"; br: "dv.br"; bs: "dv.bs"; bt: "dv.bt"; bu: "dv.bu"; bv: "dv.bv"; bw: "dv.bw"; bx: "dv.bx"; by: "dv.by"; bz: "dv.bz"; ca: "dv.ca"; cb: "dv.cb"; cc: "dv.cc"; cd: "dv.cd"; ce: "dv.ce"; cf: "dv.cf"; cg: "dv.cg"; ch: "dv.ch"; ci: "dv.ci"; cj: "dv.cj"; ck: "dv.ck"; cl: "dv.cl"; cm: "dv.cm"; cn: "dv.cn"; co: "dv.co"; cp: "dv.cp"; cq: "dv.cq"; cr: "dv.cr"; cs: "dv.cs"; ct: "dv.ct"; cu: "dv.cu"; cv: "dv.cv"; cw: "dv.cw"; cx: "dv.cx"; cy: "dv.cy"; cz: "dv.cz"; da: "dv.da"; db: "dv.db"; dc: "dv.dc"; dd: "dv.dd"; de: "dv.de"; df: "dv.df"; dg: "dv.dg"; dh: "dv.dh"; di: "dv.di"; dj: "dv.dj"; dk: "dv.dk"; dl: "dv.dl"; dm: "dv.dm"; dn: "dv.dn"; do: "dv.do"; dp: "dv.dp"; dq: "dv.dq"; dr: "dv.dr"; ds: "dv.ds"; dt: "dv.dt"; du: "dv.du"; dv: "dv.dv"; dw: "dv.dw"; dx: "dv.dx"; dy: "dv.dy"; dz: "dv.dz"; ea: "dv.ea"; eb: "dv.eb"; ec: "dv.ec"; ed: "dv.ed"; ee: "dv.ee"; ef: "dv.ef"; eg: "dv.eg"; eh: "dv.eh"; ei: "dv.ei"; ej: "dv.ej"; ek: "dv.ek"; el: "dv.el"; em: "dv.em"; en: "dv.en"; eo: "dv.eo"; ep: "dv.ep"; eq: "dv.eq"; er: "dv.er"; es: "dv.es"; et: "dv.et"; eu: "dv.eu"; ev: "dv.ev"; ew: "dv.ew"; ex: "dv.ex"; ey: "dv.ey"; ez: "dv.ez"; fa: "dv.fa"; fb: "dv.fb"; fc: "dv.fc"; fd: "dv.fd"; fe: "dv.fe"; ff: "dv.ff"; fg: "dv.fg"; fh: "dv.fh"; fi: "dv.fi"; fj: "dv.fj"; fk: "dv.fk"; fl: "dv.fl"; fm: "dv.fm"; fn: "dv.fn"; fo: "dv.fo"; fp: "dv.fp"; fq: "dv.fq"; fr: "dv.fr"; fs: "dv.fs"; ft: "dv.ft"; fu: "dv.fu"; fv: "dv.fv"; fw: "dv.fw"; fx: "dv.fx"; fy: "dv.fy"; fz: "dv.fz"; ga: "dv.ga"; gb: "dv.gb"; gc: "dv.gc"; gd: "dv.gd"; ge: "dv.ge"; gf: "dv.gf"; gg: "dv.gg"; gh: "dv.gh"; gi: "dv.gi"; gj: "dv.gj"; gk: "dv.gk"; gl: "dv.gl"; gm: "dv.gm"; gn: "dv.gn"; go: "dv.go"; gp: "dv.gp"; gq: "dv.gq"; gr: "dv.gr"; gs: "dv.gs"; gt: "dv.gt"; gu: "dv.gu"; gv: "dv.gv"; gw: "dv.gw"; gx: "dv.gx"; gy: "dv.gy"; gz: "dv.gz"; ha: "dv.ha"; hb: "dv.hb"; hc: "dv.hc"; hd: "dv.hd"; he: "dv.he"; hf: "dv.hf"; hg: "dv.hg"; hh: "dv.hh"; hi: "dv.hi"; hj: "dv.hj"; hk: "dv.hk"; hl: "dv.hl"; hm: "dv.hm"; hn: "dv.hn"; ho: "dv.ho"; hp: "dv.hp"; hq: "dv.hq"; hr: "dv.hr"; hs: "dv.hs"; ht: "dv.ht"; hu: "dv.hu"; hv: "dv.hv"; hw: "dv.hw"; hx: "dv.hx"; hy: "dv.hy"; hz: "dv.hz"; ia: "dv.ia"; ib: "dv.ib"; ic: "dv.ic"; id: "dv.id"; ie: "dv.ie"; if: "dv.if"; ig: "dv.ig"; ih: "dv.ih"; ii: "dv.ii"; ij: "dv.ij"; ik: "dv.ik"; il: "dv.il"; im: "dv.im"; in: "dv.in"; io: "dv.io"; ip: "dv.ip"; iq: "dv.iq"; ir: "dv.ir"; is: "dv.is"; it: "dv.it"; iu: "dv.iu"; iv: "dv.iv"; iw: "dv.iw"; ix: "dv.ix"; iy: "dv.iy"; iz: "dv.iz"; ja: "dv.ja"; jb: "dv.jb"; jc: "dv.jc"; jd: "dv.jd"; je: "dv.je"; jf: "dv.jf"; jg: "dv.jg"; jh: "dv.jh"; ji: "dv.ji"; jj: "dv.jj"; jk: "dv.jk"; jl: "dv.jl"; jm: "dv.jm"; jn: "dv.jn"; jo: "dv.jo"; jp: "dv.jp"; jq: "dv.jq"; jr: "dv.jr"; js: "dv.js"; jt: "dv.jt"; ju: "dv.ju"; jv: "dv.jv"; jw: "dv.jw"; jx: "dv.jx"; jy: "dv.jy"; jz: "dv.jz"; ka: "dv.ka"; kb: "dv.kb"; kc: "dv.kc"; kd: "dv.kd"; ke: "dv.ke"; kf: "dv.kf"; kg: "dv.kg"; kh: "dv.kh"; ki: "dv.ki"; kj: "dv.kj"; kk: "dv.kk"; kl: "dv.kl"; km: "dv.km"; kn: "dv.kn"; ko: "dv.ko"; kp: "dv.kp"; kq: "dv.kq"; kr: "dv.kr"; ks: "dv.ks"; kt: "dv.kt"; ku: "dv.ku"; kv: "dv.kv"; kw: "dv.kw"; kx: "dv.kx"; ky: "dv.ky"; kz: "dv.kz"; la: "dv.la"; lb: "dv.lb"; lc: "dv.lc"; ld: "dv.ld"; le: "dv.le"; lf: "dv.lf"; lg: "dv.lg"; lh: "dv.lh"; li: "dv.li"; lj: "dv.lj"; lk: "dv.lk"; ll: "dv.ll"; lm: "dv.lm"; ln: "dv.ln"; lo: "dv.lo"; lp: "dv.lp"; lq: "dv.lq"; lr: "dv.lr"; ls: "dv.ls"; lt: "dv.lt"; lu: "dv.lu"; lv: "dv.lv"; lw: "dv.lw"; lx: "dv.lx"; ly: "dv.ly"; lz: "dv.lz"; ma: "dv.ma"; mb: "dv.mb"; mc: "dv.mc"; md: "dv.md"; me: "dv.me"; mf: "dv.mf"; mg: "dv.mg"; mh: "dv.mh"; mi: "dv.mi"; mj: "dv.mj"; mk: "dv.mk"; ml: "dv.ml"; mm: "dv.mm"; mn: "dv.mn"; mo: "dv.mo"; mp: "dv.mp"; mq: "dv.mq"; mr: "dv.mr"; ms: "dv.ms"; mt: "dv.mt"; mu: "dv.mu"; mv: "dv.mv"; mw: "dv.mw"; mx: "dv.mx"; my: "dv.my"; mz: "dv.mz"; na: "dv.na"; nb: "dv.nb"; nc: "dv.nc"; nd: "dv.nd"; ne: "dv.ne"; nf: "dv.nf"; ng: "dv.ng"; nh: "dv.nh"; ni: "dv.ni"; nj: "dv.nj"; nk: "dv.nk"; nl: "dv.nl"; nm: "dv.nm"; nn: "dv.nn"; no: "dv.no"; np: "dv.np"; nq: "dv.nq"; nr: "dv.nr"; ns: "dv.ns"; nt: "dv.nt"; nu: "dv.nu"; nv: "dv.nv"; nw: "dv.nw"; nx: "dv.nx"; ny: "dv.ny"; nz: "dv.nz"; oa: "dv.oa"; ob: "dv.ob"; oc: "dv.oc"; od: "dv.od"; oe: "dv.oe"; of: "dv.of"; og: "dv.og"; oh: "dv.oh"; oi: "dv.oi"; oj: "dv.oj"; ok: "dv.ok"; ol: "dv.ol"; om: "dv.om"; on: "dv.on"; oo: "dv.oo"; op: "dv.op"; oq: "dv.oq"; or: "dv.or"; os: "dv.os"; ot: "dv.ot"; ou: "dv.ou"; ov: "dv.ov"; ow: "dv.ow"; ox: "dv.ox"; oy: "dv.oy"; oz: "dv.oz"; pa: "dv.pa"; pb: "dv.pb"; pc: "dv.pc"; pd: "dv.pd"; pe: "dv.pe"; pf: "dv.pf"; pg: "dv.pg"; ph: "dv.ph"; pi: "dv.pi"; pj: "dv.pj"; pk: "dv.pk"; pl: "dv.pl"; pm: "dv.pm"; pn: "dv.pn"; po: "dv.po"; pp: "dv.pp"; pq: "dv.pq"; pr: "dv.pr"; ps: "dv.ps"; pt: "dv.pt"; pu: "dv.pu"; pv: "dv.pv"; pw: "dv.pw"; px: "dv.px"; py: "dv.py"; pz: "dv.pz"; qa: "dv.qa"; qb: "dv.qb"; qc: "dv.qc"; qd: "dv.qd"; qe: "dv.qe"; qf: "dv.qf"; qg: "dv.qg"; qh: "dv.qh"; qi: "dv.qi"; qj: "dv.qj"; qk: "dv.qk"; ql: "dv.ql"; qm: "dv.qm"; qn: "dv.qn"; qo: "dv.qo"; qp: "dv.qp"; qq: "dv.qq"; qr: "dv.qr"; qs: "dv.qs"; qt: "dv.qt"; qu: "dv.qu"; qv: "dv.qv"; qw: "dv.qw"; qx: "dv.qx"; qy: "dv.qy"; qz: "dv.qz"; ra: "dv.ra"; rb: "dv.rb"; rc: "dv.rc"; rd: "dv.rd"; re: "dv.re"; rf: "dv.rf"; rg: "dv.rg"; rh: "dv.rh"; ri: "dv.ri"; rj: "dv.rj"; rk: "dv.rk"; rl: "dv.rl"; rm: "dv.rm"; rn: "dv.rn"; ro: "dv.ro"; rp: "dv.rp"; rq: "dv.rq"; rr: "dv.rr"; rs: "dv.rs"; rt: "dv.rt"; ru: "dv.ru"; rv: "dv.rv"; rw: "dv.rw"; rx: "dv.rx"; ry: "dv.ry"; rz: "dv.rz"; sa: "dv.sa"; sb: "dv.sb"; sc: "dv.sc"; sd: "dv.sd"; se: "dv.se"; sf: "dv.sf"; sg: "dv.sg"; sh: "dv.sh"; si: "dv.si"; sj: "dv.sj"; sk: "dv.sk"; sl: "dv.sl"; sm: "dv.sm"; sn: "dv.sn"; so: "dv.so"; sp: "dv.sp"; sq: "dv.sq"; sr: "dv.sr"; ss: "dv.ss"; st: "dv.st"; su: "dv.su"; sv: "dv.sv"; sw: "dv.sw"; sx: "dv.sx"; sy: "dv.sy"; sz: "dv.sz"; ta: "dv.ta"; tb: "dv.tb"; tc: "dv.tc"; td: "dv.td"; te: "dv.te"; tf: "dv.tf"; tg: "dv.tg"; th: "dv.th"; ti: "dv.ti"; tj: "dv.tj"; tk: "dv.tk"; tl: "dv.tl"; tm: "dv.tm"; tn: "dv.tn"; to: "dv.to"; tp: "dv.tp"; tq: "dv.tq"; tr: "dv.tr"; ts: "dv.ts"; tt: "dv.tt"; tu: "dv.tu"; tv: "dv.tv"; tw: "dv.tw"; tx: "dv.tx"; ty: "dv.ty"; tz: "dv.tz"; ua: "dv.ua"; ub: "dv.ub"; uc: "dv.uc"; ud: "dv.ud"; ue: "dv.ue"; uf: "dv.uf"; ug: "dv.ug"; uh: "dv.uh"; ui: "dv.ui"; uj: "dv.uj"; uk: "dv.uk"; ul: "dv.ul"; um: "dv.um"; un: "dv.un"; uo: "dv.uo"; up: "dv.up"; uq: "dv.uq"; ur: "dv.ur"; us: "dv.us"; ut: "dv.ut"; uu: "dv.uu"; uv: "dv.uv"; uw: "dv.uw"; ux: "dv.ux"; uy: "dv.uy"; uz: "dv.uz"; va: "dv.va"; vb: "dv.vb"; vc: "dv.vc"; vd: "dv.vd"; ve: "dv.ve"; vf: "dv.vf"; vg: "dv.vg"; vh: "dv.vh"; vi: "dv.vi"; vj: "dv.vj"; vk: "dv.vk"; vl: "dv.vl"; vm: "dv.vm"; vn: "dv.vn"; vo: "dv.vo"; vp: "dv.vp"; vq: "dv.vq"; vr: "dv.vr"; vs: "dv.vs"; vt: "dv.vt"; vu: "dv.vu"; vv: "dv.vv"; vw: "dv.vw"; vx: "dv.vx"; vy: "dv.vy"; vz: "dv.vz"; wa: "dv.wa"; wb: "dv.wb"; wc: "dv.wc"; wd: "dv.wd"; we: "dv.we"; wf: "dv.wf"; wg: "dv.wg"; wh: "dv.wh"; wi: "dv.wi"; wj: "dv.wj"; wk: "dv.wk"; wl: "dv.wl"; wm: "dv.wm"; wn: "dv.wn"; wo: "dv.wo"; wp: "dv.wp"; wq: "dv.wq"; wr: "dv.wr"; ws: "dv.ws"; wt: "dv.wt"; wu: "dv.wu"; wv: "dv.wv"; ww: "dv.ww"; wx: "dv.wx"; wy: "dv.wy"; wz: "dv.wz"; xa: "dv.xa"; xb: "dv.xb"; xc: "dv.xc"; xd: "dv.xd"; xe: "dv.xe"; xf: "dv.xf"; xg: "dv.xg"; xh: "dv.xh"; xi: "dv.xi"; xj: "dv.xj"; xk: "dv.xk"; xl: "dv.xl"; xm: "dv.xm"; xn: "dv.xn"; xo: "dv.xo"; xp: "dv.xp"; xq: "dv.xq"; xr: "dv.xr"; xs: "dv.xs"; xt: "dv.xt"; xu: "dv.xu"; xv: "dv.xv"; xw: "dv.xw"; xx: "dv.xx"; xy: "dv.xy"; xz: "dv.xz"; ya: "dv.ya"; yb: "dv.yb"; yc: "dv.yc"; yd: "dv.yd"; ye: "dv.ye"; yf: "dv.yf"; yg: "dv.yg"; yh: "dv.yh"; yi: "dv.yi"; yj: "dv.yj"; yk: "dv.yk"; yl: "dv.yl"; ym: "dv.ym"; yn: "dv.yn"; yo: "dv.yo"; yp: "dv.yp"; yq: "dv.yq"; yr: "dv.yr"; ys: "dv.ys"; yt: "dv.yt"; yu: "dv.yu"; yv: "dv.yv"; yw: "dv.yw"; yx: "dv.yx"; yy: "dv.yy"; yz: "dv.yz"; za: "dv.za"; zb: "dv.zb"; zc: "dv.zc"; zd: "dv.zd"; ze: "dv.ze"; zf: "dv.zf"; zg: "dv.zg"; zh: "dv.zh"; zi: "dv.zi"; zj: "dv.zj"; zk: "dv.zk"; zl: "dv.zl"; zm: "dv.zm"; zn: "dv.zn"; zo: "dv.zo"; zp: "dv.zp"; zq: "dv.zq"; zr: "dv.zr"; zs: "dv.zs"; zt: "dv.zt"; zu: "dv.zu"; zv: "dv.zv"; zw: "dv.zw"; zx: "dv.zx"; zy: "dv.zy"; zz: "dv.zz"; }; dw: { aa: "dw.aa"; ab: "dw.ab"; ac: "dw.ac"; ad: "dw.ad"; ae: "dw.ae"; af: "dw.af"; ag: "dw.ag"; ah: "dw.ah"; ai: "dw.ai"; aj: "dw.aj"; ak: "dw.ak"; al: "dw.al"; am: "dw.am"; an: "dw.an"; ao: "dw.ao"; ap: "dw.ap"; aq: "dw.aq"; ar: "dw.ar"; as: "dw.as"; at: "dw.at"; au: "dw.au"; av: "dw.av"; aw: "dw.aw"; ax: "dw.ax"; ay: "dw.ay"; az: "dw.az"; ba: "dw.ba"; bb: "dw.bb"; bc: "dw.bc"; bd: "dw.bd"; be: "dw.be"; bf: "dw.bf"; bg: "dw.bg"; bh: "dw.bh"; bi: "dw.bi"; bj: "dw.bj"; bk: "dw.bk"; bl: "dw.bl"; bm: "dw.bm"; bn: "dw.bn"; bo: "dw.bo"; bp: "dw.bp"; bq: "dw.bq"; br: "dw.br"; bs: "dw.bs"; bt: "dw.bt"; bu: "dw.bu"; bv: "dw.bv"; bw: "dw.bw"; bx: "dw.bx"; by: "dw.by"; bz: "dw.bz"; ca: "dw.ca"; cb: "dw.cb"; cc: "dw.cc"; cd: "dw.cd"; ce: "dw.ce"; cf: "dw.cf"; cg: "dw.cg"; ch: "dw.ch"; ci: "dw.ci"; cj: "dw.cj"; ck: "dw.ck"; cl: "dw.cl"; cm: "dw.cm"; cn: "dw.cn"; co: "dw.co"; cp: "dw.cp"; cq: "dw.cq"; cr: "dw.cr"; cs: "dw.cs"; ct: "dw.ct"; cu: "dw.cu"; cv: "dw.cv"; cw: "dw.cw"; cx: "dw.cx"; cy: "dw.cy"; cz: "dw.cz"; da: "dw.da"; db: "dw.db"; dc: "dw.dc"; dd: "dw.dd"; de: "dw.de"; df: "dw.df"; dg: "dw.dg"; dh: "dw.dh"; di: "dw.di"; dj: "dw.dj"; dk: "dw.dk"; dl: "dw.dl"; dm: "dw.dm"; dn: "dw.dn"; do: "dw.do"; dp: "dw.dp"; dq: "dw.dq"; dr: "dw.dr"; ds: "dw.ds"; dt: "dw.dt"; du: "dw.du"; dv: "dw.dv"; dw: "dw.dw"; dx: "dw.dx"; dy: "dw.dy"; dz: "dw.dz"; ea: "dw.ea"; eb: "dw.eb"; ec: "dw.ec"; ed: "dw.ed"; ee: "dw.ee"; ef: "dw.ef"; eg: "dw.eg"; eh: "dw.eh"; ei: "dw.ei"; ej: "dw.ej"; ek: "dw.ek"; el: "dw.el"; em: "dw.em"; en: "dw.en"; eo: "dw.eo"; ep: "dw.ep"; eq: "dw.eq"; er: "dw.er"; es: "dw.es"; et: "dw.et"; eu: "dw.eu"; ev: "dw.ev"; ew: "dw.ew"; ex: "dw.ex"; ey: "dw.ey"; ez: "dw.ez"; fa: "dw.fa"; fb: "dw.fb"; fc: "dw.fc"; fd: "dw.fd"; fe: "dw.fe"; ff: "dw.ff"; fg: "dw.fg"; fh: "dw.fh"; fi: "dw.fi"; fj: "dw.fj"; fk: "dw.fk"; fl: "dw.fl"; fm: "dw.fm"; fn: "dw.fn"; fo: "dw.fo"; fp: "dw.fp"; fq: "dw.fq"; fr: "dw.fr"; fs: "dw.fs"; ft: "dw.ft"; fu: "dw.fu"; fv: "dw.fv"; fw: "dw.fw"; fx: "dw.fx"; fy: "dw.fy"; fz: "dw.fz"; ga: "dw.ga"; gb: "dw.gb"; gc: "dw.gc"; gd: "dw.gd"; ge: "dw.ge"; gf: "dw.gf"; gg: "dw.gg"; gh: "dw.gh"; gi: "dw.gi"; gj: "dw.gj"; gk: "dw.gk"; gl: "dw.gl"; gm: "dw.gm"; gn: "dw.gn"; go: "dw.go"; gp: "dw.gp"; gq: "dw.gq"; gr: "dw.gr"; gs: "dw.gs"; gt: "dw.gt"; gu: "dw.gu"; gv: "dw.gv"; gw: "dw.gw"; gx: "dw.gx"; gy: "dw.gy"; gz: "dw.gz"; ha: "dw.ha"; hb: "dw.hb"; hc: "dw.hc"; hd: "dw.hd"; he: "dw.he"; hf: "dw.hf"; hg: "dw.hg"; hh: "dw.hh"; hi: "dw.hi"; hj: "dw.hj"; hk: "dw.hk"; hl: "dw.hl"; hm: "dw.hm"; hn: "dw.hn"; ho: "dw.ho"; hp: "dw.hp"; hq: "dw.hq"; hr: "dw.hr"; hs: "dw.hs"; ht: "dw.ht"; hu: "dw.hu"; hv: "dw.hv"; hw: "dw.hw"; hx: "dw.hx"; hy: "dw.hy"; hz: "dw.hz"; ia: "dw.ia"; ib: "dw.ib"; ic: "dw.ic"; id: "dw.id"; ie: "dw.ie"; if: "dw.if"; ig: "dw.ig"; ih: "dw.ih"; ii: "dw.ii"; ij: "dw.ij"; ik: "dw.ik"; il: "dw.il"; im: "dw.im"; in: "dw.in"; io: "dw.io"; ip: "dw.ip"; iq: "dw.iq"; ir: "dw.ir"; is: "dw.is"; it: "dw.it"; iu: "dw.iu"; iv: "dw.iv"; iw: "dw.iw"; ix: "dw.ix"; iy: "dw.iy"; iz: "dw.iz"; ja: "dw.ja"; jb: "dw.jb"; jc: "dw.jc"; jd: "dw.jd"; je: "dw.je"; jf: "dw.jf"; jg: "dw.jg"; jh: "dw.jh"; ji: "dw.ji"; jj: "dw.jj"; jk: "dw.jk"; jl: "dw.jl"; jm: "dw.jm"; jn: "dw.jn"; jo: "dw.jo"; jp: "dw.jp"; jq: "dw.jq"; jr: "dw.jr"; js: "dw.js"; jt: "dw.jt"; ju: "dw.ju"; jv: "dw.jv"; jw: "dw.jw"; jx: "dw.jx"; jy: "dw.jy"; jz: "dw.jz"; ka: "dw.ka"; kb: "dw.kb"; kc: "dw.kc"; kd: "dw.kd"; ke: "dw.ke"; kf: "dw.kf"; kg: "dw.kg"; kh: "dw.kh"; ki: "dw.ki"; kj: "dw.kj"; kk: "dw.kk"; kl: "dw.kl"; km: "dw.km"; kn: "dw.kn"; ko: "dw.ko"; kp: "dw.kp"; kq: "dw.kq"; kr: "dw.kr"; ks: "dw.ks"; kt: "dw.kt"; ku: "dw.ku"; kv: "dw.kv"; kw: "dw.kw"; kx: "dw.kx"; ky: "dw.ky"; kz: "dw.kz"; la: "dw.la"; lb: "dw.lb"; lc: "dw.lc"; ld: "dw.ld"; le: "dw.le"; lf: "dw.lf"; lg: "dw.lg"; lh: "dw.lh"; li: "dw.li"; lj: "dw.lj"; lk: "dw.lk"; ll: "dw.ll"; lm: "dw.lm"; ln: "dw.ln"; lo: "dw.lo"; lp: "dw.lp"; lq: "dw.lq"; lr: "dw.lr"; ls: "dw.ls"; lt: "dw.lt"; lu: "dw.lu"; lv: "dw.lv"; lw: "dw.lw"; lx: "dw.lx"; ly: "dw.ly"; lz: "dw.lz"; ma: "dw.ma"; mb: "dw.mb"; mc: "dw.mc"; md: "dw.md"; me: "dw.me"; mf: "dw.mf"; mg: "dw.mg"; mh: "dw.mh"; mi: "dw.mi"; mj: "dw.mj"; mk: "dw.mk"; ml: "dw.ml"; mm: "dw.mm"; mn: "dw.mn"; mo: "dw.mo"; mp: "dw.mp"; mq: "dw.mq"; mr: "dw.mr"; ms: "dw.ms"; mt: "dw.mt"; mu: "dw.mu"; mv: "dw.mv"; mw: "dw.mw"; mx: "dw.mx"; my: "dw.my"; mz: "dw.mz"; na: "dw.na"; nb: "dw.nb"; nc: "dw.nc"; nd: "dw.nd"; ne: "dw.ne"; nf: "dw.nf"; ng: "dw.ng"; nh: "dw.nh"; ni: "dw.ni"; nj: "dw.nj"; nk: "dw.nk"; nl: "dw.nl"; nm: "dw.nm"; nn: "dw.nn"; no: "dw.no"; np: "dw.np"; nq: "dw.nq"; nr: "dw.nr"; ns: "dw.ns"; nt: "dw.nt"; nu: "dw.nu"; nv: "dw.nv"; nw: "dw.nw"; nx: "dw.nx"; ny: "dw.ny"; nz: "dw.nz"; oa: "dw.oa"; ob: "dw.ob"; oc: "dw.oc"; od: "dw.od"; oe: "dw.oe"; of: "dw.of"; og: "dw.og"; oh: "dw.oh"; oi: "dw.oi"; oj: "dw.oj"; ok: "dw.ok"; ol: "dw.ol"; om: "dw.om"; on: "dw.on"; oo: "dw.oo"; op: "dw.op"; oq: "dw.oq"; or: "dw.or"; os: "dw.os"; ot: "dw.ot"; ou: "dw.ou"; ov: "dw.ov"; ow: "dw.ow"; ox: "dw.ox"; oy: "dw.oy"; oz: "dw.oz"; pa: "dw.pa"; pb: "dw.pb"; pc: "dw.pc"; pd: "dw.pd"; pe: "dw.pe"; pf: "dw.pf"; pg: "dw.pg"; ph: "dw.ph"; pi: "dw.pi"; pj: "dw.pj"; pk: "dw.pk"; pl: "dw.pl"; pm: "dw.pm"; pn: "dw.pn"; po: "dw.po"; pp: "dw.pp"; pq: "dw.pq"; pr: "dw.pr"; ps: "dw.ps"; pt: "dw.pt"; pu: "dw.pu"; pv: "dw.pv"; pw: "dw.pw"; px: "dw.px"; py: "dw.py"; pz: "dw.pz"; qa: "dw.qa"; qb: "dw.qb"; qc: "dw.qc"; qd: "dw.qd"; qe: "dw.qe"; qf: "dw.qf"; qg: "dw.qg"; qh: "dw.qh"; qi: "dw.qi"; qj: "dw.qj"; qk: "dw.qk"; ql: "dw.ql"; qm: "dw.qm"; qn: "dw.qn"; qo: "dw.qo"; qp: "dw.qp"; qq: "dw.qq"; qr: "dw.qr"; qs: "dw.qs"; qt: "dw.qt"; qu: "dw.qu"; qv: "dw.qv"; qw: "dw.qw"; qx: "dw.qx"; qy: "dw.qy"; qz: "dw.qz"; ra: "dw.ra"; rb: "dw.rb"; rc: "dw.rc"; rd: "dw.rd"; re: "dw.re"; rf: "dw.rf"; rg: "dw.rg"; rh: "dw.rh"; ri: "dw.ri"; rj: "dw.rj"; rk: "dw.rk"; rl: "dw.rl"; rm: "dw.rm"; rn: "dw.rn"; ro: "dw.ro"; rp: "dw.rp"; rq: "dw.rq"; rr: "dw.rr"; rs: "dw.rs"; rt: "dw.rt"; ru: "dw.ru"; rv: "dw.rv"; rw: "dw.rw"; rx: "dw.rx"; ry: "dw.ry"; rz: "dw.rz"; sa: "dw.sa"; sb: "dw.sb"; sc: "dw.sc"; sd: "dw.sd"; se: "dw.se"; sf: "dw.sf"; sg: "dw.sg"; sh: "dw.sh"; si: "dw.si"; sj: "dw.sj"; sk: "dw.sk"; sl: "dw.sl"; sm: "dw.sm"; sn: "dw.sn"; so: "dw.so"; sp: "dw.sp"; sq: "dw.sq"; sr: "dw.sr"; ss: "dw.ss"; st: "dw.st"; su: "dw.su"; sv: "dw.sv"; sw: "dw.sw"; sx: "dw.sx"; sy: "dw.sy"; sz: "dw.sz"; ta: "dw.ta"; tb: "dw.tb"; tc: "dw.tc"; td: "dw.td"; te: "dw.te"; tf: "dw.tf"; tg: "dw.tg"; th: "dw.th"; ti: "dw.ti"; tj: "dw.tj"; tk: "dw.tk"; tl: "dw.tl"; tm: "dw.tm"; tn: "dw.tn"; to: "dw.to"; tp: "dw.tp"; tq: "dw.tq"; tr: "dw.tr"; ts: "dw.ts"; tt: "dw.tt"; tu: "dw.tu"; tv: "dw.tv"; tw: "dw.tw"; tx: "dw.tx"; ty: "dw.ty"; tz: "dw.tz"; ua: "dw.ua"; ub: "dw.ub"; uc: "dw.uc"; ud: "dw.ud"; ue: "dw.ue"; uf: "dw.uf"; ug: "dw.ug"; uh: "dw.uh"; ui: "dw.ui"; uj: "dw.uj"; uk: "dw.uk"; ul: "dw.ul"; um: "dw.um"; un: "dw.un"; uo: "dw.uo"; up: "dw.up"; uq: "dw.uq"; ur: "dw.ur"; us: "dw.us"; ut: "dw.ut"; uu: "dw.uu"; uv: "dw.uv"; uw: "dw.uw"; ux: "dw.ux"; uy: "dw.uy"; uz: "dw.uz"; va: "dw.va"; vb: "dw.vb"; vc: "dw.vc"; vd: "dw.vd"; ve: "dw.ve"; vf: "dw.vf"; vg: "dw.vg"; vh: "dw.vh"; vi: "dw.vi"; vj: "dw.vj"; vk: "dw.vk"; vl: "dw.vl"; vm: "dw.vm"; vn: "dw.vn"; vo: "dw.vo"; vp: "dw.vp"; vq: "dw.vq"; vr: "dw.vr"; vs: "dw.vs"; vt: "dw.vt"; vu: "dw.vu"; vv: "dw.vv"; vw: "dw.vw"; vx: "dw.vx"; vy: "dw.vy"; vz: "dw.vz"; wa: "dw.wa"; wb: "dw.wb"; wc: "dw.wc"; wd: "dw.wd"; we: "dw.we"; wf: "dw.wf"; wg: "dw.wg"; wh: "dw.wh"; wi: "dw.wi"; wj: "dw.wj"; wk: "dw.wk"; wl: "dw.wl"; wm: "dw.wm"; wn: "dw.wn"; wo: "dw.wo"; wp: "dw.wp"; wq: "dw.wq"; wr: "dw.wr"; ws: "dw.ws"; wt: "dw.wt"; wu: "dw.wu"; wv: "dw.wv"; ww: "dw.ww"; wx: "dw.wx"; wy: "dw.wy"; wz: "dw.wz"; xa: "dw.xa"; xb: "dw.xb"; xc: "dw.xc"; xd: "dw.xd"; xe: "dw.xe"; xf: "dw.xf"; xg: "dw.xg"; xh: "dw.xh"; xi: "dw.xi"; xj: "dw.xj"; xk: "dw.xk"; xl: "dw.xl"; xm: "dw.xm"; xn: "dw.xn"; xo: "dw.xo"; xp: "dw.xp"; xq: "dw.xq"; xr: "dw.xr"; xs: "dw.xs"; xt: "dw.xt"; xu: "dw.xu"; xv: "dw.xv"; xw: "dw.xw"; xx: "dw.xx"; xy: "dw.xy"; xz: "dw.xz"; ya: "dw.ya"; yb: "dw.yb"; yc: "dw.yc"; yd: "dw.yd"; ye: "dw.ye"; yf: "dw.yf"; yg: "dw.yg"; yh: "dw.yh"; yi: "dw.yi"; yj: "dw.yj"; yk: "dw.yk"; yl: "dw.yl"; ym: "dw.ym"; yn: "dw.yn"; yo: "dw.yo"; yp: "dw.yp"; yq: "dw.yq"; yr: "dw.yr"; ys: "dw.ys"; yt: "dw.yt"; yu: "dw.yu"; yv: "dw.yv"; yw: "dw.yw"; yx: "dw.yx"; yy: "dw.yy"; yz: "dw.yz"; za: "dw.za"; zb: "dw.zb"; zc: "dw.zc"; zd: "dw.zd"; ze: "dw.ze"; zf: "dw.zf"; zg: "dw.zg"; zh: "dw.zh"; zi: "dw.zi"; zj: "dw.zj"; zk: "dw.zk"; zl: "dw.zl"; zm: "dw.zm"; zn: "dw.zn"; zo: "dw.zo"; zp: "dw.zp"; zq: "dw.zq"; zr: "dw.zr"; zs: "dw.zs"; zt: "dw.zt"; zu: "dw.zu"; zv: "dw.zv"; zw: "dw.zw"; zx: "dw.zx"; zy: "dw.zy"; zz: "dw.zz"; }; dx: { aa: "dx.aa"; ab: "dx.ab"; ac: "dx.ac"; ad: "dx.ad"; ae: "dx.ae"; af: "dx.af"; ag: "dx.ag"; ah: "dx.ah"; ai: "dx.ai"; aj: "dx.aj"; ak: "dx.ak"; al: "dx.al"; am: "dx.am"; an: "dx.an"; ao: "dx.ao"; ap: "dx.ap"; aq: "dx.aq"; ar: "dx.ar"; as: "dx.as"; at: "dx.at"; au: "dx.au"; av: "dx.av"; aw: "dx.aw"; ax: "dx.ax"; ay: "dx.ay"; az: "dx.az"; ba: "dx.ba"; bb: "dx.bb"; bc: "dx.bc"; bd: "dx.bd"; be: "dx.be"; bf: "dx.bf"; bg: "dx.bg"; bh: "dx.bh"; bi: "dx.bi"; bj: "dx.bj"; bk: "dx.bk"; bl: "dx.bl"; bm: "dx.bm"; bn: "dx.bn"; bo: "dx.bo"; bp: "dx.bp"; bq: "dx.bq"; br: "dx.br"; bs: "dx.bs"; bt: "dx.bt"; bu: "dx.bu"; bv: "dx.bv"; bw: "dx.bw"; bx: "dx.bx"; by: "dx.by"; bz: "dx.bz"; ca: "dx.ca"; cb: "dx.cb"; cc: "dx.cc"; cd: "dx.cd"; ce: "dx.ce"; cf: "dx.cf"; cg: "dx.cg"; ch: "dx.ch"; ci: "dx.ci"; cj: "dx.cj"; ck: "dx.ck"; cl: "dx.cl"; cm: "dx.cm"; cn: "dx.cn"; co: "dx.co"; cp: "dx.cp"; cq: "dx.cq"; cr: "dx.cr"; cs: "dx.cs"; ct: "dx.ct"; cu: "dx.cu"; cv: "dx.cv"; cw: "dx.cw"; cx: "dx.cx"; cy: "dx.cy"; cz: "dx.cz"; da: "dx.da"; db: "dx.db"; dc: "dx.dc"; dd: "dx.dd"; de: "dx.de"; df: "dx.df"; dg: "dx.dg"; dh: "dx.dh"; di: "dx.di"; dj: "dx.dj"; dk: "dx.dk"; dl: "dx.dl"; dm: "dx.dm"; dn: "dx.dn"; do: "dx.do"; dp: "dx.dp"; dq: "dx.dq"; dr: "dx.dr"; ds: "dx.ds"; dt: "dx.dt"; du: "dx.du"; dv: "dx.dv"; dw: "dx.dw"; dx: "dx.dx"; dy: "dx.dy"; dz: "dx.dz"; ea: "dx.ea"; eb: "dx.eb"; ec: "dx.ec"; ed: "dx.ed"; ee: "dx.ee"; ef: "dx.ef"; eg: "dx.eg"; eh: "dx.eh"; ei: "dx.ei"; ej: "dx.ej"; ek: "dx.ek"; el: "dx.el"; em: "dx.em"; en: "dx.en"; eo: "dx.eo"; ep: "dx.ep"; eq: "dx.eq"; er: "dx.er"; es: "dx.es"; et: "dx.et"; eu: "dx.eu"; ev: "dx.ev"; ew: "dx.ew"; ex: "dx.ex"; ey: "dx.ey"; ez: "dx.ez"; fa: "dx.fa"; fb: "dx.fb"; fc: "dx.fc"; fd: "dx.fd"; fe: "dx.fe"; ff: "dx.ff"; fg: "dx.fg"; fh: "dx.fh"; fi: "dx.fi"; fj: "dx.fj"; fk: "dx.fk"; fl: "dx.fl"; fm: "dx.fm"; fn: "dx.fn"; fo: "dx.fo"; fp: "dx.fp"; fq: "dx.fq"; fr: "dx.fr"; fs: "dx.fs"; ft: "dx.ft"; fu: "dx.fu"; fv: "dx.fv"; fw: "dx.fw"; fx: "dx.fx"; fy: "dx.fy"; fz: "dx.fz"; ga: "dx.ga"; gb: "dx.gb"; gc: "dx.gc"; gd: "dx.gd"; ge: "dx.ge"; gf: "dx.gf"; gg: "dx.gg"; gh: "dx.gh"; gi: "dx.gi"; gj: "dx.gj"; gk: "dx.gk"; gl: "dx.gl"; gm: "dx.gm"; gn: "dx.gn"; go: "dx.go"; gp: "dx.gp"; gq: "dx.gq"; gr: "dx.gr"; gs: "dx.gs"; gt: "dx.gt"; gu: "dx.gu"; gv: "dx.gv"; gw: "dx.gw"; gx: "dx.gx"; gy: "dx.gy"; gz: "dx.gz"; ha: "dx.ha"; hb: "dx.hb"; hc: "dx.hc"; hd: "dx.hd"; he: "dx.he"; hf: "dx.hf"; hg: "dx.hg"; hh: "dx.hh"; hi: "dx.hi"; hj: "dx.hj"; hk: "dx.hk"; hl: "dx.hl"; hm: "dx.hm"; hn: "dx.hn"; ho: "dx.ho"; hp: "dx.hp"; hq: "dx.hq"; hr: "dx.hr"; hs: "dx.hs"; ht: "dx.ht"; hu: "dx.hu"; hv: "dx.hv"; hw: "dx.hw"; hx: "dx.hx"; hy: "dx.hy"; hz: "dx.hz"; ia: "dx.ia"; ib: "dx.ib"; ic: "dx.ic"; id: "dx.id"; ie: "dx.ie"; if: "dx.if"; ig: "dx.ig"; ih: "dx.ih"; ii: "dx.ii"; ij: "dx.ij"; ik: "dx.ik"; il: "dx.il"; im: "dx.im"; in: "dx.in"; io: "dx.io"; ip: "dx.ip"; iq: "dx.iq"; ir: "dx.ir"; is: "dx.is"; it: "dx.it"; iu: "dx.iu"; iv: "dx.iv"; iw: "dx.iw"; ix: "dx.ix"; iy: "dx.iy"; iz: "dx.iz"; ja: "dx.ja"; jb: "dx.jb"; jc: "dx.jc"; jd: "dx.jd"; je: "dx.je"; jf: "dx.jf"; jg: "dx.jg"; jh: "dx.jh"; ji: "dx.ji"; jj: "dx.jj"; jk: "dx.jk"; jl: "dx.jl"; jm: "dx.jm"; jn: "dx.jn"; jo: "dx.jo"; jp: "dx.jp"; jq: "dx.jq"; jr: "dx.jr"; js: "dx.js"; jt: "dx.jt"; ju: "dx.ju"; jv: "dx.jv"; jw: "dx.jw"; jx: "dx.jx"; jy: "dx.jy"; jz: "dx.jz"; ka: "dx.ka"; kb: "dx.kb"; kc: "dx.kc"; kd: "dx.kd"; ke: "dx.ke"; kf: "dx.kf"; kg: "dx.kg"; kh: "dx.kh"; ki: "dx.ki"; kj: "dx.kj"; kk: "dx.kk"; kl: "dx.kl"; km: "dx.km"; kn: "dx.kn"; ko: "dx.ko"; kp: "dx.kp"; kq: "dx.kq"; kr: "dx.kr"; ks: "dx.ks"; kt: "dx.kt"; ku: "dx.ku"; kv: "dx.kv"; kw: "dx.kw"; kx: "dx.kx"; ky: "dx.ky"; kz: "dx.kz"; la: "dx.la"; lb: "dx.lb"; lc: "dx.lc"; ld: "dx.ld"; le: "dx.le"; lf: "dx.lf"; lg: "dx.lg"; lh: "dx.lh"; li: "dx.li"; lj: "dx.lj"; lk: "dx.lk"; ll: "dx.ll"; lm: "dx.lm"; ln: "dx.ln"; lo: "dx.lo"; lp: "dx.lp"; lq: "dx.lq"; lr: "dx.lr"; ls: "dx.ls"; lt: "dx.lt"; lu: "dx.lu"; lv: "dx.lv"; lw: "dx.lw"; lx: "dx.lx"; ly: "dx.ly"; lz: "dx.lz"; ma: "dx.ma"; mb: "dx.mb"; mc: "dx.mc"; md: "dx.md"; me: "dx.me"; mf: "dx.mf"; mg: "dx.mg"; mh: "dx.mh"; mi: "dx.mi"; mj: "dx.mj"; mk: "dx.mk"; ml: "dx.ml"; mm: "dx.mm"; mn: "dx.mn"; mo: "dx.mo"; mp: "dx.mp"; mq: "dx.mq"; mr: "dx.mr"; ms: "dx.ms"; mt: "dx.mt"; mu: "dx.mu"; mv: "dx.mv"; mw: "dx.mw"; mx: "dx.mx"; my: "dx.my"; mz: "dx.mz"; na: "dx.na"; nb: "dx.nb"; nc: "dx.nc"; nd: "dx.nd"; ne: "dx.ne"; nf: "dx.nf"; ng: "dx.ng"; nh: "dx.nh"; ni: "dx.ni"; nj: "dx.nj"; nk: "dx.nk"; nl: "dx.nl"; nm: "dx.nm"; nn: "dx.nn"; no: "dx.no"; np: "dx.np"; nq: "dx.nq"; nr: "dx.nr"; ns: "dx.ns"; nt: "dx.nt"; nu: "dx.nu"; nv: "dx.nv"; nw: "dx.nw"; nx: "dx.nx"; ny: "dx.ny"; nz: "dx.nz"; oa: "dx.oa"; ob: "dx.ob"; oc: "dx.oc"; od: "dx.od"; oe: "dx.oe"; of: "dx.of"; og: "dx.og"; oh: "dx.oh"; oi: "dx.oi"; oj: "dx.oj"; ok: "dx.ok"; ol: "dx.ol"; om: "dx.om"; on: "dx.on"; oo: "dx.oo"; op: "dx.op"; oq: "dx.oq"; or: "dx.or"; os: "dx.os"; ot: "dx.ot"; ou: "dx.ou"; ov: "dx.ov"; ow: "dx.ow"; ox: "dx.ox"; oy: "dx.oy"; oz: "dx.oz"; pa: "dx.pa"; pb: "dx.pb"; pc: "dx.pc"; pd: "dx.pd"; pe: "dx.pe"; pf: "dx.pf"; pg: "dx.pg"; ph: "dx.ph"; pi: "dx.pi"; pj: "dx.pj"; pk: "dx.pk"; pl: "dx.pl"; pm: "dx.pm"; pn: "dx.pn"; po: "dx.po"; pp: "dx.pp"; pq: "dx.pq"; pr: "dx.pr"; ps: "dx.ps"; pt: "dx.pt"; pu: "dx.pu"; pv: "dx.pv"; pw: "dx.pw"; px: "dx.px"; py: "dx.py"; pz: "dx.pz"; qa: "dx.qa"; qb: "dx.qb"; qc: "dx.qc"; qd: "dx.qd"; qe: "dx.qe"; qf: "dx.qf"; qg: "dx.qg"; qh: "dx.qh"; qi: "dx.qi"; qj: "dx.qj"; qk: "dx.qk"; ql: "dx.ql"; qm: "dx.qm"; qn: "dx.qn"; qo: "dx.qo"; qp: "dx.qp"; qq: "dx.qq"; qr: "dx.qr"; qs: "dx.qs"; qt: "dx.qt"; qu: "dx.qu"; qv: "dx.qv"; qw: "dx.qw"; qx: "dx.qx"; qy: "dx.qy"; qz: "dx.qz"; ra: "dx.ra"; rb: "dx.rb"; rc: "dx.rc"; rd: "dx.rd"; re: "dx.re"; rf: "dx.rf"; rg: "dx.rg"; rh: "dx.rh"; ri: "dx.ri"; rj: "dx.rj"; rk: "dx.rk"; rl: "dx.rl"; rm: "dx.rm"; rn: "dx.rn"; ro: "dx.ro"; rp: "dx.rp"; rq: "dx.rq"; rr: "dx.rr"; rs: "dx.rs"; rt: "dx.rt"; ru: "dx.ru"; rv: "dx.rv"; rw: "dx.rw"; rx: "dx.rx"; ry: "dx.ry"; rz: "dx.rz"; sa: "dx.sa"; sb: "dx.sb"; sc: "dx.sc"; sd: "dx.sd"; se: "dx.se"; sf: "dx.sf"; sg: "dx.sg"; sh: "dx.sh"; si: "dx.si"; sj: "dx.sj"; sk: "dx.sk"; sl: "dx.sl"; sm: "dx.sm"; sn: "dx.sn"; so: "dx.so"; sp: "dx.sp"; sq: "dx.sq"; sr: "dx.sr"; ss: "dx.ss"; st: "dx.st"; su: "dx.su"; sv: "dx.sv"; sw: "dx.sw"; sx: "dx.sx"; sy: "dx.sy"; sz: "dx.sz"; ta: "dx.ta"; tb: "dx.tb"; tc: "dx.tc"; td: "dx.td"; te: "dx.te"; tf: "dx.tf"; tg: "dx.tg"; th: "dx.th"; ti: "dx.ti"; tj: "dx.tj"; tk: "dx.tk"; tl: "dx.tl"; tm: "dx.tm"; tn: "dx.tn"; to: "dx.to"; tp: "dx.tp"; tq: "dx.tq"; tr: "dx.tr"; ts: "dx.ts"; tt: "dx.tt"; tu: "dx.tu"; tv: "dx.tv"; tw: "dx.tw"; tx: "dx.tx"; ty: "dx.ty"; tz: "dx.tz"; ua: "dx.ua"; ub: "dx.ub"; uc: "dx.uc"; ud: "dx.ud"; ue: "dx.ue"; uf: "dx.uf"; ug: "dx.ug"; uh: "dx.uh"; ui: "dx.ui"; uj: "dx.uj"; uk: "dx.uk"; ul: "dx.ul"; um: "dx.um"; un: "dx.un"; uo: "dx.uo"; up: "dx.up"; uq: "dx.uq"; ur: "dx.ur"; us: "dx.us"; ut: "dx.ut"; uu: "dx.uu"; uv: "dx.uv"; uw: "dx.uw"; ux: "dx.ux"; uy: "dx.uy"; uz: "dx.uz"; va: "dx.va"; vb: "dx.vb"; vc: "dx.vc"; vd: "dx.vd"; ve: "dx.ve"; vf: "dx.vf"; vg: "dx.vg"; vh: "dx.vh"; vi: "dx.vi"; vj: "dx.vj"; vk: "dx.vk"; vl: "dx.vl"; vm: "dx.vm"; vn: "dx.vn"; vo: "dx.vo"; vp: "dx.vp"; vq: "dx.vq"; vr: "dx.vr"; vs: "dx.vs"; vt: "dx.vt"; vu: "dx.vu"; vv: "dx.vv"; vw: "dx.vw"; vx: "dx.vx"; vy: "dx.vy"; vz: "dx.vz"; wa: "dx.wa"; wb: "dx.wb"; wc: "dx.wc"; wd: "dx.wd"; we: "dx.we"; wf: "dx.wf"; wg: "dx.wg"; wh: "dx.wh"; wi: "dx.wi"; wj: "dx.wj"; wk: "dx.wk"; wl: "dx.wl"; wm: "dx.wm"; wn: "dx.wn"; wo: "dx.wo"; wp: "dx.wp"; wq: "dx.wq"; wr: "dx.wr"; ws: "dx.ws"; wt: "dx.wt"; wu: "dx.wu"; wv: "dx.wv"; ww: "dx.ww"; wx: "dx.wx"; wy: "dx.wy"; wz: "dx.wz"; xa: "dx.xa"; xb: "dx.xb"; xc: "dx.xc"; xd: "dx.xd"; xe: "dx.xe"; xf: "dx.xf"; xg: "dx.xg"; xh: "dx.xh"; xi: "dx.xi"; xj: "dx.xj"; xk: "dx.xk"; xl: "dx.xl"; xm: "dx.xm"; xn: "dx.xn"; xo: "dx.xo"; xp: "dx.xp"; xq: "dx.xq"; xr: "dx.xr"; xs: "dx.xs"; xt: "dx.xt"; xu: "dx.xu"; xv: "dx.xv"; xw: "dx.xw"; xx: "dx.xx"; xy: "dx.xy"; xz: "dx.xz"; ya: "dx.ya"; yb: "dx.yb"; yc: "dx.yc"; yd: "dx.yd"; ye: "dx.ye"; yf: "dx.yf"; yg: "dx.yg"; yh: "dx.yh"; yi: "dx.yi"; yj: "dx.yj"; yk: "dx.yk"; yl: "dx.yl"; ym: "dx.ym"; yn: "dx.yn"; yo: "dx.yo"; yp: "dx.yp"; yq: "dx.yq"; yr: "dx.yr"; ys: "dx.ys"; yt: "dx.yt"; yu: "dx.yu"; yv: "dx.yv"; yw: "dx.yw"; yx: "dx.yx"; yy: "dx.yy"; yz: "dx.yz"; za: "dx.za"; zb: "dx.zb"; zc: "dx.zc"; zd: "dx.zd"; ze: "dx.ze"; zf: "dx.zf"; zg: "dx.zg"; zh: "dx.zh"; zi: "dx.zi"; zj: "dx.zj"; zk: "dx.zk"; zl: "dx.zl"; zm: "dx.zm"; zn: "dx.zn"; zo: "dx.zo"; zp: "dx.zp"; zq: "dx.zq"; zr: "dx.zr"; zs: "dx.zs"; zt: "dx.zt"; zu: "dx.zu"; zv: "dx.zv"; zw: "dx.zw"; zx: "dx.zx"; zy: "dx.zy"; zz: "dx.zz"; }; dy: { aa: "dy.aa"; ab: "dy.ab"; ac: "dy.ac"; ad: "dy.ad"; ae: "dy.ae"; af: "dy.af"; ag: "dy.ag"; ah: "dy.ah"; ai: "dy.ai"; aj: "dy.aj"; ak: "dy.ak"; al: "dy.al"; am: "dy.am"; an: "dy.an"; ao: "dy.ao"; ap: "dy.ap"; aq: "dy.aq"; ar: "dy.ar"; as: "dy.as"; at: "dy.at"; au: "dy.au"; av: "dy.av"; aw: "dy.aw"; ax: "dy.ax"; ay: "dy.ay"; az: "dy.az"; ba: "dy.ba"; bb: "dy.bb"; bc: "dy.bc"; bd: "dy.bd"; be: "dy.be"; bf: "dy.bf"; bg: "dy.bg"; bh: "dy.bh"; bi: "dy.bi"; bj: "dy.bj"; bk: "dy.bk"; bl: "dy.bl"; bm: "dy.bm"; bn: "dy.bn"; bo: "dy.bo"; bp: "dy.bp"; bq: "dy.bq"; br: "dy.br"; bs: "dy.bs"; bt: "dy.bt"; bu: "dy.bu"; bv: "dy.bv"; bw: "dy.bw"; bx: "dy.bx"; by: "dy.by"; bz: "dy.bz"; ca: "dy.ca"; cb: "dy.cb"; cc: "dy.cc"; cd: "dy.cd"; ce: "dy.ce"; cf: "dy.cf"; cg: "dy.cg"; ch: "dy.ch"; ci: "dy.ci"; cj: "dy.cj"; ck: "dy.ck"; cl: "dy.cl"; cm: "dy.cm"; cn: "dy.cn"; co: "dy.co"; cp: "dy.cp"; cq: "dy.cq"; cr: "dy.cr"; cs: "dy.cs"; ct: "dy.ct"; cu: "dy.cu"; cv: "dy.cv"; cw: "dy.cw"; cx: "dy.cx"; cy: "dy.cy"; cz: "dy.cz"; da: "dy.da"; db: "dy.db"; dc: "dy.dc"; dd: "dy.dd"; de: "dy.de"; df: "dy.df"; dg: "dy.dg"; dh: "dy.dh"; di: "dy.di"; dj: "dy.dj"; dk: "dy.dk"; dl: "dy.dl"; dm: "dy.dm"; dn: "dy.dn"; do: "dy.do"; dp: "dy.dp"; dq: "dy.dq"; dr: "dy.dr"; ds: "dy.ds"; dt: "dy.dt"; du: "dy.du"; dv: "dy.dv"; dw: "dy.dw"; dx: "dy.dx"; dy: "dy.dy"; dz: "dy.dz"; ea: "dy.ea"; eb: "dy.eb"; ec: "dy.ec"; ed: "dy.ed"; ee: "dy.ee"; ef: "dy.ef"; eg: "dy.eg"; eh: "dy.eh"; ei: "dy.ei"; ej: "dy.ej"; ek: "dy.ek"; el: "dy.el"; em: "dy.em"; en: "dy.en"; eo: "dy.eo"; ep: "dy.ep"; eq: "dy.eq"; er: "dy.er"; es: "dy.es"; et: "dy.et"; eu: "dy.eu"; ev: "dy.ev"; ew: "dy.ew"; ex: "dy.ex"; ey: "dy.ey"; ez: "dy.ez"; fa: "dy.fa"; fb: "dy.fb"; fc: "dy.fc"; fd: "dy.fd"; fe: "dy.fe"; ff: "dy.ff"; fg: "dy.fg"; fh: "dy.fh"; fi: "dy.fi"; fj: "dy.fj"; fk: "dy.fk"; fl: "dy.fl"; fm: "dy.fm"; fn: "dy.fn"; fo: "dy.fo"; fp: "dy.fp"; fq: "dy.fq"; fr: "dy.fr"; fs: "dy.fs"; ft: "dy.ft"; fu: "dy.fu"; fv: "dy.fv"; fw: "dy.fw"; fx: "dy.fx"; fy: "dy.fy"; fz: "dy.fz"; ga: "dy.ga"; gb: "dy.gb"; gc: "dy.gc"; gd: "dy.gd"; ge: "dy.ge"; gf: "dy.gf"; gg: "dy.gg"; gh: "dy.gh"; gi: "dy.gi"; gj: "dy.gj"; gk: "dy.gk"; gl: "dy.gl"; gm: "dy.gm"; gn: "dy.gn"; go: "dy.go"; gp: "dy.gp"; gq: "dy.gq"; gr: "dy.gr"; gs: "dy.gs"; gt: "dy.gt"; gu: "dy.gu"; gv: "dy.gv"; gw: "dy.gw"; gx: "dy.gx"; gy: "dy.gy"; gz: "dy.gz"; ha: "dy.ha"; hb: "dy.hb"; hc: "dy.hc"; hd: "dy.hd"; he: "dy.he"; hf: "dy.hf"; hg: "dy.hg"; hh: "dy.hh"; hi: "dy.hi"; hj: "dy.hj"; hk: "dy.hk"; hl: "dy.hl"; hm: "dy.hm"; hn: "dy.hn"; ho: "dy.ho"; hp: "dy.hp"; hq: "dy.hq"; hr: "dy.hr"; hs: "dy.hs"; ht: "dy.ht"; hu: "dy.hu"; hv: "dy.hv"; hw: "dy.hw"; hx: "dy.hx"; hy: "dy.hy"; hz: "dy.hz"; ia: "dy.ia"; ib: "dy.ib"; ic: "dy.ic"; id: "dy.id"; ie: "dy.ie"; if: "dy.if"; ig: "dy.ig"; ih: "dy.ih"; ii: "dy.ii"; ij: "dy.ij"; ik: "dy.ik"; il: "dy.il"; im: "dy.im"; in: "dy.in"; io: "dy.io"; ip: "dy.ip"; iq: "dy.iq"; ir: "dy.ir"; is: "dy.is"; it: "dy.it"; iu: "dy.iu"; iv: "dy.iv"; iw: "dy.iw"; ix: "dy.ix"; iy: "dy.iy"; iz: "dy.iz"; ja: "dy.ja"; jb: "dy.jb"; jc: "dy.jc"; jd: "dy.jd"; je: "dy.je"; jf: "dy.jf"; jg: "dy.jg"; jh: "dy.jh"; ji: "dy.ji"; jj: "dy.jj"; jk: "dy.jk"; jl: "dy.jl"; jm: "dy.jm"; jn: "dy.jn"; jo: "dy.jo"; jp: "dy.jp"; jq: "dy.jq"; jr: "dy.jr"; js: "dy.js"; jt: "dy.jt"; ju: "dy.ju"; jv: "dy.jv"; jw: "dy.jw"; jx: "dy.jx"; jy: "dy.jy"; jz: "dy.jz"; ka: "dy.ka"; kb: "dy.kb"; kc: "dy.kc"; kd: "dy.kd"; ke: "dy.ke"; kf: "dy.kf"; kg: "dy.kg"; kh: "dy.kh"; ki: "dy.ki"; kj: "dy.kj"; kk: "dy.kk"; kl: "dy.kl"; km: "dy.km"; kn: "dy.kn"; ko: "dy.ko"; kp: "dy.kp"; kq: "dy.kq"; kr: "dy.kr"; ks: "dy.ks"; kt: "dy.kt"; ku: "dy.ku"; kv: "dy.kv"; kw: "dy.kw"; kx: "dy.kx"; ky: "dy.ky"; kz: "dy.kz"; la: "dy.la"; lb: "dy.lb"; lc: "dy.lc"; ld: "dy.ld"; le: "dy.le"; lf: "dy.lf"; lg: "dy.lg"; lh: "dy.lh"; li: "dy.li"; lj: "dy.lj"; lk: "dy.lk"; ll: "dy.ll"; lm: "dy.lm"; ln: "dy.ln"; lo: "dy.lo"; lp: "dy.lp"; lq: "dy.lq"; lr: "dy.lr"; ls: "dy.ls"; lt: "dy.lt"; lu: "dy.lu"; lv: "dy.lv"; lw: "dy.lw"; lx: "dy.lx"; ly: "dy.ly"; lz: "dy.lz"; ma: "dy.ma"; mb: "dy.mb"; mc: "dy.mc"; md: "dy.md"; me: "dy.me"; mf: "dy.mf"; mg: "dy.mg"; mh: "dy.mh"; mi: "dy.mi"; mj: "dy.mj"; mk: "dy.mk"; ml: "dy.ml"; mm: "dy.mm"; mn: "dy.mn"; mo: "dy.mo"; mp: "dy.mp"; mq: "dy.mq"; mr: "dy.mr"; ms: "dy.ms"; mt: "dy.mt"; mu: "dy.mu"; mv: "dy.mv"; mw: "dy.mw"; mx: "dy.mx"; my: "dy.my"; mz: "dy.mz"; na: "dy.na"; nb: "dy.nb"; nc: "dy.nc"; nd: "dy.nd"; ne: "dy.ne"; nf: "dy.nf"; ng: "dy.ng"; nh: "dy.nh"; ni: "dy.ni"; nj: "dy.nj"; nk: "dy.nk"; nl: "dy.nl"; nm: "dy.nm"; nn: "dy.nn"; no: "dy.no"; np: "dy.np"; nq: "dy.nq"; nr: "dy.nr"; ns: "dy.ns"; nt: "dy.nt"; nu: "dy.nu"; nv: "dy.nv"; nw: "dy.nw"; nx: "dy.nx"; ny: "dy.ny"; nz: "dy.nz"; oa: "dy.oa"; ob: "dy.ob"; oc: "dy.oc"; od: "dy.od"; oe: "dy.oe"; of: "dy.of"; og: "dy.og"; oh: "dy.oh"; oi: "dy.oi"; oj: "dy.oj"; ok: "dy.ok"; ol: "dy.ol"; om: "dy.om"; on: "dy.on"; oo: "dy.oo"; op: "dy.op"; oq: "dy.oq"; or: "dy.or"; os: "dy.os"; ot: "dy.ot"; ou: "dy.ou"; ov: "dy.ov"; ow: "dy.ow"; ox: "dy.ox"; oy: "dy.oy"; oz: "dy.oz"; pa: "dy.pa"; pb: "dy.pb"; pc: "dy.pc"; pd: "dy.pd"; pe: "dy.pe"; pf: "dy.pf"; pg: "dy.pg"; ph: "dy.ph"; pi: "dy.pi"; pj: "dy.pj"; pk: "dy.pk"; pl: "dy.pl"; pm: "dy.pm"; pn: "dy.pn"; po: "dy.po"; pp: "dy.pp"; pq: "dy.pq"; pr: "dy.pr"; ps: "dy.ps"; pt: "dy.pt"; pu: "dy.pu"; pv: "dy.pv"; pw: "dy.pw"; px: "dy.px"; py: "dy.py"; pz: "dy.pz"; qa: "dy.qa"; qb: "dy.qb"; qc: "dy.qc"; qd: "dy.qd"; qe: "dy.qe"; qf: "dy.qf"; qg: "dy.qg"; qh: "dy.qh"; qi: "dy.qi"; qj: "dy.qj"; qk: "dy.qk"; ql: "dy.ql"; qm: "dy.qm"; qn: "dy.qn"; qo: "dy.qo"; qp: "dy.qp"; qq: "dy.qq"; qr: "dy.qr"; qs: "dy.qs"; qt: "dy.qt"; qu: "dy.qu"; qv: "dy.qv"; qw: "dy.qw"; qx: "dy.qx"; qy: "dy.qy"; qz: "dy.qz"; ra: "dy.ra"; rb: "dy.rb"; rc: "dy.rc"; rd: "dy.rd"; re: "dy.re"; rf: "dy.rf"; rg: "dy.rg"; rh: "dy.rh"; ri: "dy.ri"; rj: "dy.rj"; rk: "dy.rk"; rl: "dy.rl"; rm: "dy.rm"; rn: "dy.rn"; ro: "dy.ro"; rp: "dy.rp"; rq: "dy.rq"; rr: "dy.rr"; rs: "dy.rs"; rt: "dy.rt"; ru: "dy.ru"; rv: "dy.rv"; rw: "dy.rw"; rx: "dy.rx"; ry: "dy.ry"; rz: "dy.rz"; sa: "dy.sa"; sb: "dy.sb"; sc: "dy.sc"; sd: "dy.sd"; se: "dy.se"; sf: "dy.sf"; sg: "dy.sg"; sh: "dy.sh"; si: "dy.si"; sj: "dy.sj"; sk: "dy.sk"; sl: "dy.sl"; sm: "dy.sm"; sn: "dy.sn"; so: "dy.so"; sp: "dy.sp"; sq: "dy.sq"; sr: "dy.sr"; ss: "dy.ss"; st: "dy.st"; su: "dy.su"; sv: "dy.sv"; sw: "dy.sw"; sx: "dy.sx"; sy: "dy.sy"; sz: "dy.sz"; ta: "dy.ta"; tb: "dy.tb"; tc: "dy.tc"; td: "dy.td"; te: "dy.te"; tf: "dy.tf"; tg: "dy.tg"; th: "dy.th"; ti: "dy.ti"; tj: "dy.tj"; tk: "dy.tk"; tl: "dy.tl"; tm: "dy.tm"; tn: "dy.tn"; to: "dy.to"; tp: "dy.tp"; tq: "dy.tq"; tr: "dy.tr"; ts: "dy.ts"; tt: "dy.tt"; tu: "dy.tu"; tv: "dy.tv"; tw: "dy.tw"; tx: "dy.tx"; ty: "dy.ty"; tz: "dy.tz"; ua: "dy.ua"; ub: "dy.ub"; uc: "dy.uc"; ud: "dy.ud"; ue: "dy.ue"; uf: "dy.uf"; ug: "dy.ug"; uh: "dy.uh"; ui: "dy.ui"; uj: "dy.uj"; uk: "dy.uk"; ul: "dy.ul"; um: "dy.um"; un: "dy.un"; uo: "dy.uo"; up: "dy.up"; uq: "dy.uq"; ur: "dy.ur"; us: "dy.us"; ut: "dy.ut"; uu: "dy.uu"; uv: "dy.uv"; uw: "dy.uw"; ux: "dy.ux"; uy: "dy.uy"; uz: "dy.uz"; va: "dy.va"; vb: "dy.vb"; vc: "dy.vc"; vd: "dy.vd"; ve: "dy.ve"; vf: "dy.vf"; vg: "dy.vg"; vh: "dy.vh"; vi: "dy.vi"; vj: "dy.vj"; vk: "dy.vk"; vl: "dy.vl"; vm: "dy.vm"; vn: "dy.vn"; vo: "dy.vo"; vp: "dy.vp"; vq: "dy.vq"; vr: "dy.vr"; vs: "dy.vs"; vt: "dy.vt"; vu: "dy.vu"; vv: "dy.vv"; vw: "dy.vw"; vx: "dy.vx"; vy: "dy.vy"; vz: "dy.vz"; wa: "dy.wa"; wb: "dy.wb"; wc: "dy.wc"; wd: "dy.wd"; we: "dy.we"; wf: "dy.wf"; wg: "dy.wg"; wh: "dy.wh"; wi: "dy.wi"; wj: "dy.wj"; wk: "dy.wk"; wl: "dy.wl"; wm: "dy.wm"; wn: "dy.wn"; wo: "dy.wo"; wp: "dy.wp"; wq: "dy.wq"; wr: "dy.wr"; ws: "dy.ws"; wt: "dy.wt"; wu: "dy.wu"; wv: "dy.wv"; ww: "dy.ww"; wx: "dy.wx"; wy: "dy.wy"; wz: "dy.wz"; xa: "dy.xa"; xb: "dy.xb"; xc: "dy.xc"; xd: "dy.xd"; xe: "dy.xe"; xf: "dy.xf"; xg: "dy.xg"; xh: "dy.xh"; xi: "dy.xi"; xj: "dy.xj"; xk: "dy.xk"; xl: "dy.xl"; xm: "dy.xm"; xn: "dy.xn"; xo: "dy.xo"; xp: "dy.xp"; xq: "dy.xq"; xr: "dy.xr"; xs: "dy.xs"; xt: "dy.xt"; xu: "dy.xu"; xv: "dy.xv"; xw: "dy.xw"; xx: "dy.xx"; xy: "dy.xy"; xz: "dy.xz"; ya: "dy.ya"; yb: "dy.yb"; yc: "dy.yc"; yd: "dy.yd"; ye: "dy.ye"; yf: "dy.yf"; yg: "dy.yg"; yh: "dy.yh"; yi: "dy.yi"; yj: "dy.yj"; yk: "dy.yk"; yl: "dy.yl"; ym: "dy.ym"; yn: "dy.yn"; yo: "dy.yo"; yp: "dy.yp"; yq: "dy.yq"; yr: "dy.yr"; ys: "dy.ys"; yt: "dy.yt"; yu: "dy.yu"; yv: "dy.yv"; yw: "dy.yw"; yx: "dy.yx"; yy: "dy.yy"; yz: "dy.yz"; za: "dy.za"; zb: "dy.zb"; zc: "dy.zc"; zd: "dy.zd"; ze: "dy.ze"; zf: "dy.zf"; zg: "dy.zg"; zh: "dy.zh"; zi: "dy.zi"; zj: "dy.zj"; zk: "dy.zk"; zl: "dy.zl"; zm: "dy.zm"; zn: "dy.zn"; zo: "dy.zo"; zp: "dy.zp"; zq: "dy.zq"; zr: "dy.zr"; zs: "dy.zs"; zt: "dy.zt"; zu: "dy.zu"; zv: "dy.zv"; zw: "dy.zw"; zx: "dy.zx"; zy: "dy.zy"; zz: "dy.zz"; }; dz: { aa: "dz.aa"; ab: "dz.ab"; ac: "dz.ac"; ad: "dz.ad"; ae: "dz.ae"; af: "dz.af"; ag: "dz.ag"; ah: "dz.ah"; ai: "dz.ai"; aj: "dz.aj"; ak: "dz.ak"; al: "dz.al"; am: "dz.am"; an: "dz.an"; ao: "dz.ao"; ap: "dz.ap"; aq: "dz.aq"; ar: "dz.ar"; as: "dz.as"; at: "dz.at"; au: "dz.au"; av: "dz.av"; aw: "dz.aw"; ax: "dz.ax"; ay: "dz.ay"; az: "dz.az"; ba: "dz.ba"; bb: "dz.bb"; bc: "dz.bc"; bd: "dz.bd"; be: "dz.be"; bf: "dz.bf"; bg: "dz.bg"; bh: "dz.bh"; bi: "dz.bi"; bj: "dz.bj"; bk: "dz.bk"; bl: "dz.bl"; bm: "dz.bm"; bn: "dz.bn"; bo: "dz.bo"; bp: "dz.bp"; bq: "dz.bq"; br: "dz.br"; bs: "dz.bs"; bt: "dz.bt"; bu: "dz.bu"; bv: "dz.bv"; bw: "dz.bw"; bx: "dz.bx"; by: "dz.by"; bz: "dz.bz"; ca: "dz.ca"; cb: "dz.cb"; cc: "dz.cc"; cd: "dz.cd"; ce: "dz.ce"; cf: "dz.cf"; cg: "dz.cg"; ch: "dz.ch"; ci: "dz.ci"; cj: "dz.cj"; ck: "dz.ck"; cl: "dz.cl"; cm: "dz.cm"; cn: "dz.cn"; co: "dz.co"; cp: "dz.cp"; cq: "dz.cq"; cr: "dz.cr"; cs: "dz.cs"; ct: "dz.ct"; cu: "dz.cu"; cv: "dz.cv"; cw: "dz.cw"; cx: "dz.cx"; cy: "dz.cy"; cz: "dz.cz"; da: "dz.da"; db: "dz.db"; dc: "dz.dc"; dd: "dz.dd"; de: "dz.de"; df: "dz.df"; dg: "dz.dg"; dh: "dz.dh"; di: "dz.di"; dj: "dz.dj"; dk: "dz.dk"; dl: "dz.dl"; dm: "dz.dm"; dn: "dz.dn"; do: "dz.do"; dp: "dz.dp"; dq: "dz.dq"; dr: "dz.dr"; ds: "dz.ds"; dt: "dz.dt"; du: "dz.du"; dv: "dz.dv"; dw: "dz.dw"; dx: "dz.dx"; dy: "dz.dy"; dz: "dz.dz"; ea: "dz.ea"; eb: "dz.eb"; ec: "dz.ec"; ed: "dz.ed"; ee: "dz.ee"; ef: "dz.ef"; eg: "dz.eg"; eh: "dz.eh"; ei: "dz.ei"; ej: "dz.ej"; ek: "dz.ek"; el: "dz.el"; em: "dz.em"; en: "dz.en"; eo: "dz.eo"; ep: "dz.ep"; eq: "dz.eq"; er: "dz.er"; es: "dz.es"; et: "dz.et"; eu: "dz.eu"; ev: "dz.ev"; ew: "dz.ew"; ex: "dz.ex"; ey: "dz.ey"; ez: "dz.ez"; fa: "dz.fa"; fb: "dz.fb"; fc: "dz.fc"; fd: "dz.fd"; fe: "dz.fe"; ff: "dz.ff"; fg: "dz.fg"; fh: "dz.fh"; fi: "dz.fi"; fj: "dz.fj"; fk: "dz.fk"; fl: "dz.fl"; fm: "dz.fm"; fn: "dz.fn"; fo: "dz.fo"; fp: "dz.fp"; fq: "dz.fq"; fr: "dz.fr"; fs: "dz.fs"; ft: "dz.ft"; fu: "dz.fu"; fv: "dz.fv"; fw: "dz.fw"; fx: "dz.fx"; fy: "dz.fy"; fz: "dz.fz"; ga: "dz.ga"; gb: "dz.gb"; gc: "dz.gc"; gd: "dz.gd"; ge: "dz.ge"; gf: "dz.gf"; gg: "dz.gg"; gh: "dz.gh"; gi: "dz.gi"; gj: "dz.gj"; gk: "dz.gk"; gl: "dz.gl"; gm: "dz.gm"; gn: "dz.gn"; go: "dz.go"; gp: "dz.gp"; gq: "dz.gq"; gr: "dz.gr"; gs: "dz.gs"; gt: "dz.gt"; gu: "dz.gu"; gv: "dz.gv"; gw: "dz.gw"; gx: "dz.gx"; gy: "dz.gy"; gz: "dz.gz"; ha: "dz.ha"; hb: "dz.hb"; hc: "dz.hc"; hd: "dz.hd"; he: "dz.he"; hf: "dz.hf"; hg: "dz.hg"; hh: "dz.hh"; hi: "dz.hi"; hj: "dz.hj"; hk: "dz.hk"; hl: "dz.hl"; hm: "dz.hm"; hn: "dz.hn"; ho: "dz.ho"; hp: "dz.hp"; hq: "dz.hq"; hr: "dz.hr"; hs: "dz.hs"; ht: "dz.ht"; hu: "dz.hu"; hv: "dz.hv"; hw: "dz.hw"; hx: "dz.hx"; hy: "dz.hy"; hz: "dz.hz"; ia: "dz.ia"; ib: "dz.ib"; ic: "dz.ic"; id: "dz.id"; ie: "dz.ie"; if: "dz.if"; ig: "dz.ig"; ih: "dz.ih"; ii: "dz.ii"; ij: "dz.ij"; ik: "dz.ik"; il: "dz.il"; im: "dz.im"; in: "dz.in"; io: "dz.io"; ip: "dz.ip"; iq: "dz.iq"; ir: "dz.ir"; is: "dz.is"; it: "dz.it"; iu: "dz.iu"; iv: "dz.iv"; iw: "dz.iw"; ix: "dz.ix"; iy: "dz.iy"; iz: "dz.iz"; ja: "dz.ja"; jb: "dz.jb"; jc: "dz.jc"; jd: "dz.jd"; je: "dz.je"; jf: "dz.jf"; jg: "dz.jg"; jh: "dz.jh"; ji: "dz.ji"; jj: "dz.jj"; jk: "dz.jk"; jl: "dz.jl"; jm: "dz.jm"; jn: "dz.jn"; jo: "dz.jo"; jp: "dz.jp"; jq: "dz.jq"; jr: "dz.jr"; js: "dz.js"; jt: "dz.jt"; ju: "dz.ju"; jv: "dz.jv"; jw: "dz.jw"; jx: "dz.jx"; jy: "dz.jy"; jz: "dz.jz"; ka: "dz.ka"; kb: "dz.kb"; kc: "dz.kc"; kd: "dz.kd"; ke: "dz.ke"; kf: "dz.kf"; kg: "dz.kg"; kh: "dz.kh"; ki: "dz.ki"; kj: "dz.kj"; kk: "dz.kk"; kl: "dz.kl"; km: "dz.km"; kn: "dz.kn"; ko: "dz.ko"; kp: "dz.kp"; kq: "dz.kq"; kr: "dz.kr"; ks: "dz.ks"; kt: "dz.kt"; ku: "dz.ku"; kv: "dz.kv"; kw: "dz.kw"; kx: "dz.kx"; ky: "dz.ky"; kz: "dz.kz"; la: "dz.la"; lb: "dz.lb"; lc: "dz.lc"; ld: "dz.ld"; le: "dz.le"; lf: "dz.lf"; lg: "dz.lg"; lh: "dz.lh"; li: "dz.li"; lj: "dz.lj"; lk: "dz.lk"; ll: "dz.ll"; lm: "dz.lm"; ln: "dz.ln"; lo: "dz.lo"; lp: "dz.lp"; lq: "dz.lq"; lr: "dz.lr"; ls: "dz.ls"; lt: "dz.lt"; lu: "dz.lu"; lv: "dz.lv"; lw: "dz.lw"; lx: "dz.lx"; ly: "dz.ly"; lz: "dz.lz"; ma: "dz.ma"; mb: "dz.mb"; mc: "dz.mc"; md: "dz.md"; me: "dz.me"; mf: "dz.mf"; mg: "dz.mg"; mh: "dz.mh"; mi: "dz.mi"; mj: "dz.mj"; mk: "dz.mk"; ml: "dz.ml"; mm: "dz.mm"; mn: "dz.mn"; mo: "dz.mo"; mp: "dz.mp"; mq: "dz.mq"; mr: "dz.mr"; ms: "dz.ms"; mt: "dz.mt"; mu: "dz.mu"; mv: "dz.mv"; mw: "dz.mw"; mx: "dz.mx"; my: "dz.my"; mz: "dz.mz"; na: "dz.na"; nb: "dz.nb"; nc: "dz.nc"; nd: "dz.nd"; ne: "dz.ne"; nf: "dz.nf"; ng: "dz.ng"; nh: "dz.nh"; ni: "dz.ni"; nj: "dz.nj"; nk: "dz.nk"; nl: "dz.nl"; nm: "dz.nm"; nn: "dz.nn"; no: "dz.no"; np: "dz.np"; nq: "dz.nq"; nr: "dz.nr"; ns: "dz.ns"; nt: "dz.nt"; nu: "dz.nu"; nv: "dz.nv"; nw: "dz.nw"; nx: "dz.nx"; ny: "dz.ny"; nz: "dz.nz"; oa: "dz.oa"; ob: "dz.ob"; oc: "dz.oc"; od: "dz.od"; oe: "dz.oe"; of: "dz.of"; og: "dz.og"; oh: "dz.oh"; oi: "dz.oi"; oj: "dz.oj"; ok: "dz.ok"; ol: "dz.ol"; om: "dz.om"; on: "dz.on"; oo: "dz.oo"; op: "dz.op"; oq: "dz.oq"; or: "dz.or"; os: "dz.os"; ot: "dz.ot"; ou: "dz.ou"; ov: "dz.ov"; ow: "dz.ow"; ox: "dz.ox"; oy: "dz.oy"; oz: "dz.oz"; pa: "dz.pa"; pb: "dz.pb"; pc: "dz.pc"; pd: "dz.pd"; pe: "dz.pe"; pf: "dz.pf"; pg: "dz.pg"; ph: "dz.ph"; pi: "dz.pi"; pj: "dz.pj"; pk: "dz.pk"; pl: "dz.pl"; pm: "dz.pm"; pn: "dz.pn"; po: "dz.po"; pp: "dz.pp"; pq: "dz.pq"; pr: "dz.pr"; ps: "dz.ps"; pt: "dz.pt"; pu: "dz.pu"; pv: "dz.pv"; pw: "dz.pw"; px: "dz.px"; py: "dz.py"; pz: "dz.pz"; qa: "dz.qa"; qb: "dz.qb"; qc: "dz.qc"; qd: "dz.qd"; qe: "dz.qe"; qf: "dz.qf"; qg: "dz.qg"; qh: "dz.qh"; qi: "dz.qi"; qj: "dz.qj"; qk: "dz.qk"; ql: "dz.ql"; qm: "dz.qm"; qn: "dz.qn"; qo: "dz.qo"; qp: "dz.qp"; qq: "dz.qq"; qr: "dz.qr"; qs: "dz.qs"; qt: "dz.qt"; qu: "dz.qu"; qv: "dz.qv"; qw: "dz.qw"; qx: "dz.qx"; qy: "dz.qy"; qz: "dz.qz"; ra: "dz.ra"; rb: "dz.rb"; rc: "dz.rc"; rd: "dz.rd"; re: "dz.re"; rf: "dz.rf"; rg: "dz.rg"; rh: "dz.rh"; ri: "dz.ri"; rj: "dz.rj"; rk: "dz.rk"; rl: "dz.rl"; rm: "dz.rm"; rn: "dz.rn"; ro: "dz.ro"; rp: "dz.rp"; rq: "dz.rq"; rr: "dz.rr"; rs: "dz.rs"; rt: "dz.rt"; ru: "dz.ru"; rv: "dz.rv"; rw: "dz.rw"; rx: "dz.rx"; ry: "dz.ry"; rz: "dz.rz"; sa: "dz.sa"; sb: "dz.sb"; sc: "dz.sc"; sd: "dz.sd"; se: "dz.se"; sf: "dz.sf"; sg: "dz.sg"; sh: "dz.sh"; si: "dz.si"; sj: "dz.sj"; sk: "dz.sk"; sl: "dz.sl"; sm: "dz.sm"; sn: "dz.sn"; so: "dz.so"; sp: "dz.sp"; sq: "dz.sq"; sr: "dz.sr"; ss: "dz.ss"; st: "dz.st"; su: "dz.su"; sv: "dz.sv"; sw: "dz.sw"; sx: "dz.sx"; sy: "dz.sy"; sz: "dz.sz"; ta: "dz.ta"; tb: "dz.tb"; tc: "dz.tc"; td: "dz.td"; te: "dz.te"; tf: "dz.tf"; tg: "dz.tg"; th: "dz.th"; ti: "dz.ti"; tj: "dz.tj"; tk: "dz.tk"; tl: "dz.tl"; tm: "dz.tm"; tn: "dz.tn"; to: "dz.to"; tp: "dz.tp"; tq: "dz.tq"; tr: "dz.tr"; ts: "dz.ts"; tt: "dz.tt"; tu: "dz.tu"; tv: "dz.tv"; tw: "dz.tw"; tx: "dz.tx"; ty: "dz.ty"; tz: "dz.tz"; ua: "dz.ua"; ub: "dz.ub"; uc: "dz.uc"; ud: "dz.ud"; ue: "dz.ue"; uf: "dz.uf"; ug: "dz.ug"; uh: "dz.uh"; ui: "dz.ui"; uj: "dz.uj"; uk: "dz.uk"; ul: "dz.ul"; um: "dz.um"; un: "dz.un"; uo: "dz.uo"; up: "dz.up"; uq: "dz.uq"; ur: "dz.ur"; us: "dz.us"; ut: "dz.ut"; uu: "dz.uu"; uv: "dz.uv"; uw: "dz.uw"; ux: "dz.ux"; uy: "dz.uy"; uz: "dz.uz"; va: "dz.va"; vb: "dz.vb"; vc: "dz.vc"; vd: "dz.vd"; ve: "dz.ve"; vf: "dz.vf"; vg: "dz.vg"; vh: "dz.vh"; vi: "dz.vi"; vj: "dz.vj"; vk: "dz.vk"; vl: "dz.vl"; vm: "dz.vm"; vn: "dz.vn"; vo: "dz.vo"; vp: "dz.vp"; vq: "dz.vq"; vr: "dz.vr"; vs: "dz.vs"; vt: "dz.vt"; vu: "dz.vu"; vv: "dz.vv"; vw: "dz.vw"; vx: "dz.vx"; vy: "dz.vy"; vz: "dz.vz"; wa: "dz.wa"; wb: "dz.wb"; wc: "dz.wc"; wd: "dz.wd"; we: "dz.we"; wf: "dz.wf"; wg: "dz.wg"; wh: "dz.wh"; wi: "dz.wi"; wj: "dz.wj"; wk: "dz.wk"; wl: "dz.wl"; wm: "dz.wm"; wn: "dz.wn"; wo: "dz.wo"; wp: "dz.wp"; wq: "dz.wq"; wr: "dz.wr"; ws: "dz.ws"; wt: "dz.wt"; wu: "dz.wu"; wv: "dz.wv"; ww: "dz.ww"; wx: "dz.wx"; wy: "dz.wy"; wz: "dz.wz"; xa: "dz.xa"; xb: "dz.xb"; xc: "dz.xc"; xd: "dz.xd"; xe: "dz.xe"; xf: "dz.xf"; xg: "dz.xg"; xh: "dz.xh"; xi: "dz.xi"; xj: "dz.xj"; xk: "dz.xk"; xl: "dz.xl"; xm: "dz.xm"; xn: "dz.xn"; xo: "dz.xo"; xp: "dz.xp"; xq: "dz.xq"; xr: "dz.xr"; xs: "dz.xs"; xt: "dz.xt"; xu: "dz.xu"; xv: "dz.xv"; xw: "dz.xw"; xx: "dz.xx"; xy: "dz.xy"; xz: "dz.xz"; ya: "dz.ya"; yb: "dz.yb"; yc: "dz.yc"; yd: "dz.yd"; ye: "dz.ye"; yf: "dz.yf"; yg: "dz.yg"; yh: "dz.yh"; yi: "dz.yi"; yj: "dz.yj"; yk: "dz.yk"; yl: "dz.yl"; ym: "dz.ym"; yn: "dz.yn"; yo: "dz.yo"; yp: "dz.yp"; yq: "dz.yq"; yr: "dz.yr"; ys: "dz.ys"; yt: "dz.yt"; yu: "dz.yu"; yv: "dz.yv"; yw: "dz.yw"; yx: "dz.yx"; yy: "dz.yy"; yz: "dz.yz"; za: "dz.za"; zb: "dz.zb"; zc: "dz.zc"; zd: "dz.zd"; ze: "dz.ze"; zf: "dz.zf"; zg: "dz.zg"; zh: "dz.zh"; zi: "dz.zi"; zj: "dz.zj"; zk: "dz.zk"; zl: "dz.zl"; zm: "dz.zm"; zn: "dz.zn"; zo: "dz.zo"; zp: "dz.zp"; zq: "dz.zq"; zr: "dz.zr"; zs: "dz.zs"; zt: "dz.zt"; zu: "dz.zu"; zv: "dz.zv"; zw: "dz.zw"; zx: "dz.zx"; zy: "dz.zy"; zz: "dz.zz"; }; ea: { aa: "ea.aa"; ab: "ea.ab"; ac: "ea.ac"; ad: "ea.ad"; ae: "ea.ae"; af: "ea.af"; ag: "ea.ag"; ah: "ea.ah"; ai: "ea.ai"; aj: "ea.aj"; ak: "ea.ak"; al: "ea.al"; am: "ea.am"; an: "ea.an"; ao: "ea.ao"; ap: "ea.ap"; aq: "ea.aq"; ar: "ea.ar"; as: "ea.as"; at: "ea.at"; au: "ea.au"; av: "ea.av"; aw: "ea.aw"; ax: "ea.ax"; ay: "ea.ay"; az: "ea.az"; ba: "ea.ba"; bb: "ea.bb"; bc: "ea.bc"; bd: "ea.bd"; be: "ea.be"; bf: "ea.bf"; bg: "ea.bg"; bh: "ea.bh"; bi: "ea.bi"; bj: "ea.bj"; bk: "ea.bk"; bl: "ea.bl"; bm: "ea.bm"; bn: "ea.bn"; bo: "ea.bo"; bp: "ea.bp"; bq: "ea.bq"; br: "ea.br"; bs: "ea.bs"; bt: "ea.bt"; bu: "ea.bu"; bv: "ea.bv"; bw: "ea.bw"; bx: "ea.bx"; by: "ea.by"; bz: "ea.bz"; ca: "ea.ca"; cb: "ea.cb"; cc: "ea.cc"; cd: "ea.cd"; ce: "ea.ce"; cf: "ea.cf"; cg: "ea.cg"; ch: "ea.ch"; ci: "ea.ci"; cj: "ea.cj"; ck: "ea.ck"; cl: "ea.cl"; cm: "ea.cm"; cn: "ea.cn"; co: "ea.co"; cp: "ea.cp"; cq: "ea.cq"; cr: "ea.cr"; cs: "ea.cs"; ct: "ea.ct"; cu: "ea.cu"; cv: "ea.cv"; cw: "ea.cw"; cx: "ea.cx"; cy: "ea.cy"; cz: "ea.cz"; da: "ea.da"; db: "ea.db"; dc: "ea.dc"; dd: "ea.dd"; de: "ea.de"; df: "ea.df"; dg: "ea.dg"; dh: "ea.dh"; di: "ea.di"; dj: "ea.dj"; dk: "ea.dk"; dl: "ea.dl"; dm: "ea.dm"; dn: "ea.dn"; do: "ea.do"; dp: "ea.dp"; dq: "ea.dq"; dr: "ea.dr"; ds: "ea.ds"; dt: "ea.dt"; du: "ea.du"; dv: "ea.dv"; dw: "ea.dw"; dx: "ea.dx"; dy: "ea.dy"; dz: "ea.dz"; ea: "ea.ea"; eb: "ea.eb"; ec: "ea.ec"; ed: "ea.ed"; ee: "ea.ee"; ef: "ea.ef"; eg: "ea.eg"; eh: "ea.eh"; ei: "ea.ei"; ej: "ea.ej"; ek: "ea.ek"; el: "ea.el"; em: "ea.em"; en: "ea.en"; eo: "ea.eo"; ep: "ea.ep"; eq: "ea.eq"; er: "ea.er"; es: "ea.es"; et: "ea.et"; eu: "ea.eu"; ev: "ea.ev"; ew: "ea.ew"; ex: "ea.ex"; ey: "ea.ey"; ez: "ea.ez"; fa: "ea.fa"; fb: "ea.fb"; fc: "ea.fc"; fd: "ea.fd"; fe: "ea.fe"; ff: "ea.ff"; fg: "ea.fg"; fh: "ea.fh"; fi: "ea.fi"; fj: "ea.fj"; fk: "ea.fk"; fl: "ea.fl"; fm: "ea.fm"; fn: "ea.fn"; fo: "ea.fo"; fp: "ea.fp"; fq: "ea.fq"; fr: "ea.fr"; fs: "ea.fs"; ft: "ea.ft"; fu: "ea.fu"; fv: "ea.fv"; fw: "ea.fw"; fx: "ea.fx"; fy: "ea.fy"; fz: "ea.fz"; ga: "ea.ga"; gb: "ea.gb"; gc: "ea.gc"; gd: "ea.gd"; ge: "ea.ge"; gf: "ea.gf"; gg: "ea.gg"; gh: "ea.gh"; gi: "ea.gi"; gj: "ea.gj"; gk: "ea.gk"; gl: "ea.gl"; gm: "ea.gm"; gn: "ea.gn"; go: "ea.go"; gp: "ea.gp"; gq: "ea.gq"; gr: "ea.gr"; gs: "ea.gs"; gt: "ea.gt"; gu: "ea.gu"; gv: "ea.gv"; gw: "ea.gw"; gx: "ea.gx"; gy: "ea.gy"; gz: "ea.gz"; ha: "ea.ha"; hb: "ea.hb"; hc: "ea.hc"; hd: "ea.hd"; he: "ea.he"; hf: "ea.hf"; hg: "ea.hg"; hh: "ea.hh"; hi: "ea.hi"; hj: "ea.hj"; hk: "ea.hk"; hl: "ea.hl"; hm: "ea.hm"; hn: "ea.hn"; ho: "ea.ho"; hp: "ea.hp"; hq: "ea.hq"; hr: "ea.hr"; hs: "ea.hs"; ht: "ea.ht"; hu: "ea.hu"; hv: "ea.hv"; hw: "ea.hw"; hx: "ea.hx"; hy: "ea.hy"; hz: "ea.hz"; ia: "ea.ia"; ib: "ea.ib"; ic: "ea.ic"; id: "ea.id"; ie: "ea.ie"; if: "ea.if"; ig: "ea.ig"; ih: "ea.ih"; ii: "ea.ii"; ij: "ea.ij"; ik: "ea.ik"; il: "ea.il"; im: "ea.im"; in: "ea.in"; io: "ea.io"; ip: "ea.ip"; iq: "ea.iq"; ir: "ea.ir"; is: "ea.is"; it: "ea.it"; iu: "ea.iu"; iv: "ea.iv"; iw: "ea.iw"; ix: "ea.ix"; iy: "ea.iy"; iz: "ea.iz"; ja: "ea.ja"; jb: "ea.jb"; jc: "ea.jc"; jd: "ea.jd"; je: "ea.je"; jf: "ea.jf"; jg: "ea.jg"; jh: "ea.jh"; ji: "ea.ji"; jj: "ea.jj"; jk: "ea.jk"; jl: "ea.jl"; jm: "ea.jm"; jn: "ea.jn"; jo: "ea.jo"; jp: "ea.jp"; jq: "ea.jq"; jr: "ea.jr"; js: "ea.js"; jt: "ea.jt"; ju: "ea.ju"; jv: "ea.jv"; jw: "ea.jw"; jx: "ea.jx"; jy: "ea.jy"; jz: "ea.jz"; ka: "ea.ka"; kb: "ea.kb"; kc: "ea.kc"; kd: "ea.kd"; ke: "ea.ke"; kf: "ea.kf"; kg: "ea.kg"; kh: "ea.kh"; ki: "ea.ki"; kj: "ea.kj"; kk: "ea.kk"; kl: "ea.kl"; km: "ea.km"; kn: "ea.kn"; ko: "ea.ko"; kp: "ea.kp"; kq: "ea.kq"; kr: "ea.kr"; ks: "ea.ks"; kt: "ea.kt"; ku: "ea.ku"; kv: "ea.kv"; kw: "ea.kw"; kx: "ea.kx"; ky: "ea.ky"; kz: "ea.kz"; la: "ea.la"; lb: "ea.lb"; lc: "ea.lc"; ld: "ea.ld"; le: "ea.le"; lf: "ea.lf"; lg: "ea.lg"; lh: "ea.lh"; li: "ea.li"; lj: "ea.lj"; lk: "ea.lk"; ll: "ea.ll"; lm: "ea.lm"; ln: "ea.ln"; lo: "ea.lo"; lp: "ea.lp"; lq: "ea.lq"; lr: "ea.lr"; ls: "ea.ls"; lt: "ea.lt"; lu: "ea.lu"; lv: "ea.lv"; lw: "ea.lw"; lx: "ea.lx"; ly: "ea.ly"; lz: "ea.lz"; ma: "ea.ma"; mb: "ea.mb"; mc: "ea.mc"; md: "ea.md"; me: "ea.me"; mf: "ea.mf"; mg: "ea.mg"; mh: "ea.mh"; mi: "ea.mi"; mj: "ea.mj"; mk: "ea.mk"; ml: "ea.ml"; mm: "ea.mm"; mn: "ea.mn"; mo: "ea.mo"; mp: "ea.mp"; mq: "ea.mq"; mr: "ea.mr"; ms: "ea.ms"; mt: "ea.mt"; mu: "ea.mu"; mv: "ea.mv"; mw: "ea.mw"; mx: "ea.mx"; my: "ea.my"; mz: "ea.mz"; na: "ea.na"; nb: "ea.nb"; nc: "ea.nc"; nd: "ea.nd"; ne: "ea.ne"; nf: "ea.nf"; ng: "ea.ng"; nh: "ea.nh"; ni: "ea.ni"; nj: "ea.nj"; nk: "ea.nk"; nl: "ea.nl"; nm: "ea.nm"; nn: "ea.nn"; no: "ea.no"; np: "ea.np"; nq: "ea.nq"; nr: "ea.nr"; ns: "ea.ns"; nt: "ea.nt"; nu: "ea.nu"; nv: "ea.nv"; nw: "ea.nw"; nx: "ea.nx"; ny: "ea.ny"; nz: "ea.nz"; oa: "ea.oa"; ob: "ea.ob"; oc: "ea.oc"; od: "ea.od"; oe: "ea.oe"; of: "ea.of"; og: "ea.og"; oh: "ea.oh"; oi: "ea.oi"; oj: "ea.oj"; ok: "ea.ok"; ol: "ea.ol"; om: "ea.om"; on: "ea.on"; oo: "ea.oo"; op: "ea.op"; oq: "ea.oq"; or: "ea.or"; os: "ea.os"; ot: "ea.ot"; ou: "ea.ou"; ov: "ea.ov"; ow: "ea.ow"; ox: "ea.ox"; oy: "ea.oy"; oz: "ea.oz"; pa: "ea.pa"; pb: "ea.pb"; pc: "ea.pc"; pd: "ea.pd"; pe: "ea.pe"; pf: "ea.pf"; pg: "ea.pg"; ph: "ea.ph"; pi: "ea.pi"; pj: "ea.pj"; pk: "ea.pk"; pl: "ea.pl"; pm: "ea.pm"; pn: "ea.pn"; po: "ea.po"; pp: "ea.pp"; pq: "ea.pq"; pr: "ea.pr"; ps: "ea.ps"; pt: "ea.pt"; pu: "ea.pu"; pv: "ea.pv"; pw: "ea.pw"; px: "ea.px"; py: "ea.py"; pz: "ea.pz"; qa: "ea.qa"; qb: "ea.qb"; qc: "ea.qc"; qd: "ea.qd"; qe: "ea.qe"; qf: "ea.qf"; qg: "ea.qg"; qh: "ea.qh"; qi: "ea.qi"; qj: "ea.qj"; qk: "ea.qk"; ql: "ea.ql"; qm: "ea.qm"; qn: "ea.qn"; qo: "ea.qo"; qp: "ea.qp"; qq: "ea.qq"; qr: "ea.qr"; qs: "ea.qs"; qt: "ea.qt"; qu: "ea.qu"; qv: "ea.qv"; qw: "ea.qw"; qx: "ea.qx"; qy: "ea.qy"; qz: "ea.qz"; ra: "ea.ra"; rb: "ea.rb"; rc: "ea.rc"; rd: "ea.rd"; re: "ea.re"; rf: "ea.rf"; rg: "ea.rg"; rh: "ea.rh"; ri: "ea.ri"; rj: "ea.rj"; rk: "ea.rk"; rl: "ea.rl"; rm: "ea.rm"; rn: "ea.rn"; ro: "ea.ro"; rp: "ea.rp"; rq: "ea.rq"; rr: "ea.rr"; rs: "ea.rs"; rt: "ea.rt"; ru: "ea.ru"; rv: "ea.rv"; rw: "ea.rw"; rx: "ea.rx"; ry: "ea.ry"; rz: "ea.rz"; sa: "ea.sa"; sb: "ea.sb"; sc: "ea.sc"; sd: "ea.sd"; se: "ea.se"; sf: "ea.sf"; sg: "ea.sg"; sh: "ea.sh"; si: "ea.si"; sj: "ea.sj"; sk: "ea.sk"; sl: "ea.sl"; sm: "ea.sm"; sn: "ea.sn"; so: "ea.so"; sp: "ea.sp"; sq: "ea.sq"; sr: "ea.sr"; ss: "ea.ss"; st: "ea.st"; su: "ea.su"; sv: "ea.sv"; sw: "ea.sw"; sx: "ea.sx"; sy: "ea.sy"; sz: "ea.sz"; ta: "ea.ta"; tb: "ea.tb"; tc: "ea.tc"; td: "ea.td"; te: "ea.te"; tf: "ea.tf"; tg: "ea.tg"; th: "ea.th"; ti: "ea.ti"; tj: "ea.tj"; tk: "ea.tk"; tl: "ea.tl"; tm: "ea.tm"; tn: "ea.tn"; to: "ea.to"; tp: "ea.tp"; tq: "ea.tq"; tr: "ea.tr"; ts: "ea.ts"; tt: "ea.tt"; tu: "ea.tu"; tv: "ea.tv"; tw: "ea.tw"; tx: "ea.tx"; ty: "ea.ty"; tz: "ea.tz"; ua: "ea.ua"; ub: "ea.ub"; uc: "ea.uc"; ud: "ea.ud"; ue: "ea.ue"; uf: "ea.uf"; ug: "ea.ug"; uh: "ea.uh"; ui: "ea.ui"; uj: "ea.uj"; uk: "ea.uk"; ul: "ea.ul"; um: "ea.um"; un: "ea.un"; uo: "ea.uo"; up: "ea.up"; uq: "ea.uq"; ur: "ea.ur"; us: "ea.us"; ut: "ea.ut"; uu: "ea.uu"; uv: "ea.uv"; uw: "ea.uw"; ux: "ea.ux"; uy: "ea.uy"; uz: "ea.uz"; va: "ea.va"; vb: "ea.vb"; vc: "ea.vc"; vd: "ea.vd"; ve: "ea.ve"; vf: "ea.vf"; vg: "ea.vg"; vh: "ea.vh"; vi: "ea.vi"; vj: "ea.vj"; vk: "ea.vk"; vl: "ea.vl"; vm: "ea.vm"; vn: "ea.vn"; vo: "ea.vo"; vp: "ea.vp"; vq: "ea.vq"; vr: "ea.vr"; vs: "ea.vs"; vt: "ea.vt"; vu: "ea.vu"; vv: "ea.vv"; vw: "ea.vw"; vx: "ea.vx"; vy: "ea.vy"; vz: "ea.vz"; wa: "ea.wa"; wb: "ea.wb"; wc: "ea.wc"; wd: "ea.wd"; we: "ea.we"; wf: "ea.wf"; wg: "ea.wg"; wh: "ea.wh"; wi: "ea.wi"; wj: "ea.wj"; wk: "ea.wk"; wl: "ea.wl"; wm: "ea.wm"; wn: "ea.wn"; wo: "ea.wo"; wp: "ea.wp"; wq: "ea.wq"; wr: "ea.wr"; ws: "ea.ws"; wt: "ea.wt"; wu: "ea.wu"; wv: "ea.wv"; ww: "ea.ww"; wx: "ea.wx"; wy: "ea.wy"; wz: "ea.wz"; xa: "ea.xa"; xb: "ea.xb"; xc: "ea.xc"; xd: "ea.xd"; xe: "ea.xe"; xf: "ea.xf"; xg: "ea.xg"; xh: "ea.xh"; xi: "ea.xi"; xj: "ea.xj"; xk: "ea.xk"; xl: "ea.xl"; xm: "ea.xm"; xn: "ea.xn"; xo: "ea.xo"; xp: "ea.xp"; xq: "ea.xq"; xr: "ea.xr"; xs: "ea.xs"; xt: "ea.xt"; xu: "ea.xu"; xv: "ea.xv"; xw: "ea.xw"; xx: "ea.xx"; xy: "ea.xy"; xz: "ea.xz"; ya: "ea.ya"; yb: "ea.yb"; yc: "ea.yc"; yd: "ea.yd"; ye: "ea.ye"; yf: "ea.yf"; yg: "ea.yg"; yh: "ea.yh"; yi: "ea.yi"; yj: "ea.yj"; yk: "ea.yk"; yl: "ea.yl"; ym: "ea.ym"; yn: "ea.yn"; yo: "ea.yo"; yp: "ea.yp"; yq: "ea.yq"; yr: "ea.yr"; ys: "ea.ys"; yt: "ea.yt"; yu: "ea.yu"; yv: "ea.yv"; yw: "ea.yw"; yx: "ea.yx"; yy: "ea.yy"; yz: "ea.yz"; za: "ea.za"; zb: "ea.zb"; zc: "ea.zc"; zd: "ea.zd"; ze: "ea.ze"; zf: "ea.zf"; zg: "ea.zg"; zh: "ea.zh"; zi: "ea.zi"; zj: "ea.zj"; zk: "ea.zk"; zl: "ea.zl"; zm: "ea.zm"; zn: "ea.zn"; zo: "ea.zo"; zp: "ea.zp"; zq: "ea.zq"; zr: "ea.zr"; zs: "ea.zs"; zt: "ea.zt"; zu: "ea.zu"; zv: "ea.zv"; zw: "ea.zw"; zx: "ea.zx"; zy: "ea.zy"; zz: "ea.zz"; }; eb: { aa: "eb.aa"; ab: "eb.ab"; ac: "eb.ac"; ad: "eb.ad"; ae: "eb.ae"; af: "eb.af"; ag: "eb.ag"; ah: "eb.ah"; ai: "eb.ai"; aj: "eb.aj"; ak: "eb.ak"; al: "eb.al"; am: "eb.am"; an: "eb.an"; ao: "eb.ao"; ap: "eb.ap"; aq: "eb.aq"; ar: "eb.ar"; as: "eb.as"; at: "eb.at"; au: "eb.au"; av: "eb.av"; aw: "eb.aw"; ax: "eb.ax"; ay: "eb.ay"; az: "eb.az"; ba: "eb.ba"; bb: "eb.bb"; bc: "eb.bc"; bd: "eb.bd"; be: "eb.be"; bf: "eb.bf"; bg: "eb.bg"; bh: "eb.bh"; bi: "eb.bi"; bj: "eb.bj"; bk: "eb.bk"; bl: "eb.bl"; bm: "eb.bm"; bn: "eb.bn"; bo: "eb.bo"; bp: "eb.bp"; bq: "eb.bq"; br: "eb.br"; bs: "eb.bs"; bt: "eb.bt"; bu: "eb.bu"; bv: "eb.bv"; bw: "eb.bw"; bx: "eb.bx"; by: "eb.by"; bz: "eb.bz"; ca: "eb.ca"; cb: "eb.cb"; cc: "eb.cc"; cd: "eb.cd"; ce: "eb.ce"; cf: "eb.cf"; cg: "eb.cg"; ch: "eb.ch"; ci: "eb.ci"; cj: "eb.cj"; ck: "eb.ck"; cl: "eb.cl"; cm: "eb.cm"; cn: "eb.cn"; co: "eb.co"; cp: "eb.cp"; cq: "eb.cq"; cr: "eb.cr"; cs: "eb.cs"; ct: "eb.ct"; cu: "eb.cu"; cv: "eb.cv"; cw: "eb.cw"; cx: "eb.cx"; cy: "eb.cy"; cz: "eb.cz"; da: "eb.da"; db: "eb.db"; dc: "eb.dc"; dd: "eb.dd"; de: "eb.de"; df: "eb.df"; dg: "eb.dg"; dh: "eb.dh"; di: "eb.di"; dj: "eb.dj"; dk: "eb.dk"; dl: "eb.dl"; dm: "eb.dm"; dn: "eb.dn"; do: "eb.do"; dp: "eb.dp"; dq: "eb.dq"; dr: "eb.dr"; ds: "eb.ds"; dt: "eb.dt"; du: "eb.du"; dv: "eb.dv"; dw: "eb.dw"; dx: "eb.dx"; dy: "eb.dy"; dz: "eb.dz"; ea: "eb.ea"; eb: "eb.eb"; ec: "eb.ec"; ed: "eb.ed"; ee: "eb.ee"; ef: "eb.ef"; eg: "eb.eg"; eh: "eb.eh"; ei: "eb.ei"; ej: "eb.ej"; ek: "eb.ek"; el: "eb.el"; em: "eb.em"; en: "eb.en"; eo: "eb.eo"; ep: "eb.ep"; eq: "eb.eq"; er: "eb.er"; es: "eb.es"; et: "eb.et"; eu: "eb.eu"; ev: "eb.ev"; ew: "eb.ew"; ex: "eb.ex"; ey: "eb.ey"; ez: "eb.ez"; fa: "eb.fa"; fb: "eb.fb"; fc: "eb.fc"; fd: "eb.fd"; fe: "eb.fe"; ff: "eb.ff"; fg: "eb.fg"; fh: "eb.fh"; fi: "eb.fi"; fj: "eb.fj"; fk: "eb.fk"; fl: "eb.fl"; fm: "eb.fm"; fn: "eb.fn"; fo: "eb.fo"; fp: "eb.fp"; fq: "eb.fq"; fr: "eb.fr"; fs: "eb.fs"; ft: "eb.ft"; fu: "eb.fu"; fv: "eb.fv"; fw: "eb.fw"; fx: "eb.fx"; fy: "eb.fy"; fz: "eb.fz"; ga: "eb.ga"; gb: "eb.gb"; gc: "eb.gc"; gd: "eb.gd"; ge: "eb.ge"; gf: "eb.gf"; gg: "eb.gg"; gh: "eb.gh"; gi: "eb.gi"; gj: "eb.gj"; gk: "eb.gk"; gl: "eb.gl"; gm: "eb.gm"; gn: "eb.gn"; go: "eb.go"; gp: "eb.gp"; gq: "eb.gq"; gr: "eb.gr"; gs: "eb.gs"; gt: "eb.gt"; gu: "eb.gu"; gv: "eb.gv"; gw: "eb.gw"; gx: "eb.gx"; gy: "eb.gy"; gz: "eb.gz"; ha: "eb.ha"; hb: "eb.hb"; hc: "eb.hc"; hd: "eb.hd"; he: "eb.he"; hf: "eb.hf"; hg: "eb.hg"; hh: "eb.hh"; hi: "eb.hi"; hj: "eb.hj"; hk: "eb.hk"; hl: "eb.hl"; hm: "eb.hm"; hn: "eb.hn"; ho: "eb.ho"; hp: "eb.hp"; hq: "eb.hq"; hr: "eb.hr"; hs: "eb.hs"; ht: "eb.ht"; hu: "eb.hu"; hv: "eb.hv"; hw: "eb.hw"; hx: "eb.hx"; hy: "eb.hy"; hz: "eb.hz"; ia: "eb.ia"; ib: "eb.ib"; ic: "eb.ic"; id: "eb.id"; ie: "eb.ie"; if: "eb.if"; ig: "eb.ig"; ih: "eb.ih"; ii: "eb.ii"; ij: "eb.ij"; ik: "eb.ik"; il: "eb.il"; im: "eb.im"; in: "eb.in"; io: "eb.io"; ip: "eb.ip"; iq: "eb.iq"; ir: "eb.ir"; is: "eb.is"; it: "eb.it"; iu: "eb.iu"; iv: "eb.iv"; iw: "eb.iw"; ix: "eb.ix"; iy: "eb.iy"; iz: "eb.iz"; ja: "eb.ja"; jb: "eb.jb"; jc: "eb.jc"; jd: "eb.jd"; je: "eb.je"; jf: "eb.jf"; jg: "eb.jg"; jh: "eb.jh"; ji: "eb.ji"; jj: "eb.jj"; jk: "eb.jk"; jl: "eb.jl"; jm: "eb.jm"; jn: "eb.jn"; jo: "eb.jo"; jp: "eb.jp"; jq: "eb.jq"; jr: "eb.jr"; js: "eb.js"; jt: "eb.jt"; ju: "eb.ju"; jv: "eb.jv"; jw: "eb.jw"; jx: "eb.jx"; jy: "eb.jy"; jz: "eb.jz"; ka: "eb.ka"; kb: "eb.kb"; kc: "eb.kc"; kd: "eb.kd"; ke: "eb.ke"; kf: "eb.kf"; kg: "eb.kg"; kh: "eb.kh"; ki: "eb.ki"; kj: "eb.kj"; kk: "eb.kk"; kl: "eb.kl"; km: "eb.km"; kn: "eb.kn"; ko: "eb.ko"; kp: "eb.kp"; kq: "eb.kq"; kr: "eb.kr"; ks: "eb.ks"; kt: "eb.kt"; ku: "eb.ku"; kv: "eb.kv"; kw: "eb.kw"; kx: "eb.kx"; ky: "eb.ky"; kz: "eb.kz"; la: "eb.la"; lb: "eb.lb"; lc: "eb.lc"; ld: "eb.ld"; le: "eb.le"; lf: "eb.lf"; lg: "eb.lg"; lh: "eb.lh"; li: "eb.li"; lj: "eb.lj"; lk: "eb.lk"; ll: "eb.ll"; lm: "eb.lm"; ln: "eb.ln"; lo: "eb.lo"; lp: "eb.lp"; lq: "eb.lq"; lr: "eb.lr"; ls: "eb.ls"; lt: "eb.lt"; lu: "eb.lu"; lv: "eb.lv"; lw: "eb.lw"; lx: "eb.lx"; ly: "eb.ly"; lz: "eb.lz"; ma: "eb.ma"; mb: "eb.mb"; mc: "eb.mc"; md: "eb.md"; me: "eb.me"; mf: "eb.mf"; mg: "eb.mg"; mh: "eb.mh"; mi: "eb.mi"; mj: "eb.mj"; mk: "eb.mk"; ml: "eb.ml"; mm: "eb.mm"; mn: "eb.mn"; mo: "eb.mo"; mp: "eb.mp"; mq: "eb.mq"; mr: "eb.mr"; ms: "eb.ms"; mt: "eb.mt"; mu: "eb.mu"; mv: "eb.mv"; mw: "eb.mw"; mx: "eb.mx"; my: "eb.my"; mz: "eb.mz"; na: "eb.na"; nb: "eb.nb"; nc: "eb.nc"; nd: "eb.nd"; ne: "eb.ne"; nf: "eb.nf"; ng: "eb.ng"; nh: "eb.nh"; ni: "eb.ni"; nj: "eb.nj"; nk: "eb.nk"; nl: "eb.nl"; nm: "eb.nm"; nn: "eb.nn"; no: "eb.no"; np: "eb.np"; nq: "eb.nq"; nr: "eb.nr"; ns: "eb.ns"; nt: "eb.nt"; nu: "eb.nu"; nv: "eb.nv"; nw: "eb.nw"; nx: "eb.nx"; ny: "eb.ny"; nz: "eb.nz"; oa: "eb.oa"; ob: "eb.ob"; oc: "eb.oc"; od: "eb.od"; oe: "eb.oe"; of: "eb.of"; og: "eb.og"; oh: "eb.oh"; oi: "eb.oi"; oj: "eb.oj"; ok: "eb.ok"; ol: "eb.ol"; om: "eb.om"; on: "eb.on"; oo: "eb.oo"; op: "eb.op"; oq: "eb.oq"; or: "eb.or"; os: "eb.os"; ot: "eb.ot"; ou: "eb.ou"; ov: "eb.ov"; ow: "eb.ow"; ox: "eb.ox"; oy: "eb.oy"; oz: "eb.oz"; pa: "eb.pa"; pb: "eb.pb"; pc: "eb.pc"; pd: "eb.pd"; pe: "eb.pe"; pf: "eb.pf"; pg: "eb.pg"; ph: "eb.ph"; pi: "eb.pi"; pj: "eb.pj"; pk: "eb.pk"; pl: "eb.pl"; pm: "eb.pm"; pn: "eb.pn"; po: "eb.po"; pp: "eb.pp"; pq: "eb.pq"; pr: "eb.pr"; ps: "eb.ps"; pt: "eb.pt"; pu: "eb.pu"; pv: "eb.pv"; pw: "eb.pw"; px: "eb.px"; py: "eb.py"; pz: "eb.pz"; qa: "eb.qa"; qb: "eb.qb"; qc: "eb.qc"; qd: "eb.qd"; qe: "eb.qe"; qf: "eb.qf"; qg: "eb.qg"; qh: "eb.qh"; qi: "eb.qi"; qj: "eb.qj"; qk: "eb.qk"; ql: "eb.ql"; qm: "eb.qm"; qn: "eb.qn"; qo: "eb.qo"; qp: "eb.qp"; qq: "eb.qq"; qr: "eb.qr"; qs: "eb.qs"; qt: "eb.qt"; qu: "eb.qu"; qv: "eb.qv"; qw: "eb.qw"; qx: "eb.qx"; qy: "eb.qy"; qz: "eb.qz"; ra: "eb.ra"; rb: "eb.rb"; rc: "eb.rc"; rd: "eb.rd"; re: "eb.re"; rf: "eb.rf"; rg: "eb.rg"; rh: "eb.rh"; ri: "eb.ri"; rj: "eb.rj"; rk: "eb.rk"; rl: "eb.rl"; rm: "eb.rm"; rn: "eb.rn"; ro: "eb.ro"; rp: "eb.rp"; rq: "eb.rq"; rr: "eb.rr"; rs: "eb.rs"; rt: "eb.rt"; ru: "eb.ru"; rv: "eb.rv"; rw: "eb.rw"; rx: "eb.rx"; ry: "eb.ry"; rz: "eb.rz"; sa: "eb.sa"; sb: "eb.sb"; sc: "eb.sc"; sd: "eb.sd"; se: "eb.se"; sf: "eb.sf"; sg: "eb.sg"; sh: "eb.sh"; si: "eb.si"; sj: "eb.sj"; sk: "eb.sk"; sl: "eb.sl"; sm: "eb.sm"; sn: "eb.sn"; so: "eb.so"; sp: "eb.sp"; sq: "eb.sq"; sr: "eb.sr"; ss: "eb.ss"; st: "eb.st"; su: "eb.su"; sv: "eb.sv"; sw: "eb.sw"; sx: "eb.sx"; sy: "eb.sy"; sz: "eb.sz"; ta: "eb.ta"; tb: "eb.tb"; tc: "eb.tc"; td: "eb.td"; te: "eb.te"; tf: "eb.tf"; tg: "eb.tg"; th: "eb.th"; ti: "eb.ti"; tj: "eb.tj"; tk: "eb.tk"; tl: "eb.tl"; tm: "eb.tm"; tn: "eb.tn"; to: "eb.to"; tp: "eb.tp"; tq: "eb.tq"; tr: "eb.tr"; ts: "eb.ts"; tt: "eb.tt"; tu: "eb.tu"; tv: "eb.tv"; tw: "eb.tw"; tx: "eb.tx"; ty: "eb.ty"; tz: "eb.tz"; ua: "eb.ua"; ub: "eb.ub"; uc: "eb.uc"; ud: "eb.ud"; ue: "eb.ue"; uf: "eb.uf"; ug: "eb.ug"; uh: "eb.uh"; ui: "eb.ui"; uj: "eb.uj"; uk: "eb.uk"; ul: "eb.ul"; um: "eb.um"; un: "eb.un"; uo: "eb.uo"; up: "eb.up"; uq: "eb.uq"; ur: "eb.ur"; us: "eb.us"; ut: "eb.ut"; uu: "eb.uu"; uv: "eb.uv"; uw: "eb.uw"; ux: "eb.ux"; uy: "eb.uy"; uz: "eb.uz"; va: "eb.va"; vb: "eb.vb"; vc: "eb.vc"; vd: "eb.vd"; ve: "eb.ve"; vf: "eb.vf"; vg: "eb.vg"; vh: "eb.vh"; vi: "eb.vi"; vj: "eb.vj"; vk: "eb.vk"; vl: "eb.vl"; vm: "eb.vm"; vn: "eb.vn"; vo: "eb.vo"; vp: "eb.vp"; vq: "eb.vq"; vr: "eb.vr"; vs: "eb.vs"; vt: "eb.vt"; vu: "eb.vu"; vv: "eb.vv"; vw: "eb.vw"; vx: "eb.vx"; vy: "eb.vy"; vz: "eb.vz"; wa: "eb.wa"; wb: "eb.wb"; wc: "eb.wc"; wd: "eb.wd"; we: "eb.we"; wf: "eb.wf"; wg: "eb.wg"; wh: "eb.wh"; wi: "eb.wi"; wj: "eb.wj"; wk: "eb.wk"; wl: "eb.wl"; wm: "eb.wm"; wn: "eb.wn"; wo: "eb.wo"; wp: "eb.wp"; wq: "eb.wq"; wr: "eb.wr"; ws: "eb.ws"; wt: "eb.wt"; wu: "eb.wu"; wv: "eb.wv"; ww: "eb.ww"; wx: "eb.wx"; wy: "eb.wy"; wz: "eb.wz"; xa: "eb.xa"; xb: "eb.xb"; xc: "eb.xc"; xd: "eb.xd"; xe: "eb.xe"; xf: "eb.xf"; xg: "eb.xg"; xh: "eb.xh"; xi: "eb.xi"; xj: "eb.xj"; xk: "eb.xk"; xl: "eb.xl"; xm: "eb.xm"; xn: "eb.xn"; xo: "eb.xo"; xp: "eb.xp"; xq: "eb.xq"; xr: "eb.xr"; xs: "eb.xs"; xt: "eb.xt"; xu: "eb.xu"; xv: "eb.xv"; xw: "eb.xw"; xx: "eb.xx"; xy: "eb.xy"; xz: "eb.xz"; ya: "eb.ya"; yb: "eb.yb"; yc: "eb.yc"; yd: "eb.yd"; ye: "eb.ye"; yf: "eb.yf"; yg: "eb.yg"; yh: "eb.yh"; yi: "eb.yi"; yj: "eb.yj"; yk: "eb.yk"; yl: "eb.yl"; ym: "eb.ym"; yn: "eb.yn"; yo: "eb.yo"; yp: "eb.yp"; yq: "eb.yq"; yr: "eb.yr"; ys: "eb.ys"; yt: "eb.yt"; yu: "eb.yu"; yv: "eb.yv"; yw: "eb.yw"; yx: "eb.yx"; yy: "eb.yy"; yz: "eb.yz"; za: "eb.za"; zb: "eb.zb"; zc: "eb.zc"; zd: "eb.zd"; ze: "eb.ze"; zf: "eb.zf"; zg: "eb.zg"; zh: "eb.zh"; zi: "eb.zi"; zj: "eb.zj"; zk: "eb.zk"; zl: "eb.zl"; zm: "eb.zm"; zn: "eb.zn"; zo: "eb.zo"; zp: "eb.zp"; zq: "eb.zq"; zr: "eb.zr"; zs: "eb.zs"; zt: "eb.zt"; zu: "eb.zu"; zv: "eb.zv"; zw: "eb.zw"; zx: "eb.zx"; zy: "eb.zy"; zz: "eb.zz"; }; ec: { aa: "ec.aa"; ab: "ec.ab"; ac: "ec.ac"; ad: "ec.ad"; ae: "ec.ae"; af: "ec.af"; ag: "ec.ag"; ah: "ec.ah"; ai: "ec.ai"; aj: "ec.aj"; ak: "ec.ak"; al: "ec.al"; am: "ec.am"; an: "ec.an"; ao: "ec.ao"; ap: "ec.ap"; aq: "ec.aq"; ar: "ec.ar"; as: "ec.as"; at: "ec.at"; au: "ec.au"; av: "ec.av"; aw: "ec.aw"; ax: "ec.ax"; ay: "ec.ay"; az: "ec.az"; ba: "ec.ba"; bb: "ec.bb"; bc: "ec.bc"; bd: "ec.bd"; be: "ec.be"; bf: "ec.bf"; bg: "ec.bg"; bh: "ec.bh"; bi: "ec.bi"; bj: "ec.bj"; bk: "ec.bk"; bl: "ec.bl"; bm: "ec.bm"; bn: "ec.bn"; bo: "ec.bo"; bp: "ec.bp"; bq: "ec.bq"; br: "ec.br"; bs: "ec.bs"; bt: "ec.bt"; bu: "ec.bu"; bv: "ec.bv"; bw: "ec.bw"; bx: "ec.bx"; by: "ec.by"; bz: "ec.bz"; ca: "ec.ca"; cb: "ec.cb"; cc: "ec.cc"; cd: "ec.cd"; ce: "ec.ce"; cf: "ec.cf"; cg: "ec.cg"; ch: "ec.ch"; ci: "ec.ci"; cj: "ec.cj"; ck: "ec.ck"; cl: "ec.cl"; cm: "ec.cm"; cn: "ec.cn"; co: "ec.co"; cp: "ec.cp"; cq: "ec.cq"; cr: "ec.cr"; cs: "ec.cs"; ct: "ec.ct"; cu: "ec.cu"; cv: "ec.cv"; cw: "ec.cw"; cx: "ec.cx"; cy: "ec.cy"; cz: "ec.cz"; da: "ec.da"; db: "ec.db"; dc: "ec.dc"; dd: "ec.dd"; de: "ec.de"; df: "ec.df"; dg: "ec.dg"; dh: "ec.dh"; di: "ec.di"; dj: "ec.dj"; dk: "ec.dk"; dl: "ec.dl"; dm: "ec.dm"; dn: "ec.dn"; do: "ec.do"; dp: "ec.dp"; dq: "ec.dq"; dr: "ec.dr"; ds: "ec.ds"; dt: "ec.dt"; du: "ec.du"; dv: "ec.dv"; dw: "ec.dw"; dx: "ec.dx"; dy: "ec.dy"; dz: "ec.dz"; ea: "ec.ea"; eb: "ec.eb"; ec: "ec.ec"; ed: "ec.ed"; ee: "ec.ee"; ef: "ec.ef"; eg: "ec.eg"; eh: "ec.eh"; ei: "ec.ei"; ej: "ec.ej"; ek: "ec.ek"; el: "ec.el"; em: "ec.em"; en: "ec.en"; eo: "ec.eo"; ep: "ec.ep"; eq: "ec.eq"; er: "ec.er"; es: "ec.es"; et: "ec.et"; eu: "ec.eu"; ev: "ec.ev"; ew: "ec.ew"; ex: "ec.ex"; ey: "ec.ey"; ez: "ec.ez"; fa: "ec.fa"; fb: "ec.fb"; fc: "ec.fc"; fd: "ec.fd"; fe: "ec.fe"; ff: "ec.ff"; fg: "ec.fg"; fh: "ec.fh"; fi: "ec.fi"; fj: "ec.fj"; fk: "ec.fk"; fl: "ec.fl"; fm: "ec.fm"; fn: "ec.fn"; fo: "ec.fo"; fp: "ec.fp"; fq: "ec.fq"; fr: "ec.fr"; fs: "ec.fs"; ft: "ec.ft"; fu: "ec.fu"; fv: "ec.fv"; fw: "ec.fw"; fx: "ec.fx"; fy: "ec.fy"; fz: "ec.fz"; ga: "ec.ga"; gb: "ec.gb"; gc: "ec.gc"; gd: "ec.gd"; ge: "ec.ge"; gf: "ec.gf"; gg: "ec.gg"; gh: "ec.gh"; gi: "ec.gi"; gj: "ec.gj"; gk: "ec.gk"; gl: "ec.gl"; gm: "ec.gm"; gn: "ec.gn"; go: "ec.go"; gp: "ec.gp"; gq: "ec.gq"; gr: "ec.gr"; gs: "ec.gs"; gt: "ec.gt"; gu: "ec.gu"; gv: "ec.gv"; gw: "ec.gw"; gx: "ec.gx"; gy: "ec.gy"; gz: "ec.gz"; ha: "ec.ha"; hb: "ec.hb"; hc: "ec.hc"; hd: "ec.hd"; he: "ec.he"; hf: "ec.hf"; hg: "ec.hg"; hh: "ec.hh"; hi: "ec.hi"; hj: "ec.hj"; hk: "ec.hk"; hl: "ec.hl"; hm: "ec.hm"; hn: "ec.hn"; ho: "ec.ho"; hp: "ec.hp"; hq: "ec.hq"; hr: "ec.hr"; hs: "ec.hs"; ht: "ec.ht"; hu: "ec.hu"; hv: "ec.hv"; hw: "ec.hw"; hx: "ec.hx"; hy: "ec.hy"; hz: "ec.hz"; ia: "ec.ia"; ib: "ec.ib"; ic: "ec.ic"; id: "ec.id"; ie: "ec.ie"; if: "ec.if"; ig: "ec.ig"; ih: "ec.ih"; ii: "ec.ii"; ij: "ec.ij"; ik: "ec.ik"; il: "ec.il"; im: "ec.im"; in: "ec.in"; io: "ec.io"; ip: "ec.ip"; iq: "ec.iq"; ir: "ec.ir"; is: "ec.is"; it: "ec.it"; iu: "ec.iu"; iv: "ec.iv"; iw: "ec.iw"; ix: "ec.ix"; iy: "ec.iy"; iz: "ec.iz"; ja: "ec.ja"; jb: "ec.jb"; jc: "ec.jc"; jd: "ec.jd"; je: "ec.je"; jf: "ec.jf"; jg: "ec.jg"; jh: "ec.jh"; ji: "ec.ji"; jj: "ec.jj"; jk: "ec.jk"; jl: "ec.jl"; jm: "ec.jm"; jn: "ec.jn"; jo: "ec.jo"; jp: "ec.jp"; jq: "ec.jq"; jr: "ec.jr"; js: "ec.js"; jt: "ec.jt"; ju: "ec.ju"; jv: "ec.jv"; jw: "ec.jw"; jx: "ec.jx"; jy: "ec.jy"; jz: "ec.jz"; ka: "ec.ka"; kb: "ec.kb"; kc: "ec.kc"; kd: "ec.kd"; ke: "ec.ke"; kf: "ec.kf"; kg: "ec.kg"; kh: "ec.kh"; ki: "ec.ki"; kj: "ec.kj"; kk: "ec.kk"; kl: "ec.kl"; km: "ec.km"; kn: "ec.kn"; ko: "ec.ko"; kp: "ec.kp"; kq: "ec.kq"; kr: "ec.kr"; ks: "ec.ks"; kt: "ec.kt"; ku: "ec.ku"; kv: "ec.kv"; kw: "ec.kw"; kx: "ec.kx"; ky: "ec.ky"; kz: "ec.kz"; la: "ec.la"; lb: "ec.lb"; lc: "ec.lc"; ld: "ec.ld"; le: "ec.le"; lf: "ec.lf"; lg: "ec.lg"; lh: "ec.lh"; li: "ec.li"; lj: "ec.lj"; lk: "ec.lk"; ll: "ec.ll"; lm: "ec.lm"; ln: "ec.ln"; lo: "ec.lo"; lp: "ec.lp"; lq: "ec.lq"; lr: "ec.lr"; ls: "ec.ls"; lt: "ec.lt"; lu: "ec.lu"; lv: "ec.lv"; lw: "ec.lw"; lx: "ec.lx"; ly: "ec.ly"; lz: "ec.lz"; ma: "ec.ma"; mb: "ec.mb"; mc: "ec.mc"; md: "ec.md"; me: "ec.me"; mf: "ec.mf"; mg: "ec.mg"; mh: "ec.mh"; mi: "ec.mi"; mj: "ec.mj"; mk: "ec.mk"; ml: "ec.ml"; mm: "ec.mm"; mn: "ec.mn"; mo: "ec.mo"; mp: "ec.mp"; mq: "ec.mq"; mr: "ec.mr"; ms: "ec.ms"; mt: "ec.mt"; mu: "ec.mu"; mv: "ec.mv"; mw: "ec.mw"; mx: "ec.mx"; my: "ec.my"; mz: "ec.mz"; na: "ec.na"; nb: "ec.nb"; nc: "ec.nc"; nd: "ec.nd"; ne: "ec.ne"; nf: "ec.nf"; ng: "ec.ng"; nh: "ec.nh"; ni: "ec.ni"; nj: "ec.nj"; nk: "ec.nk"; nl: "ec.nl"; nm: "ec.nm"; nn: "ec.nn"; no: "ec.no"; np: "ec.np"; nq: "ec.nq"; nr: "ec.nr"; ns: "ec.ns"; nt: "ec.nt"; nu: "ec.nu"; nv: "ec.nv"; nw: "ec.nw"; nx: "ec.nx"; ny: "ec.ny"; nz: "ec.nz"; oa: "ec.oa"; ob: "ec.ob"; oc: "ec.oc"; od: "ec.od"; oe: "ec.oe"; of: "ec.of"; og: "ec.og"; oh: "ec.oh"; oi: "ec.oi"; oj: "ec.oj"; ok: "ec.ok"; ol: "ec.ol"; om: "ec.om"; on: "ec.on"; oo: "ec.oo"; op: "ec.op"; oq: "ec.oq"; or: "ec.or"; os: "ec.os"; ot: "ec.ot"; ou: "ec.ou"; ov: "ec.ov"; ow: "ec.ow"; ox: "ec.ox"; oy: "ec.oy"; oz: "ec.oz"; pa: "ec.pa"; pb: "ec.pb"; pc: "ec.pc"; pd: "ec.pd"; pe: "ec.pe"; pf: "ec.pf"; pg: "ec.pg"; ph: "ec.ph"; pi: "ec.pi"; pj: "ec.pj"; pk: "ec.pk"; pl: "ec.pl"; pm: "ec.pm"; pn: "ec.pn"; po: "ec.po"; pp: "ec.pp"; pq: "ec.pq"; pr: "ec.pr"; ps: "ec.ps"; pt: "ec.pt"; pu: "ec.pu"; pv: "ec.pv"; pw: "ec.pw"; px: "ec.px"; py: "ec.py"; pz: "ec.pz"; qa: "ec.qa"; qb: "ec.qb"; qc: "ec.qc"; qd: "ec.qd"; qe: "ec.qe"; qf: "ec.qf"; qg: "ec.qg"; qh: "ec.qh"; qi: "ec.qi"; qj: "ec.qj"; qk: "ec.qk"; ql: "ec.ql"; qm: "ec.qm"; qn: "ec.qn"; qo: "ec.qo"; qp: "ec.qp"; qq: "ec.qq"; qr: "ec.qr"; qs: "ec.qs"; qt: "ec.qt"; qu: "ec.qu"; qv: "ec.qv"; qw: "ec.qw"; qx: "ec.qx"; qy: "ec.qy"; qz: "ec.qz"; ra: "ec.ra"; rb: "ec.rb"; rc: "ec.rc"; rd: "ec.rd"; re: "ec.re"; rf: "ec.rf"; rg: "ec.rg"; rh: "ec.rh"; ri: "ec.ri"; rj: "ec.rj"; rk: "ec.rk"; rl: "ec.rl"; rm: "ec.rm"; rn: "ec.rn"; ro: "ec.ro"; rp: "ec.rp"; rq: "ec.rq"; rr: "ec.rr"; rs: "ec.rs"; rt: "ec.rt"; ru: "ec.ru"; rv: "ec.rv"; rw: "ec.rw"; rx: "ec.rx"; ry: "ec.ry"; rz: "ec.rz"; sa: "ec.sa"; sb: "ec.sb"; sc: "ec.sc"; sd: "ec.sd"; se: "ec.se"; sf: "ec.sf"; sg: "ec.sg"; sh: "ec.sh"; si: "ec.si"; sj: "ec.sj"; sk: "ec.sk"; sl: "ec.sl"; sm: "ec.sm"; sn: "ec.sn"; so: "ec.so"; sp: "ec.sp"; sq: "ec.sq"; sr: "ec.sr"; ss: "ec.ss"; st: "ec.st"; su: "ec.su"; sv: "ec.sv"; sw: "ec.sw"; sx: "ec.sx"; sy: "ec.sy"; sz: "ec.sz"; ta: "ec.ta"; tb: "ec.tb"; tc: "ec.tc"; td: "ec.td"; te: "ec.te"; tf: "ec.tf"; tg: "ec.tg"; th: "ec.th"; ti: "ec.ti"; tj: "ec.tj"; tk: "ec.tk"; tl: "ec.tl"; tm: "ec.tm"; tn: "ec.tn"; to: "ec.to"; tp: "ec.tp"; tq: "ec.tq"; tr: "ec.tr"; ts: "ec.ts"; tt: "ec.tt"; tu: "ec.tu"; tv: "ec.tv"; tw: "ec.tw"; tx: "ec.tx"; ty: "ec.ty"; tz: "ec.tz"; ua: "ec.ua"; ub: "ec.ub"; uc: "ec.uc"; ud: "ec.ud"; ue: "ec.ue"; uf: "ec.uf"; ug: "ec.ug"; uh: "ec.uh"; ui: "ec.ui"; uj: "ec.uj"; uk: "ec.uk"; ul: "ec.ul"; um: "ec.um"; un: "ec.un"; uo: "ec.uo"; up: "ec.up"; uq: "ec.uq"; ur: "ec.ur"; us: "ec.us"; ut: "ec.ut"; uu: "ec.uu"; uv: "ec.uv"; uw: "ec.uw"; ux: "ec.ux"; uy: "ec.uy"; uz: "ec.uz"; va: "ec.va"; vb: "ec.vb"; vc: "ec.vc"; vd: "ec.vd"; ve: "ec.ve"; vf: "ec.vf"; vg: "ec.vg"; vh: "ec.vh"; vi: "ec.vi"; vj: "ec.vj"; vk: "ec.vk"; vl: "ec.vl"; vm: "ec.vm"; vn: "ec.vn"; vo: "ec.vo"; vp: "ec.vp"; vq: "ec.vq"; vr: "ec.vr"; vs: "ec.vs"; vt: "ec.vt"; vu: "ec.vu"; vv: "ec.vv"; vw: "ec.vw"; vx: "ec.vx"; vy: "ec.vy"; vz: "ec.vz"; wa: "ec.wa"; wb: "ec.wb"; wc: "ec.wc"; wd: "ec.wd"; we: "ec.we"; wf: "ec.wf"; wg: "ec.wg"; wh: "ec.wh"; wi: "ec.wi"; wj: "ec.wj"; wk: "ec.wk"; wl: "ec.wl"; wm: "ec.wm"; wn: "ec.wn"; wo: "ec.wo"; wp: "ec.wp"; wq: "ec.wq"; wr: "ec.wr"; ws: "ec.ws"; wt: "ec.wt"; wu: "ec.wu"; wv: "ec.wv"; ww: "ec.ww"; wx: "ec.wx"; wy: "ec.wy"; wz: "ec.wz"; xa: "ec.xa"; xb: "ec.xb"; xc: "ec.xc"; xd: "ec.xd"; xe: "ec.xe"; xf: "ec.xf"; xg: "ec.xg"; xh: "ec.xh"; xi: "ec.xi"; xj: "ec.xj"; xk: "ec.xk"; xl: "ec.xl"; xm: "ec.xm"; xn: "ec.xn"; xo: "ec.xo"; xp: "ec.xp"; xq: "ec.xq"; xr: "ec.xr"; xs: "ec.xs"; xt: "ec.xt"; xu: "ec.xu"; xv: "ec.xv"; xw: "ec.xw"; xx: "ec.xx"; xy: "ec.xy"; xz: "ec.xz"; ya: "ec.ya"; yb: "ec.yb"; yc: "ec.yc"; yd: "ec.yd"; ye: "ec.ye"; yf: "ec.yf"; yg: "ec.yg"; yh: "ec.yh"; yi: "ec.yi"; yj: "ec.yj"; yk: "ec.yk"; yl: "ec.yl"; ym: "ec.ym"; yn: "ec.yn"; yo: "ec.yo"; yp: "ec.yp"; yq: "ec.yq"; yr: "ec.yr"; ys: "ec.ys"; yt: "ec.yt"; yu: "ec.yu"; yv: "ec.yv"; yw: "ec.yw"; yx: "ec.yx"; yy: "ec.yy"; yz: "ec.yz"; za: "ec.za"; zb: "ec.zb"; zc: "ec.zc"; zd: "ec.zd"; ze: "ec.ze"; zf: "ec.zf"; zg: "ec.zg"; zh: "ec.zh"; zi: "ec.zi"; zj: "ec.zj"; zk: "ec.zk"; zl: "ec.zl"; zm: "ec.zm"; zn: "ec.zn"; zo: "ec.zo"; zp: "ec.zp"; zq: "ec.zq"; zr: "ec.zr"; zs: "ec.zs"; zt: "ec.zt"; zu: "ec.zu"; zv: "ec.zv"; zw: "ec.zw"; zx: "ec.zx"; zy: "ec.zy"; zz: "ec.zz"; }; ed: { aa: "ed.aa"; ab: "ed.ab"; ac: "ed.ac"; ad: "ed.ad"; ae: "ed.ae"; af: "ed.af"; ag: "ed.ag"; ah: "ed.ah"; ai: "ed.ai"; aj: "ed.aj"; ak: "ed.ak"; al: "ed.al"; am: "ed.am"; an: "ed.an"; ao: "ed.ao"; ap: "ed.ap"; aq: "ed.aq"; ar: "ed.ar"; as: "ed.as"; at: "ed.at"; au: "ed.au"; av: "ed.av"; aw: "ed.aw"; ax: "ed.ax"; ay: "ed.ay"; az: "ed.az"; ba: "ed.ba"; bb: "ed.bb"; bc: "ed.bc"; bd: "ed.bd"; be: "ed.be"; bf: "ed.bf"; bg: "ed.bg"; bh: "ed.bh"; bi: "ed.bi"; bj: "ed.bj"; bk: "ed.bk"; bl: "ed.bl"; bm: "ed.bm"; bn: "ed.bn"; bo: "ed.bo"; bp: "ed.bp"; bq: "ed.bq"; br: "ed.br"; bs: "ed.bs"; bt: "ed.bt"; bu: "ed.bu"; bv: "ed.bv"; bw: "ed.bw"; bx: "ed.bx"; by: "ed.by"; bz: "ed.bz"; ca: "ed.ca"; cb: "ed.cb"; cc: "ed.cc"; cd: "ed.cd"; ce: "ed.ce"; cf: "ed.cf"; cg: "ed.cg"; ch: "ed.ch"; ci: "ed.ci"; cj: "ed.cj"; ck: "ed.ck"; cl: "ed.cl"; cm: "ed.cm"; cn: "ed.cn"; co: "ed.co"; cp: "ed.cp"; cq: "ed.cq"; cr: "ed.cr"; cs: "ed.cs"; ct: "ed.ct"; cu: "ed.cu"; cv: "ed.cv"; cw: "ed.cw"; cx: "ed.cx"; cy: "ed.cy"; cz: "ed.cz"; da: "ed.da"; db: "ed.db"; dc: "ed.dc"; dd: "ed.dd"; de: "ed.de"; df: "ed.df"; dg: "ed.dg"; dh: "ed.dh"; di: "ed.di"; dj: "ed.dj"; dk: "ed.dk"; dl: "ed.dl"; dm: "ed.dm"; dn: "ed.dn"; do: "ed.do"; dp: "ed.dp"; dq: "ed.dq"; dr: "ed.dr"; ds: "ed.ds"; dt: "ed.dt"; du: "ed.du"; dv: "ed.dv"; dw: "ed.dw"; dx: "ed.dx"; dy: "ed.dy"; dz: "ed.dz"; ea: "ed.ea"; eb: "ed.eb"; ec: "ed.ec"; ed: "ed.ed"; ee: "ed.ee"; ef: "ed.ef"; eg: "ed.eg"; eh: "ed.eh"; ei: "ed.ei"; ej: "ed.ej"; ek: "ed.ek"; el: "ed.el"; em: "ed.em"; en: "ed.en"; eo: "ed.eo"; ep: "ed.ep"; eq: "ed.eq"; er: "ed.er"; es: "ed.es"; et: "ed.et"; eu: "ed.eu"; ev: "ed.ev"; ew: "ed.ew"; ex: "ed.ex"; ey: "ed.ey"; ez: "ed.ez"; fa: "ed.fa"; fb: "ed.fb"; fc: "ed.fc"; fd: "ed.fd"; fe: "ed.fe"; ff: "ed.ff"; fg: "ed.fg"; fh: "ed.fh"; fi: "ed.fi"; fj: "ed.fj"; fk: "ed.fk"; fl: "ed.fl"; fm: "ed.fm"; fn: "ed.fn"; fo: "ed.fo"; fp: "ed.fp"; fq: "ed.fq"; fr: "ed.fr"; fs: "ed.fs"; ft: "ed.ft"; fu: "ed.fu"; fv: "ed.fv"; fw: "ed.fw"; fx: "ed.fx"; fy: "ed.fy"; fz: "ed.fz"; ga: "ed.ga"; gb: "ed.gb"; gc: "ed.gc"; gd: "ed.gd"; ge: "ed.ge"; gf: "ed.gf"; gg: "ed.gg"; gh: "ed.gh"; gi: "ed.gi"; gj: "ed.gj"; gk: "ed.gk"; gl: "ed.gl"; gm: "ed.gm"; gn: "ed.gn"; go: "ed.go"; gp: "ed.gp"; gq: "ed.gq"; gr: "ed.gr"; gs: "ed.gs"; gt: "ed.gt"; gu: "ed.gu"; gv: "ed.gv"; gw: "ed.gw"; gx: "ed.gx"; gy: "ed.gy"; gz: "ed.gz"; ha: "ed.ha"; hb: "ed.hb"; hc: "ed.hc"; hd: "ed.hd"; he: "ed.he"; hf: "ed.hf"; hg: "ed.hg"; hh: "ed.hh"; hi: "ed.hi"; hj: "ed.hj"; hk: "ed.hk"; hl: "ed.hl"; hm: "ed.hm"; hn: "ed.hn"; ho: "ed.ho"; hp: "ed.hp"; hq: "ed.hq"; hr: "ed.hr"; hs: "ed.hs"; ht: "ed.ht"; hu: "ed.hu"; hv: "ed.hv"; hw: "ed.hw"; hx: "ed.hx"; hy: "ed.hy"; hz: "ed.hz"; ia: "ed.ia"; ib: "ed.ib"; ic: "ed.ic"; id: "ed.id"; ie: "ed.ie"; if: "ed.if"; ig: "ed.ig"; ih: "ed.ih"; ii: "ed.ii"; ij: "ed.ij"; ik: "ed.ik"; il: "ed.il"; im: "ed.im"; in: "ed.in"; io: "ed.io"; ip: "ed.ip"; iq: "ed.iq"; ir: "ed.ir"; is: "ed.is"; it: "ed.it"; iu: "ed.iu"; iv: "ed.iv"; iw: "ed.iw"; ix: "ed.ix"; iy: "ed.iy"; iz: "ed.iz"; ja: "ed.ja"; jb: "ed.jb"; jc: "ed.jc"; jd: "ed.jd"; je: "ed.je"; jf: "ed.jf"; jg: "ed.jg"; jh: "ed.jh"; ji: "ed.ji"; jj: "ed.jj"; jk: "ed.jk"; jl: "ed.jl"; jm: "ed.jm"; jn: "ed.jn"; jo: "ed.jo"; jp: "ed.jp"; jq: "ed.jq"; jr: "ed.jr"; js: "ed.js"; jt: "ed.jt"; ju: "ed.ju"; jv: "ed.jv"; jw: "ed.jw"; jx: "ed.jx"; jy: "ed.jy"; jz: "ed.jz"; ka: "ed.ka"; kb: "ed.kb"; kc: "ed.kc"; kd: "ed.kd"; ke: "ed.ke"; kf: "ed.kf"; kg: "ed.kg"; kh: "ed.kh"; ki: "ed.ki"; kj: "ed.kj"; kk: "ed.kk"; kl: "ed.kl"; km: "ed.km"; kn: "ed.kn"; ko: "ed.ko"; kp: "ed.kp"; kq: "ed.kq"; kr: "ed.kr"; ks: "ed.ks"; kt: "ed.kt"; ku: "ed.ku"; kv: "ed.kv"; kw: "ed.kw"; kx: "ed.kx"; ky: "ed.ky"; kz: "ed.kz"; la: "ed.la"; lb: "ed.lb"; lc: "ed.lc"; ld: "ed.ld"; le: "ed.le"; lf: "ed.lf"; lg: "ed.lg"; lh: "ed.lh"; li: "ed.li"; lj: "ed.lj"; lk: "ed.lk"; ll: "ed.ll"; lm: "ed.lm"; ln: "ed.ln"; lo: "ed.lo"; lp: "ed.lp"; lq: "ed.lq"; lr: "ed.lr"; ls: "ed.ls"; lt: "ed.lt"; lu: "ed.lu"; lv: "ed.lv"; lw: "ed.lw"; lx: "ed.lx"; ly: "ed.ly"; lz: "ed.lz"; ma: "ed.ma"; mb: "ed.mb"; mc: "ed.mc"; md: "ed.md"; me: "ed.me"; mf: "ed.mf"; mg: "ed.mg"; mh: "ed.mh"; mi: "ed.mi"; mj: "ed.mj"; mk: "ed.mk"; ml: "ed.ml"; mm: "ed.mm"; mn: "ed.mn"; mo: "ed.mo"; mp: "ed.mp"; mq: "ed.mq"; mr: "ed.mr"; ms: "ed.ms"; mt: "ed.mt"; mu: "ed.mu"; mv: "ed.mv"; mw: "ed.mw"; mx: "ed.mx"; my: "ed.my"; mz: "ed.mz"; na: "ed.na"; nb: "ed.nb"; nc: "ed.nc"; nd: "ed.nd"; ne: "ed.ne"; nf: "ed.nf"; ng: "ed.ng"; nh: "ed.nh"; ni: "ed.ni"; nj: "ed.nj"; nk: "ed.nk"; nl: "ed.nl"; nm: "ed.nm"; nn: "ed.nn"; no: "ed.no"; np: "ed.np"; nq: "ed.nq"; nr: "ed.nr"; ns: "ed.ns"; nt: "ed.nt"; nu: "ed.nu"; nv: "ed.nv"; nw: "ed.nw"; nx: "ed.nx"; ny: "ed.ny"; nz: "ed.nz"; oa: "ed.oa"; ob: "ed.ob"; oc: "ed.oc"; od: "ed.od"; oe: "ed.oe"; of: "ed.of"; og: "ed.og"; oh: "ed.oh"; oi: "ed.oi"; oj: "ed.oj"; ok: "ed.ok"; ol: "ed.ol"; om: "ed.om"; on: "ed.on"; oo: "ed.oo"; op: "ed.op"; oq: "ed.oq"; or: "ed.or"; os: "ed.os"; ot: "ed.ot"; ou: "ed.ou"; ov: "ed.ov"; ow: "ed.ow"; ox: "ed.ox"; oy: "ed.oy"; oz: "ed.oz"; pa: "ed.pa"; pb: "ed.pb"; pc: "ed.pc"; pd: "ed.pd"; pe: "ed.pe"; pf: "ed.pf"; pg: "ed.pg"; ph: "ed.ph"; pi: "ed.pi"; pj: "ed.pj"; pk: "ed.pk"; pl: "ed.pl"; pm: "ed.pm"; pn: "ed.pn"; po: "ed.po"; pp: "ed.pp"; pq: "ed.pq"; pr: "ed.pr"; ps: "ed.ps"; pt: "ed.pt"; pu: "ed.pu"; pv: "ed.pv"; pw: "ed.pw"; px: "ed.px"; py: "ed.py"; pz: "ed.pz"; qa: "ed.qa"; qb: "ed.qb"; qc: "ed.qc"; qd: "ed.qd"; qe: "ed.qe"; qf: "ed.qf"; qg: "ed.qg"; qh: "ed.qh"; qi: "ed.qi"; qj: "ed.qj"; qk: "ed.qk"; ql: "ed.ql"; qm: "ed.qm"; qn: "ed.qn"; qo: "ed.qo"; qp: "ed.qp"; qq: "ed.qq"; qr: "ed.qr"; qs: "ed.qs"; qt: "ed.qt"; qu: "ed.qu"; qv: "ed.qv"; qw: "ed.qw"; qx: "ed.qx"; qy: "ed.qy"; qz: "ed.qz"; ra: "ed.ra"; rb: "ed.rb"; rc: "ed.rc"; rd: "ed.rd"; re: "ed.re"; rf: "ed.rf"; rg: "ed.rg"; rh: "ed.rh"; ri: "ed.ri"; rj: "ed.rj"; rk: "ed.rk"; rl: "ed.rl"; rm: "ed.rm"; rn: "ed.rn"; ro: "ed.ro"; rp: "ed.rp"; rq: "ed.rq"; rr: "ed.rr"; rs: "ed.rs"; rt: "ed.rt"; ru: "ed.ru"; rv: "ed.rv"; rw: "ed.rw"; rx: "ed.rx"; ry: "ed.ry"; rz: "ed.rz"; sa: "ed.sa"; sb: "ed.sb"; sc: "ed.sc"; sd: "ed.sd"; se: "ed.se"; sf: "ed.sf"; sg: "ed.sg"; sh: "ed.sh"; si: "ed.si"; sj: "ed.sj"; sk: "ed.sk"; sl: "ed.sl"; sm: "ed.sm"; sn: "ed.sn"; so: "ed.so"; sp: "ed.sp"; sq: "ed.sq"; sr: "ed.sr"; ss: "ed.ss"; st: "ed.st"; su: "ed.su"; sv: "ed.sv"; sw: "ed.sw"; sx: "ed.sx"; sy: "ed.sy"; sz: "ed.sz"; ta: "ed.ta"; tb: "ed.tb"; tc: "ed.tc"; td: "ed.td"; te: "ed.te"; tf: "ed.tf"; tg: "ed.tg"; th: "ed.th"; ti: "ed.ti"; tj: "ed.tj"; tk: "ed.tk"; tl: "ed.tl"; tm: "ed.tm"; tn: "ed.tn"; to: "ed.to"; tp: "ed.tp"; tq: "ed.tq"; tr: "ed.tr"; ts: "ed.ts"; tt: "ed.tt"; tu: "ed.tu"; tv: "ed.tv"; tw: "ed.tw"; tx: "ed.tx"; ty: "ed.ty"; tz: "ed.tz"; ua: "ed.ua"; ub: "ed.ub"; uc: "ed.uc"; ud: "ed.ud"; ue: "ed.ue"; uf: "ed.uf"; ug: "ed.ug"; uh: "ed.uh"; ui: "ed.ui"; uj: "ed.uj"; uk: "ed.uk"; ul: "ed.ul"; um: "ed.um"; un: "ed.un"; uo: "ed.uo"; up: "ed.up"; uq: "ed.uq"; ur: "ed.ur"; us: "ed.us"; ut: "ed.ut"; uu: "ed.uu"; uv: "ed.uv"; uw: "ed.uw"; ux: "ed.ux"; uy: "ed.uy"; uz: "ed.uz"; va: "ed.va"; vb: "ed.vb"; vc: "ed.vc"; vd: "ed.vd"; ve: "ed.ve"; vf: "ed.vf"; vg: "ed.vg"; vh: "ed.vh"; vi: "ed.vi"; vj: "ed.vj"; vk: "ed.vk"; vl: "ed.vl"; vm: "ed.vm"; vn: "ed.vn"; vo: "ed.vo"; vp: "ed.vp"; vq: "ed.vq"; vr: "ed.vr"; vs: "ed.vs"; vt: "ed.vt"; vu: "ed.vu"; vv: "ed.vv"; vw: "ed.vw"; vx: "ed.vx"; vy: "ed.vy"; vz: "ed.vz"; wa: "ed.wa"; wb: "ed.wb"; wc: "ed.wc"; wd: "ed.wd"; we: "ed.we"; wf: "ed.wf"; wg: "ed.wg"; wh: "ed.wh"; wi: "ed.wi"; wj: "ed.wj"; wk: "ed.wk"; wl: "ed.wl"; wm: "ed.wm"; wn: "ed.wn"; wo: "ed.wo"; wp: "ed.wp"; wq: "ed.wq"; wr: "ed.wr"; ws: "ed.ws"; wt: "ed.wt"; wu: "ed.wu"; wv: "ed.wv"; ww: "ed.ww"; wx: "ed.wx"; wy: "ed.wy"; wz: "ed.wz"; xa: "ed.xa"; xb: "ed.xb"; xc: "ed.xc"; xd: "ed.xd"; xe: "ed.xe"; xf: "ed.xf"; xg: "ed.xg"; xh: "ed.xh"; xi: "ed.xi"; xj: "ed.xj"; xk: "ed.xk"; xl: "ed.xl"; xm: "ed.xm"; xn: "ed.xn"; xo: "ed.xo"; xp: "ed.xp"; xq: "ed.xq"; xr: "ed.xr"; xs: "ed.xs"; xt: "ed.xt"; xu: "ed.xu"; xv: "ed.xv"; xw: "ed.xw"; xx: "ed.xx"; xy: "ed.xy"; xz: "ed.xz"; ya: "ed.ya"; yb: "ed.yb"; yc: "ed.yc"; yd: "ed.yd"; ye: "ed.ye"; yf: "ed.yf"; yg: "ed.yg"; yh: "ed.yh"; yi: "ed.yi"; yj: "ed.yj"; yk: "ed.yk"; yl: "ed.yl"; ym: "ed.ym"; yn: "ed.yn"; yo: "ed.yo"; yp: "ed.yp"; yq: "ed.yq"; yr: "ed.yr"; ys: "ed.ys"; yt: "ed.yt"; yu: "ed.yu"; yv: "ed.yv"; yw: "ed.yw"; yx: "ed.yx"; yy: "ed.yy"; yz: "ed.yz"; za: "ed.za"; zb: "ed.zb"; zc: "ed.zc"; zd: "ed.zd"; ze: "ed.ze"; zf: "ed.zf"; zg: "ed.zg"; zh: "ed.zh"; zi: "ed.zi"; zj: "ed.zj"; zk: "ed.zk"; zl: "ed.zl"; zm: "ed.zm"; zn: "ed.zn"; zo: "ed.zo"; zp: "ed.zp"; zq: "ed.zq"; zr: "ed.zr"; zs: "ed.zs"; zt: "ed.zt"; zu: "ed.zu"; zv: "ed.zv"; zw: "ed.zw"; zx: "ed.zx"; zy: "ed.zy"; zz: "ed.zz"; }; ee: { aa: "ee.aa"; ab: "ee.ab"; ac: "ee.ac"; ad: "ee.ad"; ae: "ee.ae"; af: "ee.af"; ag: "ee.ag"; ah: "ee.ah"; ai: "ee.ai"; aj: "ee.aj"; ak: "ee.ak"; al: "ee.al"; am: "ee.am"; an: "ee.an"; ao: "ee.ao"; ap: "ee.ap"; aq: "ee.aq"; ar: "ee.ar"; as: "ee.as"; at: "ee.at"; au: "ee.au"; av: "ee.av"; aw: "ee.aw"; ax: "ee.ax"; ay: "ee.ay"; az: "ee.az"; ba: "ee.ba"; bb: "ee.bb"; bc: "ee.bc"; bd: "ee.bd"; be: "ee.be"; bf: "ee.bf"; bg: "ee.bg"; bh: "ee.bh"; bi: "ee.bi"; bj: "ee.bj"; bk: "ee.bk"; bl: "ee.bl"; bm: "ee.bm"; bn: "ee.bn"; bo: "ee.bo"; bp: "ee.bp"; bq: "ee.bq"; br: "ee.br"; bs: "ee.bs"; bt: "ee.bt"; bu: "ee.bu"; bv: "ee.bv"; bw: "ee.bw"; bx: "ee.bx"; by: "ee.by"; bz: "ee.bz"; ca: "ee.ca"; cb: "ee.cb"; cc: "ee.cc"; cd: "ee.cd"; ce: "ee.ce"; cf: "ee.cf"; cg: "ee.cg"; ch: "ee.ch"; ci: "ee.ci"; cj: "ee.cj"; ck: "ee.ck"; cl: "ee.cl"; cm: "ee.cm"; cn: "ee.cn"; co: "ee.co"; cp: "ee.cp"; cq: "ee.cq"; cr: "ee.cr"; cs: "ee.cs"; ct: "ee.ct"; cu: "ee.cu"; cv: "ee.cv"; cw: "ee.cw"; cx: "ee.cx"; cy: "ee.cy"; cz: "ee.cz"; da: "ee.da"; db: "ee.db"; dc: "ee.dc"; dd: "ee.dd"; de: "ee.de"; df: "ee.df"; dg: "ee.dg"; dh: "ee.dh"; di: "ee.di"; dj: "ee.dj"; dk: "ee.dk"; dl: "ee.dl"; dm: "ee.dm"; dn: "ee.dn"; do: "ee.do"; dp: "ee.dp"; dq: "ee.dq"; dr: "ee.dr"; ds: "ee.ds"; dt: "ee.dt"; du: "ee.du"; dv: "ee.dv"; dw: "ee.dw"; dx: "ee.dx"; dy: "ee.dy"; dz: "ee.dz"; ea: "ee.ea"; eb: "ee.eb"; ec: "ee.ec"; ed: "ee.ed"; ee: "ee.ee"; ef: "ee.ef"; eg: "ee.eg"; eh: "ee.eh"; ei: "ee.ei"; ej: "ee.ej"; ek: "ee.ek"; el: "ee.el"; em: "ee.em"; en: "ee.en"; eo: "ee.eo"; ep: "ee.ep"; eq: "ee.eq"; er: "ee.er"; es: "ee.es"; et: "ee.et"; eu: "ee.eu"; ev: "ee.ev"; ew: "ee.ew"; ex: "ee.ex"; ey: "ee.ey"; ez: "ee.ez"; fa: "ee.fa"; fb: "ee.fb"; fc: "ee.fc"; fd: "ee.fd"; fe: "ee.fe"; ff: "ee.ff"; fg: "ee.fg"; fh: "ee.fh"; fi: "ee.fi"; fj: "ee.fj"; fk: "ee.fk"; fl: "ee.fl"; fm: "ee.fm"; fn: "ee.fn"; fo: "ee.fo"; fp: "ee.fp"; fq: "ee.fq"; fr: "ee.fr"; fs: "ee.fs"; ft: "ee.ft"; fu: "ee.fu"; fv: "ee.fv"; fw: "ee.fw"; fx: "ee.fx"; fy: "ee.fy"; fz: "ee.fz"; ga: "ee.ga"; gb: "ee.gb"; gc: "ee.gc"; gd: "ee.gd"; ge: "ee.ge"; gf: "ee.gf"; gg: "ee.gg"; gh: "ee.gh"; gi: "ee.gi"; gj: "ee.gj"; gk: "ee.gk"; gl: "ee.gl"; gm: "ee.gm"; gn: "ee.gn"; go: "ee.go"; gp: "ee.gp"; gq: "ee.gq"; gr: "ee.gr"; gs: "ee.gs"; gt: "ee.gt"; gu: "ee.gu"; gv: "ee.gv"; gw: "ee.gw"; gx: "ee.gx"; gy: "ee.gy"; gz: "ee.gz"; ha: "ee.ha"; hb: "ee.hb"; hc: "ee.hc"; hd: "ee.hd"; he: "ee.he"; hf: "ee.hf"; hg: "ee.hg"; hh: "ee.hh"; hi: "ee.hi"; hj: "ee.hj"; hk: "ee.hk"; hl: "ee.hl"; hm: "ee.hm"; hn: "ee.hn"; ho: "ee.ho"; hp: "ee.hp"; hq: "ee.hq"; hr: "ee.hr"; hs: "ee.hs"; ht: "ee.ht"; hu: "ee.hu"; hv: "ee.hv"; hw: "ee.hw"; hx: "ee.hx"; hy: "ee.hy"; hz: "ee.hz"; ia: "ee.ia"; ib: "ee.ib"; ic: "ee.ic"; id: "ee.id"; ie: "ee.ie"; if: "ee.if"; ig: "ee.ig"; ih: "ee.ih"; ii: "ee.ii"; ij: "ee.ij"; ik: "ee.ik"; il: "ee.il"; im: "ee.im"; in: "ee.in"; io: "ee.io"; ip: "ee.ip"; iq: "ee.iq"; ir: "ee.ir"; is: "ee.is"; it: "ee.it"; iu: "ee.iu"; iv: "ee.iv"; iw: "ee.iw"; ix: "ee.ix"; iy: "ee.iy"; iz: "ee.iz"; ja: "ee.ja"; jb: "ee.jb"; jc: "ee.jc"; jd: "ee.jd"; je: "ee.je"; jf: "ee.jf"; jg: "ee.jg"; jh: "ee.jh"; ji: "ee.ji"; jj: "ee.jj"; jk: "ee.jk"; jl: "ee.jl"; jm: "ee.jm"; jn: "ee.jn"; jo: "ee.jo"; jp: "ee.jp"; jq: "ee.jq"; jr: "ee.jr"; js: "ee.js"; jt: "ee.jt"; ju: "ee.ju"; jv: "ee.jv"; jw: "ee.jw"; jx: "ee.jx"; jy: "ee.jy"; jz: "ee.jz"; ka: "ee.ka"; kb: "ee.kb"; kc: "ee.kc"; kd: "ee.kd"; ke: "ee.ke"; kf: "ee.kf"; kg: "ee.kg"; kh: "ee.kh"; ki: "ee.ki"; kj: "ee.kj"; kk: "ee.kk"; kl: "ee.kl"; km: "ee.km"; kn: "ee.kn"; ko: "ee.ko"; kp: "ee.kp"; kq: "ee.kq"; kr: "ee.kr"; ks: "ee.ks"; kt: "ee.kt"; ku: "ee.ku"; kv: "ee.kv"; kw: "ee.kw"; kx: "ee.kx"; ky: "ee.ky"; kz: "ee.kz"; la: "ee.la"; lb: "ee.lb"; lc: "ee.lc"; ld: "ee.ld"; le: "ee.le"; lf: "ee.lf"; lg: "ee.lg"; lh: "ee.lh"; li: "ee.li"; lj: "ee.lj"; lk: "ee.lk"; ll: "ee.ll"; lm: "ee.lm"; ln: "ee.ln"; lo: "ee.lo"; lp: "ee.lp"; lq: "ee.lq"; lr: "ee.lr"; ls: "ee.ls"; lt: "ee.lt"; lu: "ee.lu"; lv: "ee.lv"; lw: "ee.lw"; lx: "ee.lx"; ly: "ee.ly"; lz: "ee.lz"; ma: "ee.ma"; mb: "ee.mb"; mc: "ee.mc"; md: "ee.md"; me: "ee.me"; mf: "ee.mf"; mg: "ee.mg"; mh: "ee.mh"; mi: "ee.mi"; mj: "ee.mj"; mk: "ee.mk"; ml: "ee.ml"; mm: "ee.mm"; mn: "ee.mn"; mo: "ee.mo"; mp: "ee.mp"; mq: "ee.mq"; mr: "ee.mr"; ms: "ee.ms"; mt: "ee.mt"; mu: "ee.mu"; mv: "ee.mv"; mw: "ee.mw"; mx: "ee.mx"; my: "ee.my"; mz: "ee.mz"; na: "ee.na"; nb: "ee.nb"; nc: "ee.nc"; nd: "ee.nd"; ne: "ee.ne"; nf: "ee.nf"; ng: "ee.ng"; nh: "ee.nh"; ni: "ee.ni"; nj: "ee.nj"; nk: "ee.nk"; nl: "ee.nl"; nm: "ee.nm"; nn: "ee.nn"; no: "ee.no"; np: "ee.np"; nq: "ee.nq"; nr: "ee.nr"; ns: "ee.ns"; nt: "ee.nt"; nu: "ee.nu"; nv: "ee.nv"; nw: "ee.nw"; nx: "ee.nx"; ny: "ee.ny"; nz: "ee.nz"; oa: "ee.oa"; ob: "ee.ob"; oc: "ee.oc"; od: "ee.od"; oe: "ee.oe"; of: "ee.of"; og: "ee.og"; oh: "ee.oh"; oi: "ee.oi"; oj: "ee.oj"; ok: "ee.ok"; ol: "ee.ol"; om: "ee.om"; on: "ee.on"; oo: "ee.oo"; op: "ee.op"; oq: "ee.oq"; or: "ee.or"; os: "ee.os"; ot: "ee.ot"; ou: "ee.ou"; ov: "ee.ov"; ow: "ee.ow"; ox: "ee.ox"; oy: "ee.oy"; oz: "ee.oz"; pa: "ee.pa"; pb: "ee.pb"; pc: "ee.pc"; pd: "ee.pd"; pe: "ee.pe"; pf: "ee.pf"; pg: "ee.pg"; ph: "ee.ph"; pi: "ee.pi"; pj: "ee.pj"; pk: "ee.pk"; pl: "ee.pl"; pm: "ee.pm"; pn: "ee.pn"; po: "ee.po"; pp: "ee.pp"; pq: "ee.pq"; pr: "ee.pr"; ps: "ee.ps"; pt: "ee.pt"; pu: "ee.pu"; pv: "ee.pv"; pw: "ee.pw"; px: "ee.px"; py: "ee.py"; pz: "ee.pz"; qa: "ee.qa"; qb: "ee.qb"; qc: "ee.qc"; qd: "ee.qd"; qe: "ee.qe"; qf: "ee.qf"; qg: "ee.qg"; qh: "ee.qh"; qi: "ee.qi"; qj: "ee.qj"; qk: "ee.qk"; ql: "ee.ql"; qm: "ee.qm"; qn: "ee.qn"; qo: "ee.qo"; qp: "ee.qp"; qq: "ee.qq"; qr: "ee.qr"; qs: "ee.qs"; qt: "ee.qt"; qu: "ee.qu"; qv: "ee.qv"; qw: "ee.qw"; qx: "ee.qx"; qy: "ee.qy"; qz: "ee.qz"; ra: "ee.ra"; rb: "ee.rb"; rc: "ee.rc"; rd: "ee.rd"; re: "ee.re"; rf: "ee.rf"; rg: "ee.rg"; rh: "ee.rh"; ri: "ee.ri"; rj: "ee.rj"; rk: "ee.rk"; rl: "ee.rl"; rm: "ee.rm"; rn: "ee.rn"; ro: "ee.ro"; rp: "ee.rp"; rq: "ee.rq"; rr: "ee.rr"; rs: "ee.rs"; rt: "ee.rt"; ru: "ee.ru"; rv: "ee.rv"; rw: "ee.rw"; rx: "ee.rx"; ry: "ee.ry"; rz: "ee.rz"; sa: "ee.sa"; sb: "ee.sb"; sc: "ee.sc"; sd: "ee.sd"; se: "ee.se"; sf: "ee.sf"; sg: "ee.sg"; sh: "ee.sh"; si: "ee.si"; sj: "ee.sj"; sk: "ee.sk"; sl: "ee.sl"; sm: "ee.sm"; sn: "ee.sn"; so: "ee.so"; sp: "ee.sp"; sq: "ee.sq"; sr: "ee.sr"; ss: "ee.ss"; st: "ee.st"; su: "ee.su"; sv: "ee.sv"; sw: "ee.sw"; sx: "ee.sx"; sy: "ee.sy"; sz: "ee.sz"; ta: "ee.ta"; tb: "ee.tb"; tc: "ee.tc"; td: "ee.td"; te: "ee.te"; tf: "ee.tf"; tg: "ee.tg"; th: "ee.th"; ti: "ee.ti"; tj: "ee.tj"; tk: "ee.tk"; tl: "ee.tl"; tm: "ee.tm"; tn: "ee.tn"; to: "ee.to"; tp: "ee.tp"; tq: "ee.tq"; tr: "ee.tr"; ts: "ee.ts"; tt: "ee.tt"; tu: "ee.tu"; tv: "ee.tv"; tw: "ee.tw"; tx: "ee.tx"; ty: "ee.ty"; tz: "ee.tz"; ua: "ee.ua"; ub: "ee.ub"; uc: "ee.uc"; ud: "ee.ud"; ue: "ee.ue"; uf: "ee.uf"; ug: "ee.ug"; uh: "ee.uh"; ui: "ee.ui"; uj: "ee.uj"; uk: "ee.uk"; ul: "ee.ul"; um: "ee.um"; un: "ee.un"; uo: "ee.uo"; up: "ee.up"; uq: "ee.uq"; ur: "ee.ur"; us: "ee.us"; ut: "ee.ut"; uu: "ee.uu"; uv: "ee.uv"; uw: "ee.uw"; ux: "ee.ux"; uy: "ee.uy"; uz: "ee.uz"; va: "ee.va"; vb: "ee.vb"; vc: "ee.vc"; vd: "ee.vd"; ve: "ee.ve"; vf: "ee.vf"; vg: "ee.vg"; vh: "ee.vh"; vi: "ee.vi"; vj: "ee.vj"; vk: "ee.vk"; vl: "ee.vl"; vm: "ee.vm"; vn: "ee.vn"; vo: "ee.vo"; vp: "ee.vp"; vq: "ee.vq"; vr: "ee.vr"; vs: "ee.vs"; vt: "ee.vt"; vu: "ee.vu"; vv: "ee.vv"; vw: "ee.vw"; vx: "ee.vx"; vy: "ee.vy"; vz: "ee.vz"; wa: "ee.wa"; wb: "ee.wb"; wc: "ee.wc"; wd: "ee.wd"; we: "ee.we"; wf: "ee.wf"; wg: "ee.wg"; wh: "ee.wh"; wi: "ee.wi"; wj: "ee.wj"; wk: "ee.wk"; wl: "ee.wl"; wm: "ee.wm"; wn: "ee.wn"; wo: "ee.wo"; wp: "ee.wp"; wq: "ee.wq"; wr: "ee.wr"; ws: "ee.ws"; wt: "ee.wt"; wu: "ee.wu"; wv: "ee.wv"; ww: "ee.ww"; wx: "ee.wx"; wy: "ee.wy"; wz: "ee.wz"; xa: "ee.xa"; xb: "ee.xb"; xc: "ee.xc"; xd: "ee.xd"; xe: "ee.xe"; xf: "ee.xf"; xg: "ee.xg"; xh: "ee.xh"; xi: "ee.xi"; xj: "ee.xj"; xk: "ee.xk"; xl: "ee.xl"; xm: "ee.xm"; xn: "ee.xn"; xo: "ee.xo"; xp: "ee.xp"; xq: "ee.xq"; xr: "ee.xr"; xs: "ee.xs"; xt: "ee.xt"; xu: "ee.xu"; xv: "ee.xv"; xw: "ee.xw"; xx: "ee.xx"; xy: "ee.xy"; xz: "ee.xz"; ya: "ee.ya"; yb: "ee.yb"; yc: "ee.yc"; yd: "ee.yd"; ye: "ee.ye"; yf: "ee.yf"; yg: "ee.yg"; yh: "ee.yh"; yi: "ee.yi"; yj: "ee.yj"; yk: "ee.yk"; yl: "ee.yl"; ym: "ee.ym"; yn: "ee.yn"; yo: "ee.yo"; yp: "ee.yp"; yq: "ee.yq"; yr: "ee.yr"; ys: "ee.ys"; yt: "ee.yt"; yu: "ee.yu"; yv: "ee.yv"; yw: "ee.yw"; yx: "ee.yx"; yy: "ee.yy"; yz: "ee.yz"; za: "ee.za"; zb: "ee.zb"; zc: "ee.zc"; zd: "ee.zd"; ze: "ee.ze"; zf: "ee.zf"; zg: "ee.zg"; zh: "ee.zh"; zi: "ee.zi"; zj: "ee.zj"; zk: "ee.zk"; zl: "ee.zl"; zm: "ee.zm"; zn: "ee.zn"; zo: "ee.zo"; zp: "ee.zp"; zq: "ee.zq"; zr: "ee.zr"; zs: "ee.zs"; zt: "ee.zt"; zu: "ee.zu"; zv: "ee.zv"; zw: "ee.zw"; zx: "ee.zx"; zy: "ee.zy"; zz: "ee.zz"; }; ef: { aa: "ef.aa"; ab: "ef.ab"; ac: "ef.ac"; ad: "ef.ad"; ae: "ef.ae"; af: "ef.af"; ag: "ef.ag"; ah: "ef.ah"; ai: "ef.ai"; aj: "ef.aj"; ak: "ef.ak"; al: "ef.al"; am: "ef.am"; an: "ef.an"; ao: "ef.ao"; ap: "ef.ap"; aq: "ef.aq"; ar: "ef.ar"; as: "ef.as"; at: "ef.at"; au: "ef.au"; av: "ef.av"; aw: "ef.aw"; ax: "ef.ax"; ay: "ef.ay"; az: "ef.az"; ba: "ef.ba"; bb: "ef.bb"; bc: "ef.bc"; bd: "ef.bd"; be: "ef.be"; bf: "ef.bf"; bg: "ef.bg"; bh: "ef.bh"; bi: "ef.bi"; bj: "ef.bj"; bk: "ef.bk"; bl: "ef.bl"; bm: "ef.bm"; bn: "ef.bn"; bo: "ef.bo"; bp: "ef.bp"; bq: "ef.bq"; br: "ef.br"; bs: "ef.bs"; bt: "ef.bt"; bu: "ef.bu"; bv: "ef.bv"; bw: "ef.bw"; bx: "ef.bx"; by: "ef.by"; bz: "ef.bz"; ca: "ef.ca"; cb: "ef.cb"; cc: "ef.cc"; cd: "ef.cd"; ce: "ef.ce"; cf: "ef.cf"; cg: "ef.cg"; ch: "ef.ch"; ci: "ef.ci"; cj: "ef.cj"; ck: "ef.ck"; cl: "ef.cl"; cm: "ef.cm"; cn: "ef.cn"; co: "ef.co"; cp: "ef.cp"; cq: "ef.cq"; cr: "ef.cr"; cs: "ef.cs"; ct: "ef.ct"; cu: "ef.cu"; cv: "ef.cv"; cw: "ef.cw"; cx: "ef.cx"; cy: "ef.cy"; cz: "ef.cz"; da: "ef.da"; db: "ef.db"; dc: "ef.dc"; dd: "ef.dd"; de: "ef.de"; df: "ef.df"; dg: "ef.dg"; dh: "ef.dh"; di: "ef.di"; dj: "ef.dj"; dk: "ef.dk"; dl: "ef.dl"; dm: "ef.dm"; dn: "ef.dn"; do: "ef.do"; dp: "ef.dp"; dq: "ef.dq"; dr: "ef.dr"; ds: "ef.ds"; dt: "ef.dt"; du: "ef.du"; dv: "ef.dv"; dw: "ef.dw"; dx: "ef.dx"; dy: "ef.dy"; dz: "ef.dz"; ea: "ef.ea"; eb: "ef.eb"; ec: "ef.ec"; ed: "ef.ed"; ee: "ef.ee"; ef: "ef.ef"; eg: "ef.eg"; eh: "ef.eh"; ei: "ef.ei"; ej: "ef.ej"; ek: "ef.ek"; el: "ef.el"; em: "ef.em"; en: "ef.en"; eo: "ef.eo"; ep: "ef.ep"; eq: "ef.eq"; er: "ef.er"; es: "ef.es"; et: "ef.et"; eu: "ef.eu"; ev: "ef.ev"; ew: "ef.ew"; ex: "ef.ex"; ey: "ef.ey"; ez: "ef.ez"; fa: "ef.fa"; fb: "ef.fb"; fc: "ef.fc"; fd: "ef.fd"; fe: "ef.fe"; ff: "ef.ff"; fg: "ef.fg"; fh: "ef.fh"; fi: "ef.fi"; fj: "ef.fj"; fk: "ef.fk"; fl: "ef.fl"; fm: "ef.fm"; fn: "ef.fn"; fo: "ef.fo"; fp: "ef.fp"; fq: "ef.fq"; fr: "ef.fr"; fs: "ef.fs"; ft: "ef.ft"; fu: "ef.fu"; fv: "ef.fv"; fw: "ef.fw"; fx: "ef.fx"; fy: "ef.fy"; fz: "ef.fz"; ga: "ef.ga"; gb: "ef.gb"; gc: "ef.gc"; gd: "ef.gd"; ge: "ef.ge"; gf: "ef.gf"; gg: "ef.gg"; gh: "ef.gh"; gi: "ef.gi"; gj: "ef.gj"; gk: "ef.gk"; gl: "ef.gl"; gm: "ef.gm"; gn: "ef.gn"; go: "ef.go"; gp: "ef.gp"; gq: "ef.gq"; gr: "ef.gr"; gs: "ef.gs"; gt: "ef.gt"; gu: "ef.gu"; gv: "ef.gv"; gw: "ef.gw"; gx: "ef.gx"; gy: "ef.gy"; gz: "ef.gz"; ha: "ef.ha"; hb: "ef.hb"; hc: "ef.hc"; hd: "ef.hd"; he: "ef.he"; hf: "ef.hf"; hg: "ef.hg"; hh: "ef.hh"; hi: "ef.hi"; hj: "ef.hj"; hk: "ef.hk"; hl: "ef.hl"; hm: "ef.hm"; hn: "ef.hn"; ho: "ef.ho"; hp: "ef.hp"; hq: "ef.hq"; hr: "ef.hr"; hs: "ef.hs"; ht: "ef.ht"; hu: "ef.hu"; hv: "ef.hv"; hw: "ef.hw"; hx: "ef.hx"; hy: "ef.hy"; hz: "ef.hz"; ia: "ef.ia"; ib: "ef.ib"; ic: "ef.ic"; id: "ef.id"; ie: "ef.ie"; if: "ef.if"; ig: "ef.ig"; ih: "ef.ih"; ii: "ef.ii"; ij: "ef.ij"; ik: "ef.ik"; il: "ef.il"; im: "ef.im"; in: "ef.in"; io: "ef.io"; ip: "ef.ip"; iq: "ef.iq"; ir: "ef.ir"; is: "ef.is"; it: "ef.it"; iu: "ef.iu"; iv: "ef.iv"; iw: "ef.iw"; ix: "ef.ix"; iy: "ef.iy"; iz: "ef.iz"; ja: "ef.ja"; jb: "ef.jb"; jc: "ef.jc"; jd: "ef.jd"; je: "ef.je"; jf: "ef.jf"; jg: "ef.jg"; jh: "ef.jh"; ji: "ef.ji"; jj: "ef.jj"; jk: "ef.jk"; jl: "ef.jl"; jm: "ef.jm"; jn: "ef.jn"; jo: "ef.jo"; jp: "ef.jp"; jq: "ef.jq"; jr: "ef.jr"; js: "ef.js"; jt: "ef.jt"; ju: "ef.ju"; jv: "ef.jv"; jw: "ef.jw"; jx: "ef.jx"; jy: "ef.jy"; jz: "ef.jz"; ka: "ef.ka"; kb: "ef.kb"; kc: "ef.kc"; kd: "ef.kd"; ke: "ef.ke"; kf: "ef.kf"; kg: "ef.kg"; kh: "ef.kh"; ki: "ef.ki"; kj: "ef.kj"; kk: "ef.kk"; kl: "ef.kl"; km: "ef.km"; kn: "ef.kn"; ko: "ef.ko"; kp: "ef.kp"; kq: "ef.kq"; kr: "ef.kr"; ks: "ef.ks"; kt: "ef.kt"; ku: "ef.ku"; kv: "ef.kv"; kw: "ef.kw"; kx: "ef.kx"; ky: "ef.ky"; kz: "ef.kz"; la: "ef.la"; lb: "ef.lb"; lc: "ef.lc"; ld: "ef.ld"; le: "ef.le"; lf: "ef.lf"; lg: "ef.lg"; lh: "ef.lh"; li: "ef.li"; lj: "ef.lj"; lk: "ef.lk"; ll: "ef.ll"; lm: "ef.lm"; ln: "ef.ln"; lo: "ef.lo"; lp: "ef.lp"; lq: "ef.lq"; lr: "ef.lr"; ls: "ef.ls"; lt: "ef.lt"; lu: "ef.lu"; lv: "ef.lv"; lw: "ef.lw"; lx: "ef.lx"; ly: "ef.ly"; lz: "ef.lz"; ma: "ef.ma"; mb: "ef.mb"; mc: "ef.mc"; md: "ef.md"; me: "ef.me"; mf: "ef.mf"; mg: "ef.mg"; mh: "ef.mh"; mi: "ef.mi"; mj: "ef.mj"; mk: "ef.mk"; ml: "ef.ml"; mm: "ef.mm"; mn: "ef.mn"; mo: "ef.mo"; mp: "ef.mp"; mq: "ef.mq"; mr: "ef.mr"; ms: "ef.ms"; mt: "ef.mt"; mu: "ef.mu"; mv: "ef.mv"; mw: "ef.mw"; mx: "ef.mx"; my: "ef.my"; mz: "ef.mz"; na: "ef.na"; nb: "ef.nb"; nc: "ef.nc"; nd: "ef.nd"; ne: "ef.ne"; nf: "ef.nf"; ng: "ef.ng"; nh: "ef.nh"; ni: "ef.ni"; nj: "ef.nj"; nk: "ef.nk"; nl: "ef.nl"; nm: "ef.nm"; nn: "ef.nn"; no: "ef.no"; np: "ef.np"; nq: "ef.nq"; nr: "ef.nr"; ns: "ef.ns"; nt: "ef.nt"; nu: "ef.nu"; nv: "ef.nv"; nw: "ef.nw"; nx: "ef.nx"; ny: "ef.ny"; nz: "ef.nz"; oa: "ef.oa"; ob: "ef.ob"; oc: "ef.oc"; od: "ef.od"; oe: "ef.oe"; of: "ef.of"; og: "ef.og"; oh: "ef.oh"; oi: "ef.oi"; oj: "ef.oj"; ok: "ef.ok"; ol: "ef.ol"; om: "ef.om"; on: "ef.on"; oo: "ef.oo"; op: "ef.op"; oq: "ef.oq"; or: "ef.or"; os: "ef.os"; ot: "ef.ot"; ou: "ef.ou"; ov: "ef.ov"; ow: "ef.ow"; ox: "ef.ox"; oy: "ef.oy"; oz: "ef.oz"; pa: "ef.pa"; pb: "ef.pb"; pc: "ef.pc"; pd: "ef.pd"; pe: "ef.pe"; pf: "ef.pf"; pg: "ef.pg"; ph: "ef.ph"; pi: "ef.pi"; pj: "ef.pj"; pk: "ef.pk"; pl: "ef.pl"; pm: "ef.pm"; pn: "ef.pn"; po: "ef.po"; pp: "ef.pp"; pq: "ef.pq"; pr: "ef.pr"; ps: "ef.ps"; pt: "ef.pt"; pu: "ef.pu"; pv: "ef.pv"; pw: "ef.pw"; px: "ef.px"; py: "ef.py"; pz: "ef.pz"; qa: "ef.qa"; qb: "ef.qb"; qc: "ef.qc"; qd: "ef.qd"; qe: "ef.qe"; qf: "ef.qf"; qg: "ef.qg"; qh: "ef.qh"; qi: "ef.qi"; qj: "ef.qj"; qk: "ef.qk"; ql: "ef.ql"; qm: "ef.qm"; qn: "ef.qn"; qo: "ef.qo"; qp: "ef.qp"; qq: "ef.qq"; qr: "ef.qr"; qs: "ef.qs"; qt: "ef.qt"; qu: "ef.qu"; qv: "ef.qv"; qw: "ef.qw"; qx: "ef.qx"; qy: "ef.qy"; qz: "ef.qz"; ra: "ef.ra"; rb: "ef.rb"; rc: "ef.rc"; rd: "ef.rd"; re: "ef.re"; rf: "ef.rf"; rg: "ef.rg"; rh: "ef.rh"; ri: "ef.ri"; rj: "ef.rj"; rk: "ef.rk"; rl: "ef.rl"; rm: "ef.rm"; rn: "ef.rn"; ro: "ef.ro"; rp: "ef.rp"; rq: "ef.rq"; rr: "ef.rr"; rs: "ef.rs"; rt: "ef.rt"; ru: "ef.ru"; rv: "ef.rv"; rw: "ef.rw"; rx: "ef.rx"; ry: "ef.ry"; rz: "ef.rz"; sa: "ef.sa"; sb: "ef.sb"; sc: "ef.sc"; sd: "ef.sd"; se: "ef.se"; sf: "ef.sf"; sg: "ef.sg"; sh: "ef.sh"; si: "ef.si"; sj: "ef.sj"; sk: "ef.sk"; sl: "ef.sl"; sm: "ef.sm"; sn: "ef.sn"; so: "ef.so"; sp: "ef.sp"; sq: "ef.sq"; sr: "ef.sr"; ss: "ef.ss"; st: "ef.st"; su: "ef.su"; sv: "ef.sv"; sw: "ef.sw"; sx: "ef.sx"; sy: "ef.sy"; sz: "ef.sz"; ta: "ef.ta"; tb: "ef.tb"; tc: "ef.tc"; td: "ef.td"; te: "ef.te"; tf: "ef.tf"; tg: "ef.tg"; th: "ef.th"; ti: "ef.ti"; tj: "ef.tj"; tk: "ef.tk"; tl: "ef.tl"; tm: "ef.tm"; tn: "ef.tn"; to: "ef.to"; tp: "ef.tp"; tq: "ef.tq"; tr: "ef.tr"; ts: "ef.ts"; tt: "ef.tt"; tu: "ef.tu"; tv: "ef.tv"; tw: "ef.tw"; tx: "ef.tx"; ty: "ef.ty"; tz: "ef.tz"; ua: "ef.ua"; ub: "ef.ub"; uc: "ef.uc"; ud: "ef.ud"; ue: "ef.ue"; uf: "ef.uf"; ug: "ef.ug"; uh: "ef.uh"; ui: "ef.ui"; uj: "ef.uj"; uk: "ef.uk"; ul: "ef.ul"; um: "ef.um"; un: "ef.un"; uo: "ef.uo"; up: "ef.up"; uq: "ef.uq"; ur: "ef.ur"; us: "ef.us"; ut: "ef.ut"; uu: "ef.uu"; uv: "ef.uv"; uw: "ef.uw"; ux: "ef.ux"; uy: "ef.uy"; uz: "ef.uz"; va: "ef.va"; vb: "ef.vb"; vc: "ef.vc"; vd: "ef.vd"; ve: "ef.ve"; vf: "ef.vf"; vg: "ef.vg"; vh: "ef.vh"; vi: "ef.vi"; vj: "ef.vj"; vk: "ef.vk"; vl: "ef.vl"; vm: "ef.vm"; vn: "ef.vn"; vo: "ef.vo"; vp: "ef.vp"; vq: "ef.vq"; vr: "ef.vr"; vs: "ef.vs"; vt: "ef.vt"; vu: "ef.vu"; vv: "ef.vv"; vw: "ef.vw"; vx: "ef.vx"; vy: "ef.vy"; vz: "ef.vz"; wa: "ef.wa"; wb: "ef.wb"; wc: "ef.wc"; wd: "ef.wd"; we: "ef.we"; wf: "ef.wf"; wg: "ef.wg"; wh: "ef.wh"; wi: "ef.wi"; wj: "ef.wj"; wk: "ef.wk"; wl: "ef.wl"; wm: "ef.wm"; wn: "ef.wn"; wo: "ef.wo"; wp: "ef.wp"; wq: "ef.wq"; wr: "ef.wr"; ws: "ef.ws"; wt: "ef.wt"; wu: "ef.wu"; wv: "ef.wv"; ww: "ef.ww"; wx: "ef.wx"; wy: "ef.wy"; wz: "ef.wz"; xa: "ef.xa"; xb: "ef.xb"; xc: "ef.xc"; xd: "ef.xd"; xe: "ef.xe"; xf: "ef.xf"; xg: "ef.xg"; xh: "ef.xh"; xi: "ef.xi"; xj: "ef.xj"; xk: "ef.xk"; xl: "ef.xl"; xm: "ef.xm"; xn: "ef.xn"; xo: "ef.xo"; xp: "ef.xp"; xq: "ef.xq"; xr: "ef.xr"; xs: "ef.xs"; xt: "ef.xt"; xu: "ef.xu"; xv: "ef.xv"; xw: "ef.xw"; xx: "ef.xx"; xy: "ef.xy"; xz: "ef.xz"; ya: "ef.ya"; yb: "ef.yb"; yc: "ef.yc"; yd: "ef.yd"; ye: "ef.ye"; yf: "ef.yf"; yg: "ef.yg"; yh: "ef.yh"; yi: "ef.yi"; yj: "ef.yj"; yk: "ef.yk"; yl: "ef.yl"; ym: "ef.ym"; yn: "ef.yn"; yo: "ef.yo"; yp: "ef.yp"; yq: "ef.yq"; yr: "ef.yr"; ys: "ef.ys"; yt: "ef.yt"; yu: "ef.yu"; yv: "ef.yv"; yw: "ef.yw"; yx: "ef.yx"; yy: "ef.yy"; yz: "ef.yz"; za: "ef.za"; zb: "ef.zb"; zc: "ef.zc"; zd: "ef.zd"; ze: "ef.ze"; zf: "ef.zf"; zg: "ef.zg"; zh: "ef.zh"; zi: "ef.zi"; zj: "ef.zj"; zk: "ef.zk"; zl: "ef.zl"; zm: "ef.zm"; zn: "ef.zn"; zo: "ef.zo"; zp: "ef.zp"; zq: "ef.zq"; zr: "ef.zr"; zs: "ef.zs"; zt: "ef.zt"; zu: "ef.zu"; zv: "ef.zv"; zw: "ef.zw"; zx: "ef.zx"; zy: "ef.zy"; zz: "ef.zz"; }; eg: { aa: "eg.aa"; ab: "eg.ab"; ac: "eg.ac"; ad: "eg.ad"; ae: "eg.ae"; af: "eg.af"; ag: "eg.ag"; ah: "eg.ah"; ai: "eg.ai"; aj: "eg.aj"; ak: "eg.ak"; al: "eg.al"; am: "eg.am"; an: "eg.an"; ao: "eg.ao"; ap: "eg.ap"; aq: "eg.aq"; ar: "eg.ar"; as: "eg.as"; at: "eg.at"; au: "eg.au"; av: "eg.av"; aw: "eg.aw"; ax: "eg.ax"; ay: "eg.ay"; az: "eg.az"; ba: "eg.ba"; bb: "eg.bb"; bc: "eg.bc"; bd: "eg.bd"; be: "eg.be"; bf: "eg.bf"; bg: "eg.bg"; bh: "eg.bh"; bi: "eg.bi"; bj: "eg.bj"; bk: "eg.bk"; bl: "eg.bl"; bm: "eg.bm"; bn: "eg.bn"; bo: "eg.bo"; bp: "eg.bp"; bq: "eg.bq"; br: "eg.br"; bs: "eg.bs"; bt: "eg.bt"; bu: "eg.bu"; bv: "eg.bv"; bw: "eg.bw"; bx: "eg.bx"; by: "eg.by"; bz: "eg.bz"; ca: "eg.ca"; cb: "eg.cb"; cc: "eg.cc"; cd: "eg.cd"; ce: "eg.ce"; cf: "eg.cf"; cg: "eg.cg"; ch: "eg.ch"; ci: "eg.ci"; cj: "eg.cj"; ck: "eg.ck"; cl: "eg.cl"; cm: "eg.cm"; cn: "eg.cn"; co: "eg.co"; cp: "eg.cp"; cq: "eg.cq"; cr: "eg.cr"; cs: "eg.cs"; ct: "eg.ct"; cu: "eg.cu"; cv: "eg.cv"; cw: "eg.cw"; cx: "eg.cx"; cy: "eg.cy"; cz: "eg.cz"; da: "eg.da"; db: "eg.db"; dc: "eg.dc"; dd: "eg.dd"; de: "eg.de"; df: "eg.df"; dg: "eg.dg"; dh: "eg.dh"; di: "eg.di"; dj: "eg.dj"; dk: "eg.dk"; dl: "eg.dl"; dm: "eg.dm"; dn: "eg.dn"; do: "eg.do"; dp: "eg.dp"; dq: "eg.dq"; dr: "eg.dr"; ds: "eg.ds"; dt: "eg.dt"; du: "eg.du"; dv: "eg.dv"; dw: "eg.dw"; dx: "eg.dx"; dy: "eg.dy"; dz: "eg.dz"; ea: "eg.ea"; eb: "eg.eb"; ec: "eg.ec"; ed: "eg.ed"; ee: "eg.ee"; ef: "eg.ef"; eg: "eg.eg"; eh: "eg.eh"; ei: "eg.ei"; ej: "eg.ej"; ek: "eg.ek"; el: "eg.el"; em: "eg.em"; en: "eg.en"; eo: "eg.eo"; ep: "eg.ep"; eq: "eg.eq"; er: "eg.er"; es: "eg.es"; et: "eg.et"; eu: "eg.eu"; ev: "eg.ev"; ew: "eg.ew"; ex: "eg.ex"; ey: "eg.ey"; ez: "eg.ez"; fa: "eg.fa"; fb: "eg.fb"; fc: "eg.fc"; fd: "eg.fd"; fe: "eg.fe"; ff: "eg.ff"; fg: "eg.fg"; fh: "eg.fh"; fi: "eg.fi"; fj: "eg.fj"; fk: "eg.fk"; fl: "eg.fl"; fm: "eg.fm"; fn: "eg.fn"; fo: "eg.fo"; fp: "eg.fp"; fq: "eg.fq"; fr: "eg.fr"; fs: "eg.fs"; ft: "eg.ft"; fu: "eg.fu"; fv: "eg.fv"; fw: "eg.fw"; fx: "eg.fx"; fy: "eg.fy"; fz: "eg.fz"; ga: "eg.ga"; gb: "eg.gb"; gc: "eg.gc"; gd: "eg.gd"; ge: "eg.ge"; gf: "eg.gf"; gg: "eg.gg"; gh: "eg.gh"; gi: "eg.gi"; gj: "eg.gj"; gk: "eg.gk"; gl: "eg.gl"; gm: "eg.gm"; gn: "eg.gn"; go: "eg.go"; gp: "eg.gp"; gq: "eg.gq"; gr: "eg.gr"; gs: "eg.gs"; gt: "eg.gt"; gu: "eg.gu"; gv: "eg.gv"; gw: "eg.gw"; gx: "eg.gx"; gy: "eg.gy"; gz: "eg.gz"; ha: "eg.ha"; hb: "eg.hb"; hc: "eg.hc"; hd: "eg.hd"; he: "eg.he"; hf: "eg.hf"; hg: "eg.hg"; hh: "eg.hh"; hi: "eg.hi"; hj: "eg.hj"; hk: "eg.hk"; hl: "eg.hl"; hm: "eg.hm"; hn: "eg.hn"; ho: "eg.ho"; hp: "eg.hp"; hq: "eg.hq"; hr: "eg.hr"; hs: "eg.hs"; ht: "eg.ht"; hu: "eg.hu"; hv: "eg.hv"; hw: "eg.hw"; hx: "eg.hx"; hy: "eg.hy"; hz: "eg.hz"; ia: "eg.ia"; ib: "eg.ib"; ic: "eg.ic"; id: "eg.id"; ie: "eg.ie"; if: "eg.if"; ig: "eg.ig"; ih: "eg.ih"; ii: "eg.ii"; ij: "eg.ij"; ik: "eg.ik"; il: "eg.il"; im: "eg.im"; in: "eg.in"; io: "eg.io"; ip: "eg.ip"; iq: "eg.iq"; ir: "eg.ir"; is: "eg.is"; it: "eg.it"; iu: "eg.iu"; iv: "eg.iv"; iw: "eg.iw"; ix: "eg.ix"; iy: "eg.iy"; iz: "eg.iz"; ja: "eg.ja"; jb: "eg.jb"; jc: "eg.jc"; jd: "eg.jd"; je: "eg.je"; jf: "eg.jf"; jg: "eg.jg"; jh: "eg.jh"; ji: "eg.ji"; jj: "eg.jj"; jk: "eg.jk"; jl: "eg.jl"; jm: "eg.jm"; jn: "eg.jn"; jo: "eg.jo"; jp: "eg.jp"; jq: "eg.jq"; jr: "eg.jr"; js: "eg.js"; jt: "eg.jt"; ju: "eg.ju"; jv: "eg.jv"; jw: "eg.jw"; jx: "eg.jx"; jy: "eg.jy"; jz: "eg.jz"; ka: "eg.ka"; kb: "eg.kb"; kc: "eg.kc"; kd: "eg.kd"; ke: "eg.ke"; kf: "eg.kf"; kg: "eg.kg"; kh: "eg.kh"; ki: "eg.ki"; kj: "eg.kj"; kk: "eg.kk"; kl: "eg.kl"; km: "eg.km"; kn: "eg.kn"; ko: "eg.ko"; kp: "eg.kp"; kq: "eg.kq"; kr: "eg.kr"; ks: "eg.ks"; kt: "eg.kt"; ku: "eg.ku"; kv: "eg.kv"; kw: "eg.kw"; kx: "eg.kx"; ky: "eg.ky"; kz: "eg.kz"; la: "eg.la"; lb: "eg.lb"; lc: "eg.lc"; ld: "eg.ld"; le: "eg.le"; lf: "eg.lf"; lg: "eg.lg"; lh: "eg.lh"; li: "eg.li"; lj: "eg.lj"; lk: "eg.lk"; ll: "eg.ll"; lm: "eg.lm"; ln: "eg.ln"; lo: "eg.lo"; lp: "eg.lp"; lq: "eg.lq"; lr: "eg.lr"; ls: "eg.ls"; lt: "eg.lt"; lu: "eg.lu"; lv: "eg.lv"; lw: "eg.lw"; lx: "eg.lx"; ly: "eg.ly"; lz: "eg.lz"; ma: "eg.ma"; mb: "eg.mb"; mc: "eg.mc"; md: "eg.md"; me: "eg.me"; mf: "eg.mf"; mg: "eg.mg"; mh: "eg.mh"; mi: "eg.mi"; mj: "eg.mj"; mk: "eg.mk"; ml: "eg.ml"; mm: "eg.mm"; mn: "eg.mn"; mo: "eg.mo"; mp: "eg.mp"; mq: "eg.mq"; mr: "eg.mr"; ms: "eg.ms"; mt: "eg.mt"; mu: "eg.mu"; mv: "eg.mv"; mw: "eg.mw"; mx: "eg.mx"; my: "eg.my"; mz: "eg.mz"; na: "eg.na"; nb: "eg.nb"; nc: "eg.nc"; nd: "eg.nd"; ne: "eg.ne"; nf: "eg.nf"; ng: "eg.ng"; nh: "eg.nh"; ni: "eg.ni"; nj: "eg.nj"; nk: "eg.nk"; nl: "eg.nl"; nm: "eg.nm"; nn: "eg.nn"; no: "eg.no"; np: "eg.np"; nq: "eg.nq"; nr: "eg.nr"; ns: "eg.ns"; nt: "eg.nt"; nu: "eg.nu"; nv: "eg.nv"; nw: "eg.nw"; nx: "eg.nx"; ny: "eg.ny"; nz: "eg.nz"; oa: "eg.oa"; ob: "eg.ob"; oc: "eg.oc"; od: "eg.od"; oe: "eg.oe"; of: "eg.of"; og: "eg.og"; oh: "eg.oh"; oi: "eg.oi"; oj: "eg.oj"; ok: "eg.ok"; ol: "eg.ol"; om: "eg.om"; on: "eg.on"; oo: "eg.oo"; op: "eg.op"; oq: "eg.oq"; or: "eg.or"; os: "eg.os"; ot: "eg.ot"; ou: "eg.ou"; ov: "eg.ov"; ow: "eg.ow"; ox: "eg.ox"; oy: "eg.oy"; oz: "eg.oz"; pa: "eg.pa"; pb: "eg.pb"; pc: "eg.pc"; pd: "eg.pd"; pe: "eg.pe"; pf: "eg.pf"; pg: "eg.pg"; ph: "eg.ph"; pi: "eg.pi"; pj: "eg.pj"; pk: "eg.pk"; pl: "eg.pl"; pm: "eg.pm"; pn: "eg.pn"; po: "eg.po"; pp: "eg.pp"; pq: "eg.pq"; pr: "eg.pr"; ps: "eg.ps"; pt: "eg.pt"; pu: "eg.pu"; pv: "eg.pv"; pw: "eg.pw"; px: "eg.px"; py: "eg.py"; pz: "eg.pz"; qa: "eg.qa"; qb: "eg.qb"; qc: "eg.qc"; qd: "eg.qd"; qe: "eg.qe"; qf: "eg.qf"; qg: "eg.qg"; qh: "eg.qh"; qi: "eg.qi"; qj: "eg.qj"; qk: "eg.qk"; ql: "eg.ql"; qm: "eg.qm"; qn: "eg.qn"; qo: "eg.qo"; qp: "eg.qp"; qq: "eg.qq"; qr: "eg.qr"; qs: "eg.qs"; qt: "eg.qt"; qu: "eg.qu"; qv: "eg.qv"; qw: "eg.qw"; qx: "eg.qx"; qy: "eg.qy"; qz: "eg.qz"; ra: "eg.ra"; rb: "eg.rb"; rc: "eg.rc"; rd: "eg.rd"; re: "eg.re"; rf: "eg.rf"; rg: "eg.rg"; rh: "eg.rh"; ri: "eg.ri"; rj: "eg.rj"; rk: "eg.rk"; rl: "eg.rl"; rm: "eg.rm"; rn: "eg.rn"; ro: "eg.ro"; rp: "eg.rp"; rq: "eg.rq"; rr: "eg.rr"; rs: "eg.rs"; rt: "eg.rt"; ru: "eg.ru"; rv: "eg.rv"; rw: "eg.rw"; rx: "eg.rx"; ry: "eg.ry"; rz: "eg.rz"; sa: "eg.sa"; sb: "eg.sb"; sc: "eg.sc"; sd: "eg.sd"; se: "eg.se"; sf: "eg.sf"; sg: "eg.sg"; sh: "eg.sh"; si: "eg.si"; sj: "eg.sj"; sk: "eg.sk"; sl: "eg.sl"; sm: "eg.sm"; sn: "eg.sn"; so: "eg.so"; sp: "eg.sp"; sq: "eg.sq"; sr: "eg.sr"; ss: "eg.ss"; st: "eg.st"; su: "eg.su"; sv: "eg.sv"; sw: "eg.sw"; sx: "eg.sx"; sy: "eg.sy"; sz: "eg.sz"; ta: "eg.ta"; tb: "eg.tb"; tc: "eg.tc"; td: "eg.td"; te: "eg.te"; tf: "eg.tf"; tg: "eg.tg"; th: "eg.th"; ti: "eg.ti"; tj: "eg.tj"; tk: "eg.tk"; tl: "eg.tl"; tm: "eg.tm"; tn: "eg.tn"; to: "eg.to"; tp: "eg.tp"; tq: "eg.tq"; tr: "eg.tr"; ts: "eg.ts"; tt: "eg.tt"; tu: "eg.tu"; tv: "eg.tv"; tw: "eg.tw"; tx: "eg.tx"; ty: "eg.ty"; tz: "eg.tz"; ua: "eg.ua"; ub: "eg.ub"; uc: "eg.uc"; ud: "eg.ud"; ue: "eg.ue"; uf: "eg.uf"; ug: "eg.ug"; uh: "eg.uh"; ui: "eg.ui"; uj: "eg.uj"; uk: "eg.uk"; ul: "eg.ul"; um: "eg.um"; un: "eg.un"; uo: "eg.uo"; up: "eg.up"; uq: "eg.uq"; ur: "eg.ur"; us: "eg.us"; ut: "eg.ut"; uu: "eg.uu"; uv: "eg.uv"; uw: "eg.uw"; ux: "eg.ux"; uy: "eg.uy"; uz: "eg.uz"; va: "eg.va"; vb: "eg.vb"; vc: "eg.vc"; vd: "eg.vd"; ve: "eg.ve"; vf: "eg.vf"; vg: "eg.vg"; vh: "eg.vh"; vi: "eg.vi"; vj: "eg.vj"; vk: "eg.vk"; vl: "eg.vl"; vm: "eg.vm"; vn: "eg.vn"; vo: "eg.vo"; vp: "eg.vp"; vq: "eg.vq"; vr: "eg.vr"; vs: "eg.vs"; vt: "eg.vt"; vu: "eg.vu"; vv: "eg.vv"; vw: "eg.vw"; vx: "eg.vx"; vy: "eg.vy"; vz: "eg.vz"; wa: "eg.wa"; wb: "eg.wb"; wc: "eg.wc"; wd: "eg.wd"; we: "eg.we"; wf: "eg.wf"; wg: "eg.wg"; wh: "eg.wh"; wi: "eg.wi"; wj: "eg.wj"; wk: "eg.wk"; wl: "eg.wl"; wm: "eg.wm"; wn: "eg.wn"; wo: "eg.wo"; wp: "eg.wp"; wq: "eg.wq"; wr: "eg.wr"; ws: "eg.ws"; wt: "eg.wt"; wu: "eg.wu"; wv: "eg.wv"; ww: "eg.ww"; wx: "eg.wx"; wy: "eg.wy"; wz: "eg.wz"; xa: "eg.xa"; xb: "eg.xb"; xc: "eg.xc"; xd: "eg.xd"; xe: "eg.xe"; xf: "eg.xf"; xg: "eg.xg"; xh: "eg.xh"; xi: "eg.xi"; xj: "eg.xj"; xk: "eg.xk"; xl: "eg.xl"; xm: "eg.xm"; xn: "eg.xn"; xo: "eg.xo"; xp: "eg.xp"; xq: "eg.xq"; xr: "eg.xr"; xs: "eg.xs"; xt: "eg.xt"; xu: "eg.xu"; xv: "eg.xv"; xw: "eg.xw"; xx: "eg.xx"; xy: "eg.xy"; xz: "eg.xz"; ya: "eg.ya"; yb: "eg.yb"; yc: "eg.yc"; yd: "eg.yd"; ye: "eg.ye"; yf: "eg.yf"; yg: "eg.yg"; yh: "eg.yh"; yi: "eg.yi"; yj: "eg.yj"; yk: "eg.yk"; yl: "eg.yl"; ym: "eg.ym"; yn: "eg.yn"; yo: "eg.yo"; yp: "eg.yp"; yq: "eg.yq"; yr: "eg.yr"; ys: "eg.ys"; yt: "eg.yt"; yu: "eg.yu"; yv: "eg.yv"; yw: "eg.yw"; yx: "eg.yx"; yy: "eg.yy"; yz: "eg.yz"; za: "eg.za"; zb: "eg.zb"; zc: "eg.zc"; zd: "eg.zd"; ze: "eg.ze"; zf: "eg.zf"; zg: "eg.zg"; zh: "eg.zh"; zi: "eg.zi"; zj: "eg.zj"; zk: "eg.zk"; zl: "eg.zl"; zm: "eg.zm"; zn: "eg.zn"; zo: "eg.zo"; zp: "eg.zp"; zq: "eg.zq"; zr: "eg.zr"; zs: "eg.zs"; zt: "eg.zt"; zu: "eg.zu"; zv: "eg.zv"; zw: "eg.zw"; zx: "eg.zx"; zy: "eg.zy"; zz: "eg.zz"; }; eh: { aa: "eh.aa"; ab: "eh.ab"; ac: "eh.ac"; ad: "eh.ad"; ae: "eh.ae"; af: "eh.af"; ag: "eh.ag"; ah: "eh.ah"; ai: "eh.ai"; aj: "eh.aj"; ak: "eh.ak"; al: "eh.al"; am: "eh.am"; an: "eh.an"; ao: "eh.ao"; ap: "eh.ap"; aq: "eh.aq"; ar: "eh.ar"; as: "eh.as"; at: "eh.at"; au: "eh.au"; av: "eh.av"; aw: "eh.aw"; ax: "eh.ax"; ay: "eh.ay"; az: "eh.az"; ba: "eh.ba"; bb: "eh.bb"; bc: "eh.bc"; bd: "eh.bd"; be: "eh.be"; bf: "eh.bf"; bg: "eh.bg"; bh: "eh.bh"; bi: "eh.bi"; bj: "eh.bj"; bk: "eh.bk"; bl: "eh.bl"; bm: "eh.bm"; bn: "eh.bn"; bo: "eh.bo"; bp: "eh.bp"; bq: "eh.bq"; br: "eh.br"; bs: "eh.bs"; bt: "eh.bt"; bu: "eh.bu"; bv: "eh.bv"; bw: "eh.bw"; bx: "eh.bx"; by: "eh.by"; bz: "eh.bz"; ca: "eh.ca"; cb: "eh.cb"; cc: "eh.cc"; cd: "eh.cd"; ce: "eh.ce"; cf: "eh.cf"; cg: "eh.cg"; ch: "eh.ch"; ci: "eh.ci"; cj: "eh.cj"; ck: "eh.ck"; cl: "eh.cl"; cm: "eh.cm"; cn: "eh.cn"; co: "eh.co"; cp: "eh.cp"; cq: "eh.cq"; cr: "eh.cr"; cs: "eh.cs"; ct: "eh.ct"; cu: "eh.cu"; cv: "eh.cv"; cw: "eh.cw"; cx: "eh.cx"; cy: "eh.cy"; cz: "eh.cz"; da: "eh.da"; db: "eh.db"; dc: "eh.dc"; dd: "eh.dd"; de: "eh.de"; df: "eh.df"; dg: "eh.dg"; dh: "eh.dh"; di: "eh.di"; dj: "eh.dj"; dk: "eh.dk"; dl: "eh.dl"; dm: "eh.dm"; dn: "eh.dn"; do: "eh.do"; dp: "eh.dp"; dq: "eh.dq"; dr: "eh.dr"; ds: "eh.ds"; dt: "eh.dt"; du: "eh.du"; dv: "eh.dv"; dw: "eh.dw"; dx: "eh.dx"; dy: "eh.dy"; dz: "eh.dz"; ea: "eh.ea"; eb: "eh.eb"; ec: "eh.ec"; ed: "eh.ed"; ee: "eh.ee"; ef: "eh.ef"; eg: "eh.eg"; eh: "eh.eh"; ei: "eh.ei"; ej: "eh.ej"; ek: "eh.ek"; el: "eh.el"; em: "eh.em"; en: "eh.en"; eo: "eh.eo"; ep: "eh.ep"; eq: "eh.eq"; er: "eh.er"; es: "eh.es"; et: "eh.et"; eu: "eh.eu"; ev: "eh.ev"; ew: "eh.ew"; ex: "eh.ex"; ey: "eh.ey"; ez: "eh.ez"; fa: "eh.fa"; fb: "eh.fb"; fc: "eh.fc"; fd: "eh.fd"; fe: "eh.fe"; ff: "eh.ff"; fg: "eh.fg"; fh: "eh.fh"; fi: "eh.fi"; fj: "eh.fj"; fk: "eh.fk"; fl: "eh.fl"; fm: "eh.fm"; fn: "eh.fn"; fo: "eh.fo"; fp: "eh.fp"; fq: "eh.fq"; fr: "eh.fr"; fs: "eh.fs"; ft: "eh.ft"; fu: "eh.fu"; fv: "eh.fv"; fw: "eh.fw"; fx: "eh.fx"; fy: "eh.fy"; fz: "eh.fz"; ga: "eh.ga"; gb: "eh.gb"; gc: "eh.gc"; gd: "eh.gd"; ge: "eh.ge"; gf: "eh.gf"; gg: "eh.gg"; gh: "eh.gh"; gi: "eh.gi"; gj: "eh.gj"; gk: "eh.gk"; gl: "eh.gl"; gm: "eh.gm"; gn: "eh.gn"; go: "eh.go"; gp: "eh.gp"; gq: "eh.gq"; gr: "eh.gr"; gs: "eh.gs"; gt: "eh.gt"; gu: "eh.gu"; gv: "eh.gv"; gw: "eh.gw"; gx: "eh.gx"; gy: "eh.gy"; gz: "eh.gz"; ha: "eh.ha"; hb: "eh.hb"; hc: "eh.hc"; hd: "eh.hd"; he: "eh.he"; hf: "eh.hf"; hg: "eh.hg"; hh: "eh.hh"; hi: "eh.hi"; hj: "eh.hj"; hk: "eh.hk"; hl: "eh.hl"; hm: "eh.hm"; hn: "eh.hn"; ho: "eh.ho"; hp: "eh.hp"; hq: "eh.hq"; hr: "eh.hr"; hs: "eh.hs"; ht: "eh.ht"; hu: "eh.hu"; hv: "eh.hv"; hw: "eh.hw"; hx: "eh.hx"; hy: "eh.hy"; hz: "eh.hz"; ia: "eh.ia"; ib: "eh.ib"; ic: "eh.ic"; id: "eh.id"; ie: "eh.ie"; if: "eh.if"; ig: "eh.ig"; ih: "eh.ih"; ii: "eh.ii"; ij: "eh.ij"; ik: "eh.ik"; il: "eh.il"; im: "eh.im"; in: "eh.in"; io: "eh.io"; ip: "eh.ip"; iq: "eh.iq"; ir: "eh.ir"; is: "eh.is"; it: "eh.it"; iu: "eh.iu"; iv: "eh.iv"; iw: "eh.iw"; ix: "eh.ix"; iy: "eh.iy"; iz: "eh.iz"; ja: "eh.ja"; jb: "eh.jb"; jc: "eh.jc"; jd: "eh.jd"; je: "eh.je"; jf: "eh.jf"; jg: "eh.jg"; jh: "eh.jh"; ji: "eh.ji"; jj: "eh.jj"; jk: "eh.jk"; jl: "eh.jl"; jm: "eh.jm"; jn: "eh.jn"; jo: "eh.jo"; jp: "eh.jp"; jq: "eh.jq"; jr: "eh.jr"; js: "eh.js"; jt: "eh.jt"; ju: "eh.ju"; jv: "eh.jv"; jw: "eh.jw"; jx: "eh.jx"; jy: "eh.jy"; jz: "eh.jz"; ka: "eh.ka"; kb: "eh.kb"; kc: "eh.kc"; kd: "eh.kd"; ke: "eh.ke"; kf: "eh.kf"; kg: "eh.kg"; kh: "eh.kh"; ki: "eh.ki"; kj: "eh.kj"; kk: "eh.kk"; kl: "eh.kl"; km: "eh.km"; kn: "eh.kn"; ko: "eh.ko"; kp: "eh.kp"; kq: "eh.kq"; kr: "eh.kr"; ks: "eh.ks"; kt: "eh.kt"; ku: "eh.ku"; kv: "eh.kv"; kw: "eh.kw"; kx: "eh.kx"; ky: "eh.ky"; kz: "eh.kz"; la: "eh.la"; lb: "eh.lb"; lc: "eh.lc"; ld: "eh.ld"; le: "eh.le"; lf: "eh.lf"; lg: "eh.lg"; lh: "eh.lh"; li: "eh.li"; lj: "eh.lj"; lk: "eh.lk"; ll: "eh.ll"; lm: "eh.lm"; ln: "eh.ln"; lo: "eh.lo"; lp: "eh.lp"; lq: "eh.lq"; lr: "eh.lr"; ls: "eh.ls"; lt: "eh.lt"; lu: "eh.lu"; lv: "eh.lv"; lw: "eh.lw"; lx: "eh.lx"; ly: "eh.ly"; lz: "eh.lz"; ma: "eh.ma"; mb: "eh.mb"; mc: "eh.mc"; md: "eh.md"; me: "eh.me"; mf: "eh.mf"; mg: "eh.mg"; mh: "eh.mh"; mi: "eh.mi"; mj: "eh.mj"; mk: "eh.mk"; ml: "eh.ml"; mm: "eh.mm"; mn: "eh.mn"; mo: "eh.mo"; mp: "eh.mp"; mq: "eh.mq"; mr: "eh.mr"; ms: "eh.ms"; mt: "eh.mt"; mu: "eh.mu"; mv: "eh.mv"; mw: "eh.mw"; mx: "eh.mx"; my: "eh.my"; mz: "eh.mz"; na: "eh.na"; nb: "eh.nb"; nc: "eh.nc"; nd: "eh.nd"; ne: "eh.ne"; nf: "eh.nf"; ng: "eh.ng"; nh: "eh.nh"; ni: "eh.ni"; nj: "eh.nj"; nk: "eh.nk"; nl: "eh.nl"; nm: "eh.nm"; nn: "eh.nn"; no: "eh.no"; np: "eh.np"; nq: "eh.nq"; nr: "eh.nr"; ns: "eh.ns"; nt: "eh.nt"; nu: "eh.nu"; nv: "eh.nv"; nw: "eh.nw"; nx: "eh.nx"; ny: "eh.ny"; nz: "eh.nz"; oa: "eh.oa"; ob: "eh.ob"; oc: "eh.oc"; od: "eh.od"; oe: "eh.oe"; of: "eh.of"; og: "eh.og"; oh: "eh.oh"; oi: "eh.oi"; oj: "eh.oj"; ok: "eh.ok"; ol: "eh.ol"; om: "eh.om"; on: "eh.on"; oo: "eh.oo"; op: "eh.op"; oq: "eh.oq"; or: "eh.or"; os: "eh.os"; ot: "eh.ot"; ou: "eh.ou"; ov: "eh.ov"; ow: "eh.ow"; ox: "eh.ox"; oy: "eh.oy"; oz: "eh.oz"; pa: "eh.pa"; pb: "eh.pb"; pc: "eh.pc"; pd: "eh.pd"; pe: "eh.pe"; pf: "eh.pf"; pg: "eh.pg"; ph: "eh.ph"; pi: "eh.pi"; pj: "eh.pj"; pk: "eh.pk"; pl: "eh.pl"; pm: "eh.pm"; pn: "eh.pn"; po: "eh.po"; pp: "eh.pp"; pq: "eh.pq"; pr: "eh.pr"; ps: "eh.ps"; pt: "eh.pt"; pu: "eh.pu"; pv: "eh.pv"; pw: "eh.pw"; px: "eh.px"; py: "eh.py"; pz: "eh.pz"; qa: "eh.qa"; qb: "eh.qb"; qc: "eh.qc"; qd: "eh.qd"; qe: "eh.qe"; qf: "eh.qf"; qg: "eh.qg"; qh: "eh.qh"; qi: "eh.qi"; qj: "eh.qj"; qk: "eh.qk"; ql: "eh.ql"; qm: "eh.qm"; qn: "eh.qn"; qo: "eh.qo"; qp: "eh.qp"; qq: "eh.qq"; qr: "eh.qr"; qs: "eh.qs"; qt: "eh.qt"; qu: "eh.qu"; qv: "eh.qv"; qw: "eh.qw"; qx: "eh.qx"; qy: "eh.qy"; qz: "eh.qz"; ra: "eh.ra"; rb: "eh.rb"; rc: "eh.rc"; rd: "eh.rd"; re: "eh.re"; rf: "eh.rf"; rg: "eh.rg"; rh: "eh.rh"; ri: "eh.ri"; rj: "eh.rj"; rk: "eh.rk"; rl: "eh.rl"; rm: "eh.rm"; rn: "eh.rn"; ro: "eh.ro"; rp: "eh.rp"; rq: "eh.rq"; rr: "eh.rr"; rs: "eh.rs"; rt: "eh.rt"; ru: "eh.ru"; rv: "eh.rv"; rw: "eh.rw"; rx: "eh.rx"; ry: "eh.ry"; rz: "eh.rz"; sa: "eh.sa"; sb: "eh.sb"; sc: "eh.sc"; sd: "eh.sd"; se: "eh.se"; sf: "eh.sf"; sg: "eh.sg"; sh: "eh.sh"; si: "eh.si"; sj: "eh.sj"; sk: "eh.sk"; sl: "eh.sl"; sm: "eh.sm"; sn: "eh.sn"; so: "eh.so"; sp: "eh.sp"; sq: "eh.sq"; sr: "eh.sr"; ss: "eh.ss"; st: "eh.st"; su: "eh.su"; sv: "eh.sv"; sw: "eh.sw"; sx: "eh.sx"; sy: "eh.sy"; sz: "eh.sz"; ta: "eh.ta"; tb: "eh.tb"; tc: "eh.tc"; td: "eh.td"; te: "eh.te"; tf: "eh.tf"; tg: "eh.tg"; th: "eh.th"; ti: "eh.ti"; tj: "eh.tj"; tk: "eh.tk"; tl: "eh.tl"; tm: "eh.tm"; tn: "eh.tn"; to: "eh.to"; tp: "eh.tp"; tq: "eh.tq"; tr: "eh.tr"; ts: "eh.ts"; tt: "eh.tt"; tu: "eh.tu"; tv: "eh.tv"; tw: "eh.tw"; tx: "eh.tx"; ty: "eh.ty"; tz: "eh.tz"; ua: "eh.ua"; ub: "eh.ub"; uc: "eh.uc"; ud: "eh.ud"; ue: "eh.ue"; uf: "eh.uf"; ug: "eh.ug"; uh: "eh.uh"; ui: "eh.ui"; uj: "eh.uj"; uk: "eh.uk"; ul: "eh.ul"; um: "eh.um"; un: "eh.un"; uo: "eh.uo"; up: "eh.up"; uq: "eh.uq"; ur: "eh.ur"; us: "eh.us"; ut: "eh.ut"; uu: "eh.uu"; uv: "eh.uv"; uw: "eh.uw"; ux: "eh.ux"; uy: "eh.uy"; uz: "eh.uz"; va: "eh.va"; vb: "eh.vb"; vc: "eh.vc"; vd: "eh.vd"; ve: "eh.ve"; vf: "eh.vf"; vg: "eh.vg"; vh: "eh.vh"; vi: "eh.vi"; vj: "eh.vj"; vk: "eh.vk"; vl: "eh.vl"; vm: "eh.vm"; vn: "eh.vn"; vo: "eh.vo"; vp: "eh.vp"; vq: "eh.vq"; vr: "eh.vr"; vs: "eh.vs"; vt: "eh.vt"; vu: "eh.vu"; vv: "eh.vv"; vw: "eh.vw"; vx: "eh.vx"; vy: "eh.vy"; vz: "eh.vz"; wa: "eh.wa"; wb: "eh.wb"; wc: "eh.wc"; wd: "eh.wd"; we: "eh.we"; wf: "eh.wf"; wg: "eh.wg"; wh: "eh.wh"; wi: "eh.wi"; wj: "eh.wj"; wk: "eh.wk"; wl: "eh.wl"; wm: "eh.wm"; wn: "eh.wn"; wo: "eh.wo"; wp: "eh.wp"; wq: "eh.wq"; wr: "eh.wr"; ws: "eh.ws"; wt: "eh.wt"; wu: "eh.wu"; wv: "eh.wv"; ww: "eh.ww"; wx: "eh.wx"; wy: "eh.wy"; wz: "eh.wz"; xa: "eh.xa"; xb: "eh.xb"; xc: "eh.xc"; xd: "eh.xd"; xe: "eh.xe"; xf: "eh.xf"; xg: "eh.xg"; xh: "eh.xh"; xi: "eh.xi"; xj: "eh.xj"; xk: "eh.xk"; xl: "eh.xl"; xm: "eh.xm"; xn: "eh.xn"; xo: "eh.xo"; xp: "eh.xp"; xq: "eh.xq"; xr: "eh.xr"; xs: "eh.xs"; xt: "eh.xt"; xu: "eh.xu"; xv: "eh.xv"; xw: "eh.xw"; xx: "eh.xx"; xy: "eh.xy"; xz: "eh.xz"; ya: "eh.ya"; yb: "eh.yb"; yc: "eh.yc"; yd: "eh.yd"; ye: "eh.ye"; yf: "eh.yf"; yg: "eh.yg"; yh: "eh.yh"; yi: "eh.yi"; yj: "eh.yj"; yk: "eh.yk"; yl: "eh.yl"; ym: "eh.ym"; yn: "eh.yn"; yo: "eh.yo"; yp: "eh.yp"; yq: "eh.yq"; yr: "eh.yr"; ys: "eh.ys"; yt: "eh.yt"; yu: "eh.yu"; yv: "eh.yv"; yw: "eh.yw"; yx: "eh.yx"; yy: "eh.yy"; yz: "eh.yz"; za: "eh.za"; zb: "eh.zb"; zc: "eh.zc"; zd: "eh.zd"; ze: "eh.ze"; zf: "eh.zf"; zg: "eh.zg"; zh: "eh.zh"; zi: "eh.zi"; zj: "eh.zj"; zk: "eh.zk"; zl: "eh.zl"; zm: "eh.zm"; zn: "eh.zn"; zo: "eh.zo"; zp: "eh.zp"; zq: "eh.zq"; zr: "eh.zr"; zs: "eh.zs"; zt: "eh.zt"; zu: "eh.zu"; zv: "eh.zv"; zw: "eh.zw"; zx: "eh.zx"; zy: "eh.zy"; zz: "eh.zz"; }; ei: { aa: "ei.aa"; ab: "ei.ab"; ac: "ei.ac"; ad: "ei.ad"; ae: "ei.ae"; af: "ei.af"; ag: "ei.ag"; ah: "ei.ah"; ai: "ei.ai"; aj: "ei.aj"; ak: "ei.ak"; al: "ei.al"; am: "ei.am"; an: "ei.an"; ao: "ei.ao"; ap: "ei.ap"; aq: "ei.aq"; ar: "ei.ar"; as: "ei.as"; at: "ei.at"; au: "ei.au"; av: "ei.av"; aw: "ei.aw"; ax: "ei.ax"; ay: "ei.ay"; az: "ei.az"; ba: "ei.ba"; bb: "ei.bb"; bc: "ei.bc"; bd: "ei.bd"; be: "ei.be"; bf: "ei.bf"; bg: "ei.bg"; bh: "ei.bh"; bi: "ei.bi"; bj: "ei.bj"; bk: "ei.bk"; bl: "ei.bl"; bm: "ei.bm"; bn: "ei.bn"; bo: "ei.bo"; bp: "ei.bp"; bq: "ei.bq"; br: "ei.br"; bs: "ei.bs"; bt: "ei.bt"; bu: "ei.bu"; bv: "ei.bv"; bw: "ei.bw"; bx: "ei.bx"; by: "ei.by"; bz: "ei.bz"; ca: "ei.ca"; cb: "ei.cb"; cc: "ei.cc"; cd: "ei.cd"; ce: "ei.ce"; cf: "ei.cf"; cg: "ei.cg"; ch: "ei.ch"; ci: "ei.ci"; cj: "ei.cj"; ck: "ei.ck"; cl: "ei.cl"; cm: "ei.cm"; cn: "ei.cn"; co: "ei.co"; cp: "ei.cp"; cq: "ei.cq"; cr: "ei.cr"; cs: "ei.cs"; ct: "ei.ct"; cu: "ei.cu"; cv: "ei.cv"; cw: "ei.cw"; cx: "ei.cx"; cy: "ei.cy"; cz: "ei.cz"; da: "ei.da"; db: "ei.db"; dc: "ei.dc"; dd: "ei.dd"; de: "ei.de"; df: "ei.df"; dg: "ei.dg"; dh: "ei.dh"; di: "ei.di"; dj: "ei.dj"; dk: "ei.dk"; dl: "ei.dl"; dm: "ei.dm"; dn: "ei.dn"; do: "ei.do"; dp: "ei.dp"; dq: "ei.dq"; dr: "ei.dr"; ds: "ei.ds"; dt: "ei.dt"; du: "ei.du"; dv: "ei.dv"; dw: "ei.dw"; dx: "ei.dx"; dy: "ei.dy"; dz: "ei.dz"; ea: "ei.ea"; eb: "ei.eb"; ec: "ei.ec"; ed: "ei.ed"; ee: "ei.ee"; ef: "ei.ef"; eg: "ei.eg"; eh: "ei.eh"; ei: "ei.ei"; ej: "ei.ej"; ek: "ei.ek"; el: "ei.el"; em: "ei.em"; en: "ei.en"; eo: "ei.eo"; ep: "ei.ep"; eq: "ei.eq"; er: "ei.er"; es: "ei.es"; et: "ei.et"; eu: "ei.eu"; ev: "ei.ev"; ew: "ei.ew"; ex: "ei.ex"; ey: "ei.ey"; ez: "ei.ez"; fa: "ei.fa"; fb: "ei.fb"; fc: "ei.fc"; fd: "ei.fd"; fe: "ei.fe"; ff: "ei.ff"; fg: "ei.fg"; fh: "ei.fh"; fi: "ei.fi"; fj: "ei.fj"; fk: "ei.fk"; fl: "ei.fl"; fm: "ei.fm"; fn: "ei.fn"; fo: "ei.fo"; fp: "ei.fp"; fq: "ei.fq"; fr: "ei.fr"; fs: "ei.fs"; ft: "ei.ft"; fu: "ei.fu"; fv: "ei.fv"; fw: "ei.fw"; fx: "ei.fx"; fy: "ei.fy"; fz: "ei.fz"; ga: "ei.ga"; gb: "ei.gb"; gc: "ei.gc"; gd: "ei.gd"; ge: "ei.ge"; gf: "ei.gf"; gg: "ei.gg"; gh: "ei.gh"; gi: "ei.gi"; gj: "ei.gj"; gk: "ei.gk"; gl: "ei.gl"; gm: "ei.gm"; gn: "ei.gn"; go: "ei.go"; gp: "ei.gp"; gq: "ei.gq"; gr: "ei.gr"; gs: "ei.gs"; gt: "ei.gt"; gu: "ei.gu"; gv: "ei.gv"; gw: "ei.gw"; gx: "ei.gx"; gy: "ei.gy"; gz: "ei.gz"; ha: "ei.ha"; hb: "ei.hb"; hc: "ei.hc"; hd: "ei.hd"; he: "ei.he"; hf: "ei.hf"; hg: "ei.hg"; hh: "ei.hh"; hi: "ei.hi"; hj: "ei.hj"; hk: "ei.hk"; hl: "ei.hl"; hm: "ei.hm"; hn: "ei.hn"; ho: "ei.ho"; hp: "ei.hp"; hq: "ei.hq"; hr: "ei.hr"; hs: "ei.hs"; ht: "ei.ht"; hu: "ei.hu"; hv: "ei.hv"; hw: "ei.hw"; hx: "ei.hx"; hy: "ei.hy"; hz: "ei.hz"; ia: "ei.ia"; ib: "ei.ib"; ic: "ei.ic"; id: "ei.id"; ie: "ei.ie"; if: "ei.if"; ig: "ei.ig"; ih: "ei.ih"; ii: "ei.ii"; ij: "ei.ij"; ik: "ei.ik"; il: "ei.il"; im: "ei.im"; in: "ei.in"; io: "ei.io"; ip: "ei.ip"; iq: "ei.iq"; ir: "ei.ir"; is: "ei.is"; it: "ei.it"; iu: "ei.iu"; iv: "ei.iv"; iw: "ei.iw"; ix: "ei.ix"; iy: "ei.iy"; iz: "ei.iz"; ja: "ei.ja"; jb: "ei.jb"; jc: "ei.jc"; jd: "ei.jd"; je: "ei.je"; jf: "ei.jf"; jg: "ei.jg"; jh: "ei.jh"; ji: "ei.ji"; jj: "ei.jj"; jk: "ei.jk"; jl: "ei.jl"; jm: "ei.jm"; jn: "ei.jn"; jo: "ei.jo"; jp: "ei.jp"; jq: "ei.jq"; jr: "ei.jr"; js: "ei.js"; jt: "ei.jt"; ju: "ei.ju"; jv: "ei.jv"; jw: "ei.jw"; jx: "ei.jx"; jy: "ei.jy"; jz: "ei.jz"; ka: "ei.ka"; kb: "ei.kb"; kc: "ei.kc"; kd: "ei.kd"; ke: "ei.ke"; kf: "ei.kf"; kg: "ei.kg"; kh: "ei.kh"; ki: "ei.ki"; kj: "ei.kj"; kk: "ei.kk"; kl: "ei.kl"; km: "ei.km"; kn: "ei.kn"; ko: "ei.ko"; kp: "ei.kp"; kq: "ei.kq"; kr: "ei.kr"; ks: "ei.ks"; kt: "ei.kt"; ku: "ei.ku"; kv: "ei.kv"; kw: "ei.kw"; kx: "ei.kx"; ky: "ei.ky"; kz: "ei.kz"; la: "ei.la"; lb: "ei.lb"; lc: "ei.lc"; ld: "ei.ld"; le: "ei.le"; lf: "ei.lf"; lg: "ei.lg"; lh: "ei.lh"; li: "ei.li"; lj: "ei.lj"; lk: "ei.lk"; ll: "ei.ll"; lm: "ei.lm"; ln: "ei.ln"; lo: "ei.lo"; lp: "ei.lp"; lq: "ei.lq"; lr: "ei.lr"; ls: "ei.ls"; lt: "ei.lt"; lu: "ei.lu"; lv: "ei.lv"; lw: "ei.lw"; lx: "ei.lx"; ly: "ei.ly"; lz: "ei.lz"; ma: "ei.ma"; mb: "ei.mb"; mc: "ei.mc"; md: "ei.md"; me: "ei.me"; mf: "ei.mf"; mg: "ei.mg"; mh: "ei.mh"; mi: "ei.mi"; mj: "ei.mj"; mk: "ei.mk"; ml: "ei.ml"; mm: "ei.mm"; mn: "ei.mn"; mo: "ei.mo"; mp: "ei.mp"; mq: "ei.mq"; mr: "ei.mr"; ms: "ei.ms"; mt: "ei.mt"; mu: "ei.mu"; mv: "ei.mv"; mw: "ei.mw"; mx: "ei.mx"; my: "ei.my"; mz: "ei.mz"; na: "ei.na"; nb: "ei.nb"; nc: "ei.nc"; nd: "ei.nd"; ne: "ei.ne"; nf: "ei.nf"; ng: "ei.ng"; nh: "ei.nh"; ni: "ei.ni"; nj: "ei.nj"; nk: "ei.nk"; nl: "ei.nl"; nm: "ei.nm"; nn: "ei.nn"; no: "ei.no"; np: "ei.np"; nq: "ei.nq"; nr: "ei.nr"; ns: "ei.ns"; nt: "ei.nt"; nu: "ei.nu"; nv: "ei.nv"; nw: "ei.nw"; nx: "ei.nx"; ny: "ei.ny"; nz: "ei.nz"; oa: "ei.oa"; ob: "ei.ob"; oc: "ei.oc"; od: "ei.od"; oe: "ei.oe"; of: "ei.of"; og: "ei.og"; oh: "ei.oh"; oi: "ei.oi"; oj: "ei.oj"; ok: "ei.ok"; ol: "ei.ol"; om: "ei.om"; on: "ei.on"; oo: "ei.oo"; op: "ei.op"; oq: "ei.oq"; or: "ei.or"; os: "ei.os"; ot: "ei.ot"; ou: "ei.ou"; ov: "ei.ov"; ow: "ei.ow"; ox: "ei.ox"; oy: "ei.oy"; oz: "ei.oz"; pa: "ei.pa"; pb: "ei.pb"; pc: "ei.pc"; pd: "ei.pd"; pe: "ei.pe"; pf: "ei.pf"; pg: "ei.pg"; ph: "ei.ph"; pi: "ei.pi"; pj: "ei.pj"; pk: "ei.pk"; pl: "ei.pl"; pm: "ei.pm"; pn: "ei.pn"; po: "ei.po"; pp: "ei.pp"; pq: "ei.pq"; pr: "ei.pr"; ps: "ei.ps"; pt: "ei.pt"; pu: "ei.pu"; pv: "ei.pv"; pw: "ei.pw"; px: "ei.px"; py: "ei.py"; pz: "ei.pz"; qa: "ei.qa"; qb: "ei.qb"; qc: "ei.qc"; qd: "ei.qd"; qe: "ei.qe"; qf: "ei.qf"; qg: "ei.qg"; qh: "ei.qh"; qi: "ei.qi"; qj: "ei.qj"; qk: "ei.qk"; ql: "ei.ql"; qm: "ei.qm"; qn: "ei.qn"; qo: "ei.qo"; qp: "ei.qp"; qq: "ei.qq"; qr: "ei.qr"; qs: "ei.qs"; qt: "ei.qt"; qu: "ei.qu"; qv: "ei.qv"; qw: "ei.qw"; qx: "ei.qx"; qy: "ei.qy"; qz: "ei.qz"; ra: "ei.ra"; rb: "ei.rb"; rc: "ei.rc"; rd: "ei.rd"; re: "ei.re"; rf: "ei.rf"; rg: "ei.rg"; rh: "ei.rh"; ri: "ei.ri"; rj: "ei.rj"; rk: "ei.rk"; rl: "ei.rl"; rm: "ei.rm"; rn: "ei.rn"; ro: "ei.ro"; rp: "ei.rp"; rq: "ei.rq"; rr: "ei.rr"; rs: "ei.rs"; rt: "ei.rt"; ru: "ei.ru"; rv: "ei.rv"; rw: "ei.rw"; rx: "ei.rx"; ry: "ei.ry"; rz: "ei.rz"; sa: "ei.sa"; sb: "ei.sb"; sc: "ei.sc"; sd: "ei.sd"; se: "ei.se"; sf: "ei.sf"; sg: "ei.sg"; sh: "ei.sh"; si: "ei.si"; sj: "ei.sj"; sk: "ei.sk"; sl: "ei.sl"; sm: "ei.sm"; sn: "ei.sn"; so: "ei.so"; sp: "ei.sp"; sq: "ei.sq"; sr: "ei.sr"; ss: "ei.ss"; st: "ei.st"; su: "ei.su"; sv: "ei.sv"; sw: "ei.sw"; sx: "ei.sx"; sy: "ei.sy"; sz: "ei.sz"; ta: "ei.ta"; tb: "ei.tb"; tc: "ei.tc"; td: "ei.td"; te: "ei.te"; tf: "ei.tf"; tg: "ei.tg"; th: "ei.th"; ti: "ei.ti"; tj: "ei.tj"; tk: "ei.tk"; tl: "ei.tl"; tm: "ei.tm"; tn: "ei.tn"; to: "ei.to"; tp: "ei.tp"; tq: "ei.tq"; tr: "ei.tr"; ts: "ei.ts"; tt: "ei.tt"; tu: "ei.tu"; tv: "ei.tv"; tw: "ei.tw"; tx: "ei.tx"; ty: "ei.ty"; tz: "ei.tz"; ua: "ei.ua"; ub: "ei.ub"; uc: "ei.uc"; ud: "ei.ud"; ue: "ei.ue"; uf: "ei.uf"; ug: "ei.ug"; uh: "ei.uh"; ui: "ei.ui"; uj: "ei.uj"; uk: "ei.uk"; ul: "ei.ul"; um: "ei.um"; un: "ei.un"; uo: "ei.uo"; up: "ei.up"; uq: "ei.uq"; ur: "ei.ur"; us: "ei.us"; ut: "ei.ut"; uu: "ei.uu"; uv: "ei.uv"; uw: "ei.uw"; ux: "ei.ux"; uy: "ei.uy"; uz: "ei.uz"; va: "ei.va"; vb: "ei.vb"; vc: "ei.vc"; vd: "ei.vd"; ve: "ei.ve"; vf: "ei.vf"; vg: "ei.vg"; vh: "ei.vh"; vi: "ei.vi"; vj: "ei.vj"; vk: "ei.vk"; vl: "ei.vl"; vm: "ei.vm"; vn: "ei.vn"; vo: "ei.vo"; vp: "ei.vp"; vq: "ei.vq"; vr: "ei.vr"; vs: "ei.vs"; vt: "ei.vt"; vu: "ei.vu"; vv: "ei.vv"; vw: "ei.vw"; vx: "ei.vx"; vy: "ei.vy"; vz: "ei.vz"; wa: "ei.wa"; wb: "ei.wb"; wc: "ei.wc"; wd: "ei.wd"; we: "ei.we"; wf: "ei.wf"; wg: "ei.wg"; wh: "ei.wh"; wi: "ei.wi"; wj: "ei.wj"; wk: "ei.wk"; wl: "ei.wl"; wm: "ei.wm"; wn: "ei.wn"; wo: "ei.wo"; wp: "ei.wp"; wq: "ei.wq"; wr: "ei.wr"; ws: "ei.ws"; wt: "ei.wt"; wu: "ei.wu"; wv: "ei.wv"; ww: "ei.ww"; wx: "ei.wx"; wy: "ei.wy"; wz: "ei.wz"; xa: "ei.xa"; xb: "ei.xb"; xc: "ei.xc"; xd: "ei.xd"; xe: "ei.xe"; xf: "ei.xf"; xg: "ei.xg"; xh: "ei.xh"; xi: "ei.xi"; xj: "ei.xj"; xk: "ei.xk"; xl: "ei.xl"; xm: "ei.xm"; xn: "ei.xn"; xo: "ei.xo"; xp: "ei.xp"; xq: "ei.xq"; xr: "ei.xr"; xs: "ei.xs"; xt: "ei.xt"; xu: "ei.xu"; xv: "ei.xv"; xw: "ei.xw"; xx: "ei.xx"; xy: "ei.xy"; xz: "ei.xz"; ya: "ei.ya"; yb: "ei.yb"; yc: "ei.yc"; yd: "ei.yd"; ye: "ei.ye"; yf: "ei.yf"; yg: "ei.yg"; yh: "ei.yh"; yi: "ei.yi"; yj: "ei.yj"; yk: "ei.yk"; yl: "ei.yl"; ym: "ei.ym"; yn: "ei.yn"; yo: "ei.yo"; yp: "ei.yp"; yq: "ei.yq"; yr: "ei.yr"; ys: "ei.ys"; yt: "ei.yt"; yu: "ei.yu"; yv: "ei.yv"; yw: "ei.yw"; yx: "ei.yx"; yy: "ei.yy"; yz: "ei.yz"; za: "ei.za"; zb: "ei.zb"; zc: "ei.zc"; zd: "ei.zd"; ze: "ei.ze"; zf: "ei.zf"; zg: "ei.zg"; zh: "ei.zh"; zi: "ei.zi"; zj: "ei.zj"; zk: "ei.zk"; zl: "ei.zl"; zm: "ei.zm"; zn: "ei.zn"; zo: "ei.zo"; zp: "ei.zp"; zq: "ei.zq"; zr: "ei.zr"; zs: "ei.zs"; zt: "ei.zt"; zu: "ei.zu"; zv: "ei.zv"; zw: "ei.zw"; zx: "ei.zx"; zy: "ei.zy"; zz: "ei.zz"; }; ej: { aa: "ej.aa"; ab: "ej.ab"; ac: "ej.ac"; ad: "ej.ad"; ae: "ej.ae"; af: "ej.af"; ag: "ej.ag"; ah: "ej.ah"; ai: "ej.ai"; aj: "ej.aj"; ak: "ej.ak"; al: "ej.al"; am: "ej.am"; an: "ej.an"; ao: "ej.ao"; ap: "ej.ap"; aq: "ej.aq"; ar: "ej.ar"; as: "ej.as"; at: "ej.at"; au: "ej.au"; av: "ej.av"; aw: "ej.aw"; ax: "ej.ax"; ay: "ej.ay"; az: "ej.az"; ba: "ej.ba"; bb: "ej.bb"; bc: "ej.bc"; bd: "ej.bd"; be: "ej.be"; bf: "ej.bf"; bg: "ej.bg"; bh: "ej.bh"; bi: "ej.bi"; bj: "ej.bj"; bk: "ej.bk"; bl: "ej.bl"; bm: "ej.bm"; bn: "ej.bn"; bo: "ej.bo"; bp: "ej.bp"; bq: "ej.bq"; br: "ej.br"; bs: "ej.bs"; bt: "ej.bt"; bu: "ej.bu"; bv: "ej.bv"; bw: "ej.bw"; bx: "ej.bx"; by: "ej.by"; bz: "ej.bz"; ca: "ej.ca"; cb: "ej.cb"; cc: "ej.cc"; cd: "ej.cd"; ce: "ej.ce"; cf: "ej.cf"; cg: "ej.cg"; ch: "ej.ch"; ci: "ej.ci"; cj: "ej.cj"; ck: "ej.ck"; cl: "ej.cl"; cm: "ej.cm"; cn: "ej.cn"; co: "ej.co"; cp: "ej.cp"; cq: "ej.cq"; cr: "ej.cr"; cs: "ej.cs"; ct: "ej.ct"; cu: "ej.cu"; cv: "ej.cv"; cw: "ej.cw"; cx: "ej.cx"; cy: "ej.cy"; cz: "ej.cz"; da: "ej.da"; db: "ej.db"; dc: "ej.dc"; dd: "ej.dd"; de: "ej.de"; df: "ej.df"; dg: "ej.dg"; dh: "ej.dh"; di: "ej.di"; dj: "ej.dj"; dk: "ej.dk"; dl: "ej.dl"; dm: "ej.dm"; dn: "ej.dn"; do: "ej.do"; dp: "ej.dp"; dq: "ej.dq"; dr: "ej.dr"; ds: "ej.ds"; dt: "ej.dt"; du: "ej.du"; dv: "ej.dv"; dw: "ej.dw"; dx: "ej.dx"; dy: "ej.dy"; dz: "ej.dz"; ea: "ej.ea"; eb: "ej.eb"; ec: "ej.ec"; ed: "ej.ed"; ee: "ej.ee"; ef: "ej.ef"; eg: "ej.eg"; eh: "ej.eh"; ei: "ej.ei"; ej: "ej.ej"; ek: "ej.ek"; el: "ej.el"; em: "ej.em"; en: "ej.en"; eo: "ej.eo"; ep: "ej.ep"; eq: "ej.eq"; er: "ej.er"; es: "ej.es"; et: "ej.et"; eu: "ej.eu"; ev: "ej.ev"; ew: "ej.ew"; ex: "ej.ex"; ey: "ej.ey"; ez: "ej.ez"; fa: "ej.fa"; fb: "ej.fb"; fc: "ej.fc"; fd: "ej.fd"; fe: "ej.fe"; ff: "ej.ff"; fg: "ej.fg"; fh: "ej.fh"; fi: "ej.fi"; fj: "ej.fj"; fk: "ej.fk"; fl: "ej.fl"; fm: "ej.fm"; fn: "ej.fn"; fo: "ej.fo"; fp: "ej.fp"; fq: "ej.fq"; fr: "ej.fr"; fs: "ej.fs"; ft: "ej.ft"; fu: "ej.fu"; fv: "ej.fv"; fw: "ej.fw"; fx: "ej.fx"; fy: "ej.fy"; fz: "ej.fz"; ga: "ej.ga"; gb: "ej.gb"; gc: "ej.gc"; gd: "ej.gd"; ge: "ej.ge"; gf: "ej.gf"; gg: "ej.gg"; gh: "ej.gh"; gi: "ej.gi"; gj: "ej.gj"; gk: "ej.gk"; gl: "ej.gl"; gm: "ej.gm"; gn: "ej.gn"; go: "ej.go"; gp: "ej.gp"; gq: "ej.gq"; gr: "ej.gr"; gs: "ej.gs"; gt: "ej.gt"; gu: "ej.gu"; gv: "ej.gv"; gw: "ej.gw"; gx: "ej.gx"; gy: "ej.gy"; gz: "ej.gz"; ha: "ej.ha"; hb: "ej.hb"; hc: "ej.hc"; hd: "ej.hd"; he: "ej.he"; hf: "ej.hf"; hg: "ej.hg"; hh: "ej.hh"; hi: "ej.hi"; hj: "ej.hj"; hk: "ej.hk"; hl: "ej.hl"; hm: "ej.hm"; hn: "ej.hn"; ho: "ej.ho"; hp: "ej.hp"; hq: "ej.hq"; hr: "ej.hr"; hs: "ej.hs"; ht: "ej.ht"; hu: "ej.hu"; hv: "ej.hv"; hw: "ej.hw"; hx: "ej.hx"; hy: "ej.hy"; hz: "ej.hz"; ia: "ej.ia"; ib: "ej.ib"; ic: "ej.ic"; id: "ej.id"; ie: "ej.ie"; if: "ej.if"; ig: "ej.ig"; ih: "ej.ih"; ii: "ej.ii"; ij: "ej.ij"; ik: "ej.ik"; il: "ej.il"; im: "ej.im"; in: "ej.in"; io: "ej.io"; ip: "ej.ip"; iq: "ej.iq"; ir: "ej.ir"; is: "ej.is"; it: "ej.it"; iu: "ej.iu"; iv: "ej.iv"; iw: "ej.iw"; ix: "ej.ix"; iy: "ej.iy"; iz: "ej.iz"; ja: "ej.ja"; jb: "ej.jb"; jc: "ej.jc"; jd: "ej.jd"; je: "ej.je"; jf: "ej.jf"; jg: "ej.jg"; jh: "ej.jh"; ji: "ej.ji"; jj: "ej.jj"; jk: "ej.jk"; jl: "ej.jl"; jm: "ej.jm"; jn: "ej.jn"; jo: "ej.jo"; jp: "ej.jp"; jq: "ej.jq"; jr: "ej.jr"; js: "ej.js"; jt: "ej.jt"; ju: "ej.ju"; jv: "ej.jv"; jw: "ej.jw"; jx: "ej.jx"; jy: "ej.jy"; jz: "ej.jz"; ka: "ej.ka"; kb: "ej.kb"; kc: "ej.kc"; kd: "ej.kd"; ke: "ej.ke"; kf: "ej.kf"; kg: "ej.kg"; kh: "ej.kh"; ki: "ej.ki"; kj: "ej.kj"; kk: "ej.kk"; kl: "ej.kl"; km: "ej.km"; kn: "ej.kn"; ko: "ej.ko"; kp: "ej.kp"; kq: "ej.kq"; kr: "ej.kr"; ks: "ej.ks"; kt: "ej.kt"; ku: "ej.ku"; kv: "ej.kv"; kw: "ej.kw"; kx: "ej.kx"; ky: "ej.ky"; kz: "ej.kz"; la: "ej.la"; lb: "ej.lb"; lc: "ej.lc"; ld: "ej.ld"; le: "ej.le"; lf: "ej.lf"; lg: "ej.lg"; lh: "ej.lh"; li: "ej.li"; lj: "ej.lj"; lk: "ej.lk"; ll: "ej.ll"; lm: "ej.lm"; ln: "ej.ln"; lo: "ej.lo"; lp: "ej.lp"; lq: "ej.lq"; lr: "ej.lr"; ls: "ej.ls"; lt: "ej.lt"; lu: "ej.lu"; lv: "ej.lv"; lw: "ej.lw"; lx: "ej.lx"; ly: "ej.ly"; lz: "ej.lz"; ma: "ej.ma"; mb: "ej.mb"; mc: "ej.mc"; md: "ej.md"; me: "ej.me"; mf: "ej.mf"; mg: "ej.mg"; mh: "ej.mh"; mi: "ej.mi"; mj: "ej.mj"; mk: "ej.mk"; ml: "ej.ml"; mm: "ej.mm"; mn: "ej.mn"; mo: "ej.mo"; mp: "ej.mp"; mq: "ej.mq"; mr: "ej.mr"; ms: "ej.ms"; mt: "ej.mt"; mu: "ej.mu"; mv: "ej.mv"; mw: "ej.mw"; mx: "ej.mx"; my: "ej.my"; mz: "ej.mz"; na: "ej.na"; nb: "ej.nb"; nc: "ej.nc"; nd: "ej.nd"; ne: "ej.ne"; nf: "ej.nf"; ng: "ej.ng"; nh: "ej.nh"; ni: "ej.ni"; nj: "ej.nj"; nk: "ej.nk"; nl: "ej.nl"; nm: "ej.nm"; nn: "ej.nn"; no: "ej.no"; np: "ej.np"; nq: "ej.nq"; nr: "ej.nr"; ns: "ej.ns"; nt: "ej.nt"; nu: "ej.nu"; nv: "ej.nv"; nw: "ej.nw"; nx: "ej.nx"; ny: "ej.ny"; nz: "ej.nz"; oa: "ej.oa"; ob: "ej.ob"; oc: "ej.oc"; od: "ej.od"; oe: "ej.oe"; of: "ej.of"; og: "ej.og"; oh: "ej.oh"; oi: "ej.oi"; oj: "ej.oj"; ok: "ej.ok"; ol: "ej.ol"; om: "ej.om"; on: "ej.on"; oo: "ej.oo"; op: "ej.op"; oq: "ej.oq"; or: "ej.or"; os: "ej.os"; ot: "ej.ot"; ou: "ej.ou"; ov: "ej.ov"; ow: "ej.ow"; ox: "ej.ox"; oy: "ej.oy"; oz: "ej.oz"; pa: "ej.pa"; pb: "ej.pb"; pc: "ej.pc"; pd: "ej.pd"; pe: "ej.pe"; pf: "ej.pf"; pg: "ej.pg"; ph: "ej.ph"; pi: "ej.pi"; pj: "ej.pj"; pk: "ej.pk"; pl: "ej.pl"; pm: "ej.pm"; pn: "ej.pn"; po: "ej.po"; pp: "ej.pp"; pq: "ej.pq"; pr: "ej.pr"; ps: "ej.ps"; pt: "ej.pt"; pu: "ej.pu"; pv: "ej.pv"; pw: "ej.pw"; px: "ej.px"; py: "ej.py"; pz: "ej.pz"; qa: "ej.qa"; qb: "ej.qb"; qc: "ej.qc"; qd: "ej.qd"; qe: "ej.qe"; qf: "ej.qf"; qg: "ej.qg"; qh: "ej.qh"; qi: "ej.qi"; qj: "ej.qj"; qk: "ej.qk"; ql: "ej.ql"; qm: "ej.qm"; qn: "ej.qn"; qo: "ej.qo"; qp: "ej.qp"; qq: "ej.qq"; qr: "ej.qr"; qs: "ej.qs"; qt: "ej.qt"; qu: "ej.qu"; qv: "ej.qv"; qw: "ej.qw"; qx: "ej.qx"; qy: "ej.qy"; qz: "ej.qz"; ra: "ej.ra"; rb: "ej.rb"; rc: "ej.rc"; rd: "ej.rd"; re: "ej.re"; rf: "ej.rf"; rg: "ej.rg"; rh: "ej.rh"; ri: "ej.ri"; rj: "ej.rj"; rk: "ej.rk"; rl: "ej.rl"; rm: "ej.rm"; rn: "ej.rn"; ro: "ej.ro"; rp: "ej.rp"; rq: "ej.rq"; rr: "ej.rr"; rs: "ej.rs"; rt: "ej.rt"; ru: "ej.ru"; rv: "ej.rv"; rw: "ej.rw"; rx: "ej.rx"; ry: "ej.ry"; rz: "ej.rz"; sa: "ej.sa"; sb: "ej.sb"; sc: "ej.sc"; sd: "ej.sd"; se: "ej.se"; sf: "ej.sf"; sg: "ej.sg"; sh: "ej.sh"; si: "ej.si"; sj: "ej.sj"; sk: "ej.sk"; sl: "ej.sl"; sm: "ej.sm"; sn: "ej.sn"; so: "ej.so"; sp: "ej.sp"; sq: "ej.sq"; sr: "ej.sr"; ss: "ej.ss"; st: "ej.st"; su: "ej.su"; sv: "ej.sv"; sw: "ej.sw"; sx: "ej.sx"; sy: "ej.sy"; sz: "ej.sz"; ta: "ej.ta"; tb: "ej.tb"; tc: "ej.tc"; td: "ej.td"; te: "ej.te"; tf: "ej.tf"; tg: "ej.tg"; th: "ej.th"; ti: "ej.ti"; tj: "ej.tj"; tk: "ej.tk"; tl: "ej.tl"; tm: "ej.tm"; tn: "ej.tn"; to: "ej.to"; tp: "ej.tp"; tq: "ej.tq"; tr: "ej.tr"; ts: "ej.ts"; tt: "ej.tt"; tu: "ej.tu"; tv: "ej.tv"; tw: "ej.tw"; tx: "ej.tx"; ty: "ej.ty"; tz: "ej.tz"; ua: "ej.ua"; ub: "ej.ub"; uc: "ej.uc"; ud: "ej.ud"; ue: "ej.ue"; uf: "ej.uf"; ug: "ej.ug"; uh: "ej.uh"; ui: "ej.ui"; uj: "ej.uj"; uk: "ej.uk"; ul: "ej.ul"; um: "ej.um"; un: "ej.un"; uo: "ej.uo"; up: "ej.up"; uq: "ej.uq"; ur: "ej.ur"; us: "ej.us"; ut: "ej.ut"; uu: "ej.uu"; uv: "ej.uv"; uw: "ej.uw"; ux: "ej.ux"; uy: "ej.uy"; uz: "ej.uz"; va: "ej.va"; vb: "ej.vb"; vc: "ej.vc"; vd: "ej.vd"; ve: "ej.ve"; vf: "ej.vf"; vg: "ej.vg"; vh: "ej.vh"; vi: "ej.vi"; vj: "ej.vj"; vk: "ej.vk"; vl: "ej.vl"; vm: "ej.vm"; vn: "ej.vn"; vo: "ej.vo"; vp: "ej.vp"; vq: "ej.vq"; vr: "ej.vr"; vs: "ej.vs"; vt: "ej.vt"; vu: "ej.vu"; vv: "ej.vv"; vw: "ej.vw"; vx: "ej.vx"; vy: "ej.vy"; vz: "ej.vz"; wa: "ej.wa"; wb: "ej.wb"; wc: "ej.wc"; wd: "ej.wd"; we: "ej.we"; wf: "ej.wf"; wg: "ej.wg"; wh: "ej.wh"; wi: "ej.wi"; wj: "ej.wj"; wk: "ej.wk"; wl: "ej.wl"; wm: "ej.wm"; wn: "ej.wn"; wo: "ej.wo"; wp: "ej.wp"; wq: "ej.wq"; wr: "ej.wr"; ws: "ej.ws"; wt: "ej.wt"; wu: "ej.wu"; wv: "ej.wv"; ww: "ej.ww"; wx: "ej.wx"; wy: "ej.wy"; wz: "ej.wz"; xa: "ej.xa"; xb: "ej.xb"; xc: "ej.xc"; xd: "ej.xd"; xe: "ej.xe"; xf: "ej.xf"; xg: "ej.xg"; xh: "ej.xh"; xi: "ej.xi"; xj: "ej.xj"; xk: "ej.xk"; xl: "ej.xl"; xm: "ej.xm"; xn: "ej.xn"; xo: "ej.xo"; xp: "ej.xp"; xq: "ej.xq"; xr: "ej.xr"; xs: "ej.xs"; xt: "ej.xt"; xu: "ej.xu"; xv: "ej.xv"; xw: "ej.xw"; xx: "ej.xx"; xy: "ej.xy"; xz: "ej.xz"; ya: "ej.ya"; yb: "ej.yb"; yc: "ej.yc"; yd: "ej.yd"; ye: "ej.ye"; yf: "ej.yf"; yg: "ej.yg"; yh: "ej.yh"; yi: "ej.yi"; yj: "ej.yj"; yk: "ej.yk"; yl: "ej.yl"; ym: "ej.ym"; yn: "ej.yn"; yo: "ej.yo"; yp: "ej.yp"; yq: "ej.yq"; yr: "ej.yr"; ys: "ej.ys"; yt: "ej.yt"; yu: "ej.yu"; yv: "ej.yv"; yw: "ej.yw"; yx: "ej.yx"; yy: "ej.yy"; yz: "ej.yz"; za: "ej.za"; zb: "ej.zb"; zc: "ej.zc"; zd: "ej.zd"; ze: "ej.ze"; zf: "ej.zf"; zg: "ej.zg"; zh: "ej.zh"; zi: "ej.zi"; zj: "ej.zj"; zk: "ej.zk"; zl: "ej.zl"; zm: "ej.zm"; zn: "ej.zn"; zo: "ej.zo"; zp: "ej.zp"; zq: "ej.zq"; zr: "ej.zr"; zs: "ej.zs"; zt: "ej.zt"; zu: "ej.zu"; zv: "ej.zv"; zw: "ej.zw"; zx: "ej.zx"; zy: "ej.zy"; zz: "ej.zz"; }; ek: { aa: "ek.aa"; ab: "ek.ab"; ac: "ek.ac"; ad: "ek.ad"; ae: "ek.ae"; af: "ek.af"; ag: "ek.ag"; ah: "ek.ah"; ai: "ek.ai"; aj: "ek.aj"; ak: "ek.ak"; al: "ek.al"; am: "ek.am"; an: "ek.an"; ao: "ek.ao"; ap: "ek.ap"; aq: "ek.aq"; ar: "ek.ar"; as: "ek.as"; at: "ek.at"; au: "ek.au"; av: "ek.av"; aw: "ek.aw"; ax: "ek.ax"; ay: "ek.ay"; az: "ek.az"; ba: "ek.ba"; bb: "ek.bb"; bc: "ek.bc"; bd: "ek.bd"; be: "ek.be"; bf: "ek.bf"; bg: "ek.bg"; bh: "ek.bh"; bi: "ek.bi"; bj: "ek.bj"; bk: "ek.bk"; bl: "ek.bl"; bm: "ek.bm"; bn: "ek.bn"; bo: "ek.bo"; bp: "ek.bp"; bq: "ek.bq"; br: "ek.br"; bs: "ek.bs"; bt: "ek.bt"; bu: "ek.bu"; bv: "ek.bv"; bw: "ek.bw"; bx: "ek.bx"; by: "ek.by"; bz: "ek.bz"; ca: "ek.ca"; cb: "ek.cb"; cc: "ek.cc"; cd: "ek.cd"; ce: "ek.ce"; cf: "ek.cf"; cg: "ek.cg"; ch: "ek.ch"; ci: "ek.ci"; cj: "ek.cj"; ck: "ek.ck"; cl: "ek.cl"; cm: "ek.cm"; cn: "ek.cn"; co: "ek.co"; cp: "ek.cp"; cq: "ek.cq"; cr: "ek.cr"; cs: "ek.cs"; ct: "ek.ct"; cu: "ek.cu"; cv: "ek.cv"; cw: "ek.cw"; cx: "ek.cx"; cy: "ek.cy"; cz: "ek.cz"; da: "ek.da"; db: "ek.db"; dc: "ek.dc"; dd: "ek.dd"; de: "ek.de"; df: "ek.df"; dg: "ek.dg"; dh: "ek.dh"; di: "ek.di"; dj: "ek.dj"; dk: "ek.dk"; dl: "ek.dl"; dm: "ek.dm"; dn: "ek.dn"; do: "ek.do"; dp: "ek.dp"; dq: "ek.dq"; dr: "ek.dr"; ds: "ek.ds"; dt: "ek.dt"; du: "ek.du"; dv: "ek.dv"; dw: "ek.dw"; dx: "ek.dx"; dy: "ek.dy"; dz: "ek.dz"; ea: "ek.ea"; eb: "ek.eb"; ec: "ek.ec"; ed: "ek.ed"; ee: "ek.ee"; ef: "ek.ef"; eg: "ek.eg"; eh: "ek.eh"; ei: "ek.ei"; ej: "ek.ej"; ek: "ek.ek"; el: "ek.el"; em: "ek.em"; en: "ek.en"; eo: "ek.eo"; ep: "ek.ep"; eq: "ek.eq"; er: "ek.er"; es: "ek.es"; et: "ek.et"; eu: "ek.eu"; ev: "ek.ev"; ew: "ek.ew"; ex: "ek.ex"; ey: "ek.ey"; ez: "ek.ez"; fa: "ek.fa"; fb: "ek.fb"; fc: "ek.fc"; fd: "ek.fd"; fe: "ek.fe"; ff: "ek.ff"; fg: "ek.fg"; fh: "ek.fh"; fi: "ek.fi"; fj: "ek.fj"; fk: "ek.fk"; fl: "ek.fl"; fm: "ek.fm"; fn: "ek.fn"; fo: "ek.fo"; fp: "ek.fp"; fq: "ek.fq"; fr: "ek.fr"; fs: "ek.fs"; ft: "ek.ft"; fu: "ek.fu"; fv: "ek.fv"; fw: "ek.fw"; fx: "ek.fx"; fy: "ek.fy"; fz: "ek.fz"; ga: "ek.ga"; gb: "ek.gb"; gc: "ek.gc"; gd: "ek.gd"; ge: "ek.ge"; gf: "ek.gf"; gg: "ek.gg"; gh: "ek.gh"; gi: "ek.gi"; gj: "ek.gj"; gk: "ek.gk"; gl: "ek.gl"; gm: "ek.gm"; gn: "ek.gn"; go: "ek.go"; gp: "ek.gp"; gq: "ek.gq"; gr: "ek.gr"; gs: "ek.gs"; gt: "ek.gt"; gu: "ek.gu"; gv: "ek.gv"; gw: "ek.gw"; gx: "ek.gx"; gy: "ek.gy"; gz: "ek.gz"; ha: "ek.ha"; hb: "ek.hb"; hc: "ek.hc"; hd: "ek.hd"; he: "ek.he"; hf: "ek.hf"; hg: "ek.hg"; hh: "ek.hh"; hi: "ek.hi"; hj: "ek.hj"; hk: "ek.hk"; hl: "ek.hl"; hm: "ek.hm"; hn: "ek.hn"; ho: "ek.ho"; hp: "ek.hp"; hq: "ek.hq"; hr: "ek.hr"; hs: "ek.hs"; ht: "ek.ht"; hu: "ek.hu"; hv: "ek.hv"; hw: "ek.hw"; hx: "ek.hx"; hy: "ek.hy"; hz: "ek.hz"; ia: "ek.ia"; ib: "ek.ib"; ic: "ek.ic"; id: "ek.id"; ie: "ek.ie"; if: "ek.if"; ig: "ek.ig"; ih: "ek.ih"; ii: "ek.ii"; ij: "ek.ij"; ik: "ek.ik"; il: "ek.il"; im: "ek.im"; in: "ek.in"; io: "ek.io"; ip: "ek.ip"; iq: "ek.iq"; ir: "ek.ir"; is: "ek.is"; it: "ek.it"; iu: "ek.iu"; iv: "ek.iv"; iw: "ek.iw"; ix: "ek.ix"; iy: "ek.iy"; iz: "ek.iz"; ja: "ek.ja"; jb: "ek.jb"; jc: "ek.jc"; jd: "ek.jd"; je: "ek.je"; jf: "ek.jf"; jg: "ek.jg"; jh: "ek.jh"; ji: "ek.ji"; jj: "ek.jj"; jk: "ek.jk"; jl: "ek.jl"; jm: "ek.jm"; jn: "ek.jn"; jo: "ek.jo"; jp: "ek.jp"; jq: "ek.jq"; jr: "ek.jr"; js: "ek.js"; jt: "ek.jt"; ju: "ek.ju"; jv: "ek.jv"; jw: "ek.jw"; jx: "ek.jx"; jy: "ek.jy"; jz: "ek.jz"; ka: "ek.ka"; kb: "ek.kb"; kc: "ek.kc"; kd: "ek.kd"; ke: "ek.ke"; kf: "ek.kf"; kg: "ek.kg"; kh: "ek.kh"; ki: "ek.ki"; kj: "ek.kj"; kk: "ek.kk"; kl: "ek.kl"; km: "ek.km"; kn: "ek.kn"; ko: "ek.ko"; kp: "ek.kp"; kq: "ek.kq"; kr: "ek.kr"; ks: "ek.ks"; kt: "ek.kt"; ku: "ek.ku"; kv: "ek.kv"; kw: "ek.kw"; kx: "ek.kx"; ky: "ek.ky"; kz: "ek.kz"; la: "ek.la"; lb: "ek.lb"; lc: "ek.lc"; ld: "ek.ld"; le: "ek.le"; lf: "ek.lf"; lg: "ek.lg"; lh: "ek.lh"; li: "ek.li"; lj: "ek.lj"; lk: "ek.lk"; ll: "ek.ll"; lm: "ek.lm"; ln: "ek.ln"; lo: "ek.lo"; lp: "ek.lp"; lq: "ek.lq"; lr: "ek.lr"; ls: "ek.ls"; lt: "ek.lt"; lu: "ek.lu"; lv: "ek.lv"; lw: "ek.lw"; lx: "ek.lx"; ly: "ek.ly"; lz: "ek.lz"; ma: "ek.ma"; mb: "ek.mb"; mc: "ek.mc"; md: "ek.md"; me: "ek.me"; mf: "ek.mf"; mg: "ek.mg"; mh: "ek.mh"; mi: "ek.mi"; mj: "ek.mj"; mk: "ek.mk"; ml: "ek.ml"; mm: "ek.mm"; mn: "ek.mn"; mo: "ek.mo"; mp: "ek.mp"; mq: "ek.mq"; mr: "ek.mr"; ms: "ek.ms"; mt: "ek.mt"; mu: "ek.mu"; mv: "ek.mv"; mw: "ek.mw"; mx: "ek.mx"; my: "ek.my"; mz: "ek.mz"; na: "ek.na"; nb: "ek.nb"; nc: "ek.nc"; nd: "ek.nd"; ne: "ek.ne"; nf: "ek.nf"; ng: "ek.ng"; nh: "ek.nh"; ni: "ek.ni"; nj: "ek.nj"; nk: "ek.nk"; nl: "ek.nl"; nm: "ek.nm"; nn: "ek.nn"; no: "ek.no"; np: "ek.np"; nq: "ek.nq"; nr: "ek.nr"; ns: "ek.ns"; nt: "ek.nt"; nu: "ek.nu"; nv: "ek.nv"; nw: "ek.nw"; nx: "ek.nx"; ny: "ek.ny"; nz: "ek.nz"; oa: "ek.oa"; ob: "ek.ob"; oc: "ek.oc"; od: "ek.od"; oe: "ek.oe"; of: "ek.of"; og: "ek.og"; oh: "ek.oh"; oi: "ek.oi"; oj: "ek.oj"; ok: "ek.ok"; ol: "ek.ol"; om: "ek.om"; on: "ek.on"; oo: "ek.oo"; op: "ek.op"; oq: "ek.oq"; or: "ek.or"; os: "ek.os"; ot: "ek.ot"; ou: "ek.ou"; ov: "ek.ov"; ow: "ek.ow"; ox: "ek.ox"; oy: "ek.oy"; oz: "ek.oz"; pa: "ek.pa"; pb: "ek.pb"; pc: "ek.pc"; pd: "ek.pd"; pe: "ek.pe"; pf: "ek.pf"; pg: "ek.pg"; ph: "ek.ph"; pi: "ek.pi"; pj: "ek.pj"; pk: "ek.pk"; pl: "ek.pl"; pm: "ek.pm"; pn: "ek.pn"; po: "ek.po"; pp: "ek.pp"; pq: "ek.pq"; pr: "ek.pr"; ps: "ek.ps"; pt: "ek.pt"; pu: "ek.pu"; pv: "ek.pv"; pw: "ek.pw"; px: "ek.px"; py: "ek.py"; pz: "ek.pz"; qa: "ek.qa"; qb: "ek.qb"; qc: "ek.qc"; qd: "ek.qd"; qe: "ek.qe"; qf: "ek.qf"; qg: "ek.qg"; qh: "ek.qh"; qi: "ek.qi"; qj: "ek.qj"; qk: "ek.qk"; ql: "ek.ql"; qm: "ek.qm"; qn: "ek.qn"; qo: "ek.qo"; qp: "ek.qp"; qq: "ek.qq"; qr: "ek.qr"; qs: "ek.qs"; qt: "ek.qt"; qu: "ek.qu"; qv: "ek.qv"; qw: "ek.qw"; qx: "ek.qx"; qy: "ek.qy"; qz: "ek.qz"; ra: "ek.ra"; rb: "ek.rb"; rc: "ek.rc"; rd: "ek.rd"; re: "ek.re"; rf: "ek.rf"; rg: "ek.rg"; rh: "ek.rh"; ri: "ek.ri"; rj: "ek.rj"; rk: "ek.rk"; rl: "ek.rl"; rm: "ek.rm"; rn: "ek.rn"; ro: "ek.ro"; rp: "ek.rp"; rq: "ek.rq"; rr: "ek.rr"; rs: "ek.rs"; rt: "ek.rt"; ru: "ek.ru"; rv: "ek.rv"; rw: "ek.rw"; rx: "ek.rx"; ry: "ek.ry"; rz: "ek.rz"; sa: "ek.sa"; sb: "ek.sb"; sc: "ek.sc"; sd: "ek.sd"; se: "ek.se"; sf: "ek.sf"; sg: "ek.sg"; sh: "ek.sh"; si: "ek.si"; sj: "ek.sj"; sk: "ek.sk"; sl: "ek.sl"; sm: "ek.sm"; sn: "ek.sn"; so: "ek.so"; sp: "ek.sp"; sq: "ek.sq"; sr: "ek.sr"; ss: "ek.ss"; st: "ek.st"; su: "ek.su"; sv: "ek.sv"; sw: "ek.sw"; sx: "ek.sx"; sy: "ek.sy"; sz: "ek.sz"; ta: "ek.ta"; tb: "ek.tb"; tc: "ek.tc"; td: "ek.td"; te: "ek.te"; tf: "ek.tf"; tg: "ek.tg"; th: "ek.th"; ti: "ek.ti"; tj: "ek.tj"; tk: "ek.tk"; tl: "ek.tl"; tm: "ek.tm"; tn: "ek.tn"; to: "ek.to"; tp: "ek.tp"; tq: "ek.tq"; tr: "ek.tr"; ts: "ek.ts"; tt: "ek.tt"; tu: "ek.tu"; tv: "ek.tv"; tw: "ek.tw"; tx: "ek.tx"; ty: "ek.ty"; tz: "ek.tz"; ua: "ek.ua"; ub: "ek.ub"; uc: "ek.uc"; ud: "ek.ud"; ue: "ek.ue"; uf: "ek.uf"; ug: "ek.ug"; uh: "ek.uh"; ui: "ek.ui"; uj: "ek.uj"; uk: "ek.uk"; ul: "ek.ul"; um: "ek.um"; un: "ek.un"; uo: "ek.uo"; up: "ek.up"; uq: "ek.uq"; ur: "ek.ur"; us: "ek.us"; ut: "ek.ut"; uu: "ek.uu"; uv: "ek.uv"; uw: "ek.uw"; ux: "ek.ux"; uy: "ek.uy"; uz: "ek.uz"; va: "ek.va"; vb: "ek.vb"; vc: "ek.vc"; vd: "ek.vd"; ve: "ek.ve"; vf: "ek.vf"; vg: "ek.vg"; vh: "ek.vh"; vi: "ek.vi"; vj: "ek.vj"; vk: "ek.vk"; vl: "ek.vl"; vm: "ek.vm"; vn: "ek.vn"; vo: "ek.vo"; vp: "ek.vp"; vq: "ek.vq"; vr: "ek.vr"; vs: "ek.vs"; vt: "ek.vt"; vu: "ek.vu"; vv: "ek.vv"; vw: "ek.vw"; vx: "ek.vx"; vy: "ek.vy"; vz: "ek.vz"; wa: "ek.wa"; wb: "ek.wb"; wc: "ek.wc"; wd: "ek.wd"; we: "ek.we"; wf: "ek.wf"; wg: "ek.wg"; wh: "ek.wh"; wi: "ek.wi"; wj: "ek.wj"; wk: "ek.wk"; wl: "ek.wl"; wm: "ek.wm"; wn: "ek.wn"; wo: "ek.wo"; wp: "ek.wp"; wq: "ek.wq"; wr: "ek.wr"; ws: "ek.ws"; wt: "ek.wt"; wu: "ek.wu"; wv: "ek.wv"; ww: "ek.ww"; wx: "ek.wx"; wy: "ek.wy"; wz: "ek.wz"; xa: "ek.xa"; xb: "ek.xb"; xc: "ek.xc"; xd: "ek.xd"; xe: "ek.xe"; xf: "ek.xf"; xg: "ek.xg"; xh: "ek.xh"; xi: "ek.xi"; xj: "ek.xj"; xk: "ek.xk"; xl: "ek.xl"; xm: "ek.xm"; xn: "ek.xn"; xo: "ek.xo"; xp: "ek.xp"; xq: "ek.xq"; xr: "ek.xr"; xs: "ek.xs"; xt: "ek.xt"; xu: "ek.xu"; xv: "ek.xv"; xw: "ek.xw"; xx: "ek.xx"; xy: "ek.xy"; xz: "ek.xz"; ya: "ek.ya"; yb: "ek.yb"; yc: "ek.yc"; yd: "ek.yd"; ye: "ek.ye"; yf: "ek.yf"; yg: "ek.yg"; yh: "ek.yh"; yi: "ek.yi"; yj: "ek.yj"; yk: "ek.yk"; yl: "ek.yl"; ym: "ek.ym"; yn: "ek.yn"; yo: "ek.yo"; yp: "ek.yp"; yq: "ek.yq"; yr: "ek.yr"; ys: "ek.ys"; yt: "ek.yt"; yu: "ek.yu"; yv: "ek.yv"; yw: "ek.yw"; yx: "ek.yx"; yy: "ek.yy"; yz: "ek.yz"; za: "ek.za"; zb: "ek.zb"; zc: "ek.zc"; zd: "ek.zd"; ze: "ek.ze"; zf: "ek.zf"; zg: "ek.zg"; zh: "ek.zh"; zi: "ek.zi"; zj: "ek.zj"; zk: "ek.zk"; zl: "ek.zl"; zm: "ek.zm"; zn: "ek.zn"; zo: "ek.zo"; zp: "ek.zp"; zq: "ek.zq"; zr: "ek.zr"; zs: "ek.zs"; zt: "ek.zt"; zu: "ek.zu"; zv: "ek.zv"; zw: "ek.zw"; zx: "ek.zx"; zy: "ek.zy"; zz: "ek.zz"; }; el: { aa: "el.aa"; ab: "el.ab"; ac: "el.ac"; ad: "el.ad"; ae: "el.ae"; af: "el.af"; ag: "el.ag"; ah: "el.ah"; ai: "el.ai"; aj: "el.aj"; ak: "el.ak"; al: "el.al"; am: "el.am"; an: "el.an"; ao: "el.ao"; ap: "el.ap"; aq: "el.aq"; ar: "el.ar"; as: "el.as"; at: "el.at"; au: "el.au"; av: "el.av"; aw: "el.aw"; ax: "el.ax"; ay: "el.ay"; az: "el.az"; ba: "el.ba"; bb: "el.bb"; bc: "el.bc"; bd: "el.bd"; be: "el.be"; bf: "el.bf"; bg: "el.bg"; bh: "el.bh"; bi: "el.bi"; bj: "el.bj"; bk: "el.bk"; bl: "el.bl"; bm: "el.bm"; bn: "el.bn"; bo: "el.bo"; bp: "el.bp"; bq: "el.bq"; br: "el.br"; bs: "el.bs"; bt: "el.bt"; bu: "el.bu"; bv: "el.bv"; bw: "el.bw"; bx: "el.bx"; by: "el.by"; bz: "el.bz"; ca: "el.ca"; cb: "el.cb"; cc: "el.cc"; cd: "el.cd"; ce: "el.ce"; cf: "el.cf"; cg: "el.cg"; ch: "el.ch"; ci: "el.ci"; cj: "el.cj"; ck: "el.ck"; cl: "el.cl"; cm: "el.cm"; cn: "el.cn"; co: "el.co"; cp: "el.cp"; cq: "el.cq"; cr: "el.cr"; cs: "el.cs"; ct: "el.ct"; cu: "el.cu"; cv: "el.cv"; cw: "el.cw"; cx: "el.cx"; cy: "el.cy"; cz: "el.cz"; da: "el.da"; db: "el.db"; dc: "el.dc"; dd: "el.dd"; de: "el.de"; df: "el.df"; dg: "el.dg"; dh: "el.dh"; di: "el.di"; dj: "el.dj"; dk: "el.dk"; dl: "el.dl"; dm: "el.dm"; dn: "el.dn"; do: "el.do"; dp: "el.dp"; dq: "el.dq"; dr: "el.dr"; ds: "el.ds"; dt: "el.dt"; du: "el.du"; dv: "el.dv"; dw: "el.dw"; dx: "el.dx"; dy: "el.dy"; dz: "el.dz"; ea: "el.ea"; eb: "el.eb"; ec: "el.ec"; ed: "el.ed"; ee: "el.ee"; ef: "el.ef"; eg: "el.eg"; eh: "el.eh"; ei: "el.ei"; ej: "el.ej"; ek: "el.ek"; el: "el.el"; em: "el.em"; en: "el.en"; eo: "el.eo"; ep: "el.ep"; eq: "el.eq"; er: "el.er"; es: "el.es"; et: "el.et"; eu: "el.eu"; ev: "el.ev"; ew: "el.ew"; ex: "el.ex"; ey: "el.ey"; ez: "el.ez"; fa: "el.fa"; fb: "el.fb"; fc: "el.fc"; fd: "el.fd"; fe: "el.fe"; ff: "el.ff"; fg: "el.fg"; fh: "el.fh"; fi: "el.fi"; fj: "el.fj"; fk: "el.fk"; fl: "el.fl"; fm: "el.fm"; fn: "el.fn"; fo: "el.fo"; fp: "el.fp"; fq: "el.fq"; fr: "el.fr"; fs: "el.fs"; ft: "el.ft"; fu: "el.fu"; fv: "el.fv"; fw: "el.fw"; fx: "el.fx"; fy: "el.fy"; fz: "el.fz"; ga: "el.ga"; gb: "el.gb"; gc: "el.gc"; gd: "el.gd"; ge: "el.ge"; gf: "el.gf"; gg: "el.gg"; gh: "el.gh"; gi: "el.gi"; gj: "el.gj"; gk: "el.gk"; gl: "el.gl"; gm: "el.gm"; gn: "el.gn"; go: "el.go"; gp: "el.gp"; gq: "el.gq"; gr: "el.gr"; gs: "el.gs"; gt: "el.gt"; gu: "el.gu"; gv: "el.gv"; gw: "el.gw"; gx: "el.gx"; gy: "el.gy"; gz: "el.gz"; ha: "el.ha"; hb: "el.hb"; hc: "el.hc"; hd: "el.hd"; he: "el.he"; hf: "el.hf"; hg: "el.hg"; hh: "el.hh"; hi: "el.hi"; hj: "el.hj"; hk: "el.hk"; hl: "el.hl"; hm: "el.hm"; hn: "el.hn"; ho: "el.ho"; hp: "el.hp"; hq: "el.hq"; hr: "el.hr"; hs: "el.hs"; ht: "el.ht"; hu: "el.hu"; hv: "el.hv"; hw: "el.hw"; hx: "el.hx"; hy: "el.hy"; hz: "el.hz"; ia: "el.ia"; ib: "el.ib"; ic: "el.ic"; id: "el.id"; ie: "el.ie"; if: "el.if"; ig: "el.ig"; ih: "el.ih"; ii: "el.ii"; ij: "el.ij"; ik: "el.ik"; il: "el.il"; im: "el.im"; in: "el.in"; io: "el.io"; ip: "el.ip"; iq: "el.iq"; ir: "el.ir"; is: "el.is"; it: "el.it"; iu: "el.iu"; iv: "el.iv"; iw: "el.iw"; ix: "el.ix"; iy: "el.iy"; iz: "el.iz"; ja: "el.ja"; jb: "el.jb"; jc: "el.jc"; jd: "el.jd"; je: "el.je"; jf: "el.jf"; jg: "el.jg"; jh: "el.jh"; ji: "el.ji"; jj: "el.jj"; jk: "el.jk"; jl: "el.jl"; jm: "el.jm"; jn: "el.jn"; jo: "el.jo"; jp: "el.jp"; jq: "el.jq"; jr: "el.jr"; js: "el.js"; jt: "el.jt"; ju: "el.ju"; jv: "el.jv"; jw: "el.jw"; jx: "el.jx"; jy: "el.jy"; jz: "el.jz"; ka: "el.ka"; kb: "el.kb"; kc: "el.kc"; kd: "el.kd"; ke: "el.ke"; kf: "el.kf"; kg: "el.kg"; kh: "el.kh"; ki: "el.ki"; kj: "el.kj"; kk: "el.kk"; kl: "el.kl"; km: "el.km"; kn: "el.kn"; ko: "el.ko"; kp: "el.kp"; kq: "el.kq"; kr: "el.kr"; ks: "el.ks"; kt: "el.kt"; ku: "el.ku"; kv: "el.kv"; kw: "el.kw"; kx: "el.kx"; ky: "el.ky"; kz: "el.kz"; la: "el.la"; lb: "el.lb"; lc: "el.lc"; ld: "el.ld"; le: "el.le"; lf: "el.lf"; lg: "el.lg"; lh: "el.lh"; li: "el.li"; lj: "el.lj"; lk: "el.lk"; ll: "el.ll"; lm: "el.lm"; ln: "el.ln"; lo: "el.lo"; lp: "el.lp"; lq: "el.lq"; lr: "el.lr"; ls: "el.ls"; lt: "el.lt"; lu: "el.lu"; lv: "el.lv"; lw: "el.lw"; lx: "el.lx"; ly: "el.ly"; lz: "el.lz"; ma: "el.ma"; mb: "el.mb"; mc: "el.mc"; md: "el.md"; me: "el.me"; mf: "el.mf"; mg: "el.mg"; mh: "el.mh"; mi: "el.mi"; mj: "el.mj"; mk: "el.mk"; ml: "el.ml"; mm: "el.mm"; mn: "el.mn"; mo: "el.mo"; mp: "el.mp"; mq: "el.mq"; mr: "el.mr"; ms: "el.ms"; mt: "el.mt"; mu: "el.mu"; mv: "el.mv"; mw: "el.mw"; mx: "el.mx"; my: "el.my"; mz: "el.mz"; na: "el.na"; nb: "el.nb"; nc: "el.nc"; nd: "el.nd"; ne: "el.ne"; nf: "el.nf"; ng: "el.ng"; nh: "el.nh"; ni: "el.ni"; nj: "el.nj"; nk: "el.nk"; nl: "el.nl"; nm: "el.nm"; nn: "el.nn"; no: "el.no"; np: "el.np"; nq: "el.nq"; nr: "el.nr"; ns: "el.ns"; nt: "el.nt"; nu: "el.nu"; nv: "el.nv"; nw: "el.nw"; nx: "el.nx"; ny: "el.ny"; nz: "el.nz"; oa: "el.oa"; ob: "el.ob"; oc: "el.oc"; od: "el.od"; oe: "el.oe"; of: "el.of"; og: "el.og"; oh: "el.oh"; oi: "el.oi"; oj: "el.oj"; ok: "el.ok"; ol: "el.ol"; om: "el.om"; on: "el.on"; oo: "el.oo"; op: "el.op"; oq: "el.oq"; or: "el.or"; os: "el.os"; ot: "el.ot"; ou: "el.ou"; ov: "el.ov"; ow: "el.ow"; ox: "el.ox"; oy: "el.oy"; oz: "el.oz"; pa: "el.pa"; pb: "el.pb"; pc: "el.pc"; pd: "el.pd"; pe: "el.pe"; pf: "el.pf"; pg: "el.pg"; ph: "el.ph"; pi: "el.pi"; pj: "el.pj"; pk: "el.pk"; pl: "el.pl"; pm: "el.pm"; pn: "el.pn"; po: "el.po"; pp: "el.pp"; pq: "el.pq"; pr: "el.pr"; ps: "el.ps"; pt: "el.pt"; pu: "el.pu"; pv: "el.pv"; pw: "el.pw"; px: "el.px"; py: "el.py"; pz: "el.pz"; qa: "el.qa"; qb: "el.qb"; qc: "el.qc"; qd: "el.qd"; qe: "el.qe"; qf: "el.qf"; qg: "el.qg"; qh: "el.qh"; qi: "el.qi"; qj: "el.qj"; qk: "el.qk"; ql: "el.ql"; qm: "el.qm"; qn: "el.qn"; qo: "el.qo"; qp: "el.qp"; qq: "el.qq"; qr: "el.qr"; qs: "el.qs"; qt: "el.qt"; qu: "el.qu"; qv: "el.qv"; qw: "el.qw"; qx: "el.qx"; qy: "el.qy"; qz: "el.qz"; ra: "el.ra"; rb: "el.rb"; rc: "el.rc"; rd: "el.rd"; re: "el.re"; rf: "el.rf"; rg: "el.rg"; rh: "el.rh"; ri: "el.ri"; rj: "el.rj"; rk: "el.rk"; rl: "el.rl"; rm: "el.rm"; rn: "el.rn"; ro: "el.ro"; rp: "el.rp"; rq: "el.rq"; rr: "el.rr"; rs: "el.rs"; rt: "el.rt"; ru: "el.ru"; rv: "el.rv"; rw: "el.rw"; rx: "el.rx"; ry: "el.ry"; rz: "el.rz"; sa: "el.sa"; sb: "el.sb"; sc: "el.sc"; sd: "el.sd"; se: "el.se"; sf: "el.sf"; sg: "el.sg"; sh: "el.sh"; si: "el.si"; sj: "el.sj"; sk: "el.sk"; sl: "el.sl"; sm: "el.sm"; sn: "el.sn"; so: "el.so"; sp: "el.sp"; sq: "el.sq"; sr: "el.sr"; ss: "el.ss"; st: "el.st"; su: "el.su"; sv: "el.sv"; sw: "el.sw"; sx: "el.sx"; sy: "el.sy"; sz: "el.sz"; ta: "el.ta"; tb: "el.tb"; tc: "el.tc"; td: "el.td"; te: "el.te"; tf: "el.tf"; tg: "el.tg"; th: "el.th"; ti: "el.ti"; tj: "el.tj"; tk: "el.tk"; tl: "el.tl"; tm: "el.tm"; tn: "el.tn"; to: "el.to"; tp: "el.tp"; tq: "el.tq"; tr: "el.tr"; ts: "el.ts"; tt: "el.tt"; tu: "el.tu"; tv: "el.tv"; tw: "el.tw"; tx: "el.tx"; ty: "el.ty"; tz: "el.tz"; ua: "el.ua"; ub: "el.ub"; uc: "el.uc"; ud: "el.ud"; ue: "el.ue"; uf: "el.uf"; ug: "el.ug"; uh: "el.uh"; ui: "el.ui"; uj: "el.uj"; uk: "el.uk"; ul: "el.ul"; um: "el.um"; un: "el.un"; uo: "el.uo"; up: "el.up"; uq: "el.uq"; ur: "el.ur"; us: "el.us"; ut: "el.ut"; uu: "el.uu"; uv: "el.uv"; uw: "el.uw"; ux: "el.ux"; uy: "el.uy"; uz: "el.uz"; va: "el.va"; vb: "el.vb"; vc: "el.vc"; vd: "el.vd"; ve: "el.ve"; vf: "el.vf"; vg: "el.vg"; vh: "el.vh"; vi: "el.vi"; vj: "el.vj"; vk: "el.vk"; vl: "el.vl"; vm: "el.vm"; vn: "el.vn"; vo: "el.vo"; vp: "el.vp"; vq: "el.vq"; vr: "el.vr"; vs: "el.vs"; vt: "el.vt"; vu: "el.vu"; vv: "el.vv"; vw: "el.vw"; vx: "el.vx"; vy: "el.vy"; vz: "el.vz"; wa: "el.wa"; wb: "el.wb"; wc: "el.wc"; wd: "el.wd"; we: "el.we"; wf: "el.wf"; wg: "el.wg"; wh: "el.wh"; wi: "el.wi"; wj: "el.wj"; wk: "el.wk"; wl: "el.wl"; wm: "el.wm"; wn: "el.wn"; wo: "el.wo"; wp: "el.wp"; wq: "el.wq"; wr: "el.wr"; ws: "el.ws"; wt: "el.wt"; wu: "el.wu"; wv: "el.wv"; ww: "el.ww"; wx: "el.wx"; wy: "el.wy"; wz: "el.wz"; xa: "el.xa"; xb: "el.xb"; xc: "el.xc"; xd: "el.xd"; xe: "el.xe"; xf: "el.xf"; xg: "el.xg"; xh: "el.xh"; xi: "el.xi"; xj: "el.xj"; xk: "el.xk"; xl: "el.xl"; xm: "el.xm"; xn: "el.xn"; xo: "el.xo"; xp: "el.xp"; xq: "el.xq"; xr: "el.xr"; xs: "el.xs"; xt: "el.xt"; xu: "el.xu"; xv: "el.xv"; xw: "el.xw"; xx: "el.xx"; xy: "el.xy"; xz: "el.xz"; ya: "el.ya"; yb: "el.yb"; yc: "el.yc"; yd: "el.yd"; ye: "el.ye"; yf: "el.yf"; yg: "el.yg"; yh: "el.yh"; yi: "el.yi"; yj: "el.yj"; yk: "el.yk"; yl: "el.yl"; ym: "el.ym"; yn: "el.yn"; yo: "el.yo"; yp: "el.yp"; yq: "el.yq"; yr: "el.yr"; ys: "el.ys"; yt: "el.yt"; yu: "el.yu"; yv: "el.yv"; yw: "el.yw"; yx: "el.yx"; yy: "el.yy"; yz: "el.yz"; za: "el.za"; zb: "el.zb"; zc: "el.zc"; zd: "el.zd"; ze: "el.ze"; zf: "el.zf"; zg: "el.zg"; zh: "el.zh"; zi: "el.zi"; zj: "el.zj"; zk: "el.zk"; zl: "el.zl"; zm: "el.zm"; zn: "el.zn"; zo: "el.zo"; zp: "el.zp"; zq: "el.zq"; zr: "el.zr"; zs: "el.zs"; zt: "el.zt"; zu: "el.zu"; zv: "el.zv"; zw: "el.zw"; zx: "el.zx"; zy: "el.zy"; zz: "el.zz"; }; em: { aa: "em.aa"; ab: "em.ab"; ac: "em.ac"; ad: "em.ad"; ae: "em.ae"; af: "em.af"; ag: "em.ag"; ah: "em.ah"; ai: "em.ai"; aj: "em.aj"; ak: "em.ak"; al: "em.al"; am: "em.am"; an: "em.an"; ao: "em.ao"; ap: "em.ap"; aq: "em.aq"; ar: "em.ar"; as: "em.as"; at: "em.at"; au: "em.au"; av: "em.av"; aw: "em.aw"; ax: "em.ax"; ay: "em.ay"; az: "em.az"; ba: "em.ba"; bb: "em.bb"; bc: "em.bc"; bd: "em.bd"; be: "em.be"; bf: "em.bf"; bg: "em.bg"; bh: "em.bh"; bi: "em.bi"; bj: "em.bj"; bk: "em.bk"; bl: "em.bl"; bm: "em.bm"; bn: "em.bn"; bo: "em.bo"; bp: "em.bp"; bq: "em.bq"; br: "em.br"; bs: "em.bs"; bt: "em.bt"; bu: "em.bu"; bv: "em.bv"; bw: "em.bw"; bx: "em.bx"; by: "em.by"; bz: "em.bz"; ca: "em.ca"; cb: "em.cb"; cc: "em.cc"; cd: "em.cd"; ce: "em.ce"; cf: "em.cf"; cg: "em.cg"; ch: "em.ch"; ci: "em.ci"; cj: "em.cj"; ck: "em.ck"; cl: "em.cl"; cm: "em.cm"; cn: "em.cn"; co: "em.co"; cp: "em.cp"; cq: "em.cq"; cr: "em.cr"; cs: "em.cs"; ct: "em.ct"; cu: "em.cu"; cv: "em.cv"; cw: "em.cw"; cx: "em.cx"; cy: "em.cy"; cz: "em.cz"; da: "em.da"; db: "em.db"; dc: "em.dc"; dd: "em.dd"; de: "em.de"; df: "em.df"; dg: "em.dg"; dh: "em.dh"; di: "em.di"; dj: "em.dj"; dk: "em.dk"; dl: "em.dl"; dm: "em.dm"; dn: "em.dn"; do: "em.do"; dp: "em.dp"; dq: "em.dq"; dr: "em.dr"; ds: "em.ds"; dt: "em.dt"; du: "em.du"; dv: "em.dv"; dw: "em.dw"; dx: "em.dx"; dy: "em.dy"; dz: "em.dz"; ea: "em.ea"; eb: "em.eb"; ec: "em.ec"; ed: "em.ed"; ee: "em.ee"; ef: "em.ef"; eg: "em.eg"; eh: "em.eh"; ei: "em.ei"; ej: "em.ej"; ek: "em.ek"; el: "em.el"; em: "em.em"; en: "em.en"; eo: "em.eo"; ep: "em.ep"; eq: "em.eq"; er: "em.er"; es: "em.es"; et: "em.et"; eu: "em.eu"; ev: "em.ev"; ew: "em.ew"; ex: "em.ex"; ey: "em.ey"; ez: "em.ez"; fa: "em.fa"; fb: "em.fb"; fc: "em.fc"; fd: "em.fd"; fe: "em.fe"; ff: "em.ff"; fg: "em.fg"; fh: "em.fh"; fi: "em.fi"; fj: "em.fj"; fk: "em.fk"; fl: "em.fl"; fm: "em.fm"; fn: "em.fn"; fo: "em.fo"; fp: "em.fp"; fq: "em.fq"; fr: "em.fr"; fs: "em.fs"; ft: "em.ft"; fu: "em.fu"; fv: "em.fv"; fw: "em.fw"; fx: "em.fx"; fy: "em.fy"; fz: "em.fz"; ga: "em.ga"; gb: "em.gb"; gc: "em.gc"; gd: "em.gd"; ge: "em.ge"; gf: "em.gf"; gg: "em.gg"; gh: "em.gh"; gi: "em.gi"; gj: "em.gj"; gk: "em.gk"; gl: "em.gl"; gm: "em.gm"; gn: "em.gn"; go: "em.go"; gp: "em.gp"; gq: "em.gq"; gr: "em.gr"; gs: "em.gs"; gt: "em.gt"; gu: "em.gu"; gv: "em.gv"; gw: "em.gw"; gx: "em.gx"; gy: "em.gy"; gz: "em.gz"; ha: "em.ha"; hb: "em.hb"; hc: "em.hc"; hd: "em.hd"; he: "em.he"; hf: "em.hf"; hg: "em.hg"; hh: "em.hh"; hi: "em.hi"; hj: "em.hj"; hk: "em.hk"; hl: "em.hl"; hm: "em.hm"; hn: "em.hn"; ho: "em.ho"; hp: "em.hp"; hq: "em.hq"; hr: "em.hr"; hs: "em.hs"; ht: "em.ht"; hu: "em.hu"; hv: "em.hv"; hw: "em.hw"; hx: "em.hx"; hy: "em.hy"; hz: "em.hz"; ia: "em.ia"; ib: "em.ib"; ic: "em.ic"; id: "em.id"; ie: "em.ie"; if: "em.if"; ig: "em.ig"; ih: "em.ih"; ii: "em.ii"; ij: "em.ij"; ik: "em.ik"; il: "em.il"; im: "em.im"; in: "em.in"; io: "em.io"; ip: "em.ip"; iq: "em.iq"; ir: "em.ir"; is: "em.is"; it: "em.it"; iu: "em.iu"; iv: "em.iv"; iw: "em.iw"; ix: "em.ix"; iy: "em.iy"; iz: "em.iz"; ja: "em.ja"; jb: "em.jb"; jc: "em.jc"; jd: "em.jd"; je: "em.je"; jf: "em.jf"; jg: "em.jg"; jh: "em.jh"; ji: "em.ji"; jj: "em.jj"; jk: "em.jk"; jl: "em.jl"; jm: "em.jm"; jn: "em.jn"; jo: "em.jo"; jp: "em.jp"; jq: "em.jq"; jr: "em.jr"; js: "em.js"; jt: "em.jt"; ju: "em.ju"; jv: "em.jv"; jw: "em.jw"; jx: "em.jx"; jy: "em.jy"; jz: "em.jz"; ka: "em.ka"; kb: "em.kb"; kc: "em.kc"; kd: "em.kd"; ke: "em.ke"; kf: "em.kf"; kg: "em.kg"; kh: "em.kh"; ki: "em.ki"; kj: "em.kj"; kk: "em.kk"; kl: "em.kl"; km: "em.km"; kn: "em.kn"; ko: "em.ko"; kp: "em.kp"; kq: "em.kq"; kr: "em.kr"; ks: "em.ks"; kt: "em.kt"; ku: "em.ku"; kv: "em.kv"; kw: "em.kw"; kx: "em.kx"; ky: "em.ky"; kz: "em.kz"; la: "em.la"; lb: "em.lb"; lc: "em.lc"; ld: "em.ld"; le: "em.le"; lf: "em.lf"; lg: "em.lg"; lh: "em.lh"; li: "em.li"; lj: "em.lj"; lk: "em.lk"; ll: "em.ll"; lm: "em.lm"; ln: "em.ln"; lo: "em.lo"; lp: "em.lp"; lq: "em.lq"; lr: "em.lr"; ls: "em.ls"; lt: "em.lt"; lu: "em.lu"; lv: "em.lv"; lw: "em.lw"; lx: "em.lx"; ly: "em.ly"; lz: "em.lz"; ma: "em.ma"; mb: "em.mb"; mc: "em.mc"; md: "em.md"; me: "em.me"; mf: "em.mf"; mg: "em.mg"; mh: "em.mh"; mi: "em.mi"; mj: "em.mj"; mk: "em.mk"; ml: "em.ml"; mm: "em.mm"; mn: "em.mn"; mo: "em.mo"; mp: "em.mp"; mq: "em.mq"; mr: "em.mr"; ms: "em.ms"; mt: "em.mt"; mu: "em.mu"; mv: "em.mv"; mw: "em.mw"; mx: "em.mx"; my: "em.my"; mz: "em.mz"; na: "em.na"; nb: "em.nb"; nc: "em.nc"; nd: "em.nd"; ne: "em.ne"; nf: "em.nf"; ng: "em.ng"; nh: "em.nh"; ni: "em.ni"; nj: "em.nj"; nk: "em.nk"; nl: "em.nl"; nm: "em.nm"; nn: "em.nn"; no: "em.no"; np: "em.np"; nq: "em.nq"; nr: "em.nr"; ns: "em.ns"; nt: "em.nt"; nu: "em.nu"; nv: "em.nv"; nw: "em.nw"; nx: "em.nx"; ny: "em.ny"; nz: "em.nz"; oa: "em.oa"; ob: "em.ob"; oc: "em.oc"; od: "em.od"; oe: "em.oe"; of: "em.of"; og: "em.og"; oh: "em.oh"; oi: "em.oi"; oj: "em.oj"; ok: "em.ok"; ol: "em.ol"; om: "em.om"; on: "em.on"; oo: "em.oo"; op: "em.op"; oq: "em.oq"; or: "em.or"; os: "em.os"; ot: "em.ot"; ou: "em.ou"; ov: "em.ov"; ow: "em.ow"; ox: "em.ox"; oy: "em.oy"; oz: "em.oz"; pa: "em.pa"; pb: "em.pb"; pc: "em.pc"; pd: "em.pd"; pe: "em.pe"; pf: "em.pf"; pg: "em.pg"; ph: "em.ph"; pi: "em.pi"; pj: "em.pj"; pk: "em.pk"; pl: "em.pl"; pm: "em.pm"; pn: "em.pn"; po: "em.po"; pp: "em.pp"; pq: "em.pq"; pr: "em.pr"; ps: "em.ps"; pt: "em.pt"; pu: "em.pu"; pv: "em.pv"; pw: "em.pw"; px: "em.px"; py: "em.py"; pz: "em.pz"; qa: "em.qa"; qb: "em.qb"; qc: "em.qc"; qd: "em.qd"; qe: "em.qe"; qf: "em.qf"; qg: "em.qg"; qh: "em.qh"; qi: "em.qi"; qj: "em.qj"; qk: "em.qk"; ql: "em.ql"; qm: "em.qm"; qn: "em.qn"; qo: "em.qo"; qp: "em.qp"; qq: "em.qq"; qr: "em.qr"; qs: "em.qs"; qt: "em.qt"; qu: "em.qu"; qv: "em.qv"; qw: "em.qw"; qx: "em.qx"; qy: "em.qy"; qz: "em.qz"; ra: "em.ra"; rb: "em.rb"; rc: "em.rc"; rd: "em.rd"; re: "em.re"; rf: "em.rf"; rg: "em.rg"; rh: "em.rh"; ri: "em.ri"; rj: "em.rj"; rk: "em.rk"; rl: "em.rl"; rm: "em.rm"; rn: "em.rn"; ro: "em.ro"; rp: "em.rp"; rq: "em.rq"; rr: "em.rr"; rs: "em.rs"; rt: "em.rt"; ru: "em.ru"; rv: "em.rv"; rw: "em.rw"; rx: "em.rx"; ry: "em.ry"; rz: "em.rz"; sa: "em.sa"; sb: "em.sb"; sc: "em.sc"; sd: "em.sd"; se: "em.se"; sf: "em.sf"; sg: "em.sg"; sh: "em.sh"; si: "em.si"; sj: "em.sj"; sk: "em.sk"; sl: "em.sl"; sm: "em.sm"; sn: "em.sn"; so: "em.so"; sp: "em.sp"; sq: "em.sq"; sr: "em.sr"; ss: "em.ss"; st: "em.st"; su: "em.su"; sv: "em.sv"; sw: "em.sw"; sx: "em.sx"; sy: "em.sy"; sz: "em.sz"; ta: "em.ta"; tb: "em.tb"; tc: "em.tc"; td: "em.td"; te: "em.te"; tf: "em.tf"; tg: "em.tg"; th: "em.th"; ti: "em.ti"; tj: "em.tj"; tk: "em.tk"; tl: "em.tl"; tm: "em.tm"; tn: "em.tn"; to: "em.to"; tp: "em.tp"; tq: "em.tq"; tr: "em.tr"; ts: "em.ts"; tt: "em.tt"; tu: "em.tu"; tv: "em.tv"; tw: "em.tw"; tx: "em.tx"; ty: "em.ty"; tz: "em.tz"; ua: "em.ua"; ub: "em.ub"; uc: "em.uc"; ud: "em.ud"; ue: "em.ue"; uf: "em.uf"; ug: "em.ug"; uh: "em.uh"; ui: "em.ui"; uj: "em.uj"; uk: "em.uk"; ul: "em.ul"; um: "em.um"; un: "em.un"; uo: "em.uo"; up: "em.up"; uq: "em.uq"; ur: "em.ur"; us: "em.us"; ut: "em.ut"; uu: "em.uu"; uv: "em.uv"; uw: "em.uw"; ux: "em.ux"; uy: "em.uy"; uz: "em.uz"; va: "em.va"; vb: "em.vb"; vc: "em.vc"; vd: "em.vd"; ve: "em.ve"; vf: "em.vf"; vg: "em.vg"; vh: "em.vh"; vi: "em.vi"; vj: "em.vj"; vk: "em.vk"; vl: "em.vl"; vm: "em.vm"; vn: "em.vn"; vo: "em.vo"; vp: "em.vp"; vq: "em.vq"; vr: "em.vr"; vs: "em.vs"; vt: "em.vt"; vu: "em.vu"; vv: "em.vv"; vw: "em.vw"; vx: "em.vx"; vy: "em.vy"; vz: "em.vz"; wa: "em.wa"; wb: "em.wb"; wc: "em.wc"; wd: "em.wd"; we: "em.we"; wf: "em.wf"; wg: "em.wg"; wh: "em.wh"; wi: "em.wi"; wj: "em.wj"; wk: "em.wk"; wl: "em.wl"; wm: "em.wm"; wn: "em.wn"; wo: "em.wo"; wp: "em.wp"; wq: "em.wq"; wr: "em.wr"; ws: "em.ws"; wt: "em.wt"; wu: "em.wu"; wv: "em.wv"; ww: "em.ww"; wx: "em.wx"; wy: "em.wy"; wz: "em.wz"; xa: "em.xa"; xb: "em.xb"; xc: "em.xc"; xd: "em.xd"; xe: "em.xe"; xf: "em.xf"; xg: "em.xg"; xh: "em.xh"; xi: "em.xi"; xj: "em.xj"; xk: "em.xk"; xl: "em.xl"; xm: "em.xm"; xn: "em.xn"; xo: "em.xo"; xp: "em.xp"; xq: "em.xq"; xr: "em.xr"; xs: "em.xs"; xt: "em.xt"; xu: "em.xu"; xv: "em.xv"; xw: "em.xw"; xx: "em.xx"; xy: "em.xy"; xz: "em.xz"; ya: "em.ya"; yb: "em.yb"; yc: "em.yc"; yd: "em.yd"; ye: "em.ye"; yf: "em.yf"; yg: "em.yg"; yh: "em.yh"; yi: "em.yi"; yj: "em.yj"; yk: "em.yk"; yl: "em.yl"; ym: "em.ym"; yn: "em.yn"; yo: "em.yo"; yp: "em.yp"; yq: "em.yq"; yr: "em.yr"; ys: "em.ys"; yt: "em.yt"; yu: "em.yu"; yv: "em.yv"; yw: "em.yw"; yx: "em.yx"; yy: "em.yy"; yz: "em.yz"; za: "em.za"; zb: "em.zb"; zc: "em.zc"; zd: "em.zd"; ze: "em.ze"; zf: "em.zf"; zg: "em.zg"; zh: "em.zh"; zi: "em.zi"; zj: "em.zj"; zk: "em.zk"; zl: "em.zl"; zm: "em.zm"; zn: "em.zn"; zo: "em.zo"; zp: "em.zp"; zq: "em.zq"; zr: "em.zr"; zs: "em.zs"; zt: "em.zt"; zu: "em.zu"; zv: "em.zv"; zw: "em.zw"; zx: "em.zx"; zy: "em.zy"; zz: "em.zz"; }; en: { aa: "en.aa"; ab: "en.ab"; ac: "en.ac"; ad: "en.ad"; ae: "en.ae"; af: "en.af"; ag: "en.ag"; ah: "en.ah"; ai: "en.ai"; aj: "en.aj"; ak: "en.ak"; al: "en.al"; am: "en.am"; an: "en.an"; ao: "en.ao"; ap: "en.ap"; aq: "en.aq"; ar: "en.ar"; as: "en.as"; at: "en.at"; au: "en.au"; av: "en.av"; aw: "en.aw"; ax: "en.ax"; ay: "en.ay"; az: "en.az"; ba: "en.ba"; bb: "en.bb"; bc: "en.bc"; bd: "en.bd"; be: "en.be"; bf: "en.bf"; bg: "en.bg"; bh: "en.bh"; bi: "en.bi"; bj: "en.bj"; bk: "en.bk"; bl: "en.bl"; bm: "en.bm"; bn: "en.bn"; bo: "en.bo"; bp: "en.bp"; bq: "en.bq"; br: "en.br"; bs: "en.bs"; bt: "en.bt"; bu: "en.bu"; bv: "en.bv"; bw: "en.bw"; bx: "en.bx"; by: "en.by"; bz: "en.bz"; ca: "en.ca"; cb: "en.cb"; cc: "en.cc"; cd: "en.cd"; ce: "en.ce"; cf: "en.cf"; cg: "en.cg"; ch: "en.ch"; ci: "en.ci"; cj: "en.cj"; ck: "en.ck"; cl: "en.cl"; cm: "en.cm"; cn: "en.cn"; co: "en.co"; cp: "en.cp"; cq: "en.cq"; cr: "en.cr"; cs: "en.cs"; ct: "en.ct"; cu: "en.cu"; cv: "en.cv"; cw: "en.cw"; cx: "en.cx"; cy: "en.cy"; cz: "en.cz"; da: "en.da"; db: "en.db"; dc: "en.dc"; dd: "en.dd"; de: "en.de"; df: "en.df"; dg: "en.dg"; dh: "en.dh"; di: "en.di"; dj: "en.dj"; dk: "en.dk"; dl: "en.dl"; dm: "en.dm"; dn: "en.dn"; do: "en.do"; dp: "en.dp"; dq: "en.dq"; dr: "en.dr"; ds: "en.ds"; dt: "en.dt"; du: "en.du"; dv: "en.dv"; dw: "en.dw"; dx: "en.dx"; dy: "en.dy"; dz: "en.dz"; ea: "en.ea"; eb: "en.eb"; ec: "en.ec"; ed: "en.ed"; ee: "en.ee"; ef: "en.ef"; eg: "en.eg"; eh: "en.eh"; ei: "en.ei"; ej: "en.ej"; ek: "en.ek"; el: "en.el"; em: "en.em"; en: "en.en"; eo: "en.eo"; ep: "en.ep"; eq: "en.eq"; er: "en.er"; es: "en.es"; et: "en.et"; eu: "en.eu"; ev: "en.ev"; ew: "en.ew"; ex: "en.ex"; ey: "en.ey"; ez: "en.ez"; fa: "en.fa"; fb: "en.fb"; fc: "en.fc"; fd: "en.fd"; fe: "en.fe"; ff: "en.ff"; fg: "en.fg"; fh: "en.fh"; fi: "en.fi"; fj: "en.fj"; fk: "en.fk"; fl: "en.fl"; fm: "en.fm"; fn: "en.fn"; fo: "en.fo"; fp: "en.fp"; fq: "en.fq"; fr: "en.fr"; fs: "en.fs"; ft: "en.ft"; fu: "en.fu"; fv: "en.fv"; fw: "en.fw"; fx: "en.fx"; fy: "en.fy"; fz: "en.fz"; ga: "en.ga"; gb: "en.gb"; gc: "en.gc"; gd: "en.gd"; ge: "en.ge"; gf: "en.gf"; gg: "en.gg"; gh: "en.gh"; gi: "en.gi"; gj: "en.gj"; gk: "en.gk"; gl: "en.gl"; gm: "en.gm"; gn: "en.gn"; go: "en.go"; gp: "en.gp"; gq: "en.gq"; gr: "en.gr"; gs: "en.gs"; gt: "en.gt"; gu: "en.gu"; gv: "en.gv"; gw: "en.gw"; gx: "en.gx"; gy: "en.gy"; gz: "en.gz"; ha: "en.ha"; hb: "en.hb"; hc: "en.hc"; hd: "en.hd"; he: "en.he"; hf: "en.hf"; hg: "en.hg"; hh: "en.hh"; hi: "en.hi"; hj: "en.hj"; hk: "en.hk"; hl: "en.hl"; hm: "en.hm"; hn: "en.hn"; ho: "en.ho"; hp: "en.hp"; hq: "en.hq"; hr: "en.hr"; hs: "en.hs"; ht: "en.ht"; hu: "en.hu"; hv: "en.hv"; hw: "en.hw"; hx: "en.hx"; hy: "en.hy"; hz: "en.hz"; ia: "en.ia"; ib: "en.ib"; ic: "en.ic"; id: "en.id"; ie: "en.ie"; if: "en.if"; ig: "en.ig"; ih: "en.ih"; ii: "en.ii"; ij: "en.ij"; ik: "en.ik"; il: "en.il"; im: "en.im"; in: "en.in"; io: "en.io"; ip: "en.ip"; iq: "en.iq"; ir: "en.ir"; is: "en.is"; it: "en.it"; iu: "en.iu"; iv: "en.iv"; iw: "en.iw"; ix: "en.ix"; iy: "en.iy"; iz: "en.iz"; ja: "en.ja"; jb: "en.jb"; jc: "en.jc"; jd: "en.jd"; je: "en.je"; jf: "en.jf"; jg: "en.jg"; jh: "en.jh"; ji: "en.ji"; jj: "en.jj"; jk: "en.jk"; jl: "en.jl"; jm: "en.jm"; jn: "en.jn"; jo: "en.jo"; jp: "en.jp"; jq: "en.jq"; jr: "en.jr"; js: "en.js"; jt: "en.jt"; ju: "en.ju"; jv: "en.jv"; jw: "en.jw"; jx: "en.jx"; jy: "en.jy"; jz: "en.jz"; ka: "en.ka"; kb: "en.kb"; kc: "en.kc"; kd: "en.kd"; ke: "en.ke"; kf: "en.kf"; kg: "en.kg"; kh: "en.kh"; ki: "en.ki"; kj: "en.kj"; kk: "en.kk"; kl: "en.kl"; km: "en.km"; kn: "en.kn"; ko: "en.ko"; kp: "en.kp"; kq: "en.kq"; kr: "en.kr"; ks: "en.ks"; kt: "en.kt"; ku: "en.ku"; kv: "en.kv"; kw: "en.kw"; kx: "en.kx"; ky: "en.ky"; kz: "en.kz"; la: "en.la"; lb: "en.lb"; lc: "en.lc"; ld: "en.ld"; le: "en.le"; lf: "en.lf"; lg: "en.lg"; lh: "en.lh"; li: "en.li"; lj: "en.lj"; lk: "en.lk"; ll: "en.ll"; lm: "en.lm"; ln: "en.ln"; lo: "en.lo"; lp: "en.lp"; lq: "en.lq"; lr: "en.lr"; ls: "en.ls"; lt: "en.lt"; lu: "en.lu"; lv: "en.lv"; lw: "en.lw"; lx: "en.lx"; ly: "en.ly"; lz: "en.lz"; ma: "en.ma"; mb: "en.mb"; mc: "en.mc"; md: "en.md"; me: "en.me"; mf: "en.mf"; mg: "en.mg"; mh: "en.mh"; mi: "en.mi"; mj: "en.mj"; mk: "en.mk"; ml: "en.ml"; mm: "en.mm"; mn: "en.mn"; mo: "en.mo"; mp: "en.mp"; mq: "en.mq"; mr: "en.mr"; ms: "en.ms"; mt: "en.mt"; mu: "en.mu"; mv: "en.mv"; mw: "en.mw"; mx: "en.mx"; my: "en.my"; mz: "en.mz"; na: "en.na"; nb: "en.nb"; nc: "en.nc"; nd: "en.nd"; ne: "en.ne"; nf: "en.nf"; ng: "en.ng"; nh: "en.nh"; ni: "en.ni"; nj: "en.nj"; nk: "en.nk"; nl: "en.nl"; nm: "en.nm"; nn: "en.nn"; no: "en.no"; np: "en.np"; nq: "en.nq"; nr: "en.nr"; ns: "en.ns"; nt: "en.nt"; nu: "en.nu"; nv: "en.nv"; nw: "en.nw"; nx: "en.nx"; ny: "en.ny"; nz: "en.nz"; oa: "en.oa"; ob: "en.ob"; oc: "en.oc"; od: "en.od"; oe: "en.oe"; of: "en.of"; og: "en.og"; oh: "en.oh"; oi: "en.oi"; oj: "en.oj"; ok: "en.ok"; ol: "en.ol"; om: "en.om"; on: "en.on"; oo: "en.oo"; op: "en.op"; oq: "en.oq"; or: "en.or"; os: "en.os"; ot: "en.ot"; ou: "en.ou"; ov: "en.ov"; ow: "en.ow"; ox: "en.ox"; oy: "en.oy"; oz: "en.oz"; pa: "en.pa"; pb: "en.pb"; pc: "en.pc"; pd: "en.pd"; pe: "en.pe"; pf: "en.pf"; pg: "en.pg"; ph: "en.ph"; pi: "en.pi"; pj: "en.pj"; pk: "en.pk"; pl: "en.pl"; pm: "en.pm"; pn: "en.pn"; po: "en.po"; pp: "en.pp"; pq: "en.pq"; pr: "en.pr"; ps: "en.ps"; pt: "en.pt"; pu: "en.pu"; pv: "en.pv"; pw: "en.pw"; px: "en.px"; py: "en.py"; pz: "en.pz"; qa: "en.qa"; qb: "en.qb"; qc: "en.qc"; qd: "en.qd"; qe: "en.qe"; qf: "en.qf"; qg: "en.qg"; qh: "en.qh"; qi: "en.qi"; qj: "en.qj"; qk: "en.qk"; ql: "en.ql"; qm: "en.qm"; qn: "en.qn"; qo: "en.qo"; qp: "en.qp"; qq: "en.qq"; qr: "en.qr"; qs: "en.qs"; qt: "en.qt"; qu: "en.qu"; qv: "en.qv"; qw: "en.qw"; qx: "en.qx"; qy: "en.qy"; qz: "en.qz"; ra: "en.ra"; rb: "en.rb"; rc: "en.rc"; rd: "en.rd"; re: "en.re"; rf: "en.rf"; rg: "en.rg"; rh: "en.rh"; ri: "en.ri"; rj: "en.rj"; rk: "en.rk"; rl: "en.rl"; rm: "en.rm"; rn: "en.rn"; ro: "en.ro"; rp: "en.rp"; rq: "en.rq"; rr: "en.rr"; rs: "en.rs"; rt: "en.rt"; ru: "en.ru"; rv: "en.rv"; rw: "en.rw"; rx: "en.rx"; ry: "en.ry"; rz: "en.rz"; sa: "en.sa"; sb: "en.sb"; sc: "en.sc"; sd: "en.sd"; se: "en.se"; sf: "en.sf"; sg: "en.sg"; sh: "en.sh"; si: "en.si"; sj: "en.sj"; sk: "en.sk"; sl: "en.sl"; sm: "en.sm"; sn: "en.sn"; so: "en.so"; sp: "en.sp"; sq: "en.sq"; sr: "en.sr"; ss: "en.ss"; st: "en.st"; su: "en.su"; sv: "en.sv"; sw: "en.sw"; sx: "en.sx"; sy: "en.sy"; sz: "en.sz"; ta: "en.ta"; tb: "en.tb"; tc: "en.tc"; td: "en.td"; te: "en.te"; tf: "en.tf"; tg: "en.tg"; th: "en.th"; ti: "en.ti"; tj: "en.tj"; tk: "en.tk"; tl: "en.tl"; tm: "en.tm"; tn: "en.tn"; to: "en.to"; tp: "en.tp"; tq: "en.tq"; tr: "en.tr"; ts: "en.ts"; tt: "en.tt"; tu: "en.tu"; tv: "en.tv"; tw: "en.tw"; tx: "en.tx"; ty: "en.ty"; tz: "en.tz"; ua: "en.ua"; ub: "en.ub"; uc: "en.uc"; ud: "en.ud"; ue: "en.ue"; uf: "en.uf"; ug: "en.ug"; uh: "en.uh"; ui: "en.ui"; uj: "en.uj"; uk: "en.uk"; ul: "en.ul"; um: "en.um"; un: "en.un"; uo: "en.uo"; up: "en.up"; uq: "en.uq"; ur: "en.ur"; us: "en.us"; ut: "en.ut"; uu: "en.uu"; uv: "en.uv"; uw: "en.uw"; ux: "en.ux"; uy: "en.uy"; uz: "en.uz"; va: "en.va"; vb: "en.vb"; vc: "en.vc"; vd: "en.vd"; ve: "en.ve"; vf: "en.vf"; vg: "en.vg"; vh: "en.vh"; vi: "en.vi"; vj: "en.vj"; vk: "en.vk"; vl: "en.vl"; vm: "en.vm"; vn: "en.vn"; vo: "en.vo"; vp: "en.vp"; vq: "en.vq"; vr: "en.vr"; vs: "en.vs"; vt: "en.vt"; vu: "en.vu"; vv: "en.vv"; vw: "en.vw"; vx: "en.vx"; vy: "en.vy"; vz: "en.vz"; wa: "en.wa"; wb: "en.wb"; wc: "en.wc"; wd: "en.wd"; we: "en.we"; wf: "en.wf"; wg: "en.wg"; wh: "en.wh"; wi: "en.wi"; wj: "en.wj"; wk: "en.wk"; wl: "en.wl"; wm: "en.wm"; wn: "en.wn"; wo: "en.wo"; wp: "en.wp"; wq: "en.wq"; wr: "en.wr"; ws: "en.ws"; wt: "en.wt"; wu: "en.wu"; wv: "en.wv"; ww: "en.ww"; wx: "en.wx"; wy: "en.wy"; wz: "en.wz"; xa: "en.xa"; xb: "en.xb"; xc: "en.xc"; xd: "en.xd"; xe: "en.xe"; xf: "en.xf"; xg: "en.xg"; xh: "en.xh"; xi: "en.xi"; xj: "en.xj"; xk: "en.xk"; xl: "en.xl"; xm: "en.xm"; xn: "en.xn"; xo: "en.xo"; xp: "en.xp"; xq: "en.xq"; xr: "en.xr"; xs: "en.xs"; xt: "en.xt"; xu: "en.xu"; xv: "en.xv"; xw: "en.xw"; xx: "en.xx"; xy: "en.xy"; xz: "en.xz"; ya: "en.ya"; yb: "en.yb"; yc: "en.yc"; yd: "en.yd"; ye: "en.ye"; yf: "en.yf"; yg: "en.yg"; yh: "en.yh"; yi: "en.yi"; yj: "en.yj"; yk: "en.yk"; yl: "en.yl"; ym: "en.ym"; yn: "en.yn"; yo: "en.yo"; yp: "en.yp"; yq: "en.yq"; yr: "en.yr"; ys: "en.ys"; yt: "en.yt"; yu: "en.yu"; yv: "en.yv"; yw: "en.yw"; yx: "en.yx"; yy: "en.yy"; yz: "en.yz"; za: "en.za"; zb: "en.zb"; zc: "en.zc"; zd: "en.zd"; ze: "en.ze"; zf: "en.zf"; zg: "en.zg"; zh: "en.zh"; zi: "en.zi"; zj: "en.zj"; zk: "en.zk"; zl: "en.zl"; zm: "en.zm"; zn: "en.zn"; zo: "en.zo"; zp: "en.zp"; zq: "en.zq"; zr: "en.zr"; zs: "en.zs"; zt: "en.zt"; zu: "en.zu"; zv: "en.zv"; zw: "en.zw"; zx: "en.zx"; zy: "en.zy"; zz: "en.zz"; }; eo: { aa: "eo.aa"; ab: "eo.ab"; ac: "eo.ac"; ad: "eo.ad"; ae: "eo.ae"; af: "eo.af"; ag: "eo.ag"; ah: "eo.ah"; ai: "eo.ai"; aj: "eo.aj"; ak: "eo.ak"; al: "eo.al"; am: "eo.am"; an: "eo.an"; ao: "eo.ao"; ap: "eo.ap"; aq: "eo.aq"; ar: "eo.ar"; as: "eo.as"; at: "eo.at"; au: "eo.au"; av: "eo.av"; aw: "eo.aw"; ax: "eo.ax"; ay: "eo.ay"; az: "eo.az"; ba: "eo.ba"; bb: "eo.bb"; bc: "eo.bc"; bd: "eo.bd"; be: "eo.be"; bf: "eo.bf"; bg: "eo.bg"; bh: "eo.bh"; bi: "eo.bi"; bj: "eo.bj"; bk: "eo.bk"; bl: "eo.bl"; bm: "eo.bm"; bn: "eo.bn"; bo: "eo.bo"; bp: "eo.bp"; bq: "eo.bq"; br: "eo.br"; bs: "eo.bs"; bt: "eo.bt"; bu: "eo.bu"; bv: "eo.bv"; bw: "eo.bw"; bx: "eo.bx"; by: "eo.by"; bz: "eo.bz"; ca: "eo.ca"; cb: "eo.cb"; cc: "eo.cc"; cd: "eo.cd"; ce: "eo.ce"; cf: "eo.cf"; cg: "eo.cg"; ch: "eo.ch"; ci: "eo.ci"; cj: "eo.cj"; ck: "eo.ck"; cl: "eo.cl"; cm: "eo.cm"; cn: "eo.cn"; co: "eo.co"; cp: "eo.cp"; cq: "eo.cq"; cr: "eo.cr"; cs: "eo.cs"; ct: "eo.ct"; cu: "eo.cu"; cv: "eo.cv"; cw: "eo.cw"; cx: "eo.cx"; cy: "eo.cy"; cz: "eo.cz"; da: "eo.da"; db: "eo.db"; dc: "eo.dc"; dd: "eo.dd"; de: "eo.de"; df: "eo.df"; dg: "eo.dg"; dh: "eo.dh"; di: "eo.di"; dj: "eo.dj"; dk: "eo.dk"; dl: "eo.dl"; dm: "eo.dm"; dn: "eo.dn"; do: "eo.do"; dp: "eo.dp"; dq: "eo.dq"; dr: "eo.dr"; ds: "eo.ds"; dt: "eo.dt"; du: "eo.du"; dv: "eo.dv"; dw: "eo.dw"; dx: "eo.dx"; dy: "eo.dy"; dz: "eo.dz"; ea: "eo.ea"; eb: "eo.eb"; ec: "eo.ec"; ed: "eo.ed"; ee: "eo.ee"; ef: "eo.ef"; eg: "eo.eg"; eh: "eo.eh"; ei: "eo.ei"; ej: "eo.ej"; ek: "eo.ek"; el: "eo.el"; em: "eo.em"; en: "eo.en"; eo: "eo.eo"; ep: "eo.ep"; eq: "eo.eq"; er: "eo.er"; es: "eo.es"; et: "eo.et"; eu: "eo.eu"; ev: "eo.ev"; ew: "eo.ew"; ex: "eo.ex"; ey: "eo.ey"; ez: "eo.ez"; fa: "eo.fa"; fb: "eo.fb"; fc: "eo.fc"; fd: "eo.fd"; fe: "eo.fe"; ff: "eo.ff"; fg: "eo.fg"; fh: "eo.fh"; fi: "eo.fi"; fj: "eo.fj"; fk: "eo.fk"; fl: "eo.fl"; fm: "eo.fm"; fn: "eo.fn"; fo: "eo.fo"; fp: "eo.fp"; fq: "eo.fq"; fr: "eo.fr"; fs: "eo.fs"; ft: "eo.ft"; fu: "eo.fu"; fv: "eo.fv"; fw: "eo.fw"; fx: "eo.fx"; fy: "eo.fy"; fz: "eo.fz"; ga: "eo.ga"; gb: "eo.gb"; gc: "eo.gc"; gd: "eo.gd"; ge: "eo.ge"; gf: "eo.gf"; gg: "eo.gg"; gh: "eo.gh"; gi: "eo.gi"; gj: "eo.gj"; gk: "eo.gk"; gl: "eo.gl"; gm: "eo.gm"; gn: "eo.gn"; go: "eo.go"; gp: "eo.gp"; gq: "eo.gq"; gr: "eo.gr"; gs: "eo.gs"; gt: "eo.gt"; gu: "eo.gu"; gv: "eo.gv"; gw: "eo.gw"; gx: "eo.gx"; gy: "eo.gy"; gz: "eo.gz"; ha: "eo.ha"; hb: "eo.hb"; hc: "eo.hc"; hd: "eo.hd"; he: "eo.he"; hf: "eo.hf"; hg: "eo.hg"; hh: "eo.hh"; hi: "eo.hi"; hj: "eo.hj"; hk: "eo.hk"; hl: "eo.hl"; hm: "eo.hm"; hn: "eo.hn"; ho: "eo.ho"; hp: "eo.hp"; hq: "eo.hq"; hr: "eo.hr"; hs: "eo.hs"; ht: "eo.ht"; hu: "eo.hu"; hv: "eo.hv"; hw: "eo.hw"; hx: "eo.hx"; hy: "eo.hy"; hz: "eo.hz"; ia: "eo.ia"; ib: "eo.ib"; ic: "eo.ic"; id: "eo.id"; ie: "eo.ie"; if: "eo.if"; ig: "eo.ig"; ih: "eo.ih"; ii: "eo.ii"; ij: "eo.ij"; ik: "eo.ik"; il: "eo.il"; im: "eo.im"; in: "eo.in"; io: "eo.io"; ip: "eo.ip"; iq: "eo.iq"; ir: "eo.ir"; is: "eo.is"; it: "eo.it"; iu: "eo.iu"; iv: "eo.iv"; iw: "eo.iw"; ix: "eo.ix"; iy: "eo.iy"; iz: "eo.iz"; ja: "eo.ja"; jb: "eo.jb"; jc: "eo.jc"; jd: "eo.jd"; je: "eo.je"; jf: "eo.jf"; jg: "eo.jg"; jh: "eo.jh"; ji: "eo.ji"; jj: "eo.jj"; jk: "eo.jk"; jl: "eo.jl"; jm: "eo.jm"; jn: "eo.jn"; jo: "eo.jo"; jp: "eo.jp"; jq: "eo.jq"; jr: "eo.jr"; js: "eo.js"; jt: "eo.jt"; ju: "eo.ju"; jv: "eo.jv"; jw: "eo.jw"; jx: "eo.jx"; jy: "eo.jy"; jz: "eo.jz"; ka: "eo.ka"; kb: "eo.kb"; kc: "eo.kc"; kd: "eo.kd"; ke: "eo.ke"; kf: "eo.kf"; kg: "eo.kg"; kh: "eo.kh"; ki: "eo.ki"; kj: "eo.kj"; kk: "eo.kk"; kl: "eo.kl"; km: "eo.km"; kn: "eo.kn"; ko: "eo.ko"; kp: "eo.kp"; kq: "eo.kq"; kr: "eo.kr"; ks: "eo.ks"; kt: "eo.kt"; ku: "eo.ku"; kv: "eo.kv"; kw: "eo.kw"; kx: "eo.kx"; ky: "eo.ky"; kz: "eo.kz"; la: "eo.la"; lb: "eo.lb"; lc: "eo.lc"; ld: "eo.ld"; le: "eo.le"; lf: "eo.lf"; lg: "eo.lg"; lh: "eo.lh"; li: "eo.li"; lj: "eo.lj"; lk: "eo.lk"; ll: "eo.ll"; lm: "eo.lm"; ln: "eo.ln"; lo: "eo.lo"; lp: "eo.lp"; lq: "eo.lq"; lr: "eo.lr"; ls: "eo.ls"; lt: "eo.lt"; lu: "eo.lu"; lv: "eo.lv"; lw: "eo.lw"; lx: "eo.lx"; ly: "eo.ly"; lz: "eo.lz"; ma: "eo.ma"; mb: "eo.mb"; mc: "eo.mc"; md: "eo.md"; me: "eo.me"; mf: "eo.mf"; mg: "eo.mg"; mh: "eo.mh"; mi: "eo.mi"; mj: "eo.mj"; mk: "eo.mk"; ml: "eo.ml"; mm: "eo.mm"; mn: "eo.mn"; mo: "eo.mo"; mp: "eo.mp"; mq: "eo.mq"; mr: "eo.mr"; ms: "eo.ms"; mt: "eo.mt"; mu: "eo.mu"; mv: "eo.mv"; mw: "eo.mw"; mx: "eo.mx"; my: "eo.my"; mz: "eo.mz"; na: "eo.na"; nb: "eo.nb"; nc: "eo.nc"; nd: "eo.nd"; ne: "eo.ne"; nf: "eo.nf"; ng: "eo.ng"; nh: "eo.nh"; ni: "eo.ni"; nj: "eo.nj"; nk: "eo.nk"; nl: "eo.nl"; nm: "eo.nm"; nn: "eo.nn"; no: "eo.no"; np: "eo.np"; nq: "eo.nq"; nr: "eo.nr"; ns: "eo.ns"; nt: "eo.nt"; nu: "eo.nu"; nv: "eo.nv"; nw: "eo.nw"; nx: "eo.nx"; ny: "eo.ny"; nz: "eo.nz"; oa: "eo.oa"; ob: "eo.ob"; oc: "eo.oc"; od: "eo.od"; oe: "eo.oe"; of: "eo.of"; og: "eo.og"; oh: "eo.oh"; oi: "eo.oi"; oj: "eo.oj"; ok: "eo.ok"; ol: "eo.ol"; om: "eo.om"; on: "eo.on"; oo: "eo.oo"; op: "eo.op"; oq: "eo.oq"; or: "eo.or"; os: "eo.os"; ot: "eo.ot"; ou: "eo.ou"; ov: "eo.ov"; ow: "eo.ow"; ox: "eo.ox"; oy: "eo.oy"; oz: "eo.oz"; pa: "eo.pa"; pb: "eo.pb"; pc: "eo.pc"; pd: "eo.pd"; pe: "eo.pe"; pf: "eo.pf"; pg: "eo.pg"; ph: "eo.ph"; pi: "eo.pi"; pj: "eo.pj"; pk: "eo.pk"; pl: "eo.pl"; pm: "eo.pm"; pn: "eo.pn"; po: "eo.po"; pp: "eo.pp"; pq: "eo.pq"; pr: "eo.pr"; ps: "eo.ps"; pt: "eo.pt"; pu: "eo.pu"; pv: "eo.pv"; pw: "eo.pw"; px: "eo.px"; py: "eo.py"; pz: "eo.pz"; qa: "eo.qa"; qb: "eo.qb"; qc: "eo.qc"; qd: "eo.qd"; qe: "eo.qe"; qf: "eo.qf"; qg: "eo.qg"; qh: "eo.qh"; qi: "eo.qi"; qj: "eo.qj"; qk: "eo.qk"; ql: "eo.ql"; qm: "eo.qm"; qn: "eo.qn"; qo: "eo.qo"; qp: "eo.qp"; qq: "eo.qq"; qr: "eo.qr"; qs: "eo.qs"; qt: "eo.qt"; qu: "eo.qu"; qv: "eo.qv"; qw: "eo.qw"; qx: "eo.qx"; qy: "eo.qy"; qz: "eo.qz"; ra: "eo.ra"; rb: "eo.rb"; rc: "eo.rc"; rd: "eo.rd"; re: "eo.re"; rf: "eo.rf"; rg: "eo.rg"; rh: "eo.rh"; ri: "eo.ri"; rj: "eo.rj"; rk: "eo.rk"; rl: "eo.rl"; rm: "eo.rm"; rn: "eo.rn"; ro: "eo.ro"; rp: "eo.rp"; rq: "eo.rq"; rr: "eo.rr"; rs: "eo.rs"; rt: "eo.rt"; ru: "eo.ru"; rv: "eo.rv"; rw: "eo.rw"; rx: "eo.rx"; ry: "eo.ry"; rz: "eo.rz"; sa: "eo.sa"; sb: "eo.sb"; sc: "eo.sc"; sd: "eo.sd"; se: "eo.se"; sf: "eo.sf"; sg: "eo.sg"; sh: "eo.sh"; si: "eo.si"; sj: "eo.sj"; sk: "eo.sk"; sl: "eo.sl"; sm: "eo.sm"; sn: "eo.sn"; so: "eo.so"; sp: "eo.sp"; sq: "eo.sq"; sr: "eo.sr"; ss: "eo.ss"; st: "eo.st"; su: "eo.su"; sv: "eo.sv"; sw: "eo.sw"; sx: "eo.sx"; sy: "eo.sy"; sz: "eo.sz"; ta: "eo.ta"; tb: "eo.tb"; tc: "eo.tc"; td: "eo.td"; te: "eo.te"; tf: "eo.tf"; tg: "eo.tg"; th: "eo.th"; ti: "eo.ti"; tj: "eo.tj"; tk: "eo.tk"; tl: "eo.tl"; tm: "eo.tm"; tn: "eo.tn"; to: "eo.to"; tp: "eo.tp"; tq: "eo.tq"; tr: "eo.tr"; ts: "eo.ts"; tt: "eo.tt"; tu: "eo.tu"; tv: "eo.tv"; tw: "eo.tw"; tx: "eo.tx"; ty: "eo.ty"; tz: "eo.tz"; ua: "eo.ua"; ub: "eo.ub"; uc: "eo.uc"; ud: "eo.ud"; ue: "eo.ue"; uf: "eo.uf"; ug: "eo.ug"; uh: "eo.uh"; ui: "eo.ui"; uj: "eo.uj"; uk: "eo.uk"; ul: "eo.ul"; um: "eo.um"; un: "eo.un"; uo: "eo.uo"; up: "eo.up"; uq: "eo.uq"; ur: "eo.ur"; us: "eo.us"; ut: "eo.ut"; uu: "eo.uu"; uv: "eo.uv"; uw: "eo.uw"; ux: "eo.ux"; uy: "eo.uy"; uz: "eo.uz"; va: "eo.va"; vb: "eo.vb"; vc: "eo.vc"; vd: "eo.vd"; ve: "eo.ve"; vf: "eo.vf"; vg: "eo.vg"; vh: "eo.vh"; vi: "eo.vi"; vj: "eo.vj"; vk: "eo.vk"; vl: "eo.vl"; vm: "eo.vm"; vn: "eo.vn"; vo: "eo.vo"; vp: "eo.vp"; vq: "eo.vq"; vr: "eo.vr"; vs: "eo.vs"; vt: "eo.vt"; vu: "eo.vu"; vv: "eo.vv"; vw: "eo.vw"; vx: "eo.vx"; vy: "eo.vy"; vz: "eo.vz"; wa: "eo.wa"; wb: "eo.wb"; wc: "eo.wc"; wd: "eo.wd"; we: "eo.we"; wf: "eo.wf"; wg: "eo.wg"; wh: "eo.wh"; wi: "eo.wi"; wj: "eo.wj"; wk: "eo.wk"; wl: "eo.wl"; wm: "eo.wm"; wn: "eo.wn"; wo: "eo.wo"; wp: "eo.wp"; wq: "eo.wq"; wr: "eo.wr"; ws: "eo.ws"; wt: "eo.wt"; wu: "eo.wu"; wv: "eo.wv"; ww: "eo.ww"; wx: "eo.wx"; wy: "eo.wy"; wz: "eo.wz"; xa: "eo.xa"; xb: "eo.xb"; xc: "eo.xc"; xd: "eo.xd"; xe: "eo.xe"; xf: "eo.xf"; xg: "eo.xg"; xh: "eo.xh"; xi: "eo.xi"; xj: "eo.xj"; xk: "eo.xk"; xl: "eo.xl"; xm: "eo.xm"; xn: "eo.xn"; xo: "eo.xo"; xp: "eo.xp"; xq: "eo.xq"; xr: "eo.xr"; xs: "eo.xs"; xt: "eo.xt"; xu: "eo.xu"; xv: "eo.xv"; xw: "eo.xw"; xx: "eo.xx"; xy: "eo.xy"; xz: "eo.xz"; ya: "eo.ya"; yb: "eo.yb"; yc: "eo.yc"; yd: "eo.yd"; ye: "eo.ye"; yf: "eo.yf"; yg: "eo.yg"; yh: "eo.yh"; yi: "eo.yi"; yj: "eo.yj"; yk: "eo.yk"; yl: "eo.yl"; ym: "eo.ym"; yn: "eo.yn"; yo: "eo.yo"; yp: "eo.yp"; yq: "eo.yq"; yr: "eo.yr"; ys: "eo.ys"; yt: "eo.yt"; yu: "eo.yu"; yv: "eo.yv"; yw: "eo.yw"; yx: "eo.yx"; yy: "eo.yy"; yz: "eo.yz"; za: "eo.za"; zb: "eo.zb"; zc: "eo.zc"; zd: "eo.zd"; ze: "eo.ze"; zf: "eo.zf"; zg: "eo.zg"; zh: "eo.zh"; zi: "eo.zi"; zj: "eo.zj"; zk: "eo.zk"; zl: "eo.zl"; zm: "eo.zm"; zn: "eo.zn"; zo: "eo.zo"; zp: "eo.zp"; zq: "eo.zq"; zr: "eo.zr"; zs: "eo.zs"; zt: "eo.zt"; zu: "eo.zu"; zv: "eo.zv"; zw: "eo.zw"; zx: "eo.zx"; zy: "eo.zy"; zz: "eo.zz"; }; ep: { aa: "ep.aa"; ab: "ep.ab"; ac: "ep.ac"; ad: "ep.ad"; ae: "ep.ae"; af: "ep.af"; ag: "ep.ag"; ah: "ep.ah"; ai: "ep.ai"; aj: "ep.aj"; ak: "ep.ak"; al: "ep.al"; am: "ep.am"; an: "ep.an"; ao: "ep.ao"; ap: "ep.ap"; aq: "ep.aq"; ar: "ep.ar"; as: "ep.as"; at: "ep.at"; au: "ep.au"; av: "ep.av"; aw: "ep.aw"; ax: "ep.ax"; ay: "ep.ay"; az: "ep.az"; ba: "ep.ba"; bb: "ep.bb"; bc: "ep.bc"; bd: "ep.bd"; be: "ep.be"; bf: "ep.bf"; bg: "ep.bg"; bh: "ep.bh"; bi: "ep.bi"; bj: "ep.bj"; bk: "ep.bk"; bl: "ep.bl"; bm: "ep.bm"; bn: "ep.bn"; bo: "ep.bo"; bp: "ep.bp"; bq: "ep.bq"; br: "ep.br"; bs: "ep.bs"; bt: "ep.bt"; bu: "ep.bu"; bv: "ep.bv"; bw: "ep.bw"; bx: "ep.bx"; by: "ep.by"; bz: "ep.bz"; ca: "ep.ca"; cb: "ep.cb"; cc: "ep.cc"; cd: "ep.cd"; ce: "ep.ce"; cf: "ep.cf"; cg: "ep.cg"; ch: "ep.ch"; ci: "ep.ci"; cj: "ep.cj"; ck: "ep.ck"; cl: "ep.cl"; cm: "ep.cm"; cn: "ep.cn"; co: "ep.co"; cp: "ep.cp"; cq: "ep.cq"; cr: "ep.cr"; cs: "ep.cs"; ct: "ep.ct"; cu: "ep.cu"; cv: "ep.cv"; cw: "ep.cw"; cx: "ep.cx"; cy: "ep.cy"; cz: "ep.cz"; da: "ep.da"; db: "ep.db"; dc: "ep.dc"; dd: "ep.dd"; de: "ep.de"; df: "ep.df"; dg: "ep.dg"; dh: "ep.dh"; di: "ep.di"; dj: "ep.dj"; dk: "ep.dk"; dl: "ep.dl"; dm: "ep.dm"; dn: "ep.dn"; do: "ep.do"; dp: "ep.dp"; dq: "ep.dq"; dr: "ep.dr"; ds: "ep.ds"; dt: "ep.dt"; du: "ep.du"; dv: "ep.dv"; dw: "ep.dw"; dx: "ep.dx"; dy: "ep.dy"; dz: "ep.dz"; ea: "ep.ea"; eb: "ep.eb"; ec: "ep.ec"; ed: "ep.ed"; ee: "ep.ee"; ef: "ep.ef"; eg: "ep.eg"; eh: "ep.eh"; ei: "ep.ei"; ej: "ep.ej"; ek: "ep.ek"; el: "ep.el"; em: "ep.em"; en: "ep.en"; eo: "ep.eo"; ep: "ep.ep"; eq: "ep.eq"; er: "ep.er"; es: "ep.es"; et: "ep.et"; eu: "ep.eu"; ev: "ep.ev"; ew: "ep.ew"; ex: "ep.ex"; ey: "ep.ey"; ez: "ep.ez"; fa: "ep.fa"; fb: "ep.fb"; fc: "ep.fc"; fd: "ep.fd"; fe: "ep.fe"; ff: "ep.ff"; fg: "ep.fg"; fh: "ep.fh"; fi: "ep.fi"; fj: "ep.fj"; fk: "ep.fk"; fl: "ep.fl"; fm: "ep.fm"; fn: "ep.fn"; fo: "ep.fo"; fp: "ep.fp"; fq: "ep.fq"; fr: "ep.fr"; fs: "ep.fs"; ft: "ep.ft"; fu: "ep.fu"; fv: "ep.fv"; fw: "ep.fw"; fx: "ep.fx"; fy: "ep.fy"; fz: "ep.fz"; ga: "ep.ga"; gb: "ep.gb"; gc: "ep.gc"; gd: "ep.gd"; ge: "ep.ge"; gf: "ep.gf"; gg: "ep.gg"; gh: "ep.gh"; gi: "ep.gi"; gj: "ep.gj"; gk: "ep.gk"; gl: "ep.gl"; gm: "ep.gm"; gn: "ep.gn"; go: "ep.go"; gp: "ep.gp"; gq: "ep.gq"; gr: "ep.gr"; gs: "ep.gs"; gt: "ep.gt"; gu: "ep.gu"; gv: "ep.gv"; gw: "ep.gw"; gx: "ep.gx"; gy: "ep.gy"; gz: "ep.gz"; ha: "ep.ha"; hb: "ep.hb"; hc: "ep.hc"; hd: "ep.hd"; he: "ep.he"; hf: "ep.hf"; hg: "ep.hg"; hh: "ep.hh"; hi: "ep.hi"; hj: "ep.hj"; hk: "ep.hk"; hl: "ep.hl"; hm: "ep.hm"; hn: "ep.hn"; ho: "ep.ho"; hp: "ep.hp"; hq: "ep.hq"; hr: "ep.hr"; hs: "ep.hs"; ht: "ep.ht"; hu: "ep.hu"; hv: "ep.hv"; hw: "ep.hw"; hx: "ep.hx"; hy: "ep.hy"; hz: "ep.hz"; ia: "ep.ia"; ib: "ep.ib"; ic: "ep.ic"; id: "ep.id"; ie: "ep.ie"; if: "ep.if"; ig: "ep.ig"; ih: "ep.ih"; ii: "ep.ii"; ij: "ep.ij"; ik: "ep.ik"; il: "ep.il"; im: "ep.im"; in: "ep.in"; io: "ep.io"; ip: "ep.ip"; iq: "ep.iq"; ir: "ep.ir"; is: "ep.is"; it: "ep.it"; iu: "ep.iu"; iv: "ep.iv"; iw: "ep.iw"; ix: "ep.ix"; iy: "ep.iy"; iz: "ep.iz"; ja: "ep.ja"; jb: "ep.jb"; jc: "ep.jc"; jd: "ep.jd"; je: "ep.je"; jf: "ep.jf"; jg: "ep.jg"; jh: "ep.jh"; ji: "ep.ji"; jj: "ep.jj"; jk: "ep.jk"; jl: "ep.jl"; jm: "ep.jm"; jn: "ep.jn"; jo: "ep.jo"; jp: "ep.jp"; jq: "ep.jq"; jr: "ep.jr"; js: "ep.js"; jt: "ep.jt"; ju: "ep.ju"; jv: "ep.jv"; jw: "ep.jw"; jx: "ep.jx"; jy: "ep.jy"; jz: "ep.jz"; ka: "ep.ka"; kb: "ep.kb"; kc: "ep.kc"; kd: "ep.kd"; ke: "ep.ke"; kf: "ep.kf"; kg: "ep.kg"; kh: "ep.kh"; ki: "ep.ki"; kj: "ep.kj"; kk: "ep.kk"; kl: "ep.kl"; km: "ep.km"; kn: "ep.kn"; ko: "ep.ko"; kp: "ep.kp"; kq: "ep.kq"; kr: "ep.kr"; ks: "ep.ks"; kt: "ep.kt"; ku: "ep.ku"; kv: "ep.kv"; kw: "ep.kw"; kx: "ep.kx"; ky: "ep.ky"; kz: "ep.kz"; la: "ep.la"; lb: "ep.lb"; lc: "ep.lc"; ld: "ep.ld"; le: "ep.le"; lf: "ep.lf"; lg: "ep.lg"; lh: "ep.lh"; li: "ep.li"; lj: "ep.lj"; lk: "ep.lk"; ll: "ep.ll"; lm: "ep.lm"; ln: "ep.ln"; lo: "ep.lo"; lp: "ep.lp"; lq: "ep.lq"; lr: "ep.lr"; ls: "ep.ls"; lt: "ep.lt"; lu: "ep.lu"; lv: "ep.lv"; lw: "ep.lw"; lx: "ep.lx"; ly: "ep.ly"; lz: "ep.lz"; ma: "ep.ma"; mb: "ep.mb"; mc: "ep.mc"; md: "ep.md"; me: "ep.me"; mf: "ep.mf"; mg: "ep.mg"; mh: "ep.mh"; mi: "ep.mi"; mj: "ep.mj"; mk: "ep.mk"; ml: "ep.ml"; mm: "ep.mm"; mn: "ep.mn"; mo: "ep.mo"; mp: "ep.mp"; mq: "ep.mq"; mr: "ep.mr"; ms: "ep.ms"; mt: "ep.mt"; mu: "ep.mu"; mv: "ep.mv"; mw: "ep.mw"; mx: "ep.mx"; my: "ep.my"; mz: "ep.mz"; na: "ep.na"; nb: "ep.nb"; nc: "ep.nc"; nd: "ep.nd"; ne: "ep.ne"; nf: "ep.nf"; ng: "ep.ng"; nh: "ep.nh"; ni: "ep.ni"; nj: "ep.nj"; nk: "ep.nk"; nl: "ep.nl"; nm: "ep.nm"; nn: "ep.nn"; no: "ep.no"; np: "ep.np"; nq: "ep.nq"; nr: "ep.nr"; ns: "ep.ns"; nt: "ep.nt"; nu: "ep.nu"; nv: "ep.nv"; nw: "ep.nw"; nx: "ep.nx"; ny: "ep.ny"; nz: "ep.nz"; oa: "ep.oa"; ob: "ep.ob"; oc: "ep.oc"; od: "ep.od"; oe: "ep.oe"; of: "ep.of"; og: "ep.og"; oh: "ep.oh"; oi: "ep.oi"; oj: "ep.oj"; ok: "ep.ok"; ol: "ep.ol"; om: "ep.om"; on: "ep.on"; oo: "ep.oo"; op: "ep.op"; oq: "ep.oq"; or: "ep.or"; os: "ep.os"; ot: "ep.ot"; ou: "ep.ou"; ov: "ep.ov"; ow: "ep.ow"; ox: "ep.ox"; oy: "ep.oy"; oz: "ep.oz"; pa: "ep.pa"; pb: "ep.pb"; pc: "ep.pc"; pd: "ep.pd"; pe: "ep.pe"; pf: "ep.pf"; pg: "ep.pg"; ph: "ep.ph"; pi: "ep.pi"; pj: "ep.pj"; pk: "ep.pk"; pl: "ep.pl"; pm: "ep.pm"; pn: "ep.pn"; po: "ep.po"; pp: "ep.pp"; pq: "ep.pq"; pr: "ep.pr"; ps: "ep.ps"; pt: "ep.pt"; pu: "ep.pu"; pv: "ep.pv"; pw: "ep.pw"; px: "ep.px"; py: "ep.py"; pz: "ep.pz"; qa: "ep.qa"; qb: "ep.qb"; qc: "ep.qc"; qd: "ep.qd"; qe: "ep.qe"; qf: "ep.qf"; qg: "ep.qg"; qh: "ep.qh"; qi: "ep.qi"; qj: "ep.qj"; qk: "ep.qk"; ql: "ep.ql"; qm: "ep.qm"; qn: "ep.qn"; qo: "ep.qo"; qp: "ep.qp"; qq: "ep.qq"; qr: "ep.qr"; qs: "ep.qs"; qt: "ep.qt"; qu: "ep.qu"; qv: "ep.qv"; qw: "ep.qw"; qx: "ep.qx"; qy: "ep.qy"; qz: "ep.qz"; ra: "ep.ra"; rb: "ep.rb"; rc: "ep.rc"; rd: "ep.rd"; re: "ep.re"; rf: "ep.rf"; rg: "ep.rg"; rh: "ep.rh"; ri: "ep.ri"; rj: "ep.rj"; rk: "ep.rk"; rl: "ep.rl"; rm: "ep.rm"; rn: "ep.rn"; ro: "ep.ro"; rp: "ep.rp"; rq: "ep.rq"; rr: "ep.rr"; rs: "ep.rs"; rt: "ep.rt"; ru: "ep.ru"; rv: "ep.rv"; rw: "ep.rw"; rx: "ep.rx"; ry: "ep.ry"; rz: "ep.rz"; sa: "ep.sa"; sb: "ep.sb"; sc: "ep.sc"; sd: "ep.sd"; se: "ep.se"; sf: "ep.sf"; sg: "ep.sg"; sh: "ep.sh"; si: "ep.si"; sj: "ep.sj"; sk: "ep.sk"; sl: "ep.sl"; sm: "ep.sm"; sn: "ep.sn"; so: "ep.so"; sp: "ep.sp"; sq: "ep.sq"; sr: "ep.sr"; ss: "ep.ss"; st: "ep.st"; su: "ep.su"; sv: "ep.sv"; sw: "ep.sw"; sx: "ep.sx"; sy: "ep.sy"; sz: "ep.sz"; ta: "ep.ta"; tb: "ep.tb"; tc: "ep.tc"; td: "ep.td"; te: "ep.te"; tf: "ep.tf"; tg: "ep.tg"; th: "ep.th"; ti: "ep.ti"; tj: "ep.tj"; tk: "ep.tk"; tl: "ep.tl"; tm: "ep.tm"; tn: "ep.tn"; to: "ep.to"; tp: "ep.tp"; tq: "ep.tq"; tr: "ep.tr"; ts: "ep.ts"; tt: "ep.tt"; tu: "ep.tu"; tv: "ep.tv"; tw: "ep.tw"; tx: "ep.tx"; ty: "ep.ty"; tz: "ep.tz"; ua: "ep.ua"; ub: "ep.ub"; uc: "ep.uc"; ud: "ep.ud"; ue: "ep.ue"; uf: "ep.uf"; ug: "ep.ug"; uh: "ep.uh"; ui: "ep.ui"; uj: "ep.uj"; uk: "ep.uk"; ul: "ep.ul"; um: "ep.um"; un: "ep.un"; uo: "ep.uo"; up: "ep.up"; uq: "ep.uq"; ur: "ep.ur"; us: "ep.us"; ut: "ep.ut"; uu: "ep.uu"; uv: "ep.uv"; uw: "ep.uw"; ux: "ep.ux"; uy: "ep.uy"; uz: "ep.uz"; va: "ep.va"; vb: "ep.vb"; vc: "ep.vc"; vd: "ep.vd"; ve: "ep.ve"; vf: "ep.vf"; vg: "ep.vg"; vh: "ep.vh"; vi: "ep.vi"; vj: "ep.vj"; vk: "ep.vk"; vl: "ep.vl"; vm: "ep.vm"; vn: "ep.vn"; vo: "ep.vo"; vp: "ep.vp"; vq: "ep.vq"; vr: "ep.vr"; vs: "ep.vs"; vt: "ep.vt"; vu: "ep.vu"; vv: "ep.vv"; vw: "ep.vw"; vx: "ep.vx"; vy: "ep.vy"; vz: "ep.vz"; wa: "ep.wa"; wb: "ep.wb"; wc: "ep.wc"; wd: "ep.wd"; we: "ep.we"; wf: "ep.wf"; wg: "ep.wg"; wh: "ep.wh"; wi: "ep.wi"; wj: "ep.wj"; wk: "ep.wk"; wl: "ep.wl"; wm: "ep.wm"; wn: "ep.wn"; wo: "ep.wo"; wp: "ep.wp"; wq: "ep.wq"; wr: "ep.wr"; ws: "ep.ws"; wt: "ep.wt"; wu: "ep.wu"; wv: "ep.wv"; ww: "ep.ww"; wx: "ep.wx"; wy: "ep.wy"; wz: "ep.wz"; xa: "ep.xa"; xb: "ep.xb"; xc: "ep.xc"; xd: "ep.xd"; xe: "ep.xe"; xf: "ep.xf"; xg: "ep.xg"; xh: "ep.xh"; xi: "ep.xi"; xj: "ep.xj"; xk: "ep.xk"; xl: "ep.xl"; xm: "ep.xm"; xn: "ep.xn"; xo: "ep.xo"; xp: "ep.xp"; xq: "ep.xq"; xr: "ep.xr"; xs: "ep.xs"; xt: "ep.xt"; xu: "ep.xu"; xv: "ep.xv"; xw: "ep.xw"; xx: "ep.xx"; xy: "ep.xy"; xz: "ep.xz"; ya: "ep.ya"; yb: "ep.yb"; yc: "ep.yc"; yd: "ep.yd"; ye: "ep.ye"; yf: "ep.yf"; yg: "ep.yg"; yh: "ep.yh"; yi: "ep.yi"; yj: "ep.yj"; yk: "ep.yk"; yl: "ep.yl"; ym: "ep.ym"; yn: "ep.yn"; yo: "ep.yo"; yp: "ep.yp"; yq: "ep.yq"; yr: "ep.yr"; ys: "ep.ys"; yt: "ep.yt"; yu: "ep.yu"; yv: "ep.yv"; yw: "ep.yw"; yx: "ep.yx"; yy: "ep.yy"; yz: "ep.yz"; za: "ep.za"; zb: "ep.zb"; zc: "ep.zc"; zd: "ep.zd"; ze: "ep.ze"; zf: "ep.zf"; zg: "ep.zg"; zh: "ep.zh"; zi: "ep.zi"; zj: "ep.zj"; zk: "ep.zk"; zl: "ep.zl"; zm: "ep.zm"; zn: "ep.zn"; zo: "ep.zo"; zp: "ep.zp"; zq: "ep.zq"; zr: "ep.zr"; zs: "ep.zs"; zt: "ep.zt"; zu: "ep.zu"; zv: "ep.zv"; zw: "ep.zw"; zx: "ep.zx"; zy: "ep.zy"; zz: "ep.zz"; }; eq: { aa: "eq.aa"; ab: "eq.ab"; ac: "eq.ac"; ad: "eq.ad"; ae: "eq.ae"; af: "eq.af"; ag: "eq.ag"; ah: "eq.ah"; ai: "eq.ai"; aj: "eq.aj"; ak: "eq.ak"; al: "eq.al"; am: "eq.am"; an: "eq.an"; ao: "eq.ao"; ap: "eq.ap"; aq: "eq.aq"; ar: "eq.ar"; as: "eq.as"; at: "eq.at"; au: "eq.au"; av: "eq.av"; aw: "eq.aw"; ax: "eq.ax"; ay: "eq.ay"; az: "eq.az"; ba: "eq.ba"; bb: "eq.bb"; bc: "eq.bc"; bd: "eq.bd"; be: "eq.be"; bf: "eq.bf"; bg: "eq.bg"; bh: "eq.bh"; bi: "eq.bi"; bj: "eq.bj"; bk: "eq.bk"; bl: "eq.bl"; bm: "eq.bm"; bn: "eq.bn"; bo: "eq.bo"; bp: "eq.bp"; bq: "eq.bq"; br: "eq.br"; bs: "eq.bs"; bt: "eq.bt"; bu: "eq.bu"; bv: "eq.bv"; bw: "eq.bw"; bx: "eq.bx"; by: "eq.by"; bz: "eq.bz"; ca: "eq.ca"; cb: "eq.cb"; cc: "eq.cc"; cd: "eq.cd"; ce: "eq.ce"; cf: "eq.cf"; cg: "eq.cg"; ch: "eq.ch"; ci: "eq.ci"; cj: "eq.cj"; ck: "eq.ck"; cl: "eq.cl"; cm: "eq.cm"; cn: "eq.cn"; co: "eq.co"; cp: "eq.cp"; cq: "eq.cq"; cr: "eq.cr"; cs: "eq.cs"; ct: "eq.ct"; cu: "eq.cu"; cv: "eq.cv"; cw: "eq.cw"; cx: "eq.cx"; cy: "eq.cy"; cz: "eq.cz"; da: "eq.da"; db: "eq.db"; dc: "eq.dc"; dd: "eq.dd"; de: "eq.de"; df: "eq.df"; dg: "eq.dg"; dh: "eq.dh"; di: "eq.di"; dj: "eq.dj"; dk: "eq.dk"; dl: "eq.dl"; dm: "eq.dm"; dn: "eq.dn"; do: "eq.do"; dp: "eq.dp"; dq: "eq.dq"; dr: "eq.dr"; ds: "eq.ds"; dt: "eq.dt"; du: "eq.du"; dv: "eq.dv"; dw: "eq.dw"; dx: "eq.dx"; dy: "eq.dy"; dz: "eq.dz"; ea: "eq.ea"; eb: "eq.eb"; ec: "eq.ec"; ed: "eq.ed"; ee: "eq.ee"; ef: "eq.ef"; eg: "eq.eg"; eh: "eq.eh"; ei: "eq.ei"; ej: "eq.ej"; ek: "eq.ek"; el: "eq.el"; em: "eq.em"; en: "eq.en"; eo: "eq.eo"; ep: "eq.ep"; eq: "eq.eq"; er: "eq.er"; es: "eq.es"; et: "eq.et"; eu: "eq.eu"; ev: "eq.ev"; ew: "eq.ew"; ex: "eq.ex"; ey: "eq.ey"; ez: "eq.ez"; fa: "eq.fa"; fb: "eq.fb"; fc: "eq.fc"; fd: "eq.fd"; fe: "eq.fe"; ff: "eq.ff"; fg: "eq.fg"; fh: "eq.fh"; fi: "eq.fi"; fj: "eq.fj"; fk: "eq.fk"; fl: "eq.fl"; fm: "eq.fm"; fn: "eq.fn"; fo: "eq.fo"; fp: "eq.fp"; fq: "eq.fq"; fr: "eq.fr"; fs: "eq.fs"; ft: "eq.ft"; fu: "eq.fu"; fv: "eq.fv"; fw: "eq.fw"; fx: "eq.fx"; fy: "eq.fy"; fz: "eq.fz"; ga: "eq.ga"; gb: "eq.gb"; gc: "eq.gc"; gd: "eq.gd"; ge: "eq.ge"; gf: "eq.gf"; gg: "eq.gg"; gh: "eq.gh"; gi: "eq.gi"; gj: "eq.gj"; gk: "eq.gk"; gl: "eq.gl"; gm: "eq.gm"; gn: "eq.gn"; go: "eq.go"; gp: "eq.gp"; gq: "eq.gq"; gr: "eq.gr"; gs: "eq.gs"; gt: "eq.gt"; gu: "eq.gu"; gv: "eq.gv"; gw: "eq.gw"; gx: "eq.gx"; gy: "eq.gy"; gz: "eq.gz"; ha: "eq.ha"; hb: "eq.hb"; hc: "eq.hc"; hd: "eq.hd"; he: "eq.he"; hf: "eq.hf"; hg: "eq.hg"; hh: "eq.hh"; hi: "eq.hi"; hj: "eq.hj"; hk: "eq.hk"; hl: "eq.hl"; hm: "eq.hm"; hn: "eq.hn"; ho: "eq.ho"; hp: "eq.hp"; hq: "eq.hq"; hr: "eq.hr"; hs: "eq.hs"; ht: "eq.ht"; hu: "eq.hu"; hv: "eq.hv"; hw: "eq.hw"; hx: "eq.hx"; hy: "eq.hy"; hz: "eq.hz"; ia: "eq.ia"; ib: "eq.ib"; ic: "eq.ic"; id: "eq.id"; ie: "eq.ie"; if: "eq.if"; ig: "eq.ig"; ih: "eq.ih"; ii: "eq.ii"; ij: "eq.ij"; ik: "eq.ik"; il: "eq.il"; im: "eq.im"; in: "eq.in"; io: "eq.io"; ip: "eq.ip"; iq: "eq.iq"; ir: "eq.ir"; is: "eq.is"; it: "eq.it"; iu: "eq.iu"; iv: "eq.iv"; iw: "eq.iw"; ix: "eq.ix"; iy: "eq.iy"; iz: "eq.iz"; ja: "eq.ja"; jb: "eq.jb"; jc: "eq.jc"; jd: "eq.jd"; je: "eq.je"; jf: "eq.jf"; jg: "eq.jg"; jh: "eq.jh"; ji: "eq.ji"; jj: "eq.jj"; jk: "eq.jk"; jl: "eq.jl"; jm: "eq.jm"; jn: "eq.jn"; jo: "eq.jo"; jp: "eq.jp"; jq: "eq.jq"; jr: "eq.jr"; js: "eq.js"; jt: "eq.jt"; ju: "eq.ju"; jv: "eq.jv"; jw: "eq.jw"; jx: "eq.jx"; jy: "eq.jy"; jz: "eq.jz"; ka: "eq.ka"; kb: "eq.kb"; kc: "eq.kc"; kd: "eq.kd"; ke: "eq.ke"; kf: "eq.kf"; kg: "eq.kg"; kh: "eq.kh"; ki: "eq.ki"; kj: "eq.kj"; kk: "eq.kk"; kl: "eq.kl"; km: "eq.km"; kn: "eq.kn"; ko: "eq.ko"; kp: "eq.kp"; kq: "eq.kq"; kr: "eq.kr"; ks: "eq.ks"; kt: "eq.kt"; ku: "eq.ku"; kv: "eq.kv"; kw: "eq.kw"; kx: "eq.kx"; ky: "eq.ky"; kz: "eq.kz"; la: "eq.la"; lb: "eq.lb"; lc: "eq.lc"; ld: "eq.ld"; le: "eq.le"; lf: "eq.lf"; lg: "eq.lg"; lh: "eq.lh"; li: "eq.li"; lj: "eq.lj"; lk: "eq.lk"; ll: "eq.ll"; lm: "eq.lm"; ln: "eq.ln"; lo: "eq.lo"; lp: "eq.lp"; lq: "eq.lq"; lr: "eq.lr"; ls: "eq.ls"; lt: "eq.lt"; lu: "eq.lu"; lv: "eq.lv"; lw: "eq.lw"; lx: "eq.lx"; ly: "eq.ly"; lz: "eq.lz"; ma: "eq.ma"; mb: "eq.mb"; mc: "eq.mc"; md: "eq.md"; me: "eq.me"; mf: "eq.mf"; mg: "eq.mg"; mh: "eq.mh"; mi: "eq.mi"; mj: "eq.mj"; mk: "eq.mk"; ml: "eq.ml"; mm: "eq.mm"; mn: "eq.mn"; mo: "eq.mo"; mp: "eq.mp"; mq: "eq.mq"; mr: "eq.mr"; ms: "eq.ms"; mt: "eq.mt"; mu: "eq.mu"; mv: "eq.mv"; mw: "eq.mw"; mx: "eq.mx"; my: "eq.my"; mz: "eq.mz"; na: "eq.na"; nb: "eq.nb"; nc: "eq.nc"; nd: "eq.nd"; ne: "eq.ne"; nf: "eq.nf"; ng: "eq.ng"; nh: "eq.nh"; ni: "eq.ni"; nj: "eq.nj"; nk: "eq.nk"; nl: "eq.nl"; nm: "eq.nm"; nn: "eq.nn"; no: "eq.no"; np: "eq.np"; nq: "eq.nq"; nr: "eq.nr"; ns: "eq.ns"; nt: "eq.nt"; nu: "eq.nu"; nv: "eq.nv"; nw: "eq.nw"; nx: "eq.nx"; ny: "eq.ny"; nz: "eq.nz"; oa: "eq.oa"; ob: "eq.ob"; oc: "eq.oc"; od: "eq.od"; oe: "eq.oe"; of: "eq.of"; og: "eq.og"; oh: "eq.oh"; oi: "eq.oi"; oj: "eq.oj"; ok: "eq.ok"; ol: "eq.ol"; om: "eq.om"; on: "eq.on"; oo: "eq.oo"; op: "eq.op"; oq: "eq.oq"; or: "eq.or"; os: "eq.os"; ot: "eq.ot"; ou: "eq.ou"; ov: "eq.ov"; ow: "eq.ow"; ox: "eq.ox"; oy: "eq.oy"; oz: "eq.oz"; pa: "eq.pa"; pb: "eq.pb"; pc: "eq.pc"; pd: "eq.pd"; pe: "eq.pe"; pf: "eq.pf"; pg: "eq.pg"; ph: "eq.ph"; pi: "eq.pi"; pj: "eq.pj"; pk: "eq.pk"; pl: "eq.pl"; pm: "eq.pm"; pn: "eq.pn"; po: "eq.po"; pp: "eq.pp"; pq: "eq.pq"; pr: "eq.pr"; ps: "eq.ps"; pt: "eq.pt"; pu: "eq.pu"; pv: "eq.pv"; pw: "eq.pw"; px: "eq.px"; py: "eq.py"; pz: "eq.pz"; qa: "eq.qa"; qb: "eq.qb"; qc: "eq.qc"; qd: "eq.qd"; qe: "eq.qe"; qf: "eq.qf"; qg: "eq.qg"; qh: "eq.qh"; qi: "eq.qi"; qj: "eq.qj"; qk: "eq.qk"; ql: "eq.ql"; qm: "eq.qm"; qn: "eq.qn"; qo: "eq.qo"; qp: "eq.qp"; qq: "eq.qq"; qr: "eq.qr"; qs: "eq.qs"; qt: "eq.qt"; qu: "eq.qu"; qv: "eq.qv"; qw: "eq.qw"; qx: "eq.qx"; qy: "eq.qy"; qz: "eq.qz"; ra: "eq.ra"; rb: "eq.rb"; rc: "eq.rc"; rd: "eq.rd"; re: "eq.re"; rf: "eq.rf"; rg: "eq.rg"; rh: "eq.rh"; ri: "eq.ri"; rj: "eq.rj"; rk: "eq.rk"; rl: "eq.rl"; rm: "eq.rm"; rn: "eq.rn"; ro: "eq.ro"; rp: "eq.rp"; rq: "eq.rq"; rr: "eq.rr"; rs: "eq.rs"; rt: "eq.rt"; ru: "eq.ru"; rv: "eq.rv"; rw: "eq.rw"; rx: "eq.rx"; ry: "eq.ry"; rz: "eq.rz"; sa: "eq.sa"; sb: "eq.sb"; sc: "eq.sc"; sd: "eq.sd"; se: "eq.se"; sf: "eq.sf"; sg: "eq.sg"; sh: "eq.sh"; si: "eq.si"; sj: "eq.sj"; sk: "eq.sk"; sl: "eq.sl"; sm: "eq.sm"; sn: "eq.sn"; so: "eq.so"; sp: "eq.sp"; sq: "eq.sq"; sr: "eq.sr"; ss: "eq.ss"; st: "eq.st"; su: "eq.su"; sv: "eq.sv"; sw: "eq.sw"; sx: "eq.sx"; sy: "eq.sy"; sz: "eq.sz"; ta: "eq.ta"; tb: "eq.tb"; tc: "eq.tc"; td: "eq.td"; te: "eq.te"; tf: "eq.tf"; tg: "eq.tg"; th: "eq.th"; ti: "eq.ti"; tj: "eq.tj"; tk: "eq.tk"; tl: "eq.tl"; tm: "eq.tm"; tn: "eq.tn"; to: "eq.to"; tp: "eq.tp"; tq: "eq.tq"; tr: "eq.tr"; ts: "eq.ts"; tt: "eq.tt"; tu: "eq.tu"; tv: "eq.tv"; tw: "eq.tw"; tx: "eq.tx"; ty: "eq.ty"; tz: "eq.tz"; ua: "eq.ua"; ub: "eq.ub"; uc: "eq.uc"; ud: "eq.ud"; ue: "eq.ue"; uf: "eq.uf"; ug: "eq.ug"; uh: "eq.uh"; ui: "eq.ui"; uj: "eq.uj"; uk: "eq.uk"; ul: "eq.ul"; um: "eq.um"; un: "eq.un"; uo: "eq.uo"; up: "eq.up"; uq: "eq.uq"; ur: "eq.ur"; us: "eq.us"; ut: "eq.ut"; uu: "eq.uu"; uv: "eq.uv"; uw: "eq.uw"; ux: "eq.ux"; uy: "eq.uy"; uz: "eq.uz"; va: "eq.va"; vb: "eq.vb"; vc: "eq.vc"; vd: "eq.vd"; ve: "eq.ve"; vf: "eq.vf"; vg: "eq.vg"; vh: "eq.vh"; vi: "eq.vi"; vj: "eq.vj"; vk: "eq.vk"; vl: "eq.vl"; vm: "eq.vm"; vn: "eq.vn"; vo: "eq.vo"; vp: "eq.vp"; vq: "eq.vq"; vr: "eq.vr"; vs: "eq.vs"; vt: "eq.vt"; vu: "eq.vu"; vv: "eq.vv"; vw: "eq.vw"; vx: "eq.vx"; vy: "eq.vy"; vz: "eq.vz"; wa: "eq.wa"; wb: "eq.wb"; wc: "eq.wc"; wd: "eq.wd"; we: "eq.we"; wf: "eq.wf"; wg: "eq.wg"; wh: "eq.wh"; wi: "eq.wi"; wj: "eq.wj"; wk: "eq.wk"; wl: "eq.wl"; wm: "eq.wm"; wn: "eq.wn"; wo: "eq.wo"; wp: "eq.wp"; wq: "eq.wq"; wr: "eq.wr"; ws: "eq.ws"; wt: "eq.wt"; wu: "eq.wu"; wv: "eq.wv"; ww: "eq.ww"; wx: "eq.wx"; wy: "eq.wy"; wz: "eq.wz"; xa: "eq.xa"; xb: "eq.xb"; xc: "eq.xc"; xd: "eq.xd"; xe: "eq.xe"; xf: "eq.xf"; xg: "eq.xg"; xh: "eq.xh"; xi: "eq.xi"; xj: "eq.xj"; xk: "eq.xk"; xl: "eq.xl"; xm: "eq.xm"; xn: "eq.xn"; xo: "eq.xo"; xp: "eq.xp"; xq: "eq.xq"; xr: "eq.xr"; xs: "eq.xs"; xt: "eq.xt"; xu: "eq.xu"; xv: "eq.xv"; xw: "eq.xw"; xx: "eq.xx"; xy: "eq.xy"; xz: "eq.xz"; ya: "eq.ya"; yb: "eq.yb"; yc: "eq.yc"; yd: "eq.yd"; ye: "eq.ye"; yf: "eq.yf"; yg: "eq.yg"; yh: "eq.yh"; yi: "eq.yi"; yj: "eq.yj"; yk: "eq.yk"; yl: "eq.yl"; ym: "eq.ym"; yn: "eq.yn"; yo: "eq.yo"; yp: "eq.yp"; yq: "eq.yq"; yr: "eq.yr"; ys: "eq.ys"; yt: "eq.yt"; yu: "eq.yu"; yv: "eq.yv"; yw: "eq.yw"; yx: "eq.yx"; yy: "eq.yy"; yz: "eq.yz"; za: "eq.za"; zb: "eq.zb"; zc: "eq.zc"; zd: "eq.zd"; ze: "eq.ze"; zf: "eq.zf"; zg: "eq.zg"; zh: "eq.zh"; zi: "eq.zi"; zj: "eq.zj"; zk: "eq.zk"; zl: "eq.zl"; zm: "eq.zm"; zn: "eq.zn"; zo: "eq.zo"; zp: "eq.zp"; zq: "eq.zq"; zr: "eq.zr"; zs: "eq.zs"; zt: "eq.zt"; zu: "eq.zu"; zv: "eq.zv"; zw: "eq.zw"; zx: "eq.zx"; zy: "eq.zy"; zz: "eq.zz"; }; er: { aa: "er.aa"; ab: "er.ab"; ac: "er.ac"; ad: "er.ad"; ae: "er.ae"; af: "er.af"; ag: "er.ag"; ah: "er.ah"; ai: "er.ai"; aj: "er.aj"; ak: "er.ak"; al: "er.al"; am: "er.am"; an: "er.an"; ao: "er.ao"; ap: "er.ap"; aq: "er.aq"; ar: "er.ar"; as: "er.as"; at: "er.at"; au: "er.au"; av: "er.av"; aw: "er.aw"; ax: "er.ax"; ay: "er.ay"; az: "er.az"; ba: "er.ba"; bb: "er.bb"; bc: "er.bc"; bd: "er.bd"; be: "er.be"; bf: "er.bf"; bg: "er.bg"; bh: "er.bh"; bi: "er.bi"; bj: "er.bj"; bk: "er.bk"; bl: "er.bl"; bm: "er.bm"; bn: "er.bn"; bo: "er.bo"; bp: "er.bp"; bq: "er.bq"; br: "er.br"; bs: "er.bs"; bt: "er.bt"; bu: "er.bu"; bv: "er.bv"; bw: "er.bw"; bx: "er.bx"; by: "er.by"; bz: "er.bz"; ca: "er.ca"; cb: "er.cb"; cc: "er.cc"; cd: "er.cd"; ce: "er.ce"; cf: "er.cf"; cg: "er.cg"; ch: "er.ch"; ci: "er.ci"; cj: "er.cj"; ck: "er.ck"; cl: "er.cl"; cm: "er.cm"; cn: "er.cn"; co: "er.co"; cp: "er.cp"; cq: "er.cq"; cr: "er.cr"; cs: "er.cs"; ct: "er.ct"; cu: "er.cu"; cv: "er.cv"; cw: "er.cw"; cx: "er.cx"; cy: "er.cy"; cz: "er.cz"; da: "er.da"; db: "er.db"; dc: "er.dc"; dd: "er.dd"; de: "er.de"; df: "er.df"; dg: "er.dg"; dh: "er.dh"; di: "er.di"; dj: "er.dj"; dk: "er.dk"; dl: "er.dl"; dm: "er.dm"; dn: "er.dn"; do: "er.do"; dp: "er.dp"; dq: "er.dq"; dr: "er.dr"; ds: "er.ds"; dt: "er.dt"; du: "er.du"; dv: "er.dv"; dw: "er.dw"; dx: "er.dx"; dy: "er.dy"; dz: "er.dz"; ea: "er.ea"; eb: "er.eb"; ec: "er.ec"; ed: "er.ed"; ee: "er.ee"; ef: "er.ef"; eg: "er.eg"; eh: "er.eh"; ei: "er.ei"; ej: "er.ej"; ek: "er.ek"; el: "er.el"; em: "er.em"; en: "er.en"; eo: "er.eo"; ep: "er.ep"; eq: "er.eq"; er: "er.er"; es: "er.es"; et: "er.et"; eu: "er.eu"; ev: "er.ev"; ew: "er.ew"; ex: "er.ex"; ey: "er.ey"; ez: "er.ez"; fa: "er.fa"; fb: "er.fb"; fc: "er.fc"; fd: "er.fd"; fe: "er.fe"; ff: "er.ff"; fg: "er.fg"; fh: "er.fh"; fi: "er.fi"; fj: "er.fj"; fk: "er.fk"; fl: "er.fl"; fm: "er.fm"; fn: "er.fn"; fo: "er.fo"; fp: "er.fp"; fq: "er.fq"; fr: "er.fr"; fs: "er.fs"; ft: "er.ft"; fu: "er.fu"; fv: "er.fv"; fw: "er.fw"; fx: "er.fx"; fy: "er.fy"; fz: "er.fz"; ga: "er.ga"; gb: "er.gb"; gc: "er.gc"; gd: "er.gd"; ge: "er.ge"; gf: "er.gf"; gg: "er.gg"; gh: "er.gh"; gi: "er.gi"; gj: "er.gj"; gk: "er.gk"; gl: "er.gl"; gm: "er.gm"; gn: "er.gn"; go: "er.go"; gp: "er.gp"; gq: "er.gq"; gr: "er.gr"; gs: "er.gs"; gt: "er.gt"; gu: "er.gu"; gv: "er.gv"; gw: "er.gw"; gx: "er.gx"; gy: "er.gy"; gz: "er.gz"; ha: "er.ha"; hb: "er.hb"; hc: "er.hc"; hd: "er.hd"; he: "er.he"; hf: "er.hf"; hg: "er.hg"; hh: "er.hh"; hi: "er.hi"; hj: "er.hj"; hk: "er.hk"; hl: "er.hl"; hm: "er.hm"; hn: "er.hn"; ho: "er.ho"; hp: "er.hp"; hq: "er.hq"; hr: "er.hr"; hs: "er.hs"; ht: "er.ht"; hu: "er.hu"; hv: "er.hv"; hw: "er.hw"; hx: "er.hx"; hy: "er.hy"; hz: "er.hz"; ia: "er.ia"; ib: "er.ib"; ic: "er.ic"; id: "er.id"; ie: "er.ie"; if: "er.if"; ig: "er.ig"; ih: "er.ih"; ii: "er.ii"; ij: "er.ij"; ik: "er.ik"; il: "er.il"; im: "er.im"; in: "er.in"; io: "er.io"; ip: "er.ip"; iq: "er.iq"; ir: "er.ir"; is: "er.is"; it: "er.it"; iu: "er.iu"; iv: "er.iv"; iw: "er.iw"; ix: "er.ix"; iy: "er.iy"; iz: "er.iz"; ja: "er.ja"; jb: "er.jb"; jc: "er.jc"; jd: "er.jd"; je: "er.je"; jf: "er.jf"; jg: "er.jg"; jh: "er.jh"; ji: "er.ji"; jj: "er.jj"; jk: "er.jk"; jl: "er.jl"; jm: "er.jm"; jn: "er.jn"; jo: "er.jo"; jp: "er.jp"; jq: "er.jq"; jr: "er.jr"; js: "er.js"; jt: "er.jt"; ju: "er.ju"; jv: "er.jv"; jw: "er.jw"; jx: "er.jx"; jy: "er.jy"; jz: "er.jz"; ka: "er.ka"; kb: "er.kb"; kc: "er.kc"; kd: "er.kd"; ke: "er.ke"; kf: "er.kf"; kg: "er.kg"; kh: "er.kh"; ki: "er.ki"; kj: "er.kj"; kk: "er.kk"; kl: "er.kl"; km: "er.km"; kn: "er.kn"; ko: "er.ko"; kp: "er.kp"; kq: "er.kq"; kr: "er.kr"; ks: "er.ks"; kt: "er.kt"; ku: "er.ku"; kv: "er.kv"; kw: "er.kw"; kx: "er.kx"; ky: "er.ky"; kz: "er.kz"; la: "er.la"; lb: "er.lb"; lc: "er.lc"; ld: "er.ld"; le: "er.le"; lf: "er.lf"; lg: "er.lg"; lh: "er.lh"; li: "er.li"; lj: "er.lj"; lk: "er.lk"; ll: "er.ll"; lm: "er.lm"; ln: "er.ln"; lo: "er.lo"; lp: "er.lp"; lq: "er.lq"; lr: "er.lr"; ls: "er.ls"; lt: "er.lt"; lu: "er.lu"; lv: "er.lv"; lw: "er.lw"; lx: "er.lx"; ly: "er.ly"; lz: "er.lz"; ma: "er.ma"; mb: "er.mb"; mc: "er.mc"; md: "er.md"; me: "er.me"; mf: "er.mf"; mg: "er.mg"; mh: "er.mh"; mi: "er.mi"; mj: "er.mj"; mk: "er.mk"; ml: "er.ml"; mm: "er.mm"; mn: "er.mn"; mo: "er.mo"; mp: "er.mp"; mq: "er.mq"; mr: "er.mr"; ms: "er.ms"; mt: "er.mt"; mu: "er.mu"; mv: "er.mv"; mw: "er.mw"; mx: "er.mx"; my: "er.my"; mz: "er.mz"; na: "er.na"; nb: "er.nb"; nc: "er.nc"; nd: "er.nd"; ne: "er.ne"; nf: "er.nf"; ng: "er.ng"; nh: "er.nh"; ni: "er.ni"; nj: "er.nj"; nk: "er.nk"; nl: "er.nl"; nm: "er.nm"; nn: "er.nn"; no: "er.no"; np: "er.np"; nq: "er.nq"; nr: "er.nr"; ns: "er.ns"; nt: "er.nt"; nu: "er.nu"; nv: "er.nv"; nw: "er.nw"; nx: "er.nx"; ny: "er.ny"; nz: "er.nz"; oa: "er.oa"; ob: "er.ob"; oc: "er.oc"; od: "er.od"; oe: "er.oe"; of: "er.of"; og: "er.og"; oh: "er.oh"; oi: "er.oi"; oj: "er.oj"; ok: "er.ok"; ol: "er.ol"; om: "er.om"; on: "er.on"; oo: "er.oo"; op: "er.op"; oq: "er.oq"; or: "er.or"; os: "er.os"; ot: "er.ot"; ou: "er.ou"; ov: "er.ov"; ow: "er.ow"; ox: "er.ox"; oy: "er.oy"; oz: "er.oz"; pa: "er.pa"; pb: "er.pb"; pc: "er.pc"; pd: "er.pd"; pe: "er.pe"; pf: "er.pf"; pg: "er.pg"; ph: "er.ph"; pi: "er.pi"; pj: "er.pj"; pk: "er.pk"; pl: "er.pl"; pm: "er.pm"; pn: "er.pn"; po: "er.po"; pp: "er.pp"; pq: "er.pq"; pr: "er.pr"; ps: "er.ps"; pt: "er.pt"; pu: "er.pu"; pv: "er.pv"; pw: "er.pw"; px: "er.px"; py: "er.py"; pz: "er.pz"; qa: "er.qa"; qb: "er.qb"; qc: "er.qc"; qd: "er.qd"; qe: "er.qe"; qf: "er.qf"; qg: "er.qg"; qh: "er.qh"; qi: "er.qi"; qj: "er.qj"; qk: "er.qk"; ql: "er.ql"; qm: "er.qm"; qn: "er.qn"; qo: "er.qo"; qp: "er.qp"; qq: "er.qq"; qr: "er.qr"; qs: "er.qs"; qt: "er.qt"; qu: "er.qu"; qv: "er.qv"; qw: "er.qw"; qx: "er.qx"; qy: "er.qy"; qz: "er.qz"; ra: "er.ra"; rb: "er.rb"; rc: "er.rc"; rd: "er.rd"; re: "er.re"; rf: "er.rf"; rg: "er.rg"; rh: "er.rh"; ri: "er.ri"; rj: "er.rj"; rk: "er.rk"; rl: "er.rl"; rm: "er.rm"; rn: "er.rn"; ro: "er.ro"; rp: "er.rp"; rq: "er.rq"; rr: "er.rr"; rs: "er.rs"; rt: "er.rt"; ru: "er.ru"; rv: "er.rv"; rw: "er.rw"; rx: "er.rx"; ry: "er.ry"; rz: "er.rz"; sa: "er.sa"; sb: "er.sb"; sc: "er.sc"; sd: "er.sd"; se: "er.se"; sf: "er.sf"; sg: "er.sg"; sh: "er.sh"; si: "er.si"; sj: "er.sj"; sk: "er.sk"; sl: "er.sl"; sm: "er.sm"; sn: "er.sn"; so: "er.so"; sp: "er.sp"; sq: "er.sq"; sr: "er.sr"; ss: "er.ss"; st: "er.st"; su: "er.su"; sv: "er.sv"; sw: "er.sw"; sx: "er.sx"; sy: "er.sy"; sz: "er.sz"; ta: "er.ta"; tb: "er.tb"; tc: "er.tc"; td: "er.td"; te: "er.te"; tf: "er.tf"; tg: "er.tg"; th: "er.th"; ti: "er.ti"; tj: "er.tj"; tk: "er.tk"; tl: "er.tl"; tm: "er.tm"; tn: "er.tn"; to: "er.to"; tp: "er.tp"; tq: "er.tq"; tr: "er.tr"; ts: "er.ts"; tt: "er.tt"; tu: "er.tu"; tv: "er.tv"; tw: "er.tw"; tx: "er.tx"; ty: "er.ty"; tz: "er.tz"; ua: "er.ua"; ub: "er.ub"; uc: "er.uc"; ud: "er.ud"; ue: "er.ue"; uf: "er.uf"; ug: "er.ug"; uh: "er.uh"; ui: "er.ui"; uj: "er.uj"; uk: "er.uk"; ul: "er.ul"; um: "er.um"; un: "er.un"; uo: "er.uo"; up: "er.up"; uq: "er.uq"; ur: "er.ur"; us: "er.us"; ut: "er.ut"; uu: "er.uu"; uv: "er.uv"; uw: "er.uw"; ux: "er.ux"; uy: "er.uy"; uz: "er.uz"; va: "er.va"; vb: "er.vb"; vc: "er.vc"; vd: "er.vd"; ve: "er.ve"; vf: "er.vf"; vg: "er.vg"; vh: "er.vh"; vi: "er.vi"; vj: "er.vj"; vk: "er.vk"; vl: "er.vl"; vm: "er.vm"; vn: "er.vn"; vo: "er.vo"; vp: "er.vp"; vq: "er.vq"; vr: "er.vr"; vs: "er.vs"; vt: "er.vt"; vu: "er.vu"; vv: "er.vv"; vw: "er.vw"; vx: "er.vx"; vy: "er.vy"; vz: "er.vz"; wa: "er.wa"; wb: "er.wb"; wc: "er.wc"; wd: "er.wd"; we: "er.we"; wf: "er.wf"; wg: "er.wg"; wh: "er.wh"; wi: "er.wi"; wj: "er.wj"; wk: "er.wk"; wl: "er.wl"; wm: "er.wm"; wn: "er.wn"; wo: "er.wo"; wp: "er.wp"; wq: "er.wq"; wr: "er.wr"; ws: "er.ws"; wt: "er.wt"; wu: "er.wu"; wv: "er.wv"; ww: "er.ww"; wx: "er.wx"; wy: "er.wy"; wz: "er.wz"; xa: "er.xa"; xb: "er.xb"; xc: "er.xc"; xd: "er.xd"; xe: "er.xe"; xf: "er.xf"; xg: "er.xg"; xh: "er.xh"; xi: "er.xi"; xj: "er.xj"; xk: "er.xk"; xl: "er.xl"; xm: "er.xm"; xn: "er.xn"; xo: "er.xo"; xp: "er.xp"; xq: "er.xq"; xr: "er.xr"; xs: "er.xs"; xt: "er.xt"; xu: "er.xu"; xv: "er.xv"; xw: "er.xw"; xx: "er.xx"; xy: "er.xy"; xz: "er.xz"; ya: "er.ya"; yb: "er.yb"; yc: "er.yc"; yd: "er.yd"; ye: "er.ye"; yf: "er.yf"; yg: "er.yg"; yh: "er.yh"; yi: "er.yi"; yj: "er.yj"; yk: "er.yk"; yl: "er.yl"; ym: "er.ym"; yn: "er.yn"; yo: "er.yo"; yp: "er.yp"; yq: "er.yq"; yr: "er.yr"; ys: "er.ys"; yt: "er.yt"; yu: "er.yu"; yv: "er.yv"; yw: "er.yw"; yx: "er.yx"; yy: "er.yy"; yz: "er.yz"; za: "er.za"; zb: "er.zb"; zc: "er.zc"; zd: "er.zd"; ze: "er.ze"; zf: "er.zf"; zg: "er.zg"; zh: "er.zh"; zi: "er.zi"; zj: "er.zj"; zk: "er.zk"; zl: "er.zl"; zm: "er.zm"; zn: "er.zn"; zo: "er.zo"; zp: "er.zp"; zq: "er.zq"; zr: "er.zr"; zs: "er.zs"; zt: "er.zt"; zu: "er.zu"; zv: "er.zv"; zw: "er.zw"; zx: "er.zx"; zy: "er.zy"; zz: "er.zz"; }; es: { aa: "es.aa"; ab: "es.ab"; ac: "es.ac"; ad: "es.ad"; ae: "es.ae"; af: "es.af"; ag: "es.ag"; ah: "es.ah"; ai: "es.ai"; aj: "es.aj"; ak: "es.ak"; al: "es.al"; am: "es.am"; an: "es.an"; ao: "es.ao"; ap: "es.ap"; aq: "es.aq"; ar: "es.ar"; as: "es.as"; at: "es.at"; au: "es.au"; av: "es.av"; aw: "es.aw"; ax: "es.ax"; ay: "es.ay"; az: "es.az"; ba: "es.ba"; bb: "es.bb"; bc: "es.bc"; bd: "es.bd"; be: "es.be"; bf: "es.bf"; bg: "es.bg"; bh: "es.bh"; bi: "es.bi"; bj: "es.bj"; bk: "es.bk"; bl: "es.bl"; bm: "es.bm"; bn: "es.bn"; bo: "es.bo"; bp: "es.bp"; bq: "es.bq"; br: "es.br"; bs: "es.bs"; bt: "es.bt"; bu: "es.bu"; bv: "es.bv"; bw: "es.bw"; bx: "es.bx"; by: "es.by"; bz: "es.bz"; ca: "es.ca"; cb: "es.cb"; cc: "es.cc"; cd: "es.cd"; ce: "es.ce"; cf: "es.cf"; cg: "es.cg"; ch: "es.ch"; ci: "es.ci"; cj: "es.cj"; ck: "es.ck"; cl: "es.cl"; cm: "es.cm"; cn: "es.cn"; co: "es.co"; cp: "es.cp"; cq: "es.cq"; cr: "es.cr"; cs: "es.cs"; ct: "es.ct"; cu: "es.cu"; cv: "es.cv"; cw: "es.cw"; cx: "es.cx"; cy: "es.cy"; cz: "es.cz"; da: "es.da"; db: "es.db"; dc: "es.dc"; dd: "es.dd"; de: "es.de"; df: "es.df"; dg: "es.dg"; dh: "es.dh"; di: "es.di"; dj: "es.dj"; dk: "es.dk"; dl: "es.dl"; dm: "es.dm"; dn: "es.dn"; do: "es.do"; dp: "es.dp"; dq: "es.dq"; dr: "es.dr"; ds: "es.ds"; dt: "es.dt"; du: "es.du"; dv: "es.dv"; dw: "es.dw"; dx: "es.dx"; dy: "es.dy"; dz: "es.dz"; ea: "es.ea"; eb: "es.eb"; ec: "es.ec"; ed: "es.ed"; ee: "es.ee"; ef: "es.ef"; eg: "es.eg"; eh: "es.eh"; ei: "es.ei"; ej: "es.ej"; ek: "es.ek"; el: "es.el"; em: "es.em"; en: "es.en"; eo: "es.eo"; ep: "es.ep"; eq: "es.eq"; er: "es.er"; es: "es.es"; et: "es.et"; eu: "es.eu"; ev: "es.ev"; ew: "es.ew"; ex: "es.ex"; ey: "es.ey"; ez: "es.ez"; fa: "es.fa"; fb: "es.fb"; fc: "es.fc"; fd: "es.fd"; fe: "es.fe"; ff: "es.ff"; fg: "es.fg"; fh: "es.fh"; fi: "es.fi"; fj: "es.fj"; fk: "es.fk"; fl: "es.fl"; fm: "es.fm"; fn: "es.fn"; fo: "es.fo"; fp: "es.fp"; fq: "es.fq"; fr: "es.fr"; fs: "es.fs"; ft: "es.ft"; fu: "es.fu"; fv: "es.fv"; fw: "es.fw"; fx: "es.fx"; fy: "es.fy"; fz: "es.fz"; ga: "es.ga"; gb: "es.gb"; gc: "es.gc"; gd: "es.gd"; ge: "es.ge"; gf: "es.gf"; gg: "es.gg"; gh: "es.gh"; gi: "es.gi"; gj: "es.gj"; gk: "es.gk"; gl: "es.gl"; gm: "es.gm"; gn: "es.gn"; go: "es.go"; gp: "es.gp"; gq: "es.gq"; gr: "es.gr"; gs: "es.gs"; gt: "es.gt"; gu: "es.gu"; gv: "es.gv"; gw: "es.gw"; gx: "es.gx"; gy: "es.gy"; gz: "es.gz"; ha: "es.ha"; hb: "es.hb"; hc: "es.hc"; hd: "es.hd"; he: "es.he"; hf: "es.hf"; hg: "es.hg"; hh: "es.hh"; hi: "es.hi"; hj: "es.hj"; hk: "es.hk"; hl: "es.hl"; hm: "es.hm"; hn: "es.hn"; ho: "es.ho"; hp: "es.hp"; hq: "es.hq"; hr: "es.hr"; hs: "es.hs"; ht: "es.ht"; hu: "es.hu"; hv: "es.hv"; hw: "es.hw"; hx: "es.hx"; hy: "es.hy"; hz: "es.hz"; ia: "es.ia"; ib: "es.ib"; ic: "es.ic"; id: "es.id"; ie: "es.ie"; if: "es.if"; ig: "es.ig"; ih: "es.ih"; ii: "es.ii"; ij: "es.ij"; ik: "es.ik"; il: "es.il"; im: "es.im"; in: "es.in"; io: "es.io"; ip: "es.ip"; iq: "es.iq"; ir: "es.ir"; is: "es.is"; it: "es.it"; iu: "es.iu"; iv: "es.iv"; iw: "es.iw"; ix: "es.ix"; iy: "es.iy"; iz: "es.iz"; ja: "es.ja"; jb: "es.jb"; jc: "es.jc"; jd: "es.jd"; je: "es.je"; jf: "es.jf"; jg: "es.jg"; jh: "es.jh"; ji: "es.ji"; jj: "es.jj"; jk: "es.jk"; jl: "es.jl"; jm: "es.jm"; jn: "es.jn"; jo: "es.jo"; jp: "es.jp"; jq: "es.jq"; jr: "es.jr"; js: "es.js"; jt: "es.jt"; ju: "es.ju"; jv: "es.jv"; jw: "es.jw"; jx: "es.jx"; jy: "es.jy"; jz: "es.jz"; ka: "es.ka"; kb: "es.kb"; kc: "es.kc"; kd: "es.kd"; ke: "es.ke"; kf: "es.kf"; kg: "es.kg"; kh: "es.kh"; ki: "es.ki"; kj: "es.kj"; kk: "es.kk"; kl: "es.kl"; km: "es.km"; kn: "es.kn"; ko: "es.ko"; kp: "es.kp"; kq: "es.kq"; kr: "es.kr"; ks: "es.ks"; kt: "es.kt"; ku: "es.ku"; kv: "es.kv"; kw: "es.kw"; kx: "es.kx"; ky: "es.ky"; kz: "es.kz"; la: "es.la"; lb: "es.lb"; lc: "es.lc"; ld: "es.ld"; le: "es.le"; lf: "es.lf"; lg: "es.lg"; lh: "es.lh"; li: "es.li"; lj: "es.lj"; lk: "es.lk"; ll: "es.ll"; lm: "es.lm"; ln: "es.ln"; lo: "es.lo"; lp: "es.lp"; lq: "es.lq"; lr: "es.lr"; ls: "es.ls"; lt: "es.lt"; lu: "es.lu"; lv: "es.lv"; lw: "es.lw"; lx: "es.lx"; ly: "es.ly"; lz: "es.lz"; ma: "es.ma"; mb: "es.mb"; mc: "es.mc"; md: "es.md"; me: "es.me"; mf: "es.mf"; mg: "es.mg"; mh: "es.mh"; mi: "es.mi"; mj: "es.mj"; mk: "es.mk"; ml: "es.ml"; mm: "es.mm"; mn: "es.mn"; mo: "es.mo"; mp: "es.mp"; mq: "es.mq"; mr: "es.mr"; ms: "es.ms"; mt: "es.mt"; mu: "es.mu"; mv: "es.mv"; mw: "es.mw"; mx: "es.mx"; my: "es.my"; mz: "es.mz"; na: "es.na"; nb: "es.nb"; nc: "es.nc"; nd: "es.nd"; ne: "es.ne"; nf: "es.nf"; ng: "es.ng"; nh: "es.nh"; ni: "es.ni"; nj: "es.nj"; nk: "es.nk"; nl: "es.nl"; nm: "es.nm"; nn: "es.nn"; no: "es.no"; np: "es.np"; nq: "es.nq"; nr: "es.nr"; ns: "es.ns"; nt: "es.nt"; nu: "es.nu"; nv: "es.nv"; nw: "es.nw"; nx: "es.nx"; ny: "es.ny"; nz: "es.nz"; oa: "es.oa"; ob: "es.ob"; oc: "es.oc"; od: "es.od"; oe: "es.oe"; of: "es.of"; og: "es.og"; oh: "es.oh"; oi: "es.oi"; oj: "es.oj"; ok: "es.ok"; ol: "es.ol"; om: "es.om"; on: "es.on"; oo: "es.oo"; op: "es.op"; oq: "es.oq"; or: "es.or"; os: "es.os"; ot: "es.ot"; ou: "es.ou"; ov: "es.ov"; ow: "es.ow"; ox: "es.ox"; oy: "es.oy"; oz: "es.oz"; pa: "es.pa"; pb: "es.pb"; pc: "es.pc"; pd: "es.pd"; pe: "es.pe"; pf: "es.pf"; pg: "es.pg"; ph: "es.ph"; pi: "es.pi"; pj: "es.pj"; pk: "es.pk"; pl: "es.pl"; pm: "es.pm"; pn: "es.pn"; po: "es.po"; pp: "es.pp"; pq: "es.pq"; pr: "es.pr"; ps: "es.ps"; pt: "es.pt"; pu: "es.pu"; pv: "es.pv"; pw: "es.pw"; px: "es.px"; py: "es.py"; pz: "es.pz"; qa: "es.qa"; qb: "es.qb"; qc: "es.qc"; qd: "es.qd"; qe: "es.qe"; qf: "es.qf"; qg: "es.qg"; qh: "es.qh"; qi: "es.qi"; qj: "es.qj"; qk: "es.qk"; ql: "es.ql"; qm: "es.qm"; qn: "es.qn"; qo: "es.qo"; qp: "es.qp"; qq: "es.qq"; qr: "es.qr"; qs: "es.qs"; qt: "es.qt"; qu: "es.qu"; qv: "es.qv"; qw: "es.qw"; qx: "es.qx"; qy: "es.qy"; qz: "es.qz"; ra: "es.ra"; rb: "es.rb"; rc: "es.rc"; rd: "es.rd"; re: "es.re"; rf: "es.rf"; rg: "es.rg"; rh: "es.rh"; ri: "es.ri"; rj: "es.rj"; rk: "es.rk"; rl: "es.rl"; rm: "es.rm"; rn: "es.rn"; ro: "es.ro"; rp: "es.rp"; rq: "es.rq"; rr: "es.rr"; rs: "es.rs"; rt: "es.rt"; ru: "es.ru"; rv: "es.rv"; rw: "es.rw"; rx: "es.rx"; ry: "es.ry"; rz: "es.rz"; sa: "es.sa"; sb: "es.sb"; sc: "es.sc"; sd: "es.sd"; se: "es.se"; sf: "es.sf"; sg: "es.sg"; sh: "es.sh"; si: "es.si"; sj: "es.sj"; sk: "es.sk"; sl: "es.sl"; sm: "es.sm"; sn: "es.sn"; so: "es.so"; sp: "es.sp"; sq: "es.sq"; sr: "es.sr"; ss: "es.ss"; st: "es.st"; su: "es.su"; sv: "es.sv"; sw: "es.sw"; sx: "es.sx"; sy: "es.sy"; sz: "es.sz"; ta: "es.ta"; tb: "es.tb"; tc: "es.tc"; td: "es.td"; te: "es.te"; tf: "es.tf"; tg: "es.tg"; th: "es.th"; ti: "es.ti"; tj: "es.tj"; tk: "es.tk"; tl: "es.tl"; tm: "es.tm"; tn: "es.tn"; to: "es.to"; tp: "es.tp"; tq: "es.tq"; tr: "es.tr"; ts: "es.ts"; tt: "es.tt"; tu: "es.tu"; tv: "es.tv"; tw: "es.tw"; tx: "es.tx"; ty: "es.ty"; tz: "es.tz"; ua: "es.ua"; ub: "es.ub"; uc: "es.uc"; ud: "es.ud"; ue: "es.ue"; uf: "es.uf"; ug: "es.ug"; uh: "es.uh"; ui: "es.ui"; uj: "es.uj"; uk: "es.uk"; ul: "es.ul"; um: "es.um"; un: "es.un"; uo: "es.uo"; up: "es.up"; uq: "es.uq"; ur: "es.ur"; us: "es.us"; ut: "es.ut"; uu: "es.uu"; uv: "es.uv"; uw: "es.uw"; ux: "es.ux"; uy: "es.uy"; uz: "es.uz"; va: "es.va"; vb: "es.vb"; vc: "es.vc"; vd: "es.vd"; ve: "es.ve"; vf: "es.vf"; vg: "es.vg"; vh: "es.vh"; vi: "es.vi"; vj: "es.vj"; vk: "es.vk"; vl: "es.vl"; vm: "es.vm"; vn: "es.vn"; vo: "es.vo"; vp: "es.vp"; vq: "es.vq"; vr: "es.vr"; vs: "es.vs"; vt: "es.vt"; vu: "es.vu"; vv: "es.vv"; vw: "es.vw"; vx: "es.vx"; vy: "es.vy"; vz: "es.vz"; wa: "es.wa"; wb: "es.wb"; wc: "es.wc"; wd: "es.wd"; we: "es.we"; wf: "es.wf"; wg: "es.wg"; wh: "es.wh"; wi: "es.wi"; wj: "es.wj"; wk: "es.wk"; wl: "es.wl"; wm: "es.wm"; wn: "es.wn"; wo: "es.wo"; wp: "es.wp"; wq: "es.wq"; wr: "es.wr"; ws: "es.ws"; wt: "es.wt"; wu: "es.wu"; wv: "es.wv"; ww: "es.ww"; wx: "es.wx"; wy: "es.wy"; wz: "es.wz"; xa: "es.xa"; xb: "es.xb"; xc: "es.xc"; xd: "es.xd"; xe: "es.xe"; xf: "es.xf"; xg: "es.xg"; xh: "es.xh"; xi: "es.xi"; xj: "es.xj"; xk: "es.xk"; xl: "es.xl"; xm: "es.xm"; xn: "es.xn"; xo: "es.xo"; xp: "es.xp"; xq: "es.xq"; xr: "es.xr"; xs: "es.xs"; xt: "es.xt"; xu: "es.xu"; xv: "es.xv"; xw: "es.xw"; xx: "es.xx"; xy: "es.xy"; xz: "es.xz"; ya: "es.ya"; yb: "es.yb"; yc: "es.yc"; yd: "es.yd"; ye: "es.ye"; yf: "es.yf"; yg: "es.yg"; yh: "es.yh"; yi: "es.yi"; yj: "es.yj"; yk: "es.yk"; yl: "es.yl"; ym: "es.ym"; yn: "es.yn"; yo: "es.yo"; yp: "es.yp"; yq: "es.yq"; yr: "es.yr"; ys: "es.ys"; yt: "es.yt"; yu: "es.yu"; yv: "es.yv"; yw: "es.yw"; yx: "es.yx"; yy: "es.yy"; yz: "es.yz"; za: "es.za"; zb: "es.zb"; zc: "es.zc"; zd: "es.zd"; ze: "es.ze"; zf: "es.zf"; zg: "es.zg"; zh: "es.zh"; zi: "es.zi"; zj: "es.zj"; zk: "es.zk"; zl: "es.zl"; zm: "es.zm"; zn: "es.zn"; zo: "es.zo"; zp: "es.zp"; zq: "es.zq"; zr: "es.zr"; zs: "es.zs"; zt: "es.zt"; zu: "es.zu"; zv: "es.zv"; zw: "es.zw"; zx: "es.zx"; zy: "es.zy"; zz: "es.zz"; }; et: { aa: "et.aa"; ab: "et.ab"; ac: "et.ac"; ad: "et.ad"; ae: "et.ae"; af: "et.af"; ag: "et.ag"; ah: "et.ah"; ai: "et.ai"; aj: "et.aj"; ak: "et.ak"; al: "et.al"; am: "et.am"; an: "et.an"; ao: "et.ao"; ap: "et.ap"; aq: "et.aq"; ar: "et.ar"; as: "et.as"; at: "et.at"; au: "et.au"; av: "et.av"; aw: "et.aw"; ax: "et.ax"; ay: "et.ay"; az: "et.az"; ba: "et.ba"; bb: "et.bb"; bc: "et.bc"; bd: "et.bd"; be: "et.be"; bf: "et.bf"; bg: "et.bg"; bh: "et.bh"; bi: "et.bi"; bj: "et.bj"; bk: "et.bk"; bl: "et.bl"; bm: "et.bm"; bn: "et.bn"; bo: "et.bo"; bp: "et.bp"; bq: "et.bq"; br: "et.br"; bs: "et.bs"; bt: "et.bt"; bu: "et.bu"; bv: "et.bv"; bw: "et.bw"; bx: "et.bx"; by: "et.by"; bz: "et.bz"; ca: "et.ca"; cb: "et.cb"; cc: "et.cc"; cd: "et.cd"; ce: "et.ce"; cf: "et.cf"; cg: "et.cg"; ch: "et.ch"; ci: "et.ci"; cj: "et.cj"; ck: "et.ck"; cl: "et.cl"; cm: "et.cm"; cn: "et.cn"; co: "et.co"; cp: "et.cp"; cq: "et.cq"; cr: "et.cr"; cs: "et.cs"; ct: "et.ct"; cu: "et.cu"; cv: "et.cv"; cw: "et.cw"; cx: "et.cx"; cy: "et.cy"; cz: "et.cz"; da: "et.da"; db: "et.db"; dc: "et.dc"; dd: "et.dd"; de: "et.de"; df: "et.df"; dg: "et.dg"; dh: "et.dh"; di: "et.di"; dj: "et.dj"; dk: "et.dk"; dl: "et.dl"; dm: "et.dm"; dn: "et.dn"; do: "et.do"; dp: "et.dp"; dq: "et.dq"; dr: "et.dr"; ds: "et.ds"; dt: "et.dt"; du: "et.du"; dv: "et.dv"; dw: "et.dw"; dx: "et.dx"; dy: "et.dy"; dz: "et.dz"; ea: "et.ea"; eb: "et.eb"; ec: "et.ec"; ed: "et.ed"; ee: "et.ee"; ef: "et.ef"; eg: "et.eg"; eh: "et.eh"; ei: "et.ei"; ej: "et.ej"; ek: "et.ek"; el: "et.el"; em: "et.em"; en: "et.en"; eo: "et.eo"; ep: "et.ep"; eq: "et.eq"; er: "et.er"; es: "et.es"; et: "et.et"; eu: "et.eu"; ev: "et.ev"; ew: "et.ew"; ex: "et.ex"; ey: "et.ey"; ez: "et.ez"; fa: "et.fa"; fb: "et.fb"; fc: "et.fc"; fd: "et.fd"; fe: "et.fe"; ff: "et.ff"; fg: "et.fg"; fh: "et.fh"; fi: "et.fi"; fj: "et.fj"; fk: "et.fk"; fl: "et.fl"; fm: "et.fm"; fn: "et.fn"; fo: "et.fo"; fp: "et.fp"; fq: "et.fq"; fr: "et.fr"; fs: "et.fs"; ft: "et.ft"; fu: "et.fu"; fv: "et.fv"; fw: "et.fw"; fx: "et.fx"; fy: "et.fy"; fz: "et.fz"; ga: "et.ga"; gb: "et.gb"; gc: "et.gc"; gd: "et.gd"; ge: "et.ge"; gf: "et.gf"; gg: "et.gg"; gh: "et.gh"; gi: "et.gi"; gj: "et.gj"; gk: "et.gk"; gl: "et.gl"; gm: "et.gm"; gn: "et.gn"; go: "et.go"; gp: "et.gp"; gq: "et.gq"; gr: "et.gr"; gs: "et.gs"; gt: "et.gt"; gu: "et.gu"; gv: "et.gv"; gw: "et.gw"; gx: "et.gx"; gy: "et.gy"; gz: "et.gz"; ha: "et.ha"; hb: "et.hb"; hc: "et.hc"; hd: "et.hd"; he: "et.he"; hf: "et.hf"; hg: "et.hg"; hh: "et.hh"; hi: "et.hi"; hj: "et.hj"; hk: "et.hk"; hl: "et.hl"; hm: "et.hm"; hn: "et.hn"; ho: "et.ho"; hp: "et.hp"; hq: "et.hq"; hr: "et.hr"; hs: "et.hs"; ht: "et.ht"; hu: "et.hu"; hv: "et.hv"; hw: "et.hw"; hx: "et.hx"; hy: "et.hy"; hz: "et.hz"; ia: "et.ia"; ib: "et.ib"; ic: "et.ic"; id: "et.id"; ie: "et.ie"; if: "et.if"; ig: "et.ig"; ih: "et.ih"; ii: "et.ii"; ij: "et.ij"; ik: "et.ik"; il: "et.il"; im: "et.im"; in: "et.in"; io: "et.io"; ip: "et.ip"; iq: "et.iq"; ir: "et.ir"; is: "et.is"; it: "et.it"; iu: "et.iu"; iv: "et.iv"; iw: "et.iw"; ix: "et.ix"; iy: "et.iy"; iz: "et.iz"; ja: "et.ja"; jb: "et.jb"; jc: "et.jc"; jd: "et.jd"; je: "et.je"; jf: "et.jf"; jg: "et.jg"; jh: "et.jh"; ji: "et.ji"; jj: "et.jj"; jk: "et.jk"; jl: "et.jl"; jm: "et.jm"; jn: "et.jn"; jo: "et.jo"; jp: "et.jp"; jq: "et.jq"; jr: "et.jr"; js: "et.js"; jt: "et.jt"; ju: "et.ju"; jv: "et.jv"; jw: "et.jw"; jx: "et.jx"; jy: "et.jy"; jz: "et.jz"; ka: "et.ka"; kb: "et.kb"; kc: "et.kc"; kd: "et.kd"; ke: "et.ke"; kf: "et.kf"; kg: "et.kg"; kh: "et.kh"; ki: "et.ki"; kj: "et.kj"; kk: "et.kk"; kl: "et.kl"; km: "et.km"; kn: "et.kn"; ko: "et.ko"; kp: "et.kp"; kq: "et.kq"; kr: "et.kr"; ks: "et.ks"; kt: "et.kt"; ku: "et.ku"; kv: "et.kv"; kw: "et.kw"; kx: "et.kx"; ky: "et.ky"; kz: "et.kz"; la: "et.la"; lb: "et.lb"; lc: "et.lc"; ld: "et.ld"; le: "et.le"; lf: "et.lf"; lg: "et.lg"; lh: "et.lh"; li: "et.li"; lj: "et.lj"; lk: "et.lk"; ll: "et.ll"; lm: "et.lm"; ln: "et.ln"; lo: "et.lo"; lp: "et.lp"; lq: "et.lq"; lr: "et.lr"; ls: "et.ls"; lt: "et.lt"; lu: "et.lu"; lv: "et.lv"; lw: "et.lw"; lx: "et.lx"; ly: "et.ly"; lz: "et.lz"; ma: "et.ma"; mb: "et.mb"; mc: "et.mc"; md: "et.md"; me: "et.me"; mf: "et.mf"; mg: "et.mg"; mh: "et.mh"; mi: "et.mi"; mj: "et.mj"; mk: "et.mk"; ml: "et.ml"; mm: "et.mm"; mn: "et.mn"; mo: "et.mo"; mp: "et.mp"; mq: "et.mq"; mr: "et.mr"; ms: "et.ms"; mt: "et.mt"; mu: "et.mu"; mv: "et.mv"; mw: "et.mw"; mx: "et.mx"; my: "et.my"; mz: "et.mz"; na: "et.na"; nb: "et.nb"; nc: "et.nc"; nd: "et.nd"; ne: "et.ne"; nf: "et.nf"; ng: "et.ng"; nh: "et.nh"; ni: "et.ni"; nj: "et.nj"; nk: "et.nk"; nl: "et.nl"; nm: "et.nm"; nn: "et.nn"; no: "et.no"; np: "et.np"; nq: "et.nq"; nr: "et.nr"; ns: "et.ns"; nt: "et.nt"; nu: "et.nu"; nv: "et.nv"; nw: "et.nw"; nx: "et.nx"; ny: "et.ny"; nz: "et.nz"; oa: "et.oa"; ob: "et.ob"; oc: "et.oc"; od: "et.od"; oe: "et.oe"; of: "et.of"; og: "et.og"; oh: "et.oh"; oi: "et.oi"; oj: "et.oj"; ok: "et.ok"; ol: "et.ol"; om: "et.om"; on: "et.on"; oo: "et.oo"; op: "et.op"; oq: "et.oq"; or: "et.or"; os: "et.os"; ot: "et.ot"; ou: "et.ou"; ov: "et.ov"; ow: "et.ow"; ox: "et.ox"; oy: "et.oy"; oz: "et.oz"; pa: "et.pa"; pb: "et.pb"; pc: "et.pc"; pd: "et.pd"; pe: "et.pe"; pf: "et.pf"; pg: "et.pg"; ph: "et.ph"; pi: "et.pi"; pj: "et.pj"; pk: "et.pk"; pl: "et.pl"; pm: "et.pm"; pn: "et.pn"; po: "et.po"; pp: "et.pp"; pq: "et.pq"; pr: "et.pr"; ps: "et.ps"; pt: "et.pt"; pu: "et.pu"; pv: "et.pv"; pw: "et.pw"; px: "et.px"; py: "et.py"; pz: "et.pz"; qa: "et.qa"; qb: "et.qb"; qc: "et.qc"; qd: "et.qd"; qe: "et.qe"; qf: "et.qf"; qg: "et.qg"; qh: "et.qh"; qi: "et.qi"; qj: "et.qj"; qk: "et.qk"; ql: "et.ql"; qm: "et.qm"; qn: "et.qn"; qo: "et.qo"; qp: "et.qp"; qq: "et.qq"; qr: "et.qr"; qs: "et.qs"; qt: "et.qt"; qu: "et.qu"; qv: "et.qv"; qw: "et.qw"; qx: "et.qx"; qy: "et.qy"; qz: "et.qz"; ra: "et.ra"; rb: "et.rb"; rc: "et.rc"; rd: "et.rd"; re: "et.re"; rf: "et.rf"; rg: "et.rg"; rh: "et.rh"; ri: "et.ri"; rj: "et.rj"; rk: "et.rk"; rl: "et.rl"; rm: "et.rm"; rn: "et.rn"; ro: "et.ro"; rp: "et.rp"; rq: "et.rq"; rr: "et.rr"; rs: "et.rs"; rt: "et.rt"; ru: "et.ru"; rv: "et.rv"; rw: "et.rw"; rx: "et.rx"; ry: "et.ry"; rz: "et.rz"; sa: "et.sa"; sb: "et.sb"; sc: "et.sc"; sd: "et.sd"; se: "et.se"; sf: "et.sf"; sg: "et.sg"; sh: "et.sh"; si: "et.si"; sj: "et.sj"; sk: "et.sk"; sl: "et.sl"; sm: "et.sm"; sn: "et.sn"; so: "et.so"; sp: "et.sp"; sq: "et.sq"; sr: "et.sr"; ss: "et.ss"; st: "et.st"; su: "et.su"; sv: "et.sv"; sw: "et.sw"; sx: "et.sx"; sy: "et.sy"; sz: "et.sz"; ta: "et.ta"; tb: "et.tb"; tc: "et.tc"; td: "et.td"; te: "et.te"; tf: "et.tf"; tg: "et.tg"; th: "et.th"; ti: "et.ti"; tj: "et.tj"; tk: "et.tk"; tl: "et.tl"; tm: "et.tm"; tn: "et.tn"; to: "et.to"; tp: "et.tp"; tq: "et.tq"; tr: "et.tr"; ts: "et.ts"; tt: "et.tt"; tu: "et.tu"; tv: "et.tv"; tw: "et.tw"; tx: "et.tx"; ty: "et.ty"; tz: "et.tz"; ua: "et.ua"; ub: "et.ub"; uc: "et.uc"; ud: "et.ud"; ue: "et.ue"; uf: "et.uf"; ug: "et.ug"; uh: "et.uh"; ui: "et.ui"; uj: "et.uj"; uk: "et.uk"; ul: "et.ul"; um: "et.um"; un: "et.un"; uo: "et.uo"; up: "et.up"; uq: "et.uq"; ur: "et.ur"; us: "et.us"; ut: "et.ut"; uu: "et.uu"; uv: "et.uv"; uw: "et.uw"; ux: "et.ux"; uy: "et.uy"; uz: "et.uz"; va: "et.va"; vb: "et.vb"; vc: "et.vc"; vd: "et.vd"; ve: "et.ve"; vf: "et.vf"; vg: "et.vg"; vh: "et.vh"; vi: "et.vi"; vj: "et.vj"; vk: "et.vk"; vl: "et.vl"; vm: "et.vm"; vn: "et.vn"; vo: "et.vo"; vp: "et.vp"; vq: "et.vq"; vr: "et.vr"; vs: "et.vs"; vt: "et.vt"; vu: "et.vu"; vv: "et.vv"; vw: "et.vw"; vx: "et.vx"; vy: "et.vy"; vz: "et.vz"; wa: "et.wa"; wb: "et.wb"; wc: "et.wc"; wd: "et.wd"; we: "et.we"; wf: "et.wf"; wg: "et.wg"; wh: "et.wh"; wi: "et.wi"; wj: "et.wj"; wk: "et.wk"; wl: "et.wl"; wm: "et.wm"; wn: "et.wn"; wo: "et.wo"; wp: "et.wp"; wq: "et.wq"; wr: "et.wr"; ws: "et.ws"; wt: "et.wt"; wu: "et.wu"; wv: "et.wv"; ww: "et.ww"; wx: "et.wx"; wy: "et.wy"; wz: "et.wz"; xa: "et.xa"; xb: "et.xb"; xc: "et.xc"; xd: "et.xd"; xe: "et.xe"; xf: "et.xf"; xg: "et.xg"; xh: "et.xh"; xi: "et.xi"; xj: "et.xj"; xk: "et.xk"; xl: "et.xl"; xm: "et.xm"; xn: "et.xn"; xo: "et.xo"; xp: "et.xp"; xq: "et.xq"; xr: "et.xr"; xs: "et.xs"; xt: "et.xt"; xu: "et.xu"; xv: "et.xv"; xw: "et.xw"; xx: "et.xx"; xy: "et.xy"; xz: "et.xz"; ya: "et.ya"; yb: "et.yb"; yc: "et.yc"; yd: "et.yd"; ye: "et.ye"; yf: "et.yf"; yg: "et.yg"; yh: "et.yh"; yi: "et.yi"; yj: "et.yj"; yk: "et.yk"; yl: "et.yl"; ym: "et.ym"; yn: "et.yn"; yo: "et.yo"; yp: "et.yp"; yq: "et.yq"; yr: "et.yr"; ys: "et.ys"; yt: "et.yt"; yu: "et.yu"; yv: "et.yv"; yw: "et.yw"; yx: "et.yx"; yy: "et.yy"; yz: "et.yz"; za: "et.za"; zb: "et.zb"; zc: "et.zc"; zd: "et.zd"; ze: "et.ze"; zf: "et.zf"; zg: "et.zg"; zh: "et.zh"; zi: "et.zi"; zj: "et.zj"; zk: "et.zk"; zl: "et.zl"; zm: "et.zm"; zn: "et.zn"; zo: "et.zo"; zp: "et.zp"; zq: "et.zq"; zr: "et.zr"; zs: "et.zs"; zt: "et.zt"; zu: "et.zu"; zv: "et.zv"; zw: "et.zw"; zx: "et.zx"; zy: "et.zy"; zz: "et.zz"; }; eu: { aa: "eu.aa"; ab: "eu.ab"; ac: "eu.ac"; ad: "eu.ad"; ae: "eu.ae"; af: "eu.af"; ag: "eu.ag"; ah: "eu.ah"; ai: "eu.ai"; aj: "eu.aj"; ak: "eu.ak"; al: "eu.al"; am: "eu.am"; an: "eu.an"; ao: "eu.ao"; ap: "eu.ap"; aq: "eu.aq"; ar: "eu.ar"; as: "eu.as"; at: "eu.at"; au: "eu.au"; av: "eu.av"; aw: "eu.aw"; ax: "eu.ax"; ay: "eu.ay"; az: "eu.az"; ba: "eu.ba"; bb: "eu.bb"; bc: "eu.bc"; bd: "eu.bd"; be: "eu.be"; bf: "eu.bf"; bg: "eu.bg"; bh: "eu.bh"; bi: "eu.bi"; bj: "eu.bj"; bk: "eu.bk"; bl: "eu.bl"; bm: "eu.bm"; bn: "eu.bn"; bo: "eu.bo"; bp: "eu.bp"; bq: "eu.bq"; br: "eu.br"; bs: "eu.bs"; bt: "eu.bt"; bu: "eu.bu"; bv: "eu.bv"; bw: "eu.bw"; bx: "eu.bx"; by: "eu.by"; bz: "eu.bz"; ca: "eu.ca"; cb: "eu.cb"; cc: "eu.cc"; cd: "eu.cd"; ce: "eu.ce"; cf: "eu.cf"; cg: "eu.cg"; ch: "eu.ch"; ci: "eu.ci"; cj: "eu.cj"; ck: "eu.ck"; cl: "eu.cl"; cm: "eu.cm"; cn: "eu.cn"; co: "eu.co"; cp: "eu.cp"; cq: "eu.cq"; cr: "eu.cr"; cs: "eu.cs"; ct: "eu.ct"; cu: "eu.cu"; cv: "eu.cv"; cw: "eu.cw"; cx: "eu.cx"; cy: "eu.cy"; cz: "eu.cz"; da: "eu.da"; db: "eu.db"; dc: "eu.dc"; dd: "eu.dd"; de: "eu.de"; df: "eu.df"; dg: "eu.dg"; dh: "eu.dh"; di: "eu.di"; dj: "eu.dj"; dk: "eu.dk"; dl: "eu.dl"; dm: "eu.dm"; dn: "eu.dn"; do: "eu.do"; dp: "eu.dp"; dq: "eu.dq"; dr: "eu.dr"; ds: "eu.ds"; dt: "eu.dt"; du: "eu.du"; dv: "eu.dv"; dw: "eu.dw"; dx: "eu.dx"; dy: "eu.dy"; dz: "eu.dz"; ea: "eu.ea"; eb: "eu.eb"; ec: "eu.ec"; ed: "eu.ed"; ee: "eu.ee"; ef: "eu.ef"; eg: "eu.eg"; eh: "eu.eh"; ei: "eu.ei"; ej: "eu.ej"; ek: "eu.ek"; el: "eu.el"; em: "eu.em"; en: "eu.en"; eo: "eu.eo"; ep: "eu.ep"; eq: "eu.eq"; er: "eu.er"; es: "eu.es"; et: "eu.et"; eu: "eu.eu"; ev: "eu.ev"; ew: "eu.ew"; ex: "eu.ex"; ey: "eu.ey"; ez: "eu.ez"; fa: "eu.fa"; fb: "eu.fb"; fc: "eu.fc"; fd: "eu.fd"; fe: "eu.fe"; ff: "eu.ff"; fg: "eu.fg"; fh: "eu.fh"; fi: "eu.fi"; fj: "eu.fj"; fk: "eu.fk"; fl: "eu.fl"; fm: "eu.fm"; fn: "eu.fn"; fo: "eu.fo"; fp: "eu.fp"; fq: "eu.fq"; fr: "eu.fr"; fs: "eu.fs"; ft: "eu.ft"; fu: "eu.fu"; fv: "eu.fv"; fw: "eu.fw"; fx: "eu.fx"; fy: "eu.fy"; fz: "eu.fz"; ga: "eu.ga"; gb: "eu.gb"; gc: "eu.gc"; gd: "eu.gd"; ge: "eu.ge"; gf: "eu.gf"; gg: "eu.gg"; gh: "eu.gh"; gi: "eu.gi"; gj: "eu.gj"; gk: "eu.gk"; gl: "eu.gl"; gm: "eu.gm"; gn: "eu.gn"; go: "eu.go"; gp: "eu.gp"; gq: "eu.gq"; gr: "eu.gr"; gs: "eu.gs"; gt: "eu.gt"; gu: "eu.gu"; gv: "eu.gv"; gw: "eu.gw"; gx: "eu.gx"; gy: "eu.gy"; gz: "eu.gz"; ha: "eu.ha"; hb: "eu.hb"; hc: "eu.hc"; hd: "eu.hd"; he: "eu.he"; hf: "eu.hf"; hg: "eu.hg"; hh: "eu.hh"; hi: "eu.hi"; hj: "eu.hj"; hk: "eu.hk"; hl: "eu.hl"; hm: "eu.hm"; hn: "eu.hn"; ho: "eu.ho"; hp: "eu.hp"; hq: "eu.hq"; hr: "eu.hr"; hs: "eu.hs"; ht: "eu.ht"; hu: "eu.hu"; hv: "eu.hv"; hw: "eu.hw"; hx: "eu.hx"; hy: "eu.hy"; hz: "eu.hz"; ia: "eu.ia"; ib: "eu.ib"; ic: "eu.ic"; id: "eu.id"; ie: "eu.ie"; if: "eu.if"; ig: "eu.ig"; ih: "eu.ih"; ii: "eu.ii"; ij: "eu.ij"; ik: "eu.ik"; il: "eu.il"; im: "eu.im"; in: "eu.in"; io: "eu.io"; ip: "eu.ip"; iq: "eu.iq"; ir: "eu.ir"; is: "eu.is"; it: "eu.it"; iu: "eu.iu"; iv: "eu.iv"; iw: "eu.iw"; ix: "eu.ix"; iy: "eu.iy"; iz: "eu.iz"; ja: "eu.ja"; jb: "eu.jb"; jc: "eu.jc"; jd: "eu.jd"; je: "eu.je"; jf: "eu.jf"; jg: "eu.jg"; jh: "eu.jh"; ji: "eu.ji"; jj: "eu.jj"; jk: "eu.jk"; jl: "eu.jl"; jm: "eu.jm"; jn: "eu.jn"; jo: "eu.jo"; jp: "eu.jp"; jq: "eu.jq"; jr: "eu.jr"; js: "eu.js"; jt: "eu.jt"; ju: "eu.ju"; jv: "eu.jv"; jw: "eu.jw"; jx: "eu.jx"; jy: "eu.jy"; jz: "eu.jz"; ka: "eu.ka"; kb: "eu.kb"; kc: "eu.kc"; kd: "eu.kd"; ke: "eu.ke"; kf: "eu.kf"; kg: "eu.kg"; kh: "eu.kh"; ki: "eu.ki"; kj: "eu.kj"; kk: "eu.kk"; kl: "eu.kl"; km: "eu.km"; kn: "eu.kn"; ko: "eu.ko"; kp: "eu.kp"; kq: "eu.kq"; kr: "eu.kr"; ks: "eu.ks"; kt: "eu.kt"; ku: "eu.ku"; kv: "eu.kv"; kw: "eu.kw"; kx: "eu.kx"; ky: "eu.ky"; kz: "eu.kz"; la: "eu.la"; lb: "eu.lb"; lc: "eu.lc"; ld: "eu.ld"; le: "eu.le"; lf: "eu.lf"; lg: "eu.lg"; lh: "eu.lh"; li: "eu.li"; lj: "eu.lj"; lk: "eu.lk"; ll: "eu.ll"; lm: "eu.lm"; ln: "eu.ln"; lo: "eu.lo"; lp: "eu.lp"; lq: "eu.lq"; lr: "eu.lr"; ls: "eu.ls"; lt: "eu.lt"; lu: "eu.lu"; lv: "eu.lv"; lw: "eu.lw"; lx: "eu.lx"; ly: "eu.ly"; lz: "eu.lz"; ma: "eu.ma"; mb: "eu.mb"; mc: "eu.mc"; md: "eu.md"; me: "eu.me"; mf: "eu.mf"; mg: "eu.mg"; mh: "eu.mh"; mi: "eu.mi"; mj: "eu.mj"; mk: "eu.mk"; ml: "eu.ml"; mm: "eu.mm"; mn: "eu.mn"; mo: "eu.mo"; mp: "eu.mp"; mq: "eu.mq"; mr: "eu.mr"; ms: "eu.ms"; mt: "eu.mt"; mu: "eu.mu"; mv: "eu.mv"; mw: "eu.mw"; mx: "eu.mx"; my: "eu.my"; mz: "eu.mz"; na: "eu.na"; nb: "eu.nb"; nc: "eu.nc"; nd: "eu.nd"; ne: "eu.ne"; nf: "eu.nf"; ng: "eu.ng"; nh: "eu.nh"; ni: "eu.ni"; nj: "eu.nj"; nk: "eu.nk"; nl: "eu.nl"; nm: "eu.nm"; nn: "eu.nn"; no: "eu.no"; np: "eu.np"; nq: "eu.nq"; nr: "eu.nr"; ns: "eu.ns"; nt: "eu.nt"; nu: "eu.nu"; nv: "eu.nv"; nw: "eu.nw"; nx: "eu.nx"; ny: "eu.ny"; nz: "eu.nz"; oa: "eu.oa"; ob: "eu.ob"; oc: "eu.oc"; od: "eu.od"; oe: "eu.oe"; of: "eu.of"; og: "eu.og"; oh: "eu.oh"; oi: "eu.oi"; oj: "eu.oj"; ok: "eu.ok"; ol: "eu.ol"; om: "eu.om"; on: "eu.on"; oo: "eu.oo"; op: "eu.op"; oq: "eu.oq"; or: "eu.or"; os: "eu.os"; ot: "eu.ot"; ou: "eu.ou"; ov: "eu.ov"; ow: "eu.ow"; ox: "eu.ox"; oy: "eu.oy"; oz: "eu.oz"; pa: "eu.pa"; pb: "eu.pb"; pc: "eu.pc"; pd: "eu.pd"; pe: "eu.pe"; pf: "eu.pf"; pg: "eu.pg"; ph: "eu.ph"; pi: "eu.pi"; pj: "eu.pj"; pk: "eu.pk"; pl: "eu.pl"; pm: "eu.pm"; pn: "eu.pn"; po: "eu.po"; pp: "eu.pp"; pq: "eu.pq"; pr: "eu.pr"; ps: "eu.ps"; pt: "eu.pt"; pu: "eu.pu"; pv: "eu.pv"; pw: "eu.pw"; px: "eu.px"; py: "eu.py"; pz: "eu.pz"; qa: "eu.qa"; qb: "eu.qb"; qc: "eu.qc"; qd: "eu.qd"; qe: "eu.qe"; qf: "eu.qf"; qg: "eu.qg"; qh: "eu.qh"; qi: "eu.qi"; qj: "eu.qj"; qk: "eu.qk"; ql: "eu.ql"; qm: "eu.qm"; qn: "eu.qn"; qo: "eu.qo"; qp: "eu.qp"; qq: "eu.qq"; qr: "eu.qr"; qs: "eu.qs"; qt: "eu.qt"; qu: "eu.qu"; qv: "eu.qv"; qw: "eu.qw"; qx: "eu.qx"; qy: "eu.qy"; qz: "eu.qz"; ra: "eu.ra"; rb: "eu.rb"; rc: "eu.rc"; rd: "eu.rd"; re: "eu.re"; rf: "eu.rf"; rg: "eu.rg"; rh: "eu.rh"; ri: "eu.ri"; rj: "eu.rj"; rk: "eu.rk"; rl: "eu.rl"; rm: "eu.rm"; rn: "eu.rn"; ro: "eu.ro"; rp: "eu.rp"; rq: "eu.rq"; rr: "eu.rr"; rs: "eu.rs"; rt: "eu.rt"; ru: "eu.ru"; rv: "eu.rv"; rw: "eu.rw"; rx: "eu.rx"; ry: "eu.ry"; rz: "eu.rz"; sa: "eu.sa"; sb: "eu.sb"; sc: "eu.sc"; sd: "eu.sd"; se: "eu.se"; sf: "eu.sf"; sg: "eu.sg"; sh: "eu.sh"; si: "eu.si"; sj: "eu.sj"; sk: "eu.sk"; sl: "eu.sl"; sm: "eu.sm"; sn: "eu.sn"; so: "eu.so"; sp: "eu.sp"; sq: "eu.sq"; sr: "eu.sr"; ss: "eu.ss"; st: "eu.st"; su: "eu.su"; sv: "eu.sv"; sw: "eu.sw"; sx: "eu.sx"; sy: "eu.sy"; sz: "eu.sz"; ta: "eu.ta"; tb: "eu.tb"; tc: "eu.tc"; td: "eu.td"; te: "eu.te"; tf: "eu.tf"; tg: "eu.tg"; th: "eu.th"; ti: "eu.ti"; tj: "eu.tj"; tk: "eu.tk"; tl: "eu.tl"; tm: "eu.tm"; tn: "eu.tn"; to: "eu.to"; tp: "eu.tp"; tq: "eu.tq"; tr: "eu.tr"; ts: "eu.ts"; tt: "eu.tt"; tu: "eu.tu"; tv: "eu.tv"; tw: "eu.tw"; tx: "eu.tx"; ty: "eu.ty"; tz: "eu.tz"; ua: "eu.ua"; ub: "eu.ub"; uc: "eu.uc"; ud: "eu.ud"; ue: "eu.ue"; uf: "eu.uf"; ug: "eu.ug"; uh: "eu.uh"; ui: "eu.ui"; uj: "eu.uj"; uk: "eu.uk"; ul: "eu.ul"; um: "eu.um"; un: "eu.un"; uo: "eu.uo"; up: "eu.up"; uq: "eu.uq"; ur: "eu.ur"; us: "eu.us"; ut: "eu.ut"; uu: "eu.uu"; uv: "eu.uv"; uw: "eu.uw"; ux: "eu.ux"; uy: "eu.uy"; uz: "eu.uz"; va: "eu.va"; vb: "eu.vb"; vc: "eu.vc"; vd: "eu.vd"; ve: "eu.ve"; vf: "eu.vf"; vg: "eu.vg"; vh: "eu.vh"; vi: "eu.vi"; vj: "eu.vj"; vk: "eu.vk"; vl: "eu.vl"; vm: "eu.vm"; vn: "eu.vn"; vo: "eu.vo"; vp: "eu.vp"; vq: "eu.vq"; vr: "eu.vr"; vs: "eu.vs"; vt: "eu.vt"; vu: "eu.vu"; vv: "eu.vv"; vw: "eu.vw"; vx: "eu.vx"; vy: "eu.vy"; vz: "eu.vz"; wa: "eu.wa"; wb: "eu.wb"; wc: "eu.wc"; wd: "eu.wd"; we: "eu.we"; wf: "eu.wf"; wg: "eu.wg"; wh: "eu.wh"; wi: "eu.wi"; wj: "eu.wj"; wk: "eu.wk"; wl: "eu.wl"; wm: "eu.wm"; wn: "eu.wn"; wo: "eu.wo"; wp: "eu.wp"; wq: "eu.wq"; wr: "eu.wr"; ws: "eu.ws"; wt: "eu.wt"; wu: "eu.wu"; wv: "eu.wv"; ww: "eu.ww"; wx: "eu.wx"; wy: "eu.wy"; wz: "eu.wz"; xa: "eu.xa"; xb: "eu.xb"; xc: "eu.xc"; xd: "eu.xd"; xe: "eu.xe"; xf: "eu.xf"; xg: "eu.xg"; xh: "eu.xh"; xi: "eu.xi"; xj: "eu.xj"; xk: "eu.xk"; xl: "eu.xl"; xm: "eu.xm"; xn: "eu.xn"; xo: "eu.xo"; xp: "eu.xp"; xq: "eu.xq"; xr: "eu.xr"; xs: "eu.xs"; xt: "eu.xt"; xu: "eu.xu"; xv: "eu.xv"; xw: "eu.xw"; xx: "eu.xx"; xy: "eu.xy"; xz: "eu.xz"; ya: "eu.ya"; yb: "eu.yb"; yc: "eu.yc"; yd: "eu.yd"; ye: "eu.ye"; yf: "eu.yf"; yg: "eu.yg"; yh: "eu.yh"; yi: "eu.yi"; yj: "eu.yj"; yk: "eu.yk"; yl: "eu.yl"; ym: "eu.ym"; yn: "eu.yn"; yo: "eu.yo"; yp: "eu.yp"; yq: "eu.yq"; yr: "eu.yr"; ys: "eu.ys"; yt: "eu.yt"; yu: "eu.yu"; yv: "eu.yv"; yw: "eu.yw"; yx: "eu.yx"; yy: "eu.yy"; yz: "eu.yz"; za: "eu.za"; zb: "eu.zb"; zc: "eu.zc"; zd: "eu.zd"; ze: "eu.ze"; zf: "eu.zf"; zg: "eu.zg"; zh: "eu.zh"; zi: "eu.zi"; zj: "eu.zj"; zk: "eu.zk"; zl: "eu.zl"; zm: "eu.zm"; zn: "eu.zn"; zo: "eu.zo"; zp: "eu.zp"; zq: "eu.zq"; zr: "eu.zr"; zs: "eu.zs"; zt: "eu.zt"; zu: "eu.zu"; zv: "eu.zv"; zw: "eu.zw"; zx: "eu.zx"; zy: "eu.zy"; zz: "eu.zz"; }; ev: { aa: "ev.aa"; ab: "ev.ab"; ac: "ev.ac"; ad: "ev.ad"; ae: "ev.ae"; af: "ev.af"; ag: "ev.ag"; ah: "ev.ah"; ai: "ev.ai"; aj: "ev.aj"; ak: "ev.ak"; al: "ev.al"; am: "ev.am"; an: "ev.an"; ao: "ev.ao"; ap: "ev.ap"; aq: "ev.aq"; ar: "ev.ar"; as: "ev.as"; at: "ev.at"; au: "ev.au"; av: "ev.av"; aw: "ev.aw"; ax: "ev.ax"; ay: "ev.ay"; az: "ev.az"; ba: "ev.ba"; bb: "ev.bb"; bc: "ev.bc"; bd: "ev.bd"; be: "ev.be"; bf: "ev.bf"; bg: "ev.bg"; bh: "ev.bh"; bi: "ev.bi"; bj: "ev.bj"; bk: "ev.bk"; bl: "ev.bl"; bm: "ev.bm"; bn: "ev.bn"; bo: "ev.bo"; bp: "ev.bp"; bq: "ev.bq"; br: "ev.br"; bs: "ev.bs"; bt: "ev.bt"; bu: "ev.bu"; bv: "ev.bv"; bw: "ev.bw"; bx: "ev.bx"; by: "ev.by"; bz: "ev.bz"; ca: "ev.ca"; cb: "ev.cb"; cc: "ev.cc"; cd: "ev.cd"; ce: "ev.ce"; cf: "ev.cf"; cg: "ev.cg"; ch: "ev.ch"; ci: "ev.ci"; cj: "ev.cj"; ck: "ev.ck"; cl: "ev.cl"; cm: "ev.cm"; cn: "ev.cn"; co: "ev.co"; cp: "ev.cp"; cq: "ev.cq"; cr: "ev.cr"; cs: "ev.cs"; ct: "ev.ct"; cu: "ev.cu"; cv: "ev.cv"; cw: "ev.cw"; cx: "ev.cx"; cy: "ev.cy"; cz: "ev.cz"; da: "ev.da"; db: "ev.db"; dc: "ev.dc"; dd: "ev.dd"; de: "ev.de"; df: "ev.df"; dg: "ev.dg"; dh: "ev.dh"; di: "ev.di"; dj: "ev.dj"; dk: "ev.dk"; dl: "ev.dl"; dm: "ev.dm"; dn: "ev.dn"; do: "ev.do"; dp: "ev.dp"; dq: "ev.dq"; dr: "ev.dr"; ds: "ev.ds"; dt: "ev.dt"; du: "ev.du"; dv: "ev.dv"; dw: "ev.dw"; dx: "ev.dx"; dy: "ev.dy"; dz: "ev.dz"; ea: "ev.ea"; eb: "ev.eb"; ec: "ev.ec"; ed: "ev.ed"; ee: "ev.ee"; ef: "ev.ef"; eg: "ev.eg"; eh: "ev.eh"; ei: "ev.ei"; ej: "ev.ej"; ek: "ev.ek"; el: "ev.el"; em: "ev.em"; en: "ev.en"; eo: "ev.eo"; ep: "ev.ep"; eq: "ev.eq"; er: "ev.er"; es: "ev.es"; et: "ev.et"; eu: "ev.eu"; ev: "ev.ev"; ew: "ev.ew"; ex: "ev.ex"; ey: "ev.ey"; ez: "ev.ez"; fa: "ev.fa"; fb: "ev.fb"; fc: "ev.fc"; fd: "ev.fd"; fe: "ev.fe"; ff: "ev.ff"; fg: "ev.fg"; fh: "ev.fh"; fi: "ev.fi"; fj: "ev.fj"; fk: "ev.fk"; fl: "ev.fl"; fm: "ev.fm"; fn: "ev.fn"; fo: "ev.fo"; fp: "ev.fp"; fq: "ev.fq"; fr: "ev.fr"; fs: "ev.fs"; ft: "ev.ft"; fu: "ev.fu"; fv: "ev.fv"; fw: "ev.fw"; fx: "ev.fx"; fy: "ev.fy"; fz: "ev.fz"; ga: "ev.ga"; gb: "ev.gb"; gc: "ev.gc"; gd: "ev.gd"; ge: "ev.ge"; gf: "ev.gf"; gg: "ev.gg"; gh: "ev.gh"; gi: "ev.gi"; gj: "ev.gj"; gk: "ev.gk"; gl: "ev.gl"; gm: "ev.gm"; gn: "ev.gn"; go: "ev.go"; gp: "ev.gp"; gq: "ev.gq"; gr: "ev.gr"; gs: "ev.gs"; gt: "ev.gt"; gu: "ev.gu"; gv: "ev.gv"; gw: "ev.gw"; gx: "ev.gx"; gy: "ev.gy"; gz: "ev.gz"; ha: "ev.ha"; hb: "ev.hb"; hc: "ev.hc"; hd: "ev.hd"; he: "ev.he"; hf: "ev.hf"; hg: "ev.hg"; hh: "ev.hh"; hi: "ev.hi"; hj: "ev.hj"; hk: "ev.hk"; hl: "ev.hl"; hm: "ev.hm"; hn: "ev.hn"; ho: "ev.ho"; hp: "ev.hp"; hq: "ev.hq"; hr: "ev.hr"; hs: "ev.hs"; ht: "ev.ht"; hu: "ev.hu"; hv: "ev.hv"; hw: "ev.hw"; hx: "ev.hx"; hy: "ev.hy"; hz: "ev.hz"; ia: "ev.ia"; ib: "ev.ib"; ic: "ev.ic"; id: "ev.id"; ie: "ev.ie"; if: "ev.if"; ig: "ev.ig"; ih: "ev.ih"; ii: "ev.ii"; ij: "ev.ij"; ik: "ev.ik"; il: "ev.il"; im: "ev.im"; in: "ev.in"; io: "ev.io"; ip: "ev.ip"; iq: "ev.iq"; ir: "ev.ir"; is: "ev.is"; it: "ev.it"; iu: "ev.iu"; iv: "ev.iv"; iw: "ev.iw"; ix: "ev.ix"; iy: "ev.iy"; iz: "ev.iz"; ja: "ev.ja"; jb: "ev.jb"; jc: "ev.jc"; jd: "ev.jd"; je: "ev.je"; jf: "ev.jf"; jg: "ev.jg"; jh: "ev.jh"; ji: "ev.ji"; jj: "ev.jj"; jk: "ev.jk"; jl: "ev.jl"; jm: "ev.jm"; jn: "ev.jn"; jo: "ev.jo"; jp: "ev.jp"; jq: "ev.jq"; jr: "ev.jr"; js: "ev.js"; jt: "ev.jt"; ju: "ev.ju"; jv: "ev.jv"; jw: "ev.jw"; jx: "ev.jx"; jy: "ev.jy"; jz: "ev.jz"; ka: "ev.ka"; kb: "ev.kb"; kc: "ev.kc"; kd: "ev.kd"; ke: "ev.ke"; kf: "ev.kf"; kg: "ev.kg"; kh: "ev.kh"; ki: "ev.ki"; kj: "ev.kj"; kk: "ev.kk"; kl: "ev.kl"; km: "ev.km"; kn: "ev.kn"; ko: "ev.ko"; kp: "ev.kp"; kq: "ev.kq"; kr: "ev.kr"; ks: "ev.ks"; kt: "ev.kt"; ku: "ev.ku"; kv: "ev.kv"; kw: "ev.kw"; kx: "ev.kx"; ky: "ev.ky"; kz: "ev.kz"; la: "ev.la"; lb: "ev.lb"; lc: "ev.lc"; ld: "ev.ld"; le: "ev.le"; lf: "ev.lf"; lg: "ev.lg"; lh: "ev.lh"; li: "ev.li"; lj: "ev.lj"; lk: "ev.lk"; ll: "ev.ll"; lm: "ev.lm"; ln: "ev.ln"; lo: "ev.lo"; lp: "ev.lp"; lq: "ev.lq"; lr: "ev.lr"; ls: "ev.ls"; lt: "ev.lt"; lu: "ev.lu"; lv: "ev.lv"; lw: "ev.lw"; lx: "ev.lx"; ly: "ev.ly"; lz: "ev.lz"; ma: "ev.ma"; mb: "ev.mb"; mc: "ev.mc"; md: "ev.md"; me: "ev.me"; mf: "ev.mf"; mg: "ev.mg"; mh: "ev.mh"; mi: "ev.mi"; mj: "ev.mj"; mk: "ev.mk"; ml: "ev.ml"; mm: "ev.mm"; mn: "ev.mn"; mo: "ev.mo"; mp: "ev.mp"; mq: "ev.mq"; mr: "ev.mr"; ms: "ev.ms"; mt: "ev.mt"; mu: "ev.mu"; mv: "ev.mv"; mw: "ev.mw"; mx: "ev.mx"; my: "ev.my"; mz: "ev.mz"; na: "ev.na"; nb: "ev.nb"; nc: "ev.nc"; nd: "ev.nd"; ne: "ev.ne"; nf: "ev.nf"; ng: "ev.ng"; nh: "ev.nh"; ni: "ev.ni"; nj: "ev.nj"; nk: "ev.nk"; nl: "ev.nl"; nm: "ev.nm"; nn: "ev.nn"; no: "ev.no"; np: "ev.np"; nq: "ev.nq"; nr: "ev.nr"; ns: "ev.ns"; nt: "ev.nt"; nu: "ev.nu"; nv: "ev.nv"; nw: "ev.nw"; nx: "ev.nx"; ny: "ev.ny"; nz: "ev.nz"; oa: "ev.oa"; ob: "ev.ob"; oc: "ev.oc"; od: "ev.od"; oe: "ev.oe"; of: "ev.of"; og: "ev.og"; oh: "ev.oh"; oi: "ev.oi"; oj: "ev.oj"; ok: "ev.ok"; ol: "ev.ol"; om: "ev.om"; on: "ev.on"; oo: "ev.oo"; op: "ev.op"; oq: "ev.oq"; or: "ev.or"; os: "ev.os"; ot: "ev.ot"; ou: "ev.ou"; ov: "ev.ov"; ow: "ev.ow"; ox: "ev.ox"; oy: "ev.oy"; oz: "ev.oz"; pa: "ev.pa"; pb: "ev.pb"; pc: "ev.pc"; pd: "ev.pd"; pe: "ev.pe"; pf: "ev.pf"; pg: "ev.pg"; ph: "ev.ph"; pi: "ev.pi"; pj: "ev.pj"; pk: "ev.pk"; pl: "ev.pl"; pm: "ev.pm"; pn: "ev.pn"; po: "ev.po"; pp: "ev.pp"; pq: "ev.pq"; pr: "ev.pr"; ps: "ev.ps"; pt: "ev.pt"; pu: "ev.pu"; pv: "ev.pv"; pw: "ev.pw"; px: "ev.px"; py: "ev.py"; pz: "ev.pz"; qa: "ev.qa"; qb: "ev.qb"; qc: "ev.qc"; qd: "ev.qd"; qe: "ev.qe"; qf: "ev.qf"; qg: "ev.qg"; qh: "ev.qh"; qi: "ev.qi"; qj: "ev.qj"; qk: "ev.qk"; ql: "ev.ql"; qm: "ev.qm"; qn: "ev.qn"; qo: "ev.qo"; qp: "ev.qp"; qq: "ev.qq"; qr: "ev.qr"; qs: "ev.qs"; qt: "ev.qt"; qu: "ev.qu"; qv: "ev.qv"; qw: "ev.qw"; qx: "ev.qx"; qy: "ev.qy"; qz: "ev.qz"; ra: "ev.ra"; rb: "ev.rb"; rc: "ev.rc"; rd: "ev.rd"; re: "ev.re"; rf: "ev.rf"; rg: "ev.rg"; rh: "ev.rh"; ri: "ev.ri"; rj: "ev.rj"; rk: "ev.rk"; rl: "ev.rl"; rm: "ev.rm"; rn: "ev.rn"; ro: "ev.ro"; rp: "ev.rp"; rq: "ev.rq"; rr: "ev.rr"; rs: "ev.rs"; rt: "ev.rt"; ru: "ev.ru"; rv: "ev.rv"; rw: "ev.rw"; rx: "ev.rx"; ry: "ev.ry"; rz: "ev.rz"; sa: "ev.sa"; sb: "ev.sb"; sc: "ev.sc"; sd: "ev.sd"; se: "ev.se"; sf: "ev.sf"; sg: "ev.sg"; sh: "ev.sh"; si: "ev.si"; sj: "ev.sj"; sk: "ev.sk"; sl: "ev.sl"; sm: "ev.sm"; sn: "ev.sn"; so: "ev.so"; sp: "ev.sp"; sq: "ev.sq"; sr: "ev.sr"; ss: "ev.ss"; st: "ev.st"; su: "ev.su"; sv: "ev.sv"; sw: "ev.sw"; sx: "ev.sx"; sy: "ev.sy"; sz: "ev.sz"; ta: "ev.ta"; tb: "ev.tb"; tc: "ev.tc"; td: "ev.td"; te: "ev.te"; tf: "ev.tf"; tg: "ev.tg"; th: "ev.th"; ti: "ev.ti"; tj: "ev.tj"; tk: "ev.tk"; tl: "ev.tl"; tm: "ev.tm"; tn: "ev.tn"; to: "ev.to"; tp: "ev.tp"; tq: "ev.tq"; tr: "ev.tr"; ts: "ev.ts"; tt: "ev.tt"; tu: "ev.tu"; tv: "ev.tv"; tw: "ev.tw"; tx: "ev.tx"; ty: "ev.ty"; tz: "ev.tz"; ua: "ev.ua"; ub: "ev.ub"; uc: "ev.uc"; ud: "ev.ud"; ue: "ev.ue"; uf: "ev.uf"; ug: "ev.ug"; uh: "ev.uh"; ui: "ev.ui"; uj: "ev.uj"; uk: "ev.uk"; ul: "ev.ul"; um: "ev.um"; un: "ev.un"; uo: "ev.uo"; up: "ev.up"; uq: "ev.uq"; ur: "ev.ur"; us: "ev.us"; ut: "ev.ut"; uu: "ev.uu"; uv: "ev.uv"; uw: "ev.uw"; ux: "ev.ux"; uy: "ev.uy"; uz: "ev.uz"; va: "ev.va"; vb: "ev.vb"; vc: "ev.vc"; vd: "ev.vd"; ve: "ev.ve"; vf: "ev.vf"; vg: "ev.vg"; vh: "ev.vh"; vi: "ev.vi"; vj: "ev.vj"; vk: "ev.vk"; vl: "ev.vl"; vm: "ev.vm"; vn: "ev.vn"; vo: "ev.vo"; vp: "ev.vp"; vq: "ev.vq"; vr: "ev.vr"; vs: "ev.vs"; vt: "ev.vt"; vu: "ev.vu"; vv: "ev.vv"; vw: "ev.vw"; vx: "ev.vx"; vy: "ev.vy"; vz: "ev.vz"; wa: "ev.wa"; wb: "ev.wb"; wc: "ev.wc"; wd: "ev.wd"; we: "ev.we"; wf: "ev.wf"; wg: "ev.wg"; wh: "ev.wh"; wi: "ev.wi"; wj: "ev.wj"; wk: "ev.wk"; wl: "ev.wl"; wm: "ev.wm"; wn: "ev.wn"; wo: "ev.wo"; wp: "ev.wp"; wq: "ev.wq"; wr: "ev.wr"; ws: "ev.ws"; wt: "ev.wt"; wu: "ev.wu"; wv: "ev.wv"; ww: "ev.ww"; wx: "ev.wx"; wy: "ev.wy"; wz: "ev.wz"; xa: "ev.xa"; xb: "ev.xb"; xc: "ev.xc"; xd: "ev.xd"; xe: "ev.xe"; xf: "ev.xf"; xg: "ev.xg"; xh: "ev.xh"; xi: "ev.xi"; xj: "ev.xj"; xk: "ev.xk"; xl: "ev.xl"; xm: "ev.xm"; xn: "ev.xn"; xo: "ev.xo"; xp: "ev.xp"; xq: "ev.xq"; xr: "ev.xr"; xs: "ev.xs"; xt: "ev.xt"; xu: "ev.xu"; xv: "ev.xv"; xw: "ev.xw"; xx: "ev.xx"; xy: "ev.xy"; xz: "ev.xz"; ya: "ev.ya"; yb: "ev.yb"; yc: "ev.yc"; yd: "ev.yd"; ye: "ev.ye"; yf: "ev.yf"; yg: "ev.yg"; yh: "ev.yh"; yi: "ev.yi"; yj: "ev.yj"; yk: "ev.yk"; yl: "ev.yl"; ym: "ev.ym"; yn: "ev.yn"; yo: "ev.yo"; yp: "ev.yp"; yq: "ev.yq"; yr: "ev.yr"; ys: "ev.ys"; yt: "ev.yt"; yu: "ev.yu"; yv: "ev.yv"; yw: "ev.yw"; yx: "ev.yx"; yy: "ev.yy"; yz: "ev.yz"; za: "ev.za"; zb: "ev.zb"; zc: "ev.zc"; zd: "ev.zd"; ze: "ev.ze"; zf: "ev.zf"; zg: "ev.zg"; zh: "ev.zh"; zi: "ev.zi"; zj: "ev.zj"; zk: "ev.zk"; zl: "ev.zl"; zm: "ev.zm"; zn: "ev.zn"; zo: "ev.zo"; zp: "ev.zp"; zq: "ev.zq"; zr: "ev.zr"; zs: "ev.zs"; zt: "ev.zt"; zu: "ev.zu"; zv: "ev.zv"; zw: "ev.zw"; zx: "ev.zx"; zy: "ev.zy"; zz: "ev.zz"; }; ew: { aa: "ew.aa"; ab: "ew.ab"; ac: "ew.ac"; ad: "ew.ad"; ae: "ew.ae"; af: "ew.af"; ag: "ew.ag"; ah: "ew.ah"; ai: "ew.ai"; aj: "ew.aj"; ak: "ew.ak"; al: "ew.al"; am: "ew.am"; an: "ew.an"; ao: "ew.ao"; ap: "ew.ap"; aq: "ew.aq"; ar: "ew.ar"; as: "ew.as"; at: "ew.at"; au: "ew.au"; av: "ew.av"; aw: "ew.aw"; ax: "ew.ax"; ay: "ew.ay"; az: "ew.az"; ba: "ew.ba"; bb: "ew.bb"; bc: "ew.bc"; bd: "ew.bd"; be: "ew.be"; bf: "ew.bf"; bg: "ew.bg"; bh: "ew.bh"; bi: "ew.bi"; bj: "ew.bj"; bk: "ew.bk"; bl: "ew.bl"; bm: "ew.bm"; bn: "ew.bn"; bo: "ew.bo"; bp: "ew.bp"; bq: "ew.bq"; br: "ew.br"; bs: "ew.bs"; bt: "ew.bt"; bu: "ew.bu"; bv: "ew.bv"; bw: "ew.bw"; bx: "ew.bx"; by: "ew.by"; bz: "ew.bz"; ca: "ew.ca"; cb: "ew.cb"; cc: "ew.cc"; cd: "ew.cd"; ce: "ew.ce"; cf: "ew.cf"; cg: "ew.cg"; ch: "ew.ch"; ci: "ew.ci"; cj: "ew.cj"; ck: "ew.ck"; cl: "ew.cl"; cm: "ew.cm"; cn: "ew.cn"; co: "ew.co"; cp: "ew.cp"; cq: "ew.cq"; cr: "ew.cr"; cs: "ew.cs"; ct: "ew.ct"; cu: "ew.cu"; cv: "ew.cv"; cw: "ew.cw"; cx: "ew.cx"; cy: "ew.cy"; cz: "ew.cz"; da: "ew.da"; db: "ew.db"; dc: "ew.dc"; dd: "ew.dd"; de: "ew.de"; df: "ew.df"; dg: "ew.dg"; dh: "ew.dh"; di: "ew.di"; dj: "ew.dj"; dk: "ew.dk"; dl: "ew.dl"; dm: "ew.dm"; dn: "ew.dn"; do: "ew.do"; dp: "ew.dp"; dq: "ew.dq"; dr: "ew.dr"; ds: "ew.ds"; dt: "ew.dt"; du: "ew.du"; dv: "ew.dv"; dw: "ew.dw"; dx: "ew.dx"; dy: "ew.dy"; dz: "ew.dz"; ea: "ew.ea"; eb: "ew.eb"; ec: "ew.ec"; ed: "ew.ed"; ee: "ew.ee"; ef: "ew.ef"; eg: "ew.eg"; eh: "ew.eh"; ei: "ew.ei"; ej: "ew.ej"; ek: "ew.ek"; el: "ew.el"; em: "ew.em"; en: "ew.en"; eo: "ew.eo"; ep: "ew.ep"; eq: "ew.eq"; er: "ew.er"; es: "ew.es"; et: "ew.et"; eu: "ew.eu"; ev: "ew.ev"; ew: "ew.ew"; ex: "ew.ex"; ey: "ew.ey"; ez: "ew.ez"; fa: "ew.fa"; fb: "ew.fb"; fc: "ew.fc"; fd: "ew.fd"; fe: "ew.fe"; ff: "ew.ff"; fg: "ew.fg"; fh: "ew.fh"; fi: "ew.fi"; fj: "ew.fj"; fk: "ew.fk"; fl: "ew.fl"; fm: "ew.fm"; fn: "ew.fn"; fo: "ew.fo"; fp: "ew.fp"; fq: "ew.fq"; fr: "ew.fr"; fs: "ew.fs"; ft: "ew.ft"; fu: "ew.fu"; fv: "ew.fv"; fw: "ew.fw"; fx: "ew.fx"; fy: "ew.fy"; fz: "ew.fz"; ga: "ew.ga"; gb: "ew.gb"; gc: "ew.gc"; gd: "ew.gd"; ge: "ew.ge"; gf: "ew.gf"; gg: "ew.gg"; gh: "ew.gh"; gi: "ew.gi"; gj: "ew.gj"; gk: "ew.gk"; gl: "ew.gl"; gm: "ew.gm"; gn: "ew.gn"; go: "ew.go"; gp: "ew.gp"; gq: "ew.gq"; gr: "ew.gr"; gs: "ew.gs"; gt: "ew.gt"; gu: "ew.gu"; gv: "ew.gv"; gw: "ew.gw"; gx: "ew.gx"; gy: "ew.gy"; gz: "ew.gz"; ha: "ew.ha"; hb: "ew.hb"; hc: "ew.hc"; hd: "ew.hd"; he: "ew.he"; hf: "ew.hf"; hg: "ew.hg"; hh: "ew.hh"; hi: "ew.hi"; hj: "ew.hj"; hk: "ew.hk"; hl: "ew.hl"; hm: "ew.hm"; hn: "ew.hn"; ho: "ew.ho"; hp: "ew.hp"; hq: "ew.hq"; hr: "ew.hr"; hs: "ew.hs"; ht: "ew.ht"; hu: "ew.hu"; hv: "ew.hv"; hw: "ew.hw"; hx: "ew.hx"; hy: "ew.hy"; hz: "ew.hz"; ia: "ew.ia"; ib: "ew.ib"; ic: "ew.ic"; id: "ew.id"; ie: "ew.ie"; if: "ew.if"; ig: "ew.ig"; ih: "ew.ih"; ii: "ew.ii"; ij: "ew.ij"; ik: "ew.ik"; il: "ew.il"; im: "ew.im"; in: "ew.in"; io: "ew.io"; ip: "ew.ip"; iq: "ew.iq"; ir: "ew.ir"; is: "ew.is"; it: "ew.it"; iu: "ew.iu"; iv: "ew.iv"; iw: "ew.iw"; ix: "ew.ix"; iy: "ew.iy"; iz: "ew.iz"; ja: "ew.ja"; jb: "ew.jb"; jc: "ew.jc"; jd: "ew.jd"; je: "ew.je"; jf: "ew.jf"; jg: "ew.jg"; jh: "ew.jh"; ji: "ew.ji"; jj: "ew.jj"; jk: "ew.jk"; jl: "ew.jl"; jm: "ew.jm"; jn: "ew.jn"; jo: "ew.jo"; jp: "ew.jp"; jq: "ew.jq"; jr: "ew.jr"; js: "ew.js"; jt: "ew.jt"; ju: "ew.ju"; jv: "ew.jv"; jw: "ew.jw"; jx: "ew.jx"; jy: "ew.jy"; jz: "ew.jz"; ka: "ew.ka"; kb: "ew.kb"; kc: "ew.kc"; kd: "ew.kd"; ke: "ew.ke"; kf: "ew.kf"; kg: "ew.kg"; kh: "ew.kh"; ki: "ew.ki"; kj: "ew.kj"; kk: "ew.kk"; kl: "ew.kl"; km: "ew.km"; kn: "ew.kn"; ko: "ew.ko"; kp: "ew.kp"; kq: "ew.kq"; kr: "ew.kr"; ks: "ew.ks"; kt: "ew.kt"; ku: "ew.ku"; kv: "ew.kv"; kw: "ew.kw"; kx: "ew.kx"; ky: "ew.ky"; kz: "ew.kz"; la: "ew.la"; lb: "ew.lb"; lc: "ew.lc"; ld: "ew.ld"; le: "ew.le"; lf: "ew.lf"; lg: "ew.lg"; lh: "ew.lh"; li: "ew.li"; lj: "ew.lj"; lk: "ew.lk"; ll: "ew.ll"; lm: "ew.lm"; ln: "ew.ln"; lo: "ew.lo"; lp: "ew.lp"; lq: "ew.lq"; lr: "ew.lr"; ls: "ew.ls"; lt: "ew.lt"; lu: "ew.lu"; lv: "ew.lv"; lw: "ew.lw"; lx: "ew.lx"; ly: "ew.ly"; lz: "ew.lz"; ma: "ew.ma"; mb: "ew.mb"; mc: "ew.mc"; md: "ew.md"; me: "ew.me"; mf: "ew.mf"; mg: "ew.mg"; mh: "ew.mh"; mi: "ew.mi"; mj: "ew.mj"; mk: "ew.mk"; ml: "ew.ml"; mm: "ew.mm"; mn: "ew.mn"; mo: "ew.mo"; mp: "ew.mp"; mq: "ew.mq"; mr: "ew.mr"; ms: "ew.ms"; mt: "ew.mt"; mu: "ew.mu"; mv: "ew.mv"; mw: "ew.mw"; mx: "ew.mx"; my: "ew.my"; mz: "ew.mz"; na: "ew.na"; nb: "ew.nb"; nc: "ew.nc"; nd: "ew.nd"; ne: "ew.ne"; nf: "ew.nf"; ng: "ew.ng"; nh: "ew.nh"; ni: "ew.ni"; nj: "ew.nj"; nk: "ew.nk"; nl: "ew.nl"; nm: "ew.nm"; nn: "ew.nn"; no: "ew.no"; np: "ew.np"; nq: "ew.nq"; nr: "ew.nr"; ns: "ew.ns"; nt: "ew.nt"; nu: "ew.nu"; nv: "ew.nv"; nw: "ew.nw"; nx: "ew.nx"; ny: "ew.ny"; nz: "ew.nz"; oa: "ew.oa"; ob: "ew.ob"; oc: "ew.oc"; od: "ew.od"; oe: "ew.oe"; of: "ew.of"; og: "ew.og"; oh: "ew.oh"; oi: "ew.oi"; oj: "ew.oj"; ok: "ew.ok"; ol: "ew.ol"; om: "ew.om"; on: "ew.on"; oo: "ew.oo"; op: "ew.op"; oq: "ew.oq"; or: "ew.or"; os: "ew.os"; ot: "ew.ot"; ou: "ew.ou"; ov: "ew.ov"; ow: "ew.ow"; ox: "ew.ox"; oy: "ew.oy"; oz: "ew.oz"; pa: "ew.pa"; pb: "ew.pb"; pc: "ew.pc"; pd: "ew.pd"; pe: "ew.pe"; pf: "ew.pf"; pg: "ew.pg"; ph: "ew.ph"; pi: "ew.pi"; pj: "ew.pj"; pk: "ew.pk"; pl: "ew.pl"; pm: "ew.pm"; pn: "ew.pn"; po: "ew.po"; pp: "ew.pp"; pq: "ew.pq"; pr: "ew.pr"; ps: "ew.ps"; pt: "ew.pt"; pu: "ew.pu"; pv: "ew.pv"; pw: "ew.pw"; px: "ew.px"; py: "ew.py"; pz: "ew.pz"; qa: "ew.qa"; qb: "ew.qb"; qc: "ew.qc"; qd: "ew.qd"; qe: "ew.qe"; qf: "ew.qf"; qg: "ew.qg"; qh: "ew.qh"; qi: "ew.qi"; qj: "ew.qj"; qk: "ew.qk"; ql: "ew.ql"; qm: "ew.qm"; qn: "ew.qn"; qo: "ew.qo"; qp: "ew.qp"; qq: "ew.qq"; qr: "ew.qr"; qs: "ew.qs"; qt: "ew.qt"; qu: "ew.qu"; qv: "ew.qv"; qw: "ew.qw"; qx: "ew.qx"; qy: "ew.qy"; qz: "ew.qz"; ra: "ew.ra"; rb: "ew.rb"; rc: "ew.rc"; rd: "ew.rd"; re: "ew.re"; rf: "ew.rf"; rg: "ew.rg"; rh: "ew.rh"; ri: "ew.ri"; rj: "ew.rj"; rk: "ew.rk"; rl: "ew.rl"; rm: "ew.rm"; rn: "ew.rn"; ro: "ew.ro"; rp: "ew.rp"; rq: "ew.rq"; rr: "ew.rr"; rs: "ew.rs"; rt: "ew.rt"; ru: "ew.ru"; rv: "ew.rv"; rw: "ew.rw"; rx: "ew.rx"; ry: "ew.ry"; rz: "ew.rz"; sa: "ew.sa"; sb: "ew.sb"; sc: "ew.sc"; sd: "ew.sd"; se: "ew.se"; sf: "ew.sf"; sg: "ew.sg"; sh: "ew.sh"; si: "ew.si"; sj: "ew.sj"; sk: "ew.sk"; sl: "ew.sl"; sm: "ew.sm"; sn: "ew.sn"; so: "ew.so"; sp: "ew.sp"; sq: "ew.sq"; sr: "ew.sr"; ss: "ew.ss"; st: "ew.st"; su: "ew.su"; sv: "ew.sv"; sw: "ew.sw"; sx: "ew.sx"; sy: "ew.sy"; sz: "ew.sz"; ta: "ew.ta"; tb: "ew.tb"; tc: "ew.tc"; td: "ew.td"; te: "ew.te"; tf: "ew.tf"; tg: "ew.tg"; th: "ew.th"; ti: "ew.ti"; tj: "ew.tj"; tk: "ew.tk"; tl: "ew.tl"; tm: "ew.tm"; tn: "ew.tn"; to: "ew.to"; tp: "ew.tp"; tq: "ew.tq"; tr: "ew.tr"; ts: "ew.ts"; tt: "ew.tt"; tu: "ew.tu"; tv: "ew.tv"; tw: "ew.tw"; tx: "ew.tx"; ty: "ew.ty"; tz: "ew.tz"; ua: "ew.ua"; ub: "ew.ub"; uc: "ew.uc"; ud: "ew.ud"; ue: "ew.ue"; uf: "ew.uf"; ug: "ew.ug"; uh: "ew.uh"; ui: "ew.ui"; uj: "ew.uj"; uk: "ew.uk"; ul: "ew.ul"; um: "ew.um"; un: "ew.un"; uo: "ew.uo"; up: "ew.up"; uq: "ew.uq"; ur: "ew.ur"; us: "ew.us"; ut: "ew.ut"; uu: "ew.uu"; uv: "ew.uv"; uw: "ew.uw"; ux: "ew.ux"; uy: "ew.uy"; uz: "ew.uz"; va: "ew.va"; vb: "ew.vb"; vc: "ew.vc"; vd: "ew.vd"; ve: "ew.ve"; vf: "ew.vf"; vg: "ew.vg"; vh: "ew.vh"; vi: "ew.vi"; vj: "ew.vj"; vk: "ew.vk"; vl: "ew.vl"; vm: "ew.vm"; vn: "ew.vn"; vo: "ew.vo"; vp: "ew.vp"; vq: "ew.vq"; vr: "ew.vr"; vs: "ew.vs"; vt: "ew.vt"; vu: "ew.vu"; vv: "ew.vv"; vw: "ew.vw"; vx: "ew.vx"; vy: "ew.vy"; vz: "ew.vz"; wa: "ew.wa"; wb: "ew.wb"; wc: "ew.wc"; wd: "ew.wd"; we: "ew.we"; wf: "ew.wf"; wg: "ew.wg"; wh: "ew.wh"; wi: "ew.wi"; wj: "ew.wj"; wk: "ew.wk"; wl: "ew.wl"; wm: "ew.wm"; wn: "ew.wn"; wo: "ew.wo"; wp: "ew.wp"; wq: "ew.wq"; wr: "ew.wr"; ws: "ew.ws"; wt: "ew.wt"; wu: "ew.wu"; wv: "ew.wv"; ww: "ew.ww"; wx: "ew.wx"; wy: "ew.wy"; wz: "ew.wz"; xa: "ew.xa"; xb: "ew.xb"; xc: "ew.xc"; xd: "ew.xd"; xe: "ew.xe"; xf: "ew.xf"; xg: "ew.xg"; xh: "ew.xh"; xi: "ew.xi"; xj: "ew.xj"; xk: "ew.xk"; xl: "ew.xl"; xm: "ew.xm"; xn: "ew.xn"; xo: "ew.xo"; xp: "ew.xp"; xq: "ew.xq"; xr: "ew.xr"; xs: "ew.xs"; xt: "ew.xt"; xu: "ew.xu"; xv: "ew.xv"; xw: "ew.xw"; xx: "ew.xx"; xy: "ew.xy"; xz: "ew.xz"; ya: "ew.ya"; yb: "ew.yb"; yc: "ew.yc"; yd: "ew.yd"; ye: "ew.ye"; yf: "ew.yf"; yg: "ew.yg"; yh: "ew.yh"; yi: "ew.yi"; yj: "ew.yj"; yk: "ew.yk"; yl: "ew.yl"; ym: "ew.ym"; yn: "ew.yn"; yo: "ew.yo"; yp: "ew.yp"; yq: "ew.yq"; yr: "ew.yr"; ys: "ew.ys"; yt: "ew.yt"; yu: "ew.yu"; yv: "ew.yv"; yw: "ew.yw"; yx: "ew.yx"; yy: "ew.yy"; yz: "ew.yz"; za: "ew.za"; zb: "ew.zb"; zc: "ew.zc"; zd: "ew.zd"; ze: "ew.ze"; zf: "ew.zf"; zg: "ew.zg"; zh: "ew.zh"; zi: "ew.zi"; zj: "ew.zj"; zk: "ew.zk"; zl: "ew.zl"; zm: "ew.zm"; zn: "ew.zn"; zo: "ew.zo"; zp: "ew.zp"; zq: "ew.zq"; zr: "ew.zr"; zs: "ew.zs"; zt: "ew.zt"; zu: "ew.zu"; zv: "ew.zv"; zw: "ew.zw"; zx: "ew.zx"; zy: "ew.zy"; zz: "ew.zz"; }; ex: { aa: "ex.aa"; ab: "ex.ab"; ac: "ex.ac"; ad: "ex.ad"; ae: "ex.ae"; af: "ex.af"; ag: "ex.ag"; ah: "ex.ah"; ai: "ex.ai"; aj: "ex.aj"; ak: "ex.ak"; al: "ex.al"; am: "ex.am"; an: "ex.an"; ao: "ex.ao"; ap: "ex.ap"; aq: "ex.aq"; ar: "ex.ar"; as: "ex.as"; at: "ex.at"; au: "ex.au"; av: "ex.av"; aw: "ex.aw"; ax: "ex.ax"; ay: "ex.ay"; az: "ex.az"; ba: "ex.ba"; bb: "ex.bb"; bc: "ex.bc"; bd: "ex.bd"; be: "ex.be"; bf: "ex.bf"; bg: "ex.bg"; bh: "ex.bh"; bi: "ex.bi"; bj: "ex.bj"; bk: "ex.bk"; bl: "ex.bl"; bm: "ex.bm"; bn: "ex.bn"; bo: "ex.bo"; bp: "ex.bp"; bq: "ex.bq"; br: "ex.br"; bs: "ex.bs"; bt: "ex.bt"; bu: "ex.bu"; bv: "ex.bv"; bw: "ex.bw"; bx: "ex.bx"; by: "ex.by"; bz: "ex.bz"; ca: "ex.ca"; cb: "ex.cb"; cc: "ex.cc"; cd: "ex.cd"; ce: "ex.ce"; cf: "ex.cf"; cg: "ex.cg"; ch: "ex.ch"; ci: "ex.ci"; cj: "ex.cj"; ck: "ex.ck"; cl: "ex.cl"; cm: "ex.cm"; cn: "ex.cn"; co: "ex.co"; cp: "ex.cp"; cq: "ex.cq"; cr: "ex.cr"; cs: "ex.cs"; ct: "ex.ct"; cu: "ex.cu"; cv: "ex.cv"; cw: "ex.cw"; cx: "ex.cx"; cy: "ex.cy"; cz: "ex.cz"; da: "ex.da"; db: "ex.db"; dc: "ex.dc"; dd: "ex.dd"; de: "ex.de"; df: "ex.df"; dg: "ex.dg"; dh: "ex.dh"; di: "ex.di"; dj: "ex.dj"; dk: "ex.dk"; dl: "ex.dl"; dm: "ex.dm"; dn: "ex.dn"; do: "ex.do"; dp: "ex.dp"; dq: "ex.dq"; dr: "ex.dr"; ds: "ex.ds"; dt: "ex.dt"; du: "ex.du"; dv: "ex.dv"; dw: "ex.dw"; dx: "ex.dx"; dy: "ex.dy"; dz: "ex.dz"; ea: "ex.ea"; eb: "ex.eb"; ec: "ex.ec"; ed: "ex.ed"; ee: "ex.ee"; ef: "ex.ef"; eg: "ex.eg"; eh: "ex.eh"; ei: "ex.ei"; ej: "ex.ej"; ek: "ex.ek"; el: "ex.el"; em: "ex.em"; en: "ex.en"; eo: "ex.eo"; ep: "ex.ep"; eq: "ex.eq"; er: "ex.er"; es: "ex.es"; et: "ex.et"; eu: "ex.eu"; ev: "ex.ev"; ew: "ex.ew"; ex: "ex.ex"; ey: "ex.ey"; ez: "ex.ez"; fa: "ex.fa"; fb: "ex.fb"; fc: "ex.fc"; fd: "ex.fd"; fe: "ex.fe"; ff: "ex.ff"; fg: "ex.fg"; fh: "ex.fh"; fi: "ex.fi"; fj: "ex.fj"; fk: "ex.fk"; fl: "ex.fl"; fm: "ex.fm"; fn: "ex.fn"; fo: "ex.fo"; fp: "ex.fp"; fq: "ex.fq"; fr: "ex.fr"; fs: "ex.fs"; ft: "ex.ft"; fu: "ex.fu"; fv: "ex.fv"; fw: "ex.fw"; fx: "ex.fx"; fy: "ex.fy"; fz: "ex.fz"; ga: "ex.ga"; gb: "ex.gb"; gc: "ex.gc"; gd: "ex.gd"; ge: "ex.ge"; gf: "ex.gf"; gg: "ex.gg"; gh: "ex.gh"; gi: "ex.gi"; gj: "ex.gj"; gk: "ex.gk"; gl: "ex.gl"; gm: "ex.gm"; gn: "ex.gn"; go: "ex.go"; gp: "ex.gp"; gq: "ex.gq"; gr: "ex.gr"; gs: "ex.gs"; gt: "ex.gt"; gu: "ex.gu"; gv: "ex.gv"; gw: "ex.gw"; gx: "ex.gx"; gy: "ex.gy"; gz: "ex.gz"; ha: "ex.ha"; hb: "ex.hb"; hc: "ex.hc"; hd: "ex.hd"; he: "ex.he"; hf: "ex.hf"; hg: "ex.hg"; hh: "ex.hh"; hi: "ex.hi"; hj: "ex.hj"; hk: "ex.hk"; hl: "ex.hl"; hm: "ex.hm"; hn: "ex.hn"; ho: "ex.ho"; hp: "ex.hp"; hq: "ex.hq"; hr: "ex.hr"; hs: "ex.hs"; ht: "ex.ht"; hu: "ex.hu"; hv: "ex.hv"; hw: "ex.hw"; hx: "ex.hx"; hy: "ex.hy"; hz: "ex.hz"; ia: "ex.ia"; ib: "ex.ib"; ic: "ex.ic"; id: "ex.id"; ie: "ex.ie"; if: "ex.if"; ig: "ex.ig"; ih: "ex.ih"; ii: "ex.ii"; ij: "ex.ij"; ik: "ex.ik"; il: "ex.il"; im: "ex.im"; in: "ex.in"; io: "ex.io"; ip: "ex.ip"; iq: "ex.iq"; ir: "ex.ir"; is: "ex.is"; it: "ex.it"; iu: "ex.iu"; iv: "ex.iv"; iw: "ex.iw"; ix: "ex.ix"; iy: "ex.iy"; iz: "ex.iz"; ja: "ex.ja"; jb: "ex.jb"; jc: "ex.jc"; jd: "ex.jd"; je: "ex.je"; jf: "ex.jf"; jg: "ex.jg"; jh: "ex.jh"; ji: "ex.ji"; jj: "ex.jj"; jk: "ex.jk"; jl: "ex.jl"; jm: "ex.jm"; jn: "ex.jn"; jo: "ex.jo"; jp: "ex.jp"; jq: "ex.jq"; jr: "ex.jr"; js: "ex.js"; jt: "ex.jt"; ju: "ex.ju"; jv: "ex.jv"; jw: "ex.jw"; jx: "ex.jx"; jy: "ex.jy"; jz: "ex.jz"; ka: "ex.ka"; kb: "ex.kb"; kc: "ex.kc"; kd: "ex.kd"; ke: "ex.ke"; kf: "ex.kf"; kg: "ex.kg"; kh: "ex.kh"; ki: "ex.ki"; kj: "ex.kj"; kk: "ex.kk"; kl: "ex.kl"; km: "ex.km"; kn: "ex.kn"; ko: "ex.ko"; kp: "ex.kp"; kq: "ex.kq"; kr: "ex.kr"; ks: "ex.ks"; kt: "ex.kt"; ku: "ex.ku"; kv: "ex.kv"; kw: "ex.kw"; kx: "ex.kx"; ky: "ex.ky"; kz: "ex.kz"; la: "ex.la"; lb: "ex.lb"; lc: "ex.lc"; ld: "ex.ld"; le: "ex.le"; lf: "ex.lf"; lg: "ex.lg"; lh: "ex.lh"; li: "ex.li"; lj: "ex.lj"; lk: "ex.lk"; ll: "ex.ll"; lm: "ex.lm"; ln: "ex.ln"; lo: "ex.lo"; lp: "ex.lp"; lq: "ex.lq"; lr: "ex.lr"; ls: "ex.ls"; lt: "ex.lt"; lu: "ex.lu"; lv: "ex.lv"; lw: "ex.lw"; lx: "ex.lx"; ly: "ex.ly"; lz: "ex.lz"; ma: "ex.ma"; mb: "ex.mb"; mc: "ex.mc"; md: "ex.md"; me: "ex.me"; mf: "ex.mf"; mg: "ex.mg"; mh: "ex.mh"; mi: "ex.mi"; mj: "ex.mj"; mk: "ex.mk"; ml: "ex.ml"; mm: "ex.mm"; mn: "ex.mn"; mo: "ex.mo"; mp: "ex.mp"; mq: "ex.mq"; mr: "ex.mr"; ms: "ex.ms"; mt: "ex.mt"; mu: "ex.mu"; mv: "ex.mv"; mw: "ex.mw"; mx: "ex.mx"; my: "ex.my"; mz: "ex.mz"; na: "ex.na"; nb: "ex.nb"; nc: "ex.nc"; nd: "ex.nd"; ne: "ex.ne"; nf: "ex.nf"; ng: "ex.ng"; nh: "ex.nh"; ni: "ex.ni"; nj: "ex.nj"; nk: "ex.nk"; nl: "ex.nl"; nm: "ex.nm"; nn: "ex.nn"; no: "ex.no"; np: "ex.np"; nq: "ex.nq"; nr: "ex.nr"; ns: "ex.ns"; nt: "ex.nt"; nu: "ex.nu"; nv: "ex.nv"; nw: "ex.nw"; nx: "ex.nx"; ny: "ex.ny"; nz: "ex.nz"; oa: "ex.oa"; ob: "ex.ob"; oc: "ex.oc"; od: "ex.od"; oe: "ex.oe"; of: "ex.of"; og: "ex.og"; oh: "ex.oh"; oi: "ex.oi"; oj: "ex.oj"; ok: "ex.ok"; ol: "ex.ol"; om: "ex.om"; on: "ex.on"; oo: "ex.oo"; op: "ex.op"; oq: "ex.oq"; or: "ex.or"; os: "ex.os"; ot: "ex.ot"; ou: "ex.ou"; ov: "ex.ov"; ow: "ex.ow"; ox: "ex.ox"; oy: "ex.oy"; oz: "ex.oz"; pa: "ex.pa"; pb: "ex.pb"; pc: "ex.pc"; pd: "ex.pd"; pe: "ex.pe"; pf: "ex.pf"; pg: "ex.pg"; ph: "ex.ph"; pi: "ex.pi"; pj: "ex.pj"; pk: "ex.pk"; pl: "ex.pl"; pm: "ex.pm"; pn: "ex.pn"; po: "ex.po"; pp: "ex.pp"; pq: "ex.pq"; pr: "ex.pr"; ps: "ex.ps"; pt: "ex.pt"; pu: "ex.pu"; pv: "ex.pv"; pw: "ex.pw"; px: "ex.px"; py: "ex.py"; pz: "ex.pz"; qa: "ex.qa"; qb: "ex.qb"; qc: "ex.qc"; qd: "ex.qd"; qe: "ex.qe"; qf: "ex.qf"; qg: "ex.qg"; qh: "ex.qh"; qi: "ex.qi"; qj: "ex.qj"; qk: "ex.qk"; ql: "ex.ql"; qm: "ex.qm"; qn: "ex.qn"; qo: "ex.qo"; qp: "ex.qp"; qq: "ex.qq"; qr: "ex.qr"; qs: "ex.qs"; qt: "ex.qt"; qu: "ex.qu"; qv: "ex.qv"; qw: "ex.qw"; qx: "ex.qx"; qy: "ex.qy"; qz: "ex.qz"; ra: "ex.ra"; rb: "ex.rb"; rc: "ex.rc"; rd: "ex.rd"; re: "ex.re"; rf: "ex.rf"; rg: "ex.rg"; rh: "ex.rh"; ri: "ex.ri"; rj: "ex.rj"; rk: "ex.rk"; rl: "ex.rl"; rm: "ex.rm"; rn: "ex.rn"; ro: "ex.ro"; rp: "ex.rp"; rq: "ex.rq"; rr: "ex.rr"; rs: "ex.rs"; rt: "ex.rt"; ru: "ex.ru"; rv: "ex.rv"; rw: "ex.rw"; rx: "ex.rx"; ry: "ex.ry"; rz: "ex.rz"; sa: "ex.sa"; sb: "ex.sb"; sc: "ex.sc"; sd: "ex.sd"; se: "ex.se"; sf: "ex.sf"; sg: "ex.sg"; sh: "ex.sh"; si: "ex.si"; sj: "ex.sj"; sk: "ex.sk"; sl: "ex.sl"; sm: "ex.sm"; sn: "ex.sn"; so: "ex.so"; sp: "ex.sp"; sq: "ex.sq"; sr: "ex.sr"; ss: "ex.ss"; st: "ex.st"; su: "ex.su"; sv: "ex.sv"; sw: "ex.sw"; sx: "ex.sx"; sy: "ex.sy"; sz: "ex.sz"; ta: "ex.ta"; tb: "ex.tb"; tc: "ex.tc"; td: "ex.td"; te: "ex.te"; tf: "ex.tf"; tg: "ex.tg"; th: "ex.th"; ti: "ex.ti"; tj: "ex.tj"; tk: "ex.tk"; tl: "ex.tl"; tm: "ex.tm"; tn: "ex.tn"; to: "ex.to"; tp: "ex.tp"; tq: "ex.tq"; tr: "ex.tr"; ts: "ex.ts"; tt: "ex.tt"; tu: "ex.tu"; tv: "ex.tv"; tw: "ex.tw"; tx: "ex.tx"; ty: "ex.ty"; tz: "ex.tz"; ua: "ex.ua"; ub: "ex.ub"; uc: "ex.uc"; ud: "ex.ud"; ue: "ex.ue"; uf: "ex.uf"; ug: "ex.ug"; uh: "ex.uh"; ui: "ex.ui"; uj: "ex.uj"; uk: "ex.uk"; ul: "ex.ul"; um: "ex.um"; un: "ex.un"; uo: "ex.uo"; up: "ex.up"; uq: "ex.uq"; ur: "ex.ur"; us: "ex.us"; ut: "ex.ut"; uu: "ex.uu"; uv: "ex.uv"; uw: "ex.uw"; ux: "ex.ux"; uy: "ex.uy"; uz: "ex.uz"; va: "ex.va"; vb: "ex.vb"; vc: "ex.vc"; vd: "ex.vd"; ve: "ex.ve"; vf: "ex.vf"; vg: "ex.vg"; vh: "ex.vh"; vi: "ex.vi"; vj: "ex.vj"; vk: "ex.vk"; vl: "ex.vl"; vm: "ex.vm"; vn: "ex.vn"; vo: "ex.vo"; vp: "ex.vp"; vq: "ex.vq"; vr: "ex.vr"; vs: "ex.vs"; vt: "ex.vt"; vu: "ex.vu"; vv: "ex.vv"; vw: "ex.vw"; vx: "ex.vx"; vy: "ex.vy"; vz: "ex.vz"; wa: "ex.wa"; wb: "ex.wb"; wc: "ex.wc"; wd: "ex.wd"; we: "ex.we"; wf: "ex.wf"; wg: "ex.wg"; wh: "ex.wh"; wi: "ex.wi"; wj: "ex.wj"; wk: "ex.wk"; wl: "ex.wl"; wm: "ex.wm"; wn: "ex.wn"; wo: "ex.wo"; wp: "ex.wp"; wq: "ex.wq"; wr: "ex.wr"; ws: "ex.ws"; wt: "ex.wt"; wu: "ex.wu"; wv: "ex.wv"; ww: "ex.ww"; wx: "ex.wx"; wy: "ex.wy"; wz: "ex.wz"; xa: "ex.xa"; xb: "ex.xb"; xc: "ex.xc"; xd: "ex.xd"; xe: "ex.xe"; xf: "ex.xf"; xg: "ex.xg"; xh: "ex.xh"; xi: "ex.xi"; xj: "ex.xj"; xk: "ex.xk"; xl: "ex.xl"; xm: "ex.xm"; xn: "ex.xn"; xo: "ex.xo"; xp: "ex.xp"; xq: "ex.xq"; xr: "ex.xr"; xs: "ex.xs"; xt: "ex.xt"; xu: "ex.xu"; xv: "ex.xv"; xw: "ex.xw"; xx: "ex.xx"; xy: "ex.xy"; xz: "ex.xz"; ya: "ex.ya"; yb: "ex.yb"; yc: "ex.yc"; yd: "ex.yd"; ye: "ex.ye"; yf: "ex.yf"; yg: "ex.yg"; yh: "ex.yh"; yi: "ex.yi"; yj: "ex.yj"; yk: "ex.yk"; yl: "ex.yl"; ym: "ex.ym"; yn: "ex.yn"; yo: "ex.yo"; yp: "ex.yp"; yq: "ex.yq"; yr: "ex.yr"; ys: "ex.ys"; yt: "ex.yt"; yu: "ex.yu"; yv: "ex.yv"; yw: "ex.yw"; yx: "ex.yx"; yy: "ex.yy"; yz: "ex.yz"; za: "ex.za"; zb: "ex.zb"; zc: "ex.zc"; zd: "ex.zd"; ze: "ex.ze"; zf: "ex.zf"; zg: "ex.zg"; zh: "ex.zh"; zi: "ex.zi"; zj: "ex.zj"; zk: "ex.zk"; zl: "ex.zl"; zm: "ex.zm"; zn: "ex.zn"; zo: "ex.zo"; zp: "ex.zp"; zq: "ex.zq"; zr: "ex.zr"; zs: "ex.zs"; zt: "ex.zt"; zu: "ex.zu"; zv: "ex.zv"; zw: "ex.zw"; zx: "ex.zx"; zy: "ex.zy"; zz: "ex.zz"; }; ey: { aa: "ey.aa"; ab: "ey.ab"; ac: "ey.ac"; ad: "ey.ad"; ae: "ey.ae"; af: "ey.af"; ag: "ey.ag"; ah: "ey.ah"; ai: "ey.ai"; aj: "ey.aj"; ak: "ey.ak"; al: "ey.al"; am: "ey.am"; an: "ey.an"; ao: "ey.ao"; ap: "ey.ap"; aq: "ey.aq"; ar: "ey.ar"; as: "ey.as"; at: "ey.at"; au: "ey.au"; av: "ey.av"; aw: "ey.aw"; ax: "ey.ax"; ay: "ey.ay"; az: "ey.az"; ba: "ey.ba"; bb: "ey.bb"; bc: "ey.bc"; bd: "ey.bd"; be: "ey.be"; bf: "ey.bf"; bg: "ey.bg"; bh: "ey.bh"; bi: "ey.bi"; bj: "ey.bj"; bk: "ey.bk"; bl: "ey.bl"; bm: "ey.bm"; bn: "ey.bn"; bo: "ey.bo"; bp: "ey.bp"; bq: "ey.bq"; br: "ey.br"; bs: "ey.bs"; bt: "ey.bt"; bu: "ey.bu"; bv: "ey.bv"; bw: "ey.bw"; bx: "ey.bx"; by: "ey.by"; bz: "ey.bz"; ca: "ey.ca"; cb: "ey.cb"; cc: "ey.cc"; cd: "ey.cd"; ce: "ey.ce"; cf: "ey.cf"; cg: "ey.cg"; ch: "ey.ch"; ci: "ey.ci"; cj: "ey.cj"; ck: "ey.ck"; cl: "ey.cl"; cm: "ey.cm"; cn: "ey.cn"; co: "ey.co"; cp: "ey.cp"; cq: "ey.cq"; cr: "ey.cr"; cs: "ey.cs"; ct: "ey.ct"; cu: "ey.cu"; cv: "ey.cv"; cw: "ey.cw"; cx: "ey.cx"; cy: "ey.cy"; cz: "ey.cz"; da: "ey.da"; db: "ey.db"; dc: "ey.dc"; dd: "ey.dd"; de: "ey.de"; df: "ey.df"; dg: "ey.dg"; dh: "ey.dh"; di: "ey.di"; dj: "ey.dj"; dk: "ey.dk"; dl: "ey.dl"; dm: "ey.dm"; dn: "ey.dn"; do: "ey.do"; dp: "ey.dp"; dq: "ey.dq"; dr: "ey.dr"; ds: "ey.ds"; dt: "ey.dt"; du: "ey.du"; dv: "ey.dv"; dw: "ey.dw"; dx: "ey.dx"; dy: "ey.dy"; dz: "ey.dz"; ea: "ey.ea"; eb: "ey.eb"; ec: "ey.ec"; ed: "ey.ed"; ee: "ey.ee"; ef: "ey.ef"; eg: "ey.eg"; eh: "ey.eh"; ei: "ey.ei"; ej: "ey.ej"; ek: "ey.ek"; el: "ey.el"; em: "ey.em"; en: "ey.en"; eo: "ey.eo"; ep: "ey.ep"; eq: "ey.eq"; er: "ey.er"; es: "ey.es"; et: "ey.et"; eu: "ey.eu"; ev: "ey.ev"; ew: "ey.ew"; ex: "ey.ex"; ey: "ey.ey"; ez: "ey.ez"; fa: "ey.fa"; fb: "ey.fb"; fc: "ey.fc"; fd: "ey.fd"; fe: "ey.fe"; ff: "ey.ff"; fg: "ey.fg"; fh: "ey.fh"; fi: "ey.fi"; fj: "ey.fj"; fk: "ey.fk"; fl: "ey.fl"; fm: "ey.fm"; fn: "ey.fn"; fo: "ey.fo"; fp: "ey.fp"; fq: "ey.fq"; fr: "ey.fr"; fs: "ey.fs"; ft: "ey.ft"; fu: "ey.fu"; fv: "ey.fv"; fw: "ey.fw"; fx: "ey.fx"; fy: "ey.fy"; fz: "ey.fz"; ga: "ey.ga"; gb: "ey.gb"; gc: "ey.gc"; gd: "ey.gd"; ge: "ey.ge"; gf: "ey.gf"; gg: "ey.gg"; gh: "ey.gh"; gi: "ey.gi"; gj: "ey.gj"; gk: "ey.gk"; gl: "ey.gl"; gm: "ey.gm"; gn: "ey.gn"; go: "ey.go"; gp: "ey.gp"; gq: "ey.gq"; gr: "ey.gr"; gs: "ey.gs"; gt: "ey.gt"; gu: "ey.gu"; gv: "ey.gv"; gw: "ey.gw"; gx: "ey.gx"; gy: "ey.gy"; gz: "ey.gz"; ha: "ey.ha"; hb: "ey.hb"; hc: "ey.hc"; hd: "ey.hd"; he: "ey.he"; hf: "ey.hf"; hg: "ey.hg"; hh: "ey.hh"; hi: "ey.hi"; hj: "ey.hj"; hk: "ey.hk"; hl: "ey.hl"; hm: "ey.hm"; hn: "ey.hn"; ho: "ey.ho"; hp: "ey.hp"; hq: "ey.hq"; hr: "ey.hr"; hs: "ey.hs"; ht: "ey.ht"; hu: "ey.hu"; hv: "ey.hv"; hw: "ey.hw"; hx: "ey.hx"; hy: "ey.hy"; hz: "ey.hz"; ia: "ey.ia"; ib: "ey.ib"; ic: "ey.ic"; id: "ey.id"; ie: "ey.ie"; if: "ey.if"; ig: "ey.ig"; ih: "ey.ih"; ii: "ey.ii"; ij: "ey.ij"; ik: "ey.ik"; il: "ey.il"; im: "ey.im"; in: "ey.in"; io: "ey.io"; ip: "ey.ip"; iq: "ey.iq"; ir: "ey.ir"; is: "ey.is"; it: "ey.it"; iu: "ey.iu"; iv: "ey.iv"; iw: "ey.iw"; ix: "ey.ix"; iy: "ey.iy"; iz: "ey.iz"; ja: "ey.ja"; jb: "ey.jb"; jc: "ey.jc"; jd: "ey.jd"; je: "ey.je"; jf: "ey.jf"; jg: "ey.jg"; jh: "ey.jh"; ji: "ey.ji"; jj: "ey.jj"; jk: "ey.jk"; jl: "ey.jl"; jm: "ey.jm"; jn: "ey.jn"; jo: "ey.jo"; jp: "ey.jp"; jq: "ey.jq"; jr: "ey.jr"; js: "ey.js"; jt: "ey.jt"; ju: "ey.ju"; jv: "ey.jv"; jw: "ey.jw"; jx: "ey.jx"; jy: "ey.jy"; jz: "ey.jz"; ka: "ey.ka"; kb: "ey.kb"; kc: "ey.kc"; kd: "ey.kd"; ke: "ey.ke"; kf: "ey.kf"; kg: "ey.kg"; kh: "ey.kh"; ki: "ey.ki"; kj: "ey.kj"; kk: "ey.kk"; kl: "ey.kl"; km: "ey.km"; kn: "ey.kn"; ko: "ey.ko"; kp: "ey.kp"; kq: "ey.kq"; kr: "ey.kr"; ks: "ey.ks"; kt: "ey.kt"; ku: "ey.ku"; kv: "ey.kv"; kw: "ey.kw"; kx: "ey.kx"; ky: "ey.ky"; kz: "ey.kz"; la: "ey.la"; lb: "ey.lb"; lc: "ey.lc"; ld: "ey.ld"; le: "ey.le"; lf: "ey.lf"; lg: "ey.lg"; lh: "ey.lh"; li: "ey.li"; lj: "ey.lj"; lk: "ey.lk"; ll: "ey.ll"; lm: "ey.lm"; ln: "ey.ln"; lo: "ey.lo"; lp: "ey.lp"; lq: "ey.lq"; lr: "ey.lr"; ls: "ey.ls"; lt: "ey.lt"; lu: "ey.lu"; lv: "ey.lv"; lw: "ey.lw"; lx: "ey.lx"; ly: "ey.ly"; lz: "ey.lz"; ma: "ey.ma"; mb: "ey.mb"; mc: "ey.mc"; md: "ey.md"; me: "ey.me"; mf: "ey.mf"; mg: "ey.mg"; mh: "ey.mh"; mi: "ey.mi"; mj: "ey.mj"; mk: "ey.mk"; ml: "ey.ml"; mm: "ey.mm"; mn: "ey.mn"; mo: "ey.mo"; mp: "ey.mp"; mq: "ey.mq"; mr: "ey.mr"; ms: "ey.ms"; mt: "ey.mt"; mu: "ey.mu"; mv: "ey.mv"; mw: "ey.mw"; mx: "ey.mx"; my: "ey.my"; mz: "ey.mz"; na: "ey.na"; nb: "ey.nb"; nc: "ey.nc"; nd: "ey.nd"; ne: "ey.ne"; nf: "ey.nf"; ng: "ey.ng"; nh: "ey.nh"; ni: "ey.ni"; nj: "ey.nj"; nk: "ey.nk"; nl: "ey.nl"; nm: "ey.nm"; nn: "ey.nn"; no: "ey.no"; np: "ey.np"; nq: "ey.nq"; nr: "ey.nr"; ns: "ey.ns"; nt: "ey.nt"; nu: "ey.nu"; nv: "ey.nv"; nw: "ey.nw"; nx: "ey.nx"; ny: "ey.ny"; nz: "ey.nz"; oa: "ey.oa"; ob: "ey.ob"; oc: "ey.oc"; od: "ey.od"; oe: "ey.oe"; of: "ey.of"; og: "ey.og"; oh: "ey.oh"; oi: "ey.oi"; oj: "ey.oj"; ok: "ey.ok"; ol: "ey.ol"; om: "ey.om"; on: "ey.on"; oo: "ey.oo"; op: "ey.op"; oq: "ey.oq"; or: "ey.or"; os: "ey.os"; ot: "ey.ot"; ou: "ey.ou"; ov: "ey.ov"; ow: "ey.ow"; ox: "ey.ox"; oy: "ey.oy"; oz: "ey.oz"; pa: "ey.pa"; pb: "ey.pb"; pc: "ey.pc"; pd: "ey.pd"; pe: "ey.pe"; pf: "ey.pf"; pg: "ey.pg"; ph: "ey.ph"; pi: "ey.pi"; pj: "ey.pj"; pk: "ey.pk"; pl: "ey.pl"; pm: "ey.pm"; pn: "ey.pn"; po: "ey.po"; pp: "ey.pp"; pq: "ey.pq"; pr: "ey.pr"; ps: "ey.ps"; pt: "ey.pt"; pu: "ey.pu"; pv: "ey.pv"; pw: "ey.pw"; px: "ey.px"; py: "ey.py"; pz: "ey.pz"; qa: "ey.qa"; qb: "ey.qb"; qc: "ey.qc"; qd: "ey.qd"; qe: "ey.qe"; qf: "ey.qf"; qg: "ey.qg"; qh: "ey.qh"; qi: "ey.qi"; qj: "ey.qj"; qk: "ey.qk"; ql: "ey.ql"; qm: "ey.qm"; qn: "ey.qn"; qo: "ey.qo"; qp: "ey.qp"; qq: "ey.qq"; qr: "ey.qr"; qs: "ey.qs"; qt: "ey.qt"; qu: "ey.qu"; qv: "ey.qv"; qw: "ey.qw"; qx: "ey.qx"; qy: "ey.qy"; qz: "ey.qz"; ra: "ey.ra"; rb: "ey.rb"; rc: "ey.rc"; rd: "ey.rd"; re: "ey.re"; rf: "ey.rf"; rg: "ey.rg"; rh: "ey.rh"; ri: "ey.ri"; rj: "ey.rj"; rk: "ey.rk"; rl: "ey.rl"; rm: "ey.rm"; rn: "ey.rn"; ro: "ey.ro"; rp: "ey.rp"; rq: "ey.rq"; rr: "ey.rr"; rs: "ey.rs"; rt: "ey.rt"; ru: "ey.ru"; rv: "ey.rv"; rw: "ey.rw"; rx: "ey.rx"; ry: "ey.ry"; rz: "ey.rz"; sa: "ey.sa"; sb: "ey.sb"; sc: "ey.sc"; sd: "ey.sd"; se: "ey.se"; sf: "ey.sf"; sg: "ey.sg"; sh: "ey.sh"; si: "ey.si"; sj: "ey.sj"; sk: "ey.sk"; sl: "ey.sl"; sm: "ey.sm"; sn: "ey.sn"; so: "ey.so"; sp: "ey.sp"; sq: "ey.sq"; sr: "ey.sr"; ss: "ey.ss"; st: "ey.st"; su: "ey.su"; sv: "ey.sv"; sw: "ey.sw"; sx: "ey.sx"; sy: "ey.sy"; sz: "ey.sz"; ta: "ey.ta"; tb: "ey.tb"; tc: "ey.tc"; td: "ey.td"; te: "ey.te"; tf: "ey.tf"; tg: "ey.tg"; th: "ey.th"; ti: "ey.ti"; tj: "ey.tj"; tk: "ey.tk"; tl: "ey.tl"; tm: "ey.tm"; tn: "ey.tn"; to: "ey.to"; tp: "ey.tp"; tq: "ey.tq"; tr: "ey.tr"; ts: "ey.ts"; tt: "ey.tt"; tu: "ey.tu"; tv: "ey.tv"; tw: "ey.tw"; tx: "ey.tx"; ty: "ey.ty"; tz: "ey.tz"; ua: "ey.ua"; ub: "ey.ub"; uc: "ey.uc"; ud: "ey.ud"; ue: "ey.ue"; uf: "ey.uf"; ug: "ey.ug"; uh: "ey.uh"; ui: "ey.ui"; uj: "ey.uj"; uk: "ey.uk"; ul: "ey.ul"; um: "ey.um"; un: "ey.un"; uo: "ey.uo"; up: "ey.up"; uq: "ey.uq"; ur: "ey.ur"; us: "ey.us"; ut: "ey.ut"; uu: "ey.uu"; uv: "ey.uv"; uw: "ey.uw"; ux: "ey.ux"; uy: "ey.uy"; uz: "ey.uz"; va: "ey.va"; vb: "ey.vb"; vc: "ey.vc"; vd: "ey.vd"; ve: "ey.ve"; vf: "ey.vf"; vg: "ey.vg"; vh: "ey.vh"; vi: "ey.vi"; vj: "ey.vj"; vk: "ey.vk"; vl: "ey.vl"; vm: "ey.vm"; vn: "ey.vn"; vo: "ey.vo"; vp: "ey.vp"; vq: "ey.vq"; vr: "ey.vr"; vs: "ey.vs"; vt: "ey.vt"; vu: "ey.vu"; vv: "ey.vv"; vw: "ey.vw"; vx: "ey.vx"; vy: "ey.vy"; vz: "ey.vz"; wa: "ey.wa"; wb: "ey.wb"; wc: "ey.wc"; wd: "ey.wd"; we: "ey.we"; wf: "ey.wf"; wg: "ey.wg"; wh: "ey.wh"; wi: "ey.wi"; wj: "ey.wj"; wk: "ey.wk"; wl: "ey.wl"; wm: "ey.wm"; wn: "ey.wn"; wo: "ey.wo"; wp: "ey.wp"; wq: "ey.wq"; wr: "ey.wr"; ws: "ey.ws"; wt: "ey.wt"; wu: "ey.wu"; wv: "ey.wv"; ww: "ey.ww"; wx: "ey.wx"; wy: "ey.wy"; wz: "ey.wz"; xa: "ey.xa"; xb: "ey.xb"; xc: "ey.xc"; xd: "ey.xd"; xe: "ey.xe"; xf: "ey.xf"; xg: "ey.xg"; xh: "ey.xh"; xi: "ey.xi"; xj: "ey.xj"; xk: "ey.xk"; xl: "ey.xl"; xm: "ey.xm"; xn: "ey.xn"; xo: "ey.xo"; xp: "ey.xp"; xq: "ey.xq"; xr: "ey.xr"; xs: "ey.xs"; xt: "ey.xt"; xu: "ey.xu"; xv: "ey.xv"; xw: "ey.xw"; xx: "ey.xx"; xy: "ey.xy"; xz: "ey.xz"; ya: "ey.ya"; yb: "ey.yb"; yc: "ey.yc"; yd: "ey.yd"; ye: "ey.ye"; yf: "ey.yf"; yg: "ey.yg"; yh: "ey.yh"; yi: "ey.yi"; yj: "ey.yj"; yk: "ey.yk"; yl: "ey.yl"; ym: "ey.ym"; yn: "ey.yn"; yo: "ey.yo"; yp: "ey.yp"; yq: "ey.yq"; yr: "ey.yr"; ys: "ey.ys"; yt: "ey.yt"; yu: "ey.yu"; yv: "ey.yv"; yw: "ey.yw"; yx: "ey.yx"; yy: "ey.yy"; yz: "ey.yz"; za: "ey.za"; zb: "ey.zb"; zc: "ey.zc"; zd: "ey.zd"; ze: "ey.ze"; zf: "ey.zf"; zg: "ey.zg"; zh: "ey.zh"; zi: "ey.zi"; zj: "ey.zj"; zk: "ey.zk"; zl: "ey.zl"; zm: "ey.zm"; zn: "ey.zn"; zo: "ey.zo"; zp: "ey.zp"; zq: "ey.zq"; zr: "ey.zr"; zs: "ey.zs"; zt: "ey.zt"; zu: "ey.zu"; zv: "ey.zv"; zw: "ey.zw"; zx: "ey.zx"; zy: "ey.zy"; zz: "ey.zz"; }; ez: { aa: "ez.aa"; ab: "ez.ab"; ac: "ez.ac"; ad: "ez.ad"; ae: "ez.ae"; af: "ez.af"; ag: "ez.ag"; ah: "ez.ah"; ai: "ez.ai"; aj: "ez.aj"; ak: "ez.ak"; al: "ez.al"; am: "ez.am"; an: "ez.an"; ao: "ez.ao"; ap: "ez.ap"; aq: "ez.aq"; ar: "ez.ar"; as: "ez.as"; at: "ez.at"; au: "ez.au"; av: "ez.av"; aw: "ez.aw"; ax: "ez.ax"; ay: "ez.ay"; az: "ez.az"; ba: "ez.ba"; bb: "ez.bb"; bc: "ez.bc"; bd: "ez.bd"; be: "ez.be"; bf: "ez.bf"; bg: "ez.bg"; bh: "ez.bh"; bi: "ez.bi"; bj: "ez.bj"; bk: "ez.bk"; bl: "ez.bl"; bm: "ez.bm"; bn: "ez.bn"; bo: "ez.bo"; bp: "ez.bp"; bq: "ez.bq"; br: "ez.br"; bs: "ez.bs"; bt: "ez.bt"; bu: "ez.bu"; bv: "ez.bv"; bw: "ez.bw"; bx: "ez.bx"; by: "ez.by"; bz: "ez.bz"; ca: "ez.ca"; cb: "ez.cb"; cc: "ez.cc"; cd: "ez.cd"; ce: "ez.ce"; cf: "ez.cf"; cg: "ez.cg"; ch: "ez.ch"; ci: "ez.ci"; cj: "ez.cj"; ck: "ez.ck"; cl: "ez.cl"; cm: "ez.cm"; cn: "ez.cn"; co: "ez.co"; cp: "ez.cp"; cq: "ez.cq"; cr: "ez.cr"; cs: "ez.cs"; ct: "ez.ct"; cu: "ez.cu"; cv: "ez.cv"; cw: "ez.cw"; cx: "ez.cx"; cy: "ez.cy"; cz: "ez.cz"; da: "ez.da"; db: "ez.db"; dc: "ez.dc"; dd: "ez.dd"; de: "ez.de"; df: "ez.df"; dg: "ez.dg"; dh: "ez.dh"; di: "ez.di"; dj: "ez.dj"; dk: "ez.dk"; dl: "ez.dl"; dm: "ez.dm"; dn: "ez.dn"; do: "ez.do"; dp: "ez.dp"; dq: "ez.dq"; dr: "ez.dr"; ds: "ez.ds"; dt: "ez.dt"; du: "ez.du"; dv: "ez.dv"; dw: "ez.dw"; dx: "ez.dx"; dy: "ez.dy"; dz: "ez.dz"; ea: "ez.ea"; eb: "ez.eb"; ec: "ez.ec"; ed: "ez.ed"; ee: "ez.ee"; ef: "ez.ef"; eg: "ez.eg"; eh: "ez.eh"; ei: "ez.ei"; ej: "ez.ej"; ek: "ez.ek"; el: "ez.el"; em: "ez.em"; en: "ez.en"; eo: "ez.eo"; ep: "ez.ep"; eq: "ez.eq"; er: "ez.er"; es: "ez.es"; et: "ez.et"; eu: "ez.eu"; ev: "ez.ev"; ew: "ez.ew"; ex: "ez.ex"; ey: "ez.ey"; ez: "ez.ez"; fa: "ez.fa"; fb: "ez.fb"; fc: "ez.fc"; fd: "ez.fd"; fe: "ez.fe"; ff: "ez.ff"; fg: "ez.fg"; fh: "ez.fh"; fi: "ez.fi"; fj: "ez.fj"; fk: "ez.fk"; fl: "ez.fl"; fm: "ez.fm"; fn: "ez.fn"; fo: "ez.fo"; fp: "ez.fp"; fq: "ez.fq"; fr: "ez.fr"; fs: "ez.fs"; ft: "ez.ft"; fu: "ez.fu"; fv: "ez.fv"; fw: "ez.fw"; fx: "ez.fx"; fy: "ez.fy"; fz: "ez.fz"; ga: "ez.ga"; gb: "ez.gb"; gc: "ez.gc"; gd: "ez.gd"; ge: "ez.ge"; gf: "ez.gf"; gg: "ez.gg"; gh: "ez.gh"; gi: "ez.gi"; gj: "ez.gj"; gk: "ez.gk"; gl: "ez.gl"; gm: "ez.gm"; gn: "ez.gn"; go: "ez.go"; gp: "ez.gp"; gq: "ez.gq"; gr: "ez.gr"; gs: "ez.gs"; gt: "ez.gt"; gu: "ez.gu"; gv: "ez.gv"; gw: "ez.gw"; gx: "ez.gx"; gy: "ez.gy"; gz: "ez.gz"; ha: "ez.ha"; hb: "ez.hb"; hc: "ez.hc"; hd: "ez.hd"; he: "ez.he"; hf: "ez.hf"; hg: "ez.hg"; hh: "ez.hh"; hi: "ez.hi"; hj: "ez.hj"; hk: "ez.hk"; hl: "ez.hl"; hm: "ez.hm"; hn: "ez.hn"; ho: "ez.ho"; hp: "ez.hp"; hq: "ez.hq"; hr: "ez.hr"; hs: "ez.hs"; ht: "ez.ht"; hu: "ez.hu"; hv: "ez.hv"; hw: "ez.hw"; hx: "ez.hx"; hy: "ez.hy"; hz: "ez.hz"; ia: "ez.ia"; ib: "ez.ib"; ic: "ez.ic"; id: "ez.id"; ie: "ez.ie"; if: "ez.if"; ig: "ez.ig"; ih: "ez.ih"; ii: "ez.ii"; ij: "ez.ij"; ik: "ez.ik"; il: "ez.il"; im: "ez.im"; in: "ez.in"; io: "ez.io"; ip: "ez.ip"; iq: "ez.iq"; ir: "ez.ir"; is: "ez.is"; it: "ez.it"; iu: "ez.iu"; iv: "ez.iv"; iw: "ez.iw"; ix: "ez.ix"; iy: "ez.iy"; iz: "ez.iz"; ja: "ez.ja"; jb: "ez.jb"; jc: "ez.jc"; jd: "ez.jd"; je: "ez.je"; jf: "ez.jf"; jg: "ez.jg"; jh: "ez.jh"; ji: "ez.ji"; jj: "ez.jj"; jk: "ez.jk"; jl: "ez.jl"; jm: "ez.jm"; jn: "ez.jn"; jo: "ez.jo"; jp: "ez.jp"; jq: "ez.jq"; jr: "ez.jr"; js: "ez.js"; jt: "ez.jt"; ju: "ez.ju"; jv: "ez.jv"; jw: "ez.jw"; jx: "ez.jx"; jy: "ez.jy"; jz: "ez.jz"; ka: "ez.ka"; kb: "ez.kb"; kc: "ez.kc"; kd: "ez.kd"; ke: "ez.ke"; kf: "ez.kf"; kg: "ez.kg"; kh: "ez.kh"; ki: "ez.ki"; kj: "ez.kj"; kk: "ez.kk"; kl: "ez.kl"; km: "ez.km"; kn: "ez.kn"; ko: "ez.ko"; kp: "ez.kp"; kq: "ez.kq"; kr: "ez.kr"; ks: "ez.ks"; kt: "ez.kt"; ku: "ez.ku"; kv: "ez.kv"; kw: "ez.kw"; kx: "ez.kx"; ky: "ez.ky"; kz: "ez.kz"; la: "ez.la"; lb: "ez.lb"; lc: "ez.lc"; ld: "ez.ld"; le: "ez.le"; lf: "ez.lf"; lg: "ez.lg"; lh: "ez.lh"; li: "ez.li"; lj: "ez.lj"; lk: "ez.lk"; ll: "ez.ll"; lm: "ez.lm"; ln: "ez.ln"; lo: "ez.lo"; lp: "ez.lp"; lq: "ez.lq"; lr: "ez.lr"; ls: "ez.ls"; lt: "ez.lt"; lu: "ez.lu"; lv: "ez.lv"; lw: "ez.lw"; lx: "ez.lx"; ly: "ez.ly"; lz: "ez.lz"; ma: "ez.ma"; mb: "ez.mb"; mc: "ez.mc"; md: "ez.md"; me: "ez.me"; mf: "ez.mf"; mg: "ez.mg"; mh: "ez.mh"; mi: "ez.mi"; mj: "ez.mj"; mk: "ez.mk"; ml: "ez.ml"; mm: "ez.mm"; mn: "ez.mn"; mo: "ez.mo"; mp: "ez.mp"; mq: "ez.mq"; mr: "ez.mr"; ms: "ez.ms"; mt: "ez.mt"; mu: "ez.mu"; mv: "ez.mv"; mw: "ez.mw"; mx: "ez.mx"; my: "ez.my"; mz: "ez.mz"; na: "ez.na"; nb: "ez.nb"; nc: "ez.nc"; nd: "ez.nd"; ne: "ez.ne"; nf: "ez.nf"; ng: "ez.ng"; nh: "ez.nh"; ni: "ez.ni"; nj: "ez.nj"; nk: "ez.nk"; nl: "ez.nl"; nm: "ez.nm"; nn: "ez.nn"; no: "ez.no"; np: "ez.np"; nq: "ez.nq"; nr: "ez.nr"; ns: "ez.ns"; nt: "ez.nt"; nu: "ez.nu"; nv: "ez.nv"; nw: "ez.nw"; nx: "ez.nx"; ny: "ez.ny"; nz: "ez.nz"; oa: "ez.oa"; ob: "ez.ob"; oc: "ez.oc"; od: "ez.od"; oe: "ez.oe"; of: "ez.of"; og: "ez.og"; oh: "ez.oh"; oi: "ez.oi"; oj: "ez.oj"; ok: "ez.ok"; ol: "ez.ol"; om: "ez.om"; on: "ez.on"; oo: "ez.oo"; op: "ez.op"; oq: "ez.oq"; or: "ez.or"; os: "ez.os"; ot: "ez.ot"; ou: "ez.ou"; ov: "ez.ov"; ow: "ez.ow"; ox: "ez.ox"; oy: "ez.oy"; oz: "ez.oz"; pa: "ez.pa"; pb: "ez.pb"; pc: "ez.pc"; pd: "ez.pd"; pe: "ez.pe"; pf: "ez.pf"; pg: "ez.pg"; ph: "ez.ph"; pi: "ez.pi"; pj: "ez.pj"; pk: "ez.pk"; pl: "ez.pl"; pm: "ez.pm"; pn: "ez.pn"; po: "ez.po"; pp: "ez.pp"; pq: "ez.pq"; pr: "ez.pr"; ps: "ez.ps"; pt: "ez.pt"; pu: "ez.pu"; pv: "ez.pv"; pw: "ez.pw"; px: "ez.px"; py: "ez.py"; pz: "ez.pz"; qa: "ez.qa"; qb: "ez.qb"; qc: "ez.qc"; qd: "ez.qd"; qe: "ez.qe"; qf: "ez.qf"; qg: "ez.qg"; qh: "ez.qh"; qi: "ez.qi"; qj: "ez.qj"; qk: "ez.qk"; ql: "ez.ql"; qm: "ez.qm"; qn: "ez.qn"; qo: "ez.qo"; qp: "ez.qp"; qq: "ez.qq"; qr: "ez.qr"; qs: "ez.qs"; qt: "ez.qt"; qu: "ez.qu"; qv: "ez.qv"; qw: "ez.qw"; qx: "ez.qx"; qy: "ez.qy"; qz: "ez.qz"; ra: "ez.ra"; rb: "ez.rb"; rc: "ez.rc"; rd: "ez.rd"; re: "ez.re"; rf: "ez.rf"; rg: "ez.rg"; rh: "ez.rh"; ri: "ez.ri"; rj: "ez.rj"; rk: "ez.rk"; rl: "ez.rl"; rm: "ez.rm"; rn: "ez.rn"; ro: "ez.ro"; rp: "ez.rp"; rq: "ez.rq"; rr: "ez.rr"; rs: "ez.rs"; rt: "ez.rt"; ru: "ez.ru"; rv: "ez.rv"; rw: "ez.rw"; rx: "ez.rx"; ry: "ez.ry"; rz: "ez.rz"; sa: "ez.sa"; sb: "ez.sb"; sc: "ez.sc"; sd: "ez.sd"; se: "ez.se"; sf: "ez.sf"; sg: "ez.sg"; sh: "ez.sh"; si: "ez.si"; sj: "ez.sj"; sk: "ez.sk"; sl: "ez.sl"; sm: "ez.sm"; sn: "ez.sn"; so: "ez.so"; sp: "ez.sp"; sq: "ez.sq"; sr: "ez.sr"; ss: "ez.ss"; st: "ez.st"; su: "ez.su"; sv: "ez.sv"; sw: "ez.sw"; sx: "ez.sx"; sy: "ez.sy"; sz: "ez.sz"; ta: "ez.ta"; tb: "ez.tb"; tc: "ez.tc"; td: "ez.td"; te: "ez.te"; tf: "ez.tf"; tg: "ez.tg"; th: "ez.th"; ti: "ez.ti"; tj: "ez.tj"; tk: "ez.tk"; tl: "ez.tl"; tm: "ez.tm"; tn: "ez.tn"; to: "ez.to"; tp: "ez.tp"; tq: "ez.tq"; tr: "ez.tr"; ts: "ez.ts"; tt: "ez.tt"; tu: "ez.tu"; tv: "ez.tv"; tw: "ez.tw"; tx: "ez.tx"; ty: "ez.ty"; tz: "ez.tz"; ua: "ez.ua"; ub: "ez.ub"; uc: "ez.uc"; ud: "ez.ud"; ue: "ez.ue"; uf: "ez.uf"; ug: "ez.ug"; uh: "ez.uh"; ui: "ez.ui"; uj: "ez.uj"; uk: "ez.uk"; ul: "ez.ul"; um: "ez.um"; un: "ez.un"; uo: "ez.uo"; up: "ez.up"; uq: "ez.uq"; ur: "ez.ur"; us: "ez.us"; ut: "ez.ut"; uu: "ez.uu"; uv: "ez.uv"; uw: "ez.uw"; ux: "ez.ux"; uy: "ez.uy"; uz: "ez.uz"; va: "ez.va"; vb: "ez.vb"; vc: "ez.vc"; vd: "ez.vd"; ve: "ez.ve"; vf: "ez.vf"; vg: "ez.vg"; vh: "ez.vh"; vi: "ez.vi"; vj: "ez.vj"; vk: "ez.vk"; vl: "ez.vl"; vm: "ez.vm"; vn: "ez.vn"; vo: "ez.vo"; vp: "ez.vp"; vq: "ez.vq"; vr: "ez.vr"; vs: "ez.vs"; vt: "ez.vt"; vu: "ez.vu"; vv: "ez.vv"; vw: "ez.vw"; vx: "ez.vx"; vy: "ez.vy"; vz: "ez.vz"; wa: "ez.wa"; wb: "ez.wb"; wc: "ez.wc"; wd: "ez.wd"; we: "ez.we"; wf: "ez.wf"; wg: "ez.wg"; wh: "ez.wh"; wi: "ez.wi"; wj: "ez.wj"; wk: "ez.wk"; wl: "ez.wl"; wm: "ez.wm"; wn: "ez.wn"; wo: "ez.wo"; wp: "ez.wp"; wq: "ez.wq"; wr: "ez.wr"; ws: "ez.ws"; wt: "ez.wt"; wu: "ez.wu"; wv: "ez.wv"; ww: "ez.ww"; wx: "ez.wx"; wy: "ez.wy"; wz: "ez.wz"; xa: "ez.xa"; xb: "ez.xb"; xc: "ez.xc"; xd: "ez.xd"; xe: "ez.xe"; xf: "ez.xf"; xg: "ez.xg"; xh: "ez.xh"; xi: "ez.xi"; xj: "ez.xj"; xk: "ez.xk"; xl: "ez.xl"; xm: "ez.xm"; xn: "ez.xn"; xo: "ez.xo"; xp: "ez.xp"; xq: "ez.xq"; xr: "ez.xr"; xs: "ez.xs"; xt: "ez.xt"; xu: "ez.xu"; xv: "ez.xv"; xw: "ez.xw"; xx: "ez.xx"; xy: "ez.xy"; xz: "ez.xz"; ya: "ez.ya"; yb: "ez.yb"; yc: "ez.yc"; yd: "ez.yd"; ye: "ez.ye"; yf: "ez.yf"; yg: "ez.yg"; yh: "ez.yh"; yi: "ez.yi"; yj: "ez.yj"; yk: "ez.yk"; yl: "ez.yl"; ym: "ez.ym"; yn: "ez.yn"; yo: "ez.yo"; yp: "ez.yp"; yq: "ez.yq"; yr: "ez.yr"; ys: "ez.ys"; yt: "ez.yt"; yu: "ez.yu"; yv: "ez.yv"; yw: "ez.yw"; yx: "ez.yx"; yy: "ez.yy"; yz: "ez.yz"; za: "ez.za"; zb: "ez.zb"; zc: "ez.zc"; zd: "ez.zd"; ze: "ez.ze"; zf: "ez.zf"; zg: "ez.zg"; zh: "ez.zh"; zi: "ez.zi"; zj: "ez.zj"; zk: "ez.zk"; zl: "ez.zl"; zm: "ez.zm"; zn: "ez.zn"; zo: "ez.zo"; zp: "ez.zp"; zq: "ez.zq"; zr: "ez.zr"; zs: "ez.zs"; zt: "ez.zt"; zu: "ez.zu"; zv: "ez.zv"; zw: "ez.zw"; zx: "ez.zx"; zy: "ez.zy"; zz: "ez.zz"; }; fa: { aa: "fa.aa"; ab: "fa.ab"; ac: "fa.ac"; ad: "fa.ad"; ae: "fa.ae"; af: "fa.af"; ag: "fa.ag"; ah: "fa.ah"; ai: "fa.ai"; aj: "fa.aj"; ak: "fa.ak"; al: "fa.al"; am: "fa.am"; an: "fa.an"; ao: "fa.ao"; ap: "fa.ap"; aq: "fa.aq"; ar: "fa.ar"; as: "fa.as"; at: "fa.at"; au: "fa.au"; av: "fa.av"; aw: "fa.aw"; ax: "fa.ax"; ay: "fa.ay"; az: "fa.az"; ba: "fa.ba"; bb: "fa.bb"; bc: "fa.bc"; bd: "fa.bd"; be: "fa.be"; bf: "fa.bf"; bg: "fa.bg"; bh: "fa.bh"; bi: "fa.bi"; bj: "fa.bj"; bk: "fa.bk"; bl: "fa.bl"; bm: "fa.bm"; bn: "fa.bn"; bo: "fa.bo"; bp: "fa.bp"; bq: "fa.bq"; br: "fa.br"; bs: "fa.bs"; bt: "fa.bt"; bu: "fa.bu"; bv: "fa.bv"; bw: "fa.bw"; bx: "fa.bx"; by: "fa.by"; bz: "fa.bz"; ca: "fa.ca"; cb: "fa.cb"; cc: "fa.cc"; cd: "fa.cd"; ce: "fa.ce"; cf: "fa.cf"; cg: "fa.cg"; ch: "fa.ch"; ci: "fa.ci"; cj: "fa.cj"; ck: "fa.ck"; cl: "fa.cl"; cm: "fa.cm"; cn: "fa.cn"; co: "fa.co"; cp: "fa.cp"; cq: "fa.cq"; cr: "fa.cr"; cs: "fa.cs"; ct: "fa.ct"; cu: "fa.cu"; cv: "fa.cv"; cw: "fa.cw"; cx: "fa.cx"; cy: "fa.cy"; cz: "fa.cz"; da: "fa.da"; db: "fa.db"; dc: "fa.dc"; dd: "fa.dd"; de: "fa.de"; df: "fa.df"; dg: "fa.dg"; dh: "fa.dh"; di: "fa.di"; dj: "fa.dj"; dk: "fa.dk"; dl: "fa.dl"; dm: "fa.dm"; dn: "fa.dn"; do: "fa.do"; dp: "fa.dp"; dq: "fa.dq"; dr: "fa.dr"; ds: "fa.ds"; dt: "fa.dt"; du: "fa.du"; dv: "fa.dv"; dw: "fa.dw"; dx: "fa.dx"; dy: "fa.dy"; dz: "fa.dz"; ea: "fa.ea"; eb: "fa.eb"; ec: "fa.ec"; ed: "fa.ed"; ee: "fa.ee"; ef: "fa.ef"; eg: "fa.eg"; eh: "fa.eh"; ei: "fa.ei"; ej: "fa.ej"; ek: "fa.ek"; el: "fa.el"; em: "fa.em"; en: "fa.en"; eo: "fa.eo"; ep: "fa.ep"; eq: "fa.eq"; er: "fa.er"; es: "fa.es"; et: "fa.et"; eu: "fa.eu"; ev: "fa.ev"; ew: "fa.ew"; ex: "fa.ex"; ey: "fa.ey"; ez: "fa.ez"; fa: "fa.fa"; fb: "fa.fb"; fc: "fa.fc"; fd: "fa.fd"; fe: "fa.fe"; ff: "fa.ff"; fg: "fa.fg"; fh: "fa.fh"; fi: "fa.fi"; fj: "fa.fj"; fk: "fa.fk"; fl: "fa.fl"; fm: "fa.fm"; fn: "fa.fn"; fo: "fa.fo"; fp: "fa.fp"; fq: "fa.fq"; fr: "fa.fr"; fs: "fa.fs"; ft: "fa.ft"; fu: "fa.fu"; fv: "fa.fv"; fw: "fa.fw"; fx: "fa.fx"; fy: "fa.fy"; fz: "fa.fz"; ga: "fa.ga"; gb: "fa.gb"; gc: "fa.gc"; gd: "fa.gd"; ge: "fa.ge"; gf: "fa.gf"; gg: "fa.gg"; gh: "fa.gh"; gi: "fa.gi"; gj: "fa.gj"; gk: "fa.gk"; gl: "fa.gl"; gm: "fa.gm"; gn: "fa.gn"; go: "fa.go"; gp: "fa.gp"; gq: "fa.gq"; gr: "fa.gr"; gs: "fa.gs"; gt: "fa.gt"; gu: "fa.gu"; gv: "fa.gv"; gw: "fa.gw"; gx: "fa.gx"; gy: "fa.gy"; gz: "fa.gz"; ha: "fa.ha"; hb: "fa.hb"; hc: "fa.hc"; hd: "fa.hd"; he: "fa.he"; hf: "fa.hf"; hg: "fa.hg"; hh: "fa.hh"; hi: "fa.hi"; hj: "fa.hj"; hk: "fa.hk"; hl: "fa.hl"; hm: "fa.hm"; hn: "fa.hn"; ho: "fa.ho"; hp: "fa.hp"; hq: "fa.hq"; hr: "fa.hr"; hs: "fa.hs"; ht: "fa.ht"; hu: "fa.hu"; hv: "fa.hv"; hw: "fa.hw"; hx: "fa.hx"; hy: "fa.hy"; hz: "fa.hz"; ia: "fa.ia"; ib: "fa.ib"; ic: "fa.ic"; id: "fa.id"; ie: "fa.ie"; if: "fa.if"; ig: "fa.ig"; ih: "fa.ih"; ii: "fa.ii"; ij: "fa.ij"; ik: "fa.ik"; il: "fa.il"; im: "fa.im"; in: "fa.in"; io: "fa.io"; ip: "fa.ip"; iq: "fa.iq"; ir: "fa.ir"; is: "fa.is"; it: "fa.it"; iu: "fa.iu"; iv: "fa.iv"; iw: "fa.iw"; ix: "fa.ix"; iy: "fa.iy"; iz: "fa.iz"; ja: "fa.ja"; jb: "fa.jb"; jc: "fa.jc"; jd: "fa.jd"; je: "fa.je"; jf: "fa.jf"; jg: "fa.jg"; jh: "fa.jh"; ji: "fa.ji"; jj: "fa.jj"; jk: "fa.jk"; jl: "fa.jl"; jm: "fa.jm"; jn: "fa.jn"; jo: "fa.jo"; jp: "fa.jp"; jq: "fa.jq"; jr: "fa.jr"; js: "fa.js"; jt: "fa.jt"; ju: "fa.ju"; jv: "fa.jv"; jw: "fa.jw"; jx: "fa.jx"; jy: "fa.jy"; jz: "fa.jz"; ka: "fa.ka"; kb: "fa.kb"; kc: "fa.kc"; kd: "fa.kd"; ke: "fa.ke"; kf: "fa.kf"; kg: "fa.kg"; kh: "fa.kh"; ki: "fa.ki"; kj: "fa.kj"; kk: "fa.kk"; kl: "fa.kl"; km: "fa.km"; kn: "fa.kn"; ko: "fa.ko"; kp: "fa.kp"; kq: "fa.kq"; kr: "fa.kr"; ks: "fa.ks"; kt: "fa.kt"; ku: "fa.ku"; kv: "fa.kv"; kw: "fa.kw"; kx: "fa.kx"; ky: "fa.ky"; kz: "fa.kz"; la: "fa.la"; lb: "fa.lb"; lc: "fa.lc"; ld: "fa.ld"; le: "fa.le"; lf: "fa.lf"; lg: "fa.lg"; lh: "fa.lh"; li: "fa.li"; lj: "fa.lj"; lk: "fa.lk"; ll: "fa.ll"; lm: "fa.lm"; ln: "fa.ln"; lo: "fa.lo"; lp: "fa.lp"; lq: "fa.lq"; lr: "fa.lr"; ls: "fa.ls"; lt: "fa.lt"; lu: "fa.lu"; lv: "fa.lv"; lw: "fa.lw"; lx: "fa.lx"; ly: "fa.ly"; lz: "fa.lz"; ma: "fa.ma"; mb: "fa.mb"; mc: "fa.mc"; md: "fa.md"; me: "fa.me"; mf: "fa.mf"; mg: "fa.mg"; mh: "fa.mh"; mi: "fa.mi"; mj: "fa.mj"; mk: "fa.mk"; ml: "fa.ml"; mm: "fa.mm"; mn: "fa.mn"; mo: "fa.mo"; mp: "fa.mp"; mq: "fa.mq"; mr: "fa.mr"; ms: "fa.ms"; mt: "fa.mt"; mu: "fa.mu"; mv: "fa.mv"; mw: "fa.mw"; mx: "fa.mx"; my: "fa.my"; mz: "fa.mz"; na: "fa.na"; nb: "fa.nb"; nc: "fa.nc"; nd: "fa.nd"; ne: "fa.ne"; nf: "fa.nf"; ng: "fa.ng"; nh: "fa.nh"; ni: "fa.ni"; nj: "fa.nj"; nk: "fa.nk"; nl: "fa.nl"; nm: "fa.nm"; nn: "fa.nn"; no: "fa.no"; np: "fa.np"; nq: "fa.nq"; nr: "fa.nr"; ns: "fa.ns"; nt: "fa.nt"; nu: "fa.nu"; nv: "fa.nv"; nw: "fa.nw"; nx: "fa.nx"; ny: "fa.ny"; nz: "fa.nz"; oa: "fa.oa"; ob: "fa.ob"; oc: "fa.oc"; od: "fa.od"; oe: "fa.oe"; of: "fa.of"; og: "fa.og"; oh: "fa.oh"; oi: "fa.oi"; oj: "fa.oj"; ok: "fa.ok"; ol: "fa.ol"; om: "fa.om"; on: "fa.on"; oo: "fa.oo"; op: "fa.op"; oq: "fa.oq"; or: "fa.or"; os: "fa.os"; ot: "fa.ot"; ou: "fa.ou"; ov: "fa.ov"; ow: "fa.ow"; ox: "fa.ox"; oy: "fa.oy"; oz: "fa.oz"; pa: "fa.pa"; pb: "fa.pb"; pc: "fa.pc"; pd: "fa.pd"; pe: "fa.pe"; pf: "fa.pf"; pg: "fa.pg"; ph: "fa.ph"; pi: "fa.pi"; pj: "fa.pj"; pk: "fa.pk"; pl: "fa.pl"; pm: "fa.pm"; pn: "fa.pn"; po: "fa.po"; pp: "fa.pp"; pq: "fa.pq"; pr: "fa.pr"; ps: "fa.ps"; pt: "fa.pt"; pu: "fa.pu"; pv: "fa.pv"; pw: "fa.pw"; px: "fa.px"; py: "fa.py"; pz: "fa.pz"; qa: "fa.qa"; qb: "fa.qb"; qc: "fa.qc"; qd: "fa.qd"; qe: "fa.qe"; qf: "fa.qf"; qg: "fa.qg"; qh: "fa.qh"; qi: "fa.qi"; qj: "fa.qj"; qk: "fa.qk"; ql: "fa.ql"; qm: "fa.qm"; qn: "fa.qn"; qo: "fa.qo"; qp: "fa.qp"; qq: "fa.qq"; qr: "fa.qr"; qs: "fa.qs"; qt: "fa.qt"; qu: "fa.qu"; qv: "fa.qv"; qw: "fa.qw"; qx: "fa.qx"; qy: "fa.qy"; qz: "fa.qz"; ra: "fa.ra"; rb: "fa.rb"; rc: "fa.rc"; rd: "fa.rd"; re: "fa.re"; rf: "fa.rf"; rg: "fa.rg"; rh: "fa.rh"; ri: "fa.ri"; rj: "fa.rj"; rk: "fa.rk"; rl: "fa.rl"; rm: "fa.rm"; rn: "fa.rn"; ro: "fa.ro"; rp: "fa.rp"; rq: "fa.rq"; rr: "fa.rr"; rs: "fa.rs"; rt: "fa.rt"; ru: "fa.ru"; rv: "fa.rv"; rw: "fa.rw"; rx: "fa.rx"; ry: "fa.ry"; rz: "fa.rz"; sa: "fa.sa"; sb: "fa.sb"; sc: "fa.sc"; sd: "fa.sd"; se: "fa.se"; sf: "fa.sf"; sg: "fa.sg"; sh: "fa.sh"; si: "fa.si"; sj: "fa.sj"; sk: "fa.sk"; sl: "fa.sl"; sm: "fa.sm"; sn: "fa.sn"; so: "fa.so"; sp: "fa.sp"; sq: "fa.sq"; sr: "fa.sr"; ss: "fa.ss"; st: "fa.st"; su: "fa.su"; sv: "fa.sv"; sw: "fa.sw"; sx: "fa.sx"; sy: "fa.sy"; sz: "fa.sz"; ta: "fa.ta"; tb: "fa.tb"; tc: "fa.tc"; td: "fa.td"; te: "fa.te"; tf: "fa.tf"; tg: "fa.tg"; th: "fa.th"; ti: "fa.ti"; tj: "fa.tj"; tk: "fa.tk"; tl: "fa.tl"; tm: "fa.tm"; tn: "fa.tn"; to: "fa.to"; tp: "fa.tp"; tq: "fa.tq"; tr: "fa.tr"; ts: "fa.ts"; tt: "fa.tt"; tu: "fa.tu"; tv: "fa.tv"; tw: "fa.tw"; tx: "fa.tx"; ty: "fa.ty"; tz: "fa.tz"; ua: "fa.ua"; ub: "fa.ub"; uc: "fa.uc"; ud: "fa.ud"; ue: "fa.ue"; uf: "fa.uf"; ug: "fa.ug"; uh: "fa.uh"; ui: "fa.ui"; uj: "fa.uj"; uk: "fa.uk"; ul: "fa.ul"; um: "fa.um"; un: "fa.un"; uo: "fa.uo"; up: "fa.up"; uq: "fa.uq"; ur: "fa.ur"; us: "fa.us"; ut: "fa.ut"; uu: "fa.uu"; uv: "fa.uv"; uw: "fa.uw"; ux: "fa.ux"; uy: "fa.uy"; uz: "fa.uz"; va: "fa.va"; vb: "fa.vb"; vc: "fa.vc"; vd: "fa.vd"; ve: "fa.ve"; vf: "fa.vf"; vg: "fa.vg"; vh: "fa.vh"; vi: "fa.vi"; vj: "fa.vj"; vk: "fa.vk"; vl: "fa.vl"; vm: "fa.vm"; vn: "fa.vn"; vo: "fa.vo"; vp: "fa.vp"; vq: "fa.vq"; vr: "fa.vr"; vs: "fa.vs"; vt: "fa.vt"; vu: "fa.vu"; vv: "fa.vv"; vw: "fa.vw"; vx: "fa.vx"; vy: "fa.vy"; vz: "fa.vz"; wa: "fa.wa"; wb: "fa.wb"; wc: "fa.wc"; wd: "fa.wd"; we: "fa.we"; wf: "fa.wf"; wg: "fa.wg"; wh: "fa.wh"; wi: "fa.wi"; wj: "fa.wj"; wk: "fa.wk"; wl: "fa.wl"; wm: "fa.wm"; wn: "fa.wn"; wo: "fa.wo"; wp: "fa.wp"; wq: "fa.wq"; wr: "fa.wr"; ws: "fa.ws"; wt: "fa.wt"; wu: "fa.wu"; wv: "fa.wv"; ww: "fa.ww"; wx: "fa.wx"; wy: "fa.wy"; wz: "fa.wz"; xa: "fa.xa"; xb: "fa.xb"; xc: "fa.xc"; xd: "fa.xd"; xe: "fa.xe"; xf: "fa.xf"; xg: "fa.xg"; xh: "fa.xh"; xi: "fa.xi"; xj: "fa.xj"; xk: "fa.xk"; xl: "fa.xl"; xm: "fa.xm"; xn: "fa.xn"; xo: "fa.xo"; xp: "fa.xp"; xq: "fa.xq"; xr: "fa.xr"; xs: "fa.xs"; xt: "fa.xt"; xu: "fa.xu"; xv: "fa.xv"; xw: "fa.xw"; xx: "fa.xx"; xy: "fa.xy"; xz: "fa.xz"; ya: "fa.ya"; yb: "fa.yb"; yc: "fa.yc"; yd: "fa.yd"; ye: "fa.ye"; yf: "fa.yf"; yg: "fa.yg"; yh: "fa.yh"; yi: "fa.yi"; yj: "fa.yj"; yk: "fa.yk"; yl: "fa.yl"; ym: "fa.ym"; yn: "fa.yn"; yo: "fa.yo"; yp: "fa.yp"; yq: "fa.yq"; yr: "fa.yr"; ys: "fa.ys"; yt: "fa.yt"; yu: "fa.yu"; yv: "fa.yv"; yw: "fa.yw"; yx: "fa.yx"; yy: "fa.yy"; yz: "fa.yz"; za: "fa.za"; zb: "fa.zb"; zc: "fa.zc"; zd: "fa.zd"; ze: "fa.ze"; zf: "fa.zf"; zg: "fa.zg"; zh: "fa.zh"; zi: "fa.zi"; zj: "fa.zj"; zk: "fa.zk"; zl: "fa.zl"; zm: "fa.zm"; zn: "fa.zn"; zo: "fa.zo"; zp: "fa.zp"; zq: "fa.zq"; zr: "fa.zr"; zs: "fa.zs"; zt: "fa.zt"; zu: "fa.zu"; zv: "fa.zv"; zw: "fa.zw"; zx: "fa.zx"; zy: "fa.zy"; zz: "fa.zz"; }; fb: { aa: "fb.aa"; ab: "fb.ab"; ac: "fb.ac"; ad: "fb.ad"; ae: "fb.ae"; af: "fb.af"; ag: "fb.ag"; ah: "fb.ah"; ai: "fb.ai"; aj: "fb.aj"; ak: "fb.ak"; al: "fb.al"; am: "fb.am"; an: "fb.an"; ao: "fb.ao"; ap: "fb.ap"; aq: "fb.aq"; ar: "fb.ar"; as: "fb.as"; at: "fb.at"; au: "fb.au"; av: "fb.av"; aw: "fb.aw"; ax: "fb.ax"; ay: "fb.ay"; az: "fb.az"; ba: "fb.ba"; bb: "fb.bb"; bc: "fb.bc"; bd: "fb.bd"; be: "fb.be"; bf: "fb.bf"; bg: "fb.bg"; bh: "fb.bh"; bi: "fb.bi"; bj: "fb.bj"; bk: "fb.bk"; bl: "fb.bl"; bm: "fb.bm"; bn: "fb.bn"; bo: "fb.bo"; bp: "fb.bp"; bq: "fb.bq"; br: "fb.br"; bs: "fb.bs"; bt: "fb.bt"; bu: "fb.bu"; bv: "fb.bv"; bw: "fb.bw"; bx: "fb.bx"; by: "fb.by"; bz: "fb.bz"; ca: "fb.ca"; cb: "fb.cb"; cc: "fb.cc"; cd: "fb.cd"; ce: "fb.ce"; cf: "fb.cf"; cg: "fb.cg"; ch: "fb.ch"; ci: "fb.ci"; cj: "fb.cj"; ck: "fb.ck"; cl: "fb.cl"; cm: "fb.cm"; cn: "fb.cn"; co: "fb.co"; cp: "fb.cp"; cq: "fb.cq"; cr: "fb.cr"; cs: "fb.cs"; ct: "fb.ct"; cu: "fb.cu"; cv: "fb.cv"; cw: "fb.cw"; cx: "fb.cx"; cy: "fb.cy"; cz: "fb.cz"; da: "fb.da"; db: "fb.db"; dc: "fb.dc"; dd: "fb.dd"; de: "fb.de"; df: "fb.df"; dg: "fb.dg"; dh: "fb.dh"; di: "fb.di"; dj: "fb.dj"; dk: "fb.dk"; dl: "fb.dl"; dm: "fb.dm"; dn: "fb.dn"; do: "fb.do"; dp: "fb.dp"; dq: "fb.dq"; dr: "fb.dr"; ds: "fb.ds"; dt: "fb.dt"; du: "fb.du"; dv: "fb.dv"; dw: "fb.dw"; dx: "fb.dx"; dy: "fb.dy"; dz: "fb.dz"; ea: "fb.ea"; eb: "fb.eb"; ec: "fb.ec"; ed: "fb.ed"; ee: "fb.ee"; ef: "fb.ef"; eg: "fb.eg"; eh: "fb.eh"; ei: "fb.ei"; ej: "fb.ej"; ek: "fb.ek"; el: "fb.el"; em: "fb.em"; en: "fb.en"; eo: "fb.eo"; ep: "fb.ep"; eq: "fb.eq"; er: "fb.er"; es: "fb.es"; et: "fb.et"; eu: "fb.eu"; ev: "fb.ev"; ew: "fb.ew"; ex: "fb.ex"; ey: "fb.ey"; ez: "fb.ez"; fa: "fb.fa"; fb: "fb.fb"; fc: "fb.fc"; fd: "fb.fd"; fe: "fb.fe"; ff: "fb.ff"; fg: "fb.fg"; fh: "fb.fh"; fi: "fb.fi"; fj: "fb.fj"; fk: "fb.fk"; fl: "fb.fl"; fm: "fb.fm"; fn: "fb.fn"; fo: "fb.fo"; fp: "fb.fp"; fq: "fb.fq"; fr: "fb.fr"; fs: "fb.fs"; ft: "fb.ft"; fu: "fb.fu"; fv: "fb.fv"; fw: "fb.fw"; fx: "fb.fx"; fy: "fb.fy"; fz: "fb.fz"; ga: "fb.ga"; gb: "fb.gb"; gc: "fb.gc"; gd: "fb.gd"; ge: "fb.ge"; gf: "fb.gf"; gg: "fb.gg"; gh: "fb.gh"; gi: "fb.gi"; gj: "fb.gj"; gk: "fb.gk"; gl: "fb.gl"; gm: "fb.gm"; gn: "fb.gn"; go: "fb.go"; gp: "fb.gp"; gq: "fb.gq"; gr: "fb.gr"; gs: "fb.gs"; gt: "fb.gt"; gu: "fb.gu"; gv: "fb.gv"; gw: "fb.gw"; gx: "fb.gx"; gy: "fb.gy"; gz: "fb.gz"; ha: "fb.ha"; hb: "fb.hb"; hc: "fb.hc"; hd: "fb.hd"; he: "fb.he"; hf: "fb.hf"; hg: "fb.hg"; hh: "fb.hh"; hi: "fb.hi"; hj: "fb.hj"; hk: "fb.hk"; hl: "fb.hl"; hm: "fb.hm"; hn: "fb.hn"; ho: "fb.ho"; hp: "fb.hp"; hq: "fb.hq"; hr: "fb.hr"; hs: "fb.hs"; ht: "fb.ht"; hu: "fb.hu"; hv: "fb.hv"; hw: "fb.hw"; hx: "fb.hx"; hy: "fb.hy"; hz: "fb.hz"; ia: "fb.ia"; ib: "fb.ib"; ic: "fb.ic"; id: "fb.id"; ie: "fb.ie"; if: "fb.if"; ig: "fb.ig"; ih: "fb.ih"; ii: "fb.ii"; ij: "fb.ij"; ik: "fb.ik"; il: "fb.il"; im: "fb.im"; in: "fb.in"; io: "fb.io"; ip: "fb.ip"; iq: "fb.iq"; ir: "fb.ir"; is: "fb.is"; it: "fb.it"; iu: "fb.iu"; iv: "fb.iv"; iw: "fb.iw"; ix: "fb.ix"; iy: "fb.iy"; iz: "fb.iz"; ja: "fb.ja"; jb: "fb.jb"; jc: "fb.jc"; jd: "fb.jd"; je: "fb.je"; jf: "fb.jf"; jg: "fb.jg"; jh: "fb.jh"; ji: "fb.ji"; jj: "fb.jj"; jk: "fb.jk"; jl: "fb.jl"; jm: "fb.jm"; jn: "fb.jn"; jo: "fb.jo"; jp: "fb.jp"; jq: "fb.jq"; jr: "fb.jr"; js: "fb.js"; jt: "fb.jt"; ju: "fb.ju"; jv: "fb.jv"; jw: "fb.jw"; jx: "fb.jx"; jy: "fb.jy"; jz: "fb.jz"; ka: "fb.ka"; kb: "fb.kb"; kc: "fb.kc"; kd: "fb.kd"; ke: "fb.ke"; kf: "fb.kf"; kg: "fb.kg"; kh: "fb.kh"; ki: "fb.ki"; kj: "fb.kj"; kk: "fb.kk"; kl: "fb.kl"; km: "fb.km"; kn: "fb.kn"; ko: "fb.ko"; kp: "fb.kp"; kq: "fb.kq"; kr: "fb.kr"; ks: "fb.ks"; kt: "fb.kt"; ku: "fb.ku"; kv: "fb.kv"; kw: "fb.kw"; kx: "fb.kx"; ky: "fb.ky"; kz: "fb.kz"; la: "fb.la"; lb: "fb.lb"; lc: "fb.lc"; ld: "fb.ld"; le: "fb.le"; lf: "fb.lf"; lg: "fb.lg"; lh: "fb.lh"; li: "fb.li"; lj: "fb.lj"; lk: "fb.lk"; ll: "fb.ll"; lm: "fb.lm"; ln: "fb.ln"; lo: "fb.lo"; lp: "fb.lp"; lq: "fb.lq"; lr: "fb.lr"; ls: "fb.ls"; lt: "fb.lt"; lu: "fb.lu"; lv: "fb.lv"; lw: "fb.lw"; lx: "fb.lx"; ly: "fb.ly"; lz: "fb.lz"; ma: "fb.ma"; mb: "fb.mb"; mc: "fb.mc"; md: "fb.md"; me: "fb.me"; mf: "fb.mf"; mg: "fb.mg"; mh: "fb.mh"; mi: "fb.mi"; mj: "fb.mj"; mk: "fb.mk"; ml: "fb.ml"; mm: "fb.mm"; mn: "fb.mn"; mo: "fb.mo"; mp: "fb.mp"; mq: "fb.mq"; mr: "fb.mr"; ms: "fb.ms"; mt: "fb.mt"; mu: "fb.mu"; mv: "fb.mv"; mw: "fb.mw"; mx: "fb.mx"; my: "fb.my"; mz: "fb.mz"; na: "fb.na"; nb: "fb.nb"; nc: "fb.nc"; nd: "fb.nd"; ne: "fb.ne"; nf: "fb.nf"; ng: "fb.ng"; nh: "fb.nh"; ni: "fb.ni"; nj: "fb.nj"; nk: "fb.nk"; nl: "fb.nl"; nm: "fb.nm"; nn: "fb.nn"; no: "fb.no"; np: "fb.np"; nq: "fb.nq"; nr: "fb.nr"; ns: "fb.ns"; nt: "fb.nt"; nu: "fb.nu"; nv: "fb.nv"; nw: "fb.nw"; nx: "fb.nx"; ny: "fb.ny"; nz: "fb.nz"; oa: "fb.oa"; ob: "fb.ob"; oc: "fb.oc"; od: "fb.od"; oe: "fb.oe"; of: "fb.of"; og: "fb.og"; oh: "fb.oh"; oi: "fb.oi"; oj: "fb.oj"; ok: "fb.ok"; ol: "fb.ol"; om: "fb.om"; on: "fb.on"; oo: "fb.oo"; op: "fb.op"; oq: "fb.oq"; or: "fb.or"; os: "fb.os"; ot: "fb.ot"; ou: "fb.ou"; ov: "fb.ov"; ow: "fb.ow"; ox: "fb.ox"; oy: "fb.oy"; oz: "fb.oz"; pa: "fb.pa"; pb: "fb.pb"; pc: "fb.pc"; pd: "fb.pd"; pe: "fb.pe"; pf: "fb.pf"; pg: "fb.pg"; ph: "fb.ph"; pi: "fb.pi"; pj: "fb.pj"; pk: "fb.pk"; pl: "fb.pl"; pm: "fb.pm"; pn: "fb.pn"; po: "fb.po"; pp: "fb.pp"; pq: "fb.pq"; pr: "fb.pr"; ps: "fb.ps"; pt: "fb.pt"; pu: "fb.pu"; pv: "fb.pv"; pw: "fb.pw"; px: "fb.px"; py: "fb.py"; pz: "fb.pz"; qa: "fb.qa"; qb: "fb.qb"; qc: "fb.qc"; qd: "fb.qd"; qe: "fb.qe"; qf: "fb.qf"; qg: "fb.qg"; qh: "fb.qh"; qi: "fb.qi"; qj: "fb.qj"; qk: "fb.qk"; ql: "fb.ql"; qm: "fb.qm"; qn: "fb.qn"; qo: "fb.qo"; qp: "fb.qp"; qq: "fb.qq"; qr: "fb.qr"; qs: "fb.qs"; qt: "fb.qt"; qu: "fb.qu"; qv: "fb.qv"; qw: "fb.qw"; qx: "fb.qx"; qy: "fb.qy"; qz: "fb.qz"; ra: "fb.ra"; rb: "fb.rb"; rc: "fb.rc"; rd: "fb.rd"; re: "fb.re"; rf: "fb.rf"; rg: "fb.rg"; rh: "fb.rh"; ri: "fb.ri"; rj: "fb.rj"; rk: "fb.rk"; rl: "fb.rl"; rm: "fb.rm"; rn: "fb.rn"; ro: "fb.ro"; rp: "fb.rp"; rq: "fb.rq"; rr: "fb.rr"; rs: "fb.rs"; rt: "fb.rt"; ru: "fb.ru"; rv: "fb.rv"; rw: "fb.rw"; rx: "fb.rx"; ry: "fb.ry"; rz: "fb.rz"; sa: "fb.sa"; sb: "fb.sb"; sc: "fb.sc"; sd: "fb.sd"; se: "fb.se"; sf: "fb.sf"; sg: "fb.sg"; sh: "fb.sh"; si: "fb.si"; sj: "fb.sj"; sk: "fb.sk"; sl: "fb.sl"; sm: "fb.sm"; sn: "fb.sn"; so: "fb.so"; sp: "fb.sp"; sq: "fb.sq"; sr: "fb.sr"; ss: "fb.ss"; st: "fb.st"; su: "fb.su"; sv: "fb.sv"; sw: "fb.sw"; sx: "fb.sx"; sy: "fb.sy"; sz: "fb.sz"; ta: "fb.ta"; tb: "fb.tb"; tc: "fb.tc"; td: "fb.td"; te: "fb.te"; tf: "fb.tf"; tg: "fb.tg"; th: "fb.th"; ti: "fb.ti"; tj: "fb.tj"; tk: "fb.tk"; tl: "fb.tl"; tm: "fb.tm"; tn: "fb.tn"; to: "fb.to"; tp: "fb.tp"; tq: "fb.tq"; tr: "fb.tr"; ts: "fb.ts"; tt: "fb.tt"; tu: "fb.tu"; tv: "fb.tv"; tw: "fb.tw"; tx: "fb.tx"; ty: "fb.ty"; tz: "fb.tz"; ua: "fb.ua"; ub: "fb.ub"; uc: "fb.uc"; ud: "fb.ud"; ue: "fb.ue"; uf: "fb.uf"; ug: "fb.ug"; uh: "fb.uh"; ui: "fb.ui"; uj: "fb.uj"; uk: "fb.uk"; ul: "fb.ul"; um: "fb.um"; un: "fb.un"; uo: "fb.uo"; up: "fb.up"; uq: "fb.uq"; ur: "fb.ur"; us: "fb.us"; ut: "fb.ut"; uu: "fb.uu"; uv: "fb.uv"; uw: "fb.uw"; ux: "fb.ux"; uy: "fb.uy"; uz: "fb.uz"; va: "fb.va"; vb: "fb.vb"; vc: "fb.vc"; vd: "fb.vd"; ve: "fb.ve"; vf: "fb.vf"; vg: "fb.vg"; vh: "fb.vh"; vi: "fb.vi"; vj: "fb.vj"; vk: "fb.vk"; vl: "fb.vl"; vm: "fb.vm"; vn: "fb.vn"; vo: "fb.vo"; vp: "fb.vp"; vq: "fb.vq"; vr: "fb.vr"; vs: "fb.vs"; vt: "fb.vt"; vu: "fb.vu"; vv: "fb.vv"; vw: "fb.vw"; vx: "fb.vx"; vy: "fb.vy"; vz: "fb.vz"; wa: "fb.wa"; wb: "fb.wb"; wc: "fb.wc"; wd: "fb.wd"; we: "fb.we"; wf: "fb.wf"; wg: "fb.wg"; wh: "fb.wh"; wi: "fb.wi"; wj: "fb.wj"; wk: "fb.wk"; wl: "fb.wl"; wm: "fb.wm"; wn: "fb.wn"; wo: "fb.wo"; wp: "fb.wp"; wq: "fb.wq"; wr: "fb.wr"; ws: "fb.ws"; wt: "fb.wt"; wu: "fb.wu"; wv: "fb.wv"; ww: "fb.ww"; wx: "fb.wx"; wy: "fb.wy"; wz: "fb.wz"; xa: "fb.xa"; xb: "fb.xb"; xc: "fb.xc"; xd: "fb.xd"; xe: "fb.xe"; xf: "fb.xf"; xg: "fb.xg"; xh: "fb.xh"; xi: "fb.xi"; xj: "fb.xj"; xk: "fb.xk"; xl: "fb.xl"; xm: "fb.xm"; xn: "fb.xn"; xo: "fb.xo"; xp: "fb.xp"; xq: "fb.xq"; xr: "fb.xr"; xs: "fb.xs"; xt: "fb.xt"; xu: "fb.xu"; xv: "fb.xv"; xw: "fb.xw"; xx: "fb.xx"; xy: "fb.xy"; xz: "fb.xz"; ya: "fb.ya"; yb: "fb.yb"; yc: "fb.yc"; yd: "fb.yd"; ye: "fb.ye"; yf: "fb.yf"; yg: "fb.yg"; yh: "fb.yh"; yi: "fb.yi"; yj: "fb.yj"; yk: "fb.yk"; yl: "fb.yl"; ym: "fb.ym"; yn: "fb.yn"; yo: "fb.yo"; yp: "fb.yp"; yq: "fb.yq"; yr: "fb.yr"; ys: "fb.ys"; yt: "fb.yt"; yu: "fb.yu"; yv: "fb.yv"; yw: "fb.yw"; yx: "fb.yx"; yy: "fb.yy"; yz: "fb.yz"; za: "fb.za"; zb: "fb.zb"; zc: "fb.zc"; zd: "fb.zd"; ze: "fb.ze"; zf: "fb.zf"; zg: "fb.zg"; zh: "fb.zh"; zi: "fb.zi"; zj: "fb.zj"; zk: "fb.zk"; zl: "fb.zl"; zm: "fb.zm"; zn: "fb.zn"; zo: "fb.zo"; zp: "fb.zp"; zq: "fb.zq"; zr: "fb.zr"; zs: "fb.zs"; zt: "fb.zt"; zu: "fb.zu"; zv: "fb.zv"; zw: "fb.zw"; zx: "fb.zx"; zy: "fb.zy"; zz: "fb.zz"; }; fc: { aa: "fc.aa"; ab: "fc.ab"; ac: "fc.ac"; ad: "fc.ad"; ae: "fc.ae"; af: "fc.af"; ag: "fc.ag"; ah: "fc.ah"; ai: "fc.ai"; aj: "fc.aj"; ak: "fc.ak"; al: "fc.al"; am: "fc.am"; an: "fc.an"; ao: "fc.ao"; ap: "fc.ap"; aq: "fc.aq"; ar: "fc.ar"; as: "fc.as"; at: "fc.at"; au: "fc.au"; av: "fc.av"; aw: "fc.aw"; ax: "fc.ax"; ay: "fc.ay"; az: "fc.az"; ba: "fc.ba"; bb: "fc.bb"; bc: "fc.bc"; bd: "fc.bd"; be: "fc.be"; bf: "fc.bf"; bg: "fc.bg"; bh: "fc.bh"; bi: "fc.bi"; bj: "fc.bj"; bk: "fc.bk"; bl: "fc.bl"; bm: "fc.bm"; bn: "fc.bn"; bo: "fc.bo"; bp: "fc.bp"; bq: "fc.bq"; br: "fc.br"; bs: "fc.bs"; bt: "fc.bt"; bu: "fc.bu"; bv: "fc.bv"; bw: "fc.bw"; bx: "fc.bx"; by: "fc.by"; bz: "fc.bz"; ca: "fc.ca"; cb: "fc.cb"; cc: "fc.cc"; cd: "fc.cd"; ce: "fc.ce"; cf: "fc.cf"; cg: "fc.cg"; ch: "fc.ch"; ci: "fc.ci"; cj: "fc.cj"; ck: "fc.ck"; cl: "fc.cl"; cm: "fc.cm"; cn: "fc.cn"; co: "fc.co"; cp: "fc.cp"; cq: "fc.cq"; cr: "fc.cr"; cs: "fc.cs"; ct: "fc.ct"; cu: "fc.cu"; cv: "fc.cv"; cw: "fc.cw"; cx: "fc.cx"; cy: "fc.cy"; cz: "fc.cz"; da: "fc.da"; db: "fc.db"; dc: "fc.dc"; dd: "fc.dd"; de: "fc.de"; df: "fc.df"; dg: "fc.dg"; dh: "fc.dh"; di: "fc.di"; dj: "fc.dj"; dk: "fc.dk"; dl: "fc.dl"; dm: "fc.dm"; dn: "fc.dn"; do: "fc.do"; dp: "fc.dp"; dq: "fc.dq"; dr: "fc.dr"; ds: "fc.ds"; dt: "fc.dt"; du: "fc.du"; dv: "fc.dv"; dw: "fc.dw"; dx: "fc.dx"; dy: "fc.dy"; dz: "fc.dz"; ea: "fc.ea"; eb: "fc.eb"; ec: "fc.ec"; ed: "fc.ed"; ee: "fc.ee"; ef: "fc.ef"; eg: "fc.eg"; eh: "fc.eh"; ei: "fc.ei"; ej: "fc.ej"; ek: "fc.ek"; el: "fc.el"; em: "fc.em"; en: "fc.en"; eo: "fc.eo"; ep: "fc.ep"; eq: "fc.eq"; er: "fc.er"; es: "fc.es"; et: "fc.et"; eu: "fc.eu"; ev: "fc.ev"; ew: "fc.ew"; ex: "fc.ex"; ey: "fc.ey"; ez: "fc.ez"; fa: "fc.fa"; fb: "fc.fb"; fc: "fc.fc"; fd: "fc.fd"; fe: "fc.fe"; ff: "fc.ff"; fg: "fc.fg"; fh: "fc.fh"; fi: "fc.fi"; fj: "fc.fj"; fk: "fc.fk"; fl: "fc.fl"; fm: "fc.fm"; fn: "fc.fn"; fo: "fc.fo"; fp: "fc.fp"; fq: "fc.fq"; fr: "fc.fr"; fs: "fc.fs"; ft: "fc.ft"; fu: "fc.fu"; fv: "fc.fv"; fw: "fc.fw"; fx: "fc.fx"; fy: "fc.fy"; fz: "fc.fz"; ga: "fc.ga"; gb: "fc.gb"; gc: "fc.gc"; gd: "fc.gd"; ge: "fc.ge"; gf: "fc.gf"; gg: "fc.gg"; gh: "fc.gh"; gi: "fc.gi"; gj: "fc.gj"; gk: "fc.gk"; gl: "fc.gl"; gm: "fc.gm"; gn: "fc.gn"; go: "fc.go"; gp: "fc.gp"; gq: "fc.gq"; gr: "fc.gr"; gs: "fc.gs"; gt: "fc.gt"; gu: "fc.gu"; gv: "fc.gv"; gw: "fc.gw"; gx: "fc.gx"; gy: "fc.gy"; gz: "fc.gz"; ha: "fc.ha"; hb: "fc.hb"; hc: "fc.hc"; hd: "fc.hd"; he: "fc.he"; hf: "fc.hf"; hg: "fc.hg"; hh: "fc.hh"; hi: "fc.hi"; hj: "fc.hj"; hk: "fc.hk"; hl: "fc.hl"; hm: "fc.hm"; hn: "fc.hn"; ho: "fc.ho"; hp: "fc.hp"; hq: "fc.hq"; hr: "fc.hr"; hs: "fc.hs"; ht: "fc.ht"; hu: "fc.hu"; hv: "fc.hv"; hw: "fc.hw"; hx: "fc.hx"; hy: "fc.hy"; hz: "fc.hz"; ia: "fc.ia"; ib: "fc.ib"; ic: "fc.ic"; id: "fc.id"; ie: "fc.ie"; if: "fc.if"; ig: "fc.ig"; ih: "fc.ih"; ii: "fc.ii"; ij: "fc.ij"; ik: "fc.ik"; il: "fc.il"; im: "fc.im"; in: "fc.in"; io: "fc.io"; ip: "fc.ip"; iq: "fc.iq"; ir: "fc.ir"; is: "fc.is"; it: "fc.it"; iu: "fc.iu"; iv: "fc.iv"; iw: "fc.iw"; ix: "fc.ix"; iy: "fc.iy"; iz: "fc.iz"; ja: "fc.ja"; jb: "fc.jb"; jc: "fc.jc"; jd: "fc.jd"; je: "fc.je"; jf: "fc.jf"; jg: "fc.jg"; jh: "fc.jh"; ji: "fc.ji"; jj: "fc.jj"; jk: "fc.jk"; jl: "fc.jl"; jm: "fc.jm"; jn: "fc.jn"; jo: "fc.jo"; jp: "fc.jp"; jq: "fc.jq"; jr: "fc.jr"; js: "fc.js"; jt: "fc.jt"; ju: "fc.ju"; jv: "fc.jv"; jw: "fc.jw"; jx: "fc.jx"; jy: "fc.jy"; jz: "fc.jz"; ka: "fc.ka"; kb: "fc.kb"; kc: "fc.kc"; kd: "fc.kd"; ke: "fc.ke"; kf: "fc.kf"; kg: "fc.kg"; kh: "fc.kh"; ki: "fc.ki"; kj: "fc.kj"; kk: "fc.kk"; kl: "fc.kl"; km: "fc.km"; kn: "fc.kn"; ko: "fc.ko"; kp: "fc.kp"; kq: "fc.kq"; kr: "fc.kr"; ks: "fc.ks"; kt: "fc.kt"; ku: "fc.ku"; kv: "fc.kv"; kw: "fc.kw"; kx: "fc.kx"; ky: "fc.ky"; kz: "fc.kz"; la: "fc.la"; lb: "fc.lb"; lc: "fc.lc"; ld: "fc.ld"; le: "fc.le"; lf: "fc.lf"; lg: "fc.lg"; lh: "fc.lh"; li: "fc.li"; lj: "fc.lj"; lk: "fc.lk"; ll: "fc.ll"; lm: "fc.lm"; ln: "fc.ln"; lo: "fc.lo"; lp: "fc.lp"; lq: "fc.lq"; lr: "fc.lr"; ls: "fc.ls"; lt: "fc.lt"; lu: "fc.lu"; lv: "fc.lv"; lw: "fc.lw"; lx: "fc.lx"; ly: "fc.ly"; lz: "fc.lz"; ma: "fc.ma"; mb: "fc.mb"; mc: "fc.mc"; md: "fc.md"; me: "fc.me"; mf: "fc.mf"; mg: "fc.mg"; mh: "fc.mh"; mi: "fc.mi"; mj: "fc.mj"; mk: "fc.mk"; ml: "fc.ml"; mm: "fc.mm"; mn: "fc.mn"; mo: "fc.mo"; mp: "fc.mp"; mq: "fc.mq"; mr: "fc.mr"; ms: "fc.ms"; mt: "fc.mt"; mu: "fc.mu"; mv: "fc.mv"; mw: "fc.mw"; mx: "fc.mx"; my: "fc.my"; mz: "fc.mz"; na: "fc.na"; nb: "fc.nb"; nc: "fc.nc"; nd: "fc.nd"; ne: "fc.ne"; nf: "fc.nf"; ng: "fc.ng"; nh: "fc.nh"; ni: "fc.ni"; nj: "fc.nj"; nk: "fc.nk"; nl: "fc.nl"; nm: "fc.nm"; nn: "fc.nn"; no: "fc.no"; np: "fc.np"; nq: "fc.nq"; nr: "fc.nr"; ns: "fc.ns"; nt: "fc.nt"; nu: "fc.nu"; nv: "fc.nv"; nw: "fc.nw"; nx: "fc.nx"; ny: "fc.ny"; nz: "fc.nz"; oa: "fc.oa"; ob: "fc.ob"; oc: "fc.oc"; od: "fc.od"; oe: "fc.oe"; of: "fc.of"; og: "fc.og"; oh: "fc.oh"; oi: "fc.oi"; oj: "fc.oj"; ok: "fc.ok"; ol: "fc.ol"; om: "fc.om"; on: "fc.on"; oo: "fc.oo"; op: "fc.op"; oq: "fc.oq"; or: "fc.or"; os: "fc.os"; ot: "fc.ot"; ou: "fc.ou"; ov: "fc.ov"; ow: "fc.ow"; ox: "fc.ox"; oy: "fc.oy"; oz: "fc.oz"; pa: "fc.pa"; pb: "fc.pb"; pc: "fc.pc"; pd: "fc.pd"; pe: "fc.pe"; pf: "fc.pf"; pg: "fc.pg"; ph: "fc.ph"; pi: "fc.pi"; pj: "fc.pj"; pk: "fc.pk"; pl: "fc.pl"; pm: "fc.pm"; pn: "fc.pn"; po: "fc.po"; pp: "fc.pp"; pq: "fc.pq"; pr: "fc.pr"; ps: "fc.ps"; pt: "fc.pt"; pu: "fc.pu"; pv: "fc.pv"; pw: "fc.pw"; px: "fc.px"; py: "fc.py"; pz: "fc.pz"; qa: "fc.qa"; qb: "fc.qb"; qc: "fc.qc"; qd: "fc.qd"; qe: "fc.qe"; qf: "fc.qf"; qg: "fc.qg"; qh: "fc.qh"; qi: "fc.qi"; qj: "fc.qj"; qk: "fc.qk"; ql: "fc.ql"; qm: "fc.qm"; qn: "fc.qn"; qo: "fc.qo"; qp: "fc.qp"; qq: "fc.qq"; qr: "fc.qr"; qs: "fc.qs"; qt: "fc.qt"; qu: "fc.qu"; qv: "fc.qv"; qw: "fc.qw"; qx: "fc.qx"; qy: "fc.qy"; qz: "fc.qz"; ra: "fc.ra"; rb: "fc.rb"; rc: "fc.rc"; rd: "fc.rd"; re: "fc.re"; rf: "fc.rf"; rg: "fc.rg"; rh: "fc.rh"; ri: "fc.ri"; rj: "fc.rj"; rk: "fc.rk"; rl: "fc.rl"; rm: "fc.rm"; rn: "fc.rn"; ro: "fc.ro"; rp: "fc.rp"; rq: "fc.rq"; rr: "fc.rr"; rs: "fc.rs"; rt: "fc.rt"; ru: "fc.ru"; rv: "fc.rv"; rw: "fc.rw"; rx: "fc.rx"; ry: "fc.ry"; rz: "fc.rz"; sa: "fc.sa"; sb: "fc.sb"; sc: "fc.sc"; sd: "fc.sd"; se: "fc.se"; sf: "fc.sf"; sg: "fc.sg"; sh: "fc.sh"; si: "fc.si"; sj: "fc.sj"; sk: "fc.sk"; sl: "fc.sl"; sm: "fc.sm"; sn: "fc.sn"; so: "fc.so"; sp: "fc.sp"; sq: "fc.sq"; sr: "fc.sr"; ss: "fc.ss"; st: "fc.st"; su: "fc.su"; sv: "fc.sv"; sw: "fc.sw"; sx: "fc.sx"; sy: "fc.sy"; sz: "fc.sz"; ta: "fc.ta"; tb: "fc.tb"; tc: "fc.tc"; td: "fc.td"; te: "fc.te"; tf: "fc.tf"; tg: "fc.tg"; th: "fc.th"; ti: "fc.ti"; tj: "fc.tj"; tk: "fc.tk"; tl: "fc.tl"; tm: "fc.tm"; tn: "fc.tn"; to: "fc.to"; tp: "fc.tp"; tq: "fc.tq"; tr: "fc.tr"; ts: "fc.ts"; tt: "fc.tt"; tu: "fc.tu"; tv: "fc.tv"; tw: "fc.tw"; tx: "fc.tx"; ty: "fc.ty"; tz: "fc.tz"; ua: "fc.ua"; ub: "fc.ub"; uc: "fc.uc"; ud: "fc.ud"; ue: "fc.ue"; uf: "fc.uf"; ug: "fc.ug"; uh: "fc.uh"; ui: "fc.ui"; uj: "fc.uj"; uk: "fc.uk"; ul: "fc.ul"; um: "fc.um"; un: "fc.un"; uo: "fc.uo"; up: "fc.up"; uq: "fc.uq"; ur: "fc.ur"; us: "fc.us"; ut: "fc.ut"; uu: "fc.uu"; uv: "fc.uv"; uw: "fc.uw"; ux: "fc.ux"; uy: "fc.uy"; uz: "fc.uz"; va: "fc.va"; vb: "fc.vb"; vc: "fc.vc"; vd: "fc.vd"; ve: "fc.ve"; vf: "fc.vf"; vg: "fc.vg"; vh: "fc.vh"; vi: "fc.vi"; vj: "fc.vj"; vk: "fc.vk"; vl: "fc.vl"; vm: "fc.vm"; vn: "fc.vn"; vo: "fc.vo"; vp: "fc.vp"; vq: "fc.vq"; vr: "fc.vr"; vs: "fc.vs"; vt: "fc.vt"; vu: "fc.vu"; vv: "fc.vv"; vw: "fc.vw"; vx: "fc.vx"; vy: "fc.vy"; vz: "fc.vz"; wa: "fc.wa"; wb: "fc.wb"; wc: "fc.wc"; wd: "fc.wd"; we: "fc.we"; wf: "fc.wf"; wg: "fc.wg"; wh: "fc.wh"; wi: "fc.wi"; wj: "fc.wj"; wk: "fc.wk"; wl: "fc.wl"; wm: "fc.wm"; wn: "fc.wn"; wo: "fc.wo"; wp: "fc.wp"; wq: "fc.wq"; wr: "fc.wr"; ws: "fc.ws"; wt: "fc.wt"; wu: "fc.wu"; wv: "fc.wv"; ww: "fc.ww"; wx: "fc.wx"; wy: "fc.wy"; wz: "fc.wz"; xa: "fc.xa"; xb: "fc.xb"; xc: "fc.xc"; xd: "fc.xd"; xe: "fc.xe"; xf: "fc.xf"; xg: "fc.xg"; xh: "fc.xh"; xi: "fc.xi"; xj: "fc.xj"; xk: "fc.xk"; xl: "fc.xl"; xm: "fc.xm"; xn: "fc.xn"; xo: "fc.xo"; xp: "fc.xp"; xq: "fc.xq"; xr: "fc.xr"; xs: "fc.xs"; xt: "fc.xt"; xu: "fc.xu"; xv: "fc.xv"; xw: "fc.xw"; xx: "fc.xx"; xy: "fc.xy"; xz: "fc.xz"; ya: "fc.ya"; yb: "fc.yb"; yc: "fc.yc"; yd: "fc.yd"; ye: "fc.ye"; yf: "fc.yf"; yg: "fc.yg"; yh: "fc.yh"; yi: "fc.yi"; yj: "fc.yj"; yk: "fc.yk"; yl: "fc.yl"; ym: "fc.ym"; yn: "fc.yn"; yo: "fc.yo"; yp: "fc.yp"; yq: "fc.yq"; yr: "fc.yr"; ys: "fc.ys"; yt: "fc.yt"; yu: "fc.yu"; yv: "fc.yv"; yw: "fc.yw"; yx: "fc.yx"; yy: "fc.yy"; yz: "fc.yz"; za: "fc.za"; zb: "fc.zb"; zc: "fc.zc"; zd: "fc.zd"; ze: "fc.ze"; zf: "fc.zf"; zg: "fc.zg"; zh: "fc.zh"; zi: "fc.zi"; zj: "fc.zj"; zk: "fc.zk"; zl: "fc.zl"; zm: "fc.zm"; zn: "fc.zn"; zo: "fc.zo"; zp: "fc.zp"; zq: "fc.zq"; zr: "fc.zr"; zs: "fc.zs"; zt: "fc.zt"; zu: "fc.zu"; zv: "fc.zv"; zw: "fc.zw"; zx: "fc.zx"; zy: "fc.zy"; zz: "fc.zz"; }; fd: { aa: "fd.aa"; ab: "fd.ab"; ac: "fd.ac"; ad: "fd.ad"; ae: "fd.ae"; af: "fd.af"; ag: "fd.ag"; ah: "fd.ah"; ai: "fd.ai"; aj: "fd.aj"; ak: "fd.ak"; al: "fd.al"; am: "fd.am"; an: "fd.an"; ao: "fd.ao"; ap: "fd.ap"; aq: "fd.aq"; ar: "fd.ar"; as: "fd.as"; at: "fd.at"; au: "fd.au"; av: "fd.av"; aw: "fd.aw"; ax: "fd.ax"; ay: "fd.ay"; az: "fd.az"; ba: "fd.ba"; bb: "fd.bb"; bc: "fd.bc"; bd: "fd.bd"; be: "fd.be"; bf: "fd.bf"; bg: "fd.bg"; bh: "fd.bh"; bi: "fd.bi"; bj: "fd.bj"; bk: "fd.bk"; bl: "fd.bl"; bm: "fd.bm"; bn: "fd.bn"; bo: "fd.bo"; bp: "fd.bp"; bq: "fd.bq"; br: "fd.br"; bs: "fd.bs"; bt: "fd.bt"; bu: "fd.bu"; bv: "fd.bv"; bw: "fd.bw"; bx: "fd.bx"; by: "fd.by"; bz: "fd.bz"; ca: "fd.ca"; cb: "fd.cb"; cc: "fd.cc"; cd: "fd.cd"; ce: "fd.ce"; cf: "fd.cf"; cg: "fd.cg"; ch: "fd.ch"; ci: "fd.ci"; cj: "fd.cj"; ck: "fd.ck"; cl: "fd.cl"; cm: "fd.cm"; cn: "fd.cn"; co: "fd.co"; cp: "fd.cp"; cq: "fd.cq"; cr: "fd.cr"; cs: "fd.cs"; ct: "fd.ct"; cu: "fd.cu"; cv: "fd.cv"; cw: "fd.cw"; cx: "fd.cx"; cy: "fd.cy"; cz: "fd.cz"; da: "fd.da"; db: "fd.db"; dc: "fd.dc"; dd: "fd.dd"; de: "fd.de"; df: "fd.df"; dg: "fd.dg"; dh: "fd.dh"; di: "fd.di"; dj: "fd.dj"; dk: "fd.dk"; dl: "fd.dl"; dm: "fd.dm"; dn: "fd.dn"; do: "fd.do"; dp: "fd.dp"; dq: "fd.dq"; dr: "fd.dr"; ds: "fd.ds"; dt: "fd.dt"; du: "fd.du"; dv: "fd.dv"; dw: "fd.dw"; dx: "fd.dx"; dy: "fd.dy"; dz: "fd.dz"; ea: "fd.ea"; eb: "fd.eb"; ec: "fd.ec"; ed: "fd.ed"; ee: "fd.ee"; ef: "fd.ef"; eg: "fd.eg"; eh: "fd.eh"; ei: "fd.ei"; ej: "fd.ej"; ek: "fd.ek"; el: "fd.el"; em: "fd.em"; en: "fd.en"; eo: "fd.eo"; ep: "fd.ep"; eq: "fd.eq"; er: "fd.er"; es: "fd.es"; et: "fd.et"; eu: "fd.eu"; ev: "fd.ev"; ew: "fd.ew"; ex: "fd.ex"; ey: "fd.ey"; ez: "fd.ez"; fa: "fd.fa"; fb: "fd.fb"; fc: "fd.fc"; fd: "fd.fd"; fe: "fd.fe"; ff: "fd.ff"; fg: "fd.fg"; fh: "fd.fh"; fi: "fd.fi"; fj: "fd.fj"; fk: "fd.fk"; fl: "fd.fl"; fm: "fd.fm"; fn: "fd.fn"; fo: "fd.fo"; fp: "fd.fp"; fq: "fd.fq"; fr: "fd.fr"; fs: "fd.fs"; ft: "fd.ft"; fu: "fd.fu"; fv: "fd.fv"; fw: "fd.fw"; fx: "fd.fx"; fy: "fd.fy"; fz: "fd.fz"; ga: "fd.ga"; gb: "fd.gb"; gc: "fd.gc"; gd: "fd.gd"; ge: "fd.ge"; gf: "fd.gf"; gg: "fd.gg"; gh: "fd.gh"; gi: "fd.gi"; gj: "fd.gj"; gk: "fd.gk"; gl: "fd.gl"; gm: "fd.gm"; gn: "fd.gn"; go: "fd.go"; gp: "fd.gp"; gq: "fd.gq"; gr: "fd.gr"; gs: "fd.gs"; gt: "fd.gt"; gu: "fd.gu"; gv: "fd.gv"; gw: "fd.gw"; gx: "fd.gx"; gy: "fd.gy"; gz: "fd.gz"; ha: "fd.ha"; hb: "fd.hb"; hc: "fd.hc"; hd: "fd.hd"; he: "fd.he"; hf: "fd.hf"; hg: "fd.hg"; hh: "fd.hh"; hi: "fd.hi"; hj: "fd.hj"; hk: "fd.hk"; hl: "fd.hl"; hm: "fd.hm"; hn: "fd.hn"; ho: "fd.ho"; hp: "fd.hp"; hq: "fd.hq"; hr: "fd.hr"; hs: "fd.hs"; ht: "fd.ht"; hu: "fd.hu"; hv: "fd.hv"; hw: "fd.hw"; hx: "fd.hx"; hy: "fd.hy"; hz: "fd.hz"; ia: "fd.ia"; ib: "fd.ib"; ic: "fd.ic"; id: "fd.id"; ie: "fd.ie"; if: "fd.if"; ig: "fd.ig"; ih: "fd.ih"; ii: "fd.ii"; ij: "fd.ij"; ik: "fd.ik"; il: "fd.il"; im: "fd.im"; in: "fd.in"; io: "fd.io"; ip: "fd.ip"; iq: "fd.iq"; ir: "fd.ir"; is: "fd.is"; it: "fd.it"; iu: "fd.iu"; iv: "fd.iv"; iw: "fd.iw"; ix: "fd.ix"; iy: "fd.iy"; iz: "fd.iz"; ja: "fd.ja"; jb: "fd.jb"; jc: "fd.jc"; jd: "fd.jd"; je: "fd.je"; jf: "fd.jf"; jg: "fd.jg"; jh: "fd.jh"; ji: "fd.ji"; jj: "fd.jj"; jk: "fd.jk"; jl: "fd.jl"; jm: "fd.jm"; jn: "fd.jn"; jo: "fd.jo"; jp: "fd.jp"; jq: "fd.jq"; jr: "fd.jr"; js: "fd.js"; jt: "fd.jt"; ju: "fd.ju"; jv: "fd.jv"; jw: "fd.jw"; jx: "fd.jx"; jy: "fd.jy"; jz: "fd.jz"; ka: "fd.ka"; kb: "fd.kb"; kc: "fd.kc"; kd: "fd.kd"; ke: "fd.ke"; kf: "fd.kf"; kg: "fd.kg"; kh: "fd.kh"; ki: "fd.ki"; kj: "fd.kj"; kk: "fd.kk"; kl: "fd.kl"; km: "fd.km"; kn: "fd.kn"; ko: "fd.ko"; kp: "fd.kp"; kq: "fd.kq"; kr: "fd.kr"; ks: "fd.ks"; kt: "fd.kt"; ku: "fd.ku"; kv: "fd.kv"; kw: "fd.kw"; kx: "fd.kx"; ky: "fd.ky"; kz: "fd.kz"; la: "fd.la"; lb: "fd.lb"; lc: "fd.lc"; ld: "fd.ld"; le: "fd.le"; lf: "fd.lf"; lg: "fd.lg"; lh: "fd.lh"; li: "fd.li"; lj: "fd.lj"; lk: "fd.lk"; ll: "fd.ll"; lm: "fd.lm"; ln: "fd.ln"; lo: "fd.lo"; lp: "fd.lp"; lq: "fd.lq"; lr: "fd.lr"; ls: "fd.ls"; lt: "fd.lt"; lu: "fd.lu"; lv: "fd.lv"; lw: "fd.lw"; lx: "fd.lx"; ly: "fd.ly"; lz: "fd.lz"; ma: "fd.ma"; mb: "fd.mb"; mc: "fd.mc"; md: "fd.md"; me: "fd.me"; mf: "fd.mf"; mg: "fd.mg"; mh: "fd.mh"; mi: "fd.mi"; mj: "fd.mj"; mk: "fd.mk"; ml: "fd.ml"; mm: "fd.mm"; mn: "fd.mn"; mo: "fd.mo"; mp: "fd.mp"; mq: "fd.mq"; mr: "fd.mr"; ms: "fd.ms"; mt: "fd.mt"; mu: "fd.mu"; mv: "fd.mv"; mw: "fd.mw"; mx: "fd.mx"; my: "fd.my"; mz: "fd.mz"; na: "fd.na"; nb: "fd.nb"; nc: "fd.nc"; nd: "fd.nd"; ne: "fd.ne"; nf: "fd.nf"; ng: "fd.ng"; nh: "fd.nh"; ni: "fd.ni"; nj: "fd.nj"; nk: "fd.nk"; nl: "fd.nl"; nm: "fd.nm"; nn: "fd.nn"; no: "fd.no"; np: "fd.np"; nq: "fd.nq"; nr: "fd.nr"; ns: "fd.ns"; nt: "fd.nt"; nu: "fd.nu"; nv: "fd.nv"; nw: "fd.nw"; nx: "fd.nx"; ny: "fd.ny"; nz: "fd.nz"; oa: "fd.oa"; ob: "fd.ob"; oc: "fd.oc"; od: "fd.od"; oe: "fd.oe"; of: "fd.of"; og: "fd.og"; oh: "fd.oh"; oi: "fd.oi"; oj: "fd.oj"; ok: "fd.ok"; ol: "fd.ol"; om: "fd.om"; on: "fd.on"; oo: "fd.oo"; op: "fd.op"; oq: "fd.oq"; or: "fd.or"; os: "fd.os"; ot: "fd.ot"; ou: "fd.ou"; ov: "fd.ov"; ow: "fd.ow"; ox: "fd.ox"; oy: "fd.oy"; oz: "fd.oz"; pa: "fd.pa"; pb: "fd.pb"; pc: "fd.pc"; pd: "fd.pd"; pe: "fd.pe"; pf: "fd.pf"; pg: "fd.pg"; ph: "fd.ph"; pi: "fd.pi"; pj: "fd.pj"; pk: "fd.pk"; pl: "fd.pl"; pm: "fd.pm"; pn: "fd.pn"; po: "fd.po"; pp: "fd.pp"; pq: "fd.pq"; pr: "fd.pr"; ps: "fd.ps"; pt: "fd.pt"; pu: "fd.pu"; pv: "fd.pv"; pw: "fd.pw"; px: "fd.px"; py: "fd.py"; pz: "fd.pz"; qa: "fd.qa"; qb: "fd.qb"; qc: "fd.qc"; qd: "fd.qd"; qe: "fd.qe"; qf: "fd.qf"; qg: "fd.qg"; qh: "fd.qh"; qi: "fd.qi"; qj: "fd.qj"; qk: "fd.qk"; ql: "fd.ql"; qm: "fd.qm"; qn: "fd.qn"; qo: "fd.qo"; qp: "fd.qp"; qq: "fd.qq"; qr: "fd.qr"; qs: "fd.qs"; qt: "fd.qt"; qu: "fd.qu"; qv: "fd.qv"; qw: "fd.qw"; qx: "fd.qx"; qy: "fd.qy"; qz: "fd.qz"; ra: "fd.ra"; rb: "fd.rb"; rc: "fd.rc"; rd: "fd.rd"; re: "fd.re"; rf: "fd.rf"; rg: "fd.rg"; rh: "fd.rh"; ri: "fd.ri"; rj: "fd.rj"; rk: "fd.rk"; rl: "fd.rl"; rm: "fd.rm"; rn: "fd.rn"; ro: "fd.ro"; rp: "fd.rp"; rq: "fd.rq"; rr: "fd.rr"; rs: "fd.rs"; rt: "fd.rt"; ru: "fd.ru"; rv: "fd.rv"; rw: "fd.rw"; rx: "fd.rx"; ry: "fd.ry"; rz: "fd.rz"; sa: "fd.sa"; sb: "fd.sb"; sc: "fd.sc"; sd: "fd.sd"; se: "fd.se"; sf: "fd.sf"; sg: "fd.sg"; sh: "fd.sh"; si: "fd.si"; sj: "fd.sj"; sk: "fd.sk"; sl: "fd.sl"; sm: "fd.sm"; sn: "fd.sn"; so: "fd.so"; sp: "fd.sp"; sq: "fd.sq"; sr: "fd.sr"; ss: "fd.ss"; st: "fd.st"; su: "fd.su"; sv: "fd.sv"; sw: "fd.sw"; sx: "fd.sx"; sy: "fd.sy"; sz: "fd.sz"; ta: "fd.ta"; tb: "fd.tb"; tc: "fd.tc"; td: "fd.td"; te: "fd.te"; tf: "fd.tf"; tg: "fd.tg"; th: "fd.th"; ti: "fd.ti"; tj: "fd.tj"; tk: "fd.tk"; tl: "fd.tl"; tm: "fd.tm"; tn: "fd.tn"; to: "fd.to"; tp: "fd.tp"; tq: "fd.tq"; tr: "fd.tr"; ts: "fd.ts"; tt: "fd.tt"; tu: "fd.tu"; tv: "fd.tv"; tw: "fd.tw"; tx: "fd.tx"; ty: "fd.ty"; tz: "fd.tz"; ua: "fd.ua"; ub: "fd.ub"; uc: "fd.uc"; ud: "fd.ud"; ue: "fd.ue"; uf: "fd.uf"; ug: "fd.ug"; uh: "fd.uh"; ui: "fd.ui"; uj: "fd.uj"; uk: "fd.uk"; ul: "fd.ul"; um: "fd.um"; un: "fd.un"; uo: "fd.uo"; up: "fd.up"; uq: "fd.uq"; ur: "fd.ur"; us: "fd.us"; ut: "fd.ut"; uu: "fd.uu"; uv: "fd.uv"; uw: "fd.uw"; ux: "fd.ux"; uy: "fd.uy"; uz: "fd.uz"; va: "fd.va"; vb: "fd.vb"; vc: "fd.vc"; vd: "fd.vd"; ve: "fd.ve"; vf: "fd.vf"; vg: "fd.vg"; vh: "fd.vh"; vi: "fd.vi"; vj: "fd.vj"; vk: "fd.vk"; vl: "fd.vl"; vm: "fd.vm"; vn: "fd.vn"; vo: "fd.vo"; vp: "fd.vp"; vq: "fd.vq"; vr: "fd.vr"; vs: "fd.vs"; vt: "fd.vt"; vu: "fd.vu"; vv: "fd.vv"; vw: "fd.vw"; vx: "fd.vx"; vy: "fd.vy"; vz: "fd.vz"; wa: "fd.wa"; wb: "fd.wb"; wc: "fd.wc"; wd: "fd.wd"; we: "fd.we"; wf: "fd.wf"; wg: "fd.wg"; wh: "fd.wh"; wi: "fd.wi"; wj: "fd.wj"; wk: "fd.wk"; wl: "fd.wl"; wm: "fd.wm"; wn: "fd.wn"; wo: "fd.wo"; wp: "fd.wp"; wq: "fd.wq"; wr: "fd.wr"; ws: "fd.ws"; wt: "fd.wt"; wu: "fd.wu"; wv: "fd.wv"; ww: "fd.ww"; wx: "fd.wx"; wy: "fd.wy"; wz: "fd.wz"; xa: "fd.xa"; xb: "fd.xb"; xc: "fd.xc"; xd: "fd.xd"; xe: "fd.xe"; xf: "fd.xf"; xg: "fd.xg"; xh: "fd.xh"; xi: "fd.xi"; xj: "fd.xj"; xk: "fd.xk"; xl: "fd.xl"; xm: "fd.xm"; xn: "fd.xn"; xo: "fd.xo"; xp: "fd.xp"; xq: "fd.xq"; xr: "fd.xr"; xs: "fd.xs"; xt: "fd.xt"; xu: "fd.xu"; xv: "fd.xv"; xw: "fd.xw"; xx: "fd.xx"; xy: "fd.xy"; xz: "fd.xz"; ya: "fd.ya"; yb: "fd.yb"; yc: "fd.yc"; yd: "fd.yd"; ye: "fd.ye"; yf: "fd.yf"; yg: "fd.yg"; yh: "fd.yh"; yi: "fd.yi"; yj: "fd.yj"; yk: "fd.yk"; yl: "fd.yl"; ym: "fd.ym"; yn: "fd.yn"; yo: "fd.yo"; yp: "fd.yp"; yq: "fd.yq"; yr: "fd.yr"; ys: "fd.ys"; yt: "fd.yt"; yu: "fd.yu"; yv: "fd.yv"; yw: "fd.yw"; yx: "fd.yx"; yy: "fd.yy"; yz: "fd.yz"; za: "fd.za"; zb: "fd.zb"; zc: "fd.zc"; zd: "fd.zd"; ze: "fd.ze"; zf: "fd.zf"; zg: "fd.zg"; zh: "fd.zh"; zi: "fd.zi"; zj: "fd.zj"; zk: "fd.zk"; zl: "fd.zl"; zm: "fd.zm"; zn: "fd.zn"; zo: "fd.zo"; zp: "fd.zp"; zq: "fd.zq"; zr: "fd.zr"; zs: "fd.zs"; zt: "fd.zt"; zu: "fd.zu"; zv: "fd.zv"; zw: "fd.zw"; zx: "fd.zx"; zy: "fd.zy"; zz: "fd.zz"; }; fe: { aa: "fe.aa"; ab: "fe.ab"; ac: "fe.ac"; ad: "fe.ad"; ae: "fe.ae"; af: "fe.af"; ag: "fe.ag"; ah: "fe.ah"; ai: "fe.ai"; aj: "fe.aj"; ak: "fe.ak"; al: "fe.al"; am: "fe.am"; an: "fe.an"; ao: "fe.ao"; ap: "fe.ap"; aq: "fe.aq"; ar: "fe.ar"; as: "fe.as"; at: "fe.at"; au: "fe.au"; av: "fe.av"; aw: "fe.aw"; ax: "fe.ax"; ay: "fe.ay"; az: "fe.az"; ba: "fe.ba"; bb: "fe.bb"; bc: "fe.bc"; bd: "fe.bd"; be: "fe.be"; bf: "fe.bf"; bg: "fe.bg"; bh: "fe.bh"; bi: "fe.bi"; bj: "fe.bj"; bk: "fe.bk"; bl: "fe.bl"; bm: "fe.bm"; bn: "fe.bn"; bo: "fe.bo"; bp: "fe.bp"; bq: "fe.bq"; br: "fe.br"; bs: "fe.bs"; bt: "fe.bt"; bu: "fe.bu"; bv: "fe.bv"; bw: "fe.bw"; bx: "fe.bx"; by: "fe.by"; bz: "fe.bz"; ca: "fe.ca"; cb: "fe.cb"; cc: "fe.cc"; cd: "fe.cd"; ce: "fe.ce"; cf: "fe.cf"; cg: "fe.cg"; ch: "fe.ch"; ci: "fe.ci"; cj: "fe.cj"; ck: "fe.ck"; cl: "fe.cl"; cm: "fe.cm"; cn: "fe.cn"; co: "fe.co"; cp: "fe.cp"; cq: "fe.cq"; cr: "fe.cr"; cs: "fe.cs"; ct: "fe.ct"; cu: "fe.cu"; cv: "fe.cv"; cw: "fe.cw"; cx: "fe.cx"; cy: "fe.cy"; cz: "fe.cz"; da: "fe.da"; db: "fe.db"; dc: "fe.dc"; dd: "fe.dd"; de: "fe.de"; df: "fe.df"; dg: "fe.dg"; dh: "fe.dh"; di: "fe.di"; dj: "fe.dj"; dk: "fe.dk"; dl: "fe.dl"; dm: "fe.dm"; dn: "fe.dn"; do: "fe.do"; dp: "fe.dp"; dq: "fe.dq"; dr: "fe.dr"; ds: "fe.ds"; dt: "fe.dt"; du: "fe.du"; dv: "fe.dv"; dw: "fe.dw"; dx: "fe.dx"; dy: "fe.dy"; dz: "fe.dz"; ea: "fe.ea"; eb: "fe.eb"; ec: "fe.ec"; ed: "fe.ed"; ee: "fe.ee"; ef: "fe.ef"; eg: "fe.eg"; eh: "fe.eh"; ei: "fe.ei"; ej: "fe.ej"; ek: "fe.ek"; el: "fe.el"; em: "fe.em"; en: "fe.en"; eo: "fe.eo"; ep: "fe.ep"; eq: "fe.eq"; er: "fe.er"; es: "fe.es"; et: "fe.et"; eu: "fe.eu"; ev: "fe.ev"; ew: "fe.ew"; ex: "fe.ex"; ey: "fe.ey"; ez: "fe.ez"; fa: "fe.fa"; fb: "fe.fb"; fc: "fe.fc"; fd: "fe.fd"; fe: "fe.fe"; ff: "fe.ff"; fg: "fe.fg"; fh: "fe.fh"; fi: "fe.fi"; fj: "fe.fj"; fk: "fe.fk"; fl: "fe.fl"; fm: "fe.fm"; fn: "fe.fn"; fo: "fe.fo"; fp: "fe.fp"; fq: "fe.fq"; fr: "fe.fr"; fs: "fe.fs"; ft: "fe.ft"; fu: "fe.fu"; fv: "fe.fv"; fw: "fe.fw"; fx: "fe.fx"; fy: "fe.fy"; fz: "fe.fz"; ga: "fe.ga"; gb: "fe.gb"; gc: "fe.gc"; gd: "fe.gd"; ge: "fe.ge"; gf: "fe.gf"; gg: "fe.gg"; gh: "fe.gh"; gi: "fe.gi"; gj: "fe.gj"; gk: "fe.gk"; gl: "fe.gl"; gm: "fe.gm"; gn: "fe.gn"; go: "fe.go"; gp: "fe.gp"; gq: "fe.gq"; gr: "fe.gr"; gs: "fe.gs"; gt: "fe.gt"; gu: "fe.gu"; gv: "fe.gv"; gw: "fe.gw"; gx: "fe.gx"; gy: "fe.gy"; gz: "fe.gz"; ha: "fe.ha"; hb: "fe.hb"; hc: "fe.hc"; hd: "fe.hd"; he: "fe.he"; hf: "fe.hf"; hg: "fe.hg"; hh: "fe.hh"; hi: "fe.hi"; hj: "fe.hj"; hk: "fe.hk"; hl: "fe.hl"; hm: "fe.hm"; hn: "fe.hn"; ho: "fe.ho"; hp: "fe.hp"; hq: "fe.hq"; hr: "fe.hr"; hs: "fe.hs"; ht: "fe.ht"; hu: "fe.hu"; hv: "fe.hv"; hw: "fe.hw"; hx: "fe.hx"; hy: "fe.hy"; hz: "fe.hz"; ia: "fe.ia"; ib: "fe.ib"; ic: "fe.ic"; id: "fe.id"; ie: "fe.ie"; if: "fe.if"; ig: "fe.ig"; ih: "fe.ih"; ii: "fe.ii"; ij: "fe.ij"; ik: "fe.ik"; il: "fe.il"; im: "fe.im"; in: "fe.in"; io: "fe.io"; ip: "fe.ip"; iq: "fe.iq"; ir: "fe.ir"; is: "fe.is"; it: "fe.it"; iu: "fe.iu"; iv: "fe.iv"; iw: "fe.iw"; ix: "fe.ix"; iy: "fe.iy"; iz: "fe.iz"; ja: "fe.ja"; jb: "fe.jb"; jc: "fe.jc"; jd: "fe.jd"; je: "fe.je"; jf: "fe.jf"; jg: "fe.jg"; jh: "fe.jh"; ji: "fe.ji"; jj: "fe.jj"; jk: "fe.jk"; jl: "fe.jl"; jm: "fe.jm"; jn: "fe.jn"; jo: "fe.jo"; jp: "fe.jp"; jq: "fe.jq"; jr: "fe.jr"; js: "fe.js"; jt: "fe.jt"; ju: "fe.ju"; jv: "fe.jv"; jw: "fe.jw"; jx: "fe.jx"; jy: "fe.jy"; jz: "fe.jz"; ka: "fe.ka"; kb: "fe.kb"; kc: "fe.kc"; kd: "fe.kd"; ke: "fe.ke"; kf: "fe.kf"; kg: "fe.kg"; kh: "fe.kh"; ki: "fe.ki"; kj: "fe.kj"; kk: "fe.kk"; kl: "fe.kl"; km: "fe.km"; kn: "fe.kn"; ko: "fe.ko"; kp: "fe.kp"; kq: "fe.kq"; kr: "fe.kr"; ks: "fe.ks"; kt: "fe.kt"; ku: "fe.ku"; kv: "fe.kv"; kw: "fe.kw"; kx: "fe.kx"; ky: "fe.ky"; kz: "fe.kz"; la: "fe.la"; lb: "fe.lb"; lc: "fe.lc"; ld: "fe.ld"; le: "fe.le"; lf: "fe.lf"; lg: "fe.lg"; lh: "fe.lh"; li: "fe.li"; lj: "fe.lj"; lk: "fe.lk"; ll: "fe.ll"; lm: "fe.lm"; ln: "fe.ln"; lo: "fe.lo"; lp: "fe.lp"; lq: "fe.lq"; lr: "fe.lr"; ls: "fe.ls"; lt: "fe.lt"; lu: "fe.lu"; lv: "fe.lv"; lw: "fe.lw"; lx: "fe.lx"; ly: "fe.ly"; lz: "fe.lz"; ma: "fe.ma"; mb: "fe.mb"; mc: "fe.mc"; md: "fe.md"; me: "fe.me"; mf: "fe.mf"; mg: "fe.mg"; mh: "fe.mh"; mi: "fe.mi"; mj: "fe.mj"; mk: "fe.mk"; ml: "fe.ml"; mm: "fe.mm"; mn: "fe.mn"; mo: "fe.mo"; mp: "fe.mp"; mq: "fe.mq"; mr: "fe.mr"; ms: "fe.ms"; mt: "fe.mt"; mu: "fe.mu"; mv: "fe.mv"; mw: "fe.mw"; mx: "fe.mx"; my: "fe.my"; mz: "fe.mz"; na: "fe.na"; nb: "fe.nb"; nc: "fe.nc"; nd: "fe.nd"; ne: "fe.ne"; nf: "fe.nf"; ng: "fe.ng"; nh: "fe.nh"; ni: "fe.ni"; nj: "fe.nj"; nk: "fe.nk"; nl: "fe.nl"; nm: "fe.nm"; nn: "fe.nn"; no: "fe.no"; np: "fe.np"; nq: "fe.nq"; nr: "fe.nr"; ns: "fe.ns"; nt: "fe.nt"; nu: "fe.nu"; nv: "fe.nv"; nw: "fe.nw"; nx: "fe.nx"; ny: "fe.ny"; nz: "fe.nz"; oa: "fe.oa"; ob: "fe.ob"; oc: "fe.oc"; od: "fe.od"; oe: "fe.oe"; of: "fe.of"; og: "fe.og"; oh: "fe.oh"; oi: "fe.oi"; oj: "fe.oj"; ok: "fe.ok"; ol: "fe.ol"; om: "fe.om"; on: "fe.on"; oo: "fe.oo"; op: "fe.op"; oq: "fe.oq"; or: "fe.or"; os: "fe.os"; ot: "fe.ot"; ou: "fe.ou"; ov: "fe.ov"; ow: "fe.ow"; ox: "fe.ox"; oy: "fe.oy"; oz: "fe.oz"; pa: "fe.pa"; pb: "fe.pb"; pc: "fe.pc"; pd: "fe.pd"; pe: "fe.pe"; pf: "fe.pf"; pg: "fe.pg"; ph: "fe.ph"; pi: "fe.pi"; pj: "fe.pj"; pk: "fe.pk"; pl: "fe.pl"; pm: "fe.pm"; pn: "fe.pn"; po: "fe.po"; pp: "fe.pp"; pq: "fe.pq"; pr: "fe.pr"; ps: "fe.ps"; pt: "fe.pt"; pu: "fe.pu"; pv: "fe.pv"; pw: "fe.pw"; px: "fe.px"; py: "fe.py"; pz: "fe.pz"; qa: "fe.qa"; qb: "fe.qb"; qc: "fe.qc"; qd: "fe.qd"; qe: "fe.qe"; qf: "fe.qf"; qg: "fe.qg"; qh: "fe.qh"; qi: "fe.qi"; qj: "fe.qj"; qk: "fe.qk"; ql: "fe.ql"; qm: "fe.qm"; qn: "fe.qn"; qo: "fe.qo"; qp: "fe.qp"; qq: "fe.qq"; qr: "fe.qr"; qs: "fe.qs"; qt: "fe.qt"; qu: "fe.qu"; qv: "fe.qv"; qw: "fe.qw"; qx: "fe.qx"; qy: "fe.qy"; qz: "fe.qz"; ra: "fe.ra"; rb: "fe.rb"; rc: "fe.rc"; rd: "fe.rd"; re: "fe.re"; rf: "fe.rf"; rg: "fe.rg"; rh: "fe.rh"; ri: "fe.ri"; rj: "fe.rj"; rk: "fe.rk"; rl: "fe.rl"; rm: "fe.rm"; rn: "fe.rn"; ro: "fe.ro"; rp: "fe.rp"; rq: "fe.rq"; rr: "fe.rr"; rs: "fe.rs"; rt: "fe.rt"; ru: "fe.ru"; rv: "fe.rv"; rw: "fe.rw"; rx: "fe.rx"; ry: "fe.ry"; rz: "fe.rz"; sa: "fe.sa"; sb: "fe.sb"; sc: "fe.sc"; sd: "fe.sd"; se: "fe.se"; sf: "fe.sf"; sg: "fe.sg"; sh: "fe.sh"; si: "fe.si"; sj: "fe.sj"; sk: "fe.sk"; sl: "fe.sl"; sm: "fe.sm"; sn: "fe.sn"; so: "fe.so"; sp: "fe.sp"; sq: "fe.sq"; sr: "fe.sr"; ss: "fe.ss"; st: "fe.st"; su: "fe.su"; sv: "fe.sv"; sw: "fe.sw"; sx: "fe.sx"; sy: "fe.sy"; sz: "fe.sz"; ta: "fe.ta"; tb: "fe.tb"; tc: "fe.tc"; td: "fe.td"; te: "fe.te"; tf: "fe.tf"; tg: "fe.tg"; th: "fe.th"; ti: "fe.ti"; tj: "fe.tj"; tk: "fe.tk"; tl: "fe.tl"; tm: "fe.tm"; tn: "fe.tn"; to: "fe.to"; tp: "fe.tp"; tq: "fe.tq"; tr: "fe.tr"; ts: "fe.ts"; tt: "fe.tt"; tu: "fe.tu"; tv: "fe.tv"; tw: "fe.tw"; tx: "fe.tx"; ty: "fe.ty"; tz: "fe.tz"; ua: "fe.ua"; ub: "fe.ub"; uc: "fe.uc"; ud: "fe.ud"; ue: "fe.ue"; uf: "fe.uf"; ug: "fe.ug"; uh: "fe.uh"; ui: "fe.ui"; uj: "fe.uj"; uk: "fe.uk"; ul: "fe.ul"; um: "fe.um"; un: "fe.un"; uo: "fe.uo"; up: "fe.up"; uq: "fe.uq"; ur: "fe.ur"; us: "fe.us"; ut: "fe.ut"; uu: "fe.uu"; uv: "fe.uv"; uw: "fe.uw"; ux: "fe.ux"; uy: "fe.uy"; uz: "fe.uz"; va: "fe.va"; vb: "fe.vb"; vc: "fe.vc"; vd: "fe.vd"; ve: "fe.ve"; vf: "fe.vf"; vg: "fe.vg"; vh: "fe.vh"; vi: "fe.vi"; vj: "fe.vj"; vk: "fe.vk"; vl: "fe.vl"; vm: "fe.vm"; vn: "fe.vn"; vo: "fe.vo"; vp: "fe.vp"; vq: "fe.vq"; vr: "fe.vr"; vs: "fe.vs"; vt: "fe.vt"; vu: "fe.vu"; vv: "fe.vv"; vw: "fe.vw"; vx: "fe.vx"; vy: "fe.vy"; vz: "fe.vz"; wa: "fe.wa"; wb: "fe.wb"; wc: "fe.wc"; wd: "fe.wd"; we: "fe.we"; wf: "fe.wf"; wg: "fe.wg"; wh: "fe.wh"; wi: "fe.wi"; wj: "fe.wj"; wk: "fe.wk"; wl: "fe.wl"; wm: "fe.wm"; wn: "fe.wn"; wo: "fe.wo"; wp: "fe.wp"; wq: "fe.wq"; wr: "fe.wr"; ws: "fe.ws"; wt: "fe.wt"; wu: "fe.wu"; wv: "fe.wv"; ww: "fe.ww"; wx: "fe.wx"; wy: "fe.wy"; wz: "fe.wz"; xa: "fe.xa"; xb: "fe.xb"; xc: "fe.xc"; xd: "fe.xd"; xe: "fe.xe"; xf: "fe.xf"; xg: "fe.xg"; xh: "fe.xh"; xi: "fe.xi"; xj: "fe.xj"; xk: "fe.xk"; xl: "fe.xl"; xm: "fe.xm"; xn: "fe.xn"; xo: "fe.xo"; xp: "fe.xp"; xq: "fe.xq"; xr: "fe.xr"; xs: "fe.xs"; xt: "fe.xt"; xu: "fe.xu"; xv: "fe.xv"; xw: "fe.xw"; xx: "fe.xx"; xy: "fe.xy"; xz: "fe.xz"; ya: "fe.ya"; yb: "fe.yb"; yc: "fe.yc"; yd: "fe.yd"; ye: "fe.ye"; yf: "fe.yf"; yg: "fe.yg"; yh: "fe.yh"; yi: "fe.yi"; yj: "fe.yj"; yk: "fe.yk"; yl: "fe.yl"; ym: "fe.ym"; yn: "fe.yn"; yo: "fe.yo"; yp: "fe.yp"; yq: "fe.yq"; yr: "fe.yr"; ys: "fe.ys"; yt: "fe.yt"; yu: "fe.yu"; yv: "fe.yv"; yw: "fe.yw"; yx: "fe.yx"; yy: "fe.yy"; yz: "fe.yz"; za: "fe.za"; zb: "fe.zb"; zc: "fe.zc"; zd: "fe.zd"; ze: "fe.ze"; zf: "fe.zf"; zg: "fe.zg"; zh: "fe.zh"; zi: "fe.zi"; zj: "fe.zj"; zk: "fe.zk"; zl: "fe.zl"; zm: "fe.zm"; zn: "fe.zn"; zo: "fe.zo"; zp: "fe.zp"; zq: "fe.zq"; zr: "fe.zr"; zs: "fe.zs"; zt: "fe.zt"; zu: "fe.zu"; zv: "fe.zv"; zw: "fe.zw"; zx: "fe.zx"; zy: "fe.zy"; zz: "fe.zz"; }; ff: { aa: "ff.aa"; ab: "ff.ab"; ac: "ff.ac"; ad: "ff.ad"; ae: "ff.ae"; af: "ff.af"; ag: "ff.ag"; ah: "ff.ah"; ai: "ff.ai"; aj: "ff.aj"; ak: "ff.ak"; al: "ff.al"; am: "ff.am"; an: "ff.an"; ao: "ff.ao"; ap: "ff.ap"; aq: "ff.aq"; ar: "ff.ar"; as: "ff.as"; at: "ff.at"; au: "ff.au"; av: "ff.av"; aw: "ff.aw"; ax: "ff.ax"; ay: "ff.ay"; az: "ff.az"; ba: "ff.ba"; bb: "ff.bb"; bc: "ff.bc"; bd: "ff.bd"; be: "ff.be"; bf: "ff.bf"; bg: "ff.bg"; bh: "ff.bh"; bi: "ff.bi"; bj: "ff.bj"; bk: "ff.bk"; bl: "ff.bl"; bm: "ff.bm"; bn: "ff.bn"; bo: "ff.bo"; bp: "ff.bp"; bq: "ff.bq"; br: "ff.br"; bs: "ff.bs"; bt: "ff.bt"; bu: "ff.bu"; bv: "ff.bv"; bw: "ff.bw"; bx: "ff.bx"; by: "ff.by"; bz: "ff.bz"; ca: "ff.ca"; cb: "ff.cb"; cc: "ff.cc"; cd: "ff.cd"; ce: "ff.ce"; cf: "ff.cf"; cg: "ff.cg"; ch: "ff.ch"; ci: "ff.ci"; cj: "ff.cj"; ck: "ff.ck"; cl: "ff.cl"; cm: "ff.cm"; cn: "ff.cn"; co: "ff.co"; cp: "ff.cp"; cq: "ff.cq"; cr: "ff.cr"; cs: "ff.cs"; ct: "ff.ct"; cu: "ff.cu"; cv: "ff.cv"; cw: "ff.cw"; cx: "ff.cx"; cy: "ff.cy"; cz: "ff.cz"; da: "ff.da"; db: "ff.db"; dc: "ff.dc"; dd: "ff.dd"; de: "ff.de"; df: "ff.df"; dg: "ff.dg"; dh: "ff.dh"; di: "ff.di"; dj: "ff.dj"; dk: "ff.dk"; dl: "ff.dl"; dm: "ff.dm"; dn: "ff.dn"; do: "ff.do"; dp: "ff.dp"; dq: "ff.dq"; dr: "ff.dr"; ds: "ff.ds"; dt: "ff.dt"; du: "ff.du"; dv: "ff.dv"; dw: "ff.dw"; dx: "ff.dx"; dy: "ff.dy"; dz: "ff.dz"; ea: "ff.ea"; eb: "ff.eb"; ec: "ff.ec"; ed: "ff.ed"; ee: "ff.ee"; ef: "ff.ef"; eg: "ff.eg"; eh: "ff.eh"; ei: "ff.ei"; ej: "ff.ej"; ek: "ff.ek"; el: "ff.el"; em: "ff.em"; en: "ff.en"; eo: "ff.eo"; ep: "ff.ep"; eq: "ff.eq"; er: "ff.er"; es: "ff.es"; et: "ff.et"; eu: "ff.eu"; ev: "ff.ev"; ew: "ff.ew"; ex: "ff.ex"; ey: "ff.ey"; ez: "ff.ez"; fa: "ff.fa"; fb: "ff.fb"; fc: "ff.fc"; fd: "ff.fd"; fe: "ff.fe"; ff: "ff.ff"; fg: "ff.fg"; fh: "ff.fh"; fi: "ff.fi"; fj: "ff.fj"; fk: "ff.fk"; fl: "ff.fl"; fm: "ff.fm"; fn: "ff.fn"; fo: "ff.fo"; fp: "ff.fp"; fq: "ff.fq"; fr: "ff.fr"; fs: "ff.fs"; ft: "ff.ft"; fu: "ff.fu"; fv: "ff.fv"; fw: "ff.fw"; fx: "ff.fx"; fy: "ff.fy"; fz: "ff.fz"; ga: "ff.ga"; gb: "ff.gb"; gc: "ff.gc"; gd: "ff.gd"; ge: "ff.ge"; gf: "ff.gf"; gg: "ff.gg"; gh: "ff.gh"; gi: "ff.gi"; gj: "ff.gj"; gk: "ff.gk"; gl: "ff.gl"; gm: "ff.gm"; gn: "ff.gn"; go: "ff.go"; gp: "ff.gp"; gq: "ff.gq"; gr: "ff.gr"; gs: "ff.gs"; gt: "ff.gt"; gu: "ff.gu"; gv: "ff.gv"; gw: "ff.gw"; gx: "ff.gx"; gy: "ff.gy"; gz: "ff.gz"; ha: "ff.ha"; hb: "ff.hb"; hc: "ff.hc"; hd: "ff.hd"; he: "ff.he"; hf: "ff.hf"; hg: "ff.hg"; hh: "ff.hh"; hi: "ff.hi"; hj: "ff.hj"; hk: "ff.hk"; hl: "ff.hl"; hm: "ff.hm"; hn: "ff.hn"; ho: "ff.ho"; hp: "ff.hp"; hq: "ff.hq"; hr: "ff.hr"; hs: "ff.hs"; ht: "ff.ht"; hu: "ff.hu"; hv: "ff.hv"; hw: "ff.hw"; hx: "ff.hx"; hy: "ff.hy"; hz: "ff.hz"; ia: "ff.ia"; ib: "ff.ib"; ic: "ff.ic"; id: "ff.id"; ie: "ff.ie"; if: "ff.if"; ig: "ff.ig"; ih: "ff.ih"; ii: "ff.ii"; ij: "ff.ij"; ik: "ff.ik"; il: "ff.il"; im: "ff.im"; in: "ff.in"; io: "ff.io"; ip: "ff.ip"; iq: "ff.iq"; ir: "ff.ir"; is: "ff.is"; it: "ff.it"; iu: "ff.iu"; iv: "ff.iv"; iw: "ff.iw"; ix: "ff.ix"; iy: "ff.iy"; iz: "ff.iz"; ja: "ff.ja"; jb: "ff.jb"; jc: "ff.jc"; jd: "ff.jd"; je: "ff.je"; jf: "ff.jf"; jg: "ff.jg"; jh: "ff.jh"; ji: "ff.ji"; jj: "ff.jj"; jk: "ff.jk"; jl: "ff.jl"; jm: "ff.jm"; jn: "ff.jn"; jo: "ff.jo"; jp: "ff.jp"; jq: "ff.jq"; jr: "ff.jr"; js: "ff.js"; jt: "ff.jt"; ju: "ff.ju"; jv: "ff.jv"; jw: "ff.jw"; jx: "ff.jx"; jy: "ff.jy"; jz: "ff.jz"; ka: "ff.ka"; kb: "ff.kb"; kc: "ff.kc"; kd: "ff.kd"; ke: "ff.ke"; kf: "ff.kf"; kg: "ff.kg"; kh: "ff.kh"; ki: "ff.ki"; kj: "ff.kj"; kk: "ff.kk"; kl: "ff.kl"; km: "ff.km"; kn: "ff.kn"; ko: "ff.ko"; kp: "ff.kp"; kq: "ff.kq"; kr: "ff.kr"; ks: "ff.ks"; kt: "ff.kt"; ku: "ff.ku"; kv: "ff.kv"; kw: "ff.kw"; kx: "ff.kx"; ky: "ff.ky"; kz: "ff.kz"; la: "ff.la"; lb: "ff.lb"; lc: "ff.lc"; ld: "ff.ld"; le: "ff.le"; lf: "ff.lf"; lg: "ff.lg"; lh: "ff.lh"; li: "ff.li"; lj: "ff.lj"; lk: "ff.lk"; ll: "ff.ll"; lm: "ff.lm"; ln: "ff.ln"; lo: "ff.lo"; lp: "ff.lp"; lq: "ff.lq"; lr: "ff.lr"; ls: "ff.ls"; lt: "ff.lt"; lu: "ff.lu"; lv: "ff.lv"; lw: "ff.lw"; lx: "ff.lx"; ly: "ff.ly"; lz: "ff.lz"; ma: "ff.ma"; mb: "ff.mb"; mc: "ff.mc"; md: "ff.md"; me: "ff.me"; mf: "ff.mf"; mg: "ff.mg"; mh: "ff.mh"; mi: "ff.mi"; mj: "ff.mj"; mk: "ff.mk"; ml: "ff.ml"; mm: "ff.mm"; mn: "ff.mn"; mo: "ff.mo"; mp: "ff.mp"; mq: "ff.mq"; mr: "ff.mr"; ms: "ff.ms"; mt: "ff.mt"; mu: "ff.mu"; mv: "ff.mv"; mw: "ff.mw"; mx: "ff.mx"; my: "ff.my"; mz: "ff.mz"; na: "ff.na"; nb: "ff.nb"; nc: "ff.nc"; nd: "ff.nd"; ne: "ff.ne"; nf: "ff.nf"; ng: "ff.ng"; nh: "ff.nh"; ni: "ff.ni"; nj: "ff.nj"; nk: "ff.nk"; nl: "ff.nl"; nm: "ff.nm"; nn: "ff.nn"; no: "ff.no"; np: "ff.np"; nq: "ff.nq"; nr: "ff.nr"; ns: "ff.ns"; nt: "ff.nt"; nu: "ff.nu"; nv: "ff.nv"; nw: "ff.nw"; nx: "ff.nx"; ny: "ff.ny"; nz: "ff.nz"; oa: "ff.oa"; ob: "ff.ob"; oc: "ff.oc"; od: "ff.od"; oe: "ff.oe"; of: "ff.of"; og: "ff.og"; oh: "ff.oh"; oi: "ff.oi"; oj: "ff.oj"; ok: "ff.ok"; ol: "ff.ol"; om: "ff.om"; on: "ff.on"; oo: "ff.oo"; op: "ff.op"; oq: "ff.oq"; or: "ff.or"; os: "ff.os"; ot: "ff.ot"; ou: "ff.ou"; ov: "ff.ov"; ow: "ff.ow"; ox: "ff.ox"; oy: "ff.oy"; oz: "ff.oz"; pa: "ff.pa"; pb: "ff.pb"; pc: "ff.pc"; pd: "ff.pd"; pe: "ff.pe"; pf: "ff.pf"; pg: "ff.pg"; ph: "ff.ph"; pi: "ff.pi"; pj: "ff.pj"; pk: "ff.pk"; pl: "ff.pl"; pm: "ff.pm"; pn: "ff.pn"; po: "ff.po"; pp: "ff.pp"; pq: "ff.pq"; pr: "ff.pr"; ps: "ff.ps"; pt: "ff.pt"; pu: "ff.pu"; pv: "ff.pv"; pw: "ff.pw"; px: "ff.px"; py: "ff.py"; pz: "ff.pz"; qa: "ff.qa"; qb: "ff.qb"; qc: "ff.qc"; qd: "ff.qd"; qe: "ff.qe"; qf: "ff.qf"; qg: "ff.qg"; qh: "ff.qh"; qi: "ff.qi"; qj: "ff.qj"; qk: "ff.qk"; ql: "ff.ql"; qm: "ff.qm"; qn: "ff.qn"; qo: "ff.qo"; qp: "ff.qp"; qq: "ff.qq"; qr: "ff.qr"; qs: "ff.qs"; qt: "ff.qt"; qu: "ff.qu"; qv: "ff.qv"; qw: "ff.qw"; qx: "ff.qx"; qy: "ff.qy"; qz: "ff.qz"; ra: "ff.ra"; rb: "ff.rb"; rc: "ff.rc"; rd: "ff.rd"; re: "ff.re"; rf: "ff.rf"; rg: "ff.rg"; rh: "ff.rh"; ri: "ff.ri"; rj: "ff.rj"; rk: "ff.rk"; rl: "ff.rl"; rm: "ff.rm"; rn: "ff.rn"; ro: "ff.ro"; rp: "ff.rp"; rq: "ff.rq"; rr: "ff.rr"; rs: "ff.rs"; rt: "ff.rt"; ru: "ff.ru"; rv: "ff.rv"; rw: "ff.rw"; rx: "ff.rx"; ry: "ff.ry"; rz: "ff.rz"; sa: "ff.sa"; sb: "ff.sb"; sc: "ff.sc"; sd: "ff.sd"; se: "ff.se"; sf: "ff.sf"; sg: "ff.sg"; sh: "ff.sh"; si: "ff.si"; sj: "ff.sj"; sk: "ff.sk"; sl: "ff.sl"; sm: "ff.sm"; sn: "ff.sn"; so: "ff.so"; sp: "ff.sp"; sq: "ff.sq"; sr: "ff.sr"; ss: "ff.ss"; st: "ff.st"; su: "ff.su"; sv: "ff.sv"; sw: "ff.sw"; sx: "ff.sx"; sy: "ff.sy"; sz: "ff.sz"; ta: "ff.ta"; tb: "ff.tb"; tc: "ff.tc"; td: "ff.td"; te: "ff.te"; tf: "ff.tf"; tg: "ff.tg"; th: "ff.th"; ti: "ff.ti"; tj: "ff.tj"; tk: "ff.tk"; tl: "ff.tl"; tm: "ff.tm"; tn: "ff.tn"; to: "ff.to"; tp: "ff.tp"; tq: "ff.tq"; tr: "ff.tr"; ts: "ff.ts"; tt: "ff.tt"; tu: "ff.tu"; tv: "ff.tv"; tw: "ff.tw"; tx: "ff.tx"; ty: "ff.ty"; tz: "ff.tz"; ua: "ff.ua"; ub: "ff.ub"; uc: "ff.uc"; ud: "ff.ud"; ue: "ff.ue"; uf: "ff.uf"; ug: "ff.ug"; uh: "ff.uh"; ui: "ff.ui"; uj: "ff.uj"; uk: "ff.uk"; ul: "ff.ul"; um: "ff.um"; un: "ff.un"; uo: "ff.uo"; up: "ff.up"; uq: "ff.uq"; ur: "ff.ur"; us: "ff.us"; ut: "ff.ut"; uu: "ff.uu"; uv: "ff.uv"; uw: "ff.uw"; ux: "ff.ux"; uy: "ff.uy"; uz: "ff.uz"; va: "ff.va"; vb: "ff.vb"; vc: "ff.vc"; vd: "ff.vd"; ve: "ff.ve"; vf: "ff.vf"; vg: "ff.vg"; vh: "ff.vh"; vi: "ff.vi"; vj: "ff.vj"; vk: "ff.vk"; vl: "ff.vl"; vm: "ff.vm"; vn: "ff.vn"; vo: "ff.vo"; vp: "ff.vp"; vq: "ff.vq"; vr: "ff.vr"; vs: "ff.vs"; vt: "ff.vt"; vu: "ff.vu"; vv: "ff.vv"; vw: "ff.vw"; vx: "ff.vx"; vy: "ff.vy"; vz: "ff.vz"; wa: "ff.wa"; wb: "ff.wb"; wc: "ff.wc"; wd: "ff.wd"; we: "ff.we"; wf: "ff.wf"; wg: "ff.wg"; wh: "ff.wh"; wi: "ff.wi"; wj: "ff.wj"; wk: "ff.wk"; wl: "ff.wl"; wm: "ff.wm"; wn: "ff.wn"; wo: "ff.wo"; wp: "ff.wp"; wq: "ff.wq"; wr: "ff.wr"; ws: "ff.ws"; wt: "ff.wt"; wu: "ff.wu"; wv: "ff.wv"; ww: "ff.ww"; wx: "ff.wx"; wy: "ff.wy"; wz: "ff.wz"; xa: "ff.xa"; xb: "ff.xb"; xc: "ff.xc"; xd: "ff.xd"; xe: "ff.xe"; xf: "ff.xf"; xg: "ff.xg"; xh: "ff.xh"; xi: "ff.xi"; xj: "ff.xj"; xk: "ff.xk"; xl: "ff.xl"; xm: "ff.xm"; xn: "ff.xn"; xo: "ff.xo"; xp: "ff.xp"; xq: "ff.xq"; xr: "ff.xr"; xs: "ff.xs"; xt: "ff.xt"; xu: "ff.xu"; xv: "ff.xv"; xw: "ff.xw"; xx: "ff.xx"; xy: "ff.xy"; xz: "ff.xz"; ya: "ff.ya"; yb: "ff.yb"; yc: "ff.yc"; yd: "ff.yd"; ye: "ff.ye"; yf: "ff.yf"; yg: "ff.yg"; yh: "ff.yh"; yi: "ff.yi"; yj: "ff.yj"; yk: "ff.yk"; yl: "ff.yl"; ym: "ff.ym"; yn: "ff.yn"; yo: "ff.yo"; yp: "ff.yp"; yq: "ff.yq"; yr: "ff.yr"; ys: "ff.ys"; yt: "ff.yt"; yu: "ff.yu"; yv: "ff.yv"; yw: "ff.yw"; yx: "ff.yx"; yy: "ff.yy"; yz: "ff.yz"; za: "ff.za"; zb: "ff.zb"; zc: "ff.zc"; zd: "ff.zd"; ze: "ff.ze"; zf: "ff.zf"; zg: "ff.zg"; zh: "ff.zh"; zi: "ff.zi"; zj: "ff.zj"; zk: "ff.zk"; zl: "ff.zl"; zm: "ff.zm"; zn: "ff.zn"; zo: "ff.zo"; zp: "ff.zp"; zq: "ff.zq"; zr: "ff.zr"; zs: "ff.zs"; zt: "ff.zt"; zu: "ff.zu"; zv: "ff.zv"; zw: "ff.zw"; zx: "ff.zx"; zy: "ff.zy"; zz: "ff.zz"; }; fg: { aa: "fg.aa"; ab: "fg.ab"; ac: "fg.ac"; ad: "fg.ad"; ae: "fg.ae"; af: "fg.af"; ag: "fg.ag"; ah: "fg.ah"; ai: "fg.ai"; aj: "fg.aj"; ak: "fg.ak"; al: "fg.al"; am: "fg.am"; an: "fg.an"; ao: "fg.ao"; ap: "fg.ap"; aq: "fg.aq"; ar: "fg.ar"; as: "fg.as"; at: "fg.at"; au: "fg.au"; av: "fg.av"; aw: "fg.aw"; ax: "fg.ax"; ay: "fg.ay"; az: "fg.az"; ba: "fg.ba"; bb: "fg.bb"; bc: "fg.bc"; bd: "fg.bd"; be: "fg.be"; bf: "fg.bf"; bg: "fg.bg"; bh: "fg.bh"; bi: "fg.bi"; bj: "fg.bj"; bk: "fg.bk"; bl: "fg.bl"; bm: "fg.bm"; bn: "fg.bn"; bo: "fg.bo"; bp: "fg.bp"; bq: "fg.bq"; br: "fg.br"; bs: "fg.bs"; bt: "fg.bt"; bu: "fg.bu"; bv: "fg.bv"; bw: "fg.bw"; bx: "fg.bx"; by: "fg.by"; bz: "fg.bz"; ca: "fg.ca"; cb: "fg.cb"; cc: "fg.cc"; cd: "fg.cd"; ce: "fg.ce"; cf: "fg.cf"; cg: "fg.cg"; ch: "fg.ch"; ci: "fg.ci"; cj: "fg.cj"; ck: "fg.ck"; cl: "fg.cl"; cm: "fg.cm"; cn: "fg.cn"; co: "fg.co"; cp: "fg.cp"; cq: "fg.cq"; cr: "fg.cr"; cs: "fg.cs"; ct: "fg.ct"; cu: "fg.cu"; cv: "fg.cv"; cw: "fg.cw"; cx: "fg.cx"; cy: "fg.cy"; cz: "fg.cz"; da: "fg.da"; db: "fg.db"; dc: "fg.dc"; dd: "fg.dd"; de: "fg.de"; df: "fg.df"; dg: "fg.dg"; dh: "fg.dh"; di: "fg.di"; dj: "fg.dj"; dk: "fg.dk"; dl: "fg.dl"; dm: "fg.dm"; dn: "fg.dn"; do: "fg.do"; dp: "fg.dp"; dq: "fg.dq"; dr: "fg.dr"; ds: "fg.ds"; dt: "fg.dt"; du: "fg.du"; dv: "fg.dv"; dw: "fg.dw"; dx: "fg.dx"; dy: "fg.dy"; dz: "fg.dz"; ea: "fg.ea"; eb: "fg.eb"; ec: "fg.ec"; ed: "fg.ed"; ee: "fg.ee"; ef: "fg.ef"; eg: "fg.eg"; eh: "fg.eh"; ei: "fg.ei"; ej: "fg.ej"; ek: "fg.ek"; el: "fg.el"; em: "fg.em"; en: "fg.en"; eo: "fg.eo"; ep: "fg.ep"; eq: "fg.eq"; er: "fg.er"; es: "fg.es"; et: "fg.et"; eu: "fg.eu"; ev: "fg.ev"; ew: "fg.ew"; ex: "fg.ex"; ey: "fg.ey"; ez: "fg.ez"; fa: "fg.fa"; fb: "fg.fb"; fc: "fg.fc"; fd: "fg.fd"; fe: "fg.fe"; ff: "fg.ff"; fg: "fg.fg"; fh: "fg.fh"; fi: "fg.fi"; fj: "fg.fj"; fk: "fg.fk"; fl: "fg.fl"; fm: "fg.fm"; fn: "fg.fn"; fo: "fg.fo"; fp: "fg.fp"; fq: "fg.fq"; fr: "fg.fr"; fs: "fg.fs"; ft: "fg.ft"; fu: "fg.fu"; fv: "fg.fv"; fw: "fg.fw"; fx: "fg.fx"; fy: "fg.fy"; fz: "fg.fz"; ga: "fg.ga"; gb: "fg.gb"; gc: "fg.gc"; gd: "fg.gd"; ge: "fg.ge"; gf: "fg.gf"; gg: "fg.gg"; gh: "fg.gh"; gi: "fg.gi"; gj: "fg.gj"; gk: "fg.gk"; gl: "fg.gl"; gm: "fg.gm"; gn: "fg.gn"; go: "fg.go"; gp: "fg.gp"; gq: "fg.gq"; gr: "fg.gr"; gs: "fg.gs"; gt: "fg.gt"; gu: "fg.gu"; gv: "fg.gv"; gw: "fg.gw"; gx: "fg.gx"; gy: "fg.gy"; gz: "fg.gz"; ha: "fg.ha"; hb: "fg.hb"; hc: "fg.hc"; hd: "fg.hd"; he: "fg.he"; hf: "fg.hf"; hg: "fg.hg"; hh: "fg.hh"; hi: "fg.hi"; hj: "fg.hj"; hk: "fg.hk"; hl: "fg.hl"; hm: "fg.hm"; hn: "fg.hn"; ho: "fg.ho"; hp: "fg.hp"; hq: "fg.hq"; hr: "fg.hr"; hs: "fg.hs"; ht: "fg.ht"; hu: "fg.hu"; hv: "fg.hv"; hw: "fg.hw"; hx: "fg.hx"; hy: "fg.hy"; hz: "fg.hz"; ia: "fg.ia"; ib: "fg.ib"; ic: "fg.ic"; id: "fg.id"; ie: "fg.ie"; if: "fg.if"; ig: "fg.ig"; ih: "fg.ih"; ii: "fg.ii"; ij: "fg.ij"; ik: "fg.ik"; il: "fg.il"; im: "fg.im"; in: "fg.in"; io: "fg.io"; ip: "fg.ip"; iq: "fg.iq"; ir: "fg.ir"; is: "fg.is"; it: "fg.it"; iu: "fg.iu"; iv: "fg.iv"; iw: "fg.iw"; ix: "fg.ix"; iy: "fg.iy"; iz: "fg.iz"; ja: "fg.ja"; jb: "fg.jb"; jc: "fg.jc"; jd: "fg.jd"; je: "fg.je"; jf: "fg.jf"; jg: "fg.jg"; jh: "fg.jh"; ji: "fg.ji"; jj: "fg.jj"; jk: "fg.jk"; jl: "fg.jl"; jm: "fg.jm"; jn: "fg.jn"; jo: "fg.jo"; jp: "fg.jp"; jq: "fg.jq"; jr: "fg.jr"; js: "fg.js"; jt: "fg.jt"; ju: "fg.ju"; jv: "fg.jv"; jw: "fg.jw"; jx: "fg.jx"; jy: "fg.jy"; jz: "fg.jz"; ka: "fg.ka"; kb: "fg.kb"; kc: "fg.kc"; kd: "fg.kd"; ke: "fg.ke"; kf: "fg.kf"; kg: "fg.kg"; kh: "fg.kh"; ki: "fg.ki"; kj: "fg.kj"; kk: "fg.kk"; kl: "fg.kl"; km: "fg.km"; kn: "fg.kn"; ko: "fg.ko"; kp: "fg.kp"; kq: "fg.kq"; kr: "fg.kr"; ks: "fg.ks"; kt: "fg.kt"; ku: "fg.ku"; kv: "fg.kv"; kw: "fg.kw"; kx: "fg.kx"; ky: "fg.ky"; kz: "fg.kz"; la: "fg.la"; lb: "fg.lb"; lc: "fg.lc"; ld: "fg.ld"; le: "fg.le"; lf: "fg.lf"; lg: "fg.lg"; lh: "fg.lh"; li: "fg.li"; lj: "fg.lj"; lk: "fg.lk"; ll: "fg.ll"; lm: "fg.lm"; ln: "fg.ln"; lo: "fg.lo"; lp: "fg.lp"; lq: "fg.lq"; lr: "fg.lr"; ls: "fg.ls"; lt: "fg.lt"; lu: "fg.lu"; lv: "fg.lv"; lw: "fg.lw"; lx: "fg.lx"; ly: "fg.ly"; lz: "fg.lz"; ma: "fg.ma"; mb: "fg.mb"; mc: "fg.mc"; md: "fg.md"; me: "fg.me"; mf: "fg.mf"; mg: "fg.mg"; mh: "fg.mh"; mi: "fg.mi"; mj: "fg.mj"; mk: "fg.mk"; ml: "fg.ml"; mm: "fg.mm"; mn: "fg.mn"; mo: "fg.mo"; mp: "fg.mp"; mq: "fg.mq"; mr: "fg.mr"; ms: "fg.ms"; mt: "fg.mt"; mu: "fg.mu"; mv: "fg.mv"; mw: "fg.mw"; mx: "fg.mx"; my: "fg.my"; mz: "fg.mz"; na: "fg.na"; nb: "fg.nb"; nc: "fg.nc"; nd: "fg.nd"; ne: "fg.ne"; nf: "fg.nf"; ng: "fg.ng"; nh: "fg.nh"; ni: "fg.ni"; nj: "fg.nj"; nk: "fg.nk"; nl: "fg.nl"; nm: "fg.nm"; nn: "fg.nn"; no: "fg.no"; np: "fg.np"; nq: "fg.nq"; nr: "fg.nr"; ns: "fg.ns"; nt: "fg.nt"; nu: "fg.nu"; nv: "fg.nv"; nw: "fg.nw"; nx: "fg.nx"; ny: "fg.ny"; nz: "fg.nz"; oa: "fg.oa"; ob: "fg.ob"; oc: "fg.oc"; od: "fg.od"; oe: "fg.oe"; of: "fg.of"; og: "fg.og"; oh: "fg.oh"; oi: "fg.oi"; oj: "fg.oj"; ok: "fg.ok"; ol: "fg.ol"; om: "fg.om"; on: "fg.on"; oo: "fg.oo"; op: "fg.op"; oq: "fg.oq"; or: "fg.or"; os: "fg.os"; ot: "fg.ot"; ou: "fg.ou"; ov: "fg.ov"; ow: "fg.ow"; ox: "fg.ox"; oy: "fg.oy"; oz: "fg.oz"; pa: "fg.pa"; pb: "fg.pb"; pc: "fg.pc"; pd: "fg.pd"; pe: "fg.pe"; pf: "fg.pf"; pg: "fg.pg"; ph: "fg.ph"; pi: "fg.pi"; pj: "fg.pj"; pk: "fg.pk"; pl: "fg.pl"; pm: "fg.pm"; pn: "fg.pn"; po: "fg.po"; pp: "fg.pp"; pq: "fg.pq"; pr: "fg.pr"; ps: "fg.ps"; pt: "fg.pt"; pu: "fg.pu"; pv: "fg.pv"; pw: "fg.pw"; px: "fg.px"; py: "fg.py"; pz: "fg.pz"; qa: "fg.qa"; qb: "fg.qb"; qc: "fg.qc"; qd: "fg.qd"; qe: "fg.qe"; qf: "fg.qf"; qg: "fg.qg"; qh: "fg.qh"; qi: "fg.qi"; qj: "fg.qj"; qk: "fg.qk"; ql: "fg.ql"; qm: "fg.qm"; qn: "fg.qn"; qo: "fg.qo"; qp: "fg.qp"; qq: "fg.qq"; qr: "fg.qr"; qs: "fg.qs"; qt: "fg.qt"; qu: "fg.qu"; qv: "fg.qv"; qw: "fg.qw"; qx: "fg.qx"; qy: "fg.qy"; qz: "fg.qz"; ra: "fg.ra"; rb: "fg.rb"; rc: "fg.rc"; rd: "fg.rd"; re: "fg.re"; rf: "fg.rf"; rg: "fg.rg"; rh: "fg.rh"; ri: "fg.ri"; rj: "fg.rj"; rk: "fg.rk"; rl: "fg.rl"; rm: "fg.rm"; rn: "fg.rn"; ro: "fg.ro"; rp: "fg.rp"; rq: "fg.rq"; rr: "fg.rr"; rs: "fg.rs"; rt: "fg.rt"; ru: "fg.ru"; rv: "fg.rv"; rw: "fg.rw"; rx: "fg.rx"; ry: "fg.ry"; rz: "fg.rz"; sa: "fg.sa"; sb: "fg.sb"; sc: "fg.sc"; sd: "fg.sd"; se: "fg.se"; sf: "fg.sf"; sg: "fg.sg"; sh: "fg.sh"; si: "fg.si"; sj: "fg.sj"; sk: "fg.sk"; sl: "fg.sl"; sm: "fg.sm"; sn: "fg.sn"; so: "fg.so"; sp: "fg.sp"; sq: "fg.sq"; sr: "fg.sr"; ss: "fg.ss"; st: "fg.st"; su: "fg.su"; sv: "fg.sv"; sw: "fg.sw"; sx: "fg.sx"; sy: "fg.sy"; sz: "fg.sz"; ta: "fg.ta"; tb: "fg.tb"; tc: "fg.tc"; td: "fg.td"; te: "fg.te"; tf: "fg.tf"; tg: "fg.tg"; th: "fg.th"; ti: "fg.ti"; tj: "fg.tj"; tk: "fg.tk"; tl: "fg.tl"; tm: "fg.tm"; tn: "fg.tn"; to: "fg.to"; tp: "fg.tp"; tq: "fg.tq"; tr: "fg.tr"; ts: "fg.ts"; tt: "fg.tt"; tu: "fg.tu"; tv: "fg.tv"; tw: "fg.tw"; tx: "fg.tx"; ty: "fg.ty"; tz: "fg.tz"; ua: "fg.ua"; ub: "fg.ub"; uc: "fg.uc"; ud: "fg.ud"; ue: "fg.ue"; uf: "fg.uf"; ug: "fg.ug"; uh: "fg.uh"; ui: "fg.ui"; uj: "fg.uj"; uk: "fg.uk"; ul: "fg.ul"; um: "fg.um"; un: "fg.un"; uo: "fg.uo"; up: "fg.up"; uq: "fg.uq"; ur: "fg.ur"; us: "fg.us"; ut: "fg.ut"; uu: "fg.uu"; uv: "fg.uv"; uw: "fg.uw"; ux: "fg.ux"; uy: "fg.uy"; uz: "fg.uz"; va: "fg.va"; vb: "fg.vb"; vc: "fg.vc"; vd: "fg.vd"; ve: "fg.ve"; vf: "fg.vf"; vg: "fg.vg"; vh: "fg.vh"; vi: "fg.vi"; vj: "fg.vj"; vk: "fg.vk"; vl: "fg.vl"; vm: "fg.vm"; vn: "fg.vn"; vo: "fg.vo"; vp: "fg.vp"; vq: "fg.vq"; vr: "fg.vr"; vs: "fg.vs"; vt: "fg.vt"; vu: "fg.vu"; vv: "fg.vv"; vw: "fg.vw"; vx: "fg.vx"; vy: "fg.vy"; vz: "fg.vz"; wa: "fg.wa"; wb: "fg.wb"; wc: "fg.wc"; wd: "fg.wd"; we: "fg.we"; wf: "fg.wf"; wg: "fg.wg"; wh: "fg.wh"; wi: "fg.wi"; wj: "fg.wj"; wk: "fg.wk"; wl: "fg.wl"; wm: "fg.wm"; wn: "fg.wn"; wo: "fg.wo"; wp: "fg.wp"; wq: "fg.wq"; wr: "fg.wr"; ws: "fg.ws"; wt: "fg.wt"; wu: "fg.wu"; wv: "fg.wv"; ww: "fg.ww"; wx: "fg.wx"; wy: "fg.wy"; wz: "fg.wz"; xa: "fg.xa"; xb: "fg.xb"; xc: "fg.xc"; xd: "fg.xd"; xe: "fg.xe"; xf: "fg.xf"; xg: "fg.xg"; xh: "fg.xh"; xi: "fg.xi"; xj: "fg.xj"; xk: "fg.xk"; xl: "fg.xl"; xm: "fg.xm"; xn: "fg.xn"; xo: "fg.xo"; xp: "fg.xp"; xq: "fg.xq"; xr: "fg.xr"; xs: "fg.xs"; xt: "fg.xt"; xu: "fg.xu"; xv: "fg.xv"; xw: "fg.xw"; xx: "fg.xx"; xy: "fg.xy"; xz: "fg.xz"; ya: "fg.ya"; yb: "fg.yb"; yc: "fg.yc"; yd: "fg.yd"; ye: "fg.ye"; yf: "fg.yf"; yg: "fg.yg"; yh: "fg.yh"; yi: "fg.yi"; yj: "fg.yj"; yk: "fg.yk"; yl: "fg.yl"; ym: "fg.ym"; yn: "fg.yn"; yo: "fg.yo"; yp: "fg.yp"; yq: "fg.yq"; yr: "fg.yr"; ys: "fg.ys"; yt: "fg.yt"; yu: "fg.yu"; yv: "fg.yv"; yw: "fg.yw"; yx: "fg.yx"; yy: "fg.yy"; yz: "fg.yz"; za: "fg.za"; zb: "fg.zb"; zc: "fg.zc"; zd: "fg.zd"; ze: "fg.ze"; zf: "fg.zf"; zg: "fg.zg"; zh: "fg.zh"; zi: "fg.zi"; zj: "fg.zj"; zk: "fg.zk"; zl: "fg.zl"; zm: "fg.zm"; zn: "fg.zn"; zo: "fg.zo"; zp: "fg.zp"; zq: "fg.zq"; zr: "fg.zr"; zs: "fg.zs"; zt: "fg.zt"; zu: "fg.zu"; zv: "fg.zv"; zw: "fg.zw"; zx: "fg.zx"; zy: "fg.zy"; zz: "fg.zz"; }; fh: { aa: "fh.aa"; ab: "fh.ab"; ac: "fh.ac"; ad: "fh.ad"; ae: "fh.ae"; af: "fh.af"; ag: "fh.ag"; ah: "fh.ah"; ai: "fh.ai"; aj: "fh.aj"; ak: "fh.ak"; al: "fh.al"; am: "fh.am"; an: "fh.an"; ao: "fh.ao"; ap: "fh.ap"; aq: "fh.aq"; ar: "fh.ar"; as: "fh.as"; at: "fh.at"; au: "fh.au"; av: "fh.av"; aw: "fh.aw"; ax: "fh.ax"; ay: "fh.ay"; az: "fh.az"; ba: "fh.ba"; bb: "fh.bb"; bc: "fh.bc"; bd: "fh.bd"; be: "fh.be"; bf: "fh.bf"; bg: "fh.bg"; bh: "fh.bh"; bi: "fh.bi"; bj: "fh.bj"; bk: "fh.bk"; bl: "fh.bl"; bm: "fh.bm"; bn: "fh.bn"; bo: "fh.bo"; bp: "fh.bp"; bq: "fh.bq"; br: "fh.br"; bs: "fh.bs"; bt: "fh.bt"; bu: "fh.bu"; bv: "fh.bv"; bw: "fh.bw"; bx: "fh.bx"; by: "fh.by"; bz: "fh.bz"; ca: "fh.ca"; cb: "fh.cb"; cc: "fh.cc"; cd: "fh.cd"; ce: "fh.ce"; cf: "fh.cf"; cg: "fh.cg"; ch: "fh.ch"; ci: "fh.ci"; cj: "fh.cj"; ck: "fh.ck"; cl: "fh.cl"; cm: "fh.cm"; cn: "fh.cn"; co: "fh.co"; cp: "fh.cp"; cq: "fh.cq"; cr: "fh.cr"; cs: "fh.cs"; ct: "fh.ct"; cu: "fh.cu"; cv: "fh.cv"; cw: "fh.cw"; cx: "fh.cx"; cy: "fh.cy"; cz: "fh.cz"; da: "fh.da"; db: "fh.db"; dc: "fh.dc"; dd: "fh.dd"; de: "fh.de"; df: "fh.df"; dg: "fh.dg"; dh: "fh.dh"; di: "fh.di"; dj: "fh.dj"; dk: "fh.dk"; dl: "fh.dl"; dm: "fh.dm"; dn: "fh.dn"; do: "fh.do"; dp: "fh.dp"; dq: "fh.dq"; dr: "fh.dr"; ds: "fh.ds"; dt: "fh.dt"; du: "fh.du"; dv: "fh.dv"; dw: "fh.dw"; dx: "fh.dx"; dy: "fh.dy"; dz: "fh.dz"; ea: "fh.ea"; eb: "fh.eb"; ec: "fh.ec"; ed: "fh.ed"; ee: "fh.ee"; ef: "fh.ef"; eg: "fh.eg"; eh: "fh.eh"; ei: "fh.ei"; ej: "fh.ej"; ek: "fh.ek"; el: "fh.el"; em: "fh.em"; en: "fh.en"; eo: "fh.eo"; ep: "fh.ep"; eq: "fh.eq"; er: "fh.er"; es: "fh.es"; et: "fh.et"; eu: "fh.eu"; ev: "fh.ev"; ew: "fh.ew"; ex: "fh.ex"; ey: "fh.ey"; ez: "fh.ez"; fa: "fh.fa"; fb: "fh.fb"; fc: "fh.fc"; fd: "fh.fd"; fe: "fh.fe"; ff: "fh.ff"; fg: "fh.fg"; fh: "fh.fh"; fi: "fh.fi"; fj: "fh.fj"; fk: "fh.fk"; fl: "fh.fl"; fm: "fh.fm"; fn: "fh.fn"; fo: "fh.fo"; fp: "fh.fp"; fq: "fh.fq"; fr: "fh.fr"; fs: "fh.fs"; ft: "fh.ft"; fu: "fh.fu"; fv: "fh.fv"; fw: "fh.fw"; fx: "fh.fx"; fy: "fh.fy"; fz: "fh.fz"; ga: "fh.ga"; gb: "fh.gb"; gc: "fh.gc"; gd: "fh.gd"; ge: "fh.ge"; gf: "fh.gf"; gg: "fh.gg"; gh: "fh.gh"; gi: "fh.gi"; gj: "fh.gj"; gk: "fh.gk"; gl: "fh.gl"; gm: "fh.gm"; gn: "fh.gn"; go: "fh.go"; gp: "fh.gp"; gq: "fh.gq"; gr: "fh.gr"; gs: "fh.gs"; gt: "fh.gt"; gu: "fh.gu"; gv: "fh.gv"; gw: "fh.gw"; gx: "fh.gx"; gy: "fh.gy"; gz: "fh.gz"; ha: "fh.ha"; hb: "fh.hb"; hc: "fh.hc"; hd: "fh.hd"; he: "fh.he"; hf: "fh.hf"; hg: "fh.hg"; hh: "fh.hh"; hi: "fh.hi"; hj: "fh.hj"; hk: "fh.hk"; hl: "fh.hl"; hm: "fh.hm"; hn: "fh.hn"; ho: "fh.ho"; hp: "fh.hp"; hq: "fh.hq"; hr: "fh.hr"; hs: "fh.hs"; ht: "fh.ht"; hu: "fh.hu"; hv: "fh.hv"; hw: "fh.hw"; hx: "fh.hx"; hy: "fh.hy"; hz: "fh.hz"; ia: "fh.ia"; ib: "fh.ib"; ic: "fh.ic"; id: "fh.id"; ie: "fh.ie"; if: "fh.if"; ig: "fh.ig"; ih: "fh.ih"; ii: "fh.ii"; ij: "fh.ij"; ik: "fh.ik"; il: "fh.il"; im: "fh.im"; in: "fh.in"; io: "fh.io"; ip: "fh.ip"; iq: "fh.iq"; ir: "fh.ir"; is: "fh.is"; it: "fh.it"; iu: "fh.iu"; iv: "fh.iv"; iw: "fh.iw"; ix: "fh.ix"; iy: "fh.iy"; iz: "fh.iz"; ja: "fh.ja"; jb: "fh.jb"; jc: "fh.jc"; jd: "fh.jd"; je: "fh.je"; jf: "fh.jf"; jg: "fh.jg"; jh: "fh.jh"; ji: "fh.ji"; jj: "fh.jj"; jk: "fh.jk"; jl: "fh.jl"; jm: "fh.jm"; jn: "fh.jn"; jo: "fh.jo"; jp: "fh.jp"; jq: "fh.jq"; jr: "fh.jr"; js: "fh.js"; jt: "fh.jt"; ju: "fh.ju"; jv: "fh.jv"; jw: "fh.jw"; jx: "fh.jx"; jy: "fh.jy"; jz: "fh.jz"; ka: "fh.ka"; kb: "fh.kb"; kc: "fh.kc"; kd: "fh.kd"; ke: "fh.ke"; kf: "fh.kf"; kg: "fh.kg"; kh: "fh.kh"; ki: "fh.ki"; kj: "fh.kj"; kk: "fh.kk"; kl: "fh.kl"; km: "fh.km"; kn: "fh.kn"; ko: "fh.ko"; kp: "fh.kp"; kq: "fh.kq"; kr: "fh.kr"; ks: "fh.ks"; kt: "fh.kt"; ku: "fh.ku"; kv: "fh.kv"; kw: "fh.kw"; kx: "fh.kx"; ky: "fh.ky"; kz: "fh.kz"; la: "fh.la"; lb: "fh.lb"; lc: "fh.lc"; ld: "fh.ld"; le: "fh.le"; lf: "fh.lf"; lg: "fh.lg"; lh: "fh.lh"; li: "fh.li"; lj: "fh.lj"; lk: "fh.lk"; ll: "fh.ll"; lm: "fh.lm"; ln: "fh.ln"; lo: "fh.lo"; lp: "fh.lp"; lq: "fh.lq"; lr: "fh.lr"; ls: "fh.ls"; lt: "fh.lt"; lu: "fh.lu"; lv: "fh.lv"; lw: "fh.lw"; lx: "fh.lx"; ly: "fh.ly"; lz: "fh.lz"; ma: "fh.ma"; mb: "fh.mb"; mc: "fh.mc"; md: "fh.md"; me: "fh.me"; mf: "fh.mf"; mg: "fh.mg"; mh: "fh.mh"; mi: "fh.mi"; mj: "fh.mj"; mk: "fh.mk"; ml: "fh.ml"; mm: "fh.mm"; mn: "fh.mn"; mo: "fh.mo"; mp: "fh.mp"; mq: "fh.mq"; mr: "fh.mr"; ms: "fh.ms"; mt: "fh.mt"; mu: "fh.mu"; mv: "fh.mv"; mw: "fh.mw"; mx: "fh.mx"; my: "fh.my"; mz: "fh.mz"; na: "fh.na"; nb: "fh.nb"; nc: "fh.nc"; nd: "fh.nd"; ne: "fh.ne"; nf: "fh.nf"; ng: "fh.ng"; nh: "fh.nh"; ni: "fh.ni"; nj: "fh.nj"; nk: "fh.nk"; nl: "fh.nl"; nm: "fh.nm"; nn: "fh.nn"; no: "fh.no"; np: "fh.np"; nq: "fh.nq"; nr: "fh.nr"; ns: "fh.ns"; nt: "fh.nt"; nu: "fh.nu"; nv: "fh.nv"; nw: "fh.nw"; nx: "fh.nx"; ny: "fh.ny"; nz: "fh.nz"; oa: "fh.oa"; ob: "fh.ob"; oc: "fh.oc"; od: "fh.od"; oe: "fh.oe"; of: "fh.of"; og: "fh.og"; oh: "fh.oh"; oi: "fh.oi"; oj: "fh.oj"; ok: "fh.ok"; ol: "fh.ol"; om: "fh.om"; on: "fh.on"; oo: "fh.oo"; op: "fh.op"; oq: "fh.oq"; or: "fh.or"; os: "fh.os"; ot: "fh.ot"; ou: "fh.ou"; ov: "fh.ov"; ow: "fh.ow"; ox: "fh.ox"; oy: "fh.oy"; oz: "fh.oz"; pa: "fh.pa"; pb: "fh.pb"; pc: "fh.pc"; pd: "fh.pd"; pe: "fh.pe"; pf: "fh.pf"; pg: "fh.pg"; ph: "fh.ph"; pi: "fh.pi"; pj: "fh.pj"; pk: "fh.pk"; pl: "fh.pl"; pm: "fh.pm"; pn: "fh.pn"; po: "fh.po"; pp: "fh.pp"; pq: "fh.pq"; pr: "fh.pr"; ps: "fh.ps"; pt: "fh.pt"; pu: "fh.pu"; pv: "fh.pv"; pw: "fh.pw"; px: "fh.px"; py: "fh.py"; pz: "fh.pz"; qa: "fh.qa"; qb: "fh.qb"; qc: "fh.qc"; qd: "fh.qd"; qe: "fh.qe"; qf: "fh.qf"; qg: "fh.qg"; qh: "fh.qh"; qi: "fh.qi"; qj: "fh.qj"; qk: "fh.qk"; ql: "fh.ql"; qm: "fh.qm"; qn: "fh.qn"; qo: "fh.qo"; qp: "fh.qp"; qq: "fh.qq"; qr: "fh.qr"; qs: "fh.qs"; qt: "fh.qt"; qu: "fh.qu"; qv: "fh.qv"; qw: "fh.qw"; qx: "fh.qx"; qy: "fh.qy"; qz: "fh.qz"; ra: "fh.ra"; rb: "fh.rb"; rc: "fh.rc"; rd: "fh.rd"; re: "fh.re"; rf: "fh.rf"; rg: "fh.rg"; rh: "fh.rh"; ri: "fh.ri"; rj: "fh.rj"; rk: "fh.rk"; rl: "fh.rl"; rm: "fh.rm"; rn: "fh.rn"; ro: "fh.ro"; rp: "fh.rp"; rq: "fh.rq"; rr: "fh.rr"; rs: "fh.rs"; rt: "fh.rt"; ru: "fh.ru"; rv: "fh.rv"; rw: "fh.rw"; rx: "fh.rx"; ry: "fh.ry"; rz: "fh.rz"; sa: "fh.sa"; sb: "fh.sb"; sc: "fh.sc"; sd: "fh.sd"; se: "fh.se"; sf: "fh.sf"; sg: "fh.sg"; sh: "fh.sh"; si: "fh.si"; sj: "fh.sj"; sk: "fh.sk"; sl: "fh.sl"; sm: "fh.sm"; sn: "fh.sn"; so: "fh.so"; sp: "fh.sp"; sq: "fh.sq"; sr: "fh.sr"; ss: "fh.ss"; st: "fh.st"; su: "fh.su"; sv: "fh.sv"; sw: "fh.sw"; sx: "fh.sx"; sy: "fh.sy"; sz: "fh.sz"; ta: "fh.ta"; tb: "fh.tb"; tc: "fh.tc"; td: "fh.td"; te: "fh.te"; tf: "fh.tf"; tg: "fh.tg"; th: "fh.th"; ti: "fh.ti"; tj: "fh.tj"; tk: "fh.tk"; tl: "fh.tl"; tm: "fh.tm"; tn: "fh.tn"; to: "fh.to"; tp: "fh.tp"; tq: "fh.tq"; tr: "fh.tr"; ts: "fh.ts"; tt: "fh.tt"; tu: "fh.tu"; tv: "fh.tv"; tw: "fh.tw"; tx: "fh.tx"; ty: "fh.ty"; tz: "fh.tz"; ua: "fh.ua"; ub: "fh.ub"; uc: "fh.uc"; ud: "fh.ud"; ue: "fh.ue"; uf: "fh.uf"; ug: "fh.ug"; uh: "fh.uh"; ui: "fh.ui"; uj: "fh.uj"; uk: "fh.uk"; ul: "fh.ul"; um: "fh.um"; un: "fh.un"; uo: "fh.uo"; up: "fh.up"; uq: "fh.uq"; ur: "fh.ur"; us: "fh.us"; ut: "fh.ut"; uu: "fh.uu"; uv: "fh.uv"; uw: "fh.uw"; ux: "fh.ux"; uy: "fh.uy"; uz: "fh.uz"; va: "fh.va"; vb: "fh.vb"; vc: "fh.vc"; vd: "fh.vd"; ve: "fh.ve"; vf: "fh.vf"; vg: "fh.vg"; vh: "fh.vh"; vi: "fh.vi"; vj: "fh.vj"; vk: "fh.vk"; vl: "fh.vl"; vm: "fh.vm"; vn: "fh.vn"; vo: "fh.vo"; vp: "fh.vp"; vq: "fh.vq"; vr: "fh.vr"; vs: "fh.vs"; vt: "fh.vt"; vu: "fh.vu"; vv: "fh.vv"; vw: "fh.vw"; vx: "fh.vx"; vy: "fh.vy"; vz: "fh.vz"; wa: "fh.wa"; wb: "fh.wb"; wc: "fh.wc"; wd: "fh.wd"; we: "fh.we"; wf: "fh.wf"; wg: "fh.wg"; wh: "fh.wh"; wi: "fh.wi"; wj: "fh.wj"; wk: "fh.wk"; wl: "fh.wl"; wm: "fh.wm"; wn: "fh.wn"; wo: "fh.wo"; wp: "fh.wp"; wq: "fh.wq"; wr: "fh.wr"; ws: "fh.ws"; wt: "fh.wt"; wu: "fh.wu"; wv: "fh.wv"; ww: "fh.ww"; wx: "fh.wx"; wy: "fh.wy"; wz: "fh.wz"; xa: "fh.xa"; xb: "fh.xb"; xc: "fh.xc"; xd: "fh.xd"; xe: "fh.xe"; xf: "fh.xf"; xg: "fh.xg"; xh: "fh.xh"; xi: "fh.xi"; xj: "fh.xj"; xk: "fh.xk"; xl: "fh.xl"; xm: "fh.xm"; xn: "fh.xn"; xo: "fh.xo"; xp: "fh.xp"; xq: "fh.xq"; xr: "fh.xr"; xs: "fh.xs"; xt: "fh.xt"; xu: "fh.xu"; xv: "fh.xv"; xw: "fh.xw"; xx: "fh.xx"; xy: "fh.xy"; xz: "fh.xz"; ya: "fh.ya"; yb: "fh.yb"; yc: "fh.yc"; yd: "fh.yd"; ye: "fh.ye"; yf: "fh.yf"; yg: "fh.yg"; yh: "fh.yh"; yi: "fh.yi"; yj: "fh.yj"; yk: "fh.yk"; yl: "fh.yl"; ym: "fh.ym"; yn: "fh.yn"; yo: "fh.yo"; yp: "fh.yp"; yq: "fh.yq"; yr: "fh.yr"; ys: "fh.ys"; yt: "fh.yt"; yu: "fh.yu"; yv: "fh.yv"; yw: "fh.yw"; yx: "fh.yx"; yy: "fh.yy"; yz: "fh.yz"; za: "fh.za"; zb: "fh.zb"; zc: "fh.zc"; zd: "fh.zd"; ze: "fh.ze"; zf: "fh.zf"; zg: "fh.zg"; zh: "fh.zh"; zi: "fh.zi"; zj: "fh.zj"; zk: "fh.zk"; zl: "fh.zl"; zm: "fh.zm"; zn: "fh.zn"; zo: "fh.zo"; zp: "fh.zp"; zq: "fh.zq"; zr: "fh.zr"; zs: "fh.zs"; zt: "fh.zt"; zu: "fh.zu"; zv: "fh.zv"; zw: "fh.zw"; zx: "fh.zx"; zy: "fh.zy"; zz: "fh.zz"; }; fi: { aa: "fi.aa"; ab: "fi.ab"; ac: "fi.ac"; ad: "fi.ad"; ae: "fi.ae"; af: "fi.af"; ag: "fi.ag"; ah: "fi.ah"; ai: "fi.ai"; aj: "fi.aj"; ak: "fi.ak"; al: "fi.al"; am: "fi.am"; an: "fi.an"; ao: "fi.ao"; ap: "fi.ap"; aq: "fi.aq"; ar: "fi.ar"; as: "fi.as"; at: "fi.at"; au: "fi.au"; av: "fi.av"; aw: "fi.aw"; ax: "fi.ax"; ay: "fi.ay"; az: "fi.az"; ba: "fi.ba"; bb: "fi.bb"; bc: "fi.bc"; bd: "fi.bd"; be: "fi.be"; bf: "fi.bf"; bg: "fi.bg"; bh: "fi.bh"; bi: "fi.bi"; bj: "fi.bj"; bk: "fi.bk"; bl: "fi.bl"; bm: "fi.bm"; bn: "fi.bn"; bo: "fi.bo"; bp: "fi.bp"; bq: "fi.bq"; br: "fi.br"; bs: "fi.bs"; bt: "fi.bt"; bu: "fi.bu"; bv: "fi.bv"; bw: "fi.bw"; bx: "fi.bx"; by: "fi.by"; bz: "fi.bz"; ca: "fi.ca"; cb: "fi.cb"; cc: "fi.cc"; cd: "fi.cd"; ce: "fi.ce"; cf: "fi.cf"; cg: "fi.cg"; ch: "fi.ch"; ci: "fi.ci"; cj: "fi.cj"; ck: "fi.ck"; cl: "fi.cl"; cm: "fi.cm"; cn: "fi.cn"; co: "fi.co"; cp: "fi.cp"; cq: "fi.cq"; cr: "fi.cr"; cs: "fi.cs"; ct: "fi.ct"; cu: "fi.cu"; cv: "fi.cv"; cw: "fi.cw"; cx: "fi.cx"; cy: "fi.cy"; cz: "fi.cz"; da: "fi.da"; db: "fi.db"; dc: "fi.dc"; dd: "fi.dd"; de: "fi.de"; df: "fi.df"; dg: "fi.dg"; dh: "fi.dh"; di: "fi.di"; dj: "fi.dj"; dk: "fi.dk"; dl: "fi.dl"; dm: "fi.dm"; dn: "fi.dn"; do: "fi.do"; dp: "fi.dp"; dq: "fi.dq"; dr: "fi.dr"; ds: "fi.ds"; dt: "fi.dt"; du: "fi.du"; dv: "fi.dv"; dw: "fi.dw"; dx: "fi.dx"; dy: "fi.dy"; dz: "fi.dz"; ea: "fi.ea"; eb: "fi.eb"; ec: "fi.ec"; ed: "fi.ed"; ee: "fi.ee"; ef: "fi.ef"; eg: "fi.eg"; eh: "fi.eh"; ei: "fi.ei"; ej: "fi.ej"; ek: "fi.ek"; el: "fi.el"; em: "fi.em"; en: "fi.en"; eo: "fi.eo"; ep: "fi.ep"; eq: "fi.eq"; er: "fi.er"; es: "fi.es"; et: "fi.et"; eu: "fi.eu"; ev: "fi.ev"; ew: "fi.ew"; ex: "fi.ex"; ey: "fi.ey"; ez: "fi.ez"; fa: "fi.fa"; fb: "fi.fb"; fc: "fi.fc"; fd: "fi.fd"; fe: "fi.fe"; ff: "fi.ff"; fg: "fi.fg"; fh: "fi.fh"; fi: "fi.fi"; fj: "fi.fj"; fk: "fi.fk"; fl: "fi.fl"; fm: "fi.fm"; fn: "fi.fn"; fo: "fi.fo"; fp: "fi.fp"; fq: "fi.fq"; fr: "fi.fr"; fs: "fi.fs"; ft: "fi.ft"; fu: "fi.fu"; fv: "fi.fv"; fw: "fi.fw"; fx: "fi.fx"; fy: "fi.fy"; fz: "fi.fz"; ga: "fi.ga"; gb: "fi.gb"; gc: "fi.gc"; gd: "fi.gd"; ge: "fi.ge"; gf: "fi.gf"; gg: "fi.gg"; gh: "fi.gh"; gi: "fi.gi"; gj: "fi.gj"; gk: "fi.gk"; gl: "fi.gl"; gm: "fi.gm"; gn: "fi.gn"; go: "fi.go"; gp: "fi.gp"; gq: "fi.gq"; gr: "fi.gr"; gs: "fi.gs"; gt: "fi.gt"; gu: "fi.gu"; gv: "fi.gv"; gw: "fi.gw"; gx: "fi.gx"; gy: "fi.gy"; gz: "fi.gz"; ha: "fi.ha"; hb: "fi.hb"; hc: "fi.hc"; hd: "fi.hd"; he: "fi.he"; hf: "fi.hf"; hg: "fi.hg"; hh: "fi.hh"; hi: "fi.hi"; hj: "fi.hj"; hk: "fi.hk"; hl: "fi.hl"; hm: "fi.hm"; hn: "fi.hn"; ho: "fi.ho"; hp: "fi.hp"; hq: "fi.hq"; hr: "fi.hr"; hs: "fi.hs"; ht: "fi.ht"; hu: "fi.hu"; hv: "fi.hv"; hw: "fi.hw"; hx: "fi.hx"; hy: "fi.hy"; hz: "fi.hz"; ia: "fi.ia"; ib: "fi.ib"; ic: "fi.ic"; id: "fi.id"; ie: "fi.ie"; if: "fi.if"; ig: "fi.ig"; ih: "fi.ih"; ii: "fi.ii"; ij: "fi.ij"; ik: "fi.ik"; il: "fi.il"; im: "fi.im"; in: "fi.in"; io: "fi.io"; ip: "fi.ip"; iq: "fi.iq"; ir: "fi.ir"; is: "fi.is"; it: "fi.it"; iu: "fi.iu"; iv: "fi.iv"; iw: "fi.iw"; ix: "fi.ix"; iy: "fi.iy"; iz: "fi.iz"; ja: "fi.ja"; jb: "fi.jb"; jc: "fi.jc"; jd: "fi.jd"; je: "fi.je"; jf: "fi.jf"; jg: "fi.jg"; jh: "fi.jh"; ji: "fi.ji"; jj: "fi.jj"; jk: "fi.jk"; jl: "fi.jl"; jm: "fi.jm"; jn: "fi.jn"; jo: "fi.jo"; jp: "fi.jp"; jq: "fi.jq"; jr: "fi.jr"; js: "fi.js"; jt: "fi.jt"; ju: "fi.ju"; jv: "fi.jv"; jw: "fi.jw"; jx: "fi.jx"; jy: "fi.jy"; jz: "fi.jz"; ka: "fi.ka"; kb: "fi.kb"; kc: "fi.kc"; kd: "fi.kd"; ke: "fi.ke"; kf: "fi.kf"; kg: "fi.kg"; kh: "fi.kh"; ki: "fi.ki"; kj: "fi.kj"; kk: "fi.kk"; kl: "fi.kl"; km: "fi.km"; kn: "fi.kn"; ko: "fi.ko"; kp: "fi.kp"; kq: "fi.kq"; kr: "fi.kr"; ks: "fi.ks"; kt: "fi.kt"; ku: "fi.ku"; kv: "fi.kv"; kw: "fi.kw"; kx: "fi.kx"; ky: "fi.ky"; kz: "fi.kz"; la: "fi.la"; lb: "fi.lb"; lc: "fi.lc"; ld: "fi.ld"; le: "fi.le"; lf: "fi.lf"; lg: "fi.lg"; lh: "fi.lh"; li: "fi.li"; lj: "fi.lj"; lk: "fi.lk"; ll: "fi.ll"; lm: "fi.lm"; ln: "fi.ln"; lo: "fi.lo"; lp: "fi.lp"; lq: "fi.lq"; lr: "fi.lr"; ls: "fi.ls"; lt: "fi.lt"; lu: "fi.lu"; lv: "fi.lv"; lw: "fi.lw"; lx: "fi.lx"; ly: "fi.ly"; lz: "fi.lz"; ma: "fi.ma"; mb: "fi.mb"; mc: "fi.mc"; md: "fi.md"; me: "fi.me"; mf: "fi.mf"; mg: "fi.mg"; mh: "fi.mh"; mi: "fi.mi"; mj: "fi.mj"; mk: "fi.mk"; ml: "fi.ml"; mm: "fi.mm"; mn: "fi.mn"; mo: "fi.mo"; mp: "fi.mp"; mq: "fi.mq"; mr: "fi.mr"; ms: "fi.ms"; mt: "fi.mt"; mu: "fi.mu"; mv: "fi.mv"; mw: "fi.mw"; mx: "fi.mx"; my: "fi.my"; mz: "fi.mz"; na: "fi.na"; nb: "fi.nb"; nc: "fi.nc"; nd: "fi.nd"; ne: "fi.ne"; nf: "fi.nf"; ng: "fi.ng"; nh: "fi.nh"; ni: "fi.ni"; nj: "fi.nj"; nk: "fi.nk"; nl: "fi.nl"; nm: "fi.nm"; nn: "fi.nn"; no: "fi.no"; np: "fi.np"; nq: "fi.nq"; nr: "fi.nr"; ns: "fi.ns"; nt: "fi.nt"; nu: "fi.nu"; nv: "fi.nv"; nw: "fi.nw"; nx: "fi.nx"; ny: "fi.ny"; nz: "fi.nz"; oa: "fi.oa"; ob: "fi.ob"; oc: "fi.oc"; od: "fi.od"; oe: "fi.oe"; of: "fi.of"; og: "fi.og"; oh: "fi.oh"; oi: "fi.oi"; oj: "fi.oj"; ok: "fi.ok"; ol: "fi.ol"; om: "fi.om"; on: "fi.on"; oo: "fi.oo"; op: "fi.op"; oq: "fi.oq"; or: "fi.or"; os: "fi.os"; ot: "fi.ot"; ou: "fi.ou"; ov: "fi.ov"; ow: "fi.ow"; ox: "fi.ox"; oy: "fi.oy"; oz: "fi.oz"; pa: "fi.pa"; pb: "fi.pb"; pc: "fi.pc"; pd: "fi.pd"; pe: "fi.pe"; pf: "fi.pf"; pg: "fi.pg"; ph: "fi.ph"; pi: "fi.pi"; pj: "fi.pj"; pk: "fi.pk"; pl: "fi.pl"; pm: "fi.pm"; pn: "fi.pn"; po: "fi.po"; pp: "fi.pp"; pq: "fi.pq"; pr: "fi.pr"; ps: "fi.ps"; pt: "fi.pt"; pu: "fi.pu"; pv: "fi.pv"; pw: "fi.pw"; px: "fi.px"; py: "fi.py"; pz: "fi.pz"; qa: "fi.qa"; qb: "fi.qb"; qc: "fi.qc"; qd: "fi.qd"; qe: "fi.qe"; qf: "fi.qf"; qg: "fi.qg"; qh: "fi.qh"; qi: "fi.qi"; qj: "fi.qj"; qk: "fi.qk"; ql: "fi.ql"; qm: "fi.qm"; qn: "fi.qn"; qo: "fi.qo"; qp: "fi.qp"; qq: "fi.qq"; qr: "fi.qr"; qs: "fi.qs"; qt: "fi.qt"; qu: "fi.qu"; qv: "fi.qv"; qw: "fi.qw"; qx: "fi.qx"; qy: "fi.qy"; qz: "fi.qz"; ra: "fi.ra"; rb: "fi.rb"; rc: "fi.rc"; rd: "fi.rd"; re: "fi.re"; rf: "fi.rf"; rg: "fi.rg"; rh: "fi.rh"; ri: "fi.ri"; rj: "fi.rj"; rk: "fi.rk"; rl: "fi.rl"; rm: "fi.rm"; rn: "fi.rn"; ro: "fi.ro"; rp: "fi.rp"; rq: "fi.rq"; rr: "fi.rr"; rs: "fi.rs"; rt: "fi.rt"; ru: "fi.ru"; rv: "fi.rv"; rw: "fi.rw"; rx: "fi.rx"; ry: "fi.ry"; rz: "fi.rz"; sa: "fi.sa"; sb: "fi.sb"; sc: "fi.sc"; sd: "fi.sd"; se: "fi.se"; sf: "fi.sf"; sg: "fi.sg"; sh: "fi.sh"; si: "fi.si"; sj: "fi.sj"; sk: "fi.sk"; sl: "fi.sl"; sm: "fi.sm"; sn: "fi.sn"; so: "fi.so"; sp: "fi.sp"; sq: "fi.sq"; sr: "fi.sr"; ss: "fi.ss"; st: "fi.st"; su: "fi.su"; sv: "fi.sv"; sw: "fi.sw"; sx: "fi.sx"; sy: "fi.sy"; sz: "fi.sz"; ta: "fi.ta"; tb: "fi.tb"; tc: "fi.tc"; td: "fi.td"; te: "fi.te"; tf: "fi.tf"; tg: "fi.tg"; th: "fi.th"; ti: "fi.ti"; tj: "fi.tj"; tk: "fi.tk"; tl: "fi.tl"; tm: "fi.tm"; tn: "fi.tn"; to: "fi.to"; tp: "fi.tp"; tq: "fi.tq"; tr: "fi.tr"; ts: "fi.ts"; tt: "fi.tt"; tu: "fi.tu"; tv: "fi.tv"; tw: "fi.tw"; tx: "fi.tx"; ty: "fi.ty"; tz: "fi.tz"; ua: "fi.ua"; ub: "fi.ub"; uc: "fi.uc"; ud: "fi.ud"; ue: "fi.ue"; uf: "fi.uf"; ug: "fi.ug"; uh: "fi.uh"; ui: "fi.ui"; uj: "fi.uj"; uk: "fi.uk"; ul: "fi.ul"; um: "fi.um"; un: "fi.un"; uo: "fi.uo"; up: "fi.up"; uq: "fi.uq"; ur: "fi.ur"; us: "fi.us"; ut: "fi.ut"; uu: "fi.uu"; uv: "fi.uv"; uw: "fi.uw"; ux: "fi.ux"; uy: "fi.uy"; uz: "fi.uz"; va: "fi.va"; vb: "fi.vb"; vc: "fi.vc"; vd: "fi.vd"; ve: "fi.ve"; vf: "fi.vf"; vg: "fi.vg"; vh: "fi.vh"; vi: "fi.vi"; vj: "fi.vj"; vk: "fi.vk"; vl: "fi.vl"; vm: "fi.vm"; vn: "fi.vn"; vo: "fi.vo"; vp: "fi.vp"; vq: "fi.vq"; vr: "fi.vr"; vs: "fi.vs"; vt: "fi.vt"; vu: "fi.vu"; vv: "fi.vv"; vw: "fi.vw"; vx: "fi.vx"; vy: "fi.vy"; vz: "fi.vz"; wa: "fi.wa"; wb: "fi.wb"; wc: "fi.wc"; wd: "fi.wd"; we: "fi.we"; wf: "fi.wf"; wg: "fi.wg"; wh: "fi.wh"; wi: "fi.wi"; wj: "fi.wj"; wk: "fi.wk"; wl: "fi.wl"; wm: "fi.wm"; wn: "fi.wn"; wo: "fi.wo"; wp: "fi.wp"; wq: "fi.wq"; wr: "fi.wr"; ws: "fi.ws"; wt: "fi.wt"; wu: "fi.wu"; wv: "fi.wv"; ww: "fi.ww"; wx: "fi.wx"; wy: "fi.wy"; wz: "fi.wz"; xa: "fi.xa"; xb: "fi.xb"; xc: "fi.xc"; xd: "fi.xd"; xe: "fi.xe"; xf: "fi.xf"; xg: "fi.xg"; xh: "fi.xh"; xi: "fi.xi"; xj: "fi.xj"; xk: "fi.xk"; xl: "fi.xl"; xm: "fi.xm"; xn: "fi.xn"; xo: "fi.xo"; xp: "fi.xp"; xq: "fi.xq"; xr: "fi.xr"; xs: "fi.xs"; xt: "fi.xt"; xu: "fi.xu"; xv: "fi.xv"; xw: "fi.xw"; xx: "fi.xx"; xy: "fi.xy"; xz: "fi.xz"; ya: "fi.ya"; yb: "fi.yb"; yc: "fi.yc"; yd: "fi.yd"; ye: "fi.ye"; yf: "fi.yf"; yg: "fi.yg"; yh: "fi.yh"; yi: "fi.yi"; yj: "fi.yj"; yk: "fi.yk"; yl: "fi.yl"; ym: "fi.ym"; yn: "fi.yn"; yo: "fi.yo"; yp: "fi.yp"; yq: "fi.yq"; yr: "fi.yr"; ys: "fi.ys"; yt: "fi.yt"; yu: "fi.yu"; yv: "fi.yv"; yw: "fi.yw"; yx: "fi.yx"; yy: "fi.yy"; yz: "fi.yz"; za: "fi.za"; zb: "fi.zb"; zc: "fi.zc"; zd: "fi.zd"; ze: "fi.ze"; zf: "fi.zf"; zg: "fi.zg"; zh: "fi.zh"; zi: "fi.zi"; zj: "fi.zj"; zk: "fi.zk"; zl: "fi.zl"; zm: "fi.zm"; zn: "fi.zn"; zo: "fi.zo"; zp: "fi.zp"; zq: "fi.zq"; zr: "fi.zr"; zs: "fi.zs"; zt: "fi.zt"; zu: "fi.zu"; zv: "fi.zv"; zw: "fi.zw"; zx: "fi.zx"; zy: "fi.zy"; zz: "fi.zz"; }; fj: { aa: "fj.aa"; ab: "fj.ab"; ac: "fj.ac"; ad: "fj.ad"; ae: "fj.ae"; af: "fj.af"; ag: "fj.ag"; ah: "fj.ah"; ai: "fj.ai"; aj: "fj.aj"; ak: "fj.ak"; al: "fj.al"; am: "fj.am"; an: "fj.an"; ao: "fj.ao"; ap: "fj.ap"; aq: "fj.aq"; ar: "fj.ar"; as: "fj.as"; at: "fj.at"; au: "fj.au"; av: "fj.av"; aw: "fj.aw"; ax: "fj.ax"; ay: "fj.ay"; az: "fj.az"; ba: "fj.ba"; bb: "fj.bb"; bc: "fj.bc"; bd: "fj.bd"; be: "fj.be"; bf: "fj.bf"; bg: "fj.bg"; bh: "fj.bh"; bi: "fj.bi"; bj: "fj.bj"; bk: "fj.bk"; bl: "fj.bl"; bm: "fj.bm"; bn: "fj.bn"; bo: "fj.bo"; bp: "fj.bp"; bq: "fj.bq"; br: "fj.br"; bs: "fj.bs"; bt: "fj.bt"; bu: "fj.bu"; bv: "fj.bv"; bw: "fj.bw"; bx: "fj.bx"; by: "fj.by"; bz: "fj.bz"; ca: "fj.ca"; cb: "fj.cb"; cc: "fj.cc"; cd: "fj.cd"; ce: "fj.ce"; cf: "fj.cf"; cg: "fj.cg"; ch: "fj.ch"; ci: "fj.ci"; cj: "fj.cj"; ck: "fj.ck"; cl: "fj.cl"; cm: "fj.cm"; cn: "fj.cn"; co: "fj.co"; cp: "fj.cp"; cq: "fj.cq"; cr: "fj.cr"; cs: "fj.cs"; ct: "fj.ct"; cu: "fj.cu"; cv: "fj.cv"; cw: "fj.cw"; cx: "fj.cx"; cy: "fj.cy"; cz: "fj.cz"; da: "fj.da"; db: "fj.db"; dc: "fj.dc"; dd: "fj.dd"; de: "fj.de"; df: "fj.df"; dg: "fj.dg"; dh: "fj.dh"; di: "fj.di"; dj: "fj.dj"; dk: "fj.dk"; dl: "fj.dl"; dm: "fj.dm"; dn: "fj.dn"; do: "fj.do"; dp: "fj.dp"; dq: "fj.dq"; dr: "fj.dr"; ds: "fj.ds"; dt: "fj.dt"; du: "fj.du"; dv: "fj.dv"; dw: "fj.dw"; dx: "fj.dx"; dy: "fj.dy"; dz: "fj.dz"; ea: "fj.ea"; eb: "fj.eb"; ec: "fj.ec"; ed: "fj.ed"; ee: "fj.ee"; ef: "fj.ef"; eg: "fj.eg"; eh: "fj.eh"; ei: "fj.ei"; ej: "fj.ej"; ek: "fj.ek"; el: "fj.el"; em: "fj.em"; en: "fj.en"; eo: "fj.eo"; ep: "fj.ep"; eq: "fj.eq"; er: "fj.er"; es: "fj.es"; et: "fj.et"; eu: "fj.eu"; ev: "fj.ev"; ew: "fj.ew"; ex: "fj.ex"; ey: "fj.ey"; ez: "fj.ez"; fa: "fj.fa"; fb: "fj.fb"; fc: "fj.fc"; fd: "fj.fd"; fe: "fj.fe"; ff: "fj.ff"; fg: "fj.fg"; fh: "fj.fh"; fi: "fj.fi"; fj: "fj.fj"; fk: "fj.fk"; fl: "fj.fl"; fm: "fj.fm"; fn: "fj.fn"; fo: "fj.fo"; fp: "fj.fp"; fq: "fj.fq"; fr: "fj.fr"; fs: "fj.fs"; ft: "fj.ft"; fu: "fj.fu"; fv: "fj.fv"; fw: "fj.fw"; fx: "fj.fx"; fy: "fj.fy"; fz: "fj.fz"; ga: "fj.ga"; gb: "fj.gb"; gc: "fj.gc"; gd: "fj.gd"; ge: "fj.ge"; gf: "fj.gf"; gg: "fj.gg"; gh: "fj.gh"; gi: "fj.gi"; gj: "fj.gj"; gk: "fj.gk"; gl: "fj.gl"; gm: "fj.gm"; gn: "fj.gn"; go: "fj.go"; gp: "fj.gp"; gq: "fj.gq"; gr: "fj.gr"; gs: "fj.gs"; gt: "fj.gt"; gu: "fj.gu"; gv: "fj.gv"; gw: "fj.gw"; gx: "fj.gx"; gy: "fj.gy"; gz: "fj.gz"; ha: "fj.ha"; hb: "fj.hb"; hc: "fj.hc"; hd: "fj.hd"; he: "fj.he"; hf: "fj.hf"; hg: "fj.hg"; hh: "fj.hh"; hi: "fj.hi"; hj: "fj.hj"; hk: "fj.hk"; hl: "fj.hl"; hm: "fj.hm"; hn: "fj.hn"; ho: "fj.ho"; hp: "fj.hp"; hq: "fj.hq"; hr: "fj.hr"; hs: "fj.hs"; ht: "fj.ht"; hu: "fj.hu"; hv: "fj.hv"; hw: "fj.hw"; hx: "fj.hx"; hy: "fj.hy"; hz: "fj.hz"; ia: "fj.ia"; ib: "fj.ib"; ic: "fj.ic"; id: "fj.id"; ie: "fj.ie"; if: "fj.if"; ig: "fj.ig"; ih: "fj.ih"; ii: "fj.ii"; ij: "fj.ij"; ik: "fj.ik"; il: "fj.il"; im: "fj.im"; in: "fj.in"; io: "fj.io"; ip: "fj.ip"; iq: "fj.iq"; ir: "fj.ir"; is: "fj.is"; it: "fj.it"; iu: "fj.iu"; iv: "fj.iv"; iw: "fj.iw"; ix: "fj.ix"; iy: "fj.iy"; iz: "fj.iz"; ja: "fj.ja"; jb: "fj.jb"; jc: "fj.jc"; jd: "fj.jd"; je: "fj.je"; jf: "fj.jf"; jg: "fj.jg"; jh: "fj.jh"; ji: "fj.ji"; jj: "fj.jj"; jk: "fj.jk"; jl: "fj.jl"; jm: "fj.jm"; jn: "fj.jn"; jo: "fj.jo"; jp: "fj.jp"; jq: "fj.jq"; jr: "fj.jr"; js: "fj.js"; jt: "fj.jt"; ju: "fj.ju"; jv: "fj.jv"; jw: "fj.jw"; jx: "fj.jx"; jy: "fj.jy"; jz: "fj.jz"; ka: "fj.ka"; kb: "fj.kb"; kc: "fj.kc"; kd: "fj.kd"; ke: "fj.ke"; kf: "fj.kf"; kg: "fj.kg"; kh: "fj.kh"; ki: "fj.ki"; kj: "fj.kj"; kk: "fj.kk"; kl: "fj.kl"; km: "fj.km"; kn: "fj.kn"; ko: "fj.ko"; kp: "fj.kp"; kq: "fj.kq"; kr: "fj.kr"; ks: "fj.ks"; kt: "fj.kt"; ku: "fj.ku"; kv: "fj.kv"; kw: "fj.kw"; kx: "fj.kx"; ky: "fj.ky"; kz: "fj.kz"; la: "fj.la"; lb: "fj.lb"; lc: "fj.lc"; ld: "fj.ld"; le: "fj.le"; lf: "fj.lf"; lg: "fj.lg"; lh: "fj.lh"; li: "fj.li"; lj: "fj.lj"; lk: "fj.lk"; ll: "fj.ll"; lm: "fj.lm"; ln: "fj.ln"; lo: "fj.lo"; lp: "fj.lp"; lq: "fj.lq"; lr: "fj.lr"; ls: "fj.ls"; lt: "fj.lt"; lu: "fj.lu"; lv: "fj.lv"; lw: "fj.lw"; lx: "fj.lx"; ly: "fj.ly"; lz: "fj.lz"; ma: "fj.ma"; mb: "fj.mb"; mc: "fj.mc"; md: "fj.md"; me: "fj.me"; mf: "fj.mf"; mg: "fj.mg"; mh: "fj.mh"; mi: "fj.mi"; mj: "fj.mj"; mk: "fj.mk"; ml: "fj.ml"; mm: "fj.mm"; mn: "fj.mn"; mo: "fj.mo"; mp: "fj.mp"; mq: "fj.mq"; mr: "fj.mr"; ms: "fj.ms"; mt: "fj.mt"; mu: "fj.mu"; mv: "fj.mv"; mw: "fj.mw"; mx: "fj.mx"; my: "fj.my"; mz: "fj.mz"; na: "fj.na"; nb: "fj.nb"; nc: "fj.nc"; nd: "fj.nd"; ne: "fj.ne"; nf: "fj.nf"; ng: "fj.ng"; nh: "fj.nh"; ni: "fj.ni"; nj: "fj.nj"; nk: "fj.nk"; nl: "fj.nl"; nm: "fj.nm"; nn: "fj.nn"; no: "fj.no"; np: "fj.np"; nq: "fj.nq"; nr: "fj.nr"; ns: "fj.ns"; nt: "fj.nt"; nu: "fj.nu"; nv: "fj.nv"; nw: "fj.nw"; nx: "fj.nx"; ny: "fj.ny"; nz: "fj.nz"; oa: "fj.oa"; ob: "fj.ob"; oc: "fj.oc"; od: "fj.od"; oe: "fj.oe"; of: "fj.of"; og: "fj.og"; oh: "fj.oh"; oi: "fj.oi"; oj: "fj.oj"; ok: "fj.ok"; ol: "fj.ol"; om: "fj.om"; on: "fj.on"; oo: "fj.oo"; op: "fj.op"; oq: "fj.oq"; or: "fj.or"; os: "fj.os"; ot: "fj.ot"; ou: "fj.ou"; ov: "fj.ov"; ow: "fj.ow"; ox: "fj.ox"; oy: "fj.oy"; oz: "fj.oz"; pa: "fj.pa"; pb: "fj.pb"; pc: "fj.pc"; pd: "fj.pd"; pe: "fj.pe"; pf: "fj.pf"; pg: "fj.pg"; ph: "fj.ph"; pi: "fj.pi"; pj: "fj.pj"; pk: "fj.pk"; pl: "fj.pl"; pm: "fj.pm"; pn: "fj.pn"; po: "fj.po"; pp: "fj.pp"; pq: "fj.pq"; pr: "fj.pr"; ps: "fj.ps"; pt: "fj.pt"; pu: "fj.pu"; pv: "fj.pv"; pw: "fj.pw"; px: "fj.px"; py: "fj.py"; pz: "fj.pz"; qa: "fj.qa"; qb: "fj.qb"; qc: "fj.qc"; qd: "fj.qd"; qe: "fj.qe"; qf: "fj.qf"; qg: "fj.qg"; qh: "fj.qh"; qi: "fj.qi"; qj: "fj.qj"; qk: "fj.qk"; ql: "fj.ql"; qm: "fj.qm"; qn: "fj.qn"; qo: "fj.qo"; qp: "fj.qp"; qq: "fj.qq"; qr: "fj.qr"; qs: "fj.qs"; qt: "fj.qt"; qu: "fj.qu"; qv: "fj.qv"; qw: "fj.qw"; qx: "fj.qx"; qy: "fj.qy"; qz: "fj.qz"; ra: "fj.ra"; rb: "fj.rb"; rc: "fj.rc"; rd: "fj.rd"; re: "fj.re"; rf: "fj.rf"; rg: "fj.rg"; rh: "fj.rh"; ri: "fj.ri"; rj: "fj.rj"; rk: "fj.rk"; rl: "fj.rl"; rm: "fj.rm"; rn: "fj.rn"; ro: "fj.ro"; rp: "fj.rp"; rq: "fj.rq"; rr: "fj.rr"; rs: "fj.rs"; rt: "fj.rt"; ru: "fj.ru"; rv: "fj.rv"; rw: "fj.rw"; rx: "fj.rx"; ry: "fj.ry"; rz: "fj.rz"; sa: "fj.sa"; sb: "fj.sb"; sc: "fj.sc"; sd: "fj.sd"; se: "fj.se"; sf: "fj.sf"; sg: "fj.sg"; sh: "fj.sh"; si: "fj.si"; sj: "fj.sj"; sk: "fj.sk"; sl: "fj.sl"; sm: "fj.sm"; sn: "fj.sn"; so: "fj.so"; sp: "fj.sp"; sq: "fj.sq"; sr: "fj.sr"; ss: "fj.ss"; st: "fj.st"; su: "fj.su"; sv: "fj.sv"; sw: "fj.sw"; sx: "fj.sx"; sy: "fj.sy"; sz: "fj.sz"; ta: "fj.ta"; tb: "fj.tb"; tc: "fj.tc"; td: "fj.td"; te: "fj.te"; tf: "fj.tf"; tg: "fj.tg"; th: "fj.th"; ti: "fj.ti"; tj: "fj.tj"; tk: "fj.tk"; tl: "fj.tl"; tm: "fj.tm"; tn: "fj.tn"; to: "fj.to"; tp: "fj.tp"; tq: "fj.tq"; tr: "fj.tr"; ts: "fj.ts"; tt: "fj.tt"; tu: "fj.tu"; tv: "fj.tv"; tw: "fj.tw"; tx: "fj.tx"; ty: "fj.ty"; tz: "fj.tz"; ua: "fj.ua"; ub: "fj.ub"; uc: "fj.uc"; ud: "fj.ud"; ue: "fj.ue"; uf: "fj.uf"; ug: "fj.ug"; uh: "fj.uh"; ui: "fj.ui"; uj: "fj.uj"; uk: "fj.uk"; ul: "fj.ul"; um: "fj.um"; un: "fj.un"; uo: "fj.uo"; up: "fj.up"; uq: "fj.uq"; ur: "fj.ur"; us: "fj.us"; ut: "fj.ut"; uu: "fj.uu"; uv: "fj.uv"; uw: "fj.uw"; ux: "fj.ux"; uy: "fj.uy"; uz: "fj.uz"; va: "fj.va"; vb: "fj.vb"; vc: "fj.vc"; vd: "fj.vd"; ve: "fj.ve"; vf: "fj.vf"; vg: "fj.vg"; vh: "fj.vh"; vi: "fj.vi"; vj: "fj.vj"; vk: "fj.vk"; vl: "fj.vl"; vm: "fj.vm"; vn: "fj.vn"; vo: "fj.vo"; vp: "fj.vp"; vq: "fj.vq"; vr: "fj.vr"; vs: "fj.vs"; vt: "fj.vt"; vu: "fj.vu"; vv: "fj.vv"; vw: "fj.vw"; vx: "fj.vx"; vy: "fj.vy"; vz: "fj.vz"; wa: "fj.wa"; wb: "fj.wb"; wc: "fj.wc"; wd: "fj.wd"; we: "fj.we"; wf: "fj.wf"; wg: "fj.wg"; wh: "fj.wh"; wi: "fj.wi"; wj: "fj.wj"; wk: "fj.wk"; wl: "fj.wl"; wm: "fj.wm"; wn: "fj.wn"; wo: "fj.wo"; wp: "fj.wp"; wq: "fj.wq"; wr: "fj.wr"; ws: "fj.ws"; wt: "fj.wt"; wu: "fj.wu"; wv: "fj.wv"; ww: "fj.ww"; wx: "fj.wx"; wy: "fj.wy"; wz: "fj.wz"; xa: "fj.xa"; xb: "fj.xb"; xc: "fj.xc"; xd: "fj.xd"; xe: "fj.xe"; xf: "fj.xf"; xg: "fj.xg"; xh: "fj.xh"; xi: "fj.xi"; xj: "fj.xj"; xk: "fj.xk"; xl: "fj.xl"; xm: "fj.xm"; xn: "fj.xn"; xo: "fj.xo"; xp: "fj.xp"; xq: "fj.xq"; xr: "fj.xr"; xs: "fj.xs"; xt: "fj.xt"; xu: "fj.xu"; xv: "fj.xv"; xw: "fj.xw"; xx: "fj.xx"; xy: "fj.xy"; xz: "fj.xz"; ya: "fj.ya"; yb: "fj.yb"; yc: "fj.yc"; yd: "fj.yd"; ye: "fj.ye"; yf: "fj.yf"; yg: "fj.yg"; yh: "fj.yh"; yi: "fj.yi"; yj: "fj.yj"; yk: "fj.yk"; yl: "fj.yl"; ym: "fj.ym"; yn: "fj.yn"; yo: "fj.yo"; yp: "fj.yp"; yq: "fj.yq"; yr: "fj.yr"; ys: "fj.ys"; yt: "fj.yt"; yu: "fj.yu"; yv: "fj.yv"; yw: "fj.yw"; yx: "fj.yx"; yy: "fj.yy"; yz: "fj.yz"; za: "fj.za"; zb: "fj.zb"; zc: "fj.zc"; zd: "fj.zd"; ze: "fj.ze"; zf: "fj.zf"; zg: "fj.zg"; zh: "fj.zh"; zi: "fj.zi"; zj: "fj.zj"; zk: "fj.zk"; zl: "fj.zl"; zm: "fj.zm"; zn: "fj.zn"; zo: "fj.zo"; zp: "fj.zp"; zq: "fj.zq"; zr: "fj.zr"; zs: "fj.zs"; zt: "fj.zt"; zu: "fj.zu"; zv: "fj.zv"; zw: "fj.zw"; zx: "fj.zx"; zy: "fj.zy"; zz: "fj.zz"; }; fk: { aa: "fk.aa"; ab: "fk.ab"; ac: "fk.ac"; ad: "fk.ad"; ae: "fk.ae"; af: "fk.af"; ag: "fk.ag"; ah: "fk.ah"; ai: "fk.ai"; aj: "fk.aj"; ak: "fk.ak"; al: "fk.al"; am: "fk.am"; an: "fk.an"; ao: "fk.ao"; ap: "fk.ap"; aq: "fk.aq"; ar: "fk.ar"; as: "fk.as"; at: "fk.at"; au: "fk.au"; av: "fk.av"; aw: "fk.aw"; ax: "fk.ax"; ay: "fk.ay"; az: "fk.az"; ba: "fk.ba"; bb: "fk.bb"; bc: "fk.bc"; bd: "fk.bd"; be: "fk.be"; bf: "fk.bf"; bg: "fk.bg"; bh: "fk.bh"; bi: "fk.bi"; bj: "fk.bj"; bk: "fk.bk"; bl: "fk.bl"; bm: "fk.bm"; bn: "fk.bn"; bo: "fk.bo"; bp: "fk.bp"; bq: "fk.bq"; br: "fk.br"; bs: "fk.bs"; bt: "fk.bt"; bu: "fk.bu"; bv: "fk.bv"; bw: "fk.bw"; bx: "fk.bx"; by: "fk.by"; bz: "fk.bz"; ca: "fk.ca"; cb: "fk.cb"; cc: "fk.cc"; cd: "fk.cd"; ce: "fk.ce"; cf: "fk.cf"; cg: "fk.cg"; ch: "fk.ch"; ci: "fk.ci"; cj: "fk.cj"; ck: "fk.ck"; cl: "fk.cl"; cm: "fk.cm"; cn: "fk.cn"; co: "fk.co"; cp: "fk.cp"; cq: "fk.cq"; cr: "fk.cr"; cs: "fk.cs"; ct: "fk.ct"; cu: "fk.cu"; cv: "fk.cv"; cw: "fk.cw"; cx: "fk.cx"; cy: "fk.cy"; cz: "fk.cz"; da: "fk.da"; db: "fk.db"; dc: "fk.dc"; dd: "fk.dd"; de: "fk.de"; df: "fk.df"; dg: "fk.dg"; dh: "fk.dh"; di: "fk.di"; dj: "fk.dj"; dk: "fk.dk"; dl: "fk.dl"; dm: "fk.dm"; dn: "fk.dn"; do: "fk.do"; dp: "fk.dp"; dq: "fk.dq"; dr: "fk.dr"; ds: "fk.ds"; dt: "fk.dt"; du: "fk.du"; dv: "fk.dv"; dw: "fk.dw"; dx: "fk.dx"; dy: "fk.dy"; dz: "fk.dz"; ea: "fk.ea"; eb: "fk.eb"; ec: "fk.ec"; ed: "fk.ed"; ee: "fk.ee"; ef: "fk.ef"; eg: "fk.eg"; eh: "fk.eh"; ei: "fk.ei"; ej: "fk.ej"; ek: "fk.ek"; el: "fk.el"; em: "fk.em"; en: "fk.en"; eo: "fk.eo"; ep: "fk.ep"; eq: "fk.eq"; er: "fk.er"; es: "fk.es"; et: "fk.et"; eu: "fk.eu"; ev: "fk.ev"; ew: "fk.ew"; ex: "fk.ex"; ey: "fk.ey"; ez: "fk.ez"; fa: "fk.fa"; fb: "fk.fb"; fc: "fk.fc"; fd: "fk.fd"; fe: "fk.fe"; ff: "fk.ff"; fg: "fk.fg"; fh: "fk.fh"; fi: "fk.fi"; fj: "fk.fj"; fk: "fk.fk"; fl: "fk.fl"; fm: "fk.fm"; fn: "fk.fn"; fo: "fk.fo"; fp: "fk.fp"; fq: "fk.fq"; fr: "fk.fr"; fs: "fk.fs"; ft: "fk.ft"; fu: "fk.fu"; fv: "fk.fv"; fw: "fk.fw"; fx: "fk.fx"; fy: "fk.fy"; fz: "fk.fz"; ga: "fk.ga"; gb: "fk.gb"; gc: "fk.gc"; gd: "fk.gd"; ge: "fk.ge"; gf: "fk.gf"; gg: "fk.gg"; gh: "fk.gh"; gi: "fk.gi"; gj: "fk.gj"; gk: "fk.gk"; gl: "fk.gl"; gm: "fk.gm"; gn: "fk.gn"; go: "fk.go"; gp: "fk.gp"; gq: "fk.gq"; gr: "fk.gr"; gs: "fk.gs"; gt: "fk.gt"; gu: "fk.gu"; gv: "fk.gv"; gw: "fk.gw"; gx: "fk.gx"; gy: "fk.gy"; gz: "fk.gz"; ha: "fk.ha"; hb: "fk.hb"; hc: "fk.hc"; hd: "fk.hd"; he: "fk.he"; hf: "fk.hf"; hg: "fk.hg"; hh: "fk.hh"; hi: "fk.hi"; hj: "fk.hj"; hk: "fk.hk"; hl: "fk.hl"; hm: "fk.hm"; hn: "fk.hn"; ho: "fk.ho"; hp: "fk.hp"; hq: "fk.hq"; hr: "fk.hr"; hs: "fk.hs"; ht: "fk.ht"; hu: "fk.hu"; hv: "fk.hv"; hw: "fk.hw"; hx: "fk.hx"; hy: "fk.hy"; hz: "fk.hz"; ia: "fk.ia"; ib: "fk.ib"; ic: "fk.ic"; id: "fk.id"; ie: "fk.ie"; if: "fk.if"; ig: "fk.ig"; ih: "fk.ih"; ii: "fk.ii"; ij: "fk.ij"; ik: "fk.ik"; il: "fk.il"; im: "fk.im"; in: "fk.in"; io: "fk.io"; ip: "fk.ip"; iq: "fk.iq"; ir: "fk.ir"; is: "fk.is"; it: "fk.it"; iu: "fk.iu"; iv: "fk.iv"; iw: "fk.iw"; ix: "fk.ix"; iy: "fk.iy"; iz: "fk.iz"; ja: "fk.ja"; jb: "fk.jb"; jc: "fk.jc"; jd: "fk.jd"; je: "fk.je"; jf: "fk.jf"; jg: "fk.jg"; jh: "fk.jh"; ji: "fk.ji"; jj: "fk.jj"; jk: "fk.jk"; jl: "fk.jl"; jm: "fk.jm"; jn: "fk.jn"; jo: "fk.jo"; jp: "fk.jp"; jq: "fk.jq"; jr: "fk.jr"; js: "fk.js"; jt: "fk.jt"; ju: "fk.ju"; jv: "fk.jv"; jw: "fk.jw"; jx: "fk.jx"; jy: "fk.jy"; jz: "fk.jz"; ka: "fk.ka"; kb: "fk.kb"; kc: "fk.kc"; kd: "fk.kd"; ke: "fk.ke"; kf: "fk.kf"; kg: "fk.kg"; kh: "fk.kh"; ki: "fk.ki"; kj: "fk.kj"; kk: "fk.kk"; kl: "fk.kl"; km: "fk.km"; kn: "fk.kn"; ko: "fk.ko"; kp: "fk.kp"; kq: "fk.kq"; kr: "fk.kr"; ks: "fk.ks"; kt: "fk.kt"; ku: "fk.ku"; kv: "fk.kv"; kw: "fk.kw"; kx: "fk.kx"; ky: "fk.ky"; kz: "fk.kz"; la: "fk.la"; lb: "fk.lb"; lc: "fk.lc"; ld: "fk.ld"; le: "fk.le"; lf: "fk.lf"; lg: "fk.lg"; lh: "fk.lh"; li: "fk.li"; lj: "fk.lj"; lk: "fk.lk"; ll: "fk.ll"; lm: "fk.lm"; ln: "fk.ln"; lo: "fk.lo"; lp: "fk.lp"; lq: "fk.lq"; lr: "fk.lr"; ls: "fk.ls"; lt: "fk.lt"; lu: "fk.lu"; lv: "fk.lv"; lw: "fk.lw"; lx: "fk.lx"; ly: "fk.ly"; lz: "fk.lz"; ma: "fk.ma"; mb: "fk.mb"; mc: "fk.mc"; md: "fk.md"; me: "fk.me"; mf: "fk.mf"; mg: "fk.mg"; mh: "fk.mh"; mi: "fk.mi"; mj: "fk.mj"; mk: "fk.mk"; ml: "fk.ml"; mm: "fk.mm"; mn: "fk.mn"; mo: "fk.mo"; mp: "fk.mp"; mq: "fk.mq"; mr: "fk.mr"; ms: "fk.ms"; mt: "fk.mt"; mu: "fk.mu"; mv: "fk.mv"; mw: "fk.mw"; mx: "fk.mx"; my: "fk.my"; mz: "fk.mz"; na: "fk.na"; nb: "fk.nb"; nc: "fk.nc"; nd: "fk.nd"; ne: "fk.ne"; nf: "fk.nf"; ng: "fk.ng"; nh: "fk.nh"; ni: "fk.ni"; nj: "fk.nj"; nk: "fk.nk"; nl: "fk.nl"; nm: "fk.nm"; nn: "fk.nn"; no: "fk.no"; np: "fk.np"; nq: "fk.nq"; nr: "fk.nr"; ns: "fk.ns"; nt: "fk.nt"; nu: "fk.nu"; nv: "fk.nv"; nw: "fk.nw"; nx: "fk.nx"; ny: "fk.ny"; nz: "fk.nz"; oa: "fk.oa"; ob: "fk.ob"; oc: "fk.oc"; od: "fk.od"; oe: "fk.oe"; of: "fk.of"; og: "fk.og"; oh: "fk.oh"; oi: "fk.oi"; oj: "fk.oj"; ok: "fk.ok"; ol: "fk.ol"; om: "fk.om"; on: "fk.on"; oo: "fk.oo"; op: "fk.op"; oq: "fk.oq"; or: "fk.or"; os: "fk.os"; ot: "fk.ot"; ou: "fk.ou"; ov: "fk.ov"; ow: "fk.ow"; ox: "fk.ox"; oy: "fk.oy"; oz: "fk.oz"; pa: "fk.pa"; pb: "fk.pb"; pc: "fk.pc"; pd: "fk.pd"; pe: "fk.pe"; pf: "fk.pf"; pg: "fk.pg"; ph: "fk.ph"; pi: "fk.pi"; pj: "fk.pj"; pk: "fk.pk"; pl: "fk.pl"; pm: "fk.pm"; pn: "fk.pn"; po: "fk.po"; pp: "fk.pp"; pq: "fk.pq"; pr: "fk.pr"; ps: "fk.ps"; pt: "fk.pt"; pu: "fk.pu"; pv: "fk.pv"; pw: "fk.pw"; px: "fk.px"; py: "fk.py"; pz: "fk.pz"; qa: "fk.qa"; qb: "fk.qb"; qc: "fk.qc"; qd: "fk.qd"; qe: "fk.qe"; qf: "fk.qf"; qg: "fk.qg"; qh: "fk.qh"; qi: "fk.qi"; qj: "fk.qj"; qk: "fk.qk"; ql: "fk.ql"; qm: "fk.qm"; qn: "fk.qn"; qo: "fk.qo"; qp: "fk.qp"; qq: "fk.qq"; qr: "fk.qr"; qs: "fk.qs"; qt: "fk.qt"; qu: "fk.qu"; qv: "fk.qv"; qw: "fk.qw"; qx: "fk.qx"; qy: "fk.qy"; qz: "fk.qz"; ra: "fk.ra"; rb: "fk.rb"; rc: "fk.rc"; rd: "fk.rd"; re: "fk.re"; rf: "fk.rf"; rg: "fk.rg"; rh: "fk.rh"; ri: "fk.ri"; rj: "fk.rj"; rk: "fk.rk"; rl: "fk.rl"; rm: "fk.rm"; rn: "fk.rn"; ro: "fk.ro"; rp: "fk.rp"; rq: "fk.rq"; rr: "fk.rr"; rs: "fk.rs"; rt: "fk.rt"; ru: "fk.ru"; rv: "fk.rv"; rw: "fk.rw"; rx: "fk.rx"; ry: "fk.ry"; rz: "fk.rz"; sa: "fk.sa"; sb: "fk.sb"; sc: "fk.sc"; sd: "fk.sd"; se: "fk.se"; sf: "fk.sf"; sg: "fk.sg"; sh: "fk.sh"; si: "fk.si"; sj: "fk.sj"; sk: "fk.sk"; sl: "fk.sl"; sm: "fk.sm"; sn: "fk.sn"; so: "fk.so"; sp: "fk.sp"; sq: "fk.sq"; sr: "fk.sr"; ss: "fk.ss"; st: "fk.st"; su: "fk.su"; sv: "fk.sv"; sw: "fk.sw"; sx: "fk.sx"; sy: "fk.sy"; sz: "fk.sz"; ta: "fk.ta"; tb: "fk.tb"; tc: "fk.tc"; td: "fk.td"; te: "fk.te"; tf: "fk.tf"; tg: "fk.tg"; th: "fk.th"; ti: "fk.ti"; tj: "fk.tj"; tk: "fk.tk"; tl: "fk.tl"; tm: "fk.tm"; tn: "fk.tn"; to: "fk.to"; tp: "fk.tp"; tq: "fk.tq"; tr: "fk.tr"; ts: "fk.ts"; tt: "fk.tt"; tu: "fk.tu"; tv: "fk.tv"; tw: "fk.tw"; tx: "fk.tx"; ty: "fk.ty"; tz: "fk.tz"; ua: "fk.ua"; ub: "fk.ub"; uc: "fk.uc"; ud: "fk.ud"; ue: "fk.ue"; uf: "fk.uf"; ug: "fk.ug"; uh: "fk.uh"; ui: "fk.ui"; uj: "fk.uj"; uk: "fk.uk"; ul: "fk.ul"; um: "fk.um"; un: "fk.un"; uo: "fk.uo"; up: "fk.up"; uq: "fk.uq"; ur: "fk.ur"; us: "fk.us"; ut: "fk.ut"; uu: "fk.uu"; uv: "fk.uv"; uw: "fk.uw"; ux: "fk.ux"; uy: "fk.uy"; uz: "fk.uz"; va: "fk.va"; vb: "fk.vb"; vc: "fk.vc"; vd: "fk.vd"; ve: "fk.ve"; vf: "fk.vf"; vg: "fk.vg"; vh: "fk.vh"; vi: "fk.vi"; vj: "fk.vj"; vk: "fk.vk"; vl: "fk.vl"; vm: "fk.vm"; vn: "fk.vn"; vo: "fk.vo"; vp: "fk.vp"; vq: "fk.vq"; vr: "fk.vr"; vs: "fk.vs"; vt: "fk.vt"; vu: "fk.vu"; vv: "fk.vv"; vw: "fk.vw"; vx: "fk.vx"; vy: "fk.vy"; vz: "fk.vz"; wa: "fk.wa"; wb: "fk.wb"; wc: "fk.wc"; wd: "fk.wd"; we: "fk.we"; wf: "fk.wf"; wg: "fk.wg"; wh: "fk.wh"; wi: "fk.wi"; wj: "fk.wj"; wk: "fk.wk"; wl: "fk.wl"; wm: "fk.wm"; wn: "fk.wn"; wo: "fk.wo"; wp: "fk.wp"; wq: "fk.wq"; wr: "fk.wr"; ws: "fk.ws"; wt: "fk.wt"; wu: "fk.wu"; wv: "fk.wv"; ww: "fk.ww"; wx: "fk.wx"; wy: "fk.wy"; wz: "fk.wz"; xa: "fk.xa"; xb: "fk.xb"; xc: "fk.xc"; xd: "fk.xd"; xe: "fk.xe"; xf: "fk.xf"; xg: "fk.xg"; xh: "fk.xh"; xi: "fk.xi"; xj: "fk.xj"; xk: "fk.xk"; xl: "fk.xl"; xm: "fk.xm"; xn: "fk.xn"; xo: "fk.xo"; xp: "fk.xp"; xq: "fk.xq"; xr: "fk.xr"; xs: "fk.xs"; xt: "fk.xt"; xu: "fk.xu"; xv: "fk.xv"; xw: "fk.xw"; xx: "fk.xx"; xy: "fk.xy"; xz: "fk.xz"; ya: "fk.ya"; yb: "fk.yb"; yc: "fk.yc"; yd: "fk.yd"; ye: "fk.ye"; yf: "fk.yf"; yg: "fk.yg"; yh: "fk.yh"; yi: "fk.yi"; yj: "fk.yj"; yk: "fk.yk"; yl: "fk.yl"; ym: "fk.ym"; yn: "fk.yn"; yo: "fk.yo"; yp: "fk.yp"; yq: "fk.yq"; yr: "fk.yr"; ys: "fk.ys"; yt: "fk.yt"; yu: "fk.yu"; yv: "fk.yv"; yw: "fk.yw"; yx: "fk.yx"; yy: "fk.yy"; yz: "fk.yz"; za: "fk.za"; zb: "fk.zb"; zc: "fk.zc"; zd: "fk.zd"; ze: "fk.ze"; zf: "fk.zf"; zg: "fk.zg"; zh: "fk.zh"; zi: "fk.zi"; zj: "fk.zj"; zk: "fk.zk"; zl: "fk.zl"; zm: "fk.zm"; zn: "fk.zn"; zo: "fk.zo"; zp: "fk.zp"; zq: "fk.zq"; zr: "fk.zr"; zs: "fk.zs"; zt: "fk.zt"; zu: "fk.zu"; zv: "fk.zv"; zw: "fk.zw"; zx: "fk.zx"; zy: "fk.zy"; zz: "fk.zz"; }; fl: { aa: "fl.aa"; ab: "fl.ab"; ac: "fl.ac"; ad: "fl.ad"; ae: "fl.ae"; af: "fl.af"; ag: "fl.ag"; ah: "fl.ah"; ai: "fl.ai"; aj: "fl.aj"; ak: "fl.ak"; al: "fl.al"; am: "fl.am"; an: "fl.an"; ao: "fl.ao"; ap: "fl.ap"; aq: "fl.aq"; ar: "fl.ar"; as: "fl.as"; at: "fl.at"; au: "fl.au"; av: "fl.av"; aw: "fl.aw"; ax: "fl.ax"; ay: "fl.ay"; az: "fl.az"; ba: "fl.ba"; bb: "fl.bb"; bc: "fl.bc"; bd: "fl.bd"; be: "fl.be"; bf: "fl.bf"; bg: "fl.bg"; bh: "fl.bh"; bi: "fl.bi"; bj: "fl.bj"; bk: "fl.bk"; bl: "fl.bl"; bm: "fl.bm"; bn: "fl.bn"; bo: "fl.bo"; bp: "fl.bp"; bq: "fl.bq"; br: "fl.br"; bs: "fl.bs"; bt: "fl.bt"; bu: "fl.bu"; bv: "fl.bv"; bw: "fl.bw"; bx: "fl.bx"; by: "fl.by"; bz: "fl.bz"; ca: "fl.ca"; cb: "fl.cb"; cc: "fl.cc"; cd: "fl.cd"; ce: "fl.ce"; cf: "fl.cf"; cg: "fl.cg"; ch: "fl.ch"; ci: "fl.ci"; cj: "fl.cj"; ck: "fl.ck"; cl: "fl.cl"; cm: "fl.cm"; cn: "fl.cn"; co: "fl.co"; cp: "fl.cp"; cq: "fl.cq"; cr: "fl.cr"; cs: "fl.cs"; ct: "fl.ct"; cu: "fl.cu"; cv: "fl.cv"; cw: "fl.cw"; cx: "fl.cx"; cy: "fl.cy"; cz: "fl.cz"; da: "fl.da"; db: "fl.db"; dc: "fl.dc"; dd: "fl.dd"; de: "fl.de"; df: "fl.df"; dg: "fl.dg"; dh: "fl.dh"; di: "fl.di"; dj: "fl.dj"; dk: "fl.dk"; dl: "fl.dl"; dm: "fl.dm"; dn: "fl.dn"; do: "fl.do"; dp: "fl.dp"; dq: "fl.dq"; dr: "fl.dr"; ds: "fl.ds"; dt: "fl.dt"; du: "fl.du"; dv: "fl.dv"; dw: "fl.dw"; dx: "fl.dx"; dy: "fl.dy"; dz: "fl.dz"; ea: "fl.ea"; eb: "fl.eb"; ec: "fl.ec"; ed: "fl.ed"; ee: "fl.ee"; ef: "fl.ef"; eg: "fl.eg"; eh: "fl.eh"; ei: "fl.ei"; ej: "fl.ej"; ek: "fl.ek"; el: "fl.el"; em: "fl.em"; en: "fl.en"; eo: "fl.eo"; ep: "fl.ep"; eq: "fl.eq"; er: "fl.er"; es: "fl.es"; et: "fl.et"; eu: "fl.eu"; ev: "fl.ev"; ew: "fl.ew"; ex: "fl.ex"; ey: "fl.ey"; ez: "fl.ez"; fa: "fl.fa"; fb: "fl.fb"; fc: "fl.fc"; fd: "fl.fd"; fe: "fl.fe"; ff: "fl.ff"; fg: "fl.fg"; fh: "fl.fh"; fi: "fl.fi"; fj: "fl.fj"; fk: "fl.fk"; fl: "fl.fl"; fm: "fl.fm"; fn: "fl.fn"; fo: "fl.fo"; fp: "fl.fp"; fq: "fl.fq"; fr: "fl.fr"; fs: "fl.fs"; ft: "fl.ft"; fu: "fl.fu"; fv: "fl.fv"; fw: "fl.fw"; fx: "fl.fx"; fy: "fl.fy"; fz: "fl.fz"; ga: "fl.ga"; gb: "fl.gb"; gc: "fl.gc"; gd: "fl.gd"; ge: "fl.ge"; gf: "fl.gf"; gg: "fl.gg"; gh: "fl.gh"; gi: "fl.gi"; gj: "fl.gj"; gk: "fl.gk"; gl: "fl.gl"; gm: "fl.gm"; gn: "fl.gn"; go: "fl.go"; gp: "fl.gp"; gq: "fl.gq"; gr: "fl.gr"; gs: "fl.gs"; gt: "fl.gt"; gu: "fl.gu"; gv: "fl.gv"; gw: "fl.gw"; gx: "fl.gx"; gy: "fl.gy"; gz: "fl.gz"; ha: "fl.ha"; hb: "fl.hb"; hc: "fl.hc"; hd: "fl.hd"; he: "fl.he"; hf: "fl.hf"; hg: "fl.hg"; hh: "fl.hh"; hi: "fl.hi"; hj: "fl.hj"; hk: "fl.hk"; hl: "fl.hl"; hm: "fl.hm"; hn: "fl.hn"; ho: "fl.ho"; hp: "fl.hp"; hq: "fl.hq"; hr: "fl.hr"; hs: "fl.hs"; ht: "fl.ht"; hu: "fl.hu"; hv: "fl.hv"; hw: "fl.hw"; hx: "fl.hx"; hy: "fl.hy"; hz: "fl.hz"; ia: "fl.ia"; ib: "fl.ib"; ic: "fl.ic"; id: "fl.id"; ie: "fl.ie"; if: "fl.if"; ig: "fl.ig"; ih: "fl.ih"; ii: "fl.ii"; ij: "fl.ij"; ik: "fl.ik"; il: "fl.il"; im: "fl.im"; in: "fl.in"; io: "fl.io"; ip: "fl.ip"; iq: "fl.iq"; ir: "fl.ir"; is: "fl.is"; it: "fl.it"; iu: "fl.iu"; iv: "fl.iv"; iw: "fl.iw"; ix: "fl.ix"; iy: "fl.iy"; iz: "fl.iz"; ja: "fl.ja"; jb: "fl.jb"; jc: "fl.jc"; jd: "fl.jd"; je: "fl.je"; jf: "fl.jf"; jg: "fl.jg"; jh: "fl.jh"; ji: "fl.ji"; jj: "fl.jj"; jk: "fl.jk"; jl: "fl.jl"; jm: "fl.jm"; jn: "fl.jn"; jo: "fl.jo"; jp: "fl.jp"; jq: "fl.jq"; jr: "fl.jr"; js: "fl.js"; jt: "fl.jt"; ju: "fl.ju"; jv: "fl.jv"; jw: "fl.jw"; jx: "fl.jx"; jy: "fl.jy"; jz: "fl.jz"; ka: "fl.ka"; kb: "fl.kb"; kc: "fl.kc"; kd: "fl.kd"; ke: "fl.ke"; kf: "fl.kf"; kg: "fl.kg"; kh: "fl.kh"; ki: "fl.ki"; kj: "fl.kj"; kk: "fl.kk"; kl: "fl.kl"; km: "fl.km"; kn: "fl.kn"; ko: "fl.ko"; kp: "fl.kp"; kq: "fl.kq"; kr: "fl.kr"; ks: "fl.ks"; kt: "fl.kt"; ku: "fl.ku"; kv: "fl.kv"; kw: "fl.kw"; kx: "fl.kx"; ky: "fl.ky"; kz: "fl.kz"; la: "fl.la"; lb: "fl.lb"; lc: "fl.lc"; ld: "fl.ld"; le: "fl.le"; lf: "fl.lf"; lg: "fl.lg"; lh: "fl.lh"; li: "fl.li"; lj: "fl.lj"; lk: "fl.lk"; ll: "fl.ll"; lm: "fl.lm"; ln: "fl.ln"; lo: "fl.lo"; lp: "fl.lp"; lq: "fl.lq"; lr: "fl.lr"; ls: "fl.ls"; lt: "fl.lt"; lu: "fl.lu"; lv: "fl.lv"; lw: "fl.lw"; lx: "fl.lx"; ly: "fl.ly"; lz: "fl.lz"; ma: "fl.ma"; mb: "fl.mb"; mc: "fl.mc"; md: "fl.md"; me: "fl.me"; mf: "fl.mf"; mg: "fl.mg"; mh: "fl.mh"; mi: "fl.mi"; mj: "fl.mj"; mk: "fl.mk"; ml: "fl.ml"; mm: "fl.mm"; mn: "fl.mn"; mo: "fl.mo"; mp: "fl.mp"; mq: "fl.mq"; mr: "fl.mr"; ms: "fl.ms"; mt: "fl.mt"; mu: "fl.mu"; mv: "fl.mv"; mw: "fl.mw"; mx: "fl.mx"; my: "fl.my"; mz: "fl.mz"; na: "fl.na"; nb: "fl.nb"; nc: "fl.nc"; nd: "fl.nd"; ne: "fl.ne"; nf: "fl.nf"; ng: "fl.ng"; nh: "fl.nh"; ni: "fl.ni"; nj: "fl.nj"; nk: "fl.nk"; nl: "fl.nl"; nm: "fl.nm"; nn: "fl.nn"; no: "fl.no"; np: "fl.np"; nq: "fl.nq"; nr: "fl.nr"; ns: "fl.ns"; nt: "fl.nt"; nu: "fl.nu"; nv: "fl.nv"; nw: "fl.nw"; nx: "fl.nx"; ny: "fl.ny"; nz: "fl.nz"; oa: "fl.oa"; ob: "fl.ob"; oc: "fl.oc"; od: "fl.od"; oe: "fl.oe"; of: "fl.of"; og: "fl.og"; oh: "fl.oh"; oi: "fl.oi"; oj: "fl.oj"; ok: "fl.ok"; ol: "fl.ol"; om: "fl.om"; on: "fl.on"; oo: "fl.oo"; op: "fl.op"; oq: "fl.oq"; or: "fl.or"; os: "fl.os"; ot: "fl.ot"; ou: "fl.ou"; ov: "fl.ov"; ow: "fl.ow"; ox: "fl.ox"; oy: "fl.oy"; oz: "fl.oz"; pa: "fl.pa"; pb: "fl.pb"; pc: "fl.pc"; pd: "fl.pd"; pe: "fl.pe"; pf: "fl.pf"; pg: "fl.pg"; ph: "fl.ph"; pi: "fl.pi"; pj: "fl.pj"; pk: "fl.pk"; pl: "fl.pl"; pm: "fl.pm"; pn: "fl.pn"; po: "fl.po"; pp: "fl.pp"; pq: "fl.pq"; pr: "fl.pr"; ps: "fl.ps"; pt: "fl.pt"; pu: "fl.pu"; pv: "fl.pv"; pw: "fl.pw"; px: "fl.px"; py: "fl.py"; pz: "fl.pz"; qa: "fl.qa"; qb: "fl.qb"; qc: "fl.qc"; qd: "fl.qd"; qe: "fl.qe"; qf: "fl.qf"; qg: "fl.qg"; qh: "fl.qh"; qi: "fl.qi"; qj: "fl.qj"; qk: "fl.qk"; ql: "fl.ql"; qm: "fl.qm"; qn: "fl.qn"; qo: "fl.qo"; qp: "fl.qp"; qq: "fl.qq"; qr: "fl.qr"; qs: "fl.qs"; qt: "fl.qt"; qu: "fl.qu"; qv: "fl.qv"; qw: "fl.qw"; qx: "fl.qx"; qy: "fl.qy"; qz: "fl.qz"; ra: "fl.ra"; rb: "fl.rb"; rc: "fl.rc"; rd: "fl.rd"; re: "fl.re"; rf: "fl.rf"; rg: "fl.rg"; rh: "fl.rh"; ri: "fl.ri"; rj: "fl.rj"; rk: "fl.rk"; rl: "fl.rl"; rm: "fl.rm"; rn: "fl.rn"; ro: "fl.ro"; rp: "fl.rp"; rq: "fl.rq"; rr: "fl.rr"; rs: "fl.rs"; rt: "fl.rt"; ru: "fl.ru"; rv: "fl.rv"; rw: "fl.rw"; rx: "fl.rx"; ry: "fl.ry"; rz: "fl.rz"; sa: "fl.sa"; sb: "fl.sb"; sc: "fl.sc"; sd: "fl.sd"; se: "fl.se"; sf: "fl.sf"; sg: "fl.sg"; sh: "fl.sh"; si: "fl.si"; sj: "fl.sj"; sk: "fl.sk"; sl: "fl.sl"; sm: "fl.sm"; sn: "fl.sn"; so: "fl.so"; sp: "fl.sp"; sq: "fl.sq"; sr: "fl.sr"; ss: "fl.ss"; st: "fl.st"; su: "fl.su"; sv: "fl.sv"; sw: "fl.sw"; sx: "fl.sx"; sy: "fl.sy"; sz: "fl.sz"; ta: "fl.ta"; tb: "fl.tb"; tc: "fl.tc"; td: "fl.td"; te: "fl.te"; tf: "fl.tf"; tg: "fl.tg"; th: "fl.th"; ti: "fl.ti"; tj: "fl.tj"; tk: "fl.tk"; tl: "fl.tl"; tm: "fl.tm"; tn: "fl.tn"; to: "fl.to"; tp: "fl.tp"; tq: "fl.tq"; tr: "fl.tr"; ts: "fl.ts"; tt: "fl.tt"; tu: "fl.tu"; tv: "fl.tv"; tw: "fl.tw"; tx: "fl.tx"; ty: "fl.ty"; tz: "fl.tz"; ua: "fl.ua"; ub: "fl.ub"; uc: "fl.uc"; ud: "fl.ud"; ue: "fl.ue"; uf: "fl.uf"; ug: "fl.ug"; uh: "fl.uh"; ui: "fl.ui"; uj: "fl.uj"; uk: "fl.uk"; ul: "fl.ul"; um: "fl.um"; un: "fl.un"; uo: "fl.uo"; up: "fl.up"; uq: "fl.uq"; ur: "fl.ur"; us: "fl.us"; ut: "fl.ut"; uu: "fl.uu"; uv: "fl.uv"; uw: "fl.uw"; ux: "fl.ux"; uy: "fl.uy"; uz: "fl.uz"; va: "fl.va"; vb: "fl.vb"; vc: "fl.vc"; vd: "fl.vd"; ve: "fl.ve"; vf: "fl.vf"; vg: "fl.vg"; vh: "fl.vh"; vi: "fl.vi"; vj: "fl.vj"; vk: "fl.vk"; vl: "fl.vl"; vm: "fl.vm"; vn: "fl.vn"; vo: "fl.vo"; vp: "fl.vp"; vq: "fl.vq"; vr: "fl.vr"; vs: "fl.vs"; vt: "fl.vt"; vu: "fl.vu"; vv: "fl.vv"; vw: "fl.vw"; vx: "fl.vx"; vy: "fl.vy"; vz: "fl.vz"; wa: "fl.wa"; wb: "fl.wb"; wc: "fl.wc"; wd: "fl.wd"; we: "fl.we"; wf: "fl.wf"; wg: "fl.wg"; wh: "fl.wh"; wi: "fl.wi"; wj: "fl.wj"; wk: "fl.wk"; wl: "fl.wl"; wm: "fl.wm"; wn: "fl.wn"; wo: "fl.wo"; wp: "fl.wp"; wq: "fl.wq"; wr: "fl.wr"; ws: "fl.ws"; wt: "fl.wt"; wu: "fl.wu"; wv: "fl.wv"; ww: "fl.ww"; wx: "fl.wx"; wy: "fl.wy"; wz: "fl.wz"; xa: "fl.xa"; xb: "fl.xb"; xc: "fl.xc"; xd: "fl.xd"; xe: "fl.xe"; xf: "fl.xf"; xg: "fl.xg"; xh: "fl.xh"; xi: "fl.xi"; xj: "fl.xj"; xk: "fl.xk"; xl: "fl.xl"; xm: "fl.xm"; xn: "fl.xn"; xo: "fl.xo"; xp: "fl.xp"; xq: "fl.xq"; xr: "fl.xr"; xs: "fl.xs"; xt: "fl.xt"; xu: "fl.xu"; xv: "fl.xv"; xw: "fl.xw"; xx: "fl.xx"; xy: "fl.xy"; xz: "fl.xz"; ya: "fl.ya"; yb: "fl.yb"; yc: "fl.yc"; yd: "fl.yd"; ye: "fl.ye"; yf: "fl.yf"; yg: "fl.yg"; yh: "fl.yh"; yi: "fl.yi"; yj: "fl.yj"; yk: "fl.yk"; yl: "fl.yl"; ym: "fl.ym"; yn: "fl.yn"; yo: "fl.yo"; yp: "fl.yp"; yq: "fl.yq"; yr: "fl.yr"; ys: "fl.ys"; yt: "fl.yt"; yu: "fl.yu"; yv: "fl.yv"; yw: "fl.yw"; yx: "fl.yx"; yy: "fl.yy"; yz: "fl.yz"; za: "fl.za"; zb: "fl.zb"; zc: "fl.zc"; zd: "fl.zd"; ze: "fl.ze"; zf: "fl.zf"; zg: "fl.zg"; zh: "fl.zh"; zi: "fl.zi"; zj: "fl.zj"; zk: "fl.zk"; zl: "fl.zl"; zm: "fl.zm"; zn: "fl.zn"; zo: "fl.zo"; zp: "fl.zp"; zq: "fl.zq"; zr: "fl.zr"; zs: "fl.zs"; zt: "fl.zt"; zu: "fl.zu"; zv: "fl.zv"; zw: "fl.zw"; zx: "fl.zx"; zy: "fl.zy"; zz: "fl.zz"; }; fm: { aa: "fm.aa"; ab: "fm.ab"; ac: "fm.ac"; ad: "fm.ad"; ae: "fm.ae"; af: "fm.af"; ag: "fm.ag"; ah: "fm.ah"; ai: "fm.ai"; aj: "fm.aj"; ak: "fm.ak"; al: "fm.al"; am: "fm.am"; an: "fm.an"; ao: "fm.ao"; ap: "fm.ap"; aq: "fm.aq"; ar: "fm.ar"; as: "fm.as"; at: "fm.at"; au: "fm.au"; av: "fm.av"; aw: "fm.aw"; ax: "fm.ax"; ay: "fm.ay"; az: "fm.az"; ba: "fm.ba"; bb: "fm.bb"; bc: "fm.bc"; bd: "fm.bd"; be: "fm.be"; bf: "fm.bf"; bg: "fm.bg"; bh: "fm.bh"; bi: "fm.bi"; bj: "fm.bj"; bk: "fm.bk"; bl: "fm.bl"; bm: "fm.bm"; bn: "fm.bn"; bo: "fm.bo"; bp: "fm.bp"; bq: "fm.bq"; br: "fm.br"; bs: "fm.bs"; bt: "fm.bt"; bu: "fm.bu"; bv: "fm.bv"; bw: "fm.bw"; bx: "fm.bx"; by: "fm.by"; bz: "fm.bz"; ca: "fm.ca"; cb: "fm.cb"; cc: "fm.cc"; cd: "fm.cd"; ce: "fm.ce"; cf: "fm.cf"; cg: "fm.cg"; ch: "fm.ch"; ci: "fm.ci"; cj: "fm.cj"; ck: "fm.ck"; cl: "fm.cl"; cm: "fm.cm"; cn: "fm.cn"; co: "fm.co"; cp: "fm.cp"; cq: "fm.cq"; cr: "fm.cr"; cs: "fm.cs"; ct: "fm.ct"; cu: "fm.cu"; cv: "fm.cv"; cw: "fm.cw"; cx: "fm.cx"; cy: "fm.cy"; cz: "fm.cz"; da: "fm.da"; db: "fm.db"; dc: "fm.dc"; dd: "fm.dd"; de: "fm.de"; df: "fm.df"; dg: "fm.dg"; dh: "fm.dh"; di: "fm.di"; dj: "fm.dj"; dk: "fm.dk"; dl: "fm.dl"; dm: "fm.dm"; dn: "fm.dn"; do: "fm.do"; dp: "fm.dp"; dq: "fm.dq"; dr: "fm.dr"; ds: "fm.ds"; dt: "fm.dt"; du: "fm.du"; dv: "fm.dv"; dw: "fm.dw"; dx: "fm.dx"; dy: "fm.dy"; dz: "fm.dz"; ea: "fm.ea"; eb: "fm.eb"; ec: "fm.ec"; ed: "fm.ed"; ee: "fm.ee"; ef: "fm.ef"; eg: "fm.eg"; eh: "fm.eh"; ei: "fm.ei"; ej: "fm.ej"; ek: "fm.ek"; el: "fm.el"; em: "fm.em"; en: "fm.en"; eo: "fm.eo"; ep: "fm.ep"; eq: "fm.eq"; er: "fm.er"; es: "fm.es"; et: "fm.et"; eu: "fm.eu"; ev: "fm.ev"; ew: "fm.ew"; ex: "fm.ex"; ey: "fm.ey"; ez: "fm.ez"; fa: "fm.fa"; fb: "fm.fb"; fc: "fm.fc"; fd: "fm.fd"; fe: "fm.fe"; ff: "fm.ff"; fg: "fm.fg"; fh: "fm.fh"; fi: "fm.fi"; fj: "fm.fj"; fk: "fm.fk"; fl: "fm.fl"; fm: "fm.fm"; fn: "fm.fn"; fo: "fm.fo"; fp: "fm.fp"; fq: "fm.fq"; fr: "fm.fr"; fs: "fm.fs"; ft: "fm.ft"; fu: "fm.fu"; fv: "fm.fv"; fw: "fm.fw"; fx: "fm.fx"; fy: "fm.fy"; fz: "fm.fz"; ga: "fm.ga"; gb: "fm.gb"; gc: "fm.gc"; gd: "fm.gd"; ge: "fm.ge"; gf: "fm.gf"; gg: "fm.gg"; gh: "fm.gh"; gi: "fm.gi"; gj: "fm.gj"; gk: "fm.gk"; gl: "fm.gl"; gm: "fm.gm"; gn: "fm.gn"; go: "fm.go"; gp: "fm.gp"; gq: "fm.gq"; gr: "fm.gr"; gs: "fm.gs"; gt: "fm.gt"; gu: "fm.gu"; gv: "fm.gv"; gw: "fm.gw"; gx: "fm.gx"; gy: "fm.gy"; gz: "fm.gz"; ha: "fm.ha"; hb: "fm.hb"; hc: "fm.hc"; hd: "fm.hd"; he: "fm.he"; hf: "fm.hf"; hg: "fm.hg"; hh: "fm.hh"; hi: "fm.hi"; hj: "fm.hj"; hk: "fm.hk"; hl: "fm.hl"; hm: "fm.hm"; hn: "fm.hn"; ho: "fm.ho"; hp: "fm.hp"; hq: "fm.hq"; hr: "fm.hr"; hs: "fm.hs"; ht: "fm.ht"; hu: "fm.hu"; hv: "fm.hv"; hw: "fm.hw"; hx: "fm.hx"; hy: "fm.hy"; hz: "fm.hz"; ia: "fm.ia"; ib: "fm.ib"; ic: "fm.ic"; id: "fm.id"; ie: "fm.ie"; if: "fm.if"; ig: "fm.ig"; ih: "fm.ih"; ii: "fm.ii"; ij: "fm.ij"; ik: "fm.ik"; il: "fm.il"; im: "fm.im"; in: "fm.in"; io: "fm.io"; ip: "fm.ip"; iq: "fm.iq"; ir: "fm.ir"; is: "fm.is"; it: "fm.it"; iu: "fm.iu"; iv: "fm.iv"; iw: "fm.iw"; ix: "fm.ix"; iy: "fm.iy"; iz: "fm.iz"; ja: "fm.ja"; jb: "fm.jb"; jc: "fm.jc"; jd: "fm.jd"; je: "fm.je"; jf: "fm.jf"; jg: "fm.jg"; jh: "fm.jh"; ji: "fm.ji"; jj: "fm.jj"; jk: "fm.jk"; jl: "fm.jl"; jm: "fm.jm"; jn: "fm.jn"; jo: "fm.jo"; jp: "fm.jp"; jq: "fm.jq"; jr: "fm.jr"; js: "fm.js"; jt: "fm.jt"; ju: "fm.ju"; jv: "fm.jv"; jw: "fm.jw"; jx: "fm.jx"; jy: "fm.jy"; jz: "fm.jz"; ka: "fm.ka"; kb: "fm.kb"; kc: "fm.kc"; kd: "fm.kd"; ke: "fm.ke"; kf: "fm.kf"; kg: "fm.kg"; kh: "fm.kh"; ki: "fm.ki"; kj: "fm.kj"; kk: "fm.kk"; kl: "fm.kl"; km: "fm.km"; kn: "fm.kn"; ko: "fm.ko"; kp: "fm.kp"; kq: "fm.kq"; kr: "fm.kr"; ks: "fm.ks"; kt: "fm.kt"; ku: "fm.ku"; kv: "fm.kv"; kw: "fm.kw"; kx: "fm.kx"; ky: "fm.ky"; kz: "fm.kz"; la: "fm.la"; lb: "fm.lb"; lc: "fm.lc"; ld: "fm.ld"; le: "fm.le"; lf: "fm.lf"; lg: "fm.lg"; lh: "fm.lh"; li: "fm.li"; lj: "fm.lj"; lk: "fm.lk"; ll: "fm.ll"; lm: "fm.lm"; ln: "fm.ln"; lo: "fm.lo"; lp: "fm.lp"; lq: "fm.lq"; lr: "fm.lr"; ls: "fm.ls"; lt: "fm.lt"; lu: "fm.lu"; lv: "fm.lv"; lw: "fm.lw"; lx: "fm.lx"; ly: "fm.ly"; lz: "fm.lz"; ma: "fm.ma"; mb: "fm.mb"; mc: "fm.mc"; md: "fm.md"; me: "fm.me"; mf: "fm.mf"; mg: "fm.mg"; mh: "fm.mh"; mi: "fm.mi"; mj: "fm.mj"; mk: "fm.mk"; ml: "fm.ml"; mm: "fm.mm"; mn: "fm.mn"; mo: "fm.mo"; mp: "fm.mp"; mq: "fm.mq"; mr: "fm.mr"; ms: "fm.ms"; mt: "fm.mt"; mu: "fm.mu"; mv: "fm.mv"; mw: "fm.mw"; mx: "fm.mx"; my: "fm.my"; mz: "fm.mz"; na: "fm.na"; nb: "fm.nb"; nc: "fm.nc"; nd: "fm.nd"; ne: "fm.ne"; nf: "fm.nf"; ng: "fm.ng"; nh: "fm.nh"; ni: "fm.ni"; nj: "fm.nj"; nk: "fm.nk"; nl: "fm.nl"; nm: "fm.nm"; nn: "fm.nn"; no: "fm.no"; np: "fm.np"; nq: "fm.nq"; nr: "fm.nr"; ns: "fm.ns"; nt: "fm.nt"; nu: "fm.nu"; nv: "fm.nv"; nw: "fm.nw"; nx: "fm.nx"; ny: "fm.ny"; nz: "fm.nz"; oa: "fm.oa"; ob: "fm.ob"; oc: "fm.oc"; od: "fm.od"; oe: "fm.oe"; of: "fm.of"; og: "fm.og"; oh: "fm.oh"; oi: "fm.oi"; oj: "fm.oj"; ok: "fm.ok"; ol: "fm.ol"; om: "fm.om"; on: "fm.on"; oo: "fm.oo"; op: "fm.op"; oq: "fm.oq"; or: "fm.or"; os: "fm.os"; ot: "fm.ot"; ou: "fm.ou"; ov: "fm.ov"; ow: "fm.ow"; ox: "fm.ox"; oy: "fm.oy"; oz: "fm.oz"; pa: "fm.pa"; pb: "fm.pb"; pc: "fm.pc"; pd: "fm.pd"; pe: "fm.pe"; pf: "fm.pf"; pg: "fm.pg"; ph: "fm.ph"; pi: "fm.pi"; pj: "fm.pj"; pk: "fm.pk"; pl: "fm.pl"; pm: "fm.pm"; pn: "fm.pn"; po: "fm.po"; pp: "fm.pp"; pq: "fm.pq"; pr: "fm.pr"; ps: "fm.ps"; pt: "fm.pt"; pu: "fm.pu"; pv: "fm.pv"; pw: "fm.pw"; px: "fm.px"; py: "fm.py"; pz: "fm.pz"; qa: "fm.qa"; qb: "fm.qb"; qc: "fm.qc"; qd: "fm.qd"; qe: "fm.qe"; qf: "fm.qf"; qg: "fm.qg"; qh: "fm.qh"; qi: "fm.qi"; qj: "fm.qj"; qk: "fm.qk"; ql: "fm.ql"; qm: "fm.qm"; qn: "fm.qn"; qo: "fm.qo"; qp: "fm.qp"; qq: "fm.qq"; qr: "fm.qr"; qs: "fm.qs"; qt: "fm.qt"; qu: "fm.qu"; qv: "fm.qv"; qw: "fm.qw"; qx: "fm.qx"; qy: "fm.qy"; qz: "fm.qz"; ra: "fm.ra"; rb: "fm.rb"; rc: "fm.rc"; rd: "fm.rd"; re: "fm.re"; rf: "fm.rf"; rg: "fm.rg"; rh: "fm.rh"; ri: "fm.ri"; rj: "fm.rj"; rk: "fm.rk"; rl: "fm.rl"; rm: "fm.rm"; rn: "fm.rn"; ro: "fm.ro"; rp: "fm.rp"; rq: "fm.rq"; rr: "fm.rr"; rs: "fm.rs"; rt: "fm.rt"; ru: "fm.ru"; rv: "fm.rv"; rw: "fm.rw"; rx: "fm.rx"; ry: "fm.ry"; rz: "fm.rz"; sa: "fm.sa"; sb: "fm.sb"; sc: "fm.sc"; sd: "fm.sd"; se: "fm.se"; sf: "fm.sf"; sg: "fm.sg"; sh: "fm.sh"; si: "fm.si"; sj: "fm.sj"; sk: "fm.sk"; sl: "fm.sl"; sm: "fm.sm"; sn: "fm.sn"; so: "fm.so"; sp: "fm.sp"; sq: "fm.sq"; sr: "fm.sr"; ss: "fm.ss"; st: "fm.st"; su: "fm.su"; sv: "fm.sv"; sw: "fm.sw"; sx: "fm.sx"; sy: "fm.sy"; sz: "fm.sz"; ta: "fm.ta"; tb: "fm.tb"; tc: "fm.tc"; td: "fm.td"; te: "fm.te"; tf: "fm.tf"; tg: "fm.tg"; th: "fm.th"; ti: "fm.ti"; tj: "fm.tj"; tk: "fm.tk"; tl: "fm.tl"; tm: "fm.tm"; tn: "fm.tn"; to: "fm.to"; tp: "fm.tp"; tq: "fm.tq"; tr: "fm.tr"; ts: "fm.ts"; tt: "fm.tt"; tu: "fm.tu"; tv: "fm.tv"; tw: "fm.tw"; tx: "fm.tx"; ty: "fm.ty"; tz: "fm.tz"; ua: "fm.ua"; ub: "fm.ub"; uc: "fm.uc"; ud: "fm.ud"; ue: "fm.ue"; uf: "fm.uf"; ug: "fm.ug"; uh: "fm.uh"; ui: "fm.ui"; uj: "fm.uj"; uk: "fm.uk"; ul: "fm.ul"; um: "fm.um"; un: "fm.un"; uo: "fm.uo"; up: "fm.up"; uq: "fm.uq"; ur: "fm.ur"; us: "fm.us"; ut: "fm.ut"; uu: "fm.uu"; uv: "fm.uv"; uw: "fm.uw"; ux: "fm.ux"; uy: "fm.uy"; uz: "fm.uz"; va: "fm.va"; vb: "fm.vb"; vc: "fm.vc"; vd: "fm.vd"; ve: "fm.ve"; vf: "fm.vf"; vg: "fm.vg"; vh: "fm.vh"; vi: "fm.vi"; vj: "fm.vj"; vk: "fm.vk"; vl: "fm.vl"; vm: "fm.vm"; vn: "fm.vn"; vo: "fm.vo"; vp: "fm.vp"; vq: "fm.vq"; vr: "fm.vr"; vs: "fm.vs"; vt: "fm.vt"; vu: "fm.vu"; vv: "fm.vv"; vw: "fm.vw"; vx: "fm.vx"; vy: "fm.vy"; vz: "fm.vz"; wa: "fm.wa"; wb: "fm.wb"; wc: "fm.wc"; wd: "fm.wd"; we: "fm.we"; wf: "fm.wf"; wg: "fm.wg"; wh: "fm.wh"; wi: "fm.wi"; wj: "fm.wj"; wk: "fm.wk"; wl: "fm.wl"; wm: "fm.wm"; wn: "fm.wn"; wo: "fm.wo"; wp: "fm.wp"; wq: "fm.wq"; wr: "fm.wr"; ws: "fm.ws"; wt: "fm.wt"; wu: "fm.wu"; wv: "fm.wv"; ww: "fm.ww"; wx: "fm.wx"; wy: "fm.wy"; wz: "fm.wz"; xa: "fm.xa"; xb: "fm.xb"; xc: "fm.xc"; xd: "fm.xd"; xe: "fm.xe"; xf: "fm.xf"; xg: "fm.xg"; xh: "fm.xh"; xi: "fm.xi"; xj: "fm.xj"; xk: "fm.xk"; xl: "fm.xl"; xm: "fm.xm"; xn: "fm.xn"; xo: "fm.xo"; xp: "fm.xp"; xq: "fm.xq"; xr: "fm.xr"; xs: "fm.xs"; xt: "fm.xt"; xu: "fm.xu"; xv: "fm.xv"; xw: "fm.xw"; xx: "fm.xx"; xy: "fm.xy"; xz: "fm.xz"; ya: "fm.ya"; yb: "fm.yb"; yc: "fm.yc"; yd: "fm.yd"; ye: "fm.ye"; yf: "fm.yf"; yg: "fm.yg"; yh: "fm.yh"; yi: "fm.yi"; yj: "fm.yj"; yk: "fm.yk"; yl: "fm.yl"; ym: "fm.ym"; yn: "fm.yn"; yo: "fm.yo"; yp: "fm.yp"; yq: "fm.yq"; yr: "fm.yr"; ys: "fm.ys"; yt: "fm.yt"; yu: "fm.yu"; yv: "fm.yv"; yw: "fm.yw"; yx: "fm.yx"; yy: "fm.yy"; yz: "fm.yz"; za: "fm.za"; zb: "fm.zb"; zc: "fm.zc"; zd: "fm.zd"; ze: "fm.ze"; zf: "fm.zf"; zg: "fm.zg"; zh: "fm.zh"; zi: "fm.zi"; zj: "fm.zj"; zk: "fm.zk"; zl: "fm.zl"; zm: "fm.zm"; zn: "fm.zn"; zo: "fm.zo"; zp: "fm.zp"; zq: "fm.zq"; zr: "fm.zr"; zs: "fm.zs"; zt: "fm.zt"; zu: "fm.zu"; zv: "fm.zv"; zw: "fm.zw"; zx: "fm.zx"; zy: "fm.zy"; zz: "fm.zz"; }; fn: { aa: "fn.aa"; ab: "fn.ab"; ac: "fn.ac"; ad: "fn.ad"; ae: "fn.ae"; af: "fn.af"; ag: "fn.ag"; ah: "fn.ah"; ai: "fn.ai"; aj: "fn.aj"; ak: "fn.ak"; al: "fn.al"; am: "fn.am"; an: "fn.an"; ao: "fn.ao"; ap: "fn.ap"; aq: "fn.aq"; ar: "fn.ar"; as: "fn.as"; at: "fn.at"; au: "fn.au"; av: "fn.av"; aw: "fn.aw"; ax: "fn.ax"; ay: "fn.ay"; az: "fn.az"; ba: "fn.ba"; bb: "fn.bb"; bc: "fn.bc"; bd: "fn.bd"; be: "fn.be"; bf: "fn.bf"; bg: "fn.bg"; bh: "fn.bh"; bi: "fn.bi"; bj: "fn.bj"; bk: "fn.bk"; bl: "fn.bl"; bm: "fn.bm"; bn: "fn.bn"; bo: "fn.bo"; bp: "fn.bp"; bq: "fn.bq"; br: "fn.br"; bs: "fn.bs"; bt: "fn.bt"; bu: "fn.bu"; bv: "fn.bv"; bw: "fn.bw"; bx: "fn.bx"; by: "fn.by"; bz: "fn.bz"; ca: "fn.ca"; cb: "fn.cb"; cc: "fn.cc"; cd: "fn.cd"; ce: "fn.ce"; cf: "fn.cf"; cg: "fn.cg"; ch: "fn.ch"; ci: "fn.ci"; cj: "fn.cj"; ck: "fn.ck"; cl: "fn.cl"; cm: "fn.cm"; cn: "fn.cn"; co: "fn.co"; cp: "fn.cp"; cq: "fn.cq"; cr: "fn.cr"; cs: "fn.cs"; ct: "fn.ct"; cu: "fn.cu"; cv: "fn.cv"; cw: "fn.cw"; cx: "fn.cx"; cy: "fn.cy"; cz: "fn.cz"; da: "fn.da"; db: "fn.db"; dc: "fn.dc"; dd: "fn.dd"; de: "fn.de"; df: "fn.df"; dg: "fn.dg"; dh: "fn.dh"; di: "fn.di"; dj: "fn.dj"; dk: "fn.dk"; dl: "fn.dl"; dm: "fn.dm"; dn: "fn.dn"; do: "fn.do"; dp: "fn.dp"; dq: "fn.dq"; dr: "fn.dr"; ds: "fn.ds"; dt: "fn.dt"; du: "fn.du"; dv: "fn.dv"; dw: "fn.dw"; dx: "fn.dx"; dy: "fn.dy"; dz: "fn.dz"; ea: "fn.ea"; eb: "fn.eb"; ec: "fn.ec"; ed: "fn.ed"; ee: "fn.ee"; ef: "fn.ef"; eg: "fn.eg"; eh: "fn.eh"; ei: "fn.ei"; ej: "fn.ej"; ek: "fn.ek"; el: "fn.el"; em: "fn.em"; en: "fn.en"; eo: "fn.eo"; ep: "fn.ep"; eq: "fn.eq"; er: "fn.er"; es: "fn.es"; et: "fn.et"; eu: "fn.eu"; ev: "fn.ev"; ew: "fn.ew"; ex: "fn.ex"; ey: "fn.ey"; ez: "fn.ez"; fa: "fn.fa"; fb: "fn.fb"; fc: "fn.fc"; fd: "fn.fd"; fe: "fn.fe"; ff: "fn.ff"; fg: "fn.fg"; fh: "fn.fh"; fi: "fn.fi"; fj: "fn.fj"; fk: "fn.fk"; fl: "fn.fl"; fm: "fn.fm"; fn: "fn.fn"; fo: "fn.fo"; fp: "fn.fp"; fq: "fn.fq"; fr: "fn.fr"; fs: "fn.fs"; ft: "fn.ft"; fu: "fn.fu"; fv: "fn.fv"; fw: "fn.fw"; fx: "fn.fx"; fy: "fn.fy"; fz: "fn.fz"; ga: "fn.ga"; gb: "fn.gb"; gc: "fn.gc"; gd: "fn.gd"; ge: "fn.ge"; gf: "fn.gf"; gg: "fn.gg"; gh: "fn.gh"; gi: "fn.gi"; gj: "fn.gj"; gk: "fn.gk"; gl: "fn.gl"; gm: "fn.gm"; gn: "fn.gn"; go: "fn.go"; gp: "fn.gp"; gq: "fn.gq"; gr: "fn.gr"; gs: "fn.gs"; gt: "fn.gt"; gu: "fn.gu"; gv: "fn.gv"; gw: "fn.gw"; gx: "fn.gx"; gy: "fn.gy"; gz: "fn.gz"; ha: "fn.ha"; hb: "fn.hb"; hc: "fn.hc"; hd: "fn.hd"; he: "fn.he"; hf: "fn.hf"; hg: "fn.hg"; hh: "fn.hh"; hi: "fn.hi"; hj: "fn.hj"; hk: "fn.hk"; hl: "fn.hl"; hm: "fn.hm"; hn: "fn.hn"; ho: "fn.ho"; hp: "fn.hp"; hq: "fn.hq"; hr: "fn.hr"; hs: "fn.hs"; ht: "fn.ht"; hu: "fn.hu"; hv: "fn.hv"; hw: "fn.hw"; hx: "fn.hx"; hy: "fn.hy"; hz: "fn.hz"; ia: "fn.ia"; ib: "fn.ib"; ic: "fn.ic"; id: "fn.id"; ie: "fn.ie"; if: "fn.if"; ig: "fn.ig"; ih: "fn.ih"; ii: "fn.ii"; ij: "fn.ij"; ik: "fn.ik"; il: "fn.il"; im: "fn.im"; in: "fn.in"; io: "fn.io"; ip: "fn.ip"; iq: "fn.iq"; ir: "fn.ir"; is: "fn.is"; it: "fn.it"; iu: "fn.iu"; iv: "fn.iv"; iw: "fn.iw"; ix: "fn.ix"; iy: "fn.iy"; iz: "fn.iz"; ja: "fn.ja"; jb: "fn.jb"; jc: "fn.jc"; jd: "fn.jd"; je: "fn.je"; jf: "fn.jf"; jg: "fn.jg"; jh: "fn.jh"; ji: "fn.ji"; jj: "fn.jj"; jk: "fn.jk"; jl: "fn.jl"; jm: "fn.jm"; jn: "fn.jn"; jo: "fn.jo"; jp: "fn.jp"; jq: "fn.jq"; jr: "fn.jr"; js: "fn.js"; jt: "fn.jt"; ju: "fn.ju"; jv: "fn.jv"; jw: "fn.jw"; jx: "fn.jx"; jy: "fn.jy"; jz: "fn.jz"; ka: "fn.ka"; kb: "fn.kb"; kc: "fn.kc"; kd: "fn.kd"; ke: "fn.ke"; kf: "fn.kf"; kg: "fn.kg"; kh: "fn.kh"; ki: "fn.ki"; kj: "fn.kj"; kk: "fn.kk"; kl: "fn.kl"; km: "fn.km"; kn: "fn.kn"; ko: "fn.ko"; kp: "fn.kp"; kq: "fn.kq"; kr: "fn.kr"; ks: "fn.ks"; kt: "fn.kt"; ku: "fn.ku"; kv: "fn.kv"; kw: "fn.kw"; kx: "fn.kx"; ky: "fn.ky"; kz: "fn.kz"; la: "fn.la"; lb: "fn.lb"; lc: "fn.lc"; ld: "fn.ld"; le: "fn.le"; lf: "fn.lf"; lg: "fn.lg"; lh: "fn.lh"; li: "fn.li"; lj: "fn.lj"; lk: "fn.lk"; ll: "fn.ll"; lm: "fn.lm"; ln: "fn.ln"; lo: "fn.lo"; lp: "fn.lp"; lq: "fn.lq"; lr: "fn.lr"; ls: "fn.ls"; lt: "fn.lt"; lu: "fn.lu"; lv: "fn.lv"; lw: "fn.lw"; lx: "fn.lx"; ly: "fn.ly"; lz: "fn.lz"; ma: "fn.ma"; mb: "fn.mb"; mc: "fn.mc"; md: "fn.md"; me: "fn.me"; mf: "fn.mf"; mg: "fn.mg"; mh: "fn.mh"; mi: "fn.mi"; mj: "fn.mj"; mk: "fn.mk"; ml: "fn.ml"; mm: "fn.mm"; mn: "fn.mn"; mo: "fn.mo"; mp: "fn.mp"; mq: "fn.mq"; mr: "fn.mr"; ms: "fn.ms"; mt: "fn.mt"; mu: "fn.mu"; mv: "fn.mv"; mw: "fn.mw"; mx: "fn.mx"; my: "fn.my"; mz: "fn.mz"; na: "fn.na"; nb: "fn.nb"; nc: "fn.nc"; nd: "fn.nd"; ne: "fn.ne"; nf: "fn.nf"; ng: "fn.ng"; nh: "fn.nh"; ni: "fn.ni"; nj: "fn.nj"; nk: "fn.nk"; nl: "fn.nl"; nm: "fn.nm"; nn: "fn.nn"; no: "fn.no"; np: "fn.np"; nq: "fn.nq"; nr: "fn.nr"; ns: "fn.ns"; nt: "fn.nt"; nu: "fn.nu"; nv: "fn.nv"; nw: "fn.nw"; nx: "fn.nx"; ny: "fn.ny"; nz: "fn.nz"; oa: "fn.oa"; ob: "fn.ob"; oc: "fn.oc"; od: "fn.od"; oe: "fn.oe"; of: "fn.of"; og: "fn.og"; oh: "fn.oh"; oi: "fn.oi"; oj: "fn.oj"; ok: "fn.ok"; ol: "fn.ol"; om: "fn.om"; on: "fn.on"; oo: "fn.oo"; op: "fn.op"; oq: "fn.oq"; or: "fn.or"; os: "fn.os"; ot: "fn.ot"; ou: "fn.ou"; ov: "fn.ov"; ow: "fn.ow"; ox: "fn.ox"; oy: "fn.oy"; oz: "fn.oz"; pa: "fn.pa"; pb: "fn.pb"; pc: "fn.pc"; pd: "fn.pd"; pe: "fn.pe"; pf: "fn.pf"; pg: "fn.pg"; ph: "fn.ph"; pi: "fn.pi"; pj: "fn.pj"; pk: "fn.pk"; pl: "fn.pl"; pm: "fn.pm"; pn: "fn.pn"; po: "fn.po"; pp: "fn.pp"; pq: "fn.pq"; pr: "fn.pr"; ps: "fn.ps"; pt: "fn.pt"; pu: "fn.pu"; pv: "fn.pv"; pw: "fn.pw"; px: "fn.px"; py: "fn.py"; pz: "fn.pz"; qa: "fn.qa"; qb: "fn.qb"; qc: "fn.qc"; qd: "fn.qd"; qe: "fn.qe"; qf: "fn.qf"; qg: "fn.qg"; qh: "fn.qh"; qi: "fn.qi"; qj: "fn.qj"; qk: "fn.qk"; ql: "fn.ql"; qm: "fn.qm"; qn: "fn.qn"; qo: "fn.qo"; qp: "fn.qp"; qq: "fn.qq"; qr: "fn.qr"; qs: "fn.qs"; qt: "fn.qt"; qu: "fn.qu"; qv: "fn.qv"; qw: "fn.qw"; qx: "fn.qx"; qy: "fn.qy"; qz: "fn.qz"; ra: "fn.ra"; rb: "fn.rb"; rc: "fn.rc"; rd: "fn.rd"; re: "fn.re"; rf: "fn.rf"; rg: "fn.rg"; rh: "fn.rh"; ri: "fn.ri"; rj: "fn.rj"; rk: "fn.rk"; rl: "fn.rl"; rm: "fn.rm"; rn: "fn.rn"; ro: "fn.ro"; rp: "fn.rp"; rq: "fn.rq"; rr: "fn.rr"; rs: "fn.rs"; rt: "fn.rt"; ru: "fn.ru"; rv: "fn.rv"; rw: "fn.rw"; rx: "fn.rx"; ry: "fn.ry"; rz: "fn.rz"; sa: "fn.sa"; sb: "fn.sb"; sc: "fn.sc"; sd: "fn.sd"; se: "fn.se"; sf: "fn.sf"; sg: "fn.sg"; sh: "fn.sh"; si: "fn.si"; sj: "fn.sj"; sk: "fn.sk"; sl: "fn.sl"; sm: "fn.sm"; sn: "fn.sn"; so: "fn.so"; sp: "fn.sp"; sq: "fn.sq"; sr: "fn.sr"; ss: "fn.ss"; st: "fn.st"; su: "fn.su"; sv: "fn.sv"; sw: "fn.sw"; sx: "fn.sx"; sy: "fn.sy"; sz: "fn.sz"; ta: "fn.ta"; tb: "fn.tb"; tc: "fn.tc"; td: "fn.td"; te: "fn.te"; tf: "fn.tf"; tg: "fn.tg"; th: "fn.th"; ti: "fn.ti"; tj: "fn.tj"; tk: "fn.tk"; tl: "fn.tl"; tm: "fn.tm"; tn: "fn.tn"; to: "fn.to"; tp: "fn.tp"; tq: "fn.tq"; tr: "fn.tr"; ts: "fn.ts"; tt: "fn.tt"; tu: "fn.tu"; tv: "fn.tv"; tw: "fn.tw"; tx: "fn.tx"; ty: "fn.ty"; tz: "fn.tz"; ua: "fn.ua"; ub: "fn.ub"; uc: "fn.uc"; ud: "fn.ud"; ue: "fn.ue"; uf: "fn.uf"; ug: "fn.ug"; uh: "fn.uh"; ui: "fn.ui"; uj: "fn.uj"; uk: "fn.uk"; ul: "fn.ul"; um: "fn.um"; un: "fn.un"; uo: "fn.uo"; up: "fn.up"; uq: "fn.uq"; ur: "fn.ur"; us: "fn.us"; ut: "fn.ut"; uu: "fn.uu"; uv: "fn.uv"; uw: "fn.uw"; ux: "fn.ux"; uy: "fn.uy"; uz: "fn.uz"; va: "fn.va"; vb: "fn.vb"; vc: "fn.vc"; vd: "fn.vd"; ve: "fn.ve"; vf: "fn.vf"; vg: "fn.vg"; vh: "fn.vh"; vi: "fn.vi"; vj: "fn.vj"; vk: "fn.vk"; vl: "fn.vl"; vm: "fn.vm"; vn: "fn.vn"; vo: "fn.vo"; vp: "fn.vp"; vq: "fn.vq"; vr: "fn.vr"; vs: "fn.vs"; vt: "fn.vt"; vu: "fn.vu"; vv: "fn.vv"; vw: "fn.vw"; vx: "fn.vx"; vy: "fn.vy"; vz: "fn.vz"; wa: "fn.wa"; wb: "fn.wb"; wc: "fn.wc"; wd: "fn.wd"; we: "fn.we"; wf: "fn.wf"; wg: "fn.wg"; wh: "fn.wh"; wi: "fn.wi"; wj: "fn.wj"; wk: "fn.wk"; wl: "fn.wl"; wm: "fn.wm"; wn: "fn.wn"; wo: "fn.wo"; wp: "fn.wp"; wq: "fn.wq"; wr: "fn.wr"; ws: "fn.ws"; wt: "fn.wt"; wu: "fn.wu"; wv: "fn.wv"; ww: "fn.ww"; wx: "fn.wx"; wy: "fn.wy"; wz: "fn.wz"; xa: "fn.xa"; xb: "fn.xb"; xc: "fn.xc"; xd: "fn.xd"; xe: "fn.xe"; xf: "fn.xf"; xg: "fn.xg"; xh: "fn.xh"; xi: "fn.xi"; xj: "fn.xj"; xk: "fn.xk"; xl: "fn.xl"; xm: "fn.xm"; xn: "fn.xn"; xo: "fn.xo"; xp: "fn.xp"; xq: "fn.xq"; xr: "fn.xr"; xs: "fn.xs"; xt: "fn.xt"; xu: "fn.xu"; xv: "fn.xv"; xw: "fn.xw"; xx: "fn.xx"; xy: "fn.xy"; xz: "fn.xz"; ya: "fn.ya"; yb: "fn.yb"; yc: "fn.yc"; yd: "fn.yd"; ye: "fn.ye"; yf: "fn.yf"; yg: "fn.yg"; yh: "fn.yh"; yi: "fn.yi"; yj: "fn.yj"; yk: "fn.yk"; yl: "fn.yl"; ym: "fn.ym"; yn: "fn.yn"; yo: "fn.yo"; yp: "fn.yp"; yq: "fn.yq"; yr: "fn.yr"; ys: "fn.ys"; yt: "fn.yt"; yu: "fn.yu"; yv: "fn.yv"; yw: "fn.yw"; yx: "fn.yx"; yy: "fn.yy"; yz: "fn.yz"; za: "fn.za"; zb: "fn.zb"; zc: "fn.zc"; zd: "fn.zd"; ze: "fn.ze"; zf: "fn.zf"; zg: "fn.zg"; zh: "fn.zh"; zi: "fn.zi"; zj: "fn.zj"; zk: "fn.zk"; zl: "fn.zl"; zm: "fn.zm"; zn: "fn.zn"; zo: "fn.zo"; zp: "fn.zp"; zq: "fn.zq"; zr: "fn.zr"; zs: "fn.zs"; zt: "fn.zt"; zu: "fn.zu"; zv: "fn.zv"; zw: "fn.zw"; zx: "fn.zx"; zy: "fn.zy"; zz: "fn.zz"; }; fo: { aa: "fo.aa"; ab: "fo.ab"; ac: "fo.ac"; ad: "fo.ad"; ae: "fo.ae"; af: "fo.af"; ag: "fo.ag"; ah: "fo.ah"; ai: "fo.ai"; aj: "fo.aj"; ak: "fo.ak"; al: "fo.al"; am: "fo.am"; an: "fo.an"; ao: "fo.ao"; ap: "fo.ap"; aq: "fo.aq"; ar: "fo.ar"; as: "fo.as"; at: "fo.at"; au: "fo.au"; av: "fo.av"; aw: "fo.aw"; ax: "fo.ax"; ay: "fo.ay"; az: "fo.az"; ba: "fo.ba"; bb: "fo.bb"; bc: "fo.bc"; bd: "fo.bd"; be: "fo.be"; bf: "fo.bf"; bg: "fo.bg"; bh: "fo.bh"; bi: "fo.bi"; bj: "fo.bj"; bk: "fo.bk"; bl: "fo.bl"; bm: "fo.bm"; bn: "fo.bn"; bo: "fo.bo"; bp: "fo.bp"; bq: "fo.bq"; br: "fo.br"; bs: "fo.bs"; bt: "fo.bt"; bu: "fo.bu"; bv: "fo.bv"; bw: "fo.bw"; bx: "fo.bx"; by: "fo.by"; bz: "fo.bz"; ca: "fo.ca"; cb: "fo.cb"; cc: "fo.cc"; cd: "fo.cd"; ce: "fo.ce"; cf: "fo.cf"; cg: "fo.cg"; ch: "fo.ch"; ci: "fo.ci"; cj: "fo.cj"; ck: "fo.ck"; cl: "fo.cl"; cm: "fo.cm"; cn: "fo.cn"; co: "fo.co"; cp: "fo.cp"; cq: "fo.cq"; cr: "fo.cr"; cs: "fo.cs"; ct: "fo.ct"; cu: "fo.cu"; cv: "fo.cv"; cw: "fo.cw"; cx: "fo.cx"; cy: "fo.cy"; cz: "fo.cz"; da: "fo.da"; db: "fo.db"; dc: "fo.dc"; dd: "fo.dd"; de: "fo.de"; df: "fo.df"; dg: "fo.dg"; dh: "fo.dh"; di: "fo.di"; dj: "fo.dj"; dk: "fo.dk"; dl: "fo.dl"; dm: "fo.dm"; dn: "fo.dn"; do: "fo.do"; dp: "fo.dp"; dq: "fo.dq"; dr: "fo.dr"; ds: "fo.ds"; dt: "fo.dt"; du: "fo.du"; dv: "fo.dv"; dw: "fo.dw"; dx: "fo.dx"; dy: "fo.dy"; dz: "fo.dz"; ea: "fo.ea"; eb: "fo.eb"; ec: "fo.ec"; ed: "fo.ed"; ee: "fo.ee"; ef: "fo.ef"; eg: "fo.eg"; eh: "fo.eh"; ei: "fo.ei"; ej: "fo.ej"; ek: "fo.ek"; el: "fo.el"; em: "fo.em"; en: "fo.en"; eo: "fo.eo"; ep: "fo.ep"; eq: "fo.eq"; er: "fo.er"; es: "fo.es"; et: "fo.et"; eu: "fo.eu"; ev: "fo.ev"; ew: "fo.ew"; ex: "fo.ex"; ey: "fo.ey"; ez: "fo.ez"; fa: "fo.fa"; fb: "fo.fb"; fc: "fo.fc"; fd: "fo.fd"; fe: "fo.fe"; ff: "fo.ff"; fg: "fo.fg"; fh: "fo.fh"; fi: "fo.fi"; fj: "fo.fj"; fk: "fo.fk"; fl: "fo.fl"; fm: "fo.fm"; fn: "fo.fn"; fo: "fo.fo"; fp: "fo.fp"; fq: "fo.fq"; fr: "fo.fr"; fs: "fo.fs"; ft: "fo.ft"; fu: "fo.fu"; fv: "fo.fv"; fw: "fo.fw"; fx: "fo.fx"; fy: "fo.fy"; fz: "fo.fz"; ga: "fo.ga"; gb: "fo.gb"; gc: "fo.gc"; gd: "fo.gd"; ge: "fo.ge"; gf: "fo.gf"; gg: "fo.gg"; gh: "fo.gh"; gi: "fo.gi"; gj: "fo.gj"; gk: "fo.gk"; gl: "fo.gl"; gm: "fo.gm"; gn: "fo.gn"; go: "fo.go"; gp: "fo.gp"; gq: "fo.gq"; gr: "fo.gr"; gs: "fo.gs"; gt: "fo.gt"; gu: "fo.gu"; gv: "fo.gv"; gw: "fo.gw"; gx: "fo.gx"; gy: "fo.gy"; gz: "fo.gz"; ha: "fo.ha"; hb: "fo.hb"; hc: "fo.hc"; hd: "fo.hd"; he: "fo.he"; hf: "fo.hf"; hg: "fo.hg"; hh: "fo.hh"; hi: "fo.hi"; hj: "fo.hj"; hk: "fo.hk"; hl: "fo.hl"; hm: "fo.hm"; hn: "fo.hn"; ho: "fo.ho"; hp: "fo.hp"; hq: "fo.hq"; hr: "fo.hr"; hs: "fo.hs"; ht: "fo.ht"; hu: "fo.hu"; hv: "fo.hv"; hw: "fo.hw"; hx: "fo.hx"; hy: "fo.hy"; hz: "fo.hz"; ia: "fo.ia"; ib: "fo.ib"; ic: "fo.ic"; id: "fo.id"; ie: "fo.ie"; if: "fo.if"; ig: "fo.ig"; ih: "fo.ih"; ii: "fo.ii"; ij: "fo.ij"; ik: "fo.ik"; il: "fo.il"; im: "fo.im"; in: "fo.in"; io: "fo.io"; ip: "fo.ip"; iq: "fo.iq"; ir: "fo.ir"; is: "fo.is"; it: "fo.it"; iu: "fo.iu"; iv: "fo.iv"; iw: "fo.iw"; ix: "fo.ix"; iy: "fo.iy"; iz: "fo.iz"; ja: "fo.ja"; jb: "fo.jb"; jc: "fo.jc"; jd: "fo.jd"; je: "fo.je"; jf: "fo.jf"; jg: "fo.jg"; jh: "fo.jh"; ji: "fo.ji"; jj: "fo.jj"; jk: "fo.jk"; jl: "fo.jl"; jm: "fo.jm"; jn: "fo.jn"; jo: "fo.jo"; jp: "fo.jp"; jq: "fo.jq"; jr: "fo.jr"; js: "fo.js"; jt: "fo.jt"; ju: "fo.ju"; jv: "fo.jv"; jw: "fo.jw"; jx: "fo.jx"; jy: "fo.jy"; jz: "fo.jz"; ka: "fo.ka"; kb: "fo.kb"; kc: "fo.kc"; kd: "fo.kd"; ke: "fo.ke"; kf: "fo.kf"; kg: "fo.kg"; kh: "fo.kh"; ki: "fo.ki"; kj: "fo.kj"; kk: "fo.kk"; kl: "fo.kl"; km: "fo.km"; kn: "fo.kn"; ko: "fo.ko"; kp: "fo.kp"; kq: "fo.kq"; kr: "fo.kr"; ks: "fo.ks"; kt: "fo.kt"; ku: "fo.ku"; kv: "fo.kv"; kw: "fo.kw"; kx: "fo.kx"; ky: "fo.ky"; kz: "fo.kz"; la: "fo.la"; lb: "fo.lb"; lc: "fo.lc"; ld: "fo.ld"; le: "fo.le"; lf: "fo.lf"; lg: "fo.lg"; lh: "fo.lh"; li: "fo.li"; lj: "fo.lj"; lk: "fo.lk"; ll: "fo.ll"; lm: "fo.lm"; ln: "fo.ln"; lo: "fo.lo"; lp: "fo.lp"; lq: "fo.lq"; lr: "fo.lr"; ls: "fo.ls"; lt: "fo.lt"; lu: "fo.lu"; lv: "fo.lv"; lw: "fo.lw"; lx: "fo.lx"; ly: "fo.ly"; lz: "fo.lz"; ma: "fo.ma"; mb: "fo.mb"; mc: "fo.mc"; md: "fo.md"; me: "fo.me"; mf: "fo.mf"; mg: "fo.mg"; mh: "fo.mh"; mi: "fo.mi"; mj: "fo.mj"; mk: "fo.mk"; ml: "fo.ml"; mm: "fo.mm"; mn: "fo.mn"; mo: "fo.mo"; mp: "fo.mp"; mq: "fo.mq"; mr: "fo.mr"; ms: "fo.ms"; mt: "fo.mt"; mu: "fo.mu"; mv: "fo.mv"; mw: "fo.mw"; mx: "fo.mx"; my: "fo.my"; mz: "fo.mz"; na: "fo.na"; nb: "fo.nb"; nc: "fo.nc"; nd: "fo.nd"; ne: "fo.ne"; nf: "fo.nf"; ng: "fo.ng"; nh: "fo.nh"; ni: "fo.ni"; nj: "fo.nj"; nk: "fo.nk"; nl: "fo.nl"; nm: "fo.nm"; nn: "fo.nn"; no: "fo.no"; np: "fo.np"; nq: "fo.nq"; nr: "fo.nr"; ns: "fo.ns"; nt: "fo.nt"; nu: "fo.nu"; nv: "fo.nv"; nw: "fo.nw"; nx: "fo.nx"; ny: "fo.ny"; nz: "fo.nz"; oa: "fo.oa"; ob: "fo.ob"; oc: "fo.oc"; od: "fo.od"; oe: "fo.oe"; of: "fo.of"; og: "fo.og"; oh: "fo.oh"; oi: "fo.oi"; oj: "fo.oj"; ok: "fo.ok"; ol: "fo.ol"; om: "fo.om"; on: "fo.on"; oo: "fo.oo"; op: "fo.op"; oq: "fo.oq"; or: "fo.or"; os: "fo.os"; ot: "fo.ot"; ou: "fo.ou"; ov: "fo.ov"; ow: "fo.ow"; ox: "fo.ox"; oy: "fo.oy"; oz: "fo.oz"; pa: "fo.pa"; pb: "fo.pb"; pc: "fo.pc"; pd: "fo.pd"; pe: "fo.pe"; pf: "fo.pf"; pg: "fo.pg"; ph: "fo.ph"; pi: "fo.pi"; pj: "fo.pj"; pk: "fo.pk"; pl: "fo.pl"; pm: "fo.pm"; pn: "fo.pn"; po: "fo.po"; pp: "fo.pp"; pq: "fo.pq"; pr: "fo.pr"; ps: "fo.ps"; pt: "fo.pt"; pu: "fo.pu"; pv: "fo.pv"; pw: "fo.pw"; px: "fo.px"; py: "fo.py"; pz: "fo.pz"; qa: "fo.qa"; qb: "fo.qb"; qc: "fo.qc"; qd: "fo.qd"; qe: "fo.qe"; qf: "fo.qf"; qg: "fo.qg"; qh: "fo.qh"; qi: "fo.qi"; qj: "fo.qj"; qk: "fo.qk"; ql: "fo.ql"; qm: "fo.qm"; qn: "fo.qn"; qo: "fo.qo"; qp: "fo.qp"; qq: "fo.qq"; qr: "fo.qr"; qs: "fo.qs"; qt: "fo.qt"; qu: "fo.qu"; qv: "fo.qv"; qw: "fo.qw"; qx: "fo.qx"; qy: "fo.qy"; qz: "fo.qz"; ra: "fo.ra"; rb: "fo.rb"; rc: "fo.rc"; rd: "fo.rd"; re: "fo.re"; rf: "fo.rf"; rg: "fo.rg"; rh: "fo.rh"; ri: "fo.ri"; rj: "fo.rj"; rk: "fo.rk"; rl: "fo.rl"; rm: "fo.rm"; rn: "fo.rn"; ro: "fo.ro"; rp: "fo.rp"; rq: "fo.rq"; rr: "fo.rr"; rs: "fo.rs"; rt: "fo.rt"; ru: "fo.ru"; rv: "fo.rv"; rw: "fo.rw"; rx: "fo.rx"; ry: "fo.ry"; rz: "fo.rz"; sa: "fo.sa"; sb: "fo.sb"; sc: "fo.sc"; sd: "fo.sd"; se: "fo.se"; sf: "fo.sf"; sg: "fo.sg"; sh: "fo.sh"; si: "fo.si"; sj: "fo.sj"; sk: "fo.sk"; sl: "fo.sl"; sm: "fo.sm"; sn: "fo.sn"; so: "fo.so"; sp: "fo.sp"; sq: "fo.sq"; sr: "fo.sr"; ss: "fo.ss"; st: "fo.st"; su: "fo.su"; sv: "fo.sv"; sw: "fo.sw"; sx: "fo.sx"; sy: "fo.sy"; sz: "fo.sz"; ta: "fo.ta"; tb: "fo.tb"; tc: "fo.tc"; td: "fo.td"; te: "fo.te"; tf: "fo.tf"; tg: "fo.tg"; th: "fo.th"; ti: "fo.ti"; tj: "fo.tj"; tk: "fo.tk"; tl: "fo.tl"; tm: "fo.tm"; tn: "fo.tn"; to: "fo.to"; tp: "fo.tp"; tq: "fo.tq"; tr: "fo.tr"; ts: "fo.ts"; tt: "fo.tt"; tu: "fo.tu"; tv: "fo.tv"; tw: "fo.tw"; tx: "fo.tx"; ty: "fo.ty"; tz: "fo.tz"; ua: "fo.ua"; ub: "fo.ub"; uc: "fo.uc"; ud: "fo.ud"; ue: "fo.ue"; uf: "fo.uf"; ug: "fo.ug"; uh: "fo.uh"; ui: "fo.ui"; uj: "fo.uj"; uk: "fo.uk"; ul: "fo.ul"; um: "fo.um"; un: "fo.un"; uo: "fo.uo"; up: "fo.up"; uq: "fo.uq"; ur: "fo.ur"; us: "fo.us"; ut: "fo.ut"; uu: "fo.uu"; uv: "fo.uv"; uw: "fo.uw"; ux: "fo.ux"; uy: "fo.uy"; uz: "fo.uz"; va: "fo.va"; vb: "fo.vb"; vc: "fo.vc"; vd: "fo.vd"; ve: "fo.ve"; vf: "fo.vf"; vg: "fo.vg"; vh: "fo.vh"; vi: "fo.vi"; vj: "fo.vj"; vk: "fo.vk"; vl: "fo.vl"; vm: "fo.vm"; vn: "fo.vn"; vo: "fo.vo"; vp: "fo.vp"; vq: "fo.vq"; vr: "fo.vr"; vs: "fo.vs"; vt: "fo.vt"; vu: "fo.vu"; vv: "fo.vv"; vw: "fo.vw"; vx: "fo.vx"; vy: "fo.vy"; vz: "fo.vz"; wa: "fo.wa"; wb: "fo.wb"; wc: "fo.wc"; wd: "fo.wd"; we: "fo.we"; wf: "fo.wf"; wg: "fo.wg"; wh: "fo.wh"; wi: "fo.wi"; wj: "fo.wj"; wk: "fo.wk"; wl: "fo.wl"; wm: "fo.wm"; wn: "fo.wn"; wo: "fo.wo"; wp: "fo.wp"; wq: "fo.wq"; wr: "fo.wr"; ws: "fo.ws"; wt: "fo.wt"; wu: "fo.wu"; wv: "fo.wv"; ww: "fo.ww"; wx: "fo.wx"; wy: "fo.wy"; wz: "fo.wz"; xa: "fo.xa"; xb: "fo.xb"; xc: "fo.xc"; xd: "fo.xd"; xe: "fo.xe"; xf: "fo.xf"; xg: "fo.xg"; xh: "fo.xh"; xi: "fo.xi"; xj: "fo.xj"; xk: "fo.xk"; xl: "fo.xl"; xm: "fo.xm"; xn: "fo.xn"; xo: "fo.xo"; xp: "fo.xp"; xq: "fo.xq"; xr: "fo.xr"; xs: "fo.xs"; xt: "fo.xt"; xu: "fo.xu"; xv: "fo.xv"; xw: "fo.xw"; xx: "fo.xx"; xy: "fo.xy"; xz: "fo.xz"; ya: "fo.ya"; yb: "fo.yb"; yc: "fo.yc"; yd: "fo.yd"; ye: "fo.ye"; yf: "fo.yf"; yg: "fo.yg"; yh: "fo.yh"; yi: "fo.yi"; yj: "fo.yj"; yk: "fo.yk"; yl: "fo.yl"; ym: "fo.ym"; yn: "fo.yn"; yo: "fo.yo"; yp: "fo.yp"; yq: "fo.yq"; yr: "fo.yr"; ys: "fo.ys"; yt: "fo.yt"; yu: "fo.yu"; yv: "fo.yv"; yw: "fo.yw"; yx: "fo.yx"; yy: "fo.yy"; yz: "fo.yz"; za: "fo.za"; zb: "fo.zb"; zc: "fo.zc"; zd: "fo.zd"; ze: "fo.ze"; zf: "fo.zf"; zg: "fo.zg"; zh: "fo.zh"; zi: "fo.zi"; zj: "fo.zj"; zk: "fo.zk"; zl: "fo.zl"; zm: "fo.zm"; zn: "fo.zn"; zo: "fo.zo"; zp: "fo.zp"; zq: "fo.zq"; zr: "fo.zr"; zs: "fo.zs"; zt: "fo.zt"; zu: "fo.zu"; zv: "fo.zv"; zw: "fo.zw"; zx: "fo.zx"; zy: "fo.zy"; zz: "fo.zz"; }; fp: { aa: "fp.aa"; ab: "fp.ab"; ac: "fp.ac"; ad: "fp.ad"; ae: "fp.ae"; af: "fp.af"; ag: "fp.ag"; ah: "fp.ah"; ai: "fp.ai"; aj: "fp.aj"; ak: "fp.ak"; al: "fp.al"; am: "fp.am"; an: "fp.an"; ao: "fp.ao"; ap: "fp.ap"; aq: "fp.aq"; ar: "fp.ar"; as: "fp.as"; at: "fp.at"; au: "fp.au"; av: "fp.av"; aw: "fp.aw"; ax: "fp.ax"; ay: "fp.ay"; az: "fp.az"; ba: "fp.ba"; bb: "fp.bb"; bc: "fp.bc"; bd: "fp.bd"; be: "fp.be"; bf: "fp.bf"; bg: "fp.bg"; bh: "fp.bh"; bi: "fp.bi"; bj: "fp.bj"; bk: "fp.bk"; bl: "fp.bl"; bm: "fp.bm"; bn: "fp.bn"; bo: "fp.bo"; bp: "fp.bp"; bq: "fp.bq"; br: "fp.br"; bs: "fp.bs"; bt: "fp.bt"; bu: "fp.bu"; bv: "fp.bv"; bw: "fp.bw"; bx: "fp.bx"; by: "fp.by"; bz: "fp.bz"; ca: "fp.ca"; cb: "fp.cb"; cc: "fp.cc"; cd: "fp.cd"; ce: "fp.ce"; cf: "fp.cf"; cg: "fp.cg"; ch: "fp.ch"; ci: "fp.ci"; cj: "fp.cj"; ck: "fp.ck"; cl: "fp.cl"; cm: "fp.cm"; cn: "fp.cn"; co: "fp.co"; cp: "fp.cp"; cq: "fp.cq"; cr: "fp.cr"; cs: "fp.cs"; ct: "fp.ct"; cu: "fp.cu"; cv: "fp.cv"; cw: "fp.cw"; cx: "fp.cx"; cy: "fp.cy"; cz: "fp.cz"; da: "fp.da"; db: "fp.db"; dc: "fp.dc"; dd: "fp.dd"; de: "fp.de"; df: "fp.df"; dg: "fp.dg"; dh: "fp.dh"; di: "fp.di"; dj: "fp.dj"; dk: "fp.dk"; dl: "fp.dl"; dm: "fp.dm"; dn: "fp.dn"; do: "fp.do"; dp: "fp.dp"; dq: "fp.dq"; dr: "fp.dr"; ds: "fp.ds"; dt: "fp.dt"; du: "fp.du"; dv: "fp.dv"; dw: "fp.dw"; dx: "fp.dx"; dy: "fp.dy"; dz: "fp.dz"; ea: "fp.ea"; eb: "fp.eb"; ec: "fp.ec"; ed: "fp.ed"; ee: "fp.ee"; ef: "fp.ef"; eg: "fp.eg"; eh: "fp.eh"; ei: "fp.ei"; ej: "fp.ej"; ek: "fp.ek"; el: "fp.el"; em: "fp.em"; en: "fp.en"; eo: "fp.eo"; ep: "fp.ep"; eq: "fp.eq"; er: "fp.er"; es: "fp.es"; et: "fp.et"; eu: "fp.eu"; ev: "fp.ev"; ew: "fp.ew"; ex: "fp.ex"; ey: "fp.ey"; ez: "fp.ez"; fa: "fp.fa"; fb: "fp.fb"; fc: "fp.fc"; fd: "fp.fd"; fe: "fp.fe"; ff: "fp.ff"; fg: "fp.fg"; fh: "fp.fh"; fi: "fp.fi"; fj: "fp.fj"; fk: "fp.fk"; fl: "fp.fl"; fm: "fp.fm"; fn: "fp.fn"; fo: "fp.fo"; fp: "fp.fp"; fq: "fp.fq"; fr: "fp.fr"; fs: "fp.fs"; ft: "fp.ft"; fu: "fp.fu"; fv: "fp.fv"; fw: "fp.fw"; fx: "fp.fx"; fy: "fp.fy"; fz: "fp.fz"; ga: "fp.ga"; gb: "fp.gb"; gc: "fp.gc"; gd: "fp.gd"; ge: "fp.ge"; gf: "fp.gf"; gg: "fp.gg"; gh: "fp.gh"; gi: "fp.gi"; gj: "fp.gj"; gk: "fp.gk"; gl: "fp.gl"; gm: "fp.gm"; gn: "fp.gn"; go: "fp.go"; gp: "fp.gp"; gq: "fp.gq"; gr: "fp.gr"; gs: "fp.gs"; gt: "fp.gt"; gu: "fp.gu"; gv: "fp.gv"; gw: "fp.gw"; gx: "fp.gx"; gy: "fp.gy"; gz: "fp.gz"; ha: "fp.ha"; hb: "fp.hb"; hc: "fp.hc"; hd: "fp.hd"; he: "fp.he"; hf: "fp.hf"; hg: "fp.hg"; hh: "fp.hh"; hi: "fp.hi"; hj: "fp.hj"; hk: "fp.hk"; hl: "fp.hl"; hm: "fp.hm"; hn: "fp.hn"; ho: "fp.ho"; hp: "fp.hp"; hq: "fp.hq"; hr: "fp.hr"; hs: "fp.hs"; ht: "fp.ht"; hu: "fp.hu"; hv: "fp.hv"; hw: "fp.hw"; hx: "fp.hx"; hy: "fp.hy"; hz: "fp.hz"; ia: "fp.ia"; ib: "fp.ib"; ic: "fp.ic"; id: "fp.id"; ie: "fp.ie"; if: "fp.if"; ig: "fp.ig"; ih: "fp.ih"; ii: "fp.ii"; ij: "fp.ij"; ik: "fp.ik"; il: "fp.il"; im: "fp.im"; in: "fp.in"; io: "fp.io"; ip: "fp.ip"; iq: "fp.iq"; ir: "fp.ir"; is: "fp.is"; it: "fp.it"; iu: "fp.iu"; iv: "fp.iv"; iw: "fp.iw"; ix: "fp.ix"; iy: "fp.iy"; iz: "fp.iz"; ja: "fp.ja"; jb: "fp.jb"; jc: "fp.jc"; jd: "fp.jd"; je: "fp.je"; jf: "fp.jf"; jg: "fp.jg"; jh: "fp.jh"; ji: "fp.ji"; jj: "fp.jj"; jk: "fp.jk"; jl: "fp.jl"; jm: "fp.jm"; jn: "fp.jn"; jo: "fp.jo"; jp: "fp.jp"; jq: "fp.jq"; jr: "fp.jr"; js: "fp.js"; jt: "fp.jt"; ju: "fp.ju"; jv: "fp.jv"; jw: "fp.jw"; jx: "fp.jx"; jy: "fp.jy"; jz: "fp.jz"; ka: "fp.ka"; kb: "fp.kb"; kc: "fp.kc"; kd: "fp.kd"; ke: "fp.ke"; kf: "fp.kf"; kg: "fp.kg"; kh: "fp.kh"; ki: "fp.ki"; kj: "fp.kj"; kk: "fp.kk"; kl: "fp.kl"; km: "fp.km"; kn: "fp.kn"; ko: "fp.ko"; kp: "fp.kp"; kq: "fp.kq"; kr: "fp.kr"; ks: "fp.ks"; kt: "fp.kt"; ku: "fp.ku"; kv: "fp.kv"; kw: "fp.kw"; kx: "fp.kx"; ky: "fp.ky"; kz: "fp.kz"; la: "fp.la"; lb: "fp.lb"; lc: "fp.lc"; ld: "fp.ld"; le: "fp.le"; lf: "fp.lf"; lg: "fp.lg"; lh: "fp.lh"; li: "fp.li"; lj: "fp.lj"; lk: "fp.lk"; ll: "fp.ll"; lm: "fp.lm"; ln: "fp.ln"; lo: "fp.lo"; lp: "fp.lp"; lq: "fp.lq"; lr: "fp.lr"; ls: "fp.ls"; lt: "fp.lt"; lu: "fp.lu"; lv: "fp.lv"; lw: "fp.lw"; lx: "fp.lx"; ly: "fp.ly"; lz: "fp.lz"; ma: "fp.ma"; mb: "fp.mb"; mc: "fp.mc"; md: "fp.md"; me: "fp.me"; mf: "fp.mf"; mg: "fp.mg"; mh: "fp.mh"; mi: "fp.mi"; mj: "fp.mj"; mk: "fp.mk"; ml: "fp.ml"; mm: "fp.mm"; mn: "fp.mn"; mo: "fp.mo"; mp: "fp.mp"; mq: "fp.mq"; mr: "fp.mr"; ms: "fp.ms"; mt: "fp.mt"; mu: "fp.mu"; mv: "fp.mv"; mw: "fp.mw"; mx: "fp.mx"; my: "fp.my"; mz: "fp.mz"; na: "fp.na"; nb: "fp.nb"; nc: "fp.nc"; nd: "fp.nd"; ne: "fp.ne"; nf: "fp.nf"; ng: "fp.ng"; nh: "fp.nh"; ni: "fp.ni"; nj: "fp.nj"; nk: "fp.nk"; nl: "fp.nl"; nm: "fp.nm"; nn: "fp.nn"; no: "fp.no"; np: "fp.np"; nq: "fp.nq"; nr: "fp.nr"; ns: "fp.ns"; nt: "fp.nt"; nu: "fp.nu"; nv: "fp.nv"; nw: "fp.nw"; nx: "fp.nx"; ny: "fp.ny"; nz: "fp.nz"; oa: "fp.oa"; ob: "fp.ob"; oc: "fp.oc"; od: "fp.od"; oe: "fp.oe"; of: "fp.of"; og: "fp.og"; oh: "fp.oh"; oi: "fp.oi"; oj: "fp.oj"; ok: "fp.ok"; ol: "fp.ol"; om: "fp.om"; on: "fp.on"; oo: "fp.oo"; op: "fp.op"; oq: "fp.oq"; or: "fp.or"; os: "fp.os"; ot: "fp.ot"; ou: "fp.ou"; ov: "fp.ov"; ow: "fp.ow"; ox: "fp.ox"; oy: "fp.oy"; oz: "fp.oz"; pa: "fp.pa"; pb: "fp.pb"; pc: "fp.pc"; pd: "fp.pd"; pe: "fp.pe"; pf: "fp.pf"; pg: "fp.pg"; ph: "fp.ph"; pi: "fp.pi"; pj: "fp.pj"; pk: "fp.pk"; pl: "fp.pl"; pm: "fp.pm"; pn: "fp.pn"; po: "fp.po"; pp: "fp.pp"; pq: "fp.pq"; pr: "fp.pr"; ps: "fp.ps"; pt: "fp.pt"; pu: "fp.pu"; pv: "fp.pv"; pw: "fp.pw"; px: "fp.px"; py: "fp.py"; pz: "fp.pz"; qa: "fp.qa"; qb: "fp.qb"; qc: "fp.qc"; qd: "fp.qd"; qe: "fp.qe"; qf: "fp.qf"; qg: "fp.qg"; qh: "fp.qh"; qi: "fp.qi"; qj: "fp.qj"; qk: "fp.qk"; ql: "fp.ql"; qm: "fp.qm"; qn: "fp.qn"; qo: "fp.qo"; qp: "fp.qp"; qq: "fp.qq"; qr: "fp.qr"; qs: "fp.qs"; qt: "fp.qt"; qu: "fp.qu"; qv: "fp.qv"; qw: "fp.qw"; qx: "fp.qx"; qy: "fp.qy"; qz: "fp.qz"; ra: "fp.ra"; rb: "fp.rb"; rc: "fp.rc"; rd: "fp.rd"; re: "fp.re"; rf: "fp.rf"; rg: "fp.rg"; rh: "fp.rh"; ri: "fp.ri"; rj: "fp.rj"; rk: "fp.rk"; rl: "fp.rl"; rm: "fp.rm"; rn: "fp.rn"; ro: "fp.ro"; rp: "fp.rp"; rq: "fp.rq"; rr: "fp.rr"; rs: "fp.rs"; rt: "fp.rt"; ru: "fp.ru"; rv: "fp.rv"; rw: "fp.rw"; rx: "fp.rx"; ry: "fp.ry"; rz: "fp.rz"; sa: "fp.sa"; sb: "fp.sb"; sc: "fp.sc"; sd: "fp.sd"; se: "fp.se"; sf: "fp.sf"; sg: "fp.sg"; sh: "fp.sh"; si: "fp.si"; sj: "fp.sj"; sk: "fp.sk"; sl: "fp.sl"; sm: "fp.sm"; sn: "fp.sn"; so: "fp.so"; sp: "fp.sp"; sq: "fp.sq"; sr: "fp.sr"; ss: "fp.ss"; st: "fp.st"; su: "fp.su"; sv: "fp.sv"; sw: "fp.sw"; sx: "fp.sx"; sy: "fp.sy"; sz: "fp.sz"; ta: "fp.ta"; tb: "fp.tb"; tc: "fp.tc"; td: "fp.td"; te: "fp.te"; tf: "fp.tf"; tg: "fp.tg"; th: "fp.th"; ti: "fp.ti"; tj: "fp.tj"; tk: "fp.tk"; tl: "fp.tl"; tm: "fp.tm"; tn: "fp.tn"; to: "fp.to"; tp: "fp.tp"; tq: "fp.tq"; tr: "fp.tr"; ts: "fp.ts"; tt: "fp.tt"; tu: "fp.tu"; tv: "fp.tv"; tw: "fp.tw"; tx: "fp.tx"; ty: "fp.ty"; tz: "fp.tz"; ua: "fp.ua"; ub: "fp.ub"; uc: "fp.uc"; ud: "fp.ud"; ue: "fp.ue"; uf: "fp.uf"; ug: "fp.ug"; uh: "fp.uh"; ui: "fp.ui"; uj: "fp.uj"; uk: "fp.uk"; ul: "fp.ul"; um: "fp.um"; un: "fp.un"; uo: "fp.uo"; up: "fp.up"; uq: "fp.uq"; ur: "fp.ur"; us: "fp.us"; ut: "fp.ut"; uu: "fp.uu"; uv: "fp.uv"; uw: "fp.uw"; ux: "fp.ux"; uy: "fp.uy"; uz: "fp.uz"; va: "fp.va"; vb: "fp.vb"; vc: "fp.vc"; vd: "fp.vd"; ve: "fp.ve"; vf: "fp.vf"; vg: "fp.vg"; vh: "fp.vh"; vi: "fp.vi"; vj: "fp.vj"; vk: "fp.vk"; vl: "fp.vl"; vm: "fp.vm"; vn: "fp.vn"; vo: "fp.vo"; vp: "fp.vp"; vq: "fp.vq"; vr: "fp.vr"; vs: "fp.vs"; vt: "fp.vt"; vu: "fp.vu"; vv: "fp.vv"; vw: "fp.vw"; vx: "fp.vx"; vy: "fp.vy"; vz: "fp.vz"; wa: "fp.wa"; wb: "fp.wb"; wc: "fp.wc"; wd: "fp.wd"; we: "fp.we"; wf: "fp.wf"; wg: "fp.wg"; wh: "fp.wh"; wi: "fp.wi"; wj: "fp.wj"; wk: "fp.wk"; wl: "fp.wl"; wm: "fp.wm"; wn: "fp.wn"; wo: "fp.wo"; wp: "fp.wp"; wq: "fp.wq"; wr: "fp.wr"; ws: "fp.ws"; wt: "fp.wt"; wu: "fp.wu"; wv: "fp.wv"; ww: "fp.ww"; wx: "fp.wx"; wy: "fp.wy"; wz: "fp.wz"; xa: "fp.xa"; xb: "fp.xb"; xc: "fp.xc"; xd: "fp.xd"; xe: "fp.xe"; xf: "fp.xf"; xg: "fp.xg"; xh: "fp.xh"; xi: "fp.xi"; xj: "fp.xj"; xk: "fp.xk"; xl: "fp.xl"; xm: "fp.xm"; xn: "fp.xn"; xo: "fp.xo"; xp: "fp.xp"; xq: "fp.xq"; xr: "fp.xr"; xs: "fp.xs"; xt: "fp.xt"; xu: "fp.xu"; xv: "fp.xv"; xw: "fp.xw"; xx: "fp.xx"; xy: "fp.xy"; xz: "fp.xz"; ya: "fp.ya"; yb: "fp.yb"; yc: "fp.yc"; yd: "fp.yd"; ye: "fp.ye"; yf: "fp.yf"; yg: "fp.yg"; yh: "fp.yh"; yi: "fp.yi"; yj: "fp.yj"; yk: "fp.yk"; yl: "fp.yl"; ym: "fp.ym"; yn: "fp.yn"; yo: "fp.yo"; yp: "fp.yp"; yq: "fp.yq"; yr: "fp.yr"; ys: "fp.ys"; yt: "fp.yt"; yu: "fp.yu"; yv: "fp.yv"; yw: "fp.yw"; yx: "fp.yx"; yy: "fp.yy"; yz: "fp.yz"; za: "fp.za"; zb: "fp.zb"; zc: "fp.zc"; zd: "fp.zd"; ze: "fp.ze"; zf: "fp.zf"; zg: "fp.zg"; zh: "fp.zh"; zi: "fp.zi"; zj: "fp.zj"; zk: "fp.zk"; zl: "fp.zl"; zm: "fp.zm"; zn: "fp.zn"; zo: "fp.zo"; zp: "fp.zp"; zq: "fp.zq"; zr: "fp.zr"; zs: "fp.zs"; zt: "fp.zt"; zu: "fp.zu"; zv: "fp.zv"; zw: "fp.zw"; zx: "fp.zx"; zy: "fp.zy"; zz: "fp.zz"; }; fq: { aa: "fq.aa"; ab: "fq.ab"; ac: "fq.ac"; ad: "fq.ad"; ae: "fq.ae"; af: "fq.af"; ag: "fq.ag"; ah: "fq.ah"; ai: "fq.ai"; aj: "fq.aj"; ak: "fq.ak"; al: "fq.al"; am: "fq.am"; an: "fq.an"; ao: "fq.ao"; ap: "fq.ap"; aq: "fq.aq"; ar: "fq.ar"; as: "fq.as"; at: "fq.at"; au: "fq.au"; av: "fq.av"; aw: "fq.aw"; ax: "fq.ax"; ay: "fq.ay"; az: "fq.az"; ba: "fq.ba"; bb: "fq.bb"; bc: "fq.bc"; bd: "fq.bd"; be: "fq.be"; bf: "fq.bf"; bg: "fq.bg"; bh: "fq.bh"; bi: "fq.bi"; bj: "fq.bj"; bk: "fq.bk"; bl: "fq.bl"; bm: "fq.bm"; bn: "fq.bn"; bo: "fq.bo"; bp: "fq.bp"; bq: "fq.bq"; br: "fq.br"; bs: "fq.bs"; bt: "fq.bt"; bu: "fq.bu"; bv: "fq.bv"; bw: "fq.bw"; bx: "fq.bx"; by: "fq.by"; bz: "fq.bz"; ca: "fq.ca"; cb: "fq.cb"; cc: "fq.cc"; cd: "fq.cd"; ce: "fq.ce"; cf: "fq.cf"; cg: "fq.cg"; ch: "fq.ch"; ci: "fq.ci"; cj: "fq.cj"; ck: "fq.ck"; cl: "fq.cl"; cm: "fq.cm"; cn: "fq.cn"; co: "fq.co"; cp: "fq.cp"; cq: "fq.cq"; cr: "fq.cr"; cs: "fq.cs"; ct: "fq.ct"; cu: "fq.cu"; cv: "fq.cv"; cw: "fq.cw"; cx: "fq.cx"; cy: "fq.cy"; cz: "fq.cz"; da: "fq.da"; db: "fq.db"; dc: "fq.dc"; dd: "fq.dd"; de: "fq.de"; df: "fq.df"; dg: "fq.dg"; dh: "fq.dh"; di: "fq.di"; dj: "fq.dj"; dk: "fq.dk"; dl: "fq.dl"; dm: "fq.dm"; dn: "fq.dn"; do: "fq.do"; dp: "fq.dp"; dq: "fq.dq"; dr: "fq.dr"; ds: "fq.ds"; dt: "fq.dt"; du: "fq.du"; dv: "fq.dv"; dw: "fq.dw"; dx: "fq.dx"; dy: "fq.dy"; dz: "fq.dz"; ea: "fq.ea"; eb: "fq.eb"; ec: "fq.ec"; ed: "fq.ed"; ee: "fq.ee"; ef: "fq.ef"; eg: "fq.eg"; eh: "fq.eh"; ei: "fq.ei"; ej: "fq.ej"; ek: "fq.ek"; el: "fq.el"; em: "fq.em"; en: "fq.en"; eo: "fq.eo"; ep: "fq.ep"; eq: "fq.eq"; er: "fq.er"; es: "fq.es"; et: "fq.et"; eu: "fq.eu"; ev: "fq.ev"; ew: "fq.ew"; ex: "fq.ex"; ey: "fq.ey"; ez: "fq.ez"; fa: "fq.fa"; fb: "fq.fb"; fc: "fq.fc"; fd: "fq.fd"; fe: "fq.fe"; ff: "fq.ff"; fg: "fq.fg"; fh: "fq.fh"; fi: "fq.fi"; fj: "fq.fj"; fk: "fq.fk"; fl: "fq.fl"; fm: "fq.fm"; fn: "fq.fn"; fo: "fq.fo"; fp: "fq.fp"; fq: "fq.fq"; fr: "fq.fr"; fs: "fq.fs"; ft: "fq.ft"; fu: "fq.fu"; fv: "fq.fv"; fw: "fq.fw"; fx: "fq.fx"; fy: "fq.fy"; fz: "fq.fz"; ga: "fq.ga"; gb: "fq.gb"; gc: "fq.gc"; gd: "fq.gd"; ge: "fq.ge"; gf: "fq.gf"; gg: "fq.gg"; gh: "fq.gh"; gi: "fq.gi"; gj: "fq.gj"; gk: "fq.gk"; gl: "fq.gl"; gm: "fq.gm"; gn: "fq.gn"; go: "fq.go"; gp: "fq.gp"; gq: "fq.gq"; gr: "fq.gr"; gs: "fq.gs"; gt: "fq.gt"; gu: "fq.gu"; gv: "fq.gv"; gw: "fq.gw"; gx: "fq.gx"; gy: "fq.gy"; gz: "fq.gz"; ha: "fq.ha"; hb: "fq.hb"; hc: "fq.hc"; hd: "fq.hd"; he: "fq.he"; hf: "fq.hf"; hg: "fq.hg"; hh: "fq.hh"; hi: "fq.hi"; hj: "fq.hj"; hk: "fq.hk"; hl: "fq.hl"; hm: "fq.hm"; hn: "fq.hn"; ho: "fq.ho"; hp: "fq.hp"; hq: "fq.hq"; hr: "fq.hr"; hs: "fq.hs"; ht: "fq.ht"; hu: "fq.hu"; hv: "fq.hv"; hw: "fq.hw"; hx: "fq.hx"; hy: "fq.hy"; hz: "fq.hz"; ia: "fq.ia"; ib: "fq.ib"; ic: "fq.ic"; id: "fq.id"; ie: "fq.ie"; if: "fq.if"; ig: "fq.ig"; ih: "fq.ih"; ii: "fq.ii"; ij: "fq.ij"; ik: "fq.ik"; il: "fq.il"; im: "fq.im"; in: "fq.in"; io: "fq.io"; ip: "fq.ip"; iq: "fq.iq"; ir: "fq.ir"; is: "fq.is"; it: "fq.it"; iu: "fq.iu"; iv: "fq.iv"; iw: "fq.iw"; ix: "fq.ix"; iy: "fq.iy"; iz: "fq.iz"; ja: "fq.ja"; jb: "fq.jb"; jc: "fq.jc"; jd: "fq.jd"; je: "fq.je"; jf: "fq.jf"; jg: "fq.jg"; jh: "fq.jh"; ji: "fq.ji"; jj: "fq.jj"; jk: "fq.jk"; jl: "fq.jl"; jm: "fq.jm"; jn: "fq.jn"; jo: "fq.jo"; jp: "fq.jp"; jq: "fq.jq"; jr: "fq.jr"; js: "fq.js"; jt: "fq.jt"; ju: "fq.ju"; jv: "fq.jv"; jw: "fq.jw"; jx: "fq.jx"; jy: "fq.jy"; jz: "fq.jz"; ka: "fq.ka"; kb: "fq.kb"; kc: "fq.kc"; kd: "fq.kd"; ke: "fq.ke"; kf: "fq.kf"; kg: "fq.kg"; kh: "fq.kh"; ki: "fq.ki"; kj: "fq.kj"; kk: "fq.kk"; kl: "fq.kl"; km: "fq.km"; kn: "fq.kn"; ko: "fq.ko"; kp: "fq.kp"; kq: "fq.kq"; kr: "fq.kr"; ks: "fq.ks"; kt: "fq.kt"; ku: "fq.ku"; kv: "fq.kv"; kw: "fq.kw"; kx: "fq.kx"; ky: "fq.ky"; kz: "fq.kz"; la: "fq.la"; lb: "fq.lb"; lc: "fq.lc"; ld: "fq.ld"; le: "fq.le"; lf: "fq.lf"; lg: "fq.lg"; lh: "fq.lh"; li: "fq.li"; lj: "fq.lj"; lk: "fq.lk"; ll: "fq.ll"; lm: "fq.lm"; ln: "fq.ln"; lo: "fq.lo"; lp: "fq.lp"; lq: "fq.lq"; lr: "fq.lr"; ls: "fq.ls"; lt: "fq.lt"; lu: "fq.lu"; lv: "fq.lv"; lw: "fq.lw"; lx: "fq.lx"; ly: "fq.ly"; lz: "fq.lz"; ma: "fq.ma"; mb: "fq.mb"; mc: "fq.mc"; md: "fq.md"; me: "fq.me"; mf: "fq.mf"; mg: "fq.mg"; mh: "fq.mh"; mi: "fq.mi"; mj: "fq.mj"; mk: "fq.mk"; ml: "fq.ml"; mm: "fq.mm"; mn: "fq.mn"; mo: "fq.mo"; mp: "fq.mp"; mq: "fq.mq"; mr: "fq.mr"; ms: "fq.ms"; mt: "fq.mt"; mu: "fq.mu"; mv: "fq.mv"; mw: "fq.mw"; mx: "fq.mx"; my: "fq.my"; mz: "fq.mz"; na: "fq.na"; nb: "fq.nb"; nc: "fq.nc"; nd: "fq.nd"; ne: "fq.ne"; nf: "fq.nf"; ng: "fq.ng"; nh: "fq.nh"; ni: "fq.ni"; nj: "fq.nj"; nk: "fq.nk"; nl: "fq.nl"; nm: "fq.nm"; nn: "fq.nn"; no: "fq.no"; np: "fq.np"; nq: "fq.nq"; nr: "fq.nr"; ns: "fq.ns"; nt: "fq.nt"; nu: "fq.nu"; nv: "fq.nv"; nw: "fq.nw"; nx: "fq.nx"; ny: "fq.ny"; nz: "fq.nz"; oa: "fq.oa"; ob: "fq.ob"; oc: "fq.oc"; od: "fq.od"; oe: "fq.oe"; of: "fq.of"; og: "fq.og"; oh: "fq.oh"; oi: "fq.oi"; oj: "fq.oj"; ok: "fq.ok"; ol: "fq.ol"; om: "fq.om"; on: "fq.on"; oo: "fq.oo"; op: "fq.op"; oq: "fq.oq"; or: "fq.or"; os: "fq.os"; ot: "fq.ot"; ou: "fq.ou"; ov: "fq.ov"; ow: "fq.ow"; ox: "fq.ox"; oy: "fq.oy"; oz: "fq.oz"; pa: "fq.pa"; pb: "fq.pb"; pc: "fq.pc"; pd: "fq.pd"; pe: "fq.pe"; pf: "fq.pf"; pg: "fq.pg"; ph: "fq.ph"; pi: "fq.pi"; pj: "fq.pj"; pk: "fq.pk"; pl: "fq.pl"; pm: "fq.pm"; pn: "fq.pn"; po: "fq.po"; pp: "fq.pp"; pq: "fq.pq"; pr: "fq.pr"; ps: "fq.ps"; pt: "fq.pt"; pu: "fq.pu"; pv: "fq.pv"; pw: "fq.pw"; px: "fq.px"; py: "fq.py"; pz: "fq.pz"; qa: "fq.qa"; qb: "fq.qb"; qc: "fq.qc"; qd: "fq.qd"; qe: "fq.qe"; qf: "fq.qf"; qg: "fq.qg"; qh: "fq.qh"; qi: "fq.qi"; qj: "fq.qj"; qk: "fq.qk"; ql: "fq.ql"; qm: "fq.qm"; qn: "fq.qn"; qo: "fq.qo"; qp: "fq.qp"; qq: "fq.qq"; qr: "fq.qr"; qs: "fq.qs"; qt: "fq.qt"; qu: "fq.qu"; qv: "fq.qv"; qw: "fq.qw"; qx: "fq.qx"; qy: "fq.qy"; qz: "fq.qz"; ra: "fq.ra"; rb: "fq.rb"; rc: "fq.rc"; rd: "fq.rd"; re: "fq.re"; rf: "fq.rf"; rg: "fq.rg"; rh: "fq.rh"; ri: "fq.ri"; rj: "fq.rj"; rk: "fq.rk"; rl: "fq.rl"; rm: "fq.rm"; rn: "fq.rn"; ro: "fq.ro"; rp: "fq.rp"; rq: "fq.rq"; rr: "fq.rr"; rs: "fq.rs"; rt: "fq.rt"; ru: "fq.ru"; rv: "fq.rv"; rw: "fq.rw"; rx: "fq.rx"; ry: "fq.ry"; rz: "fq.rz"; sa: "fq.sa"; sb: "fq.sb"; sc: "fq.sc"; sd: "fq.sd"; se: "fq.se"; sf: "fq.sf"; sg: "fq.sg"; sh: "fq.sh"; si: "fq.si"; sj: "fq.sj"; sk: "fq.sk"; sl: "fq.sl"; sm: "fq.sm"; sn: "fq.sn"; so: "fq.so"; sp: "fq.sp"; sq: "fq.sq"; sr: "fq.sr"; ss: "fq.ss"; st: "fq.st"; su: "fq.su"; sv: "fq.sv"; sw: "fq.sw"; sx: "fq.sx"; sy: "fq.sy"; sz: "fq.sz"; ta: "fq.ta"; tb: "fq.tb"; tc: "fq.tc"; td: "fq.td"; te: "fq.te"; tf: "fq.tf"; tg: "fq.tg"; th: "fq.th"; ti: "fq.ti"; tj: "fq.tj"; tk: "fq.tk"; tl: "fq.tl"; tm: "fq.tm"; tn: "fq.tn"; to: "fq.to"; tp: "fq.tp"; tq: "fq.tq"; tr: "fq.tr"; ts: "fq.ts"; tt: "fq.tt"; tu: "fq.tu"; tv: "fq.tv"; tw: "fq.tw"; tx: "fq.tx"; ty: "fq.ty"; tz: "fq.tz"; ua: "fq.ua"; ub: "fq.ub"; uc: "fq.uc"; ud: "fq.ud"; ue: "fq.ue"; uf: "fq.uf"; ug: "fq.ug"; uh: "fq.uh"; ui: "fq.ui"; uj: "fq.uj"; uk: "fq.uk"; ul: "fq.ul"; um: "fq.um"; un: "fq.un"; uo: "fq.uo"; up: "fq.up"; uq: "fq.uq"; ur: "fq.ur"; us: "fq.us"; ut: "fq.ut"; uu: "fq.uu"; uv: "fq.uv"; uw: "fq.uw"; ux: "fq.ux"; uy: "fq.uy"; uz: "fq.uz"; va: "fq.va"; vb: "fq.vb"; vc: "fq.vc"; vd: "fq.vd"; ve: "fq.ve"; vf: "fq.vf"; vg: "fq.vg"; vh: "fq.vh"; vi: "fq.vi"; vj: "fq.vj"; vk: "fq.vk"; vl: "fq.vl"; vm: "fq.vm"; vn: "fq.vn"; vo: "fq.vo"; vp: "fq.vp"; vq: "fq.vq"; vr: "fq.vr"; vs: "fq.vs"; vt: "fq.vt"; vu: "fq.vu"; vv: "fq.vv"; vw: "fq.vw"; vx: "fq.vx"; vy: "fq.vy"; vz: "fq.vz"; wa: "fq.wa"; wb: "fq.wb"; wc: "fq.wc"; wd: "fq.wd"; we: "fq.we"; wf: "fq.wf"; wg: "fq.wg"; wh: "fq.wh"; wi: "fq.wi"; wj: "fq.wj"; wk: "fq.wk"; wl: "fq.wl"; wm: "fq.wm"; wn: "fq.wn"; wo: "fq.wo"; wp: "fq.wp"; wq: "fq.wq"; wr: "fq.wr"; ws: "fq.ws"; wt: "fq.wt"; wu: "fq.wu"; wv: "fq.wv"; ww: "fq.ww"; wx: "fq.wx"; wy: "fq.wy"; wz: "fq.wz"; xa: "fq.xa"; xb: "fq.xb"; xc: "fq.xc"; xd: "fq.xd"; xe: "fq.xe"; xf: "fq.xf"; xg: "fq.xg"; xh: "fq.xh"; xi: "fq.xi"; xj: "fq.xj"; xk: "fq.xk"; xl: "fq.xl"; xm: "fq.xm"; xn: "fq.xn"; xo: "fq.xo"; xp: "fq.xp"; xq: "fq.xq"; xr: "fq.xr"; xs: "fq.xs"; xt: "fq.xt"; xu: "fq.xu"; xv: "fq.xv"; xw: "fq.xw"; xx: "fq.xx"; xy: "fq.xy"; xz: "fq.xz"; ya: "fq.ya"; yb: "fq.yb"; yc: "fq.yc"; yd: "fq.yd"; ye: "fq.ye"; yf: "fq.yf"; yg: "fq.yg"; yh: "fq.yh"; yi: "fq.yi"; yj: "fq.yj"; yk: "fq.yk"; yl: "fq.yl"; ym: "fq.ym"; yn: "fq.yn"; yo: "fq.yo"; yp: "fq.yp"; yq: "fq.yq"; yr: "fq.yr"; ys: "fq.ys"; yt: "fq.yt"; yu: "fq.yu"; yv: "fq.yv"; yw: "fq.yw"; yx: "fq.yx"; yy: "fq.yy"; yz: "fq.yz"; za: "fq.za"; zb: "fq.zb"; zc: "fq.zc"; zd: "fq.zd"; ze: "fq.ze"; zf: "fq.zf"; zg: "fq.zg"; zh: "fq.zh"; zi: "fq.zi"; zj: "fq.zj"; zk: "fq.zk"; zl: "fq.zl"; zm: "fq.zm"; zn: "fq.zn"; zo: "fq.zo"; zp: "fq.zp"; zq: "fq.zq"; zr: "fq.zr"; zs: "fq.zs"; zt: "fq.zt"; zu: "fq.zu"; zv: "fq.zv"; zw: "fq.zw"; zx: "fq.zx"; zy: "fq.zy"; zz: "fq.zz"; }; fr: { aa: "fr.aa"; ab: "fr.ab"; ac: "fr.ac"; ad: "fr.ad"; ae: "fr.ae"; af: "fr.af"; ag: "fr.ag"; ah: "fr.ah"; ai: "fr.ai"; aj: "fr.aj"; ak: "fr.ak"; al: "fr.al"; am: "fr.am"; an: "fr.an"; ao: "fr.ao"; ap: "fr.ap"; aq: "fr.aq"; ar: "fr.ar"; as: "fr.as"; at: "fr.at"; au: "fr.au"; av: "fr.av"; aw: "fr.aw"; ax: "fr.ax"; ay: "fr.ay"; az: "fr.az"; ba: "fr.ba"; bb: "fr.bb"; bc: "fr.bc"; bd: "fr.bd"; be: "fr.be"; bf: "fr.bf"; bg: "fr.bg"; bh: "fr.bh"; bi: "fr.bi"; bj: "fr.bj"; bk: "fr.bk"; bl: "fr.bl"; bm: "fr.bm"; bn: "fr.bn"; bo: "fr.bo"; bp: "fr.bp"; bq: "fr.bq"; br: "fr.br"; bs: "fr.bs"; bt: "fr.bt"; bu: "fr.bu"; bv: "fr.bv"; bw: "fr.bw"; bx: "fr.bx"; by: "fr.by"; bz: "fr.bz"; ca: "fr.ca"; cb: "fr.cb"; cc: "fr.cc"; cd: "fr.cd"; ce: "fr.ce"; cf: "fr.cf"; cg: "fr.cg"; ch: "fr.ch"; ci: "fr.ci"; cj: "fr.cj"; ck: "fr.ck"; cl: "fr.cl"; cm: "fr.cm"; cn: "fr.cn"; co: "fr.co"; cp: "fr.cp"; cq: "fr.cq"; cr: "fr.cr"; cs: "fr.cs"; ct: "fr.ct"; cu: "fr.cu"; cv: "fr.cv"; cw: "fr.cw"; cx: "fr.cx"; cy: "fr.cy"; cz: "fr.cz"; da: "fr.da"; db: "fr.db"; dc: "fr.dc"; dd: "fr.dd"; de: "fr.de"; df: "fr.df"; dg: "fr.dg"; dh: "fr.dh"; di: "fr.di"; dj: "fr.dj"; dk: "fr.dk"; dl: "fr.dl"; dm: "fr.dm"; dn: "fr.dn"; do: "fr.do"; dp: "fr.dp"; dq: "fr.dq"; dr: "fr.dr"; ds: "fr.ds"; dt: "fr.dt"; du: "fr.du"; dv: "fr.dv"; dw: "fr.dw"; dx: "fr.dx"; dy: "fr.dy"; dz: "fr.dz"; ea: "fr.ea"; eb: "fr.eb"; ec: "fr.ec"; ed: "fr.ed"; ee: "fr.ee"; ef: "fr.ef"; eg: "fr.eg"; eh: "fr.eh"; ei: "fr.ei"; ej: "fr.ej"; ek: "fr.ek"; el: "fr.el"; em: "fr.em"; en: "fr.en"; eo: "fr.eo"; ep: "fr.ep"; eq: "fr.eq"; er: "fr.er"; es: "fr.es"; et: "fr.et"; eu: "fr.eu"; ev: "fr.ev"; ew: "fr.ew"; ex: "fr.ex"; ey: "fr.ey"; ez: "fr.ez"; fa: "fr.fa"; fb: "fr.fb"; fc: "fr.fc"; fd: "fr.fd"; fe: "fr.fe"; ff: "fr.ff"; fg: "fr.fg"; fh: "fr.fh"; fi: "fr.fi"; fj: "fr.fj"; fk: "fr.fk"; fl: "fr.fl"; fm: "fr.fm"; fn: "fr.fn"; fo: "fr.fo"; fp: "fr.fp"; fq: "fr.fq"; fr: "fr.fr"; fs: "fr.fs"; ft: "fr.ft"; fu: "fr.fu"; fv: "fr.fv"; fw: "fr.fw"; fx: "fr.fx"; fy: "fr.fy"; fz: "fr.fz"; ga: "fr.ga"; gb: "fr.gb"; gc: "fr.gc"; gd: "fr.gd"; ge: "fr.ge"; gf: "fr.gf"; gg: "fr.gg"; gh: "fr.gh"; gi: "fr.gi"; gj: "fr.gj"; gk: "fr.gk"; gl: "fr.gl"; gm: "fr.gm"; gn: "fr.gn"; go: "fr.go"; gp: "fr.gp"; gq: "fr.gq"; gr: "fr.gr"; gs: "fr.gs"; gt: "fr.gt"; gu: "fr.gu"; gv: "fr.gv"; gw: "fr.gw"; gx: "fr.gx"; gy: "fr.gy"; gz: "fr.gz"; ha: "fr.ha"; hb: "fr.hb"; hc: "fr.hc"; hd: "fr.hd"; he: "fr.he"; hf: "fr.hf"; hg: "fr.hg"; hh: "fr.hh"; hi: "fr.hi"; hj: "fr.hj"; hk: "fr.hk"; hl: "fr.hl"; hm: "fr.hm"; hn: "fr.hn"; ho: "fr.ho"; hp: "fr.hp"; hq: "fr.hq"; hr: "fr.hr"; hs: "fr.hs"; ht: "fr.ht"; hu: "fr.hu"; hv: "fr.hv"; hw: "fr.hw"; hx: "fr.hx"; hy: "fr.hy"; hz: "fr.hz"; ia: "fr.ia"; ib: "fr.ib"; ic: "fr.ic"; id: "fr.id"; ie: "fr.ie"; if: "fr.if"; ig: "fr.ig"; ih: "fr.ih"; ii: "fr.ii"; ij: "fr.ij"; ik: "fr.ik"; il: "fr.il"; im: "fr.im"; in: "fr.in"; io: "fr.io"; ip: "fr.ip"; iq: "fr.iq"; ir: "fr.ir"; is: "fr.is"; it: "fr.it"; iu: "fr.iu"; iv: "fr.iv"; iw: "fr.iw"; ix: "fr.ix"; iy: "fr.iy"; iz: "fr.iz"; ja: "fr.ja"; jb: "fr.jb"; jc: "fr.jc"; jd: "fr.jd"; je: "fr.je"; jf: "fr.jf"; jg: "fr.jg"; jh: "fr.jh"; ji: "fr.ji"; jj: "fr.jj"; jk: "fr.jk"; jl: "fr.jl"; jm: "fr.jm"; jn: "fr.jn"; jo: "fr.jo"; jp: "fr.jp"; jq: "fr.jq"; jr: "fr.jr"; js: "fr.js"; jt: "fr.jt"; ju: "fr.ju"; jv: "fr.jv"; jw: "fr.jw"; jx: "fr.jx"; jy: "fr.jy"; jz: "fr.jz"; ka: "fr.ka"; kb: "fr.kb"; kc: "fr.kc"; kd: "fr.kd"; ke: "fr.ke"; kf: "fr.kf"; kg: "fr.kg"; kh: "fr.kh"; ki: "fr.ki"; kj: "fr.kj"; kk: "fr.kk"; kl: "fr.kl"; km: "fr.km"; kn: "fr.kn"; ko: "fr.ko"; kp: "fr.kp"; kq: "fr.kq"; kr: "fr.kr"; ks: "fr.ks"; kt: "fr.kt"; ku: "fr.ku"; kv: "fr.kv"; kw: "fr.kw"; kx: "fr.kx"; ky: "fr.ky"; kz: "fr.kz"; la: "fr.la"; lb: "fr.lb"; lc: "fr.lc"; ld: "fr.ld"; le: "fr.le"; lf: "fr.lf"; lg: "fr.lg"; lh: "fr.lh"; li: "fr.li"; lj: "fr.lj"; lk: "fr.lk"; ll: "fr.ll"; lm: "fr.lm"; ln: "fr.ln"; lo: "fr.lo"; lp: "fr.lp"; lq: "fr.lq"; lr: "fr.lr"; ls: "fr.ls"; lt: "fr.lt"; lu: "fr.lu"; lv: "fr.lv"; lw: "fr.lw"; lx: "fr.lx"; ly: "fr.ly"; lz: "fr.lz"; ma: "fr.ma"; mb: "fr.mb"; mc: "fr.mc"; md: "fr.md"; me: "fr.me"; mf: "fr.mf"; mg: "fr.mg"; mh: "fr.mh"; mi: "fr.mi"; mj: "fr.mj"; mk: "fr.mk"; ml: "fr.ml"; mm: "fr.mm"; mn: "fr.mn"; mo: "fr.mo"; mp: "fr.mp"; mq: "fr.mq"; mr: "fr.mr"; ms: "fr.ms"; mt: "fr.mt"; mu: "fr.mu"; mv: "fr.mv"; mw: "fr.mw"; mx: "fr.mx"; my: "fr.my"; mz: "fr.mz"; na: "fr.na"; nb: "fr.nb"; nc: "fr.nc"; nd: "fr.nd"; ne: "fr.ne"; nf: "fr.nf"; ng: "fr.ng"; nh: "fr.nh"; ni: "fr.ni"; nj: "fr.nj"; nk: "fr.nk"; nl: "fr.nl"; nm: "fr.nm"; nn: "fr.nn"; no: "fr.no"; np: "fr.np"; nq: "fr.nq"; nr: "fr.nr"; ns: "fr.ns"; nt: "fr.nt"; nu: "fr.nu"; nv: "fr.nv"; nw: "fr.nw"; nx: "fr.nx"; ny: "fr.ny"; nz: "fr.nz"; oa: "fr.oa"; ob: "fr.ob"; oc: "fr.oc"; od: "fr.od"; oe: "fr.oe"; of: "fr.of"; og: "fr.og"; oh: "fr.oh"; oi: "fr.oi"; oj: "fr.oj"; ok: "fr.ok"; ol: "fr.ol"; om: "fr.om"; on: "fr.on"; oo: "fr.oo"; op: "fr.op"; oq: "fr.oq"; or: "fr.or"; os: "fr.os"; ot: "fr.ot"; ou: "fr.ou"; ov: "fr.ov"; ow: "fr.ow"; ox: "fr.ox"; oy: "fr.oy"; oz: "fr.oz"; pa: "fr.pa"; pb: "fr.pb"; pc: "fr.pc"; pd: "fr.pd"; pe: "fr.pe"; pf: "fr.pf"; pg: "fr.pg"; ph: "fr.ph"; pi: "fr.pi"; pj: "fr.pj"; pk: "fr.pk"; pl: "fr.pl"; pm: "fr.pm"; pn: "fr.pn"; po: "fr.po"; pp: "fr.pp"; pq: "fr.pq"; pr: "fr.pr"; ps: "fr.ps"; pt: "fr.pt"; pu: "fr.pu"; pv: "fr.pv"; pw: "fr.pw"; px: "fr.px"; py: "fr.py"; pz: "fr.pz"; qa: "fr.qa"; qb: "fr.qb"; qc: "fr.qc"; qd: "fr.qd"; qe: "fr.qe"; qf: "fr.qf"; qg: "fr.qg"; qh: "fr.qh"; qi: "fr.qi"; qj: "fr.qj"; qk: "fr.qk"; ql: "fr.ql"; qm: "fr.qm"; qn: "fr.qn"; qo: "fr.qo"; qp: "fr.qp"; qq: "fr.qq"; qr: "fr.qr"; qs: "fr.qs"; qt: "fr.qt"; qu: "fr.qu"; qv: "fr.qv"; qw: "fr.qw"; qx: "fr.qx"; qy: "fr.qy"; qz: "fr.qz"; ra: "fr.ra"; rb: "fr.rb"; rc: "fr.rc"; rd: "fr.rd"; re: "fr.re"; rf: "fr.rf"; rg: "fr.rg"; rh: "fr.rh"; ri: "fr.ri"; rj: "fr.rj"; rk: "fr.rk"; rl: "fr.rl"; rm: "fr.rm"; rn: "fr.rn"; ro: "fr.ro"; rp: "fr.rp"; rq: "fr.rq"; rr: "fr.rr"; rs: "fr.rs"; rt: "fr.rt"; ru: "fr.ru"; rv: "fr.rv"; rw: "fr.rw"; rx: "fr.rx"; ry: "fr.ry"; rz: "fr.rz"; sa: "fr.sa"; sb: "fr.sb"; sc: "fr.sc"; sd: "fr.sd"; se: "fr.se"; sf: "fr.sf"; sg: "fr.sg"; sh: "fr.sh"; si: "fr.si"; sj: "fr.sj"; sk: "fr.sk"; sl: "fr.sl"; sm: "fr.sm"; sn: "fr.sn"; so: "fr.so"; sp: "fr.sp"; sq: "fr.sq"; sr: "fr.sr"; ss: "fr.ss"; st: "fr.st"; su: "fr.su"; sv: "fr.sv"; sw: "fr.sw"; sx: "fr.sx"; sy: "fr.sy"; sz: "fr.sz"; ta: "fr.ta"; tb: "fr.tb"; tc: "fr.tc"; td: "fr.td"; te: "fr.te"; tf: "fr.tf"; tg: "fr.tg"; th: "fr.th"; ti: "fr.ti"; tj: "fr.tj"; tk: "fr.tk"; tl: "fr.tl"; tm: "fr.tm"; tn: "fr.tn"; to: "fr.to"; tp: "fr.tp"; tq: "fr.tq"; tr: "fr.tr"; ts: "fr.ts"; tt: "fr.tt"; tu: "fr.tu"; tv: "fr.tv"; tw: "fr.tw"; tx: "fr.tx"; ty: "fr.ty"; tz: "fr.tz"; ua: "fr.ua"; ub: "fr.ub"; uc: "fr.uc"; ud: "fr.ud"; ue: "fr.ue"; uf: "fr.uf"; ug: "fr.ug"; uh: "fr.uh"; ui: "fr.ui"; uj: "fr.uj"; uk: "fr.uk"; ul: "fr.ul"; um: "fr.um"; un: "fr.un"; uo: "fr.uo"; up: "fr.up"; uq: "fr.uq"; ur: "fr.ur"; us: "fr.us"; ut: "fr.ut"; uu: "fr.uu"; uv: "fr.uv"; uw: "fr.uw"; ux: "fr.ux"; uy: "fr.uy"; uz: "fr.uz"; va: "fr.va"; vb: "fr.vb"; vc: "fr.vc"; vd: "fr.vd"; ve: "fr.ve"; vf: "fr.vf"; vg: "fr.vg"; vh: "fr.vh"; vi: "fr.vi"; ... 120 more ...; zz: "fr.zz"; }; ... 527 more ...; zz: { ...; }; } +>[null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}][0] : { aa: { aa: "aa.aa"; ab: "aa.ab"; ac: "aa.ac"; ad: "aa.ad"; ae: "aa.ae"; af: "aa.af"; ag: "aa.ag"; ah: "aa.ah"; ai: "aa.ai"; aj: "aa.aj"; ak: "aa.ak"; al: "aa.al"; am: "aa.am"; an: "aa.an"; ao: "aa.ao"; ap: "aa.ap"; aq: "aa.aq"; ar: "aa.ar"; as: "aa.as"; at: "aa.at"; au: "aa.au"; av: "aa.av"; aw: "aa.aw"; ax: "aa.ax"; ay: "aa.ay"; az: "aa.az"; ba: "aa.ba"; bb: "aa.bb"; bc: "aa.bc"; bd: "aa.bd"; be: "aa.be"; bf: "aa.bf"; bg: "aa.bg"; bh: "aa.bh"; bi: "aa.bi"; bj: "aa.bj"; bk: "aa.bk"; bl: "aa.bl"; bm: "aa.bm"; bn: "aa.bn"; bo: "aa.bo"; bp: "aa.bp"; bq: "aa.bq"; br: "aa.br"; bs: "aa.bs"; bt: "aa.bt"; bu: "aa.bu"; bv: "aa.bv"; bw: "aa.bw"; bx: "aa.bx"; by: "aa.by"; bz: "aa.bz"; ca: "aa.ca"; cb: "aa.cb"; cc: "aa.cc"; cd: "aa.cd"; ce: "aa.ce"; cf: "aa.cf"; cg: "aa.cg"; ch: "aa.ch"; ci: "aa.ci"; cj: "aa.cj"; ck: "aa.ck"; cl: "aa.cl"; cm: "aa.cm"; cn: "aa.cn"; co: "aa.co"; cp: "aa.cp"; cq: "aa.cq"; cr: "aa.cr"; cs: "aa.cs"; ct: "aa.ct"; cu: "aa.cu"; cv: "aa.cv"; cw: "aa.cw"; cx: "aa.cx"; cy: "aa.cy"; cz: "aa.cz"; da: "aa.da"; db: "aa.db"; dc: "aa.dc"; dd: "aa.dd"; de: "aa.de"; df: "aa.df"; dg: "aa.dg"; dh: "aa.dh"; di: "aa.di"; dj: "aa.dj"; dk: "aa.dk"; dl: "aa.dl"; dm: "aa.dm"; dn: "aa.dn"; do: "aa.do"; dp: "aa.dp"; dq: "aa.dq"; dr: "aa.dr"; ds: "aa.ds"; dt: "aa.dt"; du: "aa.du"; dv: "aa.dv"; dw: "aa.dw"; dx: "aa.dx"; dy: "aa.dy"; dz: "aa.dz"; ea: "aa.ea"; eb: "aa.eb"; ec: "aa.ec"; ed: "aa.ed"; ee: "aa.ee"; ef: "aa.ef"; eg: "aa.eg"; eh: "aa.eh"; ei: "aa.ei"; ej: "aa.ej"; ek: "aa.ek"; el: "aa.el"; em: "aa.em"; en: "aa.en"; eo: "aa.eo"; ep: "aa.ep"; eq: "aa.eq"; er: "aa.er"; es: "aa.es"; et: "aa.et"; eu: "aa.eu"; ev: "aa.ev"; ew: "aa.ew"; ex: "aa.ex"; ey: "aa.ey"; ez: "aa.ez"; fa: "aa.fa"; fb: "aa.fb"; fc: "aa.fc"; fd: "aa.fd"; fe: "aa.fe"; ff: "aa.ff"; fg: "aa.fg"; fh: "aa.fh"; fi: "aa.fi"; fj: "aa.fj"; fk: "aa.fk"; fl: "aa.fl"; fm: "aa.fm"; fn: "aa.fn"; fo: "aa.fo"; fp: "aa.fp"; fq: "aa.fq"; fr: "aa.fr"; fs: "aa.fs"; ft: "aa.ft"; fu: "aa.fu"; fv: "aa.fv"; fw: "aa.fw"; fx: "aa.fx"; fy: "aa.fy"; fz: "aa.fz"; ga: "aa.ga"; gb: "aa.gb"; gc: "aa.gc"; gd: "aa.gd"; ge: "aa.ge"; gf: "aa.gf"; gg: "aa.gg"; gh: "aa.gh"; gi: "aa.gi"; gj: "aa.gj"; gk: "aa.gk"; gl: "aa.gl"; gm: "aa.gm"; gn: "aa.gn"; go: "aa.go"; gp: "aa.gp"; gq: "aa.gq"; gr: "aa.gr"; gs: "aa.gs"; gt: "aa.gt"; gu: "aa.gu"; gv: "aa.gv"; gw: "aa.gw"; gx: "aa.gx"; gy: "aa.gy"; gz: "aa.gz"; ha: "aa.ha"; hb: "aa.hb"; hc: "aa.hc"; hd: "aa.hd"; he: "aa.he"; hf: "aa.hf"; hg: "aa.hg"; hh: "aa.hh"; hi: "aa.hi"; hj: "aa.hj"; hk: "aa.hk"; hl: "aa.hl"; hm: "aa.hm"; hn: "aa.hn"; ho: "aa.ho"; hp: "aa.hp"; hq: "aa.hq"; hr: "aa.hr"; hs: "aa.hs"; ht: "aa.ht"; hu: "aa.hu"; hv: "aa.hv"; hw: "aa.hw"; hx: "aa.hx"; hy: "aa.hy"; hz: "aa.hz"; ia: "aa.ia"; ib: "aa.ib"; ic: "aa.ic"; id: "aa.id"; ie: "aa.ie"; if: "aa.if"; ig: "aa.ig"; ih: "aa.ih"; ii: "aa.ii"; ij: "aa.ij"; ik: "aa.ik"; il: "aa.il"; im: "aa.im"; in: "aa.in"; io: "aa.io"; ip: "aa.ip"; iq: "aa.iq"; ir: "aa.ir"; is: "aa.is"; it: "aa.it"; iu: "aa.iu"; iv: "aa.iv"; iw: "aa.iw"; ix: "aa.ix"; iy: "aa.iy"; iz: "aa.iz"; ja: "aa.ja"; jb: "aa.jb"; jc: "aa.jc"; jd: "aa.jd"; je: "aa.je"; jf: "aa.jf"; jg: "aa.jg"; jh: "aa.jh"; ji: "aa.ji"; jj: "aa.jj"; jk: "aa.jk"; jl: "aa.jl"; jm: "aa.jm"; jn: "aa.jn"; jo: "aa.jo"; jp: "aa.jp"; jq: "aa.jq"; jr: "aa.jr"; js: "aa.js"; jt: "aa.jt"; ju: "aa.ju"; jv: "aa.jv"; jw: "aa.jw"; jx: "aa.jx"; jy: "aa.jy"; jz: "aa.jz"; ka: "aa.ka"; kb: "aa.kb"; kc: "aa.kc"; kd: "aa.kd"; ke: "aa.ke"; kf: "aa.kf"; kg: "aa.kg"; kh: "aa.kh"; ki: "aa.ki"; kj: "aa.kj"; kk: "aa.kk"; kl: "aa.kl"; km: "aa.km"; kn: "aa.kn"; ko: "aa.ko"; kp: "aa.kp"; kq: "aa.kq"; kr: "aa.kr"; ks: "aa.ks"; kt: "aa.kt"; ku: "aa.ku"; kv: "aa.kv"; kw: "aa.kw"; kx: "aa.kx"; ky: "aa.ky"; kz: "aa.kz"; la: "aa.la"; lb: "aa.lb"; lc: "aa.lc"; ld: "aa.ld"; le: "aa.le"; lf: "aa.lf"; lg: "aa.lg"; lh: "aa.lh"; li: "aa.li"; lj: "aa.lj"; lk: "aa.lk"; ll: "aa.ll"; lm: "aa.lm"; ln: "aa.ln"; lo: "aa.lo"; lp: "aa.lp"; lq: "aa.lq"; lr: "aa.lr"; ls: "aa.ls"; lt: "aa.lt"; lu: "aa.lu"; lv: "aa.lv"; lw: "aa.lw"; lx: "aa.lx"; ly: "aa.ly"; lz: "aa.lz"; ma: "aa.ma"; mb: "aa.mb"; mc: "aa.mc"; md: "aa.md"; me: "aa.me"; mf: "aa.mf"; mg: "aa.mg"; mh: "aa.mh"; mi: "aa.mi"; mj: "aa.mj"; mk: "aa.mk"; ml: "aa.ml"; mm: "aa.mm"; mn: "aa.mn"; mo: "aa.mo"; mp: "aa.mp"; mq: "aa.mq"; mr: "aa.mr"; ms: "aa.ms"; mt: "aa.mt"; mu: "aa.mu"; mv: "aa.mv"; mw: "aa.mw"; mx: "aa.mx"; my: "aa.my"; mz: "aa.mz"; na: "aa.na"; nb: "aa.nb"; nc: "aa.nc"; nd: "aa.nd"; ne: "aa.ne"; nf: "aa.nf"; ng: "aa.ng"; nh: "aa.nh"; ni: "aa.ni"; nj: "aa.nj"; nk: "aa.nk"; nl: "aa.nl"; nm: "aa.nm"; nn: "aa.nn"; no: "aa.no"; np: "aa.np"; nq: "aa.nq"; nr: "aa.nr"; ns: "aa.ns"; nt: "aa.nt"; nu: "aa.nu"; nv: "aa.nv"; nw: "aa.nw"; nx: "aa.nx"; ny: "aa.ny"; nz: "aa.nz"; oa: "aa.oa"; ob: "aa.ob"; oc: "aa.oc"; od: "aa.od"; oe: "aa.oe"; of: "aa.of"; og: "aa.og"; oh: "aa.oh"; oi: "aa.oi"; oj: "aa.oj"; ok: "aa.ok"; ol: "aa.ol"; om: "aa.om"; on: "aa.on"; oo: "aa.oo"; op: "aa.op"; oq: "aa.oq"; or: "aa.or"; os: "aa.os"; ot: "aa.ot"; ou: "aa.ou"; ov: "aa.ov"; ow: "aa.ow"; ox: "aa.ox"; oy: "aa.oy"; oz: "aa.oz"; pa: "aa.pa"; pb: "aa.pb"; pc: "aa.pc"; pd: "aa.pd"; pe: "aa.pe"; pf: "aa.pf"; pg: "aa.pg"; ph: "aa.ph"; pi: "aa.pi"; pj: "aa.pj"; pk: "aa.pk"; pl: "aa.pl"; pm: "aa.pm"; pn: "aa.pn"; po: "aa.po"; pp: "aa.pp"; pq: "aa.pq"; pr: "aa.pr"; ps: "aa.ps"; pt: "aa.pt"; pu: "aa.pu"; pv: "aa.pv"; pw: "aa.pw"; px: "aa.px"; py: "aa.py"; pz: "aa.pz"; qa: "aa.qa"; qb: "aa.qb"; qc: "aa.qc"; qd: "aa.qd"; qe: "aa.qe"; qf: "aa.qf"; qg: "aa.qg"; qh: "aa.qh"; qi: "aa.qi"; qj: "aa.qj"; qk: "aa.qk"; ql: "aa.ql"; qm: "aa.qm"; qn: "aa.qn"; qo: "aa.qo"; qp: "aa.qp"; qq: "aa.qq"; qr: "aa.qr"; qs: "aa.qs"; qt: "aa.qt"; qu: "aa.qu"; qv: "aa.qv"; qw: "aa.qw"; qx: "aa.qx"; qy: "aa.qy"; qz: "aa.qz"; ra: "aa.ra"; rb: "aa.rb"; rc: "aa.rc"; rd: "aa.rd"; re: "aa.re"; rf: "aa.rf"; rg: "aa.rg"; rh: "aa.rh"; ri: "aa.ri"; rj: "aa.rj"; rk: "aa.rk"; rl: "aa.rl"; rm: "aa.rm"; rn: "aa.rn"; ro: "aa.ro"; rp: "aa.rp"; rq: "aa.rq"; rr: "aa.rr"; rs: "aa.rs"; rt: "aa.rt"; ru: "aa.ru"; rv: "aa.rv"; rw: "aa.rw"; rx: "aa.rx"; ry: "aa.ry"; rz: "aa.rz"; sa: "aa.sa"; sb: "aa.sb"; sc: "aa.sc"; sd: "aa.sd"; se: "aa.se"; sf: "aa.sf"; sg: "aa.sg"; sh: "aa.sh"; si: "aa.si"; sj: "aa.sj"; sk: "aa.sk"; sl: "aa.sl"; sm: "aa.sm"; sn: "aa.sn"; so: "aa.so"; sp: "aa.sp"; sq: "aa.sq"; sr: "aa.sr"; ss: "aa.ss"; st: "aa.st"; su: "aa.su"; sv: "aa.sv"; sw: "aa.sw"; sx: "aa.sx"; sy: "aa.sy"; sz: "aa.sz"; ta: "aa.ta"; tb: "aa.tb"; tc: "aa.tc"; td: "aa.td"; te: "aa.te"; tf: "aa.tf"; tg: "aa.tg"; th: "aa.th"; ti: "aa.ti"; tj: "aa.tj"; tk: "aa.tk"; tl: "aa.tl"; tm: "aa.tm"; tn: "aa.tn"; to: "aa.to"; tp: "aa.tp"; tq: "aa.tq"; tr: "aa.tr"; ts: "aa.ts"; tt: "aa.tt"; tu: "aa.tu"; tv: "aa.tv"; tw: "aa.tw"; tx: "aa.tx"; ty: "aa.ty"; tz: "aa.tz"; ua: "aa.ua"; ub: "aa.ub"; uc: "aa.uc"; ud: "aa.ud"; ue: "aa.ue"; uf: "aa.uf"; ug: "aa.ug"; uh: "aa.uh"; ui: "aa.ui"; uj: "aa.uj"; uk: "aa.uk"; ul: "aa.ul"; um: "aa.um"; un: "aa.un"; uo: "aa.uo"; up: "aa.up"; uq: "aa.uq"; ur: "aa.ur"; us: "aa.us"; ut: "aa.ut"; uu: "aa.uu"; uv: "aa.uv"; uw: "aa.uw"; ux: "aa.ux"; uy: "aa.uy"; uz: "aa.uz"; va: "aa.va"; vb: "aa.vb"; vc: "aa.vc"; vd: "aa.vd"; ve: "aa.ve"; vf: "aa.vf"; vg: "aa.vg"; vh: "aa.vh"; vi: "aa.vi"; vj: "aa.vj"; vk: "aa.vk"; vl: "aa.vl"; vm: "aa.vm"; vn: "aa.vn"; vo: "aa.vo"; vp: "aa.vp"; vq: "aa.vq"; vr: "aa.vr"; vs: "aa.vs"; vt: "aa.vt"; vu: "aa.vu"; vv: "aa.vv"; vw: "aa.vw"; vx: "aa.vx"; vy: "aa.vy"; vz: "aa.vz"; wa: "aa.wa"; wb: "aa.wb"; wc: "aa.wc"; wd: "aa.wd"; we: "aa.we"; wf: "aa.wf"; wg: "aa.wg"; wh: "aa.wh"; wi: "aa.wi"; wj: "aa.wj"; wk: "aa.wk"; wl: "aa.wl"; wm: "aa.wm"; wn: "aa.wn"; wo: "aa.wo"; wp: "aa.wp"; wq: "aa.wq"; wr: "aa.wr"; ws: "aa.ws"; wt: "aa.wt"; wu: "aa.wu"; wv: "aa.wv"; ww: "aa.ww"; wx: "aa.wx"; wy: "aa.wy"; wz: "aa.wz"; xa: "aa.xa"; xb: "aa.xb"; xc: "aa.xc"; xd: "aa.xd"; xe: "aa.xe"; xf: "aa.xf"; xg: "aa.xg"; xh: "aa.xh"; xi: "aa.xi"; xj: "aa.xj"; xk: "aa.xk"; xl: "aa.xl"; xm: "aa.xm"; xn: "aa.xn"; xo: "aa.xo"; xp: "aa.xp"; xq: "aa.xq"; xr: "aa.xr"; xs: "aa.xs"; xt: "aa.xt"; xu: "aa.xu"; xv: "aa.xv"; xw: "aa.xw"; xx: "aa.xx"; xy: "aa.xy"; xz: "aa.xz"; ya: "aa.ya"; yb: "aa.yb"; yc: "aa.yc"; yd: "aa.yd"; ye: "aa.ye"; yf: "aa.yf"; yg: "aa.yg"; yh: "aa.yh"; yi: "aa.yi"; yj: "aa.yj"; yk: "aa.yk"; yl: "aa.yl"; ym: "aa.ym"; yn: "aa.yn"; yo: "aa.yo"; yp: "aa.yp"; yq: "aa.yq"; yr: "aa.yr"; ys: "aa.ys"; yt: "aa.yt"; yu: "aa.yu"; yv: "aa.yv"; yw: "aa.yw"; yx: "aa.yx"; yy: "aa.yy"; yz: "aa.yz"; za: "aa.za"; zb: "aa.zb"; zc: "aa.zc"; zd: "aa.zd"; ze: "aa.ze"; zf: "aa.zf"; zg: "aa.zg"; zh: "aa.zh"; zi: "aa.zi"; zj: "aa.zj"; zk: "aa.zk"; zl: "aa.zl"; zm: "aa.zm"; zn: "aa.zn"; zo: "aa.zo"; zp: "aa.zp"; zq: "aa.zq"; zr: "aa.zr"; zs: "aa.zs"; zt: "aa.zt"; zu: "aa.zu"; zv: "aa.zv"; zw: "aa.zw"; zx: "aa.zx"; zy: "aa.zy"; zz: "aa.zz"; }; ab: { aa: "ab.aa"; ab: "ab.ab"; ac: "ab.ac"; ad: "ab.ad"; ae: "ab.ae"; af: "ab.af"; ag: "ab.ag"; ah: "ab.ah"; ai: "ab.ai"; aj: "ab.aj"; ak: "ab.ak"; al: "ab.al"; am: "ab.am"; an: "ab.an"; ao: "ab.ao"; ap: "ab.ap"; aq: "ab.aq"; ar: "ab.ar"; as: "ab.as"; at: "ab.at"; au: "ab.au"; av: "ab.av"; aw: "ab.aw"; ax: "ab.ax"; ay: "ab.ay"; az: "ab.az"; ba: "ab.ba"; bb: "ab.bb"; bc: "ab.bc"; bd: "ab.bd"; be: "ab.be"; bf: "ab.bf"; bg: "ab.bg"; bh: "ab.bh"; bi: "ab.bi"; bj: "ab.bj"; bk: "ab.bk"; bl: "ab.bl"; bm: "ab.bm"; bn: "ab.bn"; bo: "ab.bo"; bp: "ab.bp"; bq: "ab.bq"; br: "ab.br"; bs: "ab.bs"; bt: "ab.bt"; bu: "ab.bu"; bv: "ab.bv"; bw: "ab.bw"; bx: "ab.bx"; by: "ab.by"; bz: "ab.bz"; ca: "ab.ca"; cb: "ab.cb"; cc: "ab.cc"; cd: "ab.cd"; ce: "ab.ce"; cf: "ab.cf"; cg: "ab.cg"; ch: "ab.ch"; ci: "ab.ci"; cj: "ab.cj"; ck: "ab.ck"; cl: "ab.cl"; cm: "ab.cm"; cn: "ab.cn"; co: "ab.co"; cp: "ab.cp"; cq: "ab.cq"; cr: "ab.cr"; cs: "ab.cs"; ct: "ab.ct"; cu: "ab.cu"; cv: "ab.cv"; cw: "ab.cw"; cx: "ab.cx"; cy: "ab.cy"; cz: "ab.cz"; da: "ab.da"; db: "ab.db"; dc: "ab.dc"; dd: "ab.dd"; de: "ab.de"; df: "ab.df"; dg: "ab.dg"; dh: "ab.dh"; di: "ab.di"; dj: "ab.dj"; dk: "ab.dk"; dl: "ab.dl"; dm: "ab.dm"; dn: "ab.dn"; do: "ab.do"; dp: "ab.dp"; dq: "ab.dq"; dr: "ab.dr"; ds: "ab.ds"; dt: "ab.dt"; du: "ab.du"; dv: "ab.dv"; dw: "ab.dw"; dx: "ab.dx"; dy: "ab.dy"; dz: "ab.dz"; ea: "ab.ea"; eb: "ab.eb"; ec: "ab.ec"; ed: "ab.ed"; ee: "ab.ee"; ef: "ab.ef"; eg: "ab.eg"; eh: "ab.eh"; ei: "ab.ei"; ej: "ab.ej"; ek: "ab.ek"; el: "ab.el"; em: "ab.em"; en: "ab.en"; eo: "ab.eo"; ep: "ab.ep"; eq: "ab.eq"; er: "ab.er"; es: "ab.es"; et: "ab.et"; eu: "ab.eu"; ev: "ab.ev"; ew: "ab.ew"; ex: "ab.ex"; ey: "ab.ey"; ez: "ab.ez"; fa: "ab.fa"; fb: "ab.fb"; fc: "ab.fc"; fd: "ab.fd"; fe: "ab.fe"; ff: "ab.ff"; fg: "ab.fg"; fh: "ab.fh"; fi: "ab.fi"; fj: "ab.fj"; fk: "ab.fk"; fl: "ab.fl"; fm: "ab.fm"; fn: "ab.fn"; fo: "ab.fo"; fp: "ab.fp"; fq: "ab.fq"; fr: "ab.fr"; fs: "ab.fs"; ft: "ab.ft"; fu: "ab.fu"; fv: "ab.fv"; fw: "ab.fw"; fx: "ab.fx"; fy: "ab.fy"; fz: "ab.fz"; ga: "ab.ga"; gb: "ab.gb"; gc: "ab.gc"; gd: "ab.gd"; ge: "ab.ge"; gf: "ab.gf"; gg: "ab.gg"; gh: "ab.gh"; gi: "ab.gi"; gj: "ab.gj"; gk: "ab.gk"; gl: "ab.gl"; gm: "ab.gm"; gn: "ab.gn"; go: "ab.go"; gp: "ab.gp"; gq: "ab.gq"; gr: "ab.gr"; gs: "ab.gs"; gt: "ab.gt"; gu: "ab.gu"; gv: "ab.gv"; gw: "ab.gw"; gx: "ab.gx"; gy: "ab.gy"; gz: "ab.gz"; ha: "ab.ha"; hb: "ab.hb"; hc: "ab.hc"; hd: "ab.hd"; he: "ab.he"; hf: "ab.hf"; hg: "ab.hg"; hh: "ab.hh"; hi: "ab.hi"; hj: "ab.hj"; hk: "ab.hk"; hl: "ab.hl"; hm: "ab.hm"; hn: "ab.hn"; ho: "ab.ho"; hp: "ab.hp"; hq: "ab.hq"; hr: "ab.hr"; hs: "ab.hs"; ht: "ab.ht"; hu: "ab.hu"; hv: "ab.hv"; hw: "ab.hw"; hx: "ab.hx"; hy: "ab.hy"; hz: "ab.hz"; ia: "ab.ia"; ib: "ab.ib"; ic: "ab.ic"; id: "ab.id"; ie: "ab.ie"; if: "ab.if"; ig: "ab.ig"; ih: "ab.ih"; ii: "ab.ii"; ij: "ab.ij"; ik: "ab.ik"; il: "ab.il"; im: "ab.im"; in: "ab.in"; io: "ab.io"; ip: "ab.ip"; iq: "ab.iq"; ir: "ab.ir"; is: "ab.is"; it: "ab.it"; iu: "ab.iu"; iv: "ab.iv"; iw: "ab.iw"; ix: "ab.ix"; iy: "ab.iy"; iz: "ab.iz"; ja: "ab.ja"; jb: "ab.jb"; jc: "ab.jc"; jd: "ab.jd"; je: "ab.je"; jf: "ab.jf"; jg: "ab.jg"; jh: "ab.jh"; ji: "ab.ji"; jj: "ab.jj"; jk: "ab.jk"; jl: "ab.jl"; jm: "ab.jm"; jn: "ab.jn"; jo: "ab.jo"; jp: "ab.jp"; jq: "ab.jq"; jr: "ab.jr"; js: "ab.js"; jt: "ab.jt"; ju: "ab.ju"; jv: "ab.jv"; jw: "ab.jw"; jx: "ab.jx"; jy: "ab.jy"; jz: "ab.jz"; ka: "ab.ka"; kb: "ab.kb"; kc: "ab.kc"; kd: "ab.kd"; ke: "ab.ke"; kf: "ab.kf"; kg: "ab.kg"; kh: "ab.kh"; ki: "ab.ki"; kj: "ab.kj"; kk: "ab.kk"; kl: "ab.kl"; km: "ab.km"; kn: "ab.kn"; ko: "ab.ko"; kp: "ab.kp"; kq: "ab.kq"; kr: "ab.kr"; ks: "ab.ks"; kt: "ab.kt"; ku: "ab.ku"; kv: "ab.kv"; kw: "ab.kw"; kx: "ab.kx"; ky: "ab.ky"; kz: "ab.kz"; la: "ab.la"; lb: "ab.lb"; lc: "ab.lc"; ld: "ab.ld"; le: "ab.le"; lf: "ab.lf"; lg: "ab.lg"; lh: "ab.lh"; li: "ab.li"; lj: "ab.lj"; lk: "ab.lk"; ll: "ab.ll"; lm: "ab.lm"; ln: "ab.ln"; lo: "ab.lo"; lp: "ab.lp"; lq: "ab.lq"; lr: "ab.lr"; ls: "ab.ls"; lt: "ab.lt"; lu: "ab.lu"; lv: "ab.lv"; lw: "ab.lw"; lx: "ab.lx"; ly: "ab.ly"; lz: "ab.lz"; ma: "ab.ma"; mb: "ab.mb"; mc: "ab.mc"; md: "ab.md"; me: "ab.me"; mf: "ab.mf"; mg: "ab.mg"; mh: "ab.mh"; mi: "ab.mi"; mj: "ab.mj"; mk: "ab.mk"; ml: "ab.ml"; mm: "ab.mm"; mn: "ab.mn"; mo: "ab.mo"; mp: "ab.mp"; mq: "ab.mq"; mr: "ab.mr"; ms: "ab.ms"; mt: "ab.mt"; mu: "ab.mu"; mv: "ab.mv"; mw: "ab.mw"; mx: "ab.mx"; my: "ab.my"; mz: "ab.mz"; na: "ab.na"; nb: "ab.nb"; nc: "ab.nc"; nd: "ab.nd"; ne: "ab.ne"; nf: "ab.nf"; ng: "ab.ng"; nh: "ab.nh"; ni: "ab.ni"; nj: "ab.nj"; nk: "ab.nk"; nl: "ab.nl"; nm: "ab.nm"; nn: "ab.nn"; no: "ab.no"; np: "ab.np"; nq: "ab.nq"; nr: "ab.nr"; ns: "ab.ns"; nt: "ab.nt"; nu: "ab.nu"; nv: "ab.nv"; nw: "ab.nw"; nx: "ab.nx"; ny: "ab.ny"; nz: "ab.nz"; oa: "ab.oa"; ob: "ab.ob"; oc: "ab.oc"; od: "ab.od"; oe: "ab.oe"; of: "ab.of"; og: "ab.og"; oh: "ab.oh"; oi: "ab.oi"; oj: "ab.oj"; ok: "ab.ok"; ol: "ab.ol"; om: "ab.om"; on: "ab.on"; oo: "ab.oo"; op: "ab.op"; oq: "ab.oq"; or: "ab.or"; os: "ab.os"; ot: "ab.ot"; ou: "ab.ou"; ov: "ab.ov"; ow: "ab.ow"; ox: "ab.ox"; oy: "ab.oy"; oz: "ab.oz"; pa: "ab.pa"; pb: "ab.pb"; pc: "ab.pc"; pd: "ab.pd"; pe: "ab.pe"; pf: "ab.pf"; pg: "ab.pg"; ph: "ab.ph"; pi: "ab.pi"; pj: "ab.pj"; pk: "ab.pk"; pl: "ab.pl"; pm: "ab.pm"; pn: "ab.pn"; po: "ab.po"; pp: "ab.pp"; pq: "ab.pq"; pr: "ab.pr"; ps: "ab.ps"; pt: "ab.pt"; pu: "ab.pu"; pv: "ab.pv"; pw: "ab.pw"; px: "ab.px"; py: "ab.py"; pz: "ab.pz"; qa: "ab.qa"; qb: "ab.qb"; qc: "ab.qc"; qd: "ab.qd"; qe: "ab.qe"; qf: "ab.qf"; qg: "ab.qg"; qh: "ab.qh"; qi: "ab.qi"; qj: "ab.qj"; qk: "ab.qk"; ql: "ab.ql"; qm: "ab.qm"; qn: "ab.qn"; qo: "ab.qo"; qp: "ab.qp"; qq: "ab.qq"; qr: "ab.qr"; qs: "ab.qs"; qt: "ab.qt"; qu: "ab.qu"; qv: "ab.qv"; qw: "ab.qw"; qx: "ab.qx"; qy: "ab.qy"; qz: "ab.qz"; ra: "ab.ra"; rb: "ab.rb"; rc: "ab.rc"; rd: "ab.rd"; re: "ab.re"; rf: "ab.rf"; rg: "ab.rg"; rh: "ab.rh"; ri: "ab.ri"; rj: "ab.rj"; rk: "ab.rk"; rl: "ab.rl"; rm: "ab.rm"; rn: "ab.rn"; ro: "ab.ro"; rp: "ab.rp"; rq: "ab.rq"; rr: "ab.rr"; rs: "ab.rs"; rt: "ab.rt"; ru: "ab.ru"; rv: "ab.rv"; rw: "ab.rw"; rx: "ab.rx"; ry: "ab.ry"; rz: "ab.rz"; sa: "ab.sa"; sb: "ab.sb"; sc: "ab.sc"; sd: "ab.sd"; se: "ab.se"; sf: "ab.sf"; sg: "ab.sg"; sh: "ab.sh"; si: "ab.si"; sj: "ab.sj"; sk: "ab.sk"; sl: "ab.sl"; sm: "ab.sm"; sn: "ab.sn"; so: "ab.so"; sp: "ab.sp"; sq: "ab.sq"; sr: "ab.sr"; ss: "ab.ss"; st: "ab.st"; su: "ab.su"; sv: "ab.sv"; sw: "ab.sw"; sx: "ab.sx"; sy: "ab.sy"; sz: "ab.sz"; ta: "ab.ta"; tb: "ab.tb"; tc: "ab.tc"; td: "ab.td"; te: "ab.te"; tf: "ab.tf"; tg: "ab.tg"; th: "ab.th"; ti: "ab.ti"; tj: "ab.tj"; tk: "ab.tk"; tl: "ab.tl"; tm: "ab.tm"; tn: "ab.tn"; to: "ab.to"; tp: "ab.tp"; tq: "ab.tq"; tr: "ab.tr"; ts: "ab.ts"; tt: "ab.tt"; tu: "ab.tu"; tv: "ab.tv"; tw: "ab.tw"; tx: "ab.tx"; ty: "ab.ty"; tz: "ab.tz"; ua: "ab.ua"; ub: "ab.ub"; uc: "ab.uc"; ud: "ab.ud"; ue: "ab.ue"; uf: "ab.uf"; ug: "ab.ug"; uh: "ab.uh"; ui: "ab.ui"; uj: "ab.uj"; uk: "ab.uk"; ul: "ab.ul"; um: "ab.um"; un: "ab.un"; uo: "ab.uo"; up: "ab.up"; uq: "ab.uq"; ur: "ab.ur"; us: "ab.us"; ut: "ab.ut"; uu: "ab.uu"; uv: "ab.uv"; uw: "ab.uw"; ux: "ab.ux"; uy: "ab.uy"; uz: "ab.uz"; va: "ab.va"; vb: "ab.vb"; vc: "ab.vc"; vd: "ab.vd"; ve: "ab.ve"; vf: "ab.vf"; vg: "ab.vg"; vh: "ab.vh"; vi: "ab.vi"; vj: "ab.vj"; vk: "ab.vk"; vl: "ab.vl"; vm: "ab.vm"; vn: "ab.vn"; vo: "ab.vo"; vp: "ab.vp"; vq: "ab.vq"; vr: "ab.vr"; vs: "ab.vs"; vt: "ab.vt"; vu: "ab.vu"; vv: "ab.vv"; vw: "ab.vw"; vx: "ab.vx"; vy: "ab.vy"; vz: "ab.vz"; wa: "ab.wa"; wb: "ab.wb"; wc: "ab.wc"; wd: "ab.wd"; we: "ab.we"; wf: "ab.wf"; wg: "ab.wg"; wh: "ab.wh"; wi: "ab.wi"; wj: "ab.wj"; wk: "ab.wk"; wl: "ab.wl"; wm: "ab.wm"; wn: "ab.wn"; wo: "ab.wo"; wp: "ab.wp"; wq: "ab.wq"; wr: "ab.wr"; ws: "ab.ws"; wt: "ab.wt"; wu: "ab.wu"; wv: "ab.wv"; ww: "ab.ww"; wx: "ab.wx"; wy: "ab.wy"; wz: "ab.wz"; xa: "ab.xa"; xb: "ab.xb"; xc: "ab.xc"; xd: "ab.xd"; xe: "ab.xe"; xf: "ab.xf"; xg: "ab.xg"; xh: "ab.xh"; xi: "ab.xi"; xj: "ab.xj"; xk: "ab.xk"; xl: "ab.xl"; xm: "ab.xm"; xn: "ab.xn"; xo: "ab.xo"; xp: "ab.xp"; xq: "ab.xq"; xr: "ab.xr"; xs: "ab.xs"; xt: "ab.xt"; xu: "ab.xu"; xv: "ab.xv"; xw: "ab.xw"; xx: "ab.xx"; xy: "ab.xy"; xz: "ab.xz"; ya: "ab.ya"; yb: "ab.yb"; yc: "ab.yc"; yd: "ab.yd"; ye: "ab.ye"; yf: "ab.yf"; yg: "ab.yg"; yh: "ab.yh"; yi: "ab.yi"; yj: "ab.yj"; yk: "ab.yk"; yl: "ab.yl"; ym: "ab.ym"; yn: "ab.yn"; yo: "ab.yo"; yp: "ab.yp"; yq: "ab.yq"; yr: "ab.yr"; ys: "ab.ys"; yt: "ab.yt"; yu: "ab.yu"; yv: "ab.yv"; yw: "ab.yw"; yx: "ab.yx"; yy: "ab.yy"; yz: "ab.yz"; za: "ab.za"; zb: "ab.zb"; zc: "ab.zc"; zd: "ab.zd"; ze: "ab.ze"; zf: "ab.zf"; zg: "ab.zg"; zh: "ab.zh"; zi: "ab.zi"; zj: "ab.zj"; zk: "ab.zk"; zl: "ab.zl"; zm: "ab.zm"; zn: "ab.zn"; zo: "ab.zo"; zp: "ab.zp"; zq: "ab.zq"; zr: "ab.zr"; zs: "ab.zs"; zt: "ab.zt"; zu: "ab.zu"; zv: "ab.zv"; zw: "ab.zw"; zx: "ab.zx"; zy: "ab.zy"; zz: "ab.zz"; }; ac: { aa: "ac.aa"; ab: "ac.ab"; ac: "ac.ac"; ad: "ac.ad"; ae: "ac.ae"; af: "ac.af"; ag: "ac.ag"; ah: "ac.ah"; ai: "ac.ai"; aj: "ac.aj"; ak: "ac.ak"; al: "ac.al"; am: "ac.am"; an: "ac.an"; ao: "ac.ao"; ap: "ac.ap"; aq: "ac.aq"; ar: "ac.ar"; as: "ac.as"; at: "ac.at"; au: "ac.au"; av: "ac.av"; aw: "ac.aw"; ax: "ac.ax"; ay: "ac.ay"; az: "ac.az"; ba: "ac.ba"; bb: "ac.bb"; bc: "ac.bc"; bd: "ac.bd"; be: "ac.be"; bf: "ac.bf"; bg: "ac.bg"; bh: "ac.bh"; bi: "ac.bi"; bj: "ac.bj"; bk: "ac.bk"; bl: "ac.bl"; bm: "ac.bm"; bn: "ac.bn"; bo: "ac.bo"; bp: "ac.bp"; bq: "ac.bq"; br: "ac.br"; bs: "ac.bs"; bt: "ac.bt"; bu: "ac.bu"; bv: "ac.bv"; bw: "ac.bw"; bx: "ac.bx"; by: "ac.by"; bz: "ac.bz"; ca: "ac.ca"; cb: "ac.cb"; cc: "ac.cc"; cd: "ac.cd"; ce: "ac.ce"; cf: "ac.cf"; cg: "ac.cg"; ch: "ac.ch"; ci: "ac.ci"; cj: "ac.cj"; ck: "ac.ck"; cl: "ac.cl"; cm: "ac.cm"; cn: "ac.cn"; co: "ac.co"; cp: "ac.cp"; cq: "ac.cq"; cr: "ac.cr"; cs: "ac.cs"; ct: "ac.ct"; cu: "ac.cu"; cv: "ac.cv"; cw: "ac.cw"; cx: "ac.cx"; cy: "ac.cy"; cz: "ac.cz"; da: "ac.da"; db: "ac.db"; dc: "ac.dc"; dd: "ac.dd"; de: "ac.de"; df: "ac.df"; dg: "ac.dg"; dh: "ac.dh"; di: "ac.di"; dj: "ac.dj"; dk: "ac.dk"; dl: "ac.dl"; dm: "ac.dm"; dn: "ac.dn"; do: "ac.do"; dp: "ac.dp"; dq: "ac.dq"; dr: "ac.dr"; ds: "ac.ds"; dt: "ac.dt"; du: "ac.du"; dv: "ac.dv"; dw: "ac.dw"; dx: "ac.dx"; dy: "ac.dy"; dz: "ac.dz"; ea: "ac.ea"; eb: "ac.eb"; ec: "ac.ec"; ed: "ac.ed"; ee: "ac.ee"; ef: "ac.ef"; eg: "ac.eg"; eh: "ac.eh"; ei: "ac.ei"; ej: "ac.ej"; ek: "ac.ek"; el: "ac.el"; em: "ac.em"; en: "ac.en"; eo: "ac.eo"; ep: "ac.ep"; eq: "ac.eq"; er: "ac.er"; es: "ac.es"; et: "ac.et"; eu: "ac.eu"; ev: "ac.ev"; ew: "ac.ew"; ex: "ac.ex"; ey: "ac.ey"; ez: "ac.ez"; fa: "ac.fa"; fb: "ac.fb"; fc: "ac.fc"; fd: "ac.fd"; fe: "ac.fe"; ff: "ac.ff"; fg: "ac.fg"; fh: "ac.fh"; fi: "ac.fi"; fj: "ac.fj"; fk: "ac.fk"; fl: "ac.fl"; fm: "ac.fm"; fn: "ac.fn"; fo: "ac.fo"; fp: "ac.fp"; fq: "ac.fq"; fr: "ac.fr"; fs: "ac.fs"; ft: "ac.ft"; fu: "ac.fu"; fv: "ac.fv"; fw: "ac.fw"; fx: "ac.fx"; fy: "ac.fy"; fz: "ac.fz"; ga: "ac.ga"; gb: "ac.gb"; gc: "ac.gc"; gd: "ac.gd"; ge: "ac.ge"; gf: "ac.gf"; gg: "ac.gg"; gh: "ac.gh"; gi: "ac.gi"; gj: "ac.gj"; gk: "ac.gk"; gl: "ac.gl"; gm: "ac.gm"; gn: "ac.gn"; go: "ac.go"; gp: "ac.gp"; gq: "ac.gq"; gr: "ac.gr"; gs: "ac.gs"; gt: "ac.gt"; gu: "ac.gu"; gv: "ac.gv"; gw: "ac.gw"; gx: "ac.gx"; gy: "ac.gy"; gz: "ac.gz"; ha: "ac.ha"; hb: "ac.hb"; hc: "ac.hc"; hd: "ac.hd"; he: "ac.he"; hf: "ac.hf"; hg: "ac.hg"; hh: "ac.hh"; hi: "ac.hi"; hj: "ac.hj"; hk: "ac.hk"; hl: "ac.hl"; hm: "ac.hm"; hn: "ac.hn"; ho: "ac.ho"; hp: "ac.hp"; hq: "ac.hq"; hr: "ac.hr"; hs: "ac.hs"; ht: "ac.ht"; hu: "ac.hu"; hv: "ac.hv"; hw: "ac.hw"; hx: "ac.hx"; hy: "ac.hy"; hz: "ac.hz"; ia: "ac.ia"; ib: "ac.ib"; ic: "ac.ic"; id: "ac.id"; ie: "ac.ie"; if: "ac.if"; ig: "ac.ig"; ih: "ac.ih"; ii: "ac.ii"; ij: "ac.ij"; ik: "ac.ik"; il: "ac.il"; im: "ac.im"; in: "ac.in"; io: "ac.io"; ip: "ac.ip"; iq: "ac.iq"; ir: "ac.ir"; is: "ac.is"; it: "ac.it"; iu: "ac.iu"; iv: "ac.iv"; iw: "ac.iw"; ix: "ac.ix"; iy: "ac.iy"; iz: "ac.iz"; ja: "ac.ja"; jb: "ac.jb"; jc: "ac.jc"; jd: "ac.jd"; je: "ac.je"; jf: "ac.jf"; jg: "ac.jg"; jh: "ac.jh"; ji: "ac.ji"; jj: "ac.jj"; jk: "ac.jk"; jl: "ac.jl"; jm: "ac.jm"; jn: "ac.jn"; jo: "ac.jo"; jp: "ac.jp"; jq: "ac.jq"; jr: "ac.jr"; js: "ac.js"; jt: "ac.jt"; ju: "ac.ju"; jv: "ac.jv"; jw: "ac.jw"; jx: "ac.jx"; jy: "ac.jy"; jz: "ac.jz"; ka: "ac.ka"; kb: "ac.kb"; kc: "ac.kc"; kd: "ac.kd"; ke: "ac.ke"; kf: "ac.kf"; kg: "ac.kg"; kh: "ac.kh"; ki: "ac.ki"; kj: "ac.kj"; kk: "ac.kk"; kl: "ac.kl"; km: "ac.km"; kn: "ac.kn"; ko: "ac.ko"; kp: "ac.kp"; kq: "ac.kq"; kr: "ac.kr"; ks: "ac.ks"; kt: "ac.kt"; ku: "ac.ku"; kv: "ac.kv"; kw: "ac.kw"; kx: "ac.kx"; ky: "ac.ky"; kz: "ac.kz"; la: "ac.la"; lb: "ac.lb"; lc: "ac.lc"; ld: "ac.ld"; le: "ac.le"; lf: "ac.lf"; lg: "ac.lg"; lh: "ac.lh"; li: "ac.li"; lj: "ac.lj"; lk: "ac.lk"; ll: "ac.ll"; lm: "ac.lm"; ln: "ac.ln"; lo: "ac.lo"; lp: "ac.lp"; lq: "ac.lq"; lr: "ac.lr"; ls: "ac.ls"; lt: "ac.lt"; lu: "ac.lu"; lv: "ac.lv"; lw: "ac.lw"; lx: "ac.lx"; ly: "ac.ly"; lz: "ac.lz"; ma: "ac.ma"; mb: "ac.mb"; mc: "ac.mc"; md: "ac.md"; me: "ac.me"; mf: "ac.mf"; mg: "ac.mg"; mh: "ac.mh"; mi: "ac.mi"; mj: "ac.mj"; mk: "ac.mk"; ml: "ac.ml"; mm: "ac.mm"; mn: "ac.mn"; mo: "ac.mo"; mp: "ac.mp"; mq: "ac.mq"; mr: "ac.mr"; ms: "ac.ms"; mt: "ac.mt"; mu: "ac.mu"; mv: "ac.mv"; mw: "ac.mw"; mx: "ac.mx"; my: "ac.my"; mz: "ac.mz"; na: "ac.na"; nb: "ac.nb"; nc: "ac.nc"; nd: "ac.nd"; ne: "ac.ne"; nf: "ac.nf"; ng: "ac.ng"; nh: "ac.nh"; ni: "ac.ni"; nj: "ac.nj"; nk: "ac.nk"; nl: "ac.nl"; nm: "ac.nm"; nn: "ac.nn"; no: "ac.no"; np: "ac.np"; nq: "ac.nq"; nr: "ac.nr"; ns: "ac.ns"; nt: "ac.nt"; nu: "ac.nu"; nv: "ac.nv"; nw: "ac.nw"; nx: "ac.nx"; ny: "ac.ny"; nz: "ac.nz"; oa: "ac.oa"; ob: "ac.ob"; oc: "ac.oc"; od: "ac.od"; oe: "ac.oe"; of: "ac.of"; og: "ac.og"; oh: "ac.oh"; oi: "ac.oi"; oj: "ac.oj"; ok: "ac.ok"; ol: "ac.ol"; om: "ac.om"; on: "ac.on"; oo: "ac.oo"; op: "ac.op"; oq: "ac.oq"; or: "ac.or"; os: "ac.os"; ot: "ac.ot"; ou: "ac.ou"; ov: "ac.ov"; ow: "ac.ow"; ox: "ac.ox"; oy: "ac.oy"; oz: "ac.oz"; pa: "ac.pa"; pb: "ac.pb"; pc: "ac.pc"; pd: "ac.pd"; pe: "ac.pe"; pf: "ac.pf"; pg: "ac.pg"; ph: "ac.ph"; pi: "ac.pi"; pj: "ac.pj"; pk: "ac.pk"; pl: "ac.pl"; pm: "ac.pm"; pn: "ac.pn"; po: "ac.po"; pp: "ac.pp"; pq: "ac.pq"; pr: "ac.pr"; ps: "ac.ps"; pt: "ac.pt"; pu: "ac.pu"; pv: "ac.pv"; pw: "ac.pw"; px: "ac.px"; py: "ac.py"; pz: "ac.pz"; qa: "ac.qa"; qb: "ac.qb"; qc: "ac.qc"; qd: "ac.qd"; qe: "ac.qe"; qf: "ac.qf"; qg: "ac.qg"; qh: "ac.qh"; qi: "ac.qi"; qj: "ac.qj"; qk: "ac.qk"; ql: "ac.ql"; qm: "ac.qm"; qn: "ac.qn"; qo: "ac.qo"; qp: "ac.qp"; qq: "ac.qq"; qr: "ac.qr"; qs: "ac.qs"; qt: "ac.qt"; qu: "ac.qu"; qv: "ac.qv"; qw: "ac.qw"; qx: "ac.qx"; qy: "ac.qy"; qz: "ac.qz"; ra: "ac.ra"; rb: "ac.rb"; rc: "ac.rc"; rd: "ac.rd"; re: "ac.re"; rf: "ac.rf"; rg: "ac.rg"; rh: "ac.rh"; ri: "ac.ri"; rj: "ac.rj"; rk: "ac.rk"; rl: "ac.rl"; rm: "ac.rm"; rn: "ac.rn"; ro: "ac.ro"; rp: "ac.rp"; rq: "ac.rq"; rr: "ac.rr"; rs: "ac.rs"; rt: "ac.rt"; ru: "ac.ru"; rv: "ac.rv"; rw: "ac.rw"; rx: "ac.rx"; ry: "ac.ry"; rz: "ac.rz"; sa: "ac.sa"; sb: "ac.sb"; sc: "ac.sc"; sd: "ac.sd"; se: "ac.se"; sf: "ac.sf"; sg: "ac.sg"; sh: "ac.sh"; si: "ac.si"; sj: "ac.sj"; sk: "ac.sk"; sl: "ac.sl"; sm: "ac.sm"; sn: "ac.sn"; so: "ac.so"; sp: "ac.sp"; sq: "ac.sq"; sr: "ac.sr"; ss: "ac.ss"; st: "ac.st"; su: "ac.su"; sv: "ac.sv"; sw: "ac.sw"; sx: "ac.sx"; sy: "ac.sy"; sz: "ac.sz"; ta: "ac.ta"; tb: "ac.tb"; tc: "ac.tc"; td: "ac.td"; te: "ac.te"; tf: "ac.tf"; tg: "ac.tg"; th: "ac.th"; ti: "ac.ti"; tj: "ac.tj"; tk: "ac.tk"; tl: "ac.tl"; tm: "ac.tm"; tn: "ac.tn"; to: "ac.to"; tp: "ac.tp"; tq: "ac.tq"; tr: "ac.tr"; ts: "ac.ts"; tt: "ac.tt"; tu: "ac.tu"; tv: "ac.tv"; tw: "ac.tw"; tx: "ac.tx"; ty: "ac.ty"; tz: "ac.tz"; ua: "ac.ua"; ub: "ac.ub"; uc: "ac.uc"; ud: "ac.ud"; ue: "ac.ue"; uf: "ac.uf"; ug: "ac.ug"; uh: "ac.uh"; ui: "ac.ui"; uj: "ac.uj"; uk: "ac.uk"; ul: "ac.ul"; um: "ac.um"; un: "ac.un"; uo: "ac.uo"; up: "ac.up"; uq: "ac.uq"; ur: "ac.ur"; us: "ac.us"; ut: "ac.ut"; uu: "ac.uu"; uv: "ac.uv"; uw: "ac.uw"; ux: "ac.ux"; uy: "ac.uy"; uz: "ac.uz"; va: "ac.va"; vb: "ac.vb"; vc: "ac.vc"; vd: "ac.vd"; ve: "ac.ve"; vf: "ac.vf"; vg: "ac.vg"; vh: "ac.vh"; vi: "ac.vi"; vj: "ac.vj"; vk: "ac.vk"; vl: "ac.vl"; vm: "ac.vm"; vn: "ac.vn"; vo: "ac.vo"; vp: "ac.vp"; vq: "ac.vq"; vr: "ac.vr"; vs: "ac.vs"; vt: "ac.vt"; vu: "ac.vu"; vv: "ac.vv"; vw: "ac.vw"; vx: "ac.vx"; vy: "ac.vy"; vz: "ac.vz"; wa: "ac.wa"; wb: "ac.wb"; wc: "ac.wc"; wd: "ac.wd"; we: "ac.we"; wf: "ac.wf"; wg: "ac.wg"; wh: "ac.wh"; wi: "ac.wi"; wj: "ac.wj"; wk: "ac.wk"; wl: "ac.wl"; wm: "ac.wm"; wn: "ac.wn"; wo: "ac.wo"; wp: "ac.wp"; wq: "ac.wq"; wr: "ac.wr"; ws: "ac.ws"; wt: "ac.wt"; wu: "ac.wu"; wv: "ac.wv"; ww: "ac.ww"; wx: "ac.wx"; wy: "ac.wy"; wz: "ac.wz"; xa: "ac.xa"; xb: "ac.xb"; xc: "ac.xc"; xd: "ac.xd"; xe: "ac.xe"; xf: "ac.xf"; xg: "ac.xg"; xh: "ac.xh"; xi: "ac.xi"; xj: "ac.xj"; xk: "ac.xk"; xl: "ac.xl"; xm: "ac.xm"; xn: "ac.xn"; xo: "ac.xo"; xp: "ac.xp"; xq: "ac.xq"; xr: "ac.xr"; xs: "ac.xs"; xt: "ac.xt"; xu: "ac.xu"; xv: "ac.xv"; xw: "ac.xw"; xx: "ac.xx"; xy: "ac.xy"; xz: "ac.xz"; ya: "ac.ya"; yb: "ac.yb"; yc: "ac.yc"; yd: "ac.yd"; ye: "ac.ye"; yf: "ac.yf"; yg: "ac.yg"; yh: "ac.yh"; yi: "ac.yi"; yj: "ac.yj"; yk: "ac.yk"; yl: "ac.yl"; ym: "ac.ym"; yn: "ac.yn"; yo: "ac.yo"; yp: "ac.yp"; yq: "ac.yq"; yr: "ac.yr"; ys: "ac.ys"; yt: "ac.yt"; yu: "ac.yu"; yv: "ac.yv"; yw: "ac.yw"; yx: "ac.yx"; yy: "ac.yy"; yz: "ac.yz"; za: "ac.za"; zb: "ac.zb"; zc: "ac.zc"; zd: "ac.zd"; ze: "ac.ze"; zf: "ac.zf"; zg: "ac.zg"; zh: "ac.zh"; zi: "ac.zi"; zj: "ac.zj"; zk: "ac.zk"; zl: "ac.zl"; zm: "ac.zm"; zn: "ac.zn"; zo: "ac.zo"; zp: "ac.zp"; zq: "ac.zq"; zr: "ac.zr"; zs: "ac.zs"; zt: "ac.zt"; zu: "ac.zu"; zv: "ac.zv"; zw: "ac.zw"; zx: "ac.zx"; zy: "ac.zy"; zz: "ac.zz"; }; ad: { aa: "ad.aa"; ab: "ad.ab"; ac: "ad.ac"; ad: "ad.ad"; ae: "ad.ae"; af: "ad.af"; ag: "ad.ag"; ah: "ad.ah"; ai: "ad.ai"; aj: "ad.aj"; ak: "ad.ak"; al: "ad.al"; am: "ad.am"; an: "ad.an"; ao: "ad.ao"; ap: "ad.ap"; aq: "ad.aq"; ar: "ad.ar"; as: "ad.as"; at: "ad.at"; au: "ad.au"; av: "ad.av"; aw: "ad.aw"; ax: "ad.ax"; ay: "ad.ay"; az: "ad.az"; ba: "ad.ba"; bb: "ad.bb"; bc: "ad.bc"; bd: "ad.bd"; be: "ad.be"; bf: "ad.bf"; bg: "ad.bg"; bh: "ad.bh"; bi: "ad.bi"; bj: "ad.bj"; bk: "ad.bk"; bl: "ad.bl"; bm: "ad.bm"; bn: "ad.bn"; bo: "ad.bo"; bp: "ad.bp"; bq: "ad.bq"; br: "ad.br"; bs: "ad.bs"; bt: "ad.bt"; bu: "ad.bu"; bv: "ad.bv"; bw: "ad.bw"; bx: "ad.bx"; by: "ad.by"; bz: "ad.bz"; ca: "ad.ca"; cb: "ad.cb"; cc: "ad.cc"; cd: "ad.cd"; ce: "ad.ce"; cf: "ad.cf"; cg: "ad.cg"; ch: "ad.ch"; ci: "ad.ci"; cj: "ad.cj"; ck: "ad.ck"; cl: "ad.cl"; cm: "ad.cm"; cn: "ad.cn"; co: "ad.co"; cp: "ad.cp"; cq: "ad.cq"; cr: "ad.cr"; cs: "ad.cs"; ct: "ad.ct"; cu: "ad.cu"; cv: "ad.cv"; cw: "ad.cw"; cx: "ad.cx"; cy: "ad.cy"; cz: "ad.cz"; da: "ad.da"; db: "ad.db"; dc: "ad.dc"; dd: "ad.dd"; de: "ad.de"; df: "ad.df"; dg: "ad.dg"; dh: "ad.dh"; di: "ad.di"; dj: "ad.dj"; dk: "ad.dk"; dl: "ad.dl"; dm: "ad.dm"; dn: "ad.dn"; do: "ad.do"; dp: "ad.dp"; dq: "ad.dq"; dr: "ad.dr"; ds: "ad.ds"; dt: "ad.dt"; du: "ad.du"; dv: "ad.dv"; dw: "ad.dw"; dx: "ad.dx"; dy: "ad.dy"; dz: "ad.dz"; ea: "ad.ea"; eb: "ad.eb"; ec: "ad.ec"; ed: "ad.ed"; ee: "ad.ee"; ef: "ad.ef"; eg: "ad.eg"; eh: "ad.eh"; ei: "ad.ei"; ej: "ad.ej"; ek: "ad.ek"; el: "ad.el"; em: "ad.em"; en: "ad.en"; eo: "ad.eo"; ep: "ad.ep"; eq: "ad.eq"; er: "ad.er"; es: "ad.es"; et: "ad.et"; eu: "ad.eu"; ev: "ad.ev"; ew: "ad.ew"; ex: "ad.ex"; ey: "ad.ey"; ez: "ad.ez"; fa: "ad.fa"; fb: "ad.fb"; fc: "ad.fc"; fd: "ad.fd"; fe: "ad.fe"; ff: "ad.ff"; fg: "ad.fg"; fh: "ad.fh"; fi: "ad.fi"; fj: "ad.fj"; fk: "ad.fk"; fl: "ad.fl"; fm: "ad.fm"; fn: "ad.fn"; fo: "ad.fo"; fp: "ad.fp"; fq: "ad.fq"; fr: "ad.fr"; fs: "ad.fs"; ft: "ad.ft"; fu: "ad.fu"; fv: "ad.fv"; fw: "ad.fw"; fx: "ad.fx"; fy: "ad.fy"; fz: "ad.fz"; ga: "ad.ga"; gb: "ad.gb"; gc: "ad.gc"; gd: "ad.gd"; ge: "ad.ge"; gf: "ad.gf"; gg: "ad.gg"; gh: "ad.gh"; gi: "ad.gi"; gj: "ad.gj"; gk: "ad.gk"; gl: "ad.gl"; gm: "ad.gm"; gn: "ad.gn"; go: "ad.go"; gp: "ad.gp"; gq: "ad.gq"; gr: "ad.gr"; gs: "ad.gs"; gt: "ad.gt"; gu: "ad.gu"; gv: "ad.gv"; gw: "ad.gw"; gx: "ad.gx"; gy: "ad.gy"; gz: "ad.gz"; ha: "ad.ha"; hb: "ad.hb"; hc: "ad.hc"; hd: "ad.hd"; he: "ad.he"; hf: "ad.hf"; hg: "ad.hg"; hh: "ad.hh"; hi: "ad.hi"; hj: "ad.hj"; hk: "ad.hk"; hl: "ad.hl"; hm: "ad.hm"; hn: "ad.hn"; ho: "ad.ho"; hp: "ad.hp"; hq: "ad.hq"; hr: "ad.hr"; hs: "ad.hs"; ht: "ad.ht"; hu: "ad.hu"; hv: "ad.hv"; hw: "ad.hw"; hx: "ad.hx"; hy: "ad.hy"; hz: "ad.hz"; ia: "ad.ia"; ib: "ad.ib"; ic: "ad.ic"; id: "ad.id"; ie: "ad.ie"; if: "ad.if"; ig: "ad.ig"; ih: "ad.ih"; ii: "ad.ii"; ij: "ad.ij"; ik: "ad.ik"; il: "ad.il"; im: "ad.im"; in: "ad.in"; io: "ad.io"; ip: "ad.ip"; iq: "ad.iq"; ir: "ad.ir"; is: "ad.is"; it: "ad.it"; iu: "ad.iu"; iv: "ad.iv"; iw: "ad.iw"; ix: "ad.ix"; iy: "ad.iy"; iz: "ad.iz"; ja: "ad.ja"; jb: "ad.jb"; jc: "ad.jc"; jd: "ad.jd"; je: "ad.je"; jf: "ad.jf"; jg: "ad.jg"; jh: "ad.jh"; ji: "ad.ji"; jj: "ad.jj"; jk: "ad.jk"; jl: "ad.jl"; jm: "ad.jm"; jn: "ad.jn"; jo: "ad.jo"; jp: "ad.jp"; jq: "ad.jq"; jr: "ad.jr"; js: "ad.js"; jt: "ad.jt"; ju: "ad.ju"; jv: "ad.jv"; jw: "ad.jw"; jx: "ad.jx"; jy: "ad.jy"; jz: "ad.jz"; ka: "ad.ka"; kb: "ad.kb"; kc: "ad.kc"; kd: "ad.kd"; ke: "ad.ke"; kf: "ad.kf"; kg: "ad.kg"; kh: "ad.kh"; ki: "ad.ki"; kj: "ad.kj"; kk: "ad.kk"; kl: "ad.kl"; km: "ad.km"; kn: "ad.kn"; ko: "ad.ko"; kp: "ad.kp"; kq: "ad.kq"; kr: "ad.kr"; ks: "ad.ks"; kt: "ad.kt"; ku: "ad.ku"; kv: "ad.kv"; kw: "ad.kw"; kx: "ad.kx"; ky: "ad.ky"; kz: "ad.kz"; la: "ad.la"; lb: "ad.lb"; lc: "ad.lc"; ld: "ad.ld"; le: "ad.le"; lf: "ad.lf"; lg: "ad.lg"; lh: "ad.lh"; li: "ad.li"; lj: "ad.lj"; lk: "ad.lk"; ll: "ad.ll"; lm: "ad.lm"; ln: "ad.ln"; lo: "ad.lo"; lp: "ad.lp"; lq: "ad.lq"; lr: "ad.lr"; ls: "ad.ls"; lt: "ad.lt"; lu: "ad.lu"; lv: "ad.lv"; lw: "ad.lw"; lx: "ad.lx"; ly: "ad.ly"; lz: "ad.lz"; ma: "ad.ma"; mb: "ad.mb"; mc: "ad.mc"; md: "ad.md"; me: "ad.me"; mf: "ad.mf"; mg: "ad.mg"; mh: "ad.mh"; mi: "ad.mi"; mj: "ad.mj"; mk: "ad.mk"; ml: "ad.ml"; mm: "ad.mm"; mn: "ad.mn"; mo: "ad.mo"; mp: "ad.mp"; mq: "ad.mq"; mr: "ad.mr"; ms: "ad.ms"; mt: "ad.mt"; mu: "ad.mu"; mv: "ad.mv"; mw: "ad.mw"; mx: "ad.mx"; my: "ad.my"; mz: "ad.mz"; na: "ad.na"; nb: "ad.nb"; nc: "ad.nc"; nd: "ad.nd"; ne: "ad.ne"; nf: "ad.nf"; ng: "ad.ng"; nh: "ad.nh"; ni: "ad.ni"; nj: "ad.nj"; nk: "ad.nk"; nl: "ad.nl"; nm: "ad.nm"; nn: "ad.nn"; no: "ad.no"; np: "ad.np"; nq: "ad.nq"; nr: "ad.nr"; ns: "ad.ns"; nt: "ad.nt"; nu: "ad.nu"; nv: "ad.nv"; nw: "ad.nw"; nx: "ad.nx"; ny: "ad.ny"; nz: "ad.nz"; oa: "ad.oa"; ob: "ad.ob"; oc: "ad.oc"; od: "ad.od"; oe: "ad.oe"; of: "ad.of"; og: "ad.og"; oh: "ad.oh"; oi: "ad.oi"; oj: "ad.oj"; ok: "ad.ok"; ol: "ad.ol"; om: "ad.om"; on: "ad.on"; oo: "ad.oo"; op: "ad.op"; oq: "ad.oq"; or: "ad.or"; os: "ad.os"; ot: "ad.ot"; ou: "ad.ou"; ov: "ad.ov"; ow: "ad.ow"; ox: "ad.ox"; oy: "ad.oy"; oz: "ad.oz"; pa: "ad.pa"; pb: "ad.pb"; pc: "ad.pc"; pd: "ad.pd"; pe: "ad.pe"; pf: "ad.pf"; pg: "ad.pg"; ph: "ad.ph"; pi: "ad.pi"; pj: "ad.pj"; pk: "ad.pk"; pl: "ad.pl"; pm: "ad.pm"; pn: "ad.pn"; po: "ad.po"; pp: "ad.pp"; pq: "ad.pq"; pr: "ad.pr"; ps: "ad.ps"; pt: "ad.pt"; pu: "ad.pu"; pv: "ad.pv"; pw: "ad.pw"; px: "ad.px"; py: "ad.py"; pz: "ad.pz"; qa: "ad.qa"; qb: "ad.qb"; qc: "ad.qc"; qd: "ad.qd"; qe: "ad.qe"; qf: "ad.qf"; qg: "ad.qg"; qh: "ad.qh"; qi: "ad.qi"; qj: "ad.qj"; qk: "ad.qk"; ql: "ad.ql"; qm: "ad.qm"; qn: "ad.qn"; qo: "ad.qo"; qp: "ad.qp"; qq: "ad.qq"; qr: "ad.qr"; qs: "ad.qs"; qt: "ad.qt"; qu: "ad.qu"; qv: "ad.qv"; qw: "ad.qw"; qx: "ad.qx"; qy: "ad.qy"; qz: "ad.qz"; ra: "ad.ra"; rb: "ad.rb"; rc: "ad.rc"; rd: "ad.rd"; re: "ad.re"; rf: "ad.rf"; rg: "ad.rg"; rh: "ad.rh"; ri: "ad.ri"; rj: "ad.rj"; rk: "ad.rk"; rl: "ad.rl"; rm: "ad.rm"; rn: "ad.rn"; ro: "ad.ro"; rp: "ad.rp"; rq: "ad.rq"; rr: "ad.rr"; rs: "ad.rs"; rt: "ad.rt"; ru: "ad.ru"; rv: "ad.rv"; rw: "ad.rw"; rx: "ad.rx"; ry: "ad.ry"; rz: "ad.rz"; sa: "ad.sa"; sb: "ad.sb"; sc: "ad.sc"; sd: "ad.sd"; se: "ad.se"; sf: "ad.sf"; sg: "ad.sg"; sh: "ad.sh"; si: "ad.si"; sj: "ad.sj"; sk: "ad.sk"; sl: "ad.sl"; sm: "ad.sm"; sn: "ad.sn"; so: "ad.so"; sp: "ad.sp"; sq: "ad.sq"; sr: "ad.sr"; ss: "ad.ss"; st: "ad.st"; su: "ad.su"; sv: "ad.sv"; sw: "ad.sw"; sx: "ad.sx"; sy: "ad.sy"; sz: "ad.sz"; ta: "ad.ta"; tb: "ad.tb"; tc: "ad.tc"; td: "ad.td"; te: "ad.te"; tf: "ad.tf"; tg: "ad.tg"; th: "ad.th"; ti: "ad.ti"; tj: "ad.tj"; tk: "ad.tk"; tl: "ad.tl"; tm: "ad.tm"; tn: "ad.tn"; to: "ad.to"; tp: "ad.tp"; tq: "ad.tq"; tr: "ad.tr"; ts: "ad.ts"; tt: "ad.tt"; tu: "ad.tu"; tv: "ad.tv"; tw: "ad.tw"; tx: "ad.tx"; ty: "ad.ty"; tz: "ad.tz"; ua: "ad.ua"; ub: "ad.ub"; uc: "ad.uc"; ud: "ad.ud"; ue: "ad.ue"; uf: "ad.uf"; ug: "ad.ug"; uh: "ad.uh"; ui: "ad.ui"; uj: "ad.uj"; uk: "ad.uk"; ul: "ad.ul"; um: "ad.um"; un: "ad.un"; uo: "ad.uo"; up: "ad.up"; uq: "ad.uq"; ur: "ad.ur"; us: "ad.us"; ut: "ad.ut"; uu: "ad.uu"; uv: "ad.uv"; uw: "ad.uw"; ux: "ad.ux"; uy: "ad.uy"; uz: "ad.uz"; va: "ad.va"; vb: "ad.vb"; vc: "ad.vc"; vd: "ad.vd"; ve: "ad.ve"; vf: "ad.vf"; vg: "ad.vg"; vh: "ad.vh"; vi: "ad.vi"; vj: "ad.vj"; vk: "ad.vk"; vl: "ad.vl"; vm: "ad.vm"; vn: "ad.vn"; vo: "ad.vo"; vp: "ad.vp"; vq: "ad.vq"; vr: "ad.vr"; vs: "ad.vs"; vt: "ad.vt"; vu: "ad.vu"; vv: "ad.vv"; vw: "ad.vw"; vx: "ad.vx"; vy: "ad.vy"; vz: "ad.vz"; wa: "ad.wa"; wb: "ad.wb"; wc: "ad.wc"; wd: "ad.wd"; we: "ad.we"; wf: "ad.wf"; wg: "ad.wg"; wh: "ad.wh"; wi: "ad.wi"; wj: "ad.wj"; wk: "ad.wk"; wl: "ad.wl"; wm: "ad.wm"; wn: "ad.wn"; wo: "ad.wo"; wp: "ad.wp"; wq: "ad.wq"; wr: "ad.wr"; ws: "ad.ws"; wt: "ad.wt"; wu: "ad.wu"; wv: "ad.wv"; ww: "ad.ww"; wx: "ad.wx"; wy: "ad.wy"; wz: "ad.wz"; xa: "ad.xa"; xb: "ad.xb"; xc: "ad.xc"; xd: "ad.xd"; xe: "ad.xe"; xf: "ad.xf"; xg: "ad.xg"; xh: "ad.xh"; xi: "ad.xi"; xj: "ad.xj"; xk: "ad.xk"; xl: "ad.xl"; xm: "ad.xm"; xn: "ad.xn"; xo: "ad.xo"; xp: "ad.xp"; xq: "ad.xq"; xr: "ad.xr"; xs: "ad.xs"; xt: "ad.xt"; xu: "ad.xu"; xv: "ad.xv"; xw: "ad.xw"; xx: "ad.xx"; xy: "ad.xy"; xz: "ad.xz"; ya: "ad.ya"; yb: "ad.yb"; yc: "ad.yc"; yd: "ad.yd"; ye: "ad.ye"; yf: "ad.yf"; yg: "ad.yg"; yh: "ad.yh"; yi: "ad.yi"; yj: "ad.yj"; yk: "ad.yk"; yl: "ad.yl"; ym: "ad.ym"; yn: "ad.yn"; yo: "ad.yo"; yp: "ad.yp"; yq: "ad.yq"; yr: "ad.yr"; ys: "ad.ys"; yt: "ad.yt"; yu: "ad.yu"; yv: "ad.yv"; yw: "ad.yw"; yx: "ad.yx"; yy: "ad.yy"; yz: "ad.yz"; za: "ad.za"; zb: "ad.zb"; zc: "ad.zc"; zd: "ad.zd"; ze: "ad.ze"; zf: "ad.zf"; zg: "ad.zg"; zh: "ad.zh"; zi: "ad.zi"; zj: "ad.zj"; zk: "ad.zk"; zl: "ad.zl"; zm: "ad.zm"; zn: "ad.zn"; zo: "ad.zo"; zp: "ad.zp"; zq: "ad.zq"; zr: "ad.zr"; zs: "ad.zs"; zt: "ad.zt"; zu: "ad.zu"; zv: "ad.zv"; zw: "ad.zw"; zx: "ad.zx"; zy: "ad.zy"; zz: "ad.zz"; }; ae: { aa: "ae.aa"; ab: "ae.ab"; ac: "ae.ac"; ad: "ae.ad"; ae: "ae.ae"; af: "ae.af"; ag: "ae.ag"; ah: "ae.ah"; ai: "ae.ai"; aj: "ae.aj"; ak: "ae.ak"; al: "ae.al"; am: "ae.am"; an: "ae.an"; ao: "ae.ao"; ap: "ae.ap"; aq: "ae.aq"; ar: "ae.ar"; as: "ae.as"; at: "ae.at"; au: "ae.au"; av: "ae.av"; aw: "ae.aw"; ax: "ae.ax"; ay: "ae.ay"; az: "ae.az"; ba: "ae.ba"; bb: "ae.bb"; bc: "ae.bc"; bd: "ae.bd"; be: "ae.be"; bf: "ae.bf"; bg: "ae.bg"; bh: "ae.bh"; bi: "ae.bi"; bj: "ae.bj"; bk: "ae.bk"; bl: "ae.bl"; bm: "ae.bm"; bn: "ae.bn"; bo: "ae.bo"; bp: "ae.bp"; bq: "ae.bq"; br: "ae.br"; bs: "ae.bs"; bt: "ae.bt"; bu: "ae.bu"; bv: "ae.bv"; bw: "ae.bw"; bx: "ae.bx"; by: "ae.by"; bz: "ae.bz"; ca: "ae.ca"; cb: "ae.cb"; cc: "ae.cc"; cd: "ae.cd"; ce: "ae.ce"; cf: "ae.cf"; cg: "ae.cg"; ch: "ae.ch"; ci: "ae.ci"; cj: "ae.cj"; ck: "ae.ck"; cl: "ae.cl"; cm: "ae.cm"; cn: "ae.cn"; co: "ae.co"; cp: "ae.cp"; cq: "ae.cq"; cr: "ae.cr"; cs: "ae.cs"; ct: "ae.ct"; cu: "ae.cu"; cv: "ae.cv"; cw: "ae.cw"; cx: "ae.cx"; cy: "ae.cy"; cz: "ae.cz"; da: "ae.da"; db: "ae.db"; dc: "ae.dc"; dd: "ae.dd"; de: "ae.de"; df: "ae.df"; dg: "ae.dg"; dh: "ae.dh"; di: "ae.di"; dj: "ae.dj"; dk: "ae.dk"; dl: "ae.dl"; dm: "ae.dm"; dn: "ae.dn"; do: "ae.do"; dp: "ae.dp"; dq: "ae.dq"; dr: "ae.dr"; ds: "ae.ds"; dt: "ae.dt"; du: "ae.du"; dv: "ae.dv"; dw: "ae.dw"; dx: "ae.dx"; dy: "ae.dy"; dz: "ae.dz"; ea: "ae.ea"; eb: "ae.eb"; ec: "ae.ec"; ed: "ae.ed"; ee: "ae.ee"; ef: "ae.ef"; eg: "ae.eg"; eh: "ae.eh"; ei: "ae.ei"; ej: "ae.ej"; ek: "ae.ek"; el: "ae.el"; em: "ae.em"; en: "ae.en"; eo: "ae.eo"; ep: "ae.ep"; eq: "ae.eq"; er: "ae.er"; es: "ae.es"; et: "ae.et"; eu: "ae.eu"; ev: "ae.ev"; ew: "ae.ew"; ex: "ae.ex"; ey: "ae.ey"; ez: "ae.ez"; fa: "ae.fa"; fb: "ae.fb"; fc: "ae.fc"; fd: "ae.fd"; fe: "ae.fe"; ff: "ae.ff"; fg: "ae.fg"; fh: "ae.fh"; fi: "ae.fi"; fj: "ae.fj"; fk: "ae.fk"; fl: "ae.fl"; fm: "ae.fm"; fn: "ae.fn"; fo: "ae.fo"; fp: "ae.fp"; fq: "ae.fq"; fr: "ae.fr"; fs: "ae.fs"; ft: "ae.ft"; fu: "ae.fu"; fv: "ae.fv"; fw: "ae.fw"; fx: "ae.fx"; fy: "ae.fy"; fz: "ae.fz"; ga: "ae.ga"; gb: "ae.gb"; gc: "ae.gc"; gd: "ae.gd"; ge: "ae.ge"; gf: "ae.gf"; gg: "ae.gg"; gh: "ae.gh"; gi: "ae.gi"; gj: "ae.gj"; gk: "ae.gk"; gl: "ae.gl"; gm: "ae.gm"; gn: "ae.gn"; go: "ae.go"; gp: "ae.gp"; gq: "ae.gq"; gr: "ae.gr"; gs: "ae.gs"; gt: "ae.gt"; gu: "ae.gu"; gv: "ae.gv"; gw: "ae.gw"; gx: "ae.gx"; gy: "ae.gy"; gz: "ae.gz"; ha: "ae.ha"; hb: "ae.hb"; hc: "ae.hc"; hd: "ae.hd"; he: "ae.he"; hf: "ae.hf"; hg: "ae.hg"; hh: "ae.hh"; hi: "ae.hi"; hj: "ae.hj"; hk: "ae.hk"; hl: "ae.hl"; hm: "ae.hm"; hn: "ae.hn"; ho: "ae.ho"; hp: "ae.hp"; hq: "ae.hq"; hr: "ae.hr"; hs: "ae.hs"; ht: "ae.ht"; hu: "ae.hu"; hv: "ae.hv"; hw: "ae.hw"; hx: "ae.hx"; hy: "ae.hy"; hz: "ae.hz"; ia: "ae.ia"; ib: "ae.ib"; ic: "ae.ic"; id: "ae.id"; ie: "ae.ie"; if: "ae.if"; ig: "ae.ig"; ih: "ae.ih"; ii: "ae.ii"; ij: "ae.ij"; ik: "ae.ik"; il: "ae.il"; im: "ae.im"; in: "ae.in"; io: "ae.io"; ip: "ae.ip"; iq: "ae.iq"; ir: "ae.ir"; is: "ae.is"; it: "ae.it"; iu: "ae.iu"; iv: "ae.iv"; iw: "ae.iw"; ix: "ae.ix"; iy: "ae.iy"; iz: "ae.iz"; ja: "ae.ja"; jb: "ae.jb"; jc: "ae.jc"; jd: "ae.jd"; je: "ae.je"; jf: "ae.jf"; jg: "ae.jg"; jh: "ae.jh"; ji: "ae.ji"; jj: "ae.jj"; jk: "ae.jk"; jl: "ae.jl"; jm: "ae.jm"; jn: "ae.jn"; jo: "ae.jo"; jp: "ae.jp"; jq: "ae.jq"; jr: "ae.jr"; js: "ae.js"; jt: "ae.jt"; ju: "ae.ju"; jv: "ae.jv"; jw: "ae.jw"; jx: "ae.jx"; jy: "ae.jy"; jz: "ae.jz"; ka: "ae.ka"; kb: "ae.kb"; kc: "ae.kc"; kd: "ae.kd"; ke: "ae.ke"; kf: "ae.kf"; kg: "ae.kg"; kh: "ae.kh"; ki: "ae.ki"; kj: "ae.kj"; kk: "ae.kk"; kl: "ae.kl"; km: "ae.km"; kn: "ae.kn"; ko: "ae.ko"; kp: "ae.kp"; kq: "ae.kq"; kr: "ae.kr"; ks: "ae.ks"; kt: "ae.kt"; ku: "ae.ku"; kv: "ae.kv"; kw: "ae.kw"; kx: "ae.kx"; ky: "ae.ky"; kz: "ae.kz"; la: "ae.la"; lb: "ae.lb"; lc: "ae.lc"; ld: "ae.ld"; le: "ae.le"; lf: "ae.lf"; lg: "ae.lg"; lh: "ae.lh"; li: "ae.li"; lj: "ae.lj"; lk: "ae.lk"; ll: "ae.ll"; lm: "ae.lm"; ln: "ae.ln"; lo: "ae.lo"; lp: "ae.lp"; lq: "ae.lq"; lr: "ae.lr"; ls: "ae.ls"; lt: "ae.lt"; lu: "ae.lu"; lv: "ae.lv"; lw: "ae.lw"; lx: "ae.lx"; ly: "ae.ly"; lz: "ae.lz"; ma: "ae.ma"; mb: "ae.mb"; mc: "ae.mc"; md: "ae.md"; me: "ae.me"; mf: "ae.mf"; mg: "ae.mg"; mh: "ae.mh"; mi: "ae.mi"; mj: "ae.mj"; mk: "ae.mk"; ml: "ae.ml"; mm: "ae.mm"; mn: "ae.mn"; mo: "ae.mo"; mp: "ae.mp"; mq: "ae.mq"; mr: "ae.mr"; ms: "ae.ms"; mt: "ae.mt"; mu: "ae.mu"; mv: "ae.mv"; mw: "ae.mw"; mx: "ae.mx"; my: "ae.my"; mz: "ae.mz"; na: "ae.na"; nb: "ae.nb"; nc: "ae.nc"; nd: "ae.nd"; ne: "ae.ne"; nf: "ae.nf"; ng: "ae.ng"; nh: "ae.nh"; ni: "ae.ni"; nj: "ae.nj"; nk: "ae.nk"; nl: "ae.nl"; nm: "ae.nm"; nn: "ae.nn"; no: "ae.no"; np: "ae.np"; nq: "ae.nq"; nr: "ae.nr"; ns: "ae.ns"; nt: "ae.nt"; nu: "ae.nu"; nv: "ae.nv"; nw: "ae.nw"; nx: "ae.nx"; ny: "ae.ny"; nz: "ae.nz"; oa: "ae.oa"; ob: "ae.ob"; oc: "ae.oc"; od: "ae.od"; oe: "ae.oe"; of: "ae.of"; og: "ae.og"; oh: "ae.oh"; oi: "ae.oi"; oj: "ae.oj"; ok: "ae.ok"; ol: "ae.ol"; om: "ae.om"; on: "ae.on"; oo: "ae.oo"; op: "ae.op"; oq: "ae.oq"; or: "ae.or"; os: "ae.os"; ot: "ae.ot"; ou: "ae.ou"; ov: "ae.ov"; ow: "ae.ow"; ox: "ae.ox"; oy: "ae.oy"; oz: "ae.oz"; pa: "ae.pa"; pb: "ae.pb"; pc: "ae.pc"; pd: "ae.pd"; pe: "ae.pe"; pf: "ae.pf"; pg: "ae.pg"; ph: "ae.ph"; pi: "ae.pi"; pj: "ae.pj"; pk: "ae.pk"; pl: "ae.pl"; pm: "ae.pm"; pn: "ae.pn"; po: "ae.po"; pp: "ae.pp"; pq: "ae.pq"; pr: "ae.pr"; ps: "ae.ps"; pt: "ae.pt"; pu: "ae.pu"; pv: "ae.pv"; pw: "ae.pw"; px: "ae.px"; py: "ae.py"; pz: "ae.pz"; qa: "ae.qa"; qb: "ae.qb"; qc: "ae.qc"; qd: "ae.qd"; qe: "ae.qe"; qf: "ae.qf"; qg: "ae.qg"; qh: "ae.qh"; qi: "ae.qi"; qj: "ae.qj"; qk: "ae.qk"; ql: "ae.ql"; qm: "ae.qm"; qn: "ae.qn"; qo: "ae.qo"; qp: "ae.qp"; qq: "ae.qq"; qr: "ae.qr"; qs: "ae.qs"; qt: "ae.qt"; qu: "ae.qu"; qv: "ae.qv"; qw: "ae.qw"; qx: "ae.qx"; qy: "ae.qy"; qz: "ae.qz"; ra: "ae.ra"; rb: "ae.rb"; rc: "ae.rc"; rd: "ae.rd"; re: "ae.re"; rf: "ae.rf"; rg: "ae.rg"; rh: "ae.rh"; ri: "ae.ri"; rj: "ae.rj"; rk: "ae.rk"; rl: "ae.rl"; rm: "ae.rm"; rn: "ae.rn"; ro: "ae.ro"; rp: "ae.rp"; rq: "ae.rq"; rr: "ae.rr"; rs: "ae.rs"; rt: "ae.rt"; ru: "ae.ru"; rv: "ae.rv"; rw: "ae.rw"; rx: "ae.rx"; ry: "ae.ry"; rz: "ae.rz"; sa: "ae.sa"; sb: "ae.sb"; sc: "ae.sc"; sd: "ae.sd"; se: "ae.se"; sf: "ae.sf"; sg: "ae.sg"; sh: "ae.sh"; si: "ae.si"; sj: "ae.sj"; sk: "ae.sk"; sl: "ae.sl"; sm: "ae.sm"; sn: "ae.sn"; so: "ae.so"; sp: "ae.sp"; sq: "ae.sq"; sr: "ae.sr"; ss: "ae.ss"; st: "ae.st"; su: "ae.su"; sv: "ae.sv"; sw: "ae.sw"; sx: "ae.sx"; sy: "ae.sy"; sz: "ae.sz"; ta: "ae.ta"; tb: "ae.tb"; tc: "ae.tc"; td: "ae.td"; te: "ae.te"; tf: "ae.tf"; tg: "ae.tg"; th: "ae.th"; ti: "ae.ti"; tj: "ae.tj"; tk: "ae.tk"; tl: "ae.tl"; tm: "ae.tm"; tn: "ae.tn"; to: "ae.to"; tp: "ae.tp"; tq: "ae.tq"; tr: "ae.tr"; ts: "ae.ts"; tt: "ae.tt"; tu: "ae.tu"; tv: "ae.tv"; tw: "ae.tw"; tx: "ae.tx"; ty: "ae.ty"; tz: "ae.tz"; ua: "ae.ua"; ub: "ae.ub"; uc: "ae.uc"; ud: "ae.ud"; ue: "ae.ue"; uf: "ae.uf"; ug: "ae.ug"; uh: "ae.uh"; ui: "ae.ui"; uj: "ae.uj"; uk: "ae.uk"; ul: "ae.ul"; um: "ae.um"; un: "ae.un"; uo: "ae.uo"; up: "ae.up"; uq: "ae.uq"; ur: "ae.ur"; us: "ae.us"; ut: "ae.ut"; uu: "ae.uu"; uv: "ae.uv"; uw: "ae.uw"; ux: "ae.ux"; uy: "ae.uy"; uz: "ae.uz"; va: "ae.va"; vb: "ae.vb"; vc: "ae.vc"; vd: "ae.vd"; ve: "ae.ve"; vf: "ae.vf"; vg: "ae.vg"; vh: "ae.vh"; vi: "ae.vi"; vj: "ae.vj"; vk: "ae.vk"; vl: "ae.vl"; vm: "ae.vm"; vn: "ae.vn"; vo: "ae.vo"; vp: "ae.vp"; vq: "ae.vq"; vr: "ae.vr"; vs: "ae.vs"; vt: "ae.vt"; vu: "ae.vu"; vv: "ae.vv"; vw: "ae.vw"; vx: "ae.vx"; vy: "ae.vy"; vz: "ae.vz"; wa: "ae.wa"; wb: "ae.wb"; wc: "ae.wc"; wd: "ae.wd"; we: "ae.we"; wf: "ae.wf"; wg: "ae.wg"; wh: "ae.wh"; wi: "ae.wi"; wj: "ae.wj"; wk: "ae.wk"; wl: "ae.wl"; wm: "ae.wm"; wn: "ae.wn"; wo: "ae.wo"; wp: "ae.wp"; wq: "ae.wq"; wr: "ae.wr"; ws: "ae.ws"; wt: "ae.wt"; wu: "ae.wu"; wv: "ae.wv"; ww: "ae.ww"; wx: "ae.wx"; wy: "ae.wy"; wz: "ae.wz"; xa: "ae.xa"; xb: "ae.xb"; xc: "ae.xc"; xd: "ae.xd"; xe: "ae.xe"; xf: "ae.xf"; xg: "ae.xg"; xh: "ae.xh"; xi: "ae.xi"; xj: "ae.xj"; xk: "ae.xk"; xl: "ae.xl"; xm: "ae.xm"; xn: "ae.xn"; xo: "ae.xo"; xp: "ae.xp"; xq: "ae.xq"; xr: "ae.xr"; xs: "ae.xs"; xt: "ae.xt"; xu: "ae.xu"; xv: "ae.xv"; xw: "ae.xw"; xx: "ae.xx"; xy: "ae.xy"; xz: "ae.xz"; ya: "ae.ya"; yb: "ae.yb"; yc: "ae.yc"; yd: "ae.yd"; ye: "ae.ye"; yf: "ae.yf"; yg: "ae.yg"; yh: "ae.yh"; yi: "ae.yi"; yj: "ae.yj"; yk: "ae.yk"; yl: "ae.yl"; ym: "ae.ym"; yn: "ae.yn"; yo: "ae.yo"; yp: "ae.yp"; yq: "ae.yq"; yr: "ae.yr"; ys: "ae.ys"; yt: "ae.yt"; yu: "ae.yu"; yv: "ae.yv"; yw: "ae.yw"; yx: "ae.yx"; yy: "ae.yy"; yz: "ae.yz"; za: "ae.za"; zb: "ae.zb"; zc: "ae.zc"; zd: "ae.zd"; ze: "ae.ze"; zf: "ae.zf"; zg: "ae.zg"; zh: "ae.zh"; zi: "ae.zi"; zj: "ae.zj"; zk: "ae.zk"; zl: "ae.zl"; zm: "ae.zm"; zn: "ae.zn"; zo: "ae.zo"; zp: "ae.zp"; zq: "ae.zq"; zr: "ae.zr"; zs: "ae.zs"; zt: "ae.zt"; zu: "ae.zu"; zv: "ae.zv"; zw: "ae.zw"; zx: "ae.zx"; zy: "ae.zy"; zz: "ae.zz"; }; af: { aa: "af.aa"; ab: "af.ab"; ac: "af.ac"; ad: "af.ad"; ae: "af.ae"; af: "af.af"; ag: "af.ag"; ah: "af.ah"; ai: "af.ai"; aj: "af.aj"; ak: "af.ak"; al: "af.al"; am: "af.am"; an: "af.an"; ao: "af.ao"; ap: "af.ap"; aq: "af.aq"; ar: "af.ar"; as: "af.as"; at: "af.at"; au: "af.au"; av: "af.av"; aw: "af.aw"; ax: "af.ax"; ay: "af.ay"; az: "af.az"; ba: "af.ba"; bb: "af.bb"; bc: "af.bc"; bd: "af.bd"; be: "af.be"; bf: "af.bf"; bg: "af.bg"; bh: "af.bh"; bi: "af.bi"; bj: "af.bj"; bk: "af.bk"; bl: "af.bl"; bm: "af.bm"; bn: "af.bn"; bo: "af.bo"; bp: "af.bp"; bq: "af.bq"; br: "af.br"; bs: "af.bs"; bt: "af.bt"; bu: "af.bu"; bv: "af.bv"; bw: "af.bw"; bx: "af.bx"; by: "af.by"; bz: "af.bz"; ca: "af.ca"; cb: "af.cb"; cc: "af.cc"; cd: "af.cd"; ce: "af.ce"; cf: "af.cf"; cg: "af.cg"; ch: "af.ch"; ci: "af.ci"; cj: "af.cj"; ck: "af.ck"; cl: "af.cl"; cm: "af.cm"; cn: "af.cn"; co: "af.co"; cp: "af.cp"; cq: "af.cq"; cr: "af.cr"; cs: "af.cs"; ct: "af.ct"; cu: "af.cu"; cv: "af.cv"; cw: "af.cw"; cx: "af.cx"; cy: "af.cy"; cz: "af.cz"; da: "af.da"; db: "af.db"; dc: "af.dc"; dd: "af.dd"; de: "af.de"; df: "af.df"; dg: "af.dg"; dh: "af.dh"; di: "af.di"; dj: "af.dj"; dk: "af.dk"; dl: "af.dl"; dm: "af.dm"; dn: "af.dn"; do: "af.do"; dp: "af.dp"; dq: "af.dq"; dr: "af.dr"; ds: "af.ds"; dt: "af.dt"; du: "af.du"; dv: "af.dv"; dw: "af.dw"; dx: "af.dx"; dy: "af.dy"; dz: "af.dz"; ea: "af.ea"; eb: "af.eb"; ec: "af.ec"; ed: "af.ed"; ee: "af.ee"; ef: "af.ef"; eg: "af.eg"; eh: "af.eh"; ei: "af.ei"; ej: "af.ej"; ek: "af.ek"; el: "af.el"; em: "af.em"; en: "af.en"; eo: "af.eo"; ep: "af.ep"; eq: "af.eq"; er: "af.er"; es: "af.es"; et: "af.et"; eu: "af.eu"; ev: "af.ev"; ew: "af.ew"; ex: "af.ex"; ey: "af.ey"; ez: "af.ez"; fa: "af.fa"; fb: "af.fb"; fc: "af.fc"; fd: "af.fd"; fe: "af.fe"; ff: "af.ff"; fg: "af.fg"; fh: "af.fh"; fi: "af.fi"; fj: "af.fj"; fk: "af.fk"; fl: "af.fl"; fm: "af.fm"; fn: "af.fn"; fo: "af.fo"; fp: "af.fp"; fq: "af.fq"; fr: "af.fr"; fs: "af.fs"; ft: "af.ft"; fu: "af.fu"; fv: "af.fv"; fw: "af.fw"; fx: "af.fx"; fy: "af.fy"; fz: "af.fz"; ga: "af.ga"; gb: "af.gb"; gc: "af.gc"; gd: "af.gd"; ge: "af.ge"; gf: "af.gf"; gg: "af.gg"; gh: "af.gh"; gi: "af.gi"; gj: "af.gj"; gk: "af.gk"; gl: "af.gl"; gm: "af.gm"; gn: "af.gn"; go: "af.go"; gp: "af.gp"; gq: "af.gq"; gr: "af.gr"; gs: "af.gs"; gt: "af.gt"; gu: "af.gu"; gv: "af.gv"; gw: "af.gw"; gx: "af.gx"; gy: "af.gy"; gz: "af.gz"; ha: "af.ha"; hb: "af.hb"; hc: "af.hc"; hd: "af.hd"; he: "af.he"; hf: "af.hf"; hg: "af.hg"; hh: "af.hh"; hi: "af.hi"; hj: "af.hj"; hk: "af.hk"; hl: "af.hl"; hm: "af.hm"; hn: "af.hn"; ho: "af.ho"; hp: "af.hp"; hq: "af.hq"; hr: "af.hr"; hs: "af.hs"; ht: "af.ht"; hu: "af.hu"; hv: "af.hv"; hw: "af.hw"; hx: "af.hx"; hy: "af.hy"; hz: "af.hz"; ia: "af.ia"; ib: "af.ib"; ic: "af.ic"; id: "af.id"; ie: "af.ie"; if: "af.if"; ig: "af.ig"; ih: "af.ih"; ii: "af.ii"; ij: "af.ij"; ik: "af.ik"; il: "af.il"; im: "af.im"; in: "af.in"; io: "af.io"; ip: "af.ip"; iq: "af.iq"; ir: "af.ir"; is: "af.is"; it: "af.it"; iu: "af.iu"; iv: "af.iv"; iw: "af.iw"; ix: "af.ix"; iy: "af.iy"; iz: "af.iz"; ja: "af.ja"; jb: "af.jb"; jc: "af.jc"; jd: "af.jd"; je: "af.je"; jf: "af.jf"; jg: "af.jg"; jh: "af.jh"; ji: "af.ji"; jj: "af.jj"; jk: "af.jk"; jl: "af.jl"; jm: "af.jm"; jn: "af.jn"; jo: "af.jo"; jp: "af.jp"; jq: "af.jq"; jr: "af.jr"; js: "af.js"; jt: "af.jt"; ju: "af.ju"; jv: "af.jv"; jw: "af.jw"; jx: "af.jx"; jy: "af.jy"; jz: "af.jz"; ka: "af.ka"; kb: "af.kb"; kc: "af.kc"; kd: "af.kd"; ke: "af.ke"; kf: "af.kf"; kg: "af.kg"; kh: "af.kh"; ki: "af.ki"; kj: "af.kj"; kk: "af.kk"; kl: "af.kl"; km: "af.km"; kn: "af.kn"; ko: "af.ko"; kp: "af.kp"; kq: "af.kq"; kr: "af.kr"; ks: "af.ks"; kt: "af.kt"; ku: "af.ku"; kv: "af.kv"; kw: "af.kw"; kx: "af.kx"; ky: "af.ky"; kz: "af.kz"; la: "af.la"; lb: "af.lb"; lc: "af.lc"; ld: "af.ld"; le: "af.le"; lf: "af.lf"; lg: "af.lg"; lh: "af.lh"; li: "af.li"; lj: "af.lj"; lk: "af.lk"; ll: "af.ll"; lm: "af.lm"; ln: "af.ln"; lo: "af.lo"; lp: "af.lp"; lq: "af.lq"; lr: "af.lr"; ls: "af.ls"; lt: "af.lt"; lu: "af.lu"; lv: "af.lv"; lw: "af.lw"; lx: "af.lx"; ly: "af.ly"; lz: "af.lz"; ma: "af.ma"; mb: "af.mb"; mc: "af.mc"; md: "af.md"; me: "af.me"; mf: "af.mf"; mg: "af.mg"; mh: "af.mh"; mi: "af.mi"; mj: "af.mj"; mk: "af.mk"; ml: "af.ml"; mm: "af.mm"; mn: "af.mn"; mo: "af.mo"; mp: "af.mp"; mq: "af.mq"; mr: "af.mr"; ms: "af.ms"; mt: "af.mt"; mu: "af.mu"; mv: "af.mv"; mw: "af.mw"; mx: "af.mx"; my: "af.my"; mz: "af.mz"; na: "af.na"; nb: "af.nb"; nc: "af.nc"; nd: "af.nd"; ne: "af.ne"; nf: "af.nf"; ng: "af.ng"; nh: "af.nh"; ni: "af.ni"; nj: "af.nj"; nk: "af.nk"; nl: "af.nl"; nm: "af.nm"; nn: "af.nn"; no: "af.no"; np: "af.np"; nq: "af.nq"; nr: "af.nr"; ns: "af.ns"; nt: "af.nt"; nu: "af.nu"; nv: "af.nv"; nw: "af.nw"; nx: "af.nx"; ny: "af.ny"; nz: "af.nz"; oa: "af.oa"; ob: "af.ob"; oc: "af.oc"; od: "af.od"; oe: "af.oe"; of: "af.of"; og: "af.og"; oh: "af.oh"; oi: "af.oi"; oj: "af.oj"; ok: "af.ok"; ol: "af.ol"; om: "af.om"; on: "af.on"; oo: "af.oo"; op: "af.op"; oq: "af.oq"; or: "af.or"; os: "af.os"; ot: "af.ot"; ou: "af.ou"; ov: "af.ov"; ow: "af.ow"; ox: "af.ox"; oy: "af.oy"; oz: "af.oz"; pa: "af.pa"; pb: "af.pb"; pc: "af.pc"; pd: "af.pd"; pe: "af.pe"; pf: "af.pf"; pg: "af.pg"; ph: "af.ph"; pi: "af.pi"; pj: "af.pj"; pk: "af.pk"; pl: "af.pl"; pm: "af.pm"; pn: "af.pn"; po: "af.po"; pp: "af.pp"; pq: "af.pq"; pr: "af.pr"; ps: "af.ps"; pt: "af.pt"; pu: "af.pu"; pv: "af.pv"; pw: "af.pw"; px: "af.px"; py: "af.py"; pz: "af.pz"; qa: "af.qa"; qb: "af.qb"; qc: "af.qc"; qd: "af.qd"; qe: "af.qe"; qf: "af.qf"; qg: "af.qg"; qh: "af.qh"; qi: "af.qi"; qj: "af.qj"; qk: "af.qk"; ql: "af.ql"; qm: "af.qm"; qn: "af.qn"; qo: "af.qo"; qp: "af.qp"; qq: "af.qq"; qr: "af.qr"; qs: "af.qs"; qt: "af.qt"; qu: "af.qu"; qv: "af.qv"; qw: "af.qw"; qx: "af.qx"; qy: "af.qy"; qz: "af.qz"; ra: "af.ra"; rb: "af.rb"; rc: "af.rc"; rd: "af.rd"; re: "af.re"; rf: "af.rf"; rg: "af.rg"; rh: "af.rh"; ri: "af.ri"; rj: "af.rj"; rk: "af.rk"; rl: "af.rl"; rm: "af.rm"; rn: "af.rn"; ro: "af.ro"; rp: "af.rp"; rq: "af.rq"; rr: "af.rr"; rs: "af.rs"; rt: "af.rt"; ru: "af.ru"; rv: "af.rv"; rw: "af.rw"; rx: "af.rx"; ry: "af.ry"; rz: "af.rz"; sa: "af.sa"; sb: "af.sb"; sc: "af.sc"; sd: "af.sd"; se: "af.se"; sf: "af.sf"; sg: "af.sg"; sh: "af.sh"; si: "af.si"; sj: "af.sj"; sk: "af.sk"; sl: "af.sl"; sm: "af.sm"; sn: "af.sn"; so: "af.so"; sp: "af.sp"; sq: "af.sq"; sr: "af.sr"; ss: "af.ss"; st: "af.st"; su: "af.su"; sv: "af.sv"; sw: "af.sw"; sx: "af.sx"; sy: "af.sy"; sz: "af.sz"; ta: "af.ta"; tb: "af.tb"; tc: "af.tc"; td: "af.td"; te: "af.te"; tf: "af.tf"; tg: "af.tg"; th: "af.th"; ti: "af.ti"; tj: "af.tj"; tk: "af.tk"; tl: "af.tl"; tm: "af.tm"; tn: "af.tn"; to: "af.to"; tp: "af.tp"; tq: "af.tq"; tr: "af.tr"; ts: "af.ts"; tt: "af.tt"; tu: "af.tu"; tv: "af.tv"; tw: "af.tw"; tx: "af.tx"; ty: "af.ty"; tz: "af.tz"; ua: "af.ua"; ub: "af.ub"; uc: "af.uc"; ud: "af.ud"; ue: "af.ue"; uf: "af.uf"; ug: "af.ug"; uh: "af.uh"; ui: "af.ui"; uj: "af.uj"; uk: "af.uk"; ul: "af.ul"; um: "af.um"; un: "af.un"; uo: "af.uo"; up: "af.up"; uq: "af.uq"; ur: "af.ur"; us: "af.us"; ut: "af.ut"; uu: "af.uu"; uv: "af.uv"; uw: "af.uw"; ux: "af.ux"; uy: "af.uy"; uz: "af.uz"; va: "af.va"; vb: "af.vb"; vc: "af.vc"; vd: "af.vd"; ve: "af.ve"; vf: "af.vf"; vg: "af.vg"; vh: "af.vh"; vi: "af.vi"; vj: "af.vj"; vk: "af.vk"; vl: "af.vl"; vm: "af.vm"; vn: "af.vn"; vo: "af.vo"; vp: "af.vp"; vq: "af.vq"; vr: "af.vr"; vs: "af.vs"; vt: "af.vt"; vu: "af.vu"; vv: "af.vv"; vw: "af.vw"; vx: "af.vx"; vy: "af.vy"; vz: "af.vz"; wa: "af.wa"; wb: "af.wb"; wc: "af.wc"; wd: "af.wd"; we: "af.we"; wf: "af.wf"; wg: "af.wg"; wh: "af.wh"; wi: "af.wi"; wj: "af.wj"; wk: "af.wk"; wl: "af.wl"; wm: "af.wm"; wn: "af.wn"; wo: "af.wo"; wp: "af.wp"; wq: "af.wq"; wr: "af.wr"; ws: "af.ws"; wt: "af.wt"; wu: "af.wu"; wv: "af.wv"; ww: "af.ww"; wx: "af.wx"; wy: "af.wy"; wz: "af.wz"; xa: "af.xa"; xb: "af.xb"; xc: "af.xc"; xd: "af.xd"; xe: "af.xe"; xf: "af.xf"; xg: "af.xg"; xh: "af.xh"; xi: "af.xi"; xj: "af.xj"; xk: "af.xk"; xl: "af.xl"; xm: "af.xm"; xn: "af.xn"; xo: "af.xo"; xp: "af.xp"; xq: "af.xq"; xr: "af.xr"; xs: "af.xs"; xt: "af.xt"; xu: "af.xu"; xv: "af.xv"; xw: "af.xw"; xx: "af.xx"; xy: "af.xy"; xz: "af.xz"; ya: "af.ya"; yb: "af.yb"; yc: "af.yc"; yd: "af.yd"; ye: "af.ye"; yf: "af.yf"; yg: "af.yg"; yh: "af.yh"; yi: "af.yi"; yj: "af.yj"; yk: "af.yk"; yl: "af.yl"; ym: "af.ym"; yn: "af.yn"; yo: "af.yo"; yp: "af.yp"; yq: "af.yq"; yr: "af.yr"; ys: "af.ys"; yt: "af.yt"; yu: "af.yu"; yv: "af.yv"; yw: "af.yw"; yx: "af.yx"; yy: "af.yy"; yz: "af.yz"; za: "af.za"; zb: "af.zb"; zc: "af.zc"; zd: "af.zd"; ze: "af.ze"; zf: "af.zf"; zg: "af.zg"; zh: "af.zh"; zi: "af.zi"; zj: "af.zj"; zk: "af.zk"; zl: "af.zl"; zm: "af.zm"; zn: "af.zn"; zo: "af.zo"; zp: "af.zp"; zq: "af.zq"; zr: "af.zr"; zs: "af.zs"; zt: "af.zt"; zu: "af.zu"; zv: "af.zv"; zw: "af.zw"; zx: "af.zx"; zy: "af.zy"; zz: "af.zz"; }; ag: { aa: "ag.aa"; ab: "ag.ab"; ac: "ag.ac"; ad: "ag.ad"; ae: "ag.ae"; af: "ag.af"; ag: "ag.ag"; ah: "ag.ah"; ai: "ag.ai"; aj: "ag.aj"; ak: "ag.ak"; al: "ag.al"; am: "ag.am"; an: "ag.an"; ao: "ag.ao"; ap: "ag.ap"; aq: "ag.aq"; ar: "ag.ar"; as: "ag.as"; at: "ag.at"; au: "ag.au"; av: "ag.av"; aw: "ag.aw"; ax: "ag.ax"; ay: "ag.ay"; az: "ag.az"; ba: "ag.ba"; bb: "ag.bb"; bc: "ag.bc"; bd: "ag.bd"; be: "ag.be"; bf: "ag.bf"; bg: "ag.bg"; bh: "ag.bh"; bi: "ag.bi"; bj: "ag.bj"; bk: "ag.bk"; bl: "ag.bl"; bm: "ag.bm"; bn: "ag.bn"; bo: "ag.bo"; bp: "ag.bp"; bq: "ag.bq"; br: "ag.br"; bs: "ag.bs"; bt: "ag.bt"; bu: "ag.bu"; bv: "ag.bv"; bw: "ag.bw"; bx: "ag.bx"; by: "ag.by"; bz: "ag.bz"; ca: "ag.ca"; cb: "ag.cb"; cc: "ag.cc"; cd: "ag.cd"; ce: "ag.ce"; cf: "ag.cf"; cg: "ag.cg"; ch: "ag.ch"; ci: "ag.ci"; cj: "ag.cj"; ck: "ag.ck"; cl: "ag.cl"; cm: "ag.cm"; cn: "ag.cn"; co: "ag.co"; cp: "ag.cp"; cq: "ag.cq"; cr: "ag.cr"; cs: "ag.cs"; ct: "ag.ct"; cu: "ag.cu"; cv: "ag.cv"; cw: "ag.cw"; cx: "ag.cx"; cy: "ag.cy"; cz: "ag.cz"; da: "ag.da"; db: "ag.db"; dc: "ag.dc"; dd: "ag.dd"; de: "ag.de"; df: "ag.df"; dg: "ag.dg"; dh: "ag.dh"; di: "ag.di"; dj: "ag.dj"; dk: "ag.dk"; dl: "ag.dl"; dm: "ag.dm"; dn: "ag.dn"; do: "ag.do"; dp: "ag.dp"; dq: "ag.dq"; dr: "ag.dr"; ds: "ag.ds"; dt: "ag.dt"; du: "ag.du"; dv: "ag.dv"; dw: "ag.dw"; dx: "ag.dx"; dy: "ag.dy"; dz: "ag.dz"; ea: "ag.ea"; eb: "ag.eb"; ec: "ag.ec"; ed: "ag.ed"; ee: "ag.ee"; ef: "ag.ef"; eg: "ag.eg"; eh: "ag.eh"; ei: "ag.ei"; ej: "ag.ej"; ek: "ag.ek"; el: "ag.el"; em: "ag.em"; en: "ag.en"; eo: "ag.eo"; ep: "ag.ep"; eq: "ag.eq"; er: "ag.er"; es: "ag.es"; et: "ag.et"; eu: "ag.eu"; ev: "ag.ev"; ew: "ag.ew"; ex: "ag.ex"; ey: "ag.ey"; ez: "ag.ez"; fa: "ag.fa"; fb: "ag.fb"; fc: "ag.fc"; fd: "ag.fd"; fe: "ag.fe"; ff: "ag.ff"; fg: "ag.fg"; fh: "ag.fh"; fi: "ag.fi"; fj: "ag.fj"; fk: "ag.fk"; fl: "ag.fl"; fm: "ag.fm"; fn: "ag.fn"; fo: "ag.fo"; fp: "ag.fp"; fq: "ag.fq"; fr: "ag.fr"; fs: "ag.fs"; ft: "ag.ft"; fu: "ag.fu"; fv: "ag.fv"; fw: "ag.fw"; fx: "ag.fx"; fy: "ag.fy"; fz: "ag.fz"; ga: "ag.ga"; gb: "ag.gb"; gc: "ag.gc"; gd: "ag.gd"; ge: "ag.ge"; gf: "ag.gf"; gg: "ag.gg"; gh: "ag.gh"; gi: "ag.gi"; gj: "ag.gj"; gk: "ag.gk"; gl: "ag.gl"; gm: "ag.gm"; gn: "ag.gn"; go: "ag.go"; gp: "ag.gp"; gq: "ag.gq"; gr: "ag.gr"; gs: "ag.gs"; gt: "ag.gt"; gu: "ag.gu"; gv: "ag.gv"; gw: "ag.gw"; gx: "ag.gx"; gy: "ag.gy"; gz: "ag.gz"; ha: "ag.ha"; hb: "ag.hb"; hc: "ag.hc"; hd: "ag.hd"; he: "ag.he"; hf: "ag.hf"; hg: "ag.hg"; hh: "ag.hh"; hi: "ag.hi"; hj: "ag.hj"; hk: "ag.hk"; hl: "ag.hl"; hm: "ag.hm"; hn: "ag.hn"; ho: "ag.ho"; hp: "ag.hp"; hq: "ag.hq"; hr: "ag.hr"; hs: "ag.hs"; ht: "ag.ht"; hu: "ag.hu"; hv: "ag.hv"; hw: "ag.hw"; hx: "ag.hx"; hy: "ag.hy"; hz: "ag.hz"; ia: "ag.ia"; ib: "ag.ib"; ic: "ag.ic"; id: "ag.id"; ie: "ag.ie"; if: "ag.if"; ig: "ag.ig"; ih: "ag.ih"; ii: "ag.ii"; ij: "ag.ij"; ik: "ag.ik"; il: "ag.il"; im: "ag.im"; in: "ag.in"; io: "ag.io"; ip: "ag.ip"; iq: "ag.iq"; ir: "ag.ir"; is: "ag.is"; it: "ag.it"; iu: "ag.iu"; iv: "ag.iv"; iw: "ag.iw"; ix: "ag.ix"; iy: "ag.iy"; iz: "ag.iz"; ja: "ag.ja"; jb: "ag.jb"; jc: "ag.jc"; jd: "ag.jd"; je: "ag.je"; jf: "ag.jf"; jg: "ag.jg"; jh: "ag.jh"; ji: "ag.ji"; jj: "ag.jj"; jk: "ag.jk"; jl: "ag.jl"; jm: "ag.jm"; jn: "ag.jn"; jo: "ag.jo"; jp: "ag.jp"; jq: "ag.jq"; jr: "ag.jr"; js: "ag.js"; jt: "ag.jt"; ju: "ag.ju"; jv: "ag.jv"; jw: "ag.jw"; jx: "ag.jx"; jy: "ag.jy"; jz: "ag.jz"; ka: "ag.ka"; kb: "ag.kb"; kc: "ag.kc"; kd: "ag.kd"; ke: "ag.ke"; kf: "ag.kf"; kg: "ag.kg"; kh: "ag.kh"; ki: "ag.ki"; kj: "ag.kj"; kk: "ag.kk"; kl: "ag.kl"; km: "ag.km"; kn: "ag.kn"; ko: "ag.ko"; kp: "ag.kp"; kq: "ag.kq"; kr: "ag.kr"; ks: "ag.ks"; kt: "ag.kt"; ku: "ag.ku"; kv: "ag.kv"; kw: "ag.kw"; kx: "ag.kx"; ky: "ag.ky"; kz: "ag.kz"; la: "ag.la"; lb: "ag.lb"; lc: "ag.lc"; ld: "ag.ld"; le: "ag.le"; lf: "ag.lf"; lg: "ag.lg"; lh: "ag.lh"; li: "ag.li"; lj: "ag.lj"; lk: "ag.lk"; ll: "ag.ll"; lm: "ag.lm"; ln: "ag.ln"; lo: "ag.lo"; lp: "ag.lp"; lq: "ag.lq"; lr: "ag.lr"; ls: "ag.ls"; lt: "ag.lt"; lu: "ag.lu"; lv: "ag.lv"; lw: "ag.lw"; lx: "ag.lx"; ly: "ag.ly"; lz: "ag.lz"; ma: "ag.ma"; mb: "ag.mb"; mc: "ag.mc"; md: "ag.md"; me: "ag.me"; mf: "ag.mf"; mg: "ag.mg"; mh: "ag.mh"; mi: "ag.mi"; mj: "ag.mj"; mk: "ag.mk"; ml: "ag.ml"; mm: "ag.mm"; mn: "ag.mn"; mo: "ag.mo"; mp: "ag.mp"; mq: "ag.mq"; mr: "ag.mr"; ms: "ag.ms"; mt: "ag.mt"; mu: "ag.mu"; mv: "ag.mv"; mw: "ag.mw"; mx: "ag.mx"; my: "ag.my"; mz: "ag.mz"; na: "ag.na"; nb: "ag.nb"; nc: "ag.nc"; nd: "ag.nd"; ne: "ag.ne"; nf: "ag.nf"; ng: "ag.ng"; nh: "ag.nh"; ni: "ag.ni"; nj: "ag.nj"; nk: "ag.nk"; nl: "ag.nl"; nm: "ag.nm"; nn: "ag.nn"; no: "ag.no"; np: "ag.np"; nq: "ag.nq"; nr: "ag.nr"; ns: "ag.ns"; nt: "ag.nt"; nu: "ag.nu"; nv: "ag.nv"; nw: "ag.nw"; nx: "ag.nx"; ny: "ag.ny"; nz: "ag.nz"; oa: "ag.oa"; ob: "ag.ob"; oc: "ag.oc"; od: "ag.od"; oe: "ag.oe"; of: "ag.of"; og: "ag.og"; oh: "ag.oh"; oi: "ag.oi"; oj: "ag.oj"; ok: "ag.ok"; ol: "ag.ol"; om: "ag.om"; on: "ag.on"; oo: "ag.oo"; op: "ag.op"; oq: "ag.oq"; or: "ag.or"; os: "ag.os"; ot: "ag.ot"; ou: "ag.ou"; ov: "ag.ov"; ow: "ag.ow"; ox: "ag.ox"; oy: "ag.oy"; oz: "ag.oz"; pa: "ag.pa"; pb: "ag.pb"; pc: "ag.pc"; pd: "ag.pd"; pe: "ag.pe"; pf: "ag.pf"; pg: "ag.pg"; ph: "ag.ph"; pi: "ag.pi"; pj: "ag.pj"; pk: "ag.pk"; pl: "ag.pl"; pm: "ag.pm"; pn: "ag.pn"; po: "ag.po"; pp: "ag.pp"; pq: "ag.pq"; pr: "ag.pr"; ps: "ag.ps"; pt: "ag.pt"; pu: "ag.pu"; pv: "ag.pv"; pw: "ag.pw"; px: "ag.px"; py: "ag.py"; pz: "ag.pz"; qa: "ag.qa"; qb: "ag.qb"; qc: "ag.qc"; qd: "ag.qd"; qe: "ag.qe"; qf: "ag.qf"; qg: "ag.qg"; qh: "ag.qh"; qi: "ag.qi"; qj: "ag.qj"; qk: "ag.qk"; ql: "ag.ql"; qm: "ag.qm"; qn: "ag.qn"; qo: "ag.qo"; qp: "ag.qp"; qq: "ag.qq"; qr: "ag.qr"; qs: "ag.qs"; qt: "ag.qt"; qu: "ag.qu"; qv: "ag.qv"; qw: "ag.qw"; qx: "ag.qx"; qy: "ag.qy"; qz: "ag.qz"; ra: "ag.ra"; rb: "ag.rb"; rc: "ag.rc"; rd: "ag.rd"; re: "ag.re"; rf: "ag.rf"; rg: "ag.rg"; rh: "ag.rh"; ri: "ag.ri"; rj: "ag.rj"; rk: "ag.rk"; rl: "ag.rl"; rm: "ag.rm"; rn: "ag.rn"; ro: "ag.ro"; rp: "ag.rp"; rq: "ag.rq"; rr: "ag.rr"; rs: "ag.rs"; rt: "ag.rt"; ru: "ag.ru"; rv: "ag.rv"; rw: "ag.rw"; rx: "ag.rx"; ry: "ag.ry"; rz: "ag.rz"; sa: "ag.sa"; sb: "ag.sb"; sc: "ag.sc"; sd: "ag.sd"; se: "ag.se"; sf: "ag.sf"; sg: "ag.sg"; sh: "ag.sh"; si: "ag.si"; sj: "ag.sj"; sk: "ag.sk"; sl: "ag.sl"; sm: "ag.sm"; sn: "ag.sn"; so: "ag.so"; sp: "ag.sp"; sq: "ag.sq"; sr: "ag.sr"; ss: "ag.ss"; st: "ag.st"; su: "ag.su"; sv: "ag.sv"; sw: "ag.sw"; sx: "ag.sx"; sy: "ag.sy"; sz: "ag.sz"; ta: "ag.ta"; tb: "ag.tb"; tc: "ag.tc"; td: "ag.td"; te: "ag.te"; tf: "ag.tf"; tg: "ag.tg"; th: "ag.th"; ti: "ag.ti"; tj: "ag.tj"; tk: "ag.tk"; tl: "ag.tl"; tm: "ag.tm"; tn: "ag.tn"; to: "ag.to"; tp: "ag.tp"; tq: "ag.tq"; tr: "ag.tr"; ts: "ag.ts"; tt: "ag.tt"; tu: "ag.tu"; tv: "ag.tv"; tw: "ag.tw"; tx: "ag.tx"; ty: "ag.ty"; tz: "ag.tz"; ua: "ag.ua"; ub: "ag.ub"; uc: "ag.uc"; ud: "ag.ud"; ue: "ag.ue"; uf: "ag.uf"; ug: "ag.ug"; uh: "ag.uh"; ui: "ag.ui"; uj: "ag.uj"; uk: "ag.uk"; ul: "ag.ul"; um: "ag.um"; un: "ag.un"; uo: "ag.uo"; up: "ag.up"; uq: "ag.uq"; ur: "ag.ur"; us: "ag.us"; ut: "ag.ut"; uu: "ag.uu"; uv: "ag.uv"; uw: "ag.uw"; ux: "ag.ux"; uy: "ag.uy"; uz: "ag.uz"; va: "ag.va"; vb: "ag.vb"; vc: "ag.vc"; vd: "ag.vd"; ve: "ag.ve"; vf: "ag.vf"; vg: "ag.vg"; vh: "ag.vh"; vi: "ag.vi"; vj: "ag.vj"; vk: "ag.vk"; vl: "ag.vl"; vm: "ag.vm"; vn: "ag.vn"; vo: "ag.vo"; vp: "ag.vp"; vq: "ag.vq"; vr: "ag.vr"; vs: "ag.vs"; vt: "ag.vt"; vu: "ag.vu"; vv: "ag.vv"; vw: "ag.vw"; vx: "ag.vx"; vy: "ag.vy"; vz: "ag.vz"; wa: "ag.wa"; wb: "ag.wb"; wc: "ag.wc"; wd: "ag.wd"; we: "ag.we"; wf: "ag.wf"; wg: "ag.wg"; wh: "ag.wh"; wi: "ag.wi"; wj: "ag.wj"; wk: "ag.wk"; wl: "ag.wl"; wm: "ag.wm"; wn: "ag.wn"; wo: "ag.wo"; wp: "ag.wp"; wq: "ag.wq"; wr: "ag.wr"; ws: "ag.ws"; wt: "ag.wt"; wu: "ag.wu"; wv: "ag.wv"; ww: "ag.ww"; wx: "ag.wx"; wy: "ag.wy"; wz: "ag.wz"; xa: "ag.xa"; xb: "ag.xb"; xc: "ag.xc"; xd: "ag.xd"; xe: "ag.xe"; xf: "ag.xf"; xg: "ag.xg"; xh: "ag.xh"; xi: "ag.xi"; xj: "ag.xj"; xk: "ag.xk"; xl: "ag.xl"; xm: "ag.xm"; xn: "ag.xn"; xo: "ag.xo"; xp: "ag.xp"; xq: "ag.xq"; xr: "ag.xr"; xs: "ag.xs"; xt: "ag.xt"; xu: "ag.xu"; xv: "ag.xv"; xw: "ag.xw"; xx: "ag.xx"; xy: "ag.xy"; xz: "ag.xz"; ya: "ag.ya"; yb: "ag.yb"; yc: "ag.yc"; yd: "ag.yd"; ye: "ag.ye"; yf: "ag.yf"; yg: "ag.yg"; yh: "ag.yh"; yi: "ag.yi"; yj: "ag.yj"; yk: "ag.yk"; yl: "ag.yl"; ym: "ag.ym"; yn: "ag.yn"; yo: "ag.yo"; yp: "ag.yp"; yq: "ag.yq"; yr: "ag.yr"; ys: "ag.ys"; yt: "ag.yt"; yu: "ag.yu"; yv: "ag.yv"; yw: "ag.yw"; yx: "ag.yx"; yy: "ag.yy"; yz: "ag.yz"; za: "ag.za"; zb: "ag.zb"; zc: "ag.zc"; zd: "ag.zd"; ze: "ag.ze"; zf: "ag.zf"; zg: "ag.zg"; zh: "ag.zh"; zi: "ag.zi"; zj: "ag.zj"; zk: "ag.zk"; zl: "ag.zl"; zm: "ag.zm"; zn: "ag.zn"; zo: "ag.zo"; zp: "ag.zp"; zq: "ag.zq"; zr: "ag.zr"; zs: "ag.zs"; zt: "ag.zt"; zu: "ag.zu"; zv: "ag.zv"; zw: "ag.zw"; zx: "ag.zx"; zy: "ag.zy"; zz: "ag.zz"; }; ah: { aa: "ah.aa"; ab: "ah.ab"; ac: "ah.ac"; ad: "ah.ad"; ae: "ah.ae"; af: "ah.af"; ag: "ah.ag"; ah: "ah.ah"; ai: "ah.ai"; aj: "ah.aj"; ak: "ah.ak"; al: "ah.al"; am: "ah.am"; an: "ah.an"; ao: "ah.ao"; ap: "ah.ap"; aq: "ah.aq"; ar: "ah.ar"; as: "ah.as"; at: "ah.at"; au: "ah.au"; av: "ah.av"; aw: "ah.aw"; ax: "ah.ax"; ay: "ah.ay"; az: "ah.az"; ba: "ah.ba"; bb: "ah.bb"; bc: "ah.bc"; bd: "ah.bd"; be: "ah.be"; bf: "ah.bf"; bg: "ah.bg"; bh: "ah.bh"; bi: "ah.bi"; bj: "ah.bj"; bk: "ah.bk"; bl: "ah.bl"; bm: "ah.bm"; bn: "ah.bn"; bo: "ah.bo"; bp: "ah.bp"; bq: "ah.bq"; br: "ah.br"; bs: "ah.bs"; bt: "ah.bt"; bu: "ah.bu"; bv: "ah.bv"; bw: "ah.bw"; bx: "ah.bx"; by: "ah.by"; bz: "ah.bz"; ca: "ah.ca"; cb: "ah.cb"; cc: "ah.cc"; cd: "ah.cd"; ce: "ah.ce"; cf: "ah.cf"; cg: "ah.cg"; ch: "ah.ch"; ci: "ah.ci"; cj: "ah.cj"; ck: "ah.ck"; cl: "ah.cl"; cm: "ah.cm"; cn: "ah.cn"; co: "ah.co"; cp: "ah.cp"; cq: "ah.cq"; cr: "ah.cr"; cs: "ah.cs"; ct: "ah.ct"; cu: "ah.cu"; cv: "ah.cv"; cw: "ah.cw"; cx: "ah.cx"; cy: "ah.cy"; cz: "ah.cz"; da: "ah.da"; db: "ah.db"; dc: "ah.dc"; dd: "ah.dd"; de: "ah.de"; df: "ah.df"; dg: "ah.dg"; dh: "ah.dh"; di: "ah.di"; dj: "ah.dj"; dk: "ah.dk"; dl: "ah.dl"; dm: "ah.dm"; dn: "ah.dn"; do: "ah.do"; dp: "ah.dp"; dq: "ah.dq"; dr: "ah.dr"; ds: "ah.ds"; dt: "ah.dt"; du: "ah.du"; dv: "ah.dv"; dw: "ah.dw"; dx: "ah.dx"; dy: "ah.dy"; dz: "ah.dz"; ea: "ah.ea"; eb: "ah.eb"; ec: "ah.ec"; ed: "ah.ed"; ee: "ah.ee"; ef: "ah.ef"; eg: "ah.eg"; eh: "ah.eh"; ei: "ah.ei"; ej: "ah.ej"; ek: "ah.ek"; el: "ah.el"; em: "ah.em"; en: "ah.en"; eo: "ah.eo"; ep: "ah.ep"; eq: "ah.eq"; er: "ah.er"; es: "ah.es"; et: "ah.et"; eu: "ah.eu"; ev: "ah.ev"; ew: "ah.ew"; ex: "ah.ex"; ey: "ah.ey"; ez: "ah.ez"; fa: "ah.fa"; fb: "ah.fb"; fc: "ah.fc"; fd: "ah.fd"; fe: "ah.fe"; ff: "ah.ff"; fg: "ah.fg"; fh: "ah.fh"; fi: "ah.fi"; fj: "ah.fj"; fk: "ah.fk"; fl: "ah.fl"; fm: "ah.fm"; fn: "ah.fn"; fo: "ah.fo"; fp: "ah.fp"; fq: "ah.fq"; fr: "ah.fr"; fs: "ah.fs"; ft: "ah.ft"; fu: "ah.fu"; fv: "ah.fv"; fw: "ah.fw"; fx: "ah.fx"; fy: "ah.fy"; fz: "ah.fz"; ga: "ah.ga"; gb: "ah.gb"; gc: "ah.gc"; gd: "ah.gd"; ge: "ah.ge"; gf: "ah.gf"; gg: "ah.gg"; gh: "ah.gh"; gi: "ah.gi"; gj: "ah.gj"; gk: "ah.gk"; gl: "ah.gl"; gm: "ah.gm"; gn: "ah.gn"; go: "ah.go"; gp: "ah.gp"; gq: "ah.gq"; gr: "ah.gr"; gs: "ah.gs"; gt: "ah.gt"; gu: "ah.gu"; gv: "ah.gv"; gw: "ah.gw"; gx: "ah.gx"; gy: "ah.gy"; gz: "ah.gz"; ha: "ah.ha"; hb: "ah.hb"; hc: "ah.hc"; hd: "ah.hd"; he: "ah.he"; hf: "ah.hf"; hg: "ah.hg"; hh: "ah.hh"; hi: "ah.hi"; hj: "ah.hj"; hk: "ah.hk"; hl: "ah.hl"; hm: "ah.hm"; hn: "ah.hn"; ho: "ah.ho"; hp: "ah.hp"; hq: "ah.hq"; hr: "ah.hr"; hs: "ah.hs"; ht: "ah.ht"; hu: "ah.hu"; hv: "ah.hv"; hw: "ah.hw"; hx: "ah.hx"; hy: "ah.hy"; hz: "ah.hz"; ia: "ah.ia"; ib: "ah.ib"; ic: "ah.ic"; id: "ah.id"; ie: "ah.ie"; if: "ah.if"; ig: "ah.ig"; ih: "ah.ih"; ii: "ah.ii"; ij: "ah.ij"; ik: "ah.ik"; il: "ah.il"; im: "ah.im"; in: "ah.in"; io: "ah.io"; ip: "ah.ip"; iq: "ah.iq"; ir: "ah.ir"; is: "ah.is"; it: "ah.it"; iu: "ah.iu"; iv: "ah.iv"; iw: "ah.iw"; ix: "ah.ix"; iy: "ah.iy"; iz: "ah.iz"; ja: "ah.ja"; jb: "ah.jb"; jc: "ah.jc"; jd: "ah.jd"; je: "ah.je"; jf: "ah.jf"; jg: "ah.jg"; jh: "ah.jh"; ji: "ah.ji"; jj: "ah.jj"; jk: "ah.jk"; jl: "ah.jl"; jm: "ah.jm"; jn: "ah.jn"; jo: "ah.jo"; jp: "ah.jp"; jq: "ah.jq"; jr: "ah.jr"; js: "ah.js"; jt: "ah.jt"; ju: "ah.ju"; jv: "ah.jv"; jw: "ah.jw"; jx: "ah.jx"; jy: "ah.jy"; jz: "ah.jz"; ka: "ah.ka"; kb: "ah.kb"; kc: "ah.kc"; kd: "ah.kd"; ke: "ah.ke"; kf: "ah.kf"; kg: "ah.kg"; kh: "ah.kh"; ki: "ah.ki"; kj: "ah.kj"; kk: "ah.kk"; kl: "ah.kl"; km: "ah.km"; kn: "ah.kn"; ko: "ah.ko"; kp: "ah.kp"; kq: "ah.kq"; kr: "ah.kr"; ks: "ah.ks"; kt: "ah.kt"; ku: "ah.ku"; kv: "ah.kv"; kw: "ah.kw"; kx: "ah.kx"; ky: "ah.ky"; kz: "ah.kz"; la: "ah.la"; lb: "ah.lb"; lc: "ah.lc"; ld: "ah.ld"; le: "ah.le"; lf: "ah.lf"; lg: "ah.lg"; lh: "ah.lh"; li: "ah.li"; lj: "ah.lj"; lk: "ah.lk"; ll: "ah.ll"; lm: "ah.lm"; ln: "ah.ln"; lo: "ah.lo"; lp: "ah.lp"; lq: "ah.lq"; lr: "ah.lr"; ls: "ah.ls"; lt: "ah.lt"; lu: "ah.lu"; lv: "ah.lv"; lw: "ah.lw"; lx: "ah.lx"; ly: "ah.ly"; lz: "ah.lz"; ma: "ah.ma"; mb: "ah.mb"; mc: "ah.mc"; md: "ah.md"; me: "ah.me"; mf: "ah.mf"; mg: "ah.mg"; mh: "ah.mh"; mi: "ah.mi"; mj: "ah.mj"; mk: "ah.mk"; ml: "ah.ml"; mm: "ah.mm"; mn: "ah.mn"; mo: "ah.mo"; mp: "ah.mp"; mq: "ah.mq"; mr: "ah.mr"; ms: "ah.ms"; mt: "ah.mt"; mu: "ah.mu"; mv: "ah.mv"; mw: "ah.mw"; mx: "ah.mx"; my: "ah.my"; mz: "ah.mz"; na: "ah.na"; nb: "ah.nb"; nc: "ah.nc"; nd: "ah.nd"; ne: "ah.ne"; nf: "ah.nf"; ng: "ah.ng"; nh: "ah.nh"; ni: "ah.ni"; nj: "ah.nj"; nk: "ah.nk"; nl: "ah.nl"; nm: "ah.nm"; nn: "ah.nn"; no: "ah.no"; np: "ah.np"; nq: "ah.nq"; nr: "ah.nr"; ns: "ah.ns"; nt: "ah.nt"; nu: "ah.nu"; nv: "ah.nv"; nw: "ah.nw"; nx: "ah.nx"; ny: "ah.ny"; nz: "ah.nz"; oa: "ah.oa"; ob: "ah.ob"; oc: "ah.oc"; od: "ah.od"; oe: "ah.oe"; of: "ah.of"; og: "ah.og"; oh: "ah.oh"; oi: "ah.oi"; oj: "ah.oj"; ok: "ah.ok"; ol: "ah.ol"; om: "ah.om"; on: "ah.on"; oo: "ah.oo"; op: "ah.op"; oq: "ah.oq"; or: "ah.or"; os: "ah.os"; ot: "ah.ot"; ou: "ah.ou"; ov: "ah.ov"; ow: "ah.ow"; ox: "ah.ox"; oy: "ah.oy"; oz: "ah.oz"; pa: "ah.pa"; pb: "ah.pb"; pc: "ah.pc"; pd: "ah.pd"; pe: "ah.pe"; pf: "ah.pf"; pg: "ah.pg"; ph: "ah.ph"; pi: "ah.pi"; pj: "ah.pj"; pk: "ah.pk"; pl: "ah.pl"; pm: "ah.pm"; pn: "ah.pn"; po: "ah.po"; pp: "ah.pp"; pq: "ah.pq"; pr: "ah.pr"; ps: "ah.ps"; pt: "ah.pt"; pu: "ah.pu"; pv: "ah.pv"; pw: "ah.pw"; px: "ah.px"; py: "ah.py"; pz: "ah.pz"; qa: "ah.qa"; qb: "ah.qb"; qc: "ah.qc"; qd: "ah.qd"; qe: "ah.qe"; qf: "ah.qf"; qg: "ah.qg"; qh: "ah.qh"; qi: "ah.qi"; qj: "ah.qj"; qk: "ah.qk"; ql: "ah.ql"; qm: "ah.qm"; qn: "ah.qn"; qo: "ah.qo"; qp: "ah.qp"; qq: "ah.qq"; qr: "ah.qr"; qs: "ah.qs"; qt: "ah.qt"; qu: "ah.qu"; qv: "ah.qv"; qw: "ah.qw"; qx: "ah.qx"; qy: "ah.qy"; qz: "ah.qz"; ra: "ah.ra"; rb: "ah.rb"; rc: "ah.rc"; rd: "ah.rd"; re: "ah.re"; rf: "ah.rf"; rg: "ah.rg"; rh: "ah.rh"; ri: "ah.ri"; rj: "ah.rj"; rk: "ah.rk"; rl: "ah.rl"; rm: "ah.rm"; rn: "ah.rn"; ro: "ah.ro"; rp: "ah.rp"; rq: "ah.rq"; rr: "ah.rr"; rs: "ah.rs"; rt: "ah.rt"; ru: "ah.ru"; rv: "ah.rv"; rw: "ah.rw"; rx: "ah.rx"; ry: "ah.ry"; rz: "ah.rz"; sa: "ah.sa"; sb: "ah.sb"; sc: "ah.sc"; sd: "ah.sd"; se: "ah.se"; sf: "ah.sf"; sg: "ah.sg"; sh: "ah.sh"; si: "ah.si"; sj: "ah.sj"; sk: "ah.sk"; sl: "ah.sl"; sm: "ah.sm"; sn: "ah.sn"; so: "ah.so"; sp: "ah.sp"; sq: "ah.sq"; sr: "ah.sr"; ss: "ah.ss"; st: "ah.st"; su: "ah.su"; sv: "ah.sv"; sw: "ah.sw"; sx: "ah.sx"; sy: "ah.sy"; sz: "ah.sz"; ta: "ah.ta"; tb: "ah.tb"; tc: "ah.tc"; td: "ah.td"; te: "ah.te"; tf: "ah.tf"; tg: "ah.tg"; th: "ah.th"; ti: "ah.ti"; tj: "ah.tj"; tk: "ah.tk"; tl: "ah.tl"; tm: "ah.tm"; tn: "ah.tn"; to: "ah.to"; tp: "ah.tp"; tq: "ah.tq"; tr: "ah.tr"; ts: "ah.ts"; tt: "ah.tt"; tu: "ah.tu"; tv: "ah.tv"; tw: "ah.tw"; tx: "ah.tx"; ty: "ah.ty"; tz: "ah.tz"; ua: "ah.ua"; ub: "ah.ub"; uc: "ah.uc"; ud: "ah.ud"; ue: "ah.ue"; uf: "ah.uf"; ug: "ah.ug"; uh: "ah.uh"; ui: "ah.ui"; uj: "ah.uj"; uk: "ah.uk"; ul: "ah.ul"; um: "ah.um"; un: "ah.un"; uo: "ah.uo"; up: "ah.up"; uq: "ah.uq"; ur: "ah.ur"; us: "ah.us"; ut: "ah.ut"; uu: "ah.uu"; uv: "ah.uv"; uw: "ah.uw"; ux: "ah.ux"; uy: "ah.uy"; uz: "ah.uz"; va: "ah.va"; vb: "ah.vb"; vc: "ah.vc"; vd: "ah.vd"; ve: "ah.ve"; vf: "ah.vf"; vg: "ah.vg"; vh: "ah.vh"; vi: "ah.vi"; vj: "ah.vj"; vk: "ah.vk"; vl: "ah.vl"; vm: "ah.vm"; vn: "ah.vn"; vo: "ah.vo"; vp: "ah.vp"; vq: "ah.vq"; vr: "ah.vr"; vs: "ah.vs"; vt: "ah.vt"; vu: "ah.vu"; vv: "ah.vv"; vw: "ah.vw"; vx: "ah.vx"; vy: "ah.vy"; vz: "ah.vz"; wa: "ah.wa"; wb: "ah.wb"; wc: "ah.wc"; wd: "ah.wd"; we: "ah.we"; wf: "ah.wf"; wg: "ah.wg"; wh: "ah.wh"; wi: "ah.wi"; wj: "ah.wj"; wk: "ah.wk"; wl: "ah.wl"; wm: "ah.wm"; wn: "ah.wn"; wo: "ah.wo"; wp: "ah.wp"; wq: "ah.wq"; wr: "ah.wr"; ws: "ah.ws"; wt: "ah.wt"; wu: "ah.wu"; wv: "ah.wv"; ww: "ah.ww"; wx: "ah.wx"; wy: "ah.wy"; wz: "ah.wz"; xa: "ah.xa"; xb: "ah.xb"; xc: "ah.xc"; xd: "ah.xd"; xe: "ah.xe"; xf: "ah.xf"; xg: "ah.xg"; xh: "ah.xh"; xi: "ah.xi"; xj: "ah.xj"; xk: "ah.xk"; xl: "ah.xl"; xm: "ah.xm"; xn: "ah.xn"; xo: "ah.xo"; xp: "ah.xp"; xq: "ah.xq"; xr: "ah.xr"; xs: "ah.xs"; xt: "ah.xt"; xu: "ah.xu"; xv: "ah.xv"; xw: "ah.xw"; xx: "ah.xx"; xy: "ah.xy"; xz: "ah.xz"; ya: "ah.ya"; yb: "ah.yb"; yc: "ah.yc"; yd: "ah.yd"; ye: "ah.ye"; yf: "ah.yf"; yg: "ah.yg"; yh: "ah.yh"; yi: "ah.yi"; yj: "ah.yj"; yk: "ah.yk"; yl: "ah.yl"; ym: "ah.ym"; yn: "ah.yn"; yo: "ah.yo"; yp: "ah.yp"; yq: "ah.yq"; yr: "ah.yr"; ys: "ah.ys"; yt: "ah.yt"; yu: "ah.yu"; yv: "ah.yv"; yw: "ah.yw"; yx: "ah.yx"; yy: "ah.yy"; yz: "ah.yz"; za: "ah.za"; zb: "ah.zb"; zc: "ah.zc"; zd: "ah.zd"; ze: "ah.ze"; zf: "ah.zf"; zg: "ah.zg"; zh: "ah.zh"; zi: "ah.zi"; zj: "ah.zj"; zk: "ah.zk"; zl: "ah.zl"; zm: "ah.zm"; zn: "ah.zn"; zo: "ah.zo"; zp: "ah.zp"; zq: "ah.zq"; zr: "ah.zr"; zs: "ah.zs"; zt: "ah.zt"; zu: "ah.zu"; zv: "ah.zv"; zw: "ah.zw"; zx: "ah.zx"; zy: "ah.zy"; zz: "ah.zz"; }; ai: { aa: "ai.aa"; ab: "ai.ab"; ac: "ai.ac"; ad: "ai.ad"; ae: "ai.ae"; af: "ai.af"; ag: "ai.ag"; ah: "ai.ah"; ai: "ai.ai"; aj: "ai.aj"; ak: "ai.ak"; al: "ai.al"; am: "ai.am"; an: "ai.an"; ao: "ai.ao"; ap: "ai.ap"; aq: "ai.aq"; ar: "ai.ar"; as: "ai.as"; at: "ai.at"; au: "ai.au"; av: "ai.av"; aw: "ai.aw"; ax: "ai.ax"; ay: "ai.ay"; az: "ai.az"; ba: "ai.ba"; bb: "ai.bb"; bc: "ai.bc"; bd: "ai.bd"; be: "ai.be"; bf: "ai.bf"; bg: "ai.bg"; bh: "ai.bh"; bi: "ai.bi"; bj: "ai.bj"; bk: "ai.bk"; bl: "ai.bl"; bm: "ai.bm"; bn: "ai.bn"; bo: "ai.bo"; bp: "ai.bp"; bq: "ai.bq"; br: "ai.br"; bs: "ai.bs"; bt: "ai.bt"; bu: "ai.bu"; bv: "ai.bv"; bw: "ai.bw"; bx: "ai.bx"; by: "ai.by"; bz: "ai.bz"; ca: "ai.ca"; cb: "ai.cb"; cc: "ai.cc"; cd: "ai.cd"; ce: "ai.ce"; cf: "ai.cf"; cg: "ai.cg"; ch: "ai.ch"; ci: "ai.ci"; cj: "ai.cj"; ck: "ai.ck"; cl: "ai.cl"; cm: "ai.cm"; cn: "ai.cn"; co: "ai.co"; cp: "ai.cp"; cq: "ai.cq"; cr: "ai.cr"; cs: "ai.cs"; ct: "ai.ct"; cu: "ai.cu"; cv: "ai.cv"; cw: "ai.cw"; cx: "ai.cx"; cy: "ai.cy"; cz: "ai.cz"; da: "ai.da"; db: "ai.db"; dc: "ai.dc"; dd: "ai.dd"; de: "ai.de"; df: "ai.df"; dg: "ai.dg"; dh: "ai.dh"; di: "ai.di"; dj: "ai.dj"; dk: "ai.dk"; dl: "ai.dl"; dm: "ai.dm"; dn: "ai.dn"; do: "ai.do"; dp: "ai.dp"; dq: "ai.dq"; dr: "ai.dr"; ds: "ai.ds"; dt: "ai.dt"; du: "ai.du"; dv: "ai.dv"; dw: "ai.dw"; dx: "ai.dx"; dy: "ai.dy"; dz: "ai.dz"; ea: "ai.ea"; eb: "ai.eb"; ec: "ai.ec"; ed: "ai.ed"; ee: "ai.ee"; ef: "ai.ef"; eg: "ai.eg"; eh: "ai.eh"; ei: "ai.ei"; ej: "ai.ej"; ek: "ai.ek"; el: "ai.el"; em: "ai.em"; en: "ai.en"; eo: "ai.eo"; ep: "ai.ep"; eq: "ai.eq"; er: "ai.er"; es: "ai.es"; et: "ai.et"; eu: "ai.eu"; ev: "ai.ev"; ew: "ai.ew"; ex: "ai.ex"; ey: "ai.ey"; ez: "ai.ez"; fa: "ai.fa"; fb: "ai.fb"; fc: "ai.fc"; fd: "ai.fd"; fe: "ai.fe"; ff: "ai.ff"; fg: "ai.fg"; fh: "ai.fh"; fi: "ai.fi"; fj: "ai.fj"; fk: "ai.fk"; fl: "ai.fl"; fm: "ai.fm"; fn: "ai.fn"; fo: "ai.fo"; fp: "ai.fp"; fq: "ai.fq"; fr: "ai.fr"; fs: "ai.fs"; ft: "ai.ft"; fu: "ai.fu"; fv: "ai.fv"; fw: "ai.fw"; fx: "ai.fx"; fy: "ai.fy"; fz: "ai.fz"; ga: "ai.ga"; gb: "ai.gb"; gc: "ai.gc"; gd: "ai.gd"; ge: "ai.ge"; gf: "ai.gf"; gg: "ai.gg"; gh: "ai.gh"; gi: "ai.gi"; gj: "ai.gj"; gk: "ai.gk"; gl: "ai.gl"; gm: "ai.gm"; gn: "ai.gn"; go: "ai.go"; gp: "ai.gp"; gq: "ai.gq"; gr: "ai.gr"; gs: "ai.gs"; gt: "ai.gt"; gu: "ai.gu"; gv: "ai.gv"; gw: "ai.gw"; gx: "ai.gx"; gy: "ai.gy"; gz: "ai.gz"; ha: "ai.ha"; hb: "ai.hb"; hc: "ai.hc"; hd: "ai.hd"; he: "ai.he"; hf: "ai.hf"; hg: "ai.hg"; hh: "ai.hh"; hi: "ai.hi"; hj: "ai.hj"; hk: "ai.hk"; hl: "ai.hl"; hm: "ai.hm"; hn: "ai.hn"; ho: "ai.ho"; hp: "ai.hp"; hq: "ai.hq"; hr: "ai.hr"; hs: "ai.hs"; ht: "ai.ht"; hu: "ai.hu"; hv: "ai.hv"; hw: "ai.hw"; hx: "ai.hx"; hy: "ai.hy"; hz: "ai.hz"; ia: "ai.ia"; ib: "ai.ib"; ic: "ai.ic"; id: "ai.id"; ie: "ai.ie"; if: "ai.if"; ig: "ai.ig"; ih: "ai.ih"; ii: "ai.ii"; ij: "ai.ij"; ik: "ai.ik"; il: "ai.il"; im: "ai.im"; in: "ai.in"; io: "ai.io"; ip: "ai.ip"; iq: "ai.iq"; ir: "ai.ir"; is: "ai.is"; it: "ai.it"; iu: "ai.iu"; iv: "ai.iv"; iw: "ai.iw"; ix: "ai.ix"; iy: "ai.iy"; iz: "ai.iz"; ja: "ai.ja"; jb: "ai.jb"; jc: "ai.jc"; jd: "ai.jd"; je: "ai.je"; jf: "ai.jf"; jg: "ai.jg"; jh: "ai.jh"; ji: "ai.ji"; jj: "ai.jj"; jk: "ai.jk"; jl: "ai.jl"; jm: "ai.jm"; jn: "ai.jn"; jo: "ai.jo"; jp: "ai.jp"; jq: "ai.jq"; jr: "ai.jr"; js: "ai.js"; jt: "ai.jt"; ju: "ai.ju"; jv: "ai.jv"; jw: "ai.jw"; jx: "ai.jx"; jy: "ai.jy"; jz: "ai.jz"; ka: "ai.ka"; kb: "ai.kb"; kc: "ai.kc"; kd: "ai.kd"; ke: "ai.ke"; kf: "ai.kf"; kg: "ai.kg"; kh: "ai.kh"; ki: "ai.ki"; kj: "ai.kj"; kk: "ai.kk"; kl: "ai.kl"; km: "ai.km"; kn: "ai.kn"; ko: "ai.ko"; kp: "ai.kp"; kq: "ai.kq"; kr: "ai.kr"; ks: "ai.ks"; kt: "ai.kt"; ku: "ai.ku"; kv: "ai.kv"; kw: "ai.kw"; kx: "ai.kx"; ky: "ai.ky"; kz: "ai.kz"; la: "ai.la"; lb: "ai.lb"; lc: "ai.lc"; ld: "ai.ld"; le: "ai.le"; lf: "ai.lf"; lg: "ai.lg"; lh: "ai.lh"; li: "ai.li"; lj: "ai.lj"; lk: "ai.lk"; ll: "ai.ll"; lm: "ai.lm"; ln: "ai.ln"; lo: "ai.lo"; lp: "ai.lp"; lq: "ai.lq"; lr: "ai.lr"; ls: "ai.ls"; lt: "ai.lt"; lu: "ai.lu"; lv: "ai.lv"; lw: "ai.lw"; lx: "ai.lx"; ly: "ai.ly"; lz: "ai.lz"; ma: "ai.ma"; mb: "ai.mb"; mc: "ai.mc"; md: "ai.md"; me: "ai.me"; mf: "ai.mf"; mg: "ai.mg"; mh: "ai.mh"; mi: "ai.mi"; mj: "ai.mj"; mk: "ai.mk"; ml: "ai.ml"; mm: "ai.mm"; mn: "ai.mn"; mo: "ai.mo"; mp: "ai.mp"; mq: "ai.mq"; mr: "ai.mr"; ms: "ai.ms"; mt: "ai.mt"; mu: "ai.mu"; mv: "ai.mv"; mw: "ai.mw"; mx: "ai.mx"; my: "ai.my"; mz: "ai.mz"; na: "ai.na"; nb: "ai.nb"; nc: "ai.nc"; nd: "ai.nd"; ne: "ai.ne"; nf: "ai.nf"; ng: "ai.ng"; nh: "ai.nh"; ni: "ai.ni"; nj: "ai.nj"; nk: "ai.nk"; nl: "ai.nl"; nm: "ai.nm"; nn: "ai.nn"; no: "ai.no"; np: "ai.np"; nq: "ai.nq"; nr: "ai.nr"; ns: "ai.ns"; nt: "ai.nt"; nu: "ai.nu"; nv: "ai.nv"; nw: "ai.nw"; nx: "ai.nx"; ny: "ai.ny"; nz: "ai.nz"; oa: "ai.oa"; ob: "ai.ob"; oc: "ai.oc"; od: "ai.od"; oe: "ai.oe"; of: "ai.of"; og: "ai.og"; oh: "ai.oh"; oi: "ai.oi"; oj: "ai.oj"; ok: "ai.ok"; ol: "ai.ol"; om: "ai.om"; on: "ai.on"; oo: "ai.oo"; op: "ai.op"; oq: "ai.oq"; or: "ai.or"; os: "ai.os"; ot: "ai.ot"; ou: "ai.ou"; ov: "ai.ov"; ow: "ai.ow"; ox: "ai.ox"; oy: "ai.oy"; oz: "ai.oz"; pa: "ai.pa"; pb: "ai.pb"; pc: "ai.pc"; pd: "ai.pd"; pe: "ai.pe"; pf: "ai.pf"; pg: "ai.pg"; ph: "ai.ph"; pi: "ai.pi"; pj: "ai.pj"; pk: "ai.pk"; pl: "ai.pl"; pm: "ai.pm"; pn: "ai.pn"; po: "ai.po"; pp: "ai.pp"; pq: "ai.pq"; pr: "ai.pr"; ps: "ai.ps"; pt: "ai.pt"; pu: "ai.pu"; pv: "ai.pv"; pw: "ai.pw"; px: "ai.px"; py: "ai.py"; pz: "ai.pz"; qa: "ai.qa"; qb: "ai.qb"; qc: "ai.qc"; qd: "ai.qd"; qe: "ai.qe"; qf: "ai.qf"; qg: "ai.qg"; qh: "ai.qh"; qi: "ai.qi"; qj: "ai.qj"; qk: "ai.qk"; ql: "ai.ql"; qm: "ai.qm"; qn: "ai.qn"; qo: "ai.qo"; qp: "ai.qp"; qq: "ai.qq"; qr: "ai.qr"; qs: "ai.qs"; qt: "ai.qt"; qu: "ai.qu"; qv: "ai.qv"; qw: "ai.qw"; qx: "ai.qx"; qy: "ai.qy"; qz: "ai.qz"; ra: "ai.ra"; rb: "ai.rb"; rc: "ai.rc"; rd: "ai.rd"; re: "ai.re"; rf: "ai.rf"; rg: "ai.rg"; rh: "ai.rh"; ri: "ai.ri"; rj: "ai.rj"; rk: "ai.rk"; rl: "ai.rl"; rm: "ai.rm"; rn: "ai.rn"; ro: "ai.ro"; rp: "ai.rp"; rq: "ai.rq"; rr: "ai.rr"; rs: "ai.rs"; rt: "ai.rt"; ru: "ai.ru"; rv: "ai.rv"; rw: "ai.rw"; rx: "ai.rx"; ry: "ai.ry"; rz: "ai.rz"; sa: "ai.sa"; sb: "ai.sb"; sc: "ai.sc"; sd: "ai.sd"; se: "ai.se"; sf: "ai.sf"; sg: "ai.sg"; sh: "ai.sh"; si: "ai.si"; sj: "ai.sj"; sk: "ai.sk"; sl: "ai.sl"; sm: "ai.sm"; sn: "ai.sn"; so: "ai.so"; sp: "ai.sp"; sq: "ai.sq"; sr: "ai.sr"; ss: "ai.ss"; st: "ai.st"; su: "ai.su"; sv: "ai.sv"; sw: "ai.sw"; sx: "ai.sx"; sy: "ai.sy"; sz: "ai.sz"; ta: "ai.ta"; tb: "ai.tb"; tc: "ai.tc"; td: "ai.td"; te: "ai.te"; tf: "ai.tf"; tg: "ai.tg"; th: "ai.th"; ti: "ai.ti"; tj: "ai.tj"; tk: "ai.tk"; tl: "ai.tl"; tm: "ai.tm"; tn: "ai.tn"; to: "ai.to"; tp: "ai.tp"; tq: "ai.tq"; tr: "ai.tr"; ts: "ai.ts"; tt: "ai.tt"; tu: "ai.tu"; tv: "ai.tv"; tw: "ai.tw"; tx: "ai.tx"; ty: "ai.ty"; tz: "ai.tz"; ua: "ai.ua"; ub: "ai.ub"; uc: "ai.uc"; ud: "ai.ud"; ue: "ai.ue"; uf: "ai.uf"; ug: "ai.ug"; uh: "ai.uh"; ui: "ai.ui"; uj: "ai.uj"; uk: "ai.uk"; ul: "ai.ul"; um: "ai.um"; un: "ai.un"; uo: "ai.uo"; up: "ai.up"; uq: "ai.uq"; ur: "ai.ur"; us: "ai.us"; ut: "ai.ut"; uu: "ai.uu"; uv: "ai.uv"; uw: "ai.uw"; ux: "ai.ux"; uy: "ai.uy"; uz: "ai.uz"; va: "ai.va"; vb: "ai.vb"; vc: "ai.vc"; vd: "ai.vd"; ve: "ai.ve"; vf: "ai.vf"; vg: "ai.vg"; vh: "ai.vh"; vi: "ai.vi"; vj: "ai.vj"; vk: "ai.vk"; vl: "ai.vl"; vm: "ai.vm"; vn: "ai.vn"; vo: "ai.vo"; vp: "ai.vp"; vq: "ai.vq"; vr: "ai.vr"; vs: "ai.vs"; vt: "ai.vt"; vu: "ai.vu"; vv: "ai.vv"; vw: "ai.vw"; vx: "ai.vx"; vy: "ai.vy"; vz: "ai.vz"; wa: "ai.wa"; wb: "ai.wb"; wc: "ai.wc"; wd: "ai.wd"; we: "ai.we"; wf: "ai.wf"; wg: "ai.wg"; wh: "ai.wh"; wi: "ai.wi"; wj: "ai.wj"; wk: "ai.wk"; wl: "ai.wl"; wm: "ai.wm"; wn: "ai.wn"; wo: "ai.wo"; wp: "ai.wp"; wq: "ai.wq"; wr: "ai.wr"; ws: "ai.ws"; wt: "ai.wt"; wu: "ai.wu"; wv: "ai.wv"; ww: "ai.ww"; wx: "ai.wx"; wy: "ai.wy"; wz: "ai.wz"; xa: "ai.xa"; xb: "ai.xb"; xc: "ai.xc"; xd: "ai.xd"; xe: "ai.xe"; xf: "ai.xf"; xg: "ai.xg"; xh: "ai.xh"; xi: "ai.xi"; xj: "ai.xj"; xk: "ai.xk"; xl: "ai.xl"; xm: "ai.xm"; xn: "ai.xn"; xo: "ai.xo"; xp: "ai.xp"; xq: "ai.xq"; xr: "ai.xr"; xs: "ai.xs"; xt: "ai.xt"; xu: "ai.xu"; xv: "ai.xv"; xw: "ai.xw"; xx: "ai.xx"; xy: "ai.xy"; xz: "ai.xz"; ya: "ai.ya"; yb: "ai.yb"; yc: "ai.yc"; yd: "ai.yd"; ye: "ai.ye"; yf: "ai.yf"; yg: "ai.yg"; yh: "ai.yh"; yi: "ai.yi"; yj: "ai.yj"; yk: "ai.yk"; yl: "ai.yl"; ym: "ai.ym"; yn: "ai.yn"; yo: "ai.yo"; yp: "ai.yp"; yq: "ai.yq"; yr: "ai.yr"; ys: "ai.ys"; yt: "ai.yt"; yu: "ai.yu"; yv: "ai.yv"; yw: "ai.yw"; yx: "ai.yx"; yy: "ai.yy"; yz: "ai.yz"; za: "ai.za"; zb: "ai.zb"; zc: "ai.zc"; zd: "ai.zd"; ze: "ai.ze"; zf: "ai.zf"; zg: "ai.zg"; zh: "ai.zh"; zi: "ai.zi"; zj: "ai.zj"; zk: "ai.zk"; zl: "ai.zl"; zm: "ai.zm"; zn: "ai.zn"; zo: "ai.zo"; zp: "ai.zp"; zq: "ai.zq"; zr: "ai.zr"; zs: "ai.zs"; zt: "ai.zt"; zu: "ai.zu"; zv: "ai.zv"; zw: "ai.zw"; zx: "ai.zx"; zy: "ai.zy"; zz: "ai.zz"; }; aj: { aa: "aj.aa"; ab: "aj.ab"; ac: "aj.ac"; ad: "aj.ad"; ae: "aj.ae"; af: "aj.af"; ag: "aj.ag"; ah: "aj.ah"; ai: "aj.ai"; aj: "aj.aj"; ak: "aj.ak"; al: "aj.al"; am: "aj.am"; an: "aj.an"; ao: "aj.ao"; ap: "aj.ap"; aq: "aj.aq"; ar: "aj.ar"; as: "aj.as"; at: "aj.at"; au: "aj.au"; av: "aj.av"; aw: "aj.aw"; ax: "aj.ax"; ay: "aj.ay"; az: "aj.az"; ba: "aj.ba"; bb: "aj.bb"; bc: "aj.bc"; bd: "aj.bd"; be: "aj.be"; bf: "aj.bf"; bg: "aj.bg"; bh: "aj.bh"; bi: "aj.bi"; bj: "aj.bj"; bk: "aj.bk"; bl: "aj.bl"; bm: "aj.bm"; bn: "aj.bn"; bo: "aj.bo"; bp: "aj.bp"; bq: "aj.bq"; br: "aj.br"; bs: "aj.bs"; bt: "aj.bt"; bu: "aj.bu"; bv: "aj.bv"; bw: "aj.bw"; bx: "aj.bx"; by: "aj.by"; bz: "aj.bz"; ca: "aj.ca"; cb: "aj.cb"; cc: "aj.cc"; cd: "aj.cd"; ce: "aj.ce"; cf: "aj.cf"; cg: "aj.cg"; ch: "aj.ch"; ci: "aj.ci"; cj: "aj.cj"; ck: "aj.ck"; cl: "aj.cl"; cm: "aj.cm"; cn: "aj.cn"; co: "aj.co"; cp: "aj.cp"; cq: "aj.cq"; cr: "aj.cr"; cs: "aj.cs"; ct: "aj.ct"; cu: "aj.cu"; cv: "aj.cv"; cw: "aj.cw"; cx: "aj.cx"; cy: "aj.cy"; cz: "aj.cz"; da: "aj.da"; db: "aj.db"; dc: "aj.dc"; dd: "aj.dd"; de: "aj.de"; df: "aj.df"; dg: "aj.dg"; dh: "aj.dh"; di: "aj.di"; dj: "aj.dj"; dk: "aj.dk"; dl: "aj.dl"; dm: "aj.dm"; dn: "aj.dn"; do: "aj.do"; dp: "aj.dp"; dq: "aj.dq"; dr: "aj.dr"; ds: "aj.ds"; dt: "aj.dt"; du: "aj.du"; dv: "aj.dv"; dw: "aj.dw"; dx: "aj.dx"; dy: "aj.dy"; dz: "aj.dz"; ea: "aj.ea"; eb: "aj.eb"; ec: "aj.ec"; ed: "aj.ed"; ee: "aj.ee"; ef: "aj.ef"; eg: "aj.eg"; eh: "aj.eh"; ei: "aj.ei"; ej: "aj.ej"; ek: "aj.ek"; el: "aj.el"; em: "aj.em"; en: "aj.en"; eo: "aj.eo"; ep: "aj.ep"; eq: "aj.eq"; er: "aj.er"; es: "aj.es"; et: "aj.et"; eu: "aj.eu"; ev: "aj.ev"; ew: "aj.ew"; ex: "aj.ex"; ey: "aj.ey"; ez: "aj.ez"; fa: "aj.fa"; fb: "aj.fb"; fc: "aj.fc"; fd: "aj.fd"; fe: "aj.fe"; ff: "aj.ff"; fg: "aj.fg"; fh: "aj.fh"; fi: "aj.fi"; fj: "aj.fj"; fk: "aj.fk"; fl: "aj.fl"; fm: "aj.fm"; fn: "aj.fn"; fo: "aj.fo"; fp: "aj.fp"; fq: "aj.fq"; fr: "aj.fr"; fs: "aj.fs"; ft: "aj.ft"; fu: "aj.fu"; fv: "aj.fv"; fw: "aj.fw"; fx: "aj.fx"; fy: "aj.fy"; fz: "aj.fz"; ga: "aj.ga"; gb: "aj.gb"; gc: "aj.gc"; gd: "aj.gd"; ge: "aj.ge"; gf: "aj.gf"; gg: "aj.gg"; gh: "aj.gh"; gi: "aj.gi"; gj: "aj.gj"; gk: "aj.gk"; gl: "aj.gl"; gm: "aj.gm"; gn: "aj.gn"; go: "aj.go"; gp: "aj.gp"; gq: "aj.gq"; gr: "aj.gr"; gs: "aj.gs"; gt: "aj.gt"; gu: "aj.gu"; gv: "aj.gv"; gw: "aj.gw"; gx: "aj.gx"; gy: "aj.gy"; gz: "aj.gz"; ha: "aj.ha"; hb: "aj.hb"; hc: "aj.hc"; hd: "aj.hd"; he: "aj.he"; hf: "aj.hf"; hg: "aj.hg"; hh: "aj.hh"; hi: "aj.hi"; hj: "aj.hj"; hk: "aj.hk"; hl: "aj.hl"; hm: "aj.hm"; hn: "aj.hn"; ho: "aj.ho"; hp: "aj.hp"; hq: "aj.hq"; hr: "aj.hr"; hs: "aj.hs"; ht: "aj.ht"; hu: "aj.hu"; hv: "aj.hv"; hw: "aj.hw"; hx: "aj.hx"; hy: "aj.hy"; hz: "aj.hz"; ia: "aj.ia"; ib: "aj.ib"; ic: "aj.ic"; id: "aj.id"; ie: "aj.ie"; if: "aj.if"; ig: "aj.ig"; ih: "aj.ih"; ii: "aj.ii"; ij: "aj.ij"; ik: "aj.ik"; il: "aj.il"; im: "aj.im"; in: "aj.in"; io: "aj.io"; ip: "aj.ip"; iq: "aj.iq"; ir: "aj.ir"; is: "aj.is"; it: "aj.it"; iu: "aj.iu"; iv: "aj.iv"; iw: "aj.iw"; ix: "aj.ix"; iy: "aj.iy"; iz: "aj.iz"; ja: "aj.ja"; jb: "aj.jb"; jc: "aj.jc"; jd: "aj.jd"; je: "aj.je"; jf: "aj.jf"; jg: "aj.jg"; jh: "aj.jh"; ji: "aj.ji"; jj: "aj.jj"; jk: "aj.jk"; jl: "aj.jl"; jm: "aj.jm"; jn: "aj.jn"; jo: "aj.jo"; jp: "aj.jp"; jq: "aj.jq"; jr: "aj.jr"; js: "aj.js"; jt: "aj.jt"; ju: "aj.ju"; jv: "aj.jv"; jw: "aj.jw"; jx: "aj.jx"; jy: "aj.jy"; jz: "aj.jz"; ka: "aj.ka"; kb: "aj.kb"; kc: "aj.kc"; kd: "aj.kd"; ke: "aj.ke"; kf: "aj.kf"; kg: "aj.kg"; kh: "aj.kh"; ki: "aj.ki"; kj: "aj.kj"; kk: "aj.kk"; kl: "aj.kl"; km: "aj.km"; kn: "aj.kn"; ko: "aj.ko"; kp: "aj.kp"; kq: "aj.kq"; kr: "aj.kr"; ks: "aj.ks"; kt: "aj.kt"; ku: "aj.ku"; kv: "aj.kv"; kw: "aj.kw"; kx: "aj.kx"; ky: "aj.ky"; kz: "aj.kz"; la: "aj.la"; lb: "aj.lb"; lc: "aj.lc"; ld: "aj.ld"; le: "aj.le"; lf: "aj.lf"; lg: "aj.lg"; lh: "aj.lh"; li: "aj.li"; lj: "aj.lj"; lk: "aj.lk"; ll: "aj.ll"; lm: "aj.lm"; ln: "aj.ln"; lo: "aj.lo"; lp: "aj.lp"; lq: "aj.lq"; lr: "aj.lr"; ls: "aj.ls"; lt: "aj.lt"; lu: "aj.lu"; lv: "aj.lv"; lw: "aj.lw"; lx: "aj.lx"; ly: "aj.ly"; lz: "aj.lz"; ma: "aj.ma"; mb: "aj.mb"; mc: "aj.mc"; md: "aj.md"; me: "aj.me"; mf: "aj.mf"; mg: "aj.mg"; mh: "aj.mh"; mi: "aj.mi"; mj: "aj.mj"; mk: "aj.mk"; ml: "aj.ml"; mm: "aj.mm"; mn: "aj.mn"; mo: "aj.mo"; mp: "aj.mp"; mq: "aj.mq"; mr: "aj.mr"; ms: "aj.ms"; mt: "aj.mt"; mu: "aj.mu"; mv: "aj.mv"; mw: "aj.mw"; mx: "aj.mx"; my: "aj.my"; mz: "aj.mz"; na: "aj.na"; nb: "aj.nb"; nc: "aj.nc"; nd: "aj.nd"; ne: "aj.ne"; nf: "aj.nf"; ng: "aj.ng"; nh: "aj.nh"; ni: "aj.ni"; nj: "aj.nj"; nk: "aj.nk"; nl: "aj.nl"; nm: "aj.nm"; nn: "aj.nn"; no: "aj.no"; np: "aj.np"; nq: "aj.nq"; nr: "aj.nr"; ns: "aj.ns"; nt: "aj.nt"; nu: "aj.nu"; nv: "aj.nv"; nw: "aj.nw"; nx: "aj.nx"; ny: "aj.ny"; nz: "aj.nz"; oa: "aj.oa"; ob: "aj.ob"; oc: "aj.oc"; od: "aj.od"; oe: "aj.oe"; of: "aj.of"; og: "aj.og"; oh: "aj.oh"; oi: "aj.oi"; oj: "aj.oj"; ok: "aj.ok"; ol: "aj.ol"; om: "aj.om"; on: "aj.on"; oo: "aj.oo"; op: "aj.op"; oq: "aj.oq"; or: "aj.or"; os: "aj.os"; ot: "aj.ot"; ou: "aj.ou"; ov: "aj.ov"; ow: "aj.ow"; ox: "aj.ox"; oy: "aj.oy"; oz: "aj.oz"; pa: "aj.pa"; pb: "aj.pb"; pc: "aj.pc"; pd: "aj.pd"; pe: "aj.pe"; pf: "aj.pf"; pg: "aj.pg"; ph: "aj.ph"; pi: "aj.pi"; pj: "aj.pj"; pk: "aj.pk"; pl: "aj.pl"; pm: "aj.pm"; pn: "aj.pn"; po: "aj.po"; pp: "aj.pp"; pq: "aj.pq"; pr: "aj.pr"; ps: "aj.ps"; pt: "aj.pt"; pu: "aj.pu"; pv: "aj.pv"; pw: "aj.pw"; px: "aj.px"; py: "aj.py"; pz: "aj.pz"; qa: "aj.qa"; qb: "aj.qb"; qc: "aj.qc"; qd: "aj.qd"; qe: "aj.qe"; qf: "aj.qf"; qg: "aj.qg"; qh: "aj.qh"; qi: "aj.qi"; qj: "aj.qj"; qk: "aj.qk"; ql: "aj.ql"; qm: "aj.qm"; qn: "aj.qn"; qo: "aj.qo"; qp: "aj.qp"; qq: "aj.qq"; qr: "aj.qr"; qs: "aj.qs"; qt: "aj.qt"; qu: "aj.qu"; qv: "aj.qv"; qw: "aj.qw"; qx: "aj.qx"; qy: "aj.qy"; qz: "aj.qz"; ra: "aj.ra"; rb: "aj.rb"; rc: "aj.rc"; rd: "aj.rd"; re: "aj.re"; rf: "aj.rf"; rg: "aj.rg"; rh: "aj.rh"; ri: "aj.ri"; rj: "aj.rj"; rk: "aj.rk"; rl: "aj.rl"; rm: "aj.rm"; rn: "aj.rn"; ro: "aj.ro"; rp: "aj.rp"; rq: "aj.rq"; rr: "aj.rr"; rs: "aj.rs"; rt: "aj.rt"; ru: "aj.ru"; rv: "aj.rv"; rw: "aj.rw"; rx: "aj.rx"; ry: "aj.ry"; rz: "aj.rz"; sa: "aj.sa"; sb: "aj.sb"; sc: "aj.sc"; sd: "aj.sd"; se: "aj.se"; sf: "aj.sf"; sg: "aj.sg"; sh: "aj.sh"; si: "aj.si"; sj: "aj.sj"; sk: "aj.sk"; sl: "aj.sl"; sm: "aj.sm"; sn: "aj.sn"; so: "aj.so"; sp: "aj.sp"; sq: "aj.sq"; sr: "aj.sr"; ss: "aj.ss"; st: "aj.st"; su: "aj.su"; sv: "aj.sv"; sw: "aj.sw"; sx: "aj.sx"; sy: "aj.sy"; sz: "aj.sz"; ta: "aj.ta"; tb: "aj.tb"; tc: "aj.tc"; td: "aj.td"; te: "aj.te"; tf: "aj.tf"; tg: "aj.tg"; th: "aj.th"; ti: "aj.ti"; tj: "aj.tj"; tk: "aj.tk"; tl: "aj.tl"; tm: "aj.tm"; tn: "aj.tn"; to: "aj.to"; tp: "aj.tp"; tq: "aj.tq"; tr: "aj.tr"; ts: "aj.ts"; tt: "aj.tt"; tu: "aj.tu"; tv: "aj.tv"; tw: "aj.tw"; tx: "aj.tx"; ty: "aj.ty"; tz: "aj.tz"; ua: "aj.ua"; ub: "aj.ub"; uc: "aj.uc"; ud: "aj.ud"; ue: "aj.ue"; uf: "aj.uf"; ug: "aj.ug"; uh: "aj.uh"; ui: "aj.ui"; uj: "aj.uj"; uk: "aj.uk"; ul: "aj.ul"; um: "aj.um"; un: "aj.un"; uo: "aj.uo"; up: "aj.up"; uq: "aj.uq"; ur: "aj.ur"; us: "aj.us"; ut: "aj.ut"; uu: "aj.uu"; uv: "aj.uv"; uw: "aj.uw"; ux: "aj.ux"; uy: "aj.uy"; uz: "aj.uz"; va: "aj.va"; vb: "aj.vb"; vc: "aj.vc"; vd: "aj.vd"; ve: "aj.ve"; vf: "aj.vf"; vg: "aj.vg"; vh: "aj.vh"; vi: "aj.vi"; vj: "aj.vj"; vk: "aj.vk"; vl: "aj.vl"; vm: "aj.vm"; vn: "aj.vn"; vo: "aj.vo"; vp: "aj.vp"; vq: "aj.vq"; vr: "aj.vr"; vs: "aj.vs"; vt: "aj.vt"; vu: "aj.vu"; vv: "aj.vv"; vw: "aj.vw"; vx: "aj.vx"; vy: "aj.vy"; vz: "aj.vz"; wa: "aj.wa"; wb: "aj.wb"; wc: "aj.wc"; wd: "aj.wd"; we: "aj.we"; wf: "aj.wf"; wg: "aj.wg"; wh: "aj.wh"; wi: "aj.wi"; wj: "aj.wj"; wk: "aj.wk"; wl: "aj.wl"; wm: "aj.wm"; wn: "aj.wn"; wo: "aj.wo"; wp: "aj.wp"; wq: "aj.wq"; wr: "aj.wr"; ws: "aj.ws"; wt: "aj.wt"; wu: "aj.wu"; wv: "aj.wv"; ww: "aj.ww"; wx: "aj.wx"; wy: "aj.wy"; wz: "aj.wz"; xa: "aj.xa"; xb: "aj.xb"; xc: "aj.xc"; xd: "aj.xd"; xe: "aj.xe"; xf: "aj.xf"; xg: "aj.xg"; xh: "aj.xh"; xi: "aj.xi"; xj: "aj.xj"; xk: "aj.xk"; xl: "aj.xl"; xm: "aj.xm"; xn: "aj.xn"; xo: "aj.xo"; xp: "aj.xp"; xq: "aj.xq"; xr: "aj.xr"; xs: "aj.xs"; xt: "aj.xt"; xu: "aj.xu"; xv: "aj.xv"; xw: "aj.xw"; xx: "aj.xx"; xy: "aj.xy"; xz: "aj.xz"; ya: "aj.ya"; yb: "aj.yb"; yc: "aj.yc"; yd: "aj.yd"; ye: "aj.ye"; yf: "aj.yf"; yg: "aj.yg"; yh: "aj.yh"; yi: "aj.yi"; yj: "aj.yj"; yk: "aj.yk"; yl: "aj.yl"; ym: "aj.ym"; yn: "aj.yn"; yo: "aj.yo"; yp: "aj.yp"; yq: "aj.yq"; yr: "aj.yr"; ys: "aj.ys"; yt: "aj.yt"; yu: "aj.yu"; yv: "aj.yv"; yw: "aj.yw"; yx: "aj.yx"; yy: "aj.yy"; yz: "aj.yz"; za: "aj.za"; zb: "aj.zb"; zc: "aj.zc"; zd: "aj.zd"; ze: "aj.ze"; zf: "aj.zf"; zg: "aj.zg"; zh: "aj.zh"; zi: "aj.zi"; zj: "aj.zj"; zk: "aj.zk"; zl: "aj.zl"; zm: "aj.zm"; zn: "aj.zn"; zo: "aj.zo"; zp: "aj.zp"; zq: "aj.zq"; zr: "aj.zr"; zs: "aj.zs"; zt: "aj.zt"; zu: "aj.zu"; zv: "aj.zv"; zw: "aj.zw"; zx: "aj.zx"; zy: "aj.zy"; zz: "aj.zz"; }; ak: { aa: "ak.aa"; ab: "ak.ab"; ac: "ak.ac"; ad: "ak.ad"; ae: "ak.ae"; af: "ak.af"; ag: "ak.ag"; ah: "ak.ah"; ai: "ak.ai"; aj: "ak.aj"; ak: "ak.ak"; al: "ak.al"; am: "ak.am"; an: "ak.an"; ao: "ak.ao"; ap: "ak.ap"; aq: "ak.aq"; ar: "ak.ar"; as: "ak.as"; at: "ak.at"; au: "ak.au"; av: "ak.av"; aw: "ak.aw"; ax: "ak.ax"; ay: "ak.ay"; az: "ak.az"; ba: "ak.ba"; bb: "ak.bb"; bc: "ak.bc"; bd: "ak.bd"; be: "ak.be"; bf: "ak.bf"; bg: "ak.bg"; bh: "ak.bh"; bi: "ak.bi"; bj: "ak.bj"; bk: "ak.bk"; bl: "ak.bl"; bm: "ak.bm"; bn: "ak.bn"; bo: "ak.bo"; bp: "ak.bp"; bq: "ak.bq"; br: "ak.br"; bs: "ak.bs"; bt: "ak.bt"; bu: "ak.bu"; bv: "ak.bv"; bw: "ak.bw"; bx: "ak.bx"; by: "ak.by"; bz: "ak.bz"; ca: "ak.ca"; cb: "ak.cb"; cc: "ak.cc"; cd: "ak.cd"; ce: "ak.ce"; cf: "ak.cf"; cg: "ak.cg"; ch: "ak.ch"; ci: "ak.ci"; cj: "ak.cj"; ck: "ak.ck"; cl: "ak.cl"; cm: "ak.cm"; cn: "ak.cn"; co: "ak.co"; cp: "ak.cp"; cq: "ak.cq"; cr: "ak.cr"; cs: "ak.cs"; ct: "ak.ct"; cu: "ak.cu"; cv: "ak.cv"; cw: "ak.cw"; cx: "ak.cx"; cy: "ak.cy"; cz: "ak.cz"; da: "ak.da"; db: "ak.db"; dc: "ak.dc"; dd: "ak.dd"; de: "ak.de"; df: "ak.df"; dg: "ak.dg"; dh: "ak.dh"; di: "ak.di"; dj: "ak.dj"; dk: "ak.dk"; dl: "ak.dl"; dm: "ak.dm"; dn: "ak.dn"; do: "ak.do"; dp: "ak.dp"; dq: "ak.dq"; dr: "ak.dr"; ds: "ak.ds"; dt: "ak.dt"; du: "ak.du"; dv: "ak.dv"; dw: "ak.dw"; dx: "ak.dx"; dy: "ak.dy"; dz: "ak.dz"; ea: "ak.ea"; eb: "ak.eb"; ec: "ak.ec"; ed: "ak.ed"; ee: "ak.ee"; ef: "ak.ef"; eg: "ak.eg"; eh: "ak.eh"; ei: "ak.ei"; ej: "ak.ej"; ek: "ak.ek"; el: "ak.el"; em: "ak.em"; en: "ak.en"; eo: "ak.eo"; ep: "ak.ep"; eq: "ak.eq"; er: "ak.er"; es: "ak.es"; et: "ak.et"; eu: "ak.eu"; ev: "ak.ev"; ew: "ak.ew"; ex: "ak.ex"; ey: "ak.ey"; ez: "ak.ez"; fa: "ak.fa"; fb: "ak.fb"; fc: "ak.fc"; fd: "ak.fd"; fe: "ak.fe"; ff: "ak.ff"; fg: "ak.fg"; fh: "ak.fh"; fi: "ak.fi"; fj: "ak.fj"; fk: "ak.fk"; fl: "ak.fl"; fm: "ak.fm"; fn: "ak.fn"; fo: "ak.fo"; fp: "ak.fp"; fq: "ak.fq"; fr: "ak.fr"; fs: "ak.fs"; ft: "ak.ft"; fu: "ak.fu"; fv: "ak.fv"; fw: "ak.fw"; fx: "ak.fx"; fy: "ak.fy"; fz: "ak.fz"; ga: "ak.ga"; gb: "ak.gb"; gc: "ak.gc"; gd: "ak.gd"; ge: "ak.ge"; gf: "ak.gf"; gg: "ak.gg"; gh: "ak.gh"; gi: "ak.gi"; gj: "ak.gj"; gk: "ak.gk"; gl: "ak.gl"; gm: "ak.gm"; gn: "ak.gn"; go: "ak.go"; gp: "ak.gp"; gq: "ak.gq"; gr: "ak.gr"; gs: "ak.gs"; gt: "ak.gt"; gu: "ak.gu"; gv: "ak.gv"; gw: "ak.gw"; gx: "ak.gx"; gy: "ak.gy"; gz: "ak.gz"; ha: "ak.ha"; hb: "ak.hb"; hc: "ak.hc"; hd: "ak.hd"; he: "ak.he"; hf: "ak.hf"; hg: "ak.hg"; hh: "ak.hh"; hi: "ak.hi"; hj: "ak.hj"; hk: "ak.hk"; hl: "ak.hl"; hm: "ak.hm"; hn: "ak.hn"; ho: "ak.ho"; hp: "ak.hp"; hq: "ak.hq"; hr: "ak.hr"; hs: "ak.hs"; ht: "ak.ht"; hu: "ak.hu"; hv: "ak.hv"; hw: "ak.hw"; hx: "ak.hx"; hy: "ak.hy"; hz: "ak.hz"; ia: "ak.ia"; ib: "ak.ib"; ic: "ak.ic"; id: "ak.id"; ie: "ak.ie"; if: "ak.if"; ig: "ak.ig"; ih: "ak.ih"; ii: "ak.ii"; ij: "ak.ij"; ik: "ak.ik"; il: "ak.il"; im: "ak.im"; in: "ak.in"; io: "ak.io"; ip: "ak.ip"; iq: "ak.iq"; ir: "ak.ir"; is: "ak.is"; it: "ak.it"; iu: "ak.iu"; iv: "ak.iv"; iw: "ak.iw"; ix: "ak.ix"; iy: "ak.iy"; iz: "ak.iz"; ja: "ak.ja"; jb: "ak.jb"; jc: "ak.jc"; jd: "ak.jd"; je: "ak.je"; jf: "ak.jf"; jg: "ak.jg"; jh: "ak.jh"; ji: "ak.ji"; jj: "ak.jj"; jk: "ak.jk"; jl: "ak.jl"; jm: "ak.jm"; jn: "ak.jn"; jo: "ak.jo"; jp: "ak.jp"; jq: "ak.jq"; jr: "ak.jr"; js: "ak.js"; jt: "ak.jt"; ju: "ak.ju"; jv: "ak.jv"; jw: "ak.jw"; jx: "ak.jx"; jy: "ak.jy"; jz: "ak.jz"; ka: "ak.ka"; kb: "ak.kb"; kc: "ak.kc"; kd: "ak.kd"; ke: "ak.ke"; kf: "ak.kf"; kg: "ak.kg"; kh: "ak.kh"; ki: "ak.ki"; kj: "ak.kj"; kk: "ak.kk"; kl: "ak.kl"; km: "ak.km"; kn: "ak.kn"; ko: "ak.ko"; kp: "ak.kp"; kq: "ak.kq"; kr: "ak.kr"; ks: "ak.ks"; kt: "ak.kt"; ku: "ak.ku"; kv: "ak.kv"; kw: "ak.kw"; kx: "ak.kx"; ky: "ak.ky"; kz: "ak.kz"; la: "ak.la"; lb: "ak.lb"; lc: "ak.lc"; ld: "ak.ld"; le: "ak.le"; lf: "ak.lf"; lg: "ak.lg"; lh: "ak.lh"; li: "ak.li"; lj: "ak.lj"; lk: "ak.lk"; ll: "ak.ll"; lm: "ak.lm"; ln: "ak.ln"; lo: "ak.lo"; lp: "ak.lp"; lq: "ak.lq"; lr: "ak.lr"; ls: "ak.ls"; lt: "ak.lt"; lu: "ak.lu"; lv: "ak.lv"; lw: "ak.lw"; lx: "ak.lx"; ly: "ak.ly"; lz: "ak.lz"; ma: "ak.ma"; mb: "ak.mb"; mc: "ak.mc"; md: "ak.md"; me: "ak.me"; mf: "ak.mf"; mg: "ak.mg"; mh: "ak.mh"; mi: "ak.mi"; mj: "ak.mj"; mk: "ak.mk"; ml: "ak.ml"; mm: "ak.mm"; mn: "ak.mn"; mo: "ak.mo"; mp: "ak.mp"; mq: "ak.mq"; mr: "ak.mr"; ms: "ak.ms"; mt: "ak.mt"; mu: "ak.mu"; mv: "ak.mv"; mw: "ak.mw"; mx: "ak.mx"; my: "ak.my"; mz: "ak.mz"; na: "ak.na"; nb: "ak.nb"; nc: "ak.nc"; nd: "ak.nd"; ne: "ak.ne"; nf: "ak.nf"; ng: "ak.ng"; nh: "ak.nh"; ni: "ak.ni"; nj: "ak.nj"; nk: "ak.nk"; nl: "ak.nl"; nm: "ak.nm"; nn: "ak.nn"; no: "ak.no"; np: "ak.np"; nq: "ak.nq"; nr: "ak.nr"; ns: "ak.ns"; nt: "ak.nt"; nu: "ak.nu"; nv: "ak.nv"; nw: "ak.nw"; nx: "ak.nx"; ny: "ak.ny"; nz: "ak.nz"; oa: "ak.oa"; ob: "ak.ob"; oc: "ak.oc"; od: "ak.od"; oe: "ak.oe"; of: "ak.of"; og: "ak.og"; oh: "ak.oh"; oi: "ak.oi"; oj: "ak.oj"; ok: "ak.ok"; ol: "ak.ol"; om: "ak.om"; on: "ak.on"; oo: "ak.oo"; op: "ak.op"; oq: "ak.oq"; or: "ak.or"; os: "ak.os"; ot: "ak.ot"; ou: "ak.ou"; ov: "ak.ov"; ow: "ak.ow"; ox: "ak.ox"; oy: "ak.oy"; oz: "ak.oz"; pa: "ak.pa"; pb: "ak.pb"; pc: "ak.pc"; pd: "ak.pd"; pe: "ak.pe"; pf: "ak.pf"; pg: "ak.pg"; ph: "ak.ph"; pi: "ak.pi"; pj: "ak.pj"; pk: "ak.pk"; pl: "ak.pl"; pm: "ak.pm"; pn: "ak.pn"; po: "ak.po"; pp: "ak.pp"; pq: "ak.pq"; pr: "ak.pr"; ps: "ak.ps"; pt: "ak.pt"; pu: "ak.pu"; pv: "ak.pv"; pw: "ak.pw"; px: "ak.px"; py: "ak.py"; pz: "ak.pz"; qa: "ak.qa"; qb: "ak.qb"; qc: "ak.qc"; qd: "ak.qd"; qe: "ak.qe"; qf: "ak.qf"; qg: "ak.qg"; qh: "ak.qh"; qi: "ak.qi"; qj: "ak.qj"; qk: "ak.qk"; ql: "ak.ql"; qm: "ak.qm"; qn: "ak.qn"; qo: "ak.qo"; qp: "ak.qp"; qq: "ak.qq"; qr: "ak.qr"; qs: "ak.qs"; qt: "ak.qt"; qu: "ak.qu"; qv: "ak.qv"; qw: "ak.qw"; qx: "ak.qx"; qy: "ak.qy"; qz: "ak.qz"; ra: "ak.ra"; rb: "ak.rb"; rc: "ak.rc"; rd: "ak.rd"; re: "ak.re"; rf: "ak.rf"; rg: "ak.rg"; rh: "ak.rh"; ri: "ak.ri"; rj: "ak.rj"; rk: "ak.rk"; rl: "ak.rl"; rm: "ak.rm"; rn: "ak.rn"; ro: "ak.ro"; rp: "ak.rp"; rq: "ak.rq"; rr: "ak.rr"; rs: "ak.rs"; rt: "ak.rt"; ru: "ak.ru"; rv: "ak.rv"; rw: "ak.rw"; rx: "ak.rx"; ry: "ak.ry"; rz: "ak.rz"; sa: "ak.sa"; sb: "ak.sb"; sc: "ak.sc"; sd: "ak.sd"; se: "ak.se"; sf: "ak.sf"; sg: "ak.sg"; sh: "ak.sh"; si: "ak.si"; sj: "ak.sj"; sk: "ak.sk"; sl: "ak.sl"; sm: "ak.sm"; sn: "ak.sn"; so: "ak.so"; sp: "ak.sp"; sq: "ak.sq"; sr: "ak.sr"; ss: "ak.ss"; st: "ak.st"; su: "ak.su"; sv: "ak.sv"; sw: "ak.sw"; sx: "ak.sx"; sy: "ak.sy"; sz: "ak.sz"; ta: "ak.ta"; tb: "ak.tb"; tc: "ak.tc"; td: "ak.td"; te: "ak.te"; tf: "ak.tf"; tg: "ak.tg"; th: "ak.th"; ti: "ak.ti"; tj: "ak.tj"; tk: "ak.tk"; tl: "ak.tl"; tm: "ak.tm"; tn: "ak.tn"; to: "ak.to"; tp: "ak.tp"; tq: "ak.tq"; tr: "ak.tr"; ts: "ak.ts"; tt: "ak.tt"; tu: "ak.tu"; tv: "ak.tv"; tw: "ak.tw"; tx: "ak.tx"; ty: "ak.ty"; tz: "ak.tz"; ua: "ak.ua"; ub: "ak.ub"; uc: "ak.uc"; ud: "ak.ud"; ue: "ak.ue"; uf: "ak.uf"; ug: "ak.ug"; uh: "ak.uh"; ui: "ak.ui"; uj: "ak.uj"; uk: "ak.uk"; ul: "ak.ul"; um: "ak.um"; un: "ak.un"; uo: "ak.uo"; up: "ak.up"; uq: "ak.uq"; ur: "ak.ur"; us: "ak.us"; ut: "ak.ut"; uu: "ak.uu"; uv: "ak.uv"; uw: "ak.uw"; ux: "ak.ux"; uy: "ak.uy"; uz: "ak.uz"; va: "ak.va"; vb: "ak.vb"; vc: "ak.vc"; vd: "ak.vd"; ve: "ak.ve"; vf: "ak.vf"; vg: "ak.vg"; vh: "ak.vh"; vi: "ak.vi"; vj: "ak.vj"; vk: "ak.vk"; vl: "ak.vl"; vm: "ak.vm"; vn: "ak.vn"; vo: "ak.vo"; vp: "ak.vp"; vq: "ak.vq"; vr: "ak.vr"; vs: "ak.vs"; vt: "ak.vt"; vu: "ak.vu"; vv: "ak.vv"; vw: "ak.vw"; vx: "ak.vx"; vy: "ak.vy"; vz: "ak.vz"; wa: "ak.wa"; wb: "ak.wb"; wc: "ak.wc"; wd: "ak.wd"; we: "ak.we"; wf: "ak.wf"; wg: "ak.wg"; wh: "ak.wh"; wi: "ak.wi"; wj: "ak.wj"; wk: "ak.wk"; wl: "ak.wl"; wm: "ak.wm"; wn: "ak.wn"; wo: "ak.wo"; wp: "ak.wp"; wq: "ak.wq"; wr: "ak.wr"; ws: "ak.ws"; wt: "ak.wt"; wu: "ak.wu"; wv: "ak.wv"; ww: "ak.ww"; wx: "ak.wx"; wy: "ak.wy"; wz: "ak.wz"; xa: "ak.xa"; xb: "ak.xb"; xc: "ak.xc"; xd: "ak.xd"; xe: "ak.xe"; xf: "ak.xf"; xg: "ak.xg"; xh: "ak.xh"; xi: "ak.xi"; xj: "ak.xj"; xk: "ak.xk"; xl: "ak.xl"; xm: "ak.xm"; xn: "ak.xn"; xo: "ak.xo"; xp: "ak.xp"; xq: "ak.xq"; xr: "ak.xr"; xs: "ak.xs"; xt: "ak.xt"; xu: "ak.xu"; xv: "ak.xv"; xw: "ak.xw"; xx: "ak.xx"; xy: "ak.xy"; xz: "ak.xz"; ya: "ak.ya"; yb: "ak.yb"; yc: "ak.yc"; yd: "ak.yd"; ye: "ak.ye"; yf: "ak.yf"; yg: "ak.yg"; yh: "ak.yh"; yi: "ak.yi"; yj: "ak.yj"; yk: "ak.yk"; yl: "ak.yl"; ym: "ak.ym"; yn: "ak.yn"; yo: "ak.yo"; yp: "ak.yp"; yq: "ak.yq"; yr: "ak.yr"; ys: "ak.ys"; yt: "ak.yt"; yu: "ak.yu"; yv: "ak.yv"; yw: "ak.yw"; yx: "ak.yx"; yy: "ak.yy"; yz: "ak.yz"; za: "ak.za"; zb: "ak.zb"; zc: "ak.zc"; zd: "ak.zd"; ze: "ak.ze"; zf: "ak.zf"; zg: "ak.zg"; zh: "ak.zh"; zi: "ak.zi"; zj: "ak.zj"; zk: "ak.zk"; zl: "ak.zl"; zm: "ak.zm"; zn: "ak.zn"; zo: "ak.zo"; zp: "ak.zp"; zq: "ak.zq"; zr: "ak.zr"; zs: "ak.zs"; zt: "ak.zt"; zu: "ak.zu"; zv: "ak.zv"; zw: "ak.zw"; zx: "ak.zx"; zy: "ak.zy"; zz: "ak.zz"; }; al: { aa: "al.aa"; ab: "al.ab"; ac: "al.ac"; ad: "al.ad"; ae: "al.ae"; af: "al.af"; ag: "al.ag"; ah: "al.ah"; ai: "al.ai"; aj: "al.aj"; ak: "al.ak"; al: "al.al"; am: "al.am"; an: "al.an"; ao: "al.ao"; ap: "al.ap"; aq: "al.aq"; ar: "al.ar"; as: "al.as"; at: "al.at"; au: "al.au"; av: "al.av"; aw: "al.aw"; ax: "al.ax"; ay: "al.ay"; az: "al.az"; ba: "al.ba"; bb: "al.bb"; bc: "al.bc"; bd: "al.bd"; be: "al.be"; bf: "al.bf"; bg: "al.bg"; bh: "al.bh"; bi: "al.bi"; bj: "al.bj"; bk: "al.bk"; bl: "al.bl"; bm: "al.bm"; bn: "al.bn"; bo: "al.bo"; bp: "al.bp"; bq: "al.bq"; br: "al.br"; bs: "al.bs"; bt: "al.bt"; bu: "al.bu"; bv: "al.bv"; bw: "al.bw"; bx: "al.bx"; by: "al.by"; bz: "al.bz"; ca: "al.ca"; cb: "al.cb"; cc: "al.cc"; cd: "al.cd"; ce: "al.ce"; cf: "al.cf"; cg: "al.cg"; ch: "al.ch"; ci: "al.ci"; cj: "al.cj"; ck: "al.ck"; cl: "al.cl"; cm: "al.cm"; cn: "al.cn"; co: "al.co"; cp: "al.cp"; cq: "al.cq"; cr: "al.cr"; cs: "al.cs"; ct: "al.ct"; cu: "al.cu"; cv: "al.cv"; cw: "al.cw"; cx: "al.cx"; cy: "al.cy"; cz: "al.cz"; da: "al.da"; db: "al.db"; dc: "al.dc"; dd: "al.dd"; de: "al.de"; df: "al.df"; dg: "al.dg"; dh: "al.dh"; di: "al.di"; dj: "al.dj"; dk: "al.dk"; dl: "al.dl"; dm: "al.dm"; dn: "al.dn"; do: "al.do"; dp: "al.dp"; dq: "al.dq"; dr: "al.dr"; ds: "al.ds"; dt: "al.dt"; du: "al.du"; dv: "al.dv"; dw: "al.dw"; dx: "al.dx"; dy: "al.dy"; dz: "al.dz"; ea: "al.ea"; eb: "al.eb"; ec: "al.ec"; ed: "al.ed"; ee: "al.ee"; ef: "al.ef"; eg: "al.eg"; eh: "al.eh"; ei: "al.ei"; ej: "al.ej"; ek: "al.ek"; el: "al.el"; em: "al.em"; en: "al.en"; eo: "al.eo"; ep: "al.ep"; eq: "al.eq"; er: "al.er"; es: "al.es"; et: "al.et"; eu: "al.eu"; ev: "al.ev"; ew: "al.ew"; ex: "al.ex"; ey: "al.ey"; ez: "al.ez"; fa: "al.fa"; fb: "al.fb"; fc: "al.fc"; fd: "al.fd"; fe: "al.fe"; ff: "al.ff"; fg: "al.fg"; fh: "al.fh"; fi: "al.fi"; fj: "al.fj"; fk: "al.fk"; fl: "al.fl"; fm: "al.fm"; fn: "al.fn"; fo: "al.fo"; fp: "al.fp"; fq: "al.fq"; fr: "al.fr"; fs: "al.fs"; ft: "al.ft"; fu: "al.fu"; fv: "al.fv"; fw: "al.fw"; fx: "al.fx"; fy: "al.fy"; fz: "al.fz"; ga: "al.ga"; gb: "al.gb"; gc: "al.gc"; gd: "al.gd"; ge: "al.ge"; gf: "al.gf"; gg: "al.gg"; gh: "al.gh"; gi: "al.gi"; gj: "al.gj"; gk: "al.gk"; gl: "al.gl"; gm: "al.gm"; gn: "al.gn"; go: "al.go"; gp: "al.gp"; gq: "al.gq"; gr: "al.gr"; gs: "al.gs"; gt: "al.gt"; gu: "al.gu"; gv: "al.gv"; gw: "al.gw"; gx: "al.gx"; gy: "al.gy"; gz: "al.gz"; ha: "al.ha"; hb: "al.hb"; hc: "al.hc"; hd: "al.hd"; he: "al.he"; hf: "al.hf"; hg: "al.hg"; hh: "al.hh"; hi: "al.hi"; hj: "al.hj"; hk: "al.hk"; hl: "al.hl"; hm: "al.hm"; hn: "al.hn"; ho: "al.ho"; hp: "al.hp"; hq: "al.hq"; hr: "al.hr"; hs: "al.hs"; ht: "al.ht"; hu: "al.hu"; hv: "al.hv"; hw: "al.hw"; hx: "al.hx"; hy: "al.hy"; hz: "al.hz"; ia: "al.ia"; ib: "al.ib"; ic: "al.ic"; id: "al.id"; ie: "al.ie"; if: "al.if"; ig: "al.ig"; ih: "al.ih"; ii: "al.ii"; ij: "al.ij"; ik: "al.ik"; il: "al.il"; im: "al.im"; in: "al.in"; io: "al.io"; ip: "al.ip"; iq: "al.iq"; ir: "al.ir"; is: "al.is"; it: "al.it"; iu: "al.iu"; iv: "al.iv"; iw: "al.iw"; ix: "al.ix"; iy: "al.iy"; iz: "al.iz"; ja: "al.ja"; jb: "al.jb"; jc: "al.jc"; jd: "al.jd"; je: "al.je"; jf: "al.jf"; jg: "al.jg"; jh: "al.jh"; ji: "al.ji"; jj: "al.jj"; jk: "al.jk"; jl: "al.jl"; jm: "al.jm"; jn: "al.jn"; jo: "al.jo"; jp: "al.jp"; jq: "al.jq"; jr: "al.jr"; js: "al.js"; jt: "al.jt"; ju: "al.ju"; jv: "al.jv"; jw: "al.jw"; jx: "al.jx"; jy: "al.jy"; jz: "al.jz"; ka: "al.ka"; kb: "al.kb"; kc: "al.kc"; kd: "al.kd"; ke: "al.ke"; kf: "al.kf"; kg: "al.kg"; kh: "al.kh"; ki: "al.ki"; kj: "al.kj"; kk: "al.kk"; kl: "al.kl"; km: "al.km"; kn: "al.kn"; ko: "al.ko"; kp: "al.kp"; kq: "al.kq"; kr: "al.kr"; ks: "al.ks"; kt: "al.kt"; ku: "al.ku"; kv: "al.kv"; kw: "al.kw"; kx: "al.kx"; ky: "al.ky"; kz: "al.kz"; la: "al.la"; lb: "al.lb"; lc: "al.lc"; ld: "al.ld"; le: "al.le"; lf: "al.lf"; lg: "al.lg"; lh: "al.lh"; li: "al.li"; lj: "al.lj"; lk: "al.lk"; ll: "al.ll"; lm: "al.lm"; ln: "al.ln"; lo: "al.lo"; lp: "al.lp"; lq: "al.lq"; lr: "al.lr"; ls: "al.ls"; lt: "al.lt"; lu: "al.lu"; lv: "al.lv"; lw: "al.lw"; lx: "al.lx"; ly: "al.ly"; lz: "al.lz"; ma: "al.ma"; mb: "al.mb"; mc: "al.mc"; md: "al.md"; me: "al.me"; mf: "al.mf"; mg: "al.mg"; mh: "al.mh"; mi: "al.mi"; mj: "al.mj"; mk: "al.mk"; ml: "al.ml"; mm: "al.mm"; mn: "al.mn"; mo: "al.mo"; mp: "al.mp"; mq: "al.mq"; mr: "al.mr"; ms: "al.ms"; mt: "al.mt"; mu: "al.mu"; mv: "al.mv"; mw: "al.mw"; mx: "al.mx"; my: "al.my"; mz: "al.mz"; na: "al.na"; nb: "al.nb"; nc: "al.nc"; nd: "al.nd"; ne: "al.ne"; nf: "al.nf"; ng: "al.ng"; nh: "al.nh"; ni: "al.ni"; nj: "al.nj"; nk: "al.nk"; nl: "al.nl"; nm: "al.nm"; nn: "al.nn"; no: "al.no"; np: "al.np"; nq: "al.nq"; nr: "al.nr"; ns: "al.ns"; nt: "al.nt"; nu: "al.nu"; nv: "al.nv"; nw: "al.nw"; nx: "al.nx"; ny: "al.ny"; nz: "al.nz"; oa: "al.oa"; ob: "al.ob"; oc: "al.oc"; od: "al.od"; oe: "al.oe"; of: "al.of"; og: "al.og"; oh: "al.oh"; oi: "al.oi"; oj: "al.oj"; ok: "al.ok"; ol: "al.ol"; om: "al.om"; on: "al.on"; oo: "al.oo"; op: "al.op"; oq: "al.oq"; or: "al.or"; os: "al.os"; ot: "al.ot"; ou: "al.ou"; ov: "al.ov"; ow: "al.ow"; ox: "al.ox"; oy: "al.oy"; oz: "al.oz"; pa: "al.pa"; pb: "al.pb"; pc: "al.pc"; pd: "al.pd"; pe: "al.pe"; pf: "al.pf"; pg: "al.pg"; ph: "al.ph"; pi: "al.pi"; pj: "al.pj"; pk: "al.pk"; pl: "al.pl"; pm: "al.pm"; pn: "al.pn"; po: "al.po"; pp: "al.pp"; pq: "al.pq"; pr: "al.pr"; ps: "al.ps"; pt: "al.pt"; pu: "al.pu"; pv: "al.pv"; pw: "al.pw"; px: "al.px"; py: "al.py"; pz: "al.pz"; qa: "al.qa"; qb: "al.qb"; qc: "al.qc"; qd: "al.qd"; qe: "al.qe"; qf: "al.qf"; qg: "al.qg"; qh: "al.qh"; qi: "al.qi"; qj: "al.qj"; qk: "al.qk"; ql: "al.ql"; qm: "al.qm"; qn: "al.qn"; qo: "al.qo"; qp: "al.qp"; qq: "al.qq"; qr: "al.qr"; qs: "al.qs"; qt: "al.qt"; qu: "al.qu"; qv: "al.qv"; qw: "al.qw"; qx: "al.qx"; qy: "al.qy"; qz: "al.qz"; ra: "al.ra"; rb: "al.rb"; rc: "al.rc"; rd: "al.rd"; re: "al.re"; rf: "al.rf"; rg: "al.rg"; rh: "al.rh"; ri: "al.ri"; rj: "al.rj"; rk: "al.rk"; rl: "al.rl"; rm: "al.rm"; rn: "al.rn"; ro: "al.ro"; rp: "al.rp"; rq: "al.rq"; rr: "al.rr"; rs: "al.rs"; rt: "al.rt"; ru: "al.ru"; rv: "al.rv"; rw: "al.rw"; rx: "al.rx"; ry: "al.ry"; rz: "al.rz"; sa: "al.sa"; sb: "al.sb"; sc: "al.sc"; sd: "al.sd"; se: "al.se"; sf: "al.sf"; sg: "al.sg"; sh: "al.sh"; si: "al.si"; sj: "al.sj"; sk: "al.sk"; sl: "al.sl"; sm: "al.sm"; sn: "al.sn"; so: "al.so"; sp: "al.sp"; sq: "al.sq"; sr: "al.sr"; ss: "al.ss"; st: "al.st"; su: "al.su"; sv: "al.sv"; sw: "al.sw"; sx: "al.sx"; sy: "al.sy"; sz: "al.sz"; ta: "al.ta"; tb: "al.tb"; tc: "al.tc"; td: "al.td"; te: "al.te"; tf: "al.tf"; tg: "al.tg"; th: "al.th"; ti: "al.ti"; tj: "al.tj"; tk: "al.tk"; tl: "al.tl"; tm: "al.tm"; tn: "al.tn"; to: "al.to"; tp: "al.tp"; tq: "al.tq"; tr: "al.tr"; ts: "al.ts"; tt: "al.tt"; tu: "al.tu"; tv: "al.tv"; tw: "al.tw"; tx: "al.tx"; ty: "al.ty"; tz: "al.tz"; ua: "al.ua"; ub: "al.ub"; uc: "al.uc"; ud: "al.ud"; ue: "al.ue"; uf: "al.uf"; ug: "al.ug"; uh: "al.uh"; ui: "al.ui"; uj: "al.uj"; uk: "al.uk"; ul: "al.ul"; um: "al.um"; un: "al.un"; uo: "al.uo"; up: "al.up"; uq: "al.uq"; ur: "al.ur"; us: "al.us"; ut: "al.ut"; uu: "al.uu"; uv: "al.uv"; uw: "al.uw"; ux: "al.ux"; uy: "al.uy"; uz: "al.uz"; va: "al.va"; vb: "al.vb"; vc: "al.vc"; vd: "al.vd"; ve: "al.ve"; vf: "al.vf"; vg: "al.vg"; vh: "al.vh"; vi: "al.vi"; vj: "al.vj"; vk: "al.vk"; vl: "al.vl"; vm: "al.vm"; vn: "al.vn"; vo: "al.vo"; vp: "al.vp"; vq: "al.vq"; vr: "al.vr"; vs: "al.vs"; vt: "al.vt"; vu: "al.vu"; vv: "al.vv"; vw: "al.vw"; vx: "al.vx"; vy: "al.vy"; vz: "al.vz"; wa: "al.wa"; wb: "al.wb"; wc: "al.wc"; wd: "al.wd"; we: "al.we"; wf: "al.wf"; wg: "al.wg"; wh: "al.wh"; wi: "al.wi"; wj: "al.wj"; wk: "al.wk"; wl: "al.wl"; wm: "al.wm"; wn: "al.wn"; wo: "al.wo"; wp: "al.wp"; wq: "al.wq"; wr: "al.wr"; ws: "al.ws"; wt: "al.wt"; wu: "al.wu"; wv: "al.wv"; ww: "al.ww"; wx: "al.wx"; wy: "al.wy"; wz: "al.wz"; xa: "al.xa"; xb: "al.xb"; xc: "al.xc"; xd: "al.xd"; xe: "al.xe"; xf: "al.xf"; xg: "al.xg"; xh: "al.xh"; xi: "al.xi"; xj: "al.xj"; xk: "al.xk"; xl: "al.xl"; xm: "al.xm"; xn: "al.xn"; xo: "al.xo"; xp: "al.xp"; xq: "al.xq"; xr: "al.xr"; xs: "al.xs"; xt: "al.xt"; xu: "al.xu"; xv: "al.xv"; xw: "al.xw"; xx: "al.xx"; xy: "al.xy"; xz: "al.xz"; ya: "al.ya"; yb: "al.yb"; yc: "al.yc"; yd: "al.yd"; ye: "al.ye"; yf: "al.yf"; yg: "al.yg"; yh: "al.yh"; yi: "al.yi"; yj: "al.yj"; yk: "al.yk"; yl: "al.yl"; ym: "al.ym"; yn: "al.yn"; yo: "al.yo"; yp: "al.yp"; yq: "al.yq"; yr: "al.yr"; ys: "al.ys"; yt: "al.yt"; yu: "al.yu"; yv: "al.yv"; yw: "al.yw"; yx: "al.yx"; yy: "al.yy"; yz: "al.yz"; za: "al.za"; zb: "al.zb"; zc: "al.zc"; zd: "al.zd"; ze: "al.ze"; zf: "al.zf"; zg: "al.zg"; zh: "al.zh"; zi: "al.zi"; zj: "al.zj"; zk: "al.zk"; zl: "al.zl"; zm: "al.zm"; zn: "al.zn"; zo: "al.zo"; zp: "al.zp"; zq: "al.zq"; zr: "al.zr"; zs: "al.zs"; zt: "al.zt"; zu: "al.zu"; zv: "al.zv"; zw: "al.zw"; zx: "al.zx"; zy: "al.zy"; zz: "al.zz"; }; am: { aa: "am.aa"; ab: "am.ab"; ac: "am.ac"; ad: "am.ad"; ae: "am.ae"; af: "am.af"; ag: "am.ag"; ah: "am.ah"; ai: "am.ai"; aj: "am.aj"; ak: "am.ak"; al: "am.al"; am: "am.am"; an: "am.an"; ao: "am.ao"; ap: "am.ap"; aq: "am.aq"; ar: "am.ar"; as: "am.as"; at: "am.at"; au: "am.au"; av: "am.av"; aw: "am.aw"; ax: "am.ax"; ay: "am.ay"; az: "am.az"; ba: "am.ba"; bb: "am.bb"; bc: "am.bc"; bd: "am.bd"; be: "am.be"; bf: "am.bf"; bg: "am.bg"; bh: "am.bh"; bi: "am.bi"; bj: "am.bj"; bk: "am.bk"; bl: "am.bl"; bm: "am.bm"; bn: "am.bn"; bo: "am.bo"; bp: "am.bp"; bq: "am.bq"; br: "am.br"; bs: "am.bs"; bt: "am.bt"; bu: "am.bu"; bv: "am.bv"; bw: "am.bw"; bx: "am.bx"; by: "am.by"; bz: "am.bz"; ca: "am.ca"; cb: "am.cb"; cc: "am.cc"; cd: "am.cd"; ce: "am.ce"; cf: "am.cf"; cg: "am.cg"; ch: "am.ch"; ci: "am.ci"; cj: "am.cj"; ck: "am.ck"; cl: "am.cl"; cm: "am.cm"; cn: "am.cn"; co: "am.co"; cp: "am.cp"; cq: "am.cq"; cr: "am.cr"; cs: "am.cs"; ct: "am.ct"; cu: "am.cu"; cv: "am.cv"; cw: "am.cw"; cx: "am.cx"; cy: "am.cy"; cz: "am.cz"; da: "am.da"; db: "am.db"; dc: "am.dc"; dd: "am.dd"; de: "am.de"; df: "am.df"; dg: "am.dg"; dh: "am.dh"; di: "am.di"; dj: "am.dj"; dk: "am.dk"; dl: "am.dl"; dm: "am.dm"; dn: "am.dn"; do: "am.do"; dp: "am.dp"; dq: "am.dq"; dr: "am.dr"; ds: "am.ds"; dt: "am.dt"; du: "am.du"; dv: "am.dv"; dw: "am.dw"; dx: "am.dx"; dy: "am.dy"; dz: "am.dz"; ea: "am.ea"; eb: "am.eb"; ec: "am.ec"; ed: "am.ed"; ee: "am.ee"; ef: "am.ef"; eg: "am.eg"; eh: "am.eh"; ei: "am.ei"; ej: "am.ej"; ek: "am.ek"; el: "am.el"; em: "am.em"; en: "am.en"; eo: "am.eo"; ep: "am.ep"; eq: "am.eq"; er: "am.er"; es: "am.es"; et: "am.et"; eu: "am.eu"; ev: "am.ev"; ew: "am.ew"; ex: "am.ex"; ey: "am.ey"; ez: "am.ez"; fa: "am.fa"; fb: "am.fb"; fc: "am.fc"; fd: "am.fd"; fe: "am.fe"; ff: "am.ff"; fg: "am.fg"; fh: "am.fh"; fi: "am.fi"; fj: "am.fj"; fk: "am.fk"; fl: "am.fl"; fm: "am.fm"; fn: "am.fn"; fo: "am.fo"; fp: "am.fp"; fq: "am.fq"; fr: "am.fr"; fs: "am.fs"; ft: "am.ft"; fu: "am.fu"; fv: "am.fv"; fw: "am.fw"; fx: "am.fx"; fy: "am.fy"; fz: "am.fz"; ga: "am.ga"; gb: "am.gb"; gc: "am.gc"; gd: "am.gd"; ge: "am.ge"; gf: "am.gf"; gg: "am.gg"; gh: "am.gh"; gi: "am.gi"; gj: "am.gj"; gk: "am.gk"; gl: "am.gl"; gm: "am.gm"; gn: "am.gn"; go: "am.go"; gp: "am.gp"; gq: "am.gq"; gr: "am.gr"; gs: "am.gs"; gt: "am.gt"; gu: "am.gu"; gv: "am.gv"; gw: "am.gw"; gx: "am.gx"; gy: "am.gy"; gz: "am.gz"; ha: "am.ha"; hb: "am.hb"; hc: "am.hc"; hd: "am.hd"; he: "am.he"; hf: "am.hf"; hg: "am.hg"; hh: "am.hh"; hi: "am.hi"; hj: "am.hj"; hk: "am.hk"; hl: "am.hl"; hm: "am.hm"; hn: "am.hn"; ho: "am.ho"; hp: "am.hp"; hq: "am.hq"; hr: "am.hr"; hs: "am.hs"; ht: "am.ht"; hu: "am.hu"; hv: "am.hv"; hw: "am.hw"; hx: "am.hx"; hy: "am.hy"; hz: "am.hz"; ia: "am.ia"; ib: "am.ib"; ic: "am.ic"; id: "am.id"; ie: "am.ie"; if: "am.if"; ig: "am.ig"; ih: "am.ih"; ii: "am.ii"; ij: "am.ij"; ik: "am.ik"; il: "am.il"; im: "am.im"; in: "am.in"; io: "am.io"; ip: "am.ip"; iq: "am.iq"; ir: "am.ir"; is: "am.is"; it: "am.it"; iu: "am.iu"; iv: "am.iv"; iw: "am.iw"; ix: "am.ix"; iy: "am.iy"; iz: "am.iz"; ja: "am.ja"; jb: "am.jb"; jc: "am.jc"; jd: "am.jd"; je: "am.je"; jf: "am.jf"; jg: "am.jg"; jh: "am.jh"; ji: "am.ji"; jj: "am.jj"; jk: "am.jk"; jl: "am.jl"; jm: "am.jm"; jn: "am.jn"; jo: "am.jo"; jp: "am.jp"; jq: "am.jq"; jr: "am.jr"; js: "am.js"; jt: "am.jt"; ju: "am.ju"; jv: "am.jv"; jw: "am.jw"; jx: "am.jx"; jy: "am.jy"; jz: "am.jz"; ka: "am.ka"; kb: "am.kb"; kc: "am.kc"; kd: "am.kd"; ke: "am.ke"; kf: "am.kf"; kg: "am.kg"; kh: "am.kh"; ki: "am.ki"; kj: "am.kj"; kk: "am.kk"; kl: "am.kl"; km: "am.km"; kn: "am.kn"; ko: "am.ko"; kp: "am.kp"; kq: "am.kq"; kr: "am.kr"; ks: "am.ks"; kt: "am.kt"; ku: "am.ku"; kv: "am.kv"; kw: "am.kw"; kx: "am.kx"; ky: "am.ky"; kz: "am.kz"; la: "am.la"; lb: "am.lb"; lc: "am.lc"; ld: "am.ld"; le: "am.le"; lf: "am.lf"; lg: "am.lg"; lh: "am.lh"; li: "am.li"; lj: "am.lj"; lk: "am.lk"; ll: "am.ll"; lm: "am.lm"; ln: "am.ln"; lo: "am.lo"; lp: "am.lp"; lq: "am.lq"; lr: "am.lr"; ls: "am.ls"; lt: "am.lt"; lu: "am.lu"; lv: "am.lv"; lw: "am.lw"; lx: "am.lx"; ly: "am.ly"; lz: "am.lz"; ma: "am.ma"; mb: "am.mb"; mc: "am.mc"; md: "am.md"; me: "am.me"; mf: "am.mf"; mg: "am.mg"; mh: "am.mh"; mi: "am.mi"; mj: "am.mj"; mk: "am.mk"; ml: "am.ml"; mm: "am.mm"; mn: "am.mn"; mo: "am.mo"; mp: "am.mp"; mq: "am.mq"; mr: "am.mr"; ms: "am.ms"; mt: "am.mt"; mu: "am.mu"; mv: "am.mv"; mw: "am.mw"; mx: "am.mx"; my: "am.my"; mz: "am.mz"; na: "am.na"; nb: "am.nb"; nc: "am.nc"; nd: "am.nd"; ne: "am.ne"; nf: "am.nf"; ng: "am.ng"; nh: "am.nh"; ni: "am.ni"; nj: "am.nj"; nk: "am.nk"; nl: "am.nl"; nm: "am.nm"; nn: "am.nn"; no: "am.no"; np: "am.np"; nq: "am.nq"; nr: "am.nr"; ns: "am.ns"; nt: "am.nt"; nu: "am.nu"; nv: "am.nv"; nw: "am.nw"; nx: "am.nx"; ny: "am.ny"; nz: "am.nz"; oa: "am.oa"; ob: "am.ob"; oc: "am.oc"; od: "am.od"; oe: "am.oe"; of: "am.of"; og: "am.og"; oh: "am.oh"; oi: "am.oi"; oj: "am.oj"; ok: "am.ok"; ol: "am.ol"; om: "am.om"; on: "am.on"; oo: "am.oo"; op: "am.op"; oq: "am.oq"; or: "am.or"; os: "am.os"; ot: "am.ot"; ou: "am.ou"; ov: "am.ov"; ow: "am.ow"; ox: "am.ox"; oy: "am.oy"; oz: "am.oz"; pa: "am.pa"; pb: "am.pb"; pc: "am.pc"; pd: "am.pd"; pe: "am.pe"; pf: "am.pf"; pg: "am.pg"; ph: "am.ph"; pi: "am.pi"; pj: "am.pj"; pk: "am.pk"; pl: "am.pl"; pm: "am.pm"; pn: "am.pn"; po: "am.po"; pp: "am.pp"; pq: "am.pq"; pr: "am.pr"; ps: "am.ps"; pt: "am.pt"; pu: "am.pu"; pv: "am.pv"; pw: "am.pw"; px: "am.px"; py: "am.py"; pz: "am.pz"; qa: "am.qa"; qb: "am.qb"; qc: "am.qc"; qd: "am.qd"; qe: "am.qe"; qf: "am.qf"; qg: "am.qg"; qh: "am.qh"; qi: "am.qi"; qj: "am.qj"; qk: "am.qk"; ql: "am.ql"; qm: "am.qm"; qn: "am.qn"; qo: "am.qo"; qp: "am.qp"; qq: "am.qq"; qr: "am.qr"; qs: "am.qs"; qt: "am.qt"; qu: "am.qu"; qv: "am.qv"; qw: "am.qw"; qx: "am.qx"; qy: "am.qy"; qz: "am.qz"; ra: "am.ra"; rb: "am.rb"; rc: "am.rc"; rd: "am.rd"; re: "am.re"; rf: "am.rf"; rg: "am.rg"; rh: "am.rh"; ri: "am.ri"; rj: "am.rj"; rk: "am.rk"; rl: "am.rl"; rm: "am.rm"; rn: "am.rn"; ro: "am.ro"; rp: "am.rp"; rq: "am.rq"; rr: "am.rr"; rs: "am.rs"; rt: "am.rt"; ru: "am.ru"; rv: "am.rv"; rw: "am.rw"; rx: "am.rx"; ry: "am.ry"; rz: "am.rz"; sa: "am.sa"; sb: "am.sb"; sc: "am.sc"; sd: "am.sd"; se: "am.se"; sf: "am.sf"; sg: "am.sg"; sh: "am.sh"; si: "am.si"; sj: "am.sj"; sk: "am.sk"; sl: "am.sl"; sm: "am.sm"; sn: "am.sn"; so: "am.so"; sp: "am.sp"; sq: "am.sq"; sr: "am.sr"; ss: "am.ss"; st: "am.st"; su: "am.su"; sv: "am.sv"; sw: "am.sw"; sx: "am.sx"; sy: "am.sy"; sz: "am.sz"; ta: "am.ta"; tb: "am.tb"; tc: "am.tc"; td: "am.td"; te: "am.te"; tf: "am.tf"; tg: "am.tg"; th: "am.th"; ti: "am.ti"; tj: "am.tj"; tk: "am.tk"; tl: "am.tl"; tm: "am.tm"; tn: "am.tn"; to: "am.to"; tp: "am.tp"; tq: "am.tq"; tr: "am.tr"; ts: "am.ts"; tt: "am.tt"; tu: "am.tu"; tv: "am.tv"; tw: "am.tw"; tx: "am.tx"; ty: "am.ty"; tz: "am.tz"; ua: "am.ua"; ub: "am.ub"; uc: "am.uc"; ud: "am.ud"; ue: "am.ue"; uf: "am.uf"; ug: "am.ug"; uh: "am.uh"; ui: "am.ui"; uj: "am.uj"; uk: "am.uk"; ul: "am.ul"; um: "am.um"; un: "am.un"; uo: "am.uo"; up: "am.up"; uq: "am.uq"; ur: "am.ur"; us: "am.us"; ut: "am.ut"; uu: "am.uu"; uv: "am.uv"; uw: "am.uw"; ux: "am.ux"; uy: "am.uy"; uz: "am.uz"; va: "am.va"; vb: "am.vb"; vc: "am.vc"; vd: "am.vd"; ve: "am.ve"; vf: "am.vf"; vg: "am.vg"; vh: "am.vh"; vi: "am.vi"; vj: "am.vj"; vk: "am.vk"; vl: "am.vl"; vm: "am.vm"; vn: "am.vn"; vo: "am.vo"; vp: "am.vp"; vq: "am.vq"; vr: "am.vr"; vs: "am.vs"; vt: "am.vt"; vu: "am.vu"; vv: "am.vv"; vw: "am.vw"; vx: "am.vx"; vy: "am.vy"; vz: "am.vz"; wa: "am.wa"; wb: "am.wb"; wc: "am.wc"; wd: "am.wd"; we: "am.we"; wf: "am.wf"; wg: "am.wg"; wh: "am.wh"; wi: "am.wi"; wj: "am.wj"; wk: "am.wk"; wl: "am.wl"; wm: "am.wm"; wn: "am.wn"; wo: "am.wo"; wp: "am.wp"; wq: "am.wq"; wr: "am.wr"; ws: "am.ws"; wt: "am.wt"; wu: "am.wu"; wv: "am.wv"; ww: "am.ww"; wx: "am.wx"; wy: "am.wy"; wz: "am.wz"; xa: "am.xa"; xb: "am.xb"; xc: "am.xc"; xd: "am.xd"; xe: "am.xe"; xf: "am.xf"; xg: "am.xg"; xh: "am.xh"; xi: "am.xi"; xj: "am.xj"; xk: "am.xk"; xl: "am.xl"; xm: "am.xm"; xn: "am.xn"; xo: "am.xo"; xp: "am.xp"; xq: "am.xq"; xr: "am.xr"; xs: "am.xs"; xt: "am.xt"; xu: "am.xu"; xv: "am.xv"; xw: "am.xw"; xx: "am.xx"; xy: "am.xy"; xz: "am.xz"; ya: "am.ya"; yb: "am.yb"; yc: "am.yc"; yd: "am.yd"; ye: "am.ye"; yf: "am.yf"; yg: "am.yg"; yh: "am.yh"; yi: "am.yi"; yj: "am.yj"; yk: "am.yk"; yl: "am.yl"; ym: "am.ym"; yn: "am.yn"; yo: "am.yo"; yp: "am.yp"; yq: "am.yq"; yr: "am.yr"; ys: "am.ys"; yt: "am.yt"; yu: "am.yu"; yv: "am.yv"; yw: "am.yw"; yx: "am.yx"; yy: "am.yy"; yz: "am.yz"; za: "am.za"; zb: "am.zb"; zc: "am.zc"; zd: "am.zd"; ze: "am.ze"; zf: "am.zf"; zg: "am.zg"; zh: "am.zh"; zi: "am.zi"; zj: "am.zj"; zk: "am.zk"; zl: "am.zl"; zm: "am.zm"; zn: "am.zn"; zo: "am.zo"; zp: "am.zp"; zq: "am.zq"; zr: "am.zr"; zs: "am.zs"; zt: "am.zt"; zu: "am.zu"; zv: "am.zv"; zw: "am.zw"; zx: "am.zx"; zy: "am.zy"; zz: "am.zz"; }; an: { aa: "an.aa"; ab: "an.ab"; ac: "an.ac"; ad: "an.ad"; ae: "an.ae"; af: "an.af"; ag: "an.ag"; ah: "an.ah"; ai: "an.ai"; aj: "an.aj"; ak: "an.ak"; al: "an.al"; am: "an.am"; an: "an.an"; ao: "an.ao"; ap: "an.ap"; aq: "an.aq"; ar: "an.ar"; as: "an.as"; at: "an.at"; au: "an.au"; av: "an.av"; aw: "an.aw"; ax: "an.ax"; ay: "an.ay"; az: "an.az"; ba: "an.ba"; bb: "an.bb"; bc: "an.bc"; bd: "an.bd"; be: "an.be"; bf: "an.bf"; bg: "an.bg"; bh: "an.bh"; bi: "an.bi"; bj: "an.bj"; bk: "an.bk"; bl: "an.bl"; bm: "an.bm"; bn: "an.bn"; bo: "an.bo"; bp: "an.bp"; bq: "an.bq"; br: "an.br"; bs: "an.bs"; bt: "an.bt"; bu: "an.bu"; bv: "an.bv"; bw: "an.bw"; bx: "an.bx"; by: "an.by"; bz: "an.bz"; ca: "an.ca"; cb: "an.cb"; cc: "an.cc"; cd: "an.cd"; ce: "an.ce"; cf: "an.cf"; cg: "an.cg"; ch: "an.ch"; ci: "an.ci"; cj: "an.cj"; ck: "an.ck"; cl: "an.cl"; cm: "an.cm"; cn: "an.cn"; co: "an.co"; cp: "an.cp"; cq: "an.cq"; cr: "an.cr"; cs: "an.cs"; ct: "an.ct"; cu: "an.cu"; cv: "an.cv"; cw: "an.cw"; cx: "an.cx"; cy: "an.cy"; cz: "an.cz"; da: "an.da"; db: "an.db"; dc: "an.dc"; dd: "an.dd"; de: "an.de"; df: "an.df"; dg: "an.dg"; dh: "an.dh"; di: "an.di"; dj: "an.dj"; dk: "an.dk"; dl: "an.dl"; dm: "an.dm"; dn: "an.dn"; do: "an.do"; dp: "an.dp"; dq: "an.dq"; dr: "an.dr"; ds: "an.ds"; dt: "an.dt"; du: "an.du"; dv: "an.dv"; dw: "an.dw"; dx: "an.dx"; dy: "an.dy"; dz: "an.dz"; ea: "an.ea"; eb: "an.eb"; ec: "an.ec"; ed: "an.ed"; ee: "an.ee"; ef: "an.ef"; eg: "an.eg"; eh: "an.eh"; ei: "an.ei"; ej: "an.ej"; ek: "an.ek"; el: "an.el"; em: "an.em"; en: "an.en"; eo: "an.eo"; ep: "an.ep"; eq: "an.eq"; er: "an.er"; es: "an.es"; et: "an.et"; eu: "an.eu"; ev: "an.ev"; ew: "an.ew"; ex: "an.ex"; ey: "an.ey"; ez: "an.ez"; fa: "an.fa"; fb: "an.fb"; fc: "an.fc"; fd: "an.fd"; fe: "an.fe"; ff: "an.ff"; fg: "an.fg"; fh: "an.fh"; fi: "an.fi"; fj: "an.fj"; fk: "an.fk"; fl: "an.fl"; fm: "an.fm"; fn: "an.fn"; fo: "an.fo"; fp: "an.fp"; fq: "an.fq"; fr: "an.fr"; fs: "an.fs"; ft: "an.ft"; fu: "an.fu"; fv: "an.fv"; fw: "an.fw"; fx: "an.fx"; fy: "an.fy"; fz: "an.fz"; ga: "an.ga"; gb: "an.gb"; gc: "an.gc"; gd: "an.gd"; ge: "an.ge"; gf: "an.gf"; gg: "an.gg"; gh: "an.gh"; gi: "an.gi"; gj: "an.gj"; gk: "an.gk"; gl: "an.gl"; gm: "an.gm"; gn: "an.gn"; go: "an.go"; gp: "an.gp"; gq: "an.gq"; gr: "an.gr"; gs: "an.gs"; gt: "an.gt"; gu: "an.gu"; gv: "an.gv"; gw: "an.gw"; gx: "an.gx"; gy: "an.gy"; gz: "an.gz"; ha: "an.ha"; hb: "an.hb"; hc: "an.hc"; hd: "an.hd"; he: "an.he"; hf: "an.hf"; hg: "an.hg"; hh: "an.hh"; hi: "an.hi"; hj: "an.hj"; hk: "an.hk"; hl: "an.hl"; hm: "an.hm"; hn: "an.hn"; ho: "an.ho"; hp: "an.hp"; hq: "an.hq"; hr: "an.hr"; hs: "an.hs"; ht: "an.ht"; hu: "an.hu"; hv: "an.hv"; hw: "an.hw"; hx: "an.hx"; hy: "an.hy"; hz: "an.hz"; ia: "an.ia"; ib: "an.ib"; ic: "an.ic"; id: "an.id"; ie: "an.ie"; if: "an.if"; ig: "an.ig"; ih: "an.ih"; ii: "an.ii"; ij: "an.ij"; ik: "an.ik"; il: "an.il"; im: "an.im"; in: "an.in"; io: "an.io"; ip: "an.ip"; iq: "an.iq"; ir: "an.ir"; is: "an.is"; it: "an.it"; iu: "an.iu"; iv: "an.iv"; iw: "an.iw"; ix: "an.ix"; iy: "an.iy"; iz: "an.iz"; ja: "an.ja"; jb: "an.jb"; jc: "an.jc"; jd: "an.jd"; je: "an.je"; jf: "an.jf"; jg: "an.jg"; jh: "an.jh"; ji: "an.ji"; jj: "an.jj"; jk: "an.jk"; jl: "an.jl"; jm: "an.jm"; jn: "an.jn"; jo: "an.jo"; jp: "an.jp"; jq: "an.jq"; jr: "an.jr"; js: "an.js"; jt: "an.jt"; ju: "an.ju"; jv: "an.jv"; jw: "an.jw"; jx: "an.jx"; jy: "an.jy"; jz: "an.jz"; ka: "an.ka"; kb: "an.kb"; kc: "an.kc"; kd: "an.kd"; ke: "an.ke"; kf: "an.kf"; kg: "an.kg"; kh: "an.kh"; ki: "an.ki"; kj: "an.kj"; kk: "an.kk"; kl: "an.kl"; km: "an.km"; kn: "an.kn"; ko: "an.ko"; kp: "an.kp"; kq: "an.kq"; kr: "an.kr"; ks: "an.ks"; kt: "an.kt"; ku: "an.ku"; kv: "an.kv"; kw: "an.kw"; kx: "an.kx"; ky: "an.ky"; kz: "an.kz"; la: "an.la"; lb: "an.lb"; lc: "an.lc"; ld: "an.ld"; le: "an.le"; lf: "an.lf"; lg: "an.lg"; lh: "an.lh"; li: "an.li"; lj: "an.lj"; lk: "an.lk"; ll: "an.ll"; lm: "an.lm"; ln: "an.ln"; lo: "an.lo"; lp: "an.lp"; lq: "an.lq"; lr: "an.lr"; ls: "an.ls"; lt: "an.lt"; lu: "an.lu"; lv: "an.lv"; lw: "an.lw"; lx: "an.lx"; ly: "an.ly"; lz: "an.lz"; ma: "an.ma"; mb: "an.mb"; mc: "an.mc"; md: "an.md"; me: "an.me"; mf: "an.mf"; mg: "an.mg"; mh: "an.mh"; mi: "an.mi"; mj: "an.mj"; mk: "an.mk"; ml: "an.ml"; mm: "an.mm"; mn: "an.mn"; mo: "an.mo"; mp: "an.mp"; mq: "an.mq"; mr: "an.mr"; ms: "an.ms"; mt: "an.mt"; mu: "an.mu"; mv: "an.mv"; mw: "an.mw"; mx: "an.mx"; my: "an.my"; mz: "an.mz"; na: "an.na"; nb: "an.nb"; nc: "an.nc"; nd: "an.nd"; ne: "an.ne"; nf: "an.nf"; ng: "an.ng"; nh: "an.nh"; ni: "an.ni"; nj: "an.nj"; nk: "an.nk"; nl: "an.nl"; nm: "an.nm"; nn: "an.nn"; no: "an.no"; np: "an.np"; nq: "an.nq"; nr: "an.nr"; ns: "an.ns"; nt: "an.nt"; nu: "an.nu"; nv: "an.nv"; nw: "an.nw"; nx: "an.nx"; ny: "an.ny"; nz: "an.nz"; oa: "an.oa"; ob: "an.ob"; oc: "an.oc"; od: "an.od"; oe: "an.oe"; of: "an.of"; og: "an.og"; oh: "an.oh"; oi: "an.oi"; oj: "an.oj"; ok: "an.ok"; ol: "an.ol"; om: "an.om"; on: "an.on"; oo: "an.oo"; op: "an.op"; oq: "an.oq"; or: "an.or"; os: "an.os"; ot: "an.ot"; ou: "an.ou"; ov: "an.ov"; ow: "an.ow"; ox: "an.ox"; oy: "an.oy"; oz: "an.oz"; pa: "an.pa"; pb: "an.pb"; pc: "an.pc"; pd: "an.pd"; pe: "an.pe"; pf: "an.pf"; pg: "an.pg"; ph: "an.ph"; pi: "an.pi"; pj: "an.pj"; pk: "an.pk"; pl: "an.pl"; pm: "an.pm"; pn: "an.pn"; po: "an.po"; pp: "an.pp"; pq: "an.pq"; pr: "an.pr"; ps: "an.ps"; pt: "an.pt"; pu: "an.pu"; pv: "an.pv"; pw: "an.pw"; px: "an.px"; py: "an.py"; pz: "an.pz"; qa: "an.qa"; qb: "an.qb"; qc: "an.qc"; qd: "an.qd"; qe: "an.qe"; qf: "an.qf"; qg: "an.qg"; qh: "an.qh"; qi: "an.qi"; qj: "an.qj"; qk: "an.qk"; ql: "an.ql"; qm: "an.qm"; qn: "an.qn"; qo: "an.qo"; qp: "an.qp"; qq: "an.qq"; qr: "an.qr"; qs: "an.qs"; qt: "an.qt"; qu: "an.qu"; qv: "an.qv"; qw: "an.qw"; qx: "an.qx"; qy: "an.qy"; qz: "an.qz"; ra: "an.ra"; rb: "an.rb"; rc: "an.rc"; rd: "an.rd"; re: "an.re"; rf: "an.rf"; rg: "an.rg"; rh: "an.rh"; ri: "an.ri"; rj: "an.rj"; rk: "an.rk"; rl: "an.rl"; rm: "an.rm"; rn: "an.rn"; ro: "an.ro"; rp: "an.rp"; rq: "an.rq"; rr: "an.rr"; rs: "an.rs"; rt: "an.rt"; ru: "an.ru"; rv: "an.rv"; rw: "an.rw"; rx: "an.rx"; ry: "an.ry"; rz: "an.rz"; sa: "an.sa"; sb: "an.sb"; sc: "an.sc"; sd: "an.sd"; se: "an.se"; sf: "an.sf"; sg: "an.sg"; sh: "an.sh"; si: "an.si"; sj: "an.sj"; sk: "an.sk"; sl: "an.sl"; sm: "an.sm"; sn: "an.sn"; so: "an.so"; sp: "an.sp"; sq: "an.sq"; sr: "an.sr"; ss: "an.ss"; st: "an.st"; su: "an.su"; sv: "an.sv"; sw: "an.sw"; sx: "an.sx"; sy: "an.sy"; sz: "an.sz"; ta: "an.ta"; tb: "an.tb"; tc: "an.tc"; td: "an.td"; te: "an.te"; tf: "an.tf"; tg: "an.tg"; th: "an.th"; ti: "an.ti"; tj: "an.tj"; tk: "an.tk"; tl: "an.tl"; tm: "an.tm"; tn: "an.tn"; to: "an.to"; tp: "an.tp"; tq: "an.tq"; tr: "an.tr"; ts: "an.ts"; tt: "an.tt"; tu: "an.tu"; tv: "an.tv"; tw: "an.tw"; tx: "an.tx"; ty: "an.ty"; tz: "an.tz"; ua: "an.ua"; ub: "an.ub"; uc: "an.uc"; ud: "an.ud"; ue: "an.ue"; uf: "an.uf"; ug: "an.ug"; uh: "an.uh"; ui: "an.ui"; uj: "an.uj"; uk: "an.uk"; ul: "an.ul"; um: "an.um"; un: "an.un"; uo: "an.uo"; up: "an.up"; uq: "an.uq"; ur: "an.ur"; us: "an.us"; ut: "an.ut"; uu: "an.uu"; uv: "an.uv"; uw: "an.uw"; ux: "an.ux"; uy: "an.uy"; uz: "an.uz"; va: "an.va"; vb: "an.vb"; vc: "an.vc"; vd: "an.vd"; ve: "an.ve"; vf: "an.vf"; vg: "an.vg"; vh: "an.vh"; vi: "an.vi"; vj: "an.vj"; vk: "an.vk"; vl: "an.vl"; vm: "an.vm"; vn: "an.vn"; vo: "an.vo"; vp: "an.vp"; vq: "an.vq"; vr: "an.vr"; vs: "an.vs"; vt: "an.vt"; vu: "an.vu"; vv: "an.vv"; vw: "an.vw"; vx: "an.vx"; vy: "an.vy"; vz: "an.vz"; wa: "an.wa"; wb: "an.wb"; wc: "an.wc"; wd: "an.wd"; we: "an.we"; wf: "an.wf"; wg: "an.wg"; wh: "an.wh"; wi: "an.wi"; wj: "an.wj"; wk: "an.wk"; wl: "an.wl"; wm: "an.wm"; wn: "an.wn"; wo: "an.wo"; wp: "an.wp"; wq: "an.wq"; wr: "an.wr"; ws: "an.ws"; wt: "an.wt"; wu: "an.wu"; wv: "an.wv"; ww: "an.ww"; wx: "an.wx"; wy: "an.wy"; wz: "an.wz"; xa: "an.xa"; xb: "an.xb"; xc: "an.xc"; xd: "an.xd"; xe: "an.xe"; xf: "an.xf"; xg: "an.xg"; xh: "an.xh"; xi: "an.xi"; xj: "an.xj"; xk: "an.xk"; xl: "an.xl"; xm: "an.xm"; xn: "an.xn"; xo: "an.xo"; xp: "an.xp"; xq: "an.xq"; xr: "an.xr"; xs: "an.xs"; xt: "an.xt"; xu: "an.xu"; xv: "an.xv"; xw: "an.xw"; xx: "an.xx"; xy: "an.xy"; xz: "an.xz"; ya: "an.ya"; yb: "an.yb"; yc: "an.yc"; yd: "an.yd"; ye: "an.ye"; yf: "an.yf"; yg: "an.yg"; yh: "an.yh"; yi: "an.yi"; yj: "an.yj"; yk: "an.yk"; yl: "an.yl"; ym: "an.ym"; yn: "an.yn"; yo: "an.yo"; yp: "an.yp"; yq: "an.yq"; yr: "an.yr"; ys: "an.ys"; yt: "an.yt"; yu: "an.yu"; yv: "an.yv"; yw: "an.yw"; yx: "an.yx"; yy: "an.yy"; yz: "an.yz"; za: "an.za"; zb: "an.zb"; zc: "an.zc"; zd: "an.zd"; ze: "an.ze"; zf: "an.zf"; zg: "an.zg"; zh: "an.zh"; zi: "an.zi"; zj: "an.zj"; zk: "an.zk"; zl: "an.zl"; zm: "an.zm"; zn: "an.zn"; zo: "an.zo"; zp: "an.zp"; zq: "an.zq"; zr: "an.zr"; zs: "an.zs"; zt: "an.zt"; zu: "an.zu"; zv: "an.zv"; zw: "an.zw"; zx: "an.zx"; zy: "an.zy"; zz: "an.zz"; }; ao: { aa: "ao.aa"; ab: "ao.ab"; ac: "ao.ac"; ad: "ao.ad"; ae: "ao.ae"; af: "ao.af"; ag: "ao.ag"; ah: "ao.ah"; ai: "ao.ai"; aj: "ao.aj"; ak: "ao.ak"; al: "ao.al"; am: "ao.am"; an: "ao.an"; ao: "ao.ao"; ap: "ao.ap"; aq: "ao.aq"; ar: "ao.ar"; as: "ao.as"; at: "ao.at"; au: "ao.au"; av: "ao.av"; aw: "ao.aw"; ax: "ao.ax"; ay: "ao.ay"; az: "ao.az"; ba: "ao.ba"; bb: "ao.bb"; bc: "ao.bc"; bd: "ao.bd"; be: "ao.be"; bf: "ao.bf"; bg: "ao.bg"; bh: "ao.bh"; bi: "ao.bi"; bj: "ao.bj"; bk: "ao.bk"; bl: "ao.bl"; bm: "ao.bm"; bn: "ao.bn"; bo: "ao.bo"; bp: "ao.bp"; bq: "ao.bq"; br: "ao.br"; bs: "ao.bs"; bt: "ao.bt"; bu: "ao.bu"; bv: "ao.bv"; bw: "ao.bw"; bx: "ao.bx"; by: "ao.by"; bz: "ao.bz"; ca: "ao.ca"; cb: "ao.cb"; cc: "ao.cc"; cd: "ao.cd"; ce: "ao.ce"; cf: "ao.cf"; cg: "ao.cg"; ch: "ao.ch"; ci: "ao.ci"; cj: "ao.cj"; ck: "ao.ck"; cl: "ao.cl"; cm: "ao.cm"; cn: "ao.cn"; co: "ao.co"; cp: "ao.cp"; cq: "ao.cq"; cr: "ao.cr"; cs: "ao.cs"; ct: "ao.ct"; cu: "ao.cu"; cv: "ao.cv"; cw: "ao.cw"; cx: "ao.cx"; cy: "ao.cy"; cz: "ao.cz"; da: "ao.da"; db: "ao.db"; dc: "ao.dc"; dd: "ao.dd"; de: "ao.de"; df: "ao.df"; dg: "ao.dg"; dh: "ao.dh"; di: "ao.di"; dj: "ao.dj"; dk: "ao.dk"; dl: "ao.dl"; dm: "ao.dm"; dn: "ao.dn"; do: "ao.do"; dp: "ao.dp"; dq: "ao.dq"; dr: "ao.dr"; ds: "ao.ds"; dt: "ao.dt"; du: "ao.du"; dv: "ao.dv"; dw: "ao.dw"; dx: "ao.dx"; dy: "ao.dy"; dz: "ao.dz"; ea: "ao.ea"; eb: "ao.eb"; ec: "ao.ec"; ed: "ao.ed"; ee: "ao.ee"; ef: "ao.ef"; eg: "ao.eg"; eh: "ao.eh"; ei: "ao.ei"; ej: "ao.ej"; ek: "ao.ek"; el: "ao.el"; em: "ao.em"; en: "ao.en"; eo: "ao.eo"; ep: "ao.ep"; eq: "ao.eq"; er: "ao.er"; es: "ao.es"; et: "ao.et"; eu: "ao.eu"; ev: "ao.ev"; ew: "ao.ew"; ex: "ao.ex"; ey: "ao.ey"; ez: "ao.ez"; fa: "ao.fa"; fb: "ao.fb"; fc: "ao.fc"; fd: "ao.fd"; fe: "ao.fe"; ff: "ao.ff"; fg: "ao.fg"; fh: "ao.fh"; fi: "ao.fi"; fj: "ao.fj"; fk: "ao.fk"; fl: "ao.fl"; fm: "ao.fm"; fn: "ao.fn"; fo: "ao.fo"; fp: "ao.fp"; fq: "ao.fq"; fr: "ao.fr"; fs: "ao.fs"; ft: "ao.ft"; fu: "ao.fu"; fv: "ao.fv"; fw: "ao.fw"; fx: "ao.fx"; fy: "ao.fy"; fz: "ao.fz"; ga: "ao.ga"; gb: "ao.gb"; gc: "ao.gc"; gd: "ao.gd"; ge: "ao.ge"; gf: "ao.gf"; gg: "ao.gg"; gh: "ao.gh"; gi: "ao.gi"; gj: "ao.gj"; gk: "ao.gk"; gl: "ao.gl"; gm: "ao.gm"; gn: "ao.gn"; go: "ao.go"; gp: "ao.gp"; gq: "ao.gq"; gr: "ao.gr"; gs: "ao.gs"; gt: "ao.gt"; gu: "ao.gu"; gv: "ao.gv"; gw: "ao.gw"; gx: "ao.gx"; gy: "ao.gy"; gz: "ao.gz"; ha: "ao.ha"; hb: "ao.hb"; hc: "ao.hc"; hd: "ao.hd"; he: "ao.he"; hf: "ao.hf"; hg: "ao.hg"; hh: "ao.hh"; hi: "ao.hi"; hj: "ao.hj"; hk: "ao.hk"; hl: "ao.hl"; hm: "ao.hm"; hn: "ao.hn"; ho: "ao.ho"; hp: "ao.hp"; hq: "ao.hq"; hr: "ao.hr"; hs: "ao.hs"; ht: "ao.ht"; hu: "ao.hu"; hv: "ao.hv"; hw: "ao.hw"; hx: "ao.hx"; hy: "ao.hy"; hz: "ao.hz"; ia: "ao.ia"; ib: "ao.ib"; ic: "ao.ic"; id: "ao.id"; ie: "ao.ie"; if: "ao.if"; ig: "ao.ig"; ih: "ao.ih"; ii: "ao.ii"; ij: "ao.ij"; ik: "ao.ik"; il: "ao.il"; im: "ao.im"; in: "ao.in"; io: "ao.io"; ip: "ao.ip"; iq: "ao.iq"; ir: "ao.ir"; is: "ao.is"; it: "ao.it"; iu: "ao.iu"; iv: "ao.iv"; iw: "ao.iw"; ix: "ao.ix"; iy: "ao.iy"; iz: "ao.iz"; ja: "ao.ja"; jb: "ao.jb"; jc: "ao.jc"; jd: "ao.jd"; je: "ao.je"; jf: "ao.jf"; jg: "ao.jg"; jh: "ao.jh"; ji: "ao.ji"; jj: "ao.jj"; jk: "ao.jk"; jl: "ao.jl"; jm: "ao.jm"; jn: "ao.jn"; jo: "ao.jo"; jp: "ao.jp"; jq: "ao.jq"; jr: "ao.jr"; js: "ao.js"; jt: "ao.jt"; ju: "ao.ju"; jv: "ao.jv"; jw: "ao.jw"; jx: "ao.jx"; jy: "ao.jy"; jz: "ao.jz"; ka: "ao.ka"; kb: "ao.kb"; kc: "ao.kc"; kd: "ao.kd"; ke: "ao.ke"; kf: "ao.kf"; kg: "ao.kg"; kh: "ao.kh"; ki: "ao.ki"; kj: "ao.kj"; kk: "ao.kk"; kl: "ao.kl"; km: "ao.km"; kn: "ao.kn"; ko: "ao.ko"; kp: "ao.kp"; kq: "ao.kq"; kr: "ao.kr"; ks: "ao.ks"; kt: "ao.kt"; ku: "ao.ku"; kv: "ao.kv"; kw: "ao.kw"; kx: "ao.kx"; ky: "ao.ky"; kz: "ao.kz"; la: "ao.la"; lb: "ao.lb"; lc: "ao.lc"; ld: "ao.ld"; le: "ao.le"; lf: "ao.lf"; lg: "ao.lg"; lh: "ao.lh"; li: "ao.li"; lj: "ao.lj"; lk: "ao.lk"; ll: "ao.ll"; lm: "ao.lm"; ln: "ao.ln"; lo: "ao.lo"; lp: "ao.lp"; lq: "ao.lq"; lr: "ao.lr"; ls: "ao.ls"; lt: "ao.lt"; lu: "ao.lu"; lv: "ao.lv"; lw: "ao.lw"; lx: "ao.lx"; ly: "ao.ly"; lz: "ao.lz"; ma: "ao.ma"; mb: "ao.mb"; mc: "ao.mc"; md: "ao.md"; me: "ao.me"; mf: "ao.mf"; mg: "ao.mg"; mh: "ao.mh"; mi: "ao.mi"; mj: "ao.mj"; mk: "ao.mk"; ml: "ao.ml"; mm: "ao.mm"; mn: "ao.mn"; mo: "ao.mo"; mp: "ao.mp"; mq: "ao.mq"; mr: "ao.mr"; ms: "ao.ms"; mt: "ao.mt"; mu: "ao.mu"; mv: "ao.mv"; mw: "ao.mw"; mx: "ao.mx"; my: "ao.my"; mz: "ao.mz"; na: "ao.na"; nb: "ao.nb"; nc: "ao.nc"; nd: "ao.nd"; ne: "ao.ne"; nf: "ao.nf"; ng: "ao.ng"; nh: "ao.nh"; ni: "ao.ni"; nj: "ao.nj"; nk: "ao.nk"; nl: "ao.nl"; nm: "ao.nm"; nn: "ao.nn"; no: "ao.no"; np: "ao.np"; nq: "ao.nq"; nr: "ao.nr"; ns: "ao.ns"; nt: "ao.nt"; nu: "ao.nu"; nv: "ao.nv"; nw: "ao.nw"; nx: "ao.nx"; ny: "ao.ny"; nz: "ao.nz"; oa: "ao.oa"; ob: "ao.ob"; oc: "ao.oc"; od: "ao.od"; oe: "ao.oe"; of: "ao.of"; og: "ao.og"; oh: "ao.oh"; oi: "ao.oi"; oj: "ao.oj"; ok: "ao.ok"; ol: "ao.ol"; om: "ao.om"; on: "ao.on"; oo: "ao.oo"; op: "ao.op"; oq: "ao.oq"; or: "ao.or"; os: "ao.os"; ot: "ao.ot"; ou: "ao.ou"; ov: "ao.ov"; ow: "ao.ow"; ox: "ao.ox"; oy: "ao.oy"; oz: "ao.oz"; pa: "ao.pa"; pb: "ao.pb"; pc: "ao.pc"; pd: "ao.pd"; pe: "ao.pe"; pf: "ao.pf"; pg: "ao.pg"; ph: "ao.ph"; pi: "ao.pi"; pj: "ao.pj"; pk: "ao.pk"; pl: "ao.pl"; pm: "ao.pm"; pn: "ao.pn"; po: "ao.po"; pp: "ao.pp"; pq: "ao.pq"; pr: "ao.pr"; ps: "ao.ps"; pt: "ao.pt"; pu: "ao.pu"; pv: "ao.pv"; pw: "ao.pw"; px: "ao.px"; py: "ao.py"; pz: "ao.pz"; qa: "ao.qa"; qb: "ao.qb"; qc: "ao.qc"; qd: "ao.qd"; qe: "ao.qe"; qf: "ao.qf"; qg: "ao.qg"; qh: "ao.qh"; qi: "ao.qi"; qj: "ao.qj"; qk: "ao.qk"; ql: "ao.ql"; qm: "ao.qm"; qn: "ao.qn"; qo: "ao.qo"; qp: "ao.qp"; qq: "ao.qq"; qr: "ao.qr"; qs: "ao.qs"; qt: "ao.qt"; qu: "ao.qu"; qv: "ao.qv"; qw: "ao.qw"; qx: "ao.qx"; qy: "ao.qy"; qz: "ao.qz"; ra: "ao.ra"; rb: "ao.rb"; rc: "ao.rc"; rd: "ao.rd"; re: "ao.re"; rf: "ao.rf"; rg: "ao.rg"; rh: "ao.rh"; ri: "ao.ri"; rj: "ao.rj"; rk: "ao.rk"; rl: "ao.rl"; rm: "ao.rm"; rn: "ao.rn"; ro: "ao.ro"; rp: "ao.rp"; rq: "ao.rq"; rr: "ao.rr"; rs: "ao.rs"; rt: "ao.rt"; ru: "ao.ru"; rv: "ao.rv"; rw: "ao.rw"; rx: "ao.rx"; ry: "ao.ry"; rz: "ao.rz"; sa: "ao.sa"; sb: "ao.sb"; sc: "ao.sc"; sd: "ao.sd"; se: "ao.se"; sf: "ao.sf"; sg: "ao.sg"; sh: "ao.sh"; si: "ao.si"; sj: "ao.sj"; sk: "ao.sk"; sl: "ao.sl"; sm: "ao.sm"; sn: "ao.sn"; so: "ao.so"; sp: "ao.sp"; sq: "ao.sq"; sr: "ao.sr"; ss: "ao.ss"; st: "ao.st"; su: "ao.su"; sv: "ao.sv"; sw: "ao.sw"; sx: "ao.sx"; sy: "ao.sy"; sz: "ao.sz"; ta: "ao.ta"; tb: "ao.tb"; tc: "ao.tc"; td: "ao.td"; te: "ao.te"; tf: "ao.tf"; tg: "ao.tg"; th: "ao.th"; ti: "ao.ti"; tj: "ao.tj"; tk: "ao.tk"; tl: "ao.tl"; tm: "ao.tm"; tn: "ao.tn"; to: "ao.to"; tp: "ao.tp"; tq: "ao.tq"; tr: "ao.tr"; ts: "ao.ts"; tt: "ao.tt"; tu: "ao.tu"; tv: "ao.tv"; tw: "ao.tw"; tx: "ao.tx"; ty: "ao.ty"; tz: "ao.tz"; ua: "ao.ua"; ub: "ao.ub"; uc: "ao.uc"; ud: "ao.ud"; ue: "ao.ue"; uf: "ao.uf"; ug: "ao.ug"; uh: "ao.uh"; ui: "ao.ui"; uj: "ao.uj"; uk: "ao.uk"; ul: "ao.ul"; um: "ao.um"; un: "ao.un"; uo: "ao.uo"; up: "ao.up"; uq: "ao.uq"; ur: "ao.ur"; us: "ao.us"; ut: "ao.ut"; uu: "ao.uu"; uv: "ao.uv"; uw: "ao.uw"; ux: "ao.ux"; uy: "ao.uy"; uz: "ao.uz"; va: "ao.va"; vb: "ao.vb"; vc: "ao.vc"; vd: "ao.vd"; ve: "ao.ve"; vf: "ao.vf"; vg: "ao.vg"; vh: "ao.vh"; vi: "ao.vi"; vj: "ao.vj"; vk: "ao.vk"; vl: "ao.vl"; vm: "ao.vm"; vn: "ao.vn"; vo: "ao.vo"; vp: "ao.vp"; vq: "ao.vq"; vr: "ao.vr"; vs: "ao.vs"; vt: "ao.vt"; vu: "ao.vu"; vv: "ao.vv"; vw: "ao.vw"; vx: "ao.vx"; vy: "ao.vy"; vz: "ao.vz"; wa: "ao.wa"; wb: "ao.wb"; wc: "ao.wc"; wd: "ao.wd"; we: "ao.we"; wf: "ao.wf"; wg: "ao.wg"; wh: "ao.wh"; wi: "ao.wi"; wj: "ao.wj"; wk: "ao.wk"; wl: "ao.wl"; wm: "ao.wm"; wn: "ao.wn"; wo: "ao.wo"; wp: "ao.wp"; wq: "ao.wq"; wr: "ao.wr"; ws: "ao.ws"; wt: "ao.wt"; wu: "ao.wu"; wv: "ao.wv"; ww: "ao.ww"; wx: "ao.wx"; wy: "ao.wy"; wz: "ao.wz"; xa: "ao.xa"; xb: "ao.xb"; xc: "ao.xc"; xd: "ao.xd"; xe: "ao.xe"; xf: "ao.xf"; xg: "ao.xg"; xh: "ao.xh"; xi: "ao.xi"; xj: "ao.xj"; xk: "ao.xk"; xl: "ao.xl"; xm: "ao.xm"; xn: "ao.xn"; xo: "ao.xo"; xp: "ao.xp"; xq: "ao.xq"; xr: "ao.xr"; xs: "ao.xs"; xt: "ao.xt"; xu: "ao.xu"; xv: "ao.xv"; xw: "ao.xw"; xx: "ao.xx"; xy: "ao.xy"; xz: "ao.xz"; ya: "ao.ya"; yb: "ao.yb"; yc: "ao.yc"; yd: "ao.yd"; ye: "ao.ye"; yf: "ao.yf"; yg: "ao.yg"; yh: "ao.yh"; yi: "ao.yi"; yj: "ao.yj"; yk: "ao.yk"; yl: "ao.yl"; ym: "ao.ym"; yn: "ao.yn"; yo: "ao.yo"; yp: "ao.yp"; yq: "ao.yq"; yr: "ao.yr"; ys: "ao.ys"; yt: "ao.yt"; yu: "ao.yu"; yv: "ao.yv"; yw: "ao.yw"; yx: "ao.yx"; yy: "ao.yy"; yz: "ao.yz"; za: "ao.za"; zb: "ao.zb"; zc: "ao.zc"; zd: "ao.zd"; ze: "ao.ze"; zf: "ao.zf"; zg: "ao.zg"; zh: "ao.zh"; zi: "ao.zi"; zj: "ao.zj"; zk: "ao.zk"; zl: "ao.zl"; zm: "ao.zm"; zn: "ao.zn"; zo: "ao.zo"; zp: "ao.zp"; zq: "ao.zq"; zr: "ao.zr"; zs: "ao.zs"; zt: "ao.zt"; zu: "ao.zu"; zv: "ao.zv"; zw: "ao.zw"; zx: "ao.zx"; zy: "ao.zy"; zz: "ao.zz"; }; ap: { aa: "ap.aa"; ab: "ap.ab"; ac: "ap.ac"; ad: "ap.ad"; ae: "ap.ae"; af: "ap.af"; ag: "ap.ag"; ah: "ap.ah"; ai: "ap.ai"; aj: "ap.aj"; ak: "ap.ak"; al: "ap.al"; am: "ap.am"; an: "ap.an"; ao: "ap.ao"; ap: "ap.ap"; aq: "ap.aq"; ar: "ap.ar"; as: "ap.as"; at: "ap.at"; au: "ap.au"; av: "ap.av"; aw: "ap.aw"; ax: "ap.ax"; ay: "ap.ay"; az: "ap.az"; ba: "ap.ba"; bb: "ap.bb"; bc: "ap.bc"; bd: "ap.bd"; be: "ap.be"; bf: "ap.bf"; bg: "ap.bg"; bh: "ap.bh"; bi: "ap.bi"; bj: "ap.bj"; bk: "ap.bk"; bl: "ap.bl"; bm: "ap.bm"; bn: "ap.bn"; bo: "ap.bo"; bp: "ap.bp"; bq: "ap.bq"; br: "ap.br"; bs: "ap.bs"; bt: "ap.bt"; bu: "ap.bu"; bv: "ap.bv"; bw: "ap.bw"; bx: "ap.bx"; by: "ap.by"; bz: "ap.bz"; ca: "ap.ca"; cb: "ap.cb"; cc: "ap.cc"; cd: "ap.cd"; ce: "ap.ce"; cf: "ap.cf"; cg: "ap.cg"; ch: "ap.ch"; ci: "ap.ci"; cj: "ap.cj"; ck: "ap.ck"; cl: "ap.cl"; cm: "ap.cm"; cn: "ap.cn"; co: "ap.co"; cp: "ap.cp"; cq: "ap.cq"; cr: "ap.cr"; cs: "ap.cs"; ct: "ap.ct"; cu: "ap.cu"; cv: "ap.cv"; cw: "ap.cw"; cx: "ap.cx"; cy: "ap.cy"; cz: "ap.cz"; da: "ap.da"; db: "ap.db"; dc: "ap.dc"; dd: "ap.dd"; de: "ap.de"; df: "ap.df"; dg: "ap.dg"; dh: "ap.dh"; di: "ap.di"; dj: "ap.dj"; dk: "ap.dk"; dl: "ap.dl"; dm: "ap.dm"; dn: "ap.dn"; do: "ap.do"; dp: "ap.dp"; dq: "ap.dq"; dr: "ap.dr"; ds: "ap.ds"; dt: "ap.dt"; du: "ap.du"; dv: "ap.dv"; dw: "ap.dw"; dx: "ap.dx"; dy: "ap.dy"; dz: "ap.dz"; ea: "ap.ea"; eb: "ap.eb"; ec: "ap.ec"; ed: "ap.ed"; ee: "ap.ee"; ef: "ap.ef"; eg: "ap.eg"; eh: "ap.eh"; ei: "ap.ei"; ej: "ap.ej"; ek: "ap.ek"; el: "ap.el"; em: "ap.em"; en: "ap.en"; eo: "ap.eo"; ep: "ap.ep"; eq: "ap.eq"; er: "ap.er"; es: "ap.es"; et: "ap.et"; eu: "ap.eu"; ev: "ap.ev"; ew: "ap.ew"; ex: "ap.ex"; ey: "ap.ey"; ez: "ap.ez"; fa: "ap.fa"; fb: "ap.fb"; fc: "ap.fc"; fd: "ap.fd"; fe: "ap.fe"; ff: "ap.ff"; fg: "ap.fg"; fh: "ap.fh"; fi: "ap.fi"; fj: "ap.fj"; fk: "ap.fk"; fl: "ap.fl"; fm: "ap.fm"; fn: "ap.fn"; fo: "ap.fo"; fp: "ap.fp"; fq: "ap.fq"; fr: "ap.fr"; fs: "ap.fs"; ft: "ap.ft"; fu: "ap.fu"; fv: "ap.fv"; fw: "ap.fw"; fx: "ap.fx"; fy: "ap.fy"; fz: "ap.fz"; ga: "ap.ga"; gb: "ap.gb"; gc: "ap.gc"; gd: "ap.gd"; ge: "ap.ge"; gf: "ap.gf"; gg: "ap.gg"; gh: "ap.gh"; gi: "ap.gi"; gj: "ap.gj"; gk: "ap.gk"; gl: "ap.gl"; gm: "ap.gm"; gn: "ap.gn"; go: "ap.go"; gp: "ap.gp"; gq: "ap.gq"; gr: "ap.gr"; gs: "ap.gs"; gt: "ap.gt"; gu: "ap.gu"; gv: "ap.gv"; gw: "ap.gw"; gx: "ap.gx"; gy: "ap.gy"; gz: "ap.gz"; ha: "ap.ha"; hb: "ap.hb"; hc: "ap.hc"; hd: "ap.hd"; he: "ap.he"; hf: "ap.hf"; hg: "ap.hg"; hh: "ap.hh"; hi: "ap.hi"; hj: "ap.hj"; hk: "ap.hk"; hl: "ap.hl"; hm: "ap.hm"; hn: "ap.hn"; ho: "ap.ho"; hp: "ap.hp"; hq: "ap.hq"; hr: "ap.hr"; hs: "ap.hs"; ht: "ap.ht"; hu: "ap.hu"; hv: "ap.hv"; hw: "ap.hw"; hx: "ap.hx"; hy: "ap.hy"; hz: "ap.hz"; ia: "ap.ia"; ib: "ap.ib"; ic: "ap.ic"; id: "ap.id"; ie: "ap.ie"; if: "ap.if"; ig: "ap.ig"; ih: "ap.ih"; ii: "ap.ii"; ij: "ap.ij"; ik: "ap.ik"; il: "ap.il"; im: "ap.im"; in: "ap.in"; io: "ap.io"; ip: "ap.ip"; iq: "ap.iq"; ir: "ap.ir"; is: "ap.is"; it: "ap.it"; iu: "ap.iu"; iv: "ap.iv"; iw: "ap.iw"; ix: "ap.ix"; iy: "ap.iy"; iz: "ap.iz"; ja: "ap.ja"; jb: "ap.jb"; jc: "ap.jc"; jd: "ap.jd"; je: "ap.je"; jf: "ap.jf"; jg: "ap.jg"; jh: "ap.jh"; ji: "ap.ji"; jj: "ap.jj"; jk: "ap.jk"; jl: "ap.jl"; jm: "ap.jm"; jn: "ap.jn"; jo: "ap.jo"; jp: "ap.jp"; jq: "ap.jq"; jr: "ap.jr"; js: "ap.js"; jt: "ap.jt"; ju: "ap.ju"; jv: "ap.jv"; jw: "ap.jw"; jx: "ap.jx"; jy: "ap.jy"; jz: "ap.jz"; ka: "ap.ka"; kb: "ap.kb"; kc: "ap.kc"; kd: "ap.kd"; ke: "ap.ke"; kf: "ap.kf"; kg: "ap.kg"; kh: "ap.kh"; ki: "ap.ki"; kj: "ap.kj"; kk: "ap.kk"; kl: "ap.kl"; km: "ap.km"; kn: "ap.kn"; ko: "ap.ko"; kp: "ap.kp"; kq: "ap.kq"; kr: "ap.kr"; ks: "ap.ks"; kt: "ap.kt"; ku: "ap.ku"; kv: "ap.kv"; kw: "ap.kw"; kx: "ap.kx"; ky: "ap.ky"; kz: "ap.kz"; la: "ap.la"; lb: "ap.lb"; lc: "ap.lc"; ld: "ap.ld"; le: "ap.le"; lf: "ap.lf"; lg: "ap.lg"; lh: "ap.lh"; li: "ap.li"; lj: "ap.lj"; lk: "ap.lk"; ll: "ap.ll"; lm: "ap.lm"; ln: "ap.ln"; lo: "ap.lo"; lp: "ap.lp"; lq: "ap.lq"; lr: "ap.lr"; ls: "ap.ls"; lt: "ap.lt"; lu: "ap.lu"; lv: "ap.lv"; lw: "ap.lw"; lx: "ap.lx"; ly: "ap.ly"; lz: "ap.lz"; ma: "ap.ma"; mb: "ap.mb"; mc: "ap.mc"; md: "ap.md"; me: "ap.me"; mf: "ap.mf"; mg: "ap.mg"; mh: "ap.mh"; mi: "ap.mi"; mj: "ap.mj"; mk: "ap.mk"; ml: "ap.ml"; mm: "ap.mm"; mn: "ap.mn"; mo: "ap.mo"; mp: "ap.mp"; mq: "ap.mq"; mr: "ap.mr"; ms: "ap.ms"; mt: "ap.mt"; mu: "ap.mu"; mv: "ap.mv"; mw: "ap.mw"; mx: "ap.mx"; my: "ap.my"; mz: "ap.mz"; na: "ap.na"; nb: "ap.nb"; nc: "ap.nc"; nd: "ap.nd"; ne: "ap.ne"; nf: "ap.nf"; ng: "ap.ng"; nh: "ap.nh"; ni: "ap.ni"; nj: "ap.nj"; nk: "ap.nk"; nl: "ap.nl"; nm: "ap.nm"; nn: "ap.nn"; no: "ap.no"; np: "ap.np"; nq: "ap.nq"; nr: "ap.nr"; ns: "ap.ns"; nt: "ap.nt"; nu: "ap.nu"; nv: "ap.nv"; nw: "ap.nw"; nx: "ap.nx"; ny: "ap.ny"; nz: "ap.nz"; oa: "ap.oa"; ob: "ap.ob"; oc: "ap.oc"; od: "ap.od"; oe: "ap.oe"; of: "ap.of"; og: "ap.og"; oh: "ap.oh"; oi: "ap.oi"; oj: "ap.oj"; ok: "ap.ok"; ol: "ap.ol"; om: "ap.om"; on: "ap.on"; oo: "ap.oo"; op: "ap.op"; oq: "ap.oq"; or: "ap.or"; os: "ap.os"; ot: "ap.ot"; ou: "ap.ou"; ov: "ap.ov"; ow: "ap.ow"; ox: "ap.ox"; oy: "ap.oy"; oz: "ap.oz"; pa: "ap.pa"; pb: "ap.pb"; pc: "ap.pc"; pd: "ap.pd"; pe: "ap.pe"; pf: "ap.pf"; pg: "ap.pg"; ph: "ap.ph"; pi: "ap.pi"; pj: "ap.pj"; pk: "ap.pk"; pl: "ap.pl"; pm: "ap.pm"; pn: "ap.pn"; po: "ap.po"; pp: "ap.pp"; pq: "ap.pq"; pr: "ap.pr"; ps: "ap.ps"; pt: "ap.pt"; pu: "ap.pu"; pv: "ap.pv"; pw: "ap.pw"; px: "ap.px"; py: "ap.py"; pz: "ap.pz"; qa: "ap.qa"; qb: "ap.qb"; qc: "ap.qc"; qd: "ap.qd"; qe: "ap.qe"; qf: "ap.qf"; qg: "ap.qg"; qh: "ap.qh"; qi: "ap.qi"; qj: "ap.qj"; qk: "ap.qk"; ql: "ap.ql"; qm: "ap.qm"; qn: "ap.qn"; qo: "ap.qo"; qp: "ap.qp"; qq: "ap.qq"; qr: "ap.qr"; qs: "ap.qs"; qt: "ap.qt"; qu: "ap.qu"; qv: "ap.qv"; qw: "ap.qw"; qx: "ap.qx"; qy: "ap.qy"; qz: "ap.qz"; ra: "ap.ra"; rb: "ap.rb"; rc: "ap.rc"; rd: "ap.rd"; re: "ap.re"; rf: "ap.rf"; rg: "ap.rg"; rh: "ap.rh"; ri: "ap.ri"; rj: "ap.rj"; rk: "ap.rk"; rl: "ap.rl"; rm: "ap.rm"; rn: "ap.rn"; ro: "ap.ro"; rp: "ap.rp"; rq: "ap.rq"; rr: "ap.rr"; rs: "ap.rs"; rt: "ap.rt"; ru: "ap.ru"; rv: "ap.rv"; rw: "ap.rw"; rx: "ap.rx"; ry: "ap.ry"; rz: "ap.rz"; sa: "ap.sa"; sb: "ap.sb"; sc: "ap.sc"; sd: "ap.sd"; se: "ap.se"; sf: "ap.sf"; sg: "ap.sg"; sh: "ap.sh"; si: "ap.si"; sj: "ap.sj"; sk: "ap.sk"; sl: "ap.sl"; sm: "ap.sm"; sn: "ap.sn"; so: "ap.so"; sp: "ap.sp"; sq: "ap.sq"; sr: "ap.sr"; ss: "ap.ss"; st: "ap.st"; su: "ap.su"; sv: "ap.sv"; sw: "ap.sw"; sx: "ap.sx"; sy: "ap.sy"; sz: "ap.sz"; ta: "ap.ta"; tb: "ap.tb"; tc: "ap.tc"; td: "ap.td"; te: "ap.te"; tf: "ap.tf"; tg: "ap.tg"; th: "ap.th"; ti: "ap.ti"; tj: "ap.tj"; tk: "ap.tk"; tl: "ap.tl"; tm: "ap.tm"; tn: "ap.tn"; to: "ap.to"; tp: "ap.tp"; tq: "ap.tq"; tr: "ap.tr"; ts: "ap.ts"; tt: "ap.tt"; tu: "ap.tu"; tv: "ap.tv"; tw: "ap.tw"; tx: "ap.tx"; ty: "ap.ty"; tz: "ap.tz"; ua: "ap.ua"; ub: "ap.ub"; uc: "ap.uc"; ud: "ap.ud"; ue: "ap.ue"; uf: "ap.uf"; ug: "ap.ug"; uh: "ap.uh"; ui: "ap.ui"; uj: "ap.uj"; uk: "ap.uk"; ul: "ap.ul"; um: "ap.um"; un: "ap.un"; uo: "ap.uo"; up: "ap.up"; uq: "ap.uq"; ur: "ap.ur"; us: "ap.us"; ut: "ap.ut"; uu: "ap.uu"; uv: "ap.uv"; uw: "ap.uw"; ux: "ap.ux"; uy: "ap.uy"; uz: "ap.uz"; va: "ap.va"; vb: "ap.vb"; vc: "ap.vc"; vd: "ap.vd"; ve: "ap.ve"; vf: "ap.vf"; vg: "ap.vg"; vh: "ap.vh"; vi: "ap.vi"; vj: "ap.vj"; vk: "ap.vk"; vl: "ap.vl"; vm: "ap.vm"; vn: "ap.vn"; vo: "ap.vo"; vp: "ap.vp"; vq: "ap.vq"; vr: "ap.vr"; vs: "ap.vs"; vt: "ap.vt"; vu: "ap.vu"; vv: "ap.vv"; vw: "ap.vw"; vx: "ap.vx"; vy: "ap.vy"; vz: "ap.vz"; wa: "ap.wa"; wb: "ap.wb"; wc: "ap.wc"; wd: "ap.wd"; we: "ap.we"; wf: "ap.wf"; wg: "ap.wg"; wh: "ap.wh"; wi: "ap.wi"; wj: "ap.wj"; wk: "ap.wk"; wl: "ap.wl"; wm: "ap.wm"; wn: "ap.wn"; wo: "ap.wo"; wp: "ap.wp"; wq: "ap.wq"; wr: "ap.wr"; ws: "ap.ws"; wt: "ap.wt"; wu: "ap.wu"; wv: "ap.wv"; ww: "ap.ww"; wx: "ap.wx"; wy: "ap.wy"; wz: "ap.wz"; xa: "ap.xa"; xb: "ap.xb"; xc: "ap.xc"; xd: "ap.xd"; xe: "ap.xe"; xf: "ap.xf"; xg: "ap.xg"; xh: "ap.xh"; xi: "ap.xi"; xj: "ap.xj"; xk: "ap.xk"; xl: "ap.xl"; xm: "ap.xm"; xn: "ap.xn"; xo: "ap.xo"; xp: "ap.xp"; xq: "ap.xq"; xr: "ap.xr"; xs: "ap.xs"; xt: "ap.xt"; xu: "ap.xu"; xv: "ap.xv"; xw: "ap.xw"; xx: "ap.xx"; xy: "ap.xy"; xz: "ap.xz"; ya: "ap.ya"; yb: "ap.yb"; yc: "ap.yc"; yd: "ap.yd"; ye: "ap.ye"; yf: "ap.yf"; yg: "ap.yg"; yh: "ap.yh"; yi: "ap.yi"; yj: "ap.yj"; yk: "ap.yk"; yl: "ap.yl"; ym: "ap.ym"; yn: "ap.yn"; yo: "ap.yo"; yp: "ap.yp"; yq: "ap.yq"; yr: "ap.yr"; ys: "ap.ys"; yt: "ap.yt"; yu: "ap.yu"; yv: "ap.yv"; yw: "ap.yw"; yx: "ap.yx"; yy: "ap.yy"; yz: "ap.yz"; za: "ap.za"; zb: "ap.zb"; zc: "ap.zc"; zd: "ap.zd"; ze: "ap.ze"; zf: "ap.zf"; zg: "ap.zg"; zh: "ap.zh"; zi: "ap.zi"; zj: "ap.zj"; zk: "ap.zk"; zl: "ap.zl"; zm: "ap.zm"; zn: "ap.zn"; zo: "ap.zo"; zp: "ap.zp"; zq: "ap.zq"; zr: "ap.zr"; zs: "ap.zs"; zt: "ap.zt"; zu: "ap.zu"; zv: "ap.zv"; zw: "ap.zw"; zx: "ap.zx"; zy: "ap.zy"; zz: "ap.zz"; }; aq: { aa: "aq.aa"; ab: "aq.ab"; ac: "aq.ac"; ad: "aq.ad"; ae: "aq.ae"; af: "aq.af"; ag: "aq.ag"; ah: "aq.ah"; ai: "aq.ai"; aj: "aq.aj"; ak: "aq.ak"; al: "aq.al"; am: "aq.am"; an: "aq.an"; ao: "aq.ao"; ap: "aq.ap"; aq: "aq.aq"; ar: "aq.ar"; as: "aq.as"; at: "aq.at"; au: "aq.au"; av: "aq.av"; aw: "aq.aw"; ax: "aq.ax"; ay: "aq.ay"; az: "aq.az"; ba: "aq.ba"; bb: "aq.bb"; bc: "aq.bc"; bd: "aq.bd"; be: "aq.be"; bf: "aq.bf"; bg: "aq.bg"; bh: "aq.bh"; bi: "aq.bi"; bj: "aq.bj"; bk: "aq.bk"; bl: "aq.bl"; bm: "aq.bm"; bn: "aq.bn"; bo: "aq.bo"; bp: "aq.bp"; bq: "aq.bq"; br: "aq.br"; bs: "aq.bs"; bt: "aq.bt"; bu: "aq.bu"; bv: "aq.bv"; bw: "aq.bw"; bx: "aq.bx"; by: "aq.by"; bz: "aq.bz"; ca: "aq.ca"; cb: "aq.cb"; cc: "aq.cc"; cd: "aq.cd"; ce: "aq.ce"; cf: "aq.cf"; cg: "aq.cg"; ch: "aq.ch"; ci: "aq.ci"; cj: "aq.cj"; ck: "aq.ck"; cl: "aq.cl"; cm: "aq.cm"; cn: "aq.cn"; co: "aq.co"; cp: "aq.cp"; cq: "aq.cq"; cr: "aq.cr"; cs: "aq.cs"; ct: "aq.ct"; cu: "aq.cu"; cv: "aq.cv"; cw: "aq.cw"; cx: "aq.cx"; cy: "aq.cy"; cz: "aq.cz"; da: "aq.da"; db: "aq.db"; dc: "aq.dc"; dd: "aq.dd"; de: "aq.de"; df: "aq.df"; dg: "aq.dg"; dh: "aq.dh"; di: "aq.di"; dj: "aq.dj"; dk: "aq.dk"; dl: "aq.dl"; dm: "aq.dm"; dn: "aq.dn"; do: "aq.do"; dp: "aq.dp"; dq: "aq.dq"; dr: "aq.dr"; ds: "aq.ds"; dt: "aq.dt"; du: "aq.du"; dv: "aq.dv"; dw: "aq.dw"; dx: "aq.dx"; dy: "aq.dy"; dz: "aq.dz"; ea: "aq.ea"; eb: "aq.eb"; ec: "aq.ec"; ed: "aq.ed"; ee: "aq.ee"; ef: "aq.ef"; eg: "aq.eg"; eh: "aq.eh"; ei: "aq.ei"; ej: "aq.ej"; ek: "aq.ek"; el: "aq.el"; em: "aq.em"; en: "aq.en"; eo: "aq.eo"; ep: "aq.ep"; eq: "aq.eq"; er: "aq.er"; es: "aq.es"; et: "aq.et"; eu: "aq.eu"; ev: "aq.ev"; ew: "aq.ew"; ex: "aq.ex"; ey: "aq.ey"; ez: "aq.ez"; fa: "aq.fa"; fb: "aq.fb"; fc: "aq.fc"; fd: "aq.fd"; fe: "aq.fe"; ff: "aq.ff"; fg: "aq.fg"; fh: "aq.fh"; fi: "aq.fi"; fj: "aq.fj"; fk: "aq.fk"; fl: "aq.fl"; fm: "aq.fm"; fn: "aq.fn"; fo: "aq.fo"; fp: "aq.fp"; fq: "aq.fq"; fr: "aq.fr"; fs: "aq.fs"; ft: "aq.ft"; fu: "aq.fu"; fv: "aq.fv"; fw: "aq.fw"; fx: "aq.fx"; fy: "aq.fy"; fz: "aq.fz"; ga: "aq.ga"; gb: "aq.gb"; gc: "aq.gc"; gd: "aq.gd"; ge: "aq.ge"; gf: "aq.gf"; gg: "aq.gg"; gh: "aq.gh"; gi: "aq.gi"; gj: "aq.gj"; gk: "aq.gk"; gl: "aq.gl"; gm: "aq.gm"; gn: "aq.gn"; go: "aq.go"; gp: "aq.gp"; gq: "aq.gq"; gr: "aq.gr"; gs: "aq.gs"; gt: "aq.gt"; gu: "aq.gu"; gv: "aq.gv"; gw: "aq.gw"; gx: "aq.gx"; gy: "aq.gy"; gz: "aq.gz"; ha: "aq.ha"; hb: "aq.hb"; hc: "aq.hc"; hd: "aq.hd"; he: "aq.he"; hf: "aq.hf"; hg: "aq.hg"; hh: "aq.hh"; hi: "aq.hi"; hj: "aq.hj"; hk: "aq.hk"; hl: "aq.hl"; hm: "aq.hm"; hn: "aq.hn"; ho: "aq.ho"; hp: "aq.hp"; hq: "aq.hq"; hr: "aq.hr"; hs: "aq.hs"; ht: "aq.ht"; hu: "aq.hu"; hv: "aq.hv"; hw: "aq.hw"; hx: "aq.hx"; hy: "aq.hy"; hz: "aq.hz"; ia: "aq.ia"; ib: "aq.ib"; ic: "aq.ic"; id: "aq.id"; ie: "aq.ie"; if: "aq.if"; ig: "aq.ig"; ih: "aq.ih"; ii: "aq.ii"; ij: "aq.ij"; ik: "aq.ik"; il: "aq.il"; im: "aq.im"; in: "aq.in"; io: "aq.io"; ip: "aq.ip"; iq: "aq.iq"; ir: "aq.ir"; is: "aq.is"; it: "aq.it"; iu: "aq.iu"; iv: "aq.iv"; iw: "aq.iw"; ix: "aq.ix"; iy: "aq.iy"; iz: "aq.iz"; ja: "aq.ja"; jb: "aq.jb"; jc: "aq.jc"; jd: "aq.jd"; je: "aq.je"; jf: "aq.jf"; jg: "aq.jg"; jh: "aq.jh"; ji: "aq.ji"; jj: "aq.jj"; jk: "aq.jk"; jl: "aq.jl"; jm: "aq.jm"; jn: "aq.jn"; jo: "aq.jo"; jp: "aq.jp"; jq: "aq.jq"; jr: "aq.jr"; js: "aq.js"; jt: "aq.jt"; ju: "aq.ju"; jv: "aq.jv"; jw: "aq.jw"; jx: "aq.jx"; jy: "aq.jy"; jz: "aq.jz"; ka: "aq.ka"; kb: "aq.kb"; kc: "aq.kc"; kd: "aq.kd"; ke: "aq.ke"; kf: "aq.kf"; kg: "aq.kg"; kh: "aq.kh"; ki: "aq.ki"; kj: "aq.kj"; kk: "aq.kk"; kl: "aq.kl"; km: "aq.km"; kn: "aq.kn"; ko: "aq.ko"; kp: "aq.kp"; kq: "aq.kq"; kr: "aq.kr"; ks: "aq.ks"; kt: "aq.kt"; ku: "aq.ku"; kv: "aq.kv"; kw: "aq.kw"; kx: "aq.kx"; ky: "aq.ky"; kz: "aq.kz"; la: "aq.la"; lb: "aq.lb"; lc: "aq.lc"; ld: "aq.ld"; le: "aq.le"; lf: "aq.lf"; lg: "aq.lg"; lh: "aq.lh"; li: "aq.li"; lj: "aq.lj"; lk: "aq.lk"; ll: "aq.ll"; lm: "aq.lm"; ln: "aq.ln"; lo: "aq.lo"; lp: "aq.lp"; lq: "aq.lq"; lr: "aq.lr"; ls: "aq.ls"; lt: "aq.lt"; lu: "aq.lu"; lv: "aq.lv"; lw: "aq.lw"; lx: "aq.lx"; ly: "aq.ly"; lz: "aq.lz"; ma: "aq.ma"; mb: "aq.mb"; mc: "aq.mc"; md: "aq.md"; me: "aq.me"; mf: "aq.mf"; mg: "aq.mg"; mh: "aq.mh"; mi: "aq.mi"; mj: "aq.mj"; mk: "aq.mk"; ml: "aq.ml"; mm: "aq.mm"; mn: "aq.mn"; mo: "aq.mo"; mp: "aq.mp"; mq: "aq.mq"; mr: "aq.mr"; ms: "aq.ms"; mt: "aq.mt"; mu: "aq.mu"; mv: "aq.mv"; mw: "aq.mw"; mx: "aq.mx"; my: "aq.my"; mz: "aq.mz"; na: "aq.na"; nb: "aq.nb"; nc: "aq.nc"; nd: "aq.nd"; ne: "aq.ne"; nf: "aq.nf"; ng: "aq.ng"; nh: "aq.nh"; ni: "aq.ni"; nj: "aq.nj"; nk: "aq.nk"; nl: "aq.nl"; nm: "aq.nm"; nn: "aq.nn"; no: "aq.no"; np: "aq.np"; nq: "aq.nq"; nr: "aq.nr"; ns: "aq.ns"; nt: "aq.nt"; nu: "aq.nu"; nv: "aq.nv"; nw: "aq.nw"; nx: "aq.nx"; ny: "aq.ny"; nz: "aq.nz"; oa: "aq.oa"; ob: "aq.ob"; oc: "aq.oc"; od: "aq.od"; oe: "aq.oe"; of: "aq.of"; og: "aq.og"; oh: "aq.oh"; oi: "aq.oi"; oj: "aq.oj"; ok: "aq.ok"; ol: "aq.ol"; om: "aq.om"; on: "aq.on"; oo: "aq.oo"; op: "aq.op"; oq: "aq.oq"; or: "aq.or"; os: "aq.os"; ot: "aq.ot"; ou: "aq.ou"; ov: "aq.ov"; ow: "aq.ow"; ox: "aq.ox"; oy: "aq.oy"; oz: "aq.oz"; pa: "aq.pa"; pb: "aq.pb"; pc: "aq.pc"; pd: "aq.pd"; pe: "aq.pe"; pf: "aq.pf"; pg: "aq.pg"; ph: "aq.ph"; pi: "aq.pi"; pj: "aq.pj"; pk: "aq.pk"; pl: "aq.pl"; pm: "aq.pm"; pn: "aq.pn"; po: "aq.po"; pp: "aq.pp"; pq: "aq.pq"; pr: "aq.pr"; ps: "aq.ps"; pt: "aq.pt"; pu: "aq.pu"; pv: "aq.pv"; pw: "aq.pw"; px: "aq.px"; py: "aq.py"; pz: "aq.pz"; qa: "aq.qa"; qb: "aq.qb"; qc: "aq.qc"; qd: "aq.qd"; qe: "aq.qe"; qf: "aq.qf"; qg: "aq.qg"; qh: "aq.qh"; qi: "aq.qi"; qj: "aq.qj"; qk: "aq.qk"; ql: "aq.ql"; qm: "aq.qm"; qn: "aq.qn"; qo: "aq.qo"; qp: "aq.qp"; qq: "aq.qq"; qr: "aq.qr"; qs: "aq.qs"; qt: "aq.qt"; qu: "aq.qu"; qv: "aq.qv"; qw: "aq.qw"; qx: "aq.qx"; qy: "aq.qy"; qz: "aq.qz"; ra: "aq.ra"; rb: "aq.rb"; rc: "aq.rc"; rd: "aq.rd"; re: "aq.re"; rf: "aq.rf"; rg: "aq.rg"; rh: "aq.rh"; ri: "aq.ri"; rj: "aq.rj"; rk: "aq.rk"; rl: "aq.rl"; rm: "aq.rm"; rn: "aq.rn"; ro: "aq.ro"; rp: "aq.rp"; rq: "aq.rq"; rr: "aq.rr"; rs: "aq.rs"; rt: "aq.rt"; ru: "aq.ru"; rv: "aq.rv"; rw: "aq.rw"; rx: "aq.rx"; ry: "aq.ry"; rz: "aq.rz"; sa: "aq.sa"; sb: "aq.sb"; sc: "aq.sc"; sd: "aq.sd"; se: "aq.se"; sf: "aq.sf"; sg: "aq.sg"; sh: "aq.sh"; si: "aq.si"; sj: "aq.sj"; sk: "aq.sk"; sl: "aq.sl"; sm: "aq.sm"; sn: "aq.sn"; so: "aq.so"; sp: "aq.sp"; sq: "aq.sq"; sr: "aq.sr"; ss: "aq.ss"; st: "aq.st"; su: "aq.su"; sv: "aq.sv"; sw: "aq.sw"; sx: "aq.sx"; sy: "aq.sy"; sz: "aq.sz"; ta: "aq.ta"; tb: "aq.tb"; tc: "aq.tc"; td: "aq.td"; te: "aq.te"; tf: "aq.tf"; tg: "aq.tg"; th: "aq.th"; ti: "aq.ti"; tj: "aq.tj"; tk: "aq.tk"; tl: "aq.tl"; tm: "aq.tm"; tn: "aq.tn"; to: "aq.to"; tp: "aq.tp"; tq: "aq.tq"; tr: "aq.tr"; ts: "aq.ts"; tt: "aq.tt"; tu: "aq.tu"; tv: "aq.tv"; tw: "aq.tw"; tx: "aq.tx"; ty: "aq.ty"; tz: "aq.tz"; ua: "aq.ua"; ub: "aq.ub"; uc: "aq.uc"; ud: "aq.ud"; ue: "aq.ue"; uf: "aq.uf"; ug: "aq.ug"; uh: "aq.uh"; ui: "aq.ui"; uj: "aq.uj"; uk: "aq.uk"; ul: "aq.ul"; um: "aq.um"; un: "aq.un"; uo: "aq.uo"; up: "aq.up"; uq: "aq.uq"; ur: "aq.ur"; us: "aq.us"; ut: "aq.ut"; uu: "aq.uu"; uv: "aq.uv"; uw: "aq.uw"; ux: "aq.ux"; uy: "aq.uy"; uz: "aq.uz"; va: "aq.va"; vb: "aq.vb"; vc: "aq.vc"; vd: "aq.vd"; ve: "aq.ve"; vf: "aq.vf"; vg: "aq.vg"; vh: "aq.vh"; vi: "aq.vi"; vj: "aq.vj"; vk: "aq.vk"; vl: "aq.vl"; vm: "aq.vm"; vn: "aq.vn"; vo: "aq.vo"; vp: "aq.vp"; vq: "aq.vq"; vr: "aq.vr"; vs: "aq.vs"; vt: "aq.vt"; vu: "aq.vu"; vv: "aq.vv"; vw: "aq.vw"; vx: "aq.vx"; vy: "aq.vy"; vz: "aq.vz"; wa: "aq.wa"; wb: "aq.wb"; wc: "aq.wc"; wd: "aq.wd"; we: "aq.we"; wf: "aq.wf"; wg: "aq.wg"; wh: "aq.wh"; wi: "aq.wi"; wj: "aq.wj"; wk: "aq.wk"; wl: "aq.wl"; wm: "aq.wm"; wn: "aq.wn"; wo: "aq.wo"; wp: "aq.wp"; wq: "aq.wq"; wr: "aq.wr"; ws: "aq.ws"; wt: "aq.wt"; wu: "aq.wu"; wv: "aq.wv"; ww: "aq.ww"; wx: "aq.wx"; wy: "aq.wy"; wz: "aq.wz"; xa: "aq.xa"; xb: "aq.xb"; xc: "aq.xc"; xd: "aq.xd"; xe: "aq.xe"; xf: "aq.xf"; xg: "aq.xg"; xh: "aq.xh"; xi: "aq.xi"; xj: "aq.xj"; xk: "aq.xk"; xl: "aq.xl"; xm: "aq.xm"; xn: "aq.xn"; xo: "aq.xo"; xp: "aq.xp"; xq: "aq.xq"; xr: "aq.xr"; xs: "aq.xs"; xt: "aq.xt"; xu: "aq.xu"; xv: "aq.xv"; xw: "aq.xw"; xx: "aq.xx"; xy: "aq.xy"; xz: "aq.xz"; ya: "aq.ya"; yb: "aq.yb"; yc: "aq.yc"; yd: "aq.yd"; ye: "aq.ye"; yf: "aq.yf"; yg: "aq.yg"; yh: "aq.yh"; yi: "aq.yi"; yj: "aq.yj"; yk: "aq.yk"; yl: "aq.yl"; ym: "aq.ym"; yn: "aq.yn"; yo: "aq.yo"; yp: "aq.yp"; yq: "aq.yq"; yr: "aq.yr"; ys: "aq.ys"; yt: "aq.yt"; yu: "aq.yu"; yv: "aq.yv"; yw: "aq.yw"; yx: "aq.yx"; yy: "aq.yy"; yz: "aq.yz"; za: "aq.za"; zb: "aq.zb"; zc: "aq.zc"; zd: "aq.zd"; ze: "aq.ze"; zf: "aq.zf"; zg: "aq.zg"; zh: "aq.zh"; zi: "aq.zi"; zj: "aq.zj"; zk: "aq.zk"; zl: "aq.zl"; zm: "aq.zm"; zn: "aq.zn"; zo: "aq.zo"; zp: "aq.zp"; zq: "aq.zq"; zr: "aq.zr"; zs: "aq.zs"; zt: "aq.zt"; zu: "aq.zu"; zv: "aq.zv"; zw: "aq.zw"; zx: "aq.zx"; zy: "aq.zy"; zz: "aq.zz"; }; ar: { aa: "ar.aa"; ab: "ar.ab"; ac: "ar.ac"; ad: "ar.ad"; ae: "ar.ae"; af: "ar.af"; ag: "ar.ag"; ah: "ar.ah"; ai: "ar.ai"; aj: "ar.aj"; ak: "ar.ak"; al: "ar.al"; am: "ar.am"; an: "ar.an"; ao: "ar.ao"; ap: "ar.ap"; aq: "ar.aq"; ar: "ar.ar"; as: "ar.as"; at: "ar.at"; au: "ar.au"; av: "ar.av"; aw: "ar.aw"; ax: "ar.ax"; ay: "ar.ay"; az: "ar.az"; ba: "ar.ba"; bb: "ar.bb"; bc: "ar.bc"; bd: "ar.bd"; be: "ar.be"; bf: "ar.bf"; bg: "ar.bg"; bh: "ar.bh"; bi: "ar.bi"; bj: "ar.bj"; bk: "ar.bk"; bl: "ar.bl"; bm: "ar.bm"; bn: "ar.bn"; bo: "ar.bo"; bp: "ar.bp"; bq: "ar.bq"; br: "ar.br"; bs: "ar.bs"; bt: "ar.bt"; bu: "ar.bu"; bv: "ar.bv"; bw: "ar.bw"; bx: "ar.bx"; by: "ar.by"; bz: "ar.bz"; ca: "ar.ca"; cb: "ar.cb"; cc: "ar.cc"; cd: "ar.cd"; ce: "ar.ce"; cf: "ar.cf"; cg: "ar.cg"; ch: "ar.ch"; ci: "ar.ci"; cj: "ar.cj"; ck: "ar.ck"; cl: "ar.cl"; cm: "ar.cm"; cn: "ar.cn"; co: "ar.co"; cp: "ar.cp"; cq: "ar.cq"; cr: "ar.cr"; cs: "ar.cs"; ct: "ar.ct"; cu: "ar.cu"; cv: "ar.cv"; cw: "ar.cw"; cx: "ar.cx"; cy: "ar.cy"; cz: "ar.cz"; da: "ar.da"; db: "ar.db"; dc: "ar.dc"; dd: "ar.dd"; de: "ar.de"; df: "ar.df"; dg: "ar.dg"; dh: "ar.dh"; di: "ar.di"; dj: "ar.dj"; dk: "ar.dk"; dl: "ar.dl"; dm: "ar.dm"; dn: "ar.dn"; do: "ar.do"; dp: "ar.dp"; dq: "ar.dq"; dr: "ar.dr"; ds: "ar.ds"; dt: "ar.dt"; du: "ar.du"; dv: "ar.dv"; dw: "ar.dw"; dx: "ar.dx"; dy: "ar.dy"; dz: "ar.dz"; ea: "ar.ea"; eb: "ar.eb"; ec: "ar.ec"; ed: "ar.ed"; ee: "ar.ee"; ef: "ar.ef"; eg: "ar.eg"; eh: "ar.eh"; ei: "ar.ei"; ej: "ar.ej"; ek: "ar.ek"; el: "ar.el"; em: "ar.em"; en: "ar.en"; eo: "ar.eo"; ep: "ar.ep"; eq: "ar.eq"; er: "ar.er"; es: "ar.es"; et: "ar.et"; eu: "ar.eu"; ev: "ar.ev"; ew: "ar.ew"; ex: "ar.ex"; ey: "ar.ey"; ez: "ar.ez"; fa: "ar.fa"; fb: "ar.fb"; fc: "ar.fc"; fd: "ar.fd"; fe: "ar.fe"; ff: "ar.ff"; fg: "ar.fg"; fh: "ar.fh"; fi: "ar.fi"; fj: "ar.fj"; fk: "ar.fk"; fl: "ar.fl"; fm: "ar.fm"; fn: "ar.fn"; fo: "ar.fo"; fp: "ar.fp"; fq: "ar.fq"; fr: "ar.fr"; fs: "ar.fs"; ft: "ar.ft"; fu: "ar.fu"; fv: "ar.fv"; fw: "ar.fw"; fx: "ar.fx"; fy: "ar.fy"; fz: "ar.fz"; ga: "ar.ga"; gb: "ar.gb"; gc: "ar.gc"; gd: "ar.gd"; ge: "ar.ge"; gf: "ar.gf"; gg: "ar.gg"; gh: "ar.gh"; gi: "ar.gi"; gj: "ar.gj"; gk: "ar.gk"; gl: "ar.gl"; gm: "ar.gm"; gn: "ar.gn"; go: "ar.go"; gp: "ar.gp"; gq: "ar.gq"; gr: "ar.gr"; gs: "ar.gs"; gt: "ar.gt"; gu: "ar.gu"; gv: "ar.gv"; gw: "ar.gw"; gx: "ar.gx"; gy: "ar.gy"; gz: "ar.gz"; ha: "ar.ha"; hb: "ar.hb"; hc: "ar.hc"; hd: "ar.hd"; he: "ar.he"; hf: "ar.hf"; hg: "ar.hg"; hh: "ar.hh"; hi: "ar.hi"; hj: "ar.hj"; hk: "ar.hk"; hl: "ar.hl"; hm: "ar.hm"; hn: "ar.hn"; ho: "ar.ho"; hp: "ar.hp"; hq: "ar.hq"; hr: "ar.hr"; hs: "ar.hs"; ht: "ar.ht"; hu: "ar.hu"; hv: "ar.hv"; hw: "ar.hw"; hx: "ar.hx"; hy: "ar.hy"; hz: "ar.hz"; ia: "ar.ia"; ib: "ar.ib"; ic: "ar.ic"; id: "ar.id"; ie: "ar.ie"; if: "ar.if"; ig: "ar.ig"; ih: "ar.ih"; ii: "ar.ii"; ij: "ar.ij"; ik: "ar.ik"; il: "ar.il"; im: "ar.im"; in: "ar.in"; io: "ar.io"; ip: "ar.ip"; iq: "ar.iq"; ir: "ar.ir"; is: "ar.is"; it: "ar.it"; iu: "ar.iu"; iv: "ar.iv"; iw: "ar.iw"; ix: "ar.ix"; iy: "ar.iy"; iz: "ar.iz"; ja: "ar.ja"; jb: "ar.jb"; jc: "ar.jc"; jd: "ar.jd"; je: "ar.je"; jf: "ar.jf"; jg: "ar.jg"; jh: "ar.jh"; ji: "ar.ji"; jj: "ar.jj"; jk: "ar.jk"; jl: "ar.jl"; jm: "ar.jm"; jn: "ar.jn"; jo: "ar.jo"; jp: "ar.jp"; jq: "ar.jq"; jr: "ar.jr"; js: "ar.js"; jt: "ar.jt"; ju: "ar.ju"; jv: "ar.jv"; jw: "ar.jw"; jx: "ar.jx"; jy: "ar.jy"; jz: "ar.jz"; ka: "ar.ka"; kb: "ar.kb"; kc: "ar.kc"; kd: "ar.kd"; ke: "ar.ke"; kf: "ar.kf"; kg: "ar.kg"; kh: "ar.kh"; ki: "ar.ki"; kj: "ar.kj"; kk: "ar.kk"; kl: "ar.kl"; km: "ar.km"; kn: "ar.kn"; ko: "ar.ko"; kp: "ar.kp"; kq: "ar.kq"; kr: "ar.kr"; ks: "ar.ks"; kt: "ar.kt"; ku: "ar.ku"; kv: "ar.kv"; kw: "ar.kw"; kx: "ar.kx"; ky: "ar.ky"; kz: "ar.kz"; la: "ar.la"; lb: "ar.lb"; lc: "ar.lc"; ld: "ar.ld"; le: "ar.le"; lf: "ar.lf"; lg: "ar.lg"; lh: "ar.lh"; li: "ar.li"; lj: "ar.lj"; lk: "ar.lk"; ll: "ar.ll"; lm: "ar.lm"; ln: "ar.ln"; lo: "ar.lo"; lp: "ar.lp"; lq: "ar.lq"; lr: "ar.lr"; ls: "ar.ls"; lt: "ar.lt"; lu: "ar.lu"; lv: "ar.lv"; lw: "ar.lw"; lx: "ar.lx"; ly: "ar.ly"; lz: "ar.lz"; ma: "ar.ma"; mb: "ar.mb"; mc: "ar.mc"; md: "ar.md"; me: "ar.me"; mf: "ar.mf"; mg: "ar.mg"; mh: "ar.mh"; mi: "ar.mi"; mj: "ar.mj"; mk: "ar.mk"; ml: "ar.ml"; mm: "ar.mm"; mn: "ar.mn"; mo: "ar.mo"; mp: "ar.mp"; mq: "ar.mq"; mr: "ar.mr"; ms: "ar.ms"; mt: "ar.mt"; mu: "ar.mu"; mv: "ar.mv"; mw: "ar.mw"; mx: "ar.mx"; my: "ar.my"; mz: "ar.mz"; na: "ar.na"; nb: "ar.nb"; nc: "ar.nc"; nd: "ar.nd"; ne: "ar.ne"; nf: "ar.nf"; ng: "ar.ng"; nh: "ar.nh"; ni: "ar.ni"; nj: "ar.nj"; nk: "ar.nk"; nl: "ar.nl"; nm: "ar.nm"; nn: "ar.nn"; no: "ar.no"; np: "ar.np"; nq: "ar.nq"; nr: "ar.nr"; ns: "ar.ns"; nt: "ar.nt"; nu: "ar.nu"; nv: "ar.nv"; nw: "ar.nw"; nx: "ar.nx"; ny: "ar.ny"; nz: "ar.nz"; oa: "ar.oa"; ob: "ar.ob"; oc: "ar.oc"; od: "ar.od"; oe: "ar.oe"; of: "ar.of"; og: "ar.og"; oh: "ar.oh"; oi: "ar.oi"; oj: "ar.oj"; ok: "ar.ok"; ol: "ar.ol"; om: "ar.om"; on: "ar.on"; oo: "ar.oo"; op: "ar.op"; oq: "ar.oq"; or: "ar.or"; os: "ar.os"; ot: "ar.ot"; ou: "ar.ou"; ov: "ar.ov"; ow: "ar.ow"; ox: "ar.ox"; oy: "ar.oy"; oz: "ar.oz"; pa: "ar.pa"; pb: "ar.pb"; pc: "ar.pc"; pd: "ar.pd"; pe: "ar.pe"; pf: "ar.pf"; pg: "ar.pg"; ph: "ar.ph"; pi: "ar.pi"; pj: "ar.pj"; pk: "ar.pk"; pl: "ar.pl"; pm: "ar.pm"; pn: "ar.pn"; po: "ar.po"; pp: "ar.pp"; pq: "ar.pq"; pr: "ar.pr"; ps: "ar.ps"; pt: "ar.pt"; pu: "ar.pu"; pv: "ar.pv"; pw: "ar.pw"; px: "ar.px"; py: "ar.py"; pz: "ar.pz"; qa: "ar.qa"; qb: "ar.qb"; qc: "ar.qc"; qd: "ar.qd"; qe: "ar.qe"; qf: "ar.qf"; qg: "ar.qg"; qh: "ar.qh"; qi: "ar.qi"; qj: "ar.qj"; qk: "ar.qk"; ql: "ar.ql"; qm: "ar.qm"; qn: "ar.qn"; qo: "ar.qo"; qp: "ar.qp"; qq: "ar.qq"; qr: "ar.qr"; qs: "ar.qs"; qt: "ar.qt"; qu: "ar.qu"; qv: "ar.qv"; qw: "ar.qw"; qx: "ar.qx"; qy: "ar.qy"; qz: "ar.qz"; ra: "ar.ra"; rb: "ar.rb"; rc: "ar.rc"; rd: "ar.rd"; re: "ar.re"; rf: "ar.rf"; rg: "ar.rg"; rh: "ar.rh"; ri: "ar.ri"; rj: "ar.rj"; rk: "ar.rk"; rl: "ar.rl"; rm: "ar.rm"; rn: "ar.rn"; ro: "ar.ro"; rp: "ar.rp"; rq: "ar.rq"; rr: "ar.rr"; rs: "ar.rs"; rt: "ar.rt"; ru: "ar.ru"; rv: "ar.rv"; rw: "ar.rw"; rx: "ar.rx"; ry: "ar.ry"; rz: "ar.rz"; sa: "ar.sa"; sb: "ar.sb"; sc: "ar.sc"; sd: "ar.sd"; se: "ar.se"; sf: "ar.sf"; sg: "ar.sg"; sh: "ar.sh"; si: "ar.si"; sj: "ar.sj"; sk: "ar.sk"; sl: "ar.sl"; sm: "ar.sm"; sn: "ar.sn"; so: "ar.so"; sp: "ar.sp"; sq: "ar.sq"; sr: "ar.sr"; ss: "ar.ss"; st: "ar.st"; su: "ar.su"; sv: "ar.sv"; sw: "ar.sw"; sx: "ar.sx"; sy: "ar.sy"; sz: "ar.sz"; ta: "ar.ta"; tb: "ar.tb"; tc: "ar.tc"; td: "ar.td"; te: "ar.te"; tf: "ar.tf"; tg: "ar.tg"; th: "ar.th"; ti: "ar.ti"; tj: "ar.tj"; tk: "ar.tk"; tl: "ar.tl"; tm: "ar.tm"; tn: "ar.tn"; to: "ar.to"; tp: "ar.tp"; tq: "ar.tq"; tr: "ar.tr"; ts: "ar.ts"; tt: "ar.tt"; tu: "ar.tu"; tv: "ar.tv"; tw: "ar.tw"; tx: "ar.tx"; ty: "ar.ty"; tz: "ar.tz"; ua: "ar.ua"; ub: "ar.ub"; uc: "ar.uc"; ud: "ar.ud"; ue: "ar.ue"; uf: "ar.uf"; ug: "ar.ug"; uh: "ar.uh"; ui: "ar.ui"; uj: "ar.uj"; uk: "ar.uk"; ul: "ar.ul"; um: "ar.um"; un: "ar.un"; uo: "ar.uo"; up: "ar.up"; uq: "ar.uq"; ur: "ar.ur"; us: "ar.us"; ut: "ar.ut"; uu: "ar.uu"; uv: "ar.uv"; uw: "ar.uw"; ux: "ar.ux"; uy: "ar.uy"; uz: "ar.uz"; va: "ar.va"; vb: "ar.vb"; vc: "ar.vc"; vd: "ar.vd"; ve: "ar.ve"; vf: "ar.vf"; vg: "ar.vg"; vh: "ar.vh"; vi: "ar.vi"; vj: "ar.vj"; vk: "ar.vk"; vl: "ar.vl"; vm: "ar.vm"; vn: "ar.vn"; vo: "ar.vo"; vp: "ar.vp"; vq: "ar.vq"; vr: "ar.vr"; vs: "ar.vs"; vt: "ar.vt"; vu: "ar.vu"; vv: "ar.vv"; vw: "ar.vw"; vx: "ar.vx"; vy: "ar.vy"; vz: "ar.vz"; wa: "ar.wa"; wb: "ar.wb"; wc: "ar.wc"; wd: "ar.wd"; we: "ar.we"; wf: "ar.wf"; wg: "ar.wg"; wh: "ar.wh"; wi: "ar.wi"; wj: "ar.wj"; wk: "ar.wk"; wl: "ar.wl"; wm: "ar.wm"; wn: "ar.wn"; wo: "ar.wo"; wp: "ar.wp"; wq: "ar.wq"; wr: "ar.wr"; ws: "ar.ws"; wt: "ar.wt"; wu: "ar.wu"; wv: "ar.wv"; ww: "ar.ww"; wx: "ar.wx"; wy: "ar.wy"; wz: "ar.wz"; xa: "ar.xa"; xb: "ar.xb"; xc: "ar.xc"; xd: "ar.xd"; xe: "ar.xe"; xf: "ar.xf"; xg: "ar.xg"; xh: "ar.xh"; xi: "ar.xi"; xj: "ar.xj"; xk: "ar.xk"; xl: "ar.xl"; xm: "ar.xm"; xn: "ar.xn"; xo: "ar.xo"; xp: "ar.xp"; xq: "ar.xq"; xr: "ar.xr"; xs: "ar.xs"; xt: "ar.xt"; xu: "ar.xu"; xv: "ar.xv"; xw: "ar.xw"; xx: "ar.xx"; xy: "ar.xy"; xz: "ar.xz"; ya: "ar.ya"; yb: "ar.yb"; yc: "ar.yc"; yd: "ar.yd"; ye: "ar.ye"; yf: "ar.yf"; yg: "ar.yg"; yh: "ar.yh"; yi: "ar.yi"; yj: "ar.yj"; yk: "ar.yk"; yl: "ar.yl"; ym: "ar.ym"; yn: "ar.yn"; yo: "ar.yo"; yp: "ar.yp"; yq: "ar.yq"; yr: "ar.yr"; ys: "ar.ys"; yt: "ar.yt"; yu: "ar.yu"; yv: "ar.yv"; yw: "ar.yw"; yx: "ar.yx"; yy: "ar.yy"; yz: "ar.yz"; za: "ar.za"; zb: "ar.zb"; zc: "ar.zc"; zd: "ar.zd"; ze: "ar.ze"; zf: "ar.zf"; zg: "ar.zg"; zh: "ar.zh"; zi: "ar.zi"; zj: "ar.zj"; zk: "ar.zk"; zl: "ar.zl"; zm: "ar.zm"; zn: "ar.zn"; zo: "ar.zo"; zp: "ar.zp"; zq: "ar.zq"; zr: "ar.zr"; zs: "ar.zs"; zt: "ar.zt"; zu: "ar.zu"; zv: "ar.zv"; zw: "ar.zw"; zx: "ar.zx"; zy: "ar.zy"; zz: "ar.zz"; }; as: { aa: "as.aa"; ab: "as.ab"; ac: "as.ac"; ad: "as.ad"; ae: "as.ae"; af: "as.af"; ag: "as.ag"; ah: "as.ah"; ai: "as.ai"; aj: "as.aj"; ak: "as.ak"; al: "as.al"; am: "as.am"; an: "as.an"; ao: "as.ao"; ap: "as.ap"; aq: "as.aq"; ar: "as.ar"; as: "as.as"; at: "as.at"; au: "as.au"; av: "as.av"; aw: "as.aw"; ax: "as.ax"; ay: "as.ay"; az: "as.az"; ba: "as.ba"; bb: "as.bb"; bc: "as.bc"; bd: "as.bd"; be: "as.be"; bf: "as.bf"; bg: "as.bg"; bh: "as.bh"; bi: "as.bi"; bj: "as.bj"; bk: "as.bk"; bl: "as.bl"; bm: "as.bm"; bn: "as.bn"; bo: "as.bo"; bp: "as.bp"; bq: "as.bq"; br: "as.br"; bs: "as.bs"; bt: "as.bt"; bu: "as.bu"; bv: "as.bv"; bw: "as.bw"; bx: "as.bx"; by: "as.by"; bz: "as.bz"; ca: "as.ca"; cb: "as.cb"; cc: "as.cc"; cd: "as.cd"; ce: "as.ce"; cf: "as.cf"; cg: "as.cg"; ch: "as.ch"; ci: "as.ci"; cj: "as.cj"; ck: "as.ck"; cl: "as.cl"; cm: "as.cm"; cn: "as.cn"; co: "as.co"; cp: "as.cp"; cq: "as.cq"; cr: "as.cr"; cs: "as.cs"; ct: "as.ct"; cu: "as.cu"; cv: "as.cv"; cw: "as.cw"; cx: "as.cx"; cy: "as.cy"; cz: "as.cz"; da: "as.da"; db: "as.db"; dc: "as.dc"; dd: "as.dd"; de: "as.de"; df: "as.df"; dg: "as.dg"; dh: "as.dh"; di: "as.di"; dj: "as.dj"; dk: "as.dk"; dl: "as.dl"; dm: "as.dm"; dn: "as.dn"; do: "as.do"; dp: "as.dp"; dq: "as.dq"; dr: "as.dr"; ds: "as.ds"; dt: "as.dt"; du: "as.du"; dv: "as.dv"; dw: "as.dw"; dx: "as.dx"; dy: "as.dy"; dz: "as.dz"; ea: "as.ea"; eb: "as.eb"; ec: "as.ec"; ed: "as.ed"; ee: "as.ee"; ef: "as.ef"; eg: "as.eg"; eh: "as.eh"; ei: "as.ei"; ej: "as.ej"; ek: "as.ek"; el: "as.el"; em: "as.em"; en: "as.en"; eo: "as.eo"; ep: "as.ep"; eq: "as.eq"; er: "as.er"; es: "as.es"; et: "as.et"; eu: "as.eu"; ev: "as.ev"; ew: "as.ew"; ex: "as.ex"; ey: "as.ey"; ez: "as.ez"; fa: "as.fa"; fb: "as.fb"; fc: "as.fc"; fd: "as.fd"; fe: "as.fe"; ff: "as.ff"; fg: "as.fg"; fh: "as.fh"; fi: "as.fi"; fj: "as.fj"; fk: "as.fk"; fl: "as.fl"; fm: "as.fm"; fn: "as.fn"; fo: "as.fo"; fp: "as.fp"; fq: "as.fq"; fr: "as.fr"; fs: "as.fs"; ft: "as.ft"; fu: "as.fu"; fv: "as.fv"; fw: "as.fw"; fx: "as.fx"; fy: "as.fy"; fz: "as.fz"; ga: "as.ga"; gb: "as.gb"; gc: "as.gc"; gd: "as.gd"; ge: "as.ge"; gf: "as.gf"; gg: "as.gg"; gh: "as.gh"; gi: "as.gi"; gj: "as.gj"; gk: "as.gk"; gl: "as.gl"; gm: "as.gm"; gn: "as.gn"; go: "as.go"; gp: "as.gp"; gq: "as.gq"; gr: "as.gr"; gs: "as.gs"; gt: "as.gt"; gu: "as.gu"; gv: "as.gv"; gw: "as.gw"; gx: "as.gx"; gy: "as.gy"; gz: "as.gz"; ha: "as.ha"; hb: "as.hb"; hc: "as.hc"; hd: "as.hd"; he: "as.he"; hf: "as.hf"; hg: "as.hg"; hh: "as.hh"; hi: "as.hi"; hj: "as.hj"; hk: "as.hk"; hl: "as.hl"; hm: "as.hm"; hn: "as.hn"; ho: "as.ho"; hp: "as.hp"; hq: "as.hq"; hr: "as.hr"; hs: "as.hs"; ht: "as.ht"; hu: "as.hu"; hv: "as.hv"; hw: "as.hw"; hx: "as.hx"; hy: "as.hy"; hz: "as.hz"; ia: "as.ia"; ib: "as.ib"; ic: "as.ic"; id: "as.id"; ie: "as.ie"; if: "as.if"; ig: "as.ig"; ih: "as.ih"; ii: "as.ii"; ij: "as.ij"; ik: "as.ik"; il: "as.il"; im: "as.im"; in: "as.in"; io: "as.io"; ip: "as.ip"; iq: "as.iq"; ir: "as.ir"; is: "as.is"; it: "as.it"; iu: "as.iu"; iv: "as.iv"; iw: "as.iw"; ix: "as.ix"; iy: "as.iy"; iz: "as.iz"; ja: "as.ja"; jb: "as.jb"; jc: "as.jc"; jd: "as.jd"; je: "as.je"; jf: "as.jf"; jg: "as.jg"; jh: "as.jh"; ji: "as.ji"; jj: "as.jj"; jk: "as.jk"; jl: "as.jl"; jm: "as.jm"; jn: "as.jn"; jo: "as.jo"; jp: "as.jp"; jq: "as.jq"; jr: "as.jr"; js: "as.js"; jt: "as.jt"; ju: "as.ju"; jv: "as.jv"; jw: "as.jw"; jx: "as.jx"; jy: "as.jy"; jz: "as.jz"; ka: "as.ka"; kb: "as.kb"; kc: "as.kc"; kd: "as.kd"; ke: "as.ke"; kf: "as.kf"; kg: "as.kg"; kh: "as.kh"; ki: "as.ki"; kj: "as.kj"; kk: "as.kk"; kl: "as.kl"; km: "as.km"; kn: "as.kn"; ko: "as.ko"; kp: "as.kp"; kq: "as.kq"; kr: "as.kr"; ks: "as.ks"; kt: "as.kt"; ku: "as.ku"; kv: "as.kv"; kw: "as.kw"; kx: "as.kx"; ky: "as.ky"; kz: "as.kz"; la: "as.la"; lb: "as.lb"; lc: "as.lc"; ld: "as.ld"; le: "as.le"; lf: "as.lf"; lg: "as.lg"; lh: "as.lh"; li: "as.li"; lj: "as.lj"; lk: "as.lk"; ll: "as.ll"; lm: "as.lm"; ln: "as.ln"; lo: "as.lo"; lp: "as.lp"; lq: "as.lq"; lr: "as.lr"; ls: "as.ls"; lt: "as.lt"; lu: "as.lu"; lv: "as.lv"; lw: "as.lw"; lx: "as.lx"; ly: "as.ly"; lz: "as.lz"; ma: "as.ma"; mb: "as.mb"; mc: "as.mc"; md: "as.md"; me: "as.me"; mf: "as.mf"; mg: "as.mg"; mh: "as.mh"; mi: "as.mi"; mj: "as.mj"; mk: "as.mk"; ml: "as.ml"; mm: "as.mm"; mn: "as.mn"; mo: "as.mo"; mp: "as.mp"; mq: "as.mq"; mr: "as.mr"; ms: "as.ms"; mt: "as.mt"; mu: "as.mu"; mv: "as.mv"; mw: "as.mw"; mx: "as.mx"; my: "as.my"; mz: "as.mz"; na: "as.na"; nb: "as.nb"; nc: "as.nc"; nd: "as.nd"; ne: "as.ne"; nf: "as.nf"; ng: "as.ng"; nh: "as.nh"; ni: "as.ni"; nj: "as.nj"; nk: "as.nk"; nl: "as.nl"; nm: "as.nm"; nn: "as.nn"; no: "as.no"; np: "as.np"; nq: "as.nq"; nr: "as.nr"; ns: "as.ns"; nt: "as.nt"; nu: "as.nu"; nv: "as.nv"; nw: "as.nw"; nx: "as.nx"; ny: "as.ny"; nz: "as.nz"; oa: "as.oa"; ob: "as.ob"; oc: "as.oc"; od: "as.od"; oe: "as.oe"; of: "as.of"; og: "as.og"; oh: "as.oh"; oi: "as.oi"; oj: "as.oj"; ok: "as.ok"; ol: "as.ol"; om: "as.om"; on: "as.on"; oo: "as.oo"; op: "as.op"; oq: "as.oq"; or: "as.or"; os: "as.os"; ot: "as.ot"; ou: "as.ou"; ov: "as.ov"; ow: "as.ow"; ox: "as.ox"; oy: "as.oy"; oz: "as.oz"; pa: "as.pa"; pb: "as.pb"; pc: "as.pc"; pd: "as.pd"; pe: "as.pe"; pf: "as.pf"; pg: "as.pg"; ph: "as.ph"; pi: "as.pi"; pj: "as.pj"; pk: "as.pk"; pl: "as.pl"; pm: "as.pm"; pn: "as.pn"; po: "as.po"; pp: "as.pp"; pq: "as.pq"; pr: "as.pr"; ps: "as.ps"; pt: "as.pt"; pu: "as.pu"; pv: "as.pv"; pw: "as.pw"; px: "as.px"; py: "as.py"; pz: "as.pz"; qa: "as.qa"; qb: "as.qb"; qc: "as.qc"; qd: "as.qd"; qe: "as.qe"; qf: "as.qf"; qg: "as.qg"; qh: "as.qh"; qi: "as.qi"; qj: "as.qj"; qk: "as.qk"; ql: "as.ql"; qm: "as.qm"; qn: "as.qn"; qo: "as.qo"; qp: "as.qp"; qq: "as.qq"; qr: "as.qr"; qs: "as.qs"; qt: "as.qt"; qu: "as.qu"; qv: "as.qv"; qw: "as.qw"; qx: "as.qx"; qy: "as.qy"; qz: "as.qz"; ra: "as.ra"; rb: "as.rb"; rc: "as.rc"; rd: "as.rd"; re: "as.re"; rf: "as.rf"; rg: "as.rg"; rh: "as.rh"; ri: "as.ri"; rj: "as.rj"; rk: "as.rk"; rl: "as.rl"; rm: "as.rm"; rn: "as.rn"; ro: "as.ro"; rp: "as.rp"; rq: "as.rq"; rr: "as.rr"; rs: "as.rs"; rt: "as.rt"; ru: "as.ru"; rv: "as.rv"; rw: "as.rw"; rx: "as.rx"; ry: "as.ry"; rz: "as.rz"; sa: "as.sa"; sb: "as.sb"; sc: "as.sc"; sd: "as.sd"; se: "as.se"; sf: "as.sf"; sg: "as.sg"; sh: "as.sh"; si: "as.si"; sj: "as.sj"; sk: "as.sk"; sl: "as.sl"; sm: "as.sm"; sn: "as.sn"; so: "as.so"; sp: "as.sp"; sq: "as.sq"; sr: "as.sr"; ss: "as.ss"; st: "as.st"; su: "as.su"; sv: "as.sv"; sw: "as.sw"; sx: "as.sx"; sy: "as.sy"; sz: "as.sz"; ta: "as.ta"; tb: "as.tb"; tc: "as.tc"; td: "as.td"; te: "as.te"; tf: "as.tf"; tg: "as.tg"; th: "as.th"; ti: "as.ti"; tj: "as.tj"; tk: "as.tk"; tl: "as.tl"; tm: "as.tm"; tn: "as.tn"; to: "as.to"; tp: "as.tp"; tq: "as.tq"; tr: "as.tr"; ts: "as.ts"; tt: "as.tt"; tu: "as.tu"; tv: "as.tv"; tw: "as.tw"; tx: "as.tx"; ty: "as.ty"; tz: "as.tz"; ua: "as.ua"; ub: "as.ub"; uc: "as.uc"; ud: "as.ud"; ue: "as.ue"; uf: "as.uf"; ug: "as.ug"; uh: "as.uh"; ui: "as.ui"; uj: "as.uj"; uk: "as.uk"; ul: "as.ul"; um: "as.um"; un: "as.un"; uo: "as.uo"; up: "as.up"; uq: "as.uq"; ur: "as.ur"; us: "as.us"; ut: "as.ut"; uu: "as.uu"; uv: "as.uv"; uw: "as.uw"; ux: "as.ux"; uy: "as.uy"; uz: "as.uz"; va: "as.va"; vb: "as.vb"; vc: "as.vc"; vd: "as.vd"; ve: "as.ve"; vf: "as.vf"; vg: "as.vg"; vh: "as.vh"; vi: "as.vi"; vj: "as.vj"; vk: "as.vk"; vl: "as.vl"; vm: "as.vm"; vn: "as.vn"; vo: "as.vo"; vp: "as.vp"; vq: "as.vq"; vr: "as.vr"; vs: "as.vs"; vt: "as.vt"; vu: "as.vu"; vv: "as.vv"; vw: "as.vw"; vx: "as.vx"; vy: "as.vy"; vz: "as.vz"; wa: "as.wa"; wb: "as.wb"; wc: "as.wc"; wd: "as.wd"; we: "as.we"; wf: "as.wf"; wg: "as.wg"; wh: "as.wh"; wi: "as.wi"; wj: "as.wj"; wk: "as.wk"; wl: "as.wl"; wm: "as.wm"; wn: "as.wn"; wo: "as.wo"; wp: "as.wp"; wq: "as.wq"; wr: "as.wr"; ws: "as.ws"; wt: "as.wt"; wu: "as.wu"; wv: "as.wv"; ww: "as.ww"; wx: "as.wx"; wy: "as.wy"; wz: "as.wz"; xa: "as.xa"; xb: "as.xb"; xc: "as.xc"; xd: "as.xd"; xe: "as.xe"; xf: "as.xf"; xg: "as.xg"; xh: "as.xh"; xi: "as.xi"; xj: "as.xj"; xk: "as.xk"; xl: "as.xl"; xm: "as.xm"; xn: "as.xn"; xo: "as.xo"; xp: "as.xp"; xq: "as.xq"; xr: "as.xr"; xs: "as.xs"; xt: "as.xt"; xu: "as.xu"; xv: "as.xv"; xw: "as.xw"; xx: "as.xx"; xy: "as.xy"; xz: "as.xz"; ya: "as.ya"; yb: "as.yb"; yc: "as.yc"; yd: "as.yd"; ye: "as.ye"; yf: "as.yf"; yg: "as.yg"; yh: "as.yh"; yi: "as.yi"; yj: "as.yj"; yk: "as.yk"; yl: "as.yl"; ym: "as.ym"; yn: "as.yn"; yo: "as.yo"; yp: "as.yp"; yq: "as.yq"; yr: "as.yr"; ys: "as.ys"; yt: "as.yt"; yu: "as.yu"; yv: "as.yv"; yw: "as.yw"; yx: "as.yx"; yy: "as.yy"; yz: "as.yz"; za: "as.za"; zb: "as.zb"; zc: "as.zc"; zd: "as.zd"; ze: "as.ze"; zf: "as.zf"; zg: "as.zg"; zh: "as.zh"; zi: "as.zi"; zj: "as.zj"; zk: "as.zk"; zl: "as.zl"; zm: "as.zm"; zn: "as.zn"; zo: "as.zo"; zp: "as.zp"; zq: "as.zq"; zr: "as.zr"; zs: "as.zs"; zt: "as.zt"; zu: "as.zu"; zv: "as.zv"; zw: "as.zw"; zx: "as.zx"; zy: "as.zy"; zz: "as.zz"; }; at: { aa: "at.aa"; ab: "at.ab"; ac: "at.ac"; ad: "at.ad"; ae: "at.ae"; af: "at.af"; ag: "at.ag"; ah: "at.ah"; ai: "at.ai"; aj: "at.aj"; ak: "at.ak"; al: "at.al"; am: "at.am"; an: "at.an"; ao: "at.ao"; ap: "at.ap"; aq: "at.aq"; ar: "at.ar"; as: "at.as"; at: "at.at"; au: "at.au"; av: "at.av"; aw: "at.aw"; ax: "at.ax"; ay: "at.ay"; az: "at.az"; ba: "at.ba"; bb: "at.bb"; bc: "at.bc"; bd: "at.bd"; be: "at.be"; bf: "at.bf"; bg: "at.bg"; bh: "at.bh"; bi: "at.bi"; bj: "at.bj"; bk: "at.bk"; bl: "at.bl"; bm: "at.bm"; bn: "at.bn"; bo: "at.bo"; bp: "at.bp"; bq: "at.bq"; br: "at.br"; bs: "at.bs"; bt: "at.bt"; bu: "at.bu"; bv: "at.bv"; bw: "at.bw"; bx: "at.bx"; by: "at.by"; bz: "at.bz"; ca: "at.ca"; cb: "at.cb"; cc: "at.cc"; cd: "at.cd"; ce: "at.ce"; cf: "at.cf"; cg: "at.cg"; ch: "at.ch"; ci: "at.ci"; cj: "at.cj"; ck: "at.ck"; cl: "at.cl"; cm: "at.cm"; cn: "at.cn"; co: "at.co"; cp: "at.cp"; cq: "at.cq"; cr: "at.cr"; cs: "at.cs"; ct: "at.ct"; cu: "at.cu"; cv: "at.cv"; cw: "at.cw"; cx: "at.cx"; cy: "at.cy"; cz: "at.cz"; da: "at.da"; db: "at.db"; dc: "at.dc"; dd: "at.dd"; de: "at.de"; df: "at.df"; dg: "at.dg"; dh: "at.dh"; di: "at.di"; dj: "at.dj"; dk: "at.dk"; dl: "at.dl"; dm: "at.dm"; dn: "at.dn"; do: "at.do"; dp: "at.dp"; dq: "at.dq"; dr: "at.dr"; ds: "at.ds"; dt: "at.dt"; du: "at.du"; dv: "at.dv"; dw: "at.dw"; dx: "at.dx"; dy: "at.dy"; dz: "at.dz"; ea: "at.ea"; eb: "at.eb"; ec: "at.ec"; ed: "at.ed"; ee: "at.ee"; ef: "at.ef"; eg: "at.eg"; eh: "at.eh"; ei: "at.ei"; ej: "at.ej"; ek: "at.ek"; el: "at.el"; em: "at.em"; en: "at.en"; eo: "at.eo"; ep: "at.ep"; eq: "at.eq"; er: "at.er"; es: "at.es"; et: "at.et"; eu: "at.eu"; ev: "at.ev"; ew: "at.ew"; ex: "at.ex"; ey: "at.ey"; ez: "at.ez"; fa: "at.fa"; fb: "at.fb"; fc: "at.fc"; fd: "at.fd"; fe: "at.fe"; ff: "at.ff"; fg: "at.fg"; fh: "at.fh"; fi: "at.fi"; fj: "at.fj"; fk: "at.fk"; fl: "at.fl"; fm: "at.fm"; fn: "at.fn"; fo: "at.fo"; fp: "at.fp"; fq: "at.fq"; fr: "at.fr"; fs: "at.fs"; ft: "at.ft"; fu: "at.fu"; fv: "at.fv"; fw: "at.fw"; fx: "at.fx"; fy: "at.fy"; fz: "at.fz"; ga: "at.ga"; gb: "at.gb"; gc: "at.gc"; gd: "at.gd"; ge: "at.ge"; gf: "at.gf"; gg: "at.gg"; gh: "at.gh"; gi: "at.gi"; gj: "at.gj"; gk: "at.gk"; gl: "at.gl"; gm: "at.gm"; gn: "at.gn"; go: "at.go"; gp: "at.gp"; gq: "at.gq"; gr: "at.gr"; gs: "at.gs"; gt: "at.gt"; gu: "at.gu"; gv: "at.gv"; gw: "at.gw"; gx: "at.gx"; gy: "at.gy"; gz: "at.gz"; ha: "at.ha"; hb: "at.hb"; hc: "at.hc"; hd: "at.hd"; he: "at.he"; hf: "at.hf"; hg: "at.hg"; hh: "at.hh"; hi: "at.hi"; hj: "at.hj"; hk: "at.hk"; hl: "at.hl"; hm: "at.hm"; hn: "at.hn"; ho: "at.ho"; hp: "at.hp"; hq: "at.hq"; hr: "at.hr"; hs: "at.hs"; ht: "at.ht"; hu: "at.hu"; hv: "at.hv"; hw: "at.hw"; hx: "at.hx"; hy: "at.hy"; hz: "at.hz"; ia: "at.ia"; ib: "at.ib"; ic: "at.ic"; id: "at.id"; ie: "at.ie"; if: "at.if"; ig: "at.ig"; ih: "at.ih"; ii: "at.ii"; ij: "at.ij"; ik: "at.ik"; il: "at.il"; im: "at.im"; in: "at.in"; io: "at.io"; ip: "at.ip"; iq: "at.iq"; ir: "at.ir"; is: "at.is"; it: "at.it"; iu: "at.iu"; iv: "at.iv"; iw: "at.iw"; ix: "at.ix"; iy: "at.iy"; iz: "at.iz"; ja: "at.ja"; jb: "at.jb"; jc: "at.jc"; jd: "at.jd"; je: "at.je"; jf: "at.jf"; jg: "at.jg"; jh: "at.jh"; ji: "at.ji"; jj: "at.jj"; jk: "at.jk"; jl: "at.jl"; jm: "at.jm"; jn: "at.jn"; jo: "at.jo"; jp: "at.jp"; jq: "at.jq"; jr: "at.jr"; js: "at.js"; jt: "at.jt"; ju: "at.ju"; jv: "at.jv"; jw: "at.jw"; jx: "at.jx"; jy: "at.jy"; jz: "at.jz"; ka: "at.ka"; kb: "at.kb"; kc: "at.kc"; kd: "at.kd"; ke: "at.ke"; kf: "at.kf"; kg: "at.kg"; kh: "at.kh"; ki: "at.ki"; kj: "at.kj"; kk: "at.kk"; kl: "at.kl"; km: "at.km"; kn: "at.kn"; ko: "at.ko"; kp: "at.kp"; kq: "at.kq"; kr: "at.kr"; ks: "at.ks"; kt: "at.kt"; ku: "at.ku"; kv: "at.kv"; kw: "at.kw"; kx: "at.kx"; ky: "at.ky"; kz: "at.kz"; la: "at.la"; lb: "at.lb"; lc: "at.lc"; ld: "at.ld"; le: "at.le"; lf: "at.lf"; lg: "at.lg"; lh: "at.lh"; li: "at.li"; lj: "at.lj"; lk: "at.lk"; ll: "at.ll"; lm: "at.lm"; ln: "at.ln"; lo: "at.lo"; lp: "at.lp"; lq: "at.lq"; lr: "at.lr"; ls: "at.ls"; lt: "at.lt"; lu: "at.lu"; lv: "at.lv"; lw: "at.lw"; lx: "at.lx"; ly: "at.ly"; lz: "at.lz"; ma: "at.ma"; mb: "at.mb"; mc: "at.mc"; md: "at.md"; me: "at.me"; mf: "at.mf"; mg: "at.mg"; mh: "at.mh"; mi: "at.mi"; mj: "at.mj"; mk: "at.mk"; ml: "at.ml"; mm: "at.mm"; mn: "at.mn"; mo: "at.mo"; mp: "at.mp"; mq: "at.mq"; mr: "at.mr"; ms: "at.ms"; mt: "at.mt"; mu: "at.mu"; mv: "at.mv"; mw: "at.mw"; mx: "at.mx"; my: "at.my"; mz: "at.mz"; na: "at.na"; nb: "at.nb"; nc: "at.nc"; nd: "at.nd"; ne: "at.ne"; nf: "at.nf"; ng: "at.ng"; nh: "at.nh"; ni: "at.ni"; nj: "at.nj"; nk: "at.nk"; nl: "at.nl"; nm: "at.nm"; nn: "at.nn"; no: "at.no"; np: "at.np"; nq: "at.nq"; nr: "at.nr"; ns: "at.ns"; nt: "at.nt"; nu: "at.nu"; nv: "at.nv"; nw: "at.nw"; nx: "at.nx"; ny: "at.ny"; nz: "at.nz"; oa: "at.oa"; ob: "at.ob"; oc: "at.oc"; od: "at.od"; oe: "at.oe"; of: "at.of"; og: "at.og"; oh: "at.oh"; oi: "at.oi"; oj: "at.oj"; ok: "at.ok"; ol: "at.ol"; om: "at.om"; on: "at.on"; oo: "at.oo"; op: "at.op"; oq: "at.oq"; or: "at.or"; os: "at.os"; ot: "at.ot"; ou: "at.ou"; ov: "at.ov"; ow: "at.ow"; ox: "at.ox"; oy: "at.oy"; oz: "at.oz"; pa: "at.pa"; pb: "at.pb"; pc: "at.pc"; pd: "at.pd"; pe: "at.pe"; pf: "at.pf"; pg: "at.pg"; ph: "at.ph"; pi: "at.pi"; pj: "at.pj"; pk: "at.pk"; pl: "at.pl"; pm: "at.pm"; pn: "at.pn"; po: "at.po"; pp: "at.pp"; pq: "at.pq"; pr: "at.pr"; ps: "at.ps"; pt: "at.pt"; pu: "at.pu"; pv: "at.pv"; pw: "at.pw"; px: "at.px"; py: "at.py"; pz: "at.pz"; qa: "at.qa"; qb: "at.qb"; qc: "at.qc"; qd: "at.qd"; qe: "at.qe"; qf: "at.qf"; qg: "at.qg"; qh: "at.qh"; qi: "at.qi"; qj: "at.qj"; qk: "at.qk"; ql: "at.ql"; qm: "at.qm"; qn: "at.qn"; qo: "at.qo"; qp: "at.qp"; qq: "at.qq"; qr: "at.qr"; qs: "at.qs"; qt: "at.qt"; qu: "at.qu"; qv: "at.qv"; qw: "at.qw"; qx: "at.qx"; qy: "at.qy"; qz: "at.qz"; ra: "at.ra"; rb: "at.rb"; rc: "at.rc"; rd: "at.rd"; re: "at.re"; rf: "at.rf"; rg: "at.rg"; rh: "at.rh"; ri: "at.ri"; rj: "at.rj"; rk: "at.rk"; rl: "at.rl"; rm: "at.rm"; rn: "at.rn"; ro: "at.ro"; rp: "at.rp"; rq: "at.rq"; rr: "at.rr"; rs: "at.rs"; rt: "at.rt"; ru: "at.ru"; rv: "at.rv"; rw: "at.rw"; rx: "at.rx"; ry: "at.ry"; rz: "at.rz"; sa: "at.sa"; sb: "at.sb"; sc: "at.sc"; sd: "at.sd"; se: "at.se"; sf: "at.sf"; sg: "at.sg"; sh: "at.sh"; si: "at.si"; sj: "at.sj"; sk: "at.sk"; sl: "at.sl"; sm: "at.sm"; sn: "at.sn"; so: "at.so"; sp: "at.sp"; sq: "at.sq"; sr: "at.sr"; ss: "at.ss"; st: "at.st"; su: "at.su"; sv: "at.sv"; sw: "at.sw"; sx: "at.sx"; sy: "at.sy"; sz: "at.sz"; ta: "at.ta"; tb: "at.tb"; tc: "at.tc"; td: "at.td"; te: "at.te"; tf: "at.tf"; tg: "at.tg"; th: "at.th"; ti: "at.ti"; tj: "at.tj"; tk: "at.tk"; tl: "at.tl"; tm: "at.tm"; tn: "at.tn"; to: "at.to"; tp: "at.tp"; tq: "at.tq"; tr: "at.tr"; ts: "at.ts"; tt: "at.tt"; tu: "at.tu"; tv: "at.tv"; tw: "at.tw"; tx: "at.tx"; ty: "at.ty"; tz: "at.tz"; ua: "at.ua"; ub: "at.ub"; uc: "at.uc"; ud: "at.ud"; ue: "at.ue"; uf: "at.uf"; ug: "at.ug"; uh: "at.uh"; ui: "at.ui"; uj: "at.uj"; uk: "at.uk"; ul: "at.ul"; um: "at.um"; un: "at.un"; uo: "at.uo"; up: "at.up"; uq: "at.uq"; ur: "at.ur"; us: "at.us"; ut: "at.ut"; uu: "at.uu"; uv: "at.uv"; uw: "at.uw"; ux: "at.ux"; uy: "at.uy"; uz: "at.uz"; va: "at.va"; vb: "at.vb"; vc: "at.vc"; vd: "at.vd"; ve: "at.ve"; vf: "at.vf"; vg: "at.vg"; vh: "at.vh"; vi: "at.vi"; vj: "at.vj"; vk: "at.vk"; vl: "at.vl"; vm: "at.vm"; vn: "at.vn"; vo: "at.vo"; vp: "at.vp"; vq: "at.vq"; vr: "at.vr"; vs: "at.vs"; vt: "at.vt"; vu: "at.vu"; vv: "at.vv"; vw: "at.vw"; vx: "at.vx"; vy: "at.vy"; vz: "at.vz"; wa: "at.wa"; wb: "at.wb"; wc: "at.wc"; wd: "at.wd"; we: "at.we"; wf: "at.wf"; wg: "at.wg"; wh: "at.wh"; wi: "at.wi"; wj: "at.wj"; wk: "at.wk"; wl: "at.wl"; wm: "at.wm"; wn: "at.wn"; wo: "at.wo"; wp: "at.wp"; wq: "at.wq"; wr: "at.wr"; ws: "at.ws"; wt: "at.wt"; wu: "at.wu"; wv: "at.wv"; ww: "at.ww"; wx: "at.wx"; wy: "at.wy"; wz: "at.wz"; xa: "at.xa"; xb: "at.xb"; xc: "at.xc"; xd: "at.xd"; xe: "at.xe"; xf: "at.xf"; xg: "at.xg"; xh: "at.xh"; xi: "at.xi"; xj: "at.xj"; xk: "at.xk"; xl: "at.xl"; xm: "at.xm"; xn: "at.xn"; xo: "at.xo"; xp: "at.xp"; xq: "at.xq"; xr: "at.xr"; xs: "at.xs"; xt: "at.xt"; xu: "at.xu"; xv: "at.xv"; xw: "at.xw"; xx: "at.xx"; xy: "at.xy"; xz: "at.xz"; ya: "at.ya"; yb: "at.yb"; yc: "at.yc"; yd: "at.yd"; ye: "at.ye"; yf: "at.yf"; yg: "at.yg"; yh: "at.yh"; yi: "at.yi"; yj: "at.yj"; yk: "at.yk"; yl: "at.yl"; ym: "at.ym"; yn: "at.yn"; yo: "at.yo"; yp: "at.yp"; yq: "at.yq"; yr: "at.yr"; ys: "at.ys"; yt: "at.yt"; yu: "at.yu"; yv: "at.yv"; yw: "at.yw"; yx: "at.yx"; yy: "at.yy"; yz: "at.yz"; za: "at.za"; zb: "at.zb"; zc: "at.zc"; zd: "at.zd"; ze: "at.ze"; zf: "at.zf"; zg: "at.zg"; zh: "at.zh"; zi: "at.zi"; zj: "at.zj"; zk: "at.zk"; zl: "at.zl"; zm: "at.zm"; zn: "at.zn"; zo: "at.zo"; zp: "at.zp"; zq: "at.zq"; zr: "at.zr"; zs: "at.zs"; zt: "at.zt"; zu: "at.zu"; zv: "at.zv"; zw: "at.zw"; zx: "at.zx"; zy: "at.zy"; zz: "at.zz"; }; au: { aa: "au.aa"; ab: "au.ab"; ac: "au.ac"; ad: "au.ad"; ae: "au.ae"; af: "au.af"; ag: "au.ag"; ah: "au.ah"; ai: "au.ai"; aj: "au.aj"; ak: "au.ak"; al: "au.al"; am: "au.am"; an: "au.an"; ao: "au.ao"; ap: "au.ap"; aq: "au.aq"; ar: "au.ar"; as: "au.as"; at: "au.at"; au: "au.au"; av: "au.av"; aw: "au.aw"; ax: "au.ax"; ay: "au.ay"; az: "au.az"; ba: "au.ba"; bb: "au.bb"; bc: "au.bc"; bd: "au.bd"; be: "au.be"; bf: "au.bf"; bg: "au.bg"; bh: "au.bh"; bi: "au.bi"; bj: "au.bj"; bk: "au.bk"; bl: "au.bl"; bm: "au.bm"; bn: "au.bn"; bo: "au.bo"; bp: "au.bp"; bq: "au.bq"; br: "au.br"; bs: "au.bs"; bt: "au.bt"; bu: "au.bu"; bv: "au.bv"; bw: "au.bw"; bx: "au.bx"; by: "au.by"; bz: "au.bz"; ca: "au.ca"; cb: "au.cb"; cc: "au.cc"; cd: "au.cd"; ce: "au.ce"; cf: "au.cf"; cg: "au.cg"; ch: "au.ch"; ci: "au.ci"; cj: "au.cj"; ck: "au.ck"; cl: "au.cl"; cm: "au.cm"; cn: "au.cn"; co: "au.co"; cp: "au.cp"; cq: "au.cq"; cr: "au.cr"; cs: "au.cs"; ct: "au.ct"; cu: "au.cu"; cv: "au.cv"; cw: "au.cw"; cx: "au.cx"; cy: "au.cy"; cz: "au.cz"; da: "au.da"; db: "au.db"; dc: "au.dc"; dd: "au.dd"; de: "au.de"; df: "au.df"; dg: "au.dg"; dh: "au.dh"; di: "au.di"; dj: "au.dj"; dk: "au.dk"; dl: "au.dl"; dm: "au.dm"; dn: "au.dn"; do: "au.do"; dp: "au.dp"; dq: "au.dq"; dr: "au.dr"; ds: "au.ds"; dt: "au.dt"; du: "au.du"; dv: "au.dv"; dw: "au.dw"; dx: "au.dx"; dy: "au.dy"; dz: "au.dz"; ea: "au.ea"; eb: "au.eb"; ec: "au.ec"; ed: "au.ed"; ee: "au.ee"; ef: "au.ef"; eg: "au.eg"; eh: "au.eh"; ei: "au.ei"; ej: "au.ej"; ek: "au.ek"; el: "au.el"; em: "au.em"; en: "au.en"; eo: "au.eo"; ep: "au.ep"; eq: "au.eq"; er: "au.er"; es: "au.es"; et: "au.et"; eu: "au.eu"; ev: "au.ev"; ew: "au.ew"; ex: "au.ex"; ey: "au.ey"; ez: "au.ez"; fa: "au.fa"; fb: "au.fb"; fc: "au.fc"; fd: "au.fd"; fe: "au.fe"; ff: "au.ff"; fg: "au.fg"; fh: "au.fh"; fi: "au.fi"; fj: "au.fj"; fk: "au.fk"; fl: "au.fl"; fm: "au.fm"; fn: "au.fn"; fo: "au.fo"; fp: "au.fp"; fq: "au.fq"; fr: "au.fr"; fs: "au.fs"; ft: "au.ft"; fu: "au.fu"; fv: "au.fv"; fw: "au.fw"; fx: "au.fx"; fy: "au.fy"; fz: "au.fz"; ga: "au.ga"; gb: "au.gb"; gc: "au.gc"; gd: "au.gd"; ge: "au.ge"; gf: "au.gf"; gg: "au.gg"; gh: "au.gh"; gi: "au.gi"; gj: "au.gj"; gk: "au.gk"; gl: "au.gl"; gm: "au.gm"; gn: "au.gn"; go: "au.go"; gp: "au.gp"; gq: "au.gq"; gr: "au.gr"; gs: "au.gs"; gt: "au.gt"; gu: "au.gu"; gv: "au.gv"; gw: "au.gw"; gx: "au.gx"; gy: "au.gy"; gz: "au.gz"; ha: "au.ha"; hb: "au.hb"; hc: "au.hc"; hd: "au.hd"; he: "au.he"; hf: "au.hf"; hg: "au.hg"; hh: "au.hh"; hi: "au.hi"; hj: "au.hj"; hk: "au.hk"; hl: "au.hl"; hm: "au.hm"; hn: "au.hn"; ho: "au.ho"; hp: "au.hp"; hq: "au.hq"; hr: "au.hr"; hs: "au.hs"; ht: "au.ht"; hu: "au.hu"; hv: "au.hv"; hw: "au.hw"; hx: "au.hx"; hy: "au.hy"; hz: "au.hz"; ia: "au.ia"; ib: "au.ib"; ic: "au.ic"; id: "au.id"; ie: "au.ie"; if: "au.if"; ig: "au.ig"; ih: "au.ih"; ii: "au.ii"; ij: "au.ij"; ik: "au.ik"; il: "au.il"; im: "au.im"; in: "au.in"; io: "au.io"; ip: "au.ip"; iq: "au.iq"; ir: "au.ir"; is: "au.is"; it: "au.it"; iu: "au.iu"; iv: "au.iv"; iw: "au.iw"; ix: "au.ix"; iy: "au.iy"; iz: "au.iz"; ja: "au.ja"; jb: "au.jb"; jc: "au.jc"; jd: "au.jd"; je: "au.je"; jf: "au.jf"; jg: "au.jg"; jh: "au.jh"; ji: "au.ji"; jj: "au.jj"; jk: "au.jk"; jl: "au.jl"; jm: "au.jm"; jn: "au.jn"; jo: "au.jo"; jp: "au.jp"; jq: "au.jq"; jr: "au.jr"; js: "au.js"; jt: "au.jt"; ju: "au.ju"; jv: "au.jv"; jw: "au.jw"; jx: "au.jx"; jy: "au.jy"; jz: "au.jz"; ka: "au.ka"; kb: "au.kb"; kc: "au.kc"; kd: "au.kd"; ke: "au.ke"; kf: "au.kf"; kg: "au.kg"; kh: "au.kh"; ki: "au.ki"; kj: "au.kj"; kk: "au.kk"; kl: "au.kl"; km: "au.km"; kn: "au.kn"; ko: "au.ko"; kp: "au.kp"; kq: "au.kq"; kr: "au.kr"; ks: "au.ks"; kt: "au.kt"; ku: "au.ku"; kv: "au.kv"; kw: "au.kw"; kx: "au.kx"; ky: "au.ky"; kz: "au.kz"; la: "au.la"; lb: "au.lb"; lc: "au.lc"; ld: "au.ld"; le: "au.le"; lf: "au.lf"; lg: "au.lg"; lh: "au.lh"; li: "au.li"; lj: "au.lj"; lk: "au.lk"; ll: "au.ll"; lm: "au.lm"; ln: "au.ln"; lo: "au.lo"; lp: "au.lp"; lq: "au.lq"; lr: "au.lr"; ls: "au.ls"; lt: "au.lt"; lu: "au.lu"; lv: "au.lv"; lw: "au.lw"; lx: "au.lx"; ly: "au.ly"; lz: "au.lz"; ma: "au.ma"; mb: "au.mb"; mc: "au.mc"; md: "au.md"; me: "au.me"; mf: "au.mf"; mg: "au.mg"; mh: "au.mh"; mi: "au.mi"; mj: "au.mj"; mk: "au.mk"; ml: "au.ml"; mm: "au.mm"; mn: "au.mn"; mo: "au.mo"; mp: "au.mp"; mq: "au.mq"; mr: "au.mr"; ms: "au.ms"; mt: "au.mt"; mu: "au.mu"; mv: "au.mv"; mw: "au.mw"; mx: "au.mx"; my: "au.my"; mz: "au.mz"; na: "au.na"; nb: "au.nb"; nc: "au.nc"; nd: "au.nd"; ne: "au.ne"; nf: "au.nf"; ng: "au.ng"; nh: "au.nh"; ni: "au.ni"; nj: "au.nj"; nk: "au.nk"; nl: "au.nl"; nm: "au.nm"; nn: "au.nn"; no: "au.no"; np: "au.np"; nq: "au.nq"; nr: "au.nr"; ns: "au.ns"; nt: "au.nt"; nu: "au.nu"; nv: "au.nv"; nw: "au.nw"; nx: "au.nx"; ny: "au.ny"; nz: "au.nz"; oa: "au.oa"; ob: "au.ob"; oc: "au.oc"; od: "au.od"; oe: "au.oe"; of: "au.of"; og: "au.og"; oh: "au.oh"; oi: "au.oi"; oj: "au.oj"; ok: "au.ok"; ol: "au.ol"; om: "au.om"; on: "au.on"; oo: "au.oo"; op: "au.op"; oq: "au.oq"; or: "au.or"; os: "au.os"; ot: "au.ot"; ou: "au.ou"; ov: "au.ov"; ow: "au.ow"; ox: "au.ox"; oy: "au.oy"; oz: "au.oz"; pa: "au.pa"; pb: "au.pb"; pc: "au.pc"; pd: "au.pd"; pe: "au.pe"; pf: "au.pf"; pg: "au.pg"; ph: "au.ph"; pi: "au.pi"; pj: "au.pj"; pk: "au.pk"; pl: "au.pl"; pm: "au.pm"; pn: "au.pn"; po: "au.po"; pp: "au.pp"; pq: "au.pq"; pr: "au.pr"; ps: "au.ps"; pt: "au.pt"; pu: "au.pu"; pv: "au.pv"; pw: "au.pw"; px: "au.px"; py: "au.py"; pz: "au.pz"; qa: "au.qa"; qb: "au.qb"; qc: "au.qc"; qd: "au.qd"; qe: "au.qe"; qf: "au.qf"; qg: "au.qg"; qh: "au.qh"; qi: "au.qi"; qj: "au.qj"; qk: "au.qk"; ql: "au.ql"; qm: "au.qm"; qn: "au.qn"; qo: "au.qo"; qp: "au.qp"; qq: "au.qq"; qr: "au.qr"; qs: "au.qs"; qt: "au.qt"; qu: "au.qu"; qv: "au.qv"; qw: "au.qw"; qx: "au.qx"; qy: "au.qy"; qz: "au.qz"; ra: "au.ra"; rb: "au.rb"; rc: "au.rc"; rd: "au.rd"; re: "au.re"; rf: "au.rf"; rg: "au.rg"; rh: "au.rh"; ri: "au.ri"; rj: "au.rj"; rk: "au.rk"; rl: "au.rl"; rm: "au.rm"; rn: "au.rn"; ro: "au.ro"; rp: "au.rp"; rq: "au.rq"; rr: "au.rr"; rs: "au.rs"; rt: "au.rt"; ru: "au.ru"; rv: "au.rv"; rw: "au.rw"; rx: "au.rx"; ry: "au.ry"; rz: "au.rz"; sa: "au.sa"; sb: "au.sb"; sc: "au.sc"; sd: "au.sd"; se: "au.se"; sf: "au.sf"; sg: "au.sg"; sh: "au.sh"; si: "au.si"; sj: "au.sj"; sk: "au.sk"; sl: "au.sl"; sm: "au.sm"; sn: "au.sn"; so: "au.so"; sp: "au.sp"; sq: "au.sq"; sr: "au.sr"; ss: "au.ss"; st: "au.st"; su: "au.su"; sv: "au.sv"; sw: "au.sw"; sx: "au.sx"; sy: "au.sy"; sz: "au.sz"; ta: "au.ta"; tb: "au.tb"; tc: "au.tc"; td: "au.td"; te: "au.te"; tf: "au.tf"; tg: "au.tg"; th: "au.th"; ti: "au.ti"; tj: "au.tj"; tk: "au.tk"; tl: "au.tl"; tm: "au.tm"; tn: "au.tn"; to: "au.to"; tp: "au.tp"; tq: "au.tq"; tr: "au.tr"; ts: "au.ts"; tt: "au.tt"; tu: "au.tu"; tv: "au.tv"; tw: "au.tw"; tx: "au.tx"; ty: "au.ty"; tz: "au.tz"; ua: "au.ua"; ub: "au.ub"; uc: "au.uc"; ud: "au.ud"; ue: "au.ue"; uf: "au.uf"; ug: "au.ug"; uh: "au.uh"; ui: "au.ui"; uj: "au.uj"; uk: "au.uk"; ul: "au.ul"; um: "au.um"; un: "au.un"; uo: "au.uo"; up: "au.up"; uq: "au.uq"; ur: "au.ur"; us: "au.us"; ut: "au.ut"; uu: "au.uu"; uv: "au.uv"; uw: "au.uw"; ux: "au.ux"; uy: "au.uy"; uz: "au.uz"; va: "au.va"; vb: "au.vb"; vc: "au.vc"; vd: "au.vd"; ve: "au.ve"; vf: "au.vf"; vg: "au.vg"; vh: "au.vh"; vi: "au.vi"; vj: "au.vj"; vk: "au.vk"; vl: "au.vl"; vm: "au.vm"; vn: "au.vn"; vo: "au.vo"; vp: "au.vp"; vq: "au.vq"; vr: "au.vr"; vs: "au.vs"; vt: "au.vt"; vu: "au.vu"; vv: "au.vv"; vw: "au.vw"; vx: "au.vx"; vy: "au.vy"; vz: "au.vz"; wa: "au.wa"; wb: "au.wb"; wc: "au.wc"; wd: "au.wd"; we: "au.we"; wf: "au.wf"; wg: "au.wg"; wh: "au.wh"; wi: "au.wi"; wj: "au.wj"; wk: "au.wk"; wl: "au.wl"; wm: "au.wm"; wn: "au.wn"; wo: "au.wo"; wp: "au.wp"; wq: "au.wq"; wr: "au.wr"; ws: "au.ws"; wt: "au.wt"; wu: "au.wu"; wv: "au.wv"; ww: "au.ww"; wx: "au.wx"; wy: "au.wy"; wz: "au.wz"; xa: "au.xa"; xb: "au.xb"; xc: "au.xc"; xd: "au.xd"; xe: "au.xe"; xf: "au.xf"; xg: "au.xg"; xh: "au.xh"; xi: "au.xi"; xj: "au.xj"; xk: "au.xk"; xl: "au.xl"; xm: "au.xm"; xn: "au.xn"; xo: "au.xo"; xp: "au.xp"; xq: "au.xq"; xr: "au.xr"; xs: "au.xs"; xt: "au.xt"; xu: "au.xu"; xv: "au.xv"; xw: "au.xw"; xx: "au.xx"; xy: "au.xy"; xz: "au.xz"; ya: "au.ya"; yb: "au.yb"; yc: "au.yc"; yd: "au.yd"; ye: "au.ye"; yf: "au.yf"; yg: "au.yg"; yh: "au.yh"; yi: "au.yi"; yj: "au.yj"; yk: "au.yk"; yl: "au.yl"; ym: "au.ym"; yn: "au.yn"; yo: "au.yo"; yp: "au.yp"; yq: "au.yq"; yr: "au.yr"; ys: "au.ys"; yt: "au.yt"; yu: "au.yu"; yv: "au.yv"; yw: "au.yw"; yx: "au.yx"; yy: "au.yy"; yz: "au.yz"; za: "au.za"; zb: "au.zb"; zc: "au.zc"; zd: "au.zd"; ze: "au.ze"; zf: "au.zf"; zg: "au.zg"; zh: "au.zh"; zi: "au.zi"; zj: "au.zj"; zk: "au.zk"; zl: "au.zl"; zm: "au.zm"; zn: "au.zn"; zo: "au.zo"; zp: "au.zp"; zq: "au.zq"; zr: "au.zr"; zs: "au.zs"; zt: "au.zt"; zu: "au.zu"; zv: "au.zv"; zw: "au.zw"; zx: "au.zx"; zy: "au.zy"; zz: "au.zz"; }; av: { aa: "av.aa"; ab: "av.ab"; ac: "av.ac"; ad: "av.ad"; ae: "av.ae"; af: "av.af"; ag: "av.ag"; ah: "av.ah"; ai: "av.ai"; aj: "av.aj"; ak: "av.ak"; al: "av.al"; am: "av.am"; an: "av.an"; ao: "av.ao"; ap: "av.ap"; aq: "av.aq"; ar: "av.ar"; as: "av.as"; at: "av.at"; au: "av.au"; av: "av.av"; aw: "av.aw"; ax: "av.ax"; ay: "av.ay"; az: "av.az"; ba: "av.ba"; bb: "av.bb"; bc: "av.bc"; bd: "av.bd"; be: "av.be"; bf: "av.bf"; bg: "av.bg"; bh: "av.bh"; bi: "av.bi"; bj: "av.bj"; bk: "av.bk"; bl: "av.bl"; bm: "av.bm"; bn: "av.bn"; bo: "av.bo"; bp: "av.bp"; bq: "av.bq"; br: "av.br"; bs: "av.bs"; bt: "av.bt"; bu: "av.bu"; bv: "av.bv"; bw: "av.bw"; bx: "av.bx"; by: "av.by"; bz: "av.bz"; ca: "av.ca"; cb: "av.cb"; cc: "av.cc"; cd: "av.cd"; ce: "av.ce"; cf: "av.cf"; cg: "av.cg"; ch: "av.ch"; ci: "av.ci"; cj: "av.cj"; ck: "av.ck"; cl: "av.cl"; cm: "av.cm"; cn: "av.cn"; co: "av.co"; cp: "av.cp"; cq: "av.cq"; cr: "av.cr"; cs: "av.cs"; ct: "av.ct"; cu: "av.cu"; cv: "av.cv"; cw: "av.cw"; cx: "av.cx"; cy: "av.cy"; cz: "av.cz"; da: "av.da"; db: "av.db"; dc: "av.dc"; dd: "av.dd"; de: "av.de"; df: "av.df"; dg: "av.dg"; dh: "av.dh"; di: "av.di"; dj: "av.dj"; dk: "av.dk"; dl: "av.dl"; dm: "av.dm"; dn: "av.dn"; do: "av.do"; dp: "av.dp"; dq: "av.dq"; dr: "av.dr"; ds: "av.ds"; dt: "av.dt"; du: "av.du"; dv: "av.dv"; dw: "av.dw"; dx: "av.dx"; dy: "av.dy"; dz: "av.dz"; ea: "av.ea"; eb: "av.eb"; ec: "av.ec"; ed: "av.ed"; ee: "av.ee"; ef: "av.ef"; eg: "av.eg"; eh: "av.eh"; ei: "av.ei"; ej: "av.ej"; ek: "av.ek"; el: "av.el"; em: "av.em"; en: "av.en"; eo: "av.eo"; ep: "av.ep"; eq: "av.eq"; er: "av.er"; es: "av.es"; et: "av.et"; eu: "av.eu"; ev: "av.ev"; ew: "av.ew"; ex: "av.ex"; ey: "av.ey"; ez: "av.ez"; fa: "av.fa"; fb: "av.fb"; fc: "av.fc"; fd: "av.fd"; fe: "av.fe"; ff: "av.ff"; fg: "av.fg"; fh: "av.fh"; fi: "av.fi"; fj: "av.fj"; fk: "av.fk"; fl: "av.fl"; fm: "av.fm"; fn: "av.fn"; fo: "av.fo"; fp: "av.fp"; fq: "av.fq"; fr: "av.fr"; fs: "av.fs"; ft: "av.ft"; fu: "av.fu"; fv: "av.fv"; fw: "av.fw"; fx: "av.fx"; fy: "av.fy"; fz: "av.fz"; ga: "av.ga"; gb: "av.gb"; gc: "av.gc"; gd: "av.gd"; ge: "av.ge"; gf: "av.gf"; gg: "av.gg"; gh: "av.gh"; gi: "av.gi"; gj: "av.gj"; gk: "av.gk"; gl: "av.gl"; gm: "av.gm"; gn: "av.gn"; go: "av.go"; gp: "av.gp"; gq: "av.gq"; gr: "av.gr"; gs: "av.gs"; gt: "av.gt"; gu: "av.gu"; gv: "av.gv"; gw: "av.gw"; gx: "av.gx"; gy: "av.gy"; gz: "av.gz"; ha: "av.ha"; hb: "av.hb"; hc: "av.hc"; hd: "av.hd"; he: "av.he"; hf: "av.hf"; hg: "av.hg"; hh: "av.hh"; hi: "av.hi"; hj: "av.hj"; hk: "av.hk"; hl: "av.hl"; hm: "av.hm"; hn: "av.hn"; ho: "av.ho"; hp: "av.hp"; hq: "av.hq"; hr: "av.hr"; hs: "av.hs"; ht: "av.ht"; hu: "av.hu"; hv: "av.hv"; hw: "av.hw"; hx: "av.hx"; hy: "av.hy"; hz: "av.hz"; ia: "av.ia"; ib: "av.ib"; ic: "av.ic"; id: "av.id"; ie: "av.ie"; if: "av.if"; ig: "av.ig"; ih: "av.ih"; ii: "av.ii"; ij: "av.ij"; ik: "av.ik"; il: "av.il"; im: "av.im"; in: "av.in"; io: "av.io"; ip: "av.ip"; iq: "av.iq"; ir: "av.ir"; is: "av.is"; it: "av.it"; iu: "av.iu"; iv: "av.iv"; iw: "av.iw"; ix: "av.ix"; iy: "av.iy"; iz: "av.iz"; ja: "av.ja"; jb: "av.jb"; jc: "av.jc"; jd: "av.jd"; je: "av.je"; jf: "av.jf"; jg: "av.jg"; jh: "av.jh"; ji: "av.ji"; jj: "av.jj"; jk: "av.jk"; jl: "av.jl"; jm: "av.jm"; jn: "av.jn"; jo: "av.jo"; jp: "av.jp"; jq: "av.jq"; jr: "av.jr"; js: "av.js"; jt: "av.jt"; ju: "av.ju"; jv: "av.jv"; jw: "av.jw"; jx: "av.jx"; jy: "av.jy"; jz: "av.jz"; ka: "av.ka"; kb: "av.kb"; kc: "av.kc"; kd: "av.kd"; ke: "av.ke"; kf: "av.kf"; kg: "av.kg"; kh: "av.kh"; ki: "av.ki"; kj: "av.kj"; kk: "av.kk"; kl: "av.kl"; km: "av.km"; kn: "av.kn"; ko: "av.ko"; kp: "av.kp"; kq: "av.kq"; kr: "av.kr"; ks: "av.ks"; kt: "av.kt"; ku: "av.ku"; kv: "av.kv"; kw: "av.kw"; kx: "av.kx"; ky: "av.ky"; kz: "av.kz"; la: "av.la"; lb: "av.lb"; lc: "av.lc"; ld: "av.ld"; le: "av.le"; lf: "av.lf"; lg: "av.lg"; lh: "av.lh"; li: "av.li"; lj: "av.lj"; lk: "av.lk"; ll: "av.ll"; lm: "av.lm"; ln: "av.ln"; lo: "av.lo"; lp: "av.lp"; lq: "av.lq"; lr: "av.lr"; ls: "av.ls"; lt: "av.lt"; lu: "av.lu"; lv: "av.lv"; lw: "av.lw"; lx: "av.lx"; ly: "av.ly"; lz: "av.lz"; ma: "av.ma"; mb: "av.mb"; mc: "av.mc"; md: "av.md"; me: "av.me"; mf: "av.mf"; mg: "av.mg"; mh: "av.mh"; mi: "av.mi"; mj: "av.mj"; mk: "av.mk"; ml: "av.ml"; mm: "av.mm"; mn: "av.mn"; mo: "av.mo"; mp: "av.mp"; mq: "av.mq"; mr: "av.mr"; ms: "av.ms"; mt: "av.mt"; mu: "av.mu"; mv: "av.mv"; mw: "av.mw"; mx: "av.mx"; my: "av.my"; mz: "av.mz"; na: "av.na"; nb: "av.nb"; nc: "av.nc"; nd: "av.nd"; ne: "av.ne"; nf: "av.nf"; ng: "av.ng"; nh: "av.nh"; ni: "av.ni"; nj: "av.nj"; nk: "av.nk"; nl: "av.nl"; nm: "av.nm"; nn: "av.nn"; no: "av.no"; np: "av.np"; nq: "av.nq"; nr: "av.nr"; ns: "av.ns"; nt: "av.nt"; nu: "av.nu"; nv: "av.nv"; nw: "av.nw"; nx: "av.nx"; ny: "av.ny"; nz: "av.nz"; oa: "av.oa"; ob: "av.ob"; oc: "av.oc"; od: "av.od"; oe: "av.oe"; of: "av.of"; og: "av.og"; oh: "av.oh"; oi: "av.oi"; oj: "av.oj"; ok: "av.ok"; ol: "av.ol"; om: "av.om"; on: "av.on"; oo: "av.oo"; op: "av.op"; oq: "av.oq"; or: "av.or"; os: "av.os"; ot: "av.ot"; ou: "av.ou"; ov: "av.ov"; ow: "av.ow"; ox: "av.ox"; oy: "av.oy"; oz: "av.oz"; pa: "av.pa"; pb: "av.pb"; pc: "av.pc"; pd: "av.pd"; pe: "av.pe"; pf: "av.pf"; pg: "av.pg"; ph: "av.ph"; pi: "av.pi"; pj: "av.pj"; pk: "av.pk"; pl: "av.pl"; pm: "av.pm"; pn: "av.pn"; po: "av.po"; pp: "av.pp"; pq: "av.pq"; pr: "av.pr"; ps: "av.ps"; pt: "av.pt"; pu: "av.pu"; pv: "av.pv"; pw: "av.pw"; px: "av.px"; py: "av.py"; pz: "av.pz"; qa: "av.qa"; qb: "av.qb"; qc: "av.qc"; qd: "av.qd"; qe: "av.qe"; qf: "av.qf"; qg: "av.qg"; qh: "av.qh"; qi: "av.qi"; qj: "av.qj"; qk: "av.qk"; ql: "av.ql"; qm: "av.qm"; qn: "av.qn"; qo: "av.qo"; qp: "av.qp"; qq: "av.qq"; qr: "av.qr"; qs: "av.qs"; qt: "av.qt"; qu: "av.qu"; qv: "av.qv"; qw: "av.qw"; qx: "av.qx"; qy: "av.qy"; qz: "av.qz"; ra: "av.ra"; rb: "av.rb"; rc: "av.rc"; rd: "av.rd"; re: "av.re"; rf: "av.rf"; rg: "av.rg"; rh: "av.rh"; ri: "av.ri"; rj: "av.rj"; rk: "av.rk"; rl: "av.rl"; rm: "av.rm"; rn: "av.rn"; ro: "av.ro"; rp: "av.rp"; rq: "av.rq"; rr: "av.rr"; rs: "av.rs"; rt: "av.rt"; ru: "av.ru"; rv: "av.rv"; rw: "av.rw"; rx: "av.rx"; ry: "av.ry"; rz: "av.rz"; sa: "av.sa"; sb: "av.sb"; sc: "av.sc"; sd: "av.sd"; se: "av.se"; sf: "av.sf"; sg: "av.sg"; sh: "av.sh"; si: "av.si"; sj: "av.sj"; sk: "av.sk"; sl: "av.sl"; sm: "av.sm"; sn: "av.sn"; so: "av.so"; sp: "av.sp"; sq: "av.sq"; sr: "av.sr"; ss: "av.ss"; st: "av.st"; su: "av.su"; sv: "av.sv"; sw: "av.sw"; sx: "av.sx"; sy: "av.sy"; sz: "av.sz"; ta: "av.ta"; tb: "av.tb"; tc: "av.tc"; td: "av.td"; te: "av.te"; tf: "av.tf"; tg: "av.tg"; th: "av.th"; ti: "av.ti"; tj: "av.tj"; tk: "av.tk"; tl: "av.tl"; tm: "av.tm"; tn: "av.tn"; to: "av.to"; tp: "av.tp"; tq: "av.tq"; tr: "av.tr"; ts: "av.ts"; tt: "av.tt"; tu: "av.tu"; tv: "av.tv"; tw: "av.tw"; tx: "av.tx"; ty: "av.ty"; tz: "av.tz"; ua: "av.ua"; ub: "av.ub"; uc: "av.uc"; ud: "av.ud"; ue: "av.ue"; uf: "av.uf"; ug: "av.ug"; uh: "av.uh"; ui: "av.ui"; uj: "av.uj"; uk: "av.uk"; ul: "av.ul"; um: "av.um"; un: "av.un"; uo: "av.uo"; up: "av.up"; uq: "av.uq"; ur: "av.ur"; us: "av.us"; ut: "av.ut"; uu: "av.uu"; uv: "av.uv"; uw: "av.uw"; ux: "av.ux"; uy: "av.uy"; uz: "av.uz"; va: "av.va"; vb: "av.vb"; vc: "av.vc"; vd: "av.vd"; ve: "av.ve"; vf: "av.vf"; vg: "av.vg"; vh: "av.vh"; vi: "av.vi"; vj: "av.vj"; vk: "av.vk"; vl: "av.vl"; vm: "av.vm"; vn: "av.vn"; vo: "av.vo"; vp: "av.vp"; vq: "av.vq"; vr: "av.vr"; vs: "av.vs"; vt: "av.vt"; vu: "av.vu"; vv: "av.vv"; vw: "av.vw"; vx: "av.vx"; vy: "av.vy"; vz: "av.vz"; wa: "av.wa"; wb: "av.wb"; wc: "av.wc"; wd: "av.wd"; we: "av.we"; wf: "av.wf"; wg: "av.wg"; wh: "av.wh"; wi: "av.wi"; wj: "av.wj"; wk: "av.wk"; wl: "av.wl"; wm: "av.wm"; wn: "av.wn"; wo: "av.wo"; wp: "av.wp"; wq: "av.wq"; wr: "av.wr"; ws: "av.ws"; wt: "av.wt"; wu: "av.wu"; wv: "av.wv"; ww: "av.ww"; wx: "av.wx"; wy: "av.wy"; wz: "av.wz"; xa: "av.xa"; xb: "av.xb"; xc: "av.xc"; xd: "av.xd"; xe: "av.xe"; xf: "av.xf"; xg: "av.xg"; xh: "av.xh"; xi: "av.xi"; xj: "av.xj"; xk: "av.xk"; xl: "av.xl"; xm: "av.xm"; xn: "av.xn"; xo: "av.xo"; xp: "av.xp"; xq: "av.xq"; xr: "av.xr"; xs: "av.xs"; xt: "av.xt"; xu: "av.xu"; xv: "av.xv"; xw: "av.xw"; xx: "av.xx"; xy: "av.xy"; xz: "av.xz"; ya: "av.ya"; yb: "av.yb"; yc: "av.yc"; yd: "av.yd"; ye: "av.ye"; yf: "av.yf"; yg: "av.yg"; yh: "av.yh"; yi: "av.yi"; yj: "av.yj"; yk: "av.yk"; yl: "av.yl"; ym: "av.ym"; yn: "av.yn"; yo: "av.yo"; yp: "av.yp"; yq: "av.yq"; yr: "av.yr"; ys: "av.ys"; yt: "av.yt"; yu: "av.yu"; yv: "av.yv"; yw: "av.yw"; yx: "av.yx"; yy: "av.yy"; yz: "av.yz"; za: "av.za"; zb: "av.zb"; zc: "av.zc"; zd: "av.zd"; ze: "av.ze"; zf: "av.zf"; zg: "av.zg"; zh: "av.zh"; zi: "av.zi"; zj: "av.zj"; zk: "av.zk"; zl: "av.zl"; zm: "av.zm"; zn: "av.zn"; zo: "av.zo"; zp: "av.zp"; zq: "av.zq"; zr: "av.zr"; zs: "av.zs"; zt: "av.zt"; zu: "av.zu"; zv: "av.zv"; zw: "av.zw"; zx: "av.zx"; zy: "av.zy"; zz: "av.zz"; }; aw: { aa: "aw.aa"; ab: "aw.ab"; ac: "aw.ac"; ad: "aw.ad"; ae: "aw.ae"; af: "aw.af"; ag: "aw.ag"; ah: "aw.ah"; ai: "aw.ai"; aj: "aw.aj"; ak: "aw.ak"; al: "aw.al"; am: "aw.am"; an: "aw.an"; ao: "aw.ao"; ap: "aw.ap"; aq: "aw.aq"; ar: "aw.ar"; as: "aw.as"; at: "aw.at"; au: "aw.au"; av: "aw.av"; aw: "aw.aw"; ax: "aw.ax"; ay: "aw.ay"; az: "aw.az"; ba: "aw.ba"; bb: "aw.bb"; bc: "aw.bc"; bd: "aw.bd"; be: "aw.be"; bf: "aw.bf"; bg: "aw.bg"; bh: "aw.bh"; bi: "aw.bi"; bj: "aw.bj"; bk: "aw.bk"; bl: "aw.bl"; bm: "aw.bm"; bn: "aw.bn"; bo: "aw.bo"; bp: "aw.bp"; bq: "aw.bq"; br: "aw.br"; bs: "aw.bs"; bt: "aw.bt"; bu: "aw.bu"; bv: "aw.bv"; bw: "aw.bw"; bx: "aw.bx"; by: "aw.by"; bz: "aw.bz"; ca: "aw.ca"; cb: "aw.cb"; cc: "aw.cc"; cd: "aw.cd"; ce: "aw.ce"; cf: "aw.cf"; cg: "aw.cg"; ch: "aw.ch"; ci: "aw.ci"; cj: "aw.cj"; ck: "aw.ck"; cl: "aw.cl"; cm: "aw.cm"; cn: "aw.cn"; co: "aw.co"; cp: "aw.cp"; cq: "aw.cq"; cr: "aw.cr"; cs: "aw.cs"; ct: "aw.ct"; cu: "aw.cu"; cv: "aw.cv"; cw: "aw.cw"; cx: "aw.cx"; cy: "aw.cy"; cz: "aw.cz"; da: "aw.da"; db: "aw.db"; dc: "aw.dc"; dd: "aw.dd"; de: "aw.de"; df: "aw.df"; dg: "aw.dg"; dh: "aw.dh"; di: "aw.di"; dj: "aw.dj"; dk: "aw.dk"; dl: "aw.dl"; dm: "aw.dm"; dn: "aw.dn"; do: "aw.do"; dp: "aw.dp"; dq: "aw.dq"; dr: "aw.dr"; ds: "aw.ds"; dt: "aw.dt"; du: "aw.du"; dv: "aw.dv"; dw: "aw.dw"; dx: "aw.dx"; dy: "aw.dy"; dz: "aw.dz"; ea: "aw.ea"; eb: "aw.eb"; ec: "aw.ec"; ed: "aw.ed"; ee: "aw.ee"; ef: "aw.ef"; eg: "aw.eg"; eh: "aw.eh"; ei: "aw.ei"; ej: "aw.ej"; ek: "aw.ek"; el: "aw.el"; em: "aw.em"; en: "aw.en"; eo: "aw.eo"; ep: "aw.ep"; eq: "aw.eq"; er: "aw.er"; es: "aw.es"; et: "aw.et"; eu: "aw.eu"; ev: "aw.ev"; ew: "aw.ew"; ex: "aw.ex"; ey: "aw.ey"; ez: "aw.ez"; fa: "aw.fa"; fb: "aw.fb"; fc: "aw.fc"; fd: "aw.fd"; fe: "aw.fe"; ff: "aw.ff"; fg: "aw.fg"; fh: "aw.fh"; fi: "aw.fi"; fj: "aw.fj"; fk: "aw.fk"; fl: "aw.fl"; fm: "aw.fm"; fn: "aw.fn"; fo: "aw.fo"; fp: "aw.fp"; fq: "aw.fq"; fr: "aw.fr"; fs: "aw.fs"; ft: "aw.ft"; fu: "aw.fu"; fv: "aw.fv"; fw: "aw.fw"; fx: "aw.fx"; fy: "aw.fy"; fz: "aw.fz"; ga: "aw.ga"; gb: "aw.gb"; gc: "aw.gc"; gd: "aw.gd"; ge: "aw.ge"; gf: "aw.gf"; gg: "aw.gg"; gh: "aw.gh"; gi: "aw.gi"; gj: "aw.gj"; gk: "aw.gk"; gl: "aw.gl"; gm: "aw.gm"; gn: "aw.gn"; go: "aw.go"; gp: "aw.gp"; gq: "aw.gq"; gr: "aw.gr"; gs: "aw.gs"; gt: "aw.gt"; gu: "aw.gu"; gv: "aw.gv"; gw: "aw.gw"; gx: "aw.gx"; gy: "aw.gy"; gz: "aw.gz"; ha: "aw.ha"; hb: "aw.hb"; hc: "aw.hc"; hd: "aw.hd"; he: "aw.he"; hf: "aw.hf"; hg: "aw.hg"; hh: "aw.hh"; hi: "aw.hi"; hj: "aw.hj"; hk: "aw.hk"; hl: "aw.hl"; hm: "aw.hm"; hn: "aw.hn"; ho: "aw.ho"; hp: "aw.hp"; hq: "aw.hq"; hr: "aw.hr"; hs: "aw.hs"; ht: "aw.ht"; hu: "aw.hu"; hv: "aw.hv"; hw: "aw.hw"; hx: "aw.hx"; hy: "aw.hy"; hz: "aw.hz"; ia: "aw.ia"; ib: "aw.ib"; ic: "aw.ic"; id: "aw.id"; ie: "aw.ie"; if: "aw.if"; ig: "aw.ig"; ih: "aw.ih"; ii: "aw.ii"; ij: "aw.ij"; ik: "aw.ik"; il: "aw.il"; im: "aw.im"; in: "aw.in"; io: "aw.io"; ip: "aw.ip"; iq: "aw.iq"; ir: "aw.ir"; is: "aw.is"; it: "aw.it"; iu: "aw.iu"; iv: "aw.iv"; iw: "aw.iw"; ix: "aw.ix"; iy: "aw.iy"; iz: "aw.iz"; ja: "aw.ja"; jb: "aw.jb"; jc: "aw.jc"; jd: "aw.jd"; je: "aw.je"; jf: "aw.jf"; jg: "aw.jg"; jh: "aw.jh"; ji: "aw.ji"; jj: "aw.jj"; jk: "aw.jk"; jl: "aw.jl"; jm: "aw.jm"; jn: "aw.jn"; jo: "aw.jo"; jp: "aw.jp"; jq: "aw.jq"; jr: "aw.jr"; js: "aw.js"; jt: "aw.jt"; ju: "aw.ju"; jv: "aw.jv"; jw: "aw.jw"; jx: "aw.jx"; jy: "aw.jy"; jz: "aw.jz"; ka: "aw.ka"; kb: "aw.kb"; kc: "aw.kc"; kd: "aw.kd"; ke: "aw.ke"; kf: "aw.kf"; kg: "aw.kg"; kh: "aw.kh"; ki: "aw.ki"; kj: "aw.kj"; kk: "aw.kk"; kl: "aw.kl"; km: "aw.km"; kn: "aw.kn"; ko: "aw.ko"; kp: "aw.kp"; kq: "aw.kq"; kr: "aw.kr"; ks: "aw.ks"; kt: "aw.kt"; ku: "aw.ku"; kv: "aw.kv"; kw: "aw.kw"; kx: "aw.kx"; ky: "aw.ky"; kz: "aw.kz"; la: "aw.la"; lb: "aw.lb"; lc: "aw.lc"; ld: "aw.ld"; le: "aw.le"; lf: "aw.lf"; lg: "aw.lg"; lh: "aw.lh"; li: "aw.li"; lj: "aw.lj"; lk: "aw.lk"; ll: "aw.ll"; lm: "aw.lm"; ln: "aw.ln"; lo: "aw.lo"; lp: "aw.lp"; lq: "aw.lq"; lr: "aw.lr"; ls: "aw.ls"; lt: "aw.lt"; lu: "aw.lu"; lv: "aw.lv"; lw: "aw.lw"; lx: "aw.lx"; ly: "aw.ly"; lz: "aw.lz"; ma: "aw.ma"; mb: "aw.mb"; mc: "aw.mc"; md: "aw.md"; me: "aw.me"; mf: "aw.mf"; mg: "aw.mg"; mh: "aw.mh"; mi: "aw.mi"; mj: "aw.mj"; mk: "aw.mk"; ml: "aw.ml"; mm: "aw.mm"; mn: "aw.mn"; mo: "aw.mo"; mp: "aw.mp"; mq: "aw.mq"; mr: "aw.mr"; ms: "aw.ms"; mt: "aw.mt"; mu: "aw.mu"; mv: "aw.mv"; mw: "aw.mw"; mx: "aw.mx"; my: "aw.my"; mz: "aw.mz"; na: "aw.na"; nb: "aw.nb"; nc: "aw.nc"; nd: "aw.nd"; ne: "aw.ne"; nf: "aw.nf"; ng: "aw.ng"; nh: "aw.nh"; ni: "aw.ni"; nj: "aw.nj"; nk: "aw.nk"; nl: "aw.nl"; nm: "aw.nm"; nn: "aw.nn"; no: "aw.no"; np: "aw.np"; nq: "aw.nq"; nr: "aw.nr"; ns: "aw.ns"; nt: "aw.nt"; nu: "aw.nu"; nv: "aw.nv"; nw: "aw.nw"; nx: "aw.nx"; ny: "aw.ny"; nz: "aw.nz"; oa: "aw.oa"; ob: "aw.ob"; oc: "aw.oc"; od: "aw.od"; oe: "aw.oe"; of: "aw.of"; og: "aw.og"; oh: "aw.oh"; oi: "aw.oi"; oj: "aw.oj"; ok: "aw.ok"; ol: "aw.ol"; om: "aw.om"; on: "aw.on"; oo: "aw.oo"; op: "aw.op"; oq: "aw.oq"; or: "aw.or"; os: "aw.os"; ot: "aw.ot"; ou: "aw.ou"; ov: "aw.ov"; ow: "aw.ow"; ox: "aw.ox"; oy: "aw.oy"; oz: "aw.oz"; pa: "aw.pa"; pb: "aw.pb"; pc: "aw.pc"; pd: "aw.pd"; pe: "aw.pe"; pf: "aw.pf"; pg: "aw.pg"; ph: "aw.ph"; pi: "aw.pi"; pj: "aw.pj"; pk: "aw.pk"; pl: "aw.pl"; pm: "aw.pm"; pn: "aw.pn"; po: "aw.po"; pp: "aw.pp"; pq: "aw.pq"; pr: "aw.pr"; ps: "aw.ps"; pt: "aw.pt"; pu: "aw.pu"; pv: "aw.pv"; pw: "aw.pw"; px: "aw.px"; py: "aw.py"; pz: "aw.pz"; qa: "aw.qa"; qb: "aw.qb"; qc: "aw.qc"; qd: "aw.qd"; qe: "aw.qe"; qf: "aw.qf"; qg: "aw.qg"; qh: "aw.qh"; qi: "aw.qi"; qj: "aw.qj"; qk: "aw.qk"; ql: "aw.ql"; qm: "aw.qm"; qn: "aw.qn"; qo: "aw.qo"; qp: "aw.qp"; qq: "aw.qq"; qr: "aw.qr"; qs: "aw.qs"; qt: "aw.qt"; qu: "aw.qu"; qv: "aw.qv"; qw: "aw.qw"; qx: "aw.qx"; qy: "aw.qy"; qz: "aw.qz"; ra: "aw.ra"; rb: "aw.rb"; rc: "aw.rc"; rd: "aw.rd"; re: "aw.re"; rf: "aw.rf"; rg: "aw.rg"; rh: "aw.rh"; ri: "aw.ri"; rj: "aw.rj"; rk: "aw.rk"; rl: "aw.rl"; rm: "aw.rm"; rn: "aw.rn"; ro: "aw.ro"; rp: "aw.rp"; rq: "aw.rq"; rr: "aw.rr"; rs: "aw.rs"; rt: "aw.rt"; ru: "aw.ru"; rv: "aw.rv"; rw: "aw.rw"; rx: "aw.rx"; ry: "aw.ry"; rz: "aw.rz"; sa: "aw.sa"; sb: "aw.sb"; sc: "aw.sc"; sd: "aw.sd"; se: "aw.se"; sf: "aw.sf"; sg: "aw.sg"; sh: "aw.sh"; si: "aw.si"; sj: "aw.sj"; sk: "aw.sk"; sl: "aw.sl"; sm: "aw.sm"; sn: "aw.sn"; so: "aw.so"; sp: "aw.sp"; sq: "aw.sq"; sr: "aw.sr"; ss: "aw.ss"; st: "aw.st"; su: "aw.su"; sv: "aw.sv"; sw: "aw.sw"; sx: "aw.sx"; sy: "aw.sy"; sz: "aw.sz"; ta: "aw.ta"; tb: "aw.tb"; tc: "aw.tc"; td: "aw.td"; te: "aw.te"; tf: "aw.tf"; tg: "aw.tg"; th: "aw.th"; ti: "aw.ti"; tj: "aw.tj"; tk: "aw.tk"; tl: "aw.tl"; tm: "aw.tm"; tn: "aw.tn"; to: "aw.to"; tp: "aw.tp"; tq: "aw.tq"; tr: "aw.tr"; ts: "aw.ts"; tt: "aw.tt"; tu: "aw.tu"; tv: "aw.tv"; tw: "aw.tw"; tx: "aw.tx"; ty: "aw.ty"; tz: "aw.tz"; ua: "aw.ua"; ub: "aw.ub"; uc: "aw.uc"; ud: "aw.ud"; ue: "aw.ue"; uf: "aw.uf"; ug: "aw.ug"; uh: "aw.uh"; ui: "aw.ui"; uj: "aw.uj"; uk: "aw.uk"; ul: "aw.ul"; um: "aw.um"; un: "aw.un"; uo: "aw.uo"; up: "aw.up"; uq: "aw.uq"; ur: "aw.ur"; us: "aw.us"; ut: "aw.ut"; uu: "aw.uu"; uv: "aw.uv"; uw: "aw.uw"; ux: "aw.ux"; uy: "aw.uy"; uz: "aw.uz"; va: "aw.va"; vb: "aw.vb"; vc: "aw.vc"; vd: "aw.vd"; ve: "aw.ve"; vf: "aw.vf"; vg: "aw.vg"; vh: "aw.vh"; vi: "aw.vi"; vj: "aw.vj"; vk: "aw.vk"; vl: "aw.vl"; vm: "aw.vm"; vn: "aw.vn"; vo: "aw.vo"; vp: "aw.vp"; vq: "aw.vq"; vr: "aw.vr"; vs: "aw.vs"; vt: "aw.vt"; vu: "aw.vu"; vv: "aw.vv"; vw: "aw.vw"; vx: "aw.vx"; vy: "aw.vy"; vz: "aw.vz"; wa: "aw.wa"; wb: "aw.wb"; wc: "aw.wc"; wd: "aw.wd"; we: "aw.we"; wf: "aw.wf"; wg: "aw.wg"; wh: "aw.wh"; wi: "aw.wi"; wj: "aw.wj"; wk: "aw.wk"; wl: "aw.wl"; wm: "aw.wm"; wn: "aw.wn"; wo: "aw.wo"; wp: "aw.wp"; wq: "aw.wq"; wr: "aw.wr"; ws: "aw.ws"; wt: "aw.wt"; wu: "aw.wu"; wv: "aw.wv"; ww: "aw.ww"; wx: "aw.wx"; wy: "aw.wy"; wz: "aw.wz"; xa: "aw.xa"; xb: "aw.xb"; xc: "aw.xc"; xd: "aw.xd"; xe: "aw.xe"; xf: "aw.xf"; xg: "aw.xg"; xh: "aw.xh"; xi: "aw.xi"; xj: "aw.xj"; xk: "aw.xk"; xl: "aw.xl"; xm: "aw.xm"; xn: "aw.xn"; xo: "aw.xo"; xp: "aw.xp"; xq: "aw.xq"; xr: "aw.xr"; xs: "aw.xs"; xt: "aw.xt"; xu: "aw.xu"; xv: "aw.xv"; xw: "aw.xw"; xx: "aw.xx"; xy: "aw.xy"; xz: "aw.xz"; ya: "aw.ya"; yb: "aw.yb"; yc: "aw.yc"; yd: "aw.yd"; ye: "aw.ye"; yf: "aw.yf"; yg: "aw.yg"; yh: "aw.yh"; yi: "aw.yi"; yj: "aw.yj"; yk: "aw.yk"; yl: "aw.yl"; ym: "aw.ym"; yn: "aw.yn"; yo: "aw.yo"; yp: "aw.yp"; yq: "aw.yq"; yr: "aw.yr"; ys: "aw.ys"; yt: "aw.yt"; yu: "aw.yu"; yv: "aw.yv"; yw: "aw.yw"; yx: "aw.yx"; yy: "aw.yy"; yz: "aw.yz"; za: "aw.za"; zb: "aw.zb"; zc: "aw.zc"; zd: "aw.zd"; ze: "aw.ze"; zf: "aw.zf"; zg: "aw.zg"; zh: "aw.zh"; zi: "aw.zi"; zj: "aw.zj"; zk: "aw.zk"; zl: "aw.zl"; zm: "aw.zm"; zn: "aw.zn"; zo: "aw.zo"; zp: "aw.zp"; zq: "aw.zq"; zr: "aw.zr"; zs: "aw.zs"; zt: "aw.zt"; zu: "aw.zu"; zv: "aw.zv"; zw: "aw.zw"; zx: "aw.zx"; zy: "aw.zy"; zz: "aw.zz"; }; ax: { aa: "ax.aa"; ab: "ax.ab"; ac: "ax.ac"; ad: "ax.ad"; ae: "ax.ae"; af: "ax.af"; ag: "ax.ag"; ah: "ax.ah"; ai: "ax.ai"; aj: "ax.aj"; ak: "ax.ak"; al: "ax.al"; am: "ax.am"; an: "ax.an"; ao: "ax.ao"; ap: "ax.ap"; aq: "ax.aq"; ar: "ax.ar"; as: "ax.as"; at: "ax.at"; au: "ax.au"; av: "ax.av"; aw: "ax.aw"; ax: "ax.ax"; ay: "ax.ay"; az: "ax.az"; ba: "ax.ba"; bb: "ax.bb"; bc: "ax.bc"; bd: "ax.bd"; be: "ax.be"; bf: "ax.bf"; bg: "ax.bg"; bh: "ax.bh"; bi: "ax.bi"; bj: "ax.bj"; bk: "ax.bk"; bl: "ax.bl"; bm: "ax.bm"; bn: "ax.bn"; bo: "ax.bo"; bp: "ax.bp"; bq: "ax.bq"; br: "ax.br"; bs: "ax.bs"; bt: "ax.bt"; bu: "ax.bu"; bv: "ax.bv"; bw: "ax.bw"; bx: "ax.bx"; by: "ax.by"; bz: "ax.bz"; ca: "ax.ca"; cb: "ax.cb"; cc: "ax.cc"; cd: "ax.cd"; ce: "ax.ce"; cf: "ax.cf"; cg: "ax.cg"; ch: "ax.ch"; ci: "ax.ci"; cj: "ax.cj"; ck: "ax.ck"; cl: "ax.cl"; cm: "ax.cm"; cn: "ax.cn"; co: "ax.co"; cp: "ax.cp"; cq: "ax.cq"; cr: "ax.cr"; cs: "ax.cs"; ct: "ax.ct"; cu: "ax.cu"; cv: "ax.cv"; cw: "ax.cw"; cx: "ax.cx"; cy: "ax.cy"; cz: "ax.cz"; da: "ax.da"; db: "ax.db"; dc: "ax.dc"; dd: "ax.dd"; de: "ax.de"; df: "ax.df"; dg: "ax.dg"; dh: "ax.dh"; di: "ax.di"; dj: "ax.dj"; dk: "ax.dk"; dl: "ax.dl"; dm: "ax.dm"; dn: "ax.dn"; do: "ax.do"; dp: "ax.dp"; dq: "ax.dq"; dr: "ax.dr"; ds: "ax.ds"; dt: "ax.dt"; du: "ax.du"; dv: "ax.dv"; dw: "ax.dw"; dx: "ax.dx"; dy: "ax.dy"; dz: "ax.dz"; ea: "ax.ea"; eb: "ax.eb"; ec: "ax.ec"; ed: "ax.ed"; ee: "ax.ee"; ef: "ax.ef"; eg: "ax.eg"; eh: "ax.eh"; ei: "ax.ei"; ej: "ax.ej"; ek: "ax.ek"; el: "ax.el"; em: "ax.em"; en: "ax.en"; eo: "ax.eo"; ep: "ax.ep"; eq: "ax.eq"; er: "ax.er"; es: "ax.es"; et: "ax.et"; eu: "ax.eu"; ev: "ax.ev"; ew: "ax.ew"; ex: "ax.ex"; ey: "ax.ey"; ez: "ax.ez"; fa: "ax.fa"; fb: "ax.fb"; fc: "ax.fc"; fd: "ax.fd"; fe: "ax.fe"; ff: "ax.ff"; fg: "ax.fg"; fh: "ax.fh"; fi: "ax.fi"; fj: "ax.fj"; fk: "ax.fk"; fl: "ax.fl"; fm: "ax.fm"; fn: "ax.fn"; fo: "ax.fo"; fp: "ax.fp"; fq: "ax.fq"; fr: "ax.fr"; fs: "ax.fs"; ft: "ax.ft"; fu: "ax.fu"; fv: "ax.fv"; fw: "ax.fw"; fx: "ax.fx"; fy: "ax.fy"; fz: "ax.fz"; ga: "ax.ga"; gb: "ax.gb"; gc: "ax.gc"; gd: "ax.gd"; ge: "ax.ge"; gf: "ax.gf"; gg: "ax.gg"; gh: "ax.gh"; gi: "ax.gi"; gj: "ax.gj"; gk: "ax.gk"; gl: "ax.gl"; gm: "ax.gm"; gn: "ax.gn"; go: "ax.go"; gp: "ax.gp"; gq: "ax.gq"; gr: "ax.gr"; gs: "ax.gs"; gt: "ax.gt"; gu: "ax.gu"; gv: "ax.gv"; gw: "ax.gw"; gx: "ax.gx"; gy: "ax.gy"; gz: "ax.gz"; ha: "ax.ha"; hb: "ax.hb"; hc: "ax.hc"; hd: "ax.hd"; he: "ax.he"; hf: "ax.hf"; hg: "ax.hg"; hh: "ax.hh"; hi: "ax.hi"; hj: "ax.hj"; hk: "ax.hk"; hl: "ax.hl"; hm: "ax.hm"; hn: "ax.hn"; ho: "ax.ho"; hp: "ax.hp"; hq: "ax.hq"; hr: "ax.hr"; hs: "ax.hs"; ht: "ax.ht"; hu: "ax.hu"; hv: "ax.hv"; hw: "ax.hw"; hx: "ax.hx"; hy: "ax.hy"; hz: "ax.hz"; ia: "ax.ia"; ib: "ax.ib"; ic: "ax.ic"; id: "ax.id"; ie: "ax.ie"; if: "ax.if"; ig: "ax.ig"; ih: "ax.ih"; ii: "ax.ii"; ij: "ax.ij"; ik: "ax.ik"; il: "ax.il"; im: "ax.im"; in: "ax.in"; io: "ax.io"; ip: "ax.ip"; iq: "ax.iq"; ir: "ax.ir"; is: "ax.is"; it: "ax.it"; iu: "ax.iu"; iv: "ax.iv"; iw: "ax.iw"; ix: "ax.ix"; iy: "ax.iy"; iz: "ax.iz"; ja: "ax.ja"; jb: "ax.jb"; jc: "ax.jc"; jd: "ax.jd"; je: "ax.je"; jf: "ax.jf"; jg: "ax.jg"; jh: "ax.jh"; ji: "ax.ji"; jj: "ax.jj"; jk: "ax.jk"; jl: "ax.jl"; jm: "ax.jm"; jn: "ax.jn"; jo: "ax.jo"; jp: "ax.jp"; jq: "ax.jq"; jr: "ax.jr"; js: "ax.js"; jt: "ax.jt"; ju: "ax.ju"; jv: "ax.jv"; jw: "ax.jw"; jx: "ax.jx"; jy: "ax.jy"; jz: "ax.jz"; ka: "ax.ka"; kb: "ax.kb"; kc: "ax.kc"; kd: "ax.kd"; ke: "ax.ke"; kf: "ax.kf"; kg: "ax.kg"; kh: "ax.kh"; ki: "ax.ki"; kj: "ax.kj"; kk: "ax.kk"; kl: "ax.kl"; km: "ax.km"; kn: "ax.kn"; ko: "ax.ko"; kp: "ax.kp"; kq: "ax.kq"; kr: "ax.kr"; ks: "ax.ks"; kt: "ax.kt"; ku: "ax.ku"; kv: "ax.kv"; kw: "ax.kw"; kx: "ax.kx"; ky: "ax.ky"; kz: "ax.kz"; la: "ax.la"; lb: "ax.lb"; lc: "ax.lc"; ld: "ax.ld"; le: "ax.le"; lf: "ax.lf"; lg: "ax.lg"; lh: "ax.lh"; li: "ax.li"; lj: "ax.lj"; lk: "ax.lk"; ll: "ax.ll"; lm: "ax.lm"; ln: "ax.ln"; lo: "ax.lo"; lp: "ax.lp"; lq: "ax.lq"; lr: "ax.lr"; ls: "ax.ls"; lt: "ax.lt"; lu: "ax.lu"; lv: "ax.lv"; lw: "ax.lw"; lx: "ax.lx"; ly: "ax.ly"; lz: "ax.lz"; ma: "ax.ma"; mb: "ax.mb"; mc: "ax.mc"; md: "ax.md"; me: "ax.me"; mf: "ax.mf"; mg: "ax.mg"; mh: "ax.mh"; mi: "ax.mi"; mj: "ax.mj"; mk: "ax.mk"; ml: "ax.ml"; mm: "ax.mm"; mn: "ax.mn"; mo: "ax.mo"; mp: "ax.mp"; mq: "ax.mq"; mr: "ax.mr"; ms: "ax.ms"; mt: "ax.mt"; mu: "ax.mu"; mv: "ax.mv"; mw: "ax.mw"; mx: "ax.mx"; my: "ax.my"; mz: "ax.mz"; na: "ax.na"; nb: "ax.nb"; nc: "ax.nc"; nd: "ax.nd"; ne: "ax.ne"; nf: "ax.nf"; ng: "ax.ng"; nh: "ax.nh"; ni: "ax.ni"; nj: "ax.nj"; nk: "ax.nk"; nl: "ax.nl"; nm: "ax.nm"; nn: "ax.nn"; no: "ax.no"; np: "ax.np"; nq: "ax.nq"; nr: "ax.nr"; ns: "ax.ns"; nt: "ax.nt"; nu: "ax.nu"; nv: "ax.nv"; nw: "ax.nw"; nx: "ax.nx"; ny: "ax.ny"; nz: "ax.nz"; oa: "ax.oa"; ob: "ax.ob"; oc: "ax.oc"; od: "ax.od"; oe: "ax.oe"; of: "ax.of"; og: "ax.og"; oh: "ax.oh"; oi: "ax.oi"; oj: "ax.oj"; ok: "ax.ok"; ol: "ax.ol"; om: "ax.om"; on: "ax.on"; oo: "ax.oo"; op: "ax.op"; oq: "ax.oq"; or: "ax.or"; os: "ax.os"; ot: "ax.ot"; ou: "ax.ou"; ov: "ax.ov"; ow: "ax.ow"; ox: "ax.ox"; oy: "ax.oy"; oz: "ax.oz"; pa: "ax.pa"; pb: "ax.pb"; pc: "ax.pc"; pd: "ax.pd"; pe: "ax.pe"; pf: "ax.pf"; pg: "ax.pg"; ph: "ax.ph"; pi: "ax.pi"; pj: "ax.pj"; pk: "ax.pk"; pl: "ax.pl"; pm: "ax.pm"; pn: "ax.pn"; po: "ax.po"; pp: "ax.pp"; pq: "ax.pq"; pr: "ax.pr"; ps: "ax.ps"; pt: "ax.pt"; pu: "ax.pu"; pv: "ax.pv"; pw: "ax.pw"; px: "ax.px"; py: "ax.py"; pz: "ax.pz"; qa: "ax.qa"; qb: "ax.qb"; qc: "ax.qc"; qd: "ax.qd"; qe: "ax.qe"; qf: "ax.qf"; qg: "ax.qg"; qh: "ax.qh"; qi: "ax.qi"; qj: "ax.qj"; qk: "ax.qk"; ql: "ax.ql"; qm: "ax.qm"; qn: "ax.qn"; qo: "ax.qo"; qp: "ax.qp"; qq: "ax.qq"; qr: "ax.qr"; qs: "ax.qs"; qt: "ax.qt"; qu: "ax.qu"; qv: "ax.qv"; qw: "ax.qw"; qx: "ax.qx"; qy: "ax.qy"; qz: "ax.qz"; ra: "ax.ra"; rb: "ax.rb"; rc: "ax.rc"; rd: "ax.rd"; re: "ax.re"; rf: "ax.rf"; rg: "ax.rg"; rh: "ax.rh"; ri: "ax.ri"; rj: "ax.rj"; rk: "ax.rk"; rl: "ax.rl"; rm: "ax.rm"; rn: "ax.rn"; ro: "ax.ro"; rp: "ax.rp"; rq: "ax.rq"; rr: "ax.rr"; rs: "ax.rs"; rt: "ax.rt"; ru: "ax.ru"; rv: "ax.rv"; rw: "ax.rw"; rx: "ax.rx"; ry: "ax.ry"; rz: "ax.rz"; sa: "ax.sa"; sb: "ax.sb"; sc: "ax.sc"; sd: "ax.sd"; se: "ax.se"; sf: "ax.sf"; sg: "ax.sg"; sh: "ax.sh"; si: "ax.si"; sj: "ax.sj"; sk: "ax.sk"; sl: "ax.sl"; sm: "ax.sm"; sn: "ax.sn"; so: "ax.so"; sp: "ax.sp"; sq: "ax.sq"; sr: "ax.sr"; ss: "ax.ss"; st: "ax.st"; su: "ax.su"; sv: "ax.sv"; sw: "ax.sw"; sx: "ax.sx"; sy: "ax.sy"; sz: "ax.sz"; ta: "ax.ta"; tb: "ax.tb"; tc: "ax.tc"; td: "ax.td"; te: "ax.te"; tf: "ax.tf"; tg: "ax.tg"; th: "ax.th"; ti: "ax.ti"; tj: "ax.tj"; tk: "ax.tk"; tl: "ax.tl"; tm: "ax.tm"; tn: "ax.tn"; to: "ax.to"; tp: "ax.tp"; tq: "ax.tq"; tr: "ax.tr"; ts: "ax.ts"; tt: "ax.tt"; tu: "ax.tu"; tv: "ax.tv"; tw: "ax.tw"; tx: "ax.tx"; ty: "ax.ty"; tz: "ax.tz"; ua: "ax.ua"; ub: "ax.ub"; uc: "ax.uc"; ud: "ax.ud"; ue: "ax.ue"; uf: "ax.uf"; ug: "ax.ug"; uh: "ax.uh"; ui: "ax.ui"; uj: "ax.uj"; uk: "ax.uk"; ul: "ax.ul"; um: "ax.um"; un: "ax.un"; uo: "ax.uo"; up: "ax.up"; uq: "ax.uq"; ur: "ax.ur"; us: "ax.us"; ut: "ax.ut"; uu: "ax.uu"; uv: "ax.uv"; uw: "ax.uw"; ux: "ax.ux"; uy: "ax.uy"; uz: "ax.uz"; va: "ax.va"; vb: "ax.vb"; vc: "ax.vc"; vd: "ax.vd"; ve: "ax.ve"; vf: "ax.vf"; vg: "ax.vg"; vh: "ax.vh"; vi: "ax.vi"; vj: "ax.vj"; vk: "ax.vk"; vl: "ax.vl"; vm: "ax.vm"; vn: "ax.vn"; vo: "ax.vo"; vp: "ax.vp"; vq: "ax.vq"; vr: "ax.vr"; vs: "ax.vs"; vt: "ax.vt"; vu: "ax.vu"; vv: "ax.vv"; vw: "ax.vw"; vx: "ax.vx"; vy: "ax.vy"; vz: "ax.vz"; wa: "ax.wa"; wb: "ax.wb"; wc: "ax.wc"; wd: "ax.wd"; we: "ax.we"; wf: "ax.wf"; wg: "ax.wg"; wh: "ax.wh"; wi: "ax.wi"; wj: "ax.wj"; wk: "ax.wk"; wl: "ax.wl"; wm: "ax.wm"; wn: "ax.wn"; wo: "ax.wo"; wp: "ax.wp"; wq: "ax.wq"; wr: "ax.wr"; ws: "ax.ws"; wt: "ax.wt"; wu: "ax.wu"; wv: "ax.wv"; ww: "ax.ww"; wx: "ax.wx"; wy: "ax.wy"; wz: "ax.wz"; xa: "ax.xa"; xb: "ax.xb"; xc: "ax.xc"; xd: "ax.xd"; xe: "ax.xe"; xf: "ax.xf"; xg: "ax.xg"; xh: "ax.xh"; xi: "ax.xi"; xj: "ax.xj"; xk: "ax.xk"; xl: "ax.xl"; xm: "ax.xm"; xn: "ax.xn"; xo: "ax.xo"; xp: "ax.xp"; xq: "ax.xq"; xr: "ax.xr"; xs: "ax.xs"; xt: "ax.xt"; xu: "ax.xu"; xv: "ax.xv"; xw: "ax.xw"; xx: "ax.xx"; xy: "ax.xy"; xz: "ax.xz"; ya: "ax.ya"; yb: "ax.yb"; yc: "ax.yc"; yd: "ax.yd"; ye: "ax.ye"; yf: "ax.yf"; yg: "ax.yg"; yh: "ax.yh"; yi: "ax.yi"; yj: "ax.yj"; yk: "ax.yk"; yl: "ax.yl"; ym: "ax.ym"; yn: "ax.yn"; yo: "ax.yo"; yp: "ax.yp"; yq: "ax.yq"; yr: "ax.yr"; ys: "ax.ys"; yt: "ax.yt"; yu: "ax.yu"; yv: "ax.yv"; yw: "ax.yw"; yx: "ax.yx"; yy: "ax.yy"; yz: "ax.yz"; za: "ax.za"; zb: "ax.zb"; zc: "ax.zc"; zd: "ax.zd"; ze: "ax.ze"; zf: "ax.zf"; zg: "ax.zg"; zh: "ax.zh"; zi: "ax.zi"; zj: "ax.zj"; zk: "ax.zk"; zl: "ax.zl"; zm: "ax.zm"; zn: "ax.zn"; zo: "ax.zo"; zp: "ax.zp"; zq: "ax.zq"; zr: "ax.zr"; zs: "ax.zs"; zt: "ax.zt"; zu: "ax.zu"; zv: "ax.zv"; zw: "ax.zw"; zx: "ax.zx"; zy: "ax.zy"; zz: "ax.zz"; }; ay: { aa: "ay.aa"; ab: "ay.ab"; ac: "ay.ac"; ad: "ay.ad"; ae: "ay.ae"; af: "ay.af"; ag: "ay.ag"; ah: "ay.ah"; ai: "ay.ai"; aj: "ay.aj"; ak: "ay.ak"; al: "ay.al"; am: "ay.am"; an: "ay.an"; ao: "ay.ao"; ap: "ay.ap"; aq: "ay.aq"; ar: "ay.ar"; as: "ay.as"; at: "ay.at"; au: "ay.au"; av: "ay.av"; aw: "ay.aw"; ax: "ay.ax"; ay: "ay.ay"; az: "ay.az"; ba: "ay.ba"; bb: "ay.bb"; bc: "ay.bc"; bd: "ay.bd"; be: "ay.be"; bf: "ay.bf"; bg: "ay.bg"; bh: "ay.bh"; bi: "ay.bi"; bj: "ay.bj"; bk: "ay.bk"; bl: "ay.bl"; bm: "ay.bm"; bn: "ay.bn"; bo: "ay.bo"; bp: "ay.bp"; bq: "ay.bq"; br: "ay.br"; bs: "ay.bs"; bt: "ay.bt"; bu: "ay.bu"; bv: "ay.bv"; bw: "ay.bw"; bx: "ay.bx"; by: "ay.by"; bz: "ay.bz"; ca: "ay.ca"; cb: "ay.cb"; cc: "ay.cc"; cd: "ay.cd"; ce: "ay.ce"; cf: "ay.cf"; cg: "ay.cg"; ch: "ay.ch"; ci: "ay.ci"; cj: "ay.cj"; ck: "ay.ck"; cl: "ay.cl"; cm: "ay.cm"; cn: "ay.cn"; co: "ay.co"; cp: "ay.cp"; cq: "ay.cq"; cr: "ay.cr"; cs: "ay.cs"; ct: "ay.ct"; cu: "ay.cu"; cv: "ay.cv"; cw: "ay.cw"; cx: "ay.cx"; cy: "ay.cy"; cz: "ay.cz"; da: "ay.da"; db: "ay.db"; dc: "ay.dc"; dd: "ay.dd"; de: "ay.de"; df: "ay.df"; dg: "ay.dg"; dh: "ay.dh"; di: "ay.di"; dj: "ay.dj"; dk: "ay.dk"; dl: "ay.dl"; dm: "ay.dm"; dn: "ay.dn"; do: "ay.do"; dp: "ay.dp"; dq: "ay.dq"; dr: "ay.dr"; ds: "ay.ds"; dt: "ay.dt"; du: "ay.du"; dv: "ay.dv"; dw: "ay.dw"; dx: "ay.dx"; dy: "ay.dy"; dz: "ay.dz"; ea: "ay.ea"; eb: "ay.eb"; ec: "ay.ec"; ed: "ay.ed"; ee: "ay.ee"; ef: "ay.ef"; eg: "ay.eg"; eh: "ay.eh"; ei: "ay.ei"; ej: "ay.ej"; ek: "ay.ek"; el: "ay.el"; em: "ay.em"; en: "ay.en"; eo: "ay.eo"; ep: "ay.ep"; eq: "ay.eq"; er: "ay.er"; es: "ay.es"; et: "ay.et"; eu: "ay.eu"; ev: "ay.ev"; ew: "ay.ew"; ex: "ay.ex"; ey: "ay.ey"; ez: "ay.ez"; fa: "ay.fa"; fb: "ay.fb"; fc: "ay.fc"; fd: "ay.fd"; fe: "ay.fe"; ff: "ay.ff"; fg: "ay.fg"; fh: "ay.fh"; fi: "ay.fi"; fj: "ay.fj"; fk: "ay.fk"; fl: "ay.fl"; fm: "ay.fm"; fn: "ay.fn"; fo: "ay.fo"; fp: "ay.fp"; fq: "ay.fq"; fr: "ay.fr"; fs: "ay.fs"; ft: "ay.ft"; fu: "ay.fu"; fv: "ay.fv"; fw: "ay.fw"; fx: "ay.fx"; fy: "ay.fy"; fz: "ay.fz"; ga: "ay.ga"; gb: "ay.gb"; gc: "ay.gc"; gd: "ay.gd"; ge: "ay.ge"; gf: "ay.gf"; gg: "ay.gg"; gh: "ay.gh"; gi: "ay.gi"; gj: "ay.gj"; gk: "ay.gk"; gl: "ay.gl"; gm: "ay.gm"; gn: "ay.gn"; go: "ay.go"; gp: "ay.gp"; gq: "ay.gq"; gr: "ay.gr"; gs: "ay.gs"; gt: "ay.gt"; gu: "ay.gu"; gv: "ay.gv"; gw: "ay.gw"; gx: "ay.gx"; gy: "ay.gy"; gz: "ay.gz"; ha: "ay.ha"; hb: "ay.hb"; hc: "ay.hc"; hd: "ay.hd"; he: "ay.he"; hf: "ay.hf"; hg: "ay.hg"; hh: "ay.hh"; hi: "ay.hi"; hj: "ay.hj"; hk: "ay.hk"; hl: "ay.hl"; hm: "ay.hm"; hn: "ay.hn"; ho: "ay.ho"; hp: "ay.hp"; hq: "ay.hq"; hr: "ay.hr"; hs: "ay.hs"; ht: "ay.ht"; hu: "ay.hu"; hv: "ay.hv"; hw: "ay.hw"; hx: "ay.hx"; hy: "ay.hy"; hz: "ay.hz"; ia: "ay.ia"; ib: "ay.ib"; ic: "ay.ic"; id: "ay.id"; ie: "ay.ie"; if: "ay.if"; ig: "ay.ig"; ih: "ay.ih"; ii: "ay.ii"; ij: "ay.ij"; ik: "ay.ik"; il: "ay.il"; im: "ay.im"; in: "ay.in"; io: "ay.io"; ip: "ay.ip"; iq: "ay.iq"; ir: "ay.ir"; is: "ay.is"; it: "ay.it"; iu: "ay.iu"; iv: "ay.iv"; iw: "ay.iw"; ix: "ay.ix"; iy: "ay.iy"; iz: "ay.iz"; ja: "ay.ja"; jb: "ay.jb"; jc: "ay.jc"; jd: "ay.jd"; je: "ay.je"; jf: "ay.jf"; jg: "ay.jg"; jh: "ay.jh"; ji: "ay.ji"; jj: "ay.jj"; jk: "ay.jk"; jl: "ay.jl"; jm: "ay.jm"; jn: "ay.jn"; jo: "ay.jo"; jp: "ay.jp"; jq: "ay.jq"; jr: "ay.jr"; js: "ay.js"; jt: "ay.jt"; ju: "ay.ju"; jv: "ay.jv"; jw: "ay.jw"; jx: "ay.jx"; jy: "ay.jy"; jz: "ay.jz"; ka: "ay.ka"; kb: "ay.kb"; kc: "ay.kc"; kd: "ay.kd"; ke: "ay.ke"; kf: "ay.kf"; kg: "ay.kg"; kh: "ay.kh"; ki: "ay.ki"; kj: "ay.kj"; kk: "ay.kk"; kl: "ay.kl"; km: "ay.km"; kn: "ay.kn"; ko: "ay.ko"; kp: "ay.kp"; kq: "ay.kq"; kr: "ay.kr"; ks: "ay.ks"; kt: "ay.kt"; ku: "ay.ku"; kv: "ay.kv"; kw: "ay.kw"; kx: "ay.kx"; ky: "ay.ky"; kz: "ay.kz"; la: "ay.la"; lb: "ay.lb"; lc: "ay.lc"; ld: "ay.ld"; le: "ay.le"; lf: "ay.lf"; lg: "ay.lg"; lh: "ay.lh"; li: "ay.li"; lj: "ay.lj"; lk: "ay.lk"; ll: "ay.ll"; lm: "ay.lm"; ln: "ay.ln"; lo: "ay.lo"; lp: "ay.lp"; lq: "ay.lq"; lr: "ay.lr"; ls: "ay.ls"; lt: "ay.lt"; lu: "ay.lu"; lv: "ay.lv"; lw: "ay.lw"; lx: "ay.lx"; ly: "ay.ly"; lz: "ay.lz"; ma: "ay.ma"; mb: "ay.mb"; mc: "ay.mc"; md: "ay.md"; me: "ay.me"; mf: "ay.mf"; mg: "ay.mg"; mh: "ay.mh"; mi: "ay.mi"; mj: "ay.mj"; mk: "ay.mk"; ml: "ay.ml"; mm: "ay.mm"; mn: "ay.mn"; mo: "ay.mo"; mp: "ay.mp"; mq: "ay.mq"; mr: "ay.mr"; ms: "ay.ms"; mt: "ay.mt"; mu: "ay.mu"; mv: "ay.mv"; mw: "ay.mw"; mx: "ay.mx"; my: "ay.my"; mz: "ay.mz"; na: "ay.na"; nb: "ay.nb"; nc: "ay.nc"; nd: "ay.nd"; ne: "ay.ne"; nf: "ay.nf"; ng: "ay.ng"; nh: "ay.nh"; ni: "ay.ni"; nj: "ay.nj"; nk: "ay.nk"; nl: "ay.nl"; nm: "ay.nm"; nn: "ay.nn"; no: "ay.no"; np: "ay.np"; nq: "ay.nq"; nr: "ay.nr"; ns: "ay.ns"; nt: "ay.nt"; nu: "ay.nu"; nv: "ay.nv"; nw: "ay.nw"; nx: "ay.nx"; ny: "ay.ny"; nz: "ay.nz"; oa: "ay.oa"; ob: "ay.ob"; oc: "ay.oc"; od: "ay.od"; oe: "ay.oe"; of: "ay.of"; og: "ay.og"; oh: "ay.oh"; oi: "ay.oi"; oj: "ay.oj"; ok: "ay.ok"; ol: "ay.ol"; om: "ay.om"; on: "ay.on"; oo: "ay.oo"; op: "ay.op"; oq: "ay.oq"; or: "ay.or"; os: "ay.os"; ot: "ay.ot"; ou: "ay.ou"; ov: "ay.ov"; ow: "ay.ow"; ox: "ay.ox"; oy: "ay.oy"; oz: "ay.oz"; pa: "ay.pa"; pb: "ay.pb"; pc: "ay.pc"; pd: "ay.pd"; pe: "ay.pe"; pf: "ay.pf"; pg: "ay.pg"; ph: "ay.ph"; pi: "ay.pi"; pj: "ay.pj"; pk: "ay.pk"; pl: "ay.pl"; pm: "ay.pm"; pn: "ay.pn"; po: "ay.po"; pp: "ay.pp"; pq: "ay.pq"; pr: "ay.pr"; ps: "ay.ps"; pt: "ay.pt"; pu: "ay.pu"; pv: "ay.pv"; pw: "ay.pw"; px: "ay.px"; py: "ay.py"; pz: "ay.pz"; qa: "ay.qa"; qb: "ay.qb"; qc: "ay.qc"; qd: "ay.qd"; qe: "ay.qe"; qf: "ay.qf"; qg: "ay.qg"; qh: "ay.qh"; qi: "ay.qi"; qj: "ay.qj"; qk: "ay.qk"; ql: "ay.ql"; qm: "ay.qm"; qn: "ay.qn"; qo: "ay.qo"; qp: "ay.qp"; qq: "ay.qq"; qr: "ay.qr"; qs: "ay.qs"; qt: "ay.qt"; qu: "ay.qu"; qv: "ay.qv"; qw: "ay.qw"; qx: "ay.qx"; qy: "ay.qy"; qz: "ay.qz"; ra: "ay.ra"; rb: "ay.rb"; rc: "ay.rc"; rd: "ay.rd"; re: "ay.re"; rf: "ay.rf"; rg: "ay.rg"; rh: "ay.rh"; ri: "ay.ri"; rj: "ay.rj"; rk: "ay.rk"; rl: "ay.rl"; rm: "ay.rm"; rn: "ay.rn"; ro: "ay.ro"; rp: "ay.rp"; rq: "ay.rq"; rr: "ay.rr"; rs: "ay.rs"; rt: "ay.rt"; ru: "ay.ru"; rv: "ay.rv"; rw: "ay.rw"; rx: "ay.rx"; ry: "ay.ry"; rz: "ay.rz"; sa: "ay.sa"; sb: "ay.sb"; sc: "ay.sc"; sd: "ay.sd"; se: "ay.se"; sf: "ay.sf"; sg: "ay.sg"; sh: "ay.sh"; si: "ay.si"; sj: "ay.sj"; sk: "ay.sk"; sl: "ay.sl"; sm: "ay.sm"; sn: "ay.sn"; so: "ay.so"; sp: "ay.sp"; sq: "ay.sq"; sr: "ay.sr"; ss: "ay.ss"; st: "ay.st"; su: "ay.su"; sv: "ay.sv"; sw: "ay.sw"; sx: "ay.sx"; sy: "ay.sy"; sz: "ay.sz"; ta: "ay.ta"; tb: "ay.tb"; tc: "ay.tc"; td: "ay.td"; te: "ay.te"; tf: "ay.tf"; tg: "ay.tg"; th: "ay.th"; ti: "ay.ti"; tj: "ay.tj"; tk: "ay.tk"; tl: "ay.tl"; tm: "ay.tm"; tn: "ay.tn"; to: "ay.to"; tp: "ay.tp"; tq: "ay.tq"; tr: "ay.tr"; ts: "ay.ts"; tt: "ay.tt"; tu: "ay.tu"; tv: "ay.tv"; tw: "ay.tw"; tx: "ay.tx"; ty: "ay.ty"; tz: "ay.tz"; ua: "ay.ua"; ub: "ay.ub"; uc: "ay.uc"; ud: "ay.ud"; ue: "ay.ue"; uf: "ay.uf"; ug: "ay.ug"; uh: "ay.uh"; ui: "ay.ui"; uj: "ay.uj"; uk: "ay.uk"; ul: "ay.ul"; um: "ay.um"; un: "ay.un"; uo: "ay.uo"; up: "ay.up"; uq: "ay.uq"; ur: "ay.ur"; us: "ay.us"; ut: "ay.ut"; uu: "ay.uu"; uv: "ay.uv"; uw: "ay.uw"; ux: "ay.ux"; uy: "ay.uy"; uz: "ay.uz"; va: "ay.va"; vb: "ay.vb"; vc: "ay.vc"; vd: "ay.vd"; ve: "ay.ve"; vf: "ay.vf"; vg: "ay.vg"; vh: "ay.vh"; vi: "ay.vi"; vj: "ay.vj"; vk: "ay.vk"; vl: "ay.vl"; vm: "ay.vm"; vn: "ay.vn"; vo: "ay.vo"; vp: "ay.vp"; vq: "ay.vq"; vr: "ay.vr"; vs: "ay.vs"; vt: "ay.vt"; vu: "ay.vu"; vv: "ay.vv"; vw: "ay.vw"; vx: "ay.vx"; vy: "ay.vy"; vz: "ay.vz"; wa: "ay.wa"; wb: "ay.wb"; wc: "ay.wc"; wd: "ay.wd"; we: "ay.we"; wf: "ay.wf"; wg: "ay.wg"; wh: "ay.wh"; wi: "ay.wi"; wj: "ay.wj"; wk: "ay.wk"; wl: "ay.wl"; wm: "ay.wm"; wn: "ay.wn"; wo: "ay.wo"; wp: "ay.wp"; wq: "ay.wq"; wr: "ay.wr"; ws: "ay.ws"; wt: "ay.wt"; wu: "ay.wu"; wv: "ay.wv"; ww: "ay.ww"; wx: "ay.wx"; wy: "ay.wy"; wz: "ay.wz"; xa: "ay.xa"; xb: "ay.xb"; xc: "ay.xc"; xd: "ay.xd"; xe: "ay.xe"; xf: "ay.xf"; xg: "ay.xg"; xh: "ay.xh"; xi: "ay.xi"; xj: "ay.xj"; xk: "ay.xk"; xl: "ay.xl"; xm: "ay.xm"; xn: "ay.xn"; xo: "ay.xo"; xp: "ay.xp"; xq: "ay.xq"; xr: "ay.xr"; xs: "ay.xs"; xt: "ay.xt"; xu: "ay.xu"; xv: "ay.xv"; xw: "ay.xw"; xx: "ay.xx"; xy: "ay.xy"; xz: "ay.xz"; ya: "ay.ya"; yb: "ay.yb"; yc: "ay.yc"; yd: "ay.yd"; ye: "ay.ye"; yf: "ay.yf"; yg: "ay.yg"; yh: "ay.yh"; yi: "ay.yi"; yj: "ay.yj"; yk: "ay.yk"; yl: "ay.yl"; ym: "ay.ym"; yn: "ay.yn"; yo: "ay.yo"; yp: "ay.yp"; yq: "ay.yq"; yr: "ay.yr"; ys: "ay.ys"; yt: "ay.yt"; yu: "ay.yu"; yv: "ay.yv"; yw: "ay.yw"; yx: "ay.yx"; yy: "ay.yy"; yz: "ay.yz"; za: "ay.za"; zb: "ay.zb"; zc: "ay.zc"; zd: "ay.zd"; ze: "ay.ze"; zf: "ay.zf"; zg: "ay.zg"; zh: "ay.zh"; zi: "ay.zi"; zj: "ay.zj"; zk: "ay.zk"; zl: "ay.zl"; zm: "ay.zm"; zn: "ay.zn"; zo: "ay.zo"; zp: "ay.zp"; zq: "ay.zq"; zr: "ay.zr"; zs: "ay.zs"; zt: "ay.zt"; zu: "ay.zu"; zv: "ay.zv"; zw: "ay.zw"; zx: "ay.zx"; zy: "ay.zy"; zz: "ay.zz"; }; az: { aa: "az.aa"; ab: "az.ab"; ac: "az.ac"; ad: "az.ad"; ae: "az.ae"; af: "az.af"; ag: "az.ag"; ah: "az.ah"; ai: "az.ai"; aj: "az.aj"; ak: "az.ak"; al: "az.al"; am: "az.am"; an: "az.an"; ao: "az.ao"; ap: "az.ap"; aq: "az.aq"; ar: "az.ar"; as: "az.as"; at: "az.at"; au: "az.au"; av: "az.av"; aw: "az.aw"; ax: "az.ax"; ay: "az.ay"; az: "az.az"; ba: "az.ba"; bb: "az.bb"; bc: "az.bc"; bd: "az.bd"; be: "az.be"; bf: "az.bf"; bg: "az.bg"; bh: "az.bh"; bi: "az.bi"; bj: "az.bj"; bk: "az.bk"; bl: "az.bl"; bm: "az.bm"; bn: "az.bn"; bo: "az.bo"; bp: "az.bp"; bq: "az.bq"; br: "az.br"; bs: "az.bs"; bt: "az.bt"; bu: "az.bu"; bv: "az.bv"; bw: "az.bw"; bx: "az.bx"; by: "az.by"; bz: "az.bz"; ca: "az.ca"; cb: "az.cb"; cc: "az.cc"; cd: "az.cd"; ce: "az.ce"; cf: "az.cf"; cg: "az.cg"; ch: "az.ch"; ci: "az.ci"; cj: "az.cj"; ck: "az.ck"; cl: "az.cl"; cm: "az.cm"; cn: "az.cn"; co: "az.co"; cp: "az.cp"; cq: "az.cq"; cr: "az.cr"; cs: "az.cs"; ct: "az.ct"; cu: "az.cu"; cv: "az.cv"; cw: "az.cw"; cx: "az.cx"; cy: "az.cy"; cz: "az.cz"; da: "az.da"; db: "az.db"; dc: "az.dc"; dd: "az.dd"; de: "az.de"; df: "az.df"; dg: "az.dg"; dh: "az.dh"; di: "az.di"; dj: "az.dj"; dk: "az.dk"; dl: "az.dl"; dm: "az.dm"; dn: "az.dn"; do: "az.do"; dp: "az.dp"; dq: "az.dq"; dr: "az.dr"; ds: "az.ds"; dt: "az.dt"; du: "az.du"; dv: "az.dv"; dw: "az.dw"; dx: "az.dx"; dy: "az.dy"; dz: "az.dz"; ea: "az.ea"; eb: "az.eb"; ec: "az.ec"; ed: "az.ed"; ee: "az.ee"; ef: "az.ef"; eg: "az.eg"; eh: "az.eh"; ei: "az.ei"; ej: "az.ej"; ek: "az.ek"; el: "az.el"; em: "az.em"; en: "az.en"; eo: "az.eo"; ep: "az.ep"; eq: "az.eq"; er: "az.er"; es: "az.es"; et: "az.et"; eu: "az.eu"; ev: "az.ev"; ew: "az.ew"; ex: "az.ex"; ey: "az.ey"; ez: "az.ez"; fa: "az.fa"; fb: "az.fb"; fc: "az.fc"; fd: "az.fd"; fe: "az.fe"; ff: "az.ff"; fg: "az.fg"; fh: "az.fh"; fi: "az.fi"; fj: "az.fj"; fk: "az.fk"; fl: "az.fl"; fm: "az.fm"; fn: "az.fn"; fo: "az.fo"; fp: "az.fp"; fq: "az.fq"; fr: "az.fr"; fs: "az.fs"; ft: "az.ft"; fu: "az.fu"; fv: "az.fv"; fw: "az.fw"; fx: "az.fx"; fy: "az.fy"; fz: "az.fz"; ga: "az.ga"; gb: "az.gb"; gc: "az.gc"; gd: "az.gd"; ge: "az.ge"; gf: "az.gf"; gg: "az.gg"; gh: "az.gh"; gi: "az.gi"; gj: "az.gj"; gk: "az.gk"; gl: "az.gl"; gm: "az.gm"; gn: "az.gn"; go: "az.go"; gp: "az.gp"; gq: "az.gq"; gr: "az.gr"; gs: "az.gs"; gt: "az.gt"; gu: "az.gu"; gv: "az.gv"; gw: "az.gw"; gx: "az.gx"; gy: "az.gy"; gz: "az.gz"; ha: "az.ha"; hb: "az.hb"; hc: "az.hc"; hd: "az.hd"; he: "az.he"; hf: "az.hf"; hg: "az.hg"; hh: "az.hh"; hi: "az.hi"; hj: "az.hj"; hk: "az.hk"; hl: "az.hl"; hm: "az.hm"; hn: "az.hn"; ho: "az.ho"; hp: "az.hp"; hq: "az.hq"; hr: "az.hr"; hs: "az.hs"; ht: "az.ht"; hu: "az.hu"; hv: "az.hv"; hw: "az.hw"; hx: "az.hx"; hy: "az.hy"; hz: "az.hz"; ia: "az.ia"; ib: "az.ib"; ic: "az.ic"; id: "az.id"; ie: "az.ie"; if: "az.if"; ig: "az.ig"; ih: "az.ih"; ii: "az.ii"; ij: "az.ij"; ik: "az.ik"; il: "az.il"; im: "az.im"; in: "az.in"; io: "az.io"; ip: "az.ip"; iq: "az.iq"; ir: "az.ir"; is: "az.is"; it: "az.it"; iu: "az.iu"; iv: "az.iv"; iw: "az.iw"; ix: "az.ix"; iy: "az.iy"; iz: "az.iz"; ja: "az.ja"; jb: "az.jb"; jc: "az.jc"; jd: "az.jd"; je: "az.je"; jf: "az.jf"; jg: "az.jg"; jh: "az.jh"; ji: "az.ji"; jj: "az.jj"; jk: "az.jk"; jl: "az.jl"; jm: "az.jm"; jn: "az.jn"; jo: "az.jo"; jp: "az.jp"; jq: "az.jq"; jr: "az.jr"; js: "az.js"; jt: "az.jt"; ju: "az.ju"; jv: "az.jv"; jw: "az.jw"; jx: "az.jx"; jy: "az.jy"; jz: "az.jz"; ka: "az.ka"; kb: "az.kb"; kc: "az.kc"; kd: "az.kd"; ke: "az.ke"; kf: "az.kf"; kg: "az.kg"; kh: "az.kh"; ki: "az.ki"; kj: "az.kj"; kk: "az.kk"; kl: "az.kl"; km: "az.km"; kn: "az.kn"; ko: "az.ko"; kp: "az.kp"; kq: "az.kq"; kr: "az.kr"; ks: "az.ks"; kt: "az.kt"; ku: "az.ku"; kv: "az.kv"; kw: "az.kw"; kx: "az.kx"; ky: "az.ky"; kz: "az.kz"; la: "az.la"; lb: "az.lb"; lc: "az.lc"; ld: "az.ld"; le: "az.le"; lf: "az.lf"; lg: "az.lg"; lh: "az.lh"; li: "az.li"; lj: "az.lj"; lk: "az.lk"; ll: "az.ll"; lm: "az.lm"; ln: "az.ln"; lo: "az.lo"; lp: "az.lp"; lq: "az.lq"; lr: "az.lr"; ls: "az.ls"; lt: "az.lt"; lu: "az.lu"; lv: "az.lv"; lw: "az.lw"; lx: "az.lx"; ly: "az.ly"; lz: "az.lz"; ma: "az.ma"; mb: "az.mb"; mc: "az.mc"; md: "az.md"; me: "az.me"; mf: "az.mf"; mg: "az.mg"; mh: "az.mh"; mi: "az.mi"; mj: "az.mj"; mk: "az.mk"; ml: "az.ml"; mm: "az.mm"; mn: "az.mn"; mo: "az.mo"; mp: "az.mp"; mq: "az.mq"; mr: "az.mr"; ms: "az.ms"; mt: "az.mt"; mu: "az.mu"; mv: "az.mv"; mw: "az.mw"; mx: "az.mx"; my: "az.my"; mz: "az.mz"; na: "az.na"; nb: "az.nb"; nc: "az.nc"; nd: "az.nd"; ne: "az.ne"; nf: "az.nf"; ng: "az.ng"; nh: "az.nh"; ni: "az.ni"; nj: "az.nj"; nk: "az.nk"; nl: "az.nl"; nm: "az.nm"; nn: "az.nn"; no: "az.no"; np: "az.np"; nq: "az.nq"; nr: "az.nr"; ns: "az.ns"; nt: "az.nt"; nu: "az.nu"; nv: "az.nv"; nw: "az.nw"; nx: "az.nx"; ny: "az.ny"; nz: "az.nz"; oa: "az.oa"; ob: "az.ob"; oc: "az.oc"; od: "az.od"; oe: "az.oe"; of: "az.of"; og: "az.og"; oh: "az.oh"; oi: "az.oi"; oj: "az.oj"; ok: "az.ok"; ol: "az.ol"; om: "az.om"; on: "az.on"; oo: "az.oo"; op: "az.op"; oq: "az.oq"; or: "az.or"; os: "az.os"; ot: "az.ot"; ou: "az.ou"; ov: "az.ov"; ow: "az.ow"; ox: "az.ox"; oy: "az.oy"; oz: "az.oz"; pa: "az.pa"; pb: "az.pb"; pc: "az.pc"; pd: "az.pd"; pe: "az.pe"; pf: "az.pf"; pg: "az.pg"; ph: "az.ph"; pi: "az.pi"; pj: "az.pj"; pk: "az.pk"; pl: "az.pl"; pm: "az.pm"; pn: "az.pn"; po: "az.po"; pp: "az.pp"; pq: "az.pq"; pr: "az.pr"; ps: "az.ps"; pt: "az.pt"; pu: "az.pu"; pv: "az.pv"; pw: "az.pw"; px: "az.px"; py: "az.py"; pz: "az.pz"; qa: "az.qa"; qb: "az.qb"; qc: "az.qc"; qd: "az.qd"; qe: "az.qe"; qf: "az.qf"; qg: "az.qg"; qh: "az.qh"; qi: "az.qi"; qj: "az.qj"; qk: "az.qk"; ql: "az.ql"; qm: "az.qm"; qn: "az.qn"; qo: "az.qo"; qp: "az.qp"; qq: "az.qq"; qr: "az.qr"; qs: "az.qs"; qt: "az.qt"; qu: "az.qu"; qv: "az.qv"; qw: "az.qw"; qx: "az.qx"; qy: "az.qy"; qz: "az.qz"; ra: "az.ra"; rb: "az.rb"; rc: "az.rc"; rd: "az.rd"; re: "az.re"; rf: "az.rf"; rg: "az.rg"; rh: "az.rh"; ri: "az.ri"; rj: "az.rj"; rk: "az.rk"; rl: "az.rl"; rm: "az.rm"; rn: "az.rn"; ro: "az.ro"; rp: "az.rp"; rq: "az.rq"; rr: "az.rr"; rs: "az.rs"; rt: "az.rt"; ru: "az.ru"; rv: "az.rv"; rw: "az.rw"; rx: "az.rx"; ry: "az.ry"; rz: "az.rz"; sa: "az.sa"; sb: "az.sb"; sc: "az.sc"; sd: "az.sd"; se: "az.se"; sf: "az.sf"; sg: "az.sg"; sh: "az.sh"; si: "az.si"; sj: "az.sj"; sk: "az.sk"; sl: "az.sl"; sm: "az.sm"; sn: "az.sn"; so: "az.so"; sp: "az.sp"; sq: "az.sq"; sr: "az.sr"; ss: "az.ss"; st: "az.st"; su: "az.su"; sv: "az.sv"; sw: "az.sw"; sx: "az.sx"; sy: "az.sy"; sz: "az.sz"; ta: "az.ta"; tb: "az.tb"; tc: "az.tc"; td: "az.td"; te: "az.te"; tf: "az.tf"; tg: "az.tg"; th: "az.th"; ti: "az.ti"; tj: "az.tj"; tk: "az.tk"; tl: "az.tl"; tm: "az.tm"; tn: "az.tn"; to: "az.to"; tp: "az.tp"; tq: "az.tq"; tr: "az.tr"; ts: "az.ts"; tt: "az.tt"; tu: "az.tu"; tv: "az.tv"; tw: "az.tw"; tx: "az.tx"; ty: "az.ty"; tz: "az.tz"; ua: "az.ua"; ub: "az.ub"; uc: "az.uc"; ud: "az.ud"; ue: "az.ue"; uf: "az.uf"; ug: "az.ug"; uh: "az.uh"; ui: "az.ui"; uj: "az.uj"; uk: "az.uk"; ul: "az.ul"; um: "az.um"; un: "az.un"; uo: "az.uo"; up: "az.up"; uq: "az.uq"; ur: "az.ur"; us: "az.us"; ut: "az.ut"; uu: "az.uu"; uv: "az.uv"; uw: "az.uw"; ux: "az.ux"; uy: "az.uy"; uz: "az.uz"; va: "az.va"; vb: "az.vb"; vc: "az.vc"; vd: "az.vd"; ve: "az.ve"; vf: "az.vf"; vg: "az.vg"; vh: "az.vh"; vi: "az.vi"; vj: "az.vj"; vk: "az.vk"; vl: "az.vl"; vm: "az.vm"; vn: "az.vn"; vo: "az.vo"; vp: "az.vp"; vq: "az.vq"; vr: "az.vr"; vs: "az.vs"; vt: "az.vt"; vu: "az.vu"; vv: "az.vv"; vw: "az.vw"; vx: "az.vx"; vy: "az.vy"; vz: "az.vz"; wa: "az.wa"; wb: "az.wb"; wc: "az.wc"; wd: "az.wd"; we: "az.we"; wf: "az.wf"; wg: "az.wg"; wh: "az.wh"; wi: "az.wi"; wj: "az.wj"; wk: "az.wk"; wl: "az.wl"; wm: "az.wm"; wn: "az.wn"; wo: "az.wo"; wp: "az.wp"; wq: "az.wq"; wr: "az.wr"; ws: "az.ws"; wt: "az.wt"; wu: "az.wu"; wv: "az.wv"; ww: "az.ww"; wx: "az.wx"; wy: "az.wy"; wz: "az.wz"; xa: "az.xa"; xb: "az.xb"; xc: "az.xc"; xd: "az.xd"; xe: "az.xe"; xf: "az.xf"; xg: "az.xg"; xh: "az.xh"; xi: "az.xi"; xj: "az.xj"; xk: "az.xk"; xl: "az.xl"; xm: "az.xm"; xn: "az.xn"; xo: "az.xo"; xp: "az.xp"; xq: "az.xq"; xr: "az.xr"; xs: "az.xs"; xt: "az.xt"; xu: "az.xu"; xv: "az.xv"; xw: "az.xw"; xx: "az.xx"; xy: "az.xy"; xz: "az.xz"; ya: "az.ya"; yb: "az.yb"; yc: "az.yc"; yd: "az.yd"; ye: "az.ye"; yf: "az.yf"; yg: "az.yg"; yh: "az.yh"; yi: "az.yi"; yj: "az.yj"; yk: "az.yk"; yl: "az.yl"; ym: "az.ym"; yn: "az.yn"; yo: "az.yo"; yp: "az.yp"; yq: "az.yq"; yr: "az.yr"; ys: "az.ys"; yt: "az.yt"; yu: "az.yu"; yv: "az.yv"; yw: "az.yw"; yx: "az.yx"; yy: "az.yy"; yz: "az.yz"; za: "az.za"; zb: "az.zb"; zc: "az.zc"; zd: "az.zd"; ze: "az.ze"; zf: "az.zf"; zg: "az.zg"; zh: "az.zh"; zi: "az.zi"; zj: "az.zj"; zk: "az.zk"; zl: "az.zl"; zm: "az.zm"; zn: "az.zn"; zo: "az.zo"; zp: "az.zp"; zq: "az.zq"; zr: "az.zr"; zs: "az.zs"; zt: "az.zt"; zu: "az.zu"; zv: "az.zv"; zw: "az.zw"; zx: "az.zx"; zy: "az.zy"; zz: "az.zz"; }; ba: { aa: "ba.aa"; ab: "ba.ab"; ac: "ba.ac"; ad: "ba.ad"; ae: "ba.ae"; af: "ba.af"; ag: "ba.ag"; ah: "ba.ah"; ai: "ba.ai"; aj: "ba.aj"; ak: "ba.ak"; al: "ba.al"; am: "ba.am"; an: "ba.an"; ao: "ba.ao"; ap: "ba.ap"; aq: "ba.aq"; ar: "ba.ar"; as: "ba.as"; at: "ba.at"; au: "ba.au"; av: "ba.av"; aw: "ba.aw"; ax: "ba.ax"; ay: "ba.ay"; az: "ba.az"; ba: "ba.ba"; bb: "ba.bb"; bc: "ba.bc"; bd: "ba.bd"; be: "ba.be"; bf: "ba.bf"; bg: "ba.bg"; bh: "ba.bh"; bi: "ba.bi"; bj: "ba.bj"; bk: "ba.bk"; bl: "ba.bl"; bm: "ba.bm"; bn: "ba.bn"; bo: "ba.bo"; bp: "ba.bp"; bq: "ba.bq"; br: "ba.br"; bs: "ba.bs"; bt: "ba.bt"; bu: "ba.bu"; bv: "ba.bv"; bw: "ba.bw"; bx: "ba.bx"; by: "ba.by"; bz: "ba.bz"; ca: "ba.ca"; cb: "ba.cb"; cc: "ba.cc"; cd: "ba.cd"; ce: "ba.ce"; cf: "ba.cf"; cg: "ba.cg"; ch: "ba.ch"; ci: "ba.ci"; cj: "ba.cj"; ck: "ba.ck"; cl: "ba.cl"; cm: "ba.cm"; cn: "ba.cn"; co: "ba.co"; cp: "ba.cp"; cq: "ba.cq"; cr: "ba.cr"; cs: "ba.cs"; ct: "ba.ct"; cu: "ba.cu"; cv: "ba.cv"; cw: "ba.cw"; cx: "ba.cx"; cy: "ba.cy"; cz: "ba.cz"; da: "ba.da"; db: "ba.db"; dc: "ba.dc"; dd: "ba.dd"; de: "ba.de"; df: "ba.df"; dg: "ba.dg"; dh: "ba.dh"; di: "ba.di"; dj: "ba.dj"; dk: "ba.dk"; dl: "ba.dl"; dm: "ba.dm"; dn: "ba.dn"; do: "ba.do"; dp: "ba.dp"; dq: "ba.dq"; dr: "ba.dr"; ds: "ba.ds"; dt: "ba.dt"; du: "ba.du"; dv: "ba.dv"; dw: "ba.dw"; dx: "ba.dx"; dy: "ba.dy"; dz: "ba.dz"; ea: "ba.ea"; eb: "ba.eb"; ec: "ba.ec"; ed: "ba.ed"; ee: "ba.ee"; ef: "ba.ef"; eg: "ba.eg"; eh: "ba.eh"; ei: "ba.ei"; ej: "ba.ej"; ek: "ba.ek"; el: "ba.el"; em: "ba.em"; en: "ba.en"; eo: "ba.eo"; ep: "ba.ep"; eq: "ba.eq"; er: "ba.er"; es: "ba.es"; et: "ba.et"; eu: "ba.eu"; ev: "ba.ev"; ew: "ba.ew"; ex: "ba.ex"; ey: "ba.ey"; ez: "ba.ez"; fa: "ba.fa"; fb: "ba.fb"; fc: "ba.fc"; fd: "ba.fd"; fe: "ba.fe"; ff: "ba.ff"; fg: "ba.fg"; fh: "ba.fh"; fi: "ba.fi"; fj: "ba.fj"; fk: "ba.fk"; fl: "ba.fl"; fm: "ba.fm"; fn: "ba.fn"; fo: "ba.fo"; fp: "ba.fp"; fq: "ba.fq"; fr: "ba.fr"; fs: "ba.fs"; ft: "ba.ft"; fu: "ba.fu"; fv: "ba.fv"; fw: "ba.fw"; fx: "ba.fx"; fy: "ba.fy"; fz: "ba.fz"; ga: "ba.ga"; gb: "ba.gb"; gc: "ba.gc"; gd: "ba.gd"; ge: "ba.ge"; gf: "ba.gf"; gg: "ba.gg"; gh: "ba.gh"; gi: "ba.gi"; gj: "ba.gj"; gk: "ba.gk"; gl: "ba.gl"; gm: "ba.gm"; gn: "ba.gn"; go: "ba.go"; gp: "ba.gp"; gq: "ba.gq"; gr: "ba.gr"; gs: "ba.gs"; gt: "ba.gt"; gu: "ba.gu"; gv: "ba.gv"; gw: "ba.gw"; gx: "ba.gx"; gy: "ba.gy"; gz: "ba.gz"; ha: "ba.ha"; hb: "ba.hb"; hc: "ba.hc"; hd: "ba.hd"; he: "ba.he"; hf: "ba.hf"; hg: "ba.hg"; hh: "ba.hh"; hi: "ba.hi"; hj: "ba.hj"; hk: "ba.hk"; hl: "ba.hl"; hm: "ba.hm"; hn: "ba.hn"; ho: "ba.ho"; hp: "ba.hp"; hq: "ba.hq"; hr: "ba.hr"; hs: "ba.hs"; ht: "ba.ht"; hu: "ba.hu"; hv: "ba.hv"; hw: "ba.hw"; hx: "ba.hx"; hy: "ba.hy"; hz: "ba.hz"; ia: "ba.ia"; ib: "ba.ib"; ic: "ba.ic"; id: "ba.id"; ie: "ba.ie"; if: "ba.if"; ig: "ba.ig"; ih: "ba.ih"; ii: "ba.ii"; ij: "ba.ij"; ik: "ba.ik"; il: "ba.il"; im: "ba.im"; in: "ba.in"; io: "ba.io"; ip: "ba.ip"; iq: "ba.iq"; ir: "ba.ir"; is: "ba.is"; it: "ba.it"; iu: "ba.iu"; iv: "ba.iv"; iw: "ba.iw"; ix: "ba.ix"; iy: "ba.iy"; iz: "ba.iz"; ja: "ba.ja"; jb: "ba.jb"; jc: "ba.jc"; jd: "ba.jd"; je: "ba.je"; jf: "ba.jf"; jg: "ba.jg"; jh: "ba.jh"; ji: "ba.ji"; jj: "ba.jj"; jk: "ba.jk"; jl: "ba.jl"; jm: "ba.jm"; jn: "ba.jn"; jo: "ba.jo"; jp: "ba.jp"; jq: "ba.jq"; jr: "ba.jr"; js: "ba.js"; jt: "ba.jt"; ju: "ba.ju"; jv: "ba.jv"; jw: "ba.jw"; jx: "ba.jx"; jy: "ba.jy"; jz: "ba.jz"; ka: "ba.ka"; kb: "ba.kb"; kc: "ba.kc"; kd: "ba.kd"; ke: "ba.ke"; kf: "ba.kf"; kg: "ba.kg"; kh: "ba.kh"; ki: "ba.ki"; kj: "ba.kj"; kk: "ba.kk"; kl: "ba.kl"; km: "ba.km"; kn: "ba.kn"; ko: "ba.ko"; kp: "ba.kp"; kq: "ba.kq"; kr: "ba.kr"; ks: "ba.ks"; kt: "ba.kt"; ku: "ba.ku"; kv: "ba.kv"; kw: "ba.kw"; kx: "ba.kx"; ky: "ba.ky"; kz: "ba.kz"; la: "ba.la"; lb: "ba.lb"; lc: "ba.lc"; ld: "ba.ld"; le: "ba.le"; lf: "ba.lf"; lg: "ba.lg"; lh: "ba.lh"; li: "ba.li"; lj: "ba.lj"; lk: "ba.lk"; ll: "ba.ll"; lm: "ba.lm"; ln: "ba.ln"; lo: "ba.lo"; lp: "ba.lp"; lq: "ba.lq"; lr: "ba.lr"; ls: "ba.ls"; lt: "ba.lt"; lu: "ba.lu"; lv: "ba.lv"; lw: "ba.lw"; lx: "ba.lx"; ly: "ba.ly"; lz: "ba.lz"; ma: "ba.ma"; mb: "ba.mb"; mc: "ba.mc"; md: "ba.md"; me: "ba.me"; mf: "ba.mf"; mg: "ba.mg"; mh: "ba.mh"; mi: "ba.mi"; mj: "ba.mj"; mk: "ba.mk"; ml: "ba.ml"; mm: "ba.mm"; mn: "ba.mn"; mo: "ba.mo"; mp: "ba.mp"; mq: "ba.mq"; mr: "ba.mr"; ms: "ba.ms"; mt: "ba.mt"; mu: "ba.mu"; mv: "ba.mv"; mw: "ba.mw"; mx: "ba.mx"; my: "ba.my"; mz: "ba.mz"; na: "ba.na"; nb: "ba.nb"; nc: "ba.nc"; nd: "ba.nd"; ne: "ba.ne"; nf: "ba.nf"; ng: "ba.ng"; nh: "ba.nh"; ni: "ba.ni"; nj: "ba.nj"; nk: "ba.nk"; nl: "ba.nl"; nm: "ba.nm"; nn: "ba.nn"; no: "ba.no"; np: "ba.np"; nq: "ba.nq"; nr: "ba.nr"; ns: "ba.ns"; nt: "ba.nt"; nu: "ba.nu"; nv: "ba.nv"; nw: "ba.nw"; nx: "ba.nx"; ny: "ba.ny"; nz: "ba.nz"; oa: "ba.oa"; ob: "ba.ob"; oc: "ba.oc"; od: "ba.od"; oe: "ba.oe"; of: "ba.of"; og: "ba.og"; oh: "ba.oh"; oi: "ba.oi"; oj: "ba.oj"; ok: "ba.ok"; ol: "ba.ol"; om: "ba.om"; on: "ba.on"; oo: "ba.oo"; op: "ba.op"; oq: "ba.oq"; or: "ba.or"; os: "ba.os"; ot: "ba.ot"; ou: "ba.ou"; ov: "ba.ov"; ow: "ba.ow"; ox: "ba.ox"; oy: "ba.oy"; oz: "ba.oz"; pa: "ba.pa"; pb: "ba.pb"; pc: "ba.pc"; pd: "ba.pd"; pe: "ba.pe"; pf: "ba.pf"; pg: "ba.pg"; ph: "ba.ph"; pi: "ba.pi"; pj: "ba.pj"; pk: "ba.pk"; pl: "ba.pl"; pm: "ba.pm"; pn: "ba.pn"; po: "ba.po"; pp: "ba.pp"; pq: "ba.pq"; pr: "ba.pr"; ps: "ba.ps"; pt: "ba.pt"; pu: "ba.pu"; pv: "ba.pv"; pw: "ba.pw"; px: "ba.px"; py: "ba.py"; pz: "ba.pz"; qa: "ba.qa"; qb: "ba.qb"; qc: "ba.qc"; qd: "ba.qd"; qe: "ba.qe"; qf: "ba.qf"; qg: "ba.qg"; qh: "ba.qh"; qi: "ba.qi"; qj: "ba.qj"; qk: "ba.qk"; ql: "ba.ql"; qm: "ba.qm"; qn: "ba.qn"; qo: "ba.qo"; qp: "ba.qp"; qq: "ba.qq"; qr: "ba.qr"; qs: "ba.qs"; qt: "ba.qt"; qu: "ba.qu"; qv: "ba.qv"; qw: "ba.qw"; qx: "ba.qx"; qy: "ba.qy"; qz: "ba.qz"; ra: "ba.ra"; rb: "ba.rb"; rc: "ba.rc"; rd: "ba.rd"; re: "ba.re"; rf: "ba.rf"; rg: "ba.rg"; rh: "ba.rh"; ri: "ba.ri"; rj: "ba.rj"; rk: "ba.rk"; rl: "ba.rl"; rm: "ba.rm"; rn: "ba.rn"; ro: "ba.ro"; rp: "ba.rp"; rq: "ba.rq"; rr: "ba.rr"; rs: "ba.rs"; rt: "ba.rt"; ru: "ba.ru"; rv: "ba.rv"; rw: "ba.rw"; rx: "ba.rx"; ry: "ba.ry"; rz: "ba.rz"; sa: "ba.sa"; sb: "ba.sb"; sc: "ba.sc"; sd: "ba.sd"; se: "ba.se"; sf: "ba.sf"; sg: "ba.sg"; sh: "ba.sh"; si: "ba.si"; sj: "ba.sj"; sk: "ba.sk"; sl: "ba.sl"; sm: "ba.sm"; sn: "ba.sn"; so: "ba.so"; sp: "ba.sp"; sq: "ba.sq"; sr: "ba.sr"; ss: "ba.ss"; st: "ba.st"; su: "ba.su"; sv: "ba.sv"; sw: "ba.sw"; sx: "ba.sx"; sy: "ba.sy"; sz: "ba.sz"; ta: "ba.ta"; tb: "ba.tb"; tc: "ba.tc"; td: "ba.td"; te: "ba.te"; tf: "ba.tf"; tg: "ba.tg"; th: "ba.th"; ti: "ba.ti"; tj: "ba.tj"; tk: "ba.tk"; tl: "ba.tl"; tm: "ba.tm"; tn: "ba.tn"; to: "ba.to"; tp: "ba.tp"; tq: "ba.tq"; tr: "ba.tr"; ts: "ba.ts"; tt: "ba.tt"; tu: "ba.tu"; tv: "ba.tv"; tw: "ba.tw"; tx: "ba.tx"; ty: "ba.ty"; tz: "ba.tz"; ua: "ba.ua"; ub: "ba.ub"; uc: "ba.uc"; ud: "ba.ud"; ue: "ba.ue"; uf: "ba.uf"; ug: "ba.ug"; uh: "ba.uh"; ui: "ba.ui"; uj: "ba.uj"; uk: "ba.uk"; ul: "ba.ul"; um: "ba.um"; un: "ba.un"; uo: "ba.uo"; up: "ba.up"; uq: "ba.uq"; ur: "ba.ur"; us: "ba.us"; ut: "ba.ut"; uu: "ba.uu"; uv: "ba.uv"; uw: "ba.uw"; ux: "ba.ux"; uy: "ba.uy"; uz: "ba.uz"; va: "ba.va"; vb: "ba.vb"; vc: "ba.vc"; vd: "ba.vd"; ve: "ba.ve"; vf: "ba.vf"; vg: "ba.vg"; vh: "ba.vh"; vi: "ba.vi"; vj: "ba.vj"; vk: "ba.vk"; vl: "ba.vl"; vm: "ba.vm"; vn: "ba.vn"; vo: "ba.vo"; vp: "ba.vp"; vq: "ba.vq"; vr: "ba.vr"; vs: "ba.vs"; vt: "ba.vt"; vu: "ba.vu"; vv: "ba.vv"; vw: "ba.vw"; vx: "ba.vx"; vy: "ba.vy"; vz: "ba.vz"; wa: "ba.wa"; wb: "ba.wb"; wc: "ba.wc"; wd: "ba.wd"; we: "ba.we"; wf: "ba.wf"; wg: "ba.wg"; wh: "ba.wh"; wi: "ba.wi"; wj: "ba.wj"; wk: "ba.wk"; wl: "ba.wl"; wm: "ba.wm"; wn: "ba.wn"; wo: "ba.wo"; wp: "ba.wp"; wq: "ba.wq"; wr: "ba.wr"; ws: "ba.ws"; wt: "ba.wt"; wu: "ba.wu"; wv: "ba.wv"; ww: "ba.ww"; wx: "ba.wx"; wy: "ba.wy"; wz: "ba.wz"; xa: "ba.xa"; xb: "ba.xb"; xc: "ba.xc"; xd: "ba.xd"; xe: "ba.xe"; xf: "ba.xf"; xg: "ba.xg"; xh: "ba.xh"; xi: "ba.xi"; xj: "ba.xj"; xk: "ba.xk"; xl: "ba.xl"; xm: "ba.xm"; xn: "ba.xn"; xo: "ba.xo"; xp: "ba.xp"; xq: "ba.xq"; xr: "ba.xr"; xs: "ba.xs"; xt: "ba.xt"; xu: "ba.xu"; xv: "ba.xv"; xw: "ba.xw"; xx: "ba.xx"; xy: "ba.xy"; xz: "ba.xz"; ya: "ba.ya"; yb: "ba.yb"; yc: "ba.yc"; yd: "ba.yd"; ye: "ba.ye"; yf: "ba.yf"; yg: "ba.yg"; yh: "ba.yh"; yi: "ba.yi"; yj: "ba.yj"; yk: "ba.yk"; yl: "ba.yl"; ym: "ba.ym"; yn: "ba.yn"; yo: "ba.yo"; yp: "ba.yp"; yq: "ba.yq"; yr: "ba.yr"; ys: "ba.ys"; yt: "ba.yt"; yu: "ba.yu"; yv: "ba.yv"; yw: "ba.yw"; yx: "ba.yx"; yy: "ba.yy"; yz: "ba.yz"; za: "ba.za"; zb: "ba.zb"; zc: "ba.zc"; zd: "ba.zd"; ze: "ba.ze"; zf: "ba.zf"; zg: "ba.zg"; zh: "ba.zh"; zi: "ba.zi"; zj: "ba.zj"; zk: "ba.zk"; zl: "ba.zl"; zm: "ba.zm"; zn: "ba.zn"; zo: "ba.zo"; zp: "ba.zp"; zq: "ba.zq"; zr: "ba.zr"; zs: "ba.zs"; zt: "ba.zt"; zu: "ba.zu"; zv: "ba.zv"; zw: "ba.zw"; zx: "ba.zx"; zy: "ba.zy"; zz: "ba.zz"; }; bb: { aa: "bb.aa"; ab: "bb.ab"; ac: "bb.ac"; ad: "bb.ad"; ae: "bb.ae"; af: "bb.af"; ag: "bb.ag"; ah: "bb.ah"; ai: "bb.ai"; aj: "bb.aj"; ak: "bb.ak"; al: "bb.al"; am: "bb.am"; an: "bb.an"; ao: "bb.ao"; ap: "bb.ap"; aq: "bb.aq"; ar: "bb.ar"; as: "bb.as"; at: "bb.at"; au: "bb.au"; av: "bb.av"; aw: "bb.aw"; ax: "bb.ax"; ay: "bb.ay"; az: "bb.az"; ba: "bb.ba"; bb: "bb.bb"; bc: "bb.bc"; bd: "bb.bd"; be: "bb.be"; bf: "bb.bf"; bg: "bb.bg"; bh: "bb.bh"; bi: "bb.bi"; bj: "bb.bj"; bk: "bb.bk"; bl: "bb.bl"; bm: "bb.bm"; bn: "bb.bn"; bo: "bb.bo"; bp: "bb.bp"; bq: "bb.bq"; br: "bb.br"; bs: "bb.bs"; bt: "bb.bt"; bu: "bb.bu"; bv: "bb.bv"; bw: "bb.bw"; bx: "bb.bx"; by: "bb.by"; bz: "bb.bz"; ca: "bb.ca"; cb: "bb.cb"; cc: "bb.cc"; cd: "bb.cd"; ce: "bb.ce"; cf: "bb.cf"; cg: "bb.cg"; ch: "bb.ch"; ci: "bb.ci"; cj: "bb.cj"; ck: "bb.ck"; cl: "bb.cl"; cm: "bb.cm"; cn: "bb.cn"; co: "bb.co"; cp: "bb.cp"; cq: "bb.cq"; cr: "bb.cr"; cs: "bb.cs"; ct: "bb.ct"; cu: "bb.cu"; cv: "bb.cv"; cw: "bb.cw"; cx: "bb.cx"; cy: "bb.cy"; cz: "bb.cz"; da: "bb.da"; db: "bb.db"; dc: "bb.dc"; dd: "bb.dd"; de: "bb.de"; df: "bb.df"; dg: "bb.dg"; dh: "bb.dh"; di: "bb.di"; dj: "bb.dj"; dk: "bb.dk"; dl: "bb.dl"; dm: "bb.dm"; dn: "bb.dn"; do: "bb.do"; dp: "bb.dp"; dq: "bb.dq"; dr: "bb.dr"; ds: "bb.ds"; dt: "bb.dt"; du: "bb.du"; dv: "bb.dv"; dw: "bb.dw"; dx: "bb.dx"; dy: "bb.dy"; dz: "bb.dz"; ea: "bb.ea"; eb: "bb.eb"; ec: "bb.ec"; ed: "bb.ed"; ee: "bb.ee"; ef: "bb.ef"; eg: "bb.eg"; eh: "bb.eh"; ei: "bb.ei"; ej: "bb.ej"; ek: "bb.ek"; el: "bb.el"; em: "bb.em"; en: "bb.en"; eo: "bb.eo"; ep: "bb.ep"; eq: "bb.eq"; er: "bb.er"; es: "bb.es"; et: "bb.et"; eu: "bb.eu"; ev: "bb.ev"; ew: "bb.ew"; ex: "bb.ex"; ey: "bb.ey"; ez: "bb.ez"; fa: "bb.fa"; fb: "bb.fb"; fc: "bb.fc"; fd: "bb.fd"; fe: "bb.fe"; ff: "bb.ff"; fg: "bb.fg"; fh: "bb.fh"; fi: "bb.fi"; fj: "bb.fj"; fk: "bb.fk"; fl: "bb.fl"; fm: "bb.fm"; fn: "bb.fn"; fo: "bb.fo"; fp: "bb.fp"; fq: "bb.fq"; fr: "bb.fr"; fs: "bb.fs"; ft: "bb.ft"; fu: "bb.fu"; fv: "bb.fv"; fw: "bb.fw"; fx: "bb.fx"; fy: "bb.fy"; fz: "bb.fz"; ga: "bb.ga"; gb: "bb.gb"; gc: "bb.gc"; gd: "bb.gd"; ge: "bb.ge"; gf: "bb.gf"; gg: "bb.gg"; gh: "bb.gh"; gi: "bb.gi"; gj: "bb.gj"; gk: "bb.gk"; gl: "bb.gl"; gm: "bb.gm"; gn: "bb.gn"; go: "bb.go"; gp: "bb.gp"; gq: "bb.gq"; gr: "bb.gr"; gs: "bb.gs"; gt: "bb.gt"; gu: "bb.gu"; gv: "bb.gv"; gw: "bb.gw"; gx: "bb.gx"; gy: "bb.gy"; gz: "bb.gz"; ha: "bb.ha"; hb: "bb.hb"; hc: "bb.hc"; hd: "bb.hd"; he: "bb.he"; hf: "bb.hf"; hg: "bb.hg"; hh: "bb.hh"; hi: "bb.hi"; hj: "bb.hj"; hk: "bb.hk"; hl: "bb.hl"; hm: "bb.hm"; hn: "bb.hn"; ho: "bb.ho"; hp: "bb.hp"; hq: "bb.hq"; hr: "bb.hr"; hs: "bb.hs"; ht: "bb.ht"; hu: "bb.hu"; hv: "bb.hv"; hw: "bb.hw"; hx: "bb.hx"; hy: "bb.hy"; hz: "bb.hz"; ia: "bb.ia"; ib: "bb.ib"; ic: "bb.ic"; id: "bb.id"; ie: "bb.ie"; if: "bb.if"; ig: "bb.ig"; ih: "bb.ih"; ii: "bb.ii"; ij: "bb.ij"; ik: "bb.ik"; il: "bb.il"; im: "bb.im"; in: "bb.in"; io: "bb.io"; ip: "bb.ip"; iq: "bb.iq"; ir: "bb.ir"; is: "bb.is"; it: "bb.it"; iu: "bb.iu"; iv: "bb.iv"; iw: "bb.iw"; ix: "bb.ix"; iy: "bb.iy"; iz: "bb.iz"; ja: "bb.ja"; jb: "bb.jb"; jc: "bb.jc"; jd: "bb.jd"; je: "bb.je"; jf: "bb.jf"; jg: "bb.jg"; jh: "bb.jh"; ji: "bb.ji"; jj: "bb.jj"; jk: "bb.jk"; jl: "bb.jl"; jm: "bb.jm"; jn: "bb.jn"; jo: "bb.jo"; jp: "bb.jp"; jq: "bb.jq"; jr: "bb.jr"; js: "bb.js"; jt: "bb.jt"; ju: "bb.ju"; jv: "bb.jv"; jw: "bb.jw"; jx: "bb.jx"; jy: "bb.jy"; jz: "bb.jz"; ka: "bb.ka"; kb: "bb.kb"; kc: "bb.kc"; kd: "bb.kd"; ke: "bb.ke"; kf: "bb.kf"; kg: "bb.kg"; kh: "bb.kh"; ki: "bb.ki"; kj: "bb.kj"; kk: "bb.kk"; kl: "bb.kl"; km: "bb.km"; kn: "bb.kn"; ko: "bb.ko"; kp: "bb.kp"; kq: "bb.kq"; kr: "bb.kr"; ks: "bb.ks"; kt: "bb.kt"; ku: "bb.ku"; kv: "bb.kv"; kw: "bb.kw"; kx: "bb.kx"; ky: "bb.ky"; kz: "bb.kz"; la: "bb.la"; lb: "bb.lb"; lc: "bb.lc"; ld: "bb.ld"; le: "bb.le"; lf: "bb.lf"; lg: "bb.lg"; lh: "bb.lh"; li: "bb.li"; lj: "bb.lj"; lk: "bb.lk"; ll: "bb.ll"; lm: "bb.lm"; ln: "bb.ln"; lo: "bb.lo"; lp: "bb.lp"; lq: "bb.lq"; lr: "bb.lr"; ls: "bb.ls"; lt: "bb.lt"; lu: "bb.lu"; lv: "bb.lv"; lw: "bb.lw"; lx: "bb.lx"; ly: "bb.ly"; lz: "bb.lz"; ma: "bb.ma"; mb: "bb.mb"; mc: "bb.mc"; md: "bb.md"; me: "bb.me"; mf: "bb.mf"; mg: "bb.mg"; mh: "bb.mh"; mi: "bb.mi"; mj: "bb.mj"; mk: "bb.mk"; ml: "bb.ml"; mm: "bb.mm"; mn: "bb.mn"; mo: "bb.mo"; mp: "bb.mp"; mq: "bb.mq"; mr: "bb.mr"; ms: "bb.ms"; mt: "bb.mt"; mu: "bb.mu"; mv: "bb.mv"; mw: "bb.mw"; mx: "bb.mx"; my: "bb.my"; mz: "bb.mz"; na: "bb.na"; nb: "bb.nb"; nc: "bb.nc"; nd: "bb.nd"; ne: "bb.ne"; nf: "bb.nf"; ng: "bb.ng"; nh: "bb.nh"; ni: "bb.ni"; nj: "bb.nj"; nk: "bb.nk"; nl: "bb.nl"; nm: "bb.nm"; nn: "bb.nn"; no: "bb.no"; np: "bb.np"; nq: "bb.nq"; nr: "bb.nr"; ns: "bb.ns"; nt: "bb.nt"; nu: "bb.nu"; nv: "bb.nv"; nw: "bb.nw"; nx: "bb.nx"; ny: "bb.ny"; nz: "bb.nz"; oa: "bb.oa"; ob: "bb.ob"; oc: "bb.oc"; od: "bb.od"; oe: "bb.oe"; of: "bb.of"; og: "bb.og"; oh: "bb.oh"; oi: "bb.oi"; oj: "bb.oj"; ok: "bb.ok"; ol: "bb.ol"; om: "bb.om"; on: "bb.on"; oo: "bb.oo"; op: "bb.op"; oq: "bb.oq"; or: "bb.or"; os: "bb.os"; ot: "bb.ot"; ou: "bb.ou"; ov: "bb.ov"; ow: "bb.ow"; ox: "bb.ox"; oy: "bb.oy"; oz: "bb.oz"; pa: "bb.pa"; pb: "bb.pb"; pc: "bb.pc"; pd: "bb.pd"; pe: "bb.pe"; pf: "bb.pf"; pg: "bb.pg"; ph: "bb.ph"; pi: "bb.pi"; pj: "bb.pj"; pk: "bb.pk"; pl: "bb.pl"; pm: "bb.pm"; pn: "bb.pn"; po: "bb.po"; pp: "bb.pp"; pq: "bb.pq"; pr: "bb.pr"; ps: "bb.ps"; pt: "bb.pt"; pu: "bb.pu"; pv: "bb.pv"; pw: "bb.pw"; px: "bb.px"; py: "bb.py"; pz: "bb.pz"; qa: "bb.qa"; qb: "bb.qb"; qc: "bb.qc"; qd: "bb.qd"; qe: "bb.qe"; qf: "bb.qf"; qg: "bb.qg"; qh: "bb.qh"; qi: "bb.qi"; qj: "bb.qj"; qk: "bb.qk"; ql: "bb.ql"; qm: "bb.qm"; qn: "bb.qn"; qo: "bb.qo"; qp: "bb.qp"; qq: "bb.qq"; qr: "bb.qr"; qs: "bb.qs"; qt: "bb.qt"; qu: "bb.qu"; qv: "bb.qv"; qw: "bb.qw"; qx: "bb.qx"; qy: "bb.qy"; qz: "bb.qz"; ra: "bb.ra"; rb: "bb.rb"; rc: "bb.rc"; rd: "bb.rd"; re: "bb.re"; rf: "bb.rf"; rg: "bb.rg"; rh: "bb.rh"; ri: "bb.ri"; rj: "bb.rj"; rk: "bb.rk"; rl: "bb.rl"; rm: "bb.rm"; rn: "bb.rn"; ro: "bb.ro"; rp: "bb.rp"; rq: "bb.rq"; rr: "bb.rr"; rs: "bb.rs"; rt: "bb.rt"; ru: "bb.ru"; rv: "bb.rv"; rw: "bb.rw"; rx: "bb.rx"; ry: "bb.ry"; rz: "bb.rz"; sa: "bb.sa"; sb: "bb.sb"; sc: "bb.sc"; sd: "bb.sd"; se: "bb.se"; sf: "bb.sf"; sg: "bb.sg"; sh: "bb.sh"; si: "bb.si"; sj: "bb.sj"; sk: "bb.sk"; sl: "bb.sl"; sm: "bb.sm"; sn: "bb.sn"; so: "bb.so"; sp: "bb.sp"; sq: "bb.sq"; sr: "bb.sr"; ss: "bb.ss"; st: "bb.st"; su: "bb.su"; sv: "bb.sv"; sw: "bb.sw"; sx: "bb.sx"; sy: "bb.sy"; sz: "bb.sz"; ta: "bb.ta"; tb: "bb.tb"; tc: "bb.tc"; td: "bb.td"; te: "bb.te"; tf: "bb.tf"; tg: "bb.tg"; th: "bb.th"; ti: "bb.ti"; tj: "bb.tj"; tk: "bb.tk"; tl: "bb.tl"; tm: "bb.tm"; tn: "bb.tn"; to: "bb.to"; tp: "bb.tp"; tq: "bb.tq"; tr: "bb.tr"; ts: "bb.ts"; tt: "bb.tt"; tu: "bb.tu"; tv: "bb.tv"; tw: "bb.tw"; tx: "bb.tx"; ty: "bb.ty"; tz: "bb.tz"; ua: "bb.ua"; ub: "bb.ub"; uc: "bb.uc"; ud: "bb.ud"; ue: "bb.ue"; uf: "bb.uf"; ug: "bb.ug"; uh: "bb.uh"; ui: "bb.ui"; uj: "bb.uj"; uk: "bb.uk"; ul: "bb.ul"; um: "bb.um"; un: "bb.un"; uo: "bb.uo"; up: "bb.up"; uq: "bb.uq"; ur: "bb.ur"; us: "bb.us"; ut: "bb.ut"; uu: "bb.uu"; uv: "bb.uv"; uw: "bb.uw"; ux: "bb.ux"; uy: "bb.uy"; uz: "bb.uz"; va: "bb.va"; vb: "bb.vb"; vc: "bb.vc"; vd: "bb.vd"; ve: "bb.ve"; vf: "bb.vf"; vg: "bb.vg"; vh: "bb.vh"; vi: "bb.vi"; vj: "bb.vj"; vk: "bb.vk"; vl: "bb.vl"; vm: "bb.vm"; vn: "bb.vn"; vo: "bb.vo"; vp: "bb.vp"; vq: "bb.vq"; vr: "bb.vr"; vs: "bb.vs"; vt: "bb.vt"; vu: "bb.vu"; vv: "bb.vv"; vw: "bb.vw"; vx: "bb.vx"; vy: "bb.vy"; vz: "bb.vz"; wa: "bb.wa"; wb: "bb.wb"; wc: "bb.wc"; wd: "bb.wd"; we: "bb.we"; wf: "bb.wf"; wg: "bb.wg"; wh: "bb.wh"; wi: "bb.wi"; wj: "bb.wj"; wk: "bb.wk"; wl: "bb.wl"; wm: "bb.wm"; wn: "bb.wn"; wo: "bb.wo"; wp: "bb.wp"; wq: "bb.wq"; wr: "bb.wr"; ws: "bb.ws"; wt: "bb.wt"; wu: "bb.wu"; wv: "bb.wv"; ww: "bb.ww"; wx: "bb.wx"; wy: "bb.wy"; wz: "bb.wz"; xa: "bb.xa"; xb: "bb.xb"; xc: "bb.xc"; xd: "bb.xd"; xe: "bb.xe"; xf: "bb.xf"; xg: "bb.xg"; xh: "bb.xh"; xi: "bb.xi"; xj: "bb.xj"; xk: "bb.xk"; xl: "bb.xl"; xm: "bb.xm"; xn: "bb.xn"; xo: "bb.xo"; xp: "bb.xp"; xq: "bb.xq"; xr: "bb.xr"; xs: "bb.xs"; xt: "bb.xt"; xu: "bb.xu"; xv: "bb.xv"; xw: "bb.xw"; xx: "bb.xx"; xy: "bb.xy"; xz: "bb.xz"; ya: "bb.ya"; yb: "bb.yb"; yc: "bb.yc"; yd: "bb.yd"; ye: "bb.ye"; yf: "bb.yf"; yg: "bb.yg"; yh: "bb.yh"; yi: "bb.yi"; yj: "bb.yj"; yk: "bb.yk"; yl: "bb.yl"; ym: "bb.ym"; yn: "bb.yn"; yo: "bb.yo"; yp: "bb.yp"; yq: "bb.yq"; yr: "bb.yr"; ys: "bb.ys"; yt: "bb.yt"; yu: "bb.yu"; yv: "bb.yv"; yw: "bb.yw"; yx: "bb.yx"; yy: "bb.yy"; yz: "bb.yz"; za: "bb.za"; zb: "bb.zb"; zc: "bb.zc"; zd: "bb.zd"; ze: "bb.ze"; zf: "bb.zf"; zg: "bb.zg"; zh: "bb.zh"; zi: "bb.zi"; zj: "bb.zj"; zk: "bb.zk"; zl: "bb.zl"; zm: "bb.zm"; zn: "bb.zn"; zo: "bb.zo"; zp: "bb.zp"; zq: "bb.zq"; zr: "bb.zr"; zs: "bb.zs"; zt: "bb.zt"; zu: "bb.zu"; zv: "bb.zv"; zw: "bb.zw"; zx: "bb.zx"; zy: "bb.zy"; zz: "bb.zz"; }; bc: { aa: "bc.aa"; ab: "bc.ab"; ac: "bc.ac"; ad: "bc.ad"; ae: "bc.ae"; af: "bc.af"; ag: "bc.ag"; ah: "bc.ah"; ai: "bc.ai"; aj: "bc.aj"; ak: "bc.ak"; al: "bc.al"; am: "bc.am"; an: "bc.an"; ao: "bc.ao"; ap: "bc.ap"; aq: "bc.aq"; ar: "bc.ar"; as: "bc.as"; at: "bc.at"; au: "bc.au"; av: "bc.av"; aw: "bc.aw"; ax: "bc.ax"; ay: "bc.ay"; az: "bc.az"; ba: "bc.ba"; bb: "bc.bb"; bc: "bc.bc"; bd: "bc.bd"; be: "bc.be"; bf: "bc.bf"; bg: "bc.bg"; bh: "bc.bh"; bi: "bc.bi"; bj: "bc.bj"; bk: "bc.bk"; bl: "bc.bl"; bm: "bc.bm"; bn: "bc.bn"; bo: "bc.bo"; bp: "bc.bp"; bq: "bc.bq"; br: "bc.br"; bs: "bc.bs"; bt: "bc.bt"; bu: "bc.bu"; bv: "bc.bv"; bw: "bc.bw"; bx: "bc.bx"; by: "bc.by"; bz: "bc.bz"; ca: "bc.ca"; cb: "bc.cb"; cc: "bc.cc"; cd: "bc.cd"; ce: "bc.ce"; cf: "bc.cf"; cg: "bc.cg"; ch: "bc.ch"; ci: "bc.ci"; cj: "bc.cj"; ck: "bc.ck"; cl: "bc.cl"; cm: "bc.cm"; cn: "bc.cn"; co: "bc.co"; cp: "bc.cp"; cq: "bc.cq"; cr: "bc.cr"; cs: "bc.cs"; ct: "bc.ct"; cu: "bc.cu"; cv: "bc.cv"; cw: "bc.cw"; cx: "bc.cx"; cy: "bc.cy"; cz: "bc.cz"; da: "bc.da"; db: "bc.db"; dc: "bc.dc"; dd: "bc.dd"; de: "bc.de"; df: "bc.df"; dg: "bc.dg"; dh: "bc.dh"; di: "bc.di"; dj: "bc.dj"; dk: "bc.dk"; dl: "bc.dl"; dm: "bc.dm"; dn: "bc.dn"; do: "bc.do"; dp: "bc.dp"; dq: "bc.dq"; dr: "bc.dr"; ds: "bc.ds"; dt: "bc.dt"; du: "bc.du"; dv: "bc.dv"; dw: "bc.dw"; dx: "bc.dx"; dy: "bc.dy"; dz: "bc.dz"; ea: "bc.ea"; eb: "bc.eb"; ec: "bc.ec"; ed: "bc.ed"; ee: "bc.ee"; ef: "bc.ef"; eg: "bc.eg"; eh: "bc.eh"; ei: "bc.ei"; ej: "bc.ej"; ek: "bc.ek"; el: "bc.el"; em: "bc.em"; en: "bc.en"; eo: "bc.eo"; ep: "bc.ep"; eq: "bc.eq"; er: "bc.er"; es: "bc.es"; et: "bc.et"; eu: "bc.eu"; ev: "bc.ev"; ew: "bc.ew"; ex: "bc.ex"; ey: "bc.ey"; ez: "bc.ez"; fa: "bc.fa"; fb: "bc.fb"; fc: "bc.fc"; fd: "bc.fd"; fe: "bc.fe"; ff: "bc.ff"; fg: "bc.fg"; fh: "bc.fh"; fi: "bc.fi"; fj: "bc.fj"; fk: "bc.fk"; fl: "bc.fl"; fm: "bc.fm"; fn: "bc.fn"; fo: "bc.fo"; fp: "bc.fp"; fq: "bc.fq"; fr: "bc.fr"; fs: "bc.fs"; ft: "bc.ft"; fu: "bc.fu"; fv: "bc.fv"; fw: "bc.fw"; fx: "bc.fx"; fy: "bc.fy"; fz: "bc.fz"; ga: "bc.ga"; gb: "bc.gb"; gc: "bc.gc"; gd: "bc.gd"; ge: "bc.ge"; gf: "bc.gf"; gg: "bc.gg"; gh: "bc.gh"; gi: "bc.gi"; gj: "bc.gj"; gk: "bc.gk"; gl: "bc.gl"; gm: "bc.gm"; gn: "bc.gn"; go: "bc.go"; gp: "bc.gp"; gq: "bc.gq"; gr: "bc.gr"; gs: "bc.gs"; gt: "bc.gt"; gu: "bc.gu"; gv: "bc.gv"; gw: "bc.gw"; gx: "bc.gx"; gy: "bc.gy"; gz: "bc.gz"; ha: "bc.ha"; hb: "bc.hb"; hc: "bc.hc"; hd: "bc.hd"; he: "bc.he"; hf: "bc.hf"; hg: "bc.hg"; hh: "bc.hh"; hi: "bc.hi"; hj: "bc.hj"; hk: "bc.hk"; hl: "bc.hl"; hm: "bc.hm"; hn: "bc.hn"; ho: "bc.ho"; hp: "bc.hp"; hq: "bc.hq"; hr: "bc.hr"; hs: "bc.hs"; ht: "bc.ht"; hu: "bc.hu"; hv: "bc.hv"; hw: "bc.hw"; hx: "bc.hx"; hy: "bc.hy"; hz: "bc.hz"; ia: "bc.ia"; ib: "bc.ib"; ic: "bc.ic"; id: "bc.id"; ie: "bc.ie"; if: "bc.if"; ig: "bc.ig"; ih: "bc.ih"; ii: "bc.ii"; ij: "bc.ij"; ik: "bc.ik"; il: "bc.il"; im: "bc.im"; in: "bc.in"; io: "bc.io"; ip: "bc.ip"; iq: "bc.iq"; ir: "bc.ir"; is: "bc.is"; it: "bc.it"; iu: "bc.iu"; iv: "bc.iv"; iw: "bc.iw"; ix: "bc.ix"; iy: "bc.iy"; iz: "bc.iz"; ja: "bc.ja"; jb: "bc.jb"; jc: "bc.jc"; jd: "bc.jd"; je: "bc.je"; jf: "bc.jf"; jg: "bc.jg"; jh: "bc.jh"; ji: "bc.ji"; jj: "bc.jj"; jk: "bc.jk"; jl: "bc.jl"; jm: "bc.jm"; jn: "bc.jn"; jo: "bc.jo"; jp: "bc.jp"; jq: "bc.jq"; jr: "bc.jr"; js: "bc.js"; jt: "bc.jt"; ju: "bc.ju"; jv: "bc.jv"; jw: "bc.jw"; jx: "bc.jx"; jy: "bc.jy"; jz: "bc.jz"; ka: "bc.ka"; kb: "bc.kb"; kc: "bc.kc"; kd: "bc.kd"; ke: "bc.ke"; kf: "bc.kf"; kg: "bc.kg"; kh: "bc.kh"; ki: "bc.ki"; kj: "bc.kj"; kk: "bc.kk"; kl: "bc.kl"; km: "bc.km"; kn: "bc.kn"; ko: "bc.ko"; kp: "bc.kp"; kq: "bc.kq"; kr: "bc.kr"; ks: "bc.ks"; kt: "bc.kt"; ku: "bc.ku"; kv: "bc.kv"; kw: "bc.kw"; kx: "bc.kx"; ky: "bc.ky"; kz: "bc.kz"; la: "bc.la"; lb: "bc.lb"; lc: "bc.lc"; ld: "bc.ld"; le: "bc.le"; lf: "bc.lf"; lg: "bc.lg"; lh: "bc.lh"; li: "bc.li"; lj: "bc.lj"; lk: "bc.lk"; ll: "bc.ll"; lm: "bc.lm"; ln: "bc.ln"; lo: "bc.lo"; lp: "bc.lp"; lq: "bc.lq"; lr: "bc.lr"; ls: "bc.ls"; lt: "bc.lt"; lu: "bc.lu"; lv: "bc.lv"; lw: "bc.lw"; lx: "bc.lx"; ly: "bc.ly"; lz: "bc.lz"; ma: "bc.ma"; mb: "bc.mb"; mc: "bc.mc"; md: "bc.md"; me: "bc.me"; mf: "bc.mf"; mg: "bc.mg"; mh: "bc.mh"; mi: "bc.mi"; mj: "bc.mj"; mk: "bc.mk"; ml: "bc.ml"; mm: "bc.mm"; mn: "bc.mn"; mo: "bc.mo"; mp: "bc.mp"; mq: "bc.mq"; mr: "bc.mr"; ms: "bc.ms"; mt: "bc.mt"; mu: "bc.mu"; mv: "bc.mv"; mw: "bc.mw"; mx: "bc.mx"; my: "bc.my"; mz: "bc.mz"; na: "bc.na"; nb: "bc.nb"; nc: "bc.nc"; nd: "bc.nd"; ne: "bc.ne"; nf: "bc.nf"; ng: "bc.ng"; nh: "bc.nh"; ni: "bc.ni"; nj: "bc.nj"; nk: "bc.nk"; nl: "bc.nl"; nm: "bc.nm"; nn: "bc.nn"; no: "bc.no"; np: "bc.np"; nq: "bc.nq"; nr: "bc.nr"; ns: "bc.ns"; nt: "bc.nt"; nu: "bc.nu"; nv: "bc.nv"; nw: "bc.nw"; nx: "bc.nx"; ny: "bc.ny"; nz: "bc.nz"; oa: "bc.oa"; ob: "bc.ob"; oc: "bc.oc"; od: "bc.od"; oe: "bc.oe"; of: "bc.of"; og: "bc.og"; oh: "bc.oh"; oi: "bc.oi"; oj: "bc.oj"; ok: "bc.ok"; ol: "bc.ol"; om: "bc.om"; on: "bc.on"; oo: "bc.oo"; op: "bc.op"; oq: "bc.oq"; or: "bc.or"; os: "bc.os"; ot: "bc.ot"; ou: "bc.ou"; ov: "bc.ov"; ow: "bc.ow"; ox: "bc.ox"; oy: "bc.oy"; oz: "bc.oz"; pa: "bc.pa"; pb: "bc.pb"; pc: "bc.pc"; pd: "bc.pd"; pe: "bc.pe"; pf: "bc.pf"; pg: "bc.pg"; ph: "bc.ph"; pi: "bc.pi"; pj: "bc.pj"; pk: "bc.pk"; pl: "bc.pl"; pm: "bc.pm"; pn: "bc.pn"; po: "bc.po"; pp: "bc.pp"; pq: "bc.pq"; pr: "bc.pr"; ps: "bc.ps"; pt: "bc.pt"; pu: "bc.pu"; pv: "bc.pv"; pw: "bc.pw"; px: "bc.px"; py: "bc.py"; pz: "bc.pz"; qa: "bc.qa"; qb: "bc.qb"; qc: "bc.qc"; qd: "bc.qd"; qe: "bc.qe"; qf: "bc.qf"; qg: "bc.qg"; qh: "bc.qh"; qi: "bc.qi"; qj: "bc.qj"; qk: "bc.qk"; ql: "bc.ql"; qm: "bc.qm"; qn: "bc.qn"; qo: "bc.qo"; qp: "bc.qp"; qq: "bc.qq"; qr: "bc.qr"; qs: "bc.qs"; qt: "bc.qt"; qu: "bc.qu"; qv: "bc.qv"; qw: "bc.qw"; qx: "bc.qx"; qy: "bc.qy"; qz: "bc.qz"; ra: "bc.ra"; rb: "bc.rb"; rc: "bc.rc"; rd: "bc.rd"; re: "bc.re"; rf: "bc.rf"; rg: "bc.rg"; rh: "bc.rh"; ri: "bc.ri"; rj: "bc.rj"; rk: "bc.rk"; rl: "bc.rl"; rm: "bc.rm"; rn: "bc.rn"; ro: "bc.ro"; rp: "bc.rp"; rq: "bc.rq"; rr: "bc.rr"; rs: "bc.rs"; rt: "bc.rt"; ru: "bc.ru"; rv: "bc.rv"; rw: "bc.rw"; rx: "bc.rx"; ry: "bc.ry"; rz: "bc.rz"; sa: "bc.sa"; sb: "bc.sb"; sc: "bc.sc"; sd: "bc.sd"; se: "bc.se"; sf: "bc.sf"; sg: "bc.sg"; sh: "bc.sh"; si: "bc.si"; sj: "bc.sj"; sk: "bc.sk"; sl: "bc.sl"; sm: "bc.sm"; sn: "bc.sn"; so: "bc.so"; sp: "bc.sp"; sq: "bc.sq"; sr: "bc.sr"; ss: "bc.ss"; st: "bc.st"; su: "bc.su"; sv: "bc.sv"; sw: "bc.sw"; sx: "bc.sx"; sy: "bc.sy"; sz: "bc.sz"; ta: "bc.ta"; tb: "bc.tb"; tc: "bc.tc"; td: "bc.td"; te: "bc.te"; tf: "bc.tf"; tg: "bc.tg"; th: "bc.th"; ti: "bc.ti"; tj: "bc.tj"; tk: "bc.tk"; tl: "bc.tl"; tm: "bc.tm"; tn: "bc.tn"; to: "bc.to"; tp: "bc.tp"; tq: "bc.tq"; tr: "bc.tr"; ts: "bc.ts"; tt: "bc.tt"; tu: "bc.tu"; tv: "bc.tv"; tw: "bc.tw"; tx: "bc.tx"; ty: "bc.ty"; tz: "bc.tz"; ua: "bc.ua"; ub: "bc.ub"; uc: "bc.uc"; ud: "bc.ud"; ue: "bc.ue"; uf: "bc.uf"; ug: "bc.ug"; uh: "bc.uh"; ui: "bc.ui"; uj: "bc.uj"; uk: "bc.uk"; ul: "bc.ul"; um: "bc.um"; un: "bc.un"; uo: "bc.uo"; up: "bc.up"; uq: "bc.uq"; ur: "bc.ur"; us: "bc.us"; ut: "bc.ut"; uu: "bc.uu"; uv: "bc.uv"; uw: "bc.uw"; ux: "bc.ux"; uy: "bc.uy"; uz: "bc.uz"; va: "bc.va"; vb: "bc.vb"; vc: "bc.vc"; vd: "bc.vd"; ve: "bc.ve"; vf: "bc.vf"; vg: "bc.vg"; vh: "bc.vh"; vi: "bc.vi"; vj: "bc.vj"; vk: "bc.vk"; vl: "bc.vl"; vm: "bc.vm"; vn: "bc.vn"; vo: "bc.vo"; vp: "bc.vp"; vq: "bc.vq"; vr: "bc.vr"; vs: "bc.vs"; vt: "bc.vt"; vu: "bc.vu"; vv: "bc.vv"; vw: "bc.vw"; vx: "bc.vx"; vy: "bc.vy"; vz: "bc.vz"; wa: "bc.wa"; wb: "bc.wb"; wc: "bc.wc"; wd: "bc.wd"; we: "bc.we"; wf: "bc.wf"; wg: "bc.wg"; wh: "bc.wh"; wi: "bc.wi"; wj: "bc.wj"; wk: "bc.wk"; wl: "bc.wl"; wm: "bc.wm"; wn: "bc.wn"; wo: "bc.wo"; wp: "bc.wp"; wq: "bc.wq"; wr: "bc.wr"; ws: "bc.ws"; wt: "bc.wt"; wu: "bc.wu"; wv: "bc.wv"; ww: "bc.ww"; wx: "bc.wx"; wy: "bc.wy"; wz: "bc.wz"; xa: "bc.xa"; xb: "bc.xb"; xc: "bc.xc"; xd: "bc.xd"; xe: "bc.xe"; xf: "bc.xf"; xg: "bc.xg"; xh: "bc.xh"; xi: "bc.xi"; xj: "bc.xj"; xk: "bc.xk"; xl: "bc.xl"; xm: "bc.xm"; xn: "bc.xn"; xo: "bc.xo"; xp: "bc.xp"; xq: "bc.xq"; xr: "bc.xr"; xs: "bc.xs"; xt: "bc.xt"; xu: "bc.xu"; xv: "bc.xv"; xw: "bc.xw"; xx: "bc.xx"; xy: "bc.xy"; xz: "bc.xz"; ya: "bc.ya"; yb: "bc.yb"; yc: "bc.yc"; yd: "bc.yd"; ye: "bc.ye"; yf: "bc.yf"; yg: "bc.yg"; yh: "bc.yh"; yi: "bc.yi"; yj: "bc.yj"; yk: "bc.yk"; yl: "bc.yl"; ym: "bc.ym"; yn: "bc.yn"; yo: "bc.yo"; yp: "bc.yp"; yq: "bc.yq"; yr: "bc.yr"; ys: "bc.ys"; yt: "bc.yt"; yu: "bc.yu"; yv: "bc.yv"; yw: "bc.yw"; yx: "bc.yx"; yy: "bc.yy"; yz: "bc.yz"; za: "bc.za"; zb: "bc.zb"; zc: "bc.zc"; zd: "bc.zd"; ze: "bc.ze"; zf: "bc.zf"; zg: "bc.zg"; zh: "bc.zh"; zi: "bc.zi"; zj: "bc.zj"; zk: "bc.zk"; zl: "bc.zl"; zm: "bc.zm"; zn: "bc.zn"; zo: "bc.zo"; zp: "bc.zp"; zq: "bc.zq"; zr: "bc.zr"; zs: "bc.zs"; zt: "bc.zt"; zu: "bc.zu"; zv: "bc.zv"; zw: "bc.zw"; zx: "bc.zx"; zy: "bc.zy"; zz: "bc.zz"; }; bd: { aa: "bd.aa"; ab: "bd.ab"; ac: "bd.ac"; ad: "bd.ad"; ae: "bd.ae"; af: "bd.af"; ag: "bd.ag"; ah: "bd.ah"; ai: "bd.ai"; aj: "bd.aj"; ak: "bd.ak"; al: "bd.al"; am: "bd.am"; an: "bd.an"; ao: "bd.ao"; ap: "bd.ap"; aq: "bd.aq"; ar: "bd.ar"; as: "bd.as"; at: "bd.at"; au: "bd.au"; av: "bd.av"; aw: "bd.aw"; ax: "bd.ax"; ay: "bd.ay"; az: "bd.az"; ba: "bd.ba"; bb: "bd.bb"; bc: "bd.bc"; bd: "bd.bd"; be: "bd.be"; bf: "bd.bf"; bg: "bd.bg"; bh: "bd.bh"; bi: "bd.bi"; bj: "bd.bj"; bk: "bd.bk"; bl: "bd.bl"; bm: "bd.bm"; bn: "bd.bn"; bo: "bd.bo"; bp: "bd.bp"; bq: "bd.bq"; br: "bd.br"; bs: "bd.bs"; bt: "bd.bt"; bu: "bd.bu"; bv: "bd.bv"; bw: "bd.bw"; bx: "bd.bx"; by: "bd.by"; bz: "bd.bz"; ca: "bd.ca"; cb: "bd.cb"; cc: "bd.cc"; cd: "bd.cd"; ce: "bd.ce"; cf: "bd.cf"; cg: "bd.cg"; ch: "bd.ch"; ci: "bd.ci"; cj: "bd.cj"; ck: "bd.ck"; cl: "bd.cl"; cm: "bd.cm"; cn: "bd.cn"; co: "bd.co"; cp: "bd.cp"; cq: "bd.cq"; cr: "bd.cr"; cs: "bd.cs"; ct: "bd.ct"; cu: "bd.cu"; cv: "bd.cv"; cw: "bd.cw"; cx: "bd.cx"; cy: "bd.cy"; cz: "bd.cz"; da: "bd.da"; db: "bd.db"; dc: "bd.dc"; dd: "bd.dd"; de: "bd.de"; df: "bd.df"; dg: "bd.dg"; dh: "bd.dh"; di: "bd.di"; dj: "bd.dj"; dk: "bd.dk"; dl: "bd.dl"; dm: "bd.dm"; dn: "bd.dn"; do: "bd.do"; dp: "bd.dp"; dq: "bd.dq"; dr: "bd.dr"; ds: "bd.ds"; dt: "bd.dt"; du: "bd.du"; dv: "bd.dv"; dw: "bd.dw"; dx: "bd.dx"; dy: "bd.dy"; dz: "bd.dz"; ea: "bd.ea"; eb: "bd.eb"; ec: "bd.ec"; ed: "bd.ed"; ee: "bd.ee"; ef: "bd.ef"; eg: "bd.eg"; eh: "bd.eh"; ei: "bd.ei"; ej: "bd.ej"; ek: "bd.ek"; el: "bd.el"; em: "bd.em"; en: "bd.en"; eo: "bd.eo"; ep: "bd.ep"; eq: "bd.eq"; er: "bd.er"; es: "bd.es"; et: "bd.et"; eu: "bd.eu"; ev: "bd.ev"; ew: "bd.ew"; ex: "bd.ex"; ey: "bd.ey"; ez: "bd.ez"; fa: "bd.fa"; fb: "bd.fb"; fc: "bd.fc"; fd: "bd.fd"; fe: "bd.fe"; ff: "bd.ff"; fg: "bd.fg"; fh: "bd.fh"; fi: "bd.fi"; fj: "bd.fj"; fk: "bd.fk"; fl: "bd.fl"; fm: "bd.fm"; fn: "bd.fn"; fo: "bd.fo"; fp: "bd.fp"; fq: "bd.fq"; fr: "bd.fr"; fs: "bd.fs"; ft: "bd.ft"; fu: "bd.fu"; fv: "bd.fv"; fw: "bd.fw"; fx: "bd.fx"; fy: "bd.fy"; fz: "bd.fz"; ga: "bd.ga"; gb: "bd.gb"; gc: "bd.gc"; gd: "bd.gd"; ge: "bd.ge"; gf: "bd.gf"; gg: "bd.gg"; gh: "bd.gh"; gi: "bd.gi"; gj: "bd.gj"; gk: "bd.gk"; gl: "bd.gl"; gm: "bd.gm"; gn: "bd.gn"; go: "bd.go"; gp: "bd.gp"; gq: "bd.gq"; gr: "bd.gr"; gs: "bd.gs"; gt: "bd.gt"; gu: "bd.gu"; gv: "bd.gv"; gw: "bd.gw"; gx: "bd.gx"; gy: "bd.gy"; gz: "bd.gz"; ha: "bd.ha"; hb: "bd.hb"; hc: "bd.hc"; hd: "bd.hd"; he: "bd.he"; hf: "bd.hf"; hg: "bd.hg"; hh: "bd.hh"; hi: "bd.hi"; hj: "bd.hj"; hk: "bd.hk"; hl: "bd.hl"; hm: "bd.hm"; hn: "bd.hn"; ho: "bd.ho"; hp: "bd.hp"; hq: "bd.hq"; hr: "bd.hr"; hs: "bd.hs"; ht: "bd.ht"; hu: "bd.hu"; hv: "bd.hv"; hw: "bd.hw"; hx: "bd.hx"; hy: "bd.hy"; hz: "bd.hz"; ia: "bd.ia"; ib: "bd.ib"; ic: "bd.ic"; id: "bd.id"; ie: "bd.ie"; if: "bd.if"; ig: "bd.ig"; ih: "bd.ih"; ii: "bd.ii"; ij: "bd.ij"; ik: "bd.ik"; il: "bd.il"; im: "bd.im"; in: "bd.in"; io: "bd.io"; ip: "bd.ip"; iq: "bd.iq"; ir: "bd.ir"; is: "bd.is"; it: "bd.it"; iu: "bd.iu"; iv: "bd.iv"; iw: "bd.iw"; ix: "bd.ix"; iy: "bd.iy"; iz: "bd.iz"; ja: "bd.ja"; jb: "bd.jb"; jc: "bd.jc"; jd: "bd.jd"; je: "bd.je"; jf: "bd.jf"; jg: "bd.jg"; jh: "bd.jh"; ji: "bd.ji"; jj: "bd.jj"; jk: "bd.jk"; jl: "bd.jl"; jm: "bd.jm"; jn: "bd.jn"; jo: "bd.jo"; jp: "bd.jp"; jq: "bd.jq"; jr: "bd.jr"; js: "bd.js"; jt: "bd.jt"; ju: "bd.ju"; jv: "bd.jv"; jw: "bd.jw"; jx: "bd.jx"; jy: "bd.jy"; jz: "bd.jz"; ka: "bd.ka"; kb: "bd.kb"; kc: "bd.kc"; kd: "bd.kd"; ke: "bd.ke"; kf: "bd.kf"; kg: "bd.kg"; kh: "bd.kh"; ki: "bd.ki"; kj: "bd.kj"; kk: "bd.kk"; kl: "bd.kl"; km: "bd.km"; kn: "bd.kn"; ko: "bd.ko"; kp: "bd.kp"; kq: "bd.kq"; kr: "bd.kr"; ks: "bd.ks"; kt: "bd.kt"; ku: "bd.ku"; kv: "bd.kv"; kw: "bd.kw"; kx: "bd.kx"; ky: "bd.ky"; kz: "bd.kz"; la: "bd.la"; lb: "bd.lb"; lc: "bd.lc"; ld: "bd.ld"; le: "bd.le"; lf: "bd.lf"; lg: "bd.lg"; lh: "bd.lh"; li: "bd.li"; lj: "bd.lj"; lk: "bd.lk"; ll: "bd.ll"; lm: "bd.lm"; ln: "bd.ln"; lo: "bd.lo"; lp: "bd.lp"; lq: "bd.lq"; lr: "bd.lr"; ls: "bd.ls"; lt: "bd.lt"; lu: "bd.lu"; lv: "bd.lv"; lw: "bd.lw"; lx: "bd.lx"; ly: "bd.ly"; lz: "bd.lz"; ma: "bd.ma"; mb: "bd.mb"; mc: "bd.mc"; md: "bd.md"; me: "bd.me"; mf: "bd.mf"; mg: "bd.mg"; mh: "bd.mh"; mi: "bd.mi"; mj: "bd.mj"; mk: "bd.mk"; ml: "bd.ml"; mm: "bd.mm"; mn: "bd.mn"; mo: "bd.mo"; mp: "bd.mp"; mq: "bd.mq"; mr: "bd.mr"; ms: "bd.ms"; mt: "bd.mt"; mu: "bd.mu"; mv: "bd.mv"; mw: "bd.mw"; mx: "bd.mx"; my: "bd.my"; mz: "bd.mz"; na: "bd.na"; nb: "bd.nb"; nc: "bd.nc"; nd: "bd.nd"; ne: "bd.ne"; nf: "bd.nf"; ng: "bd.ng"; nh: "bd.nh"; ni: "bd.ni"; nj: "bd.nj"; nk: "bd.nk"; nl: "bd.nl"; nm: "bd.nm"; nn: "bd.nn"; no: "bd.no"; np: "bd.np"; nq: "bd.nq"; nr: "bd.nr"; ns: "bd.ns"; nt: "bd.nt"; nu: "bd.nu"; nv: "bd.nv"; nw: "bd.nw"; nx: "bd.nx"; ny: "bd.ny"; nz: "bd.nz"; oa: "bd.oa"; ob: "bd.ob"; oc: "bd.oc"; od: "bd.od"; oe: "bd.oe"; of: "bd.of"; og: "bd.og"; oh: "bd.oh"; oi: "bd.oi"; oj: "bd.oj"; ok: "bd.ok"; ol: "bd.ol"; om: "bd.om"; on: "bd.on"; oo: "bd.oo"; op: "bd.op"; oq: "bd.oq"; or: "bd.or"; os: "bd.os"; ot: "bd.ot"; ou: "bd.ou"; ov: "bd.ov"; ow: "bd.ow"; ox: "bd.ox"; oy: "bd.oy"; oz: "bd.oz"; pa: "bd.pa"; pb: "bd.pb"; pc: "bd.pc"; pd: "bd.pd"; pe: "bd.pe"; pf: "bd.pf"; pg: "bd.pg"; ph: "bd.ph"; pi: "bd.pi"; pj: "bd.pj"; pk: "bd.pk"; pl: "bd.pl"; pm: "bd.pm"; pn: "bd.pn"; po: "bd.po"; pp: "bd.pp"; pq: "bd.pq"; pr: "bd.pr"; ps: "bd.ps"; pt: "bd.pt"; pu: "bd.pu"; pv: "bd.pv"; pw: "bd.pw"; px: "bd.px"; py: "bd.py"; pz: "bd.pz"; qa: "bd.qa"; qb: "bd.qb"; qc: "bd.qc"; qd: "bd.qd"; qe: "bd.qe"; qf: "bd.qf"; qg: "bd.qg"; qh: "bd.qh"; qi: "bd.qi"; qj: "bd.qj"; qk: "bd.qk"; ql: "bd.ql"; qm: "bd.qm"; qn: "bd.qn"; qo: "bd.qo"; qp: "bd.qp"; qq: "bd.qq"; qr: "bd.qr"; qs: "bd.qs"; qt: "bd.qt"; qu: "bd.qu"; qv: "bd.qv"; qw: "bd.qw"; qx: "bd.qx"; qy: "bd.qy"; qz: "bd.qz"; ra: "bd.ra"; rb: "bd.rb"; rc: "bd.rc"; rd: "bd.rd"; re: "bd.re"; rf: "bd.rf"; rg: "bd.rg"; rh: "bd.rh"; ri: "bd.ri"; rj: "bd.rj"; rk: "bd.rk"; rl: "bd.rl"; rm: "bd.rm"; rn: "bd.rn"; ro: "bd.ro"; rp: "bd.rp"; rq: "bd.rq"; rr: "bd.rr"; rs: "bd.rs"; rt: "bd.rt"; ru: "bd.ru"; rv: "bd.rv"; rw: "bd.rw"; rx: "bd.rx"; ry: "bd.ry"; rz: "bd.rz"; sa: "bd.sa"; sb: "bd.sb"; sc: "bd.sc"; sd: "bd.sd"; se: "bd.se"; sf: "bd.sf"; sg: "bd.sg"; sh: "bd.sh"; si: "bd.si"; sj: "bd.sj"; sk: "bd.sk"; sl: "bd.sl"; sm: "bd.sm"; sn: "bd.sn"; so: "bd.so"; sp: "bd.sp"; sq: "bd.sq"; sr: "bd.sr"; ss: "bd.ss"; st: "bd.st"; su: "bd.su"; sv: "bd.sv"; sw: "bd.sw"; sx: "bd.sx"; sy: "bd.sy"; sz: "bd.sz"; ta: "bd.ta"; tb: "bd.tb"; tc: "bd.tc"; td: "bd.td"; te: "bd.te"; tf: "bd.tf"; tg: "bd.tg"; th: "bd.th"; ti: "bd.ti"; tj: "bd.tj"; tk: "bd.tk"; tl: "bd.tl"; tm: "bd.tm"; tn: "bd.tn"; to: "bd.to"; tp: "bd.tp"; tq: "bd.tq"; tr: "bd.tr"; ts: "bd.ts"; tt: "bd.tt"; tu: "bd.tu"; tv: "bd.tv"; tw: "bd.tw"; tx: "bd.tx"; ty: "bd.ty"; tz: "bd.tz"; ua: "bd.ua"; ub: "bd.ub"; uc: "bd.uc"; ud: "bd.ud"; ue: "bd.ue"; uf: "bd.uf"; ug: "bd.ug"; uh: "bd.uh"; ui: "bd.ui"; uj: "bd.uj"; uk: "bd.uk"; ul: "bd.ul"; um: "bd.um"; un: "bd.un"; uo: "bd.uo"; up: "bd.up"; uq: "bd.uq"; ur: "bd.ur"; us: "bd.us"; ut: "bd.ut"; uu: "bd.uu"; uv: "bd.uv"; uw: "bd.uw"; ux: "bd.ux"; uy: "bd.uy"; uz: "bd.uz"; va: "bd.va"; vb: "bd.vb"; vc: "bd.vc"; vd: "bd.vd"; ve: "bd.ve"; vf: "bd.vf"; vg: "bd.vg"; vh: "bd.vh"; vi: "bd.vi"; vj: "bd.vj"; vk: "bd.vk"; vl: "bd.vl"; vm: "bd.vm"; vn: "bd.vn"; vo: "bd.vo"; vp: "bd.vp"; vq: "bd.vq"; vr: "bd.vr"; vs: "bd.vs"; vt: "bd.vt"; vu: "bd.vu"; vv: "bd.vv"; vw: "bd.vw"; vx: "bd.vx"; vy: "bd.vy"; vz: "bd.vz"; wa: "bd.wa"; wb: "bd.wb"; wc: "bd.wc"; wd: "bd.wd"; we: "bd.we"; wf: "bd.wf"; wg: "bd.wg"; wh: "bd.wh"; wi: "bd.wi"; wj: "bd.wj"; wk: "bd.wk"; wl: "bd.wl"; wm: "bd.wm"; wn: "bd.wn"; wo: "bd.wo"; wp: "bd.wp"; wq: "bd.wq"; wr: "bd.wr"; ws: "bd.ws"; wt: "bd.wt"; wu: "bd.wu"; wv: "bd.wv"; ww: "bd.ww"; wx: "bd.wx"; wy: "bd.wy"; wz: "bd.wz"; xa: "bd.xa"; xb: "bd.xb"; xc: "bd.xc"; xd: "bd.xd"; xe: "bd.xe"; xf: "bd.xf"; xg: "bd.xg"; xh: "bd.xh"; xi: "bd.xi"; xj: "bd.xj"; xk: "bd.xk"; xl: "bd.xl"; xm: "bd.xm"; xn: "bd.xn"; xo: "bd.xo"; xp: "bd.xp"; xq: "bd.xq"; xr: "bd.xr"; xs: "bd.xs"; xt: "bd.xt"; xu: "bd.xu"; xv: "bd.xv"; xw: "bd.xw"; xx: "bd.xx"; xy: "bd.xy"; xz: "bd.xz"; ya: "bd.ya"; yb: "bd.yb"; yc: "bd.yc"; yd: "bd.yd"; ye: "bd.ye"; yf: "bd.yf"; yg: "bd.yg"; yh: "bd.yh"; yi: "bd.yi"; yj: "bd.yj"; yk: "bd.yk"; yl: "bd.yl"; ym: "bd.ym"; yn: "bd.yn"; yo: "bd.yo"; yp: "bd.yp"; yq: "bd.yq"; yr: "bd.yr"; ys: "bd.ys"; yt: "bd.yt"; yu: "bd.yu"; yv: "bd.yv"; yw: "bd.yw"; yx: "bd.yx"; yy: "bd.yy"; yz: "bd.yz"; za: "bd.za"; zb: "bd.zb"; zc: "bd.zc"; zd: "bd.zd"; ze: "bd.ze"; zf: "bd.zf"; zg: "bd.zg"; zh: "bd.zh"; zi: "bd.zi"; zj: "bd.zj"; zk: "bd.zk"; zl: "bd.zl"; zm: "bd.zm"; zn: "bd.zn"; zo: "bd.zo"; zp: "bd.zp"; zq: "bd.zq"; zr: "bd.zr"; zs: "bd.zs"; zt: "bd.zt"; zu: "bd.zu"; zv: "bd.zv"; zw: "bd.zw"; zx: "bd.zx"; zy: "bd.zy"; zz: "bd.zz"; }; be: { aa: "be.aa"; ab: "be.ab"; ac: "be.ac"; ad: "be.ad"; ae: "be.ae"; af: "be.af"; ag: "be.ag"; ah: "be.ah"; ai: "be.ai"; aj: "be.aj"; ak: "be.ak"; al: "be.al"; am: "be.am"; an: "be.an"; ao: "be.ao"; ap: "be.ap"; aq: "be.aq"; ar: "be.ar"; as: "be.as"; at: "be.at"; au: "be.au"; av: "be.av"; aw: "be.aw"; ax: "be.ax"; ay: "be.ay"; az: "be.az"; ba: "be.ba"; bb: "be.bb"; bc: "be.bc"; bd: "be.bd"; be: "be.be"; bf: "be.bf"; bg: "be.bg"; bh: "be.bh"; bi: "be.bi"; bj: "be.bj"; bk: "be.bk"; bl: "be.bl"; bm: "be.bm"; bn: "be.bn"; bo: "be.bo"; bp: "be.bp"; bq: "be.bq"; br: "be.br"; bs: "be.bs"; bt: "be.bt"; bu: "be.bu"; bv: "be.bv"; bw: "be.bw"; bx: "be.bx"; by: "be.by"; bz: "be.bz"; ca: "be.ca"; cb: "be.cb"; cc: "be.cc"; cd: "be.cd"; ce: "be.ce"; cf: "be.cf"; cg: "be.cg"; ch: "be.ch"; ci: "be.ci"; cj: "be.cj"; ck: "be.ck"; cl: "be.cl"; cm: "be.cm"; cn: "be.cn"; co: "be.co"; cp: "be.cp"; cq: "be.cq"; cr: "be.cr"; cs: "be.cs"; ct: "be.ct"; cu: "be.cu"; cv: "be.cv"; cw: "be.cw"; cx: "be.cx"; cy: "be.cy"; cz: "be.cz"; da: "be.da"; db: "be.db"; dc: "be.dc"; dd: "be.dd"; de: "be.de"; df: "be.df"; dg: "be.dg"; dh: "be.dh"; di: "be.di"; dj: "be.dj"; dk: "be.dk"; dl: "be.dl"; dm: "be.dm"; dn: "be.dn"; do: "be.do"; dp: "be.dp"; dq: "be.dq"; dr: "be.dr"; ds: "be.ds"; dt: "be.dt"; du: "be.du"; dv: "be.dv"; dw: "be.dw"; dx: "be.dx"; dy: "be.dy"; dz: "be.dz"; ea: "be.ea"; eb: "be.eb"; ec: "be.ec"; ed: "be.ed"; ee: "be.ee"; ef: "be.ef"; eg: "be.eg"; eh: "be.eh"; ei: "be.ei"; ej: "be.ej"; ek: "be.ek"; el: "be.el"; em: "be.em"; en: "be.en"; eo: "be.eo"; ep: "be.ep"; eq: "be.eq"; er: "be.er"; es: "be.es"; et: "be.et"; eu: "be.eu"; ev: "be.ev"; ew: "be.ew"; ex: "be.ex"; ey: "be.ey"; ez: "be.ez"; fa: "be.fa"; fb: "be.fb"; fc: "be.fc"; fd: "be.fd"; fe: "be.fe"; ff: "be.ff"; fg: "be.fg"; fh: "be.fh"; fi: "be.fi"; fj: "be.fj"; fk: "be.fk"; fl: "be.fl"; fm: "be.fm"; fn: "be.fn"; fo: "be.fo"; fp: "be.fp"; fq: "be.fq"; fr: "be.fr"; fs: "be.fs"; ft: "be.ft"; fu: "be.fu"; fv: "be.fv"; fw: "be.fw"; fx: "be.fx"; fy: "be.fy"; fz: "be.fz"; ga: "be.ga"; gb: "be.gb"; gc: "be.gc"; gd: "be.gd"; ge: "be.ge"; gf: "be.gf"; gg: "be.gg"; gh: "be.gh"; gi: "be.gi"; gj: "be.gj"; gk: "be.gk"; gl: "be.gl"; gm: "be.gm"; gn: "be.gn"; go: "be.go"; gp: "be.gp"; gq: "be.gq"; gr: "be.gr"; gs: "be.gs"; gt: "be.gt"; gu: "be.gu"; gv: "be.gv"; gw: "be.gw"; gx: "be.gx"; gy: "be.gy"; gz: "be.gz"; ha: "be.ha"; hb: "be.hb"; hc: "be.hc"; hd: "be.hd"; he: "be.he"; hf: "be.hf"; hg: "be.hg"; hh: "be.hh"; hi: "be.hi"; hj: "be.hj"; hk: "be.hk"; hl: "be.hl"; hm: "be.hm"; hn: "be.hn"; ho: "be.ho"; hp: "be.hp"; hq: "be.hq"; hr: "be.hr"; hs: "be.hs"; ht: "be.ht"; hu: "be.hu"; hv: "be.hv"; hw: "be.hw"; hx: "be.hx"; hy: "be.hy"; hz: "be.hz"; ia: "be.ia"; ib: "be.ib"; ic: "be.ic"; id: "be.id"; ie: "be.ie"; if: "be.if"; ig: "be.ig"; ih: "be.ih"; ii: "be.ii"; ij: "be.ij"; ik: "be.ik"; il: "be.il"; im: "be.im"; in: "be.in"; io: "be.io"; ip: "be.ip"; iq: "be.iq"; ir: "be.ir"; is: "be.is"; it: "be.it"; iu: "be.iu"; iv: "be.iv"; iw: "be.iw"; ix: "be.ix"; iy: "be.iy"; iz: "be.iz"; ja: "be.ja"; jb: "be.jb"; jc: "be.jc"; jd: "be.jd"; je: "be.je"; jf: "be.jf"; jg: "be.jg"; jh: "be.jh"; ji: "be.ji"; jj: "be.jj"; jk: "be.jk"; jl: "be.jl"; jm: "be.jm"; jn: "be.jn"; jo: "be.jo"; jp: "be.jp"; jq: "be.jq"; jr: "be.jr"; js: "be.js"; jt: "be.jt"; ju: "be.ju"; jv: "be.jv"; jw: "be.jw"; jx: "be.jx"; jy: "be.jy"; jz: "be.jz"; ka: "be.ka"; kb: "be.kb"; kc: "be.kc"; kd: "be.kd"; ke: "be.ke"; kf: "be.kf"; kg: "be.kg"; kh: "be.kh"; ki: "be.ki"; kj: "be.kj"; kk: "be.kk"; kl: "be.kl"; km: "be.km"; kn: "be.kn"; ko: "be.ko"; kp: "be.kp"; kq: "be.kq"; kr: "be.kr"; ks: "be.ks"; kt: "be.kt"; ku: "be.ku"; kv: "be.kv"; kw: "be.kw"; kx: "be.kx"; ky: "be.ky"; kz: "be.kz"; la: "be.la"; lb: "be.lb"; lc: "be.lc"; ld: "be.ld"; le: "be.le"; lf: "be.lf"; lg: "be.lg"; lh: "be.lh"; li: "be.li"; lj: "be.lj"; lk: "be.lk"; ll: "be.ll"; lm: "be.lm"; ln: "be.ln"; lo: "be.lo"; lp: "be.lp"; lq: "be.lq"; lr: "be.lr"; ls: "be.ls"; lt: "be.lt"; lu: "be.lu"; lv: "be.lv"; lw: "be.lw"; lx: "be.lx"; ly: "be.ly"; lz: "be.lz"; ma: "be.ma"; mb: "be.mb"; mc: "be.mc"; md: "be.md"; me: "be.me"; mf: "be.mf"; mg: "be.mg"; mh: "be.mh"; mi: "be.mi"; mj: "be.mj"; mk: "be.mk"; ml: "be.ml"; mm: "be.mm"; mn: "be.mn"; mo: "be.mo"; mp: "be.mp"; mq: "be.mq"; mr: "be.mr"; ms: "be.ms"; mt: "be.mt"; mu: "be.mu"; mv: "be.mv"; mw: "be.mw"; mx: "be.mx"; my: "be.my"; mz: "be.mz"; na: "be.na"; nb: "be.nb"; nc: "be.nc"; nd: "be.nd"; ne: "be.ne"; nf: "be.nf"; ng: "be.ng"; nh: "be.nh"; ni: "be.ni"; nj: "be.nj"; nk: "be.nk"; nl: "be.nl"; nm: "be.nm"; nn: "be.nn"; no: "be.no"; np: "be.np"; nq: "be.nq"; nr: "be.nr"; ns: "be.ns"; nt: "be.nt"; nu: "be.nu"; nv: "be.nv"; nw: "be.nw"; nx: "be.nx"; ny: "be.ny"; nz: "be.nz"; oa: "be.oa"; ob: "be.ob"; oc: "be.oc"; od: "be.od"; oe: "be.oe"; of: "be.of"; og: "be.og"; oh: "be.oh"; oi: "be.oi"; oj: "be.oj"; ok: "be.ok"; ol: "be.ol"; om: "be.om"; on: "be.on"; oo: "be.oo"; op: "be.op"; oq: "be.oq"; or: "be.or"; os: "be.os"; ot: "be.ot"; ou: "be.ou"; ov: "be.ov"; ow: "be.ow"; ox: "be.ox"; oy: "be.oy"; oz: "be.oz"; pa: "be.pa"; pb: "be.pb"; pc: "be.pc"; pd: "be.pd"; pe: "be.pe"; pf: "be.pf"; pg: "be.pg"; ph: "be.ph"; pi: "be.pi"; pj: "be.pj"; pk: "be.pk"; pl: "be.pl"; pm: "be.pm"; pn: "be.pn"; po: "be.po"; pp: "be.pp"; pq: "be.pq"; pr: "be.pr"; ps: "be.ps"; pt: "be.pt"; pu: "be.pu"; pv: "be.pv"; pw: "be.pw"; px: "be.px"; py: "be.py"; pz: "be.pz"; qa: "be.qa"; qb: "be.qb"; qc: "be.qc"; qd: "be.qd"; qe: "be.qe"; qf: "be.qf"; qg: "be.qg"; qh: "be.qh"; qi: "be.qi"; qj: "be.qj"; qk: "be.qk"; ql: "be.ql"; qm: "be.qm"; qn: "be.qn"; qo: "be.qo"; qp: "be.qp"; qq: "be.qq"; qr: "be.qr"; qs: "be.qs"; qt: "be.qt"; qu: "be.qu"; qv: "be.qv"; qw: "be.qw"; qx: "be.qx"; qy: "be.qy"; qz: "be.qz"; ra: "be.ra"; rb: "be.rb"; rc: "be.rc"; rd: "be.rd"; re: "be.re"; rf: "be.rf"; rg: "be.rg"; rh: "be.rh"; ri: "be.ri"; rj: "be.rj"; rk: "be.rk"; rl: "be.rl"; rm: "be.rm"; rn: "be.rn"; ro: "be.ro"; rp: "be.rp"; rq: "be.rq"; rr: "be.rr"; rs: "be.rs"; rt: "be.rt"; ru: "be.ru"; rv: "be.rv"; rw: "be.rw"; rx: "be.rx"; ry: "be.ry"; rz: "be.rz"; sa: "be.sa"; sb: "be.sb"; sc: "be.sc"; sd: "be.sd"; se: "be.se"; sf: "be.sf"; sg: "be.sg"; sh: "be.sh"; si: "be.si"; sj: "be.sj"; sk: "be.sk"; sl: "be.sl"; sm: "be.sm"; sn: "be.sn"; so: "be.so"; sp: "be.sp"; sq: "be.sq"; sr: "be.sr"; ss: "be.ss"; st: "be.st"; su: "be.su"; sv: "be.sv"; sw: "be.sw"; sx: "be.sx"; sy: "be.sy"; sz: "be.sz"; ta: "be.ta"; tb: "be.tb"; tc: "be.tc"; td: "be.td"; te: "be.te"; tf: "be.tf"; tg: "be.tg"; th: "be.th"; ti: "be.ti"; tj: "be.tj"; tk: "be.tk"; tl: "be.tl"; tm: "be.tm"; tn: "be.tn"; to: "be.to"; tp: "be.tp"; tq: "be.tq"; tr: "be.tr"; ts: "be.ts"; tt: "be.tt"; tu: "be.tu"; tv: "be.tv"; tw: "be.tw"; tx: "be.tx"; ty: "be.ty"; tz: "be.tz"; ua: "be.ua"; ub: "be.ub"; uc: "be.uc"; ud: "be.ud"; ue: "be.ue"; uf: "be.uf"; ug: "be.ug"; uh: "be.uh"; ui: "be.ui"; uj: "be.uj"; uk: "be.uk"; ul: "be.ul"; um: "be.um"; un: "be.un"; uo: "be.uo"; up: "be.up"; uq: "be.uq"; ur: "be.ur"; us: "be.us"; ut: "be.ut"; uu: "be.uu"; uv: "be.uv"; uw: "be.uw"; ux: "be.ux"; uy: "be.uy"; uz: "be.uz"; va: "be.va"; vb: "be.vb"; vc: "be.vc"; vd: "be.vd"; ve: "be.ve"; vf: "be.vf"; vg: "be.vg"; vh: "be.vh"; vi: "be.vi"; vj: "be.vj"; vk: "be.vk"; vl: "be.vl"; vm: "be.vm"; vn: "be.vn"; vo: "be.vo"; vp: "be.vp"; vq: "be.vq"; vr: "be.vr"; vs: "be.vs"; vt: "be.vt"; vu: "be.vu"; vv: "be.vv"; vw: "be.vw"; vx: "be.vx"; vy: "be.vy"; vz: "be.vz"; wa: "be.wa"; wb: "be.wb"; wc: "be.wc"; wd: "be.wd"; we: "be.we"; wf: "be.wf"; wg: "be.wg"; wh: "be.wh"; wi: "be.wi"; wj: "be.wj"; wk: "be.wk"; wl: "be.wl"; wm: "be.wm"; wn: "be.wn"; wo: "be.wo"; wp: "be.wp"; wq: "be.wq"; wr: "be.wr"; ws: "be.ws"; wt: "be.wt"; wu: "be.wu"; wv: "be.wv"; ww: "be.ww"; wx: "be.wx"; wy: "be.wy"; wz: "be.wz"; xa: "be.xa"; xb: "be.xb"; xc: "be.xc"; xd: "be.xd"; xe: "be.xe"; xf: "be.xf"; xg: "be.xg"; xh: "be.xh"; xi: "be.xi"; xj: "be.xj"; xk: "be.xk"; xl: "be.xl"; xm: "be.xm"; xn: "be.xn"; xo: "be.xo"; xp: "be.xp"; xq: "be.xq"; xr: "be.xr"; xs: "be.xs"; xt: "be.xt"; xu: "be.xu"; xv: "be.xv"; xw: "be.xw"; xx: "be.xx"; xy: "be.xy"; xz: "be.xz"; ya: "be.ya"; yb: "be.yb"; yc: "be.yc"; yd: "be.yd"; ye: "be.ye"; yf: "be.yf"; yg: "be.yg"; yh: "be.yh"; yi: "be.yi"; yj: "be.yj"; yk: "be.yk"; yl: "be.yl"; ym: "be.ym"; yn: "be.yn"; yo: "be.yo"; yp: "be.yp"; yq: "be.yq"; yr: "be.yr"; ys: "be.ys"; yt: "be.yt"; yu: "be.yu"; yv: "be.yv"; yw: "be.yw"; yx: "be.yx"; yy: "be.yy"; yz: "be.yz"; za: "be.za"; zb: "be.zb"; zc: "be.zc"; zd: "be.zd"; ze: "be.ze"; zf: "be.zf"; zg: "be.zg"; zh: "be.zh"; zi: "be.zi"; zj: "be.zj"; zk: "be.zk"; zl: "be.zl"; zm: "be.zm"; zn: "be.zn"; zo: "be.zo"; zp: "be.zp"; zq: "be.zq"; zr: "be.zr"; zs: "be.zs"; zt: "be.zt"; zu: "be.zu"; zv: "be.zv"; zw: "be.zw"; zx: "be.zx"; zy: "be.zy"; zz: "be.zz"; }; bf: { aa: "bf.aa"; ab: "bf.ab"; ac: "bf.ac"; ad: "bf.ad"; ae: "bf.ae"; af: "bf.af"; ag: "bf.ag"; ah: "bf.ah"; ai: "bf.ai"; aj: "bf.aj"; ak: "bf.ak"; al: "bf.al"; am: "bf.am"; an: "bf.an"; ao: "bf.ao"; ap: "bf.ap"; aq: "bf.aq"; ar: "bf.ar"; as: "bf.as"; at: "bf.at"; au: "bf.au"; av: "bf.av"; aw: "bf.aw"; ax: "bf.ax"; ay: "bf.ay"; az: "bf.az"; ba: "bf.ba"; bb: "bf.bb"; bc: "bf.bc"; bd: "bf.bd"; be: "bf.be"; bf: "bf.bf"; bg: "bf.bg"; bh: "bf.bh"; bi: "bf.bi"; bj: "bf.bj"; bk: "bf.bk"; bl: "bf.bl"; bm: "bf.bm"; bn: "bf.bn"; bo: "bf.bo"; bp: "bf.bp"; bq: "bf.bq"; br: "bf.br"; bs: "bf.bs"; bt: "bf.bt"; bu: "bf.bu"; bv: "bf.bv"; bw: "bf.bw"; bx: "bf.bx"; by: "bf.by"; bz: "bf.bz"; ca: "bf.ca"; cb: "bf.cb"; cc: "bf.cc"; cd: "bf.cd"; ce: "bf.ce"; cf: "bf.cf"; cg: "bf.cg"; ch: "bf.ch"; ci: "bf.ci"; cj: "bf.cj"; ck: "bf.ck"; cl: "bf.cl"; cm: "bf.cm"; cn: "bf.cn"; co: "bf.co"; cp: "bf.cp"; cq: "bf.cq"; cr: "bf.cr"; cs: "bf.cs"; ct: "bf.ct"; cu: "bf.cu"; cv: "bf.cv"; cw: "bf.cw"; cx: "bf.cx"; cy: "bf.cy"; cz: "bf.cz"; da: "bf.da"; db: "bf.db"; dc: "bf.dc"; dd: "bf.dd"; de: "bf.de"; df: "bf.df"; dg: "bf.dg"; dh: "bf.dh"; di: "bf.di"; dj: "bf.dj"; dk: "bf.dk"; dl: "bf.dl"; dm: "bf.dm"; dn: "bf.dn"; do: "bf.do"; dp: "bf.dp"; dq: "bf.dq"; dr: "bf.dr"; ds: "bf.ds"; dt: "bf.dt"; du: "bf.du"; dv: "bf.dv"; dw: "bf.dw"; dx: "bf.dx"; dy: "bf.dy"; dz: "bf.dz"; ea: "bf.ea"; eb: "bf.eb"; ec: "bf.ec"; ed: "bf.ed"; ee: "bf.ee"; ef: "bf.ef"; eg: "bf.eg"; eh: "bf.eh"; ei: "bf.ei"; ej: "bf.ej"; ek: "bf.ek"; el: "bf.el"; em: "bf.em"; en: "bf.en"; eo: "bf.eo"; ep: "bf.ep"; eq: "bf.eq"; er: "bf.er"; es: "bf.es"; et: "bf.et"; eu: "bf.eu"; ev: "bf.ev"; ew: "bf.ew"; ex: "bf.ex"; ey: "bf.ey"; ez: "bf.ez"; fa: "bf.fa"; fb: "bf.fb"; fc: "bf.fc"; fd: "bf.fd"; fe: "bf.fe"; ff: "bf.ff"; fg: "bf.fg"; fh: "bf.fh"; fi: "bf.fi"; fj: "bf.fj"; fk: "bf.fk"; fl: "bf.fl"; fm: "bf.fm"; fn: "bf.fn"; fo: "bf.fo"; fp: "bf.fp"; fq: "bf.fq"; fr: "bf.fr"; fs: "bf.fs"; ft: "bf.ft"; fu: "bf.fu"; fv: "bf.fv"; fw: "bf.fw"; fx: "bf.fx"; fy: "bf.fy"; fz: "bf.fz"; ga: "bf.ga"; gb: "bf.gb"; gc: "bf.gc"; gd: "bf.gd"; ge: "bf.ge"; gf: "bf.gf"; gg: "bf.gg"; gh: "bf.gh"; gi: "bf.gi"; gj: "bf.gj"; gk: "bf.gk"; gl: "bf.gl"; gm: "bf.gm"; gn: "bf.gn"; go: "bf.go"; gp: "bf.gp"; gq: "bf.gq"; gr: "bf.gr"; gs: "bf.gs"; gt: "bf.gt"; gu: "bf.gu"; gv: "bf.gv"; gw: "bf.gw"; gx: "bf.gx"; gy: "bf.gy"; gz: "bf.gz"; ha: "bf.ha"; hb: "bf.hb"; hc: "bf.hc"; hd: "bf.hd"; he: "bf.he"; hf: "bf.hf"; hg: "bf.hg"; hh: "bf.hh"; hi: "bf.hi"; hj: "bf.hj"; hk: "bf.hk"; hl: "bf.hl"; hm: "bf.hm"; hn: "bf.hn"; ho: "bf.ho"; hp: "bf.hp"; hq: "bf.hq"; hr: "bf.hr"; hs: "bf.hs"; ht: "bf.ht"; hu: "bf.hu"; hv: "bf.hv"; hw: "bf.hw"; hx: "bf.hx"; hy: "bf.hy"; hz: "bf.hz"; ia: "bf.ia"; ib: "bf.ib"; ic: "bf.ic"; id: "bf.id"; ie: "bf.ie"; if: "bf.if"; ig: "bf.ig"; ih: "bf.ih"; ii: "bf.ii"; ij: "bf.ij"; ik: "bf.ik"; il: "bf.il"; im: "bf.im"; in: "bf.in"; io: "bf.io"; ip: "bf.ip"; iq: "bf.iq"; ir: "bf.ir"; is: "bf.is"; it: "bf.it"; iu: "bf.iu"; iv: "bf.iv"; iw: "bf.iw"; ix: "bf.ix"; iy: "bf.iy"; iz: "bf.iz"; ja: "bf.ja"; jb: "bf.jb"; jc: "bf.jc"; jd: "bf.jd"; je: "bf.je"; jf: "bf.jf"; jg: "bf.jg"; jh: "bf.jh"; ji: "bf.ji"; jj: "bf.jj"; jk: "bf.jk"; jl: "bf.jl"; jm: "bf.jm"; jn: "bf.jn"; jo: "bf.jo"; jp: "bf.jp"; jq: "bf.jq"; jr: "bf.jr"; js: "bf.js"; jt: "bf.jt"; ju: "bf.ju"; jv: "bf.jv"; jw: "bf.jw"; jx: "bf.jx"; jy: "bf.jy"; jz: "bf.jz"; ka: "bf.ka"; kb: "bf.kb"; kc: "bf.kc"; kd: "bf.kd"; ke: "bf.ke"; kf: "bf.kf"; kg: "bf.kg"; kh: "bf.kh"; ki: "bf.ki"; kj: "bf.kj"; kk: "bf.kk"; kl: "bf.kl"; km: "bf.km"; kn: "bf.kn"; ko: "bf.ko"; kp: "bf.kp"; kq: "bf.kq"; kr: "bf.kr"; ks: "bf.ks"; kt: "bf.kt"; ku: "bf.ku"; kv: "bf.kv"; kw: "bf.kw"; kx: "bf.kx"; ky: "bf.ky"; kz: "bf.kz"; la: "bf.la"; lb: "bf.lb"; lc: "bf.lc"; ld: "bf.ld"; le: "bf.le"; lf: "bf.lf"; lg: "bf.lg"; lh: "bf.lh"; li: "bf.li"; lj: "bf.lj"; lk: "bf.lk"; ll: "bf.ll"; lm: "bf.lm"; ln: "bf.ln"; lo: "bf.lo"; lp: "bf.lp"; lq: "bf.lq"; lr: "bf.lr"; ls: "bf.ls"; lt: "bf.lt"; lu: "bf.lu"; lv: "bf.lv"; lw: "bf.lw"; lx: "bf.lx"; ly: "bf.ly"; lz: "bf.lz"; ma: "bf.ma"; mb: "bf.mb"; mc: "bf.mc"; md: "bf.md"; me: "bf.me"; mf: "bf.mf"; mg: "bf.mg"; mh: "bf.mh"; mi: "bf.mi"; mj: "bf.mj"; mk: "bf.mk"; ml: "bf.ml"; mm: "bf.mm"; mn: "bf.mn"; mo: "bf.mo"; mp: "bf.mp"; mq: "bf.mq"; mr: "bf.mr"; ms: "bf.ms"; mt: "bf.mt"; mu: "bf.mu"; mv: "bf.mv"; mw: "bf.mw"; mx: "bf.mx"; my: "bf.my"; mz: "bf.mz"; na: "bf.na"; nb: "bf.nb"; nc: "bf.nc"; nd: "bf.nd"; ne: "bf.ne"; nf: "bf.nf"; ng: "bf.ng"; nh: "bf.nh"; ni: "bf.ni"; nj: "bf.nj"; nk: "bf.nk"; nl: "bf.nl"; nm: "bf.nm"; nn: "bf.nn"; no: "bf.no"; np: "bf.np"; nq: "bf.nq"; nr: "bf.nr"; ns: "bf.ns"; nt: "bf.nt"; nu: "bf.nu"; nv: "bf.nv"; nw: "bf.nw"; nx: "bf.nx"; ny: "bf.ny"; nz: "bf.nz"; oa: "bf.oa"; ob: "bf.ob"; oc: "bf.oc"; od: "bf.od"; oe: "bf.oe"; of: "bf.of"; og: "bf.og"; oh: "bf.oh"; oi: "bf.oi"; oj: "bf.oj"; ok: "bf.ok"; ol: "bf.ol"; om: "bf.om"; on: "bf.on"; oo: "bf.oo"; op: "bf.op"; oq: "bf.oq"; or: "bf.or"; os: "bf.os"; ot: "bf.ot"; ou: "bf.ou"; ov: "bf.ov"; ow: "bf.ow"; ox: "bf.ox"; oy: "bf.oy"; oz: "bf.oz"; pa: "bf.pa"; pb: "bf.pb"; pc: "bf.pc"; pd: "bf.pd"; pe: "bf.pe"; pf: "bf.pf"; pg: "bf.pg"; ph: "bf.ph"; pi: "bf.pi"; pj: "bf.pj"; pk: "bf.pk"; pl: "bf.pl"; pm: "bf.pm"; pn: "bf.pn"; po: "bf.po"; pp: "bf.pp"; pq: "bf.pq"; pr: "bf.pr"; ps: "bf.ps"; pt: "bf.pt"; pu: "bf.pu"; pv: "bf.pv"; pw: "bf.pw"; px: "bf.px"; py: "bf.py"; pz: "bf.pz"; qa: "bf.qa"; qb: "bf.qb"; qc: "bf.qc"; qd: "bf.qd"; qe: "bf.qe"; qf: "bf.qf"; qg: "bf.qg"; qh: "bf.qh"; qi: "bf.qi"; qj: "bf.qj"; qk: "bf.qk"; ql: "bf.ql"; qm: "bf.qm"; qn: "bf.qn"; qo: "bf.qo"; qp: "bf.qp"; qq: "bf.qq"; qr: "bf.qr"; qs: "bf.qs"; qt: "bf.qt"; qu: "bf.qu"; qv: "bf.qv"; qw: "bf.qw"; qx: "bf.qx"; qy: "bf.qy"; qz: "bf.qz"; ra: "bf.ra"; rb: "bf.rb"; rc: "bf.rc"; rd: "bf.rd"; re: "bf.re"; rf: "bf.rf"; rg: "bf.rg"; rh: "bf.rh"; ri: "bf.ri"; rj: "bf.rj"; rk: "bf.rk"; rl: "bf.rl"; rm: "bf.rm"; rn: "bf.rn"; ro: "bf.ro"; rp: "bf.rp"; rq: "bf.rq"; rr: "bf.rr"; rs: "bf.rs"; rt: "bf.rt"; ru: "bf.ru"; rv: "bf.rv"; rw: "bf.rw"; rx: "bf.rx"; ry: "bf.ry"; rz: "bf.rz"; sa: "bf.sa"; sb: "bf.sb"; sc: "bf.sc"; sd: "bf.sd"; se: "bf.se"; sf: "bf.sf"; sg: "bf.sg"; sh: "bf.sh"; si: "bf.si"; sj: "bf.sj"; sk: "bf.sk"; sl: "bf.sl"; sm: "bf.sm"; sn: "bf.sn"; so: "bf.so"; sp: "bf.sp"; sq: "bf.sq"; sr: "bf.sr"; ss: "bf.ss"; st: "bf.st"; su: "bf.su"; sv: "bf.sv"; sw: "bf.sw"; sx: "bf.sx"; sy: "bf.sy"; sz: "bf.sz"; ta: "bf.ta"; tb: "bf.tb"; tc: "bf.tc"; td: "bf.td"; te: "bf.te"; tf: "bf.tf"; tg: "bf.tg"; th: "bf.th"; ti: "bf.ti"; tj: "bf.tj"; tk: "bf.tk"; tl: "bf.tl"; tm: "bf.tm"; tn: "bf.tn"; to: "bf.to"; tp: "bf.tp"; tq: "bf.tq"; tr: "bf.tr"; ts: "bf.ts"; tt: "bf.tt"; tu: "bf.tu"; tv: "bf.tv"; tw: "bf.tw"; tx: "bf.tx"; ty: "bf.ty"; tz: "bf.tz"; ua: "bf.ua"; ub: "bf.ub"; uc: "bf.uc"; ud: "bf.ud"; ue: "bf.ue"; uf: "bf.uf"; ug: "bf.ug"; uh: "bf.uh"; ui: "bf.ui"; uj: "bf.uj"; uk: "bf.uk"; ul: "bf.ul"; um: "bf.um"; un: "bf.un"; uo: "bf.uo"; up: "bf.up"; uq: "bf.uq"; ur: "bf.ur"; us: "bf.us"; ut: "bf.ut"; uu: "bf.uu"; uv: "bf.uv"; uw: "bf.uw"; ux: "bf.ux"; uy: "bf.uy"; uz: "bf.uz"; va: "bf.va"; vb: "bf.vb"; vc: "bf.vc"; vd: "bf.vd"; ve: "bf.ve"; vf: "bf.vf"; vg: "bf.vg"; vh: "bf.vh"; vi: "bf.vi"; vj: "bf.vj"; vk: "bf.vk"; vl: "bf.vl"; vm: "bf.vm"; vn: "bf.vn"; vo: "bf.vo"; vp: "bf.vp"; vq: "bf.vq"; vr: "bf.vr"; vs: "bf.vs"; vt: "bf.vt"; vu: "bf.vu"; vv: "bf.vv"; vw: "bf.vw"; vx: "bf.vx"; vy: "bf.vy"; vz: "bf.vz"; wa: "bf.wa"; wb: "bf.wb"; wc: "bf.wc"; wd: "bf.wd"; we: "bf.we"; wf: "bf.wf"; wg: "bf.wg"; wh: "bf.wh"; wi: "bf.wi"; wj: "bf.wj"; wk: "bf.wk"; wl: "bf.wl"; wm: "bf.wm"; wn: "bf.wn"; wo: "bf.wo"; wp: "bf.wp"; wq: "bf.wq"; wr: "bf.wr"; ws: "bf.ws"; wt: "bf.wt"; wu: "bf.wu"; wv: "bf.wv"; ww: "bf.ww"; wx: "bf.wx"; wy: "bf.wy"; wz: "bf.wz"; xa: "bf.xa"; xb: "bf.xb"; xc: "bf.xc"; xd: "bf.xd"; xe: "bf.xe"; xf: "bf.xf"; xg: "bf.xg"; xh: "bf.xh"; xi: "bf.xi"; xj: "bf.xj"; xk: "bf.xk"; xl: "bf.xl"; xm: "bf.xm"; xn: "bf.xn"; xo: "bf.xo"; xp: "bf.xp"; xq: "bf.xq"; xr: "bf.xr"; xs: "bf.xs"; xt: "bf.xt"; xu: "bf.xu"; xv: "bf.xv"; xw: "bf.xw"; xx: "bf.xx"; xy: "bf.xy"; xz: "bf.xz"; ya: "bf.ya"; yb: "bf.yb"; yc: "bf.yc"; yd: "bf.yd"; ye: "bf.ye"; yf: "bf.yf"; yg: "bf.yg"; yh: "bf.yh"; yi: "bf.yi"; yj: "bf.yj"; yk: "bf.yk"; yl: "bf.yl"; ym: "bf.ym"; yn: "bf.yn"; yo: "bf.yo"; yp: "bf.yp"; yq: "bf.yq"; yr: "bf.yr"; ys: "bf.ys"; yt: "bf.yt"; yu: "bf.yu"; yv: "bf.yv"; yw: "bf.yw"; yx: "bf.yx"; yy: "bf.yy"; yz: "bf.yz"; za: "bf.za"; zb: "bf.zb"; zc: "bf.zc"; zd: "bf.zd"; ze: "bf.ze"; zf: "bf.zf"; zg: "bf.zg"; zh: "bf.zh"; zi: "bf.zi"; zj: "bf.zj"; zk: "bf.zk"; zl: "bf.zl"; zm: "bf.zm"; zn: "bf.zn"; zo: "bf.zo"; zp: "bf.zp"; zq: "bf.zq"; zr: "bf.zr"; zs: "bf.zs"; zt: "bf.zt"; zu: "bf.zu"; zv: "bf.zv"; zw: "bf.zw"; zx: "bf.zx"; zy: "bf.zy"; zz: "bf.zz"; }; bg: { aa: "bg.aa"; ab: "bg.ab"; ac: "bg.ac"; ad: "bg.ad"; ae: "bg.ae"; af: "bg.af"; ag: "bg.ag"; ah: "bg.ah"; ai: "bg.ai"; aj: "bg.aj"; ak: "bg.ak"; al: "bg.al"; am: "bg.am"; an: "bg.an"; ao: "bg.ao"; ap: "bg.ap"; aq: "bg.aq"; ar: "bg.ar"; as: "bg.as"; at: "bg.at"; au: "bg.au"; av: "bg.av"; aw: "bg.aw"; ax: "bg.ax"; ay: "bg.ay"; az: "bg.az"; ba: "bg.ba"; bb: "bg.bb"; bc: "bg.bc"; bd: "bg.bd"; be: "bg.be"; bf: "bg.bf"; bg: "bg.bg"; bh: "bg.bh"; bi: "bg.bi"; bj: "bg.bj"; bk: "bg.bk"; bl: "bg.bl"; bm: "bg.bm"; bn: "bg.bn"; bo: "bg.bo"; bp: "bg.bp"; bq: "bg.bq"; br: "bg.br"; bs: "bg.bs"; bt: "bg.bt"; bu: "bg.bu"; bv: "bg.bv"; bw: "bg.bw"; bx: "bg.bx"; by: "bg.by"; bz: "bg.bz"; ca: "bg.ca"; cb: "bg.cb"; cc: "bg.cc"; cd: "bg.cd"; ce: "bg.ce"; cf: "bg.cf"; cg: "bg.cg"; ch: "bg.ch"; ci: "bg.ci"; cj: "bg.cj"; ck: "bg.ck"; cl: "bg.cl"; cm: "bg.cm"; cn: "bg.cn"; co: "bg.co"; cp: "bg.cp"; cq: "bg.cq"; cr: "bg.cr"; cs: "bg.cs"; ct: "bg.ct"; cu: "bg.cu"; cv: "bg.cv"; cw: "bg.cw"; cx: "bg.cx"; cy: "bg.cy"; cz: "bg.cz"; da: "bg.da"; db: "bg.db"; dc: "bg.dc"; dd: "bg.dd"; de: "bg.de"; df: "bg.df"; dg: "bg.dg"; dh: "bg.dh"; di: "bg.di"; dj: "bg.dj"; dk: "bg.dk"; dl: "bg.dl"; dm: "bg.dm"; dn: "bg.dn"; do: "bg.do"; dp: "bg.dp"; dq: "bg.dq"; dr: "bg.dr"; ds: "bg.ds"; dt: "bg.dt"; du: "bg.du"; dv: "bg.dv"; dw: "bg.dw"; dx: "bg.dx"; dy: "bg.dy"; dz: "bg.dz"; ea: "bg.ea"; eb: "bg.eb"; ec: "bg.ec"; ed: "bg.ed"; ee: "bg.ee"; ef: "bg.ef"; eg: "bg.eg"; eh: "bg.eh"; ei: "bg.ei"; ej: "bg.ej"; ek: "bg.ek"; el: "bg.el"; em: "bg.em"; en: "bg.en"; eo: "bg.eo"; ep: "bg.ep"; eq: "bg.eq"; er: "bg.er"; es: "bg.es"; et: "bg.et"; eu: "bg.eu"; ev: "bg.ev"; ew: "bg.ew"; ex: "bg.ex"; ey: "bg.ey"; ez: "bg.ez"; fa: "bg.fa"; fb: "bg.fb"; fc: "bg.fc"; fd: "bg.fd"; fe: "bg.fe"; ff: "bg.ff"; fg: "bg.fg"; fh: "bg.fh"; fi: "bg.fi"; fj: "bg.fj"; fk: "bg.fk"; fl: "bg.fl"; fm: "bg.fm"; fn: "bg.fn"; fo: "bg.fo"; fp: "bg.fp"; fq: "bg.fq"; fr: "bg.fr"; fs: "bg.fs"; ft: "bg.ft"; fu: "bg.fu"; fv: "bg.fv"; fw: "bg.fw"; fx: "bg.fx"; fy: "bg.fy"; fz: "bg.fz"; ga: "bg.ga"; gb: "bg.gb"; gc: "bg.gc"; gd: "bg.gd"; ge: "bg.ge"; gf: "bg.gf"; gg: "bg.gg"; gh: "bg.gh"; gi: "bg.gi"; gj: "bg.gj"; gk: "bg.gk"; gl: "bg.gl"; gm: "bg.gm"; gn: "bg.gn"; go: "bg.go"; gp: "bg.gp"; gq: "bg.gq"; gr: "bg.gr"; gs: "bg.gs"; gt: "bg.gt"; gu: "bg.gu"; gv: "bg.gv"; gw: "bg.gw"; gx: "bg.gx"; gy: "bg.gy"; gz: "bg.gz"; ha: "bg.ha"; hb: "bg.hb"; hc: "bg.hc"; hd: "bg.hd"; he: "bg.he"; hf: "bg.hf"; hg: "bg.hg"; hh: "bg.hh"; hi: "bg.hi"; hj: "bg.hj"; hk: "bg.hk"; hl: "bg.hl"; hm: "bg.hm"; hn: "bg.hn"; ho: "bg.ho"; hp: "bg.hp"; hq: "bg.hq"; hr: "bg.hr"; hs: "bg.hs"; ht: "bg.ht"; hu: "bg.hu"; hv: "bg.hv"; hw: "bg.hw"; hx: "bg.hx"; hy: "bg.hy"; hz: "bg.hz"; ia: "bg.ia"; ib: "bg.ib"; ic: "bg.ic"; id: "bg.id"; ie: "bg.ie"; if: "bg.if"; ig: "bg.ig"; ih: "bg.ih"; ii: "bg.ii"; ij: "bg.ij"; ik: "bg.ik"; il: "bg.il"; im: "bg.im"; in: "bg.in"; io: "bg.io"; ip: "bg.ip"; iq: "bg.iq"; ir: "bg.ir"; is: "bg.is"; it: "bg.it"; iu: "bg.iu"; iv: "bg.iv"; iw: "bg.iw"; ix: "bg.ix"; iy: "bg.iy"; iz: "bg.iz"; ja: "bg.ja"; jb: "bg.jb"; jc: "bg.jc"; jd: "bg.jd"; je: "bg.je"; jf: "bg.jf"; jg: "bg.jg"; jh: "bg.jh"; ji: "bg.ji"; jj: "bg.jj"; jk: "bg.jk"; jl: "bg.jl"; jm: "bg.jm"; jn: "bg.jn"; jo: "bg.jo"; jp: "bg.jp"; jq: "bg.jq"; jr: "bg.jr"; js: "bg.js"; jt: "bg.jt"; ju: "bg.ju"; jv: "bg.jv"; jw: "bg.jw"; jx: "bg.jx"; jy: "bg.jy"; jz: "bg.jz"; ka: "bg.ka"; kb: "bg.kb"; kc: "bg.kc"; kd: "bg.kd"; ke: "bg.ke"; kf: "bg.kf"; kg: "bg.kg"; kh: "bg.kh"; ki: "bg.ki"; kj: "bg.kj"; kk: "bg.kk"; kl: "bg.kl"; km: "bg.km"; kn: "bg.kn"; ko: "bg.ko"; kp: "bg.kp"; kq: "bg.kq"; kr: "bg.kr"; ks: "bg.ks"; kt: "bg.kt"; ku: "bg.ku"; kv: "bg.kv"; kw: "bg.kw"; kx: "bg.kx"; ky: "bg.ky"; kz: "bg.kz"; la: "bg.la"; lb: "bg.lb"; lc: "bg.lc"; ld: "bg.ld"; le: "bg.le"; lf: "bg.lf"; lg: "bg.lg"; lh: "bg.lh"; li: "bg.li"; lj: "bg.lj"; lk: "bg.lk"; ll: "bg.ll"; lm: "bg.lm"; ln: "bg.ln"; lo: "bg.lo"; lp: "bg.lp"; lq: "bg.lq"; lr: "bg.lr"; ls: "bg.ls"; lt: "bg.lt"; lu: "bg.lu"; lv: "bg.lv"; lw: "bg.lw"; lx: "bg.lx"; ly: "bg.ly"; lz: "bg.lz"; ma: "bg.ma"; mb: "bg.mb"; mc: "bg.mc"; md: "bg.md"; me: "bg.me"; mf: "bg.mf"; mg: "bg.mg"; mh: "bg.mh"; mi: "bg.mi"; mj: "bg.mj"; mk: "bg.mk"; ml: "bg.ml"; mm: "bg.mm"; mn: "bg.mn"; mo: "bg.mo"; mp: "bg.mp"; mq: "bg.mq"; mr: "bg.mr"; ms: "bg.ms"; mt: "bg.mt"; mu: "bg.mu"; mv: "bg.mv"; mw: "bg.mw"; mx: "bg.mx"; my: "bg.my"; mz: "bg.mz"; na: "bg.na"; nb: "bg.nb"; nc: "bg.nc"; nd: "bg.nd"; ne: "bg.ne"; nf: "bg.nf"; ng: "bg.ng"; nh: "bg.nh"; ni: "bg.ni"; nj: "bg.nj"; nk: "bg.nk"; nl: "bg.nl"; nm: "bg.nm"; nn: "bg.nn"; no: "bg.no"; np: "bg.np"; nq: "bg.nq"; nr: "bg.nr"; ns: "bg.ns"; nt: "bg.nt"; nu: "bg.nu"; nv: "bg.nv"; nw: "bg.nw"; nx: "bg.nx"; ny: "bg.ny"; nz: "bg.nz"; oa: "bg.oa"; ob: "bg.ob"; oc: "bg.oc"; od: "bg.od"; oe: "bg.oe"; of: "bg.of"; og: "bg.og"; oh: "bg.oh"; oi: "bg.oi"; oj: "bg.oj"; ok: "bg.ok"; ol: "bg.ol"; om: "bg.om"; on: "bg.on"; oo: "bg.oo"; op: "bg.op"; oq: "bg.oq"; or: "bg.or"; os: "bg.os"; ot: "bg.ot"; ou: "bg.ou"; ov: "bg.ov"; ow: "bg.ow"; ox: "bg.ox"; oy: "bg.oy"; oz: "bg.oz"; pa: "bg.pa"; pb: "bg.pb"; pc: "bg.pc"; pd: "bg.pd"; pe: "bg.pe"; pf: "bg.pf"; pg: "bg.pg"; ph: "bg.ph"; pi: "bg.pi"; pj: "bg.pj"; pk: "bg.pk"; pl: "bg.pl"; pm: "bg.pm"; pn: "bg.pn"; po: "bg.po"; pp: "bg.pp"; pq: "bg.pq"; pr: "bg.pr"; ps: "bg.ps"; pt: "bg.pt"; pu: "bg.pu"; pv: "bg.pv"; pw: "bg.pw"; px: "bg.px"; py: "bg.py"; pz: "bg.pz"; qa: "bg.qa"; qb: "bg.qb"; qc: "bg.qc"; qd: "bg.qd"; qe: "bg.qe"; qf: "bg.qf"; qg: "bg.qg"; qh: "bg.qh"; qi: "bg.qi"; qj: "bg.qj"; qk: "bg.qk"; ql: "bg.ql"; qm: "bg.qm"; qn: "bg.qn"; qo: "bg.qo"; qp: "bg.qp"; qq: "bg.qq"; qr: "bg.qr"; qs: "bg.qs"; qt: "bg.qt"; qu: "bg.qu"; qv: "bg.qv"; qw: "bg.qw"; qx: "bg.qx"; qy: "bg.qy"; qz: "bg.qz"; ra: "bg.ra"; rb: "bg.rb"; rc: "bg.rc"; rd: "bg.rd"; re: "bg.re"; rf: "bg.rf"; rg: "bg.rg"; rh: "bg.rh"; ri: "bg.ri"; rj: "bg.rj"; rk: "bg.rk"; rl: "bg.rl"; rm: "bg.rm"; rn: "bg.rn"; ro: "bg.ro"; rp: "bg.rp"; rq: "bg.rq"; rr: "bg.rr"; rs: "bg.rs"; rt: "bg.rt"; ru: "bg.ru"; rv: "bg.rv"; rw: "bg.rw"; rx: "bg.rx"; ry: "bg.ry"; rz: "bg.rz"; sa: "bg.sa"; sb: "bg.sb"; sc: "bg.sc"; sd: "bg.sd"; se: "bg.se"; sf: "bg.sf"; sg: "bg.sg"; sh: "bg.sh"; si: "bg.si"; sj: "bg.sj"; sk: "bg.sk"; sl: "bg.sl"; sm: "bg.sm"; sn: "bg.sn"; so: "bg.so"; sp: "bg.sp"; sq: "bg.sq"; sr: "bg.sr"; ss: "bg.ss"; st: "bg.st"; su: "bg.su"; sv: "bg.sv"; sw: "bg.sw"; sx: "bg.sx"; sy: "bg.sy"; sz: "bg.sz"; ta: "bg.ta"; tb: "bg.tb"; tc: "bg.tc"; td: "bg.td"; te: "bg.te"; tf: "bg.tf"; tg: "bg.tg"; th: "bg.th"; ti: "bg.ti"; tj: "bg.tj"; tk: "bg.tk"; tl: "bg.tl"; tm: "bg.tm"; tn: "bg.tn"; to: "bg.to"; tp: "bg.tp"; tq: "bg.tq"; tr: "bg.tr"; ts: "bg.ts"; tt: "bg.tt"; tu: "bg.tu"; tv: "bg.tv"; tw: "bg.tw"; tx: "bg.tx"; ty: "bg.ty"; tz: "bg.tz"; ua: "bg.ua"; ub: "bg.ub"; uc: "bg.uc"; ud: "bg.ud"; ue: "bg.ue"; uf: "bg.uf"; ug: "bg.ug"; uh: "bg.uh"; ui: "bg.ui"; uj: "bg.uj"; uk: "bg.uk"; ul: "bg.ul"; um: "bg.um"; un: "bg.un"; uo: "bg.uo"; up: "bg.up"; uq: "bg.uq"; ur: "bg.ur"; us: "bg.us"; ut: "bg.ut"; uu: "bg.uu"; uv: "bg.uv"; uw: "bg.uw"; ux: "bg.ux"; uy: "bg.uy"; uz: "bg.uz"; va: "bg.va"; vb: "bg.vb"; vc: "bg.vc"; vd: "bg.vd"; ve: "bg.ve"; vf: "bg.vf"; vg: "bg.vg"; vh: "bg.vh"; vi: "bg.vi"; vj: "bg.vj"; vk: "bg.vk"; vl: "bg.vl"; vm: "bg.vm"; vn: "bg.vn"; vo: "bg.vo"; vp: "bg.vp"; vq: "bg.vq"; vr: "bg.vr"; vs: "bg.vs"; vt: "bg.vt"; vu: "bg.vu"; vv: "bg.vv"; vw: "bg.vw"; vx: "bg.vx"; vy: "bg.vy"; vz: "bg.vz"; wa: "bg.wa"; wb: "bg.wb"; wc: "bg.wc"; wd: "bg.wd"; we: "bg.we"; wf: "bg.wf"; wg: "bg.wg"; wh: "bg.wh"; wi: "bg.wi"; wj: "bg.wj"; wk: "bg.wk"; wl: "bg.wl"; wm: "bg.wm"; wn: "bg.wn"; wo: "bg.wo"; wp: "bg.wp"; wq: "bg.wq"; wr: "bg.wr"; ws: "bg.ws"; wt: "bg.wt"; wu: "bg.wu"; wv: "bg.wv"; ww: "bg.ww"; wx: "bg.wx"; wy: "bg.wy"; wz: "bg.wz"; xa: "bg.xa"; xb: "bg.xb"; xc: "bg.xc"; xd: "bg.xd"; xe: "bg.xe"; xf: "bg.xf"; xg: "bg.xg"; xh: "bg.xh"; xi: "bg.xi"; xj: "bg.xj"; xk: "bg.xk"; xl: "bg.xl"; xm: "bg.xm"; xn: "bg.xn"; xo: "bg.xo"; xp: "bg.xp"; xq: "bg.xq"; xr: "bg.xr"; xs: "bg.xs"; xt: "bg.xt"; xu: "bg.xu"; xv: "bg.xv"; xw: "bg.xw"; xx: "bg.xx"; xy: "bg.xy"; xz: "bg.xz"; ya: "bg.ya"; yb: "bg.yb"; yc: "bg.yc"; yd: "bg.yd"; ye: "bg.ye"; yf: "bg.yf"; yg: "bg.yg"; yh: "bg.yh"; yi: "bg.yi"; yj: "bg.yj"; yk: "bg.yk"; yl: "bg.yl"; ym: "bg.ym"; yn: "bg.yn"; yo: "bg.yo"; yp: "bg.yp"; yq: "bg.yq"; yr: "bg.yr"; ys: "bg.ys"; yt: "bg.yt"; yu: "bg.yu"; yv: "bg.yv"; yw: "bg.yw"; yx: "bg.yx"; yy: "bg.yy"; yz: "bg.yz"; za: "bg.za"; zb: "bg.zb"; zc: "bg.zc"; zd: "bg.zd"; ze: "bg.ze"; zf: "bg.zf"; zg: "bg.zg"; zh: "bg.zh"; zi: "bg.zi"; zj: "bg.zj"; zk: "bg.zk"; zl: "bg.zl"; zm: "bg.zm"; zn: "bg.zn"; zo: "bg.zo"; zp: "bg.zp"; zq: "bg.zq"; zr: "bg.zr"; zs: "bg.zs"; zt: "bg.zt"; zu: "bg.zu"; zv: "bg.zv"; zw: "bg.zw"; zx: "bg.zx"; zy: "bg.zy"; zz: "bg.zz"; }; bh: { aa: "bh.aa"; ab: "bh.ab"; ac: "bh.ac"; ad: "bh.ad"; ae: "bh.ae"; af: "bh.af"; ag: "bh.ag"; ah: "bh.ah"; ai: "bh.ai"; aj: "bh.aj"; ak: "bh.ak"; al: "bh.al"; am: "bh.am"; an: "bh.an"; ao: "bh.ao"; ap: "bh.ap"; aq: "bh.aq"; ar: "bh.ar"; as: "bh.as"; at: "bh.at"; au: "bh.au"; av: "bh.av"; aw: "bh.aw"; ax: "bh.ax"; ay: "bh.ay"; az: "bh.az"; ba: "bh.ba"; bb: "bh.bb"; bc: "bh.bc"; bd: "bh.bd"; be: "bh.be"; bf: "bh.bf"; bg: "bh.bg"; bh: "bh.bh"; bi: "bh.bi"; bj: "bh.bj"; bk: "bh.bk"; bl: "bh.bl"; bm: "bh.bm"; bn: "bh.bn"; bo: "bh.bo"; bp: "bh.bp"; bq: "bh.bq"; br: "bh.br"; bs: "bh.bs"; bt: "bh.bt"; bu: "bh.bu"; bv: "bh.bv"; bw: "bh.bw"; bx: "bh.bx"; by: "bh.by"; bz: "bh.bz"; ca: "bh.ca"; cb: "bh.cb"; cc: "bh.cc"; cd: "bh.cd"; ce: "bh.ce"; cf: "bh.cf"; cg: "bh.cg"; ch: "bh.ch"; ci: "bh.ci"; cj: "bh.cj"; ck: "bh.ck"; cl: "bh.cl"; cm: "bh.cm"; cn: "bh.cn"; co: "bh.co"; cp: "bh.cp"; cq: "bh.cq"; cr: "bh.cr"; cs: "bh.cs"; ct: "bh.ct"; cu: "bh.cu"; cv: "bh.cv"; cw: "bh.cw"; cx: "bh.cx"; cy: "bh.cy"; cz: "bh.cz"; da: "bh.da"; db: "bh.db"; dc: "bh.dc"; dd: "bh.dd"; de: "bh.de"; df: "bh.df"; dg: "bh.dg"; dh: "bh.dh"; di: "bh.di"; dj: "bh.dj"; dk: "bh.dk"; dl: "bh.dl"; dm: "bh.dm"; dn: "bh.dn"; do: "bh.do"; dp: "bh.dp"; dq: "bh.dq"; dr: "bh.dr"; ds: "bh.ds"; dt: "bh.dt"; du: "bh.du"; dv: "bh.dv"; dw: "bh.dw"; dx: "bh.dx"; dy: "bh.dy"; dz: "bh.dz"; ea: "bh.ea"; eb: "bh.eb"; ec: "bh.ec"; ed: "bh.ed"; ee: "bh.ee"; ef: "bh.ef"; eg: "bh.eg"; eh: "bh.eh"; ei: "bh.ei"; ej: "bh.ej"; ek: "bh.ek"; el: "bh.el"; em: "bh.em"; en: "bh.en"; eo: "bh.eo"; ep: "bh.ep"; eq: "bh.eq"; er: "bh.er"; es: "bh.es"; et: "bh.et"; eu: "bh.eu"; ev: "bh.ev"; ew: "bh.ew"; ex: "bh.ex"; ey: "bh.ey"; ez: "bh.ez"; fa: "bh.fa"; fb: "bh.fb"; fc: "bh.fc"; fd: "bh.fd"; fe: "bh.fe"; ff: "bh.ff"; fg: "bh.fg"; fh: "bh.fh"; fi: "bh.fi"; fj: "bh.fj"; fk: "bh.fk"; fl: "bh.fl"; fm: "bh.fm"; fn: "bh.fn"; fo: "bh.fo"; fp: "bh.fp"; fq: "bh.fq"; fr: "bh.fr"; fs: "bh.fs"; ft: "bh.ft"; fu: "bh.fu"; fv: "bh.fv"; fw: "bh.fw"; fx: "bh.fx"; fy: "bh.fy"; fz: "bh.fz"; ga: "bh.ga"; gb: "bh.gb"; gc: "bh.gc"; gd: "bh.gd"; ge: "bh.ge"; gf: "bh.gf"; gg: "bh.gg"; gh: "bh.gh"; gi: "bh.gi"; gj: "bh.gj"; gk: "bh.gk"; gl: "bh.gl"; gm: "bh.gm"; gn: "bh.gn"; go: "bh.go"; gp: "bh.gp"; gq: "bh.gq"; gr: "bh.gr"; gs: "bh.gs"; gt: "bh.gt"; gu: "bh.gu"; gv: "bh.gv"; gw: "bh.gw"; gx: "bh.gx"; gy: "bh.gy"; gz: "bh.gz"; ha: "bh.ha"; hb: "bh.hb"; hc: "bh.hc"; hd: "bh.hd"; he: "bh.he"; hf: "bh.hf"; hg: "bh.hg"; hh: "bh.hh"; hi: "bh.hi"; hj: "bh.hj"; hk: "bh.hk"; hl: "bh.hl"; hm: "bh.hm"; hn: "bh.hn"; ho: "bh.ho"; hp: "bh.hp"; hq: "bh.hq"; hr: "bh.hr"; hs: "bh.hs"; ht: "bh.ht"; hu: "bh.hu"; hv: "bh.hv"; hw: "bh.hw"; hx: "bh.hx"; hy: "bh.hy"; hz: "bh.hz"; ia: "bh.ia"; ib: "bh.ib"; ic: "bh.ic"; id: "bh.id"; ie: "bh.ie"; if: "bh.if"; ig: "bh.ig"; ih: "bh.ih"; ii: "bh.ii"; ij: "bh.ij"; ik: "bh.ik"; il: "bh.il"; im: "bh.im"; in: "bh.in"; io: "bh.io"; ip: "bh.ip"; iq: "bh.iq"; ir: "bh.ir"; is: "bh.is"; it: "bh.it"; iu: "bh.iu"; iv: "bh.iv"; iw: "bh.iw"; ix: "bh.ix"; iy: "bh.iy"; iz: "bh.iz"; ja: "bh.ja"; jb: "bh.jb"; jc: "bh.jc"; jd: "bh.jd"; je: "bh.je"; jf: "bh.jf"; jg: "bh.jg"; jh: "bh.jh"; ji: "bh.ji"; jj: "bh.jj"; jk: "bh.jk"; jl: "bh.jl"; jm: "bh.jm"; jn: "bh.jn"; jo: "bh.jo"; jp: "bh.jp"; jq: "bh.jq"; jr: "bh.jr"; js: "bh.js"; jt: "bh.jt"; ju: "bh.ju"; jv: "bh.jv"; jw: "bh.jw"; jx: "bh.jx"; jy: "bh.jy"; jz: "bh.jz"; ka: "bh.ka"; kb: "bh.kb"; kc: "bh.kc"; kd: "bh.kd"; ke: "bh.ke"; kf: "bh.kf"; kg: "bh.kg"; kh: "bh.kh"; ki: "bh.ki"; kj: "bh.kj"; kk: "bh.kk"; kl: "bh.kl"; km: "bh.km"; kn: "bh.kn"; ko: "bh.ko"; kp: "bh.kp"; kq: "bh.kq"; kr: "bh.kr"; ks: "bh.ks"; kt: "bh.kt"; ku: "bh.ku"; kv: "bh.kv"; kw: "bh.kw"; kx: "bh.kx"; ky: "bh.ky"; kz: "bh.kz"; la: "bh.la"; lb: "bh.lb"; lc: "bh.lc"; ld: "bh.ld"; le: "bh.le"; lf: "bh.lf"; lg: "bh.lg"; lh: "bh.lh"; li: "bh.li"; lj: "bh.lj"; lk: "bh.lk"; ll: "bh.ll"; lm: "bh.lm"; ln: "bh.ln"; lo: "bh.lo"; lp: "bh.lp"; lq: "bh.lq"; lr: "bh.lr"; ls: "bh.ls"; lt: "bh.lt"; lu: "bh.lu"; lv: "bh.lv"; lw: "bh.lw"; lx: "bh.lx"; ly: "bh.ly"; lz: "bh.lz"; ma: "bh.ma"; mb: "bh.mb"; mc: "bh.mc"; md: "bh.md"; me: "bh.me"; mf: "bh.mf"; mg: "bh.mg"; mh: "bh.mh"; mi: "bh.mi"; mj: "bh.mj"; mk: "bh.mk"; ml: "bh.ml"; mm: "bh.mm"; mn: "bh.mn"; mo: "bh.mo"; mp: "bh.mp"; mq: "bh.mq"; mr: "bh.mr"; ms: "bh.ms"; mt: "bh.mt"; mu: "bh.mu"; mv: "bh.mv"; mw: "bh.mw"; mx: "bh.mx"; my: "bh.my"; mz: "bh.mz"; na: "bh.na"; nb: "bh.nb"; nc: "bh.nc"; nd: "bh.nd"; ne: "bh.ne"; nf: "bh.nf"; ng: "bh.ng"; nh: "bh.nh"; ni: "bh.ni"; nj: "bh.nj"; nk: "bh.nk"; nl: "bh.nl"; nm: "bh.nm"; nn: "bh.nn"; no: "bh.no"; np: "bh.np"; nq: "bh.nq"; nr: "bh.nr"; ns: "bh.ns"; nt: "bh.nt"; nu: "bh.nu"; nv: "bh.nv"; nw: "bh.nw"; nx: "bh.nx"; ny: "bh.ny"; nz: "bh.nz"; oa: "bh.oa"; ob: "bh.ob"; oc: "bh.oc"; od: "bh.od"; oe: "bh.oe"; of: "bh.of"; og: "bh.og"; oh: "bh.oh"; oi: "bh.oi"; oj: "bh.oj"; ok: "bh.ok"; ol: "bh.ol"; om: "bh.om"; on: "bh.on"; oo: "bh.oo"; op: "bh.op"; oq: "bh.oq"; or: "bh.or"; os: "bh.os"; ot: "bh.ot"; ou: "bh.ou"; ov: "bh.ov"; ow: "bh.ow"; ox: "bh.ox"; oy: "bh.oy"; oz: "bh.oz"; pa: "bh.pa"; pb: "bh.pb"; pc: "bh.pc"; pd: "bh.pd"; pe: "bh.pe"; pf: "bh.pf"; pg: "bh.pg"; ph: "bh.ph"; pi: "bh.pi"; pj: "bh.pj"; pk: "bh.pk"; pl: "bh.pl"; pm: "bh.pm"; pn: "bh.pn"; po: "bh.po"; pp: "bh.pp"; pq: "bh.pq"; pr: "bh.pr"; ps: "bh.ps"; pt: "bh.pt"; pu: "bh.pu"; pv: "bh.pv"; pw: "bh.pw"; px: "bh.px"; py: "bh.py"; pz: "bh.pz"; qa: "bh.qa"; qb: "bh.qb"; qc: "bh.qc"; qd: "bh.qd"; qe: "bh.qe"; qf: "bh.qf"; qg: "bh.qg"; qh: "bh.qh"; qi: "bh.qi"; qj: "bh.qj"; qk: "bh.qk"; ql: "bh.ql"; qm: "bh.qm"; qn: "bh.qn"; qo: "bh.qo"; qp: "bh.qp"; qq: "bh.qq"; qr: "bh.qr"; qs: "bh.qs"; qt: "bh.qt"; qu: "bh.qu"; qv: "bh.qv"; qw: "bh.qw"; qx: "bh.qx"; qy: "bh.qy"; qz: "bh.qz"; ra: "bh.ra"; rb: "bh.rb"; rc: "bh.rc"; rd: "bh.rd"; re: "bh.re"; rf: "bh.rf"; rg: "bh.rg"; rh: "bh.rh"; ri: "bh.ri"; rj: "bh.rj"; rk: "bh.rk"; rl: "bh.rl"; rm: "bh.rm"; rn: "bh.rn"; ro: "bh.ro"; rp: "bh.rp"; rq: "bh.rq"; rr: "bh.rr"; rs: "bh.rs"; rt: "bh.rt"; ru: "bh.ru"; rv: "bh.rv"; rw: "bh.rw"; rx: "bh.rx"; ry: "bh.ry"; rz: "bh.rz"; sa: "bh.sa"; sb: "bh.sb"; sc: "bh.sc"; sd: "bh.sd"; se: "bh.se"; sf: "bh.sf"; sg: "bh.sg"; sh: "bh.sh"; si: "bh.si"; sj: "bh.sj"; sk: "bh.sk"; sl: "bh.sl"; sm: "bh.sm"; sn: "bh.sn"; so: "bh.so"; sp: "bh.sp"; sq: "bh.sq"; sr: "bh.sr"; ss: "bh.ss"; st: "bh.st"; su: "bh.su"; sv: "bh.sv"; sw: "bh.sw"; sx: "bh.sx"; sy: "bh.sy"; sz: "bh.sz"; ta: "bh.ta"; tb: "bh.tb"; tc: "bh.tc"; td: "bh.td"; te: "bh.te"; tf: "bh.tf"; tg: "bh.tg"; th: "bh.th"; ti: "bh.ti"; tj: "bh.tj"; tk: "bh.tk"; tl: "bh.tl"; tm: "bh.tm"; tn: "bh.tn"; to: "bh.to"; tp: "bh.tp"; tq: "bh.tq"; tr: "bh.tr"; ts: "bh.ts"; tt: "bh.tt"; tu: "bh.tu"; tv: "bh.tv"; tw: "bh.tw"; tx: "bh.tx"; ty: "bh.ty"; tz: "bh.tz"; ua: "bh.ua"; ub: "bh.ub"; uc: "bh.uc"; ud: "bh.ud"; ue: "bh.ue"; uf: "bh.uf"; ug: "bh.ug"; uh: "bh.uh"; ui: "bh.ui"; uj: "bh.uj"; uk: "bh.uk"; ul: "bh.ul"; um: "bh.um"; un: "bh.un"; uo: "bh.uo"; up: "bh.up"; uq: "bh.uq"; ur: "bh.ur"; us: "bh.us"; ut: "bh.ut"; uu: "bh.uu"; uv: "bh.uv"; uw: "bh.uw"; ux: "bh.ux"; uy: "bh.uy"; uz: "bh.uz"; va: "bh.va"; vb: "bh.vb"; vc: "bh.vc"; vd: "bh.vd"; ve: "bh.ve"; vf: "bh.vf"; vg: "bh.vg"; vh: "bh.vh"; vi: "bh.vi"; vj: "bh.vj"; vk: "bh.vk"; vl: "bh.vl"; vm: "bh.vm"; vn: "bh.vn"; vo: "bh.vo"; vp: "bh.vp"; vq: "bh.vq"; vr: "bh.vr"; vs: "bh.vs"; vt: "bh.vt"; vu: "bh.vu"; vv: "bh.vv"; vw: "bh.vw"; vx: "bh.vx"; vy: "bh.vy"; vz: "bh.vz"; wa: "bh.wa"; wb: "bh.wb"; wc: "bh.wc"; wd: "bh.wd"; we: "bh.we"; wf: "bh.wf"; wg: "bh.wg"; wh: "bh.wh"; wi: "bh.wi"; wj: "bh.wj"; wk: "bh.wk"; wl: "bh.wl"; wm: "bh.wm"; wn: "bh.wn"; wo: "bh.wo"; wp: "bh.wp"; wq: "bh.wq"; wr: "bh.wr"; ws: "bh.ws"; wt: "bh.wt"; wu: "bh.wu"; wv: "bh.wv"; ww: "bh.ww"; wx: "bh.wx"; wy: "bh.wy"; wz: "bh.wz"; xa: "bh.xa"; xb: "bh.xb"; xc: "bh.xc"; xd: "bh.xd"; xe: "bh.xe"; xf: "bh.xf"; xg: "bh.xg"; xh: "bh.xh"; xi: "bh.xi"; xj: "bh.xj"; xk: "bh.xk"; xl: "bh.xl"; xm: "bh.xm"; xn: "bh.xn"; xo: "bh.xo"; xp: "bh.xp"; xq: "bh.xq"; xr: "bh.xr"; xs: "bh.xs"; xt: "bh.xt"; xu: "bh.xu"; xv: "bh.xv"; xw: "bh.xw"; xx: "bh.xx"; xy: "bh.xy"; xz: "bh.xz"; ya: "bh.ya"; yb: "bh.yb"; yc: "bh.yc"; yd: "bh.yd"; ye: "bh.ye"; yf: "bh.yf"; yg: "bh.yg"; yh: "bh.yh"; yi: "bh.yi"; yj: "bh.yj"; yk: "bh.yk"; yl: "bh.yl"; ym: "bh.ym"; yn: "bh.yn"; yo: "bh.yo"; yp: "bh.yp"; yq: "bh.yq"; yr: "bh.yr"; ys: "bh.ys"; yt: "bh.yt"; yu: "bh.yu"; yv: "bh.yv"; yw: "bh.yw"; yx: "bh.yx"; yy: "bh.yy"; yz: "bh.yz"; za: "bh.za"; zb: "bh.zb"; zc: "bh.zc"; zd: "bh.zd"; ze: "bh.ze"; zf: "bh.zf"; zg: "bh.zg"; zh: "bh.zh"; zi: "bh.zi"; zj: "bh.zj"; zk: "bh.zk"; zl: "bh.zl"; zm: "bh.zm"; zn: "bh.zn"; zo: "bh.zo"; zp: "bh.zp"; zq: "bh.zq"; zr: "bh.zr"; zs: "bh.zs"; zt: "bh.zt"; zu: "bh.zu"; zv: "bh.zv"; zw: "bh.zw"; zx: "bh.zx"; zy: "bh.zy"; zz: "bh.zz"; }; bi: { aa: "bi.aa"; ab: "bi.ab"; ac: "bi.ac"; ad: "bi.ad"; ae: "bi.ae"; af: "bi.af"; ag: "bi.ag"; ah: "bi.ah"; ai: "bi.ai"; aj: "bi.aj"; ak: "bi.ak"; al: "bi.al"; am: "bi.am"; an: "bi.an"; ao: "bi.ao"; ap: "bi.ap"; aq: "bi.aq"; ar: "bi.ar"; as: "bi.as"; at: "bi.at"; au: "bi.au"; av: "bi.av"; aw: "bi.aw"; ax: "bi.ax"; ay: "bi.ay"; az: "bi.az"; ba: "bi.ba"; bb: "bi.bb"; bc: "bi.bc"; bd: "bi.bd"; be: "bi.be"; bf: "bi.bf"; bg: "bi.bg"; bh: "bi.bh"; bi: "bi.bi"; bj: "bi.bj"; bk: "bi.bk"; bl: "bi.bl"; bm: "bi.bm"; bn: "bi.bn"; bo: "bi.bo"; bp: "bi.bp"; bq: "bi.bq"; br: "bi.br"; bs: "bi.bs"; bt: "bi.bt"; bu: "bi.bu"; bv: "bi.bv"; bw: "bi.bw"; bx: "bi.bx"; by: "bi.by"; bz: "bi.bz"; ca: "bi.ca"; cb: "bi.cb"; cc: "bi.cc"; cd: "bi.cd"; ce: "bi.ce"; cf: "bi.cf"; cg: "bi.cg"; ch: "bi.ch"; ci: "bi.ci"; cj: "bi.cj"; ck: "bi.ck"; cl: "bi.cl"; cm: "bi.cm"; cn: "bi.cn"; co: "bi.co"; cp: "bi.cp"; cq: "bi.cq"; cr: "bi.cr"; cs: "bi.cs"; ct: "bi.ct"; cu: "bi.cu"; cv: "bi.cv"; cw: "bi.cw"; cx: "bi.cx"; cy: "bi.cy"; cz: "bi.cz"; da: "bi.da"; db: "bi.db"; dc: "bi.dc"; dd: "bi.dd"; de: "bi.de"; df: "bi.df"; dg: "bi.dg"; dh: "bi.dh"; di: "bi.di"; dj: "bi.dj"; dk: "bi.dk"; dl: "bi.dl"; dm: "bi.dm"; dn: "bi.dn"; do: "bi.do"; dp: "bi.dp"; dq: "bi.dq"; dr: "bi.dr"; ds: "bi.ds"; dt: "bi.dt"; du: "bi.du"; dv: "bi.dv"; dw: "bi.dw"; dx: "bi.dx"; dy: "bi.dy"; dz: "bi.dz"; ea: "bi.ea"; eb: "bi.eb"; ec: "bi.ec"; ed: "bi.ed"; ee: "bi.ee"; ef: "bi.ef"; eg: "bi.eg"; eh: "bi.eh"; ei: "bi.ei"; ej: "bi.ej"; ek: "bi.ek"; el: "bi.el"; em: "bi.em"; en: "bi.en"; eo: "bi.eo"; ep: "bi.ep"; eq: "bi.eq"; er: "bi.er"; es: "bi.es"; et: "bi.et"; eu: "bi.eu"; ev: "bi.ev"; ew: "bi.ew"; ex: "bi.ex"; ey: "bi.ey"; ez: "bi.ez"; fa: "bi.fa"; fb: "bi.fb"; fc: "bi.fc"; fd: "bi.fd"; fe: "bi.fe"; ff: "bi.ff"; fg: "bi.fg"; fh: "bi.fh"; fi: "bi.fi"; fj: "bi.fj"; fk: "bi.fk"; fl: "bi.fl"; fm: "bi.fm"; fn: "bi.fn"; fo: "bi.fo"; fp: "bi.fp"; fq: "bi.fq"; fr: "bi.fr"; fs: "bi.fs"; ft: "bi.ft"; fu: "bi.fu"; fv: "bi.fv"; fw: "bi.fw"; fx: "bi.fx"; fy: "bi.fy"; fz: "bi.fz"; ga: "bi.ga"; gb: "bi.gb"; gc: "bi.gc"; gd: "bi.gd"; ge: "bi.ge"; gf: "bi.gf"; gg: "bi.gg"; gh: "bi.gh"; gi: "bi.gi"; gj: "bi.gj"; gk: "bi.gk"; gl: "bi.gl"; gm: "bi.gm"; gn: "bi.gn"; go: "bi.go"; gp: "bi.gp"; gq: "bi.gq"; gr: "bi.gr"; gs: "bi.gs"; gt: "bi.gt"; gu: "bi.gu"; gv: "bi.gv"; gw: "bi.gw"; gx: "bi.gx"; gy: "bi.gy"; gz: "bi.gz"; ha: "bi.ha"; hb: "bi.hb"; hc: "bi.hc"; hd: "bi.hd"; he: "bi.he"; hf: "bi.hf"; hg: "bi.hg"; hh: "bi.hh"; hi: "bi.hi"; hj: "bi.hj"; hk: "bi.hk"; hl: "bi.hl"; hm: "bi.hm"; hn: "bi.hn"; ho: "bi.ho"; hp: "bi.hp"; hq: "bi.hq"; hr: "bi.hr"; hs: "bi.hs"; ht: "bi.ht"; hu: "bi.hu"; hv: "bi.hv"; hw: "bi.hw"; hx: "bi.hx"; hy: "bi.hy"; hz: "bi.hz"; ia: "bi.ia"; ib: "bi.ib"; ic: "bi.ic"; id: "bi.id"; ie: "bi.ie"; if: "bi.if"; ig: "bi.ig"; ih: "bi.ih"; ii: "bi.ii"; ij: "bi.ij"; ik: "bi.ik"; il: "bi.il"; im: "bi.im"; in: "bi.in"; io: "bi.io"; ip: "bi.ip"; iq: "bi.iq"; ir: "bi.ir"; is: "bi.is"; it: "bi.it"; iu: "bi.iu"; iv: "bi.iv"; iw: "bi.iw"; ix: "bi.ix"; iy: "bi.iy"; iz: "bi.iz"; ja: "bi.ja"; jb: "bi.jb"; jc: "bi.jc"; jd: "bi.jd"; je: "bi.je"; jf: "bi.jf"; jg: "bi.jg"; jh: "bi.jh"; ji: "bi.ji"; jj: "bi.jj"; jk: "bi.jk"; jl: "bi.jl"; jm: "bi.jm"; jn: "bi.jn"; jo: "bi.jo"; jp: "bi.jp"; jq: "bi.jq"; jr: "bi.jr"; js: "bi.js"; jt: "bi.jt"; ju: "bi.ju"; jv: "bi.jv"; jw: "bi.jw"; jx: "bi.jx"; jy: "bi.jy"; jz: "bi.jz"; ka: "bi.ka"; kb: "bi.kb"; kc: "bi.kc"; kd: "bi.kd"; ke: "bi.ke"; kf: "bi.kf"; kg: "bi.kg"; kh: "bi.kh"; ki: "bi.ki"; kj: "bi.kj"; kk: "bi.kk"; kl: "bi.kl"; km: "bi.km"; kn: "bi.kn"; ko: "bi.ko"; kp: "bi.kp"; kq: "bi.kq"; kr: "bi.kr"; ks: "bi.ks"; kt: "bi.kt"; ku: "bi.ku"; kv: "bi.kv"; kw: "bi.kw"; kx: "bi.kx"; ky: "bi.ky"; kz: "bi.kz"; la: "bi.la"; lb: "bi.lb"; lc: "bi.lc"; ld: "bi.ld"; le: "bi.le"; lf: "bi.lf"; lg: "bi.lg"; lh: "bi.lh"; li: "bi.li"; lj: "bi.lj"; lk: "bi.lk"; ll: "bi.ll"; lm: "bi.lm"; ln: "bi.ln"; lo: "bi.lo"; lp: "bi.lp"; lq: "bi.lq"; lr: "bi.lr"; ls: "bi.ls"; lt: "bi.lt"; lu: "bi.lu"; lv: "bi.lv"; lw: "bi.lw"; lx: "bi.lx"; ly: "bi.ly"; lz: "bi.lz"; ma: "bi.ma"; mb: "bi.mb"; mc: "bi.mc"; md: "bi.md"; me: "bi.me"; mf: "bi.mf"; mg: "bi.mg"; mh: "bi.mh"; mi: "bi.mi"; mj: "bi.mj"; mk: "bi.mk"; ml: "bi.ml"; mm: "bi.mm"; mn: "bi.mn"; mo: "bi.mo"; mp: "bi.mp"; mq: "bi.mq"; mr: "bi.mr"; ms: "bi.ms"; mt: "bi.mt"; mu: "bi.mu"; mv: "bi.mv"; mw: "bi.mw"; mx: "bi.mx"; my: "bi.my"; mz: "bi.mz"; na: "bi.na"; nb: "bi.nb"; nc: "bi.nc"; nd: "bi.nd"; ne: "bi.ne"; nf: "bi.nf"; ng: "bi.ng"; nh: "bi.nh"; ni: "bi.ni"; nj: "bi.nj"; nk: "bi.nk"; nl: "bi.nl"; nm: "bi.nm"; nn: "bi.nn"; no: "bi.no"; np: "bi.np"; nq: "bi.nq"; nr: "bi.nr"; ns: "bi.ns"; nt: "bi.nt"; nu: "bi.nu"; nv: "bi.nv"; nw: "bi.nw"; nx: "bi.nx"; ny: "bi.ny"; nz: "bi.nz"; oa: "bi.oa"; ob: "bi.ob"; oc: "bi.oc"; od: "bi.od"; oe: "bi.oe"; of: "bi.of"; og: "bi.og"; oh: "bi.oh"; oi: "bi.oi"; oj: "bi.oj"; ok: "bi.ok"; ol: "bi.ol"; om: "bi.om"; on: "bi.on"; oo: "bi.oo"; op: "bi.op"; oq: "bi.oq"; or: "bi.or"; os: "bi.os"; ot: "bi.ot"; ou: "bi.ou"; ov: "bi.ov"; ow: "bi.ow"; ox: "bi.ox"; oy: "bi.oy"; oz: "bi.oz"; pa: "bi.pa"; pb: "bi.pb"; pc: "bi.pc"; pd: "bi.pd"; pe: "bi.pe"; pf: "bi.pf"; pg: "bi.pg"; ph: "bi.ph"; pi: "bi.pi"; pj: "bi.pj"; pk: "bi.pk"; pl: "bi.pl"; pm: "bi.pm"; pn: "bi.pn"; po: "bi.po"; pp: "bi.pp"; pq: "bi.pq"; pr: "bi.pr"; ps: "bi.ps"; pt: "bi.pt"; pu: "bi.pu"; pv: "bi.pv"; pw: "bi.pw"; px: "bi.px"; py: "bi.py"; pz: "bi.pz"; qa: "bi.qa"; qb: "bi.qb"; qc: "bi.qc"; qd: "bi.qd"; qe: "bi.qe"; qf: "bi.qf"; qg: "bi.qg"; qh: "bi.qh"; qi: "bi.qi"; qj: "bi.qj"; qk: "bi.qk"; ql: "bi.ql"; qm: "bi.qm"; qn: "bi.qn"; qo: "bi.qo"; qp: "bi.qp"; qq: "bi.qq"; qr: "bi.qr"; qs: "bi.qs"; qt: "bi.qt"; qu: "bi.qu"; qv: "bi.qv"; qw: "bi.qw"; qx: "bi.qx"; qy: "bi.qy"; qz: "bi.qz"; ra: "bi.ra"; rb: "bi.rb"; rc: "bi.rc"; rd: "bi.rd"; re: "bi.re"; rf: "bi.rf"; rg: "bi.rg"; rh: "bi.rh"; ri: "bi.ri"; rj: "bi.rj"; rk: "bi.rk"; rl: "bi.rl"; rm: "bi.rm"; rn: "bi.rn"; ro: "bi.ro"; rp: "bi.rp"; rq: "bi.rq"; rr: "bi.rr"; rs: "bi.rs"; rt: "bi.rt"; ru: "bi.ru"; rv: "bi.rv"; rw: "bi.rw"; rx: "bi.rx"; ry: "bi.ry"; rz: "bi.rz"; sa: "bi.sa"; sb: "bi.sb"; sc: "bi.sc"; sd: "bi.sd"; se: "bi.se"; sf: "bi.sf"; sg: "bi.sg"; sh: "bi.sh"; si: "bi.si"; sj: "bi.sj"; sk: "bi.sk"; sl: "bi.sl"; sm: "bi.sm"; sn: "bi.sn"; so: "bi.so"; sp: "bi.sp"; sq: "bi.sq"; sr: "bi.sr"; ss: "bi.ss"; st: "bi.st"; su: "bi.su"; sv: "bi.sv"; sw: "bi.sw"; sx: "bi.sx"; sy: "bi.sy"; sz: "bi.sz"; ta: "bi.ta"; tb: "bi.tb"; tc: "bi.tc"; td: "bi.td"; te: "bi.te"; tf: "bi.tf"; tg: "bi.tg"; th: "bi.th"; ti: "bi.ti"; tj: "bi.tj"; tk: "bi.tk"; tl: "bi.tl"; tm: "bi.tm"; tn: "bi.tn"; to: "bi.to"; tp: "bi.tp"; tq: "bi.tq"; tr: "bi.tr"; ts: "bi.ts"; tt: "bi.tt"; tu: "bi.tu"; tv: "bi.tv"; tw: "bi.tw"; tx: "bi.tx"; ty: "bi.ty"; tz: "bi.tz"; ua: "bi.ua"; ub: "bi.ub"; uc: "bi.uc"; ud: "bi.ud"; ue: "bi.ue"; uf: "bi.uf"; ug: "bi.ug"; uh: "bi.uh"; ui: "bi.ui"; uj: "bi.uj"; uk: "bi.uk"; ul: "bi.ul"; um: "bi.um"; un: "bi.un"; uo: "bi.uo"; up: "bi.up"; uq: "bi.uq"; ur: "bi.ur"; us: "bi.us"; ut: "bi.ut"; uu: "bi.uu"; uv: "bi.uv"; uw: "bi.uw"; ux: "bi.ux"; uy: "bi.uy"; uz: "bi.uz"; va: "bi.va"; vb: "bi.vb"; vc: "bi.vc"; vd: "bi.vd"; ve: "bi.ve"; vf: "bi.vf"; vg: "bi.vg"; vh: "bi.vh"; vi: "bi.vi"; vj: "bi.vj"; vk: "bi.vk"; vl: "bi.vl"; vm: "bi.vm"; vn: "bi.vn"; vo: "bi.vo"; vp: "bi.vp"; vq: "bi.vq"; vr: "bi.vr"; vs: "bi.vs"; vt: "bi.vt"; vu: "bi.vu"; vv: "bi.vv"; vw: "bi.vw"; vx: "bi.vx"; vy: "bi.vy"; vz: "bi.vz"; wa: "bi.wa"; wb: "bi.wb"; wc: "bi.wc"; wd: "bi.wd"; we: "bi.we"; wf: "bi.wf"; wg: "bi.wg"; wh: "bi.wh"; wi: "bi.wi"; wj: "bi.wj"; wk: "bi.wk"; wl: "bi.wl"; wm: "bi.wm"; wn: "bi.wn"; wo: "bi.wo"; wp: "bi.wp"; wq: "bi.wq"; wr: "bi.wr"; ws: "bi.ws"; wt: "bi.wt"; wu: "bi.wu"; wv: "bi.wv"; ww: "bi.ww"; wx: "bi.wx"; wy: "bi.wy"; wz: "bi.wz"; xa: "bi.xa"; xb: "bi.xb"; xc: "bi.xc"; xd: "bi.xd"; xe: "bi.xe"; xf: "bi.xf"; xg: "bi.xg"; xh: "bi.xh"; xi: "bi.xi"; xj: "bi.xj"; xk: "bi.xk"; xl: "bi.xl"; xm: "bi.xm"; xn: "bi.xn"; xo: "bi.xo"; xp: "bi.xp"; xq: "bi.xq"; xr: "bi.xr"; xs: "bi.xs"; xt: "bi.xt"; xu: "bi.xu"; xv: "bi.xv"; xw: "bi.xw"; xx: "bi.xx"; xy: "bi.xy"; xz: "bi.xz"; ya: "bi.ya"; yb: "bi.yb"; yc: "bi.yc"; yd: "bi.yd"; ye: "bi.ye"; yf: "bi.yf"; yg: "bi.yg"; yh: "bi.yh"; yi: "bi.yi"; yj: "bi.yj"; yk: "bi.yk"; yl: "bi.yl"; ym: "bi.ym"; yn: "bi.yn"; yo: "bi.yo"; yp: "bi.yp"; yq: "bi.yq"; yr: "bi.yr"; ys: "bi.ys"; yt: "bi.yt"; yu: "bi.yu"; yv: "bi.yv"; yw: "bi.yw"; yx: "bi.yx"; yy: "bi.yy"; yz: "bi.yz"; za: "bi.za"; zb: "bi.zb"; zc: "bi.zc"; zd: "bi.zd"; ze: "bi.ze"; zf: "bi.zf"; zg: "bi.zg"; zh: "bi.zh"; zi: "bi.zi"; zj: "bi.zj"; zk: "bi.zk"; zl: "bi.zl"; zm: "bi.zm"; zn: "bi.zn"; zo: "bi.zo"; zp: "bi.zp"; zq: "bi.zq"; zr: "bi.zr"; zs: "bi.zs"; zt: "bi.zt"; zu: "bi.zu"; zv: "bi.zv"; zw: "bi.zw"; zx: "bi.zx"; zy: "bi.zy"; zz: "bi.zz"; }; bj: { aa: "bj.aa"; ab: "bj.ab"; ac: "bj.ac"; ad: "bj.ad"; ae: "bj.ae"; af: "bj.af"; ag: "bj.ag"; ah: "bj.ah"; ai: "bj.ai"; aj: "bj.aj"; ak: "bj.ak"; al: "bj.al"; am: "bj.am"; an: "bj.an"; ao: "bj.ao"; ap: "bj.ap"; aq: "bj.aq"; ar: "bj.ar"; as: "bj.as"; at: "bj.at"; au: "bj.au"; av: "bj.av"; aw: "bj.aw"; ax: "bj.ax"; ay: "bj.ay"; az: "bj.az"; ba: "bj.ba"; bb: "bj.bb"; bc: "bj.bc"; bd: "bj.bd"; be: "bj.be"; bf: "bj.bf"; bg: "bj.bg"; bh: "bj.bh"; bi: "bj.bi"; bj: "bj.bj"; bk: "bj.bk"; bl: "bj.bl"; bm: "bj.bm"; bn: "bj.bn"; bo: "bj.bo"; bp: "bj.bp"; bq: "bj.bq"; br: "bj.br"; bs: "bj.bs"; bt: "bj.bt"; bu: "bj.bu"; bv: "bj.bv"; bw: "bj.bw"; bx: "bj.bx"; by: "bj.by"; bz: "bj.bz"; ca: "bj.ca"; cb: "bj.cb"; cc: "bj.cc"; cd: "bj.cd"; ce: "bj.ce"; cf: "bj.cf"; cg: "bj.cg"; ch: "bj.ch"; ci: "bj.ci"; cj: "bj.cj"; ck: "bj.ck"; cl: "bj.cl"; cm: "bj.cm"; cn: "bj.cn"; co: "bj.co"; cp: "bj.cp"; cq: "bj.cq"; cr: "bj.cr"; cs: "bj.cs"; ct: "bj.ct"; cu: "bj.cu"; cv: "bj.cv"; cw: "bj.cw"; cx: "bj.cx"; cy: "bj.cy"; cz: "bj.cz"; da: "bj.da"; db: "bj.db"; dc: "bj.dc"; dd: "bj.dd"; de: "bj.de"; df: "bj.df"; dg: "bj.dg"; dh: "bj.dh"; di: "bj.di"; dj: "bj.dj"; dk: "bj.dk"; dl: "bj.dl"; dm: "bj.dm"; dn: "bj.dn"; do: "bj.do"; dp: "bj.dp"; dq: "bj.dq"; dr: "bj.dr"; ds: "bj.ds"; dt: "bj.dt"; du: "bj.du"; dv: "bj.dv"; dw: "bj.dw"; dx: "bj.dx"; dy: "bj.dy"; dz: "bj.dz"; ea: "bj.ea"; eb: "bj.eb"; ec: "bj.ec"; ed: "bj.ed"; ee: "bj.ee"; ef: "bj.ef"; eg: "bj.eg"; eh: "bj.eh"; ei: "bj.ei"; ej: "bj.ej"; ek: "bj.ek"; el: "bj.el"; em: "bj.em"; en: "bj.en"; eo: "bj.eo"; ep: "bj.ep"; eq: "bj.eq"; er: "bj.er"; es: "bj.es"; et: "bj.et"; eu: "bj.eu"; ev: "bj.ev"; ew: "bj.ew"; ex: "bj.ex"; ey: "bj.ey"; ez: "bj.ez"; fa: "bj.fa"; fb: "bj.fb"; fc: "bj.fc"; fd: "bj.fd"; fe: "bj.fe"; ff: "bj.ff"; fg: "bj.fg"; fh: "bj.fh"; fi: "bj.fi"; fj: "bj.fj"; fk: "bj.fk"; fl: "bj.fl"; fm: "bj.fm"; fn: "bj.fn"; fo: "bj.fo"; fp: "bj.fp"; fq: "bj.fq"; fr: "bj.fr"; fs: "bj.fs"; ft: "bj.ft"; fu: "bj.fu"; fv: "bj.fv"; fw: "bj.fw"; fx: "bj.fx"; fy: "bj.fy"; fz: "bj.fz"; ga: "bj.ga"; gb: "bj.gb"; gc: "bj.gc"; gd: "bj.gd"; ge: "bj.ge"; gf: "bj.gf"; gg: "bj.gg"; gh: "bj.gh"; gi: "bj.gi"; gj: "bj.gj"; gk: "bj.gk"; gl: "bj.gl"; gm: "bj.gm"; gn: "bj.gn"; go: "bj.go"; gp: "bj.gp"; gq: "bj.gq"; gr: "bj.gr"; gs: "bj.gs"; gt: "bj.gt"; gu: "bj.gu"; gv: "bj.gv"; gw: "bj.gw"; gx: "bj.gx"; gy: "bj.gy"; gz: "bj.gz"; ha: "bj.ha"; hb: "bj.hb"; hc: "bj.hc"; hd: "bj.hd"; he: "bj.he"; hf: "bj.hf"; hg: "bj.hg"; hh: "bj.hh"; hi: "bj.hi"; hj: "bj.hj"; hk: "bj.hk"; hl: "bj.hl"; hm: "bj.hm"; hn: "bj.hn"; ho: "bj.ho"; hp: "bj.hp"; hq: "bj.hq"; hr: "bj.hr"; hs: "bj.hs"; ht: "bj.ht"; hu: "bj.hu"; hv: "bj.hv"; hw: "bj.hw"; hx: "bj.hx"; hy: "bj.hy"; hz: "bj.hz"; ia: "bj.ia"; ib: "bj.ib"; ic: "bj.ic"; id: "bj.id"; ie: "bj.ie"; if: "bj.if"; ig: "bj.ig"; ih: "bj.ih"; ii: "bj.ii"; ij: "bj.ij"; ik: "bj.ik"; il: "bj.il"; im: "bj.im"; in: "bj.in"; io: "bj.io"; ip: "bj.ip"; iq: "bj.iq"; ir: "bj.ir"; is: "bj.is"; it: "bj.it"; iu: "bj.iu"; iv: "bj.iv"; iw: "bj.iw"; ix: "bj.ix"; iy: "bj.iy"; iz: "bj.iz"; ja: "bj.ja"; jb: "bj.jb"; jc: "bj.jc"; jd: "bj.jd"; je: "bj.je"; jf: "bj.jf"; jg: "bj.jg"; jh: "bj.jh"; ji: "bj.ji"; jj: "bj.jj"; jk: "bj.jk"; jl: "bj.jl"; jm: "bj.jm"; jn: "bj.jn"; jo: "bj.jo"; jp: "bj.jp"; jq: "bj.jq"; jr: "bj.jr"; js: "bj.js"; jt: "bj.jt"; ju: "bj.ju"; jv: "bj.jv"; jw: "bj.jw"; jx: "bj.jx"; jy: "bj.jy"; jz: "bj.jz"; ka: "bj.ka"; kb: "bj.kb"; kc: "bj.kc"; kd: "bj.kd"; ke: "bj.ke"; kf: "bj.kf"; kg: "bj.kg"; kh: "bj.kh"; ki: "bj.ki"; kj: "bj.kj"; kk: "bj.kk"; kl: "bj.kl"; km: "bj.km"; kn: "bj.kn"; ko: "bj.ko"; kp: "bj.kp"; kq: "bj.kq"; kr: "bj.kr"; ks: "bj.ks"; kt: "bj.kt"; ku: "bj.ku"; kv: "bj.kv"; kw: "bj.kw"; kx: "bj.kx"; ky: "bj.ky"; kz: "bj.kz"; la: "bj.la"; lb: "bj.lb"; lc: "bj.lc"; ld: "bj.ld"; le: "bj.le"; lf: "bj.lf"; lg: "bj.lg"; lh: "bj.lh"; li: "bj.li"; lj: "bj.lj"; lk: "bj.lk"; ll: "bj.ll"; lm: "bj.lm"; ln: "bj.ln"; lo: "bj.lo"; lp: "bj.lp"; lq: "bj.lq"; lr: "bj.lr"; ls: "bj.ls"; lt: "bj.lt"; lu: "bj.lu"; lv: "bj.lv"; lw: "bj.lw"; lx: "bj.lx"; ly: "bj.ly"; lz: "bj.lz"; ma: "bj.ma"; mb: "bj.mb"; mc: "bj.mc"; md: "bj.md"; me: "bj.me"; mf: "bj.mf"; mg: "bj.mg"; mh: "bj.mh"; mi: "bj.mi"; mj: "bj.mj"; mk: "bj.mk"; ml: "bj.ml"; mm: "bj.mm"; mn: "bj.mn"; mo: "bj.mo"; mp: "bj.mp"; mq: "bj.mq"; mr: "bj.mr"; ms: "bj.ms"; mt: "bj.mt"; mu: "bj.mu"; mv: "bj.mv"; mw: "bj.mw"; mx: "bj.mx"; my: "bj.my"; mz: "bj.mz"; na: "bj.na"; nb: "bj.nb"; nc: "bj.nc"; nd: "bj.nd"; ne: "bj.ne"; nf: "bj.nf"; ng: "bj.ng"; nh: "bj.nh"; ni: "bj.ni"; nj: "bj.nj"; nk: "bj.nk"; nl: "bj.nl"; nm: "bj.nm"; nn: "bj.nn"; no: "bj.no"; np: "bj.np"; nq: "bj.nq"; nr: "bj.nr"; ns: "bj.ns"; nt: "bj.nt"; nu: "bj.nu"; nv: "bj.nv"; nw: "bj.nw"; nx: "bj.nx"; ny: "bj.ny"; nz: "bj.nz"; oa: "bj.oa"; ob: "bj.ob"; oc: "bj.oc"; od: "bj.od"; oe: "bj.oe"; of: "bj.of"; og: "bj.og"; oh: "bj.oh"; oi: "bj.oi"; oj: "bj.oj"; ok: "bj.ok"; ol: "bj.ol"; om: "bj.om"; on: "bj.on"; oo: "bj.oo"; op: "bj.op"; oq: "bj.oq"; or: "bj.or"; os: "bj.os"; ot: "bj.ot"; ou: "bj.ou"; ov: "bj.ov"; ow: "bj.ow"; ox: "bj.ox"; oy: "bj.oy"; oz: "bj.oz"; pa: "bj.pa"; pb: "bj.pb"; pc: "bj.pc"; pd: "bj.pd"; pe: "bj.pe"; pf: "bj.pf"; pg: "bj.pg"; ph: "bj.ph"; pi: "bj.pi"; pj: "bj.pj"; pk: "bj.pk"; pl: "bj.pl"; pm: "bj.pm"; pn: "bj.pn"; po: "bj.po"; pp: "bj.pp"; pq: "bj.pq"; pr: "bj.pr"; ps: "bj.ps"; pt: "bj.pt"; pu: "bj.pu"; pv: "bj.pv"; pw: "bj.pw"; px: "bj.px"; py: "bj.py"; pz: "bj.pz"; qa: "bj.qa"; qb: "bj.qb"; qc: "bj.qc"; qd: "bj.qd"; qe: "bj.qe"; qf: "bj.qf"; qg: "bj.qg"; qh: "bj.qh"; qi: "bj.qi"; qj: "bj.qj"; qk: "bj.qk"; ql: "bj.ql"; qm: "bj.qm"; qn: "bj.qn"; qo: "bj.qo"; qp: "bj.qp"; qq: "bj.qq"; qr: "bj.qr"; qs: "bj.qs"; qt: "bj.qt"; qu: "bj.qu"; qv: "bj.qv"; qw: "bj.qw"; qx: "bj.qx"; qy: "bj.qy"; qz: "bj.qz"; ra: "bj.ra"; rb: "bj.rb"; rc: "bj.rc"; rd: "bj.rd"; re: "bj.re"; rf: "bj.rf"; rg: "bj.rg"; rh: "bj.rh"; ri: "bj.ri"; rj: "bj.rj"; rk: "bj.rk"; rl: "bj.rl"; rm: "bj.rm"; rn: "bj.rn"; ro: "bj.ro"; rp: "bj.rp"; rq: "bj.rq"; rr: "bj.rr"; rs: "bj.rs"; rt: "bj.rt"; ru: "bj.ru"; rv: "bj.rv"; rw: "bj.rw"; rx: "bj.rx"; ry: "bj.ry"; rz: "bj.rz"; sa: "bj.sa"; sb: "bj.sb"; sc: "bj.sc"; sd: "bj.sd"; se: "bj.se"; sf: "bj.sf"; sg: "bj.sg"; sh: "bj.sh"; si: "bj.si"; sj: "bj.sj"; sk: "bj.sk"; sl: "bj.sl"; sm: "bj.sm"; sn: "bj.sn"; so: "bj.so"; sp: "bj.sp"; sq: "bj.sq"; sr: "bj.sr"; ss: "bj.ss"; st: "bj.st"; su: "bj.su"; sv: "bj.sv"; sw: "bj.sw"; sx: "bj.sx"; sy: "bj.sy"; sz: "bj.sz"; ta: "bj.ta"; tb: "bj.tb"; tc: "bj.tc"; td: "bj.td"; te: "bj.te"; tf: "bj.tf"; tg: "bj.tg"; th: "bj.th"; ti: "bj.ti"; tj: "bj.tj"; tk: "bj.tk"; tl: "bj.tl"; tm: "bj.tm"; tn: "bj.tn"; to: "bj.to"; tp: "bj.tp"; tq: "bj.tq"; tr: "bj.tr"; ts: "bj.ts"; tt: "bj.tt"; tu: "bj.tu"; tv: "bj.tv"; tw: "bj.tw"; tx: "bj.tx"; ty: "bj.ty"; tz: "bj.tz"; ua: "bj.ua"; ub: "bj.ub"; uc: "bj.uc"; ud: "bj.ud"; ue: "bj.ue"; uf: "bj.uf"; ug: "bj.ug"; uh: "bj.uh"; ui: "bj.ui"; uj: "bj.uj"; uk: "bj.uk"; ul: "bj.ul"; um: "bj.um"; un: "bj.un"; uo: "bj.uo"; up: "bj.up"; uq: "bj.uq"; ur: "bj.ur"; us: "bj.us"; ut: "bj.ut"; uu: "bj.uu"; uv: "bj.uv"; uw: "bj.uw"; ux: "bj.ux"; uy: "bj.uy"; uz: "bj.uz"; va: "bj.va"; vb: "bj.vb"; vc: "bj.vc"; vd: "bj.vd"; ve: "bj.ve"; vf: "bj.vf"; vg: "bj.vg"; vh: "bj.vh"; vi: "bj.vi"; vj: "bj.vj"; vk: "bj.vk"; vl: "bj.vl"; vm: "bj.vm"; vn: "bj.vn"; vo: "bj.vo"; vp: "bj.vp"; vq: "bj.vq"; vr: "bj.vr"; vs: "bj.vs"; vt: "bj.vt"; vu: "bj.vu"; vv: "bj.vv"; vw: "bj.vw"; vx: "bj.vx"; vy: "bj.vy"; vz: "bj.vz"; wa: "bj.wa"; wb: "bj.wb"; wc: "bj.wc"; wd: "bj.wd"; we: "bj.we"; wf: "bj.wf"; wg: "bj.wg"; wh: "bj.wh"; wi: "bj.wi"; wj: "bj.wj"; wk: "bj.wk"; wl: "bj.wl"; wm: "bj.wm"; wn: "bj.wn"; wo: "bj.wo"; wp: "bj.wp"; wq: "bj.wq"; wr: "bj.wr"; ws: "bj.ws"; wt: "bj.wt"; wu: "bj.wu"; wv: "bj.wv"; ww: "bj.ww"; wx: "bj.wx"; wy: "bj.wy"; wz: "bj.wz"; xa: "bj.xa"; xb: "bj.xb"; xc: "bj.xc"; xd: "bj.xd"; xe: "bj.xe"; xf: "bj.xf"; xg: "bj.xg"; xh: "bj.xh"; xi: "bj.xi"; xj: "bj.xj"; xk: "bj.xk"; xl: "bj.xl"; xm: "bj.xm"; xn: "bj.xn"; xo: "bj.xo"; xp: "bj.xp"; xq: "bj.xq"; xr: "bj.xr"; xs: "bj.xs"; xt: "bj.xt"; xu: "bj.xu"; xv: "bj.xv"; xw: "bj.xw"; xx: "bj.xx"; xy: "bj.xy"; xz: "bj.xz"; ya: "bj.ya"; yb: "bj.yb"; yc: "bj.yc"; yd: "bj.yd"; ye: "bj.ye"; yf: "bj.yf"; yg: "bj.yg"; yh: "bj.yh"; yi: "bj.yi"; yj: "bj.yj"; yk: "bj.yk"; yl: "bj.yl"; ym: "bj.ym"; yn: "bj.yn"; yo: "bj.yo"; yp: "bj.yp"; yq: "bj.yq"; yr: "bj.yr"; ys: "bj.ys"; yt: "bj.yt"; yu: "bj.yu"; yv: "bj.yv"; yw: "bj.yw"; yx: "bj.yx"; yy: "bj.yy"; yz: "bj.yz"; za: "bj.za"; zb: "bj.zb"; zc: "bj.zc"; zd: "bj.zd"; ze: "bj.ze"; zf: "bj.zf"; zg: "bj.zg"; zh: "bj.zh"; zi: "bj.zi"; zj: "bj.zj"; zk: "bj.zk"; zl: "bj.zl"; zm: "bj.zm"; zn: "bj.zn"; zo: "bj.zo"; zp: "bj.zp"; zq: "bj.zq"; zr: "bj.zr"; zs: "bj.zs"; zt: "bj.zt"; zu: "bj.zu"; zv: "bj.zv"; zw: "bj.zw"; zx: "bj.zx"; zy: "bj.zy"; zz: "bj.zz"; }; bk: { aa: "bk.aa"; ab: "bk.ab"; ac: "bk.ac"; ad: "bk.ad"; ae: "bk.ae"; af: "bk.af"; ag: "bk.ag"; ah: "bk.ah"; ai: "bk.ai"; aj: "bk.aj"; ak: "bk.ak"; al: "bk.al"; am: "bk.am"; an: "bk.an"; ao: "bk.ao"; ap: "bk.ap"; aq: "bk.aq"; ar: "bk.ar"; as: "bk.as"; at: "bk.at"; au: "bk.au"; av: "bk.av"; aw: "bk.aw"; ax: "bk.ax"; ay: "bk.ay"; az: "bk.az"; ba: "bk.ba"; bb: "bk.bb"; bc: "bk.bc"; bd: "bk.bd"; be: "bk.be"; bf: "bk.bf"; bg: "bk.bg"; bh: "bk.bh"; bi: "bk.bi"; bj: "bk.bj"; bk: "bk.bk"; bl: "bk.bl"; bm: "bk.bm"; bn: "bk.bn"; bo: "bk.bo"; bp: "bk.bp"; bq: "bk.bq"; br: "bk.br"; bs: "bk.bs"; bt: "bk.bt"; bu: "bk.bu"; bv: "bk.bv"; bw: "bk.bw"; bx: "bk.bx"; by: "bk.by"; bz: "bk.bz"; ca: "bk.ca"; cb: "bk.cb"; cc: "bk.cc"; cd: "bk.cd"; ce: "bk.ce"; cf: "bk.cf"; cg: "bk.cg"; ch: "bk.ch"; ci: "bk.ci"; cj: "bk.cj"; ck: "bk.ck"; cl: "bk.cl"; cm: "bk.cm"; cn: "bk.cn"; co: "bk.co"; cp: "bk.cp"; cq: "bk.cq"; cr: "bk.cr"; cs: "bk.cs"; ct: "bk.ct"; cu: "bk.cu"; cv: "bk.cv"; cw: "bk.cw"; cx: "bk.cx"; cy: "bk.cy"; cz: "bk.cz"; da: "bk.da"; db: "bk.db"; dc: "bk.dc"; dd: "bk.dd"; de: "bk.de"; df: "bk.df"; dg: "bk.dg"; dh: "bk.dh"; di: "bk.di"; dj: "bk.dj"; dk: "bk.dk"; dl: "bk.dl"; dm: "bk.dm"; dn: "bk.dn"; do: "bk.do"; dp: "bk.dp"; dq: "bk.dq"; dr: "bk.dr"; ds: "bk.ds"; dt: "bk.dt"; du: "bk.du"; dv: "bk.dv"; dw: "bk.dw"; dx: "bk.dx"; dy: "bk.dy"; dz: "bk.dz"; ea: "bk.ea"; eb: "bk.eb"; ec: "bk.ec"; ed: "bk.ed"; ee: "bk.ee"; ef: "bk.ef"; eg: "bk.eg"; eh: "bk.eh"; ei: "bk.ei"; ej: "bk.ej"; ek: "bk.ek"; el: "bk.el"; em: "bk.em"; en: "bk.en"; eo: "bk.eo"; ep: "bk.ep"; eq: "bk.eq"; er: "bk.er"; es: "bk.es"; et: "bk.et"; eu: "bk.eu"; ev: "bk.ev"; ew: "bk.ew"; ex: "bk.ex"; ey: "bk.ey"; ez: "bk.ez"; fa: "bk.fa"; fb: "bk.fb"; fc: "bk.fc"; fd: "bk.fd"; fe: "bk.fe"; ff: "bk.ff"; fg: "bk.fg"; fh: "bk.fh"; fi: "bk.fi"; fj: "bk.fj"; fk: "bk.fk"; fl: "bk.fl"; fm: "bk.fm"; fn: "bk.fn"; fo: "bk.fo"; fp: "bk.fp"; fq: "bk.fq"; fr: "bk.fr"; fs: "bk.fs"; ft: "bk.ft"; fu: "bk.fu"; fv: "bk.fv"; fw: "bk.fw"; fx: "bk.fx"; fy: "bk.fy"; fz: "bk.fz"; ga: "bk.ga"; gb: "bk.gb"; gc: "bk.gc"; gd: "bk.gd"; ge: "bk.ge"; gf: "bk.gf"; gg: "bk.gg"; gh: "bk.gh"; gi: "bk.gi"; gj: "bk.gj"; gk: "bk.gk"; gl: "bk.gl"; gm: "bk.gm"; gn: "bk.gn"; go: "bk.go"; gp: "bk.gp"; gq: "bk.gq"; gr: "bk.gr"; gs: "bk.gs"; gt: "bk.gt"; gu: "bk.gu"; gv: "bk.gv"; gw: "bk.gw"; gx: "bk.gx"; gy: "bk.gy"; gz: "bk.gz"; ha: "bk.ha"; hb: "bk.hb"; hc: "bk.hc"; hd: "bk.hd"; he: "bk.he"; hf: "bk.hf"; hg: "bk.hg"; hh: "bk.hh"; hi: "bk.hi"; hj: "bk.hj"; hk: "bk.hk"; hl: "bk.hl"; hm: "bk.hm"; hn: "bk.hn"; ho: "bk.ho"; hp: "bk.hp"; hq: "bk.hq"; hr: "bk.hr"; hs: "bk.hs"; ht: "bk.ht"; hu: "bk.hu"; hv: "bk.hv"; hw: "bk.hw"; hx: "bk.hx"; hy: "bk.hy"; hz: "bk.hz"; ia: "bk.ia"; ib: "bk.ib"; ic: "bk.ic"; id: "bk.id"; ie: "bk.ie"; if: "bk.if"; ig: "bk.ig"; ih: "bk.ih"; ii: "bk.ii"; ij: "bk.ij"; ik: "bk.ik"; il: "bk.il"; im: "bk.im"; in: "bk.in"; io: "bk.io"; ip: "bk.ip"; iq: "bk.iq"; ir: "bk.ir"; is: "bk.is"; it: "bk.it"; iu: "bk.iu"; iv: "bk.iv"; iw: "bk.iw"; ix: "bk.ix"; iy: "bk.iy"; iz: "bk.iz"; ja: "bk.ja"; jb: "bk.jb"; jc: "bk.jc"; jd: "bk.jd"; je: "bk.je"; jf: "bk.jf"; jg: "bk.jg"; jh: "bk.jh"; ji: "bk.ji"; jj: "bk.jj"; jk: "bk.jk"; jl: "bk.jl"; jm: "bk.jm"; jn: "bk.jn"; jo: "bk.jo"; jp: "bk.jp"; jq: "bk.jq"; jr: "bk.jr"; js: "bk.js"; jt: "bk.jt"; ju: "bk.ju"; jv: "bk.jv"; jw: "bk.jw"; jx: "bk.jx"; jy: "bk.jy"; jz: "bk.jz"; ka: "bk.ka"; kb: "bk.kb"; kc: "bk.kc"; kd: "bk.kd"; ke: "bk.ke"; kf: "bk.kf"; kg: "bk.kg"; kh: "bk.kh"; ki: "bk.ki"; kj: "bk.kj"; kk: "bk.kk"; kl: "bk.kl"; km: "bk.km"; kn: "bk.kn"; ko: "bk.ko"; kp: "bk.kp"; kq: "bk.kq"; kr: "bk.kr"; ks: "bk.ks"; kt: "bk.kt"; ku: "bk.ku"; kv: "bk.kv"; kw: "bk.kw"; kx: "bk.kx"; ky: "bk.ky"; kz: "bk.kz"; la: "bk.la"; lb: "bk.lb"; lc: "bk.lc"; ld: "bk.ld"; le: "bk.le"; lf: "bk.lf"; lg: "bk.lg"; lh: "bk.lh"; li: "bk.li"; lj: "bk.lj"; lk: "bk.lk"; ll: "bk.ll"; lm: "bk.lm"; ln: "bk.ln"; lo: "bk.lo"; lp: "bk.lp"; lq: "bk.lq"; lr: "bk.lr"; ls: "bk.ls"; lt: "bk.lt"; lu: "bk.lu"; lv: "bk.lv"; lw: "bk.lw"; lx: "bk.lx"; ly: "bk.ly"; lz: "bk.lz"; ma: "bk.ma"; mb: "bk.mb"; mc: "bk.mc"; md: "bk.md"; me: "bk.me"; mf: "bk.mf"; mg: "bk.mg"; mh: "bk.mh"; mi: "bk.mi"; mj: "bk.mj"; mk: "bk.mk"; ml: "bk.ml"; mm: "bk.mm"; mn: "bk.mn"; mo: "bk.mo"; mp: "bk.mp"; mq: "bk.mq"; mr: "bk.mr"; ms: "bk.ms"; mt: "bk.mt"; mu: "bk.mu"; mv: "bk.mv"; mw: "bk.mw"; mx: "bk.mx"; my: "bk.my"; mz: "bk.mz"; na: "bk.na"; nb: "bk.nb"; nc: "bk.nc"; nd: "bk.nd"; ne: "bk.ne"; nf: "bk.nf"; ng: "bk.ng"; nh: "bk.nh"; ni: "bk.ni"; nj: "bk.nj"; nk: "bk.nk"; nl: "bk.nl"; nm: "bk.nm"; nn: "bk.nn"; no: "bk.no"; np: "bk.np"; nq: "bk.nq"; nr: "bk.nr"; ns: "bk.ns"; nt: "bk.nt"; nu: "bk.nu"; nv: "bk.nv"; nw: "bk.nw"; nx: "bk.nx"; ny: "bk.ny"; nz: "bk.nz"; oa: "bk.oa"; ob: "bk.ob"; oc: "bk.oc"; od: "bk.od"; oe: "bk.oe"; of: "bk.of"; og: "bk.og"; oh: "bk.oh"; oi: "bk.oi"; oj: "bk.oj"; ok: "bk.ok"; ol: "bk.ol"; om: "bk.om"; on: "bk.on"; oo: "bk.oo"; op: "bk.op"; oq: "bk.oq"; or: "bk.or"; os: "bk.os"; ot: "bk.ot"; ou: "bk.ou"; ov: "bk.ov"; ow: "bk.ow"; ox: "bk.ox"; oy: "bk.oy"; oz: "bk.oz"; pa: "bk.pa"; pb: "bk.pb"; pc: "bk.pc"; pd: "bk.pd"; pe: "bk.pe"; pf: "bk.pf"; pg: "bk.pg"; ph: "bk.ph"; pi: "bk.pi"; pj: "bk.pj"; pk: "bk.pk"; pl: "bk.pl"; pm: "bk.pm"; pn: "bk.pn"; po: "bk.po"; pp: "bk.pp"; pq: "bk.pq"; pr: "bk.pr"; ps: "bk.ps"; pt: "bk.pt"; pu: "bk.pu"; pv: "bk.pv"; pw: "bk.pw"; px: "bk.px"; py: "bk.py"; pz: "bk.pz"; qa: "bk.qa"; qb: "bk.qb"; qc: "bk.qc"; qd: "bk.qd"; qe: "bk.qe"; qf: "bk.qf"; qg: "bk.qg"; qh: "bk.qh"; qi: "bk.qi"; qj: "bk.qj"; qk: "bk.qk"; ql: "bk.ql"; qm: "bk.qm"; qn: "bk.qn"; qo: "bk.qo"; qp: "bk.qp"; qq: "bk.qq"; qr: "bk.qr"; qs: "bk.qs"; qt: "bk.qt"; qu: "bk.qu"; qv: "bk.qv"; qw: "bk.qw"; qx: "bk.qx"; qy: "bk.qy"; qz: "bk.qz"; ra: "bk.ra"; rb: "bk.rb"; rc: "bk.rc"; rd: "bk.rd"; re: "bk.re"; rf: "bk.rf"; rg: "bk.rg"; rh: "bk.rh"; ri: "bk.ri"; rj: "bk.rj"; rk: "bk.rk"; rl: "bk.rl"; rm: "bk.rm"; rn: "bk.rn"; ro: "bk.ro"; rp: "bk.rp"; rq: "bk.rq"; rr: "bk.rr"; rs: "bk.rs"; rt: "bk.rt"; ru: "bk.ru"; rv: "bk.rv"; rw: "bk.rw"; rx: "bk.rx"; ry: "bk.ry"; rz: "bk.rz"; sa: "bk.sa"; sb: "bk.sb"; sc: "bk.sc"; sd: "bk.sd"; se: "bk.se"; sf: "bk.sf"; sg: "bk.sg"; sh: "bk.sh"; si: "bk.si"; sj: "bk.sj"; sk: "bk.sk"; sl: "bk.sl"; sm: "bk.sm"; sn: "bk.sn"; so: "bk.so"; sp: "bk.sp"; sq: "bk.sq"; sr: "bk.sr"; ss: "bk.ss"; st: "bk.st"; su: "bk.su"; sv: "bk.sv"; sw: "bk.sw"; sx: "bk.sx"; sy: "bk.sy"; sz: "bk.sz"; ta: "bk.ta"; tb: "bk.tb"; tc: "bk.tc"; td: "bk.td"; te: "bk.te"; tf: "bk.tf"; tg: "bk.tg"; th: "bk.th"; ti: "bk.ti"; tj: "bk.tj"; tk: "bk.tk"; tl: "bk.tl"; tm: "bk.tm"; tn: "bk.tn"; to: "bk.to"; tp: "bk.tp"; tq: "bk.tq"; tr: "bk.tr"; ts: "bk.ts"; tt: "bk.tt"; tu: "bk.tu"; tv: "bk.tv"; tw: "bk.tw"; tx: "bk.tx"; ty: "bk.ty"; tz: "bk.tz"; ua: "bk.ua"; ub: "bk.ub"; uc: "bk.uc"; ud: "bk.ud"; ue: "bk.ue"; uf: "bk.uf"; ug: "bk.ug"; uh: "bk.uh"; ui: "bk.ui"; uj: "bk.uj"; uk: "bk.uk"; ul: "bk.ul"; um: "bk.um"; un: "bk.un"; uo: "bk.uo"; up: "bk.up"; uq: "bk.uq"; ur: "bk.ur"; us: "bk.us"; ut: "bk.ut"; uu: "bk.uu"; uv: "bk.uv"; uw: "bk.uw"; ux: "bk.ux"; uy: "bk.uy"; uz: "bk.uz"; va: "bk.va"; vb: "bk.vb"; vc: "bk.vc"; vd: "bk.vd"; ve: "bk.ve"; vf: "bk.vf"; vg: "bk.vg"; vh: "bk.vh"; vi: "bk.vi"; vj: "bk.vj"; vk: "bk.vk"; vl: "bk.vl"; vm: "bk.vm"; vn: "bk.vn"; vo: "bk.vo"; vp: "bk.vp"; vq: "bk.vq"; vr: "bk.vr"; vs: "bk.vs"; vt: "bk.vt"; vu: "bk.vu"; vv: "bk.vv"; vw: "bk.vw"; vx: "bk.vx"; vy: "bk.vy"; vz: "bk.vz"; wa: "bk.wa"; wb: "bk.wb"; wc: "bk.wc"; wd: "bk.wd"; we: "bk.we"; wf: "bk.wf"; wg: "bk.wg"; wh: "bk.wh"; wi: "bk.wi"; wj: "bk.wj"; wk: "bk.wk"; wl: "bk.wl"; wm: "bk.wm"; wn: "bk.wn"; wo: "bk.wo"; wp: "bk.wp"; wq: "bk.wq"; wr: "bk.wr"; ws: "bk.ws"; wt: "bk.wt"; wu: "bk.wu"; wv: "bk.wv"; ww: "bk.ww"; wx: "bk.wx"; wy: "bk.wy"; wz: "bk.wz"; xa: "bk.xa"; xb: "bk.xb"; xc: "bk.xc"; xd: "bk.xd"; xe: "bk.xe"; xf: "bk.xf"; xg: "bk.xg"; xh: "bk.xh"; xi: "bk.xi"; xj: "bk.xj"; xk: "bk.xk"; xl: "bk.xl"; xm: "bk.xm"; xn: "bk.xn"; xo: "bk.xo"; xp: "bk.xp"; xq: "bk.xq"; xr: "bk.xr"; xs: "bk.xs"; xt: "bk.xt"; xu: "bk.xu"; xv: "bk.xv"; xw: "bk.xw"; xx: "bk.xx"; xy: "bk.xy"; xz: "bk.xz"; ya: "bk.ya"; yb: "bk.yb"; yc: "bk.yc"; yd: "bk.yd"; ye: "bk.ye"; yf: "bk.yf"; yg: "bk.yg"; yh: "bk.yh"; yi: "bk.yi"; yj: "bk.yj"; yk: "bk.yk"; yl: "bk.yl"; ym: "bk.ym"; yn: "bk.yn"; yo: "bk.yo"; yp: "bk.yp"; yq: "bk.yq"; yr: "bk.yr"; ys: "bk.ys"; yt: "bk.yt"; yu: "bk.yu"; yv: "bk.yv"; yw: "bk.yw"; yx: "bk.yx"; yy: "bk.yy"; yz: "bk.yz"; za: "bk.za"; zb: "bk.zb"; zc: "bk.zc"; zd: "bk.zd"; ze: "bk.ze"; zf: "bk.zf"; zg: "bk.zg"; zh: "bk.zh"; zi: "bk.zi"; zj: "bk.zj"; zk: "bk.zk"; zl: "bk.zl"; zm: "bk.zm"; zn: "bk.zn"; zo: "bk.zo"; zp: "bk.zp"; zq: "bk.zq"; zr: "bk.zr"; zs: "bk.zs"; zt: "bk.zt"; zu: "bk.zu"; zv: "bk.zv"; zw: "bk.zw"; zx: "bk.zx"; zy: "bk.zy"; zz: "bk.zz"; }; bl: { aa: "bl.aa"; ab: "bl.ab"; ac: "bl.ac"; ad: "bl.ad"; ae: "bl.ae"; af: "bl.af"; ag: "bl.ag"; ah: "bl.ah"; ai: "bl.ai"; aj: "bl.aj"; ak: "bl.ak"; al: "bl.al"; am: "bl.am"; an: "bl.an"; ao: "bl.ao"; ap: "bl.ap"; aq: "bl.aq"; ar: "bl.ar"; as: "bl.as"; at: "bl.at"; au: "bl.au"; av: "bl.av"; aw: "bl.aw"; ax: "bl.ax"; ay: "bl.ay"; az: "bl.az"; ba: "bl.ba"; bb: "bl.bb"; bc: "bl.bc"; bd: "bl.bd"; be: "bl.be"; bf: "bl.bf"; bg: "bl.bg"; bh: "bl.bh"; bi: "bl.bi"; bj: "bl.bj"; bk: "bl.bk"; bl: "bl.bl"; bm: "bl.bm"; bn: "bl.bn"; bo: "bl.bo"; bp: "bl.bp"; bq: "bl.bq"; br: "bl.br"; bs: "bl.bs"; bt: "bl.bt"; bu: "bl.bu"; bv: "bl.bv"; bw: "bl.bw"; bx: "bl.bx"; by: "bl.by"; bz: "bl.bz"; ca: "bl.ca"; cb: "bl.cb"; cc: "bl.cc"; cd: "bl.cd"; ce: "bl.ce"; cf: "bl.cf"; cg: "bl.cg"; ch: "bl.ch"; ci: "bl.ci"; cj: "bl.cj"; ck: "bl.ck"; cl: "bl.cl"; cm: "bl.cm"; cn: "bl.cn"; co: "bl.co"; cp: "bl.cp"; cq: "bl.cq"; cr: "bl.cr"; cs: "bl.cs"; ct: "bl.ct"; cu: "bl.cu"; cv: "bl.cv"; cw: "bl.cw"; cx: "bl.cx"; cy: "bl.cy"; cz: "bl.cz"; da: "bl.da"; db: "bl.db"; dc: "bl.dc"; dd: "bl.dd"; de: "bl.de"; df: "bl.df"; dg: "bl.dg"; dh: "bl.dh"; di: "bl.di"; dj: "bl.dj"; dk: "bl.dk"; dl: "bl.dl"; dm: "bl.dm"; dn: "bl.dn"; do: "bl.do"; dp: "bl.dp"; dq: "bl.dq"; dr: "bl.dr"; ds: "bl.ds"; dt: "bl.dt"; du: "bl.du"; dv: "bl.dv"; dw: "bl.dw"; dx: "bl.dx"; dy: "bl.dy"; dz: "bl.dz"; ea: "bl.ea"; eb: "bl.eb"; ec: "bl.ec"; ed: "bl.ed"; ee: "bl.ee"; ef: "bl.ef"; eg: "bl.eg"; eh: "bl.eh"; ei: "bl.ei"; ej: "bl.ej"; ek: "bl.ek"; el: "bl.el"; em: "bl.em"; en: "bl.en"; eo: "bl.eo"; ep: "bl.ep"; eq: "bl.eq"; er: "bl.er"; es: "bl.es"; et: "bl.et"; eu: "bl.eu"; ev: "bl.ev"; ew: "bl.ew"; ex: "bl.ex"; ey: "bl.ey"; ez: "bl.ez"; fa: "bl.fa"; fb: "bl.fb"; fc: "bl.fc"; fd: "bl.fd"; fe: "bl.fe"; ff: "bl.ff"; fg: "bl.fg"; fh: "bl.fh"; fi: "bl.fi"; fj: "bl.fj"; fk: "bl.fk"; fl: "bl.fl"; fm: "bl.fm"; fn: "bl.fn"; fo: "bl.fo"; fp: "bl.fp"; fq: "bl.fq"; fr: "bl.fr"; fs: "bl.fs"; ft: "bl.ft"; fu: "bl.fu"; fv: "bl.fv"; fw: "bl.fw"; fx: "bl.fx"; fy: "bl.fy"; fz: "bl.fz"; ga: "bl.ga"; gb: "bl.gb"; gc: "bl.gc"; gd: "bl.gd"; ge: "bl.ge"; gf: "bl.gf"; gg: "bl.gg"; gh: "bl.gh"; gi: "bl.gi"; gj: "bl.gj"; gk: "bl.gk"; gl: "bl.gl"; gm: "bl.gm"; gn: "bl.gn"; go: "bl.go"; gp: "bl.gp"; gq: "bl.gq"; gr: "bl.gr"; gs: "bl.gs"; gt: "bl.gt"; gu: "bl.gu"; gv: "bl.gv"; gw: "bl.gw"; gx: "bl.gx"; gy: "bl.gy"; gz: "bl.gz"; ha: "bl.ha"; hb: "bl.hb"; hc: "bl.hc"; hd: "bl.hd"; he: "bl.he"; hf: "bl.hf"; hg: "bl.hg"; hh: "bl.hh"; hi: "bl.hi"; hj: "bl.hj"; hk: "bl.hk"; hl: "bl.hl"; hm: "bl.hm"; hn: "bl.hn"; ho: "bl.ho"; hp: "bl.hp"; hq: "bl.hq"; hr: "bl.hr"; hs: "bl.hs"; ht: "bl.ht"; hu: "bl.hu"; hv: "bl.hv"; hw: "bl.hw"; hx: "bl.hx"; hy: "bl.hy"; hz: "bl.hz"; ia: "bl.ia"; ib: "bl.ib"; ic: "bl.ic"; id: "bl.id"; ie: "bl.ie"; if: "bl.if"; ig: "bl.ig"; ih: "bl.ih"; ii: "bl.ii"; ij: "bl.ij"; ik: "bl.ik"; il: "bl.il"; im: "bl.im"; in: "bl.in"; io: "bl.io"; ip: "bl.ip"; iq: "bl.iq"; ir: "bl.ir"; is: "bl.is"; it: "bl.it"; iu: "bl.iu"; iv: "bl.iv"; iw: "bl.iw"; ix: "bl.ix"; iy: "bl.iy"; iz: "bl.iz"; ja: "bl.ja"; jb: "bl.jb"; jc: "bl.jc"; jd: "bl.jd"; je: "bl.je"; jf: "bl.jf"; jg: "bl.jg"; jh: "bl.jh"; ji: "bl.ji"; jj: "bl.jj"; jk: "bl.jk"; jl: "bl.jl"; jm: "bl.jm"; jn: "bl.jn"; jo: "bl.jo"; jp: "bl.jp"; jq: "bl.jq"; jr: "bl.jr"; js: "bl.js"; jt: "bl.jt"; ju: "bl.ju"; jv: "bl.jv"; jw: "bl.jw"; jx: "bl.jx"; jy: "bl.jy"; jz: "bl.jz"; ka: "bl.ka"; kb: "bl.kb"; kc: "bl.kc"; kd: "bl.kd"; ke: "bl.ke"; kf: "bl.kf"; kg: "bl.kg"; kh: "bl.kh"; ki: "bl.ki"; kj: "bl.kj"; kk: "bl.kk"; kl: "bl.kl"; km: "bl.km"; kn: "bl.kn"; ko: "bl.ko"; kp: "bl.kp"; kq: "bl.kq"; kr: "bl.kr"; ks: "bl.ks"; kt: "bl.kt"; ku: "bl.ku"; kv: "bl.kv"; kw: "bl.kw"; kx: "bl.kx"; ky: "bl.ky"; kz: "bl.kz"; la: "bl.la"; lb: "bl.lb"; lc: "bl.lc"; ld: "bl.ld"; le: "bl.le"; lf: "bl.lf"; lg: "bl.lg"; lh: "bl.lh"; li: "bl.li"; lj: "bl.lj"; lk: "bl.lk"; ll: "bl.ll"; lm: "bl.lm"; ln: "bl.ln"; lo: "bl.lo"; lp: "bl.lp"; lq: "bl.lq"; lr: "bl.lr"; ls: "bl.ls"; lt: "bl.lt"; lu: "bl.lu"; lv: "bl.lv"; lw: "bl.lw"; lx: "bl.lx"; ly: "bl.ly"; lz: "bl.lz"; ma: "bl.ma"; mb: "bl.mb"; mc: "bl.mc"; md: "bl.md"; me: "bl.me"; mf: "bl.mf"; mg: "bl.mg"; mh: "bl.mh"; mi: "bl.mi"; mj: "bl.mj"; mk: "bl.mk"; ml: "bl.ml"; mm: "bl.mm"; mn: "bl.mn"; mo: "bl.mo"; mp: "bl.mp"; mq: "bl.mq"; mr: "bl.mr"; ms: "bl.ms"; mt: "bl.mt"; mu: "bl.mu"; mv: "bl.mv"; mw: "bl.mw"; mx: "bl.mx"; my: "bl.my"; mz: "bl.mz"; na: "bl.na"; nb: "bl.nb"; nc: "bl.nc"; nd: "bl.nd"; ne: "bl.ne"; nf: "bl.nf"; ng: "bl.ng"; nh: "bl.nh"; ni: "bl.ni"; nj: "bl.nj"; nk: "bl.nk"; nl: "bl.nl"; nm: "bl.nm"; nn: "bl.nn"; no: "bl.no"; np: "bl.np"; nq: "bl.nq"; nr: "bl.nr"; ns: "bl.ns"; nt: "bl.nt"; nu: "bl.nu"; nv: "bl.nv"; nw: "bl.nw"; nx: "bl.nx"; ny: "bl.ny"; nz: "bl.nz"; oa: "bl.oa"; ob: "bl.ob"; oc: "bl.oc"; od: "bl.od"; oe: "bl.oe"; of: "bl.of"; og: "bl.og"; oh: "bl.oh"; oi: "bl.oi"; oj: "bl.oj"; ok: "bl.ok"; ol: "bl.ol"; om: "bl.om"; on: "bl.on"; oo: "bl.oo"; op: "bl.op"; oq: "bl.oq"; or: "bl.or"; os: "bl.os"; ot: "bl.ot"; ou: "bl.ou"; ov: "bl.ov"; ow: "bl.ow"; ox: "bl.ox"; oy: "bl.oy"; oz: "bl.oz"; pa: "bl.pa"; pb: "bl.pb"; pc: "bl.pc"; pd: "bl.pd"; pe: "bl.pe"; pf: "bl.pf"; pg: "bl.pg"; ph: "bl.ph"; pi: "bl.pi"; pj: "bl.pj"; pk: "bl.pk"; pl: "bl.pl"; pm: "bl.pm"; pn: "bl.pn"; po: "bl.po"; pp: "bl.pp"; pq: "bl.pq"; pr: "bl.pr"; ps: "bl.ps"; pt: "bl.pt"; pu: "bl.pu"; pv: "bl.pv"; pw: "bl.pw"; px: "bl.px"; py: "bl.py"; pz: "bl.pz"; qa: "bl.qa"; qb: "bl.qb"; qc: "bl.qc"; qd: "bl.qd"; qe: "bl.qe"; qf: "bl.qf"; qg: "bl.qg"; qh: "bl.qh"; qi: "bl.qi"; qj: "bl.qj"; qk: "bl.qk"; ql: "bl.ql"; qm: "bl.qm"; qn: "bl.qn"; qo: "bl.qo"; qp: "bl.qp"; qq: "bl.qq"; qr: "bl.qr"; qs: "bl.qs"; qt: "bl.qt"; qu: "bl.qu"; qv: "bl.qv"; qw: "bl.qw"; qx: "bl.qx"; qy: "bl.qy"; qz: "bl.qz"; ra: "bl.ra"; rb: "bl.rb"; rc: "bl.rc"; rd: "bl.rd"; re: "bl.re"; rf: "bl.rf"; rg: "bl.rg"; rh: "bl.rh"; ri: "bl.ri"; rj: "bl.rj"; rk: "bl.rk"; rl: "bl.rl"; rm: "bl.rm"; rn: "bl.rn"; ro: "bl.ro"; rp: "bl.rp"; rq: "bl.rq"; rr: "bl.rr"; rs: "bl.rs"; rt: "bl.rt"; ru: "bl.ru"; rv: "bl.rv"; rw: "bl.rw"; rx: "bl.rx"; ry: "bl.ry"; rz: "bl.rz"; sa: "bl.sa"; sb: "bl.sb"; sc: "bl.sc"; sd: "bl.sd"; se: "bl.se"; sf: "bl.sf"; sg: "bl.sg"; sh: "bl.sh"; si: "bl.si"; sj: "bl.sj"; sk: "bl.sk"; sl: "bl.sl"; sm: "bl.sm"; sn: "bl.sn"; so: "bl.so"; sp: "bl.sp"; sq: "bl.sq"; sr: "bl.sr"; ss: "bl.ss"; st: "bl.st"; su: "bl.su"; sv: "bl.sv"; sw: "bl.sw"; sx: "bl.sx"; sy: "bl.sy"; sz: "bl.sz"; ta: "bl.ta"; tb: "bl.tb"; tc: "bl.tc"; td: "bl.td"; te: "bl.te"; tf: "bl.tf"; tg: "bl.tg"; th: "bl.th"; ti: "bl.ti"; tj: "bl.tj"; tk: "bl.tk"; tl: "bl.tl"; tm: "bl.tm"; tn: "bl.tn"; to: "bl.to"; tp: "bl.tp"; tq: "bl.tq"; tr: "bl.tr"; ts: "bl.ts"; tt: "bl.tt"; tu: "bl.tu"; tv: "bl.tv"; tw: "bl.tw"; tx: "bl.tx"; ty: "bl.ty"; tz: "bl.tz"; ua: "bl.ua"; ub: "bl.ub"; uc: "bl.uc"; ud: "bl.ud"; ue: "bl.ue"; uf: "bl.uf"; ug: "bl.ug"; uh: "bl.uh"; ui: "bl.ui"; uj: "bl.uj"; uk: "bl.uk"; ul: "bl.ul"; um: "bl.um"; un: "bl.un"; uo: "bl.uo"; up: "bl.up"; uq: "bl.uq"; ur: "bl.ur"; us: "bl.us"; ut: "bl.ut"; uu: "bl.uu"; uv: "bl.uv"; uw: "bl.uw"; ux: "bl.ux"; uy: "bl.uy"; uz: "bl.uz"; va: "bl.va"; vb: "bl.vb"; vc: "bl.vc"; vd: "bl.vd"; ve: "bl.ve"; vf: "bl.vf"; vg: "bl.vg"; vh: "bl.vh"; vi: "bl.vi"; vj: "bl.vj"; vk: "bl.vk"; vl: "bl.vl"; vm: "bl.vm"; vn: "bl.vn"; vo: "bl.vo"; vp: "bl.vp"; vq: "bl.vq"; vr: "bl.vr"; vs: "bl.vs"; vt: "bl.vt"; vu: "bl.vu"; vv: "bl.vv"; vw: "bl.vw"; vx: "bl.vx"; vy: "bl.vy"; vz: "bl.vz"; wa: "bl.wa"; wb: "bl.wb"; wc: "bl.wc"; wd: "bl.wd"; we: "bl.we"; wf: "bl.wf"; wg: "bl.wg"; wh: "bl.wh"; wi: "bl.wi"; wj: "bl.wj"; wk: "bl.wk"; wl: "bl.wl"; wm: "bl.wm"; wn: "bl.wn"; wo: "bl.wo"; wp: "bl.wp"; wq: "bl.wq"; wr: "bl.wr"; ws: "bl.ws"; wt: "bl.wt"; wu: "bl.wu"; wv: "bl.wv"; ww: "bl.ww"; wx: "bl.wx"; wy: "bl.wy"; wz: "bl.wz"; xa: "bl.xa"; xb: "bl.xb"; xc: "bl.xc"; xd: "bl.xd"; xe: "bl.xe"; xf: "bl.xf"; xg: "bl.xg"; xh: "bl.xh"; xi: "bl.xi"; xj: "bl.xj"; xk: "bl.xk"; xl: "bl.xl"; xm: "bl.xm"; xn: "bl.xn"; xo: "bl.xo"; xp: "bl.xp"; xq: "bl.xq"; xr: "bl.xr"; xs: "bl.xs"; xt: "bl.xt"; xu: "bl.xu"; xv: "bl.xv"; xw: "bl.xw"; xx: "bl.xx"; xy: "bl.xy"; xz: "bl.xz"; ya: "bl.ya"; yb: "bl.yb"; yc: "bl.yc"; yd: "bl.yd"; ye: "bl.ye"; yf: "bl.yf"; yg: "bl.yg"; yh: "bl.yh"; yi: "bl.yi"; yj: "bl.yj"; yk: "bl.yk"; yl: "bl.yl"; ym: "bl.ym"; yn: "bl.yn"; yo: "bl.yo"; yp: "bl.yp"; yq: "bl.yq"; yr: "bl.yr"; ys: "bl.ys"; yt: "bl.yt"; yu: "bl.yu"; yv: "bl.yv"; yw: "bl.yw"; yx: "bl.yx"; yy: "bl.yy"; yz: "bl.yz"; za: "bl.za"; zb: "bl.zb"; zc: "bl.zc"; zd: "bl.zd"; ze: "bl.ze"; zf: "bl.zf"; zg: "bl.zg"; zh: "bl.zh"; zi: "bl.zi"; zj: "bl.zj"; zk: "bl.zk"; zl: "bl.zl"; zm: "bl.zm"; zn: "bl.zn"; zo: "bl.zo"; zp: "bl.zp"; zq: "bl.zq"; zr: "bl.zr"; zs: "bl.zs"; zt: "bl.zt"; zu: "bl.zu"; zv: "bl.zv"; zw: "bl.zw"; zx: "bl.zx"; zy: "bl.zy"; zz: "bl.zz"; }; bm: { aa: "bm.aa"; ab: "bm.ab"; ac: "bm.ac"; ad: "bm.ad"; ae: "bm.ae"; af: "bm.af"; ag: "bm.ag"; ah: "bm.ah"; ai: "bm.ai"; aj: "bm.aj"; ak: "bm.ak"; al: "bm.al"; am: "bm.am"; an: "bm.an"; ao: "bm.ao"; ap: "bm.ap"; aq: "bm.aq"; ar: "bm.ar"; as: "bm.as"; at: "bm.at"; au: "bm.au"; av: "bm.av"; aw: "bm.aw"; ax: "bm.ax"; ay: "bm.ay"; az: "bm.az"; ba: "bm.ba"; bb: "bm.bb"; bc: "bm.bc"; bd: "bm.bd"; be: "bm.be"; bf: "bm.bf"; bg: "bm.bg"; bh: "bm.bh"; bi: "bm.bi"; bj: "bm.bj"; bk: "bm.bk"; bl: "bm.bl"; bm: "bm.bm"; bn: "bm.bn"; bo: "bm.bo"; bp: "bm.bp"; bq: "bm.bq"; br: "bm.br"; bs: "bm.bs"; bt: "bm.bt"; bu: "bm.bu"; bv: "bm.bv"; bw: "bm.bw"; bx: "bm.bx"; by: "bm.by"; bz: "bm.bz"; ca: "bm.ca"; cb: "bm.cb"; cc: "bm.cc"; cd: "bm.cd"; ce: "bm.ce"; cf: "bm.cf"; cg: "bm.cg"; ch: "bm.ch"; ci: "bm.ci"; cj: "bm.cj"; ck: "bm.ck"; cl: "bm.cl"; cm: "bm.cm"; cn: "bm.cn"; co: "bm.co"; cp: "bm.cp"; cq: "bm.cq"; cr: "bm.cr"; cs: "bm.cs"; ct: "bm.ct"; cu: "bm.cu"; cv: "bm.cv"; cw: "bm.cw"; cx: "bm.cx"; cy: "bm.cy"; cz: "bm.cz"; da: "bm.da"; db: "bm.db"; dc: "bm.dc"; dd: "bm.dd"; de: "bm.de"; df: "bm.df"; dg: "bm.dg"; dh: "bm.dh"; di: "bm.di"; dj: "bm.dj"; dk: "bm.dk"; dl: "bm.dl"; dm: "bm.dm"; dn: "bm.dn"; do: "bm.do"; dp: "bm.dp"; dq: "bm.dq"; dr: "bm.dr"; ds: "bm.ds"; dt: "bm.dt"; du: "bm.du"; dv: "bm.dv"; dw: "bm.dw"; dx: "bm.dx"; dy: "bm.dy"; dz: "bm.dz"; ea: "bm.ea"; eb: "bm.eb"; ec: "bm.ec"; ed: "bm.ed"; ee: "bm.ee"; ef: "bm.ef"; eg: "bm.eg"; eh: "bm.eh"; ei: "bm.ei"; ej: "bm.ej"; ek: "bm.ek"; el: "bm.el"; em: "bm.em"; en: "bm.en"; eo: "bm.eo"; ep: "bm.ep"; eq: "bm.eq"; er: "bm.er"; es: "bm.es"; et: "bm.et"; eu: "bm.eu"; ev: "bm.ev"; ew: "bm.ew"; ex: "bm.ex"; ey: "bm.ey"; ez: "bm.ez"; fa: "bm.fa"; fb: "bm.fb"; fc: "bm.fc"; fd: "bm.fd"; fe: "bm.fe"; ff: "bm.ff"; fg: "bm.fg"; fh: "bm.fh"; fi: "bm.fi"; fj: "bm.fj"; fk: "bm.fk"; fl: "bm.fl"; fm: "bm.fm"; fn: "bm.fn"; fo: "bm.fo"; fp: "bm.fp"; fq: "bm.fq"; fr: "bm.fr"; fs: "bm.fs"; ft: "bm.ft"; fu: "bm.fu"; fv: "bm.fv"; fw: "bm.fw"; fx: "bm.fx"; fy: "bm.fy"; fz: "bm.fz"; ga: "bm.ga"; gb: "bm.gb"; gc: "bm.gc"; gd: "bm.gd"; ge: "bm.ge"; gf: "bm.gf"; gg: "bm.gg"; gh: "bm.gh"; gi: "bm.gi"; gj: "bm.gj"; gk: "bm.gk"; gl: "bm.gl"; gm: "bm.gm"; gn: "bm.gn"; go: "bm.go"; gp: "bm.gp"; gq: "bm.gq"; gr: "bm.gr"; gs: "bm.gs"; gt: "bm.gt"; gu: "bm.gu"; gv: "bm.gv"; gw: "bm.gw"; gx: "bm.gx"; gy: "bm.gy"; gz: "bm.gz"; ha: "bm.ha"; hb: "bm.hb"; hc: "bm.hc"; hd: "bm.hd"; he: "bm.he"; hf: "bm.hf"; hg: "bm.hg"; hh: "bm.hh"; hi: "bm.hi"; hj: "bm.hj"; hk: "bm.hk"; hl: "bm.hl"; hm: "bm.hm"; hn: "bm.hn"; ho: "bm.ho"; hp: "bm.hp"; hq: "bm.hq"; hr: "bm.hr"; hs: "bm.hs"; ht: "bm.ht"; hu: "bm.hu"; hv: "bm.hv"; hw: "bm.hw"; hx: "bm.hx"; hy: "bm.hy"; hz: "bm.hz"; ia: "bm.ia"; ib: "bm.ib"; ic: "bm.ic"; id: "bm.id"; ie: "bm.ie"; if: "bm.if"; ig: "bm.ig"; ih: "bm.ih"; ii: "bm.ii"; ij: "bm.ij"; ik: "bm.ik"; il: "bm.il"; im: "bm.im"; in: "bm.in"; io: "bm.io"; ip: "bm.ip"; iq: "bm.iq"; ir: "bm.ir"; is: "bm.is"; it: "bm.it"; iu: "bm.iu"; iv: "bm.iv"; iw: "bm.iw"; ix: "bm.ix"; iy: "bm.iy"; iz: "bm.iz"; ja: "bm.ja"; jb: "bm.jb"; jc: "bm.jc"; jd: "bm.jd"; je: "bm.je"; jf: "bm.jf"; jg: "bm.jg"; jh: "bm.jh"; ji: "bm.ji"; jj: "bm.jj"; jk: "bm.jk"; jl: "bm.jl"; jm: "bm.jm"; jn: "bm.jn"; jo: "bm.jo"; jp: "bm.jp"; jq: "bm.jq"; jr: "bm.jr"; js: "bm.js"; jt: "bm.jt"; ju: "bm.ju"; jv: "bm.jv"; jw: "bm.jw"; jx: "bm.jx"; jy: "bm.jy"; jz: "bm.jz"; ka: "bm.ka"; kb: "bm.kb"; kc: "bm.kc"; kd: "bm.kd"; ke: "bm.ke"; kf: "bm.kf"; kg: "bm.kg"; kh: "bm.kh"; ki: "bm.ki"; kj: "bm.kj"; kk: "bm.kk"; kl: "bm.kl"; km: "bm.km"; kn: "bm.kn"; ko: "bm.ko"; kp: "bm.kp"; kq: "bm.kq"; kr: "bm.kr"; ks: "bm.ks"; kt: "bm.kt"; ku: "bm.ku"; kv: "bm.kv"; kw: "bm.kw"; kx: "bm.kx"; ky: "bm.ky"; kz: "bm.kz"; la: "bm.la"; lb: "bm.lb"; lc: "bm.lc"; ld: "bm.ld"; le: "bm.le"; lf: "bm.lf"; lg: "bm.lg"; lh: "bm.lh"; li: "bm.li"; lj: "bm.lj"; lk: "bm.lk"; ll: "bm.ll"; lm: "bm.lm"; ln: "bm.ln"; lo: "bm.lo"; lp: "bm.lp"; lq: "bm.lq"; lr: "bm.lr"; ls: "bm.ls"; lt: "bm.lt"; lu: "bm.lu"; lv: "bm.lv"; lw: "bm.lw"; lx: "bm.lx"; ly: "bm.ly"; lz: "bm.lz"; ma: "bm.ma"; mb: "bm.mb"; mc: "bm.mc"; md: "bm.md"; me: "bm.me"; mf: "bm.mf"; mg: "bm.mg"; mh: "bm.mh"; mi: "bm.mi"; mj: "bm.mj"; mk: "bm.mk"; ml: "bm.ml"; mm: "bm.mm"; mn: "bm.mn"; mo: "bm.mo"; mp: "bm.mp"; mq: "bm.mq"; mr: "bm.mr"; ms: "bm.ms"; mt: "bm.mt"; mu: "bm.mu"; mv: "bm.mv"; mw: "bm.mw"; mx: "bm.mx"; my: "bm.my"; mz: "bm.mz"; na: "bm.na"; nb: "bm.nb"; nc: "bm.nc"; nd: "bm.nd"; ne: "bm.ne"; nf: "bm.nf"; ng: "bm.ng"; nh: "bm.nh"; ni: "bm.ni"; nj: "bm.nj"; nk: "bm.nk"; nl: "bm.nl"; nm: "bm.nm"; nn: "bm.nn"; no: "bm.no"; np: "bm.np"; nq: "bm.nq"; nr: "bm.nr"; ns: "bm.ns"; nt: "bm.nt"; nu: "bm.nu"; nv: "bm.nv"; nw: "bm.nw"; nx: "bm.nx"; ny: "bm.ny"; nz: "bm.nz"; oa: "bm.oa"; ob: "bm.ob"; oc: "bm.oc"; od: "bm.od"; oe: "bm.oe"; of: "bm.of"; og: "bm.og"; oh: "bm.oh"; oi: "bm.oi"; oj: "bm.oj"; ok: "bm.ok"; ol: "bm.ol"; om: "bm.om"; on: "bm.on"; oo: "bm.oo"; op: "bm.op"; oq: "bm.oq"; or: "bm.or"; os: "bm.os"; ot: "bm.ot"; ou: "bm.ou"; ov: "bm.ov"; ow: "bm.ow"; ox: "bm.ox"; oy: "bm.oy"; oz: "bm.oz"; pa: "bm.pa"; pb: "bm.pb"; pc: "bm.pc"; pd: "bm.pd"; pe: "bm.pe"; pf: "bm.pf"; pg: "bm.pg"; ph: "bm.ph"; pi: "bm.pi"; pj: "bm.pj"; pk: "bm.pk"; pl: "bm.pl"; pm: "bm.pm"; pn: "bm.pn"; po: "bm.po"; pp: "bm.pp"; pq: "bm.pq"; pr: "bm.pr"; ps: "bm.ps"; pt: "bm.pt"; pu: "bm.pu"; pv: "bm.pv"; pw: "bm.pw"; px: "bm.px"; py: "bm.py"; pz: "bm.pz"; qa: "bm.qa"; qb: "bm.qb"; qc: "bm.qc"; qd: "bm.qd"; qe: "bm.qe"; qf: "bm.qf"; qg: "bm.qg"; qh: "bm.qh"; qi: "bm.qi"; qj: "bm.qj"; qk: "bm.qk"; ql: "bm.ql"; qm: "bm.qm"; qn: "bm.qn"; qo: "bm.qo"; qp: "bm.qp"; qq: "bm.qq"; qr: "bm.qr"; qs: "bm.qs"; qt: "bm.qt"; qu: "bm.qu"; qv: "bm.qv"; qw: "bm.qw"; qx: "bm.qx"; qy: "bm.qy"; qz: "bm.qz"; ra: "bm.ra"; rb: "bm.rb"; rc: "bm.rc"; rd: "bm.rd"; re: "bm.re"; rf: "bm.rf"; rg: "bm.rg"; rh: "bm.rh"; ri: "bm.ri"; rj: "bm.rj"; rk: "bm.rk"; rl: "bm.rl"; rm: "bm.rm"; rn: "bm.rn"; ro: "bm.ro"; rp: "bm.rp"; rq: "bm.rq"; rr: "bm.rr"; rs: "bm.rs"; rt: "bm.rt"; ru: "bm.ru"; rv: "bm.rv"; rw: "bm.rw"; rx: "bm.rx"; ry: "bm.ry"; rz: "bm.rz"; sa: "bm.sa"; sb: "bm.sb"; sc: "bm.sc"; sd: "bm.sd"; se: "bm.se"; sf: "bm.sf"; sg: "bm.sg"; sh: "bm.sh"; si: "bm.si"; sj: "bm.sj"; sk: "bm.sk"; sl: "bm.sl"; sm: "bm.sm"; sn: "bm.sn"; so: "bm.so"; sp: "bm.sp"; sq: "bm.sq"; sr: "bm.sr"; ss: "bm.ss"; st: "bm.st"; su: "bm.su"; sv: "bm.sv"; sw: "bm.sw"; sx: "bm.sx"; sy: "bm.sy"; sz: "bm.sz"; ta: "bm.ta"; tb: "bm.tb"; tc: "bm.tc"; td: "bm.td"; te: "bm.te"; tf: "bm.tf"; tg: "bm.tg"; th: "bm.th"; ti: "bm.ti"; tj: "bm.tj"; tk: "bm.tk"; tl: "bm.tl"; tm: "bm.tm"; tn: "bm.tn"; to: "bm.to"; tp: "bm.tp"; tq: "bm.tq"; tr: "bm.tr"; ts: "bm.ts"; tt: "bm.tt"; tu: "bm.tu"; tv: "bm.tv"; tw: "bm.tw"; tx: "bm.tx"; ty: "bm.ty"; tz: "bm.tz"; ua: "bm.ua"; ub: "bm.ub"; uc: "bm.uc"; ud: "bm.ud"; ue: "bm.ue"; uf: "bm.uf"; ug: "bm.ug"; uh: "bm.uh"; ui: "bm.ui"; uj: "bm.uj"; uk: "bm.uk"; ul: "bm.ul"; um: "bm.um"; un: "bm.un"; uo: "bm.uo"; up: "bm.up"; uq: "bm.uq"; ur: "bm.ur"; us: "bm.us"; ut: "bm.ut"; uu: "bm.uu"; uv: "bm.uv"; uw: "bm.uw"; ux: "bm.ux"; uy: "bm.uy"; uz: "bm.uz"; va: "bm.va"; vb: "bm.vb"; vc: "bm.vc"; vd: "bm.vd"; ve: "bm.ve"; vf: "bm.vf"; vg: "bm.vg"; vh: "bm.vh"; vi: "bm.vi"; vj: "bm.vj"; vk: "bm.vk"; vl: "bm.vl"; vm: "bm.vm"; vn: "bm.vn"; vo: "bm.vo"; vp: "bm.vp"; vq: "bm.vq"; vr: "bm.vr"; vs: "bm.vs"; vt: "bm.vt"; vu: "bm.vu"; vv: "bm.vv"; vw: "bm.vw"; vx: "bm.vx"; vy: "bm.vy"; vz: "bm.vz"; wa: "bm.wa"; wb: "bm.wb"; wc: "bm.wc"; wd: "bm.wd"; we: "bm.we"; wf: "bm.wf"; wg: "bm.wg"; wh: "bm.wh"; wi: "bm.wi"; wj: "bm.wj"; wk: "bm.wk"; wl: "bm.wl"; wm: "bm.wm"; wn: "bm.wn"; wo: "bm.wo"; wp: "bm.wp"; wq: "bm.wq"; wr: "bm.wr"; ws: "bm.ws"; wt: "bm.wt"; wu: "bm.wu"; wv: "bm.wv"; ww: "bm.ww"; wx: "bm.wx"; wy: "bm.wy"; wz: "bm.wz"; xa: "bm.xa"; xb: "bm.xb"; xc: "bm.xc"; xd: "bm.xd"; xe: "bm.xe"; xf: "bm.xf"; xg: "bm.xg"; xh: "bm.xh"; xi: "bm.xi"; xj: "bm.xj"; xk: "bm.xk"; xl: "bm.xl"; xm: "bm.xm"; xn: "bm.xn"; xo: "bm.xo"; xp: "bm.xp"; xq: "bm.xq"; xr: "bm.xr"; xs: "bm.xs"; xt: "bm.xt"; xu: "bm.xu"; xv: "bm.xv"; xw: "bm.xw"; xx: "bm.xx"; xy: "bm.xy"; xz: "bm.xz"; ya: "bm.ya"; yb: "bm.yb"; yc: "bm.yc"; yd: "bm.yd"; ye: "bm.ye"; yf: "bm.yf"; yg: "bm.yg"; yh: "bm.yh"; yi: "bm.yi"; yj: "bm.yj"; yk: "bm.yk"; yl: "bm.yl"; ym: "bm.ym"; yn: "bm.yn"; yo: "bm.yo"; yp: "bm.yp"; yq: "bm.yq"; yr: "bm.yr"; ys: "bm.ys"; yt: "bm.yt"; yu: "bm.yu"; yv: "bm.yv"; yw: "bm.yw"; yx: "bm.yx"; yy: "bm.yy"; yz: "bm.yz"; za: "bm.za"; zb: "bm.zb"; zc: "bm.zc"; zd: "bm.zd"; ze: "bm.ze"; zf: "bm.zf"; zg: "bm.zg"; zh: "bm.zh"; zi: "bm.zi"; zj: "bm.zj"; zk: "bm.zk"; zl: "bm.zl"; zm: "bm.zm"; zn: "bm.zn"; zo: "bm.zo"; zp: "bm.zp"; zq: "bm.zq"; zr: "bm.zr"; zs: "bm.zs"; zt: "bm.zt"; zu: "bm.zu"; zv: "bm.zv"; zw: "bm.zw"; zx: "bm.zx"; zy: "bm.zy"; zz: "bm.zz"; }; bn: { aa: "bn.aa"; ab: "bn.ab"; ac: "bn.ac"; ad: "bn.ad"; ae: "bn.ae"; af: "bn.af"; ag: "bn.ag"; ah: "bn.ah"; ai: "bn.ai"; aj: "bn.aj"; ak: "bn.ak"; al: "bn.al"; am: "bn.am"; an: "bn.an"; ao: "bn.ao"; ap: "bn.ap"; aq: "bn.aq"; ar: "bn.ar"; as: "bn.as"; at: "bn.at"; au: "bn.au"; av: "bn.av"; aw: "bn.aw"; ax: "bn.ax"; ay: "bn.ay"; az: "bn.az"; ba: "bn.ba"; bb: "bn.bb"; bc: "bn.bc"; bd: "bn.bd"; be: "bn.be"; bf: "bn.bf"; bg: "bn.bg"; bh: "bn.bh"; bi: "bn.bi"; bj: "bn.bj"; bk: "bn.bk"; bl: "bn.bl"; bm: "bn.bm"; bn: "bn.bn"; bo: "bn.bo"; bp: "bn.bp"; bq: "bn.bq"; br: "bn.br"; bs: "bn.bs"; bt: "bn.bt"; bu: "bn.bu"; bv: "bn.bv"; bw: "bn.bw"; bx: "bn.bx"; by: "bn.by"; bz: "bn.bz"; ca: "bn.ca"; cb: "bn.cb"; cc: "bn.cc"; cd: "bn.cd"; ce: "bn.ce"; cf: "bn.cf"; cg: "bn.cg"; ch: "bn.ch"; ci: "bn.ci"; cj: "bn.cj"; ck: "bn.ck"; cl: "bn.cl"; cm: "bn.cm"; cn: "bn.cn"; co: "bn.co"; cp: "bn.cp"; cq: "bn.cq"; cr: "bn.cr"; cs: "bn.cs"; ct: "bn.ct"; cu: "bn.cu"; cv: "bn.cv"; cw: "bn.cw"; cx: "bn.cx"; cy: "bn.cy"; cz: "bn.cz"; da: "bn.da"; db: "bn.db"; dc: "bn.dc"; dd: "bn.dd"; de: "bn.de"; df: "bn.df"; dg: "bn.dg"; dh: "bn.dh"; di: "bn.di"; dj: "bn.dj"; dk: "bn.dk"; dl: "bn.dl"; dm: "bn.dm"; dn: "bn.dn"; do: "bn.do"; dp: "bn.dp"; dq: "bn.dq"; dr: "bn.dr"; ds: "bn.ds"; dt: "bn.dt"; du: "bn.du"; dv: "bn.dv"; dw: "bn.dw"; dx: "bn.dx"; dy: "bn.dy"; dz: "bn.dz"; ea: "bn.ea"; eb: "bn.eb"; ec: "bn.ec"; ed: "bn.ed"; ee: "bn.ee"; ef: "bn.ef"; eg: "bn.eg"; eh: "bn.eh"; ei: "bn.ei"; ej: "bn.ej"; ek: "bn.ek"; el: "bn.el"; em: "bn.em"; en: "bn.en"; eo: "bn.eo"; ep: "bn.ep"; eq: "bn.eq"; er: "bn.er"; es: "bn.es"; et: "bn.et"; eu: "bn.eu"; ev: "bn.ev"; ew: "bn.ew"; ex: "bn.ex"; ey: "bn.ey"; ez: "bn.ez"; fa: "bn.fa"; fb: "bn.fb"; fc: "bn.fc"; fd: "bn.fd"; fe: "bn.fe"; ff: "bn.ff"; fg: "bn.fg"; fh: "bn.fh"; fi: "bn.fi"; fj: "bn.fj"; fk: "bn.fk"; fl: "bn.fl"; fm: "bn.fm"; fn: "bn.fn"; fo: "bn.fo"; fp: "bn.fp"; fq: "bn.fq"; fr: "bn.fr"; fs: "bn.fs"; ft: "bn.ft"; fu: "bn.fu"; fv: "bn.fv"; fw: "bn.fw"; fx: "bn.fx"; fy: "bn.fy"; fz: "bn.fz"; ga: "bn.ga"; gb: "bn.gb"; gc: "bn.gc"; gd: "bn.gd"; ge: "bn.ge"; gf: "bn.gf"; gg: "bn.gg"; gh: "bn.gh"; gi: "bn.gi"; gj: "bn.gj"; gk: "bn.gk"; gl: "bn.gl"; gm: "bn.gm"; gn: "bn.gn"; go: "bn.go"; gp: "bn.gp"; gq: "bn.gq"; gr: "bn.gr"; gs: "bn.gs"; gt: "bn.gt"; gu: "bn.gu"; gv: "bn.gv"; gw: "bn.gw"; gx: "bn.gx"; gy: "bn.gy"; gz: "bn.gz"; ha: "bn.ha"; hb: "bn.hb"; hc: "bn.hc"; hd: "bn.hd"; he: "bn.he"; hf: "bn.hf"; hg: "bn.hg"; hh: "bn.hh"; hi: "bn.hi"; hj: "bn.hj"; hk: "bn.hk"; hl: "bn.hl"; hm: "bn.hm"; hn: "bn.hn"; ho: "bn.ho"; hp: "bn.hp"; hq: "bn.hq"; hr: "bn.hr"; hs: "bn.hs"; ht: "bn.ht"; hu: "bn.hu"; hv: "bn.hv"; hw: "bn.hw"; hx: "bn.hx"; hy: "bn.hy"; hz: "bn.hz"; ia: "bn.ia"; ib: "bn.ib"; ic: "bn.ic"; id: "bn.id"; ie: "bn.ie"; if: "bn.if"; ig: "bn.ig"; ih: "bn.ih"; ii: "bn.ii"; ij: "bn.ij"; ik: "bn.ik"; il: "bn.il"; im: "bn.im"; in: "bn.in"; io: "bn.io"; ip: "bn.ip"; iq: "bn.iq"; ir: "bn.ir"; is: "bn.is"; it: "bn.it"; iu: "bn.iu"; iv: "bn.iv"; iw: "bn.iw"; ix: "bn.ix"; iy: "bn.iy"; iz: "bn.iz"; ja: "bn.ja"; jb: "bn.jb"; jc: "bn.jc"; jd: "bn.jd"; je: "bn.je"; jf: "bn.jf"; jg: "bn.jg"; jh: "bn.jh"; ji: "bn.ji"; jj: "bn.jj"; jk: "bn.jk"; jl: "bn.jl"; jm: "bn.jm"; jn: "bn.jn"; jo: "bn.jo"; jp: "bn.jp"; jq: "bn.jq"; jr: "bn.jr"; js: "bn.js"; jt: "bn.jt"; ju: "bn.ju"; jv: "bn.jv"; jw: "bn.jw"; jx: "bn.jx"; jy: "bn.jy"; jz: "bn.jz"; ka: "bn.ka"; kb: "bn.kb"; kc: "bn.kc"; kd: "bn.kd"; ke: "bn.ke"; kf: "bn.kf"; kg: "bn.kg"; kh: "bn.kh"; ki: "bn.ki"; kj: "bn.kj"; kk: "bn.kk"; kl: "bn.kl"; km: "bn.km"; kn: "bn.kn"; ko: "bn.ko"; kp: "bn.kp"; kq: "bn.kq"; kr: "bn.kr"; ks: "bn.ks"; kt: "bn.kt"; ku: "bn.ku"; kv: "bn.kv"; kw: "bn.kw"; kx: "bn.kx"; ky: "bn.ky"; kz: "bn.kz"; la: "bn.la"; lb: "bn.lb"; lc: "bn.lc"; ld: "bn.ld"; le: "bn.le"; lf: "bn.lf"; lg: "bn.lg"; lh: "bn.lh"; li: "bn.li"; lj: "bn.lj"; lk: "bn.lk"; ll: "bn.ll"; lm: "bn.lm"; ln: "bn.ln"; lo: "bn.lo"; lp: "bn.lp"; lq: "bn.lq"; lr: "bn.lr"; ls: "bn.ls"; lt: "bn.lt"; lu: "bn.lu"; lv: "bn.lv"; lw: "bn.lw"; lx: "bn.lx"; ly: "bn.ly"; lz: "bn.lz"; ma: "bn.ma"; mb: "bn.mb"; mc: "bn.mc"; md: "bn.md"; me: "bn.me"; mf: "bn.mf"; mg: "bn.mg"; mh: "bn.mh"; mi: "bn.mi"; mj: "bn.mj"; mk: "bn.mk"; ml: "bn.ml"; mm: "bn.mm"; mn: "bn.mn"; mo: "bn.mo"; mp: "bn.mp"; mq: "bn.mq"; mr: "bn.mr"; ms: "bn.ms"; mt: "bn.mt"; mu: "bn.mu"; mv: "bn.mv"; mw: "bn.mw"; mx: "bn.mx"; my: "bn.my"; mz: "bn.mz"; na: "bn.na"; nb: "bn.nb"; nc: "bn.nc"; nd: "bn.nd"; ne: "bn.ne"; nf: "bn.nf"; ng: "bn.ng"; nh: "bn.nh"; ni: "bn.ni"; nj: "bn.nj"; nk: "bn.nk"; nl: "bn.nl"; nm: "bn.nm"; nn: "bn.nn"; no: "bn.no"; np: "bn.np"; nq: "bn.nq"; nr: "bn.nr"; ns: "bn.ns"; nt: "bn.nt"; nu: "bn.nu"; nv: "bn.nv"; nw: "bn.nw"; nx: "bn.nx"; ny: "bn.ny"; nz: "bn.nz"; oa: "bn.oa"; ob: "bn.ob"; oc: "bn.oc"; od: "bn.od"; oe: "bn.oe"; of: "bn.of"; og: "bn.og"; oh: "bn.oh"; oi: "bn.oi"; oj: "bn.oj"; ok: "bn.ok"; ol: "bn.ol"; om: "bn.om"; on: "bn.on"; oo: "bn.oo"; op: "bn.op"; oq: "bn.oq"; or: "bn.or"; os: "bn.os"; ot: "bn.ot"; ou: "bn.ou"; ov: "bn.ov"; ow: "bn.ow"; ox: "bn.ox"; oy: "bn.oy"; oz: "bn.oz"; pa: "bn.pa"; pb: "bn.pb"; pc: "bn.pc"; pd: "bn.pd"; pe: "bn.pe"; pf: "bn.pf"; pg: "bn.pg"; ph: "bn.ph"; pi: "bn.pi"; pj: "bn.pj"; pk: "bn.pk"; pl: "bn.pl"; pm: "bn.pm"; pn: "bn.pn"; po: "bn.po"; pp: "bn.pp"; pq: "bn.pq"; pr: "bn.pr"; ps: "bn.ps"; pt: "bn.pt"; pu: "bn.pu"; pv: "bn.pv"; pw: "bn.pw"; px: "bn.px"; py: "bn.py"; pz: "bn.pz"; qa: "bn.qa"; qb: "bn.qb"; qc: "bn.qc"; qd: "bn.qd"; qe: "bn.qe"; qf: "bn.qf"; qg: "bn.qg"; qh: "bn.qh"; qi: "bn.qi"; qj: "bn.qj"; qk: "bn.qk"; ql: "bn.ql"; qm: "bn.qm"; qn: "bn.qn"; qo: "bn.qo"; qp: "bn.qp"; qq: "bn.qq"; qr: "bn.qr"; qs: "bn.qs"; qt: "bn.qt"; qu: "bn.qu"; qv: "bn.qv"; qw: "bn.qw"; qx: "bn.qx"; qy: "bn.qy"; qz: "bn.qz"; ra: "bn.ra"; rb: "bn.rb"; rc: "bn.rc"; rd: "bn.rd"; re: "bn.re"; rf: "bn.rf"; rg: "bn.rg"; rh: "bn.rh"; ri: "bn.ri"; rj: "bn.rj"; rk: "bn.rk"; rl: "bn.rl"; rm: "bn.rm"; rn: "bn.rn"; ro: "bn.ro"; rp: "bn.rp"; rq: "bn.rq"; rr: "bn.rr"; rs: "bn.rs"; rt: "bn.rt"; ru: "bn.ru"; rv: "bn.rv"; rw: "bn.rw"; rx: "bn.rx"; ry: "bn.ry"; rz: "bn.rz"; sa: "bn.sa"; sb: "bn.sb"; sc: "bn.sc"; sd: "bn.sd"; se: "bn.se"; sf: "bn.sf"; sg: "bn.sg"; sh: "bn.sh"; si: "bn.si"; sj: "bn.sj"; sk: "bn.sk"; sl: "bn.sl"; sm: "bn.sm"; sn: "bn.sn"; so: "bn.so"; sp: "bn.sp"; sq: "bn.sq"; sr: "bn.sr"; ss: "bn.ss"; st: "bn.st"; su: "bn.su"; sv: "bn.sv"; sw: "bn.sw"; sx: "bn.sx"; sy: "bn.sy"; sz: "bn.sz"; ta: "bn.ta"; tb: "bn.tb"; tc: "bn.tc"; td: "bn.td"; te: "bn.te"; tf: "bn.tf"; tg: "bn.tg"; th: "bn.th"; ti: "bn.ti"; tj: "bn.tj"; tk: "bn.tk"; tl: "bn.tl"; tm: "bn.tm"; tn: "bn.tn"; to: "bn.to"; tp: "bn.tp"; tq: "bn.tq"; tr: "bn.tr"; ts: "bn.ts"; tt: "bn.tt"; tu: "bn.tu"; tv: "bn.tv"; tw: "bn.tw"; tx: "bn.tx"; ty: "bn.ty"; tz: "bn.tz"; ua: "bn.ua"; ub: "bn.ub"; uc: "bn.uc"; ud: "bn.ud"; ue: "bn.ue"; uf: "bn.uf"; ug: "bn.ug"; uh: "bn.uh"; ui: "bn.ui"; uj: "bn.uj"; uk: "bn.uk"; ul: "bn.ul"; um: "bn.um"; un: "bn.un"; uo: "bn.uo"; up: "bn.up"; uq: "bn.uq"; ur: "bn.ur"; us: "bn.us"; ut: "bn.ut"; uu: "bn.uu"; uv: "bn.uv"; uw: "bn.uw"; ux: "bn.ux"; uy: "bn.uy"; uz: "bn.uz"; va: "bn.va"; vb: "bn.vb"; vc: "bn.vc"; vd: "bn.vd"; ve: "bn.ve"; vf: "bn.vf"; vg: "bn.vg"; vh: "bn.vh"; vi: "bn.vi"; vj: "bn.vj"; vk: "bn.vk"; vl: "bn.vl"; vm: "bn.vm"; vn: "bn.vn"; vo: "bn.vo"; vp: "bn.vp"; vq: "bn.vq"; vr: "bn.vr"; vs: "bn.vs"; vt: "bn.vt"; vu: "bn.vu"; vv: "bn.vv"; vw: "bn.vw"; vx: "bn.vx"; vy: "bn.vy"; vz: "bn.vz"; wa: "bn.wa"; wb: "bn.wb"; wc: "bn.wc"; wd: "bn.wd"; we: "bn.we"; wf: "bn.wf"; wg: "bn.wg"; wh: "bn.wh"; wi: "bn.wi"; wj: "bn.wj"; wk: "bn.wk"; wl: "bn.wl"; wm: "bn.wm"; wn: "bn.wn"; wo: "bn.wo"; wp: "bn.wp"; wq: "bn.wq"; wr: "bn.wr"; ws: "bn.ws"; wt: "bn.wt"; wu: "bn.wu"; wv: "bn.wv"; ww: "bn.ww"; wx: "bn.wx"; wy: "bn.wy"; wz: "bn.wz"; xa: "bn.xa"; xb: "bn.xb"; xc: "bn.xc"; xd: "bn.xd"; xe: "bn.xe"; xf: "bn.xf"; xg: "bn.xg"; xh: "bn.xh"; xi: "bn.xi"; xj: "bn.xj"; xk: "bn.xk"; xl: "bn.xl"; xm: "bn.xm"; xn: "bn.xn"; xo: "bn.xo"; xp: "bn.xp"; xq: "bn.xq"; xr: "bn.xr"; xs: "bn.xs"; xt: "bn.xt"; xu: "bn.xu"; xv: "bn.xv"; xw: "bn.xw"; xx: "bn.xx"; xy: "bn.xy"; xz: "bn.xz"; ya: "bn.ya"; yb: "bn.yb"; yc: "bn.yc"; yd: "bn.yd"; ye: "bn.ye"; yf: "bn.yf"; yg: "bn.yg"; yh: "bn.yh"; yi: "bn.yi"; yj: "bn.yj"; yk: "bn.yk"; yl: "bn.yl"; ym: "bn.ym"; yn: "bn.yn"; yo: "bn.yo"; yp: "bn.yp"; yq: "bn.yq"; yr: "bn.yr"; ys: "bn.ys"; yt: "bn.yt"; yu: "bn.yu"; yv: "bn.yv"; yw: "bn.yw"; yx: "bn.yx"; yy: "bn.yy"; yz: "bn.yz"; za: "bn.za"; zb: "bn.zb"; zc: "bn.zc"; zd: "bn.zd"; ze: "bn.ze"; zf: "bn.zf"; zg: "bn.zg"; zh: "bn.zh"; zi: "bn.zi"; zj: "bn.zj"; zk: "bn.zk"; zl: "bn.zl"; zm: "bn.zm"; zn: "bn.zn"; zo: "bn.zo"; zp: "bn.zp"; zq: "bn.zq"; zr: "bn.zr"; zs: "bn.zs"; zt: "bn.zt"; zu: "bn.zu"; zv: "bn.zv"; zw: "bn.zw"; zx: "bn.zx"; zy: "bn.zy"; zz: "bn.zz"; }; bo: { aa: "bo.aa"; ab: "bo.ab"; ac: "bo.ac"; ad: "bo.ad"; ae: "bo.ae"; af: "bo.af"; ag: "bo.ag"; ah: "bo.ah"; ai: "bo.ai"; aj: "bo.aj"; ak: "bo.ak"; al: "bo.al"; am: "bo.am"; an: "bo.an"; ao: "bo.ao"; ap: "bo.ap"; aq: "bo.aq"; ar: "bo.ar"; as: "bo.as"; at: "bo.at"; au: "bo.au"; av: "bo.av"; aw: "bo.aw"; ax: "bo.ax"; ay: "bo.ay"; az: "bo.az"; ba: "bo.ba"; bb: "bo.bb"; bc: "bo.bc"; bd: "bo.bd"; be: "bo.be"; bf: "bo.bf"; bg: "bo.bg"; bh: "bo.bh"; bi: "bo.bi"; bj: "bo.bj"; bk: "bo.bk"; bl: "bo.bl"; bm: "bo.bm"; bn: "bo.bn"; bo: "bo.bo"; bp: "bo.bp"; bq: "bo.bq"; br: "bo.br"; bs: "bo.bs"; bt: "bo.bt"; bu: "bo.bu"; bv: "bo.bv"; bw: "bo.bw"; bx: "bo.bx"; by: "bo.by"; bz: "bo.bz"; ca: "bo.ca"; cb: "bo.cb"; cc: "bo.cc"; cd: "bo.cd"; ce: "bo.ce"; cf: "bo.cf"; cg: "bo.cg"; ch: "bo.ch"; ci: "bo.ci"; cj: "bo.cj"; ck: "bo.ck"; cl: "bo.cl"; cm: "bo.cm"; cn: "bo.cn"; co: "bo.co"; cp: "bo.cp"; cq: "bo.cq"; cr: "bo.cr"; cs: "bo.cs"; ct: "bo.ct"; cu: "bo.cu"; cv: "bo.cv"; cw: "bo.cw"; cx: "bo.cx"; cy: "bo.cy"; cz: "bo.cz"; da: "bo.da"; db: "bo.db"; dc: "bo.dc"; dd: "bo.dd"; de: "bo.de"; df: "bo.df"; dg: "bo.dg"; dh: "bo.dh"; di: "bo.di"; dj: "bo.dj"; dk: "bo.dk"; dl: "bo.dl"; dm: "bo.dm"; dn: "bo.dn"; do: "bo.do"; dp: "bo.dp"; dq: "bo.dq"; dr: "bo.dr"; ds: "bo.ds"; dt: "bo.dt"; du: "bo.du"; dv: "bo.dv"; dw: "bo.dw"; dx: "bo.dx"; dy: "bo.dy"; dz: "bo.dz"; ea: "bo.ea"; eb: "bo.eb"; ec: "bo.ec"; ed: "bo.ed"; ee: "bo.ee"; ef: "bo.ef"; eg: "bo.eg"; eh: "bo.eh"; ei: "bo.ei"; ej: "bo.ej"; ek: "bo.ek"; el: "bo.el"; em: "bo.em"; en: "bo.en"; eo: "bo.eo"; ep: "bo.ep"; eq: "bo.eq"; er: "bo.er"; es: "bo.es"; et: "bo.et"; eu: "bo.eu"; ev: "bo.ev"; ew: "bo.ew"; ex: "bo.ex"; ey: "bo.ey"; ez: "bo.ez"; fa: "bo.fa"; fb: "bo.fb"; fc: "bo.fc"; fd: "bo.fd"; fe: "bo.fe"; ff: "bo.ff"; fg: "bo.fg"; fh: "bo.fh"; fi: "bo.fi"; fj: "bo.fj"; fk: "bo.fk"; fl: "bo.fl"; fm: "bo.fm"; fn: "bo.fn"; fo: "bo.fo"; fp: "bo.fp"; fq: "bo.fq"; fr: "bo.fr"; fs: "bo.fs"; ft: "bo.ft"; fu: "bo.fu"; fv: "bo.fv"; fw: "bo.fw"; fx: "bo.fx"; fy: "bo.fy"; fz: "bo.fz"; ga: "bo.ga"; gb: "bo.gb"; gc: "bo.gc"; gd: "bo.gd"; ge: "bo.ge"; gf: "bo.gf"; gg: "bo.gg"; gh: "bo.gh"; gi: "bo.gi"; gj: "bo.gj"; gk: "bo.gk"; gl: "bo.gl"; gm: "bo.gm"; gn: "bo.gn"; go: "bo.go"; gp: "bo.gp"; gq: "bo.gq"; gr: "bo.gr"; gs: "bo.gs"; gt: "bo.gt"; gu: "bo.gu"; gv: "bo.gv"; gw: "bo.gw"; gx: "bo.gx"; gy: "bo.gy"; gz: "bo.gz"; ha: "bo.ha"; hb: "bo.hb"; hc: "bo.hc"; hd: "bo.hd"; he: "bo.he"; hf: "bo.hf"; hg: "bo.hg"; hh: "bo.hh"; hi: "bo.hi"; hj: "bo.hj"; hk: "bo.hk"; hl: "bo.hl"; hm: "bo.hm"; hn: "bo.hn"; ho: "bo.ho"; hp: "bo.hp"; hq: "bo.hq"; hr: "bo.hr"; hs: "bo.hs"; ht: "bo.ht"; hu: "bo.hu"; hv: "bo.hv"; hw: "bo.hw"; hx: "bo.hx"; hy: "bo.hy"; hz: "bo.hz"; ia: "bo.ia"; ib: "bo.ib"; ic: "bo.ic"; id: "bo.id"; ie: "bo.ie"; if: "bo.if"; ig: "bo.ig"; ih: "bo.ih"; ii: "bo.ii"; ij: "bo.ij"; ik: "bo.ik"; il: "bo.il"; im: "bo.im"; in: "bo.in"; io: "bo.io"; ip: "bo.ip"; iq: "bo.iq"; ir: "bo.ir"; is: "bo.is"; it: "bo.it"; iu: "bo.iu"; iv: "bo.iv"; iw: "bo.iw"; ix: "bo.ix"; iy: "bo.iy"; iz: "bo.iz"; ja: "bo.ja"; jb: "bo.jb"; jc: "bo.jc"; jd: "bo.jd"; je: "bo.je"; jf: "bo.jf"; jg: "bo.jg"; jh: "bo.jh"; ji: "bo.ji"; jj: "bo.jj"; jk: "bo.jk"; jl: "bo.jl"; jm: "bo.jm"; jn: "bo.jn"; jo: "bo.jo"; jp: "bo.jp"; jq: "bo.jq"; jr: "bo.jr"; js: "bo.js"; jt: "bo.jt"; ju: "bo.ju"; jv: "bo.jv"; jw: "bo.jw"; jx: "bo.jx"; jy: "bo.jy"; jz: "bo.jz"; ka: "bo.ka"; kb: "bo.kb"; kc: "bo.kc"; kd: "bo.kd"; ke: "bo.ke"; kf: "bo.kf"; kg: "bo.kg"; kh: "bo.kh"; ki: "bo.ki"; kj: "bo.kj"; kk: "bo.kk"; kl: "bo.kl"; km: "bo.km"; kn: "bo.kn"; ko: "bo.ko"; kp: "bo.kp"; kq: "bo.kq"; kr: "bo.kr"; ks: "bo.ks"; kt: "bo.kt"; ku: "bo.ku"; kv: "bo.kv"; kw: "bo.kw"; kx: "bo.kx"; ky: "bo.ky"; kz: "bo.kz"; la: "bo.la"; lb: "bo.lb"; lc: "bo.lc"; ld: "bo.ld"; le: "bo.le"; lf: "bo.lf"; lg: "bo.lg"; lh: "bo.lh"; li: "bo.li"; lj: "bo.lj"; lk: "bo.lk"; ll: "bo.ll"; lm: "bo.lm"; ln: "bo.ln"; lo: "bo.lo"; lp: "bo.lp"; lq: "bo.lq"; lr: "bo.lr"; ls: "bo.ls"; lt: "bo.lt"; lu: "bo.lu"; lv: "bo.lv"; lw: "bo.lw"; lx: "bo.lx"; ly: "bo.ly"; lz: "bo.lz"; ma: "bo.ma"; mb: "bo.mb"; mc: "bo.mc"; md: "bo.md"; me: "bo.me"; mf: "bo.mf"; mg: "bo.mg"; mh: "bo.mh"; mi: "bo.mi"; mj: "bo.mj"; mk: "bo.mk"; ml: "bo.ml"; mm: "bo.mm"; mn: "bo.mn"; mo: "bo.mo"; mp: "bo.mp"; mq: "bo.mq"; mr: "bo.mr"; ms: "bo.ms"; mt: "bo.mt"; mu: "bo.mu"; mv: "bo.mv"; mw: "bo.mw"; mx: "bo.mx"; my: "bo.my"; mz: "bo.mz"; na: "bo.na"; nb: "bo.nb"; nc: "bo.nc"; nd: "bo.nd"; ne: "bo.ne"; nf: "bo.nf"; ng: "bo.ng"; nh: "bo.nh"; ni: "bo.ni"; nj: "bo.nj"; nk: "bo.nk"; nl: "bo.nl"; nm: "bo.nm"; nn: "bo.nn"; no: "bo.no"; np: "bo.np"; nq: "bo.nq"; nr: "bo.nr"; ns: "bo.ns"; nt: "bo.nt"; nu: "bo.nu"; nv: "bo.nv"; nw: "bo.nw"; nx: "bo.nx"; ny: "bo.ny"; nz: "bo.nz"; oa: "bo.oa"; ob: "bo.ob"; oc: "bo.oc"; od: "bo.od"; oe: "bo.oe"; of: "bo.of"; og: "bo.og"; oh: "bo.oh"; oi: "bo.oi"; oj: "bo.oj"; ok: "bo.ok"; ol: "bo.ol"; om: "bo.om"; on: "bo.on"; oo: "bo.oo"; op: "bo.op"; oq: "bo.oq"; or: "bo.or"; os: "bo.os"; ot: "bo.ot"; ou: "bo.ou"; ov: "bo.ov"; ow: "bo.ow"; ox: "bo.ox"; oy: "bo.oy"; oz: "bo.oz"; pa: "bo.pa"; pb: "bo.pb"; pc: "bo.pc"; pd: "bo.pd"; pe: "bo.pe"; pf: "bo.pf"; pg: "bo.pg"; ph: "bo.ph"; pi: "bo.pi"; pj: "bo.pj"; pk: "bo.pk"; pl: "bo.pl"; pm: "bo.pm"; pn: "bo.pn"; po: "bo.po"; pp: "bo.pp"; pq: "bo.pq"; pr: "bo.pr"; ps: "bo.ps"; pt: "bo.pt"; pu: "bo.pu"; pv: "bo.pv"; pw: "bo.pw"; px: "bo.px"; py: "bo.py"; pz: "bo.pz"; qa: "bo.qa"; qb: "bo.qb"; qc: "bo.qc"; qd: "bo.qd"; qe: "bo.qe"; qf: "bo.qf"; qg: "bo.qg"; qh: "bo.qh"; qi: "bo.qi"; qj: "bo.qj"; qk: "bo.qk"; ql: "bo.ql"; qm: "bo.qm"; qn: "bo.qn"; qo: "bo.qo"; qp: "bo.qp"; qq: "bo.qq"; qr: "bo.qr"; qs: "bo.qs"; qt: "bo.qt"; qu: "bo.qu"; qv: "bo.qv"; qw: "bo.qw"; qx: "bo.qx"; qy: "bo.qy"; qz: "bo.qz"; ra: "bo.ra"; rb: "bo.rb"; rc: "bo.rc"; rd: "bo.rd"; re: "bo.re"; rf: "bo.rf"; rg: "bo.rg"; rh: "bo.rh"; ri: "bo.ri"; rj: "bo.rj"; rk: "bo.rk"; rl: "bo.rl"; rm: "bo.rm"; rn: "bo.rn"; ro: "bo.ro"; rp: "bo.rp"; rq: "bo.rq"; rr: "bo.rr"; rs: "bo.rs"; rt: "bo.rt"; ru: "bo.ru"; rv: "bo.rv"; rw: "bo.rw"; rx: "bo.rx"; ry: "bo.ry"; rz: "bo.rz"; sa: "bo.sa"; sb: "bo.sb"; sc: "bo.sc"; sd: "bo.sd"; se: "bo.se"; sf: "bo.sf"; sg: "bo.sg"; sh: "bo.sh"; si: "bo.si"; sj: "bo.sj"; sk: "bo.sk"; sl: "bo.sl"; sm: "bo.sm"; sn: "bo.sn"; so: "bo.so"; sp: "bo.sp"; sq: "bo.sq"; sr: "bo.sr"; ss: "bo.ss"; st: "bo.st"; su: "bo.su"; sv: "bo.sv"; sw: "bo.sw"; sx: "bo.sx"; sy: "bo.sy"; sz: "bo.sz"; ta: "bo.ta"; tb: "bo.tb"; tc: "bo.tc"; td: "bo.td"; te: "bo.te"; tf: "bo.tf"; tg: "bo.tg"; th: "bo.th"; ti: "bo.ti"; tj: "bo.tj"; tk: "bo.tk"; tl: "bo.tl"; tm: "bo.tm"; tn: "bo.tn"; to: "bo.to"; tp: "bo.tp"; tq: "bo.tq"; tr: "bo.tr"; ts: "bo.ts"; tt: "bo.tt"; tu: "bo.tu"; tv: "bo.tv"; tw: "bo.tw"; tx: "bo.tx"; ty: "bo.ty"; tz: "bo.tz"; ua: "bo.ua"; ub: "bo.ub"; uc: "bo.uc"; ud: "bo.ud"; ue: "bo.ue"; uf: "bo.uf"; ug: "bo.ug"; uh: "bo.uh"; ui: "bo.ui"; uj: "bo.uj"; uk: "bo.uk"; ul: "bo.ul"; um: "bo.um"; un: "bo.un"; uo: "bo.uo"; up: "bo.up"; uq: "bo.uq"; ur: "bo.ur"; us: "bo.us"; ut: "bo.ut"; uu: "bo.uu"; uv: "bo.uv"; uw: "bo.uw"; ux: "bo.ux"; uy: "bo.uy"; uz: "bo.uz"; va: "bo.va"; vb: "bo.vb"; vc: "bo.vc"; vd: "bo.vd"; ve: "bo.ve"; vf: "bo.vf"; vg: "bo.vg"; vh: "bo.vh"; vi: "bo.vi"; vj: "bo.vj"; vk: "bo.vk"; vl: "bo.vl"; vm: "bo.vm"; vn: "bo.vn"; vo: "bo.vo"; vp: "bo.vp"; vq: "bo.vq"; vr: "bo.vr"; vs: "bo.vs"; vt: "bo.vt"; vu: "bo.vu"; vv: "bo.vv"; vw: "bo.vw"; vx: "bo.vx"; vy: "bo.vy"; vz: "bo.vz"; wa: "bo.wa"; wb: "bo.wb"; wc: "bo.wc"; wd: "bo.wd"; we: "bo.we"; wf: "bo.wf"; wg: "bo.wg"; wh: "bo.wh"; wi: "bo.wi"; wj: "bo.wj"; wk: "bo.wk"; wl: "bo.wl"; wm: "bo.wm"; wn: "bo.wn"; wo: "bo.wo"; wp: "bo.wp"; wq: "bo.wq"; wr: "bo.wr"; ws: "bo.ws"; wt: "bo.wt"; wu: "bo.wu"; wv: "bo.wv"; ww: "bo.ww"; wx: "bo.wx"; wy: "bo.wy"; wz: "bo.wz"; xa: "bo.xa"; xb: "bo.xb"; xc: "bo.xc"; xd: "bo.xd"; xe: "bo.xe"; xf: "bo.xf"; xg: "bo.xg"; xh: "bo.xh"; xi: "bo.xi"; xj: "bo.xj"; xk: "bo.xk"; xl: "bo.xl"; xm: "bo.xm"; xn: "bo.xn"; xo: "bo.xo"; xp: "bo.xp"; xq: "bo.xq"; xr: "bo.xr"; xs: "bo.xs"; xt: "bo.xt"; xu: "bo.xu"; xv: "bo.xv"; xw: "bo.xw"; xx: "bo.xx"; xy: "bo.xy"; xz: "bo.xz"; ya: "bo.ya"; yb: "bo.yb"; yc: "bo.yc"; yd: "bo.yd"; ye: "bo.ye"; yf: "bo.yf"; yg: "bo.yg"; yh: "bo.yh"; yi: "bo.yi"; yj: "bo.yj"; yk: "bo.yk"; yl: "bo.yl"; ym: "bo.ym"; yn: "bo.yn"; yo: "bo.yo"; yp: "bo.yp"; yq: "bo.yq"; yr: "bo.yr"; ys: "bo.ys"; yt: "bo.yt"; yu: "bo.yu"; yv: "bo.yv"; yw: "bo.yw"; yx: "bo.yx"; yy: "bo.yy"; yz: "bo.yz"; za: "bo.za"; zb: "bo.zb"; zc: "bo.zc"; zd: "bo.zd"; ze: "bo.ze"; zf: "bo.zf"; zg: "bo.zg"; zh: "bo.zh"; zi: "bo.zi"; zj: "bo.zj"; zk: "bo.zk"; zl: "bo.zl"; zm: "bo.zm"; zn: "bo.zn"; zo: "bo.zo"; zp: "bo.zp"; zq: "bo.zq"; zr: "bo.zr"; zs: "bo.zs"; zt: "bo.zt"; zu: "bo.zu"; zv: "bo.zv"; zw: "bo.zw"; zx: "bo.zx"; zy: "bo.zy"; zz: "bo.zz"; }; bp: { aa: "bp.aa"; ab: "bp.ab"; ac: "bp.ac"; ad: "bp.ad"; ae: "bp.ae"; af: "bp.af"; ag: "bp.ag"; ah: "bp.ah"; ai: "bp.ai"; aj: "bp.aj"; ak: "bp.ak"; al: "bp.al"; am: "bp.am"; an: "bp.an"; ao: "bp.ao"; ap: "bp.ap"; aq: "bp.aq"; ar: "bp.ar"; as: "bp.as"; at: "bp.at"; au: "bp.au"; av: "bp.av"; aw: "bp.aw"; ax: "bp.ax"; ay: "bp.ay"; az: "bp.az"; ba: "bp.ba"; bb: "bp.bb"; bc: "bp.bc"; bd: "bp.bd"; be: "bp.be"; bf: "bp.bf"; bg: "bp.bg"; bh: "bp.bh"; bi: "bp.bi"; bj: "bp.bj"; bk: "bp.bk"; bl: "bp.bl"; bm: "bp.bm"; bn: "bp.bn"; bo: "bp.bo"; bp: "bp.bp"; bq: "bp.bq"; br: "bp.br"; bs: "bp.bs"; bt: "bp.bt"; bu: "bp.bu"; bv: "bp.bv"; bw: "bp.bw"; bx: "bp.bx"; by: "bp.by"; bz: "bp.bz"; ca: "bp.ca"; cb: "bp.cb"; cc: "bp.cc"; cd: "bp.cd"; ce: "bp.ce"; cf: "bp.cf"; cg: "bp.cg"; ch: "bp.ch"; ci: "bp.ci"; cj: "bp.cj"; ck: "bp.ck"; cl: "bp.cl"; cm: "bp.cm"; cn: "bp.cn"; co: "bp.co"; cp: "bp.cp"; cq: "bp.cq"; cr: "bp.cr"; cs: "bp.cs"; ct: "bp.ct"; cu: "bp.cu"; cv: "bp.cv"; cw: "bp.cw"; cx: "bp.cx"; cy: "bp.cy"; cz: "bp.cz"; da: "bp.da"; db: "bp.db"; dc: "bp.dc"; dd: "bp.dd"; de: "bp.de"; df: "bp.df"; dg: "bp.dg"; dh: "bp.dh"; di: "bp.di"; dj: "bp.dj"; dk: "bp.dk"; dl: "bp.dl"; dm: "bp.dm"; dn: "bp.dn"; do: "bp.do"; dp: "bp.dp"; dq: "bp.dq"; dr: "bp.dr"; ds: "bp.ds"; dt: "bp.dt"; du: "bp.du"; dv: "bp.dv"; dw: "bp.dw"; dx: "bp.dx"; dy: "bp.dy"; dz: "bp.dz"; ea: "bp.ea"; eb: "bp.eb"; ec: "bp.ec"; ed: "bp.ed"; ee: "bp.ee"; ef: "bp.ef"; eg: "bp.eg"; eh: "bp.eh"; ei: "bp.ei"; ej: "bp.ej"; ek: "bp.ek"; el: "bp.el"; em: "bp.em"; en: "bp.en"; eo: "bp.eo"; ep: "bp.ep"; eq: "bp.eq"; er: "bp.er"; es: "bp.es"; et: "bp.et"; eu: "bp.eu"; ev: "bp.ev"; ew: "bp.ew"; ex: "bp.ex"; ey: "bp.ey"; ez: "bp.ez"; fa: "bp.fa"; fb: "bp.fb"; fc: "bp.fc"; fd: "bp.fd"; fe: "bp.fe"; ff: "bp.ff"; fg: "bp.fg"; fh: "bp.fh"; fi: "bp.fi"; fj: "bp.fj"; fk: "bp.fk"; fl: "bp.fl"; fm: "bp.fm"; fn: "bp.fn"; fo: "bp.fo"; fp: "bp.fp"; fq: "bp.fq"; fr: "bp.fr"; fs: "bp.fs"; ft: "bp.ft"; fu: "bp.fu"; fv: "bp.fv"; fw: "bp.fw"; fx: "bp.fx"; fy: "bp.fy"; fz: "bp.fz"; ga: "bp.ga"; gb: "bp.gb"; gc: "bp.gc"; gd: "bp.gd"; ge: "bp.ge"; gf: "bp.gf"; gg: "bp.gg"; gh: "bp.gh"; gi: "bp.gi"; gj: "bp.gj"; gk: "bp.gk"; gl: "bp.gl"; gm: "bp.gm"; gn: "bp.gn"; go: "bp.go"; gp: "bp.gp"; gq: "bp.gq"; gr: "bp.gr"; gs: "bp.gs"; gt: "bp.gt"; gu: "bp.gu"; gv: "bp.gv"; gw: "bp.gw"; gx: "bp.gx"; gy: "bp.gy"; gz: "bp.gz"; ha: "bp.ha"; hb: "bp.hb"; hc: "bp.hc"; hd: "bp.hd"; he: "bp.he"; hf: "bp.hf"; hg: "bp.hg"; hh: "bp.hh"; hi: "bp.hi"; hj: "bp.hj"; hk: "bp.hk"; hl: "bp.hl"; hm: "bp.hm"; hn: "bp.hn"; ho: "bp.ho"; hp: "bp.hp"; hq: "bp.hq"; hr: "bp.hr"; hs: "bp.hs"; ht: "bp.ht"; hu: "bp.hu"; hv: "bp.hv"; hw: "bp.hw"; hx: "bp.hx"; hy: "bp.hy"; hz: "bp.hz"; ia: "bp.ia"; ib: "bp.ib"; ic: "bp.ic"; id: "bp.id"; ie: "bp.ie"; if: "bp.if"; ig: "bp.ig"; ih: "bp.ih"; ii: "bp.ii"; ij: "bp.ij"; ik: "bp.ik"; il: "bp.il"; im: "bp.im"; in: "bp.in"; io: "bp.io"; ip: "bp.ip"; iq: "bp.iq"; ir: "bp.ir"; is: "bp.is"; it: "bp.it"; iu: "bp.iu"; iv: "bp.iv"; iw: "bp.iw"; ix: "bp.ix"; iy: "bp.iy"; iz: "bp.iz"; ja: "bp.ja"; jb: "bp.jb"; jc: "bp.jc"; jd: "bp.jd"; je: "bp.je"; jf: "bp.jf"; jg: "bp.jg"; jh: "bp.jh"; ji: "bp.ji"; jj: "bp.jj"; jk: "bp.jk"; jl: "bp.jl"; jm: "bp.jm"; jn: "bp.jn"; jo: "bp.jo"; jp: "bp.jp"; jq: "bp.jq"; jr: "bp.jr"; js: "bp.js"; jt: "bp.jt"; ju: "bp.ju"; jv: "bp.jv"; jw: "bp.jw"; jx: "bp.jx"; jy: "bp.jy"; jz: "bp.jz"; ka: "bp.ka"; kb: "bp.kb"; kc: "bp.kc"; kd: "bp.kd"; ke: "bp.ke"; kf: "bp.kf"; kg: "bp.kg"; kh: "bp.kh"; ki: "bp.ki"; kj: "bp.kj"; kk: "bp.kk"; kl: "bp.kl"; km: "bp.km"; kn: "bp.kn"; ko: "bp.ko"; kp: "bp.kp"; kq: "bp.kq"; kr: "bp.kr"; ks: "bp.ks"; kt: "bp.kt"; ku: "bp.ku"; kv: "bp.kv"; kw: "bp.kw"; kx: "bp.kx"; ky: "bp.ky"; kz: "bp.kz"; la: "bp.la"; lb: "bp.lb"; lc: "bp.lc"; ld: "bp.ld"; le: "bp.le"; lf: "bp.lf"; lg: "bp.lg"; lh: "bp.lh"; li: "bp.li"; lj: "bp.lj"; lk: "bp.lk"; ll: "bp.ll"; lm: "bp.lm"; ln: "bp.ln"; lo: "bp.lo"; lp: "bp.lp"; lq: "bp.lq"; lr: "bp.lr"; ls: "bp.ls"; lt: "bp.lt"; lu: "bp.lu"; lv: "bp.lv"; lw: "bp.lw"; lx: "bp.lx"; ly: "bp.ly"; lz: "bp.lz"; ma: "bp.ma"; mb: "bp.mb"; mc: "bp.mc"; md: "bp.md"; me: "bp.me"; mf: "bp.mf"; mg: "bp.mg"; mh: "bp.mh"; mi: "bp.mi"; mj: "bp.mj"; mk: "bp.mk"; ml: "bp.ml"; mm: "bp.mm"; mn: "bp.mn"; mo: "bp.mo"; mp: "bp.mp"; mq: "bp.mq"; mr: "bp.mr"; ms: "bp.ms"; mt: "bp.mt"; mu: "bp.mu"; mv: "bp.mv"; mw: "bp.mw"; mx: "bp.mx"; my: "bp.my"; mz: "bp.mz"; na: "bp.na"; nb: "bp.nb"; nc: "bp.nc"; nd: "bp.nd"; ne: "bp.ne"; nf: "bp.nf"; ng: "bp.ng"; nh: "bp.nh"; ni: "bp.ni"; nj: "bp.nj"; nk: "bp.nk"; nl: "bp.nl"; nm: "bp.nm"; nn: "bp.nn"; no: "bp.no"; np: "bp.np"; nq: "bp.nq"; nr: "bp.nr"; ns: "bp.ns"; nt: "bp.nt"; nu: "bp.nu"; nv: "bp.nv"; nw: "bp.nw"; nx: "bp.nx"; ny: "bp.ny"; nz: "bp.nz"; oa: "bp.oa"; ob: "bp.ob"; oc: "bp.oc"; od: "bp.od"; oe: "bp.oe"; of: "bp.of"; og: "bp.og"; oh: "bp.oh"; oi: "bp.oi"; oj: "bp.oj"; ok: "bp.ok"; ol: "bp.ol"; om: "bp.om"; on: "bp.on"; oo: "bp.oo"; op: "bp.op"; oq: "bp.oq"; or: "bp.or"; os: "bp.os"; ot: "bp.ot"; ou: "bp.ou"; ov: "bp.ov"; ow: "bp.ow"; ox: "bp.ox"; oy: "bp.oy"; oz: "bp.oz"; pa: "bp.pa"; pb: "bp.pb"; pc: "bp.pc"; pd: "bp.pd"; pe: "bp.pe"; pf: "bp.pf"; pg: "bp.pg"; ph: "bp.ph"; pi: "bp.pi"; pj: "bp.pj"; pk: "bp.pk"; pl: "bp.pl"; pm: "bp.pm"; pn: "bp.pn"; po: "bp.po"; pp: "bp.pp"; pq: "bp.pq"; pr: "bp.pr"; ps: "bp.ps"; pt: "bp.pt"; pu: "bp.pu"; pv: "bp.pv"; pw: "bp.pw"; px: "bp.px"; py: "bp.py"; pz: "bp.pz"; qa: "bp.qa"; qb: "bp.qb"; qc: "bp.qc"; qd: "bp.qd"; qe: "bp.qe"; qf: "bp.qf"; qg: "bp.qg"; qh: "bp.qh"; qi: "bp.qi"; qj: "bp.qj"; qk: "bp.qk"; ql: "bp.ql"; qm: "bp.qm"; qn: "bp.qn"; qo: "bp.qo"; qp: "bp.qp"; qq: "bp.qq"; qr: "bp.qr"; qs: "bp.qs"; qt: "bp.qt"; qu: "bp.qu"; qv: "bp.qv"; qw: "bp.qw"; qx: "bp.qx"; qy: "bp.qy"; qz: "bp.qz"; ra: "bp.ra"; rb: "bp.rb"; rc: "bp.rc"; rd: "bp.rd"; re: "bp.re"; rf: "bp.rf"; rg: "bp.rg"; rh: "bp.rh"; ri: "bp.ri"; rj: "bp.rj"; rk: "bp.rk"; rl: "bp.rl"; rm: "bp.rm"; rn: "bp.rn"; ro: "bp.ro"; rp: "bp.rp"; rq: "bp.rq"; rr: "bp.rr"; rs: "bp.rs"; rt: "bp.rt"; ru: "bp.ru"; rv: "bp.rv"; rw: "bp.rw"; rx: "bp.rx"; ry: "bp.ry"; rz: "bp.rz"; sa: "bp.sa"; sb: "bp.sb"; sc: "bp.sc"; sd: "bp.sd"; se: "bp.se"; sf: "bp.sf"; sg: "bp.sg"; sh: "bp.sh"; si: "bp.si"; sj: "bp.sj"; sk: "bp.sk"; sl: "bp.sl"; sm: "bp.sm"; sn: "bp.sn"; so: "bp.so"; sp: "bp.sp"; sq: "bp.sq"; sr: "bp.sr"; ss: "bp.ss"; st: "bp.st"; su: "bp.su"; sv: "bp.sv"; sw: "bp.sw"; sx: "bp.sx"; sy: "bp.sy"; sz: "bp.sz"; ta: "bp.ta"; tb: "bp.tb"; tc: "bp.tc"; td: "bp.td"; te: "bp.te"; tf: "bp.tf"; tg: "bp.tg"; th: "bp.th"; ti: "bp.ti"; tj: "bp.tj"; tk: "bp.tk"; tl: "bp.tl"; tm: "bp.tm"; tn: "bp.tn"; to: "bp.to"; tp: "bp.tp"; tq: "bp.tq"; tr: "bp.tr"; ts: "bp.ts"; tt: "bp.tt"; tu: "bp.tu"; tv: "bp.tv"; tw: "bp.tw"; tx: "bp.tx"; ty: "bp.ty"; tz: "bp.tz"; ua: "bp.ua"; ub: "bp.ub"; uc: "bp.uc"; ud: "bp.ud"; ue: "bp.ue"; uf: "bp.uf"; ug: "bp.ug"; uh: "bp.uh"; ui: "bp.ui"; uj: "bp.uj"; uk: "bp.uk"; ul: "bp.ul"; um: "bp.um"; un: "bp.un"; uo: "bp.uo"; up: "bp.up"; uq: "bp.uq"; ur: "bp.ur"; us: "bp.us"; ut: "bp.ut"; uu: "bp.uu"; uv: "bp.uv"; uw: "bp.uw"; ux: "bp.ux"; uy: "bp.uy"; uz: "bp.uz"; va: "bp.va"; vb: "bp.vb"; vc: "bp.vc"; vd: "bp.vd"; ve: "bp.ve"; vf: "bp.vf"; vg: "bp.vg"; vh: "bp.vh"; vi: "bp.vi"; vj: "bp.vj"; vk: "bp.vk"; vl: "bp.vl"; vm: "bp.vm"; vn: "bp.vn"; vo: "bp.vo"; vp: "bp.vp"; vq: "bp.vq"; vr: "bp.vr"; vs: "bp.vs"; vt: "bp.vt"; vu: "bp.vu"; vv: "bp.vv"; vw: "bp.vw"; vx: "bp.vx"; vy: "bp.vy"; vz: "bp.vz"; wa: "bp.wa"; wb: "bp.wb"; wc: "bp.wc"; wd: "bp.wd"; we: "bp.we"; wf: "bp.wf"; wg: "bp.wg"; wh: "bp.wh"; wi: "bp.wi"; wj: "bp.wj"; wk: "bp.wk"; wl: "bp.wl"; wm: "bp.wm"; wn: "bp.wn"; wo: "bp.wo"; wp: "bp.wp"; wq: "bp.wq"; wr: "bp.wr"; ws: "bp.ws"; wt: "bp.wt"; wu: "bp.wu"; wv: "bp.wv"; ww: "bp.ww"; wx: "bp.wx"; wy: "bp.wy"; wz: "bp.wz"; xa: "bp.xa"; xb: "bp.xb"; xc: "bp.xc"; xd: "bp.xd"; xe: "bp.xe"; xf: "bp.xf"; xg: "bp.xg"; xh: "bp.xh"; xi: "bp.xi"; xj: "bp.xj"; xk: "bp.xk"; xl: "bp.xl"; xm: "bp.xm"; xn: "bp.xn"; xo: "bp.xo"; xp: "bp.xp"; xq: "bp.xq"; xr: "bp.xr"; xs: "bp.xs"; xt: "bp.xt"; xu: "bp.xu"; xv: "bp.xv"; xw: "bp.xw"; xx: "bp.xx"; xy: "bp.xy"; xz: "bp.xz"; ya: "bp.ya"; yb: "bp.yb"; yc: "bp.yc"; yd: "bp.yd"; ye: "bp.ye"; yf: "bp.yf"; yg: "bp.yg"; yh: "bp.yh"; yi: "bp.yi"; yj: "bp.yj"; yk: "bp.yk"; yl: "bp.yl"; ym: "bp.ym"; yn: "bp.yn"; yo: "bp.yo"; yp: "bp.yp"; yq: "bp.yq"; yr: "bp.yr"; ys: "bp.ys"; yt: "bp.yt"; yu: "bp.yu"; yv: "bp.yv"; yw: "bp.yw"; yx: "bp.yx"; yy: "bp.yy"; yz: "bp.yz"; za: "bp.za"; zb: "bp.zb"; zc: "bp.zc"; zd: "bp.zd"; ze: "bp.ze"; zf: "bp.zf"; zg: "bp.zg"; zh: "bp.zh"; zi: "bp.zi"; zj: "bp.zj"; zk: "bp.zk"; zl: "bp.zl"; zm: "bp.zm"; zn: "bp.zn"; zo: "bp.zo"; zp: "bp.zp"; zq: "bp.zq"; zr: "bp.zr"; zs: "bp.zs"; zt: "bp.zt"; zu: "bp.zu"; zv: "bp.zv"; zw: "bp.zw"; zx: "bp.zx"; zy: "bp.zy"; zz: "bp.zz"; }; bq: { aa: "bq.aa"; ab: "bq.ab"; ac: "bq.ac"; ad: "bq.ad"; ae: "bq.ae"; af: "bq.af"; ag: "bq.ag"; ah: "bq.ah"; ai: "bq.ai"; aj: "bq.aj"; ak: "bq.ak"; al: "bq.al"; am: "bq.am"; an: "bq.an"; ao: "bq.ao"; ap: "bq.ap"; aq: "bq.aq"; ar: "bq.ar"; as: "bq.as"; at: "bq.at"; au: "bq.au"; av: "bq.av"; aw: "bq.aw"; ax: "bq.ax"; ay: "bq.ay"; az: "bq.az"; ba: "bq.ba"; bb: "bq.bb"; bc: "bq.bc"; bd: "bq.bd"; be: "bq.be"; bf: "bq.bf"; bg: "bq.bg"; bh: "bq.bh"; bi: "bq.bi"; bj: "bq.bj"; bk: "bq.bk"; bl: "bq.bl"; bm: "bq.bm"; bn: "bq.bn"; bo: "bq.bo"; bp: "bq.bp"; bq: "bq.bq"; br: "bq.br"; bs: "bq.bs"; bt: "bq.bt"; bu: "bq.bu"; bv: "bq.bv"; bw: "bq.bw"; bx: "bq.bx"; by: "bq.by"; bz: "bq.bz"; ca: "bq.ca"; cb: "bq.cb"; cc: "bq.cc"; cd: "bq.cd"; ce: "bq.ce"; cf: "bq.cf"; cg: "bq.cg"; ch: "bq.ch"; ci: "bq.ci"; cj: "bq.cj"; ck: "bq.ck"; cl: "bq.cl"; cm: "bq.cm"; cn: "bq.cn"; co: "bq.co"; cp: "bq.cp"; cq: "bq.cq"; cr: "bq.cr"; cs: "bq.cs"; ct: "bq.ct"; cu: "bq.cu"; cv: "bq.cv"; cw: "bq.cw"; cx: "bq.cx"; cy: "bq.cy"; cz: "bq.cz"; da: "bq.da"; db: "bq.db"; dc: "bq.dc"; dd: "bq.dd"; de: "bq.de"; df: "bq.df"; dg: "bq.dg"; dh: "bq.dh"; di: "bq.di"; dj: "bq.dj"; dk: "bq.dk"; dl: "bq.dl"; dm: "bq.dm"; dn: "bq.dn"; do: "bq.do"; dp: "bq.dp"; dq: "bq.dq"; dr: "bq.dr"; ds: "bq.ds"; dt: "bq.dt"; du: "bq.du"; dv: "bq.dv"; dw: "bq.dw"; dx: "bq.dx"; dy: "bq.dy"; dz: "bq.dz"; ea: "bq.ea"; eb: "bq.eb"; ec: "bq.ec"; ed: "bq.ed"; ee: "bq.ee"; ef: "bq.ef"; eg: "bq.eg"; eh: "bq.eh"; ei: "bq.ei"; ej: "bq.ej"; ek: "bq.ek"; el: "bq.el"; em: "bq.em"; en: "bq.en"; eo: "bq.eo"; ep: "bq.ep"; eq: "bq.eq"; er: "bq.er"; es: "bq.es"; et: "bq.et"; eu: "bq.eu"; ev: "bq.ev"; ew: "bq.ew"; ex: "bq.ex"; ey: "bq.ey"; ez: "bq.ez"; fa: "bq.fa"; fb: "bq.fb"; fc: "bq.fc"; fd: "bq.fd"; fe: "bq.fe"; ff: "bq.ff"; fg: "bq.fg"; fh: "bq.fh"; fi: "bq.fi"; fj: "bq.fj"; fk: "bq.fk"; fl: "bq.fl"; fm: "bq.fm"; fn: "bq.fn"; fo: "bq.fo"; fp: "bq.fp"; fq: "bq.fq"; fr: "bq.fr"; fs: "bq.fs"; ft: "bq.ft"; fu: "bq.fu"; fv: "bq.fv"; fw: "bq.fw"; fx: "bq.fx"; fy: "bq.fy"; fz: "bq.fz"; ga: "bq.ga"; gb: "bq.gb"; gc: "bq.gc"; gd: "bq.gd"; ge: "bq.ge"; gf: "bq.gf"; gg: "bq.gg"; gh: "bq.gh"; gi: "bq.gi"; gj: "bq.gj"; gk: "bq.gk"; gl: "bq.gl"; gm: "bq.gm"; gn: "bq.gn"; go: "bq.go"; gp: "bq.gp"; gq: "bq.gq"; gr: "bq.gr"; gs: "bq.gs"; gt: "bq.gt"; gu: "bq.gu"; gv: "bq.gv"; gw: "bq.gw"; gx: "bq.gx"; gy: "bq.gy"; gz: "bq.gz"; ha: "bq.ha"; hb: "bq.hb"; hc: "bq.hc"; hd: "bq.hd"; he: "bq.he"; hf: "bq.hf"; hg: "bq.hg"; hh: "bq.hh"; hi: "bq.hi"; hj: "bq.hj"; hk: "bq.hk"; hl: "bq.hl"; hm: "bq.hm"; hn: "bq.hn"; ho: "bq.ho"; hp: "bq.hp"; hq: "bq.hq"; hr: "bq.hr"; hs: "bq.hs"; ht: "bq.ht"; hu: "bq.hu"; hv: "bq.hv"; hw: "bq.hw"; hx: "bq.hx"; hy: "bq.hy"; hz: "bq.hz"; ia: "bq.ia"; ib: "bq.ib"; ic: "bq.ic"; id: "bq.id"; ie: "bq.ie"; if: "bq.if"; ig: "bq.ig"; ih: "bq.ih"; ii: "bq.ii"; ij: "bq.ij"; ik: "bq.ik"; il: "bq.il"; im: "bq.im"; in: "bq.in"; io: "bq.io"; ip: "bq.ip"; iq: "bq.iq"; ir: "bq.ir"; is: "bq.is"; it: "bq.it"; iu: "bq.iu"; iv: "bq.iv"; iw: "bq.iw"; ix: "bq.ix"; iy: "bq.iy"; iz: "bq.iz"; ja: "bq.ja"; jb: "bq.jb"; jc: "bq.jc"; jd: "bq.jd"; je: "bq.je"; jf: "bq.jf"; jg: "bq.jg"; jh: "bq.jh"; ji: "bq.ji"; jj: "bq.jj"; jk: "bq.jk"; jl: "bq.jl"; jm: "bq.jm"; jn: "bq.jn"; jo: "bq.jo"; jp: "bq.jp"; jq: "bq.jq"; jr: "bq.jr"; js: "bq.js"; jt: "bq.jt"; ju: "bq.ju"; jv: "bq.jv"; jw: "bq.jw"; jx: "bq.jx"; jy: "bq.jy"; jz: "bq.jz"; ka: "bq.ka"; kb: "bq.kb"; kc: "bq.kc"; kd: "bq.kd"; ke: "bq.ke"; kf: "bq.kf"; kg: "bq.kg"; kh: "bq.kh"; ki: "bq.ki"; kj: "bq.kj"; kk: "bq.kk"; kl: "bq.kl"; km: "bq.km"; kn: "bq.kn"; ko: "bq.ko"; kp: "bq.kp"; kq: "bq.kq"; kr: "bq.kr"; ks: "bq.ks"; kt: "bq.kt"; ku: "bq.ku"; kv: "bq.kv"; kw: "bq.kw"; kx: "bq.kx"; ky: "bq.ky"; kz: "bq.kz"; la: "bq.la"; lb: "bq.lb"; lc: "bq.lc"; ld: "bq.ld"; le: "bq.le"; lf: "bq.lf"; lg: "bq.lg"; lh: "bq.lh"; li: "bq.li"; lj: "bq.lj"; lk: "bq.lk"; ll: "bq.ll"; lm: "bq.lm"; ln: "bq.ln"; lo: "bq.lo"; lp: "bq.lp"; lq: "bq.lq"; lr: "bq.lr"; ls: "bq.ls"; lt: "bq.lt"; lu: "bq.lu"; lv: "bq.lv"; lw: "bq.lw"; lx: "bq.lx"; ly: "bq.ly"; lz: "bq.lz"; ma: "bq.ma"; mb: "bq.mb"; mc: "bq.mc"; md: "bq.md"; me: "bq.me"; mf: "bq.mf"; mg: "bq.mg"; mh: "bq.mh"; mi: "bq.mi"; mj: "bq.mj"; mk: "bq.mk"; ml: "bq.ml"; mm: "bq.mm"; mn: "bq.mn"; mo: "bq.mo"; mp: "bq.mp"; mq: "bq.mq"; mr: "bq.mr"; ms: "bq.ms"; mt: "bq.mt"; mu: "bq.mu"; mv: "bq.mv"; mw: "bq.mw"; mx: "bq.mx"; my: "bq.my"; mz: "bq.mz"; na: "bq.na"; nb: "bq.nb"; nc: "bq.nc"; nd: "bq.nd"; ne: "bq.ne"; nf: "bq.nf"; ng: "bq.ng"; nh: "bq.nh"; ni: "bq.ni"; nj: "bq.nj"; nk: "bq.nk"; nl: "bq.nl"; nm: "bq.nm"; nn: "bq.nn"; no: "bq.no"; np: "bq.np"; nq: "bq.nq"; nr: "bq.nr"; ns: "bq.ns"; nt: "bq.nt"; nu: "bq.nu"; nv: "bq.nv"; nw: "bq.nw"; nx: "bq.nx"; ny: "bq.ny"; nz: "bq.nz"; oa: "bq.oa"; ob: "bq.ob"; oc: "bq.oc"; od: "bq.od"; oe: "bq.oe"; of: "bq.of"; og: "bq.og"; oh: "bq.oh"; oi: "bq.oi"; oj: "bq.oj"; ok: "bq.ok"; ol: "bq.ol"; om: "bq.om"; on: "bq.on"; oo: "bq.oo"; op: "bq.op"; oq: "bq.oq"; or: "bq.or"; os: "bq.os"; ot: "bq.ot"; ou: "bq.ou"; ov: "bq.ov"; ow: "bq.ow"; ox: "bq.ox"; oy: "bq.oy"; oz: "bq.oz"; pa: "bq.pa"; pb: "bq.pb"; pc: "bq.pc"; pd: "bq.pd"; pe: "bq.pe"; pf: "bq.pf"; pg: "bq.pg"; ph: "bq.ph"; pi: "bq.pi"; pj: "bq.pj"; pk: "bq.pk"; pl: "bq.pl"; pm: "bq.pm"; pn: "bq.pn"; po: "bq.po"; pp: "bq.pp"; pq: "bq.pq"; pr: "bq.pr"; ps: "bq.ps"; pt: "bq.pt"; pu: "bq.pu"; pv: "bq.pv"; pw: "bq.pw"; px: "bq.px"; py: "bq.py"; pz: "bq.pz"; qa: "bq.qa"; qb: "bq.qb"; qc: "bq.qc"; qd: "bq.qd"; qe: "bq.qe"; qf: "bq.qf"; qg: "bq.qg"; qh: "bq.qh"; qi: "bq.qi"; qj: "bq.qj"; qk: "bq.qk"; ql: "bq.ql"; qm: "bq.qm"; qn: "bq.qn"; qo: "bq.qo"; qp: "bq.qp"; qq: "bq.qq"; qr: "bq.qr"; qs: "bq.qs"; qt: "bq.qt"; qu: "bq.qu"; qv: "bq.qv"; qw: "bq.qw"; qx: "bq.qx"; qy: "bq.qy"; qz: "bq.qz"; ra: "bq.ra"; rb: "bq.rb"; rc: "bq.rc"; rd: "bq.rd"; re: "bq.re"; rf: "bq.rf"; rg: "bq.rg"; rh: "bq.rh"; ri: "bq.ri"; rj: "bq.rj"; rk: "bq.rk"; rl: "bq.rl"; rm: "bq.rm"; rn: "bq.rn"; ro: "bq.ro"; rp: "bq.rp"; rq: "bq.rq"; rr: "bq.rr"; rs: "bq.rs"; rt: "bq.rt"; ru: "bq.ru"; rv: "bq.rv"; rw: "bq.rw"; rx: "bq.rx"; ry: "bq.ry"; rz: "bq.rz"; sa: "bq.sa"; sb: "bq.sb"; sc: "bq.sc"; sd: "bq.sd"; se: "bq.se"; sf: "bq.sf"; sg: "bq.sg"; sh: "bq.sh"; si: "bq.si"; sj: "bq.sj"; sk: "bq.sk"; sl: "bq.sl"; sm: "bq.sm"; sn: "bq.sn"; so: "bq.so"; sp: "bq.sp"; sq: "bq.sq"; sr: "bq.sr"; ss: "bq.ss"; st: "bq.st"; su: "bq.su"; sv: "bq.sv"; sw: "bq.sw"; sx: "bq.sx"; sy: "bq.sy"; sz: "bq.sz"; ta: "bq.ta"; tb: "bq.tb"; tc: "bq.tc"; td: "bq.td"; te: "bq.te"; tf: "bq.tf"; tg: "bq.tg"; th: "bq.th"; ti: "bq.ti"; tj: "bq.tj"; tk: "bq.tk"; tl: "bq.tl"; tm: "bq.tm"; tn: "bq.tn"; to: "bq.to"; tp: "bq.tp"; tq: "bq.tq"; tr: "bq.tr"; ts: "bq.ts"; tt: "bq.tt"; tu: "bq.tu"; tv: "bq.tv"; tw: "bq.tw"; tx: "bq.tx"; ty: "bq.ty"; tz: "bq.tz"; ua: "bq.ua"; ub: "bq.ub"; uc: "bq.uc"; ud: "bq.ud"; ue: "bq.ue"; uf: "bq.uf"; ug: "bq.ug"; uh: "bq.uh"; ui: "bq.ui"; uj: "bq.uj"; uk: "bq.uk"; ul: "bq.ul"; um: "bq.um"; un: "bq.un"; uo: "bq.uo"; up: "bq.up"; uq: "bq.uq"; ur: "bq.ur"; us: "bq.us"; ut: "bq.ut"; uu: "bq.uu"; uv: "bq.uv"; uw: "bq.uw"; ux: "bq.ux"; uy: "bq.uy"; uz: "bq.uz"; va: "bq.va"; vb: "bq.vb"; vc: "bq.vc"; vd: "bq.vd"; ve: "bq.ve"; vf: "bq.vf"; vg: "bq.vg"; vh: "bq.vh"; vi: "bq.vi"; vj: "bq.vj"; vk: "bq.vk"; vl: "bq.vl"; vm: "bq.vm"; vn: "bq.vn"; vo: "bq.vo"; vp: "bq.vp"; vq: "bq.vq"; vr: "bq.vr"; vs: "bq.vs"; vt: "bq.vt"; vu: "bq.vu"; vv: "bq.vv"; vw: "bq.vw"; vx: "bq.vx"; vy: "bq.vy"; vz: "bq.vz"; wa: "bq.wa"; wb: "bq.wb"; wc: "bq.wc"; wd: "bq.wd"; we: "bq.we"; wf: "bq.wf"; wg: "bq.wg"; wh: "bq.wh"; wi: "bq.wi"; wj: "bq.wj"; wk: "bq.wk"; wl: "bq.wl"; wm: "bq.wm"; wn: "bq.wn"; wo: "bq.wo"; wp: "bq.wp"; wq: "bq.wq"; wr: "bq.wr"; ws: "bq.ws"; wt: "bq.wt"; wu: "bq.wu"; wv: "bq.wv"; ww: "bq.ww"; wx: "bq.wx"; wy: "bq.wy"; wz: "bq.wz"; xa: "bq.xa"; xb: "bq.xb"; xc: "bq.xc"; xd: "bq.xd"; xe: "bq.xe"; xf: "bq.xf"; xg: "bq.xg"; xh: "bq.xh"; xi: "bq.xi"; xj: "bq.xj"; xk: "bq.xk"; xl: "bq.xl"; xm: "bq.xm"; xn: "bq.xn"; xo: "bq.xo"; xp: "bq.xp"; xq: "bq.xq"; xr: "bq.xr"; xs: "bq.xs"; xt: "bq.xt"; xu: "bq.xu"; xv: "bq.xv"; xw: "bq.xw"; xx: "bq.xx"; xy: "bq.xy"; xz: "bq.xz"; ya: "bq.ya"; yb: "bq.yb"; yc: "bq.yc"; yd: "bq.yd"; ye: "bq.ye"; yf: "bq.yf"; yg: "bq.yg"; yh: "bq.yh"; yi: "bq.yi"; yj: "bq.yj"; yk: "bq.yk"; yl: "bq.yl"; ym: "bq.ym"; yn: "bq.yn"; yo: "bq.yo"; yp: "bq.yp"; yq: "bq.yq"; yr: "bq.yr"; ys: "bq.ys"; yt: "bq.yt"; yu: "bq.yu"; yv: "bq.yv"; yw: "bq.yw"; yx: "bq.yx"; yy: "bq.yy"; yz: "bq.yz"; za: "bq.za"; zb: "bq.zb"; zc: "bq.zc"; zd: "bq.zd"; ze: "bq.ze"; zf: "bq.zf"; zg: "bq.zg"; zh: "bq.zh"; zi: "bq.zi"; zj: "bq.zj"; zk: "bq.zk"; zl: "bq.zl"; zm: "bq.zm"; zn: "bq.zn"; zo: "bq.zo"; zp: "bq.zp"; zq: "bq.zq"; zr: "bq.zr"; zs: "bq.zs"; zt: "bq.zt"; zu: "bq.zu"; zv: "bq.zv"; zw: "bq.zw"; zx: "bq.zx"; zy: "bq.zy"; zz: "bq.zz"; }; br: { aa: "br.aa"; ab: "br.ab"; ac: "br.ac"; ad: "br.ad"; ae: "br.ae"; af: "br.af"; ag: "br.ag"; ah: "br.ah"; ai: "br.ai"; aj: "br.aj"; ak: "br.ak"; al: "br.al"; am: "br.am"; an: "br.an"; ao: "br.ao"; ap: "br.ap"; aq: "br.aq"; ar: "br.ar"; as: "br.as"; at: "br.at"; au: "br.au"; av: "br.av"; aw: "br.aw"; ax: "br.ax"; ay: "br.ay"; az: "br.az"; ba: "br.ba"; bb: "br.bb"; bc: "br.bc"; bd: "br.bd"; be: "br.be"; bf: "br.bf"; bg: "br.bg"; bh: "br.bh"; bi: "br.bi"; bj: "br.bj"; bk: "br.bk"; bl: "br.bl"; bm: "br.bm"; bn: "br.bn"; bo: "br.bo"; bp: "br.bp"; bq: "br.bq"; br: "br.br"; bs: "br.bs"; bt: "br.bt"; bu: "br.bu"; bv: "br.bv"; bw: "br.bw"; bx: "br.bx"; by: "br.by"; bz: "br.bz"; ca: "br.ca"; cb: "br.cb"; cc: "br.cc"; cd: "br.cd"; ce: "br.ce"; cf: "br.cf"; cg: "br.cg"; ch: "br.ch"; ci: "br.ci"; cj: "br.cj"; ck: "br.ck"; cl: "br.cl"; cm: "br.cm"; cn: "br.cn"; co: "br.co"; cp: "br.cp"; cq: "br.cq"; cr: "br.cr"; cs: "br.cs"; ct: "br.ct"; cu: "br.cu"; cv: "br.cv"; cw: "br.cw"; cx: "br.cx"; cy: "br.cy"; cz: "br.cz"; da: "br.da"; db: "br.db"; dc: "br.dc"; dd: "br.dd"; de: "br.de"; df: "br.df"; dg: "br.dg"; dh: "br.dh"; di: "br.di"; dj: "br.dj"; dk: "br.dk"; dl: "br.dl"; dm: "br.dm"; dn: "br.dn"; do: "br.do"; dp: "br.dp"; dq: "br.dq"; dr: "br.dr"; ds: "br.ds"; dt: "br.dt"; du: "br.du"; dv: "br.dv"; dw: "br.dw"; dx: "br.dx"; dy: "br.dy"; dz: "br.dz"; ea: "br.ea"; eb: "br.eb"; ec: "br.ec"; ed: "br.ed"; ee: "br.ee"; ef: "br.ef"; eg: "br.eg"; eh: "br.eh"; ei: "br.ei"; ej: "br.ej"; ek: "br.ek"; el: "br.el"; em: "br.em"; en: "br.en"; eo: "br.eo"; ep: "br.ep"; eq: "br.eq"; er: "br.er"; es: "br.es"; et: "br.et"; eu: "br.eu"; ev: "br.ev"; ew: "br.ew"; ex: "br.ex"; ey: "br.ey"; ez: "br.ez"; fa: "br.fa"; fb: "br.fb"; fc: "br.fc"; fd: "br.fd"; fe: "br.fe"; ff: "br.ff"; fg: "br.fg"; fh: "br.fh"; fi: "br.fi"; fj: "br.fj"; fk: "br.fk"; fl: "br.fl"; fm: "br.fm"; fn: "br.fn"; fo: "br.fo"; fp: "br.fp"; fq: "br.fq"; fr: "br.fr"; fs: "br.fs"; ft: "br.ft"; fu: "br.fu"; fv: "br.fv"; fw: "br.fw"; fx: "br.fx"; fy: "br.fy"; fz: "br.fz"; ga: "br.ga"; gb: "br.gb"; gc: "br.gc"; gd: "br.gd"; ge: "br.ge"; gf: "br.gf"; gg: "br.gg"; gh: "br.gh"; gi: "br.gi"; gj: "br.gj"; gk: "br.gk"; gl: "br.gl"; gm: "br.gm"; gn: "br.gn"; go: "br.go"; gp: "br.gp"; gq: "br.gq"; gr: "br.gr"; gs: "br.gs"; gt: "br.gt"; gu: "br.gu"; gv: "br.gv"; gw: "br.gw"; gx: "br.gx"; gy: "br.gy"; gz: "br.gz"; ha: "br.ha"; hb: "br.hb"; hc: "br.hc"; hd: "br.hd"; he: "br.he"; hf: "br.hf"; hg: "br.hg"; hh: "br.hh"; hi: "br.hi"; hj: "br.hj"; hk: "br.hk"; hl: "br.hl"; hm: "br.hm"; hn: "br.hn"; ho: "br.ho"; hp: "br.hp"; hq: "br.hq"; hr: "br.hr"; hs: "br.hs"; ht: "br.ht"; hu: "br.hu"; hv: "br.hv"; hw: "br.hw"; hx: "br.hx"; hy: "br.hy"; hz: "br.hz"; ia: "br.ia"; ib: "br.ib"; ic: "br.ic"; id: "br.id"; ie: "br.ie"; if: "br.if"; ig: "br.ig"; ih: "br.ih"; ii: "br.ii"; ij: "br.ij"; ik: "br.ik"; il: "br.il"; im: "br.im"; in: "br.in"; io: "br.io"; ip: "br.ip"; iq: "br.iq"; ir: "br.ir"; is: "br.is"; it: "br.it"; iu: "br.iu"; iv: "br.iv"; iw: "br.iw"; ix: "br.ix"; iy: "br.iy"; iz: "br.iz"; ja: "br.ja"; jb: "br.jb"; jc: "br.jc"; jd: "br.jd"; je: "br.je"; jf: "br.jf"; jg: "br.jg"; jh: "br.jh"; ji: "br.ji"; jj: "br.jj"; jk: "br.jk"; jl: "br.jl"; jm: "br.jm"; jn: "br.jn"; jo: "br.jo"; jp: "br.jp"; jq: "br.jq"; jr: "br.jr"; js: "br.js"; jt: "br.jt"; ju: "br.ju"; jv: "br.jv"; jw: "br.jw"; jx: "br.jx"; jy: "br.jy"; jz: "br.jz"; ka: "br.ka"; kb: "br.kb"; kc: "br.kc"; kd: "br.kd"; ke: "br.ke"; kf: "br.kf"; kg: "br.kg"; kh: "br.kh"; ki: "br.ki"; kj: "br.kj"; kk: "br.kk"; kl: "br.kl"; km: "br.km"; kn: "br.kn"; ko: "br.ko"; kp: "br.kp"; kq: "br.kq"; kr: "br.kr"; ks: "br.ks"; kt: "br.kt"; ku: "br.ku"; kv: "br.kv"; kw: "br.kw"; kx: "br.kx"; ky: "br.ky"; kz: "br.kz"; la: "br.la"; lb: "br.lb"; lc: "br.lc"; ld: "br.ld"; le: "br.le"; lf: "br.lf"; lg: "br.lg"; lh: "br.lh"; li: "br.li"; lj: "br.lj"; lk: "br.lk"; ll: "br.ll"; lm: "br.lm"; ln: "br.ln"; lo: "br.lo"; lp: "br.lp"; lq: "br.lq"; lr: "br.lr"; ls: "br.ls"; lt: "br.lt"; lu: "br.lu"; lv: "br.lv"; lw: "br.lw"; lx: "br.lx"; ly: "br.ly"; lz: "br.lz"; ma: "br.ma"; mb: "br.mb"; mc: "br.mc"; md: "br.md"; me: "br.me"; mf: "br.mf"; mg: "br.mg"; mh: "br.mh"; mi: "br.mi"; mj: "br.mj"; mk: "br.mk"; ml: "br.ml"; mm: "br.mm"; mn: "br.mn"; mo: "br.mo"; mp: "br.mp"; mq: "br.mq"; mr: "br.mr"; ms: "br.ms"; mt: "br.mt"; mu: "br.mu"; mv: "br.mv"; mw: "br.mw"; mx: "br.mx"; my: "br.my"; mz: "br.mz"; na: "br.na"; nb: "br.nb"; nc: "br.nc"; nd: "br.nd"; ne: "br.ne"; nf: "br.nf"; ng: "br.ng"; nh: "br.nh"; ni: "br.ni"; nj: "br.nj"; nk: "br.nk"; nl: "br.nl"; nm: "br.nm"; nn: "br.nn"; no: "br.no"; np: "br.np"; nq: "br.nq"; nr: "br.nr"; ns: "br.ns"; nt: "br.nt"; nu: "br.nu"; nv: "br.nv"; nw: "br.nw"; nx: "br.nx"; ny: "br.ny"; nz: "br.nz"; oa: "br.oa"; ob: "br.ob"; oc: "br.oc"; od: "br.od"; oe: "br.oe"; of: "br.of"; og: "br.og"; oh: "br.oh"; oi: "br.oi"; oj: "br.oj"; ok: "br.ok"; ol: "br.ol"; om: "br.om"; on: "br.on"; oo: "br.oo"; op: "br.op"; oq: "br.oq"; or: "br.or"; os: "br.os"; ot: "br.ot"; ou: "br.ou"; ov: "br.ov"; ow: "br.ow"; ox: "br.ox"; oy: "br.oy"; oz: "br.oz"; pa: "br.pa"; pb: "br.pb"; pc: "br.pc"; pd: "br.pd"; pe: "br.pe"; pf: "br.pf"; pg: "br.pg"; ph: "br.ph"; pi: "br.pi"; pj: "br.pj"; pk: "br.pk"; pl: "br.pl"; pm: "br.pm"; pn: "br.pn"; po: "br.po"; pp: "br.pp"; pq: "br.pq"; pr: "br.pr"; ps: "br.ps"; pt: "br.pt"; pu: "br.pu"; pv: "br.pv"; pw: "br.pw"; px: "br.px"; py: "br.py"; pz: "br.pz"; qa: "br.qa"; qb: "br.qb"; qc: "br.qc"; qd: "br.qd"; qe: "br.qe"; qf: "br.qf"; qg: "br.qg"; qh: "br.qh"; qi: "br.qi"; qj: "br.qj"; qk: "br.qk"; ql: "br.ql"; qm: "br.qm"; qn: "br.qn"; qo: "br.qo"; qp: "br.qp"; qq: "br.qq"; qr: "br.qr"; qs: "br.qs"; qt: "br.qt"; qu: "br.qu"; qv: "br.qv"; qw: "br.qw"; qx: "br.qx"; qy: "br.qy"; qz: "br.qz"; ra: "br.ra"; rb: "br.rb"; rc: "br.rc"; rd: "br.rd"; re: "br.re"; rf: "br.rf"; rg: "br.rg"; rh: "br.rh"; ri: "br.ri"; rj: "br.rj"; rk: "br.rk"; rl: "br.rl"; rm: "br.rm"; rn: "br.rn"; ro: "br.ro"; rp: "br.rp"; rq: "br.rq"; rr: "br.rr"; rs: "br.rs"; rt: "br.rt"; ru: "br.ru"; rv: "br.rv"; rw: "br.rw"; rx: "br.rx"; ry: "br.ry"; rz: "br.rz"; sa: "br.sa"; sb: "br.sb"; sc: "br.sc"; sd: "br.sd"; se: "br.se"; sf: "br.sf"; sg: "br.sg"; sh: "br.sh"; si: "br.si"; sj: "br.sj"; sk: "br.sk"; sl: "br.sl"; sm: "br.sm"; sn: "br.sn"; so: "br.so"; sp: "br.sp"; sq: "br.sq"; sr: "br.sr"; ss: "br.ss"; st: "br.st"; su: "br.su"; sv: "br.sv"; sw: "br.sw"; sx: "br.sx"; sy: "br.sy"; sz: "br.sz"; ta: "br.ta"; tb: "br.tb"; tc: "br.tc"; td: "br.td"; te: "br.te"; tf: "br.tf"; tg: "br.tg"; th: "br.th"; ti: "br.ti"; tj: "br.tj"; tk: "br.tk"; tl: "br.tl"; tm: "br.tm"; tn: "br.tn"; to: "br.to"; tp: "br.tp"; tq: "br.tq"; tr: "br.tr"; ts: "br.ts"; tt: "br.tt"; tu: "br.tu"; tv: "br.tv"; tw: "br.tw"; tx: "br.tx"; ty: "br.ty"; tz: "br.tz"; ua: "br.ua"; ub: "br.ub"; uc: "br.uc"; ud: "br.ud"; ue: "br.ue"; uf: "br.uf"; ug: "br.ug"; uh: "br.uh"; ui: "br.ui"; uj: "br.uj"; uk: "br.uk"; ul: "br.ul"; um: "br.um"; un: "br.un"; uo: "br.uo"; up: "br.up"; uq: "br.uq"; ur: "br.ur"; us: "br.us"; ut: "br.ut"; uu: "br.uu"; uv: "br.uv"; uw: "br.uw"; ux: "br.ux"; uy: "br.uy"; uz: "br.uz"; va: "br.va"; vb: "br.vb"; vc: "br.vc"; vd: "br.vd"; ve: "br.ve"; vf: "br.vf"; vg: "br.vg"; vh: "br.vh"; vi: "br.vi"; vj: "br.vj"; vk: "br.vk"; vl: "br.vl"; vm: "br.vm"; vn: "br.vn"; vo: "br.vo"; vp: "br.vp"; vq: "br.vq"; vr: "br.vr"; vs: "br.vs"; vt: "br.vt"; vu: "br.vu"; vv: "br.vv"; vw: "br.vw"; vx: "br.vx"; vy: "br.vy"; vz: "br.vz"; wa: "br.wa"; wb: "br.wb"; wc: "br.wc"; wd: "br.wd"; we: "br.we"; wf: "br.wf"; wg: "br.wg"; wh: "br.wh"; wi: "br.wi"; wj: "br.wj"; wk: "br.wk"; wl: "br.wl"; wm: "br.wm"; wn: "br.wn"; wo: "br.wo"; wp: "br.wp"; wq: "br.wq"; wr: "br.wr"; ws: "br.ws"; wt: "br.wt"; wu: "br.wu"; wv: "br.wv"; ww: "br.ww"; wx: "br.wx"; wy: "br.wy"; wz: "br.wz"; xa: "br.xa"; xb: "br.xb"; xc: "br.xc"; xd: "br.xd"; xe: "br.xe"; xf: "br.xf"; xg: "br.xg"; xh: "br.xh"; xi: "br.xi"; xj: "br.xj"; xk: "br.xk"; xl: "br.xl"; xm: "br.xm"; xn: "br.xn"; xo: "br.xo"; xp: "br.xp"; xq: "br.xq"; xr: "br.xr"; xs: "br.xs"; xt: "br.xt"; xu: "br.xu"; xv: "br.xv"; xw: "br.xw"; xx: "br.xx"; xy: "br.xy"; xz: "br.xz"; ya: "br.ya"; yb: "br.yb"; yc: "br.yc"; yd: "br.yd"; ye: "br.ye"; yf: "br.yf"; yg: "br.yg"; yh: "br.yh"; yi: "br.yi"; yj: "br.yj"; yk: "br.yk"; yl: "br.yl"; ym: "br.ym"; yn: "br.yn"; yo: "br.yo"; yp: "br.yp"; yq: "br.yq"; yr: "br.yr"; ys: "br.ys"; yt: "br.yt"; yu: "br.yu"; yv: "br.yv"; yw: "br.yw"; yx: "br.yx"; yy: "br.yy"; yz: "br.yz"; za: "br.za"; zb: "br.zb"; zc: "br.zc"; zd: "br.zd"; ze: "br.ze"; zf: "br.zf"; zg: "br.zg"; zh: "br.zh"; zi: "br.zi"; zj: "br.zj"; zk: "br.zk"; zl: "br.zl"; zm: "br.zm"; zn: "br.zn"; zo: "br.zo"; zp: "br.zp"; zq: "br.zq"; zr: "br.zr"; zs: "br.zs"; zt: "br.zt"; zu: "br.zu"; zv: "br.zv"; zw: "br.zw"; zx: "br.zx"; zy: "br.zy"; zz: "br.zz"; }; bs: { aa: "bs.aa"; ab: "bs.ab"; ac: "bs.ac"; ad: "bs.ad"; ae: "bs.ae"; af: "bs.af"; ag: "bs.ag"; ah: "bs.ah"; ai: "bs.ai"; aj: "bs.aj"; ak: "bs.ak"; al: "bs.al"; am: "bs.am"; an: "bs.an"; ao: "bs.ao"; ap: "bs.ap"; aq: "bs.aq"; ar: "bs.ar"; as: "bs.as"; at: "bs.at"; au: "bs.au"; av: "bs.av"; aw: "bs.aw"; ax: "bs.ax"; ay: "bs.ay"; az: "bs.az"; ba: "bs.ba"; bb: "bs.bb"; bc: "bs.bc"; bd: "bs.bd"; be: "bs.be"; bf: "bs.bf"; bg: "bs.bg"; bh: "bs.bh"; bi: "bs.bi"; bj: "bs.bj"; bk: "bs.bk"; bl: "bs.bl"; bm: "bs.bm"; bn: "bs.bn"; bo: "bs.bo"; bp: "bs.bp"; bq: "bs.bq"; br: "bs.br"; bs: "bs.bs"; bt: "bs.bt"; bu: "bs.bu"; bv: "bs.bv"; bw: "bs.bw"; bx: "bs.bx"; by: "bs.by"; bz: "bs.bz"; ca: "bs.ca"; cb: "bs.cb"; cc: "bs.cc"; cd: "bs.cd"; ce: "bs.ce"; cf: "bs.cf"; cg: "bs.cg"; ch: "bs.ch"; ci: "bs.ci"; cj: "bs.cj"; ck: "bs.ck"; cl: "bs.cl"; cm: "bs.cm"; cn: "bs.cn"; co: "bs.co"; cp: "bs.cp"; cq: "bs.cq"; cr: "bs.cr"; cs: "bs.cs"; ct: "bs.ct"; cu: "bs.cu"; cv: "bs.cv"; cw: "bs.cw"; cx: "bs.cx"; cy: "bs.cy"; cz: "bs.cz"; da: "bs.da"; db: "bs.db"; dc: "bs.dc"; dd: "bs.dd"; de: "bs.de"; df: "bs.df"; dg: "bs.dg"; dh: "bs.dh"; di: "bs.di"; dj: "bs.dj"; dk: "bs.dk"; dl: "bs.dl"; dm: "bs.dm"; dn: "bs.dn"; do: "bs.do"; dp: "bs.dp"; dq: "bs.dq"; dr: "bs.dr"; ds: "bs.ds"; dt: "bs.dt"; du: "bs.du"; dv: "bs.dv"; dw: "bs.dw"; dx: "bs.dx"; dy: "bs.dy"; dz: "bs.dz"; ea: "bs.ea"; eb: "bs.eb"; ec: "bs.ec"; ed: "bs.ed"; ee: "bs.ee"; ef: "bs.ef"; eg: "bs.eg"; eh: "bs.eh"; ei: "bs.ei"; ej: "bs.ej"; ek: "bs.ek"; el: "bs.el"; em: "bs.em"; en: "bs.en"; eo: "bs.eo"; ep: "bs.ep"; eq: "bs.eq"; er: "bs.er"; es: "bs.es"; et: "bs.et"; eu: "bs.eu"; ev: "bs.ev"; ew: "bs.ew"; ex: "bs.ex"; ey: "bs.ey"; ez: "bs.ez"; fa: "bs.fa"; fb: "bs.fb"; fc: "bs.fc"; fd: "bs.fd"; fe: "bs.fe"; ff: "bs.ff"; fg: "bs.fg"; fh: "bs.fh"; fi: "bs.fi"; fj: "bs.fj"; fk: "bs.fk"; fl: "bs.fl"; fm: "bs.fm"; fn: "bs.fn"; fo: "bs.fo"; fp: "bs.fp"; fq: "bs.fq"; fr: "bs.fr"; fs: "bs.fs"; ft: "bs.ft"; fu: "bs.fu"; fv: "bs.fv"; fw: "bs.fw"; fx: "bs.fx"; fy: "bs.fy"; fz: "bs.fz"; ga: "bs.ga"; gb: "bs.gb"; gc: "bs.gc"; gd: "bs.gd"; ge: "bs.ge"; gf: "bs.gf"; gg: "bs.gg"; gh: "bs.gh"; gi: "bs.gi"; gj: "bs.gj"; gk: "bs.gk"; gl: "bs.gl"; gm: "bs.gm"; gn: "bs.gn"; go: "bs.go"; gp: "bs.gp"; gq: "bs.gq"; gr: "bs.gr"; gs: "bs.gs"; gt: "bs.gt"; gu: "bs.gu"; gv: "bs.gv"; gw: "bs.gw"; gx: "bs.gx"; gy: "bs.gy"; gz: "bs.gz"; ha: "bs.ha"; hb: "bs.hb"; hc: "bs.hc"; hd: "bs.hd"; he: "bs.he"; hf: "bs.hf"; hg: "bs.hg"; hh: "bs.hh"; hi: "bs.hi"; hj: "bs.hj"; hk: "bs.hk"; hl: "bs.hl"; hm: "bs.hm"; hn: "bs.hn"; ho: "bs.ho"; hp: "bs.hp"; hq: "bs.hq"; hr: "bs.hr"; hs: "bs.hs"; ht: "bs.ht"; hu: "bs.hu"; hv: "bs.hv"; hw: "bs.hw"; hx: "bs.hx"; hy: "bs.hy"; hz: "bs.hz"; ia: "bs.ia"; ib: "bs.ib"; ic: "bs.ic"; id: "bs.id"; ie: "bs.ie"; if: "bs.if"; ig: "bs.ig"; ih: "bs.ih"; ii: "bs.ii"; ij: "bs.ij"; ik: "bs.ik"; il: "bs.il"; im: "bs.im"; in: "bs.in"; io: "bs.io"; ip: "bs.ip"; iq: "bs.iq"; ir: "bs.ir"; is: "bs.is"; it: "bs.it"; iu: "bs.iu"; iv: "bs.iv"; iw: "bs.iw"; ix: "bs.ix"; iy: "bs.iy"; iz: "bs.iz"; ja: "bs.ja"; jb: "bs.jb"; jc: "bs.jc"; jd: "bs.jd"; je: "bs.je"; jf: "bs.jf"; jg: "bs.jg"; jh: "bs.jh"; ji: "bs.ji"; jj: "bs.jj"; jk: "bs.jk"; jl: "bs.jl"; jm: "bs.jm"; jn: "bs.jn"; jo: "bs.jo"; jp: "bs.jp"; jq: "bs.jq"; jr: "bs.jr"; js: "bs.js"; jt: "bs.jt"; ju: "bs.ju"; jv: "bs.jv"; jw: "bs.jw"; jx: "bs.jx"; jy: "bs.jy"; jz: "bs.jz"; ka: "bs.ka"; kb: "bs.kb"; kc: "bs.kc"; kd: "bs.kd"; ke: "bs.ke"; kf: "bs.kf"; kg: "bs.kg"; kh: "bs.kh"; ki: "bs.ki"; kj: "bs.kj"; kk: "bs.kk"; kl: "bs.kl"; km: "bs.km"; kn: "bs.kn"; ko: "bs.ko"; kp: "bs.kp"; kq: "bs.kq"; kr: "bs.kr"; ks: "bs.ks"; kt: "bs.kt"; ku: "bs.ku"; kv: "bs.kv"; kw: "bs.kw"; kx: "bs.kx"; ky: "bs.ky"; kz: "bs.kz"; la: "bs.la"; lb: "bs.lb"; lc: "bs.lc"; ld: "bs.ld"; le: "bs.le"; lf: "bs.lf"; lg: "bs.lg"; lh: "bs.lh"; li: "bs.li"; lj: "bs.lj"; lk: "bs.lk"; ll: "bs.ll"; lm: "bs.lm"; ln: "bs.ln"; lo: "bs.lo"; lp: "bs.lp"; lq: "bs.lq"; lr: "bs.lr"; ls: "bs.ls"; lt: "bs.lt"; lu: "bs.lu"; lv: "bs.lv"; lw: "bs.lw"; lx: "bs.lx"; ly: "bs.ly"; lz: "bs.lz"; ma: "bs.ma"; mb: "bs.mb"; mc: "bs.mc"; md: "bs.md"; me: "bs.me"; mf: "bs.mf"; mg: "bs.mg"; mh: "bs.mh"; mi: "bs.mi"; mj: "bs.mj"; mk: "bs.mk"; ml: "bs.ml"; mm: "bs.mm"; mn: "bs.mn"; mo: "bs.mo"; mp: "bs.mp"; mq: "bs.mq"; mr: "bs.mr"; ms: "bs.ms"; mt: "bs.mt"; mu: "bs.mu"; mv: "bs.mv"; mw: "bs.mw"; mx: "bs.mx"; my: "bs.my"; mz: "bs.mz"; na: "bs.na"; nb: "bs.nb"; nc: "bs.nc"; nd: "bs.nd"; ne: "bs.ne"; nf: "bs.nf"; ng: "bs.ng"; nh: "bs.nh"; ni: "bs.ni"; nj: "bs.nj"; nk: "bs.nk"; nl: "bs.nl"; nm: "bs.nm"; nn: "bs.nn"; no: "bs.no"; np: "bs.np"; nq: "bs.nq"; nr: "bs.nr"; ns: "bs.ns"; nt: "bs.nt"; nu: "bs.nu"; nv: "bs.nv"; nw: "bs.nw"; nx: "bs.nx"; ny: "bs.ny"; nz: "bs.nz"; oa: "bs.oa"; ob: "bs.ob"; oc: "bs.oc"; od: "bs.od"; oe: "bs.oe"; of: "bs.of"; og: "bs.og"; oh: "bs.oh"; oi: "bs.oi"; oj: "bs.oj"; ok: "bs.ok"; ol: "bs.ol"; om: "bs.om"; on: "bs.on"; oo: "bs.oo"; op: "bs.op"; oq: "bs.oq"; or: "bs.or"; os: "bs.os"; ot: "bs.ot"; ou: "bs.ou"; ov: "bs.ov"; ow: "bs.ow"; ox: "bs.ox"; oy: "bs.oy"; oz: "bs.oz"; pa: "bs.pa"; pb: "bs.pb"; pc: "bs.pc"; pd: "bs.pd"; pe: "bs.pe"; pf: "bs.pf"; pg: "bs.pg"; ph: "bs.ph"; pi: "bs.pi"; pj: "bs.pj"; pk: "bs.pk"; pl: "bs.pl"; pm: "bs.pm"; pn: "bs.pn"; po: "bs.po"; pp: "bs.pp"; pq: "bs.pq"; pr: "bs.pr"; ps: "bs.ps"; pt: "bs.pt"; pu: "bs.pu"; pv: "bs.pv"; pw: "bs.pw"; px: "bs.px"; py: "bs.py"; pz: "bs.pz"; qa: "bs.qa"; qb: "bs.qb"; qc: "bs.qc"; qd: "bs.qd"; qe: "bs.qe"; qf: "bs.qf"; qg: "bs.qg"; qh: "bs.qh"; qi: "bs.qi"; qj: "bs.qj"; qk: "bs.qk"; ql: "bs.ql"; qm: "bs.qm"; qn: "bs.qn"; qo: "bs.qo"; qp: "bs.qp"; qq: "bs.qq"; qr: "bs.qr"; qs: "bs.qs"; qt: "bs.qt"; qu: "bs.qu"; qv: "bs.qv"; qw: "bs.qw"; qx: "bs.qx"; qy: "bs.qy"; qz: "bs.qz"; ra: "bs.ra"; rb: "bs.rb"; rc: "bs.rc"; rd: "bs.rd"; re: "bs.re"; rf: "bs.rf"; rg: "bs.rg"; rh: "bs.rh"; ri: "bs.ri"; rj: "bs.rj"; rk: "bs.rk"; rl: "bs.rl"; rm: "bs.rm"; rn: "bs.rn"; ro: "bs.ro"; rp: "bs.rp"; rq: "bs.rq"; rr: "bs.rr"; rs: "bs.rs"; rt: "bs.rt"; ru: "bs.ru"; rv: "bs.rv"; rw: "bs.rw"; rx: "bs.rx"; ry: "bs.ry"; rz: "bs.rz"; sa: "bs.sa"; sb: "bs.sb"; sc: "bs.sc"; sd: "bs.sd"; se: "bs.se"; sf: "bs.sf"; sg: "bs.sg"; sh: "bs.sh"; si: "bs.si"; sj: "bs.sj"; sk: "bs.sk"; sl: "bs.sl"; sm: "bs.sm"; sn: "bs.sn"; so: "bs.so"; sp: "bs.sp"; sq: "bs.sq"; sr: "bs.sr"; ss: "bs.ss"; st: "bs.st"; su: "bs.su"; sv: "bs.sv"; sw: "bs.sw"; sx: "bs.sx"; sy: "bs.sy"; sz: "bs.sz"; ta: "bs.ta"; tb: "bs.tb"; tc: "bs.tc"; td: "bs.td"; te: "bs.te"; tf: "bs.tf"; tg: "bs.tg"; th: "bs.th"; ti: "bs.ti"; tj: "bs.tj"; tk: "bs.tk"; tl: "bs.tl"; tm: "bs.tm"; tn: "bs.tn"; to: "bs.to"; tp: "bs.tp"; tq: "bs.tq"; tr: "bs.tr"; ts: "bs.ts"; tt: "bs.tt"; tu: "bs.tu"; tv: "bs.tv"; tw: "bs.tw"; tx: "bs.tx"; ty: "bs.ty"; tz: "bs.tz"; ua: "bs.ua"; ub: "bs.ub"; uc: "bs.uc"; ud: "bs.ud"; ue: "bs.ue"; uf: "bs.uf"; ug: "bs.ug"; uh: "bs.uh"; ui: "bs.ui"; uj: "bs.uj"; uk: "bs.uk"; ul: "bs.ul"; um: "bs.um"; un: "bs.un"; uo: "bs.uo"; up: "bs.up"; uq: "bs.uq"; ur: "bs.ur"; us: "bs.us"; ut: "bs.ut"; uu: "bs.uu"; uv: "bs.uv"; uw: "bs.uw"; ux: "bs.ux"; uy: "bs.uy"; uz: "bs.uz"; va: "bs.va"; vb: "bs.vb"; vc: "bs.vc"; vd: "bs.vd"; ve: "bs.ve"; vf: "bs.vf"; vg: "bs.vg"; vh: "bs.vh"; vi: "bs.vi"; vj: "bs.vj"; vk: "bs.vk"; vl: "bs.vl"; vm: "bs.vm"; vn: "bs.vn"; vo: "bs.vo"; vp: "bs.vp"; vq: "bs.vq"; vr: "bs.vr"; vs: "bs.vs"; vt: "bs.vt"; vu: "bs.vu"; vv: "bs.vv"; vw: "bs.vw"; vx: "bs.vx"; vy: "bs.vy"; vz: "bs.vz"; wa: "bs.wa"; wb: "bs.wb"; wc: "bs.wc"; wd: "bs.wd"; we: "bs.we"; wf: "bs.wf"; wg: "bs.wg"; wh: "bs.wh"; wi: "bs.wi"; wj: "bs.wj"; wk: "bs.wk"; wl: "bs.wl"; wm: "bs.wm"; wn: "bs.wn"; wo: "bs.wo"; wp: "bs.wp"; wq: "bs.wq"; wr: "bs.wr"; ws: "bs.ws"; wt: "bs.wt"; wu: "bs.wu"; wv: "bs.wv"; ww: "bs.ww"; wx: "bs.wx"; wy: "bs.wy"; wz: "bs.wz"; xa: "bs.xa"; xb: "bs.xb"; xc: "bs.xc"; xd: "bs.xd"; xe: "bs.xe"; xf: "bs.xf"; xg: "bs.xg"; xh: "bs.xh"; xi: "bs.xi"; xj: "bs.xj"; xk: "bs.xk"; xl: "bs.xl"; xm: "bs.xm"; xn: "bs.xn"; xo: "bs.xo"; xp: "bs.xp"; xq: "bs.xq"; xr: "bs.xr"; xs: "bs.xs"; xt: "bs.xt"; xu: "bs.xu"; xv: "bs.xv"; xw: "bs.xw"; xx: "bs.xx"; xy: "bs.xy"; xz: "bs.xz"; ya: "bs.ya"; yb: "bs.yb"; yc: "bs.yc"; yd: "bs.yd"; ye: "bs.ye"; yf: "bs.yf"; yg: "bs.yg"; yh: "bs.yh"; yi: "bs.yi"; yj: "bs.yj"; yk: "bs.yk"; yl: "bs.yl"; ym: "bs.ym"; yn: "bs.yn"; yo: "bs.yo"; yp: "bs.yp"; yq: "bs.yq"; yr: "bs.yr"; ys: "bs.ys"; yt: "bs.yt"; yu: "bs.yu"; yv: "bs.yv"; yw: "bs.yw"; yx: "bs.yx"; yy: "bs.yy"; yz: "bs.yz"; za: "bs.za"; zb: "bs.zb"; zc: "bs.zc"; zd: "bs.zd"; ze: "bs.ze"; zf: "bs.zf"; zg: "bs.zg"; zh: "bs.zh"; zi: "bs.zi"; zj: "bs.zj"; zk: "bs.zk"; zl: "bs.zl"; zm: "bs.zm"; zn: "bs.zn"; zo: "bs.zo"; zp: "bs.zp"; zq: "bs.zq"; zr: "bs.zr"; zs: "bs.zs"; zt: "bs.zt"; zu: "bs.zu"; zv: "bs.zv"; zw: "bs.zw"; zx: "bs.zx"; zy: "bs.zy"; zz: "bs.zz"; }; bt: { aa: "bt.aa"; ab: "bt.ab"; ac: "bt.ac"; ad: "bt.ad"; ae: "bt.ae"; af: "bt.af"; ag: "bt.ag"; ah: "bt.ah"; ai: "bt.ai"; aj: "bt.aj"; ak: "bt.ak"; al: "bt.al"; am: "bt.am"; an: "bt.an"; ao: "bt.ao"; ap: "bt.ap"; aq: "bt.aq"; ar: "bt.ar"; as: "bt.as"; at: "bt.at"; au: "bt.au"; av: "bt.av"; aw: "bt.aw"; ax: "bt.ax"; ay: "bt.ay"; az: "bt.az"; ba: "bt.ba"; bb: "bt.bb"; bc: "bt.bc"; bd: "bt.bd"; be: "bt.be"; bf: "bt.bf"; bg: "bt.bg"; bh: "bt.bh"; bi: "bt.bi"; bj: "bt.bj"; bk: "bt.bk"; bl: "bt.bl"; bm: "bt.bm"; bn: "bt.bn"; bo: "bt.bo"; bp: "bt.bp"; bq: "bt.bq"; br: "bt.br"; bs: "bt.bs"; bt: "bt.bt"; bu: "bt.bu"; bv: "bt.bv"; bw: "bt.bw"; bx: "bt.bx"; by: "bt.by"; bz: "bt.bz"; ca: "bt.ca"; cb: "bt.cb"; cc: "bt.cc"; cd: "bt.cd"; ce: "bt.ce"; cf: "bt.cf"; cg: "bt.cg"; ch: "bt.ch"; ci: "bt.ci"; cj: "bt.cj"; ck: "bt.ck"; cl: "bt.cl"; cm: "bt.cm"; cn: "bt.cn"; co: "bt.co"; cp: "bt.cp"; cq: "bt.cq"; cr: "bt.cr"; cs: "bt.cs"; ct: "bt.ct"; cu: "bt.cu"; cv: "bt.cv"; cw: "bt.cw"; cx: "bt.cx"; cy: "bt.cy"; cz: "bt.cz"; da: "bt.da"; db: "bt.db"; dc: "bt.dc"; dd: "bt.dd"; de: "bt.de"; df: "bt.df"; dg: "bt.dg"; dh: "bt.dh"; di: "bt.di"; dj: "bt.dj"; dk: "bt.dk"; dl: "bt.dl"; dm: "bt.dm"; dn: "bt.dn"; do: "bt.do"; dp: "bt.dp"; dq: "bt.dq"; dr: "bt.dr"; ds: "bt.ds"; dt: "bt.dt"; du: "bt.du"; dv: "bt.dv"; dw: "bt.dw"; dx: "bt.dx"; dy: "bt.dy"; dz: "bt.dz"; ea: "bt.ea"; eb: "bt.eb"; ec: "bt.ec"; ed: "bt.ed"; ee: "bt.ee"; ef: "bt.ef"; eg: "bt.eg"; eh: "bt.eh"; ei: "bt.ei"; ej: "bt.ej"; ek: "bt.ek"; el: "bt.el"; em: "bt.em"; en: "bt.en"; eo: "bt.eo"; ep: "bt.ep"; eq: "bt.eq"; er: "bt.er"; es: "bt.es"; et: "bt.et"; eu: "bt.eu"; ev: "bt.ev"; ew: "bt.ew"; ex: "bt.ex"; ey: "bt.ey"; ez: "bt.ez"; fa: "bt.fa"; fb: "bt.fb"; fc: "bt.fc"; fd: "bt.fd"; fe: "bt.fe"; ff: "bt.ff"; fg: "bt.fg"; fh: "bt.fh"; fi: "bt.fi"; fj: "bt.fj"; fk: "bt.fk"; fl: "bt.fl"; fm: "bt.fm"; fn: "bt.fn"; fo: "bt.fo"; fp: "bt.fp"; fq: "bt.fq"; fr: "bt.fr"; fs: "bt.fs"; ft: "bt.ft"; fu: "bt.fu"; fv: "bt.fv"; fw: "bt.fw"; fx: "bt.fx"; fy: "bt.fy"; fz: "bt.fz"; ga: "bt.ga"; gb: "bt.gb"; gc: "bt.gc"; gd: "bt.gd"; ge: "bt.ge"; gf: "bt.gf"; gg: "bt.gg"; gh: "bt.gh"; gi: "bt.gi"; gj: "bt.gj"; gk: "bt.gk"; gl: "bt.gl"; gm: "bt.gm"; gn: "bt.gn"; go: "bt.go"; gp: "bt.gp"; gq: "bt.gq"; gr: "bt.gr"; gs: "bt.gs"; gt: "bt.gt"; gu: "bt.gu"; gv: "bt.gv"; gw: "bt.gw"; gx: "bt.gx"; gy: "bt.gy"; gz: "bt.gz"; ha: "bt.ha"; hb: "bt.hb"; hc: "bt.hc"; hd: "bt.hd"; he: "bt.he"; hf: "bt.hf"; hg: "bt.hg"; hh: "bt.hh"; hi: "bt.hi"; hj: "bt.hj"; hk: "bt.hk"; hl: "bt.hl"; hm: "bt.hm"; hn: "bt.hn"; ho: "bt.ho"; hp: "bt.hp"; hq: "bt.hq"; hr: "bt.hr"; hs: "bt.hs"; ht: "bt.ht"; hu: "bt.hu"; hv: "bt.hv"; hw: "bt.hw"; hx: "bt.hx"; hy: "bt.hy"; hz: "bt.hz"; ia: "bt.ia"; ib: "bt.ib"; ic: "bt.ic"; id: "bt.id"; ie: "bt.ie"; if: "bt.if"; ig: "bt.ig"; ih: "bt.ih"; ii: "bt.ii"; ij: "bt.ij"; ik: "bt.ik"; il: "bt.il"; im: "bt.im"; in: "bt.in"; io: "bt.io"; ip: "bt.ip"; iq: "bt.iq"; ir: "bt.ir"; is: "bt.is"; it: "bt.it"; iu: "bt.iu"; iv: "bt.iv"; iw: "bt.iw"; ix: "bt.ix"; iy: "bt.iy"; iz: "bt.iz"; ja: "bt.ja"; jb: "bt.jb"; jc: "bt.jc"; jd: "bt.jd"; je: "bt.je"; jf: "bt.jf"; jg: "bt.jg"; jh: "bt.jh"; ji: "bt.ji"; jj: "bt.jj"; jk: "bt.jk"; jl: "bt.jl"; jm: "bt.jm"; jn: "bt.jn"; jo: "bt.jo"; jp: "bt.jp"; jq: "bt.jq"; jr: "bt.jr"; js: "bt.js"; jt: "bt.jt"; ju: "bt.ju"; jv: "bt.jv"; jw: "bt.jw"; jx: "bt.jx"; jy: "bt.jy"; jz: "bt.jz"; ka: "bt.ka"; kb: "bt.kb"; kc: "bt.kc"; kd: "bt.kd"; ke: "bt.ke"; kf: "bt.kf"; kg: "bt.kg"; kh: "bt.kh"; ki: "bt.ki"; kj: "bt.kj"; kk: "bt.kk"; kl: "bt.kl"; km: "bt.km"; kn: "bt.kn"; ko: "bt.ko"; kp: "bt.kp"; kq: "bt.kq"; kr: "bt.kr"; ks: "bt.ks"; kt: "bt.kt"; ku: "bt.ku"; kv: "bt.kv"; kw: "bt.kw"; kx: "bt.kx"; ky: "bt.ky"; kz: "bt.kz"; la: "bt.la"; lb: "bt.lb"; lc: "bt.lc"; ld: "bt.ld"; le: "bt.le"; lf: "bt.lf"; lg: "bt.lg"; lh: "bt.lh"; li: "bt.li"; lj: "bt.lj"; lk: "bt.lk"; ll: "bt.ll"; lm: "bt.lm"; ln: "bt.ln"; lo: "bt.lo"; lp: "bt.lp"; lq: "bt.lq"; lr: "bt.lr"; ls: "bt.ls"; lt: "bt.lt"; lu: "bt.lu"; lv: "bt.lv"; lw: "bt.lw"; lx: "bt.lx"; ly: "bt.ly"; lz: "bt.lz"; ma: "bt.ma"; mb: "bt.mb"; mc: "bt.mc"; md: "bt.md"; me: "bt.me"; mf: "bt.mf"; mg: "bt.mg"; mh: "bt.mh"; mi: "bt.mi"; mj: "bt.mj"; mk: "bt.mk"; ml: "bt.ml"; mm: "bt.mm"; mn: "bt.mn"; mo: "bt.mo"; mp: "bt.mp"; mq: "bt.mq"; mr: "bt.mr"; ms: "bt.ms"; mt: "bt.mt"; mu: "bt.mu"; mv: "bt.mv"; mw: "bt.mw"; mx: "bt.mx"; my: "bt.my"; mz: "bt.mz"; na: "bt.na"; nb: "bt.nb"; nc: "bt.nc"; nd: "bt.nd"; ne: "bt.ne"; nf: "bt.nf"; ng: "bt.ng"; nh: "bt.nh"; ni: "bt.ni"; nj: "bt.nj"; nk: "bt.nk"; nl: "bt.nl"; nm: "bt.nm"; nn: "bt.nn"; no: "bt.no"; np: "bt.np"; nq: "bt.nq"; nr: "bt.nr"; ns: "bt.ns"; nt: "bt.nt"; nu: "bt.nu"; nv: "bt.nv"; nw: "bt.nw"; nx: "bt.nx"; ny: "bt.ny"; nz: "bt.nz"; oa: "bt.oa"; ob: "bt.ob"; oc: "bt.oc"; od: "bt.od"; oe: "bt.oe"; of: "bt.of"; og: "bt.og"; oh: "bt.oh"; oi: "bt.oi"; oj: "bt.oj"; ok: "bt.ok"; ol: "bt.ol"; om: "bt.om"; on: "bt.on"; oo: "bt.oo"; op: "bt.op"; oq: "bt.oq"; or: "bt.or"; os: "bt.os"; ot: "bt.ot"; ou: "bt.ou"; ov: "bt.ov"; ow: "bt.ow"; ox: "bt.ox"; oy: "bt.oy"; oz: "bt.oz"; pa: "bt.pa"; pb: "bt.pb"; pc: "bt.pc"; pd: "bt.pd"; pe: "bt.pe"; pf: "bt.pf"; pg: "bt.pg"; ph: "bt.ph"; pi: "bt.pi"; pj: "bt.pj"; pk: "bt.pk"; pl: "bt.pl"; pm: "bt.pm"; pn: "bt.pn"; po: "bt.po"; pp: "bt.pp"; pq: "bt.pq"; pr: "bt.pr"; ps: "bt.ps"; pt: "bt.pt"; pu: "bt.pu"; pv: "bt.pv"; pw: "bt.pw"; px: "bt.px"; py: "bt.py"; pz: "bt.pz"; qa: "bt.qa"; qb: "bt.qb"; qc: "bt.qc"; qd: "bt.qd"; qe: "bt.qe"; qf: "bt.qf"; qg: "bt.qg"; qh: "bt.qh"; qi: "bt.qi"; qj: "bt.qj"; qk: "bt.qk"; ql: "bt.ql"; qm: "bt.qm"; qn: "bt.qn"; qo: "bt.qo"; qp: "bt.qp"; qq: "bt.qq"; qr: "bt.qr"; qs: "bt.qs"; qt: "bt.qt"; qu: "bt.qu"; qv: "bt.qv"; qw: "bt.qw"; qx: "bt.qx"; qy: "bt.qy"; qz: "bt.qz"; ra: "bt.ra"; rb: "bt.rb"; rc: "bt.rc"; rd: "bt.rd"; re: "bt.re"; rf: "bt.rf"; rg: "bt.rg"; rh: "bt.rh"; ri: "bt.ri"; rj: "bt.rj"; rk: "bt.rk"; rl: "bt.rl"; rm: "bt.rm"; rn: "bt.rn"; ro: "bt.ro"; rp: "bt.rp"; rq: "bt.rq"; rr: "bt.rr"; rs: "bt.rs"; rt: "bt.rt"; ru: "bt.ru"; rv: "bt.rv"; rw: "bt.rw"; rx: "bt.rx"; ry: "bt.ry"; rz: "bt.rz"; sa: "bt.sa"; sb: "bt.sb"; sc: "bt.sc"; sd: "bt.sd"; se: "bt.se"; sf: "bt.sf"; sg: "bt.sg"; sh: "bt.sh"; si: "bt.si"; sj: "bt.sj"; sk: "bt.sk"; sl: "bt.sl"; sm: "bt.sm"; sn: "bt.sn"; so: "bt.so"; sp: "bt.sp"; sq: "bt.sq"; sr: "bt.sr"; ss: "bt.ss"; st: "bt.st"; su: "bt.su"; sv: "bt.sv"; sw: "bt.sw"; sx: "bt.sx"; sy: "bt.sy"; sz: "bt.sz"; ta: "bt.ta"; tb: "bt.tb"; tc: "bt.tc"; td: "bt.td"; te: "bt.te"; tf: "bt.tf"; tg: "bt.tg"; th: "bt.th"; ti: "bt.ti"; tj: "bt.tj"; tk: "bt.tk"; tl: "bt.tl"; tm: "bt.tm"; tn: "bt.tn"; to: "bt.to"; tp: "bt.tp"; tq: "bt.tq"; tr: "bt.tr"; ts: "bt.ts"; tt: "bt.tt"; tu: "bt.tu"; tv: "bt.tv"; tw: "bt.tw"; tx: "bt.tx"; ty: "bt.ty"; tz: "bt.tz"; ua: "bt.ua"; ub: "bt.ub"; uc: "bt.uc"; ud: "bt.ud"; ue: "bt.ue"; uf: "bt.uf"; ug: "bt.ug"; uh: "bt.uh"; ui: "bt.ui"; uj: "bt.uj"; uk: "bt.uk"; ul: "bt.ul"; um: "bt.um"; un: "bt.un"; uo: "bt.uo"; up: "bt.up"; uq: "bt.uq"; ur: "bt.ur"; us: "bt.us"; ut: "bt.ut"; uu: "bt.uu"; uv: "bt.uv"; uw: "bt.uw"; ux: "bt.ux"; uy: "bt.uy"; uz: "bt.uz"; va: "bt.va"; vb: "bt.vb"; vc: "bt.vc"; vd: "bt.vd"; ve: "bt.ve"; vf: "bt.vf"; vg: "bt.vg"; vh: "bt.vh"; vi: "bt.vi"; vj: "bt.vj"; vk: "bt.vk"; vl: "bt.vl"; vm: "bt.vm"; vn: "bt.vn"; vo: "bt.vo"; vp: "bt.vp"; vq: "bt.vq"; vr: "bt.vr"; vs: "bt.vs"; vt: "bt.vt"; vu: "bt.vu"; vv: "bt.vv"; vw: "bt.vw"; vx: "bt.vx"; vy: "bt.vy"; vz: "bt.vz"; wa: "bt.wa"; wb: "bt.wb"; wc: "bt.wc"; wd: "bt.wd"; we: "bt.we"; wf: "bt.wf"; wg: "bt.wg"; wh: "bt.wh"; wi: "bt.wi"; wj: "bt.wj"; wk: "bt.wk"; wl: "bt.wl"; wm: "bt.wm"; wn: "bt.wn"; wo: "bt.wo"; wp: "bt.wp"; wq: "bt.wq"; wr: "bt.wr"; ws: "bt.ws"; wt: "bt.wt"; wu: "bt.wu"; wv: "bt.wv"; ww: "bt.ww"; wx: "bt.wx"; wy: "bt.wy"; wz: "bt.wz"; xa: "bt.xa"; xb: "bt.xb"; xc: "bt.xc"; xd: "bt.xd"; xe: "bt.xe"; xf: "bt.xf"; xg: "bt.xg"; xh: "bt.xh"; xi: "bt.xi"; xj: "bt.xj"; xk: "bt.xk"; xl: "bt.xl"; xm: "bt.xm"; xn: "bt.xn"; xo: "bt.xo"; xp: "bt.xp"; xq: "bt.xq"; xr: "bt.xr"; xs: "bt.xs"; xt: "bt.xt"; xu: "bt.xu"; xv: "bt.xv"; xw: "bt.xw"; xx: "bt.xx"; xy: "bt.xy"; xz: "bt.xz"; ya: "bt.ya"; yb: "bt.yb"; yc: "bt.yc"; yd: "bt.yd"; ye: "bt.ye"; yf: "bt.yf"; yg: "bt.yg"; yh: "bt.yh"; yi: "bt.yi"; yj: "bt.yj"; yk: "bt.yk"; yl: "bt.yl"; ym: "bt.ym"; yn: "bt.yn"; yo: "bt.yo"; yp: "bt.yp"; yq: "bt.yq"; yr: "bt.yr"; ys: "bt.ys"; yt: "bt.yt"; yu: "bt.yu"; yv: "bt.yv"; yw: "bt.yw"; yx: "bt.yx"; yy: "bt.yy"; yz: "bt.yz"; za: "bt.za"; zb: "bt.zb"; zc: "bt.zc"; zd: "bt.zd"; ze: "bt.ze"; zf: "bt.zf"; zg: "bt.zg"; zh: "bt.zh"; zi: "bt.zi"; zj: "bt.zj"; zk: "bt.zk"; zl: "bt.zl"; zm: "bt.zm"; zn: "bt.zn"; zo: "bt.zo"; zp: "bt.zp"; zq: "bt.zq"; zr: "bt.zr"; zs: "bt.zs"; zt: "bt.zt"; zu: "bt.zu"; zv: "bt.zv"; zw: "bt.zw"; zx: "bt.zx"; zy: "bt.zy"; zz: "bt.zz"; }; bu: { aa: "bu.aa"; ab: "bu.ab"; ac: "bu.ac"; ad: "bu.ad"; ae: "bu.ae"; af: "bu.af"; ag: "bu.ag"; ah: "bu.ah"; ai: "bu.ai"; aj: "bu.aj"; ak: "bu.ak"; al: "bu.al"; am: "bu.am"; an: "bu.an"; ao: "bu.ao"; ap: "bu.ap"; aq: "bu.aq"; ar: "bu.ar"; as: "bu.as"; at: "bu.at"; au: "bu.au"; av: "bu.av"; aw: "bu.aw"; ax: "bu.ax"; ay: "bu.ay"; az: "bu.az"; ba: "bu.ba"; bb: "bu.bb"; bc: "bu.bc"; bd: "bu.bd"; be: "bu.be"; bf: "bu.bf"; bg: "bu.bg"; bh: "bu.bh"; bi: "bu.bi"; bj: "bu.bj"; bk: "bu.bk"; bl: "bu.bl"; bm: "bu.bm"; bn: "bu.bn"; bo: "bu.bo"; bp: "bu.bp"; bq: "bu.bq"; br: "bu.br"; bs: "bu.bs"; bt: "bu.bt"; bu: "bu.bu"; bv: "bu.bv"; bw: "bu.bw"; bx: "bu.bx"; by: "bu.by"; bz: "bu.bz"; ca: "bu.ca"; cb: "bu.cb"; cc: "bu.cc"; cd: "bu.cd"; ce: "bu.ce"; cf: "bu.cf"; cg: "bu.cg"; ch: "bu.ch"; ci: "bu.ci"; cj: "bu.cj"; ck: "bu.ck"; cl: "bu.cl"; cm: "bu.cm"; cn: "bu.cn"; co: "bu.co"; cp: "bu.cp"; cq: "bu.cq"; cr: "bu.cr"; cs: "bu.cs"; ct: "bu.ct"; cu: "bu.cu"; cv: "bu.cv"; cw: "bu.cw"; cx: "bu.cx"; cy: "bu.cy"; cz: "bu.cz"; da: "bu.da"; db: "bu.db"; dc: "bu.dc"; dd: "bu.dd"; de: "bu.de"; df: "bu.df"; dg: "bu.dg"; dh: "bu.dh"; di: "bu.di"; dj: "bu.dj"; dk: "bu.dk"; dl: "bu.dl"; dm: "bu.dm"; dn: "bu.dn"; do: "bu.do"; dp: "bu.dp"; dq: "bu.dq"; dr: "bu.dr"; ds: "bu.ds"; dt: "bu.dt"; du: "bu.du"; dv: "bu.dv"; dw: "bu.dw"; dx: "bu.dx"; dy: "bu.dy"; dz: "bu.dz"; ea: "bu.ea"; eb: "bu.eb"; ec: "bu.ec"; ed: "bu.ed"; ee: "bu.ee"; ef: "bu.ef"; eg: "bu.eg"; eh: "bu.eh"; ei: "bu.ei"; ej: "bu.ej"; ek: "bu.ek"; el: "bu.el"; em: "bu.em"; en: "bu.en"; eo: "bu.eo"; ep: "bu.ep"; eq: "bu.eq"; er: "bu.er"; es: "bu.es"; et: "bu.et"; eu: "bu.eu"; ev: "bu.ev"; ew: "bu.ew"; ex: "bu.ex"; ey: "bu.ey"; ez: "bu.ez"; fa: "bu.fa"; fb: "bu.fb"; fc: "bu.fc"; fd: "bu.fd"; fe: "bu.fe"; ff: "bu.ff"; fg: "bu.fg"; fh: "bu.fh"; fi: "bu.fi"; fj: "bu.fj"; fk: "bu.fk"; fl: "bu.fl"; fm: "bu.fm"; fn: "bu.fn"; fo: "bu.fo"; fp: "bu.fp"; fq: "bu.fq"; fr: "bu.fr"; fs: "bu.fs"; ft: "bu.ft"; fu: "bu.fu"; fv: "bu.fv"; fw: "bu.fw"; fx: "bu.fx"; fy: "bu.fy"; fz: "bu.fz"; ga: "bu.ga"; gb: "bu.gb"; gc: "bu.gc"; gd: "bu.gd"; ge: "bu.ge"; gf: "bu.gf"; gg: "bu.gg"; gh: "bu.gh"; gi: "bu.gi"; gj: "bu.gj"; gk: "bu.gk"; gl: "bu.gl"; gm: "bu.gm"; gn: "bu.gn"; go: "bu.go"; gp: "bu.gp"; gq: "bu.gq"; gr: "bu.gr"; gs: "bu.gs"; gt: "bu.gt"; gu: "bu.gu"; gv: "bu.gv"; gw: "bu.gw"; gx: "bu.gx"; gy: "bu.gy"; gz: "bu.gz"; ha: "bu.ha"; hb: "bu.hb"; hc: "bu.hc"; hd: "bu.hd"; he: "bu.he"; hf: "bu.hf"; hg: "bu.hg"; hh: "bu.hh"; hi: "bu.hi"; hj: "bu.hj"; hk: "bu.hk"; hl: "bu.hl"; hm: "bu.hm"; hn: "bu.hn"; ho: "bu.ho"; hp: "bu.hp"; hq: "bu.hq"; hr: "bu.hr"; hs: "bu.hs"; ht: "bu.ht"; hu: "bu.hu"; hv: "bu.hv"; hw: "bu.hw"; hx: "bu.hx"; hy: "bu.hy"; hz: "bu.hz"; ia: "bu.ia"; ib: "bu.ib"; ic: "bu.ic"; id: "bu.id"; ie: "bu.ie"; if: "bu.if"; ig: "bu.ig"; ih: "bu.ih"; ii: "bu.ii"; ij: "bu.ij"; ik: "bu.ik"; il: "bu.il"; im: "bu.im"; in: "bu.in"; io: "bu.io"; ip: "bu.ip"; iq: "bu.iq"; ir: "bu.ir"; is: "bu.is"; it: "bu.it"; iu: "bu.iu"; iv: "bu.iv"; iw: "bu.iw"; ix: "bu.ix"; iy: "bu.iy"; iz: "bu.iz"; ja: "bu.ja"; jb: "bu.jb"; jc: "bu.jc"; jd: "bu.jd"; je: "bu.je"; jf: "bu.jf"; jg: "bu.jg"; jh: "bu.jh"; ji: "bu.ji"; jj: "bu.jj"; jk: "bu.jk"; jl: "bu.jl"; jm: "bu.jm"; jn: "bu.jn"; jo: "bu.jo"; jp: "bu.jp"; jq: "bu.jq"; jr: "bu.jr"; js: "bu.js"; jt: "bu.jt"; ju: "bu.ju"; jv: "bu.jv"; jw: "bu.jw"; jx: "bu.jx"; jy: "bu.jy"; jz: "bu.jz"; ka: "bu.ka"; kb: "bu.kb"; kc: "bu.kc"; kd: "bu.kd"; ke: "bu.ke"; kf: "bu.kf"; kg: "bu.kg"; kh: "bu.kh"; ki: "bu.ki"; kj: "bu.kj"; kk: "bu.kk"; kl: "bu.kl"; km: "bu.km"; kn: "bu.kn"; ko: "bu.ko"; kp: "bu.kp"; kq: "bu.kq"; kr: "bu.kr"; ks: "bu.ks"; kt: "bu.kt"; ku: "bu.ku"; kv: "bu.kv"; kw: "bu.kw"; kx: "bu.kx"; ky: "bu.ky"; kz: "bu.kz"; la: "bu.la"; lb: "bu.lb"; lc: "bu.lc"; ld: "bu.ld"; le: "bu.le"; lf: "bu.lf"; lg: "bu.lg"; lh: "bu.lh"; li: "bu.li"; lj: "bu.lj"; lk: "bu.lk"; ll: "bu.ll"; lm: "bu.lm"; ln: "bu.ln"; lo: "bu.lo"; lp: "bu.lp"; lq: "bu.lq"; lr: "bu.lr"; ls: "bu.ls"; lt: "bu.lt"; lu: "bu.lu"; lv: "bu.lv"; lw: "bu.lw"; lx: "bu.lx"; ly: "bu.ly"; lz: "bu.lz"; ma: "bu.ma"; mb: "bu.mb"; mc: "bu.mc"; md: "bu.md"; me: "bu.me"; mf: "bu.mf"; mg: "bu.mg"; mh: "bu.mh"; mi: "bu.mi"; mj: "bu.mj"; mk: "bu.mk"; ml: "bu.ml"; mm: "bu.mm"; mn: "bu.mn"; mo: "bu.mo"; mp: "bu.mp"; mq: "bu.mq"; mr: "bu.mr"; ms: "bu.ms"; mt: "bu.mt"; mu: "bu.mu"; mv: "bu.mv"; mw: "bu.mw"; mx: "bu.mx"; my: "bu.my"; mz: "bu.mz"; na: "bu.na"; nb: "bu.nb"; nc: "bu.nc"; nd: "bu.nd"; ne: "bu.ne"; nf: "bu.nf"; ng: "bu.ng"; nh: "bu.nh"; ni: "bu.ni"; nj: "bu.nj"; nk: "bu.nk"; nl: "bu.nl"; nm: "bu.nm"; nn: "bu.nn"; no: "bu.no"; np: "bu.np"; nq: "bu.nq"; nr: "bu.nr"; ns: "bu.ns"; nt: "bu.nt"; nu: "bu.nu"; nv: "bu.nv"; nw: "bu.nw"; nx: "bu.nx"; ny: "bu.ny"; nz: "bu.nz"; oa: "bu.oa"; ob: "bu.ob"; oc: "bu.oc"; od: "bu.od"; oe: "bu.oe"; of: "bu.of"; og: "bu.og"; oh: "bu.oh"; oi: "bu.oi"; oj: "bu.oj"; ok: "bu.ok"; ol: "bu.ol"; om: "bu.om"; on: "bu.on"; oo: "bu.oo"; op: "bu.op"; oq: "bu.oq"; or: "bu.or"; os: "bu.os"; ot: "bu.ot"; ou: "bu.ou"; ov: "bu.ov"; ow: "bu.ow"; ox: "bu.ox"; oy: "bu.oy"; oz: "bu.oz"; pa: "bu.pa"; pb: "bu.pb"; pc: "bu.pc"; pd: "bu.pd"; pe: "bu.pe"; pf: "bu.pf"; pg: "bu.pg"; ph: "bu.ph"; pi: "bu.pi"; pj: "bu.pj"; pk: "bu.pk"; pl: "bu.pl"; pm: "bu.pm"; pn: "bu.pn"; po: "bu.po"; pp: "bu.pp"; pq: "bu.pq"; pr: "bu.pr"; ps: "bu.ps"; pt: "bu.pt"; pu: "bu.pu"; pv: "bu.pv"; pw: "bu.pw"; px: "bu.px"; py: "bu.py"; pz: "bu.pz"; qa: "bu.qa"; qb: "bu.qb"; qc: "bu.qc"; qd: "bu.qd"; qe: "bu.qe"; qf: "bu.qf"; qg: "bu.qg"; qh: "bu.qh"; qi: "bu.qi"; qj: "bu.qj"; qk: "bu.qk"; ql: "bu.ql"; qm: "bu.qm"; qn: "bu.qn"; qo: "bu.qo"; qp: "bu.qp"; qq: "bu.qq"; qr: "bu.qr"; qs: "bu.qs"; qt: "bu.qt"; qu: "bu.qu"; qv: "bu.qv"; qw: "bu.qw"; qx: "bu.qx"; qy: "bu.qy"; qz: "bu.qz"; ra: "bu.ra"; rb: "bu.rb"; rc: "bu.rc"; rd: "bu.rd"; re: "bu.re"; rf: "bu.rf"; rg: "bu.rg"; rh: "bu.rh"; ri: "bu.ri"; rj: "bu.rj"; rk: "bu.rk"; rl: "bu.rl"; rm: "bu.rm"; rn: "bu.rn"; ro: "bu.ro"; rp: "bu.rp"; rq: "bu.rq"; rr: "bu.rr"; rs: "bu.rs"; rt: "bu.rt"; ru: "bu.ru"; rv: "bu.rv"; rw: "bu.rw"; rx: "bu.rx"; ry: "bu.ry"; rz: "bu.rz"; sa: "bu.sa"; sb: "bu.sb"; sc: "bu.sc"; sd: "bu.sd"; se: "bu.se"; sf: "bu.sf"; sg: "bu.sg"; sh: "bu.sh"; si: "bu.si"; sj: "bu.sj"; sk: "bu.sk"; sl: "bu.sl"; sm: "bu.sm"; sn: "bu.sn"; so: "bu.so"; sp: "bu.sp"; sq: "bu.sq"; sr: "bu.sr"; ss: "bu.ss"; st: "bu.st"; su: "bu.su"; sv: "bu.sv"; sw: "bu.sw"; sx: "bu.sx"; sy: "bu.sy"; sz: "bu.sz"; ta: "bu.ta"; tb: "bu.tb"; tc: "bu.tc"; td: "bu.td"; te: "bu.te"; tf: "bu.tf"; tg: "bu.tg"; th: "bu.th"; ti: "bu.ti"; tj: "bu.tj"; tk: "bu.tk"; tl: "bu.tl"; tm: "bu.tm"; tn: "bu.tn"; to: "bu.to"; tp: "bu.tp"; tq: "bu.tq"; tr: "bu.tr"; ts: "bu.ts"; tt: "bu.tt"; tu: "bu.tu"; tv: "bu.tv"; tw: "bu.tw"; tx: "bu.tx"; ty: "bu.ty"; tz: "bu.tz"; ua: "bu.ua"; ub: "bu.ub"; uc: "bu.uc"; ud: "bu.ud"; ue: "bu.ue"; uf: "bu.uf"; ug: "bu.ug"; uh: "bu.uh"; ui: "bu.ui"; uj: "bu.uj"; uk: "bu.uk"; ul: "bu.ul"; um: "bu.um"; un: "bu.un"; uo: "bu.uo"; up: "bu.up"; uq: "bu.uq"; ur: "bu.ur"; us: "bu.us"; ut: "bu.ut"; uu: "bu.uu"; uv: "bu.uv"; uw: "bu.uw"; ux: "bu.ux"; uy: "bu.uy"; uz: "bu.uz"; va: "bu.va"; vb: "bu.vb"; vc: "bu.vc"; vd: "bu.vd"; ve: "bu.ve"; vf: "bu.vf"; vg: "bu.vg"; vh: "bu.vh"; vi: "bu.vi"; vj: "bu.vj"; vk: "bu.vk"; vl: "bu.vl"; vm: "bu.vm"; vn: "bu.vn"; vo: "bu.vo"; vp: "bu.vp"; vq: "bu.vq"; vr: "bu.vr"; vs: "bu.vs"; vt: "bu.vt"; vu: "bu.vu"; vv: "bu.vv"; vw: "bu.vw"; vx: "bu.vx"; vy: "bu.vy"; vz: "bu.vz"; wa: "bu.wa"; wb: "bu.wb"; wc: "bu.wc"; wd: "bu.wd"; we: "bu.we"; wf: "bu.wf"; wg: "bu.wg"; wh: "bu.wh"; wi: "bu.wi"; wj: "bu.wj"; wk: "bu.wk"; wl: "bu.wl"; wm: "bu.wm"; wn: "bu.wn"; wo: "bu.wo"; wp: "bu.wp"; wq: "bu.wq"; wr: "bu.wr"; ws: "bu.ws"; wt: "bu.wt"; wu: "bu.wu"; wv: "bu.wv"; ww: "bu.ww"; wx: "bu.wx"; wy: "bu.wy"; wz: "bu.wz"; xa: "bu.xa"; xb: "bu.xb"; xc: "bu.xc"; xd: "bu.xd"; xe: "bu.xe"; xf: "bu.xf"; xg: "bu.xg"; xh: "bu.xh"; xi: "bu.xi"; xj: "bu.xj"; xk: "bu.xk"; xl: "bu.xl"; xm: "bu.xm"; xn: "bu.xn"; xo: "bu.xo"; xp: "bu.xp"; xq: "bu.xq"; xr: "bu.xr"; xs: "bu.xs"; xt: "bu.xt"; xu: "bu.xu"; xv: "bu.xv"; xw: "bu.xw"; xx: "bu.xx"; xy: "bu.xy"; xz: "bu.xz"; ya: "bu.ya"; yb: "bu.yb"; yc: "bu.yc"; yd: "bu.yd"; ye: "bu.ye"; yf: "bu.yf"; yg: "bu.yg"; yh: "bu.yh"; yi: "bu.yi"; yj: "bu.yj"; yk: "bu.yk"; yl: "bu.yl"; ym: "bu.ym"; yn: "bu.yn"; yo: "bu.yo"; yp: "bu.yp"; yq: "bu.yq"; yr: "bu.yr"; ys: "bu.ys"; yt: "bu.yt"; yu: "bu.yu"; yv: "bu.yv"; yw: "bu.yw"; yx: "bu.yx"; yy: "bu.yy"; yz: "bu.yz"; za: "bu.za"; zb: "bu.zb"; zc: "bu.zc"; zd: "bu.zd"; ze: "bu.ze"; zf: "bu.zf"; zg: "bu.zg"; zh: "bu.zh"; zi: "bu.zi"; zj: "bu.zj"; zk: "bu.zk"; zl: "bu.zl"; zm: "bu.zm"; zn: "bu.zn"; zo: "bu.zo"; zp: "bu.zp"; zq: "bu.zq"; zr: "bu.zr"; zs: "bu.zs"; zt: "bu.zt"; zu: "bu.zu"; zv: "bu.zv"; zw: "bu.zw"; zx: "bu.zx"; zy: "bu.zy"; zz: "bu.zz"; }; bv: { aa: "bv.aa"; ab: "bv.ab"; ac: "bv.ac"; ad: "bv.ad"; ae: "bv.ae"; af: "bv.af"; ag: "bv.ag"; ah: "bv.ah"; ai: "bv.ai"; aj: "bv.aj"; ak: "bv.ak"; al: "bv.al"; am: "bv.am"; an: "bv.an"; ao: "bv.ao"; ap: "bv.ap"; aq: "bv.aq"; ar: "bv.ar"; as: "bv.as"; at: "bv.at"; au: "bv.au"; av: "bv.av"; aw: "bv.aw"; ax: "bv.ax"; ay: "bv.ay"; az: "bv.az"; ba: "bv.ba"; bb: "bv.bb"; bc: "bv.bc"; bd: "bv.bd"; be: "bv.be"; bf: "bv.bf"; bg: "bv.bg"; bh: "bv.bh"; bi: "bv.bi"; bj: "bv.bj"; bk: "bv.bk"; bl: "bv.bl"; bm: "bv.bm"; bn: "bv.bn"; bo: "bv.bo"; bp: "bv.bp"; bq: "bv.bq"; br: "bv.br"; bs: "bv.bs"; bt: "bv.bt"; bu: "bv.bu"; bv: "bv.bv"; bw: "bv.bw"; bx: "bv.bx"; by: "bv.by"; bz: "bv.bz"; ca: "bv.ca"; cb: "bv.cb"; cc: "bv.cc"; cd: "bv.cd"; ce: "bv.ce"; cf: "bv.cf"; cg: "bv.cg"; ch: "bv.ch"; ci: "bv.ci"; cj: "bv.cj"; ck: "bv.ck"; cl: "bv.cl"; cm: "bv.cm"; cn: "bv.cn"; co: "bv.co"; cp: "bv.cp"; cq: "bv.cq"; cr: "bv.cr"; cs: "bv.cs"; ct: "bv.ct"; cu: "bv.cu"; cv: "bv.cv"; cw: "bv.cw"; cx: "bv.cx"; cy: "bv.cy"; cz: "bv.cz"; da: "bv.da"; db: "bv.db"; dc: "bv.dc"; dd: "bv.dd"; de: "bv.de"; df: "bv.df"; dg: "bv.dg"; dh: "bv.dh"; di: "bv.di"; dj: "bv.dj"; dk: "bv.dk"; dl: "bv.dl"; dm: "bv.dm"; dn: "bv.dn"; do: "bv.do"; dp: "bv.dp"; dq: "bv.dq"; dr: "bv.dr"; ds: "bv.ds"; dt: "bv.dt"; du: "bv.du"; dv: "bv.dv"; dw: "bv.dw"; dx: "bv.dx"; dy: "bv.dy"; dz: "bv.dz"; ea: "bv.ea"; eb: "bv.eb"; ec: "bv.ec"; ed: "bv.ed"; ee: "bv.ee"; ef: "bv.ef"; eg: "bv.eg"; eh: "bv.eh"; ei: "bv.ei"; ej: "bv.ej"; ek: "bv.ek"; el: "bv.el"; em: "bv.em"; en: "bv.en"; eo: "bv.eo"; ep: "bv.ep"; eq: "bv.eq"; er: "bv.er"; es: "bv.es"; et: "bv.et"; eu: "bv.eu"; ev: "bv.ev"; ew: "bv.ew"; ex: "bv.ex"; ey: "bv.ey"; ez: "bv.ez"; fa: "bv.fa"; fb: "bv.fb"; fc: "bv.fc"; fd: "bv.fd"; fe: "bv.fe"; ff: "bv.ff"; fg: "bv.fg"; fh: "bv.fh"; fi: "bv.fi"; fj: "bv.fj"; fk: "bv.fk"; fl: "bv.fl"; fm: "bv.fm"; fn: "bv.fn"; fo: "bv.fo"; fp: "bv.fp"; fq: "bv.fq"; fr: "bv.fr"; fs: "bv.fs"; ft: "bv.ft"; fu: "bv.fu"; fv: "bv.fv"; fw: "bv.fw"; fx: "bv.fx"; fy: "bv.fy"; fz: "bv.fz"; ga: "bv.ga"; gb: "bv.gb"; gc: "bv.gc"; gd: "bv.gd"; ge: "bv.ge"; gf: "bv.gf"; gg: "bv.gg"; gh: "bv.gh"; gi: "bv.gi"; gj: "bv.gj"; gk: "bv.gk"; gl: "bv.gl"; gm: "bv.gm"; gn: "bv.gn"; go: "bv.go"; gp: "bv.gp"; gq: "bv.gq"; gr: "bv.gr"; gs: "bv.gs"; gt: "bv.gt"; gu: "bv.gu"; gv: "bv.gv"; gw: "bv.gw"; gx: "bv.gx"; gy: "bv.gy"; gz: "bv.gz"; ha: "bv.ha"; hb: "bv.hb"; hc: "bv.hc"; hd: "bv.hd"; he: "bv.he"; hf: "bv.hf"; hg: "bv.hg"; hh: "bv.hh"; hi: "bv.hi"; hj: "bv.hj"; hk: "bv.hk"; hl: "bv.hl"; hm: "bv.hm"; hn: "bv.hn"; ho: "bv.ho"; hp: "bv.hp"; hq: "bv.hq"; hr: "bv.hr"; hs: "bv.hs"; ht: "bv.ht"; hu: "bv.hu"; hv: "bv.hv"; hw: "bv.hw"; hx: "bv.hx"; hy: "bv.hy"; hz: "bv.hz"; ia: "bv.ia"; ib: "bv.ib"; ic: "bv.ic"; id: "bv.id"; ie: "bv.ie"; if: "bv.if"; ig: "bv.ig"; ih: "bv.ih"; ii: "bv.ii"; ij: "bv.ij"; ik: "bv.ik"; il: "bv.il"; im: "bv.im"; in: "bv.in"; io: "bv.io"; ip: "bv.ip"; iq: "bv.iq"; ir: "bv.ir"; is: "bv.is"; it: "bv.it"; iu: "bv.iu"; iv: "bv.iv"; iw: "bv.iw"; ix: "bv.ix"; iy: "bv.iy"; iz: "bv.iz"; ja: "bv.ja"; jb: "bv.jb"; jc: "bv.jc"; jd: "bv.jd"; je: "bv.je"; jf: "bv.jf"; jg: "bv.jg"; jh: "bv.jh"; ji: "bv.ji"; jj: "bv.jj"; jk: "bv.jk"; jl: "bv.jl"; jm: "bv.jm"; jn: "bv.jn"; jo: "bv.jo"; jp: "bv.jp"; jq: "bv.jq"; jr: "bv.jr"; js: "bv.js"; jt: "bv.jt"; ju: "bv.ju"; jv: "bv.jv"; jw: "bv.jw"; jx: "bv.jx"; jy: "bv.jy"; jz: "bv.jz"; ka: "bv.ka"; kb: "bv.kb"; kc: "bv.kc"; kd: "bv.kd"; ke: "bv.ke"; kf: "bv.kf"; kg: "bv.kg"; kh: "bv.kh"; ki: "bv.ki"; kj: "bv.kj"; kk: "bv.kk"; kl: "bv.kl"; km: "bv.km"; kn: "bv.kn"; ko: "bv.ko"; kp: "bv.kp"; kq: "bv.kq"; kr: "bv.kr"; ks: "bv.ks"; kt: "bv.kt"; ku: "bv.ku"; kv: "bv.kv"; kw: "bv.kw"; kx: "bv.kx"; ky: "bv.ky"; kz: "bv.kz"; la: "bv.la"; lb: "bv.lb"; lc: "bv.lc"; ld: "bv.ld"; le: "bv.le"; lf: "bv.lf"; lg: "bv.lg"; lh: "bv.lh"; li: "bv.li"; lj: "bv.lj"; lk: "bv.lk"; ll: "bv.ll"; lm: "bv.lm"; ln: "bv.ln"; lo: "bv.lo"; lp: "bv.lp"; lq: "bv.lq"; lr: "bv.lr"; ls: "bv.ls"; lt: "bv.lt"; lu: "bv.lu"; lv: "bv.lv"; lw: "bv.lw"; lx: "bv.lx"; ly: "bv.ly"; lz: "bv.lz"; ma: "bv.ma"; mb: "bv.mb"; mc: "bv.mc"; md: "bv.md"; me: "bv.me"; mf: "bv.mf"; mg: "bv.mg"; mh: "bv.mh"; mi: "bv.mi"; mj: "bv.mj"; mk: "bv.mk"; ml: "bv.ml"; mm: "bv.mm"; mn: "bv.mn"; mo: "bv.mo"; mp: "bv.mp"; mq: "bv.mq"; mr: "bv.mr"; ms: "bv.ms"; mt: "bv.mt"; mu: "bv.mu"; mv: "bv.mv"; mw: "bv.mw"; mx: "bv.mx"; my: "bv.my"; mz: "bv.mz"; na: "bv.na"; nb: "bv.nb"; nc: "bv.nc"; nd: "bv.nd"; ne: "bv.ne"; nf: "bv.nf"; ng: "bv.ng"; nh: "bv.nh"; ni: "bv.ni"; nj: "bv.nj"; nk: "bv.nk"; nl: "bv.nl"; nm: "bv.nm"; nn: "bv.nn"; no: "bv.no"; np: "bv.np"; nq: "bv.nq"; nr: "bv.nr"; ns: "bv.ns"; nt: "bv.nt"; nu: "bv.nu"; nv: "bv.nv"; nw: "bv.nw"; nx: "bv.nx"; ny: "bv.ny"; nz: "bv.nz"; oa: "bv.oa"; ob: "bv.ob"; oc: "bv.oc"; od: "bv.od"; oe: "bv.oe"; of: "bv.of"; og: "bv.og"; oh: "bv.oh"; oi: "bv.oi"; oj: "bv.oj"; ok: "bv.ok"; ol: "bv.ol"; om: "bv.om"; on: "bv.on"; oo: "bv.oo"; op: "bv.op"; oq: "bv.oq"; or: "bv.or"; os: "bv.os"; ot: "bv.ot"; ou: "bv.ou"; ov: "bv.ov"; ow: "bv.ow"; ox: "bv.ox"; oy: "bv.oy"; oz: "bv.oz"; pa: "bv.pa"; pb: "bv.pb"; pc: "bv.pc"; pd: "bv.pd"; pe: "bv.pe"; pf: "bv.pf"; pg: "bv.pg"; ph: "bv.ph"; pi: "bv.pi"; pj: "bv.pj"; pk: "bv.pk"; pl: "bv.pl"; pm: "bv.pm"; pn: "bv.pn"; po: "bv.po"; pp: "bv.pp"; pq: "bv.pq"; pr: "bv.pr"; ps: "bv.ps"; pt: "bv.pt"; pu: "bv.pu"; pv: "bv.pv"; pw: "bv.pw"; px: "bv.px"; py: "bv.py"; pz: "bv.pz"; qa: "bv.qa"; qb: "bv.qb"; qc: "bv.qc"; qd: "bv.qd"; qe: "bv.qe"; qf: "bv.qf"; qg: "bv.qg"; qh: "bv.qh"; qi: "bv.qi"; qj: "bv.qj"; qk: "bv.qk"; ql: "bv.ql"; qm: "bv.qm"; qn: "bv.qn"; qo: "bv.qo"; qp: "bv.qp"; qq: "bv.qq"; qr: "bv.qr"; qs: "bv.qs"; qt: "bv.qt"; qu: "bv.qu"; qv: "bv.qv"; qw: "bv.qw"; qx: "bv.qx"; qy: "bv.qy"; qz: "bv.qz"; ra: "bv.ra"; rb: "bv.rb"; rc: "bv.rc"; rd: "bv.rd"; re: "bv.re"; rf: "bv.rf"; rg: "bv.rg"; rh: "bv.rh"; ri: "bv.ri"; rj: "bv.rj"; rk: "bv.rk"; rl: "bv.rl"; rm: "bv.rm"; rn: "bv.rn"; ro: "bv.ro"; rp: "bv.rp"; rq: "bv.rq"; rr: "bv.rr"; rs: "bv.rs"; rt: "bv.rt"; ru: "bv.ru"; rv: "bv.rv"; rw: "bv.rw"; rx: "bv.rx"; ry: "bv.ry"; rz: "bv.rz"; sa: "bv.sa"; sb: "bv.sb"; sc: "bv.sc"; sd: "bv.sd"; se: "bv.se"; sf: "bv.sf"; sg: "bv.sg"; sh: "bv.sh"; si: "bv.si"; sj: "bv.sj"; sk: "bv.sk"; sl: "bv.sl"; sm: "bv.sm"; sn: "bv.sn"; so: "bv.so"; sp: "bv.sp"; sq: "bv.sq"; sr: "bv.sr"; ss: "bv.ss"; st: "bv.st"; su: "bv.su"; sv: "bv.sv"; sw: "bv.sw"; sx: "bv.sx"; sy: "bv.sy"; sz: "bv.sz"; ta: "bv.ta"; tb: "bv.tb"; tc: "bv.tc"; td: "bv.td"; te: "bv.te"; tf: "bv.tf"; tg: "bv.tg"; th: "bv.th"; ti: "bv.ti"; tj: "bv.tj"; tk: "bv.tk"; tl: "bv.tl"; tm: "bv.tm"; tn: "bv.tn"; to: "bv.to"; tp: "bv.tp"; tq: "bv.tq"; tr: "bv.tr"; ts: "bv.ts"; tt: "bv.tt"; tu: "bv.tu"; tv: "bv.tv"; tw: "bv.tw"; tx: "bv.tx"; ty: "bv.ty"; tz: "bv.tz"; ua: "bv.ua"; ub: "bv.ub"; uc: "bv.uc"; ud: "bv.ud"; ue: "bv.ue"; uf: "bv.uf"; ug: "bv.ug"; uh: "bv.uh"; ui: "bv.ui"; uj: "bv.uj"; uk: "bv.uk"; ul: "bv.ul"; um: "bv.um"; un: "bv.un"; uo: "bv.uo"; up: "bv.up"; uq: "bv.uq"; ur: "bv.ur"; us: "bv.us"; ut: "bv.ut"; uu: "bv.uu"; uv: "bv.uv"; uw: "bv.uw"; ux: "bv.ux"; uy: "bv.uy"; uz: "bv.uz"; va: "bv.va"; vb: "bv.vb"; vc: "bv.vc"; vd: "bv.vd"; ve: "bv.ve"; vf: "bv.vf"; vg: "bv.vg"; vh: "bv.vh"; vi: "bv.vi"; vj: "bv.vj"; vk: "bv.vk"; vl: "bv.vl"; vm: "bv.vm"; vn: "bv.vn"; vo: "bv.vo"; vp: "bv.vp"; vq: "bv.vq"; vr: "bv.vr"; vs: "bv.vs"; vt: "bv.vt"; vu: "bv.vu"; vv: "bv.vv"; vw: "bv.vw"; vx: "bv.vx"; vy: "bv.vy"; vz: "bv.vz"; wa: "bv.wa"; wb: "bv.wb"; wc: "bv.wc"; wd: "bv.wd"; we: "bv.we"; wf: "bv.wf"; wg: "bv.wg"; wh: "bv.wh"; wi: "bv.wi"; wj: "bv.wj"; wk: "bv.wk"; wl: "bv.wl"; wm: "bv.wm"; wn: "bv.wn"; wo: "bv.wo"; wp: "bv.wp"; wq: "bv.wq"; wr: "bv.wr"; ws: "bv.ws"; wt: "bv.wt"; wu: "bv.wu"; wv: "bv.wv"; ww: "bv.ww"; wx: "bv.wx"; wy: "bv.wy"; wz: "bv.wz"; xa: "bv.xa"; xb: "bv.xb"; xc: "bv.xc"; xd: "bv.xd"; xe: "bv.xe"; xf: "bv.xf"; xg: "bv.xg"; xh: "bv.xh"; xi: "bv.xi"; xj: "bv.xj"; xk: "bv.xk"; xl: "bv.xl"; xm: "bv.xm"; xn: "bv.xn"; xo: "bv.xo"; xp: "bv.xp"; xq: "bv.xq"; xr: "bv.xr"; xs: "bv.xs"; xt: "bv.xt"; xu: "bv.xu"; xv: "bv.xv"; xw: "bv.xw"; xx: "bv.xx"; xy: "bv.xy"; xz: "bv.xz"; ya: "bv.ya"; yb: "bv.yb"; yc: "bv.yc"; yd: "bv.yd"; ye: "bv.ye"; yf: "bv.yf"; yg: "bv.yg"; yh: "bv.yh"; yi: "bv.yi"; yj: "bv.yj"; yk: "bv.yk"; yl: "bv.yl"; ym: "bv.ym"; yn: "bv.yn"; yo: "bv.yo"; yp: "bv.yp"; yq: "bv.yq"; yr: "bv.yr"; ys: "bv.ys"; yt: "bv.yt"; yu: "bv.yu"; yv: "bv.yv"; yw: "bv.yw"; yx: "bv.yx"; yy: "bv.yy"; yz: "bv.yz"; za: "bv.za"; zb: "bv.zb"; zc: "bv.zc"; zd: "bv.zd"; ze: "bv.ze"; zf: "bv.zf"; zg: "bv.zg"; zh: "bv.zh"; zi: "bv.zi"; zj: "bv.zj"; zk: "bv.zk"; zl: "bv.zl"; zm: "bv.zm"; zn: "bv.zn"; zo: "bv.zo"; zp: "bv.zp"; zq: "bv.zq"; zr: "bv.zr"; zs: "bv.zs"; zt: "bv.zt"; zu: "bv.zu"; zv: "bv.zv"; zw: "bv.zw"; zx: "bv.zx"; zy: "bv.zy"; zz: "bv.zz"; }; bw: { aa: "bw.aa"; ab: "bw.ab"; ac: "bw.ac"; ad: "bw.ad"; ae: "bw.ae"; af: "bw.af"; ag: "bw.ag"; ah: "bw.ah"; ai: "bw.ai"; aj: "bw.aj"; ak: "bw.ak"; al: "bw.al"; am: "bw.am"; an: "bw.an"; ao: "bw.ao"; ap: "bw.ap"; aq: "bw.aq"; ar: "bw.ar"; as: "bw.as"; at: "bw.at"; au: "bw.au"; av: "bw.av"; aw: "bw.aw"; ax: "bw.ax"; ay: "bw.ay"; az: "bw.az"; ba: "bw.ba"; bb: "bw.bb"; bc: "bw.bc"; bd: "bw.bd"; be: "bw.be"; bf: "bw.bf"; bg: "bw.bg"; bh: "bw.bh"; bi: "bw.bi"; bj: "bw.bj"; bk: "bw.bk"; bl: "bw.bl"; bm: "bw.bm"; bn: "bw.bn"; bo: "bw.bo"; bp: "bw.bp"; bq: "bw.bq"; br: "bw.br"; bs: "bw.bs"; bt: "bw.bt"; bu: "bw.bu"; bv: "bw.bv"; bw: "bw.bw"; bx: "bw.bx"; by: "bw.by"; bz: "bw.bz"; ca: "bw.ca"; cb: "bw.cb"; cc: "bw.cc"; cd: "bw.cd"; ce: "bw.ce"; cf: "bw.cf"; cg: "bw.cg"; ch: "bw.ch"; ci: "bw.ci"; cj: "bw.cj"; ck: "bw.ck"; cl: "bw.cl"; cm: "bw.cm"; cn: "bw.cn"; co: "bw.co"; cp: "bw.cp"; cq: "bw.cq"; cr: "bw.cr"; cs: "bw.cs"; ct: "bw.ct"; cu: "bw.cu"; cv: "bw.cv"; cw: "bw.cw"; cx: "bw.cx"; cy: "bw.cy"; cz: "bw.cz"; da: "bw.da"; db: "bw.db"; dc: "bw.dc"; dd: "bw.dd"; de: "bw.de"; df: "bw.df"; dg: "bw.dg"; dh: "bw.dh"; di: "bw.di"; dj: "bw.dj"; dk: "bw.dk"; dl: "bw.dl"; dm: "bw.dm"; dn: "bw.dn"; do: "bw.do"; dp: "bw.dp"; dq: "bw.dq"; dr: "bw.dr"; ds: "bw.ds"; dt: "bw.dt"; du: "bw.du"; dv: "bw.dv"; dw: "bw.dw"; dx: "bw.dx"; dy: "bw.dy"; dz: "bw.dz"; ea: "bw.ea"; eb: "bw.eb"; ec: "bw.ec"; ed: "bw.ed"; ee: "bw.ee"; ef: "bw.ef"; eg: "bw.eg"; eh: "bw.eh"; ei: "bw.ei"; ej: "bw.ej"; ek: "bw.ek"; el: "bw.el"; em: "bw.em"; en: "bw.en"; eo: "bw.eo"; ep: "bw.ep"; eq: "bw.eq"; er: "bw.er"; es: "bw.es"; et: "bw.et"; eu: "bw.eu"; ev: "bw.ev"; ew: "bw.ew"; ex: "bw.ex"; ey: "bw.ey"; ez: "bw.ez"; fa: "bw.fa"; fb: "bw.fb"; fc: "bw.fc"; fd: "bw.fd"; fe: "bw.fe"; ff: "bw.ff"; fg: "bw.fg"; fh: "bw.fh"; fi: "bw.fi"; fj: "bw.fj"; fk: "bw.fk"; fl: "bw.fl"; fm: "bw.fm"; fn: "bw.fn"; fo: "bw.fo"; fp: "bw.fp"; fq: "bw.fq"; fr: "bw.fr"; fs: "bw.fs"; ft: "bw.ft"; fu: "bw.fu"; fv: "bw.fv"; fw: "bw.fw"; fx: "bw.fx"; fy: "bw.fy"; fz: "bw.fz"; ga: "bw.ga"; gb: "bw.gb"; gc: "bw.gc"; gd: "bw.gd"; ge: "bw.ge"; gf: "bw.gf"; gg: "bw.gg"; gh: "bw.gh"; gi: "bw.gi"; gj: "bw.gj"; gk: "bw.gk"; gl: "bw.gl"; gm: "bw.gm"; gn: "bw.gn"; go: "bw.go"; gp: "bw.gp"; gq: "bw.gq"; gr: "bw.gr"; gs: "bw.gs"; gt: "bw.gt"; gu: "bw.gu"; gv: "bw.gv"; gw: "bw.gw"; gx: "bw.gx"; gy: "bw.gy"; gz: "bw.gz"; ha: "bw.ha"; hb: "bw.hb"; hc: "bw.hc"; hd: "bw.hd"; he: "bw.he"; hf: "bw.hf"; hg: "bw.hg"; hh: "bw.hh"; hi: "bw.hi"; hj: "bw.hj"; hk: "bw.hk"; hl: "bw.hl"; hm: "bw.hm"; hn: "bw.hn"; ho: "bw.ho"; hp: "bw.hp"; hq: "bw.hq"; hr: "bw.hr"; hs: "bw.hs"; ht: "bw.ht"; hu: "bw.hu"; hv: "bw.hv"; hw: "bw.hw"; hx: "bw.hx"; hy: "bw.hy"; hz: "bw.hz"; ia: "bw.ia"; ib: "bw.ib"; ic: "bw.ic"; id: "bw.id"; ie: "bw.ie"; if: "bw.if"; ig: "bw.ig"; ih: "bw.ih"; ii: "bw.ii"; ij: "bw.ij"; ik: "bw.ik"; il: "bw.il"; im: "bw.im"; in: "bw.in"; io: "bw.io"; ip: "bw.ip"; iq: "bw.iq"; ir: "bw.ir"; is: "bw.is"; it: "bw.it"; iu: "bw.iu"; iv: "bw.iv"; iw: "bw.iw"; ix: "bw.ix"; iy: "bw.iy"; iz: "bw.iz"; ja: "bw.ja"; jb: "bw.jb"; jc: "bw.jc"; jd: "bw.jd"; je: "bw.je"; jf: "bw.jf"; jg: "bw.jg"; jh: "bw.jh"; ji: "bw.ji"; jj: "bw.jj"; jk: "bw.jk"; jl: "bw.jl"; jm: "bw.jm"; jn: "bw.jn"; jo: "bw.jo"; jp: "bw.jp"; jq: "bw.jq"; jr: "bw.jr"; js: "bw.js"; jt: "bw.jt"; ju: "bw.ju"; jv: "bw.jv"; jw: "bw.jw"; jx: "bw.jx"; jy: "bw.jy"; jz: "bw.jz"; ka: "bw.ka"; kb: "bw.kb"; kc: "bw.kc"; kd: "bw.kd"; ke: "bw.ke"; kf: "bw.kf"; kg: "bw.kg"; kh: "bw.kh"; ki: "bw.ki"; kj: "bw.kj"; kk: "bw.kk"; kl: "bw.kl"; km: "bw.km"; kn: "bw.kn"; ko: "bw.ko"; kp: "bw.kp"; kq: "bw.kq"; kr: "bw.kr"; ks: "bw.ks"; kt: "bw.kt"; ku: "bw.ku"; kv: "bw.kv"; kw: "bw.kw"; kx: "bw.kx"; ky: "bw.ky"; kz: "bw.kz"; la: "bw.la"; lb: "bw.lb"; lc: "bw.lc"; ld: "bw.ld"; le: "bw.le"; lf: "bw.lf"; lg: "bw.lg"; lh: "bw.lh"; li: "bw.li"; lj: "bw.lj"; lk: "bw.lk"; ll: "bw.ll"; lm: "bw.lm"; ln: "bw.ln"; lo: "bw.lo"; lp: "bw.lp"; lq: "bw.lq"; lr: "bw.lr"; ls: "bw.ls"; lt: "bw.lt"; lu: "bw.lu"; lv: "bw.lv"; lw: "bw.lw"; lx: "bw.lx"; ly: "bw.ly"; lz: "bw.lz"; ma: "bw.ma"; mb: "bw.mb"; mc: "bw.mc"; md: "bw.md"; me: "bw.me"; mf: "bw.mf"; mg: "bw.mg"; mh: "bw.mh"; mi: "bw.mi"; mj: "bw.mj"; mk: "bw.mk"; ml: "bw.ml"; mm: "bw.mm"; mn: "bw.mn"; mo: "bw.mo"; mp: "bw.mp"; mq: "bw.mq"; mr: "bw.mr"; ms: "bw.ms"; mt: "bw.mt"; mu: "bw.mu"; mv: "bw.mv"; mw: "bw.mw"; mx: "bw.mx"; my: "bw.my"; mz: "bw.mz"; na: "bw.na"; nb: "bw.nb"; nc: "bw.nc"; nd: "bw.nd"; ne: "bw.ne"; nf: "bw.nf"; ng: "bw.ng"; nh: "bw.nh"; ni: "bw.ni"; nj: "bw.nj"; nk: "bw.nk"; nl: "bw.nl"; nm: "bw.nm"; nn: "bw.nn"; no: "bw.no"; np: "bw.np"; nq: "bw.nq"; nr: "bw.nr"; ns: "bw.ns"; nt: "bw.nt"; nu: "bw.nu"; nv: "bw.nv"; nw: "bw.nw"; nx: "bw.nx"; ny: "bw.ny"; nz: "bw.nz"; oa: "bw.oa"; ob: "bw.ob"; oc: "bw.oc"; od: "bw.od"; oe: "bw.oe"; of: "bw.of"; og: "bw.og"; oh: "bw.oh"; oi: "bw.oi"; oj: "bw.oj"; ok: "bw.ok"; ol: "bw.ol"; om: "bw.om"; on: "bw.on"; oo: "bw.oo"; op: "bw.op"; oq: "bw.oq"; or: "bw.or"; os: "bw.os"; ot: "bw.ot"; ou: "bw.ou"; ov: "bw.ov"; ow: "bw.ow"; ox: "bw.ox"; oy: "bw.oy"; oz: "bw.oz"; pa: "bw.pa"; pb: "bw.pb"; pc: "bw.pc"; pd: "bw.pd"; pe: "bw.pe"; pf: "bw.pf"; pg: "bw.pg"; ph: "bw.ph"; pi: "bw.pi"; pj: "bw.pj"; pk: "bw.pk"; pl: "bw.pl"; pm: "bw.pm"; pn: "bw.pn"; po: "bw.po"; pp: "bw.pp"; pq: "bw.pq"; pr: "bw.pr"; ps: "bw.ps"; pt: "bw.pt"; pu: "bw.pu"; pv: "bw.pv"; pw: "bw.pw"; px: "bw.px"; py: "bw.py"; pz: "bw.pz"; qa: "bw.qa"; qb: "bw.qb"; qc: "bw.qc"; qd: "bw.qd"; qe: "bw.qe"; qf: "bw.qf"; qg: "bw.qg"; qh: "bw.qh"; qi: "bw.qi"; qj: "bw.qj"; qk: "bw.qk"; ql: "bw.ql"; qm: "bw.qm"; qn: "bw.qn"; qo: "bw.qo"; qp: "bw.qp"; qq: "bw.qq"; qr: "bw.qr"; qs: "bw.qs"; qt: "bw.qt"; qu: "bw.qu"; qv: "bw.qv"; qw: "bw.qw"; qx: "bw.qx"; qy: "bw.qy"; qz: "bw.qz"; ra: "bw.ra"; rb: "bw.rb"; rc: "bw.rc"; rd: "bw.rd"; re: "bw.re"; rf: "bw.rf"; rg: "bw.rg"; rh: "bw.rh"; ri: "bw.ri"; rj: "bw.rj"; rk: "bw.rk"; rl: "bw.rl"; rm: "bw.rm"; rn: "bw.rn"; ro: "bw.ro"; rp: "bw.rp"; rq: "bw.rq"; rr: "bw.rr"; rs: "bw.rs"; rt: "bw.rt"; ru: "bw.ru"; rv: "bw.rv"; rw: "bw.rw"; rx: "bw.rx"; ry: "bw.ry"; rz: "bw.rz"; sa: "bw.sa"; sb: "bw.sb"; sc: "bw.sc"; sd: "bw.sd"; se: "bw.se"; sf: "bw.sf"; sg: "bw.sg"; sh: "bw.sh"; si: "bw.si"; sj: "bw.sj"; sk: "bw.sk"; sl: "bw.sl"; sm: "bw.sm"; sn: "bw.sn"; so: "bw.so"; sp: "bw.sp"; sq: "bw.sq"; sr: "bw.sr"; ss: "bw.ss"; st: "bw.st"; su: "bw.su"; sv: "bw.sv"; sw: "bw.sw"; sx: "bw.sx"; sy: "bw.sy"; sz: "bw.sz"; ta: "bw.ta"; tb: "bw.tb"; tc: "bw.tc"; td: "bw.td"; te: "bw.te"; tf: "bw.tf"; tg: "bw.tg"; th: "bw.th"; ti: "bw.ti"; tj: "bw.tj"; tk: "bw.tk"; tl: "bw.tl"; tm: "bw.tm"; tn: "bw.tn"; to: "bw.to"; tp: "bw.tp"; tq: "bw.tq"; tr: "bw.tr"; ts: "bw.ts"; tt: "bw.tt"; tu: "bw.tu"; tv: "bw.tv"; tw: "bw.tw"; tx: "bw.tx"; ty: "bw.ty"; tz: "bw.tz"; ua: "bw.ua"; ub: "bw.ub"; uc: "bw.uc"; ud: "bw.ud"; ue: "bw.ue"; uf: "bw.uf"; ug: "bw.ug"; uh: "bw.uh"; ui: "bw.ui"; uj: "bw.uj"; uk: "bw.uk"; ul: "bw.ul"; um: "bw.um"; un: "bw.un"; uo: "bw.uo"; up: "bw.up"; uq: "bw.uq"; ur: "bw.ur"; us: "bw.us"; ut: "bw.ut"; uu: "bw.uu"; uv: "bw.uv"; uw: "bw.uw"; ux: "bw.ux"; uy: "bw.uy"; uz: "bw.uz"; va: "bw.va"; vb: "bw.vb"; vc: "bw.vc"; vd: "bw.vd"; ve: "bw.ve"; vf: "bw.vf"; vg: "bw.vg"; vh: "bw.vh"; vi: "bw.vi"; vj: "bw.vj"; vk: "bw.vk"; vl: "bw.vl"; vm: "bw.vm"; vn: "bw.vn"; vo: "bw.vo"; vp: "bw.vp"; vq: "bw.vq"; vr: "bw.vr"; vs: "bw.vs"; vt: "bw.vt"; vu: "bw.vu"; vv: "bw.vv"; vw: "bw.vw"; vx: "bw.vx"; vy: "bw.vy"; vz: "bw.vz"; wa: "bw.wa"; wb: "bw.wb"; wc: "bw.wc"; wd: "bw.wd"; we: "bw.we"; wf: "bw.wf"; wg: "bw.wg"; wh: "bw.wh"; wi: "bw.wi"; wj: "bw.wj"; wk: "bw.wk"; wl: "bw.wl"; wm: "bw.wm"; wn: "bw.wn"; wo: "bw.wo"; wp: "bw.wp"; wq: "bw.wq"; wr: "bw.wr"; ws: "bw.ws"; wt: "bw.wt"; wu: "bw.wu"; wv: "bw.wv"; ww: "bw.ww"; wx: "bw.wx"; wy: "bw.wy"; wz: "bw.wz"; xa: "bw.xa"; xb: "bw.xb"; xc: "bw.xc"; xd: "bw.xd"; xe: "bw.xe"; xf: "bw.xf"; xg: "bw.xg"; xh: "bw.xh"; xi: "bw.xi"; xj: "bw.xj"; xk: "bw.xk"; xl: "bw.xl"; xm: "bw.xm"; xn: "bw.xn"; xo: "bw.xo"; xp: "bw.xp"; xq: "bw.xq"; xr: "bw.xr"; xs: "bw.xs"; xt: "bw.xt"; xu: "bw.xu"; xv: "bw.xv"; xw: "bw.xw"; xx: "bw.xx"; xy: "bw.xy"; xz: "bw.xz"; ya: "bw.ya"; yb: "bw.yb"; yc: "bw.yc"; yd: "bw.yd"; ye: "bw.ye"; yf: "bw.yf"; yg: "bw.yg"; yh: "bw.yh"; yi: "bw.yi"; yj: "bw.yj"; yk: "bw.yk"; yl: "bw.yl"; ym: "bw.ym"; yn: "bw.yn"; yo: "bw.yo"; yp: "bw.yp"; yq: "bw.yq"; yr: "bw.yr"; ys: "bw.ys"; yt: "bw.yt"; yu: "bw.yu"; yv: "bw.yv"; yw: "bw.yw"; yx: "bw.yx"; yy: "bw.yy"; yz: "bw.yz"; za: "bw.za"; zb: "bw.zb"; zc: "bw.zc"; zd: "bw.zd"; ze: "bw.ze"; zf: "bw.zf"; zg: "bw.zg"; zh: "bw.zh"; zi: "bw.zi"; zj: "bw.zj"; zk: "bw.zk"; zl: "bw.zl"; zm: "bw.zm"; zn: "bw.zn"; zo: "bw.zo"; zp: "bw.zp"; zq: "bw.zq"; zr: "bw.zr"; zs: "bw.zs"; zt: "bw.zt"; zu: "bw.zu"; zv: "bw.zv"; zw: "bw.zw"; zx: "bw.zx"; zy: "bw.zy"; zz: "bw.zz"; }; bx: { aa: "bx.aa"; ab: "bx.ab"; ac: "bx.ac"; ad: "bx.ad"; ae: "bx.ae"; af: "bx.af"; ag: "bx.ag"; ah: "bx.ah"; ai: "bx.ai"; aj: "bx.aj"; ak: "bx.ak"; al: "bx.al"; am: "bx.am"; an: "bx.an"; ao: "bx.ao"; ap: "bx.ap"; aq: "bx.aq"; ar: "bx.ar"; as: "bx.as"; at: "bx.at"; au: "bx.au"; av: "bx.av"; aw: "bx.aw"; ax: "bx.ax"; ay: "bx.ay"; az: "bx.az"; ba: "bx.ba"; bb: "bx.bb"; bc: "bx.bc"; bd: "bx.bd"; be: "bx.be"; bf: "bx.bf"; bg: "bx.bg"; bh: "bx.bh"; bi: "bx.bi"; bj: "bx.bj"; bk: "bx.bk"; bl: "bx.bl"; bm: "bx.bm"; bn: "bx.bn"; bo: "bx.bo"; bp: "bx.bp"; bq: "bx.bq"; br: "bx.br"; bs: "bx.bs"; bt: "bx.bt"; bu: "bx.bu"; bv: "bx.bv"; bw: "bx.bw"; bx: "bx.bx"; by: "bx.by"; bz: "bx.bz"; ca: "bx.ca"; cb: "bx.cb"; cc: "bx.cc"; cd: "bx.cd"; ce: "bx.ce"; cf: "bx.cf"; cg: "bx.cg"; ch: "bx.ch"; ci: "bx.ci"; cj: "bx.cj"; ck: "bx.ck"; cl: "bx.cl"; cm: "bx.cm"; cn: "bx.cn"; co: "bx.co"; cp: "bx.cp"; cq: "bx.cq"; cr: "bx.cr"; cs: "bx.cs"; ct: "bx.ct"; cu: "bx.cu"; cv: "bx.cv"; cw: "bx.cw"; cx: "bx.cx"; cy: "bx.cy"; cz: "bx.cz"; da: "bx.da"; db: "bx.db"; dc: "bx.dc"; dd: "bx.dd"; de: "bx.de"; df: "bx.df"; dg: "bx.dg"; dh: "bx.dh"; di: "bx.di"; dj: "bx.dj"; dk: "bx.dk"; dl: "bx.dl"; dm: "bx.dm"; dn: "bx.dn"; do: "bx.do"; dp: "bx.dp"; dq: "bx.dq"; dr: "bx.dr"; ds: "bx.ds"; dt: "bx.dt"; du: "bx.du"; dv: "bx.dv"; dw: "bx.dw"; dx: "bx.dx"; dy: "bx.dy"; dz: "bx.dz"; ea: "bx.ea"; eb: "bx.eb"; ec: "bx.ec"; ed: "bx.ed"; ee: "bx.ee"; ef: "bx.ef"; eg: "bx.eg"; eh: "bx.eh"; ei: "bx.ei"; ej: "bx.ej"; ek: "bx.ek"; el: "bx.el"; em: "bx.em"; en: "bx.en"; eo: "bx.eo"; ep: "bx.ep"; eq: "bx.eq"; er: "bx.er"; es: "bx.es"; et: "bx.et"; eu: "bx.eu"; ev: "bx.ev"; ew: "bx.ew"; ex: "bx.ex"; ey: "bx.ey"; ez: "bx.ez"; fa: "bx.fa"; fb: "bx.fb"; fc: "bx.fc"; fd: "bx.fd"; fe: "bx.fe"; ff: "bx.ff"; fg: "bx.fg"; fh: "bx.fh"; fi: "bx.fi"; fj: "bx.fj"; fk: "bx.fk"; fl: "bx.fl"; fm: "bx.fm"; fn: "bx.fn"; fo: "bx.fo"; fp: "bx.fp"; fq: "bx.fq"; fr: "bx.fr"; fs: "bx.fs"; ft: "bx.ft"; fu: "bx.fu"; fv: "bx.fv"; fw: "bx.fw"; fx: "bx.fx"; fy: "bx.fy"; fz: "bx.fz"; ga: "bx.ga"; gb: "bx.gb"; gc: "bx.gc"; gd: "bx.gd"; ge: "bx.ge"; gf: "bx.gf"; gg: "bx.gg"; gh: "bx.gh"; gi: "bx.gi"; gj: "bx.gj"; gk: "bx.gk"; gl: "bx.gl"; gm: "bx.gm"; gn: "bx.gn"; go: "bx.go"; gp: "bx.gp"; gq: "bx.gq"; gr: "bx.gr"; gs: "bx.gs"; gt: "bx.gt"; gu: "bx.gu"; gv: "bx.gv"; gw: "bx.gw"; gx: "bx.gx"; gy: "bx.gy"; gz: "bx.gz"; ha: "bx.ha"; hb: "bx.hb"; hc: "bx.hc"; hd: "bx.hd"; he: "bx.he"; hf: "bx.hf"; hg: "bx.hg"; hh: "bx.hh"; hi: "bx.hi"; hj: "bx.hj"; hk: "bx.hk"; hl: "bx.hl"; hm: "bx.hm"; hn: "bx.hn"; ho: "bx.ho"; hp: "bx.hp"; hq: "bx.hq"; hr: "bx.hr"; hs: "bx.hs"; ht: "bx.ht"; hu: "bx.hu"; hv: "bx.hv"; hw: "bx.hw"; hx: "bx.hx"; hy: "bx.hy"; hz: "bx.hz"; ia: "bx.ia"; ib: "bx.ib"; ic: "bx.ic"; id: "bx.id"; ie: "bx.ie"; if: "bx.if"; ig: "bx.ig"; ih: "bx.ih"; ii: "bx.ii"; ij: "bx.ij"; ik: "bx.ik"; il: "bx.il"; im: "bx.im"; in: "bx.in"; io: "bx.io"; ip: "bx.ip"; iq: "bx.iq"; ir: "bx.ir"; is: "bx.is"; it: "bx.it"; iu: "bx.iu"; iv: "bx.iv"; iw: "bx.iw"; ix: "bx.ix"; iy: "bx.iy"; iz: "bx.iz"; ja: "bx.ja"; jb: "bx.jb"; jc: "bx.jc"; jd: "bx.jd"; je: "bx.je"; jf: "bx.jf"; jg: "bx.jg"; jh: "bx.jh"; ji: "bx.ji"; jj: "bx.jj"; jk: "bx.jk"; jl: "bx.jl"; jm: "bx.jm"; jn: "bx.jn"; jo: "bx.jo"; jp: "bx.jp"; jq: "bx.jq"; jr: "bx.jr"; js: "bx.js"; jt: "bx.jt"; ju: "bx.ju"; jv: "bx.jv"; jw: "bx.jw"; jx: "bx.jx"; jy: "bx.jy"; jz: "bx.jz"; ka: "bx.ka"; kb: "bx.kb"; kc: "bx.kc"; kd: "bx.kd"; ke: "bx.ke"; kf: "bx.kf"; kg: "bx.kg"; kh: "bx.kh"; ki: "bx.ki"; kj: "bx.kj"; kk: "bx.kk"; kl: "bx.kl"; km: "bx.km"; kn: "bx.kn"; ko: "bx.ko"; kp: "bx.kp"; kq: "bx.kq"; kr: "bx.kr"; ks: "bx.ks"; kt: "bx.kt"; ku: "bx.ku"; kv: "bx.kv"; kw: "bx.kw"; kx: "bx.kx"; ky: "bx.ky"; kz: "bx.kz"; la: "bx.la"; lb: "bx.lb"; lc: "bx.lc"; ld: "bx.ld"; le: "bx.le"; lf: "bx.lf"; lg: "bx.lg"; lh: "bx.lh"; li: "bx.li"; lj: "bx.lj"; lk: "bx.lk"; ll: "bx.ll"; lm: "bx.lm"; ln: "bx.ln"; lo: "bx.lo"; lp: "bx.lp"; lq: "bx.lq"; lr: "bx.lr"; ls: "bx.ls"; lt: "bx.lt"; lu: "bx.lu"; lv: "bx.lv"; lw: "bx.lw"; lx: "bx.lx"; ly: "bx.ly"; lz: "bx.lz"; ma: "bx.ma"; mb: "bx.mb"; mc: "bx.mc"; md: "bx.md"; me: "bx.me"; mf: "bx.mf"; mg: "bx.mg"; mh: "bx.mh"; mi: "bx.mi"; mj: "bx.mj"; mk: "bx.mk"; ml: "bx.ml"; mm: "bx.mm"; mn: "bx.mn"; mo: "bx.mo"; mp: "bx.mp"; mq: "bx.mq"; mr: "bx.mr"; ms: "bx.ms"; mt: "bx.mt"; mu: "bx.mu"; mv: "bx.mv"; mw: "bx.mw"; mx: "bx.mx"; my: "bx.my"; mz: "bx.mz"; na: "bx.na"; nb: "bx.nb"; nc: "bx.nc"; nd: "bx.nd"; ne: "bx.ne"; nf: "bx.nf"; ng: "bx.ng"; nh: "bx.nh"; ni: "bx.ni"; nj: "bx.nj"; nk: "bx.nk"; nl: "bx.nl"; nm: "bx.nm"; nn: "bx.nn"; no: "bx.no"; np: "bx.np"; nq: "bx.nq"; nr: "bx.nr"; ns: "bx.ns"; nt: "bx.nt"; nu: "bx.nu"; nv: "bx.nv"; nw: "bx.nw"; nx: "bx.nx"; ny: "bx.ny"; nz: "bx.nz"; oa: "bx.oa"; ob: "bx.ob"; oc: "bx.oc"; od: "bx.od"; oe: "bx.oe"; of: "bx.of"; og: "bx.og"; oh: "bx.oh"; oi: "bx.oi"; oj: "bx.oj"; ok: "bx.ok"; ol: "bx.ol"; om: "bx.om"; on: "bx.on"; oo: "bx.oo"; op: "bx.op"; oq: "bx.oq"; or: "bx.or"; os: "bx.os"; ot: "bx.ot"; ou: "bx.ou"; ov: "bx.ov"; ow: "bx.ow"; ox: "bx.ox"; oy: "bx.oy"; oz: "bx.oz"; pa: "bx.pa"; pb: "bx.pb"; pc: "bx.pc"; pd: "bx.pd"; pe: "bx.pe"; pf: "bx.pf"; pg: "bx.pg"; ph: "bx.ph"; pi: "bx.pi"; pj: "bx.pj"; pk: "bx.pk"; pl: "bx.pl"; pm: "bx.pm"; pn: "bx.pn"; po: "bx.po"; pp: "bx.pp"; pq: "bx.pq"; pr: "bx.pr"; ps: "bx.ps"; pt: "bx.pt"; pu: "bx.pu"; pv: "bx.pv"; pw: "bx.pw"; px: "bx.px"; py: "bx.py"; pz: "bx.pz"; qa: "bx.qa"; qb: "bx.qb"; qc: "bx.qc"; qd: "bx.qd"; qe: "bx.qe"; qf: "bx.qf"; qg: "bx.qg"; qh: "bx.qh"; qi: "bx.qi"; qj: "bx.qj"; qk: "bx.qk"; ql: "bx.ql"; qm: "bx.qm"; qn: "bx.qn"; qo: "bx.qo"; qp: "bx.qp"; qq: "bx.qq"; qr: "bx.qr"; qs: "bx.qs"; qt: "bx.qt"; qu: "bx.qu"; qv: "bx.qv"; qw: "bx.qw"; qx: "bx.qx"; qy: "bx.qy"; qz: "bx.qz"; ra: "bx.ra"; rb: "bx.rb"; rc: "bx.rc"; rd: "bx.rd"; re: "bx.re"; rf: "bx.rf"; rg: "bx.rg"; rh: "bx.rh"; ri: "bx.ri"; rj: "bx.rj"; rk: "bx.rk"; rl: "bx.rl"; rm: "bx.rm"; rn: "bx.rn"; ro: "bx.ro"; rp: "bx.rp"; rq: "bx.rq"; rr: "bx.rr"; rs: "bx.rs"; rt: "bx.rt"; ru: "bx.ru"; rv: "bx.rv"; rw: "bx.rw"; rx: "bx.rx"; ry: "bx.ry"; rz: "bx.rz"; sa: "bx.sa"; sb: "bx.sb"; sc: "bx.sc"; sd: "bx.sd"; se: "bx.se"; sf: "bx.sf"; sg: "bx.sg"; sh: "bx.sh"; si: "bx.si"; sj: "bx.sj"; sk: "bx.sk"; sl: "bx.sl"; sm: "bx.sm"; sn: "bx.sn"; so: "bx.so"; sp: "bx.sp"; sq: "bx.sq"; sr: "bx.sr"; ss: "bx.ss"; st: "bx.st"; su: "bx.su"; sv: "bx.sv"; sw: "bx.sw"; sx: "bx.sx"; sy: "bx.sy"; sz: "bx.sz"; ta: "bx.ta"; tb: "bx.tb"; tc: "bx.tc"; td: "bx.td"; te: "bx.te"; tf: "bx.tf"; tg: "bx.tg"; th: "bx.th"; ti: "bx.ti"; tj: "bx.tj"; tk: "bx.tk"; tl: "bx.tl"; tm: "bx.tm"; tn: "bx.tn"; to: "bx.to"; tp: "bx.tp"; tq: "bx.tq"; tr: "bx.tr"; ts: "bx.ts"; tt: "bx.tt"; tu: "bx.tu"; tv: "bx.tv"; tw: "bx.tw"; tx: "bx.tx"; ty: "bx.ty"; tz: "bx.tz"; ua: "bx.ua"; ub: "bx.ub"; uc: "bx.uc"; ud: "bx.ud"; ue: "bx.ue"; uf: "bx.uf"; ug: "bx.ug"; uh: "bx.uh"; ui: "bx.ui"; uj: "bx.uj"; uk: "bx.uk"; ul: "bx.ul"; um: "bx.um"; un: "bx.un"; uo: "bx.uo"; up: "bx.up"; uq: "bx.uq"; ur: "bx.ur"; us: "bx.us"; ut: "bx.ut"; uu: "bx.uu"; uv: "bx.uv"; uw: "bx.uw"; ux: "bx.ux"; uy: "bx.uy"; uz: "bx.uz"; va: "bx.va"; vb: "bx.vb"; vc: "bx.vc"; vd: "bx.vd"; ve: "bx.ve"; vf: "bx.vf"; vg: "bx.vg"; vh: "bx.vh"; vi: "bx.vi"; vj: "bx.vj"; vk: "bx.vk"; vl: "bx.vl"; vm: "bx.vm"; vn: "bx.vn"; vo: "bx.vo"; vp: "bx.vp"; vq: "bx.vq"; vr: "bx.vr"; vs: "bx.vs"; vt: "bx.vt"; vu: "bx.vu"; vv: "bx.vv"; vw: "bx.vw"; vx: "bx.vx"; vy: "bx.vy"; vz: "bx.vz"; wa: "bx.wa"; wb: "bx.wb"; wc: "bx.wc"; wd: "bx.wd"; we: "bx.we"; wf: "bx.wf"; wg: "bx.wg"; wh: "bx.wh"; wi: "bx.wi"; wj: "bx.wj"; wk: "bx.wk"; wl: "bx.wl"; wm: "bx.wm"; wn: "bx.wn"; wo: "bx.wo"; wp: "bx.wp"; wq: "bx.wq"; wr: "bx.wr"; ws: "bx.ws"; wt: "bx.wt"; wu: "bx.wu"; wv: "bx.wv"; ww: "bx.ww"; wx: "bx.wx"; wy: "bx.wy"; wz: "bx.wz"; xa: "bx.xa"; xb: "bx.xb"; xc: "bx.xc"; xd: "bx.xd"; xe: "bx.xe"; xf: "bx.xf"; xg: "bx.xg"; xh: "bx.xh"; xi: "bx.xi"; xj: "bx.xj"; xk: "bx.xk"; xl: "bx.xl"; xm: "bx.xm"; xn: "bx.xn"; xo: "bx.xo"; xp: "bx.xp"; xq: "bx.xq"; xr: "bx.xr"; xs: "bx.xs"; xt: "bx.xt"; xu: "bx.xu"; xv: "bx.xv"; xw: "bx.xw"; xx: "bx.xx"; xy: "bx.xy"; xz: "bx.xz"; ya: "bx.ya"; yb: "bx.yb"; yc: "bx.yc"; yd: "bx.yd"; ye: "bx.ye"; yf: "bx.yf"; yg: "bx.yg"; yh: "bx.yh"; yi: "bx.yi"; yj: "bx.yj"; yk: "bx.yk"; yl: "bx.yl"; ym: "bx.ym"; yn: "bx.yn"; yo: "bx.yo"; yp: "bx.yp"; yq: "bx.yq"; yr: "bx.yr"; ys: "bx.ys"; yt: "bx.yt"; yu: "bx.yu"; yv: "bx.yv"; yw: "bx.yw"; yx: "bx.yx"; yy: "bx.yy"; yz: "bx.yz"; za: "bx.za"; zb: "bx.zb"; zc: "bx.zc"; zd: "bx.zd"; ze: "bx.ze"; zf: "bx.zf"; zg: "bx.zg"; zh: "bx.zh"; zi: "bx.zi"; zj: "bx.zj"; zk: "bx.zk"; zl: "bx.zl"; zm: "bx.zm"; zn: "bx.zn"; zo: "bx.zo"; zp: "bx.zp"; zq: "bx.zq"; zr: "bx.zr"; zs: "bx.zs"; zt: "bx.zt"; zu: "bx.zu"; zv: "bx.zv"; zw: "bx.zw"; zx: "bx.zx"; zy: "bx.zy"; zz: "bx.zz"; }; by: { aa: "by.aa"; ab: "by.ab"; ac: "by.ac"; ad: "by.ad"; ae: "by.ae"; af: "by.af"; ag: "by.ag"; ah: "by.ah"; ai: "by.ai"; aj: "by.aj"; ak: "by.ak"; al: "by.al"; am: "by.am"; an: "by.an"; ao: "by.ao"; ap: "by.ap"; aq: "by.aq"; ar: "by.ar"; as: "by.as"; at: "by.at"; au: "by.au"; av: "by.av"; aw: "by.aw"; ax: "by.ax"; ay: "by.ay"; az: "by.az"; ba: "by.ba"; bb: "by.bb"; bc: "by.bc"; bd: "by.bd"; be: "by.be"; bf: "by.bf"; bg: "by.bg"; bh: "by.bh"; bi: "by.bi"; bj: "by.bj"; bk: "by.bk"; bl: "by.bl"; bm: "by.bm"; bn: "by.bn"; bo: "by.bo"; bp: "by.bp"; bq: "by.bq"; br: "by.br"; bs: "by.bs"; bt: "by.bt"; bu: "by.bu"; bv: "by.bv"; bw: "by.bw"; bx: "by.bx"; by: "by.by"; bz: "by.bz"; ca: "by.ca"; cb: "by.cb"; cc: "by.cc"; cd: "by.cd"; ce: "by.ce"; cf: "by.cf"; cg: "by.cg"; ch: "by.ch"; ci: "by.ci"; cj: "by.cj"; ck: "by.ck"; cl: "by.cl"; cm: "by.cm"; cn: "by.cn"; co: "by.co"; cp: "by.cp"; cq: "by.cq"; cr: "by.cr"; cs: "by.cs"; ct: "by.ct"; cu: "by.cu"; cv: "by.cv"; cw: "by.cw"; cx: "by.cx"; cy: "by.cy"; cz: "by.cz"; da: "by.da"; db: "by.db"; dc: "by.dc"; dd: "by.dd"; de: "by.de"; df: "by.df"; dg: "by.dg"; dh: "by.dh"; di: "by.di"; dj: "by.dj"; dk: "by.dk"; dl: "by.dl"; dm: "by.dm"; dn: "by.dn"; do: "by.do"; dp: "by.dp"; dq: "by.dq"; dr: "by.dr"; ds: "by.ds"; dt: "by.dt"; du: "by.du"; dv: "by.dv"; dw: "by.dw"; dx: "by.dx"; dy: "by.dy"; dz: "by.dz"; ea: "by.ea"; eb: "by.eb"; ec: "by.ec"; ed: "by.ed"; ee: "by.ee"; ef: "by.ef"; eg: "by.eg"; eh: "by.eh"; ei: "by.ei"; ej: "by.ej"; ek: "by.ek"; el: "by.el"; em: "by.em"; en: "by.en"; eo: "by.eo"; ep: "by.ep"; eq: "by.eq"; er: "by.er"; es: "by.es"; et: "by.et"; eu: "by.eu"; ev: "by.ev"; ew: "by.ew"; ex: "by.ex"; ey: "by.ey"; ez: "by.ez"; fa: "by.fa"; fb: "by.fb"; fc: "by.fc"; fd: "by.fd"; fe: "by.fe"; ff: "by.ff"; fg: "by.fg"; fh: "by.fh"; fi: "by.fi"; fj: "by.fj"; fk: "by.fk"; fl: "by.fl"; fm: "by.fm"; fn: "by.fn"; fo: "by.fo"; fp: "by.fp"; fq: "by.fq"; fr: "by.fr"; fs: "by.fs"; ft: "by.ft"; fu: "by.fu"; fv: "by.fv"; fw: "by.fw"; fx: "by.fx"; fy: "by.fy"; fz: "by.fz"; ga: "by.ga"; gb: "by.gb"; gc: "by.gc"; gd: "by.gd"; ge: "by.ge"; gf: "by.gf"; gg: "by.gg"; gh: "by.gh"; gi: "by.gi"; gj: "by.gj"; gk: "by.gk"; gl: "by.gl"; gm: "by.gm"; gn: "by.gn"; go: "by.go"; gp: "by.gp"; gq: "by.gq"; gr: "by.gr"; gs: "by.gs"; gt: "by.gt"; gu: "by.gu"; gv: "by.gv"; gw: "by.gw"; gx: "by.gx"; gy: "by.gy"; gz: "by.gz"; ha: "by.ha"; hb: "by.hb"; hc: "by.hc"; hd: "by.hd"; he: "by.he"; hf: "by.hf"; hg: "by.hg"; hh: "by.hh"; hi: "by.hi"; hj: "by.hj"; hk: "by.hk"; hl: "by.hl"; hm: "by.hm"; hn: "by.hn"; ho: "by.ho"; hp: "by.hp"; hq: "by.hq"; hr: "by.hr"; hs: "by.hs"; ht: "by.ht"; hu: "by.hu"; hv: "by.hv"; hw: "by.hw"; hx: "by.hx"; hy: "by.hy"; hz: "by.hz"; ia: "by.ia"; ib: "by.ib"; ic: "by.ic"; id: "by.id"; ie: "by.ie"; if: "by.if"; ig: "by.ig"; ih: "by.ih"; ii: "by.ii"; ij: "by.ij"; ik: "by.ik"; il: "by.il"; im: "by.im"; in: "by.in"; io: "by.io"; ip: "by.ip"; iq: "by.iq"; ir: "by.ir"; is: "by.is"; it: "by.it"; iu: "by.iu"; iv: "by.iv"; iw: "by.iw"; ix: "by.ix"; iy: "by.iy"; iz: "by.iz"; ja: "by.ja"; jb: "by.jb"; jc: "by.jc"; jd: "by.jd"; je: "by.je"; jf: "by.jf"; jg: "by.jg"; jh: "by.jh"; ji: "by.ji"; jj: "by.jj"; jk: "by.jk"; jl: "by.jl"; jm: "by.jm"; jn: "by.jn"; jo: "by.jo"; jp: "by.jp"; jq: "by.jq"; jr: "by.jr"; js: "by.js"; jt: "by.jt"; ju: "by.ju"; jv: "by.jv"; jw: "by.jw"; jx: "by.jx"; jy: "by.jy"; jz: "by.jz"; ka: "by.ka"; kb: "by.kb"; kc: "by.kc"; kd: "by.kd"; ke: "by.ke"; kf: "by.kf"; kg: "by.kg"; kh: "by.kh"; ki: "by.ki"; kj: "by.kj"; kk: "by.kk"; kl: "by.kl"; km: "by.km"; kn: "by.kn"; ko: "by.ko"; kp: "by.kp"; kq: "by.kq"; kr: "by.kr"; ks: "by.ks"; kt: "by.kt"; ku: "by.ku"; kv: "by.kv"; kw: "by.kw"; kx: "by.kx"; ky: "by.ky"; kz: "by.kz"; la: "by.la"; lb: "by.lb"; lc: "by.lc"; ld: "by.ld"; le: "by.le"; lf: "by.lf"; lg: "by.lg"; lh: "by.lh"; li: "by.li"; lj: "by.lj"; lk: "by.lk"; ll: "by.ll"; lm: "by.lm"; ln: "by.ln"; lo: "by.lo"; lp: "by.lp"; lq: "by.lq"; lr: "by.lr"; ls: "by.ls"; lt: "by.lt"; lu: "by.lu"; lv: "by.lv"; lw: "by.lw"; lx: "by.lx"; ly: "by.ly"; lz: "by.lz"; ma: "by.ma"; mb: "by.mb"; mc: "by.mc"; md: "by.md"; me: "by.me"; mf: "by.mf"; mg: "by.mg"; mh: "by.mh"; mi: "by.mi"; mj: "by.mj"; mk: "by.mk"; ml: "by.ml"; mm: "by.mm"; mn: "by.mn"; mo: "by.mo"; mp: "by.mp"; mq: "by.mq"; mr: "by.mr"; ms: "by.ms"; mt: "by.mt"; mu: "by.mu"; mv: "by.mv"; mw: "by.mw"; mx: "by.mx"; my: "by.my"; mz: "by.mz"; na: "by.na"; nb: "by.nb"; nc: "by.nc"; nd: "by.nd"; ne: "by.ne"; nf: "by.nf"; ng: "by.ng"; nh: "by.nh"; ni: "by.ni"; nj: "by.nj"; nk: "by.nk"; nl: "by.nl"; nm: "by.nm"; nn: "by.nn"; no: "by.no"; np: "by.np"; nq: "by.nq"; nr: "by.nr"; ns: "by.ns"; nt: "by.nt"; nu: "by.nu"; nv: "by.nv"; nw: "by.nw"; nx: "by.nx"; ny: "by.ny"; nz: "by.nz"; oa: "by.oa"; ob: "by.ob"; oc: "by.oc"; od: "by.od"; oe: "by.oe"; of: "by.of"; og: "by.og"; oh: "by.oh"; oi: "by.oi"; oj: "by.oj"; ok: "by.ok"; ol: "by.ol"; om: "by.om"; on: "by.on"; oo: "by.oo"; op: "by.op"; oq: "by.oq"; or: "by.or"; os: "by.os"; ot: "by.ot"; ou: "by.ou"; ov: "by.ov"; ow: "by.ow"; ox: "by.ox"; oy: "by.oy"; oz: "by.oz"; pa: "by.pa"; pb: "by.pb"; pc: "by.pc"; pd: "by.pd"; pe: "by.pe"; pf: "by.pf"; pg: "by.pg"; ph: "by.ph"; pi: "by.pi"; pj: "by.pj"; pk: "by.pk"; pl: "by.pl"; pm: "by.pm"; pn: "by.pn"; po: "by.po"; pp: "by.pp"; pq: "by.pq"; pr: "by.pr"; ps: "by.ps"; pt: "by.pt"; pu: "by.pu"; pv: "by.pv"; pw: "by.pw"; px: "by.px"; py: "by.py"; pz: "by.pz"; qa: "by.qa"; qb: "by.qb"; qc: "by.qc"; qd: "by.qd"; qe: "by.qe"; qf: "by.qf"; qg: "by.qg"; qh: "by.qh"; qi: "by.qi"; qj: "by.qj"; qk: "by.qk"; ql: "by.ql"; qm: "by.qm"; qn: "by.qn"; qo: "by.qo"; qp: "by.qp"; qq: "by.qq"; qr: "by.qr"; qs: "by.qs"; qt: "by.qt"; qu: "by.qu"; qv: "by.qv"; qw: "by.qw"; qx: "by.qx"; qy: "by.qy"; qz: "by.qz"; ra: "by.ra"; rb: "by.rb"; rc: "by.rc"; rd: "by.rd"; re: "by.re"; rf: "by.rf"; rg: "by.rg"; rh: "by.rh"; ri: "by.ri"; rj: "by.rj"; rk: "by.rk"; rl: "by.rl"; rm: "by.rm"; rn: "by.rn"; ro: "by.ro"; rp: "by.rp"; rq: "by.rq"; rr: "by.rr"; rs: "by.rs"; rt: "by.rt"; ru: "by.ru"; rv: "by.rv"; rw: "by.rw"; rx: "by.rx"; ry: "by.ry"; rz: "by.rz"; sa: "by.sa"; sb: "by.sb"; sc: "by.sc"; sd: "by.sd"; se: "by.se"; sf: "by.sf"; sg: "by.sg"; sh: "by.sh"; si: "by.si"; sj: "by.sj"; sk: "by.sk"; sl: "by.sl"; sm: "by.sm"; sn: "by.sn"; so: "by.so"; sp: "by.sp"; sq: "by.sq"; sr: "by.sr"; ss: "by.ss"; st: "by.st"; su: "by.su"; sv: "by.sv"; sw: "by.sw"; sx: "by.sx"; sy: "by.sy"; sz: "by.sz"; ta: "by.ta"; tb: "by.tb"; tc: "by.tc"; td: "by.td"; te: "by.te"; tf: "by.tf"; tg: "by.tg"; th: "by.th"; ti: "by.ti"; tj: "by.tj"; tk: "by.tk"; tl: "by.tl"; tm: "by.tm"; tn: "by.tn"; to: "by.to"; tp: "by.tp"; tq: "by.tq"; tr: "by.tr"; ts: "by.ts"; tt: "by.tt"; tu: "by.tu"; tv: "by.tv"; tw: "by.tw"; tx: "by.tx"; ty: "by.ty"; tz: "by.tz"; ua: "by.ua"; ub: "by.ub"; uc: "by.uc"; ud: "by.ud"; ue: "by.ue"; uf: "by.uf"; ug: "by.ug"; uh: "by.uh"; ui: "by.ui"; uj: "by.uj"; uk: "by.uk"; ul: "by.ul"; um: "by.um"; un: "by.un"; uo: "by.uo"; up: "by.up"; uq: "by.uq"; ur: "by.ur"; us: "by.us"; ut: "by.ut"; uu: "by.uu"; uv: "by.uv"; uw: "by.uw"; ux: "by.ux"; uy: "by.uy"; uz: "by.uz"; va: "by.va"; vb: "by.vb"; vc: "by.vc"; vd: "by.vd"; ve: "by.ve"; vf: "by.vf"; vg: "by.vg"; vh: "by.vh"; vi: "by.vi"; vj: "by.vj"; vk: "by.vk"; vl: "by.vl"; vm: "by.vm"; vn: "by.vn"; vo: "by.vo"; vp: "by.vp"; vq: "by.vq"; vr: "by.vr"; vs: "by.vs"; vt: "by.vt"; vu: "by.vu"; vv: "by.vv"; vw: "by.vw"; vx: "by.vx"; vy: "by.vy"; vz: "by.vz"; wa: "by.wa"; wb: "by.wb"; wc: "by.wc"; wd: "by.wd"; we: "by.we"; wf: "by.wf"; wg: "by.wg"; wh: "by.wh"; wi: "by.wi"; wj: "by.wj"; wk: "by.wk"; wl: "by.wl"; wm: "by.wm"; wn: "by.wn"; wo: "by.wo"; wp: "by.wp"; wq: "by.wq"; wr: "by.wr"; ws: "by.ws"; wt: "by.wt"; wu: "by.wu"; wv: "by.wv"; ww: "by.ww"; wx: "by.wx"; wy: "by.wy"; wz: "by.wz"; xa: "by.xa"; xb: "by.xb"; xc: "by.xc"; xd: "by.xd"; xe: "by.xe"; xf: "by.xf"; xg: "by.xg"; xh: "by.xh"; xi: "by.xi"; xj: "by.xj"; xk: "by.xk"; xl: "by.xl"; xm: "by.xm"; xn: "by.xn"; xo: "by.xo"; xp: "by.xp"; xq: "by.xq"; xr: "by.xr"; xs: "by.xs"; xt: "by.xt"; xu: "by.xu"; xv: "by.xv"; xw: "by.xw"; xx: "by.xx"; xy: "by.xy"; xz: "by.xz"; ya: "by.ya"; yb: "by.yb"; yc: "by.yc"; yd: "by.yd"; ye: "by.ye"; yf: "by.yf"; yg: "by.yg"; yh: "by.yh"; yi: "by.yi"; yj: "by.yj"; yk: "by.yk"; yl: "by.yl"; ym: "by.ym"; yn: "by.yn"; yo: "by.yo"; yp: "by.yp"; yq: "by.yq"; yr: "by.yr"; ys: "by.ys"; yt: "by.yt"; yu: "by.yu"; yv: "by.yv"; yw: "by.yw"; yx: "by.yx"; yy: "by.yy"; yz: "by.yz"; za: "by.za"; zb: "by.zb"; zc: "by.zc"; zd: "by.zd"; ze: "by.ze"; zf: "by.zf"; zg: "by.zg"; zh: "by.zh"; zi: "by.zi"; zj: "by.zj"; zk: "by.zk"; zl: "by.zl"; zm: "by.zm"; zn: "by.zn"; zo: "by.zo"; zp: "by.zp"; zq: "by.zq"; zr: "by.zr"; zs: "by.zs"; zt: "by.zt"; zu: "by.zu"; zv: "by.zv"; zw: "by.zw"; zx: "by.zx"; zy: "by.zy"; zz: "by.zz"; }; bz: { aa: "bz.aa"; ab: "bz.ab"; ac: "bz.ac"; ad: "bz.ad"; ae: "bz.ae"; af: "bz.af"; ag: "bz.ag"; ah: "bz.ah"; ai: "bz.ai"; aj: "bz.aj"; ak: "bz.ak"; al: "bz.al"; am: "bz.am"; an: "bz.an"; ao: "bz.ao"; ap: "bz.ap"; aq: "bz.aq"; ar: "bz.ar"; as: "bz.as"; at: "bz.at"; au: "bz.au"; av: "bz.av"; aw: "bz.aw"; ax: "bz.ax"; ay: "bz.ay"; az: "bz.az"; ba: "bz.ba"; bb: "bz.bb"; bc: "bz.bc"; bd: "bz.bd"; be: "bz.be"; bf: "bz.bf"; bg: "bz.bg"; bh: "bz.bh"; bi: "bz.bi"; bj: "bz.bj"; bk: "bz.bk"; bl: "bz.bl"; bm: "bz.bm"; bn: "bz.bn"; bo: "bz.bo"; bp: "bz.bp"; bq: "bz.bq"; br: "bz.br"; bs: "bz.bs"; bt: "bz.bt"; bu: "bz.bu"; bv: "bz.bv"; bw: "bz.bw"; bx: "bz.bx"; by: "bz.by"; bz: "bz.bz"; ca: "bz.ca"; cb: "bz.cb"; cc: "bz.cc"; cd: "bz.cd"; ce: "bz.ce"; cf: "bz.cf"; cg: "bz.cg"; ch: "bz.ch"; ci: "bz.ci"; cj: "bz.cj"; ck: "bz.ck"; cl: "bz.cl"; cm: "bz.cm"; cn: "bz.cn"; co: "bz.co"; cp: "bz.cp"; cq: "bz.cq"; cr: "bz.cr"; cs: "bz.cs"; ct: "bz.ct"; cu: "bz.cu"; cv: "bz.cv"; cw: "bz.cw"; cx: "bz.cx"; cy: "bz.cy"; cz: "bz.cz"; da: "bz.da"; db: "bz.db"; dc: "bz.dc"; dd: "bz.dd"; de: "bz.de"; df: "bz.df"; dg: "bz.dg"; dh: "bz.dh"; di: "bz.di"; dj: "bz.dj"; dk: "bz.dk"; dl: "bz.dl"; dm: "bz.dm"; dn: "bz.dn"; do: "bz.do"; dp: "bz.dp"; dq: "bz.dq"; dr: "bz.dr"; ds: "bz.ds"; dt: "bz.dt"; du: "bz.du"; dv: "bz.dv"; dw: "bz.dw"; dx: "bz.dx"; dy: "bz.dy"; dz: "bz.dz"; ea: "bz.ea"; eb: "bz.eb"; ec: "bz.ec"; ed: "bz.ed"; ee: "bz.ee"; ef: "bz.ef"; eg: "bz.eg"; eh: "bz.eh"; ei: "bz.ei"; ej: "bz.ej"; ek: "bz.ek"; el: "bz.el"; em: "bz.em"; en: "bz.en"; eo: "bz.eo"; ep: "bz.ep"; eq: "bz.eq"; er: "bz.er"; es: "bz.es"; et: "bz.et"; eu: "bz.eu"; ev: "bz.ev"; ew: "bz.ew"; ex: "bz.ex"; ey: "bz.ey"; ez: "bz.ez"; fa: "bz.fa"; fb: "bz.fb"; fc: "bz.fc"; fd: "bz.fd"; fe: "bz.fe"; ff: "bz.ff"; fg: "bz.fg"; fh: "bz.fh"; fi: "bz.fi"; fj: "bz.fj"; fk: "bz.fk"; fl: "bz.fl"; fm: "bz.fm"; fn: "bz.fn"; fo: "bz.fo"; fp: "bz.fp"; fq: "bz.fq"; fr: "bz.fr"; fs: "bz.fs"; ft: "bz.ft"; fu: "bz.fu"; fv: "bz.fv"; fw: "bz.fw"; fx: "bz.fx"; fy: "bz.fy"; fz: "bz.fz"; ga: "bz.ga"; gb: "bz.gb"; gc: "bz.gc"; gd: "bz.gd"; ge: "bz.ge"; gf: "bz.gf"; gg: "bz.gg"; gh: "bz.gh"; gi: "bz.gi"; gj: "bz.gj"; gk: "bz.gk"; gl: "bz.gl"; gm: "bz.gm"; gn: "bz.gn"; go: "bz.go"; gp: "bz.gp"; gq: "bz.gq"; gr: "bz.gr"; gs: "bz.gs"; gt: "bz.gt"; gu: "bz.gu"; gv: "bz.gv"; gw: "bz.gw"; gx: "bz.gx"; gy: "bz.gy"; gz: "bz.gz"; ha: "bz.ha"; hb: "bz.hb"; hc: "bz.hc"; hd: "bz.hd"; he: "bz.he"; hf: "bz.hf"; hg: "bz.hg"; hh: "bz.hh"; hi: "bz.hi"; hj: "bz.hj"; hk: "bz.hk"; hl: "bz.hl"; hm: "bz.hm"; hn: "bz.hn"; ho: "bz.ho"; hp: "bz.hp"; hq: "bz.hq"; hr: "bz.hr"; hs: "bz.hs"; ht: "bz.ht"; hu: "bz.hu"; hv: "bz.hv"; hw: "bz.hw"; hx: "bz.hx"; hy: "bz.hy"; hz: "bz.hz"; ia: "bz.ia"; ib: "bz.ib"; ic: "bz.ic"; id: "bz.id"; ie: "bz.ie"; if: "bz.if"; ig: "bz.ig"; ih: "bz.ih"; ii: "bz.ii"; ij: "bz.ij"; ik: "bz.ik"; il: "bz.il"; im: "bz.im"; in: "bz.in"; io: "bz.io"; ip: "bz.ip"; iq: "bz.iq"; ir: "bz.ir"; is: "bz.is"; it: "bz.it"; iu: "bz.iu"; iv: "bz.iv"; iw: "bz.iw"; ix: "bz.ix"; iy: "bz.iy"; iz: "bz.iz"; ja: "bz.ja"; jb: "bz.jb"; jc: "bz.jc"; jd: "bz.jd"; je: "bz.je"; jf: "bz.jf"; jg: "bz.jg"; jh: "bz.jh"; ji: "bz.ji"; jj: "bz.jj"; jk: "bz.jk"; jl: "bz.jl"; jm: "bz.jm"; jn: "bz.jn"; jo: "bz.jo"; jp: "bz.jp"; jq: "bz.jq"; jr: "bz.jr"; js: "bz.js"; jt: "bz.jt"; ju: "bz.ju"; jv: "bz.jv"; jw: "bz.jw"; jx: "bz.jx"; jy: "bz.jy"; jz: "bz.jz"; ka: "bz.ka"; kb: "bz.kb"; kc: "bz.kc"; kd: "bz.kd"; ke: "bz.ke"; kf: "bz.kf"; kg: "bz.kg"; kh: "bz.kh"; ki: "bz.ki"; kj: "bz.kj"; kk: "bz.kk"; kl: "bz.kl"; km: "bz.km"; kn: "bz.kn"; ko: "bz.ko"; kp: "bz.kp"; kq: "bz.kq"; kr: "bz.kr"; ks: "bz.ks"; kt: "bz.kt"; ku: "bz.ku"; kv: "bz.kv"; kw: "bz.kw"; kx: "bz.kx"; ky: "bz.ky"; kz: "bz.kz"; la: "bz.la"; lb: "bz.lb"; lc: "bz.lc"; ld: "bz.ld"; le: "bz.le"; lf: "bz.lf"; lg: "bz.lg"; lh: "bz.lh"; li: "bz.li"; lj: "bz.lj"; lk: "bz.lk"; ll: "bz.ll"; lm: "bz.lm"; ln: "bz.ln"; lo: "bz.lo"; lp: "bz.lp"; lq: "bz.lq"; lr: "bz.lr"; ls: "bz.ls"; lt: "bz.lt"; lu: "bz.lu"; lv: "bz.lv"; lw: "bz.lw"; lx: "bz.lx"; ly: "bz.ly"; lz: "bz.lz"; ma: "bz.ma"; mb: "bz.mb"; mc: "bz.mc"; md: "bz.md"; me: "bz.me"; mf: "bz.mf"; mg: "bz.mg"; mh: "bz.mh"; mi: "bz.mi"; mj: "bz.mj"; mk: "bz.mk"; ml: "bz.ml"; mm: "bz.mm"; mn: "bz.mn"; mo: "bz.mo"; mp: "bz.mp"; mq: "bz.mq"; mr: "bz.mr"; ms: "bz.ms"; mt: "bz.mt"; mu: "bz.mu"; mv: "bz.mv"; mw: "bz.mw"; mx: "bz.mx"; my: "bz.my"; mz: "bz.mz"; na: "bz.na"; nb: "bz.nb"; nc: "bz.nc"; nd: "bz.nd"; ne: "bz.ne"; nf: "bz.nf"; ng: "bz.ng"; nh: "bz.nh"; ni: "bz.ni"; nj: "bz.nj"; nk: "bz.nk"; nl: "bz.nl"; nm: "bz.nm"; nn: "bz.nn"; no: "bz.no"; np: "bz.np"; nq: "bz.nq"; nr: "bz.nr"; ns: "bz.ns"; nt: "bz.nt"; nu: "bz.nu"; nv: "bz.nv"; nw: "bz.nw"; nx: "bz.nx"; ny: "bz.ny"; nz: "bz.nz"; oa: "bz.oa"; ob: "bz.ob"; oc: "bz.oc"; od: "bz.od"; oe: "bz.oe"; of: "bz.of"; og: "bz.og"; oh: "bz.oh"; oi: "bz.oi"; oj: "bz.oj"; ok: "bz.ok"; ol: "bz.ol"; om: "bz.om"; on: "bz.on"; oo: "bz.oo"; op: "bz.op"; oq: "bz.oq"; or: "bz.or"; os: "bz.os"; ot: "bz.ot"; ou: "bz.ou"; ov: "bz.ov"; ow: "bz.ow"; ox: "bz.ox"; oy: "bz.oy"; oz: "bz.oz"; pa: "bz.pa"; pb: "bz.pb"; pc: "bz.pc"; pd: "bz.pd"; pe: "bz.pe"; pf: "bz.pf"; pg: "bz.pg"; ph: "bz.ph"; pi: "bz.pi"; pj: "bz.pj"; pk: "bz.pk"; pl: "bz.pl"; pm: "bz.pm"; pn: "bz.pn"; po: "bz.po"; pp: "bz.pp"; pq: "bz.pq"; pr: "bz.pr"; ps: "bz.ps"; pt: "bz.pt"; pu: "bz.pu"; pv: "bz.pv"; pw: "bz.pw"; px: "bz.px"; py: "bz.py"; pz: "bz.pz"; qa: "bz.qa"; qb: "bz.qb"; qc: "bz.qc"; qd: "bz.qd"; qe: "bz.qe"; qf: "bz.qf"; qg: "bz.qg"; qh: "bz.qh"; qi: "bz.qi"; qj: "bz.qj"; qk: "bz.qk"; ql: "bz.ql"; qm: "bz.qm"; qn: "bz.qn"; qo: "bz.qo"; qp: "bz.qp"; qq: "bz.qq"; qr: "bz.qr"; qs: "bz.qs"; qt: "bz.qt"; qu: "bz.qu"; qv: "bz.qv"; qw: "bz.qw"; qx: "bz.qx"; qy: "bz.qy"; qz: "bz.qz"; ra: "bz.ra"; rb: "bz.rb"; rc: "bz.rc"; rd: "bz.rd"; re: "bz.re"; rf: "bz.rf"; rg: "bz.rg"; rh: "bz.rh"; ri: "bz.ri"; rj: "bz.rj"; rk: "bz.rk"; rl: "bz.rl"; rm: "bz.rm"; rn: "bz.rn"; ro: "bz.ro"; rp: "bz.rp"; rq: "bz.rq"; rr: "bz.rr"; rs: "bz.rs"; rt: "bz.rt"; ru: "bz.ru"; rv: "bz.rv"; rw: "bz.rw"; rx: "bz.rx"; ry: "bz.ry"; rz: "bz.rz"; sa: "bz.sa"; sb: "bz.sb"; sc: "bz.sc"; sd: "bz.sd"; se: "bz.se"; sf: "bz.sf"; sg: "bz.sg"; sh: "bz.sh"; si: "bz.si"; sj: "bz.sj"; sk: "bz.sk"; sl: "bz.sl"; sm: "bz.sm"; sn: "bz.sn"; so: "bz.so"; sp: "bz.sp"; sq: "bz.sq"; sr: "bz.sr"; ss: "bz.ss"; st: "bz.st"; su: "bz.su"; sv: "bz.sv"; sw: "bz.sw"; sx: "bz.sx"; sy: "bz.sy"; sz: "bz.sz"; ta: "bz.ta"; tb: "bz.tb"; tc: "bz.tc"; td: "bz.td"; te: "bz.te"; tf: "bz.tf"; tg: "bz.tg"; th: "bz.th"; ti: "bz.ti"; tj: "bz.tj"; tk: "bz.tk"; tl: "bz.tl"; tm: "bz.tm"; tn: "bz.tn"; to: "bz.to"; tp: "bz.tp"; tq: "bz.tq"; tr: "bz.tr"; ts: "bz.ts"; tt: "bz.tt"; tu: "bz.tu"; tv: "bz.tv"; tw: "bz.tw"; tx: "bz.tx"; ty: "bz.ty"; tz: "bz.tz"; ua: "bz.ua"; ub: "bz.ub"; uc: "bz.uc"; ud: "bz.ud"; ue: "bz.ue"; uf: "bz.uf"; ug: "bz.ug"; uh: "bz.uh"; ui: "bz.ui"; uj: "bz.uj"; uk: "bz.uk"; ul: "bz.ul"; um: "bz.um"; un: "bz.un"; uo: "bz.uo"; up: "bz.up"; uq: "bz.uq"; ur: "bz.ur"; us: "bz.us"; ut: "bz.ut"; uu: "bz.uu"; uv: "bz.uv"; uw: "bz.uw"; ux: "bz.ux"; uy: "bz.uy"; uz: "bz.uz"; va: "bz.va"; vb: "bz.vb"; vc: "bz.vc"; vd: "bz.vd"; ve: "bz.ve"; vf: "bz.vf"; vg: "bz.vg"; vh: "bz.vh"; vi: "bz.vi"; vj: "bz.vj"; vk: "bz.vk"; vl: "bz.vl"; vm: "bz.vm"; vn: "bz.vn"; vo: "bz.vo"; vp: "bz.vp"; vq: "bz.vq"; vr: "bz.vr"; vs: "bz.vs"; vt: "bz.vt"; vu: "bz.vu"; vv: "bz.vv"; vw: "bz.vw"; vx: "bz.vx"; vy: "bz.vy"; vz: "bz.vz"; wa: "bz.wa"; wb: "bz.wb"; wc: "bz.wc"; wd: "bz.wd"; we: "bz.we"; wf: "bz.wf"; wg: "bz.wg"; wh: "bz.wh"; wi: "bz.wi"; wj: "bz.wj"; wk: "bz.wk"; wl: "bz.wl"; wm: "bz.wm"; wn: "bz.wn"; wo: "bz.wo"; wp: "bz.wp"; wq: "bz.wq"; wr: "bz.wr"; ws: "bz.ws"; wt: "bz.wt"; wu: "bz.wu"; wv: "bz.wv"; ww: "bz.ww"; wx: "bz.wx"; wy: "bz.wy"; wz: "bz.wz"; xa: "bz.xa"; xb: "bz.xb"; xc: "bz.xc"; xd: "bz.xd"; xe: "bz.xe"; xf: "bz.xf"; xg: "bz.xg"; xh: "bz.xh"; xi: "bz.xi"; xj: "bz.xj"; xk: "bz.xk"; xl: "bz.xl"; xm: "bz.xm"; xn: "bz.xn"; xo: "bz.xo"; xp: "bz.xp"; xq: "bz.xq"; xr: "bz.xr"; xs: "bz.xs"; xt: "bz.xt"; xu: "bz.xu"; xv: "bz.xv"; xw: "bz.xw"; xx: "bz.xx"; xy: "bz.xy"; xz: "bz.xz"; ya: "bz.ya"; yb: "bz.yb"; yc: "bz.yc"; yd: "bz.yd"; ye: "bz.ye"; yf: "bz.yf"; yg: "bz.yg"; yh: "bz.yh"; yi: "bz.yi"; yj: "bz.yj"; yk: "bz.yk"; yl: "bz.yl"; ym: "bz.ym"; yn: "bz.yn"; yo: "bz.yo"; yp: "bz.yp"; yq: "bz.yq"; yr: "bz.yr"; ys: "bz.ys"; yt: "bz.yt"; yu: "bz.yu"; yv: "bz.yv"; yw: "bz.yw"; yx: "bz.yx"; yy: "bz.yy"; yz: "bz.yz"; za: "bz.za"; zb: "bz.zb"; zc: "bz.zc"; zd: "bz.zd"; ze: "bz.ze"; zf: "bz.zf"; zg: "bz.zg"; zh: "bz.zh"; zi: "bz.zi"; zj: "bz.zj"; zk: "bz.zk"; zl: "bz.zl"; zm: "bz.zm"; zn: "bz.zn"; zo: "bz.zo"; zp: "bz.zp"; zq: "bz.zq"; zr: "bz.zr"; zs: "bz.zs"; zt: "bz.zt"; zu: "bz.zu"; zv: "bz.zv"; zw: "bz.zw"; zx: "bz.zx"; zy: "bz.zy"; zz: "bz.zz"; }; ca: { aa: "ca.aa"; ab: "ca.ab"; ac: "ca.ac"; ad: "ca.ad"; ae: "ca.ae"; af: "ca.af"; ag: "ca.ag"; ah: "ca.ah"; ai: "ca.ai"; aj: "ca.aj"; ak: "ca.ak"; al: "ca.al"; am: "ca.am"; an: "ca.an"; ao: "ca.ao"; ap: "ca.ap"; aq: "ca.aq"; ar: "ca.ar"; as: "ca.as"; at: "ca.at"; au: "ca.au"; av: "ca.av"; aw: "ca.aw"; ax: "ca.ax"; ay: "ca.ay"; az: "ca.az"; ba: "ca.ba"; bb: "ca.bb"; bc: "ca.bc"; bd: "ca.bd"; be: "ca.be"; bf: "ca.bf"; bg: "ca.bg"; bh: "ca.bh"; bi: "ca.bi"; bj: "ca.bj"; bk: "ca.bk"; bl: "ca.bl"; bm: "ca.bm"; bn: "ca.bn"; bo: "ca.bo"; bp: "ca.bp"; bq: "ca.bq"; br: "ca.br"; bs: "ca.bs"; bt: "ca.bt"; bu: "ca.bu"; bv: "ca.bv"; bw: "ca.bw"; bx: "ca.bx"; by: "ca.by"; bz: "ca.bz"; ca: "ca.ca"; cb: "ca.cb"; cc: "ca.cc"; cd: "ca.cd"; ce: "ca.ce"; cf: "ca.cf"; cg: "ca.cg"; ch: "ca.ch"; ci: "ca.ci"; cj: "ca.cj"; ck: "ca.ck"; cl: "ca.cl"; cm: "ca.cm"; cn: "ca.cn"; co: "ca.co"; cp: "ca.cp"; cq: "ca.cq"; cr: "ca.cr"; cs: "ca.cs"; ct: "ca.ct"; cu: "ca.cu"; cv: "ca.cv"; cw: "ca.cw"; cx: "ca.cx"; cy: "ca.cy"; cz: "ca.cz"; da: "ca.da"; db: "ca.db"; dc: "ca.dc"; dd: "ca.dd"; de: "ca.de"; df: "ca.df"; dg: "ca.dg"; dh: "ca.dh"; di: "ca.di"; dj: "ca.dj"; dk: "ca.dk"; dl: "ca.dl"; dm: "ca.dm"; dn: "ca.dn"; do: "ca.do"; dp: "ca.dp"; dq: "ca.dq"; dr: "ca.dr"; ds: "ca.ds"; dt: "ca.dt"; du: "ca.du"; dv: "ca.dv"; dw: "ca.dw"; dx: "ca.dx"; dy: "ca.dy"; dz: "ca.dz"; ea: "ca.ea"; eb: "ca.eb"; ec: "ca.ec"; ed: "ca.ed"; ee: "ca.ee"; ef: "ca.ef"; eg: "ca.eg"; eh: "ca.eh"; ei: "ca.ei"; ej: "ca.ej"; ek: "ca.ek"; el: "ca.el"; em: "ca.em"; en: "ca.en"; eo: "ca.eo"; ep: "ca.ep"; eq: "ca.eq"; er: "ca.er"; es: "ca.es"; et: "ca.et"; eu: "ca.eu"; ev: "ca.ev"; ew: "ca.ew"; ex: "ca.ex"; ey: "ca.ey"; ez: "ca.ez"; fa: "ca.fa"; fb: "ca.fb"; fc: "ca.fc"; fd: "ca.fd"; fe: "ca.fe"; ff: "ca.ff"; fg: "ca.fg"; fh: "ca.fh"; fi: "ca.fi"; fj: "ca.fj"; fk: "ca.fk"; fl: "ca.fl"; fm: "ca.fm"; fn: "ca.fn"; fo: "ca.fo"; fp: "ca.fp"; fq: "ca.fq"; fr: "ca.fr"; fs: "ca.fs"; ft: "ca.ft"; fu: "ca.fu"; fv: "ca.fv"; fw: "ca.fw"; fx: "ca.fx"; fy: "ca.fy"; fz: "ca.fz"; ga: "ca.ga"; gb: "ca.gb"; gc: "ca.gc"; gd: "ca.gd"; ge: "ca.ge"; gf: "ca.gf"; gg: "ca.gg"; gh: "ca.gh"; gi: "ca.gi"; gj: "ca.gj"; gk: "ca.gk"; gl: "ca.gl"; gm: "ca.gm"; gn: "ca.gn"; go: "ca.go"; gp: "ca.gp"; gq: "ca.gq"; gr: "ca.gr"; gs: "ca.gs"; gt: "ca.gt"; gu: "ca.gu"; gv: "ca.gv"; gw: "ca.gw"; gx: "ca.gx"; gy: "ca.gy"; gz: "ca.gz"; ha: "ca.ha"; hb: "ca.hb"; hc: "ca.hc"; hd: "ca.hd"; he: "ca.he"; hf: "ca.hf"; hg: "ca.hg"; hh: "ca.hh"; hi: "ca.hi"; hj: "ca.hj"; hk: "ca.hk"; hl: "ca.hl"; hm: "ca.hm"; hn: "ca.hn"; ho: "ca.ho"; hp: "ca.hp"; hq: "ca.hq"; hr: "ca.hr"; hs: "ca.hs"; ht: "ca.ht"; hu: "ca.hu"; hv: "ca.hv"; hw: "ca.hw"; hx: "ca.hx"; hy: "ca.hy"; hz: "ca.hz"; ia: "ca.ia"; ib: "ca.ib"; ic: "ca.ic"; id: "ca.id"; ie: "ca.ie"; if: "ca.if"; ig: "ca.ig"; ih: "ca.ih"; ii: "ca.ii"; ij: "ca.ij"; ik: "ca.ik"; il: "ca.il"; im: "ca.im"; in: "ca.in"; io: "ca.io"; ip: "ca.ip"; iq: "ca.iq"; ir: "ca.ir"; is: "ca.is"; it: "ca.it"; iu: "ca.iu"; iv: "ca.iv"; iw: "ca.iw"; ix: "ca.ix"; iy: "ca.iy"; iz: "ca.iz"; ja: "ca.ja"; jb: "ca.jb"; jc: "ca.jc"; jd: "ca.jd"; je: "ca.je"; jf: "ca.jf"; jg: "ca.jg"; jh: "ca.jh"; ji: "ca.ji"; jj: "ca.jj"; jk: "ca.jk"; jl: "ca.jl"; jm: "ca.jm"; jn: "ca.jn"; jo: "ca.jo"; jp: "ca.jp"; jq: "ca.jq"; jr: "ca.jr"; js: "ca.js"; jt: "ca.jt"; ju: "ca.ju"; jv: "ca.jv"; jw: "ca.jw"; jx: "ca.jx"; jy: "ca.jy"; jz: "ca.jz"; ka: "ca.ka"; kb: "ca.kb"; kc: "ca.kc"; kd: "ca.kd"; ke: "ca.ke"; kf: "ca.kf"; kg: "ca.kg"; kh: "ca.kh"; ki: "ca.ki"; kj: "ca.kj"; kk: "ca.kk"; kl: "ca.kl"; km: "ca.km"; kn: "ca.kn"; ko: "ca.ko"; kp: "ca.kp"; kq: "ca.kq"; kr: "ca.kr"; ks: "ca.ks"; kt: "ca.kt"; ku: "ca.ku"; kv: "ca.kv"; kw: "ca.kw"; kx: "ca.kx"; ky: "ca.ky"; kz: "ca.kz"; la: "ca.la"; lb: "ca.lb"; lc: "ca.lc"; ld: "ca.ld"; le: "ca.le"; lf: "ca.lf"; lg: "ca.lg"; lh: "ca.lh"; li: "ca.li"; lj: "ca.lj"; lk: "ca.lk"; ll: "ca.ll"; lm: "ca.lm"; ln: "ca.ln"; lo: "ca.lo"; lp: "ca.lp"; lq: "ca.lq"; lr: "ca.lr"; ls: "ca.ls"; lt: "ca.lt"; lu: "ca.lu"; lv: "ca.lv"; lw: "ca.lw"; lx: "ca.lx"; ly: "ca.ly"; lz: "ca.lz"; ma: "ca.ma"; mb: "ca.mb"; mc: "ca.mc"; md: "ca.md"; me: "ca.me"; mf: "ca.mf"; mg: "ca.mg"; mh: "ca.mh"; mi: "ca.mi"; mj: "ca.mj"; mk: "ca.mk"; ml: "ca.ml"; mm: "ca.mm"; mn: "ca.mn"; mo: "ca.mo"; mp: "ca.mp"; mq: "ca.mq"; mr: "ca.mr"; ms: "ca.ms"; mt: "ca.mt"; mu: "ca.mu"; mv: "ca.mv"; mw: "ca.mw"; mx: "ca.mx"; my: "ca.my"; mz: "ca.mz"; na: "ca.na"; nb: "ca.nb"; nc: "ca.nc"; nd: "ca.nd"; ne: "ca.ne"; nf: "ca.nf"; ng: "ca.ng"; nh: "ca.nh"; ni: "ca.ni"; nj: "ca.nj"; nk: "ca.nk"; nl: "ca.nl"; nm: "ca.nm"; nn: "ca.nn"; no: "ca.no"; np: "ca.np"; nq: "ca.nq"; nr: "ca.nr"; ns: "ca.ns"; nt: "ca.nt"; nu: "ca.nu"; nv: "ca.nv"; nw: "ca.nw"; nx: "ca.nx"; ny: "ca.ny"; nz: "ca.nz"; oa: "ca.oa"; ob: "ca.ob"; oc: "ca.oc"; od: "ca.od"; oe: "ca.oe"; of: "ca.of"; og: "ca.og"; oh: "ca.oh"; oi: "ca.oi"; oj: "ca.oj"; ok: "ca.ok"; ol: "ca.ol"; om: "ca.om"; on: "ca.on"; oo: "ca.oo"; op: "ca.op"; oq: "ca.oq"; or: "ca.or"; os: "ca.os"; ot: "ca.ot"; ou: "ca.ou"; ov: "ca.ov"; ow: "ca.ow"; ox: "ca.ox"; oy: "ca.oy"; oz: "ca.oz"; pa: "ca.pa"; pb: "ca.pb"; pc: "ca.pc"; pd: "ca.pd"; pe: "ca.pe"; pf: "ca.pf"; pg: "ca.pg"; ph: "ca.ph"; pi: "ca.pi"; pj: "ca.pj"; pk: "ca.pk"; pl: "ca.pl"; pm: "ca.pm"; pn: "ca.pn"; po: "ca.po"; pp: "ca.pp"; pq: "ca.pq"; pr: "ca.pr"; ps: "ca.ps"; pt: "ca.pt"; pu: "ca.pu"; pv: "ca.pv"; pw: "ca.pw"; px: "ca.px"; py: "ca.py"; pz: "ca.pz"; qa: "ca.qa"; qb: "ca.qb"; qc: "ca.qc"; qd: "ca.qd"; qe: "ca.qe"; qf: "ca.qf"; qg: "ca.qg"; qh: "ca.qh"; qi: "ca.qi"; qj: "ca.qj"; qk: "ca.qk"; ql: "ca.ql"; qm: "ca.qm"; qn: "ca.qn"; qo: "ca.qo"; qp: "ca.qp"; qq: "ca.qq"; qr: "ca.qr"; qs: "ca.qs"; qt: "ca.qt"; qu: "ca.qu"; qv: "ca.qv"; qw: "ca.qw"; qx: "ca.qx"; qy: "ca.qy"; qz: "ca.qz"; ra: "ca.ra"; rb: "ca.rb"; rc: "ca.rc"; rd: "ca.rd"; re: "ca.re"; rf: "ca.rf"; rg: "ca.rg"; rh: "ca.rh"; ri: "ca.ri"; rj: "ca.rj"; rk: "ca.rk"; rl: "ca.rl"; rm: "ca.rm"; rn: "ca.rn"; ro: "ca.ro"; rp: "ca.rp"; rq: "ca.rq"; rr: "ca.rr"; rs: "ca.rs"; rt: "ca.rt"; ru: "ca.ru"; rv: "ca.rv"; rw: "ca.rw"; rx: "ca.rx"; ry: "ca.ry"; rz: "ca.rz"; sa: "ca.sa"; sb: "ca.sb"; sc: "ca.sc"; sd: "ca.sd"; se: "ca.se"; sf: "ca.sf"; sg: "ca.sg"; sh: "ca.sh"; si: "ca.si"; sj: "ca.sj"; sk: "ca.sk"; sl: "ca.sl"; sm: "ca.sm"; sn: "ca.sn"; so: "ca.so"; sp: "ca.sp"; sq: "ca.sq"; sr: "ca.sr"; ss: "ca.ss"; st: "ca.st"; su: "ca.su"; sv: "ca.sv"; sw: "ca.sw"; sx: "ca.sx"; sy: "ca.sy"; sz: "ca.sz"; ta: "ca.ta"; tb: "ca.tb"; tc: "ca.tc"; td: "ca.td"; te: "ca.te"; tf: "ca.tf"; tg: "ca.tg"; th: "ca.th"; ti: "ca.ti"; tj: "ca.tj"; tk: "ca.tk"; tl: "ca.tl"; tm: "ca.tm"; tn: "ca.tn"; to: "ca.to"; tp: "ca.tp"; tq: "ca.tq"; tr: "ca.tr"; ts: "ca.ts"; tt: "ca.tt"; tu: "ca.tu"; tv: "ca.tv"; tw: "ca.tw"; tx: "ca.tx"; ty: "ca.ty"; tz: "ca.tz"; ua: "ca.ua"; ub: "ca.ub"; uc: "ca.uc"; ud: "ca.ud"; ue: "ca.ue"; uf: "ca.uf"; ug: "ca.ug"; uh: "ca.uh"; ui: "ca.ui"; uj: "ca.uj"; uk: "ca.uk"; ul: "ca.ul"; um: "ca.um"; un: "ca.un"; uo: "ca.uo"; up: "ca.up"; uq: "ca.uq"; ur: "ca.ur"; us: "ca.us"; ut: "ca.ut"; uu: "ca.uu"; uv: "ca.uv"; uw: "ca.uw"; ux: "ca.ux"; uy: "ca.uy"; uz: "ca.uz"; va: "ca.va"; vb: "ca.vb"; vc: "ca.vc"; vd: "ca.vd"; ve: "ca.ve"; vf: "ca.vf"; vg: "ca.vg"; vh: "ca.vh"; vi: "ca.vi"; vj: "ca.vj"; vk: "ca.vk"; vl: "ca.vl"; vm: "ca.vm"; vn: "ca.vn"; vo: "ca.vo"; vp: "ca.vp"; vq: "ca.vq"; vr: "ca.vr"; vs: "ca.vs"; vt: "ca.vt"; vu: "ca.vu"; vv: "ca.vv"; vw: "ca.vw"; vx: "ca.vx"; vy: "ca.vy"; vz: "ca.vz"; wa: "ca.wa"; wb: "ca.wb"; wc: "ca.wc"; wd: "ca.wd"; we: "ca.we"; wf: "ca.wf"; wg: "ca.wg"; wh: "ca.wh"; wi: "ca.wi"; wj: "ca.wj"; wk: "ca.wk"; wl: "ca.wl"; wm: "ca.wm"; wn: "ca.wn"; wo: "ca.wo"; wp: "ca.wp"; wq: "ca.wq"; wr: "ca.wr"; ws: "ca.ws"; wt: "ca.wt"; wu: "ca.wu"; wv: "ca.wv"; ww: "ca.ww"; wx: "ca.wx"; wy: "ca.wy"; wz: "ca.wz"; xa: "ca.xa"; xb: "ca.xb"; xc: "ca.xc"; xd: "ca.xd"; xe: "ca.xe"; xf: "ca.xf"; xg: "ca.xg"; xh: "ca.xh"; xi: "ca.xi"; xj: "ca.xj"; xk: "ca.xk"; xl: "ca.xl"; xm: "ca.xm"; xn: "ca.xn"; xo: "ca.xo"; xp: "ca.xp"; xq: "ca.xq"; xr: "ca.xr"; xs: "ca.xs"; xt: "ca.xt"; xu: "ca.xu"; xv: "ca.xv"; xw: "ca.xw"; xx: "ca.xx"; xy: "ca.xy"; xz: "ca.xz"; ya: "ca.ya"; yb: "ca.yb"; yc: "ca.yc"; yd: "ca.yd"; ye: "ca.ye"; yf: "ca.yf"; yg: "ca.yg"; yh: "ca.yh"; yi: "ca.yi"; yj: "ca.yj"; yk: "ca.yk"; yl: "ca.yl"; ym: "ca.ym"; yn: "ca.yn"; yo: "ca.yo"; yp: "ca.yp"; yq: "ca.yq"; yr: "ca.yr"; ys: "ca.ys"; yt: "ca.yt"; yu: "ca.yu"; yv: "ca.yv"; yw: "ca.yw"; yx: "ca.yx"; yy: "ca.yy"; yz: "ca.yz"; za: "ca.za"; zb: "ca.zb"; zc: "ca.zc"; zd: "ca.zd"; ze: "ca.ze"; zf: "ca.zf"; zg: "ca.zg"; zh: "ca.zh"; zi: "ca.zi"; zj: "ca.zj"; zk: "ca.zk"; zl: "ca.zl"; zm: "ca.zm"; zn: "ca.zn"; zo: "ca.zo"; zp: "ca.zp"; zq: "ca.zq"; zr: "ca.zr"; zs: "ca.zs"; zt: "ca.zt"; zu: "ca.zu"; zv: "ca.zv"; zw: "ca.zw"; zx: "ca.zx"; zy: "ca.zy"; zz: "ca.zz"; }; cb: { aa: "cb.aa"; ab: "cb.ab"; ac: "cb.ac"; ad: "cb.ad"; ae: "cb.ae"; af: "cb.af"; ag: "cb.ag"; ah: "cb.ah"; ai: "cb.ai"; aj: "cb.aj"; ak: "cb.ak"; al: "cb.al"; am: "cb.am"; an: "cb.an"; ao: "cb.ao"; ap: "cb.ap"; aq: "cb.aq"; ar: "cb.ar"; as: "cb.as"; at: "cb.at"; au: "cb.au"; av: "cb.av"; aw: "cb.aw"; ax: "cb.ax"; ay: "cb.ay"; az: "cb.az"; ba: "cb.ba"; bb: "cb.bb"; bc: "cb.bc"; bd: "cb.bd"; be: "cb.be"; bf: "cb.bf"; bg: "cb.bg"; bh: "cb.bh"; bi: "cb.bi"; bj: "cb.bj"; bk: "cb.bk"; bl: "cb.bl"; bm: "cb.bm"; bn: "cb.bn"; bo: "cb.bo"; bp: "cb.bp"; bq: "cb.bq"; br: "cb.br"; bs: "cb.bs"; bt: "cb.bt"; bu: "cb.bu"; bv: "cb.bv"; bw: "cb.bw"; bx: "cb.bx"; by: "cb.by"; bz: "cb.bz"; ca: "cb.ca"; cb: "cb.cb"; cc: "cb.cc"; cd: "cb.cd"; ce: "cb.ce"; cf: "cb.cf"; cg: "cb.cg"; ch: "cb.ch"; ci: "cb.ci"; cj: "cb.cj"; ck: "cb.ck"; cl: "cb.cl"; cm: "cb.cm"; cn: "cb.cn"; co: "cb.co"; cp: "cb.cp"; cq: "cb.cq"; cr: "cb.cr"; cs: "cb.cs"; ct: "cb.ct"; cu: "cb.cu"; cv: "cb.cv"; cw: "cb.cw"; cx: "cb.cx"; cy: "cb.cy"; cz: "cb.cz"; da: "cb.da"; db: "cb.db"; dc: "cb.dc"; dd: "cb.dd"; de: "cb.de"; df: "cb.df"; dg: "cb.dg"; dh: "cb.dh"; di: "cb.di"; dj: "cb.dj"; dk: "cb.dk"; dl: "cb.dl"; dm: "cb.dm"; dn: "cb.dn"; do: "cb.do"; dp: "cb.dp"; dq: "cb.dq"; dr: "cb.dr"; ds: "cb.ds"; dt: "cb.dt"; du: "cb.du"; dv: "cb.dv"; dw: "cb.dw"; dx: "cb.dx"; dy: "cb.dy"; dz: "cb.dz"; ea: "cb.ea"; eb: "cb.eb"; ec: "cb.ec"; ed: "cb.ed"; ee: "cb.ee"; ef: "cb.ef"; eg: "cb.eg"; eh: "cb.eh"; ei: "cb.ei"; ej: "cb.ej"; ek: "cb.ek"; el: "cb.el"; em: "cb.em"; en: "cb.en"; eo: "cb.eo"; ep: "cb.ep"; eq: "cb.eq"; er: "cb.er"; es: "cb.es"; et: "cb.et"; eu: "cb.eu"; ev: "cb.ev"; ew: "cb.ew"; ex: "cb.ex"; ey: "cb.ey"; ez: "cb.ez"; fa: "cb.fa"; fb: "cb.fb"; fc: "cb.fc"; fd: "cb.fd"; fe: "cb.fe"; ff: "cb.ff"; fg: "cb.fg"; fh: "cb.fh"; fi: "cb.fi"; fj: "cb.fj"; fk: "cb.fk"; fl: "cb.fl"; fm: "cb.fm"; fn: "cb.fn"; fo: "cb.fo"; fp: "cb.fp"; fq: "cb.fq"; fr: "cb.fr"; fs: "cb.fs"; ft: "cb.ft"; fu: "cb.fu"; fv: "cb.fv"; fw: "cb.fw"; fx: "cb.fx"; fy: "cb.fy"; fz: "cb.fz"; ga: "cb.ga"; gb: "cb.gb"; gc: "cb.gc"; gd: "cb.gd"; ge: "cb.ge"; gf: "cb.gf"; gg: "cb.gg"; gh: "cb.gh"; gi: "cb.gi"; gj: "cb.gj"; gk: "cb.gk"; gl: "cb.gl"; gm: "cb.gm"; gn: "cb.gn"; go: "cb.go"; gp: "cb.gp"; gq: "cb.gq"; gr: "cb.gr"; gs: "cb.gs"; gt: "cb.gt"; gu: "cb.gu"; gv: "cb.gv"; gw: "cb.gw"; gx: "cb.gx"; gy: "cb.gy"; gz: "cb.gz"; ha: "cb.ha"; hb: "cb.hb"; hc: "cb.hc"; hd: "cb.hd"; he: "cb.he"; hf: "cb.hf"; hg: "cb.hg"; hh: "cb.hh"; hi: "cb.hi"; hj: "cb.hj"; hk: "cb.hk"; hl: "cb.hl"; hm: "cb.hm"; hn: "cb.hn"; ho: "cb.ho"; hp: "cb.hp"; hq: "cb.hq"; hr: "cb.hr"; hs: "cb.hs"; ht: "cb.ht"; hu: "cb.hu"; hv: "cb.hv"; hw: "cb.hw"; hx: "cb.hx"; hy: "cb.hy"; hz: "cb.hz"; ia: "cb.ia"; ib: "cb.ib"; ic: "cb.ic"; id: "cb.id"; ie: "cb.ie"; if: "cb.if"; ig: "cb.ig"; ih: "cb.ih"; ii: "cb.ii"; ij: "cb.ij"; ik: "cb.ik"; il: "cb.il"; im: "cb.im"; in: "cb.in"; io: "cb.io"; ip: "cb.ip"; iq: "cb.iq"; ir: "cb.ir"; is: "cb.is"; it: "cb.it"; iu: "cb.iu"; iv: "cb.iv"; iw: "cb.iw"; ix: "cb.ix"; iy: "cb.iy"; iz: "cb.iz"; ja: "cb.ja"; jb: "cb.jb"; jc: "cb.jc"; jd: "cb.jd"; je: "cb.je"; jf: "cb.jf"; jg: "cb.jg"; jh: "cb.jh"; ji: "cb.ji"; jj: "cb.jj"; jk: "cb.jk"; jl: "cb.jl"; jm: "cb.jm"; jn: "cb.jn"; jo: "cb.jo"; jp: "cb.jp"; jq: "cb.jq"; jr: "cb.jr"; js: "cb.js"; jt: "cb.jt"; ju: "cb.ju"; jv: "cb.jv"; jw: "cb.jw"; jx: "cb.jx"; jy: "cb.jy"; jz: "cb.jz"; ka: "cb.ka"; kb: "cb.kb"; kc: "cb.kc"; kd: "cb.kd"; ke: "cb.ke"; kf: "cb.kf"; kg: "cb.kg"; kh: "cb.kh"; ki: "cb.ki"; kj: "cb.kj"; kk: "cb.kk"; kl: "cb.kl"; km: "cb.km"; kn: "cb.kn"; ko: "cb.ko"; kp: "cb.kp"; kq: "cb.kq"; kr: "cb.kr"; ks: "cb.ks"; kt: "cb.kt"; ku: "cb.ku"; kv: "cb.kv"; kw: "cb.kw"; kx: "cb.kx"; ky: "cb.ky"; kz: "cb.kz"; la: "cb.la"; lb: "cb.lb"; lc: "cb.lc"; ld: "cb.ld"; le: "cb.le"; lf: "cb.lf"; lg: "cb.lg"; lh: "cb.lh"; li: "cb.li"; lj: "cb.lj"; lk: "cb.lk"; ll: "cb.ll"; lm: "cb.lm"; ln: "cb.ln"; lo: "cb.lo"; lp: "cb.lp"; lq: "cb.lq"; lr: "cb.lr"; ls: "cb.ls"; lt: "cb.lt"; lu: "cb.lu"; lv: "cb.lv"; lw: "cb.lw"; lx: "cb.lx"; ly: "cb.ly"; lz: "cb.lz"; ma: "cb.ma"; mb: "cb.mb"; mc: "cb.mc"; md: "cb.md"; me: "cb.me"; mf: "cb.mf"; mg: "cb.mg"; mh: "cb.mh"; mi: "cb.mi"; mj: "cb.mj"; mk: "cb.mk"; ml: "cb.ml"; mm: "cb.mm"; mn: "cb.mn"; mo: "cb.mo"; mp: "cb.mp"; mq: "cb.mq"; mr: "cb.mr"; ms: "cb.ms"; mt: "cb.mt"; mu: "cb.mu"; mv: "cb.mv"; mw: "cb.mw"; mx: "cb.mx"; my: "cb.my"; mz: "cb.mz"; na: "cb.na"; nb: "cb.nb"; nc: "cb.nc"; nd: "cb.nd"; ne: "cb.ne"; nf: "cb.nf"; ng: "cb.ng"; nh: "cb.nh"; ni: "cb.ni"; nj: "cb.nj"; nk: "cb.nk"; nl: "cb.nl"; nm: "cb.nm"; nn: "cb.nn"; no: "cb.no"; np: "cb.np"; nq: "cb.nq"; nr: "cb.nr"; ns: "cb.ns"; nt: "cb.nt"; nu: "cb.nu"; nv: "cb.nv"; nw: "cb.nw"; nx: "cb.nx"; ny: "cb.ny"; nz: "cb.nz"; oa: "cb.oa"; ob: "cb.ob"; oc: "cb.oc"; od: "cb.od"; oe: "cb.oe"; of: "cb.of"; og: "cb.og"; oh: "cb.oh"; oi: "cb.oi"; oj: "cb.oj"; ok: "cb.ok"; ol: "cb.ol"; om: "cb.om"; on: "cb.on"; oo: "cb.oo"; op: "cb.op"; oq: "cb.oq"; or: "cb.or"; os: "cb.os"; ot: "cb.ot"; ou: "cb.ou"; ov: "cb.ov"; ow: "cb.ow"; ox: "cb.ox"; oy: "cb.oy"; oz: "cb.oz"; pa: "cb.pa"; pb: "cb.pb"; pc: "cb.pc"; pd: "cb.pd"; pe: "cb.pe"; pf: "cb.pf"; pg: "cb.pg"; ph: "cb.ph"; pi: "cb.pi"; pj: "cb.pj"; pk: "cb.pk"; pl: "cb.pl"; pm: "cb.pm"; pn: "cb.pn"; po: "cb.po"; pp: "cb.pp"; pq: "cb.pq"; pr: "cb.pr"; ps: "cb.ps"; pt: "cb.pt"; pu: "cb.pu"; pv: "cb.pv"; pw: "cb.pw"; px: "cb.px"; py: "cb.py"; pz: "cb.pz"; qa: "cb.qa"; qb: "cb.qb"; qc: "cb.qc"; qd: "cb.qd"; qe: "cb.qe"; qf: "cb.qf"; qg: "cb.qg"; qh: "cb.qh"; qi: "cb.qi"; qj: "cb.qj"; qk: "cb.qk"; ql: "cb.ql"; qm: "cb.qm"; qn: "cb.qn"; qo: "cb.qo"; qp: "cb.qp"; qq: "cb.qq"; qr: "cb.qr"; qs: "cb.qs"; qt: "cb.qt"; qu: "cb.qu"; qv: "cb.qv"; qw: "cb.qw"; qx: "cb.qx"; qy: "cb.qy"; qz: "cb.qz"; ra: "cb.ra"; rb: "cb.rb"; rc: "cb.rc"; rd: "cb.rd"; re: "cb.re"; rf: "cb.rf"; rg: "cb.rg"; rh: "cb.rh"; ri: "cb.ri"; rj: "cb.rj"; rk: "cb.rk"; rl: "cb.rl"; rm: "cb.rm"; rn: "cb.rn"; ro: "cb.ro"; rp: "cb.rp"; rq: "cb.rq"; rr: "cb.rr"; rs: "cb.rs"; rt: "cb.rt"; ru: "cb.ru"; rv: "cb.rv"; rw: "cb.rw"; rx: "cb.rx"; ry: "cb.ry"; rz: "cb.rz"; sa: "cb.sa"; sb: "cb.sb"; sc: "cb.sc"; sd: "cb.sd"; se: "cb.se"; sf: "cb.sf"; sg: "cb.sg"; sh: "cb.sh"; si: "cb.si"; sj: "cb.sj"; sk: "cb.sk"; sl: "cb.sl"; sm: "cb.sm"; sn: "cb.sn"; so: "cb.so"; sp: "cb.sp"; sq: "cb.sq"; sr: "cb.sr"; ss: "cb.ss"; st: "cb.st"; su: "cb.su"; sv: "cb.sv"; sw: "cb.sw"; sx: "cb.sx"; sy: "cb.sy"; sz: "cb.sz"; ta: "cb.ta"; tb: "cb.tb"; tc: "cb.tc"; td: "cb.td"; te: "cb.te"; tf: "cb.tf"; tg: "cb.tg"; th: "cb.th"; ti: "cb.ti"; tj: "cb.tj"; tk: "cb.tk"; tl: "cb.tl"; tm: "cb.tm"; tn: "cb.tn"; to: "cb.to"; tp: "cb.tp"; tq: "cb.tq"; tr: "cb.tr"; ts: "cb.ts"; tt: "cb.tt"; tu: "cb.tu"; tv: "cb.tv"; tw: "cb.tw"; tx: "cb.tx"; ty: "cb.ty"; tz: "cb.tz"; ua: "cb.ua"; ub: "cb.ub"; uc: "cb.uc"; ud: "cb.ud"; ue: "cb.ue"; uf: "cb.uf"; ug: "cb.ug"; uh: "cb.uh"; ui: "cb.ui"; uj: "cb.uj"; uk: "cb.uk"; ul: "cb.ul"; um: "cb.um"; un: "cb.un"; uo: "cb.uo"; up: "cb.up"; uq: "cb.uq"; ur: "cb.ur"; us: "cb.us"; ut: "cb.ut"; uu: "cb.uu"; uv: "cb.uv"; uw: "cb.uw"; ux: "cb.ux"; uy: "cb.uy"; uz: "cb.uz"; va: "cb.va"; vb: "cb.vb"; vc: "cb.vc"; vd: "cb.vd"; ve: "cb.ve"; vf: "cb.vf"; vg: "cb.vg"; vh: "cb.vh"; vi: "cb.vi"; vj: "cb.vj"; vk: "cb.vk"; vl: "cb.vl"; vm: "cb.vm"; vn: "cb.vn"; vo: "cb.vo"; vp: "cb.vp"; vq: "cb.vq"; vr: "cb.vr"; vs: "cb.vs"; vt: "cb.vt"; vu: "cb.vu"; vv: "cb.vv"; vw: "cb.vw"; vx: "cb.vx"; vy: "cb.vy"; vz: "cb.vz"; wa: "cb.wa"; wb: "cb.wb"; wc: "cb.wc"; wd: "cb.wd"; we: "cb.we"; wf: "cb.wf"; wg: "cb.wg"; wh: "cb.wh"; wi: "cb.wi"; wj: "cb.wj"; wk: "cb.wk"; wl: "cb.wl"; wm: "cb.wm"; wn: "cb.wn"; wo: "cb.wo"; wp: "cb.wp"; wq: "cb.wq"; wr: "cb.wr"; ws: "cb.ws"; wt: "cb.wt"; wu: "cb.wu"; wv: "cb.wv"; ww: "cb.ww"; wx: "cb.wx"; wy: "cb.wy"; wz: "cb.wz"; xa: "cb.xa"; xb: "cb.xb"; xc: "cb.xc"; xd: "cb.xd"; xe: "cb.xe"; xf: "cb.xf"; xg: "cb.xg"; xh: "cb.xh"; xi: "cb.xi"; xj: "cb.xj"; xk: "cb.xk"; xl: "cb.xl"; xm: "cb.xm"; xn: "cb.xn"; xo: "cb.xo"; xp: "cb.xp"; xq: "cb.xq"; xr: "cb.xr"; xs: "cb.xs"; xt: "cb.xt"; xu: "cb.xu"; xv: "cb.xv"; xw: "cb.xw"; xx: "cb.xx"; xy: "cb.xy"; xz: "cb.xz"; ya: "cb.ya"; yb: "cb.yb"; yc: "cb.yc"; yd: "cb.yd"; ye: "cb.ye"; yf: "cb.yf"; yg: "cb.yg"; yh: "cb.yh"; yi: "cb.yi"; yj: "cb.yj"; yk: "cb.yk"; yl: "cb.yl"; ym: "cb.ym"; yn: "cb.yn"; yo: "cb.yo"; yp: "cb.yp"; yq: "cb.yq"; yr: "cb.yr"; ys: "cb.ys"; yt: "cb.yt"; yu: "cb.yu"; yv: "cb.yv"; yw: "cb.yw"; yx: "cb.yx"; yy: "cb.yy"; yz: "cb.yz"; za: "cb.za"; zb: "cb.zb"; zc: "cb.zc"; zd: "cb.zd"; ze: "cb.ze"; zf: "cb.zf"; zg: "cb.zg"; zh: "cb.zh"; zi: "cb.zi"; zj: "cb.zj"; zk: "cb.zk"; zl: "cb.zl"; zm: "cb.zm"; zn: "cb.zn"; zo: "cb.zo"; zp: "cb.zp"; zq: "cb.zq"; zr: "cb.zr"; zs: "cb.zs"; zt: "cb.zt"; zu: "cb.zu"; zv: "cb.zv"; zw: "cb.zw"; zx: "cb.zx"; zy: "cb.zy"; zz: "cb.zz"; }; cc: { aa: "cc.aa"; ab: "cc.ab"; ac: "cc.ac"; ad: "cc.ad"; ae: "cc.ae"; af: "cc.af"; ag: "cc.ag"; ah: "cc.ah"; ai: "cc.ai"; aj: "cc.aj"; ak: "cc.ak"; al: "cc.al"; am: "cc.am"; an: "cc.an"; ao: "cc.ao"; ap: "cc.ap"; aq: "cc.aq"; ar: "cc.ar"; as: "cc.as"; at: "cc.at"; au: "cc.au"; av: "cc.av"; aw: "cc.aw"; ax: "cc.ax"; ay: "cc.ay"; az: "cc.az"; ba: "cc.ba"; bb: "cc.bb"; bc: "cc.bc"; bd: "cc.bd"; be: "cc.be"; bf: "cc.bf"; bg: "cc.bg"; bh: "cc.bh"; bi: "cc.bi"; bj: "cc.bj"; bk: "cc.bk"; bl: "cc.bl"; bm: "cc.bm"; bn: "cc.bn"; bo: "cc.bo"; bp: "cc.bp"; bq: "cc.bq"; br: "cc.br"; bs: "cc.bs"; bt: "cc.bt"; bu: "cc.bu"; bv: "cc.bv"; bw: "cc.bw"; bx: "cc.bx"; by: "cc.by"; bz: "cc.bz"; ca: "cc.ca"; cb: "cc.cb"; cc: "cc.cc"; cd: "cc.cd"; ce: "cc.ce"; cf: "cc.cf"; cg: "cc.cg"; ch: "cc.ch"; ci: "cc.ci"; cj: "cc.cj"; ck: "cc.ck"; cl: "cc.cl"; cm: "cc.cm"; cn: "cc.cn"; co: "cc.co"; cp: "cc.cp"; cq: "cc.cq"; cr: "cc.cr"; cs: "cc.cs"; ct: "cc.ct"; cu: "cc.cu"; cv: "cc.cv"; cw: "cc.cw"; cx: "cc.cx"; cy: "cc.cy"; cz: "cc.cz"; da: "cc.da"; db: "cc.db"; dc: "cc.dc"; dd: "cc.dd"; de: "cc.de"; df: "cc.df"; dg: "cc.dg"; dh: "cc.dh"; di: "cc.di"; dj: "cc.dj"; dk: "cc.dk"; dl: "cc.dl"; dm: "cc.dm"; dn: "cc.dn"; do: "cc.do"; dp: "cc.dp"; dq: "cc.dq"; dr: "cc.dr"; ds: "cc.ds"; dt: "cc.dt"; du: "cc.du"; dv: "cc.dv"; dw: "cc.dw"; dx: "cc.dx"; dy: "cc.dy"; dz: "cc.dz"; ea: "cc.ea"; eb: "cc.eb"; ec: "cc.ec"; ed: "cc.ed"; ee: "cc.ee"; ef: "cc.ef"; eg: "cc.eg"; eh: "cc.eh"; ei: "cc.ei"; ej: "cc.ej"; ek: "cc.ek"; el: "cc.el"; em: "cc.em"; en: "cc.en"; eo: "cc.eo"; ep: "cc.ep"; eq: "cc.eq"; er: "cc.er"; es: "cc.es"; et: "cc.et"; eu: "cc.eu"; ev: "cc.ev"; ew: "cc.ew"; ex: "cc.ex"; ey: "cc.ey"; ez: "cc.ez"; fa: "cc.fa"; fb: "cc.fb"; fc: "cc.fc"; fd: "cc.fd"; fe: "cc.fe"; ff: "cc.ff"; fg: "cc.fg"; fh: "cc.fh"; fi: "cc.fi"; fj: "cc.fj"; fk: "cc.fk"; fl: "cc.fl"; fm: "cc.fm"; fn: "cc.fn"; fo: "cc.fo"; fp: "cc.fp"; fq: "cc.fq"; fr: "cc.fr"; fs: "cc.fs"; ft: "cc.ft"; fu: "cc.fu"; fv: "cc.fv"; fw: "cc.fw"; fx: "cc.fx"; fy: "cc.fy"; fz: "cc.fz"; ga: "cc.ga"; gb: "cc.gb"; gc: "cc.gc"; gd: "cc.gd"; ge: "cc.ge"; gf: "cc.gf"; gg: "cc.gg"; gh: "cc.gh"; gi: "cc.gi"; gj: "cc.gj"; gk: "cc.gk"; gl: "cc.gl"; gm: "cc.gm"; gn: "cc.gn"; go: "cc.go"; gp: "cc.gp"; gq: "cc.gq"; gr: "cc.gr"; gs: "cc.gs"; gt: "cc.gt"; gu: "cc.gu"; gv: "cc.gv"; gw: "cc.gw"; gx: "cc.gx"; gy: "cc.gy"; gz: "cc.gz"; ha: "cc.ha"; hb: "cc.hb"; hc: "cc.hc"; hd: "cc.hd"; he: "cc.he"; hf: "cc.hf"; hg: "cc.hg"; hh: "cc.hh"; hi: "cc.hi"; hj: "cc.hj"; hk: "cc.hk"; hl: "cc.hl"; hm: "cc.hm"; hn: "cc.hn"; ho: "cc.ho"; hp: "cc.hp"; hq: "cc.hq"; hr: "cc.hr"; hs: "cc.hs"; ht: "cc.ht"; hu: "cc.hu"; hv: "cc.hv"; hw: "cc.hw"; hx: "cc.hx"; hy: "cc.hy"; hz: "cc.hz"; ia: "cc.ia"; ib: "cc.ib"; ic: "cc.ic"; id: "cc.id"; ie: "cc.ie"; if: "cc.if"; ig: "cc.ig"; ih: "cc.ih"; ii: "cc.ii"; ij: "cc.ij"; ik: "cc.ik"; il: "cc.il"; im: "cc.im"; in: "cc.in"; io: "cc.io"; ip: "cc.ip"; iq: "cc.iq"; ir: "cc.ir"; is: "cc.is"; it: "cc.it"; iu: "cc.iu"; iv: "cc.iv"; iw: "cc.iw"; ix: "cc.ix"; iy: "cc.iy"; iz: "cc.iz"; ja: "cc.ja"; jb: "cc.jb"; jc: "cc.jc"; jd: "cc.jd"; je: "cc.je"; jf: "cc.jf"; jg: "cc.jg"; jh: "cc.jh"; ji: "cc.ji"; jj: "cc.jj"; jk: "cc.jk"; jl: "cc.jl"; jm: "cc.jm"; jn: "cc.jn"; jo: "cc.jo"; jp: "cc.jp"; jq: "cc.jq"; jr: "cc.jr"; js: "cc.js"; jt: "cc.jt"; ju: "cc.ju"; jv: "cc.jv"; jw: "cc.jw"; jx: "cc.jx"; jy: "cc.jy"; jz: "cc.jz"; ka: "cc.ka"; kb: "cc.kb"; kc: "cc.kc"; kd: "cc.kd"; ke: "cc.ke"; kf: "cc.kf"; kg: "cc.kg"; kh: "cc.kh"; ki: "cc.ki"; kj: "cc.kj"; kk: "cc.kk"; kl: "cc.kl"; km: "cc.km"; kn: "cc.kn"; ko: "cc.ko"; kp: "cc.kp"; kq: "cc.kq"; kr: "cc.kr"; ks: "cc.ks"; kt: "cc.kt"; ku: "cc.ku"; kv: "cc.kv"; kw: "cc.kw"; kx: "cc.kx"; ky: "cc.ky"; kz: "cc.kz"; la: "cc.la"; lb: "cc.lb"; lc: "cc.lc"; ld: "cc.ld"; le: "cc.le"; lf: "cc.lf"; lg: "cc.lg"; lh: "cc.lh"; li: "cc.li"; lj: "cc.lj"; lk: "cc.lk"; ll: "cc.ll"; lm: "cc.lm"; ln: "cc.ln"; lo: "cc.lo"; lp: "cc.lp"; lq: "cc.lq"; lr: "cc.lr"; ls: "cc.ls"; lt: "cc.lt"; lu: "cc.lu"; lv: "cc.lv"; lw: "cc.lw"; lx: "cc.lx"; ly: "cc.ly"; lz: "cc.lz"; ma: "cc.ma"; mb: "cc.mb"; mc: "cc.mc"; md: "cc.md"; me: "cc.me"; mf: "cc.mf"; mg: "cc.mg"; mh: "cc.mh"; mi: "cc.mi"; mj: "cc.mj"; mk: "cc.mk"; ml: "cc.ml"; mm: "cc.mm"; mn: "cc.mn"; mo: "cc.mo"; mp: "cc.mp"; mq: "cc.mq"; mr: "cc.mr"; ms: "cc.ms"; mt: "cc.mt"; mu: "cc.mu"; mv: "cc.mv"; mw: "cc.mw"; mx: "cc.mx"; my: "cc.my"; mz: "cc.mz"; na: "cc.na"; nb: "cc.nb"; nc: "cc.nc"; nd: "cc.nd"; ne: "cc.ne"; nf: "cc.nf"; ng: "cc.ng"; nh: "cc.nh"; ni: "cc.ni"; nj: "cc.nj"; nk: "cc.nk"; nl: "cc.nl"; nm: "cc.nm"; nn: "cc.nn"; no: "cc.no"; np: "cc.np"; nq: "cc.nq"; nr: "cc.nr"; ns: "cc.ns"; nt: "cc.nt"; nu: "cc.nu"; nv: "cc.nv"; nw: "cc.nw"; nx: "cc.nx"; ny: "cc.ny"; nz: "cc.nz"; oa: "cc.oa"; ob: "cc.ob"; oc: "cc.oc"; od: "cc.od"; oe: "cc.oe"; of: "cc.of"; og: "cc.og"; oh: "cc.oh"; oi: "cc.oi"; oj: "cc.oj"; ok: "cc.ok"; ol: "cc.ol"; om: "cc.om"; on: "cc.on"; oo: "cc.oo"; op: "cc.op"; oq: "cc.oq"; or: "cc.or"; os: "cc.os"; ot: "cc.ot"; ou: "cc.ou"; ov: "cc.ov"; ow: "cc.ow"; ox: "cc.ox"; oy: "cc.oy"; oz: "cc.oz"; pa: "cc.pa"; pb: "cc.pb"; pc: "cc.pc"; pd: "cc.pd"; pe: "cc.pe"; pf: "cc.pf"; pg: "cc.pg"; ph: "cc.ph"; pi: "cc.pi"; pj: "cc.pj"; pk: "cc.pk"; pl: "cc.pl"; pm: "cc.pm"; pn: "cc.pn"; po: "cc.po"; pp: "cc.pp"; pq: "cc.pq"; pr: "cc.pr"; ps: "cc.ps"; pt: "cc.pt"; pu: "cc.pu"; pv: "cc.pv"; pw: "cc.pw"; px: "cc.px"; py: "cc.py"; pz: "cc.pz"; qa: "cc.qa"; qb: "cc.qb"; qc: "cc.qc"; qd: "cc.qd"; qe: "cc.qe"; qf: "cc.qf"; qg: "cc.qg"; qh: "cc.qh"; qi: "cc.qi"; qj: "cc.qj"; qk: "cc.qk"; ql: "cc.ql"; qm: "cc.qm"; qn: "cc.qn"; qo: "cc.qo"; qp: "cc.qp"; qq: "cc.qq"; qr: "cc.qr"; qs: "cc.qs"; qt: "cc.qt"; qu: "cc.qu"; qv: "cc.qv"; qw: "cc.qw"; qx: "cc.qx"; qy: "cc.qy"; qz: "cc.qz"; ra: "cc.ra"; rb: "cc.rb"; rc: "cc.rc"; rd: "cc.rd"; re: "cc.re"; rf: "cc.rf"; rg: "cc.rg"; rh: "cc.rh"; ri: "cc.ri"; rj: "cc.rj"; rk: "cc.rk"; rl: "cc.rl"; rm: "cc.rm"; rn: "cc.rn"; ro: "cc.ro"; rp: "cc.rp"; rq: "cc.rq"; rr: "cc.rr"; rs: "cc.rs"; rt: "cc.rt"; ru: "cc.ru"; rv: "cc.rv"; rw: "cc.rw"; rx: "cc.rx"; ry: "cc.ry"; rz: "cc.rz"; sa: "cc.sa"; sb: "cc.sb"; sc: "cc.sc"; sd: "cc.sd"; se: "cc.se"; sf: "cc.sf"; sg: "cc.sg"; sh: "cc.sh"; si: "cc.si"; sj: "cc.sj"; sk: "cc.sk"; sl: "cc.sl"; sm: "cc.sm"; sn: "cc.sn"; so: "cc.so"; sp: "cc.sp"; sq: "cc.sq"; sr: "cc.sr"; ss: "cc.ss"; st: "cc.st"; su: "cc.su"; sv: "cc.sv"; sw: "cc.sw"; sx: "cc.sx"; sy: "cc.sy"; sz: "cc.sz"; ta: "cc.ta"; tb: "cc.tb"; tc: "cc.tc"; td: "cc.td"; te: "cc.te"; tf: "cc.tf"; tg: "cc.tg"; th: "cc.th"; ti: "cc.ti"; tj: "cc.tj"; tk: "cc.tk"; tl: "cc.tl"; tm: "cc.tm"; tn: "cc.tn"; to: "cc.to"; tp: "cc.tp"; tq: "cc.tq"; tr: "cc.tr"; ts: "cc.ts"; tt: "cc.tt"; tu: "cc.tu"; tv: "cc.tv"; tw: "cc.tw"; tx: "cc.tx"; ty: "cc.ty"; tz: "cc.tz"; ua: "cc.ua"; ub: "cc.ub"; uc: "cc.uc"; ud: "cc.ud"; ue: "cc.ue"; uf: "cc.uf"; ug: "cc.ug"; uh: "cc.uh"; ui: "cc.ui"; uj: "cc.uj"; uk: "cc.uk"; ul: "cc.ul"; um: "cc.um"; un: "cc.un"; uo: "cc.uo"; up: "cc.up"; uq: "cc.uq"; ur: "cc.ur"; us: "cc.us"; ut: "cc.ut"; uu: "cc.uu"; uv: "cc.uv"; uw: "cc.uw"; ux: "cc.ux"; uy: "cc.uy"; uz: "cc.uz"; va: "cc.va"; vb: "cc.vb"; vc: "cc.vc"; vd: "cc.vd"; ve: "cc.ve"; vf: "cc.vf"; vg: "cc.vg"; vh: "cc.vh"; vi: "cc.vi"; vj: "cc.vj"; vk: "cc.vk"; vl: "cc.vl"; vm: "cc.vm"; vn: "cc.vn"; vo: "cc.vo"; vp: "cc.vp"; vq: "cc.vq"; vr: "cc.vr"; vs: "cc.vs"; vt: "cc.vt"; vu: "cc.vu"; vv: "cc.vv"; vw: "cc.vw"; vx: "cc.vx"; vy: "cc.vy"; vz: "cc.vz"; wa: "cc.wa"; wb: "cc.wb"; wc: "cc.wc"; wd: "cc.wd"; we: "cc.we"; wf: "cc.wf"; wg: "cc.wg"; wh: "cc.wh"; wi: "cc.wi"; wj: "cc.wj"; wk: "cc.wk"; wl: "cc.wl"; wm: "cc.wm"; wn: "cc.wn"; wo: "cc.wo"; wp: "cc.wp"; wq: "cc.wq"; wr: "cc.wr"; ws: "cc.ws"; wt: "cc.wt"; wu: "cc.wu"; wv: "cc.wv"; ww: "cc.ww"; wx: "cc.wx"; wy: "cc.wy"; wz: "cc.wz"; xa: "cc.xa"; xb: "cc.xb"; xc: "cc.xc"; xd: "cc.xd"; xe: "cc.xe"; xf: "cc.xf"; xg: "cc.xg"; xh: "cc.xh"; xi: "cc.xi"; xj: "cc.xj"; xk: "cc.xk"; xl: "cc.xl"; xm: "cc.xm"; xn: "cc.xn"; xo: "cc.xo"; xp: "cc.xp"; xq: "cc.xq"; xr: "cc.xr"; xs: "cc.xs"; xt: "cc.xt"; xu: "cc.xu"; xv: "cc.xv"; xw: "cc.xw"; xx: "cc.xx"; xy: "cc.xy"; xz: "cc.xz"; ya: "cc.ya"; yb: "cc.yb"; yc: "cc.yc"; yd: "cc.yd"; ye: "cc.ye"; yf: "cc.yf"; yg: "cc.yg"; yh: "cc.yh"; yi: "cc.yi"; yj: "cc.yj"; yk: "cc.yk"; yl: "cc.yl"; ym: "cc.ym"; yn: "cc.yn"; yo: "cc.yo"; yp: "cc.yp"; yq: "cc.yq"; yr: "cc.yr"; ys: "cc.ys"; yt: "cc.yt"; yu: "cc.yu"; yv: "cc.yv"; yw: "cc.yw"; yx: "cc.yx"; yy: "cc.yy"; yz: "cc.yz"; za: "cc.za"; zb: "cc.zb"; zc: "cc.zc"; zd: "cc.zd"; ze: "cc.ze"; zf: "cc.zf"; zg: "cc.zg"; zh: "cc.zh"; zi: "cc.zi"; zj: "cc.zj"; zk: "cc.zk"; zl: "cc.zl"; zm: "cc.zm"; zn: "cc.zn"; zo: "cc.zo"; zp: "cc.zp"; zq: "cc.zq"; zr: "cc.zr"; zs: "cc.zs"; zt: "cc.zt"; zu: "cc.zu"; zv: "cc.zv"; zw: "cc.zw"; zx: "cc.zx"; zy: "cc.zy"; zz: "cc.zz"; }; cd: { aa: "cd.aa"; ab: "cd.ab"; ac: "cd.ac"; ad: "cd.ad"; ae: "cd.ae"; af: "cd.af"; ag: "cd.ag"; ah: "cd.ah"; ai: "cd.ai"; aj: "cd.aj"; ak: "cd.ak"; al: "cd.al"; am: "cd.am"; an: "cd.an"; ao: "cd.ao"; ap: "cd.ap"; aq: "cd.aq"; ar: "cd.ar"; as: "cd.as"; at: "cd.at"; au: "cd.au"; av: "cd.av"; aw: "cd.aw"; ax: "cd.ax"; ay: "cd.ay"; az: "cd.az"; ba: "cd.ba"; bb: "cd.bb"; bc: "cd.bc"; bd: "cd.bd"; be: "cd.be"; bf: "cd.bf"; bg: "cd.bg"; bh: "cd.bh"; bi: "cd.bi"; bj: "cd.bj"; bk: "cd.bk"; bl: "cd.bl"; bm: "cd.bm"; bn: "cd.bn"; bo: "cd.bo"; bp: "cd.bp"; bq: "cd.bq"; br: "cd.br"; bs: "cd.bs"; bt: "cd.bt"; bu: "cd.bu"; bv: "cd.bv"; bw: "cd.bw"; bx: "cd.bx"; by: "cd.by"; bz: "cd.bz"; ca: "cd.ca"; cb: "cd.cb"; cc: "cd.cc"; cd: "cd.cd"; ce: "cd.ce"; cf: "cd.cf"; cg: "cd.cg"; ch: "cd.ch"; ci: "cd.ci"; cj: "cd.cj"; ck: "cd.ck"; cl: "cd.cl"; cm: "cd.cm"; cn: "cd.cn"; co: "cd.co"; cp: "cd.cp"; cq: "cd.cq"; cr: "cd.cr"; cs: "cd.cs"; ct: "cd.ct"; cu: "cd.cu"; cv: "cd.cv"; cw: "cd.cw"; cx: "cd.cx"; cy: "cd.cy"; cz: "cd.cz"; da: "cd.da"; db: "cd.db"; dc: "cd.dc"; dd: "cd.dd"; de: "cd.de"; df: "cd.df"; dg: "cd.dg"; dh: "cd.dh"; di: "cd.di"; dj: "cd.dj"; dk: "cd.dk"; dl: "cd.dl"; dm: "cd.dm"; dn: "cd.dn"; do: "cd.do"; dp: "cd.dp"; dq: "cd.dq"; dr: "cd.dr"; ds: "cd.ds"; dt: "cd.dt"; du: "cd.du"; dv: "cd.dv"; dw: "cd.dw"; dx: "cd.dx"; dy: "cd.dy"; dz: "cd.dz"; ea: "cd.ea"; eb: "cd.eb"; ec: "cd.ec"; ed: "cd.ed"; ee: "cd.ee"; ef: "cd.ef"; eg: "cd.eg"; eh: "cd.eh"; ei: "cd.ei"; ej: "cd.ej"; ek: "cd.ek"; el: "cd.el"; em: "cd.em"; en: "cd.en"; eo: "cd.eo"; ep: "cd.ep"; eq: "cd.eq"; er: "cd.er"; es: "cd.es"; et: "cd.et"; eu: "cd.eu"; ev: "cd.ev"; ew: "cd.ew"; ex: "cd.ex"; ey: "cd.ey"; ez: "cd.ez"; fa: "cd.fa"; fb: "cd.fb"; fc: "cd.fc"; fd: "cd.fd"; fe: "cd.fe"; ff: "cd.ff"; fg: "cd.fg"; fh: "cd.fh"; fi: "cd.fi"; fj: "cd.fj"; fk: "cd.fk"; fl: "cd.fl"; fm: "cd.fm"; fn: "cd.fn"; fo: "cd.fo"; fp: "cd.fp"; fq: "cd.fq"; fr: "cd.fr"; fs: "cd.fs"; ft: "cd.ft"; fu: "cd.fu"; fv: "cd.fv"; fw: "cd.fw"; fx: "cd.fx"; fy: "cd.fy"; fz: "cd.fz"; ga: "cd.ga"; gb: "cd.gb"; gc: "cd.gc"; gd: "cd.gd"; ge: "cd.ge"; gf: "cd.gf"; gg: "cd.gg"; gh: "cd.gh"; gi: "cd.gi"; gj: "cd.gj"; gk: "cd.gk"; gl: "cd.gl"; gm: "cd.gm"; gn: "cd.gn"; go: "cd.go"; gp: "cd.gp"; gq: "cd.gq"; gr: "cd.gr"; gs: "cd.gs"; gt: "cd.gt"; gu: "cd.gu"; gv: "cd.gv"; gw: "cd.gw"; gx: "cd.gx"; gy: "cd.gy"; gz: "cd.gz"; ha: "cd.ha"; hb: "cd.hb"; hc: "cd.hc"; hd: "cd.hd"; he: "cd.he"; hf: "cd.hf"; hg: "cd.hg"; hh: "cd.hh"; hi: "cd.hi"; hj: "cd.hj"; hk: "cd.hk"; hl: "cd.hl"; hm: "cd.hm"; hn: "cd.hn"; ho: "cd.ho"; hp: "cd.hp"; hq: "cd.hq"; hr: "cd.hr"; hs: "cd.hs"; ht: "cd.ht"; hu: "cd.hu"; hv: "cd.hv"; hw: "cd.hw"; hx: "cd.hx"; hy: "cd.hy"; hz: "cd.hz"; ia: "cd.ia"; ib: "cd.ib"; ic: "cd.ic"; id: "cd.id"; ie: "cd.ie"; if: "cd.if"; ig: "cd.ig"; ih: "cd.ih"; ii: "cd.ii"; ij: "cd.ij"; ik: "cd.ik"; il: "cd.il"; im: "cd.im"; in: "cd.in"; io: "cd.io"; ip: "cd.ip"; iq: "cd.iq"; ir: "cd.ir"; is: "cd.is"; it: "cd.it"; iu: "cd.iu"; iv: "cd.iv"; iw: "cd.iw"; ix: "cd.ix"; iy: "cd.iy"; iz: "cd.iz"; ja: "cd.ja"; jb: "cd.jb"; jc: "cd.jc"; jd: "cd.jd"; je: "cd.je"; jf: "cd.jf"; jg: "cd.jg"; jh: "cd.jh"; ji: "cd.ji"; jj: "cd.jj"; jk: "cd.jk"; jl: "cd.jl"; jm: "cd.jm"; jn: "cd.jn"; jo: "cd.jo"; jp: "cd.jp"; jq: "cd.jq"; jr: "cd.jr"; js: "cd.js"; jt: "cd.jt"; ju: "cd.ju"; jv: "cd.jv"; jw: "cd.jw"; jx: "cd.jx"; jy: "cd.jy"; jz: "cd.jz"; ka: "cd.ka"; kb: "cd.kb"; kc: "cd.kc"; kd: "cd.kd"; ke: "cd.ke"; kf: "cd.kf"; kg: "cd.kg"; kh: "cd.kh"; ki: "cd.ki"; kj: "cd.kj"; kk: "cd.kk"; kl: "cd.kl"; km: "cd.km"; kn: "cd.kn"; ko: "cd.ko"; kp: "cd.kp"; kq: "cd.kq"; kr: "cd.kr"; ks: "cd.ks"; kt: "cd.kt"; ku: "cd.ku"; kv: "cd.kv"; kw: "cd.kw"; kx: "cd.kx"; ky: "cd.ky"; kz: "cd.kz"; la: "cd.la"; lb: "cd.lb"; lc: "cd.lc"; ld: "cd.ld"; le: "cd.le"; lf: "cd.lf"; lg: "cd.lg"; lh: "cd.lh"; li: "cd.li"; lj: "cd.lj"; lk: "cd.lk"; ll: "cd.ll"; lm: "cd.lm"; ln: "cd.ln"; lo: "cd.lo"; lp: "cd.lp"; lq: "cd.lq"; lr: "cd.lr"; ls: "cd.ls"; lt: "cd.lt"; lu: "cd.lu"; lv: "cd.lv"; lw: "cd.lw"; lx: "cd.lx"; ly: "cd.ly"; lz: "cd.lz"; ma: "cd.ma"; mb: "cd.mb"; mc: "cd.mc"; md: "cd.md"; me: "cd.me"; mf: "cd.mf"; mg: "cd.mg"; mh: "cd.mh"; mi: "cd.mi"; mj: "cd.mj"; mk: "cd.mk"; ml: "cd.ml"; mm: "cd.mm"; mn: "cd.mn"; mo: "cd.mo"; mp: "cd.mp"; mq: "cd.mq"; mr: "cd.mr"; ms: "cd.ms"; mt: "cd.mt"; mu: "cd.mu"; mv: "cd.mv"; mw: "cd.mw"; mx: "cd.mx"; my: "cd.my"; mz: "cd.mz"; na: "cd.na"; nb: "cd.nb"; nc: "cd.nc"; nd: "cd.nd"; ne: "cd.ne"; nf: "cd.nf"; ng: "cd.ng"; nh: "cd.nh"; ni: "cd.ni"; nj: "cd.nj"; nk: "cd.nk"; nl: "cd.nl"; nm: "cd.nm"; nn: "cd.nn"; no: "cd.no"; np: "cd.np"; nq: "cd.nq"; nr: "cd.nr"; ns: "cd.ns"; nt: "cd.nt"; nu: "cd.nu"; nv: "cd.nv"; nw: "cd.nw"; nx: "cd.nx"; ny: "cd.ny"; nz: "cd.nz"; oa: "cd.oa"; ob: "cd.ob"; oc: "cd.oc"; od: "cd.od"; oe: "cd.oe"; of: "cd.of"; og: "cd.og"; oh: "cd.oh"; oi: "cd.oi"; oj: "cd.oj"; ok: "cd.ok"; ol: "cd.ol"; om: "cd.om"; on: "cd.on"; oo: "cd.oo"; op: "cd.op"; oq: "cd.oq"; or: "cd.or"; os: "cd.os"; ot: "cd.ot"; ou: "cd.ou"; ov: "cd.ov"; ow: "cd.ow"; ox: "cd.ox"; oy: "cd.oy"; oz: "cd.oz"; pa: "cd.pa"; pb: "cd.pb"; pc: "cd.pc"; pd: "cd.pd"; pe: "cd.pe"; pf: "cd.pf"; pg: "cd.pg"; ph: "cd.ph"; pi: "cd.pi"; pj: "cd.pj"; pk: "cd.pk"; pl: "cd.pl"; pm: "cd.pm"; pn: "cd.pn"; po: "cd.po"; pp: "cd.pp"; pq: "cd.pq"; pr: "cd.pr"; ps: "cd.ps"; pt: "cd.pt"; pu: "cd.pu"; pv: "cd.pv"; pw: "cd.pw"; px: "cd.px"; py: "cd.py"; pz: "cd.pz"; qa: "cd.qa"; qb: "cd.qb"; qc: "cd.qc"; qd: "cd.qd"; qe: "cd.qe"; qf: "cd.qf"; qg: "cd.qg"; qh: "cd.qh"; qi: "cd.qi"; qj: "cd.qj"; qk: "cd.qk"; ql: "cd.ql"; qm: "cd.qm"; qn: "cd.qn"; qo: "cd.qo"; qp: "cd.qp"; qq: "cd.qq"; qr: "cd.qr"; qs: "cd.qs"; qt: "cd.qt"; qu: "cd.qu"; qv: "cd.qv"; qw: "cd.qw"; qx: "cd.qx"; qy: "cd.qy"; qz: "cd.qz"; ra: "cd.ra"; rb: "cd.rb"; rc: "cd.rc"; rd: "cd.rd"; re: "cd.re"; rf: "cd.rf"; rg: "cd.rg"; rh: "cd.rh"; ri: "cd.ri"; rj: "cd.rj"; rk: "cd.rk"; rl: "cd.rl"; rm: "cd.rm"; rn: "cd.rn"; ro: "cd.ro"; rp: "cd.rp"; rq: "cd.rq"; rr: "cd.rr"; rs: "cd.rs"; rt: "cd.rt"; ru: "cd.ru"; rv: "cd.rv"; rw: "cd.rw"; rx: "cd.rx"; ry: "cd.ry"; rz: "cd.rz"; sa: "cd.sa"; sb: "cd.sb"; sc: "cd.sc"; sd: "cd.sd"; se: "cd.se"; sf: "cd.sf"; sg: "cd.sg"; sh: "cd.sh"; si: "cd.si"; sj: "cd.sj"; sk: "cd.sk"; sl: "cd.sl"; sm: "cd.sm"; sn: "cd.sn"; so: "cd.so"; sp: "cd.sp"; sq: "cd.sq"; sr: "cd.sr"; ss: "cd.ss"; st: "cd.st"; su: "cd.su"; sv: "cd.sv"; sw: "cd.sw"; sx: "cd.sx"; sy: "cd.sy"; sz: "cd.sz"; ta: "cd.ta"; tb: "cd.tb"; tc: "cd.tc"; td: "cd.td"; te: "cd.te"; tf: "cd.tf"; tg: "cd.tg"; th: "cd.th"; ti: "cd.ti"; tj: "cd.tj"; tk: "cd.tk"; tl: "cd.tl"; tm: "cd.tm"; tn: "cd.tn"; to: "cd.to"; tp: "cd.tp"; tq: "cd.tq"; tr: "cd.tr"; ts: "cd.ts"; tt: "cd.tt"; tu: "cd.tu"; tv: "cd.tv"; tw: "cd.tw"; tx: "cd.tx"; ty: "cd.ty"; tz: "cd.tz"; ua: "cd.ua"; ub: "cd.ub"; uc: "cd.uc"; ud: "cd.ud"; ue: "cd.ue"; uf: "cd.uf"; ug: "cd.ug"; uh: "cd.uh"; ui: "cd.ui"; uj: "cd.uj"; uk: "cd.uk"; ul: "cd.ul"; um: "cd.um"; un: "cd.un"; uo: "cd.uo"; up: "cd.up"; uq: "cd.uq"; ur: "cd.ur"; us: "cd.us"; ut: "cd.ut"; uu: "cd.uu"; uv: "cd.uv"; uw: "cd.uw"; ux: "cd.ux"; uy: "cd.uy"; uz: "cd.uz"; va: "cd.va"; vb: "cd.vb"; vc: "cd.vc"; vd: "cd.vd"; ve: "cd.ve"; vf: "cd.vf"; vg: "cd.vg"; vh: "cd.vh"; vi: "cd.vi"; vj: "cd.vj"; vk: "cd.vk"; vl: "cd.vl"; vm: "cd.vm"; vn: "cd.vn"; vo: "cd.vo"; vp: "cd.vp"; vq: "cd.vq"; vr: "cd.vr"; vs: "cd.vs"; vt: "cd.vt"; vu: "cd.vu"; vv: "cd.vv"; vw: "cd.vw"; vx: "cd.vx"; vy: "cd.vy"; vz: "cd.vz"; wa: "cd.wa"; wb: "cd.wb"; wc: "cd.wc"; wd: "cd.wd"; we: "cd.we"; wf: "cd.wf"; wg: "cd.wg"; wh: "cd.wh"; wi: "cd.wi"; wj: "cd.wj"; wk: "cd.wk"; wl: "cd.wl"; wm: "cd.wm"; wn: "cd.wn"; wo: "cd.wo"; wp: "cd.wp"; wq: "cd.wq"; wr: "cd.wr"; ws: "cd.ws"; wt: "cd.wt"; wu: "cd.wu"; wv: "cd.wv"; ww: "cd.ww"; wx: "cd.wx"; wy: "cd.wy"; wz: "cd.wz"; xa: "cd.xa"; xb: "cd.xb"; xc: "cd.xc"; xd: "cd.xd"; xe: "cd.xe"; xf: "cd.xf"; xg: "cd.xg"; xh: "cd.xh"; xi: "cd.xi"; xj: "cd.xj"; xk: "cd.xk"; xl: "cd.xl"; xm: "cd.xm"; xn: "cd.xn"; xo: "cd.xo"; xp: "cd.xp"; xq: "cd.xq"; xr: "cd.xr"; xs: "cd.xs"; xt: "cd.xt"; xu: "cd.xu"; xv: "cd.xv"; xw: "cd.xw"; xx: "cd.xx"; xy: "cd.xy"; xz: "cd.xz"; ya: "cd.ya"; yb: "cd.yb"; yc: "cd.yc"; yd: "cd.yd"; ye: "cd.ye"; yf: "cd.yf"; yg: "cd.yg"; yh: "cd.yh"; yi: "cd.yi"; yj: "cd.yj"; yk: "cd.yk"; yl: "cd.yl"; ym: "cd.ym"; yn: "cd.yn"; yo: "cd.yo"; yp: "cd.yp"; yq: "cd.yq"; yr: "cd.yr"; ys: "cd.ys"; yt: "cd.yt"; yu: "cd.yu"; yv: "cd.yv"; yw: "cd.yw"; yx: "cd.yx"; yy: "cd.yy"; yz: "cd.yz"; za: "cd.za"; zb: "cd.zb"; zc: "cd.zc"; zd: "cd.zd"; ze: "cd.ze"; zf: "cd.zf"; zg: "cd.zg"; zh: "cd.zh"; zi: "cd.zi"; zj: "cd.zj"; zk: "cd.zk"; zl: "cd.zl"; zm: "cd.zm"; zn: "cd.zn"; zo: "cd.zo"; zp: "cd.zp"; zq: "cd.zq"; zr: "cd.zr"; zs: "cd.zs"; zt: "cd.zt"; zu: "cd.zu"; zv: "cd.zv"; zw: "cd.zw"; zx: "cd.zx"; zy: "cd.zy"; zz: "cd.zz"; }; ce: { aa: "ce.aa"; ab: "ce.ab"; ac: "ce.ac"; ad: "ce.ad"; ae: "ce.ae"; af: "ce.af"; ag: "ce.ag"; ah: "ce.ah"; ai: "ce.ai"; aj: "ce.aj"; ak: "ce.ak"; al: "ce.al"; am: "ce.am"; an: "ce.an"; ao: "ce.ao"; ap: "ce.ap"; aq: "ce.aq"; ar: "ce.ar"; as: "ce.as"; at: "ce.at"; au: "ce.au"; av: "ce.av"; aw: "ce.aw"; ax: "ce.ax"; ay: "ce.ay"; az: "ce.az"; ba: "ce.ba"; bb: "ce.bb"; bc: "ce.bc"; bd: "ce.bd"; be: "ce.be"; bf: "ce.bf"; bg: "ce.bg"; bh: "ce.bh"; bi: "ce.bi"; bj: "ce.bj"; bk: "ce.bk"; bl: "ce.bl"; bm: "ce.bm"; bn: "ce.bn"; bo: "ce.bo"; bp: "ce.bp"; bq: "ce.bq"; br: "ce.br"; bs: "ce.bs"; bt: "ce.bt"; bu: "ce.bu"; bv: "ce.bv"; bw: "ce.bw"; bx: "ce.bx"; by: "ce.by"; bz: "ce.bz"; ca: "ce.ca"; cb: "ce.cb"; cc: "ce.cc"; cd: "ce.cd"; ce: "ce.ce"; cf: "ce.cf"; cg: "ce.cg"; ch: "ce.ch"; ci: "ce.ci"; cj: "ce.cj"; ck: "ce.ck"; cl: "ce.cl"; cm: "ce.cm"; cn: "ce.cn"; co: "ce.co"; cp: "ce.cp"; cq: "ce.cq"; cr: "ce.cr"; cs: "ce.cs"; ct: "ce.ct"; cu: "ce.cu"; cv: "ce.cv"; cw: "ce.cw"; cx: "ce.cx"; cy: "ce.cy"; cz: "ce.cz"; da: "ce.da"; db: "ce.db"; dc: "ce.dc"; dd: "ce.dd"; de: "ce.de"; df: "ce.df"; dg: "ce.dg"; dh: "ce.dh"; di: "ce.di"; dj: "ce.dj"; dk: "ce.dk"; dl: "ce.dl"; dm: "ce.dm"; dn: "ce.dn"; do: "ce.do"; dp: "ce.dp"; dq: "ce.dq"; dr: "ce.dr"; ds: "ce.ds"; dt: "ce.dt"; du: "ce.du"; dv: "ce.dv"; dw: "ce.dw"; dx: "ce.dx"; dy: "ce.dy"; dz: "ce.dz"; ea: "ce.ea"; eb: "ce.eb"; ec: "ce.ec"; ed: "ce.ed"; ee: "ce.ee"; ef: "ce.ef"; eg: "ce.eg"; eh: "ce.eh"; ei: "ce.ei"; ej: "ce.ej"; ek: "ce.ek"; el: "ce.el"; em: "ce.em"; en: "ce.en"; eo: "ce.eo"; ep: "ce.ep"; eq: "ce.eq"; er: "ce.er"; es: "ce.es"; et: "ce.et"; eu: "ce.eu"; ev: "ce.ev"; ew: "ce.ew"; ex: "ce.ex"; ey: "ce.ey"; ez: "ce.ez"; fa: "ce.fa"; fb: "ce.fb"; fc: "ce.fc"; fd: "ce.fd"; fe: "ce.fe"; ff: "ce.ff"; fg: "ce.fg"; fh: "ce.fh"; fi: "ce.fi"; fj: "ce.fj"; fk: "ce.fk"; fl: "ce.fl"; fm: "ce.fm"; fn: "ce.fn"; fo: "ce.fo"; fp: "ce.fp"; fq: "ce.fq"; fr: "ce.fr"; fs: "ce.fs"; ft: "ce.ft"; fu: "ce.fu"; fv: "ce.fv"; fw: "ce.fw"; fx: "ce.fx"; fy: "ce.fy"; fz: "ce.fz"; ga: "ce.ga"; gb: "ce.gb"; gc: "ce.gc"; gd: "ce.gd"; ge: "ce.ge"; gf: "ce.gf"; gg: "ce.gg"; gh: "ce.gh"; gi: "ce.gi"; gj: "ce.gj"; gk: "ce.gk"; gl: "ce.gl"; gm: "ce.gm"; gn: "ce.gn"; go: "ce.go"; gp: "ce.gp"; gq: "ce.gq"; gr: "ce.gr"; gs: "ce.gs"; gt: "ce.gt"; gu: "ce.gu"; gv: "ce.gv"; gw: "ce.gw"; gx: "ce.gx"; gy: "ce.gy"; gz: "ce.gz"; ha: "ce.ha"; hb: "ce.hb"; hc: "ce.hc"; hd: "ce.hd"; he: "ce.he"; hf: "ce.hf"; hg: "ce.hg"; hh: "ce.hh"; hi: "ce.hi"; hj: "ce.hj"; hk: "ce.hk"; hl: "ce.hl"; hm: "ce.hm"; hn: "ce.hn"; ho: "ce.ho"; hp: "ce.hp"; hq: "ce.hq"; hr: "ce.hr"; hs: "ce.hs"; ht: "ce.ht"; hu: "ce.hu"; hv: "ce.hv"; hw: "ce.hw"; hx: "ce.hx"; hy: "ce.hy"; hz: "ce.hz"; ia: "ce.ia"; ib: "ce.ib"; ic: "ce.ic"; id: "ce.id"; ie: "ce.ie"; if: "ce.if"; ig: "ce.ig"; ih: "ce.ih"; ii: "ce.ii"; ij: "ce.ij"; ik: "ce.ik"; il: "ce.il"; im: "ce.im"; in: "ce.in"; io: "ce.io"; ip: "ce.ip"; iq: "ce.iq"; ir: "ce.ir"; is: "ce.is"; it: "ce.it"; iu: "ce.iu"; iv: "ce.iv"; iw: "ce.iw"; ix: "ce.ix"; iy: "ce.iy"; iz: "ce.iz"; ja: "ce.ja"; jb: "ce.jb"; jc: "ce.jc"; jd: "ce.jd"; je: "ce.je"; jf: "ce.jf"; jg: "ce.jg"; jh: "ce.jh"; ji: "ce.ji"; jj: "ce.jj"; jk: "ce.jk"; jl: "ce.jl"; jm: "ce.jm"; jn: "ce.jn"; jo: "ce.jo"; jp: "ce.jp"; jq: "ce.jq"; jr: "ce.jr"; js: "ce.js"; jt: "ce.jt"; ju: "ce.ju"; jv: "ce.jv"; jw: "ce.jw"; jx: "ce.jx"; jy: "ce.jy"; jz: "ce.jz"; ka: "ce.ka"; kb: "ce.kb"; kc: "ce.kc"; kd: "ce.kd"; ke: "ce.ke"; kf: "ce.kf"; kg: "ce.kg"; kh: "ce.kh"; ki: "ce.ki"; kj: "ce.kj"; kk: "ce.kk"; kl: "ce.kl"; km: "ce.km"; kn: "ce.kn"; ko: "ce.ko"; kp: "ce.kp"; kq: "ce.kq"; kr: "ce.kr"; ks: "ce.ks"; kt: "ce.kt"; ku: "ce.ku"; kv: "ce.kv"; kw: "ce.kw"; kx: "ce.kx"; ky: "ce.ky"; kz: "ce.kz"; la: "ce.la"; lb: "ce.lb"; lc: "ce.lc"; ld: "ce.ld"; le: "ce.le"; lf: "ce.lf"; lg: "ce.lg"; lh: "ce.lh"; li: "ce.li"; lj: "ce.lj"; lk: "ce.lk"; ll: "ce.ll"; lm: "ce.lm"; ln: "ce.ln"; lo: "ce.lo"; lp: "ce.lp"; lq: "ce.lq"; lr: "ce.lr"; ls: "ce.ls"; lt: "ce.lt"; lu: "ce.lu"; lv: "ce.lv"; lw: "ce.lw"; lx: "ce.lx"; ly: "ce.ly"; lz: "ce.lz"; ma: "ce.ma"; mb: "ce.mb"; mc: "ce.mc"; md: "ce.md"; me: "ce.me"; mf: "ce.mf"; mg: "ce.mg"; mh: "ce.mh"; mi: "ce.mi"; mj: "ce.mj"; mk: "ce.mk"; ml: "ce.ml"; mm: "ce.mm"; mn: "ce.mn"; mo: "ce.mo"; mp: "ce.mp"; mq: "ce.mq"; mr: "ce.mr"; ms: "ce.ms"; mt: "ce.mt"; mu: "ce.mu"; mv: "ce.mv"; mw: "ce.mw"; mx: "ce.mx"; my: "ce.my"; mz: "ce.mz"; na: "ce.na"; nb: "ce.nb"; nc: "ce.nc"; nd: "ce.nd"; ne: "ce.ne"; nf: "ce.nf"; ng: "ce.ng"; nh: "ce.nh"; ni: "ce.ni"; nj: "ce.nj"; nk: "ce.nk"; nl: "ce.nl"; nm: "ce.nm"; nn: "ce.nn"; no: "ce.no"; np: "ce.np"; nq: "ce.nq"; nr: "ce.nr"; ns: "ce.ns"; nt: "ce.nt"; nu: "ce.nu"; nv: "ce.nv"; nw: "ce.nw"; nx: "ce.nx"; ny: "ce.ny"; nz: "ce.nz"; oa: "ce.oa"; ob: "ce.ob"; oc: "ce.oc"; od: "ce.od"; oe: "ce.oe"; of: "ce.of"; og: "ce.og"; oh: "ce.oh"; oi: "ce.oi"; oj: "ce.oj"; ok: "ce.ok"; ol: "ce.ol"; om: "ce.om"; on: "ce.on"; oo: "ce.oo"; op: "ce.op"; oq: "ce.oq"; or: "ce.or"; os: "ce.os"; ot: "ce.ot"; ou: "ce.ou"; ov: "ce.ov"; ow: "ce.ow"; ox: "ce.ox"; oy: "ce.oy"; oz: "ce.oz"; pa: "ce.pa"; pb: "ce.pb"; pc: "ce.pc"; pd: "ce.pd"; pe: "ce.pe"; pf: "ce.pf"; pg: "ce.pg"; ph: "ce.ph"; pi: "ce.pi"; pj: "ce.pj"; pk: "ce.pk"; pl: "ce.pl"; pm: "ce.pm"; pn: "ce.pn"; po: "ce.po"; pp: "ce.pp"; pq: "ce.pq"; pr: "ce.pr"; ps: "ce.ps"; pt: "ce.pt"; pu: "ce.pu"; pv: "ce.pv"; pw: "ce.pw"; px: "ce.px"; py: "ce.py"; pz: "ce.pz"; qa: "ce.qa"; qb: "ce.qb"; qc: "ce.qc"; qd: "ce.qd"; qe: "ce.qe"; qf: "ce.qf"; qg: "ce.qg"; qh: "ce.qh"; qi: "ce.qi"; qj: "ce.qj"; qk: "ce.qk"; ql: "ce.ql"; qm: "ce.qm"; qn: "ce.qn"; qo: "ce.qo"; qp: "ce.qp"; qq: "ce.qq"; qr: "ce.qr"; qs: "ce.qs"; qt: "ce.qt"; qu: "ce.qu"; qv: "ce.qv"; qw: "ce.qw"; qx: "ce.qx"; qy: "ce.qy"; qz: "ce.qz"; ra: "ce.ra"; rb: "ce.rb"; rc: "ce.rc"; rd: "ce.rd"; re: "ce.re"; rf: "ce.rf"; rg: "ce.rg"; rh: "ce.rh"; ri: "ce.ri"; rj: "ce.rj"; rk: "ce.rk"; rl: "ce.rl"; rm: "ce.rm"; rn: "ce.rn"; ro: "ce.ro"; rp: "ce.rp"; rq: "ce.rq"; rr: "ce.rr"; rs: "ce.rs"; rt: "ce.rt"; ru: "ce.ru"; rv: "ce.rv"; rw: "ce.rw"; rx: "ce.rx"; ry: "ce.ry"; rz: "ce.rz"; sa: "ce.sa"; sb: "ce.sb"; sc: "ce.sc"; sd: "ce.sd"; se: "ce.se"; sf: "ce.sf"; sg: "ce.sg"; sh: "ce.sh"; si: "ce.si"; sj: "ce.sj"; sk: "ce.sk"; sl: "ce.sl"; sm: "ce.sm"; sn: "ce.sn"; so: "ce.so"; sp: "ce.sp"; sq: "ce.sq"; sr: "ce.sr"; ss: "ce.ss"; st: "ce.st"; su: "ce.su"; sv: "ce.sv"; sw: "ce.sw"; sx: "ce.sx"; sy: "ce.sy"; sz: "ce.sz"; ta: "ce.ta"; tb: "ce.tb"; tc: "ce.tc"; td: "ce.td"; te: "ce.te"; tf: "ce.tf"; tg: "ce.tg"; th: "ce.th"; ti: "ce.ti"; tj: "ce.tj"; tk: "ce.tk"; tl: "ce.tl"; tm: "ce.tm"; tn: "ce.tn"; to: "ce.to"; tp: "ce.tp"; tq: "ce.tq"; tr: "ce.tr"; ts: "ce.ts"; tt: "ce.tt"; tu: "ce.tu"; tv: "ce.tv"; tw: "ce.tw"; tx: "ce.tx"; ty: "ce.ty"; tz: "ce.tz"; ua: "ce.ua"; ub: "ce.ub"; uc: "ce.uc"; ud: "ce.ud"; ue: "ce.ue"; uf: "ce.uf"; ug: "ce.ug"; uh: "ce.uh"; ui: "ce.ui"; uj: "ce.uj"; uk: "ce.uk"; ul: "ce.ul"; um: "ce.um"; un: "ce.un"; uo: "ce.uo"; up: "ce.up"; uq: "ce.uq"; ur: "ce.ur"; us: "ce.us"; ut: "ce.ut"; uu: "ce.uu"; uv: "ce.uv"; uw: "ce.uw"; ux: "ce.ux"; uy: "ce.uy"; uz: "ce.uz"; va: "ce.va"; vb: "ce.vb"; vc: "ce.vc"; vd: "ce.vd"; ve: "ce.ve"; vf: "ce.vf"; vg: "ce.vg"; vh: "ce.vh"; vi: "ce.vi"; vj: "ce.vj"; vk: "ce.vk"; vl: "ce.vl"; vm: "ce.vm"; vn: "ce.vn"; vo: "ce.vo"; vp: "ce.vp"; vq: "ce.vq"; vr: "ce.vr"; vs: "ce.vs"; vt: "ce.vt"; vu: "ce.vu"; vv: "ce.vv"; vw: "ce.vw"; vx: "ce.vx"; vy: "ce.vy"; vz: "ce.vz"; wa: "ce.wa"; wb: "ce.wb"; wc: "ce.wc"; wd: "ce.wd"; we: "ce.we"; wf: "ce.wf"; wg: "ce.wg"; wh: "ce.wh"; wi: "ce.wi"; wj: "ce.wj"; wk: "ce.wk"; wl: "ce.wl"; wm: "ce.wm"; wn: "ce.wn"; wo: "ce.wo"; wp: "ce.wp"; wq: "ce.wq"; wr: "ce.wr"; ws: "ce.ws"; wt: "ce.wt"; wu: "ce.wu"; wv: "ce.wv"; ww: "ce.ww"; wx: "ce.wx"; wy: "ce.wy"; wz: "ce.wz"; xa: "ce.xa"; xb: "ce.xb"; xc: "ce.xc"; xd: "ce.xd"; xe: "ce.xe"; xf: "ce.xf"; xg: "ce.xg"; xh: "ce.xh"; xi: "ce.xi"; xj: "ce.xj"; xk: "ce.xk"; xl: "ce.xl"; xm: "ce.xm"; xn: "ce.xn"; xo: "ce.xo"; xp: "ce.xp"; xq: "ce.xq"; xr: "ce.xr"; xs: "ce.xs"; xt: "ce.xt"; xu: "ce.xu"; xv: "ce.xv"; xw: "ce.xw"; xx: "ce.xx"; xy: "ce.xy"; xz: "ce.xz"; ya: "ce.ya"; yb: "ce.yb"; yc: "ce.yc"; yd: "ce.yd"; ye: "ce.ye"; yf: "ce.yf"; yg: "ce.yg"; yh: "ce.yh"; yi: "ce.yi"; yj: "ce.yj"; yk: "ce.yk"; yl: "ce.yl"; ym: "ce.ym"; yn: "ce.yn"; yo: "ce.yo"; yp: "ce.yp"; yq: "ce.yq"; yr: "ce.yr"; ys: "ce.ys"; yt: "ce.yt"; yu: "ce.yu"; yv: "ce.yv"; yw: "ce.yw"; yx: "ce.yx"; yy: "ce.yy"; yz: "ce.yz"; za: "ce.za"; zb: "ce.zb"; zc: "ce.zc"; zd: "ce.zd"; ze: "ce.ze"; zf: "ce.zf"; zg: "ce.zg"; zh: "ce.zh"; zi: "ce.zi"; zj: "ce.zj"; zk: "ce.zk"; zl: "ce.zl"; zm: "ce.zm"; zn: "ce.zn"; zo: "ce.zo"; zp: "ce.zp"; zq: "ce.zq"; zr: "ce.zr"; zs: "ce.zs"; zt: "ce.zt"; zu: "ce.zu"; zv: "ce.zv"; zw: "ce.zw"; zx: "ce.zx"; zy: "ce.zy"; zz: "ce.zz"; }; cf: { aa: "cf.aa"; ab: "cf.ab"; ac: "cf.ac"; ad: "cf.ad"; ae: "cf.ae"; af: "cf.af"; ag: "cf.ag"; ah: "cf.ah"; ai: "cf.ai"; aj: "cf.aj"; ak: "cf.ak"; al: "cf.al"; am: "cf.am"; an: "cf.an"; ao: "cf.ao"; ap: "cf.ap"; aq: "cf.aq"; ar: "cf.ar"; as: "cf.as"; at: "cf.at"; au: "cf.au"; av: "cf.av"; aw: "cf.aw"; ax: "cf.ax"; ay: "cf.ay"; az: "cf.az"; ba: "cf.ba"; bb: "cf.bb"; bc: "cf.bc"; bd: "cf.bd"; be: "cf.be"; bf: "cf.bf"; bg: "cf.bg"; bh: "cf.bh"; bi: "cf.bi"; bj: "cf.bj"; bk: "cf.bk"; bl: "cf.bl"; bm: "cf.bm"; bn: "cf.bn"; bo: "cf.bo"; bp: "cf.bp"; bq: "cf.bq"; br: "cf.br"; bs: "cf.bs"; bt: "cf.bt"; bu: "cf.bu"; bv: "cf.bv"; bw: "cf.bw"; bx: "cf.bx"; by: "cf.by"; bz: "cf.bz"; ca: "cf.ca"; cb: "cf.cb"; cc: "cf.cc"; cd: "cf.cd"; ce: "cf.ce"; cf: "cf.cf"; cg: "cf.cg"; ch: "cf.ch"; ci: "cf.ci"; cj: "cf.cj"; ck: "cf.ck"; cl: "cf.cl"; cm: "cf.cm"; cn: "cf.cn"; co: "cf.co"; cp: "cf.cp"; cq: "cf.cq"; cr: "cf.cr"; cs: "cf.cs"; ct: "cf.ct"; cu: "cf.cu"; cv: "cf.cv"; cw: "cf.cw"; cx: "cf.cx"; cy: "cf.cy"; cz: "cf.cz"; da: "cf.da"; db: "cf.db"; dc: "cf.dc"; dd: "cf.dd"; de: "cf.de"; df: "cf.df"; dg: "cf.dg"; dh: "cf.dh"; di: "cf.di"; dj: "cf.dj"; dk: "cf.dk"; dl: "cf.dl"; dm: "cf.dm"; dn: "cf.dn"; do: "cf.do"; dp: "cf.dp"; dq: "cf.dq"; dr: "cf.dr"; ds: "cf.ds"; dt: "cf.dt"; du: "cf.du"; dv: "cf.dv"; dw: "cf.dw"; dx: "cf.dx"; dy: "cf.dy"; dz: "cf.dz"; ea: "cf.ea"; eb: "cf.eb"; ec: "cf.ec"; ed: "cf.ed"; ee: "cf.ee"; ef: "cf.ef"; eg: "cf.eg"; eh: "cf.eh"; ei: "cf.ei"; ej: "cf.ej"; ek: "cf.ek"; el: "cf.el"; em: "cf.em"; en: "cf.en"; eo: "cf.eo"; ep: "cf.ep"; eq: "cf.eq"; er: "cf.er"; es: "cf.es"; et: "cf.et"; eu: "cf.eu"; ev: "cf.ev"; ew: "cf.ew"; ex: "cf.ex"; ey: "cf.ey"; ez: "cf.ez"; fa: "cf.fa"; fb: "cf.fb"; fc: "cf.fc"; fd: "cf.fd"; fe: "cf.fe"; ff: "cf.ff"; fg: "cf.fg"; fh: "cf.fh"; fi: "cf.fi"; fj: "cf.fj"; fk: "cf.fk"; fl: "cf.fl"; fm: "cf.fm"; fn: "cf.fn"; fo: "cf.fo"; fp: "cf.fp"; fq: "cf.fq"; fr: "cf.fr"; fs: "cf.fs"; ft: "cf.ft"; fu: "cf.fu"; fv: "cf.fv"; fw: "cf.fw"; fx: "cf.fx"; fy: "cf.fy"; fz: "cf.fz"; ga: "cf.ga"; gb: "cf.gb"; gc: "cf.gc"; gd: "cf.gd"; ge: "cf.ge"; gf: "cf.gf"; gg: "cf.gg"; gh: "cf.gh"; gi: "cf.gi"; gj: "cf.gj"; gk: "cf.gk"; gl: "cf.gl"; gm: "cf.gm"; gn: "cf.gn"; go: "cf.go"; gp: "cf.gp"; gq: "cf.gq"; gr: "cf.gr"; gs: "cf.gs"; gt: "cf.gt"; gu: "cf.gu"; gv: "cf.gv"; gw: "cf.gw"; gx: "cf.gx"; gy: "cf.gy"; gz: "cf.gz"; ha: "cf.ha"; hb: "cf.hb"; hc: "cf.hc"; hd: "cf.hd"; he: "cf.he"; hf: "cf.hf"; hg: "cf.hg"; hh: "cf.hh"; hi: "cf.hi"; hj: "cf.hj"; hk: "cf.hk"; hl: "cf.hl"; hm: "cf.hm"; hn: "cf.hn"; ho: "cf.ho"; hp: "cf.hp"; hq: "cf.hq"; hr: "cf.hr"; hs: "cf.hs"; ht: "cf.ht"; hu: "cf.hu"; hv: "cf.hv"; hw: "cf.hw"; hx: "cf.hx"; hy: "cf.hy"; hz: "cf.hz"; ia: "cf.ia"; ib: "cf.ib"; ic: "cf.ic"; id: "cf.id"; ie: "cf.ie"; if: "cf.if"; ig: "cf.ig"; ih: "cf.ih"; ii: "cf.ii"; ij: "cf.ij"; ik: "cf.ik"; il: "cf.il"; im: "cf.im"; in: "cf.in"; io: "cf.io"; ip: "cf.ip"; iq: "cf.iq"; ir: "cf.ir"; is: "cf.is"; it: "cf.it"; iu: "cf.iu"; iv: "cf.iv"; iw: "cf.iw"; ix: "cf.ix"; iy: "cf.iy"; iz: "cf.iz"; ja: "cf.ja"; jb: "cf.jb"; jc: "cf.jc"; jd: "cf.jd"; je: "cf.je"; jf: "cf.jf"; jg: "cf.jg"; jh: "cf.jh"; ji: "cf.ji"; jj: "cf.jj"; jk: "cf.jk"; jl: "cf.jl"; jm: "cf.jm"; jn: "cf.jn"; jo: "cf.jo"; jp: "cf.jp"; jq: "cf.jq"; jr: "cf.jr"; js: "cf.js"; jt: "cf.jt"; ju: "cf.ju"; jv: "cf.jv"; jw: "cf.jw"; jx: "cf.jx"; jy: "cf.jy"; jz: "cf.jz"; ka: "cf.ka"; kb: "cf.kb"; kc: "cf.kc"; kd: "cf.kd"; ke: "cf.ke"; kf: "cf.kf"; kg: "cf.kg"; kh: "cf.kh"; ki: "cf.ki"; kj: "cf.kj"; kk: "cf.kk"; kl: "cf.kl"; km: "cf.km"; kn: "cf.kn"; ko: "cf.ko"; kp: "cf.kp"; kq: "cf.kq"; kr: "cf.kr"; ks: "cf.ks"; kt: "cf.kt"; ku: "cf.ku"; kv: "cf.kv"; kw: "cf.kw"; kx: "cf.kx"; ky: "cf.ky"; kz: "cf.kz"; la: "cf.la"; lb: "cf.lb"; lc: "cf.lc"; ld: "cf.ld"; le: "cf.le"; lf: "cf.lf"; lg: "cf.lg"; lh: "cf.lh"; li: "cf.li"; lj: "cf.lj"; lk: "cf.lk"; ll: "cf.ll"; lm: "cf.lm"; ln: "cf.ln"; lo: "cf.lo"; lp: "cf.lp"; lq: "cf.lq"; lr: "cf.lr"; ls: "cf.ls"; lt: "cf.lt"; lu: "cf.lu"; lv: "cf.lv"; lw: "cf.lw"; lx: "cf.lx"; ly: "cf.ly"; lz: "cf.lz"; ma: "cf.ma"; mb: "cf.mb"; mc: "cf.mc"; md: "cf.md"; me: "cf.me"; mf: "cf.mf"; mg: "cf.mg"; mh: "cf.mh"; mi: "cf.mi"; mj: "cf.mj"; mk: "cf.mk"; ml: "cf.ml"; mm: "cf.mm"; mn: "cf.mn"; mo: "cf.mo"; mp: "cf.mp"; mq: "cf.mq"; mr: "cf.mr"; ms: "cf.ms"; mt: "cf.mt"; mu: "cf.mu"; mv: "cf.mv"; mw: "cf.mw"; mx: "cf.mx"; my: "cf.my"; mz: "cf.mz"; na: "cf.na"; nb: "cf.nb"; nc: "cf.nc"; nd: "cf.nd"; ne: "cf.ne"; nf: "cf.nf"; ng: "cf.ng"; nh: "cf.nh"; ni: "cf.ni"; nj: "cf.nj"; nk: "cf.nk"; nl: "cf.nl"; nm: "cf.nm"; nn: "cf.nn"; no: "cf.no"; np: "cf.np"; nq: "cf.nq"; nr: "cf.nr"; ns: "cf.ns"; nt: "cf.nt"; nu: "cf.nu"; nv: "cf.nv"; nw: "cf.nw"; nx: "cf.nx"; ny: "cf.ny"; nz: "cf.nz"; oa: "cf.oa"; ob: "cf.ob"; oc: "cf.oc"; od: "cf.od"; oe: "cf.oe"; of: "cf.of"; og: "cf.og"; oh: "cf.oh"; oi: "cf.oi"; oj: "cf.oj"; ok: "cf.ok"; ol: "cf.ol"; om: "cf.om"; on: "cf.on"; oo: "cf.oo"; op: "cf.op"; oq: "cf.oq"; or: "cf.or"; os: "cf.os"; ot: "cf.ot"; ou: "cf.ou"; ov: "cf.ov"; ow: "cf.ow"; ox: "cf.ox"; oy: "cf.oy"; oz: "cf.oz"; pa: "cf.pa"; pb: "cf.pb"; pc: "cf.pc"; pd: "cf.pd"; pe: "cf.pe"; pf: "cf.pf"; pg: "cf.pg"; ph: "cf.ph"; pi: "cf.pi"; pj: "cf.pj"; pk: "cf.pk"; pl: "cf.pl"; pm: "cf.pm"; pn: "cf.pn"; po: "cf.po"; pp: "cf.pp"; pq: "cf.pq"; pr: "cf.pr"; ps: "cf.ps"; pt: "cf.pt"; pu: "cf.pu"; pv: "cf.pv"; pw: "cf.pw"; px: "cf.px"; py: "cf.py"; pz: "cf.pz"; qa: "cf.qa"; qb: "cf.qb"; qc: "cf.qc"; qd: "cf.qd"; qe: "cf.qe"; qf: "cf.qf"; qg: "cf.qg"; qh: "cf.qh"; qi: "cf.qi"; qj: "cf.qj"; qk: "cf.qk"; ql: "cf.ql"; qm: "cf.qm"; qn: "cf.qn"; qo: "cf.qo"; qp: "cf.qp"; qq: "cf.qq"; qr: "cf.qr"; qs: "cf.qs"; qt: "cf.qt"; qu: "cf.qu"; qv: "cf.qv"; qw: "cf.qw"; qx: "cf.qx"; qy: "cf.qy"; qz: "cf.qz"; ra: "cf.ra"; rb: "cf.rb"; rc: "cf.rc"; rd: "cf.rd"; re: "cf.re"; rf: "cf.rf"; rg: "cf.rg"; rh: "cf.rh"; ri: "cf.ri"; rj: "cf.rj"; rk: "cf.rk"; rl: "cf.rl"; rm: "cf.rm"; rn: "cf.rn"; ro: "cf.ro"; rp: "cf.rp"; rq: "cf.rq"; rr: "cf.rr"; rs: "cf.rs"; rt: "cf.rt"; ru: "cf.ru"; rv: "cf.rv"; rw: "cf.rw"; rx: "cf.rx"; ry: "cf.ry"; rz: "cf.rz"; sa: "cf.sa"; sb: "cf.sb"; sc: "cf.sc"; sd: "cf.sd"; se: "cf.se"; sf: "cf.sf"; sg: "cf.sg"; sh: "cf.sh"; si: "cf.si"; sj: "cf.sj"; sk: "cf.sk"; sl: "cf.sl"; sm: "cf.sm"; sn: "cf.sn"; so: "cf.so"; sp: "cf.sp"; sq: "cf.sq"; sr: "cf.sr"; ss: "cf.ss"; st: "cf.st"; su: "cf.su"; sv: "cf.sv"; sw: "cf.sw"; sx: "cf.sx"; sy: "cf.sy"; sz: "cf.sz"; ta: "cf.ta"; tb: "cf.tb"; tc: "cf.tc"; td: "cf.td"; te: "cf.te"; tf: "cf.tf"; tg: "cf.tg"; th: "cf.th"; ti: "cf.ti"; tj: "cf.tj"; tk: "cf.tk"; tl: "cf.tl"; tm: "cf.tm"; tn: "cf.tn"; to: "cf.to"; tp: "cf.tp"; tq: "cf.tq"; tr: "cf.tr"; ts: "cf.ts"; tt: "cf.tt"; tu: "cf.tu"; tv: "cf.tv"; tw: "cf.tw"; tx: "cf.tx"; ty: "cf.ty"; tz: "cf.tz"; ua: "cf.ua"; ub: "cf.ub"; uc: "cf.uc"; ud: "cf.ud"; ue: "cf.ue"; uf: "cf.uf"; ug: "cf.ug"; uh: "cf.uh"; ui: "cf.ui"; uj: "cf.uj"; uk: "cf.uk"; ul: "cf.ul"; um: "cf.um"; un: "cf.un"; uo: "cf.uo"; up: "cf.up"; uq: "cf.uq"; ur: "cf.ur"; us: "cf.us"; ut: "cf.ut"; uu: "cf.uu"; uv: "cf.uv"; uw: "cf.uw"; ux: "cf.ux"; uy: "cf.uy"; uz: "cf.uz"; va: "cf.va"; vb: "cf.vb"; vc: "cf.vc"; vd: "cf.vd"; ve: "cf.ve"; vf: "cf.vf"; vg: "cf.vg"; vh: "cf.vh"; vi: "cf.vi"; vj: "cf.vj"; vk: "cf.vk"; vl: "cf.vl"; vm: "cf.vm"; vn: "cf.vn"; vo: "cf.vo"; vp: "cf.vp"; vq: "cf.vq"; vr: "cf.vr"; vs: "cf.vs"; vt: "cf.vt"; vu: "cf.vu"; vv: "cf.vv"; vw: "cf.vw"; vx: "cf.vx"; vy: "cf.vy"; vz: "cf.vz"; wa: "cf.wa"; wb: "cf.wb"; wc: "cf.wc"; wd: "cf.wd"; we: "cf.we"; wf: "cf.wf"; wg: "cf.wg"; wh: "cf.wh"; wi: "cf.wi"; wj: "cf.wj"; wk: "cf.wk"; wl: "cf.wl"; wm: "cf.wm"; wn: "cf.wn"; wo: "cf.wo"; wp: "cf.wp"; wq: "cf.wq"; wr: "cf.wr"; ws: "cf.ws"; wt: "cf.wt"; wu: "cf.wu"; wv: "cf.wv"; ww: "cf.ww"; wx: "cf.wx"; wy: "cf.wy"; wz: "cf.wz"; xa: "cf.xa"; xb: "cf.xb"; xc: "cf.xc"; xd: "cf.xd"; xe: "cf.xe"; xf: "cf.xf"; xg: "cf.xg"; xh: "cf.xh"; xi: "cf.xi"; xj: "cf.xj"; xk: "cf.xk"; xl: "cf.xl"; xm: "cf.xm"; xn: "cf.xn"; xo: "cf.xo"; xp: "cf.xp"; xq: "cf.xq"; xr: "cf.xr"; xs: "cf.xs"; xt: "cf.xt"; xu: "cf.xu"; xv: "cf.xv"; xw: "cf.xw"; xx: "cf.xx"; xy: "cf.xy"; xz: "cf.xz"; ya: "cf.ya"; yb: "cf.yb"; yc: "cf.yc"; yd: "cf.yd"; ye: "cf.ye"; yf: "cf.yf"; yg: "cf.yg"; yh: "cf.yh"; yi: "cf.yi"; yj: "cf.yj"; yk: "cf.yk"; yl: "cf.yl"; ym: "cf.ym"; yn: "cf.yn"; yo: "cf.yo"; yp: "cf.yp"; yq: "cf.yq"; yr: "cf.yr"; ys: "cf.ys"; yt: "cf.yt"; yu: "cf.yu"; yv: "cf.yv"; yw: "cf.yw"; yx: "cf.yx"; yy: "cf.yy"; yz: "cf.yz"; za: "cf.za"; zb: "cf.zb"; zc: "cf.zc"; zd: "cf.zd"; ze: "cf.ze"; zf: "cf.zf"; zg: "cf.zg"; zh: "cf.zh"; zi: "cf.zi"; zj: "cf.zj"; zk: "cf.zk"; zl: "cf.zl"; zm: "cf.zm"; zn: "cf.zn"; zo: "cf.zo"; zp: "cf.zp"; zq: "cf.zq"; zr: "cf.zr"; zs: "cf.zs"; zt: "cf.zt"; zu: "cf.zu"; zv: "cf.zv"; zw: "cf.zw"; zx: "cf.zx"; zy: "cf.zy"; zz: "cf.zz"; }; cg: { aa: "cg.aa"; ab: "cg.ab"; ac: "cg.ac"; ad: "cg.ad"; ae: "cg.ae"; af: "cg.af"; ag: "cg.ag"; ah: "cg.ah"; ai: "cg.ai"; aj: "cg.aj"; ak: "cg.ak"; al: "cg.al"; am: "cg.am"; an: "cg.an"; ao: "cg.ao"; ap: "cg.ap"; aq: "cg.aq"; ar: "cg.ar"; as: "cg.as"; at: "cg.at"; au: "cg.au"; av: "cg.av"; aw: "cg.aw"; ax: "cg.ax"; ay: "cg.ay"; az: "cg.az"; ba: "cg.ba"; bb: "cg.bb"; bc: "cg.bc"; bd: "cg.bd"; be: "cg.be"; bf: "cg.bf"; bg: "cg.bg"; bh: "cg.bh"; bi: "cg.bi"; bj: "cg.bj"; bk: "cg.bk"; bl: "cg.bl"; bm: "cg.bm"; bn: "cg.bn"; bo: "cg.bo"; bp: "cg.bp"; bq: "cg.bq"; br: "cg.br"; bs: "cg.bs"; bt: "cg.bt"; bu: "cg.bu"; bv: "cg.bv"; bw: "cg.bw"; bx: "cg.bx"; by: "cg.by"; bz: "cg.bz"; ca: "cg.ca"; cb: "cg.cb"; cc: "cg.cc"; cd: "cg.cd"; ce: "cg.ce"; cf: "cg.cf"; cg: "cg.cg"; ch: "cg.ch"; ci: "cg.ci"; cj: "cg.cj"; ck: "cg.ck"; cl: "cg.cl"; cm: "cg.cm"; cn: "cg.cn"; co: "cg.co"; cp: "cg.cp"; cq: "cg.cq"; cr: "cg.cr"; cs: "cg.cs"; ct: "cg.ct"; cu: "cg.cu"; cv: "cg.cv"; cw: "cg.cw"; cx: "cg.cx"; cy: "cg.cy"; cz: "cg.cz"; da: "cg.da"; db: "cg.db"; dc: "cg.dc"; dd: "cg.dd"; de: "cg.de"; df: "cg.df"; dg: "cg.dg"; dh: "cg.dh"; di: "cg.di"; dj: "cg.dj"; dk: "cg.dk"; dl: "cg.dl"; dm: "cg.dm"; dn: "cg.dn"; do: "cg.do"; dp: "cg.dp"; dq: "cg.dq"; dr: "cg.dr"; ds: "cg.ds"; dt: "cg.dt"; du: "cg.du"; dv: "cg.dv"; dw: "cg.dw"; dx: "cg.dx"; dy: "cg.dy"; dz: "cg.dz"; ea: "cg.ea"; eb: "cg.eb"; ec: "cg.ec"; ed: "cg.ed"; ee: "cg.ee"; ef: "cg.ef"; eg: "cg.eg"; eh: "cg.eh"; ei: "cg.ei"; ej: "cg.ej"; ek: "cg.ek"; el: "cg.el"; em: "cg.em"; en: "cg.en"; eo: "cg.eo"; ep: "cg.ep"; eq: "cg.eq"; er: "cg.er"; es: "cg.es"; et: "cg.et"; eu: "cg.eu"; ev: "cg.ev"; ew: "cg.ew"; ex: "cg.ex"; ey: "cg.ey"; ez: "cg.ez"; fa: "cg.fa"; fb: "cg.fb"; fc: "cg.fc"; fd: "cg.fd"; fe: "cg.fe"; ff: "cg.ff"; fg: "cg.fg"; fh: "cg.fh"; fi: "cg.fi"; fj: "cg.fj"; fk: "cg.fk"; fl: "cg.fl"; fm: "cg.fm"; fn: "cg.fn"; fo: "cg.fo"; fp: "cg.fp"; fq: "cg.fq"; fr: "cg.fr"; fs: "cg.fs"; ft: "cg.ft"; fu: "cg.fu"; fv: "cg.fv"; fw: "cg.fw"; fx: "cg.fx"; fy: "cg.fy"; fz: "cg.fz"; ga: "cg.ga"; gb: "cg.gb"; gc: "cg.gc"; gd: "cg.gd"; ge: "cg.ge"; gf: "cg.gf"; gg: "cg.gg"; gh: "cg.gh"; gi: "cg.gi"; gj: "cg.gj"; gk: "cg.gk"; gl: "cg.gl"; gm: "cg.gm"; gn: "cg.gn"; go: "cg.go"; gp: "cg.gp"; gq: "cg.gq"; gr: "cg.gr"; gs: "cg.gs"; gt: "cg.gt"; gu: "cg.gu"; gv: "cg.gv"; gw: "cg.gw"; gx: "cg.gx"; gy: "cg.gy"; gz: "cg.gz"; ha: "cg.ha"; hb: "cg.hb"; hc: "cg.hc"; hd: "cg.hd"; he: "cg.he"; hf: "cg.hf"; hg: "cg.hg"; hh: "cg.hh"; hi: "cg.hi"; hj: "cg.hj"; hk: "cg.hk"; hl: "cg.hl"; hm: "cg.hm"; hn: "cg.hn"; ho: "cg.ho"; hp: "cg.hp"; hq: "cg.hq"; hr: "cg.hr"; hs: "cg.hs"; ht: "cg.ht"; hu: "cg.hu"; hv: "cg.hv"; hw: "cg.hw"; hx: "cg.hx"; hy: "cg.hy"; hz: "cg.hz"; ia: "cg.ia"; ib: "cg.ib"; ic: "cg.ic"; id: "cg.id"; ie: "cg.ie"; if: "cg.if"; ig: "cg.ig"; ih: "cg.ih"; ii: "cg.ii"; ij: "cg.ij"; ik: "cg.ik"; il: "cg.il"; im: "cg.im"; in: "cg.in"; io: "cg.io"; ip: "cg.ip"; iq: "cg.iq"; ir: "cg.ir"; is: "cg.is"; it: "cg.it"; iu: "cg.iu"; iv: "cg.iv"; iw: "cg.iw"; ix: "cg.ix"; iy: "cg.iy"; iz: "cg.iz"; ja: "cg.ja"; jb: "cg.jb"; jc: "cg.jc"; jd: "cg.jd"; je: "cg.je"; jf: "cg.jf"; jg: "cg.jg"; jh: "cg.jh"; ji: "cg.ji"; jj: "cg.jj"; jk: "cg.jk"; jl: "cg.jl"; jm: "cg.jm"; jn: "cg.jn"; jo: "cg.jo"; jp: "cg.jp"; jq: "cg.jq"; jr: "cg.jr"; js: "cg.js"; jt: "cg.jt"; ju: "cg.ju"; jv: "cg.jv"; jw: "cg.jw"; jx: "cg.jx"; jy: "cg.jy"; jz: "cg.jz"; ka: "cg.ka"; kb: "cg.kb"; kc: "cg.kc"; kd: "cg.kd"; ke: "cg.ke"; kf: "cg.kf"; kg: "cg.kg"; kh: "cg.kh"; ki: "cg.ki"; kj: "cg.kj"; kk: "cg.kk"; kl: "cg.kl"; km: "cg.km"; kn: "cg.kn"; ko: "cg.ko"; kp: "cg.kp"; kq: "cg.kq"; kr: "cg.kr"; ks: "cg.ks"; kt: "cg.kt"; ku: "cg.ku"; kv: "cg.kv"; kw: "cg.kw"; kx: "cg.kx"; ky: "cg.ky"; kz: "cg.kz"; la: "cg.la"; lb: "cg.lb"; lc: "cg.lc"; ld: "cg.ld"; le: "cg.le"; lf: "cg.lf"; lg: "cg.lg"; lh: "cg.lh"; li: "cg.li"; lj: "cg.lj"; lk: "cg.lk"; ll: "cg.ll"; lm: "cg.lm"; ln: "cg.ln"; lo: "cg.lo"; lp: "cg.lp"; lq: "cg.lq"; lr: "cg.lr"; ls: "cg.ls"; lt: "cg.lt"; lu: "cg.lu"; lv: "cg.lv"; lw: "cg.lw"; lx: "cg.lx"; ly: "cg.ly"; lz: "cg.lz"; ma: "cg.ma"; mb: "cg.mb"; mc: "cg.mc"; md: "cg.md"; me: "cg.me"; mf: "cg.mf"; mg: "cg.mg"; mh: "cg.mh"; mi: "cg.mi"; mj: "cg.mj"; mk: "cg.mk"; ml: "cg.ml"; mm: "cg.mm"; mn: "cg.mn"; mo: "cg.mo"; mp: "cg.mp"; mq: "cg.mq"; mr: "cg.mr"; ms: "cg.ms"; mt: "cg.mt"; mu: "cg.mu"; mv: "cg.mv"; mw: "cg.mw"; mx: "cg.mx"; my: "cg.my"; mz: "cg.mz"; na: "cg.na"; nb: "cg.nb"; nc: "cg.nc"; nd: "cg.nd"; ne: "cg.ne"; nf: "cg.nf"; ng: "cg.ng"; nh: "cg.nh"; ni: "cg.ni"; nj: "cg.nj"; nk: "cg.nk"; nl: "cg.nl"; nm: "cg.nm"; nn: "cg.nn"; no: "cg.no"; np: "cg.np"; nq: "cg.nq"; nr: "cg.nr"; ns: "cg.ns"; nt: "cg.nt"; nu: "cg.nu"; nv: "cg.nv"; nw: "cg.nw"; nx: "cg.nx"; ny: "cg.ny"; nz: "cg.nz"; oa: "cg.oa"; ob: "cg.ob"; oc: "cg.oc"; od: "cg.od"; oe: "cg.oe"; of: "cg.of"; og: "cg.og"; oh: "cg.oh"; oi: "cg.oi"; oj: "cg.oj"; ok: "cg.ok"; ol: "cg.ol"; om: "cg.om"; on: "cg.on"; oo: "cg.oo"; op: "cg.op"; oq: "cg.oq"; or: "cg.or"; os: "cg.os"; ot: "cg.ot"; ou: "cg.ou"; ov: "cg.ov"; ow: "cg.ow"; ox: "cg.ox"; oy: "cg.oy"; oz: "cg.oz"; pa: "cg.pa"; pb: "cg.pb"; pc: "cg.pc"; pd: "cg.pd"; pe: "cg.pe"; pf: "cg.pf"; pg: "cg.pg"; ph: "cg.ph"; pi: "cg.pi"; pj: "cg.pj"; pk: "cg.pk"; pl: "cg.pl"; pm: "cg.pm"; pn: "cg.pn"; po: "cg.po"; pp: "cg.pp"; pq: "cg.pq"; pr: "cg.pr"; ps: "cg.ps"; pt: "cg.pt"; pu: "cg.pu"; pv: "cg.pv"; pw: "cg.pw"; px: "cg.px"; py: "cg.py"; pz: "cg.pz"; qa: "cg.qa"; qb: "cg.qb"; qc: "cg.qc"; qd: "cg.qd"; qe: "cg.qe"; qf: "cg.qf"; qg: "cg.qg"; qh: "cg.qh"; qi: "cg.qi"; qj: "cg.qj"; qk: "cg.qk"; ql: "cg.ql"; qm: "cg.qm"; qn: "cg.qn"; qo: "cg.qo"; qp: "cg.qp"; qq: "cg.qq"; qr: "cg.qr"; qs: "cg.qs"; qt: "cg.qt"; qu: "cg.qu"; qv: "cg.qv"; qw: "cg.qw"; qx: "cg.qx"; qy: "cg.qy"; qz: "cg.qz"; ra: "cg.ra"; rb: "cg.rb"; rc: "cg.rc"; rd: "cg.rd"; re: "cg.re"; rf: "cg.rf"; rg: "cg.rg"; rh: "cg.rh"; ri: "cg.ri"; rj: "cg.rj"; rk: "cg.rk"; rl: "cg.rl"; rm: "cg.rm"; rn: "cg.rn"; ro: "cg.ro"; rp: "cg.rp"; rq: "cg.rq"; rr: "cg.rr"; rs: "cg.rs"; rt: "cg.rt"; ru: "cg.ru"; rv: "cg.rv"; rw: "cg.rw"; rx: "cg.rx"; ry: "cg.ry"; rz: "cg.rz"; sa: "cg.sa"; sb: "cg.sb"; sc: "cg.sc"; sd: "cg.sd"; se: "cg.se"; sf: "cg.sf"; sg: "cg.sg"; sh: "cg.sh"; si: "cg.si"; sj: "cg.sj"; sk: "cg.sk"; sl: "cg.sl"; sm: "cg.sm"; sn: "cg.sn"; so: "cg.so"; sp: "cg.sp"; sq: "cg.sq"; sr: "cg.sr"; ss: "cg.ss"; st: "cg.st"; su: "cg.su"; sv: "cg.sv"; sw: "cg.sw"; sx: "cg.sx"; sy: "cg.sy"; sz: "cg.sz"; ta: "cg.ta"; tb: "cg.tb"; tc: "cg.tc"; td: "cg.td"; te: "cg.te"; tf: "cg.tf"; tg: "cg.tg"; th: "cg.th"; ti: "cg.ti"; tj: "cg.tj"; tk: "cg.tk"; tl: "cg.tl"; tm: "cg.tm"; tn: "cg.tn"; to: "cg.to"; tp: "cg.tp"; tq: "cg.tq"; tr: "cg.tr"; ts: "cg.ts"; tt: "cg.tt"; tu: "cg.tu"; tv: "cg.tv"; tw: "cg.tw"; tx: "cg.tx"; ty: "cg.ty"; tz: "cg.tz"; ua: "cg.ua"; ub: "cg.ub"; uc: "cg.uc"; ud: "cg.ud"; ue: "cg.ue"; uf: "cg.uf"; ug: "cg.ug"; uh: "cg.uh"; ui: "cg.ui"; uj: "cg.uj"; uk: "cg.uk"; ul: "cg.ul"; um: "cg.um"; un: "cg.un"; uo: "cg.uo"; up: "cg.up"; uq: "cg.uq"; ur: "cg.ur"; us: "cg.us"; ut: "cg.ut"; uu: "cg.uu"; uv: "cg.uv"; uw: "cg.uw"; ux: "cg.ux"; uy: "cg.uy"; uz: "cg.uz"; va: "cg.va"; vb: "cg.vb"; vc: "cg.vc"; vd: "cg.vd"; ve: "cg.ve"; vf: "cg.vf"; vg: "cg.vg"; vh: "cg.vh"; vi: "cg.vi"; vj: "cg.vj"; vk: "cg.vk"; vl: "cg.vl"; vm: "cg.vm"; vn: "cg.vn"; vo: "cg.vo"; vp: "cg.vp"; vq: "cg.vq"; vr: "cg.vr"; vs: "cg.vs"; vt: "cg.vt"; vu: "cg.vu"; vv: "cg.vv"; vw: "cg.vw"; vx: "cg.vx"; vy: "cg.vy"; vz: "cg.vz"; wa: "cg.wa"; wb: "cg.wb"; wc: "cg.wc"; wd: "cg.wd"; we: "cg.we"; wf: "cg.wf"; wg: "cg.wg"; wh: "cg.wh"; wi: "cg.wi"; wj: "cg.wj"; wk: "cg.wk"; wl: "cg.wl"; wm: "cg.wm"; wn: "cg.wn"; wo: "cg.wo"; wp: "cg.wp"; wq: "cg.wq"; wr: "cg.wr"; ws: "cg.ws"; wt: "cg.wt"; wu: "cg.wu"; wv: "cg.wv"; ww: "cg.ww"; wx: "cg.wx"; wy: "cg.wy"; wz: "cg.wz"; xa: "cg.xa"; xb: "cg.xb"; xc: "cg.xc"; xd: "cg.xd"; xe: "cg.xe"; xf: "cg.xf"; xg: "cg.xg"; xh: "cg.xh"; xi: "cg.xi"; xj: "cg.xj"; xk: "cg.xk"; xl: "cg.xl"; xm: "cg.xm"; xn: "cg.xn"; xo: "cg.xo"; xp: "cg.xp"; xq: "cg.xq"; xr: "cg.xr"; xs: "cg.xs"; xt: "cg.xt"; xu: "cg.xu"; xv: "cg.xv"; xw: "cg.xw"; xx: "cg.xx"; xy: "cg.xy"; xz: "cg.xz"; ya: "cg.ya"; yb: "cg.yb"; yc: "cg.yc"; yd: "cg.yd"; ye: "cg.ye"; yf: "cg.yf"; yg: "cg.yg"; yh: "cg.yh"; yi: "cg.yi"; yj: "cg.yj"; yk: "cg.yk"; yl: "cg.yl"; ym: "cg.ym"; yn: "cg.yn"; yo: "cg.yo"; yp: "cg.yp"; yq: "cg.yq"; yr: "cg.yr"; ys: "cg.ys"; yt: "cg.yt"; yu: "cg.yu"; yv: "cg.yv"; yw: "cg.yw"; yx: "cg.yx"; yy: "cg.yy"; yz: "cg.yz"; za: "cg.za"; zb: "cg.zb"; zc: "cg.zc"; zd: "cg.zd"; ze: "cg.ze"; zf: "cg.zf"; zg: "cg.zg"; zh: "cg.zh"; zi: "cg.zi"; zj: "cg.zj"; zk: "cg.zk"; zl: "cg.zl"; zm: "cg.zm"; zn: "cg.zn"; zo: "cg.zo"; zp: "cg.zp"; zq: "cg.zq"; zr: "cg.zr"; zs: "cg.zs"; zt: "cg.zt"; zu: "cg.zu"; zv: "cg.zv"; zw: "cg.zw"; zx: "cg.zx"; zy: "cg.zy"; zz: "cg.zz"; }; ch: { aa: "ch.aa"; ab: "ch.ab"; ac: "ch.ac"; ad: "ch.ad"; ae: "ch.ae"; af: "ch.af"; ag: "ch.ag"; ah: "ch.ah"; ai: "ch.ai"; aj: "ch.aj"; ak: "ch.ak"; al: "ch.al"; am: "ch.am"; an: "ch.an"; ao: "ch.ao"; ap: "ch.ap"; aq: "ch.aq"; ar: "ch.ar"; as: "ch.as"; at: "ch.at"; au: "ch.au"; av: "ch.av"; aw: "ch.aw"; ax: "ch.ax"; ay: "ch.ay"; az: "ch.az"; ba: "ch.ba"; bb: "ch.bb"; bc: "ch.bc"; bd: "ch.bd"; be: "ch.be"; bf: "ch.bf"; bg: "ch.bg"; bh: "ch.bh"; bi: "ch.bi"; bj: "ch.bj"; bk: "ch.bk"; bl: "ch.bl"; bm: "ch.bm"; bn: "ch.bn"; bo: "ch.bo"; bp: "ch.bp"; bq: "ch.bq"; br: "ch.br"; bs: "ch.bs"; bt: "ch.bt"; bu: "ch.bu"; bv: "ch.bv"; bw: "ch.bw"; bx: "ch.bx"; by: "ch.by"; bz: "ch.bz"; ca: "ch.ca"; cb: "ch.cb"; cc: "ch.cc"; cd: "ch.cd"; ce: "ch.ce"; cf: "ch.cf"; cg: "ch.cg"; ch: "ch.ch"; ci: "ch.ci"; cj: "ch.cj"; ck: "ch.ck"; cl: "ch.cl"; cm: "ch.cm"; cn: "ch.cn"; co: "ch.co"; cp: "ch.cp"; cq: "ch.cq"; cr: "ch.cr"; cs: "ch.cs"; ct: "ch.ct"; cu: "ch.cu"; cv: "ch.cv"; cw: "ch.cw"; cx: "ch.cx"; cy: "ch.cy"; cz: "ch.cz"; da: "ch.da"; db: "ch.db"; dc: "ch.dc"; dd: "ch.dd"; de: "ch.de"; df: "ch.df"; dg: "ch.dg"; dh: "ch.dh"; di: "ch.di"; dj: "ch.dj"; dk: "ch.dk"; dl: "ch.dl"; dm: "ch.dm"; dn: "ch.dn"; do: "ch.do"; dp: "ch.dp"; dq: "ch.dq"; dr: "ch.dr"; ds: "ch.ds"; dt: "ch.dt"; du: "ch.du"; dv: "ch.dv"; dw: "ch.dw"; dx: "ch.dx"; dy: "ch.dy"; dz: "ch.dz"; ea: "ch.ea"; eb: "ch.eb"; ec: "ch.ec"; ed: "ch.ed"; ee: "ch.ee"; ef: "ch.ef"; eg: "ch.eg"; eh: "ch.eh"; ei: "ch.ei"; ej: "ch.ej"; ek: "ch.ek"; el: "ch.el"; em: "ch.em"; en: "ch.en"; eo: "ch.eo"; ep: "ch.ep"; eq: "ch.eq"; er: "ch.er"; es: "ch.es"; et: "ch.et"; eu: "ch.eu"; ev: "ch.ev"; ew: "ch.ew"; ex: "ch.ex"; ey: "ch.ey"; ez: "ch.ez"; fa: "ch.fa"; fb: "ch.fb"; fc: "ch.fc"; fd: "ch.fd"; fe: "ch.fe"; ff: "ch.ff"; fg: "ch.fg"; fh: "ch.fh"; fi: "ch.fi"; fj: "ch.fj"; fk: "ch.fk"; fl: "ch.fl"; fm: "ch.fm"; fn: "ch.fn"; fo: "ch.fo"; fp: "ch.fp"; fq: "ch.fq"; fr: "ch.fr"; fs: "ch.fs"; ft: "ch.ft"; fu: "ch.fu"; fv: "ch.fv"; fw: "ch.fw"; fx: "ch.fx"; fy: "ch.fy"; fz: "ch.fz"; ga: "ch.ga"; gb: "ch.gb"; gc: "ch.gc"; gd: "ch.gd"; ge: "ch.ge"; gf: "ch.gf"; gg: "ch.gg"; gh: "ch.gh"; gi: "ch.gi"; gj: "ch.gj"; gk: "ch.gk"; gl: "ch.gl"; gm: "ch.gm"; gn: "ch.gn"; go: "ch.go"; gp: "ch.gp"; gq: "ch.gq"; gr: "ch.gr"; gs: "ch.gs"; gt: "ch.gt"; gu: "ch.gu"; gv: "ch.gv"; gw: "ch.gw"; gx: "ch.gx"; gy: "ch.gy"; gz: "ch.gz"; ha: "ch.ha"; hb: "ch.hb"; hc: "ch.hc"; hd: "ch.hd"; he: "ch.he"; hf: "ch.hf"; hg: "ch.hg"; hh: "ch.hh"; hi: "ch.hi"; hj: "ch.hj"; hk: "ch.hk"; hl: "ch.hl"; hm: "ch.hm"; hn: "ch.hn"; ho: "ch.ho"; hp: "ch.hp"; hq: "ch.hq"; hr: "ch.hr"; hs: "ch.hs"; ht: "ch.ht"; hu: "ch.hu"; hv: "ch.hv"; hw: "ch.hw"; hx: "ch.hx"; hy: "ch.hy"; hz: "ch.hz"; ia: "ch.ia"; ib: "ch.ib"; ic: "ch.ic"; id: "ch.id"; ie: "ch.ie"; if: "ch.if"; ig: "ch.ig"; ih: "ch.ih"; ii: "ch.ii"; ij: "ch.ij"; ik: "ch.ik"; il: "ch.il"; im: "ch.im"; in: "ch.in"; io: "ch.io"; ip: "ch.ip"; iq: "ch.iq"; ir: "ch.ir"; is: "ch.is"; it: "ch.it"; iu: "ch.iu"; iv: "ch.iv"; iw: "ch.iw"; ix: "ch.ix"; iy: "ch.iy"; iz: "ch.iz"; ja: "ch.ja"; jb: "ch.jb"; jc: "ch.jc"; jd: "ch.jd"; je: "ch.je"; jf: "ch.jf"; jg: "ch.jg"; jh: "ch.jh"; ji: "ch.ji"; jj: "ch.jj"; jk: "ch.jk"; jl: "ch.jl"; jm: "ch.jm"; jn: "ch.jn"; jo: "ch.jo"; jp: "ch.jp"; jq: "ch.jq"; jr: "ch.jr"; js: "ch.js"; jt: "ch.jt"; ju: "ch.ju"; jv: "ch.jv"; jw: "ch.jw"; jx: "ch.jx"; jy: "ch.jy"; jz: "ch.jz"; ka: "ch.ka"; kb: "ch.kb"; kc: "ch.kc"; kd: "ch.kd"; ke: "ch.ke"; kf: "ch.kf"; kg: "ch.kg"; kh: "ch.kh"; ki: "ch.ki"; kj: "ch.kj"; kk: "ch.kk"; kl: "ch.kl"; km: "ch.km"; kn: "ch.kn"; ko: "ch.ko"; kp: "ch.kp"; kq: "ch.kq"; kr: "ch.kr"; ks: "ch.ks"; kt: "ch.kt"; ku: "ch.ku"; kv: "ch.kv"; kw: "ch.kw"; kx: "ch.kx"; ky: "ch.ky"; kz: "ch.kz"; la: "ch.la"; lb: "ch.lb"; lc: "ch.lc"; ld: "ch.ld"; le: "ch.le"; lf: "ch.lf"; lg: "ch.lg"; lh: "ch.lh"; li: "ch.li"; lj: "ch.lj"; lk: "ch.lk"; ll: "ch.ll"; lm: "ch.lm"; ln: "ch.ln"; lo: "ch.lo"; lp: "ch.lp"; lq: "ch.lq"; lr: "ch.lr"; ls: "ch.ls"; lt: "ch.lt"; lu: "ch.lu"; lv: "ch.lv"; lw: "ch.lw"; lx: "ch.lx"; ly: "ch.ly"; lz: "ch.lz"; ma: "ch.ma"; mb: "ch.mb"; mc: "ch.mc"; md: "ch.md"; me: "ch.me"; mf: "ch.mf"; mg: "ch.mg"; mh: "ch.mh"; mi: "ch.mi"; mj: "ch.mj"; mk: "ch.mk"; ml: "ch.ml"; mm: "ch.mm"; mn: "ch.mn"; mo: "ch.mo"; mp: "ch.mp"; mq: "ch.mq"; mr: "ch.mr"; ms: "ch.ms"; mt: "ch.mt"; mu: "ch.mu"; mv: "ch.mv"; mw: "ch.mw"; mx: "ch.mx"; my: "ch.my"; mz: "ch.mz"; na: "ch.na"; nb: "ch.nb"; nc: "ch.nc"; nd: "ch.nd"; ne: "ch.ne"; nf: "ch.nf"; ng: "ch.ng"; nh: "ch.nh"; ni: "ch.ni"; nj: "ch.nj"; nk: "ch.nk"; nl: "ch.nl"; nm: "ch.nm"; nn: "ch.nn"; no: "ch.no"; np: "ch.np"; nq: "ch.nq"; nr: "ch.nr"; ns: "ch.ns"; nt: "ch.nt"; nu: "ch.nu"; nv: "ch.nv"; nw: "ch.nw"; nx: "ch.nx"; ny: "ch.ny"; nz: "ch.nz"; oa: "ch.oa"; ob: "ch.ob"; oc: "ch.oc"; od: "ch.od"; oe: "ch.oe"; of: "ch.of"; og: "ch.og"; oh: "ch.oh"; oi: "ch.oi"; oj: "ch.oj"; ok: "ch.ok"; ol: "ch.ol"; om: "ch.om"; on: "ch.on"; oo: "ch.oo"; op: "ch.op"; oq: "ch.oq"; or: "ch.or"; os: "ch.os"; ot: "ch.ot"; ou: "ch.ou"; ov: "ch.ov"; ow: "ch.ow"; ox: "ch.ox"; oy: "ch.oy"; oz: "ch.oz"; pa: "ch.pa"; pb: "ch.pb"; pc: "ch.pc"; pd: "ch.pd"; pe: "ch.pe"; pf: "ch.pf"; pg: "ch.pg"; ph: "ch.ph"; pi: "ch.pi"; pj: "ch.pj"; pk: "ch.pk"; pl: "ch.pl"; pm: "ch.pm"; pn: "ch.pn"; po: "ch.po"; pp: "ch.pp"; pq: "ch.pq"; pr: "ch.pr"; ps: "ch.ps"; pt: "ch.pt"; pu: "ch.pu"; pv: "ch.pv"; pw: "ch.pw"; px: "ch.px"; py: "ch.py"; pz: "ch.pz"; qa: "ch.qa"; qb: "ch.qb"; qc: "ch.qc"; qd: "ch.qd"; qe: "ch.qe"; qf: "ch.qf"; qg: "ch.qg"; qh: "ch.qh"; qi: "ch.qi"; qj: "ch.qj"; qk: "ch.qk"; ql: "ch.ql"; qm: "ch.qm"; qn: "ch.qn"; qo: "ch.qo"; qp: "ch.qp"; qq: "ch.qq"; qr: "ch.qr"; qs: "ch.qs"; qt: "ch.qt"; qu: "ch.qu"; qv: "ch.qv"; qw: "ch.qw"; qx: "ch.qx"; qy: "ch.qy"; qz: "ch.qz"; ra: "ch.ra"; rb: "ch.rb"; rc: "ch.rc"; rd: "ch.rd"; re: "ch.re"; rf: "ch.rf"; rg: "ch.rg"; rh: "ch.rh"; ri: "ch.ri"; rj: "ch.rj"; rk: "ch.rk"; rl: "ch.rl"; rm: "ch.rm"; rn: "ch.rn"; ro: "ch.ro"; rp: "ch.rp"; rq: "ch.rq"; rr: "ch.rr"; rs: "ch.rs"; rt: "ch.rt"; ru: "ch.ru"; rv: "ch.rv"; rw: "ch.rw"; rx: "ch.rx"; ry: "ch.ry"; rz: "ch.rz"; sa: "ch.sa"; sb: "ch.sb"; sc: "ch.sc"; sd: "ch.sd"; se: "ch.se"; sf: "ch.sf"; sg: "ch.sg"; sh: "ch.sh"; si: "ch.si"; sj: "ch.sj"; sk: "ch.sk"; sl: "ch.sl"; sm: "ch.sm"; sn: "ch.sn"; so: "ch.so"; sp: "ch.sp"; sq: "ch.sq"; sr: "ch.sr"; ss: "ch.ss"; st: "ch.st"; su: "ch.su"; sv: "ch.sv"; sw: "ch.sw"; sx: "ch.sx"; sy: "ch.sy"; sz: "ch.sz"; ta: "ch.ta"; tb: "ch.tb"; tc: "ch.tc"; td: "ch.td"; te: "ch.te"; tf: "ch.tf"; tg: "ch.tg"; th: "ch.th"; ti: "ch.ti"; tj: "ch.tj"; tk: "ch.tk"; tl: "ch.tl"; tm: "ch.tm"; tn: "ch.tn"; to: "ch.to"; tp: "ch.tp"; tq: "ch.tq"; tr: "ch.tr"; ts: "ch.ts"; tt: "ch.tt"; tu: "ch.tu"; tv: "ch.tv"; tw: "ch.tw"; tx: "ch.tx"; ty: "ch.ty"; tz: "ch.tz"; ua: "ch.ua"; ub: "ch.ub"; uc: "ch.uc"; ud: "ch.ud"; ue: "ch.ue"; uf: "ch.uf"; ug: "ch.ug"; uh: "ch.uh"; ui: "ch.ui"; uj: "ch.uj"; uk: "ch.uk"; ul: "ch.ul"; um: "ch.um"; un: "ch.un"; uo: "ch.uo"; up: "ch.up"; uq: "ch.uq"; ur: "ch.ur"; us: "ch.us"; ut: "ch.ut"; uu: "ch.uu"; uv: "ch.uv"; uw: "ch.uw"; ux: "ch.ux"; uy: "ch.uy"; uz: "ch.uz"; va: "ch.va"; vb: "ch.vb"; vc: "ch.vc"; vd: "ch.vd"; ve: "ch.ve"; vf: "ch.vf"; vg: "ch.vg"; vh: "ch.vh"; vi: "ch.vi"; vj: "ch.vj"; vk: "ch.vk"; vl: "ch.vl"; vm: "ch.vm"; vn: "ch.vn"; vo: "ch.vo"; vp: "ch.vp"; vq: "ch.vq"; vr: "ch.vr"; vs: "ch.vs"; vt: "ch.vt"; vu: "ch.vu"; vv: "ch.vv"; vw: "ch.vw"; vx: "ch.vx"; vy: "ch.vy"; vz: "ch.vz"; wa: "ch.wa"; wb: "ch.wb"; wc: "ch.wc"; wd: "ch.wd"; we: "ch.we"; wf: "ch.wf"; wg: "ch.wg"; wh: "ch.wh"; wi: "ch.wi"; wj: "ch.wj"; wk: "ch.wk"; wl: "ch.wl"; wm: "ch.wm"; wn: "ch.wn"; wo: "ch.wo"; wp: "ch.wp"; wq: "ch.wq"; wr: "ch.wr"; ws: "ch.ws"; wt: "ch.wt"; wu: "ch.wu"; wv: "ch.wv"; ww: "ch.ww"; wx: "ch.wx"; wy: "ch.wy"; wz: "ch.wz"; xa: "ch.xa"; xb: "ch.xb"; xc: "ch.xc"; xd: "ch.xd"; xe: "ch.xe"; xf: "ch.xf"; xg: "ch.xg"; xh: "ch.xh"; xi: "ch.xi"; xj: "ch.xj"; xk: "ch.xk"; xl: "ch.xl"; xm: "ch.xm"; xn: "ch.xn"; xo: "ch.xo"; xp: "ch.xp"; xq: "ch.xq"; xr: "ch.xr"; xs: "ch.xs"; xt: "ch.xt"; xu: "ch.xu"; xv: "ch.xv"; xw: "ch.xw"; xx: "ch.xx"; xy: "ch.xy"; xz: "ch.xz"; ya: "ch.ya"; yb: "ch.yb"; yc: "ch.yc"; yd: "ch.yd"; ye: "ch.ye"; yf: "ch.yf"; yg: "ch.yg"; yh: "ch.yh"; yi: "ch.yi"; yj: "ch.yj"; yk: "ch.yk"; yl: "ch.yl"; ym: "ch.ym"; yn: "ch.yn"; yo: "ch.yo"; yp: "ch.yp"; yq: "ch.yq"; yr: "ch.yr"; ys: "ch.ys"; yt: "ch.yt"; yu: "ch.yu"; yv: "ch.yv"; yw: "ch.yw"; yx: "ch.yx"; yy: "ch.yy"; yz: "ch.yz"; za: "ch.za"; zb: "ch.zb"; zc: "ch.zc"; zd: "ch.zd"; ze: "ch.ze"; zf: "ch.zf"; zg: "ch.zg"; zh: "ch.zh"; zi: "ch.zi"; zj: "ch.zj"; zk: "ch.zk"; zl: "ch.zl"; zm: "ch.zm"; zn: "ch.zn"; zo: "ch.zo"; zp: "ch.zp"; zq: "ch.zq"; zr: "ch.zr"; zs: "ch.zs"; zt: "ch.zt"; zu: "ch.zu"; zv: "ch.zv"; zw: "ch.zw"; zx: "ch.zx"; zy: "ch.zy"; zz: "ch.zz"; }; ci: { aa: "ci.aa"; ab: "ci.ab"; ac: "ci.ac"; ad: "ci.ad"; ae: "ci.ae"; af: "ci.af"; ag: "ci.ag"; ah: "ci.ah"; ai: "ci.ai"; aj: "ci.aj"; ak: "ci.ak"; al: "ci.al"; am: "ci.am"; an: "ci.an"; ao: "ci.ao"; ap: "ci.ap"; aq: "ci.aq"; ar: "ci.ar"; as: "ci.as"; at: "ci.at"; au: "ci.au"; av: "ci.av"; aw: "ci.aw"; ax: "ci.ax"; ay: "ci.ay"; az: "ci.az"; ba: "ci.ba"; bb: "ci.bb"; bc: "ci.bc"; bd: "ci.bd"; be: "ci.be"; bf: "ci.bf"; bg: "ci.bg"; bh: "ci.bh"; bi: "ci.bi"; bj: "ci.bj"; bk: "ci.bk"; bl: "ci.bl"; bm: "ci.bm"; bn: "ci.bn"; bo: "ci.bo"; bp: "ci.bp"; bq: "ci.bq"; br: "ci.br"; bs: "ci.bs"; bt: "ci.bt"; bu: "ci.bu"; bv: "ci.bv"; bw: "ci.bw"; bx: "ci.bx"; by: "ci.by"; bz: "ci.bz"; ca: "ci.ca"; cb: "ci.cb"; cc: "ci.cc"; cd: "ci.cd"; ce: "ci.ce"; cf: "ci.cf"; cg: "ci.cg"; ch: "ci.ch"; ci: "ci.ci"; cj: "ci.cj"; ck: "ci.ck"; cl: "ci.cl"; cm: "ci.cm"; cn: "ci.cn"; co: "ci.co"; cp: "ci.cp"; cq: "ci.cq"; cr: "ci.cr"; cs: "ci.cs"; ct: "ci.ct"; cu: "ci.cu"; cv: "ci.cv"; cw: "ci.cw"; cx: "ci.cx"; cy: "ci.cy"; cz: "ci.cz"; da: "ci.da"; db: "ci.db"; dc: "ci.dc"; dd: "ci.dd"; de: "ci.de"; df: "ci.df"; dg: "ci.dg"; dh: "ci.dh"; di: "ci.di"; dj: "ci.dj"; dk: "ci.dk"; dl: "ci.dl"; dm: "ci.dm"; dn: "ci.dn"; do: "ci.do"; dp: "ci.dp"; dq: "ci.dq"; dr: "ci.dr"; ds: "ci.ds"; dt: "ci.dt"; du: "ci.du"; dv: "ci.dv"; dw: "ci.dw"; dx: "ci.dx"; dy: "ci.dy"; dz: "ci.dz"; ea: "ci.ea"; eb: "ci.eb"; ec: "ci.ec"; ed: "ci.ed"; ee: "ci.ee"; ef: "ci.ef"; eg: "ci.eg"; eh: "ci.eh"; ei: "ci.ei"; ej: "ci.ej"; ek: "ci.ek"; el: "ci.el"; em: "ci.em"; en: "ci.en"; eo: "ci.eo"; ep: "ci.ep"; eq: "ci.eq"; er: "ci.er"; es: "ci.es"; et: "ci.et"; eu: "ci.eu"; ev: "ci.ev"; ew: "ci.ew"; ex: "ci.ex"; ey: "ci.ey"; ez: "ci.ez"; fa: "ci.fa"; fb: "ci.fb"; fc: "ci.fc"; fd: "ci.fd"; fe: "ci.fe"; ff: "ci.ff"; fg: "ci.fg"; fh: "ci.fh"; fi: "ci.fi"; fj: "ci.fj"; fk: "ci.fk"; fl: "ci.fl"; fm: "ci.fm"; fn: "ci.fn"; fo: "ci.fo"; fp: "ci.fp"; fq: "ci.fq"; fr: "ci.fr"; fs: "ci.fs"; ft: "ci.ft"; fu: "ci.fu"; fv: "ci.fv"; fw: "ci.fw"; fx: "ci.fx"; fy: "ci.fy"; fz: "ci.fz"; ga: "ci.ga"; gb: "ci.gb"; gc: "ci.gc"; gd: "ci.gd"; ge: "ci.ge"; gf: "ci.gf"; gg: "ci.gg"; gh: "ci.gh"; gi: "ci.gi"; gj: "ci.gj"; gk: "ci.gk"; gl: "ci.gl"; gm: "ci.gm"; gn: "ci.gn"; go: "ci.go"; gp: "ci.gp"; gq: "ci.gq"; gr: "ci.gr"; gs: "ci.gs"; gt: "ci.gt"; gu: "ci.gu"; gv: "ci.gv"; gw: "ci.gw"; gx: "ci.gx"; gy: "ci.gy"; gz: "ci.gz"; ha: "ci.ha"; hb: "ci.hb"; hc: "ci.hc"; hd: "ci.hd"; he: "ci.he"; hf: "ci.hf"; hg: "ci.hg"; hh: "ci.hh"; hi: "ci.hi"; hj: "ci.hj"; hk: "ci.hk"; hl: "ci.hl"; hm: "ci.hm"; hn: "ci.hn"; ho: "ci.ho"; hp: "ci.hp"; hq: "ci.hq"; hr: "ci.hr"; hs: "ci.hs"; ht: "ci.ht"; hu: "ci.hu"; hv: "ci.hv"; hw: "ci.hw"; hx: "ci.hx"; hy: "ci.hy"; hz: "ci.hz"; ia: "ci.ia"; ib: "ci.ib"; ic: "ci.ic"; id: "ci.id"; ie: "ci.ie"; if: "ci.if"; ig: "ci.ig"; ih: "ci.ih"; ii: "ci.ii"; ij: "ci.ij"; ik: "ci.ik"; il: "ci.il"; im: "ci.im"; in: "ci.in"; io: "ci.io"; ip: "ci.ip"; iq: "ci.iq"; ir: "ci.ir"; is: "ci.is"; it: "ci.it"; iu: "ci.iu"; iv: "ci.iv"; iw: "ci.iw"; ix: "ci.ix"; iy: "ci.iy"; iz: "ci.iz"; ja: "ci.ja"; jb: "ci.jb"; jc: "ci.jc"; jd: "ci.jd"; je: "ci.je"; jf: "ci.jf"; jg: "ci.jg"; jh: "ci.jh"; ji: "ci.ji"; jj: "ci.jj"; jk: "ci.jk"; jl: "ci.jl"; jm: "ci.jm"; jn: "ci.jn"; jo: "ci.jo"; jp: "ci.jp"; jq: "ci.jq"; jr: "ci.jr"; js: "ci.js"; jt: "ci.jt"; ju: "ci.ju"; jv: "ci.jv"; jw: "ci.jw"; jx: "ci.jx"; jy: "ci.jy"; jz: "ci.jz"; ka: "ci.ka"; kb: "ci.kb"; kc: "ci.kc"; kd: "ci.kd"; ke: "ci.ke"; kf: "ci.kf"; kg: "ci.kg"; kh: "ci.kh"; ki: "ci.ki"; kj: "ci.kj"; kk: "ci.kk"; kl: "ci.kl"; km: "ci.km"; kn: "ci.kn"; ko: "ci.ko"; kp: "ci.kp"; kq: "ci.kq"; kr: "ci.kr"; ks: "ci.ks"; kt: "ci.kt"; ku: "ci.ku"; kv: "ci.kv"; kw: "ci.kw"; kx: "ci.kx"; ky: "ci.ky"; kz: "ci.kz"; la: "ci.la"; lb: "ci.lb"; lc: "ci.lc"; ld: "ci.ld"; le: "ci.le"; lf: "ci.lf"; lg: "ci.lg"; lh: "ci.lh"; li: "ci.li"; lj: "ci.lj"; lk: "ci.lk"; ll: "ci.ll"; lm: "ci.lm"; ln: "ci.ln"; lo: "ci.lo"; lp: "ci.lp"; lq: "ci.lq"; lr: "ci.lr"; ls: "ci.ls"; lt: "ci.lt"; lu: "ci.lu"; lv: "ci.lv"; lw: "ci.lw"; lx: "ci.lx"; ly: "ci.ly"; lz: "ci.lz"; ma: "ci.ma"; mb: "ci.mb"; mc: "ci.mc"; md: "ci.md"; me: "ci.me"; mf: "ci.mf"; mg: "ci.mg"; mh: "ci.mh"; mi: "ci.mi"; mj: "ci.mj"; mk: "ci.mk"; ml: "ci.ml"; mm: "ci.mm"; mn: "ci.mn"; mo: "ci.mo"; mp: "ci.mp"; mq: "ci.mq"; mr: "ci.mr"; ms: "ci.ms"; mt: "ci.mt"; mu: "ci.mu"; mv: "ci.mv"; mw: "ci.mw"; mx: "ci.mx"; my: "ci.my"; mz: "ci.mz"; na: "ci.na"; nb: "ci.nb"; nc: "ci.nc"; nd: "ci.nd"; ne: "ci.ne"; nf: "ci.nf"; ng: "ci.ng"; nh: "ci.nh"; ni: "ci.ni"; nj: "ci.nj"; nk: "ci.nk"; nl: "ci.nl"; nm: "ci.nm"; nn: "ci.nn"; no: "ci.no"; np: "ci.np"; nq: "ci.nq"; nr: "ci.nr"; ns: "ci.ns"; nt: "ci.nt"; nu: "ci.nu"; nv: "ci.nv"; nw: "ci.nw"; nx: "ci.nx"; ny: "ci.ny"; nz: "ci.nz"; oa: "ci.oa"; ob: "ci.ob"; oc: "ci.oc"; od: "ci.od"; oe: "ci.oe"; of: "ci.of"; og: "ci.og"; oh: "ci.oh"; oi: "ci.oi"; oj: "ci.oj"; ok: "ci.ok"; ol: "ci.ol"; om: "ci.om"; on: "ci.on"; oo: "ci.oo"; op: "ci.op"; oq: "ci.oq"; or: "ci.or"; os: "ci.os"; ot: "ci.ot"; ou: "ci.ou"; ov: "ci.ov"; ow: "ci.ow"; ox: "ci.ox"; oy: "ci.oy"; oz: "ci.oz"; pa: "ci.pa"; pb: "ci.pb"; pc: "ci.pc"; pd: "ci.pd"; pe: "ci.pe"; pf: "ci.pf"; pg: "ci.pg"; ph: "ci.ph"; pi: "ci.pi"; pj: "ci.pj"; pk: "ci.pk"; pl: "ci.pl"; pm: "ci.pm"; pn: "ci.pn"; po: "ci.po"; pp: "ci.pp"; pq: "ci.pq"; pr: "ci.pr"; ps: "ci.ps"; pt: "ci.pt"; pu: "ci.pu"; pv: "ci.pv"; pw: "ci.pw"; px: "ci.px"; py: "ci.py"; pz: "ci.pz"; qa: "ci.qa"; qb: "ci.qb"; qc: "ci.qc"; qd: "ci.qd"; qe: "ci.qe"; qf: "ci.qf"; qg: "ci.qg"; qh: "ci.qh"; qi: "ci.qi"; qj: "ci.qj"; qk: "ci.qk"; ql: "ci.ql"; qm: "ci.qm"; qn: "ci.qn"; qo: "ci.qo"; qp: "ci.qp"; qq: "ci.qq"; qr: "ci.qr"; qs: "ci.qs"; qt: "ci.qt"; qu: "ci.qu"; qv: "ci.qv"; qw: "ci.qw"; qx: "ci.qx"; qy: "ci.qy"; qz: "ci.qz"; ra: "ci.ra"; rb: "ci.rb"; rc: "ci.rc"; rd: "ci.rd"; re: "ci.re"; rf: "ci.rf"; rg: "ci.rg"; rh: "ci.rh"; ri: "ci.ri"; rj: "ci.rj"; rk: "ci.rk"; rl: "ci.rl"; rm: "ci.rm"; rn: "ci.rn"; ro: "ci.ro"; rp: "ci.rp"; rq: "ci.rq"; rr: "ci.rr"; rs: "ci.rs"; rt: "ci.rt"; ru: "ci.ru"; rv: "ci.rv"; rw: "ci.rw"; rx: "ci.rx"; ry: "ci.ry"; rz: "ci.rz"; sa: "ci.sa"; sb: "ci.sb"; sc: "ci.sc"; sd: "ci.sd"; se: "ci.se"; sf: "ci.sf"; sg: "ci.sg"; sh: "ci.sh"; si: "ci.si"; sj: "ci.sj"; sk: "ci.sk"; sl: "ci.sl"; sm: "ci.sm"; sn: "ci.sn"; so: "ci.so"; sp: "ci.sp"; sq: "ci.sq"; sr: "ci.sr"; ss: "ci.ss"; st: "ci.st"; su: "ci.su"; sv: "ci.sv"; sw: "ci.sw"; sx: "ci.sx"; sy: "ci.sy"; sz: "ci.sz"; ta: "ci.ta"; tb: "ci.tb"; tc: "ci.tc"; td: "ci.td"; te: "ci.te"; tf: "ci.tf"; tg: "ci.tg"; th: "ci.th"; ti: "ci.ti"; tj: "ci.tj"; tk: "ci.tk"; tl: "ci.tl"; tm: "ci.tm"; tn: "ci.tn"; to: "ci.to"; tp: "ci.tp"; tq: "ci.tq"; tr: "ci.tr"; ts: "ci.ts"; tt: "ci.tt"; tu: "ci.tu"; tv: "ci.tv"; tw: "ci.tw"; tx: "ci.tx"; ty: "ci.ty"; tz: "ci.tz"; ua: "ci.ua"; ub: "ci.ub"; uc: "ci.uc"; ud: "ci.ud"; ue: "ci.ue"; uf: "ci.uf"; ug: "ci.ug"; uh: "ci.uh"; ui: "ci.ui"; uj: "ci.uj"; uk: "ci.uk"; ul: "ci.ul"; um: "ci.um"; un: "ci.un"; uo: "ci.uo"; up: "ci.up"; uq: "ci.uq"; ur: "ci.ur"; us: "ci.us"; ut: "ci.ut"; uu: "ci.uu"; uv: "ci.uv"; uw: "ci.uw"; ux: "ci.ux"; uy: "ci.uy"; uz: "ci.uz"; va: "ci.va"; vb: "ci.vb"; vc: "ci.vc"; vd: "ci.vd"; ve: "ci.ve"; vf: "ci.vf"; vg: "ci.vg"; vh: "ci.vh"; vi: "ci.vi"; vj: "ci.vj"; vk: "ci.vk"; vl: "ci.vl"; vm: "ci.vm"; vn: "ci.vn"; vo: "ci.vo"; vp: "ci.vp"; vq: "ci.vq"; vr: "ci.vr"; vs: "ci.vs"; vt: "ci.vt"; vu: "ci.vu"; vv: "ci.vv"; vw: "ci.vw"; vx: "ci.vx"; vy: "ci.vy"; vz: "ci.vz"; wa: "ci.wa"; wb: "ci.wb"; wc: "ci.wc"; wd: "ci.wd"; we: "ci.we"; wf: "ci.wf"; wg: "ci.wg"; wh: "ci.wh"; wi: "ci.wi"; wj: "ci.wj"; wk: "ci.wk"; wl: "ci.wl"; wm: "ci.wm"; wn: "ci.wn"; wo: "ci.wo"; wp: "ci.wp"; wq: "ci.wq"; wr: "ci.wr"; ws: "ci.ws"; wt: "ci.wt"; wu: "ci.wu"; wv: "ci.wv"; ww: "ci.ww"; wx: "ci.wx"; wy: "ci.wy"; wz: "ci.wz"; xa: "ci.xa"; xb: "ci.xb"; xc: "ci.xc"; xd: "ci.xd"; xe: "ci.xe"; xf: "ci.xf"; xg: "ci.xg"; xh: "ci.xh"; xi: "ci.xi"; xj: "ci.xj"; xk: "ci.xk"; xl: "ci.xl"; xm: "ci.xm"; xn: "ci.xn"; xo: "ci.xo"; xp: "ci.xp"; xq: "ci.xq"; xr: "ci.xr"; xs: "ci.xs"; xt: "ci.xt"; xu: "ci.xu"; xv: "ci.xv"; xw: "ci.xw"; xx: "ci.xx"; xy: "ci.xy"; xz: "ci.xz"; ya: "ci.ya"; yb: "ci.yb"; yc: "ci.yc"; yd: "ci.yd"; ye: "ci.ye"; yf: "ci.yf"; yg: "ci.yg"; yh: "ci.yh"; yi: "ci.yi"; yj: "ci.yj"; yk: "ci.yk"; yl: "ci.yl"; ym: "ci.ym"; yn: "ci.yn"; yo: "ci.yo"; yp: "ci.yp"; yq: "ci.yq"; yr: "ci.yr"; ys: "ci.ys"; yt: "ci.yt"; yu: "ci.yu"; yv: "ci.yv"; yw: "ci.yw"; yx: "ci.yx"; yy: "ci.yy"; yz: "ci.yz"; za: "ci.za"; zb: "ci.zb"; zc: "ci.zc"; zd: "ci.zd"; ze: "ci.ze"; zf: "ci.zf"; zg: "ci.zg"; zh: "ci.zh"; zi: "ci.zi"; zj: "ci.zj"; zk: "ci.zk"; zl: "ci.zl"; zm: "ci.zm"; zn: "ci.zn"; zo: "ci.zo"; zp: "ci.zp"; zq: "ci.zq"; zr: "ci.zr"; zs: "ci.zs"; zt: "ci.zt"; zu: "ci.zu"; zv: "ci.zv"; zw: "ci.zw"; zx: "ci.zx"; zy: "ci.zy"; zz: "ci.zz"; }; cj: { aa: "cj.aa"; ab: "cj.ab"; ac: "cj.ac"; ad: "cj.ad"; ae: "cj.ae"; af: "cj.af"; ag: "cj.ag"; ah: "cj.ah"; ai: "cj.ai"; aj: "cj.aj"; ak: "cj.ak"; al: "cj.al"; am: "cj.am"; an: "cj.an"; ao: "cj.ao"; ap: "cj.ap"; aq: "cj.aq"; ar: "cj.ar"; as: "cj.as"; at: "cj.at"; au: "cj.au"; av: "cj.av"; aw: "cj.aw"; ax: "cj.ax"; ay: "cj.ay"; az: "cj.az"; ba: "cj.ba"; bb: "cj.bb"; bc: "cj.bc"; bd: "cj.bd"; be: "cj.be"; bf: "cj.bf"; bg: "cj.bg"; bh: "cj.bh"; bi: "cj.bi"; bj: "cj.bj"; bk: "cj.bk"; bl: "cj.bl"; bm: "cj.bm"; bn: "cj.bn"; bo: "cj.bo"; bp: "cj.bp"; bq: "cj.bq"; br: "cj.br"; bs: "cj.bs"; bt: "cj.bt"; bu: "cj.bu"; bv: "cj.bv"; bw: "cj.bw"; bx: "cj.bx"; by: "cj.by"; bz: "cj.bz"; ca: "cj.ca"; cb: "cj.cb"; cc: "cj.cc"; cd: "cj.cd"; ce: "cj.ce"; cf: "cj.cf"; cg: "cj.cg"; ch: "cj.ch"; ci: "cj.ci"; cj: "cj.cj"; ck: "cj.ck"; cl: "cj.cl"; cm: "cj.cm"; cn: "cj.cn"; co: "cj.co"; cp: "cj.cp"; cq: "cj.cq"; cr: "cj.cr"; cs: "cj.cs"; ct: "cj.ct"; cu: "cj.cu"; cv: "cj.cv"; cw: "cj.cw"; cx: "cj.cx"; cy: "cj.cy"; cz: "cj.cz"; da: "cj.da"; db: "cj.db"; dc: "cj.dc"; dd: "cj.dd"; de: "cj.de"; df: "cj.df"; dg: "cj.dg"; dh: "cj.dh"; di: "cj.di"; dj: "cj.dj"; dk: "cj.dk"; dl: "cj.dl"; dm: "cj.dm"; dn: "cj.dn"; do: "cj.do"; dp: "cj.dp"; dq: "cj.dq"; dr: "cj.dr"; ds: "cj.ds"; dt: "cj.dt"; du: "cj.du"; dv: "cj.dv"; dw: "cj.dw"; dx: "cj.dx"; dy: "cj.dy"; dz: "cj.dz"; ea: "cj.ea"; eb: "cj.eb"; ec: "cj.ec"; ed: "cj.ed"; ee: "cj.ee"; ef: "cj.ef"; eg: "cj.eg"; eh: "cj.eh"; ei: "cj.ei"; ej: "cj.ej"; ek: "cj.ek"; el: "cj.el"; em: "cj.em"; en: "cj.en"; eo: "cj.eo"; ep: "cj.ep"; eq: "cj.eq"; er: "cj.er"; es: "cj.es"; et: "cj.et"; eu: "cj.eu"; ev: "cj.ev"; ew: "cj.ew"; ex: "cj.ex"; ey: "cj.ey"; ez: "cj.ez"; fa: "cj.fa"; fb: "cj.fb"; fc: "cj.fc"; fd: "cj.fd"; fe: "cj.fe"; ff: "cj.ff"; fg: "cj.fg"; fh: "cj.fh"; fi: "cj.fi"; fj: "cj.fj"; fk: "cj.fk"; fl: "cj.fl"; fm: "cj.fm"; fn: "cj.fn"; fo: "cj.fo"; fp: "cj.fp"; fq: "cj.fq"; fr: "cj.fr"; fs: "cj.fs"; ft: "cj.ft"; fu: "cj.fu"; fv: "cj.fv"; fw: "cj.fw"; fx: "cj.fx"; fy: "cj.fy"; fz: "cj.fz"; ga: "cj.ga"; gb: "cj.gb"; gc: "cj.gc"; gd: "cj.gd"; ge: "cj.ge"; gf: "cj.gf"; gg: "cj.gg"; gh: "cj.gh"; gi: "cj.gi"; gj: "cj.gj"; gk: "cj.gk"; gl: "cj.gl"; gm: "cj.gm"; gn: "cj.gn"; go: "cj.go"; gp: "cj.gp"; gq: "cj.gq"; gr: "cj.gr"; gs: "cj.gs"; gt: "cj.gt"; gu: "cj.gu"; gv: "cj.gv"; gw: "cj.gw"; gx: "cj.gx"; gy: "cj.gy"; gz: "cj.gz"; ha: "cj.ha"; hb: "cj.hb"; hc: "cj.hc"; hd: "cj.hd"; he: "cj.he"; hf: "cj.hf"; hg: "cj.hg"; hh: "cj.hh"; hi: "cj.hi"; hj: "cj.hj"; hk: "cj.hk"; hl: "cj.hl"; hm: "cj.hm"; hn: "cj.hn"; ho: "cj.ho"; hp: "cj.hp"; hq: "cj.hq"; hr: "cj.hr"; hs: "cj.hs"; ht: "cj.ht"; hu: "cj.hu"; hv: "cj.hv"; hw: "cj.hw"; hx: "cj.hx"; hy: "cj.hy"; hz: "cj.hz"; ia: "cj.ia"; ib: "cj.ib"; ic: "cj.ic"; id: "cj.id"; ie: "cj.ie"; if: "cj.if"; ig: "cj.ig"; ih: "cj.ih"; ii: "cj.ii"; ij: "cj.ij"; ik: "cj.ik"; il: "cj.il"; im: "cj.im"; in: "cj.in"; io: "cj.io"; ip: "cj.ip"; iq: "cj.iq"; ir: "cj.ir"; is: "cj.is"; it: "cj.it"; iu: "cj.iu"; iv: "cj.iv"; iw: "cj.iw"; ix: "cj.ix"; iy: "cj.iy"; iz: "cj.iz"; ja: "cj.ja"; jb: "cj.jb"; jc: "cj.jc"; jd: "cj.jd"; je: "cj.je"; jf: "cj.jf"; jg: "cj.jg"; jh: "cj.jh"; ji: "cj.ji"; jj: "cj.jj"; jk: "cj.jk"; jl: "cj.jl"; jm: "cj.jm"; jn: "cj.jn"; jo: "cj.jo"; jp: "cj.jp"; jq: "cj.jq"; jr: "cj.jr"; js: "cj.js"; jt: "cj.jt"; ju: "cj.ju"; jv: "cj.jv"; jw: "cj.jw"; jx: "cj.jx"; jy: "cj.jy"; jz: "cj.jz"; ka: "cj.ka"; kb: "cj.kb"; kc: "cj.kc"; kd: "cj.kd"; ke: "cj.ke"; kf: "cj.kf"; kg: "cj.kg"; kh: "cj.kh"; ki: "cj.ki"; kj: "cj.kj"; kk: "cj.kk"; kl: "cj.kl"; km: "cj.km"; kn: "cj.kn"; ko: "cj.ko"; kp: "cj.kp"; kq: "cj.kq"; kr: "cj.kr"; ks: "cj.ks"; kt: "cj.kt"; ku: "cj.ku"; kv: "cj.kv"; kw: "cj.kw"; kx: "cj.kx"; ky: "cj.ky"; kz: "cj.kz"; la: "cj.la"; lb: "cj.lb"; lc: "cj.lc"; ld: "cj.ld"; le: "cj.le"; lf: "cj.lf"; lg: "cj.lg"; lh: "cj.lh"; li: "cj.li"; lj: "cj.lj"; lk: "cj.lk"; ll: "cj.ll"; lm: "cj.lm"; ln: "cj.ln"; lo: "cj.lo"; lp: "cj.lp"; lq: "cj.lq"; lr: "cj.lr"; ls: "cj.ls"; lt: "cj.lt"; lu: "cj.lu"; lv: "cj.lv"; lw: "cj.lw"; lx: "cj.lx"; ly: "cj.ly"; lz: "cj.lz"; ma: "cj.ma"; mb: "cj.mb"; mc: "cj.mc"; md: "cj.md"; me: "cj.me"; mf: "cj.mf"; mg: "cj.mg"; mh: "cj.mh"; mi: "cj.mi"; mj: "cj.mj"; mk: "cj.mk"; ml: "cj.ml"; mm: "cj.mm"; mn: "cj.mn"; mo: "cj.mo"; mp: "cj.mp"; mq: "cj.mq"; mr: "cj.mr"; ms: "cj.ms"; mt: "cj.mt"; mu: "cj.mu"; mv: "cj.mv"; mw: "cj.mw"; mx: "cj.mx"; my: "cj.my"; mz: "cj.mz"; na: "cj.na"; nb: "cj.nb"; nc: "cj.nc"; nd: "cj.nd"; ne: "cj.ne"; nf: "cj.nf"; ng: "cj.ng"; nh: "cj.nh"; ni: "cj.ni"; nj: "cj.nj"; nk: "cj.nk"; nl: "cj.nl"; nm: "cj.nm"; nn: "cj.nn"; no: "cj.no"; np: "cj.np"; nq: "cj.nq"; nr: "cj.nr"; ns: "cj.ns"; nt: "cj.nt"; nu: "cj.nu"; nv: "cj.nv"; nw: "cj.nw"; nx: "cj.nx"; ny: "cj.ny"; nz: "cj.nz"; oa: "cj.oa"; ob: "cj.ob"; oc: "cj.oc"; od: "cj.od"; oe: "cj.oe"; of: "cj.of"; og: "cj.og"; oh: "cj.oh"; oi: "cj.oi"; oj: "cj.oj"; ok: "cj.ok"; ol: "cj.ol"; om: "cj.om"; on: "cj.on"; oo: "cj.oo"; op: "cj.op"; oq: "cj.oq"; or: "cj.or"; os: "cj.os"; ot: "cj.ot"; ou: "cj.ou"; ov: "cj.ov"; ow: "cj.ow"; ox: "cj.ox"; oy: "cj.oy"; oz: "cj.oz"; pa: "cj.pa"; pb: "cj.pb"; pc: "cj.pc"; pd: "cj.pd"; pe: "cj.pe"; pf: "cj.pf"; pg: "cj.pg"; ph: "cj.ph"; pi: "cj.pi"; pj: "cj.pj"; pk: "cj.pk"; pl: "cj.pl"; pm: "cj.pm"; pn: "cj.pn"; po: "cj.po"; pp: "cj.pp"; pq: "cj.pq"; pr: "cj.pr"; ps: "cj.ps"; pt: "cj.pt"; pu: "cj.pu"; pv: "cj.pv"; pw: "cj.pw"; px: "cj.px"; py: "cj.py"; pz: "cj.pz"; qa: "cj.qa"; qb: "cj.qb"; qc: "cj.qc"; qd: "cj.qd"; qe: "cj.qe"; qf: "cj.qf"; qg: "cj.qg"; qh: "cj.qh"; qi: "cj.qi"; qj: "cj.qj"; qk: "cj.qk"; ql: "cj.ql"; qm: "cj.qm"; qn: "cj.qn"; qo: "cj.qo"; qp: "cj.qp"; qq: "cj.qq"; qr: "cj.qr"; qs: "cj.qs"; qt: "cj.qt"; qu: "cj.qu"; qv: "cj.qv"; qw: "cj.qw"; qx: "cj.qx"; qy: "cj.qy"; qz: "cj.qz"; ra: "cj.ra"; rb: "cj.rb"; rc: "cj.rc"; rd: "cj.rd"; re: "cj.re"; rf: "cj.rf"; rg: "cj.rg"; rh: "cj.rh"; ri: "cj.ri"; rj: "cj.rj"; rk: "cj.rk"; rl: "cj.rl"; rm: "cj.rm"; rn: "cj.rn"; ro: "cj.ro"; rp: "cj.rp"; rq: "cj.rq"; rr: "cj.rr"; rs: "cj.rs"; rt: "cj.rt"; ru: "cj.ru"; rv: "cj.rv"; rw: "cj.rw"; rx: "cj.rx"; ry: "cj.ry"; rz: "cj.rz"; sa: "cj.sa"; sb: "cj.sb"; sc: "cj.sc"; sd: "cj.sd"; se: "cj.se"; sf: "cj.sf"; sg: "cj.sg"; sh: "cj.sh"; si: "cj.si"; sj: "cj.sj"; sk: "cj.sk"; sl: "cj.sl"; sm: "cj.sm"; sn: "cj.sn"; so: "cj.so"; sp: "cj.sp"; sq: "cj.sq"; sr: "cj.sr"; ss: "cj.ss"; st: "cj.st"; su: "cj.su"; sv: "cj.sv"; sw: "cj.sw"; sx: "cj.sx"; sy: "cj.sy"; sz: "cj.sz"; ta: "cj.ta"; tb: "cj.tb"; tc: "cj.tc"; td: "cj.td"; te: "cj.te"; tf: "cj.tf"; tg: "cj.tg"; th: "cj.th"; ti: "cj.ti"; tj: "cj.tj"; tk: "cj.tk"; tl: "cj.tl"; tm: "cj.tm"; tn: "cj.tn"; to: "cj.to"; tp: "cj.tp"; tq: "cj.tq"; tr: "cj.tr"; ts: "cj.ts"; tt: "cj.tt"; tu: "cj.tu"; tv: "cj.tv"; tw: "cj.tw"; tx: "cj.tx"; ty: "cj.ty"; tz: "cj.tz"; ua: "cj.ua"; ub: "cj.ub"; uc: "cj.uc"; ud: "cj.ud"; ue: "cj.ue"; uf: "cj.uf"; ug: "cj.ug"; uh: "cj.uh"; ui: "cj.ui"; uj: "cj.uj"; uk: "cj.uk"; ul: "cj.ul"; um: "cj.um"; un: "cj.un"; uo: "cj.uo"; up: "cj.up"; uq: "cj.uq"; ur: "cj.ur"; us: "cj.us"; ut: "cj.ut"; uu: "cj.uu"; uv: "cj.uv"; uw: "cj.uw"; ux: "cj.ux"; uy: "cj.uy"; uz: "cj.uz"; va: "cj.va"; vb: "cj.vb"; vc: "cj.vc"; vd: "cj.vd"; ve: "cj.ve"; vf: "cj.vf"; vg: "cj.vg"; vh: "cj.vh"; vi: "cj.vi"; vj: "cj.vj"; vk: "cj.vk"; vl: "cj.vl"; vm: "cj.vm"; vn: "cj.vn"; vo: "cj.vo"; vp: "cj.vp"; vq: "cj.vq"; vr: "cj.vr"; vs: "cj.vs"; vt: "cj.vt"; vu: "cj.vu"; vv: "cj.vv"; vw: "cj.vw"; vx: "cj.vx"; vy: "cj.vy"; vz: "cj.vz"; wa: "cj.wa"; wb: "cj.wb"; wc: "cj.wc"; wd: "cj.wd"; we: "cj.we"; wf: "cj.wf"; wg: "cj.wg"; wh: "cj.wh"; wi: "cj.wi"; wj: "cj.wj"; wk: "cj.wk"; wl: "cj.wl"; wm: "cj.wm"; wn: "cj.wn"; wo: "cj.wo"; wp: "cj.wp"; wq: "cj.wq"; wr: "cj.wr"; ws: "cj.ws"; wt: "cj.wt"; wu: "cj.wu"; wv: "cj.wv"; ww: "cj.ww"; wx: "cj.wx"; wy: "cj.wy"; wz: "cj.wz"; xa: "cj.xa"; xb: "cj.xb"; xc: "cj.xc"; xd: "cj.xd"; xe: "cj.xe"; xf: "cj.xf"; xg: "cj.xg"; xh: "cj.xh"; xi: "cj.xi"; xj: "cj.xj"; xk: "cj.xk"; xl: "cj.xl"; xm: "cj.xm"; xn: "cj.xn"; xo: "cj.xo"; xp: "cj.xp"; xq: "cj.xq"; xr: "cj.xr"; xs: "cj.xs"; xt: "cj.xt"; xu: "cj.xu"; xv: "cj.xv"; xw: "cj.xw"; xx: "cj.xx"; xy: "cj.xy"; xz: "cj.xz"; ya: "cj.ya"; yb: "cj.yb"; yc: "cj.yc"; yd: "cj.yd"; ye: "cj.ye"; yf: "cj.yf"; yg: "cj.yg"; yh: "cj.yh"; yi: "cj.yi"; yj: "cj.yj"; yk: "cj.yk"; yl: "cj.yl"; ym: "cj.ym"; yn: "cj.yn"; yo: "cj.yo"; yp: "cj.yp"; yq: "cj.yq"; yr: "cj.yr"; ys: "cj.ys"; yt: "cj.yt"; yu: "cj.yu"; yv: "cj.yv"; yw: "cj.yw"; yx: "cj.yx"; yy: "cj.yy"; yz: "cj.yz"; za: "cj.za"; zb: "cj.zb"; zc: "cj.zc"; zd: "cj.zd"; ze: "cj.ze"; zf: "cj.zf"; zg: "cj.zg"; zh: "cj.zh"; zi: "cj.zi"; zj: "cj.zj"; zk: "cj.zk"; zl: "cj.zl"; zm: "cj.zm"; zn: "cj.zn"; zo: "cj.zo"; zp: "cj.zp"; zq: "cj.zq"; zr: "cj.zr"; zs: "cj.zs"; zt: "cj.zt"; zu: "cj.zu"; zv: "cj.zv"; zw: "cj.zw"; zx: "cj.zx"; zy: "cj.zy"; zz: "cj.zz"; }; ck: { aa: "ck.aa"; ab: "ck.ab"; ac: "ck.ac"; ad: "ck.ad"; ae: "ck.ae"; af: "ck.af"; ag: "ck.ag"; ah: "ck.ah"; ai: "ck.ai"; aj: "ck.aj"; ak: "ck.ak"; al: "ck.al"; am: "ck.am"; an: "ck.an"; ao: "ck.ao"; ap: "ck.ap"; aq: "ck.aq"; ar: "ck.ar"; as: "ck.as"; at: "ck.at"; au: "ck.au"; av: "ck.av"; aw: "ck.aw"; ax: "ck.ax"; ay: "ck.ay"; az: "ck.az"; ba: "ck.ba"; bb: "ck.bb"; bc: "ck.bc"; bd: "ck.bd"; be: "ck.be"; bf: "ck.bf"; bg: "ck.bg"; bh: "ck.bh"; bi: "ck.bi"; bj: "ck.bj"; bk: "ck.bk"; bl: "ck.bl"; bm: "ck.bm"; bn: "ck.bn"; bo: "ck.bo"; bp: "ck.bp"; bq: "ck.bq"; br: "ck.br"; bs: "ck.bs"; bt: "ck.bt"; bu: "ck.bu"; bv: "ck.bv"; bw: "ck.bw"; bx: "ck.bx"; by: "ck.by"; bz: "ck.bz"; ca: "ck.ca"; cb: "ck.cb"; cc: "ck.cc"; cd: "ck.cd"; ce: "ck.ce"; cf: "ck.cf"; cg: "ck.cg"; ch: "ck.ch"; ci: "ck.ci"; cj: "ck.cj"; ck: "ck.ck"; cl: "ck.cl"; cm: "ck.cm"; cn: "ck.cn"; co: "ck.co"; cp: "ck.cp"; cq: "ck.cq"; cr: "ck.cr"; cs: "ck.cs"; ct: "ck.ct"; cu: "ck.cu"; cv: "ck.cv"; cw: "ck.cw"; cx: "ck.cx"; cy: "ck.cy"; cz: "ck.cz"; da: "ck.da"; db: "ck.db"; dc: "ck.dc"; dd: "ck.dd"; de: "ck.de"; df: "ck.df"; dg: "ck.dg"; dh: "ck.dh"; di: "ck.di"; dj: "ck.dj"; dk: "ck.dk"; dl: "ck.dl"; dm: "ck.dm"; dn: "ck.dn"; do: "ck.do"; dp: "ck.dp"; dq: "ck.dq"; dr: "ck.dr"; ds: "ck.ds"; dt: "ck.dt"; du: "ck.du"; dv: "ck.dv"; dw: "ck.dw"; dx: "ck.dx"; dy: "ck.dy"; dz: "ck.dz"; ea: "ck.ea"; eb: "ck.eb"; ec: "ck.ec"; ed: "ck.ed"; ee: "ck.ee"; ef: "ck.ef"; eg: "ck.eg"; eh: "ck.eh"; ei: "ck.ei"; ej: "ck.ej"; ek: "ck.ek"; el: "ck.el"; em: "ck.em"; en: "ck.en"; eo: "ck.eo"; ep: "ck.ep"; eq: "ck.eq"; er: "ck.er"; es: "ck.es"; et: "ck.et"; eu: "ck.eu"; ev: "ck.ev"; ew: "ck.ew"; ex: "ck.ex"; ey: "ck.ey"; ez: "ck.ez"; fa: "ck.fa"; fb: "ck.fb"; fc: "ck.fc"; fd: "ck.fd"; fe: "ck.fe"; ff: "ck.ff"; fg: "ck.fg"; fh: "ck.fh"; fi: "ck.fi"; fj: "ck.fj"; fk: "ck.fk"; fl: "ck.fl"; fm: "ck.fm"; fn: "ck.fn"; fo: "ck.fo"; fp: "ck.fp"; fq: "ck.fq"; fr: "ck.fr"; fs: "ck.fs"; ft: "ck.ft"; fu: "ck.fu"; fv: "ck.fv"; fw: "ck.fw"; fx: "ck.fx"; fy: "ck.fy"; fz: "ck.fz"; ga: "ck.ga"; gb: "ck.gb"; gc: "ck.gc"; gd: "ck.gd"; ge: "ck.ge"; gf: "ck.gf"; gg: "ck.gg"; gh: "ck.gh"; gi: "ck.gi"; gj: "ck.gj"; gk: "ck.gk"; gl: "ck.gl"; gm: "ck.gm"; gn: "ck.gn"; go: "ck.go"; gp: "ck.gp"; gq: "ck.gq"; gr: "ck.gr"; gs: "ck.gs"; gt: "ck.gt"; gu: "ck.gu"; gv: "ck.gv"; gw: "ck.gw"; gx: "ck.gx"; gy: "ck.gy"; gz: "ck.gz"; ha: "ck.ha"; hb: "ck.hb"; hc: "ck.hc"; hd: "ck.hd"; he: "ck.he"; hf: "ck.hf"; hg: "ck.hg"; hh: "ck.hh"; hi: "ck.hi"; hj: "ck.hj"; hk: "ck.hk"; hl: "ck.hl"; hm: "ck.hm"; hn: "ck.hn"; ho: "ck.ho"; hp: "ck.hp"; hq: "ck.hq"; hr: "ck.hr"; hs: "ck.hs"; ht: "ck.ht"; hu: "ck.hu"; hv: "ck.hv"; hw: "ck.hw"; hx: "ck.hx"; hy: "ck.hy"; hz: "ck.hz"; ia: "ck.ia"; ib: "ck.ib"; ic: "ck.ic"; id: "ck.id"; ie: "ck.ie"; if: "ck.if"; ig: "ck.ig"; ih: "ck.ih"; ii: "ck.ii"; ij: "ck.ij"; ik: "ck.ik"; il: "ck.il"; im: "ck.im"; in: "ck.in"; io: "ck.io"; ip: "ck.ip"; iq: "ck.iq"; ir: "ck.ir"; is: "ck.is"; it: "ck.it"; iu: "ck.iu"; iv: "ck.iv"; iw: "ck.iw"; ix: "ck.ix"; iy: "ck.iy"; iz: "ck.iz"; ja: "ck.ja"; jb: "ck.jb"; jc: "ck.jc"; jd: "ck.jd"; je: "ck.je"; jf: "ck.jf"; jg: "ck.jg"; jh: "ck.jh"; ji: "ck.ji"; jj: "ck.jj"; jk: "ck.jk"; jl: "ck.jl"; jm: "ck.jm"; jn: "ck.jn"; jo: "ck.jo"; jp: "ck.jp"; jq: "ck.jq"; jr: "ck.jr"; js: "ck.js"; jt: "ck.jt"; ju: "ck.ju"; jv: "ck.jv"; jw: "ck.jw"; jx: "ck.jx"; jy: "ck.jy"; jz: "ck.jz"; ka: "ck.ka"; kb: "ck.kb"; kc: "ck.kc"; kd: "ck.kd"; ke: "ck.ke"; kf: "ck.kf"; kg: "ck.kg"; kh: "ck.kh"; ki: "ck.ki"; kj: "ck.kj"; kk: "ck.kk"; kl: "ck.kl"; km: "ck.km"; kn: "ck.kn"; ko: "ck.ko"; kp: "ck.kp"; kq: "ck.kq"; kr: "ck.kr"; ks: "ck.ks"; kt: "ck.kt"; ku: "ck.ku"; kv: "ck.kv"; kw: "ck.kw"; kx: "ck.kx"; ky: "ck.ky"; kz: "ck.kz"; la: "ck.la"; lb: "ck.lb"; lc: "ck.lc"; ld: "ck.ld"; le: "ck.le"; lf: "ck.lf"; lg: "ck.lg"; lh: "ck.lh"; li: "ck.li"; lj: "ck.lj"; lk: "ck.lk"; ll: "ck.ll"; lm: "ck.lm"; ln: "ck.ln"; lo: "ck.lo"; lp: "ck.lp"; lq: "ck.lq"; lr: "ck.lr"; ls: "ck.ls"; lt: "ck.lt"; lu: "ck.lu"; lv: "ck.lv"; lw: "ck.lw"; lx: "ck.lx"; ly: "ck.ly"; lz: "ck.lz"; ma: "ck.ma"; mb: "ck.mb"; mc: "ck.mc"; md: "ck.md"; me: "ck.me"; mf: "ck.mf"; mg: "ck.mg"; mh: "ck.mh"; mi: "ck.mi"; mj: "ck.mj"; mk: "ck.mk"; ml: "ck.ml"; mm: "ck.mm"; mn: "ck.mn"; mo: "ck.mo"; mp: "ck.mp"; mq: "ck.mq"; mr: "ck.mr"; ms: "ck.ms"; mt: "ck.mt"; mu: "ck.mu"; mv: "ck.mv"; mw: "ck.mw"; mx: "ck.mx"; my: "ck.my"; mz: "ck.mz"; na: "ck.na"; nb: "ck.nb"; nc: "ck.nc"; nd: "ck.nd"; ne: "ck.ne"; nf: "ck.nf"; ng: "ck.ng"; nh: "ck.nh"; ni: "ck.ni"; nj: "ck.nj"; nk: "ck.nk"; nl: "ck.nl"; nm: "ck.nm"; nn: "ck.nn"; no: "ck.no"; np: "ck.np"; nq: "ck.nq"; nr: "ck.nr"; ns: "ck.ns"; nt: "ck.nt"; nu: "ck.nu"; nv: "ck.nv"; nw: "ck.nw"; nx: "ck.nx"; ny: "ck.ny"; nz: "ck.nz"; oa: "ck.oa"; ob: "ck.ob"; oc: "ck.oc"; od: "ck.od"; oe: "ck.oe"; of: "ck.of"; og: "ck.og"; oh: "ck.oh"; oi: "ck.oi"; oj: "ck.oj"; ok: "ck.ok"; ol: "ck.ol"; om: "ck.om"; on: "ck.on"; oo: "ck.oo"; op: "ck.op"; oq: "ck.oq"; or: "ck.or"; os: "ck.os"; ot: "ck.ot"; ou: "ck.ou"; ov: "ck.ov"; ow: "ck.ow"; ox: "ck.ox"; oy: "ck.oy"; oz: "ck.oz"; pa: "ck.pa"; pb: "ck.pb"; pc: "ck.pc"; pd: "ck.pd"; pe: "ck.pe"; pf: "ck.pf"; pg: "ck.pg"; ph: "ck.ph"; pi: "ck.pi"; pj: "ck.pj"; pk: "ck.pk"; pl: "ck.pl"; pm: "ck.pm"; pn: "ck.pn"; po: "ck.po"; pp: "ck.pp"; pq: "ck.pq"; pr: "ck.pr"; ps: "ck.ps"; pt: "ck.pt"; pu: "ck.pu"; pv: "ck.pv"; pw: "ck.pw"; px: "ck.px"; py: "ck.py"; pz: "ck.pz"; qa: "ck.qa"; qb: "ck.qb"; qc: "ck.qc"; qd: "ck.qd"; qe: "ck.qe"; qf: "ck.qf"; qg: "ck.qg"; qh: "ck.qh"; qi: "ck.qi"; qj: "ck.qj"; qk: "ck.qk"; ql: "ck.ql"; qm: "ck.qm"; qn: "ck.qn"; qo: "ck.qo"; qp: "ck.qp"; qq: "ck.qq"; qr: "ck.qr"; qs: "ck.qs"; qt: "ck.qt"; qu: "ck.qu"; qv: "ck.qv"; qw: "ck.qw"; qx: "ck.qx"; qy: "ck.qy"; qz: "ck.qz"; ra: "ck.ra"; rb: "ck.rb"; rc: "ck.rc"; rd: "ck.rd"; re: "ck.re"; rf: "ck.rf"; rg: "ck.rg"; rh: "ck.rh"; ri: "ck.ri"; rj: "ck.rj"; rk: "ck.rk"; rl: "ck.rl"; rm: "ck.rm"; rn: "ck.rn"; ro: "ck.ro"; rp: "ck.rp"; rq: "ck.rq"; rr: "ck.rr"; rs: "ck.rs"; rt: "ck.rt"; ru: "ck.ru"; rv: "ck.rv"; rw: "ck.rw"; rx: "ck.rx"; ry: "ck.ry"; rz: "ck.rz"; sa: "ck.sa"; sb: "ck.sb"; sc: "ck.sc"; sd: "ck.sd"; se: "ck.se"; sf: "ck.sf"; sg: "ck.sg"; sh: "ck.sh"; si: "ck.si"; sj: "ck.sj"; sk: "ck.sk"; sl: "ck.sl"; sm: "ck.sm"; sn: "ck.sn"; so: "ck.so"; sp: "ck.sp"; sq: "ck.sq"; sr: "ck.sr"; ss: "ck.ss"; st: "ck.st"; su: "ck.su"; sv: "ck.sv"; sw: "ck.sw"; sx: "ck.sx"; sy: "ck.sy"; sz: "ck.sz"; ta: "ck.ta"; tb: "ck.tb"; tc: "ck.tc"; td: "ck.td"; te: "ck.te"; tf: "ck.tf"; tg: "ck.tg"; th: "ck.th"; ti: "ck.ti"; tj: "ck.tj"; tk: "ck.tk"; tl: "ck.tl"; tm: "ck.tm"; tn: "ck.tn"; to: "ck.to"; tp: "ck.tp"; tq: "ck.tq"; tr: "ck.tr"; ts: "ck.ts"; tt: "ck.tt"; tu: "ck.tu"; tv: "ck.tv"; tw: "ck.tw"; tx: "ck.tx"; ty: "ck.ty"; tz: "ck.tz"; ua: "ck.ua"; ub: "ck.ub"; uc: "ck.uc"; ud: "ck.ud"; ue: "ck.ue"; uf: "ck.uf"; ug: "ck.ug"; uh: "ck.uh"; ui: "ck.ui"; uj: "ck.uj"; uk: "ck.uk"; ul: "ck.ul"; um: "ck.um"; un: "ck.un"; uo: "ck.uo"; up: "ck.up"; uq: "ck.uq"; ur: "ck.ur"; us: "ck.us"; ut: "ck.ut"; uu: "ck.uu"; uv: "ck.uv"; uw: "ck.uw"; ux: "ck.ux"; uy: "ck.uy"; uz: "ck.uz"; va: "ck.va"; vb: "ck.vb"; vc: "ck.vc"; vd: "ck.vd"; ve: "ck.ve"; vf: "ck.vf"; vg: "ck.vg"; vh: "ck.vh"; vi: "ck.vi"; vj: "ck.vj"; vk: "ck.vk"; vl: "ck.vl"; vm: "ck.vm"; vn: "ck.vn"; vo: "ck.vo"; vp: "ck.vp"; vq: "ck.vq"; vr: "ck.vr"; vs: "ck.vs"; vt: "ck.vt"; vu: "ck.vu"; vv: "ck.vv"; vw: "ck.vw"; vx: "ck.vx"; vy: "ck.vy"; vz: "ck.vz"; wa: "ck.wa"; wb: "ck.wb"; wc: "ck.wc"; wd: "ck.wd"; we: "ck.we"; wf: "ck.wf"; wg: "ck.wg"; wh: "ck.wh"; wi: "ck.wi"; wj: "ck.wj"; wk: "ck.wk"; wl: "ck.wl"; wm: "ck.wm"; wn: "ck.wn"; wo: "ck.wo"; wp: "ck.wp"; wq: "ck.wq"; wr: "ck.wr"; ws: "ck.ws"; wt: "ck.wt"; wu: "ck.wu"; wv: "ck.wv"; ww: "ck.ww"; wx: "ck.wx"; wy: "ck.wy"; wz: "ck.wz"; xa: "ck.xa"; xb: "ck.xb"; xc: "ck.xc"; xd: "ck.xd"; xe: "ck.xe"; xf: "ck.xf"; xg: "ck.xg"; xh: "ck.xh"; xi: "ck.xi"; xj: "ck.xj"; xk: "ck.xk"; xl: "ck.xl"; xm: "ck.xm"; xn: "ck.xn"; xo: "ck.xo"; xp: "ck.xp"; xq: "ck.xq"; xr: "ck.xr"; xs: "ck.xs"; xt: "ck.xt"; xu: "ck.xu"; xv: "ck.xv"; xw: "ck.xw"; xx: "ck.xx"; xy: "ck.xy"; xz: "ck.xz"; ya: "ck.ya"; yb: "ck.yb"; yc: "ck.yc"; yd: "ck.yd"; ye: "ck.ye"; yf: "ck.yf"; yg: "ck.yg"; yh: "ck.yh"; yi: "ck.yi"; yj: "ck.yj"; yk: "ck.yk"; yl: "ck.yl"; ym: "ck.ym"; yn: "ck.yn"; yo: "ck.yo"; yp: "ck.yp"; yq: "ck.yq"; yr: "ck.yr"; ys: "ck.ys"; yt: "ck.yt"; yu: "ck.yu"; yv: "ck.yv"; yw: "ck.yw"; yx: "ck.yx"; yy: "ck.yy"; yz: "ck.yz"; za: "ck.za"; zb: "ck.zb"; zc: "ck.zc"; zd: "ck.zd"; ze: "ck.ze"; zf: "ck.zf"; zg: "ck.zg"; zh: "ck.zh"; zi: "ck.zi"; zj: "ck.zj"; zk: "ck.zk"; zl: "ck.zl"; zm: "ck.zm"; zn: "ck.zn"; zo: "ck.zo"; zp: "ck.zp"; zq: "ck.zq"; zr: "ck.zr"; zs: "ck.zs"; zt: "ck.zt"; zu: "ck.zu"; zv: "ck.zv"; zw: "ck.zw"; zx: "ck.zx"; zy: "ck.zy"; zz: "ck.zz"; }; cl: { aa: "cl.aa"; ab: "cl.ab"; ac: "cl.ac"; ad: "cl.ad"; ae: "cl.ae"; af: "cl.af"; ag: "cl.ag"; ah: "cl.ah"; ai: "cl.ai"; aj: "cl.aj"; ak: "cl.ak"; al: "cl.al"; am: "cl.am"; an: "cl.an"; ao: "cl.ao"; ap: "cl.ap"; aq: "cl.aq"; ar: "cl.ar"; as: "cl.as"; at: "cl.at"; au: "cl.au"; av: "cl.av"; aw: "cl.aw"; ax: "cl.ax"; ay: "cl.ay"; az: "cl.az"; ba: "cl.ba"; bb: "cl.bb"; bc: "cl.bc"; bd: "cl.bd"; be: "cl.be"; bf: "cl.bf"; bg: "cl.bg"; bh: "cl.bh"; bi: "cl.bi"; bj: "cl.bj"; bk: "cl.bk"; bl: "cl.bl"; bm: "cl.bm"; bn: "cl.bn"; bo: "cl.bo"; bp: "cl.bp"; bq: "cl.bq"; br: "cl.br"; bs: "cl.bs"; bt: "cl.bt"; bu: "cl.bu"; bv: "cl.bv"; bw: "cl.bw"; bx: "cl.bx"; by: "cl.by"; bz: "cl.bz"; ca: "cl.ca"; cb: "cl.cb"; cc: "cl.cc"; cd: "cl.cd"; ce: "cl.ce"; cf: "cl.cf"; cg: "cl.cg"; ch: "cl.ch"; ci: "cl.ci"; cj: "cl.cj"; ck: "cl.ck"; cl: "cl.cl"; cm: "cl.cm"; cn: "cl.cn"; co: "cl.co"; cp: "cl.cp"; cq: "cl.cq"; cr: "cl.cr"; cs: "cl.cs"; ct: "cl.ct"; cu: "cl.cu"; cv: "cl.cv"; cw: "cl.cw"; cx: "cl.cx"; cy: "cl.cy"; cz: "cl.cz"; da: "cl.da"; db: "cl.db"; dc: "cl.dc"; dd: "cl.dd"; de: "cl.de"; df: "cl.df"; dg: "cl.dg"; dh: "cl.dh"; di: "cl.di"; dj: "cl.dj"; dk: "cl.dk"; dl: "cl.dl"; dm: "cl.dm"; dn: "cl.dn"; do: "cl.do"; dp: "cl.dp"; dq: "cl.dq"; dr: "cl.dr"; ds: "cl.ds"; dt: "cl.dt"; du: "cl.du"; dv: "cl.dv"; dw: "cl.dw"; dx: "cl.dx"; dy: "cl.dy"; dz: "cl.dz"; ea: "cl.ea"; eb: "cl.eb"; ec: "cl.ec"; ed: "cl.ed"; ee: "cl.ee"; ef: "cl.ef"; eg: "cl.eg"; eh: "cl.eh"; ei: "cl.ei"; ej: "cl.ej"; ek: "cl.ek"; el: "cl.el"; em: "cl.em"; en: "cl.en"; eo: "cl.eo"; ep: "cl.ep"; eq: "cl.eq"; er: "cl.er"; es: "cl.es"; et: "cl.et"; eu: "cl.eu"; ev: "cl.ev"; ew: "cl.ew"; ex: "cl.ex"; ey: "cl.ey"; ez: "cl.ez"; fa: "cl.fa"; fb: "cl.fb"; fc: "cl.fc"; fd: "cl.fd"; fe: "cl.fe"; ff: "cl.ff"; fg: "cl.fg"; fh: "cl.fh"; fi: "cl.fi"; fj: "cl.fj"; fk: "cl.fk"; fl: "cl.fl"; fm: "cl.fm"; fn: "cl.fn"; fo: "cl.fo"; fp: "cl.fp"; fq: "cl.fq"; fr: "cl.fr"; fs: "cl.fs"; ft: "cl.ft"; fu: "cl.fu"; fv: "cl.fv"; fw: "cl.fw"; fx: "cl.fx"; fy: "cl.fy"; fz: "cl.fz"; ga: "cl.ga"; gb: "cl.gb"; gc: "cl.gc"; gd: "cl.gd"; ge: "cl.ge"; gf: "cl.gf"; gg: "cl.gg"; gh: "cl.gh"; gi: "cl.gi"; gj: "cl.gj"; gk: "cl.gk"; gl: "cl.gl"; gm: "cl.gm"; gn: "cl.gn"; go: "cl.go"; gp: "cl.gp"; gq: "cl.gq"; gr: "cl.gr"; gs: "cl.gs"; gt: "cl.gt"; gu: "cl.gu"; gv: "cl.gv"; gw: "cl.gw"; gx: "cl.gx"; gy: "cl.gy"; gz: "cl.gz"; ha: "cl.ha"; hb: "cl.hb"; hc: "cl.hc"; hd: "cl.hd"; he: "cl.he"; hf: "cl.hf"; hg: "cl.hg"; hh: "cl.hh"; hi: "cl.hi"; hj: "cl.hj"; hk: "cl.hk"; hl: "cl.hl"; hm: "cl.hm"; hn: "cl.hn"; ho: "cl.ho"; hp: "cl.hp"; hq: "cl.hq"; hr: "cl.hr"; hs: "cl.hs"; ht: "cl.ht"; hu: "cl.hu"; hv: "cl.hv"; hw: "cl.hw"; hx: "cl.hx"; hy: "cl.hy"; hz: "cl.hz"; ia: "cl.ia"; ib: "cl.ib"; ic: "cl.ic"; id: "cl.id"; ie: "cl.ie"; if: "cl.if"; ig: "cl.ig"; ih: "cl.ih"; ii: "cl.ii"; ij: "cl.ij"; ik: "cl.ik"; il: "cl.il"; im: "cl.im"; in: "cl.in"; io: "cl.io"; ip: "cl.ip"; iq: "cl.iq"; ir: "cl.ir"; is: "cl.is"; it: "cl.it"; iu: "cl.iu"; iv: "cl.iv"; iw: "cl.iw"; ix: "cl.ix"; iy: "cl.iy"; iz: "cl.iz"; ja: "cl.ja"; jb: "cl.jb"; jc: "cl.jc"; jd: "cl.jd"; je: "cl.je"; jf: "cl.jf"; jg: "cl.jg"; jh: "cl.jh"; ji: "cl.ji"; jj: "cl.jj"; jk: "cl.jk"; jl: "cl.jl"; jm: "cl.jm"; jn: "cl.jn"; jo: "cl.jo"; jp: "cl.jp"; jq: "cl.jq"; jr: "cl.jr"; js: "cl.js"; jt: "cl.jt"; ju: "cl.ju"; jv: "cl.jv"; jw: "cl.jw"; jx: "cl.jx"; jy: "cl.jy"; jz: "cl.jz"; ka: "cl.ka"; kb: "cl.kb"; kc: "cl.kc"; kd: "cl.kd"; ke: "cl.ke"; kf: "cl.kf"; kg: "cl.kg"; kh: "cl.kh"; ki: "cl.ki"; kj: "cl.kj"; kk: "cl.kk"; kl: "cl.kl"; km: "cl.km"; kn: "cl.kn"; ko: "cl.ko"; kp: "cl.kp"; kq: "cl.kq"; kr: "cl.kr"; ks: "cl.ks"; kt: "cl.kt"; ku: "cl.ku"; kv: "cl.kv"; kw: "cl.kw"; kx: "cl.kx"; ky: "cl.ky"; kz: "cl.kz"; la: "cl.la"; lb: "cl.lb"; lc: "cl.lc"; ld: "cl.ld"; le: "cl.le"; lf: "cl.lf"; lg: "cl.lg"; lh: "cl.lh"; li: "cl.li"; lj: "cl.lj"; lk: "cl.lk"; ll: "cl.ll"; lm: "cl.lm"; ln: "cl.ln"; lo: "cl.lo"; lp: "cl.lp"; lq: "cl.lq"; lr: "cl.lr"; ls: "cl.ls"; lt: "cl.lt"; lu: "cl.lu"; lv: "cl.lv"; lw: "cl.lw"; lx: "cl.lx"; ly: "cl.ly"; lz: "cl.lz"; ma: "cl.ma"; mb: "cl.mb"; mc: "cl.mc"; md: "cl.md"; me: "cl.me"; mf: "cl.mf"; mg: "cl.mg"; mh: "cl.mh"; mi: "cl.mi"; mj: "cl.mj"; mk: "cl.mk"; ml: "cl.ml"; mm: "cl.mm"; mn: "cl.mn"; mo: "cl.mo"; mp: "cl.mp"; mq: "cl.mq"; mr: "cl.mr"; ms: "cl.ms"; mt: "cl.mt"; mu: "cl.mu"; mv: "cl.mv"; mw: "cl.mw"; mx: "cl.mx"; my: "cl.my"; mz: "cl.mz"; na: "cl.na"; nb: "cl.nb"; nc: "cl.nc"; nd: "cl.nd"; ne: "cl.ne"; nf: "cl.nf"; ng: "cl.ng"; nh: "cl.nh"; ni: "cl.ni"; nj: "cl.nj"; nk: "cl.nk"; nl: "cl.nl"; nm: "cl.nm"; nn: "cl.nn"; no: "cl.no"; np: "cl.np"; nq: "cl.nq"; nr: "cl.nr"; ns: "cl.ns"; nt: "cl.nt"; nu: "cl.nu"; nv: "cl.nv"; nw: "cl.nw"; nx: "cl.nx"; ny: "cl.ny"; nz: "cl.nz"; oa: "cl.oa"; ob: "cl.ob"; oc: "cl.oc"; od: "cl.od"; oe: "cl.oe"; of: "cl.of"; og: "cl.og"; oh: "cl.oh"; oi: "cl.oi"; oj: "cl.oj"; ok: "cl.ok"; ol: "cl.ol"; om: "cl.om"; on: "cl.on"; oo: "cl.oo"; op: "cl.op"; oq: "cl.oq"; or: "cl.or"; os: "cl.os"; ot: "cl.ot"; ou: "cl.ou"; ov: "cl.ov"; ow: "cl.ow"; ox: "cl.ox"; oy: "cl.oy"; oz: "cl.oz"; pa: "cl.pa"; pb: "cl.pb"; pc: "cl.pc"; pd: "cl.pd"; pe: "cl.pe"; pf: "cl.pf"; pg: "cl.pg"; ph: "cl.ph"; pi: "cl.pi"; pj: "cl.pj"; pk: "cl.pk"; pl: "cl.pl"; pm: "cl.pm"; pn: "cl.pn"; po: "cl.po"; pp: "cl.pp"; pq: "cl.pq"; pr: "cl.pr"; ps: "cl.ps"; pt: "cl.pt"; pu: "cl.pu"; pv: "cl.pv"; pw: "cl.pw"; px: "cl.px"; py: "cl.py"; pz: "cl.pz"; qa: "cl.qa"; qb: "cl.qb"; qc: "cl.qc"; qd: "cl.qd"; qe: "cl.qe"; qf: "cl.qf"; qg: "cl.qg"; qh: "cl.qh"; qi: "cl.qi"; qj: "cl.qj"; qk: "cl.qk"; ql: "cl.ql"; qm: "cl.qm"; qn: "cl.qn"; qo: "cl.qo"; qp: "cl.qp"; qq: "cl.qq"; qr: "cl.qr"; qs: "cl.qs"; qt: "cl.qt"; qu: "cl.qu"; qv: "cl.qv"; qw: "cl.qw"; qx: "cl.qx"; qy: "cl.qy"; qz: "cl.qz"; ra: "cl.ra"; rb: "cl.rb"; rc: "cl.rc"; rd: "cl.rd"; re: "cl.re"; rf: "cl.rf"; rg: "cl.rg"; rh: "cl.rh"; ri: "cl.ri"; rj: "cl.rj"; rk: "cl.rk"; rl: "cl.rl"; rm: "cl.rm"; rn: "cl.rn"; ro: "cl.ro"; rp: "cl.rp"; rq: "cl.rq"; rr: "cl.rr"; rs: "cl.rs"; rt: "cl.rt"; ru: "cl.ru"; rv: "cl.rv"; rw: "cl.rw"; rx: "cl.rx"; ry: "cl.ry"; rz: "cl.rz"; sa: "cl.sa"; sb: "cl.sb"; sc: "cl.sc"; sd: "cl.sd"; se: "cl.se"; sf: "cl.sf"; sg: "cl.sg"; sh: "cl.sh"; si: "cl.si"; sj: "cl.sj"; sk: "cl.sk"; sl: "cl.sl"; sm: "cl.sm"; sn: "cl.sn"; so: "cl.so"; sp: "cl.sp"; sq: "cl.sq"; sr: "cl.sr"; ss: "cl.ss"; st: "cl.st"; su: "cl.su"; sv: "cl.sv"; sw: "cl.sw"; sx: "cl.sx"; sy: "cl.sy"; sz: "cl.sz"; ta: "cl.ta"; tb: "cl.tb"; tc: "cl.tc"; td: "cl.td"; te: "cl.te"; tf: "cl.tf"; tg: "cl.tg"; th: "cl.th"; ti: "cl.ti"; tj: "cl.tj"; tk: "cl.tk"; tl: "cl.tl"; tm: "cl.tm"; tn: "cl.tn"; to: "cl.to"; tp: "cl.tp"; tq: "cl.tq"; tr: "cl.tr"; ts: "cl.ts"; tt: "cl.tt"; tu: "cl.tu"; tv: "cl.tv"; tw: "cl.tw"; tx: "cl.tx"; ty: "cl.ty"; tz: "cl.tz"; ua: "cl.ua"; ub: "cl.ub"; uc: "cl.uc"; ud: "cl.ud"; ue: "cl.ue"; uf: "cl.uf"; ug: "cl.ug"; uh: "cl.uh"; ui: "cl.ui"; uj: "cl.uj"; uk: "cl.uk"; ul: "cl.ul"; um: "cl.um"; un: "cl.un"; uo: "cl.uo"; up: "cl.up"; uq: "cl.uq"; ur: "cl.ur"; us: "cl.us"; ut: "cl.ut"; uu: "cl.uu"; uv: "cl.uv"; uw: "cl.uw"; ux: "cl.ux"; uy: "cl.uy"; uz: "cl.uz"; va: "cl.va"; vb: "cl.vb"; vc: "cl.vc"; vd: "cl.vd"; ve: "cl.ve"; vf: "cl.vf"; vg: "cl.vg"; vh: "cl.vh"; vi: "cl.vi"; vj: "cl.vj"; vk: "cl.vk"; vl: "cl.vl"; vm: "cl.vm"; vn: "cl.vn"; vo: "cl.vo"; vp: "cl.vp"; vq: "cl.vq"; vr: "cl.vr"; vs: "cl.vs"; vt: "cl.vt"; vu: "cl.vu"; vv: "cl.vv"; vw: "cl.vw"; vx: "cl.vx"; vy: "cl.vy"; vz: "cl.vz"; wa: "cl.wa"; wb: "cl.wb"; wc: "cl.wc"; wd: "cl.wd"; we: "cl.we"; wf: "cl.wf"; wg: "cl.wg"; wh: "cl.wh"; wi: "cl.wi"; wj: "cl.wj"; wk: "cl.wk"; wl: "cl.wl"; wm: "cl.wm"; wn: "cl.wn"; wo: "cl.wo"; wp: "cl.wp"; wq: "cl.wq"; wr: "cl.wr"; ws: "cl.ws"; wt: "cl.wt"; wu: "cl.wu"; wv: "cl.wv"; ww: "cl.ww"; wx: "cl.wx"; wy: "cl.wy"; wz: "cl.wz"; xa: "cl.xa"; xb: "cl.xb"; xc: "cl.xc"; xd: "cl.xd"; xe: "cl.xe"; xf: "cl.xf"; xg: "cl.xg"; xh: "cl.xh"; xi: "cl.xi"; xj: "cl.xj"; xk: "cl.xk"; xl: "cl.xl"; xm: "cl.xm"; xn: "cl.xn"; xo: "cl.xo"; xp: "cl.xp"; xq: "cl.xq"; xr: "cl.xr"; xs: "cl.xs"; xt: "cl.xt"; xu: "cl.xu"; xv: "cl.xv"; xw: "cl.xw"; xx: "cl.xx"; xy: "cl.xy"; xz: "cl.xz"; ya: "cl.ya"; yb: "cl.yb"; yc: "cl.yc"; yd: "cl.yd"; ye: "cl.ye"; yf: "cl.yf"; yg: "cl.yg"; yh: "cl.yh"; yi: "cl.yi"; yj: "cl.yj"; yk: "cl.yk"; yl: "cl.yl"; ym: "cl.ym"; yn: "cl.yn"; yo: "cl.yo"; yp: "cl.yp"; yq: "cl.yq"; yr: "cl.yr"; ys: "cl.ys"; yt: "cl.yt"; yu: "cl.yu"; yv: "cl.yv"; yw: "cl.yw"; yx: "cl.yx"; yy: "cl.yy"; yz: "cl.yz"; za: "cl.za"; zb: "cl.zb"; zc: "cl.zc"; zd: "cl.zd"; ze: "cl.ze"; zf: "cl.zf"; zg: "cl.zg"; zh: "cl.zh"; zi: "cl.zi"; zj: "cl.zj"; zk: "cl.zk"; zl: "cl.zl"; zm: "cl.zm"; zn: "cl.zn"; zo: "cl.zo"; zp: "cl.zp"; zq: "cl.zq"; zr: "cl.zr"; zs: "cl.zs"; zt: "cl.zt"; zu: "cl.zu"; zv: "cl.zv"; zw: "cl.zw"; zx: "cl.zx"; zy: "cl.zy"; zz: "cl.zz"; }; cm: { aa: "cm.aa"; ab: "cm.ab"; ac: "cm.ac"; ad: "cm.ad"; ae: "cm.ae"; af: "cm.af"; ag: "cm.ag"; ah: "cm.ah"; ai: "cm.ai"; aj: "cm.aj"; ak: "cm.ak"; al: "cm.al"; am: "cm.am"; an: "cm.an"; ao: "cm.ao"; ap: "cm.ap"; aq: "cm.aq"; ar: "cm.ar"; as: "cm.as"; at: "cm.at"; au: "cm.au"; av: "cm.av"; aw: "cm.aw"; ax: "cm.ax"; ay: "cm.ay"; az: "cm.az"; ba: "cm.ba"; bb: "cm.bb"; bc: "cm.bc"; bd: "cm.bd"; be: "cm.be"; bf: "cm.bf"; bg: "cm.bg"; bh: "cm.bh"; bi: "cm.bi"; bj: "cm.bj"; bk: "cm.bk"; bl: "cm.bl"; bm: "cm.bm"; bn: "cm.bn"; bo: "cm.bo"; bp: "cm.bp"; bq: "cm.bq"; br: "cm.br"; bs: "cm.bs"; bt: "cm.bt"; bu: "cm.bu"; bv: "cm.bv"; bw: "cm.bw"; bx: "cm.bx"; by: "cm.by"; bz: "cm.bz"; ca: "cm.ca"; cb: "cm.cb"; cc: "cm.cc"; cd: "cm.cd"; ce: "cm.ce"; cf: "cm.cf"; cg: "cm.cg"; ch: "cm.ch"; ci: "cm.ci"; cj: "cm.cj"; ck: "cm.ck"; cl: "cm.cl"; cm: "cm.cm"; cn: "cm.cn"; co: "cm.co"; cp: "cm.cp"; cq: "cm.cq"; cr: "cm.cr"; cs: "cm.cs"; ct: "cm.ct"; cu: "cm.cu"; cv: "cm.cv"; cw: "cm.cw"; cx: "cm.cx"; cy: "cm.cy"; cz: "cm.cz"; da: "cm.da"; db: "cm.db"; dc: "cm.dc"; dd: "cm.dd"; de: "cm.de"; df: "cm.df"; dg: "cm.dg"; dh: "cm.dh"; di: "cm.di"; dj: "cm.dj"; dk: "cm.dk"; dl: "cm.dl"; dm: "cm.dm"; dn: "cm.dn"; do: "cm.do"; dp: "cm.dp"; dq: "cm.dq"; dr: "cm.dr"; ds: "cm.ds"; dt: "cm.dt"; du: "cm.du"; dv: "cm.dv"; dw: "cm.dw"; dx: "cm.dx"; dy: "cm.dy"; dz: "cm.dz"; ea: "cm.ea"; eb: "cm.eb"; ec: "cm.ec"; ed: "cm.ed"; ee: "cm.ee"; ef: "cm.ef"; eg: "cm.eg"; eh: "cm.eh"; ei: "cm.ei"; ej: "cm.ej"; ek: "cm.ek"; el: "cm.el"; em: "cm.em"; en: "cm.en"; eo: "cm.eo"; ep: "cm.ep"; eq: "cm.eq"; er: "cm.er"; es: "cm.es"; et: "cm.et"; eu: "cm.eu"; ev: "cm.ev"; ew: "cm.ew"; ex: "cm.ex"; ey: "cm.ey"; ez: "cm.ez"; fa: "cm.fa"; fb: "cm.fb"; fc: "cm.fc"; fd: "cm.fd"; fe: "cm.fe"; ff: "cm.ff"; fg: "cm.fg"; fh: "cm.fh"; fi: "cm.fi"; fj: "cm.fj"; fk: "cm.fk"; fl: "cm.fl"; fm: "cm.fm"; fn: "cm.fn"; fo: "cm.fo"; fp: "cm.fp"; fq: "cm.fq"; fr: "cm.fr"; fs: "cm.fs"; ft: "cm.ft"; fu: "cm.fu"; fv: "cm.fv"; fw: "cm.fw"; fx: "cm.fx"; fy: "cm.fy"; fz: "cm.fz"; ga: "cm.ga"; gb: "cm.gb"; gc: "cm.gc"; gd: "cm.gd"; ge: "cm.ge"; gf: "cm.gf"; gg: "cm.gg"; gh: "cm.gh"; gi: "cm.gi"; gj: "cm.gj"; gk: "cm.gk"; gl: "cm.gl"; gm: "cm.gm"; gn: "cm.gn"; go: "cm.go"; gp: "cm.gp"; gq: "cm.gq"; gr: "cm.gr"; gs: "cm.gs"; gt: "cm.gt"; gu: "cm.gu"; gv: "cm.gv"; gw: "cm.gw"; gx: "cm.gx"; gy: "cm.gy"; gz: "cm.gz"; ha: "cm.ha"; hb: "cm.hb"; hc: "cm.hc"; hd: "cm.hd"; he: "cm.he"; hf: "cm.hf"; hg: "cm.hg"; hh: "cm.hh"; hi: "cm.hi"; hj: "cm.hj"; hk: "cm.hk"; hl: "cm.hl"; hm: "cm.hm"; hn: "cm.hn"; ho: "cm.ho"; hp: "cm.hp"; hq: "cm.hq"; hr: "cm.hr"; hs: "cm.hs"; ht: "cm.ht"; hu: "cm.hu"; hv: "cm.hv"; hw: "cm.hw"; hx: "cm.hx"; hy: "cm.hy"; hz: "cm.hz"; ia: "cm.ia"; ib: "cm.ib"; ic: "cm.ic"; id: "cm.id"; ie: "cm.ie"; if: "cm.if"; ig: "cm.ig"; ih: "cm.ih"; ii: "cm.ii"; ij: "cm.ij"; ik: "cm.ik"; il: "cm.il"; im: "cm.im"; in: "cm.in"; io: "cm.io"; ip: "cm.ip"; iq: "cm.iq"; ir: "cm.ir"; is: "cm.is"; it: "cm.it"; iu: "cm.iu"; iv: "cm.iv"; iw: "cm.iw"; ix: "cm.ix"; iy: "cm.iy"; iz: "cm.iz"; ja: "cm.ja"; jb: "cm.jb"; jc: "cm.jc"; jd: "cm.jd"; je: "cm.je"; jf: "cm.jf"; jg: "cm.jg"; jh: "cm.jh"; ji: "cm.ji"; jj: "cm.jj"; jk: "cm.jk"; jl: "cm.jl"; jm: "cm.jm"; jn: "cm.jn"; jo: "cm.jo"; jp: "cm.jp"; jq: "cm.jq"; jr: "cm.jr"; js: "cm.js"; jt: "cm.jt"; ju: "cm.ju"; jv: "cm.jv"; jw: "cm.jw"; jx: "cm.jx"; jy: "cm.jy"; jz: "cm.jz"; ka: "cm.ka"; kb: "cm.kb"; kc: "cm.kc"; kd: "cm.kd"; ke: "cm.ke"; kf: "cm.kf"; kg: "cm.kg"; kh: "cm.kh"; ki: "cm.ki"; kj: "cm.kj"; kk: "cm.kk"; kl: "cm.kl"; km: "cm.km"; kn: "cm.kn"; ko: "cm.ko"; kp: "cm.kp"; kq: "cm.kq"; kr: "cm.kr"; ks: "cm.ks"; kt: "cm.kt"; ku: "cm.ku"; kv: "cm.kv"; kw: "cm.kw"; kx: "cm.kx"; ky: "cm.ky"; kz: "cm.kz"; la: "cm.la"; lb: "cm.lb"; lc: "cm.lc"; ld: "cm.ld"; le: "cm.le"; lf: "cm.lf"; lg: "cm.lg"; lh: "cm.lh"; li: "cm.li"; lj: "cm.lj"; lk: "cm.lk"; ll: "cm.ll"; lm: "cm.lm"; ln: "cm.ln"; lo: "cm.lo"; lp: "cm.lp"; lq: "cm.lq"; lr: "cm.lr"; ls: "cm.ls"; lt: "cm.lt"; lu: "cm.lu"; lv: "cm.lv"; lw: "cm.lw"; lx: "cm.lx"; ly: "cm.ly"; lz: "cm.lz"; ma: "cm.ma"; mb: "cm.mb"; mc: "cm.mc"; md: "cm.md"; me: "cm.me"; mf: "cm.mf"; mg: "cm.mg"; mh: "cm.mh"; mi: "cm.mi"; mj: "cm.mj"; mk: "cm.mk"; ml: "cm.ml"; mm: "cm.mm"; mn: "cm.mn"; mo: "cm.mo"; mp: "cm.mp"; mq: "cm.mq"; mr: "cm.mr"; ms: "cm.ms"; mt: "cm.mt"; mu: "cm.mu"; mv: "cm.mv"; mw: "cm.mw"; mx: "cm.mx"; my: "cm.my"; mz: "cm.mz"; na: "cm.na"; nb: "cm.nb"; nc: "cm.nc"; nd: "cm.nd"; ne: "cm.ne"; nf: "cm.nf"; ng: "cm.ng"; nh: "cm.nh"; ni: "cm.ni"; nj: "cm.nj"; nk: "cm.nk"; nl: "cm.nl"; nm: "cm.nm"; nn: "cm.nn"; no: "cm.no"; np: "cm.np"; nq: "cm.nq"; nr: "cm.nr"; ns: "cm.ns"; nt: "cm.nt"; nu: "cm.nu"; nv: "cm.nv"; nw: "cm.nw"; nx: "cm.nx"; ny: "cm.ny"; nz: "cm.nz"; oa: "cm.oa"; ob: "cm.ob"; oc: "cm.oc"; od: "cm.od"; oe: "cm.oe"; of: "cm.of"; og: "cm.og"; oh: "cm.oh"; oi: "cm.oi"; oj: "cm.oj"; ok: "cm.ok"; ol: "cm.ol"; om: "cm.om"; on: "cm.on"; oo: "cm.oo"; op: "cm.op"; oq: "cm.oq"; or: "cm.or"; os: "cm.os"; ot: "cm.ot"; ou: "cm.ou"; ov: "cm.ov"; ow: "cm.ow"; ox: "cm.ox"; oy: "cm.oy"; oz: "cm.oz"; pa: "cm.pa"; pb: "cm.pb"; pc: "cm.pc"; pd: "cm.pd"; pe: "cm.pe"; pf: "cm.pf"; pg: "cm.pg"; ph: "cm.ph"; pi: "cm.pi"; pj: "cm.pj"; pk: "cm.pk"; pl: "cm.pl"; pm: "cm.pm"; pn: "cm.pn"; po: "cm.po"; pp: "cm.pp"; pq: "cm.pq"; pr: "cm.pr"; ps: "cm.ps"; pt: "cm.pt"; pu: "cm.pu"; pv: "cm.pv"; pw: "cm.pw"; px: "cm.px"; py: "cm.py"; pz: "cm.pz"; qa: "cm.qa"; qb: "cm.qb"; qc: "cm.qc"; qd: "cm.qd"; qe: "cm.qe"; qf: "cm.qf"; qg: "cm.qg"; qh: "cm.qh"; qi: "cm.qi"; qj: "cm.qj"; qk: "cm.qk"; ql: "cm.ql"; qm: "cm.qm"; qn: "cm.qn"; qo: "cm.qo"; qp: "cm.qp"; qq: "cm.qq"; qr: "cm.qr"; qs: "cm.qs"; qt: "cm.qt"; qu: "cm.qu"; qv: "cm.qv"; qw: "cm.qw"; qx: "cm.qx"; qy: "cm.qy"; qz: "cm.qz"; ra: "cm.ra"; rb: "cm.rb"; rc: "cm.rc"; rd: "cm.rd"; re: "cm.re"; rf: "cm.rf"; rg: "cm.rg"; rh: "cm.rh"; ri: "cm.ri"; rj: "cm.rj"; rk: "cm.rk"; rl: "cm.rl"; rm: "cm.rm"; rn: "cm.rn"; ro: "cm.ro"; rp: "cm.rp"; rq: "cm.rq"; rr: "cm.rr"; rs: "cm.rs"; rt: "cm.rt"; ru: "cm.ru"; rv: "cm.rv"; rw: "cm.rw"; rx: "cm.rx"; ry: "cm.ry"; rz: "cm.rz"; sa: "cm.sa"; sb: "cm.sb"; sc: "cm.sc"; sd: "cm.sd"; se: "cm.se"; sf: "cm.sf"; sg: "cm.sg"; sh: "cm.sh"; si: "cm.si"; sj: "cm.sj"; sk: "cm.sk"; sl: "cm.sl"; sm: "cm.sm"; sn: "cm.sn"; so: "cm.so"; sp: "cm.sp"; sq: "cm.sq"; sr: "cm.sr"; ss: "cm.ss"; st: "cm.st"; su: "cm.su"; sv: "cm.sv"; sw: "cm.sw"; sx: "cm.sx"; sy: "cm.sy"; sz: "cm.sz"; ta: "cm.ta"; tb: "cm.tb"; tc: "cm.tc"; td: "cm.td"; te: "cm.te"; tf: "cm.tf"; tg: "cm.tg"; th: "cm.th"; ti: "cm.ti"; tj: "cm.tj"; tk: "cm.tk"; tl: "cm.tl"; tm: "cm.tm"; tn: "cm.tn"; to: "cm.to"; tp: "cm.tp"; tq: "cm.tq"; tr: "cm.tr"; ts: "cm.ts"; tt: "cm.tt"; tu: "cm.tu"; tv: "cm.tv"; tw: "cm.tw"; tx: "cm.tx"; ty: "cm.ty"; tz: "cm.tz"; ua: "cm.ua"; ub: "cm.ub"; uc: "cm.uc"; ud: "cm.ud"; ue: "cm.ue"; uf: "cm.uf"; ug: "cm.ug"; uh: "cm.uh"; ui: "cm.ui"; uj: "cm.uj"; uk: "cm.uk"; ul: "cm.ul"; um: "cm.um"; un: "cm.un"; uo: "cm.uo"; up: "cm.up"; uq: "cm.uq"; ur: "cm.ur"; us: "cm.us"; ut: "cm.ut"; uu: "cm.uu"; uv: "cm.uv"; uw: "cm.uw"; ux: "cm.ux"; uy: "cm.uy"; uz: "cm.uz"; va: "cm.va"; vb: "cm.vb"; vc: "cm.vc"; vd: "cm.vd"; ve: "cm.ve"; vf: "cm.vf"; vg: "cm.vg"; vh: "cm.vh"; vi: "cm.vi"; vj: "cm.vj"; vk: "cm.vk"; vl: "cm.vl"; vm: "cm.vm"; vn: "cm.vn"; vo: "cm.vo"; vp: "cm.vp"; vq: "cm.vq"; vr: "cm.vr"; vs: "cm.vs"; vt: "cm.vt"; vu: "cm.vu"; vv: "cm.vv"; vw: "cm.vw"; vx: "cm.vx"; vy: "cm.vy"; vz: "cm.vz"; wa: "cm.wa"; wb: "cm.wb"; wc: "cm.wc"; wd: "cm.wd"; we: "cm.we"; wf: "cm.wf"; wg: "cm.wg"; wh: "cm.wh"; wi: "cm.wi"; wj: "cm.wj"; wk: "cm.wk"; wl: "cm.wl"; wm: "cm.wm"; wn: "cm.wn"; wo: "cm.wo"; wp: "cm.wp"; wq: "cm.wq"; wr: "cm.wr"; ws: "cm.ws"; wt: "cm.wt"; wu: "cm.wu"; wv: "cm.wv"; ww: "cm.ww"; wx: "cm.wx"; wy: "cm.wy"; wz: "cm.wz"; xa: "cm.xa"; xb: "cm.xb"; xc: "cm.xc"; xd: "cm.xd"; xe: "cm.xe"; xf: "cm.xf"; xg: "cm.xg"; xh: "cm.xh"; xi: "cm.xi"; xj: "cm.xj"; xk: "cm.xk"; xl: "cm.xl"; xm: "cm.xm"; xn: "cm.xn"; xo: "cm.xo"; xp: "cm.xp"; xq: "cm.xq"; xr: "cm.xr"; xs: "cm.xs"; xt: "cm.xt"; xu: "cm.xu"; xv: "cm.xv"; xw: "cm.xw"; xx: "cm.xx"; xy: "cm.xy"; xz: "cm.xz"; ya: "cm.ya"; yb: "cm.yb"; yc: "cm.yc"; yd: "cm.yd"; ye: "cm.ye"; yf: "cm.yf"; yg: "cm.yg"; yh: "cm.yh"; yi: "cm.yi"; yj: "cm.yj"; yk: "cm.yk"; yl: "cm.yl"; ym: "cm.ym"; yn: "cm.yn"; yo: "cm.yo"; yp: "cm.yp"; yq: "cm.yq"; yr: "cm.yr"; ys: "cm.ys"; yt: "cm.yt"; yu: "cm.yu"; yv: "cm.yv"; yw: "cm.yw"; yx: "cm.yx"; yy: "cm.yy"; yz: "cm.yz"; za: "cm.za"; zb: "cm.zb"; zc: "cm.zc"; zd: "cm.zd"; ze: "cm.ze"; zf: "cm.zf"; zg: "cm.zg"; zh: "cm.zh"; zi: "cm.zi"; zj: "cm.zj"; zk: "cm.zk"; zl: "cm.zl"; zm: "cm.zm"; zn: "cm.zn"; zo: "cm.zo"; zp: "cm.zp"; zq: "cm.zq"; zr: "cm.zr"; zs: "cm.zs"; zt: "cm.zt"; zu: "cm.zu"; zv: "cm.zv"; zw: "cm.zw"; zx: "cm.zx"; zy: "cm.zy"; zz: "cm.zz"; }; cn: { aa: "cn.aa"; ab: "cn.ab"; ac: "cn.ac"; ad: "cn.ad"; ae: "cn.ae"; af: "cn.af"; ag: "cn.ag"; ah: "cn.ah"; ai: "cn.ai"; aj: "cn.aj"; ak: "cn.ak"; al: "cn.al"; am: "cn.am"; an: "cn.an"; ao: "cn.ao"; ap: "cn.ap"; aq: "cn.aq"; ar: "cn.ar"; as: "cn.as"; at: "cn.at"; au: "cn.au"; av: "cn.av"; aw: "cn.aw"; ax: "cn.ax"; ay: "cn.ay"; az: "cn.az"; ba: "cn.ba"; bb: "cn.bb"; bc: "cn.bc"; bd: "cn.bd"; be: "cn.be"; bf: "cn.bf"; bg: "cn.bg"; bh: "cn.bh"; bi: "cn.bi"; bj: "cn.bj"; bk: "cn.bk"; bl: "cn.bl"; bm: "cn.bm"; bn: "cn.bn"; bo: "cn.bo"; bp: "cn.bp"; bq: "cn.bq"; br: "cn.br"; bs: "cn.bs"; bt: "cn.bt"; bu: "cn.bu"; bv: "cn.bv"; bw: "cn.bw"; bx: "cn.bx"; by: "cn.by"; bz: "cn.bz"; ca: "cn.ca"; cb: "cn.cb"; cc: "cn.cc"; cd: "cn.cd"; ce: "cn.ce"; cf: "cn.cf"; cg: "cn.cg"; ch: "cn.ch"; ci: "cn.ci"; cj: "cn.cj"; ck: "cn.ck"; cl: "cn.cl"; cm: "cn.cm"; cn: "cn.cn"; co: "cn.co"; cp: "cn.cp"; cq: "cn.cq"; cr: "cn.cr"; cs: "cn.cs"; ct: "cn.ct"; cu: "cn.cu"; cv: "cn.cv"; cw: "cn.cw"; cx: "cn.cx"; cy: "cn.cy"; cz: "cn.cz"; da: "cn.da"; db: "cn.db"; dc: "cn.dc"; dd: "cn.dd"; de: "cn.de"; df: "cn.df"; dg: "cn.dg"; dh: "cn.dh"; di: "cn.di"; dj: "cn.dj"; dk: "cn.dk"; dl: "cn.dl"; dm: "cn.dm"; dn: "cn.dn"; do: "cn.do"; dp: "cn.dp"; dq: "cn.dq"; dr: "cn.dr"; ds: "cn.ds"; dt: "cn.dt"; du: "cn.du"; dv: "cn.dv"; dw: "cn.dw"; dx: "cn.dx"; dy: "cn.dy"; dz: "cn.dz"; ea: "cn.ea"; eb: "cn.eb"; ec: "cn.ec"; ed: "cn.ed"; ee: "cn.ee"; ef: "cn.ef"; eg: "cn.eg"; eh: "cn.eh"; ei: "cn.ei"; ej: "cn.ej"; ek: "cn.ek"; el: "cn.el"; em: "cn.em"; en: "cn.en"; eo: "cn.eo"; ep: "cn.ep"; eq: "cn.eq"; er: "cn.er"; es: "cn.es"; et: "cn.et"; eu: "cn.eu"; ev: "cn.ev"; ew: "cn.ew"; ex: "cn.ex"; ey: "cn.ey"; ez: "cn.ez"; fa: "cn.fa"; fb: "cn.fb"; fc: "cn.fc"; fd: "cn.fd"; fe: "cn.fe"; ff: "cn.ff"; fg: "cn.fg"; fh: "cn.fh"; fi: "cn.fi"; fj: "cn.fj"; fk: "cn.fk"; fl: "cn.fl"; fm: "cn.fm"; fn: "cn.fn"; fo: "cn.fo"; fp: "cn.fp"; fq: "cn.fq"; fr: "cn.fr"; fs: "cn.fs"; ft: "cn.ft"; fu: "cn.fu"; fv: "cn.fv"; fw: "cn.fw"; fx: "cn.fx"; fy: "cn.fy"; fz: "cn.fz"; ga: "cn.ga"; gb: "cn.gb"; gc: "cn.gc"; gd: "cn.gd"; ge: "cn.ge"; gf: "cn.gf"; gg: "cn.gg"; gh: "cn.gh"; gi: "cn.gi"; gj: "cn.gj"; gk: "cn.gk"; gl: "cn.gl"; gm: "cn.gm"; gn: "cn.gn"; go: "cn.go"; gp: "cn.gp"; gq: "cn.gq"; gr: "cn.gr"; gs: "cn.gs"; gt: "cn.gt"; gu: "cn.gu"; gv: "cn.gv"; gw: "cn.gw"; gx: "cn.gx"; gy: "cn.gy"; gz: "cn.gz"; ha: "cn.ha"; hb: "cn.hb"; hc: "cn.hc"; hd: "cn.hd"; he: "cn.he"; hf: "cn.hf"; hg: "cn.hg"; hh: "cn.hh"; hi: "cn.hi"; hj: "cn.hj"; hk: "cn.hk"; hl: "cn.hl"; hm: "cn.hm"; hn: "cn.hn"; ho: "cn.ho"; hp: "cn.hp"; hq: "cn.hq"; hr: "cn.hr"; hs: "cn.hs"; ht: "cn.ht"; hu: "cn.hu"; hv: "cn.hv"; hw: "cn.hw"; hx: "cn.hx"; hy: "cn.hy"; hz: "cn.hz"; ia: "cn.ia"; ib: "cn.ib"; ic: "cn.ic"; id: "cn.id"; ie: "cn.ie"; if: "cn.if"; ig: "cn.ig"; ih: "cn.ih"; ii: "cn.ii"; ij: "cn.ij"; ik: "cn.ik"; il: "cn.il"; im: "cn.im"; in: "cn.in"; io: "cn.io"; ip: "cn.ip"; iq: "cn.iq"; ir: "cn.ir"; is: "cn.is"; it: "cn.it"; iu: "cn.iu"; iv: "cn.iv"; iw: "cn.iw"; ix: "cn.ix"; iy: "cn.iy"; iz: "cn.iz"; ja: "cn.ja"; jb: "cn.jb"; jc: "cn.jc"; jd: "cn.jd"; je: "cn.je"; jf: "cn.jf"; jg: "cn.jg"; jh: "cn.jh"; ji: "cn.ji"; jj: "cn.jj"; jk: "cn.jk"; jl: "cn.jl"; jm: "cn.jm"; jn: "cn.jn"; jo: "cn.jo"; jp: "cn.jp"; jq: "cn.jq"; jr: "cn.jr"; js: "cn.js"; jt: "cn.jt"; ju: "cn.ju"; jv: "cn.jv"; jw: "cn.jw"; jx: "cn.jx"; jy: "cn.jy"; jz: "cn.jz"; ka: "cn.ka"; kb: "cn.kb"; kc: "cn.kc"; kd: "cn.kd"; ke: "cn.ke"; kf: "cn.kf"; kg: "cn.kg"; kh: "cn.kh"; ki: "cn.ki"; kj: "cn.kj"; kk: "cn.kk"; kl: "cn.kl"; km: "cn.km"; kn: "cn.kn"; ko: "cn.ko"; kp: "cn.kp"; kq: "cn.kq"; kr: "cn.kr"; ks: "cn.ks"; kt: "cn.kt"; ku: "cn.ku"; kv: "cn.kv"; kw: "cn.kw"; kx: "cn.kx"; ky: "cn.ky"; kz: "cn.kz"; la: "cn.la"; lb: "cn.lb"; lc: "cn.lc"; ld: "cn.ld"; le: "cn.le"; lf: "cn.lf"; lg: "cn.lg"; lh: "cn.lh"; li: "cn.li"; lj: "cn.lj"; lk: "cn.lk"; ll: "cn.ll"; lm: "cn.lm"; ln: "cn.ln"; lo: "cn.lo"; lp: "cn.lp"; lq: "cn.lq"; lr: "cn.lr"; ls: "cn.ls"; lt: "cn.lt"; lu: "cn.lu"; lv: "cn.lv"; lw: "cn.lw"; lx: "cn.lx"; ly: "cn.ly"; lz: "cn.lz"; ma: "cn.ma"; mb: "cn.mb"; mc: "cn.mc"; md: "cn.md"; me: "cn.me"; mf: "cn.mf"; mg: "cn.mg"; mh: "cn.mh"; mi: "cn.mi"; mj: "cn.mj"; mk: "cn.mk"; ml: "cn.ml"; mm: "cn.mm"; mn: "cn.mn"; mo: "cn.mo"; mp: "cn.mp"; mq: "cn.mq"; mr: "cn.mr"; ms: "cn.ms"; mt: "cn.mt"; mu: "cn.mu"; mv: "cn.mv"; mw: "cn.mw"; mx: "cn.mx"; my: "cn.my"; mz: "cn.mz"; na: "cn.na"; nb: "cn.nb"; nc: "cn.nc"; nd: "cn.nd"; ne: "cn.ne"; nf: "cn.nf"; ng: "cn.ng"; nh: "cn.nh"; ni: "cn.ni"; nj: "cn.nj"; nk: "cn.nk"; nl: "cn.nl"; nm: "cn.nm"; nn: "cn.nn"; no: "cn.no"; np: "cn.np"; nq: "cn.nq"; nr: "cn.nr"; ns: "cn.ns"; nt: "cn.nt"; nu: "cn.nu"; nv: "cn.nv"; nw: "cn.nw"; nx: "cn.nx"; ny: "cn.ny"; nz: "cn.nz"; oa: "cn.oa"; ob: "cn.ob"; oc: "cn.oc"; od: "cn.od"; oe: "cn.oe"; of: "cn.of"; og: "cn.og"; oh: "cn.oh"; oi: "cn.oi"; oj: "cn.oj"; ok: "cn.ok"; ol: "cn.ol"; om: "cn.om"; on: "cn.on"; oo: "cn.oo"; op: "cn.op"; oq: "cn.oq"; or: "cn.or"; os: "cn.os"; ot: "cn.ot"; ou: "cn.ou"; ov: "cn.ov"; ow: "cn.ow"; ox: "cn.ox"; oy: "cn.oy"; oz: "cn.oz"; pa: "cn.pa"; pb: "cn.pb"; pc: "cn.pc"; pd: "cn.pd"; pe: "cn.pe"; pf: "cn.pf"; pg: "cn.pg"; ph: "cn.ph"; pi: "cn.pi"; pj: "cn.pj"; pk: "cn.pk"; pl: "cn.pl"; pm: "cn.pm"; pn: "cn.pn"; po: "cn.po"; pp: "cn.pp"; pq: "cn.pq"; pr: "cn.pr"; ps: "cn.ps"; pt: "cn.pt"; pu: "cn.pu"; pv: "cn.pv"; pw: "cn.pw"; px: "cn.px"; py: "cn.py"; pz: "cn.pz"; qa: "cn.qa"; qb: "cn.qb"; qc: "cn.qc"; qd: "cn.qd"; qe: "cn.qe"; qf: "cn.qf"; qg: "cn.qg"; qh: "cn.qh"; qi: "cn.qi"; qj: "cn.qj"; qk: "cn.qk"; ql: "cn.ql"; qm: "cn.qm"; qn: "cn.qn"; qo: "cn.qo"; qp: "cn.qp"; qq: "cn.qq"; qr: "cn.qr"; qs: "cn.qs"; qt: "cn.qt"; qu: "cn.qu"; qv: "cn.qv"; qw: "cn.qw"; qx: "cn.qx"; qy: "cn.qy"; qz: "cn.qz"; ra: "cn.ra"; rb: "cn.rb"; rc: "cn.rc"; rd: "cn.rd"; re: "cn.re"; rf: "cn.rf"; rg: "cn.rg"; rh: "cn.rh"; ri: "cn.ri"; rj: "cn.rj"; rk: "cn.rk"; rl: "cn.rl"; rm: "cn.rm"; rn: "cn.rn"; ro: "cn.ro"; rp: "cn.rp"; rq: "cn.rq"; rr: "cn.rr"; rs: "cn.rs"; rt: "cn.rt"; ru: "cn.ru"; rv: "cn.rv"; rw: "cn.rw"; rx: "cn.rx"; ry: "cn.ry"; rz: "cn.rz"; sa: "cn.sa"; sb: "cn.sb"; sc: "cn.sc"; sd: "cn.sd"; se: "cn.se"; sf: "cn.sf"; sg: "cn.sg"; sh: "cn.sh"; si: "cn.si"; sj: "cn.sj"; sk: "cn.sk"; sl: "cn.sl"; sm: "cn.sm"; sn: "cn.sn"; so: "cn.so"; sp: "cn.sp"; sq: "cn.sq"; sr: "cn.sr"; ss: "cn.ss"; st: "cn.st"; su: "cn.su"; sv: "cn.sv"; sw: "cn.sw"; sx: "cn.sx"; sy: "cn.sy"; sz: "cn.sz"; ta: "cn.ta"; tb: "cn.tb"; tc: "cn.tc"; td: "cn.td"; te: "cn.te"; tf: "cn.tf"; tg: "cn.tg"; th: "cn.th"; ti: "cn.ti"; tj: "cn.tj"; tk: "cn.tk"; tl: "cn.tl"; tm: "cn.tm"; tn: "cn.tn"; to: "cn.to"; tp: "cn.tp"; tq: "cn.tq"; tr: "cn.tr"; ts: "cn.ts"; tt: "cn.tt"; tu: "cn.tu"; tv: "cn.tv"; tw: "cn.tw"; tx: "cn.tx"; ty: "cn.ty"; tz: "cn.tz"; ua: "cn.ua"; ub: "cn.ub"; uc: "cn.uc"; ud: "cn.ud"; ue: "cn.ue"; uf: "cn.uf"; ug: "cn.ug"; uh: "cn.uh"; ui: "cn.ui"; uj: "cn.uj"; uk: "cn.uk"; ul: "cn.ul"; um: "cn.um"; un: "cn.un"; uo: "cn.uo"; up: "cn.up"; uq: "cn.uq"; ur: "cn.ur"; us: "cn.us"; ut: "cn.ut"; uu: "cn.uu"; uv: "cn.uv"; uw: "cn.uw"; ux: "cn.ux"; uy: "cn.uy"; uz: "cn.uz"; va: "cn.va"; vb: "cn.vb"; vc: "cn.vc"; vd: "cn.vd"; ve: "cn.ve"; vf: "cn.vf"; vg: "cn.vg"; vh: "cn.vh"; vi: "cn.vi"; vj: "cn.vj"; vk: "cn.vk"; vl: "cn.vl"; vm: "cn.vm"; vn: "cn.vn"; vo: "cn.vo"; vp: "cn.vp"; vq: "cn.vq"; vr: "cn.vr"; vs: "cn.vs"; vt: "cn.vt"; vu: "cn.vu"; vv: "cn.vv"; vw: "cn.vw"; vx: "cn.vx"; vy: "cn.vy"; vz: "cn.vz"; wa: "cn.wa"; wb: "cn.wb"; wc: "cn.wc"; wd: "cn.wd"; we: "cn.we"; wf: "cn.wf"; wg: "cn.wg"; wh: "cn.wh"; wi: "cn.wi"; wj: "cn.wj"; wk: "cn.wk"; wl: "cn.wl"; wm: "cn.wm"; wn: "cn.wn"; wo: "cn.wo"; wp: "cn.wp"; wq: "cn.wq"; wr: "cn.wr"; ws: "cn.ws"; wt: "cn.wt"; wu: "cn.wu"; wv: "cn.wv"; ww: "cn.ww"; wx: "cn.wx"; wy: "cn.wy"; wz: "cn.wz"; xa: "cn.xa"; xb: "cn.xb"; xc: "cn.xc"; xd: "cn.xd"; xe: "cn.xe"; xf: "cn.xf"; xg: "cn.xg"; xh: "cn.xh"; xi: "cn.xi"; xj: "cn.xj"; xk: "cn.xk"; xl: "cn.xl"; xm: "cn.xm"; xn: "cn.xn"; xo: "cn.xo"; xp: "cn.xp"; xq: "cn.xq"; xr: "cn.xr"; xs: "cn.xs"; xt: "cn.xt"; xu: "cn.xu"; xv: "cn.xv"; xw: "cn.xw"; xx: "cn.xx"; xy: "cn.xy"; xz: "cn.xz"; ya: "cn.ya"; yb: "cn.yb"; yc: "cn.yc"; yd: "cn.yd"; ye: "cn.ye"; yf: "cn.yf"; yg: "cn.yg"; yh: "cn.yh"; yi: "cn.yi"; yj: "cn.yj"; yk: "cn.yk"; yl: "cn.yl"; ym: "cn.ym"; yn: "cn.yn"; yo: "cn.yo"; yp: "cn.yp"; yq: "cn.yq"; yr: "cn.yr"; ys: "cn.ys"; yt: "cn.yt"; yu: "cn.yu"; yv: "cn.yv"; yw: "cn.yw"; yx: "cn.yx"; yy: "cn.yy"; yz: "cn.yz"; za: "cn.za"; zb: "cn.zb"; zc: "cn.zc"; zd: "cn.zd"; ze: "cn.ze"; zf: "cn.zf"; zg: "cn.zg"; zh: "cn.zh"; zi: "cn.zi"; zj: "cn.zj"; zk: "cn.zk"; zl: "cn.zl"; zm: "cn.zm"; zn: "cn.zn"; zo: "cn.zo"; zp: "cn.zp"; zq: "cn.zq"; zr: "cn.zr"; zs: "cn.zs"; zt: "cn.zt"; zu: "cn.zu"; zv: "cn.zv"; zw: "cn.zw"; zx: "cn.zx"; zy: "cn.zy"; zz: "cn.zz"; }; co: { aa: "co.aa"; ab: "co.ab"; ac: "co.ac"; ad: "co.ad"; ae: "co.ae"; af: "co.af"; ag: "co.ag"; ah: "co.ah"; ai: "co.ai"; aj: "co.aj"; ak: "co.ak"; al: "co.al"; am: "co.am"; an: "co.an"; ao: "co.ao"; ap: "co.ap"; aq: "co.aq"; ar: "co.ar"; as: "co.as"; at: "co.at"; au: "co.au"; av: "co.av"; aw: "co.aw"; ax: "co.ax"; ay: "co.ay"; az: "co.az"; ba: "co.ba"; bb: "co.bb"; bc: "co.bc"; bd: "co.bd"; be: "co.be"; bf: "co.bf"; bg: "co.bg"; bh: "co.bh"; bi: "co.bi"; bj: "co.bj"; bk: "co.bk"; bl: "co.bl"; bm: "co.bm"; bn: "co.bn"; bo: "co.bo"; bp: "co.bp"; bq: "co.bq"; br: "co.br"; bs: "co.bs"; bt: "co.bt"; bu: "co.bu"; bv: "co.bv"; bw: "co.bw"; bx: "co.bx"; by: "co.by"; bz: "co.bz"; ca: "co.ca"; cb: "co.cb"; cc: "co.cc"; cd: "co.cd"; ce: "co.ce"; cf: "co.cf"; cg: "co.cg"; ch: "co.ch"; ci: "co.ci"; cj: "co.cj"; ck: "co.ck"; cl: "co.cl"; cm: "co.cm"; cn: "co.cn"; co: "co.co"; cp: "co.cp"; cq: "co.cq"; cr: "co.cr"; cs: "co.cs"; ct: "co.ct"; cu: "co.cu"; cv: "co.cv"; cw: "co.cw"; cx: "co.cx"; cy: "co.cy"; cz: "co.cz"; da: "co.da"; db: "co.db"; dc: "co.dc"; dd: "co.dd"; de: "co.de"; df: "co.df"; dg: "co.dg"; dh: "co.dh"; di: "co.di"; dj: "co.dj"; dk: "co.dk"; dl: "co.dl"; dm: "co.dm"; dn: "co.dn"; do: "co.do"; dp: "co.dp"; dq: "co.dq"; dr: "co.dr"; ds: "co.ds"; dt: "co.dt"; du: "co.du"; dv: "co.dv"; dw: "co.dw"; dx: "co.dx"; dy: "co.dy"; dz: "co.dz"; ea: "co.ea"; eb: "co.eb"; ec: "co.ec"; ed: "co.ed"; ee: "co.ee"; ef: "co.ef"; eg: "co.eg"; eh: "co.eh"; ei: "co.ei"; ej: "co.ej"; ek: "co.ek"; el: "co.el"; em: "co.em"; en: "co.en"; eo: "co.eo"; ep: "co.ep"; eq: "co.eq"; er: "co.er"; es: "co.es"; et: "co.et"; eu: "co.eu"; ev: "co.ev"; ew: "co.ew"; ex: "co.ex"; ey: "co.ey"; ez: "co.ez"; fa: "co.fa"; fb: "co.fb"; fc: "co.fc"; fd: "co.fd"; fe: "co.fe"; ff: "co.ff"; fg: "co.fg"; fh: "co.fh"; fi: "co.fi"; fj: "co.fj"; fk: "co.fk"; fl: "co.fl"; fm: "co.fm"; fn: "co.fn"; fo: "co.fo"; fp: "co.fp"; fq: "co.fq"; fr: "co.fr"; fs: "co.fs"; ft: "co.ft"; fu: "co.fu"; fv: "co.fv"; fw: "co.fw"; fx: "co.fx"; fy: "co.fy"; fz: "co.fz"; ga: "co.ga"; gb: "co.gb"; gc: "co.gc"; gd: "co.gd"; ge: "co.ge"; gf: "co.gf"; gg: "co.gg"; gh: "co.gh"; gi: "co.gi"; gj: "co.gj"; gk: "co.gk"; gl: "co.gl"; gm: "co.gm"; gn: "co.gn"; go: "co.go"; gp: "co.gp"; gq: "co.gq"; gr: "co.gr"; gs: "co.gs"; gt: "co.gt"; gu: "co.gu"; gv: "co.gv"; gw: "co.gw"; gx: "co.gx"; gy: "co.gy"; gz: "co.gz"; ha: "co.ha"; hb: "co.hb"; hc: "co.hc"; hd: "co.hd"; he: "co.he"; hf: "co.hf"; hg: "co.hg"; hh: "co.hh"; hi: "co.hi"; hj: "co.hj"; hk: "co.hk"; hl: "co.hl"; hm: "co.hm"; hn: "co.hn"; ho: "co.ho"; hp: "co.hp"; hq: "co.hq"; hr: "co.hr"; hs: "co.hs"; ht: "co.ht"; hu: "co.hu"; hv: "co.hv"; hw: "co.hw"; hx: "co.hx"; hy: "co.hy"; hz: "co.hz"; ia: "co.ia"; ib: "co.ib"; ic: "co.ic"; id: "co.id"; ie: "co.ie"; if: "co.if"; ig: "co.ig"; ih: "co.ih"; ii: "co.ii"; ij: "co.ij"; ik: "co.ik"; il: "co.il"; im: "co.im"; in: "co.in"; io: "co.io"; ip: "co.ip"; iq: "co.iq"; ir: "co.ir"; is: "co.is"; it: "co.it"; iu: "co.iu"; iv: "co.iv"; iw: "co.iw"; ix: "co.ix"; iy: "co.iy"; iz: "co.iz"; ja: "co.ja"; jb: "co.jb"; jc: "co.jc"; jd: "co.jd"; je: "co.je"; jf: "co.jf"; jg: "co.jg"; jh: "co.jh"; ji: "co.ji"; jj: "co.jj"; jk: "co.jk"; jl: "co.jl"; jm: "co.jm"; jn: "co.jn"; jo: "co.jo"; jp: "co.jp"; jq: "co.jq"; jr: "co.jr"; js: "co.js"; jt: "co.jt"; ju: "co.ju"; jv: "co.jv"; jw: "co.jw"; jx: "co.jx"; jy: "co.jy"; jz: "co.jz"; ka: "co.ka"; kb: "co.kb"; kc: "co.kc"; kd: "co.kd"; ke: "co.ke"; kf: "co.kf"; kg: "co.kg"; kh: "co.kh"; ki: "co.ki"; kj: "co.kj"; kk: "co.kk"; kl: "co.kl"; km: "co.km"; kn: "co.kn"; ko: "co.ko"; kp: "co.kp"; kq: "co.kq"; kr: "co.kr"; ks: "co.ks"; kt: "co.kt"; ku: "co.ku"; kv: "co.kv"; kw: "co.kw"; kx: "co.kx"; ky: "co.ky"; kz: "co.kz"; la: "co.la"; lb: "co.lb"; lc: "co.lc"; ld: "co.ld"; le: "co.le"; lf: "co.lf"; lg: "co.lg"; lh: "co.lh"; li: "co.li"; lj: "co.lj"; lk: "co.lk"; ll: "co.ll"; lm: "co.lm"; ln: "co.ln"; lo: "co.lo"; lp: "co.lp"; lq: "co.lq"; lr: "co.lr"; ls: "co.ls"; lt: "co.lt"; lu: "co.lu"; lv: "co.lv"; lw: "co.lw"; lx: "co.lx"; ly: "co.ly"; lz: "co.lz"; ma: "co.ma"; mb: "co.mb"; mc: "co.mc"; md: "co.md"; me: "co.me"; mf: "co.mf"; mg: "co.mg"; mh: "co.mh"; mi: "co.mi"; mj: "co.mj"; mk: "co.mk"; ml: "co.ml"; mm: "co.mm"; mn: "co.mn"; mo: "co.mo"; mp: "co.mp"; mq: "co.mq"; mr: "co.mr"; ms: "co.ms"; mt: "co.mt"; mu: "co.mu"; mv: "co.mv"; mw: "co.mw"; mx: "co.mx"; my: "co.my"; mz: "co.mz"; na: "co.na"; nb: "co.nb"; nc: "co.nc"; nd: "co.nd"; ne: "co.ne"; nf: "co.nf"; ng: "co.ng"; nh: "co.nh"; ni: "co.ni"; nj: "co.nj"; nk: "co.nk"; nl: "co.nl"; nm: "co.nm"; nn: "co.nn"; no: "co.no"; np: "co.np"; nq: "co.nq"; nr: "co.nr"; ns: "co.ns"; nt: "co.nt"; nu: "co.nu"; nv: "co.nv"; nw: "co.nw"; nx: "co.nx"; ny: "co.ny"; nz: "co.nz"; oa: "co.oa"; ob: "co.ob"; oc: "co.oc"; od: "co.od"; oe: "co.oe"; of: "co.of"; og: "co.og"; oh: "co.oh"; oi: "co.oi"; oj: "co.oj"; ok: "co.ok"; ol: "co.ol"; om: "co.om"; on: "co.on"; oo: "co.oo"; op: "co.op"; oq: "co.oq"; or: "co.or"; os: "co.os"; ot: "co.ot"; ou: "co.ou"; ov: "co.ov"; ow: "co.ow"; ox: "co.ox"; oy: "co.oy"; oz: "co.oz"; pa: "co.pa"; pb: "co.pb"; pc: "co.pc"; pd: "co.pd"; pe: "co.pe"; pf: "co.pf"; pg: "co.pg"; ph: "co.ph"; pi: "co.pi"; pj: "co.pj"; pk: "co.pk"; pl: "co.pl"; pm: "co.pm"; pn: "co.pn"; po: "co.po"; pp: "co.pp"; pq: "co.pq"; pr: "co.pr"; ps: "co.ps"; pt: "co.pt"; pu: "co.pu"; pv: "co.pv"; pw: "co.pw"; px: "co.px"; py: "co.py"; pz: "co.pz"; qa: "co.qa"; qb: "co.qb"; qc: "co.qc"; qd: "co.qd"; qe: "co.qe"; qf: "co.qf"; qg: "co.qg"; qh: "co.qh"; qi: "co.qi"; qj: "co.qj"; qk: "co.qk"; ql: "co.ql"; qm: "co.qm"; qn: "co.qn"; qo: "co.qo"; qp: "co.qp"; qq: "co.qq"; qr: "co.qr"; qs: "co.qs"; qt: "co.qt"; qu: "co.qu"; qv: "co.qv"; qw: "co.qw"; qx: "co.qx"; qy: "co.qy"; qz: "co.qz"; ra: "co.ra"; rb: "co.rb"; rc: "co.rc"; rd: "co.rd"; re: "co.re"; rf: "co.rf"; rg: "co.rg"; rh: "co.rh"; ri: "co.ri"; rj: "co.rj"; rk: "co.rk"; rl: "co.rl"; rm: "co.rm"; rn: "co.rn"; ro: "co.ro"; rp: "co.rp"; rq: "co.rq"; rr: "co.rr"; rs: "co.rs"; rt: "co.rt"; ru: "co.ru"; rv: "co.rv"; rw: "co.rw"; rx: "co.rx"; ry: "co.ry"; rz: "co.rz"; sa: "co.sa"; sb: "co.sb"; sc: "co.sc"; sd: "co.sd"; se: "co.se"; sf: "co.sf"; sg: "co.sg"; sh: "co.sh"; si: "co.si"; sj: "co.sj"; sk: "co.sk"; sl: "co.sl"; sm: "co.sm"; sn: "co.sn"; so: "co.so"; sp: "co.sp"; sq: "co.sq"; sr: "co.sr"; ss: "co.ss"; st: "co.st"; su: "co.su"; sv: "co.sv"; sw: "co.sw"; sx: "co.sx"; sy: "co.sy"; sz: "co.sz"; ta: "co.ta"; tb: "co.tb"; tc: "co.tc"; td: "co.td"; te: "co.te"; tf: "co.tf"; tg: "co.tg"; th: "co.th"; ti: "co.ti"; tj: "co.tj"; tk: "co.tk"; tl: "co.tl"; tm: "co.tm"; tn: "co.tn"; to: "co.to"; tp: "co.tp"; tq: "co.tq"; tr: "co.tr"; ts: "co.ts"; tt: "co.tt"; tu: "co.tu"; tv: "co.tv"; tw: "co.tw"; tx: "co.tx"; ty: "co.ty"; tz: "co.tz"; ua: "co.ua"; ub: "co.ub"; uc: "co.uc"; ud: "co.ud"; ue: "co.ue"; uf: "co.uf"; ug: "co.ug"; uh: "co.uh"; ui: "co.ui"; uj: "co.uj"; uk: "co.uk"; ul: "co.ul"; um: "co.um"; un: "co.un"; uo: "co.uo"; up: "co.up"; uq: "co.uq"; ur: "co.ur"; us: "co.us"; ut: "co.ut"; uu: "co.uu"; uv: "co.uv"; uw: "co.uw"; ux: "co.ux"; uy: "co.uy"; uz: "co.uz"; va: "co.va"; vb: "co.vb"; vc: "co.vc"; vd: "co.vd"; ve: "co.ve"; vf: "co.vf"; vg: "co.vg"; vh: "co.vh"; vi: "co.vi"; vj: "co.vj"; vk: "co.vk"; vl: "co.vl"; vm: "co.vm"; vn: "co.vn"; vo: "co.vo"; vp: "co.vp"; vq: "co.vq"; vr: "co.vr"; vs: "co.vs"; vt: "co.vt"; vu: "co.vu"; vv: "co.vv"; vw: "co.vw"; vx: "co.vx"; vy: "co.vy"; vz: "co.vz"; wa: "co.wa"; wb: "co.wb"; wc: "co.wc"; wd: "co.wd"; we: "co.we"; wf: "co.wf"; wg: "co.wg"; wh: "co.wh"; wi: "co.wi"; wj: "co.wj"; wk: "co.wk"; wl: "co.wl"; wm: "co.wm"; wn: "co.wn"; wo: "co.wo"; wp: "co.wp"; wq: "co.wq"; wr: "co.wr"; ws: "co.ws"; wt: "co.wt"; wu: "co.wu"; wv: "co.wv"; ww: "co.ww"; wx: "co.wx"; wy: "co.wy"; wz: "co.wz"; xa: "co.xa"; xb: "co.xb"; xc: "co.xc"; xd: "co.xd"; xe: "co.xe"; xf: "co.xf"; xg: "co.xg"; xh: "co.xh"; xi: "co.xi"; xj: "co.xj"; xk: "co.xk"; xl: "co.xl"; xm: "co.xm"; xn: "co.xn"; xo: "co.xo"; xp: "co.xp"; xq: "co.xq"; xr: "co.xr"; xs: "co.xs"; xt: "co.xt"; xu: "co.xu"; xv: "co.xv"; xw: "co.xw"; xx: "co.xx"; xy: "co.xy"; xz: "co.xz"; ya: "co.ya"; yb: "co.yb"; yc: "co.yc"; yd: "co.yd"; ye: "co.ye"; yf: "co.yf"; yg: "co.yg"; yh: "co.yh"; yi: "co.yi"; yj: "co.yj"; yk: "co.yk"; yl: "co.yl"; ym: "co.ym"; yn: "co.yn"; yo: "co.yo"; yp: "co.yp"; yq: "co.yq"; yr: "co.yr"; ys: "co.ys"; yt: "co.yt"; yu: "co.yu"; yv: "co.yv"; yw: "co.yw"; yx: "co.yx"; yy: "co.yy"; yz: "co.yz"; za: "co.za"; zb: "co.zb"; zc: "co.zc"; zd: "co.zd"; ze: "co.ze"; zf: "co.zf"; zg: "co.zg"; zh: "co.zh"; zi: "co.zi"; zj: "co.zj"; zk: "co.zk"; zl: "co.zl"; zm: "co.zm"; zn: "co.zn"; zo: "co.zo"; zp: "co.zp"; zq: "co.zq"; zr: "co.zr"; zs: "co.zs"; zt: "co.zt"; zu: "co.zu"; zv: "co.zv"; zw: "co.zw"; zx: "co.zx"; zy: "co.zy"; zz: "co.zz"; }; cp: { aa: "cp.aa"; ab: "cp.ab"; ac: "cp.ac"; ad: "cp.ad"; ae: "cp.ae"; af: "cp.af"; ag: "cp.ag"; ah: "cp.ah"; ai: "cp.ai"; aj: "cp.aj"; ak: "cp.ak"; al: "cp.al"; am: "cp.am"; an: "cp.an"; ao: "cp.ao"; ap: "cp.ap"; aq: "cp.aq"; ar: "cp.ar"; as: "cp.as"; at: "cp.at"; au: "cp.au"; av: "cp.av"; aw: "cp.aw"; ax: "cp.ax"; ay: "cp.ay"; az: "cp.az"; ba: "cp.ba"; bb: "cp.bb"; bc: "cp.bc"; bd: "cp.bd"; be: "cp.be"; bf: "cp.bf"; bg: "cp.bg"; bh: "cp.bh"; bi: "cp.bi"; bj: "cp.bj"; bk: "cp.bk"; bl: "cp.bl"; bm: "cp.bm"; bn: "cp.bn"; bo: "cp.bo"; bp: "cp.bp"; bq: "cp.bq"; br: "cp.br"; bs: "cp.bs"; bt: "cp.bt"; bu: "cp.bu"; bv: "cp.bv"; bw: "cp.bw"; bx: "cp.bx"; by: "cp.by"; bz: "cp.bz"; ca: "cp.ca"; cb: "cp.cb"; cc: "cp.cc"; cd: "cp.cd"; ce: "cp.ce"; cf: "cp.cf"; cg: "cp.cg"; ch: "cp.ch"; ci: "cp.ci"; cj: "cp.cj"; ck: "cp.ck"; cl: "cp.cl"; cm: "cp.cm"; cn: "cp.cn"; co: "cp.co"; cp: "cp.cp"; cq: "cp.cq"; cr: "cp.cr"; cs: "cp.cs"; ct: "cp.ct"; cu: "cp.cu"; cv: "cp.cv"; cw: "cp.cw"; cx: "cp.cx"; cy: "cp.cy"; cz: "cp.cz"; da: "cp.da"; db: "cp.db"; dc: "cp.dc"; dd: "cp.dd"; de: "cp.de"; df: "cp.df"; dg: "cp.dg"; dh: "cp.dh"; di: "cp.di"; dj: "cp.dj"; dk: "cp.dk"; dl: "cp.dl"; dm: "cp.dm"; dn: "cp.dn"; do: "cp.do"; dp: "cp.dp"; dq: "cp.dq"; dr: "cp.dr"; ds: "cp.ds"; dt: "cp.dt"; du: "cp.du"; dv: "cp.dv"; dw: "cp.dw"; dx: "cp.dx"; dy: "cp.dy"; dz: "cp.dz"; ea: "cp.ea"; eb: "cp.eb"; ec: "cp.ec"; ed: "cp.ed"; ee: "cp.ee"; ef: "cp.ef"; eg: "cp.eg"; eh: "cp.eh"; ei: "cp.ei"; ej: "cp.ej"; ek: "cp.ek"; el: "cp.el"; em: "cp.em"; en: "cp.en"; eo: "cp.eo"; ep: "cp.ep"; eq: "cp.eq"; er: "cp.er"; es: "cp.es"; et: "cp.et"; eu: "cp.eu"; ev: "cp.ev"; ew: "cp.ew"; ex: "cp.ex"; ey: "cp.ey"; ez: "cp.ez"; fa: "cp.fa"; fb: "cp.fb"; fc: "cp.fc"; fd: "cp.fd"; fe: "cp.fe"; ff: "cp.ff"; fg: "cp.fg"; fh: "cp.fh"; fi: "cp.fi"; fj: "cp.fj"; fk: "cp.fk"; fl: "cp.fl"; fm: "cp.fm"; fn: "cp.fn"; fo: "cp.fo"; fp: "cp.fp"; fq: "cp.fq"; fr: "cp.fr"; fs: "cp.fs"; ft: "cp.ft"; fu: "cp.fu"; fv: "cp.fv"; fw: "cp.fw"; fx: "cp.fx"; fy: "cp.fy"; fz: "cp.fz"; ga: "cp.ga"; gb: "cp.gb"; gc: "cp.gc"; gd: "cp.gd"; ge: "cp.ge"; gf: "cp.gf"; gg: "cp.gg"; gh: "cp.gh"; gi: "cp.gi"; gj: "cp.gj"; gk: "cp.gk"; gl: "cp.gl"; gm: "cp.gm"; gn: "cp.gn"; go: "cp.go"; gp: "cp.gp"; gq: "cp.gq"; gr: "cp.gr"; gs: "cp.gs"; gt: "cp.gt"; gu: "cp.gu"; gv: "cp.gv"; gw: "cp.gw"; gx: "cp.gx"; gy: "cp.gy"; gz: "cp.gz"; ha: "cp.ha"; hb: "cp.hb"; hc: "cp.hc"; hd: "cp.hd"; he: "cp.he"; hf: "cp.hf"; hg: "cp.hg"; hh: "cp.hh"; hi: "cp.hi"; hj: "cp.hj"; hk: "cp.hk"; hl: "cp.hl"; hm: "cp.hm"; hn: "cp.hn"; ho: "cp.ho"; hp: "cp.hp"; hq: "cp.hq"; hr: "cp.hr"; hs: "cp.hs"; ht: "cp.ht"; hu: "cp.hu"; hv: "cp.hv"; hw: "cp.hw"; hx: "cp.hx"; hy: "cp.hy"; hz: "cp.hz"; ia: "cp.ia"; ib: "cp.ib"; ic: "cp.ic"; id: "cp.id"; ie: "cp.ie"; if: "cp.if"; ig: "cp.ig"; ih: "cp.ih"; ii: "cp.ii"; ij: "cp.ij"; ik: "cp.ik"; il: "cp.il"; im: "cp.im"; in: "cp.in"; io: "cp.io"; ip: "cp.ip"; iq: "cp.iq"; ir: "cp.ir"; is: "cp.is"; it: "cp.it"; iu: "cp.iu"; iv: "cp.iv"; iw: "cp.iw"; ix: "cp.ix"; iy: "cp.iy"; iz: "cp.iz"; ja: "cp.ja"; jb: "cp.jb"; jc: "cp.jc"; jd: "cp.jd"; je: "cp.je"; jf: "cp.jf"; jg: "cp.jg"; jh: "cp.jh"; ji: "cp.ji"; jj: "cp.jj"; jk: "cp.jk"; jl: "cp.jl"; jm: "cp.jm"; jn: "cp.jn"; jo: "cp.jo"; jp: "cp.jp"; jq: "cp.jq"; jr: "cp.jr"; js: "cp.js"; jt: "cp.jt"; ju: "cp.ju"; jv: "cp.jv"; jw: "cp.jw"; jx: "cp.jx"; jy: "cp.jy"; jz: "cp.jz"; ka: "cp.ka"; kb: "cp.kb"; kc: "cp.kc"; kd: "cp.kd"; ke: "cp.ke"; kf: "cp.kf"; kg: "cp.kg"; kh: "cp.kh"; ki: "cp.ki"; kj: "cp.kj"; kk: "cp.kk"; kl: "cp.kl"; km: "cp.km"; kn: "cp.kn"; ko: "cp.ko"; kp: "cp.kp"; kq: "cp.kq"; kr: "cp.kr"; ks: "cp.ks"; kt: "cp.kt"; ku: "cp.ku"; kv: "cp.kv"; kw: "cp.kw"; kx: "cp.kx"; ky: "cp.ky"; kz: "cp.kz"; la: "cp.la"; lb: "cp.lb"; lc: "cp.lc"; ld: "cp.ld"; le: "cp.le"; lf: "cp.lf"; lg: "cp.lg"; lh: "cp.lh"; li: "cp.li"; lj: "cp.lj"; lk: "cp.lk"; ll: "cp.ll"; lm: "cp.lm"; ln: "cp.ln"; lo: "cp.lo"; lp: "cp.lp"; lq: "cp.lq"; lr: "cp.lr"; ls: "cp.ls"; lt: "cp.lt"; lu: "cp.lu"; lv: "cp.lv"; lw: "cp.lw"; lx: "cp.lx"; ly: "cp.ly"; lz: "cp.lz"; ma: "cp.ma"; mb: "cp.mb"; mc: "cp.mc"; md: "cp.md"; me: "cp.me"; mf: "cp.mf"; mg: "cp.mg"; mh: "cp.mh"; mi: "cp.mi"; mj: "cp.mj"; mk: "cp.mk"; ml: "cp.ml"; mm: "cp.mm"; mn: "cp.mn"; mo: "cp.mo"; mp: "cp.mp"; mq: "cp.mq"; mr: "cp.mr"; ms: "cp.ms"; mt: "cp.mt"; mu: "cp.mu"; mv: "cp.mv"; mw: "cp.mw"; mx: "cp.mx"; my: "cp.my"; mz: "cp.mz"; na: "cp.na"; nb: "cp.nb"; nc: "cp.nc"; nd: "cp.nd"; ne: "cp.ne"; nf: "cp.nf"; ng: "cp.ng"; nh: "cp.nh"; ni: "cp.ni"; nj: "cp.nj"; nk: "cp.nk"; nl: "cp.nl"; nm: "cp.nm"; nn: "cp.nn"; no: "cp.no"; np: "cp.np"; nq: "cp.nq"; nr: "cp.nr"; ns: "cp.ns"; nt: "cp.nt"; nu: "cp.nu"; nv: "cp.nv"; nw: "cp.nw"; nx: "cp.nx"; ny: "cp.ny"; nz: "cp.nz"; oa: "cp.oa"; ob: "cp.ob"; oc: "cp.oc"; od: "cp.od"; oe: "cp.oe"; of: "cp.of"; og: "cp.og"; oh: "cp.oh"; oi: "cp.oi"; oj: "cp.oj"; ok: "cp.ok"; ol: "cp.ol"; om: "cp.om"; on: "cp.on"; oo: "cp.oo"; op: "cp.op"; oq: "cp.oq"; or: "cp.or"; os: "cp.os"; ot: "cp.ot"; ou: "cp.ou"; ov: "cp.ov"; ow: "cp.ow"; ox: "cp.ox"; oy: "cp.oy"; oz: "cp.oz"; pa: "cp.pa"; pb: "cp.pb"; pc: "cp.pc"; pd: "cp.pd"; pe: "cp.pe"; pf: "cp.pf"; pg: "cp.pg"; ph: "cp.ph"; pi: "cp.pi"; pj: "cp.pj"; pk: "cp.pk"; pl: "cp.pl"; pm: "cp.pm"; pn: "cp.pn"; po: "cp.po"; pp: "cp.pp"; pq: "cp.pq"; pr: "cp.pr"; ps: "cp.ps"; pt: "cp.pt"; pu: "cp.pu"; pv: "cp.pv"; pw: "cp.pw"; px: "cp.px"; py: "cp.py"; pz: "cp.pz"; qa: "cp.qa"; qb: "cp.qb"; qc: "cp.qc"; qd: "cp.qd"; qe: "cp.qe"; qf: "cp.qf"; qg: "cp.qg"; qh: "cp.qh"; qi: "cp.qi"; qj: "cp.qj"; qk: "cp.qk"; ql: "cp.ql"; qm: "cp.qm"; qn: "cp.qn"; qo: "cp.qo"; qp: "cp.qp"; qq: "cp.qq"; qr: "cp.qr"; qs: "cp.qs"; qt: "cp.qt"; qu: "cp.qu"; qv: "cp.qv"; qw: "cp.qw"; qx: "cp.qx"; qy: "cp.qy"; qz: "cp.qz"; ra: "cp.ra"; rb: "cp.rb"; rc: "cp.rc"; rd: "cp.rd"; re: "cp.re"; rf: "cp.rf"; rg: "cp.rg"; rh: "cp.rh"; ri: "cp.ri"; rj: "cp.rj"; rk: "cp.rk"; rl: "cp.rl"; rm: "cp.rm"; rn: "cp.rn"; ro: "cp.ro"; rp: "cp.rp"; rq: "cp.rq"; rr: "cp.rr"; rs: "cp.rs"; rt: "cp.rt"; ru: "cp.ru"; rv: "cp.rv"; rw: "cp.rw"; rx: "cp.rx"; ry: "cp.ry"; rz: "cp.rz"; sa: "cp.sa"; sb: "cp.sb"; sc: "cp.sc"; sd: "cp.sd"; se: "cp.se"; sf: "cp.sf"; sg: "cp.sg"; sh: "cp.sh"; si: "cp.si"; sj: "cp.sj"; sk: "cp.sk"; sl: "cp.sl"; sm: "cp.sm"; sn: "cp.sn"; so: "cp.so"; sp: "cp.sp"; sq: "cp.sq"; sr: "cp.sr"; ss: "cp.ss"; st: "cp.st"; su: "cp.su"; sv: "cp.sv"; sw: "cp.sw"; sx: "cp.sx"; sy: "cp.sy"; sz: "cp.sz"; ta: "cp.ta"; tb: "cp.tb"; tc: "cp.tc"; td: "cp.td"; te: "cp.te"; tf: "cp.tf"; tg: "cp.tg"; th: "cp.th"; ti: "cp.ti"; tj: "cp.tj"; tk: "cp.tk"; tl: "cp.tl"; tm: "cp.tm"; tn: "cp.tn"; to: "cp.to"; tp: "cp.tp"; tq: "cp.tq"; tr: "cp.tr"; ts: "cp.ts"; tt: "cp.tt"; tu: "cp.tu"; tv: "cp.tv"; tw: "cp.tw"; tx: "cp.tx"; ty: "cp.ty"; tz: "cp.tz"; ua: "cp.ua"; ub: "cp.ub"; uc: "cp.uc"; ud: "cp.ud"; ue: "cp.ue"; uf: "cp.uf"; ug: "cp.ug"; uh: "cp.uh"; ui: "cp.ui"; uj: "cp.uj"; uk: "cp.uk"; ul: "cp.ul"; um: "cp.um"; un: "cp.un"; uo: "cp.uo"; up: "cp.up"; uq: "cp.uq"; ur: "cp.ur"; us: "cp.us"; ut: "cp.ut"; uu: "cp.uu"; uv: "cp.uv"; uw: "cp.uw"; ux: "cp.ux"; uy: "cp.uy"; uz: "cp.uz"; va: "cp.va"; vb: "cp.vb"; vc: "cp.vc"; vd: "cp.vd"; ve: "cp.ve"; vf: "cp.vf"; vg: "cp.vg"; vh: "cp.vh"; vi: "cp.vi"; vj: "cp.vj"; vk: "cp.vk"; vl: "cp.vl"; vm: "cp.vm"; vn: "cp.vn"; vo: "cp.vo"; vp: "cp.vp"; vq: "cp.vq"; vr: "cp.vr"; vs: "cp.vs"; vt: "cp.vt"; vu: "cp.vu"; vv: "cp.vv"; vw: "cp.vw"; vx: "cp.vx"; vy: "cp.vy"; vz: "cp.vz"; wa: "cp.wa"; wb: "cp.wb"; wc: "cp.wc"; wd: "cp.wd"; we: "cp.we"; wf: "cp.wf"; wg: "cp.wg"; wh: "cp.wh"; wi: "cp.wi"; wj: "cp.wj"; wk: "cp.wk"; wl: "cp.wl"; wm: "cp.wm"; wn: "cp.wn"; wo: "cp.wo"; wp: "cp.wp"; wq: "cp.wq"; wr: "cp.wr"; ws: "cp.ws"; wt: "cp.wt"; wu: "cp.wu"; wv: "cp.wv"; ww: "cp.ww"; wx: "cp.wx"; wy: "cp.wy"; wz: "cp.wz"; xa: "cp.xa"; xb: "cp.xb"; xc: "cp.xc"; xd: "cp.xd"; xe: "cp.xe"; xf: "cp.xf"; xg: "cp.xg"; xh: "cp.xh"; xi: "cp.xi"; xj: "cp.xj"; xk: "cp.xk"; xl: "cp.xl"; xm: "cp.xm"; xn: "cp.xn"; xo: "cp.xo"; xp: "cp.xp"; xq: "cp.xq"; xr: "cp.xr"; xs: "cp.xs"; xt: "cp.xt"; xu: "cp.xu"; xv: "cp.xv"; xw: "cp.xw"; xx: "cp.xx"; xy: "cp.xy"; xz: "cp.xz"; ya: "cp.ya"; yb: "cp.yb"; yc: "cp.yc"; yd: "cp.yd"; ye: "cp.ye"; yf: "cp.yf"; yg: "cp.yg"; yh: "cp.yh"; yi: "cp.yi"; yj: "cp.yj"; yk: "cp.yk"; yl: "cp.yl"; ym: "cp.ym"; yn: "cp.yn"; yo: "cp.yo"; yp: "cp.yp"; yq: "cp.yq"; yr: "cp.yr"; ys: "cp.ys"; yt: "cp.yt"; yu: "cp.yu"; yv: "cp.yv"; yw: "cp.yw"; yx: "cp.yx"; yy: "cp.yy"; yz: "cp.yz"; za: "cp.za"; zb: "cp.zb"; zc: "cp.zc"; zd: "cp.zd"; ze: "cp.ze"; zf: "cp.zf"; zg: "cp.zg"; zh: "cp.zh"; zi: "cp.zi"; zj: "cp.zj"; zk: "cp.zk"; zl: "cp.zl"; zm: "cp.zm"; zn: "cp.zn"; zo: "cp.zo"; zp: "cp.zp"; zq: "cp.zq"; zr: "cp.zr"; zs: "cp.zs"; zt: "cp.zt"; zu: "cp.zu"; zv: "cp.zv"; zw: "cp.zw"; zx: "cp.zx"; zy: "cp.zy"; zz: "cp.zz"; }; cq: { aa: "cq.aa"; ab: "cq.ab"; ac: "cq.ac"; ad: "cq.ad"; ae: "cq.ae"; af: "cq.af"; ag: "cq.ag"; ah: "cq.ah"; ai: "cq.ai"; aj: "cq.aj"; ak: "cq.ak"; al: "cq.al"; am: "cq.am"; an: "cq.an"; ao: "cq.ao"; ap: "cq.ap"; aq: "cq.aq"; ar: "cq.ar"; as: "cq.as"; at: "cq.at"; au: "cq.au"; av: "cq.av"; aw: "cq.aw"; ax: "cq.ax"; ay: "cq.ay"; az: "cq.az"; ba: "cq.ba"; bb: "cq.bb"; bc: "cq.bc"; bd: "cq.bd"; be: "cq.be"; bf: "cq.bf"; bg: "cq.bg"; bh: "cq.bh"; bi: "cq.bi"; bj: "cq.bj"; bk: "cq.bk"; bl: "cq.bl"; bm: "cq.bm"; bn: "cq.bn"; bo: "cq.bo"; bp: "cq.bp"; bq: "cq.bq"; br: "cq.br"; bs: "cq.bs"; bt: "cq.bt"; bu: "cq.bu"; bv: "cq.bv"; bw: "cq.bw"; bx: "cq.bx"; by: "cq.by"; bz: "cq.bz"; ca: "cq.ca"; cb: "cq.cb"; cc: "cq.cc"; cd: "cq.cd"; ce: "cq.ce"; cf: "cq.cf"; cg: "cq.cg"; ch: "cq.ch"; ci: "cq.ci"; cj: "cq.cj"; ck: "cq.ck"; cl: "cq.cl"; cm: "cq.cm"; cn: "cq.cn"; co: "cq.co"; cp: "cq.cp"; cq: "cq.cq"; cr: "cq.cr"; cs: "cq.cs"; ct: "cq.ct"; cu: "cq.cu"; cv: "cq.cv"; cw: "cq.cw"; cx: "cq.cx"; cy: "cq.cy"; cz: "cq.cz"; da: "cq.da"; db: "cq.db"; dc: "cq.dc"; dd: "cq.dd"; de: "cq.de"; df: "cq.df"; dg: "cq.dg"; dh: "cq.dh"; di: "cq.di"; dj: "cq.dj"; dk: "cq.dk"; dl: "cq.dl"; dm: "cq.dm"; dn: "cq.dn"; do: "cq.do"; dp: "cq.dp"; dq: "cq.dq"; dr: "cq.dr"; ds: "cq.ds"; dt: "cq.dt"; du: "cq.du"; dv: "cq.dv"; dw: "cq.dw"; dx: "cq.dx"; dy: "cq.dy"; dz: "cq.dz"; ea: "cq.ea"; eb: "cq.eb"; ec: "cq.ec"; ed: "cq.ed"; ee: "cq.ee"; ef: "cq.ef"; eg: "cq.eg"; eh: "cq.eh"; ei: "cq.ei"; ej: "cq.ej"; ek: "cq.ek"; el: "cq.el"; em: "cq.em"; en: "cq.en"; eo: "cq.eo"; ep: "cq.ep"; eq: "cq.eq"; er: "cq.er"; es: "cq.es"; et: "cq.et"; eu: "cq.eu"; ev: "cq.ev"; ew: "cq.ew"; ex: "cq.ex"; ey: "cq.ey"; ez: "cq.ez"; fa: "cq.fa"; fb: "cq.fb"; fc: "cq.fc"; fd: "cq.fd"; fe: "cq.fe"; ff: "cq.ff"; fg: "cq.fg"; fh: "cq.fh"; fi: "cq.fi"; fj: "cq.fj"; fk: "cq.fk"; fl: "cq.fl"; fm: "cq.fm"; fn: "cq.fn"; fo: "cq.fo"; fp: "cq.fp"; fq: "cq.fq"; fr: "cq.fr"; fs: "cq.fs"; ft: "cq.ft"; fu: "cq.fu"; fv: "cq.fv"; fw: "cq.fw"; fx: "cq.fx"; fy: "cq.fy"; fz: "cq.fz"; ga: "cq.ga"; gb: "cq.gb"; gc: "cq.gc"; gd: "cq.gd"; ge: "cq.ge"; gf: "cq.gf"; gg: "cq.gg"; gh: "cq.gh"; gi: "cq.gi"; gj: "cq.gj"; gk: "cq.gk"; gl: "cq.gl"; gm: "cq.gm"; gn: "cq.gn"; go: "cq.go"; gp: "cq.gp"; gq: "cq.gq"; gr: "cq.gr"; gs: "cq.gs"; gt: "cq.gt"; gu: "cq.gu"; gv: "cq.gv"; gw: "cq.gw"; gx: "cq.gx"; gy: "cq.gy"; gz: "cq.gz"; ha: "cq.ha"; hb: "cq.hb"; hc: "cq.hc"; hd: "cq.hd"; he: "cq.he"; hf: "cq.hf"; hg: "cq.hg"; hh: "cq.hh"; hi: "cq.hi"; hj: "cq.hj"; hk: "cq.hk"; hl: "cq.hl"; hm: "cq.hm"; hn: "cq.hn"; ho: "cq.ho"; hp: "cq.hp"; hq: "cq.hq"; hr: "cq.hr"; hs: "cq.hs"; ht: "cq.ht"; hu: "cq.hu"; hv: "cq.hv"; hw: "cq.hw"; hx: "cq.hx"; hy: "cq.hy"; hz: "cq.hz"; ia: "cq.ia"; ib: "cq.ib"; ic: "cq.ic"; id: "cq.id"; ie: "cq.ie"; if: "cq.if"; ig: "cq.ig"; ih: "cq.ih"; ii: "cq.ii"; ij: "cq.ij"; ik: "cq.ik"; il: "cq.il"; im: "cq.im"; in: "cq.in"; io: "cq.io"; ip: "cq.ip"; iq: "cq.iq"; ir: "cq.ir"; is: "cq.is"; it: "cq.it"; iu: "cq.iu"; iv: "cq.iv"; iw: "cq.iw"; ix: "cq.ix"; iy: "cq.iy"; iz: "cq.iz"; ja: "cq.ja"; jb: "cq.jb"; jc: "cq.jc"; jd: "cq.jd"; je: "cq.je"; jf: "cq.jf"; jg: "cq.jg"; jh: "cq.jh"; ji: "cq.ji"; jj: "cq.jj"; jk: "cq.jk"; jl: "cq.jl"; jm: "cq.jm"; jn: "cq.jn"; jo: "cq.jo"; jp: "cq.jp"; jq: "cq.jq"; jr: "cq.jr"; js: "cq.js"; jt: "cq.jt"; ju: "cq.ju"; jv: "cq.jv"; jw: "cq.jw"; jx: "cq.jx"; jy: "cq.jy"; jz: "cq.jz"; ka: "cq.ka"; kb: "cq.kb"; kc: "cq.kc"; kd: "cq.kd"; ke: "cq.ke"; kf: "cq.kf"; kg: "cq.kg"; kh: "cq.kh"; ki: "cq.ki"; kj: "cq.kj"; kk: "cq.kk"; kl: "cq.kl"; km: "cq.km"; kn: "cq.kn"; ko: "cq.ko"; kp: "cq.kp"; kq: "cq.kq"; kr: "cq.kr"; ks: "cq.ks"; kt: "cq.kt"; ku: "cq.ku"; kv: "cq.kv"; kw: "cq.kw"; kx: "cq.kx"; ky: "cq.ky"; kz: "cq.kz"; la: "cq.la"; lb: "cq.lb"; lc: "cq.lc"; ld: "cq.ld"; le: "cq.le"; lf: "cq.lf"; lg: "cq.lg"; lh: "cq.lh"; li: "cq.li"; lj: "cq.lj"; lk: "cq.lk"; ll: "cq.ll"; lm: "cq.lm"; ln: "cq.ln"; lo: "cq.lo"; lp: "cq.lp"; lq: "cq.lq"; lr: "cq.lr"; ls: "cq.ls"; lt: "cq.lt"; lu: "cq.lu"; lv: "cq.lv"; lw: "cq.lw"; lx: "cq.lx"; ly: "cq.ly"; lz: "cq.lz"; ma: "cq.ma"; mb: "cq.mb"; mc: "cq.mc"; md: "cq.md"; me: "cq.me"; mf: "cq.mf"; mg: "cq.mg"; mh: "cq.mh"; mi: "cq.mi"; mj: "cq.mj"; mk: "cq.mk"; ml: "cq.ml"; mm: "cq.mm"; mn: "cq.mn"; mo: "cq.mo"; mp: "cq.mp"; mq: "cq.mq"; mr: "cq.mr"; ms: "cq.ms"; mt: "cq.mt"; mu: "cq.mu"; mv: "cq.mv"; mw: "cq.mw"; mx: "cq.mx"; my: "cq.my"; mz: "cq.mz"; na: "cq.na"; nb: "cq.nb"; nc: "cq.nc"; nd: "cq.nd"; ne: "cq.ne"; nf: "cq.nf"; ng: "cq.ng"; nh: "cq.nh"; ni: "cq.ni"; nj: "cq.nj"; nk: "cq.nk"; nl: "cq.nl"; nm: "cq.nm"; nn: "cq.nn"; no: "cq.no"; np: "cq.np"; nq: "cq.nq"; nr: "cq.nr"; ns: "cq.ns"; nt: "cq.nt"; nu: "cq.nu"; nv: "cq.nv"; nw: "cq.nw"; nx: "cq.nx"; ny: "cq.ny"; nz: "cq.nz"; oa: "cq.oa"; ob: "cq.ob"; oc: "cq.oc"; od: "cq.od"; oe: "cq.oe"; of: "cq.of"; og: "cq.og"; oh: "cq.oh"; oi: "cq.oi"; oj: "cq.oj"; ok: "cq.ok"; ol: "cq.ol"; om: "cq.om"; on: "cq.on"; oo: "cq.oo"; op: "cq.op"; oq: "cq.oq"; or: "cq.or"; os: "cq.os"; ot: "cq.ot"; ou: "cq.ou"; ov: "cq.ov"; ow: "cq.ow"; ox: "cq.ox"; oy: "cq.oy"; oz: "cq.oz"; pa: "cq.pa"; pb: "cq.pb"; pc: "cq.pc"; pd: "cq.pd"; pe: "cq.pe"; pf: "cq.pf"; pg: "cq.pg"; ph: "cq.ph"; pi: "cq.pi"; pj: "cq.pj"; pk: "cq.pk"; pl: "cq.pl"; pm: "cq.pm"; pn: "cq.pn"; po: "cq.po"; pp: "cq.pp"; pq: "cq.pq"; pr: "cq.pr"; ps: "cq.ps"; pt: "cq.pt"; pu: "cq.pu"; pv: "cq.pv"; pw: "cq.pw"; px: "cq.px"; py: "cq.py"; pz: "cq.pz"; qa: "cq.qa"; qb: "cq.qb"; qc: "cq.qc"; qd: "cq.qd"; qe: "cq.qe"; qf: "cq.qf"; qg: "cq.qg"; qh: "cq.qh"; qi: "cq.qi"; qj: "cq.qj"; qk: "cq.qk"; ql: "cq.ql"; qm: "cq.qm"; qn: "cq.qn"; qo: "cq.qo"; qp: "cq.qp"; qq: "cq.qq"; qr: "cq.qr"; qs: "cq.qs"; qt: "cq.qt"; qu: "cq.qu"; qv: "cq.qv"; qw: "cq.qw"; qx: "cq.qx"; qy: "cq.qy"; qz: "cq.qz"; ra: "cq.ra"; rb: "cq.rb"; rc: "cq.rc"; rd: "cq.rd"; re: "cq.re"; rf: "cq.rf"; rg: "cq.rg"; rh: "cq.rh"; ri: "cq.ri"; rj: "cq.rj"; rk: "cq.rk"; rl: "cq.rl"; rm: "cq.rm"; rn: "cq.rn"; ro: "cq.ro"; rp: "cq.rp"; rq: "cq.rq"; rr: "cq.rr"; rs: "cq.rs"; rt: "cq.rt"; ru: "cq.ru"; rv: "cq.rv"; rw: "cq.rw"; rx: "cq.rx"; ry: "cq.ry"; rz: "cq.rz"; sa: "cq.sa"; sb: "cq.sb"; sc: "cq.sc"; sd: "cq.sd"; se: "cq.se"; sf: "cq.sf"; sg: "cq.sg"; sh: "cq.sh"; si: "cq.si"; sj: "cq.sj"; sk: "cq.sk"; sl: "cq.sl"; sm: "cq.sm"; sn: "cq.sn"; so: "cq.so"; sp: "cq.sp"; sq: "cq.sq"; sr: "cq.sr"; ss: "cq.ss"; st: "cq.st"; su: "cq.su"; sv: "cq.sv"; sw: "cq.sw"; sx: "cq.sx"; sy: "cq.sy"; sz: "cq.sz"; ta: "cq.ta"; tb: "cq.tb"; tc: "cq.tc"; td: "cq.td"; te: "cq.te"; tf: "cq.tf"; tg: "cq.tg"; th: "cq.th"; ti: "cq.ti"; tj: "cq.tj"; tk: "cq.tk"; tl: "cq.tl"; tm: "cq.tm"; tn: "cq.tn"; to: "cq.to"; tp: "cq.tp"; tq: "cq.tq"; tr: "cq.tr"; ts: "cq.ts"; tt: "cq.tt"; tu: "cq.tu"; tv: "cq.tv"; tw: "cq.tw"; tx: "cq.tx"; ty: "cq.ty"; tz: "cq.tz"; ua: "cq.ua"; ub: "cq.ub"; uc: "cq.uc"; ud: "cq.ud"; ue: "cq.ue"; uf: "cq.uf"; ug: "cq.ug"; uh: "cq.uh"; ui: "cq.ui"; uj: "cq.uj"; uk: "cq.uk"; ul: "cq.ul"; um: "cq.um"; un: "cq.un"; uo: "cq.uo"; up: "cq.up"; uq: "cq.uq"; ur: "cq.ur"; us: "cq.us"; ut: "cq.ut"; uu: "cq.uu"; uv: "cq.uv"; uw: "cq.uw"; ux: "cq.ux"; uy: "cq.uy"; uz: "cq.uz"; va: "cq.va"; vb: "cq.vb"; vc: "cq.vc"; vd: "cq.vd"; ve: "cq.ve"; vf: "cq.vf"; vg: "cq.vg"; vh: "cq.vh"; vi: "cq.vi"; vj: "cq.vj"; vk: "cq.vk"; vl: "cq.vl"; vm: "cq.vm"; vn: "cq.vn"; vo: "cq.vo"; vp: "cq.vp"; vq: "cq.vq"; vr: "cq.vr"; vs: "cq.vs"; vt: "cq.vt"; vu: "cq.vu"; vv: "cq.vv"; vw: "cq.vw"; vx: "cq.vx"; vy: "cq.vy"; vz: "cq.vz"; wa: "cq.wa"; wb: "cq.wb"; wc: "cq.wc"; wd: "cq.wd"; we: "cq.we"; wf: "cq.wf"; wg: "cq.wg"; wh: "cq.wh"; wi: "cq.wi"; wj: "cq.wj"; wk: "cq.wk"; wl: "cq.wl"; wm: "cq.wm"; wn: "cq.wn"; wo: "cq.wo"; wp: "cq.wp"; wq: "cq.wq"; wr: "cq.wr"; ws: "cq.ws"; wt: "cq.wt"; wu: "cq.wu"; wv: "cq.wv"; ww: "cq.ww"; wx: "cq.wx"; wy: "cq.wy"; wz: "cq.wz"; xa: "cq.xa"; xb: "cq.xb"; xc: "cq.xc"; xd: "cq.xd"; xe: "cq.xe"; xf: "cq.xf"; xg: "cq.xg"; xh: "cq.xh"; xi: "cq.xi"; xj: "cq.xj"; xk: "cq.xk"; xl: "cq.xl"; xm: "cq.xm"; xn: "cq.xn"; xo: "cq.xo"; xp: "cq.xp"; xq: "cq.xq"; xr: "cq.xr"; xs: "cq.xs"; xt: "cq.xt"; xu: "cq.xu"; xv: "cq.xv"; xw: "cq.xw"; xx: "cq.xx"; xy: "cq.xy"; xz: "cq.xz"; ya: "cq.ya"; yb: "cq.yb"; yc: "cq.yc"; yd: "cq.yd"; ye: "cq.ye"; yf: "cq.yf"; yg: "cq.yg"; yh: "cq.yh"; yi: "cq.yi"; yj: "cq.yj"; yk: "cq.yk"; yl: "cq.yl"; ym: "cq.ym"; yn: "cq.yn"; yo: "cq.yo"; yp: "cq.yp"; yq: "cq.yq"; yr: "cq.yr"; ys: "cq.ys"; yt: "cq.yt"; yu: "cq.yu"; yv: "cq.yv"; yw: "cq.yw"; yx: "cq.yx"; yy: "cq.yy"; yz: "cq.yz"; za: "cq.za"; zb: "cq.zb"; zc: "cq.zc"; zd: "cq.zd"; ze: "cq.ze"; zf: "cq.zf"; zg: "cq.zg"; zh: "cq.zh"; zi: "cq.zi"; zj: "cq.zj"; zk: "cq.zk"; zl: "cq.zl"; zm: "cq.zm"; zn: "cq.zn"; zo: "cq.zo"; zp: "cq.zp"; zq: "cq.zq"; zr: "cq.zr"; zs: "cq.zs"; zt: "cq.zt"; zu: "cq.zu"; zv: "cq.zv"; zw: "cq.zw"; zx: "cq.zx"; zy: "cq.zy"; zz: "cq.zz"; }; cr: { aa: "cr.aa"; ab: "cr.ab"; ac: "cr.ac"; ad: "cr.ad"; ae: "cr.ae"; af: "cr.af"; ag: "cr.ag"; ah: "cr.ah"; ai: "cr.ai"; aj: "cr.aj"; ak: "cr.ak"; al: "cr.al"; am: "cr.am"; an: "cr.an"; ao: "cr.ao"; ap: "cr.ap"; aq: "cr.aq"; ar: "cr.ar"; as: "cr.as"; at: "cr.at"; au: "cr.au"; av: "cr.av"; aw: "cr.aw"; ax: "cr.ax"; ay: "cr.ay"; az: "cr.az"; ba: "cr.ba"; bb: "cr.bb"; bc: "cr.bc"; bd: "cr.bd"; be: "cr.be"; bf: "cr.bf"; bg: "cr.bg"; bh: "cr.bh"; bi: "cr.bi"; bj: "cr.bj"; bk: "cr.bk"; bl: "cr.bl"; bm: "cr.bm"; bn: "cr.bn"; bo: "cr.bo"; bp: "cr.bp"; bq: "cr.bq"; br: "cr.br"; bs: "cr.bs"; bt: "cr.bt"; bu: "cr.bu"; bv: "cr.bv"; bw: "cr.bw"; bx: "cr.bx"; by: "cr.by"; bz: "cr.bz"; ca: "cr.ca"; cb: "cr.cb"; cc: "cr.cc"; cd: "cr.cd"; ce: "cr.ce"; cf: "cr.cf"; cg: "cr.cg"; ch: "cr.ch"; ci: "cr.ci"; cj: "cr.cj"; ck: "cr.ck"; cl: "cr.cl"; cm: "cr.cm"; cn: "cr.cn"; co: "cr.co"; cp: "cr.cp"; cq: "cr.cq"; cr: "cr.cr"; cs: "cr.cs"; ct: "cr.ct"; cu: "cr.cu"; cv: "cr.cv"; cw: "cr.cw"; cx: "cr.cx"; cy: "cr.cy"; cz: "cr.cz"; da: "cr.da"; db: "cr.db"; dc: "cr.dc"; dd: "cr.dd"; de: "cr.de"; df: "cr.df"; dg: "cr.dg"; dh: "cr.dh"; di: "cr.di"; dj: "cr.dj"; dk: "cr.dk"; dl: "cr.dl"; dm: "cr.dm"; dn: "cr.dn"; do: "cr.do"; dp: "cr.dp"; dq: "cr.dq"; dr: "cr.dr"; ds: "cr.ds"; dt: "cr.dt"; du: "cr.du"; dv: "cr.dv"; dw: "cr.dw"; dx: "cr.dx"; dy: "cr.dy"; dz: "cr.dz"; ea: "cr.ea"; eb: "cr.eb"; ec: "cr.ec"; ed: "cr.ed"; ee: "cr.ee"; ef: "cr.ef"; eg: "cr.eg"; eh: "cr.eh"; ei: "cr.ei"; ej: "cr.ej"; ek: "cr.ek"; el: "cr.el"; em: "cr.em"; en: "cr.en"; eo: "cr.eo"; ep: "cr.ep"; eq: "cr.eq"; er: "cr.er"; es: "cr.es"; et: "cr.et"; eu: "cr.eu"; ev: "cr.ev"; ew: "cr.ew"; ex: "cr.ex"; ey: "cr.ey"; ez: "cr.ez"; fa: "cr.fa"; fb: "cr.fb"; fc: "cr.fc"; fd: "cr.fd"; fe: "cr.fe"; ff: "cr.ff"; fg: "cr.fg"; fh: "cr.fh"; fi: "cr.fi"; fj: "cr.fj"; fk: "cr.fk"; fl: "cr.fl"; fm: "cr.fm"; fn: "cr.fn"; fo: "cr.fo"; fp: "cr.fp"; fq: "cr.fq"; fr: "cr.fr"; fs: "cr.fs"; ft: "cr.ft"; fu: "cr.fu"; fv: "cr.fv"; fw: "cr.fw"; fx: "cr.fx"; fy: "cr.fy"; fz: "cr.fz"; ga: "cr.ga"; gb: "cr.gb"; gc: "cr.gc"; gd: "cr.gd"; ge: "cr.ge"; gf: "cr.gf"; gg: "cr.gg"; gh: "cr.gh"; gi: "cr.gi"; gj: "cr.gj"; gk: "cr.gk"; gl: "cr.gl"; gm: "cr.gm"; gn: "cr.gn"; go: "cr.go"; gp: "cr.gp"; gq: "cr.gq"; gr: "cr.gr"; gs: "cr.gs"; gt: "cr.gt"; gu: "cr.gu"; gv: "cr.gv"; gw: "cr.gw"; gx: "cr.gx"; gy: "cr.gy"; gz: "cr.gz"; ha: "cr.ha"; hb: "cr.hb"; hc: "cr.hc"; hd: "cr.hd"; he: "cr.he"; hf: "cr.hf"; hg: "cr.hg"; hh: "cr.hh"; hi: "cr.hi"; hj: "cr.hj"; hk: "cr.hk"; hl: "cr.hl"; hm: "cr.hm"; hn: "cr.hn"; ho: "cr.ho"; hp: "cr.hp"; hq: "cr.hq"; hr: "cr.hr"; hs: "cr.hs"; ht: "cr.ht"; hu: "cr.hu"; hv: "cr.hv"; hw: "cr.hw"; hx: "cr.hx"; hy: "cr.hy"; hz: "cr.hz"; ia: "cr.ia"; ib: "cr.ib"; ic: "cr.ic"; id: "cr.id"; ie: "cr.ie"; if: "cr.if"; ig: "cr.ig"; ih: "cr.ih"; ii: "cr.ii"; ij: "cr.ij"; ik: "cr.ik"; il: "cr.il"; im: "cr.im"; in: "cr.in"; io: "cr.io"; ip: "cr.ip"; iq: "cr.iq"; ir: "cr.ir"; is: "cr.is"; it: "cr.it"; iu: "cr.iu"; iv: "cr.iv"; iw: "cr.iw"; ix: "cr.ix"; iy: "cr.iy"; iz: "cr.iz"; ja: "cr.ja"; jb: "cr.jb"; jc: "cr.jc"; jd: "cr.jd"; je: "cr.je"; jf: "cr.jf"; jg: "cr.jg"; jh: "cr.jh"; ji: "cr.ji"; jj: "cr.jj"; jk: "cr.jk"; jl: "cr.jl"; jm: "cr.jm"; jn: "cr.jn"; jo: "cr.jo"; jp: "cr.jp"; jq: "cr.jq"; jr: "cr.jr"; js: "cr.js"; jt: "cr.jt"; ju: "cr.ju"; jv: "cr.jv"; jw: "cr.jw"; jx: "cr.jx"; jy: "cr.jy"; jz: "cr.jz"; ka: "cr.ka"; kb: "cr.kb"; kc: "cr.kc"; kd: "cr.kd"; ke: "cr.ke"; kf: "cr.kf"; kg: "cr.kg"; kh: "cr.kh"; ki: "cr.ki"; kj: "cr.kj"; kk: "cr.kk"; kl: "cr.kl"; km: "cr.km"; kn: "cr.kn"; ko: "cr.ko"; kp: "cr.kp"; kq: "cr.kq"; kr: "cr.kr"; ks: "cr.ks"; kt: "cr.kt"; ku: "cr.ku"; kv: "cr.kv"; kw: "cr.kw"; kx: "cr.kx"; ky: "cr.ky"; kz: "cr.kz"; la: "cr.la"; lb: "cr.lb"; lc: "cr.lc"; ld: "cr.ld"; le: "cr.le"; lf: "cr.lf"; lg: "cr.lg"; lh: "cr.lh"; li: "cr.li"; lj: "cr.lj"; lk: "cr.lk"; ll: "cr.ll"; lm: "cr.lm"; ln: "cr.ln"; lo: "cr.lo"; lp: "cr.lp"; lq: "cr.lq"; lr: "cr.lr"; ls: "cr.ls"; lt: "cr.lt"; lu: "cr.lu"; lv: "cr.lv"; lw: "cr.lw"; lx: "cr.lx"; ly: "cr.ly"; lz: "cr.lz"; ma: "cr.ma"; mb: "cr.mb"; mc: "cr.mc"; md: "cr.md"; me: "cr.me"; mf: "cr.mf"; mg: "cr.mg"; mh: "cr.mh"; mi: "cr.mi"; mj: "cr.mj"; mk: "cr.mk"; ml: "cr.ml"; mm: "cr.mm"; mn: "cr.mn"; mo: "cr.mo"; mp: "cr.mp"; mq: "cr.mq"; mr: "cr.mr"; ms: "cr.ms"; mt: "cr.mt"; mu: "cr.mu"; mv: "cr.mv"; mw: "cr.mw"; mx: "cr.mx"; my: "cr.my"; mz: "cr.mz"; na: "cr.na"; nb: "cr.nb"; nc: "cr.nc"; nd: "cr.nd"; ne: "cr.ne"; nf: "cr.nf"; ng: "cr.ng"; nh: "cr.nh"; ni: "cr.ni"; nj: "cr.nj"; nk: "cr.nk"; nl: "cr.nl"; nm: "cr.nm"; nn: "cr.nn"; no: "cr.no"; np: "cr.np"; nq: "cr.nq"; nr: "cr.nr"; ns: "cr.ns"; nt: "cr.nt"; nu: "cr.nu"; nv: "cr.nv"; nw: "cr.nw"; nx: "cr.nx"; ny: "cr.ny"; nz: "cr.nz"; oa: "cr.oa"; ob: "cr.ob"; oc: "cr.oc"; od: "cr.od"; oe: "cr.oe"; of: "cr.of"; og: "cr.og"; oh: "cr.oh"; oi: "cr.oi"; oj: "cr.oj"; ok: "cr.ok"; ol: "cr.ol"; om: "cr.om"; on: "cr.on"; oo: "cr.oo"; op: "cr.op"; oq: "cr.oq"; or: "cr.or"; os: "cr.os"; ot: "cr.ot"; ou: "cr.ou"; ov: "cr.ov"; ow: "cr.ow"; ox: "cr.ox"; oy: "cr.oy"; oz: "cr.oz"; pa: "cr.pa"; pb: "cr.pb"; pc: "cr.pc"; pd: "cr.pd"; pe: "cr.pe"; pf: "cr.pf"; pg: "cr.pg"; ph: "cr.ph"; pi: "cr.pi"; pj: "cr.pj"; pk: "cr.pk"; pl: "cr.pl"; pm: "cr.pm"; pn: "cr.pn"; po: "cr.po"; pp: "cr.pp"; pq: "cr.pq"; pr: "cr.pr"; ps: "cr.ps"; pt: "cr.pt"; pu: "cr.pu"; pv: "cr.pv"; pw: "cr.pw"; px: "cr.px"; py: "cr.py"; pz: "cr.pz"; qa: "cr.qa"; qb: "cr.qb"; qc: "cr.qc"; qd: "cr.qd"; qe: "cr.qe"; qf: "cr.qf"; qg: "cr.qg"; qh: "cr.qh"; qi: "cr.qi"; qj: "cr.qj"; qk: "cr.qk"; ql: "cr.ql"; qm: "cr.qm"; qn: "cr.qn"; qo: "cr.qo"; qp: "cr.qp"; qq: "cr.qq"; qr: "cr.qr"; qs: "cr.qs"; qt: "cr.qt"; qu: "cr.qu"; qv: "cr.qv"; qw: "cr.qw"; qx: "cr.qx"; qy: "cr.qy"; qz: "cr.qz"; ra: "cr.ra"; rb: "cr.rb"; rc: "cr.rc"; rd: "cr.rd"; re: "cr.re"; rf: "cr.rf"; rg: "cr.rg"; rh: "cr.rh"; ri: "cr.ri"; rj: "cr.rj"; rk: "cr.rk"; rl: "cr.rl"; rm: "cr.rm"; rn: "cr.rn"; ro: "cr.ro"; rp: "cr.rp"; rq: "cr.rq"; rr: "cr.rr"; rs: "cr.rs"; rt: "cr.rt"; ru: "cr.ru"; rv: "cr.rv"; rw: "cr.rw"; rx: "cr.rx"; ry: "cr.ry"; rz: "cr.rz"; sa: "cr.sa"; sb: "cr.sb"; sc: "cr.sc"; sd: "cr.sd"; se: "cr.se"; sf: "cr.sf"; sg: "cr.sg"; sh: "cr.sh"; si: "cr.si"; sj: "cr.sj"; sk: "cr.sk"; sl: "cr.sl"; sm: "cr.sm"; sn: "cr.sn"; so: "cr.so"; sp: "cr.sp"; sq: "cr.sq"; sr: "cr.sr"; ss: "cr.ss"; st: "cr.st"; su: "cr.su"; sv: "cr.sv"; sw: "cr.sw"; sx: "cr.sx"; sy: "cr.sy"; sz: "cr.sz"; ta: "cr.ta"; tb: "cr.tb"; tc: "cr.tc"; td: "cr.td"; te: "cr.te"; tf: "cr.tf"; tg: "cr.tg"; th: "cr.th"; ti: "cr.ti"; tj: "cr.tj"; tk: "cr.tk"; tl: "cr.tl"; tm: "cr.tm"; tn: "cr.tn"; to: "cr.to"; tp: "cr.tp"; tq: "cr.tq"; tr: "cr.tr"; ts: "cr.ts"; tt: "cr.tt"; tu: "cr.tu"; tv: "cr.tv"; tw: "cr.tw"; tx: "cr.tx"; ty: "cr.ty"; tz: "cr.tz"; ua: "cr.ua"; ub: "cr.ub"; uc: "cr.uc"; ud: "cr.ud"; ue: "cr.ue"; uf: "cr.uf"; ug: "cr.ug"; uh: "cr.uh"; ui: "cr.ui"; uj: "cr.uj"; uk: "cr.uk"; ul: "cr.ul"; um: "cr.um"; un: "cr.un"; uo: "cr.uo"; up: "cr.up"; uq: "cr.uq"; ur: "cr.ur"; us: "cr.us"; ut: "cr.ut"; uu: "cr.uu"; uv: "cr.uv"; uw: "cr.uw"; ux: "cr.ux"; uy: "cr.uy"; uz: "cr.uz"; va: "cr.va"; vb: "cr.vb"; vc: "cr.vc"; vd: "cr.vd"; ve: "cr.ve"; vf: "cr.vf"; vg: "cr.vg"; vh: "cr.vh"; vi: "cr.vi"; vj: "cr.vj"; vk: "cr.vk"; vl: "cr.vl"; vm: "cr.vm"; vn: "cr.vn"; vo: "cr.vo"; vp: "cr.vp"; vq: "cr.vq"; vr: "cr.vr"; vs: "cr.vs"; vt: "cr.vt"; vu: "cr.vu"; vv: "cr.vv"; vw: "cr.vw"; vx: "cr.vx"; vy: "cr.vy"; vz: "cr.vz"; wa: "cr.wa"; wb: "cr.wb"; wc: "cr.wc"; wd: "cr.wd"; we: "cr.we"; wf: "cr.wf"; wg: "cr.wg"; wh: "cr.wh"; wi: "cr.wi"; wj: "cr.wj"; wk: "cr.wk"; wl: "cr.wl"; wm: "cr.wm"; wn: "cr.wn"; wo: "cr.wo"; wp: "cr.wp"; wq: "cr.wq"; wr: "cr.wr"; ws: "cr.ws"; wt: "cr.wt"; wu: "cr.wu"; wv: "cr.wv"; ww: "cr.ww"; wx: "cr.wx"; wy: "cr.wy"; wz: "cr.wz"; xa: "cr.xa"; xb: "cr.xb"; xc: "cr.xc"; xd: "cr.xd"; xe: "cr.xe"; xf: "cr.xf"; xg: "cr.xg"; xh: "cr.xh"; xi: "cr.xi"; xj: "cr.xj"; xk: "cr.xk"; xl: "cr.xl"; xm: "cr.xm"; xn: "cr.xn"; xo: "cr.xo"; xp: "cr.xp"; xq: "cr.xq"; xr: "cr.xr"; xs: "cr.xs"; xt: "cr.xt"; xu: "cr.xu"; xv: "cr.xv"; xw: "cr.xw"; xx: "cr.xx"; xy: "cr.xy"; xz: "cr.xz"; ya: "cr.ya"; yb: "cr.yb"; yc: "cr.yc"; yd: "cr.yd"; ye: "cr.ye"; yf: "cr.yf"; yg: "cr.yg"; yh: "cr.yh"; yi: "cr.yi"; yj: "cr.yj"; yk: "cr.yk"; yl: "cr.yl"; ym: "cr.ym"; yn: "cr.yn"; yo: "cr.yo"; yp: "cr.yp"; yq: "cr.yq"; yr: "cr.yr"; ys: "cr.ys"; yt: "cr.yt"; yu: "cr.yu"; yv: "cr.yv"; yw: "cr.yw"; yx: "cr.yx"; yy: "cr.yy"; yz: "cr.yz"; za: "cr.za"; zb: "cr.zb"; zc: "cr.zc"; zd: "cr.zd"; ze: "cr.ze"; zf: "cr.zf"; zg: "cr.zg"; zh: "cr.zh"; zi: "cr.zi"; zj: "cr.zj"; zk: "cr.zk"; zl: "cr.zl"; zm: "cr.zm"; zn: "cr.zn"; zo: "cr.zo"; zp: "cr.zp"; zq: "cr.zq"; zr: "cr.zr"; zs: "cr.zs"; zt: "cr.zt"; zu: "cr.zu"; zv: "cr.zv"; zw: "cr.zw"; zx: "cr.zx"; zy: "cr.zy"; zz: "cr.zz"; }; cs: { aa: "cs.aa"; ab: "cs.ab"; ac: "cs.ac"; ad: "cs.ad"; ae: "cs.ae"; af: "cs.af"; ag: "cs.ag"; ah: "cs.ah"; ai: "cs.ai"; aj: "cs.aj"; ak: "cs.ak"; al: "cs.al"; am: "cs.am"; an: "cs.an"; ao: "cs.ao"; ap: "cs.ap"; aq: "cs.aq"; ar: "cs.ar"; as: "cs.as"; at: "cs.at"; au: "cs.au"; av: "cs.av"; aw: "cs.aw"; ax: "cs.ax"; ay: "cs.ay"; az: "cs.az"; ba: "cs.ba"; bb: "cs.bb"; bc: "cs.bc"; bd: "cs.bd"; be: "cs.be"; bf: "cs.bf"; bg: "cs.bg"; bh: "cs.bh"; bi: "cs.bi"; bj: "cs.bj"; bk: "cs.bk"; bl: "cs.bl"; bm: "cs.bm"; bn: "cs.bn"; bo: "cs.bo"; bp: "cs.bp"; bq: "cs.bq"; br: "cs.br"; bs: "cs.bs"; bt: "cs.bt"; bu: "cs.bu"; bv: "cs.bv"; bw: "cs.bw"; bx: "cs.bx"; by: "cs.by"; bz: "cs.bz"; ca: "cs.ca"; cb: "cs.cb"; cc: "cs.cc"; cd: "cs.cd"; ce: "cs.ce"; cf: "cs.cf"; cg: "cs.cg"; ch: "cs.ch"; ci: "cs.ci"; cj: "cs.cj"; ck: "cs.ck"; cl: "cs.cl"; cm: "cs.cm"; cn: "cs.cn"; co: "cs.co"; cp: "cs.cp"; cq: "cs.cq"; cr: "cs.cr"; cs: "cs.cs"; ct: "cs.ct"; cu: "cs.cu"; cv: "cs.cv"; cw: "cs.cw"; cx: "cs.cx"; cy: "cs.cy"; cz: "cs.cz"; da: "cs.da"; db: "cs.db"; dc: "cs.dc"; dd: "cs.dd"; de: "cs.de"; df: "cs.df"; dg: "cs.dg"; dh: "cs.dh"; di: "cs.di"; dj: "cs.dj"; dk: "cs.dk"; dl: "cs.dl"; dm: "cs.dm"; dn: "cs.dn"; do: "cs.do"; dp: "cs.dp"; dq: "cs.dq"; dr: "cs.dr"; ds: "cs.ds"; dt: "cs.dt"; du: "cs.du"; dv: "cs.dv"; dw: "cs.dw"; dx: "cs.dx"; dy: "cs.dy"; dz: "cs.dz"; ea: "cs.ea"; eb: "cs.eb"; ec: "cs.ec"; ed: "cs.ed"; ee: "cs.ee"; ef: "cs.ef"; eg: "cs.eg"; eh: "cs.eh"; ei: "cs.ei"; ej: "cs.ej"; ek: "cs.ek"; el: "cs.el"; em: "cs.em"; en: "cs.en"; eo: "cs.eo"; ep: "cs.ep"; eq: "cs.eq"; er: "cs.er"; es: "cs.es"; et: "cs.et"; eu: "cs.eu"; ev: "cs.ev"; ew: "cs.ew"; ex: "cs.ex"; ey: "cs.ey"; ez: "cs.ez"; fa: "cs.fa"; fb: "cs.fb"; fc: "cs.fc"; fd: "cs.fd"; fe: "cs.fe"; ff: "cs.ff"; fg: "cs.fg"; fh: "cs.fh"; fi: "cs.fi"; fj: "cs.fj"; fk: "cs.fk"; fl: "cs.fl"; fm: "cs.fm"; fn: "cs.fn"; fo: "cs.fo"; fp: "cs.fp"; fq: "cs.fq"; fr: "cs.fr"; fs: "cs.fs"; ft: "cs.ft"; fu: "cs.fu"; fv: "cs.fv"; fw: "cs.fw"; fx: "cs.fx"; fy: "cs.fy"; fz: "cs.fz"; ga: "cs.ga"; gb: "cs.gb"; gc: "cs.gc"; gd: "cs.gd"; ge: "cs.ge"; gf: "cs.gf"; gg: "cs.gg"; gh: "cs.gh"; gi: "cs.gi"; gj: "cs.gj"; gk: "cs.gk"; gl: "cs.gl"; gm: "cs.gm"; gn: "cs.gn"; go: "cs.go"; gp: "cs.gp"; gq: "cs.gq"; gr: "cs.gr"; gs: "cs.gs"; gt: "cs.gt"; gu: "cs.gu"; gv: "cs.gv"; gw: "cs.gw"; gx: "cs.gx"; gy: "cs.gy"; gz: "cs.gz"; ha: "cs.ha"; hb: "cs.hb"; hc: "cs.hc"; hd: "cs.hd"; he: "cs.he"; hf: "cs.hf"; hg: "cs.hg"; hh: "cs.hh"; hi: "cs.hi"; hj: "cs.hj"; hk: "cs.hk"; hl: "cs.hl"; hm: "cs.hm"; hn: "cs.hn"; ho: "cs.ho"; hp: "cs.hp"; hq: "cs.hq"; hr: "cs.hr"; hs: "cs.hs"; ht: "cs.ht"; hu: "cs.hu"; hv: "cs.hv"; hw: "cs.hw"; hx: "cs.hx"; hy: "cs.hy"; hz: "cs.hz"; ia: "cs.ia"; ib: "cs.ib"; ic: "cs.ic"; id: "cs.id"; ie: "cs.ie"; if: "cs.if"; ig: "cs.ig"; ih: "cs.ih"; ii: "cs.ii"; ij: "cs.ij"; ik: "cs.ik"; il: "cs.il"; im: "cs.im"; in: "cs.in"; io: "cs.io"; ip: "cs.ip"; iq: "cs.iq"; ir: "cs.ir"; is: "cs.is"; it: "cs.it"; iu: "cs.iu"; iv: "cs.iv"; iw: "cs.iw"; ix: "cs.ix"; iy: "cs.iy"; iz: "cs.iz"; ja: "cs.ja"; jb: "cs.jb"; jc: "cs.jc"; jd: "cs.jd"; je: "cs.je"; jf: "cs.jf"; jg: "cs.jg"; jh: "cs.jh"; ji: "cs.ji"; jj: "cs.jj"; jk: "cs.jk"; jl: "cs.jl"; jm: "cs.jm"; jn: "cs.jn"; jo: "cs.jo"; jp: "cs.jp"; jq: "cs.jq"; jr: "cs.jr"; js: "cs.js"; jt: "cs.jt"; ju: "cs.ju"; jv: "cs.jv"; jw: "cs.jw"; jx: "cs.jx"; jy: "cs.jy"; jz: "cs.jz"; ka: "cs.ka"; kb: "cs.kb"; kc: "cs.kc"; kd: "cs.kd"; ke: "cs.ke"; kf: "cs.kf"; kg: "cs.kg"; kh: "cs.kh"; ki: "cs.ki"; kj: "cs.kj"; kk: "cs.kk"; kl: "cs.kl"; km: "cs.km"; kn: "cs.kn"; ko: "cs.ko"; kp: "cs.kp"; kq: "cs.kq"; kr: "cs.kr"; ks: "cs.ks"; kt: "cs.kt"; ku: "cs.ku"; kv: "cs.kv"; kw: "cs.kw"; kx: "cs.kx"; ky: "cs.ky"; kz: "cs.kz"; la: "cs.la"; lb: "cs.lb"; lc: "cs.lc"; ld: "cs.ld"; le: "cs.le"; lf: "cs.lf"; lg: "cs.lg"; lh: "cs.lh"; li: "cs.li"; lj: "cs.lj"; lk: "cs.lk"; ll: "cs.ll"; lm: "cs.lm"; ln: "cs.ln"; lo: "cs.lo"; lp: "cs.lp"; lq: "cs.lq"; lr: "cs.lr"; ls: "cs.ls"; lt: "cs.lt"; lu: "cs.lu"; lv: "cs.lv"; lw: "cs.lw"; lx: "cs.lx"; ly: "cs.ly"; lz: "cs.lz"; ma: "cs.ma"; mb: "cs.mb"; mc: "cs.mc"; md: "cs.md"; me: "cs.me"; mf: "cs.mf"; mg: "cs.mg"; mh: "cs.mh"; mi: "cs.mi"; mj: "cs.mj"; mk: "cs.mk"; ml: "cs.ml"; mm: "cs.mm"; mn: "cs.mn"; mo: "cs.mo"; mp: "cs.mp"; mq: "cs.mq"; mr: "cs.mr"; ms: "cs.ms"; mt: "cs.mt"; mu: "cs.mu"; mv: "cs.mv"; mw: "cs.mw"; mx: "cs.mx"; my: "cs.my"; mz: "cs.mz"; na: "cs.na"; nb: "cs.nb"; nc: "cs.nc"; nd: "cs.nd"; ne: "cs.ne"; nf: "cs.nf"; ng: "cs.ng"; nh: "cs.nh"; ni: "cs.ni"; nj: "cs.nj"; nk: "cs.nk"; nl: "cs.nl"; nm: "cs.nm"; nn: "cs.nn"; no: "cs.no"; np: "cs.np"; nq: "cs.nq"; nr: "cs.nr"; ns: "cs.ns"; nt: "cs.nt"; nu: "cs.nu"; nv: "cs.nv"; nw: "cs.nw"; nx: "cs.nx"; ny: "cs.ny"; nz: "cs.nz"; oa: "cs.oa"; ob: "cs.ob"; oc: "cs.oc"; od: "cs.od"; oe: "cs.oe"; of: "cs.of"; og: "cs.og"; oh: "cs.oh"; oi: "cs.oi"; oj: "cs.oj"; ok: "cs.ok"; ol: "cs.ol"; om: "cs.om"; on: "cs.on"; oo: "cs.oo"; op: "cs.op"; oq: "cs.oq"; or: "cs.or"; os: "cs.os"; ot: "cs.ot"; ou: "cs.ou"; ov: "cs.ov"; ow: "cs.ow"; ox: "cs.ox"; oy: "cs.oy"; oz: "cs.oz"; pa: "cs.pa"; pb: "cs.pb"; pc: "cs.pc"; pd: "cs.pd"; pe: "cs.pe"; pf: "cs.pf"; pg: "cs.pg"; ph: "cs.ph"; pi: "cs.pi"; pj: "cs.pj"; pk: "cs.pk"; pl: "cs.pl"; pm: "cs.pm"; pn: "cs.pn"; po: "cs.po"; pp: "cs.pp"; pq: "cs.pq"; pr: "cs.pr"; ps: "cs.ps"; pt: "cs.pt"; pu: "cs.pu"; pv: "cs.pv"; pw: "cs.pw"; px: "cs.px"; py: "cs.py"; pz: "cs.pz"; qa: "cs.qa"; qb: "cs.qb"; qc: "cs.qc"; qd: "cs.qd"; qe: "cs.qe"; qf: "cs.qf"; qg: "cs.qg"; qh: "cs.qh"; qi: "cs.qi"; qj: "cs.qj"; qk: "cs.qk"; ql: "cs.ql"; qm: "cs.qm"; qn: "cs.qn"; qo: "cs.qo"; qp: "cs.qp"; qq: "cs.qq"; qr: "cs.qr"; qs: "cs.qs"; qt: "cs.qt"; qu: "cs.qu"; qv: "cs.qv"; qw: "cs.qw"; qx: "cs.qx"; qy: "cs.qy"; qz: "cs.qz"; ra: "cs.ra"; rb: "cs.rb"; rc: "cs.rc"; rd: "cs.rd"; re: "cs.re"; rf: "cs.rf"; rg: "cs.rg"; rh: "cs.rh"; ri: "cs.ri"; rj: "cs.rj"; rk: "cs.rk"; rl: "cs.rl"; rm: "cs.rm"; rn: "cs.rn"; ro: "cs.ro"; rp: "cs.rp"; rq: "cs.rq"; rr: "cs.rr"; rs: "cs.rs"; rt: "cs.rt"; ru: "cs.ru"; rv: "cs.rv"; rw: "cs.rw"; rx: "cs.rx"; ry: "cs.ry"; rz: "cs.rz"; sa: "cs.sa"; sb: "cs.sb"; sc: "cs.sc"; sd: "cs.sd"; se: "cs.se"; sf: "cs.sf"; sg: "cs.sg"; sh: "cs.sh"; si: "cs.si"; sj: "cs.sj"; sk: "cs.sk"; sl: "cs.sl"; sm: "cs.sm"; sn: "cs.sn"; so: "cs.so"; sp: "cs.sp"; sq: "cs.sq"; sr: "cs.sr"; ss: "cs.ss"; st: "cs.st"; su: "cs.su"; sv: "cs.sv"; sw: "cs.sw"; sx: "cs.sx"; sy: "cs.sy"; sz: "cs.sz"; ta: "cs.ta"; tb: "cs.tb"; tc: "cs.tc"; td: "cs.td"; te: "cs.te"; tf: "cs.tf"; tg: "cs.tg"; th: "cs.th"; ti: "cs.ti"; tj: "cs.tj"; tk: "cs.tk"; tl: "cs.tl"; tm: "cs.tm"; tn: "cs.tn"; to: "cs.to"; tp: "cs.tp"; tq: "cs.tq"; tr: "cs.tr"; ts: "cs.ts"; tt: "cs.tt"; tu: "cs.tu"; tv: "cs.tv"; tw: "cs.tw"; tx: "cs.tx"; ty: "cs.ty"; tz: "cs.tz"; ua: "cs.ua"; ub: "cs.ub"; uc: "cs.uc"; ud: "cs.ud"; ue: "cs.ue"; uf: "cs.uf"; ug: "cs.ug"; uh: "cs.uh"; ui: "cs.ui"; uj: "cs.uj"; uk: "cs.uk"; ul: "cs.ul"; um: "cs.um"; un: "cs.un"; uo: "cs.uo"; up: "cs.up"; uq: "cs.uq"; ur: "cs.ur"; us: "cs.us"; ut: "cs.ut"; uu: "cs.uu"; uv: "cs.uv"; uw: "cs.uw"; ux: "cs.ux"; uy: "cs.uy"; uz: "cs.uz"; va: "cs.va"; vb: "cs.vb"; vc: "cs.vc"; vd: "cs.vd"; ve: "cs.ve"; vf: "cs.vf"; vg: "cs.vg"; vh: "cs.vh"; vi: "cs.vi"; vj: "cs.vj"; vk: "cs.vk"; vl: "cs.vl"; vm: "cs.vm"; vn: "cs.vn"; vo: "cs.vo"; vp: "cs.vp"; vq: "cs.vq"; vr: "cs.vr"; vs: "cs.vs"; vt: "cs.vt"; vu: "cs.vu"; vv: "cs.vv"; vw: "cs.vw"; vx: "cs.vx"; vy: "cs.vy"; vz: "cs.vz"; wa: "cs.wa"; wb: "cs.wb"; wc: "cs.wc"; wd: "cs.wd"; we: "cs.we"; wf: "cs.wf"; wg: "cs.wg"; wh: "cs.wh"; wi: "cs.wi"; wj: "cs.wj"; wk: "cs.wk"; wl: "cs.wl"; wm: "cs.wm"; wn: "cs.wn"; wo: "cs.wo"; wp: "cs.wp"; wq: "cs.wq"; wr: "cs.wr"; ws: "cs.ws"; wt: "cs.wt"; wu: "cs.wu"; wv: "cs.wv"; ww: "cs.ww"; wx: "cs.wx"; wy: "cs.wy"; wz: "cs.wz"; xa: "cs.xa"; xb: "cs.xb"; xc: "cs.xc"; xd: "cs.xd"; xe: "cs.xe"; xf: "cs.xf"; xg: "cs.xg"; xh: "cs.xh"; xi: "cs.xi"; xj: "cs.xj"; xk: "cs.xk"; xl: "cs.xl"; xm: "cs.xm"; xn: "cs.xn"; xo: "cs.xo"; xp: "cs.xp"; xq: "cs.xq"; xr: "cs.xr"; xs: "cs.xs"; xt: "cs.xt"; xu: "cs.xu"; xv: "cs.xv"; xw: "cs.xw"; xx: "cs.xx"; xy: "cs.xy"; xz: "cs.xz"; ya: "cs.ya"; yb: "cs.yb"; yc: "cs.yc"; yd: "cs.yd"; ye: "cs.ye"; yf: "cs.yf"; yg: "cs.yg"; yh: "cs.yh"; yi: "cs.yi"; yj: "cs.yj"; yk: "cs.yk"; yl: "cs.yl"; ym: "cs.ym"; yn: "cs.yn"; yo: "cs.yo"; yp: "cs.yp"; yq: "cs.yq"; yr: "cs.yr"; ys: "cs.ys"; yt: "cs.yt"; yu: "cs.yu"; yv: "cs.yv"; yw: "cs.yw"; yx: "cs.yx"; yy: "cs.yy"; yz: "cs.yz"; za: "cs.za"; zb: "cs.zb"; zc: "cs.zc"; zd: "cs.zd"; ze: "cs.ze"; zf: "cs.zf"; zg: "cs.zg"; zh: "cs.zh"; zi: "cs.zi"; zj: "cs.zj"; zk: "cs.zk"; zl: "cs.zl"; zm: "cs.zm"; zn: "cs.zn"; zo: "cs.zo"; zp: "cs.zp"; zq: "cs.zq"; zr: "cs.zr"; zs: "cs.zs"; zt: "cs.zt"; zu: "cs.zu"; zv: "cs.zv"; zw: "cs.zw"; zx: "cs.zx"; zy: "cs.zy"; zz: "cs.zz"; }; ct: { aa: "ct.aa"; ab: "ct.ab"; ac: "ct.ac"; ad: "ct.ad"; ae: "ct.ae"; af: "ct.af"; ag: "ct.ag"; ah: "ct.ah"; ai: "ct.ai"; aj: "ct.aj"; ak: "ct.ak"; al: "ct.al"; am: "ct.am"; an: "ct.an"; ao: "ct.ao"; ap: "ct.ap"; aq: "ct.aq"; ar: "ct.ar"; as: "ct.as"; at: "ct.at"; au: "ct.au"; av: "ct.av"; aw: "ct.aw"; ax: "ct.ax"; ay: "ct.ay"; az: "ct.az"; ba: "ct.ba"; bb: "ct.bb"; bc: "ct.bc"; bd: "ct.bd"; be: "ct.be"; bf: "ct.bf"; bg: "ct.bg"; bh: "ct.bh"; bi: "ct.bi"; bj: "ct.bj"; bk: "ct.bk"; bl: "ct.bl"; bm: "ct.bm"; bn: "ct.bn"; bo: "ct.bo"; bp: "ct.bp"; bq: "ct.bq"; br: "ct.br"; bs: "ct.bs"; bt: "ct.bt"; bu: "ct.bu"; bv: "ct.bv"; bw: "ct.bw"; bx: "ct.bx"; by: "ct.by"; bz: "ct.bz"; ca: "ct.ca"; cb: "ct.cb"; cc: "ct.cc"; cd: "ct.cd"; ce: "ct.ce"; cf: "ct.cf"; cg: "ct.cg"; ch: "ct.ch"; ci: "ct.ci"; cj: "ct.cj"; ck: "ct.ck"; cl: "ct.cl"; cm: "ct.cm"; cn: "ct.cn"; co: "ct.co"; cp: "ct.cp"; cq: "ct.cq"; cr: "ct.cr"; cs: "ct.cs"; ct: "ct.ct"; cu: "ct.cu"; cv: "ct.cv"; cw: "ct.cw"; cx: "ct.cx"; cy: "ct.cy"; cz: "ct.cz"; da: "ct.da"; db: "ct.db"; dc: "ct.dc"; dd: "ct.dd"; de: "ct.de"; df: "ct.df"; dg: "ct.dg"; dh: "ct.dh"; di: "ct.di"; dj: "ct.dj"; dk: "ct.dk"; dl: "ct.dl"; dm: "ct.dm"; dn: "ct.dn"; do: "ct.do"; dp: "ct.dp"; dq: "ct.dq"; dr: "ct.dr"; ds: "ct.ds"; dt: "ct.dt"; du: "ct.du"; dv: "ct.dv"; dw: "ct.dw"; dx: "ct.dx"; dy: "ct.dy"; dz: "ct.dz"; ea: "ct.ea"; eb: "ct.eb"; ec: "ct.ec"; ed: "ct.ed"; ee: "ct.ee"; ef: "ct.ef"; eg: "ct.eg"; eh: "ct.eh"; ei: "ct.ei"; ej: "ct.ej"; ek: "ct.ek"; el: "ct.el"; em: "ct.em"; en: "ct.en"; eo: "ct.eo"; ep: "ct.ep"; eq: "ct.eq"; er: "ct.er"; es: "ct.es"; et: "ct.et"; eu: "ct.eu"; ev: "ct.ev"; ew: "ct.ew"; ex: "ct.ex"; ey: "ct.ey"; ez: "ct.ez"; fa: "ct.fa"; fb: "ct.fb"; fc: "ct.fc"; fd: "ct.fd"; fe: "ct.fe"; ff: "ct.ff"; fg: "ct.fg"; fh: "ct.fh"; fi: "ct.fi"; fj: "ct.fj"; fk: "ct.fk"; fl: "ct.fl"; fm: "ct.fm"; fn: "ct.fn"; fo: "ct.fo"; fp: "ct.fp"; fq: "ct.fq"; fr: "ct.fr"; fs: "ct.fs"; ft: "ct.ft"; fu: "ct.fu"; fv: "ct.fv"; fw: "ct.fw"; fx: "ct.fx"; fy: "ct.fy"; fz: "ct.fz"; ga: "ct.ga"; gb: "ct.gb"; gc: "ct.gc"; gd: "ct.gd"; ge: "ct.ge"; gf: "ct.gf"; gg: "ct.gg"; gh: "ct.gh"; gi: "ct.gi"; gj: "ct.gj"; gk: "ct.gk"; gl: "ct.gl"; gm: "ct.gm"; gn: "ct.gn"; go: "ct.go"; gp: "ct.gp"; gq: "ct.gq"; gr: "ct.gr"; gs: "ct.gs"; gt: "ct.gt"; gu: "ct.gu"; gv: "ct.gv"; gw: "ct.gw"; gx: "ct.gx"; gy: "ct.gy"; gz: "ct.gz"; ha: "ct.ha"; hb: "ct.hb"; hc: "ct.hc"; hd: "ct.hd"; he: "ct.he"; hf: "ct.hf"; hg: "ct.hg"; hh: "ct.hh"; hi: "ct.hi"; hj: "ct.hj"; hk: "ct.hk"; hl: "ct.hl"; hm: "ct.hm"; hn: "ct.hn"; ho: "ct.ho"; hp: "ct.hp"; hq: "ct.hq"; hr: "ct.hr"; hs: "ct.hs"; ht: "ct.ht"; hu: "ct.hu"; hv: "ct.hv"; hw: "ct.hw"; hx: "ct.hx"; hy: "ct.hy"; hz: "ct.hz"; ia: "ct.ia"; ib: "ct.ib"; ic: "ct.ic"; id: "ct.id"; ie: "ct.ie"; if: "ct.if"; ig: "ct.ig"; ih: "ct.ih"; ii: "ct.ii"; ij: "ct.ij"; ik: "ct.ik"; il: "ct.il"; im: "ct.im"; in: "ct.in"; io: "ct.io"; ip: "ct.ip"; iq: "ct.iq"; ir: "ct.ir"; is: "ct.is"; it: "ct.it"; iu: "ct.iu"; iv: "ct.iv"; iw: "ct.iw"; ix: "ct.ix"; iy: "ct.iy"; iz: "ct.iz"; ja: "ct.ja"; jb: "ct.jb"; jc: "ct.jc"; jd: "ct.jd"; je: "ct.je"; jf: "ct.jf"; jg: "ct.jg"; jh: "ct.jh"; ji: "ct.ji"; jj: "ct.jj"; jk: "ct.jk"; jl: "ct.jl"; jm: "ct.jm"; jn: "ct.jn"; jo: "ct.jo"; jp: "ct.jp"; jq: "ct.jq"; jr: "ct.jr"; js: "ct.js"; jt: "ct.jt"; ju: "ct.ju"; jv: "ct.jv"; jw: "ct.jw"; jx: "ct.jx"; jy: "ct.jy"; jz: "ct.jz"; ka: "ct.ka"; kb: "ct.kb"; kc: "ct.kc"; kd: "ct.kd"; ke: "ct.ke"; kf: "ct.kf"; kg: "ct.kg"; kh: "ct.kh"; ki: "ct.ki"; kj: "ct.kj"; kk: "ct.kk"; kl: "ct.kl"; km: "ct.km"; kn: "ct.kn"; ko: "ct.ko"; kp: "ct.kp"; kq: "ct.kq"; kr: "ct.kr"; ks: "ct.ks"; kt: "ct.kt"; ku: "ct.ku"; kv: "ct.kv"; kw: "ct.kw"; kx: "ct.kx"; ky: "ct.ky"; kz: "ct.kz"; la: "ct.la"; lb: "ct.lb"; lc: "ct.lc"; ld: "ct.ld"; le: "ct.le"; lf: "ct.lf"; lg: "ct.lg"; lh: "ct.lh"; li: "ct.li"; lj: "ct.lj"; lk: "ct.lk"; ll: "ct.ll"; lm: "ct.lm"; ln: "ct.ln"; lo: "ct.lo"; lp: "ct.lp"; lq: "ct.lq"; lr: "ct.lr"; ls: "ct.ls"; lt: "ct.lt"; lu: "ct.lu"; lv: "ct.lv"; lw: "ct.lw"; lx: "ct.lx"; ly: "ct.ly"; lz: "ct.lz"; ma: "ct.ma"; mb: "ct.mb"; mc: "ct.mc"; md: "ct.md"; me: "ct.me"; mf: "ct.mf"; mg: "ct.mg"; mh: "ct.mh"; mi: "ct.mi"; mj: "ct.mj"; mk: "ct.mk"; ml: "ct.ml"; mm: "ct.mm"; mn: "ct.mn"; mo: "ct.mo"; mp: "ct.mp"; mq: "ct.mq"; mr: "ct.mr"; ms: "ct.ms"; mt: "ct.mt"; mu: "ct.mu"; mv: "ct.mv"; mw: "ct.mw"; mx: "ct.mx"; my: "ct.my"; mz: "ct.mz"; na: "ct.na"; nb: "ct.nb"; nc: "ct.nc"; nd: "ct.nd"; ne: "ct.ne"; nf: "ct.nf"; ng: "ct.ng"; nh: "ct.nh"; ni: "ct.ni"; nj: "ct.nj"; nk: "ct.nk"; nl: "ct.nl"; nm: "ct.nm"; nn: "ct.nn"; no: "ct.no"; np: "ct.np"; nq: "ct.nq"; nr: "ct.nr"; ns: "ct.ns"; nt: "ct.nt"; nu: "ct.nu"; nv: "ct.nv"; nw: "ct.nw"; nx: "ct.nx"; ny: "ct.ny"; nz: "ct.nz"; oa: "ct.oa"; ob: "ct.ob"; oc: "ct.oc"; od: "ct.od"; oe: "ct.oe"; of: "ct.of"; og: "ct.og"; oh: "ct.oh"; oi: "ct.oi"; oj: "ct.oj"; ok: "ct.ok"; ol: "ct.ol"; om: "ct.om"; on: "ct.on"; oo: "ct.oo"; op: "ct.op"; oq: "ct.oq"; or: "ct.or"; os: "ct.os"; ot: "ct.ot"; ou: "ct.ou"; ov: "ct.ov"; ow: "ct.ow"; ox: "ct.ox"; oy: "ct.oy"; oz: "ct.oz"; pa: "ct.pa"; pb: "ct.pb"; pc: "ct.pc"; pd: "ct.pd"; pe: "ct.pe"; pf: "ct.pf"; pg: "ct.pg"; ph: "ct.ph"; pi: "ct.pi"; pj: "ct.pj"; pk: "ct.pk"; pl: "ct.pl"; pm: "ct.pm"; pn: "ct.pn"; po: "ct.po"; pp: "ct.pp"; pq: "ct.pq"; pr: "ct.pr"; ps: "ct.ps"; pt: "ct.pt"; pu: "ct.pu"; pv: "ct.pv"; pw: "ct.pw"; px: "ct.px"; py: "ct.py"; pz: "ct.pz"; qa: "ct.qa"; qb: "ct.qb"; qc: "ct.qc"; qd: "ct.qd"; qe: "ct.qe"; qf: "ct.qf"; qg: "ct.qg"; qh: "ct.qh"; qi: "ct.qi"; qj: "ct.qj"; qk: "ct.qk"; ql: "ct.ql"; qm: "ct.qm"; qn: "ct.qn"; qo: "ct.qo"; qp: "ct.qp"; qq: "ct.qq"; qr: "ct.qr"; qs: "ct.qs"; qt: "ct.qt"; qu: "ct.qu"; qv: "ct.qv"; qw: "ct.qw"; qx: "ct.qx"; qy: "ct.qy"; qz: "ct.qz"; ra: "ct.ra"; rb: "ct.rb"; rc: "ct.rc"; rd: "ct.rd"; re: "ct.re"; rf: "ct.rf"; rg: "ct.rg"; rh: "ct.rh"; ri: "ct.ri"; rj: "ct.rj"; rk: "ct.rk"; rl: "ct.rl"; rm: "ct.rm"; rn: "ct.rn"; ro: "ct.ro"; rp: "ct.rp"; rq: "ct.rq"; rr: "ct.rr"; rs: "ct.rs"; rt: "ct.rt"; ru: "ct.ru"; rv: "ct.rv"; rw: "ct.rw"; rx: "ct.rx"; ry: "ct.ry"; rz: "ct.rz"; sa: "ct.sa"; sb: "ct.sb"; sc: "ct.sc"; sd: "ct.sd"; se: "ct.se"; sf: "ct.sf"; sg: "ct.sg"; sh: "ct.sh"; si: "ct.si"; sj: "ct.sj"; sk: "ct.sk"; sl: "ct.sl"; sm: "ct.sm"; sn: "ct.sn"; so: "ct.so"; sp: "ct.sp"; sq: "ct.sq"; sr: "ct.sr"; ss: "ct.ss"; st: "ct.st"; su: "ct.su"; sv: "ct.sv"; sw: "ct.sw"; sx: "ct.sx"; sy: "ct.sy"; sz: "ct.sz"; ta: "ct.ta"; tb: "ct.tb"; tc: "ct.tc"; td: "ct.td"; te: "ct.te"; tf: "ct.tf"; tg: "ct.tg"; th: "ct.th"; ti: "ct.ti"; tj: "ct.tj"; tk: "ct.tk"; tl: "ct.tl"; tm: "ct.tm"; tn: "ct.tn"; to: "ct.to"; tp: "ct.tp"; tq: "ct.tq"; tr: "ct.tr"; ts: "ct.ts"; tt: "ct.tt"; tu: "ct.tu"; tv: "ct.tv"; tw: "ct.tw"; tx: "ct.tx"; ty: "ct.ty"; tz: "ct.tz"; ua: "ct.ua"; ub: "ct.ub"; uc: "ct.uc"; ud: "ct.ud"; ue: "ct.ue"; uf: "ct.uf"; ug: "ct.ug"; uh: "ct.uh"; ui: "ct.ui"; uj: "ct.uj"; uk: "ct.uk"; ul: "ct.ul"; um: "ct.um"; un: "ct.un"; uo: "ct.uo"; up: "ct.up"; uq: "ct.uq"; ur: "ct.ur"; us: "ct.us"; ut: "ct.ut"; uu: "ct.uu"; uv: "ct.uv"; uw: "ct.uw"; ux: "ct.ux"; uy: "ct.uy"; uz: "ct.uz"; va: "ct.va"; vb: "ct.vb"; vc: "ct.vc"; vd: "ct.vd"; ve: "ct.ve"; vf: "ct.vf"; vg: "ct.vg"; vh: "ct.vh"; vi: "ct.vi"; vj: "ct.vj"; vk: "ct.vk"; vl: "ct.vl"; vm: "ct.vm"; vn: "ct.vn"; vo: "ct.vo"; vp: "ct.vp"; vq: "ct.vq"; vr: "ct.vr"; vs: "ct.vs"; vt: "ct.vt"; vu: "ct.vu"; vv: "ct.vv"; vw: "ct.vw"; vx: "ct.vx"; vy: "ct.vy"; vz: "ct.vz"; wa: "ct.wa"; wb: "ct.wb"; wc: "ct.wc"; wd: "ct.wd"; we: "ct.we"; wf: "ct.wf"; wg: "ct.wg"; wh: "ct.wh"; wi: "ct.wi"; wj: "ct.wj"; wk: "ct.wk"; wl: "ct.wl"; wm: "ct.wm"; wn: "ct.wn"; wo: "ct.wo"; wp: "ct.wp"; wq: "ct.wq"; wr: "ct.wr"; ws: "ct.ws"; wt: "ct.wt"; wu: "ct.wu"; wv: "ct.wv"; ww: "ct.ww"; wx: "ct.wx"; wy: "ct.wy"; wz: "ct.wz"; xa: "ct.xa"; xb: "ct.xb"; xc: "ct.xc"; xd: "ct.xd"; xe: "ct.xe"; xf: "ct.xf"; xg: "ct.xg"; xh: "ct.xh"; xi: "ct.xi"; xj: "ct.xj"; xk: "ct.xk"; xl: "ct.xl"; xm: "ct.xm"; xn: "ct.xn"; xo: "ct.xo"; xp: "ct.xp"; xq: "ct.xq"; xr: "ct.xr"; xs: "ct.xs"; xt: "ct.xt"; xu: "ct.xu"; xv: "ct.xv"; xw: "ct.xw"; xx: "ct.xx"; xy: "ct.xy"; xz: "ct.xz"; ya: "ct.ya"; yb: "ct.yb"; yc: "ct.yc"; yd: "ct.yd"; ye: "ct.ye"; yf: "ct.yf"; yg: "ct.yg"; yh: "ct.yh"; yi: "ct.yi"; yj: "ct.yj"; yk: "ct.yk"; yl: "ct.yl"; ym: "ct.ym"; yn: "ct.yn"; yo: "ct.yo"; yp: "ct.yp"; yq: "ct.yq"; yr: "ct.yr"; ys: "ct.ys"; yt: "ct.yt"; yu: "ct.yu"; yv: "ct.yv"; yw: "ct.yw"; yx: "ct.yx"; yy: "ct.yy"; yz: "ct.yz"; za: "ct.za"; zb: "ct.zb"; zc: "ct.zc"; zd: "ct.zd"; ze: "ct.ze"; zf: "ct.zf"; zg: "ct.zg"; zh: "ct.zh"; zi: "ct.zi"; zj: "ct.zj"; zk: "ct.zk"; zl: "ct.zl"; zm: "ct.zm"; zn: "ct.zn"; zo: "ct.zo"; zp: "ct.zp"; zq: "ct.zq"; zr: "ct.zr"; zs: "ct.zs"; zt: "ct.zt"; zu: "ct.zu"; zv: "ct.zv"; zw: "ct.zw"; zx: "ct.zx"; zy: "ct.zy"; zz: "ct.zz"; }; cu: { aa: "cu.aa"; ab: "cu.ab"; ac: "cu.ac"; ad: "cu.ad"; ae: "cu.ae"; af: "cu.af"; ag: "cu.ag"; ah: "cu.ah"; ai: "cu.ai"; aj: "cu.aj"; ak: "cu.ak"; al: "cu.al"; am: "cu.am"; an: "cu.an"; ao: "cu.ao"; ap: "cu.ap"; aq: "cu.aq"; ar: "cu.ar"; as: "cu.as"; at: "cu.at"; au: "cu.au"; av: "cu.av"; aw: "cu.aw"; ax: "cu.ax"; ay: "cu.ay"; az: "cu.az"; ba: "cu.ba"; bb: "cu.bb"; bc: "cu.bc"; bd: "cu.bd"; be: "cu.be"; bf: "cu.bf"; bg: "cu.bg"; bh: "cu.bh"; bi: "cu.bi"; bj: "cu.bj"; bk: "cu.bk"; bl: "cu.bl"; bm: "cu.bm"; bn: "cu.bn"; bo: "cu.bo"; bp: "cu.bp"; bq: "cu.bq"; br: "cu.br"; bs: "cu.bs"; bt: "cu.bt"; bu: "cu.bu"; bv: "cu.bv"; bw: "cu.bw"; bx: "cu.bx"; by: "cu.by"; bz: "cu.bz"; ca: "cu.ca"; cb: "cu.cb"; cc: "cu.cc"; cd: "cu.cd"; ce: "cu.ce"; cf: "cu.cf"; cg: "cu.cg"; ch: "cu.ch"; ci: "cu.ci"; cj: "cu.cj"; ck: "cu.ck"; cl: "cu.cl"; cm: "cu.cm"; cn: "cu.cn"; co: "cu.co"; cp: "cu.cp"; cq: "cu.cq"; cr: "cu.cr"; cs: "cu.cs"; ct: "cu.ct"; cu: "cu.cu"; cv: "cu.cv"; cw: "cu.cw"; cx: "cu.cx"; cy: "cu.cy"; cz: "cu.cz"; da: "cu.da"; db: "cu.db"; dc: "cu.dc"; dd: "cu.dd"; de: "cu.de"; df: "cu.df"; dg: "cu.dg"; dh: "cu.dh"; di: "cu.di"; dj: "cu.dj"; dk: "cu.dk"; dl: "cu.dl"; dm: "cu.dm"; dn: "cu.dn"; do: "cu.do"; dp: "cu.dp"; dq: "cu.dq"; dr: "cu.dr"; ds: "cu.ds"; dt: "cu.dt"; du: "cu.du"; dv: "cu.dv"; dw: "cu.dw"; dx: "cu.dx"; dy: "cu.dy"; dz: "cu.dz"; ea: "cu.ea"; eb: "cu.eb"; ec: "cu.ec"; ed: "cu.ed"; ee: "cu.ee"; ef: "cu.ef"; eg: "cu.eg"; eh: "cu.eh"; ei: "cu.ei"; ej: "cu.ej"; ek: "cu.ek"; el: "cu.el"; em: "cu.em"; en: "cu.en"; eo: "cu.eo"; ep: "cu.ep"; eq: "cu.eq"; er: "cu.er"; es: "cu.es"; et: "cu.et"; eu: "cu.eu"; ev: "cu.ev"; ew: "cu.ew"; ex: "cu.ex"; ey: "cu.ey"; ez: "cu.ez"; fa: "cu.fa"; fb: "cu.fb"; fc: "cu.fc"; fd: "cu.fd"; fe: "cu.fe"; ff: "cu.ff"; fg: "cu.fg"; fh: "cu.fh"; fi: "cu.fi"; fj: "cu.fj"; fk: "cu.fk"; fl: "cu.fl"; fm: "cu.fm"; fn: "cu.fn"; fo: "cu.fo"; fp: "cu.fp"; fq: "cu.fq"; fr: "cu.fr"; fs: "cu.fs"; ft: "cu.ft"; fu: "cu.fu"; fv: "cu.fv"; fw: "cu.fw"; fx: "cu.fx"; fy: "cu.fy"; fz: "cu.fz"; ga: "cu.ga"; gb: "cu.gb"; gc: "cu.gc"; gd: "cu.gd"; ge: "cu.ge"; gf: "cu.gf"; gg: "cu.gg"; gh: "cu.gh"; gi: "cu.gi"; gj: "cu.gj"; gk: "cu.gk"; gl: "cu.gl"; gm: "cu.gm"; gn: "cu.gn"; go: "cu.go"; gp: "cu.gp"; gq: "cu.gq"; gr: "cu.gr"; gs: "cu.gs"; gt: "cu.gt"; gu: "cu.gu"; gv: "cu.gv"; gw: "cu.gw"; gx: "cu.gx"; gy: "cu.gy"; gz: "cu.gz"; ha: "cu.ha"; hb: "cu.hb"; hc: "cu.hc"; hd: "cu.hd"; he: "cu.he"; hf: "cu.hf"; hg: "cu.hg"; hh: "cu.hh"; hi: "cu.hi"; hj: "cu.hj"; hk: "cu.hk"; hl: "cu.hl"; hm: "cu.hm"; hn: "cu.hn"; ho: "cu.ho"; hp: "cu.hp"; hq: "cu.hq"; hr: "cu.hr"; hs: "cu.hs"; ht: "cu.ht"; hu: "cu.hu"; hv: "cu.hv"; hw: "cu.hw"; hx: "cu.hx"; hy: "cu.hy"; hz: "cu.hz"; ia: "cu.ia"; ib: "cu.ib"; ic: "cu.ic"; id: "cu.id"; ie: "cu.ie"; if: "cu.if"; ig: "cu.ig"; ih: "cu.ih"; ii: "cu.ii"; ij: "cu.ij"; ik: "cu.ik"; il: "cu.il"; im: "cu.im"; in: "cu.in"; io: "cu.io"; ip: "cu.ip"; iq: "cu.iq"; ir: "cu.ir"; is: "cu.is"; it: "cu.it"; iu: "cu.iu"; iv: "cu.iv"; iw: "cu.iw"; ix: "cu.ix"; iy: "cu.iy"; iz: "cu.iz"; ja: "cu.ja"; jb: "cu.jb"; jc: "cu.jc"; jd: "cu.jd"; je: "cu.je"; jf: "cu.jf"; jg: "cu.jg"; jh: "cu.jh"; ji: "cu.ji"; jj: "cu.jj"; jk: "cu.jk"; jl: "cu.jl"; jm: "cu.jm"; jn: "cu.jn"; jo: "cu.jo"; jp: "cu.jp"; jq: "cu.jq"; jr: "cu.jr"; js: "cu.js"; jt: "cu.jt"; ju: "cu.ju"; jv: "cu.jv"; jw: "cu.jw"; jx: "cu.jx"; jy: "cu.jy"; jz: "cu.jz"; ka: "cu.ka"; kb: "cu.kb"; kc: "cu.kc"; kd: "cu.kd"; ke: "cu.ke"; kf: "cu.kf"; kg: "cu.kg"; kh: "cu.kh"; ki: "cu.ki"; kj: "cu.kj"; kk: "cu.kk"; kl: "cu.kl"; km: "cu.km"; kn: "cu.kn"; ko: "cu.ko"; kp: "cu.kp"; kq: "cu.kq"; kr: "cu.kr"; ks: "cu.ks"; kt: "cu.kt"; ku: "cu.ku"; kv: "cu.kv"; kw: "cu.kw"; kx: "cu.kx"; ky: "cu.ky"; kz: "cu.kz"; la: "cu.la"; lb: "cu.lb"; lc: "cu.lc"; ld: "cu.ld"; le: "cu.le"; lf: "cu.lf"; lg: "cu.lg"; lh: "cu.lh"; li: "cu.li"; lj: "cu.lj"; lk: "cu.lk"; ll: "cu.ll"; lm: "cu.lm"; ln: "cu.ln"; lo: "cu.lo"; lp: "cu.lp"; lq: "cu.lq"; lr: "cu.lr"; ls: "cu.ls"; lt: "cu.lt"; lu: "cu.lu"; lv: "cu.lv"; lw: "cu.lw"; lx: "cu.lx"; ly: "cu.ly"; lz: "cu.lz"; ma: "cu.ma"; mb: "cu.mb"; mc: "cu.mc"; md: "cu.md"; me: "cu.me"; mf: "cu.mf"; mg: "cu.mg"; mh: "cu.mh"; mi: "cu.mi"; mj: "cu.mj"; mk: "cu.mk"; ml: "cu.ml"; mm: "cu.mm"; mn: "cu.mn"; mo: "cu.mo"; mp: "cu.mp"; mq: "cu.mq"; mr: "cu.mr"; ms: "cu.ms"; mt: "cu.mt"; mu: "cu.mu"; mv: "cu.mv"; mw: "cu.mw"; mx: "cu.mx"; my: "cu.my"; mz: "cu.mz"; na: "cu.na"; nb: "cu.nb"; nc: "cu.nc"; nd: "cu.nd"; ne: "cu.ne"; nf: "cu.nf"; ng: "cu.ng"; nh: "cu.nh"; ni: "cu.ni"; nj: "cu.nj"; nk: "cu.nk"; nl: "cu.nl"; nm: "cu.nm"; nn: "cu.nn"; no: "cu.no"; np: "cu.np"; nq: "cu.nq"; nr: "cu.nr"; ns: "cu.ns"; nt: "cu.nt"; nu: "cu.nu"; nv: "cu.nv"; nw: "cu.nw"; nx: "cu.nx"; ny: "cu.ny"; nz: "cu.nz"; oa: "cu.oa"; ob: "cu.ob"; oc: "cu.oc"; od: "cu.od"; oe: "cu.oe"; of: "cu.of"; og: "cu.og"; oh: "cu.oh"; oi: "cu.oi"; oj: "cu.oj"; ok: "cu.ok"; ol: "cu.ol"; om: "cu.om"; on: "cu.on"; oo: "cu.oo"; op: "cu.op"; oq: "cu.oq"; or: "cu.or"; os: "cu.os"; ot: "cu.ot"; ou: "cu.ou"; ov: "cu.ov"; ow: "cu.ow"; ox: "cu.ox"; oy: "cu.oy"; oz: "cu.oz"; pa: "cu.pa"; pb: "cu.pb"; pc: "cu.pc"; pd: "cu.pd"; pe: "cu.pe"; pf: "cu.pf"; pg: "cu.pg"; ph: "cu.ph"; pi: "cu.pi"; pj: "cu.pj"; pk: "cu.pk"; pl: "cu.pl"; pm: "cu.pm"; pn: "cu.pn"; po: "cu.po"; pp: "cu.pp"; pq: "cu.pq"; pr: "cu.pr"; ps: "cu.ps"; pt: "cu.pt"; pu: "cu.pu"; pv: "cu.pv"; pw: "cu.pw"; px: "cu.px"; py: "cu.py"; pz: "cu.pz"; qa: "cu.qa"; qb: "cu.qb"; qc: "cu.qc"; qd: "cu.qd"; qe: "cu.qe"; qf: "cu.qf"; qg: "cu.qg"; qh: "cu.qh"; qi: "cu.qi"; qj: "cu.qj"; qk: "cu.qk"; ql: "cu.ql"; qm: "cu.qm"; qn: "cu.qn"; qo: "cu.qo"; qp: "cu.qp"; qq: "cu.qq"; qr: "cu.qr"; qs: "cu.qs"; qt: "cu.qt"; qu: "cu.qu"; qv: "cu.qv"; qw: "cu.qw"; qx: "cu.qx"; qy: "cu.qy"; qz: "cu.qz"; ra: "cu.ra"; rb: "cu.rb"; rc: "cu.rc"; rd: "cu.rd"; re: "cu.re"; rf: "cu.rf"; rg: "cu.rg"; rh: "cu.rh"; ri: "cu.ri"; rj: "cu.rj"; rk: "cu.rk"; rl: "cu.rl"; rm: "cu.rm"; rn: "cu.rn"; ro: "cu.ro"; rp: "cu.rp"; rq: "cu.rq"; rr: "cu.rr"; rs: "cu.rs"; rt: "cu.rt"; ru: "cu.ru"; rv: "cu.rv"; rw: "cu.rw"; rx: "cu.rx"; ry: "cu.ry"; rz: "cu.rz"; sa: "cu.sa"; sb: "cu.sb"; sc: "cu.sc"; sd: "cu.sd"; se: "cu.se"; sf: "cu.sf"; sg: "cu.sg"; sh: "cu.sh"; si: "cu.si"; sj: "cu.sj"; sk: "cu.sk"; sl: "cu.sl"; sm: "cu.sm"; sn: "cu.sn"; so: "cu.so"; sp: "cu.sp"; sq: "cu.sq"; sr: "cu.sr"; ss: "cu.ss"; st: "cu.st"; su: "cu.su"; sv: "cu.sv"; sw: "cu.sw"; sx: "cu.sx"; sy: "cu.sy"; sz: "cu.sz"; ta: "cu.ta"; tb: "cu.tb"; tc: "cu.tc"; td: "cu.td"; te: "cu.te"; tf: "cu.tf"; tg: "cu.tg"; th: "cu.th"; ti: "cu.ti"; tj: "cu.tj"; tk: "cu.tk"; tl: "cu.tl"; tm: "cu.tm"; tn: "cu.tn"; to: "cu.to"; tp: "cu.tp"; tq: "cu.tq"; tr: "cu.tr"; ts: "cu.ts"; tt: "cu.tt"; tu: "cu.tu"; tv: "cu.tv"; tw: "cu.tw"; tx: "cu.tx"; ty: "cu.ty"; tz: "cu.tz"; ua: "cu.ua"; ub: "cu.ub"; uc: "cu.uc"; ud: "cu.ud"; ue: "cu.ue"; uf: "cu.uf"; ug: "cu.ug"; uh: "cu.uh"; ui: "cu.ui"; uj: "cu.uj"; uk: "cu.uk"; ul: "cu.ul"; um: "cu.um"; un: "cu.un"; uo: "cu.uo"; up: "cu.up"; uq: "cu.uq"; ur: "cu.ur"; us: "cu.us"; ut: "cu.ut"; uu: "cu.uu"; uv: "cu.uv"; uw: "cu.uw"; ux: "cu.ux"; uy: "cu.uy"; uz: "cu.uz"; va: "cu.va"; vb: "cu.vb"; vc: "cu.vc"; vd: "cu.vd"; ve: "cu.ve"; vf: "cu.vf"; vg: "cu.vg"; vh: "cu.vh"; vi: "cu.vi"; vj: "cu.vj"; vk: "cu.vk"; vl: "cu.vl"; vm: "cu.vm"; vn: "cu.vn"; vo: "cu.vo"; vp: "cu.vp"; vq: "cu.vq"; vr: "cu.vr"; vs: "cu.vs"; vt: "cu.vt"; vu: "cu.vu"; vv: "cu.vv"; vw: "cu.vw"; vx: "cu.vx"; vy: "cu.vy"; vz: "cu.vz"; wa: "cu.wa"; wb: "cu.wb"; wc: "cu.wc"; wd: "cu.wd"; we: "cu.we"; wf: "cu.wf"; wg: "cu.wg"; wh: "cu.wh"; wi: "cu.wi"; wj: "cu.wj"; wk: "cu.wk"; wl: "cu.wl"; wm: "cu.wm"; wn: "cu.wn"; wo: "cu.wo"; wp: "cu.wp"; wq: "cu.wq"; wr: "cu.wr"; ws: "cu.ws"; wt: "cu.wt"; wu: "cu.wu"; wv: "cu.wv"; ww: "cu.ww"; wx: "cu.wx"; wy: "cu.wy"; wz: "cu.wz"; xa: "cu.xa"; xb: "cu.xb"; xc: "cu.xc"; xd: "cu.xd"; xe: "cu.xe"; xf: "cu.xf"; xg: "cu.xg"; xh: "cu.xh"; xi: "cu.xi"; xj: "cu.xj"; xk: "cu.xk"; xl: "cu.xl"; xm: "cu.xm"; xn: "cu.xn"; xo: "cu.xo"; xp: "cu.xp"; xq: "cu.xq"; xr: "cu.xr"; xs: "cu.xs"; xt: "cu.xt"; xu: "cu.xu"; xv: "cu.xv"; xw: "cu.xw"; xx: "cu.xx"; xy: "cu.xy"; xz: "cu.xz"; ya: "cu.ya"; yb: "cu.yb"; yc: "cu.yc"; yd: "cu.yd"; ye: "cu.ye"; yf: "cu.yf"; yg: "cu.yg"; yh: "cu.yh"; yi: "cu.yi"; yj: "cu.yj"; yk: "cu.yk"; yl: "cu.yl"; ym: "cu.ym"; yn: "cu.yn"; yo: "cu.yo"; yp: "cu.yp"; yq: "cu.yq"; yr: "cu.yr"; ys: "cu.ys"; yt: "cu.yt"; yu: "cu.yu"; yv: "cu.yv"; yw: "cu.yw"; yx: "cu.yx"; yy: "cu.yy"; yz: "cu.yz"; za: "cu.za"; zb: "cu.zb"; zc: "cu.zc"; zd: "cu.zd"; ze: "cu.ze"; zf: "cu.zf"; zg: "cu.zg"; zh: "cu.zh"; zi: "cu.zi"; zj: "cu.zj"; zk: "cu.zk"; zl: "cu.zl"; zm: "cu.zm"; zn: "cu.zn"; zo: "cu.zo"; zp: "cu.zp"; zq: "cu.zq"; zr: "cu.zr"; zs: "cu.zs"; zt: "cu.zt"; zu: "cu.zu"; zv: "cu.zv"; zw: "cu.zw"; zx: "cu.zx"; zy: "cu.zy"; zz: "cu.zz"; }; cv: { aa: "cv.aa"; ab: "cv.ab"; ac: "cv.ac"; ad: "cv.ad"; ae: "cv.ae"; af: "cv.af"; ag: "cv.ag"; ah: "cv.ah"; ai: "cv.ai"; aj: "cv.aj"; ak: "cv.ak"; al: "cv.al"; am: "cv.am"; an: "cv.an"; ao: "cv.ao"; ap: "cv.ap"; aq: "cv.aq"; ar: "cv.ar"; as: "cv.as"; at: "cv.at"; au: "cv.au"; av: "cv.av"; aw: "cv.aw"; ax: "cv.ax"; ay: "cv.ay"; az: "cv.az"; ba: "cv.ba"; bb: "cv.bb"; bc: "cv.bc"; bd: "cv.bd"; be: "cv.be"; bf: "cv.bf"; bg: "cv.bg"; bh: "cv.bh"; bi: "cv.bi"; bj: "cv.bj"; bk: "cv.bk"; bl: "cv.bl"; bm: "cv.bm"; bn: "cv.bn"; bo: "cv.bo"; bp: "cv.bp"; bq: "cv.bq"; br: "cv.br"; bs: "cv.bs"; bt: "cv.bt"; bu: "cv.bu"; bv: "cv.bv"; bw: "cv.bw"; bx: "cv.bx"; by: "cv.by"; bz: "cv.bz"; ca: "cv.ca"; cb: "cv.cb"; cc: "cv.cc"; cd: "cv.cd"; ce: "cv.ce"; cf: "cv.cf"; cg: "cv.cg"; ch: "cv.ch"; ci: "cv.ci"; cj: "cv.cj"; ck: "cv.ck"; cl: "cv.cl"; cm: "cv.cm"; cn: "cv.cn"; co: "cv.co"; cp: "cv.cp"; cq: "cv.cq"; cr: "cv.cr"; cs: "cv.cs"; ct: "cv.ct"; cu: "cv.cu"; cv: "cv.cv"; cw: "cv.cw"; cx: "cv.cx"; cy: "cv.cy"; cz: "cv.cz"; da: "cv.da"; db: "cv.db"; dc: "cv.dc"; dd: "cv.dd"; de: "cv.de"; df: "cv.df"; dg: "cv.dg"; dh: "cv.dh"; di: "cv.di"; dj: "cv.dj"; dk: "cv.dk"; dl: "cv.dl"; dm: "cv.dm"; dn: "cv.dn"; do: "cv.do"; dp: "cv.dp"; dq: "cv.dq"; dr: "cv.dr"; ds: "cv.ds"; dt: "cv.dt"; du: "cv.du"; dv: "cv.dv"; dw: "cv.dw"; dx: "cv.dx"; dy: "cv.dy"; dz: "cv.dz"; ea: "cv.ea"; eb: "cv.eb"; ec: "cv.ec"; ed: "cv.ed"; ee: "cv.ee"; ef: "cv.ef"; eg: "cv.eg"; eh: "cv.eh"; ei: "cv.ei"; ej: "cv.ej"; ek: "cv.ek"; el: "cv.el"; em: "cv.em"; en: "cv.en"; eo: "cv.eo"; ep: "cv.ep"; eq: "cv.eq"; er: "cv.er"; es: "cv.es"; et: "cv.et"; eu: "cv.eu"; ev: "cv.ev"; ew: "cv.ew"; ex: "cv.ex"; ey: "cv.ey"; ez: "cv.ez"; fa: "cv.fa"; fb: "cv.fb"; fc: "cv.fc"; fd: "cv.fd"; fe: "cv.fe"; ff: "cv.ff"; fg: "cv.fg"; fh: "cv.fh"; fi: "cv.fi"; fj: "cv.fj"; fk: "cv.fk"; fl: "cv.fl"; fm: "cv.fm"; fn: "cv.fn"; fo: "cv.fo"; fp: "cv.fp"; fq: "cv.fq"; fr: "cv.fr"; fs: "cv.fs"; ft: "cv.ft"; fu: "cv.fu"; fv: "cv.fv"; fw: "cv.fw"; fx: "cv.fx"; fy: "cv.fy"; fz: "cv.fz"; ga: "cv.ga"; gb: "cv.gb"; gc: "cv.gc"; gd: "cv.gd"; ge: "cv.ge"; gf: "cv.gf"; gg: "cv.gg"; gh: "cv.gh"; gi: "cv.gi"; gj: "cv.gj"; gk: "cv.gk"; gl: "cv.gl"; gm: "cv.gm"; gn: "cv.gn"; go: "cv.go"; gp: "cv.gp"; gq: "cv.gq"; gr: "cv.gr"; gs: "cv.gs"; gt: "cv.gt"; gu: "cv.gu"; gv: "cv.gv"; gw: "cv.gw"; gx: "cv.gx"; gy: "cv.gy"; gz: "cv.gz"; ha: "cv.ha"; hb: "cv.hb"; hc: "cv.hc"; hd: "cv.hd"; he: "cv.he"; hf: "cv.hf"; hg: "cv.hg"; hh: "cv.hh"; hi: "cv.hi"; hj: "cv.hj"; hk: "cv.hk"; hl: "cv.hl"; hm: "cv.hm"; hn: "cv.hn"; ho: "cv.ho"; hp: "cv.hp"; hq: "cv.hq"; hr: "cv.hr"; hs: "cv.hs"; ht: "cv.ht"; hu: "cv.hu"; hv: "cv.hv"; hw: "cv.hw"; hx: "cv.hx"; hy: "cv.hy"; hz: "cv.hz"; ia: "cv.ia"; ib: "cv.ib"; ic: "cv.ic"; id: "cv.id"; ie: "cv.ie"; if: "cv.if"; ig: "cv.ig"; ih: "cv.ih"; ii: "cv.ii"; ij: "cv.ij"; ik: "cv.ik"; il: "cv.il"; im: "cv.im"; in: "cv.in"; io: "cv.io"; ip: "cv.ip"; iq: "cv.iq"; ir: "cv.ir"; is: "cv.is"; it: "cv.it"; iu: "cv.iu"; iv: "cv.iv"; iw: "cv.iw"; ix: "cv.ix"; iy: "cv.iy"; iz: "cv.iz"; ja: "cv.ja"; jb: "cv.jb"; jc: "cv.jc"; jd: "cv.jd"; je: "cv.je"; jf: "cv.jf"; jg: "cv.jg"; jh: "cv.jh"; ji: "cv.ji"; jj: "cv.jj"; jk: "cv.jk"; jl: "cv.jl"; jm: "cv.jm"; jn: "cv.jn"; jo: "cv.jo"; jp: "cv.jp"; jq: "cv.jq"; jr: "cv.jr"; js: "cv.js"; jt: "cv.jt"; ju: "cv.ju"; jv: "cv.jv"; jw: "cv.jw"; jx: "cv.jx"; jy: "cv.jy"; jz: "cv.jz"; ka: "cv.ka"; kb: "cv.kb"; kc: "cv.kc"; kd: "cv.kd"; ke: "cv.ke"; kf: "cv.kf"; kg: "cv.kg"; kh: "cv.kh"; ki: "cv.ki"; kj: "cv.kj"; kk: "cv.kk"; kl: "cv.kl"; km: "cv.km"; kn: "cv.kn"; ko: "cv.ko"; kp: "cv.kp"; kq: "cv.kq"; kr: "cv.kr"; ks: "cv.ks"; kt: "cv.kt"; ku: "cv.ku"; kv: "cv.kv"; kw: "cv.kw"; kx: "cv.kx"; ky: "cv.ky"; kz: "cv.kz"; la: "cv.la"; lb: "cv.lb"; lc: "cv.lc"; ld: "cv.ld"; le: "cv.le"; lf: "cv.lf"; lg: "cv.lg"; lh: "cv.lh"; li: "cv.li"; lj: "cv.lj"; lk: "cv.lk"; ll: "cv.ll"; lm: "cv.lm"; ln: "cv.ln"; lo: "cv.lo"; lp: "cv.lp"; lq: "cv.lq"; lr: "cv.lr"; ls: "cv.ls"; lt: "cv.lt"; lu: "cv.lu"; lv: "cv.lv"; lw: "cv.lw"; lx: "cv.lx"; ly: "cv.ly"; lz: "cv.lz"; ma: "cv.ma"; mb: "cv.mb"; mc: "cv.mc"; md: "cv.md"; me: "cv.me"; mf: "cv.mf"; mg: "cv.mg"; mh: "cv.mh"; mi: "cv.mi"; mj: "cv.mj"; mk: "cv.mk"; ml: "cv.ml"; mm: "cv.mm"; mn: "cv.mn"; mo: "cv.mo"; mp: "cv.mp"; mq: "cv.mq"; mr: "cv.mr"; ms: "cv.ms"; mt: "cv.mt"; mu: "cv.mu"; mv: "cv.mv"; mw: "cv.mw"; mx: "cv.mx"; my: "cv.my"; mz: "cv.mz"; na: "cv.na"; nb: "cv.nb"; nc: "cv.nc"; nd: "cv.nd"; ne: "cv.ne"; nf: "cv.nf"; ng: "cv.ng"; nh: "cv.nh"; ni: "cv.ni"; nj: "cv.nj"; nk: "cv.nk"; nl: "cv.nl"; nm: "cv.nm"; nn: "cv.nn"; no: "cv.no"; np: "cv.np"; nq: "cv.nq"; nr: "cv.nr"; ns: "cv.ns"; nt: "cv.nt"; nu: "cv.nu"; nv: "cv.nv"; nw: "cv.nw"; nx: "cv.nx"; ny: "cv.ny"; nz: "cv.nz"; oa: "cv.oa"; ob: "cv.ob"; oc: "cv.oc"; od: "cv.od"; oe: "cv.oe"; of: "cv.of"; og: "cv.og"; oh: "cv.oh"; oi: "cv.oi"; oj: "cv.oj"; ok: "cv.ok"; ol: "cv.ol"; om: "cv.om"; on: "cv.on"; oo: "cv.oo"; op: "cv.op"; oq: "cv.oq"; or: "cv.or"; os: "cv.os"; ot: "cv.ot"; ou: "cv.ou"; ov: "cv.ov"; ow: "cv.ow"; ox: "cv.ox"; oy: "cv.oy"; oz: "cv.oz"; pa: "cv.pa"; pb: "cv.pb"; pc: "cv.pc"; pd: "cv.pd"; pe: "cv.pe"; pf: "cv.pf"; pg: "cv.pg"; ph: "cv.ph"; pi: "cv.pi"; pj: "cv.pj"; pk: "cv.pk"; pl: "cv.pl"; pm: "cv.pm"; pn: "cv.pn"; po: "cv.po"; pp: "cv.pp"; pq: "cv.pq"; pr: "cv.pr"; ps: "cv.ps"; pt: "cv.pt"; pu: "cv.pu"; pv: "cv.pv"; pw: "cv.pw"; px: "cv.px"; py: "cv.py"; pz: "cv.pz"; qa: "cv.qa"; qb: "cv.qb"; qc: "cv.qc"; qd: "cv.qd"; qe: "cv.qe"; qf: "cv.qf"; qg: "cv.qg"; qh: "cv.qh"; qi: "cv.qi"; qj: "cv.qj"; qk: "cv.qk"; ql: "cv.ql"; qm: "cv.qm"; qn: "cv.qn"; qo: "cv.qo"; qp: "cv.qp"; qq: "cv.qq"; qr: "cv.qr"; qs: "cv.qs"; qt: "cv.qt"; qu: "cv.qu"; qv: "cv.qv"; qw: "cv.qw"; qx: "cv.qx"; qy: "cv.qy"; qz: "cv.qz"; ra: "cv.ra"; rb: "cv.rb"; rc: "cv.rc"; rd: "cv.rd"; re: "cv.re"; rf: "cv.rf"; rg: "cv.rg"; rh: "cv.rh"; ri: "cv.ri"; rj: "cv.rj"; rk: "cv.rk"; rl: "cv.rl"; rm: "cv.rm"; rn: "cv.rn"; ro: "cv.ro"; rp: "cv.rp"; rq: "cv.rq"; rr: "cv.rr"; rs: "cv.rs"; rt: "cv.rt"; ru: "cv.ru"; rv: "cv.rv"; rw: "cv.rw"; rx: "cv.rx"; ry: "cv.ry"; rz: "cv.rz"; sa: "cv.sa"; sb: "cv.sb"; sc: "cv.sc"; sd: "cv.sd"; se: "cv.se"; sf: "cv.sf"; sg: "cv.sg"; sh: "cv.sh"; si: "cv.si"; sj: "cv.sj"; sk: "cv.sk"; sl: "cv.sl"; sm: "cv.sm"; sn: "cv.sn"; so: "cv.so"; sp: "cv.sp"; sq: "cv.sq"; sr: "cv.sr"; ss: "cv.ss"; st: "cv.st"; su: "cv.su"; sv: "cv.sv"; sw: "cv.sw"; sx: "cv.sx"; sy: "cv.sy"; sz: "cv.sz"; ta: "cv.ta"; tb: "cv.tb"; tc: "cv.tc"; td: "cv.td"; te: "cv.te"; tf: "cv.tf"; tg: "cv.tg"; th: "cv.th"; ti: "cv.ti"; tj: "cv.tj"; tk: "cv.tk"; tl: "cv.tl"; tm: "cv.tm"; tn: "cv.tn"; to: "cv.to"; tp: "cv.tp"; tq: "cv.tq"; tr: "cv.tr"; ts: "cv.ts"; tt: "cv.tt"; tu: "cv.tu"; tv: "cv.tv"; tw: "cv.tw"; tx: "cv.tx"; ty: "cv.ty"; tz: "cv.tz"; ua: "cv.ua"; ub: "cv.ub"; uc: "cv.uc"; ud: "cv.ud"; ue: "cv.ue"; uf: "cv.uf"; ug: "cv.ug"; uh: "cv.uh"; ui: "cv.ui"; uj: "cv.uj"; uk: "cv.uk"; ul: "cv.ul"; um: "cv.um"; un: "cv.un"; uo: "cv.uo"; up: "cv.up"; uq: "cv.uq"; ur: "cv.ur"; us: "cv.us"; ut: "cv.ut"; uu: "cv.uu"; uv: "cv.uv"; uw: "cv.uw"; ux: "cv.ux"; uy: "cv.uy"; uz: "cv.uz"; va: "cv.va"; vb: "cv.vb"; vc: "cv.vc"; vd: "cv.vd"; ve: "cv.ve"; vf: "cv.vf"; vg: "cv.vg"; vh: "cv.vh"; vi: "cv.vi"; vj: "cv.vj"; vk: "cv.vk"; vl: "cv.vl"; vm: "cv.vm"; vn: "cv.vn"; vo: "cv.vo"; vp: "cv.vp"; vq: "cv.vq"; vr: "cv.vr"; vs: "cv.vs"; vt: "cv.vt"; vu: "cv.vu"; vv: "cv.vv"; vw: "cv.vw"; vx: "cv.vx"; vy: "cv.vy"; vz: "cv.vz"; wa: "cv.wa"; wb: "cv.wb"; wc: "cv.wc"; wd: "cv.wd"; we: "cv.we"; wf: "cv.wf"; wg: "cv.wg"; wh: "cv.wh"; wi: "cv.wi"; wj: "cv.wj"; wk: "cv.wk"; wl: "cv.wl"; wm: "cv.wm"; wn: "cv.wn"; wo: "cv.wo"; wp: "cv.wp"; wq: "cv.wq"; wr: "cv.wr"; ws: "cv.ws"; wt: "cv.wt"; wu: "cv.wu"; wv: "cv.wv"; ww: "cv.ww"; wx: "cv.wx"; wy: "cv.wy"; wz: "cv.wz"; xa: "cv.xa"; xb: "cv.xb"; xc: "cv.xc"; xd: "cv.xd"; xe: "cv.xe"; xf: "cv.xf"; xg: "cv.xg"; xh: "cv.xh"; xi: "cv.xi"; xj: "cv.xj"; xk: "cv.xk"; xl: "cv.xl"; xm: "cv.xm"; xn: "cv.xn"; xo: "cv.xo"; xp: "cv.xp"; xq: "cv.xq"; xr: "cv.xr"; xs: "cv.xs"; xt: "cv.xt"; xu: "cv.xu"; xv: "cv.xv"; xw: "cv.xw"; xx: "cv.xx"; xy: "cv.xy"; xz: "cv.xz"; ya: "cv.ya"; yb: "cv.yb"; yc: "cv.yc"; yd: "cv.yd"; ye: "cv.ye"; yf: "cv.yf"; yg: "cv.yg"; yh: "cv.yh"; yi: "cv.yi"; yj: "cv.yj"; yk: "cv.yk"; yl: "cv.yl"; ym: "cv.ym"; yn: "cv.yn"; yo: "cv.yo"; yp: "cv.yp"; yq: "cv.yq"; yr: "cv.yr"; ys: "cv.ys"; yt: "cv.yt"; yu: "cv.yu"; yv: "cv.yv"; yw: "cv.yw"; yx: "cv.yx"; yy: "cv.yy"; yz: "cv.yz"; za: "cv.za"; zb: "cv.zb"; zc: "cv.zc"; zd: "cv.zd"; ze: "cv.ze"; zf: "cv.zf"; zg: "cv.zg"; zh: "cv.zh"; zi: "cv.zi"; zj: "cv.zj"; zk: "cv.zk"; zl: "cv.zl"; zm: "cv.zm"; zn: "cv.zn"; zo: "cv.zo"; zp: "cv.zp"; zq: "cv.zq"; zr: "cv.zr"; zs: "cv.zs"; zt: "cv.zt"; zu: "cv.zu"; zv: "cv.zv"; zw: "cv.zw"; zx: "cv.zx"; zy: "cv.zy"; zz: "cv.zz"; }; cw: { aa: "cw.aa"; ab: "cw.ab"; ac: "cw.ac"; ad: "cw.ad"; ae: "cw.ae"; af: "cw.af"; ag: "cw.ag"; ah: "cw.ah"; ai: "cw.ai"; aj: "cw.aj"; ak: "cw.ak"; al: "cw.al"; am: "cw.am"; an: "cw.an"; ao: "cw.ao"; ap: "cw.ap"; aq: "cw.aq"; ar: "cw.ar"; as: "cw.as"; at: "cw.at"; au: "cw.au"; av: "cw.av"; aw: "cw.aw"; ax: "cw.ax"; ay: "cw.ay"; az: "cw.az"; ba: "cw.ba"; bb: "cw.bb"; bc: "cw.bc"; bd: "cw.bd"; be: "cw.be"; bf: "cw.bf"; bg: "cw.bg"; bh: "cw.bh"; bi: "cw.bi"; bj: "cw.bj"; bk: "cw.bk"; bl: "cw.bl"; bm: "cw.bm"; bn: "cw.bn"; bo: "cw.bo"; bp: "cw.bp"; bq: "cw.bq"; br: "cw.br"; bs: "cw.bs"; bt: "cw.bt"; bu: "cw.bu"; bv: "cw.bv"; bw: "cw.bw"; bx: "cw.bx"; by: "cw.by"; bz: "cw.bz"; ca: "cw.ca"; cb: "cw.cb"; cc: "cw.cc"; cd: "cw.cd"; ce: "cw.ce"; cf: "cw.cf"; cg: "cw.cg"; ch: "cw.ch"; ci: "cw.ci"; cj: "cw.cj"; ck: "cw.ck"; cl: "cw.cl"; cm: "cw.cm"; cn: "cw.cn"; co: "cw.co"; cp: "cw.cp"; cq: "cw.cq"; cr: "cw.cr"; cs: "cw.cs"; ct: "cw.ct"; cu: "cw.cu"; cv: "cw.cv"; cw: "cw.cw"; cx: "cw.cx"; cy: "cw.cy"; cz: "cw.cz"; da: "cw.da"; db: "cw.db"; dc: "cw.dc"; dd: "cw.dd"; de: "cw.de"; df: "cw.df"; dg: "cw.dg"; dh: "cw.dh"; di: "cw.di"; dj: "cw.dj"; dk: "cw.dk"; dl: "cw.dl"; dm: "cw.dm"; dn: "cw.dn"; do: "cw.do"; dp: "cw.dp"; dq: "cw.dq"; dr: "cw.dr"; ds: "cw.ds"; dt: "cw.dt"; du: "cw.du"; dv: "cw.dv"; dw: "cw.dw"; dx: "cw.dx"; dy: "cw.dy"; dz: "cw.dz"; ea: "cw.ea"; eb: "cw.eb"; ec: "cw.ec"; ed: "cw.ed"; ee: "cw.ee"; ef: "cw.ef"; eg: "cw.eg"; eh: "cw.eh"; ei: "cw.ei"; ej: "cw.ej"; ek: "cw.ek"; el: "cw.el"; em: "cw.em"; en: "cw.en"; eo: "cw.eo"; ep: "cw.ep"; eq: "cw.eq"; er: "cw.er"; es: "cw.es"; et: "cw.et"; eu: "cw.eu"; ev: "cw.ev"; ew: "cw.ew"; ex: "cw.ex"; ey: "cw.ey"; ez: "cw.ez"; fa: "cw.fa"; fb: "cw.fb"; fc: "cw.fc"; fd: "cw.fd"; fe: "cw.fe"; ff: "cw.ff"; fg: "cw.fg"; fh: "cw.fh"; fi: "cw.fi"; fj: "cw.fj"; fk: "cw.fk"; fl: "cw.fl"; fm: "cw.fm"; fn: "cw.fn"; fo: "cw.fo"; fp: "cw.fp"; fq: "cw.fq"; fr: "cw.fr"; fs: "cw.fs"; ft: "cw.ft"; fu: "cw.fu"; fv: "cw.fv"; fw: "cw.fw"; fx: "cw.fx"; fy: "cw.fy"; fz: "cw.fz"; ga: "cw.ga"; gb: "cw.gb"; gc: "cw.gc"; gd: "cw.gd"; ge: "cw.ge"; gf: "cw.gf"; gg: "cw.gg"; gh: "cw.gh"; gi: "cw.gi"; gj: "cw.gj"; gk: "cw.gk"; gl: "cw.gl"; gm: "cw.gm"; gn: "cw.gn"; go: "cw.go"; gp: "cw.gp"; gq: "cw.gq"; gr: "cw.gr"; gs: "cw.gs"; gt: "cw.gt"; gu: "cw.gu"; gv: "cw.gv"; gw: "cw.gw"; gx: "cw.gx"; gy: "cw.gy"; gz: "cw.gz"; ha: "cw.ha"; hb: "cw.hb"; hc: "cw.hc"; hd: "cw.hd"; he: "cw.he"; hf: "cw.hf"; hg: "cw.hg"; hh: "cw.hh"; hi: "cw.hi"; hj: "cw.hj"; hk: "cw.hk"; hl: "cw.hl"; hm: "cw.hm"; hn: "cw.hn"; ho: "cw.ho"; hp: "cw.hp"; hq: "cw.hq"; hr: "cw.hr"; hs: "cw.hs"; ht: "cw.ht"; hu: "cw.hu"; hv: "cw.hv"; hw: "cw.hw"; hx: "cw.hx"; hy: "cw.hy"; hz: "cw.hz"; ia: "cw.ia"; ib: "cw.ib"; ic: "cw.ic"; id: "cw.id"; ie: "cw.ie"; if: "cw.if"; ig: "cw.ig"; ih: "cw.ih"; ii: "cw.ii"; ij: "cw.ij"; ik: "cw.ik"; il: "cw.il"; im: "cw.im"; in: "cw.in"; io: "cw.io"; ip: "cw.ip"; iq: "cw.iq"; ir: "cw.ir"; is: "cw.is"; it: "cw.it"; iu: "cw.iu"; iv: "cw.iv"; iw: "cw.iw"; ix: "cw.ix"; iy: "cw.iy"; iz: "cw.iz"; ja: "cw.ja"; jb: "cw.jb"; jc: "cw.jc"; jd: "cw.jd"; je: "cw.je"; jf: "cw.jf"; jg: "cw.jg"; jh: "cw.jh"; ji: "cw.ji"; jj: "cw.jj"; jk: "cw.jk"; jl: "cw.jl"; jm: "cw.jm"; jn: "cw.jn"; jo: "cw.jo"; jp: "cw.jp"; jq: "cw.jq"; jr: "cw.jr"; js: "cw.js"; jt: "cw.jt"; ju: "cw.ju"; jv: "cw.jv"; jw: "cw.jw"; jx: "cw.jx"; jy: "cw.jy"; jz: "cw.jz"; ka: "cw.ka"; kb: "cw.kb"; kc: "cw.kc"; kd: "cw.kd"; ke: "cw.ke"; kf: "cw.kf"; kg: "cw.kg"; kh: "cw.kh"; ki: "cw.ki"; kj: "cw.kj"; kk: "cw.kk"; kl: "cw.kl"; km: "cw.km"; kn: "cw.kn"; ko: "cw.ko"; kp: "cw.kp"; kq: "cw.kq"; kr: "cw.kr"; ks: "cw.ks"; kt: "cw.kt"; ku: "cw.ku"; kv: "cw.kv"; kw: "cw.kw"; kx: "cw.kx"; ky: "cw.ky"; kz: "cw.kz"; la: "cw.la"; lb: "cw.lb"; lc: "cw.lc"; ld: "cw.ld"; le: "cw.le"; lf: "cw.lf"; lg: "cw.lg"; lh: "cw.lh"; li: "cw.li"; lj: "cw.lj"; lk: "cw.lk"; ll: "cw.ll"; lm: "cw.lm"; ln: "cw.ln"; lo: "cw.lo"; lp: "cw.lp"; lq: "cw.lq"; lr: "cw.lr"; ls: "cw.ls"; lt: "cw.lt"; lu: "cw.lu"; lv: "cw.lv"; lw: "cw.lw"; lx: "cw.lx"; ly: "cw.ly"; lz: "cw.lz"; ma: "cw.ma"; mb: "cw.mb"; mc: "cw.mc"; md: "cw.md"; me: "cw.me"; mf: "cw.mf"; mg: "cw.mg"; mh: "cw.mh"; mi: "cw.mi"; mj: "cw.mj"; mk: "cw.mk"; ml: "cw.ml"; mm: "cw.mm"; mn: "cw.mn"; mo: "cw.mo"; mp: "cw.mp"; mq: "cw.mq"; mr: "cw.mr"; ms: "cw.ms"; mt: "cw.mt"; mu: "cw.mu"; mv: "cw.mv"; mw: "cw.mw"; mx: "cw.mx"; my: "cw.my"; mz: "cw.mz"; na: "cw.na"; nb: "cw.nb"; nc: "cw.nc"; nd: "cw.nd"; ne: "cw.ne"; nf: "cw.nf"; ng: "cw.ng"; nh: "cw.nh"; ni: "cw.ni"; nj: "cw.nj"; nk: "cw.nk"; nl: "cw.nl"; nm: "cw.nm"; nn: "cw.nn"; no: "cw.no"; np: "cw.np"; nq: "cw.nq"; nr: "cw.nr"; ns: "cw.ns"; nt: "cw.nt"; nu: "cw.nu"; nv: "cw.nv"; nw: "cw.nw"; nx: "cw.nx"; ny: "cw.ny"; nz: "cw.nz"; oa: "cw.oa"; ob: "cw.ob"; oc: "cw.oc"; od: "cw.od"; oe: "cw.oe"; of: "cw.of"; og: "cw.og"; oh: "cw.oh"; oi: "cw.oi"; oj: "cw.oj"; ok: "cw.ok"; ol: "cw.ol"; om: "cw.om"; on: "cw.on"; oo: "cw.oo"; op: "cw.op"; oq: "cw.oq"; or: "cw.or"; os: "cw.os"; ot: "cw.ot"; ou: "cw.ou"; ov: "cw.ov"; ow: "cw.ow"; ox: "cw.ox"; oy: "cw.oy"; oz: "cw.oz"; pa: "cw.pa"; pb: "cw.pb"; pc: "cw.pc"; pd: "cw.pd"; pe: "cw.pe"; pf: "cw.pf"; pg: "cw.pg"; ph: "cw.ph"; pi: "cw.pi"; pj: "cw.pj"; pk: "cw.pk"; pl: "cw.pl"; pm: "cw.pm"; pn: "cw.pn"; po: "cw.po"; pp: "cw.pp"; pq: "cw.pq"; pr: "cw.pr"; ps: "cw.ps"; pt: "cw.pt"; pu: "cw.pu"; pv: "cw.pv"; pw: "cw.pw"; px: "cw.px"; py: "cw.py"; pz: "cw.pz"; qa: "cw.qa"; qb: "cw.qb"; qc: "cw.qc"; qd: "cw.qd"; qe: "cw.qe"; qf: "cw.qf"; qg: "cw.qg"; qh: "cw.qh"; qi: "cw.qi"; qj: "cw.qj"; qk: "cw.qk"; ql: "cw.ql"; qm: "cw.qm"; qn: "cw.qn"; qo: "cw.qo"; qp: "cw.qp"; qq: "cw.qq"; qr: "cw.qr"; qs: "cw.qs"; qt: "cw.qt"; qu: "cw.qu"; qv: "cw.qv"; qw: "cw.qw"; qx: "cw.qx"; qy: "cw.qy"; qz: "cw.qz"; ra: "cw.ra"; rb: "cw.rb"; rc: "cw.rc"; rd: "cw.rd"; re: "cw.re"; rf: "cw.rf"; rg: "cw.rg"; rh: "cw.rh"; ri: "cw.ri"; rj: "cw.rj"; rk: "cw.rk"; rl: "cw.rl"; rm: "cw.rm"; rn: "cw.rn"; ro: "cw.ro"; rp: "cw.rp"; rq: "cw.rq"; rr: "cw.rr"; rs: "cw.rs"; rt: "cw.rt"; ru: "cw.ru"; rv: "cw.rv"; rw: "cw.rw"; rx: "cw.rx"; ry: "cw.ry"; rz: "cw.rz"; sa: "cw.sa"; sb: "cw.sb"; sc: "cw.sc"; sd: "cw.sd"; se: "cw.se"; sf: "cw.sf"; sg: "cw.sg"; sh: "cw.sh"; si: "cw.si"; sj: "cw.sj"; sk: "cw.sk"; sl: "cw.sl"; sm: "cw.sm"; sn: "cw.sn"; so: "cw.so"; sp: "cw.sp"; sq: "cw.sq"; sr: "cw.sr"; ss: "cw.ss"; st: "cw.st"; su: "cw.su"; sv: "cw.sv"; sw: "cw.sw"; sx: "cw.sx"; sy: "cw.sy"; sz: "cw.sz"; ta: "cw.ta"; tb: "cw.tb"; tc: "cw.tc"; td: "cw.td"; te: "cw.te"; tf: "cw.tf"; tg: "cw.tg"; th: "cw.th"; ti: "cw.ti"; tj: "cw.tj"; tk: "cw.tk"; tl: "cw.tl"; tm: "cw.tm"; tn: "cw.tn"; to: "cw.to"; tp: "cw.tp"; tq: "cw.tq"; tr: "cw.tr"; ts: "cw.ts"; tt: "cw.tt"; tu: "cw.tu"; tv: "cw.tv"; tw: "cw.tw"; tx: "cw.tx"; ty: "cw.ty"; tz: "cw.tz"; ua: "cw.ua"; ub: "cw.ub"; uc: "cw.uc"; ud: "cw.ud"; ue: "cw.ue"; uf: "cw.uf"; ug: "cw.ug"; uh: "cw.uh"; ui: "cw.ui"; uj: "cw.uj"; uk: "cw.uk"; ul: "cw.ul"; um: "cw.um"; un: "cw.un"; uo: "cw.uo"; up: "cw.up"; uq: "cw.uq"; ur: "cw.ur"; us: "cw.us"; ut: "cw.ut"; uu: "cw.uu"; uv: "cw.uv"; uw: "cw.uw"; ux: "cw.ux"; uy: "cw.uy"; uz: "cw.uz"; va: "cw.va"; vb: "cw.vb"; vc: "cw.vc"; vd: "cw.vd"; ve: "cw.ve"; vf: "cw.vf"; vg: "cw.vg"; vh: "cw.vh"; vi: "cw.vi"; vj: "cw.vj"; vk: "cw.vk"; vl: "cw.vl"; vm: "cw.vm"; vn: "cw.vn"; vo: "cw.vo"; vp: "cw.vp"; vq: "cw.vq"; vr: "cw.vr"; vs: "cw.vs"; vt: "cw.vt"; vu: "cw.vu"; vv: "cw.vv"; vw: "cw.vw"; vx: "cw.vx"; vy: "cw.vy"; vz: "cw.vz"; wa: "cw.wa"; wb: "cw.wb"; wc: "cw.wc"; wd: "cw.wd"; we: "cw.we"; wf: "cw.wf"; wg: "cw.wg"; wh: "cw.wh"; wi: "cw.wi"; wj: "cw.wj"; wk: "cw.wk"; wl: "cw.wl"; wm: "cw.wm"; wn: "cw.wn"; wo: "cw.wo"; wp: "cw.wp"; wq: "cw.wq"; wr: "cw.wr"; ws: "cw.ws"; wt: "cw.wt"; wu: "cw.wu"; wv: "cw.wv"; ww: "cw.ww"; wx: "cw.wx"; wy: "cw.wy"; wz: "cw.wz"; xa: "cw.xa"; xb: "cw.xb"; xc: "cw.xc"; xd: "cw.xd"; xe: "cw.xe"; xf: "cw.xf"; xg: "cw.xg"; xh: "cw.xh"; xi: "cw.xi"; xj: "cw.xj"; xk: "cw.xk"; xl: "cw.xl"; xm: "cw.xm"; xn: "cw.xn"; xo: "cw.xo"; xp: "cw.xp"; xq: "cw.xq"; xr: "cw.xr"; xs: "cw.xs"; xt: "cw.xt"; xu: "cw.xu"; xv: "cw.xv"; xw: "cw.xw"; xx: "cw.xx"; xy: "cw.xy"; xz: "cw.xz"; ya: "cw.ya"; yb: "cw.yb"; yc: "cw.yc"; yd: "cw.yd"; ye: "cw.ye"; yf: "cw.yf"; yg: "cw.yg"; yh: "cw.yh"; yi: "cw.yi"; yj: "cw.yj"; yk: "cw.yk"; yl: "cw.yl"; ym: "cw.ym"; yn: "cw.yn"; yo: "cw.yo"; yp: "cw.yp"; yq: "cw.yq"; yr: "cw.yr"; ys: "cw.ys"; yt: "cw.yt"; yu: "cw.yu"; yv: "cw.yv"; yw: "cw.yw"; yx: "cw.yx"; yy: "cw.yy"; yz: "cw.yz"; za: "cw.za"; zb: "cw.zb"; zc: "cw.zc"; zd: "cw.zd"; ze: "cw.ze"; zf: "cw.zf"; zg: "cw.zg"; zh: "cw.zh"; zi: "cw.zi"; zj: "cw.zj"; zk: "cw.zk"; zl: "cw.zl"; zm: "cw.zm"; zn: "cw.zn"; zo: "cw.zo"; zp: "cw.zp"; zq: "cw.zq"; zr: "cw.zr"; zs: "cw.zs"; zt: "cw.zt"; zu: "cw.zu"; zv: "cw.zv"; zw: "cw.zw"; zx: "cw.zx"; zy: "cw.zy"; zz: "cw.zz"; }; cx: { aa: "cx.aa"; ab: "cx.ab"; ac: "cx.ac"; ad: "cx.ad"; ae: "cx.ae"; af: "cx.af"; ag: "cx.ag"; ah: "cx.ah"; ai: "cx.ai"; aj: "cx.aj"; ak: "cx.ak"; al: "cx.al"; am: "cx.am"; an: "cx.an"; ao: "cx.ao"; ap: "cx.ap"; aq: "cx.aq"; ar: "cx.ar"; as: "cx.as"; at: "cx.at"; au: "cx.au"; av: "cx.av"; aw: "cx.aw"; ax: "cx.ax"; ay: "cx.ay"; az: "cx.az"; ba: "cx.ba"; bb: "cx.bb"; bc: "cx.bc"; bd: "cx.bd"; be: "cx.be"; bf: "cx.bf"; bg: "cx.bg"; bh: "cx.bh"; bi: "cx.bi"; bj: "cx.bj"; bk: "cx.bk"; bl: "cx.bl"; bm: "cx.bm"; bn: "cx.bn"; bo: "cx.bo"; bp: "cx.bp"; bq: "cx.bq"; br: "cx.br"; bs: "cx.bs"; bt: "cx.bt"; bu: "cx.bu"; bv: "cx.bv"; bw: "cx.bw"; bx: "cx.bx"; by: "cx.by"; bz: "cx.bz"; ca: "cx.ca"; cb: "cx.cb"; cc: "cx.cc"; cd: "cx.cd"; ce: "cx.ce"; cf: "cx.cf"; cg: "cx.cg"; ch: "cx.ch"; ci: "cx.ci"; cj: "cx.cj"; ck: "cx.ck"; cl: "cx.cl"; cm: "cx.cm"; cn: "cx.cn"; co: "cx.co"; cp: "cx.cp"; cq: "cx.cq"; cr: "cx.cr"; cs: "cx.cs"; ct: "cx.ct"; cu: "cx.cu"; cv: "cx.cv"; cw: "cx.cw"; cx: "cx.cx"; cy: "cx.cy"; cz: "cx.cz"; da: "cx.da"; db: "cx.db"; dc: "cx.dc"; dd: "cx.dd"; de: "cx.de"; df: "cx.df"; dg: "cx.dg"; dh: "cx.dh"; di: "cx.di"; dj: "cx.dj"; dk: "cx.dk"; dl: "cx.dl"; dm: "cx.dm"; dn: "cx.dn"; do: "cx.do"; dp: "cx.dp"; dq: "cx.dq"; dr: "cx.dr"; ds: "cx.ds"; dt: "cx.dt"; du: "cx.du"; dv: "cx.dv"; dw: "cx.dw"; dx: "cx.dx"; dy: "cx.dy"; dz: "cx.dz"; ea: "cx.ea"; eb: "cx.eb"; ec: "cx.ec"; ed: "cx.ed"; ee: "cx.ee"; ef: "cx.ef"; eg: "cx.eg"; eh: "cx.eh"; ei: "cx.ei"; ej: "cx.ej"; ek: "cx.ek"; el: "cx.el"; em: "cx.em"; en: "cx.en"; eo: "cx.eo"; ep: "cx.ep"; eq: "cx.eq"; er: "cx.er"; es: "cx.es"; et: "cx.et"; eu: "cx.eu"; ev: "cx.ev"; ew: "cx.ew"; ex: "cx.ex"; ey: "cx.ey"; ez: "cx.ez"; fa: "cx.fa"; fb: "cx.fb"; fc: "cx.fc"; fd: "cx.fd"; fe: "cx.fe"; ff: "cx.ff"; fg: "cx.fg"; fh: "cx.fh"; fi: "cx.fi"; fj: "cx.fj"; fk: "cx.fk"; fl: "cx.fl"; fm: "cx.fm"; fn: "cx.fn"; fo: "cx.fo"; fp: "cx.fp"; fq: "cx.fq"; fr: "cx.fr"; fs: "cx.fs"; ft: "cx.ft"; fu: "cx.fu"; fv: "cx.fv"; fw: "cx.fw"; fx: "cx.fx"; fy: "cx.fy"; fz: "cx.fz"; ga: "cx.ga"; gb: "cx.gb"; gc: "cx.gc"; gd: "cx.gd"; ge: "cx.ge"; gf: "cx.gf"; gg: "cx.gg"; gh: "cx.gh"; gi: "cx.gi"; gj: "cx.gj"; gk: "cx.gk"; gl: "cx.gl"; gm: "cx.gm"; gn: "cx.gn"; go: "cx.go"; gp: "cx.gp"; gq: "cx.gq"; gr: "cx.gr"; gs: "cx.gs"; gt: "cx.gt"; gu: "cx.gu"; gv: "cx.gv"; gw: "cx.gw"; gx: "cx.gx"; gy: "cx.gy"; gz: "cx.gz"; ha: "cx.ha"; hb: "cx.hb"; hc: "cx.hc"; hd: "cx.hd"; he: "cx.he"; hf: "cx.hf"; hg: "cx.hg"; hh: "cx.hh"; hi: "cx.hi"; hj: "cx.hj"; hk: "cx.hk"; hl: "cx.hl"; hm: "cx.hm"; hn: "cx.hn"; ho: "cx.ho"; hp: "cx.hp"; hq: "cx.hq"; hr: "cx.hr"; hs: "cx.hs"; ht: "cx.ht"; hu: "cx.hu"; hv: "cx.hv"; hw: "cx.hw"; hx: "cx.hx"; hy: "cx.hy"; hz: "cx.hz"; ia: "cx.ia"; ib: "cx.ib"; ic: "cx.ic"; id: "cx.id"; ie: "cx.ie"; if: "cx.if"; ig: "cx.ig"; ih: "cx.ih"; ii: "cx.ii"; ij: "cx.ij"; ik: "cx.ik"; il: "cx.il"; im: "cx.im"; in: "cx.in"; io: "cx.io"; ip: "cx.ip"; iq: "cx.iq"; ir: "cx.ir"; is: "cx.is"; it: "cx.it"; iu: "cx.iu"; iv: "cx.iv"; iw: "cx.iw"; ix: "cx.ix"; iy: "cx.iy"; iz: "cx.iz"; ja: "cx.ja"; jb: "cx.jb"; jc: "cx.jc"; jd: "cx.jd"; je: "cx.je"; jf: "cx.jf"; jg: "cx.jg"; jh: "cx.jh"; ji: "cx.ji"; jj: "cx.jj"; jk: "cx.jk"; jl: "cx.jl"; jm: "cx.jm"; jn: "cx.jn"; jo: "cx.jo"; jp: "cx.jp"; jq: "cx.jq"; jr: "cx.jr"; js: "cx.js"; jt: "cx.jt"; ju: "cx.ju"; jv: "cx.jv"; jw: "cx.jw"; jx: "cx.jx"; jy: "cx.jy"; jz: "cx.jz"; ka: "cx.ka"; kb: "cx.kb"; kc: "cx.kc"; kd: "cx.kd"; ke: "cx.ke"; kf: "cx.kf"; kg: "cx.kg"; kh: "cx.kh"; ki: "cx.ki"; kj: "cx.kj"; kk: "cx.kk"; kl: "cx.kl"; km: "cx.km"; kn: "cx.kn"; ko: "cx.ko"; kp: "cx.kp"; kq: "cx.kq"; kr: "cx.kr"; ks: "cx.ks"; kt: "cx.kt"; ku: "cx.ku"; kv: "cx.kv"; kw: "cx.kw"; kx: "cx.kx"; ky: "cx.ky"; kz: "cx.kz"; la: "cx.la"; lb: "cx.lb"; lc: "cx.lc"; ld: "cx.ld"; le: "cx.le"; lf: "cx.lf"; lg: "cx.lg"; lh: "cx.lh"; li: "cx.li"; lj: "cx.lj"; lk: "cx.lk"; ll: "cx.ll"; lm: "cx.lm"; ln: "cx.ln"; lo: "cx.lo"; lp: "cx.lp"; lq: "cx.lq"; lr: "cx.lr"; ls: "cx.ls"; lt: "cx.lt"; lu: "cx.lu"; lv: "cx.lv"; lw: "cx.lw"; lx: "cx.lx"; ly: "cx.ly"; lz: "cx.lz"; ma: "cx.ma"; mb: "cx.mb"; mc: "cx.mc"; md: "cx.md"; me: "cx.me"; mf: "cx.mf"; mg: "cx.mg"; mh: "cx.mh"; mi: "cx.mi"; mj: "cx.mj"; mk: "cx.mk"; ml: "cx.ml"; mm: "cx.mm"; mn: "cx.mn"; mo: "cx.mo"; mp: "cx.mp"; mq: "cx.mq"; mr: "cx.mr"; ms: "cx.ms"; mt: "cx.mt"; mu: "cx.mu"; mv: "cx.mv"; mw: "cx.mw"; mx: "cx.mx"; my: "cx.my"; mz: "cx.mz"; na: "cx.na"; nb: "cx.nb"; nc: "cx.nc"; nd: "cx.nd"; ne: "cx.ne"; nf: "cx.nf"; ng: "cx.ng"; nh: "cx.nh"; ni: "cx.ni"; nj: "cx.nj"; nk: "cx.nk"; nl: "cx.nl"; nm: "cx.nm"; nn: "cx.nn"; no: "cx.no"; np: "cx.np"; nq: "cx.nq"; nr: "cx.nr"; ns: "cx.ns"; nt: "cx.nt"; nu: "cx.nu"; nv: "cx.nv"; nw: "cx.nw"; nx: "cx.nx"; ny: "cx.ny"; nz: "cx.nz"; oa: "cx.oa"; ob: "cx.ob"; oc: "cx.oc"; od: "cx.od"; oe: "cx.oe"; of: "cx.of"; og: "cx.og"; oh: "cx.oh"; oi: "cx.oi"; oj: "cx.oj"; ok: "cx.ok"; ol: "cx.ol"; om: "cx.om"; on: "cx.on"; oo: "cx.oo"; op: "cx.op"; oq: "cx.oq"; or: "cx.or"; os: "cx.os"; ot: "cx.ot"; ou: "cx.ou"; ov: "cx.ov"; ow: "cx.ow"; ox: "cx.ox"; oy: "cx.oy"; oz: "cx.oz"; pa: "cx.pa"; pb: "cx.pb"; pc: "cx.pc"; pd: "cx.pd"; pe: "cx.pe"; pf: "cx.pf"; pg: "cx.pg"; ph: "cx.ph"; pi: "cx.pi"; pj: "cx.pj"; pk: "cx.pk"; pl: "cx.pl"; pm: "cx.pm"; pn: "cx.pn"; po: "cx.po"; pp: "cx.pp"; pq: "cx.pq"; pr: "cx.pr"; ps: "cx.ps"; pt: "cx.pt"; pu: "cx.pu"; pv: "cx.pv"; pw: "cx.pw"; px: "cx.px"; py: "cx.py"; pz: "cx.pz"; qa: "cx.qa"; qb: "cx.qb"; qc: "cx.qc"; qd: "cx.qd"; qe: "cx.qe"; qf: "cx.qf"; qg: "cx.qg"; qh: "cx.qh"; qi: "cx.qi"; qj: "cx.qj"; qk: "cx.qk"; ql: "cx.ql"; qm: "cx.qm"; qn: "cx.qn"; qo: "cx.qo"; qp: "cx.qp"; qq: "cx.qq"; qr: "cx.qr"; qs: "cx.qs"; qt: "cx.qt"; qu: "cx.qu"; qv: "cx.qv"; qw: "cx.qw"; qx: "cx.qx"; qy: "cx.qy"; qz: "cx.qz"; ra: "cx.ra"; rb: "cx.rb"; rc: "cx.rc"; rd: "cx.rd"; re: "cx.re"; rf: "cx.rf"; rg: "cx.rg"; rh: "cx.rh"; ri: "cx.ri"; rj: "cx.rj"; rk: "cx.rk"; rl: "cx.rl"; rm: "cx.rm"; rn: "cx.rn"; ro: "cx.ro"; rp: "cx.rp"; rq: "cx.rq"; rr: "cx.rr"; rs: "cx.rs"; rt: "cx.rt"; ru: "cx.ru"; rv: "cx.rv"; rw: "cx.rw"; rx: "cx.rx"; ry: "cx.ry"; rz: "cx.rz"; sa: "cx.sa"; sb: "cx.sb"; sc: "cx.sc"; sd: "cx.sd"; se: "cx.se"; sf: "cx.sf"; sg: "cx.sg"; sh: "cx.sh"; si: "cx.si"; sj: "cx.sj"; sk: "cx.sk"; sl: "cx.sl"; sm: "cx.sm"; sn: "cx.sn"; so: "cx.so"; sp: "cx.sp"; sq: "cx.sq"; sr: "cx.sr"; ss: "cx.ss"; st: "cx.st"; su: "cx.su"; sv: "cx.sv"; sw: "cx.sw"; sx: "cx.sx"; sy: "cx.sy"; sz: "cx.sz"; ta: "cx.ta"; tb: "cx.tb"; tc: "cx.tc"; td: "cx.td"; te: "cx.te"; tf: "cx.tf"; tg: "cx.tg"; th: "cx.th"; ti: "cx.ti"; tj: "cx.tj"; tk: "cx.tk"; tl: "cx.tl"; tm: "cx.tm"; tn: "cx.tn"; to: "cx.to"; tp: "cx.tp"; tq: "cx.tq"; tr: "cx.tr"; ts: "cx.ts"; tt: "cx.tt"; tu: "cx.tu"; tv: "cx.tv"; tw: "cx.tw"; tx: "cx.tx"; ty: "cx.ty"; tz: "cx.tz"; ua: "cx.ua"; ub: "cx.ub"; uc: "cx.uc"; ud: "cx.ud"; ue: "cx.ue"; uf: "cx.uf"; ug: "cx.ug"; uh: "cx.uh"; ui: "cx.ui"; uj: "cx.uj"; uk: "cx.uk"; ul: "cx.ul"; um: "cx.um"; un: "cx.un"; uo: "cx.uo"; up: "cx.up"; uq: "cx.uq"; ur: "cx.ur"; us: "cx.us"; ut: "cx.ut"; uu: "cx.uu"; uv: "cx.uv"; uw: "cx.uw"; ux: "cx.ux"; uy: "cx.uy"; uz: "cx.uz"; va: "cx.va"; vb: "cx.vb"; vc: "cx.vc"; vd: "cx.vd"; ve: "cx.ve"; vf: "cx.vf"; vg: "cx.vg"; vh: "cx.vh"; vi: "cx.vi"; vj: "cx.vj"; vk: "cx.vk"; vl: "cx.vl"; vm: "cx.vm"; vn: "cx.vn"; vo: "cx.vo"; vp: "cx.vp"; vq: "cx.vq"; vr: "cx.vr"; vs: "cx.vs"; vt: "cx.vt"; vu: "cx.vu"; vv: "cx.vv"; vw: "cx.vw"; vx: "cx.vx"; vy: "cx.vy"; vz: "cx.vz"; wa: "cx.wa"; wb: "cx.wb"; wc: "cx.wc"; wd: "cx.wd"; we: "cx.we"; wf: "cx.wf"; wg: "cx.wg"; wh: "cx.wh"; wi: "cx.wi"; wj: "cx.wj"; wk: "cx.wk"; wl: "cx.wl"; wm: "cx.wm"; wn: "cx.wn"; wo: "cx.wo"; wp: "cx.wp"; wq: "cx.wq"; wr: "cx.wr"; ws: "cx.ws"; wt: "cx.wt"; wu: "cx.wu"; wv: "cx.wv"; ww: "cx.ww"; wx: "cx.wx"; wy: "cx.wy"; wz: "cx.wz"; xa: "cx.xa"; xb: "cx.xb"; xc: "cx.xc"; xd: "cx.xd"; xe: "cx.xe"; xf: "cx.xf"; xg: "cx.xg"; xh: "cx.xh"; xi: "cx.xi"; xj: "cx.xj"; xk: "cx.xk"; xl: "cx.xl"; xm: "cx.xm"; xn: "cx.xn"; xo: "cx.xo"; xp: "cx.xp"; xq: "cx.xq"; xr: "cx.xr"; xs: "cx.xs"; xt: "cx.xt"; xu: "cx.xu"; xv: "cx.xv"; xw: "cx.xw"; xx: "cx.xx"; xy: "cx.xy"; xz: "cx.xz"; ya: "cx.ya"; yb: "cx.yb"; yc: "cx.yc"; yd: "cx.yd"; ye: "cx.ye"; yf: "cx.yf"; yg: "cx.yg"; yh: "cx.yh"; yi: "cx.yi"; yj: "cx.yj"; yk: "cx.yk"; yl: "cx.yl"; ym: "cx.ym"; yn: "cx.yn"; yo: "cx.yo"; yp: "cx.yp"; yq: "cx.yq"; yr: "cx.yr"; ys: "cx.ys"; yt: "cx.yt"; yu: "cx.yu"; yv: "cx.yv"; yw: "cx.yw"; yx: "cx.yx"; yy: "cx.yy"; yz: "cx.yz"; za: "cx.za"; zb: "cx.zb"; zc: "cx.zc"; zd: "cx.zd"; ze: "cx.ze"; zf: "cx.zf"; zg: "cx.zg"; zh: "cx.zh"; zi: "cx.zi"; zj: "cx.zj"; zk: "cx.zk"; zl: "cx.zl"; zm: "cx.zm"; zn: "cx.zn"; zo: "cx.zo"; zp: "cx.zp"; zq: "cx.zq"; zr: "cx.zr"; zs: "cx.zs"; zt: "cx.zt"; zu: "cx.zu"; zv: "cx.zv"; zw: "cx.zw"; zx: "cx.zx"; zy: "cx.zy"; zz: "cx.zz"; }; cy: { aa: "cy.aa"; ab: "cy.ab"; ac: "cy.ac"; ad: "cy.ad"; ae: "cy.ae"; af: "cy.af"; ag: "cy.ag"; ah: "cy.ah"; ai: "cy.ai"; aj: "cy.aj"; ak: "cy.ak"; al: "cy.al"; am: "cy.am"; an: "cy.an"; ao: "cy.ao"; ap: "cy.ap"; aq: "cy.aq"; ar: "cy.ar"; as: "cy.as"; at: "cy.at"; au: "cy.au"; av: "cy.av"; aw: "cy.aw"; ax: "cy.ax"; ay: "cy.ay"; az: "cy.az"; ba: "cy.ba"; bb: "cy.bb"; bc: "cy.bc"; bd: "cy.bd"; be: "cy.be"; bf: "cy.bf"; bg: "cy.bg"; bh: "cy.bh"; bi: "cy.bi"; bj: "cy.bj"; bk: "cy.bk"; bl: "cy.bl"; bm: "cy.bm"; bn: "cy.bn"; bo: "cy.bo"; bp: "cy.bp"; bq: "cy.bq"; br: "cy.br"; bs: "cy.bs"; bt: "cy.bt"; bu: "cy.bu"; bv: "cy.bv"; bw: "cy.bw"; bx: "cy.bx"; by: "cy.by"; bz: "cy.bz"; ca: "cy.ca"; cb: "cy.cb"; cc: "cy.cc"; cd: "cy.cd"; ce: "cy.ce"; cf: "cy.cf"; cg: "cy.cg"; ch: "cy.ch"; ci: "cy.ci"; cj: "cy.cj"; ck: "cy.ck"; cl: "cy.cl"; cm: "cy.cm"; cn: "cy.cn"; co: "cy.co"; cp: "cy.cp"; cq: "cy.cq"; cr: "cy.cr"; cs: "cy.cs"; ct: "cy.ct"; cu: "cy.cu"; cv: "cy.cv"; cw: "cy.cw"; cx: "cy.cx"; cy: "cy.cy"; cz: "cy.cz"; da: "cy.da"; db: "cy.db"; dc: "cy.dc"; dd: "cy.dd"; de: "cy.de"; df: "cy.df"; dg: "cy.dg"; dh: "cy.dh"; di: "cy.di"; dj: "cy.dj"; dk: "cy.dk"; dl: "cy.dl"; dm: "cy.dm"; dn: "cy.dn"; do: "cy.do"; dp: "cy.dp"; dq: "cy.dq"; dr: "cy.dr"; ds: "cy.ds"; dt: "cy.dt"; du: "cy.du"; dv: "cy.dv"; dw: "cy.dw"; dx: "cy.dx"; dy: "cy.dy"; dz: "cy.dz"; ea: "cy.ea"; eb: "cy.eb"; ec: "cy.ec"; ed: "cy.ed"; ee: "cy.ee"; ef: "cy.ef"; eg: "cy.eg"; eh: "cy.eh"; ei: "cy.ei"; ej: "cy.ej"; ek: "cy.ek"; el: "cy.el"; em: "cy.em"; en: "cy.en"; eo: "cy.eo"; ep: "cy.ep"; eq: "cy.eq"; er: "cy.er"; es: "cy.es"; et: "cy.et"; eu: "cy.eu"; ev: "cy.ev"; ew: "cy.ew"; ex: "cy.ex"; ey: "cy.ey"; ez: "cy.ez"; fa: "cy.fa"; fb: "cy.fb"; fc: "cy.fc"; fd: "cy.fd"; fe: "cy.fe"; ff: "cy.ff"; fg: "cy.fg"; fh: "cy.fh"; fi: "cy.fi"; fj: "cy.fj"; fk: "cy.fk"; fl: "cy.fl"; fm: "cy.fm"; fn: "cy.fn"; fo: "cy.fo"; fp: "cy.fp"; fq: "cy.fq"; fr: "cy.fr"; fs: "cy.fs"; ft: "cy.ft"; fu: "cy.fu"; fv: "cy.fv"; fw: "cy.fw"; fx: "cy.fx"; fy: "cy.fy"; fz: "cy.fz"; ga: "cy.ga"; gb: "cy.gb"; gc: "cy.gc"; gd: "cy.gd"; ge: "cy.ge"; gf: "cy.gf"; gg: "cy.gg"; gh: "cy.gh"; gi: "cy.gi"; gj: "cy.gj"; gk: "cy.gk"; gl: "cy.gl"; gm: "cy.gm"; gn: "cy.gn"; go: "cy.go"; gp: "cy.gp"; gq: "cy.gq"; gr: "cy.gr"; gs: "cy.gs"; gt: "cy.gt"; gu: "cy.gu"; gv: "cy.gv"; gw: "cy.gw"; gx: "cy.gx"; gy: "cy.gy"; gz: "cy.gz"; ha: "cy.ha"; hb: "cy.hb"; hc: "cy.hc"; hd: "cy.hd"; he: "cy.he"; hf: "cy.hf"; hg: "cy.hg"; hh: "cy.hh"; hi: "cy.hi"; hj: "cy.hj"; hk: "cy.hk"; hl: "cy.hl"; hm: "cy.hm"; hn: "cy.hn"; ho: "cy.ho"; hp: "cy.hp"; hq: "cy.hq"; hr: "cy.hr"; hs: "cy.hs"; ht: "cy.ht"; hu: "cy.hu"; hv: "cy.hv"; hw: "cy.hw"; hx: "cy.hx"; hy: "cy.hy"; hz: "cy.hz"; ia: "cy.ia"; ib: "cy.ib"; ic: "cy.ic"; id: "cy.id"; ie: "cy.ie"; if: "cy.if"; ig: "cy.ig"; ih: "cy.ih"; ii: "cy.ii"; ij: "cy.ij"; ik: "cy.ik"; il: "cy.il"; im: "cy.im"; in: "cy.in"; io: "cy.io"; ip: "cy.ip"; iq: "cy.iq"; ir: "cy.ir"; is: "cy.is"; it: "cy.it"; iu: "cy.iu"; iv: "cy.iv"; iw: "cy.iw"; ix: "cy.ix"; iy: "cy.iy"; iz: "cy.iz"; ja: "cy.ja"; jb: "cy.jb"; jc: "cy.jc"; jd: "cy.jd"; je: "cy.je"; jf: "cy.jf"; jg: "cy.jg"; jh: "cy.jh"; ji: "cy.ji"; jj: "cy.jj"; jk: "cy.jk"; jl: "cy.jl"; jm: "cy.jm"; jn: "cy.jn"; jo: "cy.jo"; jp: "cy.jp"; jq: "cy.jq"; jr: "cy.jr"; js: "cy.js"; jt: "cy.jt"; ju: "cy.ju"; jv: "cy.jv"; jw: "cy.jw"; jx: "cy.jx"; jy: "cy.jy"; jz: "cy.jz"; ka: "cy.ka"; kb: "cy.kb"; kc: "cy.kc"; kd: "cy.kd"; ke: "cy.ke"; kf: "cy.kf"; kg: "cy.kg"; kh: "cy.kh"; ki: "cy.ki"; kj: "cy.kj"; kk: "cy.kk"; kl: "cy.kl"; km: "cy.km"; kn: "cy.kn"; ko: "cy.ko"; kp: "cy.kp"; kq: "cy.kq"; kr: "cy.kr"; ks: "cy.ks"; kt: "cy.kt"; ku: "cy.ku"; kv: "cy.kv"; kw: "cy.kw"; kx: "cy.kx"; ky: "cy.ky"; kz: "cy.kz"; la: "cy.la"; lb: "cy.lb"; lc: "cy.lc"; ld: "cy.ld"; le: "cy.le"; lf: "cy.lf"; lg: "cy.lg"; lh: "cy.lh"; li: "cy.li"; lj: "cy.lj"; lk: "cy.lk"; ll: "cy.ll"; lm: "cy.lm"; ln: "cy.ln"; lo: "cy.lo"; lp: "cy.lp"; lq: "cy.lq"; lr: "cy.lr"; ls: "cy.ls"; lt: "cy.lt"; lu: "cy.lu"; lv: "cy.lv"; lw: "cy.lw"; lx: "cy.lx"; ly: "cy.ly"; lz: "cy.lz"; ma: "cy.ma"; mb: "cy.mb"; mc: "cy.mc"; md: "cy.md"; me: "cy.me"; mf: "cy.mf"; mg: "cy.mg"; mh: "cy.mh"; mi: "cy.mi"; mj: "cy.mj"; mk: "cy.mk"; ml: "cy.ml"; mm: "cy.mm"; mn: "cy.mn"; mo: "cy.mo"; mp: "cy.mp"; mq: "cy.mq"; mr: "cy.mr"; ms: "cy.ms"; mt: "cy.mt"; mu: "cy.mu"; mv: "cy.mv"; mw: "cy.mw"; mx: "cy.mx"; my: "cy.my"; mz: "cy.mz"; na: "cy.na"; nb: "cy.nb"; nc: "cy.nc"; nd: "cy.nd"; ne: "cy.ne"; nf: "cy.nf"; ng: "cy.ng"; nh: "cy.nh"; ni: "cy.ni"; nj: "cy.nj"; nk: "cy.nk"; nl: "cy.nl"; nm: "cy.nm"; nn: "cy.nn"; no: "cy.no"; np: "cy.np"; nq: "cy.nq"; nr: "cy.nr"; ns: "cy.ns"; nt: "cy.nt"; nu: "cy.nu"; nv: "cy.nv"; nw: "cy.nw"; nx: "cy.nx"; ny: "cy.ny"; nz: "cy.nz"; oa: "cy.oa"; ob: "cy.ob"; oc: "cy.oc"; od: "cy.od"; oe: "cy.oe"; of: "cy.of"; og: "cy.og"; oh: "cy.oh"; oi: "cy.oi"; oj: "cy.oj"; ok: "cy.ok"; ol: "cy.ol"; om: "cy.om"; on: "cy.on"; oo: "cy.oo"; op: "cy.op"; oq: "cy.oq"; or: "cy.or"; os: "cy.os"; ot: "cy.ot"; ou: "cy.ou"; ov: "cy.ov"; ow: "cy.ow"; ox: "cy.ox"; oy: "cy.oy"; oz: "cy.oz"; pa: "cy.pa"; pb: "cy.pb"; pc: "cy.pc"; pd: "cy.pd"; pe: "cy.pe"; pf: "cy.pf"; pg: "cy.pg"; ph: "cy.ph"; pi: "cy.pi"; pj: "cy.pj"; pk: "cy.pk"; pl: "cy.pl"; pm: "cy.pm"; pn: "cy.pn"; po: "cy.po"; pp: "cy.pp"; pq: "cy.pq"; pr: "cy.pr"; ps: "cy.ps"; pt: "cy.pt"; pu: "cy.pu"; pv: "cy.pv"; pw: "cy.pw"; px: "cy.px"; py: "cy.py"; pz: "cy.pz"; qa: "cy.qa"; qb: "cy.qb"; qc: "cy.qc"; qd: "cy.qd"; qe: "cy.qe"; qf: "cy.qf"; qg: "cy.qg"; qh: "cy.qh"; qi: "cy.qi"; qj: "cy.qj"; qk: "cy.qk"; ql: "cy.ql"; qm: "cy.qm"; qn: "cy.qn"; qo: "cy.qo"; qp: "cy.qp"; qq: "cy.qq"; qr: "cy.qr"; qs: "cy.qs"; qt: "cy.qt"; qu: "cy.qu"; qv: "cy.qv"; qw: "cy.qw"; qx: "cy.qx"; qy: "cy.qy"; qz: "cy.qz"; ra: "cy.ra"; rb: "cy.rb"; rc: "cy.rc"; rd: "cy.rd"; re: "cy.re"; rf: "cy.rf"; rg: "cy.rg"; rh: "cy.rh"; ri: "cy.ri"; rj: "cy.rj"; rk: "cy.rk"; rl: "cy.rl"; rm: "cy.rm"; rn: "cy.rn"; ro: "cy.ro"; rp: "cy.rp"; rq: "cy.rq"; rr: "cy.rr"; rs: "cy.rs"; rt: "cy.rt"; ru: "cy.ru"; rv: "cy.rv"; rw: "cy.rw"; rx: "cy.rx"; ry: "cy.ry"; rz: "cy.rz"; sa: "cy.sa"; sb: "cy.sb"; sc: "cy.sc"; sd: "cy.sd"; se: "cy.se"; sf: "cy.sf"; sg: "cy.sg"; sh: "cy.sh"; si: "cy.si"; sj: "cy.sj"; sk: "cy.sk"; sl: "cy.sl"; sm: "cy.sm"; sn: "cy.sn"; so: "cy.so"; sp: "cy.sp"; sq: "cy.sq"; sr: "cy.sr"; ss: "cy.ss"; st: "cy.st"; su: "cy.su"; sv: "cy.sv"; sw: "cy.sw"; sx: "cy.sx"; sy: "cy.sy"; sz: "cy.sz"; ta: "cy.ta"; tb: "cy.tb"; tc: "cy.tc"; td: "cy.td"; te: "cy.te"; tf: "cy.tf"; tg: "cy.tg"; th: "cy.th"; ti: "cy.ti"; tj: "cy.tj"; tk: "cy.tk"; tl: "cy.tl"; tm: "cy.tm"; tn: "cy.tn"; to: "cy.to"; tp: "cy.tp"; tq: "cy.tq"; tr: "cy.tr"; ts: "cy.ts"; tt: "cy.tt"; tu: "cy.tu"; tv: "cy.tv"; tw: "cy.tw"; tx: "cy.tx"; ty: "cy.ty"; tz: "cy.tz"; ua: "cy.ua"; ub: "cy.ub"; uc: "cy.uc"; ud: "cy.ud"; ue: "cy.ue"; uf: "cy.uf"; ug: "cy.ug"; uh: "cy.uh"; ui: "cy.ui"; uj: "cy.uj"; uk: "cy.uk"; ul: "cy.ul"; um: "cy.um"; un: "cy.un"; uo: "cy.uo"; up: "cy.up"; uq: "cy.uq"; ur: "cy.ur"; us: "cy.us"; ut: "cy.ut"; uu: "cy.uu"; uv: "cy.uv"; uw: "cy.uw"; ux: "cy.ux"; uy: "cy.uy"; uz: "cy.uz"; va: "cy.va"; vb: "cy.vb"; vc: "cy.vc"; vd: "cy.vd"; ve: "cy.ve"; vf: "cy.vf"; vg: "cy.vg"; vh: "cy.vh"; vi: "cy.vi"; vj: "cy.vj"; vk: "cy.vk"; vl: "cy.vl"; vm: "cy.vm"; vn: "cy.vn"; vo: "cy.vo"; vp: "cy.vp"; vq: "cy.vq"; vr: "cy.vr"; vs: "cy.vs"; vt: "cy.vt"; vu: "cy.vu"; vv: "cy.vv"; vw: "cy.vw"; vx: "cy.vx"; vy: "cy.vy"; vz: "cy.vz"; wa: "cy.wa"; wb: "cy.wb"; wc: "cy.wc"; wd: "cy.wd"; we: "cy.we"; wf: "cy.wf"; wg: "cy.wg"; wh: "cy.wh"; wi: "cy.wi"; wj: "cy.wj"; wk: "cy.wk"; wl: "cy.wl"; wm: "cy.wm"; wn: "cy.wn"; wo: "cy.wo"; wp: "cy.wp"; wq: "cy.wq"; wr: "cy.wr"; ws: "cy.ws"; wt: "cy.wt"; wu: "cy.wu"; wv: "cy.wv"; ww: "cy.ww"; wx: "cy.wx"; wy: "cy.wy"; wz: "cy.wz"; xa: "cy.xa"; xb: "cy.xb"; xc: "cy.xc"; xd: "cy.xd"; xe: "cy.xe"; xf: "cy.xf"; xg: "cy.xg"; xh: "cy.xh"; xi: "cy.xi"; xj: "cy.xj"; xk: "cy.xk"; xl: "cy.xl"; xm: "cy.xm"; xn: "cy.xn"; xo: "cy.xo"; xp: "cy.xp"; xq: "cy.xq"; xr: "cy.xr"; xs: "cy.xs"; xt: "cy.xt"; xu: "cy.xu"; xv: "cy.xv"; xw: "cy.xw"; xx: "cy.xx"; xy: "cy.xy"; xz: "cy.xz"; ya: "cy.ya"; yb: "cy.yb"; yc: "cy.yc"; yd: "cy.yd"; ye: "cy.ye"; yf: "cy.yf"; yg: "cy.yg"; yh: "cy.yh"; yi: "cy.yi"; yj: "cy.yj"; yk: "cy.yk"; yl: "cy.yl"; ym: "cy.ym"; yn: "cy.yn"; yo: "cy.yo"; yp: "cy.yp"; yq: "cy.yq"; yr: "cy.yr"; ys: "cy.ys"; yt: "cy.yt"; yu: "cy.yu"; yv: "cy.yv"; yw: "cy.yw"; yx: "cy.yx"; yy: "cy.yy"; yz: "cy.yz"; za: "cy.za"; zb: "cy.zb"; zc: "cy.zc"; zd: "cy.zd"; ze: "cy.ze"; zf: "cy.zf"; zg: "cy.zg"; zh: "cy.zh"; zi: "cy.zi"; zj: "cy.zj"; zk: "cy.zk"; zl: "cy.zl"; zm: "cy.zm"; zn: "cy.zn"; zo: "cy.zo"; zp: "cy.zp"; zq: "cy.zq"; zr: "cy.zr"; zs: "cy.zs"; zt: "cy.zt"; zu: "cy.zu"; zv: "cy.zv"; zw: "cy.zw"; zx: "cy.zx"; zy: "cy.zy"; zz: "cy.zz"; }; cz: { aa: "cz.aa"; ab: "cz.ab"; ac: "cz.ac"; ad: "cz.ad"; ae: "cz.ae"; af: "cz.af"; ag: "cz.ag"; ah: "cz.ah"; ai: "cz.ai"; aj: "cz.aj"; ak: "cz.ak"; al: "cz.al"; am: "cz.am"; an: "cz.an"; ao: "cz.ao"; ap: "cz.ap"; aq: "cz.aq"; ar: "cz.ar"; as: "cz.as"; at: "cz.at"; au: "cz.au"; av: "cz.av"; aw: "cz.aw"; ax: "cz.ax"; ay: "cz.ay"; az: "cz.az"; ba: "cz.ba"; bb: "cz.bb"; bc: "cz.bc"; bd: "cz.bd"; be: "cz.be"; bf: "cz.bf"; bg: "cz.bg"; bh: "cz.bh"; bi: "cz.bi"; bj: "cz.bj"; bk: "cz.bk"; bl: "cz.bl"; bm: "cz.bm"; bn: "cz.bn"; bo: "cz.bo"; bp: "cz.bp"; bq: "cz.bq"; br: "cz.br"; bs: "cz.bs"; bt: "cz.bt"; bu: "cz.bu"; bv: "cz.bv"; bw: "cz.bw"; bx: "cz.bx"; by: "cz.by"; bz: "cz.bz"; ca: "cz.ca"; cb: "cz.cb"; cc: "cz.cc"; cd: "cz.cd"; ce: "cz.ce"; cf: "cz.cf"; cg: "cz.cg"; ch: "cz.ch"; ci: "cz.ci"; cj: "cz.cj"; ck: "cz.ck"; cl: "cz.cl"; cm: "cz.cm"; cn: "cz.cn"; co: "cz.co"; cp: "cz.cp"; cq: "cz.cq"; cr: "cz.cr"; cs: "cz.cs"; ct: "cz.ct"; cu: "cz.cu"; cv: "cz.cv"; cw: "cz.cw"; cx: "cz.cx"; cy: "cz.cy"; cz: "cz.cz"; da: "cz.da"; db: "cz.db"; dc: "cz.dc"; dd: "cz.dd"; de: "cz.de"; df: "cz.df"; dg: "cz.dg"; dh: "cz.dh"; di: "cz.di"; dj: "cz.dj"; dk: "cz.dk"; dl: "cz.dl"; dm: "cz.dm"; dn: "cz.dn"; do: "cz.do"; dp: "cz.dp"; dq: "cz.dq"; dr: "cz.dr"; ds: "cz.ds"; dt: "cz.dt"; du: "cz.du"; dv: "cz.dv"; dw: "cz.dw"; dx: "cz.dx"; dy: "cz.dy"; dz: "cz.dz"; ea: "cz.ea"; eb: "cz.eb"; ec: "cz.ec"; ed: "cz.ed"; ee: "cz.ee"; ef: "cz.ef"; eg: "cz.eg"; eh: "cz.eh"; ei: "cz.ei"; ej: "cz.ej"; ek: "cz.ek"; el: "cz.el"; em: "cz.em"; en: "cz.en"; eo: "cz.eo"; ep: "cz.ep"; eq: "cz.eq"; er: "cz.er"; es: "cz.es"; et: "cz.et"; eu: "cz.eu"; ev: "cz.ev"; ew: "cz.ew"; ex: "cz.ex"; ey: "cz.ey"; ez: "cz.ez"; fa: "cz.fa"; fb: "cz.fb"; fc: "cz.fc"; fd: "cz.fd"; fe: "cz.fe"; ff: "cz.ff"; fg: "cz.fg"; fh: "cz.fh"; fi: "cz.fi"; fj: "cz.fj"; fk: "cz.fk"; fl: "cz.fl"; fm: "cz.fm"; fn: "cz.fn"; fo: "cz.fo"; fp: "cz.fp"; fq: "cz.fq"; fr: "cz.fr"; fs: "cz.fs"; ft: "cz.ft"; fu: "cz.fu"; fv: "cz.fv"; fw: "cz.fw"; fx: "cz.fx"; fy: "cz.fy"; fz: "cz.fz"; ga: "cz.ga"; gb: "cz.gb"; gc: "cz.gc"; gd: "cz.gd"; ge: "cz.ge"; gf: "cz.gf"; gg: "cz.gg"; gh: "cz.gh"; gi: "cz.gi"; gj: "cz.gj"; gk: "cz.gk"; gl: "cz.gl"; gm: "cz.gm"; gn: "cz.gn"; go: "cz.go"; gp: "cz.gp"; gq: "cz.gq"; gr: "cz.gr"; gs: "cz.gs"; gt: "cz.gt"; gu: "cz.gu"; gv: "cz.gv"; gw: "cz.gw"; gx: "cz.gx"; gy: "cz.gy"; gz: "cz.gz"; ha: "cz.ha"; hb: "cz.hb"; hc: "cz.hc"; hd: "cz.hd"; he: "cz.he"; hf: "cz.hf"; hg: "cz.hg"; hh: "cz.hh"; hi: "cz.hi"; hj: "cz.hj"; hk: "cz.hk"; hl: "cz.hl"; hm: "cz.hm"; hn: "cz.hn"; ho: "cz.ho"; hp: "cz.hp"; hq: "cz.hq"; hr: "cz.hr"; hs: "cz.hs"; ht: "cz.ht"; hu: "cz.hu"; hv: "cz.hv"; hw: "cz.hw"; hx: "cz.hx"; hy: "cz.hy"; hz: "cz.hz"; ia: "cz.ia"; ib: "cz.ib"; ic: "cz.ic"; id: "cz.id"; ie: "cz.ie"; if: "cz.if"; ig: "cz.ig"; ih: "cz.ih"; ii: "cz.ii"; ij: "cz.ij"; ik: "cz.ik"; il: "cz.il"; im: "cz.im"; in: "cz.in"; io: "cz.io"; ip: "cz.ip"; iq: "cz.iq"; ir: "cz.ir"; is: "cz.is"; it: "cz.it"; iu: "cz.iu"; iv: "cz.iv"; iw: "cz.iw"; ix: "cz.ix"; iy: "cz.iy"; iz: "cz.iz"; ja: "cz.ja"; jb: "cz.jb"; jc: "cz.jc"; jd: "cz.jd"; je: "cz.je"; jf: "cz.jf"; jg: "cz.jg"; jh: "cz.jh"; ji: "cz.ji"; jj: "cz.jj"; jk: "cz.jk"; jl: "cz.jl"; jm: "cz.jm"; jn: "cz.jn"; jo: "cz.jo"; jp: "cz.jp"; jq: "cz.jq"; jr: "cz.jr"; js: "cz.js"; jt: "cz.jt"; ju: "cz.ju"; jv: "cz.jv"; jw: "cz.jw"; jx: "cz.jx"; jy: "cz.jy"; jz: "cz.jz"; ka: "cz.ka"; kb: "cz.kb"; kc: "cz.kc"; kd: "cz.kd"; ke: "cz.ke"; kf: "cz.kf"; kg: "cz.kg"; kh: "cz.kh"; ki: "cz.ki"; kj: "cz.kj"; kk: "cz.kk"; kl: "cz.kl"; km: "cz.km"; kn: "cz.kn"; ko: "cz.ko"; kp: "cz.kp"; kq: "cz.kq"; kr: "cz.kr"; ks: "cz.ks"; kt: "cz.kt"; ku: "cz.ku"; kv: "cz.kv"; kw: "cz.kw"; kx: "cz.kx"; ky: "cz.ky"; kz: "cz.kz"; la: "cz.la"; lb: "cz.lb"; lc: "cz.lc"; ld: "cz.ld"; le: "cz.le"; lf: "cz.lf"; lg: "cz.lg"; lh: "cz.lh"; li: "cz.li"; lj: "cz.lj"; lk: "cz.lk"; ll: "cz.ll"; lm: "cz.lm"; ln: "cz.ln"; lo: "cz.lo"; lp: "cz.lp"; lq: "cz.lq"; lr: "cz.lr"; ls: "cz.ls"; lt: "cz.lt"; lu: "cz.lu"; lv: "cz.lv"; lw: "cz.lw"; lx: "cz.lx"; ly: "cz.ly"; lz: "cz.lz"; ma: "cz.ma"; mb: "cz.mb"; mc: "cz.mc"; md: "cz.md"; me: "cz.me"; mf: "cz.mf"; mg: "cz.mg"; mh: "cz.mh"; mi: "cz.mi"; mj: "cz.mj"; mk: "cz.mk"; ml: "cz.ml"; mm: "cz.mm"; mn: "cz.mn"; mo: "cz.mo"; mp: "cz.mp"; mq: "cz.mq"; mr: "cz.mr"; ms: "cz.ms"; mt: "cz.mt"; mu: "cz.mu"; mv: "cz.mv"; mw: "cz.mw"; mx: "cz.mx"; my: "cz.my"; mz: "cz.mz"; na: "cz.na"; nb: "cz.nb"; nc: "cz.nc"; nd: "cz.nd"; ne: "cz.ne"; nf: "cz.nf"; ng: "cz.ng"; nh: "cz.nh"; ni: "cz.ni"; nj: "cz.nj"; nk: "cz.nk"; nl: "cz.nl"; nm: "cz.nm"; nn: "cz.nn"; no: "cz.no"; np: "cz.np"; nq: "cz.nq"; nr: "cz.nr"; ns: "cz.ns"; nt: "cz.nt"; nu: "cz.nu"; nv: "cz.nv"; nw: "cz.nw"; nx: "cz.nx"; ny: "cz.ny"; nz: "cz.nz"; oa: "cz.oa"; ob: "cz.ob"; oc: "cz.oc"; od: "cz.od"; oe: "cz.oe"; of: "cz.of"; og: "cz.og"; oh: "cz.oh"; oi: "cz.oi"; oj: "cz.oj"; ok: "cz.ok"; ol: "cz.ol"; om: "cz.om"; on: "cz.on"; oo: "cz.oo"; op: "cz.op"; oq: "cz.oq"; or: "cz.or"; os: "cz.os"; ot: "cz.ot"; ou: "cz.ou"; ov: "cz.ov"; ow: "cz.ow"; ox: "cz.ox"; oy: "cz.oy"; oz: "cz.oz"; pa: "cz.pa"; pb: "cz.pb"; pc: "cz.pc"; pd: "cz.pd"; pe: "cz.pe"; pf: "cz.pf"; pg: "cz.pg"; ph: "cz.ph"; pi: "cz.pi"; pj: "cz.pj"; pk: "cz.pk"; pl: "cz.pl"; pm: "cz.pm"; pn: "cz.pn"; po: "cz.po"; pp: "cz.pp"; pq: "cz.pq"; pr: "cz.pr"; ps: "cz.ps"; pt: "cz.pt"; pu: "cz.pu"; pv: "cz.pv"; pw: "cz.pw"; px: "cz.px"; py: "cz.py"; pz: "cz.pz"; qa: "cz.qa"; qb: "cz.qb"; qc: "cz.qc"; qd: "cz.qd"; qe: "cz.qe"; qf: "cz.qf"; qg: "cz.qg"; qh: "cz.qh"; qi: "cz.qi"; qj: "cz.qj"; qk: "cz.qk"; ql: "cz.ql"; qm: "cz.qm"; qn: "cz.qn"; qo: "cz.qo"; qp: "cz.qp"; qq: "cz.qq"; qr: "cz.qr"; qs: "cz.qs"; qt: "cz.qt"; qu: "cz.qu"; qv: "cz.qv"; qw: "cz.qw"; qx: "cz.qx"; qy: "cz.qy"; qz: "cz.qz"; ra: "cz.ra"; rb: "cz.rb"; rc: "cz.rc"; rd: "cz.rd"; re: "cz.re"; rf: "cz.rf"; rg: "cz.rg"; rh: "cz.rh"; ri: "cz.ri"; rj: "cz.rj"; rk: "cz.rk"; rl: "cz.rl"; rm: "cz.rm"; rn: "cz.rn"; ro: "cz.ro"; rp: "cz.rp"; rq: "cz.rq"; rr: "cz.rr"; rs: "cz.rs"; rt: "cz.rt"; ru: "cz.ru"; rv: "cz.rv"; rw: "cz.rw"; rx: "cz.rx"; ry: "cz.ry"; rz: "cz.rz"; sa: "cz.sa"; sb: "cz.sb"; sc: "cz.sc"; sd: "cz.sd"; se: "cz.se"; sf: "cz.sf"; sg: "cz.sg"; sh: "cz.sh"; si: "cz.si"; sj: "cz.sj"; sk: "cz.sk"; sl: "cz.sl"; sm: "cz.sm"; sn: "cz.sn"; so: "cz.so"; sp: "cz.sp"; sq: "cz.sq"; sr: "cz.sr"; ss: "cz.ss"; st: "cz.st"; su: "cz.su"; sv: "cz.sv"; sw: "cz.sw"; sx: "cz.sx"; sy: "cz.sy"; sz: "cz.sz"; ta: "cz.ta"; tb: "cz.tb"; tc: "cz.tc"; td: "cz.td"; te: "cz.te"; tf: "cz.tf"; tg: "cz.tg"; th: "cz.th"; ti: "cz.ti"; tj: "cz.tj"; tk: "cz.tk"; tl: "cz.tl"; tm: "cz.tm"; tn: "cz.tn"; to: "cz.to"; tp: "cz.tp"; tq: "cz.tq"; tr: "cz.tr"; ts: "cz.ts"; tt: "cz.tt"; tu: "cz.tu"; tv: "cz.tv"; tw: "cz.tw"; tx: "cz.tx"; ty: "cz.ty"; tz: "cz.tz"; ua: "cz.ua"; ub: "cz.ub"; uc: "cz.uc"; ud: "cz.ud"; ue: "cz.ue"; uf: "cz.uf"; ug: "cz.ug"; uh: "cz.uh"; ui: "cz.ui"; uj: "cz.uj"; uk: "cz.uk"; ul: "cz.ul"; um: "cz.um"; un: "cz.un"; uo: "cz.uo"; up: "cz.up"; uq: "cz.uq"; ur: "cz.ur"; us: "cz.us"; ut: "cz.ut"; uu: "cz.uu"; uv: "cz.uv"; uw: "cz.uw"; ux: "cz.ux"; uy: "cz.uy"; uz: "cz.uz"; va: "cz.va"; vb: "cz.vb"; vc: "cz.vc"; vd: "cz.vd"; ve: "cz.ve"; vf: "cz.vf"; vg: "cz.vg"; vh: "cz.vh"; vi: "cz.vi"; vj: "cz.vj"; vk: "cz.vk"; vl: "cz.vl"; vm: "cz.vm"; vn: "cz.vn"; vo: "cz.vo"; vp: "cz.vp"; vq: "cz.vq"; vr: "cz.vr"; vs: "cz.vs"; vt: "cz.vt"; vu: "cz.vu"; vv: "cz.vv"; vw: "cz.vw"; vx: "cz.vx"; vy: "cz.vy"; vz: "cz.vz"; wa: "cz.wa"; wb: "cz.wb"; wc: "cz.wc"; wd: "cz.wd"; we: "cz.we"; wf: "cz.wf"; wg: "cz.wg"; wh: "cz.wh"; wi: "cz.wi"; wj: "cz.wj"; wk: "cz.wk"; wl: "cz.wl"; wm: "cz.wm"; wn: "cz.wn"; wo: "cz.wo"; wp: "cz.wp"; wq: "cz.wq"; wr: "cz.wr"; ws: "cz.ws"; wt: "cz.wt"; wu: "cz.wu"; wv: "cz.wv"; ww: "cz.ww"; wx: "cz.wx"; wy: "cz.wy"; wz: "cz.wz"; xa: "cz.xa"; xb: "cz.xb"; xc: "cz.xc"; xd: "cz.xd"; xe: "cz.xe"; xf: "cz.xf"; xg: "cz.xg"; xh: "cz.xh"; xi: "cz.xi"; xj: "cz.xj"; xk: "cz.xk"; xl: "cz.xl"; xm: "cz.xm"; xn: "cz.xn"; xo: "cz.xo"; xp: "cz.xp"; xq: "cz.xq"; xr: "cz.xr"; xs: "cz.xs"; xt: "cz.xt"; xu: "cz.xu"; xv: "cz.xv"; xw: "cz.xw"; xx: "cz.xx"; xy: "cz.xy"; xz: "cz.xz"; ya: "cz.ya"; yb: "cz.yb"; yc: "cz.yc"; yd: "cz.yd"; ye: "cz.ye"; yf: "cz.yf"; yg: "cz.yg"; yh: "cz.yh"; yi: "cz.yi"; yj: "cz.yj"; yk: "cz.yk"; yl: "cz.yl"; ym: "cz.ym"; yn: "cz.yn"; yo: "cz.yo"; yp: "cz.yp"; yq: "cz.yq"; yr: "cz.yr"; ys: "cz.ys"; yt: "cz.yt"; yu: "cz.yu"; yv: "cz.yv"; yw: "cz.yw"; yx: "cz.yx"; yy: "cz.yy"; yz: "cz.yz"; za: "cz.za"; zb: "cz.zb"; zc: "cz.zc"; zd: "cz.zd"; ze: "cz.ze"; zf: "cz.zf"; zg: "cz.zg"; zh: "cz.zh"; zi: "cz.zi"; zj: "cz.zj"; zk: "cz.zk"; zl: "cz.zl"; zm: "cz.zm"; zn: "cz.zn"; zo: "cz.zo"; zp: "cz.zp"; zq: "cz.zq"; zr: "cz.zr"; zs: "cz.zs"; zt: "cz.zt"; zu: "cz.zu"; zv: "cz.zv"; zw: "cz.zw"; zx: "cz.zx"; zy: "cz.zy"; zz: "cz.zz"; }; da: { aa: "da.aa"; ab: "da.ab"; ac: "da.ac"; ad: "da.ad"; ae: "da.ae"; af: "da.af"; ag: "da.ag"; ah: "da.ah"; ai: "da.ai"; aj: "da.aj"; ak: "da.ak"; al: "da.al"; am: "da.am"; an: "da.an"; ao: "da.ao"; ap: "da.ap"; aq: "da.aq"; ar: "da.ar"; as: "da.as"; at: "da.at"; au: "da.au"; av: "da.av"; aw: "da.aw"; ax: "da.ax"; ay: "da.ay"; az: "da.az"; ba: "da.ba"; bb: "da.bb"; bc: "da.bc"; bd: "da.bd"; be: "da.be"; bf: "da.bf"; bg: "da.bg"; bh: "da.bh"; bi: "da.bi"; bj: "da.bj"; bk: "da.bk"; bl: "da.bl"; bm: "da.bm"; bn: "da.bn"; bo: "da.bo"; bp: "da.bp"; bq: "da.bq"; br: "da.br"; bs: "da.bs"; bt: "da.bt"; bu: "da.bu"; bv: "da.bv"; bw: "da.bw"; bx: "da.bx"; by: "da.by"; bz: "da.bz"; ca: "da.ca"; cb: "da.cb"; cc: "da.cc"; cd: "da.cd"; ce: "da.ce"; cf: "da.cf"; cg: "da.cg"; ch: "da.ch"; ci: "da.ci"; cj: "da.cj"; ck: "da.ck"; cl: "da.cl"; cm: "da.cm"; cn: "da.cn"; co: "da.co"; cp: "da.cp"; cq: "da.cq"; cr: "da.cr"; cs: "da.cs"; ct: "da.ct"; cu: "da.cu"; cv: "da.cv"; cw: "da.cw"; cx: "da.cx"; cy: "da.cy"; cz: "da.cz"; da: "da.da"; db: "da.db"; dc: "da.dc"; dd: "da.dd"; de: "da.de"; df: "da.df"; dg: "da.dg"; dh: "da.dh"; di: "da.di"; dj: "da.dj"; dk: "da.dk"; dl: "da.dl"; dm: "da.dm"; dn: "da.dn"; do: "da.do"; dp: "da.dp"; dq: "da.dq"; dr: "da.dr"; ds: "da.ds"; dt: "da.dt"; du: "da.du"; dv: "da.dv"; dw: "da.dw"; dx: "da.dx"; dy: "da.dy"; dz: "da.dz"; ea: "da.ea"; eb: "da.eb"; ec: "da.ec"; ed: "da.ed"; ee: "da.ee"; ef: "da.ef"; eg: "da.eg"; eh: "da.eh"; ei: "da.ei"; ej: "da.ej"; ek: "da.ek"; el: "da.el"; em: "da.em"; en: "da.en"; eo: "da.eo"; ep: "da.ep"; eq: "da.eq"; er: "da.er"; es: "da.es"; et: "da.et"; eu: "da.eu"; ev: "da.ev"; ew: "da.ew"; ex: "da.ex"; ey: "da.ey"; ez: "da.ez"; fa: "da.fa"; fb: "da.fb"; fc: "da.fc"; fd: "da.fd"; fe: "da.fe"; ff: "da.ff"; fg: "da.fg"; fh: "da.fh"; fi: "da.fi"; fj: "da.fj"; fk: "da.fk"; fl: "da.fl"; fm: "da.fm"; fn: "da.fn"; fo: "da.fo"; fp: "da.fp"; fq: "da.fq"; fr: "da.fr"; fs: "da.fs"; ft: "da.ft"; fu: "da.fu"; fv: "da.fv"; fw: "da.fw"; fx: "da.fx"; fy: "da.fy"; fz: "da.fz"; ga: "da.ga"; gb: "da.gb"; gc: "da.gc"; gd: "da.gd"; ge: "da.ge"; gf: "da.gf"; gg: "da.gg"; gh: "da.gh"; gi: "da.gi"; gj: "da.gj"; gk: "da.gk"; gl: "da.gl"; gm: "da.gm"; gn: "da.gn"; go: "da.go"; gp: "da.gp"; gq: "da.gq"; gr: "da.gr"; gs: "da.gs"; gt: "da.gt"; gu: "da.gu"; gv: "da.gv"; gw: "da.gw"; gx: "da.gx"; gy: "da.gy"; gz: "da.gz"; ha: "da.ha"; hb: "da.hb"; hc: "da.hc"; hd: "da.hd"; he: "da.he"; hf: "da.hf"; hg: "da.hg"; hh: "da.hh"; hi: "da.hi"; hj: "da.hj"; hk: "da.hk"; hl: "da.hl"; hm: "da.hm"; hn: "da.hn"; ho: "da.ho"; hp: "da.hp"; hq: "da.hq"; hr: "da.hr"; hs: "da.hs"; ht: "da.ht"; hu: "da.hu"; hv: "da.hv"; hw: "da.hw"; hx: "da.hx"; hy: "da.hy"; hz: "da.hz"; ia: "da.ia"; ib: "da.ib"; ic: "da.ic"; id: "da.id"; ie: "da.ie"; if: "da.if"; ig: "da.ig"; ih: "da.ih"; ii: "da.ii"; ij: "da.ij"; ik: "da.ik"; il: "da.il"; im: "da.im"; in: "da.in"; io: "da.io"; ip: "da.ip"; iq: "da.iq"; ir: "da.ir"; is: "da.is"; it: "da.it"; iu: "da.iu"; iv: "da.iv"; iw: "da.iw"; ix: "da.ix"; iy: "da.iy"; iz: "da.iz"; ja: "da.ja"; jb: "da.jb"; jc: "da.jc"; jd: "da.jd"; je: "da.je"; jf: "da.jf"; jg: "da.jg"; jh: "da.jh"; ji: "da.ji"; jj: "da.jj"; jk: "da.jk"; jl: "da.jl"; jm: "da.jm"; jn: "da.jn"; jo: "da.jo"; jp: "da.jp"; jq: "da.jq"; jr: "da.jr"; js: "da.js"; jt: "da.jt"; ju: "da.ju"; jv: "da.jv"; jw: "da.jw"; jx: "da.jx"; jy: "da.jy"; jz: "da.jz"; ka: "da.ka"; kb: "da.kb"; kc: "da.kc"; kd: "da.kd"; ke: "da.ke"; kf: "da.kf"; kg: "da.kg"; kh: "da.kh"; ki: "da.ki"; kj: "da.kj"; kk: "da.kk"; kl: "da.kl"; km: "da.km"; kn: "da.kn"; ko: "da.ko"; kp: "da.kp"; kq: "da.kq"; kr: "da.kr"; ks: "da.ks"; kt: "da.kt"; ku: "da.ku"; kv: "da.kv"; kw: "da.kw"; kx: "da.kx"; ky: "da.ky"; kz: "da.kz"; la: "da.la"; lb: "da.lb"; lc: "da.lc"; ld: "da.ld"; le: "da.le"; lf: "da.lf"; lg: "da.lg"; lh: "da.lh"; li: "da.li"; lj: "da.lj"; lk: "da.lk"; ll: "da.ll"; lm: "da.lm"; ln: "da.ln"; lo: "da.lo"; lp: "da.lp"; lq: "da.lq"; lr: "da.lr"; ls: "da.ls"; lt: "da.lt"; lu: "da.lu"; lv: "da.lv"; lw: "da.lw"; lx: "da.lx"; ly: "da.ly"; lz: "da.lz"; ma: "da.ma"; mb: "da.mb"; mc: "da.mc"; md: "da.md"; me: "da.me"; mf: "da.mf"; mg: "da.mg"; mh: "da.mh"; mi: "da.mi"; mj: "da.mj"; mk: "da.mk"; ml: "da.ml"; mm: "da.mm"; mn: "da.mn"; mo: "da.mo"; mp: "da.mp"; mq: "da.mq"; mr: "da.mr"; ms: "da.ms"; mt: "da.mt"; mu: "da.mu"; mv: "da.mv"; mw: "da.mw"; mx: "da.mx"; my: "da.my"; mz: "da.mz"; na: "da.na"; nb: "da.nb"; nc: "da.nc"; nd: "da.nd"; ne: "da.ne"; nf: "da.nf"; ng: "da.ng"; nh: "da.nh"; ni: "da.ni"; nj: "da.nj"; nk: "da.nk"; nl: "da.nl"; nm: "da.nm"; nn: "da.nn"; no: "da.no"; np: "da.np"; nq: "da.nq"; nr: "da.nr"; ns: "da.ns"; nt: "da.nt"; nu: "da.nu"; nv: "da.nv"; nw: "da.nw"; nx: "da.nx"; ny: "da.ny"; nz: "da.nz"; oa: "da.oa"; ob: "da.ob"; oc: "da.oc"; od: "da.od"; oe: "da.oe"; of: "da.of"; og: "da.og"; oh: "da.oh"; oi: "da.oi"; oj: "da.oj"; ok: "da.ok"; ol: "da.ol"; om: "da.om"; on: "da.on"; oo: "da.oo"; op: "da.op"; oq: "da.oq"; or: "da.or"; os: "da.os"; ot: "da.ot"; ou: "da.ou"; ov: "da.ov"; ow: "da.ow"; ox: "da.ox"; oy: "da.oy"; oz: "da.oz"; pa: "da.pa"; pb: "da.pb"; pc: "da.pc"; pd: "da.pd"; pe: "da.pe"; pf: "da.pf"; pg: "da.pg"; ph: "da.ph"; pi: "da.pi"; pj: "da.pj"; pk: "da.pk"; pl: "da.pl"; pm: "da.pm"; pn: "da.pn"; po: "da.po"; pp: "da.pp"; pq: "da.pq"; pr: "da.pr"; ps: "da.ps"; pt: "da.pt"; pu: "da.pu"; pv: "da.pv"; pw: "da.pw"; px: "da.px"; py: "da.py"; pz: "da.pz"; qa: "da.qa"; qb: "da.qb"; qc: "da.qc"; qd: "da.qd"; qe: "da.qe"; qf: "da.qf"; qg: "da.qg"; qh: "da.qh"; qi: "da.qi"; qj: "da.qj"; qk: "da.qk"; ql: "da.ql"; qm: "da.qm"; qn: "da.qn"; qo: "da.qo"; qp: "da.qp"; qq: "da.qq"; qr: "da.qr"; qs: "da.qs"; qt: "da.qt"; qu: "da.qu"; qv: "da.qv"; qw: "da.qw"; qx: "da.qx"; qy: "da.qy"; qz: "da.qz"; ra: "da.ra"; rb: "da.rb"; rc: "da.rc"; rd: "da.rd"; re: "da.re"; rf: "da.rf"; rg: "da.rg"; rh: "da.rh"; ri: "da.ri"; rj: "da.rj"; rk: "da.rk"; rl: "da.rl"; rm: "da.rm"; rn: "da.rn"; ro: "da.ro"; rp: "da.rp"; rq: "da.rq"; rr: "da.rr"; rs: "da.rs"; rt: "da.rt"; ru: "da.ru"; rv: "da.rv"; rw: "da.rw"; rx: "da.rx"; ry: "da.ry"; rz: "da.rz"; sa: "da.sa"; sb: "da.sb"; sc: "da.sc"; sd: "da.sd"; se: "da.se"; sf: "da.sf"; sg: "da.sg"; sh: "da.sh"; si: "da.si"; sj: "da.sj"; sk: "da.sk"; sl: "da.sl"; sm: "da.sm"; sn: "da.sn"; so: "da.so"; sp: "da.sp"; sq: "da.sq"; sr: "da.sr"; ss: "da.ss"; st: "da.st"; su: "da.su"; sv: "da.sv"; sw: "da.sw"; sx: "da.sx"; sy: "da.sy"; sz: "da.sz"; ta: "da.ta"; tb: "da.tb"; tc: "da.tc"; td: "da.td"; te: "da.te"; tf: "da.tf"; tg: "da.tg"; th: "da.th"; ti: "da.ti"; tj: "da.tj"; tk: "da.tk"; tl: "da.tl"; tm: "da.tm"; tn: "da.tn"; to: "da.to"; tp: "da.tp"; tq: "da.tq"; tr: "da.tr"; ts: "da.ts"; tt: "da.tt"; tu: "da.tu"; tv: "da.tv"; tw: "da.tw"; tx: "da.tx"; ty: "da.ty"; tz: "da.tz"; ua: "da.ua"; ub: "da.ub"; uc: "da.uc"; ud: "da.ud"; ue: "da.ue"; uf: "da.uf"; ug: "da.ug"; uh: "da.uh"; ui: "da.ui"; uj: "da.uj"; uk: "da.uk"; ul: "da.ul"; um: "da.um"; un: "da.un"; uo: "da.uo"; up: "da.up"; uq: "da.uq"; ur: "da.ur"; us: "da.us"; ut: "da.ut"; uu: "da.uu"; uv: "da.uv"; uw: "da.uw"; ux: "da.ux"; uy: "da.uy"; uz: "da.uz"; va: "da.va"; vb: "da.vb"; vc: "da.vc"; vd: "da.vd"; ve: "da.ve"; vf: "da.vf"; vg: "da.vg"; vh: "da.vh"; vi: "da.vi"; vj: "da.vj"; vk: "da.vk"; vl: "da.vl"; vm: "da.vm"; vn: "da.vn"; vo: "da.vo"; vp: "da.vp"; vq: "da.vq"; vr: "da.vr"; vs: "da.vs"; vt: "da.vt"; vu: "da.vu"; vv: "da.vv"; vw: "da.vw"; vx: "da.vx"; vy: "da.vy"; vz: "da.vz"; wa: "da.wa"; wb: "da.wb"; wc: "da.wc"; wd: "da.wd"; we: "da.we"; wf: "da.wf"; wg: "da.wg"; wh: "da.wh"; wi: "da.wi"; wj: "da.wj"; wk: "da.wk"; wl: "da.wl"; wm: "da.wm"; wn: "da.wn"; wo: "da.wo"; wp: "da.wp"; wq: "da.wq"; wr: "da.wr"; ws: "da.ws"; wt: "da.wt"; wu: "da.wu"; wv: "da.wv"; ww: "da.ww"; wx: "da.wx"; wy: "da.wy"; wz: "da.wz"; xa: "da.xa"; xb: "da.xb"; xc: "da.xc"; xd: "da.xd"; xe: "da.xe"; xf: "da.xf"; xg: "da.xg"; xh: "da.xh"; xi: "da.xi"; xj: "da.xj"; xk: "da.xk"; xl: "da.xl"; xm: "da.xm"; xn: "da.xn"; xo: "da.xo"; xp: "da.xp"; xq: "da.xq"; xr: "da.xr"; xs: "da.xs"; xt: "da.xt"; xu: "da.xu"; xv: "da.xv"; xw: "da.xw"; xx: "da.xx"; xy: "da.xy"; xz: "da.xz"; ya: "da.ya"; yb: "da.yb"; yc: "da.yc"; yd: "da.yd"; ye: "da.ye"; yf: "da.yf"; yg: "da.yg"; yh: "da.yh"; yi: "da.yi"; yj: "da.yj"; yk: "da.yk"; yl: "da.yl"; ym: "da.ym"; yn: "da.yn"; yo: "da.yo"; yp: "da.yp"; yq: "da.yq"; yr: "da.yr"; ys: "da.ys"; yt: "da.yt"; yu: "da.yu"; yv: "da.yv"; yw: "da.yw"; yx: "da.yx"; yy: "da.yy"; yz: "da.yz"; za: "da.za"; zb: "da.zb"; zc: "da.zc"; zd: "da.zd"; ze: "da.ze"; zf: "da.zf"; zg: "da.zg"; zh: "da.zh"; zi: "da.zi"; zj: "da.zj"; zk: "da.zk"; zl: "da.zl"; zm: "da.zm"; zn: "da.zn"; zo: "da.zo"; zp: "da.zp"; zq: "da.zq"; zr: "da.zr"; zs: "da.zs"; zt: "da.zt"; zu: "da.zu"; zv: "da.zv"; zw: "da.zw"; zx: "da.zx"; zy: "da.zy"; zz: "da.zz"; }; db: { aa: "db.aa"; ab: "db.ab"; ac: "db.ac"; ad: "db.ad"; ae: "db.ae"; af: "db.af"; ag: "db.ag"; ah: "db.ah"; ai: "db.ai"; aj: "db.aj"; ak: "db.ak"; al: "db.al"; am: "db.am"; an: "db.an"; ao: "db.ao"; ap: "db.ap"; aq: "db.aq"; ar: "db.ar"; as: "db.as"; at: "db.at"; au: "db.au"; av: "db.av"; aw: "db.aw"; ax: "db.ax"; ay: "db.ay"; az: "db.az"; ba: "db.ba"; bb: "db.bb"; bc: "db.bc"; bd: "db.bd"; be: "db.be"; bf: "db.bf"; bg: "db.bg"; bh: "db.bh"; bi: "db.bi"; bj: "db.bj"; bk: "db.bk"; bl: "db.bl"; bm: "db.bm"; bn: "db.bn"; bo: "db.bo"; bp: "db.bp"; bq: "db.bq"; br: "db.br"; bs: "db.bs"; bt: "db.bt"; bu: "db.bu"; bv: "db.bv"; bw: "db.bw"; bx: "db.bx"; by: "db.by"; bz: "db.bz"; ca: "db.ca"; cb: "db.cb"; cc: "db.cc"; cd: "db.cd"; ce: "db.ce"; cf: "db.cf"; cg: "db.cg"; ch: "db.ch"; ci: "db.ci"; cj: "db.cj"; ck: "db.ck"; cl: "db.cl"; cm: "db.cm"; cn: "db.cn"; co: "db.co"; cp: "db.cp"; cq: "db.cq"; cr: "db.cr"; cs: "db.cs"; ct: "db.ct"; cu: "db.cu"; cv: "db.cv"; cw: "db.cw"; cx: "db.cx"; cy: "db.cy"; cz: "db.cz"; da: "db.da"; db: "db.db"; dc: "db.dc"; dd: "db.dd"; de: "db.de"; df: "db.df"; dg: "db.dg"; dh: "db.dh"; di: "db.di"; dj: "db.dj"; dk: "db.dk"; dl: "db.dl"; dm: "db.dm"; dn: "db.dn"; do: "db.do"; dp: "db.dp"; dq: "db.dq"; dr: "db.dr"; ds: "db.ds"; dt: "db.dt"; du: "db.du"; dv: "db.dv"; dw: "db.dw"; dx: "db.dx"; dy: "db.dy"; dz: "db.dz"; ea: "db.ea"; eb: "db.eb"; ec: "db.ec"; ed: "db.ed"; ee: "db.ee"; ef: "db.ef"; eg: "db.eg"; eh: "db.eh"; ei: "db.ei"; ej: "db.ej"; ek: "db.ek"; el: "db.el"; em: "db.em"; en: "db.en"; eo: "db.eo"; ep: "db.ep"; eq: "db.eq"; er: "db.er"; es: "db.es"; et: "db.et"; eu: "db.eu"; ev: "db.ev"; ew: "db.ew"; ex: "db.ex"; ey: "db.ey"; ez: "db.ez"; fa: "db.fa"; fb: "db.fb"; fc: "db.fc"; fd: "db.fd"; fe: "db.fe"; ff: "db.ff"; fg: "db.fg"; fh: "db.fh"; fi: "db.fi"; fj: "db.fj"; fk: "db.fk"; fl: "db.fl"; fm: "db.fm"; fn: "db.fn"; fo: "db.fo"; fp: "db.fp"; fq: "db.fq"; fr: "db.fr"; fs: "db.fs"; ft: "db.ft"; fu: "db.fu"; fv: "db.fv"; fw: "db.fw"; fx: "db.fx"; fy: "db.fy"; fz: "db.fz"; ga: "db.ga"; gb: "db.gb"; gc: "db.gc"; gd: "db.gd"; ge: "db.ge"; gf: "db.gf"; gg: "db.gg"; gh: "db.gh"; gi: "db.gi"; gj: "db.gj"; gk: "db.gk"; gl: "db.gl"; gm: "db.gm"; gn: "db.gn"; go: "db.go"; gp: "db.gp"; gq: "db.gq"; gr: "db.gr"; gs: "db.gs"; gt: "db.gt"; gu: "db.gu"; gv: "db.gv"; gw: "db.gw"; gx: "db.gx"; gy: "db.gy"; gz: "db.gz"; ha: "db.ha"; hb: "db.hb"; hc: "db.hc"; hd: "db.hd"; he: "db.he"; hf: "db.hf"; hg: "db.hg"; hh: "db.hh"; hi: "db.hi"; hj: "db.hj"; hk: "db.hk"; hl: "db.hl"; hm: "db.hm"; hn: "db.hn"; ho: "db.ho"; hp: "db.hp"; hq: "db.hq"; hr: "db.hr"; hs: "db.hs"; ht: "db.ht"; hu: "db.hu"; hv: "db.hv"; hw: "db.hw"; hx: "db.hx"; hy: "db.hy"; hz: "db.hz"; ia: "db.ia"; ib: "db.ib"; ic: "db.ic"; id: "db.id"; ie: "db.ie"; if: "db.if"; ig: "db.ig"; ih: "db.ih"; ii: "db.ii"; ij: "db.ij"; ik: "db.ik"; il: "db.il"; im: "db.im"; in: "db.in"; io: "db.io"; ip: "db.ip"; iq: "db.iq"; ir: "db.ir"; is: "db.is"; it: "db.it"; iu: "db.iu"; iv: "db.iv"; iw: "db.iw"; ix: "db.ix"; iy: "db.iy"; iz: "db.iz"; ja: "db.ja"; jb: "db.jb"; jc: "db.jc"; jd: "db.jd"; je: "db.je"; jf: "db.jf"; jg: "db.jg"; jh: "db.jh"; ji: "db.ji"; jj: "db.jj"; jk: "db.jk"; jl: "db.jl"; jm: "db.jm"; jn: "db.jn"; jo: "db.jo"; jp: "db.jp"; jq: "db.jq"; jr: "db.jr"; js: "db.js"; jt: "db.jt"; ju: "db.ju"; jv: "db.jv"; jw: "db.jw"; jx: "db.jx"; jy: "db.jy"; jz: "db.jz"; ka: "db.ka"; kb: "db.kb"; kc: "db.kc"; kd: "db.kd"; ke: "db.ke"; kf: "db.kf"; kg: "db.kg"; kh: "db.kh"; ki: "db.ki"; kj: "db.kj"; kk: "db.kk"; kl: "db.kl"; km: "db.km"; kn: "db.kn"; ko: "db.ko"; kp: "db.kp"; kq: "db.kq"; kr: "db.kr"; ks: "db.ks"; kt: "db.kt"; ku: "db.ku"; kv: "db.kv"; kw: "db.kw"; kx: "db.kx"; ky: "db.ky"; kz: "db.kz"; la: "db.la"; lb: "db.lb"; lc: "db.lc"; ld: "db.ld"; le: "db.le"; lf: "db.lf"; lg: "db.lg"; lh: "db.lh"; li: "db.li"; lj: "db.lj"; lk: "db.lk"; ll: "db.ll"; lm: "db.lm"; ln: "db.ln"; lo: "db.lo"; lp: "db.lp"; lq: "db.lq"; lr: "db.lr"; ls: "db.ls"; lt: "db.lt"; lu: "db.lu"; lv: "db.lv"; lw: "db.lw"; lx: "db.lx"; ly: "db.ly"; lz: "db.lz"; ma: "db.ma"; mb: "db.mb"; mc: "db.mc"; md: "db.md"; me: "db.me"; mf: "db.mf"; mg: "db.mg"; mh: "db.mh"; mi: "db.mi"; mj: "db.mj"; mk: "db.mk"; ml: "db.ml"; mm: "db.mm"; mn: "db.mn"; mo: "db.mo"; mp: "db.mp"; mq: "db.mq"; mr: "db.mr"; ms: "db.ms"; mt: "db.mt"; mu: "db.mu"; mv: "db.mv"; mw: "db.mw"; mx: "db.mx"; my: "db.my"; mz: "db.mz"; na: "db.na"; nb: "db.nb"; nc: "db.nc"; nd: "db.nd"; ne: "db.ne"; nf: "db.nf"; ng: "db.ng"; nh: "db.nh"; ni: "db.ni"; nj: "db.nj"; nk: "db.nk"; nl: "db.nl"; nm: "db.nm"; nn: "db.nn"; no: "db.no"; np: "db.np"; nq: "db.nq"; nr: "db.nr"; ns: "db.ns"; nt: "db.nt"; nu: "db.nu"; nv: "db.nv"; nw: "db.nw"; nx: "db.nx"; ny: "db.ny"; nz: "db.nz"; oa: "db.oa"; ob: "db.ob"; oc: "db.oc"; od: "db.od"; oe: "db.oe"; of: "db.of"; og: "db.og"; oh: "db.oh"; oi: "db.oi"; oj: "db.oj"; ok: "db.ok"; ol: "db.ol"; om: "db.om"; on: "db.on"; oo: "db.oo"; op: "db.op"; oq: "db.oq"; or: "db.or"; os: "db.os"; ot: "db.ot"; ou: "db.ou"; ov: "db.ov"; ow: "db.ow"; ox: "db.ox"; oy: "db.oy"; oz: "db.oz"; pa: "db.pa"; pb: "db.pb"; pc: "db.pc"; pd: "db.pd"; pe: "db.pe"; pf: "db.pf"; pg: "db.pg"; ph: "db.ph"; pi: "db.pi"; pj: "db.pj"; pk: "db.pk"; pl: "db.pl"; pm: "db.pm"; pn: "db.pn"; po: "db.po"; pp: "db.pp"; pq: "db.pq"; pr: "db.pr"; ps: "db.ps"; pt: "db.pt"; pu: "db.pu"; pv: "db.pv"; pw: "db.pw"; px: "db.px"; py: "db.py"; pz: "db.pz"; qa: "db.qa"; qb: "db.qb"; qc: "db.qc"; qd: "db.qd"; qe: "db.qe"; qf: "db.qf"; qg: "db.qg"; qh: "db.qh"; qi: "db.qi"; qj: "db.qj"; qk: "db.qk"; ql: "db.ql"; qm: "db.qm"; qn: "db.qn"; qo: "db.qo"; qp: "db.qp"; qq: "db.qq"; qr: "db.qr"; qs: "db.qs"; qt: "db.qt"; qu: "db.qu"; qv: "db.qv"; qw: "db.qw"; qx: "db.qx"; qy: "db.qy"; qz: "db.qz"; ra: "db.ra"; rb: "db.rb"; rc: "db.rc"; rd: "db.rd"; re: "db.re"; rf: "db.rf"; rg: "db.rg"; rh: "db.rh"; ri: "db.ri"; rj: "db.rj"; rk: "db.rk"; rl: "db.rl"; rm: "db.rm"; rn: "db.rn"; ro: "db.ro"; rp: "db.rp"; rq: "db.rq"; rr: "db.rr"; rs: "db.rs"; rt: "db.rt"; ru: "db.ru"; rv: "db.rv"; rw: "db.rw"; rx: "db.rx"; ry: "db.ry"; rz: "db.rz"; sa: "db.sa"; sb: "db.sb"; sc: "db.sc"; sd: "db.sd"; se: "db.se"; sf: "db.sf"; sg: "db.sg"; sh: "db.sh"; si: "db.si"; sj: "db.sj"; sk: "db.sk"; sl: "db.sl"; sm: "db.sm"; sn: "db.sn"; so: "db.so"; sp: "db.sp"; sq: "db.sq"; sr: "db.sr"; ss: "db.ss"; st: "db.st"; su: "db.su"; sv: "db.sv"; sw: "db.sw"; sx: "db.sx"; sy: "db.sy"; sz: "db.sz"; ta: "db.ta"; tb: "db.tb"; tc: "db.tc"; td: "db.td"; te: "db.te"; tf: "db.tf"; tg: "db.tg"; th: "db.th"; ti: "db.ti"; tj: "db.tj"; tk: "db.tk"; tl: "db.tl"; tm: "db.tm"; tn: "db.tn"; to: "db.to"; tp: "db.tp"; tq: "db.tq"; tr: "db.tr"; ts: "db.ts"; tt: "db.tt"; tu: "db.tu"; tv: "db.tv"; tw: "db.tw"; tx: "db.tx"; ty: "db.ty"; tz: "db.tz"; ua: "db.ua"; ub: "db.ub"; uc: "db.uc"; ud: "db.ud"; ue: "db.ue"; uf: "db.uf"; ug: "db.ug"; uh: "db.uh"; ui: "db.ui"; uj: "db.uj"; uk: "db.uk"; ul: "db.ul"; um: "db.um"; un: "db.un"; uo: "db.uo"; up: "db.up"; uq: "db.uq"; ur: "db.ur"; us: "db.us"; ut: "db.ut"; uu: "db.uu"; uv: "db.uv"; uw: "db.uw"; ux: "db.ux"; uy: "db.uy"; uz: "db.uz"; va: "db.va"; vb: "db.vb"; vc: "db.vc"; vd: "db.vd"; ve: "db.ve"; vf: "db.vf"; vg: "db.vg"; vh: "db.vh"; vi: "db.vi"; vj: "db.vj"; vk: "db.vk"; vl: "db.vl"; vm: "db.vm"; vn: "db.vn"; vo: "db.vo"; vp: "db.vp"; vq: "db.vq"; vr: "db.vr"; vs: "db.vs"; vt: "db.vt"; vu: "db.vu"; vv: "db.vv"; vw: "db.vw"; vx: "db.vx"; vy: "db.vy"; vz: "db.vz"; wa: "db.wa"; wb: "db.wb"; wc: "db.wc"; wd: "db.wd"; we: "db.we"; wf: "db.wf"; wg: "db.wg"; wh: "db.wh"; wi: "db.wi"; wj: "db.wj"; wk: "db.wk"; wl: "db.wl"; wm: "db.wm"; wn: "db.wn"; wo: "db.wo"; wp: "db.wp"; wq: "db.wq"; wr: "db.wr"; ws: "db.ws"; wt: "db.wt"; wu: "db.wu"; wv: "db.wv"; ww: "db.ww"; wx: "db.wx"; wy: "db.wy"; wz: "db.wz"; xa: "db.xa"; xb: "db.xb"; xc: "db.xc"; xd: "db.xd"; xe: "db.xe"; xf: "db.xf"; xg: "db.xg"; xh: "db.xh"; xi: "db.xi"; xj: "db.xj"; xk: "db.xk"; xl: "db.xl"; xm: "db.xm"; xn: "db.xn"; xo: "db.xo"; xp: "db.xp"; xq: "db.xq"; xr: "db.xr"; xs: "db.xs"; xt: "db.xt"; xu: "db.xu"; xv: "db.xv"; xw: "db.xw"; xx: "db.xx"; xy: "db.xy"; xz: "db.xz"; ya: "db.ya"; yb: "db.yb"; yc: "db.yc"; yd: "db.yd"; ye: "db.ye"; yf: "db.yf"; yg: "db.yg"; yh: "db.yh"; yi: "db.yi"; yj: "db.yj"; yk: "db.yk"; yl: "db.yl"; ym: "db.ym"; yn: "db.yn"; yo: "db.yo"; yp: "db.yp"; yq: "db.yq"; yr: "db.yr"; ys: "db.ys"; yt: "db.yt"; yu: "db.yu"; yv: "db.yv"; yw: "db.yw"; yx: "db.yx"; yy: "db.yy"; yz: "db.yz"; za: "db.za"; zb: "db.zb"; zc: "db.zc"; zd: "db.zd"; ze: "db.ze"; zf: "db.zf"; zg: "db.zg"; zh: "db.zh"; zi: "db.zi"; zj: "db.zj"; zk: "db.zk"; zl: "db.zl"; zm: "db.zm"; zn: "db.zn"; zo: "db.zo"; zp: "db.zp"; zq: "db.zq"; zr: "db.zr"; zs: "db.zs"; zt: "db.zt"; zu: "db.zu"; zv: "db.zv"; zw: "db.zw"; zx: "db.zx"; zy: "db.zy"; zz: "db.zz"; }; dc: { aa: "dc.aa"; ab: "dc.ab"; ac: "dc.ac"; ad: "dc.ad"; ae: "dc.ae"; af: "dc.af"; ag: "dc.ag"; ah: "dc.ah"; ai: "dc.ai"; aj: "dc.aj"; ak: "dc.ak"; al: "dc.al"; am: "dc.am"; an: "dc.an"; ao: "dc.ao"; ap: "dc.ap"; aq: "dc.aq"; ar: "dc.ar"; as: "dc.as"; at: "dc.at"; au: "dc.au"; av: "dc.av"; aw: "dc.aw"; ax: "dc.ax"; ay: "dc.ay"; az: "dc.az"; ba: "dc.ba"; bb: "dc.bb"; bc: "dc.bc"; bd: "dc.bd"; be: "dc.be"; bf: "dc.bf"; bg: "dc.bg"; bh: "dc.bh"; bi: "dc.bi"; bj: "dc.bj"; bk: "dc.bk"; bl: "dc.bl"; bm: "dc.bm"; bn: "dc.bn"; bo: "dc.bo"; bp: "dc.bp"; bq: "dc.bq"; br: "dc.br"; bs: "dc.bs"; bt: "dc.bt"; bu: "dc.bu"; bv: "dc.bv"; bw: "dc.bw"; bx: "dc.bx"; by: "dc.by"; bz: "dc.bz"; ca: "dc.ca"; cb: "dc.cb"; cc: "dc.cc"; cd: "dc.cd"; ce: "dc.ce"; cf: "dc.cf"; cg: "dc.cg"; ch: "dc.ch"; ci: "dc.ci"; cj: "dc.cj"; ck: "dc.ck"; cl: "dc.cl"; cm: "dc.cm"; cn: "dc.cn"; co: "dc.co"; cp: "dc.cp"; cq: "dc.cq"; cr: "dc.cr"; cs: "dc.cs"; ct: "dc.ct"; cu: "dc.cu"; cv: "dc.cv"; cw: "dc.cw"; cx: "dc.cx"; cy: "dc.cy"; cz: "dc.cz"; da: "dc.da"; db: "dc.db"; dc: "dc.dc"; dd: "dc.dd"; de: "dc.de"; df: "dc.df"; dg: "dc.dg"; dh: "dc.dh"; di: "dc.di"; dj: "dc.dj"; dk: "dc.dk"; dl: "dc.dl"; dm: "dc.dm"; dn: "dc.dn"; do: "dc.do"; dp: "dc.dp"; dq: "dc.dq"; dr: "dc.dr"; ds: "dc.ds"; dt: "dc.dt"; du: "dc.du"; dv: "dc.dv"; dw: "dc.dw"; dx: "dc.dx"; dy: "dc.dy"; dz: "dc.dz"; ea: "dc.ea"; eb: "dc.eb"; ec: "dc.ec"; ed: "dc.ed"; ee: "dc.ee"; ef: "dc.ef"; eg: "dc.eg"; eh: "dc.eh"; ei: "dc.ei"; ej: "dc.ej"; ek: "dc.ek"; el: "dc.el"; em: "dc.em"; en: "dc.en"; eo: "dc.eo"; ep: "dc.ep"; eq: "dc.eq"; er: "dc.er"; es: "dc.es"; et: "dc.et"; eu: "dc.eu"; ev: "dc.ev"; ew: "dc.ew"; ex: "dc.ex"; ey: "dc.ey"; ez: "dc.ez"; fa: "dc.fa"; fb: "dc.fb"; fc: "dc.fc"; fd: "dc.fd"; fe: "dc.fe"; ff: "dc.ff"; fg: "dc.fg"; fh: "dc.fh"; fi: "dc.fi"; fj: "dc.fj"; fk: "dc.fk"; fl: "dc.fl"; fm: "dc.fm"; fn: "dc.fn"; fo: "dc.fo"; fp: "dc.fp"; fq: "dc.fq"; fr: "dc.fr"; fs: "dc.fs"; ft: "dc.ft"; fu: "dc.fu"; fv: "dc.fv"; fw: "dc.fw"; fx: "dc.fx"; fy: "dc.fy"; fz: "dc.fz"; ga: "dc.ga"; gb: "dc.gb"; gc: "dc.gc"; gd: "dc.gd"; ge: "dc.ge"; gf: "dc.gf"; gg: "dc.gg"; gh: "dc.gh"; gi: "dc.gi"; gj: "dc.gj"; gk: "dc.gk"; gl: "dc.gl"; gm: "dc.gm"; gn: "dc.gn"; go: "dc.go"; gp: "dc.gp"; gq: "dc.gq"; gr: "dc.gr"; gs: "dc.gs"; gt: "dc.gt"; gu: "dc.gu"; gv: "dc.gv"; gw: "dc.gw"; gx: "dc.gx"; gy: "dc.gy"; gz: "dc.gz"; ha: "dc.ha"; hb: "dc.hb"; hc: "dc.hc"; hd: "dc.hd"; he: "dc.he"; hf: "dc.hf"; hg: "dc.hg"; hh: "dc.hh"; hi: "dc.hi"; hj: "dc.hj"; hk: "dc.hk"; hl: "dc.hl"; hm: "dc.hm"; hn: "dc.hn"; ho: "dc.ho"; hp: "dc.hp"; hq: "dc.hq"; hr: "dc.hr"; hs: "dc.hs"; ht: "dc.ht"; hu: "dc.hu"; hv: "dc.hv"; hw: "dc.hw"; hx: "dc.hx"; hy: "dc.hy"; hz: "dc.hz"; ia: "dc.ia"; ib: "dc.ib"; ic: "dc.ic"; id: "dc.id"; ie: "dc.ie"; if: "dc.if"; ig: "dc.ig"; ih: "dc.ih"; ii: "dc.ii"; ij: "dc.ij"; ik: "dc.ik"; il: "dc.il"; im: "dc.im"; in: "dc.in"; io: "dc.io"; ip: "dc.ip"; iq: "dc.iq"; ir: "dc.ir"; is: "dc.is"; it: "dc.it"; iu: "dc.iu"; iv: "dc.iv"; iw: "dc.iw"; ix: "dc.ix"; iy: "dc.iy"; iz: "dc.iz"; ja: "dc.ja"; jb: "dc.jb"; jc: "dc.jc"; jd: "dc.jd"; je: "dc.je"; jf: "dc.jf"; jg: "dc.jg"; jh: "dc.jh"; ji: "dc.ji"; jj: "dc.jj"; jk: "dc.jk"; jl: "dc.jl"; jm: "dc.jm"; jn: "dc.jn"; jo: "dc.jo"; jp: "dc.jp"; jq: "dc.jq"; jr: "dc.jr"; js: "dc.js"; jt: "dc.jt"; ju: "dc.ju"; jv: "dc.jv"; jw: "dc.jw"; jx: "dc.jx"; jy: "dc.jy"; jz: "dc.jz"; ka: "dc.ka"; kb: "dc.kb"; kc: "dc.kc"; kd: "dc.kd"; ke: "dc.ke"; kf: "dc.kf"; kg: "dc.kg"; kh: "dc.kh"; ki: "dc.ki"; kj: "dc.kj"; kk: "dc.kk"; kl: "dc.kl"; km: "dc.km"; kn: "dc.kn"; ko: "dc.ko"; kp: "dc.kp"; kq: "dc.kq"; kr: "dc.kr"; ks: "dc.ks"; kt: "dc.kt"; ku: "dc.ku"; kv: "dc.kv"; kw: "dc.kw"; kx: "dc.kx"; ky: "dc.ky"; kz: "dc.kz"; la: "dc.la"; lb: "dc.lb"; lc: "dc.lc"; ld: "dc.ld"; le: "dc.le"; lf: "dc.lf"; lg: "dc.lg"; lh: "dc.lh"; li: "dc.li"; lj: "dc.lj"; lk: "dc.lk"; ll: "dc.ll"; lm: "dc.lm"; ln: "dc.ln"; lo: "dc.lo"; lp: "dc.lp"; lq: "dc.lq"; lr: "dc.lr"; ls: "dc.ls"; lt: "dc.lt"; lu: "dc.lu"; lv: "dc.lv"; lw: "dc.lw"; lx: "dc.lx"; ly: "dc.ly"; lz: "dc.lz"; ma: "dc.ma"; mb: "dc.mb"; mc: "dc.mc"; md: "dc.md"; me: "dc.me"; mf: "dc.mf"; mg: "dc.mg"; mh: "dc.mh"; mi: "dc.mi"; mj: "dc.mj"; mk: "dc.mk"; ml: "dc.ml"; mm: "dc.mm"; mn: "dc.mn"; mo: "dc.mo"; mp: "dc.mp"; mq: "dc.mq"; mr: "dc.mr"; ms: "dc.ms"; mt: "dc.mt"; mu: "dc.mu"; mv: "dc.mv"; mw: "dc.mw"; mx: "dc.mx"; my: "dc.my"; mz: "dc.mz"; na: "dc.na"; nb: "dc.nb"; nc: "dc.nc"; nd: "dc.nd"; ne: "dc.ne"; nf: "dc.nf"; ng: "dc.ng"; nh: "dc.nh"; ni: "dc.ni"; nj: "dc.nj"; nk: "dc.nk"; nl: "dc.nl"; nm: "dc.nm"; nn: "dc.nn"; no: "dc.no"; np: "dc.np"; nq: "dc.nq"; nr: "dc.nr"; ns: "dc.ns"; nt: "dc.nt"; nu: "dc.nu"; nv: "dc.nv"; nw: "dc.nw"; nx: "dc.nx"; ny: "dc.ny"; nz: "dc.nz"; oa: "dc.oa"; ob: "dc.ob"; oc: "dc.oc"; od: "dc.od"; oe: "dc.oe"; of: "dc.of"; og: "dc.og"; oh: "dc.oh"; oi: "dc.oi"; oj: "dc.oj"; ok: "dc.ok"; ol: "dc.ol"; om: "dc.om"; on: "dc.on"; oo: "dc.oo"; op: "dc.op"; oq: "dc.oq"; or: "dc.or"; os: "dc.os"; ot: "dc.ot"; ou: "dc.ou"; ov: "dc.ov"; ow: "dc.ow"; ox: "dc.ox"; oy: "dc.oy"; oz: "dc.oz"; pa: "dc.pa"; pb: "dc.pb"; pc: "dc.pc"; pd: "dc.pd"; pe: "dc.pe"; pf: "dc.pf"; pg: "dc.pg"; ph: "dc.ph"; pi: "dc.pi"; pj: "dc.pj"; pk: "dc.pk"; pl: "dc.pl"; pm: "dc.pm"; pn: "dc.pn"; po: "dc.po"; pp: "dc.pp"; pq: "dc.pq"; pr: "dc.pr"; ps: "dc.ps"; pt: "dc.pt"; pu: "dc.pu"; pv: "dc.pv"; pw: "dc.pw"; px: "dc.px"; py: "dc.py"; pz: "dc.pz"; qa: "dc.qa"; qb: "dc.qb"; qc: "dc.qc"; qd: "dc.qd"; qe: "dc.qe"; qf: "dc.qf"; qg: "dc.qg"; qh: "dc.qh"; qi: "dc.qi"; qj: "dc.qj"; qk: "dc.qk"; ql: "dc.ql"; qm: "dc.qm"; qn: "dc.qn"; qo: "dc.qo"; qp: "dc.qp"; qq: "dc.qq"; qr: "dc.qr"; qs: "dc.qs"; qt: "dc.qt"; qu: "dc.qu"; qv: "dc.qv"; qw: "dc.qw"; qx: "dc.qx"; qy: "dc.qy"; qz: "dc.qz"; ra: "dc.ra"; rb: "dc.rb"; rc: "dc.rc"; rd: "dc.rd"; re: "dc.re"; rf: "dc.rf"; rg: "dc.rg"; rh: "dc.rh"; ri: "dc.ri"; rj: "dc.rj"; rk: "dc.rk"; rl: "dc.rl"; rm: "dc.rm"; rn: "dc.rn"; ro: "dc.ro"; rp: "dc.rp"; rq: "dc.rq"; rr: "dc.rr"; rs: "dc.rs"; rt: "dc.rt"; ru: "dc.ru"; rv: "dc.rv"; rw: "dc.rw"; rx: "dc.rx"; ry: "dc.ry"; rz: "dc.rz"; sa: "dc.sa"; sb: "dc.sb"; sc: "dc.sc"; sd: "dc.sd"; se: "dc.se"; sf: "dc.sf"; sg: "dc.sg"; sh: "dc.sh"; si: "dc.si"; sj: "dc.sj"; sk: "dc.sk"; sl: "dc.sl"; sm: "dc.sm"; sn: "dc.sn"; so: "dc.so"; sp: "dc.sp"; sq: "dc.sq"; sr: "dc.sr"; ss: "dc.ss"; st: "dc.st"; su: "dc.su"; sv: "dc.sv"; sw: "dc.sw"; sx: "dc.sx"; sy: "dc.sy"; sz: "dc.sz"; ta: "dc.ta"; tb: "dc.tb"; tc: "dc.tc"; td: "dc.td"; te: "dc.te"; tf: "dc.tf"; tg: "dc.tg"; th: "dc.th"; ti: "dc.ti"; tj: "dc.tj"; tk: "dc.tk"; tl: "dc.tl"; tm: "dc.tm"; tn: "dc.tn"; to: "dc.to"; tp: "dc.tp"; tq: "dc.tq"; tr: "dc.tr"; ts: "dc.ts"; tt: "dc.tt"; tu: "dc.tu"; tv: "dc.tv"; tw: "dc.tw"; tx: "dc.tx"; ty: "dc.ty"; tz: "dc.tz"; ua: "dc.ua"; ub: "dc.ub"; uc: "dc.uc"; ud: "dc.ud"; ue: "dc.ue"; uf: "dc.uf"; ug: "dc.ug"; uh: "dc.uh"; ui: "dc.ui"; uj: "dc.uj"; uk: "dc.uk"; ul: "dc.ul"; um: "dc.um"; un: "dc.un"; uo: "dc.uo"; up: "dc.up"; uq: "dc.uq"; ur: "dc.ur"; us: "dc.us"; ut: "dc.ut"; uu: "dc.uu"; uv: "dc.uv"; uw: "dc.uw"; ux: "dc.ux"; uy: "dc.uy"; uz: "dc.uz"; va: "dc.va"; vb: "dc.vb"; vc: "dc.vc"; vd: "dc.vd"; ve: "dc.ve"; vf: "dc.vf"; vg: "dc.vg"; vh: "dc.vh"; vi: "dc.vi"; vj: "dc.vj"; vk: "dc.vk"; vl: "dc.vl"; vm: "dc.vm"; vn: "dc.vn"; vo: "dc.vo"; vp: "dc.vp"; vq: "dc.vq"; vr: "dc.vr"; vs: "dc.vs"; vt: "dc.vt"; vu: "dc.vu"; vv: "dc.vv"; vw: "dc.vw"; vx: "dc.vx"; vy: "dc.vy"; vz: "dc.vz"; wa: "dc.wa"; wb: "dc.wb"; wc: "dc.wc"; wd: "dc.wd"; we: "dc.we"; wf: "dc.wf"; wg: "dc.wg"; wh: "dc.wh"; wi: "dc.wi"; wj: "dc.wj"; wk: "dc.wk"; wl: "dc.wl"; wm: "dc.wm"; wn: "dc.wn"; wo: "dc.wo"; wp: "dc.wp"; wq: "dc.wq"; wr: "dc.wr"; ws: "dc.ws"; wt: "dc.wt"; wu: "dc.wu"; wv: "dc.wv"; ww: "dc.ww"; wx: "dc.wx"; wy: "dc.wy"; wz: "dc.wz"; xa: "dc.xa"; xb: "dc.xb"; xc: "dc.xc"; xd: "dc.xd"; xe: "dc.xe"; xf: "dc.xf"; xg: "dc.xg"; xh: "dc.xh"; xi: "dc.xi"; xj: "dc.xj"; xk: "dc.xk"; xl: "dc.xl"; xm: "dc.xm"; xn: "dc.xn"; xo: "dc.xo"; xp: "dc.xp"; xq: "dc.xq"; xr: "dc.xr"; xs: "dc.xs"; xt: "dc.xt"; xu: "dc.xu"; xv: "dc.xv"; xw: "dc.xw"; xx: "dc.xx"; xy: "dc.xy"; xz: "dc.xz"; ya: "dc.ya"; yb: "dc.yb"; yc: "dc.yc"; yd: "dc.yd"; ye: "dc.ye"; yf: "dc.yf"; yg: "dc.yg"; yh: "dc.yh"; yi: "dc.yi"; yj: "dc.yj"; yk: "dc.yk"; yl: "dc.yl"; ym: "dc.ym"; yn: "dc.yn"; yo: "dc.yo"; yp: "dc.yp"; yq: "dc.yq"; yr: "dc.yr"; ys: "dc.ys"; yt: "dc.yt"; yu: "dc.yu"; yv: "dc.yv"; yw: "dc.yw"; yx: "dc.yx"; yy: "dc.yy"; yz: "dc.yz"; za: "dc.za"; zb: "dc.zb"; zc: "dc.zc"; zd: "dc.zd"; ze: "dc.ze"; zf: "dc.zf"; zg: "dc.zg"; zh: "dc.zh"; zi: "dc.zi"; zj: "dc.zj"; zk: "dc.zk"; zl: "dc.zl"; zm: "dc.zm"; zn: "dc.zn"; zo: "dc.zo"; zp: "dc.zp"; zq: "dc.zq"; zr: "dc.zr"; zs: "dc.zs"; zt: "dc.zt"; zu: "dc.zu"; zv: "dc.zv"; zw: "dc.zw"; zx: "dc.zx"; zy: "dc.zy"; zz: "dc.zz"; }; dd: { aa: "dd.aa"; ab: "dd.ab"; ac: "dd.ac"; ad: "dd.ad"; ae: "dd.ae"; af: "dd.af"; ag: "dd.ag"; ah: "dd.ah"; ai: "dd.ai"; aj: "dd.aj"; ak: "dd.ak"; al: "dd.al"; am: "dd.am"; an: "dd.an"; ao: "dd.ao"; ap: "dd.ap"; aq: "dd.aq"; ar: "dd.ar"; as: "dd.as"; at: "dd.at"; au: "dd.au"; av: "dd.av"; aw: "dd.aw"; ax: "dd.ax"; ay: "dd.ay"; az: "dd.az"; ba: "dd.ba"; bb: "dd.bb"; bc: "dd.bc"; bd: "dd.bd"; be: "dd.be"; bf: "dd.bf"; bg: "dd.bg"; bh: "dd.bh"; bi: "dd.bi"; bj: "dd.bj"; bk: "dd.bk"; bl: "dd.bl"; bm: "dd.bm"; bn: "dd.bn"; bo: "dd.bo"; bp: "dd.bp"; bq: "dd.bq"; br: "dd.br"; bs: "dd.bs"; bt: "dd.bt"; bu: "dd.bu"; bv: "dd.bv"; bw: "dd.bw"; bx: "dd.bx"; by: "dd.by"; bz: "dd.bz"; ca: "dd.ca"; cb: "dd.cb"; cc: "dd.cc"; cd: "dd.cd"; ce: "dd.ce"; cf: "dd.cf"; cg: "dd.cg"; ch: "dd.ch"; ci: "dd.ci"; cj: "dd.cj"; ck: "dd.ck"; cl: "dd.cl"; cm: "dd.cm"; cn: "dd.cn"; co: "dd.co"; cp: "dd.cp"; cq: "dd.cq"; cr: "dd.cr"; cs: "dd.cs"; ct: "dd.ct"; cu: "dd.cu"; cv: "dd.cv"; cw: "dd.cw"; cx: "dd.cx"; cy: "dd.cy"; cz: "dd.cz"; da: "dd.da"; db: "dd.db"; dc: "dd.dc"; dd: "dd.dd"; de: "dd.de"; df: "dd.df"; dg: "dd.dg"; dh: "dd.dh"; di: "dd.di"; dj: "dd.dj"; dk: "dd.dk"; dl: "dd.dl"; dm: "dd.dm"; dn: "dd.dn"; do: "dd.do"; dp: "dd.dp"; dq: "dd.dq"; dr: "dd.dr"; ds: "dd.ds"; dt: "dd.dt"; du: "dd.du"; dv: "dd.dv"; dw: "dd.dw"; dx: "dd.dx"; dy: "dd.dy"; dz: "dd.dz"; ea: "dd.ea"; eb: "dd.eb"; ec: "dd.ec"; ed: "dd.ed"; ee: "dd.ee"; ef: "dd.ef"; eg: "dd.eg"; eh: "dd.eh"; ei: "dd.ei"; ej: "dd.ej"; ek: "dd.ek"; el: "dd.el"; em: "dd.em"; en: "dd.en"; eo: "dd.eo"; ep: "dd.ep"; eq: "dd.eq"; er: "dd.er"; es: "dd.es"; et: "dd.et"; eu: "dd.eu"; ev: "dd.ev"; ew: "dd.ew"; ex: "dd.ex"; ey: "dd.ey"; ez: "dd.ez"; fa: "dd.fa"; fb: "dd.fb"; fc: "dd.fc"; fd: "dd.fd"; fe: "dd.fe"; ff: "dd.ff"; fg: "dd.fg"; fh: "dd.fh"; fi: "dd.fi"; fj: "dd.fj"; fk: "dd.fk"; fl: "dd.fl"; fm: "dd.fm"; fn: "dd.fn"; fo: "dd.fo"; fp: "dd.fp"; fq: "dd.fq"; fr: "dd.fr"; fs: "dd.fs"; ft: "dd.ft"; fu: "dd.fu"; fv: "dd.fv"; fw: "dd.fw"; fx: "dd.fx"; fy: "dd.fy"; fz: "dd.fz"; ga: "dd.ga"; gb: "dd.gb"; gc: "dd.gc"; gd: "dd.gd"; ge: "dd.ge"; gf: "dd.gf"; gg: "dd.gg"; gh: "dd.gh"; gi: "dd.gi"; gj: "dd.gj"; gk: "dd.gk"; gl: "dd.gl"; gm: "dd.gm"; gn: "dd.gn"; go: "dd.go"; gp: "dd.gp"; gq: "dd.gq"; gr: "dd.gr"; gs: "dd.gs"; gt: "dd.gt"; gu: "dd.gu"; gv: "dd.gv"; gw: "dd.gw"; gx: "dd.gx"; gy: "dd.gy"; gz: "dd.gz"; ha: "dd.ha"; hb: "dd.hb"; hc: "dd.hc"; hd: "dd.hd"; he: "dd.he"; hf: "dd.hf"; hg: "dd.hg"; hh: "dd.hh"; hi: "dd.hi"; hj: "dd.hj"; hk: "dd.hk"; hl: "dd.hl"; hm: "dd.hm"; hn: "dd.hn"; ho: "dd.ho"; hp: "dd.hp"; hq: "dd.hq"; hr: "dd.hr"; hs: "dd.hs"; ht: "dd.ht"; hu: "dd.hu"; hv: "dd.hv"; hw: "dd.hw"; hx: "dd.hx"; hy: "dd.hy"; hz: "dd.hz"; ia: "dd.ia"; ib: "dd.ib"; ic: "dd.ic"; id: "dd.id"; ie: "dd.ie"; if: "dd.if"; ig: "dd.ig"; ih: "dd.ih"; ii: "dd.ii"; ij: "dd.ij"; ik: "dd.ik"; il: "dd.il"; im: "dd.im"; in: "dd.in"; io: "dd.io"; ip: "dd.ip"; iq: "dd.iq"; ir: "dd.ir"; is: "dd.is"; it: "dd.it"; iu: "dd.iu"; iv: "dd.iv"; iw: "dd.iw"; ix: "dd.ix"; iy: "dd.iy"; iz: "dd.iz"; ja: "dd.ja"; jb: "dd.jb"; jc: "dd.jc"; jd: "dd.jd"; je: "dd.je"; jf: "dd.jf"; jg: "dd.jg"; jh: "dd.jh"; ji: "dd.ji"; jj: "dd.jj"; jk: "dd.jk"; jl: "dd.jl"; jm: "dd.jm"; jn: "dd.jn"; jo: "dd.jo"; jp: "dd.jp"; jq: "dd.jq"; jr: "dd.jr"; js: "dd.js"; jt: "dd.jt"; ju: "dd.ju"; jv: "dd.jv"; jw: "dd.jw"; jx: "dd.jx"; jy: "dd.jy"; jz: "dd.jz"; ka: "dd.ka"; kb: "dd.kb"; kc: "dd.kc"; kd: "dd.kd"; ke: "dd.ke"; kf: "dd.kf"; kg: "dd.kg"; kh: "dd.kh"; ki: "dd.ki"; kj: "dd.kj"; kk: "dd.kk"; kl: "dd.kl"; km: "dd.km"; kn: "dd.kn"; ko: "dd.ko"; kp: "dd.kp"; kq: "dd.kq"; kr: "dd.kr"; ks: "dd.ks"; kt: "dd.kt"; ku: "dd.ku"; kv: "dd.kv"; kw: "dd.kw"; kx: "dd.kx"; ky: "dd.ky"; kz: "dd.kz"; la: "dd.la"; lb: "dd.lb"; lc: "dd.lc"; ld: "dd.ld"; le: "dd.le"; lf: "dd.lf"; lg: "dd.lg"; lh: "dd.lh"; li: "dd.li"; lj: "dd.lj"; lk: "dd.lk"; ll: "dd.ll"; lm: "dd.lm"; ln: "dd.ln"; lo: "dd.lo"; lp: "dd.lp"; lq: "dd.lq"; lr: "dd.lr"; ls: "dd.ls"; lt: "dd.lt"; lu: "dd.lu"; lv: "dd.lv"; lw: "dd.lw"; lx: "dd.lx"; ly: "dd.ly"; lz: "dd.lz"; ma: "dd.ma"; mb: "dd.mb"; mc: "dd.mc"; md: "dd.md"; me: "dd.me"; mf: "dd.mf"; mg: "dd.mg"; mh: "dd.mh"; mi: "dd.mi"; mj: "dd.mj"; mk: "dd.mk"; ml: "dd.ml"; mm: "dd.mm"; mn: "dd.mn"; mo: "dd.mo"; mp: "dd.mp"; mq: "dd.mq"; mr: "dd.mr"; ms: "dd.ms"; mt: "dd.mt"; mu: "dd.mu"; mv: "dd.mv"; mw: "dd.mw"; mx: "dd.mx"; my: "dd.my"; mz: "dd.mz"; na: "dd.na"; nb: "dd.nb"; nc: "dd.nc"; nd: "dd.nd"; ne: "dd.ne"; nf: "dd.nf"; ng: "dd.ng"; nh: "dd.nh"; ni: "dd.ni"; nj: "dd.nj"; nk: "dd.nk"; nl: "dd.nl"; nm: "dd.nm"; nn: "dd.nn"; no: "dd.no"; np: "dd.np"; nq: "dd.nq"; nr: "dd.nr"; ns: "dd.ns"; nt: "dd.nt"; nu: "dd.nu"; nv: "dd.nv"; nw: "dd.nw"; nx: "dd.nx"; ny: "dd.ny"; nz: "dd.nz"; oa: "dd.oa"; ob: "dd.ob"; oc: "dd.oc"; od: "dd.od"; oe: "dd.oe"; of: "dd.of"; og: "dd.og"; oh: "dd.oh"; oi: "dd.oi"; oj: "dd.oj"; ok: "dd.ok"; ol: "dd.ol"; om: "dd.om"; on: "dd.on"; oo: "dd.oo"; op: "dd.op"; oq: "dd.oq"; or: "dd.or"; os: "dd.os"; ot: "dd.ot"; ou: "dd.ou"; ov: "dd.ov"; ow: "dd.ow"; ox: "dd.ox"; oy: "dd.oy"; oz: "dd.oz"; pa: "dd.pa"; pb: "dd.pb"; pc: "dd.pc"; pd: "dd.pd"; pe: "dd.pe"; pf: "dd.pf"; pg: "dd.pg"; ph: "dd.ph"; pi: "dd.pi"; pj: "dd.pj"; pk: "dd.pk"; pl: "dd.pl"; pm: "dd.pm"; pn: "dd.pn"; po: "dd.po"; pp: "dd.pp"; pq: "dd.pq"; pr: "dd.pr"; ps: "dd.ps"; pt: "dd.pt"; pu: "dd.pu"; pv: "dd.pv"; pw: "dd.pw"; px: "dd.px"; py: "dd.py"; pz: "dd.pz"; qa: "dd.qa"; qb: "dd.qb"; qc: "dd.qc"; qd: "dd.qd"; qe: "dd.qe"; qf: "dd.qf"; qg: "dd.qg"; qh: "dd.qh"; qi: "dd.qi"; qj: "dd.qj"; qk: "dd.qk"; ql: "dd.ql"; qm: "dd.qm"; qn: "dd.qn"; qo: "dd.qo"; qp: "dd.qp"; qq: "dd.qq"; qr: "dd.qr"; qs: "dd.qs"; qt: "dd.qt"; qu: "dd.qu"; qv: "dd.qv"; qw: "dd.qw"; qx: "dd.qx"; qy: "dd.qy"; qz: "dd.qz"; ra: "dd.ra"; rb: "dd.rb"; rc: "dd.rc"; rd: "dd.rd"; re: "dd.re"; rf: "dd.rf"; rg: "dd.rg"; rh: "dd.rh"; ri: "dd.ri"; rj: "dd.rj"; rk: "dd.rk"; rl: "dd.rl"; rm: "dd.rm"; rn: "dd.rn"; ro: "dd.ro"; rp: "dd.rp"; rq: "dd.rq"; rr: "dd.rr"; rs: "dd.rs"; rt: "dd.rt"; ru: "dd.ru"; rv: "dd.rv"; rw: "dd.rw"; rx: "dd.rx"; ry: "dd.ry"; rz: "dd.rz"; sa: "dd.sa"; sb: "dd.sb"; sc: "dd.sc"; sd: "dd.sd"; se: "dd.se"; sf: "dd.sf"; sg: "dd.sg"; sh: "dd.sh"; si: "dd.si"; sj: "dd.sj"; sk: "dd.sk"; sl: "dd.sl"; sm: "dd.sm"; sn: "dd.sn"; so: "dd.so"; sp: "dd.sp"; sq: "dd.sq"; sr: "dd.sr"; ss: "dd.ss"; st: "dd.st"; su: "dd.su"; sv: "dd.sv"; sw: "dd.sw"; sx: "dd.sx"; sy: "dd.sy"; sz: "dd.sz"; ta: "dd.ta"; tb: "dd.tb"; tc: "dd.tc"; td: "dd.td"; te: "dd.te"; tf: "dd.tf"; tg: "dd.tg"; th: "dd.th"; ti: "dd.ti"; tj: "dd.tj"; tk: "dd.tk"; tl: "dd.tl"; tm: "dd.tm"; tn: "dd.tn"; to: "dd.to"; tp: "dd.tp"; tq: "dd.tq"; tr: "dd.tr"; ts: "dd.ts"; tt: "dd.tt"; tu: "dd.tu"; tv: "dd.tv"; tw: "dd.tw"; tx: "dd.tx"; ty: "dd.ty"; tz: "dd.tz"; ua: "dd.ua"; ub: "dd.ub"; uc: "dd.uc"; ud: "dd.ud"; ue: "dd.ue"; uf: "dd.uf"; ug: "dd.ug"; uh: "dd.uh"; ui: "dd.ui"; uj: "dd.uj"; uk: "dd.uk"; ul: "dd.ul"; um: "dd.um"; un: "dd.un"; uo: "dd.uo"; up: "dd.up"; uq: "dd.uq"; ur: "dd.ur"; us: "dd.us"; ut: "dd.ut"; uu: "dd.uu"; uv: "dd.uv"; uw: "dd.uw"; ux: "dd.ux"; uy: "dd.uy"; uz: "dd.uz"; va: "dd.va"; vb: "dd.vb"; vc: "dd.vc"; vd: "dd.vd"; ve: "dd.ve"; vf: "dd.vf"; vg: "dd.vg"; vh: "dd.vh"; vi: "dd.vi"; vj: "dd.vj"; vk: "dd.vk"; vl: "dd.vl"; vm: "dd.vm"; vn: "dd.vn"; vo: "dd.vo"; vp: "dd.vp"; vq: "dd.vq"; vr: "dd.vr"; vs: "dd.vs"; vt: "dd.vt"; vu: "dd.vu"; vv: "dd.vv"; vw: "dd.vw"; vx: "dd.vx"; vy: "dd.vy"; vz: "dd.vz"; wa: "dd.wa"; wb: "dd.wb"; wc: "dd.wc"; wd: "dd.wd"; we: "dd.we"; wf: "dd.wf"; wg: "dd.wg"; wh: "dd.wh"; wi: "dd.wi"; wj: "dd.wj"; wk: "dd.wk"; wl: "dd.wl"; wm: "dd.wm"; wn: "dd.wn"; wo: "dd.wo"; wp: "dd.wp"; wq: "dd.wq"; wr: "dd.wr"; ws: "dd.ws"; wt: "dd.wt"; wu: "dd.wu"; wv: "dd.wv"; ww: "dd.ww"; wx: "dd.wx"; wy: "dd.wy"; wz: "dd.wz"; xa: "dd.xa"; xb: "dd.xb"; xc: "dd.xc"; xd: "dd.xd"; xe: "dd.xe"; xf: "dd.xf"; xg: "dd.xg"; xh: "dd.xh"; xi: "dd.xi"; xj: "dd.xj"; xk: "dd.xk"; xl: "dd.xl"; xm: "dd.xm"; xn: "dd.xn"; xo: "dd.xo"; xp: "dd.xp"; xq: "dd.xq"; xr: "dd.xr"; xs: "dd.xs"; xt: "dd.xt"; xu: "dd.xu"; xv: "dd.xv"; xw: "dd.xw"; xx: "dd.xx"; xy: "dd.xy"; xz: "dd.xz"; ya: "dd.ya"; yb: "dd.yb"; yc: "dd.yc"; yd: "dd.yd"; ye: "dd.ye"; yf: "dd.yf"; yg: "dd.yg"; yh: "dd.yh"; yi: "dd.yi"; yj: "dd.yj"; yk: "dd.yk"; yl: "dd.yl"; ym: "dd.ym"; yn: "dd.yn"; yo: "dd.yo"; yp: "dd.yp"; yq: "dd.yq"; yr: "dd.yr"; ys: "dd.ys"; yt: "dd.yt"; yu: "dd.yu"; yv: "dd.yv"; yw: "dd.yw"; yx: "dd.yx"; yy: "dd.yy"; yz: "dd.yz"; za: "dd.za"; zb: "dd.zb"; zc: "dd.zc"; zd: "dd.zd"; ze: "dd.ze"; zf: "dd.zf"; zg: "dd.zg"; zh: "dd.zh"; zi: "dd.zi"; zj: "dd.zj"; zk: "dd.zk"; zl: "dd.zl"; zm: "dd.zm"; zn: "dd.zn"; zo: "dd.zo"; zp: "dd.zp"; zq: "dd.zq"; zr: "dd.zr"; zs: "dd.zs"; zt: "dd.zt"; zu: "dd.zu"; zv: "dd.zv"; zw: "dd.zw"; zx: "dd.zx"; zy: "dd.zy"; zz: "dd.zz"; }; de: { aa: "de.aa"; ab: "de.ab"; ac: "de.ac"; ad: "de.ad"; ae: "de.ae"; af: "de.af"; ag: "de.ag"; ah: "de.ah"; ai: "de.ai"; aj: "de.aj"; ak: "de.ak"; al: "de.al"; am: "de.am"; an: "de.an"; ao: "de.ao"; ap: "de.ap"; aq: "de.aq"; ar: "de.ar"; as: "de.as"; at: "de.at"; au: "de.au"; av: "de.av"; aw: "de.aw"; ax: "de.ax"; ay: "de.ay"; az: "de.az"; ba: "de.ba"; bb: "de.bb"; bc: "de.bc"; bd: "de.bd"; be: "de.be"; bf: "de.bf"; bg: "de.bg"; bh: "de.bh"; bi: "de.bi"; bj: "de.bj"; bk: "de.bk"; bl: "de.bl"; bm: "de.bm"; bn: "de.bn"; bo: "de.bo"; bp: "de.bp"; bq: "de.bq"; br: "de.br"; bs: "de.bs"; bt: "de.bt"; bu: "de.bu"; bv: "de.bv"; bw: "de.bw"; bx: "de.bx"; by: "de.by"; bz: "de.bz"; ca: "de.ca"; cb: "de.cb"; cc: "de.cc"; cd: "de.cd"; ce: "de.ce"; cf: "de.cf"; cg: "de.cg"; ch: "de.ch"; ci: "de.ci"; cj: "de.cj"; ck: "de.ck"; cl: "de.cl"; cm: "de.cm"; cn: "de.cn"; co: "de.co"; cp: "de.cp"; cq: "de.cq"; cr: "de.cr"; cs: "de.cs"; ct: "de.ct"; cu: "de.cu"; cv: "de.cv"; cw: "de.cw"; cx: "de.cx"; cy: "de.cy"; cz: "de.cz"; da: "de.da"; db: "de.db"; dc: "de.dc"; dd: "de.dd"; de: "de.de"; df: "de.df"; dg: "de.dg"; dh: "de.dh"; di: "de.di"; dj: "de.dj"; dk: "de.dk"; dl: "de.dl"; dm: "de.dm"; dn: "de.dn"; do: "de.do"; dp: "de.dp"; dq: "de.dq"; dr: "de.dr"; ds: "de.ds"; dt: "de.dt"; du: "de.du"; dv: "de.dv"; dw: "de.dw"; dx: "de.dx"; dy: "de.dy"; dz: "de.dz"; ea: "de.ea"; eb: "de.eb"; ec: "de.ec"; ed: "de.ed"; ee: "de.ee"; ef: "de.ef"; eg: "de.eg"; eh: "de.eh"; ei: "de.ei"; ej: "de.ej"; ek: "de.ek"; el: "de.el"; em: "de.em"; en: "de.en"; eo: "de.eo"; ep: "de.ep"; eq: "de.eq"; er: "de.er"; es: "de.es"; et: "de.et"; eu: "de.eu"; ev: "de.ev"; ew: "de.ew"; ex: "de.ex"; ey: "de.ey"; ez: "de.ez"; fa: "de.fa"; fb: "de.fb"; fc: "de.fc"; fd: "de.fd"; fe: "de.fe"; ff: "de.ff"; fg: "de.fg"; fh: "de.fh"; fi: "de.fi"; fj: "de.fj"; fk: "de.fk"; fl: "de.fl"; fm: "de.fm"; fn: "de.fn"; fo: "de.fo"; fp: "de.fp"; fq: "de.fq"; fr: "de.fr"; fs: "de.fs"; ft: "de.ft"; fu: "de.fu"; fv: "de.fv"; fw: "de.fw"; fx: "de.fx"; fy: "de.fy"; fz: "de.fz"; ga: "de.ga"; gb: "de.gb"; gc: "de.gc"; gd: "de.gd"; ge: "de.ge"; gf: "de.gf"; gg: "de.gg"; gh: "de.gh"; gi: "de.gi"; gj: "de.gj"; gk: "de.gk"; gl: "de.gl"; gm: "de.gm"; gn: "de.gn"; go: "de.go"; gp: "de.gp"; gq: "de.gq"; gr: "de.gr"; gs: "de.gs"; gt: "de.gt"; gu: "de.gu"; gv: "de.gv"; gw: "de.gw"; gx: "de.gx"; gy: "de.gy"; gz: "de.gz"; ha: "de.ha"; hb: "de.hb"; hc: "de.hc"; hd: "de.hd"; he: "de.he"; hf: "de.hf"; hg: "de.hg"; hh: "de.hh"; hi: "de.hi"; hj: "de.hj"; hk: "de.hk"; hl: "de.hl"; hm: "de.hm"; hn: "de.hn"; ho: "de.ho"; hp: "de.hp"; hq: "de.hq"; hr: "de.hr"; hs: "de.hs"; ht: "de.ht"; hu: "de.hu"; hv: "de.hv"; hw: "de.hw"; hx: "de.hx"; hy: "de.hy"; hz: "de.hz"; ia: "de.ia"; ib: "de.ib"; ic: "de.ic"; id: "de.id"; ie: "de.ie"; if: "de.if"; ig: "de.ig"; ih: "de.ih"; ii: "de.ii"; ij: "de.ij"; ik: "de.ik"; il: "de.il"; im: "de.im"; in: "de.in"; io: "de.io"; ip: "de.ip"; iq: "de.iq"; ir: "de.ir"; is: "de.is"; it: "de.it"; iu: "de.iu"; iv: "de.iv"; iw: "de.iw"; ix: "de.ix"; iy: "de.iy"; iz: "de.iz"; ja: "de.ja"; jb: "de.jb"; jc: "de.jc"; jd: "de.jd"; je: "de.je"; jf: "de.jf"; jg: "de.jg"; jh: "de.jh"; ji: "de.ji"; jj: "de.jj"; jk: "de.jk"; jl: "de.jl"; jm: "de.jm"; jn: "de.jn"; jo: "de.jo"; jp: "de.jp"; jq: "de.jq"; jr: "de.jr"; js: "de.js"; jt: "de.jt"; ju: "de.ju"; jv: "de.jv"; jw: "de.jw"; jx: "de.jx"; jy: "de.jy"; jz: "de.jz"; ka: "de.ka"; kb: "de.kb"; kc: "de.kc"; kd: "de.kd"; ke: "de.ke"; kf: "de.kf"; kg: "de.kg"; kh: "de.kh"; ki: "de.ki"; kj: "de.kj"; kk: "de.kk"; kl: "de.kl"; km: "de.km"; kn: "de.kn"; ko: "de.ko"; kp: "de.kp"; kq: "de.kq"; kr: "de.kr"; ks: "de.ks"; kt: "de.kt"; ku: "de.ku"; kv: "de.kv"; kw: "de.kw"; kx: "de.kx"; ky: "de.ky"; kz: "de.kz"; la: "de.la"; lb: "de.lb"; lc: "de.lc"; ld: "de.ld"; le: "de.le"; lf: "de.lf"; lg: "de.lg"; lh: "de.lh"; li: "de.li"; lj: "de.lj"; lk: "de.lk"; ll: "de.ll"; lm: "de.lm"; ln: "de.ln"; lo: "de.lo"; lp: "de.lp"; lq: "de.lq"; lr: "de.lr"; ls: "de.ls"; lt: "de.lt"; lu: "de.lu"; lv: "de.lv"; lw: "de.lw"; lx: "de.lx"; ly: "de.ly"; lz: "de.lz"; ma: "de.ma"; mb: "de.mb"; mc: "de.mc"; md: "de.md"; me: "de.me"; mf: "de.mf"; mg: "de.mg"; mh: "de.mh"; mi: "de.mi"; mj: "de.mj"; mk: "de.mk"; ml: "de.ml"; mm: "de.mm"; mn: "de.mn"; mo: "de.mo"; mp: "de.mp"; mq: "de.mq"; mr: "de.mr"; ms: "de.ms"; mt: "de.mt"; mu: "de.mu"; mv: "de.mv"; mw: "de.mw"; mx: "de.mx"; my: "de.my"; mz: "de.mz"; na: "de.na"; nb: "de.nb"; nc: "de.nc"; nd: "de.nd"; ne: "de.ne"; nf: "de.nf"; ng: "de.ng"; nh: "de.nh"; ni: "de.ni"; nj: "de.nj"; nk: "de.nk"; nl: "de.nl"; nm: "de.nm"; nn: "de.nn"; no: "de.no"; np: "de.np"; nq: "de.nq"; nr: "de.nr"; ns: "de.ns"; nt: "de.nt"; nu: "de.nu"; nv: "de.nv"; nw: "de.nw"; nx: "de.nx"; ny: "de.ny"; nz: "de.nz"; oa: "de.oa"; ob: "de.ob"; oc: "de.oc"; od: "de.od"; oe: "de.oe"; of: "de.of"; og: "de.og"; oh: "de.oh"; oi: "de.oi"; oj: "de.oj"; ok: "de.ok"; ol: "de.ol"; om: "de.om"; on: "de.on"; oo: "de.oo"; op: "de.op"; oq: "de.oq"; or: "de.or"; os: "de.os"; ot: "de.ot"; ou: "de.ou"; ov: "de.ov"; ow: "de.ow"; ox: "de.ox"; oy: "de.oy"; oz: "de.oz"; pa: "de.pa"; pb: "de.pb"; pc: "de.pc"; pd: "de.pd"; pe: "de.pe"; pf: "de.pf"; pg: "de.pg"; ph: "de.ph"; pi: "de.pi"; pj: "de.pj"; pk: "de.pk"; pl: "de.pl"; pm: "de.pm"; pn: "de.pn"; po: "de.po"; pp: "de.pp"; pq: "de.pq"; pr: "de.pr"; ps: "de.ps"; pt: "de.pt"; pu: "de.pu"; pv: "de.pv"; pw: "de.pw"; px: "de.px"; py: "de.py"; pz: "de.pz"; qa: "de.qa"; qb: "de.qb"; qc: "de.qc"; qd: "de.qd"; qe: "de.qe"; qf: "de.qf"; qg: "de.qg"; qh: "de.qh"; qi: "de.qi"; qj: "de.qj"; qk: "de.qk"; ql: "de.ql"; qm: "de.qm"; qn: "de.qn"; qo: "de.qo"; qp: "de.qp"; qq: "de.qq"; qr: "de.qr"; qs: "de.qs"; qt: "de.qt"; qu: "de.qu"; qv: "de.qv"; qw: "de.qw"; qx: "de.qx"; qy: "de.qy"; qz: "de.qz"; ra: "de.ra"; rb: "de.rb"; rc: "de.rc"; rd: "de.rd"; re: "de.re"; rf: "de.rf"; rg: "de.rg"; rh: "de.rh"; ri: "de.ri"; rj: "de.rj"; rk: "de.rk"; rl: "de.rl"; rm: "de.rm"; rn: "de.rn"; ro: "de.ro"; rp: "de.rp"; rq: "de.rq"; rr: "de.rr"; rs: "de.rs"; rt: "de.rt"; ru: "de.ru"; rv: "de.rv"; rw: "de.rw"; rx: "de.rx"; ry: "de.ry"; rz: "de.rz"; sa: "de.sa"; sb: "de.sb"; sc: "de.sc"; sd: "de.sd"; se: "de.se"; sf: "de.sf"; sg: "de.sg"; sh: "de.sh"; si: "de.si"; sj: "de.sj"; sk: "de.sk"; sl: "de.sl"; sm: "de.sm"; sn: "de.sn"; so: "de.so"; sp: "de.sp"; sq: "de.sq"; sr: "de.sr"; ss: "de.ss"; st: "de.st"; su: "de.su"; sv: "de.sv"; sw: "de.sw"; sx: "de.sx"; sy: "de.sy"; sz: "de.sz"; ta: "de.ta"; tb: "de.tb"; tc: "de.tc"; td: "de.td"; te: "de.te"; tf: "de.tf"; tg: "de.tg"; th: "de.th"; ti: "de.ti"; tj: "de.tj"; tk: "de.tk"; tl: "de.tl"; tm: "de.tm"; tn: "de.tn"; to: "de.to"; tp: "de.tp"; tq: "de.tq"; tr: "de.tr"; ts: "de.ts"; tt: "de.tt"; tu: "de.tu"; tv: "de.tv"; tw: "de.tw"; tx: "de.tx"; ty: "de.ty"; tz: "de.tz"; ua: "de.ua"; ub: "de.ub"; uc: "de.uc"; ud: "de.ud"; ue: "de.ue"; uf: "de.uf"; ug: "de.ug"; uh: "de.uh"; ui: "de.ui"; uj: "de.uj"; uk: "de.uk"; ul: "de.ul"; um: "de.um"; un: "de.un"; uo: "de.uo"; up: "de.up"; uq: "de.uq"; ur: "de.ur"; us: "de.us"; ut: "de.ut"; uu: "de.uu"; uv: "de.uv"; uw: "de.uw"; ux: "de.ux"; uy: "de.uy"; uz: "de.uz"; va: "de.va"; vb: "de.vb"; vc: "de.vc"; vd: "de.vd"; ve: "de.ve"; vf: "de.vf"; vg: "de.vg"; vh: "de.vh"; vi: "de.vi"; vj: "de.vj"; vk: "de.vk"; vl: "de.vl"; vm: "de.vm"; vn: "de.vn"; vo: "de.vo"; vp: "de.vp"; vq: "de.vq"; vr: "de.vr"; vs: "de.vs"; vt: "de.vt"; vu: "de.vu"; vv: "de.vv"; vw: "de.vw"; vx: "de.vx"; vy: "de.vy"; vz: "de.vz"; wa: "de.wa"; wb: "de.wb"; wc: "de.wc"; wd: "de.wd"; we: "de.we"; wf: "de.wf"; wg: "de.wg"; wh: "de.wh"; wi: "de.wi"; wj: "de.wj"; wk: "de.wk"; wl: "de.wl"; wm: "de.wm"; wn: "de.wn"; wo: "de.wo"; wp: "de.wp"; wq: "de.wq"; wr: "de.wr"; ws: "de.ws"; wt: "de.wt"; wu: "de.wu"; wv: "de.wv"; ww: "de.ww"; wx: "de.wx"; wy: "de.wy"; wz: "de.wz"; xa: "de.xa"; xb: "de.xb"; xc: "de.xc"; xd: "de.xd"; xe: "de.xe"; xf: "de.xf"; xg: "de.xg"; xh: "de.xh"; xi: "de.xi"; xj: "de.xj"; xk: "de.xk"; xl: "de.xl"; xm: "de.xm"; xn: "de.xn"; xo: "de.xo"; xp: "de.xp"; xq: "de.xq"; xr: "de.xr"; xs: "de.xs"; xt: "de.xt"; xu: "de.xu"; xv: "de.xv"; xw: "de.xw"; xx: "de.xx"; xy: "de.xy"; xz: "de.xz"; ya: "de.ya"; yb: "de.yb"; yc: "de.yc"; yd: "de.yd"; ye: "de.ye"; yf: "de.yf"; yg: "de.yg"; yh: "de.yh"; yi: "de.yi"; yj: "de.yj"; yk: "de.yk"; yl: "de.yl"; ym: "de.ym"; yn: "de.yn"; yo: "de.yo"; yp: "de.yp"; yq: "de.yq"; yr: "de.yr"; ys: "de.ys"; yt: "de.yt"; yu: "de.yu"; yv: "de.yv"; yw: "de.yw"; yx: "de.yx"; yy: "de.yy"; yz: "de.yz"; za: "de.za"; zb: "de.zb"; zc: "de.zc"; zd: "de.zd"; ze: "de.ze"; zf: "de.zf"; zg: "de.zg"; zh: "de.zh"; zi: "de.zi"; zj: "de.zj"; zk: "de.zk"; zl: "de.zl"; zm: "de.zm"; zn: "de.zn"; zo: "de.zo"; zp: "de.zp"; zq: "de.zq"; zr: "de.zr"; zs: "de.zs"; zt: "de.zt"; zu: "de.zu"; zv: "de.zv"; zw: "de.zw"; zx: "de.zx"; zy: "de.zy"; zz: "de.zz"; }; df: { aa: "df.aa"; ab: "df.ab"; ac: "df.ac"; ad: "df.ad"; ae: "df.ae"; af: "df.af"; ag: "df.ag"; ah: "df.ah"; ai: "df.ai"; aj: "df.aj"; ak: "df.ak"; al: "df.al"; am: "df.am"; an: "df.an"; ao: "df.ao"; ap: "df.ap"; aq: "df.aq"; ar: "df.ar"; as: "df.as"; at: "df.at"; au: "df.au"; av: "df.av"; aw: "df.aw"; ax: "df.ax"; ay: "df.ay"; az: "df.az"; ba: "df.ba"; bb: "df.bb"; bc: "df.bc"; bd: "df.bd"; be: "df.be"; bf: "df.bf"; bg: "df.bg"; bh: "df.bh"; bi: "df.bi"; bj: "df.bj"; bk: "df.bk"; bl: "df.bl"; bm: "df.bm"; bn: "df.bn"; bo: "df.bo"; bp: "df.bp"; bq: "df.bq"; br: "df.br"; bs: "df.bs"; bt: "df.bt"; bu: "df.bu"; bv: "df.bv"; bw: "df.bw"; bx: "df.bx"; by: "df.by"; bz: "df.bz"; ca: "df.ca"; cb: "df.cb"; cc: "df.cc"; cd: "df.cd"; ce: "df.ce"; cf: "df.cf"; cg: "df.cg"; ch: "df.ch"; ci: "df.ci"; cj: "df.cj"; ck: "df.ck"; cl: "df.cl"; cm: "df.cm"; cn: "df.cn"; co: "df.co"; cp: "df.cp"; cq: "df.cq"; cr: "df.cr"; cs: "df.cs"; ct: "df.ct"; cu: "df.cu"; cv: "df.cv"; cw: "df.cw"; cx: "df.cx"; cy: "df.cy"; cz: "df.cz"; da: "df.da"; db: "df.db"; dc: "df.dc"; dd: "df.dd"; de: "df.de"; df: "df.df"; dg: "df.dg"; dh: "df.dh"; di: "df.di"; dj: "df.dj"; dk: "df.dk"; dl: "df.dl"; dm: "df.dm"; dn: "df.dn"; do: "df.do"; dp: "df.dp"; dq: "df.dq"; dr: "df.dr"; ds: "df.ds"; dt: "df.dt"; du: "df.du"; dv: "df.dv"; dw: "df.dw"; dx: "df.dx"; dy: "df.dy"; dz: "df.dz"; ea: "df.ea"; eb: "df.eb"; ec: "df.ec"; ed: "df.ed"; ee: "df.ee"; ef: "df.ef"; eg: "df.eg"; eh: "df.eh"; ei: "df.ei"; ej: "df.ej"; ek: "df.ek"; el: "df.el"; em: "df.em"; en: "df.en"; eo: "df.eo"; ep: "df.ep"; eq: "df.eq"; er: "df.er"; es: "df.es"; et: "df.et"; eu: "df.eu"; ev: "df.ev"; ew: "df.ew"; ex: "df.ex"; ey: "df.ey"; ez: "df.ez"; fa: "df.fa"; fb: "df.fb"; fc: "df.fc"; fd: "df.fd"; fe: "df.fe"; ff: "df.ff"; fg: "df.fg"; fh: "df.fh"; fi: "df.fi"; fj: "df.fj"; fk: "df.fk"; fl: "df.fl"; fm: "df.fm"; fn: "df.fn"; fo: "df.fo"; fp: "df.fp"; fq: "df.fq"; fr: "df.fr"; fs: "df.fs"; ft: "df.ft"; fu: "df.fu"; fv: "df.fv"; fw: "df.fw"; fx: "df.fx"; fy: "df.fy"; fz: "df.fz"; ga: "df.ga"; gb: "df.gb"; gc: "df.gc"; gd: "df.gd"; ge: "df.ge"; gf: "df.gf"; gg: "df.gg"; gh: "df.gh"; gi: "df.gi"; gj: "df.gj"; gk: "df.gk"; gl: "df.gl"; gm: "df.gm"; gn: "df.gn"; go: "df.go"; gp: "df.gp"; gq: "df.gq"; gr: "df.gr"; gs: "df.gs"; gt: "df.gt"; gu: "df.gu"; gv: "df.gv"; gw: "df.gw"; gx: "df.gx"; gy: "df.gy"; gz: "df.gz"; ha: "df.ha"; hb: "df.hb"; hc: "df.hc"; hd: "df.hd"; he: "df.he"; hf: "df.hf"; hg: "df.hg"; hh: "df.hh"; hi: "df.hi"; hj: "df.hj"; hk: "df.hk"; hl: "df.hl"; hm: "df.hm"; hn: "df.hn"; ho: "df.ho"; hp: "df.hp"; hq: "df.hq"; hr: "df.hr"; hs: "df.hs"; ht: "df.ht"; hu: "df.hu"; hv: "df.hv"; hw: "df.hw"; hx: "df.hx"; hy: "df.hy"; hz: "df.hz"; ia: "df.ia"; ib: "df.ib"; ic: "df.ic"; id: "df.id"; ie: "df.ie"; if: "df.if"; ig: "df.ig"; ih: "df.ih"; ii: "df.ii"; ij: "df.ij"; ik: "df.ik"; il: "df.il"; im: "df.im"; in: "df.in"; io: "df.io"; ip: "df.ip"; iq: "df.iq"; ir: "df.ir"; is: "df.is"; it: "df.it"; iu: "df.iu"; iv: "df.iv"; iw: "df.iw"; ix: "df.ix"; iy: "df.iy"; iz: "df.iz"; ja: "df.ja"; jb: "df.jb"; jc: "df.jc"; jd: "df.jd"; je: "df.je"; jf: "df.jf"; jg: "df.jg"; jh: "df.jh"; ji: "df.ji"; jj: "df.jj"; jk: "df.jk"; jl: "df.jl"; jm: "df.jm"; jn: "df.jn"; jo: "df.jo"; jp: "df.jp"; jq: "df.jq"; jr: "df.jr"; js: "df.js"; jt: "df.jt"; ju: "df.ju"; jv: "df.jv"; jw: "df.jw"; jx: "df.jx"; jy: "df.jy"; jz: "df.jz"; ka: "df.ka"; kb: "df.kb"; kc: "df.kc"; kd: "df.kd"; ke: "df.ke"; kf: "df.kf"; kg: "df.kg"; kh: "df.kh"; ki: "df.ki"; kj: "df.kj"; kk: "df.kk"; kl: "df.kl"; km: "df.km"; kn: "df.kn"; ko: "df.ko"; kp: "df.kp"; kq: "df.kq"; kr: "df.kr"; ks: "df.ks"; kt: "df.kt"; ku: "df.ku"; kv: "df.kv"; kw: "df.kw"; kx: "df.kx"; ky: "df.ky"; kz: "df.kz"; la: "df.la"; lb: "df.lb"; lc: "df.lc"; ld: "df.ld"; le: "df.le"; lf: "df.lf"; lg: "df.lg"; lh: "df.lh"; li: "df.li"; lj: "df.lj"; lk: "df.lk"; ll: "df.ll"; lm: "df.lm"; ln: "df.ln"; lo: "df.lo"; lp: "df.lp"; lq: "df.lq"; lr: "df.lr"; ls: "df.ls"; lt: "df.lt"; lu: "df.lu"; lv: "df.lv"; lw: "df.lw"; lx: "df.lx"; ly: "df.ly"; lz: "df.lz"; ma: "df.ma"; mb: "df.mb"; mc: "df.mc"; md: "df.md"; me: "df.me"; mf: "df.mf"; mg: "df.mg"; mh: "df.mh"; mi: "df.mi"; mj: "df.mj"; mk: "df.mk"; ml: "df.ml"; mm: "df.mm"; mn: "df.mn"; mo: "df.mo"; mp: "df.mp"; mq: "df.mq"; mr: "df.mr"; ms: "df.ms"; mt: "df.mt"; mu: "df.mu"; mv: "df.mv"; mw: "df.mw"; mx: "df.mx"; my: "df.my"; mz: "df.mz"; na: "df.na"; nb: "df.nb"; nc: "df.nc"; nd: "df.nd"; ne: "df.ne"; nf: "df.nf"; ng: "df.ng"; nh: "df.nh"; ni: "df.ni"; nj: "df.nj"; nk: "df.nk"; nl: "df.nl"; nm: "df.nm"; nn: "df.nn"; no: "df.no"; np: "df.np"; nq: "df.nq"; nr: "df.nr"; ns: "df.ns"; nt: "df.nt"; nu: "df.nu"; nv: "df.nv"; nw: "df.nw"; nx: "df.nx"; ny: "df.ny"; nz: "df.nz"; oa: "df.oa"; ob: "df.ob"; oc: "df.oc"; od: "df.od"; oe: "df.oe"; of: "df.of"; og: "df.og"; oh: "df.oh"; oi: "df.oi"; oj: "df.oj"; ok: "df.ok"; ol: "df.ol"; om: "df.om"; on: "df.on"; oo: "df.oo"; op: "df.op"; oq: "df.oq"; or: "df.or"; os: "df.os"; ot: "df.ot"; ou: "df.ou"; ov: "df.ov"; ow: "df.ow"; ox: "df.ox"; oy: "df.oy"; oz: "df.oz"; pa: "df.pa"; pb: "df.pb"; pc: "df.pc"; pd: "df.pd"; pe: "df.pe"; pf: "df.pf"; pg: "df.pg"; ph: "df.ph"; pi: "df.pi"; pj: "df.pj"; pk: "df.pk"; pl: "df.pl"; pm: "df.pm"; pn: "df.pn"; po: "df.po"; pp: "df.pp"; pq: "df.pq"; pr: "df.pr"; ps: "df.ps"; pt: "df.pt"; pu: "df.pu"; pv: "df.pv"; pw: "df.pw"; px: "df.px"; py: "df.py"; pz: "df.pz"; qa: "df.qa"; qb: "df.qb"; qc: "df.qc"; qd: "df.qd"; qe: "df.qe"; qf: "df.qf"; qg: "df.qg"; qh: "df.qh"; qi: "df.qi"; qj: "df.qj"; qk: "df.qk"; ql: "df.ql"; qm: "df.qm"; qn: "df.qn"; qo: "df.qo"; qp: "df.qp"; qq: "df.qq"; qr: "df.qr"; qs: "df.qs"; qt: "df.qt"; qu: "df.qu"; qv: "df.qv"; qw: "df.qw"; qx: "df.qx"; qy: "df.qy"; qz: "df.qz"; ra: "df.ra"; rb: "df.rb"; rc: "df.rc"; rd: "df.rd"; re: "df.re"; rf: "df.rf"; rg: "df.rg"; rh: "df.rh"; ri: "df.ri"; rj: "df.rj"; rk: "df.rk"; rl: "df.rl"; rm: "df.rm"; rn: "df.rn"; ro: "df.ro"; rp: "df.rp"; rq: "df.rq"; rr: "df.rr"; rs: "df.rs"; rt: "df.rt"; ru: "df.ru"; rv: "df.rv"; rw: "df.rw"; rx: "df.rx"; ry: "df.ry"; rz: "df.rz"; sa: "df.sa"; sb: "df.sb"; sc: "df.sc"; sd: "df.sd"; se: "df.se"; sf: "df.sf"; sg: "df.sg"; sh: "df.sh"; si: "df.si"; sj: "df.sj"; sk: "df.sk"; sl: "df.sl"; sm: "df.sm"; sn: "df.sn"; so: "df.so"; sp: "df.sp"; sq: "df.sq"; sr: "df.sr"; ss: "df.ss"; st: "df.st"; su: "df.su"; sv: "df.sv"; sw: "df.sw"; sx: "df.sx"; sy: "df.sy"; sz: "df.sz"; ta: "df.ta"; tb: "df.tb"; tc: "df.tc"; td: "df.td"; te: "df.te"; tf: "df.tf"; tg: "df.tg"; th: "df.th"; ti: "df.ti"; tj: "df.tj"; tk: "df.tk"; tl: "df.tl"; tm: "df.tm"; tn: "df.tn"; to: "df.to"; tp: "df.tp"; tq: "df.tq"; tr: "df.tr"; ts: "df.ts"; tt: "df.tt"; tu: "df.tu"; tv: "df.tv"; tw: "df.tw"; tx: "df.tx"; ty: "df.ty"; tz: "df.tz"; ua: "df.ua"; ub: "df.ub"; uc: "df.uc"; ud: "df.ud"; ue: "df.ue"; uf: "df.uf"; ug: "df.ug"; uh: "df.uh"; ui: "df.ui"; uj: "df.uj"; uk: "df.uk"; ul: "df.ul"; um: "df.um"; un: "df.un"; uo: "df.uo"; up: "df.up"; uq: "df.uq"; ur: "df.ur"; us: "df.us"; ut: "df.ut"; uu: "df.uu"; uv: "df.uv"; uw: "df.uw"; ux: "df.ux"; uy: "df.uy"; uz: "df.uz"; va: "df.va"; vb: "df.vb"; vc: "df.vc"; vd: "df.vd"; ve: "df.ve"; vf: "df.vf"; vg: "df.vg"; vh: "df.vh"; vi: "df.vi"; vj: "df.vj"; vk: "df.vk"; vl: "df.vl"; vm: "df.vm"; vn: "df.vn"; vo: "df.vo"; vp: "df.vp"; vq: "df.vq"; vr: "df.vr"; vs: "df.vs"; vt: "df.vt"; vu: "df.vu"; vv: "df.vv"; vw: "df.vw"; vx: "df.vx"; vy: "df.vy"; vz: "df.vz"; wa: "df.wa"; wb: "df.wb"; wc: "df.wc"; wd: "df.wd"; we: "df.we"; wf: "df.wf"; wg: "df.wg"; wh: "df.wh"; wi: "df.wi"; wj: "df.wj"; wk: "df.wk"; wl: "df.wl"; wm: "df.wm"; wn: "df.wn"; wo: "df.wo"; wp: "df.wp"; wq: "df.wq"; wr: "df.wr"; ws: "df.ws"; wt: "df.wt"; wu: "df.wu"; wv: "df.wv"; ww: "df.ww"; wx: "df.wx"; wy: "df.wy"; wz: "df.wz"; xa: "df.xa"; xb: "df.xb"; xc: "df.xc"; xd: "df.xd"; xe: "df.xe"; xf: "df.xf"; xg: "df.xg"; xh: "df.xh"; xi: "df.xi"; xj: "df.xj"; xk: "df.xk"; xl: "df.xl"; xm: "df.xm"; xn: "df.xn"; xo: "df.xo"; xp: "df.xp"; xq: "df.xq"; xr: "df.xr"; xs: "df.xs"; xt: "df.xt"; xu: "df.xu"; xv: "df.xv"; xw: "df.xw"; xx: "df.xx"; xy: "df.xy"; xz: "df.xz"; ya: "df.ya"; yb: "df.yb"; yc: "df.yc"; yd: "df.yd"; ye: "df.ye"; yf: "df.yf"; yg: "df.yg"; yh: "df.yh"; yi: "df.yi"; yj: "df.yj"; yk: "df.yk"; yl: "df.yl"; ym: "df.ym"; yn: "df.yn"; yo: "df.yo"; yp: "df.yp"; yq: "df.yq"; yr: "df.yr"; ys: "df.ys"; yt: "df.yt"; yu: "df.yu"; yv: "df.yv"; yw: "df.yw"; yx: "df.yx"; yy: "df.yy"; yz: "df.yz"; za: "df.za"; zb: "df.zb"; zc: "df.zc"; zd: "df.zd"; ze: "df.ze"; zf: "df.zf"; zg: "df.zg"; zh: "df.zh"; zi: "df.zi"; zj: "df.zj"; zk: "df.zk"; zl: "df.zl"; zm: "df.zm"; zn: "df.zn"; zo: "df.zo"; zp: "df.zp"; zq: "df.zq"; zr: "df.zr"; zs: "df.zs"; zt: "df.zt"; zu: "df.zu"; zv: "df.zv"; zw: "df.zw"; zx: "df.zx"; zy: "df.zy"; zz: "df.zz"; }; dg: { aa: "dg.aa"; ab: "dg.ab"; ac: "dg.ac"; ad: "dg.ad"; ae: "dg.ae"; af: "dg.af"; ag: "dg.ag"; ah: "dg.ah"; ai: "dg.ai"; aj: "dg.aj"; ak: "dg.ak"; al: "dg.al"; am: "dg.am"; an: "dg.an"; ao: "dg.ao"; ap: "dg.ap"; aq: "dg.aq"; ar: "dg.ar"; as: "dg.as"; at: "dg.at"; au: "dg.au"; av: "dg.av"; aw: "dg.aw"; ax: "dg.ax"; ay: "dg.ay"; az: "dg.az"; ba: "dg.ba"; bb: "dg.bb"; bc: "dg.bc"; bd: "dg.bd"; be: "dg.be"; bf: "dg.bf"; bg: "dg.bg"; bh: "dg.bh"; bi: "dg.bi"; bj: "dg.bj"; bk: "dg.bk"; bl: "dg.bl"; bm: "dg.bm"; bn: "dg.bn"; bo: "dg.bo"; bp: "dg.bp"; bq: "dg.bq"; br: "dg.br"; bs: "dg.bs"; bt: "dg.bt"; bu: "dg.bu"; bv: "dg.bv"; bw: "dg.bw"; bx: "dg.bx"; by: "dg.by"; bz: "dg.bz"; ca: "dg.ca"; cb: "dg.cb"; cc: "dg.cc"; cd: "dg.cd"; ce: "dg.ce"; cf: "dg.cf"; cg: "dg.cg"; ch: "dg.ch"; ci: "dg.ci"; cj: "dg.cj"; ck: "dg.ck"; cl: "dg.cl"; cm: "dg.cm"; cn: "dg.cn"; co: "dg.co"; cp: "dg.cp"; cq: "dg.cq"; cr: "dg.cr"; cs: "dg.cs"; ct: "dg.ct"; cu: "dg.cu"; cv: "dg.cv"; cw: "dg.cw"; cx: "dg.cx"; cy: "dg.cy"; cz: "dg.cz"; da: "dg.da"; db: "dg.db"; dc: "dg.dc"; dd: "dg.dd"; de: "dg.de"; df: "dg.df"; dg: "dg.dg"; dh: "dg.dh"; di: "dg.di"; dj: "dg.dj"; dk: "dg.dk"; dl: "dg.dl"; dm: "dg.dm"; dn: "dg.dn"; do: "dg.do"; dp: "dg.dp"; dq: "dg.dq"; dr: "dg.dr"; ds: "dg.ds"; dt: "dg.dt"; du: "dg.du"; dv: "dg.dv"; dw: "dg.dw"; dx: "dg.dx"; dy: "dg.dy"; dz: "dg.dz"; ea: "dg.ea"; eb: "dg.eb"; ec: "dg.ec"; ed: "dg.ed"; ee: "dg.ee"; ef: "dg.ef"; eg: "dg.eg"; eh: "dg.eh"; ei: "dg.ei"; ej: "dg.ej"; ek: "dg.ek"; el: "dg.el"; em: "dg.em"; en: "dg.en"; eo: "dg.eo"; ep: "dg.ep"; eq: "dg.eq"; er: "dg.er"; es: "dg.es"; et: "dg.et"; eu: "dg.eu"; ev: "dg.ev"; ew: "dg.ew"; ex: "dg.ex"; ey: "dg.ey"; ez: "dg.ez"; fa: "dg.fa"; fb: "dg.fb"; fc: "dg.fc"; fd: "dg.fd"; fe: "dg.fe"; ff: "dg.ff"; fg: "dg.fg"; fh: "dg.fh"; fi: "dg.fi"; fj: "dg.fj"; fk: "dg.fk"; fl: "dg.fl"; fm: "dg.fm"; fn: "dg.fn"; fo: "dg.fo"; fp: "dg.fp"; fq: "dg.fq"; fr: "dg.fr"; fs: "dg.fs"; ft: "dg.ft"; fu: "dg.fu"; fv: "dg.fv"; fw: "dg.fw"; fx: "dg.fx"; fy: "dg.fy"; fz: "dg.fz"; ga: "dg.ga"; gb: "dg.gb"; gc: "dg.gc"; gd: "dg.gd"; ge: "dg.ge"; gf: "dg.gf"; gg: "dg.gg"; gh: "dg.gh"; gi: "dg.gi"; gj: "dg.gj"; gk: "dg.gk"; gl: "dg.gl"; gm: "dg.gm"; gn: "dg.gn"; go: "dg.go"; gp: "dg.gp"; gq: "dg.gq"; gr: "dg.gr"; gs: "dg.gs"; gt: "dg.gt"; gu: "dg.gu"; gv: "dg.gv"; gw: "dg.gw"; gx: "dg.gx"; gy: "dg.gy"; gz: "dg.gz"; ha: "dg.ha"; hb: "dg.hb"; hc: "dg.hc"; hd: "dg.hd"; he: "dg.he"; hf: "dg.hf"; hg: "dg.hg"; hh: "dg.hh"; hi: "dg.hi"; hj: "dg.hj"; hk: "dg.hk"; hl: "dg.hl"; hm: "dg.hm"; hn: "dg.hn"; ho: "dg.ho"; hp: "dg.hp"; hq: "dg.hq"; hr: "dg.hr"; hs: "dg.hs"; ht: "dg.ht"; hu: "dg.hu"; hv: "dg.hv"; hw: "dg.hw"; hx: "dg.hx"; hy: "dg.hy"; hz: "dg.hz"; ia: "dg.ia"; ib: "dg.ib"; ic: "dg.ic"; id: "dg.id"; ie: "dg.ie"; if: "dg.if"; ig: "dg.ig"; ih: "dg.ih"; ii: "dg.ii"; ij: "dg.ij"; ik: "dg.ik"; il: "dg.il"; im: "dg.im"; in: "dg.in"; io: "dg.io"; ip: "dg.ip"; iq: "dg.iq"; ir: "dg.ir"; is: "dg.is"; it: "dg.it"; iu: "dg.iu"; iv: "dg.iv"; iw: "dg.iw"; ix: "dg.ix"; iy: "dg.iy"; iz: "dg.iz"; ja: "dg.ja"; jb: "dg.jb"; jc: "dg.jc"; jd: "dg.jd"; je: "dg.je"; jf: "dg.jf"; jg: "dg.jg"; jh: "dg.jh"; ji: "dg.ji"; jj: "dg.jj"; jk: "dg.jk"; jl: "dg.jl"; jm: "dg.jm"; jn: "dg.jn"; jo: "dg.jo"; jp: "dg.jp"; jq: "dg.jq"; jr: "dg.jr"; js: "dg.js"; jt: "dg.jt"; ju: "dg.ju"; jv: "dg.jv"; jw: "dg.jw"; jx: "dg.jx"; jy: "dg.jy"; jz: "dg.jz"; ka: "dg.ka"; kb: "dg.kb"; kc: "dg.kc"; kd: "dg.kd"; ke: "dg.ke"; kf: "dg.kf"; kg: "dg.kg"; kh: "dg.kh"; ki: "dg.ki"; kj: "dg.kj"; kk: "dg.kk"; kl: "dg.kl"; km: "dg.km"; kn: "dg.kn"; ko: "dg.ko"; kp: "dg.kp"; kq: "dg.kq"; kr: "dg.kr"; ks: "dg.ks"; kt: "dg.kt"; ku: "dg.ku"; kv: "dg.kv"; kw: "dg.kw"; kx: "dg.kx"; ky: "dg.ky"; kz: "dg.kz"; la: "dg.la"; lb: "dg.lb"; lc: "dg.lc"; ld: "dg.ld"; le: "dg.le"; lf: "dg.lf"; lg: "dg.lg"; lh: "dg.lh"; li: "dg.li"; lj: "dg.lj"; lk: "dg.lk"; ll: "dg.ll"; lm: "dg.lm"; ln: "dg.ln"; lo: "dg.lo"; lp: "dg.lp"; lq: "dg.lq"; lr: "dg.lr"; ls: "dg.ls"; lt: "dg.lt"; lu: "dg.lu"; lv: "dg.lv"; lw: "dg.lw"; lx: "dg.lx"; ly: "dg.ly"; lz: "dg.lz"; ma: "dg.ma"; mb: "dg.mb"; mc: "dg.mc"; md: "dg.md"; me: "dg.me"; mf: "dg.mf"; mg: "dg.mg"; mh: "dg.mh"; mi: "dg.mi"; mj: "dg.mj"; mk: "dg.mk"; ml: "dg.ml"; mm: "dg.mm"; mn: "dg.mn"; mo: "dg.mo"; mp: "dg.mp"; mq: "dg.mq"; mr: "dg.mr"; ms: "dg.ms"; mt: "dg.mt"; mu: "dg.mu"; mv: "dg.mv"; mw: "dg.mw"; mx: "dg.mx"; my: "dg.my"; mz: "dg.mz"; na: "dg.na"; nb: "dg.nb"; nc: "dg.nc"; nd: "dg.nd"; ne: "dg.ne"; nf: "dg.nf"; ng: "dg.ng"; nh: "dg.nh"; ni: "dg.ni"; nj: "dg.nj"; nk: "dg.nk"; nl: "dg.nl"; nm: "dg.nm"; nn: "dg.nn"; no: "dg.no"; np: "dg.np"; nq: "dg.nq"; nr: "dg.nr"; ns: "dg.ns"; nt: "dg.nt"; nu: "dg.nu"; nv: "dg.nv"; nw: "dg.nw"; nx: "dg.nx"; ny: "dg.ny"; nz: "dg.nz"; oa: "dg.oa"; ob: "dg.ob"; oc: "dg.oc"; od: "dg.od"; oe: "dg.oe"; of: "dg.of"; og: "dg.og"; oh: "dg.oh"; oi: "dg.oi"; oj: "dg.oj"; ok: "dg.ok"; ol: "dg.ol"; om: "dg.om"; on: "dg.on"; oo: "dg.oo"; op: "dg.op"; oq: "dg.oq"; or: "dg.or"; os: "dg.os"; ot: "dg.ot"; ou: "dg.ou"; ov: "dg.ov"; ow: "dg.ow"; ox: "dg.ox"; oy: "dg.oy"; oz: "dg.oz"; pa: "dg.pa"; pb: "dg.pb"; pc: "dg.pc"; pd: "dg.pd"; pe: "dg.pe"; pf: "dg.pf"; pg: "dg.pg"; ph: "dg.ph"; pi: "dg.pi"; pj: "dg.pj"; pk: "dg.pk"; pl: "dg.pl"; pm: "dg.pm"; pn: "dg.pn"; po: "dg.po"; pp: "dg.pp"; pq: "dg.pq"; pr: "dg.pr"; ps: "dg.ps"; pt: "dg.pt"; pu: "dg.pu"; pv: "dg.pv"; pw: "dg.pw"; px: "dg.px"; py: "dg.py"; pz: "dg.pz"; qa: "dg.qa"; qb: "dg.qb"; qc: "dg.qc"; qd: "dg.qd"; qe: "dg.qe"; qf: "dg.qf"; qg: "dg.qg"; qh: "dg.qh"; qi: "dg.qi"; qj: "dg.qj"; qk: "dg.qk"; ql: "dg.ql"; qm: "dg.qm"; qn: "dg.qn"; qo: "dg.qo"; qp: "dg.qp"; qq: "dg.qq"; qr: "dg.qr"; qs: "dg.qs"; qt: "dg.qt"; qu: "dg.qu"; qv: "dg.qv"; qw: "dg.qw"; qx: "dg.qx"; qy: "dg.qy"; qz: "dg.qz"; ra: "dg.ra"; rb: "dg.rb"; rc: "dg.rc"; rd: "dg.rd"; re: "dg.re"; rf: "dg.rf"; rg: "dg.rg"; rh: "dg.rh"; ri: "dg.ri"; rj: "dg.rj"; rk: "dg.rk"; rl: "dg.rl"; rm: "dg.rm"; rn: "dg.rn"; ro: "dg.ro"; rp: "dg.rp"; rq: "dg.rq"; rr: "dg.rr"; rs: "dg.rs"; rt: "dg.rt"; ru: "dg.ru"; rv: "dg.rv"; rw: "dg.rw"; rx: "dg.rx"; ry: "dg.ry"; rz: "dg.rz"; sa: "dg.sa"; sb: "dg.sb"; sc: "dg.sc"; sd: "dg.sd"; se: "dg.se"; sf: "dg.sf"; sg: "dg.sg"; sh: "dg.sh"; si: "dg.si"; sj: "dg.sj"; sk: "dg.sk"; sl: "dg.sl"; sm: "dg.sm"; sn: "dg.sn"; so: "dg.so"; sp: "dg.sp"; sq: "dg.sq"; sr: "dg.sr"; ss: "dg.ss"; st: "dg.st"; su: "dg.su"; sv: "dg.sv"; sw: "dg.sw"; sx: "dg.sx"; sy: "dg.sy"; sz: "dg.sz"; ta: "dg.ta"; tb: "dg.tb"; tc: "dg.tc"; td: "dg.td"; te: "dg.te"; tf: "dg.tf"; tg: "dg.tg"; th: "dg.th"; ti: "dg.ti"; tj: "dg.tj"; tk: "dg.tk"; tl: "dg.tl"; tm: "dg.tm"; tn: "dg.tn"; to: "dg.to"; tp: "dg.tp"; tq: "dg.tq"; tr: "dg.tr"; ts: "dg.ts"; tt: "dg.tt"; tu: "dg.tu"; tv: "dg.tv"; tw: "dg.tw"; tx: "dg.tx"; ty: "dg.ty"; tz: "dg.tz"; ua: "dg.ua"; ub: "dg.ub"; uc: "dg.uc"; ud: "dg.ud"; ue: "dg.ue"; uf: "dg.uf"; ug: "dg.ug"; uh: "dg.uh"; ui: "dg.ui"; uj: "dg.uj"; uk: "dg.uk"; ul: "dg.ul"; um: "dg.um"; un: "dg.un"; uo: "dg.uo"; up: "dg.up"; uq: "dg.uq"; ur: "dg.ur"; us: "dg.us"; ut: "dg.ut"; uu: "dg.uu"; uv: "dg.uv"; uw: "dg.uw"; ux: "dg.ux"; uy: "dg.uy"; uz: "dg.uz"; va: "dg.va"; vb: "dg.vb"; vc: "dg.vc"; vd: "dg.vd"; ve: "dg.ve"; vf: "dg.vf"; vg: "dg.vg"; vh: "dg.vh"; vi: "dg.vi"; vj: "dg.vj"; vk: "dg.vk"; vl: "dg.vl"; vm: "dg.vm"; vn: "dg.vn"; vo: "dg.vo"; vp: "dg.vp"; vq: "dg.vq"; vr: "dg.vr"; vs: "dg.vs"; vt: "dg.vt"; vu: "dg.vu"; vv: "dg.vv"; vw: "dg.vw"; vx: "dg.vx"; vy: "dg.vy"; vz: "dg.vz"; wa: "dg.wa"; wb: "dg.wb"; wc: "dg.wc"; wd: "dg.wd"; we: "dg.we"; wf: "dg.wf"; wg: "dg.wg"; wh: "dg.wh"; wi: "dg.wi"; wj: "dg.wj"; wk: "dg.wk"; wl: "dg.wl"; wm: "dg.wm"; wn: "dg.wn"; wo: "dg.wo"; wp: "dg.wp"; wq: "dg.wq"; wr: "dg.wr"; ws: "dg.ws"; wt: "dg.wt"; wu: "dg.wu"; wv: "dg.wv"; ww: "dg.ww"; wx: "dg.wx"; wy: "dg.wy"; wz: "dg.wz"; xa: "dg.xa"; xb: "dg.xb"; xc: "dg.xc"; xd: "dg.xd"; xe: "dg.xe"; xf: "dg.xf"; xg: "dg.xg"; xh: "dg.xh"; xi: "dg.xi"; xj: "dg.xj"; xk: "dg.xk"; xl: "dg.xl"; xm: "dg.xm"; xn: "dg.xn"; xo: "dg.xo"; xp: "dg.xp"; xq: "dg.xq"; xr: "dg.xr"; xs: "dg.xs"; xt: "dg.xt"; xu: "dg.xu"; xv: "dg.xv"; xw: "dg.xw"; xx: "dg.xx"; xy: "dg.xy"; xz: "dg.xz"; ya: "dg.ya"; yb: "dg.yb"; yc: "dg.yc"; yd: "dg.yd"; ye: "dg.ye"; yf: "dg.yf"; yg: "dg.yg"; yh: "dg.yh"; yi: "dg.yi"; yj: "dg.yj"; yk: "dg.yk"; yl: "dg.yl"; ym: "dg.ym"; yn: "dg.yn"; yo: "dg.yo"; yp: "dg.yp"; yq: "dg.yq"; yr: "dg.yr"; ys: "dg.ys"; yt: "dg.yt"; yu: "dg.yu"; yv: "dg.yv"; yw: "dg.yw"; yx: "dg.yx"; yy: "dg.yy"; yz: "dg.yz"; za: "dg.za"; zb: "dg.zb"; zc: "dg.zc"; zd: "dg.zd"; ze: "dg.ze"; zf: "dg.zf"; zg: "dg.zg"; zh: "dg.zh"; zi: "dg.zi"; zj: "dg.zj"; zk: "dg.zk"; zl: "dg.zl"; zm: "dg.zm"; zn: "dg.zn"; zo: "dg.zo"; zp: "dg.zp"; zq: "dg.zq"; zr: "dg.zr"; zs: "dg.zs"; zt: "dg.zt"; zu: "dg.zu"; zv: "dg.zv"; zw: "dg.zw"; zx: "dg.zx"; zy: "dg.zy"; zz: "dg.zz"; }; dh: { aa: "dh.aa"; ab: "dh.ab"; ac: "dh.ac"; ad: "dh.ad"; ae: "dh.ae"; af: "dh.af"; ag: "dh.ag"; ah: "dh.ah"; ai: "dh.ai"; aj: "dh.aj"; ak: "dh.ak"; al: "dh.al"; am: "dh.am"; an: "dh.an"; ao: "dh.ao"; ap: "dh.ap"; aq: "dh.aq"; ar: "dh.ar"; as: "dh.as"; at: "dh.at"; au: "dh.au"; av: "dh.av"; aw: "dh.aw"; ax: "dh.ax"; ay: "dh.ay"; az: "dh.az"; ba: "dh.ba"; bb: "dh.bb"; bc: "dh.bc"; bd: "dh.bd"; be: "dh.be"; bf: "dh.bf"; bg: "dh.bg"; bh: "dh.bh"; bi: "dh.bi"; bj: "dh.bj"; bk: "dh.bk"; bl: "dh.bl"; bm: "dh.bm"; bn: "dh.bn"; bo: "dh.bo"; bp: "dh.bp"; bq: "dh.bq"; br: "dh.br"; bs: "dh.bs"; bt: "dh.bt"; bu: "dh.bu"; bv: "dh.bv"; bw: "dh.bw"; bx: "dh.bx"; by: "dh.by"; bz: "dh.bz"; ca: "dh.ca"; cb: "dh.cb"; cc: "dh.cc"; cd: "dh.cd"; ce: "dh.ce"; cf: "dh.cf"; cg: "dh.cg"; ch: "dh.ch"; ci: "dh.ci"; cj: "dh.cj"; ck: "dh.ck"; cl: "dh.cl"; cm: "dh.cm"; cn: "dh.cn"; co: "dh.co"; cp: "dh.cp"; cq: "dh.cq"; cr: "dh.cr"; cs: "dh.cs"; ct: "dh.ct"; cu: "dh.cu"; cv: "dh.cv"; cw: "dh.cw"; cx: "dh.cx"; cy: "dh.cy"; cz: "dh.cz"; da: "dh.da"; db: "dh.db"; dc: "dh.dc"; dd: "dh.dd"; de: "dh.de"; df: "dh.df"; dg: "dh.dg"; dh: "dh.dh"; di: "dh.di"; dj: "dh.dj"; dk: "dh.dk"; dl: "dh.dl"; dm: "dh.dm"; dn: "dh.dn"; do: "dh.do"; dp: "dh.dp"; dq: "dh.dq"; dr: "dh.dr"; ds: "dh.ds"; dt: "dh.dt"; du: "dh.du"; dv: "dh.dv"; dw: "dh.dw"; dx: "dh.dx"; dy: "dh.dy"; dz: "dh.dz"; ea: "dh.ea"; eb: "dh.eb"; ec: "dh.ec"; ed: "dh.ed"; ee: "dh.ee"; ef: "dh.ef"; eg: "dh.eg"; eh: "dh.eh"; ei: "dh.ei"; ej: "dh.ej"; ek: "dh.ek"; el: "dh.el"; em: "dh.em"; en: "dh.en"; eo: "dh.eo"; ep: "dh.ep"; eq: "dh.eq"; er: "dh.er"; es: "dh.es"; et: "dh.et"; eu: "dh.eu"; ev: "dh.ev"; ew: "dh.ew"; ex: "dh.ex"; ey: "dh.ey"; ez: "dh.ez"; fa: "dh.fa"; fb: "dh.fb"; fc: "dh.fc"; fd: "dh.fd"; fe: "dh.fe"; ff: "dh.ff"; fg: "dh.fg"; fh: "dh.fh"; fi: "dh.fi"; fj: "dh.fj"; fk: "dh.fk"; fl: "dh.fl"; fm: "dh.fm"; fn: "dh.fn"; fo: "dh.fo"; fp: "dh.fp"; fq: "dh.fq"; fr: "dh.fr"; fs: "dh.fs"; ft: "dh.ft"; fu: "dh.fu"; fv: "dh.fv"; fw: "dh.fw"; fx: "dh.fx"; fy: "dh.fy"; fz: "dh.fz"; ga: "dh.ga"; gb: "dh.gb"; gc: "dh.gc"; gd: "dh.gd"; ge: "dh.ge"; gf: "dh.gf"; gg: "dh.gg"; gh: "dh.gh"; gi: "dh.gi"; gj: "dh.gj"; gk: "dh.gk"; gl: "dh.gl"; gm: "dh.gm"; gn: "dh.gn"; go: "dh.go"; gp: "dh.gp"; gq: "dh.gq"; gr: "dh.gr"; gs: "dh.gs"; gt: "dh.gt"; gu: "dh.gu"; gv: "dh.gv"; gw: "dh.gw"; gx: "dh.gx"; gy: "dh.gy"; gz: "dh.gz"; ha: "dh.ha"; hb: "dh.hb"; hc: "dh.hc"; hd: "dh.hd"; he: "dh.he"; hf: "dh.hf"; hg: "dh.hg"; hh: "dh.hh"; hi: "dh.hi"; hj: "dh.hj"; hk: "dh.hk"; hl: "dh.hl"; hm: "dh.hm"; hn: "dh.hn"; ho: "dh.ho"; hp: "dh.hp"; hq: "dh.hq"; hr: "dh.hr"; hs: "dh.hs"; ht: "dh.ht"; hu: "dh.hu"; hv: "dh.hv"; hw: "dh.hw"; hx: "dh.hx"; hy: "dh.hy"; hz: "dh.hz"; ia: "dh.ia"; ib: "dh.ib"; ic: "dh.ic"; id: "dh.id"; ie: "dh.ie"; if: "dh.if"; ig: "dh.ig"; ih: "dh.ih"; ii: "dh.ii"; ij: "dh.ij"; ik: "dh.ik"; il: "dh.il"; im: "dh.im"; in: "dh.in"; io: "dh.io"; ip: "dh.ip"; iq: "dh.iq"; ir: "dh.ir"; is: "dh.is"; it: "dh.it"; iu: "dh.iu"; iv: "dh.iv"; iw: "dh.iw"; ix: "dh.ix"; iy: "dh.iy"; iz: "dh.iz"; ja: "dh.ja"; jb: "dh.jb"; jc: "dh.jc"; jd: "dh.jd"; je: "dh.je"; jf: "dh.jf"; jg: "dh.jg"; jh: "dh.jh"; ji: "dh.ji"; jj: "dh.jj"; jk: "dh.jk"; jl: "dh.jl"; jm: "dh.jm"; jn: "dh.jn"; jo: "dh.jo"; jp: "dh.jp"; jq: "dh.jq"; jr: "dh.jr"; js: "dh.js"; jt: "dh.jt"; ju: "dh.ju"; jv: "dh.jv"; jw: "dh.jw"; jx: "dh.jx"; jy: "dh.jy"; jz: "dh.jz"; ka: "dh.ka"; kb: "dh.kb"; kc: "dh.kc"; kd: "dh.kd"; ke: "dh.ke"; kf: "dh.kf"; kg: "dh.kg"; kh: "dh.kh"; ki: "dh.ki"; kj: "dh.kj"; kk: "dh.kk"; kl: "dh.kl"; km: "dh.km"; kn: "dh.kn"; ko: "dh.ko"; kp: "dh.kp"; kq: "dh.kq"; kr: "dh.kr"; ks: "dh.ks"; kt: "dh.kt"; ku: "dh.ku"; kv: "dh.kv"; kw: "dh.kw"; kx: "dh.kx"; ky: "dh.ky"; kz: "dh.kz"; la: "dh.la"; lb: "dh.lb"; lc: "dh.lc"; ld: "dh.ld"; le: "dh.le"; lf: "dh.lf"; lg: "dh.lg"; lh: "dh.lh"; li: "dh.li"; lj: "dh.lj"; lk: "dh.lk"; ll: "dh.ll"; lm: "dh.lm"; ln: "dh.ln"; lo: "dh.lo"; lp: "dh.lp"; lq: "dh.lq"; lr: "dh.lr"; ls: "dh.ls"; lt: "dh.lt"; lu: "dh.lu"; lv: "dh.lv"; lw: "dh.lw"; lx: "dh.lx"; ly: "dh.ly"; lz: "dh.lz"; ma: "dh.ma"; mb: "dh.mb"; mc: "dh.mc"; md: "dh.md"; me: "dh.me"; mf: "dh.mf"; mg: "dh.mg"; mh: "dh.mh"; mi: "dh.mi"; mj: "dh.mj"; mk: "dh.mk"; ml: "dh.ml"; mm: "dh.mm"; mn: "dh.mn"; mo: "dh.mo"; mp: "dh.mp"; mq: "dh.mq"; mr: "dh.mr"; ms: "dh.ms"; mt: "dh.mt"; mu: "dh.mu"; mv: "dh.mv"; mw: "dh.mw"; mx: "dh.mx"; my: "dh.my"; mz: "dh.mz"; na: "dh.na"; nb: "dh.nb"; nc: "dh.nc"; nd: "dh.nd"; ne: "dh.ne"; nf: "dh.nf"; ng: "dh.ng"; nh: "dh.nh"; ni: "dh.ni"; nj: "dh.nj"; nk: "dh.nk"; nl: "dh.nl"; nm: "dh.nm"; nn: "dh.nn"; no: "dh.no"; np: "dh.np"; nq: "dh.nq"; nr: "dh.nr"; ns: "dh.ns"; nt: "dh.nt"; nu: "dh.nu"; nv: "dh.nv"; nw: "dh.nw"; nx: "dh.nx"; ny: "dh.ny"; nz: "dh.nz"; oa: "dh.oa"; ob: "dh.ob"; oc: "dh.oc"; od: "dh.od"; oe: "dh.oe"; of: "dh.of"; og: "dh.og"; oh: "dh.oh"; oi: "dh.oi"; oj: "dh.oj"; ok: "dh.ok"; ol: "dh.ol"; om: "dh.om"; on: "dh.on"; oo: "dh.oo"; op: "dh.op"; oq: "dh.oq"; or: "dh.or"; os: "dh.os"; ot: "dh.ot"; ou: "dh.ou"; ov: "dh.ov"; ow: "dh.ow"; ox: "dh.ox"; oy: "dh.oy"; oz: "dh.oz"; pa: "dh.pa"; pb: "dh.pb"; pc: "dh.pc"; pd: "dh.pd"; pe: "dh.pe"; pf: "dh.pf"; pg: "dh.pg"; ph: "dh.ph"; pi: "dh.pi"; pj: "dh.pj"; pk: "dh.pk"; pl: "dh.pl"; pm: "dh.pm"; pn: "dh.pn"; po: "dh.po"; pp: "dh.pp"; pq: "dh.pq"; pr: "dh.pr"; ps: "dh.ps"; pt: "dh.pt"; pu: "dh.pu"; pv: "dh.pv"; pw: "dh.pw"; px: "dh.px"; py: "dh.py"; pz: "dh.pz"; qa: "dh.qa"; qb: "dh.qb"; qc: "dh.qc"; qd: "dh.qd"; qe: "dh.qe"; qf: "dh.qf"; qg: "dh.qg"; qh: "dh.qh"; qi: "dh.qi"; qj: "dh.qj"; qk: "dh.qk"; ql: "dh.ql"; qm: "dh.qm"; qn: "dh.qn"; qo: "dh.qo"; qp: "dh.qp"; qq: "dh.qq"; qr: "dh.qr"; qs: "dh.qs"; qt: "dh.qt"; qu: "dh.qu"; qv: "dh.qv"; qw: "dh.qw"; qx: "dh.qx"; qy: "dh.qy"; qz: "dh.qz"; ra: "dh.ra"; rb: "dh.rb"; rc: "dh.rc"; rd: "dh.rd"; re: "dh.re"; rf: "dh.rf"; rg: "dh.rg"; rh: "dh.rh"; ri: "dh.ri"; rj: "dh.rj"; rk: "dh.rk"; rl: "dh.rl"; rm: "dh.rm"; rn: "dh.rn"; ro: "dh.ro"; rp: "dh.rp"; rq: "dh.rq"; rr: "dh.rr"; rs: "dh.rs"; rt: "dh.rt"; ru: "dh.ru"; rv: "dh.rv"; rw: "dh.rw"; rx: "dh.rx"; ry: "dh.ry"; rz: "dh.rz"; sa: "dh.sa"; sb: "dh.sb"; sc: "dh.sc"; sd: "dh.sd"; se: "dh.se"; sf: "dh.sf"; sg: "dh.sg"; sh: "dh.sh"; si: "dh.si"; sj: "dh.sj"; sk: "dh.sk"; sl: "dh.sl"; sm: "dh.sm"; sn: "dh.sn"; so: "dh.so"; sp: "dh.sp"; sq: "dh.sq"; sr: "dh.sr"; ss: "dh.ss"; st: "dh.st"; su: "dh.su"; sv: "dh.sv"; sw: "dh.sw"; sx: "dh.sx"; sy: "dh.sy"; sz: "dh.sz"; ta: "dh.ta"; tb: "dh.tb"; tc: "dh.tc"; td: "dh.td"; te: "dh.te"; tf: "dh.tf"; tg: "dh.tg"; th: "dh.th"; ti: "dh.ti"; tj: "dh.tj"; tk: "dh.tk"; tl: "dh.tl"; tm: "dh.tm"; tn: "dh.tn"; to: "dh.to"; tp: "dh.tp"; tq: "dh.tq"; tr: "dh.tr"; ts: "dh.ts"; tt: "dh.tt"; tu: "dh.tu"; tv: "dh.tv"; tw: "dh.tw"; tx: "dh.tx"; ty: "dh.ty"; tz: "dh.tz"; ua: "dh.ua"; ub: "dh.ub"; uc: "dh.uc"; ud: "dh.ud"; ue: "dh.ue"; uf: "dh.uf"; ug: "dh.ug"; uh: "dh.uh"; ui: "dh.ui"; uj: "dh.uj"; uk: "dh.uk"; ul: "dh.ul"; um: "dh.um"; un: "dh.un"; uo: "dh.uo"; up: "dh.up"; uq: "dh.uq"; ur: "dh.ur"; us: "dh.us"; ut: "dh.ut"; uu: "dh.uu"; uv: "dh.uv"; uw: "dh.uw"; ux: "dh.ux"; uy: "dh.uy"; uz: "dh.uz"; va: "dh.va"; vb: "dh.vb"; vc: "dh.vc"; vd: "dh.vd"; ve: "dh.ve"; vf: "dh.vf"; vg: "dh.vg"; vh: "dh.vh"; vi: "dh.vi"; vj: "dh.vj"; vk: "dh.vk"; vl: "dh.vl"; vm: "dh.vm"; vn: "dh.vn"; vo: "dh.vo"; vp: "dh.vp"; vq: "dh.vq"; vr: "dh.vr"; vs: "dh.vs"; vt: "dh.vt"; vu: "dh.vu"; vv: "dh.vv"; vw: "dh.vw"; vx: "dh.vx"; vy: "dh.vy"; vz: "dh.vz"; wa: "dh.wa"; wb: "dh.wb"; wc: "dh.wc"; wd: "dh.wd"; we: "dh.we"; wf: "dh.wf"; wg: "dh.wg"; wh: "dh.wh"; wi: "dh.wi"; wj: "dh.wj"; wk: "dh.wk"; wl: "dh.wl"; wm: "dh.wm"; wn: "dh.wn"; wo: "dh.wo"; wp: "dh.wp"; wq: "dh.wq"; wr: "dh.wr"; ws: "dh.ws"; wt: "dh.wt"; wu: "dh.wu"; wv: "dh.wv"; ww: "dh.ww"; wx: "dh.wx"; wy: "dh.wy"; wz: "dh.wz"; xa: "dh.xa"; xb: "dh.xb"; xc: "dh.xc"; xd: "dh.xd"; xe: "dh.xe"; xf: "dh.xf"; xg: "dh.xg"; xh: "dh.xh"; xi: "dh.xi"; xj: "dh.xj"; xk: "dh.xk"; xl: "dh.xl"; xm: "dh.xm"; xn: "dh.xn"; xo: "dh.xo"; xp: "dh.xp"; xq: "dh.xq"; xr: "dh.xr"; xs: "dh.xs"; xt: "dh.xt"; xu: "dh.xu"; xv: "dh.xv"; xw: "dh.xw"; xx: "dh.xx"; xy: "dh.xy"; xz: "dh.xz"; ya: "dh.ya"; yb: "dh.yb"; yc: "dh.yc"; yd: "dh.yd"; ye: "dh.ye"; yf: "dh.yf"; yg: "dh.yg"; yh: "dh.yh"; yi: "dh.yi"; yj: "dh.yj"; yk: "dh.yk"; yl: "dh.yl"; ym: "dh.ym"; yn: "dh.yn"; yo: "dh.yo"; yp: "dh.yp"; yq: "dh.yq"; yr: "dh.yr"; ys: "dh.ys"; yt: "dh.yt"; yu: "dh.yu"; yv: "dh.yv"; yw: "dh.yw"; yx: "dh.yx"; yy: "dh.yy"; yz: "dh.yz"; za: "dh.za"; zb: "dh.zb"; zc: "dh.zc"; zd: "dh.zd"; ze: "dh.ze"; zf: "dh.zf"; zg: "dh.zg"; zh: "dh.zh"; zi: "dh.zi"; zj: "dh.zj"; zk: "dh.zk"; zl: "dh.zl"; zm: "dh.zm"; zn: "dh.zn"; zo: "dh.zo"; zp: "dh.zp"; zq: "dh.zq"; zr: "dh.zr"; zs: "dh.zs"; zt: "dh.zt"; zu: "dh.zu"; zv: "dh.zv"; zw: "dh.zw"; zx: "dh.zx"; zy: "dh.zy"; zz: "dh.zz"; }; di: { aa: "di.aa"; ab: "di.ab"; ac: "di.ac"; ad: "di.ad"; ae: "di.ae"; af: "di.af"; ag: "di.ag"; ah: "di.ah"; ai: "di.ai"; aj: "di.aj"; ak: "di.ak"; al: "di.al"; am: "di.am"; an: "di.an"; ao: "di.ao"; ap: "di.ap"; aq: "di.aq"; ar: "di.ar"; as: "di.as"; at: "di.at"; au: "di.au"; av: "di.av"; aw: "di.aw"; ax: "di.ax"; ay: "di.ay"; az: "di.az"; ba: "di.ba"; bb: "di.bb"; bc: "di.bc"; bd: "di.bd"; be: "di.be"; bf: "di.bf"; bg: "di.bg"; bh: "di.bh"; bi: "di.bi"; bj: "di.bj"; bk: "di.bk"; bl: "di.bl"; bm: "di.bm"; bn: "di.bn"; bo: "di.bo"; bp: "di.bp"; bq: "di.bq"; br: "di.br"; bs: "di.bs"; bt: "di.bt"; bu: "di.bu"; bv: "di.bv"; bw: "di.bw"; bx: "di.bx"; by: "di.by"; bz: "di.bz"; ca: "di.ca"; cb: "di.cb"; cc: "di.cc"; cd: "di.cd"; ce: "di.ce"; cf: "di.cf"; cg: "di.cg"; ch: "di.ch"; ci: "di.ci"; cj: "di.cj"; ck: "di.ck"; cl: "di.cl"; cm: "di.cm"; cn: "di.cn"; co: "di.co"; cp: "di.cp"; cq: "di.cq"; cr: "di.cr"; cs: "di.cs"; ct: "di.ct"; cu: "di.cu"; cv: "di.cv"; cw: "di.cw"; cx: "di.cx"; cy: "di.cy"; cz: "di.cz"; da: "di.da"; db: "di.db"; dc: "di.dc"; dd: "di.dd"; de: "di.de"; df: "di.df"; dg: "di.dg"; dh: "di.dh"; di: "di.di"; dj: "di.dj"; dk: "di.dk"; dl: "di.dl"; dm: "di.dm"; dn: "di.dn"; do: "di.do"; dp: "di.dp"; dq: "di.dq"; dr: "di.dr"; ds: "di.ds"; dt: "di.dt"; du: "di.du"; dv: "di.dv"; dw: "di.dw"; dx: "di.dx"; dy: "di.dy"; dz: "di.dz"; ea: "di.ea"; eb: "di.eb"; ec: "di.ec"; ed: "di.ed"; ee: "di.ee"; ef: "di.ef"; eg: "di.eg"; eh: "di.eh"; ei: "di.ei"; ej: "di.ej"; ek: "di.ek"; el: "di.el"; em: "di.em"; en: "di.en"; eo: "di.eo"; ep: "di.ep"; eq: "di.eq"; er: "di.er"; es: "di.es"; et: "di.et"; eu: "di.eu"; ev: "di.ev"; ew: "di.ew"; ex: "di.ex"; ey: "di.ey"; ez: "di.ez"; fa: "di.fa"; fb: "di.fb"; fc: "di.fc"; fd: "di.fd"; fe: "di.fe"; ff: "di.ff"; fg: "di.fg"; fh: "di.fh"; fi: "di.fi"; fj: "di.fj"; fk: "di.fk"; fl: "di.fl"; fm: "di.fm"; fn: "di.fn"; fo: "di.fo"; fp: "di.fp"; fq: "di.fq"; fr: "di.fr"; fs: "di.fs"; ft: "di.ft"; fu: "di.fu"; fv: "di.fv"; fw: "di.fw"; fx: "di.fx"; fy: "di.fy"; fz: "di.fz"; ga: "di.ga"; gb: "di.gb"; gc: "di.gc"; gd: "di.gd"; ge: "di.ge"; gf: "di.gf"; gg: "di.gg"; gh: "di.gh"; gi: "di.gi"; gj: "di.gj"; gk: "di.gk"; gl: "di.gl"; gm: "di.gm"; gn: "di.gn"; go: "di.go"; gp: "di.gp"; gq: "di.gq"; gr: "di.gr"; gs: "di.gs"; gt: "di.gt"; gu: "di.gu"; gv: "di.gv"; gw: "di.gw"; gx: "di.gx"; gy: "di.gy"; gz: "di.gz"; ha: "di.ha"; hb: "di.hb"; hc: "di.hc"; hd: "di.hd"; he: "di.he"; hf: "di.hf"; hg: "di.hg"; hh: "di.hh"; hi: "di.hi"; hj: "di.hj"; hk: "di.hk"; hl: "di.hl"; hm: "di.hm"; hn: "di.hn"; ho: "di.ho"; hp: "di.hp"; hq: "di.hq"; hr: "di.hr"; hs: "di.hs"; ht: "di.ht"; hu: "di.hu"; hv: "di.hv"; hw: "di.hw"; hx: "di.hx"; hy: "di.hy"; hz: "di.hz"; ia: "di.ia"; ib: "di.ib"; ic: "di.ic"; id: "di.id"; ie: "di.ie"; if: "di.if"; ig: "di.ig"; ih: "di.ih"; ii: "di.ii"; ij: "di.ij"; ik: "di.ik"; il: "di.il"; im: "di.im"; in: "di.in"; io: "di.io"; ip: "di.ip"; iq: "di.iq"; ir: "di.ir"; is: "di.is"; it: "di.it"; iu: "di.iu"; iv: "di.iv"; iw: "di.iw"; ix: "di.ix"; iy: "di.iy"; iz: "di.iz"; ja: "di.ja"; jb: "di.jb"; jc: "di.jc"; jd: "di.jd"; je: "di.je"; jf: "di.jf"; jg: "di.jg"; jh: "di.jh"; ji: "di.ji"; jj: "di.jj"; jk: "di.jk"; jl: "di.jl"; jm: "di.jm"; jn: "di.jn"; jo: "di.jo"; jp: "di.jp"; jq: "di.jq"; jr: "di.jr"; js: "di.js"; jt: "di.jt"; ju: "di.ju"; jv: "di.jv"; jw: "di.jw"; jx: "di.jx"; jy: "di.jy"; jz: "di.jz"; ka: "di.ka"; kb: "di.kb"; kc: "di.kc"; kd: "di.kd"; ke: "di.ke"; kf: "di.kf"; kg: "di.kg"; kh: "di.kh"; ki: "di.ki"; kj: "di.kj"; kk: "di.kk"; kl: "di.kl"; km: "di.km"; kn: "di.kn"; ko: "di.ko"; kp: "di.kp"; kq: "di.kq"; kr: "di.kr"; ks: "di.ks"; kt: "di.kt"; ku: "di.ku"; kv: "di.kv"; kw: "di.kw"; kx: "di.kx"; ky: "di.ky"; kz: "di.kz"; la: "di.la"; lb: "di.lb"; lc: "di.lc"; ld: "di.ld"; le: "di.le"; lf: "di.lf"; lg: "di.lg"; lh: "di.lh"; li: "di.li"; lj: "di.lj"; lk: "di.lk"; ll: "di.ll"; lm: "di.lm"; ln: "di.ln"; lo: "di.lo"; lp: "di.lp"; lq: "di.lq"; lr: "di.lr"; ls: "di.ls"; lt: "di.lt"; lu: "di.lu"; lv: "di.lv"; lw: "di.lw"; lx: "di.lx"; ly: "di.ly"; lz: "di.lz"; ma: "di.ma"; mb: "di.mb"; mc: "di.mc"; md: "di.md"; me: "di.me"; mf: "di.mf"; mg: "di.mg"; mh: "di.mh"; mi: "di.mi"; mj: "di.mj"; mk: "di.mk"; ml: "di.ml"; mm: "di.mm"; mn: "di.mn"; mo: "di.mo"; mp: "di.mp"; mq: "di.mq"; mr: "di.mr"; ms: "di.ms"; mt: "di.mt"; mu: "di.mu"; mv: "di.mv"; mw: "di.mw"; mx: "di.mx"; my: "di.my"; mz: "di.mz"; na: "di.na"; nb: "di.nb"; nc: "di.nc"; nd: "di.nd"; ne: "di.ne"; nf: "di.nf"; ng: "di.ng"; nh: "di.nh"; ni: "di.ni"; nj: "di.nj"; nk: "di.nk"; nl: "di.nl"; nm: "di.nm"; nn: "di.nn"; no: "di.no"; np: "di.np"; nq: "di.nq"; nr: "di.nr"; ns: "di.ns"; nt: "di.nt"; nu: "di.nu"; nv: "di.nv"; nw: "di.nw"; nx: "di.nx"; ny: "di.ny"; nz: "di.nz"; oa: "di.oa"; ob: "di.ob"; oc: "di.oc"; od: "di.od"; oe: "di.oe"; of: "di.of"; og: "di.og"; oh: "di.oh"; oi: "di.oi"; oj: "di.oj"; ok: "di.ok"; ol: "di.ol"; om: "di.om"; on: "di.on"; oo: "di.oo"; op: "di.op"; oq: "di.oq"; or: "di.or"; os: "di.os"; ot: "di.ot"; ou: "di.ou"; ov: "di.ov"; ow: "di.ow"; ox: "di.ox"; oy: "di.oy"; oz: "di.oz"; pa: "di.pa"; pb: "di.pb"; pc: "di.pc"; pd: "di.pd"; pe: "di.pe"; pf: "di.pf"; pg: "di.pg"; ph: "di.ph"; pi: "di.pi"; pj: "di.pj"; pk: "di.pk"; pl: "di.pl"; pm: "di.pm"; pn: "di.pn"; po: "di.po"; pp: "di.pp"; pq: "di.pq"; pr: "di.pr"; ps: "di.ps"; pt: "di.pt"; pu: "di.pu"; pv: "di.pv"; pw: "di.pw"; px: "di.px"; py: "di.py"; pz: "di.pz"; qa: "di.qa"; qb: "di.qb"; qc: "di.qc"; qd: "di.qd"; qe: "di.qe"; qf: "di.qf"; qg: "di.qg"; qh: "di.qh"; qi: "di.qi"; qj: "di.qj"; qk: "di.qk"; ql: "di.ql"; qm: "di.qm"; qn: "di.qn"; qo: "di.qo"; qp: "di.qp"; qq: "di.qq"; qr: "di.qr"; qs: "di.qs"; qt: "di.qt"; qu: "di.qu"; qv: "di.qv"; qw: "di.qw"; qx: "di.qx"; qy: "di.qy"; qz: "di.qz"; ra: "di.ra"; rb: "di.rb"; rc: "di.rc"; rd: "di.rd"; re: "di.re"; rf: "di.rf"; rg: "di.rg"; rh: "di.rh"; ri: "di.ri"; rj: "di.rj"; rk: "di.rk"; rl: "di.rl"; rm: "di.rm"; rn: "di.rn"; ro: "di.ro"; rp: "di.rp"; rq: "di.rq"; rr: "di.rr"; rs: "di.rs"; rt: "di.rt"; ru: "di.ru"; rv: "di.rv"; rw: "di.rw"; rx: "di.rx"; ry: "di.ry"; rz: "di.rz"; sa: "di.sa"; sb: "di.sb"; sc: "di.sc"; sd: "di.sd"; se: "di.se"; sf: "di.sf"; sg: "di.sg"; sh: "di.sh"; si: "di.si"; sj: "di.sj"; sk: "di.sk"; sl: "di.sl"; sm: "di.sm"; sn: "di.sn"; so: "di.so"; sp: "di.sp"; sq: "di.sq"; sr: "di.sr"; ss: "di.ss"; st: "di.st"; su: "di.su"; sv: "di.sv"; sw: "di.sw"; sx: "di.sx"; sy: "di.sy"; sz: "di.sz"; ta: "di.ta"; tb: "di.tb"; tc: "di.tc"; td: "di.td"; te: "di.te"; tf: "di.tf"; tg: "di.tg"; th: "di.th"; ti: "di.ti"; tj: "di.tj"; tk: "di.tk"; tl: "di.tl"; tm: "di.tm"; tn: "di.tn"; to: "di.to"; tp: "di.tp"; tq: "di.tq"; tr: "di.tr"; ts: "di.ts"; tt: "di.tt"; tu: "di.tu"; tv: "di.tv"; tw: "di.tw"; tx: "di.tx"; ty: "di.ty"; tz: "di.tz"; ua: "di.ua"; ub: "di.ub"; uc: "di.uc"; ud: "di.ud"; ue: "di.ue"; uf: "di.uf"; ug: "di.ug"; uh: "di.uh"; ui: "di.ui"; uj: "di.uj"; uk: "di.uk"; ul: "di.ul"; um: "di.um"; un: "di.un"; uo: "di.uo"; up: "di.up"; uq: "di.uq"; ur: "di.ur"; us: "di.us"; ut: "di.ut"; uu: "di.uu"; uv: "di.uv"; uw: "di.uw"; ux: "di.ux"; uy: "di.uy"; uz: "di.uz"; va: "di.va"; vb: "di.vb"; vc: "di.vc"; vd: "di.vd"; ve: "di.ve"; vf: "di.vf"; vg: "di.vg"; vh: "di.vh"; vi: "di.vi"; vj: "di.vj"; vk: "di.vk"; vl: "di.vl"; vm: "di.vm"; vn: "di.vn"; vo: "di.vo"; vp: "di.vp"; vq: "di.vq"; vr: "di.vr"; vs: "di.vs"; vt: "di.vt"; vu: "di.vu"; vv: "di.vv"; vw: "di.vw"; vx: "di.vx"; vy: "di.vy"; vz: "di.vz"; wa: "di.wa"; wb: "di.wb"; wc: "di.wc"; wd: "di.wd"; we: "di.we"; wf: "di.wf"; wg: "di.wg"; wh: "di.wh"; wi: "di.wi"; wj: "di.wj"; wk: "di.wk"; wl: "di.wl"; wm: "di.wm"; wn: "di.wn"; wo: "di.wo"; wp: "di.wp"; wq: "di.wq"; wr: "di.wr"; ws: "di.ws"; wt: "di.wt"; wu: "di.wu"; wv: "di.wv"; ww: "di.ww"; wx: "di.wx"; wy: "di.wy"; wz: "di.wz"; xa: "di.xa"; xb: "di.xb"; xc: "di.xc"; xd: "di.xd"; xe: "di.xe"; xf: "di.xf"; xg: "di.xg"; xh: "di.xh"; xi: "di.xi"; xj: "di.xj"; xk: "di.xk"; xl: "di.xl"; xm: "di.xm"; xn: "di.xn"; xo: "di.xo"; xp: "di.xp"; xq: "di.xq"; xr: "di.xr"; xs: "di.xs"; xt: "di.xt"; xu: "di.xu"; xv: "di.xv"; xw: "di.xw"; xx: "di.xx"; xy: "di.xy"; xz: "di.xz"; ya: "di.ya"; yb: "di.yb"; yc: "di.yc"; yd: "di.yd"; ye: "di.ye"; yf: "di.yf"; yg: "di.yg"; yh: "di.yh"; yi: "di.yi"; yj: "di.yj"; yk: "di.yk"; yl: "di.yl"; ym: "di.ym"; yn: "di.yn"; yo: "di.yo"; yp: "di.yp"; yq: "di.yq"; yr: "di.yr"; ys: "di.ys"; yt: "di.yt"; yu: "di.yu"; yv: "di.yv"; yw: "di.yw"; yx: "di.yx"; yy: "di.yy"; yz: "di.yz"; za: "di.za"; zb: "di.zb"; zc: "di.zc"; zd: "di.zd"; ze: "di.ze"; zf: "di.zf"; zg: "di.zg"; zh: "di.zh"; zi: "di.zi"; zj: "di.zj"; zk: "di.zk"; zl: "di.zl"; zm: "di.zm"; zn: "di.zn"; zo: "di.zo"; zp: "di.zp"; zq: "di.zq"; zr: "di.zr"; zs: "di.zs"; zt: "di.zt"; zu: "di.zu"; zv: "di.zv"; zw: "di.zw"; zx: "di.zx"; zy: "di.zy"; zz: "di.zz"; }; dj: { aa: "dj.aa"; ab: "dj.ab"; ac: "dj.ac"; ad: "dj.ad"; ae: "dj.ae"; af: "dj.af"; ag: "dj.ag"; ah: "dj.ah"; ai: "dj.ai"; aj: "dj.aj"; ak: "dj.ak"; al: "dj.al"; am: "dj.am"; an: "dj.an"; ao: "dj.ao"; ap: "dj.ap"; aq: "dj.aq"; ar: "dj.ar"; as: "dj.as"; at: "dj.at"; au: "dj.au"; av: "dj.av"; aw: "dj.aw"; ax: "dj.ax"; ay: "dj.ay"; az: "dj.az"; ba: "dj.ba"; bb: "dj.bb"; bc: "dj.bc"; bd: "dj.bd"; be: "dj.be"; bf: "dj.bf"; bg: "dj.bg"; bh: "dj.bh"; bi: "dj.bi"; bj: "dj.bj"; bk: "dj.bk"; bl: "dj.bl"; bm: "dj.bm"; bn: "dj.bn"; bo: "dj.bo"; bp: "dj.bp"; bq: "dj.bq"; br: "dj.br"; bs: "dj.bs"; bt: "dj.bt"; bu: "dj.bu"; bv: "dj.bv"; bw: "dj.bw"; bx: "dj.bx"; by: "dj.by"; bz: "dj.bz"; ca: "dj.ca"; cb: "dj.cb"; cc: "dj.cc"; cd: "dj.cd"; ce: "dj.ce"; cf: "dj.cf"; cg: "dj.cg"; ch: "dj.ch"; ci: "dj.ci"; cj: "dj.cj"; ck: "dj.ck"; cl: "dj.cl"; cm: "dj.cm"; cn: "dj.cn"; co: "dj.co"; cp: "dj.cp"; cq: "dj.cq"; cr: "dj.cr"; cs: "dj.cs"; ct: "dj.ct"; cu: "dj.cu"; cv: "dj.cv"; cw: "dj.cw"; cx: "dj.cx"; cy: "dj.cy"; cz: "dj.cz"; da: "dj.da"; db: "dj.db"; dc: "dj.dc"; dd: "dj.dd"; de: "dj.de"; df: "dj.df"; dg: "dj.dg"; dh: "dj.dh"; di: "dj.di"; dj: "dj.dj"; dk: "dj.dk"; dl: "dj.dl"; dm: "dj.dm"; dn: "dj.dn"; do: "dj.do"; dp: "dj.dp"; dq: "dj.dq"; dr: "dj.dr"; ds: "dj.ds"; dt: "dj.dt"; du: "dj.du"; dv: "dj.dv"; dw: "dj.dw"; dx: "dj.dx"; dy: "dj.dy"; dz: "dj.dz"; ea: "dj.ea"; eb: "dj.eb"; ec: "dj.ec"; ed: "dj.ed"; ee: "dj.ee"; ef: "dj.ef"; eg: "dj.eg"; eh: "dj.eh"; ei: "dj.ei"; ej: "dj.ej"; ek: "dj.ek"; el: "dj.el"; em: "dj.em"; en: "dj.en"; eo: "dj.eo"; ep: "dj.ep"; eq: "dj.eq"; er: "dj.er"; es: "dj.es"; et: "dj.et"; eu: "dj.eu"; ev: "dj.ev"; ew: "dj.ew"; ex: "dj.ex"; ey: "dj.ey"; ez: "dj.ez"; fa: "dj.fa"; fb: "dj.fb"; fc: "dj.fc"; fd: "dj.fd"; fe: "dj.fe"; ff: "dj.ff"; fg: "dj.fg"; fh: "dj.fh"; fi: "dj.fi"; fj: "dj.fj"; fk: "dj.fk"; fl: "dj.fl"; fm: "dj.fm"; fn: "dj.fn"; fo: "dj.fo"; fp: "dj.fp"; fq: "dj.fq"; fr: "dj.fr"; fs: "dj.fs"; ft: "dj.ft"; fu: "dj.fu"; fv: "dj.fv"; fw: "dj.fw"; fx: "dj.fx"; fy: "dj.fy"; fz: "dj.fz"; ga: "dj.ga"; gb: "dj.gb"; gc: "dj.gc"; gd: "dj.gd"; ge: "dj.ge"; gf: "dj.gf"; gg: "dj.gg"; gh: "dj.gh"; gi: "dj.gi"; gj: "dj.gj"; gk: "dj.gk"; gl: "dj.gl"; gm: "dj.gm"; gn: "dj.gn"; go: "dj.go"; gp: "dj.gp"; gq: "dj.gq"; gr: "dj.gr"; gs: "dj.gs"; gt: "dj.gt"; gu: "dj.gu"; gv: "dj.gv"; gw: "dj.gw"; gx: "dj.gx"; gy: "dj.gy"; gz: "dj.gz"; ha: "dj.ha"; hb: "dj.hb"; hc: "dj.hc"; hd: "dj.hd"; he: "dj.he"; hf: "dj.hf"; hg: "dj.hg"; hh: "dj.hh"; hi: "dj.hi"; hj: "dj.hj"; hk: "dj.hk"; hl: "dj.hl"; hm: "dj.hm"; hn: "dj.hn"; ho: "dj.ho"; hp: "dj.hp"; hq: "dj.hq"; hr: "dj.hr"; hs: "dj.hs"; ht: "dj.ht"; hu: "dj.hu"; hv: "dj.hv"; hw: "dj.hw"; hx: "dj.hx"; hy: "dj.hy"; hz: "dj.hz"; ia: "dj.ia"; ib: "dj.ib"; ic: "dj.ic"; id: "dj.id"; ie: "dj.ie"; if: "dj.if"; ig: "dj.ig"; ih: "dj.ih"; ii: "dj.ii"; ij: "dj.ij"; ik: "dj.ik"; il: "dj.il"; im: "dj.im"; in: "dj.in"; io: "dj.io"; ip: "dj.ip"; iq: "dj.iq"; ir: "dj.ir"; is: "dj.is"; it: "dj.it"; iu: "dj.iu"; iv: "dj.iv"; iw: "dj.iw"; ix: "dj.ix"; iy: "dj.iy"; iz: "dj.iz"; ja: "dj.ja"; jb: "dj.jb"; jc: "dj.jc"; jd: "dj.jd"; je: "dj.je"; jf: "dj.jf"; jg: "dj.jg"; jh: "dj.jh"; ji: "dj.ji"; jj: "dj.jj"; jk: "dj.jk"; jl: "dj.jl"; jm: "dj.jm"; jn: "dj.jn"; jo: "dj.jo"; jp: "dj.jp"; jq: "dj.jq"; jr: "dj.jr"; js: "dj.js"; jt: "dj.jt"; ju: "dj.ju"; jv: "dj.jv"; jw: "dj.jw"; jx: "dj.jx"; jy: "dj.jy"; jz: "dj.jz"; ka: "dj.ka"; kb: "dj.kb"; kc: "dj.kc"; kd: "dj.kd"; ke: "dj.ke"; kf: "dj.kf"; kg: "dj.kg"; kh: "dj.kh"; ki: "dj.ki"; kj: "dj.kj"; kk: "dj.kk"; kl: "dj.kl"; km: "dj.km"; kn: "dj.kn"; ko: "dj.ko"; kp: "dj.kp"; kq: "dj.kq"; kr: "dj.kr"; ks: "dj.ks"; kt: "dj.kt"; ku: "dj.ku"; kv: "dj.kv"; kw: "dj.kw"; kx: "dj.kx"; ky: "dj.ky"; kz: "dj.kz"; la: "dj.la"; lb: "dj.lb"; lc: "dj.lc"; ld: "dj.ld"; le: "dj.le"; lf: "dj.lf"; lg: "dj.lg"; lh: "dj.lh"; li: "dj.li"; lj: "dj.lj"; lk: "dj.lk"; ll: "dj.ll"; lm: "dj.lm"; ln: "dj.ln"; lo: "dj.lo"; lp: "dj.lp"; lq: "dj.lq"; lr: "dj.lr"; ls: "dj.ls"; lt: "dj.lt"; lu: "dj.lu"; lv: "dj.lv"; lw: "dj.lw"; lx: "dj.lx"; ly: "dj.ly"; lz: "dj.lz"; ma: "dj.ma"; mb: "dj.mb"; mc: "dj.mc"; md: "dj.md"; me: "dj.me"; mf: "dj.mf"; mg: "dj.mg"; mh: "dj.mh"; mi: "dj.mi"; mj: "dj.mj"; mk: "dj.mk"; ml: "dj.ml"; mm: "dj.mm"; mn: "dj.mn"; mo: "dj.mo"; mp: "dj.mp"; mq: "dj.mq"; mr: "dj.mr"; ms: "dj.ms"; mt: "dj.mt"; mu: "dj.mu"; mv: "dj.mv"; mw: "dj.mw"; mx: "dj.mx"; my: "dj.my"; mz: "dj.mz"; na: "dj.na"; nb: "dj.nb"; nc: "dj.nc"; nd: "dj.nd"; ne: "dj.ne"; nf: "dj.nf"; ng: "dj.ng"; nh: "dj.nh"; ni: "dj.ni"; nj: "dj.nj"; nk: "dj.nk"; nl: "dj.nl"; nm: "dj.nm"; nn: "dj.nn"; no: "dj.no"; np: "dj.np"; nq: "dj.nq"; nr: "dj.nr"; ns: "dj.ns"; nt: "dj.nt"; nu: "dj.nu"; nv: "dj.nv"; nw: "dj.nw"; nx: "dj.nx"; ny: "dj.ny"; nz: "dj.nz"; oa: "dj.oa"; ob: "dj.ob"; oc: "dj.oc"; od: "dj.od"; oe: "dj.oe"; of: "dj.of"; og: "dj.og"; oh: "dj.oh"; oi: "dj.oi"; oj: "dj.oj"; ok: "dj.ok"; ol: "dj.ol"; om: "dj.om"; on: "dj.on"; oo: "dj.oo"; op: "dj.op"; oq: "dj.oq"; or: "dj.or"; os: "dj.os"; ot: "dj.ot"; ou: "dj.ou"; ov: "dj.ov"; ow: "dj.ow"; ox: "dj.ox"; oy: "dj.oy"; oz: "dj.oz"; pa: "dj.pa"; pb: "dj.pb"; pc: "dj.pc"; pd: "dj.pd"; pe: "dj.pe"; pf: "dj.pf"; pg: "dj.pg"; ph: "dj.ph"; pi: "dj.pi"; pj: "dj.pj"; pk: "dj.pk"; pl: "dj.pl"; pm: "dj.pm"; pn: "dj.pn"; po: "dj.po"; pp: "dj.pp"; pq: "dj.pq"; pr: "dj.pr"; ps: "dj.ps"; pt: "dj.pt"; pu: "dj.pu"; pv: "dj.pv"; pw: "dj.pw"; px: "dj.px"; py: "dj.py"; pz: "dj.pz"; qa: "dj.qa"; qb: "dj.qb"; qc: "dj.qc"; qd: "dj.qd"; qe: "dj.qe"; qf: "dj.qf"; qg: "dj.qg"; qh: "dj.qh"; qi: "dj.qi"; qj: "dj.qj"; qk: "dj.qk"; ql: "dj.ql"; qm: "dj.qm"; qn: "dj.qn"; qo: "dj.qo"; qp: "dj.qp"; qq: "dj.qq"; qr: "dj.qr"; qs: "dj.qs"; qt: "dj.qt"; qu: "dj.qu"; qv: "dj.qv"; qw: "dj.qw"; qx: "dj.qx"; qy: "dj.qy"; qz: "dj.qz"; ra: "dj.ra"; rb: "dj.rb"; rc: "dj.rc"; rd: "dj.rd"; re: "dj.re"; rf: "dj.rf"; rg: "dj.rg"; rh: "dj.rh"; ri: "dj.ri"; rj: "dj.rj"; rk: "dj.rk"; rl: "dj.rl"; rm: "dj.rm"; rn: "dj.rn"; ro: "dj.ro"; rp: "dj.rp"; rq: "dj.rq"; rr: "dj.rr"; rs: "dj.rs"; rt: "dj.rt"; ru: "dj.ru"; rv: "dj.rv"; rw: "dj.rw"; rx: "dj.rx"; ry: "dj.ry"; rz: "dj.rz"; sa: "dj.sa"; sb: "dj.sb"; sc: "dj.sc"; sd: "dj.sd"; se: "dj.se"; sf: "dj.sf"; sg: "dj.sg"; sh: "dj.sh"; si: "dj.si"; sj: "dj.sj"; sk: "dj.sk"; sl: "dj.sl"; sm: "dj.sm"; sn: "dj.sn"; so: "dj.so"; sp: "dj.sp"; sq: "dj.sq"; sr: "dj.sr"; ss: "dj.ss"; st: "dj.st"; su: "dj.su"; sv: "dj.sv"; sw: "dj.sw"; sx: "dj.sx"; sy: "dj.sy"; sz: "dj.sz"; ta: "dj.ta"; tb: "dj.tb"; tc: "dj.tc"; td: "dj.td"; te: "dj.te"; tf: "dj.tf"; tg: "dj.tg"; th: "dj.th"; ti: "dj.ti"; tj: "dj.tj"; tk: "dj.tk"; tl: "dj.tl"; tm: "dj.tm"; tn: "dj.tn"; to: "dj.to"; tp: "dj.tp"; tq: "dj.tq"; tr: "dj.tr"; ts: "dj.ts"; tt: "dj.tt"; tu: "dj.tu"; tv: "dj.tv"; tw: "dj.tw"; tx: "dj.tx"; ty: "dj.ty"; tz: "dj.tz"; ua: "dj.ua"; ub: "dj.ub"; uc: "dj.uc"; ud: "dj.ud"; ue: "dj.ue"; uf: "dj.uf"; ug: "dj.ug"; uh: "dj.uh"; ui: "dj.ui"; uj: "dj.uj"; uk: "dj.uk"; ul: "dj.ul"; um: "dj.um"; un: "dj.un"; uo: "dj.uo"; up: "dj.up"; uq: "dj.uq"; ur: "dj.ur"; us: "dj.us"; ut: "dj.ut"; uu: "dj.uu"; uv: "dj.uv"; uw: "dj.uw"; ux: "dj.ux"; uy: "dj.uy"; uz: "dj.uz"; va: "dj.va"; vb: "dj.vb"; vc: "dj.vc"; vd: "dj.vd"; ve: "dj.ve"; vf: "dj.vf"; vg: "dj.vg"; vh: "dj.vh"; vi: "dj.vi"; vj: "dj.vj"; vk: "dj.vk"; vl: "dj.vl"; vm: "dj.vm"; vn: "dj.vn"; vo: "dj.vo"; vp: "dj.vp"; vq: "dj.vq"; vr: "dj.vr"; vs: "dj.vs"; vt: "dj.vt"; vu: "dj.vu"; vv: "dj.vv"; vw: "dj.vw"; vx: "dj.vx"; vy: "dj.vy"; vz: "dj.vz"; wa: "dj.wa"; wb: "dj.wb"; wc: "dj.wc"; wd: "dj.wd"; we: "dj.we"; wf: "dj.wf"; wg: "dj.wg"; wh: "dj.wh"; wi: "dj.wi"; wj: "dj.wj"; wk: "dj.wk"; wl: "dj.wl"; wm: "dj.wm"; wn: "dj.wn"; wo: "dj.wo"; wp: "dj.wp"; wq: "dj.wq"; wr: "dj.wr"; ws: "dj.ws"; wt: "dj.wt"; wu: "dj.wu"; wv: "dj.wv"; ww: "dj.ww"; wx: "dj.wx"; wy: "dj.wy"; wz: "dj.wz"; xa: "dj.xa"; xb: "dj.xb"; xc: "dj.xc"; xd: "dj.xd"; xe: "dj.xe"; xf: "dj.xf"; xg: "dj.xg"; xh: "dj.xh"; xi: "dj.xi"; xj: "dj.xj"; xk: "dj.xk"; xl: "dj.xl"; xm: "dj.xm"; xn: "dj.xn"; xo: "dj.xo"; xp: "dj.xp"; xq: "dj.xq"; xr: "dj.xr"; xs: "dj.xs"; xt: "dj.xt"; xu: "dj.xu"; xv: "dj.xv"; xw: "dj.xw"; xx: "dj.xx"; xy: "dj.xy"; xz: "dj.xz"; ya: "dj.ya"; yb: "dj.yb"; yc: "dj.yc"; yd: "dj.yd"; ye: "dj.ye"; yf: "dj.yf"; yg: "dj.yg"; yh: "dj.yh"; yi: "dj.yi"; yj: "dj.yj"; yk: "dj.yk"; yl: "dj.yl"; ym: "dj.ym"; yn: "dj.yn"; yo: "dj.yo"; yp: "dj.yp"; yq: "dj.yq"; yr: "dj.yr"; ys: "dj.ys"; yt: "dj.yt"; yu: "dj.yu"; yv: "dj.yv"; yw: "dj.yw"; yx: "dj.yx"; yy: "dj.yy"; yz: "dj.yz"; za: "dj.za"; zb: "dj.zb"; zc: "dj.zc"; zd: "dj.zd"; ze: "dj.ze"; zf: "dj.zf"; zg: "dj.zg"; zh: "dj.zh"; zi: "dj.zi"; zj: "dj.zj"; zk: "dj.zk"; zl: "dj.zl"; zm: "dj.zm"; zn: "dj.zn"; zo: "dj.zo"; zp: "dj.zp"; zq: "dj.zq"; zr: "dj.zr"; zs: "dj.zs"; zt: "dj.zt"; zu: "dj.zu"; zv: "dj.zv"; zw: "dj.zw"; zx: "dj.zx"; zy: "dj.zy"; zz: "dj.zz"; }; dk: { aa: "dk.aa"; ab: "dk.ab"; ac: "dk.ac"; ad: "dk.ad"; ae: "dk.ae"; af: "dk.af"; ag: "dk.ag"; ah: "dk.ah"; ai: "dk.ai"; aj: "dk.aj"; ak: "dk.ak"; al: "dk.al"; am: "dk.am"; an: "dk.an"; ao: "dk.ao"; ap: "dk.ap"; aq: "dk.aq"; ar: "dk.ar"; as: "dk.as"; at: "dk.at"; au: "dk.au"; av: "dk.av"; aw: "dk.aw"; ax: "dk.ax"; ay: "dk.ay"; az: "dk.az"; ba: "dk.ba"; bb: "dk.bb"; bc: "dk.bc"; bd: "dk.bd"; be: "dk.be"; bf: "dk.bf"; bg: "dk.bg"; bh: "dk.bh"; bi: "dk.bi"; bj: "dk.bj"; bk: "dk.bk"; bl: "dk.bl"; bm: "dk.bm"; bn: "dk.bn"; bo: "dk.bo"; bp: "dk.bp"; bq: "dk.bq"; br: "dk.br"; bs: "dk.bs"; bt: "dk.bt"; bu: "dk.bu"; bv: "dk.bv"; bw: "dk.bw"; bx: "dk.bx"; by: "dk.by"; bz: "dk.bz"; ca: "dk.ca"; cb: "dk.cb"; cc: "dk.cc"; cd: "dk.cd"; ce: "dk.ce"; cf: "dk.cf"; cg: "dk.cg"; ch: "dk.ch"; ci: "dk.ci"; cj: "dk.cj"; ck: "dk.ck"; cl: "dk.cl"; cm: "dk.cm"; cn: "dk.cn"; co: "dk.co"; cp: "dk.cp"; cq: "dk.cq"; cr: "dk.cr"; cs: "dk.cs"; ct: "dk.ct"; cu: "dk.cu"; cv: "dk.cv"; cw: "dk.cw"; cx: "dk.cx"; cy: "dk.cy"; cz: "dk.cz"; da: "dk.da"; db: "dk.db"; dc: "dk.dc"; dd: "dk.dd"; de: "dk.de"; df: "dk.df"; dg: "dk.dg"; dh: "dk.dh"; di: "dk.di"; dj: "dk.dj"; dk: "dk.dk"; dl: "dk.dl"; dm: "dk.dm"; dn: "dk.dn"; do: "dk.do"; dp: "dk.dp"; dq: "dk.dq"; dr: "dk.dr"; ds: "dk.ds"; dt: "dk.dt"; du: "dk.du"; dv: "dk.dv"; dw: "dk.dw"; dx: "dk.dx"; dy: "dk.dy"; dz: "dk.dz"; ea: "dk.ea"; eb: "dk.eb"; ec: "dk.ec"; ed: "dk.ed"; ee: "dk.ee"; ef: "dk.ef"; eg: "dk.eg"; eh: "dk.eh"; ei: "dk.ei"; ej: "dk.ej"; ek: "dk.ek"; el: "dk.el"; em: "dk.em"; en: "dk.en"; eo: "dk.eo"; ep: "dk.ep"; eq: "dk.eq"; er: "dk.er"; es: "dk.es"; et: "dk.et"; eu: "dk.eu"; ev: "dk.ev"; ew: "dk.ew"; ex: "dk.ex"; ey: "dk.ey"; ez: "dk.ez"; fa: "dk.fa"; fb: "dk.fb"; fc: "dk.fc"; fd: "dk.fd"; fe: "dk.fe"; ff: "dk.ff"; fg: "dk.fg"; fh: "dk.fh"; fi: "dk.fi"; fj: "dk.fj"; fk: "dk.fk"; fl: "dk.fl"; fm: "dk.fm"; fn: "dk.fn"; fo: "dk.fo"; fp: "dk.fp"; fq: "dk.fq"; fr: "dk.fr"; fs: "dk.fs"; ft: "dk.ft"; fu: "dk.fu"; fv: "dk.fv"; fw: "dk.fw"; fx: "dk.fx"; fy: "dk.fy"; fz: "dk.fz"; ga: "dk.ga"; gb: "dk.gb"; gc: "dk.gc"; gd: "dk.gd"; ge: "dk.ge"; gf: "dk.gf"; gg: "dk.gg"; gh: "dk.gh"; gi: "dk.gi"; gj: "dk.gj"; gk: "dk.gk"; gl: "dk.gl"; gm: "dk.gm"; gn: "dk.gn"; go: "dk.go"; gp: "dk.gp"; gq: "dk.gq"; gr: "dk.gr"; gs: "dk.gs"; gt: "dk.gt"; gu: "dk.gu"; gv: "dk.gv"; gw: "dk.gw"; gx: "dk.gx"; gy: "dk.gy"; gz: "dk.gz"; ha: "dk.ha"; hb: "dk.hb"; hc: "dk.hc"; hd: "dk.hd"; he: "dk.he"; hf: "dk.hf"; hg: "dk.hg"; hh: "dk.hh"; hi: "dk.hi"; hj: "dk.hj"; hk: "dk.hk"; hl: "dk.hl"; hm: "dk.hm"; hn: "dk.hn"; ho: "dk.ho"; hp: "dk.hp"; hq: "dk.hq"; hr: "dk.hr"; hs: "dk.hs"; ht: "dk.ht"; hu: "dk.hu"; hv: "dk.hv"; hw: "dk.hw"; hx: "dk.hx"; hy: "dk.hy"; hz: "dk.hz"; ia: "dk.ia"; ib: "dk.ib"; ic: "dk.ic"; id: "dk.id"; ie: "dk.ie"; if: "dk.if"; ig: "dk.ig"; ih: "dk.ih"; ii: "dk.ii"; ij: "dk.ij"; ik: "dk.ik"; il: "dk.il"; im: "dk.im"; in: "dk.in"; io: "dk.io"; ip: "dk.ip"; iq: "dk.iq"; ir: "dk.ir"; is: "dk.is"; it: "dk.it"; iu: "dk.iu"; iv: "dk.iv"; iw: "dk.iw"; ix: "dk.ix"; iy: "dk.iy"; iz: "dk.iz"; ja: "dk.ja"; jb: "dk.jb"; jc: "dk.jc"; jd: "dk.jd"; je: "dk.je"; jf: "dk.jf"; jg: "dk.jg"; jh: "dk.jh"; ji: "dk.ji"; jj: "dk.jj"; jk: "dk.jk"; jl: "dk.jl"; jm: "dk.jm"; jn: "dk.jn"; jo: "dk.jo"; jp: "dk.jp"; jq: "dk.jq"; jr: "dk.jr"; js: "dk.js"; jt: "dk.jt"; ju: "dk.ju"; jv: "dk.jv"; jw: "dk.jw"; jx: "dk.jx"; jy: "dk.jy"; jz: "dk.jz"; ka: "dk.ka"; kb: "dk.kb"; kc: "dk.kc"; kd: "dk.kd"; ke: "dk.ke"; kf: "dk.kf"; kg: "dk.kg"; kh: "dk.kh"; ki: "dk.ki"; kj: "dk.kj"; kk: "dk.kk"; kl: "dk.kl"; km: "dk.km"; kn: "dk.kn"; ko: "dk.ko"; kp: "dk.kp"; kq: "dk.kq"; kr: "dk.kr"; ks: "dk.ks"; kt: "dk.kt"; ku: "dk.ku"; kv: "dk.kv"; kw: "dk.kw"; kx: "dk.kx"; ky: "dk.ky"; kz: "dk.kz"; la: "dk.la"; lb: "dk.lb"; lc: "dk.lc"; ld: "dk.ld"; le: "dk.le"; lf: "dk.lf"; lg: "dk.lg"; lh: "dk.lh"; li: "dk.li"; lj: "dk.lj"; lk: "dk.lk"; ll: "dk.ll"; lm: "dk.lm"; ln: "dk.ln"; lo: "dk.lo"; lp: "dk.lp"; lq: "dk.lq"; lr: "dk.lr"; ls: "dk.ls"; lt: "dk.lt"; lu: "dk.lu"; lv: "dk.lv"; lw: "dk.lw"; lx: "dk.lx"; ly: "dk.ly"; lz: "dk.lz"; ma: "dk.ma"; mb: "dk.mb"; mc: "dk.mc"; md: "dk.md"; me: "dk.me"; mf: "dk.mf"; mg: "dk.mg"; mh: "dk.mh"; mi: "dk.mi"; mj: "dk.mj"; mk: "dk.mk"; ml: "dk.ml"; mm: "dk.mm"; mn: "dk.mn"; mo: "dk.mo"; mp: "dk.mp"; mq: "dk.mq"; mr: "dk.mr"; ms: "dk.ms"; mt: "dk.mt"; mu: "dk.mu"; mv: "dk.mv"; mw: "dk.mw"; mx: "dk.mx"; my: "dk.my"; mz: "dk.mz"; na: "dk.na"; nb: "dk.nb"; nc: "dk.nc"; nd: "dk.nd"; ne: "dk.ne"; nf: "dk.nf"; ng: "dk.ng"; nh: "dk.nh"; ni: "dk.ni"; nj: "dk.nj"; nk: "dk.nk"; nl: "dk.nl"; nm: "dk.nm"; nn: "dk.nn"; no: "dk.no"; np: "dk.np"; nq: "dk.nq"; nr: "dk.nr"; ns: "dk.ns"; nt: "dk.nt"; nu: "dk.nu"; nv: "dk.nv"; nw: "dk.nw"; nx: "dk.nx"; ny: "dk.ny"; nz: "dk.nz"; oa: "dk.oa"; ob: "dk.ob"; oc: "dk.oc"; od: "dk.od"; oe: "dk.oe"; of: "dk.of"; og: "dk.og"; oh: "dk.oh"; oi: "dk.oi"; oj: "dk.oj"; ok: "dk.ok"; ol: "dk.ol"; om: "dk.om"; on: "dk.on"; oo: "dk.oo"; op: "dk.op"; oq: "dk.oq"; or: "dk.or"; os: "dk.os"; ot: "dk.ot"; ou: "dk.ou"; ov: "dk.ov"; ow: "dk.ow"; ox: "dk.ox"; oy: "dk.oy"; oz: "dk.oz"; pa: "dk.pa"; pb: "dk.pb"; pc: "dk.pc"; pd: "dk.pd"; pe: "dk.pe"; pf: "dk.pf"; pg: "dk.pg"; ph: "dk.ph"; pi: "dk.pi"; pj: "dk.pj"; pk: "dk.pk"; pl: "dk.pl"; pm: "dk.pm"; pn: "dk.pn"; po: "dk.po"; pp: "dk.pp"; pq: "dk.pq"; pr: "dk.pr"; ps: "dk.ps"; pt: "dk.pt"; pu: "dk.pu"; pv: "dk.pv"; pw: "dk.pw"; px: "dk.px"; py: "dk.py"; pz: "dk.pz"; qa: "dk.qa"; qb: "dk.qb"; qc: "dk.qc"; qd: "dk.qd"; qe: "dk.qe"; qf: "dk.qf"; qg: "dk.qg"; qh: "dk.qh"; qi: "dk.qi"; qj: "dk.qj"; qk: "dk.qk"; ql: "dk.ql"; qm: "dk.qm"; qn: "dk.qn"; qo: "dk.qo"; qp: "dk.qp"; qq: "dk.qq"; qr: "dk.qr"; qs: "dk.qs"; qt: "dk.qt"; qu: "dk.qu"; qv: "dk.qv"; qw: "dk.qw"; qx: "dk.qx"; qy: "dk.qy"; qz: "dk.qz"; ra: "dk.ra"; rb: "dk.rb"; rc: "dk.rc"; rd: "dk.rd"; re: "dk.re"; rf: "dk.rf"; rg: "dk.rg"; rh: "dk.rh"; ri: "dk.ri"; rj: "dk.rj"; rk: "dk.rk"; rl: "dk.rl"; rm: "dk.rm"; rn: "dk.rn"; ro: "dk.ro"; rp: "dk.rp"; rq: "dk.rq"; rr: "dk.rr"; rs: "dk.rs"; rt: "dk.rt"; ru: "dk.ru"; rv: "dk.rv"; rw: "dk.rw"; rx: "dk.rx"; ry: "dk.ry"; rz: "dk.rz"; sa: "dk.sa"; sb: "dk.sb"; sc: "dk.sc"; sd: "dk.sd"; se: "dk.se"; sf: "dk.sf"; sg: "dk.sg"; sh: "dk.sh"; si: "dk.si"; sj: "dk.sj"; sk: "dk.sk"; sl: "dk.sl"; sm: "dk.sm"; sn: "dk.sn"; so: "dk.so"; sp: "dk.sp"; sq: "dk.sq"; sr: "dk.sr"; ss: "dk.ss"; st: "dk.st"; su: "dk.su"; sv: "dk.sv"; sw: "dk.sw"; sx: "dk.sx"; sy: "dk.sy"; sz: "dk.sz"; ta: "dk.ta"; tb: "dk.tb"; tc: "dk.tc"; td: "dk.td"; te: "dk.te"; tf: "dk.tf"; tg: "dk.tg"; th: "dk.th"; ti: "dk.ti"; tj: "dk.tj"; tk: "dk.tk"; tl: "dk.tl"; tm: "dk.tm"; tn: "dk.tn"; to: "dk.to"; tp: "dk.tp"; tq: "dk.tq"; tr: "dk.tr"; ts: "dk.ts"; tt: "dk.tt"; tu: "dk.tu"; tv: "dk.tv"; tw: "dk.tw"; tx: "dk.tx"; ty: "dk.ty"; tz: "dk.tz"; ua: "dk.ua"; ub: "dk.ub"; uc: "dk.uc"; ud: "dk.ud"; ue: "dk.ue"; uf: "dk.uf"; ug: "dk.ug"; uh: "dk.uh"; ui: "dk.ui"; uj: "dk.uj"; uk: "dk.uk"; ul: "dk.ul"; um: "dk.um"; un: "dk.un"; uo: "dk.uo"; up: "dk.up"; uq: "dk.uq"; ur: "dk.ur"; us: "dk.us"; ut: "dk.ut"; uu: "dk.uu"; uv: "dk.uv"; uw: "dk.uw"; ux: "dk.ux"; uy: "dk.uy"; uz: "dk.uz"; va: "dk.va"; vb: "dk.vb"; vc: "dk.vc"; vd: "dk.vd"; ve: "dk.ve"; vf: "dk.vf"; vg: "dk.vg"; vh: "dk.vh"; vi: "dk.vi"; vj: "dk.vj"; vk: "dk.vk"; vl: "dk.vl"; vm: "dk.vm"; vn: "dk.vn"; vo: "dk.vo"; vp: "dk.vp"; vq: "dk.vq"; vr: "dk.vr"; vs: "dk.vs"; vt: "dk.vt"; vu: "dk.vu"; vv: "dk.vv"; vw: "dk.vw"; vx: "dk.vx"; vy: "dk.vy"; vz: "dk.vz"; wa: "dk.wa"; wb: "dk.wb"; wc: "dk.wc"; wd: "dk.wd"; we: "dk.we"; wf: "dk.wf"; wg: "dk.wg"; wh: "dk.wh"; wi: "dk.wi"; wj: "dk.wj"; wk: "dk.wk"; wl: "dk.wl"; wm: "dk.wm"; wn: "dk.wn"; wo: "dk.wo"; wp: "dk.wp"; wq: "dk.wq"; wr: "dk.wr"; ws: "dk.ws"; wt: "dk.wt"; wu: "dk.wu"; wv: "dk.wv"; ww: "dk.ww"; wx: "dk.wx"; wy: "dk.wy"; wz: "dk.wz"; xa: "dk.xa"; xb: "dk.xb"; xc: "dk.xc"; xd: "dk.xd"; xe: "dk.xe"; xf: "dk.xf"; xg: "dk.xg"; xh: "dk.xh"; xi: "dk.xi"; xj: "dk.xj"; xk: "dk.xk"; xl: "dk.xl"; xm: "dk.xm"; xn: "dk.xn"; xo: "dk.xo"; xp: "dk.xp"; xq: "dk.xq"; xr: "dk.xr"; xs: "dk.xs"; xt: "dk.xt"; xu: "dk.xu"; xv: "dk.xv"; xw: "dk.xw"; xx: "dk.xx"; xy: "dk.xy"; xz: "dk.xz"; ya: "dk.ya"; yb: "dk.yb"; yc: "dk.yc"; yd: "dk.yd"; ye: "dk.ye"; yf: "dk.yf"; yg: "dk.yg"; yh: "dk.yh"; yi: "dk.yi"; yj: "dk.yj"; yk: "dk.yk"; yl: "dk.yl"; ym: "dk.ym"; yn: "dk.yn"; yo: "dk.yo"; yp: "dk.yp"; yq: "dk.yq"; yr: "dk.yr"; ys: "dk.ys"; yt: "dk.yt"; yu: "dk.yu"; yv: "dk.yv"; yw: "dk.yw"; yx: "dk.yx"; yy: "dk.yy"; yz: "dk.yz"; za: "dk.za"; zb: "dk.zb"; zc: "dk.zc"; zd: "dk.zd"; ze: "dk.ze"; zf: "dk.zf"; zg: "dk.zg"; zh: "dk.zh"; zi: "dk.zi"; zj: "dk.zj"; zk: "dk.zk"; zl: "dk.zl"; zm: "dk.zm"; zn: "dk.zn"; zo: "dk.zo"; zp: "dk.zp"; zq: "dk.zq"; zr: "dk.zr"; zs: "dk.zs"; zt: "dk.zt"; zu: "dk.zu"; zv: "dk.zv"; zw: "dk.zw"; zx: "dk.zx"; zy: "dk.zy"; zz: "dk.zz"; }; dl: { aa: "dl.aa"; ab: "dl.ab"; ac: "dl.ac"; ad: "dl.ad"; ae: "dl.ae"; af: "dl.af"; ag: "dl.ag"; ah: "dl.ah"; ai: "dl.ai"; aj: "dl.aj"; ak: "dl.ak"; al: "dl.al"; am: "dl.am"; an: "dl.an"; ao: "dl.ao"; ap: "dl.ap"; aq: "dl.aq"; ar: "dl.ar"; as: "dl.as"; at: "dl.at"; au: "dl.au"; av: "dl.av"; aw: "dl.aw"; ax: "dl.ax"; ay: "dl.ay"; az: "dl.az"; ba: "dl.ba"; bb: "dl.bb"; bc: "dl.bc"; bd: "dl.bd"; be: "dl.be"; bf: "dl.bf"; bg: "dl.bg"; bh: "dl.bh"; bi: "dl.bi"; bj: "dl.bj"; bk: "dl.bk"; bl: "dl.bl"; bm: "dl.bm"; bn: "dl.bn"; bo: "dl.bo"; bp: "dl.bp"; bq: "dl.bq"; br: "dl.br"; bs: "dl.bs"; bt: "dl.bt"; bu: "dl.bu"; bv: "dl.bv"; bw: "dl.bw"; bx: "dl.bx"; by: "dl.by"; bz: "dl.bz"; ca: "dl.ca"; cb: "dl.cb"; cc: "dl.cc"; cd: "dl.cd"; ce: "dl.ce"; cf: "dl.cf"; cg: "dl.cg"; ch: "dl.ch"; ci: "dl.ci"; cj: "dl.cj"; ck: "dl.ck"; cl: "dl.cl"; cm: "dl.cm"; cn: "dl.cn"; co: "dl.co"; cp: "dl.cp"; cq: "dl.cq"; cr: "dl.cr"; cs: "dl.cs"; ct: "dl.ct"; cu: "dl.cu"; cv: "dl.cv"; cw: "dl.cw"; cx: "dl.cx"; cy: "dl.cy"; cz: "dl.cz"; da: "dl.da"; db: "dl.db"; dc: "dl.dc"; dd: "dl.dd"; de: "dl.de"; df: "dl.df"; dg: "dl.dg"; dh: "dl.dh"; di: "dl.di"; dj: "dl.dj"; dk: "dl.dk"; dl: "dl.dl"; dm: "dl.dm"; dn: "dl.dn"; do: "dl.do"; dp: "dl.dp"; dq: "dl.dq"; dr: "dl.dr"; ds: "dl.ds"; dt: "dl.dt"; du: "dl.du"; dv: "dl.dv"; dw: "dl.dw"; dx: "dl.dx"; dy: "dl.dy"; dz: "dl.dz"; ea: "dl.ea"; eb: "dl.eb"; ec: "dl.ec"; ed: "dl.ed"; ee: "dl.ee"; ef: "dl.ef"; eg: "dl.eg"; eh: "dl.eh"; ei: "dl.ei"; ej: "dl.ej"; ek: "dl.ek"; el: "dl.el"; em: "dl.em"; en: "dl.en"; eo: "dl.eo"; ep: "dl.ep"; eq: "dl.eq"; er: "dl.er"; es: "dl.es"; et: "dl.et"; eu: "dl.eu"; ev: "dl.ev"; ew: "dl.ew"; ex: "dl.ex"; ey: "dl.ey"; ez: "dl.ez"; fa: "dl.fa"; fb: "dl.fb"; fc: "dl.fc"; fd: "dl.fd"; fe: "dl.fe"; ff: "dl.ff"; fg: "dl.fg"; fh: "dl.fh"; fi: "dl.fi"; fj: "dl.fj"; fk: "dl.fk"; fl: "dl.fl"; fm: "dl.fm"; fn: "dl.fn"; fo: "dl.fo"; fp: "dl.fp"; fq: "dl.fq"; fr: "dl.fr"; fs: "dl.fs"; ft: "dl.ft"; fu: "dl.fu"; fv: "dl.fv"; fw: "dl.fw"; fx: "dl.fx"; fy: "dl.fy"; fz: "dl.fz"; ga: "dl.ga"; gb: "dl.gb"; gc: "dl.gc"; gd: "dl.gd"; ge: "dl.ge"; gf: "dl.gf"; gg: "dl.gg"; gh: "dl.gh"; gi: "dl.gi"; gj: "dl.gj"; gk: "dl.gk"; gl: "dl.gl"; gm: "dl.gm"; gn: "dl.gn"; go: "dl.go"; gp: "dl.gp"; gq: "dl.gq"; gr: "dl.gr"; gs: "dl.gs"; gt: "dl.gt"; gu: "dl.gu"; gv: "dl.gv"; gw: "dl.gw"; gx: "dl.gx"; gy: "dl.gy"; gz: "dl.gz"; ha: "dl.ha"; hb: "dl.hb"; hc: "dl.hc"; hd: "dl.hd"; he: "dl.he"; hf: "dl.hf"; hg: "dl.hg"; hh: "dl.hh"; hi: "dl.hi"; hj: "dl.hj"; hk: "dl.hk"; hl: "dl.hl"; hm: "dl.hm"; hn: "dl.hn"; ho: "dl.ho"; hp: "dl.hp"; hq: "dl.hq"; hr: "dl.hr"; hs: "dl.hs"; ht: "dl.ht"; hu: "dl.hu"; hv: "dl.hv"; hw: "dl.hw"; hx: "dl.hx"; hy: "dl.hy"; hz: "dl.hz"; ia: "dl.ia"; ib: "dl.ib"; ic: "dl.ic"; id: "dl.id"; ie: "dl.ie"; if: "dl.if"; ig: "dl.ig"; ih: "dl.ih"; ii: "dl.ii"; ij: "dl.ij"; ik: "dl.ik"; il: "dl.il"; im: "dl.im"; in: "dl.in"; io: "dl.io"; ip: "dl.ip"; iq: "dl.iq"; ir: "dl.ir"; is: "dl.is"; it: "dl.it"; iu: "dl.iu"; iv: "dl.iv"; iw: "dl.iw"; ix: "dl.ix"; iy: "dl.iy"; iz: "dl.iz"; ja: "dl.ja"; jb: "dl.jb"; jc: "dl.jc"; jd: "dl.jd"; je: "dl.je"; jf: "dl.jf"; jg: "dl.jg"; jh: "dl.jh"; ji: "dl.ji"; jj: "dl.jj"; jk: "dl.jk"; jl: "dl.jl"; jm: "dl.jm"; jn: "dl.jn"; jo: "dl.jo"; jp: "dl.jp"; jq: "dl.jq"; jr: "dl.jr"; js: "dl.js"; jt: "dl.jt"; ju: "dl.ju"; jv: "dl.jv"; jw: "dl.jw"; jx: "dl.jx"; jy: "dl.jy"; jz: "dl.jz"; ka: "dl.ka"; kb: "dl.kb"; kc: "dl.kc"; kd: "dl.kd"; ke: "dl.ke"; kf: "dl.kf"; kg: "dl.kg"; kh: "dl.kh"; ki: "dl.ki"; kj: "dl.kj"; kk: "dl.kk"; kl: "dl.kl"; km: "dl.km"; kn: "dl.kn"; ko: "dl.ko"; kp: "dl.kp"; kq: "dl.kq"; kr: "dl.kr"; ks: "dl.ks"; kt: "dl.kt"; ku: "dl.ku"; kv: "dl.kv"; kw: "dl.kw"; kx: "dl.kx"; ky: "dl.ky"; kz: "dl.kz"; la: "dl.la"; lb: "dl.lb"; lc: "dl.lc"; ld: "dl.ld"; le: "dl.le"; lf: "dl.lf"; lg: "dl.lg"; lh: "dl.lh"; li: "dl.li"; lj: "dl.lj"; lk: "dl.lk"; ll: "dl.ll"; lm: "dl.lm"; ln: "dl.ln"; lo: "dl.lo"; lp: "dl.lp"; lq: "dl.lq"; lr: "dl.lr"; ls: "dl.ls"; lt: "dl.lt"; lu: "dl.lu"; lv: "dl.lv"; lw: "dl.lw"; lx: "dl.lx"; ly: "dl.ly"; lz: "dl.lz"; ma: "dl.ma"; mb: "dl.mb"; mc: "dl.mc"; md: "dl.md"; me: "dl.me"; mf: "dl.mf"; mg: "dl.mg"; mh: "dl.mh"; mi: "dl.mi"; mj: "dl.mj"; mk: "dl.mk"; ml: "dl.ml"; mm: "dl.mm"; mn: "dl.mn"; mo: "dl.mo"; mp: "dl.mp"; mq: "dl.mq"; mr: "dl.mr"; ms: "dl.ms"; mt: "dl.mt"; mu: "dl.mu"; mv: "dl.mv"; mw: "dl.mw"; mx: "dl.mx"; my: "dl.my"; mz: "dl.mz"; na: "dl.na"; nb: "dl.nb"; nc: "dl.nc"; nd: "dl.nd"; ne: "dl.ne"; nf: "dl.nf"; ng: "dl.ng"; nh: "dl.nh"; ni: "dl.ni"; nj: "dl.nj"; nk: "dl.nk"; nl: "dl.nl"; nm: "dl.nm"; nn: "dl.nn"; no: "dl.no"; np: "dl.np"; nq: "dl.nq"; nr: "dl.nr"; ns: "dl.ns"; nt: "dl.nt"; nu: "dl.nu"; nv: "dl.nv"; nw: "dl.nw"; nx: "dl.nx"; ny: "dl.ny"; nz: "dl.nz"; oa: "dl.oa"; ob: "dl.ob"; oc: "dl.oc"; od: "dl.od"; oe: "dl.oe"; of: "dl.of"; og: "dl.og"; oh: "dl.oh"; oi: "dl.oi"; oj: "dl.oj"; ok: "dl.ok"; ol: "dl.ol"; om: "dl.om"; on: "dl.on"; oo: "dl.oo"; op: "dl.op"; oq: "dl.oq"; or: "dl.or"; os: "dl.os"; ot: "dl.ot"; ou: "dl.ou"; ov: "dl.ov"; ow: "dl.ow"; ox: "dl.ox"; oy: "dl.oy"; oz: "dl.oz"; pa: "dl.pa"; pb: "dl.pb"; pc: "dl.pc"; pd: "dl.pd"; pe: "dl.pe"; pf: "dl.pf"; pg: "dl.pg"; ph: "dl.ph"; pi: "dl.pi"; pj: "dl.pj"; pk: "dl.pk"; pl: "dl.pl"; pm: "dl.pm"; pn: "dl.pn"; po: "dl.po"; pp: "dl.pp"; pq: "dl.pq"; pr: "dl.pr"; ps: "dl.ps"; pt: "dl.pt"; pu: "dl.pu"; pv: "dl.pv"; pw: "dl.pw"; px: "dl.px"; py: "dl.py"; pz: "dl.pz"; qa: "dl.qa"; qb: "dl.qb"; qc: "dl.qc"; qd: "dl.qd"; qe: "dl.qe"; qf: "dl.qf"; qg: "dl.qg"; qh: "dl.qh"; qi: "dl.qi"; qj: "dl.qj"; qk: "dl.qk"; ql: "dl.ql"; qm: "dl.qm"; qn: "dl.qn"; qo: "dl.qo"; qp: "dl.qp"; qq: "dl.qq"; qr: "dl.qr"; qs: "dl.qs"; qt: "dl.qt"; qu: "dl.qu"; qv: "dl.qv"; qw: "dl.qw"; qx: "dl.qx"; qy: "dl.qy"; qz: "dl.qz"; ra: "dl.ra"; rb: "dl.rb"; rc: "dl.rc"; rd: "dl.rd"; re: "dl.re"; rf: "dl.rf"; rg: "dl.rg"; rh: "dl.rh"; ri: "dl.ri"; rj: "dl.rj"; rk: "dl.rk"; rl: "dl.rl"; rm: "dl.rm"; rn: "dl.rn"; ro: "dl.ro"; rp: "dl.rp"; rq: "dl.rq"; rr: "dl.rr"; rs: "dl.rs"; rt: "dl.rt"; ru: "dl.ru"; rv: "dl.rv"; rw: "dl.rw"; rx: "dl.rx"; ry: "dl.ry"; rz: "dl.rz"; sa: "dl.sa"; sb: "dl.sb"; sc: "dl.sc"; sd: "dl.sd"; se: "dl.se"; sf: "dl.sf"; sg: "dl.sg"; sh: "dl.sh"; si: "dl.si"; sj: "dl.sj"; sk: "dl.sk"; sl: "dl.sl"; sm: "dl.sm"; sn: "dl.sn"; so: "dl.so"; sp: "dl.sp"; sq: "dl.sq"; sr: "dl.sr"; ss: "dl.ss"; st: "dl.st"; su: "dl.su"; sv: "dl.sv"; sw: "dl.sw"; sx: "dl.sx"; sy: "dl.sy"; sz: "dl.sz"; ta: "dl.ta"; tb: "dl.tb"; tc: "dl.tc"; td: "dl.td"; te: "dl.te"; tf: "dl.tf"; tg: "dl.tg"; th: "dl.th"; ti: "dl.ti"; tj: "dl.tj"; tk: "dl.tk"; tl: "dl.tl"; tm: "dl.tm"; tn: "dl.tn"; to: "dl.to"; tp: "dl.tp"; tq: "dl.tq"; tr: "dl.tr"; ts: "dl.ts"; tt: "dl.tt"; tu: "dl.tu"; tv: "dl.tv"; tw: "dl.tw"; tx: "dl.tx"; ty: "dl.ty"; tz: "dl.tz"; ua: "dl.ua"; ub: "dl.ub"; uc: "dl.uc"; ud: "dl.ud"; ue: "dl.ue"; uf: "dl.uf"; ug: "dl.ug"; uh: "dl.uh"; ui: "dl.ui"; uj: "dl.uj"; uk: "dl.uk"; ul: "dl.ul"; um: "dl.um"; un: "dl.un"; uo: "dl.uo"; up: "dl.up"; uq: "dl.uq"; ur: "dl.ur"; us: "dl.us"; ut: "dl.ut"; uu: "dl.uu"; uv: "dl.uv"; uw: "dl.uw"; ux: "dl.ux"; uy: "dl.uy"; uz: "dl.uz"; va: "dl.va"; vb: "dl.vb"; vc: "dl.vc"; vd: "dl.vd"; ve: "dl.ve"; vf: "dl.vf"; vg: "dl.vg"; vh: "dl.vh"; vi: "dl.vi"; vj: "dl.vj"; vk: "dl.vk"; vl: "dl.vl"; vm: "dl.vm"; vn: "dl.vn"; vo: "dl.vo"; vp: "dl.vp"; vq: "dl.vq"; vr: "dl.vr"; vs: "dl.vs"; vt: "dl.vt"; vu: "dl.vu"; vv: "dl.vv"; vw: "dl.vw"; vx: "dl.vx"; vy: "dl.vy"; vz: "dl.vz"; wa: "dl.wa"; wb: "dl.wb"; wc: "dl.wc"; wd: "dl.wd"; we: "dl.we"; wf: "dl.wf"; wg: "dl.wg"; wh: "dl.wh"; wi: "dl.wi"; wj: "dl.wj"; wk: "dl.wk"; wl: "dl.wl"; wm: "dl.wm"; wn: "dl.wn"; wo: "dl.wo"; wp: "dl.wp"; wq: "dl.wq"; wr: "dl.wr"; ws: "dl.ws"; wt: "dl.wt"; wu: "dl.wu"; wv: "dl.wv"; ww: "dl.ww"; wx: "dl.wx"; wy: "dl.wy"; wz: "dl.wz"; xa: "dl.xa"; xb: "dl.xb"; xc: "dl.xc"; xd: "dl.xd"; xe: "dl.xe"; xf: "dl.xf"; xg: "dl.xg"; xh: "dl.xh"; xi: "dl.xi"; xj: "dl.xj"; xk: "dl.xk"; xl: "dl.xl"; xm: "dl.xm"; xn: "dl.xn"; xo: "dl.xo"; xp: "dl.xp"; xq: "dl.xq"; xr: "dl.xr"; xs: "dl.xs"; xt: "dl.xt"; xu: "dl.xu"; xv: "dl.xv"; xw: "dl.xw"; xx: "dl.xx"; xy: "dl.xy"; xz: "dl.xz"; ya: "dl.ya"; yb: "dl.yb"; yc: "dl.yc"; yd: "dl.yd"; ye: "dl.ye"; yf: "dl.yf"; yg: "dl.yg"; yh: "dl.yh"; yi: "dl.yi"; yj: "dl.yj"; yk: "dl.yk"; yl: "dl.yl"; ym: "dl.ym"; yn: "dl.yn"; yo: "dl.yo"; yp: "dl.yp"; yq: "dl.yq"; yr: "dl.yr"; ys: "dl.ys"; yt: "dl.yt"; yu: "dl.yu"; yv: "dl.yv"; yw: "dl.yw"; yx: "dl.yx"; yy: "dl.yy"; yz: "dl.yz"; za: "dl.za"; zb: "dl.zb"; zc: "dl.zc"; zd: "dl.zd"; ze: "dl.ze"; zf: "dl.zf"; zg: "dl.zg"; zh: "dl.zh"; zi: "dl.zi"; zj: "dl.zj"; zk: "dl.zk"; zl: "dl.zl"; zm: "dl.zm"; zn: "dl.zn"; zo: "dl.zo"; zp: "dl.zp"; zq: "dl.zq"; zr: "dl.zr"; zs: "dl.zs"; zt: "dl.zt"; zu: "dl.zu"; zv: "dl.zv"; zw: "dl.zw"; zx: "dl.zx"; zy: "dl.zy"; zz: "dl.zz"; }; dm: { aa: "dm.aa"; ab: "dm.ab"; ac: "dm.ac"; ad: "dm.ad"; ae: "dm.ae"; af: "dm.af"; ag: "dm.ag"; ah: "dm.ah"; ai: "dm.ai"; aj: "dm.aj"; ak: "dm.ak"; al: "dm.al"; am: "dm.am"; an: "dm.an"; ao: "dm.ao"; ap: "dm.ap"; aq: "dm.aq"; ar: "dm.ar"; as: "dm.as"; at: "dm.at"; au: "dm.au"; av: "dm.av"; aw: "dm.aw"; ax: "dm.ax"; ay: "dm.ay"; az: "dm.az"; ba: "dm.ba"; bb: "dm.bb"; bc: "dm.bc"; bd: "dm.bd"; be: "dm.be"; bf: "dm.bf"; bg: "dm.bg"; bh: "dm.bh"; bi: "dm.bi"; bj: "dm.bj"; bk: "dm.bk"; bl: "dm.bl"; bm: "dm.bm"; bn: "dm.bn"; bo: "dm.bo"; bp: "dm.bp"; bq: "dm.bq"; br: "dm.br"; bs: "dm.bs"; bt: "dm.bt"; bu: "dm.bu"; bv: "dm.bv"; bw: "dm.bw"; bx: "dm.bx"; by: "dm.by"; bz: "dm.bz"; ca: "dm.ca"; cb: "dm.cb"; cc: "dm.cc"; cd: "dm.cd"; ce: "dm.ce"; cf: "dm.cf"; cg: "dm.cg"; ch: "dm.ch"; ci: "dm.ci"; cj: "dm.cj"; ck: "dm.ck"; cl: "dm.cl"; cm: "dm.cm"; cn: "dm.cn"; co: "dm.co"; cp: "dm.cp"; cq: "dm.cq"; cr: "dm.cr"; cs: "dm.cs"; ct: "dm.ct"; cu: "dm.cu"; cv: "dm.cv"; cw: "dm.cw"; cx: "dm.cx"; cy: "dm.cy"; cz: "dm.cz"; da: "dm.da"; db: "dm.db"; dc: "dm.dc"; dd: "dm.dd"; de: "dm.de"; df: "dm.df"; dg: "dm.dg"; dh: "dm.dh"; di: "dm.di"; dj: "dm.dj"; dk: "dm.dk"; dl: "dm.dl"; dm: "dm.dm"; dn: "dm.dn"; do: "dm.do"; dp: "dm.dp"; dq: "dm.dq"; dr: "dm.dr"; ds: "dm.ds"; dt: "dm.dt"; du: "dm.du"; dv: "dm.dv"; dw: "dm.dw"; dx: "dm.dx"; dy: "dm.dy"; dz: "dm.dz"; ea: "dm.ea"; eb: "dm.eb"; ec: "dm.ec"; ed: "dm.ed"; ee: "dm.ee"; ef: "dm.ef"; eg: "dm.eg"; eh: "dm.eh"; ei: "dm.ei"; ej: "dm.ej"; ek: "dm.ek"; el: "dm.el"; em: "dm.em"; en: "dm.en"; eo: "dm.eo"; ep: "dm.ep"; eq: "dm.eq"; er: "dm.er"; es: "dm.es"; et: "dm.et"; eu: "dm.eu"; ev: "dm.ev"; ew: "dm.ew"; ex: "dm.ex"; ey: "dm.ey"; ez: "dm.ez"; fa: "dm.fa"; fb: "dm.fb"; fc: "dm.fc"; fd: "dm.fd"; fe: "dm.fe"; ff: "dm.ff"; fg: "dm.fg"; fh: "dm.fh"; fi: "dm.fi"; fj: "dm.fj"; fk: "dm.fk"; fl: "dm.fl"; fm: "dm.fm"; fn: "dm.fn"; fo: "dm.fo"; fp: "dm.fp"; fq: "dm.fq"; fr: "dm.fr"; fs: "dm.fs"; ft: "dm.ft"; fu: "dm.fu"; fv: "dm.fv"; fw: "dm.fw"; fx: "dm.fx"; fy: "dm.fy"; fz: "dm.fz"; ga: "dm.ga"; gb: "dm.gb"; gc: "dm.gc"; gd: "dm.gd"; ge: "dm.ge"; gf: "dm.gf"; gg: "dm.gg"; gh: "dm.gh"; gi: "dm.gi"; gj: "dm.gj"; gk: "dm.gk"; gl: "dm.gl"; gm: "dm.gm"; gn: "dm.gn"; go: "dm.go"; gp: "dm.gp"; gq: "dm.gq"; gr: "dm.gr"; gs: "dm.gs"; gt: "dm.gt"; gu: "dm.gu"; gv: "dm.gv"; gw: "dm.gw"; gx: "dm.gx"; gy: "dm.gy"; gz: "dm.gz"; ha: "dm.ha"; hb: "dm.hb"; hc: "dm.hc"; hd: "dm.hd"; he: "dm.he"; hf: "dm.hf"; hg: "dm.hg"; hh: "dm.hh"; hi: "dm.hi"; hj: "dm.hj"; hk: "dm.hk"; hl: "dm.hl"; hm: "dm.hm"; hn: "dm.hn"; ho: "dm.ho"; hp: "dm.hp"; hq: "dm.hq"; hr: "dm.hr"; hs: "dm.hs"; ht: "dm.ht"; hu: "dm.hu"; hv: "dm.hv"; hw: "dm.hw"; hx: "dm.hx"; hy: "dm.hy"; hz: "dm.hz"; ia: "dm.ia"; ib: "dm.ib"; ic: "dm.ic"; id: "dm.id"; ie: "dm.ie"; if: "dm.if"; ig: "dm.ig"; ih: "dm.ih"; ii: "dm.ii"; ij: "dm.ij"; ik: "dm.ik"; il: "dm.il"; im: "dm.im"; in: "dm.in"; io: "dm.io"; ip: "dm.ip"; iq: "dm.iq"; ir: "dm.ir"; is: "dm.is"; it: "dm.it"; iu: "dm.iu"; iv: "dm.iv"; iw: "dm.iw"; ix: "dm.ix"; iy: "dm.iy"; iz: "dm.iz"; ja: "dm.ja"; jb: "dm.jb"; jc: "dm.jc"; jd: "dm.jd"; je: "dm.je"; jf: "dm.jf"; jg: "dm.jg"; jh: "dm.jh"; ji: "dm.ji"; jj: "dm.jj"; jk: "dm.jk"; jl: "dm.jl"; jm: "dm.jm"; jn: "dm.jn"; jo: "dm.jo"; jp: "dm.jp"; jq: "dm.jq"; jr: "dm.jr"; js: "dm.js"; jt: "dm.jt"; ju: "dm.ju"; jv: "dm.jv"; jw: "dm.jw"; jx: "dm.jx"; jy: "dm.jy"; jz: "dm.jz"; ka: "dm.ka"; kb: "dm.kb"; kc: "dm.kc"; kd: "dm.kd"; ke: "dm.ke"; kf: "dm.kf"; kg: "dm.kg"; kh: "dm.kh"; ki: "dm.ki"; kj: "dm.kj"; kk: "dm.kk"; kl: "dm.kl"; km: "dm.km"; kn: "dm.kn"; ko: "dm.ko"; kp: "dm.kp"; kq: "dm.kq"; kr: "dm.kr"; ks: "dm.ks"; kt: "dm.kt"; ku: "dm.ku"; kv: "dm.kv"; kw: "dm.kw"; kx: "dm.kx"; ky: "dm.ky"; kz: "dm.kz"; la: "dm.la"; lb: "dm.lb"; lc: "dm.lc"; ld: "dm.ld"; le: "dm.le"; lf: "dm.lf"; lg: "dm.lg"; lh: "dm.lh"; li: "dm.li"; lj: "dm.lj"; lk: "dm.lk"; ll: "dm.ll"; lm: "dm.lm"; ln: "dm.ln"; lo: "dm.lo"; lp: "dm.lp"; lq: "dm.lq"; lr: "dm.lr"; ls: "dm.ls"; lt: "dm.lt"; lu: "dm.lu"; lv: "dm.lv"; lw: "dm.lw"; lx: "dm.lx"; ly: "dm.ly"; lz: "dm.lz"; ma: "dm.ma"; mb: "dm.mb"; mc: "dm.mc"; md: "dm.md"; me: "dm.me"; mf: "dm.mf"; mg: "dm.mg"; mh: "dm.mh"; mi: "dm.mi"; mj: "dm.mj"; mk: "dm.mk"; ml: "dm.ml"; mm: "dm.mm"; mn: "dm.mn"; mo: "dm.mo"; mp: "dm.mp"; mq: "dm.mq"; mr: "dm.mr"; ms: "dm.ms"; mt: "dm.mt"; mu: "dm.mu"; mv: "dm.mv"; mw: "dm.mw"; mx: "dm.mx"; my: "dm.my"; mz: "dm.mz"; na: "dm.na"; nb: "dm.nb"; nc: "dm.nc"; nd: "dm.nd"; ne: "dm.ne"; nf: "dm.nf"; ng: "dm.ng"; nh: "dm.nh"; ni: "dm.ni"; nj: "dm.nj"; nk: "dm.nk"; nl: "dm.nl"; nm: "dm.nm"; nn: "dm.nn"; no: "dm.no"; np: "dm.np"; nq: "dm.nq"; nr: "dm.nr"; ns: "dm.ns"; nt: "dm.nt"; nu: "dm.nu"; nv: "dm.nv"; nw: "dm.nw"; nx: "dm.nx"; ny: "dm.ny"; nz: "dm.nz"; oa: "dm.oa"; ob: "dm.ob"; oc: "dm.oc"; od: "dm.od"; oe: "dm.oe"; of: "dm.of"; og: "dm.og"; oh: "dm.oh"; oi: "dm.oi"; oj: "dm.oj"; ok: "dm.ok"; ol: "dm.ol"; om: "dm.om"; on: "dm.on"; oo: "dm.oo"; op: "dm.op"; oq: "dm.oq"; or: "dm.or"; os: "dm.os"; ot: "dm.ot"; ou: "dm.ou"; ov: "dm.ov"; ow: "dm.ow"; ox: "dm.ox"; oy: "dm.oy"; oz: "dm.oz"; pa: "dm.pa"; pb: "dm.pb"; pc: "dm.pc"; pd: "dm.pd"; pe: "dm.pe"; pf: "dm.pf"; pg: "dm.pg"; ph: "dm.ph"; pi: "dm.pi"; pj: "dm.pj"; pk: "dm.pk"; pl: "dm.pl"; pm: "dm.pm"; pn: "dm.pn"; po: "dm.po"; pp: "dm.pp"; pq: "dm.pq"; pr: "dm.pr"; ps: "dm.ps"; pt: "dm.pt"; pu: "dm.pu"; pv: "dm.pv"; pw: "dm.pw"; px: "dm.px"; py: "dm.py"; pz: "dm.pz"; qa: "dm.qa"; qb: "dm.qb"; qc: "dm.qc"; qd: "dm.qd"; qe: "dm.qe"; qf: "dm.qf"; qg: "dm.qg"; qh: "dm.qh"; qi: "dm.qi"; qj: "dm.qj"; qk: "dm.qk"; ql: "dm.ql"; qm: "dm.qm"; qn: "dm.qn"; qo: "dm.qo"; qp: "dm.qp"; qq: "dm.qq"; qr: "dm.qr"; qs: "dm.qs"; qt: "dm.qt"; qu: "dm.qu"; qv: "dm.qv"; qw: "dm.qw"; qx: "dm.qx"; qy: "dm.qy"; qz: "dm.qz"; ra: "dm.ra"; rb: "dm.rb"; rc: "dm.rc"; rd: "dm.rd"; re: "dm.re"; rf: "dm.rf"; rg: "dm.rg"; rh: "dm.rh"; ri: "dm.ri"; rj: "dm.rj"; rk: "dm.rk"; rl: "dm.rl"; rm: "dm.rm"; rn: "dm.rn"; ro: "dm.ro"; rp: "dm.rp"; rq: "dm.rq"; rr: "dm.rr"; rs: "dm.rs"; rt: "dm.rt"; ru: "dm.ru"; rv: "dm.rv"; rw: "dm.rw"; rx: "dm.rx"; ry: "dm.ry"; rz: "dm.rz"; sa: "dm.sa"; sb: "dm.sb"; sc: "dm.sc"; sd: "dm.sd"; se: "dm.se"; sf: "dm.sf"; sg: "dm.sg"; sh: "dm.sh"; si: "dm.si"; sj: "dm.sj"; sk: "dm.sk"; sl: "dm.sl"; sm: "dm.sm"; sn: "dm.sn"; so: "dm.so"; sp: "dm.sp"; sq: "dm.sq"; sr: "dm.sr"; ss: "dm.ss"; st: "dm.st"; su: "dm.su"; sv: "dm.sv"; sw: "dm.sw"; sx: "dm.sx"; sy: "dm.sy"; sz: "dm.sz"; ta: "dm.ta"; tb: "dm.tb"; tc: "dm.tc"; td: "dm.td"; te: "dm.te"; tf: "dm.tf"; tg: "dm.tg"; th: "dm.th"; ti: "dm.ti"; tj: "dm.tj"; tk: "dm.tk"; tl: "dm.tl"; tm: "dm.tm"; tn: "dm.tn"; to: "dm.to"; tp: "dm.tp"; tq: "dm.tq"; tr: "dm.tr"; ts: "dm.ts"; tt: "dm.tt"; tu: "dm.tu"; tv: "dm.tv"; tw: "dm.tw"; tx: "dm.tx"; ty: "dm.ty"; tz: "dm.tz"; ua: "dm.ua"; ub: "dm.ub"; uc: "dm.uc"; ud: "dm.ud"; ue: "dm.ue"; uf: "dm.uf"; ug: "dm.ug"; uh: "dm.uh"; ui: "dm.ui"; uj: "dm.uj"; uk: "dm.uk"; ul: "dm.ul"; um: "dm.um"; un: "dm.un"; uo: "dm.uo"; up: "dm.up"; uq: "dm.uq"; ur: "dm.ur"; us: "dm.us"; ut: "dm.ut"; uu: "dm.uu"; uv: "dm.uv"; uw: "dm.uw"; ux: "dm.ux"; uy: "dm.uy"; uz: "dm.uz"; va: "dm.va"; vb: "dm.vb"; vc: "dm.vc"; vd: "dm.vd"; ve: "dm.ve"; vf: "dm.vf"; vg: "dm.vg"; vh: "dm.vh"; vi: "dm.vi"; vj: "dm.vj"; vk: "dm.vk"; vl: "dm.vl"; vm: "dm.vm"; vn: "dm.vn"; vo: "dm.vo"; vp: "dm.vp"; vq: "dm.vq"; vr: "dm.vr"; vs: "dm.vs"; vt: "dm.vt"; vu: "dm.vu"; vv: "dm.vv"; vw: "dm.vw"; vx: "dm.vx"; vy: "dm.vy"; vz: "dm.vz"; wa: "dm.wa"; wb: "dm.wb"; wc: "dm.wc"; wd: "dm.wd"; we: "dm.we"; wf: "dm.wf"; wg: "dm.wg"; wh: "dm.wh"; wi: "dm.wi"; wj: "dm.wj"; wk: "dm.wk"; wl: "dm.wl"; wm: "dm.wm"; wn: "dm.wn"; wo: "dm.wo"; wp: "dm.wp"; wq: "dm.wq"; wr: "dm.wr"; ws: "dm.ws"; wt: "dm.wt"; wu: "dm.wu"; wv: "dm.wv"; ww: "dm.ww"; wx: "dm.wx"; wy: "dm.wy"; wz: "dm.wz"; xa: "dm.xa"; xb: "dm.xb"; xc: "dm.xc"; xd: "dm.xd"; xe: "dm.xe"; xf: "dm.xf"; xg: "dm.xg"; xh: "dm.xh"; xi: "dm.xi"; xj: "dm.xj"; xk: "dm.xk"; xl: "dm.xl"; xm: "dm.xm"; xn: "dm.xn"; xo: "dm.xo"; xp: "dm.xp"; xq: "dm.xq"; xr: "dm.xr"; xs: "dm.xs"; xt: "dm.xt"; xu: "dm.xu"; xv: "dm.xv"; xw: "dm.xw"; xx: "dm.xx"; xy: "dm.xy"; xz: "dm.xz"; ya: "dm.ya"; yb: "dm.yb"; yc: "dm.yc"; yd: "dm.yd"; ye: "dm.ye"; yf: "dm.yf"; yg: "dm.yg"; yh: "dm.yh"; yi: "dm.yi"; yj: "dm.yj"; yk: "dm.yk"; yl: "dm.yl"; ym: "dm.ym"; yn: "dm.yn"; yo: "dm.yo"; yp: "dm.yp"; yq: "dm.yq"; yr: "dm.yr"; ys: "dm.ys"; yt: "dm.yt"; yu: "dm.yu"; yv: "dm.yv"; yw: "dm.yw"; yx: "dm.yx"; yy: "dm.yy"; yz: "dm.yz"; za: "dm.za"; zb: "dm.zb"; zc: "dm.zc"; zd: "dm.zd"; ze: "dm.ze"; zf: "dm.zf"; zg: "dm.zg"; zh: "dm.zh"; zi: "dm.zi"; zj: "dm.zj"; zk: "dm.zk"; zl: "dm.zl"; zm: "dm.zm"; zn: "dm.zn"; zo: "dm.zo"; zp: "dm.zp"; zq: "dm.zq"; zr: "dm.zr"; zs: "dm.zs"; zt: "dm.zt"; zu: "dm.zu"; zv: "dm.zv"; zw: "dm.zw"; zx: "dm.zx"; zy: "dm.zy"; zz: "dm.zz"; }; dn: { aa: "dn.aa"; ab: "dn.ab"; ac: "dn.ac"; ad: "dn.ad"; ae: "dn.ae"; af: "dn.af"; ag: "dn.ag"; ah: "dn.ah"; ai: "dn.ai"; aj: "dn.aj"; ak: "dn.ak"; al: "dn.al"; am: "dn.am"; an: "dn.an"; ao: "dn.ao"; ap: "dn.ap"; aq: "dn.aq"; ar: "dn.ar"; as: "dn.as"; at: "dn.at"; au: "dn.au"; av: "dn.av"; aw: "dn.aw"; ax: "dn.ax"; ay: "dn.ay"; az: "dn.az"; ba: "dn.ba"; bb: "dn.bb"; bc: "dn.bc"; bd: "dn.bd"; be: "dn.be"; bf: "dn.bf"; bg: "dn.bg"; bh: "dn.bh"; bi: "dn.bi"; bj: "dn.bj"; bk: "dn.bk"; bl: "dn.bl"; bm: "dn.bm"; bn: "dn.bn"; bo: "dn.bo"; bp: "dn.bp"; bq: "dn.bq"; br: "dn.br"; bs: "dn.bs"; bt: "dn.bt"; bu: "dn.bu"; bv: "dn.bv"; bw: "dn.bw"; bx: "dn.bx"; by: "dn.by"; bz: "dn.bz"; ca: "dn.ca"; cb: "dn.cb"; cc: "dn.cc"; cd: "dn.cd"; ce: "dn.ce"; cf: "dn.cf"; cg: "dn.cg"; ch: "dn.ch"; ci: "dn.ci"; cj: "dn.cj"; ck: "dn.ck"; cl: "dn.cl"; cm: "dn.cm"; cn: "dn.cn"; co: "dn.co"; cp: "dn.cp"; cq: "dn.cq"; cr: "dn.cr"; cs: "dn.cs"; ct: "dn.ct"; cu: "dn.cu"; cv: "dn.cv"; cw: "dn.cw"; cx: "dn.cx"; cy: "dn.cy"; cz: "dn.cz"; da: "dn.da"; db: "dn.db"; dc: "dn.dc"; dd: "dn.dd"; de: "dn.de"; df: "dn.df"; dg: "dn.dg"; dh: "dn.dh"; di: "dn.di"; dj: "dn.dj"; dk: "dn.dk"; dl: "dn.dl"; dm: "dn.dm"; dn: "dn.dn"; do: "dn.do"; dp: "dn.dp"; dq: "dn.dq"; dr: "dn.dr"; ds: "dn.ds"; dt: "dn.dt"; du: "dn.du"; dv: "dn.dv"; dw: "dn.dw"; dx: "dn.dx"; dy: "dn.dy"; dz: "dn.dz"; ea: "dn.ea"; eb: "dn.eb"; ec: "dn.ec"; ed: "dn.ed"; ee: "dn.ee"; ef: "dn.ef"; eg: "dn.eg"; eh: "dn.eh"; ei: "dn.ei"; ej: "dn.ej"; ek: "dn.ek"; el: "dn.el"; em: "dn.em"; en: "dn.en"; eo: "dn.eo"; ep: "dn.ep"; eq: "dn.eq"; er: "dn.er"; es: "dn.es"; et: "dn.et"; eu: "dn.eu"; ev: "dn.ev"; ew: "dn.ew"; ex: "dn.ex"; ey: "dn.ey"; ez: "dn.ez"; fa: "dn.fa"; fb: "dn.fb"; fc: "dn.fc"; fd: "dn.fd"; fe: "dn.fe"; ff: "dn.ff"; fg: "dn.fg"; fh: "dn.fh"; fi: "dn.fi"; fj: "dn.fj"; fk: "dn.fk"; fl: "dn.fl"; fm: "dn.fm"; fn: "dn.fn"; fo: "dn.fo"; fp: "dn.fp"; fq: "dn.fq"; fr: "dn.fr"; fs: "dn.fs"; ft: "dn.ft"; fu: "dn.fu"; fv: "dn.fv"; fw: "dn.fw"; fx: "dn.fx"; fy: "dn.fy"; fz: "dn.fz"; ga: "dn.ga"; gb: "dn.gb"; gc: "dn.gc"; gd: "dn.gd"; ge: "dn.ge"; gf: "dn.gf"; gg: "dn.gg"; gh: "dn.gh"; gi: "dn.gi"; gj: "dn.gj"; gk: "dn.gk"; gl: "dn.gl"; gm: "dn.gm"; gn: "dn.gn"; go: "dn.go"; gp: "dn.gp"; gq: "dn.gq"; gr: "dn.gr"; gs: "dn.gs"; gt: "dn.gt"; gu: "dn.gu"; gv: "dn.gv"; gw: "dn.gw"; gx: "dn.gx"; gy: "dn.gy"; gz: "dn.gz"; ha: "dn.ha"; hb: "dn.hb"; hc: "dn.hc"; hd: "dn.hd"; he: "dn.he"; hf: "dn.hf"; hg: "dn.hg"; hh: "dn.hh"; hi: "dn.hi"; hj: "dn.hj"; hk: "dn.hk"; hl: "dn.hl"; hm: "dn.hm"; hn: "dn.hn"; ho: "dn.ho"; hp: "dn.hp"; hq: "dn.hq"; hr: "dn.hr"; hs: "dn.hs"; ht: "dn.ht"; hu: "dn.hu"; hv: "dn.hv"; hw: "dn.hw"; hx: "dn.hx"; hy: "dn.hy"; hz: "dn.hz"; ia: "dn.ia"; ib: "dn.ib"; ic: "dn.ic"; id: "dn.id"; ie: "dn.ie"; if: "dn.if"; ig: "dn.ig"; ih: "dn.ih"; ii: "dn.ii"; ij: "dn.ij"; ik: "dn.ik"; il: "dn.il"; im: "dn.im"; in: "dn.in"; io: "dn.io"; ip: "dn.ip"; iq: "dn.iq"; ir: "dn.ir"; is: "dn.is"; it: "dn.it"; iu: "dn.iu"; iv: "dn.iv"; iw: "dn.iw"; ix: "dn.ix"; iy: "dn.iy"; iz: "dn.iz"; ja: "dn.ja"; jb: "dn.jb"; jc: "dn.jc"; jd: "dn.jd"; je: "dn.je"; jf: "dn.jf"; jg: "dn.jg"; jh: "dn.jh"; ji: "dn.ji"; jj: "dn.jj"; jk: "dn.jk"; jl: "dn.jl"; jm: "dn.jm"; jn: "dn.jn"; jo: "dn.jo"; jp: "dn.jp"; jq: "dn.jq"; jr: "dn.jr"; js: "dn.js"; jt: "dn.jt"; ju: "dn.ju"; jv: "dn.jv"; jw: "dn.jw"; jx: "dn.jx"; jy: "dn.jy"; jz: "dn.jz"; ka: "dn.ka"; kb: "dn.kb"; kc: "dn.kc"; kd: "dn.kd"; ke: "dn.ke"; kf: "dn.kf"; kg: "dn.kg"; kh: "dn.kh"; ki: "dn.ki"; kj: "dn.kj"; kk: "dn.kk"; kl: "dn.kl"; km: "dn.km"; kn: "dn.kn"; ko: "dn.ko"; kp: "dn.kp"; kq: "dn.kq"; kr: "dn.kr"; ks: "dn.ks"; kt: "dn.kt"; ku: "dn.ku"; kv: "dn.kv"; kw: "dn.kw"; kx: "dn.kx"; ky: "dn.ky"; kz: "dn.kz"; la: "dn.la"; lb: "dn.lb"; lc: "dn.lc"; ld: "dn.ld"; le: "dn.le"; lf: "dn.lf"; lg: "dn.lg"; lh: "dn.lh"; li: "dn.li"; lj: "dn.lj"; lk: "dn.lk"; ll: "dn.ll"; lm: "dn.lm"; ln: "dn.ln"; lo: "dn.lo"; lp: "dn.lp"; lq: "dn.lq"; lr: "dn.lr"; ls: "dn.ls"; lt: "dn.lt"; lu: "dn.lu"; lv: "dn.lv"; lw: "dn.lw"; lx: "dn.lx"; ly: "dn.ly"; lz: "dn.lz"; ma: "dn.ma"; mb: "dn.mb"; mc: "dn.mc"; md: "dn.md"; me: "dn.me"; mf: "dn.mf"; mg: "dn.mg"; mh: "dn.mh"; mi: "dn.mi"; mj: "dn.mj"; mk: "dn.mk"; ml: "dn.ml"; mm: "dn.mm"; mn: "dn.mn"; mo: "dn.mo"; mp: "dn.mp"; mq: "dn.mq"; mr: "dn.mr"; ms: "dn.ms"; mt: "dn.mt"; mu: "dn.mu"; mv: "dn.mv"; mw: "dn.mw"; mx: "dn.mx"; my: "dn.my"; mz: "dn.mz"; na: "dn.na"; nb: "dn.nb"; nc: "dn.nc"; nd: "dn.nd"; ne: "dn.ne"; nf: "dn.nf"; ng: "dn.ng"; nh: "dn.nh"; ni: "dn.ni"; nj: "dn.nj"; nk: "dn.nk"; nl: "dn.nl"; nm: "dn.nm"; nn: "dn.nn"; no: "dn.no"; np: "dn.np"; nq: "dn.nq"; nr: "dn.nr"; ns: "dn.ns"; nt: "dn.nt"; nu: "dn.nu"; nv: "dn.nv"; nw: "dn.nw"; nx: "dn.nx"; ny: "dn.ny"; nz: "dn.nz"; oa: "dn.oa"; ob: "dn.ob"; oc: "dn.oc"; od: "dn.od"; oe: "dn.oe"; of: "dn.of"; og: "dn.og"; oh: "dn.oh"; oi: "dn.oi"; oj: "dn.oj"; ok: "dn.ok"; ol: "dn.ol"; om: "dn.om"; on: "dn.on"; oo: "dn.oo"; op: "dn.op"; oq: "dn.oq"; or: "dn.or"; os: "dn.os"; ot: "dn.ot"; ou: "dn.ou"; ov: "dn.ov"; ow: "dn.ow"; ox: "dn.ox"; oy: "dn.oy"; oz: "dn.oz"; pa: "dn.pa"; pb: "dn.pb"; pc: "dn.pc"; pd: "dn.pd"; pe: "dn.pe"; pf: "dn.pf"; pg: "dn.pg"; ph: "dn.ph"; pi: "dn.pi"; pj: "dn.pj"; pk: "dn.pk"; pl: "dn.pl"; pm: "dn.pm"; pn: "dn.pn"; po: "dn.po"; pp: "dn.pp"; pq: "dn.pq"; pr: "dn.pr"; ps: "dn.ps"; pt: "dn.pt"; pu: "dn.pu"; pv: "dn.pv"; pw: "dn.pw"; px: "dn.px"; py: "dn.py"; pz: "dn.pz"; qa: "dn.qa"; qb: "dn.qb"; qc: "dn.qc"; qd: "dn.qd"; qe: "dn.qe"; qf: "dn.qf"; qg: "dn.qg"; qh: "dn.qh"; qi: "dn.qi"; qj: "dn.qj"; qk: "dn.qk"; ql: "dn.ql"; qm: "dn.qm"; qn: "dn.qn"; qo: "dn.qo"; qp: "dn.qp"; qq: "dn.qq"; qr: "dn.qr"; qs: "dn.qs"; qt: "dn.qt"; qu: "dn.qu"; qv: "dn.qv"; qw: "dn.qw"; qx: "dn.qx"; qy: "dn.qy"; qz: "dn.qz"; ra: "dn.ra"; rb: "dn.rb"; rc: "dn.rc"; rd: "dn.rd"; re: "dn.re"; rf: "dn.rf"; rg: "dn.rg"; rh: "dn.rh"; ri: "dn.ri"; rj: "dn.rj"; rk: "dn.rk"; rl: "dn.rl"; rm: "dn.rm"; rn: "dn.rn"; ro: "dn.ro"; rp: "dn.rp"; rq: "dn.rq"; rr: "dn.rr"; rs: "dn.rs"; rt: "dn.rt"; ru: "dn.ru"; rv: "dn.rv"; rw: "dn.rw"; rx: "dn.rx"; ry: "dn.ry"; rz: "dn.rz"; sa: "dn.sa"; sb: "dn.sb"; sc: "dn.sc"; sd: "dn.sd"; se: "dn.se"; sf: "dn.sf"; sg: "dn.sg"; sh: "dn.sh"; si: "dn.si"; sj: "dn.sj"; sk: "dn.sk"; sl: "dn.sl"; sm: "dn.sm"; sn: "dn.sn"; so: "dn.so"; sp: "dn.sp"; sq: "dn.sq"; sr: "dn.sr"; ss: "dn.ss"; st: "dn.st"; su: "dn.su"; sv: "dn.sv"; sw: "dn.sw"; sx: "dn.sx"; sy: "dn.sy"; sz: "dn.sz"; ta: "dn.ta"; tb: "dn.tb"; tc: "dn.tc"; td: "dn.td"; te: "dn.te"; tf: "dn.tf"; tg: "dn.tg"; th: "dn.th"; ti: "dn.ti"; tj: "dn.tj"; tk: "dn.tk"; tl: "dn.tl"; tm: "dn.tm"; tn: "dn.tn"; to: "dn.to"; tp: "dn.tp"; tq: "dn.tq"; tr: "dn.tr"; ts: "dn.ts"; tt: "dn.tt"; tu: "dn.tu"; tv: "dn.tv"; tw: "dn.tw"; tx: "dn.tx"; ty: "dn.ty"; tz: "dn.tz"; ua: "dn.ua"; ub: "dn.ub"; uc: "dn.uc"; ud: "dn.ud"; ue: "dn.ue"; uf: "dn.uf"; ug: "dn.ug"; uh: "dn.uh"; ui: "dn.ui"; uj: "dn.uj"; uk: "dn.uk"; ul: "dn.ul"; um: "dn.um"; un: "dn.un"; uo: "dn.uo"; up: "dn.up"; uq: "dn.uq"; ur: "dn.ur"; us: "dn.us"; ut: "dn.ut"; uu: "dn.uu"; uv: "dn.uv"; uw: "dn.uw"; ux: "dn.ux"; uy: "dn.uy"; uz: "dn.uz"; va: "dn.va"; vb: "dn.vb"; vc: "dn.vc"; vd: "dn.vd"; ve: "dn.ve"; vf: "dn.vf"; vg: "dn.vg"; vh: "dn.vh"; vi: "dn.vi"; vj: "dn.vj"; vk: "dn.vk"; vl: "dn.vl"; vm: "dn.vm"; vn: "dn.vn"; vo: "dn.vo"; vp: "dn.vp"; vq: "dn.vq"; vr: "dn.vr"; vs: "dn.vs"; vt: "dn.vt"; vu: "dn.vu"; vv: "dn.vv"; vw: "dn.vw"; vx: "dn.vx"; vy: "dn.vy"; vz: "dn.vz"; wa: "dn.wa"; wb: "dn.wb"; wc: "dn.wc"; wd: "dn.wd"; we: "dn.we"; wf: "dn.wf"; wg: "dn.wg"; wh: "dn.wh"; wi: "dn.wi"; wj: "dn.wj"; wk: "dn.wk"; wl: "dn.wl"; wm: "dn.wm"; wn: "dn.wn"; wo: "dn.wo"; wp: "dn.wp"; wq: "dn.wq"; wr: "dn.wr"; ws: "dn.ws"; wt: "dn.wt"; wu: "dn.wu"; wv: "dn.wv"; ww: "dn.ww"; wx: "dn.wx"; wy: "dn.wy"; wz: "dn.wz"; xa: "dn.xa"; xb: "dn.xb"; xc: "dn.xc"; xd: "dn.xd"; xe: "dn.xe"; xf: "dn.xf"; xg: "dn.xg"; xh: "dn.xh"; xi: "dn.xi"; xj: "dn.xj"; xk: "dn.xk"; xl: "dn.xl"; xm: "dn.xm"; xn: "dn.xn"; xo: "dn.xo"; xp: "dn.xp"; xq: "dn.xq"; xr: "dn.xr"; xs: "dn.xs"; xt: "dn.xt"; xu: "dn.xu"; xv: "dn.xv"; xw: "dn.xw"; xx: "dn.xx"; xy: "dn.xy"; xz: "dn.xz"; ya: "dn.ya"; yb: "dn.yb"; yc: "dn.yc"; yd: "dn.yd"; ye: "dn.ye"; yf: "dn.yf"; yg: "dn.yg"; yh: "dn.yh"; yi: "dn.yi"; yj: "dn.yj"; yk: "dn.yk"; yl: "dn.yl"; ym: "dn.ym"; yn: "dn.yn"; yo: "dn.yo"; yp: "dn.yp"; yq: "dn.yq"; yr: "dn.yr"; ys: "dn.ys"; yt: "dn.yt"; yu: "dn.yu"; yv: "dn.yv"; yw: "dn.yw"; yx: "dn.yx"; yy: "dn.yy"; yz: "dn.yz"; za: "dn.za"; zb: "dn.zb"; zc: "dn.zc"; zd: "dn.zd"; ze: "dn.ze"; zf: "dn.zf"; zg: "dn.zg"; zh: "dn.zh"; zi: "dn.zi"; zj: "dn.zj"; zk: "dn.zk"; zl: "dn.zl"; zm: "dn.zm"; zn: "dn.zn"; zo: "dn.zo"; zp: "dn.zp"; zq: "dn.zq"; zr: "dn.zr"; zs: "dn.zs"; zt: "dn.zt"; zu: "dn.zu"; zv: "dn.zv"; zw: "dn.zw"; zx: "dn.zx"; zy: "dn.zy"; zz: "dn.zz"; }; do: { aa: "do.aa"; ab: "do.ab"; ac: "do.ac"; ad: "do.ad"; ae: "do.ae"; af: "do.af"; ag: "do.ag"; ah: "do.ah"; ai: "do.ai"; aj: "do.aj"; ak: "do.ak"; al: "do.al"; am: "do.am"; an: "do.an"; ao: "do.ao"; ap: "do.ap"; aq: "do.aq"; ar: "do.ar"; as: "do.as"; at: "do.at"; au: "do.au"; av: "do.av"; aw: "do.aw"; ax: "do.ax"; ay: "do.ay"; az: "do.az"; ba: "do.ba"; bb: "do.bb"; bc: "do.bc"; bd: "do.bd"; be: "do.be"; bf: "do.bf"; bg: "do.bg"; bh: "do.bh"; bi: "do.bi"; bj: "do.bj"; bk: "do.bk"; bl: "do.bl"; bm: "do.bm"; bn: "do.bn"; bo: "do.bo"; bp: "do.bp"; bq: "do.bq"; br: "do.br"; bs: "do.bs"; bt: "do.bt"; bu: "do.bu"; bv: "do.bv"; bw: "do.bw"; bx: "do.bx"; by: "do.by"; bz: "do.bz"; ca: "do.ca"; cb: "do.cb"; cc: "do.cc"; cd: "do.cd"; ce: "do.ce"; cf: "do.cf"; cg: "do.cg"; ch: "do.ch"; ci: "do.ci"; cj: "do.cj"; ck: "do.ck"; cl: "do.cl"; cm: "do.cm"; cn: "do.cn"; co: "do.co"; cp: "do.cp"; cq: "do.cq"; cr: "do.cr"; cs: "do.cs"; ct: "do.ct"; cu: "do.cu"; cv: "do.cv"; cw: "do.cw"; cx: "do.cx"; cy: "do.cy"; cz: "do.cz"; da: "do.da"; db: "do.db"; dc: "do.dc"; dd: "do.dd"; de: "do.de"; df: "do.df"; dg: "do.dg"; dh: "do.dh"; di: "do.di"; dj: "do.dj"; dk: "do.dk"; dl: "do.dl"; dm: "do.dm"; dn: "do.dn"; do: "do.do"; dp: "do.dp"; dq: "do.dq"; dr: "do.dr"; ds: "do.ds"; dt: "do.dt"; du: "do.du"; dv: "do.dv"; dw: "do.dw"; dx: "do.dx"; dy: "do.dy"; dz: "do.dz"; ea: "do.ea"; eb: "do.eb"; ec: "do.ec"; ed: "do.ed"; ee: "do.ee"; ef: "do.ef"; eg: "do.eg"; eh: "do.eh"; ei: "do.ei"; ej: "do.ej"; ek: "do.ek"; el: "do.el"; em: "do.em"; en: "do.en"; eo: "do.eo"; ep: "do.ep"; eq: "do.eq"; er: "do.er"; es: "do.es"; et: "do.et"; eu: "do.eu"; ev: "do.ev"; ew: "do.ew"; ex: "do.ex"; ey: "do.ey"; ez: "do.ez"; fa: "do.fa"; fb: "do.fb"; fc: "do.fc"; fd: "do.fd"; fe: "do.fe"; ff: "do.ff"; fg: "do.fg"; fh: "do.fh"; fi: "do.fi"; fj: "do.fj"; fk: "do.fk"; fl: "do.fl"; fm: "do.fm"; fn: "do.fn"; fo: "do.fo"; fp: "do.fp"; fq: "do.fq"; fr: "do.fr"; fs: "do.fs"; ft: "do.ft"; fu: "do.fu"; fv: "do.fv"; fw: "do.fw"; fx: "do.fx"; fy: "do.fy"; fz: "do.fz"; ga: "do.ga"; gb: "do.gb"; gc: "do.gc"; gd: "do.gd"; ge: "do.ge"; gf: "do.gf"; gg: "do.gg"; gh: "do.gh"; gi: "do.gi"; gj: "do.gj"; gk: "do.gk"; gl: "do.gl"; gm: "do.gm"; gn: "do.gn"; go: "do.go"; gp: "do.gp"; gq: "do.gq"; gr: "do.gr"; gs: "do.gs"; gt: "do.gt"; gu: "do.gu"; gv: "do.gv"; gw: "do.gw"; gx: "do.gx"; gy: "do.gy"; gz: "do.gz"; ha: "do.ha"; hb: "do.hb"; hc: "do.hc"; hd: "do.hd"; he: "do.he"; hf: "do.hf"; hg: "do.hg"; hh: "do.hh"; hi: "do.hi"; hj: "do.hj"; hk: "do.hk"; hl: "do.hl"; hm: "do.hm"; hn: "do.hn"; ho: "do.ho"; hp: "do.hp"; hq: "do.hq"; hr: "do.hr"; hs: "do.hs"; ht: "do.ht"; hu: "do.hu"; hv: "do.hv"; hw: "do.hw"; hx: "do.hx"; hy: "do.hy"; hz: "do.hz"; ia: "do.ia"; ib: "do.ib"; ic: "do.ic"; id: "do.id"; ie: "do.ie"; if: "do.if"; ig: "do.ig"; ih: "do.ih"; ii: "do.ii"; ij: "do.ij"; ik: "do.ik"; il: "do.il"; im: "do.im"; in: "do.in"; io: "do.io"; ip: "do.ip"; iq: "do.iq"; ir: "do.ir"; is: "do.is"; it: "do.it"; iu: "do.iu"; iv: "do.iv"; iw: "do.iw"; ix: "do.ix"; iy: "do.iy"; iz: "do.iz"; ja: "do.ja"; jb: "do.jb"; jc: "do.jc"; jd: "do.jd"; je: "do.je"; jf: "do.jf"; jg: "do.jg"; jh: "do.jh"; ji: "do.ji"; jj: "do.jj"; jk: "do.jk"; jl: "do.jl"; jm: "do.jm"; jn: "do.jn"; jo: "do.jo"; jp: "do.jp"; jq: "do.jq"; jr: "do.jr"; js: "do.js"; jt: "do.jt"; ju: "do.ju"; jv: "do.jv"; jw: "do.jw"; jx: "do.jx"; jy: "do.jy"; jz: "do.jz"; ka: "do.ka"; kb: "do.kb"; kc: "do.kc"; kd: "do.kd"; ke: "do.ke"; kf: "do.kf"; kg: "do.kg"; kh: "do.kh"; ki: "do.ki"; kj: "do.kj"; kk: "do.kk"; kl: "do.kl"; km: "do.km"; kn: "do.kn"; ko: "do.ko"; kp: "do.kp"; kq: "do.kq"; kr: "do.kr"; ks: "do.ks"; kt: "do.kt"; ku: "do.ku"; kv: "do.kv"; kw: "do.kw"; kx: "do.kx"; ky: "do.ky"; kz: "do.kz"; la: "do.la"; lb: "do.lb"; lc: "do.lc"; ld: "do.ld"; le: "do.le"; lf: "do.lf"; lg: "do.lg"; lh: "do.lh"; li: "do.li"; lj: "do.lj"; lk: "do.lk"; ll: "do.ll"; lm: "do.lm"; ln: "do.ln"; lo: "do.lo"; lp: "do.lp"; lq: "do.lq"; lr: "do.lr"; ls: "do.ls"; lt: "do.lt"; lu: "do.lu"; lv: "do.lv"; lw: "do.lw"; lx: "do.lx"; ly: "do.ly"; lz: "do.lz"; ma: "do.ma"; mb: "do.mb"; mc: "do.mc"; md: "do.md"; me: "do.me"; mf: "do.mf"; mg: "do.mg"; mh: "do.mh"; mi: "do.mi"; mj: "do.mj"; mk: "do.mk"; ml: "do.ml"; mm: "do.mm"; mn: "do.mn"; mo: "do.mo"; mp: "do.mp"; mq: "do.mq"; mr: "do.mr"; ms: "do.ms"; mt: "do.mt"; mu: "do.mu"; mv: "do.mv"; mw: "do.mw"; mx: "do.mx"; my: "do.my"; mz: "do.mz"; na: "do.na"; nb: "do.nb"; nc: "do.nc"; nd: "do.nd"; ne: "do.ne"; nf: "do.nf"; ng: "do.ng"; nh: "do.nh"; ni: "do.ni"; nj: "do.nj"; nk: "do.nk"; nl: "do.nl"; nm: "do.nm"; nn: "do.nn"; no: "do.no"; np: "do.np"; nq: "do.nq"; nr: "do.nr"; ns: "do.ns"; nt: "do.nt"; nu: "do.nu"; nv: "do.nv"; nw: "do.nw"; nx: "do.nx"; ny: "do.ny"; nz: "do.nz"; oa: "do.oa"; ob: "do.ob"; oc: "do.oc"; od: "do.od"; oe: "do.oe"; of: "do.of"; og: "do.og"; oh: "do.oh"; oi: "do.oi"; oj: "do.oj"; ok: "do.ok"; ol: "do.ol"; om: "do.om"; on: "do.on"; oo: "do.oo"; op: "do.op"; oq: "do.oq"; or: "do.or"; os: "do.os"; ot: "do.ot"; ou: "do.ou"; ov: "do.ov"; ow: "do.ow"; ox: "do.ox"; oy: "do.oy"; oz: "do.oz"; pa: "do.pa"; pb: "do.pb"; pc: "do.pc"; pd: "do.pd"; pe: "do.pe"; pf: "do.pf"; pg: "do.pg"; ph: "do.ph"; pi: "do.pi"; pj: "do.pj"; pk: "do.pk"; pl: "do.pl"; pm: "do.pm"; pn: "do.pn"; po: "do.po"; pp: "do.pp"; pq: "do.pq"; pr: "do.pr"; ps: "do.ps"; pt: "do.pt"; pu: "do.pu"; pv: "do.pv"; pw: "do.pw"; px: "do.px"; py: "do.py"; pz: "do.pz"; qa: "do.qa"; qb: "do.qb"; qc: "do.qc"; qd: "do.qd"; qe: "do.qe"; qf: "do.qf"; qg: "do.qg"; qh: "do.qh"; qi: "do.qi"; qj: "do.qj"; qk: "do.qk"; ql: "do.ql"; qm: "do.qm"; qn: "do.qn"; qo: "do.qo"; qp: "do.qp"; qq: "do.qq"; qr: "do.qr"; qs: "do.qs"; qt: "do.qt"; qu: "do.qu"; qv: "do.qv"; qw: "do.qw"; qx: "do.qx"; qy: "do.qy"; qz: "do.qz"; ra: "do.ra"; rb: "do.rb"; rc: "do.rc"; rd: "do.rd"; re: "do.re"; rf: "do.rf"; rg: "do.rg"; rh: "do.rh"; ri: "do.ri"; rj: "do.rj"; rk: "do.rk"; rl: "do.rl"; rm: "do.rm"; rn: "do.rn"; ro: "do.ro"; rp: "do.rp"; rq: "do.rq"; rr: "do.rr"; rs: "do.rs"; rt: "do.rt"; ru: "do.ru"; rv: "do.rv"; rw: "do.rw"; rx: "do.rx"; ry: "do.ry"; rz: "do.rz"; sa: "do.sa"; sb: "do.sb"; sc: "do.sc"; sd: "do.sd"; se: "do.se"; sf: "do.sf"; sg: "do.sg"; sh: "do.sh"; si: "do.si"; sj: "do.sj"; sk: "do.sk"; sl: "do.sl"; sm: "do.sm"; sn: "do.sn"; so: "do.so"; sp: "do.sp"; sq: "do.sq"; sr: "do.sr"; ss: "do.ss"; st: "do.st"; su: "do.su"; sv: "do.sv"; sw: "do.sw"; sx: "do.sx"; sy: "do.sy"; sz: "do.sz"; ta: "do.ta"; tb: "do.tb"; tc: "do.tc"; td: "do.td"; te: "do.te"; tf: "do.tf"; tg: "do.tg"; th: "do.th"; ti: "do.ti"; tj: "do.tj"; tk: "do.tk"; tl: "do.tl"; tm: "do.tm"; tn: "do.tn"; to: "do.to"; tp: "do.tp"; tq: "do.tq"; tr: "do.tr"; ts: "do.ts"; tt: "do.tt"; tu: "do.tu"; tv: "do.tv"; tw: "do.tw"; tx: "do.tx"; ty: "do.ty"; tz: "do.tz"; ua: "do.ua"; ub: "do.ub"; uc: "do.uc"; ud: "do.ud"; ue: "do.ue"; uf: "do.uf"; ug: "do.ug"; uh: "do.uh"; ui: "do.ui"; uj: "do.uj"; uk: "do.uk"; ul: "do.ul"; um: "do.um"; un: "do.un"; uo: "do.uo"; up: "do.up"; uq: "do.uq"; ur: "do.ur"; us: "do.us"; ut: "do.ut"; uu: "do.uu"; uv: "do.uv"; uw: "do.uw"; ux: "do.ux"; uy: "do.uy"; uz: "do.uz"; va: "do.va"; vb: "do.vb"; vc: "do.vc"; vd: "do.vd"; ve: "do.ve"; vf: "do.vf"; vg: "do.vg"; vh: "do.vh"; vi: "do.vi"; vj: "do.vj"; vk: "do.vk"; vl: "do.vl"; vm: "do.vm"; vn: "do.vn"; vo: "do.vo"; vp: "do.vp"; vq: "do.vq"; vr: "do.vr"; vs: "do.vs"; vt: "do.vt"; vu: "do.vu"; vv: "do.vv"; vw: "do.vw"; vx: "do.vx"; vy: "do.vy"; vz: "do.vz"; wa: "do.wa"; wb: "do.wb"; wc: "do.wc"; wd: "do.wd"; we: "do.we"; wf: "do.wf"; wg: "do.wg"; wh: "do.wh"; wi: "do.wi"; wj: "do.wj"; wk: "do.wk"; wl: "do.wl"; wm: "do.wm"; wn: "do.wn"; wo: "do.wo"; wp: "do.wp"; wq: "do.wq"; wr: "do.wr"; ws: "do.ws"; wt: "do.wt"; wu: "do.wu"; wv: "do.wv"; ww: "do.ww"; wx: "do.wx"; wy: "do.wy"; wz: "do.wz"; xa: "do.xa"; xb: "do.xb"; xc: "do.xc"; xd: "do.xd"; xe: "do.xe"; xf: "do.xf"; xg: "do.xg"; xh: "do.xh"; xi: "do.xi"; xj: "do.xj"; xk: "do.xk"; xl: "do.xl"; xm: "do.xm"; xn: "do.xn"; xo: "do.xo"; xp: "do.xp"; xq: "do.xq"; xr: "do.xr"; xs: "do.xs"; xt: "do.xt"; xu: "do.xu"; xv: "do.xv"; xw: "do.xw"; xx: "do.xx"; xy: "do.xy"; xz: "do.xz"; ya: "do.ya"; yb: "do.yb"; yc: "do.yc"; yd: "do.yd"; ye: "do.ye"; yf: "do.yf"; yg: "do.yg"; yh: "do.yh"; yi: "do.yi"; yj: "do.yj"; yk: "do.yk"; yl: "do.yl"; ym: "do.ym"; yn: "do.yn"; yo: "do.yo"; yp: "do.yp"; yq: "do.yq"; yr: "do.yr"; ys: "do.ys"; yt: "do.yt"; yu: "do.yu"; yv: "do.yv"; yw: "do.yw"; yx: "do.yx"; yy: "do.yy"; yz: "do.yz"; za: "do.za"; zb: "do.zb"; zc: "do.zc"; zd: "do.zd"; ze: "do.ze"; zf: "do.zf"; zg: "do.zg"; zh: "do.zh"; zi: "do.zi"; zj: "do.zj"; zk: "do.zk"; zl: "do.zl"; zm: "do.zm"; zn: "do.zn"; zo: "do.zo"; zp: "do.zp"; zq: "do.zq"; zr: "do.zr"; zs: "do.zs"; zt: "do.zt"; zu: "do.zu"; zv: "do.zv"; zw: "do.zw"; zx: "do.zx"; zy: "do.zy"; zz: "do.zz"; }; dp: { aa: "dp.aa"; ab: "dp.ab"; ac: "dp.ac"; ad: "dp.ad"; ae: "dp.ae"; af: "dp.af"; ag: "dp.ag"; ah: "dp.ah"; ai: "dp.ai"; aj: "dp.aj"; ak: "dp.ak"; al: "dp.al"; am: "dp.am"; an: "dp.an"; ao: "dp.ao"; ap: "dp.ap"; aq: "dp.aq"; ar: "dp.ar"; as: "dp.as"; at: "dp.at"; au: "dp.au"; av: "dp.av"; aw: "dp.aw"; ax: "dp.ax"; ay: "dp.ay"; az: "dp.az"; ba: "dp.ba"; bb: "dp.bb"; bc: "dp.bc"; bd: "dp.bd"; be: "dp.be"; bf: "dp.bf"; bg: "dp.bg"; bh: "dp.bh"; bi: "dp.bi"; bj: "dp.bj"; bk: "dp.bk"; bl: "dp.bl"; bm: "dp.bm"; bn: "dp.bn"; bo: "dp.bo"; bp: "dp.bp"; bq: "dp.bq"; br: "dp.br"; bs: "dp.bs"; bt: "dp.bt"; bu: "dp.bu"; bv: "dp.bv"; bw: "dp.bw"; bx: "dp.bx"; by: "dp.by"; bz: "dp.bz"; ca: "dp.ca"; cb: "dp.cb"; cc: "dp.cc"; cd: "dp.cd"; ce: "dp.ce"; cf: "dp.cf"; cg: "dp.cg"; ch: "dp.ch"; ci: "dp.ci"; cj: "dp.cj"; ck: "dp.ck"; cl: "dp.cl"; cm: "dp.cm"; cn: "dp.cn"; co: "dp.co"; cp: "dp.cp"; cq: "dp.cq"; cr: "dp.cr"; cs: "dp.cs"; ct: "dp.ct"; cu: "dp.cu"; cv: "dp.cv"; cw: "dp.cw"; cx: "dp.cx"; cy: "dp.cy"; cz: "dp.cz"; da: "dp.da"; db: "dp.db"; dc: "dp.dc"; dd: "dp.dd"; de: "dp.de"; df: "dp.df"; dg: "dp.dg"; dh: "dp.dh"; di: "dp.di"; dj: "dp.dj"; dk: "dp.dk"; dl: "dp.dl"; dm: "dp.dm"; dn: "dp.dn"; do: "dp.do"; dp: "dp.dp"; dq: "dp.dq"; dr: "dp.dr"; ds: "dp.ds"; dt: "dp.dt"; du: "dp.du"; dv: "dp.dv"; dw: "dp.dw"; dx: "dp.dx"; dy: "dp.dy"; dz: "dp.dz"; ea: "dp.ea"; eb: "dp.eb"; ec: "dp.ec"; ed: "dp.ed"; ee: "dp.ee"; ef: "dp.ef"; eg: "dp.eg"; eh: "dp.eh"; ei: "dp.ei"; ej: "dp.ej"; ek: "dp.ek"; el: "dp.el"; em: "dp.em"; en: "dp.en"; eo: "dp.eo"; ep: "dp.ep"; eq: "dp.eq"; er: "dp.er"; es: "dp.es"; et: "dp.et"; eu: "dp.eu"; ev: "dp.ev"; ew: "dp.ew"; ex: "dp.ex"; ey: "dp.ey"; ez: "dp.ez"; fa: "dp.fa"; fb: "dp.fb"; fc: "dp.fc"; fd: "dp.fd"; fe: "dp.fe"; ff: "dp.ff"; fg: "dp.fg"; fh: "dp.fh"; fi: "dp.fi"; fj: "dp.fj"; fk: "dp.fk"; fl: "dp.fl"; fm: "dp.fm"; fn: "dp.fn"; fo: "dp.fo"; fp: "dp.fp"; fq: "dp.fq"; fr: "dp.fr"; fs: "dp.fs"; ft: "dp.ft"; fu: "dp.fu"; fv: "dp.fv"; fw: "dp.fw"; fx: "dp.fx"; fy: "dp.fy"; fz: "dp.fz"; ga: "dp.ga"; gb: "dp.gb"; gc: "dp.gc"; gd: "dp.gd"; ge: "dp.ge"; gf: "dp.gf"; gg: "dp.gg"; gh: "dp.gh"; gi: "dp.gi"; gj: "dp.gj"; gk: "dp.gk"; gl: "dp.gl"; gm: "dp.gm"; gn: "dp.gn"; go: "dp.go"; gp: "dp.gp"; gq: "dp.gq"; gr: "dp.gr"; gs: "dp.gs"; gt: "dp.gt"; gu: "dp.gu"; gv: "dp.gv"; gw: "dp.gw"; gx: "dp.gx"; gy: "dp.gy"; gz: "dp.gz"; ha: "dp.ha"; hb: "dp.hb"; hc: "dp.hc"; hd: "dp.hd"; he: "dp.he"; hf: "dp.hf"; hg: "dp.hg"; hh: "dp.hh"; hi: "dp.hi"; hj: "dp.hj"; hk: "dp.hk"; hl: "dp.hl"; hm: "dp.hm"; hn: "dp.hn"; ho: "dp.ho"; hp: "dp.hp"; hq: "dp.hq"; hr: "dp.hr"; hs: "dp.hs"; ht: "dp.ht"; hu: "dp.hu"; hv: "dp.hv"; hw: "dp.hw"; hx: "dp.hx"; hy: "dp.hy"; hz: "dp.hz"; ia: "dp.ia"; ib: "dp.ib"; ic: "dp.ic"; id: "dp.id"; ie: "dp.ie"; if: "dp.if"; ig: "dp.ig"; ih: "dp.ih"; ii: "dp.ii"; ij: "dp.ij"; ik: "dp.ik"; il: "dp.il"; im: "dp.im"; in: "dp.in"; io: "dp.io"; ip: "dp.ip"; iq: "dp.iq"; ir: "dp.ir"; is: "dp.is"; it: "dp.it"; iu: "dp.iu"; iv: "dp.iv"; iw: "dp.iw"; ix: "dp.ix"; iy: "dp.iy"; iz: "dp.iz"; ja: "dp.ja"; jb: "dp.jb"; jc: "dp.jc"; jd: "dp.jd"; je: "dp.je"; jf: "dp.jf"; jg: "dp.jg"; jh: "dp.jh"; ji: "dp.ji"; jj: "dp.jj"; jk: "dp.jk"; jl: "dp.jl"; jm: "dp.jm"; jn: "dp.jn"; jo: "dp.jo"; jp: "dp.jp"; jq: "dp.jq"; jr: "dp.jr"; js: "dp.js"; jt: "dp.jt"; ju: "dp.ju"; jv: "dp.jv"; jw: "dp.jw"; jx: "dp.jx"; jy: "dp.jy"; jz: "dp.jz"; ka: "dp.ka"; kb: "dp.kb"; kc: "dp.kc"; kd: "dp.kd"; ke: "dp.ke"; kf: "dp.kf"; kg: "dp.kg"; kh: "dp.kh"; ki: "dp.ki"; kj: "dp.kj"; kk: "dp.kk"; kl: "dp.kl"; km: "dp.km"; kn: "dp.kn"; ko: "dp.ko"; kp: "dp.kp"; kq: "dp.kq"; kr: "dp.kr"; ks: "dp.ks"; kt: "dp.kt"; ku: "dp.ku"; kv: "dp.kv"; kw: "dp.kw"; kx: "dp.kx"; ky: "dp.ky"; kz: "dp.kz"; la: "dp.la"; lb: "dp.lb"; lc: "dp.lc"; ld: "dp.ld"; le: "dp.le"; lf: "dp.lf"; lg: "dp.lg"; lh: "dp.lh"; li: "dp.li"; lj: "dp.lj"; lk: "dp.lk"; ll: "dp.ll"; lm: "dp.lm"; ln: "dp.ln"; lo: "dp.lo"; lp: "dp.lp"; lq: "dp.lq"; lr: "dp.lr"; ls: "dp.ls"; lt: "dp.lt"; lu: "dp.lu"; lv: "dp.lv"; lw: "dp.lw"; lx: "dp.lx"; ly: "dp.ly"; lz: "dp.lz"; ma: "dp.ma"; mb: "dp.mb"; mc: "dp.mc"; md: "dp.md"; me: "dp.me"; mf: "dp.mf"; mg: "dp.mg"; mh: "dp.mh"; mi: "dp.mi"; mj: "dp.mj"; mk: "dp.mk"; ml: "dp.ml"; mm: "dp.mm"; mn: "dp.mn"; mo: "dp.mo"; mp: "dp.mp"; mq: "dp.mq"; mr: "dp.mr"; ms: "dp.ms"; mt: "dp.mt"; mu: "dp.mu"; mv: "dp.mv"; mw: "dp.mw"; mx: "dp.mx"; my: "dp.my"; mz: "dp.mz"; na: "dp.na"; nb: "dp.nb"; nc: "dp.nc"; nd: "dp.nd"; ne: "dp.ne"; nf: "dp.nf"; ng: "dp.ng"; nh: "dp.nh"; ni: "dp.ni"; nj: "dp.nj"; nk: "dp.nk"; nl: "dp.nl"; nm: "dp.nm"; nn: "dp.nn"; no: "dp.no"; np: "dp.np"; nq: "dp.nq"; nr: "dp.nr"; ns: "dp.ns"; nt: "dp.nt"; nu: "dp.nu"; nv: "dp.nv"; nw: "dp.nw"; nx: "dp.nx"; ny: "dp.ny"; nz: "dp.nz"; oa: "dp.oa"; ob: "dp.ob"; oc: "dp.oc"; od: "dp.od"; oe: "dp.oe"; of: "dp.of"; og: "dp.og"; oh: "dp.oh"; oi: "dp.oi"; oj: "dp.oj"; ok: "dp.ok"; ol: "dp.ol"; om: "dp.om"; on: "dp.on"; oo: "dp.oo"; op: "dp.op"; oq: "dp.oq"; or: "dp.or"; os: "dp.os"; ot: "dp.ot"; ou: "dp.ou"; ov: "dp.ov"; ow: "dp.ow"; ox: "dp.ox"; oy: "dp.oy"; oz: "dp.oz"; pa: "dp.pa"; pb: "dp.pb"; pc: "dp.pc"; pd: "dp.pd"; pe: "dp.pe"; pf: "dp.pf"; pg: "dp.pg"; ph: "dp.ph"; pi: "dp.pi"; pj: "dp.pj"; pk: "dp.pk"; pl: "dp.pl"; pm: "dp.pm"; pn: "dp.pn"; po: "dp.po"; pp: "dp.pp"; pq: "dp.pq"; pr: "dp.pr"; ps: "dp.ps"; pt: "dp.pt"; pu: "dp.pu"; pv: "dp.pv"; pw: "dp.pw"; px: "dp.px"; py: "dp.py"; pz: "dp.pz"; qa: "dp.qa"; qb: "dp.qb"; qc: "dp.qc"; qd: "dp.qd"; qe: "dp.qe"; qf: "dp.qf"; qg: "dp.qg"; qh: "dp.qh"; qi: "dp.qi"; qj: "dp.qj"; qk: "dp.qk"; ql: "dp.ql"; qm: "dp.qm"; qn: "dp.qn"; qo: "dp.qo"; qp: "dp.qp"; qq: "dp.qq"; qr: "dp.qr"; qs: "dp.qs"; qt: "dp.qt"; qu: "dp.qu"; qv: "dp.qv"; qw: "dp.qw"; qx: "dp.qx"; qy: "dp.qy"; qz: "dp.qz"; ra: "dp.ra"; rb: "dp.rb"; rc: "dp.rc"; rd: "dp.rd"; re: "dp.re"; rf: "dp.rf"; rg: "dp.rg"; rh: "dp.rh"; ri: "dp.ri"; rj: "dp.rj"; rk: "dp.rk"; rl: "dp.rl"; rm: "dp.rm"; rn: "dp.rn"; ro: "dp.ro"; rp: "dp.rp"; rq: "dp.rq"; rr: "dp.rr"; rs: "dp.rs"; rt: "dp.rt"; ru: "dp.ru"; rv: "dp.rv"; rw: "dp.rw"; rx: "dp.rx"; ry: "dp.ry"; rz: "dp.rz"; sa: "dp.sa"; sb: "dp.sb"; sc: "dp.sc"; sd: "dp.sd"; se: "dp.se"; sf: "dp.sf"; sg: "dp.sg"; sh: "dp.sh"; si: "dp.si"; sj: "dp.sj"; sk: "dp.sk"; sl: "dp.sl"; sm: "dp.sm"; sn: "dp.sn"; so: "dp.so"; sp: "dp.sp"; sq: "dp.sq"; sr: "dp.sr"; ss: "dp.ss"; st: "dp.st"; su: "dp.su"; sv: "dp.sv"; sw: "dp.sw"; sx: "dp.sx"; sy: "dp.sy"; sz: "dp.sz"; ta: "dp.ta"; tb: "dp.tb"; tc: "dp.tc"; td: "dp.td"; te: "dp.te"; tf: "dp.tf"; tg: "dp.tg"; th: "dp.th"; ti: "dp.ti"; tj: "dp.tj"; tk: "dp.tk"; tl: "dp.tl"; tm: "dp.tm"; tn: "dp.tn"; to: "dp.to"; tp: "dp.tp"; tq: "dp.tq"; tr: "dp.tr"; ts: "dp.ts"; tt: "dp.tt"; tu: "dp.tu"; tv: "dp.tv"; tw: "dp.tw"; tx: "dp.tx"; ty: "dp.ty"; tz: "dp.tz"; ua: "dp.ua"; ub: "dp.ub"; uc: "dp.uc"; ud: "dp.ud"; ue: "dp.ue"; uf: "dp.uf"; ug: "dp.ug"; uh: "dp.uh"; ui: "dp.ui"; uj: "dp.uj"; uk: "dp.uk"; ul: "dp.ul"; um: "dp.um"; un: "dp.un"; uo: "dp.uo"; up: "dp.up"; uq: "dp.uq"; ur: "dp.ur"; us: "dp.us"; ut: "dp.ut"; uu: "dp.uu"; uv: "dp.uv"; uw: "dp.uw"; ux: "dp.ux"; uy: "dp.uy"; uz: "dp.uz"; va: "dp.va"; vb: "dp.vb"; vc: "dp.vc"; vd: "dp.vd"; ve: "dp.ve"; vf: "dp.vf"; vg: "dp.vg"; vh: "dp.vh"; vi: "dp.vi"; vj: "dp.vj"; vk: "dp.vk"; vl: "dp.vl"; vm: "dp.vm"; vn: "dp.vn"; vo: "dp.vo"; vp: "dp.vp"; vq: "dp.vq"; vr: "dp.vr"; vs: "dp.vs"; vt: "dp.vt"; vu: "dp.vu"; vv: "dp.vv"; vw: "dp.vw"; vx: "dp.vx"; vy: "dp.vy"; vz: "dp.vz"; wa: "dp.wa"; wb: "dp.wb"; wc: "dp.wc"; wd: "dp.wd"; we: "dp.we"; wf: "dp.wf"; wg: "dp.wg"; wh: "dp.wh"; wi: "dp.wi"; wj: "dp.wj"; wk: "dp.wk"; wl: "dp.wl"; wm: "dp.wm"; wn: "dp.wn"; wo: "dp.wo"; wp: "dp.wp"; wq: "dp.wq"; wr: "dp.wr"; ws: "dp.ws"; wt: "dp.wt"; wu: "dp.wu"; wv: "dp.wv"; ww: "dp.ww"; wx: "dp.wx"; wy: "dp.wy"; wz: "dp.wz"; xa: "dp.xa"; xb: "dp.xb"; xc: "dp.xc"; xd: "dp.xd"; xe: "dp.xe"; xf: "dp.xf"; xg: "dp.xg"; xh: "dp.xh"; xi: "dp.xi"; xj: "dp.xj"; xk: "dp.xk"; xl: "dp.xl"; xm: "dp.xm"; xn: "dp.xn"; xo: "dp.xo"; xp: "dp.xp"; xq: "dp.xq"; xr: "dp.xr"; xs: "dp.xs"; xt: "dp.xt"; xu: "dp.xu"; xv: "dp.xv"; xw: "dp.xw"; xx: "dp.xx"; xy: "dp.xy"; xz: "dp.xz"; ya: "dp.ya"; yb: "dp.yb"; yc: "dp.yc"; yd: "dp.yd"; ye: "dp.ye"; yf: "dp.yf"; yg: "dp.yg"; yh: "dp.yh"; yi: "dp.yi"; yj: "dp.yj"; yk: "dp.yk"; yl: "dp.yl"; ym: "dp.ym"; yn: "dp.yn"; yo: "dp.yo"; yp: "dp.yp"; yq: "dp.yq"; yr: "dp.yr"; ys: "dp.ys"; yt: "dp.yt"; yu: "dp.yu"; yv: "dp.yv"; yw: "dp.yw"; yx: "dp.yx"; yy: "dp.yy"; yz: "dp.yz"; za: "dp.za"; zb: "dp.zb"; zc: "dp.zc"; zd: "dp.zd"; ze: "dp.ze"; zf: "dp.zf"; zg: "dp.zg"; zh: "dp.zh"; zi: "dp.zi"; zj: "dp.zj"; zk: "dp.zk"; zl: "dp.zl"; zm: "dp.zm"; zn: "dp.zn"; zo: "dp.zo"; zp: "dp.zp"; zq: "dp.zq"; zr: "dp.zr"; zs: "dp.zs"; zt: "dp.zt"; zu: "dp.zu"; zv: "dp.zv"; zw: "dp.zw"; zx: "dp.zx"; zy: "dp.zy"; zz: "dp.zz"; }; dq: { aa: "dq.aa"; ab: "dq.ab"; ac: "dq.ac"; ad: "dq.ad"; ae: "dq.ae"; af: "dq.af"; ag: "dq.ag"; ah: "dq.ah"; ai: "dq.ai"; aj: "dq.aj"; ak: "dq.ak"; al: "dq.al"; am: "dq.am"; an: "dq.an"; ao: "dq.ao"; ap: "dq.ap"; aq: "dq.aq"; ar: "dq.ar"; as: "dq.as"; at: "dq.at"; au: "dq.au"; av: "dq.av"; aw: "dq.aw"; ax: "dq.ax"; ay: "dq.ay"; az: "dq.az"; ba: "dq.ba"; bb: "dq.bb"; bc: "dq.bc"; bd: "dq.bd"; be: "dq.be"; bf: "dq.bf"; bg: "dq.bg"; bh: "dq.bh"; bi: "dq.bi"; bj: "dq.bj"; bk: "dq.bk"; bl: "dq.bl"; bm: "dq.bm"; bn: "dq.bn"; bo: "dq.bo"; bp: "dq.bp"; bq: "dq.bq"; br: "dq.br"; bs: "dq.bs"; bt: "dq.bt"; bu: "dq.bu"; bv: "dq.bv"; bw: "dq.bw"; bx: "dq.bx"; by: "dq.by"; bz: "dq.bz"; ca: "dq.ca"; cb: "dq.cb"; cc: "dq.cc"; cd: "dq.cd"; ce: "dq.ce"; cf: "dq.cf"; cg: "dq.cg"; ch: "dq.ch"; ci: "dq.ci"; cj: "dq.cj"; ck: "dq.ck"; cl: "dq.cl"; cm: "dq.cm"; cn: "dq.cn"; co: "dq.co"; cp: "dq.cp"; cq: "dq.cq"; cr: "dq.cr"; cs: "dq.cs"; ct: "dq.ct"; cu: "dq.cu"; cv: "dq.cv"; cw: "dq.cw"; cx: "dq.cx"; cy: "dq.cy"; cz: "dq.cz"; da: "dq.da"; db: "dq.db"; dc: "dq.dc"; dd: "dq.dd"; de: "dq.de"; df: "dq.df"; dg: "dq.dg"; dh: "dq.dh"; di: "dq.di"; dj: "dq.dj"; dk: "dq.dk"; dl: "dq.dl"; dm: "dq.dm"; dn: "dq.dn"; do: "dq.do"; dp: "dq.dp"; dq: "dq.dq"; dr: "dq.dr"; ds: "dq.ds"; dt: "dq.dt"; du: "dq.du"; dv: "dq.dv"; dw: "dq.dw"; dx: "dq.dx"; dy: "dq.dy"; dz: "dq.dz"; ea: "dq.ea"; eb: "dq.eb"; ec: "dq.ec"; ed: "dq.ed"; ee: "dq.ee"; ef: "dq.ef"; eg: "dq.eg"; eh: "dq.eh"; ei: "dq.ei"; ej: "dq.ej"; ek: "dq.ek"; el: "dq.el"; em: "dq.em"; en: "dq.en"; eo: "dq.eo"; ep: "dq.ep"; eq: "dq.eq"; er: "dq.er"; es: "dq.es"; et: "dq.et"; eu: "dq.eu"; ev: "dq.ev"; ew: "dq.ew"; ex: "dq.ex"; ey: "dq.ey"; ez: "dq.ez"; fa: "dq.fa"; fb: "dq.fb"; fc: "dq.fc"; fd: "dq.fd"; fe: "dq.fe"; ff: "dq.ff"; fg: "dq.fg"; fh: "dq.fh"; fi: "dq.fi"; fj: "dq.fj"; fk: "dq.fk"; fl: "dq.fl"; fm: "dq.fm"; fn: "dq.fn"; fo: "dq.fo"; fp: "dq.fp"; fq: "dq.fq"; fr: "dq.fr"; fs: "dq.fs"; ft: "dq.ft"; fu: "dq.fu"; fv: "dq.fv"; fw: "dq.fw"; fx: "dq.fx"; fy: "dq.fy"; fz: "dq.fz"; ga: "dq.ga"; gb: "dq.gb"; gc: "dq.gc"; gd: "dq.gd"; ge: "dq.ge"; gf: "dq.gf"; gg: "dq.gg"; gh: "dq.gh"; gi: "dq.gi"; gj: "dq.gj"; gk: "dq.gk"; gl: "dq.gl"; gm: "dq.gm"; gn: "dq.gn"; go: "dq.go"; gp: "dq.gp"; gq: "dq.gq"; gr: "dq.gr"; gs: "dq.gs"; gt: "dq.gt"; gu: "dq.gu"; gv: "dq.gv"; gw: "dq.gw"; gx: "dq.gx"; gy: "dq.gy"; gz: "dq.gz"; ha: "dq.ha"; hb: "dq.hb"; hc: "dq.hc"; hd: "dq.hd"; he: "dq.he"; hf: "dq.hf"; hg: "dq.hg"; hh: "dq.hh"; hi: "dq.hi"; hj: "dq.hj"; hk: "dq.hk"; hl: "dq.hl"; hm: "dq.hm"; hn: "dq.hn"; ho: "dq.ho"; hp: "dq.hp"; hq: "dq.hq"; hr: "dq.hr"; hs: "dq.hs"; ht: "dq.ht"; hu: "dq.hu"; hv: "dq.hv"; hw: "dq.hw"; hx: "dq.hx"; hy: "dq.hy"; hz: "dq.hz"; ia: "dq.ia"; ib: "dq.ib"; ic: "dq.ic"; id: "dq.id"; ie: "dq.ie"; if: "dq.if"; ig: "dq.ig"; ih: "dq.ih"; ii: "dq.ii"; ij: "dq.ij"; ik: "dq.ik"; il: "dq.il"; im: "dq.im"; in: "dq.in"; io: "dq.io"; ip: "dq.ip"; iq: "dq.iq"; ir: "dq.ir"; is: "dq.is"; it: "dq.it"; iu: "dq.iu"; iv: "dq.iv"; iw: "dq.iw"; ix: "dq.ix"; iy: "dq.iy"; iz: "dq.iz"; ja: "dq.ja"; jb: "dq.jb"; jc: "dq.jc"; jd: "dq.jd"; je: "dq.je"; jf: "dq.jf"; jg: "dq.jg"; jh: "dq.jh"; ji: "dq.ji"; jj: "dq.jj"; jk: "dq.jk"; jl: "dq.jl"; jm: "dq.jm"; jn: "dq.jn"; jo: "dq.jo"; jp: "dq.jp"; jq: "dq.jq"; jr: "dq.jr"; js: "dq.js"; jt: "dq.jt"; ju: "dq.ju"; jv: "dq.jv"; jw: "dq.jw"; jx: "dq.jx"; jy: "dq.jy"; jz: "dq.jz"; ka: "dq.ka"; kb: "dq.kb"; kc: "dq.kc"; kd: "dq.kd"; ke: "dq.ke"; kf: "dq.kf"; kg: "dq.kg"; kh: "dq.kh"; ki: "dq.ki"; kj: "dq.kj"; kk: "dq.kk"; kl: "dq.kl"; km: "dq.km"; kn: "dq.kn"; ko: "dq.ko"; kp: "dq.kp"; kq: "dq.kq"; kr: "dq.kr"; ks: "dq.ks"; kt: "dq.kt"; ku: "dq.ku"; kv: "dq.kv"; kw: "dq.kw"; kx: "dq.kx"; ky: "dq.ky"; kz: "dq.kz"; la: "dq.la"; lb: "dq.lb"; lc: "dq.lc"; ld: "dq.ld"; le: "dq.le"; lf: "dq.lf"; lg: "dq.lg"; lh: "dq.lh"; li: "dq.li"; lj: "dq.lj"; lk: "dq.lk"; ll: "dq.ll"; lm: "dq.lm"; ln: "dq.ln"; lo: "dq.lo"; lp: "dq.lp"; lq: "dq.lq"; lr: "dq.lr"; ls: "dq.ls"; lt: "dq.lt"; lu: "dq.lu"; lv: "dq.lv"; lw: "dq.lw"; lx: "dq.lx"; ly: "dq.ly"; lz: "dq.lz"; ma: "dq.ma"; mb: "dq.mb"; mc: "dq.mc"; md: "dq.md"; me: "dq.me"; mf: "dq.mf"; mg: "dq.mg"; mh: "dq.mh"; mi: "dq.mi"; mj: "dq.mj"; mk: "dq.mk"; ml: "dq.ml"; mm: "dq.mm"; mn: "dq.mn"; mo: "dq.mo"; mp: "dq.mp"; mq: "dq.mq"; mr: "dq.mr"; ms: "dq.ms"; mt: "dq.mt"; mu: "dq.mu"; mv: "dq.mv"; mw: "dq.mw"; mx: "dq.mx"; my: "dq.my"; mz: "dq.mz"; na: "dq.na"; nb: "dq.nb"; nc: "dq.nc"; nd: "dq.nd"; ne: "dq.ne"; nf: "dq.nf"; ng: "dq.ng"; nh: "dq.nh"; ni: "dq.ni"; nj: "dq.nj"; nk: "dq.nk"; nl: "dq.nl"; nm: "dq.nm"; nn: "dq.nn"; no: "dq.no"; np: "dq.np"; nq: "dq.nq"; nr: "dq.nr"; ns: "dq.ns"; nt: "dq.nt"; nu: "dq.nu"; nv: "dq.nv"; nw: "dq.nw"; nx: "dq.nx"; ny: "dq.ny"; nz: "dq.nz"; oa: "dq.oa"; ob: "dq.ob"; oc: "dq.oc"; od: "dq.od"; oe: "dq.oe"; of: "dq.of"; og: "dq.og"; oh: "dq.oh"; oi: "dq.oi"; oj: "dq.oj"; ok: "dq.ok"; ol: "dq.ol"; om: "dq.om"; on: "dq.on"; oo: "dq.oo"; op: "dq.op"; oq: "dq.oq"; or: "dq.or"; os: "dq.os"; ot: "dq.ot"; ou: "dq.ou"; ov: "dq.ov"; ow: "dq.ow"; ox: "dq.ox"; oy: "dq.oy"; oz: "dq.oz"; pa: "dq.pa"; pb: "dq.pb"; pc: "dq.pc"; pd: "dq.pd"; pe: "dq.pe"; pf: "dq.pf"; pg: "dq.pg"; ph: "dq.ph"; pi: "dq.pi"; pj: "dq.pj"; pk: "dq.pk"; pl: "dq.pl"; pm: "dq.pm"; pn: "dq.pn"; po: "dq.po"; pp: "dq.pp"; pq: "dq.pq"; pr: "dq.pr"; ps: "dq.ps"; pt: "dq.pt"; pu: "dq.pu"; pv: "dq.pv"; pw: "dq.pw"; px: "dq.px"; py: "dq.py"; pz: "dq.pz"; qa: "dq.qa"; qb: "dq.qb"; qc: "dq.qc"; qd: "dq.qd"; qe: "dq.qe"; qf: "dq.qf"; qg: "dq.qg"; qh: "dq.qh"; qi: "dq.qi"; qj: "dq.qj"; qk: "dq.qk"; ql: "dq.ql"; qm: "dq.qm"; qn: "dq.qn"; qo: "dq.qo"; qp: "dq.qp"; qq: "dq.qq"; qr: "dq.qr"; qs: "dq.qs"; qt: "dq.qt"; qu: "dq.qu"; qv: "dq.qv"; qw: "dq.qw"; qx: "dq.qx"; qy: "dq.qy"; qz: "dq.qz"; ra: "dq.ra"; rb: "dq.rb"; rc: "dq.rc"; rd: "dq.rd"; re: "dq.re"; rf: "dq.rf"; rg: "dq.rg"; rh: "dq.rh"; ri: "dq.ri"; rj: "dq.rj"; rk: "dq.rk"; rl: "dq.rl"; rm: "dq.rm"; rn: "dq.rn"; ro: "dq.ro"; rp: "dq.rp"; rq: "dq.rq"; rr: "dq.rr"; rs: "dq.rs"; rt: "dq.rt"; ru: "dq.ru"; rv: "dq.rv"; rw: "dq.rw"; rx: "dq.rx"; ry: "dq.ry"; rz: "dq.rz"; sa: "dq.sa"; sb: "dq.sb"; sc: "dq.sc"; sd: "dq.sd"; se: "dq.se"; sf: "dq.sf"; sg: "dq.sg"; sh: "dq.sh"; si: "dq.si"; sj: "dq.sj"; sk: "dq.sk"; sl: "dq.sl"; sm: "dq.sm"; sn: "dq.sn"; so: "dq.so"; sp: "dq.sp"; sq: "dq.sq"; sr: "dq.sr"; ss: "dq.ss"; st: "dq.st"; su: "dq.su"; sv: "dq.sv"; sw: "dq.sw"; sx: "dq.sx"; sy: "dq.sy"; sz: "dq.sz"; ta: "dq.ta"; tb: "dq.tb"; tc: "dq.tc"; td: "dq.td"; te: "dq.te"; tf: "dq.tf"; tg: "dq.tg"; th: "dq.th"; ti: "dq.ti"; tj: "dq.tj"; tk: "dq.tk"; tl: "dq.tl"; tm: "dq.tm"; tn: "dq.tn"; to: "dq.to"; tp: "dq.tp"; tq: "dq.tq"; tr: "dq.tr"; ts: "dq.ts"; tt: "dq.tt"; tu: "dq.tu"; tv: "dq.tv"; tw: "dq.tw"; tx: "dq.tx"; ty: "dq.ty"; tz: "dq.tz"; ua: "dq.ua"; ub: "dq.ub"; uc: "dq.uc"; ud: "dq.ud"; ue: "dq.ue"; uf: "dq.uf"; ug: "dq.ug"; uh: "dq.uh"; ui: "dq.ui"; uj: "dq.uj"; uk: "dq.uk"; ul: "dq.ul"; um: "dq.um"; un: "dq.un"; uo: "dq.uo"; up: "dq.up"; uq: "dq.uq"; ur: "dq.ur"; us: "dq.us"; ut: "dq.ut"; uu: "dq.uu"; uv: "dq.uv"; uw: "dq.uw"; ux: "dq.ux"; uy: "dq.uy"; uz: "dq.uz"; va: "dq.va"; vb: "dq.vb"; vc: "dq.vc"; vd: "dq.vd"; ve: "dq.ve"; vf: "dq.vf"; vg: "dq.vg"; vh: "dq.vh"; vi: "dq.vi"; vj: "dq.vj"; vk: "dq.vk"; vl: "dq.vl"; vm: "dq.vm"; vn: "dq.vn"; vo: "dq.vo"; vp: "dq.vp"; vq: "dq.vq"; vr: "dq.vr"; vs: "dq.vs"; vt: "dq.vt"; vu: "dq.vu"; vv: "dq.vv"; vw: "dq.vw"; vx: "dq.vx"; vy: "dq.vy"; vz: "dq.vz"; wa: "dq.wa"; wb: "dq.wb"; wc: "dq.wc"; wd: "dq.wd"; we: "dq.we"; wf: "dq.wf"; wg: "dq.wg"; wh: "dq.wh"; wi: "dq.wi"; wj: "dq.wj"; wk: "dq.wk"; wl: "dq.wl"; wm: "dq.wm"; wn: "dq.wn"; wo: "dq.wo"; wp: "dq.wp"; wq: "dq.wq"; wr: "dq.wr"; ws: "dq.ws"; wt: "dq.wt"; wu: "dq.wu"; wv: "dq.wv"; ww: "dq.ww"; wx: "dq.wx"; wy: "dq.wy"; wz: "dq.wz"; xa: "dq.xa"; xb: "dq.xb"; xc: "dq.xc"; xd: "dq.xd"; xe: "dq.xe"; xf: "dq.xf"; xg: "dq.xg"; xh: "dq.xh"; xi: "dq.xi"; xj: "dq.xj"; xk: "dq.xk"; xl: "dq.xl"; xm: "dq.xm"; xn: "dq.xn"; xo: "dq.xo"; xp: "dq.xp"; xq: "dq.xq"; xr: "dq.xr"; xs: "dq.xs"; xt: "dq.xt"; xu: "dq.xu"; xv: "dq.xv"; xw: "dq.xw"; xx: "dq.xx"; xy: "dq.xy"; xz: "dq.xz"; ya: "dq.ya"; yb: "dq.yb"; yc: "dq.yc"; yd: "dq.yd"; ye: "dq.ye"; yf: "dq.yf"; yg: "dq.yg"; yh: "dq.yh"; yi: "dq.yi"; yj: "dq.yj"; yk: "dq.yk"; yl: "dq.yl"; ym: "dq.ym"; yn: "dq.yn"; yo: "dq.yo"; yp: "dq.yp"; yq: "dq.yq"; yr: "dq.yr"; ys: "dq.ys"; yt: "dq.yt"; yu: "dq.yu"; yv: "dq.yv"; yw: "dq.yw"; yx: "dq.yx"; yy: "dq.yy"; yz: "dq.yz"; za: "dq.za"; zb: "dq.zb"; zc: "dq.zc"; zd: "dq.zd"; ze: "dq.ze"; zf: "dq.zf"; zg: "dq.zg"; zh: "dq.zh"; zi: "dq.zi"; zj: "dq.zj"; zk: "dq.zk"; zl: "dq.zl"; zm: "dq.zm"; zn: "dq.zn"; zo: "dq.zo"; zp: "dq.zp"; zq: "dq.zq"; zr: "dq.zr"; zs: "dq.zs"; zt: "dq.zt"; zu: "dq.zu"; zv: "dq.zv"; zw: "dq.zw"; zx: "dq.zx"; zy: "dq.zy"; zz: "dq.zz"; }; dr: { aa: "dr.aa"; ab: "dr.ab"; ac: "dr.ac"; ad: "dr.ad"; ae: "dr.ae"; af: "dr.af"; ag: "dr.ag"; ah: "dr.ah"; ai: "dr.ai"; aj: "dr.aj"; ak: "dr.ak"; al: "dr.al"; am: "dr.am"; an: "dr.an"; ao: "dr.ao"; ap: "dr.ap"; aq: "dr.aq"; ar: "dr.ar"; as: "dr.as"; at: "dr.at"; au: "dr.au"; av: "dr.av"; aw: "dr.aw"; ax: "dr.ax"; ay: "dr.ay"; az: "dr.az"; ba: "dr.ba"; bb: "dr.bb"; bc: "dr.bc"; bd: "dr.bd"; be: "dr.be"; bf: "dr.bf"; bg: "dr.bg"; bh: "dr.bh"; bi: "dr.bi"; bj: "dr.bj"; bk: "dr.bk"; bl: "dr.bl"; bm: "dr.bm"; bn: "dr.bn"; bo: "dr.bo"; bp: "dr.bp"; bq: "dr.bq"; br: "dr.br"; bs: "dr.bs"; bt: "dr.bt"; bu: "dr.bu"; bv: "dr.bv"; bw: "dr.bw"; bx: "dr.bx"; by: "dr.by"; bz: "dr.bz"; ca: "dr.ca"; cb: "dr.cb"; cc: "dr.cc"; cd: "dr.cd"; ce: "dr.ce"; cf: "dr.cf"; cg: "dr.cg"; ch: "dr.ch"; ci: "dr.ci"; cj: "dr.cj"; ck: "dr.ck"; cl: "dr.cl"; cm: "dr.cm"; cn: "dr.cn"; co: "dr.co"; cp: "dr.cp"; cq: "dr.cq"; cr: "dr.cr"; cs: "dr.cs"; ct: "dr.ct"; cu: "dr.cu"; cv: "dr.cv"; cw: "dr.cw"; cx: "dr.cx"; cy: "dr.cy"; cz: "dr.cz"; da: "dr.da"; db: "dr.db"; dc: "dr.dc"; dd: "dr.dd"; de: "dr.de"; df: "dr.df"; dg: "dr.dg"; dh: "dr.dh"; di: "dr.di"; dj: "dr.dj"; dk: "dr.dk"; dl: "dr.dl"; dm: "dr.dm"; dn: "dr.dn"; do: "dr.do"; dp: "dr.dp"; dq: "dr.dq"; dr: "dr.dr"; ds: "dr.ds"; dt: "dr.dt"; du: "dr.du"; dv: "dr.dv"; dw: "dr.dw"; dx: "dr.dx"; dy: "dr.dy"; dz: "dr.dz"; ea: "dr.ea"; eb: "dr.eb"; ec: "dr.ec"; ed: "dr.ed"; ee: "dr.ee"; ef: "dr.ef"; eg: "dr.eg"; eh: "dr.eh"; ei: "dr.ei"; ej: "dr.ej"; ek: "dr.ek"; el: "dr.el"; em: "dr.em"; en: "dr.en"; eo: "dr.eo"; ep: "dr.ep"; eq: "dr.eq"; er: "dr.er"; es: "dr.es"; et: "dr.et"; eu: "dr.eu"; ev: "dr.ev"; ew: "dr.ew"; ex: "dr.ex"; ey: "dr.ey"; ez: "dr.ez"; fa: "dr.fa"; fb: "dr.fb"; fc: "dr.fc"; fd: "dr.fd"; fe: "dr.fe"; ff: "dr.ff"; fg: "dr.fg"; fh: "dr.fh"; fi: "dr.fi"; fj: "dr.fj"; fk: "dr.fk"; fl: "dr.fl"; fm: "dr.fm"; fn: "dr.fn"; fo: "dr.fo"; fp: "dr.fp"; fq: "dr.fq"; fr: "dr.fr"; fs: "dr.fs"; ft: "dr.ft"; fu: "dr.fu"; fv: "dr.fv"; fw: "dr.fw"; fx: "dr.fx"; fy: "dr.fy"; fz: "dr.fz"; ga: "dr.ga"; gb: "dr.gb"; gc: "dr.gc"; gd: "dr.gd"; ge: "dr.ge"; gf: "dr.gf"; gg: "dr.gg"; gh: "dr.gh"; gi: "dr.gi"; gj: "dr.gj"; gk: "dr.gk"; gl: "dr.gl"; gm: "dr.gm"; gn: "dr.gn"; go: "dr.go"; gp: "dr.gp"; gq: "dr.gq"; gr: "dr.gr"; gs: "dr.gs"; gt: "dr.gt"; gu: "dr.gu"; gv: "dr.gv"; gw: "dr.gw"; gx: "dr.gx"; gy: "dr.gy"; gz: "dr.gz"; ha: "dr.ha"; hb: "dr.hb"; hc: "dr.hc"; hd: "dr.hd"; he: "dr.he"; hf: "dr.hf"; hg: "dr.hg"; hh: "dr.hh"; hi: "dr.hi"; hj: "dr.hj"; hk: "dr.hk"; hl: "dr.hl"; hm: "dr.hm"; hn: "dr.hn"; ho: "dr.ho"; hp: "dr.hp"; hq: "dr.hq"; hr: "dr.hr"; hs: "dr.hs"; ht: "dr.ht"; hu: "dr.hu"; hv: "dr.hv"; hw: "dr.hw"; hx: "dr.hx"; hy: "dr.hy"; hz: "dr.hz"; ia: "dr.ia"; ib: "dr.ib"; ic: "dr.ic"; id: "dr.id"; ie: "dr.ie"; if: "dr.if"; ig: "dr.ig"; ih: "dr.ih"; ii: "dr.ii"; ij: "dr.ij"; ik: "dr.ik"; il: "dr.il"; im: "dr.im"; in: "dr.in"; io: "dr.io"; ip: "dr.ip"; iq: "dr.iq"; ir: "dr.ir"; is: "dr.is"; it: "dr.it"; iu: "dr.iu"; iv: "dr.iv"; iw: "dr.iw"; ix: "dr.ix"; iy: "dr.iy"; iz: "dr.iz"; ja: "dr.ja"; jb: "dr.jb"; jc: "dr.jc"; jd: "dr.jd"; je: "dr.je"; jf: "dr.jf"; jg: "dr.jg"; jh: "dr.jh"; ji: "dr.ji"; jj: "dr.jj"; jk: "dr.jk"; jl: "dr.jl"; jm: "dr.jm"; jn: "dr.jn"; jo: "dr.jo"; jp: "dr.jp"; jq: "dr.jq"; jr: "dr.jr"; js: "dr.js"; jt: "dr.jt"; ju: "dr.ju"; jv: "dr.jv"; jw: "dr.jw"; jx: "dr.jx"; jy: "dr.jy"; jz: "dr.jz"; ka: "dr.ka"; kb: "dr.kb"; kc: "dr.kc"; kd: "dr.kd"; ke: "dr.ke"; kf: "dr.kf"; kg: "dr.kg"; kh: "dr.kh"; ki: "dr.ki"; kj: "dr.kj"; kk: "dr.kk"; kl: "dr.kl"; km: "dr.km"; kn: "dr.kn"; ko: "dr.ko"; kp: "dr.kp"; kq: "dr.kq"; kr: "dr.kr"; ks: "dr.ks"; kt: "dr.kt"; ku: "dr.ku"; kv: "dr.kv"; kw: "dr.kw"; kx: "dr.kx"; ky: "dr.ky"; kz: "dr.kz"; la: "dr.la"; lb: "dr.lb"; lc: "dr.lc"; ld: "dr.ld"; le: "dr.le"; lf: "dr.lf"; lg: "dr.lg"; lh: "dr.lh"; li: "dr.li"; lj: "dr.lj"; lk: "dr.lk"; ll: "dr.ll"; lm: "dr.lm"; ln: "dr.ln"; lo: "dr.lo"; lp: "dr.lp"; lq: "dr.lq"; lr: "dr.lr"; ls: "dr.ls"; lt: "dr.lt"; lu: "dr.lu"; lv: "dr.lv"; lw: "dr.lw"; lx: "dr.lx"; ly: "dr.ly"; lz: "dr.lz"; ma: "dr.ma"; mb: "dr.mb"; mc: "dr.mc"; md: "dr.md"; me: "dr.me"; mf: "dr.mf"; mg: "dr.mg"; mh: "dr.mh"; mi: "dr.mi"; mj: "dr.mj"; mk: "dr.mk"; ml: "dr.ml"; mm: "dr.mm"; mn: "dr.mn"; mo: "dr.mo"; mp: "dr.mp"; mq: "dr.mq"; mr: "dr.mr"; ms: "dr.ms"; mt: "dr.mt"; mu: "dr.mu"; mv: "dr.mv"; mw: "dr.mw"; mx: "dr.mx"; my: "dr.my"; mz: "dr.mz"; na: "dr.na"; nb: "dr.nb"; nc: "dr.nc"; nd: "dr.nd"; ne: "dr.ne"; nf: "dr.nf"; ng: "dr.ng"; nh: "dr.nh"; ni: "dr.ni"; nj: "dr.nj"; nk: "dr.nk"; nl: "dr.nl"; nm: "dr.nm"; nn: "dr.nn"; no: "dr.no"; np: "dr.np"; nq: "dr.nq"; nr: "dr.nr"; ns: "dr.ns"; nt: "dr.nt"; nu: "dr.nu"; nv: "dr.nv"; nw: "dr.nw"; nx: "dr.nx"; ny: "dr.ny"; nz: "dr.nz"; oa: "dr.oa"; ob: "dr.ob"; oc: "dr.oc"; od: "dr.od"; oe: "dr.oe"; of: "dr.of"; og: "dr.og"; oh: "dr.oh"; oi: "dr.oi"; oj: "dr.oj"; ok: "dr.ok"; ol: "dr.ol"; om: "dr.om"; on: "dr.on"; oo: "dr.oo"; op: "dr.op"; oq: "dr.oq"; or: "dr.or"; os: "dr.os"; ot: "dr.ot"; ou: "dr.ou"; ov: "dr.ov"; ow: "dr.ow"; ox: "dr.ox"; oy: "dr.oy"; oz: "dr.oz"; pa: "dr.pa"; pb: "dr.pb"; pc: "dr.pc"; pd: "dr.pd"; pe: "dr.pe"; pf: "dr.pf"; pg: "dr.pg"; ph: "dr.ph"; pi: "dr.pi"; pj: "dr.pj"; pk: "dr.pk"; pl: "dr.pl"; pm: "dr.pm"; pn: "dr.pn"; po: "dr.po"; pp: "dr.pp"; pq: "dr.pq"; pr: "dr.pr"; ps: "dr.ps"; pt: "dr.pt"; pu: "dr.pu"; pv: "dr.pv"; pw: "dr.pw"; px: "dr.px"; py: "dr.py"; pz: "dr.pz"; qa: "dr.qa"; qb: "dr.qb"; qc: "dr.qc"; qd: "dr.qd"; qe: "dr.qe"; qf: "dr.qf"; qg: "dr.qg"; qh: "dr.qh"; qi: "dr.qi"; qj: "dr.qj"; qk: "dr.qk"; ql: "dr.ql"; qm: "dr.qm"; qn: "dr.qn"; qo: "dr.qo"; qp: "dr.qp"; qq: "dr.qq"; qr: "dr.qr"; qs: "dr.qs"; qt: "dr.qt"; qu: "dr.qu"; qv: "dr.qv"; qw: "dr.qw"; qx: "dr.qx"; qy: "dr.qy"; qz: "dr.qz"; ra: "dr.ra"; rb: "dr.rb"; rc: "dr.rc"; rd: "dr.rd"; re: "dr.re"; rf: "dr.rf"; rg: "dr.rg"; rh: "dr.rh"; ri: "dr.ri"; rj: "dr.rj"; rk: "dr.rk"; rl: "dr.rl"; rm: "dr.rm"; rn: "dr.rn"; ro: "dr.ro"; rp: "dr.rp"; rq: "dr.rq"; rr: "dr.rr"; rs: "dr.rs"; rt: "dr.rt"; ru: "dr.ru"; rv: "dr.rv"; rw: "dr.rw"; rx: "dr.rx"; ry: "dr.ry"; rz: "dr.rz"; sa: "dr.sa"; sb: "dr.sb"; sc: "dr.sc"; sd: "dr.sd"; se: "dr.se"; sf: "dr.sf"; sg: "dr.sg"; sh: "dr.sh"; si: "dr.si"; sj: "dr.sj"; sk: "dr.sk"; sl: "dr.sl"; sm: "dr.sm"; sn: "dr.sn"; so: "dr.so"; sp: "dr.sp"; sq: "dr.sq"; sr: "dr.sr"; ss: "dr.ss"; st: "dr.st"; su: "dr.su"; sv: "dr.sv"; sw: "dr.sw"; sx: "dr.sx"; sy: "dr.sy"; sz: "dr.sz"; ta: "dr.ta"; tb: "dr.tb"; tc: "dr.tc"; td: "dr.td"; te: "dr.te"; tf: "dr.tf"; tg: "dr.tg"; th: "dr.th"; ti: "dr.ti"; tj: "dr.tj"; tk: "dr.tk"; tl: "dr.tl"; tm: "dr.tm"; tn: "dr.tn"; to: "dr.to"; tp: "dr.tp"; tq: "dr.tq"; tr: "dr.tr"; ts: "dr.ts"; tt: "dr.tt"; tu: "dr.tu"; tv: "dr.tv"; tw: "dr.tw"; tx: "dr.tx"; ty: "dr.ty"; tz: "dr.tz"; ua: "dr.ua"; ub: "dr.ub"; uc: "dr.uc"; ud: "dr.ud"; ue: "dr.ue"; uf: "dr.uf"; ug: "dr.ug"; uh: "dr.uh"; ui: "dr.ui"; uj: "dr.uj"; uk: "dr.uk"; ul: "dr.ul"; um: "dr.um"; un: "dr.un"; uo: "dr.uo"; up: "dr.up"; uq: "dr.uq"; ur: "dr.ur"; us: "dr.us"; ut: "dr.ut"; uu: "dr.uu"; uv: "dr.uv"; uw: "dr.uw"; ux: "dr.ux"; uy: "dr.uy"; uz: "dr.uz"; va: "dr.va"; vb: "dr.vb"; vc: "dr.vc"; vd: "dr.vd"; ve: "dr.ve"; vf: "dr.vf"; vg: "dr.vg"; vh: "dr.vh"; vi: "dr.vi"; vj: "dr.vj"; vk: "dr.vk"; vl: "dr.vl"; vm: "dr.vm"; vn: "dr.vn"; vo: "dr.vo"; vp: "dr.vp"; vq: "dr.vq"; vr: "dr.vr"; vs: "dr.vs"; vt: "dr.vt"; vu: "dr.vu"; vv: "dr.vv"; vw: "dr.vw"; vx: "dr.vx"; vy: "dr.vy"; vz: "dr.vz"; wa: "dr.wa"; wb: "dr.wb"; wc: "dr.wc"; wd: "dr.wd"; we: "dr.we"; wf: "dr.wf"; wg: "dr.wg"; wh: "dr.wh"; wi: "dr.wi"; wj: "dr.wj"; wk: "dr.wk"; wl: "dr.wl"; wm: "dr.wm"; wn: "dr.wn"; wo: "dr.wo"; wp: "dr.wp"; wq: "dr.wq"; wr: "dr.wr"; ws: "dr.ws"; wt: "dr.wt"; wu: "dr.wu"; wv: "dr.wv"; ww: "dr.ww"; wx: "dr.wx"; wy: "dr.wy"; wz: "dr.wz"; xa: "dr.xa"; xb: "dr.xb"; xc: "dr.xc"; xd: "dr.xd"; xe: "dr.xe"; xf: "dr.xf"; xg: "dr.xg"; xh: "dr.xh"; xi: "dr.xi"; xj: "dr.xj"; xk: "dr.xk"; xl: "dr.xl"; xm: "dr.xm"; xn: "dr.xn"; xo: "dr.xo"; xp: "dr.xp"; xq: "dr.xq"; xr: "dr.xr"; xs: "dr.xs"; xt: "dr.xt"; xu: "dr.xu"; xv: "dr.xv"; xw: "dr.xw"; xx: "dr.xx"; xy: "dr.xy"; xz: "dr.xz"; ya: "dr.ya"; yb: "dr.yb"; yc: "dr.yc"; yd: "dr.yd"; ye: "dr.ye"; yf: "dr.yf"; yg: "dr.yg"; yh: "dr.yh"; yi: "dr.yi"; yj: "dr.yj"; yk: "dr.yk"; yl: "dr.yl"; ym: "dr.ym"; yn: "dr.yn"; yo: "dr.yo"; yp: "dr.yp"; yq: "dr.yq"; yr: "dr.yr"; ys: "dr.ys"; yt: "dr.yt"; yu: "dr.yu"; yv: "dr.yv"; yw: "dr.yw"; yx: "dr.yx"; yy: "dr.yy"; yz: "dr.yz"; za: "dr.za"; zb: "dr.zb"; zc: "dr.zc"; zd: "dr.zd"; ze: "dr.ze"; zf: "dr.zf"; zg: "dr.zg"; zh: "dr.zh"; zi: "dr.zi"; zj: "dr.zj"; zk: "dr.zk"; zl: "dr.zl"; zm: "dr.zm"; zn: "dr.zn"; zo: "dr.zo"; zp: "dr.zp"; zq: "dr.zq"; zr: "dr.zr"; zs: "dr.zs"; zt: "dr.zt"; zu: "dr.zu"; zv: "dr.zv"; zw: "dr.zw"; zx: "dr.zx"; zy: "dr.zy"; zz: "dr.zz"; }; ds: { aa: "ds.aa"; ab: "ds.ab"; ac: "ds.ac"; ad: "ds.ad"; ae: "ds.ae"; af: "ds.af"; ag: "ds.ag"; ah: "ds.ah"; ai: "ds.ai"; aj: "ds.aj"; ak: "ds.ak"; al: "ds.al"; am: "ds.am"; an: "ds.an"; ao: "ds.ao"; ap: "ds.ap"; aq: "ds.aq"; ar: "ds.ar"; as: "ds.as"; at: "ds.at"; au: "ds.au"; av: "ds.av"; aw: "ds.aw"; ax: "ds.ax"; ay: "ds.ay"; az: "ds.az"; ba: "ds.ba"; bb: "ds.bb"; bc: "ds.bc"; bd: "ds.bd"; be: "ds.be"; bf: "ds.bf"; bg: "ds.bg"; bh: "ds.bh"; bi: "ds.bi"; bj: "ds.bj"; bk: "ds.bk"; bl: "ds.bl"; bm: "ds.bm"; bn: "ds.bn"; bo: "ds.bo"; bp: "ds.bp"; bq: "ds.bq"; br: "ds.br"; bs: "ds.bs"; bt: "ds.bt"; bu: "ds.bu"; bv: "ds.bv"; bw: "ds.bw"; bx: "ds.bx"; by: "ds.by"; bz: "ds.bz"; ca: "ds.ca"; cb: "ds.cb"; cc: "ds.cc"; cd: "ds.cd"; ce: "ds.ce"; cf: "ds.cf"; cg: "ds.cg"; ch: "ds.ch"; ci: "ds.ci"; cj: "ds.cj"; ck: "ds.ck"; cl: "ds.cl"; cm: "ds.cm"; cn: "ds.cn"; co: "ds.co"; cp: "ds.cp"; cq: "ds.cq"; cr: "ds.cr"; cs: "ds.cs"; ct: "ds.ct"; cu: "ds.cu"; cv: "ds.cv"; cw: "ds.cw"; cx: "ds.cx"; cy: "ds.cy"; cz: "ds.cz"; da: "ds.da"; db: "ds.db"; dc: "ds.dc"; dd: "ds.dd"; de: "ds.de"; df: "ds.df"; dg: "ds.dg"; dh: "ds.dh"; di: "ds.di"; dj: "ds.dj"; dk: "ds.dk"; dl: "ds.dl"; dm: "ds.dm"; dn: "ds.dn"; do: "ds.do"; dp: "ds.dp"; dq: "ds.dq"; dr: "ds.dr"; ds: "ds.ds"; dt: "ds.dt"; du: "ds.du"; dv: "ds.dv"; dw: "ds.dw"; dx: "ds.dx"; dy: "ds.dy"; dz: "ds.dz"; ea: "ds.ea"; eb: "ds.eb"; ec: "ds.ec"; ed: "ds.ed"; ee: "ds.ee"; ef: "ds.ef"; eg: "ds.eg"; eh: "ds.eh"; ei: "ds.ei"; ej: "ds.ej"; ek: "ds.ek"; el: "ds.el"; em: "ds.em"; en: "ds.en"; eo: "ds.eo"; ep: "ds.ep"; eq: "ds.eq"; er: "ds.er"; es: "ds.es"; et: "ds.et"; eu: "ds.eu"; ev: "ds.ev"; ew: "ds.ew"; ex: "ds.ex"; ey: "ds.ey"; ez: "ds.ez"; fa: "ds.fa"; fb: "ds.fb"; fc: "ds.fc"; fd: "ds.fd"; fe: "ds.fe"; ff: "ds.ff"; fg: "ds.fg"; fh: "ds.fh"; fi: "ds.fi"; fj: "ds.fj"; fk: "ds.fk"; fl: "ds.fl"; fm: "ds.fm"; fn: "ds.fn"; fo: "ds.fo"; fp: "ds.fp"; fq: "ds.fq"; fr: "ds.fr"; fs: "ds.fs"; ft: "ds.ft"; fu: "ds.fu"; fv: "ds.fv"; fw: "ds.fw"; fx: "ds.fx"; fy: "ds.fy"; fz: "ds.fz"; ga: "ds.ga"; gb: "ds.gb"; gc: "ds.gc"; gd: "ds.gd"; ge: "ds.ge"; gf: "ds.gf"; gg: "ds.gg"; gh: "ds.gh"; gi: "ds.gi"; gj: "ds.gj"; gk: "ds.gk"; gl: "ds.gl"; gm: "ds.gm"; gn: "ds.gn"; go: "ds.go"; gp: "ds.gp"; gq: "ds.gq"; gr: "ds.gr"; gs: "ds.gs"; gt: "ds.gt"; gu: "ds.gu"; gv: "ds.gv"; gw: "ds.gw"; gx: "ds.gx"; gy: "ds.gy"; gz: "ds.gz"; ha: "ds.ha"; hb: "ds.hb"; hc: "ds.hc"; hd: "ds.hd"; he: "ds.he"; hf: "ds.hf"; hg: "ds.hg"; hh: "ds.hh"; hi: "ds.hi"; hj: "ds.hj"; hk: "ds.hk"; hl: "ds.hl"; hm: "ds.hm"; hn: "ds.hn"; ho: "ds.ho"; hp: "ds.hp"; hq: "ds.hq"; hr: "ds.hr"; hs: "ds.hs"; ht: "ds.ht"; hu: "ds.hu"; hv: "ds.hv"; hw: "ds.hw"; hx: "ds.hx"; hy: "ds.hy"; hz: "ds.hz"; ia: "ds.ia"; ib: "ds.ib"; ic: "ds.ic"; id: "ds.id"; ie: "ds.ie"; if: "ds.if"; ig: "ds.ig"; ih: "ds.ih"; ii: "ds.ii"; ij: "ds.ij"; ik: "ds.ik"; il: "ds.il"; im: "ds.im"; in: "ds.in"; io: "ds.io"; ip: "ds.ip"; iq: "ds.iq"; ir: "ds.ir"; is: "ds.is"; it: "ds.it"; iu: "ds.iu"; iv: "ds.iv"; iw: "ds.iw"; ix: "ds.ix"; iy: "ds.iy"; iz: "ds.iz"; ja: "ds.ja"; jb: "ds.jb"; jc: "ds.jc"; jd: "ds.jd"; je: "ds.je"; jf: "ds.jf"; jg: "ds.jg"; jh: "ds.jh"; ji: "ds.ji"; jj: "ds.jj"; jk: "ds.jk"; jl: "ds.jl"; jm: "ds.jm"; jn: "ds.jn"; jo: "ds.jo"; jp: "ds.jp"; jq: "ds.jq"; jr: "ds.jr"; js: "ds.js"; jt: "ds.jt"; ju: "ds.ju"; jv: "ds.jv"; jw: "ds.jw"; jx: "ds.jx"; jy: "ds.jy"; jz: "ds.jz"; ka: "ds.ka"; kb: "ds.kb"; kc: "ds.kc"; kd: "ds.kd"; ke: "ds.ke"; kf: "ds.kf"; kg: "ds.kg"; kh: "ds.kh"; ki: "ds.ki"; kj: "ds.kj"; kk: "ds.kk"; kl: "ds.kl"; km: "ds.km"; kn: "ds.kn"; ko: "ds.ko"; kp: "ds.kp"; kq: "ds.kq"; kr: "ds.kr"; ks: "ds.ks"; kt: "ds.kt"; ku: "ds.ku"; kv: "ds.kv"; kw: "ds.kw"; kx: "ds.kx"; ky: "ds.ky"; kz: "ds.kz"; la: "ds.la"; lb: "ds.lb"; lc: "ds.lc"; ld: "ds.ld"; le: "ds.le"; lf: "ds.lf"; lg: "ds.lg"; lh: "ds.lh"; li: "ds.li"; lj: "ds.lj"; lk: "ds.lk"; ll: "ds.ll"; lm: "ds.lm"; ln: "ds.ln"; lo: "ds.lo"; lp: "ds.lp"; lq: "ds.lq"; lr: "ds.lr"; ls: "ds.ls"; lt: "ds.lt"; lu: "ds.lu"; lv: "ds.lv"; lw: "ds.lw"; lx: "ds.lx"; ly: "ds.ly"; lz: "ds.lz"; ma: "ds.ma"; mb: "ds.mb"; mc: "ds.mc"; md: "ds.md"; me: "ds.me"; mf: "ds.mf"; mg: "ds.mg"; mh: "ds.mh"; mi: "ds.mi"; mj: "ds.mj"; mk: "ds.mk"; ml: "ds.ml"; mm: "ds.mm"; mn: "ds.mn"; mo: "ds.mo"; mp: "ds.mp"; mq: "ds.mq"; mr: "ds.mr"; ms: "ds.ms"; mt: "ds.mt"; mu: "ds.mu"; mv: "ds.mv"; mw: "ds.mw"; mx: "ds.mx"; my: "ds.my"; mz: "ds.mz"; na: "ds.na"; nb: "ds.nb"; nc: "ds.nc"; nd: "ds.nd"; ne: "ds.ne"; nf: "ds.nf"; ng: "ds.ng"; nh: "ds.nh"; ni: "ds.ni"; nj: "ds.nj"; nk: "ds.nk"; nl: "ds.nl"; nm: "ds.nm"; nn: "ds.nn"; no: "ds.no"; np: "ds.np"; nq: "ds.nq"; nr: "ds.nr"; ns: "ds.ns"; nt: "ds.nt"; nu: "ds.nu"; nv: "ds.nv"; nw: "ds.nw"; nx: "ds.nx"; ny: "ds.ny"; nz: "ds.nz"; oa: "ds.oa"; ob: "ds.ob"; oc: "ds.oc"; od: "ds.od"; oe: "ds.oe"; of: "ds.of"; og: "ds.og"; oh: "ds.oh"; oi: "ds.oi"; oj: "ds.oj"; ok: "ds.ok"; ol: "ds.ol"; om: "ds.om"; on: "ds.on"; oo: "ds.oo"; op: "ds.op"; oq: "ds.oq"; or: "ds.or"; os: "ds.os"; ot: "ds.ot"; ou: "ds.ou"; ov: "ds.ov"; ow: "ds.ow"; ox: "ds.ox"; oy: "ds.oy"; oz: "ds.oz"; pa: "ds.pa"; pb: "ds.pb"; pc: "ds.pc"; pd: "ds.pd"; pe: "ds.pe"; pf: "ds.pf"; pg: "ds.pg"; ph: "ds.ph"; pi: "ds.pi"; pj: "ds.pj"; pk: "ds.pk"; pl: "ds.pl"; pm: "ds.pm"; pn: "ds.pn"; po: "ds.po"; pp: "ds.pp"; pq: "ds.pq"; pr: "ds.pr"; ps: "ds.ps"; pt: "ds.pt"; pu: "ds.pu"; pv: "ds.pv"; pw: "ds.pw"; px: "ds.px"; py: "ds.py"; pz: "ds.pz"; qa: "ds.qa"; qb: "ds.qb"; qc: "ds.qc"; qd: "ds.qd"; qe: "ds.qe"; qf: "ds.qf"; qg: "ds.qg"; qh: "ds.qh"; qi: "ds.qi"; qj: "ds.qj"; qk: "ds.qk"; ql: "ds.ql"; qm: "ds.qm"; qn: "ds.qn"; qo: "ds.qo"; qp: "ds.qp"; qq: "ds.qq"; qr: "ds.qr"; qs: "ds.qs"; qt: "ds.qt"; qu: "ds.qu"; qv: "ds.qv"; qw: "ds.qw"; qx: "ds.qx"; qy: "ds.qy"; qz: "ds.qz"; ra: "ds.ra"; rb: "ds.rb"; rc: "ds.rc"; rd: "ds.rd"; re: "ds.re"; rf: "ds.rf"; rg: "ds.rg"; rh: "ds.rh"; ri: "ds.ri"; rj: "ds.rj"; rk: "ds.rk"; rl: "ds.rl"; rm: "ds.rm"; rn: "ds.rn"; ro: "ds.ro"; rp: "ds.rp"; rq: "ds.rq"; rr: "ds.rr"; rs: "ds.rs"; rt: "ds.rt"; ru: "ds.ru"; rv: "ds.rv"; rw: "ds.rw"; rx: "ds.rx"; ry: "ds.ry"; rz: "ds.rz"; sa: "ds.sa"; sb: "ds.sb"; sc: "ds.sc"; sd: "ds.sd"; se: "ds.se"; sf: "ds.sf"; sg: "ds.sg"; sh: "ds.sh"; si: "ds.si"; sj: "ds.sj"; sk: "ds.sk"; sl: "ds.sl"; sm: "ds.sm"; sn: "ds.sn"; so: "ds.so"; sp: "ds.sp"; sq: "ds.sq"; sr: "ds.sr"; ss: "ds.ss"; st: "ds.st"; su: "ds.su"; sv: "ds.sv"; sw: "ds.sw"; sx: "ds.sx"; sy: "ds.sy"; sz: "ds.sz"; ta: "ds.ta"; tb: "ds.tb"; tc: "ds.tc"; td: "ds.td"; te: "ds.te"; tf: "ds.tf"; tg: "ds.tg"; th: "ds.th"; ti: "ds.ti"; tj: "ds.tj"; tk: "ds.tk"; tl: "ds.tl"; tm: "ds.tm"; tn: "ds.tn"; to: "ds.to"; tp: "ds.tp"; tq: "ds.tq"; tr: "ds.tr"; ts: "ds.ts"; tt: "ds.tt"; tu: "ds.tu"; tv: "ds.tv"; tw: "ds.tw"; tx: "ds.tx"; ty: "ds.ty"; tz: "ds.tz"; ua: "ds.ua"; ub: "ds.ub"; uc: "ds.uc"; ud: "ds.ud"; ue: "ds.ue"; uf: "ds.uf"; ug: "ds.ug"; uh: "ds.uh"; ui: "ds.ui"; uj: "ds.uj"; uk: "ds.uk"; ul: "ds.ul"; um: "ds.um"; un: "ds.un"; uo: "ds.uo"; up: "ds.up"; uq: "ds.uq"; ur: "ds.ur"; us: "ds.us"; ut: "ds.ut"; uu: "ds.uu"; uv: "ds.uv"; uw: "ds.uw"; ux: "ds.ux"; uy: "ds.uy"; uz: "ds.uz"; va: "ds.va"; vb: "ds.vb"; vc: "ds.vc"; vd: "ds.vd"; ve: "ds.ve"; vf: "ds.vf"; vg: "ds.vg"; vh: "ds.vh"; vi: "ds.vi"; vj: "ds.vj"; vk: "ds.vk"; vl: "ds.vl"; vm: "ds.vm"; vn: "ds.vn"; vo: "ds.vo"; vp: "ds.vp"; vq: "ds.vq"; vr: "ds.vr"; vs: "ds.vs"; vt: "ds.vt"; vu: "ds.vu"; vv: "ds.vv"; vw: "ds.vw"; vx: "ds.vx"; vy: "ds.vy"; vz: "ds.vz"; wa: "ds.wa"; wb: "ds.wb"; wc: "ds.wc"; wd: "ds.wd"; we: "ds.we"; wf: "ds.wf"; wg: "ds.wg"; wh: "ds.wh"; wi: "ds.wi"; wj: "ds.wj"; wk: "ds.wk"; wl: "ds.wl"; wm: "ds.wm"; wn: "ds.wn"; wo: "ds.wo"; wp: "ds.wp"; wq: "ds.wq"; wr: "ds.wr"; ws: "ds.ws"; wt: "ds.wt"; wu: "ds.wu"; wv: "ds.wv"; ww: "ds.ww"; wx: "ds.wx"; wy: "ds.wy"; wz: "ds.wz"; xa: "ds.xa"; xb: "ds.xb"; xc: "ds.xc"; xd: "ds.xd"; xe: "ds.xe"; xf: "ds.xf"; xg: "ds.xg"; xh: "ds.xh"; xi: "ds.xi"; xj: "ds.xj"; xk: "ds.xk"; xl: "ds.xl"; xm: "ds.xm"; xn: "ds.xn"; xo: "ds.xo"; xp: "ds.xp"; xq: "ds.xq"; xr: "ds.xr"; xs: "ds.xs"; xt: "ds.xt"; xu: "ds.xu"; xv: "ds.xv"; xw: "ds.xw"; xx: "ds.xx"; xy: "ds.xy"; xz: "ds.xz"; ya: "ds.ya"; yb: "ds.yb"; yc: "ds.yc"; yd: "ds.yd"; ye: "ds.ye"; yf: "ds.yf"; yg: "ds.yg"; yh: "ds.yh"; yi: "ds.yi"; yj: "ds.yj"; yk: "ds.yk"; yl: "ds.yl"; ym: "ds.ym"; yn: "ds.yn"; yo: "ds.yo"; yp: "ds.yp"; yq: "ds.yq"; yr: "ds.yr"; ys: "ds.ys"; yt: "ds.yt"; yu: "ds.yu"; yv: "ds.yv"; yw: "ds.yw"; yx: "ds.yx"; yy: "ds.yy"; yz: "ds.yz"; za: "ds.za"; zb: "ds.zb"; zc: "ds.zc"; zd: "ds.zd"; ze: "ds.ze"; zf: "ds.zf"; zg: "ds.zg"; zh: "ds.zh"; zi: "ds.zi"; zj: "ds.zj"; zk: "ds.zk"; zl: "ds.zl"; zm: "ds.zm"; zn: "ds.zn"; zo: "ds.zo"; zp: "ds.zp"; zq: "ds.zq"; zr: "ds.zr"; zs: "ds.zs"; zt: "ds.zt"; zu: "ds.zu"; zv: "ds.zv"; zw: "ds.zw"; zx: "ds.zx"; zy: "ds.zy"; zz: "ds.zz"; }; dt: { aa: "dt.aa"; ab: "dt.ab"; ac: "dt.ac"; ad: "dt.ad"; ae: "dt.ae"; af: "dt.af"; ag: "dt.ag"; ah: "dt.ah"; ai: "dt.ai"; aj: "dt.aj"; ak: "dt.ak"; al: "dt.al"; am: "dt.am"; an: "dt.an"; ao: "dt.ao"; ap: "dt.ap"; aq: "dt.aq"; ar: "dt.ar"; as: "dt.as"; at: "dt.at"; au: "dt.au"; av: "dt.av"; aw: "dt.aw"; ax: "dt.ax"; ay: "dt.ay"; az: "dt.az"; ba: "dt.ba"; bb: "dt.bb"; bc: "dt.bc"; bd: "dt.bd"; be: "dt.be"; bf: "dt.bf"; bg: "dt.bg"; bh: "dt.bh"; bi: "dt.bi"; bj: "dt.bj"; bk: "dt.bk"; bl: "dt.bl"; bm: "dt.bm"; bn: "dt.bn"; bo: "dt.bo"; bp: "dt.bp"; bq: "dt.bq"; br: "dt.br"; bs: "dt.bs"; bt: "dt.bt"; bu: "dt.bu"; bv: "dt.bv"; bw: "dt.bw"; bx: "dt.bx"; by: "dt.by"; bz: "dt.bz"; ca: "dt.ca"; cb: "dt.cb"; cc: "dt.cc"; cd: "dt.cd"; ce: "dt.ce"; cf: "dt.cf"; cg: "dt.cg"; ch: "dt.ch"; ci: "dt.ci"; cj: "dt.cj"; ck: "dt.ck"; cl: "dt.cl"; cm: "dt.cm"; cn: "dt.cn"; co: "dt.co"; cp: "dt.cp"; cq: "dt.cq"; cr: "dt.cr"; cs: "dt.cs"; ct: "dt.ct"; cu: "dt.cu"; cv: "dt.cv"; cw: "dt.cw"; cx: "dt.cx"; cy: "dt.cy"; cz: "dt.cz"; da: "dt.da"; db: "dt.db"; dc: "dt.dc"; dd: "dt.dd"; de: "dt.de"; df: "dt.df"; dg: "dt.dg"; dh: "dt.dh"; di: "dt.di"; dj: "dt.dj"; dk: "dt.dk"; dl: "dt.dl"; dm: "dt.dm"; dn: "dt.dn"; do: "dt.do"; dp: "dt.dp"; dq: "dt.dq"; dr: "dt.dr"; ds: "dt.ds"; dt: "dt.dt"; du: "dt.du"; dv: "dt.dv"; dw: "dt.dw"; dx: "dt.dx"; dy: "dt.dy"; dz: "dt.dz"; ea: "dt.ea"; eb: "dt.eb"; ec: "dt.ec"; ed: "dt.ed"; ee: "dt.ee"; ef: "dt.ef"; eg: "dt.eg"; eh: "dt.eh"; ei: "dt.ei"; ej: "dt.ej"; ek: "dt.ek"; el: "dt.el"; em: "dt.em"; en: "dt.en"; eo: "dt.eo"; ep: "dt.ep"; eq: "dt.eq"; er: "dt.er"; es: "dt.es"; et: "dt.et"; eu: "dt.eu"; ev: "dt.ev"; ew: "dt.ew"; ex: "dt.ex"; ey: "dt.ey"; ez: "dt.ez"; fa: "dt.fa"; fb: "dt.fb"; fc: "dt.fc"; fd: "dt.fd"; fe: "dt.fe"; ff: "dt.ff"; fg: "dt.fg"; fh: "dt.fh"; fi: "dt.fi"; fj: "dt.fj"; fk: "dt.fk"; fl: "dt.fl"; fm: "dt.fm"; fn: "dt.fn"; fo: "dt.fo"; fp: "dt.fp"; fq: "dt.fq"; fr: "dt.fr"; fs: "dt.fs"; ft: "dt.ft"; fu: "dt.fu"; fv: "dt.fv"; fw: "dt.fw"; fx: "dt.fx"; fy: "dt.fy"; fz: "dt.fz"; ga: "dt.ga"; gb: "dt.gb"; gc: "dt.gc"; gd: "dt.gd"; ge: "dt.ge"; gf: "dt.gf"; gg: "dt.gg"; gh: "dt.gh"; gi: "dt.gi"; gj: "dt.gj"; gk: "dt.gk"; gl: "dt.gl"; gm: "dt.gm"; gn: "dt.gn"; go: "dt.go"; gp: "dt.gp"; gq: "dt.gq"; gr: "dt.gr"; gs: "dt.gs"; gt: "dt.gt"; gu: "dt.gu"; gv: "dt.gv"; gw: "dt.gw"; gx: "dt.gx"; gy: "dt.gy"; gz: "dt.gz"; ha: "dt.ha"; hb: "dt.hb"; hc: "dt.hc"; hd: "dt.hd"; he: "dt.he"; hf: "dt.hf"; hg: "dt.hg"; hh: "dt.hh"; hi: "dt.hi"; hj: "dt.hj"; hk: "dt.hk"; hl: "dt.hl"; hm: "dt.hm"; hn: "dt.hn"; ho: "dt.ho"; hp: "dt.hp"; hq: "dt.hq"; hr: "dt.hr"; hs: "dt.hs"; ht: "dt.ht"; hu: "dt.hu"; hv: "dt.hv"; hw: "dt.hw"; hx: "dt.hx"; hy: "dt.hy"; hz: "dt.hz"; ia: "dt.ia"; ib: "dt.ib"; ic: "dt.ic"; id: "dt.id"; ie: "dt.ie"; if: "dt.if"; ig: "dt.ig"; ih: "dt.ih"; ii: "dt.ii"; ij: "dt.ij"; ik: "dt.ik"; il: "dt.il"; im: "dt.im"; in: "dt.in"; io: "dt.io"; ip: "dt.ip"; iq: "dt.iq"; ir: "dt.ir"; is: "dt.is"; it: "dt.it"; iu: "dt.iu"; iv: "dt.iv"; iw: "dt.iw"; ix: "dt.ix"; iy: "dt.iy"; iz: "dt.iz"; ja: "dt.ja"; jb: "dt.jb"; jc: "dt.jc"; jd: "dt.jd"; je: "dt.je"; jf: "dt.jf"; jg: "dt.jg"; jh: "dt.jh"; ji: "dt.ji"; jj: "dt.jj"; jk: "dt.jk"; jl: "dt.jl"; jm: "dt.jm"; jn: "dt.jn"; jo: "dt.jo"; jp: "dt.jp"; jq: "dt.jq"; jr: "dt.jr"; js: "dt.js"; jt: "dt.jt"; ju: "dt.ju"; jv: "dt.jv"; jw: "dt.jw"; jx: "dt.jx"; jy: "dt.jy"; jz: "dt.jz"; ka: "dt.ka"; kb: "dt.kb"; kc: "dt.kc"; kd: "dt.kd"; ke: "dt.ke"; kf: "dt.kf"; kg: "dt.kg"; kh: "dt.kh"; ki: "dt.ki"; kj: "dt.kj"; kk: "dt.kk"; kl: "dt.kl"; km: "dt.km"; kn: "dt.kn"; ko: "dt.ko"; kp: "dt.kp"; kq: "dt.kq"; kr: "dt.kr"; ks: "dt.ks"; kt: "dt.kt"; ku: "dt.ku"; kv: "dt.kv"; kw: "dt.kw"; kx: "dt.kx"; ky: "dt.ky"; kz: "dt.kz"; la: "dt.la"; lb: "dt.lb"; lc: "dt.lc"; ld: "dt.ld"; le: "dt.le"; lf: "dt.lf"; lg: "dt.lg"; lh: "dt.lh"; li: "dt.li"; lj: "dt.lj"; lk: "dt.lk"; ll: "dt.ll"; lm: "dt.lm"; ln: "dt.ln"; lo: "dt.lo"; lp: "dt.lp"; lq: "dt.lq"; lr: "dt.lr"; ls: "dt.ls"; lt: "dt.lt"; lu: "dt.lu"; lv: "dt.lv"; lw: "dt.lw"; lx: "dt.lx"; ly: "dt.ly"; lz: "dt.lz"; ma: "dt.ma"; mb: "dt.mb"; mc: "dt.mc"; md: "dt.md"; me: "dt.me"; mf: "dt.mf"; mg: "dt.mg"; mh: "dt.mh"; mi: "dt.mi"; mj: "dt.mj"; mk: "dt.mk"; ml: "dt.ml"; mm: "dt.mm"; mn: "dt.mn"; mo: "dt.mo"; mp: "dt.mp"; mq: "dt.mq"; mr: "dt.mr"; ms: "dt.ms"; mt: "dt.mt"; mu: "dt.mu"; mv: "dt.mv"; mw: "dt.mw"; mx: "dt.mx"; my: "dt.my"; mz: "dt.mz"; na: "dt.na"; nb: "dt.nb"; nc: "dt.nc"; nd: "dt.nd"; ne: "dt.ne"; nf: "dt.nf"; ng: "dt.ng"; nh: "dt.nh"; ni: "dt.ni"; nj: "dt.nj"; nk: "dt.nk"; nl: "dt.nl"; nm: "dt.nm"; nn: "dt.nn"; no: "dt.no"; np: "dt.np"; nq: "dt.nq"; nr: "dt.nr"; ns: "dt.ns"; nt: "dt.nt"; nu: "dt.nu"; nv: "dt.nv"; nw: "dt.nw"; nx: "dt.nx"; ny: "dt.ny"; nz: "dt.nz"; oa: "dt.oa"; ob: "dt.ob"; oc: "dt.oc"; od: "dt.od"; oe: "dt.oe"; of: "dt.of"; og: "dt.og"; oh: "dt.oh"; oi: "dt.oi"; oj: "dt.oj"; ok: "dt.ok"; ol: "dt.ol"; om: "dt.om"; on: "dt.on"; oo: "dt.oo"; op: "dt.op"; oq: "dt.oq"; or: "dt.or"; os: "dt.os"; ot: "dt.ot"; ou: "dt.ou"; ov: "dt.ov"; ow: "dt.ow"; ox: "dt.ox"; oy: "dt.oy"; oz: "dt.oz"; pa: "dt.pa"; pb: "dt.pb"; pc: "dt.pc"; pd: "dt.pd"; pe: "dt.pe"; pf: "dt.pf"; pg: "dt.pg"; ph: "dt.ph"; pi: "dt.pi"; pj: "dt.pj"; pk: "dt.pk"; pl: "dt.pl"; pm: "dt.pm"; pn: "dt.pn"; po: "dt.po"; pp: "dt.pp"; pq: "dt.pq"; pr: "dt.pr"; ps: "dt.ps"; pt: "dt.pt"; pu: "dt.pu"; pv: "dt.pv"; pw: "dt.pw"; px: "dt.px"; py: "dt.py"; pz: "dt.pz"; qa: "dt.qa"; qb: "dt.qb"; qc: "dt.qc"; qd: "dt.qd"; qe: "dt.qe"; qf: "dt.qf"; qg: "dt.qg"; qh: "dt.qh"; qi: "dt.qi"; qj: "dt.qj"; qk: "dt.qk"; ql: "dt.ql"; qm: "dt.qm"; qn: "dt.qn"; qo: "dt.qo"; qp: "dt.qp"; qq: "dt.qq"; qr: "dt.qr"; qs: "dt.qs"; qt: "dt.qt"; qu: "dt.qu"; qv: "dt.qv"; qw: "dt.qw"; qx: "dt.qx"; qy: "dt.qy"; qz: "dt.qz"; ra: "dt.ra"; rb: "dt.rb"; rc: "dt.rc"; rd: "dt.rd"; re: "dt.re"; rf: "dt.rf"; rg: "dt.rg"; rh: "dt.rh"; ri: "dt.ri"; rj: "dt.rj"; rk: "dt.rk"; rl: "dt.rl"; rm: "dt.rm"; rn: "dt.rn"; ro: "dt.ro"; rp: "dt.rp"; rq: "dt.rq"; rr: "dt.rr"; rs: "dt.rs"; rt: "dt.rt"; ru: "dt.ru"; rv: "dt.rv"; rw: "dt.rw"; rx: "dt.rx"; ry: "dt.ry"; rz: "dt.rz"; sa: "dt.sa"; sb: "dt.sb"; sc: "dt.sc"; sd: "dt.sd"; se: "dt.se"; sf: "dt.sf"; sg: "dt.sg"; sh: "dt.sh"; si: "dt.si"; sj: "dt.sj"; sk: "dt.sk"; sl: "dt.sl"; sm: "dt.sm"; sn: "dt.sn"; so: "dt.so"; sp: "dt.sp"; sq: "dt.sq"; sr: "dt.sr"; ss: "dt.ss"; st: "dt.st"; su: "dt.su"; sv: "dt.sv"; sw: "dt.sw"; sx: "dt.sx"; sy: "dt.sy"; sz: "dt.sz"; ta: "dt.ta"; tb: "dt.tb"; tc: "dt.tc"; td: "dt.td"; te: "dt.te"; tf: "dt.tf"; tg: "dt.tg"; th: "dt.th"; ti: "dt.ti"; tj: "dt.tj"; tk: "dt.tk"; tl: "dt.tl"; tm: "dt.tm"; tn: "dt.tn"; to: "dt.to"; tp: "dt.tp"; tq: "dt.tq"; tr: "dt.tr"; ts: "dt.ts"; tt: "dt.tt"; tu: "dt.tu"; tv: "dt.tv"; tw: "dt.tw"; tx: "dt.tx"; ty: "dt.ty"; tz: "dt.tz"; ua: "dt.ua"; ub: "dt.ub"; uc: "dt.uc"; ud: "dt.ud"; ue: "dt.ue"; uf: "dt.uf"; ug: "dt.ug"; uh: "dt.uh"; ui: "dt.ui"; uj: "dt.uj"; uk: "dt.uk"; ul: "dt.ul"; um: "dt.um"; un: "dt.un"; uo: "dt.uo"; up: "dt.up"; uq: "dt.uq"; ur: "dt.ur"; us: "dt.us"; ut: "dt.ut"; uu: "dt.uu"; uv: "dt.uv"; uw: "dt.uw"; ux: "dt.ux"; uy: "dt.uy"; uz: "dt.uz"; va: "dt.va"; vb: "dt.vb"; vc: "dt.vc"; vd: "dt.vd"; ve: "dt.ve"; vf: "dt.vf"; vg: "dt.vg"; vh: "dt.vh"; vi: "dt.vi"; vj: "dt.vj"; vk: "dt.vk"; vl: "dt.vl"; vm: "dt.vm"; vn: "dt.vn"; vo: "dt.vo"; vp: "dt.vp"; vq: "dt.vq"; vr: "dt.vr"; vs: "dt.vs"; vt: "dt.vt"; vu: "dt.vu"; vv: "dt.vv"; vw: "dt.vw"; vx: "dt.vx"; vy: "dt.vy"; vz: "dt.vz"; wa: "dt.wa"; wb: "dt.wb"; wc: "dt.wc"; wd: "dt.wd"; we: "dt.we"; wf: "dt.wf"; wg: "dt.wg"; wh: "dt.wh"; wi: "dt.wi"; wj: "dt.wj"; wk: "dt.wk"; wl: "dt.wl"; wm: "dt.wm"; wn: "dt.wn"; wo: "dt.wo"; wp: "dt.wp"; wq: "dt.wq"; wr: "dt.wr"; ws: "dt.ws"; wt: "dt.wt"; wu: "dt.wu"; wv: "dt.wv"; ww: "dt.ww"; wx: "dt.wx"; wy: "dt.wy"; wz: "dt.wz"; xa: "dt.xa"; xb: "dt.xb"; xc: "dt.xc"; xd: "dt.xd"; xe: "dt.xe"; xf: "dt.xf"; xg: "dt.xg"; xh: "dt.xh"; xi: "dt.xi"; xj: "dt.xj"; xk: "dt.xk"; xl: "dt.xl"; xm: "dt.xm"; xn: "dt.xn"; xo: "dt.xo"; xp: "dt.xp"; xq: "dt.xq"; xr: "dt.xr"; xs: "dt.xs"; xt: "dt.xt"; xu: "dt.xu"; xv: "dt.xv"; xw: "dt.xw"; xx: "dt.xx"; xy: "dt.xy"; xz: "dt.xz"; ya: "dt.ya"; yb: "dt.yb"; yc: "dt.yc"; yd: "dt.yd"; ye: "dt.ye"; yf: "dt.yf"; yg: "dt.yg"; yh: "dt.yh"; yi: "dt.yi"; yj: "dt.yj"; yk: "dt.yk"; yl: "dt.yl"; ym: "dt.ym"; yn: "dt.yn"; yo: "dt.yo"; yp: "dt.yp"; yq: "dt.yq"; yr: "dt.yr"; ys: "dt.ys"; yt: "dt.yt"; yu: "dt.yu"; yv: "dt.yv"; yw: "dt.yw"; yx: "dt.yx"; yy: "dt.yy"; yz: "dt.yz"; za: "dt.za"; zb: "dt.zb"; zc: "dt.zc"; zd: "dt.zd"; ze: "dt.ze"; zf: "dt.zf"; zg: "dt.zg"; zh: "dt.zh"; zi: "dt.zi"; zj: "dt.zj"; zk: "dt.zk"; zl: "dt.zl"; zm: "dt.zm"; zn: "dt.zn"; zo: "dt.zo"; zp: "dt.zp"; zq: "dt.zq"; zr: "dt.zr"; zs: "dt.zs"; zt: "dt.zt"; zu: "dt.zu"; zv: "dt.zv"; zw: "dt.zw"; zx: "dt.zx"; zy: "dt.zy"; zz: "dt.zz"; }; du: { aa: "du.aa"; ab: "du.ab"; ac: "du.ac"; ad: "du.ad"; ae: "du.ae"; af: "du.af"; ag: "du.ag"; ah: "du.ah"; ai: "du.ai"; aj: "du.aj"; ak: "du.ak"; al: "du.al"; am: "du.am"; an: "du.an"; ao: "du.ao"; ap: "du.ap"; aq: "du.aq"; ar: "du.ar"; as: "du.as"; at: "du.at"; au: "du.au"; av: "du.av"; aw: "du.aw"; ax: "du.ax"; ay: "du.ay"; az: "du.az"; ba: "du.ba"; bb: "du.bb"; bc: "du.bc"; bd: "du.bd"; be: "du.be"; bf: "du.bf"; bg: "du.bg"; bh: "du.bh"; bi: "du.bi"; bj: "du.bj"; bk: "du.bk"; bl: "du.bl"; bm: "du.bm"; bn: "du.bn"; bo: "du.bo"; bp: "du.bp"; bq: "du.bq"; br: "du.br"; bs: "du.bs"; bt: "du.bt"; bu: "du.bu"; bv: "du.bv"; bw: "du.bw"; bx: "du.bx"; by: "du.by"; bz: "du.bz"; ca: "du.ca"; cb: "du.cb"; cc: "du.cc"; cd: "du.cd"; ce: "du.ce"; cf: "du.cf"; cg: "du.cg"; ch: "du.ch"; ci: "du.ci"; cj: "du.cj"; ck: "du.ck"; cl: "du.cl"; cm: "du.cm"; cn: "du.cn"; co: "du.co"; cp: "du.cp"; cq: "du.cq"; cr: "du.cr"; cs: "du.cs"; ct: "du.ct"; cu: "du.cu"; cv: "du.cv"; cw: "du.cw"; cx: "du.cx"; cy: "du.cy"; cz: "du.cz"; da: "du.da"; db: "du.db"; dc: "du.dc"; dd: "du.dd"; de: "du.de"; df: "du.df"; dg: "du.dg"; dh: "du.dh"; di: "du.di"; dj: "du.dj"; dk: "du.dk"; dl: "du.dl"; dm: "du.dm"; dn: "du.dn"; do: "du.do"; dp: "du.dp"; dq: "du.dq"; dr: "du.dr"; ds: "du.ds"; dt: "du.dt"; du: "du.du"; dv: "du.dv"; dw: "du.dw"; dx: "du.dx"; dy: "du.dy"; dz: "du.dz"; ea: "du.ea"; eb: "du.eb"; ec: "du.ec"; ed: "du.ed"; ee: "du.ee"; ef: "du.ef"; eg: "du.eg"; eh: "du.eh"; ei: "du.ei"; ej: "du.ej"; ek: "du.ek"; el: "du.el"; em: "du.em"; en: "du.en"; eo: "du.eo"; ep: "du.ep"; eq: "du.eq"; er: "du.er"; es: "du.es"; et: "du.et"; eu: "du.eu"; ev: "du.ev"; ew: "du.ew"; ex: "du.ex"; ey: "du.ey"; ez: "du.ez"; fa: "du.fa"; fb: "du.fb"; fc: "du.fc"; fd: "du.fd"; fe: "du.fe"; ff: "du.ff"; fg: "du.fg"; fh: "du.fh"; fi: "du.fi"; fj: "du.fj"; fk: "du.fk"; fl: "du.fl"; fm: "du.fm"; fn: "du.fn"; fo: "du.fo"; fp: "du.fp"; fq: "du.fq"; fr: "du.fr"; fs: "du.fs"; ft: "du.ft"; fu: "du.fu"; fv: "du.fv"; fw: "du.fw"; fx: "du.fx"; fy: "du.fy"; fz: "du.fz"; ga: "du.ga"; gb: "du.gb"; gc: "du.gc"; gd: "du.gd"; ge: "du.ge"; gf: "du.gf"; gg: "du.gg"; gh: "du.gh"; gi: "du.gi"; gj: "du.gj"; gk: "du.gk"; gl: "du.gl"; gm: "du.gm"; gn: "du.gn"; go: "du.go"; gp: "du.gp"; gq: "du.gq"; gr: "du.gr"; gs: "du.gs"; gt: "du.gt"; gu: "du.gu"; gv: "du.gv"; gw: "du.gw"; gx: "du.gx"; gy: "du.gy"; gz: "du.gz"; ha: "du.ha"; hb: "du.hb"; hc: "du.hc"; hd: "du.hd"; he: "du.he"; hf: "du.hf"; hg: "du.hg"; hh: "du.hh"; hi: "du.hi"; hj: "du.hj"; hk: "du.hk"; hl: "du.hl"; hm: "du.hm"; hn: "du.hn"; ho: "du.ho"; hp: "du.hp"; hq: "du.hq"; hr: "du.hr"; hs: "du.hs"; ht: "du.ht"; hu: "du.hu"; hv: "du.hv"; hw: "du.hw"; hx: "du.hx"; hy: "du.hy"; hz: "du.hz"; ia: "du.ia"; ib: "du.ib"; ic: "du.ic"; id: "du.id"; ie: "du.ie"; if: "du.if"; ig: "du.ig"; ih: "du.ih"; ii: "du.ii"; ij: "du.ij"; ik: "du.ik"; il: "du.il"; im: "du.im"; in: "du.in"; io: "du.io"; ip: "du.ip"; iq: "du.iq"; ir: "du.ir"; is: "du.is"; it: "du.it"; iu: "du.iu"; iv: "du.iv"; iw: "du.iw"; ix: "du.ix"; iy: "du.iy"; iz: "du.iz"; ja: "du.ja"; jb: "du.jb"; jc: "du.jc"; jd: "du.jd"; je: "du.je"; jf: "du.jf"; jg: "du.jg"; jh: "du.jh"; ji: "du.ji"; jj: "du.jj"; jk: "du.jk"; jl: "du.jl"; jm: "du.jm"; jn: "du.jn"; jo: "du.jo"; jp: "du.jp"; jq: "du.jq"; jr: "du.jr"; js: "du.js"; jt: "du.jt"; ju: "du.ju"; jv: "du.jv"; jw: "du.jw"; jx: "du.jx"; jy: "du.jy"; jz: "du.jz"; ka: "du.ka"; kb: "du.kb"; kc: "du.kc"; kd: "du.kd"; ke: "du.ke"; kf: "du.kf"; kg: "du.kg"; kh: "du.kh"; ki: "du.ki"; kj: "du.kj"; kk: "du.kk"; kl: "du.kl"; km: "du.km"; kn: "du.kn"; ko: "du.ko"; kp: "du.kp"; kq: "du.kq"; kr: "du.kr"; ks: "du.ks"; kt: "du.kt"; ku: "du.ku"; kv: "du.kv"; kw: "du.kw"; kx: "du.kx"; ky: "du.ky"; kz: "du.kz"; la: "du.la"; lb: "du.lb"; lc: "du.lc"; ld: "du.ld"; le: "du.le"; lf: "du.lf"; lg: "du.lg"; lh: "du.lh"; li: "du.li"; lj: "du.lj"; lk: "du.lk"; ll: "du.ll"; lm: "du.lm"; ln: "du.ln"; lo: "du.lo"; lp: "du.lp"; lq: "du.lq"; lr: "du.lr"; ls: "du.ls"; lt: "du.lt"; lu: "du.lu"; lv: "du.lv"; lw: "du.lw"; lx: "du.lx"; ly: "du.ly"; lz: "du.lz"; ma: "du.ma"; mb: "du.mb"; mc: "du.mc"; md: "du.md"; me: "du.me"; mf: "du.mf"; mg: "du.mg"; mh: "du.mh"; mi: "du.mi"; mj: "du.mj"; mk: "du.mk"; ml: "du.ml"; mm: "du.mm"; mn: "du.mn"; mo: "du.mo"; mp: "du.mp"; mq: "du.mq"; mr: "du.mr"; ms: "du.ms"; mt: "du.mt"; mu: "du.mu"; mv: "du.mv"; mw: "du.mw"; mx: "du.mx"; my: "du.my"; mz: "du.mz"; na: "du.na"; nb: "du.nb"; nc: "du.nc"; nd: "du.nd"; ne: "du.ne"; nf: "du.nf"; ng: "du.ng"; nh: "du.nh"; ni: "du.ni"; nj: "du.nj"; nk: "du.nk"; nl: "du.nl"; nm: "du.nm"; nn: "du.nn"; no: "du.no"; np: "du.np"; nq: "du.nq"; nr: "du.nr"; ns: "du.ns"; nt: "du.nt"; nu: "du.nu"; nv: "du.nv"; nw: "du.nw"; nx: "du.nx"; ny: "du.ny"; nz: "du.nz"; oa: "du.oa"; ob: "du.ob"; oc: "du.oc"; od: "du.od"; oe: "du.oe"; of: "du.of"; og: "du.og"; oh: "du.oh"; oi: "du.oi"; oj: "du.oj"; ok: "du.ok"; ol: "du.ol"; om: "du.om"; on: "du.on"; oo: "du.oo"; op: "du.op"; oq: "du.oq"; or: "du.or"; os: "du.os"; ot: "du.ot"; ou: "du.ou"; ov: "du.ov"; ow: "du.ow"; ox: "du.ox"; oy: "du.oy"; oz: "du.oz"; pa: "du.pa"; pb: "du.pb"; pc: "du.pc"; pd: "du.pd"; pe: "du.pe"; pf: "du.pf"; pg: "du.pg"; ph: "du.ph"; pi: "du.pi"; pj: "du.pj"; pk: "du.pk"; pl: "du.pl"; pm: "du.pm"; pn: "du.pn"; po: "du.po"; pp: "du.pp"; pq: "du.pq"; pr: "du.pr"; ps: "du.ps"; pt: "du.pt"; pu: "du.pu"; pv: "du.pv"; pw: "du.pw"; px: "du.px"; py: "du.py"; pz: "du.pz"; qa: "du.qa"; qb: "du.qb"; qc: "du.qc"; qd: "du.qd"; qe: "du.qe"; qf: "du.qf"; qg: "du.qg"; qh: "du.qh"; qi: "du.qi"; qj: "du.qj"; qk: "du.qk"; ql: "du.ql"; qm: "du.qm"; qn: "du.qn"; qo: "du.qo"; qp: "du.qp"; qq: "du.qq"; qr: "du.qr"; qs: "du.qs"; qt: "du.qt"; qu: "du.qu"; qv: "du.qv"; qw: "du.qw"; qx: "du.qx"; qy: "du.qy"; qz: "du.qz"; ra: "du.ra"; rb: "du.rb"; rc: "du.rc"; rd: "du.rd"; re: "du.re"; rf: "du.rf"; rg: "du.rg"; rh: "du.rh"; ri: "du.ri"; rj: "du.rj"; rk: "du.rk"; rl: "du.rl"; rm: "du.rm"; rn: "du.rn"; ro: "du.ro"; rp: "du.rp"; rq: "du.rq"; rr: "du.rr"; rs: "du.rs"; rt: "du.rt"; ru: "du.ru"; rv: "du.rv"; rw: "du.rw"; rx: "du.rx"; ry: "du.ry"; rz: "du.rz"; sa: "du.sa"; sb: "du.sb"; sc: "du.sc"; sd: "du.sd"; se: "du.se"; sf: "du.sf"; sg: "du.sg"; sh: "du.sh"; si: "du.si"; sj: "du.sj"; sk: "du.sk"; sl: "du.sl"; sm: "du.sm"; sn: "du.sn"; so: "du.so"; sp: "du.sp"; sq: "du.sq"; sr: "du.sr"; ss: "du.ss"; st: "du.st"; su: "du.su"; sv: "du.sv"; sw: "du.sw"; sx: "du.sx"; sy: "du.sy"; sz: "du.sz"; ta: "du.ta"; tb: "du.tb"; tc: "du.tc"; td: "du.td"; te: "du.te"; tf: "du.tf"; tg: "du.tg"; th: "du.th"; ti: "du.ti"; tj: "du.tj"; tk: "du.tk"; tl: "du.tl"; tm: "du.tm"; tn: "du.tn"; to: "du.to"; tp: "du.tp"; tq: "du.tq"; tr: "du.tr"; ts: "du.ts"; tt: "du.tt"; tu: "du.tu"; tv: "du.tv"; tw: "du.tw"; tx: "du.tx"; ty: "du.ty"; tz: "du.tz"; ua: "du.ua"; ub: "du.ub"; uc: "du.uc"; ud: "du.ud"; ue: "du.ue"; uf: "du.uf"; ug: "du.ug"; uh: "du.uh"; ui: "du.ui"; uj: "du.uj"; uk: "du.uk"; ul: "du.ul"; um: "du.um"; un: "du.un"; uo: "du.uo"; up: "du.up"; uq: "du.uq"; ur: "du.ur"; us: "du.us"; ut: "du.ut"; uu: "du.uu"; uv: "du.uv"; uw: "du.uw"; ux: "du.ux"; uy: "du.uy"; uz: "du.uz"; va: "du.va"; vb: "du.vb"; vc: "du.vc"; vd: "du.vd"; ve: "du.ve"; vf: "du.vf"; vg: "du.vg"; vh: "du.vh"; vi: "du.vi"; vj: "du.vj"; vk: "du.vk"; vl: "du.vl"; vm: "du.vm"; vn: "du.vn"; vo: "du.vo"; vp: "du.vp"; vq: "du.vq"; vr: "du.vr"; vs: "du.vs"; vt: "du.vt"; vu: "du.vu"; vv: "du.vv"; vw: "du.vw"; vx: "du.vx"; vy: "du.vy"; vz: "du.vz"; wa: "du.wa"; wb: "du.wb"; wc: "du.wc"; wd: "du.wd"; we: "du.we"; wf: "du.wf"; wg: "du.wg"; wh: "du.wh"; wi: "du.wi"; wj: "du.wj"; wk: "du.wk"; wl: "du.wl"; wm: "du.wm"; wn: "du.wn"; wo: "du.wo"; wp: "du.wp"; wq: "du.wq"; wr: "du.wr"; ws: "du.ws"; wt: "du.wt"; wu: "du.wu"; wv: "du.wv"; ww: "du.ww"; wx: "du.wx"; wy: "du.wy"; wz: "du.wz"; xa: "du.xa"; xb: "du.xb"; xc: "du.xc"; xd: "du.xd"; xe: "du.xe"; xf: "du.xf"; xg: "du.xg"; xh: "du.xh"; xi: "du.xi"; xj: "du.xj"; xk: "du.xk"; xl: "du.xl"; xm: "du.xm"; xn: "du.xn"; xo: "du.xo"; xp: "du.xp"; xq: "du.xq"; xr: "du.xr"; xs: "du.xs"; xt: "du.xt"; xu: "du.xu"; xv: "du.xv"; xw: "du.xw"; xx: "du.xx"; xy: "du.xy"; xz: "du.xz"; ya: "du.ya"; yb: "du.yb"; yc: "du.yc"; yd: "du.yd"; ye: "du.ye"; yf: "du.yf"; yg: "du.yg"; yh: "du.yh"; yi: "du.yi"; yj: "du.yj"; yk: "du.yk"; yl: "du.yl"; ym: "du.ym"; yn: "du.yn"; yo: "du.yo"; yp: "du.yp"; yq: "du.yq"; yr: "du.yr"; ys: "du.ys"; yt: "du.yt"; yu: "du.yu"; yv: "du.yv"; yw: "du.yw"; yx: "du.yx"; yy: "du.yy"; yz: "du.yz"; za: "du.za"; zb: "du.zb"; zc: "du.zc"; zd: "du.zd"; ze: "du.ze"; zf: "du.zf"; zg: "du.zg"; zh: "du.zh"; zi: "du.zi"; zj: "du.zj"; zk: "du.zk"; zl: "du.zl"; zm: "du.zm"; zn: "du.zn"; zo: "du.zo"; zp: "du.zp"; zq: "du.zq"; zr: "du.zr"; zs: "du.zs"; zt: "du.zt"; zu: "du.zu"; zv: "du.zv"; zw: "du.zw"; zx: "du.zx"; zy: "du.zy"; zz: "du.zz"; }; dv: { aa: "dv.aa"; ab: "dv.ab"; ac: "dv.ac"; ad: "dv.ad"; ae: "dv.ae"; af: "dv.af"; ag: "dv.ag"; ah: "dv.ah"; ai: "dv.ai"; aj: "dv.aj"; ak: "dv.ak"; al: "dv.al"; am: "dv.am"; an: "dv.an"; ao: "dv.ao"; ap: "dv.ap"; aq: "dv.aq"; ar: "dv.ar"; as: "dv.as"; at: "dv.at"; au: "dv.au"; av: "dv.av"; aw: "dv.aw"; ax: "dv.ax"; ay: "dv.ay"; az: "dv.az"; ba: "dv.ba"; bb: "dv.bb"; bc: "dv.bc"; bd: "dv.bd"; be: "dv.be"; bf: "dv.bf"; bg: "dv.bg"; bh: "dv.bh"; bi: "dv.bi"; bj: "dv.bj"; bk: "dv.bk"; bl: "dv.bl"; bm: "dv.bm"; bn: "dv.bn"; bo: "dv.bo"; bp: "dv.bp"; bq: "dv.bq"; br: "dv.br"; bs: "dv.bs"; bt: "dv.bt"; bu: "dv.bu"; bv: "dv.bv"; bw: "dv.bw"; bx: "dv.bx"; by: "dv.by"; bz: "dv.bz"; ca: "dv.ca"; cb: "dv.cb"; cc: "dv.cc"; cd: "dv.cd"; ce: "dv.ce"; cf: "dv.cf"; cg: "dv.cg"; ch: "dv.ch"; ci: "dv.ci"; cj: "dv.cj"; ck: "dv.ck"; cl: "dv.cl"; cm: "dv.cm"; cn: "dv.cn"; co: "dv.co"; cp: "dv.cp"; cq: "dv.cq"; cr: "dv.cr"; cs: "dv.cs"; ct: "dv.ct"; cu: "dv.cu"; cv: "dv.cv"; cw: "dv.cw"; cx: "dv.cx"; cy: "dv.cy"; cz: "dv.cz"; da: "dv.da"; db: "dv.db"; dc: "dv.dc"; dd: "dv.dd"; de: "dv.de"; df: "dv.df"; dg: "dv.dg"; dh: "dv.dh"; di: "dv.di"; dj: "dv.dj"; dk: "dv.dk"; dl: "dv.dl"; dm: "dv.dm"; dn: "dv.dn"; do: "dv.do"; dp: "dv.dp"; dq: "dv.dq"; dr: "dv.dr"; ds: "dv.ds"; dt: "dv.dt"; du: "dv.du"; dv: "dv.dv"; dw: "dv.dw"; dx: "dv.dx"; dy: "dv.dy"; dz: "dv.dz"; ea: "dv.ea"; eb: "dv.eb"; ec: "dv.ec"; ed: "dv.ed"; ee: "dv.ee"; ef: "dv.ef"; eg: "dv.eg"; eh: "dv.eh"; ei: "dv.ei"; ej: "dv.ej"; ek: "dv.ek"; el: "dv.el"; em: "dv.em"; en: "dv.en"; eo: "dv.eo"; ep: "dv.ep"; eq: "dv.eq"; er: "dv.er"; es: "dv.es"; et: "dv.et"; eu: "dv.eu"; ev: "dv.ev"; ew: "dv.ew"; ex: "dv.ex"; ey: "dv.ey"; ez: "dv.ez"; fa: "dv.fa"; fb: "dv.fb"; fc: "dv.fc"; fd: "dv.fd"; fe: "dv.fe"; ff: "dv.ff"; fg: "dv.fg"; fh: "dv.fh"; fi: "dv.fi"; fj: "dv.fj"; fk: "dv.fk"; fl: "dv.fl"; fm: "dv.fm"; fn: "dv.fn"; fo: "dv.fo"; fp: "dv.fp"; fq: "dv.fq"; fr: "dv.fr"; fs: "dv.fs"; ft: "dv.ft"; fu: "dv.fu"; fv: "dv.fv"; fw: "dv.fw"; fx: "dv.fx"; fy: "dv.fy"; fz: "dv.fz"; ga: "dv.ga"; gb: "dv.gb"; gc: "dv.gc"; gd: "dv.gd"; ge: "dv.ge"; gf: "dv.gf"; gg: "dv.gg"; gh: "dv.gh"; gi: "dv.gi"; gj: "dv.gj"; gk: "dv.gk"; gl: "dv.gl"; gm: "dv.gm"; gn: "dv.gn"; go: "dv.go"; gp: "dv.gp"; gq: "dv.gq"; gr: "dv.gr"; gs: "dv.gs"; gt: "dv.gt"; gu: "dv.gu"; gv: "dv.gv"; gw: "dv.gw"; gx: "dv.gx"; gy: "dv.gy"; gz: "dv.gz"; ha: "dv.ha"; hb: "dv.hb"; hc: "dv.hc"; hd: "dv.hd"; he: "dv.he"; hf: "dv.hf"; hg: "dv.hg"; hh: "dv.hh"; hi: "dv.hi"; hj: "dv.hj"; hk: "dv.hk"; hl: "dv.hl"; hm: "dv.hm"; hn: "dv.hn"; ho: "dv.ho"; hp: "dv.hp"; hq: "dv.hq"; hr: "dv.hr"; hs: "dv.hs"; ht: "dv.ht"; hu: "dv.hu"; hv: "dv.hv"; hw: "dv.hw"; hx: "dv.hx"; hy: "dv.hy"; hz: "dv.hz"; ia: "dv.ia"; ib: "dv.ib"; ic: "dv.ic"; id: "dv.id"; ie: "dv.ie"; if: "dv.if"; ig: "dv.ig"; ih: "dv.ih"; ii: "dv.ii"; ij: "dv.ij"; ik: "dv.ik"; il: "dv.il"; im: "dv.im"; in: "dv.in"; io: "dv.io"; ip: "dv.ip"; iq: "dv.iq"; ir: "dv.ir"; is: "dv.is"; it: "dv.it"; iu: "dv.iu"; iv: "dv.iv"; iw: "dv.iw"; ix: "dv.ix"; iy: "dv.iy"; iz: "dv.iz"; ja: "dv.ja"; jb: "dv.jb"; jc: "dv.jc"; jd: "dv.jd"; je: "dv.je"; jf: "dv.jf"; jg: "dv.jg"; jh: "dv.jh"; ji: "dv.ji"; jj: "dv.jj"; jk: "dv.jk"; jl: "dv.jl"; jm: "dv.jm"; jn: "dv.jn"; jo: "dv.jo"; jp: "dv.jp"; jq: "dv.jq"; jr: "dv.jr"; js: "dv.js"; jt: "dv.jt"; ju: "dv.ju"; jv: "dv.jv"; jw: "dv.jw"; jx: "dv.jx"; jy: "dv.jy"; jz: "dv.jz"; ka: "dv.ka"; kb: "dv.kb"; kc: "dv.kc"; kd: "dv.kd"; ke: "dv.ke"; kf: "dv.kf"; kg: "dv.kg"; kh: "dv.kh"; ki: "dv.ki"; kj: "dv.kj"; kk: "dv.kk"; kl: "dv.kl"; km: "dv.km"; kn: "dv.kn"; ko: "dv.ko"; kp: "dv.kp"; kq: "dv.kq"; kr: "dv.kr"; ks: "dv.ks"; kt: "dv.kt"; ku: "dv.ku"; kv: "dv.kv"; kw: "dv.kw"; kx: "dv.kx"; ky: "dv.ky"; kz: "dv.kz"; la: "dv.la"; lb: "dv.lb"; lc: "dv.lc"; ld: "dv.ld"; le: "dv.le"; lf: "dv.lf"; lg: "dv.lg"; lh: "dv.lh"; li: "dv.li"; lj: "dv.lj"; lk: "dv.lk"; ll: "dv.ll"; lm: "dv.lm"; ln: "dv.ln"; lo: "dv.lo"; lp: "dv.lp"; lq: "dv.lq"; lr: "dv.lr"; ls: "dv.ls"; lt: "dv.lt"; lu: "dv.lu"; lv: "dv.lv"; lw: "dv.lw"; lx: "dv.lx"; ly: "dv.ly"; lz: "dv.lz"; ma: "dv.ma"; mb: "dv.mb"; mc: "dv.mc"; md: "dv.md"; me: "dv.me"; mf: "dv.mf"; mg: "dv.mg"; mh: "dv.mh"; mi: "dv.mi"; mj: "dv.mj"; mk: "dv.mk"; ml: "dv.ml"; mm: "dv.mm"; mn: "dv.mn"; mo: "dv.mo"; mp: "dv.mp"; mq: "dv.mq"; mr: "dv.mr"; ms: "dv.ms"; mt: "dv.mt"; mu: "dv.mu"; mv: "dv.mv"; mw: "dv.mw"; mx: "dv.mx"; my: "dv.my"; mz: "dv.mz"; na: "dv.na"; nb: "dv.nb"; nc: "dv.nc"; nd: "dv.nd"; ne: "dv.ne"; nf: "dv.nf"; ng: "dv.ng"; nh: "dv.nh"; ni: "dv.ni"; nj: "dv.nj"; nk: "dv.nk"; nl: "dv.nl"; nm: "dv.nm"; nn: "dv.nn"; no: "dv.no"; np: "dv.np"; nq: "dv.nq"; nr: "dv.nr"; ns: "dv.ns"; nt: "dv.nt"; nu: "dv.nu"; nv: "dv.nv"; nw: "dv.nw"; nx: "dv.nx"; ny: "dv.ny"; nz: "dv.nz"; oa: "dv.oa"; ob: "dv.ob"; oc: "dv.oc"; od: "dv.od"; oe: "dv.oe"; of: "dv.of"; og: "dv.og"; oh: "dv.oh"; oi: "dv.oi"; oj: "dv.oj"; ok: "dv.ok"; ol: "dv.ol"; om: "dv.om"; on: "dv.on"; oo: "dv.oo"; op: "dv.op"; oq: "dv.oq"; or: "dv.or"; os: "dv.os"; ot: "dv.ot"; ou: "dv.ou"; ov: "dv.ov"; ow: "dv.ow"; ox: "dv.ox"; oy: "dv.oy"; oz: "dv.oz"; pa: "dv.pa"; pb: "dv.pb"; pc: "dv.pc"; pd: "dv.pd"; pe: "dv.pe"; pf: "dv.pf"; pg: "dv.pg"; ph: "dv.ph"; pi: "dv.pi"; pj: "dv.pj"; pk: "dv.pk"; pl: "dv.pl"; pm: "dv.pm"; pn: "dv.pn"; po: "dv.po"; pp: "dv.pp"; pq: "dv.pq"; pr: "dv.pr"; ps: "dv.ps"; pt: "dv.pt"; pu: "dv.pu"; pv: "dv.pv"; pw: "dv.pw"; px: "dv.px"; py: "dv.py"; pz: "dv.pz"; qa: "dv.qa"; qb: "dv.qb"; qc: "dv.qc"; qd: "dv.qd"; qe: "dv.qe"; qf: "dv.qf"; qg: "dv.qg"; qh: "dv.qh"; qi: "dv.qi"; qj: "dv.qj"; qk: "dv.qk"; ql: "dv.ql"; qm: "dv.qm"; qn: "dv.qn"; qo: "dv.qo"; qp: "dv.qp"; qq: "dv.qq"; qr: "dv.qr"; qs: "dv.qs"; qt: "dv.qt"; qu: "dv.qu"; qv: "dv.qv"; qw: "dv.qw"; qx: "dv.qx"; qy: "dv.qy"; qz: "dv.qz"; ra: "dv.ra"; rb: "dv.rb"; rc: "dv.rc"; rd: "dv.rd"; re: "dv.re"; rf: "dv.rf"; rg: "dv.rg"; rh: "dv.rh"; ri: "dv.ri"; rj: "dv.rj"; rk: "dv.rk"; rl: "dv.rl"; rm: "dv.rm"; rn: "dv.rn"; ro: "dv.ro"; rp: "dv.rp"; rq: "dv.rq"; rr: "dv.rr"; rs: "dv.rs"; rt: "dv.rt"; ru: "dv.ru"; rv: "dv.rv"; rw: "dv.rw"; rx: "dv.rx"; ry: "dv.ry"; rz: "dv.rz"; sa: "dv.sa"; sb: "dv.sb"; sc: "dv.sc"; sd: "dv.sd"; se: "dv.se"; sf: "dv.sf"; sg: "dv.sg"; sh: "dv.sh"; si: "dv.si"; sj: "dv.sj"; sk: "dv.sk"; sl: "dv.sl"; sm: "dv.sm"; sn: "dv.sn"; so: "dv.so"; sp: "dv.sp"; sq: "dv.sq"; sr: "dv.sr"; ss: "dv.ss"; st: "dv.st"; su: "dv.su"; sv: "dv.sv"; sw: "dv.sw"; sx: "dv.sx"; sy: "dv.sy"; sz: "dv.sz"; ta: "dv.ta"; tb: "dv.tb"; tc: "dv.tc"; td: "dv.td"; te: "dv.te"; tf: "dv.tf"; tg: "dv.tg"; th: "dv.th"; ti: "dv.ti"; tj: "dv.tj"; tk: "dv.tk"; tl: "dv.tl"; tm: "dv.tm"; tn: "dv.tn"; to: "dv.to"; tp: "dv.tp"; tq: "dv.tq"; tr: "dv.tr"; ts: "dv.ts"; tt: "dv.tt"; tu: "dv.tu"; tv: "dv.tv"; tw: "dv.tw"; tx: "dv.tx"; ty: "dv.ty"; tz: "dv.tz"; ua: "dv.ua"; ub: "dv.ub"; uc: "dv.uc"; ud: "dv.ud"; ue: "dv.ue"; uf: "dv.uf"; ug: "dv.ug"; uh: "dv.uh"; ui: "dv.ui"; uj: "dv.uj"; uk: "dv.uk"; ul: "dv.ul"; um: "dv.um"; un: "dv.un"; uo: "dv.uo"; up: "dv.up"; uq: "dv.uq"; ur: "dv.ur"; us: "dv.us"; ut: "dv.ut"; uu: "dv.uu"; uv: "dv.uv"; uw: "dv.uw"; ux: "dv.ux"; uy: "dv.uy"; uz: "dv.uz"; va: "dv.va"; vb: "dv.vb"; vc: "dv.vc"; vd: "dv.vd"; ve: "dv.ve"; vf: "dv.vf"; vg: "dv.vg"; vh: "dv.vh"; vi: "dv.vi"; vj: "dv.vj"; vk: "dv.vk"; vl: "dv.vl"; vm: "dv.vm"; vn: "dv.vn"; vo: "dv.vo"; vp: "dv.vp"; vq: "dv.vq"; vr: "dv.vr"; vs: "dv.vs"; vt: "dv.vt"; vu: "dv.vu"; vv: "dv.vv"; vw: "dv.vw"; vx: "dv.vx"; vy: "dv.vy"; vz: "dv.vz"; wa: "dv.wa"; wb: "dv.wb"; wc: "dv.wc"; wd: "dv.wd"; we: "dv.we"; wf: "dv.wf"; wg: "dv.wg"; wh: "dv.wh"; wi: "dv.wi"; wj: "dv.wj"; wk: "dv.wk"; wl: "dv.wl"; wm: "dv.wm"; wn: "dv.wn"; wo: "dv.wo"; wp: "dv.wp"; wq: "dv.wq"; wr: "dv.wr"; ws: "dv.ws"; wt: "dv.wt"; wu: "dv.wu"; wv: "dv.wv"; ww: "dv.ww"; wx: "dv.wx"; wy: "dv.wy"; wz: "dv.wz"; xa: "dv.xa"; xb: "dv.xb"; xc: "dv.xc"; xd: "dv.xd"; xe: "dv.xe"; xf: "dv.xf"; xg: "dv.xg"; xh: "dv.xh"; xi: "dv.xi"; xj: "dv.xj"; xk: "dv.xk"; xl: "dv.xl"; xm: "dv.xm"; xn: "dv.xn"; xo: "dv.xo"; xp: "dv.xp"; xq: "dv.xq"; xr: "dv.xr"; xs: "dv.xs"; xt: "dv.xt"; xu: "dv.xu"; xv: "dv.xv"; xw: "dv.xw"; xx: "dv.xx"; xy: "dv.xy"; xz: "dv.xz"; ya: "dv.ya"; yb: "dv.yb"; yc: "dv.yc"; yd: "dv.yd"; ye: "dv.ye"; yf: "dv.yf"; yg: "dv.yg"; yh: "dv.yh"; yi: "dv.yi"; yj: "dv.yj"; yk: "dv.yk"; yl: "dv.yl"; ym: "dv.ym"; yn: "dv.yn"; yo: "dv.yo"; yp: "dv.yp"; yq: "dv.yq"; yr: "dv.yr"; ys: "dv.ys"; yt: "dv.yt"; yu: "dv.yu"; yv: "dv.yv"; yw: "dv.yw"; yx: "dv.yx"; yy: "dv.yy"; yz: "dv.yz"; za: "dv.za"; zb: "dv.zb"; zc: "dv.zc"; zd: "dv.zd"; ze: "dv.ze"; zf: "dv.zf"; zg: "dv.zg"; zh: "dv.zh"; zi: "dv.zi"; zj: "dv.zj"; zk: "dv.zk"; zl: "dv.zl"; zm: "dv.zm"; zn: "dv.zn"; zo: "dv.zo"; zp: "dv.zp"; zq: "dv.zq"; zr: "dv.zr"; zs: "dv.zs"; zt: "dv.zt"; zu: "dv.zu"; zv: "dv.zv"; zw: "dv.zw"; zx: "dv.zx"; zy: "dv.zy"; zz: "dv.zz"; }; dw: { aa: "dw.aa"; ab: "dw.ab"; ac: "dw.ac"; ad: "dw.ad"; ae: "dw.ae"; af: "dw.af"; ag: "dw.ag"; ah: "dw.ah"; ai: "dw.ai"; aj: "dw.aj"; ak: "dw.ak"; al: "dw.al"; am: "dw.am"; an: "dw.an"; ao: "dw.ao"; ap: "dw.ap"; aq: "dw.aq"; ar: "dw.ar"; as: "dw.as"; at: "dw.at"; au: "dw.au"; av: "dw.av"; aw: "dw.aw"; ax: "dw.ax"; ay: "dw.ay"; az: "dw.az"; ba: "dw.ba"; bb: "dw.bb"; bc: "dw.bc"; bd: "dw.bd"; be: "dw.be"; bf: "dw.bf"; bg: "dw.bg"; bh: "dw.bh"; bi: "dw.bi"; bj: "dw.bj"; bk: "dw.bk"; bl: "dw.bl"; bm: "dw.bm"; bn: "dw.bn"; bo: "dw.bo"; bp: "dw.bp"; bq: "dw.bq"; br: "dw.br"; bs: "dw.bs"; bt: "dw.bt"; bu: "dw.bu"; bv: "dw.bv"; bw: "dw.bw"; bx: "dw.bx"; by: "dw.by"; bz: "dw.bz"; ca: "dw.ca"; cb: "dw.cb"; cc: "dw.cc"; cd: "dw.cd"; ce: "dw.ce"; cf: "dw.cf"; cg: "dw.cg"; ch: "dw.ch"; ci: "dw.ci"; cj: "dw.cj"; ck: "dw.ck"; cl: "dw.cl"; cm: "dw.cm"; cn: "dw.cn"; co: "dw.co"; cp: "dw.cp"; cq: "dw.cq"; cr: "dw.cr"; cs: "dw.cs"; ct: "dw.ct"; cu: "dw.cu"; cv: "dw.cv"; cw: "dw.cw"; cx: "dw.cx"; cy: "dw.cy"; cz: "dw.cz"; da: "dw.da"; db: "dw.db"; dc: "dw.dc"; dd: "dw.dd"; de: "dw.de"; df: "dw.df"; dg: "dw.dg"; dh: "dw.dh"; di: "dw.di"; dj: "dw.dj"; dk: "dw.dk"; dl: "dw.dl"; dm: "dw.dm"; dn: "dw.dn"; do: "dw.do"; dp: "dw.dp"; dq: "dw.dq"; dr: "dw.dr"; ds: "dw.ds"; dt: "dw.dt"; du: "dw.du"; dv: "dw.dv"; dw: "dw.dw"; dx: "dw.dx"; dy: "dw.dy"; dz: "dw.dz"; ea: "dw.ea"; eb: "dw.eb"; ec: "dw.ec"; ed: "dw.ed"; ee: "dw.ee"; ef: "dw.ef"; eg: "dw.eg"; eh: "dw.eh"; ei: "dw.ei"; ej: "dw.ej"; ek: "dw.ek"; el: "dw.el"; em: "dw.em"; en: "dw.en"; eo: "dw.eo"; ep: "dw.ep"; eq: "dw.eq"; er: "dw.er"; es: "dw.es"; et: "dw.et"; eu: "dw.eu"; ev: "dw.ev"; ew: "dw.ew"; ex: "dw.ex"; ey: "dw.ey"; ez: "dw.ez"; fa: "dw.fa"; fb: "dw.fb"; fc: "dw.fc"; fd: "dw.fd"; fe: "dw.fe"; ff: "dw.ff"; fg: "dw.fg"; fh: "dw.fh"; fi: "dw.fi"; fj: "dw.fj"; fk: "dw.fk"; fl: "dw.fl"; fm: "dw.fm"; fn: "dw.fn"; fo: "dw.fo"; fp: "dw.fp"; fq: "dw.fq"; fr: "dw.fr"; fs: "dw.fs"; ft: "dw.ft"; fu: "dw.fu"; fv: "dw.fv"; fw: "dw.fw"; fx: "dw.fx"; fy: "dw.fy"; fz: "dw.fz"; ga: "dw.ga"; gb: "dw.gb"; gc: "dw.gc"; gd: "dw.gd"; ge: "dw.ge"; gf: "dw.gf"; gg: "dw.gg"; gh: "dw.gh"; gi: "dw.gi"; gj: "dw.gj"; gk: "dw.gk"; gl: "dw.gl"; gm: "dw.gm"; gn: "dw.gn"; go: "dw.go"; gp: "dw.gp"; gq: "dw.gq"; gr: "dw.gr"; gs: "dw.gs"; gt: "dw.gt"; gu: "dw.gu"; gv: "dw.gv"; gw: "dw.gw"; gx: "dw.gx"; gy: "dw.gy"; gz: "dw.gz"; ha: "dw.ha"; hb: "dw.hb"; hc: "dw.hc"; hd: "dw.hd"; he: "dw.he"; hf: "dw.hf"; hg: "dw.hg"; hh: "dw.hh"; hi: "dw.hi"; hj: "dw.hj"; hk: "dw.hk"; hl: "dw.hl"; hm: "dw.hm"; hn: "dw.hn"; ho: "dw.ho"; hp: "dw.hp"; hq: "dw.hq"; hr: "dw.hr"; hs: "dw.hs"; ht: "dw.ht"; hu: "dw.hu"; hv: "dw.hv"; hw: "dw.hw"; hx: "dw.hx"; hy: "dw.hy"; hz: "dw.hz"; ia: "dw.ia"; ib: "dw.ib"; ic: "dw.ic"; id: "dw.id"; ie: "dw.ie"; if: "dw.if"; ig: "dw.ig"; ih: "dw.ih"; ii: "dw.ii"; ij: "dw.ij"; ik: "dw.ik"; il: "dw.il"; im: "dw.im"; in: "dw.in"; io: "dw.io"; ip: "dw.ip"; iq: "dw.iq"; ir: "dw.ir"; is: "dw.is"; it: "dw.it"; iu: "dw.iu"; iv: "dw.iv"; iw: "dw.iw"; ix: "dw.ix"; iy: "dw.iy"; iz: "dw.iz"; ja: "dw.ja"; jb: "dw.jb"; jc: "dw.jc"; jd: "dw.jd"; je: "dw.je"; jf: "dw.jf"; jg: "dw.jg"; jh: "dw.jh"; ji: "dw.ji"; jj: "dw.jj"; jk: "dw.jk"; jl: "dw.jl"; jm: "dw.jm"; jn: "dw.jn"; jo: "dw.jo"; jp: "dw.jp"; jq: "dw.jq"; jr: "dw.jr"; js: "dw.js"; jt: "dw.jt"; ju: "dw.ju"; jv: "dw.jv"; jw: "dw.jw"; jx: "dw.jx"; jy: "dw.jy"; jz: "dw.jz"; ka: "dw.ka"; kb: "dw.kb"; kc: "dw.kc"; kd: "dw.kd"; ke: "dw.ke"; kf: "dw.kf"; kg: "dw.kg"; kh: "dw.kh"; ki: "dw.ki"; kj: "dw.kj"; kk: "dw.kk"; kl: "dw.kl"; km: "dw.km"; kn: "dw.kn"; ko: "dw.ko"; kp: "dw.kp"; kq: "dw.kq"; kr: "dw.kr"; ks: "dw.ks"; kt: "dw.kt"; ku: "dw.ku"; kv: "dw.kv"; kw: "dw.kw"; kx: "dw.kx"; ky: "dw.ky"; kz: "dw.kz"; la: "dw.la"; lb: "dw.lb"; lc: "dw.lc"; ld: "dw.ld"; le: "dw.le"; lf: "dw.lf"; lg: "dw.lg"; lh: "dw.lh"; li: "dw.li"; lj: "dw.lj"; lk: "dw.lk"; ll: "dw.ll"; lm: "dw.lm"; ln: "dw.ln"; lo: "dw.lo"; lp: "dw.lp"; lq: "dw.lq"; lr: "dw.lr"; ls: "dw.ls"; lt: "dw.lt"; lu: "dw.lu"; lv: "dw.lv"; lw: "dw.lw"; lx: "dw.lx"; ly: "dw.ly"; lz: "dw.lz"; ma: "dw.ma"; mb: "dw.mb"; mc: "dw.mc"; md: "dw.md"; me: "dw.me"; mf: "dw.mf"; mg: "dw.mg"; mh: "dw.mh"; mi: "dw.mi"; mj: "dw.mj"; mk: "dw.mk"; ml: "dw.ml"; mm: "dw.mm"; mn: "dw.mn"; mo: "dw.mo"; mp: "dw.mp"; mq: "dw.mq"; mr: "dw.mr"; ms: "dw.ms"; mt: "dw.mt"; mu: "dw.mu"; mv: "dw.mv"; mw: "dw.mw"; mx: "dw.mx"; my: "dw.my"; mz: "dw.mz"; na: "dw.na"; nb: "dw.nb"; nc: "dw.nc"; nd: "dw.nd"; ne: "dw.ne"; nf: "dw.nf"; ng: "dw.ng"; nh: "dw.nh"; ni: "dw.ni"; nj: "dw.nj"; nk: "dw.nk"; nl: "dw.nl"; nm: "dw.nm"; nn: "dw.nn"; no: "dw.no"; np: "dw.np"; nq: "dw.nq"; nr: "dw.nr"; ns: "dw.ns"; nt: "dw.nt"; nu: "dw.nu"; nv: "dw.nv"; nw: "dw.nw"; nx: "dw.nx"; ny: "dw.ny"; nz: "dw.nz"; oa: "dw.oa"; ob: "dw.ob"; oc: "dw.oc"; od: "dw.od"; oe: "dw.oe"; of: "dw.of"; og: "dw.og"; oh: "dw.oh"; oi: "dw.oi"; oj: "dw.oj"; ok: "dw.ok"; ol: "dw.ol"; om: "dw.om"; on: "dw.on"; oo: "dw.oo"; op: "dw.op"; oq: "dw.oq"; or: "dw.or"; os: "dw.os"; ot: "dw.ot"; ou: "dw.ou"; ov: "dw.ov"; ow: "dw.ow"; ox: "dw.ox"; oy: "dw.oy"; oz: "dw.oz"; pa: "dw.pa"; pb: "dw.pb"; pc: "dw.pc"; pd: "dw.pd"; pe: "dw.pe"; pf: "dw.pf"; pg: "dw.pg"; ph: "dw.ph"; pi: "dw.pi"; pj: "dw.pj"; pk: "dw.pk"; pl: "dw.pl"; pm: "dw.pm"; pn: "dw.pn"; po: "dw.po"; pp: "dw.pp"; pq: "dw.pq"; pr: "dw.pr"; ps: "dw.ps"; pt: "dw.pt"; pu: "dw.pu"; pv: "dw.pv"; pw: "dw.pw"; px: "dw.px"; py: "dw.py"; pz: "dw.pz"; qa: "dw.qa"; qb: "dw.qb"; qc: "dw.qc"; qd: "dw.qd"; qe: "dw.qe"; qf: "dw.qf"; qg: "dw.qg"; qh: "dw.qh"; qi: "dw.qi"; qj: "dw.qj"; qk: "dw.qk"; ql: "dw.ql"; qm: "dw.qm"; qn: "dw.qn"; qo: "dw.qo"; qp: "dw.qp"; qq: "dw.qq"; qr: "dw.qr"; qs: "dw.qs"; qt: "dw.qt"; qu: "dw.qu"; qv: "dw.qv"; qw: "dw.qw"; qx: "dw.qx"; qy: "dw.qy"; qz: "dw.qz"; ra: "dw.ra"; rb: "dw.rb"; rc: "dw.rc"; rd: "dw.rd"; re: "dw.re"; rf: "dw.rf"; rg: "dw.rg"; rh: "dw.rh"; ri: "dw.ri"; rj: "dw.rj"; rk: "dw.rk"; rl: "dw.rl"; rm: "dw.rm"; rn: "dw.rn"; ro: "dw.ro"; rp: "dw.rp"; rq: "dw.rq"; rr: "dw.rr"; rs: "dw.rs"; rt: "dw.rt"; ru: "dw.ru"; rv: "dw.rv"; rw: "dw.rw"; rx: "dw.rx"; ry: "dw.ry"; rz: "dw.rz"; sa: "dw.sa"; sb: "dw.sb"; sc: "dw.sc"; sd: "dw.sd"; se: "dw.se"; sf: "dw.sf"; sg: "dw.sg"; sh: "dw.sh"; si: "dw.si"; sj: "dw.sj"; sk: "dw.sk"; sl: "dw.sl"; sm: "dw.sm"; sn: "dw.sn"; so: "dw.so"; sp: "dw.sp"; sq: "dw.sq"; sr: "dw.sr"; ss: "dw.ss"; st: "dw.st"; su: "dw.su"; sv: "dw.sv"; sw: "dw.sw"; sx: "dw.sx"; sy: "dw.sy"; sz: "dw.sz"; ta: "dw.ta"; tb: "dw.tb"; tc: "dw.tc"; td: "dw.td"; te: "dw.te"; tf: "dw.tf"; tg: "dw.tg"; th: "dw.th"; ti: "dw.ti"; tj: "dw.tj"; tk: "dw.tk"; tl: "dw.tl"; tm: "dw.tm"; tn: "dw.tn"; to: "dw.to"; tp: "dw.tp"; tq: "dw.tq"; tr: "dw.tr"; ts: "dw.ts"; tt: "dw.tt"; tu: "dw.tu"; tv: "dw.tv"; tw: "dw.tw"; tx: "dw.tx"; ty: "dw.ty"; tz: "dw.tz"; ua: "dw.ua"; ub: "dw.ub"; uc: "dw.uc"; ud: "dw.ud"; ue: "dw.ue"; uf: "dw.uf"; ug: "dw.ug"; uh: "dw.uh"; ui: "dw.ui"; uj: "dw.uj"; uk: "dw.uk"; ul: "dw.ul"; um: "dw.um"; un: "dw.un"; uo: "dw.uo"; up: "dw.up"; uq: "dw.uq"; ur: "dw.ur"; us: "dw.us"; ut: "dw.ut"; uu: "dw.uu"; uv: "dw.uv"; uw: "dw.uw"; ux: "dw.ux"; uy: "dw.uy"; uz: "dw.uz"; va: "dw.va"; vb: "dw.vb"; vc: "dw.vc"; vd: "dw.vd"; ve: "dw.ve"; vf: "dw.vf"; vg: "dw.vg"; vh: "dw.vh"; vi: "dw.vi"; vj: "dw.vj"; vk: "dw.vk"; vl: "dw.vl"; vm: "dw.vm"; vn: "dw.vn"; vo: "dw.vo"; vp: "dw.vp"; vq: "dw.vq"; vr: "dw.vr"; vs: "dw.vs"; vt: "dw.vt"; vu: "dw.vu"; vv: "dw.vv"; vw: "dw.vw"; vx: "dw.vx"; vy: "dw.vy"; vz: "dw.vz"; wa: "dw.wa"; wb: "dw.wb"; wc: "dw.wc"; wd: "dw.wd"; we: "dw.we"; wf: "dw.wf"; wg: "dw.wg"; wh: "dw.wh"; wi: "dw.wi"; wj: "dw.wj"; wk: "dw.wk"; wl: "dw.wl"; wm: "dw.wm"; wn: "dw.wn"; wo: "dw.wo"; wp: "dw.wp"; wq: "dw.wq"; wr: "dw.wr"; ws: "dw.ws"; wt: "dw.wt"; wu: "dw.wu"; wv: "dw.wv"; ww: "dw.ww"; wx: "dw.wx"; wy: "dw.wy"; wz: "dw.wz"; xa: "dw.xa"; xb: "dw.xb"; xc: "dw.xc"; xd: "dw.xd"; xe: "dw.xe"; xf: "dw.xf"; xg: "dw.xg"; xh: "dw.xh"; xi: "dw.xi"; xj: "dw.xj"; xk: "dw.xk"; xl: "dw.xl"; xm: "dw.xm"; xn: "dw.xn"; xo: "dw.xo"; xp: "dw.xp"; xq: "dw.xq"; xr: "dw.xr"; xs: "dw.xs"; xt: "dw.xt"; xu: "dw.xu"; xv: "dw.xv"; xw: "dw.xw"; xx: "dw.xx"; xy: "dw.xy"; xz: "dw.xz"; ya: "dw.ya"; yb: "dw.yb"; yc: "dw.yc"; yd: "dw.yd"; ye: "dw.ye"; yf: "dw.yf"; yg: "dw.yg"; yh: "dw.yh"; yi: "dw.yi"; yj: "dw.yj"; yk: "dw.yk"; yl: "dw.yl"; ym: "dw.ym"; yn: "dw.yn"; yo: "dw.yo"; yp: "dw.yp"; yq: "dw.yq"; yr: "dw.yr"; ys: "dw.ys"; yt: "dw.yt"; yu: "dw.yu"; yv: "dw.yv"; yw: "dw.yw"; yx: "dw.yx"; yy: "dw.yy"; yz: "dw.yz"; za: "dw.za"; zb: "dw.zb"; zc: "dw.zc"; zd: "dw.zd"; ze: "dw.ze"; zf: "dw.zf"; zg: "dw.zg"; zh: "dw.zh"; zi: "dw.zi"; zj: "dw.zj"; zk: "dw.zk"; zl: "dw.zl"; zm: "dw.zm"; zn: "dw.zn"; zo: "dw.zo"; zp: "dw.zp"; zq: "dw.zq"; zr: "dw.zr"; zs: "dw.zs"; zt: "dw.zt"; zu: "dw.zu"; zv: "dw.zv"; zw: "dw.zw"; zx: "dw.zx"; zy: "dw.zy"; zz: "dw.zz"; }; dx: { aa: "dx.aa"; ab: "dx.ab"; ac: "dx.ac"; ad: "dx.ad"; ae: "dx.ae"; af: "dx.af"; ag: "dx.ag"; ah: "dx.ah"; ai: "dx.ai"; aj: "dx.aj"; ak: "dx.ak"; al: "dx.al"; am: "dx.am"; an: "dx.an"; ao: "dx.ao"; ap: "dx.ap"; aq: "dx.aq"; ar: "dx.ar"; as: "dx.as"; at: "dx.at"; au: "dx.au"; av: "dx.av"; aw: "dx.aw"; ax: "dx.ax"; ay: "dx.ay"; az: "dx.az"; ba: "dx.ba"; bb: "dx.bb"; bc: "dx.bc"; bd: "dx.bd"; be: "dx.be"; bf: "dx.bf"; bg: "dx.bg"; bh: "dx.bh"; bi: "dx.bi"; bj: "dx.bj"; bk: "dx.bk"; bl: "dx.bl"; bm: "dx.bm"; bn: "dx.bn"; bo: "dx.bo"; bp: "dx.bp"; bq: "dx.bq"; br: "dx.br"; bs: "dx.bs"; bt: "dx.bt"; bu: "dx.bu"; bv: "dx.bv"; bw: "dx.bw"; bx: "dx.bx"; by: "dx.by"; bz: "dx.bz"; ca: "dx.ca"; cb: "dx.cb"; cc: "dx.cc"; cd: "dx.cd"; ce: "dx.ce"; cf: "dx.cf"; cg: "dx.cg"; ch: "dx.ch"; ci: "dx.ci"; cj: "dx.cj"; ck: "dx.ck"; cl: "dx.cl"; cm: "dx.cm"; cn: "dx.cn"; co: "dx.co"; cp: "dx.cp"; cq: "dx.cq"; cr: "dx.cr"; cs: "dx.cs"; ct: "dx.ct"; cu: "dx.cu"; cv: "dx.cv"; cw: "dx.cw"; cx: "dx.cx"; cy: "dx.cy"; cz: "dx.cz"; da: "dx.da"; db: "dx.db"; dc: "dx.dc"; dd: "dx.dd"; de: "dx.de"; df: "dx.df"; dg: "dx.dg"; dh: "dx.dh"; di: "dx.di"; dj: "dx.dj"; dk: "dx.dk"; dl: "dx.dl"; dm: "dx.dm"; dn: "dx.dn"; do: "dx.do"; dp: "dx.dp"; dq: "dx.dq"; dr: "dx.dr"; ds: "dx.ds"; dt: "dx.dt"; du: "dx.du"; dv: "dx.dv"; dw: "dx.dw"; dx: "dx.dx"; dy: "dx.dy"; dz: "dx.dz"; ea: "dx.ea"; eb: "dx.eb"; ec: "dx.ec"; ed: "dx.ed"; ee: "dx.ee"; ef: "dx.ef"; eg: "dx.eg"; eh: "dx.eh"; ei: "dx.ei"; ej: "dx.ej"; ek: "dx.ek"; el: "dx.el"; em: "dx.em"; en: "dx.en"; eo: "dx.eo"; ep: "dx.ep"; eq: "dx.eq"; er: "dx.er"; es: "dx.es"; et: "dx.et"; eu: "dx.eu"; ev: "dx.ev"; ew: "dx.ew"; ex: "dx.ex"; ey: "dx.ey"; ez: "dx.ez"; fa: "dx.fa"; fb: "dx.fb"; fc: "dx.fc"; fd: "dx.fd"; fe: "dx.fe"; ff: "dx.ff"; fg: "dx.fg"; fh: "dx.fh"; fi: "dx.fi"; fj: "dx.fj"; fk: "dx.fk"; fl: "dx.fl"; fm: "dx.fm"; fn: "dx.fn"; fo: "dx.fo"; fp: "dx.fp"; fq: "dx.fq"; fr: "dx.fr"; fs: "dx.fs"; ft: "dx.ft"; fu: "dx.fu"; fv: "dx.fv"; fw: "dx.fw"; fx: "dx.fx"; fy: "dx.fy"; fz: "dx.fz"; ga: "dx.ga"; gb: "dx.gb"; gc: "dx.gc"; gd: "dx.gd"; ge: "dx.ge"; gf: "dx.gf"; gg: "dx.gg"; gh: "dx.gh"; gi: "dx.gi"; gj: "dx.gj"; gk: "dx.gk"; gl: "dx.gl"; gm: "dx.gm"; gn: "dx.gn"; go: "dx.go"; gp: "dx.gp"; gq: "dx.gq"; gr: "dx.gr"; gs: "dx.gs"; gt: "dx.gt"; gu: "dx.gu"; gv: "dx.gv"; gw: "dx.gw"; gx: "dx.gx"; gy: "dx.gy"; gz: "dx.gz"; ha: "dx.ha"; hb: "dx.hb"; hc: "dx.hc"; hd: "dx.hd"; he: "dx.he"; hf: "dx.hf"; hg: "dx.hg"; hh: "dx.hh"; hi: "dx.hi"; hj: "dx.hj"; hk: "dx.hk"; hl: "dx.hl"; hm: "dx.hm"; hn: "dx.hn"; ho: "dx.ho"; hp: "dx.hp"; hq: "dx.hq"; hr: "dx.hr"; hs: "dx.hs"; ht: "dx.ht"; hu: "dx.hu"; hv: "dx.hv"; hw: "dx.hw"; hx: "dx.hx"; hy: "dx.hy"; hz: "dx.hz"; ia: "dx.ia"; ib: "dx.ib"; ic: "dx.ic"; id: "dx.id"; ie: "dx.ie"; if: "dx.if"; ig: "dx.ig"; ih: "dx.ih"; ii: "dx.ii"; ij: "dx.ij"; ik: "dx.ik"; il: "dx.il"; im: "dx.im"; in: "dx.in"; io: "dx.io"; ip: "dx.ip"; iq: "dx.iq"; ir: "dx.ir"; is: "dx.is"; it: "dx.it"; iu: "dx.iu"; iv: "dx.iv"; iw: "dx.iw"; ix: "dx.ix"; iy: "dx.iy"; iz: "dx.iz"; ja: "dx.ja"; jb: "dx.jb"; jc: "dx.jc"; jd: "dx.jd"; je: "dx.je"; jf: "dx.jf"; jg: "dx.jg"; jh: "dx.jh"; ji: "dx.ji"; jj: "dx.jj"; jk: "dx.jk"; jl: "dx.jl"; jm: "dx.jm"; jn: "dx.jn"; jo: "dx.jo"; jp: "dx.jp"; jq: "dx.jq"; jr: "dx.jr"; js: "dx.js"; jt: "dx.jt"; ju: "dx.ju"; jv: "dx.jv"; jw: "dx.jw"; jx: "dx.jx"; jy: "dx.jy"; jz: "dx.jz"; ka: "dx.ka"; kb: "dx.kb"; kc: "dx.kc"; kd: "dx.kd"; ke: "dx.ke"; kf: "dx.kf"; kg: "dx.kg"; kh: "dx.kh"; ki: "dx.ki"; kj: "dx.kj"; kk: "dx.kk"; kl: "dx.kl"; km: "dx.km"; kn: "dx.kn"; ko: "dx.ko"; kp: "dx.kp"; kq: "dx.kq"; kr: "dx.kr"; ks: "dx.ks"; kt: "dx.kt"; ku: "dx.ku"; kv: "dx.kv"; kw: "dx.kw"; kx: "dx.kx"; ky: "dx.ky"; kz: "dx.kz"; la: "dx.la"; lb: "dx.lb"; lc: "dx.lc"; ld: "dx.ld"; le: "dx.le"; lf: "dx.lf"; lg: "dx.lg"; lh: "dx.lh"; li: "dx.li"; lj: "dx.lj"; lk: "dx.lk"; ll: "dx.ll"; lm: "dx.lm"; ln: "dx.ln"; lo: "dx.lo"; lp: "dx.lp"; lq: "dx.lq"; lr: "dx.lr"; ls: "dx.ls"; lt: "dx.lt"; lu: "dx.lu"; lv: "dx.lv"; lw: "dx.lw"; lx: "dx.lx"; ly: "dx.ly"; lz: "dx.lz"; ma: "dx.ma"; mb: "dx.mb"; mc: "dx.mc"; md: "dx.md"; me: "dx.me"; mf: "dx.mf"; mg: "dx.mg"; mh: "dx.mh"; mi: "dx.mi"; mj: "dx.mj"; mk: "dx.mk"; ml: "dx.ml"; mm: "dx.mm"; mn: "dx.mn"; mo: "dx.mo"; mp: "dx.mp"; mq: "dx.mq"; mr: "dx.mr"; ms: "dx.ms"; mt: "dx.mt"; mu: "dx.mu"; mv: "dx.mv"; mw: "dx.mw"; mx: "dx.mx"; my: "dx.my"; mz: "dx.mz"; na: "dx.na"; nb: "dx.nb"; nc: "dx.nc"; nd: "dx.nd"; ne: "dx.ne"; nf: "dx.nf"; ng: "dx.ng"; nh: "dx.nh"; ni: "dx.ni"; nj: "dx.nj"; nk: "dx.nk"; nl: "dx.nl"; nm: "dx.nm"; nn: "dx.nn"; no: "dx.no"; np: "dx.np"; nq: "dx.nq"; nr: "dx.nr"; ns: "dx.ns"; nt: "dx.nt"; nu: "dx.nu"; nv: "dx.nv"; nw: "dx.nw"; nx: "dx.nx"; ny: "dx.ny"; nz: "dx.nz"; oa: "dx.oa"; ob: "dx.ob"; oc: "dx.oc"; od: "dx.od"; oe: "dx.oe"; of: "dx.of"; og: "dx.og"; oh: "dx.oh"; oi: "dx.oi"; oj: "dx.oj"; ok: "dx.ok"; ol: "dx.ol"; om: "dx.om"; on: "dx.on"; oo: "dx.oo"; op: "dx.op"; oq: "dx.oq"; or: "dx.or"; os: "dx.os"; ot: "dx.ot"; ou: "dx.ou"; ov: "dx.ov"; ow: "dx.ow"; ox: "dx.ox"; oy: "dx.oy"; oz: "dx.oz"; pa: "dx.pa"; pb: "dx.pb"; pc: "dx.pc"; pd: "dx.pd"; pe: "dx.pe"; pf: "dx.pf"; pg: "dx.pg"; ph: "dx.ph"; pi: "dx.pi"; pj: "dx.pj"; pk: "dx.pk"; pl: "dx.pl"; pm: "dx.pm"; pn: "dx.pn"; po: "dx.po"; pp: "dx.pp"; pq: "dx.pq"; pr: "dx.pr"; ps: "dx.ps"; pt: "dx.pt"; pu: "dx.pu"; pv: "dx.pv"; pw: "dx.pw"; px: "dx.px"; py: "dx.py"; pz: "dx.pz"; qa: "dx.qa"; qb: "dx.qb"; qc: "dx.qc"; qd: "dx.qd"; qe: "dx.qe"; qf: "dx.qf"; qg: "dx.qg"; qh: "dx.qh"; qi: "dx.qi"; qj: "dx.qj"; qk: "dx.qk"; ql: "dx.ql"; qm: "dx.qm"; qn: "dx.qn"; qo: "dx.qo"; qp: "dx.qp"; qq: "dx.qq"; qr: "dx.qr"; qs: "dx.qs"; qt: "dx.qt"; qu: "dx.qu"; qv: "dx.qv"; qw: "dx.qw"; qx: "dx.qx"; qy: "dx.qy"; qz: "dx.qz"; ra: "dx.ra"; rb: "dx.rb"; rc: "dx.rc"; rd: "dx.rd"; re: "dx.re"; rf: "dx.rf"; rg: "dx.rg"; rh: "dx.rh"; ri: "dx.ri"; rj: "dx.rj"; rk: "dx.rk"; rl: "dx.rl"; rm: "dx.rm"; rn: "dx.rn"; ro: "dx.ro"; rp: "dx.rp"; rq: "dx.rq"; rr: "dx.rr"; rs: "dx.rs"; rt: "dx.rt"; ru: "dx.ru"; rv: "dx.rv"; rw: "dx.rw"; rx: "dx.rx"; ry: "dx.ry"; rz: "dx.rz"; sa: "dx.sa"; sb: "dx.sb"; sc: "dx.sc"; sd: "dx.sd"; se: "dx.se"; sf: "dx.sf"; sg: "dx.sg"; sh: "dx.sh"; si: "dx.si"; sj: "dx.sj"; sk: "dx.sk"; sl: "dx.sl"; sm: "dx.sm"; sn: "dx.sn"; so: "dx.so"; sp: "dx.sp"; sq: "dx.sq"; sr: "dx.sr"; ss: "dx.ss"; st: "dx.st"; su: "dx.su"; sv: "dx.sv"; sw: "dx.sw"; sx: "dx.sx"; sy: "dx.sy"; sz: "dx.sz"; ta: "dx.ta"; tb: "dx.tb"; tc: "dx.tc"; td: "dx.td"; te: "dx.te"; tf: "dx.tf"; tg: "dx.tg"; th: "dx.th"; ti: "dx.ti"; tj: "dx.tj"; tk: "dx.tk"; tl: "dx.tl"; tm: "dx.tm"; tn: "dx.tn"; to: "dx.to"; tp: "dx.tp"; tq: "dx.tq"; tr: "dx.tr"; ts: "dx.ts"; tt: "dx.tt"; tu: "dx.tu"; tv: "dx.tv"; tw: "dx.tw"; tx: "dx.tx"; ty: "dx.ty"; tz: "dx.tz"; ua: "dx.ua"; ub: "dx.ub"; uc: "dx.uc"; ud: "dx.ud"; ue: "dx.ue"; uf: "dx.uf"; ug: "dx.ug"; uh: "dx.uh"; ui: "dx.ui"; uj: "dx.uj"; uk: "dx.uk"; ul: "dx.ul"; um: "dx.um"; un: "dx.un"; uo: "dx.uo"; up: "dx.up"; uq: "dx.uq"; ur: "dx.ur"; us: "dx.us"; ut: "dx.ut"; uu: "dx.uu"; uv: "dx.uv"; uw: "dx.uw"; ux: "dx.ux"; uy: "dx.uy"; uz: "dx.uz"; va: "dx.va"; vb: "dx.vb"; vc: "dx.vc"; vd: "dx.vd"; ve: "dx.ve"; vf: "dx.vf"; vg: "dx.vg"; vh: "dx.vh"; vi: "dx.vi"; vj: "dx.vj"; vk: "dx.vk"; vl: "dx.vl"; vm: "dx.vm"; vn: "dx.vn"; vo: "dx.vo"; vp: "dx.vp"; vq: "dx.vq"; vr: "dx.vr"; vs: "dx.vs"; vt: "dx.vt"; vu: "dx.vu"; vv: "dx.vv"; vw: "dx.vw"; vx: "dx.vx"; vy: "dx.vy"; vz: "dx.vz"; wa: "dx.wa"; wb: "dx.wb"; wc: "dx.wc"; wd: "dx.wd"; we: "dx.we"; wf: "dx.wf"; wg: "dx.wg"; wh: "dx.wh"; wi: "dx.wi"; wj: "dx.wj"; wk: "dx.wk"; wl: "dx.wl"; wm: "dx.wm"; wn: "dx.wn"; wo: "dx.wo"; wp: "dx.wp"; wq: "dx.wq"; wr: "dx.wr"; ws: "dx.ws"; wt: "dx.wt"; wu: "dx.wu"; wv: "dx.wv"; ww: "dx.ww"; wx: "dx.wx"; wy: "dx.wy"; wz: "dx.wz"; xa: "dx.xa"; xb: "dx.xb"; xc: "dx.xc"; xd: "dx.xd"; xe: "dx.xe"; xf: "dx.xf"; xg: "dx.xg"; xh: "dx.xh"; xi: "dx.xi"; xj: "dx.xj"; xk: "dx.xk"; xl: "dx.xl"; xm: "dx.xm"; xn: "dx.xn"; xo: "dx.xo"; xp: "dx.xp"; xq: "dx.xq"; xr: "dx.xr"; xs: "dx.xs"; xt: "dx.xt"; xu: "dx.xu"; xv: "dx.xv"; xw: "dx.xw"; xx: "dx.xx"; xy: "dx.xy"; xz: "dx.xz"; ya: "dx.ya"; yb: "dx.yb"; yc: "dx.yc"; yd: "dx.yd"; ye: "dx.ye"; yf: "dx.yf"; yg: "dx.yg"; yh: "dx.yh"; yi: "dx.yi"; yj: "dx.yj"; yk: "dx.yk"; yl: "dx.yl"; ym: "dx.ym"; yn: "dx.yn"; yo: "dx.yo"; yp: "dx.yp"; yq: "dx.yq"; yr: "dx.yr"; ys: "dx.ys"; yt: "dx.yt"; yu: "dx.yu"; yv: "dx.yv"; yw: "dx.yw"; yx: "dx.yx"; yy: "dx.yy"; yz: "dx.yz"; za: "dx.za"; zb: "dx.zb"; zc: "dx.zc"; zd: "dx.zd"; ze: "dx.ze"; zf: "dx.zf"; zg: "dx.zg"; zh: "dx.zh"; zi: "dx.zi"; zj: "dx.zj"; zk: "dx.zk"; zl: "dx.zl"; zm: "dx.zm"; zn: "dx.zn"; zo: "dx.zo"; zp: "dx.zp"; zq: "dx.zq"; zr: "dx.zr"; zs: "dx.zs"; zt: "dx.zt"; zu: "dx.zu"; zv: "dx.zv"; zw: "dx.zw"; zx: "dx.zx"; zy: "dx.zy"; zz: "dx.zz"; }; dy: { aa: "dy.aa"; ab: "dy.ab"; ac: "dy.ac"; ad: "dy.ad"; ae: "dy.ae"; af: "dy.af"; ag: "dy.ag"; ah: "dy.ah"; ai: "dy.ai"; aj: "dy.aj"; ak: "dy.ak"; al: "dy.al"; am: "dy.am"; an: "dy.an"; ao: "dy.ao"; ap: "dy.ap"; aq: "dy.aq"; ar: "dy.ar"; as: "dy.as"; at: "dy.at"; au: "dy.au"; av: "dy.av"; aw: "dy.aw"; ax: "dy.ax"; ay: "dy.ay"; az: "dy.az"; ba: "dy.ba"; bb: "dy.bb"; bc: "dy.bc"; bd: "dy.bd"; be: "dy.be"; bf: "dy.bf"; bg: "dy.bg"; bh: "dy.bh"; bi: "dy.bi"; bj: "dy.bj"; bk: "dy.bk"; bl: "dy.bl"; bm: "dy.bm"; bn: "dy.bn"; bo: "dy.bo"; bp: "dy.bp"; bq: "dy.bq"; br: "dy.br"; bs: "dy.bs"; bt: "dy.bt"; bu: "dy.bu"; bv: "dy.bv"; bw: "dy.bw"; bx: "dy.bx"; by: "dy.by"; bz: "dy.bz"; ca: "dy.ca"; cb: "dy.cb"; cc: "dy.cc"; cd: "dy.cd"; ce: "dy.ce"; cf: "dy.cf"; cg: "dy.cg"; ch: "dy.ch"; ci: "dy.ci"; cj: "dy.cj"; ck: "dy.ck"; cl: "dy.cl"; cm: "dy.cm"; cn: "dy.cn"; co: "dy.co"; cp: "dy.cp"; cq: "dy.cq"; cr: "dy.cr"; cs: "dy.cs"; ct: "dy.ct"; cu: "dy.cu"; cv: "dy.cv"; cw: "dy.cw"; cx: "dy.cx"; cy: "dy.cy"; cz: "dy.cz"; da: "dy.da"; db: "dy.db"; dc: "dy.dc"; dd: "dy.dd"; de: "dy.de"; df: "dy.df"; dg: "dy.dg"; dh: "dy.dh"; di: "dy.di"; dj: "dy.dj"; dk: "dy.dk"; dl: "dy.dl"; dm: "dy.dm"; dn: "dy.dn"; do: "dy.do"; dp: "dy.dp"; dq: "dy.dq"; dr: "dy.dr"; ds: "dy.ds"; dt: "dy.dt"; du: "dy.du"; dv: "dy.dv"; dw: "dy.dw"; dx: "dy.dx"; dy: "dy.dy"; dz: "dy.dz"; ea: "dy.ea"; eb: "dy.eb"; ec: "dy.ec"; ed: "dy.ed"; ee: "dy.ee"; ef: "dy.ef"; eg: "dy.eg"; eh: "dy.eh"; ei: "dy.ei"; ej: "dy.ej"; ek: "dy.ek"; el: "dy.el"; em: "dy.em"; en: "dy.en"; eo: "dy.eo"; ep: "dy.ep"; eq: "dy.eq"; er: "dy.er"; es: "dy.es"; et: "dy.et"; eu: "dy.eu"; ev: "dy.ev"; ew: "dy.ew"; ex: "dy.ex"; ey: "dy.ey"; ez: "dy.ez"; fa: "dy.fa"; fb: "dy.fb"; fc: "dy.fc"; fd: "dy.fd"; fe: "dy.fe"; ff: "dy.ff"; fg: "dy.fg"; fh: "dy.fh"; fi: "dy.fi"; fj: "dy.fj"; fk: "dy.fk"; fl: "dy.fl"; fm: "dy.fm"; fn: "dy.fn"; fo: "dy.fo"; fp: "dy.fp"; fq: "dy.fq"; fr: "dy.fr"; fs: "dy.fs"; ft: "dy.ft"; fu: "dy.fu"; fv: "dy.fv"; fw: "dy.fw"; fx: "dy.fx"; fy: "dy.fy"; fz: "dy.fz"; ga: "dy.ga"; gb: "dy.gb"; gc: "dy.gc"; gd: "dy.gd"; ge: "dy.ge"; gf: "dy.gf"; gg: "dy.gg"; gh: "dy.gh"; gi: "dy.gi"; gj: "dy.gj"; gk: "dy.gk"; gl: "dy.gl"; gm: "dy.gm"; gn: "dy.gn"; go: "dy.go"; gp: "dy.gp"; gq: "dy.gq"; gr: "dy.gr"; gs: "dy.gs"; gt: "dy.gt"; gu: "dy.gu"; gv: "dy.gv"; gw: "dy.gw"; gx: "dy.gx"; gy: "dy.gy"; gz: "dy.gz"; ha: "dy.ha"; hb: "dy.hb"; hc: "dy.hc"; hd: "dy.hd"; he: "dy.he"; hf: "dy.hf"; hg: "dy.hg"; hh: "dy.hh"; hi: "dy.hi"; hj: "dy.hj"; hk: "dy.hk"; hl: "dy.hl"; hm: "dy.hm"; hn: "dy.hn"; ho: "dy.ho"; hp: "dy.hp"; hq: "dy.hq"; hr: "dy.hr"; hs: "dy.hs"; ht: "dy.ht"; hu: "dy.hu"; hv: "dy.hv"; hw: "dy.hw"; hx: "dy.hx"; hy: "dy.hy"; hz: "dy.hz"; ia: "dy.ia"; ib: "dy.ib"; ic: "dy.ic"; id: "dy.id"; ie: "dy.ie"; if: "dy.if"; ig: "dy.ig"; ih: "dy.ih"; ii: "dy.ii"; ij: "dy.ij"; ik: "dy.ik"; il: "dy.il"; im: "dy.im"; in: "dy.in"; io: "dy.io"; ip: "dy.ip"; iq: "dy.iq"; ir: "dy.ir"; is: "dy.is"; it: "dy.it"; iu: "dy.iu"; iv: "dy.iv"; iw: "dy.iw"; ix: "dy.ix"; iy: "dy.iy"; iz: "dy.iz"; ja: "dy.ja"; jb: "dy.jb"; jc: "dy.jc"; jd: "dy.jd"; je: "dy.je"; jf: "dy.jf"; jg: "dy.jg"; jh: "dy.jh"; ji: "dy.ji"; jj: "dy.jj"; jk: "dy.jk"; jl: "dy.jl"; jm: "dy.jm"; jn: "dy.jn"; jo: "dy.jo"; jp: "dy.jp"; jq: "dy.jq"; jr: "dy.jr"; js: "dy.js"; jt: "dy.jt"; ju: "dy.ju"; jv: "dy.jv"; jw: "dy.jw"; jx: "dy.jx"; jy: "dy.jy"; jz: "dy.jz"; ka: "dy.ka"; kb: "dy.kb"; kc: "dy.kc"; kd: "dy.kd"; ke: "dy.ke"; kf: "dy.kf"; kg: "dy.kg"; kh: "dy.kh"; ki: "dy.ki"; kj: "dy.kj"; kk: "dy.kk"; kl: "dy.kl"; km: "dy.km"; kn: "dy.kn"; ko: "dy.ko"; kp: "dy.kp"; kq: "dy.kq"; kr: "dy.kr"; ks: "dy.ks"; kt: "dy.kt"; ku: "dy.ku"; kv: "dy.kv"; kw: "dy.kw"; kx: "dy.kx"; ky: "dy.ky"; kz: "dy.kz"; la: "dy.la"; lb: "dy.lb"; lc: "dy.lc"; ld: "dy.ld"; le: "dy.le"; lf: "dy.lf"; lg: "dy.lg"; lh: "dy.lh"; li: "dy.li"; lj: "dy.lj"; lk: "dy.lk"; ll: "dy.ll"; lm: "dy.lm"; ln: "dy.ln"; lo: "dy.lo"; lp: "dy.lp"; lq: "dy.lq"; lr: "dy.lr"; ls: "dy.ls"; lt: "dy.lt"; lu: "dy.lu"; lv: "dy.lv"; lw: "dy.lw"; lx: "dy.lx"; ly: "dy.ly"; lz: "dy.lz"; ma: "dy.ma"; mb: "dy.mb"; mc: "dy.mc"; md: "dy.md"; me: "dy.me"; mf: "dy.mf"; mg: "dy.mg"; mh: "dy.mh"; mi: "dy.mi"; mj: "dy.mj"; mk: "dy.mk"; ml: "dy.ml"; mm: "dy.mm"; mn: "dy.mn"; mo: "dy.mo"; mp: "dy.mp"; mq: "dy.mq"; mr: "dy.mr"; ms: "dy.ms"; mt: "dy.mt"; mu: "dy.mu"; mv: "dy.mv"; mw: "dy.mw"; mx: "dy.mx"; my: "dy.my"; mz: "dy.mz"; na: "dy.na"; nb: "dy.nb"; nc: "dy.nc"; nd: "dy.nd"; ne: "dy.ne"; nf: "dy.nf"; ng: "dy.ng"; nh: "dy.nh"; ni: "dy.ni"; nj: "dy.nj"; nk: "dy.nk"; nl: "dy.nl"; nm: "dy.nm"; nn: "dy.nn"; no: "dy.no"; np: "dy.np"; nq: "dy.nq"; nr: "dy.nr"; ns: "dy.ns"; nt: "dy.nt"; nu: "dy.nu"; nv: "dy.nv"; nw: "dy.nw"; nx: "dy.nx"; ny: "dy.ny"; nz: "dy.nz"; oa: "dy.oa"; ob: "dy.ob"; oc: "dy.oc"; od: "dy.od"; oe: "dy.oe"; of: "dy.of"; og: "dy.og"; oh: "dy.oh"; oi: "dy.oi"; oj: "dy.oj"; ok: "dy.ok"; ol: "dy.ol"; om: "dy.om"; on: "dy.on"; oo: "dy.oo"; op: "dy.op"; oq: "dy.oq"; or: "dy.or"; os: "dy.os"; ot: "dy.ot"; ou: "dy.ou"; ov: "dy.ov"; ow: "dy.ow"; ox: "dy.ox"; oy: "dy.oy"; oz: "dy.oz"; pa: "dy.pa"; pb: "dy.pb"; pc: "dy.pc"; pd: "dy.pd"; pe: "dy.pe"; pf: "dy.pf"; pg: "dy.pg"; ph: "dy.ph"; pi: "dy.pi"; pj: "dy.pj"; pk: "dy.pk"; pl: "dy.pl"; pm: "dy.pm"; pn: "dy.pn"; po: "dy.po"; pp: "dy.pp"; pq: "dy.pq"; pr: "dy.pr"; ps: "dy.ps"; pt: "dy.pt"; pu: "dy.pu"; pv: "dy.pv"; pw: "dy.pw"; px: "dy.px"; py: "dy.py"; pz: "dy.pz"; qa: "dy.qa"; qb: "dy.qb"; qc: "dy.qc"; qd: "dy.qd"; qe: "dy.qe"; qf: "dy.qf"; qg: "dy.qg"; qh: "dy.qh"; qi: "dy.qi"; qj: "dy.qj"; qk: "dy.qk"; ql: "dy.ql"; qm: "dy.qm"; qn: "dy.qn"; qo: "dy.qo"; qp: "dy.qp"; qq: "dy.qq"; qr: "dy.qr"; qs: "dy.qs"; qt: "dy.qt"; qu: "dy.qu"; qv: "dy.qv"; qw: "dy.qw"; qx: "dy.qx"; qy: "dy.qy"; qz: "dy.qz"; ra: "dy.ra"; rb: "dy.rb"; rc: "dy.rc"; rd: "dy.rd"; re: "dy.re"; rf: "dy.rf"; rg: "dy.rg"; rh: "dy.rh"; ri: "dy.ri"; rj: "dy.rj"; rk: "dy.rk"; rl: "dy.rl"; rm: "dy.rm"; rn: "dy.rn"; ro: "dy.ro"; rp: "dy.rp"; rq: "dy.rq"; rr: "dy.rr"; rs: "dy.rs"; rt: "dy.rt"; ru: "dy.ru"; rv: "dy.rv"; rw: "dy.rw"; rx: "dy.rx"; ry: "dy.ry"; rz: "dy.rz"; sa: "dy.sa"; sb: "dy.sb"; sc: "dy.sc"; sd: "dy.sd"; se: "dy.se"; sf: "dy.sf"; sg: "dy.sg"; sh: "dy.sh"; si: "dy.si"; sj: "dy.sj"; sk: "dy.sk"; sl: "dy.sl"; sm: "dy.sm"; sn: "dy.sn"; so: "dy.so"; sp: "dy.sp"; sq: "dy.sq"; sr: "dy.sr"; ss: "dy.ss"; st: "dy.st"; su: "dy.su"; sv: "dy.sv"; sw: "dy.sw"; sx: "dy.sx"; sy: "dy.sy"; sz: "dy.sz"; ta: "dy.ta"; tb: "dy.tb"; tc: "dy.tc"; td: "dy.td"; te: "dy.te"; tf: "dy.tf"; tg: "dy.tg"; th: "dy.th"; ti: "dy.ti"; tj: "dy.tj"; tk: "dy.tk"; tl: "dy.tl"; tm: "dy.tm"; tn: "dy.tn"; to: "dy.to"; tp: "dy.tp"; tq: "dy.tq"; tr: "dy.tr"; ts: "dy.ts"; tt: "dy.tt"; tu: "dy.tu"; tv: "dy.tv"; tw: "dy.tw"; tx: "dy.tx"; ty: "dy.ty"; tz: "dy.tz"; ua: "dy.ua"; ub: "dy.ub"; uc: "dy.uc"; ud: "dy.ud"; ue: "dy.ue"; uf: "dy.uf"; ug: "dy.ug"; uh: "dy.uh"; ui: "dy.ui"; uj: "dy.uj"; uk: "dy.uk"; ul: "dy.ul"; um: "dy.um"; un: "dy.un"; uo: "dy.uo"; up: "dy.up"; uq: "dy.uq"; ur: "dy.ur"; us: "dy.us"; ut: "dy.ut"; uu: "dy.uu"; uv: "dy.uv"; uw: "dy.uw"; ux: "dy.ux"; uy: "dy.uy"; uz: "dy.uz"; va: "dy.va"; vb: "dy.vb"; vc: "dy.vc"; vd: "dy.vd"; ve: "dy.ve"; vf: "dy.vf"; vg: "dy.vg"; vh: "dy.vh"; vi: "dy.vi"; vj: "dy.vj"; vk: "dy.vk"; vl: "dy.vl"; vm: "dy.vm"; vn: "dy.vn"; vo: "dy.vo"; vp: "dy.vp"; vq: "dy.vq"; vr: "dy.vr"; vs: "dy.vs"; vt: "dy.vt"; vu: "dy.vu"; vv: "dy.vv"; vw: "dy.vw"; vx: "dy.vx"; vy: "dy.vy"; vz: "dy.vz"; wa: "dy.wa"; wb: "dy.wb"; wc: "dy.wc"; wd: "dy.wd"; we: "dy.we"; wf: "dy.wf"; wg: "dy.wg"; wh: "dy.wh"; wi: "dy.wi"; wj: "dy.wj"; wk: "dy.wk"; wl: "dy.wl"; wm: "dy.wm"; wn: "dy.wn"; wo: "dy.wo"; wp: "dy.wp"; wq: "dy.wq"; wr: "dy.wr"; ws: "dy.ws"; wt: "dy.wt"; wu: "dy.wu"; wv: "dy.wv"; ww: "dy.ww"; wx: "dy.wx"; wy: "dy.wy"; wz: "dy.wz"; xa: "dy.xa"; xb: "dy.xb"; xc: "dy.xc"; xd: "dy.xd"; xe: "dy.xe"; xf: "dy.xf"; xg: "dy.xg"; xh: "dy.xh"; xi: "dy.xi"; xj: "dy.xj"; xk: "dy.xk"; xl: "dy.xl"; xm: "dy.xm"; xn: "dy.xn"; xo: "dy.xo"; xp: "dy.xp"; xq: "dy.xq"; xr: "dy.xr"; xs: "dy.xs"; xt: "dy.xt"; xu: "dy.xu"; xv: "dy.xv"; xw: "dy.xw"; xx: "dy.xx"; xy: "dy.xy"; xz: "dy.xz"; ya: "dy.ya"; yb: "dy.yb"; yc: "dy.yc"; yd: "dy.yd"; ye: "dy.ye"; yf: "dy.yf"; yg: "dy.yg"; yh: "dy.yh"; yi: "dy.yi"; yj: "dy.yj"; yk: "dy.yk"; yl: "dy.yl"; ym: "dy.ym"; yn: "dy.yn"; yo: "dy.yo"; yp: "dy.yp"; yq: "dy.yq"; yr: "dy.yr"; ys: "dy.ys"; yt: "dy.yt"; yu: "dy.yu"; yv: "dy.yv"; yw: "dy.yw"; yx: "dy.yx"; yy: "dy.yy"; yz: "dy.yz"; za: "dy.za"; zb: "dy.zb"; zc: "dy.zc"; zd: "dy.zd"; ze: "dy.ze"; zf: "dy.zf"; zg: "dy.zg"; zh: "dy.zh"; zi: "dy.zi"; zj: "dy.zj"; zk: "dy.zk"; zl: "dy.zl"; zm: "dy.zm"; zn: "dy.zn"; zo: "dy.zo"; zp: "dy.zp"; zq: "dy.zq"; zr: "dy.zr"; zs: "dy.zs"; zt: "dy.zt"; zu: "dy.zu"; zv: "dy.zv"; zw: "dy.zw"; zx: "dy.zx"; zy: "dy.zy"; zz: "dy.zz"; }; dz: { aa: "dz.aa"; ab: "dz.ab"; ac: "dz.ac"; ad: "dz.ad"; ae: "dz.ae"; af: "dz.af"; ag: "dz.ag"; ah: "dz.ah"; ai: "dz.ai"; aj: "dz.aj"; ak: "dz.ak"; al: "dz.al"; am: "dz.am"; an: "dz.an"; ao: "dz.ao"; ap: "dz.ap"; aq: "dz.aq"; ar: "dz.ar"; as: "dz.as"; at: "dz.at"; au: "dz.au"; av: "dz.av"; aw: "dz.aw"; ax: "dz.ax"; ay: "dz.ay"; az: "dz.az"; ba: "dz.ba"; bb: "dz.bb"; bc: "dz.bc"; bd: "dz.bd"; be: "dz.be"; bf: "dz.bf"; bg: "dz.bg"; bh: "dz.bh"; bi: "dz.bi"; bj: "dz.bj"; bk: "dz.bk"; bl: "dz.bl"; bm: "dz.bm"; bn: "dz.bn"; bo: "dz.bo"; bp: "dz.bp"; bq: "dz.bq"; br: "dz.br"; bs: "dz.bs"; bt: "dz.bt"; bu: "dz.bu"; bv: "dz.bv"; bw: "dz.bw"; bx: "dz.bx"; by: "dz.by"; bz: "dz.bz"; ca: "dz.ca"; cb: "dz.cb"; cc: "dz.cc"; cd: "dz.cd"; ce: "dz.ce"; cf: "dz.cf"; cg: "dz.cg"; ch: "dz.ch"; ci: "dz.ci"; cj: "dz.cj"; ck: "dz.ck"; cl: "dz.cl"; cm: "dz.cm"; cn: "dz.cn"; co: "dz.co"; cp: "dz.cp"; cq: "dz.cq"; cr: "dz.cr"; cs: "dz.cs"; ct: "dz.ct"; cu: "dz.cu"; cv: "dz.cv"; cw: "dz.cw"; cx: "dz.cx"; cy: "dz.cy"; cz: "dz.cz"; da: "dz.da"; db: "dz.db"; dc: "dz.dc"; dd: "dz.dd"; de: "dz.de"; df: "dz.df"; dg: "dz.dg"; dh: "dz.dh"; di: "dz.di"; dj: "dz.dj"; dk: "dz.dk"; dl: "dz.dl"; dm: "dz.dm"; dn: "dz.dn"; do: "dz.do"; dp: "dz.dp"; dq: "dz.dq"; dr: "dz.dr"; ds: "dz.ds"; dt: "dz.dt"; du: "dz.du"; dv: "dz.dv"; dw: "dz.dw"; dx: "dz.dx"; dy: "dz.dy"; dz: "dz.dz"; ea: "dz.ea"; eb: "dz.eb"; ec: "dz.ec"; ed: "dz.ed"; ee: "dz.ee"; ef: "dz.ef"; eg: "dz.eg"; eh: "dz.eh"; ei: "dz.ei"; ej: "dz.ej"; ek: "dz.ek"; el: "dz.el"; em: "dz.em"; en: "dz.en"; eo: "dz.eo"; ep: "dz.ep"; eq: "dz.eq"; er: "dz.er"; es: "dz.es"; et: "dz.et"; eu: "dz.eu"; ev: "dz.ev"; ew: "dz.ew"; ex: "dz.ex"; ey: "dz.ey"; ez: "dz.ez"; fa: "dz.fa"; fb: "dz.fb"; fc: "dz.fc"; fd: "dz.fd"; fe: "dz.fe"; ff: "dz.ff"; fg: "dz.fg"; fh: "dz.fh"; fi: "dz.fi"; fj: "dz.fj"; fk: "dz.fk"; fl: "dz.fl"; fm: "dz.fm"; fn: "dz.fn"; fo: "dz.fo"; fp: "dz.fp"; fq: "dz.fq"; fr: "dz.fr"; fs: "dz.fs"; ft: "dz.ft"; fu: "dz.fu"; fv: "dz.fv"; fw: "dz.fw"; fx: "dz.fx"; fy: "dz.fy"; fz: "dz.fz"; ga: "dz.ga"; gb: "dz.gb"; gc: "dz.gc"; gd: "dz.gd"; ge: "dz.ge"; gf: "dz.gf"; gg: "dz.gg"; gh: "dz.gh"; gi: "dz.gi"; gj: "dz.gj"; gk: "dz.gk"; gl: "dz.gl"; gm: "dz.gm"; gn: "dz.gn"; go: "dz.go"; gp: "dz.gp"; gq: "dz.gq"; gr: "dz.gr"; gs: "dz.gs"; gt: "dz.gt"; gu: "dz.gu"; gv: "dz.gv"; gw: "dz.gw"; gx: "dz.gx"; gy: "dz.gy"; gz: "dz.gz"; ha: "dz.ha"; hb: "dz.hb"; hc: "dz.hc"; hd: "dz.hd"; he: "dz.he"; hf: "dz.hf"; hg: "dz.hg"; hh: "dz.hh"; hi: "dz.hi"; hj: "dz.hj"; hk: "dz.hk"; hl: "dz.hl"; hm: "dz.hm"; hn: "dz.hn"; ho: "dz.ho"; hp: "dz.hp"; hq: "dz.hq"; hr: "dz.hr"; hs: "dz.hs"; ht: "dz.ht"; hu: "dz.hu"; hv: "dz.hv"; hw: "dz.hw"; hx: "dz.hx"; hy: "dz.hy"; hz: "dz.hz"; ia: "dz.ia"; ib: "dz.ib"; ic: "dz.ic"; id: "dz.id"; ie: "dz.ie"; if: "dz.if"; ig: "dz.ig"; ih: "dz.ih"; ii: "dz.ii"; ij: "dz.ij"; ik: "dz.ik"; il: "dz.il"; im: "dz.im"; in: "dz.in"; io: "dz.io"; ip: "dz.ip"; iq: "dz.iq"; ir: "dz.ir"; is: "dz.is"; it: "dz.it"; iu: "dz.iu"; iv: "dz.iv"; iw: "dz.iw"; ix: "dz.ix"; iy: "dz.iy"; iz: "dz.iz"; ja: "dz.ja"; jb: "dz.jb"; jc: "dz.jc"; jd: "dz.jd"; je: "dz.je"; jf: "dz.jf"; jg: "dz.jg"; jh: "dz.jh"; ji: "dz.ji"; jj: "dz.jj"; jk: "dz.jk"; jl: "dz.jl"; jm: "dz.jm"; jn: "dz.jn"; jo: "dz.jo"; jp: "dz.jp"; jq: "dz.jq"; jr: "dz.jr"; js: "dz.js"; jt: "dz.jt"; ju: "dz.ju"; jv: "dz.jv"; jw: "dz.jw"; jx: "dz.jx"; jy: "dz.jy"; jz: "dz.jz"; ka: "dz.ka"; kb: "dz.kb"; kc: "dz.kc"; kd: "dz.kd"; ke: "dz.ke"; kf: "dz.kf"; kg: "dz.kg"; kh: "dz.kh"; ki: "dz.ki"; kj: "dz.kj"; kk: "dz.kk"; kl: "dz.kl"; km: "dz.km"; kn: "dz.kn"; ko: "dz.ko"; kp: "dz.kp"; kq: "dz.kq"; kr: "dz.kr"; ks: "dz.ks"; kt: "dz.kt"; ku: "dz.ku"; kv: "dz.kv"; kw: "dz.kw"; kx: "dz.kx"; ky: "dz.ky"; kz: "dz.kz"; la: "dz.la"; lb: "dz.lb"; lc: "dz.lc"; ld: "dz.ld"; le: "dz.le"; lf: "dz.lf"; lg: "dz.lg"; lh: "dz.lh"; li: "dz.li"; lj: "dz.lj"; lk: "dz.lk"; ll: "dz.ll"; lm: "dz.lm"; ln: "dz.ln"; lo: "dz.lo"; lp: "dz.lp"; lq: "dz.lq"; lr: "dz.lr"; ls: "dz.ls"; lt: "dz.lt"; lu: "dz.lu"; lv: "dz.lv"; lw: "dz.lw"; lx: "dz.lx"; ly: "dz.ly"; lz: "dz.lz"; ma: "dz.ma"; mb: "dz.mb"; mc: "dz.mc"; md: "dz.md"; me: "dz.me"; mf: "dz.mf"; mg: "dz.mg"; mh: "dz.mh"; mi: "dz.mi"; mj: "dz.mj"; mk: "dz.mk"; ml: "dz.ml"; mm: "dz.mm"; mn: "dz.mn"; mo: "dz.mo"; mp: "dz.mp"; mq: "dz.mq"; mr: "dz.mr"; ms: "dz.ms"; mt: "dz.mt"; mu: "dz.mu"; mv: "dz.mv"; mw: "dz.mw"; mx: "dz.mx"; my: "dz.my"; mz: "dz.mz"; na: "dz.na"; nb: "dz.nb"; nc: "dz.nc"; nd: "dz.nd"; ne: "dz.ne"; nf: "dz.nf"; ng: "dz.ng"; nh: "dz.nh"; ni: "dz.ni"; nj: "dz.nj"; nk: "dz.nk"; nl: "dz.nl"; nm: "dz.nm"; nn: "dz.nn"; no: "dz.no"; np: "dz.np"; nq: "dz.nq"; nr: "dz.nr"; ns: "dz.ns"; nt: "dz.nt"; nu: "dz.nu"; nv: "dz.nv"; nw: "dz.nw"; nx: "dz.nx"; ny: "dz.ny"; nz: "dz.nz"; oa: "dz.oa"; ob: "dz.ob"; oc: "dz.oc"; od: "dz.od"; oe: "dz.oe"; of: "dz.of"; og: "dz.og"; oh: "dz.oh"; oi: "dz.oi"; oj: "dz.oj"; ok: "dz.ok"; ol: "dz.ol"; om: "dz.om"; on: "dz.on"; oo: "dz.oo"; op: "dz.op"; oq: "dz.oq"; or: "dz.or"; os: "dz.os"; ot: "dz.ot"; ou: "dz.ou"; ov: "dz.ov"; ow: "dz.ow"; ox: "dz.ox"; oy: "dz.oy"; oz: "dz.oz"; pa: "dz.pa"; pb: "dz.pb"; pc: "dz.pc"; pd: "dz.pd"; pe: "dz.pe"; pf: "dz.pf"; pg: "dz.pg"; ph: "dz.ph"; pi: "dz.pi"; pj: "dz.pj"; pk: "dz.pk"; pl: "dz.pl"; pm: "dz.pm"; pn: "dz.pn"; po: "dz.po"; pp: "dz.pp"; pq: "dz.pq"; pr: "dz.pr"; ps: "dz.ps"; pt: "dz.pt"; pu: "dz.pu"; pv: "dz.pv"; pw: "dz.pw"; px: "dz.px"; py: "dz.py"; pz: "dz.pz"; qa: "dz.qa"; qb: "dz.qb"; qc: "dz.qc"; qd: "dz.qd"; qe: "dz.qe"; qf: "dz.qf"; qg: "dz.qg"; qh: "dz.qh"; qi: "dz.qi"; qj: "dz.qj"; qk: "dz.qk"; ql: "dz.ql"; qm: "dz.qm"; qn: "dz.qn"; qo: "dz.qo"; qp: "dz.qp"; qq: "dz.qq"; qr: "dz.qr"; qs: "dz.qs"; qt: "dz.qt"; qu: "dz.qu"; qv: "dz.qv"; qw: "dz.qw"; qx: "dz.qx"; qy: "dz.qy"; qz: "dz.qz"; ra: "dz.ra"; rb: "dz.rb"; rc: "dz.rc"; rd: "dz.rd"; re: "dz.re"; rf: "dz.rf"; rg: "dz.rg"; rh: "dz.rh"; ri: "dz.ri"; rj: "dz.rj"; rk: "dz.rk"; rl: "dz.rl"; rm: "dz.rm"; rn: "dz.rn"; ro: "dz.ro"; rp: "dz.rp"; rq: "dz.rq"; rr: "dz.rr"; rs: "dz.rs"; rt: "dz.rt"; ru: "dz.ru"; rv: "dz.rv"; rw: "dz.rw"; rx: "dz.rx"; ry: "dz.ry"; rz: "dz.rz"; sa: "dz.sa"; sb: "dz.sb"; sc: "dz.sc"; sd: "dz.sd"; se: "dz.se"; sf: "dz.sf"; sg: "dz.sg"; sh: "dz.sh"; si: "dz.si"; sj: "dz.sj"; sk: "dz.sk"; sl: "dz.sl"; sm: "dz.sm"; sn: "dz.sn"; so: "dz.so"; sp: "dz.sp"; sq: "dz.sq"; sr: "dz.sr"; ss: "dz.ss"; st: "dz.st"; su: "dz.su"; sv: "dz.sv"; sw: "dz.sw"; sx: "dz.sx"; sy: "dz.sy"; sz: "dz.sz"; ta: "dz.ta"; tb: "dz.tb"; tc: "dz.tc"; td: "dz.td"; te: "dz.te"; tf: "dz.tf"; tg: "dz.tg"; th: "dz.th"; ti: "dz.ti"; tj: "dz.tj"; tk: "dz.tk"; tl: "dz.tl"; tm: "dz.tm"; tn: "dz.tn"; to: "dz.to"; tp: "dz.tp"; tq: "dz.tq"; tr: "dz.tr"; ts: "dz.ts"; tt: "dz.tt"; tu: "dz.tu"; tv: "dz.tv"; tw: "dz.tw"; tx: "dz.tx"; ty: "dz.ty"; tz: "dz.tz"; ua: "dz.ua"; ub: "dz.ub"; uc: "dz.uc"; ud: "dz.ud"; ue: "dz.ue"; uf: "dz.uf"; ug: "dz.ug"; uh: "dz.uh"; ui: "dz.ui"; uj: "dz.uj"; uk: "dz.uk"; ul: "dz.ul"; um: "dz.um"; un: "dz.un"; uo: "dz.uo"; up: "dz.up"; uq: "dz.uq"; ur: "dz.ur"; us: "dz.us"; ut: "dz.ut"; uu: "dz.uu"; uv: "dz.uv"; uw: "dz.uw"; ux: "dz.ux"; uy: "dz.uy"; uz: "dz.uz"; va: "dz.va"; vb: "dz.vb"; vc: "dz.vc"; vd: "dz.vd"; ve: "dz.ve"; vf: "dz.vf"; vg: "dz.vg"; vh: "dz.vh"; vi: "dz.vi"; vj: "dz.vj"; vk: "dz.vk"; vl: "dz.vl"; vm: "dz.vm"; vn: "dz.vn"; vo: "dz.vo"; vp: "dz.vp"; vq: "dz.vq"; vr: "dz.vr"; vs: "dz.vs"; vt: "dz.vt"; vu: "dz.vu"; vv: "dz.vv"; vw: "dz.vw"; vx: "dz.vx"; vy: "dz.vy"; vz: "dz.vz"; wa: "dz.wa"; wb: "dz.wb"; wc: "dz.wc"; wd: "dz.wd"; we: "dz.we"; wf: "dz.wf"; wg: "dz.wg"; wh: "dz.wh"; wi: "dz.wi"; wj: "dz.wj"; wk: "dz.wk"; wl: "dz.wl"; wm: "dz.wm"; wn: "dz.wn"; wo: "dz.wo"; wp: "dz.wp"; wq: "dz.wq"; wr: "dz.wr"; ws: "dz.ws"; wt: "dz.wt"; wu: "dz.wu"; wv: "dz.wv"; ww: "dz.ww"; wx: "dz.wx"; wy: "dz.wy"; wz: "dz.wz"; xa: "dz.xa"; xb: "dz.xb"; xc: "dz.xc"; xd: "dz.xd"; xe: "dz.xe"; xf: "dz.xf"; xg: "dz.xg"; xh: "dz.xh"; xi: "dz.xi"; xj: "dz.xj"; xk: "dz.xk"; xl: "dz.xl"; xm: "dz.xm"; xn: "dz.xn"; xo: "dz.xo"; xp: "dz.xp"; xq: "dz.xq"; xr: "dz.xr"; xs: "dz.xs"; xt: "dz.xt"; xu: "dz.xu"; xv: "dz.xv"; xw: "dz.xw"; xx: "dz.xx"; xy: "dz.xy"; xz: "dz.xz"; ya: "dz.ya"; yb: "dz.yb"; yc: "dz.yc"; yd: "dz.yd"; ye: "dz.ye"; yf: "dz.yf"; yg: "dz.yg"; yh: "dz.yh"; yi: "dz.yi"; yj: "dz.yj"; yk: "dz.yk"; yl: "dz.yl"; ym: "dz.ym"; yn: "dz.yn"; yo: "dz.yo"; yp: "dz.yp"; yq: "dz.yq"; yr: "dz.yr"; ys: "dz.ys"; yt: "dz.yt"; yu: "dz.yu"; yv: "dz.yv"; yw: "dz.yw"; yx: "dz.yx"; yy: "dz.yy"; yz: "dz.yz"; za: "dz.za"; zb: "dz.zb"; zc: "dz.zc"; zd: "dz.zd"; ze: "dz.ze"; zf: "dz.zf"; zg: "dz.zg"; zh: "dz.zh"; zi: "dz.zi"; zj: "dz.zj"; zk: "dz.zk"; zl: "dz.zl"; zm: "dz.zm"; zn: "dz.zn"; zo: "dz.zo"; zp: "dz.zp"; zq: "dz.zq"; zr: "dz.zr"; zs: "dz.zs"; zt: "dz.zt"; zu: "dz.zu"; zv: "dz.zv"; zw: "dz.zw"; zx: "dz.zx"; zy: "dz.zy"; zz: "dz.zz"; }; ea: { aa: "ea.aa"; ab: "ea.ab"; ac: "ea.ac"; ad: "ea.ad"; ae: "ea.ae"; af: "ea.af"; ag: "ea.ag"; ah: "ea.ah"; ai: "ea.ai"; aj: "ea.aj"; ak: "ea.ak"; al: "ea.al"; am: "ea.am"; an: "ea.an"; ao: "ea.ao"; ap: "ea.ap"; aq: "ea.aq"; ar: "ea.ar"; as: "ea.as"; at: "ea.at"; au: "ea.au"; av: "ea.av"; aw: "ea.aw"; ax: "ea.ax"; ay: "ea.ay"; az: "ea.az"; ba: "ea.ba"; bb: "ea.bb"; bc: "ea.bc"; bd: "ea.bd"; be: "ea.be"; bf: "ea.bf"; bg: "ea.bg"; bh: "ea.bh"; bi: "ea.bi"; bj: "ea.bj"; bk: "ea.bk"; bl: "ea.bl"; bm: "ea.bm"; bn: "ea.bn"; bo: "ea.bo"; bp: "ea.bp"; bq: "ea.bq"; br: "ea.br"; bs: "ea.bs"; bt: "ea.bt"; bu: "ea.bu"; bv: "ea.bv"; bw: "ea.bw"; bx: "ea.bx"; by: "ea.by"; bz: "ea.bz"; ca: "ea.ca"; cb: "ea.cb"; cc: "ea.cc"; cd: "ea.cd"; ce: "ea.ce"; cf: "ea.cf"; cg: "ea.cg"; ch: "ea.ch"; ci: "ea.ci"; cj: "ea.cj"; ck: "ea.ck"; cl: "ea.cl"; cm: "ea.cm"; cn: "ea.cn"; co: "ea.co"; cp: "ea.cp"; cq: "ea.cq"; cr: "ea.cr"; cs: "ea.cs"; ct: "ea.ct"; cu: "ea.cu"; cv: "ea.cv"; cw: "ea.cw"; cx: "ea.cx"; cy: "ea.cy"; cz: "ea.cz"; da: "ea.da"; db: "ea.db"; dc: "ea.dc"; dd: "ea.dd"; de: "ea.de"; df: "ea.df"; dg: "ea.dg"; dh: "ea.dh"; di: "ea.di"; dj: "ea.dj"; dk: "ea.dk"; dl: "ea.dl"; dm: "ea.dm"; dn: "ea.dn"; do: "ea.do"; dp: "ea.dp"; dq: "ea.dq"; dr: "ea.dr"; ds: "ea.ds"; dt: "ea.dt"; du: "ea.du"; dv: "ea.dv"; dw: "ea.dw"; dx: "ea.dx"; dy: "ea.dy"; dz: "ea.dz"; ea: "ea.ea"; eb: "ea.eb"; ec: "ea.ec"; ed: "ea.ed"; ee: "ea.ee"; ef: "ea.ef"; eg: "ea.eg"; eh: "ea.eh"; ei: "ea.ei"; ej: "ea.ej"; ek: "ea.ek"; el: "ea.el"; em: "ea.em"; en: "ea.en"; eo: "ea.eo"; ep: "ea.ep"; eq: "ea.eq"; er: "ea.er"; es: "ea.es"; et: "ea.et"; eu: "ea.eu"; ev: "ea.ev"; ew: "ea.ew"; ex: "ea.ex"; ey: "ea.ey"; ez: "ea.ez"; fa: "ea.fa"; fb: "ea.fb"; fc: "ea.fc"; fd: "ea.fd"; fe: "ea.fe"; ff: "ea.ff"; fg: "ea.fg"; fh: "ea.fh"; fi: "ea.fi"; fj: "ea.fj"; fk: "ea.fk"; fl: "ea.fl"; fm: "ea.fm"; fn: "ea.fn"; fo: "ea.fo"; fp: "ea.fp"; fq: "ea.fq"; fr: "ea.fr"; fs: "ea.fs"; ft: "ea.ft"; fu: "ea.fu"; fv: "ea.fv"; fw: "ea.fw"; fx: "ea.fx"; fy: "ea.fy"; fz: "ea.fz"; ga: "ea.ga"; gb: "ea.gb"; gc: "ea.gc"; gd: "ea.gd"; ge: "ea.ge"; gf: "ea.gf"; gg: "ea.gg"; gh: "ea.gh"; gi: "ea.gi"; gj: "ea.gj"; gk: "ea.gk"; gl: "ea.gl"; gm: "ea.gm"; gn: "ea.gn"; go: "ea.go"; gp: "ea.gp"; gq: "ea.gq"; gr: "ea.gr"; gs: "ea.gs"; gt: "ea.gt"; gu: "ea.gu"; gv: "ea.gv"; gw: "ea.gw"; gx: "ea.gx"; gy: "ea.gy"; gz: "ea.gz"; ha: "ea.ha"; hb: "ea.hb"; hc: "ea.hc"; hd: "ea.hd"; he: "ea.he"; hf: "ea.hf"; hg: "ea.hg"; hh: "ea.hh"; hi: "ea.hi"; hj: "ea.hj"; hk: "ea.hk"; hl: "ea.hl"; hm: "ea.hm"; hn: "ea.hn"; ho: "ea.ho"; hp: "ea.hp"; hq: "ea.hq"; hr: "ea.hr"; hs: "ea.hs"; ht: "ea.ht"; hu: "ea.hu"; hv: "ea.hv"; hw: "ea.hw"; hx: "ea.hx"; hy: "ea.hy"; hz: "ea.hz"; ia: "ea.ia"; ib: "ea.ib"; ic: "ea.ic"; id: "ea.id"; ie: "ea.ie"; if: "ea.if"; ig: "ea.ig"; ih: "ea.ih"; ii: "ea.ii"; ij: "ea.ij"; ik: "ea.ik"; il: "ea.il"; im: "ea.im"; in: "ea.in"; io: "ea.io"; ip: "ea.ip"; iq: "ea.iq"; ir: "ea.ir"; is: "ea.is"; it: "ea.it"; iu: "ea.iu"; iv: "ea.iv"; iw: "ea.iw"; ix: "ea.ix"; iy: "ea.iy"; iz: "ea.iz"; ja: "ea.ja"; jb: "ea.jb"; jc: "ea.jc"; jd: "ea.jd"; je: "ea.je"; jf: "ea.jf"; jg: "ea.jg"; jh: "ea.jh"; ji: "ea.ji"; jj: "ea.jj"; jk: "ea.jk"; jl: "ea.jl"; jm: "ea.jm"; jn: "ea.jn"; jo: "ea.jo"; jp: "ea.jp"; jq: "ea.jq"; jr: "ea.jr"; js: "ea.js"; jt: "ea.jt"; ju: "ea.ju"; jv: "ea.jv"; jw: "ea.jw"; jx: "ea.jx"; jy: "ea.jy"; jz: "ea.jz"; ka: "ea.ka"; kb: "ea.kb"; kc: "ea.kc"; kd: "ea.kd"; ke: "ea.ke"; kf: "ea.kf"; kg: "ea.kg"; kh: "ea.kh"; ki: "ea.ki"; kj: "ea.kj"; kk: "ea.kk"; kl: "ea.kl"; km: "ea.km"; kn: "ea.kn"; ko: "ea.ko"; kp: "ea.kp"; kq: "ea.kq"; kr: "ea.kr"; ks: "ea.ks"; kt: "ea.kt"; ku: "ea.ku"; kv: "ea.kv"; kw: "ea.kw"; kx: "ea.kx"; ky: "ea.ky"; kz: "ea.kz"; la: "ea.la"; lb: "ea.lb"; lc: "ea.lc"; ld: "ea.ld"; le: "ea.le"; lf: "ea.lf"; lg: "ea.lg"; lh: "ea.lh"; li: "ea.li"; lj: "ea.lj"; lk: "ea.lk"; ll: "ea.ll"; lm: "ea.lm"; ln: "ea.ln"; lo: "ea.lo"; lp: "ea.lp"; lq: "ea.lq"; lr: "ea.lr"; ls: "ea.ls"; lt: "ea.lt"; lu: "ea.lu"; lv: "ea.lv"; lw: "ea.lw"; lx: "ea.lx"; ly: "ea.ly"; lz: "ea.lz"; ma: "ea.ma"; mb: "ea.mb"; mc: "ea.mc"; md: "ea.md"; me: "ea.me"; mf: "ea.mf"; mg: "ea.mg"; mh: "ea.mh"; mi: "ea.mi"; mj: "ea.mj"; mk: "ea.mk"; ml: "ea.ml"; mm: "ea.mm"; mn: "ea.mn"; mo: "ea.mo"; mp: "ea.mp"; mq: "ea.mq"; mr: "ea.mr"; ms: "ea.ms"; mt: "ea.mt"; mu: "ea.mu"; mv: "ea.mv"; mw: "ea.mw"; mx: "ea.mx"; my: "ea.my"; mz: "ea.mz"; na: "ea.na"; nb: "ea.nb"; nc: "ea.nc"; nd: "ea.nd"; ne: "ea.ne"; nf: "ea.nf"; ng: "ea.ng"; nh: "ea.nh"; ni: "ea.ni"; nj: "ea.nj"; nk: "ea.nk"; nl: "ea.nl"; nm: "ea.nm"; nn: "ea.nn"; no: "ea.no"; np: "ea.np"; nq: "ea.nq"; nr: "ea.nr"; ns: "ea.ns"; nt: "ea.nt"; nu: "ea.nu"; nv: "ea.nv"; nw: "ea.nw"; nx: "ea.nx"; ny: "ea.ny"; nz: "ea.nz"; oa: "ea.oa"; ob: "ea.ob"; oc: "ea.oc"; od: "ea.od"; oe: "ea.oe"; of: "ea.of"; og: "ea.og"; oh: "ea.oh"; oi: "ea.oi"; oj: "ea.oj"; ok: "ea.ok"; ol: "ea.ol"; om: "ea.om"; on: "ea.on"; oo: "ea.oo"; op: "ea.op"; oq: "ea.oq"; or: "ea.or"; os: "ea.os"; ot: "ea.ot"; ou: "ea.ou"; ov: "ea.ov"; ow: "ea.ow"; ox: "ea.ox"; oy: "ea.oy"; oz: "ea.oz"; pa: "ea.pa"; pb: "ea.pb"; pc: "ea.pc"; pd: "ea.pd"; pe: "ea.pe"; pf: "ea.pf"; pg: "ea.pg"; ph: "ea.ph"; pi: "ea.pi"; pj: "ea.pj"; pk: "ea.pk"; pl: "ea.pl"; pm: "ea.pm"; pn: "ea.pn"; po: "ea.po"; pp: "ea.pp"; pq: "ea.pq"; pr: "ea.pr"; ps: "ea.ps"; pt: "ea.pt"; pu: "ea.pu"; pv: "ea.pv"; pw: "ea.pw"; px: "ea.px"; py: "ea.py"; pz: "ea.pz"; qa: "ea.qa"; qb: "ea.qb"; qc: "ea.qc"; qd: "ea.qd"; qe: "ea.qe"; qf: "ea.qf"; qg: "ea.qg"; qh: "ea.qh"; qi: "ea.qi"; qj: "ea.qj"; qk: "ea.qk"; ql: "ea.ql"; qm: "ea.qm"; qn: "ea.qn"; qo: "ea.qo"; qp: "ea.qp"; qq: "ea.qq"; qr: "ea.qr"; qs: "ea.qs"; qt: "ea.qt"; qu: "ea.qu"; qv: "ea.qv"; qw: "ea.qw"; qx: "ea.qx"; qy: "ea.qy"; qz: "ea.qz"; ra: "ea.ra"; rb: "ea.rb"; rc: "ea.rc"; rd: "ea.rd"; re: "ea.re"; rf: "ea.rf"; rg: "ea.rg"; rh: "ea.rh"; ri: "ea.ri"; rj: "ea.rj"; rk: "ea.rk"; rl: "ea.rl"; rm: "ea.rm"; rn: "ea.rn"; ro: "ea.ro"; rp: "ea.rp"; rq: "ea.rq"; rr: "ea.rr"; rs: "ea.rs"; rt: "ea.rt"; ru: "ea.ru"; rv: "ea.rv"; rw: "ea.rw"; rx: "ea.rx"; ry: "ea.ry"; rz: "ea.rz"; sa: "ea.sa"; sb: "ea.sb"; sc: "ea.sc"; sd: "ea.sd"; se: "ea.se"; sf: "ea.sf"; sg: "ea.sg"; sh: "ea.sh"; si: "ea.si"; sj: "ea.sj"; sk: "ea.sk"; sl: "ea.sl"; sm: "ea.sm"; sn: "ea.sn"; so: "ea.so"; sp: "ea.sp"; sq: "ea.sq"; sr: "ea.sr"; ss: "ea.ss"; st: "ea.st"; su: "ea.su"; sv: "ea.sv"; sw: "ea.sw"; sx: "ea.sx"; sy: "ea.sy"; sz: "ea.sz"; ta: "ea.ta"; tb: "ea.tb"; tc: "ea.tc"; td: "ea.td"; te: "ea.te"; tf: "ea.tf"; tg: "ea.tg"; th: "ea.th"; ti: "ea.ti"; tj: "ea.tj"; tk: "ea.tk"; tl: "ea.tl"; tm: "ea.tm"; tn: "ea.tn"; to: "ea.to"; tp: "ea.tp"; tq: "ea.tq"; tr: "ea.tr"; ts: "ea.ts"; tt: "ea.tt"; tu: "ea.tu"; tv: "ea.tv"; tw: "ea.tw"; tx: "ea.tx"; ty: "ea.ty"; tz: "ea.tz"; ua: "ea.ua"; ub: "ea.ub"; uc: "ea.uc"; ud: "ea.ud"; ue: "ea.ue"; uf: "ea.uf"; ug: "ea.ug"; uh: "ea.uh"; ui: "ea.ui"; uj: "ea.uj"; uk: "ea.uk"; ul: "ea.ul"; um: "ea.um"; un: "ea.un"; uo: "ea.uo"; up: "ea.up"; uq: "ea.uq"; ur: "ea.ur"; us: "ea.us"; ut: "ea.ut"; uu: "ea.uu"; uv: "ea.uv"; uw: "ea.uw"; ux: "ea.ux"; uy: "ea.uy"; uz: "ea.uz"; va: "ea.va"; vb: "ea.vb"; vc: "ea.vc"; vd: "ea.vd"; ve: "ea.ve"; vf: "ea.vf"; vg: "ea.vg"; vh: "ea.vh"; vi: "ea.vi"; vj: "ea.vj"; vk: "ea.vk"; vl: "ea.vl"; vm: "ea.vm"; vn: "ea.vn"; vo: "ea.vo"; vp: "ea.vp"; vq: "ea.vq"; vr: "ea.vr"; vs: "ea.vs"; vt: "ea.vt"; vu: "ea.vu"; vv: "ea.vv"; vw: "ea.vw"; vx: "ea.vx"; vy: "ea.vy"; vz: "ea.vz"; wa: "ea.wa"; wb: "ea.wb"; wc: "ea.wc"; wd: "ea.wd"; we: "ea.we"; wf: "ea.wf"; wg: "ea.wg"; wh: "ea.wh"; wi: "ea.wi"; wj: "ea.wj"; wk: "ea.wk"; wl: "ea.wl"; wm: "ea.wm"; wn: "ea.wn"; wo: "ea.wo"; wp: "ea.wp"; wq: "ea.wq"; wr: "ea.wr"; ws: "ea.ws"; wt: "ea.wt"; wu: "ea.wu"; wv: "ea.wv"; ww: "ea.ww"; wx: "ea.wx"; wy: "ea.wy"; wz: "ea.wz"; xa: "ea.xa"; xb: "ea.xb"; xc: "ea.xc"; xd: "ea.xd"; xe: "ea.xe"; xf: "ea.xf"; xg: "ea.xg"; xh: "ea.xh"; xi: "ea.xi"; xj: "ea.xj"; xk: "ea.xk"; xl: "ea.xl"; xm: "ea.xm"; xn: "ea.xn"; xo: "ea.xo"; xp: "ea.xp"; xq: "ea.xq"; xr: "ea.xr"; xs: "ea.xs"; xt: "ea.xt"; xu: "ea.xu"; xv: "ea.xv"; xw: "ea.xw"; xx: "ea.xx"; xy: "ea.xy"; xz: "ea.xz"; ya: "ea.ya"; yb: "ea.yb"; yc: "ea.yc"; yd: "ea.yd"; ye: "ea.ye"; yf: "ea.yf"; yg: "ea.yg"; yh: "ea.yh"; yi: "ea.yi"; yj: "ea.yj"; yk: "ea.yk"; yl: "ea.yl"; ym: "ea.ym"; yn: "ea.yn"; yo: "ea.yo"; yp: "ea.yp"; yq: "ea.yq"; yr: "ea.yr"; ys: "ea.ys"; yt: "ea.yt"; yu: "ea.yu"; yv: "ea.yv"; yw: "ea.yw"; yx: "ea.yx"; yy: "ea.yy"; yz: "ea.yz"; za: "ea.za"; zb: "ea.zb"; zc: "ea.zc"; zd: "ea.zd"; ze: "ea.ze"; zf: "ea.zf"; zg: "ea.zg"; zh: "ea.zh"; zi: "ea.zi"; zj: "ea.zj"; zk: "ea.zk"; zl: "ea.zl"; zm: "ea.zm"; zn: "ea.zn"; zo: "ea.zo"; zp: "ea.zp"; zq: "ea.zq"; zr: "ea.zr"; zs: "ea.zs"; zt: "ea.zt"; zu: "ea.zu"; zv: "ea.zv"; zw: "ea.zw"; zx: "ea.zx"; zy: "ea.zy"; zz: "ea.zz"; }; eb: { aa: "eb.aa"; ab: "eb.ab"; ac: "eb.ac"; ad: "eb.ad"; ae: "eb.ae"; af: "eb.af"; ag: "eb.ag"; ah: "eb.ah"; ai: "eb.ai"; aj: "eb.aj"; ak: "eb.ak"; al: "eb.al"; am: "eb.am"; an: "eb.an"; ao: "eb.ao"; ap: "eb.ap"; aq: "eb.aq"; ar: "eb.ar"; as: "eb.as"; at: "eb.at"; au: "eb.au"; av: "eb.av"; aw: "eb.aw"; ax: "eb.ax"; ay: "eb.ay"; az: "eb.az"; ba: "eb.ba"; bb: "eb.bb"; bc: "eb.bc"; bd: "eb.bd"; be: "eb.be"; bf: "eb.bf"; bg: "eb.bg"; bh: "eb.bh"; bi: "eb.bi"; bj: "eb.bj"; bk: "eb.bk"; bl: "eb.bl"; bm: "eb.bm"; bn: "eb.bn"; bo: "eb.bo"; bp: "eb.bp"; bq: "eb.bq"; br: "eb.br"; bs: "eb.bs"; bt: "eb.bt"; bu: "eb.bu"; bv: "eb.bv"; bw: "eb.bw"; bx: "eb.bx"; by: "eb.by"; bz: "eb.bz"; ca: "eb.ca"; cb: "eb.cb"; cc: "eb.cc"; cd: "eb.cd"; ce: "eb.ce"; cf: "eb.cf"; cg: "eb.cg"; ch: "eb.ch"; ci: "eb.ci"; cj: "eb.cj"; ck: "eb.ck"; cl: "eb.cl"; cm: "eb.cm"; cn: "eb.cn"; co: "eb.co"; cp: "eb.cp"; cq: "eb.cq"; cr: "eb.cr"; cs: "eb.cs"; ct: "eb.ct"; cu: "eb.cu"; cv: "eb.cv"; cw: "eb.cw"; cx: "eb.cx"; cy: "eb.cy"; cz: "eb.cz"; da: "eb.da"; db: "eb.db"; dc: "eb.dc"; dd: "eb.dd"; de: "eb.de"; df: "eb.df"; dg: "eb.dg"; dh: "eb.dh"; di: "eb.di"; dj: "eb.dj"; dk: "eb.dk"; dl: "eb.dl"; dm: "eb.dm"; dn: "eb.dn"; do: "eb.do"; dp: "eb.dp"; dq: "eb.dq"; dr: "eb.dr"; ds: "eb.ds"; dt: "eb.dt"; du: "eb.du"; dv: "eb.dv"; dw: "eb.dw"; dx: "eb.dx"; dy: "eb.dy"; dz: "eb.dz"; ea: "eb.ea"; eb: "eb.eb"; ec: "eb.ec"; ed: "eb.ed"; ee: "eb.ee"; ef: "eb.ef"; eg: "eb.eg"; eh: "eb.eh"; ei: "eb.ei"; ej: "eb.ej"; ek: "eb.ek"; el: "eb.el"; em: "eb.em"; en: "eb.en"; eo: "eb.eo"; ep: "eb.ep"; eq: "eb.eq"; er: "eb.er"; es: "eb.es"; et: "eb.et"; eu: "eb.eu"; ev: "eb.ev"; ew: "eb.ew"; ex: "eb.ex"; ey: "eb.ey"; ez: "eb.ez"; fa: "eb.fa"; fb: "eb.fb"; fc: "eb.fc"; fd: "eb.fd"; fe: "eb.fe"; ff: "eb.ff"; fg: "eb.fg"; fh: "eb.fh"; fi: "eb.fi"; fj: "eb.fj"; fk: "eb.fk"; fl: "eb.fl"; fm: "eb.fm"; fn: "eb.fn"; fo: "eb.fo"; fp: "eb.fp"; fq: "eb.fq"; fr: "eb.fr"; fs: "eb.fs"; ft: "eb.ft"; fu: "eb.fu"; fv: "eb.fv"; fw: "eb.fw"; fx: "eb.fx"; fy: "eb.fy"; fz: "eb.fz"; ga: "eb.ga"; gb: "eb.gb"; gc: "eb.gc"; gd: "eb.gd"; ge: "eb.ge"; gf: "eb.gf"; gg: "eb.gg"; gh: "eb.gh"; gi: "eb.gi"; gj: "eb.gj"; gk: "eb.gk"; gl: "eb.gl"; gm: "eb.gm"; gn: "eb.gn"; go: "eb.go"; gp: "eb.gp"; gq: "eb.gq"; gr: "eb.gr"; gs: "eb.gs"; gt: "eb.gt"; gu: "eb.gu"; gv: "eb.gv"; gw: "eb.gw"; gx: "eb.gx"; gy: "eb.gy"; gz: "eb.gz"; ha: "eb.ha"; hb: "eb.hb"; hc: "eb.hc"; hd: "eb.hd"; he: "eb.he"; hf: "eb.hf"; hg: "eb.hg"; hh: "eb.hh"; hi: "eb.hi"; hj: "eb.hj"; hk: "eb.hk"; hl: "eb.hl"; hm: "eb.hm"; hn: "eb.hn"; ho: "eb.ho"; hp: "eb.hp"; hq: "eb.hq"; hr: "eb.hr"; hs: "eb.hs"; ht: "eb.ht"; hu: "eb.hu"; hv: "eb.hv"; hw: "eb.hw"; hx: "eb.hx"; hy: "eb.hy"; hz: "eb.hz"; ia: "eb.ia"; ib: "eb.ib"; ic: "eb.ic"; id: "eb.id"; ie: "eb.ie"; if: "eb.if"; ig: "eb.ig"; ih: "eb.ih"; ii: "eb.ii"; ij: "eb.ij"; ik: "eb.ik"; il: "eb.il"; im: "eb.im"; in: "eb.in"; io: "eb.io"; ip: "eb.ip"; iq: "eb.iq"; ir: "eb.ir"; is: "eb.is"; it: "eb.it"; iu: "eb.iu"; iv: "eb.iv"; iw: "eb.iw"; ix: "eb.ix"; iy: "eb.iy"; iz: "eb.iz"; ja: "eb.ja"; jb: "eb.jb"; jc: "eb.jc"; jd: "eb.jd"; je: "eb.je"; jf: "eb.jf"; jg: "eb.jg"; jh: "eb.jh"; ji: "eb.ji"; jj: "eb.jj"; jk: "eb.jk"; jl: "eb.jl"; jm: "eb.jm"; jn: "eb.jn"; jo: "eb.jo"; jp: "eb.jp"; jq: "eb.jq"; jr: "eb.jr"; js: "eb.js"; jt: "eb.jt"; ju: "eb.ju"; jv: "eb.jv"; jw: "eb.jw"; jx: "eb.jx"; jy: "eb.jy"; jz: "eb.jz"; ka: "eb.ka"; kb: "eb.kb"; kc: "eb.kc"; kd: "eb.kd"; ke: "eb.ke"; kf: "eb.kf"; kg: "eb.kg"; kh: "eb.kh"; ki: "eb.ki"; kj: "eb.kj"; kk: "eb.kk"; kl: "eb.kl"; km: "eb.km"; kn: "eb.kn"; ko: "eb.ko"; kp: "eb.kp"; kq: "eb.kq"; kr: "eb.kr"; ks: "eb.ks"; kt: "eb.kt"; ku: "eb.ku"; kv: "eb.kv"; kw: "eb.kw"; kx: "eb.kx"; ky: "eb.ky"; kz: "eb.kz"; la: "eb.la"; lb: "eb.lb"; lc: "eb.lc"; ld: "eb.ld"; le: "eb.le"; lf: "eb.lf"; lg: "eb.lg"; lh: "eb.lh"; li: "eb.li"; lj: "eb.lj"; lk: "eb.lk"; ll: "eb.ll"; lm: "eb.lm"; ln: "eb.ln"; lo: "eb.lo"; lp: "eb.lp"; lq: "eb.lq"; lr: "eb.lr"; ls: "eb.ls"; lt: "eb.lt"; lu: "eb.lu"; lv: "eb.lv"; lw: "eb.lw"; lx: "eb.lx"; ly: "eb.ly"; lz: "eb.lz"; ma: "eb.ma"; mb: "eb.mb"; mc: "eb.mc"; md: "eb.md"; me: "eb.me"; mf: "eb.mf"; mg: "eb.mg"; mh: "eb.mh"; mi: "eb.mi"; mj: "eb.mj"; mk: "eb.mk"; ml: "eb.ml"; mm: "eb.mm"; mn: "eb.mn"; mo: "eb.mo"; mp: "eb.mp"; mq: "eb.mq"; mr: "eb.mr"; ms: "eb.ms"; mt: "eb.mt"; mu: "eb.mu"; mv: "eb.mv"; mw: "eb.mw"; mx: "eb.mx"; my: "eb.my"; mz: "eb.mz"; na: "eb.na"; nb: "eb.nb"; nc: "eb.nc"; nd: "eb.nd"; ne: "eb.ne"; nf: "eb.nf"; ng: "eb.ng"; nh: "eb.nh"; ni: "eb.ni"; nj: "eb.nj"; nk: "eb.nk"; nl: "eb.nl"; nm: "eb.nm"; nn: "eb.nn"; no: "eb.no"; np: "eb.np"; nq: "eb.nq"; nr: "eb.nr"; ns: "eb.ns"; nt: "eb.nt"; nu: "eb.nu"; nv: "eb.nv"; nw: "eb.nw"; nx: "eb.nx"; ny: "eb.ny"; nz: "eb.nz"; oa: "eb.oa"; ob: "eb.ob"; oc: "eb.oc"; od: "eb.od"; oe: "eb.oe"; of: "eb.of"; og: "eb.og"; oh: "eb.oh"; oi: "eb.oi"; oj: "eb.oj"; ok: "eb.ok"; ol: "eb.ol"; om: "eb.om"; on: "eb.on"; oo: "eb.oo"; op: "eb.op"; oq: "eb.oq"; or: "eb.or"; os: "eb.os"; ot: "eb.ot"; ou: "eb.ou"; ov: "eb.ov"; ow: "eb.ow"; ox: "eb.ox"; oy: "eb.oy"; oz: "eb.oz"; pa: "eb.pa"; pb: "eb.pb"; pc: "eb.pc"; pd: "eb.pd"; pe: "eb.pe"; pf: "eb.pf"; pg: "eb.pg"; ph: "eb.ph"; pi: "eb.pi"; pj: "eb.pj"; pk: "eb.pk"; pl: "eb.pl"; pm: "eb.pm"; pn: "eb.pn"; po: "eb.po"; pp: "eb.pp"; pq: "eb.pq"; pr: "eb.pr"; ps: "eb.ps"; pt: "eb.pt"; pu: "eb.pu"; pv: "eb.pv"; pw: "eb.pw"; px: "eb.px"; py: "eb.py"; pz: "eb.pz"; qa: "eb.qa"; qb: "eb.qb"; qc: "eb.qc"; qd: "eb.qd"; qe: "eb.qe"; qf: "eb.qf"; qg: "eb.qg"; qh: "eb.qh"; qi: "eb.qi"; qj: "eb.qj"; qk: "eb.qk"; ql: "eb.ql"; qm: "eb.qm"; qn: "eb.qn"; qo: "eb.qo"; qp: "eb.qp"; qq: "eb.qq"; qr: "eb.qr"; qs: "eb.qs"; qt: "eb.qt"; qu: "eb.qu"; qv: "eb.qv"; qw: "eb.qw"; qx: "eb.qx"; qy: "eb.qy"; qz: "eb.qz"; ra: "eb.ra"; rb: "eb.rb"; rc: "eb.rc"; rd: "eb.rd"; re: "eb.re"; rf: "eb.rf"; rg: "eb.rg"; rh: "eb.rh"; ri: "eb.ri"; rj: "eb.rj"; rk: "eb.rk"; rl: "eb.rl"; rm: "eb.rm"; rn: "eb.rn"; ro: "eb.ro"; rp: "eb.rp"; rq: "eb.rq"; rr: "eb.rr"; rs: "eb.rs"; rt: "eb.rt"; ru: "eb.ru"; rv: "eb.rv"; rw: "eb.rw"; rx: "eb.rx"; ry: "eb.ry"; rz: "eb.rz"; sa: "eb.sa"; sb: "eb.sb"; sc: "eb.sc"; sd: "eb.sd"; se: "eb.se"; sf: "eb.sf"; sg: "eb.sg"; sh: "eb.sh"; si: "eb.si"; sj: "eb.sj"; sk: "eb.sk"; sl: "eb.sl"; sm: "eb.sm"; sn: "eb.sn"; so: "eb.so"; sp: "eb.sp"; sq: "eb.sq"; sr: "eb.sr"; ss: "eb.ss"; st: "eb.st"; su: "eb.su"; sv: "eb.sv"; sw: "eb.sw"; sx: "eb.sx"; sy: "eb.sy"; sz: "eb.sz"; ta: "eb.ta"; tb: "eb.tb"; tc: "eb.tc"; td: "eb.td"; te: "eb.te"; tf: "eb.tf"; tg: "eb.tg"; th: "eb.th"; ti: "eb.ti"; tj: "eb.tj"; tk: "eb.tk"; tl: "eb.tl"; tm: "eb.tm"; tn: "eb.tn"; to: "eb.to"; tp: "eb.tp"; tq: "eb.tq"; tr: "eb.tr"; ts: "eb.ts"; tt: "eb.tt"; tu: "eb.tu"; tv: "eb.tv"; tw: "eb.tw"; tx: "eb.tx"; ty: "eb.ty"; tz: "eb.tz"; ua: "eb.ua"; ub: "eb.ub"; uc: "eb.uc"; ud: "eb.ud"; ue: "eb.ue"; uf: "eb.uf"; ug: "eb.ug"; uh: "eb.uh"; ui: "eb.ui"; uj: "eb.uj"; uk: "eb.uk"; ul: "eb.ul"; um: "eb.um"; un: "eb.un"; uo: "eb.uo"; up: "eb.up"; uq: "eb.uq"; ur: "eb.ur"; us: "eb.us"; ut: "eb.ut"; uu: "eb.uu"; uv: "eb.uv"; uw: "eb.uw"; ux: "eb.ux"; uy: "eb.uy"; uz: "eb.uz"; va: "eb.va"; vb: "eb.vb"; vc: "eb.vc"; vd: "eb.vd"; ve: "eb.ve"; vf: "eb.vf"; vg: "eb.vg"; vh: "eb.vh"; vi: "eb.vi"; vj: "eb.vj"; vk: "eb.vk"; vl: "eb.vl"; vm: "eb.vm"; vn: "eb.vn"; vo: "eb.vo"; vp: "eb.vp"; vq: "eb.vq"; vr: "eb.vr"; vs: "eb.vs"; vt: "eb.vt"; vu: "eb.vu"; vv: "eb.vv"; vw: "eb.vw"; vx: "eb.vx"; vy: "eb.vy"; vz: "eb.vz"; wa: "eb.wa"; wb: "eb.wb"; wc: "eb.wc"; wd: "eb.wd"; we: "eb.we"; wf: "eb.wf"; wg: "eb.wg"; wh: "eb.wh"; wi: "eb.wi"; wj: "eb.wj"; wk: "eb.wk"; wl: "eb.wl"; wm: "eb.wm"; wn: "eb.wn"; wo: "eb.wo"; wp: "eb.wp"; wq: "eb.wq"; wr: "eb.wr"; ws: "eb.ws"; wt: "eb.wt"; wu: "eb.wu"; wv: "eb.wv"; ww: "eb.ww"; wx: "eb.wx"; wy: "eb.wy"; wz: "eb.wz"; xa: "eb.xa"; xb: "eb.xb"; xc: "eb.xc"; xd: "eb.xd"; xe: "eb.xe"; xf: "eb.xf"; xg: "eb.xg"; xh: "eb.xh"; xi: "eb.xi"; xj: "eb.xj"; xk: "eb.xk"; xl: "eb.xl"; xm: "eb.xm"; xn: "eb.xn"; xo: "eb.xo"; xp: "eb.xp"; xq: "eb.xq"; xr: "eb.xr"; xs: "eb.xs"; xt: "eb.xt"; xu: "eb.xu"; xv: "eb.xv"; xw: "eb.xw"; xx: "eb.xx"; xy: "eb.xy"; xz: "eb.xz"; ya: "eb.ya"; yb: "eb.yb"; yc: "eb.yc"; yd: "eb.yd"; ye: "eb.ye"; yf: "eb.yf"; yg: "eb.yg"; yh: "eb.yh"; yi: "eb.yi"; yj: "eb.yj"; yk: "eb.yk"; yl: "eb.yl"; ym: "eb.ym"; yn: "eb.yn"; yo: "eb.yo"; yp: "eb.yp"; yq: "eb.yq"; yr: "eb.yr"; ys: "eb.ys"; yt: "eb.yt"; yu: "eb.yu"; yv: "eb.yv"; yw: "eb.yw"; yx: "eb.yx"; yy: "eb.yy"; yz: "eb.yz"; za: "eb.za"; zb: "eb.zb"; zc: "eb.zc"; zd: "eb.zd"; ze: "eb.ze"; zf: "eb.zf"; zg: "eb.zg"; zh: "eb.zh"; zi: "eb.zi"; zj: "eb.zj"; zk: "eb.zk"; zl: "eb.zl"; zm: "eb.zm"; zn: "eb.zn"; zo: "eb.zo"; zp: "eb.zp"; zq: "eb.zq"; zr: "eb.zr"; zs: "eb.zs"; zt: "eb.zt"; zu: "eb.zu"; zv: "eb.zv"; zw: "eb.zw"; zx: "eb.zx"; zy: "eb.zy"; zz: "eb.zz"; }; ec: { aa: "ec.aa"; ab: "ec.ab"; ac: "ec.ac"; ad: "ec.ad"; ae: "ec.ae"; af: "ec.af"; ag: "ec.ag"; ah: "ec.ah"; ai: "ec.ai"; aj: "ec.aj"; ak: "ec.ak"; al: "ec.al"; am: "ec.am"; an: "ec.an"; ao: "ec.ao"; ap: "ec.ap"; aq: "ec.aq"; ar: "ec.ar"; as: "ec.as"; at: "ec.at"; au: "ec.au"; av: "ec.av"; aw: "ec.aw"; ax: "ec.ax"; ay: "ec.ay"; az: "ec.az"; ba: "ec.ba"; bb: "ec.bb"; bc: "ec.bc"; bd: "ec.bd"; be: "ec.be"; bf: "ec.bf"; bg: "ec.bg"; bh: "ec.bh"; bi: "ec.bi"; bj: "ec.bj"; bk: "ec.bk"; bl: "ec.bl"; bm: "ec.bm"; bn: "ec.bn"; bo: "ec.bo"; bp: "ec.bp"; bq: "ec.bq"; br: "ec.br"; bs: "ec.bs"; bt: "ec.bt"; bu: "ec.bu"; bv: "ec.bv"; bw: "ec.bw"; bx: "ec.bx"; by: "ec.by"; bz: "ec.bz"; ca: "ec.ca"; cb: "ec.cb"; cc: "ec.cc"; cd: "ec.cd"; ce: "ec.ce"; cf: "ec.cf"; cg: "ec.cg"; ch: "ec.ch"; ci: "ec.ci"; cj: "ec.cj"; ck: "ec.ck"; cl: "ec.cl"; cm: "ec.cm"; cn: "ec.cn"; co: "ec.co"; cp: "ec.cp"; cq: "ec.cq"; cr: "ec.cr"; cs: "ec.cs"; ct: "ec.ct"; cu: "ec.cu"; cv: "ec.cv"; cw: "ec.cw"; cx: "ec.cx"; cy: "ec.cy"; cz: "ec.cz"; da: "ec.da"; db: "ec.db"; dc: "ec.dc"; dd: "ec.dd"; de: "ec.de"; df: "ec.df"; dg: "ec.dg"; dh: "ec.dh"; di: "ec.di"; dj: "ec.dj"; dk: "ec.dk"; dl: "ec.dl"; dm: "ec.dm"; dn: "ec.dn"; do: "ec.do"; dp: "ec.dp"; dq: "ec.dq"; dr: "ec.dr"; ds: "ec.ds"; dt: "ec.dt"; du: "ec.du"; dv: "ec.dv"; dw: "ec.dw"; dx: "ec.dx"; dy: "ec.dy"; dz: "ec.dz"; ea: "ec.ea"; eb: "ec.eb"; ec: "ec.ec"; ed: "ec.ed"; ee: "ec.ee"; ef: "ec.ef"; eg: "ec.eg"; eh: "ec.eh"; ei: "ec.ei"; ej: "ec.ej"; ek: "ec.ek"; el: "ec.el"; em: "ec.em"; en: "ec.en"; eo: "ec.eo"; ep: "ec.ep"; eq: "ec.eq"; er: "ec.er"; es: "ec.es"; et: "ec.et"; eu: "ec.eu"; ev: "ec.ev"; ew: "ec.ew"; ex: "ec.ex"; ey: "ec.ey"; ez: "ec.ez"; fa: "ec.fa"; fb: "ec.fb"; fc: "ec.fc"; fd: "ec.fd"; fe: "ec.fe"; ff: "ec.ff"; fg: "ec.fg"; fh: "ec.fh"; fi: "ec.fi"; fj: "ec.fj"; fk: "ec.fk"; fl: "ec.fl"; fm: "ec.fm"; fn: "ec.fn"; fo: "ec.fo"; fp: "ec.fp"; fq: "ec.fq"; fr: "ec.fr"; fs: "ec.fs"; ft: "ec.ft"; fu: "ec.fu"; fv: "ec.fv"; fw: "ec.fw"; fx: "ec.fx"; fy: "ec.fy"; fz: "ec.fz"; ga: "ec.ga"; gb: "ec.gb"; gc: "ec.gc"; gd: "ec.gd"; ge: "ec.ge"; gf: "ec.gf"; gg: "ec.gg"; gh: "ec.gh"; gi: "ec.gi"; gj: "ec.gj"; gk: "ec.gk"; gl: "ec.gl"; gm: "ec.gm"; gn: "ec.gn"; go: "ec.go"; gp: "ec.gp"; gq: "ec.gq"; gr: "ec.gr"; gs: "ec.gs"; gt: "ec.gt"; gu: "ec.gu"; gv: "ec.gv"; gw: "ec.gw"; gx: "ec.gx"; gy: "ec.gy"; gz: "ec.gz"; ha: "ec.ha"; hb: "ec.hb"; hc: "ec.hc"; hd: "ec.hd"; he: "ec.he"; hf: "ec.hf"; hg: "ec.hg"; hh: "ec.hh"; hi: "ec.hi"; hj: "ec.hj"; hk: "ec.hk"; hl: "ec.hl"; hm: "ec.hm"; hn: "ec.hn"; ho: "ec.ho"; hp: "ec.hp"; hq: "ec.hq"; hr: "ec.hr"; hs: "ec.hs"; ht: "ec.ht"; hu: "ec.hu"; hv: "ec.hv"; hw: "ec.hw"; hx: "ec.hx"; hy: "ec.hy"; hz: "ec.hz"; ia: "ec.ia"; ib: "ec.ib"; ic: "ec.ic"; id: "ec.id"; ie: "ec.ie"; if: "ec.if"; ig: "ec.ig"; ih: "ec.ih"; ii: "ec.ii"; ij: "ec.ij"; ik: "ec.ik"; il: "ec.il"; im: "ec.im"; in: "ec.in"; io: "ec.io"; ip: "ec.ip"; iq: "ec.iq"; ir: "ec.ir"; is: "ec.is"; it: "ec.it"; iu: "ec.iu"; iv: "ec.iv"; iw: "ec.iw"; ix: "ec.ix"; iy: "ec.iy"; iz: "ec.iz"; ja: "ec.ja"; jb: "ec.jb"; jc: "ec.jc"; jd: "ec.jd"; je: "ec.je"; jf: "ec.jf"; jg: "ec.jg"; jh: "ec.jh"; ji: "ec.ji"; jj: "ec.jj"; jk: "ec.jk"; jl: "ec.jl"; jm: "ec.jm"; jn: "ec.jn"; jo: "ec.jo"; jp: "ec.jp"; jq: "ec.jq"; jr: "ec.jr"; js: "ec.js"; jt: "ec.jt"; ju: "ec.ju"; jv: "ec.jv"; jw: "ec.jw"; jx: "ec.jx"; jy: "ec.jy"; jz: "ec.jz"; ka: "ec.ka"; kb: "ec.kb"; kc: "ec.kc"; kd: "ec.kd"; ke: "ec.ke"; kf: "ec.kf"; kg: "ec.kg"; kh: "ec.kh"; ki: "ec.ki"; kj: "ec.kj"; kk: "ec.kk"; kl: "ec.kl"; km: "ec.km"; kn: "ec.kn"; ko: "ec.ko"; kp: "ec.kp"; kq: "ec.kq"; kr: "ec.kr"; ks: "ec.ks"; kt: "ec.kt"; ku: "ec.ku"; kv: "ec.kv"; kw: "ec.kw"; kx: "ec.kx"; ky: "ec.ky"; kz: "ec.kz"; la: "ec.la"; lb: "ec.lb"; lc: "ec.lc"; ld: "ec.ld"; le: "ec.le"; lf: "ec.lf"; lg: "ec.lg"; lh: "ec.lh"; li: "ec.li"; lj: "ec.lj"; lk: "ec.lk"; ll: "ec.ll"; lm: "ec.lm"; ln: "ec.ln"; lo: "ec.lo"; lp: "ec.lp"; lq: "ec.lq"; lr: "ec.lr"; ls: "ec.ls"; lt: "ec.lt"; lu: "ec.lu"; lv: "ec.lv"; lw: "ec.lw"; lx: "ec.lx"; ly: "ec.ly"; lz: "ec.lz"; ma: "ec.ma"; mb: "ec.mb"; mc: "ec.mc"; md: "ec.md"; me: "ec.me"; mf: "ec.mf"; mg: "ec.mg"; mh: "ec.mh"; mi: "ec.mi"; mj: "ec.mj"; mk: "ec.mk"; ml: "ec.ml"; mm: "ec.mm"; mn: "ec.mn"; mo: "ec.mo"; mp: "ec.mp"; mq: "ec.mq"; mr: "ec.mr"; ms: "ec.ms"; mt: "ec.mt"; mu: "ec.mu"; mv: "ec.mv"; mw: "ec.mw"; mx: "ec.mx"; my: "ec.my"; mz: "ec.mz"; na: "ec.na"; nb: "ec.nb"; nc: "ec.nc"; nd: "ec.nd"; ne: "ec.ne"; nf: "ec.nf"; ng: "ec.ng"; nh: "ec.nh"; ni: "ec.ni"; nj: "ec.nj"; nk: "ec.nk"; nl: "ec.nl"; nm: "ec.nm"; nn: "ec.nn"; no: "ec.no"; np: "ec.np"; nq: "ec.nq"; nr: "ec.nr"; ns: "ec.ns"; nt: "ec.nt"; nu: "ec.nu"; nv: "ec.nv"; nw: "ec.nw"; nx: "ec.nx"; ny: "ec.ny"; nz: "ec.nz"; oa: "ec.oa"; ob: "ec.ob"; oc: "ec.oc"; od: "ec.od"; oe: "ec.oe"; of: "ec.of"; og: "ec.og"; oh: "ec.oh"; oi: "ec.oi"; oj: "ec.oj"; ok: "ec.ok"; ol: "ec.ol"; om: "ec.om"; on: "ec.on"; oo: "ec.oo"; op: "ec.op"; oq: "ec.oq"; or: "ec.or"; os: "ec.os"; ot: "ec.ot"; ou: "ec.ou"; ov: "ec.ov"; ow: "ec.ow"; ox: "ec.ox"; oy: "ec.oy"; oz: "ec.oz"; pa: "ec.pa"; pb: "ec.pb"; pc: "ec.pc"; pd: "ec.pd"; pe: "ec.pe"; pf: "ec.pf"; pg: "ec.pg"; ph: "ec.ph"; pi: "ec.pi"; pj: "ec.pj"; pk: "ec.pk"; pl: "ec.pl"; pm: "ec.pm"; pn: "ec.pn"; po: "ec.po"; pp: "ec.pp"; pq: "ec.pq"; pr: "ec.pr"; ps: "ec.ps"; pt: "ec.pt"; pu: "ec.pu"; pv: "ec.pv"; pw: "ec.pw"; px: "ec.px"; py: "ec.py"; pz: "ec.pz"; qa: "ec.qa"; qb: "ec.qb"; qc: "ec.qc"; qd: "ec.qd"; qe: "ec.qe"; qf: "ec.qf"; qg: "ec.qg"; qh: "ec.qh"; qi: "ec.qi"; qj: "ec.qj"; qk: "ec.qk"; ql: "ec.ql"; qm: "ec.qm"; qn: "ec.qn"; qo: "ec.qo"; qp: "ec.qp"; qq: "ec.qq"; qr: "ec.qr"; qs: "ec.qs"; qt: "ec.qt"; qu: "ec.qu"; qv: "ec.qv"; qw: "ec.qw"; qx: "ec.qx"; qy: "ec.qy"; qz: "ec.qz"; ra: "ec.ra"; rb: "ec.rb"; rc: "ec.rc"; rd: "ec.rd"; re: "ec.re"; rf: "ec.rf"; rg: "ec.rg"; rh: "ec.rh"; ri: "ec.ri"; rj: "ec.rj"; rk: "ec.rk"; rl: "ec.rl"; rm: "ec.rm"; rn: "ec.rn"; ro: "ec.ro"; rp: "ec.rp"; rq: "ec.rq"; rr: "ec.rr"; rs: "ec.rs"; rt: "ec.rt"; ru: "ec.ru"; rv: "ec.rv"; rw: "ec.rw"; rx: "ec.rx"; ry: "ec.ry"; rz: "ec.rz"; sa: "ec.sa"; sb: "ec.sb"; sc: "ec.sc"; sd: "ec.sd"; se: "ec.se"; sf: "ec.sf"; sg: "ec.sg"; sh: "ec.sh"; si: "ec.si"; sj: "ec.sj"; sk: "ec.sk"; sl: "ec.sl"; sm: "ec.sm"; sn: "ec.sn"; so: "ec.so"; sp: "ec.sp"; sq: "ec.sq"; sr: "ec.sr"; ss: "ec.ss"; st: "ec.st"; su: "ec.su"; sv: "ec.sv"; sw: "ec.sw"; sx: "ec.sx"; sy: "ec.sy"; sz: "ec.sz"; ta: "ec.ta"; tb: "ec.tb"; tc: "ec.tc"; td: "ec.td"; te: "ec.te"; tf: "ec.tf"; tg: "ec.tg"; th: "ec.th"; ti: "ec.ti"; tj: "ec.tj"; tk: "ec.tk"; tl: "ec.tl"; tm: "ec.tm"; tn: "ec.tn"; to: "ec.to"; tp: "ec.tp"; tq: "ec.tq"; tr: "ec.tr"; ts: "ec.ts"; tt: "ec.tt"; tu: "ec.tu"; tv: "ec.tv"; tw: "ec.tw"; tx: "ec.tx"; ty: "ec.ty"; tz: "ec.tz"; ua: "ec.ua"; ub: "ec.ub"; uc: "ec.uc"; ud: "ec.ud"; ue: "ec.ue"; uf: "ec.uf"; ug: "ec.ug"; uh: "ec.uh"; ui: "ec.ui"; uj: "ec.uj"; uk: "ec.uk"; ul: "ec.ul"; um: "ec.um"; un: "ec.un"; uo: "ec.uo"; up: "ec.up"; uq: "ec.uq"; ur: "ec.ur"; us: "ec.us"; ut: "ec.ut"; uu: "ec.uu"; uv: "ec.uv"; uw: "ec.uw"; ux: "ec.ux"; uy: "ec.uy"; uz: "ec.uz"; va: "ec.va"; vb: "ec.vb"; vc: "ec.vc"; vd: "ec.vd"; ve: "ec.ve"; vf: "ec.vf"; vg: "ec.vg"; vh: "ec.vh"; vi: "ec.vi"; vj: "ec.vj"; vk: "ec.vk"; vl: "ec.vl"; vm: "ec.vm"; vn: "ec.vn"; vo: "ec.vo"; vp: "ec.vp"; vq: "ec.vq"; vr: "ec.vr"; vs: "ec.vs"; vt: "ec.vt"; vu: "ec.vu"; vv: "ec.vv"; vw: "ec.vw"; vx: "ec.vx"; vy: "ec.vy"; vz: "ec.vz"; wa: "ec.wa"; wb: "ec.wb"; wc: "ec.wc"; wd: "ec.wd"; we: "ec.we"; wf: "ec.wf"; wg: "ec.wg"; wh: "ec.wh"; wi: "ec.wi"; wj: "ec.wj"; wk: "ec.wk"; wl: "ec.wl"; wm: "ec.wm"; wn: "ec.wn"; wo: "ec.wo"; wp: "ec.wp"; wq: "ec.wq"; wr: "ec.wr"; ws: "ec.ws"; wt: "ec.wt"; wu: "ec.wu"; wv: "ec.wv"; ww: "ec.ww"; wx: "ec.wx"; wy: "ec.wy"; wz: "ec.wz"; xa: "ec.xa"; xb: "ec.xb"; xc: "ec.xc"; xd: "ec.xd"; xe: "ec.xe"; xf: "ec.xf"; xg: "ec.xg"; xh: "ec.xh"; xi: "ec.xi"; xj: "ec.xj"; xk: "ec.xk"; xl: "ec.xl"; xm: "ec.xm"; xn: "ec.xn"; xo: "ec.xo"; xp: "ec.xp"; xq: "ec.xq"; xr: "ec.xr"; xs: "ec.xs"; xt: "ec.xt"; xu: "ec.xu"; xv: "ec.xv"; xw: "ec.xw"; xx: "ec.xx"; xy: "ec.xy"; xz: "ec.xz"; ya: "ec.ya"; yb: "ec.yb"; yc: "ec.yc"; yd: "ec.yd"; ye: "ec.ye"; yf: "ec.yf"; yg: "ec.yg"; yh: "ec.yh"; yi: "ec.yi"; yj: "ec.yj"; yk: "ec.yk"; yl: "ec.yl"; ym: "ec.ym"; yn: "ec.yn"; yo: "ec.yo"; yp: "ec.yp"; yq: "ec.yq"; yr: "ec.yr"; ys: "ec.ys"; yt: "ec.yt"; yu: "ec.yu"; yv: "ec.yv"; yw: "ec.yw"; yx: "ec.yx"; yy: "ec.yy"; yz: "ec.yz"; za: "ec.za"; zb: "ec.zb"; zc: "ec.zc"; zd: "ec.zd"; ze: "ec.ze"; zf: "ec.zf"; zg: "ec.zg"; zh: "ec.zh"; zi: "ec.zi"; zj: "ec.zj"; zk: "ec.zk"; zl: "ec.zl"; zm: "ec.zm"; zn: "ec.zn"; zo: "ec.zo"; zp: "ec.zp"; zq: "ec.zq"; zr: "ec.zr"; zs: "ec.zs"; zt: "ec.zt"; zu: "ec.zu"; zv: "ec.zv"; zw: "ec.zw"; zx: "ec.zx"; zy: "ec.zy"; zz: "ec.zz"; }; ed: { aa: "ed.aa"; ab: "ed.ab"; ac: "ed.ac"; ad: "ed.ad"; ae: "ed.ae"; af: "ed.af"; ag: "ed.ag"; ah: "ed.ah"; ai: "ed.ai"; aj: "ed.aj"; ak: "ed.ak"; al: "ed.al"; am: "ed.am"; an: "ed.an"; ao: "ed.ao"; ap: "ed.ap"; aq: "ed.aq"; ar: "ed.ar"; as: "ed.as"; at: "ed.at"; au: "ed.au"; av: "ed.av"; aw: "ed.aw"; ax: "ed.ax"; ay: "ed.ay"; az: "ed.az"; ba: "ed.ba"; bb: "ed.bb"; bc: "ed.bc"; bd: "ed.bd"; be: "ed.be"; bf: "ed.bf"; bg: "ed.bg"; bh: "ed.bh"; bi: "ed.bi"; bj: "ed.bj"; bk: "ed.bk"; bl: "ed.bl"; bm: "ed.bm"; bn: "ed.bn"; bo: "ed.bo"; bp: "ed.bp"; bq: "ed.bq"; br: "ed.br"; bs: "ed.bs"; bt: "ed.bt"; bu: "ed.bu"; bv: "ed.bv"; bw: "ed.bw"; bx: "ed.bx"; by: "ed.by"; bz: "ed.bz"; ca: "ed.ca"; cb: "ed.cb"; cc: "ed.cc"; cd: "ed.cd"; ce: "ed.ce"; cf: "ed.cf"; cg: "ed.cg"; ch: "ed.ch"; ci: "ed.ci"; cj: "ed.cj"; ck: "ed.ck"; cl: "ed.cl"; cm: "ed.cm"; cn: "ed.cn"; co: "ed.co"; cp: "ed.cp"; cq: "ed.cq"; cr: "ed.cr"; cs: "ed.cs"; ct: "ed.ct"; cu: "ed.cu"; cv: "ed.cv"; cw: "ed.cw"; cx: "ed.cx"; cy: "ed.cy"; cz: "ed.cz"; da: "ed.da"; db: "ed.db"; dc: "ed.dc"; dd: "ed.dd"; de: "ed.de"; df: "ed.df"; dg: "ed.dg"; dh: "ed.dh"; di: "ed.di"; dj: "ed.dj"; dk: "ed.dk"; dl: "ed.dl"; dm: "ed.dm"; dn: "ed.dn"; do: "ed.do"; dp: "ed.dp"; dq: "ed.dq"; dr: "ed.dr"; ds: "ed.ds"; dt: "ed.dt"; du: "ed.du"; dv: "ed.dv"; dw: "ed.dw"; dx: "ed.dx"; dy: "ed.dy"; dz: "ed.dz"; ea: "ed.ea"; eb: "ed.eb"; ec: "ed.ec"; ed: "ed.ed"; ee: "ed.ee"; ef: "ed.ef"; eg: "ed.eg"; eh: "ed.eh"; ei: "ed.ei"; ej: "ed.ej"; ek: "ed.ek"; el: "ed.el"; em: "ed.em"; en: "ed.en"; eo: "ed.eo"; ep: "ed.ep"; eq: "ed.eq"; er: "ed.er"; es: "ed.es"; et: "ed.et"; eu: "ed.eu"; ev: "ed.ev"; ew: "ed.ew"; ex: "ed.ex"; ey: "ed.ey"; ez: "ed.ez"; fa: "ed.fa"; fb: "ed.fb"; fc: "ed.fc"; fd: "ed.fd"; fe: "ed.fe"; ff: "ed.ff"; fg: "ed.fg"; fh: "ed.fh"; fi: "ed.fi"; fj: "ed.fj"; fk: "ed.fk"; fl: "ed.fl"; fm: "ed.fm"; fn: "ed.fn"; fo: "ed.fo"; fp: "ed.fp"; fq: "ed.fq"; fr: "ed.fr"; fs: "ed.fs"; ft: "ed.ft"; fu: "ed.fu"; fv: "ed.fv"; fw: "ed.fw"; fx: "ed.fx"; fy: "ed.fy"; fz: "ed.fz"; ga: "ed.ga"; gb: "ed.gb"; gc: "ed.gc"; gd: "ed.gd"; ge: "ed.ge"; gf: "ed.gf"; gg: "ed.gg"; gh: "ed.gh"; gi: "ed.gi"; gj: "ed.gj"; gk: "ed.gk"; gl: "ed.gl"; gm: "ed.gm"; gn: "ed.gn"; go: "ed.go"; gp: "ed.gp"; gq: "ed.gq"; gr: "ed.gr"; gs: "ed.gs"; gt: "ed.gt"; gu: "ed.gu"; gv: "ed.gv"; gw: "ed.gw"; gx: "ed.gx"; gy: "ed.gy"; gz: "ed.gz"; ha: "ed.ha"; hb: "ed.hb"; hc: "ed.hc"; hd: "ed.hd"; he: "ed.he"; hf: "ed.hf"; hg: "ed.hg"; hh: "ed.hh"; hi: "ed.hi"; hj: "ed.hj"; hk: "ed.hk"; hl: "ed.hl"; hm: "ed.hm"; hn: "ed.hn"; ho: "ed.ho"; hp: "ed.hp"; hq: "ed.hq"; hr: "ed.hr"; hs: "ed.hs"; ht: "ed.ht"; hu: "ed.hu"; hv: "ed.hv"; hw: "ed.hw"; hx: "ed.hx"; hy: "ed.hy"; hz: "ed.hz"; ia: "ed.ia"; ib: "ed.ib"; ic: "ed.ic"; id: "ed.id"; ie: "ed.ie"; if: "ed.if"; ig: "ed.ig"; ih: "ed.ih"; ii: "ed.ii"; ij: "ed.ij"; ik: "ed.ik"; il: "ed.il"; im: "ed.im"; in: "ed.in"; io: "ed.io"; ip: "ed.ip"; iq: "ed.iq"; ir: "ed.ir"; is: "ed.is"; it: "ed.it"; iu: "ed.iu"; iv: "ed.iv"; iw: "ed.iw"; ix: "ed.ix"; iy: "ed.iy"; iz: "ed.iz"; ja: "ed.ja"; jb: "ed.jb"; jc: "ed.jc"; jd: "ed.jd"; je: "ed.je"; jf: "ed.jf"; jg: "ed.jg"; jh: "ed.jh"; ji: "ed.ji"; jj: "ed.jj"; jk: "ed.jk"; jl: "ed.jl"; jm: "ed.jm"; jn: "ed.jn"; jo: "ed.jo"; jp: "ed.jp"; jq: "ed.jq"; jr: "ed.jr"; js: "ed.js"; jt: "ed.jt"; ju: "ed.ju"; jv: "ed.jv"; jw: "ed.jw"; jx: "ed.jx"; jy: "ed.jy"; jz: "ed.jz"; ka: "ed.ka"; kb: "ed.kb"; kc: "ed.kc"; kd: "ed.kd"; ke: "ed.ke"; kf: "ed.kf"; kg: "ed.kg"; kh: "ed.kh"; ki: "ed.ki"; kj: "ed.kj"; kk: "ed.kk"; kl: "ed.kl"; km: "ed.km"; kn: "ed.kn"; ko: "ed.ko"; kp: "ed.kp"; kq: "ed.kq"; kr: "ed.kr"; ks: "ed.ks"; kt: "ed.kt"; ku: "ed.ku"; kv: "ed.kv"; kw: "ed.kw"; kx: "ed.kx"; ky: "ed.ky"; kz: "ed.kz"; la: "ed.la"; lb: "ed.lb"; lc: "ed.lc"; ld: "ed.ld"; le: "ed.le"; lf: "ed.lf"; lg: "ed.lg"; lh: "ed.lh"; li: "ed.li"; lj: "ed.lj"; lk: "ed.lk"; ll: "ed.ll"; lm: "ed.lm"; ln: "ed.ln"; lo: "ed.lo"; lp: "ed.lp"; lq: "ed.lq"; lr: "ed.lr"; ls: "ed.ls"; lt: "ed.lt"; lu: "ed.lu"; lv: "ed.lv"; lw: "ed.lw"; lx: "ed.lx"; ly: "ed.ly"; lz: "ed.lz"; ma: "ed.ma"; mb: "ed.mb"; mc: "ed.mc"; md: "ed.md"; me: "ed.me"; mf: "ed.mf"; mg: "ed.mg"; mh: "ed.mh"; mi: "ed.mi"; mj: "ed.mj"; mk: "ed.mk"; ml: "ed.ml"; mm: "ed.mm"; mn: "ed.mn"; mo: "ed.mo"; mp: "ed.mp"; mq: "ed.mq"; mr: "ed.mr"; ms: "ed.ms"; mt: "ed.mt"; mu: "ed.mu"; mv: "ed.mv"; mw: "ed.mw"; mx: "ed.mx"; my: "ed.my"; mz: "ed.mz"; na: "ed.na"; nb: "ed.nb"; nc: "ed.nc"; nd: "ed.nd"; ne: "ed.ne"; nf: "ed.nf"; ng: "ed.ng"; nh: "ed.nh"; ni: "ed.ni"; nj: "ed.nj"; nk: "ed.nk"; nl: "ed.nl"; nm: "ed.nm"; nn: "ed.nn"; no: "ed.no"; np: "ed.np"; nq: "ed.nq"; nr: "ed.nr"; ns: "ed.ns"; nt: "ed.nt"; nu: "ed.nu"; nv: "ed.nv"; nw: "ed.nw"; nx: "ed.nx"; ny: "ed.ny"; nz: "ed.nz"; oa: "ed.oa"; ob: "ed.ob"; oc: "ed.oc"; od: "ed.od"; oe: "ed.oe"; of: "ed.of"; og: "ed.og"; oh: "ed.oh"; oi: "ed.oi"; oj: "ed.oj"; ok: "ed.ok"; ol: "ed.ol"; om: "ed.om"; on: "ed.on"; oo: "ed.oo"; op: "ed.op"; oq: "ed.oq"; or: "ed.or"; os: "ed.os"; ot: "ed.ot"; ou: "ed.ou"; ov: "ed.ov"; ow: "ed.ow"; ox: "ed.ox"; oy: "ed.oy"; oz: "ed.oz"; pa: "ed.pa"; pb: "ed.pb"; pc: "ed.pc"; pd: "ed.pd"; pe: "ed.pe"; pf: "ed.pf"; pg: "ed.pg"; ph: "ed.ph"; pi: "ed.pi"; pj: "ed.pj"; pk: "ed.pk"; pl: "ed.pl"; pm: "ed.pm"; pn: "ed.pn"; po: "ed.po"; pp: "ed.pp"; pq: "ed.pq"; pr: "ed.pr"; ps: "ed.ps"; pt: "ed.pt"; pu: "ed.pu"; pv: "ed.pv"; pw: "ed.pw"; px: "ed.px"; py: "ed.py"; pz: "ed.pz"; qa: "ed.qa"; qb: "ed.qb"; qc: "ed.qc"; qd: "ed.qd"; qe: "ed.qe"; qf: "ed.qf"; qg: "ed.qg"; qh: "ed.qh"; qi: "ed.qi"; qj: "ed.qj"; qk: "ed.qk"; ql: "ed.ql"; qm: "ed.qm"; qn: "ed.qn"; qo: "ed.qo"; qp: "ed.qp"; qq: "ed.qq"; qr: "ed.qr"; qs: "ed.qs"; qt: "ed.qt"; qu: "ed.qu"; qv: "ed.qv"; qw: "ed.qw"; qx: "ed.qx"; qy: "ed.qy"; qz: "ed.qz"; ra: "ed.ra"; rb: "ed.rb"; rc: "ed.rc"; rd: "ed.rd"; re: "ed.re"; rf: "ed.rf"; rg: "ed.rg"; rh: "ed.rh"; ri: "ed.ri"; rj: "ed.rj"; rk: "ed.rk"; rl: "ed.rl"; rm: "ed.rm"; rn: "ed.rn"; ro: "ed.ro"; rp: "ed.rp"; rq: "ed.rq"; rr: "ed.rr"; rs: "ed.rs"; rt: "ed.rt"; ru: "ed.ru"; rv: "ed.rv"; rw: "ed.rw"; rx: "ed.rx"; ry: "ed.ry"; rz: "ed.rz"; sa: "ed.sa"; sb: "ed.sb"; sc: "ed.sc"; sd: "ed.sd"; se: "ed.se"; sf: "ed.sf"; sg: "ed.sg"; sh: "ed.sh"; si: "ed.si"; sj: "ed.sj"; sk: "ed.sk"; sl: "ed.sl"; sm: "ed.sm"; sn: "ed.sn"; so: "ed.so"; sp: "ed.sp"; sq: "ed.sq"; sr: "ed.sr"; ss: "ed.ss"; st: "ed.st"; su: "ed.su"; sv: "ed.sv"; sw: "ed.sw"; sx: "ed.sx"; sy: "ed.sy"; sz: "ed.sz"; ta: "ed.ta"; tb: "ed.tb"; tc: "ed.tc"; td: "ed.td"; te: "ed.te"; tf: "ed.tf"; tg: "ed.tg"; th: "ed.th"; ti: "ed.ti"; tj: "ed.tj"; tk: "ed.tk"; tl: "ed.tl"; tm: "ed.tm"; tn: "ed.tn"; to: "ed.to"; tp: "ed.tp"; tq: "ed.tq"; tr: "ed.tr"; ts: "ed.ts"; tt: "ed.tt"; tu: "ed.tu"; tv: "ed.tv"; tw: "ed.tw"; tx: "ed.tx"; ty: "ed.ty"; tz: "ed.tz"; ua: "ed.ua"; ub: "ed.ub"; uc: "ed.uc"; ud: "ed.ud"; ue: "ed.ue"; uf: "ed.uf"; ug: "ed.ug"; uh: "ed.uh"; ui: "ed.ui"; uj: "ed.uj"; uk: "ed.uk"; ul: "ed.ul"; um: "ed.um"; un: "ed.un"; uo: "ed.uo"; up: "ed.up"; uq: "ed.uq"; ur: "ed.ur"; us: "ed.us"; ut: "ed.ut"; uu: "ed.uu"; uv: "ed.uv"; uw: "ed.uw"; ux: "ed.ux"; uy: "ed.uy"; uz: "ed.uz"; va: "ed.va"; vb: "ed.vb"; vc: "ed.vc"; vd: "ed.vd"; ve: "ed.ve"; vf: "ed.vf"; vg: "ed.vg"; vh: "ed.vh"; vi: "ed.vi"; vj: "ed.vj"; vk: "ed.vk"; vl: "ed.vl"; vm: "ed.vm"; vn: "ed.vn"; vo: "ed.vo"; vp: "ed.vp"; vq: "ed.vq"; vr: "ed.vr"; vs: "ed.vs"; vt: "ed.vt"; vu: "ed.vu"; vv: "ed.vv"; vw: "ed.vw"; vx: "ed.vx"; vy: "ed.vy"; vz: "ed.vz"; wa: "ed.wa"; wb: "ed.wb"; wc: "ed.wc"; wd: "ed.wd"; we: "ed.we"; wf: "ed.wf"; wg: "ed.wg"; wh: "ed.wh"; wi: "ed.wi"; wj: "ed.wj"; wk: "ed.wk"; wl: "ed.wl"; wm: "ed.wm"; wn: "ed.wn"; wo: "ed.wo"; wp: "ed.wp"; wq: "ed.wq"; wr: "ed.wr"; ws: "ed.ws"; wt: "ed.wt"; wu: "ed.wu"; wv: "ed.wv"; ww: "ed.ww"; wx: "ed.wx"; wy: "ed.wy"; wz: "ed.wz"; xa: "ed.xa"; xb: "ed.xb"; xc: "ed.xc"; xd: "ed.xd"; xe: "ed.xe"; xf: "ed.xf"; xg: "ed.xg"; xh: "ed.xh"; xi: "ed.xi"; xj: "ed.xj"; xk: "ed.xk"; xl: "ed.xl"; xm: "ed.xm"; xn: "ed.xn"; xo: "ed.xo"; xp: "ed.xp"; xq: "ed.xq"; xr: "ed.xr"; xs: "ed.xs"; xt: "ed.xt"; xu: "ed.xu"; xv: "ed.xv"; xw: "ed.xw"; xx: "ed.xx"; xy: "ed.xy"; xz: "ed.xz"; ya: "ed.ya"; yb: "ed.yb"; yc: "ed.yc"; yd: "ed.yd"; ye: "ed.ye"; yf: "ed.yf"; yg: "ed.yg"; yh: "ed.yh"; yi: "ed.yi"; yj: "ed.yj"; yk: "ed.yk"; yl: "ed.yl"; ym: "ed.ym"; yn: "ed.yn"; yo: "ed.yo"; yp: "ed.yp"; yq: "ed.yq"; yr: "ed.yr"; ys: "ed.ys"; yt: "ed.yt"; yu: "ed.yu"; yv: "ed.yv"; yw: "ed.yw"; yx: "ed.yx"; yy: "ed.yy"; yz: "ed.yz"; za: "ed.za"; zb: "ed.zb"; zc: "ed.zc"; zd: "ed.zd"; ze: "ed.ze"; zf: "ed.zf"; zg: "ed.zg"; zh: "ed.zh"; zi: "ed.zi"; zj: "ed.zj"; zk: "ed.zk"; zl: "ed.zl"; zm: "ed.zm"; zn: "ed.zn"; zo: "ed.zo"; zp: "ed.zp"; zq: "ed.zq"; zr: "ed.zr"; zs: "ed.zs"; zt: "ed.zt"; zu: "ed.zu"; zv: "ed.zv"; zw: "ed.zw"; zx: "ed.zx"; zy: "ed.zy"; zz: "ed.zz"; }; ee: { aa: "ee.aa"; ab: "ee.ab"; ac: "ee.ac"; ad: "ee.ad"; ae: "ee.ae"; af: "ee.af"; ag: "ee.ag"; ah: "ee.ah"; ai: "ee.ai"; aj: "ee.aj"; ak: "ee.ak"; al: "ee.al"; am: "ee.am"; an: "ee.an"; ao: "ee.ao"; ap: "ee.ap"; aq: "ee.aq"; ar: "ee.ar"; as: "ee.as"; at: "ee.at"; au: "ee.au"; av: "ee.av"; aw: "ee.aw"; ax: "ee.ax"; ay: "ee.ay"; az: "ee.az"; ba: "ee.ba"; bb: "ee.bb"; bc: "ee.bc"; bd: "ee.bd"; be: "ee.be"; bf: "ee.bf"; bg: "ee.bg"; bh: "ee.bh"; bi: "ee.bi"; bj: "ee.bj"; bk: "ee.bk"; bl: "ee.bl"; bm: "ee.bm"; bn: "ee.bn"; bo: "ee.bo"; bp: "ee.bp"; bq: "ee.bq"; br: "ee.br"; bs: "ee.bs"; bt: "ee.bt"; bu: "ee.bu"; bv: "ee.bv"; bw: "ee.bw"; bx: "ee.bx"; by: "ee.by"; bz: "ee.bz"; ca: "ee.ca"; cb: "ee.cb"; cc: "ee.cc"; cd: "ee.cd"; ce: "ee.ce"; cf: "ee.cf"; cg: "ee.cg"; ch: "ee.ch"; ci: "ee.ci"; cj: "ee.cj"; ck: "ee.ck"; cl: "ee.cl"; cm: "ee.cm"; cn: "ee.cn"; co: "ee.co"; cp: "ee.cp"; cq: "ee.cq"; cr: "ee.cr"; cs: "ee.cs"; ct: "ee.ct"; cu: "ee.cu"; cv: "ee.cv"; cw: "ee.cw"; cx: "ee.cx"; cy: "ee.cy"; cz: "ee.cz"; da: "ee.da"; db: "ee.db"; dc: "ee.dc"; dd: "ee.dd"; de: "ee.de"; df: "ee.df"; dg: "ee.dg"; dh: "ee.dh"; di: "ee.di"; dj: "ee.dj"; dk: "ee.dk"; dl: "ee.dl"; dm: "ee.dm"; dn: "ee.dn"; do: "ee.do"; dp: "ee.dp"; dq: "ee.dq"; dr: "ee.dr"; ds: "ee.ds"; dt: "ee.dt"; du: "ee.du"; dv: "ee.dv"; dw: "ee.dw"; dx: "ee.dx"; dy: "ee.dy"; dz: "ee.dz"; ea: "ee.ea"; eb: "ee.eb"; ec: "ee.ec"; ed: "ee.ed"; ee: "ee.ee"; ef: "ee.ef"; eg: "ee.eg"; eh: "ee.eh"; ei: "ee.ei"; ej: "ee.ej"; ek: "ee.ek"; el: "ee.el"; em: "ee.em"; en: "ee.en"; eo: "ee.eo"; ep: "ee.ep"; eq: "ee.eq"; er: "ee.er"; es: "ee.es"; et: "ee.et"; eu: "ee.eu"; ev: "ee.ev"; ew: "ee.ew"; ex: "ee.ex"; ey: "ee.ey"; ez: "ee.ez"; fa: "ee.fa"; fb: "ee.fb"; fc: "ee.fc"; fd: "ee.fd"; fe: "ee.fe"; ff: "ee.ff"; fg: "ee.fg"; fh: "ee.fh"; fi: "ee.fi"; fj: "ee.fj"; fk: "ee.fk"; fl: "ee.fl"; fm: "ee.fm"; fn: "ee.fn"; fo: "ee.fo"; fp: "ee.fp"; fq: "ee.fq"; fr: "ee.fr"; fs: "ee.fs"; ft: "ee.ft"; fu: "ee.fu"; fv: "ee.fv"; fw: "ee.fw"; fx: "ee.fx"; fy: "ee.fy"; fz: "ee.fz"; ga: "ee.ga"; gb: "ee.gb"; gc: "ee.gc"; gd: "ee.gd"; ge: "ee.ge"; gf: "ee.gf"; gg: "ee.gg"; gh: "ee.gh"; gi: "ee.gi"; gj: "ee.gj"; gk: "ee.gk"; gl: "ee.gl"; gm: "ee.gm"; gn: "ee.gn"; go: "ee.go"; gp: "ee.gp"; gq: "ee.gq"; gr: "ee.gr"; gs: "ee.gs"; gt: "ee.gt"; gu: "ee.gu"; gv: "ee.gv"; gw: "ee.gw"; gx: "ee.gx"; gy: "ee.gy"; gz: "ee.gz"; ha: "ee.ha"; hb: "ee.hb"; hc: "ee.hc"; hd: "ee.hd"; he: "ee.he"; hf: "ee.hf"; hg: "ee.hg"; hh: "ee.hh"; hi: "ee.hi"; hj: "ee.hj"; hk: "ee.hk"; hl: "ee.hl"; hm: "ee.hm"; hn: "ee.hn"; ho: "ee.ho"; hp: "ee.hp"; hq: "ee.hq"; hr: "ee.hr"; hs: "ee.hs"; ht: "ee.ht"; hu: "ee.hu"; hv: "ee.hv"; hw: "ee.hw"; hx: "ee.hx"; hy: "ee.hy"; hz: "ee.hz"; ia: "ee.ia"; ib: "ee.ib"; ic: "ee.ic"; id: "ee.id"; ie: "ee.ie"; if: "ee.if"; ig: "ee.ig"; ih: "ee.ih"; ii: "ee.ii"; ij: "ee.ij"; ik: "ee.ik"; il: "ee.il"; im: "ee.im"; in: "ee.in"; io: "ee.io"; ip: "ee.ip"; iq: "ee.iq"; ir: "ee.ir"; is: "ee.is"; it: "ee.it"; iu: "ee.iu"; iv: "ee.iv"; iw: "ee.iw"; ix: "ee.ix"; iy: "ee.iy"; iz: "ee.iz"; ja: "ee.ja"; jb: "ee.jb"; jc: "ee.jc"; jd: "ee.jd"; je: "ee.je"; jf: "ee.jf"; jg: "ee.jg"; jh: "ee.jh"; ji: "ee.ji"; jj: "ee.jj"; jk: "ee.jk"; jl: "ee.jl"; jm: "ee.jm"; jn: "ee.jn"; jo: "ee.jo"; jp: "ee.jp"; jq: "ee.jq"; jr: "ee.jr"; js: "ee.js"; jt: "ee.jt"; ju: "ee.ju"; jv: "ee.jv"; jw: "ee.jw"; jx: "ee.jx"; jy: "ee.jy"; jz: "ee.jz"; ka: "ee.ka"; kb: "ee.kb"; kc: "ee.kc"; kd: "ee.kd"; ke: "ee.ke"; kf: "ee.kf"; kg: "ee.kg"; kh: "ee.kh"; ki: "ee.ki"; kj: "ee.kj"; kk: "ee.kk"; kl: "ee.kl"; km: "ee.km"; kn: "ee.kn"; ko: "ee.ko"; kp: "ee.kp"; kq: "ee.kq"; kr: "ee.kr"; ks: "ee.ks"; kt: "ee.kt"; ku: "ee.ku"; kv: "ee.kv"; kw: "ee.kw"; kx: "ee.kx"; ky: "ee.ky"; kz: "ee.kz"; la: "ee.la"; lb: "ee.lb"; lc: "ee.lc"; ld: "ee.ld"; le: "ee.le"; lf: "ee.lf"; lg: "ee.lg"; lh: "ee.lh"; li: "ee.li"; lj: "ee.lj"; lk: "ee.lk"; ll: "ee.ll"; lm: "ee.lm"; ln: "ee.ln"; lo: "ee.lo"; lp: "ee.lp"; lq: "ee.lq"; lr: "ee.lr"; ls: "ee.ls"; lt: "ee.lt"; lu: "ee.lu"; lv: "ee.lv"; lw: "ee.lw"; lx: "ee.lx"; ly: "ee.ly"; lz: "ee.lz"; ma: "ee.ma"; mb: "ee.mb"; mc: "ee.mc"; md: "ee.md"; me: "ee.me"; mf: "ee.mf"; mg: "ee.mg"; mh: "ee.mh"; mi: "ee.mi"; mj: "ee.mj"; mk: "ee.mk"; ml: "ee.ml"; mm: "ee.mm"; mn: "ee.mn"; mo: "ee.mo"; mp: "ee.mp"; mq: "ee.mq"; mr: "ee.mr"; ms: "ee.ms"; mt: "ee.mt"; mu: "ee.mu"; mv: "ee.mv"; mw: "ee.mw"; mx: "ee.mx"; my: "ee.my"; mz: "ee.mz"; na: "ee.na"; nb: "ee.nb"; nc: "ee.nc"; nd: "ee.nd"; ne: "ee.ne"; nf: "ee.nf"; ng: "ee.ng"; nh: "ee.nh"; ni: "ee.ni"; nj: "ee.nj"; nk: "ee.nk"; nl: "ee.nl"; nm: "ee.nm"; nn: "ee.nn"; no: "ee.no"; np: "ee.np"; nq: "ee.nq"; nr: "ee.nr"; ns: "ee.ns"; nt: "ee.nt"; nu: "ee.nu"; nv: "ee.nv"; nw: "ee.nw"; nx: "ee.nx"; ny: "ee.ny"; nz: "ee.nz"; oa: "ee.oa"; ob: "ee.ob"; oc: "ee.oc"; od: "ee.od"; oe: "ee.oe"; of: "ee.of"; og: "ee.og"; oh: "ee.oh"; oi: "ee.oi"; oj: "ee.oj"; ok: "ee.ok"; ol: "ee.ol"; om: "ee.om"; on: "ee.on"; oo: "ee.oo"; op: "ee.op"; oq: "ee.oq"; or: "ee.or"; os: "ee.os"; ot: "ee.ot"; ou: "ee.ou"; ov: "ee.ov"; ow: "ee.ow"; ox: "ee.ox"; oy: "ee.oy"; oz: "ee.oz"; pa: "ee.pa"; pb: "ee.pb"; pc: "ee.pc"; pd: "ee.pd"; pe: "ee.pe"; pf: "ee.pf"; pg: "ee.pg"; ph: "ee.ph"; pi: "ee.pi"; pj: "ee.pj"; pk: "ee.pk"; pl: "ee.pl"; pm: "ee.pm"; pn: "ee.pn"; po: "ee.po"; pp: "ee.pp"; pq: "ee.pq"; pr: "ee.pr"; ps: "ee.ps"; pt: "ee.pt"; pu: "ee.pu"; pv: "ee.pv"; pw: "ee.pw"; px: "ee.px"; py: "ee.py"; pz: "ee.pz"; qa: "ee.qa"; qb: "ee.qb"; qc: "ee.qc"; qd: "ee.qd"; qe: "ee.qe"; qf: "ee.qf"; qg: "ee.qg"; qh: "ee.qh"; qi: "ee.qi"; qj: "ee.qj"; qk: "ee.qk"; ql: "ee.ql"; qm: "ee.qm"; qn: "ee.qn"; qo: "ee.qo"; qp: "ee.qp"; qq: "ee.qq"; qr: "ee.qr"; qs: "ee.qs"; qt: "ee.qt"; qu: "ee.qu"; qv: "ee.qv"; qw: "ee.qw"; qx: "ee.qx"; qy: "ee.qy"; qz: "ee.qz"; ra: "ee.ra"; rb: "ee.rb"; rc: "ee.rc"; rd: "ee.rd"; re: "ee.re"; rf: "ee.rf"; rg: "ee.rg"; rh: "ee.rh"; ri: "ee.ri"; rj: "ee.rj"; rk: "ee.rk"; rl: "ee.rl"; rm: "ee.rm"; rn: "ee.rn"; ro: "ee.ro"; rp: "ee.rp"; rq: "ee.rq"; rr: "ee.rr"; rs: "ee.rs"; rt: "ee.rt"; ru: "ee.ru"; rv: "ee.rv"; rw: "ee.rw"; rx: "ee.rx"; ry: "ee.ry"; rz: "ee.rz"; sa: "ee.sa"; sb: "ee.sb"; sc: "ee.sc"; sd: "ee.sd"; se: "ee.se"; sf: "ee.sf"; sg: "ee.sg"; sh: "ee.sh"; si: "ee.si"; sj: "ee.sj"; sk: "ee.sk"; sl: "ee.sl"; sm: "ee.sm"; sn: "ee.sn"; so: "ee.so"; sp: "ee.sp"; sq: "ee.sq"; sr: "ee.sr"; ss: "ee.ss"; st: "ee.st"; su: "ee.su"; sv: "ee.sv"; sw: "ee.sw"; sx: "ee.sx"; sy: "ee.sy"; sz: "ee.sz"; ta: "ee.ta"; tb: "ee.tb"; tc: "ee.tc"; td: "ee.td"; te: "ee.te"; tf: "ee.tf"; tg: "ee.tg"; th: "ee.th"; ti: "ee.ti"; tj: "ee.tj"; tk: "ee.tk"; tl: "ee.tl"; tm: "ee.tm"; tn: "ee.tn"; to: "ee.to"; tp: "ee.tp"; tq: "ee.tq"; tr: "ee.tr"; ts: "ee.ts"; tt: "ee.tt"; tu: "ee.tu"; tv: "ee.tv"; tw: "ee.tw"; tx: "ee.tx"; ty: "ee.ty"; tz: "ee.tz"; ua: "ee.ua"; ub: "ee.ub"; uc: "ee.uc"; ud: "ee.ud"; ue: "ee.ue"; uf: "ee.uf"; ug: "ee.ug"; uh: "ee.uh"; ui: "ee.ui"; uj: "ee.uj"; uk: "ee.uk"; ul: "ee.ul"; um: "ee.um"; un: "ee.un"; uo: "ee.uo"; up: "ee.up"; uq: "ee.uq"; ur: "ee.ur"; us: "ee.us"; ut: "ee.ut"; uu: "ee.uu"; uv: "ee.uv"; uw: "ee.uw"; ux: "ee.ux"; uy: "ee.uy"; uz: "ee.uz"; va: "ee.va"; vb: "ee.vb"; vc: "ee.vc"; vd: "ee.vd"; ve: "ee.ve"; vf: "ee.vf"; vg: "ee.vg"; vh: "ee.vh"; vi: "ee.vi"; vj: "ee.vj"; vk: "ee.vk"; vl: "ee.vl"; vm: "ee.vm"; vn: "ee.vn"; vo: "ee.vo"; vp: "ee.vp"; vq: "ee.vq"; vr: "ee.vr"; vs: "ee.vs"; vt: "ee.vt"; vu: "ee.vu"; vv: "ee.vv"; vw: "ee.vw"; vx: "ee.vx"; vy: "ee.vy"; vz: "ee.vz"; wa: "ee.wa"; wb: "ee.wb"; wc: "ee.wc"; wd: "ee.wd"; we: "ee.we"; wf: "ee.wf"; wg: "ee.wg"; wh: "ee.wh"; wi: "ee.wi"; wj: "ee.wj"; wk: "ee.wk"; wl: "ee.wl"; wm: "ee.wm"; wn: "ee.wn"; wo: "ee.wo"; wp: "ee.wp"; wq: "ee.wq"; wr: "ee.wr"; ws: "ee.ws"; wt: "ee.wt"; wu: "ee.wu"; wv: "ee.wv"; ww: "ee.ww"; wx: "ee.wx"; wy: "ee.wy"; wz: "ee.wz"; xa: "ee.xa"; xb: "ee.xb"; xc: "ee.xc"; xd: "ee.xd"; xe: "ee.xe"; xf: "ee.xf"; xg: "ee.xg"; xh: "ee.xh"; xi: "ee.xi"; xj: "ee.xj"; xk: "ee.xk"; xl: "ee.xl"; xm: "ee.xm"; xn: "ee.xn"; xo: "ee.xo"; xp: "ee.xp"; xq: "ee.xq"; xr: "ee.xr"; xs: "ee.xs"; xt: "ee.xt"; xu: "ee.xu"; xv: "ee.xv"; xw: "ee.xw"; xx: "ee.xx"; xy: "ee.xy"; xz: "ee.xz"; ya: "ee.ya"; yb: "ee.yb"; yc: "ee.yc"; yd: "ee.yd"; ye: "ee.ye"; yf: "ee.yf"; yg: "ee.yg"; yh: "ee.yh"; yi: "ee.yi"; yj: "ee.yj"; yk: "ee.yk"; yl: "ee.yl"; ym: "ee.ym"; yn: "ee.yn"; yo: "ee.yo"; yp: "ee.yp"; yq: "ee.yq"; yr: "ee.yr"; ys: "ee.ys"; yt: "ee.yt"; yu: "ee.yu"; yv: "ee.yv"; yw: "ee.yw"; yx: "ee.yx"; yy: "ee.yy"; yz: "ee.yz"; za: "ee.za"; zb: "ee.zb"; zc: "ee.zc"; zd: "ee.zd"; ze: "ee.ze"; zf: "ee.zf"; zg: "ee.zg"; zh: "ee.zh"; zi: "ee.zi"; zj: "ee.zj"; zk: "ee.zk"; zl: "ee.zl"; zm: "ee.zm"; zn: "ee.zn"; zo: "ee.zo"; zp: "ee.zp"; zq: "ee.zq"; zr: "ee.zr"; zs: "ee.zs"; zt: "ee.zt"; zu: "ee.zu"; zv: "ee.zv"; zw: "ee.zw"; zx: "ee.zx"; zy: "ee.zy"; zz: "ee.zz"; }; ef: { aa: "ef.aa"; ab: "ef.ab"; ac: "ef.ac"; ad: "ef.ad"; ae: "ef.ae"; af: "ef.af"; ag: "ef.ag"; ah: "ef.ah"; ai: "ef.ai"; aj: "ef.aj"; ak: "ef.ak"; al: "ef.al"; am: "ef.am"; an: "ef.an"; ao: "ef.ao"; ap: "ef.ap"; aq: "ef.aq"; ar: "ef.ar"; as: "ef.as"; at: "ef.at"; au: "ef.au"; av: "ef.av"; aw: "ef.aw"; ax: "ef.ax"; ay: "ef.ay"; az: "ef.az"; ba: "ef.ba"; bb: "ef.bb"; bc: "ef.bc"; bd: "ef.bd"; be: "ef.be"; bf: "ef.bf"; bg: "ef.bg"; bh: "ef.bh"; bi: "ef.bi"; bj: "ef.bj"; bk: "ef.bk"; bl: "ef.bl"; bm: "ef.bm"; bn: "ef.bn"; bo: "ef.bo"; bp: "ef.bp"; bq: "ef.bq"; br: "ef.br"; bs: "ef.bs"; bt: "ef.bt"; bu: "ef.bu"; bv: "ef.bv"; bw: "ef.bw"; bx: "ef.bx"; by: "ef.by"; bz: "ef.bz"; ca: "ef.ca"; cb: "ef.cb"; cc: "ef.cc"; cd: "ef.cd"; ce: "ef.ce"; cf: "ef.cf"; cg: "ef.cg"; ch: "ef.ch"; ci: "ef.ci"; cj: "ef.cj"; ck: "ef.ck"; cl: "ef.cl"; cm: "ef.cm"; cn: "ef.cn"; co: "ef.co"; cp: "ef.cp"; cq: "ef.cq"; cr: "ef.cr"; cs: "ef.cs"; ct: "ef.ct"; cu: "ef.cu"; cv: "ef.cv"; cw: "ef.cw"; cx: "ef.cx"; cy: "ef.cy"; cz: "ef.cz"; da: "ef.da"; db: "ef.db"; dc: "ef.dc"; dd: "ef.dd"; de: "ef.de"; df: "ef.df"; dg: "ef.dg"; dh: "ef.dh"; di: "ef.di"; dj: "ef.dj"; dk: "ef.dk"; dl: "ef.dl"; dm: "ef.dm"; dn: "ef.dn"; do: "ef.do"; dp: "ef.dp"; dq: "ef.dq"; dr: "ef.dr"; ds: "ef.ds"; dt: "ef.dt"; du: "ef.du"; dv: "ef.dv"; dw: "ef.dw"; dx: "ef.dx"; dy: "ef.dy"; dz: "ef.dz"; ea: "ef.ea"; eb: "ef.eb"; ec: "ef.ec"; ed: "ef.ed"; ee: "ef.ee"; ef: "ef.ef"; eg: "ef.eg"; eh: "ef.eh"; ei: "ef.ei"; ej: "ef.ej"; ek: "ef.ek"; el: "ef.el"; em: "ef.em"; en: "ef.en"; eo: "ef.eo"; ep: "ef.ep"; eq: "ef.eq"; er: "ef.er"; es: "ef.es"; et: "ef.et"; eu: "ef.eu"; ev: "ef.ev"; ew: "ef.ew"; ex: "ef.ex"; ey: "ef.ey"; ez: "ef.ez"; fa: "ef.fa"; fb: "ef.fb"; fc: "ef.fc"; fd: "ef.fd"; fe: "ef.fe"; ff: "ef.ff"; fg: "ef.fg"; fh: "ef.fh"; fi: "ef.fi"; fj: "ef.fj"; fk: "ef.fk"; fl: "ef.fl"; fm: "ef.fm"; fn: "ef.fn"; fo: "ef.fo"; fp: "ef.fp"; fq: "ef.fq"; fr: "ef.fr"; fs: "ef.fs"; ft: "ef.ft"; fu: "ef.fu"; fv: "ef.fv"; fw: "ef.fw"; fx: "ef.fx"; fy: "ef.fy"; fz: "ef.fz"; ga: "ef.ga"; gb: "ef.gb"; gc: "ef.gc"; gd: "ef.gd"; ge: "ef.ge"; gf: "ef.gf"; gg: "ef.gg"; gh: "ef.gh"; gi: "ef.gi"; gj: "ef.gj"; gk: "ef.gk"; gl: "ef.gl"; gm: "ef.gm"; gn: "ef.gn"; go: "ef.go"; gp: "ef.gp"; gq: "ef.gq"; gr: "ef.gr"; gs: "ef.gs"; gt: "ef.gt"; gu: "ef.gu"; gv: "ef.gv"; gw: "ef.gw"; gx: "ef.gx"; gy: "ef.gy"; gz: "ef.gz"; ha: "ef.ha"; hb: "ef.hb"; hc: "ef.hc"; hd: "ef.hd"; he: "ef.he"; hf: "ef.hf"; hg: "ef.hg"; hh: "ef.hh"; hi: "ef.hi"; hj: "ef.hj"; hk: "ef.hk"; hl: "ef.hl"; hm: "ef.hm"; hn: "ef.hn"; ho: "ef.ho"; hp: "ef.hp"; hq: "ef.hq"; hr: "ef.hr"; hs: "ef.hs"; ht: "ef.ht"; hu: "ef.hu"; hv: "ef.hv"; hw: "ef.hw"; hx: "ef.hx"; hy: "ef.hy"; hz: "ef.hz"; ia: "ef.ia"; ib: "ef.ib"; ic: "ef.ic"; id: "ef.id"; ie: "ef.ie"; if: "ef.if"; ig: "ef.ig"; ih: "ef.ih"; ii: "ef.ii"; ij: "ef.ij"; ik: "ef.ik"; il: "ef.il"; im: "ef.im"; in: "ef.in"; io: "ef.io"; ip: "ef.ip"; iq: "ef.iq"; ir: "ef.ir"; is: "ef.is"; it: "ef.it"; iu: "ef.iu"; iv: "ef.iv"; iw: "ef.iw"; ix: "ef.ix"; iy: "ef.iy"; iz: "ef.iz"; ja: "ef.ja"; jb: "ef.jb"; jc: "ef.jc"; jd: "ef.jd"; je: "ef.je"; jf: "ef.jf"; jg: "ef.jg"; jh: "ef.jh"; ji: "ef.ji"; jj: "ef.jj"; jk: "ef.jk"; jl: "ef.jl"; jm: "ef.jm"; jn: "ef.jn"; jo: "ef.jo"; jp: "ef.jp"; jq: "ef.jq"; jr: "ef.jr"; js: "ef.js"; jt: "ef.jt"; ju: "ef.ju"; jv: "ef.jv"; jw: "ef.jw"; jx: "ef.jx"; jy: "ef.jy"; jz: "ef.jz"; ka: "ef.ka"; kb: "ef.kb"; kc: "ef.kc"; kd: "ef.kd"; ke: "ef.ke"; kf: "ef.kf"; kg: "ef.kg"; kh: "ef.kh"; ki: "ef.ki"; kj: "ef.kj"; kk: "ef.kk"; kl: "ef.kl"; km: "ef.km"; kn: "ef.kn"; ko: "ef.ko"; kp: "ef.kp"; kq: "ef.kq"; kr: "ef.kr"; ks: "ef.ks"; kt: "ef.kt"; ku: "ef.ku"; kv: "ef.kv"; kw: "ef.kw"; kx: "ef.kx"; ky: "ef.ky"; kz: "ef.kz"; la: "ef.la"; lb: "ef.lb"; lc: "ef.lc"; ld: "ef.ld"; le: "ef.le"; lf: "ef.lf"; lg: "ef.lg"; lh: "ef.lh"; li: "ef.li"; lj: "ef.lj"; lk: "ef.lk"; ll: "ef.ll"; lm: "ef.lm"; ln: "ef.ln"; lo: "ef.lo"; lp: "ef.lp"; lq: "ef.lq"; lr: "ef.lr"; ls: "ef.ls"; lt: "ef.lt"; lu: "ef.lu"; lv: "ef.lv"; lw: "ef.lw"; lx: "ef.lx"; ly: "ef.ly"; lz: "ef.lz"; ma: "ef.ma"; mb: "ef.mb"; mc: "ef.mc"; md: "ef.md"; me: "ef.me"; mf: "ef.mf"; mg: "ef.mg"; mh: "ef.mh"; mi: "ef.mi"; mj: "ef.mj"; mk: "ef.mk"; ml: "ef.ml"; mm: "ef.mm"; mn: "ef.mn"; mo: "ef.mo"; mp: "ef.mp"; mq: "ef.mq"; mr: "ef.mr"; ms: "ef.ms"; mt: "ef.mt"; mu: "ef.mu"; mv: "ef.mv"; mw: "ef.mw"; mx: "ef.mx"; my: "ef.my"; mz: "ef.mz"; na: "ef.na"; nb: "ef.nb"; nc: "ef.nc"; nd: "ef.nd"; ne: "ef.ne"; nf: "ef.nf"; ng: "ef.ng"; nh: "ef.nh"; ni: "ef.ni"; nj: "ef.nj"; nk: "ef.nk"; nl: "ef.nl"; nm: "ef.nm"; nn: "ef.nn"; no: "ef.no"; np: "ef.np"; nq: "ef.nq"; nr: "ef.nr"; ns: "ef.ns"; nt: "ef.nt"; nu: "ef.nu"; nv: "ef.nv"; nw: "ef.nw"; nx: "ef.nx"; ny: "ef.ny"; nz: "ef.nz"; oa: "ef.oa"; ob: "ef.ob"; oc: "ef.oc"; od: "ef.od"; oe: "ef.oe"; of: "ef.of"; og: "ef.og"; oh: "ef.oh"; oi: "ef.oi"; oj: "ef.oj"; ok: "ef.ok"; ol: "ef.ol"; om: "ef.om"; on: "ef.on"; oo: "ef.oo"; op: "ef.op"; oq: "ef.oq"; or: "ef.or"; os: "ef.os"; ot: "ef.ot"; ou: "ef.ou"; ov: "ef.ov"; ow: "ef.ow"; ox: "ef.ox"; oy: "ef.oy"; oz: "ef.oz"; pa: "ef.pa"; pb: "ef.pb"; pc: "ef.pc"; pd: "ef.pd"; pe: "ef.pe"; pf: "ef.pf"; pg: "ef.pg"; ph: "ef.ph"; pi: "ef.pi"; pj: "ef.pj"; pk: "ef.pk"; pl: "ef.pl"; pm: "ef.pm"; pn: "ef.pn"; po: "ef.po"; pp: "ef.pp"; pq: "ef.pq"; pr: "ef.pr"; ps: "ef.ps"; pt: "ef.pt"; pu: "ef.pu"; pv: "ef.pv"; pw: "ef.pw"; px: "ef.px"; py: "ef.py"; pz: "ef.pz"; qa: "ef.qa"; qb: "ef.qb"; qc: "ef.qc"; qd: "ef.qd"; qe: "ef.qe"; qf: "ef.qf"; qg: "ef.qg"; qh: "ef.qh"; qi: "ef.qi"; qj: "ef.qj"; qk: "ef.qk"; ql: "ef.ql"; qm: "ef.qm"; qn: "ef.qn"; qo: "ef.qo"; qp: "ef.qp"; qq: "ef.qq"; qr: "ef.qr"; qs: "ef.qs"; qt: "ef.qt"; qu: "ef.qu"; qv: "ef.qv"; qw: "ef.qw"; qx: "ef.qx"; qy: "ef.qy"; qz: "ef.qz"; ra: "ef.ra"; rb: "ef.rb"; rc: "ef.rc"; rd: "ef.rd"; re: "ef.re"; rf: "ef.rf"; rg: "ef.rg"; rh: "ef.rh"; ri: "ef.ri"; rj: "ef.rj"; rk: "ef.rk"; rl: "ef.rl"; rm: "ef.rm"; rn: "ef.rn"; ro: "ef.ro"; rp: "ef.rp"; rq: "ef.rq"; rr: "ef.rr"; rs: "ef.rs"; rt: "ef.rt"; ru: "ef.ru"; rv: "ef.rv"; rw: "ef.rw"; rx: "ef.rx"; ry: "ef.ry"; rz: "ef.rz"; sa: "ef.sa"; sb: "ef.sb"; sc: "ef.sc"; sd: "ef.sd"; se: "ef.se"; sf: "ef.sf"; sg: "ef.sg"; sh: "ef.sh"; si: "ef.si"; sj: "ef.sj"; sk: "ef.sk"; sl: "ef.sl"; sm: "ef.sm"; sn: "ef.sn"; so: "ef.so"; sp: "ef.sp"; sq: "ef.sq"; sr: "ef.sr"; ss: "ef.ss"; st: "ef.st"; su: "ef.su"; sv: "ef.sv"; sw: "ef.sw"; sx: "ef.sx"; sy: "ef.sy"; sz: "ef.sz"; ta: "ef.ta"; tb: "ef.tb"; tc: "ef.tc"; td: "ef.td"; te: "ef.te"; tf: "ef.tf"; tg: "ef.tg"; th: "ef.th"; ti: "ef.ti"; tj: "ef.tj"; tk: "ef.tk"; tl: "ef.tl"; tm: "ef.tm"; tn: "ef.tn"; to: "ef.to"; tp: "ef.tp"; tq: "ef.tq"; tr: "ef.tr"; ts: "ef.ts"; tt: "ef.tt"; tu: "ef.tu"; tv: "ef.tv"; tw: "ef.tw"; tx: "ef.tx"; ty: "ef.ty"; tz: "ef.tz"; ua: "ef.ua"; ub: "ef.ub"; uc: "ef.uc"; ud: "ef.ud"; ue: "ef.ue"; uf: "ef.uf"; ug: "ef.ug"; uh: "ef.uh"; ui: "ef.ui"; uj: "ef.uj"; uk: "ef.uk"; ul: "ef.ul"; um: "ef.um"; un: "ef.un"; uo: "ef.uo"; up: "ef.up"; uq: "ef.uq"; ur: "ef.ur"; us: "ef.us"; ut: "ef.ut"; uu: "ef.uu"; uv: "ef.uv"; uw: "ef.uw"; ux: "ef.ux"; uy: "ef.uy"; uz: "ef.uz"; va: "ef.va"; vb: "ef.vb"; vc: "ef.vc"; vd: "ef.vd"; ve: "ef.ve"; vf: "ef.vf"; vg: "ef.vg"; vh: "ef.vh"; vi: "ef.vi"; vj: "ef.vj"; vk: "ef.vk"; vl: "ef.vl"; vm: "ef.vm"; vn: "ef.vn"; vo: "ef.vo"; vp: "ef.vp"; vq: "ef.vq"; vr: "ef.vr"; vs: "ef.vs"; vt: "ef.vt"; vu: "ef.vu"; vv: "ef.vv"; vw: "ef.vw"; vx: "ef.vx"; vy: "ef.vy"; vz: "ef.vz"; wa: "ef.wa"; wb: "ef.wb"; wc: "ef.wc"; wd: "ef.wd"; we: "ef.we"; wf: "ef.wf"; wg: "ef.wg"; wh: "ef.wh"; wi: "ef.wi"; wj: "ef.wj"; wk: "ef.wk"; wl: "ef.wl"; wm: "ef.wm"; wn: "ef.wn"; wo: "ef.wo"; wp: "ef.wp"; wq: "ef.wq"; wr: "ef.wr"; ws: "ef.ws"; wt: "ef.wt"; wu: "ef.wu"; wv: "ef.wv"; ww: "ef.ww"; wx: "ef.wx"; wy: "ef.wy"; wz: "ef.wz"; xa: "ef.xa"; xb: "ef.xb"; xc: "ef.xc"; xd: "ef.xd"; xe: "ef.xe"; xf: "ef.xf"; xg: "ef.xg"; xh: "ef.xh"; xi: "ef.xi"; xj: "ef.xj"; xk: "ef.xk"; xl: "ef.xl"; xm: "ef.xm"; xn: "ef.xn"; xo: "ef.xo"; xp: "ef.xp"; xq: "ef.xq"; xr: "ef.xr"; xs: "ef.xs"; xt: "ef.xt"; xu: "ef.xu"; xv: "ef.xv"; xw: "ef.xw"; xx: "ef.xx"; xy: "ef.xy"; xz: "ef.xz"; ya: "ef.ya"; yb: "ef.yb"; yc: "ef.yc"; yd: "ef.yd"; ye: "ef.ye"; yf: "ef.yf"; yg: "ef.yg"; yh: "ef.yh"; yi: "ef.yi"; yj: "ef.yj"; yk: "ef.yk"; yl: "ef.yl"; ym: "ef.ym"; yn: "ef.yn"; yo: "ef.yo"; yp: "ef.yp"; yq: "ef.yq"; yr: "ef.yr"; ys: "ef.ys"; yt: "ef.yt"; yu: "ef.yu"; yv: "ef.yv"; yw: "ef.yw"; yx: "ef.yx"; yy: "ef.yy"; yz: "ef.yz"; za: "ef.za"; zb: "ef.zb"; zc: "ef.zc"; zd: "ef.zd"; ze: "ef.ze"; zf: "ef.zf"; zg: "ef.zg"; zh: "ef.zh"; zi: "ef.zi"; zj: "ef.zj"; zk: "ef.zk"; zl: "ef.zl"; zm: "ef.zm"; zn: "ef.zn"; zo: "ef.zo"; zp: "ef.zp"; zq: "ef.zq"; zr: "ef.zr"; zs: "ef.zs"; zt: "ef.zt"; zu: "ef.zu"; zv: "ef.zv"; zw: "ef.zw"; zx: "ef.zx"; zy: "ef.zy"; zz: "ef.zz"; }; eg: { aa: "eg.aa"; ab: "eg.ab"; ac: "eg.ac"; ad: "eg.ad"; ae: "eg.ae"; af: "eg.af"; ag: "eg.ag"; ah: "eg.ah"; ai: "eg.ai"; aj: "eg.aj"; ak: "eg.ak"; al: "eg.al"; am: "eg.am"; an: "eg.an"; ao: "eg.ao"; ap: "eg.ap"; aq: "eg.aq"; ar: "eg.ar"; as: "eg.as"; at: "eg.at"; au: "eg.au"; av: "eg.av"; aw: "eg.aw"; ax: "eg.ax"; ay: "eg.ay"; az: "eg.az"; ba: "eg.ba"; bb: "eg.bb"; bc: "eg.bc"; bd: "eg.bd"; be: "eg.be"; bf: "eg.bf"; bg: "eg.bg"; bh: "eg.bh"; bi: "eg.bi"; bj: "eg.bj"; bk: "eg.bk"; bl: "eg.bl"; bm: "eg.bm"; bn: "eg.bn"; bo: "eg.bo"; bp: "eg.bp"; bq: "eg.bq"; br: "eg.br"; bs: "eg.bs"; bt: "eg.bt"; bu: "eg.bu"; bv: "eg.bv"; bw: "eg.bw"; bx: "eg.bx"; by: "eg.by"; bz: "eg.bz"; ca: "eg.ca"; cb: "eg.cb"; cc: "eg.cc"; cd: "eg.cd"; ce: "eg.ce"; cf: "eg.cf"; cg: "eg.cg"; ch: "eg.ch"; ci: "eg.ci"; cj: "eg.cj"; ck: "eg.ck"; cl: "eg.cl"; cm: "eg.cm"; cn: "eg.cn"; co: "eg.co"; cp: "eg.cp"; cq: "eg.cq"; cr: "eg.cr"; cs: "eg.cs"; ct: "eg.ct"; cu: "eg.cu"; cv: "eg.cv"; cw: "eg.cw"; cx: "eg.cx"; cy: "eg.cy"; cz: "eg.cz"; da: "eg.da"; db: "eg.db"; dc: "eg.dc"; dd: "eg.dd"; de: "eg.de"; df: "eg.df"; dg: "eg.dg"; dh: "eg.dh"; di: "eg.di"; dj: "eg.dj"; dk: "eg.dk"; dl: "eg.dl"; dm: "eg.dm"; dn: "eg.dn"; do: "eg.do"; dp: "eg.dp"; dq: "eg.dq"; dr: "eg.dr"; ds: "eg.ds"; dt: "eg.dt"; du: "eg.du"; dv: "eg.dv"; dw: "eg.dw"; dx: "eg.dx"; dy: "eg.dy"; dz: "eg.dz"; ea: "eg.ea"; eb: "eg.eb"; ec: "eg.ec"; ed: "eg.ed"; ee: "eg.ee"; ef: "eg.ef"; eg: "eg.eg"; eh: "eg.eh"; ei: "eg.ei"; ej: "eg.ej"; ek: "eg.ek"; el: "eg.el"; em: "eg.em"; en: "eg.en"; eo: "eg.eo"; ep: "eg.ep"; eq: "eg.eq"; er: "eg.er"; es: "eg.es"; et: "eg.et"; eu: "eg.eu"; ev: "eg.ev"; ew: "eg.ew"; ex: "eg.ex"; ey: "eg.ey"; ez: "eg.ez"; fa: "eg.fa"; fb: "eg.fb"; fc: "eg.fc"; fd: "eg.fd"; fe: "eg.fe"; ff: "eg.ff"; fg: "eg.fg"; fh: "eg.fh"; fi: "eg.fi"; fj: "eg.fj"; fk: "eg.fk"; fl: "eg.fl"; fm: "eg.fm"; fn: "eg.fn"; fo: "eg.fo"; fp: "eg.fp"; fq: "eg.fq"; fr: "eg.fr"; fs: "eg.fs"; ft: "eg.ft"; fu: "eg.fu"; fv: "eg.fv"; fw: "eg.fw"; fx: "eg.fx"; fy: "eg.fy"; fz: "eg.fz"; ga: "eg.ga"; gb: "eg.gb"; gc: "eg.gc"; gd: "eg.gd"; ge: "eg.ge"; gf: "eg.gf"; gg: "eg.gg"; gh: "eg.gh"; gi: "eg.gi"; gj: "eg.gj"; gk: "eg.gk"; gl: "eg.gl"; gm: "eg.gm"; gn: "eg.gn"; go: "eg.go"; gp: "eg.gp"; gq: "eg.gq"; gr: "eg.gr"; gs: "eg.gs"; gt: "eg.gt"; gu: "eg.gu"; gv: "eg.gv"; gw: "eg.gw"; gx: "eg.gx"; gy: "eg.gy"; gz: "eg.gz"; ha: "eg.ha"; hb: "eg.hb"; hc: "eg.hc"; hd: "eg.hd"; he: "eg.he"; hf: "eg.hf"; hg: "eg.hg"; hh: "eg.hh"; hi: "eg.hi"; hj: "eg.hj"; hk: "eg.hk"; hl: "eg.hl"; hm: "eg.hm"; hn: "eg.hn"; ho: "eg.ho"; hp: "eg.hp"; hq: "eg.hq"; hr: "eg.hr"; hs: "eg.hs"; ht: "eg.ht"; hu: "eg.hu"; hv: "eg.hv"; hw: "eg.hw"; hx: "eg.hx"; hy: "eg.hy"; hz: "eg.hz"; ia: "eg.ia"; ib: "eg.ib"; ic: "eg.ic"; id: "eg.id"; ie: "eg.ie"; if: "eg.if"; ig: "eg.ig"; ih: "eg.ih"; ii: "eg.ii"; ij: "eg.ij"; ik: "eg.ik"; il: "eg.il"; im: "eg.im"; in: "eg.in"; io: "eg.io"; ip: "eg.ip"; iq: "eg.iq"; ir: "eg.ir"; is: "eg.is"; it: "eg.it"; iu: "eg.iu"; iv: "eg.iv"; iw: "eg.iw"; ix: "eg.ix"; iy: "eg.iy"; iz: "eg.iz"; ja: "eg.ja"; jb: "eg.jb"; jc: "eg.jc"; jd: "eg.jd"; je: "eg.je"; jf: "eg.jf"; jg: "eg.jg"; jh: "eg.jh"; ji: "eg.ji"; jj: "eg.jj"; jk: "eg.jk"; jl: "eg.jl"; jm: "eg.jm"; jn: "eg.jn"; jo: "eg.jo"; jp: "eg.jp"; jq: "eg.jq"; jr: "eg.jr"; js: "eg.js"; jt: "eg.jt"; ju: "eg.ju"; jv: "eg.jv"; jw: "eg.jw"; jx: "eg.jx"; jy: "eg.jy"; jz: "eg.jz"; ka: "eg.ka"; kb: "eg.kb"; kc: "eg.kc"; kd: "eg.kd"; ke: "eg.ke"; kf: "eg.kf"; kg: "eg.kg"; kh: "eg.kh"; ki: "eg.ki"; kj: "eg.kj"; kk: "eg.kk"; kl: "eg.kl"; km: "eg.km"; kn: "eg.kn"; ko: "eg.ko"; kp: "eg.kp"; kq: "eg.kq"; kr: "eg.kr"; ks: "eg.ks"; kt: "eg.kt"; ku: "eg.ku"; kv: "eg.kv"; kw: "eg.kw"; kx: "eg.kx"; ky: "eg.ky"; kz: "eg.kz"; la: "eg.la"; lb: "eg.lb"; lc: "eg.lc"; ld: "eg.ld"; le: "eg.le"; lf: "eg.lf"; lg: "eg.lg"; lh: "eg.lh"; li: "eg.li"; lj: "eg.lj"; lk: "eg.lk"; ll: "eg.ll"; lm: "eg.lm"; ln: "eg.ln"; lo: "eg.lo"; lp: "eg.lp"; lq: "eg.lq"; lr: "eg.lr"; ls: "eg.ls"; lt: "eg.lt"; lu: "eg.lu"; lv: "eg.lv"; lw: "eg.lw"; lx: "eg.lx"; ly: "eg.ly"; lz: "eg.lz"; ma: "eg.ma"; mb: "eg.mb"; mc: "eg.mc"; md: "eg.md"; me: "eg.me"; mf: "eg.mf"; mg: "eg.mg"; mh: "eg.mh"; mi: "eg.mi"; mj: "eg.mj"; mk: "eg.mk"; ml: "eg.ml"; mm: "eg.mm"; mn: "eg.mn"; mo: "eg.mo"; mp: "eg.mp"; mq: "eg.mq"; mr: "eg.mr"; ms: "eg.ms"; mt: "eg.mt"; mu: "eg.mu"; mv: "eg.mv"; mw: "eg.mw"; mx: "eg.mx"; my: "eg.my"; mz: "eg.mz"; na: "eg.na"; nb: "eg.nb"; nc: "eg.nc"; nd: "eg.nd"; ne: "eg.ne"; nf: "eg.nf"; ng: "eg.ng"; nh: "eg.nh"; ni: "eg.ni"; nj: "eg.nj"; nk: "eg.nk"; nl: "eg.nl"; nm: "eg.nm"; nn: "eg.nn"; no: "eg.no"; np: "eg.np"; nq: "eg.nq"; nr: "eg.nr"; ns: "eg.ns"; nt: "eg.nt"; nu: "eg.nu"; nv: "eg.nv"; nw: "eg.nw"; nx: "eg.nx"; ny: "eg.ny"; nz: "eg.nz"; oa: "eg.oa"; ob: "eg.ob"; oc: "eg.oc"; od: "eg.od"; oe: "eg.oe"; of: "eg.of"; og: "eg.og"; oh: "eg.oh"; oi: "eg.oi"; oj: "eg.oj"; ok: "eg.ok"; ol: "eg.ol"; om: "eg.om"; on: "eg.on"; oo: "eg.oo"; op: "eg.op"; oq: "eg.oq"; or: "eg.or"; os: "eg.os"; ot: "eg.ot"; ou: "eg.ou"; ov: "eg.ov"; ow: "eg.ow"; ox: "eg.ox"; oy: "eg.oy"; oz: "eg.oz"; pa: "eg.pa"; pb: "eg.pb"; pc: "eg.pc"; pd: "eg.pd"; pe: "eg.pe"; pf: "eg.pf"; pg: "eg.pg"; ph: "eg.ph"; pi: "eg.pi"; pj: "eg.pj"; pk: "eg.pk"; pl: "eg.pl"; pm: "eg.pm"; pn: "eg.pn"; po: "eg.po"; pp: "eg.pp"; pq: "eg.pq"; pr: "eg.pr"; ps: "eg.ps"; pt: "eg.pt"; pu: "eg.pu"; pv: "eg.pv"; pw: "eg.pw"; px: "eg.px"; py: "eg.py"; pz: "eg.pz"; qa: "eg.qa"; qb: "eg.qb"; qc: "eg.qc"; qd: "eg.qd"; qe: "eg.qe"; qf: "eg.qf"; qg: "eg.qg"; qh: "eg.qh"; qi: "eg.qi"; qj: "eg.qj"; qk: "eg.qk"; ql: "eg.ql"; qm: "eg.qm"; qn: "eg.qn"; qo: "eg.qo"; qp: "eg.qp"; qq: "eg.qq"; qr: "eg.qr"; qs: "eg.qs"; qt: "eg.qt"; qu: "eg.qu"; qv: "eg.qv"; qw: "eg.qw"; qx: "eg.qx"; qy: "eg.qy"; qz: "eg.qz"; ra: "eg.ra"; rb: "eg.rb"; rc: "eg.rc"; rd: "eg.rd"; re: "eg.re"; rf: "eg.rf"; rg: "eg.rg"; rh: "eg.rh"; ri: "eg.ri"; rj: "eg.rj"; rk: "eg.rk"; rl: "eg.rl"; rm: "eg.rm"; rn: "eg.rn"; ro: "eg.ro"; rp: "eg.rp"; rq: "eg.rq"; rr: "eg.rr"; rs: "eg.rs"; rt: "eg.rt"; ru: "eg.ru"; rv: "eg.rv"; rw: "eg.rw"; rx: "eg.rx"; ry: "eg.ry"; rz: "eg.rz"; sa: "eg.sa"; sb: "eg.sb"; sc: "eg.sc"; sd: "eg.sd"; se: "eg.se"; sf: "eg.sf"; sg: "eg.sg"; sh: "eg.sh"; si: "eg.si"; sj: "eg.sj"; sk: "eg.sk"; sl: "eg.sl"; sm: "eg.sm"; sn: "eg.sn"; so: "eg.so"; sp: "eg.sp"; sq: "eg.sq"; sr: "eg.sr"; ss: "eg.ss"; st: "eg.st"; su: "eg.su"; sv: "eg.sv"; sw: "eg.sw"; sx: "eg.sx"; sy: "eg.sy"; sz: "eg.sz"; ta: "eg.ta"; tb: "eg.tb"; tc: "eg.tc"; td: "eg.td"; te: "eg.te"; tf: "eg.tf"; tg: "eg.tg"; th: "eg.th"; ti: "eg.ti"; tj: "eg.tj"; tk: "eg.tk"; tl: "eg.tl"; tm: "eg.tm"; tn: "eg.tn"; to: "eg.to"; tp: "eg.tp"; tq: "eg.tq"; tr: "eg.tr"; ts: "eg.ts"; tt: "eg.tt"; tu: "eg.tu"; tv: "eg.tv"; tw: "eg.tw"; tx: "eg.tx"; ty: "eg.ty"; tz: "eg.tz"; ua: "eg.ua"; ub: "eg.ub"; uc: "eg.uc"; ud: "eg.ud"; ue: "eg.ue"; uf: "eg.uf"; ug: "eg.ug"; uh: "eg.uh"; ui: "eg.ui"; uj: "eg.uj"; uk: "eg.uk"; ul: "eg.ul"; um: "eg.um"; un: "eg.un"; uo: "eg.uo"; up: "eg.up"; uq: "eg.uq"; ur: "eg.ur"; us: "eg.us"; ut: "eg.ut"; uu: "eg.uu"; uv: "eg.uv"; uw: "eg.uw"; ux: "eg.ux"; uy: "eg.uy"; uz: "eg.uz"; va: "eg.va"; vb: "eg.vb"; vc: "eg.vc"; vd: "eg.vd"; ve: "eg.ve"; vf: "eg.vf"; vg: "eg.vg"; vh: "eg.vh"; vi: "eg.vi"; vj: "eg.vj"; vk: "eg.vk"; vl: "eg.vl"; vm: "eg.vm"; vn: "eg.vn"; vo: "eg.vo"; vp: "eg.vp"; vq: "eg.vq"; vr: "eg.vr"; vs: "eg.vs"; vt: "eg.vt"; vu: "eg.vu"; vv: "eg.vv"; vw: "eg.vw"; vx: "eg.vx"; vy: "eg.vy"; vz: "eg.vz"; wa: "eg.wa"; wb: "eg.wb"; wc: "eg.wc"; wd: "eg.wd"; we: "eg.we"; wf: "eg.wf"; wg: "eg.wg"; wh: "eg.wh"; wi: "eg.wi"; wj: "eg.wj"; wk: "eg.wk"; wl: "eg.wl"; wm: "eg.wm"; wn: "eg.wn"; wo: "eg.wo"; wp: "eg.wp"; wq: "eg.wq"; wr: "eg.wr"; ws: "eg.ws"; wt: "eg.wt"; wu: "eg.wu"; wv: "eg.wv"; ww: "eg.ww"; wx: "eg.wx"; wy: "eg.wy"; wz: "eg.wz"; xa: "eg.xa"; xb: "eg.xb"; xc: "eg.xc"; xd: "eg.xd"; xe: "eg.xe"; xf: "eg.xf"; xg: "eg.xg"; xh: "eg.xh"; xi: "eg.xi"; xj: "eg.xj"; xk: "eg.xk"; xl: "eg.xl"; xm: "eg.xm"; xn: "eg.xn"; xo: "eg.xo"; xp: "eg.xp"; xq: "eg.xq"; xr: "eg.xr"; xs: "eg.xs"; xt: "eg.xt"; xu: "eg.xu"; xv: "eg.xv"; xw: "eg.xw"; xx: "eg.xx"; xy: "eg.xy"; xz: "eg.xz"; ya: "eg.ya"; yb: "eg.yb"; yc: "eg.yc"; yd: "eg.yd"; ye: "eg.ye"; yf: "eg.yf"; yg: "eg.yg"; yh: "eg.yh"; yi: "eg.yi"; yj: "eg.yj"; yk: "eg.yk"; yl: "eg.yl"; ym: "eg.ym"; yn: "eg.yn"; yo: "eg.yo"; yp: "eg.yp"; yq: "eg.yq"; yr: "eg.yr"; ys: "eg.ys"; yt: "eg.yt"; yu: "eg.yu"; yv: "eg.yv"; yw: "eg.yw"; yx: "eg.yx"; yy: "eg.yy"; yz: "eg.yz"; za: "eg.za"; zb: "eg.zb"; zc: "eg.zc"; zd: "eg.zd"; ze: "eg.ze"; zf: "eg.zf"; zg: "eg.zg"; zh: "eg.zh"; zi: "eg.zi"; zj: "eg.zj"; zk: "eg.zk"; zl: "eg.zl"; zm: "eg.zm"; zn: "eg.zn"; zo: "eg.zo"; zp: "eg.zp"; zq: "eg.zq"; zr: "eg.zr"; zs: "eg.zs"; zt: "eg.zt"; zu: "eg.zu"; zv: "eg.zv"; zw: "eg.zw"; zx: "eg.zx"; zy: "eg.zy"; zz: "eg.zz"; }; eh: { aa: "eh.aa"; ab: "eh.ab"; ac: "eh.ac"; ad: "eh.ad"; ae: "eh.ae"; af: "eh.af"; ag: "eh.ag"; ah: "eh.ah"; ai: "eh.ai"; aj: "eh.aj"; ak: "eh.ak"; al: "eh.al"; am: "eh.am"; an: "eh.an"; ao: "eh.ao"; ap: "eh.ap"; aq: "eh.aq"; ar: "eh.ar"; as: "eh.as"; at: "eh.at"; au: "eh.au"; av: "eh.av"; aw: "eh.aw"; ax: "eh.ax"; ay: "eh.ay"; az: "eh.az"; ba: "eh.ba"; bb: "eh.bb"; bc: "eh.bc"; bd: "eh.bd"; be: "eh.be"; bf: "eh.bf"; bg: "eh.bg"; bh: "eh.bh"; bi: "eh.bi"; bj: "eh.bj"; bk: "eh.bk"; bl: "eh.bl"; bm: "eh.bm"; bn: "eh.bn"; bo: "eh.bo"; bp: "eh.bp"; bq: "eh.bq"; br: "eh.br"; bs: "eh.bs"; bt: "eh.bt"; bu: "eh.bu"; bv: "eh.bv"; bw: "eh.bw"; bx: "eh.bx"; by: "eh.by"; bz: "eh.bz"; ca: "eh.ca"; cb: "eh.cb"; cc: "eh.cc"; cd: "eh.cd"; ce: "eh.ce"; cf: "eh.cf"; cg: "eh.cg"; ch: "eh.ch"; ci: "eh.ci"; cj: "eh.cj"; ck: "eh.ck"; cl: "eh.cl"; cm: "eh.cm"; cn: "eh.cn"; co: "eh.co"; cp: "eh.cp"; cq: "eh.cq"; cr: "eh.cr"; cs: "eh.cs"; ct: "eh.ct"; cu: "eh.cu"; cv: "eh.cv"; cw: "eh.cw"; cx: "eh.cx"; cy: "eh.cy"; cz: "eh.cz"; da: "eh.da"; db: "eh.db"; dc: "eh.dc"; dd: "eh.dd"; de: "eh.de"; df: "eh.df"; dg: "eh.dg"; dh: "eh.dh"; di: "eh.di"; dj: "eh.dj"; dk: "eh.dk"; dl: "eh.dl"; dm: "eh.dm"; dn: "eh.dn"; do: "eh.do"; dp: "eh.dp"; dq: "eh.dq"; dr: "eh.dr"; ds: "eh.ds"; dt: "eh.dt"; du: "eh.du"; dv: "eh.dv"; dw: "eh.dw"; dx: "eh.dx"; dy: "eh.dy"; dz: "eh.dz"; ea: "eh.ea"; eb: "eh.eb"; ec: "eh.ec"; ed: "eh.ed"; ee: "eh.ee"; ef: "eh.ef"; eg: "eh.eg"; eh: "eh.eh"; ei: "eh.ei"; ej: "eh.ej"; ek: "eh.ek"; el: "eh.el"; em: "eh.em"; en: "eh.en"; eo: "eh.eo"; ep: "eh.ep"; eq: "eh.eq"; er: "eh.er"; es: "eh.es"; et: "eh.et"; eu: "eh.eu"; ev: "eh.ev"; ew: "eh.ew"; ex: "eh.ex"; ey: "eh.ey"; ez: "eh.ez"; fa: "eh.fa"; fb: "eh.fb"; fc: "eh.fc"; fd: "eh.fd"; fe: "eh.fe"; ff: "eh.ff"; fg: "eh.fg"; fh: "eh.fh"; fi: "eh.fi"; fj: "eh.fj"; fk: "eh.fk"; fl: "eh.fl"; fm: "eh.fm"; fn: "eh.fn"; fo: "eh.fo"; fp: "eh.fp"; fq: "eh.fq"; fr: "eh.fr"; fs: "eh.fs"; ft: "eh.ft"; fu: "eh.fu"; fv: "eh.fv"; fw: "eh.fw"; fx: "eh.fx"; fy: "eh.fy"; fz: "eh.fz"; ga: "eh.ga"; gb: "eh.gb"; gc: "eh.gc"; gd: "eh.gd"; ge: "eh.ge"; gf: "eh.gf"; gg: "eh.gg"; gh: "eh.gh"; gi: "eh.gi"; gj: "eh.gj"; gk: "eh.gk"; gl: "eh.gl"; gm: "eh.gm"; gn: "eh.gn"; go: "eh.go"; gp: "eh.gp"; gq: "eh.gq"; gr: "eh.gr"; gs: "eh.gs"; gt: "eh.gt"; gu: "eh.gu"; gv: "eh.gv"; gw: "eh.gw"; gx: "eh.gx"; gy: "eh.gy"; gz: "eh.gz"; ha: "eh.ha"; hb: "eh.hb"; hc: "eh.hc"; hd: "eh.hd"; he: "eh.he"; hf: "eh.hf"; hg: "eh.hg"; hh: "eh.hh"; hi: "eh.hi"; hj: "eh.hj"; hk: "eh.hk"; hl: "eh.hl"; hm: "eh.hm"; hn: "eh.hn"; ho: "eh.ho"; hp: "eh.hp"; hq: "eh.hq"; hr: "eh.hr"; hs: "eh.hs"; ht: "eh.ht"; hu: "eh.hu"; hv: "eh.hv"; hw: "eh.hw"; hx: "eh.hx"; hy: "eh.hy"; hz: "eh.hz"; ia: "eh.ia"; ib: "eh.ib"; ic: "eh.ic"; id: "eh.id"; ie: "eh.ie"; if: "eh.if"; ig: "eh.ig"; ih: "eh.ih"; ii: "eh.ii"; ij: "eh.ij"; ik: "eh.ik"; il: "eh.il"; im: "eh.im"; in: "eh.in"; io: "eh.io"; ip: "eh.ip"; iq: "eh.iq"; ir: "eh.ir"; is: "eh.is"; it: "eh.it"; iu: "eh.iu"; iv: "eh.iv"; iw: "eh.iw"; ix: "eh.ix"; iy: "eh.iy"; iz: "eh.iz"; ja: "eh.ja"; jb: "eh.jb"; jc: "eh.jc"; jd: "eh.jd"; je: "eh.je"; jf: "eh.jf"; jg: "eh.jg"; jh: "eh.jh"; ji: "eh.ji"; jj: "eh.jj"; jk: "eh.jk"; jl: "eh.jl"; jm: "eh.jm"; jn: "eh.jn"; jo: "eh.jo"; jp: "eh.jp"; jq: "eh.jq"; jr: "eh.jr"; js: "eh.js"; jt: "eh.jt"; ju: "eh.ju"; jv: "eh.jv"; jw: "eh.jw"; jx: "eh.jx"; jy: "eh.jy"; jz: "eh.jz"; ka: "eh.ka"; kb: "eh.kb"; kc: "eh.kc"; kd: "eh.kd"; ke: "eh.ke"; kf: "eh.kf"; kg: "eh.kg"; kh: "eh.kh"; ki: "eh.ki"; kj: "eh.kj"; kk: "eh.kk"; kl: "eh.kl"; km: "eh.km"; kn: "eh.kn"; ko: "eh.ko"; kp: "eh.kp"; kq: "eh.kq"; kr: "eh.kr"; ks: "eh.ks"; kt: "eh.kt"; ku: "eh.ku"; kv: "eh.kv"; kw: "eh.kw"; kx: "eh.kx"; ky: "eh.ky"; kz: "eh.kz"; la: "eh.la"; lb: "eh.lb"; lc: "eh.lc"; ld: "eh.ld"; le: "eh.le"; lf: "eh.lf"; lg: "eh.lg"; lh: "eh.lh"; li: "eh.li"; lj: "eh.lj"; lk: "eh.lk"; ll: "eh.ll"; lm: "eh.lm"; ln: "eh.ln"; lo: "eh.lo"; lp: "eh.lp"; lq: "eh.lq"; lr: "eh.lr"; ls: "eh.ls"; lt: "eh.lt"; lu: "eh.lu"; lv: "eh.lv"; lw: "eh.lw"; lx: "eh.lx"; ly: "eh.ly"; lz: "eh.lz"; ma: "eh.ma"; mb: "eh.mb"; mc: "eh.mc"; md: "eh.md"; me: "eh.me"; mf: "eh.mf"; mg: "eh.mg"; mh: "eh.mh"; mi: "eh.mi"; mj: "eh.mj"; mk: "eh.mk"; ml: "eh.ml"; mm: "eh.mm"; mn: "eh.mn"; mo: "eh.mo"; mp: "eh.mp"; mq: "eh.mq"; mr: "eh.mr"; ms: "eh.ms"; mt: "eh.mt"; mu: "eh.mu"; mv: "eh.mv"; mw: "eh.mw"; mx: "eh.mx"; my: "eh.my"; mz: "eh.mz"; na: "eh.na"; nb: "eh.nb"; nc: "eh.nc"; nd: "eh.nd"; ne: "eh.ne"; nf: "eh.nf"; ng: "eh.ng"; nh: "eh.nh"; ni: "eh.ni"; nj: "eh.nj"; nk: "eh.nk"; nl: "eh.nl"; nm: "eh.nm"; nn: "eh.nn"; no: "eh.no"; np: "eh.np"; nq: "eh.nq"; nr: "eh.nr"; ns: "eh.ns"; nt: "eh.nt"; nu: "eh.nu"; nv: "eh.nv"; nw: "eh.nw"; nx: "eh.nx"; ny: "eh.ny"; nz: "eh.nz"; oa: "eh.oa"; ob: "eh.ob"; oc: "eh.oc"; od: "eh.od"; oe: "eh.oe"; of: "eh.of"; og: "eh.og"; oh: "eh.oh"; oi: "eh.oi"; oj: "eh.oj"; ok: "eh.ok"; ol: "eh.ol"; om: "eh.om"; on: "eh.on"; oo: "eh.oo"; op: "eh.op"; oq: "eh.oq"; or: "eh.or"; os: "eh.os"; ot: "eh.ot"; ou: "eh.ou"; ov: "eh.ov"; ow: "eh.ow"; ox: "eh.ox"; oy: "eh.oy"; oz: "eh.oz"; pa: "eh.pa"; pb: "eh.pb"; pc: "eh.pc"; pd: "eh.pd"; pe: "eh.pe"; pf: "eh.pf"; pg: "eh.pg"; ph: "eh.ph"; pi: "eh.pi"; pj: "eh.pj"; pk: "eh.pk"; pl: "eh.pl"; pm: "eh.pm"; pn: "eh.pn"; po: "eh.po"; pp: "eh.pp"; pq: "eh.pq"; pr: "eh.pr"; ps: "eh.ps"; pt: "eh.pt"; pu: "eh.pu"; pv: "eh.pv"; pw: "eh.pw"; px: "eh.px"; py: "eh.py"; pz: "eh.pz"; qa: "eh.qa"; qb: "eh.qb"; qc: "eh.qc"; qd: "eh.qd"; qe: "eh.qe"; qf: "eh.qf"; qg: "eh.qg"; qh: "eh.qh"; qi: "eh.qi"; qj: "eh.qj"; qk: "eh.qk"; ql: "eh.ql"; qm: "eh.qm"; qn: "eh.qn"; qo: "eh.qo"; qp: "eh.qp"; qq: "eh.qq"; qr: "eh.qr"; qs: "eh.qs"; qt: "eh.qt"; qu: "eh.qu"; qv: "eh.qv"; qw: "eh.qw"; qx: "eh.qx"; qy: "eh.qy"; qz: "eh.qz"; ra: "eh.ra"; rb: "eh.rb"; rc: "eh.rc"; rd: "eh.rd"; re: "eh.re"; rf: "eh.rf"; rg: "eh.rg"; rh: "eh.rh"; ri: "eh.ri"; rj: "eh.rj"; rk: "eh.rk"; rl: "eh.rl"; rm: "eh.rm"; rn: "eh.rn"; ro: "eh.ro"; rp: "eh.rp"; rq: "eh.rq"; rr: "eh.rr"; rs: "eh.rs"; rt: "eh.rt"; ru: "eh.ru"; rv: "eh.rv"; rw: "eh.rw"; rx: "eh.rx"; ry: "eh.ry"; rz: "eh.rz"; sa: "eh.sa"; sb: "eh.sb"; sc: "eh.sc"; sd: "eh.sd"; se: "eh.se"; sf: "eh.sf"; sg: "eh.sg"; sh: "eh.sh"; si: "eh.si"; sj: "eh.sj"; sk: "eh.sk"; sl: "eh.sl"; sm: "eh.sm"; sn: "eh.sn"; so: "eh.so"; sp: "eh.sp"; sq: "eh.sq"; sr: "eh.sr"; ss: "eh.ss"; st: "eh.st"; su: "eh.su"; sv: "eh.sv"; sw: "eh.sw"; sx: "eh.sx"; sy: "eh.sy"; sz: "eh.sz"; ta: "eh.ta"; tb: "eh.tb"; tc: "eh.tc"; td: "eh.td"; te: "eh.te"; tf: "eh.tf"; tg: "eh.tg"; th: "eh.th"; ti: "eh.ti"; tj: "eh.tj"; tk: "eh.tk"; tl: "eh.tl"; tm: "eh.tm"; tn: "eh.tn"; to: "eh.to"; tp: "eh.tp"; tq: "eh.tq"; tr: "eh.tr"; ts: "eh.ts"; tt: "eh.tt"; tu: "eh.tu"; tv: "eh.tv"; tw: "eh.tw"; tx: "eh.tx"; ty: "eh.ty"; tz: "eh.tz"; ua: "eh.ua"; ub: "eh.ub"; uc: "eh.uc"; ud: "eh.ud"; ue: "eh.ue"; uf: "eh.uf"; ug: "eh.ug"; uh: "eh.uh"; ui: "eh.ui"; uj: "eh.uj"; uk: "eh.uk"; ul: "eh.ul"; um: "eh.um"; un: "eh.un"; uo: "eh.uo"; up: "eh.up"; uq: "eh.uq"; ur: "eh.ur"; us: "eh.us"; ut: "eh.ut"; uu: "eh.uu"; uv: "eh.uv"; uw: "eh.uw"; ux: "eh.ux"; uy: "eh.uy"; uz: "eh.uz"; va: "eh.va"; vb: "eh.vb"; vc: "eh.vc"; vd: "eh.vd"; ve: "eh.ve"; vf: "eh.vf"; vg: "eh.vg"; vh: "eh.vh"; vi: "eh.vi"; vj: "eh.vj"; vk: "eh.vk"; vl: "eh.vl"; vm: "eh.vm"; vn: "eh.vn"; vo: "eh.vo"; vp: "eh.vp"; vq: "eh.vq"; vr: "eh.vr"; vs: "eh.vs"; vt: "eh.vt"; vu: "eh.vu"; vv: "eh.vv"; vw: "eh.vw"; vx: "eh.vx"; vy: "eh.vy"; vz: "eh.vz"; wa: "eh.wa"; wb: "eh.wb"; wc: "eh.wc"; wd: "eh.wd"; we: "eh.we"; wf: "eh.wf"; wg: "eh.wg"; wh: "eh.wh"; wi: "eh.wi"; wj: "eh.wj"; wk: "eh.wk"; wl: "eh.wl"; wm: "eh.wm"; wn: "eh.wn"; wo: "eh.wo"; wp: "eh.wp"; wq: "eh.wq"; wr: "eh.wr"; ws: "eh.ws"; wt: "eh.wt"; wu: "eh.wu"; wv: "eh.wv"; ww: "eh.ww"; wx: "eh.wx"; wy: "eh.wy"; wz: "eh.wz"; xa: "eh.xa"; xb: "eh.xb"; xc: "eh.xc"; xd: "eh.xd"; xe: "eh.xe"; xf: "eh.xf"; xg: "eh.xg"; xh: "eh.xh"; xi: "eh.xi"; xj: "eh.xj"; xk: "eh.xk"; xl: "eh.xl"; xm: "eh.xm"; xn: "eh.xn"; xo: "eh.xo"; xp: "eh.xp"; xq: "eh.xq"; xr: "eh.xr"; xs: "eh.xs"; xt: "eh.xt"; xu: "eh.xu"; xv: "eh.xv"; xw: "eh.xw"; xx: "eh.xx"; xy: "eh.xy"; xz: "eh.xz"; ya: "eh.ya"; yb: "eh.yb"; yc: "eh.yc"; yd: "eh.yd"; ye: "eh.ye"; yf: "eh.yf"; yg: "eh.yg"; yh: "eh.yh"; yi: "eh.yi"; yj: "eh.yj"; yk: "eh.yk"; yl: "eh.yl"; ym: "eh.ym"; yn: "eh.yn"; yo: "eh.yo"; yp: "eh.yp"; yq: "eh.yq"; yr: "eh.yr"; ys: "eh.ys"; yt: "eh.yt"; yu: "eh.yu"; yv: "eh.yv"; yw: "eh.yw"; yx: "eh.yx"; yy: "eh.yy"; yz: "eh.yz"; za: "eh.za"; zb: "eh.zb"; zc: "eh.zc"; zd: "eh.zd"; ze: "eh.ze"; zf: "eh.zf"; zg: "eh.zg"; zh: "eh.zh"; zi: "eh.zi"; zj: "eh.zj"; zk: "eh.zk"; zl: "eh.zl"; zm: "eh.zm"; zn: "eh.zn"; zo: "eh.zo"; zp: "eh.zp"; zq: "eh.zq"; zr: "eh.zr"; zs: "eh.zs"; zt: "eh.zt"; zu: "eh.zu"; zv: "eh.zv"; zw: "eh.zw"; zx: "eh.zx"; zy: "eh.zy"; zz: "eh.zz"; }; ei: { aa: "ei.aa"; ab: "ei.ab"; ac: "ei.ac"; ad: "ei.ad"; ae: "ei.ae"; af: "ei.af"; ag: "ei.ag"; ah: "ei.ah"; ai: "ei.ai"; aj: "ei.aj"; ak: "ei.ak"; al: "ei.al"; am: "ei.am"; an: "ei.an"; ao: "ei.ao"; ap: "ei.ap"; aq: "ei.aq"; ar: "ei.ar"; as: "ei.as"; at: "ei.at"; au: "ei.au"; av: "ei.av"; aw: "ei.aw"; ax: "ei.ax"; ay: "ei.ay"; az: "ei.az"; ba: "ei.ba"; bb: "ei.bb"; bc: "ei.bc"; bd: "ei.bd"; be: "ei.be"; bf: "ei.bf"; bg: "ei.bg"; bh: "ei.bh"; bi: "ei.bi"; bj: "ei.bj"; bk: "ei.bk"; bl: "ei.bl"; bm: "ei.bm"; bn: "ei.bn"; bo: "ei.bo"; bp: "ei.bp"; bq: "ei.bq"; br: "ei.br"; bs: "ei.bs"; bt: "ei.bt"; bu: "ei.bu"; bv: "ei.bv"; bw: "ei.bw"; bx: "ei.bx"; by: "ei.by"; bz: "ei.bz"; ca: "ei.ca"; cb: "ei.cb"; cc: "ei.cc"; cd: "ei.cd"; ce: "ei.ce"; cf: "ei.cf"; cg: "ei.cg"; ch: "ei.ch"; ci: "ei.ci"; cj: "ei.cj"; ck: "ei.ck"; cl: "ei.cl"; cm: "ei.cm"; cn: "ei.cn"; co: "ei.co"; cp: "ei.cp"; cq: "ei.cq"; cr: "ei.cr"; cs: "ei.cs"; ct: "ei.ct"; cu: "ei.cu"; cv: "ei.cv"; cw: "ei.cw"; cx: "ei.cx"; cy: "ei.cy"; cz: "ei.cz"; da: "ei.da"; db: "ei.db"; dc: "ei.dc"; dd: "ei.dd"; de: "ei.de"; df: "ei.df"; dg: "ei.dg"; dh: "ei.dh"; di: "ei.di"; dj: "ei.dj"; dk: "ei.dk"; dl: "ei.dl"; dm: "ei.dm"; dn: "ei.dn"; do: "ei.do"; dp: "ei.dp"; dq: "ei.dq"; dr: "ei.dr"; ds: "ei.ds"; dt: "ei.dt"; du: "ei.du"; dv: "ei.dv"; dw: "ei.dw"; dx: "ei.dx"; dy: "ei.dy"; dz: "ei.dz"; ea: "ei.ea"; eb: "ei.eb"; ec: "ei.ec"; ed: "ei.ed"; ee: "ei.ee"; ef: "ei.ef"; eg: "ei.eg"; eh: "ei.eh"; ei: "ei.ei"; ej: "ei.ej"; ek: "ei.ek"; el: "ei.el"; em: "ei.em"; en: "ei.en"; eo: "ei.eo"; ep: "ei.ep"; eq: "ei.eq"; er: "ei.er"; es: "ei.es"; et: "ei.et"; eu: "ei.eu"; ev: "ei.ev"; ew: "ei.ew"; ex: "ei.ex"; ey: "ei.ey"; ez: "ei.ez"; fa: "ei.fa"; fb: "ei.fb"; fc: "ei.fc"; fd: "ei.fd"; fe: "ei.fe"; ff: "ei.ff"; fg: "ei.fg"; fh: "ei.fh"; fi: "ei.fi"; fj: "ei.fj"; fk: "ei.fk"; fl: "ei.fl"; fm: "ei.fm"; fn: "ei.fn"; fo: "ei.fo"; fp: "ei.fp"; fq: "ei.fq"; fr: "ei.fr"; fs: "ei.fs"; ft: "ei.ft"; fu: "ei.fu"; fv: "ei.fv"; fw: "ei.fw"; fx: "ei.fx"; fy: "ei.fy"; fz: "ei.fz"; ga: "ei.ga"; gb: "ei.gb"; gc: "ei.gc"; gd: "ei.gd"; ge: "ei.ge"; gf: "ei.gf"; gg: "ei.gg"; gh: "ei.gh"; gi: "ei.gi"; gj: "ei.gj"; gk: "ei.gk"; gl: "ei.gl"; gm: "ei.gm"; gn: "ei.gn"; go: "ei.go"; gp: "ei.gp"; gq: "ei.gq"; gr: "ei.gr"; gs: "ei.gs"; gt: "ei.gt"; gu: "ei.gu"; gv: "ei.gv"; gw: "ei.gw"; gx: "ei.gx"; gy: "ei.gy"; gz: "ei.gz"; ha: "ei.ha"; hb: "ei.hb"; hc: "ei.hc"; hd: "ei.hd"; he: "ei.he"; hf: "ei.hf"; hg: "ei.hg"; hh: "ei.hh"; hi: "ei.hi"; hj: "ei.hj"; hk: "ei.hk"; hl: "ei.hl"; hm: "ei.hm"; hn: "ei.hn"; ho: "ei.ho"; hp: "ei.hp"; hq: "ei.hq"; hr: "ei.hr"; hs: "ei.hs"; ht: "ei.ht"; hu: "ei.hu"; hv: "ei.hv"; hw: "ei.hw"; hx: "ei.hx"; hy: "ei.hy"; hz: "ei.hz"; ia: "ei.ia"; ib: "ei.ib"; ic: "ei.ic"; id: "ei.id"; ie: "ei.ie"; if: "ei.if"; ig: "ei.ig"; ih: "ei.ih"; ii: "ei.ii"; ij: "ei.ij"; ik: "ei.ik"; il: "ei.il"; im: "ei.im"; in: "ei.in"; io: "ei.io"; ip: "ei.ip"; iq: "ei.iq"; ir: "ei.ir"; is: "ei.is"; it: "ei.it"; iu: "ei.iu"; iv: "ei.iv"; iw: "ei.iw"; ix: "ei.ix"; iy: "ei.iy"; iz: "ei.iz"; ja: "ei.ja"; jb: "ei.jb"; jc: "ei.jc"; jd: "ei.jd"; je: "ei.je"; jf: "ei.jf"; jg: "ei.jg"; jh: "ei.jh"; ji: "ei.ji"; jj: "ei.jj"; jk: "ei.jk"; jl: "ei.jl"; jm: "ei.jm"; jn: "ei.jn"; jo: "ei.jo"; jp: "ei.jp"; jq: "ei.jq"; jr: "ei.jr"; js: "ei.js"; jt: "ei.jt"; ju: "ei.ju"; jv: "ei.jv"; jw: "ei.jw"; jx: "ei.jx"; jy: "ei.jy"; jz: "ei.jz"; ka: "ei.ka"; kb: "ei.kb"; kc: "ei.kc"; kd: "ei.kd"; ke: "ei.ke"; kf: "ei.kf"; kg: "ei.kg"; kh: "ei.kh"; ki: "ei.ki"; kj: "ei.kj"; kk: "ei.kk"; kl: "ei.kl"; km: "ei.km"; kn: "ei.kn"; ko: "ei.ko"; kp: "ei.kp"; kq: "ei.kq"; kr: "ei.kr"; ks: "ei.ks"; kt: "ei.kt"; ku: "ei.ku"; kv: "ei.kv"; kw: "ei.kw"; kx: "ei.kx"; ky: "ei.ky"; kz: "ei.kz"; la: "ei.la"; lb: "ei.lb"; lc: "ei.lc"; ld: "ei.ld"; le: "ei.le"; lf: "ei.lf"; lg: "ei.lg"; lh: "ei.lh"; li: "ei.li"; lj: "ei.lj"; lk: "ei.lk"; ll: "ei.ll"; lm: "ei.lm"; ln: "ei.ln"; lo: "ei.lo"; lp: "ei.lp"; lq: "ei.lq"; lr: "ei.lr"; ls: "ei.ls"; lt: "ei.lt"; lu: "ei.lu"; lv: "ei.lv"; lw: "ei.lw"; lx: "ei.lx"; ly: "ei.ly"; lz: "ei.lz"; ma: "ei.ma"; mb: "ei.mb"; mc: "ei.mc"; md: "ei.md"; me: "ei.me"; mf: "ei.mf"; mg: "ei.mg"; mh: "ei.mh"; mi: "ei.mi"; mj: "ei.mj"; mk: "ei.mk"; ml: "ei.ml"; mm: "ei.mm"; mn: "ei.mn"; mo: "ei.mo"; mp: "ei.mp"; mq: "ei.mq"; mr: "ei.mr"; ms: "ei.ms"; mt: "ei.mt"; mu: "ei.mu"; mv: "ei.mv"; mw: "ei.mw"; mx: "ei.mx"; my: "ei.my"; mz: "ei.mz"; na: "ei.na"; nb: "ei.nb"; nc: "ei.nc"; nd: "ei.nd"; ne: "ei.ne"; nf: "ei.nf"; ng: "ei.ng"; nh: "ei.nh"; ni: "ei.ni"; nj: "ei.nj"; nk: "ei.nk"; nl: "ei.nl"; nm: "ei.nm"; nn: "ei.nn"; no: "ei.no"; np: "ei.np"; nq: "ei.nq"; nr: "ei.nr"; ns: "ei.ns"; nt: "ei.nt"; nu: "ei.nu"; nv: "ei.nv"; nw: "ei.nw"; nx: "ei.nx"; ny: "ei.ny"; nz: "ei.nz"; oa: "ei.oa"; ob: "ei.ob"; oc: "ei.oc"; od: "ei.od"; oe: "ei.oe"; of: "ei.of"; og: "ei.og"; oh: "ei.oh"; oi: "ei.oi"; oj: "ei.oj"; ok: "ei.ok"; ol: "ei.ol"; om: "ei.om"; on: "ei.on"; oo: "ei.oo"; op: "ei.op"; oq: "ei.oq"; or: "ei.or"; os: "ei.os"; ot: "ei.ot"; ou: "ei.ou"; ov: "ei.ov"; ow: "ei.ow"; ox: "ei.ox"; oy: "ei.oy"; oz: "ei.oz"; pa: "ei.pa"; pb: "ei.pb"; pc: "ei.pc"; pd: "ei.pd"; pe: "ei.pe"; pf: "ei.pf"; pg: "ei.pg"; ph: "ei.ph"; pi: "ei.pi"; pj: "ei.pj"; pk: "ei.pk"; pl: "ei.pl"; pm: "ei.pm"; pn: "ei.pn"; po: "ei.po"; pp: "ei.pp"; pq: "ei.pq"; pr: "ei.pr"; ps: "ei.ps"; pt: "ei.pt"; pu: "ei.pu"; pv: "ei.pv"; pw: "ei.pw"; px: "ei.px"; py: "ei.py"; pz: "ei.pz"; qa: "ei.qa"; qb: "ei.qb"; qc: "ei.qc"; qd: "ei.qd"; qe: "ei.qe"; qf: "ei.qf"; qg: "ei.qg"; qh: "ei.qh"; qi: "ei.qi"; qj: "ei.qj"; qk: "ei.qk"; ql: "ei.ql"; qm: "ei.qm"; qn: "ei.qn"; qo: "ei.qo"; qp: "ei.qp"; qq: "ei.qq"; qr: "ei.qr"; qs: "ei.qs"; qt: "ei.qt"; qu: "ei.qu"; qv: "ei.qv"; qw: "ei.qw"; qx: "ei.qx"; qy: "ei.qy"; qz: "ei.qz"; ra: "ei.ra"; rb: "ei.rb"; rc: "ei.rc"; rd: "ei.rd"; re: "ei.re"; rf: "ei.rf"; rg: "ei.rg"; rh: "ei.rh"; ri: "ei.ri"; rj: "ei.rj"; rk: "ei.rk"; rl: "ei.rl"; rm: "ei.rm"; rn: "ei.rn"; ro: "ei.ro"; rp: "ei.rp"; rq: "ei.rq"; rr: "ei.rr"; rs: "ei.rs"; rt: "ei.rt"; ru: "ei.ru"; rv: "ei.rv"; rw: "ei.rw"; rx: "ei.rx"; ry: "ei.ry"; rz: "ei.rz"; sa: "ei.sa"; sb: "ei.sb"; sc: "ei.sc"; sd: "ei.sd"; se: "ei.se"; sf: "ei.sf"; sg: "ei.sg"; sh: "ei.sh"; si: "ei.si"; sj: "ei.sj"; sk: "ei.sk"; sl: "ei.sl"; sm: "ei.sm"; sn: "ei.sn"; so: "ei.so"; sp: "ei.sp"; sq: "ei.sq"; sr: "ei.sr"; ss: "ei.ss"; st: "ei.st"; su: "ei.su"; sv: "ei.sv"; sw: "ei.sw"; sx: "ei.sx"; sy: "ei.sy"; sz: "ei.sz"; ta: "ei.ta"; tb: "ei.tb"; tc: "ei.tc"; td: "ei.td"; te: "ei.te"; tf: "ei.tf"; tg: "ei.tg"; th: "ei.th"; ti: "ei.ti"; tj: "ei.tj"; tk: "ei.tk"; tl: "ei.tl"; tm: "ei.tm"; tn: "ei.tn"; to: "ei.to"; tp: "ei.tp"; tq: "ei.tq"; tr: "ei.tr"; ts: "ei.ts"; tt: "ei.tt"; tu: "ei.tu"; tv: "ei.tv"; tw: "ei.tw"; tx: "ei.tx"; ty: "ei.ty"; tz: "ei.tz"; ua: "ei.ua"; ub: "ei.ub"; uc: "ei.uc"; ud: "ei.ud"; ue: "ei.ue"; uf: "ei.uf"; ug: "ei.ug"; uh: "ei.uh"; ui: "ei.ui"; uj: "ei.uj"; uk: "ei.uk"; ul: "ei.ul"; um: "ei.um"; un: "ei.un"; uo: "ei.uo"; up: "ei.up"; uq: "ei.uq"; ur: "ei.ur"; us: "ei.us"; ut: "ei.ut"; uu: "ei.uu"; uv: "ei.uv"; uw: "ei.uw"; ux: "ei.ux"; uy: "ei.uy"; uz: "ei.uz"; va: "ei.va"; vb: "ei.vb"; vc: "ei.vc"; vd: "ei.vd"; ve: "ei.ve"; vf: "ei.vf"; vg: "ei.vg"; vh: "ei.vh"; vi: "ei.vi"; vj: "ei.vj"; vk: "ei.vk"; vl: "ei.vl"; vm: "ei.vm"; vn: "ei.vn"; vo: "ei.vo"; vp: "ei.vp"; vq: "ei.vq"; vr: "ei.vr"; vs: "ei.vs"; vt: "ei.vt"; vu: "ei.vu"; vv: "ei.vv"; vw: "ei.vw"; vx: "ei.vx"; vy: "ei.vy"; vz: "ei.vz"; wa: "ei.wa"; wb: "ei.wb"; wc: "ei.wc"; wd: "ei.wd"; we: "ei.we"; wf: "ei.wf"; wg: "ei.wg"; wh: "ei.wh"; wi: "ei.wi"; wj: "ei.wj"; wk: "ei.wk"; wl: "ei.wl"; wm: "ei.wm"; wn: "ei.wn"; wo: "ei.wo"; wp: "ei.wp"; wq: "ei.wq"; wr: "ei.wr"; ws: "ei.ws"; wt: "ei.wt"; wu: "ei.wu"; wv: "ei.wv"; ww: "ei.ww"; wx: "ei.wx"; wy: "ei.wy"; wz: "ei.wz"; xa: "ei.xa"; xb: "ei.xb"; xc: "ei.xc"; xd: "ei.xd"; xe: "ei.xe"; xf: "ei.xf"; xg: "ei.xg"; xh: "ei.xh"; xi: "ei.xi"; xj: "ei.xj"; xk: "ei.xk"; xl: "ei.xl"; xm: "ei.xm"; xn: "ei.xn"; xo: "ei.xo"; xp: "ei.xp"; xq: "ei.xq"; xr: "ei.xr"; xs: "ei.xs"; xt: "ei.xt"; xu: "ei.xu"; xv: "ei.xv"; xw: "ei.xw"; xx: "ei.xx"; xy: "ei.xy"; xz: "ei.xz"; ya: "ei.ya"; yb: "ei.yb"; yc: "ei.yc"; yd: "ei.yd"; ye: "ei.ye"; yf: "ei.yf"; yg: "ei.yg"; yh: "ei.yh"; yi: "ei.yi"; yj: "ei.yj"; yk: "ei.yk"; yl: "ei.yl"; ym: "ei.ym"; yn: "ei.yn"; yo: "ei.yo"; yp: "ei.yp"; yq: "ei.yq"; yr: "ei.yr"; ys: "ei.ys"; yt: "ei.yt"; yu: "ei.yu"; yv: "ei.yv"; yw: "ei.yw"; yx: "ei.yx"; yy: "ei.yy"; yz: "ei.yz"; za: "ei.za"; zb: "ei.zb"; zc: "ei.zc"; zd: "ei.zd"; ze: "ei.ze"; zf: "ei.zf"; zg: "ei.zg"; zh: "ei.zh"; zi: "ei.zi"; zj: "ei.zj"; zk: "ei.zk"; zl: "ei.zl"; zm: "ei.zm"; zn: "ei.zn"; zo: "ei.zo"; zp: "ei.zp"; zq: "ei.zq"; zr: "ei.zr"; zs: "ei.zs"; zt: "ei.zt"; zu: "ei.zu"; zv: "ei.zv"; zw: "ei.zw"; zx: "ei.zx"; zy: "ei.zy"; zz: "ei.zz"; }; ej: { aa: "ej.aa"; ab: "ej.ab"; ac: "ej.ac"; ad: "ej.ad"; ae: "ej.ae"; af: "ej.af"; ag: "ej.ag"; ah: "ej.ah"; ai: "ej.ai"; aj: "ej.aj"; ak: "ej.ak"; al: "ej.al"; am: "ej.am"; an: "ej.an"; ao: "ej.ao"; ap: "ej.ap"; aq: "ej.aq"; ar: "ej.ar"; as: "ej.as"; at: "ej.at"; au: "ej.au"; av: "ej.av"; aw: "ej.aw"; ax: "ej.ax"; ay: "ej.ay"; az: "ej.az"; ba: "ej.ba"; bb: "ej.bb"; bc: "ej.bc"; bd: "ej.bd"; be: "ej.be"; bf: "ej.bf"; bg: "ej.bg"; bh: "ej.bh"; bi: "ej.bi"; bj: "ej.bj"; bk: "ej.bk"; bl: "ej.bl"; bm: "ej.bm"; bn: "ej.bn"; bo: "ej.bo"; bp: "ej.bp"; bq: "ej.bq"; br: "ej.br"; bs: "ej.bs"; bt: "ej.bt"; bu: "ej.bu"; bv: "ej.bv"; bw: "ej.bw"; bx: "ej.bx"; by: "ej.by"; bz: "ej.bz"; ca: "ej.ca"; cb: "ej.cb"; cc: "ej.cc"; cd: "ej.cd"; ce: "ej.ce"; cf: "ej.cf"; cg: "ej.cg"; ch: "ej.ch"; ci: "ej.ci"; cj: "ej.cj"; ck: "ej.ck"; cl: "ej.cl"; cm: "ej.cm"; cn: "ej.cn"; co: "ej.co"; cp: "ej.cp"; cq: "ej.cq"; cr: "ej.cr"; cs: "ej.cs"; ct: "ej.ct"; cu: "ej.cu"; cv: "ej.cv"; cw: "ej.cw"; cx: "ej.cx"; cy: "ej.cy"; cz: "ej.cz"; da: "ej.da"; db: "ej.db"; dc: "ej.dc"; dd: "ej.dd"; de: "ej.de"; df: "ej.df"; dg: "ej.dg"; dh: "ej.dh"; di: "ej.di"; dj: "ej.dj"; dk: "ej.dk"; dl: "ej.dl"; dm: "ej.dm"; dn: "ej.dn"; do: "ej.do"; dp: "ej.dp"; dq: "ej.dq"; dr: "ej.dr"; ds: "ej.ds"; dt: "ej.dt"; du: "ej.du"; dv: "ej.dv"; dw: "ej.dw"; dx: "ej.dx"; dy: "ej.dy"; dz: "ej.dz"; ea: "ej.ea"; eb: "ej.eb"; ec: "ej.ec"; ed: "ej.ed"; ee: "ej.ee"; ef: "ej.ef"; eg: "ej.eg"; eh: "ej.eh"; ei: "ej.ei"; ej: "ej.ej"; ek: "ej.ek"; el: "ej.el"; em: "ej.em"; en: "ej.en"; eo: "ej.eo"; ep: "ej.ep"; eq: "ej.eq"; er: "ej.er"; es: "ej.es"; et: "ej.et"; eu: "ej.eu"; ev: "ej.ev"; ew: "ej.ew"; ex: "ej.ex"; ey: "ej.ey"; ez: "ej.ez"; fa: "ej.fa"; fb: "ej.fb"; fc: "ej.fc"; fd: "ej.fd"; fe: "ej.fe"; ff: "ej.ff"; fg: "ej.fg"; fh: "ej.fh"; fi: "ej.fi"; fj: "ej.fj"; fk: "ej.fk"; fl: "ej.fl"; fm: "ej.fm"; fn: "ej.fn"; fo: "ej.fo"; fp: "ej.fp"; fq: "ej.fq"; fr: "ej.fr"; fs: "ej.fs"; ft: "ej.ft"; fu: "ej.fu"; fv: "ej.fv"; fw: "ej.fw"; fx: "ej.fx"; fy: "ej.fy"; fz: "ej.fz"; ga: "ej.ga"; gb: "ej.gb"; gc: "ej.gc"; gd: "ej.gd"; ge: "ej.ge"; gf: "ej.gf"; gg: "ej.gg"; gh: "ej.gh"; gi: "ej.gi"; gj: "ej.gj"; gk: "ej.gk"; gl: "ej.gl"; gm: "ej.gm"; gn: "ej.gn"; go: "ej.go"; gp: "ej.gp"; gq: "ej.gq"; gr: "ej.gr"; gs: "ej.gs"; gt: "ej.gt"; gu: "ej.gu"; gv: "ej.gv"; gw: "ej.gw"; gx: "ej.gx"; gy: "ej.gy"; gz: "ej.gz"; ha: "ej.ha"; hb: "ej.hb"; hc: "ej.hc"; hd: "ej.hd"; he: "ej.he"; hf: "ej.hf"; hg: "ej.hg"; hh: "ej.hh"; hi: "ej.hi"; hj: "ej.hj"; hk: "ej.hk"; hl: "ej.hl"; hm: "ej.hm"; hn: "ej.hn"; ho: "ej.ho"; hp: "ej.hp"; hq: "ej.hq"; hr: "ej.hr"; hs: "ej.hs"; ht: "ej.ht"; hu: "ej.hu"; hv: "ej.hv"; hw: "ej.hw"; hx: "ej.hx"; hy: "ej.hy"; hz: "ej.hz"; ia: "ej.ia"; ib: "ej.ib"; ic: "ej.ic"; id: "ej.id"; ie: "ej.ie"; if: "ej.if"; ig: "ej.ig"; ih: "ej.ih"; ii: "ej.ii"; ij: "ej.ij"; ik: "ej.ik"; il: "ej.il"; im: "ej.im"; in: "ej.in"; io: "ej.io"; ip: "ej.ip"; iq: "ej.iq"; ir: "ej.ir"; is: "ej.is"; it: "ej.it"; iu: "ej.iu"; iv: "ej.iv"; iw: "ej.iw"; ix: "ej.ix"; iy: "ej.iy"; iz: "ej.iz"; ja: "ej.ja"; jb: "ej.jb"; jc: "ej.jc"; jd: "ej.jd"; je: "ej.je"; jf: "ej.jf"; jg: "ej.jg"; jh: "ej.jh"; ji: "ej.ji"; jj: "ej.jj"; jk: "ej.jk"; jl: "ej.jl"; jm: "ej.jm"; jn: "ej.jn"; jo: "ej.jo"; jp: "ej.jp"; jq: "ej.jq"; jr: "ej.jr"; js: "ej.js"; jt: "ej.jt"; ju: "ej.ju"; jv: "ej.jv"; jw: "ej.jw"; jx: "ej.jx"; jy: "ej.jy"; jz: "ej.jz"; ka: "ej.ka"; kb: "ej.kb"; kc: "ej.kc"; kd: "ej.kd"; ke: "ej.ke"; kf: "ej.kf"; kg: "ej.kg"; kh: "ej.kh"; ki: "ej.ki"; kj: "ej.kj"; kk: "ej.kk"; kl: "ej.kl"; km: "ej.km"; kn: "ej.kn"; ko: "ej.ko"; kp: "ej.kp"; kq: "ej.kq"; kr: "ej.kr"; ks: "ej.ks"; kt: "ej.kt"; ku: "ej.ku"; kv: "ej.kv"; kw: "ej.kw"; kx: "ej.kx"; ky: "ej.ky"; kz: "ej.kz"; la: "ej.la"; lb: "ej.lb"; lc: "ej.lc"; ld: "ej.ld"; le: "ej.le"; lf: "ej.lf"; lg: "ej.lg"; lh: "ej.lh"; li: "ej.li"; lj: "ej.lj"; lk: "ej.lk"; ll: "ej.ll"; lm: "ej.lm"; ln: "ej.ln"; lo: "ej.lo"; lp: "ej.lp"; lq: "ej.lq"; lr: "ej.lr"; ls: "ej.ls"; lt: "ej.lt"; lu: "ej.lu"; lv: "ej.lv"; lw: "ej.lw"; lx: "ej.lx"; ly: "ej.ly"; lz: "ej.lz"; ma: "ej.ma"; mb: "ej.mb"; mc: "ej.mc"; md: "ej.md"; me: "ej.me"; mf: "ej.mf"; mg: "ej.mg"; mh: "ej.mh"; mi: "ej.mi"; mj: "ej.mj"; mk: "ej.mk"; ml: "ej.ml"; mm: "ej.mm"; mn: "ej.mn"; mo: "ej.mo"; mp: "ej.mp"; mq: "ej.mq"; mr: "ej.mr"; ms: "ej.ms"; mt: "ej.mt"; mu: "ej.mu"; mv: "ej.mv"; mw: "ej.mw"; mx: "ej.mx"; my: "ej.my"; mz: "ej.mz"; na: "ej.na"; nb: "ej.nb"; nc: "ej.nc"; nd: "ej.nd"; ne: "ej.ne"; nf: "ej.nf"; ng: "ej.ng"; nh: "ej.nh"; ni: "ej.ni"; nj: "ej.nj"; nk: "ej.nk"; nl: "ej.nl"; nm: "ej.nm"; nn: "ej.nn"; no: "ej.no"; np: "ej.np"; nq: "ej.nq"; nr: "ej.nr"; ns: "ej.ns"; nt: "ej.nt"; nu: "ej.nu"; nv: "ej.nv"; nw: "ej.nw"; nx: "ej.nx"; ny: "ej.ny"; nz: "ej.nz"; oa: "ej.oa"; ob: "ej.ob"; oc: "ej.oc"; od: "ej.od"; oe: "ej.oe"; of: "ej.of"; og: "ej.og"; oh: "ej.oh"; oi: "ej.oi"; oj: "ej.oj"; ok: "ej.ok"; ol: "ej.ol"; om: "ej.om"; on: "ej.on"; oo: "ej.oo"; op: "ej.op"; oq: "ej.oq"; or: "ej.or"; os: "ej.os"; ot: "ej.ot"; ou: "ej.ou"; ov: "ej.ov"; ow: "ej.ow"; ox: "ej.ox"; oy: "ej.oy"; oz: "ej.oz"; pa: "ej.pa"; pb: "ej.pb"; pc: "ej.pc"; pd: "ej.pd"; pe: "ej.pe"; pf: "ej.pf"; pg: "ej.pg"; ph: "ej.ph"; pi: "ej.pi"; pj: "ej.pj"; pk: "ej.pk"; pl: "ej.pl"; pm: "ej.pm"; pn: "ej.pn"; po: "ej.po"; pp: "ej.pp"; pq: "ej.pq"; pr: "ej.pr"; ps: "ej.ps"; pt: "ej.pt"; pu: "ej.pu"; pv: "ej.pv"; pw: "ej.pw"; px: "ej.px"; py: "ej.py"; pz: "ej.pz"; qa: "ej.qa"; qb: "ej.qb"; qc: "ej.qc"; qd: "ej.qd"; qe: "ej.qe"; qf: "ej.qf"; qg: "ej.qg"; qh: "ej.qh"; qi: "ej.qi"; qj: "ej.qj"; qk: "ej.qk"; ql: "ej.ql"; qm: "ej.qm"; qn: "ej.qn"; qo: "ej.qo"; qp: "ej.qp"; qq: "ej.qq"; qr: "ej.qr"; qs: "ej.qs"; qt: "ej.qt"; qu: "ej.qu"; qv: "ej.qv"; qw: "ej.qw"; qx: "ej.qx"; qy: "ej.qy"; qz: "ej.qz"; ra: "ej.ra"; rb: "ej.rb"; rc: "ej.rc"; rd: "ej.rd"; re: "ej.re"; rf: "ej.rf"; rg: "ej.rg"; rh: "ej.rh"; ri: "ej.ri"; rj: "ej.rj"; rk: "ej.rk"; rl: "ej.rl"; rm: "ej.rm"; rn: "ej.rn"; ro: "ej.ro"; rp: "ej.rp"; rq: "ej.rq"; rr: "ej.rr"; rs: "ej.rs"; rt: "ej.rt"; ru: "ej.ru"; rv: "ej.rv"; rw: "ej.rw"; rx: "ej.rx"; ry: "ej.ry"; rz: "ej.rz"; sa: "ej.sa"; sb: "ej.sb"; sc: "ej.sc"; sd: "ej.sd"; se: "ej.se"; sf: "ej.sf"; sg: "ej.sg"; sh: "ej.sh"; si: "ej.si"; sj: "ej.sj"; sk: "ej.sk"; sl: "ej.sl"; sm: "ej.sm"; sn: "ej.sn"; so: "ej.so"; sp: "ej.sp"; sq: "ej.sq"; sr: "ej.sr"; ss: "ej.ss"; st: "ej.st"; su: "ej.su"; sv: "ej.sv"; sw: "ej.sw"; sx: "ej.sx"; sy: "ej.sy"; sz: "ej.sz"; ta: "ej.ta"; tb: "ej.tb"; tc: "ej.tc"; td: "ej.td"; te: "ej.te"; tf: "ej.tf"; tg: "ej.tg"; th: "ej.th"; ti: "ej.ti"; tj: "ej.tj"; tk: "ej.tk"; tl: "ej.tl"; tm: "ej.tm"; tn: "ej.tn"; to: "ej.to"; tp: "ej.tp"; tq: "ej.tq"; tr: "ej.tr"; ts: "ej.ts"; tt: "ej.tt"; tu: "ej.tu"; tv: "ej.tv"; tw: "ej.tw"; tx: "ej.tx"; ty: "ej.ty"; tz: "ej.tz"; ua: "ej.ua"; ub: "ej.ub"; uc: "ej.uc"; ud: "ej.ud"; ue: "ej.ue"; uf: "ej.uf"; ug: "ej.ug"; uh: "ej.uh"; ui: "ej.ui"; uj: "ej.uj"; uk: "ej.uk"; ul: "ej.ul"; um: "ej.um"; un: "ej.un"; uo: "ej.uo"; up: "ej.up"; uq: "ej.uq"; ur: "ej.ur"; us: "ej.us"; ut: "ej.ut"; uu: "ej.uu"; uv: "ej.uv"; uw: "ej.uw"; ux: "ej.ux"; uy: "ej.uy"; uz: "ej.uz"; va: "ej.va"; vb: "ej.vb"; vc: "ej.vc"; vd: "ej.vd"; ve: "ej.ve"; vf: "ej.vf"; vg: "ej.vg"; vh: "ej.vh"; vi: "ej.vi"; vj: "ej.vj"; vk: "ej.vk"; vl: "ej.vl"; vm: "ej.vm"; vn: "ej.vn"; vo: "ej.vo"; vp: "ej.vp"; vq: "ej.vq"; vr: "ej.vr"; vs: "ej.vs"; vt: "ej.vt"; vu: "ej.vu"; vv: "ej.vv"; vw: "ej.vw"; vx: "ej.vx"; vy: "ej.vy"; vz: "ej.vz"; wa: "ej.wa"; wb: "ej.wb"; wc: "ej.wc"; wd: "ej.wd"; we: "ej.we"; wf: "ej.wf"; wg: "ej.wg"; wh: "ej.wh"; wi: "ej.wi"; wj: "ej.wj"; wk: "ej.wk"; wl: "ej.wl"; wm: "ej.wm"; wn: "ej.wn"; wo: "ej.wo"; wp: "ej.wp"; wq: "ej.wq"; wr: "ej.wr"; ws: "ej.ws"; wt: "ej.wt"; wu: "ej.wu"; wv: "ej.wv"; ww: "ej.ww"; wx: "ej.wx"; wy: "ej.wy"; wz: "ej.wz"; xa: "ej.xa"; xb: "ej.xb"; xc: "ej.xc"; xd: "ej.xd"; xe: "ej.xe"; xf: "ej.xf"; xg: "ej.xg"; xh: "ej.xh"; xi: "ej.xi"; xj: "ej.xj"; xk: "ej.xk"; xl: "ej.xl"; xm: "ej.xm"; xn: "ej.xn"; xo: "ej.xo"; xp: "ej.xp"; xq: "ej.xq"; xr: "ej.xr"; xs: "ej.xs"; xt: "ej.xt"; xu: "ej.xu"; xv: "ej.xv"; xw: "ej.xw"; xx: "ej.xx"; xy: "ej.xy"; xz: "ej.xz"; ya: "ej.ya"; yb: "ej.yb"; yc: "ej.yc"; yd: "ej.yd"; ye: "ej.ye"; yf: "ej.yf"; yg: "ej.yg"; yh: "ej.yh"; yi: "ej.yi"; yj: "ej.yj"; yk: "ej.yk"; yl: "ej.yl"; ym: "ej.ym"; yn: "ej.yn"; yo: "ej.yo"; yp: "ej.yp"; yq: "ej.yq"; yr: "ej.yr"; ys: "ej.ys"; yt: "ej.yt"; yu: "ej.yu"; yv: "ej.yv"; yw: "ej.yw"; yx: "ej.yx"; yy: "ej.yy"; yz: "ej.yz"; za: "ej.za"; zb: "ej.zb"; zc: "ej.zc"; zd: "ej.zd"; ze: "ej.ze"; zf: "ej.zf"; zg: "ej.zg"; zh: "ej.zh"; zi: "ej.zi"; zj: "ej.zj"; zk: "ej.zk"; zl: "ej.zl"; zm: "ej.zm"; zn: "ej.zn"; zo: "ej.zo"; zp: "ej.zp"; zq: "ej.zq"; zr: "ej.zr"; zs: "ej.zs"; zt: "ej.zt"; zu: "ej.zu"; zv: "ej.zv"; zw: "ej.zw"; zx: "ej.zx"; zy: "ej.zy"; zz: "ej.zz"; }; ek: { aa: "ek.aa"; ab: "ek.ab"; ac: "ek.ac"; ad: "ek.ad"; ae: "ek.ae"; af: "ek.af"; ag: "ek.ag"; ah: "ek.ah"; ai: "ek.ai"; aj: "ek.aj"; ak: "ek.ak"; al: "ek.al"; am: "ek.am"; an: "ek.an"; ao: "ek.ao"; ap: "ek.ap"; aq: "ek.aq"; ar: "ek.ar"; as: "ek.as"; at: "ek.at"; au: "ek.au"; av: "ek.av"; aw: "ek.aw"; ax: "ek.ax"; ay: "ek.ay"; az: "ek.az"; ba: "ek.ba"; bb: "ek.bb"; bc: "ek.bc"; bd: "ek.bd"; be: "ek.be"; bf: "ek.bf"; bg: "ek.bg"; bh: "ek.bh"; bi: "ek.bi"; bj: "ek.bj"; bk: "ek.bk"; bl: "ek.bl"; bm: "ek.bm"; bn: "ek.bn"; bo: "ek.bo"; bp: "ek.bp"; bq: "ek.bq"; br: "ek.br"; bs: "ek.bs"; bt: "ek.bt"; bu: "ek.bu"; bv: "ek.bv"; bw: "ek.bw"; bx: "ek.bx"; by: "ek.by"; bz: "ek.bz"; ca: "ek.ca"; cb: "ek.cb"; cc: "ek.cc"; cd: "ek.cd"; ce: "ek.ce"; cf: "ek.cf"; cg: "ek.cg"; ch: "ek.ch"; ci: "ek.ci"; cj: "ek.cj"; ck: "ek.ck"; cl: "ek.cl"; cm: "ek.cm"; cn: "ek.cn"; co: "ek.co"; cp: "ek.cp"; cq: "ek.cq"; cr: "ek.cr"; cs: "ek.cs"; ct: "ek.ct"; cu: "ek.cu"; cv: "ek.cv"; cw: "ek.cw"; cx: "ek.cx"; cy: "ek.cy"; cz: "ek.cz"; da: "ek.da"; db: "ek.db"; dc: "ek.dc"; dd: "ek.dd"; de: "ek.de"; df: "ek.df"; dg: "ek.dg"; dh: "ek.dh"; di: "ek.di"; dj: "ek.dj"; dk: "ek.dk"; dl: "ek.dl"; dm: "ek.dm"; dn: "ek.dn"; do: "ek.do"; dp: "ek.dp"; dq: "ek.dq"; dr: "ek.dr"; ds: "ek.ds"; dt: "ek.dt"; du: "ek.du"; dv: "ek.dv"; dw: "ek.dw"; dx: "ek.dx"; dy: "ek.dy"; dz: "ek.dz"; ea: "ek.ea"; eb: "ek.eb"; ec: "ek.ec"; ed: "ek.ed"; ee: "ek.ee"; ef: "ek.ef"; eg: "ek.eg"; eh: "ek.eh"; ei: "ek.ei"; ej: "ek.ej"; ek: "ek.ek"; el: "ek.el"; em: "ek.em"; en: "ek.en"; eo: "ek.eo"; ep: "ek.ep"; eq: "ek.eq"; er: "ek.er"; es: "ek.es"; et: "ek.et"; eu: "ek.eu"; ev: "ek.ev"; ew: "ek.ew"; ex: "ek.ex"; ey: "ek.ey"; ez: "ek.ez"; fa: "ek.fa"; fb: "ek.fb"; fc: "ek.fc"; fd: "ek.fd"; fe: "ek.fe"; ff: "ek.ff"; fg: "ek.fg"; fh: "ek.fh"; fi: "ek.fi"; fj: "ek.fj"; fk: "ek.fk"; fl: "ek.fl"; fm: "ek.fm"; fn: "ek.fn"; fo: "ek.fo"; fp: "ek.fp"; fq: "ek.fq"; fr: "ek.fr"; fs: "ek.fs"; ft: "ek.ft"; fu: "ek.fu"; fv: "ek.fv"; fw: "ek.fw"; fx: "ek.fx"; fy: "ek.fy"; fz: "ek.fz"; ga: "ek.ga"; gb: "ek.gb"; gc: "ek.gc"; gd: "ek.gd"; ge: "ek.ge"; gf: "ek.gf"; gg: "ek.gg"; gh: "ek.gh"; gi: "ek.gi"; gj: "ek.gj"; gk: "ek.gk"; gl: "ek.gl"; gm: "ek.gm"; gn: "ek.gn"; go: "ek.go"; gp: "ek.gp"; gq: "ek.gq"; gr: "ek.gr"; gs: "ek.gs"; gt: "ek.gt"; gu: "ek.gu"; gv: "ek.gv"; gw: "ek.gw"; gx: "ek.gx"; gy: "ek.gy"; gz: "ek.gz"; ha: "ek.ha"; hb: "ek.hb"; hc: "ek.hc"; hd: "ek.hd"; he: "ek.he"; hf: "ek.hf"; hg: "ek.hg"; hh: "ek.hh"; hi: "ek.hi"; hj: "ek.hj"; hk: "ek.hk"; hl: "ek.hl"; hm: "ek.hm"; hn: "ek.hn"; ho: "ek.ho"; hp: "ek.hp"; hq: "ek.hq"; hr: "ek.hr"; hs: "ek.hs"; ht: "ek.ht"; hu: "ek.hu"; hv: "ek.hv"; hw: "ek.hw"; hx: "ek.hx"; hy: "ek.hy"; hz: "ek.hz"; ia: "ek.ia"; ib: "ek.ib"; ic: "ek.ic"; id: "ek.id"; ie: "ek.ie"; if: "ek.if"; ig: "ek.ig"; ih: "ek.ih"; ii: "ek.ii"; ij: "ek.ij"; ik: "ek.ik"; il: "ek.il"; im: "ek.im"; in: "ek.in"; io: "ek.io"; ip: "ek.ip"; iq: "ek.iq"; ir: "ek.ir"; is: "ek.is"; it: "ek.it"; iu: "ek.iu"; iv: "ek.iv"; iw: "ek.iw"; ix: "ek.ix"; iy: "ek.iy"; iz: "ek.iz"; ja: "ek.ja"; jb: "ek.jb"; jc: "ek.jc"; jd: "ek.jd"; je: "ek.je"; jf: "ek.jf"; jg: "ek.jg"; jh: "ek.jh"; ji: "ek.ji"; jj: "ek.jj"; jk: "ek.jk"; jl: "ek.jl"; jm: "ek.jm"; jn: "ek.jn"; jo: "ek.jo"; jp: "ek.jp"; jq: "ek.jq"; jr: "ek.jr"; js: "ek.js"; jt: "ek.jt"; ju: "ek.ju"; jv: "ek.jv"; jw: "ek.jw"; jx: "ek.jx"; jy: "ek.jy"; jz: "ek.jz"; ka: "ek.ka"; kb: "ek.kb"; kc: "ek.kc"; kd: "ek.kd"; ke: "ek.ke"; kf: "ek.kf"; kg: "ek.kg"; kh: "ek.kh"; ki: "ek.ki"; kj: "ek.kj"; kk: "ek.kk"; kl: "ek.kl"; km: "ek.km"; kn: "ek.kn"; ko: "ek.ko"; kp: "ek.kp"; kq: "ek.kq"; kr: "ek.kr"; ks: "ek.ks"; kt: "ek.kt"; ku: "ek.ku"; kv: "ek.kv"; kw: "ek.kw"; kx: "ek.kx"; ky: "ek.ky"; kz: "ek.kz"; la: "ek.la"; lb: "ek.lb"; lc: "ek.lc"; ld: "ek.ld"; le: "ek.le"; lf: "ek.lf"; lg: "ek.lg"; lh: "ek.lh"; li: "ek.li"; lj: "ek.lj"; lk: "ek.lk"; ll: "ek.ll"; lm: "ek.lm"; ln: "ek.ln"; lo: "ek.lo"; lp: "ek.lp"; lq: "ek.lq"; lr: "ek.lr"; ls: "ek.ls"; lt: "ek.lt"; lu: "ek.lu"; lv: "ek.lv"; lw: "ek.lw"; lx: "ek.lx"; ly: "ek.ly"; lz: "ek.lz"; ma: "ek.ma"; mb: "ek.mb"; mc: "ek.mc"; md: "ek.md"; me: "ek.me"; mf: "ek.mf"; mg: "ek.mg"; mh: "ek.mh"; mi: "ek.mi"; mj: "ek.mj"; mk: "ek.mk"; ml: "ek.ml"; mm: "ek.mm"; mn: "ek.mn"; mo: "ek.mo"; mp: "ek.mp"; mq: "ek.mq"; mr: "ek.mr"; ms: "ek.ms"; mt: "ek.mt"; mu: "ek.mu"; mv: "ek.mv"; mw: "ek.mw"; mx: "ek.mx"; my: "ek.my"; mz: "ek.mz"; na: "ek.na"; nb: "ek.nb"; nc: "ek.nc"; nd: "ek.nd"; ne: "ek.ne"; nf: "ek.nf"; ng: "ek.ng"; nh: "ek.nh"; ni: "ek.ni"; nj: "ek.nj"; nk: "ek.nk"; nl: "ek.nl"; nm: "ek.nm"; nn: "ek.nn"; no: "ek.no"; np: "ek.np"; nq: "ek.nq"; nr: "ek.nr"; ns: "ek.ns"; nt: "ek.nt"; nu: "ek.nu"; nv: "ek.nv"; nw: "ek.nw"; nx: "ek.nx"; ny: "ek.ny"; nz: "ek.nz"; oa: "ek.oa"; ob: "ek.ob"; oc: "ek.oc"; od: "ek.od"; oe: "ek.oe"; of: "ek.of"; og: "ek.og"; oh: "ek.oh"; oi: "ek.oi"; oj: "ek.oj"; ok: "ek.ok"; ol: "ek.ol"; om: "ek.om"; on: "ek.on"; oo: "ek.oo"; op: "ek.op"; oq: "ek.oq"; or: "ek.or"; os: "ek.os"; ot: "ek.ot"; ou: "ek.ou"; ov: "ek.ov"; ow: "ek.ow"; ox: "ek.ox"; oy: "ek.oy"; oz: "ek.oz"; pa: "ek.pa"; pb: "ek.pb"; pc: "ek.pc"; pd: "ek.pd"; pe: "ek.pe"; pf: "ek.pf"; pg: "ek.pg"; ph: "ek.ph"; pi: "ek.pi"; pj: "ek.pj"; pk: "ek.pk"; pl: "ek.pl"; pm: "ek.pm"; pn: "ek.pn"; po: "ek.po"; pp: "ek.pp"; pq: "ek.pq"; pr: "ek.pr"; ps: "ek.ps"; pt: "ek.pt"; pu: "ek.pu"; pv: "ek.pv"; pw: "ek.pw"; px: "ek.px"; py: "ek.py"; pz: "ek.pz"; qa: "ek.qa"; qb: "ek.qb"; qc: "ek.qc"; qd: "ek.qd"; qe: "ek.qe"; qf: "ek.qf"; qg: "ek.qg"; qh: "ek.qh"; qi: "ek.qi"; qj: "ek.qj"; qk: "ek.qk"; ql: "ek.ql"; qm: "ek.qm"; qn: "ek.qn"; qo: "ek.qo"; qp: "ek.qp"; qq: "ek.qq"; qr: "ek.qr"; qs: "ek.qs"; qt: "ek.qt"; qu: "ek.qu"; qv: "ek.qv"; qw: "ek.qw"; qx: "ek.qx"; qy: "ek.qy"; qz: "ek.qz"; ra: "ek.ra"; rb: "ek.rb"; rc: "ek.rc"; rd: "ek.rd"; re: "ek.re"; rf: "ek.rf"; rg: "ek.rg"; rh: "ek.rh"; ri: "ek.ri"; rj: "ek.rj"; rk: "ek.rk"; rl: "ek.rl"; rm: "ek.rm"; rn: "ek.rn"; ro: "ek.ro"; rp: "ek.rp"; rq: "ek.rq"; rr: "ek.rr"; rs: "ek.rs"; rt: "ek.rt"; ru: "ek.ru"; rv: "ek.rv"; rw: "ek.rw"; rx: "ek.rx"; ry: "ek.ry"; rz: "ek.rz"; sa: "ek.sa"; sb: "ek.sb"; sc: "ek.sc"; sd: "ek.sd"; se: "ek.se"; sf: "ek.sf"; sg: "ek.sg"; sh: "ek.sh"; si: "ek.si"; sj: "ek.sj"; sk: "ek.sk"; sl: "ek.sl"; sm: "ek.sm"; sn: "ek.sn"; so: "ek.so"; sp: "ek.sp"; sq: "ek.sq"; sr: "ek.sr"; ss: "ek.ss"; st: "ek.st"; su: "ek.su"; sv: "ek.sv"; sw: "ek.sw"; sx: "ek.sx"; sy: "ek.sy"; sz: "ek.sz"; ta: "ek.ta"; tb: "ek.tb"; tc: "ek.tc"; td: "ek.td"; te: "ek.te"; tf: "ek.tf"; tg: "ek.tg"; th: "ek.th"; ti: "ek.ti"; tj: "ek.tj"; tk: "ek.tk"; tl: "ek.tl"; tm: "ek.tm"; tn: "ek.tn"; to: "ek.to"; tp: "ek.tp"; tq: "ek.tq"; tr: "ek.tr"; ts: "ek.ts"; tt: "ek.tt"; tu: "ek.tu"; tv: "ek.tv"; tw: "ek.tw"; tx: "ek.tx"; ty: "ek.ty"; tz: "ek.tz"; ua: "ek.ua"; ub: "ek.ub"; uc: "ek.uc"; ud: "ek.ud"; ue: "ek.ue"; uf: "ek.uf"; ug: "ek.ug"; uh: "ek.uh"; ui: "ek.ui"; uj: "ek.uj"; uk: "ek.uk"; ul: "ek.ul"; um: "ek.um"; un: "ek.un"; uo: "ek.uo"; up: "ek.up"; uq: "ek.uq"; ur: "ek.ur"; us: "ek.us"; ut: "ek.ut"; uu: "ek.uu"; uv: "ek.uv"; uw: "ek.uw"; ux: "ek.ux"; uy: "ek.uy"; uz: "ek.uz"; va: "ek.va"; vb: "ek.vb"; vc: "ek.vc"; vd: "ek.vd"; ve: "ek.ve"; vf: "ek.vf"; vg: "ek.vg"; vh: "ek.vh"; vi: "ek.vi"; vj: "ek.vj"; vk: "ek.vk"; vl: "ek.vl"; vm: "ek.vm"; vn: "ek.vn"; vo: "ek.vo"; vp: "ek.vp"; vq: "ek.vq"; vr: "ek.vr"; vs: "ek.vs"; vt: "ek.vt"; vu: "ek.vu"; vv: "ek.vv"; vw: "ek.vw"; vx: "ek.vx"; vy: "ek.vy"; vz: "ek.vz"; wa: "ek.wa"; wb: "ek.wb"; wc: "ek.wc"; wd: "ek.wd"; we: "ek.we"; wf: "ek.wf"; wg: "ek.wg"; wh: "ek.wh"; wi: "ek.wi"; wj: "ek.wj"; wk: "ek.wk"; wl: "ek.wl"; wm: "ek.wm"; wn: "ek.wn"; wo: "ek.wo"; wp: "ek.wp"; wq: "ek.wq"; wr: "ek.wr"; ws: "ek.ws"; wt: "ek.wt"; wu: "ek.wu"; wv: "ek.wv"; ww: "ek.ww"; wx: "ek.wx"; wy: "ek.wy"; wz: "ek.wz"; xa: "ek.xa"; xb: "ek.xb"; xc: "ek.xc"; xd: "ek.xd"; xe: "ek.xe"; xf: "ek.xf"; xg: "ek.xg"; xh: "ek.xh"; xi: "ek.xi"; xj: "ek.xj"; xk: "ek.xk"; xl: "ek.xl"; xm: "ek.xm"; xn: "ek.xn"; xo: "ek.xo"; xp: "ek.xp"; xq: "ek.xq"; xr: "ek.xr"; xs: "ek.xs"; xt: "ek.xt"; xu: "ek.xu"; xv: "ek.xv"; xw: "ek.xw"; xx: "ek.xx"; xy: "ek.xy"; xz: "ek.xz"; ya: "ek.ya"; yb: "ek.yb"; yc: "ek.yc"; yd: "ek.yd"; ye: "ek.ye"; yf: "ek.yf"; yg: "ek.yg"; yh: "ek.yh"; yi: "ek.yi"; yj: "ek.yj"; yk: "ek.yk"; yl: "ek.yl"; ym: "ek.ym"; yn: "ek.yn"; yo: "ek.yo"; yp: "ek.yp"; yq: "ek.yq"; yr: "ek.yr"; ys: "ek.ys"; yt: "ek.yt"; yu: "ek.yu"; yv: "ek.yv"; yw: "ek.yw"; yx: "ek.yx"; yy: "ek.yy"; yz: "ek.yz"; za: "ek.za"; zb: "ek.zb"; zc: "ek.zc"; zd: "ek.zd"; ze: "ek.ze"; zf: "ek.zf"; zg: "ek.zg"; zh: "ek.zh"; zi: "ek.zi"; zj: "ek.zj"; zk: "ek.zk"; zl: "ek.zl"; zm: "ek.zm"; zn: "ek.zn"; zo: "ek.zo"; zp: "ek.zp"; zq: "ek.zq"; zr: "ek.zr"; zs: "ek.zs"; zt: "ek.zt"; zu: "ek.zu"; zv: "ek.zv"; zw: "ek.zw"; zx: "ek.zx"; zy: "ek.zy"; zz: "ek.zz"; }; el: { aa: "el.aa"; ab: "el.ab"; ac: "el.ac"; ad: "el.ad"; ae: "el.ae"; af: "el.af"; ag: "el.ag"; ah: "el.ah"; ai: "el.ai"; aj: "el.aj"; ak: "el.ak"; al: "el.al"; am: "el.am"; an: "el.an"; ao: "el.ao"; ap: "el.ap"; aq: "el.aq"; ar: "el.ar"; as: "el.as"; at: "el.at"; au: "el.au"; av: "el.av"; aw: "el.aw"; ax: "el.ax"; ay: "el.ay"; az: "el.az"; ba: "el.ba"; bb: "el.bb"; bc: "el.bc"; bd: "el.bd"; be: "el.be"; bf: "el.bf"; bg: "el.bg"; bh: "el.bh"; bi: "el.bi"; bj: "el.bj"; bk: "el.bk"; bl: "el.bl"; bm: "el.bm"; bn: "el.bn"; bo: "el.bo"; bp: "el.bp"; bq: "el.bq"; br: "el.br"; bs: "el.bs"; bt: "el.bt"; bu: "el.bu"; bv: "el.bv"; bw: "el.bw"; bx: "el.bx"; by: "el.by"; bz: "el.bz"; ca: "el.ca"; cb: "el.cb"; cc: "el.cc"; cd: "el.cd"; ce: "el.ce"; cf: "el.cf"; cg: "el.cg"; ch: "el.ch"; ci: "el.ci"; cj: "el.cj"; ck: "el.ck"; cl: "el.cl"; cm: "el.cm"; cn: "el.cn"; co: "el.co"; cp: "el.cp"; cq: "el.cq"; cr: "el.cr"; cs: "el.cs"; ct: "el.ct"; cu: "el.cu"; cv: "el.cv"; cw: "el.cw"; cx: "el.cx"; cy: "el.cy"; cz: "el.cz"; da: "el.da"; db: "el.db"; dc: "el.dc"; dd: "el.dd"; de: "el.de"; df: "el.df"; dg: "el.dg"; dh: "el.dh"; di: "el.di"; dj: "el.dj"; dk: "el.dk"; dl: "el.dl"; dm: "el.dm"; dn: "el.dn"; do: "el.do"; dp: "el.dp"; dq: "el.dq"; dr: "el.dr"; ds: "el.ds"; dt: "el.dt"; du: "el.du"; dv: "el.dv"; dw: "el.dw"; dx: "el.dx"; dy: "el.dy"; dz: "el.dz"; ea: "el.ea"; eb: "el.eb"; ec: "el.ec"; ed: "el.ed"; ee: "el.ee"; ef: "el.ef"; eg: "el.eg"; eh: "el.eh"; ei: "el.ei"; ej: "el.ej"; ek: "el.ek"; el: "el.el"; em: "el.em"; en: "el.en"; eo: "el.eo"; ep: "el.ep"; eq: "el.eq"; er: "el.er"; es: "el.es"; et: "el.et"; eu: "el.eu"; ev: "el.ev"; ew: "el.ew"; ex: "el.ex"; ey: "el.ey"; ez: "el.ez"; fa: "el.fa"; fb: "el.fb"; fc: "el.fc"; fd: "el.fd"; fe: "el.fe"; ff: "el.ff"; fg: "el.fg"; fh: "el.fh"; fi: "el.fi"; fj: "el.fj"; fk: "el.fk"; fl: "el.fl"; fm: "el.fm"; fn: "el.fn"; fo: "el.fo"; fp: "el.fp"; fq: "el.fq"; fr: "el.fr"; fs: "el.fs"; ft: "el.ft"; fu: "el.fu"; fv: "el.fv"; fw: "el.fw"; fx: "el.fx"; fy: "el.fy"; fz: "el.fz"; ga: "el.ga"; gb: "el.gb"; gc: "el.gc"; gd: "el.gd"; ge: "el.ge"; gf: "el.gf"; gg: "el.gg"; gh: "el.gh"; gi: "el.gi"; gj: "el.gj"; gk: "el.gk"; gl: "el.gl"; gm: "el.gm"; gn: "el.gn"; go: "el.go"; gp: "el.gp"; gq: "el.gq"; gr: "el.gr"; gs: "el.gs"; gt: "el.gt"; gu: "el.gu"; gv: "el.gv"; gw: "el.gw"; gx: "el.gx"; gy: "el.gy"; gz: "el.gz"; ha: "el.ha"; hb: "el.hb"; hc: "el.hc"; hd: "el.hd"; he: "el.he"; hf: "el.hf"; hg: "el.hg"; hh: "el.hh"; hi: "el.hi"; hj: "el.hj"; hk: "el.hk"; hl: "el.hl"; hm: "el.hm"; hn: "el.hn"; ho: "el.ho"; hp: "el.hp"; hq: "el.hq"; hr: "el.hr"; hs: "el.hs"; ht: "el.ht"; hu: "el.hu"; hv: "el.hv"; hw: "el.hw"; hx: "el.hx"; hy: "el.hy"; hz: "el.hz"; ia: "el.ia"; ib: "el.ib"; ic: "el.ic"; id: "el.id"; ie: "el.ie"; if: "el.if"; ig: "el.ig"; ih: "el.ih"; ii: "el.ii"; ij: "el.ij"; ik: "el.ik"; il: "el.il"; im: "el.im"; in: "el.in"; io: "el.io"; ip: "el.ip"; iq: "el.iq"; ir: "el.ir"; is: "el.is"; it: "el.it"; iu: "el.iu"; iv: "el.iv"; iw: "el.iw"; ix: "el.ix"; iy: "el.iy"; iz: "el.iz"; ja: "el.ja"; jb: "el.jb"; jc: "el.jc"; jd: "el.jd"; je: "el.je"; jf: "el.jf"; jg: "el.jg"; jh: "el.jh"; ji: "el.ji"; jj: "el.jj"; jk: "el.jk"; jl: "el.jl"; jm: "el.jm"; jn: "el.jn"; jo: "el.jo"; jp: "el.jp"; jq: "el.jq"; jr: "el.jr"; js: "el.js"; jt: "el.jt"; ju: "el.ju"; jv: "el.jv"; jw: "el.jw"; jx: "el.jx"; jy: "el.jy"; jz: "el.jz"; ka: "el.ka"; kb: "el.kb"; kc: "el.kc"; kd: "el.kd"; ke: "el.ke"; kf: "el.kf"; kg: "el.kg"; kh: "el.kh"; ki: "el.ki"; kj: "el.kj"; kk: "el.kk"; kl: "el.kl"; km: "el.km"; kn: "el.kn"; ko: "el.ko"; kp: "el.kp"; kq: "el.kq"; kr: "el.kr"; ks: "el.ks"; kt: "el.kt"; ku: "el.ku"; kv: "el.kv"; kw: "el.kw"; kx: "el.kx"; ky: "el.ky"; kz: "el.kz"; la: "el.la"; lb: "el.lb"; lc: "el.lc"; ld: "el.ld"; le: "el.le"; lf: "el.lf"; lg: "el.lg"; lh: "el.lh"; li: "el.li"; lj: "el.lj"; lk: "el.lk"; ll: "el.ll"; lm: "el.lm"; ln: "el.ln"; lo: "el.lo"; lp: "el.lp"; lq: "el.lq"; lr: "el.lr"; ls: "el.ls"; lt: "el.lt"; lu: "el.lu"; lv: "el.lv"; lw: "el.lw"; lx: "el.lx"; ly: "el.ly"; lz: "el.lz"; ma: "el.ma"; mb: "el.mb"; mc: "el.mc"; md: "el.md"; me: "el.me"; mf: "el.mf"; mg: "el.mg"; mh: "el.mh"; mi: "el.mi"; mj: "el.mj"; mk: "el.mk"; ml: "el.ml"; mm: "el.mm"; mn: "el.mn"; mo: "el.mo"; mp: "el.mp"; mq: "el.mq"; mr: "el.mr"; ms: "el.ms"; mt: "el.mt"; mu: "el.mu"; mv: "el.mv"; mw: "el.mw"; mx: "el.mx"; my: "el.my"; mz: "el.mz"; na: "el.na"; nb: "el.nb"; nc: "el.nc"; nd: "el.nd"; ne: "el.ne"; nf: "el.nf"; ng: "el.ng"; nh: "el.nh"; ni: "el.ni"; nj: "el.nj"; nk: "el.nk"; nl: "el.nl"; nm: "el.nm"; nn: "el.nn"; no: "el.no"; np: "el.np"; nq: "el.nq"; nr: "el.nr"; ns: "el.ns"; nt: "el.nt"; nu: "el.nu"; nv: "el.nv"; nw: "el.nw"; nx: "el.nx"; ny: "el.ny"; nz: "el.nz"; oa: "el.oa"; ob: "el.ob"; oc: "el.oc"; od: "el.od"; oe: "el.oe"; of: "el.of"; og: "el.og"; oh: "el.oh"; oi: "el.oi"; oj: "el.oj"; ok: "el.ok"; ol: "el.ol"; om: "el.om"; on: "el.on"; oo: "el.oo"; op: "el.op"; oq: "el.oq"; or: "el.or"; os: "el.os"; ot: "el.ot"; ou: "el.ou"; ov: "el.ov"; ow: "el.ow"; ox: "el.ox"; oy: "el.oy"; oz: "el.oz"; pa: "el.pa"; pb: "el.pb"; pc: "el.pc"; pd: "el.pd"; pe: "el.pe"; pf: "el.pf"; pg: "el.pg"; ph: "el.ph"; pi: "el.pi"; pj: "el.pj"; pk: "el.pk"; pl: "el.pl"; pm: "el.pm"; pn: "el.pn"; po: "el.po"; pp: "el.pp"; pq: "el.pq"; pr: "el.pr"; ps: "el.ps"; pt: "el.pt"; pu: "el.pu"; pv: "el.pv"; pw: "el.pw"; px: "el.px"; py: "el.py"; pz: "el.pz"; qa: "el.qa"; qb: "el.qb"; qc: "el.qc"; qd: "el.qd"; qe: "el.qe"; qf: "el.qf"; qg: "el.qg"; qh: "el.qh"; qi: "el.qi"; qj: "el.qj"; qk: "el.qk"; ql: "el.ql"; qm: "el.qm"; qn: "el.qn"; qo: "el.qo"; qp: "el.qp"; qq: "el.qq"; qr: "el.qr"; qs: "el.qs"; qt: "el.qt"; qu: "el.qu"; qv: "el.qv"; qw: "el.qw"; qx: "el.qx"; qy: "el.qy"; qz: "el.qz"; ra: "el.ra"; rb: "el.rb"; rc: "el.rc"; rd: "el.rd"; re: "el.re"; rf: "el.rf"; rg: "el.rg"; rh: "el.rh"; ri: "el.ri"; rj: "el.rj"; rk: "el.rk"; rl: "el.rl"; rm: "el.rm"; rn: "el.rn"; ro: "el.ro"; rp: "el.rp"; rq: "el.rq"; rr: "el.rr"; rs: "el.rs"; rt: "el.rt"; ru: "el.ru"; rv: "el.rv"; rw: "el.rw"; rx: "el.rx"; ry: "el.ry"; rz: "el.rz"; sa: "el.sa"; sb: "el.sb"; sc: "el.sc"; sd: "el.sd"; se: "el.se"; sf: "el.sf"; sg: "el.sg"; sh: "el.sh"; si: "el.si"; sj: "el.sj"; sk: "el.sk"; sl: "el.sl"; sm: "el.sm"; sn: "el.sn"; so: "el.so"; sp: "el.sp"; sq: "el.sq"; sr: "el.sr"; ss: "el.ss"; st: "el.st"; su: "el.su"; sv: "el.sv"; sw: "el.sw"; sx: "el.sx"; sy: "el.sy"; sz: "el.sz"; ta: "el.ta"; tb: "el.tb"; tc: "el.tc"; td: "el.td"; te: "el.te"; tf: "el.tf"; tg: "el.tg"; th: "el.th"; ti: "el.ti"; tj: "el.tj"; tk: "el.tk"; tl: "el.tl"; tm: "el.tm"; tn: "el.tn"; to: "el.to"; tp: "el.tp"; tq: "el.tq"; tr: "el.tr"; ts: "el.ts"; tt: "el.tt"; tu: "el.tu"; tv: "el.tv"; tw: "el.tw"; tx: "el.tx"; ty: "el.ty"; tz: "el.tz"; ua: "el.ua"; ub: "el.ub"; uc: "el.uc"; ud: "el.ud"; ue: "el.ue"; uf: "el.uf"; ug: "el.ug"; uh: "el.uh"; ui: "el.ui"; uj: "el.uj"; uk: "el.uk"; ul: "el.ul"; um: "el.um"; un: "el.un"; uo: "el.uo"; up: "el.up"; uq: "el.uq"; ur: "el.ur"; us: "el.us"; ut: "el.ut"; uu: "el.uu"; uv: "el.uv"; uw: "el.uw"; ux: "el.ux"; uy: "el.uy"; uz: "el.uz"; va: "el.va"; vb: "el.vb"; vc: "el.vc"; vd: "el.vd"; ve: "el.ve"; vf: "el.vf"; vg: "el.vg"; vh: "el.vh"; vi: "el.vi"; vj: "el.vj"; vk: "el.vk"; vl: "el.vl"; vm: "el.vm"; vn: "el.vn"; vo: "el.vo"; vp: "el.vp"; vq: "el.vq"; vr: "el.vr"; vs: "el.vs"; vt: "el.vt"; vu: "el.vu"; vv: "el.vv"; vw: "el.vw"; vx: "el.vx"; vy: "el.vy"; vz: "el.vz"; wa: "el.wa"; wb: "el.wb"; wc: "el.wc"; wd: "el.wd"; we: "el.we"; wf: "el.wf"; wg: "el.wg"; wh: "el.wh"; wi: "el.wi"; wj: "el.wj"; wk: "el.wk"; wl: "el.wl"; wm: "el.wm"; wn: "el.wn"; wo: "el.wo"; wp: "el.wp"; wq: "el.wq"; wr: "el.wr"; ws: "el.ws"; wt: "el.wt"; wu: "el.wu"; wv: "el.wv"; ww: "el.ww"; wx: "el.wx"; wy: "el.wy"; wz: "el.wz"; xa: "el.xa"; xb: "el.xb"; xc: "el.xc"; xd: "el.xd"; xe: "el.xe"; xf: "el.xf"; xg: "el.xg"; xh: "el.xh"; xi: "el.xi"; xj: "el.xj"; xk: "el.xk"; xl: "el.xl"; xm: "el.xm"; xn: "el.xn"; xo: "el.xo"; xp: "el.xp"; xq: "el.xq"; xr: "el.xr"; xs: "el.xs"; xt: "el.xt"; xu: "el.xu"; xv: "el.xv"; xw: "el.xw"; xx: "el.xx"; xy: "el.xy"; xz: "el.xz"; ya: "el.ya"; yb: "el.yb"; yc: "el.yc"; yd: "el.yd"; ye: "el.ye"; yf: "el.yf"; yg: "el.yg"; yh: "el.yh"; yi: "el.yi"; yj: "el.yj"; yk: "el.yk"; yl: "el.yl"; ym: "el.ym"; yn: "el.yn"; yo: "el.yo"; yp: "el.yp"; yq: "el.yq"; yr: "el.yr"; ys: "el.ys"; yt: "el.yt"; yu: "el.yu"; yv: "el.yv"; yw: "el.yw"; yx: "el.yx"; yy: "el.yy"; yz: "el.yz"; za: "el.za"; zb: "el.zb"; zc: "el.zc"; zd: "el.zd"; ze: "el.ze"; zf: "el.zf"; zg: "el.zg"; zh: "el.zh"; zi: "el.zi"; zj: "el.zj"; zk: "el.zk"; zl: "el.zl"; zm: "el.zm"; zn: "el.zn"; zo: "el.zo"; zp: "el.zp"; zq: "el.zq"; zr: "el.zr"; zs: "el.zs"; zt: "el.zt"; zu: "el.zu"; zv: "el.zv"; zw: "el.zw"; zx: "el.zx"; zy: "el.zy"; zz: "el.zz"; }; em: { aa: "em.aa"; ab: "em.ab"; ac: "em.ac"; ad: "em.ad"; ae: "em.ae"; af: "em.af"; ag: "em.ag"; ah: "em.ah"; ai: "em.ai"; aj: "em.aj"; ak: "em.ak"; al: "em.al"; am: "em.am"; an: "em.an"; ao: "em.ao"; ap: "em.ap"; aq: "em.aq"; ar: "em.ar"; as: "em.as"; at: "em.at"; au: "em.au"; av: "em.av"; aw: "em.aw"; ax: "em.ax"; ay: "em.ay"; az: "em.az"; ba: "em.ba"; bb: "em.bb"; bc: "em.bc"; bd: "em.bd"; be: "em.be"; bf: "em.bf"; bg: "em.bg"; bh: "em.bh"; bi: "em.bi"; bj: "em.bj"; bk: "em.bk"; bl: "em.bl"; bm: "em.bm"; bn: "em.bn"; bo: "em.bo"; bp: "em.bp"; bq: "em.bq"; br: "em.br"; bs: "em.bs"; bt: "em.bt"; bu: "em.bu"; bv: "em.bv"; bw: "em.bw"; bx: "em.bx"; by: "em.by"; bz: "em.bz"; ca: "em.ca"; cb: "em.cb"; cc: "em.cc"; cd: "em.cd"; ce: "em.ce"; cf: "em.cf"; cg: "em.cg"; ch: "em.ch"; ci: "em.ci"; cj: "em.cj"; ck: "em.ck"; cl: "em.cl"; cm: "em.cm"; cn: "em.cn"; co: "em.co"; cp: "em.cp"; cq: "em.cq"; cr: "em.cr"; cs: "em.cs"; ct: "em.ct"; cu: "em.cu"; cv: "em.cv"; cw: "em.cw"; cx: "em.cx"; cy: "em.cy"; cz: "em.cz"; da: "em.da"; db: "em.db"; dc: "em.dc"; dd: "em.dd"; de: "em.de"; df: "em.df"; dg: "em.dg"; dh: "em.dh"; di: "em.di"; dj: "em.dj"; dk: "em.dk"; dl: "em.dl"; dm: "em.dm"; dn: "em.dn"; do: "em.do"; dp: "em.dp"; dq: "em.dq"; dr: "em.dr"; ds: "em.ds"; dt: "em.dt"; du: "em.du"; dv: "em.dv"; dw: "em.dw"; dx: "em.dx"; dy: "em.dy"; dz: "em.dz"; ea: "em.ea"; eb: "em.eb"; ec: "em.ec"; ed: "em.ed"; ee: "em.ee"; ef: "em.ef"; eg: "em.eg"; eh: "em.eh"; ei: "em.ei"; ej: "em.ej"; ek: "em.ek"; el: "em.el"; em: "em.em"; en: "em.en"; eo: "em.eo"; ep: "em.ep"; eq: "em.eq"; er: "em.er"; es: "em.es"; et: "em.et"; eu: "em.eu"; ev: "em.ev"; ew: "em.ew"; ex: "em.ex"; ey: "em.ey"; ez: "em.ez"; fa: "em.fa"; fb: "em.fb"; fc: "em.fc"; fd: "em.fd"; fe: "em.fe"; ff: "em.ff"; fg: "em.fg"; fh: "em.fh"; fi: "em.fi"; fj: "em.fj"; fk: "em.fk"; fl: "em.fl"; fm: "em.fm"; fn: "em.fn"; fo: "em.fo"; fp: "em.fp"; fq: "em.fq"; fr: "em.fr"; fs: "em.fs"; ft: "em.ft"; fu: "em.fu"; fv: "em.fv"; fw: "em.fw"; fx: "em.fx"; fy: "em.fy"; fz: "em.fz"; ga: "em.ga"; gb: "em.gb"; gc: "em.gc"; gd: "em.gd"; ge: "em.ge"; gf: "em.gf"; gg: "em.gg"; gh: "em.gh"; gi: "em.gi"; gj: "em.gj"; gk: "em.gk"; gl: "em.gl"; gm: "em.gm"; gn: "em.gn"; go: "em.go"; gp: "em.gp"; gq: "em.gq"; gr: "em.gr"; gs: "em.gs"; gt: "em.gt"; gu: "em.gu"; gv: "em.gv"; gw: "em.gw"; gx: "em.gx"; gy: "em.gy"; gz: "em.gz"; ha: "em.ha"; hb: "em.hb"; hc: "em.hc"; hd: "em.hd"; he: "em.he"; hf: "em.hf"; hg: "em.hg"; hh: "em.hh"; hi: "em.hi"; hj: "em.hj"; hk: "em.hk"; hl: "em.hl"; hm: "em.hm"; hn: "em.hn"; ho: "em.ho"; hp: "em.hp"; hq: "em.hq"; hr: "em.hr"; hs: "em.hs"; ht: "em.ht"; hu: "em.hu"; hv: "em.hv"; hw: "em.hw"; hx: "em.hx"; hy: "em.hy"; hz: "em.hz"; ia: "em.ia"; ib: "em.ib"; ic: "em.ic"; id: "em.id"; ie: "em.ie"; if: "em.if"; ig: "em.ig"; ih: "em.ih"; ii: "em.ii"; ij: "em.ij"; ik: "em.ik"; il: "em.il"; im: "em.im"; in: "em.in"; io: "em.io"; ip: "em.ip"; iq: "em.iq"; ir: "em.ir"; is: "em.is"; it: "em.it"; iu: "em.iu"; iv: "em.iv"; iw: "em.iw"; ix: "em.ix"; iy: "em.iy"; iz: "em.iz"; ja: "em.ja"; jb: "em.jb"; jc: "em.jc"; jd: "em.jd"; je: "em.je"; jf: "em.jf"; jg: "em.jg"; jh: "em.jh"; ji: "em.ji"; jj: "em.jj"; jk: "em.jk"; jl: "em.jl"; jm: "em.jm"; jn: "em.jn"; jo: "em.jo"; jp: "em.jp"; jq: "em.jq"; jr: "em.jr"; js: "em.js"; jt: "em.jt"; ju: "em.ju"; jv: "em.jv"; jw: "em.jw"; jx: "em.jx"; jy: "em.jy"; jz: "em.jz"; ka: "em.ka"; kb: "em.kb"; kc: "em.kc"; kd: "em.kd"; ke: "em.ke"; kf: "em.kf"; kg: "em.kg"; kh: "em.kh"; ki: "em.ki"; kj: "em.kj"; kk: "em.kk"; kl: "em.kl"; km: "em.km"; kn: "em.kn"; ko: "em.ko"; kp: "em.kp"; kq: "em.kq"; kr: "em.kr"; ks: "em.ks"; kt: "em.kt"; ku: "em.ku"; kv: "em.kv"; kw: "em.kw"; kx: "em.kx"; ky: "em.ky"; kz: "em.kz"; la: "em.la"; lb: "em.lb"; lc: "em.lc"; ld: "em.ld"; le: "em.le"; lf: "em.lf"; lg: "em.lg"; lh: "em.lh"; li: "em.li"; lj: "em.lj"; lk: "em.lk"; ll: "em.ll"; lm: "em.lm"; ln: "em.ln"; lo: "em.lo"; lp: "em.lp"; lq: "em.lq"; lr: "em.lr"; ls: "em.ls"; lt: "em.lt"; lu: "em.lu"; lv: "em.lv"; lw: "em.lw"; lx: "em.lx"; ly: "em.ly"; lz: "em.lz"; ma: "em.ma"; mb: "em.mb"; mc: "em.mc"; md: "em.md"; me: "em.me"; mf: "em.mf"; mg: "em.mg"; mh: "em.mh"; mi: "em.mi"; mj: "em.mj"; mk: "em.mk"; ml: "em.ml"; mm: "em.mm"; mn: "em.mn"; mo: "em.mo"; mp: "em.mp"; mq: "em.mq"; mr: "em.mr"; ms: "em.ms"; mt: "em.mt"; mu: "em.mu"; mv: "em.mv"; mw: "em.mw"; mx: "em.mx"; my: "em.my"; mz: "em.mz"; na: "em.na"; nb: "em.nb"; nc: "em.nc"; nd: "em.nd"; ne: "em.ne"; nf: "em.nf"; ng: "em.ng"; nh: "em.nh"; ni: "em.ni"; nj: "em.nj"; nk: "em.nk"; nl: "em.nl"; nm: "em.nm"; nn: "em.nn"; no: "em.no"; np: "em.np"; nq: "em.nq"; nr: "em.nr"; ns: "em.ns"; nt: "em.nt"; nu: "em.nu"; nv: "em.nv"; nw: "em.nw"; nx: "em.nx"; ny: "em.ny"; nz: "em.nz"; oa: "em.oa"; ob: "em.ob"; oc: "em.oc"; od: "em.od"; oe: "em.oe"; of: "em.of"; og: "em.og"; oh: "em.oh"; oi: "em.oi"; oj: "em.oj"; ok: "em.ok"; ol: "em.ol"; om: "em.om"; on: "em.on"; oo: "em.oo"; op: "em.op"; oq: "em.oq"; or: "em.or"; os: "em.os"; ot: "em.ot"; ou: "em.ou"; ov: "em.ov"; ow: "em.ow"; ox: "em.ox"; oy: "em.oy"; oz: "em.oz"; pa: "em.pa"; pb: "em.pb"; pc: "em.pc"; pd: "em.pd"; pe: "em.pe"; pf: "em.pf"; pg: "em.pg"; ph: "em.ph"; pi: "em.pi"; pj: "em.pj"; pk: "em.pk"; pl: "em.pl"; pm: "em.pm"; pn: "em.pn"; po: "em.po"; pp: "em.pp"; pq: "em.pq"; pr: "em.pr"; ps: "em.ps"; pt: "em.pt"; pu: "em.pu"; pv: "em.pv"; pw: "em.pw"; px: "em.px"; py: "em.py"; pz: "em.pz"; qa: "em.qa"; qb: "em.qb"; qc: "em.qc"; qd: "em.qd"; qe: "em.qe"; qf: "em.qf"; qg: "em.qg"; qh: "em.qh"; qi: "em.qi"; qj: "em.qj"; qk: "em.qk"; ql: "em.ql"; qm: "em.qm"; qn: "em.qn"; qo: "em.qo"; qp: "em.qp"; qq: "em.qq"; qr: "em.qr"; qs: "em.qs"; qt: "em.qt"; qu: "em.qu"; qv: "em.qv"; qw: "em.qw"; qx: "em.qx"; qy: "em.qy"; qz: "em.qz"; ra: "em.ra"; rb: "em.rb"; rc: "em.rc"; rd: "em.rd"; re: "em.re"; rf: "em.rf"; rg: "em.rg"; rh: "em.rh"; ri: "em.ri"; rj: "em.rj"; rk: "em.rk"; rl: "em.rl"; rm: "em.rm"; rn: "em.rn"; ro: "em.ro"; rp: "em.rp"; rq: "em.rq"; rr: "em.rr"; rs: "em.rs"; rt: "em.rt"; ru: "em.ru"; rv: "em.rv"; rw: "em.rw"; rx: "em.rx"; ry: "em.ry"; rz: "em.rz"; sa: "em.sa"; sb: "em.sb"; sc: "em.sc"; sd: "em.sd"; se: "em.se"; sf: "em.sf"; sg: "em.sg"; sh: "em.sh"; si: "em.si"; sj: "em.sj"; sk: "em.sk"; sl: "em.sl"; sm: "em.sm"; sn: "em.sn"; so: "em.so"; sp: "em.sp"; sq: "em.sq"; sr: "em.sr"; ss: "em.ss"; st: "em.st"; su: "em.su"; sv: "em.sv"; sw: "em.sw"; sx: "em.sx"; sy: "em.sy"; sz: "em.sz"; ta: "em.ta"; tb: "em.tb"; tc: "em.tc"; td: "em.td"; te: "em.te"; tf: "em.tf"; tg: "em.tg"; th: "em.th"; ti: "em.ti"; tj: "em.tj"; tk: "em.tk"; tl: "em.tl"; tm: "em.tm"; tn: "em.tn"; to: "em.to"; tp: "em.tp"; tq: "em.tq"; tr: "em.tr"; ts: "em.ts"; tt: "em.tt"; tu: "em.tu"; tv: "em.tv"; tw: "em.tw"; tx: "em.tx"; ty: "em.ty"; tz: "em.tz"; ua: "em.ua"; ub: "em.ub"; uc: "em.uc"; ud: "em.ud"; ue: "em.ue"; uf: "em.uf"; ug: "em.ug"; uh: "em.uh"; ui: "em.ui"; uj: "em.uj"; uk: "em.uk"; ul: "em.ul"; um: "em.um"; un: "em.un"; uo: "em.uo"; up: "em.up"; uq: "em.uq"; ur: "em.ur"; us: "em.us"; ut: "em.ut"; uu: "em.uu"; uv: "em.uv"; uw: "em.uw"; ux: "em.ux"; uy: "em.uy"; uz: "em.uz"; va: "em.va"; vb: "em.vb"; vc: "em.vc"; vd: "em.vd"; ve: "em.ve"; vf: "em.vf"; vg: "em.vg"; vh: "em.vh"; vi: "em.vi"; vj: "em.vj"; vk: "em.vk"; vl: "em.vl"; vm: "em.vm"; vn: "em.vn"; vo: "em.vo"; vp: "em.vp"; vq: "em.vq"; vr: "em.vr"; vs: "em.vs"; vt: "em.vt"; vu: "em.vu"; vv: "em.vv"; vw: "em.vw"; vx: "em.vx"; vy: "em.vy"; vz: "em.vz"; wa: "em.wa"; wb: "em.wb"; wc: "em.wc"; wd: "em.wd"; we: "em.we"; wf: "em.wf"; wg: "em.wg"; wh: "em.wh"; wi: "em.wi"; wj: "em.wj"; wk: "em.wk"; wl: "em.wl"; wm: "em.wm"; wn: "em.wn"; wo: "em.wo"; wp: "em.wp"; wq: "em.wq"; wr: "em.wr"; ws: "em.ws"; wt: "em.wt"; wu: "em.wu"; wv: "em.wv"; ww: "em.ww"; wx: "em.wx"; wy: "em.wy"; wz: "em.wz"; xa: "em.xa"; xb: "em.xb"; xc: "em.xc"; xd: "em.xd"; xe: "em.xe"; xf: "em.xf"; xg: "em.xg"; xh: "em.xh"; xi: "em.xi"; xj: "em.xj"; xk: "em.xk"; xl: "em.xl"; xm: "em.xm"; xn: "em.xn"; xo: "em.xo"; xp: "em.xp"; xq: "em.xq"; xr: "em.xr"; xs: "em.xs"; xt: "em.xt"; xu: "em.xu"; xv: "em.xv"; xw: "em.xw"; xx: "em.xx"; xy: "em.xy"; xz: "em.xz"; ya: "em.ya"; yb: "em.yb"; yc: "em.yc"; yd: "em.yd"; ye: "em.ye"; yf: "em.yf"; yg: "em.yg"; yh: "em.yh"; yi: "em.yi"; yj: "em.yj"; yk: "em.yk"; yl: "em.yl"; ym: "em.ym"; yn: "em.yn"; yo: "em.yo"; yp: "em.yp"; yq: "em.yq"; yr: "em.yr"; ys: "em.ys"; yt: "em.yt"; yu: "em.yu"; yv: "em.yv"; yw: "em.yw"; yx: "em.yx"; yy: "em.yy"; yz: "em.yz"; za: "em.za"; zb: "em.zb"; zc: "em.zc"; zd: "em.zd"; ze: "em.ze"; zf: "em.zf"; zg: "em.zg"; zh: "em.zh"; zi: "em.zi"; zj: "em.zj"; zk: "em.zk"; zl: "em.zl"; zm: "em.zm"; zn: "em.zn"; zo: "em.zo"; zp: "em.zp"; zq: "em.zq"; zr: "em.zr"; zs: "em.zs"; zt: "em.zt"; zu: "em.zu"; zv: "em.zv"; zw: "em.zw"; zx: "em.zx"; zy: "em.zy"; zz: "em.zz"; }; en: { aa: "en.aa"; ab: "en.ab"; ac: "en.ac"; ad: "en.ad"; ae: "en.ae"; af: "en.af"; ag: "en.ag"; ah: "en.ah"; ai: "en.ai"; aj: "en.aj"; ak: "en.ak"; al: "en.al"; am: "en.am"; an: "en.an"; ao: "en.ao"; ap: "en.ap"; aq: "en.aq"; ar: "en.ar"; as: "en.as"; at: "en.at"; au: "en.au"; av: "en.av"; aw: "en.aw"; ax: "en.ax"; ay: "en.ay"; az: "en.az"; ba: "en.ba"; bb: "en.bb"; bc: "en.bc"; bd: "en.bd"; be: "en.be"; bf: "en.bf"; bg: "en.bg"; bh: "en.bh"; bi: "en.bi"; bj: "en.bj"; bk: "en.bk"; bl: "en.bl"; bm: "en.bm"; bn: "en.bn"; bo: "en.bo"; bp: "en.bp"; bq: "en.bq"; br: "en.br"; bs: "en.bs"; bt: "en.bt"; bu: "en.bu"; bv: "en.bv"; bw: "en.bw"; bx: "en.bx"; by: "en.by"; bz: "en.bz"; ca: "en.ca"; cb: "en.cb"; cc: "en.cc"; cd: "en.cd"; ce: "en.ce"; cf: "en.cf"; cg: "en.cg"; ch: "en.ch"; ci: "en.ci"; cj: "en.cj"; ck: "en.ck"; cl: "en.cl"; cm: "en.cm"; cn: "en.cn"; co: "en.co"; cp: "en.cp"; cq: "en.cq"; cr: "en.cr"; cs: "en.cs"; ct: "en.ct"; cu: "en.cu"; cv: "en.cv"; cw: "en.cw"; cx: "en.cx"; cy: "en.cy"; cz: "en.cz"; da: "en.da"; db: "en.db"; dc: "en.dc"; dd: "en.dd"; de: "en.de"; df: "en.df"; dg: "en.dg"; dh: "en.dh"; di: "en.di"; dj: "en.dj"; dk: "en.dk"; dl: "en.dl"; dm: "en.dm"; dn: "en.dn"; do: "en.do"; dp: "en.dp"; dq: "en.dq"; dr: "en.dr"; ds: "en.ds"; dt: "en.dt"; du: "en.du"; dv: "en.dv"; dw: "en.dw"; dx: "en.dx"; dy: "en.dy"; dz: "en.dz"; ea: "en.ea"; eb: "en.eb"; ec: "en.ec"; ed: "en.ed"; ee: "en.ee"; ef: "en.ef"; eg: "en.eg"; eh: "en.eh"; ei: "en.ei"; ej: "en.ej"; ek: "en.ek"; el: "en.el"; em: "en.em"; en: "en.en"; eo: "en.eo"; ep: "en.ep"; eq: "en.eq"; er: "en.er"; es: "en.es"; et: "en.et"; eu: "en.eu"; ev: "en.ev"; ew: "en.ew"; ex: "en.ex"; ey: "en.ey"; ez: "en.ez"; fa: "en.fa"; fb: "en.fb"; fc: "en.fc"; fd: "en.fd"; fe: "en.fe"; ff: "en.ff"; fg: "en.fg"; fh: "en.fh"; fi: "en.fi"; fj: "en.fj"; fk: "en.fk"; fl: "en.fl"; fm: "en.fm"; fn: "en.fn"; fo: "en.fo"; fp: "en.fp"; fq: "en.fq"; fr: "en.fr"; fs: "en.fs"; ft: "en.ft"; fu: "en.fu"; fv: "en.fv"; fw: "en.fw"; fx: "en.fx"; fy: "en.fy"; fz: "en.fz"; ga: "en.ga"; gb: "en.gb"; gc: "en.gc"; gd: "en.gd"; ge: "en.ge"; gf: "en.gf"; gg: "en.gg"; gh: "en.gh"; gi: "en.gi"; gj: "en.gj"; gk: "en.gk"; gl: "en.gl"; gm: "en.gm"; gn: "en.gn"; go: "en.go"; gp: "en.gp"; gq: "en.gq"; gr: "en.gr"; gs: "en.gs"; gt: "en.gt"; gu: "en.gu"; gv: "en.gv"; gw: "en.gw"; gx: "en.gx"; gy: "en.gy"; gz: "en.gz"; ha: "en.ha"; hb: "en.hb"; hc: "en.hc"; hd: "en.hd"; he: "en.he"; hf: "en.hf"; hg: "en.hg"; hh: "en.hh"; hi: "en.hi"; hj: "en.hj"; hk: "en.hk"; hl: "en.hl"; hm: "en.hm"; hn: "en.hn"; ho: "en.ho"; hp: "en.hp"; hq: "en.hq"; hr: "en.hr"; hs: "en.hs"; ht: "en.ht"; hu: "en.hu"; hv: "en.hv"; hw: "en.hw"; hx: "en.hx"; hy: "en.hy"; hz: "en.hz"; ia: "en.ia"; ib: "en.ib"; ic: "en.ic"; id: "en.id"; ie: "en.ie"; if: "en.if"; ig: "en.ig"; ih: "en.ih"; ii: "en.ii"; ij: "en.ij"; ik: "en.ik"; il: "en.il"; im: "en.im"; in: "en.in"; io: "en.io"; ip: "en.ip"; iq: "en.iq"; ir: "en.ir"; is: "en.is"; it: "en.it"; iu: "en.iu"; iv: "en.iv"; iw: "en.iw"; ix: "en.ix"; iy: "en.iy"; iz: "en.iz"; ja: "en.ja"; jb: "en.jb"; jc: "en.jc"; jd: "en.jd"; je: "en.je"; jf: "en.jf"; jg: "en.jg"; jh: "en.jh"; ji: "en.ji"; jj: "en.jj"; jk: "en.jk"; jl: "en.jl"; jm: "en.jm"; jn: "en.jn"; jo: "en.jo"; jp: "en.jp"; jq: "en.jq"; jr: "en.jr"; js: "en.js"; jt: "en.jt"; ju: "en.ju"; jv: "en.jv"; jw: "en.jw"; jx: "en.jx"; jy: "en.jy"; jz: "en.jz"; ka: "en.ka"; kb: "en.kb"; kc: "en.kc"; kd: "en.kd"; ke: "en.ke"; kf: "en.kf"; kg: "en.kg"; kh: "en.kh"; ki: "en.ki"; kj: "en.kj"; kk: "en.kk"; kl: "en.kl"; km: "en.km"; kn: "en.kn"; ko: "en.ko"; kp: "en.kp"; kq: "en.kq"; kr: "en.kr"; ks: "en.ks"; kt: "en.kt"; ku: "en.ku"; kv: "en.kv"; kw: "en.kw"; kx: "en.kx"; ky: "en.ky"; kz: "en.kz"; la: "en.la"; lb: "en.lb"; lc: "en.lc"; ld: "en.ld"; le: "en.le"; lf: "en.lf"; lg: "en.lg"; lh: "en.lh"; li: "en.li"; lj: "en.lj"; lk: "en.lk"; ll: "en.ll"; lm: "en.lm"; ln: "en.ln"; lo: "en.lo"; lp: "en.lp"; lq: "en.lq"; lr: "en.lr"; ls: "en.ls"; lt: "en.lt"; lu: "en.lu"; lv: "en.lv"; lw: "en.lw"; lx: "en.lx"; ly: "en.ly"; lz: "en.lz"; ma: "en.ma"; mb: "en.mb"; mc: "en.mc"; md: "en.md"; me: "en.me"; mf: "en.mf"; mg: "en.mg"; mh: "en.mh"; mi: "en.mi"; mj: "en.mj"; mk: "en.mk"; ml: "en.ml"; mm: "en.mm"; mn: "en.mn"; mo: "en.mo"; mp: "en.mp"; mq: "en.mq"; mr: "en.mr"; ms: "en.ms"; mt: "en.mt"; mu: "en.mu"; mv: "en.mv"; mw: "en.mw"; mx: "en.mx"; my: "en.my"; mz: "en.mz"; na: "en.na"; nb: "en.nb"; nc: "en.nc"; nd: "en.nd"; ne: "en.ne"; nf: "en.nf"; ng: "en.ng"; nh: "en.nh"; ni: "en.ni"; nj: "en.nj"; nk: "en.nk"; nl: "en.nl"; nm: "en.nm"; nn: "en.nn"; no: "en.no"; np: "en.np"; nq: "en.nq"; nr: "en.nr"; ns: "en.ns"; nt: "en.nt"; nu: "en.nu"; nv: "en.nv"; nw: "en.nw"; nx: "en.nx"; ny: "en.ny"; nz: "en.nz"; oa: "en.oa"; ob: "en.ob"; oc: "en.oc"; od: "en.od"; oe: "en.oe"; of: "en.of"; og: "en.og"; oh: "en.oh"; oi: "en.oi"; oj: "en.oj"; ok: "en.ok"; ol: "en.ol"; om: "en.om"; on: "en.on"; oo: "en.oo"; op: "en.op"; oq: "en.oq"; or: "en.or"; os: "en.os"; ot: "en.ot"; ou: "en.ou"; ov: "en.ov"; ow: "en.ow"; ox: "en.ox"; oy: "en.oy"; oz: "en.oz"; pa: "en.pa"; pb: "en.pb"; pc: "en.pc"; pd: "en.pd"; pe: "en.pe"; pf: "en.pf"; pg: "en.pg"; ph: "en.ph"; pi: "en.pi"; pj: "en.pj"; pk: "en.pk"; pl: "en.pl"; pm: "en.pm"; pn: "en.pn"; po: "en.po"; pp: "en.pp"; pq: "en.pq"; pr: "en.pr"; ps: "en.ps"; pt: "en.pt"; pu: "en.pu"; pv: "en.pv"; pw: "en.pw"; px: "en.px"; py: "en.py"; pz: "en.pz"; qa: "en.qa"; qb: "en.qb"; qc: "en.qc"; qd: "en.qd"; qe: "en.qe"; qf: "en.qf"; qg: "en.qg"; qh: "en.qh"; qi: "en.qi"; qj: "en.qj"; qk: "en.qk"; ql: "en.ql"; qm: "en.qm"; qn: "en.qn"; qo: "en.qo"; qp: "en.qp"; qq: "en.qq"; qr: "en.qr"; qs: "en.qs"; qt: "en.qt"; qu: "en.qu"; qv: "en.qv"; qw: "en.qw"; qx: "en.qx"; qy: "en.qy"; qz: "en.qz"; ra: "en.ra"; rb: "en.rb"; rc: "en.rc"; rd: "en.rd"; re: "en.re"; rf: "en.rf"; rg: "en.rg"; rh: "en.rh"; ri: "en.ri"; rj: "en.rj"; rk: "en.rk"; rl: "en.rl"; rm: "en.rm"; rn: "en.rn"; ro: "en.ro"; rp: "en.rp"; rq: "en.rq"; rr: "en.rr"; rs: "en.rs"; rt: "en.rt"; ru: "en.ru"; rv: "en.rv"; rw: "en.rw"; rx: "en.rx"; ry: "en.ry"; rz: "en.rz"; sa: "en.sa"; sb: "en.sb"; sc: "en.sc"; sd: "en.sd"; se: "en.se"; sf: "en.sf"; sg: "en.sg"; sh: "en.sh"; si: "en.si"; sj: "en.sj"; sk: "en.sk"; sl: "en.sl"; sm: "en.sm"; sn: "en.sn"; so: "en.so"; sp: "en.sp"; sq: "en.sq"; sr: "en.sr"; ss: "en.ss"; st: "en.st"; su: "en.su"; sv: "en.sv"; sw: "en.sw"; sx: "en.sx"; sy: "en.sy"; sz: "en.sz"; ta: "en.ta"; tb: "en.tb"; tc: "en.tc"; td: "en.td"; te: "en.te"; tf: "en.tf"; tg: "en.tg"; th: "en.th"; ti: "en.ti"; tj: "en.tj"; tk: "en.tk"; tl: "en.tl"; tm: "en.tm"; tn: "en.tn"; to: "en.to"; tp: "en.tp"; tq: "en.tq"; tr: "en.tr"; ts: "en.ts"; tt: "en.tt"; tu: "en.tu"; tv: "en.tv"; tw: "en.tw"; tx: "en.tx"; ty: "en.ty"; tz: "en.tz"; ua: "en.ua"; ub: "en.ub"; uc: "en.uc"; ud: "en.ud"; ue: "en.ue"; uf: "en.uf"; ug: "en.ug"; uh: "en.uh"; ui: "en.ui"; uj: "en.uj"; uk: "en.uk"; ul: "en.ul"; um: "en.um"; un: "en.un"; uo: "en.uo"; up: "en.up"; uq: "en.uq"; ur: "en.ur"; us: "en.us"; ut: "en.ut"; uu: "en.uu"; uv: "en.uv"; uw: "en.uw"; ux: "en.ux"; uy: "en.uy"; uz: "en.uz"; va: "en.va"; vb: "en.vb"; vc: "en.vc"; vd: "en.vd"; ve: "en.ve"; vf: "en.vf"; vg: "en.vg"; vh: "en.vh"; vi: "en.vi"; vj: "en.vj"; vk: "en.vk"; vl: "en.vl"; vm: "en.vm"; vn: "en.vn"; vo: "en.vo"; vp: "en.vp"; vq: "en.vq"; vr: "en.vr"; vs: "en.vs"; vt: "en.vt"; vu: "en.vu"; vv: "en.vv"; vw: "en.vw"; vx: "en.vx"; vy: "en.vy"; vz: "en.vz"; wa: "en.wa"; wb: "en.wb"; wc: "en.wc"; wd: "en.wd"; we: "en.we"; wf: "en.wf"; wg: "en.wg"; wh: "en.wh"; wi: "en.wi"; wj: "en.wj"; wk: "en.wk"; wl: "en.wl"; wm: "en.wm"; wn: "en.wn"; wo: "en.wo"; wp: "en.wp"; wq: "en.wq"; wr: "en.wr"; ws: "en.ws"; wt: "en.wt"; wu: "en.wu"; wv: "en.wv"; ww: "en.ww"; wx: "en.wx"; wy: "en.wy"; wz: "en.wz"; xa: "en.xa"; xb: "en.xb"; xc: "en.xc"; xd: "en.xd"; xe: "en.xe"; xf: "en.xf"; xg: "en.xg"; xh: "en.xh"; xi: "en.xi"; xj: "en.xj"; xk: "en.xk"; xl: "en.xl"; xm: "en.xm"; xn: "en.xn"; xo: "en.xo"; xp: "en.xp"; xq: "en.xq"; xr: "en.xr"; xs: "en.xs"; xt: "en.xt"; xu: "en.xu"; xv: "en.xv"; xw: "en.xw"; xx: "en.xx"; xy: "en.xy"; xz: "en.xz"; ya: "en.ya"; yb: "en.yb"; yc: "en.yc"; yd: "en.yd"; ye: "en.ye"; yf: "en.yf"; yg: "en.yg"; yh: "en.yh"; yi: "en.yi"; yj: "en.yj"; yk: "en.yk"; yl: "en.yl"; ym: "en.ym"; yn: "en.yn"; yo: "en.yo"; yp: "en.yp"; yq: "en.yq"; yr: "en.yr"; ys: "en.ys"; yt: "en.yt"; yu: "en.yu"; yv: "en.yv"; yw: "en.yw"; yx: "en.yx"; yy: "en.yy"; yz: "en.yz"; za: "en.za"; zb: "en.zb"; zc: "en.zc"; zd: "en.zd"; ze: "en.ze"; zf: "en.zf"; zg: "en.zg"; zh: "en.zh"; zi: "en.zi"; zj: "en.zj"; zk: "en.zk"; zl: "en.zl"; zm: "en.zm"; zn: "en.zn"; zo: "en.zo"; zp: "en.zp"; zq: "en.zq"; zr: "en.zr"; zs: "en.zs"; zt: "en.zt"; zu: "en.zu"; zv: "en.zv"; zw: "en.zw"; zx: "en.zx"; zy: "en.zy"; zz: "en.zz"; }; eo: { aa: "eo.aa"; ab: "eo.ab"; ac: "eo.ac"; ad: "eo.ad"; ae: "eo.ae"; af: "eo.af"; ag: "eo.ag"; ah: "eo.ah"; ai: "eo.ai"; aj: "eo.aj"; ak: "eo.ak"; al: "eo.al"; am: "eo.am"; an: "eo.an"; ao: "eo.ao"; ap: "eo.ap"; aq: "eo.aq"; ar: "eo.ar"; as: "eo.as"; at: "eo.at"; au: "eo.au"; av: "eo.av"; aw: "eo.aw"; ax: "eo.ax"; ay: "eo.ay"; az: "eo.az"; ba: "eo.ba"; bb: "eo.bb"; bc: "eo.bc"; bd: "eo.bd"; be: "eo.be"; bf: "eo.bf"; bg: "eo.bg"; bh: "eo.bh"; bi: "eo.bi"; bj: "eo.bj"; bk: "eo.bk"; bl: "eo.bl"; bm: "eo.bm"; bn: "eo.bn"; bo: "eo.bo"; bp: "eo.bp"; bq: "eo.bq"; br: "eo.br"; bs: "eo.bs"; bt: "eo.bt"; bu: "eo.bu"; bv: "eo.bv"; bw: "eo.bw"; bx: "eo.bx"; by: "eo.by"; bz: "eo.bz"; ca: "eo.ca"; cb: "eo.cb"; cc: "eo.cc"; cd: "eo.cd"; ce: "eo.ce"; cf: "eo.cf"; cg: "eo.cg"; ch: "eo.ch"; ci: "eo.ci"; cj: "eo.cj"; ck: "eo.ck"; cl: "eo.cl"; cm: "eo.cm"; cn: "eo.cn"; co: "eo.co"; cp: "eo.cp"; cq: "eo.cq"; cr: "eo.cr"; cs: "eo.cs"; ct: "eo.ct"; cu: "eo.cu"; cv: "eo.cv"; cw: "eo.cw"; cx: "eo.cx"; cy: "eo.cy"; cz: "eo.cz"; da: "eo.da"; db: "eo.db"; dc: "eo.dc"; dd: "eo.dd"; de: "eo.de"; df: "eo.df"; dg: "eo.dg"; dh: "eo.dh"; di: "eo.di"; dj: "eo.dj"; dk: "eo.dk"; dl: "eo.dl"; dm: "eo.dm"; dn: "eo.dn"; do: "eo.do"; dp: "eo.dp"; dq: "eo.dq"; dr: "eo.dr"; ds: "eo.ds"; dt: "eo.dt"; du: "eo.du"; dv: "eo.dv"; dw: "eo.dw"; dx: "eo.dx"; dy: "eo.dy"; dz: "eo.dz"; ea: "eo.ea"; eb: "eo.eb"; ec: "eo.ec"; ed: "eo.ed"; ee: "eo.ee"; ef: "eo.ef"; eg: "eo.eg"; eh: "eo.eh"; ei: "eo.ei"; ej: "eo.ej"; ek: "eo.ek"; el: "eo.el"; em: "eo.em"; en: "eo.en"; eo: "eo.eo"; ep: "eo.ep"; eq: "eo.eq"; er: "eo.er"; es: "eo.es"; et: "eo.et"; eu: "eo.eu"; ev: "eo.ev"; ew: "eo.ew"; ex: "eo.ex"; ey: "eo.ey"; ez: "eo.ez"; fa: "eo.fa"; fb: "eo.fb"; fc: "eo.fc"; fd: "eo.fd"; fe: "eo.fe"; ff: "eo.ff"; fg: "eo.fg"; fh: "eo.fh"; fi: "eo.fi"; fj: "eo.fj"; fk: "eo.fk"; fl: "eo.fl"; fm: "eo.fm"; fn: "eo.fn"; fo: "eo.fo"; fp: "eo.fp"; fq: "eo.fq"; fr: "eo.fr"; fs: "eo.fs"; ft: "eo.ft"; fu: "eo.fu"; fv: "eo.fv"; fw: "eo.fw"; fx: "eo.fx"; fy: "eo.fy"; fz: "eo.fz"; ga: "eo.ga"; gb: "eo.gb"; gc: "eo.gc"; gd: "eo.gd"; ge: "eo.ge"; gf: "eo.gf"; gg: "eo.gg"; gh: "eo.gh"; gi: "eo.gi"; gj: "eo.gj"; gk: "eo.gk"; gl: "eo.gl"; gm: "eo.gm"; gn: "eo.gn"; go: "eo.go"; gp: "eo.gp"; gq: "eo.gq"; gr: "eo.gr"; gs: "eo.gs"; gt: "eo.gt"; gu: "eo.gu"; gv: "eo.gv"; gw: "eo.gw"; gx: "eo.gx"; gy: "eo.gy"; gz: "eo.gz"; ha: "eo.ha"; hb: "eo.hb"; hc: "eo.hc"; hd: "eo.hd"; he: "eo.he"; hf: "eo.hf"; hg: "eo.hg"; hh: "eo.hh"; hi: "eo.hi"; hj: "eo.hj"; hk: "eo.hk"; hl: "eo.hl"; hm: "eo.hm"; hn: "eo.hn"; ho: "eo.ho"; hp: "eo.hp"; hq: "eo.hq"; hr: "eo.hr"; hs: "eo.hs"; ht: "eo.ht"; hu: "eo.hu"; hv: "eo.hv"; hw: "eo.hw"; hx: "eo.hx"; hy: "eo.hy"; hz: "eo.hz"; ia: "eo.ia"; ib: "eo.ib"; ic: "eo.ic"; id: "eo.id"; ie: "eo.ie"; if: "eo.if"; ig: "eo.ig"; ih: "eo.ih"; ii: "eo.ii"; ij: "eo.ij"; ik: "eo.ik"; il: "eo.il"; im: "eo.im"; in: "eo.in"; io: "eo.io"; ip: "eo.ip"; iq: "eo.iq"; ir: "eo.ir"; is: "eo.is"; it: "eo.it"; iu: "eo.iu"; iv: "eo.iv"; iw: "eo.iw"; ix: "eo.ix"; iy: "eo.iy"; iz: "eo.iz"; ja: "eo.ja"; jb: "eo.jb"; jc: "eo.jc"; jd: "eo.jd"; je: "eo.je"; jf: "eo.jf"; jg: "eo.jg"; jh: "eo.jh"; ji: "eo.ji"; jj: "eo.jj"; jk: "eo.jk"; jl: "eo.jl"; jm: "eo.jm"; jn: "eo.jn"; jo: "eo.jo"; jp: "eo.jp"; jq: "eo.jq"; jr: "eo.jr"; js: "eo.js"; jt: "eo.jt"; ju: "eo.ju"; jv: "eo.jv"; jw: "eo.jw"; jx: "eo.jx"; jy: "eo.jy"; jz: "eo.jz"; ka: "eo.ka"; kb: "eo.kb"; kc: "eo.kc"; kd: "eo.kd"; ke: "eo.ke"; kf: "eo.kf"; kg: "eo.kg"; kh: "eo.kh"; ki: "eo.ki"; kj: "eo.kj"; kk: "eo.kk"; kl: "eo.kl"; km: "eo.km"; kn: "eo.kn"; ko: "eo.ko"; kp: "eo.kp"; kq: "eo.kq"; kr: "eo.kr"; ks: "eo.ks"; kt: "eo.kt"; ku: "eo.ku"; kv: "eo.kv"; kw: "eo.kw"; kx: "eo.kx"; ky: "eo.ky"; kz: "eo.kz"; la: "eo.la"; lb: "eo.lb"; lc: "eo.lc"; ld: "eo.ld"; le: "eo.le"; lf: "eo.lf"; lg: "eo.lg"; lh: "eo.lh"; li: "eo.li"; lj: "eo.lj"; lk: "eo.lk"; ll: "eo.ll"; lm: "eo.lm"; ln: "eo.ln"; lo: "eo.lo"; lp: "eo.lp"; lq: "eo.lq"; lr: "eo.lr"; ls: "eo.ls"; lt: "eo.lt"; lu: "eo.lu"; lv: "eo.lv"; lw: "eo.lw"; lx: "eo.lx"; ly: "eo.ly"; lz: "eo.lz"; ma: "eo.ma"; mb: "eo.mb"; mc: "eo.mc"; md: "eo.md"; me: "eo.me"; mf: "eo.mf"; mg: "eo.mg"; mh: "eo.mh"; mi: "eo.mi"; mj: "eo.mj"; mk: "eo.mk"; ml: "eo.ml"; mm: "eo.mm"; mn: "eo.mn"; mo: "eo.mo"; mp: "eo.mp"; mq: "eo.mq"; mr: "eo.mr"; ms: "eo.ms"; mt: "eo.mt"; mu: "eo.mu"; mv: "eo.mv"; mw: "eo.mw"; mx: "eo.mx"; my: "eo.my"; mz: "eo.mz"; na: "eo.na"; nb: "eo.nb"; nc: "eo.nc"; nd: "eo.nd"; ne: "eo.ne"; nf: "eo.nf"; ng: "eo.ng"; nh: "eo.nh"; ni: "eo.ni"; nj: "eo.nj"; nk: "eo.nk"; nl: "eo.nl"; nm: "eo.nm"; nn: "eo.nn"; no: "eo.no"; np: "eo.np"; nq: "eo.nq"; nr: "eo.nr"; ns: "eo.ns"; nt: "eo.nt"; nu: "eo.nu"; nv: "eo.nv"; nw: "eo.nw"; nx: "eo.nx"; ny: "eo.ny"; nz: "eo.nz"; oa: "eo.oa"; ob: "eo.ob"; oc: "eo.oc"; od: "eo.od"; oe: "eo.oe"; of: "eo.of"; og: "eo.og"; oh: "eo.oh"; oi: "eo.oi"; oj: "eo.oj"; ok: "eo.ok"; ol: "eo.ol"; om: "eo.om"; on: "eo.on"; oo: "eo.oo"; op: "eo.op"; oq: "eo.oq"; or: "eo.or"; os: "eo.os"; ot: "eo.ot"; ou: "eo.ou"; ov: "eo.ov"; ow: "eo.ow"; ox: "eo.ox"; oy: "eo.oy"; oz: "eo.oz"; pa: "eo.pa"; pb: "eo.pb"; pc: "eo.pc"; pd: "eo.pd"; pe: "eo.pe"; pf: "eo.pf"; pg: "eo.pg"; ph: "eo.ph"; pi: "eo.pi"; pj: "eo.pj"; pk: "eo.pk"; pl: "eo.pl"; pm: "eo.pm"; pn: "eo.pn"; po: "eo.po"; pp: "eo.pp"; pq: "eo.pq"; pr: "eo.pr"; ps: "eo.ps"; pt: "eo.pt"; pu: "eo.pu"; pv: "eo.pv"; pw: "eo.pw"; px: "eo.px"; py: "eo.py"; pz: "eo.pz"; qa: "eo.qa"; qb: "eo.qb"; qc: "eo.qc"; qd: "eo.qd"; qe: "eo.qe"; qf: "eo.qf"; qg: "eo.qg"; qh: "eo.qh"; qi: "eo.qi"; qj: "eo.qj"; qk: "eo.qk"; ql: "eo.ql"; qm: "eo.qm"; qn: "eo.qn"; qo: "eo.qo"; qp: "eo.qp"; qq: "eo.qq"; qr: "eo.qr"; qs: "eo.qs"; qt: "eo.qt"; qu: "eo.qu"; qv: "eo.qv"; qw: "eo.qw"; qx: "eo.qx"; qy: "eo.qy"; qz: "eo.qz"; ra: "eo.ra"; rb: "eo.rb"; rc: "eo.rc"; rd: "eo.rd"; re: "eo.re"; rf: "eo.rf"; rg: "eo.rg"; rh: "eo.rh"; ri: "eo.ri"; rj: "eo.rj"; rk: "eo.rk"; rl: "eo.rl"; rm: "eo.rm"; rn: "eo.rn"; ro: "eo.ro"; rp: "eo.rp"; rq: "eo.rq"; rr: "eo.rr"; rs: "eo.rs"; rt: "eo.rt"; ru: "eo.ru"; rv: "eo.rv"; rw: "eo.rw"; rx: "eo.rx"; ry: "eo.ry"; rz: "eo.rz"; sa: "eo.sa"; sb: "eo.sb"; sc: "eo.sc"; sd: "eo.sd"; se: "eo.se"; sf: "eo.sf"; sg: "eo.sg"; sh: "eo.sh"; si: "eo.si"; sj: "eo.sj"; sk: "eo.sk"; sl: "eo.sl"; sm: "eo.sm"; sn: "eo.sn"; so: "eo.so"; sp: "eo.sp"; sq: "eo.sq"; sr: "eo.sr"; ss: "eo.ss"; st: "eo.st"; su: "eo.su"; sv: "eo.sv"; sw: "eo.sw"; sx: "eo.sx"; sy: "eo.sy"; sz: "eo.sz"; ta: "eo.ta"; tb: "eo.tb"; tc: "eo.tc"; td: "eo.td"; te: "eo.te"; tf: "eo.tf"; tg: "eo.tg"; th: "eo.th"; ti: "eo.ti"; tj: "eo.tj"; tk: "eo.tk"; tl: "eo.tl"; tm: "eo.tm"; tn: "eo.tn"; to: "eo.to"; tp: "eo.tp"; tq: "eo.tq"; tr: "eo.tr"; ts: "eo.ts"; tt: "eo.tt"; tu: "eo.tu"; tv: "eo.tv"; tw: "eo.tw"; tx: "eo.tx"; ty: "eo.ty"; tz: "eo.tz"; ua: "eo.ua"; ub: "eo.ub"; uc: "eo.uc"; ud: "eo.ud"; ue: "eo.ue"; uf: "eo.uf"; ug: "eo.ug"; uh: "eo.uh"; ui: "eo.ui"; uj: "eo.uj"; uk: "eo.uk"; ul: "eo.ul"; um: "eo.um"; un: "eo.un"; uo: "eo.uo"; up: "eo.up"; uq: "eo.uq"; ur: "eo.ur"; us: "eo.us"; ut: "eo.ut"; uu: "eo.uu"; uv: "eo.uv"; uw: "eo.uw"; ux: "eo.ux"; uy: "eo.uy"; uz: "eo.uz"; va: "eo.va"; vb: "eo.vb"; vc: "eo.vc"; vd: "eo.vd"; ve: "eo.ve"; vf: "eo.vf"; vg: "eo.vg"; vh: "eo.vh"; vi: "eo.vi"; vj: "eo.vj"; vk: "eo.vk"; vl: "eo.vl"; vm: "eo.vm"; vn: "eo.vn"; vo: "eo.vo"; vp: "eo.vp"; vq: "eo.vq"; vr: "eo.vr"; vs: "eo.vs"; vt: "eo.vt"; vu: "eo.vu"; vv: "eo.vv"; vw: "eo.vw"; vx: "eo.vx"; vy: "eo.vy"; vz: "eo.vz"; wa: "eo.wa"; wb: "eo.wb"; wc: "eo.wc"; wd: "eo.wd"; we: "eo.we"; wf: "eo.wf"; wg: "eo.wg"; wh: "eo.wh"; wi: "eo.wi"; wj: "eo.wj"; wk: "eo.wk"; wl: "eo.wl"; wm: "eo.wm"; wn: "eo.wn"; wo: "eo.wo"; wp: "eo.wp"; wq: "eo.wq"; wr: "eo.wr"; ws: "eo.ws"; wt: "eo.wt"; wu: "eo.wu"; wv: "eo.wv"; ww: "eo.ww"; wx: "eo.wx"; wy: "eo.wy"; wz: "eo.wz"; xa: "eo.xa"; xb: "eo.xb"; xc: "eo.xc"; xd: "eo.xd"; xe: "eo.xe"; xf: "eo.xf"; xg: "eo.xg"; xh: "eo.xh"; xi: "eo.xi"; xj: "eo.xj"; xk: "eo.xk"; xl: "eo.xl"; xm: "eo.xm"; xn: "eo.xn"; xo: "eo.xo"; xp: "eo.xp"; xq: "eo.xq"; xr: "eo.xr"; xs: "eo.xs"; xt: "eo.xt"; xu: "eo.xu"; xv: "eo.xv"; xw: "eo.xw"; xx: "eo.xx"; xy: "eo.xy"; xz: "eo.xz"; ya: "eo.ya"; yb: "eo.yb"; yc: "eo.yc"; yd: "eo.yd"; ye: "eo.ye"; yf: "eo.yf"; yg: "eo.yg"; yh: "eo.yh"; yi: "eo.yi"; yj: "eo.yj"; yk: "eo.yk"; yl: "eo.yl"; ym: "eo.ym"; yn: "eo.yn"; yo: "eo.yo"; yp: "eo.yp"; yq: "eo.yq"; yr: "eo.yr"; ys: "eo.ys"; yt: "eo.yt"; yu: "eo.yu"; yv: "eo.yv"; yw: "eo.yw"; yx: "eo.yx"; yy: "eo.yy"; yz: "eo.yz"; za: "eo.za"; zb: "eo.zb"; zc: "eo.zc"; zd: "eo.zd"; ze: "eo.ze"; zf: "eo.zf"; zg: "eo.zg"; zh: "eo.zh"; zi: "eo.zi"; zj: "eo.zj"; zk: "eo.zk"; zl: "eo.zl"; zm: "eo.zm"; zn: "eo.zn"; zo: "eo.zo"; zp: "eo.zp"; zq: "eo.zq"; zr: "eo.zr"; zs: "eo.zs"; zt: "eo.zt"; zu: "eo.zu"; zv: "eo.zv"; zw: "eo.zw"; zx: "eo.zx"; zy: "eo.zy"; zz: "eo.zz"; }; ep: { aa: "ep.aa"; ab: "ep.ab"; ac: "ep.ac"; ad: "ep.ad"; ae: "ep.ae"; af: "ep.af"; ag: "ep.ag"; ah: "ep.ah"; ai: "ep.ai"; aj: "ep.aj"; ak: "ep.ak"; al: "ep.al"; am: "ep.am"; an: "ep.an"; ao: "ep.ao"; ap: "ep.ap"; aq: "ep.aq"; ar: "ep.ar"; as: "ep.as"; at: "ep.at"; au: "ep.au"; av: "ep.av"; aw: "ep.aw"; ax: "ep.ax"; ay: "ep.ay"; az: "ep.az"; ba: "ep.ba"; bb: "ep.bb"; bc: "ep.bc"; bd: "ep.bd"; be: "ep.be"; bf: "ep.bf"; bg: "ep.bg"; bh: "ep.bh"; bi: "ep.bi"; bj: "ep.bj"; bk: "ep.bk"; bl: "ep.bl"; bm: "ep.bm"; bn: "ep.bn"; bo: "ep.bo"; bp: "ep.bp"; bq: "ep.bq"; br: "ep.br"; bs: "ep.bs"; bt: "ep.bt"; bu: "ep.bu"; bv: "ep.bv"; bw: "ep.bw"; bx: "ep.bx"; by: "ep.by"; bz: "ep.bz"; ca: "ep.ca"; cb: "ep.cb"; cc: "ep.cc"; cd: "ep.cd"; ce: "ep.ce"; cf: "ep.cf"; cg: "ep.cg"; ch: "ep.ch"; ci: "ep.ci"; cj: "ep.cj"; ck: "ep.ck"; cl: "ep.cl"; cm: "ep.cm"; cn: "ep.cn"; co: "ep.co"; cp: "ep.cp"; cq: "ep.cq"; cr: "ep.cr"; cs: "ep.cs"; ct: "ep.ct"; cu: "ep.cu"; cv: "ep.cv"; cw: "ep.cw"; cx: "ep.cx"; cy: "ep.cy"; cz: "ep.cz"; da: "ep.da"; db: "ep.db"; dc: "ep.dc"; dd: "ep.dd"; de: "ep.de"; df: "ep.df"; dg: "ep.dg"; dh: "ep.dh"; di: "ep.di"; dj: "ep.dj"; dk: "ep.dk"; dl: "ep.dl"; dm: "ep.dm"; dn: "ep.dn"; do: "ep.do"; dp: "ep.dp"; dq: "ep.dq"; dr: "ep.dr"; ds: "ep.ds"; dt: "ep.dt"; du: "ep.du"; dv: "ep.dv"; dw: "ep.dw"; dx: "ep.dx"; dy: "ep.dy"; dz: "ep.dz"; ea: "ep.ea"; eb: "ep.eb"; ec: "ep.ec"; ed: "ep.ed"; ee: "ep.ee"; ef: "ep.ef"; eg: "ep.eg"; eh: "ep.eh"; ei: "ep.ei"; ej: "ep.ej"; ek: "ep.ek"; el: "ep.el"; em: "ep.em"; en: "ep.en"; eo: "ep.eo"; ep: "ep.ep"; eq: "ep.eq"; er: "ep.er"; es: "ep.es"; et: "ep.et"; eu: "ep.eu"; ev: "ep.ev"; ew: "ep.ew"; ex: "ep.ex"; ey: "ep.ey"; ez: "ep.ez"; fa: "ep.fa"; fb: "ep.fb"; fc: "ep.fc"; fd: "ep.fd"; fe: "ep.fe"; ff: "ep.ff"; fg: "ep.fg"; fh: "ep.fh"; fi: "ep.fi"; fj: "ep.fj"; fk: "ep.fk"; fl: "ep.fl"; fm: "ep.fm"; fn: "ep.fn"; fo: "ep.fo"; fp: "ep.fp"; fq: "ep.fq"; fr: "ep.fr"; fs: "ep.fs"; ft: "ep.ft"; fu: "ep.fu"; fv: "ep.fv"; fw: "ep.fw"; fx: "ep.fx"; fy: "ep.fy"; fz: "ep.fz"; ga: "ep.ga"; gb: "ep.gb"; gc: "ep.gc"; gd: "ep.gd"; ge: "ep.ge"; gf: "ep.gf"; gg: "ep.gg"; gh: "ep.gh"; gi: "ep.gi"; gj: "ep.gj"; gk: "ep.gk"; gl: "ep.gl"; gm: "ep.gm"; gn: "ep.gn"; go: "ep.go"; gp: "ep.gp"; gq: "ep.gq"; gr: "ep.gr"; gs: "ep.gs"; gt: "ep.gt"; gu: "ep.gu"; gv: "ep.gv"; gw: "ep.gw"; gx: "ep.gx"; gy: "ep.gy"; gz: "ep.gz"; ha: "ep.ha"; hb: "ep.hb"; hc: "ep.hc"; hd: "ep.hd"; he: "ep.he"; hf: "ep.hf"; hg: "ep.hg"; hh: "ep.hh"; hi: "ep.hi"; hj: "ep.hj"; hk: "ep.hk"; hl: "ep.hl"; hm: "ep.hm"; hn: "ep.hn"; ho: "ep.ho"; hp: "ep.hp"; hq: "ep.hq"; hr: "ep.hr"; hs: "ep.hs"; ht: "ep.ht"; hu: "ep.hu"; hv: "ep.hv"; hw: "ep.hw"; hx: "ep.hx"; hy: "ep.hy"; hz: "ep.hz"; ia: "ep.ia"; ib: "ep.ib"; ic: "ep.ic"; id: "ep.id"; ie: "ep.ie"; if: "ep.if"; ig: "ep.ig"; ih: "ep.ih"; ii: "ep.ii"; ij: "ep.ij"; ik: "ep.ik"; il: "ep.il"; im: "ep.im"; in: "ep.in"; io: "ep.io"; ip: "ep.ip"; iq: "ep.iq"; ir: "ep.ir"; is: "ep.is"; it: "ep.it"; iu: "ep.iu"; iv: "ep.iv"; iw: "ep.iw"; ix: "ep.ix"; iy: "ep.iy"; iz: "ep.iz"; ja: "ep.ja"; jb: "ep.jb"; jc: "ep.jc"; jd: "ep.jd"; je: "ep.je"; jf: "ep.jf"; jg: "ep.jg"; jh: "ep.jh"; ji: "ep.ji"; jj: "ep.jj"; jk: "ep.jk"; jl: "ep.jl"; jm: "ep.jm"; jn: "ep.jn"; jo: "ep.jo"; jp: "ep.jp"; jq: "ep.jq"; jr: "ep.jr"; js: "ep.js"; jt: "ep.jt"; ju: "ep.ju"; jv: "ep.jv"; jw: "ep.jw"; jx: "ep.jx"; jy: "ep.jy"; jz: "ep.jz"; ka: "ep.ka"; kb: "ep.kb"; kc: "ep.kc"; kd: "ep.kd"; ke: "ep.ke"; kf: "ep.kf"; kg: "ep.kg"; kh: "ep.kh"; ki: "ep.ki"; kj: "ep.kj"; kk: "ep.kk"; kl: "ep.kl"; km: "ep.km"; kn: "ep.kn"; ko: "ep.ko"; kp: "ep.kp"; kq: "ep.kq"; kr: "ep.kr"; ks: "ep.ks"; kt: "ep.kt"; ku: "ep.ku"; kv: "ep.kv"; kw: "ep.kw"; kx: "ep.kx"; ky: "ep.ky"; kz: "ep.kz"; la: "ep.la"; lb: "ep.lb"; lc: "ep.lc"; ld: "ep.ld"; le: "ep.le"; lf: "ep.lf"; lg: "ep.lg"; lh: "ep.lh"; li: "ep.li"; lj: "ep.lj"; lk: "ep.lk"; ll: "ep.ll"; lm: "ep.lm"; ln: "ep.ln"; lo: "ep.lo"; lp: "ep.lp"; lq: "ep.lq"; lr: "ep.lr"; ls: "ep.ls"; lt: "ep.lt"; lu: "ep.lu"; lv: "ep.lv"; lw: "ep.lw"; lx: "ep.lx"; ly: "ep.ly"; lz: "ep.lz"; ma: "ep.ma"; mb: "ep.mb"; mc: "ep.mc"; md: "ep.md"; me: "ep.me"; mf: "ep.mf"; mg: "ep.mg"; mh: "ep.mh"; mi: "ep.mi"; mj: "ep.mj"; mk: "ep.mk"; ml: "ep.ml"; mm: "ep.mm"; mn: "ep.mn"; mo: "ep.mo"; mp: "ep.mp"; mq: "ep.mq"; mr: "ep.mr"; ms: "ep.ms"; mt: "ep.mt"; mu: "ep.mu"; mv: "ep.mv"; mw: "ep.mw"; mx: "ep.mx"; my: "ep.my"; mz: "ep.mz"; na: "ep.na"; nb: "ep.nb"; nc: "ep.nc"; nd: "ep.nd"; ne: "ep.ne"; nf: "ep.nf"; ng: "ep.ng"; nh: "ep.nh"; ni: "ep.ni"; nj: "ep.nj"; nk: "ep.nk"; nl: "ep.nl"; nm: "ep.nm"; nn: "ep.nn"; no: "ep.no"; np: "ep.np"; nq: "ep.nq"; nr: "ep.nr"; ns: "ep.ns"; nt: "ep.nt"; nu: "ep.nu"; nv: "ep.nv"; nw: "ep.nw"; nx: "ep.nx"; ny: "ep.ny"; nz: "ep.nz"; oa: "ep.oa"; ob: "ep.ob"; oc: "ep.oc"; od: "ep.od"; oe: "ep.oe"; of: "ep.of"; og: "ep.og"; oh: "ep.oh"; oi: "ep.oi"; oj: "ep.oj"; ok: "ep.ok"; ol: "ep.ol"; om: "ep.om"; on: "ep.on"; oo: "ep.oo"; op: "ep.op"; oq: "ep.oq"; or: "ep.or"; os: "ep.os"; ot: "ep.ot"; ou: "ep.ou"; ov: "ep.ov"; ow: "ep.ow"; ox: "ep.ox"; oy: "ep.oy"; oz: "ep.oz"; pa: "ep.pa"; pb: "ep.pb"; pc: "ep.pc"; pd: "ep.pd"; pe: "ep.pe"; pf: "ep.pf"; pg: "ep.pg"; ph: "ep.ph"; pi: "ep.pi"; pj: "ep.pj"; pk: "ep.pk"; pl: "ep.pl"; pm: "ep.pm"; pn: "ep.pn"; po: "ep.po"; pp: "ep.pp"; pq: "ep.pq"; pr: "ep.pr"; ps: "ep.ps"; pt: "ep.pt"; pu: "ep.pu"; pv: "ep.pv"; pw: "ep.pw"; px: "ep.px"; py: "ep.py"; pz: "ep.pz"; qa: "ep.qa"; qb: "ep.qb"; qc: "ep.qc"; qd: "ep.qd"; qe: "ep.qe"; qf: "ep.qf"; qg: "ep.qg"; qh: "ep.qh"; qi: "ep.qi"; qj: "ep.qj"; qk: "ep.qk"; ql: "ep.ql"; qm: "ep.qm"; qn: "ep.qn"; qo: "ep.qo"; qp: "ep.qp"; qq: "ep.qq"; qr: "ep.qr"; qs: "ep.qs"; qt: "ep.qt"; qu: "ep.qu"; qv: "ep.qv"; qw: "ep.qw"; qx: "ep.qx"; qy: "ep.qy"; qz: "ep.qz"; ra: "ep.ra"; rb: "ep.rb"; rc: "ep.rc"; rd: "ep.rd"; re: "ep.re"; rf: "ep.rf"; rg: "ep.rg"; rh: "ep.rh"; ri: "ep.ri"; rj: "ep.rj"; rk: "ep.rk"; rl: "ep.rl"; rm: "ep.rm"; rn: "ep.rn"; ro: "ep.ro"; rp: "ep.rp"; rq: "ep.rq"; rr: "ep.rr"; rs: "ep.rs"; rt: "ep.rt"; ru: "ep.ru"; rv: "ep.rv"; rw: "ep.rw"; rx: "ep.rx"; ry: "ep.ry"; rz: "ep.rz"; sa: "ep.sa"; sb: "ep.sb"; sc: "ep.sc"; sd: "ep.sd"; se: "ep.se"; sf: "ep.sf"; sg: "ep.sg"; sh: "ep.sh"; si: "ep.si"; sj: "ep.sj"; sk: "ep.sk"; sl: "ep.sl"; sm: "ep.sm"; sn: "ep.sn"; so: "ep.so"; sp: "ep.sp"; sq: "ep.sq"; sr: "ep.sr"; ss: "ep.ss"; st: "ep.st"; su: "ep.su"; sv: "ep.sv"; sw: "ep.sw"; sx: "ep.sx"; sy: "ep.sy"; sz: "ep.sz"; ta: "ep.ta"; tb: "ep.tb"; tc: "ep.tc"; td: "ep.td"; te: "ep.te"; tf: "ep.tf"; tg: "ep.tg"; th: "ep.th"; ti: "ep.ti"; tj: "ep.tj"; tk: "ep.tk"; tl: "ep.tl"; tm: "ep.tm"; tn: "ep.tn"; to: "ep.to"; tp: "ep.tp"; tq: "ep.tq"; tr: "ep.tr"; ts: "ep.ts"; tt: "ep.tt"; tu: "ep.tu"; tv: "ep.tv"; tw: "ep.tw"; tx: "ep.tx"; ty: "ep.ty"; tz: "ep.tz"; ua: "ep.ua"; ub: "ep.ub"; uc: "ep.uc"; ud: "ep.ud"; ue: "ep.ue"; uf: "ep.uf"; ug: "ep.ug"; uh: "ep.uh"; ui: "ep.ui"; uj: "ep.uj"; uk: "ep.uk"; ul: "ep.ul"; um: "ep.um"; un: "ep.un"; uo: "ep.uo"; up: "ep.up"; uq: "ep.uq"; ur: "ep.ur"; us: "ep.us"; ut: "ep.ut"; uu: "ep.uu"; uv: "ep.uv"; uw: "ep.uw"; ux: "ep.ux"; uy: "ep.uy"; uz: "ep.uz"; va: "ep.va"; vb: "ep.vb"; vc: "ep.vc"; vd: "ep.vd"; ve: "ep.ve"; vf: "ep.vf"; vg: "ep.vg"; vh: "ep.vh"; vi: "ep.vi"; vj: "ep.vj"; vk: "ep.vk"; vl: "ep.vl"; vm: "ep.vm"; vn: "ep.vn"; vo: "ep.vo"; vp: "ep.vp"; vq: "ep.vq"; vr: "ep.vr"; vs: "ep.vs"; vt: "ep.vt"; vu: "ep.vu"; vv: "ep.vv"; vw: "ep.vw"; vx: "ep.vx"; vy: "ep.vy"; vz: "ep.vz"; wa: "ep.wa"; wb: "ep.wb"; wc: "ep.wc"; wd: "ep.wd"; we: "ep.we"; wf: "ep.wf"; wg: "ep.wg"; wh: "ep.wh"; wi: "ep.wi"; wj: "ep.wj"; wk: "ep.wk"; wl: "ep.wl"; wm: "ep.wm"; wn: "ep.wn"; wo: "ep.wo"; wp: "ep.wp"; wq: "ep.wq"; wr: "ep.wr"; ws: "ep.ws"; wt: "ep.wt"; wu: "ep.wu"; wv: "ep.wv"; ww: "ep.ww"; wx: "ep.wx"; wy: "ep.wy"; wz: "ep.wz"; xa: "ep.xa"; xb: "ep.xb"; xc: "ep.xc"; xd: "ep.xd"; xe: "ep.xe"; xf: "ep.xf"; xg: "ep.xg"; xh: "ep.xh"; xi: "ep.xi"; xj: "ep.xj"; xk: "ep.xk"; xl: "ep.xl"; xm: "ep.xm"; xn: "ep.xn"; xo: "ep.xo"; xp: "ep.xp"; xq: "ep.xq"; xr: "ep.xr"; xs: "ep.xs"; xt: "ep.xt"; xu: "ep.xu"; xv: "ep.xv"; xw: "ep.xw"; xx: "ep.xx"; xy: "ep.xy"; xz: "ep.xz"; ya: "ep.ya"; yb: "ep.yb"; yc: "ep.yc"; yd: "ep.yd"; ye: "ep.ye"; yf: "ep.yf"; yg: "ep.yg"; yh: "ep.yh"; yi: "ep.yi"; yj: "ep.yj"; yk: "ep.yk"; yl: "ep.yl"; ym: "ep.ym"; yn: "ep.yn"; yo: "ep.yo"; yp: "ep.yp"; yq: "ep.yq"; yr: "ep.yr"; ys: "ep.ys"; yt: "ep.yt"; yu: "ep.yu"; yv: "ep.yv"; yw: "ep.yw"; yx: "ep.yx"; yy: "ep.yy"; yz: "ep.yz"; za: "ep.za"; zb: "ep.zb"; zc: "ep.zc"; zd: "ep.zd"; ze: "ep.ze"; zf: "ep.zf"; zg: "ep.zg"; zh: "ep.zh"; zi: "ep.zi"; zj: "ep.zj"; zk: "ep.zk"; zl: "ep.zl"; zm: "ep.zm"; zn: "ep.zn"; zo: "ep.zo"; zp: "ep.zp"; zq: "ep.zq"; zr: "ep.zr"; zs: "ep.zs"; zt: "ep.zt"; zu: "ep.zu"; zv: "ep.zv"; zw: "ep.zw"; zx: "ep.zx"; zy: "ep.zy"; zz: "ep.zz"; }; eq: { aa: "eq.aa"; ab: "eq.ab"; ac: "eq.ac"; ad: "eq.ad"; ae: "eq.ae"; af: "eq.af"; ag: "eq.ag"; ah: "eq.ah"; ai: "eq.ai"; aj: "eq.aj"; ak: "eq.ak"; al: "eq.al"; am: "eq.am"; an: "eq.an"; ao: "eq.ao"; ap: "eq.ap"; aq: "eq.aq"; ar: "eq.ar"; as: "eq.as"; at: "eq.at"; au: "eq.au"; av: "eq.av"; aw: "eq.aw"; ax: "eq.ax"; ay: "eq.ay"; az: "eq.az"; ba: "eq.ba"; bb: "eq.bb"; bc: "eq.bc"; bd: "eq.bd"; be: "eq.be"; bf: "eq.bf"; bg: "eq.bg"; bh: "eq.bh"; bi: "eq.bi"; bj: "eq.bj"; bk: "eq.bk"; bl: "eq.bl"; bm: "eq.bm"; bn: "eq.bn"; bo: "eq.bo"; bp: "eq.bp"; bq: "eq.bq"; br: "eq.br"; bs: "eq.bs"; bt: "eq.bt"; bu: "eq.bu"; bv: "eq.bv"; bw: "eq.bw"; bx: "eq.bx"; by: "eq.by"; bz: "eq.bz"; ca: "eq.ca"; cb: "eq.cb"; cc: "eq.cc"; cd: "eq.cd"; ce: "eq.ce"; cf: "eq.cf"; cg: "eq.cg"; ch: "eq.ch"; ci: "eq.ci"; cj: "eq.cj"; ck: "eq.ck"; cl: "eq.cl"; cm: "eq.cm"; cn: "eq.cn"; co: "eq.co"; cp: "eq.cp"; cq: "eq.cq"; cr: "eq.cr"; cs: "eq.cs"; ct: "eq.ct"; cu: "eq.cu"; cv: "eq.cv"; cw: "eq.cw"; cx: "eq.cx"; cy: "eq.cy"; cz: "eq.cz"; da: "eq.da"; db: "eq.db"; dc: "eq.dc"; dd: "eq.dd"; de: "eq.de"; df: "eq.df"; dg: "eq.dg"; dh: "eq.dh"; di: "eq.di"; dj: "eq.dj"; dk: "eq.dk"; dl: "eq.dl"; dm: "eq.dm"; dn: "eq.dn"; do: "eq.do"; dp: "eq.dp"; dq: "eq.dq"; dr: "eq.dr"; ds: "eq.ds"; dt: "eq.dt"; du: "eq.du"; dv: "eq.dv"; dw: "eq.dw"; dx: "eq.dx"; dy: "eq.dy"; dz: "eq.dz"; ea: "eq.ea"; eb: "eq.eb"; ec: "eq.ec"; ed: "eq.ed"; ee: "eq.ee"; ef: "eq.ef"; eg: "eq.eg"; eh: "eq.eh"; ei: "eq.ei"; ej: "eq.ej"; ek: "eq.ek"; el: "eq.el"; em: "eq.em"; en: "eq.en"; eo: "eq.eo"; ep: "eq.ep"; eq: "eq.eq"; er: "eq.er"; es: "eq.es"; et: "eq.et"; eu: "eq.eu"; ev: "eq.ev"; ew: "eq.ew"; ex: "eq.ex"; ey: "eq.ey"; ez: "eq.ez"; fa: "eq.fa"; fb: "eq.fb"; fc: "eq.fc"; fd: "eq.fd"; fe: "eq.fe"; ff: "eq.ff"; fg: "eq.fg"; fh: "eq.fh"; fi: "eq.fi"; fj: "eq.fj"; fk: "eq.fk"; fl: "eq.fl"; fm: "eq.fm"; fn: "eq.fn"; fo: "eq.fo"; fp: "eq.fp"; fq: "eq.fq"; fr: "eq.fr"; fs: "eq.fs"; ft: "eq.ft"; fu: "eq.fu"; fv: "eq.fv"; fw: "eq.fw"; fx: "eq.fx"; fy: "eq.fy"; fz: "eq.fz"; ga: "eq.ga"; gb: "eq.gb"; gc: "eq.gc"; gd: "eq.gd"; ge: "eq.ge"; gf: "eq.gf"; gg: "eq.gg"; gh: "eq.gh"; gi: "eq.gi"; gj: "eq.gj"; gk: "eq.gk"; gl: "eq.gl"; gm: "eq.gm"; gn: "eq.gn"; go: "eq.go"; gp: "eq.gp"; gq: "eq.gq"; gr: "eq.gr"; gs: "eq.gs"; gt: "eq.gt"; gu: "eq.gu"; gv: "eq.gv"; gw: "eq.gw"; gx: "eq.gx"; gy: "eq.gy"; gz: "eq.gz"; ha: "eq.ha"; hb: "eq.hb"; hc: "eq.hc"; hd: "eq.hd"; he: "eq.he"; hf: "eq.hf"; hg: "eq.hg"; hh: "eq.hh"; hi: "eq.hi"; hj: "eq.hj"; hk: "eq.hk"; hl: "eq.hl"; hm: "eq.hm"; hn: "eq.hn"; ho: "eq.ho"; hp: "eq.hp"; hq: "eq.hq"; hr: "eq.hr"; hs: "eq.hs"; ht: "eq.ht"; hu: "eq.hu"; hv: "eq.hv"; hw: "eq.hw"; hx: "eq.hx"; hy: "eq.hy"; hz: "eq.hz"; ia: "eq.ia"; ib: "eq.ib"; ic: "eq.ic"; id: "eq.id"; ie: "eq.ie"; if: "eq.if"; ig: "eq.ig"; ih: "eq.ih"; ii: "eq.ii"; ij: "eq.ij"; ik: "eq.ik"; il: "eq.il"; im: "eq.im"; in: "eq.in"; io: "eq.io"; ip: "eq.ip"; iq: "eq.iq"; ir: "eq.ir"; is: "eq.is"; it: "eq.it"; iu: "eq.iu"; iv: "eq.iv"; iw: "eq.iw"; ix: "eq.ix"; iy: "eq.iy"; iz: "eq.iz"; ja: "eq.ja"; jb: "eq.jb"; jc: "eq.jc"; jd: "eq.jd"; je: "eq.je"; jf: "eq.jf"; jg: "eq.jg"; jh: "eq.jh"; ji: "eq.ji"; jj: "eq.jj"; jk: "eq.jk"; jl: "eq.jl"; jm: "eq.jm"; jn: "eq.jn"; jo: "eq.jo"; jp: "eq.jp"; jq: "eq.jq"; jr: "eq.jr"; js: "eq.js"; jt: "eq.jt"; ju: "eq.ju"; jv: "eq.jv"; jw: "eq.jw"; jx: "eq.jx"; jy: "eq.jy"; jz: "eq.jz"; ka: "eq.ka"; kb: "eq.kb"; kc: "eq.kc"; kd: "eq.kd"; ke: "eq.ke"; kf: "eq.kf"; kg: "eq.kg"; kh: "eq.kh"; ki: "eq.ki"; kj: "eq.kj"; kk: "eq.kk"; kl: "eq.kl"; km: "eq.km"; kn: "eq.kn"; ko: "eq.ko"; kp: "eq.kp"; kq: "eq.kq"; kr: "eq.kr"; ks: "eq.ks"; kt: "eq.kt"; ku: "eq.ku"; kv: "eq.kv"; kw: "eq.kw"; kx: "eq.kx"; ky: "eq.ky"; kz: "eq.kz"; la: "eq.la"; lb: "eq.lb"; lc: "eq.lc"; ld: "eq.ld"; le: "eq.le"; lf: "eq.lf"; lg: "eq.lg"; lh: "eq.lh"; li: "eq.li"; lj: "eq.lj"; lk: "eq.lk"; ll: "eq.ll"; lm: "eq.lm"; ln: "eq.ln"; lo: "eq.lo"; lp: "eq.lp"; lq: "eq.lq"; lr: "eq.lr"; ls: "eq.ls"; lt: "eq.lt"; lu: "eq.lu"; lv: "eq.lv"; lw: "eq.lw"; lx: "eq.lx"; ly: "eq.ly"; lz: "eq.lz"; ma: "eq.ma"; mb: "eq.mb"; mc: "eq.mc"; md: "eq.md"; me: "eq.me"; mf: "eq.mf"; mg: "eq.mg"; mh: "eq.mh"; mi: "eq.mi"; mj: "eq.mj"; mk: "eq.mk"; ml: "eq.ml"; mm: "eq.mm"; mn: "eq.mn"; mo: "eq.mo"; mp: "eq.mp"; mq: "eq.mq"; mr: "eq.mr"; ms: "eq.ms"; mt: "eq.mt"; mu: "eq.mu"; mv: "eq.mv"; mw: "eq.mw"; mx: "eq.mx"; my: "eq.my"; mz: "eq.mz"; na: "eq.na"; nb: "eq.nb"; nc: "eq.nc"; nd: "eq.nd"; ne: "eq.ne"; nf: "eq.nf"; ng: "eq.ng"; nh: "eq.nh"; ni: "eq.ni"; nj: "eq.nj"; nk: "eq.nk"; nl: "eq.nl"; nm: "eq.nm"; nn: "eq.nn"; no: "eq.no"; np: "eq.np"; nq: "eq.nq"; nr: "eq.nr"; ns: "eq.ns"; nt: "eq.nt"; nu: "eq.nu"; nv: "eq.nv"; nw: "eq.nw"; nx: "eq.nx"; ny: "eq.ny"; nz: "eq.nz"; oa: "eq.oa"; ob: "eq.ob"; oc: "eq.oc"; od: "eq.od"; oe: "eq.oe"; of: "eq.of"; og: "eq.og"; oh: "eq.oh"; oi: "eq.oi"; oj: "eq.oj"; ok: "eq.ok"; ol: "eq.ol"; om: "eq.om"; on: "eq.on"; oo: "eq.oo"; op: "eq.op"; oq: "eq.oq"; or: "eq.or"; os: "eq.os"; ot: "eq.ot"; ou: "eq.ou"; ov: "eq.ov"; ow: "eq.ow"; ox: "eq.ox"; oy: "eq.oy"; oz: "eq.oz"; pa: "eq.pa"; pb: "eq.pb"; pc: "eq.pc"; pd: "eq.pd"; pe: "eq.pe"; pf: "eq.pf"; pg: "eq.pg"; ph: "eq.ph"; pi: "eq.pi"; pj: "eq.pj"; pk: "eq.pk"; pl: "eq.pl"; pm: "eq.pm"; pn: "eq.pn"; po: "eq.po"; pp: "eq.pp"; pq: "eq.pq"; pr: "eq.pr"; ps: "eq.ps"; pt: "eq.pt"; pu: "eq.pu"; pv: "eq.pv"; pw: "eq.pw"; px: "eq.px"; py: "eq.py"; pz: "eq.pz"; qa: "eq.qa"; qb: "eq.qb"; qc: "eq.qc"; qd: "eq.qd"; qe: "eq.qe"; qf: "eq.qf"; qg: "eq.qg"; qh: "eq.qh"; qi: "eq.qi"; qj: "eq.qj"; qk: "eq.qk"; ql: "eq.ql"; qm: "eq.qm"; qn: "eq.qn"; qo: "eq.qo"; qp: "eq.qp"; qq: "eq.qq"; qr: "eq.qr"; qs: "eq.qs"; qt: "eq.qt"; qu: "eq.qu"; qv: "eq.qv"; qw: "eq.qw"; qx: "eq.qx"; qy: "eq.qy"; qz: "eq.qz"; ra: "eq.ra"; rb: "eq.rb"; rc: "eq.rc"; rd: "eq.rd"; re: "eq.re"; rf: "eq.rf"; rg: "eq.rg"; rh: "eq.rh"; ri: "eq.ri"; rj: "eq.rj"; rk: "eq.rk"; rl: "eq.rl"; rm: "eq.rm"; rn: "eq.rn"; ro: "eq.ro"; rp: "eq.rp"; rq: "eq.rq"; rr: "eq.rr"; rs: "eq.rs"; rt: "eq.rt"; ru: "eq.ru"; rv: "eq.rv"; rw: "eq.rw"; rx: "eq.rx"; ry: "eq.ry"; rz: "eq.rz"; sa: "eq.sa"; sb: "eq.sb"; sc: "eq.sc"; sd: "eq.sd"; se: "eq.se"; sf: "eq.sf"; sg: "eq.sg"; sh: "eq.sh"; si: "eq.si"; sj: "eq.sj"; sk: "eq.sk"; sl: "eq.sl"; sm: "eq.sm"; sn: "eq.sn"; so: "eq.so"; sp: "eq.sp"; sq: "eq.sq"; sr: "eq.sr"; ss: "eq.ss"; st: "eq.st"; su: "eq.su"; sv: "eq.sv"; sw: "eq.sw"; sx: "eq.sx"; sy: "eq.sy"; sz: "eq.sz"; ta: "eq.ta"; tb: "eq.tb"; tc: "eq.tc"; td: "eq.td"; te: "eq.te"; tf: "eq.tf"; tg: "eq.tg"; th: "eq.th"; ti: "eq.ti"; tj: "eq.tj"; tk: "eq.tk"; tl: "eq.tl"; tm: "eq.tm"; tn: "eq.tn"; to: "eq.to"; tp: "eq.tp"; tq: "eq.tq"; tr: "eq.tr"; ts: "eq.ts"; tt: "eq.tt"; tu: "eq.tu"; tv: "eq.tv"; tw: "eq.tw"; tx: "eq.tx"; ty: "eq.ty"; tz: "eq.tz"; ua: "eq.ua"; ub: "eq.ub"; uc: "eq.uc"; ud: "eq.ud"; ue: "eq.ue"; uf: "eq.uf"; ug: "eq.ug"; uh: "eq.uh"; ui: "eq.ui"; uj: "eq.uj"; uk: "eq.uk"; ul: "eq.ul"; um: "eq.um"; un: "eq.un"; uo: "eq.uo"; up: "eq.up"; uq: "eq.uq"; ur: "eq.ur"; us: "eq.us"; ut: "eq.ut"; uu: "eq.uu"; uv: "eq.uv"; uw: "eq.uw"; ux: "eq.ux"; uy: "eq.uy"; uz: "eq.uz"; va: "eq.va"; vb: "eq.vb"; vc: "eq.vc"; vd: "eq.vd"; ve: "eq.ve"; vf: "eq.vf"; vg: "eq.vg"; vh: "eq.vh"; vi: "eq.vi"; vj: "eq.vj"; vk: "eq.vk"; vl: "eq.vl"; vm: "eq.vm"; vn: "eq.vn"; vo: "eq.vo"; vp: "eq.vp"; vq: "eq.vq"; vr: "eq.vr"; vs: "eq.vs"; vt: "eq.vt"; vu: "eq.vu"; vv: "eq.vv"; vw: "eq.vw"; vx: "eq.vx"; vy: "eq.vy"; vz: "eq.vz"; wa: "eq.wa"; wb: "eq.wb"; wc: "eq.wc"; wd: "eq.wd"; we: "eq.we"; wf: "eq.wf"; wg: "eq.wg"; wh: "eq.wh"; wi: "eq.wi"; wj: "eq.wj"; wk: "eq.wk"; wl: "eq.wl"; wm: "eq.wm"; wn: "eq.wn"; wo: "eq.wo"; wp: "eq.wp"; wq: "eq.wq"; wr: "eq.wr"; ws: "eq.ws"; wt: "eq.wt"; wu: "eq.wu"; wv: "eq.wv"; ww: "eq.ww"; wx: "eq.wx"; wy: "eq.wy"; wz: "eq.wz"; xa: "eq.xa"; xb: "eq.xb"; xc: "eq.xc"; xd: "eq.xd"; xe: "eq.xe"; xf: "eq.xf"; xg: "eq.xg"; xh: "eq.xh"; xi: "eq.xi"; xj: "eq.xj"; xk: "eq.xk"; xl: "eq.xl"; xm: "eq.xm"; xn: "eq.xn"; xo: "eq.xo"; xp: "eq.xp"; xq: "eq.xq"; xr: "eq.xr"; xs: "eq.xs"; xt: "eq.xt"; xu: "eq.xu"; xv: "eq.xv"; xw: "eq.xw"; xx: "eq.xx"; xy: "eq.xy"; xz: "eq.xz"; ya: "eq.ya"; yb: "eq.yb"; yc: "eq.yc"; yd: "eq.yd"; ye: "eq.ye"; yf: "eq.yf"; yg: "eq.yg"; yh: "eq.yh"; yi: "eq.yi"; yj: "eq.yj"; yk: "eq.yk"; yl: "eq.yl"; ym: "eq.ym"; yn: "eq.yn"; yo: "eq.yo"; yp: "eq.yp"; yq: "eq.yq"; yr: "eq.yr"; ys: "eq.ys"; yt: "eq.yt"; yu: "eq.yu"; yv: "eq.yv"; yw: "eq.yw"; yx: "eq.yx"; yy: "eq.yy"; yz: "eq.yz"; za: "eq.za"; zb: "eq.zb"; zc: "eq.zc"; zd: "eq.zd"; ze: "eq.ze"; zf: "eq.zf"; zg: "eq.zg"; zh: "eq.zh"; zi: "eq.zi"; zj: "eq.zj"; zk: "eq.zk"; zl: "eq.zl"; zm: "eq.zm"; zn: "eq.zn"; zo: "eq.zo"; zp: "eq.zp"; zq: "eq.zq"; zr: "eq.zr"; zs: "eq.zs"; zt: "eq.zt"; zu: "eq.zu"; zv: "eq.zv"; zw: "eq.zw"; zx: "eq.zx"; zy: "eq.zy"; zz: "eq.zz"; }; er: { aa: "er.aa"; ab: "er.ab"; ac: "er.ac"; ad: "er.ad"; ae: "er.ae"; af: "er.af"; ag: "er.ag"; ah: "er.ah"; ai: "er.ai"; aj: "er.aj"; ak: "er.ak"; al: "er.al"; am: "er.am"; an: "er.an"; ao: "er.ao"; ap: "er.ap"; aq: "er.aq"; ar: "er.ar"; as: "er.as"; at: "er.at"; au: "er.au"; av: "er.av"; aw: "er.aw"; ax: "er.ax"; ay: "er.ay"; az: "er.az"; ba: "er.ba"; bb: "er.bb"; bc: "er.bc"; bd: "er.bd"; be: "er.be"; bf: "er.bf"; bg: "er.bg"; bh: "er.bh"; bi: "er.bi"; bj: "er.bj"; bk: "er.bk"; bl: "er.bl"; bm: "er.bm"; bn: "er.bn"; bo: "er.bo"; bp: "er.bp"; bq: "er.bq"; br: "er.br"; bs: "er.bs"; bt: "er.bt"; bu: "er.bu"; bv: "er.bv"; bw: "er.bw"; bx: "er.bx"; by: "er.by"; bz: "er.bz"; ca: "er.ca"; cb: "er.cb"; cc: "er.cc"; cd: "er.cd"; ce: "er.ce"; cf: "er.cf"; cg: "er.cg"; ch: "er.ch"; ci: "er.ci"; cj: "er.cj"; ck: "er.ck"; cl: "er.cl"; cm: "er.cm"; cn: "er.cn"; co: "er.co"; cp: "er.cp"; cq: "er.cq"; cr: "er.cr"; cs: "er.cs"; ct: "er.ct"; cu: "er.cu"; cv: "er.cv"; cw: "er.cw"; cx: "er.cx"; cy: "er.cy"; cz: "er.cz"; da: "er.da"; db: "er.db"; dc: "er.dc"; dd: "er.dd"; de: "er.de"; df: "er.df"; dg: "er.dg"; dh: "er.dh"; di: "er.di"; dj: "er.dj"; dk: "er.dk"; dl: "er.dl"; dm: "er.dm"; dn: "er.dn"; do: "er.do"; dp: "er.dp"; dq: "er.dq"; dr: "er.dr"; ds: "er.ds"; dt: "er.dt"; du: "er.du"; dv: "er.dv"; dw: "er.dw"; dx: "er.dx"; dy: "er.dy"; dz: "er.dz"; ea: "er.ea"; eb: "er.eb"; ec: "er.ec"; ed: "er.ed"; ee: "er.ee"; ef: "er.ef"; eg: "er.eg"; eh: "er.eh"; ei: "er.ei"; ej: "er.ej"; ek: "er.ek"; el: "er.el"; em: "er.em"; en: "er.en"; eo: "er.eo"; ep: "er.ep"; eq: "er.eq"; er: "er.er"; es: "er.es"; et: "er.et"; eu: "er.eu"; ev: "er.ev"; ew: "er.ew"; ex: "er.ex"; ey: "er.ey"; ez: "er.ez"; fa: "er.fa"; fb: "er.fb"; fc: "er.fc"; fd: "er.fd"; fe: "er.fe"; ff: "er.ff"; fg: "er.fg"; fh: "er.fh"; fi: "er.fi"; fj: "er.fj"; fk: "er.fk"; fl: "er.fl"; fm: "er.fm"; fn: "er.fn"; fo: "er.fo"; fp: "er.fp"; fq: "er.fq"; fr: "er.fr"; fs: "er.fs"; ft: "er.ft"; fu: "er.fu"; fv: "er.fv"; fw: "er.fw"; fx: "er.fx"; fy: "er.fy"; fz: "er.fz"; ga: "er.ga"; gb: "er.gb"; gc: "er.gc"; gd: "er.gd"; ge: "er.ge"; gf: "er.gf"; gg: "er.gg"; gh: "er.gh"; gi: "er.gi"; gj: "er.gj"; gk: "er.gk"; gl: "er.gl"; gm: "er.gm"; gn: "er.gn"; go: "er.go"; gp: "er.gp"; gq: "er.gq"; gr: "er.gr"; gs: "er.gs"; gt: "er.gt"; gu: "er.gu"; gv: "er.gv"; gw: "er.gw"; gx: "er.gx"; gy: "er.gy"; gz: "er.gz"; ha: "er.ha"; hb: "er.hb"; hc: "er.hc"; hd: "er.hd"; he: "er.he"; hf: "er.hf"; hg: "er.hg"; hh: "er.hh"; hi: "er.hi"; hj: "er.hj"; hk: "er.hk"; hl: "er.hl"; hm: "er.hm"; hn: "er.hn"; ho: "er.ho"; hp: "er.hp"; hq: "er.hq"; hr: "er.hr"; hs: "er.hs"; ht: "er.ht"; hu: "er.hu"; hv: "er.hv"; hw: "er.hw"; hx: "er.hx"; hy: "er.hy"; hz: "er.hz"; ia: "er.ia"; ib: "er.ib"; ic: "er.ic"; id: "er.id"; ie: "er.ie"; if: "er.if"; ig: "er.ig"; ih: "er.ih"; ii: "er.ii"; ij: "er.ij"; ik: "er.ik"; il: "er.il"; im: "er.im"; in: "er.in"; io: "er.io"; ip: "er.ip"; iq: "er.iq"; ir: "er.ir"; is: "er.is"; it: "er.it"; iu: "er.iu"; iv: "er.iv"; iw: "er.iw"; ix: "er.ix"; iy: "er.iy"; iz: "er.iz"; ja: "er.ja"; jb: "er.jb"; jc: "er.jc"; jd: "er.jd"; je: "er.je"; jf: "er.jf"; jg: "er.jg"; jh: "er.jh"; ji: "er.ji"; jj: "er.jj"; jk: "er.jk"; jl: "er.jl"; jm: "er.jm"; jn: "er.jn"; jo: "er.jo"; jp: "er.jp"; jq: "er.jq"; jr: "er.jr"; js: "er.js"; jt: "er.jt"; ju: "er.ju"; jv: "er.jv"; jw: "er.jw"; jx: "er.jx"; jy: "er.jy"; jz: "er.jz"; ka: "er.ka"; kb: "er.kb"; kc: "er.kc"; kd: "er.kd"; ke: "er.ke"; kf: "er.kf"; kg: "er.kg"; kh: "er.kh"; ki: "er.ki"; kj: "er.kj"; kk: "er.kk"; kl: "er.kl"; km: "er.km"; kn: "er.kn"; ko: "er.ko"; kp: "er.kp"; kq: "er.kq"; kr: "er.kr"; ks: "er.ks"; kt: "er.kt"; ku: "er.ku"; kv: "er.kv"; kw: "er.kw"; kx: "er.kx"; ky: "er.ky"; kz: "er.kz"; la: "er.la"; lb: "er.lb"; lc: "er.lc"; ld: "er.ld"; le: "er.le"; lf: "er.lf"; lg: "er.lg"; lh: "er.lh"; li: "er.li"; lj: "er.lj"; lk: "er.lk"; ll: "er.ll"; lm: "er.lm"; ln: "er.ln"; lo: "er.lo"; lp: "er.lp"; lq: "er.lq"; lr: "er.lr"; ls: "er.ls"; lt: "er.lt"; lu: "er.lu"; lv: "er.lv"; lw: "er.lw"; lx: "er.lx"; ly: "er.ly"; lz: "er.lz"; ma: "er.ma"; mb: "er.mb"; mc: "er.mc"; md: "er.md"; me: "er.me"; mf: "er.mf"; mg: "er.mg"; mh: "er.mh"; mi: "er.mi"; mj: "er.mj"; mk: "er.mk"; ml: "er.ml"; mm: "er.mm"; mn: "er.mn"; mo: "er.mo"; mp: "er.mp"; mq: "er.mq"; mr: "er.mr"; ms: "er.ms"; mt: "er.mt"; mu: "er.mu"; mv: "er.mv"; mw: "er.mw"; mx: "er.mx"; my: "er.my"; mz: "er.mz"; na: "er.na"; nb: "er.nb"; nc: "er.nc"; nd: "er.nd"; ne: "er.ne"; nf: "er.nf"; ng: "er.ng"; nh: "er.nh"; ni: "er.ni"; nj: "er.nj"; nk: "er.nk"; nl: "er.nl"; nm: "er.nm"; nn: "er.nn"; no: "er.no"; np: "er.np"; nq: "er.nq"; nr: "er.nr"; ns: "er.ns"; nt: "er.nt"; nu: "er.nu"; nv: "er.nv"; nw: "er.nw"; nx: "er.nx"; ny: "er.ny"; nz: "er.nz"; oa: "er.oa"; ob: "er.ob"; oc: "er.oc"; od: "er.od"; oe: "er.oe"; of: "er.of"; og: "er.og"; oh: "er.oh"; oi: "er.oi"; oj: "er.oj"; ok: "er.ok"; ol: "er.ol"; om: "er.om"; on: "er.on"; oo: "er.oo"; op: "er.op"; oq: "er.oq"; or: "er.or"; os: "er.os"; ot: "er.ot"; ou: "er.ou"; ov: "er.ov"; ow: "er.ow"; ox: "er.ox"; oy: "er.oy"; oz: "er.oz"; pa: "er.pa"; pb: "er.pb"; pc: "er.pc"; pd: "er.pd"; pe: "er.pe"; pf: "er.pf"; pg: "er.pg"; ph: "er.ph"; pi: "er.pi"; pj: "er.pj"; pk: "er.pk"; pl: "er.pl"; pm: "er.pm"; pn: "er.pn"; po: "er.po"; pp: "er.pp"; pq: "er.pq"; pr: "er.pr"; ps: "er.ps"; pt: "er.pt"; pu: "er.pu"; pv: "er.pv"; pw: "er.pw"; px: "er.px"; py: "er.py"; pz: "er.pz"; qa: "er.qa"; qb: "er.qb"; qc: "er.qc"; qd: "er.qd"; qe: "er.qe"; qf: "er.qf"; qg: "er.qg"; qh: "er.qh"; qi: "er.qi"; qj: "er.qj"; qk: "er.qk"; ql: "er.ql"; qm: "er.qm"; qn: "er.qn"; qo: "er.qo"; qp: "er.qp"; qq: "er.qq"; qr: "er.qr"; qs: "er.qs"; qt: "er.qt"; qu: "er.qu"; qv: "er.qv"; qw: "er.qw"; qx: "er.qx"; qy: "er.qy"; qz: "er.qz"; ra: "er.ra"; rb: "er.rb"; rc: "er.rc"; rd: "er.rd"; re: "er.re"; rf: "er.rf"; rg: "er.rg"; rh: "er.rh"; ri: "er.ri"; rj: "er.rj"; rk: "er.rk"; rl: "er.rl"; rm: "er.rm"; rn: "er.rn"; ro: "er.ro"; rp: "er.rp"; rq: "er.rq"; rr: "er.rr"; rs: "er.rs"; rt: "er.rt"; ru: "er.ru"; rv: "er.rv"; rw: "er.rw"; rx: "er.rx"; ry: "er.ry"; rz: "er.rz"; sa: "er.sa"; sb: "er.sb"; sc: "er.sc"; sd: "er.sd"; se: "er.se"; sf: "er.sf"; sg: "er.sg"; sh: "er.sh"; si: "er.si"; sj: "er.sj"; sk: "er.sk"; sl: "er.sl"; sm: "er.sm"; sn: "er.sn"; so: "er.so"; sp: "er.sp"; sq: "er.sq"; sr: "er.sr"; ss: "er.ss"; st: "er.st"; su: "er.su"; sv: "er.sv"; sw: "er.sw"; sx: "er.sx"; sy: "er.sy"; sz: "er.sz"; ta: "er.ta"; tb: "er.tb"; tc: "er.tc"; td: "er.td"; te: "er.te"; tf: "er.tf"; tg: "er.tg"; th: "er.th"; ti: "er.ti"; tj: "er.tj"; tk: "er.tk"; tl: "er.tl"; tm: "er.tm"; tn: "er.tn"; to: "er.to"; tp: "er.tp"; tq: "er.tq"; tr: "er.tr"; ts: "er.ts"; tt: "er.tt"; tu: "er.tu"; tv: "er.tv"; tw: "er.tw"; tx: "er.tx"; ty: "er.ty"; tz: "er.tz"; ua: "er.ua"; ub: "er.ub"; uc: "er.uc"; ud: "er.ud"; ue: "er.ue"; uf: "er.uf"; ug: "er.ug"; uh: "er.uh"; ui: "er.ui"; uj: "er.uj"; uk: "er.uk"; ul: "er.ul"; um: "er.um"; un: "er.un"; uo: "er.uo"; up: "er.up"; uq: "er.uq"; ur: "er.ur"; us: "er.us"; ut: "er.ut"; uu: "er.uu"; uv: "er.uv"; uw: "er.uw"; ux: "er.ux"; uy: "er.uy"; uz: "er.uz"; va: "er.va"; vb: "er.vb"; vc: "er.vc"; vd: "er.vd"; ve: "er.ve"; vf: "er.vf"; vg: "er.vg"; vh: "er.vh"; vi: "er.vi"; vj: "er.vj"; vk: "er.vk"; vl: "er.vl"; vm: "er.vm"; vn: "er.vn"; vo: "er.vo"; vp: "er.vp"; vq: "er.vq"; vr: "er.vr"; vs: "er.vs"; vt: "er.vt"; vu: "er.vu"; vv: "er.vv"; vw: "er.vw"; vx: "er.vx"; vy: "er.vy"; vz: "er.vz"; wa: "er.wa"; wb: "er.wb"; wc: "er.wc"; wd: "er.wd"; we: "er.we"; wf: "er.wf"; wg: "er.wg"; wh: "er.wh"; wi: "er.wi"; wj: "er.wj"; wk: "er.wk"; wl: "er.wl"; wm: "er.wm"; wn: "er.wn"; wo: "er.wo"; wp: "er.wp"; wq: "er.wq"; wr: "er.wr"; ws: "er.ws"; wt: "er.wt"; wu: "er.wu"; wv: "er.wv"; ww: "er.ww"; wx: "er.wx"; wy: "er.wy"; wz: "er.wz"; xa: "er.xa"; xb: "er.xb"; xc: "er.xc"; xd: "er.xd"; xe: "er.xe"; xf: "er.xf"; xg: "er.xg"; xh: "er.xh"; xi: "er.xi"; xj: "er.xj"; xk: "er.xk"; xl: "er.xl"; xm: "er.xm"; xn: "er.xn"; xo: "er.xo"; xp: "er.xp"; xq: "er.xq"; xr: "er.xr"; xs: "er.xs"; xt: "er.xt"; xu: "er.xu"; xv: "er.xv"; xw: "er.xw"; xx: "er.xx"; xy: "er.xy"; xz: "er.xz"; ya: "er.ya"; yb: "er.yb"; yc: "er.yc"; yd: "er.yd"; ye: "er.ye"; yf: "er.yf"; yg: "er.yg"; yh: "er.yh"; yi: "er.yi"; yj: "er.yj"; yk: "er.yk"; yl: "er.yl"; ym: "er.ym"; yn: "er.yn"; yo: "er.yo"; yp: "er.yp"; yq: "er.yq"; yr: "er.yr"; ys: "er.ys"; yt: "er.yt"; yu: "er.yu"; yv: "er.yv"; yw: "er.yw"; yx: "er.yx"; yy: "er.yy"; yz: "er.yz"; za: "er.za"; zb: "er.zb"; zc: "er.zc"; zd: "er.zd"; ze: "er.ze"; zf: "er.zf"; zg: "er.zg"; zh: "er.zh"; zi: "er.zi"; zj: "er.zj"; zk: "er.zk"; zl: "er.zl"; zm: "er.zm"; zn: "er.zn"; zo: "er.zo"; zp: "er.zp"; zq: "er.zq"; zr: "er.zr"; zs: "er.zs"; zt: "er.zt"; zu: "er.zu"; zv: "er.zv"; zw: "er.zw"; zx: "er.zx"; zy: "er.zy"; zz: "er.zz"; }; es: { aa: "es.aa"; ab: "es.ab"; ac: "es.ac"; ad: "es.ad"; ae: "es.ae"; af: "es.af"; ag: "es.ag"; ah: "es.ah"; ai: "es.ai"; aj: "es.aj"; ak: "es.ak"; al: "es.al"; am: "es.am"; an: "es.an"; ao: "es.ao"; ap: "es.ap"; aq: "es.aq"; ar: "es.ar"; as: "es.as"; at: "es.at"; au: "es.au"; av: "es.av"; aw: "es.aw"; ax: "es.ax"; ay: "es.ay"; az: "es.az"; ba: "es.ba"; bb: "es.bb"; bc: "es.bc"; bd: "es.bd"; be: "es.be"; bf: "es.bf"; bg: "es.bg"; bh: "es.bh"; bi: "es.bi"; bj: "es.bj"; bk: "es.bk"; bl: "es.bl"; bm: "es.bm"; bn: "es.bn"; bo: "es.bo"; bp: "es.bp"; bq: "es.bq"; br: "es.br"; bs: "es.bs"; bt: "es.bt"; bu: "es.bu"; bv: "es.bv"; bw: "es.bw"; bx: "es.bx"; by: "es.by"; bz: "es.bz"; ca: "es.ca"; cb: "es.cb"; cc: "es.cc"; cd: "es.cd"; ce: "es.ce"; cf: "es.cf"; cg: "es.cg"; ch: "es.ch"; ci: "es.ci"; cj: "es.cj"; ck: "es.ck"; cl: "es.cl"; cm: "es.cm"; cn: "es.cn"; co: "es.co"; cp: "es.cp"; cq: "es.cq"; cr: "es.cr"; cs: "es.cs"; ct: "es.ct"; cu: "es.cu"; cv: "es.cv"; cw: "es.cw"; cx: "es.cx"; cy: "es.cy"; cz: "es.cz"; da: "es.da"; db: "es.db"; dc: "es.dc"; dd: "es.dd"; de: "es.de"; df: "es.df"; dg: "es.dg"; dh: "es.dh"; di: "es.di"; dj: "es.dj"; dk: "es.dk"; dl: "es.dl"; dm: "es.dm"; dn: "es.dn"; do: "es.do"; dp: "es.dp"; dq: "es.dq"; dr: "es.dr"; ds: "es.ds"; dt: "es.dt"; du: "es.du"; dv: "es.dv"; dw: "es.dw"; dx: "es.dx"; dy: "es.dy"; dz: "es.dz"; ea: "es.ea"; eb: "es.eb"; ec: "es.ec"; ed: "es.ed"; ee: "es.ee"; ef: "es.ef"; eg: "es.eg"; eh: "es.eh"; ei: "es.ei"; ej: "es.ej"; ek: "es.ek"; el: "es.el"; em: "es.em"; en: "es.en"; eo: "es.eo"; ep: "es.ep"; eq: "es.eq"; er: "es.er"; es: "es.es"; et: "es.et"; eu: "es.eu"; ev: "es.ev"; ew: "es.ew"; ex: "es.ex"; ey: "es.ey"; ez: "es.ez"; fa: "es.fa"; fb: "es.fb"; fc: "es.fc"; fd: "es.fd"; fe: "es.fe"; ff: "es.ff"; fg: "es.fg"; fh: "es.fh"; fi: "es.fi"; fj: "es.fj"; fk: "es.fk"; fl: "es.fl"; fm: "es.fm"; fn: "es.fn"; fo: "es.fo"; fp: "es.fp"; fq: "es.fq"; fr: "es.fr"; fs: "es.fs"; ft: "es.ft"; fu: "es.fu"; fv: "es.fv"; fw: "es.fw"; fx: "es.fx"; fy: "es.fy"; fz: "es.fz"; ga: "es.ga"; gb: "es.gb"; gc: "es.gc"; gd: "es.gd"; ge: "es.ge"; gf: "es.gf"; gg: "es.gg"; gh: "es.gh"; gi: "es.gi"; gj: "es.gj"; gk: "es.gk"; gl: "es.gl"; gm: "es.gm"; gn: "es.gn"; go: "es.go"; gp: "es.gp"; gq: "es.gq"; gr: "es.gr"; gs: "es.gs"; gt: "es.gt"; gu: "es.gu"; gv: "es.gv"; gw: "es.gw"; gx: "es.gx"; gy: "es.gy"; gz: "es.gz"; ha: "es.ha"; hb: "es.hb"; hc: "es.hc"; hd: "es.hd"; he: "es.he"; hf: "es.hf"; hg: "es.hg"; hh: "es.hh"; hi: "es.hi"; hj: "es.hj"; hk: "es.hk"; hl: "es.hl"; hm: "es.hm"; hn: "es.hn"; ho: "es.ho"; hp: "es.hp"; hq: "es.hq"; hr: "es.hr"; hs: "es.hs"; ht: "es.ht"; hu: "es.hu"; hv: "es.hv"; hw: "es.hw"; hx: "es.hx"; hy: "es.hy"; hz: "es.hz"; ia: "es.ia"; ib: "es.ib"; ic: "es.ic"; id: "es.id"; ie: "es.ie"; if: "es.if"; ig: "es.ig"; ih: "es.ih"; ii: "es.ii"; ij: "es.ij"; ik: "es.ik"; il: "es.il"; im: "es.im"; in: "es.in"; io: "es.io"; ip: "es.ip"; iq: "es.iq"; ir: "es.ir"; is: "es.is"; it: "es.it"; iu: "es.iu"; iv: "es.iv"; iw: "es.iw"; ix: "es.ix"; iy: "es.iy"; iz: "es.iz"; ja: "es.ja"; jb: "es.jb"; jc: "es.jc"; jd: "es.jd"; je: "es.je"; jf: "es.jf"; jg: "es.jg"; jh: "es.jh"; ji: "es.ji"; jj: "es.jj"; jk: "es.jk"; jl: "es.jl"; jm: "es.jm"; jn: "es.jn"; jo: "es.jo"; jp: "es.jp"; jq: "es.jq"; jr: "es.jr"; js: "es.js"; jt: "es.jt"; ju: "es.ju"; jv: "es.jv"; jw: "es.jw"; jx: "es.jx"; jy: "es.jy"; jz: "es.jz"; ka: "es.ka"; kb: "es.kb"; kc: "es.kc"; kd: "es.kd"; ke: "es.ke"; kf: "es.kf"; kg: "es.kg"; kh: "es.kh"; ki: "es.ki"; kj: "es.kj"; kk: "es.kk"; kl: "es.kl"; km: "es.km"; kn: "es.kn"; ko: "es.ko"; kp: "es.kp"; kq: "es.kq"; kr: "es.kr"; ks: "es.ks"; kt: "es.kt"; ku: "es.ku"; kv: "es.kv"; kw: "es.kw"; kx: "es.kx"; ky: "es.ky"; kz: "es.kz"; la: "es.la"; lb: "es.lb"; lc: "es.lc"; ld: "es.ld"; le: "es.le"; lf: "es.lf"; lg: "es.lg"; lh: "es.lh"; li: "es.li"; lj: "es.lj"; lk: "es.lk"; ll: "es.ll"; lm: "es.lm"; ln: "es.ln"; lo: "es.lo"; lp: "es.lp"; lq: "es.lq"; lr: "es.lr"; ls: "es.ls"; lt: "es.lt"; lu: "es.lu"; lv: "es.lv"; lw: "es.lw"; lx: "es.lx"; ly: "es.ly"; lz: "es.lz"; ma: "es.ma"; mb: "es.mb"; mc: "es.mc"; md: "es.md"; me: "es.me"; mf: "es.mf"; mg: "es.mg"; mh: "es.mh"; mi: "es.mi"; mj: "es.mj"; mk: "es.mk"; ml: "es.ml"; mm: "es.mm"; mn: "es.mn"; mo: "es.mo"; mp: "es.mp"; mq: "es.mq"; mr: "es.mr"; ms: "es.ms"; mt: "es.mt"; mu: "es.mu"; mv: "es.mv"; mw: "es.mw"; mx: "es.mx"; my: "es.my"; mz: "es.mz"; na: "es.na"; nb: "es.nb"; nc: "es.nc"; nd: "es.nd"; ne: "es.ne"; nf: "es.nf"; ng: "es.ng"; nh: "es.nh"; ni: "es.ni"; nj: "es.nj"; nk: "es.nk"; nl: "es.nl"; nm: "es.nm"; nn: "es.nn"; no: "es.no"; np: "es.np"; nq: "es.nq"; nr: "es.nr"; ns: "es.ns"; nt: "es.nt"; nu: "es.nu"; nv: "es.nv"; nw: "es.nw"; nx: "es.nx"; ny: "es.ny"; nz: "es.nz"; oa: "es.oa"; ob: "es.ob"; oc: "es.oc"; od: "es.od"; oe: "es.oe"; of: "es.of"; og: "es.og"; oh: "es.oh"; oi: "es.oi"; oj: "es.oj"; ok: "es.ok"; ol: "es.ol"; om: "es.om"; on: "es.on"; oo: "es.oo"; op: "es.op"; oq: "es.oq"; or: "es.or"; os: "es.os"; ot: "es.ot"; ou: "es.ou"; ov: "es.ov"; ow: "es.ow"; ox: "es.ox"; oy: "es.oy"; oz: "es.oz"; pa: "es.pa"; pb: "es.pb"; pc: "es.pc"; pd: "es.pd"; pe: "es.pe"; pf: "es.pf"; pg: "es.pg"; ph: "es.ph"; pi: "es.pi"; pj: "es.pj"; pk: "es.pk"; pl: "es.pl"; pm: "es.pm"; pn: "es.pn"; po: "es.po"; pp: "es.pp"; pq: "es.pq"; pr: "es.pr"; ps: "es.ps"; pt: "es.pt"; pu: "es.pu"; pv: "es.pv"; pw: "es.pw"; px: "es.px"; py: "es.py"; pz: "es.pz"; qa: "es.qa"; qb: "es.qb"; qc: "es.qc"; qd: "es.qd"; qe: "es.qe"; qf: "es.qf"; qg: "es.qg"; qh: "es.qh"; qi: "es.qi"; qj: "es.qj"; qk: "es.qk"; ql: "es.ql"; qm: "es.qm"; qn: "es.qn"; qo: "es.qo"; qp: "es.qp"; qq: "es.qq"; qr: "es.qr"; qs: "es.qs"; qt: "es.qt"; qu: "es.qu"; qv: "es.qv"; qw: "es.qw"; qx: "es.qx"; qy: "es.qy"; qz: "es.qz"; ra: "es.ra"; rb: "es.rb"; rc: "es.rc"; rd: "es.rd"; re: "es.re"; rf: "es.rf"; rg: "es.rg"; rh: "es.rh"; ri: "es.ri"; rj: "es.rj"; rk: "es.rk"; rl: "es.rl"; rm: "es.rm"; rn: "es.rn"; ro: "es.ro"; rp: "es.rp"; rq: "es.rq"; rr: "es.rr"; rs: "es.rs"; rt: "es.rt"; ru: "es.ru"; rv: "es.rv"; rw: "es.rw"; rx: "es.rx"; ry: "es.ry"; rz: "es.rz"; sa: "es.sa"; sb: "es.sb"; sc: "es.sc"; sd: "es.sd"; se: "es.se"; sf: "es.sf"; sg: "es.sg"; sh: "es.sh"; si: "es.si"; sj: "es.sj"; sk: "es.sk"; sl: "es.sl"; sm: "es.sm"; sn: "es.sn"; so: "es.so"; sp: "es.sp"; sq: "es.sq"; sr: "es.sr"; ss: "es.ss"; st: "es.st"; su: "es.su"; sv: "es.sv"; sw: "es.sw"; sx: "es.sx"; sy: "es.sy"; sz: "es.sz"; ta: "es.ta"; tb: "es.tb"; tc: "es.tc"; td: "es.td"; te: "es.te"; tf: "es.tf"; tg: "es.tg"; th: "es.th"; ti: "es.ti"; tj: "es.tj"; tk: "es.tk"; tl: "es.tl"; tm: "es.tm"; tn: "es.tn"; to: "es.to"; tp: "es.tp"; tq: "es.tq"; tr: "es.tr"; ts: "es.ts"; tt: "es.tt"; tu: "es.tu"; tv: "es.tv"; tw: "es.tw"; tx: "es.tx"; ty: "es.ty"; tz: "es.tz"; ua: "es.ua"; ub: "es.ub"; uc: "es.uc"; ud: "es.ud"; ue: "es.ue"; uf: "es.uf"; ug: "es.ug"; uh: "es.uh"; ui: "es.ui"; uj: "es.uj"; uk: "es.uk"; ul: "es.ul"; um: "es.um"; un: "es.un"; uo: "es.uo"; up: "es.up"; uq: "es.uq"; ur: "es.ur"; us: "es.us"; ut: "es.ut"; uu: "es.uu"; uv: "es.uv"; uw: "es.uw"; ux: "es.ux"; uy: "es.uy"; uz: "es.uz"; va: "es.va"; vb: "es.vb"; vc: "es.vc"; vd: "es.vd"; ve: "es.ve"; vf: "es.vf"; vg: "es.vg"; vh: "es.vh"; vi: "es.vi"; vj: "es.vj"; vk: "es.vk"; vl: "es.vl"; vm: "es.vm"; vn: "es.vn"; vo: "es.vo"; vp: "es.vp"; vq: "es.vq"; vr: "es.vr"; vs: "es.vs"; vt: "es.vt"; vu: "es.vu"; vv: "es.vv"; vw: "es.vw"; vx: "es.vx"; vy: "es.vy"; vz: "es.vz"; wa: "es.wa"; wb: "es.wb"; wc: "es.wc"; wd: "es.wd"; we: "es.we"; wf: "es.wf"; wg: "es.wg"; wh: "es.wh"; wi: "es.wi"; wj: "es.wj"; wk: "es.wk"; wl: "es.wl"; wm: "es.wm"; wn: "es.wn"; wo: "es.wo"; wp: "es.wp"; wq: "es.wq"; wr: "es.wr"; ws: "es.ws"; wt: "es.wt"; wu: "es.wu"; wv: "es.wv"; ww: "es.ww"; wx: "es.wx"; wy: "es.wy"; wz: "es.wz"; xa: "es.xa"; xb: "es.xb"; xc: "es.xc"; xd: "es.xd"; xe: "es.xe"; xf: "es.xf"; xg: "es.xg"; xh: "es.xh"; xi: "es.xi"; xj: "es.xj"; xk: "es.xk"; xl: "es.xl"; xm: "es.xm"; xn: "es.xn"; xo: "es.xo"; xp: "es.xp"; xq: "es.xq"; xr: "es.xr"; xs: "es.xs"; xt: "es.xt"; xu: "es.xu"; xv: "es.xv"; xw: "es.xw"; xx: "es.xx"; xy: "es.xy"; xz: "es.xz"; ya: "es.ya"; yb: "es.yb"; yc: "es.yc"; yd: "es.yd"; ye: "es.ye"; yf: "es.yf"; yg: "es.yg"; yh: "es.yh"; yi: "es.yi"; yj: "es.yj"; yk: "es.yk"; yl: "es.yl"; ym: "es.ym"; yn: "es.yn"; yo: "es.yo"; yp: "es.yp"; yq: "es.yq"; yr: "es.yr"; ys: "es.ys"; yt: "es.yt"; yu: "es.yu"; yv: "es.yv"; yw: "es.yw"; yx: "es.yx"; yy: "es.yy"; yz: "es.yz"; za: "es.za"; zb: "es.zb"; zc: "es.zc"; zd: "es.zd"; ze: "es.ze"; zf: "es.zf"; zg: "es.zg"; zh: "es.zh"; zi: "es.zi"; zj: "es.zj"; zk: "es.zk"; zl: "es.zl"; zm: "es.zm"; zn: "es.zn"; zo: "es.zo"; zp: "es.zp"; zq: "es.zq"; zr: "es.zr"; zs: "es.zs"; zt: "es.zt"; zu: "es.zu"; zv: "es.zv"; zw: "es.zw"; zx: "es.zx"; zy: "es.zy"; zz: "es.zz"; }; et: { aa: "et.aa"; ab: "et.ab"; ac: "et.ac"; ad: "et.ad"; ae: "et.ae"; af: "et.af"; ag: "et.ag"; ah: "et.ah"; ai: "et.ai"; aj: "et.aj"; ak: "et.ak"; al: "et.al"; am: "et.am"; an: "et.an"; ao: "et.ao"; ap: "et.ap"; aq: "et.aq"; ar: "et.ar"; as: "et.as"; at: "et.at"; au: "et.au"; av: "et.av"; aw: "et.aw"; ax: "et.ax"; ay: "et.ay"; az: "et.az"; ba: "et.ba"; bb: "et.bb"; bc: "et.bc"; bd: "et.bd"; be: "et.be"; bf: "et.bf"; bg: "et.bg"; bh: "et.bh"; bi: "et.bi"; bj: "et.bj"; bk: "et.bk"; bl: "et.bl"; bm: "et.bm"; bn: "et.bn"; bo: "et.bo"; bp: "et.bp"; bq: "et.bq"; br: "et.br"; bs: "et.bs"; bt: "et.bt"; bu: "et.bu"; bv: "et.bv"; bw: "et.bw"; bx: "et.bx"; by: "et.by"; bz: "et.bz"; ca: "et.ca"; cb: "et.cb"; cc: "et.cc"; cd: "et.cd"; ce: "et.ce"; cf: "et.cf"; cg: "et.cg"; ch: "et.ch"; ci: "et.ci"; cj: "et.cj"; ck: "et.ck"; cl: "et.cl"; cm: "et.cm"; cn: "et.cn"; co: "et.co"; cp: "et.cp"; cq: "et.cq"; cr: "et.cr"; cs: "et.cs"; ct: "et.ct"; cu: "et.cu"; cv: "et.cv"; cw: "et.cw"; cx: "et.cx"; cy: "et.cy"; cz: "et.cz"; da: "et.da"; db: "et.db"; dc: "et.dc"; dd: "et.dd"; de: "et.de"; df: "et.df"; dg: "et.dg"; dh: "et.dh"; di: "et.di"; dj: "et.dj"; dk: "et.dk"; dl: "et.dl"; dm: "et.dm"; dn: "et.dn"; do: "et.do"; dp: "et.dp"; dq: "et.dq"; dr: "et.dr"; ds: "et.ds"; dt: "et.dt"; du: "et.du"; dv: "et.dv"; dw: "et.dw"; dx: "et.dx"; dy: "et.dy"; dz: "et.dz"; ea: "et.ea"; eb: "et.eb"; ec: "et.ec"; ed: "et.ed"; ee: "et.ee"; ef: "et.ef"; eg: "et.eg"; eh: "et.eh"; ei: "et.ei"; ej: "et.ej"; ek: "et.ek"; el: "et.el"; em: "et.em"; en: "et.en"; eo: "et.eo"; ep: "et.ep"; eq: "et.eq"; er: "et.er"; es: "et.es"; et: "et.et"; eu: "et.eu"; ev: "et.ev"; ew: "et.ew"; ex: "et.ex"; ey: "et.ey"; ez: "et.ez"; fa: "et.fa"; fb: "et.fb"; fc: "et.fc"; fd: "et.fd"; fe: "et.fe"; ff: "et.ff"; fg: "et.fg"; fh: "et.fh"; fi: "et.fi"; fj: "et.fj"; fk: "et.fk"; fl: "et.fl"; fm: "et.fm"; fn: "et.fn"; fo: "et.fo"; fp: "et.fp"; fq: "et.fq"; fr: "et.fr"; fs: "et.fs"; ft: "et.ft"; fu: "et.fu"; fv: "et.fv"; fw: "et.fw"; fx: "et.fx"; fy: "et.fy"; fz: "et.fz"; ga: "et.ga"; gb: "et.gb"; gc: "et.gc"; gd: "et.gd"; ge: "et.ge"; gf: "et.gf"; gg: "et.gg"; gh: "et.gh"; gi: "et.gi"; gj: "et.gj"; gk: "et.gk"; gl: "et.gl"; gm: "et.gm"; gn: "et.gn"; go: "et.go"; gp: "et.gp"; gq: "et.gq"; gr: "et.gr"; gs: "et.gs"; gt: "et.gt"; gu: "et.gu"; gv: "et.gv"; gw: "et.gw"; gx: "et.gx"; gy: "et.gy"; gz: "et.gz"; ha: "et.ha"; hb: "et.hb"; hc: "et.hc"; hd: "et.hd"; he: "et.he"; hf: "et.hf"; hg: "et.hg"; hh: "et.hh"; hi: "et.hi"; hj: "et.hj"; hk: "et.hk"; hl: "et.hl"; hm: "et.hm"; hn: "et.hn"; ho: "et.ho"; hp: "et.hp"; hq: "et.hq"; hr: "et.hr"; hs: "et.hs"; ht: "et.ht"; hu: "et.hu"; hv: "et.hv"; hw: "et.hw"; hx: "et.hx"; hy: "et.hy"; hz: "et.hz"; ia: "et.ia"; ib: "et.ib"; ic: "et.ic"; id: "et.id"; ie: "et.ie"; if: "et.if"; ig: "et.ig"; ih: "et.ih"; ii: "et.ii"; ij: "et.ij"; ik: "et.ik"; il: "et.il"; im: "et.im"; in: "et.in"; io: "et.io"; ip: "et.ip"; iq: "et.iq"; ir: "et.ir"; is: "et.is"; it: "et.it"; iu: "et.iu"; iv: "et.iv"; iw: "et.iw"; ix: "et.ix"; iy: "et.iy"; iz: "et.iz"; ja: "et.ja"; jb: "et.jb"; jc: "et.jc"; jd: "et.jd"; je: "et.je"; jf: "et.jf"; jg: "et.jg"; jh: "et.jh"; ji: "et.ji"; jj: "et.jj"; jk: "et.jk"; jl: "et.jl"; jm: "et.jm"; jn: "et.jn"; jo: "et.jo"; jp: "et.jp"; jq: "et.jq"; jr: "et.jr"; js: "et.js"; jt: "et.jt"; ju: "et.ju"; jv: "et.jv"; jw: "et.jw"; jx: "et.jx"; jy: "et.jy"; jz: "et.jz"; ka: "et.ka"; kb: "et.kb"; kc: "et.kc"; kd: "et.kd"; ke: "et.ke"; kf: "et.kf"; kg: "et.kg"; kh: "et.kh"; ki: "et.ki"; kj: "et.kj"; kk: "et.kk"; kl: "et.kl"; km: "et.km"; kn: "et.kn"; ko: "et.ko"; kp: "et.kp"; kq: "et.kq"; kr: "et.kr"; ks: "et.ks"; kt: "et.kt"; ku: "et.ku"; kv: "et.kv"; kw: "et.kw"; kx: "et.kx"; ky: "et.ky"; kz: "et.kz"; la: "et.la"; lb: "et.lb"; lc: "et.lc"; ld: "et.ld"; le: "et.le"; lf: "et.lf"; lg: "et.lg"; lh: "et.lh"; li: "et.li"; lj: "et.lj"; lk: "et.lk"; ll: "et.ll"; lm: "et.lm"; ln: "et.ln"; lo: "et.lo"; lp: "et.lp"; lq: "et.lq"; lr: "et.lr"; ls: "et.ls"; lt: "et.lt"; lu: "et.lu"; lv: "et.lv"; lw: "et.lw"; lx: "et.lx"; ly: "et.ly"; lz: "et.lz"; ma: "et.ma"; mb: "et.mb"; mc: "et.mc"; md: "et.md"; me: "et.me"; mf: "et.mf"; mg: "et.mg"; mh: "et.mh"; mi: "et.mi"; mj: "et.mj"; mk: "et.mk"; ml: "et.ml"; mm: "et.mm"; mn: "et.mn"; mo: "et.mo"; mp: "et.mp"; mq: "et.mq"; mr: "et.mr"; ms: "et.ms"; mt: "et.mt"; mu: "et.mu"; mv: "et.mv"; mw: "et.mw"; mx: "et.mx"; my: "et.my"; mz: "et.mz"; na: "et.na"; nb: "et.nb"; nc: "et.nc"; nd: "et.nd"; ne: "et.ne"; nf: "et.nf"; ng: "et.ng"; nh: "et.nh"; ni: "et.ni"; nj: "et.nj"; nk: "et.nk"; nl: "et.nl"; nm: "et.nm"; nn: "et.nn"; no: "et.no"; np: "et.np"; nq: "et.nq"; nr: "et.nr"; ns: "et.ns"; nt: "et.nt"; nu: "et.nu"; nv: "et.nv"; nw: "et.nw"; nx: "et.nx"; ny: "et.ny"; nz: "et.nz"; oa: "et.oa"; ob: "et.ob"; oc: "et.oc"; od: "et.od"; oe: "et.oe"; of: "et.of"; og: "et.og"; oh: "et.oh"; oi: "et.oi"; oj: "et.oj"; ok: "et.ok"; ol: "et.ol"; om: "et.om"; on: "et.on"; oo: "et.oo"; op: "et.op"; oq: "et.oq"; or: "et.or"; os: "et.os"; ot: "et.ot"; ou: "et.ou"; ov: "et.ov"; ow: "et.ow"; ox: "et.ox"; oy: "et.oy"; oz: "et.oz"; pa: "et.pa"; pb: "et.pb"; pc: "et.pc"; pd: "et.pd"; pe: "et.pe"; pf: "et.pf"; pg: "et.pg"; ph: "et.ph"; pi: "et.pi"; pj: "et.pj"; pk: "et.pk"; pl: "et.pl"; pm: "et.pm"; pn: "et.pn"; po: "et.po"; pp: "et.pp"; pq: "et.pq"; pr: "et.pr"; ps: "et.ps"; pt: "et.pt"; pu: "et.pu"; pv: "et.pv"; pw: "et.pw"; px: "et.px"; py: "et.py"; pz: "et.pz"; qa: "et.qa"; qb: "et.qb"; qc: "et.qc"; qd: "et.qd"; qe: "et.qe"; qf: "et.qf"; qg: "et.qg"; qh: "et.qh"; qi: "et.qi"; qj: "et.qj"; qk: "et.qk"; ql: "et.ql"; qm: "et.qm"; qn: "et.qn"; qo: "et.qo"; qp: "et.qp"; qq: "et.qq"; qr: "et.qr"; qs: "et.qs"; qt: "et.qt"; qu: "et.qu"; qv: "et.qv"; qw: "et.qw"; qx: "et.qx"; qy: "et.qy"; qz: "et.qz"; ra: "et.ra"; rb: "et.rb"; rc: "et.rc"; rd: "et.rd"; re: "et.re"; rf: "et.rf"; rg: "et.rg"; rh: "et.rh"; ri: "et.ri"; rj: "et.rj"; rk: "et.rk"; rl: "et.rl"; rm: "et.rm"; rn: "et.rn"; ro: "et.ro"; rp: "et.rp"; rq: "et.rq"; rr: "et.rr"; rs: "et.rs"; rt: "et.rt"; ru: "et.ru"; rv: "et.rv"; rw: "et.rw"; rx: "et.rx"; ry: "et.ry"; rz: "et.rz"; sa: "et.sa"; sb: "et.sb"; sc: "et.sc"; sd: "et.sd"; se: "et.se"; sf: "et.sf"; sg: "et.sg"; sh: "et.sh"; si: "et.si"; sj: "et.sj"; sk: "et.sk"; sl: "et.sl"; sm: "et.sm"; sn: "et.sn"; so: "et.so"; sp: "et.sp"; sq: "et.sq"; sr: "et.sr"; ss: "et.ss"; st: "et.st"; su: "et.su"; sv: "et.sv"; sw: "et.sw"; sx: "et.sx"; sy: "et.sy"; sz: "et.sz"; ta: "et.ta"; tb: "et.tb"; tc: "et.tc"; td: "et.td"; te: "et.te"; tf: "et.tf"; tg: "et.tg"; th: "et.th"; ti: "et.ti"; tj: "et.tj"; tk: "et.tk"; tl: "et.tl"; tm: "et.tm"; tn: "et.tn"; to: "et.to"; tp: "et.tp"; tq: "et.tq"; tr: "et.tr"; ts: "et.ts"; tt: "et.tt"; tu: "et.tu"; tv: "et.tv"; tw: "et.tw"; tx: "et.tx"; ty: "et.ty"; tz: "et.tz"; ua: "et.ua"; ub: "et.ub"; uc: "et.uc"; ud: "et.ud"; ue: "et.ue"; uf: "et.uf"; ug: "et.ug"; uh: "et.uh"; ui: "et.ui"; uj: "et.uj"; uk: "et.uk"; ul: "et.ul"; um: "et.um"; un: "et.un"; uo: "et.uo"; up: "et.up"; uq: "et.uq"; ur: "et.ur"; us: "et.us"; ut: "et.ut"; uu: "et.uu"; uv: "et.uv"; uw: "et.uw"; ux: "et.ux"; uy: "et.uy"; uz: "et.uz"; va: "et.va"; vb: "et.vb"; vc: "et.vc"; vd: "et.vd"; ve: "et.ve"; vf: "et.vf"; vg: "et.vg"; vh: "et.vh"; vi: "et.vi"; vj: "et.vj"; vk: "et.vk"; vl: "et.vl"; vm: "et.vm"; vn: "et.vn"; vo: "et.vo"; vp: "et.vp"; vq: "et.vq"; vr: "et.vr"; vs: "et.vs"; vt: "et.vt"; vu: "et.vu"; vv: "et.vv"; vw: "et.vw"; vx: "et.vx"; vy: "et.vy"; vz: "et.vz"; wa: "et.wa"; wb: "et.wb"; wc: "et.wc"; wd: "et.wd"; we: "et.we"; wf: "et.wf"; wg: "et.wg"; wh: "et.wh"; wi: "et.wi"; wj: "et.wj"; wk: "et.wk"; wl: "et.wl"; wm: "et.wm"; wn: "et.wn"; wo: "et.wo"; wp: "et.wp"; wq: "et.wq"; wr: "et.wr"; ws: "et.ws"; wt: "et.wt"; wu: "et.wu"; wv: "et.wv"; ww: "et.ww"; wx: "et.wx"; wy: "et.wy"; wz: "et.wz"; xa: "et.xa"; xb: "et.xb"; xc: "et.xc"; xd: "et.xd"; xe: "et.xe"; xf: "et.xf"; xg: "et.xg"; xh: "et.xh"; xi: "et.xi"; xj: "et.xj"; xk: "et.xk"; xl: "et.xl"; xm: "et.xm"; xn: "et.xn"; xo: "et.xo"; xp: "et.xp"; xq: "et.xq"; xr: "et.xr"; xs: "et.xs"; xt: "et.xt"; xu: "et.xu"; xv: "et.xv"; xw: "et.xw"; xx: "et.xx"; xy: "et.xy"; xz: "et.xz"; ya: "et.ya"; yb: "et.yb"; yc: "et.yc"; yd: "et.yd"; ye: "et.ye"; yf: "et.yf"; yg: "et.yg"; yh: "et.yh"; yi: "et.yi"; yj: "et.yj"; yk: "et.yk"; yl: "et.yl"; ym: "et.ym"; yn: "et.yn"; yo: "et.yo"; yp: "et.yp"; yq: "et.yq"; yr: "et.yr"; ys: "et.ys"; yt: "et.yt"; yu: "et.yu"; yv: "et.yv"; yw: "et.yw"; yx: "et.yx"; yy: "et.yy"; yz: "et.yz"; za: "et.za"; zb: "et.zb"; zc: "et.zc"; zd: "et.zd"; ze: "et.ze"; zf: "et.zf"; zg: "et.zg"; zh: "et.zh"; zi: "et.zi"; zj: "et.zj"; zk: "et.zk"; zl: "et.zl"; zm: "et.zm"; zn: "et.zn"; zo: "et.zo"; zp: "et.zp"; zq: "et.zq"; zr: "et.zr"; zs: "et.zs"; zt: "et.zt"; zu: "et.zu"; zv: "et.zv"; zw: "et.zw"; zx: "et.zx"; zy: "et.zy"; zz: "et.zz"; }; eu: { aa: "eu.aa"; ab: "eu.ab"; ac: "eu.ac"; ad: "eu.ad"; ae: "eu.ae"; af: "eu.af"; ag: "eu.ag"; ah: "eu.ah"; ai: "eu.ai"; aj: "eu.aj"; ak: "eu.ak"; al: "eu.al"; am: "eu.am"; an: "eu.an"; ao: "eu.ao"; ap: "eu.ap"; aq: "eu.aq"; ar: "eu.ar"; as: "eu.as"; at: "eu.at"; au: "eu.au"; av: "eu.av"; aw: "eu.aw"; ax: "eu.ax"; ay: "eu.ay"; az: "eu.az"; ba: "eu.ba"; bb: "eu.bb"; bc: "eu.bc"; bd: "eu.bd"; be: "eu.be"; bf: "eu.bf"; bg: "eu.bg"; bh: "eu.bh"; bi: "eu.bi"; bj: "eu.bj"; bk: "eu.bk"; bl: "eu.bl"; bm: "eu.bm"; bn: "eu.bn"; bo: "eu.bo"; bp: "eu.bp"; bq: "eu.bq"; br: "eu.br"; bs: "eu.bs"; bt: "eu.bt"; bu: "eu.bu"; bv: "eu.bv"; bw: "eu.bw"; bx: "eu.bx"; by: "eu.by"; bz: "eu.bz"; ca: "eu.ca"; cb: "eu.cb"; cc: "eu.cc"; cd: "eu.cd"; ce: "eu.ce"; cf: "eu.cf"; cg: "eu.cg"; ch: "eu.ch"; ci: "eu.ci"; cj: "eu.cj"; ck: "eu.ck"; cl: "eu.cl"; cm: "eu.cm"; cn: "eu.cn"; co: "eu.co"; cp: "eu.cp"; cq: "eu.cq"; cr: "eu.cr"; cs: "eu.cs"; ct: "eu.ct"; cu: "eu.cu"; cv: "eu.cv"; cw: "eu.cw"; cx: "eu.cx"; cy: "eu.cy"; cz: "eu.cz"; da: "eu.da"; db: "eu.db"; dc: "eu.dc"; dd: "eu.dd"; de: "eu.de"; df: "eu.df"; dg: "eu.dg"; dh: "eu.dh"; di: "eu.di"; dj: "eu.dj"; dk: "eu.dk"; dl: "eu.dl"; dm: "eu.dm"; dn: "eu.dn"; do: "eu.do"; dp: "eu.dp"; dq: "eu.dq"; dr: "eu.dr"; ds: "eu.ds"; dt: "eu.dt"; du: "eu.du"; dv: "eu.dv"; dw: "eu.dw"; dx: "eu.dx"; dy: "eu.dy"; dz: "eu.dz"; ea: "eu.ea"; eb: "eu.eb"; ec: "eu.ec"; ed: "eu.ed"; ee: "eu.ee"; ef: "eu.ef"; eg: "eu.eg"; eh: "eu.eh"; ei: "eu.ei"; ej: "eu.ej"; ek: "eu.ek"; el: "eu.el"; em: "eu.em"; en: "eu.en"; eo: "eu.eo"; ep: "eu.ep"; eq: "eu.eq"; er: "eu.er"; es: "eu.es"; et: "eu.et"; eu: "eu.eu"; ev: "eu.ev"; ew: "eu.ew"; ex: "eu.ex"; ey: "eu.ey"; ez: "eu.ez"; fa: "eu.fa"; fb: "eu.fb"; fc: "eu.fc"; fd: "eu.fd"; fe: "eu.fe"; ff: "eu.ff"; fg: "eu.fg"; fh: "eu.fh"; fi: "eu.fi"; fj: "eu.fj"; fk: "eu.fk"; fl: "eu.fl"; fm: "eu.fm"; fn: "eu.fn"; fo: "eu.fo"; fp: "eu.fp"; fq: "eu.fq"; fr: "eu.fr"; fs: "eu.fs"; ft: "eu.ft"; fu: "eu.fu"; fv: "eu.fv"; fw: "eu.fw"; fx: "eu.fx"; fy: "eu.fy"; fz: "eu.fz"; ga: "eu.ga"; gb: "eu.gb"; gc: "eu.gc"; gd: "eu.gd"; ge: "eu.ge"; gf: "eu.gf"; gg: "eu.gg"; gh: "eu.gh"; gi: "eu.gi"; gj: "eu.gj"; gk: "eu.gk"; gl: "eu.gl"; gm: "eu.gm"; gn: "eu.gn"; go: "eu.go"; gp: "eu.gp"; gq: "eu.gq"; gr: "eu.gr"; gs: "eu.gs"; gt: "eu.gt"; gu: "eu.gu"; gv: "eu.gv"; gw: "eu.gw"; gx: "eu.gx"; gy: "eu.gy"; gz: "eu.gz"; ha: "eu.ha"; hb: "eu.hb"; hc: "eu.hc"; hd: "eu.hd"; he: "eu.he"; hf: "eu.hf"; hg: "eu.hg"; hh: "eu.hh"; hi: "eu.hi"; hj: "eu.hj"; hk: "eu.hk"; hl: "eu.hl"; hm: "eu.hm"; hn: "eu.hn"; ho: "eu.ho"; hp: "eu.hp"; hq: "eu.hq"; hr: "eu.hr"; hs: "eu.hs"; ht: "eu.ht"; hu: "eu.hu"; hv: "eu.hv"; hw: "eu.hw"; hx: "eu.hx"; hy: "eu.hy"; hz: "eu.hz"; ia: "eu.ia"; ib: "eu.ib"; ic: "eu.ic"; id: "eu.id"; ie: "eu.ie"; if: "eu.if"; ig: "eu.ig"; ih: "eu.ih"; ii: "eu.ii"; ij: "eu.ij"; ik: "eu.ik"; il: "eu.il"; im: "eu.im"; in: "eu.in"; io: "eu.io"; ip: "eu.ip"; iq: "eu.iq"; ir: "eu.ir"; is: "eu.is"; it: "eu.it"; iu: "eu.iu"; iv: "eu.iv"; iw: "eu.iw"; ix: "eu.ix"; iy: "eu.iy"; iz: "eu.iz"; ja: "eu.ja"; jb: "eu.jb"; jc: "eu.jc"; jd: "eu.jd"; je: "eu.je"; jf: "eu.jf"; jg: "eu.jg"; jh: "eu.jh"; ji: "eu.ji"; jj: "eu.jj"; jk: "eu.jk"; jl: "eu.jl"; jm: "eu.jm"; jn: "eu.jn"; jo: "eu.jo"; jp: "eu.jp"; jq: "eu.jq"; jr: "eu.jr"; js: "eu.js"; jt: "eu.jt"; ju: "eu.ju"; jv: "eu.jv"; jw: "eu.jw"; jx: "eu.jx"; jy: "eu.jy"; jz: "eu.jz"; ka: "eu.ka"; kb: "eu.kb"; kc: "eu.kc"; kd: "eu.kd"; ke: "eu.ke"; kf: "eu.kf"; kg: "eu.kg"; kh: "eu.kh"; ki: "eu.ki"; kj: "eu.kj"; kk: "eu.kk"; kl: "eu.kl"; km: "eu.km"; kn: "eu.kn"; ko: "eu.ko"; kp: "eu.kp"; kq: "eu.kq"; kr: "eu.kr"; ks: "eu.ks"; kt: "eu.kt"; ku: "eu.ku"; kv: "eu.kv"; kw: "eu.kw"; kx: "eu.kx"; ky: "eu.ky"; kz: "eu.kz"; la: "eu.la"; lb: "eu.lb"; lc: "eu.lc"; ld: "eu.ld"; le: "eu.le"; lf: "eu.lf"; lg: "eu.lg"; lh: "eu.lh"; li: "eu.li"; lj: "eu.lj"; lk: "eu.lk"; ll: "eu.ll"; lm: "eu.lm"; ln: "eu.ln"; lo: "eu.lo"; lp: "eu.lp"; lq: "eu.lq"; lr: "eu.lr"; ls: "eu.ls"; lt: "eu.lt"; lu: "eu.lu"; lv: "eu.lv"; lw: "eu.lw"; lx: "eu.lx"; ly: "eu.ly"; lz: "eu.lz"; ma: "eu.ma"; mb: "eu.mb"; mc: "eu.mc"; md: "eu.md"; me: "eu.me"; mf: "eu.mf"; mg: "eu.mg"; mh: "eu.mh"; mi: "eu.mi"; mj: "eu.mj"; mk: "eu.mk"; ml: "eu.ml"; mm: "eu.mm"; mn: "eu.mn"; mo: "eu.mo"; mp: "eu.mp"; mq: "eu.mq"; mr: "eu.mr"; ms: "eu.ms"; mt: "eu.mt"; mu: "eu.mu"; mv: "eu.mv"; mw: "eu.mw"; mx: "eu.mx"; my: "eu.my"; mz: "eu.mz"; na: "eu.na"; nb: "eu.nb"; nc: "eu.nc"; nd: "eu.nd"; ne: "eu.ne"; nf: "eu.nf"; ng: "eu.ng"; nh: "eu.nh"; ni: "eu.ni"; nj: "eu.nj"; nk: "eu.nk"; nl: "eu.nl"; nm: "eu.nm"; nn: "eu.nn"; no: "eu.no"; np: "eu.np"; nq: "eu.nq"; nr: "eu.nr"; ns: "eu.ns"; nt: "eu.nt"; nu: "eu.nu"; nv: "eu.nv"; nw: "eu.nw"; nx: "eu.nx"; ny: "eu.ny"; nz: "eu.nz"; oa: "eu.oa"; ob: "eu.ob"; oc: "eu.oc"; od: "eu.od"; oe: "eu.oe"; of: "eu.of"; og: "eu.og"; oh: "eu.oh"; oi: "eu.oi"; oj: "eu.oj"; ok: "eu.ok"; ol: "eu.ol"; om: "eu.om"; on: "eu.on"; oo: "eu.oo"; op: "eu.op"; oq: "eu.oq"; or: "eu.or"; os: "eu.os"; ot: "eu.ot"; ou: "eu.ou"; ov: "eu.ov"; ow: "eu.ow"; ox: "eu.ox"; oy: "eu.oy"; oz: "eu.oz"; pa: "eu.pa"; pb: "eu.pb"; pc: "eu.pc"; pd: "eu.pd"; pe: "eu.pe"; pf: "eu.pf"; pg: "eu.pg"; ph: "eu.ph"; pi: "eu.pi"; pj: "eu.pj"; pk: "eu.pk"; pl: "eu.pl"; pm: "eu.pm"; pn: "eu.pn"; po: "eu.po"; pp: "eu.pp"; pq: "eu.pq"; pr: "eu.pr"; ps: "eu.ps"; pt: "eu.pt"; pu: "eu.pu"; pv: "eu.pv"; pw: "eu.pw"; px: "eu.px"; py: "eu.py"; pz: "eu.pz"; qa: "eu.qa"; qb: "eu.qb"; qc: "eu.qc"; qd: "eu.qd"; qe: "eu.qe"; qf: "eu.qf"; qg: "eu.qg"; qh: "eu.qh"; qi: "eu.qi"; qj: "eu.qj"; qk: "eu.qk"; ql: "eu.ql"; qm: "eu.qm"; qn: "eu.qn"; qo: "eu.qo"; qp: "eu.qp"; qq: "eu.qq"; qr: "eu.qr"; qs: "eu.qs"; qt: "eu.qt"; qu: "eu.qu"; qv: "eu.qv"; qw: "eu.qw"; qx: "eu.qx"; qy: "eu.qy"; qz: "eu.qz"; ra: "eu.ra"; rb: "eu.rb"; rc: "eu.rc"; rd: "eu.rd"; re: "eu.re"; rf: "eu.rf"; rg: "eu.rg"; rh: "eu.rh"; ri: "eu.ri"; rj: "eu.rj"; rk: "eu.rk"; rl: "eu.rl"; rm: "eu.rm"; rn: "eu.rn"; ro: "eu.ro"; rp: "eu.rp"; rq: "eu.rq"; rr: "eu.rr"; rs: "eu.rs"; rt: "eu.rt"; ru: "eu.ru"; rv: "eu.rv"; rw: "eu.rw"; rx: "eu.rx"; ry: "eu.ry"; rz: "eu.rz"; sa: "eu.sa"; sb: "eu.sb"; sc: "eu.sc"; sd: "eu.sd"; se: "eu.se"; sf: "eu.sf"; sg: "eu.sg"; sh: "eu.sh"; si: "eu.si"; sj: "eu.sj"; sk: "eu.sk"; sl: "eu.sl"; sm: "eu.sm"; sn: "eu.sn"; so: "eu.so"; sp: "eu.sp"; sq: "eu.sq"; sr: "eu.sr"; ss: "eu.ss"; st: "eu.st"; su: "eu.su"; sv: "eu.sv"; sw: "eu.sw"; sx: "eu.sx"; sy: "eu.sy"; sz: "eu.sz"; ta: "eu.ta"; tb: "eu.tb"; tc: "eu.tc"; td: "eu.td"; te: "eu.te"; tf: "eu.tf"; tg: "eu.tg"; th: "eu.th"; ti: "eu.ti"; tj: "eu.tj"; tk: "eu.tk"; tl: "eu.tl"; tm: "eu.tm"; tn: "eu.tn"; to: "eu.to"; tp: "eu.tp"; tq: "eu.tq"; tr: "eu.tr"; ts: "eu.ts"; tt: "eu.tt"; tu: "eu.tu"; tv: "eu.tv"; tw: "eu.tw"; tx: "eu.tx"; ty: "eu.ty"; tz: "eu.tz"; ua: "eu.ua"; ub: "eu.ub"; uc: "eu.uc"; ud: "eu.ud"; ue: "eu.ue"; uf: "eu.uf"; ug: "eu.ug"; uh: "eu.uh"; ui: "eu.ui"; uj: "eu.uj"; uk: "eu.uk"; ul: "eu.ul"; um: "eu.um"; un: "eu.un"; uo: "eu.uo"; up: "eu.up"; uq: "eu.uq"; ur: "eu.ur"; us: "eu.us"; ut: "eu.ut"; uu: "eu.uu"; uv: "eu.uv"; uw: "eu.uw"; ux: "eu.ux"; uy: "eu.uy"; uz: "eu.uz"; va: "eu.va"; vb: "eu.vb"; vc: "eu.vc"; vd: "eu.vd"; ve: "eu.ve"; vf: "eu.vf"; vg: "eu.vg"; vh: "eu.vh"; vi: "eu.vi"; vj: "eu.vj"; vk: "eu.vk"; vl: "eu.vl"; vm: "eu.vm"; vn: "eu.vn"; vo: "eu.vo"; vp: "eu.vp"; vq: "eu.vq"; vr: "eu.vr"; vs: "eu.vs"; vt: "eu.vt"; vu: "eu.vu"; vv: "eu.vv"; vw: "eu.vw"; vx: "eu.vx"; vy: "eu.vy"; vz: "eu.vz"; wa: "eu.wa"; wb: "eu.wb"; wc: "eu.wc"; wd: "eu.wd"; we: "eu.we"; wf: "eu.wf"; wg: "eu.wg"; wh: "eu.wh"; wi: "eu.wi"; wj: "eu.wj"; wk: "eu.wk"; wl: "eu.wl"; wm: "eu.wm"; wn: "eu.wn"; wo: "eu.wo"; wp: "eu.wp"; wq: "eu.wq"; wr: "eu.wr"; ws: "eu.ws"; wt: "eu.wt"; wu: "eu.wu"; wv: "eu.wv"; ww: "eu.ww"; wx: "eu.wx"; wy: "eu.wy"; wz: "eu.wz"; xa: "eu.xa"; xb: "eu.xb"; xc: "eu.xc"; xd: "eu.xd"; xe: "eu.xe"; xf: "eu.xf"; xg: "eu.xg"; xh: "eu.xh"; xi: "eu.xi"; xj: "eu.xj"; xk: "eu.xk"; xl: "eu.xl"; xm: "eu.xm"; xn: "eu.xn"; xo: "eu.xo"; xp: "eu.xp"; xq: "eu.xq"; xr: "eu.xr"; xs: "eu.xs"; xt: "eu.xt"; xu: "eu.xu"; xv: "eu.xv"; xw: "eu.xw"; xx: "eu.xx"; xy: "eu.xy"; xz: "eu.xz"; ya: "eu.ya"; yb: "eu.yb"; yc: "eu.yc"; yd: "eu.yd"; ye: "eu.ye"; yf: "eu.yf"; yg: "eu.yg"; yh: "eu.yh"; yi: "eu.yi"; yj: "eu.yj"; yk: "eu.yk"; yl: "eu.yl"; ym: "eu.ym"; yn: "eu.yn"; yo: "eu.yo"; yp: "eu.yp"; yq: "eu.yq"; yr: "eu.yr"; ys: "eu.ys"; yt: "eu.yt"; yu: "eu.yu"; yv: "eu.yv"; yw: "eu.yw"; yx: "eu.yx"; yy: "eu.yy"; yz: "eu.yz"; za: "eu.za"; zb: "eu.zb"; zc: "eu.zc"; zd: "eu.zd"; ze: "eu.ze"; zf: "eu.zf"; zg: "eu.zg"; zh: "eu.zh"; zi: "eu.zi"; zj: "eu.zj"; zk: "eu.zk"; zl: "eu.zl"; zm: "eu.zm"; zn: "eu.zn"; zo: "eu.zo"; zp: "eu.zp"; zq: "eu.zq"; zr: "eu.zr"; zs: "eu.zs"; zt: "eu.zt"; zu: "eu.zu"; zv: "eu.zv"; zw: "eu.zw"; zx: "eu.zx"; zy: "eu.zy"; zz: "eu.zz"; }; ev: { aa: "ev.aa"; ab: "ev.ab"; ac: "ev.ac"; ad: "ev.ad"; ae: "ev.ae"; af: "ev.af"; ag: "ev.ag"; ah: "ev.ah"; ai: "ev.ai"; aj: "ev.aj"; ak: "ev.ak"; al: "ev.al"; am: "ev.am"; an: "ev.an"; ao: "ev.ao"; ap: "ev.ap"; aq: "ev.aq"; ar: "ev.ar"; as: "ev.as"; at: "ev.at"; au: "ev.au"; av: "ev.av"; aw: "ev.aw"; ax: "ev.ax"; ay: "ev.ay"; az: "ev.az"; ba: "ev.ba"; bb: "ev.bb"; bc: "ev.bc"; bd: "ev.bd"; be: "ev.be"; bf: "ev.bf"; bg: "ev.bg"; bh: "ev.bh"; bi: "ev.bi"; bj: "ev.bj"; bk: "ev.bk"; bl: "ev.bl"; bm: "ev.bm"; bn: "ev.bn"; bo: "ev.bo"; bp: "ev.bp"; bq: "ev.bq"; br: "ev.br"; bs: "ev.bs"; bt: "ev.bt"; bu: "ev.bu"; bv: "ev.bv"; bw: "ev.bw"; bx: "ev.bx"; by: "ev.by"; bz: "ev.bz"; ca: "ev.ca"; cb: "ev.cb"; cc: "ev.cc"; cd: "ev.cd"; ce: "ev.ce"; cf: "ev.cf"; cg: "ev.cg"; ch: "ev.ch"; ci: "ev.ci"; cj: "ev.cj"; ck: "ev.ck"; cl: "ev.cl"; cm: "ev.cm"; cn: "ev.cn"; co: "ev.co"; cp: "ev.cp"; cq: "ev.cq"; cr: "ev.cr"; cs: "ev.cs"; ct: "ev.ct"; cu: "ev.cu"; cv: "ev.cv"; cw: "ev.cw"; cx: "ev.cx"; cy: "ev.cy"; cz: "ev.cz"; da: "ev.da"; db: "ev.db"; dc: "ev.dc"; dd: "ev.dd"; de: "ev.de"; df: "ev.df"; dg: "ev.dg"; dh: "ev.dh"; di: "ev.di"; dj: "ev.dj"; dk: "ev.dk"; dl: "ev.dl"; dm: "ev.dm"; dn: "ev.dn"; do: "ev.do"; dp: "ev.dp"; dq: "ev.dq"; dr: "ev.dr"; ds: "ev.ds"; dt: "ev.dt"; du: "ev.du"; dv: "ev.dv"; dw: "ev.dw"; dx: "ev.dx"; dy: "ev.dy"; dz: "ev.dz"; ea: "ev.ea"; eb: "ev.eb"; ec: "ev.ec"; ed: "ev.ed"; ee: "ev.ee"; ef: "ev.ef"; eg: "ev.eg"; eh: "ev.eh"; ei: "ev.ei"; ej: "ev.ej"; ek: "ev.ek"; el: "ev.el"; em: "ev.em"; en: "ev.en"; eo: "ev.eo"; ep: "ev.ep"; eq: "ev.eq"; er: "ev.er"; es: "ev.es"; et: "ev.et"; eu: "ev.eu"; ev: "ev.ev"; ew: "ev.ew"; ex: "ev.ex"; ey: "ev.ey"; ez: "ev.ez"; fa: "ev.fa"; fb: "ev.fb"; fc: "ev.fc"; fd: "ev.fd"; fe: "ev.fe"; ff: "ev.ff"; fg: "ev.fg"; fh: "ev.fh"; fi: "ev.fi"; fj: "ev.fj"; fk: "ev.fk"; fl: "ev.fl"; fm: "ev.fm"; fn: "ev.fn"; fo: "ev.fo"; fp: "ev.fp"; fq: "ev.fq"; fr: "ev.fr"; fs: "ev.fs"; ft: "ev.ft"; fu: "ev.fu"; fv: "ev.fv"; fw: "ev.fw"; fx: "ev.fx"; fy: "ev.fy"; fz: "ev.fz"; ga: "ev.ga"; gb: "ev.gb"; gc: "ev.gc"; gd: "ev.gd"; ge: "ev.ge"; gf: "ev.gf"; gg: "ev.gg"; gh: "ev.gh"; gi: "ev.gi"; gj: "ev.gj"; gk: "ev.gk"; gl: "ev.gl"; gm: "ev.gm"; gn: "ev.gn"; go: "ev.go"; gp: "ev.gp"; gq: "ev.gq"; gr: "ev.gr"; gs: "ev.gs"; gt: "ev.gt"; gu: "ev.gu"; gv: "ev.gv"; gw: "ev.gw"; gx: "ev.gx"; gy: "ev.gy"; gz: "ev.gz"; ha: "ev.ha"; hb: "ev.hb"; hc: "ev.hc"; hd: "ev.hd"; he: "ev.he"; hf: "ev.hf"; hg: "ev.hg"; hh: "ev.hh"; hi: "ev.hi"; hj: "ev.hj"; hk: "ev.hk"; hl: "ev.hl"; hm: "ev.hm"; hn: "ev.hn"; ho: "ev.ho"; hp: "ev.hp"; hq: "ev.hq"; hr: "ev.hr"; hs: "ev.hs"; ht: "ev.ht"; hu: "ev.hu"; hv: "ev.hv"; hw: "ev.hw"; hx: "ev.hx"; hy: "ev.hy"; hz: "ev.hz"; ia: "ev.ia"; ib: "ev.ib"; ic: "ev.ic"; id: "ev.id"; ie: "ev.ie"; if: "ev.if"; ig: "ev.ig"; ih: "ev.ih"; ii: "ev.ii"; ij: "ev.ij"; ik: "ev.ik"; il: "ev.il"; im: "ev.im"; in: "ev.in"; io: "ev.io"; ip: "ev.ip"; iq: "ev.iq"; ir: "ev.ir"; is: "ev.is"; it: "ev.it"; iu: "ev.iu"; iv: "ev.iv"; iw: "ev.iw"; ix: "ev.ix"; iy: "ev.iy"; iz: "ev.iz"; ja: "ev.ja"; jb: "ev.jb"; jc: "ev.jc"; jd: "ev.jd"; je: "ev.je"; jf: "ev.jf"; jg: "ev.jg"; jh: "ev.jh"; ji: "ev.ji"; jj: "ev.jj"; jk: "ev.jk"; jl: "ev.jl"; jm: "ev.jm"; jn: "ev.jn"; jo: "ev.jo"; jp: "ev.jp"; jq: "ev.jq"; jr: "ev.jr"; js: "ev.js"; jt: "ev.jt"; ju: "ev.ju"; jv: "ev.jv"; jw: "ev.jw"; jx: "ev.jx"; jy: "ev.jy"; jz: "ev.jz"; ka: "ev.ka"; kb: "ev.kb"; kc: "ev.kc"; kd: "ev.kd"; ke: "ev.ke"; kf: "ev.kf"; kg: "ev.kg"; kh: "ev.kh"; ki: "ev.ki"; kj: "ev.kj"; kk: "ev.kk"; kl: "ev.kl"; km: "ev.km"; kn: "ev.kn"; ko: "ev.ko"; kp: "ev.kp"; kq: "ev.kq"; kr: "ev.kr"; ks: "ev.ks"; kt: "ev.kt"; ku: "ev.ku"; kv: "ev.kv"; kw: "ev.kw"; kx: "ev.kx"; ky: "ev.ky"; kz: "ev.kz"; la: "ev.la"; lb: "ev.lb"; lc: "ev.lc"; ld: "ev.ld"; le: "ev.le"; lf: "ev.lf"; lg: "ev.lg"; lh: "ev.lh"; li: "ev.li"; lj: "ev.lj"; lk: "ev.lk"; ll: "ev.ll"; lm: "ev.lm"; ln: "ev.ln"; lo: "ev.lo"; lp: "ev.lp"; lq: "ev.lq"; lr: "ev.lr"; ls: "ev.ls"; lt: "ev.lt"; lu: "ev.lu"; lv: "ev.lv"; lw: "ev.lw"; lx: "ev.lx"; ly: "ev.ly"; lz: "ev.lz"; ma: "ev.ma"; mb: "ev.mb"; mc: "ev.mc"; md: "ev.md"; me: "ev.me"; mf: "ev.mf"; mg: "ev.mg"; mh: "ev.mh"; mi: "ev.mi"; mj: "ev.mj"; mk: "ev.mk"; ml: "ev.ml"; mm: "ev.mm"; mn: "ev.mn"; mo: "ev.mo"; mp: "ev.mp"; mq: "ev.mq"; mr: "ev.mr"; ms: "ev.ms"; mt: "ev.mt"; mu: "ev.mu"; mv: "ev.mv"; mw: "ev.mw"; mx: "ev.mx"; my: "ev.my"; mz: "ev.mz"; na: "ev.na"; nb: "ev.nb"; nc: "ev.nc"; nd: "ev.nd"; ne: "ev.ne"; nf: "ev.nf"; ng: "ev.ng"; nh: "ev.nh"; ni: "ev.ni"; nj: "ev.nj"; nk: "ev.nk"; nl: "ev.nl"; nm: "ev.nm"; nn: "ev.nn"; no: "ev.no"; np: "ev.np"; nq: "ev.nq"; nr: "ev.nr"; ns: "ev.ns"; nt: "ev.nt"; nu: "ev.nu"; nv: "ev.nv"; nw: "ev.nw"; nx: "ev.nx"; ny: "ev.ny"; nz: "ev.nz"; oa: "ev.oa"; ob: "ev.ob"; oc: "ev.oc"; od: "ev.od"; oe: "ev.oe"; of: "ev.of"; og: "ev.og"; oh: "ev.oh"; oi: "ev.oi"; oj: "ev.oj"; ok: "ev.ok"; ol: "ev.ol"; om: "ev.om"; on: "ev.on"; oo: "ev.oo"; op: "ev.op"; oq: "ev.oq"; or: "ev.or"; os: "ev.os"; ot: "ev.ot"; ou: "ev.ou"; ov: "ev.ov"; ow: "ev.ow"; ox: "ev.ox"; oy: "ev.oy"; oz: "ev.oz"; pa: "ev.pa"; pb: "ev.pb"; pc: "ev.pc"; pd: "ev.pd"; pe: "ev.pe"; pf: "ev.pf"; pg: "ev.pg"; ph: "ev.ph"; pi: "ev.pi"; pj: "ev.pj"; pk: "ev.pk"; pl: "ev.pl"; pm: "ev.pm"; pn: "ev.pn"; po: "ev.po"; pp: "ev.pp"; pq: "ev.pq"; pr: "ev.pr"; ps: "ev.ps"; pt: "ev.pt"; pu: "ev.pu"; pv: "ev.pv"; pw: "ev.pw"; px: "ev.px"; py: "ev.py"; pz: "ev.pz"; qa: "ev.qa"; qb: "ev.qb"; qc: "ev.qc"; qd: "ev.qd"; qe: "ev.qe"; qf: "ev.qf"; qg: "ev.qg"; qh: "ev.qh"; qi: "ev.qi"; qj: "ev.qj"; qk: "ev.qk"; ql: "ev.ql"; qm: "ev.qm"; qn: "ev.qn"; qo: "ev.qo"; qp: "ev.qp"; qq: "ev.qq"; qr: "ev.qr"; qs: "ev.qs"; qt: "ev.qt"; qu: "ev.qu"; qv: "ev.qv"; qw: "ev.qw"; qx: "ev.qx"; qy: "ev.qy"; qz: "ev.qz"; ra: "ev.ra"; rb: "ev.rb"; rc: "ev.rc"; rd: "ev.rd"; re: "ev.re"; rf: "ev.rf"; rg: "ev.rg"; rh: "ev.rh"; ri: "ev.ri"; rj: "ev.rj"; rk: "ev.rk"; rl: "ev.rl"; rm: "ev.rm"; rn: "ev.rn"; ro: "ev.ro"; rp: "ev.rp"; rq: "ev.rq"; rr: "ev.rr"; rs: "ev.rs"; rt: "ev.rt"; ru: "ev.ru"; rv: "ev.rv"; rw: "ev.rw"; rx: "ev.rx"; ry: "ev.ry"; rz: "ev.rz"; sa: "ev.sa"; sb: "ev.sb"; sc: "ev.sc"; sd: "ev.sd"; se: "ev.se"; sf: "ev.sf"; sg: "ev.sg"; sh: "ev.sh"; si: "ev.si"; sj: "ev.sj"; sk: "ev.sk"; sl: "ev.sl"; sm: "ev.sm"; sn: "ev.sn"; so: "ev.so"; sp: "ev.sp"; sq: "ev.sq"; sr: "ev.sr"; ss: "ev.ss"; st: "ev.st"; su: "ev.su"; sv: "ev.sv"; sw: "ev.sw"; sx: "ev.sx"; sy: "ev.sy"; sz: "ev.sz"; ta: "ev.ta"; tb: "ev.tb"; tc: "ev.tc"; td: "ev.td"; te: "ev.te"; tf: "ev.tf"; tg: "ev.tg"; th: "ev.th"; ti: "ev.ti"; tj: "ev.tj"; tk: "ev.tk"; tl: "ev.tl"; tm: "ev.tm"; tn: "ev.tn"; to: "ev.to"; tp: "ev.tp"; tq: "ev.tq"; tr: "ev.tr"; ts: "ev.ts"; tt: "ev.tt"; tu: "ev.tu"; tv: "ev.tv"; tw: "ev.tw"; tx: "ev.tx"; ty: "ev.ty"; tz: "ev.tz"; ua: "ev.ua"; ub: "ev.ub"; uc: "ev.uc"; ud: "ev.ud"; ue: "ev.ue"; uf: "ev.uf"; ug: "ev.ug"; uh: "ev.uh"; ui: "ev.ui"; uj: "ev.uj"; uk: "ev.uk"; ul: "ev.ul"; um: "ev.um"; un: "ev.un"; uo: "ev.uo"; up: "ev.up"; uq: "ev.uq"; ur: "ev.ur"; us: "ev.us"; ut: "ev.ut"; uu: "ev.uu"; uv: "ev.uv"; uw: "ev.uw"; ux: "ev.ux"; uy: "ev.uy"; uz: "ev.uz"; va: "ev.va"; vb: "ev.vb"; vc: "ev.vc"; vd: "ev.vd"; ve: "ev.ve"; vf: "ev.vf"; vg: "ev.vg"; vh: "ev.vh"; vi: "ev.vi"; vj: "ev.vj"; vk: "ev.vk"; vl: "ev.vl"; vm: "ev.vm"; vn: "ev.vn"; vo: "ev.vo"; vp: "ev.vp"; vq: "ev.vq"; vr: "ev.vr"; vs: "ev.vs"; vt: "ev.vt"; vu: "ev.vu"; vv: "ev.vv"; vw: "ev.vw"; vx: "ev.vx"; vy: "ev.vy"; vz: "ev.vz"; wa: "ev.wa"; wb: "ev.wb"; wc: "ev.wc"; wd: "ev.wd"; we: "ev.we"; wf: "ev.wf"; wg: "ev.wg"; wh: "ev.wh"; wi: "ev.wi"; wj: "ev.wj"; wk: "ev.wk"; wl: "ev.wl"; wm: "ev.wm"; wn: "ev.wn"; wo: "ev.wo"; wp: "ev.wp"; wq: "ev.wq"; wr: "ev.wr"; ws: "ev.ws"; wt: "ev.wt"; wu: "ev.wu"; wv: "ev.wv"; ww: "ev.ww"; wx: "ev.wx"; wy: "ev.wy"; wz: "ev.wz"; xa: "ev.xa"; xb: "ev.xb"; xc: "ev.xc"; xd: "ev.xd"; xe: "ev.xe"; xf: "ev.xf"; xg: "ev.xg"; xh: "ev.xh"; xi: "ev.xi"; xj: "ev.xj"; xk: "ev.xk"; xl: "ev.xl"; xm: "ev.xm"; xn: "ev.xn"; xo: "ev.xo"; xp: "ev.xp"; xq: "ev.xq"; xr: "ev.xr"; xs: "ev.xs"; xt: "ev.xt"; xu: "ev.xu"; xv: "ev.xv"; xw: "ev.xw"; xx: "ev.xx"; xy: "ev.xy"; xz: "ev.xz"; ya: "ev.ya"; yb: "ev.yb"; yc: "ev.yc"; yd: "ev.yd"; ye: "ev.ye"; yf: "ev.yf"; yg: "ev.yg"; yh: "ev.yh"; yi: "ev.yi"; yj: "ev.yj"; yk: "ev.yk"; yl: "ev.yl"; ym: "ev.ym"; yn: "ev.yn"; yo: "ev.yo"; yp: "ev.yp"; yq: "ev.yq"; yr: "ev.yr"; ys: "ev.ys"; yt: "ev.yt"; yu: "ev.yu"; yv: "ev.yv"; yw: "ev.yw"; yx: "ev.yx"; yy: "ev.yy"; yz: "ev.yz"; za: "ev.za"; zb: "ev.zb"; zc: "ev.zc"; zd: "ev.zd"; ze: "ev.ze"; zf: "ev.zf"; zg: "ev.zg"; zh: "ev.zh"; zi: "ev.zi"; zj: "ev.zj"; zk: "ev.zk"; zl: "ev.zl"; zm: "ev.zm"; zn: "ev.zn"; zo: "ev.zo"; zp: "ev.zp"; zq: "ev.zq"; zr: "ev.zr"; zs: "ev.zs"; zt: "ev.zt"; zu: "ev.zu"; zv: "ev.zv"; zw: "ev.zw"; zx: "ev.zx"; zy: "ev.zy"; zz: "ev.zz"; }; ew: { aa: "ew.aa"; ab: "ew.ab"; ac: "ew.ac"; ad: "ew.ad"; ae: "ew.ae"; af: "ew.af"; ag: "ew.ag"; ah: "ew.ah"; ai: "ew.ai"; aj: "ew.aj"; ak: "ew.ak"; al: "ew.al"; am: "ew.am"; an: "ew.an"; ao: "ew.ao"; ap: "ew.ap"; aq: "ew.aq"; ar: "ew.ar"; as: "ew.as"; at: "ew.at"; au: "ew.au"; av: "ew.av"; aw: "ew.aw"; ax: "ew.ax"; ay: "ew.ay"; az: "ew.az"; ba: "ew.ba"; bb: "ew.bb"; bc: "ew.bc"; bd: "ew.bd"; be: "ew.be"; bf: "ew.bf"; bg: "ew.bg"; bh: "ew.bh"; bi: "ew.bi"; bj: "ew.bj"; bk: "ew.bk"; bl: "ew.bl"; bm: "ew.bm"; bn: "ew.bn"; bo: "ew.bo"; bp: "ew.bp"; bq: "ew.bq"; br: "ew.br"; bs: "ew.bs"; bt: "ew.bt"; bu: "ew.bu"; bv: "ew.bv"; bw: "ew.bw"; bx: "ew.bx"; by: "ew.by"; bz: "ew.bz"; ca: "ew.ca"; cb: "ew.cb"; cc: "ew.cc"; cd: "ew.cd"; ce: "ew.ce"; cf: "ew.cf"; cg: "ew.cg"; ch: "ew.ch"; ci: "ew.ci"; cj: "ew.cj"; ck: "ew.ck"; cl: "ew.cl"; cm: "ew.cm"; cn: "ew.cn"; co: "ew.co"; cp: "ew.cp"; cq: "ew.cq"; cr: "ew.cr"; cs: "ew.cs"; ct: "ew.ct"; cu: "ew.cu"; cv: "ew.cv"; cw: "ew.cw"; cx: "ew.cx"; cy: "ew.cy"; cz: "ew.cz"; da: "ew.da"; db: "ew.db"; dc: "ew.dc"; dd: "ew.dd"; de: "ew.de"; df: "ew.df"; dg: "ew.dg"; dh: "ew.dh"; di: "ew.di"; dj: "ew.dj"; dk: "ew.dk"; dl: "ew.dl"; dm: "ew.dm"; dn: "ew.dn"; do: "ew.do"; dp: "ew.dp"; dq: "ew.dq"; dr: "ew.dr"; ds: "ew.ds"; dt: "ew.dt"; du: "ew.du"; dv: "ew.dv"; dw: "ew.dw"; dx: "ew.dx"; dy: "ew.dy"; dz: "ew.dz"; ea: "ew.ea"; eb: "ew.eb"; ec: "ew.ec"; ed: "ew.ed"; ee: "ew.ee"; ef: "ew.ef"; eg: "ew.eg"; eh: "ew.eh"; ei: "ew.ei"; ej: "ew.ej"; ek: "ew.ek"; el: "ew.el"; em: "ew.em"; en: "ew.en"; eo: "ew.eo"; ep: "ew.ep"; eq: "ew.eq"; er: "ew.er"; es: "ew.es"; et: "ew.et"; eu: "ew.eu"; ev: "ew.ev"; ew: "ew.ew"; ex: "ew.ex"; ey: "ew.ey"; ez: "ew.ez"; fa: "ew.fa"; fb: "ew.fb"; fc: "ew.fc"; fd: "ew.fd"; fe: "ew.fe"; ff: "ew.ff"; fg: "ew.fg"; fh: "ew.fh"; fi: "ew.fi"; fj: "ew.fj"; fk: "ew.fk"; fl: "ew.fl"; fm: "ew.fm"; fn: "ew.fn"; fo: "ew.fo"; fp: "ew.fp"; fq: "ew.fq"; fr: "ew.fr"; fs: "ew.fs"; ft: "ew.ft"; fu: "ew.fu"; fv: "ew.fv"; fw: "ew.fw"; fx: "ew.fx"; fy: "ew.fy"; fz: "ew.fz"; ga: "ew.ga"; gb: "ew.gb"; gc: "ew.gc"; gd: "ew.gd"; ge: "ew.ge"; gf: "ew.gf"; gg: "ew.gg"; gh: "ew.gh"; gi: "ew.gi"; gj: "ew.gj"; gk: "ew.gk"; gl: "ew.gl"; gm: "ew.gm"; gn: "ew.gn"; go: "ew.go"; gp: "ew.gp"; gq: "ew.gq"; gr: "ew.gr"; gs: "ew.gs"; gt: "ew.gt"; gu: "ew.gu"; gv: "ew.gv"; gw: "ew.gw"; gx: "ew.gx"; gy: "ew.gy"; gz: "ew.gz"; ha: "ew.ha"; hb: "ew.hb"; hc: "ew.hc"; hd: "ew.hd"; he: "ew.he"; hf: "ew.hf"; hg: "ew.hg"; hh: "ew.hh"; hi: "ew.hi"; hj: "ew.hj"; hk: "ew.hk"; hl: "ew.hl"; hm: "ew.hm"; hn: "ew.hn"; ho: "ew.ho"; hp: "ew.hp"; hq: "ew.hq"; hr: "ew.hr"; hs: "ew.hs"; ht: "ew.ht"; hu: "ew.hu"; hv: "ew.hv"; hw: "ew.hw"; hx: "ew.hx"; hy: "ew.hy"; hz: "ew.hz"; ia: "ew.ia"; ib: "ew.ib"; ic: "ew.ic"; id: "ew.id"; ie: "ew.ie"; if: "ew.if"; ig: "ew.ig"; ih: "ew.ih"; ii: "ew.ii"; ij: "ew.ij"; ik: "ew.ik"; il: "ew.il"; im: "ew.im"; in: "ew.in"; io: "ew.io"; ip: "ew.ip"; iq: "ew.iq"; ir: "ew.ir"; is: "ew.is"; it: "ew.it"; iu: "ew.iu"; iv: "ew.iv"; iw: "ew.iw"; ix: "ew.ix"; iy: "ew.iy"; iz: "ew.iz"; ja: "ew.ja"; jb: "ew.jb"; jc: "ew.jc"; jd: "ew.jd"; je: "ew.je"; jf: "ew.jf"; jg: "ew.jg"; jh: "ew.jh"; ji: "ew.ji"; jj: "ew.jj"; jk: "ew.jk"; jl: "ew.jl"; jm: "ew.jm"; jn: "ew.jn"; jo: "ew.jo"; jp: "ew.jp"; jq: "ew.jq"; jr: "ew.jr"; js: "ew.js"; jt: "ew.jt"; ju: "ew.ju"; jv: "ew.jv"; jw: "ew.jw"; jx: "ew.jx"; jy: "ew.jy"; jz: "ew.jz"; ka: "ew.ka"; kb: "ew.kb"; kc: "ew.kc"; kd: "ew.kd"; ke: "ew.ke"; kf: "ew.kf"; kg: "ew.kg"; kh: "ew.kh"; ki: "ew.ki"; kj: "ew.kj"; kk: "ew.kk"; kl: "ew.kl"; km: "ew.km"; kn: "ew.kn"; ko: "ew.ko"; kp: "ew.kp"; kq: "ew.kq"; kr: "ew.kr"; ks: "ew.ks"; kt: "ew.kt"; ku: "ew.ku"; kv: "ew.kv"; kw: "ew.kw"; kx: "ew.kx"; ky: "ew.ky"; kz: "ew.kz"; la: "ew.la"; lb: "ew.lb"; lc: "ew.lc"; ld: "ew.ld"; le: "ew.le"; lf: "ew.lf"; lg: "ew.lg"; lh: "ew.lh"; li: "ew.li"; lj: "ew.lj"; lk: "ew.lk"; ll: "ew.ll"; lm: "ew.lm"; ln: "ew.ln"; lo: "ew.lo"; lp: "ew.lp"; lq: "ew.lq"; lr: "ew.lr"; ls: "ew.ls"; lt: "ew.lt"; lu: "ew.lu"; lv: "ew.lv"; lw: "ew.lw"; lx: "ew.lx"; ly: "ew.ly"; lz: "ew.lz"; ma: "ew.ma"; mb: "ew.mb"; mc: "ew.mc"; md: "ew.md"; me: "ew.me"; mf: "ew.mf"; mg: "ew.mg"; mh: "ew.mh"; mi: "ew.mi"; mj: "ew.mj"; mk: "ew.mk"; ml: "ew.ml"; mm: "ew.mm"; mn: "ew.mn"; mo: "ew.mo"; mp: "ew.mp"; mq: "ew.mq"; mr: "ew.mr"; ms: "ew.ms"; mt: "ew.mt"; mu: "ew.mu"; mv: "ew.mv"; mw: "ew.mw"; mx: "ew.mx"; my: "ew.my"; mz: "ew.mz"; na: "ew.na"; nb: "ew.nb"; nc: "ew.nc"; nd: "ew.nd"; ne: "ew.ne"; nf: "ew.nf"; ng: "ew.ng"; nh: "ew.nh"; ni: "ew.ni"; nj: "ew.nj"; nk: "ew.nk"; nl: "ew.nl"; nm: "ew.nm"; nn: "ew.nn"; no: "ew.no"; np: "ew.np"; nq: "ew.nq"; nr: "ew.nr"; ns: "ew.ns"; nt: "ew.nt"; nu: "ew.nu"; nv: "ew.nv"; nw: "ew.nw"; nx: "ew.nx"; ny: "ew.ny"; nz: "ew.nz"; oa: "ew.oa"; ob: "ew.ob"; oc: "ew.oc"; od: "ew.od"; oe: "ew.oe"; of: "ew.of"; og: "ew.og"; oh: "ew.oh"; oi: "ew.oi"; oj: "ew.oj"; ok: "ew.ok"; ol: "ew.ol"; om: "ew.om"; on: "ew.on"; oo: "ew.oo"; op: "ew.op"; oq: "ew.oq"; or: "ew.or"; os: "ew.os"; ot: "ew.ot"; ou: "ew.ou"; ov: "ew.ov"; ow: "ew.ow"; ox: "ew.ox"; oy: "ew.oy"; oz: "ew.oz"; pa: "ew.pa"; pb: "ew.pb"; pc: "ew.pc"; pd: "ew.pd"; pe: "ew.pe"; pf: "ew.pf"; pg: "ew.pg"; ph: "ew.ph"; pi: "ew.pi"; pj: "ew.pj"; pk: "ew.pk"; pl: "ew.pl"; pm: "ew.pm"; pn: "ew.pn"; po: "ew.po"; pp: "ew.pp"; pq: "ew.pq"; pr: "ew.pr"; ps: "ew.ps"; pt: "ew.pt"; pu: "ew.pu"; pv: "ew.pv"; pw: "ew.pw"; px: "ew.px"; py: "ew.py"; pz: "ew.pz"; qa: "ew.qa"; qb: "ew.qb"; qc: "ew.qc"; qd: "ew.qd"; qe: "ew.qe"; qf: "ew.qf"; qg: "ew.qg"; qh: "ew.qh"; qi: "ew.qi"; qj: "ew.qj"; qk: "ew.qk"; ql: "ew.ql"; qm: "ew.qm"; qn: "ew.qn"; qo: "ew.qo"; qp: "ew.qp"; qq: "ew.qq"; qr: "ew.qr"; qs: "ew.qs"; qt: "ew.qt"; qu: "ew.qu"; qv: "ew.qv"; qw: "ew.qw"; qx: "ew.qx"; qy: "ew.qy"; qz: "ew.qz"; ra: "ew.ra"; rb: "ew.rb"; rc: "ew.rc"; rd: "ew.rd"; re: "ew.re"; rf: "ew.rf"; rg: "ew.rg"; rh: "ew.rh"; ri: "ew.ri"; rj: "ew.rj"; rk: "ew.rk"; rl: "ew.rl"; rm: "ew.rm"; rn: "ew.rn"; ro: "ew.ro"; rp: "ew.rp"; rq: "ew.rq"; rr: "ew.rr"; rs: "ew.rs"; rt: "ew.rt"; ru: "ew.ru"; rv: "ew.rv"; rw: "ew.rw"; rx: "ew.rx"; ry: "ew.ry"; rz: "ew.rz"; sa: "ew.sa"; sb: "ew.sb"; sc: "ew.sc"; sd: "ew.sd"; se: "ew.se"; sf: "ew.sf"; sg: "ew.sg"; sh: "ew.sh"; si: "ew.si"; sj: "ew.sj"; sk: "ew.sk"; sl: "ew.sl"; sm: "ew.sm"; sn: "ew.sn"; so: "ew.so"; sp: "ew.sp"; sq: "ew.sq"; sr: "ew.sr"; ss: "ew.ss"; st: "ew.st"; su: "ew.su"; sv: "ew.sv"; sw: "ew.sw"; sx: "ew.sx"; sy: "ew.sy"; sz: "ew.sz"; ta: "ew.ta"; tb: "ew.tb"; tc: "ew.tc"; td: "ew.td"; te: "ew.te"; tf: "ew.tf"; tg: "ew.tg"; th: "ew.th"; ti: "ew.ti"; tj: "ew.tj"; tk: "ew.tk"; tl: "ew.tl"; tm: "ew.tm"; tn: "ew.tn"; to: "ew.to"; tp: "ew.tp"; tq: "ew.tq"; tr: "ew.tr"; ts: "ew.ts"; tt: "ew.tt"; tu: "ew.tu"; tv: "ew.tv"; tw: "ew.tw"; tx: "ew.tx"; ty: "ew.ty"; tz: "ew.tz"; ua: "ew.ua"; ub: "ew.ub"; uc: "ew.uc"; ud: "ew.ud"; ue: "ew.ue"; uf: "ew.uf"; ug: "ew.ug"; uh: "ew.uh"; ui: "ew.ui"; uj: "ew.uj"; uk: "ew.uk"; ul: "ew.ul"; um: "ew.um"; un: "ew.un"; uo: "ew.uo"; up: "ew.up"; uq: "ew.uq"; ur: "ew.ur"; us: "ew.us"; ut: "ew.ut"; uu: "ew.uu"; uv: "ew.uv"; uw: "ew.uw"; ux: "ew.ux"; uy: "ew.uy"; uz: "ew.uz"; va: "ew.va"; vb: "ew.vb"; vc: "ew.vc"; vd: "ew.vd"; ve: "ew.ve"; vf: "ew.vf"; vg: "ew.vg"; vh: "ew.vh"; vi: "ew.vi"; vj: "ew.vj"; vk: "ew.vk"; vl: "ew.vl"; vm: "ew.vm"; vn: "ew.vn"; vo: "ew.vo"; vp: "ew.vp"; vq: "ew.vq"; vr: "ew.vr"; vs: "ew.vs"; vt: "ew.vt"; vu: "ew.vu"; vv: "ew.vv"; vw: "ew.vw"; vx: "ew.vx"; vy: "ew.vy"; vz: "ew.vz"; wa: "ew.wa"; wb: "ew.wb"; wc: "ew.wc"; wd: "ew.wd"; we: "ew.we"; wf: "ew.wf"; wg: "ew.wg"; wh: "ew.wh"; wi: "ew.wi"; wj: "ew.wj"; wk: "ew.wk"; wl: "ew.wl"; wm: "ew.wm"; wn: "ew.wn"; wo: "ew.wo"; wp: "ew.wp"; wq: "ew.wq"; wr: "ew.wr"; ws: "ew.ws"; wt: "ew.wt"; wu: "ew.wu"; wv: "ew.wv"; ww: "ew.ww"; wx: "ew.wx"; wy: "ew.wy"; wz: "ew.wz"; xa: "ew.xa"; xb: "ew.xb"; xc: "ew.xc"; xd: "ew.xd"; xe: "ew.xe"; xf: "ew.xf"; xg: "ew.xg"; xh: "ew.xh"; xi: "ew.xi"; xj: "ew.xj"; xk: "ew.xk"; xl: "ew.xl"; xm: "ew.xm"; xn: "ew.xn"; xo: "ew.xo"; xp: "ew.xp"; xq: "ew.xq"; xr: "ew.xr"; xs: "ew.xs"; xt: "ew.xt"; xu: "ew.xu"; xv: "ew.xv"; xw: "ew.xw"; xx: "ew.xx"; xy: "ew.xy"; xz: "ew.xz"; ya: "ew.ya"; yb: "ew.yb"; yc: "ew.yc"; yd: "ew.yd"; ye: "ew.ye"; yf: "ew.yf"; yg: "ew.yg"; yh: "ew.yh"; yi: "ew.yi"; yj: "ew.yj"; yk: "ew.yk"; yl: "ew.yl"; ym: "ew.ym"; yn: "ew.yn"; yo: "ew.yo"; yp: "ew.yp"; yq: "ew.yq"; yr: "ew.yr"; ys: "ew.ys"; yt: "ew.yt"; yu: "ew.yu"; yv: "ew.yv"; yw: "ew.yw"; yx: "ew.yx"; yy: "ew.yy"; yz: "ew.yz"; za: "ew.za"; zb: "ew.zb"; zc: "ew.zc"; zd: "ew.zd"; ze: "ew.ze"; zf: "ew.zf"; zg: "ew.zg"; zh: "ew.zh"; zi: "ew.zi"; zj: "ew.zj"; zk: "ew.zk"; zl: "ew.zl"; zm: "ew.zm"; zn: "ew.zn"; zo: "ew.zo"; zp: "ew.zp"; zq: "ew.zq"; zr: "ew.zr"; zs: "ew.zs"; zt: "ew.zt"; zu: "ew.zu"; zv: "ew.zv"; zw: "ew.zw"; zx: "ew.zx"; zy: "ew.zy"; zz: "ew.zz"; }; ex: { aa: "ex.aa"; ab: "ex.ab"; ac: "ex.ac"; ad: "ex.ad"; ae: "ex.ae"; af: "ex.af"; ag: "ex.ag"; ah: "ex.ah"; ai: "ex.ai"; aj: "ex.aj"; ak: "ex.ak"; al: "ex.al"; am: "ex.am"; an: "ex.an"; ao: "ex.ao"; ap: "ex.ap"; aq: "ex.aq"; ar: "ex.ar"; as: "ex.as"; at: "ex.at"; au: "ex.au"; av: "ex.av"; aw: "ex.aw"; ax: "ex.ax"; ay: "ex.ay"; az: "ex.az"; ba: "ex.ba"; bb: "ex.bb"; bc: "ex.bc"; bd: "ex.bd"; be: "ex.be"; bf: "ex.bf"; bg: "ex.bg"; bh: "ex.bh"; bi: "ex.bi"; bj: "ex.bj"; bk: "ex.bk"; bl: "ex.bl"; bm: "ex.bm"; bn: "ex.bn"; bo: "ex.bo"; bp: "ex.bp"; bq: "ex.bq"; br: "ex.br"; bs: "ex.bs"; bt: "ex.bt"; bu: "ex.bu"; bv: "ex.bv"; bw: "ex.bw"; bx: "ex.bx"; by: "ex.by"; bz: "ex.bz"; ca: "ex.ca"; cb: "ex.cb"; cc: "ex.cc"; cd: "ex.cd"; ce: "ex.ce"; cf: "ex.cf"; cg: "ex.cg"; ch: "ex.ch"; ci: "ex.ci"; cj: "ex.cj"; ck: "ex.ck"; cl: "ex.cl"; cm: "ex.cm"; cn: "ex.cn"; co: "ex.co"; cp: "ex.cp"; cq: "ex.cq"; cr: "ex.cr"; cs: "ex.cs"; ct: "ex.ct"; cu: "ex.cu"; cv: "ex.cv"; cw: "ex.cw"; cx: "ex.cx"; cy: "ex.cy"; cz: "ex.cz"; da: "ex.da"; db: "ex.db"; dc: "ex.dc"; dd: "ex.dd"; de: "ex.de"; df: "ex.df"; dg: "ex.dg"; dh: "ex.dh"; di: "ex.di"; dj: "ex.dj"; dk: "ex.dk"; dl: "ex.dl"; dm: "ex.dm"; dn: "ex.dn"; do: "ex.do"; dp: "ex.dp"; dq: "ex.dq"; dr: "ex.dr"; ds: "ex.ds"; dt: "ex.dt"; du: "ex.du"; dv: "ex.dv"; dw: "ex.dw"; dx: "ex.dx"; dy: "ex.dy"; dz: "ex.dz"; ea: "ex.ea"; eb: "ex.eb"; ec: "ex.ec"; ed: "ex.ed"; ee: "ex.ee"; ef: "ex.ef"; eg: "ex.eg"; eh: "ex.eh"; ei: "ex.ei"; ej: "ex.ej"; ek: "ex.ek"; el: "ex.el"; em: "ex.em"; en: "ex.en"; eo: "ex.eo"; ep: "ex.ep"; eq: "ex.eq"; er: "ex.er"; es: "ex.es"; et: "ex.et"; eu: "ex.eu"; ev: "ex.ev"; ew: "ex.ew"; ex: "ex.ex"; ey: "ex.ey"; ez: "ex.ez"; fa: "ex.fa"; fb: "ex.fb"; fc: "ex.fc"; fd: "ex.fd"; fe: "ex.fe"; ff: "ex.ff"; fg: "ex.fg"; fh: "ex.fh"; fi: "ex.fi"; fj: "ex.fj"; fk: "ex.fk"; fl: "ex.fl"; fm: "ex.fm"; fn: "ex.fn"; fo: "ex.fo"; fp: "ex.fp"; fq: "ex.fq"; fr: "ex.fr"; fs: "ex.fs"; ft: "ex.ft"; fu: "ex.fu"; fv: "ex.fv"; fw: "ex.fw"; fx: "ex.fx"; fy: "ex.fy"; fz: "ex.fz"; ga: "ex.ga"; gb: "ex.gb"; gc: "ex.gc"; gd: "ex.gd"; ge: "ex.ge"; gf: "ex.gf"; gg: "ex.gg"; gh: "ex.gh"; gi: "ex.gi"; gj: "ex.gj"; gk: "ex.gk"; gl: "ex.gl"; gm: "ex.gm"; gn: "ex.gn"; go: "ex.go"; gp: "ex.gp"; gq: "ex.gq"; gr: "ex.gr"; gs: "ex.gs"; gt: "ex.gt"; gu: "ex.gu"; gv: "ex.gv"; gw: "ex.gw"; gx: "ex.gx"; gy: "ex.gy"; gz: "ex.gz"; ha: "ex.ha"; hb: "ex.hb"; hc: "ex.hc"; hd: "ex.hd"; he: "ex.he"; hf: "ex.hf"; hg: "ex.hg"; hh: "ex.hh"; hi: "ex.hi"; hj: "ex.hj"; hk: "ex.hk"; hl: "ex.hl"; hm: "ex.hm"; hn: "ex.hn"; ho: "ex.ho"; hp: "ex.hp"; hq: "ex.hq"; hr: "ex.hr"; hs: "ex.hs"; ht: "ex.ht"; hu: "ex.hu"; hv: "ex.hv"; hw: "ex.hw"; hx: "ex.hx"; hy: "ex.hy"; hz: "ex.hz"; ia: "ex.ia"; ib: "ex.ib"; ic: "ex.ic"; id: "ex.id"; ie: "ex.ie"; if: "ex.if"; ig: "ex.ig"; ih: "ex.ih"; ii: "ex.ii"; ij: "ex.ij"; ik: "ex.ik"; il: "ex.il"; im: "ex.im"; in: "ex.in"; io: "ex.io"; ip: "ex.ip"; iq: "ex.iq"; ir: "ex.ir"; is: "ex.is"; it: "ex.it"; iu: "ex.iu"; iv: "ex.iv"; iw: "ex.iw"; ix: "ex.ix"; iy: "ex.iy"; iz: "ex.iz"; ja: "ex.ja"; jb: "ex.jb"; jc: "ex.jc"; jd: "ex.jd"; je: "ex.je"; jf: "ex.jf"; jg: "ex.jg"; jh: "ex.jh"; ji: "ex.ji"; jj: "ex.jj"; jk: "ex.jk"; jl: "ex.jl"; jm: "ex.jm"; jn: "ex.jn"; jo: "ex.jo"; jp: "ex.jp"; jq: "ex.jq"; jr: "ex.jr"; js: "ex.js"; jt: "ex.jt"; ju: "ex.ju"; jv: "ex.jv"; jw: "ex.jw"; jx: "ex.jx"; jy: "ex.jy"; jz: "ex.jz"; ka: "ex.ka"; kb: "ex.kb"; kc: "ex.kc"; kd: "ex.kd"; ke: "ex.ke"; kf: "ex.kf"; kg: "ex.kg"; kh: "ex.kh"; ki: "ex.ki"; kj: "ex.kj"; kk: "ex.kk"; kl: "ex.kl"; km: "ex.km"; kn: "ex.kn"; ko: "ex.ko"; kp: "ex.kp"; kq: "ex.kq"; kr: "ex.kr"; ks: "ex.ks"; kt: "ex.kt"; ku: "ex.ku"; kv: "ex.kv"; kw: "ex.kw"; kx: "ex.kx"; ky: "ex.ky"; kz: "ex.kz"; la: "ex.la"; lb: "ex.lb"; lc: "ex.lc"; ld: "ex.ld"; le: "ex.le"; lf: "ex.lf"; lg: "ex.lg"; lh: "ex.lh"; li: "ex.li"; lj: "ex.lj"; lk: "ex.lk"; ll: "ex.ll"; lm: "ex.lm"; ln: "ex.ln"; lo: "ex.lo"; lp: "ex.lp"; lq: "ex.lq"; lr: "ex.lr"; ls: "ex.ls"; lt: "ex.lt"; lu: "ex.lu"; lv: "ex.lv"; lw: "ex.lw"; lx: "ex.lx"; ly: "ex.ly"; lz: "ex.lz"; ma: "ex.ma"; mb: "ex.mb"; mc: "ex.mc"; md: "ex.md"; me: "ex.me"; mf: "ex.mf"; mg: "ex.mg"; mh: "ex.mh"; mi: "ex.mi"; mj: "ex.mj"; mk: "ex.mk"; ml: "ex.ml"; mm: "ex.mm"; mn: "ex.mn"; mo: "ex.mo"; mp: "ex.mp"; mq: "ex.mq"; mr: "ex.mr"; ms: "ex.ms"; mt: "ex.mt"; mu: "ex.mu"; mv: "ex.mv"; mw: "ex.mw"; mx: "ex.mx"; my: "ex.my"; mz: "ex.mz"; na: "ex.na"; nb: "ex.nb"; nc: "ex.nc"; nd: "ex.nd"; ne: "ex.ne"; nf: "ex.nf"; ng: "ex.ng"; nh: "ex.nh"; ni: "ex.ni"; nj: "ex.nj"; nk: "ex.nk"; nl: "ex.nl"; nm: "ex.nm"; nn: "ex.nn"; no: "ex.no"; np: "ex.np"; nq: "ex.nq"; nr: "ex.nr"; ns: "ex.ns"; nt: "ex.nt"; nu: "ex.nu"; nv: "ex.nv"; nw: "ex.nw"; nx: "ex.nx"; ny: "ex.ny"; nz: "ex.nz"; oa: "ex.oa"; ob: "ex.ob"; oc: "ex.oc"; od: "ex.od"; oe: "ex.oe"; of: "ex.of"; og: "ex.og"; oh: "ex.oh"; oi: "ex.oi"; oj: "ex.oj"; ok: "ex.ok"; ol: "ex.ol"; om: "ex.om"; on: "ex.on"; oo: "ex.oo"; op: "ex.op"; oq: "ex.oq"; or: "ex.or"; os: "ex.os"; ot: "ex.ot"; ou: "ex.ou"; ov: "ex.ov"; ow: "ex.ow"; ox: "ex.ox"; oy: "ex.oy"; oz: "ex.oz"; pa: "ex.pa"; pb: "ex.pb"; pc: "ex.pc"; pd: "ex.pd"; pe: "ex.pe"; pf: "ex.pf"; pg: "ex.pg"; ph: "ex.ph"; pi: "ex.pi"; pj: "ex.pj"; pk: "ex.pk"; pl: "ex.pl"; pm: "ex.pm"; pn: "ex.pn"; po: "ex.po"; pp: "ex.pp"; pq: "ex.pq"; pr: "ex.pr"; ps: "ex.ps"; pt: "ex.pt"; pu: "ex.pu"; pv: "ex.pv"; pw: "ex.pw"; px: "ex.px"; py: "ex.py"; pz: "ex.pz"; qa: "ex.qa"; qb: "ex.qb"; qc: "ex.qc"; qd: "ex.qd"; qe: "ex.qe"; qf: "ex.qf"; qg: "ex.qg"; qh: "ex.qh"; qi: "ex.qi"; qj: "ex.qj"; qk: "ex.qk"; ql: "ex.ql"; qm: "ex.qm"; qn: "ex.qn"; qo: "ex.qo"; qp: "ex.qp"; qq: "ex.qq"; qr: "ex.qr"; qs: "ex.qs"; qt: "ex.qt"; qu: "ex.qu"; qv: "ex.qv"; qw: "ex.qw"; qx: "ex.qx"; qy: "ex.qy"; qz: "ex.qz"; ra: "ex.ra"; rb: "ex.rb"; rc: "ex.rc"; rd: "ex.rd"; re: "ex.re"; rf: "ex.rf"; rg: "ex.rg"; rh: "ex.rh"; ri: "ex.ri"; rj: "ex.rj"; rk: "ex.rk"; rl: "ex.rl"; rm: "ex.rm"; rn: "ex.rn"; ro: "ex.ro"; rp: "ex.rp"; rq: "ex.rq"; rr: "ex.rr"; rs: "ex.rs"; rt: "ex.rt"; ru: "ex.ru"; rv: "ex.rv"; rw: "ex.rw"; rx: "ex.rx"; ry: "ex.ry"; rz: "ex.rz"; sa: "ex.sa"; sb: "ex.sb"; sc: "ex.sc"; sd: "ex.sd"; se: "ex.se"; sf: "ex.sf"; sg: "ex.sg"; sh: "ex.sh"; si: "ex.si"; sj: "ex.sj"; sk: "ex.sk"; sl: "ex.sl"; sm: "ex.sm"; sn: "ex.sn"; so: "ex.so"; sp: "ex.sp"; sq: "ex.sq"; sr: "ex.sr"; ss: "ex.ss"; st: "ex.st"; su: "ex.su"; sv: "ex.sv"; sw: "ex.sw"; sx: "ex.sx"; sy: "ex.sy"; sz: "ex.sz"; ta: "ex.ta"; tb: "ex.tb"; tc: "ex.tc"; td: "ex.td"; te: "ex.te"; tf: "ex.tf"; tg: "ex.tg"; th: "ex.th"; ti: "ex.ti"; tj: "ex.tj"; tk: "ex.tk"; tl: "ex.tl"; tm: "ex.tm"; tn: "ex.tn"; to: "ex.to"; tp: "ex.tp"; tq: "ex.tq"; tr: "ex.tr"; ts: "ex.ts"; tt: "ex.tt"; tu: "ex.tu"; tv: "ex.tv"; tw: "ex.tw"; tx: "ex.tx"; ty: "ex.ty"; tz: "ex.tz"; ua: "ex.ua"; ub: "ex.ub"; uc: "ex.uc"; ud: "ex.ud"; ue: "ex.ue"; uf: "ex.uf"; ug: "ex.ug"; uh: "ex.uh"; ui: "ex.ui"; uj: "ex.uj"; uk: "ex.uk"; ul: "ex.ul"; um: "ex.um"; un: "ex.un"; uo: "ex.uo"; up: "ex.up"; uq: "ex.uq"; ur: "ex.ur"; us: "ex.us"; ut: "ex.ut"; uu: "ex.uu"; uv: "ex.uv"; uw: "ex.uw"; ux: "ex.ux"; uy: "ex.uy"; uz: "ex.uz"; va: "ex.va"; vb: "ex.vb"; vc: "ex.vc"; vd: "ex.vd"; ve: "ex.ve"; vf: "ex.vf"; vg: "ex.vg"; vh: "ex.vh"; vi: "ex.vi"; vj: "ex.vj"; vk: "ex.vk"; vl: "ex.vl"; vm: "ex.vm"; vn: "ex.vn"; vo: "ex.vo"; vp: "ex.vp"; vq: "ex.vq"; vr: "ex.vr"; vs: "ex.vs"; vt: "ex.vt"; vu: "ex.vu"; vv: "ex.vv"; vw: "ex.vw"; vx: "ex.vx"; vy: "ex.vy"; vz: "ex.vz"; wa: "ex.wa"; wb: "ex.wb"; wc: "ex.wc"; wd: "ex.wd"; we: "ex.we"; wf: "ex.wf"; wg: "ex.wg"; wh: "ex.wh"; wi: "ex.wi"; wj: "ex.wj"; wk: "ex.wk"; wl: "ex.wl"; wm: "ex.wm"; wn: "ex.wn"; wo: "ex.wo"; wp: "ex.wp"; wq: "ex.wq"; wr: "ex.wr"; ws: "ex.ws"; wt: "ex.wt"; wu: "ex.wu"; wv: "ex.wv"; ww: "ex.ww"; wx: "ex.wx"; wy: "ex.wy"; wz: "ex.wz"; xa: "ex.xa"; xb: "ex.xb"; xc: "ex.xc"; xd: "ex.xd"; xe: "ex.xe"; xf: "ex.xf"; xg: "ex.xg"; xh: "ex.xh"; xi: "ex.xi"; xj: "ex.xj"; xk: "ex.xk"; xl: "ex.xl"; xm: "ex.xm"; xn: "ex.xn"; xo: "ex.xo"; xp: "ex.xp"; xq: "ex.xq"; xr: "ex.xr"; xs: "ex.xs"; xt: "ex.xt"; xu: "ex.xu"; xv: "ex.xv"; xw: "ex.xw"; xx: "ex.xx"; xy: "ex.xy"; xz: "ex.xz"; ya: "ex.ya"; yb: "ex.yb"; yc: "ex.yc"; yd: "ex.yd"; ye: "ex.ye"; yf: "ex.yf"; yg: "ex.yg"; yh: "ex.yh"; yi: "ex.yi"; yj: "ex.yj"; yk: "ex.yk"; yl: "ex.yl"; ym: "ex.ym"; yn: "ex.yn"; yo: "ex.yo"; yp: "ex.yp"; yq: "ex.yq"; yr: "ex.yr"; ys: "ex.ys"; yt: "ex.yt"; yu: "ex.yu"; yv: "ex.yv"; yw: "ex.yw"; yx: "ex.yx"; yy: "ex.yy"; yz: "ex.yz"; za: "ex.za"; zb: "ex.zb"; zc: "ex.zc"; zd: "ex.zd"; ze: "ex.ze"; zf: "ex.zf"; zg: "ex.zg"; zh: "ex.zh"; zi: "ex.zi"; zj: "ex.zj"; zk: "ex.zk"; zl: "ex.zl"; zm: "ex.zm"; zn: "ex.zn"; zo: "ex.zo"; zp: "ex.zp"; zq: "ex.zq"; zr: "ex.zr"; zs: "ex.zs"; zt: "ex.zt"; zu: "ex.zu"; zv: "ex.zv"; zw: "ex.zw"; zx: "ex.zx"; zy: "ex.zy"; zz: "ex.zz"; }; ey: { aa: "ey.aa"; ab: "ey.ab"; ac: "ey.ac"; ad: "ey.ad"; ae: "ey.ae"; af: "ey.af"; ag: "ey.ag"; ah: "ey.ah"; ai: "ey.ai"; aj: "ey.aj"; ak: "ey.ak"; al: "ey.al"; am: "ey.am"; an: "ey.an"; ao: "ey.ao"; ap: "ey.ap"; aq: "ey.aq"; ar: "ey.ar"; as: "ey.as"; at: "ey.at"; au: "ey.au"; av: "ey.av"; aw: "ey.aw"; ax: "ey.ax"; ay: "ey.ay"; az: "ey.az"; ba: "ey.ba"; bb: "ey.bb"; bc: "ey.bc"; bd: "ey.bd"; be: "ey.be"; bf: "ey.bf"; bg: "ey.bg"; bh: "ey.bh"; bi: "ey.bi"; bj: "ey.bj"; bk: "ey.bk"; bl: "ey.bl"; bm: "ey.bm"; bn: "ey.bn"; bo: "ey.bo"; bp: "ey.bp"; bq: "ey.bq"; br: "ey.br"; bs: "ey.bs"; bt: "ey.bt"; bu: "ey.bu"; bv: "ey.bv"; bw: "ey.bw"; bx: "ey.bx"; by: "ey.by"; bz: "ey.bz"; ca: "ey.ca"; cb: "ey.cb"; cc: "ey.cc"; cd: "ey.cd"; ce: "ey.ce"; cf: "ey.cf"; cg: "ey.cg"; ch: "ey.ch"; ci: "ey.ci"; cj: "ey.cj"; ck: "ey.ck"; cl: "ey.cl"; cm: "ey.cm"; cn: "ey.cn"; co: "ey.co"; cp: "ey.cp"; cq: "ey.cq"; cr: "ey.cr"; cs: "ey.cs"; ct: "ey.ct"; cu: "ey.cu"; cv: "ey.cv"; cw: "ey.cw"; cx: "ey.cx"; cy: "ey.cy"; cz: "ey.cz"; da: "ey.da"; db: "ey.db"; dc: "ey.dc"; dd: "ey.dd"; de: "ey.de"; df: "ey.df"; dg: "ey.dg"; dh: "ey.dh"; di: "ey.di"; dj: "ey.dj"; dk: "ey.dk"; dl: "ey.dl"; dm: "ey.dm"; dn: "ey.dn"; do: "ey.do"; dp: "ey.dp"; dq: "ey.dq"; dr: "ey.dr"; ds: "ey.ds"; dt: "ey.dt"; du: "ey.du"; dv: "ey.dv"; dw: "ey.dw"; dx: "ey.dx"; dy: "ey.dy"; dz: "ey.dz"; ea: "ey.ea"; eb: "ey.eb"; ec: "ey.ec"; ed: "ey.ed"; ee: "ey.ee"; ef: "ey.ef"; eg: "ey.eg"; eh: "ey.eh"; ei: "ey.ei"; ej: "ey.ej"; ek: "ey.ek"; el: "ey.el"; em: "ey.em"; en: "ey.en"; eo: "ey.eo"; ep: "ey.ep"; eq: "ey.eq"; er: "ey.er"; es: "ey.es"; et: "ey.et"; eu: "ey.eu"; ev: "ey.ev"; ew: "ey.ew"; ex: "ey.ex"; ey: "ey.ey"; ez: "ey.ez"; fa: "ey.fa"; fb: "ey.fb"; fc: "ey.fc"; fd: "ey.fd"; fe: "ey.fe"; ff: "ey.ff"; fg: "ey.fg"; fh: "ey.fh"; fi: "ey.fi"; fj: "ey.fj"; fk: "ey.fk"; fl: "ey.fl"; fm: "ey.fm"; fn: "ey.fn"; fo: "ey.fo"; fp: "ey.fp"; fq: "ey.fq"; fr: "ey.fr"; fs: "ey.fs"; ft: "ey.ft"; fu: "ey.fu"; fv: "ey.fv"; fw: "ey.fw"; fx: "ey.fx"; fy: "ey.fy"; fz: "ey.fz"; ga: "ey.ga"; gb: "ey.gb"; gc: "ey.gc"; gd: "ey.gd"; ge: "ey.ge"; gf: "ey.gf"; gg: "ey.gg"; gh: "ey.gh"; gi: "ey.gi"; gj: "ey.gj"; gk: "ey.gk"; gl: "ey.gl"; gm: "ey.gm"; gn: "ey.gn"; go: "ey.go"; gp: "ey.gp"; gq: "ey.gq"; gr: "ey.gr"; gs: "ey.gs"; gt: "ey.gt"; gu: "ey.gu"; gv: "ey.gv"; gw: "ey.gw"; gx: "ey.gx"; gy: "ey.gy"; gz: "ey.gz"; ha: "ey.ha"; hb: "ey.hb"; hc: "ey.hc"; hd: "ey.hd"; he: "ey.he"; hf: "ey.hf"; hg: "ey.hg"; hh: "ey.hh"; hi: "ey.hi"; hj: "ey.hj"; hk: "ey.hk"; hl: "ey.hl"; hm: "ey.hm"; hn: "ey.hn"; ho: "ey.ho"; hp: "ey.hp"; hq: "ey.hq"; hr: "ey.hr"; hs: "ey.hs"; ht: "ey.ht"; hu: "ey.hu"; hv: "ey.hv"; hw: "ey.hw"; hx: "ey.hx"; hy: "ey.hy"; hz: "ey.hz"; ia: "ey.ia"; ib: "ey.ib"; ic: "ey.ic"; id: "ey.id"; ie: "ey.ie"; if: "ey.if"; ig: "ey.ig"; ih: "ey.ih"; ii: "ey.ii"; ij: "ey.ij"; ik: "ey.ik"; il: "ey.il"; im: "ey.im"; in: "ey.in"; io: "ey.io"; ip: "ey.ip"; iq: "ey.iq"; ir: "ey.ir"; is: "ey.is"; it: "ey.it"; iu: "ey.iu"; iv: "ey.iv"; iw: "ey.iw"; ix: "ey.ix"; iy: "ey.iy"; iz: "ey.iz"; ja: "ey.ja"; jb: "ey.jb"; jc: "ey.jc"; jd: "ey.jd"; je: "ey.je"; jf: "ey.jf"; jg: "ey.jg"; jh: "ey.jh"; ji: "ey.ji"; jj: "ey.jj"; jk: "ey.jk"; jl: "ey.jl"; jm: "ey.jm"; jn: "ey.jn"; jo: "ey.jo"; jp: "ey.jp"; jq: "ey.jq"; jr: "ey.jr"; js: "ey.js"; jt: "ey.jt"; ju: "ey.ju"; jv: "ey.jv"; jw: "ey.jw"; jx: "ey.jx"; jy: "ey.jy"; jz: "ey.jz"; ka: "ey.ka"; kb: "ey.kb"; kc: "ey.kc"; kd: "ey.kd"; ke: "ey.ke"; kf: "ey.kf"; kg: "ey.kg"; kh: "ey.kh"; ki: "ey.ki"; kj: "ey.kj"; kk: "ey.kk"; kl: "ey.kl"; km: "ey.km"; kn: "ey.kn"; ko: "ey.ko"; kp: "ey.kp"; kq: "ey.kq"; kr: "ey.kr"; ks: "ey.ks"; kt: "ey.kt"; ku: "ey.ku"; kv: "ey.kv"; kw: "ey.kw"; kx: "ey.kx"; ky: "ey.ky"; kz: "ey.kz"; la: "ey.la"; lb: "ey.lb"; lc: "ey.lc"; ld: "ey.ld"; le: "ey.le"; lf: "ey.lf"; lg: "ey.lg"; lh: "ey.lh"; li: "ey.li"; lj: "ey.lj"; lk: "ey.lk"; ll: "ey.ll"; lm: "ey.lm"; ln: "ey.ln"; lo: "ey.lo"; lp: "ey.lp"; lq: "ey.lq"; lr: "ey.lr"; ls: "ey.ls"; lt: "ey.lt"; lu: "ey.lu"; lv: "ey.lv"; lw: "ey.lw"; lx: "ey.lx"; ly: "ey.ly"; lz: "ey.lz"; ma: "ey.ma"; mb: "ey.mb"; mc: "ey.mc"; md: "ey.md"; me: "ey.me"; mf: "ey.mf"; mg: "ey.mg"; mh: "ey.mh"; mi: "ey.mi"; mj: "ey.mj"; mk: "ey.mk"; ml: "ey.ml"; mm: "ey.mm"; mn: "ey.mn"; mo: "ey.mo"; mp: "ey.mp"; mq: "ey.mq"; mr: "ey.mr"; ms: "ey.ms"; mt: "ey.mt"; mu: "ey.mu"; mv: "ey.mv"; mw: "ey.mw"; mx: "ey.mx"; my: "ey.my"; mz: "ey.mz"; na: "ey.na"; nb: "ey.nb"; nc: "ey.nc"; nd: "ey.nd"; ne: "ey.ne"; nf: "ey.nf"; ng: "ey.ng"; nh: "ey.nh"; ni: "ey.ni"; nj: "ey.nj"; nk: "ey.nk"; nl: "ey.nl"; nm: "ey.nm"; nn: "ey.nn"; no: "ey.no"; np: "ey.np"; nq: "ey.nq"; nr: "ey.nr"; ns: "ey.ns"; nt: "ey.nt"; nu: "ey.nu"; nv: "ey.nv"; nw: "ey.nw"; nx: "ey.nx"; ny: "ey.ny"; nz: "ey.nz"; oa: "ey.oa"; ob: "ey.ob"; oc: "ey.oc"; od: "ey.od"; oe: "ey.oe"; of: "ey.of"; og: "ey.og"; oh: "ey.oh"; oi: "ey.oi"; oj: "ey.oj"; ok: "ey.ok"; ol: "ey.ol"; om: "ey.om"; on: "ey.on"; oo: "ey.oo"; op: "ey.op"; oq: "ey.oq"; or: "ey.or"; os: "ey.os"; ot: "ey.ot"; ou: "ey.ou"; ov: "ey.ov"; ow: "ey.ow"; ox: "ey.ox"; oy: "ey.oy"; oz: "ey.oz"; pa: "ey.pa"; pb: "ey.pb"; pc: "ey.pc"; pd: "ey.pd"; pe: "ey.pe"; pf: "ey.pf"; pg: "ey.pg"; ph: "ey.ph"; pi: "ey.pi"; pj: "ey.pj"; pk: "ey.pk"; pl: "ey.pl"; pm: "ey.pm"; pn: "ey.pn"; po: "ey.po"; pp: "ey.pp"; pq: "ey.pq"; pr: "ey.pr"; ps: "ey.ps"; pt: "ey.pt"; pu: "ey.pu"; pv: "ey.pv"; pw: "ey.pw"; px: "ey.px"; py: "ey.py"; pz: "ey.pz"; qa: "ey.qa"; qb: "ey.qb"; qc: "ey.qc"; qd: "ey.qd"; qe: "ey.qe"; qf: "ey.qf"; qg: "ey.qg"; qh: "ey.qh"; qi: "ey.qi"; qj: "ey.qj"; qk: "ey.qk"; ql: "ey.ql"; qm: "ey.qm"; qn: "ey.qn"; qo: "ey.qo"; qp: "ey.qp"; qq: "ey.qq"; qr: "ey.qr"; qs: "ey.qs"; qt: "ey.qt"; qu: "ey.qu"; qv: "ey.qv"; qw: "ey.qw"; qx: "ey.qx"; qy: "ey.qy"; qz: "ey.qz"; ra: "ey.ra"; rb: "ey.rb"; rc: "ey.rc"; rd: "ey.rd"; re: "ey.re"; rf: "ey.rf"; rg: "ey.rg"; rh: "ey.rh"; ri: "ey.ri"; rj: "ey.rj"; rk: "ey.rk"; rl: "ey.rl"; rm: "ey.rm"; rn: "ey.rn"; ro: "ey.ro"; rp: "ey.rp"; rq: "ey.rq"; rr: "ey.rr"; rs: "ey.rs"; rt: "ey.rt"; ru: "ey.ru"; rv: "ey.rv"; rw: "ey.rw"; rx: "ey.rx"; ry: "ey.ry"; rz: "ey.rz"; sa: "ey.sa"; sb: "ey.sb"; sc: "ey.sc"; sd: "ey.sd"; se: "ey.se"; sf: "ey.sf"; sg: "ey.sg"; sh: "ey.sh"; si: "ey.si"; sj: "ey.sj"; sk: "ey.sk"; sl: "ey.sl"; sm: "ey.sm"; sn: "ey.sn"; so: "ey.so"; sp: "ey.sp"; sq: "ey.sq"; sr: "ey.sr"; ss: "ey.ss"; st: "ey.st"; su: "ey.su"; sv: "ey.sv"; sw: "ey.sw"; sx: "ey.sx"; sy: "ey.sy"; sz: "ey.sz"; ta: "ey.ta"; tb: "ey.tb"; tc: "ey.tc"; td: "ey.td"; te: "ey.te"; tf: "ey.tf"; tg: "ey.tg"; th: "ey.th"; ti: "ey.ti"; tj: "ey.tj"; tk: "ey.tk"; tl: "ey.tl"; tm: "ey.tm"; tn: "ey.tn"; to: "ey.to"; tp: "ey.tp"; tq: "ey.tq"; tr: "ey.tr"; ts: "ey.ts"; tt: "ey.tt"; tu: "ey.tu"; tv: "ey.tv"; tw: "ey.tw"; tx: "ey.tx"; ty: "ey.ty"; tz: "ey.tz"; ua: "ey.ua"; ub: "ey.ub"; uc: "ey.uc"; ud: "ey.ud"; ue: "ey.ue"; uf: "ey.uf"; ug: "ey.ug"; uh: "ey.uh"; ui: "ey.ui"; uj: "ey.uj"; uk: "ey.uk"; ul: "ey.ul"; um: "ey.um"; un: "ey.un"; uo: "ey.uo"; up: "ey.up"; uq: "ey.uq"; ur: "ey.ur"; us: "ey.us"; ut: "ey.ut"; uu: "ey.uu"; uv: "ey.uv"; uw: "ey.uw"; ux: "ey.ux"; uy: "ey.uy"; uz: "ey.uz"; va: "ey.va"; vb: "ey.vb"; vc: "ey.vc"; vd: "ey.vd"; ve: "ey.ve"; vf: "ey.vf"; vg: "ey.vg"; vh: "ey.vh"; vi: "ey.vi"; vj: "ey.vj"; vk: "ey.vk"; vl: "ey.vl"; vm: "ey.vm"; vn: "ey.vn"; vo: "ey.vo"; vp: "ey.vp"; vq: "ey.vq"; vr: "ey.vr"; vs: "ey.vs"; vt: "ey.vt"; vu: "ey.vu"; vv: "ey.vv"; vw: "ey.vw"; vx: "ey.vx"; vy: "ey.vy"; vz: "ey.vz"; wa: "ey.wa"; wb: "ey.wb"; wc: "ey.wc"; wd: "ey.wd"; we: "ey.we"; wf: "ey.wf"; wg: "ey.wg"; wh: "ey.wh"; wi: "ey.wi"; wj: "ey.wj"; wk: "ey.wk"; wl: "ey.wl"; wm: "ey.wm"; wn: "ey.wn"; wo: "ey.wo"; wp: "ey.wp"; wq: "ey.wq"; wr: "ey.wr"; ws: "ey.ws"; wt: "ey.wt"; wu: "ey.wu"; wv: "ey.wv"; ww: "ey.ww"; wx: "ey.wx"; wy: "ey.wy"; wz: "ey.wz"; xa: "ey.xa"; xb: "ey.xb"; xc: "ey.xc"; xd: "ey.xd"; xe: "ey.xe"; xf: "ey.xf"; xg: "ey.xg"; xh: "ey.xh"; xi: "ey.xi"; xj: "ey.xj"; xk: "ey.xk"; xl: "ey.xl"; xm: "ey.xm"; xn: "ey.xn"; xo: "ey.xo"; xp: "ey.xp"; xq: "ey.xq"; xr: "ey.xr"; xs: "ey.xs"; xt: "ey.xt"; xu: "ey.xu"; xv: "ey.xv"; xw: "ey.xw"; xx: "ey.xx"; xy: "ey.xy"; xz: "ey.xz"; ya: "ey.ya"; yb: "ey.yb"; yc: "ey.yc"; yd: "ey.yd"; ye: "ey.ye"; yf: "ey.yf"; yg: "ey.yg"; yh: "ey.yh"; yi: "ey.yi"; yj: "ey.yj"; yk: "ey.yk"; yl: "ey.yl"; ym: "ey.ym"; yn: "ey.yn"; yo: "ey.yo"; yp: "ey.yp"; yq: "ey.yq"; yr: "ey.yr"; ys: "ey.ys"; yt: "ey.yt"; yu: "ey.yu"; yv: "ey.yv"; yw: "ey.yw"; yx: "ey.yx"; yy: "ey.yy"; yz: "ey.yz"; za: "ey.za"; zb: "ey.zb"; zc: "ey.zc"; zd: "ey.zd"; ze: "ey.ze"; zf: "ey.zf"; zg: "ey.zg"; zh: "ey.zh"; zi: "ey.zi"; zj: "ey.zj"; zk: "ey.zk"; zl: "ey.zl"; zm: "ey.zm"; zn: "ey.zn"; zo: "ey.zo"; zp: "ey.zp"; zq: "ey.zq"; zr: "ey.zr"; zs: "ey.zs"; zt: "ey.zt"; zu: "ey.zu"; zv: "ey.zv"; zw: "ey.zw"; zx: "ey.zx"; zy: "ey.zy"; zz: "ey.zz"; }; ez: { aa: "ez.aa"; ab: "ez.ab"; ac: "ez.ac"; ad: "ez.ad"; ae: "ez.ae"; af: "ez.af"; ag: "ez.ag"; ah: "ez.ah"; ai: "ez.ai"; aj: "ez.aj"; ak: "ez.ak"; al: "ez.al"; am: "ez.am"; an: "ez.an"; ao: "ez.ao"; ap: "ez.ap"; aq: "ez.aq"; ar: "ez.ar"; as: "ez.as"; at: "ez.at"; au: "ez.au"; av: "ez.av"; aw: "ez.aw"; ax: "ez.ax"; ay: "ez.ay"; az: "ez.az"; ba: "ez.ba"; bb: "ez.bb"; bc: "ez.bc"; bd: "ez.bd"; be: "ez.be"; bf: "ez.bf"; bg: "ez.bg"; bh: "ez.bh"; bi: "ez.bi"; bj: "ez.bj"; bk: "ez.bk"; bl: "ez.bl"; bm: "ez.bm"; bn: "ez.bn"; bo: "ez.bo"; bp: "ez.bp"; bq: "ez.bq"; br: "ez.br"; bs: "ez.bs"; bt: "ez.bt"; bu: "ez.bu"; bv: "ez.bv"; bw: "ez.bw"; bx: "ez.bx"; by: "ez.by"; bz: "ez.bz"; ca: "ez.ca"; cb: "ez.cb"; cc: "ez.cc"; cd: "ez.cd"; ce: "ez.ce"; cf: "ez.cf"; cg: "ez.cg"; ch: "ez.ch"; ci: "ez.ci"; cj: "ez.cj"; ck: "ez.ck"; cl: "ez.cl"; cm: "ez.cm"; cn: "ez.cn"; co: "ez.co"; cp: "ez.cp"; cq: "ez.cq"; cr: "ez.cr"; cs: "ez.cs"; ct: "ez.ct"; cu: "ez.cu"; cv: "ez.cv"; cw: "ez.cw"; cx: "ez.cx"; cy: "ez.cy"; cz: "ez.cz"; da: "ez.da"; db: "ez.db"; dc: "ez.dc"; dd: "ez.dd"; de: "ez.de"; df: "ez.df"; dg: "ez.dg"; dh: "ez.dh"; di: "ez.di"; dj: "ez.dj"; dk: "ez.dk"; dl: "ez.dl"; dm: "ez.dm"; dn: "ez.dn"; do: "ez.do"; dp: "ez.dp"; dq: "ez.dq"; dr: "ez.dr"; ds: "ez.ds"; dt: "ez.dt"; du: "ez.du"; dv: "ez.dv"; dw: "ez.dw"; dx: "ez.dx"; dy: "ez.dy"; dz: "ez.dz"; ea: "ez.ea"; eb: "ez.eb"; ec: "ez.ec"; ed: "ez.ed"; ee: "ez.ee"; ef: "ez.ef"; eg: "ez.eg"; eh: "ez.eh"; ei: "ez.ei"; ej: "ez.ej"; ek: "ez.ek"; el: "ez.el"; em: "ez.em"; en: "ez.en"; eo: "ez.eo"; ep: "ez.ep"; eq: "ez.eq"; er: "ez.er"; es: "ez.es"; et: "ez.et"; eu: "ez.eu"; ev: "ez.ev"; ew: "ez.ew"; ex: "ez.ex"; ey: "ez.ey"; ez: "ez.ez"; fa: "ez.fa"; fb: "ez.fb"; fc: "ez.fc"; fd: "ez.fd"; fe: "ez.fe"; ff: "ez.ff"; fg: "ez.fg"; fh: "ez.fh"; fi: "ez.fi"; fj: "ez.fj"; fk: "ez.fk"; fl: "ez.fl"; fm: "ez.fm"; fn: "ez.fn"; fo: "ez.fo"; fp: "ez.fp"; fq: "ez.fq"; fr: "ez.fr"; fs: "ez.fs"; ft: "ez.ft"; fu: "ez.fu"; fv: "ez.fv"; fw: "ez.fw"; fx: "ez.fx"; fy: "ez.fy"; fz: "ez.fz"; ga: "ez.ga"; gb: "ez.gb"; gc: "ez.gc"; gd: "ez.gd"; ge: "ez.ge"; gf: "ez.gf"; gg: "ez.gg"; gh: "ez.gh"; gi: "ez.gi"; gj: "ez.gj"; gk: "ez.gk"; gl: "ez.gl"; gm: "ez.gm"; gn: "ez.gn"; go: "ez.go"; gp: "ez.gp"; gq: "ez.gq"; gr: "ez.gr"; gs: "ez.gs"; gt: "ez.gt"; gu: "ez.gu"; gv: "ez.gv"; gw: "ez.gw"; gx: "ez.gx"; gy: "ez.gy"; gz: "ez.gz"; ha: "ez.ha"; hb: "ez.hb"; hc: "ez.hc"; hd: "ez.hd"; he: "ez.he"; hf: "ez.hf"; hg: "ez.hg"; hh: "ez.hh"; hi: "ez.hi"; hj: "ez.hj"; hk: "ez.hk"; hl: "ez.hl"; hm: "ez.hm"; hn: "ez.hn"; ho: "ez.ho"; hp: "ez.hp"; hq: "ez.hq"; hr: "ez.hr"; hs: "ez.hs"; ht: "ez.ht"; hu: "ez.hu"; hv: "ez.hv"; hw: "ez.hw"; hx: "ez.hx"; hy: "ez.hy"; hz: "ez.hz"; ia: "ez.ia"; ib: "ez.ib"; ic: "ez.ic"; id: "ez.id"; ie: "ez.ie"; if: "ez.if"; ig: "ez.ig"; ih: "ez.ih"; ii: "ez.ii"; ij: "ez.ij"; ik: "ez.ik"; il: "ez.il"; im: "ez.im"; in: "ez.in"; io: "ez.io"; ip: "ez.ip"; iq: "ez.iq"; ir: "ez.ir"; is: "ez.is"; it: "ez.it"; iu: "ez.iu"; iv: "ez.iv"; iw: "ez.iw"; ix: "ez.ix"; iy: "ez.iy"; iz: "ez.iz"; ja: "ez.ja"; jb: "ez.jb"; jc: "ez.jc"; jd: "ez.jd"; je: "ez.je"; jf: "ez.jf"; jg: "ez.jg"; jh: "ez.jh"; ji: "ez.ji"; jj: "ez.jj"; jk: "ez.jk"; jl: "ez.jl"; jm: "ez.jm"; jn: "ez.jn"; jo: "ez.jo"; jp: "ez.jp"; jq: "ez.jq"; jr: "ez.jr"; js: "ez.js"; jt: "ez.jt"; ju: "ez.ju"; jv: "ez.jv"; jw: "ez.jw"; jx: "ez.jx"; jy: "ez.jy"; jz: "ez.jz"; ka: "ez.ka"; kb: "ez.kb"; kc: "ez.kc"; kd: "ez.kd"; ke: "ez.ke"; kf: "ez.kf"; kg: "ez.kg"; kh: "ez.kh"; ki: "ez.ki"; kj: "ez.kj"; kk: "ez.kk"; kl: "ez.kl"; km: "ez.km"; kn: "ez.kn"; ko: "ez.ko"; kp: "ez.kp"; kq: "ez.kq"; kr: "ez.kr"; ks: "ez.ks"; kt: "ez.kt"; ku: "ez.ku"; kv: "ez.kv"; kw: "ez.kw"; kx: "ez.kx"; ky: "ez.ky"; kz: "ez.kz"; la: "ez.la"; lb: "ez.lb"; lc: "ez.lc"; ld: "ez.ld"; le: "ez.le"; lf: "ez.lf"; lg: "ez.lg"; lh: "ez.lh"; li: "ez.li"; lj: "ez.lj"; lk: "ez.lk"; ll: "ez.ll"; lm: "ez.lm"; ln: "ez.ln"; lo: "ez.lo"; lp: "ez.lp"; lq: "ez.lq"; lr: "ez.lr"; ls: "ez.ls"; lt: "ez.lt"; lu: "ez.lu"; lv: "ez.lv"; lw: "ez.lw"; lx: "ez.lx"; ly: "ez.ly"; lz: "ez.lz"; ma: "ez.ma"; mb: "ez.mb"; mc: "ez.mc"; md: "ez.md"; me: "ez.me"; mf: "ez.mf"; mg: "ez.mg"; mh: "ez.mh"; mi: "ez.mi"; mj: "ez.mj"; mk: "ez.mk"; ml: "ez.ml"; mm: "ez.mm"; mn: "ez.mn"; mo: "ez.mo"; mp: "ez.mp"; mq: "ez.mq"; mr: "ez.mr"; ms: "ez.ms"; mt: "ez.mt"; mu: "ez.mu"; mv: "ez.mv"; mw: "ez.mw"; mx: "ez.mx"; my: "ez.my"; mz: "ez.mz"; na: "ez.na"; nb: "ez.nb"; nc: "ez.nc"; nd: "ez.nd"; ne: "ez.ne"; nf: "ez.nf"; ng: "ez.ng"; nh: "ez.nh"; ni: "ez.ni"; nj: "ez.nj"; nk: "ez.nk"; nl: "ez.nl"; nm: "ez.nm"; nn: "ez.nn"; no: "ez.no"; np: "ez.np"; nq: "ez.nq"; nr: "ez.nr"; ns: "ez.ns"; nt: "ez.nt"; nu: "ez.nu"; nv: "ez.nv"; nw: "ez.nw"; nx: "ez.nx"; ny: "ez.ny"; nz: "ez.nz"; oa: "ez.oa"; ob: "ez.ob"; oc: "ez.oc"; od: "ez.od"; oe: "ez.oe"; of: "ez.of"; og: "ez.og"; oh: "ez.oh"; oi: "ez.oi"; oj: "ez.oj"; ok: "ez.ok"; ol: "ez.ol"; om: "ez.om"; on: "ez.on"; oo: "ez.oo"; op: "ez.op"; oq: "ez.oq"; or: "ez.or"; os: "ez.os"; ot: "ez.ot"; ou: "ez.ou"; ov: "ez.ov"; ow: "ez.ow"; ox: "ez.ox"; oy: "ez.oy"; oz: "ez.oz"; pa: "ez.pa"; pb: "ez.pb"; pc: "ez.pc"; pd: "ez.pd"; pe: "ez.pe"; pf: "ez.pf"; pg: "ez.pg"; ph: "ez.ph"; pi: "ez.pi"; pj: "ez.pj"; pk: "ez.pk"; pl: "ez.pl"; pm: "ez.pm"; pn: "ez.pn"; po: "ez.po"; pp: "ez.pp"; pq: "ez.pq"; pr: "ez.pr"; ps: "ez.ps"; pt: "ez.pt"; pu: "ez.pu"; pv: "ez.pv"; pw: "ez.pw"; px: "ez.px"; py: "ez.py"; pz: "ez.pz"; qa: "ez.qa"; qb: "ez.qb"; qc: "ez.qc"; qd: "ez.qd"; qe: "ez.qe"; qf: "ez.qf"; qg: "ez.qg"; qh: "ez.qh"; qi: "ez.qi"; qj: "ez.qj"; qk: "ez.qk"; ql: "ez.ql"; qm: "ez.qm"; qn: "ez.qn"; qo: "ez.qo"; qp: "ez.qp"; qq: "ez.qq"; qr: "ez.qr"; qs: "ez.qs"; qt: "ez.qt"; qu: "ez.qu"; qv: "ez.qv"; qw: "ez.qw"; qx: "ez.qx"; qy: "ez.qy"; qz: "ez.qz"; ra: "ez.ra"; rb: "ez.rb"; rc: "ez.rc"; rd: "ez.rd"; re: "ez.re"; rf: "ez.rf"; rg: "ez.rg"; rh: "ez.rh"; ri: "ez.ri"; rj: "ez.rj"; rk: "ez.rk"; rl: "ez.rl"; rm: "ez.rm"; rn: "ez.rn"; ro: "ez.ro"; rp: "ez.rp"; rq: "ez.rq"; rr: "ez.rr"; rs: "ez.rs"; rt: "ez.rt"; ru: "ez.ru"; rv: "ez.rv"; rw: "ez.rw"; rx: "ez.rx"; ry: "ez.ry"; rz: "ez.rz"; sa: "ez.sa"; sb: "ez.sb"; sc: "ez.sc"; sd: "ez.sd"; se: "ez.se"; sf: "ez.sf"; sg: "ez.sg"; sh: "ez.sh"; si: "ez.si"; sj: "ez.sj"; sk: "ez.sk"; sl: "ez.sl"; sm: "ez.sm"; sn: "ez.sn"; so: "ez.so"; sp: "ez.sp"; sq: "ez.sq"; sr: "ez.sr"; ss: "ez.ss"; st: "ez.st"; su: "ez.su"; sv: "ez.sv"; sw: "ez.sw"; sx: "ez.sx"; sy: "ez.sy"; sz: "ez.sz"; ta: "ez.ta"; tb: "ez.tb"; tc: "ez.tc"; td: "ez.td"; te: "ez.te"; tf: "ez.tf"; tg: "ez.tg"; th: "ez.th"; ti: "ez.ti"; tj: "ez.tj"; tk: "ez.tk"; tl: "ez.tl"; tm: "ez.tm"; tn: "ez.tn"; to: "ez.to"; tp: "ez.tp"; tq: "ez.tq"; tr: "ez.tr"; ts: "ez.ts"; tt: "ez.tt"; tu: "ez.tu"; tv: "ez.tv"; tw: "ez.tw"; tx: "ez.tx"; ty: "ez.ty"; tz: "ez.tz"; ua: "ez.ua"; ub: "ez.ub"; uc: "ez.uc"; ud: "ez.ud"; ue: "ez.ue"; uf: "ez.uf"; ug: "ez.ug"; uh: "ez.uh"; ui: "ez.ui"; uj: "ez.uj"; uk: "ez.uk"; ul: "ez.ul"; um: "ez.um"; un: "ez.un"; uo: "ez.uo"; up: "ez.up"; uq: "ez.uq"; ur: "ez.ur"; us: "ez.us"; ut: "ez.ut"; uu: "ez.uu"; uv: "ez.uv"; uw: "ez.uw"; ux: "ez.ux"; uy: "ez.uy"; uz: "ez.uz"; va: "ez.va"; vb: "ez.vb"; vc: "ez.vc"; vd: "ez.vd"; ve: "ez.ve"; vf: "ez.vf"; vg: "ez.vg"; vh: "ez.vh"; vi: "ez.vi"; vj: "ez.vj"; vk: "ez.vk"; vl: "ez.vl"; vm: "ez.vm"; vn: "ez.vn"; vo: "ez.vo"; vp: "ez.vp"; vq: "ez.vq"; vr: "ez.vr"; vs: "ez.vs"; vt: "ez.vt"; vu: "ez.vu"; vv: "ez.vv"; vw: "ez.vw"; vx: "ez.vx"; vy: "ez.vy"; vz: "ez.vz"; wa: "ez.wa"; wb: "ez.wb"; wc: "ez.wc"; wd: "ez.wd"; we: "ez.we"; wf: "ez.wf"; wg: "ez.wg"; wh: "ez.wh"; wi: "ez.wi"; wj: "ez.wj"; wk: "ez.wk"; wl: "ez.wl"; wm: "ez.wm"; wn: "ez.wn"; wo: "ez.wo"; wp: "ez.wp"; wq: "ez.wq"; wr: "ez.wr"; ws: "ez.ws"; wt: "ez.wt"; wu: "ez.wu"; wv: "ez.wv"; ww: "ez.ww"; wx: "ez.wx"; wy: "ez.wy"; wz: "ez.wz"; xa: "ez.xa"; xb: "ez.xb"; xc: "ez.xc"; xd: "ez.xd"; xe: "ez.xe"; xf: "ez.xf"; xg: "ez.xg"; xh: "ez.xh"; xi: "ez.xi"; xj: "ez.xj"; xk: "ez.xk"; xl: "ez.xl"; xm: "ez.xm"; xn: "ez.xn"; xo: "ez.xo"; xp: "ez.xp"; xq: "ez.xq"; xr: "ez.xr"; xs: "ez.xs"; xt: "ez.xt"; xu: "ez.xu"; xv: "ez.xv"; xw: "ez.xw"; xx: "ez.xx"; xy: "ez.xy"; xz: "ez.xz"; ya: "ez.ya"; yb: "ez.yb"; yc: "ez.yc"; yd: "ez.yd"; ye: "ez.ye"; yf: "ez.yf"; yg: "ez.yg"; yh: "ez.yh"; yi: "ez.yi"; yj: "ez.yj"; yk: "ez.yk"; yl: "ez.yl"; ym: "ez.ym"; yn: "ez.yn"; yo: "ez.yo"; yp: "ez.yp"; yq: "ez.yq"; yr: "ez.yr"; ys: "ez.ys"; yt: "ez.yt"; yu: "ez.yu"; yv: "ez.yv"; yw: "ez.yw"; yx: "ez.yx"; yy: "ez.yy"; yz: "ez.yz"; za: "ez.za"; zb: "ez.zb"; zc: "ez.zc"; zd: "ez.zd"; ze: "ez.ze"; zf: "ez.zf"; zg: "ez.zg"; zh: "ez.zh"; zi: "ez.zi"; zj: "ez.zj"; zk: "ez.zk"; zl: "ez.zl"; zm: "ez.zm"; zn: "ez.zn"; zo: "ez.zo"; zp: "ez.zp"; zq: "ez.zq"; zr: "ez.zr"; zs: "ez.zs"; zt: "ez.zt"; zu: "ez.zu"; zv: "ez.zv"; zw: "ez.zw"; zx: "ez.zx"; zy: "ez.zy"; zz: "ez.zz"; }; fa: { aa: "fa.aa"; ab: "fa.ab"; ac: "fa.ac"; ad: "fa.ad"; ae: "fa.ae"; af: "fa.af"; ag: "fa.ag"; ah: "fa.ah"; ai: "fa.ai"; aj: "fa.aj"; ak: "fa.ak"; al: "fa.al"; am: "fa.am"; an: "fa.an"; ao: "fa.ao"; ap: "fa.ap"; aq: "fa.aq"; ar: "fa.ar"; as: "fa.as"; at: "fa.at"; au: "fa.au"; av: "fa.av"; aw: "fa.aw"; ax: "fa.ax"; ay: "fa.ay"; az: "fa.az"; ba: "fa.ba"; bb: "fa.bb"; bc: "fa.bc"; bd: "fa.bd"; be: "fa.be"; bf: "fa.bf"; bg: "fa.bg"; bh: "fa.bh"; bi: "fa.bi"; bj: "fa.bj"; bk: "fa.bk"; bl: "fa.bl"; bm: "fa.bm"; bn: "fa.bn"; bo: "fa.bo"; bp: "fa.bp"; bq: "fa.bq"; br: "fa.br"; bs: "fa.bs"; bt: "fa.bt"; bu: "fa.bu"; bv: "fa.bv"; bw: "fa.bw"; bx: "fa.bx"; by: "fa.by"; bz: "fa.bz"; ca: "fa.ca"; cb: "fa.cb"; cc: "fa.cc"; cd: "fa.cd"; ce: "fa.ce"; cf: "fa.cf"; cg: "fa.cg"; ch: "fa.ch"; ci: "fa.ci"; cj: "fa.cj"; ck: "fa.ck"; cl: "fa.cl"; cm: "fa.cm"; cn: "fa.cn"; co: "fa.co"; cp: "fa.cp"; cq: "fa.cq"; cr: "fa.cr"; cs: "fa.cs"; ct: "fa.ct"; cu: "fa.cu"; cv: "fa.cv"; cw: "fa.cw"; cx: "fa.cx"; cy: "fa.cy"; cz: "fa.cz"; da: "fa.da"; db: "fa.db"; dc: "fa.dc"; dd: "fa.dd"; de: "fa.de"; df: "fa.df"; dg: "fa.dg"; dh: "fa.dh"; di: "fa.di"; dj: "fa.dj"; dk: "fa.dk"; dl: "fa.dl"; dm: "fa.dm"; dn: "fa.dn"; do: "fa.do"; dp: "fa.dp"; dq: "fa.dq"; dr: "fa.dr"; ds: "fa.ds"; dt: "fa.dt"; du: "fa.du"; dv: "fa.dv"; dw: "fa.dw"; dx: "fa.dx"; dy: "fa.dy"; dz: "fa.dz"; ea: "fa.ea"; eb: "fa.eb"; ec: "fa.ec"; ed: "fa.ed"; ee: "fa.ee"; ef: "fa.ef"; eg: "fa.eg"; eh: "fa.eh"; ei: "fa.ei"; ej: "fa.ej"; ek: "fa.ek"; el: "fa.el"; em: "fa.em"; en: "fa.en"; eo: "fa.eo"; ep: "fa.ep"; eq: "fa.eq"; er: "fa.er"; es: "fa.es"; et: "fa.et"; eu: "fa.eu"; ev: "fa.ev"; ew: "fa.ew"; ex: "fa.ex"; ey: "fa.ey"; ez: "fa.ez"; fa: "fa.fa"; fb: "fa.fb"; fc: "fa.fc"; fd: "fa.fd"; fe: "fa.fe"; ff: "fa.ff"; fg: "fa.fg"; fh: "fa.fh"; fi: "fa.fi"; fj: "fa.fj"; fk: "fa.fk"; fl: "fa.fl"; fm: "fa.fm"; fn: "fa.fn"; fo: "fa.fo"; fp: "fa.fp"; fq: "fa.fq"; fr: "fa.fr"; fs: "fa.fs"; ft: "fa.ft"; fu: "fa.fu"; fv: "fa.fv"; fw: "fa.fw"; fx: "fa.fx"; fy: "fa.fy"; fz: "fa.fz"; ga: "fa.ga"; gb: "fa.gb"; gc: "fa.gc"; gd: "fa.gd"; ge: "fa.ge"; gf: "fa.gf"; gg: "fa.gg"; gh: "fa.gh"; gi: "fa.gi"; gj: "fa.gj"; gk: "fa.gk"; gl: "fa.gl"; gm: "fa.gm"; gn: "fa.gn"; go: "fa.go"; gp: "fa.gp"; gq: "fa.gq"; gr: "fa.gr"; gs: "fa.gs"; gt: "fa.gt"; gu: "fa.gu"; gv: "fa.gv"; gw: "fa.gw"; gx: "fa.gx"; gy: "fa.gy"; gz: "fa.gz"; ha: "fa.ha"; hb: "fa.hb"; hc: "fa.hc"; hd: "fa.hd"; he: "fa.he"; hf: "fa.hf"; hg: "fa.hg"; hh: "fa.hh"; hi: "fa.hi"; hj: "fa.hj"; hk: "fa.hk"; hl: "fa.hl"; hm: "fa.hm"; hn: "fa.hn"; ho: "fa.ho"; hp: "fa.hp"; hq: "fa.hq"; hr: "fa.hr"; hs: "fa.hs"; ht: "fa.ht"; hu: "fa.hu"; hv: "fa.hv"; hw: "fa.hw"; hx: "fa.hx"; hy: "fa.hy"; hz: "fa.hz"; ia: "fa.ia"; ib: "fa.ib"; ic: "fa.ic"; id: "fa.id"; ie: "fa.ie"; if: "fa.if"; ig: "fa.ig"; ih: "fa.ih"; ii: "fa.ii"; ij: "fa.ij"; ik: "fa.ik"; il: "fa.il"; im: "fa.im"; in: "fa.in"; io: "fa.io"; ip: "fa.ip"; iq: "fa.iq"; ir: "fa.ir"; is: "fa.is"; it: "fa.it"; iu: "fa.iu"; iv: "fa.iv"; iw: "fa.iw"; ix: "fa.ix"; iy: "fa.iy"; iz: "fa.iz"; ja: "fa.ja"; jb: "fa.jb"; jc: "fa.jc"; jd: "fa.jd"; je: "fa.je"; jf: "fa.jf"; jg: "fa.jg"; jh: "fa.jh"; ji: "fa.ji"; jj: "fa.jj"; jk: "fa.jk"; jl: "fa.jl"; jm: "fa.jm"; jn: "fa.jn"; jo: "fa.jo"; jp: "fa.jp"; jq: "fa.jq"; jr: "fa.jr"; js: "fa.js"; jt: "fa.jt"; ju: "fa.ju"; jv: "fa.jv"; jw: "fa.jw"; jx: "fa.jx"; jy: "fa.jy"; jz: "fa.jz"; ka: "fa.ka"; kb: "fa.kb"; kc: "fa.kc"; kd: "fa.kd"; ke: "fa.ke"; kf: "fa.kf"; kg: "fa.kg"; kh: "fa.kh"; ki: "fa.ki"; kj: "fa.kj"; kk: "fa.kk"; kl: "fa.kl"; km: "fa.km"; kn: "fa.kn"; ko: "fa.ko"; kp: "fa.kp"; kq: "fa.kq"; kr: "fa.kr"; ks: "fa.ks"; kt: "fa.kt"; ku: "fa.ku"; kv: "fa.kv"; kw: "fa.kw"; kx: "fa.kx"; ky: "fa.ky"; kz: "fa.kz"; la: "fa.la"; lb: "fa.lb"; lc: "fa.lc"; ld: "fa.ld"; le: "fa.le"; lf: "fa.lf"; lg: "fa.lg"; lh: "fa.lh"; li: "fa.li"; lj: "fa.lj"; lk: "fa.lk"; ll: "fa.ll"; lm: "fa.lm"; ln: "fa.ln"; lo: "fa.lo"; lp: "fa.lp"; lq: "fa.lq"; lr: "fa.lr"; ls: "fa.ls"; lt: "fa.lt"; lu: "fa.lu"; lv: "fa.lv"; lw: "fa.lw"; lx: "fa.lx"; ly: "fa.ly"; lz: "fa.lz"; ma: "fa.ma"; mb: "fa.mb"; mc: "fa.mc"; md: "fa.md"; me: "fa.me"; mf: "fa.mf"; mg: "fa.mg"; mh: "fa.mh"; mi: "fa.mi"; mj: "fa.mj"; mk: "fa.mk"; ml: "fa.ml"; mm: "fa.mm"; mn: "fa.mn"; mo: "fa.mo"; mp: "fa.mp"; mq: "fa.mq"; mr: "fa.mr"; ms: "fa.ms"; mt: "fa.mt"; mu: "fa.mu"; mv: "fa.mv"; mw: "fa.mw"; mx: "fa.mx"; my: "fa.my"; mz: "fa.mz"; na: "fa.na"; nb: "fa.nb"; nc: "fa.nc"; nd: "fa.nd"; ne: "fa.ne"; nf: "fa.nf"; ng: "fa.ng"; nh: "fa.nh"; ni: "fa.ni"; nj: "fa.nj"; nk: "fa.nk"; nl: "fa.nl"; nm: "fa.nm"; nn: "fa.nn"; no: "fa.no"; np: "fa.np"; nq: "fa.nq"; nr: "fa.nr"; ns: "fa.ns"; nt: "fa.nt"; nu: "fa.nu"; nv: "fa.nv"; nw: "fa.nw"; nx: "fa.nx"; ny: "fa.ny"; nz: "fa.nz"; oa: "fa.oa"; ob: "fa.ob"; oc: "fa.oc"; od: "fa.od"; oe: "fa.oe"; of: "fa.of"; og: "fa.og"; oh: "fa.oh"; oi: "fa.oi"; oj: "fa.oj"; ok: "fa.ok"; ol: "fa.ol"; om: "fa.om"; on: "fa.on"; oo: "fa.oo"; op: "fa.op"; oq: "fa.oq"; or: "fa.or"; os: "fa.os"; ot: "fa.ot"; ou: "fa.ou"; ov: "fa.ov"; ow: "fa.ow"; ox: "fa.ox"; oy: "fa.oy"; oz: "fa.oz"; pa: "fa.pa"; pb: "fa.pb"; pc: "fa.pc"; pd: "fa.pd"; pe: "fa.pe"; pf: "fa.pf"; pg: "fa.pg"; ph: "fa.ph"; pi: "fa.pi"; pj: "fa.pj"; pk: "fa.pk"; pl: "fa.pl"; pm: "fa.pm"; pn: "fa.pn"; po: "fa.po"; pp: "fa.pp"; pq: "fa.pq"; pr: "fa.pr"; ps: "fa.ps"; pt: "fa.pt"; pu: "fa.pu"; pv: "fa.pv"; pw: "fa.pw"; px: "fa.px"; py: "fa.py"; pz: "fa.pz"; qa: "fa.qa"; qb: "fa.qb"; qc: "fa.qc"; qd: "fa.qd"; qe: "fa.qe"; qf: "fa.qf"; qg: "fa.qg"; qh: "fa.qh"; qi: "fa.qi"; qj: "fa.qj"; qk: "fa.qk"; ql: "fa.ql"; qm: "fa.qm"; qn: "fa.qn"; qo: "fa.qo"; qp: "fa.qp"; qq: "fa.qq"; qr: "fa.qr"; qs: "fa.qs"; qt: "fa.qt"; qu: "fa.qu"; qv: "fa.qv"; qw: "fa.qw"; qx: "fa.qx"; qy: "fa.qy"; qz: "fa.qz"; ra: "fa.ra"; rb: "fa.rb"; rc: "fa.rc"; rd: "fa.rd"; re: "fa.re"; rf: "fa.rf"; rg: "fa.rg"; rh: "fa.rh"; ri: "fa.ri"; rj: "fa.rj"; rk: "fa.rk"; rl: "fa.rl"; rm: "fa.rm"; rn: "fa.rn"; ro: "fa.ro"; rp: "fa.rp"; rq: "fa.rq"; rr: "fa.rr"; rs: "fa.rs"; rt: "fa.rt"; ru: "fa.ru"; rv: "fa.rv"; rw: "fa.rw"; rx: "fa.rx"; ry: "fa.ry"; rz: "fa.rz"; sa: "fa.sa"; sb: "fa.sb"; sc: "fa.sc"; sd: "fa.sd"; se: "fa.se"; sf: "fa.sf"; sg: "fa.sg"; sh: "fa.sh"; si: "fa.si"; sj: "fa.sj"; sk: "fa.sk"; sl: "fa.sl"; sm: "fa.sm"; sn: "fa.sn"; so: "fa.so"; sp: "fa.sp"; sq: "fa.sq"; sr: "fa.sr"; ss: "fa.ss"; st: "fa.st"; su: "fa.su"; sv: "fa.sv"; sw: "fa.sw"; sx: "fa.sx"; sy: "fa.sy"; sz: "fa.sz"; ta: "fa.ta"; tb: "fa.tb"; tc: "fa.tc"; td: "fa.td"; te: "fa.te"; tf: "fa.tf"; tg: "fa.tg"; th: "fa.th"; ti: "fa.ti"; tj: "fa.tj"; tk: "fa.tk"; tl: "fa.tl"; tm: "fa.tm"; tn: "fa.tn"; to: "fa.to"; tp: "fa.tp"; tq: "fa.tq"; tr: "fa.tr"; ts: "fa.ts"; tt: "fa.tt"; tu: "fa.tu"; tv: "fa.tv"; tw: "fa.tw"; tx: "fa.tx"; ty: "fa.ty"; tz: "fa.tz"; ua: "fa.ua"; ub: "fa.ub"; uc: "fa.uc"; ud: "fa.ud"; ue: "fa.ue"; uf: "fa.uf"; ug: "fa.ug"; uh: "fa.uh"; ui: "fa.ui"; uj: "fa.uj"; uk: "fa.uk"; ul: "fa.ul"; um: "fa.um"; un: "fa.un"; uo: "fa.uo"; up: "fa.up"; uq: "fa.uq"; ur: "fa.ur"; us: "fa.us"; ut: "fa.ut"; uu: "fa.uu"; uv: "fa.uv"; uw: "fa.uw"; ux: "fa.ux"; uy: "fa.uy"; uz: "fa.uz"; va: "fa.va"; vb: "fa.vb"; vc: "fa.vc"; vd: "fa.vd"; ve: "fa.ve"; vf: "fa.vf"; vg: "fa.vg"; vh: "fa.vh"; vi: "fa.vi"; vj: "fa.vj"; vk: "fa.vk"; vl: "fa.vl"; vm: "fa.vm"; vn: "fa.vn"; vo: "fa.vo"; vp: "fa.vp"; vq: "fa.vq"; vr: "fa.vr"; vs: "fa.vs"; vt: "fa.vt"; vu: "fa.vu"; vv: "fa.vv"; vw: "fa.vw"; vx: "fa.vx"; vy: "fa.vy"; vz: "fa.vz"; wa: "fa.wa"; wb: "fa.wb"; wc: "fa.wc"; wd: "fa.wd"; we: "fa.we"; wf: "fa.wf"; wg: "fa.wg"; wh: "fa.wh"; wi: "fa.wi"; wj: "fa.wj"; wk: "fa.wk"; wl: "fa.wl"; wm: "fa.wm"; wn: "fa.wn"; wo: "fa.wo"; wp: "fa.wp"; wq: "fa.wq"; wr: "fa.wr"; ws: "fa.ws"; wt: "fa.wt"; wu: "fa.wu"; wv: "fa.wv"; ww: "fa.ww"; wx: "fa.wx"; wy: "fa.wy"; wz: "fa.wz"; xa: "fa.xa"; xb: "fa.xb"; xc: "fa.xc"; xd: "fa.xd"; xe: "fa.xe"; xf: "fa.xf"; xg: "fa.xg"; xh: "fa.xh"; xi: "fa.xi"; xj: "fa.xj"; xk: "fa.xk"; xl: "fa.xl"; xm: "fa.xm"; xn: "fa.xn"; xo: "fa.xo"; xp: "fa.xp"; xq: "fa.xq"; xr: "fa.xr"; xs: "fa.xs"; xt: "fa.xt"; xu: "fa.xu"; xv: "fa.xv"; xw: "fa.xw"; xx: "fa.xx"; xy: "fa.xy"; xz: "fa.xz"; ya: "fa.ya"; yb: "fa.yb"; yc: "fa.yc"; yd: "fa.yd"; ye: "fa.ye"; yf: "fa.yf"; yg: "fa.yg"; yh: "fa.yh"; yi: "fa.yi"; yj: "fa.yj"; yk: "fa.yk"; yl: "fa.yl"; ym: "fa.ym"; yn: "fa.yn"; yo: "fa.yo"; yp: "fa.yp"; yq: "fa.yq"; yr: "fa.yr"; ys: "fa.ys"; yt: "fa.yt"; yu: "fa.yu"; yv: "fa.yv"; yw: "fa.yw"; yx: "fa.yx"; yy: "fa.yy"; yz: "fa.yz"; za: "fa.za"; zb: "fa.zb"; zc: "fa.zc"; zd: "fa.zd"; ze: "fa.ze"; zf: "fa.zf"; zg: "fa.zg"; zh: "fa.zh"; zi: "fa.zi"; zj: "fa.zj"; zk: "fa.zk"; zl: "fa.zl"; zm: "fa.zm"; zn: "fa.zn"; zo: "fa.zo"; zp: "fa.zp"; zq: "fa.zq"; zr: "fa.zr"; zs: "fa.zs"; zt: "fa.zt"; zu: "fa.zu"; zv: "fa.zv"; zw: "fa.zw"; zx: "fa.zx"; zy: "fa.zy"; zz: "fa.zz"; }; fb: { aa: "fb.aa"; ab: "fb.ab"; ac: "fb.ac"; ad: "fb.ad"; ae: "fb.ae"; af: "fb.af"; ag: "fb.ag"; ah: "fb.ah"; ai: "fb.ai"; aj: "fb.aj"; ak: "fb.ak"; al: "fb.al"; am: "fb.am"; an: "fb.an"; ao: "fb.ao"; ap: "fb.ap"; aq: "fb.aq"; ar: "fb.ar"; as: "fb.as"; at: "fb.at"; au: "fb.au"; av: "fb.av"; aw: "fb.aw"; ax: "fb.ax"; ay: "fb.ay"; az: "fb.az"; ba: "fb.ba"; bb: "fb.bb"; bc: "fb.bc"; bd: "fb.bd"; be: "fb.be"; bf: "fb.bf"; bg: "fb.bg"; bh: "fb.bh"; bi: "fb.bi"; bj: "fb.bj"; bk: "fb.bk"; bl: "fb.bl"; bm: "fb.bm"; bn: "fb.bn"; bo: "fb.bo"; bp: "fb.bp"; bq: "fb.bq"; br: "fb.br"; bs: "fb.bs"; bt: "fb.bt"; bu: "fb.bu"; bv: "fb.bv"; bw: "fb.bw"; bx: "fb.bx"; by: "fb.by"; bz: "fb.bz"; ca: "fb.ca"; cb: "fb.cb"; cc: "fb.cc"; cd: "fb.cd"; ce: "fb.ce"; cf: "fb.cf"; cg: "fb.cg"; ch: "fb.ch"; ci: "fb.ci"; cj: "fb.cj"; ck: "fb.ck"; cl: "fb.cl"; cm: "fb.cm"; cn: "fb.cn"; co: "fb.co"; cp: "fb.cp"; cq: "fb.cq"; cr: "fb.cr"; cs: "fb.cs"; ct: "fb.ct"; cu: "fb.cu"; cv: "fb.cv"; cw: "fb.cw"; cx: "fb.cx"; cy: "fb.cy"; cz: "fb.cz"; da: "fb.da"; db: "fb.db"; dc: "fb.dc"; dd: "fb.dd"; de: "fb.de"; df: "fb.df"; dg: "fb.dg"; dh: "fb.dh"; di: "fb.di"; dj: "fb.dj"; dk: "fb.dk"; dl: "fb.dl"; dm: "fb.dm"; dn: "fb.dn"; do: "fb.do"; dp: "fb.dp"; dq: "fb.dq"; dr: "fb.dr"; ds: "fb.ds"; dt: "fb.dt"; du: "fb.du"; dv: "fb.dv"; dw: "fb.dw"; dx: "fb.dx"; dy: "fb.dy"; dz: "fb.dz"; ea: "fb.ea"; eb: "fb.eb"; ec: "fb.ec"; ed: "fb.ed"; ee: "fb.ee"; ef: "fb.ef"; eg: "fb.eg"; eh: "fb.eh"; ei: "fb.ei"; ej: "fb.ej"; ek: "fb.ek"; el: "fb.el"; em: "fb.em"; en: "fb.en"; eo: "fb.eo"; ep: "fb.ep"; eq: "fb.eq"; er: "fb.er"; es: "fb.es"; et: "fb.et"; eu: "fb.eu"; ev: "fb.ev"; ew: "fb.ew"; ex: "fb.ex"; ey: "fb.ey"; ez: "fb.ez"; fa: "fb.fa"; fb: "fb.fb"; fc: "fb.fc"; fd: "fb.fd"; fe: "fb.fe"; ff: "fb.ff"; fg: "fb.fg"; fh: "fb.fh"; fi: "fb.fi"; fj: "fb.fj"; fk: "fb.fk"; fl: "fb.fl"; fm: "fb.fm"; fn: "fb.fn"; fo: "fb.fo"; fp: "fb.fp"; fq: "fb.fq"; fr: "fb.fr"; fs: "fb.fs"; ft: "fb.ft"; fu: "fb.fu"; fv: "fb.fv"; fw: "fb.fw"; fx: "fb.fx"; fy: "fb.fy"; fz: "fb.fz"; ga: "fb.ga"; gb: "fb.gb"; gc: "fb.gc"; gd: "fb.gd"; ge: "fb.ge"; gf: "fb.gf"; gg: "fb.gg"; gh: "fb.gh"; gi: "fb.gi"; gj: "fb.gj"; gk: "fb.gk"; gl: "fb.gl"; gm: "fb.gm"; gn: "fb.gn"; go: "fb.go"; gp: "fb.gp"; gq: "fb.gq"; gr: "fb.gr"; gs: "fb.gs"; gt: "fb.gt"; gu: "fb.gu"; gv: "fb.gv"; gw: "fb.gw"; gx: "fb.gx"; gy: "fb.gy"; gz: "fb.gz"; ha: "fb.ha"; hb: "fb.hb"; hc: "fb.hc"; hd: "fb.hd"; he: "fb.he"; hf: "fb.hf"; hg: "fb.hg"; hh: "fb.hh"; hi: "fb.hi"; hj: "fb.hj"; hk: "fb.hk"; hl: "fb.hl"; hm: "fb.hm"; hn: "fb.hn"; ho: "fb.ho"; hp: "fb.hp"; hq: "fb.hq"; hr: "fb.hr"; hs: "fb.hs"; ht: "fb.ht"; hu: "fb.hu"; hv: "fb.hv"; hw: "fb.hw"; hx: "fb.hx"; hy: "fb.hy"; hz: "fb.hz"; ia: "fb.ia"; ib: "fb.ib"; ic: "fb.ic"; id: "fb.id"; ie: "fb.ie"; if: "fb.if"; ig: "fb.ig"; ih: "fb.ih"; ii: "fb.ii"; ij: "fb.ij"; ik: "fb.ik"; il: "fb.il"; im: "fb.im"; in: "fb.in"; io: "fb.io"; ip: "fb.ip"; iq: "fb.iq"; ir: "fb.ir"; is: "fb.is"; it: "fb.it"; iu: "fb.iu"; iv: "fb.iv"; iw: "fb.iw"; ix: "fb.ix"; iy: "fb.iy"; iz: "fb.iz"; ja: "fb.ja"; jb: "fb.jb"; jc: "fb.jc"; jd: "fb.jd"; je: "fb.je"; jf: "fb.jf"; jg: "fb.jg"; jh: "fb.jh"; ji: "fb.ji"; jj: "fb.jj"; jk: "fb.jk"; jl: "fb.jl"; jm: "fb.jm"; jn: "fb.jn"; jo: "fb.jo"; jp: "fb.jp"; jq: "fb.jq"; jr: "fb.jr"; js: "fb.js"; jt: "fb.jt"; ju: "fb.ju"; jv: "fb.jv"; jw: "fb.jw"; jx: "fb.jx"; jy: "fb.jy"; jz: "fb.jz"; ka: "fb.ka"; kb: "fb.kb"; kc: "fb.kc"; kd: "fb.kd"; ke: "fb.ke"; kf: "fb.kf"; kg: "fb.kg"; kh: "fb.kh"; ki: "fb.ki"; kj: "fb.kj"; kk: "fb.kk"; kl: "fb.kl"; km: "fb.km"; kn: "fb.kn"; ko: "fb.ko"; kp: "fb.kp"; kq: "fb.kq"; kr: "fb.kr"; ks: "fb.ks"; kt: "fb.kt"; ku: "fb.ku"; kv: "fb.kv"; kw: "fb.kw"; kx: "fb.kx"; ky: "fb.ky"; kz: "fb.kz"; la: "fb.la"; lb: "fb.lb"; lc: "fb.lc"; ld: "fb.ld"; le: "fb.le"; lf: "fb.lf"; lg: "fb.lg"; lh: "fb.lh"; li: "fb.li"; lj: "fb.lj"; lk: "fb.lk"; ll: "fb.ll"; lm: "fb.lm"; ln: "fb.ln"; lo: "fb.lo"; lp: "fb.lp"; lq: "fb.lq"; lr: "fb.lr"; ls: "fb.ls"; lt: "fb.lt"; lu: "fb.lu"; lv: "fb.lv"; lw: "fb.lw"; lx: "fb.lx"; ly: "fb.ly"; lz: "fb.lz"; ma: "fb.ma"; mb: "fb.mb"; mc: "fb.mc"; md: "fb.md"; me: "fb.me"; mf: "fb.mf"; mg: "fb.mg"; mh: "fb.mh"; mi: "fb.mi"; mj: "fb.mj"; mk: "fb.mk"; ml: "fb.ml"; mm: "fb.mm"; mn: "fb.mn"; mo: "fb.mo"; mp: "fb.mp"; mq: "fb.mq"; mr: "fb.mr"; ms: "fb.ms"; mt: "fb.mt"; mu: "fb.mu"; mv: "fb.mv"; mw: "fb.mw"; mx: "fb.mx"; my: "fb.my"; mz: "fb.mz"; na: "fb.na"; nb: "fb.nb"; nc: "fb.nc"; nd: "fb.nd"; ne: "fb.ne"; nf: "fb.nf"; ng: "fb.ng"; nh: "fb.nh"; ni: "fb.ni"; nj: "fb.nj"; nk: "fb.nk"; nl: "fb.nl"; nm: "fb.nm"; nn: "fb.nn"; no: "fb.no"; np: "fb.np"; nq: "fb.nq"; nr: "fb.nr"; ns: "fb.ns"; nt: "fb.nt"; nu: "fb.nu"; nv: "fb.nv"; nw: "fb.nw"; nx: "fb.nx"; ny: "fb.ny"; nz: "fb.nz"; oa: "fb.oa"; ob: "fb.ob"; oc: "fb.oc"; od: "fb.od"; oe: "fb.oe"; of: "fb.of"; og: "fb.og"; oh: "fb.oh"; oi: "fb.oi"; oj: "fb.oj"; ok: "fb.ok"; ol: "fb.ol"; om: "fb.om"; on: "fb.on"; oo: "fb.oo"; op: "fb.op"; oq: "fb.oq"; or: "fb.or"; os: "fb.os"; ot: "fb.ot"; ou: "fb.ou"; ov: "fb.ov"; ow: "fb.ow"; ox: "fb.ox"; oy: "fb.oy"; oz: "fb.oz"; pa: "fb.pa"; pb: "fb.pb"; pc: "fb.pc"; pd: "fb.pd"; pe: "fb.pe"; pf: "fb.pf"; pg: "fb.pg"; ph: "fb.ph"; pi: "fb.pi"; pj: "fb.pj"; pk: "fb.pk"; pl: "fb.pl"; pm: "fb.pm"; pn: "fb.pn"; po: "fb.po"; pp: "fb.pp"; pq: "fb.pq"; pr: "fb.pr"; ps: "fb.ps"; pt: "fb.pt"; pu: "fb.pu"; pv: "fb.pv"; pw: "fb.pw"; px: "fb.px"; py: "fb.py"; pz: "fb.pz"; qa: "fb.qa"; qb: "fb.qb"; qc: "fb.qc"; qd: "fb.qd"; qe: "fb.qe"; qf: "fb.qf"; qg: "fb.qg"; qh: "fb.qh"; qi: "fb.qi"; qj: "fb.qj"; qk: "fb.qk"; ql: "fb.ql"; qm: "fb.qm"; qn: "fb.qn"; qo: "fb.qo"; qp: "fb.qp"; qq: "fb.qq"; qr: "fb.qr"; qs: "fb.qs"; qt: "fb.qt"; qu: "fb.qu"; qv: "fb.qv"; qw: "fb.qw"; qx: "fb.qx"; qy: "fb.qy"; qz: "fb.qz"; ra: "fb.ra"; rb: "fb.rb"; rc: "fb.rc"; rd: "fb.rd"; re: "fb.re"; rf: "fb.rf"; rg: "fb.rg"; rh: "fb.rh"; ri: "fb.ri"; rj: "fb.rj"; rk: "fb.rk"; rl: "fb.rl"; rm: "fb.rm"; rn: "fb.rn"; ro: "fb.ro"; rp: "fb.rp"; rq: "fb.rq"; rr: "fb.rr"; rs: "fb.rs"; rt: "fb.rt"; ru: "fb.ru"; rv: "fb.rv"; rw: "fb.rw"; rx: "fb.rx"; ry: "fb.ry"; rz: "fb.rz"; sa: "fb.sa"; sb: "fb.sb"; sc: "fb.sc"; sd: "fb.sd"; se: "fb.se"; sf: "fb.sf"; sg: "fb.sg"; sh: "fb.sh"; si: "fb.si"; sj: "fb.sj"; sk: "fb.sk"; sl: "fb.sl"; sm: "fb.sm"; sn: "fb.sn"; so: "fb.so"; sp: "fb.sp"; sq: "fb.sq"; sr: "fb.sr"; ss: "fb.ss"; st: "fb.st"; su: "fb.su"; sv: "fb.sv"; sw: "fb.sw"; sx: "fb.sx"; sy: "fb.sy"; sz: "fb.sz"; ta: "fb.ta"; tb: "fb.tb"; tc: "fb.tc"; td: "fb.td"; te: "fb.te"; tf: "fb.tf"; tg: "fb.tg"; th: "fb.th"; ti: "fb.ti"; tj: "fb.tj"; tk: "fb.tk"; tl: "fb.tl"; tm: "fb.tm"; tn: "fb.tn"; to: "fb.to"; tp: "fb.tp"; tq: "fb.tq"; tr: "fb.tr"; ts: "fb.ts"; tt: "fb.tt"; tu: "fb.tu"; tv: "fb.tv"; tw: "fb.tw"; tx: "fb.tx"; ty: "fb.ty"; tz: "fb.tz"; ua: "fb.ua"; ub: "fb.ub"; uc: "fb.uc"; ud: "fb.ud"; ue: "fb.ue"; uf: "fb.uf"; ug: "fb.ug"; uh: "fb.uh"; ui: "fb.ui"; uj: "fb.uj"; uk: "fb.uk"; ul: "fb.ul"; um: "fb.um"; un: "fb.un"; uo: "fb.uo"; up: "fb.up"; uq: "fb.uq"; ur: "fb.ur"; us: "fb.us"; ut: "fb.ut"; uu: "fb.uu"; uv: "fb.uv"; uw: "fb.uw"; ux: "fb.ux"; uy: "fb.uy"; uz: "fb.uz"; va: "fb.va"; vb: "fb.vb"; vc: "fb.vc"; vd: "fb.vd"; ve: "fb.ve"; vf: "fb.vf"; vg: "fb.vg"; vh: "fb.vh"; vi: "fb.vi"; vj: "fb.vj"; vk: "fb.vk"; vl: "fb.vl"; vm: "fb.vm"; vn: "fb.vn"; vo: "fb.vo"; vp: "fb.vp"; vq: "fb.vq"; vr: "fb.vr"; vs: "fb.vs"; vt: "fb.vt"; vu: "fb.vu"; vv: "fb.vv"; vw: "fb.vw"; vx: "fb.vx"; vy: "fb.vy"; vz: "fb.vz"; wa: "fb.wa"; wb: "fb.wb"; wc: "fb.wc"; wd: "fb.wd"; we: "fb.we"; wf: "fb.wf"; wg: "fb.wg"; wh: "fb.wh"; wi: "fb.wi"; wj: "fb.wj"; wk: "fb.wk"; wl: "fb.wl"; wm: "fb.wm"; wn: "fb.wn"; wo: "fb.wo"; wp: "fb.wp"; wq: "fb.wq"; wr: "fb.wr"; ws: "fb.ws"; wt: "fb.wt"; wu: "fb.wu"; wv: "fb.wv"; ww: "fb.ww"; wx: "fb.wx"; wy: "fb.wy"; wz: "fb.wz"; xa: "fb.xa"; xb: "fb.xb"; xc: "fb.xc"; xd: "fb.xd"; xe: "fb.xe"; xf: "fb.xf"; xg: "fb.xg"; xh: "fb.xh"; xi: "fb.xi"; xj: "fb.xj"; xk: "fb.xk"; xl: "fb.xl"; xm: "fb.xm"; xn: "fb.xn"; xo: "fb.xo"; xp: "fb.xp"; xq: "fb.xq"; xr: "fb.xr"; xs: "fb.xs"; xt: "fb.xt"; xu: "fb.xu"; xv: "fb.xv"; xw: "fb.xw"; xx: "fb.xx"; xy: "fb.xy"; xz: "fb.xz"; ya: "fb.ya"; yb: "fb.yb"; yc: "fb.yc"; yd: "fb.yd"; ye: "fb.ye"; yf: "fb.yf"; yg: "fb.yg"; yh: "fb.yh"; yi: "fb.yi"; yj: "fb.yj"; yk: "fb.yk"; yl: "fb.yl"; ym: "fb.ym"; yn: "fb.yn"; yo: "fb.yo"; yp: "fb.yp"; yq: "fb.yq"; yr: "fb.yr"; ys: "fb.ys"; yt: "fb.yt"; yu: "fb.yu"; yv: "fb.yv"; yw: "fb.yw"; yx: "fb.yx"; yy: "fb.yy"; yz: "fb.yz"; za: "fb.za"; zb: "fb.zb"; zc: "fb.zc"; zd: "fb.zd"; ze: "fb.ze"; zf: "fb.zf"; zg: "fb.zg"; zh: "fb.zh"; zi: "fb.zi"; zj: "fb.zj"; zk: "fb.zk"; zl: "fb.zl"; zm: "fb.zm"; zn: "fb.zn"; zo: "fb.zo"; zp: "fb.zp"; zq: "fb.zq"; zr: "fb.zr"; zs: "fb.zs"; zt: "fb.zt"; zu: "fb.zu"; zv: "fb.zv"; zw: "fb.zw"; zx: "fb.zx"; zy: "fb.zy"; zz: "fb.zz"; }; fc: { aa: "fc.aa"; ab: "fc.ab"; ac: "fc.ac"; ad: "fc.ad"; ae: "fc.ae"; af: "fc.af"; ag: "fc.ag"; ah: "fc.ah"; ai: "fc.ai"; aj: "fc.aj"; ak: "fc.ak"; al: "fc.al"; am: "fc.am"; an: "fc.an"; ao: "fc.ao"; ap: "fc.ap"; aq: "fc.aq"; ar: "fc.ar"; as: "fc.as"; at: "fc.at"; au: "fc.au"; av: "fc.av"; aw: "fc.aw"; ax: "fc.ax"; ay: "fc.ay"; az: "fc.az"; ba: "fc.ba"; bb: "fc.bb"; bc: "fc.bc"; bd: "fc.bd"; be: "fc.be"; bf: "fc.bf"; bg: "fc.bg"; bh: "fc.bh"; bi: "fc.bi"; bj: "fc.bj"; bk: "fc.bk"; bl: "fc.bl"; bm: "fc.bm"; bn: "fc.bn"; bo: "fc.bo"; bp: "fc.bp"; bq: "fc.bq"; br: "fc.br"; bs: "fc.bs"; bt: "fc.bt"; bu: "fc.bu"; bv: "fc.bv"; bw: "fc.bw"; bx: "fc.bx"; by: "fc.by"; bz: "fc.bz"; ca: "fc.ca"; cb: "fc.cb"; cc: "fc.cc"; cd: "fc.cd"; ce: "fc.ce"; cf: "fc.cf"; cg: "fc.cg"; ch: "fc.ch"; ci: "fc.ci"; cj: "fc.cj"; ck: "fc.ck"; cl: "fc.cl"; cm: "fc.cm"; cn: "fc.cn"; co: "fc.co"; cp: "fc.cp"; cq: "fc.cq"; cr: "fc.cr"; cs: "fc.cs"; ct: "fc.ct"; cu: "fc.cu"; cv: "fc.cv"; cw: "fc.cw"; cx: "fc.cx"; cy: "fc.cy"; cz: "fc.cz"; da: "fc.da"; db: "fc.db"; dc: "fc.dc"; dd: "fc.dd"; de: "fc.de"; df: "fc.df"; dg: "fc.dg"; dh: "fc.dh"; di: "fc.di"; dj: "fc.dj"; dk: "fc.dk"; dl: "fc.dl"; dm: "fc.dm"; dn: "fc.dn"; do: "fc.do"; dp: "fc.dp"; dq: "fc.dq"; dr: "fc.dr"; ds: "fc.ds"; dt: "fc.dt"; du: "fc.du"; dv: "fc.dv"; dw: "fc.dw"; dx: "fc.dx"; dy: "fc.dy"; dz: "fc.dz"; ea: "fc.ea"; eb: "fc.eb"; ec: "fc.ec"; ed: "fc.ed"; ee: "fc.ee"; ef: "fc.ef"; eg: "fc.eg"; eh: "fc.eh"; ei: "fc.ei"; ej: "fc.ej"; ek: "fc.ek"; el: "fc.el"; em: "fc.em"; en: "fc.en"; eo: "fc.eo"; ep: "fc.ep"; eq: "fc.eq"; er: "fc.er"; es: "fc.es"; et: "fc.et"; eu: "fc.eu"; ev: "fc.ev"; ew: "fc.ew"; ex: "fc.ex"; ey: "fc.ey"; ez: "fc.ez"; fa: "fc.fa"; fb: "fc.fb"; fc: "fc.fc"; fd: "fc.fd"; fe: "fc.fe"; ff: "fc.ff"; fg: "fc.fg"; fh: "fc.fh"; fi: "fc.fi"; fj: "fc.fj"; fk: "fc.fk"; fl: "fc.fl"; fm: "fc.fm"; fn: "fc.fn"; fo: "fc.fo"; fp: "fc.fp"; fq: "fc.fq"; fr: "fc.fr"; fs: "fc.fs"; ft: "fc.ft"; fu: "fc.fu"; fv: "fc.fv"; fw: "fc.fw"; fx: "fc.fx"; fy: "fc.fy"; fz: "fc.fz"; ga: "fc.ga"; gb: "fc.gb"; gc: "fc.gc"; gd: "fc.gd"; ge: "fc.ge"; gf: "fc.gf"; gg: "fc.gg"; gh: "fc.gh"; gi: "fc.gi"; gj: "fc.gj"; gk: "fc.gk"; gl: "fc.gl"; gm: "fc.gm"; gn: "fc.gn"; go: "fc.go"; gp: "fc.gp"; gq: "fc.gq"; gr: "fc.gr"; gs: "fc.gs"; gt: "fc.gt"; gu: "fc.gu"; gv: "fc.gv"; gw: "fc.gw"; gx: "fc.gx"; gy: "fc.gy"; gz: "fc.gz"; ha: "fc.ha"; hb: "fc.hb"; hc: "fc.hc"; hd: "fc.hd"; he: "fc.he"; hf: "fc.hf"; hg: "fc.hg"; hh: "fc.hh"; hi: "fc.hi"; hj: "fc.hj"; hk: "fc.hk"; hl: "fc.hl"; hm: "fc.hm"; hn: "fc.hn"; ho: "fc.ho"; hp: "fc.hp"; hq: "fc.hq"; hr: "fc.hr"; hs: "fc.hs"; ht: "fc.ht"; hu: "fc.hu"; hv: "fc.hv"; hw: "fc.hw"; hx: "fc.hx"; hy: "fc.hy"; hz: "fc.hz"; ia: "fc.ia"; ib: "fc.ib"; ic: "fc.ic"; id: "fc.id"; ie: "fc.ie"; if: "fc.if"; ig: "fc.ig"; ih: "fc.ih"; ii: "fc.ii"; ij: "fc.ij"; ik: "fc.ik"; il: "fc.il"; im: "fc.im"; in: "fc.in"; io: "fc.io"; ip: "fc.ip"; iq: "fc.iq"; ir: "fc.ir"; is: "fc.is"; it: "fc.it"; iu: "fc.iu"; iv: "fc.iv"; iw: "fc.iw"; ix: "fc.ix"; iy: "fc.iy"; iz: "fc.iz"; ja: "fc.ja"; jb: "fc.jb"; jc: "fc.jc"; jd: "fc.jd"; je: "fc.je"; jf: "fc.jf"; jg: "fc.jg"; jh: "fc.jh"; ji: "fc.ji"; jj: "fc.jj"; jk: "fc.jk"; jl: "fc.jl"; jm: "fc.jm"; jn: "fc.jn"; jo: "fc.jo"; jp: "fc.jp"; jq: "fc.jq"; jr: "fc.jr"; js: "fc.js"; jt: "fc.jt"; ju: "fc.ju"; jv: "fc.jv"; jw: "fc.jw"; jx: "fc.jx"; jy: "fc.jy"; jz: "fc.jz"; ka: "fc.ka"; kb: "fc.kb"; kc: "fc.kc"; kd: "fc.kd"; ke: "fc.ke"; kf: "fc.kf"; kg: "fc.kg"; kh: "fc.kh"; ki: "fc.ki"; kj: "fc.kj"; kk: "fc.kk"; kl: "fc.kl"; km: "fc.km"; kn: "fc.kn"; ko: "fc.ko"; kp: "fc.kp"; kq: "fc.kq"; kr: "fc.kr"; ks: "fc.ks"; kt: "fc.kt"; ku: "fc.ku"; kv: "fc.kv"; kw: "fc.kw"; kx: "fc.kx"; ky: "fc.ky"; kz: "fc.kz"; la: "fc.la"; lb: "fc.lb"; lc: "fc.lc"; ld: "fc.ld"; le: "fc.le"; lf: "fc.lf"; lg: "fc.lg"; lh: "fc.lh"; li: "fc.li"; lj: "fc.lj"; lk: "fc.lk"; ll: "fc.ll"; lm: "fc.lm"; ln: "fc.ln"; lo: "fc.lo"; lp: "fc.lp"; lq: "fc.lq"; lr: "fc.lr"; ls: "fc.ls"; lt: "fc.lt"; lu: "fc.lu"; lv: "fc.lv"; lw: "fc.lw"; lx: "fc.lx"; ly: "fc.ly"; lz: "fc.lz"; ma: "fc.ma"; mb: "fc.mb"; mc: "fc.mc"; md: "fc.md"; me: "fc.me"; mf: "fc.mf"; mg: "fc.mg"; mh: "fc.mh"; mi: "fc.mi"; mj: "fc.mj"; mk: "fc.mk"; ml: "fc.ml"; mm: "fc.mm"; mn: "fc.mn"; mo: "fc.mo"; mp: "fc.mp"; mq: "fc.mq"; mr: "fc.mr"; ms: "fc.ms"; mt: "fc.mt"; mu: "fc.mu"; mv: "fc.mv"; mw: "fc.mw"; mx: "fc.mx"; my: "fc.my"; mz: "fc.mz"; na: "fc.na"; nb: "fc.nb"; nc: "fc.nc"; nd: "fc.nd"; ne: "fc.ne"; nf: "fc.nf"; ng: "fc.ng"; nh: "fc.nh"; ni: "fc.ni"; nj: "fc.nj"; nk: "fc.nk"; nl: "fc.nl"; nm: "fc.nm"; nn: "fc.nn"; no: "fc.no"; np: "fc.np"; nq: "fc.nq"; nr: "fc.nr"; ns: "fc.ns"; nt: "fc.nt"; nu: "fc.nu"; nv: "fc.nv"; nw: "fc.nw"; nx: "fc.nx"; ny: "fc.ny"; nz: "fc.nz"; oa: "fc.oa"; ob: "fc.ob"; oc: "fc.oc"; od: "fc.od"; oe: "fc.oe"; of: "fc.of"; og: "fc.og"; oh: "fc.oh"; oi: "fc.oi"; oj: "fc.oj"; ok: "fc.ok"; ol: "fc.ol"; om: "fc.om"; on: "fc.on"; oo: "fc.oo"; op: "fc.op"; oq: "fc.oq"; or: "fc.or"; os: "fc.os"; ot: "fc.ot"; ou: "fc.ou"; ov: "fc.ov"; ow: "fc.ow"; ox: "fc.ox"; oy: "fc.oy"; oz: "fc.oz"; pa: "fc.pa"; pb: "fc.pb"; pc: "fc.pc"; pd: "fc.pd"; pe: "fc.pe"; pf: "fc.pf"; pg: "fc.pg"; ph: "fc.ph"; pi: "fc.pi"; pj: "fc.pj"; pk: "fc.pk"; pl: "fc.pl"; pm: "fc.pm"; pn: "fc.pn"; po: "fc.po"; pp: "fc.pp"; pq: "fc.pq"; pr: "fc.pr"; ps: "fc.ps"; pt: "fc.pt"; pu: "fc.pu"; pv: "fc.pv"; pw: "fc.pw"; px: "fc.px"; py: "fc.py"; pz: "fc.pz"; qa: "fc.qa"; qb: "fc.qb"; qc: "fc.qc"; qd: "fc.qd"; qe: "fc.qe"; qf: "fc.qf"; qg: "fc.qg"; qh: "fc.qh"; qi: "fc.qi"; qj: "fc.qj"; qk: "fc.qk"; ql: "fc.ql"; qm: "fc.qm"; qn: "fc.qn"; qo: "fc.qo"; qp: "fc.qp"; qq: "fc.qq"; qr: "fc.qr"; qs: "fc.qs"; qt: "fc.qt"; qu: "fc.qu"; qv: "fc.qv"; qw: "fc.qw"; qx: "fc.qx"; qy: "fc.qy"; qz: "fc.qz"; ra: "fc.ra"; rb: "fc.rb"; rc: "fc.rc"; rd: "fc.rd"; re: "fc.re"; rf: "fc.rf"; rg: "fc.rg"; rh: "fc.rh"; ri: "fc.ri"; rj: "fc.rj"; rk: "fc.rk"; rl: "fc.rl"; rm: "fc.rm"; rn: "fc.rn"; ro: "fc.ro"; rp: "fc.rp"; rq: "fc.rq"; rr: "fc.rr"; rs: "fc.rs"; rt: "fc.rt"; ru: "fc.ru"; rv: "fc.rv"; rw: "fc.rw"; rx: "fc.rx"; ry: "fc.ry"; rz: "fc.rz"; sa: "fc.sa"; sb: "fc.sb"; sc: "fc.sc"; sd: "fc.sd"; se: "fc.se"; sf: "fc.sf"; sg: "fc.sg"; sh: "fc.sh"; si: "fc.si"; sj: "fc.sj"; sk: "fc.sk"; sl: "fc.sl"; sm: "fc.sm"; sn: "fc.sn"; so: "fc.so"; sp: "fc.sp"; sq: "fc.sq"; sr: "fc.sr"; ss: "fc.ss"; st: "fc.st"; su: "fc.su"; sv: "fc.sv"; sw: "fc.sw"; sx: "fc.sx"; sy: "fc.sy"; sz: "fc.sz"; ta: "fc.ta"; tb: "fc.tb"; tc: "fc.tc"; td: "fc.td"; te: "fc.te"; tf: "fc.tf"; tg: "fc.tg"; th: "fc.th"; ti: "fc.ti"; tj: "fc.tj"; tk: "fc.tk"; tl: "fc.tl"; tm: "fc.tm"; tn: "fc.tn"; to: "fc.to"; tp: "fc.tp"; tq: "fc.tq"; tr: "fc.tr"; ts: "fc.ts"; tt: "fc.tt"; tu: "fc.tu"; tv: "fc.tv"; tw: "fc.tw"; tx: "fc.tx"; ty: "fc.ty"; tz: "fc.tz"; ua: "fc.ua"; ub: "fc.ub"; uc: "fc.uc"; ud: "fc.ud"; ue: "fc.ue"; uf: "fc.uf"; ug: "fc.ug"; uh: "fc.uh"; ui: "fc.ui"; uj: "fc.uj"; uk: "fc.uk"; ul: "fc.ul"; um: "fc.um"; un: "fc.un"; uo: "fc.uo"; up: "fc.up"; uq: "fc.uq"; ur: "fc.ur"; us: "fc.us"; ut: "fc.ut"; uu: "fc.uu"; uv: "fc.uv"; uw: "fc.uw"; ux: "fc.ux"; uy: "fc.uy"; uz: "fc.uz"; va: "fc.va"; vb: "fc.vb"; vc: "fc.vc"; vd: "fc.vd"; ve: "fc.ve"; vf: "fc.vf"; vg: "fc.vg"; vh: "fc.vh"; vi: "fc.vi"; vj: "fc.vj"; vk: "fc.vk"; vl: "fc.vl"; vm: "fc.vm"; vn: "fc.vn"; vo: "fc.vo"; vp: "fc.vp"; vq: "fc.vq"; vr: "fc.vr"; vs: "fc.vs"; vt: "fc.vt"; vu: "fc.vu"; vv: "fc.vv"; vw: "fc.vw"; vx: "fc.vx"; vy: "fc.vy"; vz: "fc.vz"; wa: "fc.wa"; wb: "fc.wb"; wc: "fc.wc"; wd: "fc.wd"; we: "fc.we"; wf: "fc.wf"; wg: "fc.wg"; wh: "fc.wh"; wi: "fc.wi"; wj: "fc.wj"; wk: "fc.wk"; wl: "fc.wl"; wm: "fc.wm"; wn: "fc.wn"; wo: "fc.wo"; wp: "fc.wp"; wq: "fc.wq"; wr: "fc.wr"; ws: "fc.ws"; wt: "fc.wt"; wu: "fc.wu"; wv: "fc.wv"; ww: "fc.ww"; wx: "fc.wx"; wy: "fc.wy"; wz: "fc.wz"; xa: "fc.xa"; xb: "fc.xb"; xc: "fc.xc"; xd: "fc.xd"; xe: "fc.xe"; xf: "fc.xf"; xg: "fc.xg"; xh: "fc.xh"; xi: "fc.xi"; xj: "fc.xj"; xk: "fc.xk"; xl: "fc.xl"; xm: "fc.xm"; xn: "fc.xn"; xo: "fc.xo"; xp: "fc.xp"; xq: "fc.xq"; xr: "fc.xr"; xs: "fc.xs"; xt: "fc.xt"; xu: "fc.xu"; xv: "fc.xv"; xw: "fc.xw"; xx: "fc.xx"; xy: "fc.xy"; xz: "fc.xz"; ya: "fc.ya"; yb: "fc.yb"; yc: "fc.yc"; yd: "fc.yd"; ye: "fc.ye"; yf: "fc.yf"; yg: "fc.yg"; yh: "fc.yh"; yi: "fc.yi"; yj: "fc.yj"; yk: "fc.yk"; yl: "fc.yl"; ym: "fc.ym"; yn: "fc.yn"; yo: "fc.yo"; yp: "fc.yp"; yq: "fc.yq"; yr: "fc.yr"; ys: "fc.ys"; yt: "fc.yt"; yu: "fc.yu"; yv: "fc.yv"; yw: "fc.yw"; yx: "fc.yx"; yy: "fc.yy"; yz: "fc.yz"; za: "fc.za"; zb: "fc.zb"; zc: "fc.zc"; zd: "fc.zd"; ze: "fc.ze"; zf: "fc.zf"; zg: "fc.zg"; zh: "fc.zh"; zi: "fc.zi"; zj: "fc.zj"; zk: "fc.zk"; zl: "fc.zl"; zm: "fc.zm"; zn: "fc.zn"; zo: "fc.zo"; zp: "fc.zp"; zq: "fc.zq"; zr: "fc.zr"; zs: "fc.zs"; zt: "fc.zt"; zu: "fc.zu"; zv: "fc.zv"; zw: "fc.zw"; zx: "fc.zx"; zy: "fc.zy"; zz: "fc.zz"; }; fd: { aa: "fd.aa"; ab: "fd.ab"; ac: "fd.ac"; ad: "fd.ad"; ae: "fd.ae"; af: "fd.af"; ag: "fd.ag"; ah: "fd.ah"; ai: "fd.ai"; aj: "fd.aj"; ak: "fd.ak"; al: "fd.al"; am: "fd.am"; an: "fd.an"; ao: "fd.ao"; ap: "fd.ap"; aq: "fd.aq"; ar: "fd.ar"; as: "fd.as"; at: "fd.at"; au: "fd.au"; av: "fd.av"; aw: "fd.aw"; ax: "fd.ax"; ay: "fd.ay"; az: "fd.az"; ba: "fd.ba"; bb: "fd.bb"; bc: "fd.bc"; bd: "fd.bd"; be: "fd.be"; bf: "fd.bf"; bg: "fd.bg"; bh: "fd.bh"; bi: "fd.bi"; bj: "fd.bj"; bk: "fd.bk"; bl: "fd.bl"; bm: "fd.bm"; bn: "fd.bn"; bo: "fd.bo"; bp: "fd.bp"; bq: "fd.bq"; br: "fd.br"; bs: "fd.bs"; bt: "fd.bt"; bu: "fd.bu"; bv: "fd.bv"; bw: "fd.bw"; bx: "fd.bx"; by: "fd.by"; bz: "fd.bz"; ca: "fd.ca"; cb: "fd.cb"; cc: "fd.cc"; cd: "fd.cd"; ce: "fd.ce"; cf: "fd.cf"; cg: "fd.cg"; ch: "fd.ch"; ci: "fd.ci"; cj: "fd.cj"; ck: "fd.ck"; cl: "fd.cl"; cm: "fd.cm"; cn: "fd.cn"; co: "fd.co"; cp: "fd.cp"; cq: "fd.cq"; cr: "fd.cr"; cs: "fd.cs"; ct: "fd.ct"; cu: "fd.cu"; cv: "fd.cv"; cw: "fd.cw"; cx: "fd.cx"; cy: "fd.cy"; cz: "fd.cz"; da: "fd.da"; db: "fd.db"; dc: "fd.dc"; dd: "fd.dd"; de: "fd.de"; df: "fd.df"; dg: "fd.dg"; dh: "fd.dh"; di: "fd.di"; dj: "fd.dj"; dk: "fd.dk"; dl: "fd.dl"; dm: "fd.dm"; dn: "fd.dn"; do: "fd.do"; dp: "fd.dp"; dq: "fd.dq"; dr: "fd.dr"; ds: "fd.ds"; dt: "fd.dt"; du: "fd.du"; dv: "fd.dv"; dw: "fd.dw"; dx: "fd.dx"; dy: "fd.dy"; dz: "fd.dz"; ea: "fd.ea"; eb: "fd.eb"; ec: "fd.ec"; ed: "fd.ed"; ee: "fd.ee"; ef: "fd.ef"; eg: "fd.eg"; eh: "fd.eh"; ei: "fd.ei"; ej: "fd.ej"; ek: "fd.ek"; el: "fd.el"; em: "fd.em"; en: "fd.en"; eo: "fd.eo"; ep: "fd.ep"; eq: "fd.eq"; er: "fd.er"; es: "fd.es"; et: "fd.et"; eu: "fd.eu"; ev: "fd.ev"; ew: "fd.ew"; ex: "fd.ex"; ey: "fd.ey"; ez: "fd.ez"; fa: "fd.fa"; fb: "fd.fb"; fc: "fd.fc"; fd: "fd.fd"; fe: "fd.fe"; ff: "fd.ff"; fg: "fd.fg"; fh: "fd.fh"; fi: "fd.fi"; fj: "fd.fj"; fk: "fd.fk"; fl: "fd.fl"; fm: "fd.fm"; fn: "fd.fn"; fo: "fd.fo"; fp: "fd.fp"; fq: "fd.fq"; fr: "fd.fr"; fs: "fd.fs"; ft: "fd.ft"; fu: "fd.fu"; fv: "fd.fv"; fw: "fd.fw"; fx: "fd.fx"; fy: "fd.fy"; fz: "fd.fz"; ga: "fd.ga"; gb: "fd.gb"; gc: "fd.gc"; gd: "fd.gd"; ge: "fd.ge"; gf: "fd.gf"; gg: "fd.gg"; gh: "fd.gh"; gi: "fd.gi"; gj: "fd.gj"; gk: "fd.gk"; gl: "fd.gl"; gm: "fd.gm"; gn: "fd.gn"; go: "fd.go"; gp: "fd.gp"; gq: "fd.gq"; gr: "fd.gr"; gs: "fd.gs"; gt: "fd.gt"; gu: "fd.gu"; gv: "fd.gv"; gw: "fd.gw"; gx: "fd.gx"; gy: "fd.gy"; gz: "fd.gz"; ha: "fd.ha"; hb: "fd.hb"; hc: "fd.hc"; hd: "fd.hd"; he: "fd.he"; hf: "fd.hf"; hg: "fd.hg"; hh: "fd.hh"; hi: "fd.hi"; hj: "fd.hj"; hk: "fd.hk"; hl: "fd.hl"; hm: "fd.hm"; hn: "fd.hn"; ho: "fd.ho"; hp: "fd.hp"; hq: "fd.hq"; hr: "fd.hr"; hs: "fd.hs"; ht: "fd.ht"; hu: "fd.hu"; hv: "fd.hv"; hw: "fd.hw"; hx: "fd.hx"; hy: "fd.hy"; hz: "fd.hz"; ia: "fd.ia"; ib: "fd.ib"; ic: "fd.ic"; id: "fd.id"; ie: "fd.ie"; if: "fd.if"; ig: "fd.ig"; ih: "fd.ih"; ii: "fd.ii"; ij: "fd.ij"; ik: "fd.ik"; il: "fd.il"; im: "fd.im"; in: "fd.in"; io: "fd.io"; ip: "fd.ip"; iq: "fd.iq"; ir: "fd.ir"; is: "fd.is"; it: "fd.it"; iu: "fd.iu"; iv: "fd.iv"; iw: "fd.iw"; ix: "fd.ix"; iy: "fd.iy"; iz: "fd.iz"; ja: "fd.ja"; jb: "fd.jb"; jc: "fd.jc"; jd: "fd.jd"; je: "fd.je"; jf: "fd.jf"; jg: "fd.jg"; jh: "fd.jh"; ji: "fd.ji"; jj: "fd.jj"; jk: "fd.jk"; jl: "fd.jl"; jm: "fd.jm"; jn: "fd.jn"; jo: "fd.jo"; jp: "fd.jp"; jq: "fd.jq"; jr: "fd.jr"; js: "fd.js"; jt: "fd.jt"; ju: "fd.ju"; jv: "fd.jv"; jw: "fd.jw"; jx: "fd.jx"; jy: "fd.jy"; jz: "fd.jz"; ka: "fd.ka"; kb: "fd.kb"; kc: "fd.kc"; kd: "fd.kd"; ke: "fd.ke"; kf: "fd.kf"; kg: "fd.kg"; kh: "fd.kh"; ki: "fd.ki"; kj: "fd.kj"; kk: "fd.kk"; kl: "fd.kl"; km: "fd.km"; kn: "fd.kn"; ko: "fd.ko"; kp: "fd.kp"; kq: "fd.kq"; kr: "fd.kr"; ks: "fd.ks"; kt: "fd.kt"; ku: "fd.ku"; kv: "fd.kv"; kw: "fd.kw"; kx: "fd.kx"; ky: "fd.ky"; kz: "fd.kz"; la: "fd.la"; lb: "fd.lb"; lc: "fd.lc"; ld: "fd.ld"; le: "fd.le"; lf: "fd.lf"; lg: "fd.lg"; lh: "fd.lh"; li: "fd.li"; lj: "fd.lj"; lk: "fd.lk"; ll: "fd.ll"; lm: "fd.lm"; ln: "fd.ln"; lo: "fd.lo"; lp: "fd.lp"; lq: "fd.lq"; lr: "fd.lr"; ls: "fd.ls"; lt: "fd.lt"; lu: "fd.lu"; lv: "fd.lv"; lw: "fd.lw"; lx: "fd.lx"; ly: "fd.ly"; lz: "fd.lz"; ma: "fd.ma"; mb: "fd.mb"; mc: "fd.mc"; md: "fd.md"; me: "fd.me"; mf: "fd.mf"; mg: "fd.mg"; mh: "fd.mh"; mi: "fd.mi"; mj: "fd.mj"; mk: "fd.mk"; ml: "fd.ml"; mm: "fd.mm"; mn: "fd.mn"; mo: "fd.mo"; mp: "fd.mp"; mq: "fd.mq"; mr: "fd.mr"; ms: "fd.ms"; mt: "fd.mt"; mu: "fd.mu"; mv: "fd.mv"; mw: "fd.mw"; mx: "fd.mx"; my: "fd.my"; mz: "fd.mz"; na: "fd.na"; nb: "fd.nb"; nc: "fd.nc"; nd: "fd.nd"; ne: "fd.ne"; nf: "fd.nf"; ng: "fd.ng"; nh: "fd.nh"; ni: "fd.ni"; nj: "fd.nj"; nk: "fd.nk"; nl: "fd.nl"; nm: "fd.nm"; nn: "fd.nn"; no: "fd.no"; np: "fd.np"; nq: "fd.nq"; nr: "fd.nr"; ns: "fd.ns"; nt: "fd.nt"; nu: "fd.nu"; nv: "fd.nv"; nw: "fd.nw"; nx: "fd.nx"; ny: "fd.ny"; nz: "fd.nz"; oa: "fd.oa"; ob: "fd.ob"; oc: "fd.oc"; od: "fd.od"; oe: "fd.oe"; of: "fd.of"; og: "fd.og"; oh: "fd.oh"; oi: "fd.oi"; oj: "fd.oj"; ok: "fd.ok"; ol: "fd.ol"; om: "fd.om"; on: "fd.on"; oo: "fd.oo"; op: "fd.op"; oq: "fd.oq"; or: "fd.or"; os: "fd.os"; ot: "fd.ot"; ou: "fd.ou"; ov: "fd.ov"; ow: "fd.ow"; ox: "fd.ox"; oy: "fd.oy"; oz: "fd.oz"; pa: "fd.pa"; pb: "fd.pb"; pc: "fd.pc"; pd: "fd.pd"; pe: "fd.pe"; pf: "fd.pf"; pg: "fd.pg"; ph: "fd.ph"; pi: "fd.pi"; pj: "fd.pj"; pk: "fd.pk"; pl: "fd.pl"; pm: "fd.pm"; pn: "fd.pn"; po: "fd.po"; pp: "fd.pp"; pq: "fd.pq"; pr: "fd.pr"; ps: "fd.ps"; pt: "fd.pt"; pu: "fd.pu"; pv: "fd.pv"; pw: "fd.pw"; px: "fd.px"; py: "fd.py"; pz: "fd.pz"; qa: "fd.qa"; qb: "fd.qb"; qc: "fd.qc"; qd: "fd.qd"; qe: "fd.qe"; qf: "fd.qf"; qg: "fd.qg"; qh: "fd.qh"; qi: "fd.qi"; qj: "fd.qj"; qk: "fd.qk"; ql: "fd.ql"; qm: "fd.qm"; qn: "fd.qn"; qo: "fd.qo"; qp: "fd.qp"; qq: "fd.qq"; qr: "fd.qr"; qs: "fd.qs"; qt: "fd.qt"; qu: "fd.qu"; qv: "fd.qv"; qw: "fd.qw"; qx: "fd.qx"; qy: "fd.qy"; qz: "fd.qz"; ra: "fd.ra"; rb: "fd.rb"; rc: "fd.rc"; rd: "fd.rd"; re: "fd.re"; rf: "fd.rf"; rg: "fd.rg"; rh: "fd.rh"; ri: "fd.ri"; rj: "fd.rj"; rk: "fd.rk"; rl: "fd.rl"; rm: "fd.rm"; rn: "fd.rn"; ro: "fd.ro"; rp: "fd.rp"; rq: "fd.rq"; rr: "fd.rr"; rs: "fd.rs"; rt: "fd.rt"; ru: "fd.ru"; rv: "fd.rv"; rw: "fd.rw"; rx: "fd.rx"; ry: "fd.ry"; rz: "fd.rz"; sa: "fd.sa"; sb: "fd.sb"; sc: "fd.sc"; sd: "fd.sd"; se: "fd.se"; sf: "fd.sf"; sg: "fd.sg"; sh: "fd.sh"; si: "fd.si"; sj: "fd.sj"; sk: "fd.sk"; sl: "fd.sl"; sm: "fd.sm"; sn: "fd.sn"; so: "fd.so"; sp: "fd.sp"; sq: "fd.sq"; sr: "fd.sr"; ss: "fd.ss"; st: "fd.st"; su: "fd.su"; sv: "fd.sv"; sw: "fd.sw"; sx: "fd.sx"; sy: "fd.sy"; sz: "fd.sz"; ta: "fd.ta"; tb: "fd.tb"; tc: "fd.tc"; td: "fd.td"; te: "fd.te"; tf: "fd.tf"; tg: "fd.tg"; th: "fd.th"; ti: "fd.ti"; tj: "fd.tj"; tk: "fd.tk"; tl: "fd.tl"; tm: "fd.tm"; tn: "fd.tn"; to: "fd.to"; tp: "fd.tp"; tq: "fd.tq"; tr: "fd.tr"; ts: "fd.ts"; tt: "fd.tt"; tu: "fd.tu"; tv: "fd.tv"; tw: "fd.tw"; tx: "fd.tx"; ty: "fd.ty"; tz: "fd.tz"; ua: "fd.ua"; ub: "fd.ub"; uc: "fd.uc"; ud: "fd.ud"; ue: "fd.ue"; uf: "fd.uf"; ug: "fd.ug"; uh: "fd.uh"; ui: "fd.ui"; uj: "fd.uj"; uk: "fd.uk"; ul: "fd.ul"; um: "fd.um"; un: "fd.un"; uo: "fd.uo"; up: "fd.up"; uq: "fd.uq"; ur: "fd.ur"; us: "fd.us"; ut: "fd.ut"; uu: "fd.uu"; uv: "fd.uv"; uw: "fd.uw"; ux: "fd.ux"; uy: "fd.uy"; uz: "fd.uz"; va: "fd.va"; vb: "fd.vb"; vc: "fd.vc"; vd: "fd.vd"; ve: "fd.ve"; vf: "fd.vf"; vg: "fd.vg"; vh: "fd.vh"; vi: "fd.vi"; vj: "fd.vj"; vk: "fd.vk"; vl: "fd.vl"; vm: "fd.vm"; vn: "fd.vn"; vo: "fd.vo"; vp: "fd.vp"; vq: "fd.vq"; vr: "fd.vr"; vs: "fd.vs"; vt: "fd.vt"; vu: "fd.vu"; vv: "fd.vv"; vw: "fd.vw"; vx: "fd.vx"; vy: "fd.vy"; vz: "fd.vz"; wa: "fd.wa"; wb: "fd.wb"; wc: "fd.wc"; wd: "fd.wd"; we: "fd.we"; wf: "fd.wf"; wg: "fd.wg"; wh: "fd.wh"; wi: "fd.wi"; wj: "fd.wj"; wk: "fd.wk"; wl: "fd.wl"; wm: "fd.wm"; wn: "fd.wn"; wo: "fd.wo"; wp: "fd.wp"; wq: "fd.wq"; wr: "fd.wr"; ws: "fd.ws"; wt: "fd.wt"; wu: "fd.wu"; wv: "fd.wv"; ww: "fd.ww"; wx: "fd.wx"; wy: "fd.wy"; wz: "fd.wz"; xa: "fd.xa"; xb: "fd.xb"; xc: "fd.xc"; xd: "fd.xd"; xe: "fd.xe"; xf: "fd.xf"; xg: "fd.xg"; xh: "fd.xh"; xi: "fd.xi"; xj: "fd.xj"; xk: "fd.xk"; xl: "fd.xl"; xm: "fd.xm"; xn: "fd.xn"; xo: "fd.xo"; xp: "fd.xp"; xq: "fd.xq"; xr: "fd.xr"; xs: "fd.xs"; xt: "fd.xt"; xu: "fd.xu"; xv: "fd.xv"; xw: "fd.xw"; xx: "fd.xx"; xy: "fd.xy"; xz: "fd.xz"; ya: "fd.ya"; yb: "fd.yb"; yc: "fd.yc"; yd: "fd.yd"; ye: "fd.ye"; yf: "fd.yf"; yg: "fd.yg"; yh: "fd.yh"; yi: "fd.yi"; yj: "fd.yj"; yk: "fd.yk"; yl: "fd.yl"; ym: "fd.ym"; yn: "fd.yn"; yo: "fd.yo"; yp: "fd.yp"; yq: "fd.yq"; yr: "fd.yr"; ys: "fd.ys"; yt: "fd.yt"; yu: "fd.yu"; yv: "fd.yv"; yw: "fd.yw"; yx: "fd.yx"; yy: "fd.yy"; yz: "fd.yz"; za: "fd.za"; zb: "fd.zb"; zc: "fd.zc"; zd: "fd.zd"; ze: "fd.ze"; zf: "fd.zf"; zg: "fd.zg"; zh: "fd.zh"; zi: "fd.zi"; zj: "fd.zj"; zk: "fd.zk"; zl: "fd.zl"; zm: "fd.zm"; zn: "fd.zn"; zo: "fd.zo"; zp: "fd.zp"; zq: "fd.zq"; zr: "fd.zr"; zs: "fd.zs"; zt: "fd.zt"; zu: "fd.zu"; zv: "fd.zv"; zw: "fd.zw"; zx: "fd.zx"; zy: "fd.zy"; zz: "fd.zz"; }; fe: { aa: "fe.aa"; ab: "fe.ab"; ac: "fe.ac"; ad: "fe.ad"; ae: "fe.ae"; af: "fe.af"; ag: "fe.ag"; ah: "fe.ah"; ai: "fe.ai"; aj: "fe.aj"; ak: "fe.ak"; al: "fe.al"; am: "fe.am"; an: "fe.an"; ao: "fe.ao"; ap: "fe.ap"; aq: "fe.aq"; ar: "fe.ar"; as: "fe.as"; at: "fe.at"; au: "fe.au"; av: "fe.av"; aw: "fe.aw"; ax: "fe.ax"; ay: "fe.ay"; az: "fe.az"; ba: "fe.ba"; bb: "fe.bb"; bc: "fe.bc"; bd: "fe.bd"; be: "fe.be"; bf: "fe.bf"; bg: "fe.bg"; bh: "fe.bh"; bi: "fe.bi"; bj: "fe.bj"; bk: "fe.bk"; bl: "fe.bl"; bm: "fe.bm"; bn: "fe.bn"; bo: "fe.bo"; bp: "fe.bp"; bq: "fe.bq"; br: "fe.br"; bs: "fe.bs"; bt: "fe.bt"; bu: "fe.bu"; bv: "fe.bv"; bw: "fe.bw"; bx: "fe.bx"; by: "fe.by"; bz: "fe.bz"; ca: "fe.ca"; cb: "fe.cb"; cc: "fe.cc"; cd: "fe.cd"; ce: "fe.ce"; cf: "fe.cf"; cg: "fe.cg"; ch: "fe.ch"; ci: "fe.ci"; cj: "fe.cj"; ck: "fe.ck"; cl: "fe.cl"; cm: "fe.cm"; cn: "fe.cn"; co: "fe.co"; cp: "fe.cp"; cq: "fe.cq"; cr: "fe.cr"; cs: "fe.cs"; ct: "fe.ct"; cu: "fe.cu"; cv: "fe.cv"; cw: "fe.cw"; cx: "fe.cx"; cy: "fe.cy"; cz: "fe.cz"; da: "fe.da"; db: "fe.db"; dc: "fe.dc"; dd: "fe.dd"; de: "fe.de"; df: "fe.df"; dg: "fe.dg"; dh: "fe.dh"; di: "fe.di"; dj: "fe.dj"; dk: "fe.dk"; dl: "fe.dl"; dm: "fe.dm"; dn: "fe.dn"; do: "fe.do"; dp: "fe.dp"; dq: "fe.dq"; dr: "fe.dr"; ds: "fe.ds"; dt: "fe.dt"; du: "fe.du"; dv: "fe.dv"; dw: "fe.dw"; dx: "fe.dx"; dy: "fe.dy"; dz: "fe.dz"; ea: "fe.ea"; eb: "fe.eb"; ec: "fe.ec"; ed: "fe.ed"; ee: "fe.ee"; ef: "fe.ef"; eg: "fe.eg"; eh: "fe.eh"; ei: "fe.ei"; ej: "fe.ej"; ek: "fe.ek"; el: "fe.el"; em: "fe.em"; en: "fe.en"; eo: "fe.eo"; ep: "fe.ep"; eq: "fe.eq"; er: "fe.er"; es: "fe.es"; et: "fe.et"; eu: "fe.eu"; ev: "fe.ev"; ew: "fe.ew"; ex: "fe.ex"; ey: "fe.ey"; ez: "fe.ez"; fa: "fe.fa"; fb: "fe.fb"; fc: "fe.fc"; fd: "fe.fd"; fe: "fe.fe"; ff: "fe.ff"; fg: "fe.fg"; fh: "fe.fh"; fi: "fe.fi"; fj: "fe.fj"; fk: "fe.fk"; fl: "fe.fl"; fm: "fe.fm"; fn: "fe.fn"; fo: "fe.fo"; fp: "fe.fp"; fq: "fe.fq"; fr: "fe.fr"; fs: "fe.fs"; ft: "fe.ft"; fu: "fe.fu"; fv: "fe.fv"; fw: "fe.fw"; fx: "fe.fx"; fy: "fe.fy"; fz: "fe.fz"; ga: "fe.ga"; gb: "fe.gb"; gc: "fe.gc"; gd: "fe.gd"; ge: "fe.ge"; gf: "fe.gf"; gg: "fe.gg"; gh: "fe.gh"; gi: "fe.gi"; gj: "fe.gj"; gk: "fe.gk"; gl: "fe.gl"; gm: "fe.gm"; gn: "fe.gn"; go: "fe.go"; gp: "fe.gp"; gq: "fe.gq"; gr: "fe.gr"; gs: "fe.gs"; gt: "fe.gt"; gu: "fe.gu"; gv: "fe.gv"; gw: "fe.gw"; gx: "fe.gx"; gy: "fe.gy"; gz: "fe.gz"; ha: "fe.ha"; hb: "fe.hb"; hc: "fe.hc"; hd: "fe.hd"; he: "fe.he"; hf: "fe.hf"; hg: "fe.hg"; hh: "fe.hh"; hi: "fe.hi"; hj: "fe.hj"; hk: "fe.hk"; hl: "fe.hl"; hm: "fe.hm"; hn: "fe.hn"; ho: "fe.ho"; hp: "fe.hp"; hq: "fe.hq"; hr: "fe.hr"; hs: "fe.hs"; ht: "fe.ht"; hu: "fe.hu"; hv: "fe.hv"; hw: "fe.hw"; hx: "fe.hx"; hy: "fe.hy"; hz: "fe.hz"; ia: "fe.ia"; ib: "fe.ib"; ic: "fe.ic"; id: "fe.id"; ie: "fe.ie"; if: "fe.if"; ig: "fe.ig"; ih: "fe.ih"; ii: "fe.ii"; ij: "fe.ij"; ik: "fe.ik"; il: "fe.il"; im: "fe.im"; in: "fe.in"; io: "fe.io"; ip: "fe.ip"; iq: "fe.iq"; ir: "fe.ir"; is: "fe.is"; it: "fe.it"; iu: "fe.iu"; iv: "fe.iv"; iw: "fe.iw"; ix: "fe.ix"; iy: "fe.iy"; iz: "fe.iz"; ja: "fe.ja"; jb: "fe.jb"; jc: "fe.jc"; jd: "fe.jd"; je: "fe.je"; jf: "fe.jf"; jg: "fe.jg"; jh: "fe.jh"; ji: "fe.ji"; jj: "fe.jj"; jk: "fe.jk"; jl: "fe.jl"; jm: "fe.jm"; jn: "fe.jn"; jo: "fe.jo"; jp: "fe.jp"; jq: "fe.jq"; jr: "fe.jr"; js: "fe.js"; jt: "fe.jt"; ju: "fe.ju"; jv: "fe.jv"; jw: "fe.jw"; jx: "fe.jx"; jy: "fe.jy"; jz: "fe.jz"; ka: "fe.ka"; kb: "fe.kb"; kc: "fe.kc"; kd: "fe.kd"; ke: "fe.ke"; kf: "fe.kf"; kg: "fe.kg"; kh: "fe.kh"; ki: "fe.ki"; kj: "fe.kj"; kk: "fe.kk"; kl: "fe.kl"; km: "fe.km"; kn: "fe.kn"; ko: "fe.ko"; kp: "fe.kp"; kq: "fe.kq"; kr: "fe.kr"; ks: "fe.ks"; kt: "fe.kt"; ku: "fe.ku"; kv: "fe.kv"; kw: "fe.kw"; kx: "fe.kx"; ky: "fe.ky"; kz: "fe.kz"; la: "fe.la"; lb: "fe.lb"; lc: "fe.lc"; ld: "fe.ld"; le: "fe.le"; lf: "fe.lf"; lg: "fe.lg"; lh: "fe.lh"; li: "fe.li"; lj: "fe.lj"; lk: "fe.lk"; ll: "fe.ll"; lm: "fe.lm"; ln: "fe.ln"; lo: "fe.lo"; lp: "fe.lp"; lq: "fe.lq"; lr: "fe.lr"; ls: "fe.ls"; lt: "fe.lt"; lu: "fe.lu"; lv: "fe.lv"; lw: "fe.lw"; lx: "fe.lx"; ly: "fe.ly"; lz: "fe.lz"; ma: "fe.ma"; mb: "fe.mb"; mc: "fe.mc"; md: "fe.md"; me: "fe.me"; mf: "fe.mf"; mg: "fe.mg"; mh: "fe.mh"; mi: "fe.mi"; mj: "fe.mj"; mk: "fe.mk"; ml: "fe.ml"; mm: "fe.mm"; mn: "fe.mn"; mo: "fe.mo"; mp: "fe.mp"; mq: "fe.mq"; mr: "fe.mr"; ms: "fe.ms"; mt: "fe.mt"; mu: "fe.mu"; mv: "fe.mv"; mw: "fe.mw"; mx: "fe.mx"; my: "fe.my"; mz: "fe.mz"; na: "fe.na"; nb: "fe.nb"; nc: "fe.nc"; nd: "fe.nd"; ne: "fe.ne"; nf: "fe.nf"; ng: "fe.ng"; nh: "fe.nh"; ni: "fe.ni"; nj: "fe.nj"; nk: "fe.nk"; nl: "fe.nl"; nm: "fe.nm"; nn: "fe.nn"; no: "fe.no"; np: "fe.np"; nq: "fe.nq"; nr: "fe.nr"; ns: "fe.ns"; nt: "fe.nt"; nu: "fe.nu"; nv: "fe.nv"; nw: "fe.nw"; nx: "fe.nx"; ny: "fe.ny"; nz: "fe.nz"; oa: "fe.oa"; ob: "fe.ob"; oc: "fe.oc"; od: "fe.od"; oe: "fe.oe"; of: "fe.of"; og: "fe.og"; oh: "fe.oh"; oi: "fe.oi"; oj: "fe.oj"; ok: "fe.ok"; ol: "fe.ol"; om: "fe.om"; on: "fe.on"; oo: "fe.oo"; op: "fe.op"; oq: "fe.oq"; or: "fe.or"; os: "fe.os"; ot: "fe.ot"; ou: "fe.ou"; ov: "fe.ov"; ow: "fe.ow"; ox: "fe.ox"; oy: "fe.oy"; oz: "fe.oz"; pa: "fe.pa"; pb: "fe.pb"; pc: "fe.pc"; pd: "fe.pd"; pe: "fe.pe"; pf: "fe.pf"; pg: "fe.pg"; ph: "fe.ph"; pi: "fe.pi"; pj: "fe.pj"; pk: "fe.pk"; pl: "fe.pl"; pm: "fe.pm"; pn: "fe.pn"; po: "fe.po"; pp: "fe.pp"; pq: "fe.pq"; pr: "fe.pr"; ps: "fe.ps"; pt: "fe.pt"; pu: "fe.pu"; pv: "fe.pv"; pw: "fe.pw"; px: "fe.px"; py: "fe.py"; pz: "fe.pz"; qa: "fe.qa"; qb: "fe.qb"; qc: "fe.qc"; qd: "fe.qd"; qe: "fe.qe"; qf: "fe.qf"; qg: "fe.qg"; qh: "fe.qh"; qi: "fe.qi"; qj: "fe.qj"; qk: "fe.qk"; ql: "fe.ql"; qm: "fe.qm"; qn: "fe.qn"; qo: "fe.qo"; qp: "fe.qp"; qq: "fe.qq"; qr: "fe.qr"; qs: "fe.qs"; qt: "fe.qt"; qu: "fe.qu"; qv: "fe.qv"; qw: "fe.qw"; qx: "fe.qx"; qy: "fe.qy"; qz: "fe.qz"; ra: "fe.ra"; rb: "fe.rb"; rc: "fe.rc"; rd: "fe.rd"; re: "fe.re"; rf: "fe.rf"; rg: "fe.rg"; rh: "fe.rh"; ri: "fe.ri"; rj: "fe.rj"; rk: "fe.rk"; rl: "fe.rl"; rm: "fe.rm"; rn: "fe.rn"; ro: "fe.ro"; rp: "fe.rp"; rq: "fe.rq"; rr: "fe.rr"; rs: "fe.rs"; rt: "fe.rt"; ru: "fe.ru"; rv: "fe.rv"; rw: "fe.rw"; rx: "fe.rx"; ry: "fe.ry"; rz: "fe.rz"; sa: "fe.sa"; sb: "fe.sb"; sc: "fe.sc"; sd: "fe.sd"; se: "fe.se"; sf: "fe.sf"; sg: "fe.sg"; sh: "fe.sh"; si: "fe.si"; sj: "fe.sj"; sk: "fe.sk"; sl: "fe.sl"; sm: "fe.sm"; sn: "fe.sn"; so: "fe.so"; sp: "fe.sp"; sq: "fe.sq"; sr: "fe.sr"; ss: "fe.ss"; st: "fe.st"; su: "fe.su"; sv: "fe.sv"; sw: "fe.sw"; sx: "fe.sx"; sy: "fe.sy"; sz: "fe.sz"; ta: "fe.ta"; tb: "fe.tb"; tc: "fe.tc"; td: "fe.td"; te: "fe.te"; tf: "fe.tf"; tg: "fe.tg"; th: "fe.th"; ti: "fe.ti"; tj: "fe.tj"; tk: "fe.tk"; tl: "fe.tl"; tm: "fe.tm"; tn: "fe.tn"; to: "fe.to"; tp: "fe.tp"; tq: "fe.tq"; tr: "fe.tr"; ts: "fe.ts"; tt: "fe.tt"; tu: "fe.tu"; tv: "fe.tv"; tw: "fe.tw"; tx: "fe.tx"; ty: "fe.ty"; tz: "fe.tz"; ua: "fe.ua"; ub: "fe.ub"; uc: "fe.uc"; ud: "fe.ud"; ue: "fe.ue"; uf: "fe.uf"; ug: "fe.ug"; uh: "fe.uh"; ui: "fe.ui"; uj: "fe.uj"; uk: "fe.uk"; ul: "fe.ul"; um: "fe.um"; un: "fe.un"; uo: "fe.uo"; up: "fe.up"; uq: "fe.uq"; ur: "fe.ur"; us: "fe.us"; ut: "fe.ut"; uu: "fe.uu"; uv: "fe.uv"; uw: "fe.uw"; ux: "fe.ux"; uy: "fe.uy"; uz: "fe.uz"; va: "fe.va"; vb: "fe.vb"; vc: "fe.vc"; vd: "fe.vd"; ve: "fe.ve"; vf: "fe.vf"; vg: "fe.vg"; vh: "fe.vh"; vi: "fe.vi"; vj: "fe.vj"; vk: "fe.vk"; vl: "fe.vl"; vm: "fe.vm"; vn: "fe.vn"; vo: "fe.vo"; vp: "fe.vp"; vq: "fe.vq"; vr: "fe.vr"; vs: "fe.vs"; vt: "fe.vt"; vu: "fe.vu"; vv: "fe.vv"; vw: "fe.vw"; vx: "fe.vx"; vy: "fe.vy"; vz: "fe.vz"; wa: "fe.wa"; wb: "fe.wb"; wc: "fe.wc"; wd: "fe.wd"; we: "fe.we"; wf: "fe.wf"; wg: "fe.wg"; wh: "fe.wh"; wi: "fe.wi"; wj: "fe.wj"; wk: "fe.wk"; wl: "fe.wl"; wm: "fe.wm"; wn: "fe.wn"; wo: "fe.wo"; wp: "fe.wp"; wq: "fe.wq"; wr: "fe.wr"; ws: "fe.ws"; wt: "fe.wt"; wu: "fe.wu"; wv: "fe.wv"; ww: "fe.ww"; wx: "fe.wx"; wy: "fe.wy"; wz: "fe.wz"; xa: "fe.xa"; xb: "fe.xb"; xc: "fe.xc"; xd: "fe.xd"; xe: "fe.xe"; xf: "fe.xf"; xg: "fe.xg"; xh: "fe.xh"; xi: "fe.xi"; xj: "fe.xj"; xk: "fe.xk"; xl: "fe.xl"; xm: "fe.xm"; xn: "fe.xn"; xo: "fe.xo"; xp: "fe.xp"; xq: "fe.xq"; xr: "fe.xr"; xs: "fe.xs"; xt: "fe.xt"; xu: "fe.xu"; xv: "fe.xv"; xw: "fe.xw"; xx: "fe.xx"; xy: "fe.xy"; xz: "fe.xz"; ya: "fe.ya"; yb: "fe.yb"; yc: "fe.yc"; yd: "fe.yd"; ye: "fe.ye"; yf: "fe.yf"; yg: "fe.yg"; yh: "fe.yh"; yi: "fe.yi"; yj: "fe.yj"; yk: "fe.yk"; yl: "fe.yl"; ym: "fe.ym"; yn: "fe.yn"; yo: "fe.yo"; yp: "fe.yp"; yq: "fe.yq"; yr: "fe.yr"; ys: "fe.ys"; yt: "fe.yt"; yu: "fe.yu"; yv: "fe.yv"; yw: "fe.yw"; yx: "fe.yx"; yy: "fe.yy"; yz: "fe.yz"; za: "fe.za"; zb: "fe.zb"; zc: "fe.zc"; zd: "fe.zd"; ze: "fe.ze"; zf: "fe.zf"; zg: "fe.zg"; zh: "fe.zh"; zi: "fe.zi"; zj: "fe.zj"; zk: "fe.zk"; zl: "fe.zl"; zm: "fe.zm"; zn: "fe.zn"; zo: "fe.zo"; zp: "fe.zp"; zq: "fe.zq"; zr: "fe.zr"; zs: "fe.zs"; zt: "fe.zt"; zu: "fe.zu"; zv: "fe.zv"; zw: "fe.zw"; zx: "fe.zx"; zy: "fe.zy"; zz: "fe.zz"; }; ff: { aa: "ff.aa"; ab: "ff.ab"; ac: "ff.ac"; ad: "ff.ad"; ae: "ff.ae"; af: "ff.af"; ag: "ff.ag"; ah: "ff.ah"; ai: "ff.ai"; aj: "ff.aj"; ak: "ff.ak"; al: "ff.al"; am: "ff.am"; an: "ff.an"; ao: "ff.ao"; ap: "ff.ap"; aq: "ff.aq"; ar: "ff.ar"; as: "ff.as"; at: "ff.at"; au: "ff.au"; av: "ff.av"; aw: "ff.aw"; ax: "ff.ax"; ay: "ff.ay"; az: "ff.az"; ba: "ff.ba"; bb: "ff.bb"; bc: "ff.bc"; bd: "ff.bd"; be: "ff.be"; bf: "ff.bf"; bg: "ff.bg"; bh: "ff.bh"; bi: "ff.bi"; bj: "ff.bj"; bk: "ff.bk"; bl: "ff.bl"; bm: "ff.bm"; bn: "ff.bn"; bo: "ff.bo"; bp: "ff.bp"; bq: "ff.bq"; br: "ff.br"; bs: "ff.bs"; bt: "ff.bt"; bu: "ff.bu"; bv: "ff.bv"; bw: "ff.bw"; bx: "ff.bx"; by: "ff.by"; bz: "ff.bz"; ca: "ff.ca"; cb: "ff.cb"; cc: "ff.cc"; cd: "ff.cd"; ce: "ff.ce"; cf: "ff.cf"; cg: "ff.cg"; ch: "ff.ch"; ci: "ff.ci"; cj: "ff.cj"; ck: "ff.ck"; cl: "ff.cl"; cm: "ff.cm"; cn: "ff.cn"; co: "ff.co"; cp: "ff.cp"; cq: "ff.cq"; cr: "ff.cr"; cs: "ff.cs"; ct: "ff.ct"; cu: "ff.cu"; cv: "ff.cv"; cw: "ff.cw"; cx: "ff.cx"; cy: "ff.cy"; cz: "ff.cz"; da: "ff.da"; db: "ff.db"; dc: "ff.dc"; dd: "ff.dd"; de: "ff.de"; df: "ff.df"; dg: "ff.dg"; dh: "ff.dh"; di: "ff.di"; dj: "ff.dj"; dk: "ff.dk"; dl: "ff.dl"; dm: "ff.dm"; dn: "ff.dn"; do: "ff.do"; dp: "ff.dp"; dq: "ff.dq"; dr: "ff.dr"; ds: "ff.ds"; dt: "ff.dt"; du: "ff.du"; dv: "ff.dv"; dw: "ff.dw"; dx: "ff.dx"; dy: "ff.dy"; dz: "ff.dz"; ea: "ff.ea"; eb: "ff.eb"; ec: "ff.ec"; ed: "ff.ed"; ee: "ff.ee"; ef: "ff.ef"; eg: "ff.eg"; eh: "ff.eh"; ei: "ff.ei"; ej: "ff.ej"; ek: "ff.ek"; el: "ff.el"; em: "ff.em"; en: "ff.en"; eo: "ff.eo"; ep: "ff.ep"; eq: "ff.eq"; er: "ff.er"; es: "ff.es"; et: "ff.et"; eu: "ff.eu"; ev: "ff.ev"; ew: "ff.ew"; ex: "ff.ex"; ey: "ff.ey"; ez: "ff.ez"; fa: "ff.fa"; fb: "ff.fb"; fc: "ff.fc"; fd: "ff.fd"; fe: "ff.fe"; ff: "ff.ff"; fg: "ff.fg"; fh: "ff.fh"; fi: "ff.fi"; fj: "ff.fj"; fk: "ff.fk"; fl: "ff.fl"; fm: "ff.fm"; fn: "ff.fn"; fo: "ff.fo"; fp: "ff.fp"; fq: "ff.fq"; fr: "ff.fr"; fs: "ff.fs"; ft: "ff.ft"; fu: "ff.fu"; fv: "ff.fv"; fw: "ff.fw"; fx: "ff.fx"; fy: "ff.fy"; fz: "ff.fz"; ga: "ff.ga"; gb: "ff.gb"; gc: "ff.gc"; gd: "ff.gd"; ge: "ff.ge"; gf: "ff.gf"; gg: "ff.gg"; gh: "ff.gh"; gi: "ff.gi"; gj: "ff.gj"; gk: "ff.gk"; gl: "ff.gl"; gm: "ff.gm"; gn: "ff.gn"; go: "ff.go"; gp: "ff.gp"; gq: "ff.gq"; gr: "ff.gr"; gs: "ff.gs"; gt: "ff.gt"; gu: "ff.gu"; gv: "ff.gv"; gw: "ff.gw"; gx: "ff.gx"; gy: "ff.gy"; gz: "ff.gz"; ha: "ff.ha"; hb: "ff.hb"; hc: "ff.hc"; hd: "ff.hd"; he: "ff.he"; hf: "ff.hf"; hg: "ff.hg"; hh: "ff.hh"; hi: "ff.hi"; hj: "ff.hj"; hk: "ff.hk"; hl: "ff.hl"; hm: "ff.hm"; hn: "ff.hn"; ho: "ff.ho"; hp: "ff.hp"; hq: "ff.hq"; hr: "ff.hr"; hs: "ff.hs"; ht: "ff.ht"; hu: "ff.hu"; hv: "ff.hv"; hw: "ff.hw"; hx: "ff.hx"; hy: "ff.hy"; hz: "ff.hz"; ia: "ff.ia"; ib: "ff.ib"; ic: "ff.ic"; id: "ff.id"; ie: "ff.ie"; if: "ff.if"; ig: "ff.ig"; ih: "ff.ih"; ii: "ff.ii"; ij: "ff.ij"; ik: "ff.ik"; il: "ff.il"; im: "ff.im"; in: "ff.in"; io: "ff.io"; ip: "ff.ip"; iq: "ff.iq"; ir: "ff.ir"; is: "ff.is"; it: "ff.it"; iu: "ff.iu"; iv: "ff.iv"; iw: "ff.iw"; ix: "ff.ix"; iy: "ff.iy"; iz: "ff.iz"; ja: "ff.ja"; jb: "ff.jb"; jc: "ff.jc"; jd: "ff.jd"; je: "ff.je"; jf: "ff.jf"; jg: "ff.jg"; jh: "ff.jh"; ji: "ff.ji"; jj: "ff.jj"; jk: "ff.jk"; jl: "ff.jl"; jm: "ff.jm"; jn: "ff.jn"; jo: "ff.jo"; jp: "ff.jp"; jq: "ff.jq"; jr: "ff.jr"; js: "ff.js"; jt: "ff.jt"; ju: "ff.ju"; jv: "ff.jv"; jw: "ff.jw"; jx: "ff.jx"; jy: "ff.jy"; jz: "ff.jz"; ka: "ff.ka"; kb: "ff.kb"; kc: "ff.kc"; kd: "ff.kd"; ke: "ff.ke"; kf: "ff.kf"; kg: "ff.kg"; kh: "ff.kh"; ki: "ff.ki"; kj: "ff.kj"; kk: "ff.kk"; kl: "ff.kl"; km: "ff.km"; kn: "ff.kn"; ko: "ff.ko"; kp: "ff.kp"; kq: "ff.kq"; kr: "ff.kr"; ks: "ff.ks"; kt: "ff.kt"; ku: "ff.ku"; kv: "ff.kv"; kw: "ff.kw"; kx: "ff.kx"; ky: "ff.ky"; kz: "ff.kz"; la: "ff.la"; lb: "ff.lb"; lc: "ff.lc"; ld: "ff.ld"; le: "ff.le"; lf: "ff.lf"; lg: "ff.lg"; lh: "ff.lh"; li: "ff.li"; lj: "ff.lj"; lk: "ff.lk"; ll: "ff.ll"; lm: "ff.lm"; ln: "ff.ln"; lo: "ff.lo"; lp: "ff.lp"; lq: "ff.lq"; lr: "ff.lr"; ls: "ff.ls"; lt: "ff.lt"; lu: "ff.lu"; lv: "ff.lv"; lw: "ff.lw"; lx: "ff.lx"; ly: "ff.ly"; lz: "ff.lz"; ma: "ff.ma"; mb: "ff.mb"; mc: "ff.mc"; md: "ff.md"; me: "ff.me"; mf: "ff.mf"; mg: "ff.mg"; mh: "ff.mh"; mi: "ff.mi"; mj: "ff.mj"; mk: "ff.mk"; ml: "ff.ml"; mm: "ff.mm"; mn: "ff.mn"; mo: "ff.mo"; mp: "ff.mp"; mq: "ff.mq"; mr: "ff.mr"; ms: "ff.ms"; mt: "ff.mt"; mu: "ff.mu"; mv: "ff.mv"; mw: "ff.mw"; mx: "ff.mx"; my: "ff.my"; mz: "ff.mz"; na: "ff.na"; nb: "ff.nb"; nc: "ff.nc"; nd: "ff.nd"; ne: "ff.ne"; nf: "ff.nf"; ng: "ff.ng"; nh: "ff.nh"; ni: "ff.ni"; nj: "ff.nj"; nk: "ff.nk"; nl: "ff.nl"; nm: "ff.nm"; nn: "ff.nn"; no: "ff.no"; np: "ff.np"; nq: "ff.nq"; nr: "ff.nr"; ns: "ff.ns"; nt: "ff.nt"; nu: "ff.nu"; nv: "ff.nv"; nw: "ff.nw"; nx: "ff.nx"; ny: "ff.ny"; nz: "ff.nz"; oa: "ff.oa"; ob: "ff.ob"; oc: "ff.oc"; od: "ff.od"; oe: "ff.oe"; of: "ff.of"; og: "ff.og"; oh: "ff.oh"; oi: "ff.oi"; oj: "ff.oj"; ok: "ff.ok"; ol: "ff.ol"; om: "ff.om"; on: "ff.on"; oo: "ff.oo"; op: "ff.op"; oq: "ff.oq"; or: "ff.or"; os: "ff.os"; ot: "ff.ot"; ou: "ff.ou"; ov: "ff.ov"; ow: "ff.ow"; ox: "ff.ox"; oy: "ff.oy"; oz: "ff.oz"; pa: "ff.pa"; pb: "ff.pb"; pc: "ff.pc"; pd: "ff.pd"; pe: "ff.pe"; pf: "ff.pf"; pg: "ff.pg"; ph: "ff.ph"; pi: "ff.pi"; pj: "ff.pj"; pk: "ff.pk"; pl: "ff.pl"; pm: "ff.pm"; pn: "ff.pn"; po: "ff.po"; pp: "ff.pp"; pq: "ff.pq"; pr: "ff.pr"; ps: "ff.ps"; pt: "ff.pt"; pu: "ff.pu"; pv: "ff.pv"; pw: "ff.pw"; px: "ff.px"; py: "ff.py"; pz: "ff.pz"; qa: "ff.qa"; qb: "ff.qb"; qc: "ff.qc"; qd: "ff.qd"; qe: "ff.qe"; qf: "ff.qf"; qg: "ff.qg"; qh: "ff.qh"; qi: "ff.qi"; qj: "ff.qj"; qk: "ff.qk"; ql: "ff.ql"; qm: "ff.qm"; qn: "ff.qn"; qo: "ff.qo"; qp: "ff.qp"; qq: "ff.qq"; qr: "ff.qr"; qs: "ff.qs"; qt: "ff.qt"; qu: "ff.qu"; qv: "ff.qv"; qw: "ff.qw"; qx: "ff.qx"; qy: "ff.qy"; qz: "ff.qz"; ra: "ff.ra"; rb: "ff.rb"; rc: "ff.rc"; rd: "ff.rd"; re: "ff.re"; rf: "ff.rf"; rg: "ff.rg"; rh: "ff.rh"; ri: "ff.ri"; rj: "ff.rj"; rk: "ff.rk"; rl: "ff.rl"; rm: "ff.rm"; rn: "ff.rn"; ro: "ff.ro"; rp: "ff.rp"; rq: "ff.rq"; rr: "ff.rr"; rs: "ff.rs"; rt: "ff.rt"; ru: "ff.ru"; rv: "ff.rv"; rw: "ff.rw"; rx: "ff.rx"; ry: "ff.ry"; rz: "ff.rz"; sa: "ff.sa"; sb: "ff.sb"; sc: "ff.sc"; sd: "ff.sd"; se: "ff.se"; sf: "ff.sf"; sg: "ff.sg"; sh: "ff.sh"; si: "ff.si"; sj: "ff.sj"; sk: "ff.sk"; sl: "ff.sl"; sm: "ff.sm"; sn: "ff.sn"; so: "ff.so"; sp: "ff.sp"; sq: "ff.sq"; sr: "ff.sr"; ss: "ff.ss"; st: "ff.st"; su: "ff.su"; sv: "ff.sv"; sw: "ff.sw"; sx: "ff.sx"; sy: "ff.sy"; sz: "ff.sz"; ta: "ff.ta"; tb: "ff.tb"; tc: "ff.tc"; td: "ff.td"; te: "ff.te"; tf: "ff.tf"; tg: "ff.tg"; th: "ff.th"; ti: "ff.ti"; tj: "ff.tj"; tk: "ff.tk"; tl: "ff.tl"; tm: "ff.tm"; tn: "ff.tn"; to: "ff.to"; tp: "ff.tp"; tq: "ff.tq"; tr: "ff.tr"; ts: "ff.ts"; tt: "ff.tt"; tu: "ff.tu"; tv: "ff.tv"; tw: "ff.tw"; tx: "ff.tx"; ty: "ff.ty"; tz: "ff.tz"; ua: "ff.ua"; ub: "ff.ub"; uc: "ff.uc"; ud: "ff.ud"; ue: "ff.ue"; uf: "ff.uf"; ug: "ff.ug"; uh: "ff.uh"; ui: "ff.ui"; uj: "ff.uj"; uk: "ff.uk"; ul: "ff.ul"; um: "ff.um"; un: "ff.un"; uo: "ff.uo"; up: "ff.up"; uq: "ff.uq"; ur: "ff.ur"; us: "ff.us"; ut: "ff.ut"; uu: "ff.uu"; uv: "ff.uv"; uw: "ff.uw"; ux: "ff.ux"; uy: "ff.uy"; uz: "ff.uz"; va: "ff.va"; vb: "ff.vb"; vc: "ff.vc"; vd: "ff.vd"; ve: "ff.ve"; vf: "ff.vf"; vg: "ff.vg"; vh: "ff.vh"; vi: "ff.vi"; vj: "ff.vj"; vk: "ff.vk"; vl: "ff.vl"; vm: "ff.vm"; vn: "ff.vn"; vo: "ff.vo"; vp: "ff.vp"; vq: "ff.vq"; vr: "ff.vr"; vs: "ff.vs"; vt: "ff.vt"; vu: "ff.vu"; vv: "ff.vv"; vw: "ff.vw"; vx: "ff.vx"; vy: "ff.vy"; vz: "ff.vz"; wa: "ff.wa"; wb: "ff.wb"; wc: "ff.wc"; wd: "ff.wd"; we: "ff.we"; wf: "ff.wf"; wg: "ff.wg"; wh: "ff.wh"; wi: "ff.wi"; wj: "ff.wj"; wk: "ff.wk"; wl: "ff.wl"; wm: "ff.wm"; wn: "ff.wn"; wo: "ff.wo"; wp: "ff.wp"; wq: "ff.wq"; wr: "ff.wr"; ws: "ff.ws"; wt: "ff.wt"; wu: "ff.wu"; wv: "ff.wv"; ww: "ff.ww"; wx: "ff.wx"; wy: "ff.wy"; wz: "ff.wz"; xa: "ff.xa"; xb: "ff.xb"; xc: "ff.xc"; xd: "ff.xd"; xe: "ff.xe"; xf: "ff.xf"; xg: "ff.xg"; xh: "ff.xh"; xi: "ff.xi"; xj: "ff.xj"; xk: "ff.xk"; xl: "ff.xl"; xm: "ff.xm"; xn: "ff.xn"; xo: "ff.xo"; xp: "ff.xp"; xq: "ff.xq"; xr: "ff.xr"; xs: "ff.xs"; xt: "ff.xt"; xu: "ff.xu"; xv: "ff.xv"; xw: "ff.xw"; xx: "ff.xx"; xy: "ff.xy"; xz: "ff.xz"; ya: "ff.ya"; yb: "ff.yb"; yc: "ff.yc"; yd: "ff.yd"; ye: "ff.ye"; yf: "ff.yf"; yg: "ff.yg"; yh: "ff.yh"; yi: "ff.yi"; yj: "ff.yj"; yk: "ff.yk"; yl: "ff.yl"; ym: "ff.ym"; yn: "ff.yn"; yo: "ff.yo"; yp: "ff.yp"; yq: "ff.yq"; yr: "ff.yr"; ys: "ff.ys"; yt: "ff.yt"; yu: "ff.yu"; yv: "ff.yv"; yw: "ff.yw"; yx: "ff.yx"; yy: "ff.yy"; yz: "ff.yz"; za: "ff.za"; zb: "ff.zb"; zc: "ff.zc"; zd: "ff.zd"; ze: "ff.ze"; zf: "ff.zf"; zg: "ff.zg"; zh: "ff.zh"; zi: "ff.zi"; zj: "ff.zj"; zk: "ff.zk"; zl: "ff.zl"; zm: "ff.zm"; zn: "ff.zn"; zo: "ff.zo"; zp: "ff.zp"; zq: "ff.zq"; zr: "ff.zr"; zs: "ff.zs"; zt: "ff.zt"; zu: "ff.zu"; zv: "ff.zv"; zw: "ff.zw"; zx: "ff.zx"; zy: "ff.zy"; zz: "ff.zz"; }; fg: { aa: "fg.aa"; ab: "fg.ab"; ac: "fg.ac"; ad: "fg.ad"; ae: "fg.ae"; af: "fg.af"; ag: "fg.ag"; ah: "fg.ah"; ai: "fg.ai"; aj: "fg.aj"; ak: "fg.ak"; al: "fg.al"; am: "fg.am"; an: "fg.an"; ao: "fg.ao"; ap: "fg.ap"; aq: "fg.aq"; ar: "fg.ar"; as: "fg.as"; at: "fg.at"; au: "fg.au"; av: "fg.av"; aw: "fg.aw"; ax: "fg.ax"; ay: "fg.ay"; az: "fg.az"; ba: "fg.ba"; bb: "fg.bb"; bc: "fg.bc"; bd: "fg.bd"; be: "fg.be"; bf: "fg.bf"; bg: "fg.bg"; bh: "fg.bh"; bi: "fg.bi"; bj: "fg.bj"; bk: "fg.bk"; bl: "fg.bl"; bm: "fg.bm"; bn: "fg.bn"; bo: "fg.bo"; bp: "fg.bp"; bq: "fg.bq"; br: "fg.br"; bs: "fg.bs"; bt: "fg.bt"; bu: "fg.bu"; bv: "fg.bv"; bw: "fg.bw"; bx: "fg.bx"; by: "fg.by"; bz: "fg.bz"; ca: "fg.ca"; cb: "fg.cb"; cc: "fg.cc"; cd: "fg.cd"; ce: "fg.ce"; cf: "fg.cf"; cg: "fg.cg"; ch: "fg.ch"; ci: "fg.ci"; cj: "fg.cj"; ck: "fg.ck"; cl: "fg.cl"; cm: "fg.cm"; cn: "fg.cn"; co: "fg.co"; cp: "fg.cp"; cq: "fg.cq"; cr: "fg.cr"; cs: "fg.cs"; ct: "fg.ct"; cu: "fg.cu"; cv: "fg.cv"; cw: "fg.cw"; cx: "fg.cx"; cy: "fg.cy"; cz: "fg.cz"; da: "fg.da"; db: "fg.db"; dc: "fg.dc"; dd: "fg.dd"; de: "fg.de"; df: "fg.df"; dg: "fg.dg"; dh: "fg.dh"; di: "fg.di"; dj: "fg.dj"; dk: "fg.dk"; dl: "fg.dl"; dm: "fg.dm"; dn: "fg.dn"; do: "fg.do"; dp: "fg.dp"; dq: "fg.dq"; dr: "fg.dr"; ds: "fg.ds"; dt: "fg.dt"; du: "fg.du"; dv: "fg.dv"; dw: "fg.dw"; dx: "fg.dx"; dy: "fg.dy"; dz: "fg.dz"; ea: "fg.ea"; eb: "fg.eb"; ec: "fg.ec"; ed: "fg.ed"; ee: "fg.ee"; ef: "fg.ef"; eg: "fg.eg"; eh: "fg.eh"; ei: "fg.ei"; ej: "fg.ej"; ek: "fg.ek"; el: "fg.el"; em: "fg.em"; en: "fg.en"; eo: "fg.eo"; ep: "fg.ep"; eq: "fg.eq"; er: "fg.er"; es: "fg.es"; et: "fg.et"; eu: "fg.eu"; ev: "fg.ev"; ew: "fg.ew"; ex: "fg.ex"; ey: "fg.ey"; ez: "fg.ez"; fa: "fg.fa"; fb: "fg.fb"; fc: "fg.fc"; fd: "fg.fd"; fe: "fg.fe"; ff: "fg.ff"; fg: "fg.fg"; fh: "fg.fh"; fi: "fg.fi"; fj: "fg.fj"; fk: "fg.fk"; fl: "fg.fl"; fm: "fg.fm"; fn: "fg.fn"; fo: "fg.fo"; fp: "fg.fp"; fq: "fg.fq"; fr: "fg.fr"; fs: "fg.fs"; ft: "fg.ft"; fu: "fg.fu"; fv: "fg.fv"; fw: "fg.fw"; fx: "fg.fx"; fy: "fg.fy"; fz: "fg.fz"; ga: "fg.ga"; gb: "fg.gb"; gc: "fg.gc"; gd: "fg.gd"; ge: "fg.ge"; gf: "fg.gf"; gg: "fg.gg"; gh: "fg.gh"; gi: "fg.gi"; gj: "fg.gj"; gk: "fg.gk"; gl: "fg.gl"; gm: "fg.gm"; gn: "fg.gn"; go: "fg.go"; gp: "fg.gp"; gq: "fg.gq"; gr: "fg.gr"; gs: "fg.gs"; gt: "fg.gt"; gu: "fg.gu"; gv: "fg.gv"; gw: "fg.gw"; gx: "fg.gx"; gy: "fg.gy"; gz: "fg.gz"; ha: "fg.ha"; hb: "fg.hb"; hc: "fg.hc"; hd: "fg.hd"; he: "fg.he"; hf: "fg.hf"; hg: "fg.hg"; hh: "fg.hh"; hi: "fg.hi"; hj: "fg.hj"; hk: "fg.hk"; hl: "fg.hl"; hm: "fg.hm"; hn: "fg.hn"; ho: "fg.ho"; hp: "fg.hp"; hq: "fg.hq"; hr: "fg.hr"; hs: "fg.hs"; ht: "fg.ht"; hu: "fg.hu"; hv: "fg.hv"; hw: "fg.hw"; hx: "fg.hx"; hy: "fg.hy"; hz: "fg.hz"; ia: "fg.ia"; ib: "fg.ib"; ic: "fg.ic"; id: "fg.id"; ie: "fg.ie"; if: "fg.if"; ig: "fg.ig"; ih: "fg.ih"; ii: "fg.ii"; ij: "fg.ij"; ik: "fg.ik"; il: "fg.il"; im: "fg.im"; in: "fg.in"; io: "fg.io"; ip: "fg.ip"; iq: "fg.iq"; ir: "fg.ir"; is: "fg.is"; it: "fg.it"; iu: "fg.iu"; iv: "fg.iv"; iw: "fg.iw"; ix: "fg.ix"; iy: "fg.iy"; iz: "fg.iz"; ja: "fg.ja"; jb: "fg.jb"; jc: "fg.jc"; jd: "fg.jd"; je: "fg.je"; jf: "fg.jf"; jg: "fg.jg"; jh: "fg.jh"; ji: "fg.ji"; jj: "fg.jj"; jk: "fg.jk"; jl: "fg.jl"; jm: "fg.jm"; jn: "fg.jn"; jo: "fg.jo"; jp: "fg.jp"; jq: "fg.jq"; jr: "fg.jr"; js: "fg.js"; jt: "fg.jt"; ju: "fg.ju"; jv: "fg.jv"; jw: "fg.jw"; jx: "fg.jx"; jy: "fg.jy"; jz: "fg.jz"; ka: "fg.ka"; kb: "fg.kb"; kc: "fg.kc"; kd: "fg.kd"; ke: "fg.ke"; kf: "fg.kf"; kg: "fg.kg"; kh: "fg.kh"; ki: "fg.ki"; kj: "fg.kj"; kk: "fg.kk"; kl: "fg.kl"; km: "fg.km"; kn: "fg.kn"; ko: "fg.ko"; kp: "fg.kp"; kq: "fg.kq"; kr: "fg.kr"; ks: "fg.ks"; kt: "fg.kt"; ku: "fg.ku"; kv: "fg.kv"; kw: "fg.kw"; kx: "fg.kx"; ky: "fg.ky"; kz: "fg.kz"; la: "fg.la"; lb: "fg.lb"; lc: "fg.lc"; ld: "fg.ld"; le: "fg.le"; lf: "fg.lf"; lg: "fg.lg"; lh: "fg.lh"; li: "fg.li"; lj: "fg.lj"; lk: "fg.lk"; ll: "fg.ll"; lm: "fg.lm"; ln: "fg.ln"; lo: "fg.lo"; lp: "fg.lp"; lq: "fg.lq"; lr: "fg.lr"; ls: "fg.ls"; lt: "fg.lt"; lu: "fg.lu"; lv: "fg.lv"; lw: "fg.lw"; lx: "fg.lx"; ly: "fg.ly"; lz: "fg.lz"; ma: "fg.ma"; mb: "fg.mb"; mc: "fg.mc"; md: "fg.md"; me: "fg.me"; mf: "fg.mf"; mg: "fg.mg"; mh: "fg.mh"; mi: "fg.mi"; mj: "fg.mj"; mk: "fg.mk"; ml: "fg.ml"; mm: "fg.mm"; mn: "fg.mn"; mo: "fg.mo"; mp: "fg.mp"; mq: "fg.mq"; mr: "fg.mr"; ms: "fg.ms"; mt: "fg.mt"; mu: "fg.mu"; mv: "fg.mv"; mw: "fg.mw"; mx: "fg.mx"; my: "fg.my"; mz: "fg.mz"; na: "fg.na"; nb: "fg.nb"; nc: "fg.nc"; nd: "fg.nd"; ne: "fg.ne"; nf: "fg.nf"; ng: "fg.ng"; nh: "fg.nh"; ni: "fg.ni"; nj: "fg.nj"; nk: "fg.nk"; nl: "fg.nl"; nm: "fg.nm"; nn: "fg.nn"; no: "fg.no"; np: "fg.np"; nq: "fg.nq"; nr: "fg.nr"; ns: "fg.ns"; nt: "fg.nt"; nu: "fg.nu"; nv: "fg.nv"; nw: "fg.nw"; nx: "fg.nx"; ny: "fg.ny"; nz: "fg.nz"; oa: "fg.oa"; ob: "fg.ob"; oc: "fg.oc"; od: "fg.od"; oe: "fg.oe"; of: "fg.of"; og: "fg.og"; oh: "fg.oh"; oi: "fg.oi"; oj: "fg.oj"; ok: "fg.ok"; ol: "fg.ol"; om: "fg.om"; on: "fg.on"; oo: "fg.oo"; op: "fg.op"; oq: "fg.oq"; or: "fg.or"; os: "fg.os"; ot: "fg.ot"; ou: "fg.ou"; ov: "fg.ov"; ow: "fg.ow"; ox: "fg.ox"; oy: "fg.oy"; oz: "fg.oz"; pa: "fg.pa"; pb: "fg.pb"; pc: "fg.pc"; pd: "fg.pd"; pe: "fg.pe"; pf: "fg.pf"; pg: "fg.pg"; ph: "fg.ph"; pi: "fg.pi"; pj: "fg.pj"; pk: "fg.pk"; pl: "fg.pl"; pm: "fg.pm"; pn: "fg.pn"; po: "fg.po"; pp: "fg.pp"; pq: "fg.pq"; pr: "fg.pr"; ps: "fg.ps"; pt: "fg.pt"; pu: "fg.pu"; pv: "fg.pv"; pw: "fg.pw"; px: "fg.px"; py: "fg.py"; pz: "fg.pz"; qa: "fg.qa"; qb: "fg.qb"; qc: "fg.qc"; qd: "fg.qd"; qe: "fg.qe"; qf: "fg.qf"; qg: "fg.qg"; qh: "fg.qh"; qi: "fg.qi"; qj: "fg.qj"; qk: "fg.qk"; ql: "fg.ql"; qm: "fg.qm"; qn: "fg.qn"; qo: "fg.qo"; qp: "fg.qp"; qq: "fg.qq"; qr: "fg.qr"; qs: "fg.qs"; qt: "fg.qt"; qu: "fg.qu"; qv: "fg.qv"; qw: "fg.qw"; qx: "fg.qx"; qy: "fg.qy"; qz: "fg.qz"; ra: "fg.ra"; rb: "fg.rb"; rc: "fg.rc"; rd: "fg.rd"; re: "fg.re"; rf: "fg.rf"; rg: "fg.rg"; rh: "fg.rh"; ri: "fg.ri"; rj: "fg.rj"; rk: "fg.rk"; rl: "fg.rl"; rm: "fg.rm"; rn: "fg.rn"; ro: "fg.ro"; rp: "fg.rp"; rq: "fg.rq"; rr: "fg.rr"; rs: "fg.rs"; rt: "fg.rt"; ru: "fg.ru"; rv: "fg.rv"; rw: "fg.rw"; rx: "fg.rx"; ry: "fg.ry"; rz: "fg.rz"; sa: "fg.sa"; sb: "fg.sb"; sc: "fg.sc"; sd: "fg.sd"; se: "fg.se"; sf: "fg.sf"; sg: "fg.sg"; sh: "fg.sh"; si: "fg.si"; sj: "fg.sj"; sk: "fg.sk"; sl: "fg.sl"; sm: "fg.sm"; sn: "fg.sn"; so: "fg.so"; sp: "fg.sp"; sq: "fg.sq"; sr: "fg.sr"; ss: "fg.ss"; st: "fg.st"; su: "fg.su"; sv: "fg.sv"; sw: "fg.sw"; sx: "fg.sx"; sy: "fg.sy"; sz: "fg.sz"; ta: "fg.ta"; tb: "fg.tb"; tc: "fg.tc"; td: "fg.td"; te: "fg.te"; tf: "fg.tf"; tg: "fg.tg"; th: "fg.th"; ti: "fg.ti"; tj: "fg.tj"; tk: "fg.tk"; tl: "fg.tl"; tm: "fg.tm"; tn: "fg.tn"; to: "fg.to"; tp: "fg.tp"; tq: "fg.tq"; tr: "fg.tr"; ts: "fg.ts"; tt: "fg.tt"; tu: "fg.tu"; tv: "fg.tv"; tw: "fg.tw"; tx: "fg.tx"; ty: "fg.ty"; tz: "fg.tz"; ua: "fg.ua"; ub: "fg.ub"; uc: "fg.uc"; ud: "fg.ud"; ue: "fg.ue"; uf: "fg.uf"; ug: "fg.ug"; uh: "fg.uh"; ui: "fg.ui"; uj: "fg.uj"; uk: "fg.uk"; ul: "fg.ul"; um: "fg.um"; un: "fg.un"; uo: "fg.uo"; up: "fg.up"; uq: "fg.uq"; ur: "fg.ur"; us: "fg.us"; ut: "fg.ut"; uu: "fg.uu"; uv: "fg.uv"; uw: "fg.uw"; ux: "fg.ux"; uy: "fg.uy"; uz: "fg.uz"; va: "fg.va"; vb: "fg.vb"; vc: "fg.vc"; vd: "fg.vd"; ve: "fg.ve"; vf: "fg.vf"; vg: "fg.vg"; vh: "fg.vh"; vi: "fg.vi"; vj: "fg.vj"; vk: "fg.vk"; vl: "fg.vl"; vm: "fg.vm"; vn: "fg.vn"; vo: "fg.vo"; vp: "fg.vp"; vq: "fg.vq"; vr: "fg.vr"; vs: "fg.vs"; vt: "fg.vt"; vu: "fg.vu"; vv: "fg.vv"; vw: "fg.vw"; vx: "fg.vx"; vy: "fg.vy"; vz: "fg.vz"; wa: "fg.wa"; wb: "fg.wb"; wc: "fg.wc"; wd: "fg.wd"; we: "fg.we"; wf: "fg.wf"; wg: "fg.wg"; wh: "fg.wh"; wi: "fg.wi"; wj: "fg.wj"; wk: "fg.wk"; wl: "fg.wl"; wm: "fg.wm"; wn: "fg.wn"; wo: "fg.wo"; wp: "fg.wp"; wq: "fg.wq"; wr: "fg.wr"; ws: "fg.ws"; wt: "fg.wt"; wu: "fg.wu"; wv: "fg.wv"; ww: "fg.ww"; wx: "fg.wx"; wy: "fg.wy"; wz: "fg.wz"; xa: "fg.xa"; xb: "fg.xb"; xc: "fg.xc"; xd: "fg.xd"; xe: "fg.xe"; xf: "fg.xf"; xg: "fg.xg"; xh: "fg.xh"; xi: "fg.xi"; xj: "fg.xj"; xk: "fg.xk"; xl: "fg.xl"; xm: "fg.xm"; xn: "fg.xn"; xo: "fg.xo"; xp: "fg.xp"; xq: "fg.xq"; xr: "fg.xr"; xs: "fg.xs"; xt: "fg.xt"; xu: "fg.xu"; xv: "fg.xv"; xw: "fg.xw"; xx: "fg.xx"; xy: "fg.xy"; xz: "fg.xz"; ya: "fg.ya"; yb: "fg.yb"; yc: "fg.yc"; yd: "fg.yd"; ye: "fg.ye"; yf: "fg.yf"; yg: "fg.yg"; yh: "fg.yh"; yi: "fg.yi"; yj: "fg.yj"; yk: "fg.yk"; yl: "fg.yl"; ym: "fg.ym"; yn: "fg.yn"; yo: "fg.yo"; yp: "fg.yp"; yq: "fg.yq"; yr: "fg.yr"; ys: "fg.ys"; yt: "fg.yt"; yu: "fg.yu"; yv: "fg.yv"; yw: "fg.yw"; yx: "fg.yx"; yy: "fg.yy"; yz: "fg.yz"; za: "fg.za"; zb: "fg.zb"; zc: "fg.zc"; zd: "fg.zd"; ze: "fg.ze"; zf: "fg.zf"; zg: "fg.zg"; zh: "fg.zh"; zi: "fg.zi"; zj: "fg.zj"; zk: "fg.zk"; zl: "fg.zl"; zm: "fg.zm"; zn: "fg.zn"; zo: "fg.zo"; zp: "fg.zp"; zq: "fg.zq"; zr: "fg.zr"; zs: "fg.zs"; zt: "fg.zt"; zu: "fg.zu"; zv: "fg.zv"; zw: "fg.zw"; zx: "fg.zx"; zy: "fg.zy"; zz: "fg.zz"; }; fh: { aa: "fh.aa"; ab: "fh.ab"; ac: "fh.ac"; ad: "fh.ad"; ae: "fh.ae"; af: "fh.af"; ag: "fh.ag"; ah: "fh.ah"; ai: "fh.ai"; aj: "fh.aj"; ak: "fh.ak"; al: "fh.al"; am: "fh.am"; an: "fh.an"; ao: "fh.ao"; ap: "fh.ap"; aq: "fh.aq"; ar: "fh.ar"; as: "fh.as"; at: "fh.at"; au: "fh.au"; av: "fh.av"; aw: "fh.aw"; ax: "fh.ax"; ay: "fh.ay"; az: "fh.az"; ba: "fh.ba"; bb: "fh.bb"; bc: "fh.bc"; bd: "fh.bd"; be: "fh.be"; bf: "fh.bf"; bg: "fh.bg"; bh: "fh.bh"; bi: "fh.bi"; bj: "fh.bj"; bk: "fh.bk"; bl: "fh.bl"; bm: "fh.bm"; bn: "fh.bn"; bo: "fh.bo"; bp: "fh.bp"; bq: "fh.bq"; br: "fh.br"; bs: "fh.bs"; bt: "fh.bt"; bu: "fh.bu"; bv: "fh.bv"; bw: "fh.bw"; bx: "fh.bx"; by: "fh.by"; bz: "fh.bz"; ca: "fh.ca"; cb: "fh.cb"; cc: "fh.cc"; cd: "fh.cd"; ce: "fh.ce"; cf: "fh.cf"; cg: "fh.cg"; ch: "fh.ch"; ci: "fh.ci"; cj: "fh.cj"; ck: "fh.ck"; cl: "fh.cl"; cm: "fh.cm"; cn: "fh.cn"; co: "fh.co"; cp: "fh.cp"; cq: "fh.cq"; cr: "fh.cr"; cs: "fh.cs"; ct: "fh.ct"; cu: "fh.cu"; cv: "fh.cv"; cw: "fh.cw"; cx: "fh.cx"; cy: "fh.cy"; cz: "fh.cz"; da: "fh.da"; db: "fh.db"; dc: "fh.dc"; dd: "fh.dd"; de: "fh.de"; df: "fh.df"; dg: "fh.dg"; dh: "fh.dh"; di: "fh.di"; dj: "fh.dj"; dk: "fh.dk"; dl: "fh.dl"; dm: "fh.dm"; dn: "fh.dn"; do: "fh.do"; dp: "fh.dp"; dq: "fh.dq"; dr: "fh.dr"; ds: "fh.ds"; dt: "fh.dt"; du: "fh.du"; dv: "fh.dv"; dw: "fh.dw"; dx: "fh.dx"; dy: "fh.dy"; dz: "fh.dz"; ea: "fh.ea"; eb: "fh.eb"; ec: "fh.ec"; ed: "fh.ed"; ee: "fh.ee"; ef: "fh.ef"; eg: "fh.eg"; eh: "fh.eh"; ei: "fh.ei"; ej: "fh.ej"; ek: "fh.ek"; el: "fh.el"; em: "fh.em"; en: "fh.en"; eo: "fh.eo"; ep: "fh.ep"; eq: "fh.eq"; er: "fh.er"; es: "fh.es"; et: "fh.et"; eu: "fh.eu"; ev: "fh.ev"; ew: "fh.ew"; ex: "fh.ex"; ey: "fh.ey"; ez: "fh.ez"; fa: "fh.fa"; fb: "fh.fb"; fc: "fh.fc"; fd: "fh.fd"; fe: "fh.fe"; ff: "fh.ff"; fg: "fh.fg"; fh: "fh.fh"; fi: "fh.fi"; fj: "fh.fj"; fk: "fh.fk"; fl: "fh.fl"; fm: "fh.fm"; fn: "fh.fn"; fo: "fh.fo"; fp: "fh.fp"; fq: "fh.fq"; fr: "fh.fr"; fs: "fh.fs"; ft: "fh.ft"; fu: "fh.fu"; fv: "fh.fv"; fw: "fh.fw"; fx: "fh.fx"; fy: "fh.fy"; fz: "fh.fz"; ga: "fh.ga"; gb: "fh.gb"; gc: "fh.gc"; gd: "fh.gd"; ge: "fh.ge"; gf: "fh.gf"; gg: "fh.gg"; gh: "fh.gh"; gi: "fh.gi"; gj: "fh.gj"; gk: "fh.gk"; gl: "fh.gl"; gm: "fh.gm"; gn: "fh.gn"; go: "fh.go"; gp: "fh.gp"; gq: "fh.gq"; gr: "fh.gr"; gs: "fh.gs"; gt: "fh.gt"; gu: "fh.gu"; gv: "fh.gv"; gw: "fh.gw"; gx: "fh.gx"; gy: "fh.gy"; gz: "fh.gz"; ha: "fh.ha"; hb: "fh.hb"; hc: "fh.hc"; hd: "fh.hd"; he: "fh.he"; hf: "fh.hf"; hg: "fh.hg"; hh: "fh.hh"; hi: "fh.hi"; hj: "fh.hj"; hk: "fh.hk"; hl: "fh.hl"; hm: "fh.hm"; hn: "fh.hn"; ho: "fh.ho"; hp: "fh.hp"; hq: "fh.hq"; hr: "fh.hr"; hs: "fh.hs"; ht: "fh.ht"; hu: "fh.hu"; hv: "fh.hv"; hw: "fh.hw"; hx: "fh.hx"; hy: "fh.hy"; hz: "fh.hz"; ia: "fh.ia"; ib: "fh.ib"; ic: "fh.ic"; id: "fh.id"; ie: "fh.ie"; if: "fh.if"; ig: "fh.ig"; ih: "fh.ih"; ii: "fh.ii"; ij: "fh.ij"; ik: "fh.ik"; il: "fh.il"; im: "fh.im"; in: "fh.in"; io: "fh.io"; ip: "fh.ip"; iq: "fh.iq"; ir: "fh.ir"; is: "fh.is"; it: "fh.it"; iu: "fh.iu"; iv: "fh.iv"; iw: "fh.iw"; ix: "fh.ix"; iy: "fh.iy"; iz: "fh.iz"; ja: "fh.ja"; jb: "fh.jb"; jc: "fh.jc"; jd: "fh.jd"; je: "fh.je"; jf: "fh.jf"; jg: "fh.jg"; jh: "fh.jh"; ji: "fh.ji"; jj: "fh.jj"; jk: "fh.jk"; jl: "fh.jl"; jm: "fh.jm"; jn: "fh.jn"; jo: "fh.jo"; jp: "fh.jp"; jq: "fh.jq"; jr: "fh.jr"; js: "fh.js"; jt: "fh.jt"; ju: "fh.ju"; jv: "fh.jv"; jw: "fh.jw"; jx: "fh.jx"; jy: "fh.jy"; jz: "fh.jz"; ka: "fh.ka"; kb: "fh.kb"; kc: "fh.kc"; kd: "fh.kd"; ke: "fh.ke"; kf: "fh.kf"; kg: "fh.kg"; kh: "fh.kh"; ki: "fh.ki"; kj: "fh.kj"; kk: "fh.kk"; kl: "fh.kl"; km: "fh.km"; kn: "fh.kn"; ko: "fh.ko"; kp: "fh.kp"; kq: "fh.kq"; kr: "fh.kr"; ks: "fh.ks"; kt: "fh.kt"; ku: "fh.ku"; kv: "fh.kv"; kw: "fh.kw"; kx: "fh.kx"; ky: "fh.ky"; kz: "fh.kz"; la: "fh.la"; lb: "fh.lb"; lc: "fh.lc"; ld: "fh.ld"; le: "fh.le"; lf: "fh.lf"; lg: "fh.lg"; lh: "fh.lh"; li: "fh.li"; lj: "fh.lj"; lk: "fh.lk"; ll: "fh.ll"; lm: "fh.lm"; ln: "fh.ln"; lo: "fh.lo"; lp: "fh.lp"; lq: "fh.lq"; lr: "fh.lr"; ls: "fh.ls"; lt: "fh.lt"; lu: "fh.lu"; lv: "fh.lv"; lw: "fh.lw"; lx: "fh.lx"; ly: "fh.ly"; lz: "fh.lz"; ma: "fh.ma"; mb: "fh.mb"; mc: "fh.mc"; md: "fh.md"; me: "fh.me"; mf: "fh.mf"; mg: "fh.mg"; mh: "fh.mh"; mi: "fh.mi"; mj: "fh.mj"; mk: "fh.mk"; ml: "fh.ml"; mm: "fh.mm"; mn: "fh.mn"; mo: "fh.mo"; mp: "fh.mp"; mq: "fh.mq"; mr: "fh.mr"; ms: "fh.ms"; mt: "fh.mt"; mu: "fh.mu"; mv: "fh.mv"; mw: "fh.mw"; mx: "fh.mx"; my: "fh.my"; mz: "fh.mz"; na: "fh.na"; nb: "fh.nb"; nc: "fh.nc"; nd: "fh.nd"; ne: "fh.ne"; nf: "fh.nf"; ng: "fh.ng"; nh: "fh.nh"; ni: "fh.ni"; nj: "fh.nj"; nk: "fh.nk"; nl: "fh.nl"; nm: "fh.nm"; nn: "fh.nn"; no: "fh.no"; np: "fh.np"; nq: "fh.nq"; nr: "fh.nr"; ns: "fh.ns"; nt: "fh.nt"; nu: "fh.nu"; nv: "fh.nv"; nw: "fh.nw"; nx: "fh.nx"; ny: "fh.ny"; nz: "fh.nz"; oa: "fh.oa"; ob: "fh.ob"; oc: "fh.oc"; od: "fh.od"; oe: "fh.oe"; of: "fh.of"; og: "fh.og"; oh: "fh.oh"; oi: "fh.oi"; oj: "fh.oj"; ok: "fh.ok"; ol: "fh.ol"; om: "fh.om"; on: "fh.on"; oo: "fh.oo"; op: "fh.op"; oq: "fh.oq"; or: "fh.or"; os: "fh.os"; ot: "fh.ot"; ou: "fh.ou"; ov: "fh.ov"; ow: "fh.ow"; ox: "fh.ox"; oy: "fh.oy"; oz: "fh.oz"; pa: "fh.pa"; pb: "fh.pb"; pc: "fh.pc"; pd: "fh.pd"; pe: "fh.pe"; pf: "fh.pf"; pg: "fh.pg"; ph: "fh.ph"; pi: "fh.pi"; pj: "fh.pj"; pk: "fh.pk"; pl: "fh.pl"; pm: "fh.pm"; pn: "fh.pn"; po: "fh.po"; pp: "fh.pp"; pq: "fh.pq"; pr: "fh.pr"; ps: "fh.ps"; pt: "fh.pt"; pu: "fh.pu"; pv: "fh.pv"; pw: "fh.pw"; px: "fh.px"; py: "fh.py"; pz: "fh.pz"; qa: "fh.qa"; qb: "fh.qb"; qc: "fh.qc"; qd: "fh.qd"; qe: "fh.qe"; qf: "fh.qf"; qg: "fh.qg"; qh: "fh.qh"; qi: "fh.qi"; qj: "fh.qj"; qk: "fh.qk"; ql: "fh.ql"; qm: "fh.qm"; qn: "fh.qn"; qo: "fh.qo"; qp: "fh.qp"; qq: "fh.qq"; qr: "fh.qr"; qs: "fh.qs"; qt: "fh.qt"; qu: "fh.qu"; qv: "fh.qv"; qw: "fh.qw"; qx: "fh.qx"; qy: "fh.qy"; qz: "fh.qz"; ra: "fh.ra"; rb: "fh.rb"; rc: "fh.rc"; rd: "fh.rd"; re: "fh.re"; rf: "fh.rf"; rg: "fh.rg"; rh: "fh.rh"; ri: "fh.ri"; rj: "fh.rj"; rk: "fh.rk"; rl: "fh.rl"; rm: "fh.rm"; rn: "fh.rn"; ro: "fh.ro"; rp: "fh.rp"; rq: "fh.rq"; rr: "fh.rr"; rs: "fh.rs"; rt: "fh.rt"; ru: "fh.ru"; rv: "fh.rv"; rw: "fh.rw"; rx: "fh.rx"; ry: "fh.ry"; rz: "fh.rz"; sa: "fh.sa"; sb: "fh.sb"; sc: "fh.sc"; sd: "fh.sd"; se: "fh.se"; sf: "fh.sf"; sg: "fh.sg"; sh: "fh.sh"; si: "fh.si"; sj: "fh.sj"; sk: "fh.sk"; sl: "fh.sl"; sm: "fh.sm"; sn: "fh.sn"; so: "fh.so"; sp: "fh.sp"; sq: "fh.sq"; sr: "fh.sr"; ss: "fh.ss"; st: "fh.st"; su: "fh.su"; sv: "fh.sv"; sw: "fh.sw"; sx: "fh.sx"; sy: "fh.sy"; sz: "fh.sz"; ta: "fh.ta"; tb: "fh.tb"; tc: "fh.tc"; td: "fh.td"; te: "fh.te"; tf: "fh.tf"; tg: "fh.tg"; th: "fh.th"; ti: "fh.ti"; tj: "fh.tj"; tk: "fh.tk"; tl: "fh.tl"; tm: "fh.tm"; tn: "fh.tn"; to: "fh.to"; tp: "fh.tp"; tq: "fh.tq"; tr: "fh.tr"; ts: "fh.ts"; tt: "fh.tt"; tu: "fh.tu"; tv: "fh.tv"; tw: "fh.tw"; tx: "fh.tx"; ty: "fh.ty"; tz: "fh.tz"; ua: "fh.ua"; ub: "fh.ub"; uc: "fh.uc"; ud: "fh.ud"; ue: "fh.ue"; uf: "fh.uf"; ug: "fh.ug"; uh: "fh.uh"; ui: "fh.ui"; uj: "fh.uj"; uk: "fh.uk"; ul: "fh.ul"; um: "fh.um"; un: "fh.un"; uo: "fh.uo"; up: "fh.up"; uq: "fh.uq"; ur: "fh.ur"; us: "fh.us"; ut: "fh.ut"; uu: "fh.uu"; uv: "fh.uv"; uw: "fh.uw"; ux: "fh.ux"; uy: "fh.uy"; uz: "fh.uz"; va: "fh.va"; vb: "fh.vb"; vc: "fh.vc"; vd: "fh.vd"; ve: "fh.ve"; vf: "fh.vf"; vg: "fh.vg"; vh: "fh.vh"; vi: "fh.vi"; vj: "fh.vj"; vk: "fh.vk"; vl: "fh.vl"; vm: "fh.vm"; vn: "fh.vn"; vo: "fh.vo"; vp: "fh.vp"; vq: "fh.vq"; vr: "fh.vr"; vs: "fh.vs"; vt: "fh.vt"; vu: "fh.vu"; vv: "fh.vv"; vw: "fh.vw"; vx: "fh.vx"; vy: "fh.vy"; vz: "fh.vz"; wa: "fh.wa"; wb: "fh.wb"; wc: "fh.wc"; wd: "fh.wd"; we: "fh.we"; wf: "fh.wf"; wg: "fh.wg"; wh: "fh.wh"; wi: "fh.wi"; wj: "fh.wj"; wk: "fh.wk"; wl: "fh.wl"; wm: "fh.wm"; wn: "fh.wn"; wo: "fh.wo"; wp: "fh.wp"; wq: "fh.wq"; wr: "fh.wr"; ws: "fh.ws"; wt: "fh.wt"; wu: "fh.wu"; wv: "fh.wv"; ww: "fh.ww"; wx: "fh.wx"; wy: "fh.wy"; wz: "fh.wz"; xa: "fh.xa"; xb: "fh.xb"; xc: "fh.xc"; xd: "fh.xd"; xe: "fh.xe"; xf: "fh.xf"; xg: "fh.xg"; xh: "fh.xh"; xi: "fh.xi"; xj: "fh.xj"; xk: "fh.xk"; xl: "fh.xl"; xm: "fh.xm"; xn: "fh.xn"; xo: "fh.xo"; xp: "fh.xp"; xq: "fh.xq"; xr: "fh.xr"; xs: "fh.xs"; xt: "fh.xt"; xu: "fh.xu"; xv: "fh.xv"; xw: "fh.xw"; xx: "fh.xx"; xy: "fh.xy"; xz: "fh.xz"; ya: "fh.ya"; yb: "fh.yb"; yc: "fh.yc"; yd: "fh.yd"; ye: "fh.ye"; yf: "fh.yf"; yg: "fh.yg"; yh: "fh.yh"; yi: "fh.yi"; yj: "fh.yj"; yk: "fh.yk"; yl: "fh.yl"; ym: "fh.ym"; yn: "fh.yn"; yo: "fh.yo"; yp: "fh.yp"; yq: "fh.yq"; yr: "fh.yr"; ys: "fh.ys"; yt: "fh.yt"; yu: "fh.yu"; yv: "fh.yv"; yw: "fh.yw"; yx: "fh.yx"; yy: "fh.yy"; yz: "fh.yz"; za: "fh.za"; zb: "fh.zb"; zc: "fh.zc"; zd: "fh.zd"; ze: "fh.ze"; zf: "fh.zf"; zg: "fh.zg"; zh: "fh.zh"; zi: "fh.zi"; zj: "fh.zj"; zk: "fh.zk"; zl: "fh.zl"; zm: "fh.zm"; zn: "fh.zn"; zo: "fh.zo"; zp: "fh.zp"; zq: "fh.zq"; zr: "fh.zr"; zs: "fh.zs"; zt: "fh.zt"; zu: "fh.zu"; zv: "fh.zv"; zw: "fh.zw"; zx: "fh.zx"; zy: "fh.zy"; zz: "fh.zz"; }; fi: { aa: "fi.aa"; ab: "fi.ab"; ac: "fi.ac"; ad: "fi.ad"; ae: "fi.ae"; af: "fi.af"; ag: "fi.ag"; ah: "fi.ah"; ai: "fi.ai"; aj: "fi.aj"; ak: "fi.ak"; al: "fi.al"; am: "fi.am"; an: "fi.an"; ao: "fi.ao"; ap: "fi.ap"; aq: "fi.aq"; ar: "fi.ar"; as: "fi.as"; at: "fi.at"; au: "fi.au"; av: "fi.av"; aw: "fi.aw"; ax: "fi.ax"; ay: "fi.ay"; az: "fi.az"; ba: "fi.ba"; bb: "fi.bb"; bc: "fi.bc"; bd: "fi.bd"; be: "fi.be"; bf: "fi.bf"; bg: "fi.bg"; bh: "fi.bh"; bi: "fi.bi"; bj: "fi.bj"; bk: "fi.bk"; bl: "fi.bl"; bm: "fi.bm"; bn: "fi.bn"; bo: "fi.bo"; bp: "fi.bp"; bq: "fi.bq"; br: "fi.br"; bs: "fi.bs"; bt: "fi.bt"; bu: "fi.bu"; bv: "fi.bv"; bw: "fi.bw"; bx: "fi.bx"; by: "fi.by"; bz: "fi.bz"; ca: "fi.ca"; cb: "fi.cb"; cc: "fi.cc"; cd: "fi.cd"; ce: "fi.ce"; cf: "fi.cf"; cg: "fi.cg"; ch: "fi.ch"; ci: "fi.ci"; cj: "fi.cj"; ck: "fi.ck"; cl: "fi.cl"; cm: "fi.cm"; cn: "fi.cn"; co: "fi.co"; cp: "fi.cp"; cq: "fi.cq"; cr: "fi.cr"; cs: "fi.cs"; ct: "fi.ct"; cu: "fi.cu"; cv: "fi.cv"; cw: "fi.cw"; cx: "fi.cx"; cy: "fi.cy"; cz: "fi.cz"; da: "fi.da"; db: "fi.db"; dc: "fi.dc"; dd: "fi.dd"; de: "fi.de"; df: "fi.df"; dg: "fi.dg"; dh: "fi.dh"; di: "fi.di"; dj: "fi.dj"; dk: "fi.dk"; dl: "fi.dl"; dm: "fi.dm"; dn: "fi.dn"; do: "fi.do"; dp: "fi.dp"; dq: "fi.dq"; dr: "fi.dr"; ds: "fi.ds"; dt: "fi.dt"; du: "fi.du"; dv: "fi.dv"; dw: "fi.dw"; dx: "fi.dx"; dy: "fi.dy"; dz: "fi.dz"; ea: "fi.ea"; eb: "fi.eb"; ec: "fi.ec"; ed: "fi.ed"; ee: "fi.ee"; ef: "fi.ef"; eg: "fi.eg"; eh: "fi.eh"; ei: "fi.ei"; ej: "fi.ej"; ek: "fi.ek"; el: "fi.el"; em: "fi.em"; en: "fi.en"; eo: "fi.eo"; ep: "fi.ep"; eq: "fi.eq"; er: "fi.er"; es: "fi.es"; et: "fi.et"; eu: "fi.eu"; ev: "fi.ev"; ew: "fi.ew"; ex: "fi.ex"; ey: "fi.ey"; ez: "fi.ez"; fa: "fi.fa"; fb: "fi.fb"; fc: "fi.fc"; fd: "fi.fd"; fe: "fi.fe"; ff: "fi.ff"; fg: "fi.fg"; fh: "fi.fh"; fi: "fi.fi"; fj: "fi.fj"; fk: "fi.fk"; fl: "fi.fl"; fm: "fi.fm"; fn: "fi.fn"; fo: "fi.fo"; fp: "fi.fp"; fq: "fi.fq"; fr: "fi.fr"; fs: "fi.fs"; ft: "fi.ft"; fu: "fi.fu"; fv: "fi.fv"; fw: "fi.fw"; fx: "fi.fx"; fy: "fi.fy"; fz: "fi.fz"; ga: "fi.ga"; gb: "fi.gb"; gc: "fi.gc"; gd: "fi.gd"; ge: "fi.ge"; gf: "fi.gf"; gg: "fi.gg"; gh: "fi.gh"; gi: "fi.gi"; gj: "fi.gj"; gk: "fi.gk"; gl: "fi.gl"; gm: "fi.gm"; gn: "fi.gn"; go: "fi.go"; gp: "fi.gp"; gq: "fi.gq"; gr: "fi.gr"; gs: "fi.gs"; gt: "fi.gt"; gu: "fi.gu"; gv: "fi.gv"; gw: "fi.gw"; gx: "fi.gx"; gy: "fi.gy"; gz: "fi.gz"; ha: "fi.ha"; hb: "fi.hb"; hc: "fi.hc"; hd: "fi.hd"; he: "fi.he"; hf: "fi.hf"; hg: "fi.hg"; hh: "fi.hh"; hi: "fi.hi"; hj: "fi.hj"; hk: "fi.hk"; hl: "fi.hl"; hm: "fi.hm"; hn: "fi.hn"; ho: "fi.ho"; hp: "fi.hp"; hq: "fi.hq"; hr: "fi.hr"; hs: "fi.hs"; ht: "fi.ht"; hu: "fi.hu"; hv: "fi.hv"; hw: "fi.hw"; hx: "fi.hx"; hy: "fi.hy"; hz: "fi.hz"; ia: "fi.ia"; ib: "fi.ib"; ic: "fi.ic"; id: "fi.id"; ie: "fi.ie"; if: "fi.if"; ig: "fi.ig"; ih: "fi.ih"; ii: "fi.ii"; ij: "fi.ij"; ik: "fi.ik"; il: "fi.il"; im: "fi.im"; in: "fi.in"; io: "fi.io"; ip: "fi.ip"; iq: "fi.iq"; ir: "fi.ir"; is: "fi.is"; it: "fi.it"; iu: "fi.iu"; iv: "fi.iv"; iw: "fi.iw"; ix: "fi.ix"; iy: "fi.iy"; iz: "fi.iz"; ja: "fi.ja"; jb: "fi.jb"; jc: "fi.jc"; jd: "fi.jd"; je: "fi.je"; jf: "fi.jf"; jg: "fi.jg"; jh: "fi.jh"; ji: "fi.ji"; jj: "fi.jj"; jk: "fi.jk"; jl: "fi.jl"; jm: "fi.jm"; jn: "fi.jn"; jo: "fi.jo"; jp: "fi.jp"; jq: "fi.jq"; jr: "fi.jr"; js: "fi.js"; jt: "fi.jt"; ju: "fi.ju"; jv: "fi.jv"; jw: "fi.jw"; jx: "fi.jx"; jy: "fi.jy"; jz: "fi.jz"; ka: "fi.ka"; kb: "fi.kb"; kc: "fi.kc"; kd: "fi.kd"; ke: "fi.ke"; kf: "fi.kf"; kg: "fi.kg"; kh: "fi.kh"; ki: "fi.ki"; kj: "fi.kj"; kk: "fi.kk"; kl: "fi.kl"; km: "fi.km"; kn: "fi.kn"; ko: "fi.ko"; kp: "fi.kp"; kq: "fi.kq"; kr: "fi.kr"; ks: "fi.ks"; kt: "fi.kt"; ku: "fi.ku"; kv: "fi.kv"; kw: "fi.kw"; kx: "fi.kx"; ky: "fi.ky"; kz: "fi.kz"; la: "fi.la"; lb: "fi.lb"; lc: "fi.lc"; ld: "fi.ld"; le: "fi.le"; lf: "fi.lf"; lg: "fi.lg"; lh: "fi.lh"; li: "fi.li"; lj: "fi.lj"; lk: "fi.lk"; ll: "fi.ll"; lm: "fi.lm"; ln: "fi.ln"; lo: "fi.lo"; lp: "fi.lp"; lq: "fi.lq"; lr: "fi.lr"; ls: "fi.ls"; lt: "fi.lt"; lu: "fi.lu"; lv: "fi.lv"; lw: "fi.lw"; lx: "fi.lx"; ly: "fi.ly"; lz: "fi.lz"; ma: "fi.ma"; mb: "fi.mb"; mc: "fi.mc"; md: "fi.md"; me: "fi.me"; mf: "fi.mf"; mg: "fi.mg"; mh: "fi.mh"; mi: "fi.mi"; mj: "fi.mj"; mk: "fi.mk"; ml: "fi.ml"; mm: "fi.mm"; mn: "fi.mn"; mo: "fi.mo"; mp: "fi.mp"; mq: "fi.mq"; mr: "fi.mr"; ms: "fi.ms"; mt: "fi.mt"; mu: "fi.mu"; mv: "fi.mv"; mw: "fi.mw"; mx: "fi.mx"; my: "fi.my"; mz: "fi.mz"; na: "fi.na"; nb: "fi.nb"; nc: "fi.nc"; nd: "fi.nd"; ne: "fi.ne"; nf: "fi.nf"; ng: "fi.ng"; nh: "fi.nh"; ni: "fi.ni"; nj: "fi.nj"; nk: "fi.nk"; nl: "fi.nl"; nm: "fi.nm"; nn: "fi.nn"; no: "fi.no"; np: "fi.np"; nq: "fi.nq"; nr: "fi.nr"; ns: "fi.ns"; nt: "fi.nt"; nu: "fi.nu"; nv: "fi.nv"; nw: "fi.nw"; nx: "fi.nx"; ny: "fi.ny"; nz: "fi.nz"; oa: "fi.oa"; ob: "fi.ob"; oc: "fi.oc"; od: "fi.od"; oe: "fi.oe"; of: "fi.of"; og: "fi.og"; oh: "fi.oh"; oi: "fi.oi"; oj: "fi.oj"; ok: "fi.ok"; ol: "fi.ol"; om: "fi.om"; on: "fi.on"; oo: "fi.oo"; op: "fi.op"; oq: "fi.oq"; or: "fi.or"; os: "fi.os"; ot: "fi.ot"; ou: "fi.ou"; ov: "fi.ov"; ow: "fi.ow"; ox: "fi.ox"; oy: "fi.oy"; oz: "fi.oz"; pa: "fi.pa"; pb: "fi.pb"; pc: "fi.pc"; pd: "fi.pd"; pe: "fi.pe"; pf: "fi.pf"; pg: "fi.pg"; ph: "fi.ph"; pi: "fi.pi"; pj: "fi.pj"; pk: "fi.pk"; pl: "fi.pl"; pm: "fi.pm"; pn: "fi.pn"; po: "fi.po"; pp: "fi.pp"; pq: "fi.pq"; pr: "fi.pr"; ps: "fi.ps"; pt: "fi.pt"; pu: "fi.pu"; pv: "fi.pv"; pw: "fi.pw"; px: "fi.px"; py: "fi.py"; pz: "fi.pz"; qa: "fi.qa"; qb: "fi.qb"; qc: "fi.qc"; qd: "fi.qd"; qe: "fi.qe"; qf: "fi.qf"; qg: "fi.qg"; qh: "fi.qh"; qi: "fi.qi"; qj: "fi.qj"; qk: "fi.qk"; ql: "fi.ql"; qm: "fi.qm"; qn: "fi.qn"; qo: "fi.qo"; qp: "fi.qp"; qq: "fi.qq"; qr: "fi.qr"; qs: "fi.qs"; qt: "fi.qt"; qu: "fi.qu"; qv: "fi.qv"; qw: "fi.qw"; qx: "fi.qx"; qy: "fi.qy"; qz: "fi.qz"; ra: "fi.ra"; rb: "fi.rb"; rc: "fi.rc"; rd: "fi.rd"; re: "fi.re"; rf: "fi.rf"; rg: "fi.rg"; rh: "fi.rh"; ri: "fi.ri"; rj: "fi.rj"; rk: "fi.rk"; rl: "fi.rl"; rm: "fi.rm"; rn: "fi.rn"; ro: "fi.ro"; rp: "fi.rp"; rq: "fi.rq"; rr: "fi.rr"; rs: "fi.rs"; rt: "fi.rt"; ru: "fi.ru"; rv: "fi.rv"; rw: "fi.rw"; rx: "fi.rx"; ry: "fi.ry"; rz: "fi.rz"; sa: "fi.sa"; sb: "fi.sb"; sc: "fi.sc"; sd: "fi.sd"; se: "fi.se"; sf: "fi.sf"; sg: "fi.sg"; sh: "fi.sh"; si: "fi.si"; sj: "fi.sj"; sk: "fi.sk"; sl: "fi.sl"; sm: "fi.sm"; sn: "fi.sn"; so: "fi.so"; sp: "fi.sp"; sq: "fi.sq"; sr: "fi.sr"; ss: "fi.ss"; st: "fi.st"; su: "fi.su"; sv: "fi.sv"; sw: "fi.sw"; sx: "fi.sx"; sy: "fi.sy"; sz: "fi.sz"; ta: "fi.ta"; tb: "fi.tb"; tc: "fi.tc"; td: "fi.td"; te: "fi.te"; tf: "fi.tf"; tg: "fi.tg"; th: "fi.th"; ti: "fi.ti"; tj: "fi.tj"; tk: "fi.tk"; tl: "fi.tl"; tm: "fi.tm"; tn: "fi.tn"; to: "fi.to"; tp: "fi.tp"; tq: "fi.tq"; tr: "fi.tr"; ts: "fi.ts"; tt: "fi.tt"; tu: "fi.tu"; tv: "fi.tv"; tw: "fi.tw"; tx: "fi.tx"; ty: "fi.ty"; tz: "fi.tz"; ua: "fi.ua"; ub: "fi.ub"; uc: "fi.uc"; ud: "fi.ud"; ue: "fi.ue"; uf: "fi.uf"; ug: "fi.ug"; uh: "fi.uh"; ui: "fi.ui"; uj: "fi.uj"; uk: "fi.uk"; ul: "fi.ul"; um: "fi.um"; un: "fi.un"; uo: "fi.uo"; up: "fi.up"; uq: "fi.uq"; ur: "fi.ur"; us: "fi.us"; ut: "fi.ut"; uu: "fi.uu"; uv: "fi.uv"; uw: "fi.uw"; ux: "fi.ux"; uy: "fi.uy"; uz: "fi.uz"; va: "fi.va"; vb: "fi.vb"; vc: "fi.vc"; vd: "fi.vd"; ve: "fi.ve"; vf: "fi.vf"; vg: "fi.vg"; vh: "fi.vh"; vi: "fi.vi"; vj: "fi.vj"; vk: "fi.vk"; vl: "fi.vl"; vm: "fi.vm"; vn: "fi.vn"; vo: "fi.vo"; vp: "fi.vp"; vq: "fi.vq"; vr: "fi.vr"; vs: "fi.vs"; vt: "fi.vt"; vu: "fi.vu"; vv: "fi.vv"; vw: "fi.vw"; vx: "fi.vx"; vy: "fi.vy"; vz: "fi.vz"; wa: "fi.wa"; wb: "fi.wb"; wc: "fi.wc"; wd: "fi.wd"; we: "fi.we"; wf: "fi.wf"; wg: "fi.wg"; wh: "fi.wh"; wi: "fi.wi"; wj: "fi.wj"; wk: "fi.wk"; wl: "fi.wl"; wm: "fi.wm"; wn: "fi.wn"; wo: "fi.wo"; wp: "fi.wp"; wq: "fi.wq"; wr: "fi.wr"; ws: "fi.ws"; wt: "fi.wt"; wu: "fi.wu"; wv: "fi.wv"; ww: "fi.ww"; wx: "fi.wx"; wy: "fi.wy"; wz: "fi.wz"; xa: "fi.xa"; xb: "fi.xb"; xc: "fi.xc"; xd: "fi.xd"; xe: "fi.xe"; xf: "fi.xf"; xg: "fi.xg"; xh: "fi.xh"; xi: "fi.xi"; xj: "fi.xj"; xk: "fi.xk"; xl: "fi.xl"; xm: "fi.xm"; xn: "fi.xn"; xo: "fi.xo"; xp: "fi.xp"; xq: "fi.xq"; xr: "fi.xr"; xs: "fi.xs"; xt: "fi.xt"; xu: "fi.xu"; xv: "fi.xv"; xw: "fi.xw"; xx: "fi.xx"; xy: "fi.xy"; xz: "fi.xz"; ya: "fi.ya"; yb: "fi.yb"; yc: "fi.yc"; yd: "fi.yd"; ye: "fi.ye"; yf: "fi.yf"; yg: "fi.yg"; yh: "fi.yh"; yi: "fi.yi"; yj: "fi.yj"; yk: "fi.yk"; yl: "fi.yl"; ym: "fi.ym"; yn: "fi.yn"; yo: "fi.yo"; yp: "fi.yp"; yq: "fi.yq"; yr: "fi.yr"; ys: "fi.ys"; yt: "fi.yt"; yu: "fi.yu"; yv: "fi.yv"; yw: "fi.yw"; yx: "fi.yx"; yy: "fi.yy"; yz: "fi.yz"; za: "fi.za"; zb: "fi.zb"; zc: "fi.zc"; zd: "fi.zd"; ze: "fi.ze"; zf: "fi.zf"; zg: "fi.zg"; zh: "fi.zh"; zi: "fi.zi"; zj: "fi.zj"; zk: "fi.zk"; zl: "fi.zl"; zm: "fi.zm"; zn: "fi.zn"; zo: "fi.zo"; zp: "fi.zp"; zq: "fi.zq"; zr: "fi.zr"; zs: "fi.zs"; zt: "fi.zt"; zu: "fi.zu"; zv: "fi.zv"; zw: "fi.zw"; zx: "fi.zx"; zy: "fi.zy"; zz: "fi.zz"; }; fj: { aa: "fj.aa"; ab: "fj.ab"; ac: "fj.ac"; ad: "fj.ad"; ae: "fj.ae"; af: "fj.af"; ag: "fj.ag"; ah: "fj.ah"; ai: "fj.ai"; aj: "fj.aj"; ak: "fj.ak"; al: "fj.al"; am: "fj.am"; an: "fj.an"; ao: "fj.ao"; ap: "fj.ap"; aq: "fj.aq"; ar: "fj.ar"; as: "fj.as"; at: "fj.at"; au: "fj.au"; av: "fj.av"; aw: "fj.aw"; ax: "fj.ax"; ay: "fj.ay"; az: "fj.az"; ba: "fj.ba"; bb: "fj.bb"; bc: "fj.bc"; bd: "fj.bd"; be: "fj.be"; bf: "fj.bf"; bg: "fj.bg"; bh: "fj.bh"; bi: "fj.bi"; bj: "fj.bj"; bk: "fj.bk"; bl: "fj.bl"; bm: "fj.bm"; bn: "fj.bn"; bo: "fj.bo"; bp: "fj.bp"; bq: "fj.bq"; br: "fj.br"; bs: "fj.bs"; bt: "fj.bt"; bu: "fj.bu"; bv: "fj.bv"; bw: "fj.bw"; bx: "fj.bx"; by: "fj.by"; bz: "fj.bz"; ca: "fj.ca"; cb: "fj.cb"; cc: "fj.cc"; cd: "fj.cd"; ce: "fj.ce"; cf: "fj.cf"; cg: "fj.cg"; ch: "fj.ch"; ci: "fj.ci"; cj: "fj.cj"; ck: "fj.ck"; cl: "fj.cl"; cm: "fj.cm"; cn: "fj.cn"; co: "fj.co"; cp: "fj.cp"; cq: "fj.cq"; cr: "fj.cr"; cs: "fj.cs"; ct: "fj.ct"; cu: "fj.cu"; cv: "fj.cv"; cw: "fj.cw"; cx: "fj.cx"; cy: "fj.cy"; cz: "fj.cz"; da: "fj.da"; db: "fj.db"; dc: "fj.dc"; dd: "fj.dd"; de: "fj.de"; df: "fj.df"; dg: "fj.dg"; dh: "fj.dh"; di: "fj.di"; dj: "fj.dj"; dk: "fj.dk"; dl: "fj.dl"; dm: "fj.dm"; dn: "fj.dn"; do: "fj.do"; dp: "fj.dp"; dq: "fj.dq"; dr: "fj.dr"; ds: "fj.ds"; dt: "fj.dt"; du: "fj.du"; dv: "fj.dv"; dw: "fj.dw"; dx: "fj.dx"; dy: "fj.dy"; dz: "fj.dz"; ea: "fj.ea"; eb: "fj.eb"; ec: "fj.ec"; ed: "fj.ed"; ee: "fj.ee"; ef: "fj.ef"; eg: "fj.eg"; eh: "fj.eh"; ei: "fj.ei"; ej: "fj.ej"; ek: "fj.ek"; el: "fj.el"; em: "fj.em"; en: "fj.en"; eo: "fj.eo"; ep: "fj.ep"; eq: "fj.eq"; er: "fj.er"; es: "fj.es"; et: "fj.et"; eu: "fj.eu"; ev: "fj.ev"; ew: "fj.ew"; ex: "fj.ex"; ey: "fj.ey"; ez: "fj.ez"; fa: "fj.fa"; fb: "fj.fb"; fc: "fj.fc"; fd: "fj.fd"; fe: "fj.fe"; ff: "fj.ff"; fg: "fj.fg"; fh: "fj.fh"; fi: "fj.fi"; fj: "fj.fj"; fk: "fj.fk"; fl: "fj.fl"; fm: "fj.fm"; fn: "fj.fn"; fo: "fj.fo"; fp: "fj.fp"; fq: "fj.fq"; fr: "fj.fr"; fs: "fj.fs"; ft: "fj.ft"; fu: "fj.fu"; fv: "fj.fv"; fw: "fj.fw"; fx: "fj.fx"; fy: "fj.fy"; fz: "fj.fz"; ga: "fj.ga"; gb: "fj.gb"; gc: "fj.gc"; gd: "fj.gd"; ge: "fj.ge"; gf: "fj.gf"; gg: "fj.gg"; gh: "fj.gh"; gi: "fj.gi"; gj: "fj.gj"; gk: "fj.gk"; gl: "fj.gl"; gm: "fj.gm"; gn: "fj.gn"; go: "fj.go"; gp: "fj.gp"; gq: "fj.gq"; gr: "fj.gr"; gs: "fj.gs"; gt: "fj.gt"; gu: "fj.gu"; gv: "fj.gv"; gw: "fj.gw"; gx: "fj.gx"; gy: "fj.gy"; gz: "fj.gz"; ha: "fj.ha"; hb: "fj.hb"; hc: "fj.hc"; hd: "fj.hd"; he: "fj.he"; hf: "fj.hf"; hg: "fj.hg"; hh: "fj.hh"; hi: "fj.hi"; hj: "fj.hj"; hk: "fj.hk"; hl: "fj.hl"; hm: "fj.hm"; hn: "fj.hn"; ho: "fj.ho"; hp: "fj.hp"; hq: "fj.hq"; hr: "fj.hr"; hs: "fj.hs"; ht: "fj.ht"; hu: "fj.hu"; hv: "fj.hv"; hw: "fj.hw"; hx: "fj.hx"; hy: "fj.hy"; hz: "fj.hz"; ia: "fj.ia"; ib: "fj.ib"; ic: "fj.ic"; id: "fj.id"; ie: "fj.ie"; if: "fj.if"; ig: "fj.ig"; ih: "fj.ih"; ii: "fj.ii"; ij: "fj.ij"; ik: "fj.ik"; il: "fj.il"; im: "fj.im"; in: "fj.in"; io: "fj.io"; ip: "fj.ip"; iq: "fj.iq"; ir: "fj.ir"; is: "fj.is"; it: "fj.it"; iu: "fj.iu"; iv: "fj.iv"; iw: "fj.iw"; ix: "fj.ix"; iy: "fj.iy"; iz: "fj.iz"; ja: "fj.ja"; jb: "fj.jb"; jc: "fj.jc"; jd: "fj.jd"; je: "fj.je"; jf: "fj.jf"; jg: "fj.jg"; jh: "fj.jh"; ji: "fj.ji"; jj: "fj.jj"; jk: "fj.jk"; jl: "fj.jl"; jm: "fj.jm"; jn: "fj.jn"; jo: "fj.jo"; jp: "fj.jp"; jq: "fj.jq"; jr: "fj.jr"; js: "fj.js"; jt: "fj.jt"; ju: "fj.ju"; jv: "fj.jv"; jw: "fj.jw"; jx: "fj.jx"; jy: "fj.jy"; jz: "fj.jz"; ka: "fj.ka"; kb: "fj.kb"; kc: "fj.kc"; kd: "fj.kd"; ke: "fj.ke"; kf: "fj.kf"; kg: "fj.kg"; kh: "fj.kh"; ki: "fj.ki"; kj: "fj.kj"; kk: "fj.kk"; kl: "fj.kl"; km: "fj.km"; kn: "fj.kn"; ko: "fj.ko"; kp: "fj.kp"; kq: "fj.kq"; kr: "fj.kr"; ks: "fj.ks"; kt: "fj.kt"; ku: "fj.ku"; kv: "fj.kv"; kw: "fj.kw"; kx: "fj.kx"; ky: "fj.ky"; kz: "fj.kz"; la: "fj.la"; lb: "fj.lb"; lc: "fj.lc"; ld: "fj.ld"; le: "fj.le"; lf: "fj.lf"; lg: "fj.lg"; lh: "fj.lh"; li: "fj.li"; lj: "fj.lj"; lk: "fj.lk"; ll: "fj.ll"; lm: "fj.lm"; ln: "fj.ln"; lo: "fj.lo"; lp: "fj.lp"; lq: "fj.lq"; lr: "fj.lr"; ls: "fj.ls"; lt: "fj.lt"; lu: "fj.lu"; lv: "fj.lv"; lw: "fj.lw"; lx: "fj.lx"; ly: "fj.ly"; lz: "fj.lz"; ma: "fj.ma"; mb: "fj.mb"; mc: "fj.mc"; md: "fj.md"; me: "fj.me"; mf: "fj.mf"; mg: "fj.mg"; mh: "fj.mh"; mi: "fj.mi"; mj: "fj.mj"; mk: "fj.mk"; ml: "fj.ml"; mm: "fj.mm"; mn: "fj.mn"; mo: "fj.mo"; mp: "fj.mp"; mq: "fj.mq"; mr: "fj.mr"; ms: "fj.ms"; mt: "fj.mt"; mu: "fj.mu"; mv: "fj.mv"; mw: "fj.mw"; mx: "fj.mx"; my: "fj.my"; mz: "fj.mz"; na: "fj.na"; nb: "fj.nb"; nc: "fj.nc"; nd: "fj.nd"; ne: "fj.ne"; nf: "fj.nf"; ng: "fj.ng"; nh: "fj.nh"; ni: "fj.ni"; nj: "fj.nj"; nk: "fj.nk"; nl: "fj.nl"; nm: "fj.nm"; nn: "fj.nn"; no: "fj.no"; np: "fj.np"; nq: "fj.nq"; nr: "fj.nr"; ns: "fj.ns"; nt: "fj.nt"; nu: "fj.nu"; nv: "fj.nv"; nw: "fj.nw"; nx: "fj.nx"; ny: "fj.ny"; nz: "fj.nz"; oa: "fj.oa"; ob: "fj.ob"; oc: "fj.oc"; od: "fj.od"; oe: "fj.oe"; of: "fj.of"; og: "fj.og"; oh: "fj.oh"; oi: "fj.oi"; oj: "fj.oj"; ok: "fj.ok"; ol: "fj.ol"; om: "fj.om"; on: "fj.on"; oo: "fj.oo"; op: "fj.op"; oq: "fj.oq"; or: "fj.or"; os: "fj.os"; ot: "fj.ot"; ou: "fj.ou"; ov: "fj.ov"; ow: "fj.ow"; ox: "fj.ox"; oy: "fj.oy"; oz: "fj.oz"; pa: "fj.pa"; pb: "fj.pb"; pc: "fj.pc"; pd: "fj.pd"; pe: "fj.pe"; pf: "fj.pf"; pg: "fj.pg"; ph: "fj.ph"; pi: "fj.pi"; pj: "fj.pj"; pk: "fj.pk"; pl: "fj.pl"; pm: "fj.pm"; pn: "fj.pn"; po: "fj.po"; pp: "fj.pp"; pq: "fj.pq"; pr: "fj.pr"; ps: "fj.ps"; pt: "fj.pt"; pu: "fj.pu"; pv: "fj.pv"; pw: "fj.pw"; px: "fj.px"; py: "fj.py"; pz: "fj.pz"; qa: "fj.qa"; qb: "fj.qb"; qc: "fj.qc"; qd: "fj.qd"; qe: "fj.qe"; qf: "fj.qf"; qg: "fj.qg"; qh: "fj.qh"; qi: "fj.qi"; qj: "fj.qj"; qk: "fj.qk"; ql: "fj.ql"; qm: "fj.qm"; qn: "fj.qn"; qo: "fj.qo"; qp: "fj.qp"; qq: "fj.qq"; qr: "fj.qr"; qs: "fj.qs"; qt: "fj.qt"; qu: "fj.qu"; qv: "fj.qv"; qw: "fj.qw"; qx: "fj.qx"; qy: "fj.qy"; qz: "fj.qz"; ra: "fj.ra"; rb: "fj.rb"; rc: "fj.rc"; rd: "fj.rd"; re: "fj.re"; rf: "fj.rf"; rg: "fj.rg"; rh: "fj.rh"; ri: "fj.ri"; rj: "fj.rj"; rk: "fj.rk"; rl: "fj.rl"; rm: "fj.rm"; rn: "fj.rn"; ro: "fj.ro"; rp: "fj.rp"; rq: "fj.rq"; rr: "fj.rr"; rs: "fj.rs"; rt: "fj.rt"; ru: "fj.ru"; rv: "fj.rv"; rw: "fj.rw"; rx: "fj.rx"; ry: "fj.ry"; rz: "fj.rz"; sa: "fj.sa"; sb: "fj.sb"; sc: "fj.sc"; sd: "fj.sd"; se: "fj.se"; sf: "fj.sf"; sg: "fj.sg"; sh: "fj.sh"; si: "fj.si"; sj: "fj.sj"; sk: "fj.sk"; sl: "fj.sl"; sm: "fj.sm"; sn: "fj.sn"; so: "fj.so"; sp: "fj.sp"; sq: "fj.sq"; sr: "fj.sr"; ss: "fj.ss"; st: "fj.st"; su: "fj.su"; sv: "fj.sv"; sw: "fj.sw"; sx: "fj.sx"; sy: "fj.sy"; sz: "fj.sz"; ta: "fj.ta"; tb: "fj.tb"; tc: "fj.tc"; td: "fj.td"; te: "fj.te"; tf: "fj.tf"; tg: "fj.tg"; th: "fj.th"; ti: "fj.ti"; tj: "fj.tj"; tk: "fj.tk"; tl: "fj.tl"; tm: "fj.tm"; tn: "fj.tn"; to: "fj.to"; tp: "fj.tp"; tq: "fj.tq"; tr: "fj.tr"; ts: "fj.ts"; tt: "fj.tt"; tu: "fj.tu"; tv: "fj.tv"; tw: "fj.tw"; tx: "fj.tx"; ty: "fj.ty"; tz: "fj.tz"; ua: "fj.ua"; ub: "fj.ub"; uc: "fj.uc"; ud: "fj.ud"; ue: "fj.ue"; uf: "fj.uf"; ug: "fj.ug"; uh: "fj.uh"; ui: "fj.ui"; uj: "fj.uj"; uk: "fj.uk"; ul: "fj.ul"; um: "fj.um"; un: "fj.un"; uo: "fj.uo"; up: "fj.up"; uq: "fj.uq"; ur: "fj.ur"; us: "fj.us"; ut: "fj.ut"; uu: "fj.uu"; uv: "fj.uv"; uw: "fj.uw"; ux: "fj.ux"; uy: "fj.uy"; uz: "fj.uz"; va: "fj.va"; vb: "fj.vb"; vc: "fj.vc"; vd: "fj.vd"; ve: "fj.ve"; vf: "fj.vf"; vg: "fj.vg"; vh: "fj.vh"; vi: "fj.vi"; vj: "fj.vj"; vk: "fj.vk"; vl: "fj.vl"; vm: "fj.vm"; vn: "fj.vn"; vo: "fj.vo"; vp: "fj.vp"; vq: "fj.vq"; vr: "fj.vr"; vs: "fj.vs"; vt: "fj.vt"; vu: "fj.vu"; vv: "fj.vv"; vw: "fj.vw"; vx: "fj.vx"; vy: "fj.vy"; vz: "fj.vz"; wa: "fj.wa"; wb: "fj.wb"; wc: "fj.wc"; wd: "fj.wd"; we: "fj.we"; wf: "fj.wf"; wg: "fj.wg"; wh: "fj.wh"; wi: "fj.wi"; wj: "fj.wj"; wk: "fj.wk"; wl: "fj.wl"; wm: "fj.wm"; wn: "fj.wn"; wo: "fj.wo"; wp: "fj.wp"; wq: "fj.wq"; wr: "fj.wr"; ws: "fj.ws"; wt: "fj.wt"; wu: "fj.wu"; wv: "fj.wv"; ww: "fj.ww"; wx: "fj.wx"; wy: "fj.wy"; wz: "fj.wz"; xa: "fj.xa"; xb: "fj.xb"; xc: "fj.xc"; xd: "fj.xd"; xe: "fj.xe"; xf: "fj.xf"; xg: "fj.xg"; xh: "fj.xh"; xi: "fj.xi"; xj: "fj.xj"; xk: "fj.xk"; xl: "fj.xl"; xm: "fj.xm"; xn: "fj.xn"; xo: "fj.xo"; xp: "fj.xp"; xq: "fj.xq"; xr: "fj.xr"; xs: "fj.xs"; xt: "fj.xt"; xu: "fj.xu"; xv: "fj.xv"; xw: "fj.xw"; xx: "fj.xx"; xy: "fj.xy"; xz: "fj.xz"; ya: "fj.ya"; yb: "fj.yb"; yc: "fj.yc"; yd: "fj.yd"; ye: "fj.ye"; yf: "fj.yf"; yg: "fj.yg"; yh: "fj.yh"; yi: "fj.yi"; yj: "fj.yj"; yk: "fj.yk"; yl: "fj.yl"; ym: "fj.ym"; yn: "fj.yn"; yo: "fj.yo"; yp: "fj.yp"; yq: "fj.yq"; yr: "fj.yr"; ys: "fj.ys"; yt: "fj.yt"; yu: "fj.yu"; yv: "fj.yv"; yw: "fj.yw"; yx: "fj.yx"; yy: "fj.yy"; yz: "fj.yz"; za: "fj.za"; zb: "fj.zb"; zc: "fj.zc"; zd: "fj.zd"; ze: "fj.ze"; zf: "fj.zf"; zg: "fj.zg"; zh: "fj.zh"; zi: "fj.zi"; zj: "fj.zj"; zk: "fj.zk"; zl: "fj.zl"; zm: "fj.zm"; zn: "fj.zn"; zo: "fj.zo"; zp: "fj.zp"; zq: "fj.zq"; zr: "fj.zr"; zs: "fj.zs"; zt: "fj.zt"; zu: "fj.zu"; zv: "fj.zv"; zw: "fj.zw"; zx: "fj.zx"; zy: "fj.zy"; zz: "fj.zz"; }; fk: { aa: "fk.aa"; ab: "fk.ab"; ac: "fk.ac"; ad: "fk.ad"; ae: "fk.ae"; af: "fk.af"; ag: "fk.ag"; ah: "fk.ah"; ai: "fk.ai"; aj: "fk.aj"; ak: "fk.ak"; al: "fk.al"; am: "fk.am"; an: "fk.an"; ao: "fk.ao"; ap: "fk.ap"; aq: "fk.aq"; ar: "fk.ar"; as: "fk.as"; at: "fk.at"; au: "fk.au"; av: "fk.av"; aw: "fk.aw"; ax: "fk.ax"; ay: "fk.ay"; az: "fk.az"; ba: "fk.ba"; bb: "fk.bb"; bc: "fk.bc"; bd: "fk.bd"; be: "fk.be"; bf: "fk.bf"; bg: "fk.bg"; bh: "fk.bh"; bi: "fk.bi"; bj: "fk.bj"; bk: "fk.bk"; bl: "fk.bl"; bm: "fk.bm"; bn: "fk.bn"; bo: "fk.bo"; bp: "fk.bp"; bq: "fk.bq"; br: "fk.br"; bs: "fk.bs"; bt: "fk.bt"; bu: "fk.bu"; bv: "fk.bv"; bw: "fk.bw"; bx: "fk.bx"; by: "fk.by"; bz: "fk.bz"; ca: "fk.ca"; cb: "fk.cb"; cc: "fk.cc"; cd: "fk.cd"; ce: "fk.ce"; cf: "fk.cf"; cg: "fk.cg"; ch: "fk.ch"; ci: "fk.ci"; cj: "fk.cj"; ck: "fk.ck"; cl: "fk.cl"; cm: "fk.cm"; cn: "fk.cn"; co: "fk.co"; cp: "fk.cp"; cq: "fk.cq"; cr: "fk.cr"; cs: "fk.cs"; ct: "fk.ct"; cu: "fk.cu"; cv: "fk.cv"; cw: "fk.cw"; cx: "fk.cx"; cy: "fk.cy"; cz: "fk.cz"; da: "fk.da"; db: "fk.db"; dc: "fk.dc"; dd: "fk.dd"; de: "fk.de"; df: "fk.df"; dg: "fk.dg"; dh: "fk.dh"; di: "fk.di"; dj: "fk.dj"; dk: "fk.dk"; dl: "fk.dl"; dm: "fk.dm"; dn: "fk.dn"; do: "fk.do"; dp: "fk.dp"; dq: "fk.dq"; dr: "fk.dr"; ds: "fk.ds"; dt: "fk.dt"; du: "fk.du"; dv: "fk.dv"; dw: "fk.dw"; dx: "fk.dx"; dy: "fk.dy"; dz: "fk.dz"; ea: "fk.ea"; eb: "fk.eb"; ec: "fk.ec"; ed: "fk.ed"; ee: "fk.ee"; ef: "fk.ef"; eg: "fk.eg"; eh: "fk.eh"; ei: "fk.ei"; ej: "fk.ej"; ek: "fk.ek"; el: "fk.el"; em: "fk.em"; en: "fk.en"; eo: "fk.eo"; ep: "fk.ep"; eq: "fk.eq"; er: "fk.er"; es: "fk.es"; et: "fk.et"; eu: "fk.eu"; ev: "fk.ev"; ew: "fk.ew"; ex: "fk.ex"; ey: "fk.ey"; ez: "fk.ez"; fa: "fk.fa"; fb: "fk.fb"; fc: "fk.fc"; fd: "fk.fd"; fe: "fk.fe"; ff: "fk.ff"; fg: "fk.fg"; fh: "fk.fh"; fi: "fk.fi"; fj: "fk.fj"; fk: "fk.fk"; fl: "fk.fl"; fm: "fk.fm"; fn: "fk.fn"; fo: "fk.fo"; fp: "fk.fp"; fq: "fk.fq"; fr: "fk.fr"; fs: "fk.fs"; ft: "fk.ft"; fu: "fk.fu"; fv: "fk.fv"; fw: "fk.fw"; fx: "fk.fx"; fy: "fk.fy"; fz: "fk.fz"; ga: "fk.ga"; gb: "fk.gb"; gc: "fk.gc"; gd: "fk.gd"; ge: "fk.ge"; gf: "fk.gf"; gg: "fk.gg"; gh: "fk.gh"; gi: "fk.gi"; gj: "fk.gj"; gk: "fk.gk"; gl: "fk.gl"; gm: "fk.gm"; gn: "fk.gn"; go: "fk.go"; gp: "fk.gp"; gq: "fk.gq"; gr: "fk.gr"; gs: "fk.gs"; gt: "fk.gt"; gu: "fk.gu"; gv: "fk.gv"; gw: "fk.gw"; gx: "fk.gx"; gy: "fk.gy"; gz: "fk.gz"; ha: "fk.ha"; hb: "fk.hb"; hc: "fk.hc"; hd: "fk.hd"; he: "fk.he"; hf: "fk.hf"; hg: "fk.hg"; hh: "fk.hh"; hi: "fk.hi"; hj: "fk.hj"; hk: "fk.hk"; hl: "fk.hl"; hm: "fk.hm"; hn: "fk.hn"; ho: "fk.ho"; hp: "fk.hp"; hq: "fk.hq"; hr: "fk.hr"; hs: "fk.hs"; ht: "fk.ht"; hu: "fk.hu"; hv: "fk.hv"; hw: "fk.hw"; hx: "fk.hx"; hy: "fk.hy"; hz: "fk.hz"; ia: "fk.ia"; ib: "fk.ib"; ic: "fk.ic"; id: "fk.id"; ie: "fk.ie"; if: "fk.if"; ig: "fk.ig"; ih: "fk.ih"; ii: "fk.ii"; ij: "fk.ij"; ik: "fk.ik"; il: "fk.il"; im: "fk.im"; in: "fk.in"; io: "fk.io"; ip: "fk.ip"; iq: "fk.iq"; ir: "fk.ir"; is: "fk.is"; it: "fk.it"; iu: "fk.iu"; iv: "fk.iv"; iw: "fk.iw"; ix: "fk.ix"; iy: "fk.iy"; iz: "fk.iz"; ja: "fk.ja"; jb: "fk.jb"; jc: "fk.jc"; jd: "fk.jd"; je: "fk.je"; jf: "fk.jf"; jg: "fk.jg"; jh: "fk.jh"; ji: "fk.ji"; jj: "fk.jj"; jk: "fk.jk"; jl: "fk.jl"; jm: "fk.jm"; jn: "fk.jn"; jo: "fk.jo"; jp: "fk.jp"; jq: "fk.jq"; jr: "fk.jr"; js: "fk.js"; jt: "fk.jt"; ju: "fk.ju"; jv: "fk.jv"; jw: "fk.jw"; jx: "fk.jx"; jy: "fk.jy"; jz: "fk.jz"; ka: "fk.ka"; kb: "fk.kb"; kc: "fk.kc"; kd: "fk.kd"; ke: "fk.ke"; kf: "fk.kf"; kg: "fk.kg"; kh: "fk.kh"; ki: "fk.ki"; kj: "fk.kj"; kk: "fk.kk"; kl: "fk.kl"; km: "fk.km"; kn: "fk.kn"; ko: "fk.ko"; kp: "fk.kp"; kq: "fk.kq"; kr: "fk.kr"; ks: "fk.ks"; kt: "fk.kt"; ku: "fk.ku"; kv: "fk.kv"; kw: "fk.kw"; kx: "fk.kx"; ky: "fk.ky"; kz: "fk.kz"; la: "fk.la"; lb: "fk.lb"; lc: "fk.lc"; ld: "fk.ld"; le: "fk.le"; lf: "fk.lf"; lg: "fk.lg"; lh: "fk.lh"; li: "fk.li"; lj: "fk.lj"; lk: "fk.lk"; ll: "fk.ll"; lm: "fk.lm"; ln: "fk.ln"; lo: "fk.lo"; lp: "fk.lp"; lq: "fk.lq"; lr: "fk.lr"; ls: "fk.ls"; lt: "fk.lt"; lu: "fk.lu"; lv: "fk.lv"; lw: "fk.lw"; lx: "fk.lx"; ly: "fk.ly"; lz: "fk.lz"; ma: "fk.ma"; mb: "fk.mb"; mc: "fk.mc"; md: "fk.md"; me: "fk.me"; mf: "fk.mf"; mg: "fk.mg"; mh: "fk.mh"; mi: "fk.mi"; mj: "fk.mj"; mk: "fk.mk"; ml: "fk.ml"; mm: "fk.mm"; mn: "fk.mn"; mo: "fk.mo"; mp: "fk.mp"; mq: "fk.mq"; mr: "fk.mr"; ms: "fk.ms"; mt: "fk.mt"; mu: "fk.mu"; mv: "fk.mv"; mw: "fk.mw"; mx: "fk.mx"; my: "fk.my"; mz: "fk.mz"; na: "fk.na"; nb: "fk.nb"; nc: "fk.nc"; nd: "fk.nd"; ne: "fk.ne"; nf: "fk.nf"; ng: "fk.ng"; nh: "fk.nh"; ni: "fk.ni"; nj: "fk.nj"; nk: "fk.nk"; nl: "fk.nl"; nm: "fk.nm"; nn: "fk.nn"; no: "fk.no"; np: "fk.np"; nq: "fk.nq"; nr: "fk.nr"; ns: "fk.ns"; nt: "fk.nt"; nu: "fk.nu"; nv: "fk.nv"; nw: "fk.nw"; nx: "fk.nx"; ny: "fk.ny"; nz: "fk.nz"; oa: "fk.oa"; ob: "fk.ob"; oc: "fk.oc"; od: "fk.od"; oe: "fk.oe"; of: "fk.of"; og: "fk.og"; oh: "fk.oh"; oi: "fk.oi"; oj: "fk.oj"; ok: "fk.ok"; ol: "fk.ol"; om: "fk.om"; on: "fk.on"; oo: "fk.oo"; op: "fk.op"; oq: "fk.oq"; or: "fk.or"; os: "fk.os"; ot: "fk.ot"; ou: "fk.ou"; ov: "fk.ov"; ow: "fk.ow"; ox: "fk.ox"; oy: "fk.oy"; oz: "fk.oz"; pa: "fk.pa"; pb: "fk.pb"; pc: "fk.pc"; pd: "fk.pd"; pe: "fk.pe"; pf: "fk.pf"; pg: "fk.pg"; ph: "fk.ph"; pi: "fk.pi"; pj: "fk.pj"; pk: "fk.pk"; pl: "fk.pl"; pm: "fk.pm"; pn: "fk.pn"; po: "fk.po"; pp: "fk.pp"; pq: "fk.pq"; pr: "fk.pr"; ps: "fk.ps"; pt: "fk.pt"; pu: "fk.pu"; pv: "fk.pv"; pw: "fk.pw"; px: "fk.px"; py: "fk.py"; pz: "fk.pz"; qa: "fk.qa"; qb: "fk.qb"; qc: "fk.qc"; qd: "fk.qd"; qe: "fk.qe"; qf: "fk.qf"; qg: "fk.qg"; qh: "fk.qh"; qi: "fk.qi"; qj: "fk.qj"; qk: "fk.qk"; ql: "fk.ql"; qm: "fk.qm"; qn: "fk.qn"; qo: "fk.qo"; qp: "fk.qp"; qq: "fk.qq"; qr: "fk.qr"; qs: "fk.qs"; qt: "fk.qt"; qu: "fk.qu"; qv: "fk.qv"; qw: "fk.qw"; qx: "fk.qx"; qy: "fk.qy"; qz: "fk.qz"; ra: "fk.ra"; rb: "fk.rb"; rc: "fk.rc"; rd: "fk.rd"; re: "fk.re"; rf: "fk.rf"; rg: "fk.rg"; rh: "fk.rh"; ri: "fk.ri"; rj: "fk.rj"; rk: "fk.rk"; rl: "fk.rl"; rm: "fk.rm"; rn: "fk.rn"; ro: "fk.ro"; rp: "fk.rp"; rq: "fk.rq"; rr: "fk.rr"; rs: "fk.rs"; rt: "fk.rt"; ru: "fk.ru"; rv: "fk.rv"; rw: "fk.rw"; rx: "fk.rx"; ry: "fk.ry"; rz: "fk.rz"; sa: "fk.sa"; sb: "fk.sb"; sc: "fk.sc"; sd: "fk.sd"; se: "fk.se"; sf: "fk.sf"; sg: "fk.sg"; sh: "fk.sh"; si: "fk.si"; sj: "fk.sj"; sk: "fk.sk"; sl: "fk.sl"; sm: "fk.sm"; sn: "fk.sn"; so: "fk.so"; sp: "fk.sp"; sq: "fk.sq"; sr: "fk.sr"; ss: "fk.ss"; st: "fk.st"; su: "fk.su"; sv: "fk.sv"; sw: "fk.sw"; sx: "fk.sx"; sy: "fk.sy"; sz: "fk.sz"; ta: "fk.ta"; tb: "fk.tb"; tc: "fk.tc"; td: "fk.td"; te: "fk.te"; tf: "fk.tf"; tg: "fk.tg"; th: "fk.th"; ti: "fk.ti"; tj: "fk.tj"; tk: "fk.tk"; tl: "fk.tl"; tm: "fk.tm"; tn: "fk.tn"; to: "fk.to"; tp: "fk.tp"; tq: "fk.tq"; tr: "fk.tr"; ts: "fk.ts"; tt: "fk.tt"; tu: "fk.tu"; tv: "fk.tv"; tw: "fk.tw"; tx: "fk.tx"; ty: "fk.ty"; tz: "fk.tz"; ua: "fk.ua"; ub: "fk.ub"; uc: "fk.uc"; ud: "fk.ud"; ue: "fk.ue"; uf: "fk.uf"; ug: "fk.ug"; uh: "fk.uh"; ui: "fk.ui"; uj: "fk.uj"; uk: "fk.uk"; ul: "fk.ul"; um: "fk.um"; un: "fk.un"; uo: "fk.uo"; up: "fk.up"; uq: "fk.uq"; ur: "fk.ur"; us: "fk.us"; ut: "fk.ut"; uu: "fk.uu"; uv: "fk.uv"; uw: "fk.uw"; ux: "fk.ux"; uy: "fk.uy"; uz: "fk.uz"; va: "fk.va"; vb: "fk.vb"; vc: "fk.vc"; vd: "fk.vd"; ve: "fk.ve"; vf: "fk.vf"; vg: "fk.vg"; vh: "fk.vh"; vi: "fk.vi"; vj: "fk.vj"; vk: "fk.vk"; vl: "fk.vl"; vm: "fk.vm"; vn: "fk.vn"; vo: "fk.vo"; vp: "fk.vp"; vq: "fk.vq"; vr: "fk.vr"; vs: "fk.vs"; vt: "fk.vt"; vu: "fk.vu"; vv: "fk.vv"; vw: "fk.vw"; vx: "fk.vx"; vy: "fk.vy"; vz: "fk.vz"; wa: "fk.wa"; wb: "fk.wb"; wc: "fk.wc"; wd: "fk.wd"; we: "fk.we"; wf: "fk.wf"; wg: "fk.wg"; wh: "fk.wh"; wi: "fk.wi"; wj: "fk.wj"; wk: "fk.wk"; wl: "fk.wl"; wm: "fk.wm"; wn: "fk.wn"; wo: "fk.wo"; wp: "fk.wp"; wq: "fk.wq"; wr: "fk.wr"; ws: "fk.ws"; wt: "fk.wt"; wu: "fk.wu"; wv: "fk.wv"; ww: "fk.ww"; wx: "fk.wx"; wy: "fk.wy"; wz: "fk.wz"; xa: "fk.xa"; xb: "fk.xb"; xc: "fk.xc"; xd: "fk.xd"; xe: "fk.xe"; xf: "fk.xf"; xg: "fk.xg"; xh: "fk.xh"; xi: "fk.xi"; xj: "fk.xj"; xk: "fk.xk"; xl: "fk.xl"; xm: "fk.xm"; xn: "fk.xn"; xo: "fk.xo"; xp: "fk.xp"; xq: "fk.xq"; xr: "fk.xr"; xs: "fk.xs"; xt: "fk.xt"; xu: "fk.xu"; xv: "fk.xv"; xw: "fk.xw"; xx: "fk.xx"; xy: "fk.xy"; xz: "fk.xz"; ya: "fk.ya"; yb: "fk.yb"; yc: "fk.yc"; yd: "fk.yd"; ye: "fk.ye"; yf: "fk.yf"; yg: "fk.yg"; yh: "fk.yh"; yi: "fk.yi"; yj: "fk.yj"; yk: "fk.yk"; yl: "fk.yl"; ym: "fk.ym"; yn: "fk.yn"; yo: "fk.yo"; yp: "fk.yp"; yq: "fk.yq"; yr: "fk.yr"; ys: "fk.ys"; yt: "fk.yt"; yu: "fk.yu"; yv: "fk.yv"; yw: "fk.yw"; yx: "fk.yx"; yy: "fk.yy"; yz: "fk.yz"; za: "fk.za"; zb: "fk.zb"; zc: "fk.zc"; zd: "fk.zd"; ze: "fk.ze"; zf: "fk.zf"; zg: "fk.zg"; zh: "fk.zh"; zi: "fk.zi"; zj: "fk.zj"; zk: "fk.zk"; zl: "fk.zl"; zm: "fk.zm"; zn: "fk.zn"; zo: "fk.zo"; zp: "fk.zp"; zq: "fk.zq"; zr: "fk.zr"; zs: "fk.zs"; zt: "fk.zt"; zu: "fk.zu"; zv: "fk.zv"; zw: "fk.zw"; zx: "fk.zx"; zy: "fk.zy"; zz: "fk.zz"; }; fl: { aa: "fl.aa"; ab: "fl.ab"; ac: "fl.ac"; ad: "fl.ad"; ae: "fl.ae"; af: "fl.af"; ag: "fl.ag"; ah: "fl.ah"; ai: "fl.ai"; aj: "fl.aj"; ak: "fl.ak"; al: "fl.al"; am: "fl.am"; an: "fl.an"; ao: "fl.ao"; ap: "fl.ap"; aq: "fl.aq"; ar: "fl.ar"; as: "fl.as"; at: "fl.at"; au: "fl.au"; av: "fl.av"; aw: "fl.aw"; ax: "fl.ax"; ay: "fl.ay"; az: "fl.az"; ba: "fl.ba"; bb: "fl.bb"; bc: "fl.bc"; bd: "fl.bd"; be: "fl.be"; bf: "fl.bf"; bg: "fl.bg"; bh: "fl.bh"; bi: "fl.bi"; bj: "fl.bj"; bk: "fl.bk"; bl: "fl.bl"; bm: "fl.bm"; bn: "fl.bn"; bo: "fl.bo"; bp: "fl.bp"; bq: "fl.bq"; br: "fl.br"; bs: "fl.bs"; bt: "fl.bt"; bu: "fl.bu"; bv: "fl.bv"; bw: "fl.bw"; bx: "fl.bx"; by: "fl.by"; bz: "fl.bz"; ca: "fl.ca"; cb: "fl.cb"; cc: "fl.cc"; cd: "fl.cd"; ce: "fl.ce"; cf: "fl.cf"; cg: "fl.cg"; ch: "fl.ch"; ci: "fl.ci"; cj: "fl.cj"; ck: "fl.ck"; cl: "fl.cl"; cm: "fl.cm"; cn: "fl.cn"; co: "fl.co"; cp: "fl.cp"; cq: "fl.cq"; cr: "fl.cr"; cs: "fl.cs"; ct: "fl.ct"; cu: "fl.cu"; cv: "fl.cv"; cw: "fl.cw"; cx: "fl.cx"; cy: "fl.cy"; cz: "fl.cz"; da: "fl.da"; db: "fl.db"; dc: "fl.dc"; dd: "fl.dd"; de: "fl.de"; df: "fl.df"; dg: "fl.dg"; dh: "fl.dh"; di: "fl.di"; dj: "fl.dj"; dk: "fl.dk"; dl: "fl.dl"; dm: "fl.dm"; dn: "fl.dn"; do: "fl.do"; dp: "fl.dp"; dq: "fl.dq"; dr: "fl.dr"; ds: "fl.ds"; dt: "fl.dt"; du: "fl.du"; dv: "fl.dv"; dw: "fl.dw"; dx: "fl.dx"; dy: "fl.dy"; dz: "fl.dz"; ea: "fl.ea"; eb: "fl.eb"; ec: "fl.ec"; ed: "fl.ed"; ee: "fl.ee"; ef: "fl.ef"; eg: "fl.eg"; eh: "fl.eh"; ei: "fl.ei"; ej: "fl.ej"; ek: "fl.ek"; el: "fl.el"; em: "fl.em"; en: "fl.en"; eo: "fl.eo"; ep: "fl.ep"; eq: "fl.eq"; er: "fl.er"; es: "fl.es"; et: "fl.et"; eu: "fl.eu"; ev: "fl.ev"; ew: "fl.ew"; ex: "fl.ex"; ey: "fl.ey"; ez: "fl.ez"; fa: "fl.fa"; fb: "fl.fb"; fc: "fl.fc"; fd: "fl.fd"; fe: "fl.fe"; ff: "fl.ff"; fg: "fl.fg"; fh: "fl.fh"; fi: "fl.fi"; fj: "fl.fj"; fk: "fl.fk"; fl: "fl.fl"; fm: "fl.fm"; fn: "fl.fn"; fo: "fl.fo"; fp: "fl.fp"; fq: "fl.fq"; fr: "fl.fr"; fs: "fl.fs"; ft: "fl.ft"; fu: "fl.fu"; fv: "fl.fv"; fw: "fl.fw"; fx: "fl.fx"; fy: "fl.fy"; fz: "fl.fz"; ga: "fl.ga"; gb: "fl.gb"; gc: "fl.gc"; gd: "fl.gd"; ge: "fl.ge"; gf: "fl.gf"; gg: "fl.gg"; gh: "fl.gh"; gi: "fl.gi"; gj: "fl.gj"; gk: "fl.gk"; gl: "fl.gl"; gm: "fl.gm"; gn: "fl.gn"; go: "fl.go"; gp: "fl.gp"; gq: "fl.gq"; gr: "fl.gr"; gs: "fl.gs"; gt: "fl.gt"; gu: "fl.gu"; gv: "fl.gv"; gw: "fl.gw"; gx: "fl.gx"; gy: "fl.gy"; gz: "fl.gz"; ha: "fl.ha"; hb: "fl.hb"; hc: "fl.hc"; hd: "fl.hd"; he: "fl.he"; hf: "fl.hf"; hg: "fl.hg"; hh: "fl.hh"; hi: "fl.hi"; hj: "fl.hj"; hk: "fl.hk"; hl: "fl.hl"; hm: "fl.hm"; hn: "fl.hn"; ho: "fl.ho"; hp: "fl.hp"; hq: "fl.hq"; hr: "fl.hr"; hs: "fl.hs"; ht: "fl.ht"; hu: "fl.hu"; hv: "fl.hv"; hw: "fl.hw"; hx: "fl.hx"; hy: "fl.hy"; hz: "fl.hz"; ia: "fl.ia"; ib: "fl.ib"; ic: "fl.ic"; id: "fl.id"; ie: "fl.ie"; if: "fl.if"; ig: "fl.ig"; ih: "fl.ih"; ii: "fl.ii"; ij: "fl.ij"; ik: "fl.ik"; il: "fl.il"; im: "fl.im"; in: "fl.in"; io: "fl.io"; ip: "fl.ip"; iq: "fl.iq"; ir: "fl.ir"; is: "fl.is"; it: "fl.it"; iu: "fl.iu"; iv: "fl.iv"; iw: "fl.iw"; ix: "fl.ix"; iy: "fl.iy"; iz: "fl.iz"; ja: "fl.ja"; jb: "fl.jb"; jc: "fl.jc"; jd: "fl.jd"; je: "fl.je"; jf: "fl.jf"; jg: "fl.jg"; jh: "fl.jh"; ji: "fl.ji"; jj: "fl.jj"; jk: "fl.jk"; jl: "fl.jl"; jm: "fl.jm"; jn: "fl.jn"; jo: "fl.jo"; jp: "fl.jp"; jq: "fl.jq"; jr: "fl.jr"; js: "fl.js"; jt: "fl.jt"; ju: "fl.ju"; jv: "fl.jv"; jw: "fl.jw"; jx: "fl.jx"; jy: "fl.jy"; jz: "fl.jz"; ka: "fl.ka"; kb: "fl.kb"; kc: "fl.kc"; kd: "fl.kd"; ke: "fl.ke"; kf: "fl.kf"; kg: "fl.kg"; kh: "fl.kh"; ki: "fl.ki"; kj: "fl.kj"; kk: "fl.kk"; kl: "fl.kl"; km: "fl.km"; kn: "fl.kn"; ko: "fl.ko"; kp: "fl.kp"; kq: "fl.kq"; kr: "fl.kr"; ks: "fl.ks"; kt: "fl.kt"; ku: "fl.ku"; kv: "fl.kv"; kw: "fl.kw"; kx: "fl.kx"; ky: "fl.ky"; kz: "fl.kz"; la: "fl.la"; lb: "fl.lb"; lc: "fl.lc"; ld: "fl.ld"; le: "fl.le"; lf: "fl.lf"; lg: "fl.lg"; lh: "fl.lh"; li: "fl.li"; lj: "fl.lj"; lk: "fl.lk"; ll: "fl.ll"; lm: "fl.lm"; ln: "fl.ln"; lo: "fl.lo"; lp: "fl.lp"; lq: "fl.lq"; lr: "fl.lr"; ls: "fl.ls"; lt: "fl.lt"; lu: "fl.lu"; lv: "fl.lv"; lw: "fl.lw"; lx: "fl.lx"; ly: "fl.ly"; lz: "fl.lz"; ma: "fl.ma"; mb: "fl.mb"; mc: "fl.mc"; md: "fl.md"; me: "fl.me"; mf: "fl.mf"; mg: "fl.mg"; mh: "fl.mh"; mi: "fl.mi"; mj: "fl.mj"; mk: "fl.mk"; ml: "fl.ml"; mm: "fl.mm"; mn: "fl.mn"; mo: "fl.mo"; mp: "fl.mp"; mq: "fl.mq"; mr: "fl.mr"; ms: "fl.ms"; mt: "fl.mt"; mu: "fl.mu"; mv: "fl.mv"; mw: "fl.mw"; mx: "fl.mx"; my: "fl.my"; mz: "fl.mz"; na: "fl.na"; nb: "fl.nb"; nc: "fl.nc"; nd: "fl.nd"; ne: "fl.ne"; nf: "fl.nf"; ng: "fl.ng"; nh: "fl.nh"; ni: "fl.ni"; nj: "fl.nj"; nk: "fl.nk"; nl: "fl.nl"; nm: "fl.nm"; nn: "fl.nn"; no: "fl.no"; np: "fl.np"; nq: "fl.nq"; nr: "fl.nr"; ns: "fl.ns"; nt: "fl.nt"; nu: "fl.nu"; nv: "fl.nv"; nw: "fl.nw"; nx: "fl.nx"; ny: "fl.ny"; nz: "fl.nz"; oa: "fl.oa"; ob: "fl.ob"; oc: "fl.oc"; od: "fl.od"; oe: "fl.oe"; of: "fl.of"; og: "fl.og"; oh: "fl.oh"; oi: "fl.oi"; oj: "fl.oj"; ok: "fl.ok"; ol: "fl.ol"; om: "fl.om"; on: "fl.on"; oo: "fl.oo"; op: "fl.op"; oq: "fl.oq"; or: "fl.or"; os: "fl.os"; ot: "fl.ot"; ou: "fl.ou"; ov: "fl.ov"; ow: "fl.ow"; ox: "fl.ox"; oy: "fl.oy"; oz: "fl.oz"; pa: "fl.pa"; pb: "fl.pb"; pc: "fl.pc"; pd: "fl.pd"; pe: "fl.pe"; pf: "fl.pf"; pg: "fl.pg"; ph: "fl.ph"; pi: "fl.pi"; pj: "fl.pj"; pk: "fl.pk"; pl: "fl.pl"; pm: "fl.pm"; pn: "fl.pn"; po: "fl.po"; pp: "fl.pp"; pq: "fl.pq"; pr: "fl.pr"; ps: "fl.ps"; pt: "fl.pt"; pu: "fl.pu"; pv: "fl.pv"; pw: "fl.pw"; px: "fl.px"; py: "fl.py"; pz: "fl.pz"; qa: "fl.qa"; qb: "fl.qb"; qc: "fl.qc"; qd: "fl.qd"; qe: "fl.qe"; qf: "fl.qf"; qg: "fl.qg"; qh: "fl.qh"; qi: "fl.qi"; qj: "fl.qj"; qk: "fl.qk"; ql: "fl.ql"; qm: "fl.qm"; qn: "fl.qn"; qo: "fl.qo"; qp: "fl.qp"; qq: "fl.qq"; qr: "fl.qr"; qs: "fl.qs"; qt: "fl.qt"; qu: "fl.qu"; qv: "fl.qv"; qw: "fl.qw"; qx: "fl.qx"; qy: "fl.qy"; qz: "fl.qz"; ra: "fl.ra"; rb: "fl.rb"; rc: "fl.rc"; rd: "fl.rd"; re: "fl.re"; rf: "fl.rf"; rg: "fl.rg"; rh: "fl.rh"; ri: "fl.ri"; rj: "fl.rj"; rk: "fl.rk"; rl: "fl.rl"; rm: "fl.rm"; rn: "fl.rn"; ro: "fl.ro"; rp: "fl.rp"; rq: "fl.rq"; rr: "fl.rr"; rs: "fl.rs"; rt: "fl.rt"; ru: "fl.ru"; rv: "fl.rv"; rw: "fl.rw"; rx: "fl.rx"; ry: "fl.ry"; rz: "fl.rz"; sa: "fl.sa"; sb: "fl.sb"; sc: "fl.sc"; sd: "fl.sd"; se: "fl.se"; sf: "fl.sf"; sg: "fl.sg"; sh: "fl.sh"; si: "fl.si"; sj: "fl.sj"; sk: "fl.sk"; sl: "fl.sl"; sm: "fl.sm"; sn: "fl.sn"; so: "fl.so"; sp: "fl.sp"; sq: "fl.sq"; sr: "fl.sr"; ss: "fl.ss"; st: "fl.st"; su: "fl.su"; sv: "fl.sv"; sw: "fl.sw"; sx: "fl.sx"; sy: "fl.sy"; sz: "fl.sz"; ta: "fl.ta"; tb: "fl.tb"; tc: "fl.tc"; td: "fl.td"; te: "fl.te"; tf: "fl.tf"; tg: "fl.tg"; th: "fl.th"; ti: "fl.ti"; tj: "fl.tj"; tk: "fl.tk"; tl: "fl.tl"; tm: "fl.tm"; tn: "fl.tn"; to: "fl.to"; tp: "fl.tp"; tq: "fl.tq"; tr: "fl.tr"; ts: "fl.ts"; tt: "fl.tt"; tu: "fl.tu"; tv: "fl.tv"; tw: "fl.tw"; tx: "fl.tx"; ty: "fl.ty"; tz: "fl.tz"; ua: "fl.ua"; ub: "fl.ub"; uc: "fl.uc"; ud: "fl.ud"; ue: "fl.ue"; uf: "fl.uf"; ug: "fl.ug"; uh: "fl.uh"; ui: "fl.ui"; uj: "fl.uj"; uk: "fl.uk"; ul: "fl.ul"; um: "fl.um"; un: "fl.un"; uo: "fl.uo"; up: "fl.up"; uq: "fl.uq"; ur: "fl.ur"; us: "fl.us"; ut: "fl.ut"; uu: "fl.uu"; uv: "fl.uv"; uw: "fl.uw"; ux: "fl.ux"; uy: "fl.uy"; uz: "fl.uz"; va: "fl.va"; vb: "fl.vb"; vc: "fl.vc"; vd: "fl.vd"; ve: "fl.ve"; vf: "fl.vf"; vg: "fl.vg"; vh: "fl.vh"; vi: "fl.vi"; vj: "fl.vj"; vk: "fl.vk"; vl: "fl.vl"; vm: "fl.vm"; vn: "fl.vn"; vo: "fl.vo"; vp: "fl.vp"; vq: "fl.vq"; vr: "fl.vr"; vs: "fl.vs"; vt: "fl.vt"; vu: "fl.vu"; vv: "fl.vv"; vw: "fl.vw"; vx: "fl.vx"; vy: "fl.vy"; vz: "fl.vz"; wa: "fl.wa"; wb: "fl.wb"; wc: "fl.wc"; wd: "fl.wd"; we: "fl.we"; wf: "fl.wf"; wg: "fl.wg"; wh: "fl.wh"; wi: "fl.wi"; wj: "fl.wj"; wk: "fl.wk"; wl: "fl.wl"; wm: "fl.wm"; wn: "fl.wn"; wo: "fl.wo"; wp: "fl.wp"; wq: "fl.wq"; wr: "fl.wr"; ws: "fl.ws"; wt: "fl.wt"; wu: "fl.wu"; wv: "fl.wv"; ww: "fl.ww"; wx: "fl.wx"; wy: "fl.wy"; wz: "fl.wz"; xa: "fl.xa"; xb: "fl.xb"; xc: "fl.xc"; xd: "fl.xd"; xe: "fl.xe"; xf: "fl.xf"; xg: "fl.xg"; xh: "fl.xh"; xi: "fl.xi"; xj: "fl.xj"; xk: "fl.xk"; xl: "fl.xl"; xm: "fl.xm"; xn: "fl.xn"; xo: "fl.xo"; xp: "fl.xp"; xq: "fl.xq"; xr: "fl.xr"; xs: "fl.xs"; xt: "fl.xt"; xu: "fl.xu"; xv: "fl.xv"; xw: "fl.xw"; xx: "fl.xx"; xy: "fl.xy"; xz: "fl.xz"; ya: "fl.ya"; yb: "fl.yb"; yc: "fl.yc"; yd: "fl.yd"; ye: "fl.ye"; yf: "fl.yf"; yg: "fl.yg"; yh: "fl.yh"; yi: "fl.yi"; yj: "fl.yj"; yk: "fl.yk"; yl: "fl.yl"; ym: "fl.ym"; yn: "fl.yn"; yo: "fl.yo"; yp: "fl.yp"; yq: "fl.yq"; yr: "fl.yr"; ys: "fl.ys"; yt: "fl.yt"; yu: "fl.yu"; yv: "fl.yv"; yw: "fl.yw"; yx: "fl.yx"; yy: "fl.yy"; yz: "fl.yz"; za: "fl.za"; zb: "fl.zb"; zc: "fl.zc"; zd: "fl.zd"; ze: "fl.ze"; zf: "fl.zf"; zg: "fl.zg"; zh: "fl.zh"; zi: "fl.zi"; zj: "fl.zj"; zk: "fl.zk"; zl: "fl.zl"; zm: "fl.zm"; zn: "fl.zn"; zo: "fl.zo"; zp: "fl.zp"; zq: "fl.zq"; zr: "fl.zr"; zs: "fl.zs"; zt: "fl.zt"; zu: "fl.zu"; zv: "fl.zv"; zw: "fl.zw"; zx: "fl.zx"; zy: "fl.zy"; zz: "fl.zz"; }; fm: { aa: "fm.aa"; ab: "fm.ab"; ac: "fm.ac"; ad: "fm.ad"; ae: "fm.ae"; af: "fm.af"; ag: "fm.ag"; ah: "fm.ah"; ai: "fm.ai"; aj: "fm.aj"; ak: "fm.ak"; al: "fm.al"; am: "fm.am"; an: "fm.an"; ao: "fm.ao"; ap: "fm.ap"; aq: "fm.aq"; ar: "fm.ar"; as: "fm.as"; at: "fm.at"; au: "fm.au"; av: "fm.av"; aw: "fm.aw"; ax: "fm.ax"; ay: "fm.ay"; az: "fm.az"; ba: "fm.ba"; bb: "fm.bb"; bc: "fm.bc"; bd: "fm.bd"; be: "fm.be"; bf: "fm.bf"; bg: "fm.bg"; bh: "fm.bh"; bi: "fm.bi"; bj: "fm.bj"; bk: "fm.bk"; bl: "fm.bl"; bm: "fm.bm"; bn: "fm.bn"; bo: "fm.bo"; bp: "fm.bp"; bq: "fm.bq"; br: "fm.br"; bs: "fm.bs"; bt: "fm.bt"; bu: "fm.bu"; bv: "fm.bv"; bw: "fm.bw"; bx: "fm.bx"; by: "fm.by"; bz: "fm.bz"; ca: "fm.ca"; cb: "fm.cb"; cc: "fm.cc"; cd: "fm.cd"; ce: "fm.ce"; cf: "fm.cf"; cg: "fm.cg"; ch: "fm.ch"; ci: "fm.ci"; cj: "fm.cj"; ck: "fm.ck"; cl: "fm.cl"; cm: "fm.cm"; cn: "fm.cn"; co: "fm.co"; cp: "fm.cp"; cq: "fm.cq"; cr: "fm.cr"; cs: "fm.cs"; ct: "fm.ct"; cu: "fm.cu"; cv: "fm.cv"; cw: "fm.cw"; cx: "fm.cx"; cy: "fm.cy"; cz: "fm.cz"; da: "fm.da"; db: "fm.db"; dc: "fm.dc"; dd: "fm.dd"; de: "fm.de"; df: "fm.df"; dg: "fm.dg"; dh: "fm.dh"; di: "fm.di"; dj: "fm.dj"; dk: "fm.dk"; dl: "fm.dl"; dm: "fm.dm"; dn: "fm.dn"; do: "fm.do"; dp: "fm.dp"; dq: "fm.dq"; dr: "fm.dr"; ds: "fm.ds"; dt: "fm.dt"; du: "fm.du"; dv: "fm.dv"; dw: "fm.dw"; dx: "fm.dx"; dy: "fm.dy"; dz: "fm.dz"; ea: "fm.ea"; eb: "fm.eb"; ec: "fm.ec"; ed: "fm.ed"; ee: "fm.ee"; ef: "fm.ef"; eg: "fm.eg"; eh: "fm.eh"; ei: "fm.ei"; ej: "fm.ej"; ek: "fm.ek"; el: "fm.el"; em: "fm.em"; en: "fm.en"; eo: "fm.eo"; ep: "fm.ep"; eq: "fm.eq"; er: "fm.er"; es: "fm.es"; et: "fm.et"; eu: "fm.eu"; ev: "fm.ev"; ew: "fm.ew"; ex: "fm.ex"; ey: "fm.ey"; ez: "fm.ez"; fa: "fm.fa"; fb: "fm.fb"; fc: "fm.fc"; fd: "fm.fd"; fe: "fm.fe"; ff: "fm.ff"; fg: "fm.fg"; fh: "fm.fh"; fi: "fm.fi"; fj: "fm.fj"; fk: "fm.fk"; fl: "fm.fl"; fm: "fm.fm"; fn: "fm.fn"; fo: "fm.fo"; fp: "fm.fp"; fq: "fm.fq"; fr: "fm.fr"; fs: "fm.fs"; ft: "fm.ft"; fu: "fm.fu"; fv: "fm.fv"; fw: "fm.fw"; fx: "fm.fx"; fy: "fm.fy"; fz: "fm.fz"; ga: "fm.ga"; gb: "fm.gb"; gc: "fm.gc"; gd: "fm.gd"; ge: "fm.ge"; gf: "fm.gf"; gg: "fm.gg"; gh: "fm.gh"; gi: "fm.gi"; gj: "fm.gj"; gk: "fm.gk"; gl: "fm.gl"; gm: "fm.gm"; gn: "fm.gn"; go: "fm.go"; gp: "fm.gp"; gq: "fm.gq"; gr: "fm.gr"; gs: "fm.gs"; gt: "fm.gt"; gu: "fm.gu"; gv: "fm.gv"; gw: "fm.gw"; gx: "fm.gx"; gy: "fm.gy"; gz: "fm.gz"; ha: "fm.ha"; hb: "fm.hb"; hc: "fm.hc"; hd: "fm.hd"; he: "fm.he"; hf: "fm.hf"; hg: "fm.hg"; hh: "fm.hh"; hi: "fm.hi"; hj: "fm.hj"; hk: "fm.hk"; hl: "fm.hl"; hm: "fm.hm"; hn: "fm.hn"; ho: "fm.ho"; hp: "fm.hp"; hq: "fm.hq"; hr: "fm.hr"; hs: "fm.hs"; ht: "fm.ht"; hu: "fm.hu"; hv: "fm.hv"; hw: "fm.hw"; hx: "fm.hx"; hy: "fm.hy"; hz: "fm.hz"; ia: "fm.ia"; ib: "fm.ib"; ic: "fm.ic"; id: "fm.id"; ie: "fm.ie"; if: "fm.if"; ig: "fm.ig"; ih: "fm.ih"; ii: "fm.ii"; ij: "fm.ij"; ik: "fm.ik"; il: "fm.il"; im: "fm.im"; in: "fm.in"; io: "fm.io"; ip: "fm.ip"; iq: "fm.iq"; ir: "fm.ir"; is: "fm.is"; it: "fm.it"; iu: "fm.iu"; iv: "fm.iv"; iw: "fm.iw"; ix: "fm.ix"; iy: "fm.iy"; iz: "fm.iz"; ja: "fm.ja"; jb: "fm.jb"; jc: "fm.jc"; jd: "fm.jd"; je: "fm.je"; jf: "fm.jf"; jg: "fm.jg"; jh: "fm.jh"; ji: "fm.ji"; jj: "fm.jj"; jk: "fm.jk"; jl: "fm.jl"; jm: "fm.jm"; jn: "fm.jn"; jo: "fm.jo"; jp: "fm.jp"; jq: "fm.jq"; jr: "fm.jr"; js: "fm.js"; jt: "fm.jt"; ju: "fm.ju"; jv: "fm.jv"; jw: "fm.jw"; jx: "fm.jx"; jy: "fm.jy"; jz: "fm.jz"; ka: "fm.ka"; kb: "fm.kb"; kc: "fm.kc"; kd: "fm.kd"; ke: "fm.ke"; kf: "fm.kf"; kg: "fm.kg"; kh: "fm.kh"; ki: "fm.ki"; kj: "fm.kj"; kk: "fm.kk"; kl: "fm.kl"; km: "fm.km"; kn: "fm.kn"; ko: "fm.ko"; kp: "fm.kp"; kq: "fm.kq"; kr: "fm.kr"; ks: "fm.ks"; kt: "fm.kt"; ku: "fm.ku"; kv: "fm.kv"; kw: "fm.kw"; kx: "fm.kx"; ky: "fm.ky"; kz: "fm.kz"; la: "fm.la"; lb: "fm.lb"; lc: "fm.lc"; ld: "fm.ld"; le: "fm.le"; lf: "fm.lf"; lg: "fm.lg"; lh: "fm.lh"; li: "fm.li"; lj: "fm.lj"; lk: "fm.lk"; ll: "fm.ll"; lm: "fm.lm"; ln: "fm.ln"; lo: "fm.lo"; lp: "fm.lp"; lq: "fm.lq"; lr: "fm.lr"; ls: "fm.ls"; lt: "fm.lt"; lu: "fm.lu"; lv: "fm.lv"; lw: "fm.lw"; lx: "fm.lx"; ly: "fm.ly"; lz: "fm.lz"; ma: "fm.ma"; mb: "fm.mb"; mc: "fm.mc"; md: "fm.md"; me: "fm.me"; mf: "fm.mf"; mg: "fm.mg"; mh: "fm.mh"; mi: "fm.mi"; mj: "fm.mj"; mk: "fm.mk"; ml: "fm.ml"; mm: "fm.mm"; mn: "fm.mn"; mo: "fm.mo"; mp: "fm.mp"; mq: "fm.mq"; mr: "fm.mr"; ms: "fm.ms"; mt: "fm.mt"; mu: "fm.mu"; mv: "fm.mv"; mw: "fm.mw"; mx: "fm.mx"; my: "fm.my"; mz: "fm.mz"; na: "fm.na"; nb: "fm.nb"; nc: "fm.nc"; nd: "fm.nd"; ne: "fm.ne"; nf: "fm.nf"; ng: "fm.ng"; nh: "fm.nh"; ni: "fm.ni"; nj: "fm.nj"; nk: "fm.nk"; nl: "fm.nl"; nm: "fm.nm"; nn: "fm.nn"; no: "fm.no"; np: "fm.np"; nq: "fm.nq"; nr: "fm.nr"; ns: "fm.ns"; nt: "fm.nt"; nu: "fm.nu"; nv: "fm.nv"; nw: "fm.nw"; nx: "fm.nx"; ny: "fm.ny"; nz: "fm.nz"; oa: "fm.oa"; ob: "fm.ob"; oc: "fm.oc"; od: "fm.od"; oe: "fm.oe"; of: "fm.of"; og: "fm.og"; oh: "fm.oh"; oi: "fm.oi"; oj: "fm.oj"; ok: "fm.ok"; ol: "fm.ol"; om: "fm.om"; on: "fm.on"; oo: "fm.oo"; op: "fm.op"; oq: "fm.oq"; or: "fm.or"; os: "fm.os"; ot: "fm.ot"; ou: "fm.ou"; ov: "fm.ov"; ow: "fm.ow"; ox: "fm.ox"; oy: "fm.oy"; oz: "fm.oz"; pa: "fm.pa"; pb: "fm.pb"; pc: "fm.pc"; pd: "fm.pd"; pe: "fm.pe"; pf: "fm.pf"; pg: "fm.pg"; ph: "fm.ph"; pi: "fm.pi"; pj: "fm.pj"; pk: "fm.pk"; pl: "fm.pl"; pm: "fm.pm"; pn: "fm.pn"; po: "fm.po"; pp: "fm.pp"; pq: "fm.pq"; pr: "fm.pr"; ps: "fm.ps"; pt: "fm.pt"; pu: "fm.pu"; pv: "fm.pv"; pw: "fm.pw"; px: "fm.px"; py: "fm.py"; pz: "fm.pz"; qa: "fm.qa"; qb: "fm.qb"; qc: "fm.qc"; qd: "fm.qd"; qe: "fm.qe"; qf: "fm.qf"; qg: "fm.qg"; qh: "fm.qh"; qi: "fm.qi"; qj: "fm.qj"; qk: "fm.qk"; ql: "fm.ql"; qm: "fm.qm"; qn: "fm.qn"; qo: "fm.qo"; qp: "fm.qp"; qq: "fm.qq"; qr: "fm.qr"; qs: "fm.qs"; qt: "fm.qt"; qu: "fm.qu"; qv: "fm.qv"; qw: "fm.qw"; qx: "fm.qx"; qy: "fm.qy"; qz: "fm.qz"; ra: "fm.ra"; rb: "fm.rb"; rc: "fm.rc"; rd: "fm.rd"; re: "fm.re"; rf: "fm.rf"; rg: "fm.rg"; rh: "fm.rh"; ri: "fm.ri"; rj: "fm.rj"; rk: "fm.rk"; rl: "fm.rl"; rm: "fm.rm"; rn: "fm.rn"; ro: "fm.ro"; rp: "fm.rp"; rq: "fm.rq"; rr: "fm.rr"; rs: "fm.rs"; rt: "fm.rt"; ru: "fm.ru"; rv: "fm.rv"; rw: "fm.rw"; rx: "fm.rx"; ry: "fm.ry"; rz: "fm.rz"; sa: "fm.sa"; sb: "fm.sb"; sc: "fm.sc"; sd: "fm.sd"; se: "fm.se"; sf: "fm.sf"; sg: "fm.sg"; sh: "fm.sh"; si: "fm.si"; sj: "fm.sj"; sk: "fm.sk"; sl: "fm.sl"; sm: "fm.sm"; sn: "fm.sn"; so: "fm.so"; sp: "fm.sp"; sq: "fm.sq"; sr: "fm.sr"; ss: "fm.ss"; st: "fm.st"; su: "fm.su"; sv: "fm.sv"; sw: "fm.sw"; sx: "fm.sx"; sy: "fm.sy"; sz: "fm.sz"; ta: "fm.ta"; tb: "fm.tb"; tc: "fm.tc"; td: "fm.td"; te: "fm.te"; tf: "fm.tf"; tg: "fm.tg"; th: "fm.th"; ti: "fm.ti"; tj: "fm.tj"; tk: "fm.tk"; tl: "fm.tl"; tm: "fm.tm"; tn: "fm.tn"; to: "fm.to"; tp: "fm.tp"; tq: "fm.tq"; tr: "fm.tr"; ts: "fm.ts"; tt: "fm.tt"; tu: "fm.tu"; tv: "fm.tv"; tw: "fm.tw"; tx: "fm.tx"; ty: "fm.ty"; tz: "fm.tz"; ua: "fm.ua"; ub: "fm.ub"; uc: "fm.uc"; ud: "fm.ud"; ue: "fm.ue"; uf: "fm.uf"; ug: "fm.ug"; uh: "fm.uh"; ui: "fm.ui"; uj: "fm.uj"; uk: "fm.uk"; ul: "fm.ul"; um: "fm.um"; un: "fm.un"; uo: "fm.uo"; up: "fm.up"; uq: "fm.uq"; ur: "fm.ur"; us: "fm.us"; ut: "fm.ut"; uu: "fm.uu"; uv: "fm.uv"; uw: "fm.uw"; ux: "fm.ux"; uy: "fm.uy"; uz: "fm.uz"; va: "fm.va"; vb: "fm.vb"; vc: "fm.vc"; vd: "fm.vd"; ve: "fm.ve"; vf: "fm.vf"; vg: "fm.vg"; vh: "fm.vh"; vi: "fm.vi"; vj: "fm.vj"; vk: "fm.vk"; vl: "fm.vl"; vm: "fm.vm"; vn: "fm.vn"; vo: "fm.vo"; vp: "fm.vp"; vq: "fm.vq"; vr: "fm.vr"; vs: "fm.vs"; vt: "fm.vt"; vu: "fm.vu"; vv: "fm.vv"; vw: "fm.vw"; vx: "fm.vx"; vy: "fm.vy"; vz: "fm.vz"; wa: "fm.wa"; wb: "fm.wb"; wc: "fm.wc"; wd: "fm.wd"; we: "fm.we"; wf: "fm.wf"; wg: "fm.wg"; wh: "fm.wh"; wi: "fm.wi"; wj: "fm.wj"; wk: "fm.wk"; wl: "fm.wl"; wm: "fm.wm"; wn: "fm.wn"; wo: "fm.wo"; wp: "fm.wp"; wq: "fm.wq"; wr: "fm.wr"; ws: "fm.ws"; wt: "fm.wt"; wu: "fm.wu"; wv: "fm.wv"; ww: "fm.ww"; wx: "fm.wx"; wy: "fm.wy"; wz: "fm.wz"; xa: "fm.xa"; xb: "fm.xb"; xc: "fm.xc"; xd: "fm.xd"; xe: "fm.xe"; xf: "fm.xf"; xg: "fm.xg"; xh: "fm.xh"; xi: "fm.xi"; xj: "fm.xj"; xk: "fm.xk"; xl: "fm.xl"; xm: "fm.xm"; xn: "fm.xn"; xo: "fm.xo"; xp: "fm.xp"; xq: "fm.xq"; xr: "fm.xr"; xs: "fm.xs"; xt: "fm.xt"; xu: "fm.xu"; xv: "fm.xv"; xw: "fm.xw"; xx: "fm.xx"; xy: "fm.xy"; xz: "fm.xz"; ya: "fm.ya"; yb: "fm.yb"; yc: "fm.yc"; yd: "fm.yd"; ye: "fm.ye"; yf: "fm.yf"; yg: "fm.yg"; yh: "fm.yh"; yi: "fm.yi"; yj: "fm.yj"; yk: "fm.yk"; yl: "fm.yl"; ym: "fm.ym"; yn: "fm.yn"; yo: "fm.yo"; yp: "fm.yp"; yq: "fm.yq"; yr: "fm.yr"; ys: "fm.ys"; yt: "fm.yt"; yu: "fm.yu"; yv: "fm.yv"; yw: "fm.yw"; yx: "fm.yx"; yy: "fm.yy"; yz: "fm.yz"; za: "fm.za"; zb: "fm.zb"; zc: "fm.zc"; zd: "fm.zd"; ze: "fm.ze"; zf: "fm.zf"; zg: "fm.zg"; zh: "fm.zh"; zi: "fm.zi"; zj: "fm.zj"; zk: "fm.zk"; zl: "fm.zl"; zm: "fm.zm"; zn: "fm.zn"; zo: "fm.zo"; zp: "fm.zp"; zq: "fm.zq"; zr: "fm.zr"; zs: "fm.zs"; zt: "fm.zt"; zu: "fm.zu"; zv: "fm.zv"; zw: "fm.zw"; zx: "fm.zx"; zy: "fm.zy"; zz: "fm.zz"; }; fn: { aa: "fn.aa"; ab: "fn.ab"; ac: "fn.ac"; ad: "fn.ad"; ae: "fn.ae"; af: "fn.af"; ag: "fn.ag"; ah: "fn.ah"; ai: "fn.ai"; aj: "fn.aj"; ak: "fn.ak"; al: "fn.al"; am: "fn.am"; an: "fn.an"; ao: "fn.ao"; ap: "fn.ap"; aq: "fn.aq"; ar: "fn.ar"; as: "fn.as"; at: "fn.at"; au: "fn.au"; av: "fn.av"; aw: "fn.aw"; ax: "fn.ax"; ay: "fn.ay"; az: "fn.az"; ba: "fn.ba"; bb: "fn.bb"; bc: "fn.bc"; bd: "fn.bd"; be: "fn.be"; bf: "fn.bf"; bg: "fn.bg"; bh: "fn.bh"; bi: "fn.bi"; bj: "fn.bj"; bk: "fn.bk"; bl: "fn.bl"; bm: "fn.bm"; bn: "fn.bn"; bo: "fn.bo"; bp: "fn.bp"; bq: "fn.bq"; br: "fn.br"; bs: "fn.bs"; bt: "fn.bt"; bu: "fn.bu"; bv: "fn.bv"; bw: "fn.bw"; bx: "fn.bx"; by: "fn.by"; bz: "fn.bz"; ca: "fn.ca"; cb: "fn.cb"; cc: "fn.cc"; cd: "fn.cd"; ce: "fn.ce"; cf: "fn.cf"; cg: "fn.cg"; ch: "fn.ch"; ci: "fn.ci"; cj: "fn.cj"; ck: "fn.ck"; cl: "fn.cl"; cm: "fn.cm"; cn: "fn.cn"; co: "fn.co"; cp: "fn.cp"; cq: "fn.cq"; cr: "fn.cr"; cs: "fn.cs"; ct: "fn.ct"; cu: "fn.cu"; cv: "fn.cv"; cw: "fn.cw"; cx: "fn.cx"; cy: "fn.cy"; cz: "fn.cz"; da: "fn.da"; db: "fn.db"; dc: "fn.dc"; dd: "fn.dd"; de: "fn.de"; df: "fn.df"; dg: "fn.dg"; dh: "fn.dh"; di: "fn.di"; dj: "fn.dj"; dk: "fn.dk"; dl: "fn.dl"; dm: "fn.dm"; dn: "fn.dn"; do: "fn.do"; dp: "fn.dp"; dq: "fn.dq"; dr: "fn.dr"; ds: "fn.ds"; dt: "fn.dt"; du: "fn.du"; dv: "fn.dv"; dw: "fn.dw"; dx: "fn.dx"; dy: "fn.dy"; dz: "fn.dz"; ea: "fn.ea"; eb: "fn.eb"; ec: "fn.ec"; ed: "fn.ed"; ee: "fn.ee"; ef: "fn.ef"; eg: "fn.eg"; eh: "fn.eh"; ei: "fn.ei"; ej: "fn.ej"; ek: "fn.ek"; el: "fn.el"; em: "fn.em"; en: "fn.en"; eo: "fn.eo"; ep: "fn.ep"; eq: "fn.eq"; er: "fn.er"; es: "fn.es"; et: "fn.et"; eu: "fn.eu"; ev: "fn.ev"; ew: "fn.ew"; ex: "fn.ex"; ey: "fn.ey"; ez: "fn.ez"; fa: "fn.fa"; fb: "fn.fb"; fc: "fn.fc"; fd: "fn.fd"; fe: "fn.fe"; ff: "fn.ff"; fg: "fn.fg"; fh: "fn.fh"; fi: "fn.fi"; fj: "fn.fj"; fk: "fn.fk"; fl: "fn.fl"; fm: "fn.fm"; fn: "fn.fn"; fo: "fn.fo"; fp: "fn.fp"; fq: "fn.fq"; fr: "fn.fr"; fs: "fn.fs"; ft: "fn.ft"; fu: "fn.fu"; fv: "fn.fv"; fw: "fn.fw"; fx: "fn.fx"; fy: "fn.fy"; fz: "fn.fz"; ga: "fn.ga"; gb: "fn.gb"; gc: "fn.gc"; gd: "fn.gd"; ge: "fn.ge"; gf: "fn.gf"; gg: "fn.gg"; gh: "fn.gh"; gi: "fn.gi"; gj: "fn.gj"; gk: "fn.gk"; gl: "fn.gl"; gm: "fn.gm"; gn: "fn.gn"; go: "fn.go"; gp: "fn.gp"; gq: "fn.gq"; gr: "fn.gr"; gs: "fn.gs"; gt: "fn.gt"; gu: "fn.gu"; gv: "fn.gv"; gw: "fn.gw"; gx: "fn.gx"; gy: "fn.gy"; gz: "fn.gz"; ha: "fn.ha"; hb: "fn.hb"; hc: "fn.hc"; hd: "fn.hd"; he: "fn.he"; hf: "fn.hf"; hg: "fn.hg"; hh: "fn.hh"; hi: "fn.hi"; hj: "fn.hj"; hk: "fn.hk"; hl: "fn.hl"; hm: "fn.hm"; hn: "fn.hn"; ho: "fn.ho"; hp: "fn.hp"; hq: "fn.hq"; hr: "fn.hr"; hs: "fn.hs"; ht: "fn.ht"; hu: "fn.hu"; hv: "fn.hv"; hw: "fn.hw"; hx: "fn.hx"; hy: "fn.hy"; hz: "fn.hz"; ia: "fn.ia"; ib: "fn.ib"; ic: "fn.ic"; id: "fn.id"; ie: "fn.ie"; if: "fn.if"; ig: "fn.ig"; ih: "fn.ih"; ii: "fn.ii"; ij: "fn.ij"; ik: "fn.ik"; il: "fn.il"; im: "fn.im"; in: "fn.in"; io: "fn.io"; ip: "fn.ip"; iq: "fn.iq"; ir: "fn.ir"; is: "fn.is"; it: "fn.it"; iu: "fn.iu"; iv: "fn.iv"; iw: "fn.iw"; ix: "fn.ix"; iy: "fn.iy"; iz: "fn.iz"; ja: "fn.ja"; jb: "fn.jb"; jc: "fn.jc"; jd: "fn.jd"; je: "fn.je"; jf: "fn.jf"; jg: "fn.jg"; jh: "fn.jh"; ji: "fn.ji"; jj: "fn.jj"; jk: "fn.jk"; jl: "fn.jl"; jm: "fn.jm"; jn: "fn.jn"; jo: "fn.jo"; jp: "fn.jp"; jq: "fn.jq"; jr: "fn.jr"; js: "fn.js"; jt: "fn.jt"; ju: "fn.ju"; jv: "fn.jv"; jw: "fn.jw"; jx: "fn.jx"; jy: "fn.jy"; jz: "fn.jz"; ka: "fn.ka"; kb: "fn.kb"; kc: "fn.kc"; kd: "fn.kd"; ke: "fn.ke"; kf: "fn.kf"; kg: "fn.kg"; kh: "fn.kh"; ki: "fn.ki"; kj: "fn.kj"; kk: "fn.kk"; kl: "fn.kl"; km: "fn.km"; kn: "fn.kn"; ko: "fn.ko"; kp: "fn.kp"; kq: "fn.kq"; kr: "fn.kr"; ks: "fn.ks"; kt: "fn.kt"; ku: "fn.ku"; kv: "fn.kv"; kw: "fn.kw"; kx: "fn.kx"; ky: "fn.ky"; kz: "fn.kz"; la: "fn.la"; lb: "fn.lb"; lc: "fn.lc"; ld: "fn.ld"; le: "fn.le"; lf: "fn.lf"; lg: "fn.lg"; lh: "fn.lh"; li: "fn.li"; lj: "fn.lj"; lk: "fn.lk"; ll: "fn.ll"; lm: "fn.lm"; ln: "fn.ln"; lo: "fn.lo"; lp: "fn.lp"; lq: "fn.lq"; lr: "fn.lr"; ls: "fn.ls"; lt: "fn.lt"; lu: "fn.lu"; lv: "fn.lv"; lw: "fn.lw"; lx: "fn.lx"; ly: "fn.ly"; lz: "fn.lz"; ma: "fn.ma"; mb: "fn.mb"; mc: "fn.mc"; md: "fn.md"; me: "fn.me"; mf: "fn.mf"; mg: "fn.mg"; mh: "fn.mh"; mi: "fn.mi"; mj: "fn.mj"; mk: "fn.mk"; ml: "fn.ml"; mm: "fn.mm"; mn: "fn.mn"; mo: "fn.mo"; mp: "fn.mp"; mq: "fn.mq"; mr: "fn.mr"; ms: "fn.ms"; mt: "fn.mt"; mu: "fn.mu"; mv: "fn.mv"; mw: "fn.mw"; mx: "fn.mx"; my: "fn.my"; mz: "fn.mz"; na: "fn.na"; nb: "fn.nb"; nc: "fn.nc"; nd: "fn.nd"; ne: "fn.ne"; nf: "fn.nf"; ng: "fn.ng"; nh: "fn.nh"; ni: "fn.ni"; nj: "fn.nj"; nk: "fn.nk"; nl: "fn.nl"; nm: "fn.nm"; nn: "fn.nn"; no: "fn.no"; np: "fn.np"; nq: "fn.nq"; nr: "fn.nr"; ns: "fn.ns"; nt: "fn.nt"; nu: "fn.nu"; nv: "fn.nv"; nw: "fn.nw"; nx: "fn.nx"; ny: "fn.ny"; nz: "fn.nz"; oa: "fn.oa"; ob: "fn.ob"; oc: "fn.oc"; od: "fn.od"; oe: "fn.oe"; of: "fn.of"; og: "fn.og"; oh: "fn.oh"; oi: "fn.oi"; oj: "fn.oj"; ok: "fn.ok"; ol: "fn.ol"; om: "fn.om"; on: "fn.on"; oo: "fn.oo"; op: "fn.op"; oq: "fn.oq"; or: "fn.or"; os: "fn.os"; ot: "fn.ot"; ou: "fn.ou"; ov: "fn.ov"; ow: "fn.ow"; ox: "fn.ox"; oy: "fn.oy"; oz: "fn.oz"; pa: "fn.pa"; pb: "fn.pb"; pc: "fn.pc"; pd: "fn.pd"; pe: "fn.pe"; pf: "fn.pf"; pg: "fn.pg"; ph: "fn.ph"; pi: "fn.pi"; pj: "fn.pj"; pk: "fn.pk"; pl: "fn.pl"; pm: "fn.pm"; pn: "fn.pn"; po: "fn.po"; pp: "fn.pp"; pq: "fn.pq"; pr: "fn.pr"; ps: "fn.ps"; pt: "fn.pt"; pu: "fn.pu"; pv: "fn.pv"; pw: "fn.pw"; px: "fn.px"; py: "fn.py"; pz: "fn.pz"; qa: "fn.qa"; qb: "fn.qb"; qc: "fn.qc"; qd: "fn.qd"; qe: "fn.qe"; qf: "fn.qf"; qg: "fn.qg"; qh: "fn.qh"; qi: "fn.qi"; qj: "fn.qj"; qk: "fn.qk"; ql: "fn.ql"; qm: "fn.qm"; qn: "fn.qn"; qo: "fn.qo"; qp: "fn.qp"; qq: "fn.qq"; qr: "fn.qr"; qs: "fn.qs"; qt: "fn.qt"; qu: "fn.qu"; qv: "fn.qv"; qw: "fn.qw"; qx: "fn.qx"; qy: "fn.qy"; qz: "fn.qz"; ra: "fn.ra"; rb: "fn.rb"; rc: "fn.rc"; rd: "fn.rd"; re: "fn.re"; rf: "fn.rf"; rg: "fn.rg"; rh: "fn.rh"; ri: "fn.ri"; rj: "fn.rj"; rk: "fn.rk"; rl: "fn.rl"; rm: "fn.rm"; rn: "fn.rn"; ro: "fn.ro"; rp: "fn.rp"; rq: "fn.rq"; rr: "fn.rr"; rs: "fn.rs"; rt: "fn.rt"; ru: "fn.ru"; rv: "fn.rv"; rw: "fn.rw"; rx: "fn.rx"; ry: "fn.ry"; rz: "fn.rz"; sa: "fn.sa"; sb: "fn.sb"; sc: "fn.sc"; sd: "fn.sd"; se: "fn.se"; sf: "fn.sf"; sg: "fn.sg"; sh: "fn.sh"; si: "fn.si"; sj: "fn.sj"; sk: "fn.sk"; sl: "fn.sl"; sm: "fn.sm"; sn: "fn.sn"; so: "fn.so"; sp: "fn.sp"; sq: "fn.sq"; sr: "fn.sr"; ss: "fn.ss"; st: "fn.st"; su: "fn.su"; sv: "fn.sv"; sw: "fn.sw"; sx: "fn.sx"; sy: "fn.sy"; sz: "fn.sz"; ta: "fn.ta"; tb: "fn.tb"; tc: "fn.tc"; td: "fn.td"; te: "fn.te"; tf: "fn.tf"; tg: "fn.tg"; th: "fn.th"; ti: "fn.ti"; tj: "fn.tj"; tk: "fn.tk"; tl: "fn.tl"; tm: "fn.tm"; tn: "fn.tn"; to: "fn.to"; tp: "fn.tp"; tq: "fn.tq"; tr: "fn.tr"; ts: "fn.ts"; tt: "fn.tt"; tu: "fn.tu"; tv: "fn.tv"; tw: "fn.tw"; tx: "fn.tx"; ty: "fn.ty"; tz: "fn.tz"; ua: "fn.ua"; ub: "fn.ub"; uc: "fn.uc"; ud: "fn.ud"; ue: "fn.ue"; uf: "fn.uf"; ug: "fn.ug"; uh: "fn.uh"; ui: "fn.ui"; uj: "fn.uj"; uk: "fn.uk"; ul: "fn.ul"; um: "fn.um"; un: "fn.un"; uo: "fn.uo"; up: "fn.up"; uq: "fn.uq"; ur: "fn.ur"; us: "fn.us"; ut: "fn.ut"; uu: "fn.uu"; uv: "fn.uv"; uw: "fn.uw"; ux: "fn.ux"; uy: "fn.uy"; uz: "fn.uz"; va: "fn.va"; vb: "fn.vb"; vc: "fn.vc"; vd: "fn.vd"; ve: "fn.ve"; vf: "fn.vf"; vg: "fn.vg"; vh: "fn.vh"; vi: "fn.vi"; vj: "fn.vj"; vk: "fn.vk"; vl: "fn.vl"; vm: "fn.vm"; vn: "fn.vn"; vo: "fn.vo"; vp: "fn.vp"; vq: "fn.vq"; vr: "fn.vr"; vs: "fn.vs"; vt: "fn.vt"; vu: "fn.vu"; vv: "fn.vv"; vw: "fn.vw"; vx: "fn.vx"; vy: "fn.vy"; vz: "fn.vz"; wa: "fn.wa"; wb: "fn.wb"; wc: "fn.wc"; wd: "fn.wd"; we: "fn.we"; wf: "fn.wf"; wg: "fn.wg"; wh: "fn.wh"; wi: "fn.wi"; wj: "fn.wj"; wk: "fn.wk"; wl: "fn.wl"; wm: "fn.wm"; wn: "fn.wn"; wo: "fn.wo"; wp: "fn.wp"; wq: "fn.wq"; wr: "fn.wr"; ws: "fn.ws"; wt: "fn.wt"; wu: "fn.wu"; wv: "fn.wv"; ww: "fn.ww"; wx: "fn.wx"; wy: "fn.wy"; wz: "fn.wz"; xa: "fn.xa"; xb: "fn.xb"; xc: "fn.xc"; xd: "fn.xd"; xe: "fn.xe"; xf: "fn.xf"; xg: "fn.xg"; xh: "fn.xh"; xi: "fn.xi"; xj: "fn.xj"; xk: "fn.xk"; xl: "fn.xl"; xm: "fn.xm"; xn: "fn.xn"; xo: "fn.xo"; xp: "fn.xp"; xq: "fn.xq"; xr: "fn.xr"; xs: "fn.xs"; xt: "fn.xt"; xu: "fn.xu"; xv: "fn.xv"; xw: "fn.xw"; xx: "fn.xx"; xy: "fn.xy"; xz: "fn.xz"; ya: "fn.ya"; yb: "fn.yb"; yc: "fn.yc"; yd: "fn.yd"; ye: "fn.ye"; yf: "fn.yf"; yg: "fn.yg"; yh: "fn.yh"; yi: "fn.yi"; yj: "fn.yj"; yk: "fn.yk"; yl: "fn.yl"; ym: "fn.ym"; yn: "fn.yn"; yo: "fn.yo"; yp: "fn.yp"; yq: "fn.yq"; yr: "fn.yr"; ys: "fn.ys"; yt: "fn.yt"; yu: "fn.yu"; yv: "fn.yv"; yw: "fn.yw"; yx: "fn.yx"; yy: "fn.yy"; yz: "fn.yz"; za: "fn.za"; zb: "fn.zb"; zc: "fn.zc"; zd: "fn.zd"; ze: "fn.ze"; zf: "fn.zf"; zg: "fn.zg"; zh: "fn.zh"; zi: "fn.zi"; zj: "fn.zj"; zk: "fn.zk"; zl: "fn.zl"; zm: "fn.zm"; zn: "fn.zn"; zo: "fn.zo"; zp: "fn.zp"; zq: "fn.zq"; zr: "fn.zr"; zs: "fn.zs"; zt: "fn.zt"; zu: "fn.zu"; zv: "fn.zv"; zw: "fn.zw"; zx: "fn.zx"; zy: "fn.zy"; zz: "fn.zz"; }; fo: { aa: "fo.aa"; ab: "fo.ab"; ac: "fo.ac"; ad: "fo.ad"; ae: "fo.ae"; af: "fo.af"; ag: "fo.ag"; ah: "fo.ah"; ai: "fo.ai"; aj: "fo.aj"; ak: "fo.ak"; al: "fo.al"; am: "fo.am"; an: "fo.an"; ao: "fo.ao"; ap: "fo.ap"; aq: "fo.aq"; ar: "fo.ar"; as: "fo.as"; at: "fo.at"; au: "fo.au"; av: "fo.av"; aw: "fo.aw"; ax: "fo.ax"; ay: "fo.ay"; az: "fo.az"; ba: "fo.ba"; bb: "fo.bb"; bc: "fo.bc"; bd: "fo.bd"; be: "fo.be"; bf: "fo.bf"; bg: "fo.bg"; bh: "fo.bh"; bi: "fo.bi"; bj: "fo.bj"; bk: "fo.bk"; bl: "fo.bl"; bm: "fo.bm"; bn: "fo.bn"; bo: "fo.bo"; bp: "fo.bp"; bq: "fo.bq"; br: "fo.br"; bs: "fo.bs"; bt: "fo.bt"; bu: "fo.bu"; bv: "fo.bv"; bw: "fo.bw"; bx: "fo.bx"; by: "fo.by"; bz: "fo.bz"; ca: "fo.ca"; cb: "fo.cb"; cc: "fo.cc"; cd: "fo.cd"; ce: "fo.ce"; cf: "fo.cf"; cg: "fo.cg"; ch: "fo.ch"; ci: "fo.ci"; cj: "fo.cj"; ck: "fo.ck"; cl: "fo.cl"; cm: "fo.cm"; cn: "fo.cn"; co: "fo.co"; cp: "fo.cp"; cq: "fo.cq"; cr: "fo.cr"; cs: "fo.cs"; ct: "fo.ct"; cu: "fo.cu"; cv: "fo.cv"; cw: "fo.cw"; cx: "fo.cx"; cy: "fo.cy"; cz: "fo.cz"; da: "fo.da"; db: "fo.db"; dc: "fo.dc"; dd: "fo.dd"; de: "fo.de"; df: "fo.df"; dg: "fo.dg"; dh: "fo.dh"; di: "fo.di"; dj: "fo.dj"; dk: "fo.dk"; dl: "fo.dl"; dm: "fo.dm"; dn: "fo.dn"; do: "fo.do"; dp: "fo.dp"; dq: "fo.dq"; dr: "fo.dr"; ds: "fo.ds"; dt: "fo.dt"; du: "fo.du"; dv: "fo.dv"; dw: "fo.dw"; dx: "fo.dx"; dy: "fo.dy"; dz: "fo.dz"; ea: "fo.ea"; eb: "fo.eb"; ec: "fo.ec"; ed: "fo.ed"; ee: "fo.ee"; ef: "fo.ef"; eg: "fo.eg"; eh: "fo.eh"; ei: "fo.ei"; ej: "fo.ej"; ek: "fo.ek"; el: "fo.el"; em: "fo.em"; en: "fo.en"; eo: "fo.eo"; ep: "fo.ep"; eq: "fo.eq"; er: "fo.er"; es: "fo.es"; et: "fo.et"; eu: "fo.eu"; ev: "fo.ev"; ew: "fo.ew"; ex: "fo.ex"; ey: "fo.ey"; ez: "fo.ez"; fa: "fo.fa"; fb: "fo.fb"; fc: "fo.fc"; fd: "fo.fd"; fe: "fo.fe"; ff: "fo.ff"; fg: "fo.fg"; fh: "fo.fh"; fi: "fo.fi"; fj: "fo.fj"; fk: "fo.fk"; fl: "fo.fl"; fm: "fo.fm"; fn: "fo.fn"; fo: "fo.fo"; fp: "fo.fp"; fq: "fo.fq"; fr: "fo.fr"; fs: "fo.fs"; ft: "fo.ft"; fu: "fo.fu"; fv: "fo.fv"; fw: "fo.fw"; fx: "fo.fx"; fy: "fo.fy"; fz: "fo.fz"; ga: "fo.ga"; gb: "fo.gb"; gc: "fo.gc"; gd: "fo.gd"; ge: "fo.ge"; gf: "fo.gf"; gg: "fo.gg"; gh: "fo.gh"; gi: "fo.gi"; gj: "fo.gj"; gk: "fo.gk"; gl: "fo.gl"; gm: "fo.gm"; gn: "fo.gn"; go: "fo.go"; gp: "fo.gp"; gq: "fo.gq"; gr: "fo.gr"; gs: "fo.gs"; gt: "fo.gt"; gu: "fo.gu"; gv: "fo.gv"; gw: "fo.gw"; gx: "fo.gx"; gy: "fo.gy"; gz: "fo.gz"; ha: "fo.ha"; hb: "fo.hb"; hc: "fo.hc"; hd: "fo.hd"; he: "fo.he"; hf: "fo.hf"; hg: "fo.hg"; hh: "fo.hh"; hi: "fo.hi"; hj: "fo.hj"; hk: "fo.hk"; hl: "fo.hl"; hm: "fo.hm"; hn: "fo.hn"; ho: "fo.ho"; hp: "fo.hp"; hq: "fo.hq"; hr: "fo.hr"; hs: "fo.hs"; ht: "fo.ht"; hu: "fo.hu"; hv: "fo.hv"; hw: "fo.hw"; hx: "fo.hx"; hy: "fo.hy"; hz: "fo.hz"; ia: "fo.ia"; ib: "fo.ib"; ic: "fo.ic"; id: "fo.id"; ie: "fo.ie"; if: "fo.if"; ig: "fo.ig"; ih: "fo.ih"; ii: "fo.ii"; ij: "fo.ij"; ik: "fo.ik"; il: "fo.il"; im: "fo.im"; in: "fo.in"; io: "fo.io"; ip: "fo.ip"; iq: "fo.iq"; ir: "fo.ir"; is: "fo.is"; it: "fo.it"; iu: "fo.iu"; iv: "fo.iv"; iw: "fo.iw"; ix: "fo.ix"; iy: "fo.iy"; iz: "fo.iz"; ja: "fo.ja"; jb: "fo.jb"; jc: "fo.jc"; jd: "fo.jd"; je: "fo.je"; jf: "fo.jf"; jg: "fo.jg"; jh: "fo.jh"; ji: "fo.ji"; jj: "fo.jj"; jk: "fo.jk"; jl: "fo.jl"; jm: "fo.jm"; jn: "fo.jn"; jo: "fo.jo"; jp: "fo.jp"; jq: "fo.jq"; jr: "fo.jr"; js: "fo.js"; jt: "fo.jt"; ju: "fo.ju"; jv: "fo.jv"; jw: "fo.jw"; jx: "fo.jx"; jy: "fo.jy"; jz: "fo.jz"; ka: "fo.ka"; kb: "fo.kb"; kc: "fo.kc"; kd: "fo.kd"; ke: "fo.ke"; kf: "fo.kf"; kg: "fo.kg"; kh: "fo.kh"; ki: "fo.ki"; kj: "fo.kj"; kk: "fo.kk"; kl: "fo.kl"; km: "fo.km"; kn: "fo.kn"; ko: "fo.ko"; kp: "fo.kp"; kq: "fo.kq"; kr: "fo.kr"; ks: "fo.ks"; kt: "fo.kt"; ku: "fo.ku"; kv: "fo.kv"; kw: "fo.kw"; kx: "fo.kx"; ky: "fo.ky"; kz: "fo.kz"; la: "fo.la"; lb: "fo.lb"; lc: "fo.lc"; ld: "fo.ld"; le: "fo.le"; lf: "fo.lf"; lg: "fo.lg"; lh: "fo.lh"; li: "fo.li"; lj: "fo.lj"; lk: "fo.lk"; ll: "fo.ll"; lm: "fo.lm"; ln: "fo.ln"; lo: "fo.lo"; lp: "fo.lp"; lq: "fo.lq"; lr: "fo.lr"; ls: "fo.ls"; lt: "fo.lt"; lu: "fo.lu"; lv: "fo.lv"; lw: "fo.lw"; lx: "fo.lx"; ly: "fo.ly"; lz: "fo.lz"; ma: "fo.ma"; mb: "fo.mb"; mc: "fo.mc"; md: "fo.md"; me: "fo.me"; mf: "fo.mf"; mg: "fo.mg"; mh: "fo.mh"; mi: "fo.mi"; mj: "fo.mj"; mk: "fo.mk"; ml: "fo.ml"; mm: "fo.mm"; mn: "fo.mn"; mo: "fo.mo"; mp: "fo.mp"; mq: "fo.mq"; mr: "fo.mr"; ms: "fo.ms"; mt: "fo.mt"; mu: "fo.mu"; mv: "fo.mv"; mw: "fo.mw"; mx: "fo.mx"; my: "fo.my"; mz: "fo.mz"; na: "fo.na"; nb: "fo.nb"; nc: "fo.nc"; nd: "fo.nd"; ne: "fo.ne"; nf: "fo.nf"; ng: "fo.ng"; nh: "fo.nh"; ni: "fo.ni"; nj: "fo.nj"; nk: "fo.nk"; nl: "fo.nl"; nm: "fo.nm"; nn: "fo.nn"; no: "fo.no"; np: "fo.np"; nq: "fo.nq"; nr: "fo.nr"; ns: "fo.ns"; nt: "fo.nt"; nu: "fo.nu"; nv: "fo.nv"; nw: "fo.nw"; nx: "fo.nx"; ny: "fo.ny"; nz: "fo.nz"; oa: "fo.oa"; ob: "fo.ob"; oc: "fo.oc"; od: "fo.od"; oe: "fo.oe"; of: "fo.of"; og: "fo.og"; oh: "fo.oh"; oi: "fo.oi"; oj: "fo.oj"; ok: "fo.ok"; ol: "fo.ol"; om: "fo.om"; on: "fo.on"; oo: "fo.oo"; op: "fo.op"; oq: "fo.oq"; or: "fo.or"; os: "fo.os"; ot: "fo.ot"; ou: "fo.ou"; ov: "fo.ov"; ow: "fo.ow"; ox: "fo.ox"; oy: "fo.oy"; oz: "fo.oz"; pa: "fo.pa"; pb: "fo.pb"; pc: "fo.pc"; pd: "fo.pd"; pe: "fo.pe"; pf: "fo.pf"; pg: "fo.pg"; ph: "fo.ph"; pi: "fo.pi"; pj: "fo.pj"; pk: "fo.pk"; pl: "fo.pl"; pm: "fo.pm"; pn: "fo.pn"; po: "fo.po"; pp: "fo.pp"; pq: "fo.pq"; pr: "fo.pr"; ps: "fo.ps"; pt: "fo.pt"; pu: "fo.pu"; pv: "fo.pv"; pw: "fo.pw"; px: "fo.px"; py: "fo.py"; pz: "fo.pz"; qa: "fo.qa"; qb: "fo.qb"; qc: "fo.qc"; qd: "fo.qd"; qe: "fo.qe"; qf: "fo.qf"; qg: "fo.qg"; qh: "fo.qh"; qi: "fo.qi"; qj: "fo.qj"; qk: "fo.qk"; ql: "fo.ql"; qm: "fo.qm"; qn: "fo.qn"; qo: "fo.qo"; qp: "fo.qp"; qq: "fo.qq"; qr: "fo.qr"; qs: "fo.qs"; qt: "fo.qt"; qu: "fo.qu"; qv: "fo.qv"; qw: "fo.qw"; qx: "fo.qx"; qy: "fo.qy"; qz: "fo.qz"; ra: "fo.ra"; rb: "fo.rb"; rc: "fo.rc"; rd: "fo.rd"; re: "fo.re"; rf: "fo.rf"; rg: "fo.rg"; rh: "fo.rh"; ri: "fo.ri"; rj: "fo.rj"; rk: "fo.rk"; rl: "fo.rl"; rm: "fo.rm"; rn: "fo.rn"; ro: "fo.ro"; rp: "fo.rp"; rq: "fo.rq"; rr: "fo.rr"; rs: "fo.rs"; rt: "fo.rt"; ru: "fo.ru"; rv: "fo.rv"; rw: "fo.rw"; rx: "fo.rx"; ry: "fo.ry"; rz: "fo.rz"; sa: "fo.sa"; sb: "fo.sb"; sc: "fo.sc"; sd: "fo.sd"; se: "fo.se"; sf: "fo.sf"; sg: "fo.sg"; sh: "fo.sh"; si: "fo.si"; sj: "fo.sj"; sk: "fo.sk"; sl: "fo.sl"; sm: "fo.sm"; sn: "fo.sn"; so: "fo.so"; sp: "fo.sp"; sq: "fo.sq"; sr: "fo.sr"; ss: "fo.ss"; st: "fo.st"; su: "fo.su"; sv: "fo.sv"; sw: "fo.sw"; sx: "fo.sx"; sy: "fo.sy"; sz: "fo.sz"; ta: "fo.ta"; tb: "fo.tb"; tc: "fo.tc"; td: "fo.td"; te: "fo.te"; tf: "fo.tf"; tg: "fo.tg"; th: "fo.th"; ti: "fo.ti"; tj: "fo.tj"; tk: "fo.tk"; tl: "fo.tl"; tm: "fo.tm"; tn: "fo.tn"; to: "fo.to"; tp: "fo.tp"; tq: "fo.tq"; tr: "fo.tr"; ts: "fo.ts"; tt: "fo.tt"; tu: "fo.tu"; tv: "fo.tv"; tw: "fo.tw"; tx: "fo.tx"; ty: "fo.ty"; tz: "fo.tz"; ua: "fo.ua"; ub: "fo.ub"; uc: "fo.uc"; ud: "fo.ud"; ue: "fo.ue"; uf: "fo.uf"; ug: "fo.ug"; uh: "fo.uh"; ui: "fo.ui"; uj: "fo.uj"; uk: "fo.uk"; ul: "fo.ul"; um: "fo.um"; un: "fo.un"; uo: "fo.uo"; up: "fo.up"; uq: "fo.uq"; ur: "fo.ur"; us: "fo.us"; ut: "fo.ut"; uu: "fo.uu"; uv: "fo.uv"; uw: "fo.uw"; ux: "fo.ux"; uy: "fo.uy"; uz: "fo.uz"; va: "fo.va"; vb: "fo.vb"; vc: "fo.vc"; vd: "fo.vd"; ve: "fo.ve"; vf: "fo.vf"; vg: "fo.vg"; vh: "fo.vh"; vi: "fo.vi"; vj: "fo.vj"; vk: "fo.vk"; vl: "fo.vl"; vm: "fo.vm"; vn: "fo.vn"; vo: "fo.vo"; vp: "fo.vp"; vq: "fo.vq"; vr: "fo.vr"; vs: "fo.vs"; vt: "fo.vt"; vu: "fo.vu"; vv: "fo.vv"; vw: "fo.vw"; vx: "fo.vx"; vy: "fo.vy"; vz: "fo.vz"; wa: "fo.wa"; wb: "fo.wb"; wc: "fo.wc"; wd: "fo.wd"; we: "fo.we"; wf: "fo.wf"; wg: "fo.wg"; wh: "fo.wh"; wi: "fo.wi"; wj: "fo.wj"; wk: "fo.wk"; wl: "fo.wl"; wm: "fo.wm"; wn: "fo.wn"; wo: "fo.wo"; wp: "fo.wp"; wq: "fo.wq"; wr: "fo.wr"; ws: "fo.ws"; wt: "fo.wt"; wu: "fo.wu"; wv: "fo.wv"; ww: "fo.ww"; wx: "fo.wx"; wy: "fo.wy"; wz: "fo.wz"; xa: "fo.xa"; xb: "fo.xb"; xc: "fo.xc"; xd: "fo.xd"; xe: "fo.xe"; xf: "fo.xf"; xg: "fo.xg"; xh: "fo.xh"; xi: "fo.xi"; xj: "fo.xj"; xk: "fo.xk"; xl: "fo.xl"; xm: "fo.xm"; xn: "fo.xn"; xo: "fo.xo"; xp: "fo.xp"; xq: "fo.xq"; xr: "fo.xr"; xs: "fo.xs"; xt: "fo.xt"; xu: "fo.xu"; xv: "fo.xv"; xw: "fo.xw"; xx: "fo.xx"; xy: "fo.xy"; xz: "fo.xz"; ya: "fo.ya"; yb: "fo.yb"; yc: "fo.yc"; yd: "fo.yd"; ye: "fo.ye"; yf: "fo.yf"; yg: "fo.yg"; yh: "fo.yh"; yi: "fo.yi"; yj: "fo.yj"; yk: "fo.yk"; yl: "fo.yl"; ym: "fo.ym"; yn: "fo.yn"; yo: "fo.yo"; yp: "fo.yp"; yq: "fo.yq"; yr: "fo.yr"; ys: "fo.ys"; yt: "fo.yt"; yu: "fo.yu"; yv: "fo.yv"; yw: "fo.yw"; yx: "fo.yx"; yy: "fo.yy"; yz: "fo.yz"; za: "fo.za"; zb: "fo.zb"; zc: "fo.zc"; zd: "fo.zd"; ze: "fo.ze"; zf: "fo.zf"; zg: "fo.zg"; zh: "fo.zh"; zi: "fo.zi"; zj: "fo.zj"; zk: "fo.zk"; zl: "fo.zl"; zm: "fo.zm"; zn: "fo.zn"; zo: "fo.zo"; zp: "fo.zp"; zq: "fo.zq"; zr: "fo.zr"; zs: "fo.zs"; zt: "fo.zt"; zu: "fo.zu"; zv: "fo.zv"; zw: "fo.zw"; zx: "fo.zx"; zy: "fo.zy"; zz: "fo.zz"; }; fp: { aa: "fp.aa"; ab: "fp.ab"; ac: "fp.ac"; ad: "fp.ad"; ae: "fp.ae"; af: "fp.af"; ag: "fp.ag"; ah: "fp.ah"; ai: "fp.ai"; aj: "fp.aj"; ak: "fp.ak"; al: "fp.al"; am: "fp.am"; an: "fp.an"; ao: "fp.ao"; ap: "fp.ap"; aq: "fp.aq"; ar: "fp.ar"; as: "fp.as"; at: "fp.at"; au: "fp.au"; av: "fp.av"; aw: "fp.aw"; ax: "fp.ax"; ay: "fp.ay"; az: "fp.az"; ba: "fp.ba"; bb: "fp.bb"; bc: "fp.bc"; bd: "fp.bd"; be: "fp.be"; bf: "fp.bf"; bg: "fp.bg"; bh: "fp.bh"; bi: "fp.bi"; bj: "fp.bj"; bk: "fp.bk"; bl: "fp.bl"; bm: "fp.bm"; bn: "fp.bn"; bo: "fp.bo"; bp: "fp.bp"; bq: "fp.bq"; br: "fp.br"; bs: "fp.bs"; bt: "fp.bt"; bu: "fp.bu"; bv: "fp.bv"; bw: "fp.bw"; bx: "fp.bx"; by: "fp.by"; bz: "fp.bz"; ca: "fp.ca"; cb: "fp.cb"; cc: "fp.cc"; cd: "fp.cd"; ce: "fp.ce"; cf: "fp.cf"; cg: "fp.cg"; ch: "fp.ch"; ci: "fp.ci"; cj: "fp.cj"; ck: "fp.ck"; cl: "fp.cl"; cm: "fp.cm"; cn: "fp.cn"; co: "fp.co"; cp: "fp.cp"; cq: "fp.cq"; cr: "fp.cr"; cs: "fp.cs"; ct: "fp.ct"; cu: "fp.cu"; cv: "fp.cv"; cw: "fp.cw"; cx: "fp.cx"; cy: "fp.cy"; cz: "fp.cz"; da: "fp.da"; db: "fp.db"; dc: "fp.dc"; dd: "fp.dd"; de: "fp.de"; df: "fp.df"; dg: "fp.dg"; dh: "fp.dh"; di: "fp.di"; dj: "fp.dj"; dk: "fp.dk"; dl: "fp.dl"; dm: "fp.dm"; dn: "fp.dn"; do: "fp.do"; dp: "fp.dp"; dq: "fp.dq"; dr: "fp.dr"; ds: "fp.ds"; dt: "fp.dt"; du: "fp.du"; dv: "fp.dv"; dw: "fp.dw"; dx: "fp.dx"; dy: "fp.dy"; dz: "fp.dz"; ea: "fp.ea"; eb: "fp.eb"; ec: "fp.ec"; ed: "fp.ed"; ee: "fp.ee"; ef: "fp.ef"; eg: "fp.eg"; eh: "fp.eh"; ei: "fp.ei"; ej: "fp.ej"; ek: "fp.ek"; el: "fp.el"; em: "fp.em"; en: "fp.en"; eo: "fp.eo"; ep: "fp.ep"; eq: "fp.eq"; er: "fp.er"; es: "fp.es"; et: "fp.et"; eu: "fp.eu"; ev: "fp.ev"; ew: "fp.ew"; ex: "fp.ex"; ey: "fp.ey"; ez: "fp.ez"; fa: "fp.fa"; fb: "fp.fb"; fc: "fp.fc"; fd: "fp.fd"; fe: "fp.fe"; ff: "fp.ff"; fg: "fp.fg"; fh: "fp.fh"; fi: "fp.fi"; fj: "fp.fj"; fk: "fp.fk"; fl: "fp.fl"; fm: "fp.fm"; fn: "fp.fn"; fo: "fp.fo"; fp: "fp.fp"; fq: "fp.fq"; fr: "fp.fr"; fs: "fp.fs"; ft: "fp.ft"; fu: "fp.fu"; fv: "fp.fv"; fw: "fp.fw"; fx: "fp.fx"; fy: "fp.fy"; fz: "fp.fz"; ga: "fp.ga"; gb: "fp.gb"; gc: "fp.gc"; gd: "fp.gd"; ge: "fp.ge"; gf: "fp.gf"; gg: "fp.gg"; gh: "fp.gh"; gi: "fp.gi"; gj: "fp.gj"; gk: "fp.gk"; gl: "fp.gl"; gm: "fp.gm"; gn: "fp.gn"; go: "fp.go"; gp: "fp.gp"; gq: "fp.gq"; gr: "fp.gr"; gs: "fp.gs"; gt: "fp.gt"; gu: "fp.gu"; gv: "fp.gv"; gw: "fp.gw"; gx: "fp.gx"; gy: "fp.gy"; gz: "fp.gz"; ha: "fp.ha"; hb: "fp.hb"; hc: "fp.hc"; hd: "fp.hd"; he: "fp.he"; hf: "fp.hf"; hg: "fp.hg"; hh: "fp.hh"; hi: "fp.hi"; hj: "fp.hj"; hk: "fp.hk"; hl: "fp.hl"; hm: "fp.hm"; hn: "fp.hn"; ho: "fp.ho"; hp: "fp.hp"; hq: "fp.hq"; hr: "fp.hr"; hs: "fp.hs"; ht: "fp.ht"; hu: "fp.hu"; hv: "fp.hv"; hw: "fp.hw"; hx: "fp.hx"; hy: "fp.hy"; hz: "fp.hz"; ia: "fp.ia"; ib: "fp.ib"; ic: "fp.ic"; id: "fp.id"; ie: "fp.ie"; if: "fp.if"; ig: "fp.ig"; ih: "fp.ih"; ii: "fp.ii"; ij: "fp.ij"; ik: "fp.ik"; il: "fp.il"; im: "fp.im"; in: "fp.in"; io: "fp.io"; ip: "fp.ip"; iq: "fp.iq"; ir: "fp.ir"; is: "fp.is"; it: "fp.it"; iu: "fp.iu"; iv: "fp.iv"; iw: "fp.iw"; ix: "fp.ix"; iy: "fp.iy"; iz: "fp.iz"; ja: "fp.ja"; jb: "fp.jb"; jc: "fp.jc"; jd: "fp.jd"; je: "fp.je"; jf: "fp.jf"; jg: "fp.jg"; jh: "fp.jh"; ji: "fp.ji"; jj: "fp.jj"; jk: "fp.jk"; jl: "fp.jl"; jm: "fp.jm"; jn: "fp.jn"; jo: "fp.jo"; jp: "fp.jp"; jq: "fp.jq"; jr: "fp.jr"; js: "fp.js"; jt: "fp.jt"; ju: "fp.ju"; jv: "fp.jv"; jw: "fp.jw"; jx: "fp.jx"; jy: "fp.jy"; jz: "fp.jz"; ka: "fp.ka"; kb: "fp.kb"; kc: "fp.kc"; kd: "fp.kd"; ke: "fp.ke"; kf: "fp.kf"; kg: "fp.kg"; kh: "fp.kh"; ki: "fp.ki"; kj: "fp.kj"; kk: "fp.kk"; kl: "fp.kl"; km: "fp.km"; kn: "fp.kn"; ko: "fp.ko"; kp: "fp.kp"; kq: "fp.kq"; kr: "fp.kr"; ks: "fp.ks"; kt: "fp.kt"; ku: "fp.ku"; kv: "fp.kv"; kw: "fp.kw"; kx: "fp.kx"; ky: "fp.ky"; kz: "fp.kz"; la: "fp.la"; lb: "fp.lb"; lc: "fp.lc"; ld: "fp.ld"; le: "fp.le"; lf: "fp.lf"; lg: "fp.lg"; lh: "fp.lh"; li: "fp.li"; lj: "fp.lj"; lk: "fp.lk"; ll: "fp.ll"; lm: "fp.lm"; ln: "fp.ln"; lo: "fp.lo"; lp: "fp.lp"; lq: "fp.lq"; lr: "fp.lr"; ls: "fp.ls"; lt: "fp.lt"; lu: "fp.lu"; lv: "fp.lv"; lw: "fp.lw"; lx: "fp.lx"; ly: "fp.ly"; lz: "fp.lz"; ma: "fp.ma"; mb: "fp.mb"; mc: "fp.mc"; md: "fp.md"; me: "fp.me"; mf: "fp.mf"; mg: "fp.mg"; mh: "fp.mh"; mi: "fp.mi"; mj: "fp.mj"; mk: "fp.mk"; ml: "fp.ml"; mm: "fp.mm"; mn: "fp.mn"; mo: "fp.mo"; mp: "fp.mp"; mq: "fp.mq"; mr: "fp.mr"; ms: "fp.ms"; mt: "fp.mt"; mu: "fp.mu"; mv: "fp.mv"; mw: "fp.mw"; mx: "fp.mx"; my: "fp.my"; mz: "fp.mz"; na: "fp.na"; nb: "fp.nb"; nc: "fp.nc"; nd: "fp.nd"; ne: "fp.ne"; nf: "fp.nf"; ng: "fp.ng"; nh: "fp.nh"; ni: "fp.ni"; nj: "fp.nj"; nk: "fp.nk"; nl: "fp.nl"; nm: "fp.nm"; nn: "fp.nn"; no: "fp.no"; np: "fp.np"; nq: "fp.nq"; nr: "fp.nr"; ns: "fp.ns"; nt: "fp.nt"; nu: "fp.nu"; nv: "fp.nv"; nw: "fp.nw"; nx: "fp.nx"; ny: "fp.ny"; nz: "fp.nz"; oa: "fp.oa"; ob: "fp.ob"; oc: "fp.oc"; od: "fp.od"; oe: "fp.oe"; of: "fp.of"; og: "fp.og"; oh: "fp.oh"; oi: "fp.oi"; oj: "fp.oj"; ok: "fp.ok"; ol: "fp.ol"; om: "fp.om"; on: "fp.on"; oo: "fp.oo"; op: "fp.op"; oq: "fp.oq"; or: "fp.or"; os: "fp.os"; ot: "fp.ot"; ou: "fp.ou"; ov: "fp.ov"; ow: "fp.ow"; ox: "fp.ox"; oy: "fp.oy"; oz: "fp.oz"; pa: "fp.pa"; pb: "fp.pb"; pc: "fp.pc"; pd: "fp.pd"; pe: "fp.pe"; pf: "fp.pf"; pg: "fp.pg"; ph: "fp.ph"; pi: "fp.pi"; pj: "fp.pj"; pk: "fp.pk"; pl: "fp.pl"; pm: "fp.pm"; pn: "fp.pn"; po: "fp.po"; pp: "fp.pp"; pq: "fp.pq"; pr: "fp.pr"; ps: "fp.ps"; pt: "fp.pt"; pu: "fp.pu"; pv: "fp.pv"; pw: "fp.pw"; px: "fp.px"; py: "fp.py"; pz: "fp.pz"; qa: "fp.qa"; qb: "fp.qb"; qc: "fp.qc"; qd: "fp.qd"; qe: "fp.qe"; qf: "fp.qf"; qg: "fp.qg"; qh: "fp.qh"; qi: "fp.qi"; qj: "fp.qj"; qk: "fp.qk"; ql: "fp.ql"; qm: "fp.qm"; qn: "fp.qn"; qo: "fp.qo"; qp: "fp.qp"; qq: "fp.qq"; qr: "fp.qr"; qs: "fp.qs"; qt: "fp.qt"; qu: "fp.qu"; qv: "fp.qv"; qw: "fp.qw"; qx: "fp.qx"; qy: "fp.qy"; qz: "fp.qz"; ra: "fp.ra"; rb: "fp.rb"; rc: "fp.rc"; rd: "fp.rd"; re: "fp.re"; rf: "fp.rf"; rg: "fp.rg"; rh: "fp.rh"; ri: "fp.ri"; rj: "fp.rj"; rk: "fp.rk"; rl: "fp.rl"; rm: "fp.rm"; rn: "fp.rn"; ro: "fp.ro"; rp: "fp.rp"; rq: "fp.rq"; rr: "fp.rr"; rs: "fp.rs"; rt: "fp.rt"; ru: "fp.ru"; rv: "fp.rv"; rw: "fp.rw"; rx: "fp.rx"; ry: "fp.ry"; rz: "fp.rz"; sa: "fp.sa"; sb: "fp.sb"; sc: "fp.sc"; sd: "fp.sd"; se: "fp.se"; sf: "fp.sf"; sg: "fp.sg"; sh: "fp.sh"; si: "fp.si"; sj: "fp.sj"; sk: "fp.sk"; sl: "fp.sl"; sm: "fp.sm"; sn: "fp.sn"; so: "fp.so"; sp: "fp.sp"; sq: "fp.sq"; sr: "fp.sr"; ss: "fp.ss"; st: "fp.st"; su: "fp.su"; sv: "fp.sv"; sw: "fp.sw"; sx: "fp.sx"; sy: "fp.sy"; sz: "fp.sz"; ta: "fp.ta"; tb: "fp.tb"; tc: "fp.tc"; td: "fp.td"; te: "fp.te"; tf: "fp.tf"; tg: "fp.tg"; th: "fp.th"; ti: "fp.ti"; tj: "fp.tj"; tk: "fp.tk"; tl: "fp.tl"; tm: "fp.tm"; tn: "fp.tn"; to: "fp.to"; tp: "fp.tp"; tq: "fp.tq"; tr: "fp.tr"; ts: "fp.ts"; tt: "fp.tt"; tu: "fp.tu"; tv: "fp.tv"; tw: "fp.tw"; tx: "fp.tx"; ty: "fp.ty"; tz: "fp.tz"; ua: "fp.ua"; ub: "fp.ub"; uc: "fp.uc"; ud: "fp.ud"; ue: "fp.ue"; uf: "fp.uf"; ug: "fp.ug"; uh: "fp.uh"; ui: "fp.ui"; uj: "fp.uj"; uk: "fp.uk"; ul: "fp.ul"; um: "fp.um"; un: "fp.un"; uo: "fp.uo"; up: "fp.up"; uq: "fp.uq"; ur: "fp.ur"; us: "fp.us"; ut: "fp.ut"; uu: "fp.uu"; uv: "fp.uv"; uw: "fp.uw"; ux: "fp.ux"; uy: "fp.uy"; uz: "fp.uz"; va: "fp.va"; vb: "fp.vb"; vc: "fp.vc"; vd: "fp.vd"; ve: "fp.ve"; vf: "fp.vf"; vg: "fp.vg"; vh: "fp.vh"; vi: "fp.vi"; vj: "fp.vj"; vk: "fp.vk"; vl: "fp.vl"; vm: "fp.vm"; vn: "fp.vn"; vo: "fp.vo"; vp: "fp.vp"; vq: "fp.vq"; vr: "fp.vr"; vs: "fp.vs"; vt: "fp.vt"; vu: "fp.vu"; vv: "fp.vv"; vw: "fp.vw"; vx: "fp.vx"; vy: "fp.vy"; vz: "fp.vz"; wa: "fp.wa"; wb: "fp.wb"; wc: "fp.wc"; wd: "fp.wd"; we: "fp.we"; wf: "fp.wf"; wg: "fp.wg"; wh: "fp.wh"; wi: "fp.wi"; wj: "fp.wj"; wk: "fp.wk"; wl: "fp.wl"; wm: "fp.wm"; wn: "fp.wn"; wo: "fp.wo"; wp: "fp.wp"; wq: "fp.wq"; wr: "fp.wr"; ws: "fp.ws"; wt: "fp.wt"; wu: "fp.wu"; wv: "fp.wv"; ww: "fp.ww"; wx: "fp.wx"; wy: "fp.wy"; wz: "fp.wz"; xa: "fp.xa"; xb: "fp.xb"; xc: "fp.xc"; xd: "fp.xd"; xe: "fp.xe"; xf: "fp.xf"; xg: "fp.xg"; xh: "fp.xh"; xi: "fp.xi"; xj: "fp.xj"; xk: "fp.xk"; xl: "fp.xl"; xm: "fp.xm"; xn: "fp.xn"; xo: "fp.xo"; xp: "fp.xp"; xq: "fp.xq"; xr: "fp.xr"; xs: "fp.xs"; xt: "fp.xt"; xu: "fp.xu"; xv: "fp.xv"; xw: "fp.xw"; xx: "fp.xx"; xy: "fp.xy"; xz: "fp.xz"; ya: "fp.ya"; yb: "fp.yb"; yc: "fp.yc"; yd: "fp.yd"; ye: "fp.ye"; yf: "fp.yf"; yg: "fp.yg"; yh: "fp.yh"; yi: "fp.yi"; yj: "fp.yj"; yk: "fp.yk"; yl: "fp.yl"; ym: "fp.ym"; yn: "fp.yn"; yo: "fp.yo"; yp: "fp.yp"; yq: "fp.yq"; yr: "fp.yr"; ys: "fp.ys"; yt: "fp.yt"; yu: "fp.yu"; yv: "fp.yv"; yw: "fp.yw"; yx: "fp.yx"; yy: "fp.yy"; yz: "fp.yz"; za: "fp.za"; zb: "fp.zb"; zc: "fp.zc"; zd: "fp.zd"; ze: "fp.ze"; zf: "fp.zf"; zg: "fp.zg"; zh: "fp.zh"; zi: "fp.zi"; zj: "fp.zj"; zk: "fp.zk"; zl: "fp.zl"; zm: "fp.zm"; zn: "fp.zn"; zo: "fp.zo"; zp: "fp.zp"; zq: "fp.zq"; zr: "fp.zr"; zs: "fp.zs"; zt: "fp.zt"; zu: "fp.zu"; zv: "fp.zv"; zw: "fp.zw"; zx: "fp.zx"; zy: "fp.zy"; zz: "fp.zz"; }; fq: { aa: "fq.aa"; ab: "fq.ab"; ac: "fq.ac"; ad: "fq.ad"; ae: "fq.ae"; af: "fq.af"; ag: "fq.ag"; ah: "fq.ah"; ai: "fq.ai"; aj: "fq.aj"; ak: "fq.ak"; al: "fq.al"; am: "fq.am"; an: "fq.an"; ao: "fq.ao"; ap: "fq.ap"; aq: "fq.aq"; ar: "fq.ar"; as: "fq.as"; at: "fq.at"; au: "fq.au"; av: "fq.av"; aw: "fq.aw"; ax: "fq.ax"; ay: "fq.ay"; az: "fq.az"; ba: "fq.ba"; bb: "fq.bb"; bc: "fq.bc"; bd: "fq.bd"; be: "fq.be"; bf: "fq.bf"; bg: "fq.bg"; bh: "fq.bh"; bi: "fq.bi"; bj: "fq.bj"; bk: "fq.bk"; bl: "fq.bl"; bm: "fq.bm"; bn: "fq.bn"; bo: "fq.bo"; bp: "fq.bp"; bq: "fq.bq"; br: "fq.br"; bs: "fq.bs"; bt: "fq.bt"; bu: "fq.bu"; bv: "fq.bv"; bw: "fq.bw"; bx: "fq.bx"; by: "fq.by"; bz: "fq.bz"; ca: "fq.ca"; cb: "fq.cb"; cc: "fq.cc"; cd: "fq.cd"; ce: "fq.ce"; cf: "fq.cf"; cg: "fq.cg"; ch: "fq.ch"; ci: "fq.ci"; cj: "fq.cj"; ck: "fq.ck"; cl: "fq.cl"; cm: "fq.cm"; cn: "fq.cn"; co: "fq.co"; cp: "fq.cp"; cq: "fq.cq"; cr: "fq.cr"; cs: "fq.cs"; ct: "fq.ct"; cu: "fq.cu"; cv: "fq.cv"; cw: "fq.cw"; cx: "fq.cx"; cy: "fq.cy"; cz: "fq.cz"; da: "fq.da"; db: "fq.db"; dc: "fq.dc"; dd: "fq.dd"; de: "fq.de"; df: "fq.df"; dg: "fq.dg"; dh: "fq.dh"; di: "fq.di"; dj: "fq.dj"; dk: "fq.dk"; dl: "fq.dl"; dm: "fq.dm"; dn: "fq.dn"; do: "fq.do"; dp: "fq.dp"; dq: "fq.dq"; dr: "fq.dr"; ds: "fq.ds"; dt: "fq.dt"; du: "fq.du"; dv: "fq.dv"; dw: "fq.dw"; dx: "fq.dx"; dy: "fq.dy"; dz: "fq.dz"; ea: "fq.ea"; eb: "fq.eb"; ec: "fq.ec"; ed: "fq.ed"; ee: "fq.ee"; ef: "fq.ef"; eg: "fq.eg"; eh: "fq.eh"; ei: "fq.ei"; ej: "fq.ej"; ek: "fq.ek"; el: "fq.el"; em: "fq.em"; en: "fq.en"; eo: "fq.eo"; ep: "fq.ep"; eq: "fq.eq"; er: "fq.er"; es: "fq.es"; et: "fq.et"; eu: "fq.eu"; ev: "fq.ev"; ew: "fq.ew"; ex: "fq.ex"; ey: "fq.ey"; ez: "fq.ez"; fa: "fq.fa"; fb: "fq.fb"; fc: "fq.fc"; fd: "fq.fd"; fe: "fq.fe"; ff: "fq.ff"; fg: "fq.fg"; fh: "fq.fh"; fi: "fq.fi"; fj: "fq.fj"; fk: "fq.fk"; fl: "fq.fl"; fm: "fq.fm"; fn: "fq.fn"; fo: "fq.fo"; fp: "fq.fp"; fq: "fq.fq"; fr: "fq.fr"; fs: "fq.fs"; ft: "fq.ft"; fu: "fq.fu"; fv: "fq.fv"; fw: "fq.fw"; fx: "fq.fx"; fy: "fq.fy"; fz: "fq.fz"; ga: "fq.ga"; gb: "fq.gb"; gc: "fq.gc"; gd: "fq.gd"; ge: "fq.ge"; gf: "fq.gf"; gg: "fq.gg"; gh: "fq.gh"; gi: "fq.gi"; gj: "fq.gj"; gk: "fq.gk"; gl: "fq.gl"; gm: "fq.gm"; gn: "fq.gn"; go: "fq.go"; gp: "fq.gp"; gq: "fq.gq"; gr: "fq.gr"; gs: "fq.gs"; gt: "fq.gt"; gu: "fq.gu"; gv: "fq.gv"; gw: "fq.gw"; gx: "fq.gx"; gy: "fq.gy"; gz: "fq.gz"; ha: "fq.ha"; hb: "fq.hb"; hc: "fq.hc"; hd: "fq.hd"; he: "fq.he"; hf: "fq.hf"; hg: "fq.hg"; hh: "fq.hh"; hi: "fq.hi"; hj: "fq.hj"; hk: "fq.hk"; hl: "fq.hl"; hm: "fq.hm"; hn: "fq.hn"; ho: "fq.ho"; hp: "fq.hp"; hq: "fq.hq"; hr: "fq.hr"; hs: "fq.hs"; ht: "fq.ht"; hu: "fq.hu"; hv: "fq.hv"; hw: "fq.hw"; hx: "fq.hx"; hy: "fq.hy"; hz: "fq.hz"; ia: "fq.ia"; ib: "fq.ib"; ic: "fq.ic"; id: "fq.id"; ie: "fq.ie"; if: "fq.if"; ig: "fq.ig"; ih: "fq.ih"; ii: "fq.ii"; ij: "fq.ij"; ik: "fq.ik"; il: "fq.il"; im: "fq.im"; in: "fq.in"; io: "fq.io"; ip: "fq.ip"; iq: "fq.iq"; ir: "fq.ir"; is: "fq.is"; it: "fq.it"; iu: "fq.iu"; iv: "fq.iv"; iw: "fq.iw"; ix: "fq.ix"; iy: "fq.iy"; iz: "fq.iz"; ja: "fq.ja"; jb: "fq.jb"; jc: "fq.jc"; jd: "fq.jd"; je: "fq.je"; jf: "fq.jf"; jg: "fq.jg"; jh: "fq.jh"; ji: "fq.ji"; jj: "fq.jj"; jk: "fq.jk"; jl: "fq.jl"; jm: "fq.jm"; jn: "fq.jn"; jo: "fq.jo"; jp: "fq.jp"; jq: "fq.jq"; jr: "fq.jr"; js: "fq.js"; jt: "fq.jt"; ju: "fq.ju"; jv: "fq.jv"; jw: "fq.jw"; jx: "fq.jx"; jy: "fq.jy"; jz: "fq.jz"; ka: "fq.ka"; kb: "fq.kb"; kc: "fq.kc"; kd: "fq.kd"; ke: "fq.ke"; kf: "fq.kf"; kg: "fq.kg"; kh: "fq.kh"; ki: "fq.ki"; kj: "fq.kj"; kk: "fq.kk"; kl: "fq.kl"; km: "fq.km"; kn: "fq.kn"; ko: "fq.ko"; kp: "fq.kp"; kq: "fq.kq"; kr: "fq.kr"; ks: "fq.ks"; kt: "fq.kt"; ku: "fq.ku"; kv: "fq.kv"; kw: "fq.kw"; kx: "fq.kx"; ky: "fq.ky"; kz: "fq.kz"; la: "fq.la"; lb: "fq.lb"; lc: "fq.lc"; ld: "fq.ld"; le: "fq.le"; lf: "fq.lf"; lg: "fq.lg"; lh: "fq.lh"; li: "fq.li"; lj: "fq.lj"; lk: "fq.lk"; ll: "fq.ll"; lm: "fq.lm"; ln: "fq.ln"; lo: "fq.lo"; lp: "fq.lp"; lq: "fq.lq"; lr: "fq.lr"; ls: "fq.ls"; lt: "fq.lt"; lu: "fq.lu"; lv: "fq.lv"; lw: "fq.lw"; lx: "fq.lx"; ly: "fq.ly"; lz: "fq.lz"; ma: "fq.ma"; mb: "fq.mb"; mc: "fq.mc"; md: "fq.md"; me: "fq.me"; mf: "fq.mf"; mg: "fq.mg"; mh: "fq.mh"; mi: "fq.mi"; mj: "fq.mj"; mk: "fq.mk"; ml: "fq.ml"; mm: "fq.mm"; mn: "fq.mn"; mo: "fq.mo"; mp: "fq.mp"; mq: "fq.mq"; mr: "fq.mr"; ms: "fq.ms"; mt: "fq.mt"; mu: "fq.mu"; mv: "fq.mv"; mw: "fq.mw"; mx: "fq.mx"; my: "fq.my"; mz: "fq.mz"; na: "fq.na"; nb: "fq.nb"; nc: "fq.nc"; nd: "fq.nd"; ne: "fq.ne"; nf: "fq.nf"; ng: "fq.ng"; nh: "fq.nh"; ni: "fq.ni"; nj: "fq.nj"; nk: "fq.nk"; nl: "fq.nl"; nm: "fq.nm"; nn: "fq.nn"; no: "fq.no"; np: "fq.np"; nq: "fq.nq"; nr: "fq.nr"; ns: "fq.ns"; nt: "fq.nt"; nu: "fq.nu"; nv: "fq.nv"; nw: "fq.nw"; nx: "fq.nx"; ny: "fq.ny"; nz: "fq.nz"; oa: "fq.oa"; ob: "fq.ob"; oc: "fq.oc"; od: "fq.od"; oe: "fq.oe"; of: "fq.of"; og: "fq.og"; oh: "fq.oh"; oi: "fq.oi"; oj: "fq.oj"; ok: "fq.ok"; ol: "fq.ol"; om: "fq.om"; on: "fq.on"; oo: "fq.oo"; op: "fq.op"; oq: "fq.oq"; or: "fq.or"; os: "fq.os"; ot: "fq.ot"; ou: "fq.ou"; ov: "fq.ov"; ow: "fq.ow"; ox: "fq.ox"; oy: "fq.oy"; oz: "fq.oz"; pa: "fq.pa"; pb: "fq.pb"; pc: "fq.pc"; pd: "fq.pd"; pe: "fq.pe"; pf: "fq.pf"; pg: "fq.pg"; ph: "fq.ph"; pi: "fq.pi"; pj: "fq.pj"; pk: "fq.pk"; pl: "fq.pl"; pm: "fq.pm"; pn: "fq.pn"; po: "fq.po"; pp: "fq.pp"; pq: "fq.pq"; pr: "fq.pr"; ps: "fq.ps"; pt: "fq.pt"; pu: "fq.pu"; pv: "fq.pv"; pw: "fq.pw"; px: "fq.px"; py: "fq.py"; pz: "fq.pz"; qa: "fq.qa"; qb: "fq.qb"; qc: "fq.qc"; qd: "fq.qd"; qe: "fq.qe"; qf: "fq.qf"; qg: "fq.qg"; qh: "fq.qh"; qi: "fq.qi"; qj: "fq.qj"; qk: "fq.qk"; ql: "fq.ql"; qm: "fq.qm"; qn: "fq.qn"; qo: "fq.qo"; qp: "fq.qp"; qq: "fq.qq"; qr: "fq.qr"; qs: "fq.qs"; qt: "fq.qt"; qu: "fq.qu"; qv: "fq.qv"; qw: "fq.qw"; qx: "fq.qx"; qy: "fq.qy"; qz: "fq.qz"; ra: "fq.ra"; rb: "fq.rb"; rc: "fq.rc"; rd: "fq.rd"; re: "fq.re"; rf: "fq.rf"; rg: "fq.rg"; rh: "fq.rh"; ri: "fq.ri"; rj: "fq.rj"; rk: "fq.rk"; rl: "fq.rl"; rm: "fq.rm"; rn: "fq.rn"; ro: "fq.ro"; rp: "fq.rp"; rq: "fq.rq"; rr: "fq.rr"; rs: "fq.rs"; rt: "fq.rt"; ru: "fq.ru"; rv: "fq.rv"; rw: "fq.rw"; rx: "fq.rx"; ry: "fq.ry"; rz: "fq.rz"; sa: "fq.sa"; sb: "fq.sb"; sc: "fq.sc"; sd: "fq.sd"; se: "fq.se"; sf: "fq.sf"; sg: "fq.sg"; sh: "fq.sh"; si: "fq.si"; sj: "fq.sj"; sk: "fq.sk"; sl: "fq.sl"; sm: "fq.sm"; sn: "fq.sn"; so: "fq.so"; sp: "fq.sp"; sq: "fq.sq"; sr: "fq.sr"; ss: "fq.ss"; st: "fq.st"; su: "fq.su"; sv: "fq.sv"; sw: "fq.sw"; sx: "fq.sx"; sy: "fq.sy"; sz: "fq.sz"; ta: "fq.ta"; tb: "fq.tb"; tc: "fq.tc"; td: "fq.td"; te: "fq.te"; tf: "fq.tf"; tg: "fq.tg"; th: "fq.th"; ti: "fq.ti"; tj: "fq.tj"; tk: "fq.tk"; tl: "fq.tl"; tm: "fq.tm"; tn: "fq.tn"; to: "fq.to"; tp: "fq.tp"; tq: "fq.tq"; tr: "fq.tr"; ts: "fq.ts"; tt: "fq.tt"; tu: "fq.tu"; tv: "fq.tv"; tw: "fq.tw"; tx: "fq.tx"; ty: "fq.ty"; tz: "fq.tz"; ua: "fq.ua"; ub: "fq.ub"; uc: "fq.uc"; ud: "fq.ud"; ue: "fq.ue"; uf: "fq.uf"; ug: "fq.ug"; uh: "fq.uh"; ui: "fq.ui"; uj: "fq.uj"; uk: "fq.uk"; ul: "fq.ul"; um: "fq.um"; un: "fq.un"; uo: "fq.uo"; up: "fq.up"; uq: "fq.uq"; ur: "fq.ur"; us: "fq.us"; ut: "fq.ut"; uu: "fq.uu"; uv: "fq.uv"; uw: "fq.uw"; ux: "fq.ux"; uy: "fq.uy"; uz: "fq.uz"; va: "fq.va"; vb: "fq.vb"; vc: "fq.vc"; vd: "fq.vd"; ve: "fq.ve"; vf: "fq.vf"; vg: "fq.vg"; vh: "fq.vh"; vi: "fq.vi"; vj: "fq.vj"; vk: "fq.vk"; vl: "fq.vl"; vm: "fq.vm"; vn: "fq.vn"; vo: "fq.vo"; vp: "fq.vp"; vq: "fq.vq"; vr: "fq.vr"; vs: "fq.vs"; vt: "fq.vt"; vu: "fq.vu"; vv: "fq.vv"; vw: "fq.vw"; vx: "fq.vx"; vy: "fq.vy"; vz: "fq.vz"; wa: "fq.wa"; wb: "fq.wb"; wc: "fq.wc"; wd: "fq.wd"; we: "fq.we"; wf: "fq.wf"; wg: "fq.wg"; wh: "fq.wh"; wi: "fq.wi"; wj: "fq.wj"; wk: "fq.wk"; wl: "fq.wl"; wm: "fq.wm"; wn: "fq.wn"; wo: "fq.wo"; wp: "fq.wp"; wq: "fq.wq"; wr: "fq.wr"; ws: "fq.ws"; wt: "fq.wt"; wu: "fq.wu"; wv: "fq.wv"; ww: "fq.ww"; wx: "fq.wx"; wy: "fq.wy"; wz: "fq.wz"; xa: "fq.xa"; xb: "fq.xb"; xc: "fq.xc"; xd: "fq.xd"; xe: "fq.xe"; xf: "fq.xf"; xg: "fq.xg"; xh: "fq.xh"; xi: "fq.xi"; xj: "fq.xj"; xk: "fq.xk"; xl: "fq.xl"; xm: "fq.xm"; xn: "fq.xn"; xo: "fq.xo"; xp: "fq.xp"; xq: "fq.xq"; xr: "fq.xr"; xs: "fq.xs"; xt: "fq.xt"; xu: "fq.xu"; xv: "fq.xv"; xw: "fq.xw"; xx: "fq.xx"; xy: "fq.xy"; xz: "fq.xz"; ya: "fq.ya"; yb: "fq.yb"; yc: "fq.yc"; yd: "fq.yd"; ye: "fq.ye"; yf: "fq.yf"; yg: "fq.yg"; yh: "fq.yh"; yi: "fq.yi"; yj: "fq.yj"; yk: "fq.yk"; yl: "fq.yl"; ym: "fq.ym"; yn: "fq.yn"; yo: "fq.yo"; yp: "fq.yp"; yq: "fq.yq"; yr: "fq.yr"; ys: "fq.ys"; yt: "fq.yt"; yu: "fq.yu"; yv: "fq.yv"; yw: "fq.yw"; yx: "fq.yx"; yy: "fq.yy"; yz: "fq.yz"; za: "fq.za"; zb: "fq.zb"; zc: "fq.zc"; zd: "fq.zd"; ze: "fq.ze"; zf: "fq.zf"; zg: "fq.zg"; zh: "fq.zh"; zi: "fq.zi"; zj: "fq.zj"; zk: "fq.zk"; zl: "fq.zl"; zm: "fq.zm"; zn: "fq.zn"; zo: "fq.zo"; zp: "fq.zp"; zq: "fq.zq"; zr: "fq.zr"; zs: "fq.zs"; zt: "fq.zt"; zu: "fq.zu"; zv: "fq.zv"; zw: "fq.zw"; zx: "fq.zx"; zy: "fq.zy"; zz: "fq.zz"; }; fr: { aa: "fr.aa"; ab: "fr.ab"; ac: "fr.ac"; ad: "fr.ad"; ae: "fr.ae"; af: "fr.af"; ag: "fr.ag"; ah: "fr.ah"; ai: "fr.ai"; aj: "fr.aj"; ak: "fr.ak"; al: "fr.al"; am: "fr.am"; an: "fr.an"; ao: "fr.ao"; ap: "fr.ap"; aq: "fr.aq"; ar: "fr.ar"; as: "fr.as"; at: "fr.at"; au: "fr.au"; av: "fr.av"; aw: "fr.aw"; ax: "fr.ax"; ay: "fr.ay"; az: "fr.az"; ba: "fr.ba"; bb: "fr.bb"; bc: "fr.bc"; bd: "fr.bd"; be: "fr.be"; bf: "fr.bf"; bg: "fr.bg"; bh: "fr.bh"; bi: "fr.bi"; bj: "fr.bj"; bk: "fr.bk"; bl: "fr.bl"; bm: "fr.bm"; bn: "fr.bn"; bo: "fr.bo"; bp: "fr.bp"; bq: "fr.bq"; br: "fr.br"; bs: "fr.bs"; bt: "fr.bt"; bu: "fr.bu"; bv: "fr.bv"; bw: "fr.bw"; bx: "fr.bx"; by: "fr.by"; bz: "fr.bz"; ca: "fr.ca"; cb: "fr.cb"; cc: "fr.cc"; cd: "fr.cd"; ce: "fr.ce"; cf: "fr.cf"; cg: "fr.cg"; ch: "fr.ch"; ci: "fr.ci"; cj: "fr.cj"; ck: "fr.ck"; cl: "fr.cl"; cm: "fr.cm"; cn: "fr.cn"; co: "fr.co"; cp: "fr.cp"; cq: "fr.cq"; cr: "fr.cr"; cs: "fr.cs"; ct: "fr.ct"; cu: "fr.cu"; cv: "fr.cv"; cw: "fr.cw"; cx: "fr.cx"; cy: "fr.cy"; cz: "fr.cz"; da: "fr.da"; db: "fr.db"; dc: "fr.dc"; dd: "fr.dd"; de: "fr.de"; df: "fr.df"; dg: "fr.dg"; dh: "fr.dh"; di: "fr.di"; dj: "fr.dj"; dk: "fr.dk"; dl: "fr.dl"; dm: "fr.dm"; dn: "fr.dn"; do: "fr.do"; dp: "fr.dp"; dq: "fr.dq"; dr: "fr.dr"; ds: "fr.ds"; dt: "fr.dt"; du: "fr.du"; dv: "fr.dv"; dw: "fr.dw"; dx: "fr.dx"; dy: "fr.dy"; dz: "fr.dz"; ea: "fr.ea"; eb: "fr.eb"; ec: "fr.ec"; ed: "fr.ed"; ee: "fr.ee"; ef: "fr.ef"; eg: "fr.eg"; eh: "fr.eh"; ei: "fr.ei"; ej: "fr.ej"; ek: "fr.ek"; el: "fr.el"; em: "fr.em"; en: "fr.en"; eo: "fr.eo"; ep: "fr.ep"; eq: "fr.eq"; er: "fr.er"; es: "fr.es"; et: "fr.et"; eu: "fr.eu"; ev: "fr.ev"; ew: "fr.ew"; ex: "fr.ex"; ey: "fr.ey"; ez: "fr.ez"; fa: "fr.fa"; fb: "fr.fb"; fc: "fr.fc"; fd: "fr.fd"; fe: "fr.fe"; ff: "fr.ff"; fg: "fr.fg"; fh: "fr.fh"; fi: "fr.fi"; fj: "fr.fj"; fk: "fr.fk"; fl: "fr.fl"; fm: "fr.fm"; fn: "fr.fn"; fo: "fr.fo"; fp: "fr.fp"; fq: "fr.fq"; fr: "fr.fr"; fs: "fr.fs"; ft: "fr.ft"; fu: "fr.fu"; fv: "fr.fv"; fw: "fr.fw"; fx: "fr.fx"; fy: "fr.fy"; fz: "fr.fz"; ga: "fr.ga"; gb: "fr.gb"; gc: "fr.gc"; gd: "fr.gd"; ge: "fr.ge"; gf: "fr.gf"; gg: "fr.gg"; gh: "fr.gh"; gi: "fr.gi"; gj: "fr.gj"; gk: "fr.gk"; gl: "fr.gl"; gm: "fr.gm"; gn: "fr.gn"; go: "fr.go"; gp: "fr.gp"; gq: "fr.gq"; gr: "fr.gr"; gs: "fr.gs"; gt: "fr.gt"; gu: "fr.gu"; gv: "fr.gv"; gw: "fr.gw"; gx: "fr.gx"; gy: "fr.gy"; gz: "fr.gz"; ha: "fr.ha"; hb: "fr.hb"; hc: "fr.hc"; hd: "fr.hd"; he: "fr.he"; hf: "fr.hf"; hg: "fr.hg"; hh: "fr.hh"; hi: "fr.hi"; hj: "fr.hj"; hk: "fr.hk"; hl: "fr.hl"; hm: "fr.hm"; hn: "fr.hn"; ho: "fr.ho"; hp: "fr.hp"; hq: "fr.hq"; hr: "fr.hr"; hs: "fr.hs"; ht: "fr.ht"; hu: "fr.hu"; hv: "fr.hv"; hw: "fr.hw"; hx: "fr.hx"; hy: "fr.hy"; hz: "fr.hz"; ia: "fr.ia"; ib: "fr.ib"; ic: "fr.ic"; id: "fr.id"; ie: "fr.ie"; if: "fr.if"; ig: "fr.ig"; ih: "fr.ih"; ii: "fr.ii"; ij: "fr.ij"; ik: "fr.ik"; il: "fr.il"; im: "fr.im"; in: "fr.in"; io: "fr.io"; ip: "fr.ip"; iq: "fr.iq"; ir: "fr.ir"; is: "fr.is"; it: "fr.it"; iu: "fr.iu"; iv: "fr.iv"; iw: "fr.iw"; ix: "fr.ix"; iy: "fr.iy"; iz: "fr.iz"; ja: "fr.ja"; jb: "fr.jb"; jc: "fr.jc"; jd: "fr.jd"; je: "fr.je"; jf: "fr.jf"; jg: "fr.jg"; jh: "fr.jh"; ji: "fr.ji"; jj: "fr.jj"; jk: "fr.jk"; jl: "fr.jl"; jm: "fr.jm"; jn: "fr.jn"; jo: "fr.jo"; jp: "fr.jp"; jq: "fr.jq"; jr: "fr.jr"; js: "fr.js"; jt: "fr.jt"; ju: "fr.ju"; jv: "fr.jv"; jw: "fr.jw"; jx: "fr.jx"; jy: "fr.jy"; jz: "fr.jz"; ka: "fr.ka"; kb: "fr.kb"; kc: "fr.kc"; kd: "fr.kd"; ke: "fr.ke"; kf: "fr.kf"; kg: "fr.kg"; kh: "fr.kh"; ki: "fr.ki"; kj: "fr.kj"; kk: "fr.kk"; kl: "fr.kl"; km: "fr.km"; kn: "fr.kn"; ko: "fr.ko"; kp: "fr.kp"; kq: "fr.kq"; kr: "fr.kr"; ks: "fr.ks"; kt: "fr.kt"; ku: "fr.ku"; kv: "fr.kv"; kw: "fr.kw"; kx: "fr.kx"; ky: "fr.ky"; kz: "fr.kz"; la: "fr.la"; lb: "fr.lb"; lc: "fr.lc"; ld: "fr.ld"; le: "fr.le"; lf: "fr.lf"; lg: "fr.lg"; lh: "fr.lh"; li: "fr.li"; lj: "fr.lj"; lk: "fr.lk"; ll: "fr.ll"; lm: "fr.lm"; ln: "fr.ln"; lo: "fr.lo"; lp: "fr.lp"; lq: "fr.lq"; lr: "fr.lr"; ls: "fr.ls"; lt: "fr.lt"; lu: "fr.lu"; lv: "fr.lv"; lw: "fr.lw"; lx: "fr.lx"; ly: "fr.ly"; lz: "fr.lz"; ma: "fr.ma"; mb: "fr.mb"; mc: "fr.mc"; md: "fr.md"; me: "fr.me"; mf: "fr.mf"; mg: "fr.mg"; mh: "fr.mh"; mi: "fr.mi"; mj: "fr.mj"; mk: "fr.mk"; ml: "fr.ml"; mm: "fr.mm"; mn: "fr.mn"; mo: "fr.mo"; mp: "fr.mp"; mq: "fr.mq"; mr: "fr.mr"; ms: "fr.ms"; mt: "fr.mt"; mu: "fr.mu"; mv: "fr.mv"; mw: "fr.mw"; mx: "fr.mx"; my: "fr.my"; mz: "fr.mz"; na: "fr.na"; nb: "fr.nb"; nc: "fr.nc"; nd: "fr.nd"; ne: "fr.ne"; nf: "fr.nf"; ng: "fr.ng"; nh: "fr.nh"; ni: "fr.ni"; nj: "fr.nj"; nk: "fr.nk"; nl: "fr.nl"; nm: "fr.nm"; nn: "fr.nn"; no: "fr.no"; np: "fr.np"; nq: "fr.nq"; nr: "fr.nr"; ns: "fr.ns"; nt: "fr.nt"; nu: "fr.nu"; nv: "fr.nv"; nw: "fr.nw"; nx: "fr.nx"; ny: "fr.ny"; nz: "fr.nz"; oa: "fr.oa"; ob: "fr.ob"; oc: "fr.oc"; od: "fr.od"; oe: "fr.oe"; of: "fr.of"; og: "fr.og"; oh: "fr.oh"; oi: "fr.oi"; oj: "fr.oj"; ok: "fr.ok"; ol: "fr.ol"; om: "fr.om"; on: "fr.on"; oo: "fr.oo"; op: "fr.op"; oq: "fr.oq"; or: "fr.or"; os: "fr.os"; ot: "fr.ot"; ou: "fr.ou"; ov: "fr.ov"; ow: "fr.ow"; ox: "fr.ox"; oy: "fr.oy"; oz: "fr.oz"; pa: "fr.pa"; pb: "fr.pb"; pc: "fr.pc"; pd: "fr.pd"; pe: "fr.pe"; pf: "fr.pf"; pg: "fr.pg"; ph: "fr.ph"; pi: "fr.pi"; pj: "fr.pj"; pk: "fr.pk"; pl: "fr.pl"; pm: "fr.pm"; pn: "fr.pn"; po: "fr.po"; pp: "fr.pp"; pq: "fr.pq"; pr: "fr.pr"; ps: "fr.ps"; pt: "fr.pt"; pu: "fr.pu"; pv: "fr.pv"; pw: "fr.pw"; px: "fr.px"; py: "fr.py"; pz: "fr.pz"; qa: "fr.qa"; qb: "fr.qb"; qc: "fr.qc"; qd: "fr.qd"; qe: "fr.qe"; qf: "fr.qf"; qg: "fr.qg"; qh: "fr.qh"; qi: "fr.qi"; qj: "fr.qj"; qk: "fr.qk"; ql: "fr.ql"; qm: "fr.qm"; qn: "fr.qn"; qo: "fr.qo"; qp: "fr.qp"; qq: "fr.qq"; qr: "fr.qr"; qs: "fr.qs"; qt: "fr.qt"; qu: "fr.qu"; qv: "fr.qv"; qw: "fr.qw"; qx: "fr.qx"; qy: "fr.qy"; qz: "fr.qz"; ra: "fr.ra"; rb: "fr.rb"; rc: "fr.rc"; rd: "fr.rd"; re: "fr.re"; rf: "fr.rf"; rg: "fr.rg"; rh: "fr.rh"; ri: "fr.ri"; rj: "fr.rj"; rk: "fr.rk"; rl: "fr.rl"; rm: "fr.rm"; rn: "fr.rn"; ro: "fr.ro"; rp: "fr.rp"; rq: "fr.rq"; rr: "fr.rr"; rs: "fr.rs"; rt: "fr.rt"; ru: "fr.ru"; rv: "fr.rv"; rw: "fr.rw"; rx: "fr.rx"; ry: "fr.ry"; rz: "fr.rz"; sa: "fr.sa"; sb: "fr.sb"; sc: "fr.sc"; sd: "fr.sd"; se: "fr.se"; sf: "fr.sf"; sg: "fr.sg"; sh: "fr.sh"; si: "fr.si"; sj: "fr.sj"; sk: "fr.sk"; sl: "fr.sl"; sm: "fr.sm"; sn: "fr.sn"; so: "fr.so"; sp: "fr.sp"; sq: "fr.sq"; sr: "fr.sr"; ss: "fr.ss"; st: "fr.st"; su: "fr.su"; sv: "fr.sv"; sw: "fr.sw"; sx: "fr.sx"; sy: "fr.sy"; sz: "fr.sz"; ta: "fr.ta"; tb: "fr.tb"; tc: "fr.tc"; td: "fr.td"; te: "fr.te"; tf: "fr.tf"; tg: "fr.tg"; th: "fr.th"; ti: "fr.ti"; tj: "fr.tj"; tk: "fr.tk"; tl: "fr.tl"; tm: "fr.tm"; tn: "fr.tn"; to: "fr.to"; tp: "fr.tp"; tq: "fr.tq"; tr: "fr.tr"; ts: "fr.ts"; tt: "fr.tt"; tu: "fr.tu"; tv: "fr.tv"; tw: "fr.tw"; tx: "fr.tx"; ty: "fr.ty"; tz: "fr.tz"; ua: "fr.ua"; ub: "fr.ub"; uc: "fr.uc"; ud: "fr.ud"; ue: "fr.ue"; uf: "fr.uf"; ug: "fr.ug"; uh: "fr.uh"; ui: "fr.ui"; uj: "fr.uj"; uk: "fr.uk"; ul: "fr.ul"; um: "fr.um"; un: "fr.un"; uo: "fr.uo"; up: "fr.up"; uq: "fr.uq"; ur: "fr.ur"; us: "fr.us"; ut: "fr.ut"; uu: "fr.uu"; uv: "fr.uv"; uw: "fr.uw"; ux: "fr.ux"; uy: "fr.uy"; uz: "fr.uz"; va: "fr.va"; vb: "fr.vb"; vc: "fr.vc"; vd: "fr.vd"; ve: "fr.ve"; vf: "fr.vf"; vg: "fr.vg"; vh: "fr.vh"; vi: "fr.vi"; ... 120 more ...; zz: "fr.zz"; }; ... 527 more ...; zz: { ...; }; } +>[null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}}] : { aa: { aa: "aa.aa"; ab: "aa.ab"; ac: "aa.ac"; ad: "aa.ad"; ae: "aa.ae"; af: "aa.af"; ag: "aa.ag"; ah: "aa.ah"; ai: "aa.ai"; aj: "aa.aj"; ak: "aa.ak"; al: "aa.al"; am: "aa.am"; an: "aa.an"; ao: "aa.ao"; ap: "aa.ap"; aq: "aa.aq"; ar: "aa.ar"; as: "aa.as"; at: "aa.at"; au: "aa.au"; av: "aa.av"; aw: "aa.aw"; ax: "aa.ax"; ay: "aa.ay"; az: "aa.az"; ba: "aa.ba"; bb: "aa.bb"; bc: "aa.bc"; bd: "aa.bd"; be: "aa.be"; bf: "aa.bf"; bg: "aa.bg"; bh: "aa.bh"; bi: "aa.bi"; bj: "aa.bj"; bk: "aa.bk"; bl: "aa.bl"; bm: "aa.bm"; bn: "aa.bn"; bo: "aa.bo"; bp: "aa.bp"; bq: "aa.bq"; br: "aa.br"; bs: "aa.bs"; bt: "aa.bt"; bu: "aa.bu"; bv: "aa.bv"; bw: "aa.bw"; bx: "aa.bx"; by: "aa.by"; bz: "aa.bz"; ca: "aa.ca"; cb: "aa.cb"; cc: "aa.cc"; cd: "aa.cd"; ce: "aa.ce"; cf: "aa.cf"; cg: "aa.cg"; ch: "aa.ch"; ci: "aa.ci"; cj: "aa.cj"; ck: "aa.ck"; cl: "aa.cl"; cm: "aa.cm"; cn: "aa.cn"; co: "aa.co"; cp: "aa.cp"; cq: "aa.cq"; cr: "aa.cr"; cs: "aa.cs"; ct: "aa.ct"; cu: "aa.cu"; cv: "aa.cv"; cw: "aa.cw"; cx: "aa.cx"; cy: "aa.cy"; cz: "aa.cz"; da: "aa.da"; db: "aa.db"; dc: "aa.dc"; dd: "aa.dd"; de: "aa.de"; df: "aa.df"; dg: "aa.dg"; dh: "aa.dh"; di: "aa.di"; dj: "aa.dj"; dk: "aa.dk"; dl: "aa.dl"; dm: "aa.dm"; dn: "aa.dn"; do: "aa.do"; dp: "aa.dp"; dq: "aa.dq"; dr: "aa.dr"; ds: "aa.ds"; dt: "aa.dt"; du: "aa.du"; dv: "aa.dv"; dw: "aa.dw"; dx: "aa.dx"; dy: "aa.dy"; dz: "aa.dz"; ea: "aa.ea"; eb: "aa.eb"; ec: "aa.ec"; ed: "aa.ed"; ee: "aa.ee"; ef: "aa.ef"; eg: "aa.eg"; eh: "aa.eh"; ei: "aa.ei"; ej: "aa.ej"; ek: "aa.ek"; el: "aa.el"; em: "aa.em"; en: "aa.en"; eo: "aa.eo"; ep: "aa.ep"; eq: "aa.eq"; er: "aa.er"; es: "aa.es"; et: "aa.et"; eu: "aa.eu"; ev: "aa.ev"; ew: "aa.ew"; ex: "aa.ex"; ey: "aa.ey"; ez: "aa.ez"; fa: "aa.fa"; fb: "aa.fb"; fc: "aa.fc"; fd: "aa.fd"; fe: "aa.fe"; ff: "aa.ff"; fg: "aa.fg"; fh: "aa.fh"; fi: "aa.fi"; fj: "aa.fj"; fk: "aa.fk"; fl: "aa.fl"; fm: "aa.fm"; fn: "aa.fn"; fo: "aa.fo"; fp: "aa.fp"; fq: "aa.fq"; fr: "aa.fr"; fs: "aa.fs"; ft: "aa.ft"; fu: "aa.fu"; fv: "aa.fv"; fw: "aa.fw"; fx: "aa.fx"; fy: "aa.fy"; fz: "aa.fz"; ga: "aa.ga"; gb: "aa.gb"; gc: "aa.gc"; gd: "aa.gd"; ge: "aa.ge"; gf: "aa.gf"; gg: "aa.gg"; gh: "aa.gh"; gi: "aa.gi"; gj: "aa.gj"; gk: "aa.gk"; gl: "aa.gl"; gm: "aa.gm"; gn: "aa.gn"; go: "aa.go"; gp: "aa.gp"; gq: "aa.gq"; gr: "aa.gr"; gs: "aa.gs"; gt: "aa.gt"; gu: "aa.gu"; gv: "aa.gv"; gw: "aa.gw"; gx: "aa.gx"; gy: "aa.gy"; gz: "aa.gz"; ha: "aa.ha"; hb: "aa.hb"; hc: "aa.hc"; hd: "aa.hd"; he: "aa.he"; hf: "aa.hf"; hg: "aa.hg"; hh: "aa.hh"; hi: "aa.hi"; hj: "aa.hj"; hk: "aa.hk"; hl: "aa.hl"; hm: "aa.hm"; hn: "aa.hn"; ho: "aa.ho"; hp: "aa.hp"; hq: "aa.hq"; hr: "aa.hr"; hs: "aa.hs"; ht: "aa.ht"; hu: "aa.hu"; hv: "aa.hv"; hw: "aa.hw"; hx: "aa.hx"; hy: "aa.hy"; hz: "aa.hz"; ia: "aa.ia"; ib: "aa.ib"; ic: "aa.ic"; id: "aa.id"; ie: "aa.ie"; if: "aa.if"; ig: "aa.ig"; ih: "aa.ih"; ii: "aa.ii"; ij: "aa.ij"; ik: "aa.ik"; il: "aa.il"; im: "aa.im"; in: "aa.in"; io: "aa.io"; ip: "aa.ip"; iq: "aa.iq"; ir: "aa.ir"; is: "aa.is"; it: "aa.it"; iu: "aa.iu"; iv: "aa.iv"; iw: "aa.iw"; ix: "aa.ix"; iy: "aa.iy"; iz: "aa.iz"; ja: "aa.ja"; jb: "aa.jb"; jc: "aa.jc"; jd: "aa.jd"; je: "aa.je"; jf: "aa.jf"; jg: "aa.jg"; jh: "aa.jh"; ji: "aa.ji"; jj: "aa.jj"; jk: "aa.jk"; jl: "aa.jl"; jm: "aa.jm"; jn: "aa.jn"; jo: "aa.jo"; jp: "aa.jp"; jq: "aa.jq"; jr: "aa.jr"; js: "aa.js"; jt: "aa.jt"; ju: "aa.ju"; jv: "aa.jv"; jw: "aa.jw"; jx: "aa.jx"; jy: "aa.jy"; jz: "aa.jz"; ka: "aa.ka"; kb: "aa.kb"; kc: "aa.kc"; kd: "aa.kd"; ke: "aa.ke"; kf: "aa.kf"; kg: "aa.kg"; kh: "aa.kh"; ki: "aa.ki"; kj: "aa.kj"; kk: "aa.kk"; kl: "aa.kl"; km: "aa.km"; kn: "aa.kn"; ko: "aa.ko"; kp: "aa.kp"; kq: "aa.kq"; kr: "aa.kr"; ks: "aa.ks"; kt: "aa.kt"; ku: "aa.ku"; kv: "aa.kv"; kw: "aa.kw"; kx: "aa.kx"; ky: "aa.ky"; kz: "aa.kz"; la: "aa.la"; lb: "aa.lb"; lc: "aa.lc"; ld: "aa.ld"; le: "aa.le"; lf: "aa.lf"; lg: "aa.lg"; lh: "aa.lh"; li: "aa.li"; lj: "aa.lj"; lk: "aa.lk"; ll: "aa.ll"; lm: "aa.lm"; ln: "aa.ln"; lo: "aa.lo"; lp: "aa.lp"; lq: "aa.lq"; lr: "aa.lr"; ls: "aa.ls"; lt: "aa.lt"; lu: "aa.lu"; lv: "aa.lv"; lw: "aa.lw"; lx: "aa.lx"; ly: "aa.ly"; lz: "aa.lz"; ma: "aa.ma"; mb: "aa.mb"; mc: "aa.mc"; md: "aa.md"; me: "aa.me"; mf: "aa.mf"; mg: "aa.mg"; mh: "aa.mh"; mi: "aa.mi"; mj: "aa.mj"; mk: "aa.mk"; ml: "aa.ml"; mm: "aa.mm"; mn: "aa.mn"; mo: "aa.mo"; mp: "aa.mp"; mq: "aa.mq"; mr: "aa.mr"; ms: "aa.ms"; mt: "aa.mt"; mu: "aa.mu"; mv: "aa.mv"; mw: "aa.mw"; mx: "aa.mx"; my: "aa.my"; mz: "aa.mz"; na: "aa.na"; nb: "aa.nb"; nc: "aa.nc"; nd: "aa.nd"; ne: "aa.ne"; nf: "aa.nf"; ng: "aa.ng"; nh: "aa.nh"; ni: "aa.ni"; nj: "aa.nj"; nk: "aa.nk"; nl: "aa.nl"; nm: "aa.nm"; nn: "aa.nn"; no: "aa.no"; np: "aa.np"; nq: "aa.nq"; nr: "aa.nr"; ns: "aa.ns"; nt: "aa.nt"; nu: "aa.nu"; nv: "aa.nv"; nw: "aa.nw"; nx: "aa.nx"; ny: "aa.ny"; nz: "aa.nz"; oa: "aa.oa"; ob: "aa.ob"; oc: "aa.oc"; od: "aa.od"; oe: "aa.oe"; of: "aa.of"; og: "aa.og"; oh: "aa.oh"; oi: "aa.oi"; oj: "aa.oj"; ok: "aa.ok"; ol: "aa.ol"; om: "aa.om"; on: "aa.on"; oo: "aa.oo"; op: "aa.op"; oq: "aa.oq"; or: "aa.or"; os: "aa.os"; ot: "aa.ot"; ou: "aa.ou"; ov: "aa.ov"; ow: "aa.ow"; ox: "aa.ox"; oy: "aa.oy"; oz: "aa.oz"; pa: "aa.pa"; pb: "aa.pb"; pc: "aa.pc"; pd: "aa.pd"; pe: "aa.pe"; pf: "aa.pf"; pg: "aa.pg"; ph: "aa.ph"; pi: "aa.pi"; pj: "aa.pj"; pk: "aa.pk"; pl: "aa.pl"; pm: "aa.pm"; pn: "aa.pn"; po: "aa.po"; pp: "aa.pp"; pq: "aa.pq"; pr: "aa.pr"; ps: "aa.ps"; pt: "aa.pt"; pu: "aa.pu"; pv: "aa.pv"; pw: "aa.pw"; px: "aa.px"; py: "aa.py"; pz: "aa.pz"; qa: "aa.qa"; qb: "aa.qb"; qc: "aa.qc"; qd: "aa.qd"; qe: "aa.qe"; qf: "aa.qf"; qg: "aa.qg"; qh: "aa.qh"; qi: "aa.qi"; qj: "aa.qj"; qk: "aa.qk"; ql: "aa.ql"; qm: "aa.qm"; qn: "aa.qn"; qo: "aa.qo"; qp: "aa.qp"; qq: "aa.qq"; qr: "aa.qr"; qs: "aa.qs"; qt: "aa.qt"; qu: "aa.qu"; qv: "aa.qv"; qw: "aa.qw"; qx: "aa.qx"; qy: "aa.qy"; qz: "aa.qz"; ra: "aa.ra"; rb: "aa.rb"; rc: "aa.rc"; rd: "aa.rd"; re: "aa.re"; rf: "aa.rf"; rg: "aa.rg"; rh: "aa.rh"; ri: "aa.ri"; rj: "aa.rj"; rk: "aa.rk"; rl: "aa.rl"; rm: "aa.rm"; rn: "aa.rn"; ro: "aa.ro"; rp: "aa.rp"; rq: "aa.rq"; rr: "aa.rr"; rs: "aa.rs"; rt: "aa.rt"; ru: "aa.ru"; rv: "aa.rv"; rw: "aa.rw"; rx: "aa.rx"; ry: "aa.ry"; rz: "aa.rz"; sa: "aa.sa"; sb: "aa.sb"; sc: "aa.sc"; sd: "aa.sd"; se: "aa.se"; sf: "aa.sf"; sg: "aa.sg"; sh: "aa.sh"; si: "aa.si"; sj: "aa.sj"; sk: "aa.sk"; sl: "aa.sl"; sm: "aa.sm"; sn: "aa.sn"; so: "aa.so"; sp: "aa.sp"; sq: "aa.sq"; sr: "aa.sr"; ss: "aa.ss"; st: "aa.st"; su: "aa.su"; sv: "aa.sv"; sw: "aa.sw"; sx: "aa.sx"; sy: "aa.sy"; sz: "aa.sz"; ta: "aa.ta"; tb: "aa.tb"; tc: "aa.tc"; td: "aa.td"; te: "aa.te"; tf: "aa.tf"; tg: "aa.tg"; th: "aa.th"; ti: "aa.ti"; tj: "aa.tj"; tk: "aa.tk"; tl: "aa.tl"; tm: "aa.tm"; tn: "aa.tn"; to: "aa.to"; tp: "aa.tp"; tq: "aa.tq"; tr: "aa.tr"; ts: "aa.ts"; tt: "aa.tt"; tu: "aa.tu"; tv: "aa.tv"; tw: "aa.tw"; tx: "aa.tx"; ty: "aa.ty"; tz: "aa.tz"; ua: "aa.ua"; ub: "aa.ub"; uc: "aa.uc"; ud: "aa.ud"; ue: "aa.ue"; uf: "aa.uf"; ug: "aa.ug"; uh: "aa.uh"; ui: "aa.ui"; uj: "aa.uj"; uk: "aa.uk"; ul: "aa.ul"; um: "aa.um"; un: "aa.un"; uo: "aa.uo"; up: "aa.up"; uq: "aa.uq"; ur: "aa.ur"; us: "aa.us"; ut: "aa.ut"; uu: "aa.uu"; uv: "aa.uv"; uw: "aa.uw"; ux: "aa.ux"; uy: "aa.uy"; uz: "aa.uz"; va: "aa.va"; vb: "aa.vb"; vc: "aa.vc"; vd: "aa.vd"; ve: "aa.ve"; vf: "aa.vf"; vg: "aa.vg"; vh: "aa.vh"; vi: "aa.vi"; vj: "aa.vj"; vk: "aa.vk"; vl: "aa.vl"; vm: "aa.vm"; vn: "aa.vn"; vo: "aa.vo"; vp: "aa.vp"; vq: "aa.vq"; vr: "aa.vr"; vs: "aa.vs"; vt: "aa.vt"; vu: "aa.vu"; vv: "aa.vv"; vw: "aa.vw"; vx: "aa.vx"; vy: "aa.vy"; vz: "aa.vz"; wa: "aa.wa"; wb: "aa.wb"; wc: "aa.wc"; wd: "aa.wd"; we: "aa.we"; wf: "aa.wf"; wg: "aa.wg"; wh: "aa.wh"; wi: "aa.wi"; wj: "aa.wj"; wk: "aa.wk"; wl: "aa.wl"; wm: "aa.wm"; wn: "aa.wn"; wo: "aa.wo"; wp: "aa.wp"; wq: "aa.wq"; wr: "aa.wr"; ws: "aa.ws"; wt: "aa.wt"; wu: "aa.wu"; wv: "aa.wv"; ww: "aa.ww"; wx: "aa.wx"; wy: "aa.wy"; wz: "aa.wz"; xa: "aa.xa"; xb: "aa.xb"; xc: "aa.xc"; xd: "aa.xd"; xe: "aa.xe"; xf: "aa.xf"; xg: "aa.xg"; xh: "aa.xh"; xi: "aa.xi"; xj: "aa.xj"; xk: "aa.xk"; xl: "aa.xl"; xm: "aa.xm"; xn: "aa.xn"; xo: "aa.xo"; xp: "aa.xp"; xq: "aa.xq"; xr: "aa.xr"; xs: "aa.xs"; xt: "aa.xt"; xu: "aa.xu"; xv: "aa.xv"; xw: "aa.xw"; xx: "aa.xx"; xy: "aa.xy"; xz: "aa.xz"; ya: "aa.ya"; yb: "aa.yb"; yc: "aa.yc"; yd: "aa.yd"; ye: "aa.ye"; yf: "aa.yf"; yg: "aa.yg"; yh: "aa.yh"; yi: "aa.yi"; yj: "aa.yj"; yk: "aa.yk"; yl: "aa.yl"; ym: "aa.ym"; yn: "aa.yn"; yo: "aa.yo"; yp: "aa.yp"; yq: "aa.yq"; yr: "aa.yr"; ys: "aa.ys"; yt: "aa.yt"; yu: "aa.yu"; yv: "aa.yv"; yw: "aa.yw"; yx: "aa.yx"; yy: "aa.yy"; yz: "aa.yz"; za: "aa.za"; zb: "aa.zb"; zc: "aa.zc"; zd: "aa.zd"; ze: "aa.ze"; zf: "aa.zf"; zg: "aa.zg"; zh: "aa.zh"; zi: "aa.zi"; zj: "aa.zj"; zk: "aa.zk"; zl: "aa.zl"; zm: "aa.zm"; zn: "aa.zn"; zo: "aa.zo"; zp: "aa.zp"; zq: "aa.zq"; zr: "aa.zr"; zs: "aa.zs"; zt: "aa.zt"; zu: "aa.zu"; zv: "aa.zv"; zw: "aa.zw"; zx: "aa.zx"; zy: "aa.zy"; zz: "aa.zz"; }; ab: { aa: "ab.aa"; ab: "ab.ab"; ac: "ab.ac"; ad: "ab.ad"; ae: "ab.ae"; af: "ab.af"; ag: "ab.ag"; ah: "ab.ah"; ai: "ab.ai"; aj: "ab.aj"; ak: "ab.ak"; al: "ab.al"; am: "ab.am"; an: "ab.an"; ao: "ab.ao"; ap: "ab.ap"; aq: "ab.aq"; ar: "ab.ar"; as: "ab.as"; at: "ab.at"; au: "ab.au"; av: "ab.av"; aw: "ab.aw"; ax: "ab.ax"; ay: "ab.ay"; az: "ab.az"; ba: "ab.ba"; bb: "ab.bb"; bc: "ab.bc"; bd: "ab.bd"; be: "ab.be"; bf: "ab.bf"; bg: "ab.bg"; bh: "ab.bh"; bi: "ab.bi"; bj: "ab.bj"; bk: "ab.bk"; bl: "ab.bl"; bm: "ab.bm"; bn: "ab.bn"; bo: "ab.bo"; bp: "ab.bp"; bq: "ab.bq"; br: "ab.br"; bs: "ab.bs"; bt: "ab.bt"; bu: "ab.bu"; bv: "ab.bv"; bw: "ab.bw"; bx: "ab.bx"; by: "ab.by"; bz: "ab.bz"; ca: "ab.ca"; cb: "ab.cb"; cc: "ab.cc"; cd: "ab.cd"; ce: "ab.ce"; cf: "ab.cf"; cg: "ab.cg"; ch: "ab.ch"; ci: "ab.ci"; cj: "ab.cj"; ck: "ab.ck"; cl: "ab.cl"; cm: "ab.cm"; cn: "ab.cn"; co: "ab.co"; cp: "ab.cp"; cq: "ab.cq"; cr: "ab.cr"; cs: "ab.cs"; ct: "ab.ct"; cu: "ab.cu"; cv: "ab.cv"; cw: "ab.cw"; cx: "ab.cx"; cy: "ab.cy"; cz: "ab.cz"; da: "ab.da"; db: "ab.db"; dc: "ab.dc"; dd: "ab.dd"; de: "ab.de"; df: "ab.df"; dg: "ab.dg"; dh: "ab.dh"; di: "ab.di"; dj: "ab.dj"; dk: "ab.dk"; dl: "ab.dl"; dm: "ab.dm"; dn: "ab.dn"; do: "ab.do"; dp: "ab.dp"; dq: "ab.dq"; dr: "ab.dr"; ds: "ab.ds"; dt: "ab.dt"; du: "ab.du"; dv: "ab.dv"; dw: "ab.dw"; dx: "ab.dx"; dy: "ab.dy"; dz: "ab.dz"; ea: "ab.ea"; eb: "ab.eb"; ec: "ab.ec"; ed: "ab.ed"; ee: "ab.ee"; ef: "ab.ef"; eg: "ab.eg"; eh: "ab.eh"; ei: "ab.ei"; ej: "ab.ej"; ek: "ab.ek"; el: "ab.el"; em: "ab.em"; en: "ab.en"; eo: "ab.eo"; ep: "ab.ep"; eq: "ab.eq"; er: "ab.er"; es: "ab.es"; et: "ab.et"; eu: "ab.eu"; ev: "ab.ev"; ew: "ab.ew"; ex: "ab.ex"; ey: "ab.ey"; ez: "ab.ez"; fa: "ab.fa"; fb: "ab.fb"; fc: "ab.fc"; fd: "ab.fd"; fe: "ab.fe"; ff: "ab.ff"; fg: "ab.fg"; fh: "ab.fh"; fi: "ab.fi"; fj: "ab.fj"; fk: "ab.fk"; fl: "ab.fl"; fm: "ab.fm"; fn: "ab.fn"; fo: "ab.fo"; fp: "ab.fp"; fq: "ab.fq"; fr: "ab.fr"; fs: "ab.fs"; ft: "ab.ft"; fu: "ab.fu"; fv: "ab.fv"; fw: "ab.fw"; fx: "ab.fx"; fy: "ab.fy"; fz: "ab.fz"; ga: "ab.ga"; gb: "ab.gb"; gc: "ab.gc"; gd: "ab.gd"; ge: "ab.ge"; gf: "ab.gf"; gg: "ab.gg"; gh: "ab.gh"; gi: "ab.gi"; gj: "ab.gj"; gk: "ab.gk"; gl: "ab.gl"; gm: "ab.gm"; gn: "ab.gn"; go: "ab.go"; gp: "ab.gp"; gq: "ab.gq"; gr: "ab.gr"; gs: "ab.gs"; gt: "ab.gt"; gu: "ab.gu"; gv: "ab.gv"; gw: "ab.gw"; gx: "ab.gx"; gy: "ab.gy"; gz: "ab.gz"; ha: "ab.ha"; hb: "ab.hb"; hc: "ab.hc"; hd: "ab.hd"; he: "ab.he"; hf: "ab.hf"; hg: "ab.hg"; hh: "ab.hh"; hi: "ab.hi"; hj: "ab.hj"; hk: "ab.hk"; hl: "ab.hl"; hm: "ab.hm"; hn: "ab.hn"; ho: "ab.ho"; hp: "ab.hp"; hq: "ab.hq"; hr: "ab.hr"; hs: "ab.hs"; ht: "ab.ht"; hu: "ab.hu"; hv: "ab.hv"; hw: "ab.hw"; hx: "ab.hx"; hy: "ab.hy"; hz: "ab.hz"; ia: "ab.ia"; ib: "ab.ib"; ic: "ab.ic"; id: "ab.id"; ie: "ab.ie"; if: "ab.if"; ig: "ab.ig"; ih: "ab.ih"; ii: "ab.ii"; ij: "ab.ij"; ik: "ab.ik"; il: "ab.il"; im: "ab.im"; in: "ab.in"; io: "ab.io"; ip: "ab.ip"; iq: "ab.iq"; ir: "ab.ir"; is: "ab.is"; it: "ab.it"; iu: "ab.iu"; iv: "ab.iv"; iw: "ab.iw"; ix: "ab.ix"; iy: "ab.iy"; iz: "ab.iz"; ja: "ab.ja"; jb: "ab.jb"; jc: "ab.jc"; jd: "ab.jd"; je: "ab.je"; jf: "ab.jf"; jg: "ab.jg"; jh: "ab.jh"; ji: "ab.ji"; jj: "ab.jj"; jk: "ab.jk"; jl: "ab.jl"; jm: "ab.jm"; jn: "ab.jn"; jo: "ab.jo"; jp: "ab.jp"; jq: "ab.jq"; jr: "ab.jr"; js: "ab.js"; jt: "ab.jt"; ju: "ab.ju"; jv: "ab.jv"; jw: "ab.jw"; jx: "ab.jx"; jy: "ab.jy"; jz: "ab.jz"; ka: "ab.ka"; kb: "ab.kb"; kc: "ab.kc"; kd: "ab.kd"; ke: "ab.ke"; kf: "ab.kf"; kg: "ab.kg"; kh: "ab.kh"; ki: "ab.ki"; kj: "ab.kj"; kk: "ab.kk"; kl: "ab.kl"; km: "ab.km"; kn: "ab.kn"; ko: "ab.ko"; kp: "ab.kp"; kq: "ab.kq"; kr: "ab.kr"; ks: "ab.ks"; kt: "ab.kt"; ku: "ab.ku"; kv: "ab.kv"; kw: "ab.kw"; kx: "ab.kx"; ky: "ab.ky"; kz: "ab.kz"; la: "ab.la"; lb: "ab.lb"; lc: "ab.lc"; ld: "ab.ld"; le: "ab.le"; lf: "ab.lf"; lg: "ab.lg"; lh: "ab.lh"; li: "ab.li"; lj: "ab.lj"; lk: "ab.lk"; ll: "ab.ll"; lm: "ab.lm"; ln: "ab.ln"; lo: "ab.lo"; lp: "ab.lp"; lq: "ab.lq"; lr: "ab.lr"; ls: "ab.ls"; lt: "ab.lt"; lu: "ab.lu"; lv: "ab.lv"; lw: "ab.lw"; lx: "ab.lx"; ly: "ab.ly"; lz: "ab.lz"; ma: "ab.ma"; mb: "ab.mb"; mc: "ab.mc"; md: "ab.md"; me: "ab.me"; mf: "ab.mf"; mg: "ab.mg"; mh: "ab.mh"; mi: "ab.mi"; mj: "ab.mj"; mk: "ab.mk"; ml: "ab.ml"; mm: "ab.mm"; mn: "ab.mn"; mo: "ab.mo"; mp: "ab.mp"; mq: "ab.mq"; mr: "ab.mr"; ms: "ab.ms"; mt: "ab.mt"; mu: "ab.mu"; mv: "ab.mv"; mw: "ab.mw"; mx: "ab.mx"; my: "ab.my"; mz: "ab.mz"; na: "ab.na"; nb: "ab.nb"; nc: "ab.nc"; nd: "ab.nd"; ne: "ab.ne"; nf: "ab.nf"; ng: "ab.ng"; nh: "ab.nh"; ni: "ab.ni"; nj: "ab.nj"; nk: "ab.nk"; nl: "ab.nl"; nm: "ab.nm"; nn: "ab.nn"; no: "ab.no"; np: "ab.np"; nq: "ab.nq"; nr: "ab.nr"; ns: "ab.ns"; nt: "ab.nt"; nu: "ab.nu"; nv: "ab.nv"; nw: "ab.nw"; nx: "ab.nx"; ny: "ab.ny"; nz: "ab.nz"; oa: "ab.oa"; ob: "ab.ob"; oc: "ab.oc"; od: "ab.od"; oe: "ab.oe"; of: "ab.of"; og: "ab.og"; oh: "ab.oh"; oi: "ab.oi"; oj: "ab.oj"; ok: "ab.ok"; ol: "ab.ol"; om: "ab.om"; on: "ab.on"; oo: "ab.oo"; op: "ab.op"; oq: "ab.oq"; or: "ab.or"; os: "ab.os"; ot: "ab.ot"; ou: "ab.ou"; ov: "ab.ov"; ow: "ab.ow"; ox: "ab.ox"; oy: "ab.oy"; oz: "ab.oz"; pa: "ab.pa"; pb: "ab.pb"; pc: "ab.pc"; pd: "ab.pd"; pe: "ab.pe"; pf: "ab.pf"; pg: "ab.pg"; ph: "ab.ph"; pi: "ab.pi"; pj: "ab.pj"; pk: "ab.pk"; pl: "ab.pl"; pm: "ab.pm"; pn: "ab.pn"; po: "ab.po"; pp: "ab.pp"; pq: "ab.pq"; pr: "ab.pr"; ps: "ab.ps"; pt: "ab.pt"; pu: "ab.pu"; pv: "ab.pv"; pw: "ab.pw"; px: "ab.px"; py: "ab.py"; pz: "ab.pz"; qa: "ab.qa"; qb: "ab.qb"; qc: "ab.qc"; qd: "ab.qd"; qe: "ab.qe"; qf: "ab.qf"; qg: "ab.qg"; qh: "ab.qh"; qi: "ab.qi"; qj: "ab.qj"; qk: "ab.qk"; ql: "ab.ql"; qm: "ab.qm"; qn: "ab.qn"; qo: "ab.qo"; qp: "ab.qp"; qq: "ab.qq"; qr: "ab.qr"; qs: "ab.qs"; qt: "ab.qt"; qu: "ab.qu"; qv: "ab.qv"; qw: "ab.qw"; qx: "ab.qx"; qy: "ab.qy"; qz: "ab.qz"; ra: "ab.ra"; rb: "ab.rb"; rc: "ab.rc"; rd: "ab.rd"; re: "ab.re"; rf: "ab.rf"; rg: "ab.rg"; rh: "ab.rh"; ri: "ab.ri"; rj: "ab.rj"; rk: "ab.rk"; rl: "ab.rl"; rm: "ab.rm"; rn: "ab.rn"; ro: "ab.ro"; rp: "ab.rp"; rq: "ab.rq"; rr: "ab.rr"; rs: "ab.rs"; rt: "ab.rt"; ru: "ab.ru"; rv: "ab.rv"; rw: "ab.rw"; rx: "ab.rx"; ry: "ab.ry"; rz: "ab.rz"; sa: "ab.sa"; sb: "ab.sb"; sc: "ab.sc"; sd: "ab.sd"; se: "ab.se"; sf: "ab.sf"; sg: "ab.sg"; sh: "ab.sh"; si: "ab.si"; sj: "ab.sj"; sk: "ab.sk"; sl: "ab.sl"; sm: "ab.sm"; sn: "ab.sn"; so: "ab.so"; sp: "ab.sp"; sq: "ab.sq"; sr: "ab.sr"; ss: "ab.ss"; st: "ab.st"; su: "ab.su"; sv: "ab.sv"; sw: "ab.sw"; sx: "ab.sx"; sy: "ab.sy"; sz: "ab.sz"; ta: "ab.ta"; tb: "ab.tb"; tc: "ab.tc"; td: "ab.td"; te: "ab.te"; tf: "ab.tf"; tg: "ab.tg"; th: "ab.th"; ti: "ab.ti"; tj: "ab.tj"; tk: "ab.tk"; tl: "ab.tl"; tm: "ab.tm"; tn: "ab.tn"; to: "ab.to"; tp: "ab.tp"; tq: "ab.tq"; tr: "ab.tr"; ts: "ab.ts"; tt: "ab.tt"; tu: "ab.tu"; tv: "ab.tv"; tw: "ab.tw"; tx: "ab.tx"; ty: "ab.ty"; tz: "ab.tz"; ua: "ab.ua"; ub: "ab.ub"; uc: "ab.uc"; ud: "ab.ud"; ue: "ab.ue"; uf: "ab.uf"; ug: "ab.ug"; uh: "ab.uh"; ui: "ab.ui"; uj: "ab.uj"; uk: "ab.uk"; ul: "ab.ul"; um: "ab.um"; un: "ab.un"; uo: "ab.uo"; up: "ab.up"; uq: "ab.uq"; ur: "ab.ur"; us: "ab.us"; ut: "ab.ut"; uu: "ab.uu"; uv: "ab.uv"; uw: "ab.uw"; ux: "ab.ux"; uy: "ab.uy"; uz: "ab.uz"; va: "ab.va"; vb: "ab.vb"; vc: "ab.vc"; vd: "ab.vd"; ve: "ab.ve"; vf: "ab.vf"; vg: "ab.vg"; vh: "ab.vh"; vi: "ab.vi"; vj: "ab.vj"; vk: "ab.vk"; vl: "ab.vl"; vm: "ab.vm"; vn: "ab.vn"; vo: "ab.vo"; vp: "ab.vp"; vq: "ab.vq"; vr: "ab.vr"; vs: "ab.vs"; vt: "ab.vt"; vu: "ab.vu"; vv: "ab.vv"; vw: "ab.vw"; vx: "ab.vx"; vy: "ab.vy"; vz: "ab.vz"; wa: "ab.wa"; wb: "ab.wb"; wc: "ab.wc"; wd: "ab.wd"; we: "ab.we"; wf: "ab.wf"; wg: "ab.wg"; wh: "ab.wh"; wi: "ab.wi"; wj: "ab.wj"; wk: "ab.wk"; wl: "ab.wl"; wm: "ab.wm"; wn: "ab.wn"; wo: "ab.wo"; wp: "ab.wp"; wq: "ab.wq"; wr: "ab.wr"; ws: "ab.ws"; wt: "ab.wt"; wu: "ab.wu"; wv: "ab.wv"; ww: "ab.ww"; wx: "ab.wx"; wy: "ab.wy"; wz: "ab.wz"; xa: "ab.xa"; xb: "ab.xb"; xc: "ab.xc"; xd: "ab.xd"; xe: "ab.xe"; xf: "ab.xf"; xg: "ab.xg"; xh: "ab.xh"; xi: "ab.xi"; xj: "ab.xj"; xk: "ab.xk"; xl: "ab.xl"; xm: "ab.xm"; xn: "ab.xn"; xo: "ab.xo"; xp: "ab.xp"; xq: "ab.xq"; xr: "ab.xr"; xs: "ab.xs"; xt: "ab.xt"; xu: "ab.xu"; xv: "ab.xv"; xw: "ab.xw"; xx: "ab.xx"; xy: "ab.xy"; xz: "ab.xz"; ya: "ab.ya"; yb: "ab.yb"; yc: "ab.yc"; yd: "ab.yd"; ye: "ab.ye"; yf: "ab.yf"; yg: "ab.yg"; yh: "ab.yh"; yi: "ab.yi"; yj: "ab.yj"; yk: "ab.yk"; yl: "ab.yl"; ym: "ab.ym"; yn: "ab.yn"; yo: "ab.yo"; yp: "ab.yp"; yq: "ab.yq"; yr: "ab.yr"; ys: "ab.ys"; yt: "ab.yt"; yu: "ab.yu"; yv: "ab.yv"; yw: "ab.yw"; yx: "ab.yx"; yy: "ab.yy"; yz: "ab.yz"; za: "ab.za"; zb: "ab.zb"; zc: "ab.zc"; zd: "ab.zd"; ze: "ab.ze"; zf: "ab.zf"; zg: "ab.zg"; zh: "ab.zh"; zi: "ab.zi"; zj: "ab.zj"; zk: "ab.zk"; zl: "ab.zl"; zm: "ab.zm"; zn: "ab.zn"; zo: "ab.zo"; zp: "ab.zp"; zq: "ab.zq"; zr: "ab.zr"; zs: "ab.zs"; zt: "ab.zt"; zu: "ab.zu"; zv: "ab.zv"; zw: "ab.zw"; zx: "ab.zx"; zy: "ab.zy"; zz: "ab.zz"; }; ac: { aa: "ac.aa"; ab: "ac.ab"; ac: "ac.ac"; ad: "ac.ad"; ae: "ac.ae"; af: "ac.af"; ag: "ac.ag"; ah: "ac.ah"; ai: "ac.ai"; aj: "ac.aj"; ak: "ac.ak"; al: "ac.al"; am: "ac.am"; an: "ac.an"; ao: "ac.ao"; ap: "ac.ap"; aq: "ac.aq"; ar: "ac.ar"; as: "ac.as"; at: "ac.at"; au: "ac.au"; av: "ac.av"; aw: "ac.aw"; ax: "ac.ax"; ay: "ac.ay"; az: "ac.az"; ba: "ac.ba"; bb: "ac.bb"; bc: "ac.bc"; bd: "ac.bd"; be: "ac.be"; bf: "ac.bf"; bg: "ac.bg"; bh: "ac.bh"; bi: "ac.bi"; bj: "ac.bj"; bk: "ac.bk"; bl: "ac.bl"; bm: "ac.bm"; bn: "ac.bn"; bo: "ac.bo"; bp: "ac.bp"; bq: "ac.bq"; br: "ac.br"; bs: "ac.bs"; bt: "ac.bt"; bu: "ac.bu"; bv: "ac.bv"; bw: "ac.bw"; bx: "ac.bx"; by: "ac.by"; bz: "ac.bz"; ca: "ac.ca"; cb: "ac.cb"; cc: "ac.cc"; cd: "ac.cd"; ce: "ac.ce"; cf: "ac.cf"; cg: "ac.cg"; ch: "ac.ch"; ci: "ac.ci"; cj: "ac.cj"; ck: "ac.ck"; cl: "ac.cl"; cm: "ac.cm"; cn: "ac.cn"; co: "ac.co"; cp: "ac.cp"; cq: "ac.cq"; cr: "ac.cr"; cs: "ac.cs"; ct: "ac.ct"; cu: "ac.cu"; cv: "ac.cv"; cw: "ac.cw"; cx: "ac.cx"; cy: "ac.cy"; cz: "ac.cz"; da: "ac.da"; db: "ac.db"; dc: "ac.dc"; dd: "ac.dd"; de: "ac.de"; df: "ac.df"; dg: "ac.dg"; dh: "ac.dh"; di: "ac.di"; dj: "ac.dj"; dk: "ac.dk"; dl: "ac.dl"; dm: "ac.dm"; dn: "ac.dn"; do: "ac.do"; dp: "ac.dp"; dq: "ac.dq"; dr: "ac.dr"; ds: "ac.ds"; dt: "ac.dt"; du: "ac.du"; dv: "ac.dv"; dw: "ac.dw"; dx: "ac.dx"; dy: "ac.dy"; dz: "ac.dz"; ea: "ac.ea"; eb: "ac.eb"; ec: "ac.ec"; ed: "ac.ed"; ee: "ac.ee"; ef: "ac.ef"; eg: "ac.eg"; eh: "ac.eh"; ei: "ac.ei"; ej: "ac.ej"; ek: "ac.ek"; el: "ac.el"; em: "ac.em"; en: "ac.en"; eo: "ac.eo"; ep: "ac.ep"; eq: "ac.eq"; er: "ac.er"; es: "ac.es"; et: "ac.et"; eu: "ac.eu"; ev: "ac.ev"; ew: "ac.ew"; ex: "ac.ex"; ey: "ac.ey"; ez: "ac.ez"; fa: "ac.fa"; fb: "ac.fb"; fc: "ac.fc"; fd: "ac.fd"; fe: "ac.fe"; ff: "ac.ff"; fg: "ac.fg"; fh: "ac.fh"; fi: "ac.fi"; fj: "ac.fj"; fk: "ac.fk"; fl: "ac.fl"; fm: "ac.fm"; fn: "ac.fn"; fo: "ac.fo"; fp: "ac.fp"; fq: "ac.fq"; fr: "ac.fr"; fs: "ac.fs"; ft: "ac.ft"; fu: "ac.fu"; fv: "ac.fv"; fw: "ac.fw"; fx: "ac.fx"; fy: "ac.fy"; fz: "ac.fz"; ga: "ac.ga"; gb: "ac.gb"; gc: "ac.gc"; gd: "ac.gd"; ge: "ac.ge"; gf: "ac.gf"; gg: "ac.gg"; gh: "ac.gh"; gi: "ac.gi"; gj: "ac.gj"; gk: "ac.gk"; gl: "ac.gl"; gm: "ac.gm"; gn: "ac.gn"; go: "ac.go"; gp: "ac.gp"; gq: "ac.gq"; gr: "ac.gr"; gs: "ac.gs"; gt: "ac.gt"; gu: "ac.gu"; gv: "ac.gv"; gw: "ac.gw"; gx: "ac.gx"; gy: "ac.gy"; gz: "ac.gz"; ha: "ac.ha"; hb: "ac.hb"; hc: "ac.hc"; hd: "ac.hd"; he: "ac.he"; hf: "ac.hf"; hg: "ac.hg"; hh: "ac.hh"; hi: "ac.hi"; hj: "ac.hj"; hk: "ac.hk"; hl: "ac.hl"; hm: "ac.hm"; hn: "ac.hn"; ho: "ac.ho"; hp: "ac.hp"; hq: "ac.hq"; hr: "ac.hr"; hs: "ac.hs"; ht: "ac.ht"; hu: "ac.hu"; hv: "ac.hv"; hw: "ac.hw"; hx: "ac.hx"; hy: "ac.hy"; hz: "ac.hz"; ia: "ac.ia"; ib: "ac.ib"; ic: "ac.ic"; id: "ac.id"; ie: "ac.ie"; if: "ac.if"; ig: "ac.ig"; ih: "ac.ih"; ii: "ac.ii"; ij: "ac.ij"; ik: "ac.ik"; il: "ac.il"; im: "ac.im"; in: "ac.in"; io: "ac.io"; ip: "ac.ip"; iq: "ac.iq"; ir: "ac.ir"; is: "ac.is"; it: "ac.it"; iu: "ac.iu"; iv: "ac.iv"; iw: "ac.iw"; ix: "ac.ix"; iy: "ac.iy"; iz: "ac.iz"; ja: "ac.ja"; jb: "ac.jb"; jc: "ac.jc"; jd: "ac.jd"; je: "ac.je"; jf: "ac.jf"; jg: "ac.jg"; jh: "ac.jh"; ji: "ac.ji"; jj: "ac.jj"; jk: "ac.jk"; jl: "ac.jl"; jm: "ac.jm"; jn: "ac.jn"; jo: "ac.jo"; jp: "ac.jp"; jq: "ac.jq"; jr: "ac.jr"; js: "ac.js"; jt: "ac.jt"; ju: "ac.ju"; jv: "ac.jv"; jw: "ac.jw"; jx: "ac.jx"; jy: "ac.jy"; jz: "ac.jz"; ka: "ac.ka"; kb: "ac.kb"; kc: "ac.kc"; kd: "ac.kd"; ke: "ac.ke"; kf: "ac.kf"; kg: "ac.kg"; kh: "ac.kh"; ki: "ac.ki"; kj: "ac.kj"; kk: "ac.kk"; kl: "ac.kl"; km: "ac.km"; kn: "ac.kn"; ko: "ac.ko"; kp: "ac.kp"; kq: "ac.kq"; kr: "ac.kr"; ks: "ac.ks"; kt: "ac.kt"; ku: "ac.ku"; kv: "ac.kv"; kw: "ac.kw"; kx: "ac.kx"; ky: "ac.ky"; kz: "ac.kz"; la: "ac.la"; lb: "ac.lb"; lc: "ac.lc"; ld: "ac.ld"; le: "ac.le"; lf: "ac.lf"; lg: "ac.lg"; lh: "ac.lh"; li: "ac.li"; lj: "ac.lj"; lk: "ac.lk"; ll: "ac.ll"; lm: "ac.lm"; ln: "ac.ln"; lo: "ac.lo"; lp: "ac.lp"; lq: "ac.lq"; lr: "ac.lr"; ls: "ac.ls"; lt: "ac.lt"; lu: "ac.lu"; lv: "ac.lv"; lw: "ac.lw"; lx: "ac.lx"; ly: "ac.ly"; lz: "ac.lz"; ma: "ac.ma"; mb: "ac.mb"; mc: "ac.mc"; md: "ac.md"; me: "ac.me"; mf: "ac.mf"; mg: "ac.mg"; mh: "ac.mh"; mi: "ac.mi"; mj: "ac.mj"; mk: "ac.mk"; ml: "ac.ml"; mm: "ac.mm"; mn: "ac.mn"; mo: "ac.mo"; mp: "ac.mp"; mq: "ac.mq"; mr: "ac.mr"; ms: "ac.ms"; mt: "ac.mt"; mu: "ac.mu"; mv: "ac.mv"; mw: "ac.mw"; mx: "ac.mx"; my: "ac.my"; mz: "ac.mz"; na: "ac.na"; nb: "ac.nb"; nc: "ac.nc"; nd: "ac.nd"; ne: "ac.ne"; nf: "ac.nf"; ng: "ac.ng"; nh: "ac.nh"; ni: "ac.ni"; nj: "ac.nj"; nk: "ac.nk"; nl: "ac.nl"; nm: "ac.nm"; nn: "ac.nn"; no: "ac.no"; np: "ac.np"; nq: "ac.nq"; nr: "ac.nr"; ns: "ac.ns"; nt: "ac.nt"; nu: "ac.nu"; nv: "ac.nv"; nw: "ac.nw"; nx: "ac.nx"; ny: "ac.ny"; nz: "ac.nz"; oa: "ac.oa"; ob: "ac.ob"; oc: "ac.oc"; od: "ac.od"; oe: "ac.oe"; of: "ac.of"; og: "ac.og"; oh: "ac.oh"; oi: "ac.oi"; oj: "ac.oj"; ok: "ac.ok"; ol: "ac.ol"; om: "ac.om"; on: "ac.on"; oo: "ac.oo"; op: "ac.op"; oq: "ac.oq"; or: "ac.or"; os: "ac.os"; ot: "ac.ot"; ou: "ac.ou"; ov: "ac.ov"; ow: "ac.ow"; ox: "ac.ox"; oy: "ac.oy"; oz: "ac.oz"; pa: "ac.pa"; pb: "ac.pb"; pc: "ac.pc"; pd: "ac.pd"; pe: "ac.pe"; pf: "ac.pf"; pg: "ac.pg"; ph: "ac.ph"; pi: "ac.pi"; pj: "ac.pj"; pk: "ac.pk"; pl: "ac.pl"; pm: "ac.pm"; pn: "ac.pn"; po: "ac.po"; pp: "ac.pp"; pq: "ac.pq"; pr: "ac.pr"; ps: "ac.ps"; pt: "ac.pt"; pu: "ac.pu"; pv: "ac.pv"; pw: "ac.pw"; px: "ac.px"; py: "ac.py"; pz: "ac.pz"; qa: "ac.qa"; qb: "ac.qb"; qc: "ac.qc"; qd: "ac.qd"; qe: "ac.qe"; qf: "ac.qf"; qg: "ac.qg"; qh: "ac.qh"; qi: "ac.qi"; qj: "ac.qj"; qk: "ac.qk"; ql: "ac.ql"; qm: "ac.qm"; qn: "ac.qn"; qo: "ac.qo"; qp: "ac.qp"; qq: "ac.qq"; qr: "ac.qr"; qs: "ac.qs"; qt: "ac.qt"; qu: "ac.qu"; qv: "ac.qv"; qw: "ac.qw"; qx: "ac.qx"; qy: "ac.qy"; qz: "ac.qz"; ra: "ac.ra"; rb: "ac.rb"; rc: "ac.rc"; rd: "ac.rd"; re: "ac.re"; rf: "ac.rf"; rg: "ac.rg"; rh: "ac.rh"; ri: "ac.ri"; rj: "ac.rj"; rk: "ac.rk"; rl: "ac.rl"; rm: "ac.rm"; rn: "ac.rn"; ro: "ac.ro"; rp: "ac.rp"; rq: "ac.rq"; rr: "ac.rr"; rs: "ac.rs"; rt: "ac.rt"; ru: "ac.ru"; rv: "ac.rv"; rw: "ac.rw"; rx: "ac.rx"; ry: "ac.ry"; rz: "ac.rz"; sa: "ac.sa"; sb: "ac.sb"; sc: "ac.sc"; sd: "ac.sd"; se: "ac.se"; sf: "ac.sf"; sg: "ac.sg"; sh: "ac.sh"; si: "ac.si"; sj: "ac.sj"; sk: "ac.sk"; sl: "ac.sl"; sm: "ac.sm"; sn: "ac.sn"; so: "ac.so"; sp: "ac.sp"; sq: "ac.sq"; sr: "ac.sr"; ss: "ac.ss"; st: "ac.st"; su: "ac.su"; sv: "ac.sv"; sw: "ac.sw"; sx: "ac.sx"; sy: "ac.sy"; sz: "ac.sz"; ta: "ac.ta"; tb: "ac.tb"; tc: "ac.tc"; td: "ac.td"; te: "ac.te"; tf: "ac.tf"; tg: "ac.tg"; th: "ac.th"; ti: "ac.ti"; tj: "ac.tj"; tk: "ac.tk"; tl: "ac.tl"; tm: "ac.tm"; tn: "ac.tn"; to: "ac.to"; tp: "ac.tp"; tq: "ac.tq"; tr: "ac.tr"; ts: "ac.ts"; tt: "ac.tt"; tu: "ac.tu"; tv: "ac.tv"; tw: "ac.tw"; tx: "ac.tx"; ty: "ac.ty"; tz: "ac.tz"; ua: "ac.ua"; ub: "ac.ub"; uc: "ac.uc"; ud: "ac.ud"; ue: "ac.ue"; uf: "ac.uf"; ug: "ac.ug"; uh: "ac.uh"; ui: "ac.ui"; uj: "ac.uj"; uk: "ac.uk"; ul: "ac.ul"; um: "ac.um"; un: "ac.un"; uo: "ac.uo"; up: "ac.up"; uq: "ac.uq"; ur: "ac.ur"; us: "ac.us"; ut: "ac.ut"; uu: "ac.uu"; uv: "ac.uv"; uw: "ac.uw"; ux: "ac.ux"; uy: "ac.uy"; uz: "ac.uz"; va: "ac.va"; vb: "ac.vb"; vc: "ac.vc"; vd: "ac.vd"; ve: "ac.ve"; vf: "ac.vf"; vg: "ac.vg"; vh: "ac.vh"; vi: "ac.vi"; vj: "ac.vj"; vk: "ac.vk"; vl: "ac.vl"; vm: "ac.vm"; vn: "ac.vn"; vo: "ac.vo"; vp: "ac.vp"; vq: "ac.vq"; vr: "ac.vr"; vs: "ac.vs"; vt: "ac.vt"; vu: "ac.vu"; vv: "ac.vv"; vw: "ac.vw"; vx: "ac.vx"; vy: "ac.vy"; vz: "ac.vz"; wa: "ac.wa"; wb: "ac.wb"; wc: "ac.wc"; wd: "ac.wd"; we: "ac.we"; wf: "ac.wf"; wg: "ac.wg"; wh: "ac.wh"; wi: "ac.wi"; wj: "ac.wj"; wk: "ac.wk"; wl: "ac.wl"; wm: "ac.wm"; wn: "ac.wn"; wo: "ac.wo"; wp: "ac.wp"; wq: "ac.wq"; wr: "ac.wr"; ws: "ac.ws"; wt: "ac.wt"; wu: "ac.wu"; wv: "ac.wv"; ww: "ac.ww"; wx: "ac.wx"; wy: "ac.wy"; wz: "ac.wz"; xa: "ac.xa"; xb: "ac.xb"; xc: "ac.xc"; xd: "ac.xd"; xe: "ac.xe"; xf: "ac.xf"; xg: "ac.xg"; xh: "ac.xh"; xi: "ac.xi"; xj: "ac.xj"; xk: "ac.xk"; xl: "ac.xl"; xm: "ac.xm"; xn: "ac.xn"; xo: "ac.xo"; xp: "ac.xp"; xq: "ac.xq"; xr: "ac.xr"; xs: "ac.xs"; xt: "ac.xt"; xu: "ac.xu"; xv: "ac.xv"; xw: "ac.xw"; xx: "ac.xx"; xy: "ac.xy"; xz: "ac.xz"; ya: "ac.ya"; yb: "ac.yb"; yc: "ac.yc"; yd: "ac.yd"; ye: "ac.ye"; yf: "ac.yf"; yg: "ac.yg"; yh: "ac.yh"; yi: "ac.yi"; yj: "ac.yj"; yk: "ac.yk"; yl: "ac.yl"; ym: "ac.ym"; yn: "ac.yn"; yo: "ac.yo"; yp: "ac.yp"; yq: "ac.yq"; yr: "ac.yr"; ys: "ac.ys"; yt: "ac.yt"; yu: "ac.yu"; yv: "ac.yv"; yw: "ac.yw"; yx: "ac.yx"; yy: "ac.yy"; yz: "ac.yz"; za: "ac.za"; zb: "ac.zb"; zc: "ac.zc"; zd: "ac.zd"; ze: "ac.ze"; zf: "ac.zf"; zg: "ac.zg"; zh: "ac.zh"; zi: "ac.zi"; zj: "ac.zj"; zk: "ac.zk"; zl: "ac.zl"; zm: "ac.zm"; zn: "ac.zn"; zo: "ac.zo"; zp: "ac.zp"; zq: "ac.zq"; zr: "ac.zr"; zs: "ac.zs"; zt: "ac.zt"; zu: "ac.zu"; zv: "ac.zv"; zw: "ac.zw"; zx: "ac.zx"; zy: "ac.zy"; zz: "ac.zz"; }; ad: { aa: "ad.aa"; ab: "ad.ab"; ac: "ad.ac"; ad: "ad.ad"; ae: "ad.ae"; af: "ad.af"; ag: "ad.ag"; ah: "ad.ah"; ai: "ad.ai"; aj: "ad.aj"; ak: "ad.ak"; al: "ad.al"; am: "ad.am"; an: "ad.an"; ao: "ad.ao"; ap: "ad.ap"; aq: "ad.aq"; ar: "ad.ar"; as: "ad.as"; at: "ad.at"; au: "ad.au"; av: "ad.av"; aw: "ad.aw"; ax: "ad.ax"; ay: "ad.ay"; az: "ad.az"; ba: "ad.ba"; bb: "ad.bb"; bc: "ad.bc"; bd: "ad.bd"; be: "ad.be"; bf: "ad.bf"; bg: "ad.bg"; bh: "ad.bh"; bi: "ad.bi"; bj: "ad.bj"; bk: "ad.bk"; bl: "ad.bl"; bm: "ad.bm"; bn: "ad.bn"; bo: "ad.bo"; bp: "ad.bp"; bq: "ad.bq"; br: "ad.br"; bs: "ad.bs"; bt: "ad.bt"; bu: "ad.bu"; bv: "ad.bv"; bw: "ad.bw"; bx: "ad.bx"; by: "ad.by"; bz: "ad.bz"; ca: "ad.ca"; cb: "ad.cb"; cc: "ad.cc"; cd: "ad.cd"; ce: "ad.ce"; cf: "ad.cf"; cg: "ad.cg"; ch: "ad.ch"; ci: "ad.ci"; cj: "ad.cj"; ck: "ad.ck"; cl: "ad.cl"; cm: "ad.cm"; cn: "ad.cn"; co: "ad.co"; cp: "ad.cp"; cq: "ad.cq"; cr: "ad.cr"; cs: "ad.cs"; ct: "ad.ct"; cu: "ad.cu"; cv: "ad.cv"; cw: "ad.cw"; cx: "ad.cx"; cy: "ad.cy"; cz: "ad.cz"; da: "ad.da"; db: "ad.db"; dc: "ad.dc"; dd: "ad.dd"; de: "ad.de"; df: "ad.df"; dg: "ad.dg"; dh: "ad.dh"; di: "ad.di"; dj: "ad.dj"; dk: "ad.dk"; dl: "ad.dl"; dm: "ad.dm"; dn: "ad.dn"; do: "ad.do"; dp: "ad.dp"; dq: "ad.dq"; dr: "ad.dr"; ds: "ad.ds"; dt: "ad.dt"; du: "ad.du"; dv: "ad.dv"; dw: "ad.dw"; dx: "ad.dx"; dy: "ad.dy"; dz: "ad.dz"; ea: "ad.ea"; eb: "ad.eb"; ec: "ad.ec"; ed: "ad.ed"; ee: "ad.ee"; ef: "ad.ef"; eg: "ad.eg"; eh: "ad.eh"; ei: "ad.ei"; ej: "ad.ej"; ek: "ad.ek"; el: "ad.el"; em: "ad.em"; en: "ad.en"; eo: "ad.eo"; ep: "ad.ep"; eq: "ad.eq"; er: "ad.er"; es: "ad.es"; et: "ad.et"; eu: "ad.eu"; ev: "ad.ev"; ew: "ad.ew"; ex: "ad.ex"; ey: "ad.ey"; ez: "ad.ez"; fa: "ad.fa"; fb: "ad.fb"; fc: "ad.fc"; fd: "ad.fd"; fe: "ad.fe"; ff: "ad.ff"; fg: "ad.fg"; fh: "ad.fh"; fi: "ad.fi"; fj: "ad.fj"; fk: "ad.fk"; fl: "ad.fl"; fm: "ad.fm"; fn: "ad.fn"; fo: "ad.fo"; fp: "ad.fp"; fq: "ad.fq"; fr: "ad.fr"; fs: "ad.fs"; ft: "ad.ft"; fu: "ad.fu"; fv: "ad.fv"; fw: "ad.fw"; fx: "ad.fx"; fy: "ad.fy"; fz: "ad.fz"; ga: "ad.ga"; gb: "ad.gb"; gc: "ad.gc"; gd: "ad.gd"; ge: "ad.ge"; gf: "ad.gf"; gg: "ad.gg"; gh: "ad.gh"; gi: "ad.gi"; gj: "ad.gj"; gk: "ad.gk"; gl: "ad.gl"; gm: "ad.gm"; gn: "ad.gn"; go: "ad.go"; gp: "ad.gp"; gq: "ad.gq"; gr: "ad.gr"; gs: "ad.gs"; gt: "ad.gt"; gu: "ad.gu"; gv: "ad.gv"; gw: "ad.gw"; gx: "ad.gx"; gy: "ad.gy"; gz: "ad.gz"; ha: "ad.ha"; hb: "ad.hb"; hc: "ad.hc"; hd: "ad.hd"; he: "ad.he"; hf: "ad.hf"; hg: "ad.hg"; hh: "ad.hh"; hi: "ad.hi"; hj: "ad.hj"; hk: "ad.hk"; hl: "ad.hl"; hm: "ad.hm"; hn: "ad.hn"; ho: "ad.ho"; hp: "ad.hp"; hq: "ad.hq"; hr: "ad.hr"; hs: "ad.hs"; ht: "ad.ht"; hu: "ad.hu"; hv: "ad.hv"; hw: "ad.hw"; hx: "ad.hx"; hy: "ad.hy"; hz: "ad.hz"; ia: "ad.ia"; ib: "ad.ib"; ic: "ad.ic"; id: "ad.id"; ie: "ad.ie"; if: "ad.if"; ig: "ad.ig"; ih: "ad.ih"; ii: "ad.ii"; ij: "ad.ij"; ik: "ad.ik"; il: "ad.il"; im: "ad.im"; in: "ad.in"; io: "ad.io"; ip: "ad.ip"; iq: "ad.iq"; ir: "ad.ir"; is: "ad.is"; it: "ad.it"; iu: "ad.iu"; iv: "ad.iv"; iw: "ad.iw"; ix: "ad.ix"; iy: "ad.iy"; iz: "ad.iz"; ja: "ad.ja"; jb: "ad.jb"; jc: "ad.jc"; jd: "ad.jd"; je: "ad.je"; jf: "ad.jf"; jg: "ad.jg"; jh: "ad.jh"; ji: "ad.ji"; jj: "ad.jj"; jk: "ad.jk"; jl: "ad.jl"; jm: "ad.jm"; jn: "ad.jn"; jo: "ad.jo"; jp: "ad.jp"; jq: "ad.jq"; jr: "ad.jr"; js: "ad.js"; jt: "ad.jt"; ju: "ad.ju"; jv: "ad.jv"; jw: "ad.jw"; jx: "ad.jx"; jy: "ad.jy"; jz: "ad.jz"; ka: "ad.ka"; kb: "ad.kb"; kc: "ad.kc"; kd: "ad.kd"; ke: "ad.ke"; kf: "ad.kf"; kg: "ad.kg"; kh: "ad.kh"; ki: "ad.ki"; kj: "ad.kj"; kk: "ad.kk"; kl: "ad.kl"; km: "ad.km"; kn: "ad.kn"; ko: "ad.ko"; kp: "ad.kp"; kq: "ad.kq"; kr: "ad.kr"; ks: "ad.ks"; kt: "ad.kt"; ku: "ad.ku"; kv: "ad.kv"; kw: "ad.kw"; kx: "ad.kx"; ky: "ad.ky"; kz: "ad.kz"; la: "ad.la"; lb: "ad.lb"; lc: "ad.lc"; ld: "ad.ld"; le: "ad.le"; lf: "ad.lf"; lg: "ad.lg"; lh: "ad.lh"; li: "ad.li"; lj: "ad.lj"; lk: "ad.lk"; ll: "ad.ll"; lm: "ad.lm"; ln: "ad.ln"; lo: "ad.lo"; lp: "ad.lp"; lq: "ad.lq"; lr: "ad.lr"; ls: "ad.ls"; lt: "ad.lt"; lu: "ad.lu"; lv: "ad.lv"; lw: "ad.lw"; lx: "ad.lx"; ly: "ad.ly"; lz: "ad.lz"; ma: "ad.ma"; mb: "ad.mb"; mc: "ad.mc"; md: "ad.md"; me: "ad.me"; mf: "ad.mf"; mg: "ad.mg"; mh: "ad.mh"; mi: "ad.mi"; mj: "ad.mj"; mk: "ad.mk"; ml: "ad.ml"; mm: "ad.mm"; mn: "ad.mn"; mo: "ad.mo"; mp: "ad.mp"; mq: "ad.mq"; mr: "ad.mr"; ms: "ad.ms"; mt: "ad.mt"; mu: "ad.mu"; mv: "ad.mv"; mw: "ad.mw"; mx: "ad.mx"; my: "ad.my"; mz: "ad.mz"; na: "ad.na"; nb: "ad.nb"; nc: "ad.nc"; nd: "ad.nd"; ne: "ad.ne"; nf: "ad.nf"; ng: "ad.ng"; nh: "ad.nh"; ni: "ad.ni"; nj: "ad.nj"; nk: "ad.nk"; nl: "ad.nl"; nm: "ad.nm"; nn: "ad.nn"; no: "ad.no"; np: "ad.np"; nq: "ad.nq"; nr: "ad.nr"; ns: "ad.ns"; nt: "ad.nt"; nu: "ad.nu"; nv: "ad.nv"; nw: "ad.nw"; nx: "ad.nx"; ny: "ad.ny"; nz: "ad.nz"; oa: "ad.oa"; ob: "ad.ob"; oc: "ad.oc"; od: "ad.od"; oe: "ad.oe"; of: "ad.of"; og: "ad.og"; oh: "ad.oh"; oi: "ad.oi"; oj: "ad.oj"; ok: "ad.ok"; ol: "ad.ol"; om: "ad.om"; on: "ad.on"; oo: "ad.oo"; op: "ad.op"; oq: "ad.oq"; or: "ad.or"; os: "ad.os"; ot: "ad.ot"; ou: "ad.ou"; ov: "ad.ov"; ow: "ad.ow"; ox: "ad.ox"; oy: "ad.oy"; oz: "ad.oz"; pa: "ad.pa"; pb: "ad.pb"; pc: "ad.pc"; pd: "ad.pd"; pe: "ad.pe"; pf: "ad.pf"; pg: "ad.pg"; ph: "ad.ph"; pi: "ad.pi"; pj: "ad.pj"; pk: "ad.pk"; pl: "ad.pl"; pm: "ad.pm"; pn: "ad.pn"; po: "ad.po"; pp: "ad.pp"; pq: "ad.pq"; pr: "ad.pr"; ps: "ad.ps"; pt: "ad.pt"; pu: "ad.pu"; pv: "ad.pv"; pw: "ad.pw"; px: "ad.px"; py: "ad.py"; pz: "ad.pz"; qa: "ad.qa"; qb: "ad.qb"; qc: "ad.qc"; qd: "ad.qd"; qe: "ad.qe"; qf: "ad.qf"; qg: "ad.qg"; qh: "ad.qh"; qi: "ad.qi"; qj: "ad.qj"; qk: "ad.qk"; ql: "ad.ql"; qm: "ad.qm"; qn: "ad.qn"; qo: "ad.qo"; qp: "ad.qp"; qq: "ad.qq"; qr: "ad.qr"; qs: "ad.qs"; qt: "ad.qt"; qu: "ad.qu"; qv: "ad.qv"; qw: "ad.qw"; qx: "ad.qx"; qy: "ad.qy"; qz: "ad.qz"; ra: "ad.ra"; rb: "ad.rb"; rc: "ad.rc"; rd: "ad.rd"; re: "ad.re"; rf: "ad.rf"; rg: "ad.rg"; rh: "ad.rh"; ri: "ad.ri"; rj: "ad.rj"; rk: "ad.rk"; rl: "ad.rl"; rm: "ad.rm"; rn: "ad.rn"; ro: "ad.ro"; rp: "ad.rp"; rq: "ad.rq"; rr: "ad.rr"; rs: "ad.rs"; rt: "ad.rt"; ru: "ad.ru"; rv: "ad.rv"; rw: "ad.rw"; rx: "ad.rx"; ry: "ad.ry"; rz: "ad.rz"; sa: "ad.sa"; sb: "ad.sb"; sc: "ad.sc"; sd: "ad.sd"; se: "ad.se"; sf: "ad.sf"; sg: "ad.sg"; sh: "ad.sh"; si: "ad.si"; sj: "ad.sj"; sk: "ad.sk"; sl: "ad.sl"; sm: "ad.sm"; sn: "ad.sn"; so: "ad.so"; sp: "ad.sp"; sq: "ad.sq"; sr: "ad.sr"; ss: "ad.ss"; st: "ad.st"; su: "ad.su"; sv: "ad.sv"; sw: "ad.sw"; sx: "ad.sx"; sy: "ad.sy"; sz: "ad.sz"; ta: "ad.ta"; tb: "ad.tb"; tc: "ad.tc"; td: "ad.td"; te: "ad.te"; tf: "ad.tf"; tg: "ad.tg"; th: "ad.th"; ti: "ad.ti"; tj: "ad.tj"; tk: "ad.tk"; tl: "ad.tl"; tm: "ad.tm"; tn: "ad.tn"; to: "ad.to"; tp: "ad.tp"; tq: "ad.tq"; tr: "ad.tr"; ts: "ad.ts"; tt: "ad.tt"; tu: "ad.tu"; tv: "ad.tv"; tw: "ad.tw"; tx: "ad.tx"; ty: "ad.ty"; tz: "ad.tz"; ua: "ad.ua"; ub: "ad.ub"; uc: "ad.uc"; ud: "ad.ud"; ue: "ad.ue"; uf: "ad.uf"; ug: "ad.ug"; uh: "ad.uh"; ui: "ad.ui"; uj: "ad.uj"; uk: "ad.uk"; ul: "ad.ul"; um: "ad.um"; un: "ad.un"; uo: "ad.uo"; up: "ad.up"; uq: "ad.uq"; ur: "ad.ur"; us: "ad.us"; ut: "ad.ut"; uu: "ad.uu"; uv: "ad.uv"; uw: "ad.uw"; ux: "ad.ux"; uy: "ad.uy"; uz: "ad.uz"; va: "ad.va"; vb: "ad.vb"; vc: "ad.vc"; vd: "ad.vd"; ve: "ad.ve"; vf: "ad.vf"; vg: "ad.vg"; vh: "ad.vh"; vi: "ad.vi"; vj: "ad.vj"; vk: "ad.vk"; vl: "ad.vl"; vm: "ad.vm"; vn: "ad.vn"; vo: "ad.vo"; vp: "ad.vp"; vq: "ad.vq"; vr: "ad.vr"; vs: "ad.vs"; vt: "ad.vt"; vu: "ad.vu"; vv: "ad.vv"; vw: "ad.vw"; vx: "ad.vx"; vy: "ad.vy"; vz: "ad.vz"; wa: "ad.wa"; wb: "ad.wb"; wc: "ad.wc"; wd: "ad.wd"; we: "ad.we"; wf: "ad.wf"; wg: "ad.wg"; wh: "ad.wh"; wi: "ad.wi"; wj: "ad.wj"; wk: "ad.wk"; wl: "ad.wl"; wm: "ad.wm"; wn: "ad.wn"; wo: "ad.wo"; wp: "ad.wp"; wq: "ad.wq"; wr: "ad.wr"; ws: "ad.ws"; wt: "ad.wt"; wu: "ad.wu"; wv: "ad.wv"; ww: "ad.ww"; wx: "ad.wx"; wy: "ad.wy"; wz: "ad.wz"; xa: "ad.xa"; xb: "ad.xb"; xc: "ad.xc"; xd: "ad.xd"; xe: "ad.xe"; xf: "ad.xf"; xg: "ad.xg"; xh: "ad.xh"; xi: "ad.xi"; xj: "ad.xj"; xk: "ad.xk"; xl: "ad.xl"; xm: "ad.xm"; xn: "ad.xn"; xo: "ad.xo"; xp: "ad.xp"; xq: "ad.xq"; xr: "ad.xr"; xs: "ad.xs"; xt: "ad.xt"; xu: "ad.xu"; xv: "ad.xv"; xw: "ad.xw"; xx: "ad.xx"; xy: "ad.xy"; xz: "ad.xz"; ya: "ad.ya"; yb: "ad.yb"; yc: "ad.yc"; yd: "ad.yd"; ye: "ad.ye"; yf: "ad.yf"; yg: "ad.yg"; yh: "ad.yh"; yi: "ad.yi"; yj: "ad.yj"; yk: "ad.yk"; yl: "ad.yl"; ym: "ad.ym"; yn: "ad.yn"; yo: "ad.yo"; yp: "ad.yp"; yq: "ad.yq"; yr: "ad.yr"; ys: "ad.ys"; yt: "ad.yt"; yu: "ad.yu"; yv: "ad.yv"; yw: "ad.yw"; yx: "ad.yx"; yy: "ad.yy"; yz: "ad.yz"; za: "ad.za"; zb: "ad.zb"; zc: "ad.zc"; zd: "ad.zd"; ze: "ad.ze"; zf: "ad.zf"; zg: "ad.zg"; zh: "ad.zh"; zi: "ad.zi"; zj: "ad.zj"; zk: "ad.zk"; zl: "ad.zl"; zm: "ad.zm"; zn: "ad.zn"; zo: "ad.zo"; zp: "ad.zp"; zq: "ad.zq"; zr: "ad.zr"; zs: "ad.zs"; zt: "ad.zt"; zu: "ad.zu"; zv: "ad.zv"; zw: "ad.zw"; zx: "ad.zx"; zy: "ad.zy"; zz: "ad.zz"; }; ae: { aa: "ae.aa"; ab: "ae.ab"; ac: "ae.ac"; ad: "ae.ad"; ae: "ae.ae"; af: "ae.af"; ag: "ae.ag"; ah: "ae.ah"; ai: "ae.ai"; aj: "ae.aj"; ak: "ae.ak"; al: "ae.al"; am: "ae.am"; an: "ae.an"; ao: "ae.ao"; ap: "ae.ap"; aq: "ae.aq"; ar: "ae.ar"; as: "ae.as"; at: "ae.at"; au: "ae.au"; av: "ae.av"; aw: "ae.aw"; ax: "ae.ax"; ay: "ae.ay"; az: "ae.az"; ba: "ae.ba"; bb: "ae.bb"; bc: "ae.bc"; bd: "ae.bd"; be: "ae.be"; bf: "ae.bf"; bg: "ae.bg"; bh: "ae.bh"; bi: "ae.bi"; bj: "ae.bj"; bk: "ae.bk"; bl: "ae.bl"; bm: "ae.bm"; bn: "ae.bn"; bo: "ae.bo"; bp: "ae.bp"; bq: "ae.bq"; br: "ae.br"; bs: "ae.bs"; bt: "ae.bt"; bu: "ae.bu"; bv: "ae.bv"; bw: "ae.bw"; bx: "ae.bx"; by: "ae.by"; bz: "ae.bz"; ca: "ae.ca"; cb: "ae.cb"; cc: "ae.cc"; cd: "ae.cd"; ce: "ae.ce"; cf: "ae.cf"; cg: "ae.cg"; ch: "ae.ch"; ci: "ae.ci"; cj: "ae.cj"; ck: "ae.ck"; cl: "ae.cl"; cm: "ae.cm"; cn: "ae.cn"; co: "ae.co"; cp: "ae.cp"; cq: "ae.cq"; cr: "ae.cr"; cs: "ae.cs"; ct: "ae.ct"; cu: "ae.cu"; cv: "ae.cv"; cw: "ae.cw"; cx: "ae.cx"; cy: "ae.cy"; cz: "ae.cz"; da: "ae.da"; db: "ae.db"; dc: "ae.dc"; dd: "ae.dd"; de: "ae.de"; df: "ae.df"; dg: "ae.dg"; dh: "ae.dh"; di: "ae.di"; dj: "ae.dj"; dk: "ae.dk"; dl: "ae.dl"; dm: "ae.dm"; dn: "ae.dn"; do: "ae.do"; dp: "ae.dp"; dq: "ae.dq"; dr: "ae.dr"; ds: "ae.ds"; dt: "ae.dt"; du: "ae.du"; dv: "ae.dv"; dw: "ae.dw"; dx: "ae.dx"; dy: "ae.dy"; dz: "ae.dz"; ea: "ae.ea"; eb: "ae.eb"; ec: "ae.ec"; ed: "ae.ed"; ee: "ae.ee"; ef: "ae.ef"; eg: "ae.eg"; eh: "ae.eh"; ei: "ae.ei"; ej: "ae.ej"; ek: "ae.ek"; el: "ae.el"; em: "ae.em"; en: "ae.en"; eo: "ae.eo"; ep: "ae.ep"; eq: "ae.eq"; er: "ae.er"; es: "ae.es"; et: "ae.et"; eu: "ae.eu"; ev: "ae.ev"; ew: "ae.ew"; ex: "ae.ex"; ey: "ae.ey"; ez: "ae.ez"; fa: "ae.fa"; fb: "ae.fb"; fc: "ae.fc"; fd: "ae.fd"; fe: "ae.fe"; ff: "ae.ff"; fg: "ae.fg"; fh: "ae.fh"; fi: "ae.fi"; fj: "ae.fj"; fk: "ae.fk"; fl: "ae.fl"; fm: "ae.fm"; fn: "ae.fn"; fo: "ae.fo"; fp: "ae.fp"; fq: "ae.fq"; fr: "ae.fr"; fs: "ae.fs"; ft: "ae.ft"; fu: "ae.fu"; fv: "ae.fv"; fw: "ae.fw"; fx: "ae.fx"; fy: "ae.fy"; fz: "ae.fz"; ga: "ae.ga"; gb: "ae.gb"; gc: "ae.gc"; gd: "ae.gd"; ge: "ae.ge"; gf: "ae.gf"; gg: "ae.gg"; gh: "ae.gh"; gi: "ae.gi"; gj: "ae.gj"; gk: "ae.gk"; gl: "ae.gl"; gm: "ae.gm"; gn: "ae.gn"; go: "ae.go"; gp: "ae.gp"; gq: "ae.gq"; gr: "ae.gr"; gs: "ae.gs"; gt: "ae.gt"; gu: "ae.gu"; gv: "ae.gv"; gw: "ae.gw"; gx: "ae.gx"; gy: "ae.gy"; gz: "ae.gz"; ha: "ae.ha"; hb: "ae.hb"; hc: "ae.hc"; hd: "ae.hd"; he: "ae.he"; hf: "ae.hf"; hg: "ae.hg"; hh: "ae.hh"; hi: "ae.hi"; hj: "ae.hj"; hk: "ae.hk"; hl: "ae.hl"; hm: "ae.hm"; hn: "ae.hn"; ho: "ae.ho"; hp: "ae.hp"; hq: "ae.hq"; hr: "ae.hr"; hs: "ae.hs"; ht: "ae.ht"; hu: "ae.hu"; hv: "ae.hv"; hw: "ae.hw"; hx: "ae.hx"; hy: "ae.hy"; hz: "ae.hz"; ia: "ae.ia"; ib: "ae.ib"; ic: "ae.ic"; id: "ae.id"; ie: "ae.ie"; if: "ae.if"; ig: "ae.ig"; ih: "ae.ih"; ii: "ae.ii"; ij: "ae.ij"; ik: "ae.ik"; il: "ae.il"; im: "ae.im"; in: "ae.in"; io: "ae.io"; ip: "ae.ip"; iq: "ae.iq"; ir: "ae.ir"; is: "ae.is"; it: "ae.it"; iu: "ae.iu"; iv: "ae.iv"; iw: "ae.iw"; ix: "ae.ix"; iy: "ae.iy"; iz: "ae.iz"; ja: "ae.ja"; jb: "ae.jb"; jc: "ae.jc"; jd: "ae.jd"; je: "ae.je"; jf: "ae.jf"; jg: "ae.jg"; jh: "ae.jh"; ji: "ae.ji"; jj: "ae.jj"; jk: "ae.jk"; jl: "ae.jl"; jm: "ae.jm"; jn: "ae.jn"; jo: "ae.jo"; jp: "ae.jp"; jq: "ae.jq"; jr: "ae.jr"; js: "ae.js"; jt: "ae.jt"; ju: "ae.ju"; jv: "ae.jv"; jw: "ae.jw"; jx: "ae.jx"; jy: "ae.jy"; jz: "ae.jz"; ka: "ae.ka"; kb: "ae.kb"; kc: "ae.kc"; kd: "ae.kd"; ke: "ae.ke"; kf: "ae.kf"; kg: "ae.kg"; kh: "ae.kh"; ki: "ae.ki"; kj: "ae.kj"; kk: "ae.kk"; kl: "ae.kl"; km: "ae.km"; kn: "ae.kn"; ko: "ae.ko"; kp: "ae.kp"; kq: "ae.kq"; kr: "ae.kr"; ks: "ae.ks"; kt: "ae.kt"; ku: "ae.ku"; kv: "ae.kv"; kw: "ae.kw"; kx: "ae.kx"; ky: "ae.ky"; kz: "ae.kz"; la: "ae.la"; lb: "ae.lb"; lc: "ae.lc"; ld: "ae.ld"; le: "ae.le"; lf: "ae.lf"; lg: "ae.lg"; lh: "ae.lh"; li: "ae.li"; lj: "ae.lj"; lk: "ae.lk"; ll: "ae.ll"; lm: "ae.lm"; ln: "ae.ln"; lo: "ae.lo"; lp: "ae.lp"; lq: "ae.lq"; lr: "ae.lr"; ls: "ae.ls"; lt: "ae.lt"; lu: "ae.lu"; lv: "ae.lv"; lw: "ae.lw"; lx: "ae.lx"; ly: "ae.ly"; lz: "ae.lz"; ma: "ae.ma"; mb: "ae.mb"; mc: "ae.mc"; md: "ae.md"; me: "ae.me"; mf: "ae.mf"; mg: "ae.mg"; mh: "ae.mh"; mi: "ae.mi"; mj: "ae.mj"; mk: "ae.mk"; ml: "ae.ml"; mm: "ae.mm"; mn: "ae.mn"; mo: "ae.mo"; mp: "ae.mp"; mq: "ae.mq"; mr: "ae.mr"; ms: "ae.ms"; mt: "ae.mt"; mu: "ae.mu"; mv: "ae.mv"; mw: "ae.mw"; mx: "ae.mx"; my: "ae.my"; mz: "ae.mz"; na: "ae.na"; nb: "ae.nb"; nc: "ae.nc"; nd: "ae.nd"; ne: "ae.ne"; nf: "ae.nf"; ng: "ae.ng"; nh: "ae.nh"; ni: "ae.ni"; nj: "ae.nj"; nk: "ae.nk"; nl: "ae.nl"; nm: "ae.nm"; nn: "ae.nn"; no: "ae.no"; np: "ae.np"; nq: "ae.nq"; nr: "ae.nr"; ns: "ae.ns"; nt: "ae.nt"; nu: "ae.nu"; nv: "ae.nv"; nw: "ae.nw"; nx: "ae.nx"; ny: "ae.ny"; nz: "ae.nz"; oa: "ae.oa"; ob: "ae.ob"; oc: "ae.oc"; od: "ae.od"; oe: "ae.oe"; of: "ae.of"; og: "ae.og"; oh: "ae.oh"; oi: "ae.oi"; oj: "ae.oj"; ok: "ae.ok"; ol: "ae.ol"; om: "ae.om"; on: "ae.on"; oo: "ae.oo"; op: "ae.op"; oq: "ae.oq"; or: "ae.or"; os: "ae.os"; ot: "ae.ot"; ou: "ae.ou"; ov: "ae.ov"; ow: "ae.ow"; ox: "ae.ox"; oy: "ae.oy"; oz: "ae.oz"; pa: "ae.pa"; pb: "ae.pb"; pc: "ae.pc"; pd: "ae.pd"; pe: "ae.pe"; pf: "ae.pf"; pg: "ae.pg"; ph: "ae.ph"; pi: "ae.pi"; pj: "ae.pj"; pk: "ae.pk"; pl: "ae.pl"; pm: "ae.pm"; pn: "ae.pn"; po: "ae.po"; pp: "ae.pp"; pq: "ae.pq"; pr: "ae.pr"; ps: "ae.ps"; pt: "ae.pt"; pu: "ae.pu"; pv: "ae.pv"; pw: "ae.pw"; px: "ae.px"; py: "ae.py"; pz: "ae.pz"; qa: "ae.qa"; qb: "ae.qb"; qc: "ae.qc"; qd: "ae.qd"; qe: "ae.qe"; qf: "ae.qf"; qg: "ae.qg"; qh: "ae.qh"; qi: "ae.qi"; qj: "ae.qj"; qk: "ae.qk"; ql: "ae.ql"; qm: "ae.qm"; qn: "ae.qn"; qo: "ae.qo"; qp: "ae.qp"; qq: "ae.qq"; qr: "ae.qr"; qs: "ae.qs"; qt: "ae.qt"; qu: "ae.qu"; qv: "ae.qv"; qw: "ae.qw"; qx: "ae.qx"; qy: "ae.qy"; qz: "ae.qz"; ra: "ae.ra"; rb: "ae.rb"; rc: "ae.rc"; rd: "ae.rd"; re: "ae.re"; rf: "ae.rf"; rg: "ae.rg"; rh: "ae.rh"; ri: "ae.ri"; rj: "ae.rj"; rk: "ae.rk"; rl: "ae.rl"; rm: "ae.rm"; rn: "ae.rn"; ro: "ae.ro"; rp: "ae.rp"; rq: "ae.rq"; rr: "ae.rr"; rs: "ae.rs"; rt: "ae.rt"; ru: "ae.ru"; rv: "ae.rv"; rw: "ae.rw"; rx: "ae.rx"; ry: "ae.ry"; rz: "ae.rz"; sa: "ae.sa"; sb: "ae.sb"; sc: "ae.sc"; sd: "ae.sd"; se: "ae.se"; sf: "ae.sf"; sg: "ae.sg"; sh: "ae.sh"; si: "ae.si"; sj: "ae.sj"; sk: "ae.sk"; sl: "ae.sl"; sm: "ae.sm"; sn: "ae.sn"; so: "ae.so"; sp: "ae.sp"; sq: "ae.sq"; sr: "ae.sr"; ss: "ae.ss"; st: "ae.st"; su: "ae.su"; sv: "ae.sv"; sw: "ae.sw"; sx: "ae.sx"; sy: "ae.sy"; sz: "ae.sz"; ta: "ae.ta"; tb: "ae.tb"; tc: "ae.tc"; td: "ae.td"; te: "ae.te"; tf: "ae.tf"; tg: "ae.tg"; th: "ae.th"; ti: "ae.ti"; tj: "ae.tj"; tk: "ae.tk"; tl: "ae.tl"; tm: "ae.tm"; tn: "ae.tn"; to: "ae.to"; tp: "ae.tp"; tq: "ae.tq"; tr: "ae.tr"; ts: "ae.ts"; tt: "ae.tt"; tu: "ae.tu"; tv: "ae.tv"; tw: "ae.tw"; tx: "ae.tx"; ty: "ae.ty"; tz: "ae.tz"; ua: "ae.ua"; ub: "ae.ub"; uc: "ae.uc"; ud: "ae.ud"; ue: "ae.ue"; uf: "ae.uf"; ug: "ae.ug"; uh: "ae.uh"; ui: "ae.ui"; uj: "ae.uj"; uk: "ae.uk"; ul: "ae.ul"; um: "ae.um"; un: "ae.un"; uo: "ae.uo"; up: "ae.up"; uq: "ae.uq"; ur: "ae.ur"; us: "ae.us"; ut: "ae.ut"; uu: "ae.uu"; uv: "ae.uv"; uw: "ae.uw"; ux: "ae.ux"; uy: "ae.uy"; uz: "ae.uz"; va: "ae.va"; vb: "ae.vb"; vc: "ae.vc"; vd: "ae.vd"; ve: "ae.ve"; vf: "ae.vf"; vg: "ae.vg"; vh: "ae.vh"; vi: "ae.vi"; vj: "ae.vj"; vk: "ae.vk"; vl: "ae.vl"; vm: "ae.vm"; vn: "ae.vn"; vo: "ae.vo"; vp: "ae.vp"; vq: "ae.vq"; vr: "ae.vr"; vs: "ae.vs"; vt: "ae.vt"; vu: "ae.vu"; vv: "ae.vv"; vw: "ae.vw"; vx: "ae.vx"; vy: "ae.vy"; vz: "ae.vz"; wa: "ae.wa"; wb: "ae.wb"; wc: "ae.wc"; wd: "ae.wd"; we: "ae.we"; wf: "ae.wf"; wg: "ae.wg"; wh: "ae.wh"; wi: "ae.wi"; wj: "ae.wj"; wk: "ae.wk"; wl: "ae.wl"; wm: "ae.wm"; wn: "ae.wn"; wo: "ae.wo"; wp: "ae.wp"; wq: "ae.wq"; wr: "ae.wr"; ws: "ae.ws"; wt: "ae.wt"; wu: "ae.wu"; wv: "ae.wv"; ww: "ae.ww"; wx: "ae.wx"; wy: "ae.wy"; wz: "ae.wz"; xa: "ae.xa"; xb: "ae.xb"; xc: "ae.xc"; xd: "ae.xd"; xe: "ae.xe"; xf: "ae.xf"; xg: "ae.xg"; xh: "ae.xh"; xi: "ae.xi"; xj: "ae.xj"; xk: "ae.xk"; xl: "ae.xl"; xm: "ae.xm"; xn: "ae.xn"; xo: "ae.xo"; xp: "ae.xp"; xq: "ae.xq"; xr: "ae.xr"; xs: "ae.xs"; xt: "ae.xt"; xu: "ae.xu"; xv: "ae.xv"; xw: "ae.xw"; xx: "ae.xx"; xy: "ae.xy"; xz: "ae.xz"; ya: "ae.ya"; yb: "ae.yb"; yc: "ae.yc"; yd: "ae.yd"; ye: "ae.ye"; yf: "ae.yf"; yg: "ae.yg"; yh: "ae.yh"; yi: "ae.yi"; yj: "ae.yj"; yk: "ae.yk"; yl: "ae.yl"; ym: "ae.ym"; yn: "ae.yn"; yo: "ae.yo"; yp: "ae.yp"; yq: "ae.yq"; yr: "ae.yr"; ys: "ae.ys"; yt: "ae.yt"; yu: "ae.yu"; yv: "ae.yv"; yw: "ae.yw"; yx: "ae.yx"; yy: "ae.yy"; yz: "ae.yz"; za: "ae.za"; zb: "ae.zb"; zc: "ae.zc"; zd: "ae.zd"; ze: "ae.ze"; zf: "ae.zf"; zg: "ae.zg"; zh: "ae.zh"; zi: "ae.zi"; zj: "ae.zj"; zk: "ae.zk"; zl: "ae.zl"; zm: "ae.zm"; zn: "ae.zn"; zo: "ae.zo"; zp: "ae.zp"; zq: "ae.zq"; zr: "ae.zr"; zs: "ae.zs"; zt: "ae.zt"; zu: "ae.zu"; zv: "ae.zv"; zw: "ae.zw"; zx: "ae.zx"; zy: "ae.zy"; zz: "ae.zz"; }; af: { aa: "af.aa"; ab: "af.ab"; ac: "af.ac"; ad: "af.ad"; ae: "af.ae"; af: "af.af"; ag: "af.ag"; ah: "af.ah"; ai: "af.ai"; aj: "af.aj"; ak: "af.ak"; al: "af.al"; am: "af.am"; an: "af.an"; ao: "af.ao"; ap: "af.ap"; aq: "af.aq"; ar: "af.ar"; as: "af.as"; at: "af.at"; au: "af.au"; av: "af.av"; aw: "af.aw"; ax: "af.ax"; ay: "af.ay"; az: "af.az"; ba: "af.ba"; bb: "af.bb"; bc: "af.bc"; bd: "af.bd"; be: "af.be"; bf: "af.bf"; bg: "af.bg"; bh: "af.bh"; bi: "af.bi"; bj: "af.bj"; bk: "af.bk"; bl: "af.bl"; bm: "af.bm"; bn: "af.bn"; bo: "af.bo"; bp: "af.bp"; bq: "af.bq"; br: "af.br"; bs: "af.bs"; bt: "af.bt"; bu: "af.bu"; bv: "af.bv"; bw: "af.bw"; bx: "af.bx"; by: "af.by"; bz: "af.bz"; ca: "af.ca"; cb: "af.cb"; cc: "af.cc"; cd: "af.cd"; ce: "af.ce"; cf: "af.cf"; cg: "af.cg"; ch: "af.ch"; ci: "af.ci"; cj: "af.cj"; ck: "af.ck"; cl: "af.cl"; cm: "af.cm"; cn: "af.cn"; co: "af.co"; cp: "af.cp"; cq: "af.cq"; cr: "af.cr"; cs: "af.cs"; ct: "af.ct"; cu: "af.cu"; cv: "af.cv"; cw: "af.cw"; cx: "af.cx"; cy: "af.cy"; cz: "af.cz"; da: "af.da"; db: "af.db"; dc: "af.dc"; dd: "af.dd"; de: "af.de"; df: "af.df"; dg: "af.dg"; dh: "af.dh"; di: "af.di"; dj: "af.dj"; dk: "af.dk"; dl: "af.dl"; dm: "af.dm"; dn: "af.dn"; do: "af.do"; dp: "af.dp"; dq: "af.dq"; dr: "af.dr"; ds: "af.ds"; dt: "af.dt"; du: "af.du"; dv: "af.dv"; dw: "af.dw"; dx: "af.dx"; dy: "af.dy"; dz: "af.dz"; ea: "af.ea"; eb: "af.eb"; ec: "af.ec"; ed: "af.ed"; ee: "af.ee"; ef: "af.ef"; eg: "af.eg"; eh: "af.eh"; ei: "af.ei"; ej: "af.ej"; ek: "af.ek"; el: "af.el"; em: "af.em"; en: "af.en"; eo: "af.eo"; ep: "af.ep"; eq: "af.eq"; er: "af.er"; es: "af.es"; et: "af.et"; eu: "af.eu"; ev: "af.ev"; ew: "af.ew"; ex: "af.ex"; ey: "af.ey"; ez: "af.ez"; fa: "af.fa"; fb: "af.fb"; fc: "af.fc"; fd: "af.fd"; fe: "af.fe"; ff: "af.ff"; fg: "af.fg"; fh: "af.fh"; fi: "af.fi"; fj: "af.fj"; fk: "af.fk"; fl: "af.fl"; fm: "af.fm"; fn: "af.fn"; fo: "af.fo"; fp: "af.fp"; fq: "af.fq"; fr: "af.fr"; fs: "af.fs"; ft: "af.ft"; fu: "af.fu"; fv: "af.fv"; fw: "af.fw"; fx: "af.fx"; fy: "af.fy"; fz: "af.fz"; ga: "af.ga"; gb: "af.gb"; gc: "af.gc"; gd: "af.gd"; ge: "af.ge"; gf: "af.gf"; gg: "af.gg"; gh: "af.gh"; gi: "af.gi"; gj: "af.gj"; gk: "af.gk"; gl: "af.gl"; gm: "af.gm"; gn: "af.gn"; go: "af.go"; gp: "af.gp"; gq: "af.gq"; gr: "af.gr"; gs: "af.gs"; gt: "af.gt"; gu: "af.gu"; gv: "af.gv"; gw: "af.gw"; gx: "af.gx"; gy: "af.gy"; gz: "af.gz"; ha: "af.ha"; hb: "af.hb"; hc: "af.hc"; hd: "af.hd"; he: "af.he"; hf: "af.hf"; hg: "af.hg"; hh: "af.hh"; hi: "af.hi"; hj: "af.hj"; hk: "af.hk"; hl: "af.hl"; hm: "af.hm"; hn: "af.hn"; ho: "af.ho"; hp: "af.hp"; hq: "af.hq"; hr: "af.hr"; hs: "af.hs"; ht: "af.ht"; hu: "af.hu"; hv: "af.hv"; hw: "af.hw"; hx: "af.hx"; hy: "af.hy"; hz: "af.hz"; ia: "af.ia"; ib: "af.ib"; ic: "af.ic"; id: "af.id"; ie: "af.ie"; if: "af.if"; ig: "af.ig"; ih: "af.ih"; ii: "af.ii"; ij: "af.ij"; ik: "af.ik"; il: "af.il"; im: "af.im"; in: "af.in"; io: "af.io"; ip: "af.ip"; iq: "af.iq"; ir: "af.ir"; is: "af.is"; it: "af.it"; iu: "af.iu"; iv: "af.iv"; iw: "af.iw"; ix: "af.ix"; iy: "af.iy"; iz: "af.iz"; ja: "af.ja"; jb: "af.jb"; jc: "af.jc"; jd: "af.jd"; je: "af.je"; jf: "af.jf"; jg: "af.jg"; jh: "af.jh"; ji: "af.ji"; jj: "af.jj"; jk: "af.jk"; jl: "af.jl"; jm: "af.jm"; jn: "af.jn"; jo: "af.jo"; jp: "af.jp"; jq: "af.jq"; jr: "af.jr"; js: "af.js"; jt: "af.jt"; ju: "af.ju"; jv: "af.jv"; jw: "af.jw"; jx: "af.jx"; jy: "af.jy"; jz: "af.jz"; ka: "af.ka"; kb: "af.kb"; kc: "af.kc"; kd: "af.kd"; ke: "af.ke"; kf: "af.kf"; kg: "af.kg"; kh: "af.kh"; ki: "af.ki"; kj: "af.kj"; kk: "af.kk"; kl: "af.kl"; km: "af.km"; kn: "af.kn"; ko: "af.ko"; kp: "af.kp"; kq: "af.kq"; kr: "af.kr"; ks: "af.ks"; kt: "af.kt"; ku: "af.ku"; kv: "af.kv"; kw: "af.kw"; kx: "af.kx"; ky: "af.ky"; kz: "af.kz"; la: "af.la"; lb: "af.lb"; lc: "af.lc"; ld: "af.ld"; le: "af.le"; lf: "af.lf"; lg: "af.lg"; lh: "af.lh"; li: "af.li"; lj: "af.lj"; lk: "af.lk"; ll: "af.ll"; lm: "af.lm"; ln: "af.ln"; lo: "af.lo"; lp: "af.lp"; lq: "af.lq"; lr: "af.lr"; ls: "af.ls"; lt: "af.lt"; lu: "af.lu"; lv: "af.lv"; lw: "af.lw"; lx: "af.lx"; ly: "af.ly"; lz: "af.lz"; ma: "af.ma"; mb: "af.mb"; mc: "af.mc"; md: "af.md"; me: "af.me"; mf: "af.mf"; mg: "af.mg"; mh: "af.mh"; mi: "af.mi"; mj: "af.mj"; mk: "af.mk"; ml: "af.ml"; mm: "af.mm"; mn: "af.mn"; mo: "af.mo"; mp: "af.mp"; mq: "af.mq"; mr: "af.mr"; ms: "af.ms"; mt: "af.mt"; mu: "af.mu"; mv: "af.mv"; mw: "af.mw"; mx: "af.mx"; my: "af.my"; mz: "af.mz"; na: "af.na"; nb: "af.nb"; nc: "af.nc"; nd: "af.nd"; ne: "af.ne"; nf: "af.nf"; ng: "af.ng"; nh: "af.nh"; ni: "af.ni"; nj: "af.nj"; nk: "af.nk"; nl: "af.nl"; nm: "af.nm"; nn: "af.nn"; no: "af.no"; np: "af.np"; nq: "af.nq"; nr: "af.nr"; ns: "af.ns"; nt: "af.nt"; nu: "af.nu"; nv: "af.nv"; nw: "af.nw"; nx: "af.nx"; ny: "af.ny"; nz: "af.nz"; oa: "af.oa"; ob: "af.ob"; oc: "af.oc"; od: "af.od"; oe: "af.oe"; of: "af.of"; og: "af.og"; oh: "af.oh"; oi: "af.oi"; oj: "af.oj"; ok: "af.ok"; ol: "af.ol"; om: "af.om"; on: "af.on"; oo: "af.oo"; op: "af.op"; oq: "af.oq"; or: "af.or"; os: "af.os"; ot: "af.ot"; ou: "af.ou"; ov: "af.ov"; ow: "af.ow"; ox: "af.ox"; oy: "af.oy"; oz: "af.oz"; pa: "af.pa"; pb: "af.pb"; pc: "af.pc"; pd: "af.pd"; pe: "af.pe"; pf: "af.pf"; pg: "af.pg"; ph: "af.ph"; pi: "af.pi"; pj: "af.pj"; pk: "af.pk"; pl: "af.pl"; pm: "af.pm"; pn: "af.pn"; po: "af.po"; pp: "af.pp"; pq: "af.pq"; pr: "af.pr"; ps: "af.ps"; pt: "af.pt"; pu: "af.pu"; pv: "af.pv"; pw: "af.pw"; px: "af.px"; py: "af.py"; pz: "af.pz"; qa: "af.qa"; qb: "af.qb"; qc: "af.qc"; qd: "af.qd"; qe: "af.qe"; qf: "af.qf"; qg: "af.qg"; qh: "af.qh"; qi: "af.qi"; qj: "af.qj"; qk: "af.qk"; ql: "af.ql"; qm: "af.qm"; qn: "af.qn"; qo: "af.qo"; qp: "af.qp"; qq: "af.qq"; qr: "af.qr"; qs: "af.qs"; qt: "af.qt"; qu: "af.qu"; qv: "af.qv"; qw: "af.qw"; qx: "af.qx"; qy: "af.qy"; qz: "af.qz"; ra: "af.ra"; rb: "af.rb"; rc: "af.rc"; rd: "af.rd"; re: "af.re"; rf: "af.rf"; rg: "af.rg"; rh: "af.rh"; ri: "af.ri"; rj: "af.rj"; rk: "af.rk"; rl: "af.rl"; rm: "af.rm"; rn: "af.rn"; ro: "af.ro"; rp: "af.rp"; rq: "af.rq"; rr: "af.rr"; rs: "af.rs"; rt: "af.rt"; ru: "af.ru"; rv: "af.rv"; rw: "af.rw"; rx: "af.rx"; ry: "af.ry"; rz: "af.rz"; sa: "af.sa"; sb: "af.sb"; sc: "af.sc"; sd: "af.sd"; se: "af.se"; sf: "af.sf"; sg: "af.sg"; sh: "af.sh"; si: "af.si"; sj: "af.sj"; sk: "af.sk"; sl: "af.sl"; sm: "af.sm"; sn: "af.sn"; so: "af.so"; sp: "af.sp"; sq: "af.sq"; sr: "af.sr"; ss: "af.ss"; st: "af.st"; su: "af.su"; sv: "af.sv"; sw: "af.sw"; sx: "af.sx"; sy: "af.sy"; sz: "af.sz"; ta: "af.ta"; tb: "af.tb"; tc: "af.tc"; td: "af.td"; te: "af.te"; tf: "af.tf"; tg: "af.tg"; th: "af.th"; ti: "af.ti"; tj: "af.tj"; tk: "af.tk"; tl: "af.tl"; tm: "af.tm"; tn: "af.tn"; to: "af.to"; tp: "af.tp"; tq: "af.tq"; tr: "af.tr"; ts: "af.ts"; tt: "af.tt"; tu: "af.tu"; tv: "af.tv"; tw: "af.tw"; tx: "af.tx"; ty: "af.ty"; tz: "af.tz"; ua: "af.ua"; ub: "af.ub"; uc: "af.uc"; ud: "af.ud"; ue: "af.ue"; uf: "af.uf"; ug: "af.ug"; uh: "af.uh"; ui: "af.ui"; uj: "af.uj"; uk: "af.uk"; ul: "af.ul"; um: "af.um"; un: "af.un"; uo: "af.uo"; up: "af.up"; uq: "af.uq"; ur: "af.ur"; us: "af.us"; ut: "af.ut"; uu: "af.uu"; uv: "af.uv"; uw: "af.uw"; ux: "af.ux"; uy: "af.uy"; uz: "af.uz"; va: "af.va"; vb: "af.vb"; vc: "af.vc"; vd: "af.vd"; ve: "af.ve"; vf: "af.vf"; vg: "af.vg"; vh: "af.vh"; vi: "af.vi"; vj: "af.vj"; vk: "af.vk"; vl: "af.vl"; vm: "af.vm"; vn: "af.vn"; vo: "af.vo"; vp: "af.vp"; vq: "af.vq"; vr: "af.vr"; vs: "af.vs"; vt: "af.vt"; vu: "af.vu"; vv: "af.vv"; vw: "af.vw"; vx: "af.vx"; vy: "af.vy"; vz: "af.vz"; wa: "af.wa"; wb: "af.wb"; wc: "af.wc"; wd: "af.wd"; we: "af.we"; wf: "af.wf"; wg: "af.wg"; wh: "af.wh"; wi: "af.wi"; wj: "af.wj"; wk: "af.wk"; wl: "af.wl"; wm: "af.wm"; wn: "af.wn"; wo: "af.wo"; wp: "af.wp"; wq: "af.wq"; wr: "af.wr"; ws: "af.ws"; wt: "af.wt"; wu: "af.wu"; wv: "af.wv"; ww: "af.ww"; wx: "af.wx"; wy: "af.wy"; wz: "af.wz"; xa: "af.xa"; xb: "af.xb"; xc: "af.xc"; xd: "af.xd"; xe: "af.xe"; xf: "af.xf"; xg: "af.xg"; xh: "af.xh"; xi: "af.xi"; xj: "af.xj"; xk: "af.xk"; xl: "af.xl"; xm: "af.xm"; xn: "af.xn"; xo: "af.xo"; xp: "af.xp"; xq: "af.xq"; xr: "af.xr"; xs: "af.xs"; xt: "af.xt"; xu: "af.xu"; xv: "af.xv"; xw: "af.xw"; xx: "af.xx"; xy: "af.xy"; xz: "af.xz"; ya: "af.ya"; yb: "af.yb"; yc: "af.yc"; yd: "af.yd"; ye: "af.ye"; yf: "af.yf"; yg: "af.yg"; yh: "af.yh"; yi: "af.yi"; yj: "af.yj"; yk: "af.yk"; yl: "af.yl"; ym: "af.ym"; yn: "af.yn"; yo: "af.yo"; yp: "af.yp"; yq: "af.yq"; yr: "af.yr"; ys: "af.ys"; yt: "af.yt"; yu: "af.yu"; yv: "af.yv"; yw: "af.yw"; yx: "af.yx"; yy: "af.yy"; yz: "af.yz"; za: "af.za"; zb: "af.zb"; zc: "af.zc"; zd: "af.zd"; ze: "af.ze"; zf: "af.zf"; zg: "af.zg"; zh: "af.zh"; zi: "af.zi"; zj: "af.zj"; zk: "af.zk"; zl: "af.zl"; zm: "af.zm"; zn: "af.zn"; zo: "af.zo"; zp: "af.zp"; zq: "af.zq"; zr: "af.zr"; zs: "af.zs"; zt: "af.zt"; zu: "af.zu"; zv: "af.zv"; zw: "af.zw"; zx: "af.zx"; zy: "af.zy"; zz: "af.zz"; }; ag: { aa: "ag.aa"; ab: "ag.ab"; ac: "ag.ac"; ad: "ag.ad"; ae: "ag.ae"; af: "ag.af"; ag: "ag.ag"; ah: "ag.ah"; ai: "ag.ai"; aj: "ag.aj"; ak: "ag.ak"; al: "ag.al"; am: "ag.am"; an: "ag.an"; ao: "ag.ao"; ap: "ag.ap"; aq: "ag.aq"; ar: "ag.ar"; as: "ag.as"; at: "ag.at"; au: "ag.au"; av: "ag.av"; aw: "ag.aw"; ax: "ag.ax"; ay: "ag.ay"; az: "ag.az"; ba: "ag.ba"; bb: "ag.bb"; bc: "ag.bc"; bd: "ag.bd"; be: "ag.be"; bf: "ag.bf"; bg: "ag.bg"; bh: "ag.bh"; bi: "ag.bi"; bj: "ag.bj"; bk: "ag.bk"; bl: "ag.bl"; bm: "ag.bm"; bn: "ag.bn"; bo: "ag.bo"; bp: "ag.bp"; bq: "ag.bq"; br: "ag.br"; bs: "ag.bs"; bt: "ag.bt"; bu: "ag.bu"; bv: "ag.bv"; bw: "ag.bw"; bx: "ag.bx"; by: "ag.by"; bz: "ag.bz"; ca: "ag.ca"; cb: "ag.cb"; cc: "ag.cc"; cd: "ag.cd"; ce: "ag.ce"; cf: "ag.cf"; cg: "ag.cg"; ch: "ag.ch"; ci: "ag.ci"; cj: "ag.cj"; ck: "ag.ck"; cl: "ag.cl"; cm: "ag.cm"; cn: "ag.cn"; co: "ag.co"; cp: "ag.cp"; cq: "ag.cq"; cr: "ag.cr"; cs: "ag.cs"; ct: "ag.ct"; cu: "ag.cu"; cv: "ag.cv"; cw: "ag.cw"; cx: "ag.cx"; cy: "ag.cy"; cz: "ag.cz"; da: "ag.da"; db: "ag.db"; dc: "ag.dc"; dd: "ag.dd"; de: "ag.de"; df: "ag.df"; dg: "ag.dg"; dh: "ag.dh"; di: "ag.di"; dj: "ag.dj"; dk: "ag.dk"; dl: "ag.dl"; dm: "ag.dm"; dn: "ag.dn"; do: "ag.do"; dp: "ag.dp"; dq: "ag.dq"; dr: "ag.dr"; ds: "ag.ds"; dt: "ag.dt"; du: "ag.du"; dv: "ag.dv"; dw: "ag.dw"; dx: "ag.dx"; dy: "ag.dy"; dz: "ag.dz"; ea: "ag.ea"; eb: "ag.eb"; ec: "ag.ec"; ed: "ag.ed"; ee: "ag.ee"; ef: "ag.ef"; eg: "ag.eg"; eh: "ag.eh"; ei: "ag.ei"; ej: "ag.ej"; ek: "ag.ek"; el: "ag.el"; em: "ag.em"; en: "ag.en"; eo: "ag.eo"; ep: "ag.ep"; eq: "ag.eq"; er: "ag.er"; es: "ag.es"; et: "ag.et"; eu: "ag.eu"; ev: "ag.ev"; ew: "ag.ew"; ex: "ag.ex"; ey: "ag.ey"; ez: "ag.ez"; fa: "ag.fa"; fb: "ag.fb"; fc: "ag.fc"; fd: "ag.fd"; fe: "ag.fe"; ff: "ag.ff"; fg: "ag.fg"; fh: "ag.fh"; fi: "ag.fi"; fj: "ag.fj"; fk: "ag.fk"; fl: "ag.fl"; fm: "ag.fm"; fn: "ag.fn"; fo: "ag.fo"; fp: "ag.fp"; fq: "ag.fq"; fr: "ag.fr"; fs: "ag.fs"; ft: "ag.ft"; fu: "ag.fu"; fv: "ag.fv"; fw: "ag.fw"; fx: "ag.fx"; fy: "ag.fy"; fz: "ag.fz"; ga: "ag.ga"; gb: "ag.gb"; gc: "ag.gc"; gd: "ag.gd"; ge: "ag.ge"; gf: "ag.gf"; gg: "ag.gg"; gh: "ag.gh"; gi: "ag.gi"; gj: "ag.gj"; gk: "ag.gk"; gl: "ag.gl"; gm: "ag.gm"; gn: "ag.gn"; go: "ag.go"; gp: "ag.gp"; gq: "ag.gq"; gr: "ag.gr"; gs: "ag.gs"; gt: "ag.gt"; gu: "ag.gu"; gv: "ag.gv"; gw: "ag.gw"; gx: "ag.gx"; gy: "ag.gy"; gz: "ag.gz"; ha: "ag.ha"; hb: "ag.hb"; hc: "ag.hc"; hd: "ag.hd"; he: "ag.he"; hf: "ag.hf"; hg: "ag.hg"; hh: "ag.hh"; hi: "ag.hi"; hj: "ag.hj"; hk: "ag.hk"; hl: "ag.hl"; hm: "ag.hm"; hn: "ag.hn"; ho: "ag.ho"; hp: "ag.hp"; hq: "ag.hq"; hr: "ag.hr"; hs: "ag.hs"; ht: "ag.ht"; hu: "ag.hu"; hv: "ag.hv"; hw: "ag.hw"; hx: "ag.hx"; hy: "ag.hy"; hz: "ag.hz"; ia: "ag.ia"; ib: "ag.ib"; ic: "ag.ic"; id: "ag.id"; ie: "ag.ie"; if: "ag.if"; ig: "ag.ig"; ih: "ag.ih"; ii: "ag.ii"; ij: "ag.ij"; ik: "ag.ik"; il: "ag.il"; im: "ag.im"; in: "ag.in"; io: "ag.io"; ip: "ag.ip"; iq: "ag.iq"; ir: "ag.ir"; is: "ag.is"; it: "ag.it"; iu: "ag.iu"; iv: "ag.iv"; iw: "ag.iw"; ix: "ag.ix"; iy: "ag.iy"; iz: "ag.iz"; ja: "ag.ja"; jb: "ag.jb"; jc: "ag.jc"; jd: "ag.jd"; je: "ag.je"; jf: "ag.jf"; jg: "ag.jg"; jh: "ag.jh"; ji: "ag.ji"; jj: "ag.jj"; jk: "ag.jk"; jl: "ag.jl"; jm: "ag.jm"; jn: "ag.jn"; jo: "ag.jo"; jp: "ag.jp"; jq: "ag.jq"; jr: "ag.jr"; js: "ag.js"; jt: "ag.jt"; ju: "ag.ju"; jv: "ag.jv"; jw: "ag.jw"; jx: "ag.jx"; jy: "ag.jy"; jz: "ag.jz"; ka: "ag.ka"; kb: "ag.kb"; kc: "ag.kc"; kd: "ag.kd"; ke: "ag.ke"; kf: "ag.kf"; kg: "ag.kg"; kh: "ag.kh"; ki: "ag.ki"; kj: "ag.kj"; kk: "ag.kk"; kl: "ag.kl"; km: "ag.km"; kn: "ag.kn"; ko: "ag.ko"; kp: "ag.kp"; kq: "ag.kq"; kr: "ag.kr"; ks: "ag.ks"; kt: "ag.kt"; ku: "ag.ku"; kv: "ag.kv"; kw: "ag.kw"; kx: "ag.kx"; ky: "ag.ky"; kz: "ag.kz"; la: "ag.la"; lb: "ag.lb"; lc: "ag.lc"; ld: "ag.ld"; le: "ag.le"; lf: "ag.lf"; lg: "ag.lg"; lh: "ag.lh"; li: "ag.li"; lj: "ag.lj"; lk: "ag.lk"; ll: "ag.ll"; lm: "ag.lm"; ln: "ag.ln"; lo: "ag.lo"; lp: "ag.lp"; lq: "ag.lq"; lr: "ag.lr"; ls: "ag.ls"; lt: "ag.lt"; lu: "ag.lu"; lv: "ag.lv"; lw: "ag.lw"; lx: "ag.lx"; ly: "ag.ly"; lz: "ag.lz"; ma: "ag.ma"; mb: "ag.mb"; mc: "ag.mc"; md: "ag.md"; me: "ag.me"; mf: "ag.mf"; mg: "ag.mg"; mh: "ag.mh"; mi: "ag.mi"; mj: "ag.mj"; mk: "ag.mk"; ml: "ag.ml"; mm: "ag.mm"; mn: "ag.mn"; mo: "ag.mo"; mp: "ag.mp"; mq: "ag.mq"; mr: "ag.mr"; ms: "ag.ms"; mt: "ag.mt"; mu: "ag.mu"; mv: "ag.mv"; mw: "ag.mw"; mx: "ag.mx"; my: "ag.my"; mz: "ag.mz"; na: "ag.na"; nb: "ag.nb"; nc: "ag.nc"; nd: "ag.nd"; ne: "ag.ne"; nf: "ag.nf"; ng: "ag.ng"; nh: "ag.nh"; ni: "ag.ni"; nj: "ag.nj"; nk: "ag.nk"; nl: "ag.nl"; nm: "ag.nm"; nn: "ag.nn"; no: "ag.no"; np: "ag.np"; nq: "ag.nq"; nr: "ag.nr"; ns: "ag.ns"; nt: "ag.nt"; nu: "ag.nu"; nv: "ag.nv"; nw: "ag.nw"; nx: "ag.nx"; ny: "ag.ny"; nz: "ag.nz"; oa: "ag.oa"; ob: "ag.ob"; oc: "ag.oc"; od: "ag.od"; oe: "ag.oe"; of: "ag.of"; og: "ag.og"; oh: "ag.oh"; oi: "ag.oi"; oj: "ag.oj"; ok: "ag.ok"; ol: "ag.ol"; om: "ag.om"; on: "ag.on"; oo: "ag.oo"; op: "ag.op"; oq: "ag.oq"; or: "ag.or"; os: "ag.os"; ot: "ag.ot"; ou: "ag.ou"; ov: "ag.ov"; ow: "ag.ow"; ox: "ag.ox"; oy: "ag.oy"; oz: "ag.oz"; pa: "ag.pa"; pb: "ag.pb"; pc: "ag.pc"; pd: "ag.pd"; pe: "ag.pe"; pf: "ag.pf"; pg: "ag.pg"; ph: "ag.ph"; pi: "ag.pi"; pj: "ag.pj"; pk: "ag.pk"; pl: "ag.pl"; pm: "ag.pm"; pn: "ag.pn"; po: "ag.po"; pp: "ag.pp"; pq: "ag.pq"; pr: "ag.pr"; ps: "ag.ps"; pt: "ag.pt"; pu: "ag.pu"; pv: "ag.pv"; pw: "ag.pw"; px: "ag.px"; py: "ag.py"; pz: "ag.pz"; qa: "ag.qa"; qb: "ag.qb"; qc: "ag.qc"; qd: "ag.qd"; qe: "ag.qe"; qf: "ag.qf"; qg: "ag.qg"; qh: "ag.qh"; qi: "ag.qi"; qj: "ag.qj"; qk: "ag.qk"; ql: "ag.ql"; qm: "ag.qm"; qn: "ag.qn"; qo: "ag.qo"; qp: "ag.qp"; qq: "ag.qq"; qr: "ag.qr"; qs: "ag.qs"; qt: "ag.qt"; qu: "ag.qu"; qv: "ag.qv"; qw: "ag.qw"; qx: "ag.qx"; qy: "ag.qy"; qz: "ag.qz"; ra: "ag.ra"; rb: "ag.rb"; rc: "ag.rc"; rd: "ag.rd"; re: "ag.re"; rf: "ag.rf"; rg: "ag.rg"; rh: "ag.rh"; ri: "ag.ri"; rj: "ag.rj"; rk: "ag.rk"; rl: "ag.rl"; rm: "ag.rm"; rn: "ag.rn"; ro: "ag.ro"; rp: "ag.rp"; rq: "ag.rq"; rr: "ag.rr"; rs: "ag.rs"; rt: "ag.rt"; ru: "ag.ru"; rv: "ag.rv"; rw: "ag.rw"; rx: "ag.rx"; ry: "ag.ry"; rz: "ag.rz"; sa: "ag.sa"; sb: "ag.sb"; sc: "ag.sc"; sd: "ag.sd"; se: "ag.se"; sf: "ag.sf"; sg: "ag.sg"; sh: "ag.sh"; si: "ag.si"; sj: "ag.sj"; sk: "ag.sk"; sl: "ag.sl"; sm: "ag.sm"; sn: "ag.sn"; so: "ag.so"; sp: "ag.sp"; sq: "ag.sq"; sr: "ag.sr"; ss: "ag.ss"; st: "ag.st"; su: "ag.su"; sv: "ag.sv"; sw: "ag.sw"; sx: "ag.sx"; sy: "ag.sy"; sz: "ag.sz"; ta: "ag.ta"; tb: "ag.tb"; tc: "ag.tc"; td: "ag.td"; te: "ag.te"; tf: "ag.tf"; tg: "ag.tg"; th: "ag.th"; ti: "ag.ti"; tj: "ag.tj"; tk: "ag.tk"; tl: "ag.tl"; tm: "ag.tm"; tn: "ag.tn"; to: "ag.to"; tp: "ag.tp"; tq: "ag.tq"; tr: "ag.tr"; ts: "ag.ts"; tt: "ag.tt"; tu: "ag.tu"; tv: "ag.tv"; tw: "ag.tw"; tx: "ag.tx"; ty: "ag.ty"; tz: "ag.tz"; ua: "ag.ua"; ub: "ag.ub"; uc: "ag.uc"; ud: "ag.ud"; ue: "ag.ue"; uf: "ag.uf"; ug: "ag.ug"; uh: "ag.uh"; ui: "ag.ui"; uj: "ag.uj"; uk: "ag.uk"; ul: "ag.ul"; um: "ag.um"; un: "ag.un"; uo: "ag.uo"; up: "ag.up"; uq: "ag.uq"; ur: "ag.ur"; us: "ag.us"; ut: "ag.ut"; uu: "ag.uu"; uv: "ag.uv"; uw: "ag.uw"; ux: "ag.ux"; uy: "ag.uy"; uz: "ag.uz"; va: "ag.va"; vb: "ag.vb"; vc: "ag.vc"; vd: "ag.vd"; ve: "ag.ve"; vf: "ag.vf"; vg: "ag.vg"; vh: "ag.vh"; vi: "ag.vi"; vj: "ag.vj"; vk: "ag.vk"; vl: "ag.vl"; vm: "ag.vm"; vn: "ag.vn"; vo: "ag.vo"; vp: "ag.vp"; vq: "ag.vq"; vr: "ag.vr"; vs: "ag.vs"; vt: "ag.vt"; vu: "ag.vu"; vv: "ag.vv"; vw: "ag.vw"; vx: "ag.vx"; vy: "ag.vy"; vz: "ag.vz"; wa: "ag.wa"; wb: "ag.wb"; wc: "ag.wc"; wd: "ag.wd"; we: "ag.we"; wf: "ag.wf"; wg: "ag.wg"; wh: "ag.wh"; wi: "ag.wi"; wj: "ag.wj"; wk: "ag.wk"; wl: "ag.wl"; wm: "ag.wm"; wn: "ag.wn"; wo: "ag.wo"; wp: "ag.wp"; wq: "ag.wq"; wr: "ag.wr"; ws: "ag.ws"; wt: "ag.wt"; wu: "ag.wu"; wv: "ag.wv"; ww: "ag.ww"; wx: "ag.wx"; wy: "ag.wy"; wz: "ag.wz"; xa: "ag.xa"; xb: "ag.xb"; xc: "ag.xc"; xd: "ag.xd"; xe: "ag.xe"; xf: "ag.xf"; xg: "ag.xg"; xh: "ag.xh"; xi: "ag.xi"; xj: "ag.xj"; xk: "ag.xk"; xl: "ag.xl"; xm: "ag.xm"; xn: "ag.xn"; xo: "ag.xo"; xp: "ag.xp"; xq: "ag.xq"; xr: "ag.xr"; xs: "ag.xs"; xt: "ag.xt"; xu: "ag.xu"; xv: "ag.xv"; xw: "ag.xw"; xx: "ag.xx"; xy: "ag.xy"; xz: "ag.xz"; ya: "ag.ya"; yb: "ag.yb"; yc: "ag.yc"; yd: "ag.yd"; ye: "ag.ye"; yf: "ag.yf"; yg: "ag.yg"; yh: "ag.yh"; yi: "ag.yi"; yj: "ag.yj"; yk: "ag.yk"; yl: "ag.yl"; ym: "ag.ym"; yn: "ag.yn"; yo: "ag.yo"; yp: "ag.yp"; yq: "ag.yq"; yr: "ag.yr"; ys: "ag.ys"; yt: "ag.yt"; yu: "ag.yu"; yv: "ag.yv"; yw: "ag.yw"; yx: "ag.yx"; yy: "ag.yy"; yz: "ag.yz"; za: "ag.za"; zb: "ag.zb"; zc: "ag.zc"; zd: "ag.zd"; ze: "ag.ze"; zf: "ag.zf"; zg: "ag.zg"; zh: "ag.zh"; zi: "ag.zi"; zj: "ag.zj"; zk: "ag.zk"; zl: "ag.zl"; zm: "ag.zm"; zn: "ag.zn"; zo: "ag.zo"; zp: "ag.zp"; zq: "ag.zq"; zr: "ag.zr"; zs: "ag.zs"; zt: "ag.zt"; zu: "ag.zu"; zv: "ag.zv"; zw: "ag.zw"; zx: "ag.zx"; zy: "ag.zy"; zz: "ag.zz"; }; ah: { aa: "ah.aa"; ab: "ah.ab"; ac: "ah.ac"; ad: "ah.ad"; ae: "ah.ae"; af: "ah.af"; ag: "ah.ag"; ah: "ah.ah"; ai: "ah.ai"; aj: "ah.aj"; ak: "ah.ak"; al: "ah.al"; am: "ah.am"; an: "ah.an"; ao: "ah.ao"; ap: "ah.ap"; aq: "ah.aq"; ar: "ah.ar"; as: "ah.as"; at: "ah.at"; au: "ah.au"; av: "ah.av"; aw: "ah.aw"; ax: "ah.ax"; ay: "ah.ay"; az: "ah.az"; ba: "ah.ba"; bb: "ah.bb"; bc: "ah.bc"; bd: "ah.bd"; be: "ah.be"; bf: "ah.bf"; bg: "ah.bg"; bh: "ah.bh"; bi: "ah.bi"; bj: "ah.bj"; bk: "ah.bk"; bl: "ah.bl"; bm: "ah.bm"; bn: "ah.bn"; bo: "ah.bo"; bp: "ah.bp"; bq: "ah.bq"; br: "ah.br"; bs: "ah.bs"; bt: "ah.bt"; bu: "ah.bu"; bv: "ah.bv"; bw: "ah.bw"; bx: "ah.bx"; by: "ah.by"; bz: "ah.bz"; ca: "ah.ca"; cb: "ah.cb"; cc: "ah.cc"; cd: "ah.cd"; ce: "ah.ce"; cf: "ah.cf"; cg: "ah.cg"; ch: "ah.ch"; ci: "ah.ci"; cj: "ah.cj"; ck: "ah.ck"; cl: "ah.cl"; cm: "ah.cm"; cn: "ah.cn"; co: "ah.co"; cp: "ah.cp"; cq: "ah.cq"; cr: "ah.cr"; cs: "ah.cs"; ct: "ah.ct"; cu: "ah.cu"; cv: "ah.cv"; cw: "ah.cw"; cx: "ah.cx"; cy: "ah.cy"; cz: "ah.cz"; da: "ah.da"; db: "ah.db"; dc: "ah.dc"; dd: "ah.dd"; de: "ah.de"; df: "ah.df"; dg: "ah.dg"; dh: "ah.dh"; di: "ah.di"; dj: "ah.dj"; dk: "ah.dk"; dl: "ah.dl"; dm: "ah.dm"; dn: "ah.dn"; do: "ah.do"; dp: "ah.dp"; dq: "ah.dq"; dr: "ah.dr"; ds: "ah.ds"; dt: "ah.dt"; du: "ah.du"; dv: "ah.dv"; dw: "ah.dw"; dx: "ah.dx"; dy: "ah.dy"; dz: "ah.dz"; ea: "ah.ea"; eb: "ah.eb"; ec: "ah.ec"; ed: "ah.ed"; ee: "ah.ee"; ef: "ah.ef"; eg: "ah.eg"; eh: "ah.eh"; ei: "ah.ei"; ej: "ah.ej"; ek: "ah.ek"; el: "ah.el"; em: "ah.em"; en: "ah.en"; eo: "ah.eo"; ep: "ah.ep"; eq: "ah.eq"; er: "ah.er"; es: "ah.es"; et: "ah.et"; eu: "ah.eu"; ev: "ah.ev"; ew: "ah.ew"; ex: "ah.ex"; ey: "ah.ey"; ez: "ah.ez"; fa: "ah.fa"; fb: "ah.fb"; fc: "ah.fc"; fd: "ah.fd"; fe: "ah.fe"; ff: "ah.ff"; fg: "ah.fg"; fh: "ah.fh"; fi: "ah.fi"; fj: "ah.fj"; fk: "ah.fk"; fl: "ah.fl"; fm: "ah.fm"; fn: "ah.fn"; fo: "ah.fo"; fp: "ah.fp"; fq: "ah.fq"; fr: "ah.fr"; fs: "ah.fs"; ft: "ah.ft"; fu: "ah.fu"; fv: "ah.fv"; fw: "ah.fw"; fx: "ah.fx"; fy: "ah.fy"; fz: "ah.fz"; ga: "ah.ga"; gb: "ah.gb"; gc: "ah.gc"; gd: "ah.gd"; ge: "ah.ge"; gf: "ah.gf"; gg: "ah.gg"; gh: "ah.gh"; gi: "ah.gi"; gj: "ah.gj"; gk: "ah.gk"; gl: "ah.gl"; gm: "ah.gm"; gn: "ah.gn"; go: "ah.go"; gp: "ah.gp"; gq: "ah.gq"; gr: "ah.gr"; gs: "ah.gs"; gt: "ah.gt"; gu: "ah.gu"; gv: "ah.gv"; gw: "ah.gw"; gx: "ah.gx"; gy: "ah.gy"; gz: "ah.gz"; ha: "ah.ha"; hb: "ah.hb"; hc: "ah.hc"; hd: "ah.hd"; he: "ah.he"; hf: "ah.hf"; hg: "ah.hg"; hh: "ah.hh"; hi: "ah.hi"; hj: "ah.hj"; hk: "ah.hk"; hl: "ah.hl"; hm: "ah.hm"; hn: "ah.hn"; ho: "ah.ho"; hp: "ah.hp"; hq: "ah.hq"; hr: "ah.hr"; hs: "ah.hs"; ht: "ah.ht"; hu: "ah.hu"; hv: "ah.hv"; hw: "ah.hw"; hx: "ah.hx"; hy: "ah.hy"; hz: "ah.hz"; ia: "ah.ia"; ib: "ah.ib"; ic: "ah.ic"; id: "ah.id"; ie: "ah.ie"; if: "ah.if"; ig: "ah.ig"; ih: "ah.ih"; ii: "ah.ii"; ij: "ah.ij"; ik: "ah.ik"; il: "ah.il"; im: "ah.im"; in: "ah.in"; io: "ah.io"; ip: "ah.ip"; iq: "ah.iq"; ir: "ah.ir"; is: "ah.is"; it: "ah.it"; iu: "ah.iu"; iv: "ah.iv"; iw: "ah.iw"; ix: "ah.ix"; iy: "ah.iy"; iz: "ah.iz"; ja: "ah.ja"; jb: "ah.jb"; jc: "ah.jc"; jd: "ah.jd"; je: "ah.je"; jf: "ah.jf"; jg: "ah.jg"; jh: "ah.jh"; ji: "ah.ji"; jj: "ah.jj"; jk: "ah.jk"; jl: "ah.jl"; jm: "ah.jm"; jn: "ah.jn"; jo: "ah.jo"; jp: "ah.jp"; jq: "ah.jq"; jr: "ah.jr"; js: "ah.js"; jt: "ah.jt"; ju: "ah.ju"; jv: "ah.jv"; jw: "ah.jw"; jx: "ah.jx"; jy: "ah.jy"; jz: "ah.jz"; ka: "ah.ka"; kb: "ah.kb"; kc: "ah.kc"; kd: "ah.kd"; ke: "ah.ke"; kf: "ah.kf"; kg: "ah.kg"; kh: "ah.kh"; ki: "ah.ki"; kj: "ah.kj"; kk: "ah.kk"; kl: "ah.kl"; km: "ah.km"; kn: "ah.kn"; ko: "ah.ko"; kp: "ah.kp"; kq: "ah.kq"; kr: "ah.kr"; ks: "ah.ks"; kt: "ah.kt"; ku: "ah.ku"; kv: "ah.kv"; kw: "ah.kw"; kx: "ah.kx"; ky: "ah.ky"; kz: "ah.kz"; la: "ah.la"; lb: "ah.lb"; lc: "ah.lc"; ld: "ah.ld"; le: "ah.le"; lf: "ah.lf"; lg: "ah.lg"; lh: "ah.lh"; li: "ah.li"; lj: "ah.lj"; lk: "ah.lk"; ll: "ah.ll"; lm: "ah.lm"; ln: "ah.ln"; lo: "ah.lo"; lp: "ah.lp"; lq: "ah.lq"; lr: "ah.lr"; ls: "ah.ls"; lt: "ah.lt"; lu: "ah.lu"; lv: "ah.lv"; lw: "ah.lw"; lx: "ah.lx"; ly: "ah.ly"; lz: "ah.lz"; ma: "ah.ma"; mb: "ah.mb"; mc: "ah.mc"; md: "ah.md"; me: "ah.me"; mf: "ah.mf"; mg: "ah.mg"; mh: "ah.mh"; mi: "ah.mi"; mj: "ah.mj"; mk: "ah.mk"; ml: "ah.ml"; mm: "ah.mm"; mn: "ah.mn"; mo: "ah.mo"; mp: "ah.mp"; mq: "ah.mq"; mr: "ah.mr"; ms: "ah.ms"; mt: "ah.mt"; mu: "ah.mu"; mv: "ah.mv"; mw: "ah.mw"; mx: "ah.mx"; my: "ah.my"; mz: "ah.mz"; na: "ah.na"; nb: "ah.nb"; nc: "ah.nc"; nd: "ah.nd"; ne: "ah.ne"; nf: "ah.nf"; ng: "ah.ng"; nh: "ah.nh"; ni: "ah.ni"; nj: "ah.nj"; nk: "ah.nk"; nl: "ah.nl"; nm: "ah.nm"; nn: "ah.nn"; no: "ah.no"; np: "ah.np"; nq: "ah.nq"; nr: "ah.nr"; ns: "ah.ns"; nt: "ah.nt"; nu: "ah.nu"; nv: "ah.nv"; nw: "ah.nw"; nx: "ah.nx"; ny: "ah.ny"; nz: "ah.nz"; oa: "ah.oa"; ob: "ah.ob"; oc: "ah.oc"; od: "ah.od"; oe: "ah.oe"; of: "ah.of"; og: "ah.og"; oh: "ah.oh"; oi: "ah.oi"; oj: "ah.oj"; ok: "ah.ok"; ol: "ah.ol"; om: "ah.om"; on: "ah.on"; oo: "ah.oo"; op: "ah.op"; oq: "ah.oq"; or: "ah.or"; os: "ah.os"; ot: "ah.ot"; ou: "ah.ou"; ov: "ah.ov"; ow: "ah.ow"; ox: "ah.ox"; oy: "ah.oy"; oz: "ah.oz"; pa: "ah.pa"; pb: "ah.pb"; pc: "ah.pc"; pd: "ah.pd"; pe: "ah.pe"; pf: "ah.pf"; pg: "ah.pg"; ph: "ah.ph"; pi: "ah.pi"; pj: "ah.pj"; pk: "ah.pk"; pl: "ah.pl"; pm: "ah.pm"; pn: "ah.pn"; po: "ah.po"; pp: "ah.pp"; pq: "ah.pq"; pr: "ah.pr"; ps: "ah.ps"; pt: "ah.pt"; pu: "ah.pu"; pv: "ah.pv"; pw: "ah.pw"; px: "ah.px"; py: "ah.py"; pz: "ah.pz"; qa: "ah.qa"; qb: "ah.qb"; qc: "ah.qc"; qd: "ah.qd"; qe: "ah.qe"; qf: "ah.qf"; qg: "ah.qg"; qh: "ah.qh"; qi: "ah.qi"; qj: "ah.qj"; qk: "ah.qk"; ql: "ah.ql"; qm: "ah.qm"; qn: "ah.qn"; qo: "ah.qo"; qp: "ah.qp"; qq: "ah.qq"; qr: "ah.qr"; qs: "ah.qs"; qt: "ah.qt"; qu: "ah.qu"; qv: "ah.qv"; qw: "ah.qw"; qx: "ah.qx"; qy: "ah.qy"; qz: "ah.qz"; ra: "ah.ra"; rb: "ah.rb"; rc: "ah.rc"; rd: "ah.rd"; re: "ah.re"; rf: "ah.rf"; rg: "ah.rg"; rh: "ah.rh"; ri: "ah.ri"; rj: "ah.rj"; rk: "ah.rk"; rl: "ah.rl"; rm: "ah.rm"; rn: "ah.rn"; ro: "ah.ro"; rp: "ah.rp"; rq: "ah.rq"; rr: "ah.rr"; rs: "ah.rs"; rt: "ah.rt"; ru: "ah.ru"; rv: "ah.rv"; rw: "ah.rw"; rx: "ah.rx"; ry: "ah.ry"; rz: "ah.rz"; sa: "ah.sa"; sb: "ah.sb"; sc: "ah.sc"; sd: "ah.sd"; se: "ah.se"; sf: "ah.sf"; sg: "ah.sg"; sh: "ah.sh"; si: "ah.si"; sj: "ah.sj"; sk: "ah.sk"; sl: "ah.sl"; sm: "ah.sm"; sn: "ah.sn"; so: "ah.so"; sp: "ah.sp"; sq: "ah.sq"; sr: "ah.sr"; ss: "ah.ss"; st: "ah.st"; su: "ah.su"; sv: "ah.sv"; sw: "ah.sw"; sx: "ah.sx"; sy: "ah.sy"; sz: "ah.sz"; ta: "ah.ta"; tb: "ah.tb"; tc: "ah.tc"; td: "ah.td"; te: "ah.te"; tf: "ah.tf"; tg: "ah.tg"; th: "ah.th"; ti: "ah.ti"; tj: "ah.tj"; tk: "ah.tk"; tl: "ah.tl"; tm: "ah.tm"; tn: "ah.tn"; to: "ah.to"; tp: "ah.tp"; tq: "ah.tq"; tr: "ah.tr"; ts: "ah.ts"; tt: "ah.tt"; tu: "ah.tu"; tv: "ah.tv"; tw: "ah.tw"; tx: "ah.tx"; ty: "ah.ty"; tz: "ah.tz"; ua: "ah.ua"; ub: "ah.ub"; uc: "ah.uc"; ud: "ah.ud"; ue: "ah.ue"; uf: "ah.uf"; ug: "ah.ug"; uh: "ah.uh"; ui: "ah.ui"; uj: "ah.uj"; uk: "ah.uk"; ul: "ah.ul"; um: "ah.um"; un: "ah.un"; uo: "ah.uo"; up: "ah.up"; uq: "ah.uq"; ur: "ah.ur"; us: "ah.us"; ut: "ah.ut"; uu: "ah.uu"; uv: "ah.uv"; uw: "ah.uw"; ux: "ah.ux"; uy: "ah.uy"; uz: "ah.uz"; va: "ah.va"; vb: "ah.vb"; vc: "ah.vc"; vd: "ah.vd"; ve: "ah.ve"; vf: "ah.vf"; vg: "ah.vg"; vh: "ah.vh"; vi: "ah.vi"; vj: "ah.vj"; vk: "ah.vk"; vl: "ah.vl"; vm: "ah.vm"; vn: "ah.vn"; vo: "ah.vo"; vp: "ah.vp"; vq: "ah.vq"; vr: "ah.vr"; vs: "ah.vs"; vt: "ah.vt"; vu: "ah.vu"; vv: "ah.vv"; vw: "ah.vw"; vx: "ah.vx"; vy: "ah.vy"; vz: "ah.vz"; wa: "ah.wa"; wb: "ah.wb"; wc: "ah.wc"; wd: "ah.wd"; we: "ah.we"; wf: "ah.wf"; wg: "ah.wg"; wh: "ah.wh"; wi: "ah.wi"; wj: "ah.wj"; wk: "ah.wk"; wl: "ah.wl"; wm: "ah.wm"; wn: "ah.wn"; wo: "ah.wo"; wp: "ah.wp"; wq: "ah.wq"; wr: "ah.wr"; ws: "ah.ws"; wt: "ah.wt"; wu: "ah.wu"; wv: "ah.wv"; ww: "ah.ww"; wx: "ah.wx"; wy: "ah.wy"; wz: "ah.wz"; xa: "ah.xa"; xb: "ah.xb"; xc: "ah.xc"; xd: "ah.xd"; xe: "ah.xe"; xf: "ah.xf"; xg: "ah.xg"; xh: "ah.xh"; xi: "ah.xi"; xj: "ah.xj"; xk: "ah.xk"; xl: "ah.xl"; xm: "ah.xm"; xn: "ah.xn"; xo: "ah.xo"; xp: "ah.xp"; xq: "ah.xq"; xr: "ah.xr"; xs: "ah.xs"; xt: "ah.xt"; xu: "ah.xu"; xv: "ah.xv"; xw: "ah.xw"; xx: "ah.xx"; xy: "ah.xy"; xz: "ah.xz"; ya: "ah.ya"; yb: "ah.yb"; yc: "ah.yc"; yd: "ah.yd"; ye: "ah.ye"; yf: "ah.yf"; yg: "ah.yg"; yh: "ah.yh"; yi: "ah.yi"; yj: "ah.yj"; yk: "ah.yk"; yl: "ah.yl"; ym: "ah.ym"; yn: "ah.yn"; yo: "ah.yo"; yp: "ah.yp"; yq: "ah.yq"; yr: "ah.yr"; ys: "ah.ys"; yt: "ah.yt"; yu: "ah.yu"; yv: "ah.yv"; yw: "ah.yw"; yx: "ah.yx"; yy: "ah.yy"; yz: "ah.yz"; za: "ah.za"; zb: "ah.zb"; zc: "ah.zc"; zd: "ah.zd"; ze: "ah.ze"; zf: "ah.zf"; zg: "ah.zg"; zh: "ah.zh"; zi: "ah.zi"; zj: "ah.zj"; zk: "ah.zk"; zl: "ah.zl"; zm: "ah.zm"; zn: "ah.zn"; zo: "ah.zo"; zp: "ah.zp"; zq: "ah.zq"; zr: "ah.zr"; zs: "ah.zs"; zt: "ah.zt"; zu: "ah.zu"; zv: "ah.zv"; zw: "ah.zw"; zx: "ah.zx"; zy: "ah.zy"; zz: "ah.zz"; }; ai: { aa: "ai.aa"; ab: "ai.ab"; ac: "ai.ac"; ad: "ai.ad"; ae: "ai.ae"; af: "ai.af"; ag: "ai.ag"; ah: "ai.ah"; ai: "ai.ai"; aj: "ai.aj"; ak: "ai.ak"; al: "ai.al"; am: "ai.am"; an: "ai.an"; ao: "ai.ao"; ap: "ai.ap"; aq: "ai.aq"; ar: "ai.ar"; as: "ai.as"; at: "ai.at"; au: "ai.au"; av: "ai.av"; aw: "ai.aw"; ax: "ai.ax"; ay: "ai.ay"; az: "ai.az"; ba: "ai.ba"; bb: "ai.bb"; bc: "ai.bc"; bd: "ai.bd"; be: "ai.be"; bf: "ai.bf"; bg: "ai.bg"; bh: "ai.bh"; bi: "ai.bi"; bj: "ai.bj"; bk: "ai.bk"; bl: "ai.bl"; bm: "ai.bm"; bn: "ai.bn"; bo: "ai.bo"; bp: "ai.bp"; bq: "ai.bq"; br: "ai.br"; bs: "ai.bs"; bt: "ai.bt"; bu: "ai.bu"; bv: "ai.bv"; bw: "ai.bw"; bx: "ai.bx"; by: "ai.by"; bz: "ai.bz"; ca: "ai.ca"; cb: "ai.cb"; cc: "ai.cc"; cd: "ai.cd"; ce: "ai.ce"; cf: "ai.cf"; cg: "ai.cg"; ch: "ai.ch"; ci: "ai.ci"; cj: "ai.cj"; ck: "ai.ck"; cl: "ai.cl"; cm: "ai.cm"; cn: "ai.cn"; co: "ai.co"; cp: "ai.cp"; cq: "ai.cq"; cr: "ai.cr"; cs: "ai.cs"; ct: "ai.ct"; cu: "ai.cu"; cv: "ai.cv"; cw: "ai.cw"; cx: "ai.cx"; cy: "ai.cy"; cz: "ai.cz"; da: "ai.da"; db: "ai.db"; dc: "ai.dc"; dd: "ai.dd"; de: "ai.de"; df: "ai.df"; dg: "ai.dg"; dh: "ai.dh"; di: "ai.di"; dj: "ai.dj"; dk: "ai.dk"; dl: "ai.dl"; dm: "ai.dm"; dn: "ai.dn"; do: "ai.do"; dp: "ai.dp"; dq: "ai.dq"; dr: "ai.dr"; ds: "ai.ds"; dt: "ai.dt"; du: "ai.du"; dv: "ai.dv"; dw: "ai.dw"; dx: "ai.dx"; dy: "ai.dy"; dz: "ai.dz"; ea: "ai.ea"; eb: "ai.eb"; ec: "ai.ec"; ed: "ai.ed"; ee: "ai.ee"; ef: "ai.ef"; eg: "ai.eg"; eh: "ai.eh"; ei: "ai.ei"; ej: "ai.ej"; ek: "ai.ek"; el: "ai.el"; em: "ai.em"; en: "ai.en"; eo: "ai.eo"; ep: "ai.ep"; eq: "ai.eq"; er: "ai.er"; es: "ai.es"; et: "ai.et"; eu: "ai.eu"; ev: "ai.ev"; ew: "ai.ew"; ex: "ai.ex"; ey: "ai.ey"; ez: "ai.ez"; fa: "ai.fa"; fb: "ai.fb"; fc: "ai.fc"; fd: "ai.fd"; fe: "ai.fe"; ff: "ai.ff"; fg: "ai.fg"; fh: "ai.fh"; fi: "ai.fi"; fj: "ai.fj"; fk: "ai.fk"; fl: "ai.fl"; fm: "ai.fm"; fn: "ai.fn"; fo: "ai.fo"; fp: "ai.fp"; fq: "ai.fq"; fr: "ai.fr"; fs: "ai.fs"; ft: "ai.ft"; fu: "ai.fu"; fv: "ai.fv"; fw: "ai.fw"; fx: "ai.fx"; fy: "ai.fy"; fz: "ai.fz"; ga: "ai.ga"; gb: "ai.gb"; gc: "ai.gc"; gd: "ai.gd"; ge: "ai.ge"; gf: "ai.gf"; gg: "ai.gg"; gh: "ai.gh"; gi: "ai.gi"; gj: "ai.gj"; gk: "ai.gk"; gl: "ai.gl"; gm: "ai.gm"; gn: "ai.gn"; go: "ai.go"; gp: "ai.gp"; gq: "ai.gq"; gr: "ai.gr"; gs: "ai.gs"; gt: "ai.gt"; gu: "ai.gu"; gv: "ai.gv"; gw: "ai.gw"; gx: "ai.gx"; gy: "ai.gy"; gz: "ai.gz"; ha: "ai.ha"; hb: "ai.hb"; hc: "ai.hc"; hd: "ai.hd"; he: "ai.he"; hf: "ai.hf"; hg: "ai.hg"; hh: "ai.hh"; hi: "ai.hi"; hj: "ai.hj"; hk: "ai.hk"; hl: "ai.hl"; hm: "ai.hm"; hn: "ai.hn"; ho: "ai.ho"; hp: "ai.hp"; hq: "ai.hq"; hr: "ai.hr"; hs: "ai.hs"; ht: "ai.ht"; hu: "ai.hu"; hv: "ai.hv"; hw: "ai.hw"; hx: "ai.hx"; hy: "ai.hy"; hz: "ai.hz"; ia: "ai.ia"; ib: "ai.ib"; ic: "ai.ic"; id: "ai.id"; ie: "ai.ie"; if: "ai.if"; ig: "ai.ig"; ih: "ai.ih"; ii: "ai.ii"; ij: "ai.ij"; ik: "ai.ik"; il: "ai.il"; im: "ai.im"; in: "ai.in"; io: "ai.io"; ip: "ai.ip"; iq: "ai.iq"; ir: "ai.ir"; is: "ai.is"; it: "ai.it"; iu: "ai.iu"; iv: "ai.iv"; iw: "ai.iw"; ix: "ai.ix"; iy: "ai.iy"; iz: "ai.iz"; ja: "ai.ja"; jb: "ai.jb"; jc: "ai.jc"; jd: "ai.jd"; je: "ai.je"; jf: "ai.jf"; jg: "ai.jg"; jh: "ai.jh"; ji: "ai.ji"; jj: "ai.jj"; jk: "ai.jk"; jl: "ai.jl"; jm: "ai.jm"; jn: "ai.jn"; jo: "ai.jo"; jp: "ai.jp"; jq: "ai.jq"; jr: "ai.jr"; js: "ai.js"; jt: "ai.jt"; ju: "ai.ju"; jv: "ai.jv"; jw: "ai.jw"; jx: "ai.jx"; jy: "ai.jy"; jz: "ai.jz"; ka: "ai.ka"; kb: "ai.kb"; kc: "ai.kc"; kd: "ai.kd"; ke: "ai.ke"; kf: "ai.kf"; kg: "ai.kg"; kh: "ai.kh"; ki: "ai.ki"; kj: "ai.kj"; kk: "ai.kk"; kl: "ai.kl"; km: "ai.km"; kn: "ai.kn"; ko: "ai.ko"; kp: "ai.kp"; kq: "ai.kq"; kr: "ai.kr"; ks: "ai.ks"; kt: "ai.kt"; ku: "ai.ku"; kv: "ai.kv"; kw: "ai.kw"; kx: "ai.kx"; ky: "ai.ky"; kz: "ai.kz"; la: "ai.la"; lb: "ai.lb"; lc: "ai.lc"; ld: "ai.ld"; le: "ai.le"; lf: "ai.lf"; lg: "ai.lg"; lh: "ai.lh"; li: "ai.li"; lj: "ai.lj"; lk: "ai.lk"; ll: "ai.ll"; lm: "ai.lm"; ln: "ai.ln"; lo: "ai.lo"; lp: "ai.lp"; lq: "ai.lq"; lr: "ai.lr"; ls: "ai.ls"; lt: "ai.lt"; lu: "ai.lu"; lv: "ai.lv"; lw: "ai.lw"; lx: "ai.lx"; ly: "ai.ly"; lz: "ai.lz"; ma: "ai.ma"; mb: "ai.mb"; mc: "ai.mc"; md: "ai.md"; me: "ai.me"; mf: "ai.mf"; mg: "ai.mg"; mh: "ai.mh"; mi: "ai.mi"; mj: "ai.mj"; mk: "ai.mk"; ml: "ai.ml"; mm: "ai.mm"; mn: "ai.mn"; mo: "ai.mo"; mp: "ai.mp"; mq: "ai.mq"; mr: "ai.mr"; ms: "ai.ms"; mt: "ai.mt"; mu: "ai.mu"; mv: "ai.mv"; mw: "ai.mw"; mx: "ai.mx"; my: "ai.my"; mz: "ai.mz"; na: "ai.na"; nb: "ai.nb"; nc: "ai.nc"; nd: "ai.nd"; ne: "ai.ne"; nf: "ai.nf"; ng: "ai.ng"; nh: "ai.nh"; ni: "ai.ni"; nj: "ai.nj"; nk: "ai.nk"; nl: "ai.nl"; nm: "ai.nm"; nn: "ai.nn"; no: "ai.no"; np: "ai.np"; nq: "ai.nq"; nr: "ai.nr"; ns: "ai.ns"; nt: "ai.nt"; nu: "ai.nu"; nv: "ai.nv"; nw: "ai.nw"; nx: "ai.nx"; ny: "ai.ny"; nz: "ai.nz"; oa: "ai.oa"; ob: "ai.ob"; oc: "ai.oc"; od: "ai.od"; oe: "ai.oe"; of: "ai.of"; og: "ai.og"; oh: "ai.oh"; oi: "ai.oi"; oj: "ai.oj"; ok: "ai.ok"; ol: "ai.ol"; om: "ai.om"; on: "ai.on"; oo: "ai.oo"; op: "ai.op"; oq: "ai.oq"; or: "ai.or"; os: "ai.os"; ot: "ai.ot"; ou: "ai.ou"; ov: "ai.ov"; ow: "ai.ow"; ox: "ai.ox"; oy: "ai.oy"; oz: "ai.oz"; pa: "ai.pa"; pb: "ai.pb"; pc: "ai.pc"; pd: "ai.pd"; pe: "ai.pe"; pf: "ai.pf"; pg: "ai.pg"; ph: "ai.ph"; pi: "ai.pi"; pj: "ai.pj"; pk: "ai.pk"; pl: "ai.pl"; pm: "ai.pm"; pn: "ai.pn"; po: "ai.po"; pp: "ai.pp"; pq: "ai.pq"; pr: "ai.pr"; ps: "ai.ps"; pt: "ai.pt"; pu: "ai.pu"; pv: "ai.pv"; pw: "ai.pw"; px: "ai.px"; py: "ai.py"; pz: "ai.pz"; qa: "ai.qa"; qb: "ai.qb"; qc: "ai.qc"; qd: "ai.qd"; qe: "ai.qe"; qf: "ai.qf"; qg: "ai.qg"; qh: "ai.qh"; qi: "ai.qi"; qj: "ai.qj"; qk: "ai.qk"; ql: "ai.ql"; qm: "ai.qm"; qn: "ai.qn"; qo: "ai.qo"; qp: "ai.qp"; qq: "ai.qq"; qr: "ai.qr"; qs: "ai.qs"; qt: "ai.qt"; qu: "ai.qu"; qv: "ai.qv"; qw: "ai.qw"; qx: "ai.qx"; qy: "ai.qy"; qz: "ai.qz"; ra: "ai.ra"; rb: "ai.rb"; rc: "ai.rc"; rd: "ai.rd"; re: "ai.re"; rf: "ai.rf"; rg: "ai.rg"; rh: "ai.rh"; ri: "ai.ri"; rj: "ai.rj"; rk: "ai.rk"; rl: "ai.rl"; rm: "ai.rm"; rn: "ai.rn"; ro: "ai.ro"; rp: "ai.rp"; rq: "ai.rq"; rr: "ai.rr"; rs: "ai.rs"; rt: "ai.rt"; ru: "ai.ru"; rv: "ai.rv"; rw: "ai.rw"; rx: "ai.rx"; ry: "ai.ry"; rz: "ai.rz"; sa: "ai.sa"; sb: "ai.sb"; sc: "ai.sc"; sd: "ai.sd"; se: "ai.se"; sf: "ai.sf"; sg: "ai.sg"; sh: "ai.sh"; si: "ai.si"; sj: "ai.sj"; sk: "ai.sk"; sl: "ai.sl"; sm: "ai.sm"; sn: "ai.sn"; so: "ai.so"; sp: "ai.sp"; sq: "ai.sq"; sr: "ai.sr"; ss: "ai.ss"; st: "ai.st"; su: "ai.su"; sv: "ai.sv"; sw: "ai.sw"; sx: "ai.sx"; sy: "ai.sy"; sz: "ai.sz"; ta: "ai.ta"; tb: "ai.tb"; tc: "ai.tc"; td: "ai.td"; te: "ai.te"; tf: "ai.tf"; tg: "ai.tg"; th: "ai.th"; ti: "ai.ti"; tj: "ai.tj"; tk: "ai.tk"; tl: "ai.tl"; tm: "ai.tm"; tn: "ai.tn"; to: "ai.to"; tp: "ai.tp"; tq: "ai.tq"; tr: "ai.tr"; ts: "ai.ts"; tt: "ai.tt"; tu: "ai.tu"; tv: "ai.tv"; tw: "ai.tw"; tx: "ai.tx"; ty: "ai.ty"; tz: "ai.tz"; ua: "ai.ua"; ub: "ai.ub"; uc: "ai.uc"; ud: "ai.ud"; ue: "ai.ue"; uf: "ai.uf"; ug: "ai.ug"; uh: "ai.uh"; ui: "ai.ui"; uj: "ai.uj"; uk: "ai.uk"; ul: "ai.ul"; um: "ai.um"; un: "ai.un"; uo: "ai.uo"; up: "ai.up"; uq: "ai.uq"; ur: "ai.ur"; us: "ai.us"; ut: "ai.ut"; uu: "ai.uu"; uv: "ai.uv"; uw: "ai.uw"; ux: "ai.ux"; uy: "ai.uy"; uz: "ai.uz"; va: "ai.va"; vb: "ai.vb"; vc: "ai.vc"; vd: "ai.vd"; ve: "ai.ve"; vf: "ai.vf"; vg: "ai.vg"; vh: "ai.vh"; vi: "ai.vi"; vj: "ai.vj"; vk: "ai.vk"; vl: "ai.vl"; vm: "ai.vm"; vn: "ai.vn"; vo: "ai.vo"; vp: "ai.vp"; vq: "ai.vq"; vr: "ai.vr"; vs: "ai.vs"; vt: "ai.vt"; vu: "ai.vu"; vv: "ai.vv"; vw: "ai.vw"; vx: "ai.vx"; vy: "ai.vy"; vz: "ai.vz"; wa: "ai.wa"; wb: "ai.wb"; wc: "ai.wc"; wd: "ai.wd"; we: "ai.we"; wf: "ai.wf"; wg: "ai.wg"; wh: "ai.wh"; wi: "ai.wi"; wj: "ai.wj"; wk: "ai.wk"; wl: "ai.wl"; wm: "ai.wm"; wn: "ai.wn"; wo: "ai.wo"; wp: "ai.wp"; wq: "ai.wq"; wr: "ai.wr"; ws: "ai.ws"; wt: "ai.wt"; wu: "ai.wu"; wv: "ai.wv"; ww: "ai.ww"; wx: "ai.wx"; wy: "ai.wy"; wz: "ai.wz"; xa: "ai.xa"; xb: "ai.xb"; xc: "ai.xc"; xd: "ai.xd"; xe: "ai.xe"; xf: "ai.xf"; xg: "ai.xg"; xh: "ai.xh"; xi: "ai.xi"; xj: "ai.xj"; xk: "ai.xk"; xl: "ai.xl"; xm: "ai.xm"; xn: "ai.xn"; xo: "ai.xo"; xp: "ai.xp"; xq: "ai.xq"; xr: "ai.xr"; xs: "ai.xs"; xt: "ai.xt"; xu: "ai.xu"; xv: "ai.xv"; xw: "ai.xw"; xx: "ai.xx"; xy: "ai.xy"; xz: "ai.xz"; ya: "ai.ya"; yb: "ai.yb"; yc: "ai.yc"; yd: "ai.yd"; ye: "ai.ye"; yf: "ai.yf"; yg: "ai.yg"; yh: "ai.yh"; yi: "ai.yi"; yj: "ai.yj"; yk: "ai.yk"; yl: "ai.yl"; ym: "ai.ym"; yn: "ai.yn"; yo: "ai.yo"; yp: "ai.yp"; yq: "ai.yq"; yr: "ai.yr"; ys: "ai.ys"; yt: "ai.yt"; yu: "ai.yu"; yv: "ai.yv"; yw: "ai.yw"; yx: "ai.yx"; yy: "ai.yy"; yz: "ai.yz"; za: "ai.za"; zb: "ai.zb"; zc: "ai.zc"; zd: "ai.zd"; ze: "ai.ze"; zf: "ai.zf"; zg: "ai.zg"; zh: "ai.zh"; zi: "ai.zi"; zj: "ai.zj"; zk: "ai.zk"; zl: "ai.zl"; zm: "ai.zm"; zn: "ai.zn"; zo: "ai.zo"; zp: "ai.zp"; zq: "ai.zq"; zr: "ai.zr"; zs: "ai.zs"; zt: "ai.zt"; zu: "ai.zu"; zv: "ai.zv"; zw: "ai.zw"; zx: "ai.zx"; zy: "ai.zy"; zz: "ai.zz"; }; aj: { aa: "aj.aa"; ab: "aj.ab"; ac: "aj.ac"; ad: "aj.ad"; ae: "aj.ae"; af: "aj.af"; ag: "aj.ag"; ah: "aj.ah"; ai: "aj.ai"; aj: "aj.aj"; ak: "aj.ak"; al: "aj.al"; am: "aj.am"; an: "aj.an"; ao: "aj.ao"; ap: "aj.ap"; aq: "aj.aq"; ar: "aj.ar"; as: "aj.as"; at: "aj.at"; au: "aj.au"; av: "aj.av"; aw: "aj.aw"; ax: "aj.ax"; ay: "aj.ay"; az: "aj.az"; ba: "aj.ba"; bb: "aj.bb"; bc: "aj.bc"; bd: "aj.bd"; be: "aj.be"; bf: "aj.bf"; bg: "aj.bg"; bh: "aj.bh"; bi: "aj.bi"; bj: "aj.bj"; bk: "aj.bk"; bl: "aj.bl"; bm: "aj.bm"; bn: "aj.bn"; bo: "aj.bo"; bp: "aj.bp"; bq: "aj.bq"; br: "aj.br"; bs: "aj.bs"; bt: "aj.bt"; bu: "aj.bu"; bv: "aj.bv"; bw: "aj.bw"; bx: "aj.bx"; by: "aj.by"; bz: "aj.bz"; ca: "aj.ca"; cb: "aj.cb"; cc: "aj.cc"; cd: "aj.cd"; ce: "aj.ce"; cf: "aj.cf"; cg: "aj.cg"; ch: "aj.ch"; ci: "aj.ci"; cj: "aj.cj"; ck: "aj.ck"; cl: "aj.cl"; cm: "aj.cm"; cn: "aj.cn"; co: "aj.co"; cp: "aj.cp"; cq: "aj.cq"; cr: "aj.cr"; cs: "aj.cs"; ct: "aj.ct"; cu: "aj.cu"; cv: "aj.cv"; cw: "aj.cw"; cx: "aj.cx"; cy: "aj.cy"; cz: "aj.cz"; da: "aj.da"; db: "aj.db"; dc: "aj.dc"; dd: "aj.dd"; de: "aj.de"; df: "aj.df"; dg: "aj.dg"; dh: "aj.dh"; di: "aj.di"; dj: "aj.dj"; dk: "aj.dk"; dl: "aj.dl"; dm: "aj.dm"; dn: "aj.dn"; do: "aj.do"; dp: "aj.dp"; dq: "aj.dq"; dr: "aj.dr"; ds: "aj.ds"; dt: "aj.dt"; du: "aj.du"; dv: "aj.dv"; dw: "aj.dw"; dx: "aj.dx"; dy: "aj.dy"; dz: "aj.dz"; ea: "aj.ea"; eb: "aj.eb"; ec: "aj.ec"; ed: "aj.ed"; ee: "aj.ee"; ef: "aj.ef"; eg: "aj.eg"; eh: "aj.eh"; ei: "aj.ei"; ej: "aj.ej"; ek: "aj.ek"; el: "aj.el"; em: "aj.em"; en: "aj.en"; eo: "aj.eo"; ep: "aj.ep"; eq: "aj.eq"; er: "aj.er"; es: "aj.es"; et: "aj.et"; eu: "aj.eu"; ev: "aj.ev"; ew: "aj.ew"; ex: "aj.ex"; ey: "aj.ey"; ez: "aj.ez"; fa: "aj.fa"; fb: "aj.fb"; fc: "aj.fc"; fd: "aj.fd"; fe: "aj.fe"; ff: "aj.ff"; fg: "aj.fg"; fh: "aj.fh"; fi: "aj.fi"; fj: "aj.fj"; fk: "aj.fk"; fl: "aj.fl"; fm: "aj.fm"; fn: "aj.fn"; fo: "aj.fo"; fp: "aj.fp"; fq: "aj.fq"; fr: "aj.fr"; fs: "aj.fs"; ft: "aj.ft"; fu: "aj.fu"; fv: "aj.fv"; fw: "aj.fw"; fx: "aj.fx"; fy: "aj.fy"; fz: "aj.fz"; ga: "aj.ga"; gb: "aj.gb"; gc: "aj.gc"; gd: "aj.gd"; ge: "aj.ge"; gf: "aj.gf"; gg: "aj.gg"; gh: "aj.gh"; gi: "aj.gi"; gj: "aj.gj"; gk: "aj.gk"; gl: "aj.gl"; gm: "aj.gm"; gn: "aj.gn"; go: "aj.go"; gp: "aj.gp"; gq: "aj.gq"; gr: "aj.gr"; gs: "aj.gs"; gt: "aj.gt"; gu: "aj.gu"; gv: "aj.gv"; gw: "aj.gw"; gx: "aj.gx"; gy: "aj.gy"; gz: "aj.gz"; ha: "aj.ha"; hb: "aj.hb"; hc: "aj.hc"; hd: "aj.hd"; he: "aj.he"; hf: "aj.hf"; hg: "aj.hg"; hh: "aj.hh"; hi: "aj.hi"; hj: "aj.hj"; hk: "aj.hk"; hl: "aj.hl"; hm: "aj.hm"; hn: "aj.hn"; ho: "aj.ho"; hp: "aj.hp"; hq: "aj.hq"; hr: "aj.hr"; hs: "aj.hs"; ht: "aj.ht"; hu: "aj.hu"; hv: "aj.hv"; hw: "aj.hw"; hx: "aj.hx"; hy: "aj.hy"; hz: "aj.hz"; ia: "aj.ia"; ib: "aj.ib"; ic: "aj.ic"; id: "aj.id"; ie: "aj.ie"; if: "aj.if"; ig: "aj.ig"; ih: "aj.ih"; ii: "aj.ii"; ij: "aj.ij"; ik: "aj.ik"; il: "aj.il"; im: "aj.im"; in: "aj.in"; io: "aj.io"; ip: "aj.ip"; iq: "aj.iq"; ir: "aj.ir"; is: "aj.is"; it: "aj.it"; iu: "aj.iu"; iv: "aj.iv"; iw: "aj.iw"; ix: "aj.ix"; iy: "aj.iy"; iz: "aj.iz"; ja: "aj.ja"; jb: "aj.jb"; jc: "aj.jc"; jd: "aj.jd"; je: "aj.je"; jf: "aj.jf"; jg: "aj.jg"; jh: "aj.jh"; ji: "aj.ji"; jj: "aj.jj"; jk: "aj.jk"; jl: "aj.jl"; jm: "aj.jm"; jn: "aj.jn"; jo: "aj.jo"; jp: "aj.jp"; jq: "aj.jq"; jr: "aj.jr"; js: "aj.js"; jt: "aj.jt"; ju: "aj.ju"; jv: "aj.jv"; jw: "aj.jw"; jx: "aj.jx"; jy: "aj.jy"; jz: "aj.jz"; ka: "aj.ka"; kb: "aj.kb"; kc: "aj.kc"; kd: "aj.kd"; ke: "aj.ke"; kf: "aj.kf"; kg: "aj.kg"; kh: "aj.kh"; ki: "aj.ki"; kj: "aj.kj"; kk: "aj.kk"; kl: "aj.kl"; km: "aj.km"; kn: "aj.kn"; ko: "aj.ko"; kp: "aj.kp"; kq: "aj.kq"; kr: "aj.kr"; ks: "aj.ks"; kt: "aj.kt"; ku: "aj.ku"; kv: "aj.kv"; kw: "aj.kw"; kx: "aj.kx"; ky: "aj.ky"; kz: "aj.kz"; la: "aj.la"; lb: "aj.lb"; lc: "aj.lc"; ld: "aj.ld"; le: "aj.le"; lf: "aj.lf"; lg: "aj.lg"; lh: "aj.lh"; li: "aj.li"; lj: "aj.lj"; lk: "aj.lk"; ll: "aj.ll"; lm: "aj.lm"; ln: "aj.ln"; lo: "aj.lo"; lp: "aj.lp"; lq: "aj.lq"; lr: "aj.lr"; ls: "aj.ls"; lt: "aj.lt"; lu: "aj.lu"; lv: "aj.lv"; lw: "aj.lw"; lx: "aj.lx"; ly: "aj.ly"; lz: "aj.lz"; ma: "aj.ma"; mb: "aj.mb"; mc: "aj.mc"; md: "aj.md"; me: "aj.me"; mf: "aj.mf"; mg: "aj.mg"; mh: "aj.mh"; mi: "aj.mi"; mj: "aj.mj"; mk: "aj.mk"; ml: "aj.ml"; mm: "aj.mm"; mn: "aj.mn"; mo: "aj.mo"; mp: "aj.mp"; mq: "aj.mq"; mr: "aj.mr"; ms: "aj.ms"; mt: "aj.mt"; mu: "aj.mu"; mv: "aj.mv"; mw: "aj.mw"; mx: "aj.mx"; my: "aj.my"; mz: "aj.mz"; na: "aj.na"; nb: "aj.nb"; nc: "aj.nc"; nd: "aj.nd"; ne: "aj.ne"; nf: "aj.nf"; ng: "aj.ng"; nh: "aj.nh"; ni: "aj.ni"; nj: "aj.nj"; nk: "aj.nk"; nl: "aj.nl"; nm: "aj.nm"; nn: "aj.nn"; no: "aj.no"; np: "aj.np"; nq: "aj.nq"; nr: "aj.nr"; ns: "aj.ns"; nt: "aj.nt"; nu: "aj.nu"; nv: "aj.nv"; nw: "aj.nw"; nx: "aj.nx"; ny: "aj.ny"; nz: "aj.nz"; oa: "aj.oa"; ob: "aj.ob"; oc: "aj.oc"; od: "aj.od"; oe: "aj.oe"; of: "aj.of"; og: "aj.og"; oh: "aj.oh"; oi: "aj.oi"; oj: "aj.oj"; ok: "aj.ok"; ol: "aj.ol"; om: "aj.om"; on: "aj.on"; oo: "aj.oo"; op: "aj.op"; oq: "aj.oq"; or: "aj.or"; os: "aj.os"; ot: "aj.ot"; ou: "aj.ou"; ov: "aj.ov"; ow: "aj.ow"; ox: "aj.ox"; oy: "aj.oy"; oz: "aj.oz"; pa: "aj.pa"; pb: "aj.pb"; pc: "aj.pc"; pd: "aj.pd"; pe: "aj.pe"; pf: "aj.pf"; pg: "aj.pg"; ph: "aj.ph"; pi: "aj.pi"; pj: "aj.pj"; pk: "aj.pk"; pl: "aj.pl"; pm: "aj.pm"; pn: "aj.pn"; po: "aj.po"; pp: "aj.pp"; pq: "aj.pq"; pr: "aj.pr"; ps: "aj.ps"; pt: "aj.pt"; pu: "aj.pu"; pv: "aj.pv"; pw: "aj.pw"; px: "aj.px"; py: "aj.py"; pz: "aj.pz"; qa: "aj.qa"; qb: "aj.qb"; qc: "aj.qc"; qd: "aj.qd"; qe: "aj.qe"; qf: "aj.qf"; qg: "aj.qg"; qh: "aj.qh"; qi: "aj.qi"; qj: "aj.qj"; qk: "aj.qk"; ql: "aj.ql"; qm: "aj.qm"; qn: "aj.qn"; qo: "aj.qo"; qp: "aj.qp"; qq: "aj.qq"; qr: "aj.qr"; qs: "aj.qs"; qt: "aj.qt"; qu: "aj.qu"; qv: "aj.qv"; qw: "aj.qw"; qx: "aj.qx"; qy: "aj.qy"; qz: "aj.qz"; ra: "aj.ra"; rb: "aj.rb"; rc: "aj.rc"; rd: "aj.rd"; re: "aj.re"; rf: "aj.rf"; rg: "aj.rg"; rh: "aj.rh"; ri: "aj.ri"; rj: "aj.rj"; rk: "aj.rk"; rl: "aj.rl"; rm: "aj.rm"; rn: "aj.rn"; ro: "aj.ro"; rp: "aj.rp"; rq: "aj.rq"; rr: "aj.rr"; rs: "aj.rs"; rt: "aj.rt"; ru: "aj.ru"; rv: "aj.rv"; rw: "aj.rw"; rx: "aj.rx"; ry: "aj.ry"; rz: "aj.rz"; sa: "aj.sa"; sb: "aj.sb"; sc: "aj.sc"; sd: "aj.sd"; se: "aj.se"; sf: "aj.sf"; sg: "aj.sg"; sh: "aj.sh"; si: "aj.si"; sj: "aj.sj"; sk: "aj.sk"; sl: "aj.sl"; sm: "aj.sm"; sn: "aj.sn"; so: "aj.so"; sp: "aj.sp"; sq: "aj.sq"; sr: "aj.sr"; ss: "aj.ss"; st: "aj.st"; su: "aj.su"; sv: "aj.sv"; sw: "aj.sw"; sx: "aj.sx"; sy: "aj.sy"; sz: "aj.sz"; ta: "aj.ta"; tb: "aj.tb"; tc: "aj.tc"; td: "aj.td"; te: "aj.te"; tf: "aj.tf"; tg: "aj.tg"; th: "aj.th"; ti: "aj.ti"; tj: "aj.tj"; tk: "aj.tk"; tl: "aj.tl"; tm: "aj.tm"; tn: "aj.tn"; to: "aj.to"; tp: "aj.tp"; tq: "aj.tq"; tr: "aj.tr"; ts: "aj.ts"; tt: "aj.tt"; tu: "aj.tu"; tv: "aj.tv"; tw: "aj.tw"; tx: "aj.tx"; ty: "aj.ty"; tz: "aj.tz"; ua: "aj.ua"; ub: "aj.ub"; uc: "aj.uc"; ud: "aj.ud"; ue: "aj.ue"; uf: "aj.uf"; ug: "aj.ug"; uh: "aj.uh"; ui: "aj.ui"; uj: "aj.uj"; uk: "aj.uk"; ul: "aj.ul"; um: "aj.um"; un: "aj.un"; uo: "aj.uo"; up: "aj.up"; uq: "aj.uq"; ur: "aj.ur"; us: "aj.us"; ut: "aj.ut"; uu: "aj.uu"; uv: "aj.uv"; uw: "aj.uw"; ux: "aj.ux"; uy: "aj.uy"; uz: "aj.uz"; va: "aj.va"; vb: "aj.vb"; vc: "aj.vc"; vd: "aj.vd"; ve: "aj.ve"; vf: "aj.vf"; vg: "aj.vg"; vh: "aj.vh"; vi: "aj.vi"; vj: "aj.vj"; vk: "aj.vk"; vl: "aj.vl"; vm: "aj.vm"; vn: "aj.vn"; vo: "aj.vo"; vp: "aj.vp"; vq: "aj.vq"; vr: "aj.vr"; vs: "aj.vs"; vt: "aj.vt"; vu: "aj.vu"; vv: "aj.vv"; vw: "aj.vw"; vx: "aj.vx"; vy: "aj.vy"; vz: "aj.vz"; wa: "aj.wa"; wb: "aj.wb"; wc: "aj.wc"; wd: "aj.wd"; we: "aj.we"; wf: "aj.wf"; wg: "aj.wg"; wh: "aj.wh"; wi: "aj.wi"; wj: "aj.wj"; wk: "aj.wk"; wl: "aj.wl"; wm: "aj.wm"; wn: "aj.wn"; wo: "aj.wo"; wp: "aj.wp"; wq: "aj.wq"; wr: "aj.wr"; ws: "aj.ws"; wt: "aj.wt"; wu: "aj.wu"; wv: "aj.wv"; ww: "aj.ww"; wx: "aj.wx"; wy: "aj.wy"; wz: "aj.wz"; xa: "aj.xa"; xb: "aj.xb"; xc: "aj.xc"; xd: "aj.xd"; xe: "aj.xe"; xf: "aj.xf"; xg: "aj.xg"; xh: "aj.xh"; xi: "aj.xi"; xj: "aj.xj"; xk: "aj.xk"; xl: "aj.xl"; xm: "aj.xm"; xn: "aj.xn"; xo: "aj.xo"; xp: "aj.xp"; xq: "aj.xq"; xr: "aj.xr"; xs: "aj.xs"; xt: "aj.xt"; xu: "aj.xu"; xv: "aj.xv"; xw: "aj.xw"; xx: "aj.xx"; xy: "aj.xy"; xz: "aj.xz"; ya: "aj.ya"; yb: "aj.yb"; yc: "aj.yc"; yd: "aj.yd"; ye: "aj.ye"; yf: "aj.yf"; yg: "aj.yg"; yh: "aj.yh"; yi: "aj.yi"; yj: "aj.yj"; yk: "aj.yk"; yl: "aj.yl"; ym: "aj.ym"; yn: "aj.yn"; yo: "aj.yo"; yp: "aj.yp"; yq: "aj.yq"; yr: "aj.yr"; ys: "aj.ys"; yt: "aj.yt"; yu: "aj.yu"; yv: "aj.yv"; yw: "aj.yw"; yx: "aj.yx"; yy: "aj.yy"; yz: "aj.yz"; za: "aj.za"; zb: "aj.zb"; zc: "aj.zc"; zd: "aj.zd"; ze: "aj.ze"; zf: "aj.zf"; zg: "aj.zg"; zh: "aj.zh"; zi: "aj.zi"; zj: "aj.zj"; zk: "aj.zk"; zl: "aj.zl"; zm: "aj.zm"; zn: "aj.zn"; zo: "aj.zo"; zp: "aj.zp"; zq: "aj.zq"; zr: "aj.zr"; zs: "aj.zs"; zt: "aj.zt"; zu: "aj.zu"; zv: "aj.zv"; zw: "aj.zw"; zx: "aj.zx"; zy: "aj.zy"; zz: "aj.zz"; }; ak: { aa: "ak.aa"; ab: "ak.ab"; ac: "ak.ac"; ad: "ak.ad"; ae: "ak.ae"; af: "ak.af"; ag: "ak.ag"; ah: "ak.ah"; ai: "ak.ai"; aj: "ak.aj"; ak: "ak.ak"; al: "ak.al"; am: "ak.am"; an: "ak.an"; ao: "ak.ao"; ap: "ak.ap"; aq: "ak.aq"; ar: "ak.ar"; as: "ak.as"; at: "ak.at"; au: "ak.au"; av: "ak.av"; aw: "ak.aw"; ax: "ak.ax"; ay: "ak.ay"; az: "ak.az"; ba: "ak.ba"; bb: "ak.bb"; bc: "ak.bc"; bd: "ak.bd"; be: "ak.be"; bf: "ak.bf"; bg: "ak.bg"; bh: "ak.bh"; bi: "ak.bi"; bj: "ak.bj"; bk: "ak.bk"; bl: "ak.bl"; bm: "ak.bm"; bn: "ak.bn"; bo: "ak.bo"; bp: "ak.bp"; bq: "ak.bq"; br: "ak.br"; bs: "ak.bs"; bt: "ak.bt"; bu: "ak.bu"; bv: "ak.bv"; bw: "ak.bw"; bx: "ak.bx"; by: "ak.by"; bz: "ak.bz"; ca: "ak.ca"; cb: "ak.cb"; cc: "ak.cc"; cd: "ak.cd"; ce: "ak.ce"; cf: "ak.cf"; cg: "ak.cg"; ch: "ak.ch"; ci: "ak.ci"; cj: "ak.cj"; ck: "ak.ck"; cl: "ak.cl"; cm: "ak.cm"; cn: "ak.cn"; co: "ak.co"; cp: "ak.cp"; cq: "ak.cq"; cr: "ak.cr"; cs: "ak.cs"; ct: "ak.ct"; cu: "ak.cu"; cv: "ak.cv"; cw: "ak.cw"; cx: "ak.cx"; cy: "ak.cy"; cz: "ak.cz"; da: "ak.da"; db: "ak.db"; dc: "ak.dc"; dd: "ak.dd"; de: "ak.de"; df: "ak.df"; dg: "ak.dg"; dh: "ak.dh"; di: "ak.di"; dj: "ak.dj"; dk: "ak.dk"; dl: "ak.dl"; dm: "ak.dm"; dn: "ak.dn"; do: "ak.do"; dp: "ak.dp"; dq: "ak.dq"; dr: "ak.dr"; ds: "ak.ds"; dt: "ak.dt"; du: "ak.du"; dv: "ak.dv"; dw: "ak.dw"; dx: "ak.dx"; dy: "ak.dy"; dz: "ak.dz"; ea: "ak.ea"; eb: "ak.eb"; ec: "ak.ec"; ed: "ak.ed"; ee: "ak.ee"; ef: "ak.ef"; eg: "ak.eg"; eh: "ak.eh"; ei: "ak.ei"; ej: "ak.ej"; ek: "ak.ek"; el: "ak.el"; em: "ak.em"; en: "ak.en"; eo: "ak.eo"; ep: "ak.ep"; eq: "ak.eq"; er: "ak.er"; es: "ak.es"; et: "ak.et"; eu: "ak.eu"; ev: "ak.ev"; ew: "ak.ew"; ex: "ak.ex"; ey: "ak.ey"; ez: "ak.ez"; fa: "ak.fa"; fb: "ak.fb"; fc: "ak.fc"; fd: "ak.fd"; fe: "ak.fe"; ff: "ak.ff"; fg: "ak.fg"; fh: "ak.fh"; fi: "ak.fi"; fj: "ak.fj"; fk: "ak.fk"; fl: "ak.fl"; fm: "ak.fm"; fn: "ak.fn"; fo: "ak.fo"; fp: "ak.fp"; fq: "ak.fq"; fr: "ak.fr"; fs: "ak.fs"; ft: "ak.ft"; fu: "ak.fu"; fv: "ak.fv"; fw: "ak.fw"; fx: "ak.fx"; fy: "ak.fy"; fz: "ak.fz"; ga: "ak.ga"; gb: "ak.gb"; gc: "ak.gc"; gd: "ak.gd"; ge: "ak.ge"; gf: "ak.gf"; gg: "ak.gg"; gh: "ak.gh"; gi: "ak.gi"; gj: "ak.gj"; gk: "ak.gk"; gl: "ak.gl"; gm: "ak.gm"; gn: "ak.gn"; go: "ak.go"; gp: "ak.gp"; gq: "ak.gq"; gr: "ak.gr"; gs: "ak.gs"; gt: "ak.gt"; gu: "ak.gu"; gv: "ak.gv"; gw: "ak.gw"; gx: "ak.gx"; gy: "ak.gy"; gz: "ak.gz"; ha: "ak.ha"; hb: "ak.hb"; hc: "ak.hc"; hd: "ak.hd"; he: "ak.he"; hf: "ak.hf"; hg: "ak.hg"; hh: "ak.hh"; hi: "ak.hi"; hj: "ak.hj"; hk: "ak.hk"; hl: "ak.hl"; hm: "ak.hm"; hn: "ak.hn"; ho: "ak.ho"; hp: "ak.hp"; hq: "ak.hq"; hr: "ak.hr"; hs: "ak.hs"; ht: "ak.ht"; hu: "ak.hu"; hv: "ak.hv"; hw: "ak.hw"; hx: "ak.hx"; hy: "ak.hy"; hz: "ak.hz"; ia: "ak.ia"; ib: "ak.ib"; ic: "ak.ic"; id: "ak.id"; ie: "ak.ie"; if: "ak.if"; ig: "ak.ig"; ih: "ak.ih"; ii: "ak.ii"; ij: "ak.ij"; ik: "ak.ik"; il: "ak.il"; im: "ak.im"; in: "ak.in"; io: "ak.io"; ip: "ak.ip"; iq: "ak.iq"; ir: "ak.ir"; is: "ak.is"; it: "ak.it"; iu: "ak.iu"; iv: "ak.iv"; iw: "ak.iw"; ix: "ak.ix"; iy: "ak.iy"; iz: "ak.iz"; ja: "ak.ja"; jb: "ak.jb"; jc: "ak.jc"; jd: "ak.jd"; je: "ak.je"; jf: "ak.jf"; jg: "ak.jg"; jh: "ak.jh"; ji: "ak.ji"; jj: "ak.jj"; jk: "ak.jk"; jl: "ak.jl"; jm: "ak.jm"; jn: "ak.jn"; jo: "ak.jo"; jp: "ak.jp"; jq: "ak.jq"; jr: "ak.jr"; js: "ak.js"; jt: "ak.jt"; ju: "ak.ju"; jv: "ak.jv"; jw: "ak.jw"; jx: "ak.jx"; jy: "ak.jy"; jz: "ak.jz"; ka: "ak.ka"; kb: "ak.kb"; kc: "ak.kc"; kd: "ak.kd"; ke: "ak.ke"; kf: "ak.kf"; kg: "ak.kg"; kh: "ak.kh"; ki: "ak.ki"; kj: "ak.kj"; kk: "ak.kk"; kl: "ak.kl"; km: "ak.km"; kn: "ak.kn"; ko: "ak.ko"; kp: "ak.kp"; kq: "ak.kq"; kr: "ak.kr"; ks: "ak.ks"; kt: "ak.kt"; ku: "ak.ku"; kv: "ak.kv"; kw: "ak.kw"; kx: "ak.kx"; ky: "ak.ky"; kz: "ak.kz"; la: "ak.la"; lb: "ak.lb"; lc: "ak.lc"; ld: "ak.ld"; le: "ak.le"; lf: "ak.lf"; lg: "ak.lg"; lh: "ak.lh"; li: "ak.li"; lj: "ak.lj"; lk: "ak.lk"; ll: "ak.ll"; lm: "ak.lm"; ln: "ak.ln"; lo: "ak.lo"; lp: "ak.lp"; lq: "ak.lq"; lr: "ak.lr"; ls: "ak.ls"; lt: "ak.lt"; lu: "ak.lu"; lv: "ak.lv"; lw: "ak.lw"; lx: "ak.lx"; ly: "ak.ly"; lz: "ak.lz"; ma: "ak.ma"; mb: "ak.mb"; mc: "ak.mc"; md: "ak.md"; me: "ak.me"; mf: "ak.mf"; mg: "ak.mg"; mh: "ak.mh"; mi: "ak.mi"; mj: "ak.mj"; mk: "ak.mk"; ml: "ak.ml"; mm: "ak.mm"; mn: "ak.mn"; mo: "ak.mo"; mp: "ak.mp"; mq: "ak.mq"; mr: "ak.mr"; ms: "ak.ms"; mt: "ak.mt"; mu: "ak.mu"; mv: "ak.mv"; mw: "ak.mw"; mx: "ak.mx"; my: "ak.my"; mz: "ak.mz"; na: "ak.na"; nb: "ak.nb"; nc: "ak.nc"; nd: "ak.nd"; ne: "ak.ne"; nf: "ak.nf"; ng: "ak.ng"; nh: "ak.nh"; ni: "ak.ni"; nj: "ak.nj"; nk: "ak.nk"; nl: "ak.nl"; nm: "ak.nm"; nn: "ak.nn"; no: "ak.no"; np: "ak.np"; nq: "ak.nq"; nr: "ak.nr"; ns: "ak.ns"; nt: "ak.nt"; nu: "ak.nu"; nv: "ak.nv"; nw: "ak.nw"; nx: "ak.nx"; ny: "ak.ny"; nz: "ak.nz"; oa: "ak.oa"; ob: "ak.ob"; oc: "ak.oc"; od: "ak.od"; oe: "ak.oe"; of: "ak.of"; og: "ak.og"; oh: "ak.oh"; oi: "ak.oi"; oj: "ak.oj"; ok: "ak.ok"; ol: "ak.ol"; om: "ak.om"; on: "ak.on"; oo: "ak.oo"; op: "ak.op"; oq: "ak.oq"; or: "ak.or"; os: "ak.os"; ot: "ak.ot"; ou: "ak.ou"; ov: "ak.ov"; ow: "ak.ow"; ox: "ak.ox"; oy: "ak.oy"; oz: "ak.oz"; pa: "ak.pa"; pb: "ak.pb"; pc: "ak.pc"; pd: "ak.pd"; pe: "ak.pe"; pf: "ak.pf"; pg: "ak.pg"; ph: "ak.ph"; pi: "ak.pi"; pj: "ak.pj"; pk: "ak.pk"; pl: "ak.pl"; pm: "ak.pm"; pn: "ak.pn"; po: "ak.po"; pp: "ak.pp"; pq: "ak.pq"; pr: "ak.pr"; ps: "ak.ps"; pt: "ak.pt"; pu: "ak.pu"; pv: "ak.pv"; pw: "ak.pw"; px: "ak.px"; py: "ak.py"; pz: "ak.pz"; qa: "ak.qa"; qb: "ak.qb"; qc: "ak.qc"; qd: "ak.qd"; qe: "ak.qe"; qf: "ak.qf"; qg: "ak.qg"; qh: "ak.qh"; qi: "ak.qi"; qj: "ak.qj"; qk: "ak.qk"; ql: "ak.ql"; qm: "ak.qm"; qn: "ak.qn"; qo: "ak.qo"; qp: "ak.qp"; qq: "ak.qq"; qr: "ak.qr"; qs: "ak.qs"; qt: "ak.qt"; qu: "ak.qu"; qv: "ak.qv"; qw: "ak.qw"; qx: "ak.qx"; qy: "ak.qy"; qz: "ak.qz"; ra: "ak.ra"; rb: "ak.rb"; rc: "ak.rc"; rd: "ak.rd"; re: "ak.re"; rf: "ak.rf"; rg: "ak.rg"; rh: "ak.rh"; ri: "ak.ri"; rj: "ak.rj"; rk: "ak.rk"; rl: "ak.rl"; rm: "ak.rm"; rn: "ak.rn"; ro: "ak.ro"; rp: "ak.rp"; rq: "ak.rq"; rr: "ak.rr"; rs: "ak.rs"; rt: "ak.rt"; ru: "ak.ru"; rv: "ak.rv"; rw: "ak.rw"; rx: "ak.rx"; ry: "ak.ry"; rz: "ak.rz"; sa: "ak.sa"; sb: "ak.sb"; sc: "ak.sc"; sd: "ak.sd"; se: "ak.se"; sf: "ak.sf"; sg: "ak.sg"; sh: "ak.sh"; si: "ak.si"; sj: "ak.sj"; sk: "ak.sk"; sl: "ak.sl"; sm: "ak.sm"; sn: "ak.sn"; so: "ak.so"; sp: "ak.sp"; sq: "ak.sq"; sr: "ak.sr"; ss: "ak.ss"; st: "ak.st"; su: "ak.su"; sv: "ak.sv"; sw: "ak.sw"; sx: "ak.sx"; sy: "ak.sy"; sz: "ak.sz"; ta: "ak.ta"; tb: "ak.tb"; tc: "ak.tc"; td: "ak.td"; te: "ak.te"; tf: "ak.tf"; tg: "ak.tg"; th: "ak.th"; ti: "ak.ti"; tj: "ak.tj"; tk: "ak.tk"; tl: "ak.tl"; tm: "ak.tm"; tn: "ak.tn"; to: "ak.to"; tp: "ak.tp"; tq: "ak.tq"; tr: "ak.tr"; ts: "ak.ts"; tt: "ak.tt"; tu: "ak.tu"; tv: "ak.tv"; tw: "ak.tw"; tx: "ak.tx"; ty: "ak.ty"; tz: "ak.tz"; ua: "ak.ua"; ub: "ak.ub"; uc: "ak.uc"; ud: "ak.ud"; ue: "ak.ue"; uf: "ak.uf"; ug: "ak.ug"; uh: "ak.uh"; ui: "ak.ui"; uj: "ak.uj"; uk: "ak.uk"; ul: "ak.ul"; um: "ak.um"; un: "ak.un"; uo: "ak.uo"; up: "ak.up"; uq: "ak.uq"; ur: "ak.ur"; us: "ak.us"; ut: "ak.ut"; uu: "ak.uu"; uv: "ak.uv"; uw: "ak.uw"; ux: "ak.ux"; uy: "ak.uy"; uz: "ak.uz"; va: "ak.va"; vb: "ak.vb"; vc: "ak.vc"; vd: "ak.vd"; ve: "ak.ve"; vf: "ak.vf"; vg: "ak.vg"; vh: "ak.vh"; vi: "ak.vi"; vj: "ak.vj"; vk: "ak.vk"; vl: "ak.vl"; vm: "ak.vm"; vn: "ak.vn"; vo: "ak.vo"; vp: "ak.vp"; vq: "ak.vq"; vr: "ak.vr"; vs: "ak.vs"; vt: "ak.vt"; vu: "ak.vu"; vv: "ak.vv"; vw: "ak.vw"; vx: "ak.vx"; vy: "ak.vy"; vz: "ak.vz"; wa: "ak.wa"; wb: "ak.wb"; wc: "ak.wc"; wd: "ak.wd"; we: "ak.we"; wf: "ak.wf"; wg: "ak.wg"; wh: "ak.wh"; wi: "ak.wi"; wj: "ak.wj"; wk: "ak.wk"; wl: "ak.wl"; wm: "ak.wm"; wn: "ak.wn"; wo: "ak.wo"; wp: "ak.wp"; wq: "ak.wq"; wr: "ak.wr"; ws: "ak.ws"; wt: "ak.wt"; wu: "ak.wu"; wv: "ak.wv"; ww: "ak.ww"; wx: "ak.wx"; wy: "ak.wy"; wz: "ak.wz"; xa: "ak.xa"; xb: "ak.xb"; xc: "ak.xc"; xd: "ak.xd"; xe: "ak.xe"; xf: "ak.xf"; xg: "ak.xg"; xh: "ak.xh"; xi: "ak.xi"; xj: "ak.xj"; xk: "ak.xk"; xl: "ak.xl"; xm: "ak.xm"; xn: "ak.xn"; xo: "ak.xo"; xp: "ak.xp"; xq: "ak.xq"; xr: "ak.xr"; xs: "ak.xs"; xt: "ak.xt"; xu: "ak.xu"; xv: "ak.xv"; xw: "ak.xw"; xx: "ak.xx"; xy: "ak.xy"; xz: "ak.xz"; ya: "ak.ya"; yb: "ak.yb"; yc: "ak.yc"; yd: "ak.yd"; ye: "ak.ye"; yf: "ak.yf"; yg: "ak.yg"; yh: "ak.yh"; yi: "ak.yi"; yj: "ak.yj"; yk: "ak.yk"; yl: "ak.yl"; ym: "ak.ym"; yn: "ak.yn"; yo: "ak.yo"; yp: "ak.yp"; yq: "ak.yq"; yr: "ak.yr"; ys: "ak.ys"; yt: "ak.yt"; yu: "ak.yu"; yv: "ak.yv"; yw: "ak.yw"; yx: "ak.yx"; yy: "ak.yy"; yz: "ak.yz"; za: "ak.za"; zb: "ak.zb"; zc: "ak.zc"; zd: "ak.zd"; ze: "ak.ze"; zf: "ak.zf"; zg: "ak.zg"; zh: "ak.zh"; zi: "ak.zi"; zj: "ak.zj"; zk: "ak.zk"; zl: "ak.zl"; zm: "ak.zm"; zn: "ak.zn"; zo: "ak.zo"; zp: "ak.zp"; zq: "ak.zq"; zr: "ak.zr"; zs: "ak.zs"; zt: "ak.zt"; zu: "ak.zu"; zv: "ak.zv"; zw: "ak.zw"; zx: "ak.zx"; zy: "ak.zy"; zz: "ak.zz"; }; al: { aa: "al.aa"; ab: "al.ab"; ac: "al.ac"; ad: "al.ad"; ae: "al.ae"; af: "al.af"; ag: "al.ag"; ah: "al.ah"; ai: "al.ai"; aj: "al.aj"; ak: "al.ak"; al: "al.al"; am: "al.am"; an: "al.an"; ao: "al.ao"; ap: "al.ap"; aq: "al.aq"; ar: "al.ar"; as: "al.as"; at: "al.at"; au: "al.au"; av: "al.av"; aw: "al.aw"; ax: "al.ax"; ay: "al.ay"; az: "al.az"; ba: "al.ba"; bb: "al.bb"; bc: "al.bc"; bd: "al.bd"; be: "al.be"; bf: "al.bf"; bg: "al.bg"; bh: "al.bh"; bi: "al.bi"; bj: "al.bj"; bk: "al.bk"; bl: "al.bl"; bm: "al.bm"; bn: "al.bn"; bo: "al.bo"; bp: "al.bp"; bq: "al.bq"; br: "al.br"; bs: "al.bs"; bt: "al.bt"; bu: "al.bu"; bv: "al.bv"; bw: "al.bw"; bx: "al.bx"; by: "al.by"; bz: "al.bz"; ca: "al.ca"; cb: "al.cb"; cc: "al.cc"; cd: "al.cd"; ce: "al.ce"; cf: "al.cf"; cg: "al.cg"; ch: "al.ch"; ci: "al.ci"; cj: "al.cj"; ck: "al.ck"; cl: "al.cl"; cm: "al.cm"; cn: "al.cn"; co: "al.co"; cp: "al.cp"; cq: "al.cq"; cr: "al.cr"; cs: "al.cs"; ct: "al.ct"; cu: "al.cu"; cv: "al.cv"; cw: "al.cw"; cx: "al.cx"; cy: "al.cy"; cz: "al.cz"; da: "al.da"; db: "al.db"; dc: "al.dc"; dd: "al.dd"; de: "al.de"; df: "al.df"; dg: "al.dg"; dh: "al.dh"; di: "al.di"; dj: "al.dj"; dk: "al.dk"; dl: "al.dl"; dm: "al.dm"; dn: "al.dn"; do: "al.do"; dp: "al.dp"; dq: "al.dq"; dr: "al.dr"; ds: "al.ds"; dt: "al.dt"; du: "al.du"; dv: "al.dv"; dw: "al.dw"; dx: "al.dx"; dy: "al.dy"; dz: "al.dz"; ea: "al.ea"; eb: "al.eb"; ec: "al.ec"; ed: "al.ed"; ee: "al.ee"; ef: "al.ef"; eg: "al.eg"; eh: "al.eh"; ei: "al.ei"; ej: "al.ej"; ek: "al.ek"; el: "al.el"; em: "al.em"; en: "al.en"; eo: "al.eo"; ep: "al.ep"; eq: "al.eq"; er: "al.er"; es: "al.es"; et: "al.et"; eu: "al.eu"; ev: "al.ev"; ew: "al.ew"; ex: "al.ex"; ey: "al.ey"; ez: "al.ez"; fa: "al.fa"; fb: "al.fb"; fc: "al.fc"; fd: "al.fd"; fe: "al.fe"; ff: "al.ff"; fg: "al.fg"; fh: "al.fh"; fi: "al.fi"; fj: "al.fj"; fk: "al.fk"; fl: "al.fl"; fm: "al.fm"; fn: "al.fn"; fo: "al.fo"; fp: "al.fp"; fq: "al.fq"; fr: "al.fr"; fs: "al.fs"; ft: "al.ft"; fu: "al.fu"; fv: "al.fv"; fw: "al.fw"; fx: "al.fx"; fy: "al.fy"; fz: "al.fz"; ga: "al.ga"; gb: "al.gb"; gc: "al.gc"; gd: "al.gd"; ge: "al.ge"; gf: "al.gf"; gg: "al.gg"; gh: "al.gh"; gi: "al.gi"; gj: "al.gj"; gk: "al.gk"; gl: "al.gl"; gm: "al.gm"; gn: "al.gn"; go: "al.go"; gp: "al.gp"; gq: "al.gq"; gr: "al.gr"; gs: "al.gs"; gt: "al.gt"; gu: "al.gu"; gv: "al.gv"; gw: "al.gw"; gx: "al.gx"; gy: "al.gy"; gz: "al.gz"; ha: "al.ha"; hb: "al.hb"; hc: "al.hc"; hd: "al.hd"; he: "al.he"; hf: "al.hf"; hg: "al.hg"; hh: "al.hh"; hi: "al.hi"; hj: "al.hj"; hk: "al.hk"; hl: "al.hl"; hm: "al.hm"; hn: "al.hn"; ho: "al.ho"; hp: "al.hp"; hq: "al.hq"; hr: "al.hr"; hs: "al.hs"; ht: "al.ht"; hu: "al.hu"; hv: "al.hv"; hw: "al.hw"; hx: "al.hx"; hy: "al.hy"; hz: "al.hz"; ia: "al.ia"; ib: "al.ib"; ic: "al.ic"; id: "al.id"; ie: "al.ie"; if: "al.if"; ig: "al.ig"; ih: "al.ih"; ii: "al.ii"; ij: "al.ij"; ik: "al.ik"; il: "al.il"; im: "al.im"; in: "al.in"; io: "al.io"; ip: "al.ip"; iq: "al.iq"; ir: "al.ir"; is: "al.is"; it: "al.it"; iu: "al.iu"; iv: "al.iv"; iw: "al.iw"; ix: "al.ix"; iy: "al.iy"; iz: "al.iz"; ja: "al.ja"; jb: "al.jb"; jc: "al.jc"; jd: "al.jd"; je: "al.je"; jf: "al.jf"; jg: "al.jg"; jh: "al.jh"; ji: "al.ji"; jj: "al.jj"; jk: "al.jk"; jl: "al.jl"; jm: "al.jm"; jn: "al.jn"; jo: "al.jo"; jp: "al.jp"; jq: "al.jq"; jr: "al.jr"; js: "al.js"; jt: "al.jt"; ju: "al.ju"; jv: "al.jv"; jw: "al.jw"; jx: "al.jx"; jy: "al.jy"; jz: "al.jz"; ka: "al.ka"; kb: "al.kb"; kc: "al.kc"; kd: "al.kd"; ke: "al.ke"; kf: "al.kf"; kg: "al.kg"; kh: "al.kh"; ki: "al.ki"; kj: "al.kj"; kk: "al.kk"; kl: "al.kl"; km: "al.km"; kn: "al.kn"; ko: "al.ko"; kp: "al.kp"; kq: "al.kq"; kr: "al.kr"; ks: "al.ks"; kt: "al.kt"; ku: "al.ku"; kv: "al.kv"; kw: "al.kw"; kx: "al.kx"; ky: "al.ky"; kz: "al.kz"; la: "al.la"; lb: "al.lb"; lc: "al.lc"; ld: "al.ld"; le: "al.le"; lf: "al.lf"; lg: "al.lg"; lh: "al.lh"; li: "al.li"; lj: "al.lj"; lk: "al.lk"; ll: "al.ll"; lm: "al.lm"; ln: "al.ln"; lo: "al.lo"; lp: "al.lp"; lq: "al.lq"; lr: "al.lr"; ls: "al.ls"; lt: "al.lt"; lu: "al.lu"; lv: "al.lv"; lw: "al.lw"; lx: "al.lx"; ly: "al.ly"; lz: "al.lz"; ma: "al.ma"; mb: "al.mb"; mc: "al.mc"; md: "al.md"; me: "al.me"; mf: "al.mf"; mg: "al.mg"; mh: "al.mh"; mi: "al.mi"; mj: "al.mj"; mk: "al.mk"; ml: "al.ml"; mm: "al.mm"; mn: "al.mn"; mo: "al.mo"; mp: "al.mp"; mq: "al.mq"; mr: "al.mr"; ms: "al.ms"; mt: "al.mt"; mu: "al.mu"; mv: "al.mv"; mw: "al.mw"; mx: "al.mx"; my: "al.my"; mz: "al.mz"; na: "al.na"; nb: "al.nb"; nc: "al.nc"; nd: "al.nd"; ne: "al.ne"; nf: "al.nf"; ng: "al.ng"; nh: "al.nh"; ni: "al.ni"; nj: "al.nj"; nk: "al.nk"; nl: "al.nl"; nm: "al.nm"; nn: "al.nn"; no: "al.no"; np: "al.np"; nq: "al.nq"; nr: "al.nr"; ns: "al.ns"; nt: "al.nt"; nu: "al.nu"; nv: "al.nv"; nw: "al.nw"; nx: "al.nx"; ny: "al.ny"; nz: "al.nz"; oa: "al.oa"; ob: "al.ob"; oc: "al.oc"; od: "al.od"; oe: "al.oe"; of: "al.of"; og: "al.og"; oh: "al.oh"; oi: "al.oi"; oj: "al.oj"; ok: "al.ok"; ol: "al.ol"; om: "al.om"; on: "al.on"; oo: "al.oo"; op: "al.op"; oq: "al.oq"; or: "al.or"; os: "al.os"; ot: "al.ot"; ou: "al.ou"; ov: "al.ov"; ow: "al.ow"; ox: "al.ox"; oy: "al.oy"; oz: "al.oz"; pa: "al.pa"; pb: "al.pb"; pc: "al.pc"; pd: "al.pd"; pe: "al.pe"; pf: "al.pf"; pg: "al.pg"; ph: "al.ph"; pi: "al.pi"; pj: "al.pj"; pk: "al.pk"; pl: "al.pl"; pm: "al.pm"; pn: "al.pn"; po: "al.po"; pp: "al.pp"; pq: "al.pq"; pr: "al.pr"; ps: "al.ps"; pt: "al.pt"; pu: "al.pu"; pv: "al.pv"; pw: "al.pw"; px: "al.px"; py: "al.py"; pz: "al.pz"; qa: "al.qa"; qb: "al.qb"; qc: "al.qc"; qd: "al.qd"; qe: "al.qe"; qf: "al.qf"; qg: "al.qg"; qh: "al.qh"; qi: "al.qi"; qj: "al.qj"; qk: "al.qk"; ql: "al.ql"; qm: "al.qm"; qn: "al.qn"; qo: "al.qo"; qp: "al.qp"; qq: "al.qq"; qr: "al.qr"; qs: "al.qs"; qt: "al.qt"; qu: "al.qu"; qv: "al.qv"; qw: "al.qw"; qx: "al.qx"; qy: "al.qy"; qz: "al.qz"; ra: "al.ra"; rb: "al.rb"; rc: "al.rc"; rd: "al.rd"; re: "al.re"; rf: "al.rf"; rg: "al.rg"; rh: "al.rh"; ri: "al.ri"; rj: "al.rj"; rk: "al.rk"; rl: "al.rl"; rm: "al.rm"; rn: "al.rn"; ro: "al.ro"; rp: "al.rp"; rq: "al.rq"; rr: "al.rr"; rs: "al.rs"; rt: "al.rt"; ru: "al.ru"; rv: "al.rv"; rw: "al.rw"; rx: "al.rx"; ry: "al.ry"; rz: "al.rz"; sa: "al.sa"; sb: "al.sb"; sc: "al.sc"; sd: "al.sd"; se: "al.se"; sf: "al.sf"; sg: "al.sg"; sh: "al.sh"; si: "al.si"; sj: "al.sj"; sk: "al.sk"; sl: "al.sl"; sm: "al.sm"; sn: "al.sn"; so: "al.so"; sp: "al.sp"; sq: "al.sq"; sr: "al.sr"; ss: "al.ss"; st: "al.st"; su: "al.su"; sv: "al.sv"; sw: "al.sw"; sx: "al.sx"; sy: "al.sy"; sz: "al.sz"; ta: "al.ta"; tb: "al.tb"; tc: "al.tc"; td: "al.td"; te: "al.te"; tf: "al.tf"; tg: "al.tg"; th: "al.th"; ti: "al.ti"; tj: "al.tj"; tk: "al.tk"; tl: "al.tl"; tm: "al.tm"; tn: "al.tn"; to: "al.to"; tp: "al.tp"; tq: "al.tq"; tr: "al.tr"; ts: "al.ts"; tt: "al.tt"; tu: "al.tu"; tv: "al.tv"; tw: "al.tw"; tx: "al.tx"; ty: "al.ty"; tz: "al.tz"; ua: "al.ua"; ub: "al.ub"; uc: "al.uc"; ud: "al.ud"; ue: "al.ue"; uf: "al.uf"; ug: "al.ug"; uh: "al.uh"; ui: "al.ui"; uj: "al.uj"; uk: "al.uk"; ul: "al.ul"; um: "al.um"; un: "al.un"; uo: "al.uo"; up: "al.up"; uq: "al.uq"; ur: "al.ur"; us: "al.us"; ut: "al.ut"; uu: "al.uu"; uv: "al.uv"; uw: "al.uw"; ux: "al.ux"; uy: "al.uy"; uz: "al.uz"; va: "al.va"; vb: "al.vb"; vc: "al.vc"; vd: "al.vd"; ve: "al.ve"; vf: "al.vf"; vg: "al.vg"; vh: "al.vh"; vi: "al.vi"; vj: "al.vj"; vk: "al.vk"; vl: "al.vl"; vm: "al.vm"; vn: "al.vn"; vo: "al.vo"; vp: "al.vp"; vq: "al.vq"; vr: "al.vr"; vs: "al.vs"; vt: "al.vt"; vu: "al.vu"; vv: "al.vv"; vw: "al.vw"; vx: "al.vx"; vy: "al.vy"; vz: "al.vz"; wa: "al.wa"; wb: "al.wb"; wc: "al.wc"; wd: "al.wd"; we: "al.we"; wf: "al.wf"; wg: "al.wg"; wh: "al.wh"; wi: "al.wi"; wj: "al.wj"; wk: "al.wk"; wl: "al.wl"; wm: "al.wm"; wn: "al.wn"; wo: "al.wo"; wp: "al.wp"; wq: "al.wq"; wr: "al.wr"; ws: "al.ws"; wt: "al.wt"; wu: "al.wu"; wv: "al.wv"; ww: "al.ww"; wx: "al.wx"; wy: "al.wy"; wz: "al.wz"; xa: "al.xa"; xb: "al.xb"; xc: "al.xc"; xd: "al.xd"; xe: "al.xe"; xf: "al.xf"; xg: "al.xg"; xh: "al.xh"; xi: "al.xi"; xj: "al.xj"; xk: "al.xk"; xl: "al.xl"; xm: "al.xm"; xn: "al.xn"; xo: "al.xo"; xp: "al.xp"; xq: "al.xq"; xr: "al.xr"; xs: "al.xs"; xt: "al.xt"; xu: "al.xu"; xv: "al.xv"; xw: "al.xw"; xx: "al.xx"; xy: "al.xy"; xz: "al.xz"; ya: "al.ya"; yb: "al.yb"; yc: "al.yc"; yd: "al.yd"; ye: "al.ye"; yf: "al.yf"; yg: "al.yg"; yh: "al.yh"; yi: "al.yi"; yj: "al.yj"; yk: "al.yk"; yl: "al.yl"; ym: "al.ym"; yn: "al.yn"; yo: "al.yo"; yp: "al.yp"; yq: "al.yq"; yr: "al.yr"; ys: "al.ys"; yt: "al.yt"; yu: "al.yu"; yv: "al.yv"; yw: "al.yw"; yx: "al.yx"; yy: "al.yy"; yz: "al.yz"; za: "al.za"; zb: "al.zb"; zc: "al.zc"; zd: "al.zd"; ze: "al.ze"; zf: "al.zf"; zg: "al.zg"; zh: "al.zh"; zi: "al.zi"; zj: "al.zj"; zk: "al.zk"; zl: "al.zl"; zm: "al.zm"; zn: "al.zn"; zo: "al.zo"; zp: "al.zp"; zq: "al.zq"; zr: "al.zr"; zs: "al.zs"; zt: "al.zt"; zu: "al.zu"; zv: "al.zv"; zw: "al.zw"; zx: "al.zx"; zy: "al.zy"; zz: "al.zz"; }; am: { aa: "am.aa"; ab: "am.ab"; ac: "am.ac"; ad: "am.ad"; ae: "am.ae"; af: "am.af"; ag: "am.ag"; ah: "am.ah"; ai: "am.ai"; aj: "am.aj"; ak: "am.ak"; al: "am.al"; am: "am.am"; an: "am.an"; ao: "am.ao"; ap: "am.ap"; aq: "am.aq"; ar: "am.ar"; as: "am.as"; at: "am.at"; au: "am.au"; av: "am.av"; aw: "am.aw"; ax: "am.ax"; ay: "am.ay"; az: "am.az"; ba: "am.ba"; bb: "am.bb"; bc: "am.bc"; bd: "am.bd"; be: "am.be"; bf: "am.bf"; bg: "am.bg"; bh: "am.bh"; bi: "am.bi"; bj: "am.bj"; bk: "am.bk"; bl: "am.bl"; bm: "am.bm"; bn: "am.bn"; bo: "am.bo"; bp: "am.bp"; bq: "am.bq"; br: "am.br"; bs: "am.bs"; bt: "am.bt"; bu: "am.bu"; bv: "am.bv"; bw: "am.bw"; bx: "am.bx"; by: "am.by"; bz: "am.bz"; ca: "am.ca"; cb: "am.cb"; cc: "am.cc"; cd: "am.cd"; ce: "am.ce"; cf: "am.cf"; cg: "am.cg"; ch: "am.ch"; ci: "am.ci"; cj: "am.cj"; ck: "am.ck"; cl: "am.cl"; cm: "am.cm"; cn: "am.cn"; co: "am.co"; cp: "am.cp"; cq: "am.cq"; cr: "am.cr"; cs: "am.cs"; ct: "am.ct"; cu: "am.cu"; cv: "am.cv"; cw: "am.cw"; cx: "am.cx"; cy: "am.cy"; cz: "am.cz"; da: "am.da"; db: "am.db"; dc: "am.dc"; dd: "am.dd"; de: "am.de"; df: "am.df"; dg: "am.dg"; dh: "am.dh"; di: "am.di"; dj: "am.dj"; dk: "am.dk"; dl: "am.dl"; dm: "am.dm"; dn: "am.dn"; do: "am.do"; dp: "am.dp"; dq: "am.dq"; dr: "am.dr"; ds: "am.ds"; dt: "am.dt"; du: "am.du"; dv: "am.dv"; dw: "am.dw"; dx: "am.dx"; dy: "am.dy"; dz: "am.dz"; ea: "am.ea"; eb: "am.eb"; ec: "am.ec"; ed: "am.ed"; ee: "am.ee"; ef: "am.ef"; eg: "am.eg"; eh: "am.eh"; ei: "am.ei"; ej: "am.ej"; ek: "am.ek"; el: "am.el"; em: "am.em"; en: "am.en"; eo: "am.eo"; ep: "am.ep"; eq: "am.eq"; er: "am.er"; es: "am.es"; et: "am.et"; eu: "am.eu"; ev: "am.ev"; ew: "am.ew"; ex: "am.ex"; ey: "am.ey"; ez: "am.ez"; fa: "am.fa"; fb: "am.fb"; fc: "am.fc"; fd: "am.fd"; fe: "am.fe"; ff: "am.ff"; fg: "am.fg"; fh: "am.fh"; fi: "am.fi"; fj: "am.fj"; fk: "am.fk"; fl: "am.fl"; fm: "am.fm"; fn: "am.fn"; fo: "am.fo"; fp: "am.fp"; fq: "am.fq"; fr: "am.fr"; fs: "am.fs"; ft: "am.ft"; fu: "am.fu"; fv: "am.fv"; fw: "am.fw"; fx: "am.fx"; fy: "am.fy"; fz: "am.fz"; ga: "am.ga"; gb: "am.gb"; gc: "am.gc"; gd: "am.gd"; ge: "am.ge"; gf: "am.gf"; gg: "am.gg"; gh: "am.gh"; gi: "am.gi"; gj: "am.gj"; gk: "am.gk"; gl: "am.gl"; gm: "am.gm"; gn: "am.gn"; go: "am.go"; gp: "am.gp"; gq: "am.gq"; gr: "am.gr"; gs: "am.gs"; gt: "am.gt"; gu: "am.gu"; gv: "am.gv"; gw: "am.gw"; gx: "am.gx"; gy: "am.gy"; gz: "am.gz"; ha: "am.ha"; hb: "am.hb"; hc: "am.hc"; hd: "am.hd"; he: "am.he"; hf: "am.hf"; hg: "am.hg"; hh: "am.hh"; hi: "am.hi"; hj: "am.hj"; hk: "am.hk"; hl: "am.hl"; hm: "am.hm"; hn: "am.hn"; ho: "am.ho"; hp: "am.hp"; hq: "am.hq"; hr: "am.hr"; hs: "am.hs"; ht: "am.ht"; hu: "am.hu"; hv: "am.hv"; hw: "am.hw"; hx: "am.hx"; hy: "am.hy"; hz: "am.hz"; ia: "am.ia"; ib: "am.ib"; ic: "am.ic"; id: "am.id"; ie: "am.ie"; if: "am.if"; ig: "am.ig"; ih: "am.ih"; ii: "am.ii"; ij: "am.ij"; ik: "am.ik"; il: "am.il"; im: "am.im"; in: "am.in"; io: "am.io"; ip: "am.ip"; iq: "am.iq"; ir: "am.ir"; is: "am.is"; it: "am.it"; iu: "am.iu"; iv: "am.iv"; iw: "am.iw"; ix: "am.ix"; iy: "am.iy"; iz: "am.iz"; ja: "am.ja"; jb: "am.jb"; jc: "am.jc"; jd: "am.jd"; je: "am.je"; jf: "am.jf"; jg: "am.jg"; jh: "am.jh"; ji: "am.ji"; jj: "am.jj"; jk: "am.jk"; jl: "am.jl"; jm: "am.jm"; jn: "am.jn"; jo: "am.jo"; jp: "am.jp"; jq: "am.jq"; jr: "am.jr"; js: "am.js"; jt: "am.jt"; ju: "am.ju"; jv: "am.jv"; jw: "am.jw"; jx: "am.jx"; jy: "am.jy"; jz: "am.jz"; ka: "am.ka"; kb: "am.kb"; kc: "am.kc"; kd: "am.kd"; ke: "am.ke"; kf: "am.kf"; kg: "am.kg"; kh: "am.kh"; ki: "am.ki"; kj: "am.kj"; kk: "am.kk"; kl: "am.kl"; km: "am.km"; kn: "am.kn"; ko: "am.ko"; kp: "am.kp"; kq: "am.kq"; kr: "am.kr"; ks: "am.ks"; kt: "am.kt"; ku: "am.ku"; kv: "am.kv"; kw: "am.kw"; kx: "am.kx"; ky: "am.ky"; kz: "am.kz"; la: "am.la"; lb: "am.lb"; lc: "am.lc"; ld: "am.ld"; le: "am.le"; lf: "am.lf"; lg: "am.lg"; lh: "am.lh"; li: "am.li"; lj: "am.lj"; lk: "am.lk"; ll: "am.ll"; lm: "am.lm"; ln: "am.ln"; lo: "am.lo"; lp: "am.lp"; lq: "am.lq"; lr: "am.lr"; ls: "am.ls"; lt: "am.lt"; lu: "am.lu"; lv: "am.lv"; lw: "am.lw"; lx: "am.lx"; ly: "am.ly"; lz: "am.lz"; ma: "am.ma"; mb: "am.mb"; mc: "am.mc"; md: "am.md"; me: "am.me"; mf: "am.mf"; mg: "am.mg"; mh: "am.mh"; mi: "am.mi"; mj: "am.mj"; mk: "am.mk"; ml: "am.ml"; mm: "am.mm"; mn: "am.mn"; mo: "am.mo"; mp: "am.mp"; mq: "am.mq"; mr: "am.mr"; ms: "am.ms"; mt: "am.mt"; mu: "am.mu"; mv: "am.mv"; mw: "am.mw"; mx: "am.mx"; my: "am.my"; mz: "am.mz"; na: "am.na"; nb: "am.nb"; nc: "am.nc"; nd: "am.nd"; ne: "am.ne"; nf: "am.nf"; ng: "am.ng"; nh: "am.nh"; ni: "am.ni"; nj: "am.nj"; nk: "am.nk"; nl: "am.nl"; nm: "am.nm"; nn: "am.nn"; no: "am.no"; np: "am.np"; nq: "am.nq"; nr: "am.nr"; ns: "am.ns"; nt: "am.nt"; nu: "am.nu"; nv: "am.nv"; nw: "am.nw"; nx: "am.nx"; ny: "am.ny"; nz: "am.nz"; oa: "am.oa"; ob: "am.ob"; oc: "am.oc"; od: "am.od"; oe: "am.oe"; of: "am.of"; og: "am.og"; oh: "am.oh"; oi: "am.oi"; oj: "am.oj"; ok: "am.ok"; ol: "am.ol"; om: "am.om"; on: "am.on"; oo: "am.oo"; op: "am.op"; oq: "am.oq"; or: "am.or"; os: "am.os"; ot: "am.ot"; ou: "am.ou"; ov: "am.ov"; ow: "am.ow"; ox: "am.ox"; oy: "am.oy"; oz: "am.oz"; pa: "am.pa"; pb: "am.pb"; pc: "am.pc"; pd: "am.pd"; pe: "am.pe"; pf: "am.pf"; pg: "am.pg"; ph: "am.ph"; pi: "am.pi"; pj: "am.pj"; pk: "am.pk"; pl: "am.pl"; pm: "am.pm"; pn: "am.pn"; po: "am.po"; pp: "am.pp"; pq: "am.pq"; pr: "am.pr"; ps: "am.ps"; pt: "am.pt"; pu: "am.pu"; pv: "am.pv"; pw: "am.pw"; px: "am.px"; py: "am.py"; pz: "am.pz"; qa: "am.qa"; qb: "am.qb"; qc: "am.qc"; qd: "am.qd"; qe: "am.qe"; qf: "am.qf"; qg: "am.qg"; qh: "am.qh"; qi: "am.qi"; qj: "am.qj"; qk: "am.qk"; ql: "am.ql"; qm: "am.qm"; qn: "am.qn"; qo: "am.qo"; qp: "am.qp"; qq: "am.qq"; qr: "am.qr"; qs: "am.qs"; qt: "am.qt"; qu: "am.qu"; qv: "am.qv"; qw: "am.qw"; qx: "am.qx"; qy: "am.qy"; qz: "am.qz"; ra: "am.ra"; rb: "am.rb"; rc: "am.rc"; rd: "am.rd"; re: "am.re"; rf: "am.rf"; rg: "am.rg"; rh: "am.rh"; ri: "am.ri"; rj: "am.rj"; rk: "am.rk"; rl: "am.rl"; rm: "am.rm"; rn: "am.rn"; ro: "am.ro"; rp: "am.rp"; rq: "am.rq"; rr: "am.rr"; rs: "am.rs"; rt: "am.rt"; ru: "am.ru"; rv: "am.rv"; rw: "am.rw"; rx: "am.rx"; ry: "am.ry"; rz: "am.rz"; sa: "am.sa"; sb: "am.sb"; sc: "am.sc"; sd: "am.sd"; se: "am.se"; sf: "am.sf"; sg: "am.sg"; sh: "am.sh"; si: "am.si"; sj: "am.sj"; sk: "am.sk"; sl: "am.sl"; sm: "am.sm"; sn: "am.sn"; so: "am.so"; sp: "am.sp"; sq: "am.sq"; sr: "am.sr"; ss: "am.ss"; st: "am.st"; su: "am.su"; sv: "am.sv"; sw: "am.sw"; sx: "am.sx"; sy: "am.sy"; sz: "am.sz"; ta: "am.ta"; tb: "am.tb"; tc: "am.tc"; td: "am.td"; te: "am.te"; tf: "am.tf"; tg: "am.tg"; th: "am.th"; ti: "am.ti"; tj: "am.tj"; tk: "am.tk"; tl: "am.tl"; tm: "am.tm"; tn: "am.tn"; to: "am.to"; tp: "am.tp"; tq: "am.tq"; tr: "am.tr"; ts: "am.ts"; tt: "am.tt"; tu: "am.tu"; tv: "am.tv"; tw: "am.tw"; tx: "am.tx"; ty: "am.ty"; tz: "am.tz"; ua: "am.ua"; ub: "am.ub"; uc: "am.uc"; ud: "am.ud"; ue: "am.ue"; uf: "am.uf"; ug: "am.ug"; uh: "am.uh"; ui: "am.ui"; uj: "am.uj"; uk: "am.uk"; ul: "am.ul"; um: "am.um"; un: "am.un"; uo: "am.uo"; up: "am.up"; uq: "am.uq"; ur: "am.ur"; us: "am.us"; ut: "am.ut"; uu: "am.uu"; uv: "am.uv"; uw: "am.uw"; ux: "am.ux"; uy: "am.uy"; uz: "am.uz"; va: "am.va"; vb: "am.vb"; vc: "am.vc"; vd: "am.vd"; ve: "am.ve"; vf: "am.vf"; vg: "am.vg"; vh: "am.vh"; vi: "am.vi"; vj: "am.vj"; vk: "am.vk"; vl: "am.vl"; vm: "am.vm"; vn: "am.vn"; vo: "am.vo"; vp: "am.vp"; vq: "am.vq"; vr: "am.vr"; vs: "am.vs"; vt: "am.vt"; vu: "am.vu"; vv: "am.vv"; vw: "am.vw"; vx: "am.vx"; vy: "am.vy"; vz: "am.vz"; wa: "am.wa"; wb: "am.wb"; wc: "am.wc"; wd: "am.wd"; we: "am.we"; wf: "am.wf"; wg: "am.wg"; wh: "am.wh"; wi: "am.wi"; wj: "am.wj"; wk: "am.wk"; wl: "am.wl"; wm: "am.wm"; wn: "am.wn"; wo: "am.wo"; wp: "am.wp"; wq: "am.wq"; wr: "am.wr"; ws: "am.ws"; wt: "am.wt"; wu: "am.wu"; wv: "am.wv"; ww: "am.ww"; wx: "am.wx"; wy: "am.wy"; wz: "am.wz"; xa: "am.xa"; xb: "am.xb"; xc: "am.xc"; xd: "am.xd"; xe: "am.xe"; xf: "am.xf"; xg: "am.xg"; xh: "am.xh"; xi: "am.xi"; xj: "am.xj"; xk: "am.xk"; xl: "am.xl"; xm: "am.xm"; xn: "am.xn"; xo: "am.xo"; xp: "am.xp"; xq: "am.xq"; xr: "am.xr"; xs: "am.xs"; xt: "am.xt"; xu: "am.xu"; xv: "am.xv"; xw: "am.xw"; xx: "am.xx"; xy: "am.xy"; xz: "am.xz"; ya: "am.ya"; yb: "am.yb"; yc: "am.yc"; yd: "am.yd"; ye: "am.ye"; yf: "am.yf"; yg: "am.yg"; yh: "am.yh"; yi: "am.yi"; yj: "am.yj"; yk: "am.yk"; yl: "am.yl"; ym: "am.ym"; yn: "am.yn"; yo: "am.yo"; yp: "am.yp"; yq: "am.yq"; yr: "am.yr"; ys: "am.ys"; yt: "am.yt"; yu: "am.yu"; yv: "am.yv"; yw: "am.yw"; yx: "am.yx"; yy: "am.yy"; yz: "am.yz"; za: "am.za"; zb: "am.zb"; zc: "am.zc"; zd: "am.zd"; ze: "am.ze"; zf: "am.zf"; zg: "am.zg"; zh: "am.zh"; zi: "am.zi"; zj: "am.zj"; zk: "am.zk"; zl: "am.zl"; zm: "am.zm"; zn: "am.zn"; zo: "am.zo"; zp: "am.zp"; zq: "am.zq"; zr: "am.zr"; zs: "am.zs"; zt: "am.zt"; zu: "am.zu"; zv: "am.zv"; zw: "am.zw"; zx: "am.zx"; zy: "am.zy"; zz: "am.zz"; }; an: { aa: "an.aa"; ab: "an.ab"; ac: "an.ac"; ad: "an.ad"; ae: "an.ae"; af: "an.af"; ag: "an.ag"; ah: "an.ah"; ai: "an.ai"; aj: "an.aj"; ak: "an.ak"; al: "an.al"; am: "an.am"; an: "an.an"; ao: "an.ao"; ap: "an.ap"; aq: "an.aq"; ar: "an.ar"; as: "an.as"; at: "an.at"; au: "an.au"; av: "an.av"; aw: "an.aw"; ax: "an.ax"; ay: "an.ay"; az: "an.az"; ba: "an.ba"; bb: "an.bb"; bc: "an.bc"; bd: "an.bd"; be: "an.be"; bf: "an.bf"; bg: "an.bg"; bh: "an.bh"; bi: "an.bi"; bj: "an.bj"; bk: "an.bk"; bl: "an.bl"; bm: "an.bm"; bn: "an.bn"; bo: "an.bo"; bp: "an.bp"; bq: "an.bq"; br: "an.br"; bs: "an.bs"; bt: "an.bt"; bu: "an.bu"; bv: "an.bv"; bw: "an.bw"; bx: "an.bx"; by: "an.by"; bz: "an.bz"; ca: "an.ca"; cb: "an.cb"; cc: "an.cc"; cd: "an.cd"; ce: "an.ce"; cf: "an.cf"; cg: "an.cg"; ch: "an.ch"; ci: "an.ci"; cj: "an.cj"; ck: "an.ck"; cl: "an.cl"; cm: "an.cm"; cn: "an.cn"; co: "an.co"; cp: "an.cp"; cq: "an.cq"; cr: "an.cr"; cs: "an.cs"; ct: "an.ct"; cu: "an.cu"; cv: "an.cv"; cw: "an.cw"; cx: "an.cx"; cy: "an.cy"; cz: "an.cz"; da: "an.da"; db: "an.db"; dc: "an.dc"; dd: "an.dd"; de: "an.de"; df: "an.df"; dg: "an.dg"; dh: "an.dh"; di: "an.di"; dj: "an.dj"; dk: "an.dk"; dl: "an.dl"; dm: "an.dm"; dn: "an.dn"; do: "an.do"; dp: "an.dp"; dq: "an.dq"; dr: "an.dr"; ds: "an.ds"; dt: "an.dt"; du: "an.du"; dv: "an.dv"; dw: "an.dw"; dx: "an.dx"; dy: "an.dy"; dz: "an.dz"; ea: "an.ea"; eb: "an.eb"; ec: "an.ec"; ed: "an.ed"; ee: "an.ee"; ef: "an.ef"; eg: "an.eg"; eh: "an.eh"; ei: "an.ei"; ej: "an.ej"; ek: "an.ek"; el: "an.el"; em: "an.em"; en: "an.en"; eo: "an.eo"; ep: "an.ep"; eq: "an.eq"; er: "an.er"; es: "an.es"; et: "an.et"; eu: "an.eu"; ev: "an.ev"; ew: "an.ew"; ex: "an.ex"; ey: "an.ey"; ez: "an.ez"; fa: "an.fa"; fb: "an.fb"; fc: "an.fc"; fd: "an.fd"; fe: "an.fe"; ff: "an.ff"; fg: "an.fg"; fh: "an.fh"; fi: "an.fi"; fj: "an.fj"; fk: "an.fk"; fl: "an.fl"; fm: "an.fm"; fn: "an.fn"; fo: "an.fo"; fp: "an.fp"; fq: "an.fq"; fr: "an.fr"; fs: "an.fs"; ft: "an.ft"; fu: "an.fu"; fv: "an.fv"; fw: "an.fw"; fx: "an.fx"; fy: "an.fy"; fz: "an.fz"; ga: "an.ga"; gb: "an.gb"; gc: "an.gc"; gd: "an.gd"; ge: "an.ge"; gf: "an.gf"; gg: "an.gg"; gh: "an.gh"; gi: "an.gi"; gj: "an.gj"; gk: "an.gk"; gl: "an.gl"; gm: "an.gm"; gn: "an.gn"; go: "an.go"; gp: "an.gp"; gq: "an.gq"; gr: "an.gr"; gs: "an.gs"; gt: "an.gt"; gu: "an.gu"; gv: "an.gv"; gw: "an.gw"; gx: "an.gx"; gy: "an.gy"; gz: "an.gz"; ha: "an.ha"; hb: "an.hb"; hc: "an.hc"; hd: "an.hd"; he: "an.he"; hf: "an.hf"; hg: "an.hg"; hh: "an.hh"; hi: "an.hi"; hj: "an.hj"; hk: "an.hk"; hl: "an.hl"; hm: "an.hm"; hn: "an.hn"; ho: "an.ho"; hp: "an.hp"; hq: "an.hq"; hr: "an.hr"; hs: "an.hs"; ht: "an.ht"; hu: "an.hu"; hv: "an.hv"; hw: "an.hw"; hx: "an.hx"; hy: "an.hy"; hz: "an.hz"; ia: "an.ia"; ib: "an.ib"; ic: "an.ic"; id: "an.id"; ie: "an.ie"; if: "an.if"; ig: "an.ig"; ih: "an.ih"; ii: "an.ii"; ij: "an.ij"; ik: "an.ik"; il: "an.il"; im: "an.im"; in: "an.in"; io: "an.io"; ip: "an.ip"; iq: "an.iq"; ir: "an.ir"; is: "an.is"; it: "an.it"; iu: "an.iu"; iv: "an.iv"; iw: "an.iw"; ix: "an.ix"; iy: "an.iy"; iz: "an.iz"; ja: "an.ja"; jb: "an.jb"; jc: "an.jc"; jd: "an.jd"; je: "an.je"; jf: "an.jf"; jg: "an.jg"; jh: "an.jh"; ji: "an.ji"; jj: "an.jj"; jk: "an.jk"; jl: "an.jl"; jm: "an.jm"; jn: "an.jn"; jo: "an.jo"; jp: "an.jp"; jq: "an.jq"; jr: "an.jr"; js: "an.js"; jt: "an.jt"; ju: "an.ju"; jv: "an.jv"; jw: "an.jw"; jx: "an.jx"; jy: "an.jy"; jz: "an.jz"; ka: "an.ka"; kb: "an.kb"; kc: "an.kc"; kd: "an.kd"; ke: "an.ke"; kf: "an.kf"; kg: "an.kg"; kh: "an.kh"; ki: "an.ki"; kj: "an.kj"; kk: "an.kk"; kl: "an.kl"; km: "an.km"; kn: "an.kn"; ko: "an.ko"; kp: "an.kp"; kq: "an.kq"; kr: "an.kr"; ks: "an.ks"; kt: "an.kt"; ku: "an.ku"; kv: "an.kv"; kw: "an.kw"; kx: "an.kx"; ky: "an.ky"; kz: "an.kz"; la: "an.la"; lb: "an.lb"; lc: "an.lc"; ld: "an.ld"; le: "an.le"; lf: "an.lf"; lg: "an.lg"; lh: "an.lh"; li: "an.li"; lj: "an.lj"; lk: "an.lk"; ll: "an.ll"; lm: "an.lm"; ln: "an.ln"; lo: "an.lo"; lp: "an.lp"; lq: "an.lq"; lr: "an.lr"; ls: "an.ls"; lt: "an.lt"; lu: "an.lu"; lv: "an.lv"; lw: "an.lw"; lx: "an.lx"; ly: "an.ly"; lz: "an.lz"; ma: "an.ma"; mb: "an.mb"; mc: "an.mc"; md: "an.md"; me: "an.me"; mf: "an.mf"; mg: "an.mg"; mh: "an.mh"; mi: "an.mi"; mj: "an.mj"; mk: "an.mk"; ml: "an.ml"; mm: "an.mm"; mn: "an.mn"; mo: "an.mo"; mp: "an.mp"; mq: "an.mq"; mr: "an.mr"; ms: "an.ms"; mt: "an.mt"; mu: "an.mu"; mv: "an.mv"; mw: "an.mw"; mx: "an.mx"; my: "an.my"; mz: "an.mz"; na: "an.na"; nb: "an.nb"; nc: "an.nc"; nd: "an.nd"; ne: "an.ne"; nf: "an.nf"; ng: "an.ng"; nh: "an.nh"; ni: "an.ni"; nj: "an.nj"; nk: "an.nk"; nl: "an.nl"; nm: "an.nm"; nn: "an.nn"; no: "an.no"; np: "an.np"; nq: "an.nq"; nr: "an.nr"; ns: "an.ns"; nt: "an.nt"; nu: "an.nu"; nv: "an.nv"; nw: "an.nw"; nx: "an.nx"; ny: "an.ny"; nz: "an.nz"; oa: "an.oa"; ob: "an.ob"; oc: "an.oc"; od: "an.od"; oe: "an.oe"; of: "an.of"; og: "an.og"; oh: "an.oh"; oi: "an.oi"; oj: "an.oj"; ok: "an.ok"; ol: "an.ol"; om: "an.om"; on: "an.on"; oo: "an.oo"; op: "an.op"; oq: "an.oq"; or: "an.or"; os: "an.os"; ot: "an.ot"; ou: "an.ou"; ov: "an.ov"; ow: "an.ow"; ox: "an.ox"; oy: "an.oy"; oz: "an.oz"; pa: "an.pa"; pb: "an.pb"; pc: "an.pc"; pd: "an.pd"; pe: "an.pe"; pf: "an.pf"; pg: "an.pg"; ph: "an.ph"; pi: "an.pi"; pj: "an.pj"; pk: "an.pk"; pl: "an.pl"; pm: "an.pm"; pn: "an.pn"; po: "an.po"; pp: "an.pp"; pq: "an.pq"; pr: "an.pr"; ps: "an.ps"; pt: "an.pt"; pu: "an.pu"; pv: "an.pv"; pw: "an.pw"; px: "an.px"; py: "an.py"; pz: "an.pz"; qa: "an.qa"; qb: "an.qb"; qc: "an.qc"; qd: "an.qd"; qe: "an.qe"; qf: "an.qf"; qg: "an.qg"; qh: "an.qh"; qi: "an.qi"; qj: "an.qj"; qk: "an.qk"; ql: "an.ql"; qm: "an.qm"; qn: "an.qn"; qo: "an.qo"; qp: "an.qp"; qq: "an.qq"; qr: "an.qr"; qs: "an.qs"; qt: "an.qt"; qu: "an.qu"; qv: "an.qv"; qw: "an.qw"; qx: "an.qx"; qy: "an.qy"; qz: "an.qz"; ra: "an.ra"; rb: "an.rb"; rc: "an.rc"; rd: "an.rd"; re: "an.re"; rf: "an.rf"; rg: "an.rg"; rh: "an.rh"; ri: "an.ri"; rj: "an.rj"; rk: "an.rk"; rl: "an.rl"; rm: "an.rm"; rn: "an.rn"; ro: "an.ro"; rp: "an.rp"; rq: "an.rq"; rr: "an.rr"; rs: "an.rs"; rt: "an.rt"; ru: "an.ru"; rv: "an.rv"; rw: "an.rw"; rx: "an.rx"; ry: "an.ry"; rz: "an.rz"; sa: "an.sa"; sb: "an.sb"; sc: "an.sc"; sd: "an.sd"; se: "an.se"; sf: "an.sf"; sg: "an.sg"; sh: "an.sh"; si: "an.si"; sj: "an.sj"; sk: "an.sk"; sl: "an.sl"; sm: "an.sm"; sn: "an.sn"; so: "an.so"; sp: "an.sp"; sq: "an.sq"; sr: "an.sr"; ss: "an.ss"; st: "an.st"; su: "an.su"; sv: "an.sv"; sw: "an.sw"; sx: "an.sx"; sy: "an.sy"; sz: "an.sz"; ta: "an.ta"; tb: "an.tb"; tc: "an.tc"; td: "an.td"; te: "an.te"; tf: "an.tf"; tg: "an.tg"; th: "an.th"; ti: "an.ti"; tj: "an.tj"; tk: "an.tk"; tl: "an.tl"; tm: "an.tm"; tn: "an.tn"; to: "an.to"; tp: "an.tp"; tq: "an.tq"; tr: "an.tr"; ts: "an.ts"; tt: "an.tt"; tu: "an.tu"; tv: "an.tv"; tw: "an.tw"; tx: "an.tx"; ty: "an.ty"; tz: "an.tz"; ua: "an.ua"; ub: "an.ub"; uc: "an.uc"; ud: "an.ud"; ue: "an.ue"; uf: "an.uf"; ug: "an.ug"; uh: "an.uh"; ui: "an.ui"; uj: "an.uj"; uk: "an.uk"; ul: "an.ul"; um: "an.um"; un: "an.un"; uo: "an.uo"; up: "an.up"; uq: "an.uq"; ur: "an.ur"; us: "an.us"; ut: "an.ut"; uu: "an.uu"; uv: "an.uv"; uw: "an.uw"; ux: "an.ux"; uy: "an.uy"; uz: "an.uz"; va: "an.va"; vb: "an.vb"; vc: "an.vc"; vd: "an.vd"; ve: "an.ve"; vf: "an.vf"; vg: "an.vg"; vh: "an.vh"; vi: "an.vi"; vj: "an.vj"; vk: "an.vk"; vl: "an.vl"; vm: "an.vm"; vn: "an.vn"; vo: "an.vo"; vp: "an.vp"; vq: "an.vq"; vr: "an.vr"; vs: "an.vs"; vt: "an.vt"; vu: "an.vu"; vv: "an.vv"; vw: "an.vw"; vx: "an.vx"; vy: "an.vy"; vz: "an.vz"; wa: "an.wa"; wb: "an.wb"; wc: "an.wc"; wd: "an.wd"; we: "an.we"; wf: "an.wf"; wg: "an.wg"; wh: "an.wh"; wi: "an.wi"; wj: "an.wj"; wk: "an.wk"; wl: "an.wl"; wm: "an.wm"; wn: "an.wn"; wo: "an.wo"; wp: "an.wp"; wq: "an.wq"; wr: "an.wr"; ws: "an.ws"; wt: "an.wt"; wu: "an.wu"; wv: "an.wv"; ww: "an.ww"; wx: "an.wx"; wy: "an.wy"; wz: "an.wz"; xa: "an.xa"; xb: "an.xb"; xc: "an.xc"; xd: "an.xd"; xe: "an.xe"; xf: "an.xf"; xg: "an.xg"; xh: "an.xh"; xi: "an.xi"; xj: "an.xj"; xk: "an.xk"; xl: "an.xl"; xm: "an.xm"; xn: "an.xn"; xo: "an.xo"; xp: "an.xp"; xq: "an.xq"; xr: "an.xr"; xs: "an.xs"; xt: "an.xt"; xu: "an.xu"; xv: "an.xv"; xw: "an.xw"; xx: "an.xx"; xy: "an.xy"; xz: "an.xz"; ya: "an.ya"; yb: "an.yb"; yc: "an.yc"; yd: "an.yd"; ye: "an.ye"; yf: "an.yf"; yg: "an.yg"; yh: "an.yh"; yi: "an.yi"; yj: "an.yj"; yk: "an.yk"; yl: "an.yl"; ym: "an.ym"; yn: "an.yn"; yo: "an.yo"; yp: "an.yp"; yq: "an.yq"; yr: "an.yr"; ys: "an.ys"; yt: "an.yt"; yu: "an.yu"; yv: "an.yv"; yw: "an.yw"; yx: "an.yx"; yy: "an.yy"; yz: "an.yz"; za: "an.za"; zb: "an.zb"; zc: "an.zc"; zd: "an.zd"; ze: "an.ze"; zf: "an.zf"; zg: "an.zg"; zh: "an.zh"; zi: "an.zi"; zj: "an.zj"; zk: "an.zk"; zl: "an.zl"; zm: "an.zm"; zn: "an.zn"; zo: "an.zo"; zp: "an.zp"; zq: "an.zq"; zr: "an.zr"; zs: "an.zs"; zt: "an.zt"; zu: "an.zu"; zv: "an.zv"; zw: "an.zw"; zx: "an.zx"; zy: "an.zy"; zz: "an.zz"; }; ao: { aa: "ao.aa"; ab: "ao.ab"; ac: "ao.ac"; ad: "ao.ad"; ae: "ao.ae"; af: "ao.af"; ag: "ao.ag"; ah: "ao.ah"; ai: "ao.ai"; aj: "ao.aj"; ak: "ao.ak"; al: "ao.al"; am: "ao.am"; an: "ao.an"; ao: "ao.ao"; ap: "ao.ap"; aq: "ao.aq"; ar: "ao.ar"; as: "ao.as"; at: "ao.at"; au: "ao.au"; av: "ao.av"; aw: "ao.aw"; ax: "ao.ax"; ay: "ao.ay"; az: "ao.az"; ba: "ao.ba"; bb: "ao.bb"; bc: "ao.bc"; bd: "ao.bd"; be: "ao.be"; bf: "ao.bf"; bg: "ao.bg"; bh: "ao.bh"; bi: "ao.bi"; bj: "ao.bj"; bk: "ao.bk"; bl: "ao.bl"; bm: "ao.bm"; bn: "ao.bn"; bo: "ao.bo"; bp: "ao.bp"; bq: "ao.bq"; br: "ao.br"; bs: "ao.bs"; bt: "ao.bt"; bu: "ao.bu"; bv: "ao.bv"; bw: "ao.bw"; bx: "ao.bx"; by: "ao.by"; bz: "ao.bz"; ca: "ao.ca"; cb: "ao.cb"; cc: "ao.cc"; cd: "ao.cd"; ce: "ao.ce"; cf: "ao.cf"; cg: "ao.cg"; ch: "ao.ch"; ci: "ao.ci"; cj: "ao.cj"; ck: "ao.ck"; cl: "ao.cl"; cm: "ao.cm"; cn: "ao.cn"; co: "ao.co"; cp: "ao.cp"; cq: "ao.cq"; cr: "ao.cr"; cs: "ao.cs"; ct: "ao.ct"; cu: "ao.cu"; cv: "ao.cv"; cw: "ao.cw"; cx: "ao.cx"; cy: "ao.cy"; cz: "ao.cz"; da: "ao.da"; db: "ao.db"; dc: "ao.dc"; dd: "ao.dd"; de: "ao.de"; df: "ao.df"; dg: "ao.dg"; dh: "ao.dh"; di: "ao.di"; dj: "ao.dj"; dk: "ao.dk"; dl: "ao.dl"; dm: "ao.dm"; dn: "ao.dn"; do: "ao.do"; dp: "ao.dp"; dq: "ao.dq"; dr: "ao.dr"; ds: "ao.ds"; dt: "ao.dt"; du: "ao.du"; dv: "ao.dv"; dw: "ao.dw"; dx: "ao.dx"; dy: "ao.dy"; dz: "ao.dz"; ea: "ao.ea"; eb: "ao.eb"; ec: "ao.ec"; ed: "ao.ed"; ee: "ao.ee"; ef: "ao.ef"; eg: "ao.eg"; eh: "ao.eh"; ei: "ao.ei"; ej: "ao.ej"; ek: "ao.ek"; el: "ao.el"; em: "ao.em"; en: "ao.en"; eo: "ao.eo"; ep: "ao.ep"; eq: "ao.eq"; er: "ao.er"; es: "ao.es"; et: "ao.et"; eu: "ao.eu"; ev: "ao.ev"; ew: "ao.ew"; ex: "ao.ex"; ey: "ao.ey"; ez: "ao.ez"; fa: "ao.fa"; fb: "ao.fb"; fc: "ao.fc"; fd: "ao.fd"; fe: "ao.fe"; ff: "ao.ff"; fg: "ao.fg"; fh: "ao.fh"; fi: "ao.fi"; fj: "ao.fj"; fk: "ao.fk"; fl: "ao.fl"; fm: "ao.fm"; fn: "ao.fn"; fo: "ao.fo"; fp: "ao.fp"; fq: "ao.fq"; fr: "ao.fr"; fs: "ao.fs"; ft: "ao.ft"; fu: "ao.fu"; fv: "ao.fv"; fw: "ao.fw"; fx: "ao.fx"; fy: "ao.fy"; fz: "ao.fz"; ga: "ao.ga"; gb: "ao.gb"; gc: "ao.gc"; gd: "ao.gd"; ge: "ao.ge"; gf: "ao.gf"; gg: "ao.gg"; gh: "ao.gh"; gi: "ao.gi"; gj: "ao.gj"; gk: "ao.gk"; gl: "ao.gl"; gm: "ao.gm"; gn: "ao.gn"; go: "ao.go"; gp: "ao.gp"; gq: "ao.gq"; gr: "ao.gr"; gs: "ao.gs"; gt: "ao.gt"; gu: "ao.gu"; gv: "ao.gv"; gw: "ao.gw"; gx: "ao.gx"; gy: "ao.gy"; gz: "ao.gz"; ha: "ao.ha"; hb: "ao.hb"; hc: "ao.hc"; hd: "ao.hd"; he: "ao.he"; hf: "ao.hf"; hg: "ao.hg"; hh: "ao.hh"; hi: "ao.hi"; hj: "ao.hj"; hk: "ao.hk"; hl: "ao.hl"; hm: "ao.hm"; hn: "ao.hn"; ho: "ao.ho"; hp: "ao.hp"; hq: "ao.hq"; hr: "ao.hr"; hs: "ao.hs"; ht: "ao.ht"; hu: "ao.hu"; hv: "ao.hv"; hw: "ao.hw"; hx: "ao.hx"; hy: "ao.hy"; hz: "ao.hz"; ia: "ao.ia"; ib: "ao.ib"; ic: "ao.ic"; id: "ao.id"; ie: "ao.ie"; if: "ao.if"; ig: "ao.ig"; ih: "ao.ih"; ii: "ao.ii"; ij: "ao.ij"; ik: "ao.ik"; il: "ao.il"; im: "ao.im"; in: "ao.in"; io: "ao.io"; ip: "ao.ip"; iq: "ao.iq"; ir: "ao.ir"; is: "ao.is"; it: "ao.it"; iu: "ao.iu"; iv: "ao.iv"; iw: "ao.iw"; ix: "ao.ix"; iy: "ao.iy"; iz: "ao.iz"; ja: "ao.ja"; jb: "ao.jb"; jc: "ao.jc"; jd: "ao.jd"; je: "ao.je"; jf: "ao.jf"; jg: "ao.jg"; jh: "ao.jh"; ji: "ao.ji"; jj: "ao.jj"; jk: "ao.jk"; jl: "ao.jl"; jm: "ao.jm"; jn: "ao.jn"; jo: "ao.jo"; jp: "ao.jp"; jq: "ao.jq"; jr: "ao.jr"; js: "ao.js"; jt: "ao.jt"; ju: "ao.ju"; jv: "ao.jv"; jw: "ao.jw"; jx: "ao.jx"; jy: "ao.jy"; jz: "ao.jz"; ka: "ao.ka"; kb: "ao.kb"; kc: "ao.kc"; kd: "ao.kd"; ke: "ao.ke"; kf: "ao.kf"; kg: "ao.kg"; kh: "ao.kh"; ki: "ao.ki"; kj: "ao.kj"; kk: "ao.kk"; kl: "ao.kl"; km: "ao.km"; kn: "ao.kn"; ko: "ao.ko"; kp: "ao.kp"; kq: "ao.kq"; kr: "ao.kr"; ks: "ao.ks"; kt: "ao.kt"; ku: "ao.ku"; kv: "ao.kv"; kw: "ao.kw"; kx: "ao.kx"; ky: "ao.ky"; kz: "ao.kz"; la: "ao.la"; lb: "ao.lb"; lc: "ao.lc"; ld: "ao.ld"; le: "ao.le"; lf: "ao.lf"; lg: "ao.lg"; lh: "ao.lh"; li: "ao.li"; lj: "ao.lj"; lk: "ao.lk"; ll: "ao.ll"; lm: "ao.lm"; ln: "ao.ln"; lo: "ao.lo"; lp: "ao.lp"; lq: "ao.lq"; lr: "ao.lr"; ls: "ao.ls"; lt: "ao.lt"; lu: "ao.lu"; lv: "ao.lv"; lw: "ao.lw"; lx: "ao.lx"; ly: "ao.ly"; lz: "ao.lz"; ma: "ao.ma"; mb: "ao.mb"; mc: "ao.mc"; md: "ao.md"; me: "ao.me"; mf: "ao.mf"; mg: "ao.mg"; mh: "ao.mh"; mi: "ao.mi"; mj: "ao.mj"; mk: "ao.mk"; ml: "ao.ml"; mm: "ao.mm"; mn: "ao.mn"; mo: "ao.mo"; mp: "ao.mp"; mq: "ao.mq"; mr: "ao.mr"; ms: "ao.ms"; mt: "ao.mt"; mu: "ao.mu"; mv: "ao.mv"; mw: "ao.mw"; mx: "ao.mx"; my: "ao.my"; mz: "ao.mz"; na: "ao.na"; nb: "ao.nb"; nc: "ao.nc"; nd: "ao.nd"; ne: "ao.ne"; nf: "ao.nf"; ng: "ao.ng"; nh: "ao.nh"; ni: "ao.ni"; nj: "ao.nj"; nk: "ao.nk"; nl: "ao.nl"; nm: "ao.nm"; nn: "ao.nn"; no: "ao.no"; np: "ao.np"; nq: "ao.nq"; nr: "ao.nr"; ns: "ao.ns"; nt: "ao.nt"; nu: "ao.nu"; nv: "ao.nv"; nw: "ao.nw"; nx: "ao.nx"; ny: "ao.ny"; nz: "ao.nz"; oa: "ao.oa"; ob: "ao.ob"; oc: "ao.oc"; od: "ao.od"; oe: "ao.oe"; of: "ao.of"; og: "ao.og"; oh: "ao.oh"; oi: "ao.oi"; oj: "ao.oj"; ok: "ao.ok"; ol: "ao.ol"; om: "ao.om"; on: "ao.on"; oo: "ao.oo"; op: "ao.op"; oq: "ao.oq"; or: "ao.or"; os: "ao.os"; ot: "ao.ot"; ou: "ao.ou"; ov: "ao.ov"; ow: "ao.ow"; ox: "ao.ox"; oy: "ao.oy"; oz: "ao.oz"; pa: "ao.pa"; pb: "ao.pb"; pc: "ao.pc"; pd: "ao.pd"; pe: "ao.pe"; pf: "ao.pf"; pg: "ao.pg"; ph: "ao.ph"; pi: "ao.pi"; pj: "ao.pj"; pk: "ao.pk"; pl: "ao.pl"; pm: "ao.pm"; pn: "ao.pn"; po: "ao.po"; pp: "ao.pp"; pq: "ao.pq"; pr: "ao.pr"; ps: "ao.ps"; pt: "ao.pt"; pu: "ao.pu"; pv: "ao.pv"; pw: "ao.pw"; px: "ao.px"; py: "ao.py"; pz: "ao.pz"; qa: "ao.qa"; qb: "ao.qb"; qc: "ao.qc"; qd: "ao.qd"; qe: "ao.qe"; qf: "ao.qf"; qg: "ao.qg"; qh: "ao.qh"; qi: "ao.qi"; qj: "ao.qj"; qk: "ao.qk"; ql: "ao.ql"; qm: "ao.qm"; qn: "ao.qn"; qo: "ao.qo"; qp: "ao.qp"; qq: "ao.qq"; qr: "ao.qr"; qs: "ao.qs"; qt: "ao.qt"; qu: "ao.qu"; qv: "ao.qv"; qw: "ao.qw"; qx: "ao.qx"; qy: "ao.qy"; qz: "ao.qz"; ra: "ao.ra"; rb: "ao.rb"; rc: "ao.rc"; rd: "ao.rd"; re: "ao.re"; rf: "ao.rf"; rg: "ao.rg"; rh: "ao.rh"; ri: "ao.ri"; rj: "ao.rj"; rk: "ao.rk"; rl: "ao.rl"; rm: "ao.rm"; rn: "ao.rn"; ro: "ao.ro"; rp: "ao.rp"; rq: "ao.rq"; rr: "ao.rr"; rs: "ao.rs"; rt: "ao.rt"; ru: "ao.ru"; rv: "ao.rv"; rw: "ao.rw"; rx: "ao.rx"; ry: "ao.ry"; rz: "ao.rz"; sa: "ao.sa"; sb: "ao.sb"; sc: "ao.sc"; sd: "ao.sd"; se: "ao.se"; sf: "ao.sf"; sg: "ao.sg"; sh: "ao.sh"; si: "ao.si"; sj: "ao.sj"; sk: "ao.sk"; sl: "ao.sl"; sm: "ao.sm"; sn: "ao.sn"; so: "ao.so"; sp: "ao.sp"; sq: "ao.sq"; sr: "ao.sr"; ss: "ao.ss"; st: "ao.st"; su: "ao.su"; sv: "ao.sv"; sw: "ao.sw"; sx: "ao.sx"; sy: "ao.sy"; sz: "ao.sz"; ta: "ao.ta"; tb: "ao.tb"; tc: "ao.tc"; td: "ao.td"; te: "ao.te"; tf: "ao.tf"; tg: "ao.tg"; th: "ao.th"; ti: "ao.ti"; tj: "ao.tj"; tk: "ao.tk"; tl: "ao.tl"; tm: "ao.tm"; tn: "ao.tn"; to: "ao.to"; tp: "ao.tp"; tq: "ao.tq"; tr: "ao.tr"; ts: "ao.ts"; tt: "ao.tt"; tu: "ao.tu"; tv: "ao.tv"; tw: "ao.tw"; tx: "ao.tx"; ty: "ao.ty"; tz: "ao.tz"; ua: "ao.ua"; ub: "ao.ub"; uc: "ao.uc"; ud: "ao.ud"; ue: "ao.ue"; uf: "ao.uf"; ug: "ao.ug"; uh: "ao.uh"; ui: "ao.ui"; uj: "ao.uj"; uk: "ao.uk"; ul: "ao.ul"; um: "ao.um"; un: "ao.un"; uo: "ao.uo"; up: "ao.up"; uq: "ao.uq"; ur: "ao.ur"; us: "ao.us"; ut: "ao.ut"; uu: "ao.uu"; uv: "ao.uv"; uw: "ao.uw"; ux: "ao.ux"; uy: "ao.uy"; uz: "ao.uz"; va: "ao.va"; vb: "ao.vb"; vc: "ao.vc"; vd: "ao.vd"; ve: "ao.ve"; vf: "ao.vf"; vg: "ao.vg"; vh: "ao.vh"; vi: "ao.vi"; vj: "ao.vj"; vk: "ao.vk"; vl: "ao.vl"; vm: "ao.vm"; vn: "ao.vn"; vo: "ao.vo"; vp: "ao.vp"; vq: "ao.vq"; vr: "ao.vr"; vs: "ao.vs"; vt: "ao.vt"; vu: "ao.vu"; vv: "ao.vv"; vw: "ao.vw"; vx: "ao.vx"; vy: "ao.vy"; vz: "ao.vz"; wa: "ao.wa"; wb: "ao.wb"; wc: "ao.wc"; wd: "ao.wd"; we: "ao.we"; wf: "ao.wf"; wg: "ao.wg"; wh: "ao.wh"; wi: "ao.wi"; wj: "ao.wj"; wk: "ao.wk"; wl: "ao.wl"; wm: "ao.wm"; wn: "ao.wn"; wo: "ao.wo"; wp: "ao.wp"; wq: "ao.wq"; wr: "ao.wr"; ws: "ao.ws"; wt: "ao.wt"; wu: "ao.wu"; wv: "ao.wv"; ww: "ao.ww"; wx: "ao.wx"; wy: "ao.wy"; wz: "ao.wz"; xa: "ao.xa"; xb: "ao.xb"; xc: "ao.xc"; xd: "ao.xd"; xe: "ao.xe"; xf: "ao.xf"; xg: "ao.xg"; xh: "ao.xh"; xi: "ao.xi"; xj: "ao.xj"; xk: "ao.xk"; xl: "ao.xl"; xm: "ao.xm"; xn: "ao.xn"; xo: "ao.xo"; xp: "ao.xp"; xq: "ao.xq"; xr: "ao.xr"; xs: "ao.xs"; xt: "ao.xt"; xu: "ao.xu"; xv: "ao.xv"; xw: "ao.xw"; xx: "ao.xx"; xy: "ao.xy"; xz: "ao.xz"; ya: "ao.ya"; yb: "ao.yb"; yc: "ao.yc"; yd: "ao.yd"; ye: "ao.ye"; yf: "ao.yf"; yg: "ao.yg"; yh: "ao.yh"; yi: "ao.yi"; yj: "ao.yj"; yk: "ao.yk"; yl: "ao.yl"; ym: "ao.ym"; yn: "ao.yn"; yo: "ao.yo"; yp: "ao.yp"; yq: "ao.yq"; yr: "ao.yr"; ys: "ao.ys"; yt: "ao.yt"; yu: "ao.yu"; yv: "ao.yv"; yw: "ao.yw"; yx: "ao.yx"; yy: "ao.yy"; yz: "ao.yz"; za: "ao.za"; zb: "ao.zb"; zc: "ao.zc"; zd: "ao.zd"; ze: "ao.ze"; zf: "ao.zf"; zg: "ao.zg"; zh: "ao.zh"; zi: "ao.zi"; zj: "ao.zj"; zk: "ao.zk"; zl: "ao.zl"; zm: "ao.zm"; zn: "ao.zn"; zo: "ao.zo"; zp: "ao.zp"; zq: "ao.zq"; zr: "ao.zr"; zs: "ao.zs"; zt: "ao.zt"; zu: "ao.zu"; zv: "ao.zv"; zw: "ao.zw"; zx: "ao.zx"; zy: "ao.zy"; zz: "ao.zz"; }; ap: { aa: "ap.aa"; ab: "ap.ab"; ac: "ap.ac"; ad: "ap.ad"; ae: "ap.ae"; af: "ap.af"; ag: "ap.ag"; ah: "ap.ah"; ai: "ap.ai"; aj: "ap.aj"; ak: "ap.ak"; al: "ap.al"; am: "ap.am"; an: "ap.an"; ao: "ap.ao"; ap: "ap.ap"; aq: "ap.aq"; ar: "ap.ar"; as: "ap.as"; at: "ap.at"; au: "ap.au"; av: "ap.av"; aw: "ap.aw"; ax: "ap.ax"; ay: "ap.ay"; az: "ap.az"; ba: "ap.ba"; bb: "ap.bb"; bc: "ap.bc"; bd: "ap.bd"; be: "ap.be"; bf: "ap.bf"; bg: "ap.bg"; bh: "ap.bh"; bi: "ap.bi"; bj: "ap.bj"; bk: "ap.bk"; bl: "ap.bl"; bm: "ap.bm"; bn: "ap.bn"; bo: "ap.bo"; bp: "ap.bp"; bq: "ap.bq"; br: "ap.br"; bs: "ap.bs"; bt: "ap.bt"; bu: "ap.bu"; bv: "ap.bv"; bw: "ap.bw"; bx: "ap.bx"; by: "ap.by"; bz: "ap.bz"; ca: "ap.ca"; cb: "ap.cb"; cc: "ap.cc"; cd: "ap.cd"; ce: "ap.ce"; cf: "ap.cf"; cg: "ap.cg"; ch: "ap.ch"; ci: "ap.ci"; cj: "ap.cj"; ck: "ap.ck"; cl: "ap.cl"; cm: "ap.cm"; cn: "ap.cn"; co: "ap.co"; cp: "ap.cp"; cq: "ap.cq"; cr: "ap.cr"; cs: "ap.cs"; ct: "ap.ct"; cu: "ap.cu"; cv: "ap.cv"; cw: "ap.cw"; cx: "ap.cx"; cy: "ap.cy"; cz: "ap.cz"; da: "ap.da"; db: "ap.db"; dc: "ap.dc"; dd: "ap.dd"; de: "ap.de"; df: "ap.df"; dg: "ap.dg"; dh: "ap.dh"; di: "ap.di"; dj: "ap.dj"; dk: "ap.dk"; dl: "ap.dl"; dm: "ap.dm"; dn: "ap.dn"; do: "ap.do"; dp: "ap.dp"; dq: "ap.dq"; dr: "ap.dr"; ds: "ap.ds"; dt: "ap.dt"; du: "ap.du"; dv: "ap.dv"; dw: "ap.dw"; dx: "ap.dx"; dy: "ap.dy"; dz: "ap.dz"; ea: "ap.ea"; eb: "ap.eb"; ec: "ap.ec"; ed: "ap.ed"; ee: "ap.ee"; ef: "ap.ef"; eg: "ap.eg"; eh: "ap.eh"; ei: "ap.ei"; ej: "ap.ej"; ek: "ap.ek"; el: "ap.el"; em: "ap.em"; en: "ap.en"; eo: "ap.eo"; ep: "ap.ep"; eq: "ap.eq"; er: "ap.er"; es: "ap.es"; et: "ap.et"; eu: "ap.eu"; ev: "ap.ev"; ew: "ap.ew"; ex: "ap.ex"; ey: "ap.ey"; ez: "ap.ez"; fa: "ap.fa"; fb: "ap.fb"; fc: "ap.fc"; fd: "ap.fd"; fe: "ap.fe"; ff: "ap.ff"; fg: "ap.fg"; fh: "ap.fh"; fi: "ap.fi"; fj: "ap.fj"; fk: "ap.fk"; fl: "ap.fl"; fm: "ap.fm"; fn: "ap.fn"; fo: "ap.fo"; fp: "ap.fp"; fq: "ap.fq"; fr: "ap.fr"; fs: "ap.fs"; ft: "ap.ft"; fu: "ap.fu"; fv: "ap.fv"; fw: "ap.fw"; fx: "ap.fx"; fy: "ap.fy"; fz: "ap.fz"; ga: "ap.ga"; gb: "ap.gb"; gc: "ap.gc"; gd: "ap.gd"; ge: "ap.ge"; gf: "ap.gf"; gg: "ap.gg"; gh: "ap.gh"; gi: "ap.gi"; gj: "ap.gj"; gk: "ap.gk"; gl: "ap.gl"; gm: "ap.gm"; gn: "ap.gn"; go: "ap.go"; gp: "ap.gp"; gq: "ap.gq"; gr: "ap.gr"; gs: "ap.gs"; gt: "ap.gt"; gu: "ap.gu"; gv: "ap.gv"; gw: "ap.gw"; gx: "ap.gx"; gy: "ap.gy"; gz: "ap.gz"; ha: "ap.ha"; hb: "ap.hb"; hc: "ap.hc"; hd: "ap.hd"; he: "ap.he"; hf: "ap.hf"; hg: "ap.hg"; hh: "ap.hh"; hi: "ap.hi"; hj: "ap.hj"; hk: "ap.hk"; hl: "ap.hl"; hm: "ap.hm"; hn: "ap.hn"; ho: "ap.ho"; hp: "ap.hp"; hq: "ap.hq"; hr: "ap.hr"; hs: "ap.hs"; ht: "ap.ht"; hu: "ap.hu"; hv: "ap.hv"; hw: "ap.hw"; hx: "ap.hx"; hy: "ap.hy"; hz: "ap.hz"; ia: "ap.ia"; ib: "ap.ib"; ic: "ap.ic"; id: "ap.id"; ie: "ap.ie"; if: "ap.if"; ig: "ap.ig"; ih: "ap.ih"; ii: "ap.ii"; ij: "ap.ij"; ik: "ap.ik"; il: "ap.il"; im: "ap.im"; in: "ap.in"; io: "ap.io"; ip: "ap.ip"; iq: "ap.iq"; ir: "ap.ir"; is: "ap.is"; it: "ap.it"; iu: "ap.iu"; iv: "ap.iv"; iw: "ap.iw"; ix: "ap.ix"; iy: "ap.iy"; iz: "ap.iz"; ja: "ap.ja"; jb: "ap.jb"; jc: "ap.jc"; jd: "ap.jd"; je: "ap.je"; jf: "ap.jf"; jg: "ap.jg"; jh: "ap.jh"; ji: "ap.ji"; jj: "ap.jj"; jk: "ap.jk"; jl: "ap.jl"; jm: "ap.jm"; jn: "ap.jn"; jo: "ap.jo"; jp: "ap.jp"; jq: "ap.jq"; jr: "ap.jr"; js: "ap.js"; jt: "ap.jt"; ju: "ap.ju"; jv: "ap.jv"; jw: "ap.jw"; jx: "ap.jx"; jy: "ap.jy"; jz: "ap.jz"; ka: "ap.ka"; kb: "ap.kb"; kc: "ap.kc"; kd: "ap.kd"; ke: "ap.ke"; kf: "ap.kf"; kg: "ap.kg"; kh: "ap.kh"; ki: "ap.ki"; kj: "ap.kj"; kk: "ap.kk"; kl: "ap.kl"; km: "ap.km"; kn: "ap.kn"; ko: "ap.ko"; kp: "ap.kp"; kq: "ap.kq"; kr: "ap.kr"; ks: "ap.ks"; kt: "ap.kt"; ku: "ap.ku"; kv: "ap.kv"; kw: "ap.kw"; kx: "ap.kx"; ky: "ap.ky"; kz: "ap.kz"; la: "ap.la"; lb: "ap.lb"; lc: "ap.lc"; ld: "ap.ld"; le: "ap.le"; lf: "ap.lf"; lg: "ap.lg"; lh: "ap.lh"; li: "ap.li"; lj: "ap.lj"; lk: "ap.lk"; ll: "ap.ll"; lm: "ap.lm"; ln: "ap.ln"; lo: "ap.lo"; lp: "ap.lp"; lq: "ap.lq"; lr: "ap.lr"; ls: "ap.ls"; lt: "ap.lt"; lu: "ap.lu"; lv: "ap.lv"; lw: "ap.lw"; lx: "ap.lx"; ly: "ap.ly"; lz: "ap.lz"; ma: "ap.ma"; mb: "ap.mb"; mc: "ap.mc"; md: "ap.md"; me: "ap.me"; mf: "ap.mf"; mg: "ap.mg"; mh: "ap.mh"; mi: "ap.mi"; mj: "ap.mj"; mk: "ap.mk"; ml: "ap.ml"; mm: "ap.mm"; mn: "ap.mn"; mo: "ap.mo"; mp: "ap.mp"; mq: "ap.mq"; mr: "ap.mr"; ms: "ap.ms"; mt: "ap.mt"; mu: "ap.mu"; mv: "ap.mv"; mw: "ap.mw"; mx: "ap.mx"; my: "ap.my"; mz: "ap.mz"; na: "ap.na"; nb: "ap.nb"; nc: "ap.nc"; nd: "ap.nd"; ne: "ap.ne"; nf: "ap.nf"; ng: "ap.ng"; nh: "ap.nh"; ni: "ap.ni"; nj: "ap.nj"; nk: "ap.nk"; nl: "ap.nl"; nm: "ap.nm"; nn: "ap.nn"; no: "ap.no"; np: "ap.np"; nq: "ap.nq"; nr: "ap.nr"; ns: "ap.ns"; nt: "ap.nt"; nu: "ap.nu"; nv: "ap.nv"; nw: "ap.nw"; nx: "ap.nx"; ny: "ap.ny"; nz: "ap.nz"; oa: "ap.oa"; ob: "ap.ob"; oc: "ap.oc"; od: "ap.od"; oe: "ap.oe"; of: "ap.of"; og: "ap.og"; oh: "ap.oh"; oi: "ap.oi"; oj: "ap.oj"; ok: "ap.ok"; ol: "ap.ol"; om: "ap.om"; on: "ap.on"; oo: "ap.oo"; op: "ap.op"; oq: "ap.oq"; or: "ap.or"; os: "ap.os"; ot: "ap.ot"; ou: "ap.ou"; ov: "ap.ov"; ow: "ap.ow"; ox: "ap.ox"; oy: "ap.oy"; oz: "ap.oz"; pa: "ap.pa"; pb: "ap.pb"; pc: "ap.pc"; pd: "ap.pd"; pe: "ap.pe"; pf: "ap.pf"; pg: "ap.pg"; ph: "ap.ph"; pi: "ap.pi"; pj: "ap.pj"; pk: "ap.pk"; pl: "ap.pl"; pm: "ap.pm"; pn: "ap.pn"; po: "ap.po"; pp: "ap.pp"; pq: "ap.pq"; pr: "ap.pr"; ps: "ap.ps"; pt: "ap.pt"; pu: "ap.pu"; pv: "ap.pv"; pw: "ap.pw"; px: "ap.px"; py: "ap.py"; pz: "ap.pz"; qa: "ap.qa"; qb: "ap.qb"; qc: "ap.qc"; qd: "ap.qd"; qe: "ap.qe"; qf: "ap.qf"; qg: "ap.qg"; qh: "ap.qh"; qi: "ap.qi"; qj: "ap.qj"; qk: "ap.qk"; ql: "ap.ql"; qm: "ap.qm"; qn: "ap.qn"; qo: "ap.qo"; qp: "ap.qp"; qq: "ap.qq"; qr: "ap.qr"; qs: "ap.qs"; qt: "ap.qt"; qu: "ap.qu"; qv: "ap.qv"; qw: "ap.qw"; qx: "ap.qx"; qy: "ap.qy"; qz: "ap.qz"; ra: "ap.ra"; rb: "ap.rb"; rc: "ap.rc"; rd: "ap.rd"; re: "ap.re"; rf: "ap.rf"; rg: "ap.rg"; rh: "ap.rh"; ri: "ap.ri"; rj: "ap.rj"; rk: "ap.rk"; rl: "ap.rl"; rm: "ap.rm"; rn: "ap.rn"; ro: "ap.ro"; rp: "ap.rp"; rq: "ap.rq"; rr: "ap.rr"; rs: "ap.rs"; rt: "ap.rt"; ru: "ap.ru"; rv: "ap.rv"; rw: "ap.rw"; rx: "ap.rx"; ry: "ap.ry"; rz: "ap.rz"; sa: "ap.sa"; sb: "ap.sb"; sc: "ap.sc"; sd: "ap.sd"; se: "ap.se"; sf: "ap.sf"; sg: "ap.sg"; sh: "ap.sh"; si: "ap.si"; sj: "ap.sj"; sk: "ap.sk"; sl: "ap.sl"; sm: "ap.sm"; sn: "ap.sn"; so: "ap.so"; sp: "ap.sp"; sq: "ap.sq"; sr: "ap.sr"; ss: "ap.ss"; st: "ap.st"; su: "ap.su"; sv: "ap.sv"; sw: "ap.sw"; sx: "ap.sx"; sy: "ap.sy"; sz: "ap.sz"; ta: "ap.ta"; tb: "ap.tb"; tc: "ap.tc"; td: "ap.td"; te: "ap.te"; tf: "ap.tf"; tg: "ap.tg"; th: "ap.th"; ti: "ap.ti"; tj: "ap.tj"; tk: "ap.tk"; tl: "ap.tl"; tm: "ap.tm"; tn: "ap.tn"; to: "ap.to"; tp: "ap.tp"; tq: "ap.tq"; tr: "ap.tr"; ts: "ap.ts"; tt: "ap.tt"; tu: "ap.tu"; tv: "ap.tv"; tw: "ap.tw"; tx: "ap.tx"; ty: "ap.ty"; tz: "ap.tz"; ua: "ap.ua"; ub: "ap.ub"; uc: "ap.uc"; ud: "ap.ud"; ue: "ap.ue"; uf: "ap.uf"; ug: "ap.ug"; uh: "ap.uh"; ui: "ap.ui"; uj: "ap.uj"; uk: "ap.uk"; ul: "ap.ul"; um: "ap.um"; un: "ap.un"; uo: "ap.uo"; up: "ap.up"; uq: "ap.uq"; ur: "ap.ur"; us: "ap.us"; ut: "ap.ut"; uu: "ap.uu"; uv: "ap.uv"; uw: "ap.uw"; ux: "ap.ux"; uy: "ap.uy"; uz: "ap.uz"; va: "ap.va"; vb: "ap.vb"; vc: "ap.vc"; vd: "ap.vd"; ve: "ap.ve"; vf: "ap.vf"; vg: "ap.vg"; vh: "ap.vh"; vi: "ap.vi"; vj: "ap.vj"; vk: "ap.vk"; vl: "ap.vl"; vm: "ap.vm"; vn: "ap.vn"; vo: "ap.vo"; vp: "ap.vp"; vq: "ap.vq"; vr: "ap.vr"; vs: "ap.vs"; vt: "ap.vt"; vu: "ap.vu"; vv: "ap.vv"; vw: "ap.vw"; vx: "ap.vx"; vy: "ap.vy"; vz: "ap.vz"; wa: "ap.wa"; wb: "ap.wb"; wc: "ap.wc"; wd: "ap.wd"; we: "ap.we"; wf: "ap.wf"; wg: "ap.wg"; wh: "ap.wh"; wi: "ap.wi"; wj: "ap.wj"; wk: "ap.wk"; wl: "ap.wl"; wm: "ap.wm"; wn: "ap.wn"; wo: "ap.wo"; wp: "ap.wp"; wq: "ap.wq"; wr: "ap.wr"; ws: "ap.ws"; wt: "ap.wt"; wu: "ap.wu"; wv: "ap.wv"; ww: "ap.ww"; wx: "ap.wx"; wy: "ap.wy"; wz: "ap.wz"; xa: "ap.xa"; xb: "ap.xb"; xc: "ap.xc"; xd: "ap.xd"; xe: "ap.xe"; xf: "ap.xf"; xg: "ap.xg"; xh: "ap.xh"; xi: "ap.xi"; xj: "ap.xj"; xk: "ap.xk"; xl: "ap.xl"; xm: "ap.xm"; xn: "ap.xn"; xo: "ap.xo"; xp: "ap.xp"; xq: "ap.xq"; xr: "ap.xr"; xs: "ap.xs"; xt: "ap.xt"; xu: "ap.xu"; xv: "ap.xv"; xw: "ap.xw"; xx: "ap.xx"; xy: "ap.xy"; xz: "ap.xz"; ya: "ap.ya"; yb: "ap.yb"; yc: "ap.yc"; yd: "ap.yd"; ye: "ap.ye"; yf: "ap.yf"; yg: "ap.yg"; yh: "ap.yh"; yi: "ap.yi"; yj: "ap.yj"; yk: "ap.yk"; yl: "ap.yl"; ym: "ap.ym"; yn: "ap.yn"; yo: "ap.yo"; yp: "ap.yp"; yq: "ap.yq"; yr: "ap.yr"; ys: "ap.ys"; yt: "ap.yt"; yu: "ap.yu"; yv: "ap.yv"; yw: "ap.yw"; yx: "ap.yx"; yy: "ap.yy"; yz: "ap.yz"; za: "ap.za"; zb: "ap.zb"; zc: "ap.zc"; zd: "ap.zd"; ze: "ap.ze"; zf: "ap.zf"; zg: "ap.zg"; zh: "ap.zh"; zi: "ap.zi"; zj: "ap.zj"; zk: "ap.zk"; zl: "ap.zl"; zm: "ap.zm"; zn: "ap.zn"; zo: "ap.zo"; zp: "ap.zp"; zq: "ap.zq"; zr: "ap.zr"; zs: "ap.zs"; zt: "ap.zt"; zu: "ap.zu"; zv: "ap.zv"; zw: "ap.zw"; zx: "ap.zx"; zy: "ap.zy"; zz: "ap.zz"; }; aq: { aa: "aq.aa"; ab: "aq.ab"; ac: "aq.ac"; ad: "aq.ad"; ae: "aq.ae"; af: "aq.af"; ag: "aq.ag"; ah: "aq.ah"; ai: "aq.ai"; aj: "aq.aj"; ak: "aq.ak"; al: "aq.al"; am: "aq.am"; an: "aq.an"; ao: "aq.ao"; ap: "aq.ap"; aq: "aq.aq"; ar: "aq.ar"; as: "aq.as"; at: "aq.at"; au: "aq.au"; av: "aq.av"; aw: "aq.aw"; ax: "aq.ax"; ay: "aq.ay"; az: "aq.az"; ba: "aq.ba"; bb: "aq.bb"; bc: "aq.bc"; bd: "aq.bd"; be: "aq.be"; bf: "aq.bf"; bg: "aq.bg"; bh: "aq.bh"; bi: "aq.bi"; bj: "aq.bj"; bk: "aq.bk"; bl: "aq.bl"; bm: "aq.bm"; bn: "aq.bn"; bo: "aq.bo"; bp: "aq.bp"; bq: "aq.bq"; br: "aq.br"; bs: "aq.bs"; bt: "aq.bt"; bu: "aq.bu"; bv: "aq.bv"; bw: "aq.bw"; bx: "aq.bx"; by: "aq.by"; bz: "aq.bz"; ca: "aq.ca"; cb: "aq.cb"; cc: "aq.cc"; cd: "aq.cd"; ce: "aq.ce"; cf: "aq.cf"; cg: "aq.cg"; ch: "aq.ch"; ci: "aq.ci"; cj: "aq.cj"; ck: "aq.ck"; cl: "aq.cl"; cm: "aq.cm"; cn: "aq.cn"; co: "aq.co"; cp: "aq.cp"; cq: "aq.cq"; cr: "aq.cr"; cs: "aq.cs"; ct: "aq.ct"; cu: "aq.cu"; cv: "aq.cv"; cw: "aq.cw"; cx: "aq.cx"; cy: "aq.cy"; cz: "aq.cz"; da: "aq.da"; db: "aq.db"; dc: "aq.dc"; dd: "aq.dd"; de: "aq.de"; df: "aq.df"; dg: "aq.dg"; dh: "aq.dh"; di: "aq.di"; dj: "aq.dj"; dk: "aq.dk"; dl: "aq.dl"; dm: "aq.dm"; dn: "aq.dn"; do: "aq.do"; dp: "aq.dp"; dq: "aq.dq"; dr: "aq.dr"; ds: "aq.ds"; dt: "aq.dt"; du: "aq.du"; dv: "aq.dv"; dw: "aq.dw"; dx: "aq.dx"; dy: "aq.dy"; dz: "aq.dz"; ea: "aq.ea"; eb: "aq.eb"; ec: "aq.ec"; ed: "aq.ed"; ee: "aq.ee"; ef: "aq.ef"; eg: "aq.eg"; eh: "aq.eh"; ei: "aq.ei"; ej: "aq.ej"; ek: "aq.ek"; el: "aq.el"; em: "aq.em"; en: "aq.en"; eo: "aq.eo"; ep: "aq.ep"; eq: "aq.eq"; er: "aq.er"; es: "aq.es"; et: "aq.et"; eu: "aq.eu"; ev: "aq.ev"; ew: "aq.ew"; ex: "aq.ex"; ey: "aq.ey"; ez: "aq.ez"; fa: "aq.fa"; fb: "aq.fb"; fc: "aq.fc"; fd: "aq.fd"; fe: "aq.fe"; ff: "aq.ff"; fg: "aq.fg"; fh: "aq.fh"; fi: "aq.fi"; fj: "aq.fj"; fk: "aq.fk"; fl: "aq.fl"; fm: "aq.fm"; fn: "aq.fn"; fo: "aq.fo"; fp: "aq.fp"; fq: "aq.fq"; fr: "aq.fr"; fs: "aq.fs"; ft: "aq.ft"; fu: "aq.fu"; fv: "aq.fv"; fw: "aq.fw"; fx: "aq.fx"; fy: "aq.fy"; fz: "aq.fz"; ga: "aq.ga"; gb: "aq.gb"; gc: "aq.gc"; gd: "aq.gd"; ge: "aq.ge"; gf: "aq.gf"; gg: "aq.gg"; gh: "aq.gh"; gi: "aq.gi"; gj: "aq.gj"; gk: "aq.gk"; gl: "aq.gl"; gm: "aq.gm"; gn: "aq.gn"; go: "aq.go"; gp: "aq.gp"; gq: "aq.gq"; gr: "aq.gr"; gs: "aq.gs"; gt: "aq.gt"; gu: "aq.gu"; gv: "aq.gv"; gw: "aq.gw"; gx: "aq.gx"; gy: "aq.gy"; gz: "aq.gz"; ha: "aq.ha"; hb: "aq.hb"; hc: "aq.hc"; hd: "aq.hd"; he: "aq.he"; hf: "aq.hf"; hg: "aq.hg"; hh: "aq.hh"; hi: "aq.hi"; hj: "aq.hj"; hk: "aq.hk"; hl: "aq.hl"; hm: "aq.hm"; hn: "aq.hn"; ho: "aq.ho"; hp: "aq.hp"; hq: "aq.hq"; hr: "aq.hr"; hs: "aq.hs"; ht: "aq.ht"; hu: "aq.hu"; hv: "aq.hv"; hw: "aq.hw"; hx: "aq.hx"; hy: "aq.hy"; hz: "aq.hz"; ia: "aq.ia"; ib: "aq.ib"; ic: "aq.ic"; id: "aq.id"; ie: "aq.ie"; if: "aq.if"; ig: "aq.ig"; ih: "aq.ih"; ii: "aq.ii"; ij: "aq.ij"; ik: "aq.ik"; il: "aq.il"; im: "aq.im"; in: "aq.in"; io: "aq.io"; ip: "aq.ip"; iq: "aq.iq"; ir: "aq.ir"; is: "aq.is"; it: "aq.it"; iu: "aq.iu"; iv: "aq.iv"; iw: "aq.iw"; ix: "aq.ix"; iy: "aq.iy"; iz: "aq.iz"; ja: "aq.ja"; jb: "aq.jb"; jc: "aq.jc"; jd: "aq.jd"; je: "aq.je"; jf: "aq.jf"; jg: "aq.jg"; jh: "aq.jh"; ji: "aq.ji"; jj: "aq.jj"; jk: "aq.jk"; jl: "aq.jl"; jm: "aq.jm"; jn: "aq.jn"; jo: "aq.jo"; jp: "aq.jp"; jq: "aq.jq"; jr: "aq.jr"; js: "aq.js"; jt: "aq.jt"; ju: "aq.ju"; jv: "aq.jv"; jw: "aq.jw"; jx: "aq.jx"; jy: "aq.jy"; jz: "aq.jz"; ka: "aq.ka"; kb: "aq.kb"; kc: "aq.kc"; kd: "aq.kd"; ke: "aq.ke"; kf: "aq.kf"; kg: "aq.kg"; kh: "aq.kh"; ki: "aq.ki"; kj: "aq.kj"; kk: "aq.kk"; kl: "aq.kl"; km: "aq.km"; kn: "aq.kn"; ko: "aq.ko"; kp: "aq.kp"; kq: "aq.kq"; kr: "aq.kr"; ks: "aq.ks"; kt: "aq.kt"; ku: "aq.ku"; kv: "aq.kv"; kw: "aq.kw"; kx: "aq.kx"; ky: "aq.ky"; kz: "aq.kz"; la: "aq.la"; lb: "aq.lb"; lc: "aq.lc"; ld: "aq.ld"; le: "aq.le"; lf: "aq.lf"; lg: "aq.lg"; lh: "aq.lh"; li: "aq.li"; lj: "aq.lj"; lk: "aq.lk"; ll: "aq.ll"; lm: "aq.lm"; ln: "aq.ln"; lo: "aq.lo"; lp: "aq.lp"; lq: "aq.lq"; lr: "aq.lr"; ls: "aq.ls"; lt: "aq.lt"; lu: "aq.lu"; lv: "aq.lv"; lw: "aq.lw"; lx: "aq.lx"; ly: "aq.ly"; lz: "aq.lz"; ma: "aq.ma"; mb: "aq.mb"; mc: "aq.mc"; md: "aq.md"; me: "aq.me"; mf: "aq.mf"; mg: "aq.mg"; mh: "aq.mh"; mi: "aq.mi"; mj: "aq.mj"; mk: "aq.mk"; ml: "aq.ml"; mm: "aq.mm"; mn: "aq.mn"; mo: "aq.mo"; mp: "aq.mp"; mq: "aq.mq"; mr: "aq.mr"; ms: "aq.ms"; mt: "aq.mt"; mu: "aq.mu"; mv: "aq.mv"; mw: "aq.mw"; mx: "aq.mx"; my: "aq.my"; mz: "aq.mz"; na: "aq.na"; nb: "aq.nb"; nc: "aq.nc"; nd: "aq.nd"; ne: "aq.ne"; nf: "aq.nf"; ng: "aq.ng"; nh: "aq.nh"; ni: "aq.ni"; nj: "aq.nj"; nk: "aq.nk"; nl: "aq.nl"; nm: "aq.nm"; nn: "aq.nn"; no: "aq.no"; np: "aq.np"; nq: "aq.nq"; nr: "aq.nr"; ns: "aq.ns"; nt: "aq.nt"; nu: "aq.nu"; nv: "aq.nv"; nw: "aq.nw"; nx: "aq.nx"; ny: "aq.ny"; nz: "aq.nz"; oa: "aq.oa"; ob: "aq.ob"; oc: "aq.oc"; od: "aq.od"; oe: "aq.oe"; of: "aq.of"; og: "aq.og"; oh: "aq.oh"; oi: "aq.oi"; oj: "aq.oj"; ok: "aq.ok"; ol: "aq.ol"; om: "aq.om"; on: "aq.on"; oo: "aq.oo"; op: "aq.op"; oq: "aq.oq"; or: "aq.or"; os: "aq.os"; ot: "aq.ot"; ou: "aq.ou"; ov: "aq.ov"; ow: "aq.ow"; ox: "aq.ox"; oy: "aq.oy"; oz: "aq.oz"; pa: "aq.pa"; pb: "aq.pb"; pc: "aq.pc"; pd: "aq.pd"; pe: "aq.pe"; pf: "aq.pf"; pg: "aq.pg"; ph: "aq.ph"; pi: "aq.pi"; pj: "aq.pj"; pk: "aq.pk"; pl: "aq.pl"; pm: "aq.pm"; pn: "aq.pn"; po: "aq.po"; pp: "aq.pp"; pq: "aq.pq"; pr: "aq.pr"; ps: "aq.ps"; pt: "aq.pt"; pu: "aq.pu"; pv: "aq.pv"; pw: "aq.pw"; px: "aq.px"; py: "aq.py"; pz: "aq.pz"; qa: "aq.qa"; qb: "aq.qb"; qc: "aq.qc"; qd: "aq.qd"; qe: "aq.qe"; qf: "aq.qf"; qg: "aq.qg"; qh: "aq.qh"; qi: "aq.qi"; qj: "aq.qj"; qk: "aq.qk"; ql: "aq.ql"; qm: "aq.qm"; qn: "aq.qn"; qo: "aq.qo"; qp: "aq.qp"; qq: "aq.qq"; qr: "aq.qr"; qs: "aq.qs"; qt: "aq.qt"; qu: "aq.qu"; qv: "aq.qv"; qw: "aq.qw"; qx: "aq.qx"; qy: "aq.qy"; qz: "aq.qz"; ra: "aq.ra"; rb: "aq.rb"; rc: "aq.rc"; rd: "aq.rd"; re: "aq.re"; rf: "aq.rf"; rg: "aq.rg"; rh: "aq.rh"; ri: "aq.ri"; rj: "aq.rj"; rk: "aq.rk"; rl: "aq.rl"; rm: "aq.rm"; rn: "aq.rn"; ro: "aq.ro"; rp: "aq.rp"; rq: "aq.rq"; rr: "aq.rr"; rs: "aq.rs"; rt: "aq.rt"; ru: "aq.ru"; rv: "aq.rv"; rw: "aq.rw"; rx: "aq.rx"; ry: "aq.ry"; rz: "aq.rz"; sa: "aq.sa"; sb: "aq.sb"; sc: "aq.sc"; sd: "aq.sd"; se: "aq.se"; sf: "aq.sf"; sg: "aq.sg"; sh: "aq.sh"; si: "aq.si"; sj: "aq.sj"; sk: "aq.sk"; sl: "aq.sl"; sm: "aq.sm"; sn: "aq.sn"; so: "aq.so"; sp: "aq.sp"; sq: "aq.sq"; sr: "aq.sr"; ss: "aq.ss"; st: "aq.st"; su: "aq.su"; sv: "aq.sv"; sw: "aq.sw"; sx: "aq.sx"; sy: "aq.sy"; sz: "aq.sz"; ta: "aq.ta"; tb: "aq.tb"; tc: "aq.tc"; td: "aq.td"; te: "aq.te"; tf: "aq.tf"; tg: "aq.tg"; th: "aq.th"; ti: "aq.ti"; tj: "aq.tj"; tk: "aq.tk"; tl: "aq.tl"; tm: "aq.tm"; tn: "aq.tn"; to: "aq.to"; tp: "aq.tp"; tq: "aq.tq"; tr: "aq.tr"; ts: "aq.ts"; tt: "aq.tt"; tu: "aq.tu"; tv: "aq.tv"; tw: "aq.tw"; tx: "aq.tx"; ty: "aq.ty"; tz: "aq.tz"; ua: "aq.ua"; ub: "aq.ub"; uc: "aq.uc"; ud: "aq.ud"; ue: "aq.ue"; uf: "aq.uf"; ug: "aq.ug"; uh: "aq.uh"; ui: "aq.ui"; uj: "aq.uj"; uk: "aq.uk"; ul: "aq.ul"; um: "aq.um"; un: "aq.un"; uo: "aq.uo"; up: "aq.up"; uq: "aq.uq"; ur: "aq.ur"; us: "aq.us"; ut: "aq.ut"; uu: "aq.uu"; uv: "aq.uv"; uw: "aq.uw"; ux: "aq.ux"; uy: "aq.uy"; uz: "aq.uz"; va: "aq.va"; vb: "aq.vb"; vc: "aq.vc"; vd: "aq.vd"; ve: "aq.ve"; vf: "aq.vf"; vg: "aq.vg"; vh: "aq.vh"; vi: "aq.vi"; vj: "aq.vj"; vk: "aq.vk"; vl: "aq.vl"; vm: "aq.vm"; vn: "aq.vn"; vo: "aq.vo"; vp: "aq.vp"; vq: "aq.vq"; vr: "aq.vr"; vs: "aq.vs"; vt: "aq.vt"; vu: "aq.vu"; vv: "aq.vv"; vw: "aq.vw"; vx: "aq.vx"; vy: "aq.vy"; vz: "aq.vz"; wa: "aq.wa"; wb: "aq.wb"; wc: "aq.wc"; wd: "aq.wd"; we: "aq.we"; wf: "aq.wf"; wg: "aq.wg"; wh: "aq.wh"; wi: "aq.wi"; wj: "aq.wj"; wk: "aq.wk"; wl: "aq.wl"; wm: "aq.wm"; wn: "aq.wn"; wo: "aq.wo"; wp: "aq.wp"; wq: "aq.wq"; wr: "aq.wr"; ws: "aq.ws"; wt: "aq.wt"; wu: "aq.wu"; wv: "aq.wv"; ww: "aq.ww"; wx: "aq.wx"; wy: "aq.wy"; wz: "aq.wz"; xa: "aq.xa"; xb: "aq.xb"; xc: "aq.xc"; xd: "aq.xd"; xe: "aq.xe"; xf: "aq.xf"; xg: "aq.xg"; xh: "aq.xh"; xi: "aq.xi"; xj: "aq.xj"; xk: "aq.xk"; xl: "aq.xl"; xm: "aq.xm"; xn: "aq.xn"; xo: "aq.xo"; xp: "aq.xp"; xq: "aq.xq"; xr: "aq.xr"; xs: "aq.xs"; xt: "aq.xt"; xu: "aq.xu"; xv: "aq.xv"; xw: "aq.xw"; xx: "aq.xx"; xy: "aq.xy"; xz: "aq.xz"; ya: "aq.ya"; yb: "aq.yb"; yc: "aq.yc"; yd: "aq.yd"; ye: "aq.ye"; yf: "aq.yf"; yg: "aq.yg"; yh: "aq.yh"; yi: "aq.yi"; yj: "aq.yj"; yk: "aq.yk"; yl: "aq.yl"; ym: "aq.ym"; yn: "aq.yn"; yo: "aq.yo"; yp: "aq.yp"; yq: "aq.yq"; yr: "aq.yr"; ys: "aq.ys"; yt: "aq.yt"; yu: "aq.yu"; yv: "aq.yv"; yw: "aq.yw"; yx: "aq.yx"; yy: "aq.yy"; yz: "aq.yz"; za: "aq.za"; zb: "aq.zb"; zc: "aq.zc"; zd: "aq.zd"; ze: "aq.ze"; zf: "aq.zf"; zg: "aq.zg"; zh: "aq.zh"; zi: "aq.zi"; zj: "aq.zj"; zk: "aq.zk"; zl: "aq.zl"; zm: "aq.zm"; zn: "aq.zn"; zo: "aq.zo"; zp: "aq.zp"; zq: "aq.zq"; zr: "aq.zr"; zs: "aq.zs"; zt: "aq.zt"; zu: "aq.zu"; zv: "aq.zv"; zw: "aq.zw"; zx: "aq.zx"; zy: "aq.zy"; zz: "aq.zz"; }; ar: { aa: "ar.aa"; ab: "ar.ab"; ac: "ar.ac"; ad: "ar.ad"; ae: "ar.ae"; af: "ar.af"; ag: "ar.ag"; ah: "ar.ah"; ai: "ar.ai"; aj: "ar.aj"; ak: "ar.ak"; al: "ar.al"; am: "ar.am"; an: "ar.an"; ao: "ar.ao"; ap: "ar.ap"; aq: "ar.aq"; ar: "ar.ar"; as: "ar.as"; at: "ar.at"; au: "ar.au"; av: "ar.av"; aw: "ar.aw"; ax: "ar.ax"; ay: "ar.ay"; az: "ar.az"; ba: "ar.ba"; bb: "ar.bb"; bc: "ar.bc"; bd: "ar.bd"; be: "ar.be"; bf: "ar.bf"; bg: "ar.bg"; bh: "ar.bh"; bi: "ar.bi"; bj: "ar.bj"; bk: "ar.bk"; bl: "ar.bl"; bm: "ar.bm"; bn: "ar.bn"; bo: "ar.bo"; bp: "ar.bp"; bq: "ar.bq"; br: "ar.br"; bs: "ar.bs"; bt: "ar.bt"; bu: "ar.bu"; bv: "ar.bv"; bw: "ar.bw"; bx: "ar.bx"; by: "ar.by"; bz: "ar.bz"; ca: "ar.ca"; cb: "ar.cb"; cc: "ar.cc"; cd: "ar.cd"; ce: "ar.ce"; cf: "ar.cf"; cg: "ar.cg"; ch: "ar.ch"; ci: "ar.ci"; cj: "ar.cj"; ck: "ar.ck"; cl: "ar.cl"; cm: "ar.cm"; cn: "ar.cn"; co: "ar.co"; cp: "ar.cp"; cq: "ar.cq"; cr: "ar.cr"; cs: "ar.cs"; ct: "ar.ct"; cu: "ar.cu"; cv: "ar.cv"; cw: "ar.cw"; cx: "ar.cx"; cy: "ar.cy"; cz: "ar.cz"; da: "ar.da"; db: "ar.db"; dc: "ar.dc"; dd: "ar.dd"; de: "ar.de"; df: "ar.df"; dg: "ar.dg"; dh: "ar.dh"; di: "ar.di"; dj: "ar.dj"; dk: "ar.dk"; dl: "ar.dl"; dm: "ar.dm"; dn: "ar.dn"; do: "ar.do"; dp: "ar.dp"; dq: "ar.dq"; dr: "ar.dr"; ds: "ar.ds"; dt: "ar.dt"; du: "ar.du"; dv: "ar.dv"; dw: "ar.dw"; dx: "ar.dx"; dy: "ar.dy"; dz: "ar.dz"; ea: "ar.ea"; eb: "ar.eb"; ec: "ar.ec"; ed: "ar.ed"; ee: "ar.ee"; ef: "ar.ef"; eg: "ar.eg"; eh: "ar.eh"; ei: "ar.ei"; ej: "ar.ej"; ek: "ar.ek"; el: "ar.el"; em: "ar.em"; en: "ar.en"; eo: "ar.eo"; ep: "ar.ep"; eq: "ar.eq"; er: "ar.er"; es: "ar.es"; et: "ar.et"; eu: "ar.eu"; ev: "ar.ev"; ew: "ar.ew"; ex: "ar.ex"; ey: "ar.ey"; ez: "ar.ez"; fa: "ar.fa"; fb: "ar.fb"; fc: "ar.fc"; fd: "ar.fd"; fe: "ar.fe"; ff: "ar.ff"; fg: "ar.fg"; fh: "ar.fh"; fi: "ar.fi"; fj: "ar.fj"; fk: "ar.fk"; fl: "ar.fl"; fm: "ar.fm"; fn: "ar.fn"; fo: "ar.fo"; fp: "ar.fp"; fq: "ar.fq"; fr: "ar.fr"; fs: "ar.fs"; ft: "ar.ft"; fu: "ar.fu"; fv: "ar.fv"; fw: "ar.fw"; fx: "ar.fx"; fy: "ar.fy"; fz: "ar.fz"; ga: "ar.ga"; gb: "ar.gb"; gc: "ar.gc"; gd: "ar.gd"; ge: "ar.ge"; gf: "ar.gf"; gg: "ar.gg"; gh: "ar.gh"; gi: "ar.gi"; gj: "ar.gj"; gk: "ar.gk"; gl: "ar.gl"; gm: "ar.gm"; gn: "ar.gn"; go: "ar.go"; gp: "ar.gp"; gq: "ar.gq"; gr: "ar.gr"; gs: "ar.gs"; gt: "ar.gt"; gu: "ar.gu"; gv: "ar.gv"; gw: "ar.gw"; gx: "ar.gx"; gy: "ar.gy"; gz: "ar.gz"; ha: "ar.ha"; hb: "ar.hb"; hc: "ar.hc"; hd: "ar.hd"; he: "ar.he"; hf: "ar.hf"; hg: "ar.hg"; hh: "ar.hh"; hi: "ar.hi"; hj: "ar.hj"; hk: "ar.hk"; hl: "ar.hl"; hm: "ar.hm"; hn: "ar.hn"; ho: "ar.ho"; hp: "ar.hp"; hq: "ar.hq"; hr: "ar.hr"; hs: "ar.hs"; ht: "ar.ht"; hu: "ar.hu"; hv: "ar.hv"; hw: "ar.hw"; hx: "ar.hx"; hy: "ar.hy"; hz: "ar.hz"; ia: "ar.ia"; ib: "ar.ib"; ic: "ar.ic"; id: "ar.id"; ie: "ar.ie"; if: "ar.if"; ig: "ar.ig"; ih: "ar.ih"; ii: "ar.ii"; ij: "ar.ij"; ik: "ar.ik"; il: "ar.il"; im: "ar.im"; in: "ar.in"; io: "ar.io"; ip: "ar.ip"; iq: "ar.iq"; ir: "ar.ir"; is: "ar.is"; it: "ar.it"; iu: "ar.iu"; iv: "ar.iv"; iw: "ar.iw"; ix: "ar.ix"; iy: "ar.iy"; iz: "ar.iz"; ja: "ar.ja"; jb: "ar.jb"; jc: "ar.jc"; jd: "ar.jd"; je: "ar.je"; jf: "ar.jf"; jg: "ar.jg"; jh: "ar.jh"; ji: "ar.ji"; jj: "ar.jj"; jk: "ar.jk"; jl: "ar.jl"; jm: "ar.jm"; jn: "ar.jn"; jo: "ar.jo"; jp: "ar.jp"; jq: "ar.jq"; jr: "ar.jr"; js: "ar.js"; jt: "ar.jt"; ju: "ar.ju"; jv: "ar.jv"; jw: "ar.jw"; jx: "ar.jx"; jy: "ar.jy"; jz: "ar.jz"; ka: "ar.ka"; kb: "ar.kb"; kc: "ar.kc"; kd: "ar.kd"; ke: "ar.ke"; kf: "ar.kf"; kg: "ar.kg"; kh: "ar.kh"; ki: "ar.ki"; kj: "ar.kj"; kk: "ar.kk"; kl: "ar.kl"; km: "ar.km"; kn: "ar.kn"; ko: "ar.ko"; kp: "ar.kp"; kq: "ar.kq"; kr: "ar.kr"; ks: "ar.ks"; kt: "ar.kt"; ku: "ar.ku"; kv: "ar.kv"; kw: "ar.kw"; kx: "ar.kx"; ky: "ar.ky"; kz: "ar.kz"; la: "ar.la"; lb: "ar.lb"; lc: "ar.lc"; ld: "ar.ld"; le: "ar.le"; lf: "ar.lf"; lg: "ar.lg"; lh: "ar.lh"; li: "ar.li"; lj: "ar.lj"; lk: "ar.lk"; ll: "ar.ll"; lm: "ar.lm"; ln: "ar.ln"; lo: "ar.lo"; lp: "ar.lp"; lq: "ar.lq"; lr: "ar.lr"; ls: "ar.ls"; lt: "ar.lt"; lu: "ar.lu"; lv: "ar.lv"; lw: "ar.lw"; lx: "ar.lx"; ly: "ar.ly"; lz: "ar.lz"; ma: "ar.ma"; mb: "ar.mb"; mc: "ar.mc"; md: "ar.md"; me: "ar.me"; mf: "ar.mf"; mg: "ar.mg"; mh: "ar.mh"; mi: "ar.mi"; mj: "ar.mj"; mk: "ar.mk"; ml: "ar.ml"; mm: "ar.mm"; mn: "ar.mn"; mo: "ar.mo"; mp: "ar.mp"; mq: "ar.mq"; mr: "ar.mr"; ms: "ar.ms"; mt: "ar.mt"; mu: "ar.mu"; mv: "ar.mv"; mw: "ar.mw"; mx: "ar.mx"; my: "ar.my"; mz: "ar.mz"; na: "ar.na"; nb: "ar.nb"; nc: "ar.nc"; nd: "ar.nd"; ne: "ar.ne"; nf: "ar.nf"; ng: "ar.ng"; nh: "ar.nh"; ni: "ar.ni"; nj: "ar.nj"; nk: "ar.nk"; nl: "ar.nl"; nm: "ar.nm"; nn: "ar.nn"; no: "ar.no"; np: "ar.np"; nq: "ar.nq"; nr: "ar.nr"; ns: "ar.ns"; nt: "ar.nt"; nu: "ar.nu"; nv: "ar.nv"; nw: "ar.nw"; nx: "ar.nx"; ny: "ar.ny"; nz: "ar.nz"; oa: "ar.oa"; ob: "ar.ob"; oc: "ar.oc"; od: "ar.od"; oe: "ar.oe"; of: "ar.of"; og: "ar.og"; oh: "ar.oh"; oi: "ar.oi"; oj: "ar.oj"; ok: "ar.ok"; ol: "ar.ol"; om: "ar.om"; on: "ar.on"; oo: "ar.oo"; op: "ar.op"; oq: "ar.oq"; or: "ar.or"; os: "ar.os"; ot: "ar.ot"; ou: "ar.ou"; ov: "ar.ov"; ow: "ar.ow"; ox: "ar.ox"; oy: "ar.oy"; oz: "ar.oz"; pa: "ar.pa"; pb: "ar.pb"; pc: "ar.pc"; pd: "ar.pd"; pe: "ar.pe"; pf: "ar.pf"; pg: "ar.pg"; ph: "ar.ph"; pi: "ar.pi"; pj: "ar.pj"; pk: "ar.pk"; pl: "ar.pl"; pm: "ar.pm"; pn: "ar.pn"; po: "ar.po"; pp: "ar.pp"; pq: "ar.pq"; pr: "ar.pr"; ps: "ar.ps"; pt: "ar.pt"; pu: "ar.pu"; pv: "ar.pv"; pw: "ar.pw"; px: "ar.px"; py: "ar.py"; pz: "ar.pz"; qa: "ar.qa"; qb: "ar.qb"; qc: "ar.qc"; qd: "ar.qd"; qe: "ar.qe"; qf: "ar.qf"; qg: "ar.qg"; qh: "ar.qh"; qi: "ar.qi"; qj: "ar.qj"; qk: "ar.qk"; ql: "ar.ql"; qm: "ar.qm"; qn: "ar.qn"; qo: "ar.qo"; qp: "ar.qp"; qq: "ar.qq"; qr: "ar.qr"; qs: "ar.qs"; qt: "ar.qt"; qu: "ar.qu"; qv: "ar.qv"; qw: "ar.qw"; qx: "ar.qx"; qy: "ar.qy"; qz: "ar.qz"; ra: "ar.ra"; rb: "ar.rb"; rc: "ar.rc"; rd: "ar.rd"; re: "ar.re"; rf: "ar.rf"; rg: "ar.rg"; rh: "ar.rh"; ri: "ar.ri"; rj: "ar.rj"; rk: "ar.rk"; rl: "ar.rl"; rm: "ar.rm"; rn: "ar.rn"; ro: "ar.ro"; rp: "ar.rp"; rq: "ar.rq"; rr: "ar.rr"; rs: "ar.rs"; rt: "ar.rt"; ru: "ar.ru"; rv: "ar.rv"; rw: "ar.rw"; rx: "ar.rx"; ry: "ar.ry"; rz: "ar.rz"; sa: "ar.sa"; sb: "ar.sb"; sc: "ar.sc"; sd: "ar.sd"; se: "ar.se"; sf: "ar.sf"; sg: "ar.sg"; sh: "ar.sh"; si: "ar.si"; sj: "ar.sj"; sk: "ar.sk"; sl: "ar.sl"; sm: "ar.sm"; sn: "ar.sn"; so: "ar.so"; sp: "ar.sp"; sq: "ar.sq"; sr: "ar.sr"; ss: "ar.ss"; st: "ar.st"; su: "ar.su"; sv: "ar.sv"; sw: "ar.sw"; sx: "ar.sx"; sy: "ar.sy"; sz: "ar.sz"; ta: "ar.ta"; tb: "ar.tb"; tc: "ar.tc"; td: "ar.td"; te: "ar.te"; tf: "ar.tf"; tg: "ar.tg"; th: "ar.th"; ti: "ar.ti"; tj: "ar.tj"; tk: "ar.tk"; tl: "ar.tl"; tm: "ar.tm"; tn: "ar.tn"; to: "ar.to"; tp: "ar.tp"; tq: "ar.tq"; tr: "ar.tr"; ts: "ar.ts"; tt: "ar.tt"; tu: "ar.tu"; tv: "ar.tv"; tw: "ar.tw"; tx: "ar.tx"; ty: "ar.ty"; tz: "ar.tz"; ua: "ar.ua"; ub: "ar.ub"; uc: "ar.uc"; ud: "ar.ud"; ue: "ar.ue"; uf: "ar.uf"; ug: "ar.ug"; uh: "ar.uh"; ui: "ar.ui"; uj: "ar.uj"; uk: "ar.uk"; ul: "ar.ul"; um: "ar.um"; un: "ar.un"; uo: "ar.uo"; up: "ar.up"; uq: "ar.uq"; ur: "ar.ur"; us: "ar.us"; ut: "ar.ut"; uu: "ar.uu"; uv: "ar.uv"; uw: "ar.uw"; ux: "ar.ux"; uy: "ar.uy"; uz: "ar.uz"; va: "ar.va"; vb: "ar.vb"; vc: "ar.vc"; vd: "ar.vd"; ve: "ar.ve"; vf: "ar.vf"; vg: "ar.vg"; vh: "ar.vh"; vi: "ar.vi"; vj: "ar.vj"; vk: "ar.vk"; vl: "ar.vl"; vm: "ar.vm"; vn: "ar.vn"; vo: "ar.vo"; vp: "ar.vp"; vq: "ar.vq"; vr: "ar.vr"; vs: "ar.vs"; vt: "ar.vt"; vu: "ar.vu"; vv: "ar.vv"; vw: "ar.vw"; vx: "ar.vx"; vy: "ar.vy"; vz: "ar.vz"; wa: "ar.wa"; wb: "ar.wb"; wc: "ar.wc"; wd: "ar.wd"; we: "ar.we"; wf: "ar.wf"; wg: "ar.wg"; wh: "ar.wh"; wi: "ar.wi"; wj: "ar.wj"; wk: "ar.wk"; wl: "ar.wl"; wm: "ar.wm"; wn: "ar.wn"; wo: "ar.wo"; wp: "ar.wp"; wq: "ar.wq"; wr: "ar.wr"; ws: "ar.ws"; wt: "ar.wt"; wu: "ar.wu"; wv: "ar.wv"; ww: "ar.ww"; wx: "ar.wx"; wy: "ar.wy"; wz: "ar.wz"; xa: "ar.xa"; xb: "ar.xb"; xc: "ar.xc"; xd: "ar.xd"; xe: "ar.xe"; xf: "ar.xf"; xg: "ar.xg"; xh: "ar.xh"; xi: "ar.xi"; xj: "ar.xj"; xk: "ar.xk"; xl: "ar.xl"; xm: "ar.xm"; xn: "ar.xn"; xo: "ar.xo"; xp: "ar.xp"; xq: "ar.xq"; xr: "ar.xr"; xs: "ar.xs"; xt: "ar.xt"; xu: "ar.xu"; xv: "ar.xv"; xw: "ar.xw"; xx: "ar.xx"; xy: "ar.xy"; xz: "ar.xz"; ya: "ar.ya"; yb: "ar.yb"; yc: "ar.yc"; yd: "ar.yd"; ye: "ar.ye"; yf: "ar.yf"; yg: "ar.yg"; yh: "ar.yh"; yi: "ar.yi"; yj: "ar.yj"; yk: "ar.yk"; yl: "ar.yl"; ym: "ar.ym"; yn: "ar.yn"; yo: "ar.yo"; yp: "ar.yp"; yq: "ar.yq"; yr: "ar.yr"; ys: "ar.ys"; yt: "ar.yt"; yu: "ar.yu"; yv: "ar.yv"; yw: "ar.yw"; yx: "ar.yx"; yy: "ar.yy"; yz: "ar.yz"; za: "ar.za"; zb: "ar.zb"; zc: "ar.zc"; zd: "ar.zd"; ze: "ar.ze"; zf: "ar.zf"; zg: "ar.zg"; zh: "ar.zh"; zi: "ar.zi"; zj: "ar.zj"; zk: "ar.zk"; zl: "ar.zl"; zm: "ar.zm"; zn: "ar.zn"; zo: "ar.zo"; zp: "ar.zp"; zq: "ar.zq"; zr: "ar.zr"; zs: "ar.zs"; zt: "ar.zt"; zu: "ar.zu"; zv: "ar.zv"; zw: "ar.zw"; zx: "ar.zx"; zy: "ar.zy"; zz: "ar.zz"; }; as: { aa: "as.aa"; ab: "as.ab"; ac: "as.ac"; ad: "as.ad"; ae: "as.ae"; af: "as.af"; ag: "as.ag"; ah: "as.ah"; ai: "as.ai"; aj: "as.aj"; ak: "as.ak"; al: "as.al"; am: "as.am"; an: "as.an"; ao: "as.ao"; ap: "as.ap"; aq: "as.aq"; ar: "as.ar"; as: "as.as"; at: "as.at"; au: "as.au"; av: "as.av"; aw: "as.aw"; ax: "as.ax"; ay: "as.ay"; az: "as.az"; ba: "as.ba"; bb: "as.bb"; bc: "as.bc"; bd: "as.bd"; be: "as.be"; bf: "as.bf"; bg: "as.bg"; bh: "as.bh"; bi: "as.bi"; bj: "as.bj"; bk: "as.bk"; bl: "as.bl"; bm: "as.bm"; bn: "as.bn"; bo: "as.bo"; bp: "as.bp"; bq: "as.bq"; br: "as.br"; bs: "as.bs"; bt: "as.bt"; bu: "as.bu"; bv: "as.bv"; bw: "as.bw"; bx: "as.bx"; by: "as.by"; bz: "as.bz"; ca: "as.ca"; cb: "as.cb"; cc: "as.cc"; cd: "as.cd"; ce: "as.ce"; cf: "as.cf"; cg: "as.cg"; ch: "as.ch"; ci: "as.ci"; cj: "as.cj"; ck: "as.ck"; cl: "as.cl"; cm: "as.cm"; cn: "as.cn"; co: "as.co"; cp: "as.cp"; cq: "as.cq"; cr: "as.cr"; cs: "as.cs"; ct: "as.ct"; cu: "as.cu"; cv: "as.cv"; cw: "as.cw"; cx: "as.cx"; cy: "as.cy"; cz: "as.cz"; da: "as.da"; db: "as.db"; dc: "as.dc"; dd: "as.dd"; de: "as.de"; df: "as.df"; dg: "as.dg"; dh: "as.dh"; di: "as.di"; dj: "as.dj"; dk: "as.dk"; dl: "as.dl"; dm: "as.dm"; dn: "as.dn"; do: "as.do"; dp: "as.dp"; dq: "as.dq"; dr: "as.dr"; ds: "as.ds"; dt: "as.dt"; du: "as.du"; dv: "as.dv"; dw: "as.dw"; dx: "as.dx"; dy: "as.dy"; dz: "as.dz"; ea: "as.ea"; eb: "as.eb"; ec: "as.ec"; ed: "as.ed"; ee: "as.ee"; ef: "as.ef"; eg: "as.eg"; eh: "as.eh"; ei: "as.ei"; ej: "as.ej"; ek: "as.ek"; el: "as.el"; em: "as.em"; en: "as.en"; eo: "as.eo"; ep: "as.ep"; eq: "as.eq"; er: "as.er"; es: "as.es"; et: "as.et"; eu: "as.eu"; ev: "as.ev"; ew: "as.ew"; ex: "as.ex"; ey: "as.ey"; ez: "as.ez"; fa: "as.fa"; fb: "as.fb"; fc: "as.fc"; fd: "as.fd"; fe: "as.fe"; ff: "as.ff"; fg: "as.fg"; fh: "as.fh"; fi: "as.fi"; fj: "as.fj"; fk: "as.fk"; fl: "as.fl"; fm: "as.fm"; fn: "as.fn"; fo: "as.fo"; fp: "as.fp"; fq: "as.fq"; fr: "as.fr"; fs: "as.fs"; ft: "as.ft"; fu: "as.fu"; fv: "as.fv"; fw: "as.fw"; fx: "as.fx"; fy: "as.fy"; fz: "as.fz"; ga: "as.ga"; gb: "as.gb"; gc: "as.gc"; gd: "as.gd"; ge: "as.ge"; gf: "as.gf"; gg: "as.gg"; gh: "as.gh"; gi: "as.gi"; gj: "as.gj"; gk: "as.gk"; gl: "as.gl"; gm: "as.gm"; gn: "as.gn"; go: "as.go"; gp: "as.gp"; gq: "as.gq"; gr: "as.gr"; gs: "as.gs"; gt: "as.gt"; gu: "as.gu"; gv: "as.gv"; gw: "as.gw"; gx: "as.gx"; gy: "as.gy"; gz: "as.gz"; ha: "as.ha"; hb: "as.hb"; hc: "as.hc"; hd: "as.hd"; he: "as.he"; hf: "as.hf"; hg: "as.hg"; hh: "as.hh"; hi: "as.hi"; hj: "as.hj"; hk: "as.hk"; hl: "as.hl"; hm: "as.hm"; hn: "as.hn"; ho: "as.ho"; hp: "as.hp"; hq: "as.hq"; hr: "as.hr"; hs: "as.hs"; ht: "as.ht"; hu: "as.hu"; hv: "as.hv"; hw: "as.hw"; hx: "as.hx"; hy: "as.hy"; hz: "as.hz"; ia: "as.ia"; ib: "as.ib"; ic: "as.ic"; id: "as.id"; ie: "as.ie"; if: "as.if"; ig: "as.ig"; ih: "as.ih"; ii: "as.ii"; ij: "as.ij"; ik: "as.ik"; il: "as.il"; im: "as.im"; in: "as.in"; io: "as.io"; ip: "as.ip"; iq: "as.iq"; ir: "as.ir"; is: "as.is"; it: "as.it"; iu: "as.iu"; iv: "as.iv"; iw: "as.iw"; ix: "as.ix"; iy: "as.iy"; iz: "as.iz"; ja: "as.ja"; jb: "as.jb"; jc: "as.jc"; jd: "as.jd"; je: "as.je"; jf: "as.jf"; jg: "as.jg"; jh: "as.jh"; ji: "as.ji"; jj: "as.jj"; jk: "as.jk"; jl: "as.jl"; jm: "as.jm"; jn: "as.jn"; jo: "as.jo"; jp: "as.jp"; jq: "as.jq"; jr: "as.jr"; js: "as.js"; jt: "as.jt"; ju: "as.ju"; jv: "as.jv"; jw: "as.jw"; jx: "as.jx"; jy: "as.jy"; jz: "as.jz"; ka: "as.ka"; kb: "as.kb"; kc: "as.kc"; kd: "as.kd"; ke: "as.ke"; kf: "as.kf"; kg: "as.kg"; kh: "as.kh"; ki: "as.ki"; kj: "as.kj"; kk: "as.kk"; kl: "as.kl"; km: "as.km"; kn: "as.kn"; ko: "as.ko"; kp: "as.kp"; kq: "as.kq"; kr: "as.kr"; ks: "as.ks"; kt: "as.kt"; ku: "as.ku"; kv: "as.kv"; kw: "as.kw"; kx: "as.kx"; ky: "as.ky"; kz: "as.kz"; la: "as.la"; lb: "as.lb"; lc: "as.lc"; ld: "as.ld"; le: "as.le"; lf: "as.lf"; lg: "as.lg"; lh: "as.lh"; li: "as.li"; lj: "as.lj"; lk: "as.lk"; ll: "as.ll"; lm: "as.lm"; ln: "as.ln"; lo: "as.lo"; lp: "as.lp"; lq: "as.lq"; lr: "as.lr"; ls: "as.ls"; lt: "as.lt"; lu: "as.lu"; lv: "as.lv"; lw: "as.lw"; lx: "as.lx"; ly: "as.ly"; lz: "as.lz"; ma: "as.ma"; mb: "as.mb"; mc: "as.mc"; md: "as.md"; me: "as.me"; mf: "as.mf"; mg: "as.mg"; mh: "as.mh"; mi: "as.mi"; mj: "as.mj"; mk: "as.mk"; ml: "as.ml"; mm: "as.mm"; mn: "as.mn"; mo: "as.mo"; mp: "as.mp"; mq: "as.mq"; mr: "as.mr"; ms: "as.ms"; mt: "as.mt"; mu: "as.mu"; mv: "as.mv"; mw: "as.mw"; mx: "as.mx"; my: "as.my"; mz: "as.mz"; na: "as.na"; nb: "as.nb"; nc: "as.nc"; nd: "as.nd"; ne: "as.ne"; nf: "as.nf"; ng: "as.ng"; nh: "as.nh"; ni: "as.ni"; nj: "as.nj"; nk: "as.nk"; nl: "as.nl"; nm: "as.nm"; nn: "as.nn"; no: "as.no"; np: "as.np"; nq: "as.nq"; nr: "as.nr"; ns: "as.ns"; nt: "as.nt"; nu: "as.nu"; nv: "as.nv"; nw: "as.nw"; nx: "as.nx"; ny: "as.ny"; nz: "as.nz"; oa: "as.oa"; ob: "as.ob"; oc: "as.oc"; od: "as.od"; oe: "as.oe"; of: "as.of"; og: "as.og"; oh: "as.oh"; oi: "as.oi"; oj: "as.oj"; ok: "as.ok"; ol: "as.ol"; om: "as.om"; on: "as.on"; oo: "as.oo"; op: "as.op"; oq: "as.oq"; or: "as.or"; os: "as.os"; ot: "as.ot"; ou: "as.ou"; ov: "as.ov"; ow: "as.ow"; ox: "as.ox"; oy: "as.oy"; oz: "as.oz"; pa: "as.pa"; pb: "as.pb"; pc: "as.pc"; pd: "as.pd"; pe: "as.pe"; pf: "as.pf"; pg: "as.pg"; ph: "as.ph"; pi: "as.pi"; pj: "as.pj"; pk: "as.pk"; pl: "as.pl"; pm: "as.pm"; pn: "as.pn"; po: "as.po"; pp: "as.pp"; pq: "as.pq"; pr: "as.pr"; ps: "as.ps"; pt: "as.pt"; pu: "as.pu"; pv: "as.pv"; pw: "as.pw"; px: "as.px"; py: "as.py"; pz: "as.pz"; qa: "as.qa"; qb: "as.qb"; qc: "as.qc"; qd: "as.qd"; qe: "as.qe"; qf: "as.qf"; qg: "as.qg"; qh: "as.qh"; qi: "as.qi"; qj: "as.qj"; qk: "as.qk"; ql: "as.ql"; qm: "as.qm"; qn: "as.qn"; qo: "as.qo"; qp: "as.qp"; qq: "as.qq"; qr: "as.qr"; qs: "as.qs"; qt: "as.qt"; qu: "as.qu"; qv: "as.qv"; qw: "as.qw"; qx: "as.qx"; qy: "as.qy"; qz: "as.qz"; ra: "as.ra"; rb: "as.rb"; rc: "as.rc"; rd: "as.rd"; re: "as.re"; rf: "as.rf"; rg: "as.rg"; rh: "as.rh"; ri: "as.ri"; rj: "as.rj"; rk: "as.rk"; rl: "as.rl"; rm: "as.rm"; rn: "as.rn"; ro: "as.ro"; rp: "as.rp"; rq: "as.rq"; rr: "as.rr"; rs: "as.rs"; rt: "as.rt"; ru: "as.ru"; rv: "as.rv"; rw: "as.rw"; rx: "as.rx"; ry: "as.ry"; rz: "as.rz"; sa: "as.sa"; sb: "as.sb"; sc: "as.sc"; sd: "as.sd"; se: "as.se"; sf: "as.sf"; sg: "as.sg"; sh: "as.sh"; si: "as.si"; sj: "as.sj"; sk: "as.sk"; sl: "as.sl"; sm: "as.sm"; sn: "as.sn"; so: "as.so"; sp: "as.sp"; sq: "as.sq"; sr: "as.sr"; ss: "as.ss"; st: "as.st"; su: "as.su"; sv: "as.sv"; sw: "as.sw"; sx: "as.sx"; sy: "as.sy"; sz: "as.sz"; ta: "as.ta"; tb: "as.tb"; tc: "as.tc"; td: "as.td"; te: "as.te"; tf: "as.tf"; tg: "as.tg"; th: "as.th"; ti: "as.ti"; tj: "as.tj"; tk: "as.tk"; tl: "as.tl"; tm: "as.tm"; tn: "as.tn"; to: "as.to"; tp: "as.tp"; tq: "as.tq"; tr: "as.tr"; ts: "as.ts"; tt: "as.tt"; tu: "as.tu"; tv: "as.tv"; tw: "as.tw"; tx: "as.tx"; ty: "as.ty"; tz: "as.tz"; ua: "as.ua"; ub: "as.ub"; uc: "as.uc"; ud: "as.ud"; ue: "as.ue"; uf: "as.uf"; ug: "as.ug"; uh: "as.uh"; ui: "as.ui"; uj: "as.uj"; uk: "as.uk"; ul: "as.ul"; um: "as.um"; un: "as.un"; uo: "as.uo"; up: "as.up"; uq: "as.uq"; ur: "as.ur"; us: "as.us"; ut: "as.ut"; uu: "as.uu"; uv: "as.uv"; uw: "as.uw"; ux: "as.ux"; uy: "as.uy"; uz: "as.uz"; va: "as.va"; vb: "as.vb"; vc: "as.vc"; vd: "as.vd"; ve: "as.ve"; vf: "as.vf"; vg: "as.vg"; vh: "as.vh"; vi: "as.vi"; vj: "as.vj"; vk: "as.vk"; vl: "as.vl"; vm: "as.vm"; vn: "as.vn"; vo: "as.vo"; vp: "as.vp"; vq: "as.vq"; vr: "as.vr"; vs: "as.vs"; vt: "as.vt"; vu: "as.vu"; vv: "as.vv"; vw: "as.vw"; vx: "as.vx"; vy: "as.vy"; vz: "as.vz"; wa: "as.wa"; wb: "as.wb"; wc: "as.wc"; wd: "as.wd"; we: "as.we"; wf: "as.wf"; wg: "as.wg"; wh: "as.wh"; wi: "as.wi"; wj: "as.wj"; wk: "as.wk"; wl: "as.wl"; wm: "as.wm"; wn: "as.wn"; wo: "as.wo"; wp: "as.wp"; wq: "as.wq"; wr: "as.wr"; ws: "as.ws"; wt: "as.wt"; wu: "as.wu"; wv: "as.wv"; ww: "as.ww"; wx: "as.wx"; wy: "as.wy"; wz: "as.wz"; xa: "as.xa"; xb: "as.xb"; xc: "as.xc"; xd: "as.xd"; xe: "as.xe"; xf: "as.xf"; xg: "as.xg"; xh: "as.xh"; xi: "as.xi"; xj: "as.xj"; xk: "as.xk"; xl: "as.xl"; xm: "as.xm"; xn: "as.xn"; xo: "as.xo"; xp: "as.xp"; xq: "as.xq"; xr: "as.xr"; xs: "as.xs"; xt: "as.xt"; xu: "as.xu"; xv: "as.xv"; xw: "as.xw"; xx: "as.xx"; xy: "as.xy"; xz: "as.xz"; ya: "as.ya"; yb: "as.yb"; yc: "as.yc"; yd: "as.yd"; ye: "as.ye"; yf: "as.yf"; yg: "as.yg"; yh: "as.yh"; yi: "as.yi"; yj: "as.yj"; yk: "as.yk"; yl: "as.yl"; ym: "as.ym"; yn: "as.yn"; yo: "as.yo"; yp: "as.yp"; yq: "as.yq"; yr: "as.yr"; ys: "as.ys"; yt: "as.yt"; yu: "as.yu"; yv: "as.yv"; yw: "as.yw"; yx: "as.yx"; yy: "as.yy"; yz: "as.yz"; za: "as.za"; zb: "as.zb"; zc: "as.zc"; zd: "as.zd"; ze: "as.ze"; zf: "as.zf"; zg: "as.zg"; zh: "as.zh"; zi: "as.zi"; zj: "as.zj"; zk: "as.zk"; zl: "as.zl"; zm: "as.zm"; zn: "as.zn"; zo: "as.zo"; zp: "as.zp"; zq: "as.zq"; zr: "as.zr"; zs: "as.zs"; zt: "as.zt"; zu: "as.zu"; zv: "as.zv"; zw: "as.zw"; zx: "as.zx"; zy: "as.zy"; zz: "as.zz"; }; at: { aa: "at.aa"; ab: "at.ab"; ac: "at.ac"; ad: "at.ad"; ae: "at.ae"; af: "at.af"; ag: "at.ag"; ah: "at.ah"; ai: "at.ai"; aj: "at.aj"; ak: "at.ak"; al: "at.al"; am: "at.am"; an: "at.an"; ao: "at.ao"; ap: "at.ap"; aq: "at.aq"; ar: "at.ar"; as: "at.as"; at: "at.at"; au: "at.au"; av: "at.av"; aw: "at.aw"; ax: "at.ax"; ay: "at.ay"; az: "at.az"; ba: "at.ba"; bb: "at.bb"; bc: "at.bc"; bd: "at.bd"; be: "at.be"; bf: "at.bf"; bg: "at.bg"; bh: "at.bh"; bi: "at.bi"; bj: "at.bj"; bk: "at.bk"; bl: "at.bl"; bm: "at.bm"; bn: "at.bn"; bo: "at.bo"; bp: "at.bp"; bq: "at.bq"; br: "at.br"; bs: "at.bs"; bt: "at.bt"; bu: "at.bu"; bv: "at.bv"; bw: "at.bw"; bx: "at.bx"; by: "at.by"; bz: "at.bz"; ca: "at.ca"; cb: "at.cb"; cc: "at.cc"; cd: "at.cd"; ce: "at.ce"; cf: "at.cf"; cg: "at.cg"; ch: "at.ch"; ci: "at.ci"; cj: "at.cj"; ck: "at.ck"; cl: "at.cl"; cm: "at.cm"; cn: "at.cn"; co: "at.co"; cp: "at.cp"; cq: "at.cq"; cr: "at.cr"; cs: "at.cs"; ct: "at.ct"; cu: "at.cu"; cv: "at.cv"; cw: "at.cw"; cx: "at.cx"; cy: "at.cy"; cz: "at.cz"; da: "at.da"; db: "at.db"; dc: "at.dc"; dd: "at.dd"; de: "at.de"; df: "at.df"; dg: "at.dg"; dh: "at.dh"; di: "at.di"; dj: "at.dj"; dk: "at.dk"; dl: "at.dl"; dm: "at.dm"; dn: "at.dn"; do: "at.do"; dp: "at.dp"; dq: "at.dq"; dr: "at.dr"; ds: "at.ds"; dt: "at.dt"; du: "at.du"; dv: "at.dv"; dw: "at.dw"; dx: "at.dx"; dy: "at.dy"; dz: "at.dz"; ea: "at.ea"; eb: "at.eb"; ec: "at.ec"; ed: "at.ed"; ee: "at.ee"; ef: "at.ef"; eg: "at.eg"; eh: "at.eh"; ei: "at.ei"; ej: "at.ej"; ek: "at.ek"; el: "at.el"; em: "at.em"; en: "at.en"; eo: "at.eo"; ep: "at.ep"; eq: "at.eq"; er: "at.er"; es: "at.es"; et: "at.et"; eu: "at.eu"; ev: "at.ev"; ew: "at.ew"; ex: "at.ex"; ey: "at.ey"; ez: "at.ez"; fa: "at.fa"; fb: "at.fb"; fc: "at.fc"; fd: "at.fd"; fe: "at.fe"; ff: "at.ff"; fg: "at.fg"; fh: "at.fh"; fi: "at.fi"; fj: "at.fj"; fk: "at.fk"; fl: "at.fl"; fm: "at.fm"; fn: "at.fn"; fo: "at.fo"; fp: "at.fp"; fq: "at.fq"; fr: "at.fr"; fs: "at.fs"; ft: "at.ft"; fu: "at.fu"; fv: "at.fv"; fw: "at.fw"; fx: "at.fx"; fy: "at.fy"; fz: "at.fz"; ga: "at.ga"; gb: "at.gb"; gc: "at.gc"; gd: "at.gd"; ge: "at.ge"; gf: "at.gf"; gg: "at.gg"; gh: "at.gh"; gi: "at.gi"; gj: "at.gj"; gk: "at.gk"; gl: "at.gl"; gm: "at.gm"; gn: "at.gn"; go: "at.go"; gp: "at.gp"; gq: "at.gq"; gr: "at.gr"; gs: "at.gs"; gt: "at.gt"; gu: "at.gu"; gv: "at.gv"; gw: "at.gw"; gx: "at.gx"; gy: "at.gy"; gz: "at.gz"; ha: "at.ha"; hb: "at.hb"; hc: "at.hc"; hd: "at.hd"; he: "at.he"; hf: "at.hf"; hg: "at.hg"; hh: "at.hh"; hi: "at.hi"; hj: "at.hj"; hk: "at.hk"; hl: "at.hl"; hm: "at.hm"; hn: "at.hn"; ho: "at.ho"; hp: "at.hp"; hq: "at.hq"; hr: "at.hr"; hs: "at.hs"; ht: "at.ht"; hu: "at.hu"; hv: "at.hv"; hw: "at.hw"; hx: "at.hx"; hy: "at.hy"; hz: "at.hz"; ia: "at.ia"; ib: "at.ib"; ic: "at.ic"; id: "at.id"; ie: "at.ie"; if: "at.if"; ig: "at.ig"; ih: "at.ih"; ii: "at.ii"; ij: "at.ij"; ik: "at.ik"; il: "at.il"; im: "at.im"; in: "at.in"; io: "at.io"; ip: "at.ip"; iq: "at.iq"; ir: "at.ir"; is: "at.is"; it: "at.it"; iu: "at.iu"; iv: "at.iv"; iw: "at.iw"; ix: "at.ix"; iy: "at.iy"; iz: "at.iz"; ja: "at.ja"; jb: "at.jb"; jc: "at.jc"; jd: "at.jd"; je: "at.je"; jf: "at.jf"; jg: "at.jg"; jh: "at.jh"; ji: "at.ji"; jj: "at.jj"; jk: "at.jk"; jl: "at.jl"; jm: "at.jm"; jn: "at.jn"; jo: "at.jo"; jp: "at.jp"; jq: "at.jq"; jr: "at.jr"; js: "at.js"; jt: "at.jt"; ju: "at.ju"; jv: "at.jv"; jw: "at.jw"; jx: "at.jx"; jy: "at.jy"; jz: "at.jz"; ka: "at.ka"; kb: "at.kb"; kc: "at.kc"; kd: "at.kd"; ke: "at.ke"; kf: "at.kf"; kg: "at.kg"; kh: "at.kh"; ki: "at.ki"; kj: "at.kj"; kk: "at.kk"; kl: "at.kl"; km: "at.km"; kn: "at.kn"; ko: "at.ko"; kp: "at.kp"; kq: "at.kq"; kr: "at.kr"; ks: "at.ks"; kt: "at.kt"; ku: "at.ku"; kv: "at.kv"; kw: "at.kw"; kx: "at.kx"; ky: "at.ky"; kz: "at.kz"; la: "at.la"; lb: "at.lb"; lc: "at.lc"; ld: "at.ld"; le: "at.le"; lf: "at.lf"; lg: "at.lg"; lh: "at.lh"; li: "at.li"; lj: "at.lj"; lk: "at.lk"; ll: "at.ll"; lm: "at.lm"; ln: "at.ln"; lo: "at.lo"; lp: "at.lp"; lq: "at.lq"; lr: "at.lr"; ls: "at.ls"; lt: "at.lt"; lu: "at.lu"; lv: "at.lv"; lw: "at.lw"; lx: "at.lx"; ly: "at.ly"; lz: "at.lz"; ma: "at.ma"; mb: "at.mb"; mc: "at.mc"; md: "at.md"; me: "at.me"; mf: "at.mf"; mg: "at.mg"; mh: "at.mh"; mi: "at.mi"; mj: "at.mj"; mk: "at.mk"; ml: "at.ml"; mm: "at.mm"; mn: "at.mn"; mo: "at.mo"; mp: "at.mp"; mq: "at.mq"; mr: "at.mr"; ms: "at.ms"; mt: "at.mt"; mu: "at.mu"; mv: "at.mv"; mw: "at.mw"; mx: "at.mx"; my: "at.my"; mz: "at.mz"; na: "at.na"; nb: "at.nb"; nc: "at.nc"; nd: "at.nd"; ne: "at.ne"; nf: "at.nf"; ng: "at.ng"; nh: "at.nh"; ni: "at.ni"; nj: "at.nj"; nk: "at.nk"; nl: "at.nl"; nm: "at.nm"; nn: "at.nn"; no: "at.no"; np: "at.np"; nq: "at.nq"; nr: "at.nr"; ns: "at.ns"; nt: "at.nt"; nu: "at.nu"; nv: "at.nv"; nw: "at.nw"; nx: "at.nx"; ny: "at.ny"; nz: "at.nz"; oa: "at.oa"; ob: "at.ob"; oc: "at.oc"; od: "at.od"; oe: "at.oe"; of: "at.of"; og: "at.og"; oh: "at.oh"; oi: "at.oi"; oj: "at.oj"; ok: "at.ok"; ol: "at.ol"; om: "at.om"; on: "at.on"; oo: "at.oo"; op: "at.op"; oq: "at.oq"; or: "at.or"; os: "at.os"; ot: "at.ot"; ou: "at.ou"; ov: "at.ov"; ow: "at.ow"; ox: "at.ox"; oy: "at.oy"; oz: "at.oz"; pa: "at.pa"; pb: "at.pb"; pc: "at.pc"; pd: "at.pd"; pe: "at.pe"; pf: "at.pf"; pg: "at.pg"; ph: "at.ph"; pi: "at.pi"; pj: "at.pj"; pk: "at.pk"; pl: "at.pl"; pm: "at.pm"; pn: "at.pn"; po: "at.po"; pp: "at.pp"; pq: "at.pq"; pr: "at.pr"; ps: "at.ps"; pt: "at.pt"; pu: "at.pu"; pv: "at.pv"; pw: "at.pw"; px: "at.px"; py: "at.py"; pz: "at.pz"; qa: "at.qa"; qb: "at.qb"; qc: "at.qc"; qd: "at.qd"; qe: "at.qe"; qf: "at.qf"; qg: "at.qg"; qh: "at.qh"; qi: "at.qi"; qj: "at.qj"; qk: "at.qk"; ql: "at.ql"; qm: "at.qm"; qn: "at.qn"; qo: "at.qo"; qp: "at.qp"; qq: "at.qq"; qr: "at.qr"; qs: "at.qs"; qt: "at.qt"; qu: "at.qu"; qv: "at.qv"; qw: "at.qw"; qx: "at.qx"; qy: "at.qy"; qz: "at.qz"; ra: "at.ra"; rb: "at.rb"; rc: "at.rc"; rd: "at.rd"; re: "at.re"; rf: "at.rf"; rg: "at.rg"; rh: "at.rh"; ri: "at.ri"; rj: "at.rj"; rk: "at.rk"; rl: "at.rl"; rm: "at.rm"; rn: "at.rn"; ro: "at.ro"; rp: "at.rp"; rq: "at.rq"; rr: "at.rr"; rs: "at.rs"; rt: "at.rt"; ru: "at.ru"; rv: "at.rv"; rw: "at.rw"; rx: "at.rx"; ry: "at.ry"; rz: "at.rz"; sa: "at.sa"; sb: "at.sb"; sc: "at.sc"; sd: "at.sd"; se: "at.se"; sf: "at.sf"; sg: "at.sg"; sh: "at.sh"; si: "at.si"; sj: "at.sj"; sk: "at.sk"; sl: "at.sl"; sm: "at.sm"; sn: "at.sn"; so: "at.so"; sp: "at.sp"; sq: "at.sq"; sr: "at.sr"; ss: "at.ss"; st: "at.st"; su: "at.su"; sv: "at.sv"; sw: "at.sw"; sx: "at.sx"; sy: "at.sy"; sz: "at.sz"; ta: "at.ta"; tb: "at.tb"; tc: "at.tc"; td: "at.td"; te: "at.te"; tf: "at.tf"; tg: "at.tg"; th: "at.th"; ti: "at.ti"; tj: "at.tj"; tk: "at.tk"; tl: "at.tl"; tm: "at.tm"; tn: "at.tn"; to: "at.to"; tp: "at.tp"; tq: "at.tq"; tr: "at.tr"; ts: "at.ts"; tt: "at.tt"; tu: "at.tu"; tv: "at.tv"; tw: "at.tw"; tx: "at.tx"; ty: "at.ty"; tz: "at.tz"; ua: "at.ua"; ub: "at.ub"; uc: "at.uc"; ud: "at.ud"; ue: "at.ue"; uf: "at.uf"; ug: "at.ug"; uh: "at.uh"; ui: "at.ui"; uj: "at.uj"; uk: "at.uk"; ul: "at.ul"; um: "at.um"; un: "at.un"; uo: "at.uo"; up: "at.up"; uq: "at.uq"; ur: "at.ur"; us: "at.us"; ut: "at.ut"; uu: "at.uu"; uv: "at.uv"; uw: "at.uw"; ux: "at.ux"; uy: "at.uy"; uz: "at.uz"; va: "at.va"; vb: "at.vb"; vc: "at.vc"; vd: "at.vd"; ve: "at.ve"; vf: "at.vf"; vg: "at.vg"; vh: "at.vh"; vi: "at.vi"; vj: "at.vj"; vk: "at.vk"; vl: "at.vl"; vm: "at.vm"; vn: "at.vn"; vo: "at.vo"; vp: "at.vp"; vq: "at.vq"; vr: "at.vr"; vs: "at.vs"; vt: "at.vt"; vu: "at.vu"; vv: "at.vv"; vw: "at.vw"; vx: "at.vx"; vy: "at.vy"; vz: "at.vz"; wa: "at.wa"; wb: "at.wb"; wc: "at.wc"; wd: "at.wd"; we: "at.we"; wf: "at.wf"; wg: "at.wg"; wh: "at.wh"; wi: "at.wi"; wj: "at.wj"; wk: "at.wk"; wl: "at.wl"; wm: "at.wm"; wn: "at.wn"; wo: "at.wo"; wp: "at.wp"; wq: "at.wq"; wr: "at.wr"; ws: "at.ws"; wt: "at.wt"; wu: "at.wu"; wv: "at.wv"; ww: "at.ww"; wx: "at.wx"; wy: "at.wy"; wz: "at.wz"; xa: "at.xa"; xb: "at.xb"; xc: "at.xc"; xd: "at.xd"; xe: "at.xe"; xf: "at.xf"; xg: "at.xg"; xh: "at.xh"; xi: "at.xi"; xj: "at.xj"; xk: "at.xk"; xl: "at.xl"; xm: "at.xm"; xn: "at.xn"; xo: "at.xo"; xp: "at.xp"; xq: "at.xq"; xr: "at.xr"; xs: "at.xs"; xt: "at.xt"; xu: "at.xu"; xv: "at.xv"; xw: "at.xw"; xx: "at.xx"; xy: "at.xy"; xz: "at.xz"; ya: "at.ya"; yb: "at.yb"; yc: "at.yc"; yd: "at.yd"; ye: "at.ye"; yf: "at.yf"; yg: "at.yg"; yh: "at.yh"; yi: "at.yi"; yj: "at.yj"; yk: "at.yk"; yl: "at.yl"; ym: "at.ym"; yn: "at.yn"; yo: "at.yo"; yp: "at.yp"; yq: "at.yq"; yr: "at.yr"; ys: "at.ys"; yt: "at.yt"; yu: "at.yu"; yv: "at.yv"; yw: "at.yw"; yx: "at.yx"; yy: "at.yy"; yz: "at.yz"; za: "at.za"; zb: "at.zb"; zc: "at.zc"; zd: "at.zd"; ze: "at.ze"; zf: "at.zf"; zg: "at.zg"; zh: "at.zh"; zi: "at.zi"; zj: "at.zj"; zk: "at.zk"; zl: "at.zl"; zm: "at.zm"; zn: "at.zn"; zo: "at.zo"; zp: "at.zp"; zq: "at.zq"; zr: "at.zr"; zs: "at.zs"; zt: "at.zt"; zu: "at.zu"; zv: "at.zv"; zw: "at.zw"; zx: "at.zx"; zy: "at.zy"; zz: "at.zz"; }; au: { aa: "au.aa"; ab: "au.ab"; ac: "au.ac"; ad: "au.ad"; ae: "au.ae"; af: "au.af"; ag: "au.ag"; ah: "au.ah"; ai: "au.ai"; aj: "au.aj"; ak: "au.ak"; al: "au.al"; am: "au.am"; an: "au.an"; ao: "au.ao"; ap: "au.ap"; aq: "au.aq"; ar: "au.ar"; as: "au.as"; at: "au.at"; au: "au.au"; av: "au.av"; aw: "au.aw"; ax: "au.ax"; ay: "au.ay"; az: "au.az"; ba: "au.ba"; bb: "au.bb"; bc: "au.bc"; bd: "au.bd"; be: "au.be"; bf: "au.bf"; bg: "au.bg"; bh: "au.bh"; bi: "au.bi"; bj: "au.bj"; bk: "au.bk"; bl: "au.bl"; bm: "au.bm"; bn: "au.bn"; bo: "au.bo"; bp: "au.bp"; bq: "au.bq"; br: "au.br"; bs: "au.bs"; bt: "au.bt"; bu: "au.bu"; bv: "au.bv"; bw: "au.bw"; bx: "au.bx"; by: "au.by"; bz: "au.bz"; ca: "au.ca"; cb: "au.cb"; cc: "au.cc"; cd: "au.cd"; ce: "au.ce"; cf: "au.cf"; cg: "au.cg"; ch: "au.ch"; ci: "au.ci"; cj: "au.cj"; ck: "au.ck"; cl: "au.cl"; cm: "au.cm"; cn: "au.cn"; co: "au.co"; cp: "au.cp"; cq: "au.cq"; cr: "au.cr"; cs: "au.cs"; ct: "au.ct"; cu: "au.cu"; cv: "au.cv"; cw: "au.cw"; cx: "au.cx"; cy: "au.cy"; cz: "au.cz"; da: "au.da"; db: "au.db"; dc: "au.dc"; dd: "au.dd"; de: "au.de"; df: "au.df"; dg: "au.dg"; dh: "au.dh"; di: "au.di"; dj: "au.dj"; dk: "au.dk"; dl: "au.dl"; dm: "au.dm"; dn: "au.dn"; do: "au.do"; dp: "au.dp"; dq: "au.dq"; dr: "au.dr"; ds: "au.ds"; dt: "au.dt"; du: "au.du"; dv: "au.dv"; dw: "au.dw"; dx: "au.dx"; dy: "au.dy"; dz: "au.dz"; ea: "au.ea"; eb: "au.eb"; ec: "au.ec"; ed: "au.ed"; ee: "au.ee"; ef: "au.ef"; eg: "au.eg"; eh: "au.eh"; ei: "au.ei"; ej: "au.ej"; ek: "au.ek"; el: "au.el"; em: "au.em"; en: "au.en"; eo: "au.eo"; ep: "au.ep"; eq: "au.eq"; er: "au.er"; es: "au.es"; et: "au.et"; eu: "au.eu"; ev: "au.ev"; ew: "au.ew"; ex: "au.ex"; ey: "au.ey"; ez: "au.ez"; fa: "au.fa"; fb: "au.fb"; fc: "au.fc"; fd: "au.fd"; fe: "au.fe"; ff: "au.ff"; fg: "au.fg"; fh: "au.fh"; fi: "au.fi"; fj: "au.fj"; fk: "au.fk"; fl: "au.fl"; fm: "au.fm"; fn: "au.fn"; fo: "au.fo"; fp: "au.fp"; fq: "au.fq"; fr: "au.fr"; fs: "au.fs"; ft: "au.ft"; fu: "au.fu"; fv: "au.fv"; fw: "au.fw"; fx: "au.fx"; fy: "au.fy"; fz: "au.fz"; ga: "au.ga"; gb: "au.gb"; gc: "au.gc"; gd: "au.gd"; ge: "au.ge"; gf: "au.gf"; gg: "au.gg"; gh: "au.gh"; gi: "au.gi"; gj: "au.gj"; gk: "au.gk"; gl: "au.gl"; gm: "au.gm"; gn: "au.gn"; go: "au.go"; gp: "au.gp"; gq: "au.gq"; gr: "au.gr"; gs: "au.gs"; gt: "au.gt"; gu: "au.gu"; gv: "au.gv"; gw: "au.gw"; gx: "au.gx"; gy: "au.gy"; gz: "au.gz"; ha: "au.ha"; hb: "au.hb"; hc: "au.hc"; hd: "au.hd"; he: "au.he"; hf: "au.hf"; hg: "au.hg"; hh: "au.hh"; hi: "au.hi"; hj: "au.hj"; hk: "au.hk"; hl: "au.hl"; hm: "au.hm"; hn: "au.hn"; ho: "au.ho"; hp: "au.hp"; hq: "au.hq"; hr: "au.hr"; hs: "au.hs"; ht: "au.ht"; hu: "au.hu"; hv: "au.hv"; hw: "au.hw"; hx: "au.hx"; hy: "au.hy"; hz: "au.hz"; ia: "au.ia"; ib: "au.ib"; ic: "au.ic"; id: "au.id"; ie: "au.ie"; if: "au.if"; ig: "au.ig"; ih: "au.ih"; ii: "au.ii"; ij: "au.ij"; ik: "au.ik"; il: "au.il"; im: "au.im"; in: "au.in"; io: "au.io"; ip: "au.ip"; iq: "au.iq"; ir: "au.ir"; is: "au.is"; it: "au.it"; iu: "au.iu"; iv: "au.iv"; iw: "au.iw"; ix: "au.ix"; iy: "au.iy"; iz: "au.iz"; ja: "au.ja"; jb: "au.jb"; jc: "au.jc"; jd: "au.jd"; je: "au.je"; jf: "au.jf"; jg: "au.jg"; jh: "au.jh"; ji: "au.ji"; jj: "au.jj"; jk: "au.jk"; jl: "au.jl"; jm: "au.jm"; jn: "au.jn"; jo: "au.jo"; jp: "au.jp"; jq: "au.jq"; jr: "au.jr"; js: "au.js"; jt: "au.jt"; ju: "au.ju"; jv: "au.jv"; jw: "au.jw"; jx: "au.jx"; jy: "au.jy"; jz: "au.jz"; ka: "au.ka"; kb: "au.kb"; kc: "au.kc"; kd: "au.kd"; ke: "au.ke"; kf: "au.kf"; kg: "au.kg"; kh: "au.kh"; ki: "au.ki"; kj: "au.kj"; kk: "au.kk"; kl: "au.kl"; km: "au.km"; kn: "au.kn"; ko: "au.ko"; kp: "au.kp"; kq: "au.kq"; kr: "au.kr"; ks: "au.ks"; kt: "au.kt"; ku: "au.ku"; kv: "au.kv"; kw: "au.kw"; kx: "au.kx"; ky: "au.ky"; kz: "au.kz"; la: "au.la"; lb: "au.lb"; lc: "au.lc"; ld: "au.ld"; le: "au.le"; lf: "au.lf"; lg: "au.lg"; lh: "au.lh"; li: "au.li"; lj: "au.lj"; lk: "au.lk"; ll: "au.ll"; lm: "au.lm"; ln: "au.ln"; lo: "au.lo"; lp: "au.lp"; lq: "au.lq"; lr: "au.lr"; ls: "au.ls"; lt: "au.lt"; lu: "au.lu"; lv: "au.lv"; lw: "au.lw"; lx: "au.lx"; ly: "au.ly"; lz: "au.lz"; ma: "au.ma"; mb: "au.mb"; mc: "au.mc"; md: "au.md"; me: "au.me"; mf: "au.mf"; mg: "au.mg"; mh: "au.mh"; mi: "au.mi"; mj: "au.mj"; mk: "au.mk"; ml: "au.ml"; mm: "au.mm"; mn: "au.mn"; mo: "au.mo"; mp: "au.mp"; mq: "au.mq"; mr: "au.mr"; ms: "au.ms"; mt: "au.mt"; mu: "au.mu"; mv: "au.mv"; mw: "au.mw"; mx: "au.mx"; my: "au.my"; mz: "au.mz"; na: "au.na"; nb: "au.nb"; nc: "au.nc"; nd: "au.nd"; ne: "au.ne"; nf: "au.nf"; ng: "au.ng"; nh: "au.nh"; ni: "au.ni"; nj: "au.nj"; nk: "au.nk"; nl: "au.nl"; nm: "au.nm"; nn: "au.nn"; no: "au.no"; np: "au.np"; nq: "au.nq"; nr: "au.nr"; ns: "au.ns"; nt: "au.nt"; nu: "au.nu"; nv: "au.nv"; nw: "au.nw"; nx: "au.nx"; ny: "au.ny"; nz: "au.nz"; oa: "au.oa"; ob: "au.ob"; oc: "au.oc"; od: "au.od"; oe: "au.oe"; of: "au.of"; og: "au.og"; oh: "au.oh"; oi: "au.oi"; oj: "au.oj"; ok: "au.ok"; ol: "au.ol"; om: "au.om"; on: "au.on"; oo: "au.oo"; op: "au.op"; oq: "au.oq"; or: "au.or"; os: "au.os"; ot: "au.ot"; ou: "au.ou"; ov: "au.ov"; ow: "au.ow"; ox: "au.ox"; oy: "au.oy"; oz: "au.oz"; pa: "au.pa"; pb: "au.pb"; pc: "au.pc"; pd: "au.pd"; pe: "au.pe"; pf: "au.pf"; pg: "au.pg"; ph: "au.ph"; pi: "au.pi"; pj: "au.pj"; pk: "au.pk"; pl: "au.pl"; pm: "au.pm"; pn: "au.pn"; po: "au.po"; pp: "au.pp"; pq: "au.pq"; pr: "au.pr"; ps: "au.ps"; pt: "au.pt"; pu: "au.pu"; pv: "au.pv"; pw: "au.pw"; px: "au.px"; py: "au.py"; pz: "au.pz"; qa: "au.qa"; qb: "au.qb"; qc: "au.qc"; qd: "au.qd"; qe: "au.qe"; qf: "au.qf"; qg: "au.qg"; qh: "au.qh"; qi: "au.qi"; qj: "au.qj"; qk: "au.qk"; ql: "au.ql"; qm: "au.qm"; qn: "au.qn"; qo: "au.qo"; qp: "au.qp"; qq: "au.qq"; qr: "au.qr"; qs: "au.qs"; qt: "au.qt"; qu: "au.qu"; qv: "au.qv"; qw: "au.qw"; qx: "au.qx"; qy: "au.qy"; qz: "au.qz"; ra: "au.ra"; rb: "au.rb"; rc: "au.rc"; rd: "au.rd"; re: "au.re"; rf: "au.rf"; rg: "au.rg"; rh: "au.rh"; ri: "au.ri"; rj: "au.rj"; rk: "au.rk"; rl: "au.rl"; rm: "au.rm"; rn: "au.rn"; ro: "au.ro"; rp: "au.rp"; rq: "au.rq"; rr: "au.rr"; rs: "au.rs"; rt: "au.rt"; ru: "au.ru"; rv: "au.rv"; rw: "au.rw"; rx: "au.rx"; ry: "au.ry"; rz: "au.rz"; sa: "au.sa"; sb: "au.sb"; sc: "au.sc"; sd: "au.sd"; se: "au.se"; sf: "au.sf"; sg: "au.sg"; sh: "au.sh"; si: "au.si"; sj: "au.sj"; sk: "au.sk"; sl: "au.sl"; sm: "au.sm"; sn: "au.sn"; so: "au.so"; sp: "au.sp"; sq: "au.sq"; sr: "au.sr"; ss: "au.ss"; st: "au.st"; su: "au.su"; sv: "au.sv"; sw: "au.sw"; sx: "au.sx"; sy: "au.sy"; sz: "au.sz"; ta: "au.ta"; tb: "au.tb"; tc: "au.tc"; td: "au.td"; te: "au.te"; tf: "au.tf"; tg: "au.tg"; th: "au.th"; ti: "au.ti"; tj: "au.tj"; tk: "au.tk"; tl: "au.tl"; tm: "au.tm"; tn: "au.tn"; to: "au.to"; tp: "au.tp"; tq: "au.tq"; tr: "au.tr"; ts: "au.ts"; tt: "au.tt"; tu: "au.tu"; tv: "au.tv"; tw: "au.tw"; tx: "au.tx"; ty: "au.ty"; tz: "au.tz"; ua: "au.ua"; ub: "au.ub"; uc: "au.uc"; ud: "au.ud"; ue: "au.ue"; uf: "au.uf"; ug: "au.ug"; uh: "au.uh"; ui: "au.ui"; uj: "au.uj"; uk: "au.uk"; ul: "au.ul"; um: "au.um"; un: "au.un"; uo: "au.uo"; up: "au.up"; uq: "au.uq"; ur: "au.ur"; us: "au.us"; ut: "au.ut"; uu: "au.uu"; uv: "au.uv"; uw: "au.uw"; ux: "au.ux"; uy: "au.uy"; uz: "au.uz"; va: "au.va"; vb: "au.vb"; vc: "au.vc"; vd: "au.vd"; ve: "au.ve"; vf: "au.vf"; vg: "au.vg"; vh: "au.vh"; vi: "au.vi"; vj: "au.vj"; vk: "au.vk"; vl: "au.vl"; vm: "au.vm"; vn: "au.vn"; vo: "au.vo"; vp: "au.vp"; vq: "au.vq"; vr: "au.vr"; vs: "au.vs"; vt: "au.vt"; vu: "au.vu"; vv: "au.vv"; vw: "au.vw"; vx: "au.vx"; vy: "au.vy"; vz: "au.vz"; wa: "au.wa"; wb: "au.wb"; wc: "au.wc"; wd: "au.wd"; we: "au.we"; wf: "au.wf"; wg: "au.wg"; wh: "au.wh"; wi: "au.wi"; wj: "au.wj"; wk: "au.wk"; wl: "au.wl"; wm: "au.wm"; wn: "au.wn"; wo: "au.wo"; wp: "au.wp"; wq: "au.wq"; wr: "au.wr"; ws: "au.ws"; wt: "au.wt"; wu: "au.wu"; wv: "au.wv"; ww: "au.ww"; wx: "au.wx"; wy: "au.wy"; wz: "au.wz"; xa: "au.xa"; xb: "au.xb"; xc: "au.xc"; xd: "au.xd"; xe: "au.xe"; xf: "au.xf"; xg: "au.xg"; xh: "au.xh"; xi: "au.xi"; xj: "au.xj"; xk: "au.xk"; xl: "au.xl"; xm: "au.xm"; xn: "au.xn"; xo: "au.xo"; xp: "au.xp"; xq: "au.xq"; xr: "au.xr"; xs: "au.xs"; xt: "au.xt"; xu: "au.xu"; xv: "au.xv"; xw: "au.xw"; xx: "au.xx"; xy: "au.xy"; xz: "au.xz"; ya: "au.ya"; yb: "au.yb"; yc: "au.yc"; yd: "au.yd"; ye: "au.ye"; yf: "au.yf"; yg: "au.yg"; yh: "au.yh"; yi: "au.yi"; yj: "au.yj"; yk: "au.yk"; yl: "au.yl"; ym: "au.ym"; yn: "au.yn"; yo: "au.yo"; yp: "au.yp"; yq: "au.yq"; yr: "au.yr"; ys: "au.ys"; yt: "au.yt"; yu: "au.yu"; yv: "au.yv"; yw: "au.yw"; yx: "au.yx"; yy: "au.yy"; yz: "au.yz"; za: "au.za"; zb: "au.zb"; zc: "au.zc"; zd: "au.zd"; ze: "au.ze"; zf: "au.zf"; zg: "au.zg"; zh: "au.zh"; zi: "au.zi"; zj: "au.zj"; zk: "au.zk"; zl: "au.zl"; zm: "au.zm"; zn: "au.zn"; zo: "au.zo"; zp: "au.zp"; zq: "au.zq"; zr: "au.zr"; zs: "au.zs"; zt: "au.zt"; zu: "au.zu"; zv: "au.zv"; zw: "au.zw"; zx: "au.zx"; zy: "au.zy"; zz: "au.zz"; }; av: { aa: "av.aa"; ab: "av.ab"; ac: "av.ac"; ad: "av.ad"; ae: "av.ae"; af: "av.af"; ag: "av.ag"; ah: "av.ah"; ai: "av.ai"; aj: "av.aj"; ak: "av.ak"; al: "av.al"; am: "av.am"; an: "av.an"; ao: "av.ao"; ap: "av.ap"; aq: "av.aq"; ar: "av.ar"; as: "av.as"; at: "av.at"; au: "av.au"; av: "av.av"; aw: "av.aw"; ax: "av.ax"; ay: "av.ay"; az: "av.az"; ba: "av.ba"; bb: "av.bb"; bc: "av.bc"; bd: "av.bd"; be: "av.be"; bf: "av.bf"; bg: "av.bg"; bh: "av.bh"; bi: "av.bi"; bj: "av.bj"; bk: "av.bk"; bl: "av.bl"; bm: "av.bm"; bn: "av.bn"; bo: "av.bo"; bp: "av.bp"; bq: "av.bq"; br: "av.br"; bs: "av.bs"; bt: "av.bt"; bu: "av.bu"; bv: "av.bv"; bw: "av.bw"; bx: "av.bx"; by: "av.by"; bz: "av.bz"; ca: "av.ca"; cb: "av.cb"; cc: "av.cc"; cd: "av.cd"; ce: "av.ce"; cf: "av.cf"; cg: "av.cg"; ch: "av.ch"; ci: "av.ci"; cj: "av.cj"; ck: "av.ck"; cl: "av.cl"; cm: "av.cm"; cn: "av.cn"; co: "av.co"; cp: "av.cp"; cq: "av.cq"; cr: "av.cr"; cs: "av.cs"; ct: "av.ct"; cu: "av.cu"; cv: "av.cv"; cw: "av.cw"; cx: "av.cx"; cy: "av.cy"; cz: "av.cz"; da: "av.da"; db: "av.db"; dc: "av.dc"; dd: "av.dd"; de: "av.de"; df: "av.df"; dg: "av.dg"; dh: "av.dh"; di: "av.di"; dj: "av.dj"; dk: "av.dk"; dl: "av.dl"; dm: "av.dm"; dn: "av.dn"; do: "av.do"; dp: "av.dp"; dq: "av.dq"; dr: "av.dr"; ds: "av.ds"; dt: "av.dt"; du: "av.du"; dv: "av.dv"; dw: "av.dw"; dx: "av.dx"; dy: "av.dy"; dz: "av.dz"; ea: "av.ea"; eb: "av.eb"; ec: "av.ec"; ed: "av.ed"; ee: "av.ee"; ef: "av.ef"; eg: "av.eg"; eh: "av.eh"; ei: "av.ei"; ej: "av.ej"; ek: "av.ek"; el: "av.el"; em: "av.em"; en: "av.en"; eo: "av.eo"; ep: "av.ep"; eq: "av.eq"; er: "av.er"; es: "av.es"; et: "av.et"; eu: "av.eu"; ev: "av.ev"; ew: "av.ew"; ex: "av.ex"; ey: "av.ey"; ez: "av.ez"; fa: "av.fa"; fb: "av.fb"; fc: "av.fc"; fd: "av.fd"; fe: "av.fe"; ff: "av.ff"; fg: "av.fg"; fh: "av.fh"; fi: "av.fi"; fj: "av.fj"; fk: "av.fk"; fl: "av.fl"; fm: "av.fm"; fn: "av.fn"; fo: "av.fo"; fp: "av.fp"; fq: "av.fq"; fr: "av.fr"; fs: "av.fs"; ft: "av.ft"; fu: "av.fu"; fv: "av.fv"; fw: "av.fw"; fx: "av.fx"; fy: "av.fy"; fz: "av.fz"; ga: "av.ga"; gb: "av.gb"; gc: "av.gc"; gd: "av.gd"; ge: "av.ge"; gf: "av.gf"; gg: "av.gg"; gh: "av.gh"; gi: "av.gi"; gj: "av.gj"; gk: "av.gk"; gl: "av.gl"; gm: "av.gm"; gn: "av.gn"; go: "av.go"; gp: "av.gp"; gq: "av.gq"; gr: "av.gr"; gs: "av.gs"; gt: "av.gt"; gu: "av.gu"; gv: "av.gv"; gw: "av.gw"; gx: "av.gx"; gy: "av.gy"; gz: "av.gz"; ha: "av.ha"; hb: "av.hb"; hc: "av.hc"; hd: "av.hd"; he: "av.he"; hf: "av.hf"; hg: "av.hg"; hh: "av.hh"; hi: "av.hi"; hj: "av.hj"; hk: "av.hk"; hl: "av.hl"; hm: "av.hm"; hn: "av.hn"; ho: "av.ho"; hp: "av.hp"; hq: "av.hq"; hr: "av.hr"; hs: "av.hs"; ht: "av.ht"; hu: "av.hu"; hv: "av.hv"; hw: "av.hw"; hx: "av.hx"; hy: "av.hy"; hz: "av.hz"; ia: "av.ia"; ib: "av.ib"; ic: "av.ic"; id: "av.id"; ie: "av.ie"; if: "av.if"; ig: "av.ig"; ih: "av.ih"; ii: "av.ii"; ij: "av.ij"; ik: "av.ik"; il: "av.il"; im: "av.im"; in: "av.in"; io: "av.io"; ip: "av.ip"; iq: "av.iq"; ir: "av.ir"; is: "av.is"; it: "av.it"; iu: "av.iu"; iv: "av.iv"; iw: "av.iw"; ix: "av.ix"; iy: "av.iy"; iz: "av.iz"; ja: "av.ja"; jb: "av.jb"; jc: "av.jc"; jd: "av.jd"; je: "av.je"; jf: "av.jf"; jg: "av.jg"; jh: "av.jh"; ji: "av.ji"; jj: "av.jj"; jk: "av.jk"; jl: "av.jl"; jm: "av.jm"; jn: "av.jn"; jo: "av.jo"; jp: "av.jp"; jq: "av.jq"; jr: "av.jr"; js: "av.js"; jt: "av.jt"; ju: "av.ju"; jv: "av.jv"; jw: "av.jw"; jx: "av.jx"; jy: "av.jy"; jz: "av.jz"; ka: "av.ka"; kb: "av.kb"; kc: "av.kc"; kd: "av.kd"; ke: "av.ke"; kf: "av.kf"; kg: "av.kg"; kh: "av.kh"; ki: "av.ki"; kj: "av.kj"; kk: "av.kk"; kl: "av.kl"; km: "av.km"; kn: "av.kn"; ko: "av.ko"; kp: "av.kp"; kq: "av.kq"; kr: "av.kr"; ks: "av.ks"; kt: "av.kt"; ku: "av.ku"; kv: "av.kv"; kw: "av.kw"; kx: "av.kx"; ky: "av.ky"; kz: "av.kz"; la: "av.la"; lb: "av.lb"; lc: "av.lc"; ld: "av.ld"; le: "av.le"; lf: "av.lf"; lg: "av.lg"; lh: "av.lh"; li: "av.li"; lj: "av.lj"; lk: "av.lk"; ll: "av.ll"; lm: "av.lm"; ln: "av.ln"; lo: "av.lo"; lp: "av.lp"; lq: "av.lq"; lr: "av.lr"; ls: "av.ls"; lt: "av.lt"; lu: "av.lu"; lv: "av.lv"; lw: "av.lw"; lx: "av.lx"; ly: "av.ly"; lz: "av.lz"; ma: "av.ma"; mb: "av.mb"; mc: "av.mc"; md: "av.md"; me: "av.me"; mf: "av.mf"; mg: "av.mg"; mh: "av.mh"; mi: "av.mi"; mj: "av.mj"; mk: "av.mk"; ml: "av.ml"; mm: "av.mm"; mn: "av.mn"; mo: "av.mo"; mp: "av.mp"; mq: "av.mq"; mr: "av.mr"; ms: "av.ms"; mt: "av.mt"; mu: "av.mu"; mv: "av.mv"; mw: "av.mw"; mx: "av.mx"; my: "av.my"; mz: "av.mz"; na: "av.na"; nb: "av.nb"; nc: "av.nc"; nd: "av.nd"; ne: "av.ne"; nf: "av.nf"; ng: "av.ng"; nh: "av.nh"; ni: "av.ni"; nj: "av.nj"; nk: "av.nk"; nl: "av.nl"; nm: "av.nm"; nn: "av.nn"; no: "av.no"; np: "av.np"; nq: "av.nq"; nr: "av.nr"; ns: "av.ns"; nt: "av.nt"; nu: "av.nu"; nv: "av.nv"; nw: "av.nw"; nx: "av.nx"; ny: "av.ny"; nz: "av.nz"; oa: "av.oa"; ob: "av.ob"; oc: "av.oc"; od: "av.od"; oe: "av.oe"; of: "av.of"; og: "av.og"; oh: "av.oh"; oi: "av.oi"; oj: "av.oj"; ok: "av.ok"; ol: "av.ol"; om: "av.om"; on: "av.on"; oo: "av.oo"; op: "av.op"; oq: "av.oq"; or: "av.or"; os: "av.os"; ot: "av.ot"; ou: "av.ou"; ov: "av.ov"; ow: "av.ow"; ox: "av.ox"; oy: "av.oy"; oz: "av.oz"; pa: "av.pa"; pb: "av.pb"; pc: "av.pc"; pd: "av.pd"; pe: "av.pe"; pf: "av.pf"; pg: "av.pg"; ph: "av.ph"; pi: "av.pi"; pj: "av.pj"; pk: "av.pk"; pl: "av.pl"; pm: "av.pm"; pn: "av.pn"; po: "av.po"; pp: "av.pp"; pq: "av.pq"; pr: "av.pr"; ps: "av.ps"; pt: "av.pt"; pu: "av.pu"; pv: "av.pv"; pw: "av.pw"; px: "av.px"; py: "av.py"; pz: "av.pz"; qa: "av.qa"; qb: "av.qb"; qc: "av.qc"; qd: "av.qd"; qe: "av.qe"; qf: "av.qf"; qg: "av.qg"; qh: "av.qh"; qi: "av.qi"; qj: "av.qj"; qk: "av.qk"; ql: "av.ql"; qm: "av.qm"; qn: "av.qn"; qo: "av.qo"; qp: "av.qp"; qq: "av.qq"; qr: "av.qr"; qs: "av.qs"; qt: "av.qt"; qu: "av.qu"; qv: "av.qv"; qw: "av.qw"; qx: "av.qx"; qy: "av.qy"; qz: "av.qz"; ra: "av.ra"; rb: "av.rb"; rc: "av.rc"; rd: "av.rd"; re: "av.re"; rf: "av.rf"; rg: "av.rg"; rh: "av.rh"; ri: "av.ri"; rj: "av.rj"; rk: "av.rk"; rl: "av.rl"; rm: "av.rm"; rn: "av.rn"; ro: "av.ro"; rp: "av.rp"; rq: "av.rq"; rr: "av.rr"; rs: "av.rs"; rt: "av.rt"; ru: "av.ru"; rv: "av.rv"; rw: "av.rw"; rx: "av.rx"; ry: "av.ry"; rz: "av.rz"; sa: "av.sa"; sb: "av.sb"; sc: "av.sc"; sd: "av.sd"; se: "av.se"; sf: "av.sf"; sg: "av.sg"; sh: "av.sh"; si: "av.si"; sj: "av.sj"; sk: "av.sk"; sl: "av.sl"; sm: "av.sm"; sn: "av.sn"; so: "av.so"; sp: "av.sp"; sq: "av.sq"; sr: "av.sr"; ss: "av.ss"; st: "av.st"; su: "av.su"; sv: "av.sv"; sw: "av.sw"; sx: "av.sx"; sy: "av.sy"; sz: "av.sz"; ta: "av.ta"; tb: "av.tb"; tc: "av.tc"; td: "av.td"; te: "av.te"; tf: "av.tf"; tg: "av.tg"; th: "av.th"; ti: "av.ti"; tj: "av.tj"; tk: "av.tk"; tl: "av.tl"; tm: "av.tm"; tn: "av.tn"; to: "av.to"; tp: "av.tp"; tq: "av.tq"; tr: "av.tr"; ts: "av.ts"; tt: "av.tt"; tu: "av.tu"; tv: "av.tv"; tw: "av.tw"; tx: "av.tx"; ty: "av.ty"; tz: "av.tz"; ua: "av.ua"; ub: "av.ub"; uc: "av.uc"; ud: "av.ud"; ue: "av.ue"; uf: "av.uf"; ug: "av.ug"; uh: "av.uh"; ui: "av.ui"; uj: "av.uj"; uk: "av.uk"; ul: "av.ul"; um: "av.um"; un: "av.un"; uo: "av.uo"; up: "av.up"; uq: "av.uq"; ur: "av.ur"; us: "av.us"; ut: "av.ut"; uu: "av.uu"; uv: "av.uv"; uw: "av.uw"; ux: "av.ux"; uy: "av.uy"; uz: "av.uz"; va: "av.va"; vb: "av.vb"; vc: "av.vc"; vd: "av.vd"; ve: "av.ve"; vf: "av.vf"; vg: "av.vg"; vh: "av.vh"; vi: "av.vi"; vj: "av.vj"; vk: "av.vk"; vl: "av.vl"; vm: "av.vm"; vn: "av.vn"; vo: "av.vo"; vp: "av.vp"; vq: "av.vq"; vr: "av.vr"; vs: "av.vs"; vt: "av.vt"; vu: "av.vu"; vv: "av.vv"; vw: "av.vw"; vx: "av.vx"; vy: "av.vy"; vz: "av.vz"; wa: "av.wa"; wb: "av.wb"; wc: "av.wc"; wd: "av.wd"; we: "av.we"; wf: "av.wf"; wg: "av.wg"; wh: "av.wh"; wi: "av.wi"; wj: "av.wj"; wk: "av.wk"; wl: "av.wl"; wm: "av.wm"; wn: "av.wn"; wo: "av.wo"; wp: "av.wp"; wq: "av.wq"; wr: "av.wr"; ws: "av.ws"; wt: "av.wt"; wu: "av.wu"; wv: "av.wv"; ww: "av.ww"; wx: "av.wx"; wy: "av.wy"; wz: "av.wz"; xa: "av.xa"; xb: "av.xb"; xc: "av.xc"; xd: "av.xd"; xe: "av.xe"; xf: "av.xf"; xg: "av.xg"; xh: "av.xh"; xi: "av.xi"; xj: "av.xj"; xk: "av.xk"; xl: "av.xl"; xm: "av.xm"; xn: "av.xn"; xo: "av.xo"; xp: "av.xp"; xq: "av.xq"; xr: "av.xr"; xs: "av.xs"; xt: "av.xt"; xu: "av.xu"; xv: "av.xv"; xw: "av.xw"; xx: "av.xx"; xy: "av.xy"; xz: "av.xz"; ya: "av.ya"; yb: "av.yb"; yc: "av.yc"; yd: "av.yd"; ye: "av.ye"; yf: "av.yf"; yg: "av.yg"; yh: "av.yh"; yi: "av.yi"; yj: "av.yj"; yk: "av.yk"; yl: "av.yl"; ym: "av.ym"; yn: "av.yn"; yo: "av.yo"; yp: "av.yp"; yq: "av.yq"; yr: "av.yr"; ys: "av.ys"; yt: "av.yt"; yu: "av.yu"; yv: "av.yv"; yw: "av.yw"; yx: "av.yx"; yy: "av.yy"; yz: "av.yz"; za: "av.za"; zb: "av.zb"; zc: "av.zc"; zd: "av.zd"; ze: "av.ze"; zf: "av.zf"; zg: "av.zg"; zh: "av.zh"; zi: "av.zi"; zj: "av.zj"; zk: "av.zk"; zl: "av.zl"; zm: "av.zm"; zn: "av.zn"; zo: "av.zo"; zp: "av.zp"; zq: "av.zq"; zr: "av.zr"; zs: "av.zs"; zt: "av.zt"; zu: "av.zu"; zv: "av.zv"; zw: "av.zw"; zx: "av.zx"; zy: "av.zy"; zz: "av.zz"; }; aw: { aa: "aw.aa"; ab: "aw.ab"; ac: "aw.ac"; ad: "aw.ad"; ae: "aw.ae"; af: "aw.af"; ag: "aw.ag"; ah: "aw.ah"; ai: "aw.ai"; aj: "aw.aj"; ak: "aw.ak"; al: "aw.al"; am: "aw.am"; an: "aw.an"; ao: "aw.ao"; ap: "aw.ap"; aq: "aw.aq"; ar: "aw.ar"; as: "aw.as"; at: "aw.at"; au: "aw.au"; av: "aw.av"; aw: "aw.aw"; ax: "aw.ax"; ay: "aw.ay"; az: "aw.az"; ba: "aw.ba"; bb: "aw.bb"; bc: "aw.bc"; bd: "aw.bd"; be: "aw.be"; bf: "aw.bf"; bg: "aw.bg"; bh: "aw.bh"; bi: "aw.bi"; bj: "aw.bj"; bk: "aw.bk"; bl: "aw.bl"; bm: "aw.bm"; bn: "aw.bn"; bo: "aw.bo"; bp: "aw.bp"; bq: "aw.bq"; br: "aw.br"; bs: "aw.bs"; bt: "aw.bt"; bu: "aw.bu"; bv: "aw.bv"; bw: "aw.bw"; bx: "aw.bx"; by: "aw.by"; bz: "aw.bz"; ca: "aw.ca"; cb: "aw.cb"; cc: "aw.cc"; cd: "aw.cd"; ce: "aw.ce"; cf: "aw.cf"; cg: "aw.cg"; ch: "aw.ch"; ci: "aw.ci"; cj: "aw.cj"; ck: "aw.ck"; cl: "aw.cl"; cm: "aw.cm"; cn: "aw.cn"; co: "aw.co"; cp: "aw.cp"; cq: "aw.cq"; cr: "aw.cr"; cs: "aw.cs"; ct: "aw.ct"; cu: "aw.cu"; cv: "aw.cv"; cw: "aw.cw"; cx: "aw.cx"; cy: "aw.cy"; cz: "aw.cz"; da: "aw.da"; db: "aw.db"; dc: "aw.dc"; dd: "aw.dd"; de: "aw.de"; df: "aw.df"; dg: "aw.dg"; dh: "aw.dh"; di: "aw.di"; dj: "aw.dj"; dk: "aw.dk"; dl: "aw.dl"; dm: "aw.dm"; dn: "aw.dn"; do: "aw.do"; dp: "aw.dp"; dq: "aw.dq"; dr: "aw.dr"; ds: "aw.ds"; dt: "aw.dt"; du: "aw.du"; dv: "aw.dv"; dw: "aw.dw"; dx: "aw.dx"; dy: "aw.dy"; dz: "aw.dz"; ea: "aw.ea"; eb: "aw.eb"; ec: "aw.ec"; ed: "aw.ed"; ee: "aw.ee"; ef: "aw.ef"; eg: "aw.eg"; eh: "aw.eh"; ei: "aw.ei"; ej: "aw.ej"; ek: "aw.ek"; el: "aw.el"; em: "aw.em"; en: "aw.en"; eo: "aw.eo"; ep: "aw.ep"; eq: "aw.eq"; er: "aw.er"; es: "aw.es"; et: "aw.et"; eu: "aw.eu"; ev: "aw.ev"; ew: "aw.ew"; ex: "aw.ex"; ey: "aw.ey"; ez: "aw.ez"; fa: "aw.fa"; fb: "aw.fb"; fc: "aw.fc"; fd: "aw.fd"; fe: "aw.fe"; ff: "aw.ff"; fg: "aw.fg"; fh: "aw.fh"; fi: "aw.fi"; fj: "aw.fj"; fk: "aw.fk"; fl: "aw.fl"; fm: "aw.fm"; fn: "aw.fn"; fo: "aw.fo"; fp: "aw.fp"; fq: "aw.fq"; fr: "aw.fr"; fs: "aw.fs"; ft: "aw.ft"; fu: "aw.fu"; fv: "aw.fv"; fw: "aw.fw"; fx: "aw.fx"; fy: "aw.fy"; fz: "aw.fz"; ga: "aw.ga"; gb: "aw.gb"; gc: "aw.gc"; gd: "aw.gd"; ge: "aw.ge"; gf: "aw.gf"; gg: "aw.gg"; gh: "aw.gh"; gi: "aw.gi"; gj: "aw.gj"; gk: "aw.gk"; gl: "aw.gl"; gm: "aw.gm"; gn: "aw.gn"; go: "aw.go"; gp: "aw.gp"; gq: "aw.gq"; gr: "aw.gr"; gs: "aw.gs"; gt: "aw.gt"; gu: "aw.gu"; gv: "aw.gv"; gw: "aw.gw"; gx: "aw.gx"; gy: "aw.gy"; gz: "aw.gz"; ha: "aw.ha"; hb: "aw.hb"; hc: "aw.hc"; hd: "aw.hd"; he: "aw.he"; hf: "aw.hf"; hg: "aw.hg"; hh: "aw.hh"; hi: "aw.hi"; hj: "aw.hj"; hk: "aw.hk"; hl: "aw.hl"; hm: "aw.hm"; hn: "aw.hn"; ho: "aw.ho"; hp: "aw.hp"; hq: "aw.hq"; hr: "aw.hr"; hs: "aw.hs"; ht: "aw.ht"; hu: "aw.hu"; hv: "aw.hv"; hw: "aw.hw"; hx: "aw.hx"; hy: "aw.hy"; hz: "aw.hz"; ia: "aw.ia"; ib: "aw.ib"; ic: "aw.ic"; id: "aw.id"; ie: "aw.ie"; if: "aw.if"; ig: "aw.ig"; ih: "aw.ih"; ii: "aw.ii"; ij: "aw.ij"; ik: "aw.ik"; il: "aw.il"; im: "aw.im"; in: "aw.in"; io: "aw.io"; ip: "aw.ip"; iq: "aw.iq"; ir: "aw.ir"; is: "aw.is"; it: "aw.it"; iu: "aw.iu"; iv: "aw.iv"; iw: "aw.iw"; ix: "aw.ix"; iy: "aw.iy"; iz: "aw.iz"; ja: "aw.ja"; jb: "aw.jb"; jc: "aw.jc"; jd: "aw.jd"; je: "aw.je"; jf: "aw.jf"; jg: "aw.jg"; jh: "aw.jh"; ji: "aw.ji"; jj: "aw.jj"; jk: "aw.jk"; jl: "aw.jl"; jm: "aw.jm"; jn: "aw.jn"; jo: "aw.jo"; jp: "aw.jp"; jq: "aw.jq"; jr: "aw.jr"; js: "aw.js"; jt: "aw.jt"; ju: "aw.ju"; jv: "aw.jv"; jw: "aw.jw"; jx: "aw.jx"; jy: "aw.jy"; jz: "aw.jz"; ka: "aw.ka"; kb: "aw.kb"; kc: "aw.kc"; kd: "aw.kd"; ke: "aw.ke"; kf: "aw.kf"; kg: "aw.kg"; kh: "aw.kh"; ki: "aw.ki"; kj: "aw.kj"; kk: "aw.kk"; kl: "aw.kl"; km: "aw.km"; kn: "aw.kn"; ko: "aw.ko"; kp: "aw.kp"; kq: "aw.kq"; kr: "aw.kr"; ks: "aw.ks"; kt: "aw.kt"; ku: "aw.ku"; kv: "aw.kv"; kw: "aw.kw"; kx: "aw.kx"; ky: "aw.ky"; kz: "aw.kz"; la: "aw.la"; lb: "aw.lb"; lc: "aw.lc"; ld: "aw.ld"; le: "aw.le"; lf: "aw.lf"; lg: "aw.lg"; lh: "aw.lh"; li: "aw.li"; lj: "aw.lj"; lk: "aw.lk"; ll: "aw.ll"; lm: "aw.lm"; ln: "aw.ln"; lo: "aw.lo"; lp: "aw.lp"; lq: "aw.lq"; lr: "aw.lr"; ls: "aw.ls"; lt: "aw.lt"; lu: "aw.lu"; lv: "aw.lv"; lw: "aw.lw"; lx: "aw.lx"; ly: "aw.ly"; lz: "aw.lz"; ma: "aw.ma"; mb: "aw.mb"; mc: "aw.mc"; md: "aw.md"; me: "aw.me"; mf: "aw.mf"; mg: "aw.mg"; mh: "aw.mh"; mi: "aw.mi"; mj: "aw.mj"; mk: "aw.mk"; ml: "aw.ml"; mm: "aw.mm"; mn: "aw.mn"; mo: "aw.mo"; mp: "aw.mp"; mq: "aw.mq"; mr: "aw.mr"; ms: "aw.ms"; mt: "aw.mt"; mu: "aw.mu"; mv: "aw.mv"; mw: "aw.mw"; mx: "aw.mx"; my: "aw.my"; mz: "aw.mz"; na: "aw.na"; nb: "aw.nb"; nc: "aw.nc"; nd: "aw.nd"; ne: "aw.ne"; nf: "aw.nf"; ng: "aw.ng"; nh: "aw.nh"; ni: "aw.ni"; nj: "aw.nj"; nk: "aw.nk"; nl: "aw.nl"; nm: "aw.nm"; nn: "aw.nn"; no: "aw.no"; np: "aw.np"; nq: "aw.nq"; nr: "aw.nr"; ns: "aw.ns"; nt: "aw.nt"; nu: "aw.nu"; nv: "aw.nv"; nw: "aw.nw"; nx: "aw.nx"; ny: "aw.ny"; nz: "aw.nz"; oa: "aw.oa"; ob: "aw.ob"; oc: "aw.oc"; od: "aw.od"; oe: "aw.oe"; of: "aw.of"; og: "aw.og"; oh: "aw.oh"; oi: "aw.oi"; oj: "aw.oj"; ok: "aw.ok"; ol: "aw.ol"; om: "aw.om"; on: "aw.on"; oo: "aw.oo"; op: "aw.op"; oq: "aw.oq"; or: "aw.or"; os: "aw.os"; ot: "aw.ot"; ou: "aw.ou"; ov: "aw.ov"; ow: "aw.ow"; ox: "aw.ox"; oy: "aw.oy"; oz: "aw.oz"; pa: "aw.pa"; pb: "aw.pb"; pc: "aw.pc"; pd: "aw.pd"; pe: "aw.pe"; pf: "aw.pf"; pg: "aw.pg"; ph: "aw.ph"; pi: "aw.pi"; pj: "aw.pj"; pk: "aw.pk"; pl: "aw.pl"; pm: "aw.pm"; pn: "aw.pn"; po: "aw.po"; pp: "aw.pp"; pq: "aw.pq"; pr: "aw.pr"; ps: "aw.ps"; pt: "aw.pt"; pu: "aw.pu"; pv: "aw.pv"; pw: "aw.pw"; px: "aw.px"; py: "aw.py"; pz: "aw.pz"; qa: "aw.qa"; qb: "aw.qb"; qc: "aw.qc"; qd: "aw.qd"; qe: "aw.qe"; qf: "aw.qf"; qg: "aw.qg"; qh: "aw.qh"; qi: "aw.qi"; qj: "aw.qj"; qk: "aw.qk"; ql: "aw.ql"; qm: "aw.qm"; qn: "aw.qn"; qo: "aw.qo"; qp: "aw.qp"; qq: "aw.qq"; qr: "aw.qr"; qs: "aw.qs"; qt: "aw.qt"; qu: "aw.qu"; qv: "aw.qv"; qw: "aw.qw"; qx: "aw.qx"; qy: "aw.qy"; qz: "aw.qz"; ra: "aw.ra"; rb: "aw.rb"; rc: "aw.rc"; rd: "aw.rd"; re: "aw.re"; rf: "aw.rf"; rg: "aw.rg"; rh: "aw.rh"; ri: "aw.ri"; rj: "aw.rj"; rk: "aw.rk"; rl: "aw.rl"; rm: "aw.rm"; rn: "aw.rn"; ro: "aw.ro"; rp: "aw.rp"; rq: "aw.rq"; rr: "aw.rr"; rs: "aw.rs"; rt: "aw.rt"; ru: "aw.ru"; rv: "aw.rv"; rw: "aw.rw"; rx: "aw.rx"; ry: "aw.ry"; rz: "aw.rz"; sa: "aw.sa"; sb: "aw.sb"; sc: "aw.sc"; sd: "aw.sd"; se: "aw.se"; sf: "aw.sf"; sg: "aw.sg"; sh: "aw.sh"; si: "aw.si"; sj: "aw.sj"; sk: "aw.sk"; sl: "aw.sl"; sm: "aw.sm"; sn: "aw.sn"; so: "aw.so"; sp: "aw.sp"; sq: "aw.sq"; sr: "aw.sr"; ss: "aw.ss"; st: "aw.st"; su: "aw.su"; sv: "aw.sv"; sw: "aw.sw"; sx: "aw.sx"; sy: "aw.sy"; sz: "aw.sz"; ta: "aw.ta"; tb: "aw.tb"; tc: "aw.tc"; td: "aw.td"; te: "aw.te"; tf: "aw.tf"; tg: "aw.tg"; th: "aw.th"; ti: "aw.ti"; tj: "aw.tj"; tk: "aw.tk"; tl: "aw.tl"; tm: "aw.tm"; tn: "aw.tn"; to: "aw.to"; tp: "aw.tp"; tq: "aw.tq"; tr: "aw.tr"; ts: "aw.ts"; tt: "aw.tt"; tu: "aw.tu"; tv: "aw.tv"; tw: "aw.tw"; tx: "aw.tx"; ty: "aw.ty"; tz: "aw.tz"; ua: "aw.ua"; ub: "aw.ub"; uc: "aw.uc"; ud: "aw.ud"; ue: "aw.ue"; uf: "aw.uf"; ug: "aw.ug"; uh: "aw.uh"; ui: "aw.ui"; uj: "aw.uj"; uk: "aw.uk"; ul: "aw.ul"; um: "aw.um"; un: "aw.un"; uo: "aw.uo"; up: "aw.up"; uq: "aw.uq"; ur: "aw.ur"; us: "aw.us"; ut: "aw.ut"; uu: "aw.uu"; uv: "aw.uv"; uw: "aw.uw"; ux: "aw.ux"; uy: "aw.uy"; uz: "aw.uz"; va: "aw.va"; vb: "aw.vb"; vc: "aw.vc"; vd: "aw.vd"; ve: "aw.ve"; vf: "aw.vf"; vg: "aw.vg"; vh: "aw.vh"; vi: "aw.vi"; vj: "aw.vj"; vk: "aw.vk"; vl: "aw.vl"; vm: "aw.vm"; vn: "aw.vn"; vo: "aw.vo"; vp: "aw.vp"; vq: "aw.vq"; vr: "aw.vr"; vs: "aw.vs"; vt: "aw.vt"; vu: "aw.vu"; vv: "aw.vv"; vw: "aw.vw"; vx: "aw.vx"; vy: "aw.vy"; vz: "aw.vz"; wa: "aw.wa"; wb: "aw.wb"; wc: "aw.wc"; wd: "aw.wd"; we: "aw.we"; wf: "aw.wf"; wg: "aw.wg"; wh: "aw.wh"; wi: "aw.wi"; wj: "aw.wj"; wk: "aw.wk"; wl: "aw.wl"; wm: "aw.wm"; wn: "aw.wn"; wo: "aw.wo"; wp: "aw.wp"; wq: "aw.wq"; wr: "aw.wr"; ws: "aw.ws"; wt: "aw.wt"; wu: "aw.wu"; wv: "aw.wv"; ww: "aw.ww"; wx: "aw.wx"; wy: "aw.wy"; wz: "aw.wz"; xa: "aw.xa"; xb: "aw.xb"; xc: "aw.xc"; xd: "aw.xd"; xe: "aw.xe"; xf: "aw.xf"; xg: "aw.xg"; xh: "aw.xh"; xi: "aw.xi"; xj: "aw.xj"; xk: "aw.xk"; xl: "aw.xl"; xm: "aw.xm"; xn: "aw.xn"; xo: "aw.xo"; xp: "aw.xp"; xq: "aw.xq"; xr: "aw.xr"; xs: "aw.xs"; xt: "aw.xt"; xu: "aw.xu"; xv: "aw.xv"; xw: "aw.xw"; xx: "aw.xx"; xy: "aw.xy"; xz: "aw.xz"; ya: "aw.ya"; yb: "aw.yb"; yc: "aw.yc"; yd: "aw.yd"; ye: "aw.ye"; yf: "aw.yf"; yg: "aw.yg"; yh: "aw.yh"; yi: "aw.yi"; yj: "aw.yj"; yk: "aw.yk"; yl: "aw.yl"; ym: "aw.ym"; yn: "aw.yn"; yo: "aw.yo"; yp: "aw.yp"; yq: "aw.yq"; yr: "aw.yr"; ys: "aw.ys"; yt: "aw.yt"; yu: "aw.yu"; yv: "aw.yv"; yw: "aw.yw"; yx: "aw.yx"; yy: "aw.yy"; yz: "aw.yz"; za: "aw.za"; zb: "aw.zb"; zc: "aw.zc"; zd: "aw.zd"; ze: "aw.ze"; zf: "aw.zf"; zg: "aw.zg"; zh: "aw.zh"; zi: "aw.zi"; zj: "aw.zj"; zk: "aw.zk"; zl: "aw.zl"; zm: "aw.zm"; zn: "aw.zn"; zo: "aw.zo"; zp: "aw.zp"; zq: "aw.zq"; zr: "aw.zr"; zs: "aw.zs"; zt: "aw.zt"; zu: "aw.zu"; zv: "aw.zv"; zw: "aw.zw"; zx: "aw.zx"; zy: "aw.zy"; zz: "aw.zz"; }; ax: { aa: "ax.aa"; ab: "ax.ab"; ac: "ax.ac"; ad: "ax.ad"; ae: "ax.ae"; af: "ax.af"; ag: "ax.ag"; ah: "ax.ah"; ai: "ax.ai"; aj: "ax.aj"; ak: "ax.ak"; al: "ax.al"; am: "ax.am"; an: "ax.an"; ao: "ax.ao"; ap: "ax.ap"; aq: "ax.aq"; ar: "ax.ar"; as: "ax.as"; at: "ax.at"; au: "ax.au"; av: "ax.av"; aw: "ax.aw"; ax: "ax.ax"; ay: "ax.ay"; az: "ax.az"; ba: "ax.ba"; bb: "ax.bb"; bc: "ax.bc"; bd: "ax.bd"; be: "ax.be"; bf: "ax.bf"; bg: "ax.bg"; bh: "ax.bh"; bi: "ax.bi"; bj: "ax.bj"; bk: "ax.bk"; bl: "ax.bl"; bm: "ax.bm"; bn: "ax.bn"; bo: "ax.bo"; bp: "ax.bp"; bq: "ax.bq"; br: "ax.br"; bs: "ax.bs"; bt: "ax.bt"; bu: "ax.bu"; bv: "ax.bv"; bw: "ax.bw"; bx: "ax.bx"; by: "ax.by"; bz: "ax.bz"; ca: "ax.ca"; cb: "ax.cb"; cc: "ax.cc"; cd: "ax.cd"; ce: "ax.ce"; cf: "ax.cf"; cg: "ax.cg"; ch: "ax.ch"; ci: "ax.ci"; cj: "ax.cj"; ck: "ax.ck"; cl: "ax.cl"; cm: "ax.cm"; cn: "ax.cn"; co: "ax.co"; cp: "ax.cp"; cq: "ax.cq"; cr: "ax.cr"; cs: "ax.cs"; ct: "ax.ct"; cu: "ax.cu"; cv: "ax.cv"; cw: "ax.cw"; cx: "ax.cx"; cy: "ax.cy"; cz: "ax.cz"; da: "ax.da"; db: "ax.db"; dc: "ax.dc"; dd: "ax.dd"; de: "ax.de"; df: "ax.df"; dg: "ax.dg"; dh: "ax.dh"; di: "ax.di"; dj: "ax.dj"; dk: "ax.dk"; dl: "ax.dl"; dm: "ax.dm"; dn: "ax.dn"; do: "ax.do"; dp: "ax.dp"; dq: "ax.dq"; dr: "ax.dr"; ds: "ax.ds"; dt: "ax.dt"; du: "ax.du"; dv: "ax.dv"; dw: "ax.dw"; dx: "ax.dx"; dy: "ax.dy"; dz: "ax.dz"; ea: "ax.ea"; eb: "ax.eb"; ec: "ax.ec"; ed: "ax.ed"; ee: "ax.ee"; ef: "ax.ef"; eg: "ax.eg"; eh: "ax.eh"; ei: "ax.ei"; ej: "ax.ej"; ek: "ax.ek"; el: "ax.el"; em: "ax.em"; en: "ax.en"; eo: "ax.eo"; ep: "ax.ep"; eq: "ax.eq"; er: "ax.er"; es: "ax.es"; et: "ax.et"; eu: "ax.eu"; ev: "ax.ev"; ew: "ax.ew"; ex: "ax.ex"; ey: "ax.ey"; ez: "ax.ez"; fa: "ax.fa"; fb: "ax.fb"; fc: "ax.fc"; fd: "ax.fd"; fe: "ax.fe"; ff: "ax.ff"; fg: "ax.fg"; fh: "ax.fh"; fi: "ax.fi"; fj: "ax.fj"; fk: "ax.fk"; fl: "ax.fl"; fm: "ax.fm"; fn: "ax.fn"; fo: "ax.fo"; fp: "ax.fp"; fq: "ax.fq"; fr: "ax.fr"; fs: "ax.fs"; ft: "ax.ft"; fu: "ax.fu"; fv: "ax.fv"; fw: "ax.fw"; fx: "ax.fx"; fy: "ax.fy"; fz: "ax.fz"; ga: "ax.ga"; gb: "ax.gb"; gc: "ax.gc"; gd: "ax.gd"; ge: "ax.ge"; gf: "ax.gf"; gg: "ax.gg"; gh: "ax.gh"; gi: "ax.gi"; gj: "ax.gj"; gk: "ax.gk"; gl: "ax.gl"; gm: "ax.gm"; gn: "ax.gn"; go: "ax.go"; gp: "ax.gp"; gq: "ax.gq"; gr: "ax.gr"; gs: "ax.gs"; gt: "ax.gt"; gu: "ax.gu"; gv: "ax.gv"; gw: "ax.gw"; gx: "ax.gx"; gy: "ax.gy"; gz: "ax.gz"; ha: "ax.ha"; hb: "ax.hb"; hc: "ax.hc"; hd: "ax.hd"; he: "ax.he"; hf: "ax.hf"; hg: "ax.hg"; hh: "ax.hh"; hi: "ax.hi"; hj: "ax.hj"; hk: "ax.hk"; hl: "ax.hl"; hm: "ax.hm"; hn: "ax.hn"; ho: "ax.ho"; hp: "ax.hp"; hq: "ax.hq"; hr: "ax.hr"; hs: "ax.hs"; ht: "ax.ht"; hu: "ax.hu"; hv: "ax.hv"; hw: "ax.hw"; hx: "ax.hx"; hy: "ax.hy"; hz: "ax.hz"; ia: "ax.ia"; ib: "ax.ib"; ic: "ax.ic"; id: "ax.id"; ie: "ax.ie"; if: "ax.if"; ig: "ax.ig"; ih: "ax.ih"; ii: "ax.ii"; ij: "ax.ij"; ik: "ax.ik"; il: "ax.il"; im: "ax.im"; in: "ax.in"; io: "ax.io"; ip: "ax.ip"; iq: "ax.iq"; ir: "ax.ir"; is: "ax.is"; it: "ax.it"; iu: "ax.iu"; iv: "ax.iv"; iw: "ax.iw"; ix: "ax.ix"; iy: "ax.iy"; iz: "ax.iz"; ja: "ax.ja"; jb: "ax.jb"; jc: "ax.jc"; jd: "ax.jd"; je: "ax.je"; jf: "ax.jf"; jg: "ax.jg"; jh: "ax.jh"; ji: "ax.ji"; jj: "ax.jj"; jk: "ax.jk"; jl: "ax.jl"; jm: "ax.jm"; jn: "ax.jn"; jo: "ax.jo"; jp: "ax.jp"; jq: "ax.jq"; jr: "ax.jr"; js: "ax.js"; jt: "ax.jt"; ju: "ax.ju"; jv: "ax.jv"; jw: "ax.jw"; jx: "ax.jx"; jy: "ax.jy"; jz: "ax.jz"; ka: "ax.ka"; kb: "ax.kb"; kc: "ax.kc"; kd: "ax.kd"; ke: "ax.ke"; kf: "ax.kf"; kg: "ax.kg"; kh: "ax.kh"; ki: "ax.ki"; kj: "ax.kj"; kk: "ax.kk"; kl: "ax.kl"; km: "ax.km"; kn: "ax.kn"; ko: "ax.ko"; kp: "ax.kp"; kq: "ax.kq"; kr: "ax.kr"; ks: "ax.ks"; kt: "ax.kt"; ku: "ax.ku"; kv: "ax.kv"; kw: "ax.kw"; kx: "ax.kx"; ky: "ax.ky"; kz: "ax.kz"; la: "ax.la"; lb: "ax.lb"; lc: "ax.lc"; ld: "ax.ld"; le: "ax.le"; lf: "ax.lf"; lg: "ax.lg"; lh: "ax.lh"; li: "ax.li"; lj: "ax.lj"; lk: "ax.lk"; ll: "ax.ll"; lm: "ax.lm"; ln: "ax.ln"; lo: "ax.lo"; lp: "ax.lp"; lq: "ax.lq"; lr: "ax.lr"; ls: "ax.ls"; lt: "ax.lt"; lu: "ax.lu"; lv: "ax.lv"; lw: "ax.lw"; lx: "ax.lx"; ly: "ax.ly"; lz: "ax.lz"; ma: "ax.ma"; mb: "ax.mb"; mc: "ax.mc"; md: "ax.md"; me: "ax.me"; mf: "ax.mf"; mg: "ax.mg"; mh: "ax.mh"; mi: "ax.mi"; mj: "ax.mj"; mk: "ax.mk"; ml: "ax.ml"; mm: "ax.mm"; mn: "ax.mn"; mo: "ax.mo"; mp: "ax.mp"; mq: "ax.mq"; mr: "ax.mr"; ms: "ax.ms"; mt: "ax.mt"; mu: "ax.mu"; mv: "ax.mv"; mw: "ax.mw"; mx: "ax.mx"; my: "ax.my"; mz: "ax.mz"; na: "ax.na"; nb: "ax.nb"; nc: "ax.nc"; nd: "ax.nd"; ne: "ax.ne"; nf: "ax.nf"; ng: "ax.ng"; nh: "ax.nh"; ni: "ax.ni"; nj: "ax.nj"; nk: "ax.nk"; nl: "ax.nl"; nm: "ax.nm"; nn: "ax.nn"; no: "ax.no"; np: "ax.np"; nq: "ax.nq"; nr: "ax.nr"; ns: "ax.ns"; nt: "ax.nt"; nu: "ax.nu"; nv: "ax.nv"; nw: "ax.nw"; nx: "ax.nx"; ny: "ax.ny"; nz: "ax.nz"; oa: "ax.oa"; ob: "ax.ob"; oc: "ax.oc"; od: "ax.od"; oe: "ax.oe"; of: "ax.of"; og: "ax.og"; oh: "ax.oh"; oi: "ax.oi"; oj: "ax.oj"; ok: "ax.ok"; ol: "ax.ol"; om: "ax.om"; on: "ax.on"; oo: "ax.oo"; op: "ax.op"; oq: "ax.oq"; or: "ax.or"; os: "ax.os"; ot: "ax.ot"; ou: "ax.ou"; ov: "ax.ov"; ow: "ax.ow"; ox: "ax.ox"; oy: "ax.oy"; oz: "ax.oz"; pa: "ax.pa"; pb: "ax.pb"; pc: "ax.pc"; pd: "ax.pd"; pe: "ax.pe"; pf: "ax.pf"; pg: "ax.pg"; ph: "ax.ph"; pi: "ax.pi"; pj: "ax.pj"; pk: "ax.pk"; pl: "ax.pl"; pm: "ax.pm"; pn: "ax.pn"; po: "ax.po"; pp: "ax.pp"; pq: "ax.pq"; pr: "ax.pr"; ps: "ax.ps"; pt: "ax.pt"; pu: "ax.pu"; pv: "ax.pv"; pw: "ax.pw"; px: "ax.px"; py: "ax.py"; pz: "ax.pz"; qa: "ax.qa"; qb: "ax.qb"; qc: "ax.qc"; qd: "ax.qd"; qe: "ax.qe"; qf: "ax.qf"; qg: "ax.qg"; qh: "ax.qh"; qi: "ax.qi"; qj: "ax.qj"; qk: "ax.qk"; ql: "ax.ql"; qm: "ax.qm"; qn: "ax.qn"; qo: "ax.qo"; qp: "ax.qp"; qq: "ax.qq"; qr: "ax.qr"; qs: "ax.qs"; qt: "ax.qt"; qu: "ax.qu"; qv: "ax.qv"; qw: "ax.qw"; qx: "ax.qx"; qy: "ax.qy"; qz: "ax.qz"; ra: "ax.ra"; rb: "ax.rb"; rc: "ax.rc"; rd: "ax.rd"; re: "ax.re"; rf: "ax.rf"; rg: "ax.rg"; rh: "ax.rh"; ri: "ax.ri"; rj: "ax.rj"; rk: "ax.rk"; rl: "ax.rl"; rm: "ax.rm"; rn: "ax.rn"; ro: "ax.ro"; rp: "ax.rp"; rq: "ax.rq"; rr: "ax.rr"; rs: "ax.rs"; rt: "ax.rt"; ru: "ax.ru"; rv: "ax.rv"; rw: "ax.rw"; rx: "ax.rx"; ry: "ax.ry"; rz: "ax.rz"; sa: "ax.sa"; sb: "ax.sb"; sc: "ax.sc"; sd: "ax.sd"; se: "ax.se"; sf: "ax.sf"; sg: "ax.sg"; sh: "ax.sh"; si: "ax.si"; sj: "ax.sj"; sk: "ax.sk"; sl: "ax.sl"; sm: "ax.sm"; sn: "ax.sn"; so: "ax.so"; sp: "ax.sp"; sq: "ax.sq"; sr: "ax.sr"; ss: "ax.ss"; st: "ax.st"; su: "ax.su"; sv: "ax.sv"; sw: "ax.sw"; sx: "ax.sx"; sy: "ax.sy"; sz: "ax.sz"; ta: "ax.ta"; tb: "ax.tb"; tc: "ax.tc"; td: "ax.td"; te: "ax.te"; tf: "ax.tf"; tg: "ax.tg"; th: "ax.th"; ti: "ax.ti"; tj: "ax.tj"; tk: "ax.tk"; tl: "ax.tl"; tm: "ax.tm"; tn: "ax.tn"; to: "ax.to"; tp: "ax.tp"; tq: "ax.tq"; tr: "ax.tr"; ts: "ax.ts"; tt: "ax.tt"; tu: "ax.tu"; tv: "ax.tv"; tw: "ax.tw"; tx: "ax.tx"; ty: "ax.ty"; tz: "ax.tz"; ua: "ax.ua"; ub: "ax.ub"; uc: "ax.uc"; ud: "ax.ud"; ue: "ax.ue"; uf: "ax.uf"; ug: "ax.ug"; uh: "ax.uh"; ui: "ax.ui"; uj: "ax.uj"; uk: "ax.uk"; ul: "ax.ul"; um: "ax.um"; un: "ax.un"; uo: "ax.uo"; up: "ax.up"; uq: "ax.uq"; ur: "ax.ur"; us: "ax.us"; ut: "ax.ut"; uu: "ax.uu"; uv: "ax.uv"; uw: "ax.uw"; ux: "ax.ux"; uy: "ax.uy"; uz: "ax.uz"; va: "ax.va"; vb: "ax.vb"; vc: "ax.vc"; vd: "ax.vd"; ve: "ax.ve"; vf: "ax.vf"; vg: "ax.vg"; vh: "ax.vh"; vi: "ax.vi"; vj: "ax.vj"; vk: "ax.vk"; vl: "ax.vl"; vm: "ax.vm"; vn: "ax.vn"; vo: "ax.vo"; vp: "ax.vp"; vq: "ax.vq"; vr: "ax.vr"; vs: "ax.vs"; vt: "ax.vt"; vu: "ax.vu"; vv: "ax.vv"; vw: "ax.vw"; vx: "ax.vx"; vy: "ax.vy"; vz: "ax.vz"; wa: "ax.wa"; wb: "ax.wb"; wc: "ax.wc"; wd: "ax.wd"; we: "ax.we"; wf: "ax.wf"; wg: "ax.wg"; wh: "ax.wh"; wi: "ax.wi"; wj: "ax.wj"; wk: "ax.wk"; wl: "ax.wl"; wm: "ax.wm"; wn: "ax.wn"; wo: "ax.wo"; wp: "ax.wp"; wq: "ax.wq"; wr: "ax.wr"; ws: "ax.ws"; wt: "ax.wt"; wu: "ax.wu"; wv: "ax.wv"; ww: "ax.ww"; wx: "ax.wx"; wy: "ax.wy"; wz: "ax.wz"; xa: "ax.xa"; xb: "ax.xb"; xc: "ax.xc"; xd: "ax.xd"; xe: "ax.xe"; xf: "ax.xf"; xg: "ax.xg"; xh: "ax.xh"; xi: "ax.xi"; xj: "ax.xj"; xk: "ax.xk"; xl: "ax.xl"; xm: "ax.xm"; xn: "ax.xn"; xo: "ax.xo"; xp: "ax.xp"; xq: "ax.xq"; xr: "ax.xr"; xs: "ax.xs"; xt: "ax.xt"; xu: "ax.xu"; xv: "ax.xv"; xw: "ax.xw"; xx: "ax.xx"; xy: "ax.xy"; xz: "ax.xz"; ya: "ax.ya"; yb: "ax.yb"; yc: "ax.yc"; yd: "ax.yd"; ye: "ax.ye"; yf: "ax.yf"; yg: "ax.yg"; yh: "ax.yh"; yi: "ax.yi"; yj: "ax.yj"; yk: "ax.yk"; yl: "ax.yl"; ym: "ax.ym"; yn: "ax.yn"; yo: "ax.yo"; yp: "ax.yp"; yq: "ax.yq"; yr: "ax.yr"; ys: "ax.ys"; yt: "ax.yt"; yu: "ax.yu"; yv: "ax.yv"; yw: "ax.yw"; yx: "ax.yx"; yy: "ax.yy"; yz: "ax.yz"; za: "ax.za"; zb: "ax.zb"; zc: "ax.zc"; zd: "ax.zd"; ze: "ax.ze"; zf: "ax.zf"; zg: "ax.zg"; zh: "ax.zh"; zi: "ax.zi"; zj: "ax.zj"; zk: "ax.zk"; zl: "ax.zl"; zm: "ax.zm"; zn: "ax.zn"; zo: "ax.zo"; zp: "ax.zp"; zq: "ax.zq"; zr: "ax.zr"; zs: "ax.zs"; zt: "ax.zt"; zu: "ax.zu"; zv: "ax.zv"; zw: "ax.zw"; zx: "ax.zx"; zy: "ax.zy"; zz: "ax.zz"; }; ay: { aa: "ay.aa"; ab: "ay.ab"; ac: "ay.ac"; ad: "ay.ad"; ae: "ay.ae"; af: "ay.af"; ag: "ay.ag"; ah: "ay.ah"; ai: "ay.ai"; aj: "ay.aj"; ak: "ay.ak"; al: "ay.al"; am: "ay.am"; an: "ay.an"; ao: "ay.ao"; ap: "ay.ap"; aq: "ay.aq"; ar: "ay.ar"; as: "ay.as"; at: "ay.at"; au: "ay.au"; av: "ay.av"; aw: "ay.aw"; ax: "ay.ax"; ay: "ay.ay"; az: "ay.az"; ba: "ay.ba"; bb: "ay.bb"; bc: "ay.bc"; bd: "ay.bd"; be: "ay.be"; bf: "ay.bf"; bg: "ay.bg"; bh: "ay.bh"; bi: "ay.bi"; bj: "ay.bj"; bk: "ay.bk"; bl: "ay.bl"; bm: "ay.bm"; bn: "ay.bn"; bo: "ay.bo"; bp: "ay.bp"; bq: "ay.bq"; br: "ay.br"; bs: "ay.bs"; bt: "ay.bt"; bu: "ay.bu"; bv: "ay.bv"; bw: "ay.bw"; bx: "ay.bx"; by: "ay.by"; bz: "ay.bz"; ca: "ay.ca"; cb: "ay.cb"; cc: "ay.cc"; cd: "ay.cd"; ce: "ay.ce"; cf: "ay.cf"; cg: "ay.cg"; ch: "ay.ch"; ci: "ay.ci"; cj: "ay.cj"; ck: "ay.ck"; cl: "ay.cl"; cm: "ay.cm"; cn: "ay.cn"; co: "ay.co"; cp: "ay.cp"; cq: "ay.cq"; cr: "ay.cr"; cs: "ay.cs"; ct: "ay.ct"; cu: "ay.cu"; cv: "ay.cv"; cw: "ay.cw"; cx: "ay.cx"; cy: "ay.cy"; cz: "ay.cz"; da: "ay.da"; db: "ay.db"; dc: "ay.dc"; dd: "ay.dd"; de: "ay.de"; df: "ay.df"; dg: "ay.dg"; dh: "ay.dh"; di: "ay.di"; dj: "ay.dj"; dk: "ay.dk"; dl: "ay.dl"; dm: "ay.dm"; dn: "ay.dn"; do: "ay.do"; dp: "ay.dp"; dq: "ay.dq"; dr: "ay.dr"; ds: "ay.ds"; dt: "ay.dt"; du: "ay.du"; dv: "ay.dv"; dw: "ay.dw"; dx: "ay.dx"; dy: "ay.dy"; dz: "ay.dz"; ea: "ay.ea"; eb: "ay.eb"; ec: "ay.ec"; ed: "ay.ed"; ee: "ay.ee"; ef: "ay.ef"; eg: "ay.eg"; eh: "ay.eh"; ei: "ay.ei"; ej: "ay.ej"; ek: "ay.ek"; el: "ay.el"; em: "ay.em"; en: "ay.en"; eo: "ay.eo"; ep: "ay.ep"; eq: "ay.eq"; er: "ay.er"; es: "ay.es"; et: "ay.et"; eu: "ay.eu"; ev: "ay.ev"; ew: "ay.ew"; ex: "ay.ex"; ey: "ay.ey"; ez: "ay.ez"; fa: "ay.fa"; fb: "ay.fb"; fc: "ay.fc"; fd: "ay.fd"; fe: "ay.fe"; ff: "ay.ff"; fg: "ay.fg"; fh: "ay.fh"; fi: "ay.fi"; fj: "ay.fj"; fk: "ay.fk"; fl: "ay.fl"; fm: "ay.fm"; fn: "ay.fn"; fo: "ay.fo"; fp: "ay.fp"; fq: "ay.fq"; fr: "ay.fr"; fs: "ay.fs"; ft: "ay.ft"; fu: "ay.fu"; fv: "ay.fv"; fw: "ay.fw"; fx: "ay.fx"; fy: "ay.fy"; fz: "ay.fz"; ga: "ay.ga"; gb: "ay.gb"; gc: "ay.gc"; gd: "ay.gd"; ge: "ay.ge"; gf: "ay.gf"; gg: "ay.gg"; gh: "ay.gh"; gi: "ay.gi"; gj: "ay.gj"; gk: "ay.gk"; gl: "ay.gl"; gm: "ay.gm"; gn: "ay.gn"; go: "ay.go"; gp: "ay.gp"; gq: "ay.gq"; gr: "ay.gr"; gs: "ay.gs"; gt: "ay.gt"; gu: "ay.gu"; gv: "ay.gv"; gw: "ay.gw"; gx: "ay.gx"; gy: "ay.gy"; gz: "ay.gz"; ha: "ay.ha"; hb: "ay.hb"; hc: "ay.hc"; hd: "ay.hd"; he: "ay.he"; hf: "ay.hf"; hg: "ay.hg"; hh: "ay.hh"; hi: "ay.hi"; hj: "ay.hj"; hk: "ay.hk"; hl: "ay.hl"; hm: "ay.hm"; hn: "ay.hn"; ho: "ay.ho"; hp: "ay.hp"; hq: "ay.hq"; hr: "ay.hr"; hs: "ay.hs"; ht: "ay.ht"; hu: "ay.hu"; hv: "ay.hv"; hw: "ay.hw"; hx: "ay.hx"; hy: "ay.hy"; hz: "ay.hz"; ia: "ay.ia"; ib: "ay.ib"; ic: "ay.ic"; id: "ay.id"; ie: "ay.ie"; if: "ay.if"; ig: "ay.ig"; ih: "ay.ih"; ii: "ay.ii"; ij: "ay.ij"; ik: "ay.ik"; il: "ay.il"; im: "ay.im"; in: "ay.in"; io: "ay.io"; ip: "ay.ip"; iq: "ay.iq"; ir: "ay.ir"; is: "ay.is"; it: "ay.it"; iu: "ay.iu"; iv: "ay.iv"; iw: "ay.iw"; ix: "ay.ix"; iy: "ay.iy"; iz: "ay.iz"; ja: "ay.ja"; jb: "ay.jb"; jc: "ay.jc"; jd: "ay.jd"; je: "ay.je"; jf: "ay.jf"; jg: "ay.jg"; jh: "ay.jh"; ji: "ay.ji"; jj: "ay.jj"; jk: "ay.jk"; jl: "ay.jl"; jm: "ay.jm"; jn: "ay.jn"; jo: "ay.jo"; jp: "ay.jp"; jq: "ay.jq"; jr: "ay.jr"; js: "ay.js"; jt: "ay.jt"; ju: "ay.ju"; jv: "ay.jv"; jw: "ay.jw"; jx: "ay.jx"; jy: "ay.jy"; jz: "ay.jz"; ka: "ay.ka"; kb: "ay.kb"; kc: "ay.kc"; kd: "ay.kd"; ke: "ay.ke"; kf: "ay.kf"; kg: "ay.kg"; kh: "ay.kh"; ki: "ay.ki"; kj: "ay.kj"; kk: "ay.kk"; kl: "ay.kl"; km: "ay.km"; kn: "ay.kn"; ko: "ay.ko"; kp: "ay.kp"; kq: "ay.kq"; kr: "ay.kr"; ks: "ay.ks"; kt: "ay.kt"; ku: "ay.ku"; kv: "ay.kv"; kw: "ay.kw"; kx: "ay.kx"; ky: "ay.ky"; kz: "ay.kz"; la: "ay.la"; lb: "ay.lb"; lc: "ay.lc"; ld: "ay.ld"; le: "ay.le"; lf: "ay.lf"; lg: "ay.lg"; lh: "ay.lh"; li: "ay.li"; lj: "ay.lj"; lk: "ay.lk"; ll: "ay.ll"; lm: "ay.lm"; ln: "ay.ln"; lo: "ay.lo"; lp: "ay.lp"; lq: "ay.lq"; lr: "ay.lr"; ls: "ay.ls"; lt: "ay.lt"; lu: "ay.lu"; lv: "ay.lv"; lw: "ay.lw"; lx: "ay.lx"; ly: "ay.ly"; lz: "ay.lz"; ma: "ay.ma"; mb: "ay.mb"; mc: "ay.mc"; md: "ay.md"; me: "ay.me"; mf: "ay.mf"; mg: "ay.mg"; mh: "ay.mh"; mi: "ay.mi"; mj: "ay.mj"; mk: "ay.mk"; ml: "ay.ml"; mm: "ay.mm"; mn: "ay.mn"; mo: "ay.mo"; mp: "ay.mp"; mq: "ay.mq"; mr: "ay.mr"; ms: "ay.ms"; mt: "ay.mt"; mu: "ay.mu"; mv: "ay.mv"; mw: "ay.mw"; mx: "ay.mx"; my: "ay.my"; mz: "ay.mz"; na: "ay.na"; nb: "ay.nb"; nc: "ay.nc"; nd: "ay.nd"; ne: "ay.ne"; nf: "ay.nf"; ng: "ay.ng"; nh: "ay.nh"; ni: "ay.ni"; nj: "ay.nj"; nk: "ay.nk"; nl: "ay.nl"; nm: "ay.nm"; nn: "ay.nn"; no: "ay.no"; np: "ay.np"; nq: "ay.nq"; nr: "ay.nr"; ns: "ay.ns"; nt: "ay.nt"; nu: "ay.nu"; nv: "ay.nv"; nw: "ay.nw"; nx: "ay.nx"; ny: "ay.ny"; nz: "ay.nz"; oa: "ay.oa"; ob: "ay.ob"; oc: "ay.oc"; od: "ay.od"; oe: "ay.oe"; of: "ay.of"; og: "ay.og"; oh: "ay.oh"; oi: "ay.oi"; oj: "ay.oj"; ok: "ay.ok"; ol: "ay.ol"; om: "ay.om"; on: "ay.on"; oo: "ay.oo"; op: "ay.op"; oq: "ay.oq"; or: "ay.or"; os: "ay.os"; ot: "ay.ot"; ou: "ay.ou"; ov: "ay.ov"; ow: "ay.ow"; ox: "ay.ox"; oy: "ay.oy"; oz: "ay.oz"; pa: "ay.pa"; pb: "ay.pb"; pc: "ay.pc"; pd: "ay.pd"; pe: "ay.pe"; pf: "ay.pf"; pg: "ay.pg"; ph: "ay.ph"; pi: "ay.pi"; pj: "ay.pj"; pk: "ay.pk"; pl: "ay.pl"; pm: "ay.pm"; pn: "ay.pn"; po: "ay.po"; pp: "ay.pp"; pq: "ay.pq"; pr: "ay.pr"; ps: "ay.ps"; pt: "ay.pt"; pu: "ay.pu"; pv: "ay.pv"; pw: "ay.pw"; px: "ay.px"; py: "ay.py"; pz: "ay.pz"; qa: "ay.qa"; qb: "ay.qb"; qc: "ay.qc"; qd: "ay.qd"; qe: "ay.qe"; qf: "ay.qf"; qg: "ay.qg"; qh: "ay.qh"; qi: "ay.qi"; qj: "ay.qj"; qk: "ay.qk"; ql: "ay.ql"; qm: "ay.qm"; qn: "ay.qn"; qo: "ay.qo"; qp: "ay.qp"; qq: "ay.qq"; qr: "ay.qr"; qs: "ay.qs"; qt: "ay.qt"; qu: "ay.qu"; qv: "ay.qv"; qw: "ay.qw"; qx: "ay.qx"; qy: "ay.qy"; qz: "ay.qz"; ra: "ay.ra"; rb: "ay.rb"; rc: "ay.rc"; rd: "ay.rd"; re: "ay.re"; rf: "ay.rf"; rg: "ay.rg"; rh: "ay.rh"; ri: "ay.ri"; rj: "ay.rj"; rk: "ay.rk"; rl: "ay.rl"; rm: "ay.rm"; rn: "ay.rn"; ro: "ay.ro"; rp: "ay.rp"; rq: "ay.rq"; rr: "ay.rr"; rs: "ay.rs"; rt: "ay.rt"; ru: "ay.ru"; rv: "ay.rv"; rw: "ay.rw"; rx: "ay.rx"; ry: "ay.ry"; rz: "ay.rz"; sa: "ay.sa"; sb: "ay.sb"; sc: "ay.sc"; sd: "ay.sd"; se: "ay.se"; sf: "ay.sf"; sg: "ay.sg"; sh: "ay.sh"; si: "ay.si"; sj: "ay.sj"; sk: "ay.sk"; sl: "ay.sl"; sm: "ay.sm"; sn: "ay.sn"; so: "ay.so"; sp: "ay.sp"; sq: "ay.sq"; sr: "ay.sr"; ss: "ay.ss"; st: "ay.st"; su: "ay.su"; sv: "ay.sv"; sw: "ay.sw"; sx: "ay.sx"; sy: "ay.sy"; sz: "ay.sz"; ta: "ay.ta"; tb: "ay.tb"; tc: "ay.tc"; td: "ay.td"; te: "ay.te"; tf: "ay.tf"; tg: "ay.tg"; th: "ay.th"; ti: "ay.ti"; tj: "ay.tj"; tk: "ay.tk"; tl: "ay.tl"; tm: "ay.tm"; tn: "ay.tn"; to: "ay.to"; tp: "ay.tp"; tq: "ay.tq"; tr: "ay.tr"; ts: "ay.ts"; tt: "ay.tt"; tu: "ay.tu"; tv: "ay.tv"; tw: "ay.tw"; tx: "ay.tx"; ty: "ay.ty"; tz: "ay.tz"; ua: "ay.ua"; ub: "ay.ub"; uc: "ay.uc"; ud: "ay.ud"; ue: "ay.ue"; uf: "ay.uf"; ug: "ay.ug"; uh: "ay.uh"; ui: "ay.ui"; uj: "ay.uj"; uk: "ay.uk"; ul: "ay.ul"; um: "ay.um"; un: "ay.un"; uo: "ay.uo"; up: "ay.up"; uq: "ay.uq"; ur: "ay.ur"; us: "ay.us"; ut: "ay.ut"; uu: "ay.uu"; uv: "ay.uv"; uw: "ay.uw"; ux: "ay.ux"; uy: "ay.uy"; uz: "ay.uz"; va: "ay.va"; vb: "ay.vb"; vc: "ay.vc"; vd: "ay.vd"; ve: "ay.ve"; vf: "ay.vf"; vg: "ay.vg"; vh: "ay.vh"; vi: "ay.vi"; vj: "ay.vj"; vk: "ay.vk"; vl: "ay.vl"; vm: "ay.vm"; vn: "ay.vn"; vo: "ay.vo"; vp: "ay.vp"; vq: "ay.vq"; vr: "ay.vr"; vs: "ay.vs"; vt: "ay.vt"; vu: "ay.vu"; vv: "ay.vv"; vw: "ay.vw"; vx: "ay.vx"; vy: "ay.vy"; vz: "ay.vz"; wa: "ay.wa"; wb: "ay.wb"; wc: "ay.wc"; wd: "ay.wd"; we: "ay.we"; wf: "ay.wf"; wg: "ay.wg"; wh: "ay.wh"; wi: "ay.wi"; wj: "ay.wj"; wk: "ay.wk"; wl: "ay.wl"; wm: "ay.wm"; wn: "ay.wn"; wo: "ay.wo"; wp: "ay.wp"; wq: "ay.wq"; wr: "ay.wr"; ws: "ay.ws"; wt: "ay.wt"; wu: "ay.wu"; wv: "ay.wv"; ww: "ay.ww"; wx: "ay.wx"; wy: "ay.wy"; wz: "ay.wz"; xa: "ay.xa"; xb: "ay.xb"; xc: "ay.xc"; xd: "ay.xd"; xe: "ay.xe"; xf: "ay.xf"; xg: "ay.xg"; xh: "ay.xh"; xi: "ay.xi"; xj: "ay.xj"; xk: "ay.xk"; xl: "ay.xl"; xm: "ay.xm"; xn: "ay.xn"; xo: "ay.xo"; xp: "ay.xp"; xq: "ay.xq"; xr: "ay.xr"; xs: "ay.xs"; xt: "ay.xt"; xu: "ay.xu"; xv: "ay.xv"; xw: "ay.xw"; xx: "ay.xx"; xy: "ay.xy"; xz: "ay.xz"; ya: "ay.ya"; yb: "ay.yb"; yc: "ay.yc"; yd: "ay.yd"; ye: "ay.ye"; yf: "ay.yf"; yg: "ay.yg"; yh: "ay.yh"; yi: "ay.yi"; yj: "ay.yj"; yk: "ay.yk"; yl: "ay.yl"; ym: "ay.ym"; yn: "ay.yn"; yo: "ay.yo"; yp: "ay.yp"; yq: "ay.yq"; yr: "ay.yr"; ys: "ay.ys"; yt: "ay.yt"; yu: "ay.yu"; yv: "ay.yv"; yw: "ay.yw"; yx: "ay.yx"; yy: "ay.yy"; yz: "ay.yz"; za: "ay.za"; zb: "ay.zb"; zc: "ay.zc"; zd: "ay.zd"; ze: "ay.ze"; zf: "ay.zf"; zg: "ay.zg"; zh: "ay.zh"; zi: "ay.zi"; zj: "ay.zj"; zk: "ay.zk"; zl: "ay.zl"; zm: "ay.zm"; zn: "ay.zn"; zo: "ay.zo"; zp: "ay.zp"; zq: "ay.zq"; zr: "ay.zr"; zs: "ay.zs"; zt: "ay.zt"; zu: "ay.zu"; zv: "ay.zv"; zw: "ay.zw"; zx: "ay.zx"; zy: "ay.zy"; zz: "ay.zz"; }; az: { aa: "az.aa"; ab: "az.ab"; ac: "az.ac"; ad: "az.ad"; ae: "az.ae"; af: "az.af"; ag: "az.ag"; ah: "az.ah"; ai: "az.ai"; aj: "az.aj"; ak: "az.ak"; al: "az.al"; am: "az.am"; an: "az.an"; ao: "az.ao"; ap: "az.ap"; aq: "az.aq"; ar: "az.ar"; as: "az.as"; at: "az.at"; au: "az.au"; av: "az.av"; aw: "az.aw"; ax: "az.ax"; ay: "az.ay"; az: "az.az"; ba: "az.ba"; bb: "az.bb"; bc: "az.bc"; bd: "az.bd"; be: "az.be"; bf: "az.bf"; bg: "az.bg"; bh: "az.bh"; bi: "az.bi"; bj: "az.bj"; bk: "az.bk"; bl: "az.bl"; bm: "az.bm"; bn: "az.bn"; bo: "az.bo"; bp: "az.bp"; bq: "az.bq"; br: "az.br"; bs: "az.bs"; bt: "az.bt"; bu: "az.bu"; bv: "az.bv"; bw: "az.bw"; bx: "az.bx"; by: "az.by"; bz: "az.bz"; ca: "az.ca"; cb: "az.cb"; cc: "az.cc"; cd: "az.cd"; ce: "az.ce"; cf: "az.cf"; cg: "az.cg"; ch: "az.ch"; ci: "az.ci"; cj: "az.cj"; ck: "az.ck"; cl: "az.cl"; cm: "az.cm"; cn: "az.cn"; co: "az.co"; cp: "az.cp"; cq: "az.cq"; cr: "az.cr"; cs: "az.cs"; ct: "az.ct"; cu: "az.cu"; cv: "az.cv"; cw: "az.cw"; cx: "az.cx"; cy: "az.cy"; cz: "az.cz"; da: "az.da"; db: "az.db"; dc: "az.dc"; dd: "az.dd"; de: "az.de"; df: "az.df"; dg: "az.dg"; dh: "az.dh"; di: "az.di"; dj: "az.dj"; dk: "az.dk"; dl: "az.dl"; dm: "az.dm"; dn: "az.dn"; do: "az.do"; dp: "az.dp"; dq: "az.dq"; dr: "az.dr"; ds: "az.ds"; dt: "az.dt"; du: "az.du"; dv: "az.dv"; dw: "az.dw"; dx: "az.dx"; dy: "az.dy"; dz: "az.dz"; ea: "az.ea"; eb: "az.eb"; ec: "az.ec"; ed: "az.ed"; ee: "az.ee"; ef: "az.ef"; eg: "az.eg"; eh: "az.eh"; ei: "az.ei"; ej: "az.ej"; ek: "az.ek"; el: "az.el"; em: "az.em"; en: "az.en"; eo: "az.eo"; ep: "az.ep"; eq: "az.eq"; er: "az.er"; es: "az.es"; et: "az.et"; eu: "az.eu"; ev: "az.ev"; ew: "az.ew"; ex: "az.ex"; ey: "az.ey"; ez: "az.ez"; fa: "az.fa"; fb: "az.fb"; fc: "az.fc"; fd: "az.fd"; fe: "az.fe"; ff: "az.ff"; fg: "az.fg"; fh: "az.fh"; fi: "az.fi"; fj: "az.fj"; fk: "az.fk"; fl: "az.fl"; fm: "az.fm"; fn: "az.fn"; fo: "az.fo"; fp: "az.fp"; fq: "az.fq"; fr: "az.fr"; fs: "az.fs"; ft: "az.ft"; fu: "az.fu"; fv: "az.fv"; fw: "az.fw"; fx: "az.fx"; fy: "az.fy"; fz: "az.fz"; ga: "az.ga"; gb: "az.gb"; gc: "az.gc"; gd: "az.gd"; ge: "az.ge"; gf: "az.gf"; gg: "az.gg"; gh: "az.gh"; gi: "az.gi"; gj: "az.gj"; gk: "az.gk"; gl: "az.gl"; gm: "az.gm"; gn: "az.gn"; go: "az.go"; gp: "az.gp"; gq: "az.gq"; gr: "az.gr"; gs: "az.gs"; gt: "az.gt"; gu: "az.gu"; gv: "az.gv"; gw: "az.gw"; gx: "az.gx"; gy: "az.gy"; gz: "az.gz"; ha: "az.ha"; hb: "az.hb"; hc: "az.hc"; hd: "az.hd"; he: "az.he"; hf: "az.hf"; hg: "az.hg"; hh: "az.hh"; hi: "az.hi"; hj: "az.hj"; hk: "az.hk"; hl: "az.hl"; hm: "az.hm"; hn: "az.hn"; ho: "az.ho"; hp: "az.hp"; hq: "az.hq"; hr: "az.hr"; hs: "az.hs"; ht: "az.ht"; hu: "az.hu"; hv: "az.hv"; hw: "az.hw"; hx: "az.hx"; hy: "az.hy"; hz: "az.hz"; ia: "az.ia"; ib: "az.ib"; ic: "az.ic"; id: "az.id"; ie: "az.ie"; if: "az.if"; ig: "az.ig"; ih: "az.ih"; ii: "az.ii"; ij: "az.ij"; ik: "az.ik"; il: "az.il"; im: "az.im"; in: "az.in"; io: "az.io"; ip: "az.ip"; iq: "az.iq"; ir: "az.ir"; is: "az.is"; it: "az.it"; iu: "az.iu"; iv: "az.iv"; iw: "az.iw"; ix: "az.ix"; iy: "az.iy"; iz: "az.iz"; ja: "az.ja"; jb: "az.jb"; jc: "az.jc"; jd: "az.jd"; je: "az.je"; jf: "az.jf"; jg: "az.jg"; jh: "az.jh"; ji: "az.ji"; jj: "az.jj"; jk: "az.jk"; jl: "az.jl"; jm: "az.jm"; jn: "az.jn"; jo: "az.jo"; jp: "az.jp"; jq: "az.jq"; jr: "az.jr"; js: "az.js"; jt: "az.jt"; ju: "az.ju"; jv: "az.jv"; jw: "az.jw"; jx: "az.jx"; jy: "az.jy"; jz: "az.jz"; ka: "az.ka"; kb: "az.kb"; kc: "az.kc"; kd: "az.kd"; ke: "az.ke"; kf: "az.kf"; kg: "az.kg"; kh: "az.kh"; ki: "az.ki"; kj: "az.kj"; kk: "az.kk"; kl: "az.kl"; km: "az.km"; kn: "az.kn"; ko: "az.ko"; kp: "az.kp"; kq: "az.kq"; kr: "az.kr"; ks: "az.ks"; kt: "az.kt"; ku: "az.ku"; kv: "az.kv"; kw: "az.kw"; kx: "az.kx"; ky: "az.ky"; kz: "az.kz"; la: "az.la"; lb: "az.lb"; lc: "az.lc"; ld: "az.ld"; le: "az.le"; lf: "az.lf"; lg: "az.lg"; lh: "az.lh"; li: "az.li"; lj: "az.lj"; lk: "az.lk"; ll: "az.ll"; lm: "az.lm"; ln: "az.ln"; lo: "az.lo"; lp: "az.lp"; lq: "az.lq"; lr: "az.lr"; ls: "az.ls"; lt: "az.lt"; lu: "az.lu"; lv: "az.lv"; lw: "az.lw"; lx: "az.lx"; ly: "az.ly"; lz: "az.lz"; ma: "az.ma"; mb: "az.mb"; mc: "az.mc"; md: "az.md"; me: "az.me"; mf: "az.mf"; mg: "az.mg"; mh: "az.mh"; mi: "az.mi"; mj: "az.mj"; mk: "az.mk"; ml: "az.ml"; mm: "az.mm"; mn: "az.mn"; mo: "az.mo"; mp: "az.mp"; mq: "az.mq"; mr: "az.mr"; ms: "az.ms"; mt: "az.mt"; mu: "az.mu"; mv: "az.mv"; mw: "az.mw"; mx: "az.mx"; my: "az.my"; mz: "az.mz"; na: "az.na"; nb: "az.nb"; nc: "az.nc"; nd: "az.nd"; ne: "az.ne"; nf: "az.nf"; ng: "az.ng"; nh: "az.nh"; ni: "az.ni"; nj: "az.nj"; nk: "az.nk"; nl: "az.nl"; nm: "az.nm"; nn: "az.nn"; no: "az.no"; np: "az.np"; nq: "az.nq"; nr: "az.nr"; ns: "az.ns"; nt: "az.nt"; nu: "az.nu"; nv: "az.nv"; nw: "az.nw"; nx: "az.nx"; ny: "az.ny"; nz: "az.nz"; oa: "az.oa"; ob: "az.ob"; oc: "az.oc"; od: "az.od"; oe: "az.oe"; of: "az.of"; og: "az.og"; oh: "az.oh"; oi: "az.oi"; oj: "az.oj"; ok: "az.ok"; ol: "az.ol"; om: "az.om"; on: "az.on"; oo: "az.oo"; op: "az.op"; oq: "az.oq"; or: "az.or"; os: "az.os"; ot: "az.ot"; ou: "az.ou"; ov: "az.ov"; ow: "az.ow"; ox: "az.ox"; oy: "az.oy"; oz: "az.oz"; pa: "az.pa"; pb: "az.pb"; pc: "az.pc"; pd: "az.pd"; pe: "az.pe"; pf: "az.pf"; pg: "az.pg"; ph: "az.ph"; pi: "az.pi"; pj: "az.pj"; pk: "az.pk"; pl: "az.pl"; pm: "az.pm"; pn: "az.pn"; po: "az.po"; pp: "az.pp"; pq: "az.pq"; pr: "az.pr"; ps: "az.ps"; pt: "az.pt"; pu: "az.pu"; pv: "az.pv"; pw: "az.pw"; px: "az.px"; py: "az.py"; pz: "az.pz"; qa: "az.qa"; qb: "az.qb"; qc: "az.qc"; qd: "az.qd"; qe: "az.qe"; qf: "az.qf"; qg: "az.qg"; qh: "az.qh"; qi: "az.qi"; qj: "az.qj"; qk: "az.qk"; ql: "az.ql"; qm: "az.qm"; qn: "az.qn"; qo: "az.qo"; qp: "az.qp"; qq: "az.qq"; qr: "az.qr"; qs: "az.qs"; qt: "az.qt"; qu: "az.qu"; qv: "az.qv"; qw: "az.qw"; qx: "az.qx"; qy: "az.qy"; qz: "az.qz"; ra: "az.ra"; rb: "az.rb"; rc: "az.rc"; rd: "az.rd"; re: "az.re"; rf: "az.rf"; rg: "az.rg"; rh: "az.rh"; ri: "az.ri"; rj: "az.rj"; rk: "az.rk"; rl: "az.rl"; rm: "az.rm"; rn: "az.rn"; ro: "az.ro"; rp: "az.rp"; rq: "az.rq"; rr: "az.rr"; rs: "az.rs"; rt: "az.rt"; ru: "az.ru"; rv: "az.rv"; rw: "az.rw"; rx: "az.rx"; ry: "az.ry"; rz: "az.rz"; sa: "az.sa"; sb: "az.sb"; sc: "az.sc"; sd: "az.sd"; se: "az.se"; sf: "az.sf"; sg: "az.sg"; sh: "az.sh"; si: "az.si"; sj: "az.sj"; sk: "az.sk"; sl: "az.sl"; sm: "az.sm"; sn: "az.sn"; so: "az.so"; sp: "az.sp"; sq: "az.sq"; sr: "az.sr"; ss: "az.ss"; st: "az.st"; su: "az.su"; sv: "az.sv"; sw: "az.sw"; sx: "az.sx"; sy: "az.sy"; sz: "az.sz"; ta: "az.ta"; tb: "az.tb"; tc: "az.tc"; td: "az.td"; te: "az.te"; tf: "az.tf"; tg: "az.tg"; th: "az.th"; ti: "az.ti"; tj: "az.tj"; tk: "az.tk"; tl: "az.tl"; tm: "az.tm"; tn: "az.tn"; to: "az.to"; tp: "az.tp"; tq: "az.tq"; tr: "az.tr"; ts: "az.ts"; tt: "az.tt"; tu: "az.tu"; tv: "az.tv"; tw: "az.tw"; tx: "az.tx"; ty: "az.ty"; tz: "az.tz"; ua: "az.ua"; ub: "az.ub"; uc: "az.uc"; ud: "az.ud"; ue: "az.ue"; uf: "az.uf"; ug: "az.ug"; uh: "az.uh"; ui: "az.ui"; uj: "az.uj"; uk: "az.uk"; ul: "az.ul"; um: "az.um"; un: "az.un"; uo: "az.uo"; up: "az.up"; uq: "az.uq"; ur: "az.ur"; us: "az.us"; ut: "az.ut"; uu: "az.uu"; uv: "az.uv"; uw: "az.uw"; ux: "az.ux"; uy: "az.uy"; uz: "az.uz"; va: "az.va"; vb: "az.vb"; vc: "az.vc"; vd: "az.vd"; ve: "az.ve"; vf: "az.vf"; vg: "az.vg"; vh: "az.vh"; vi: "az.vi"; vj: "az.vj"; vk: "az.vk"; vl: "az.vl"; vm: "az.vm"; vn: "az.vn"; vo: "az.vo"; vp: "az.vp"; vq: "az.vq"; vr: "az.vr"; vs: "az.vs"; vt: "az.vt"; vu: "az.vu"; vv: "az.vv"; vw: "az.vw"; vx: "az.vx"; vy: "az.vy"; vz: "az.vz"; wa: "az.wa"; wb: "az.wb"; wc: "az.wc"; wd: "az.wd"; we: "az.we"; wf: "az.wf"; wg: "az.wg"; wh: "az.wh"; wi: "az.wi"; wj: "az.wj"; wk: "az.wk"; wl: "az.wl"; wm: "az.wm"; wn: "az.wn"; wo: "az.wo"; wp: "az.wp"; wq: "az.wq"; wr: "az.wr"; ws: "az.ws"; wt: "az.wt"; wu: "az.wu"; wv: "az.wv"; ww: "az.ww"; wx: "az.wx"; wy: "az.wy"; wz: "az.wz"; xa: "az.xa"; xb: "az.xb"; xc: "az.xc"; xd: "az.xd"; xe: "az.xe"; xf: "az.xf"; xg: "az.xg"; xh: "az.xh"; xi: "az.xi"; xj: "az.xj"; xk: "az.xk"; xl: "az.xl"; xm: "az.xm"; xn: "az.xn"; xo: "az.xo"; xp: "az.xp"; xq: "az.xq"; xr: "az.xr"; xs: "az.xs"; xt: "az.xt"; xu: "az.xu"; xv: "az.xv"; xw: "az.xw"; xx: "az.xx"; xy: "az.xy"; xz: "az.xz"; ya: "az.ya"; yb: "az.yb"; yc: "az.yc"; yd: "az.yd"; ye: "az.ye"; yf: "az.yf"; yg: "az.yg"; yh: "az.yh"; yi: "az.yi"; yj: "az.yj"; yk: "az.yk"; yl: "az.yl"; ym: "az.ym"; yn: "az.yn"; yo: "az.yo"; yp: "az.yp"; yq: "az.yq"; yr: "az.yr"; ys: "az.ys"; yt: "az.yt"; yu: "az.yu"; yv: "az.yv"; yw: "az.yw"; yx: "az.yx"; yy: "az.yy"; yz: "az.yz"; za: "az.za"; zb: "az.zb"; zc: "az.zc"; zd: "az.zd"; ze: "az.ze"; zf: "az.zf"; zg: "az.zg"; zh: "az.zh"; zi: "az.zi"; zj: "az.zj"; zk: "az.zk"; zl: "az.zl"; zm: "az.zm"; zn: "az.zn"; zo: "az.zo"; zp: "az.zp"; zq: "az.zq"; zr: "az.zr"; zs: "az.zs"; zt: "az.zt"; zu: "az.zu"; zv: "az.zv"; zw: "az.zw"; zx: "az.zx"; zy: "az.zy"; zz: "az.zz"; }; ba: { aa: "ba.aa"; ab: "ba.ab"; ac: "ba.ac"; ad: "ba.ad"; ae: "ba.ae"; af: "ba.af"; ag: "ba.ag"; ah: "ba.ah"; ai: "ba.ai"; aj: "ba.aj"; ak: "ba.ak"; al: "ba.al"; am: "ba.am"; an: "ba.an"; ao: "ba.ao"; ap: "ba.ap"; aq: "ba.aq"; ar: "ba.ar"; as: "ba.as"; at: "ba.at"; au: "ba.au"; av: "ba.av"; aw: "ba.aw"; ax: "ba.ax"; ay: "ba.ay"; az: "ba.az"; ba: "ba.ba"; bb: "ba.bb"; bc: "ba.bc"; bd: "ba.bd"; be: "ba.be"; bf: "ba.bf"; bg: "ba.bg"; bh: "ba.bh"; bi: "ba.bi"; bj: "ba.bj"; bk: "ba.bk"; bl: "ba.bl"; bm: "ba.bm"; bn: "ba.bn"; bo: "ba.bo"; bp: "ba.bp"; bq: "ba.bq"; br: "ba.br"; bs: "ba.bs"; bt: "ba.bt"; bu: "ba.bu"; bv: "ba.bv"; bw: "ba.bw"; bx: "ba.bx"; by: "ba.by"; bz: "ba.bz"; ca: "ba.ca"; cb: "ba.cb"; cc: "ba.cc"; cd: "ba.cd"; ce: "ba.ce"; cf: "ba.cf"; cg: "ba.cg"; ch: "ba.ch"; ci: "ba.ci"; cj: "ba.cj"; ck: "ba.ck"; cl: "ba.cl"; cm: "ba.cm"; cn: "ba.cn"; co: "ba.co"; cp: "ba.cp"; cq: "ba.cq"; cr: "ba.cr"; cs: "ba.cs"; ct: "ba.ct"; cu: "ba.cu"; cv: "ba.cv"; cw: "ba.cw"; cx: "ba.cx"; cy: "ba.cy"; cz: "ba.cz"; da: "ba.da"; db: "ba.db"; dc: "ba.dc"; dd: "ba.dd"; de: "ba.de"; df: "ba.df"; dg: "ba.dg"; dh: "ba.dh"; di: "ba.di"; dj: "ba.dj"; dk: "ba.dk"; dl: "ba.dl"; dm: "ba.dm"; dn: "ba.dn"; do: "ba.do"; dp: "ba.dp"; dq: "ba.dq"; dr: "ba.dr"; ds: "ba.ds"; dt: "ba.dt"; du: "ba.du"; dv: "ba.dv"; dw: "ba.dw"; dx: "ba.dx"; dy: "ba.dy"; dz: "ba.dz"; ea: "ba.ea"; eb: "ba.eb"; ec: "ba.ec"; ed: "ba.ed"; ee: "ba.ee"; ef: "ba.ef"; eg: "ba.eg"; eh: "ba.eh"; ei: "ba.ei"; ej: "ba.ej"; ek: "ba.ek"; el: "ba.el"; em: "ba.em"; en: "ba.en"; eo: "ba.eo"; ep: "ba.ep"; eq: "ba.eq"; er: "ba.er"; es: "ba.es"; et: "ba.et"; eu: "ba.eu"; ev: "ba.ev"; ew: "ba.ew"; ex: "ba.ex"; ey: "ba.ey"; ez: "ba.ez"; fa: "ba.fa"; fb: "ba.fb"; fc: "ba.fc"; fd: "ba.fd"; fe: "ba.fe"; ff: "ba.ff"; fg: "ba.fg"; fh: "ba.fh"; fi: "ba.fi"; fj: "ba.fj"; fk: "ba.fk"; fl: "ba.fl"; fm: "ba.fm"; fn: "ba.fn"; fo: "ba.fo"; fp: "ba.fp"; fq: "ba.fq"; fr: "ba.fr"; fs: "ba.fs"; ft: "ba.ft"; fu: "ba.fu"; fv: "ba.fv"; fw: "ba.fw"; fx: "ba.fx"; fy: "ba.fy"; fz: "ba.fz"; ga: "ba.ga"; gb: "ba.gb"; gc: "ba.gc"; gd: "ba.gd"; ge: "ba.ge"; gf: "ba.gf"; gg: "ba.gg"; gh: "ba.gh"; gi: "ba.gi"; gj: "ba.gj"; gk: "ba.gk"; gl: "ba.gl"; gm: "ba.gm"; gn: "ba.gn"; go: "ba.go"; gp: "ba.gp"; gq: "ba.gq"; gr: "ba.gr"; gs: "ba.gs"; gt: "ba.gt"; gu: "ba.gu"; gv: "ba.gv"; gw: "ba.gw"; gx: "ba.gx"; gy: "ba.gy"; gz: "ba.gz"; ha: "ba.ha"; hb: "ba.hb"; hc: "ba.hc"; hd: "ba.hd"; he: "ba.he"; hf: "ba.hf"; hg: "ba.hg"; hh: "ba.hh"; hi: "ba.hi"; hj: "ba.hj"; hk: "ba.hk"; hl: "ba.hl"; hm: "ba.hm"; hn: "ba.hn"; ho: "ba.ho"; hp: "ba.hp"; hq: "ba.hq"; hr: "ba.hr"; hs: "ba.hs"; ht: "ba.ht"; hu: "ba.hu"; hv: "ba.hv"; hw: "ba.hw"; hx: "ba.hx"; hy: "ba.hy"; hz: "ba.hz"; ia: "ba.ia"; ib: "ba.ib"; ic: "ba.ic"; id: "ba.id"; ie: "ba.ie"; if: "ba.if"; ig: "ba.ig"; ih: "ba.ih"; ii: "ba.ii"; ij: "ba.ij"; ik: "ba.ik"; il: "ba.il"; im: "ba.im"; in: "ba.in"; io: "ba.io"; ip: "ba.ip"; iq: "ba.iq"; ir: "ba.ir"; is: "ba.is"; it: "ba.it"; iu: "ba.iu"; iv: "ba.iv"; iw: "ba.iw"; ix: "ba.ix"; iy: "ba.iy"; iz: "ba.iz"; ja: "ba.ja"; jb: "ba.jb"; jc: "ba.jc"; jd: "ba.jd"; je: "ba.je"; jf: "ba.jf"; jg: "ba.jg"; jh: "ba.jh"; ji: "ba.ji"; jj: "ba.jj"; jk: "ba.jk"; jl: "ba.jl"; jm: "ba.jm"; jn: "ba.jn"; jo: "ba.jo"; jp: "ba.jp"; jq: "ba.jq"; jr: "ba.jr"; js: "ba.js"; jt: "ba.jt"; ju: "ba.ju"; jv: "ba.jv"; jw: "ba.jw"; jx: "ba.jx"; jy: "ba.jy"; jz: "ba.jz"; ka: "ba.ka"; kb: "ba.kb"; kc: "ba.kc"; kd: "ba.kd"; ke: "ba.ke"; kf: "ba.kf"; kg: "ba.kg"; kh: "ba.kh"; ki: "ba.ki"; kj: "ba.kj"; kk: "ba.kk"; kl: "ba.kl"; km: "ba.km"; kn: "ba.kn"; ko: "ba.ko"; kp: "ba.kp"; kq: "ba.kq"; kr: "ba.kr"; ks: "ba.ks"; kt: "ba.kt"; ku: "ba.ku"; kv: "ba.kv"; kw: "ba.kw"; kx: "ba.kx"; ky: "ba.ky"; kz: "ba.kz"; la: "ba.la"; lb: "ba.lb"; lc: "ba.lc"; ld: "ba.ld"; le: "ba.le"; lf: "ba.lf"; lg: "ba.lg"; lh: "ba.lh"; li: "ba.li"; lj: "ba.lj"; lk: "ba.lk"; ll: "ba.ll"; lm: "ba.lm"; ln: "ba.ln"; lo: "ba.lo"; lp: "ba.lp"; lq: "ba.lq"; lr: "ba.lr"; ls: "ba.ls"; lt: "ba.lt"; lu: "ba.lu"; lv: "ba.lv"; lw: "ba.lw"; lx: "ba.lx"; ly: "ba.ly"; lz: "ba.lz"; ma: "ba.ma"; mb: "ba.mb"; mc: "ba.mc"; md: "ba.md"; me: "ba.me"; mf: "ba.mf"; mg: "ba.mg"; mh: "ba.mh"; mi: "ba.mi"; mj: "ba.mj"; mk: "ba.mk"; ml: "ba.ml"; mm: "ba.mm"; mn: "ba.mn"; mo: "ba.mo"; mp: "ba.mp"; mq: "ba.mq"; mr: "ba.mr"; ms: "ba.ms"; mt: "ba.mt"; mu: "ba.mu"; mv: "ba.mv"; mw: "ba.mw"; mx: "ba.mx"; my: "ba.my"; mz: "ba.mz"; na: "ba.na"; nb: "ba.nb"; nc: "ba.nc"; nd: "ba.nd"; ne: "ba.ne"; nf: "ba.nf"; ng: "ba.ng"; nh: "ba.nh"; ni: "ba.ni"; nj: "ba.nj"; nk: "ba.nk"; nl: "ba.nl"; nm: "ba.nm"; nn: "ba.nn"; no: "ba.no"; np: "ba.np"; nq: "ba.nq"; nr: "ba.nr"; ns: "ba.ns"; nt: "ba.nt"; nu: "ba.nu"; nv: "ba.nv"; nw: "ba.nw"; nx: "ba.nx"; ny: "ba.ny"; nz: "ba.nz"; oa: "ba.oa"; ob: "ba.ob"; oc: "ba.oc"; od: "ba.od"; oe: "ba.oe"; of: "ba.of"; og: "ba.og"; oh: "ba.oh"; oi: "ba.oi"; oj: "ba.oj"; ok: "ba.ok"; ol: "ba.ol"; om: "ba.om"; on: "ba.on"; oo: "ba.oo"; op: "ba.op"; oq: "ba.oq"; or: "ba.or"; os: "ba.os"; ot: "ba.ot"; ou: "ba.ou"; ov: "ba.ov"; ow: "ba.ow"; ox: "ba.ox"; oy: "ba.oy"; oz: "ba.oz"; pa: "ba.pa"; pb: "ba.pb"; pc: "ba.pc"; pd: "ba.pd"; pe: "ba.pe"; pf: "ba.pf"; pg: "ba.pg"; ph: "ba.ph"; pi: "ba.pi"; pj: "ba.pj"; pk: "ba.pk"; pl: "ba.pl"; pm: "ba.pm"; pn: "ba.pn"; po: "ba.po"; pp: "ba.pp"; pq: "ba.pq"; pr: "ba.pr"; ps: "ba.ps"; pt: "ba.pt"; pu: "ba.pu"; pv: "ba.pv"; pw: "ba.pw"; px: "ba.px"; py: "ba.py"; pz: "ba.pz"; qa: "ba.qa"; qb: "ba.qb"; qc: "ba.qc"; qd: "ba.qd"; qe: "ba.qe"; qf: "ba.qf"; qg: "ba.qg"; qh: "ba.qh"; qi: "ba.qi"; qj: "ba.qj"; qk: "ba.qk"; ql: "ba.ql"; qm: "ba.qm"; qn: "ba.qn"; qo: "ba.qo"; qp: "ba.qp"; qq: "ba.qq"; qr: "ba.qr"; qs: "ba.qs"; qt: "ba.qt"; qu: "ba.qu"; qv: "ba.qv"; qw: "ba.qw"; qx: "ba.qx"; qy: "ba.qy"; qz: "ba.qz"; ra: "ba.ra"; rb: "ba.rb"; rc: "ba.rc"; rd: "ba.rd"; re: "ba.re"; rf: "ba.rf"; rg: "ba.rg"; rh: "ba.rh"; ri: "ba.ri"; rj: "ba.rj"; rk: "ba.rk"; rl: "ba.rl"; rm: "ba.rm"; rn: "ba.rn"; ro: "ba.ro"; rp: "ba.rp"; rq: "ba.rq"; rr: "ba.rr"; rs: "ba.rs"; rt: "ba.rt"; ru: "ba.ru"; rv: "ba.rv"; rw: "ba.rw"; rx: "ba.rx"; ry: "ba.ry"; rz: "ba.rz"; sa: "ba.sa"; sb: "ba.sb"; sc: "ba.sc"; sd: "ba.sd"; se: "ba.se"; sf: "ba.sf"; sg: "ba.sg"; sh: "ba.sh"; si: "ba.si"; sj: "ba.sj"; sk: "ba.sk"; sl: "ba.sl"; sm: "ba.sm"; sn: "ba.sn"; so: "ba.so"; sp: "ba.sp"; sq: "ba.sq"; sr: "ba.sr"; ss: "ba.ss"; st: "ba.st"; su: "ba.su"; sv: "ba.sv"; sw: "ba.sw"; sx: "ba.sx"; sy: "ba.sy"; sz: "ba.sz"; ta: "ba.ta"; tb: "ba.tb"; tc: "ba.tc"; td: "ba.td"; te: "ba.te"; tf: "ba.tf"; tg: "ba.tg"; th: "ba.th"; ti: "ba.ti"; tj: "ba.tj"; tk: "ba.tk"; tl: "ba.tl"; tm: "ba.tm"; tn: "ba.tn"; to: "ba.to"; tp: "ba.tp"; tq: "ba.tq"; tr: "ba.tr"; ts: "ba.ts"; tt: "ba.tt"; tu: "ba.tu"; tv: "ba.tv"; tw: "ba.tw"; tx: "ba.tx"; ty: "ba.ty"; tz: "ba.tz"; ua: "ba.ua"; ub: "ba.ub"; uc: "ba.uc"; ud: "ba.ud"; ue: "ba.ue"; uf: "ba.uf"; ug: "ba.ug"; uh: "ba.uh"; ui: "ba.ui"; uj: "ba.uj"; uk: "ba.uk"; ul: "ba.ul"; um: "ba.um"; un: "ba.un"; uo: "ba.uo"; up: "ba.up"; uq: "ba.uq"; ur: "ba.ur"; us: "ba.us"; ut: "ba.ut"; uu: "ba.uu"; uv: "ba.uv"; uw: "ba.uw"; ux: "ba.ux"; uy: "ba.uy"; uz: "ba.uz"; va: "ba.va"; vb: "ba.vb"; vc: "ba.vc"; vd: "ba.vd"; ve: "ba.ve"; vf: "ba.vf"; vg: "ba.vg"; vh: "ba.vh"; vi: "ba.vi"; vj: "ba.vj"; vk: "ba.vk"; vl: "ba.vl"; vm: "ba.vm"; vn: "ba.vn"; vo: "ba.vo"; vp: "ba.vp"; vq: "ba.vq"; vr: "ba.vr"; vs: "ba.vs"; vt: "ba.vt"; vu: "ba.vu"; vv: "ba.vv"; vw: "ba.vw"; vx: "ba.vx"; vy: "ba.vy"; vz: "ba.vz"; wa: "ba.wa"; wb: "ba.wb"; wc: "ba.wc"; wd: "ba.wd"; we: "ba.we"; wf: "ba.wf"; wg: "ba.wg"; wh: "ba.wh"; wi: "ba.wi"; wj: "ba.wj"; wk: "ba.wk"; wl: "ba.wl"; wm: "ba.wm"; wn: "ba.wn"; wo: "ba.wo"; wp: "ba.wp"; wq: "ba.wq"; wr: "ba.wr"; ws: "ba.ws"; wt: "ba.wt"; wu: "ba.wu"; wv: "ba.wv"; ww: "ba.ww"; wx: "ba.wx"; wy: "ba.wy"; wz: "ba.wz"; xa: "ba.xa"; xb: "ba.xb"; xc: "ba.xc"; xd: "ba.xd"; xe: "ba.xe"; xf: "ba.xf"; xg: "ba.xg"; xh: "ba.xh"; xi: "ba.xi"; xj: "ba.xj"; xk: "ba.xk"; xl: "ba.xl"; xm: "ba.xm"; xn: "ba.xn"; xo: "ba.xo"; xp: "ba.xp"; xq: "ba.xq"; xr: "ba.xr"; xs: "ba.xs"; xt: "ba.xt"; xu: "ba.xu"; xv: "ba.xv"; xw: "ba.xw"; xx: "ba.xx"; xy: "ba.xy"; xz: "ba.xz"; ya: "ba.ya"; yb: "ba.yb"; yc: "ba.yc"; yd: "ba.yd"; ye: "ba.ye"; yf: "ba.yf"; yg: "ba.yg"; yh: "ba.yh"; yi: "ba.yi"; yj: "ba.yj"; yk: "ba.yk"; yl: "ba.yl"; ym: "ba.ym"; yn: "ba.yn"; yo: "ba.yo"; yp: "ba.yp"; yq: "ba.yq"; yr: "ba.yr"; ys: "ba.ys"; yt: "ba.yt"; yu: "ba.yu"; yv: "ba.yv"; yw: "ba.yw"; yx: "ba.yx"; yy: "ba.yy"; yz: "ba.yz"; za: "ba.za"; zb: "ba.zb"; zc: "ba.zc"; zd: "ba.zd"; ze: "ba.ze"; zf: "ba.zf"; zg: "ba.zg"; zh: "ba.zh"; zi: "ba.zi"; zj: "ba.zj"; zk: "ba.zk"; zl: "ba.zl"; zm: "ba.zm"; zn: "ba.zn"; zo: "ba.zo"; zp: "ba.zp"; zq: "ba.zq"; zr: "ba.zr"; zs: "ba.zs"; zt: "ba.zt"; zu: "ba.zu"; zv: "ba.zv"; zw: "ba.zw"; zx: "ba.zx"; zy: "ba.zy"; zz: "ba.zz"; }; bb: { aa: "bb.aa"; ab: "bb.ab"; ac: "bb.ac"; ad: "bb.ad"; ae: "bb.ae"; af: "bb.af"; ag: "bb.ag"; ah: "bb.ah"; ai: "bb.ai"; aj: "bb.aj"; ak: "bb.ak"; al: "bb.al"; am: "bb.am"; an: "bb.an"; ao: "bb.ao"; ap: "bb.ap"; aq: "bb.aq"; ar: "bb.ar"; as: "bb.as"; at: "bb.at"; au: "bb.au"; av: "bb.av"; aw: "bb.aw"; ax: "bb.ax"; ay: "bb.ay"; az: "bb.az"; ba: "bb.ba"; bb: "bb.bb"; bc: "bb.bc"; bd: "bb.bd"; be: "bb.be"; bf: "bb.bf"; bg: "bb.bg"; bh: "bb.bh"; bi: "bb.bi"; bj: "bb.bj"; bk: "bb.bk"; bl: "bb.bl"; bm: "bb.bm"; bn: "bb.bn"; bo: "bb.bo"; bp: "bb.bp"; bq: "bb.bq"; br: "bb.br"; bs: "bb.bs"; bt: "bb.bt"; bu: "bb.bu"; bv: "bb.bv"; bw: "bb.bw"; bx: "bb.bx"; by: "bb.by"; bz: "bb.bz"; ca: "bb.ca"; cb: "bb.cb"; cc: "bb.cc"; cd: "bb.cd"; ce: "bb.ce"; cf: "bb.cf"; cg: "bb.cg"; ch: "bb.ch"; ci: "bb.ci"; cj: "bb.cj"; ck: "bb.ck"; cl: "bb.cl"; cm: "bb.cm"; cn: "bb.cn"; co: "bb.co"; cp: "bb.cp"; cq: "bb.cq"; cr: "bb.cr"; cs: "bb.cs"; ct: "bb.ct"; cu: "bb.cu"; cv: "bb.cv"; cw: "bb.cw"; cx: "bb.cx"; cy: "bb.cy"; cz: "bb.cz"; da: "bb.da"; db: "bb.db"; dc: "bb.dc"; dd: "bb.dd"; de: "bb.de"; df: "bb.df"; dg: "bb.dg"; dh: "bb.dh"; di: "bb.di"; dj: "bb.dj"; dk: "bb.dk"; dl: "bb.dl"; dm: "bb.dm"; dn: "bb.dn"; do: "bb.do"; dp: "bb.dp"; dq: "bb.dq"; dr: "bb.dr"; ds: "bb.ds"; dt: "bb.dt"; du: "bb.du"; dv: "bb.dv"; dw: "bb.dw"; dx: "bb.dx"; dy: "bb.dy"; dz: "bb.dz"; ea: "bb.ea"; eb: "bb.eb"; ec: "bb.ec"; ed: "bb.ed"; ee: "bb.ee"; ef: "bb.ef"; eg: "bb.eg"; eh: "bb.eh"; ei: "bb.ei"; ej: "bb.ej"; ek: "bb.ek"; el: "bb.el"; em: "bb.em"; en: "bb.en"; eo: "bb.eo"; ep: "bb.ep"; eq: "bb.eq"; er: "bb.er"; es: "bb.es"; et: "bb.et"; eu: "bb.eu"; ev: "bb.ev"; ew: "bb.ew"; ex: "bb.ex"; ey: "bb.ey"; ez: "bb.ez"; fa: "bb.fa"; fb: "bb.fb"; fc: "bb.fc"; fd: "bb.fd"; fe: "bb.fe"; ff: "bb.ff"; fg: "bb.fg"; fh: "bb.fh"; fi: "bb.fi"; fj: "bb.fj"; fk: "bb.fk"; fl: "bb.fl"; fm: "bb.fm"; fn: "bb.fn"; fo: "bb.fo"; fp: "bb.fp"; fq: "bb.fq"; fr: "bb.fr"; fs: "bb.fs"; ft: "bb.ft"; fu: "bb.fu"; fv: "bb.fv"; fw: "bb.fw"; fx: "bb.fx"; fy: "bb.fy"; fz: "bb.fz"; ga: "bb.ga"; gb: "bb.gb"; gc: "bb.gc"; gd: "bb.gd"; ge: "bb.ge"; gf: "bb.gf"; gg: "bb.gg"; gh: "bb.gh"; gi: "bb.gi"; gj: "bb.gj"; gk: "bb.gk"; gl: "bb.gl"; gm: "bb.gm"; gn: "bb.gn"; go: "bb.go"; gp: "bb.gp"; gq: "bb.gq"; gr: "bb.gr"; gs: "bb.gs"; gt: "bb.gt"; gu: "bb.gu"; gv: "bb.gv"; gw: "bb.gw"; gx: "bb.gx"; gy: "bb.gy"; gz: "bb.gz"; ha: "bb.ha"; hb: "bb.hb"; hc: "bb.hc"; hd: "bb.hd"; he: "bb.he"; hf: "bb.hf"; hg: "bb.hg"; hh: "bb.hh"; hi: "bb.hi"; hj: "bb.hj"; hk: "bb.hk"; hl: "bb.hl"; hm: "bb.hm"; hn: "bb.hn"; ho: "bb.ho"; hp: "bb.hp"; hq: "bb.hq"; hr: "bb.hr"; hs: "bb.hs"; ht: "bb.ht"; hu: "bb.hu"; hv: "bb.hv"; hw: "bb.hw"; hx: "bb.hx"; hy: "bb.hy"; hz: "bb.hz"; ia: "bb.ia"; ib: "bb.ib"; ic: "bb.ic"; id: "bb.id"; ie: "bb.ie"; if: "bb.if"; ig: "bb.ig"; ih: "bb.ih"; ii: "bb.ii"; ij: "bb.ij"; ik: "bb.ik"; il: "bb.il"; im: "bb.im"; in: "bb.in"; io: "bb.io"; ip: "bb.ip"; iq: "bb.iq"; ir: "bb.ir"; is: "bb.is"; it: "bb.it"; iu: "bb.iu"; iv: "bb.iv"; iw: "bb.iw"; ix: "bb.ix"; iy: "bb.iy"; iz: "bb.iz"; ja: "bb.ja"; jb: "bb.jb"; jc: "bb.jc"; jd: "bb.jd"; je: "bb.je"; jf: "bb.jf"; jg: "bb.jg"; jh: "bb.jh"; ji: "bb.ji"; jj: "bb.jj"; jk: "bb.jk"; jl: "bb.jl"; jm: "bb.jm"; jn: "bb.jn"; jo: "bb.jo"; jp: "bb.jp"; jq: "bb.jq"; jr: "bb.jr"; js: "bb.js"; jt: "bb.jt"; ju: "bb.ju"; jv: "bb.jv"; jw: "bb.jw"; jx: "bb.jx"; jy: "bb.jy"; jz: "bb.jz"; ka: "bb.ka"; kb: "bb.kb"; kc: "bb.kc"; kd: "bb.kd"; ke: "bb.ke"; kf: "bb.kf"; kg: "bb.kg"; kh: "bb.kh"; ki: "bb.ki"; kj: "bb.kj"; kk: "bb.kk"; kl: "bb.kl"; km: "bb.km"; kn: "bb.kn"; ko: "bb.ko"; kp: "bb.kp"; kq: "bb.kq"; kr: "bb.kr"; ks: "bb.ks"; kt: "bb.kt"; ku: "bb.ku"; kv: "bb.kv"; kw: "bb.kw"; kx: "bb.kx"; ky: "bb.ky"; kz: "bb.kz"; la: "bb.la"; lb: "bb.lb"; lc: "bb.lc"; ld: "bb.ld"; le: "bb.le"; lf: "bb.lf"; lg: "bb.lg"; lh: "bb.lh"; li: "bb.li"; lj: "bb.lj"; lk: "bb.lk"; ll: "bb.ll"; lm: "bb.lm"; ln: "bb.ln"; lo: "bb.lo"; lp: "bb.lp"; lq: "bb.lq"; lr: "bb.lr"; ls: "bb.ls"; lt: "bb.lt"; lu: "bb.lu"; lv: "bb.lv"; lw: "bb.lw"; lx: "bb.lx"; ly: "bb.ly"; lz: "bb.lz"; ma: "bb.ma"; mb: "bb.mb"; mc: "bb.mc"; md: "bb.md"; me: "bb.me"; mf: "bb.mf"; mg: "bb.mg"; mh: "bb.mh"; mi: "bb.mi"; mj: "bb.mj"; mk: "bb.mk"; ml: "bb.ml"; mm: "bb.mm"; mn: "bb.mn"; mo: "bb.mo"; mp: "bb.mp"; mq: "bb.mq"; mr: "bb.mr"; ms: "bb.ms"; mt: "bb.mt"; mu: "bb.mu"; mv: "bb.mv"; mw: "bb.mw"; mx: "bb.mx"; my: "bb.my"; mz: "bb.mz"; na: "bb.na"; nb: "bb.nb"; nc: "bb.nc"; nd: "bb.nd"; ne: "bb.ne"; nf: "bb.nf"; ng: "bb.ng"; nh: "bb.nh"; ni: "bb.ni"; nj: "bb.nj"; nk: "bb.nk"; nl: "bb.nl"; nm: "bb.nm"; nn: "bb.nn"; no: "bb.no"; np: "bb.np"; nq: "bb.nq"; nr: "bb.nr"; ns: "bb.ns"; nt: "bb.nt"; nu: "bb.nu"; nv: "bb.nv"; nw: "bb.nw"; nx: "bb.nx"; ny: "bb.ny"; nz: "bb.nz"; oa: "bb.oa"; ob: "bb.ob"; oc: "bb.oc"; od: "bb.od"; oe: "bb.oe"; of: "bb.of"; og: "bb.og"; oh: "bb.oh"; oi: "bb.oi"; oj: "bb.oj"; ok: "bb.ok"; ol: "bb.ol"; om: "bb.om"; on: "bb.on"; oo: "bb.oo"; op: "bb.op"; oq: "bb.oq"; or: "bb.or"; os: "bb.os"; ot: "bb.ot"; ou: "bb.ou"; ov: "bb.ov"; ow: "bb.ow"; ox: "bb.ox"; oy: "bb.oy"; oz: "bb.oz"; pa: "bb.pa"; pb: "bb.pb"; pc: "bb.pc"; pd: "bb.pd"; pe: "bb.pe"; pf: "bb.pf"; pg: "bb.pg"; ph: "bb.ph"; pi: "bb.pi"; pj: "bb.pj"; pk: "bb.pk"; pl: "bb.pl"; pm: "bb.pm"; pn: "bb.pn"; po: "bb.po"; pp: "bb.pp"; pq: "bb.pq"; pr: "bb.pr"; ps: "bb.ps"; pt: "bb.pt"; pu: "bb.pu"; pv: "bb.pv"; pw: "bb.pw"; px: "bb.px"; py: "bb.py"; pz: "bb.pz"; qa: "bb.qa"; qb: "bb.qb"; qc: "bb.qc"; qd: "bb.qd"; qe: "bb.qe"; qf: "bb.qf"; qg: "bb.qg"; qh: "bb.qh"; qi: "bb.qi"; qj: "bb.qj"; qk: "bb.qk"; ql: "bb.ql"; qm: "bb.qm"; qn: "bb.qn"; qo: "bb.qo"; qp: "bb.qp"; qq: "bb.qq"; qr: "bb.qr"; qs: "bb.qs"; qt: "bb.qt"; qu: "bb.qu"; qv: "bb.qv"; qw: "bb.qw"; qx: "bb.qx"; qy: "bb.qy"; qz: "bb.qz"; ra: "bb.ra"; rb: "bb.rb"; rc: "bb.rc"; rd: "bb.rd"; re: "bb.re"; rf: "bb.rf"; rg: "bb.rg"; rh: "bb.rh"; ri: "bb.ri"; rj: "bb.rj"; rk: "bb.rk"; rl: "bb.rl"; rm: "bb.rm"; rn: "bb.rn"; ro: "bb.ro"; rp: "bb.rp"; rq: "bb.rq"; rr: "bb.rr"; rs: "bb.rs"; rt: "bb.rt"; ru: "bb.ru"; rv: "bb.rv"; rw: "bb.rw"; rx: "bb.rx"; ry: "bb.ry"; rz: "bb.rz"; sa: "bb.sa"; sb: "bb.sb"; sc: "bb.sc"; sd: "bb.sd"; se: "bb.se"; sf: "bb.sf"; sg: "bb.sg"; sh: "bb.sh"; si: "bb.si"; sj: "bb.sj"; sk: "bb.sk"; sl: "bb.sl"; sm: "bb.sm"; sn: "bb.sn"; so: "bb.so"; sp: "bb.sp"; sq: "bb.sq"; sr: "bb.sr"; ss: "bb.ss"; st: "bb.st"; su: "bb.su"; sv: "bb.sv"; sw: "bb.sw"; sx: "bb.sx"; sy: "bb.sy"; sz: "bb.sz"; ta: "bb.ta"; tb: "bb.tb"; tc: "bb.tc"; td: "bb.td"; te: "bb.te"; tf: "bb.tf"; tg: "bb.tg"; th: "bb.th"; ti: "bb.ti"; tj: "bb.tj"; tk: "bb.tk"; tl: "bb.tl"; tm: "bb.tm"; tn: "bb.tn"; to: "bb.to"; tp: "bb.tp"; tq: "bb.tq"; tr: "bb.tr"; ts: "bb.ts"; tt: "bb.tt"; tu: "bb.tu"; tv: "bb.tv"; tw: "bb.tw"; tx: "bb.tx"; ty: "bb.ty"; tz: "bb.tz"; ua: "bb.ua"; ub: "bb.ub"; uc: "bb.uc"; ud: "bb.ud"; ue: "bb.ue"; uf: "bb.uf"; ug: "bb.ug"; uh: "bb.uh"; ui: "bb.ui"; uj: "bb.uj"; uk: "bb.uk"; ul: "bb.ul"; um: "bb.um"; un: "bb.un"; uo: "bb.uo"; up: "bb.up"; uq: "bb.uq"; ur: "bb.ur"; us: "bb.us"; ut: "bb.ut"; uu: "bb.uu"; uv: "bb.uv"; uw: "bb.uw"; ux: "bb.ux"; uy: "bb.uy"; uz: "bb.uz"; va: "bb.va"; vb: "bb.vb"; vc: "bb.vc"; vd: "bb.vd"; ve: "bb.ve"; vf: "bb.vf"; vg: "bb.vg"; vh: "bb.vh"; vi: "bb.vi"; vj: "bb.vj"; vk: "bb.vk"; vl: "bb.vl"; vm: "bb.vm"; vn: "bb.vn"; vo: "bb.vo"; vp: "bb.vp"; vq: "bb.vq"; vr: "bb.vr"; vs: "bb.vs"; vt: "bb.vt"; vu: "bb.vu"; vv: "bb.vv"; vw: "bb.vw"; vx: "bb.vx"; vy: "bb.vy"; vz: "bb.vz"; wa: "bb.wa"; wb: "bb.wb"; wc: "bb.wc"; wd: "bb.wd"; we: "bb.we"; wf: "bb.wf"; wg: "bb.wg"; wh: "bb.wh"; wi: "bb.wi"; wj: "bb.wj"; wk: "bb.wk"; wl: "bb.wl"; wm: "bb.wm"; wn: "bb.wn"; wo: "bb.wo"; wp: "bb.wp"; wq: "bb.wq"; wr: "bb.wr"; ws: "bb.ws"; wt: "bb.wt"; wu: "bb.wu"; wv: "bb.wv"; ww: "bb.ww"; wx: "bb.wx"; wy: "bb.wy"; wz: "bb.wz"; xa: "bb.xa"; xb: "bb.xb"; xc: "bb.xc"; xd: "bb.xd"; xe: "bb.xe"; xf: "bb.xf"; xg: "bb.xg"; xh: "bb.xh"; xi: "bb.xi"; xj: "bb.xj"; xk: "bb.xk"; xl: "bb.xl"; xm: "bb.xm"; xn: "bb.xn"; xo: "bb.xo"; xp: "bb.xp"; xq: "bb.xq"; xr: "bb.xr"; xs: "bb.xs"; xt: "bb.xt"; xu: "bb.xu"; xv: "bb.xv"; xw: "bb.xw"; xx: "bb.xx"; xy: "bb.xy"; xz: "bb.xz"; ya: "bb.ya"; yb: "bb.yb"; yc: "bb.yc"; yd: "bb.yd"; ye: "bb.ye"; yf: "bb.yf"; yg: "bb.yg"; yh: "bb.yh"; yi: "bb.yi"; yj: "bb.yj"; yk: "bb.yk"; yl: "bb.yl"; ym: "bb.ym"; yn: "bb.yn"; yo: "bb.yo"; yp: "bb.yp"; yq: "bb.yq"; yr: "bb.yr"; ys: "bb.ys"; yt: "bb.yt"; yu: "bb.yu"; yv: "bb.yv"; yw: "bb.yw"; yx: "bb.yx"; yy: "bb.yy"; yz: "bb.yz"; za: "bb.za"; zb: "bb.zb"; zc: "bb.zc"; zd: "bb.zd"; ze: "bb.ze"; zf: "bb.zf"; zg: "bb.zg"; zh: "bb.zh"; zi: "bb.zi"; zj: "bb.zj"; zk: "bb.zk"; zl: "bb.zl"; zm: "bb.zm"; zn: "bb.zn"; zo: "bb.zo"; zp: "bb.zp"; zq: "bb.zq"; zr: "bb.zr"; zs: "bb.zs"; zt: "bb.zt"; zu: "bb.zu"; zv: "bb.zv"; zw: "bb.zw"; zx: "bb.zx"; zy: "bb.zy"; zz: "bb.zz"; }; bc: { aa: "bc.aa"; ab: "bc.ab"; ac: "bc.ac"; ad: "bc.ad"; ae: "bc.ae"; af: "bc.af"; ag: "bc.ag"; ah: "bc.ah"; ai: "bc.ai"; aj: "bc.aj"; ak: "bc.ak"; al: "bc.al"; am: "bc.am"; an: "bc.an"; ao: "bc.ao"; ap: "bc.ap"; aq: "bc.aq"; ar: "bc.ar"; as: "bc.as"; at: "bc.at"; au: "bc.au"; av: "bc.av"; aw: "bc.aw"; ax: "bc.ax"; ay: "bc.ay"; az: "bc.az"; ba: "bc.ba"; bb: "bc.bb"; bc: "bc.bc"; bd: "bc.bd"; be: "bc.be"; bf: "bc.bf"; bg: "bc.bg"; bh: "bc.bh"; bi: "bc.bi"; bj: "bc.bj"; bk: "bc.bk"; bl: "bc.bl"; bm: "bc.bm"; bn: "bc.bn"; bo: "bc.bo"; bp: "bc.bp"; bq: "bc.bq"; br: "bc.br"; bs: "bc.bs"; bt: "bc.bt"; bu: "bc.bu"; bv: "bc.bv"; bw: "bc.bw"; bx: "bc.bx"; by: "bc.by"; bz: "bc.bz"; ca: "bc.ca"; cb: "bc.cb"; cc: "bc.cc"; cd: "bc.cd"; ce: "bc.ce"; cf: "bc.cf"; cg: "bc.cg"; ch: "bc.ch"; ci: "bc.ci"; cj: "bc.cj"; ck: "bc.ck"; cl: "bc.cl"; cm: "bc.cm"; cn: "bc.cn"; co: "bc.co"; cp: "bc.cp"; cq: "bc.cq"; cr: "bc.cr"; cs: "bc.cs"; ct: "bc.ct"; cu: "bc.cu"; cv: "bc.cv"; cw: "bc.cw"; cx: "bc.cx"; cy: "bc.cy"; cz: "bc.cz"; da: "bc.da"; db: "bc.db"; dc: "bc.dc"; dd: "bc.dd"; de: "bc.de"; df: "bc.df"; dg: "bc.dg"; dh: "bc.dh"; di: "bc.di"; dj: "bc.dj"; dk: "bc.dk"; dl: "bc.dl"; dm: "bc.dm"; dn: "bc.dn"; do: "bc.do"; dp: "bc.dp"; dq: "bc.dq"; dr: "bc.dr"; ds: "bc.ds"; dt: "bc.dt"; du: "bc.du"; dv: "bc.dv"; dw: "bc.dw"; dx: "bc.dx"; dy: "bc.dy"; dz: "bc.dz"; ea: "bc.ea"; eb: "bc.eb"; ec: "bc.ec"; ed: "bc.ed"; ee: "bc.ee"; ef: "bc.ef"; eg: "bc.eg"; eh: "bc.eh"; ei: "bc.ei"; ej: "bc.ej"; ek: "bc.ek"; el: "bc.el"; em: "bc.em"; en: "bc.en"; eo: "bc.eo"; ep: "bc.ep"; eq: "bc.eq"; er: "bc.er"; es: "bc.es"; et: "bc.et"; eu: "bc.eu"; ev: "bc.ev"; ew: "bc.ew"; ex: "bc.ex"; ey: "bc.ey"; ez: "bc.ez"; fa: "bc.fa"; fb: "bc.fb"; fc: "bc.fc"; fd: "bc.fd"; fe: "bc.fe"; ff: "bc.ff"; fg: "bc.fg"; fh: "bc.fh"; fi: "bc.fi"; fj: "bc.fj"; fk: "bc.fk"; fl: "bc.fl"; fm: "bc.fm"; fn: "bc.fn"; fo: "bc.fo"; fp: "bc.fp"; fq: "bc.fq"; fr: "bc.fr"; fs: "bc.fs"; ft: "bc.ft"; fu: "bc.fu"; fv: "bc.fv"; fw: "bc.fw"; fx: "bc.fx"; fy: "bc.fy"; fz: "bc.fz"; ga: "bc.ga"; gb: "bc.gb"; gc: "bc.gc"; gd: "bc.gd"; ge: "bc.ge"; gf: "bc.gf"; gg: "bc.gg"; gh: "bc.gh"; gi: "bc.gi"; gj: "bc.gj"; gk: "bc.gk"; gl: "bc.gl"; gm: "bc.gm"; gn: "bc.gn"; go: "bc.go"; gp: "bc.gp"; gq: "bc.gq"; gr: "bc.gr"; gs: "bc.gs"; gt: "bc.gt"; gu: "bc.gu"; gv: "bc.gv"; gw: "bc.gw"; gx: "bc.gx"; gy: "bc.gy"; gz: "bc.gz"; ha: "bc.ha"; hb: "bc.hb"; hc: "bc.hc"; hd: "bc.hd"; he: "bc.he"; hf: "bc.hf"; hg: "bc.hg"; hh: "bc.hh"; hi: "bc.hi"; hj: "bc.hj"; hk: "bc.hk"; hl: "bc.hl"; hm: "bc.hm"; hn: "bc.hn"; ho: "bc.ho"; hp: "bc.hp"; hq: "bc.hq"; hr: "bc.hr"; hs: "bc.hs"; ht: "bc.ht"; hu: "bc.hu"; hv: "bc.hv"; hw: "bc.hw"; hx: "bc.hx"; hy: "bc.hy"; hz: "bc.hz"; ia: "bc.ia"; ib: "bc.ib"; ic: "bc.ic"; id: "bc.id"; ie: "bc.ie"; if: "bc.if"; ig: "bc.ig"; ih: "bc.ih"; ii: "bc.ii"; ij: "bc.ij"; ik: "bc.ik"; il: "bc.il"; im: "bc.im"; in: "bc.in"; io: "bc.io"; ip: "bc.ip"; iq: "bc.iq"; ir: "bc.ir"; is: "bc.is"; it: "bc.it"; iu: "bc.iu"; iv: "bc.iv"; iw: "bc.iw"; ix: "bc.ix"; iy: "bc.iy"; iz: "bc.iz"; ja: "bc.ja"; jb: "bc.jb"; jc: "bc.jc"; jd: "bc.jd"; je: "bc.je"; jf: "bc.jf"; jg: "bc.jg"; jh: "bc.jh"; ji: "bc.ji"; jj: "bc.jj"; jk: "bc.jk"; jl: "bc.jl"; jm: "bc.jm"; jn: "bc.jn"; jo: "bc.jo"; jp: "bc.jp"; jq: "bc.jq"; jr: "bc.jr"; js: "bc.js"; jt: "bc.jt"; ju: "bc.ju"; jv: "bc.jv"; jw: "bc.jw"; jx: "bc.jx"; jy: "bc.jy"; jz: "bc.jz"; ka: "bc.ka"; kb: "bc.kb"; kc: "bc.kc"; kd: "bc.kd"; ke: "bc.ke"; kf: "bc.kf"; kg: "bc.kg"; kh: "bc.kh"; ki: "bc.ki"; kj: "bc.kj"; kk: "bc.kk"; kl: "bc.kl"; km: "bc.km"; kn: "bc.kn"; ko: "bc.ko"; kp: "bc.kp"; kq: "bc.kq"; kr: "bc.kr"; ks: "bc.ks"; kt: "bc.kt"; ku: "bc.ku"; kv: "bc.kv"; kw: "bc.kw"; kx: "bc.kx"; ky: "bc.ky"; kz: "bc.kz"; la: "bc.la"; lb: "bc.lb"; lc: "bc.lc"; ld: "bc.ld"; le: "bc.le"; lf: "bc.lf"; lg: "bc.lg"; lh: "bc.lh"; li: "bc.li"; lj: "bc.lj"; lk: "bc.lk"; ll: "bc.ll"; lm: "bc.lm"; ln: "bc.ln"; lo: "bc.lo"; lp: "bc.lp"; lq: "bc.lq"; lr: "bc.lr"; ls: "bc.ls"; lt: "bc.lt"; lu: "bc.lu"; lv: "bc.lv"; lw: "bc.lw"; lx: "bc.lx"; ly: "bc.ly"; lz: "bc.lz"; ma: "bc.ma"; mb: "bc.mb"; mc: "bc.mc"; md: "bc.md"; me: "bc.me"; mf: "bc.mf"; mg: "bc.mg"; mh: "bc.mh"; mi: "bc.mi"; mj: "bc.mj"; mk: "bc.mk"; ml: "bc.ml"; mm: "bc.mm"; mn: "bc.mn"; mo: "bc.mo"; mp: "bc.mp"; mq: "bc.mq"; mr: "bc.mr"; ms: "bc.ms"; mt: "bc.mt"; mu: "bc.mu"; mv: "bc.mv"; mw: "bc.mw"; mx: "bc.mx"; my: "bc.my"; mz: "bc.mz"; na: "bc.na"; nb: "bc.nb"; nc: "bc.nc"; nd: "bc.nd"; ne: "bc.ne"; nf: "bc.nf"; ng: "bc.ng"; nh: "bc.nh"; ni: "bc.ni"; nj: "bc.nj"; nk: "bc.nk"; nl: "bc.nl"; nm: "bc.nm"; nn: "bc.nn"; no: "bc.no"; np: "bc.np"; nq: "bc.nq"; nr: "bc.nr"; ns: "bc.ns"; nt: "bc.nt"; nu: "bc.nu"; nv: "bc.nv"; nw: "bc.nw"; nx: "bc.nx"; ny: "bc.ny"; nz: "bc.nz"; oa: "bc.oa"; ob: "bc.ob"; oc: "bc.oc"; od: "bc.od"; oe: "bc.oe"; of: "bc.of"; og: "bc.og"; oh: "bc.oh"; oi: "bc.oi"; oj: "bc.oj"; ok: "bc.ok"; ol: "bc.ol"; om: "bc.om"; on: "bc.on"; oo: "bc.oo"; op: "bc.op"; oq: "bc.oq"; or: "bc.or"; os: "bc.os"; ot: "bc.ot"; ou: "bc.ou"; ov: "bc.ov"; ow: "bc.ow"; ox: "bc.ox"; oy: "bc.oy"; oz: "bc.oz"; pa: "bc.pa"; pb: "bc.pb"; pc: "bc.pc"; pd: "bc.pd"; pe: "bc.pe"; pf: "bc.pf"; pg: "bc.pg"; ph: "bc.ph"; pi: "bc.pi"; pj: "bc.pj"; pk: "bc.pk"; pl: "bc.pl"; pm: "bc.pm"; pn: "bc.pn"; po: "bc.po"; pp: "bc.pp"; pq: "bc.pq"; pr: "bc.pr"; ps: "bc.ps"; pt: "bc.pt"; pu: "bc.pu"; pv: "bc.pv"; pw: "bc.pw"; px: "bc.px"; py: "bc.py"; pz: "bc.pz"; qa: "bc.qa"; qb: "bc.qb"; qc: "bc.qc"; qd: "bc.qd"; qe: "bc.qe"; qf: "bc.qf"; qg: "bc.qg"; qh: "bc.qh"; qi: "bc.qi"; qj: "bc.qj"; qk: "bc.qk"; ql: "bc.ql"; qm: "bc.qm"; qn: "bc.qn"; qo: "bc.qo"; qp: "bc.qp"; qq: "bc.qq"; qr: "bc.qr"; qs: "bc.qs"; qt: "bc.qt"; qu: "bc.qu"; qv: "bc.qv"; qw: "bc.qw"; qx: "bc.qx"; qy: "bc.qy"; qz: "bc.qz"; ra: "bc.ra"; rb: "bc.rb"; rc: "bc.rc"; rd: "bc.rd"; re: "bc.re"; rf: "bc.rf"; rg: "bc.rg"; rh: "bc.rh"; ri: "bc.ri"; rj: "bc.rj"; rk: "bc.rk"; rl: "bc.rl"; rm: "bc.rm"; rn: "bc.rn"; ro: "bc.ro"; rp: "bc.rp"; rq: "bc.rq"; rr: "bc.rr"; rs: "bc.rs"; rt: "bc.rt"; ru: "bc.ru"; rv: "bc.rv"; rw: "bc.rw"; rx: "bc.rx"; ry: "bc.ry"; rz: "bc.rz"; sa: "bc.sa"; sb: "bc.sb"; sc: "bc.sc"; sd: "bc.sd"; se: "bc.se"; sf: "bc.sf"; sg: "bc.sg"; sh: "bc.sh"; si: "bc.si"; sj: "bc.sj"; sk: "bc.sk"; sl: "bc.sl"; sm: "bc.sm"; sn: "bc.sn"; so: "bc.so"; sp: "bc.sp"; sq: "bc.sq"; sr: "bc.sr"; ss: "bc.ss"; st: "bc.st"; su: "bc.su"; sv: "bc.sv"; sw: "bc.sw"; sx: "bc.sx"; sy: "bc.sy"; sz: "bc.sz"; ta: "bc.ta"; tb: "bc.tb"; tc: "bc.tc"; td: "bc.td"; te: "bc.te"; tf: "bc.tf"; tg: "bc.tg"; th: "bc.th"; ti: "bc.ti"; tj: "bc.tj"; tk: "bc.tk"; tl: "bc.tl"; tm: "bc.tm"; tn: "bc.tn"; to: "bc.to"; tp: "bc.tp"; tq: "bc.tq"; tr: "bc.tr"; ts: "bc.ts"; tt: "bc.tt"; tu: "bc.tu"; tv: "bc.tv"; tw: "bc.tw"; tx: "bc.tx"; ty: "bc.ty"; tz: "bc.tz"; ua: "bc.ua"; ub: "bc.ub"; uc: "bc.uc"; ud: "bc.ud"; ue: "bc.ue"; uf: "bc.uf"; ug: "bc.ug"; uh: "bc.uh"; ui: "bc.ui"; uj: "bc.uj"; uk: "bc.uk"; ul: "bc.ul"; um: "bc.um"; un: "bc.un"; uo: "bc.uo"; up: "bc.up"; uq: "bc.uq"; ur: "bc.ur"; us: "bc.us"; ut: "bc.ut"; uu: "bc.uu"; uv: "bc.uv"; uw: "bc.uw"; ux: "bc.ux"; uy: "bc.uy"; uz: "bc.uz"; va: "bc.va"; vb: "bc.vb"; vc: "bc.vc"; vd: "bc.vd"; ve: "bc.ve"; vf: "bc.vf"; vg: "bc.vg"; vh: "bc.vh"; vi: "bc.vi"; vj: "bc.vj"; vk: "bc.vk"; vl: "bc.vl"; vm: "bc.vm"; vn: "bc.vn"; vo: "bc.vo"; vp: "bc.vp"; vq: "bc.vq"; vr: "bc.vr"; vs: "bc.vs"; vt: "bc.vt"; vu: "bc.vu"; vv: "bc.vv"; vw: "bc.vw"; vx: "bc.vx"; vy: "bc.vy"; vz: "bc.vz"; wa: "bc.wa"; wb: "bc.wb"; wc: "bc.wc"; wd: "bc.wd"; we: "bc.we"; wf: "bc.wf"; wg: "bc.wg"; wh: "bc.wh"; wi: "bc.wi"; wj: "bc.wj"; wk: "bc.wk"; wl: "bc.wl"; wm: "bc.wm"; wn: "bc.wn"; wo: "bc.wo"; wp: "bc.wp"; wq: "bc.wq"; wr: "bc.wr"; ws: "bc.ws"; wt: "bc.wt"; wu: "bc.wu"; wv: "bc.wv"; ww: "bc.ww"; wx: "bc.wx"; wy: "bc.wy"; wz: "bc.wz"; xa: "bc.xa"; xb: "bc.xb"; xc: "bc.xc"; xd: "bc.xd"; xe: "bc.xe"; xf: "bc.xf"; xg: "bc.xg"; xh: "bc.xh"; xi: "bc.xi"; xj: "bc.xj"; xk: "bc.xk"; xl: "bc.xl"; xm: "bc.xm"; xn: "bc.xn"; xo: "bc.xo"; xp: "bc.xp"; xq: "bc.xq"; xr: "bc.xr"; xs: "bc.xs"; xt: "bc.xt"; xu: "bc.xu"; xv: "bc.xv"; xw: "bc.xw"; xx: "bc.xx"; xy: "bc.xy"; xz: "bc.xz"; ya: "bc.ya"; yb: "bc.yb"; yc: "bc.yc"; yd: "bc.yd"; ye: "bc.ye"; yf: "bc.yf"; yg: "bc.yg"; yh: "bc.yh"; yi: "bc.yi"; yj: "bc.yj"; yk: "bc.yk"; yl: "bc.yl"; ym: "bc.ym"; yn: "bc.yn"; yo: "bc.yo"; yp: "bc.yp"; yq: "bc.yq"; yr: "bc.yr"; ys: "bc.ys"; yt: "bc.yt"; yu: "bc.yu"; yv: "bc.yv"; yw: "bc.yw"; yx: "bc.yx"; yy: "bc.yy"; yz: "bc.yz"; za: "bc.za"; zb: "bc.zb"; zc: "bc.zc"; zd: "bc.zd"; ze: "bc.ze"; zf: "bc.zf"; zg: "bc.zg"; zh: "bc.zh"; zi: "bc.zi"; zj: "bc.zj"; zk: "bc.zk"; zl: "bc.zl"; zm: "bc.zm"; zn: "bc.zn"; zo: "bc.zo"; zp: "bc.zp"; zq: "bc.zq"; zr: "bc.zr"; zs: "bc.zs"; zt: "bc.zt"; zu: "bc.zu"; zv: "bc.zv"; zw: "bc.zw"; zx: "bc.zx"; zy: "bc.zy"; zz: "bc.zz"; }; bd: { aa: "bd.aa"; ab: "bd.ab"; ac: "bd.ac"; ad: "bd.ad"; ae: "bd.ae"; af: "bd.af"; ag: "bd.ag"; ah: "bd.ah"; ai: "bd.ai"; aj: "bd.aj"; ak: "bd.ak"; al: "bd.al"; am: "bd.am"; an: "bd.an"; ao: "bd.ao"; ap: "bd.ap"; aq: "bd.aq"; ar: "bd.ar"; as: "bd.as"; at: "bd.at"; au: "bd.au"; av: "bd.av"; aw: "bd.aw"; ax: "bd.ax"; ay: "bd.ay"; az: "bd.az"; ba: "bd.ba"; bb: "bd.bb"; bc: "bd.bc"; bd: "bd.bd"; be: "bd.be"; bf: "bd.bf"; bg: "bd.bg"; bh: "bd.bh"; bi: "bd.bi"; bj: "bd.bj"; bk: "bd.bk"; bl: "bd.bl"; bm: "bd.bm"; bn: "bd.bn"; bo: "bd.bo"; bp: "bd.bp"; bq: "bd.bq"; br: "bd.br"; bs: "bd.bs"; bt: "bd.bt"; bu: "bd.bu"; bv: "bd.bv"; bw: "bd.bw"; bx: "bd.bx"; by: "bd.by"; bz: "bd.bz"; ca: "bd.ca"; cb: "bd.cb"; cc: "bd.cc"; cd: "bd.cd"; ce: "bd.ce"; cf: "bd.cf"; cg: "bd.cg"; ch: "bd.ch"; ci: "bd.ci"; cj: "bd.cj"; ck: "bd.ck"; cl: "bd.cl"; cm: "bd.cm"; cn: "bd.cn"; co: "bd.co"; cp: "bd.cp"; cq: "bd.cq"; cr: "bd.cr"; cs: "bd.cs"; ct: "bd.ct"; cu: "bd.cu"; cv: "bd.cv"; cw: "bd.cw"; cx: "bd.cx"; cy: "bd.cy"; cz: "bd.cz"; da: "bd.da"; db: "bd.db"; dc: "bd.dc"; dd: "bd.dd"; de: "bd.de"; df: "bd.df"; dg: "bd.dg"; dh: "bd.dh"; di: "bd.di"; dj: "bd.dj"; dk: "bd.dk"; dl: "bd.dl"; dm: "bd.dm"; dn: "bd.dn"; do: "bd.do"; dp: "bd.dp"; dq: "bd.dq"; dr: "bd.dr"; ds: "bd.ds"; dt: "bd.dt"; du: "bd.du"; dv: "bd.dv"; dw: "bd.dw"; dx: "bd.dx"; dy: "bd.dy"; dz: "bd.dz"; ea: "bd.ea"; eb: "bd.eb"; ec: "bd.ec"; ed: "bd.ed"; ee: "bd.ee"; ef: "bd.ef"; eg: "bd.eg"; eh: "bd.eh"; ei: "bd.ei"; ej: "bd.ej"; ek: "bd.ek"; el: "bd.el"; em: "bd.em"; en: "bd.en"; eo: "bd.eo"; ep: "bd.ep"; eq: "bd.eq"; er: "bd.er"; es: "bd.es"; et: "bd.et"; eu: "bd.eu"; ev: "bd.ev"; ew: "bd.ew"; ex: "bd.ex"; ey: "bd.ey"; ez: "bd.ez"; fa: "bd.fa"; fb: "bd.fb"; fc: "bd.fc"; fd: "bd.fd"; fe: "bd.fe"; ff: "bd.ff"; fg: "bd.fg"; fh: "bd.fh"; fi: "bd.fi"; fj: "bd.fj"; fk: "bd.fk"; fl: "bd.fl"; fm: "bd.fm"; fn: "bd.fn"; fo: "bd.fo"; fp: "bd.fp"; fq: "bd.fq"; fr: "bd.fr"; fs: "bd.fs"; ft: "bd.ft"; fu: "bd.fu"; fv: "bd.fv"; fw: "bd.fw"; fx: "bd.fx"; fy: "bd.fy"; fz: "bd.fz"; ga: "bd.ga"; gb: "bd.gb"; gc: "bd.gc"; gd: "bd.gd"; ge: "bd.ge"; gf: "bd.gf"; gg: "bd.gg"; gh: "bd.gh"; gi: "bd.gi"; gj: "bd.gj"; gk: "bd.gk"; gl: "bd.gl"; gm: "bd.gm"; gn: "bd.gn"; go: "bd.go"; gp: "bd.gp"; gq: "bd.gq"; gr: "bd.gr"; gs: "bd.gs"; gt: "bd.gt"; gu: "bd.gu"; gv: "bd.gv"; gw: "bd.gw"; gx: "bd.gx"; gy: "bd.gy"; gz: "bd.gz"; ha: "bd.ha"; hb: "bd.hb"; hc: "bd.hc"; hd: "bd.hd"; he: "bd.he"; hf: "bd.hf"; hg: "bd.hg"; hh: "bd.hh"; hi: "bd.hi"; hj: "bd.hj"; hk: "bd.hk"; hl: "bd.hl"; hm: "bd.hm"; hn: "bd.hn"; ho: "bd.ho"; hp: "bd.hp"; hq: "bd.hq"; hr: "bd.hr"; hs: "bd.hs"; ht: "bd.ht"; hu: "bd.hu"; hv: "bd.hv"; hw: "bd.hw"; hx: "bd.hx"; hy: "bd.hy"; hz: "bd.hz"; ia: "bd.ia"; ib: "bd.ib"; ic: "bd.ic"; id: "bd.id"; ie: "bd.ie"; if: "bd.if"; ig: "bd.ig"; ih: "bd.ih"; ii: "bd.ii"; ij: "bd.ij"; ik: "bd.ik"; il: "bd.il"; im: "bd.im"; in: "bd.in"; io: "bd.io"; ip: "bd.ip"; iq: "bd.iq"; ir: "bd.ir"; is: "bd.is"; it: "bd.it"; iu: "bd.iu"; iv: "bd.iv"; iw: "bd.iw"; ix: "bd.ix"; iy: "bd.iy"; iz: "bd.iz"; ja: "bd.ja"; jb: "bd.jb"; jc: "bd.jc"; jd: "bd.jd"; je: "bd.je"; jf: "bd.jf"; jg: "bd.jg"; jh: "bd.jh"; ji: "bd.ji"; jj: "bd.jj"; jk: "bd.jk"; jl: "bd.jl"; jm: "bd.jm"; jn: "bd.jn"; jo: "bd.jo"; jp: "bd.jp"; jq: "bd.jq"; jr: "bd.jr"; js: "bd.js"; jt: "bd.jt"; ju: "bd.ju"; jv: "bd.jv"; jw: "bd.jw"; jx: "bd.jx"; jy: "bd.jy"; jz: "bd.jz"; ka: "bd.ka"; kb: "bd.kb"; kc: "bd.kc"; kd: "bd.kd"; ke: "bd.ke"; kf: "bd.kf"; kg: "bd.kg"; kh: "bd.kh"; ki: "bd.ki"; kj: "bd.kj"; kk: "bd.kk"; kl: "bd.kl"; km: "bd.km"; kn: "bd.kn"; ko: "bd.ko"; kp: "bd.kp"; kq: "bd.kq"; kr: "bd.kr"; ks: "bd.ks"; kt: "bd.kt"; ku: "bd.ku"; kv: "bd.kv"; kw: "bd.kw"; kx: "bd.kx"; ky: "bd.ky"; kz: "bd.kz"; la: "bd.la"; lb: "bd.lb"; lc: "bd.lc"; ld: "bd.ld"; le: "bd.le"; lf: "bd.lf"; lg: "bd.lg"; lh: "bd.lh"; li: "bd.li"; lj: "bd.lj"; lk: "bd.lk"; ll: "bd.ll"; lm: "bd.lm"; ln: "bd.ln"; lo: "bd.lo"; lp: "bd.lp"; lq: "bd.lq"; lr: "bd.lr"; ls: "bd.ls"; lt: "bd.lt"; lu: "bd.lu"; lv: "bd.lv"; lw: "bd.lw"; lx: "bd.lx"; ly: "bd.ly"; lz: "bd.lz"; ma: "bd.ma"; mb: "bd.mb"; mc: "bd.mc"; md: "bd.md"; me: "bd.me"; mf: "bd.mf"; mg: "bd.mg"; mh: "bd.mh"; mi: "bd.mi"; mj: "bd.mj"; mk: "bd.mk"; ml: "bd.ml"; mm: "bd.mm"; mn: "bd.mn"; mo: "bd.mo"; mp: "bd.mp"; mq: "bd.mq"; mr: "bd.mr"; ms: "bd.ms"; mt: "bd.mt"; mu: "bd.mu"; mv: "bd.mv"; mw: "bd.mw"; mx: "bd.mx"; my: "bd.my"; mz: "bd.mz"; na: "bd.na"; nb: "bd.nb"; nc: "bd.nc"; nd: "bd.nd"; ne: "bd.ne"; nf: "bd.nf"; ng: "bd.ng"; nh: "bd.nh"; ni: "bd.ni"; nj: "bd.nj"; nk: "bd.nk"; nl: "bd.nl"; nm: "bd.nm"; nn: "bd.nn"; no: "bd.no"; np: "bd.np"; nq: "bd.nq"; nr: "bd.nr"; ns: "bd.ns"; nt: "bd.nt"; nu: "bd.nu"; nv: "bd.nv"; nw: "bd.nw"; nx: "bd.nx"; ny: "bd.ny"; nz: "bd.nz"; oa: "bd.oa"; ob: "bd.ob"; oc: "bd.oc"; od: "bd.od"; oe: "bd.oe"; of: "bd.of"; og: "bd.og"; oh: "bd.oh"; oi: "bd.oi"; oj: "bd.oj"; ok: "bd.ok"; ol: "bd.ol"; om: "bd.om"; on: "bd.on"; oo: "bd.oo"; op: "bd.op"; oq: "bd.oq"; or: "bd.or"; os: "bd.os"; ot: "bd.ot"; ou: "bd.ou"; ov: "bd.ov"; ow: "bd.ow"; ox: "bd.ox"; oy: "bd.oy"; oz: "bd.oz"; pa: "bd.pa"; pb: "bd.pb"; pc: "bd.pc"; pd: "bd.pd"; pe: "bd.pe"; pf: "bd.pf"; pg: "bd.pg"; ph: "bd.ph"; pi: "bd.pi"; pj: "bd.pj"; pk: "bd.pk"; pl: "bd.pl"; pm: "bd.pm"; pn: "bd.pn"; po: "bd.po"; pp: "bd.pp"; pq: "bd.pq"; pr: "bd.pr"; ps: "bd.ps"; pt: "bd.pt"; pu: "bd.pu"; pv: "bd.pv"; pw: "bd.pw"; px: "bd.px"; py: "bd.py"; pz: "bd.pz"; qa: "bd.qa"; qb: "bd.qb"; qc: "bd.qc"; qd: "bd.qd"; qe: "bd.qe"; qf: "bd.qf"; qg: "bd.qg"; qh: "bd.qh"; qi: "bd.qi"; qj: "bd.qj"; qk: "bd.qk"; ql: "bd.ql"; qm: "bd.qm"; qn: "bd.qn"; qo: "bd.qo"; qp: "bd.qp"; qq: "bd.qq"; qr: "bd.qr"; qs: "bd.qs"; qt: "bd.qt"; qu: "bd.qu"; qv: "bd.qv"; qw: "bd.qw"; qx: "bd.qx"; qy: "bd.qy"; qz: "bd.qz"; ra: "bd.ra"; rb: "bd.rb"; rc: "bd.rc"; rd: "bd.rd"; re: "bd.re"; rf: "bd.rf"; rg: "bd.rg"; rh: "bd.rh"; ri: "bd.ri"; rj: "bd.rj"; rk: "bd.rk"; rl: "bd.rl"; rm: "bd.rm"; rn: "bd.rn"; ro: "bd.ro"; rp: "bd.rp"; rq: "bd.rq"; rr: "bd.rr"; rs: "bd.rs"; rt: "bd.rt"; ru: "bd.ru"; rv: "bd.rv"; rw: "bd.rw"; rx: "bd.rx"; ry: "bd.ry"; rz: "bd.rz"; sa: "bd.sa"; sb: "bd.sb"; sc: "bd.sc"; sd: "bd.sd"; se: "bd.se"; sf: "bd.sf"; sg: "bd.sg"; sh: "bd.sh"; si: "bd.si"; sj: "bd.sj"; sk: "bd.sk"; sl: "bd.sl"; sm: "bd.sm"; sn: "bd.sn"; so: "bd.so"; sp: "bd.sp"; sq: "bd.sq"; sr: "bd.sr"; ss: "bd.ss"; st: "bd.st"; su: "bd.su"; sv: "bd.sv"; sw: "bd.sw"; sx: "bd.sx"; sy: "bd.sy"; sz: "bd.sz"; ta: "bd.ta"; tb: "bd.tb"; tc: "bd.tc"; td: "bd.td"; te: "bd.te"; tf: "bd.tf"; tg: "bd.tg"; th: "bd.th"; ti: "bd.ti"; tj: "bd.tj"; tk: "bd.tk"; tl: "bd.tl"; tm: "bd.tm"; tn: "bd.tn"; to: "bd.to"; tp: "bd.tp"; tq: "bd.tq"; tr: "bd.tr"; ts: "bd.ts"; tt: "bd.tt"; tu: "bd.tu"; tv: "bd.tv"; tw: "bd.tw"; tx: "bd.tx"; ty: "bd.ty"; tz: "bd.tz"; ua: "bd.ua"; ub: "bd.ub"; uc: "bd.uc"; ud: "bd.ud"; ue: "bd.ue"; uf: "bd.uf"; ug: "bd.ug"; uh: "bd.uh"; ui: "bd.ui"; uj: "bd.uj"; uk: "bd.uk"; ul: "bd.ul"; um: "bd.um"; un: "bd.un"; uo: "bd.uo"; up: "bd.up"; uq: "bd.uq"; ur: "bd.ur"; us: "bd.us"; ut: "bd.ut"; uu: "bd.uu"; uv: "bd.uv"; uw: "bd.uw"; ux: "bd.ux"; uy: "bd.uy"; uz: "bd.uz"; va: "bd.va"; vb: "bd.vb"; vc: "bd.vc"; vd: "bd.vd"; ve: "bd.ve"; vf: "bd.vf"; vg: "bd.vg"; vh: "bd.vh"; vi: "bd.vi"; vj: "bd.vj"; vk: "bd.vk"; vl: "bd.vl"; vm: "bd.vm"; vn: "bd.vn"; vo: "bd.vo"; vp: "bd.vp"; vq: "bd.vq"; vr: "bd.vr"; vs: "bd.vs"; vt: "bd.vt"; vu: "bd.vu"; vv: "bd.vv"; vw: "bd.vw"; vx: "bd.vx"; vy: "bd.vy"; vz: "bd.vz"; wa: "bd.wa"; wb: "bd.wb"; wc: "bd.wc"; wd: "bd.wd"; we: "bd.we"; wf: "bd.wf"; wg: "bd.wg"; wh: "bd.wh"; wi: "bd.wi"; wj: "bd.wj"; wk: "bd.wk"; wl: "bd.wl"; wm: "bd.wm"; wn: "bd.wn"; wo: "bd.wo"; wp: "bd.wp"; wq: "bd.wq"; wr: "bd.wr"; ws: "bd.ws"; wt: "bd.wt"; wu: "bd.wu"; wv: "bd.wv"; ww: "bd.ww"; wx: "bd.wx"; wy: "bd.wy"; wz: "bd.wz"; xa: "bd.xa"; xb: "bd.xb"; xc: "bd.xc"; xd: "bd.xd"; xe: "bd.xe"; xf: "bd.xf"; xg: "bd.xg"; xh: "bd.xh"; xi: "bd.xi"; xj: "bd.xj"; xk: "bd.xk"; xl: "bd.xl"; xm: "bd.xm"; xn: "bd.xn"; xo: "bd.xo"; xp: "bd.xp"; xq: "bd.xq"; xr: "bd.xr"; xs: "bd.xs"; xt: "bd.xt"; xu: "bd.xu"; xv: "bd.xv"; xw: "bd.xw"; xx: "bd.xx"; xy: "bd.xy"; xz: "bd.xz"; ya: "bd.ya"; yb: "bd.yb"; yc: "bd.yc"; yd: "bd.yd"; ye: "bd.ye"; yf: "bd.yf"; yg: "bd.yg"; yh: "bd.yh"; yi: "bd.yi"; yj: "bd.yj"; yk: "bd.yk"; yl: "bd.yl"; ym: "bd.ym"; yn: "bd.yn"; yo: "bd.yo"; yp: "bd.yp"; yq: "bd.yq"; yr: "bd.yr"; ys: "bd.ys"; yt: "bd.yt"; yu: "bd.yu"; yv: "bd.yv"; yw: "bd.yw"; yx: "bd.yx"; yy: "bd.yy"; yz: "bd.yz"; za: "bd.za"; zb: "bd.zb"; zc: "bd.zc"; zd: "bd.zd"; ze: "bd.ze"; zf: "bd.zf"; zg: "bd.zg"; zh: "bd.zh"; zi: "bd.zi"; zj: "bd.zj"; zk: "bd.zk"; zl: "bd.zl"; zm: "bd.zm"; zn: "bd.zn"; zo: "bd.zo"; zp: "bd.zp"; zq: "bd.zq"; zr: "bd.zr"; zs: "bd.zs"; zt: "bd.zt"; zu: "bd.zu"; zv: "bd.zv"; zw: "bd.zw"; zx: "bd.zx"; zy: "bd.zy"; zz: "bd.zz"; }; be: { aa: "be.aa"; ab: "be.ab"; ac: "be.ac"; ad: "be.ad"; ae: "be.ae"; af: "be.af"; ag: "be.ag"; ah: "be.ah"; ai: "be.ai"; aj: "be.aj"; ak: "be.ak"; al: "be.al"; am: "be.am"; an: "be.an"; ao: "be.ao"; ap: "be.ap"; aq: "be.aq"; ar: "be.ar"; as: "be.as"; at: "be.at"; au: "be.au"; av: "be.av"; aw: "be.aw"; ax: "be.ax"; ay: "be.ay"; az: "be.az"; ba: "be.ba"; bb: "be.bb"; bc: "be.bc"; bd: "be.bd"; be: "be.be"; bf: "be.bf"; bg: "be.bg"; bh: "be.bh"; bi: "be.bi"; bj: "be.bj"; bk: "be.bk"; bl: "be.bl"; bm: "be.bm"; bn: "be.bn"; bo: "be.bo"; bp: "be.bp"; bq: "be.bq"; br: "be.br"; bs: "be.bs"; bt: "be.bt"; bu: "be.bu"; bv: "be.bv"; bw: "be.bw"; bx: "be.bx"; by: "be.by"; bz: "be.bz"; ca: "be.ca"; cb: "be.cb"; cc: "be.cc"; cd: "be.cd"; ce: "be.ce"; cf: "be.cf"; cg: "be.cg"; ch: "be.ch"; ci: "be.ci"; cj: "be.cj"; ck: "be.ck"; cl: "be.cl"; cm: "be.cm"; cn: "be.cn"; co: "be.co"; cp: "be.cp"; cq: "be.cq"; cr: "be.cr"; cs: "be.cs"; ct: "be.ct"; cu: "be.cu"; cv: "be.cv"; cw: "be.cw"; cx: "be.cx"; cy: "be.cy"; cz: "be.cz"; da: "be.da"; db: "be.db"; dc: "be.dc"; dd: "be.dd"; de: "be.de"; df: "be.df"; dg: "be.dg"; dh: "be.dh"; di: "be.di"; dj: "be.dj"; dk: "be.dk"; dl: "be.dl"; dm: "be.dm"; dn: "be.dn"; do: "be.do"; dp: "be.dp"; dq: "be.dq"; dr: "be.dr"; ds: "be.ds"; dt: "be.dt"; du: "be.du"; dv: "be.dv"; dw: "be.dw"; dx: "be.dx"; dy: "be.dy"; dz: "be.dz"; ea: "be.ea"; eb: "be.eb"; ec: "be.ec"; ed: "be.ed"; ee: "be.ee"; ef: "be.ef"; eg: "be.eg"; eh: "be.eh"; ei: "be.ei"; ej: "be.ej"; ek: "be.ek"; el: "be.el"; em: "be.em"; en: "be.en"; eo: "be.eo"; ep: "be.ep"; eq: "be.eq"; er: "be.er"; es: "be.es"; et: "be.et"; eu: "be.eu"; ev: "be.ev"; ew: "be.ew"; ex: "be.ex"; ey: "be.ey"; ez: "be.ez"; fa: "be.fa"; fb: "be.fb"; fc: "be.fc"; fd: "be.fd"; fe: "be.fe"; ff: "be.ff"; fg: "be.fg"; fh: "be.fh"; fi: "be.fi"; fj: "be.fj"; fk: "be.fk"; fl: "be.fl"; fm: "be.fm"; fn: "be.fn"; fo: "be.fo"; fp: "be.fp"; fq: "be.fq"; fr: "be.fr"; fs: "be.fs"; ft: "be.ft"; fu: "be.fu"; fv: "be.fv"; fw: "be.fw"; fx: "be.fx"; fy: "be.fy"; fz: "be.fz"; ga: "be.ga"; gb: "be.gb"; gc: "be.gc"; gd: "be.gd"; ge: "be.ge"; gf: "be.gf"; gg: "be.gg"; gh: "be.gh"; gi: "be.gi"; gj: "be.gj"; gk: "be.gk"; gl: "be.gl"; gm: "be.gm"; gn: "be.gn"; go: "be.go"; gp: "be.gp"; gq: "be.gq"; gr: "be.gr"; gs: "be.gs"; gt: "be.gt"; gu: "be.gu"; gv: "be.gv"; gw: "be.gw"; gx: "be.gx"; gy: "be.gy"; gz: "be.gz"; ha: "be.ha"; hb: "be.hb"; hc: "be.hc"; hd: "be.hd"; he: "be.he"; hf: "be.hf"; hg: "be.hg"; hh: "be.hh"; hi: "be.hi"; hj: "be.hj"; hk: "be.hk"; hl: "be.hl"; hm: "be.hm"; hn: "be.hn"; ho: "be.ho"; hp: "be.hp"; hq: "be.hq"; hr: "be.hr"; hs: "be.hs"; ht: "be.ht"; hu: "be.hu"; hv: "be.hv"; hw: "be.hw"; hx: "be.hx"; hy: "be.hy"; hz: "be.hz"; ia: "be.ia"; ib: "be.ib"; ic: "be.ic"; id: "be.id"; ie: "be.ie"; if: "be.if"; ig: "be.ig"; ih: "be.ih"; ii: "be.ii"; ij: "be.ij"; ik: "be.ik"; il: "be.il"; im: "be.im"; in: "be.in"; io: "be.io"; ip: "be.ip"; iq: "be.iq"; ir: "be.ir"; is: "be.is"; it: "be.it"; iu: "be.iu"; iv: "be.iv"; iw: "be.iw"; ix: "be.ix"; iy: "be.iy"; iz: "be.iz"; ja: "be.ja"; jb: "be.jb"; jc: "be.jc"; jd: "be.jd"; je: "be.je"; jf: "be.jf"; jg: "be.jg"; jh: "be.jh"; ji: "be.ji"; jj: "be.jj"; jk: "be.jk"; jl: "be.jl"; jm: "be.jm"; jn: "be.jn"; jo: "be.jo"; jp: "be.jp"; jq: "be.jq"; jr: "be.jr"; js: "be.js"; jt: "be.jt"; ju: "be.ju"; jv: "be.jv"; jw: "be.jw"; jx: "be.jx"; jy: "be.jy"; jz: "be.jz"; ka: "be.ka"; kb: "be.kb"; kc: "be.kc"; kd: "be.kd"; ke: "be.ke"; kf: "be.kf"; kg: "be.kg"; kh: "be.kh"; ki: "be.ki"; kj: "be.kj"; kk: "be.kk"; kl: "be.kl"; km: "be.km"; kn: "be.kn"; ko: "be.ko"; kp: "be.kp"; kq: "be.kq"; kr: "be.kr"; ks: "be.ks"; kt: "be.kt"; ku: "be.ku"; kv: "be.kv"; kw: "be.kw"; kx: "be.kx"; ky: "be.ky"; kz: "be.kz"; la: "be.la"; lb: "be.lb"; lc: "be.lc"; ld: "be.ld"; le: "be.le"; lf: "be.lf"; lg: "be.lg"; lh: "be.lh"; li: "be.li"; lj: "be.lj"; lk: "be.lk"; ll: "be.ll"; lm: "be.lm"; ln: "be.ln"; lo: "be.lo"; lp: "be.lp"; lq: "be.lq"; lr: "be.lr"; ls: "be.ls"; lt: "be.lt"; lu: "be.lu"; lv: "be.lv"; lw: "be.lw"; lx: "be.lx"; ly: "be.ly"; lz: "be.lz"; ma: "be.ma"; mb: "be.mb"; mc: "be.mc"; md: "be.md"; me: "be.me"; mf: "be.mf"; mg: "be.mg"; mh: "be.mh"; mi: "be.mi"; mj: "be.mj"; mk: "be.mk"; ml: "be.ml"; mm: "be.mm"; mn: "be.mn"; mo: "be.mo"; mp: "be.mp"; mq: "be.mq"; mr: "be.mr"; ms: "be.ms"; mt: "be.mt"; mu: "be.mu"; mv: "be.mv"; mw: "be.mw"; mx: "be.mx"; my: "be.my"; mz: "be.mz"; na: "be.na"; nb: "be.nb"; nc: "be.nc"; nd: "be.nd"; ne: "be.ne"; nf: "be.nf"; ng: "be.ng"; nh: "be.nh"; ni: "be.ni"; nj: "be.nj"; nk: "be.nk"; nl: "be.nl"; nm: "be.nm"; nn: "be.nn"; no: "be.no"; np: "be.np"; nq: "be.nq"; nr: "be.nr"; ns: "be.ns"; nt: "be.nt"; nu: "be.nu"; nv: "be.nv"; nw: "be.nw"; nx: "be.nx"; ny: "be.ny"; nz: "be.nz"; oa: "be.oa"; ob: "be.ob"; oc: "be.oc"; od: "be.od"; oe: "be.oe"; of: "be.of"; og: "be.og"; oh: "be.oh"; oi: "be.oi"; oj: "be.oj"; ok: "be.ok"; ol: "be.ol"; om: "be.om"; on: "be.on"; oo: "be.oo"; op: "be.op"; oq: "be.oq"; or: "be.or"; os: "be.os"; ot: "be.ot"; ou: "be.ou"; ov: "be.ov"; ow: "be.ow"; ox: "be.ox"; oy: "be.oy"; oz: "be.oz"; pa: "be.pa"; pb: "be.pb"; pc: "be.pc"; pd: "be.pd"; pe: "be.pe"; pf: "be.pf"; pg: "be.pg"; ph: "be.ph"; pi: "be.pi"; pj: "be.pj"; pk: "be.pk"; pl: "be.pl"; pm: "be.pm"; pn: "be.pn"; po: "be.po"; pp: "be.pp"; pq: "be.pq"; pr: "be.pr"; ps: "be.ps"; pt: "be.pt"; pu: "be.pu"; pv: "be.pv"; pw: "be.pw"; px: "be.px"; py: "be.py"; pz: "be.pz"; qa: "be.qa"; qb: "be.qb"; qc: "be.qc"; qd: "be.qd"; qe: "be.qe"; qf: "be.qf"; qg: "be.qg"; qh: "be.qh"; qi: "be.qi"; qj: "be.qj"; qk: "be.qk"; ql: "be.ql"; qm: "be.qm"; qn: "be.qn"; qo: "be.qo"; qp: "be.qp"; qq: "be.qq"; qr: "be.qr"; qs: "be.qs"; qt: "be.qt"; qu: "be.qu"; qv: "be.qv"; qw: "be.qw"; qx: "be.qx"; qy: "be.qy"; qz: "be.qz"; ra: "be.ra"; rb: "be.rb"; rc: "be.rc"; rd: "be.rd"; re: "be.re"; rf: "be.rf"; rg: "be.rg"; rh: "be.rh"; ri: "be.ri"; rj: "be.rj"; rk: "be.rk"; rl: "be.rl"; rm: "be.rm"; rn: "be.rn"; ro: "be.ro"; rp: "be.rp"; rq: "be.rq"; rr: "be.rr"; rs: "be.rs"; rt: "be.rt"; ru: "be.ru"; rv: "be.rv"; rw: "be.rw"; rx: "be.rx"; ry: "be.ry"; rz: "be.rz"; sa: "be.sa"; sb: "be.sb"; sc: "be.sc"; sd: "be.sd"; se: "be.se"; sf: "be.sf"; sg: "be.sg"; sh: "be.sh"; si: "be.si"; sj: "be.sj"; sk: "be.sk"; sl: "be.sl"; sm: "be.sm"; sn: "be.sn"; so: "be.so"; sp: "be.sp"; sq: "be.sq"; sr: "be.sr"; ss: "be.ss"; st: "be.st"; su: "be.su"; sv: "be.sv"; sw: "be.sw"; sx: "be.sx"; sy: "be.sy"; sz: "be.sz"; ta: "be.ta"; tb: "be.tb"; tc: "be.tc"; td: "be.td"; te: "be.te"; tf: "be.tf"; tg: "be.tg"; th: "be.th"; ti: "be.ti"; tj: "be.tj"; tk: "be.tk"; tl: "be.tl"; tm: "be.tm"; tn: "be.tn"; to: "be.to"; tp: "be.tp"; tq: "be.tq"; tr: "be.tr"; ts: "be.ts"; tt: "be.tt"; tu: "be.tu"; tv: "be.tv"; tw: "be.tw"; tx: "be.tx"; ty: "be.ty"; tz: "be.tz"; ua: "be.ua"; ub: "be.ub"; uc: "be.uc"; ud: "be.ud"; ue: "be.ue"; uf: "be.uf"; ug: "be.ug"; uh: "be.uh"; ui: "be.ui"; uj: "be.uj"; uk: "be.uk"; ul: "be.ul"; um: "be.um"; un: "be.un"; uo: "be.uo"; up: "be.up"; uq: "be.uq"; ur: "be.ur"; us: "be.us"; ut: "be.ut"; uu: "be.uu"; uv: "be.uv"; uw: "be.uw"; ux: "be.ux"; uy: "be.uy"; uz: "be.uz"; va: "be.va"; vb: "be.vb"; vc: "be.vc"; vd: "be.vd"; ve: "be.ve"; vf: "be.vf"; vg: "be.vg"; vh: "be.vh"; vi: "be.vi"; vj: "be.vj"; vk: "be.vk"; vl: "be.vl"; vm: "be.vm"; vn: "be.vn"; vo: "be.vo"; vp: "be.vp"; vq: "be.vq"; vr: "be.vr"; vs: "be.vs"; vt: "be.vt"; vu: "be.vu"; vv: "be.vv"; vw: "be.vw"; vx: "be.vx"; vy: "be.vy"; vz: "be.vz"; wa: "be.wa"; wb: "be.wb"; wc: "be.wc"; wd: "be.wd"; we: "be.we"; wf: "be.wf"; wg: "be.wg"; wh: "be.wh"; wi: "be.wi"; wj: "be.wj"; wk: "be.wk"; wl: "be.wl"; wm: "be.wm"; wn: "be.wn"; wo: "be.wo"; wp: "be.wp"; wq: "be.wq"; wr: "be.wr"; ws: "be.ws"; wt: "be.wt"; wu: "be.wu"; wv: "be.wv"; ww: "be.ww"; wx: "be.wx"; wy: "be.wy"; wz: "be.wz"; xa: "be.xa"; xb: "be.xb"; xc: "be.xc"; xd: "be.xd"; xe: "be.xe"; xf: "be.xf"; xg: "be.xg"; xh: "be.xh"; xi: "be.xi"; xj: "be.xj"; xk: "be.xk"; xl: "be.xl"; xm: "be.xm"; xn: "be.xn"; xo: "be.xo"; xp: "be.xp"; xq: "be.xq"; xr: "be.xr"; xs: "be.xs"; xt: "be.xt"; xu: "be.xu"; xv: "be.xv"; xw: "be.xw"; xx: "be.xx"; xy: "be.xy"; xz: "be.xz"; ya: "be.ya"; yb: "be.yb"; yc: "be.yc"; yd: "be.yd"; ye: "be.ye"; yf: "be.yf"; yg: "be.yg"; yh: "be.yh"; yi: "be.yi"; yj: "be.yj"; yk: "be.yk"; yl: "be.yl"; ym: "be.ym"; yn: "be.yn"; yo: "be.yo"; yp: "be.yp"; yq: "be.yq"; yr: "be.yr"; ys: "be.ys"; yt: "be.yt"; yu: "be.yu"; yv: "be.yv"; yw: "be.yw"; yx: "be.yx"; yy: "be.yy"; yz: "be.yz"; za: "be.za"; zb: "be.zb"; zc: "be.zc"; zd: "be.zd"; ze: "be.ze"; zf: "be.zf"; zg: "be.zg"; zh: "be.zh"; zi: "be.zi"; zj: "be.zj"; zk: "be.zk"; zl: "be.zl"; zm: "be.zm"; zn: "be.zn"; zo: "be.zo"; zp: "be.zp"; zq: "be.zq"; zr: "be.zr"; zs: "be.zs"; zt: "be.zt"; zu: "be.zu"; zv: "be.zv"; zw: "be.zw"; zx: "be.zx"; zy: "be.zy"; zz: "be.zz"; }; bf: { aa: "bf.aa"; ab: "bf.ab"; ac: "bf.ac"; ad: "bf.ad"; ae: "bf.ae"; af: "bf.af"; ag: "bf.ag"; ah: "bf.ah"; ai: "bf.ai"; aj: "bf.aj"; ak: "bf.ak"; al: "bf.al"; am: "bf.am"; an: "bf.an"; ao: "bf.ao"; ap: "bf.ap"; aq: "bf.aq"; ar: "bf.ar"; as: "bf.as"; at: "bf.at"; au: "bf.au"; av: "bf.av"; aw: "bf.aw"; ax: "bf.ax"; ay: "bf.ay"; az: "bf.az"; ba: "bf.ba"; bb: "bf.bb"; bc: "bf.bc"; bd: "bf.bd"; be: "bf.be"; bf: "bf.bf"; bg: "bf.bg"; bh: "bf.bh"; bi: "bf.bi"; bj: "bf.bj"; bk: "bf.bk"; bl: "bf.bl"; bm: "bf.bm"; bn: "bf.bn"; bo: "bf.bo"; bp: "bf.bp"; bq: "bf.bq"; br: "bf.br"; bs: "bf.bs"; bt: "bf.bt"; bu: "bf.bu"; bv: "bf.bv"; bw: "bf.bw"; bx: "bf.bx"; by: "bf.by"; bz: "bf.bz"; ca: "bf.ca"; cb: "bf.cb"; cc: "bf.cc"; cd: "bf.cd"; ce: "bf.ce"; cf: "bf.cf"; cg: "bf.cg"; ch: "bf.ch"; ci: "bf.ci"; cj: "bf.cj"; ck: "bf.ck"; cl: "bf.cl"; cm: "bf.cm"; cn: "bf.cn"; co: "bf.co"; cp: "bf.cp"; cq: "bf.cq"; cr: "bf.cr"; cs: "bf.cs"; ct: "bf.ct"; cu: "bf.cu"; cv: "bf.cv"; cw: "bf.cw"; cx: "bf.cx"; cy: "bf.cy"; cz: "bf.cz"; da: "bf.da"; db: "bf.db"; dc: "bf.dc"; dd: "bf.dd"; de: "bf.de"; df: "bf.df"; dg: "bf.dg"; dh: "bf.dh"; di: "bf.di"; dj: "bf.dj"; dk: "bf.dk"; dl: "bf.dl"; dm: "bf.dm"; dn: "bf.dn"; do: "bf.do"; dp: "bf.dp"; dq: "bf.dq"; dr: "bf.dr"; ds: "bf.ds"; dt: "bf.dt"; du: "bf.du"; dv: "bf.dv"; dw: "bf.dw"; dx: "bf.dx"; dy: "bf.dy"; dz: "bf.dz"; ea: "bf.ea"; eb: "bf.eb"; ec: "bf.ec"; ed: "bf.ed"; ee: "bf.ee"; ef: "bf.ef"; eg: "bf.eg"; eh: "bf.eh"; ei: "bf.ei"; ej: "bf.ej"; ek: "bf.ek"; el: "bf.el"; em: "bf.em"; en: "bf.en"; eo: "bf.eo"; ep: "bf.ep"; eq: "bf.eq"; er: "bf.er"; es: "bf.es"; et: "bf.et"; eu: "bf.eu"; ev: "bf.ev"; ew: "bf.ew"; ex: "bf.ex"; ey: "bf.ey"; ez: "bf.ez"; fa: "bf.fa"; fb: "bf.fb"; fc: "bf.fc"; fd: "bf.fd"; fe: "bf.fe"; ff: "bf.ff"; fg: "bf.fg"; fh: "bf.fh"; fi: "bf.fi"; fj: "bf.fj"; fk: "bf.fk"; fl: "bf.fl"; fm: "bf.fm"; fn: "bf.fn"; fo: "bf.fo"; fp: "bf.fp"; fq: "bf.fq"; fr: "bf.fr"; fs: "bf.fs"; ft: "bf.ft"; fu: "bf.fu"; fv: "bf.fv"; fw: "bf.fw"; fx: "bf.fx"; fy: "bf.fy"; fz: "bf.fz"; ga: "bf.ga"; gb: "bf.gb"; gc: "bf.gc"; gd: "bf.gd"; ge: "bf.ge"; gf: "bf.gf"; gg: "bf.gg"; gh: "bf.gh"; gi: "bf.gi"; gj: "bf.gj"; gk: "bf.gk"; gl: "bf.gl"; gm: "bf.gm"; gn: "bf.gn"; go: "bf.go"; gp: "bf.gp"; gq: "bf.gq"; gr: "bf.gr"; gs: "bf.gs"; gt: "bf.gt"; gu: "bf.gu"; gv: "bf.gv"; gw: "bf.gw"; gx: "bf.gx"; gy: "bf.gy"; gz: "bf.gz"; ha: "bf.ha"; hb: "bf.hb"; hc: "bf.hc"; hd: "bf.hd"; he: "bf.he"; hf: "bf.hf"; hg: "bf.hg"; hh: "bf.hh"; hi: "bf.hi"; hj: "bf.hj"; hk: "bf.hk"; hl: "bf.hl"; hm: "bf.hm"; hn: "bf.hn"; ho: "bf.ho"; hp: "bf.hp"; hq: "bf.hq"; hr: "bf.hr"; hs: "bf.hs"; ht: "bf.ht"; hu: "bf.hu"; hv: "bf.hv"; hw: "bf.hw"; hx: "bf.hx"; hy: "bf.hy"; hz: "bf.hz"; ia: "bf.ia"; ib: "bf.ib"; ic: "bf.ic"; id: "bf.id"; ie: "bf.ie"; if: "bf.if"; ig: "bf.ig"; ih: "bf.ih"; ii: "bf.ii"; ij: "bf.ij"; ik: "bf.ik"; il: "bf.il"; im: "bf.im"; in: "bf.in"; io: "bf.io"; ip: "bf.ip"; iq: "bf.iq"; ir: "bf.ir"; is: "bf.is"; it: "bf.it"; iu: "bf.iu"; iv: "bf.iv"; iw: "bf.iw"; ix: "bf.ix"; iy: "bf.iy"; iz: "bf.iz"; ja: "bf.ja"; jb: "bf.jb"; jc: "bf.jc"; jd: "bf.jd"; je: "bf.je"; jf: "bf.jf"; jg: "bf.jg"; jh: "bf.jh"; ji: "bf.ji"; jj: "bf.jj"; jk: "bf.jk"; jl: "bf.jl"; jm: "bf.jm"; jn: "bf.jn"; jo: "bf.jo"; jp: "bf.jp"; jq: "bf.jq"; jr: "bf.jr"; js: "bf.js"; jt: "bf.jt"; ju: "bf.ju"; jv: "bf.jv"; jw: "bf.jw"; jx: "bf.jx"; jy: "bf.jy"; jz: "bf.jz"; ka: "bf.ka"; kb: "bf.kb"; kc: "bf.kc"; kd: "bf.kd"; ke: "bf.ke"; kf: "bf.kf"; kg: "bf.kg"; kh: "bf.kh"; ki: "bf.ki"; kj: "bf.kj"; kk: "bf.kk"; kl: "bf.kl"; km: "bf.km"; kn: "bf.kn"; ko: "bf.ko"; kp: "bf.kp"; kq: "bf.kq"; kr: "bf.kr"; ks: "bf.ks"; kt: "bf.kt"; ku: "bf.ku"; kv: "bf.kv"; kw: "bf.kw"; kx: "bf.kx"; ky: "bf.ky"; kz: "bf.kz"; la: "bf.la"; lb: "bf.lb"; lc: "bf.lc"; ld: "bf.ld"; le: "bf.le"; lf: "bf.lf"; lg: "bf.lg"; lh: "bf.lh"; li: "bf.li"; lj: "bf.lj"; lk: "bf.lk"; ll: "bf.ll"; lm: "bf.lm"; ln: "bf.ln"; lo: "bf.lo"; lp: "bf.lp"; lq: "bf.lq"; lr: "bf.lr"; ls: "bf.ls"; lt: "bf.lt"; lu: "bf.lu"; lv: "bf.lv"; lw: "bf.lw"; lx: "bf.lx"; ly: "bf.ly"; lz: "bf.lz"; ma: "bf.ma"; mb: "bf.mb"; mc: "bf.mc"; md: "bf.md"; me: "bf.me"; mf: "bf.mf"; mg: "bf.mg"; mh: "bf.mh"; mi: "bf.mi"; mj: "bf.mj"; mk: "bf.mk"; ml: "bf.ml"; mm: "bf.mm"; mn: "bf.mn"; mo: "bf.mo"; mp: "bf.mp"; mq: "bf.mq"; mr: "bf.mr"; ms: "bf.ms"; mt: "bf.mt"; mu: "bf.mu"; mv: "bf.mv"; mw: "bf.mw"; mx: "bf.mx"; my: "bf.my"; mz: "bf.mz"; na: "bf.na"; nb: "bf.nb"; nc: "bf.nc"; nd: "bf.nd"; ne: "bf.ne"; nf: "bf.nf"; ng: "bf.ng"; nh: "bf.nh"; ni: "bf.ni"; nj: "bf.nj"; nk: "bf.nk"; nl: "bf.nl"; nm: "bf.nm"; nn: "bf.nn"; no: "bf.no"; np: "bf.np"; nq: "bf.nq"; nr: "bf.nr"; ns: "bf.ns"; nt: "bf.nt"; nu: "bf.nu"; nv: "bf.nv"; nw: "bf.nw"; nx: "bf.nx"; ny: "bf.ny"; nz: "bf.nz"; oa: "bf.oa"; ob: "bf.ob"; oc: "bf.oc"; od: "bf.od"; oe: "bf.oe"; of: "bf.of"; og: "bf.og"; oh: "bf.oh"; oi: "bf.oi"; oj: "bf.oj"; ok: "bf.ok"; ol: "bf.ol"; om: "bf.om"; on: "bf.on"; oo: "bf.oo"; op: "bf.op"; oq: "bf.oq"; or: "bf.or"; os: "bf.os"; ot: "bf.ot"; ou: "bf.ou"; ov: "bf.ov"; ow: "bf.ow"; ox: "bf.ox"; oy: "bf.oy"; oz: "bf.oz"; pa: "bf.pa"; pb: "bf.pb"; pc: "bf.pc"; pd: "bf.pd"; pe: "bf.pe"; pf: "bf.pf"; pg: "bf.pg"; ph: "bf.ph"; pi: "bf.pi"; pj: "bf.pj"; pk: "bf.pk"; pl: "bf.pl"; pm: "bf.pm"; pn: "bf.pn"; po: "bf.po"; pp: "bf.pp"; pq: "bf.pq"; pr: "bf.pr"; ps: "bf.ps"; pt: "bf.pt"; pu: "bf.pu"; pv: "bf.pv"; pw: "bf.pw"; px: "bf.px"; py: "bf.py"; pz: "bf.pz"; qa: "bf.qa"; qb: "bf.qb"; qc: "bf.qc"; qd: "bf.qd"; qe: "bf.qe"; qf: "bf.qf"; qg: "bf.qg"; qh: "bf.qh"; qi: "bf.qi"; qj: "bf.qj"; qk: "bf.qk"; ql: "bf.ql"; qm: "bf.qm"; qn: "bf.qn"; qo: "bf.qo"; qp: "bf.qp"; qq: "bf.qq"; qr: "bf.qr"; qs: "bf.qs"; qt: "bf.qt"; qu: "bf.qu"; qv: "bf.qv"; qw: "bf.qw"; qx: "bf.qx"; qy: "bf.qy"; qz: "bf.qz"; ra: "bf.ra"; rb: "bf.rb"; rc: "bf.rc"; rd: "bf.rd"; re: "bf.re"; rf: "bf.rf"; rg: "bf.rg"; rh: "bf.rh"; ri: "bf.ri"; rj: "bf.rj"; rk: "bf.rk"; rl: "bf.rl"; rm: "bf.rm"; rn: "bf.rn"; ro: "bf.ro"; rp: "bf.rp"; rq: "bf.rq"; rr: "bf.rr"; rs: "bf.rs"; rt: "bf.rt"; ru: "bf.ru"; rv: "bf.rv"; rw: "bf.rw"; rx: "bf.rx"; ry: "bf.ry"; rz: "bf.rz"; sa: "bf.sa"; sb: "bf.sb"; sc: "bf.sc"; sd: "bf.sd"; se: "bf.se"; sf: "bf.sf"; sg: "bf.sg"; sh: "bf.sh"; si: "bf.si"; sj: "bf.sj"; sk: "bf.sk"; sl: "bf.sl"; sm: "bf.sm"; sn: "bf.sn"; so: "bf.so"; sp: "bf.sp"; sq: "bf.sq"; sr: "bf.sr"; ss: "bf.ss"; st: "bf.st"; su: "bf.su"; sv: "bf.sv"; sw: "bf.sw"; sx: "bf.sx"; sy: "bf.sy"; sz: "bf.sz"; ta: "bf.ta"; tb: "bf.tb"; tc: "bf.tc"; td: "bf.td"; te: "bf.te"; tf: "bf.tf"; tg: "bf.tg"; th: "bf.th"; ti: "bf.ti"; tj: "bf.tj"; tk: "bf.tk"; tl: "bf.tl"; tm: "bf.tm"; tn: "bf.tn"; to: "bf.to"; tp: "bf.tp"; tq: "bf.tq"; tr: "bf.tr"; ts: "bf.ts"; tt: "bf.tt"; tu: "bf.tu"; tv: "bf.tv"; tw: "bf.tw"; tx: "bf.tx"; ty: "bf.ty"; tz: "bf.tz"; ua: "bf.ua"; ub: "bf.ub"; uc: "bf.uc"; ud: "bf.ud"; ue: "bf.ue"; uf: "bf.uf"; ug: "bf.ug"; uh: "bf.uh"; ui: "bf.ui"; uj: "bf.uj"; uk: "bf.uk"; ul: "bf.ul"; um: "bf.um"; un: "bf.un"; uo: "bf.uo"; up: "bf.up"; uq: "bf.uq"; ur: "bf.ur"; us: "bf.us"; ut: "bf.ut"; uu: "bf.uu"; uv: "bf.uv"; uw: "bf.uw"; ux: "bf.ux"; uy: "bf.uy"; uz: "bf.uz"; va: "bf.va"; vb: "bf.vb"; vc: "bf.vc"; vd: "bf.vd"; ve: "bf.ve"; vf: "bf.vf"; vg: "bf.vg"; vh: "bf.vh"; vi: "bf.vi"; vj: "bf.vj"; vk: "bf.vk"; vl: "bf.vl"; vm: "bf.vm"; vn: "bf.vn"; vo: "bf.vo"; vp: "bf.vp"; vq: "bf.vq"; vr: "bf.vr"; vs: "bf.vs"; vt: "bf.vt"; vu: "bf.vu"; vv: "bf.vv"; vw: "bf.vw"; vx: "bf.vx"; vy: "bf.vy"; vz: "bf.vz"; wa: "bf.wa"; wb: "bf.wb"; wc: "bf.wc"; wd: "bf.wd"; we: "bf.we"; wf: "bf.wf"; wg: "bf.wg"; wh: "bf.wh"; wi: "bf.wi"; wj: "bf.wj"; wk: "bf.wk"; wl: "bf.wl"; wm: "bf.wm"; wn: "bf.wn"; wo: "bf.wo"; wp: "bf.wp"; wq: "bf.wq"; wr: "bf.wr"; ws: "bf.ws"; wt: "bf.wt"; wu: "bf.wu"; wv: "bf.wv"; ww: "bf.ww"; wx: "bf.wx"; wy: "bf.wy"; wz: "bf.wz"; xa: "bf.xa"; xb: "bf.xb"; xc: "bf.xc"; xd: "bf.xd"; xe: "bf.xe"; xf: "bf.xf"; xg: "bf.xg"; xh: "bf.xh"; xi: "bf.xi"; xj: "bf.xj"; xk: "bf.xk"; xl: "bf.xl"; xm: "bf.xm"; xn: "bf.xn"; xo: "bf.xo"; xp: "bf.xp"; xq: "bf.xq"; xr: "bf.xr"; xs: "bf.xs"; xt: "bf.xt"; xu: "bf.xu"; xv: "bf.xv"; xw: "bf.xw"; xx: "bf.xx"; xy: "bf.xy"; xz: "bf.xz"; ya: "bf.ya"; yb: "bf.yb"; yc: "bf.yc"; yd: "bf.yd"; ye: "bf.ye"; yf: "bf.yf"; yg: "bf.yg"; yh: "bf.yh"; yi: "bf.yi"; yj: "bf.yj"; yk: "bf.yk"; yl: "bf.yl"; ym: "bf.ym"; yn: "bf.yn"; yo: "bf.yo"; yp: "bf.yp"; yq: "bf.yq"; yr: "bf.yr"; ys: "bf.ys"; yt: "bf.yt"; yu: "bf.yu"; yv: "bf.yv"; yw: "bf.yw"; yx: "bf.yx"; yy: "bf.yy"; yz: "bf.yz"; za: "bf.za"; zb: "bf.zb"; zc: "bf.zc"; zd: "bf.zd"; ze: "bf.ze"; zf: "bf.zf"; zg: "bf.zg"; zh: "bf.zh"; zi: "bf.zi"; zj: "bf.zj"; zk: "bf.zk"; zl: "bf.zl"; zm: "bf.zm"; zn: "bf.zn"; zo: "bf.zo"; zp: "bf.zp"; zq: "bf.zq"; zr: "bf.zr"; zs: "bf.zs"; zt: "bf.zt"; zu: "bf.zu"; zv: "bf.zv"; zw: "bf.zw"; zx: "bf.zx"; zy: "bf.zy"; zz: "bf.zz"; }; bg: { aa: "bg.aa"; ab: "bg.ab"; ac: "bg.ac"; ad: "bg.ad"; ae: "bg.ae"; af: "bg.af"; ag: "bg.ag"; ah: "bg.ah"; ai: "bg.ai"; aj: "bg.aj"; ak: "bg.ak"; al: "bg.al"; am: "bg.am"; an: "bg.an"; ao: "bg.ao"; ap: "bg.ap"; aq: "bg.aq"; ar: "bg.ar"; as: "bg.as"; at: "bg.at"; au: "bg.au"; av: "bg.av"; aw: "bg.aw"; ax: "bg.ax"; ay: "bg.ay"; az: "bg.az"; ba: "bg.ba"; bb: "bg.bb"; bc: "bg.bc"; bd: "bg.bd"; be: "bg.be"; bf: "bg.bf"; bg: "bg.bg"; bh: "bg.bh"; bi: "bg.bi"; bj: "bg.bj"; bk: "bg.bk"; bl: "bg.bl"; bm: "bg.bm"; bn: "bg.bn"; bo: "bg.bo"; bp: "bg.bp"; bq: "bg.bq"; br: "bg.br"; bs: "bg.bs"; bt: "bg.bt"; bu: "bg.bu"; bv: "bg.bv"; bw: "bg.bw"; bx: "bg.bx"; by: "bg.by"; bz: "bg.bz"; ca: "bg.ca"; cb: "bg.cb"; cc: "bg.cc"; cd: "bg.cd"; ce: "bg.ce"; cf: "bg.cf"; cg: "bg.cg"; ch: "bg.ch"; ci: "bg.ci"; cj: "bg.cj"; ck: "bg.ck"; cl: "bg.cl"; cm: "bg.cm"; cn: "bg.cn"; co: "bg.co"; cp: "bg.cp"; cq: "bg.cq"; cr: "bg.cr"; cs: "bg.cs"; ct: "bg.ct"; cu: "bg.cu"; cv: "bg.cv"; cw: "bg.cw"; cx: "bg.cx"; cy: "bg.cy"; cz: "bg.cz"; da: "bg.da"; db: "bg.db"; dc: "bg.dc"; dd: "bg.dd"; de: "bg.de"; df: "bg.df"; dg: "bg.dg"; dh: "bg.dh"; di: "bg.di"; dj: "bg.dj"; dk: "bg.dk"; dl: "bg.dl"; dm: "bg.dm"; dn: "bg.dn"; do: "bg.do"; dp: "bg.dp"; dq: "bg.dq"; dr: "bg.dr"; ds: "bg.ds"; dt: "bg.dt"; du: "bg.du"; dv: "bg.dv"; dw: "bg.dw"; dx: "bg.dx"; dy: "bg.dy"; dz: "bg.dz"; ea: "bg.ea"; eb: "bg.eb"; ec: "bg.ec"; ed: "bg.ed"; ee: "bg.ee"; ef: "bg.ef"; eg: "bg.eg"; eh: "bg.eh"; ei: "bg.ei"; ej: "bg.ej"; ek: "bg.ek"; el: "bg.el"; em: "bg.em"; en: "bg.en"; eo: "bg.eo"; ep: "bg.ep"; eq: "bg.eq"; er: "bg.er"; es: "bg.es"; et: "bg.et"; eu: "bg.eu"; ev: "bg.ev"; ew: "bg.ew"; ex: "bg.ex"; ey: "bg.ey"; ez: "bg.ez"; fa: "bg.fa"; fb: "bg.fb"; fc: "bg.fc"; fd: "bg.fd"; fe: "bg.fe"; ff: "bg.ff"; fg: "bg.fg"; fh: "bg.fh"; fi: "bg.fi"; fj: "bg.fj"; fk: "bg.fk"; fl: "bg.fl"; fm: "bg.fm"; fn: "bg.fn"; fo: "bg.fo"; fp: "bg.fp"; fq: "bg.fq"; fr: "bg.fr"; fs: "bg.fs"; ft: "bg.ft"; fu: "bg.fu"; fv: "bg.fv"; fw: "bg.fw"; fx: "bg.fx"; fy: "bg.fy"; fz: "bg.fz"; ga: "bg.ga"; gb: "bg.gb"; gc: "bg.gc"; gd: "bg.gd"; ge: "bg.ge"; gf: "bg.gf"; gg: "bg.gg"; gh: "bg.gh"; gi: "bg.gi"; gj: "bg.gj"; gk: "bg.gk"; gl: "bg.gl"; gm: "bg.gm"; gn: "bg.gn"; go: "bg.go"; gp: "bg.gp"; gq: "bg.gq"; gr: "bg.gr"; gs: "bg.gs"; gt: "bg.gt"; gu: "bg.gu"; gv: "bg.gv"; gw: "bg.gw"; gx: "bg.gx"; gy: "bg.gy"; gz: "bg.gz"; ha: "bg.ha"; hb: "bg.hb"; hc: "bg.hc"; hd: "bg.hd"; he: "bg.he"; hf: "bg.hf"; hg: "bg.hg"; hh: "bg.hh"; hi: "bg.hi"; hj: "bg.hj"; hk: "bg.hk"; hl: "bg.hl"; hm: "bg.hm"; hn: "bg.hn"; ho: "bg.ho"; hp: "bg.hp"; hq: "bg.hq"; hr: "bg.hr"; hs: "bg.hs"; ht: "bg.ht"; hu: "bg.hu"; hv: "bg.hv"; hw: "bg.hw"; hx: "bg.hx"; hy: "bg.hy"; hz: "bg.hz"; ia: "bg.ia"; ib: "bg.ib"; ic: "bg.ic"; id: "bg.id"; ie: "bg.ie"; if: "bg.if"; ig: "bg.ig"; ih: "bg.ih"; ii: "bg.ii"; ij: "bg.ij"; ik: "bg.ik"; il: "bg.il"; im: "bg.im"; in: "bg.in"; io: "bg.io"; ip: "bg.ip"; iq: "bg.iq"; ir: "bg.ir"; is: "bg.is"; it: "bg.it"; iu: "bg.iu"; iv: "bg.iv"; iw: "bg.iw"; ix: "bg.ix"; iy: "bg.iy"; iz: "bg.iz"; ja: "bg.ja"; jb: "bg.jb"; jc: "bg.jc"; jd: "bg.jd"; je: "bg.je"; jf: "bg.jf"; jg: "bg.jg"; jh: "bg.jh"; ji: "bg.ji"; jj: "bg.jj"; jk: "bg.jk"; jl: "bg.jl"; jm: "bg.jm"; jn: "bg.jn"; jo: "bg.jo"; jp: "bg.jp"; jq: "bg.jq"; jr: "bg.jr"; js: "bg.js"; jt: "bg.jt"; ju: "bg.ju"; jv: "bg.jv"; jw: "bg.jw"; jx: "bg.jx"; jy: "bg.jy"; jz: "bg.jz"; ka: "bg.ka"; kb: "bg.kb"; kc: "bg.kc"; kd: "bg.kd"; ke: "bg.ke"; kf: "bg.kf"; kg: "bg.kg"; kh: "bg.kh"; ki: "bg.ki"; kj: "bg.kj"; kk: "bg.kk"; kl: "bg.kl"; km: "bg.km"; kn: "bg.kn"; ko: "bg.ko"; kp: "bg.kp"; kq: "bg.kq"; kr: "bg.kr"; ks: "bg.ks"; kt: "bg.kt"; ku: "bg.ku"; kv: "bg.kv"; kw: "bg.kw"; kx: "bg.kx"; ky: "bg.ky"; kz: "bg.kz"; la: "bg.la"; lb: "bg.lb"; lc: "bg.lc"; ld: "bg.ld"; le: "bg.le"; lf: "bg.lf"; lg: "bg.lg"; lh: "bg.lh"; li: "bg.li"; lj: "bg.lj"; lk: "bg.lk"; ll: "bg.ll"; lm: "bg.lm"; ln: "bg.ln"; lo: "bg.lo"; lp: "bg.lp"; lq: "bg.lq"; lr: "bg.lr"; ls: "bg.ls"; lt: "bg.lt"; lu: "bg.lu"; lv: "bg.lv"; lw: "bg.lw"; lx: "bg.lx"; ly: "bg.ly"; lz: "bg.lz"; ma: "bg.ma"; mb: "bg.mb"; mc: "bg.mc"; md: "bg.md"; me: "bg.me"; mf: "bg.mf"; mg: "bg.mg"; mh: "bg.mh"; mi: "bg.mi"; mj: "bg.mj"; mk: "bg.mk"; ml: "bg.ml"; mm: "bg.mm"; mn: "bg.mn"; mo: "bg.mo"; mp: "bg.mp"; mq: "bg.mq"; mr: "bg.mr"; ms: "bg.ms"; mt: "bg.mt"; mu: "bg.mu"; mv: "bg.mv"; mw: "bg.mw"; mx: "bg.mx"; my: "bg.my"; mz: "bg.mz"; na: "bg.na"; nb: "bg.nb"; nc: "bg.nc"; nd: "bg.nd"; ne: "bg.ne"; nf: "bg.nf"; ng: "bg.ng"; nh: "bg.nh"; ni: "bg.ni"; nj: "bg.nj"; nk: "bg.nk"; nl: "bg.nl"; nm: "bg.nm"; nn: "bg.nn"; no: "bg.no"; np: "bg.np"; nq: "bg.nq"; nr: "bg.nr"; ns: "bg.ns"; nt: "bg.nt"; nu: "bg.nu"; nv: "bg.nv"; nw: "bg.nw"; nx: "bg.nx"; ny: "bg.ny"; nz: "bg.nz"; oa: "bg.oa"; ob: "bg.ob"; oc: "bg.oc"; od: "bg.od"; oe: "bg.oe"; of: "bg.of"; og: "bg.og"; oh: "bg.oh"; oi: "bg.oi"; oj: "bg.oj"; ok: "bg.ok"; ol: "bg.ol"; om: "bg.om"; on: "bg.on"; oo: "bg.oo"; op: "bg.op"; oq: "bg.oq"; or: "bg.or"; os: "bg.os"; ot: "bg.ot"; ou: "bg.ou"; ov: "bg.ov"; ow: "bg.ow"; ox: "bg.ox"; oy: "bg.oy"; oz: "bg.oz"; pa: "bg.pa"; pb: "bg.pb"; pc: "bg.pc"; pd: "bg.pd"; pe: "bg.pe"; pf: "bg.pf"; pg: "bg.pg"; ph: "bg.ph"; pi: "bg.pi"; pj: "bg.pj"; pk: "bg.pk"; pl: "bg.pl"; pm: "bg.pm"; pn: "bg.pn"; po: "bg.po"; pp: "bg.pp"; pq: "bg.pq"; pr: "bg.pr"; ps: "bg.ps"; pt: "bg.pt"; pu: "bg.pu"; pv: "bg.pv"; pw: "bg.pw"; px: "bg.px"; py: "bg.py"; pz: "bg.pz"; qa: "bg.qa"; qb: "bg.qb"; qc: "bg.qc"; qd: "bg.qd"; qe: "bg.qe"; qf: "bg.qf"; qg: "bg.qg"; qh: "bg.qh"; qi: "bg.qi"; qj: "bg.qj"; qk: "bg.qk"; ql: "bg.ql"; qm: "bg.qm"; qn: "bg.qn"; qo: "bg.qo"; qp: "bg.qp"; qq: "bg.qq"; qr: "bg.qr"; qs: "bg.qs"; qt: "bg.qt"; qu: "bg.qu"; qv: "bg.qv"; qw: "bg.qw"; qx: "bg.qx"; qy: "bg.qy"; qz: "bg.qz"; ra: "bg.ra"; rb: "bg.rb"; rc: "bg.rc"; rd: "bg.rd"; re: "bg.re"; rf: "bg.rf"; rg: "bg.rg"; rh: "bg.rh"; ri: "bg.ri"; rj: "bg.rj"; rk: "bg.rk"; rl: "bg.rl"; rm: "bg.rm"; rn: "bg.rn"; ro: "bg.ro"; rp: "bg.rp"; rq: "bg.rq"; rr: "bg.rr"; rs: "bg.rs"; rt: "bg.rt"; ru: "bg.ru"; rv: "bg.rv"; rw: "bg.rw"; rx: "bg.rx"; ry: "bg.ry"; rz: "bg.rz"; sa: "bg.sa"; sb: "bg.sb"; sc: "bg.sc"; sd: "bg.sd"; se: "bg.se"; sf: "bg.sf"; sg: "bg.sg"; sh: "bg.sh"; si: "bg.si"; sj: "bg.sj"; sk: "bg.sk"; sl: "bg.sl"; sm: "bg.sm"; sn: "bg.sn"; so: "bg.so"; sp: "bg.sp"; sq: "bg.sq"; sr: "bg.sr"; ss: "bg.ss"; st: "bg.st"; su: "bg.su"; sv: "bg.sv"; sw: "bg.sw"; sx: "bg.sx"; sy: "bg.sy"; sz: "bg.sz"; ta: "bg.ta"; tb: "bg.tb"; tc: "bg.tc"; td: "bg.td"; te: "bg.te"; tf: "bg.tf"; tg: "bg.tg"; th: "bg.th"; ti: "bg.ti"; tj: "bg.tj"; tk: "bg.tk"; tl: "bg.tl"; tm: "bg.tm"; tn: "bg.tn"; to: "bg.to"; tp: "bg.tp"; tq: "bg.tq"; tr: "bg.tr"; ts: "bg.ts"; tt: "bg.tt"; tu: "bg.tu"; tv: "bg.tv"; tw: "bg.tw"; tx: "bg.tx"; ty: "bg.ty"; tz: "bg.tz"; ua: "bg.ua"; ub: "bg.ub"; uc: "bg.uc"; ud: "bg.ud"; ue: "bg.ue"; uf: "bg.uf"; ug: "bg.ug"; uh: "bg.uh"; ui: "bg.ui"; uj: "bg.uj"; uk: "bg.uk"; ul: "bg.ul"; um: "bg.um"; un: "bg.un"; uo: "bg.uo"; up: "bg.up"; uq: "bg.uq"; ur: "bg.ur"; us: "bg.us"; ut: "bg.ut"; uu: "bg.uu"; uv: "bg.uv"; uw: "bg.uw"; ux: "bg.ux"; uy: "bg.uy"; uz: "bg.uz"; va: "bg.va"; vb: "bg.vb"; vc: "bg.vc"; vd: "bg.vd"; ve: "bg.ve"; vf: "bg.vf"; vg: "bg.vg"; vh: "bg.vh"; vi: "bg.vi"; vj: "bg.vj"; vk: "bg.vk"; vl: "bg.vl"; vm: "bg.vm"; vn: "bg.vn"; vo: "bg.vo"; vp: "bg.vp"; vq: "bg.vq"; vr: "bg.vr"; vs: "bg.vs"; vt: "bg.vt"; vu: "bg.vu"; vv: "bg.vv"; vw: "bg.vw"; vx: "bg.vx"; vy: "bg.vy"; vz: "bg.vz"; wa: "bg.wa"; wb: "bg.wb"; wc: "bg.wc"; wd: "bg.wd"; we: "bg.we"; wf: "bg.wf"; wg: "bg.wg"; wh: "bg.wh"; wi: "bg.wi"; wj: "bg.wj"; wk: "bg.wk"; wl: "bg.wl"; wm: "bg.wm"; wn: "bg.wn"; wo: "bg.wo"; wp: "bg.wp"; wq: "bg.wq"; wr: "bg.wr"; ws: "bg.ws"; wt: "bg.wt"; wu: "bg.wu"; wv: "bg.wv"; ww: "bg.ww"; wx: "bg.wx"; wy: "bg.wy"; wz: "bg.wz"; xa: "bg.xa"; xb: "bg.xb"; xc: "bg.xc"; xd: "bg.xd"; xe: "bg.xe"; xf: "bg.xf"; xg: "bg.xg"; xh: "bg.xh"; xi: "bg.xi"; xj: "bg.xj"; xk: "bg.xk"; xl: "bg.xl"; xm: "bg.xm"; xn: "bg.xn"; xo: "bg.xo"; xp: "bg.xp"; xq: "bg.xq"; xr: "bg.xr"; xs: "bg.xs"; xt: "bg.xt"; xu: "bg.xu"; xv: "bg.xv"; xw: "bg.xw"; xx: "bg.xx"; xy: "bg.xy"; xz: "bg.xz"; ya: "bg.ya"; yb: "bg.yb"; yc: "bg.yc"; yd: "bg.yd"; ye: "bg.ye"; yf: "bg.yf"; yg: "bg.yg"; yh: "bg.yh"; yi: "bg.yi"; yj: "bg.yj"; yk: "bg.yk"; yl: "bg.yl"; ym: "bg.ym"; yn: "bg.yn"; yo: "bg.yo"; yp: "bg.yp"; yq: "bg.yq"; yr: "bg.yr"; ys: "bg.ys"; yt: "bg.yt"; yu: "bg.yu"; yv: "bg.yv"; yw: "bg.yw"; yx: "bg.yx"; yy: "bg.yy"; yz: "bg.yz"; za: "bg.za"; zb: "bg.zb"; zc: "bg.zc"; zd: "bg.zd"; ze: "bg.ze"; zf: "bg.zf"; zg: "bg.zg"; zh: "bg.zh"; zi: "bg.zi"; zj: "bg.zj"; zk: "bg.zk"; zl: "bg.zl"; zm: "bg.zm"; zn: "bg.zn"; zo: "bg.zo"; zp: "bg.zp"; zq: "bg.zq"; zr: "bg.zr"; zs: "bg.zs"; zt: "bg.zt"; zu: "bg.zu"; zv: "bg.zv"; zw: "bg.zw"; zx: "bg.zx"; zy: "bg.zy"; zz: "bg.zz"; }; bh: { aa: "bh.aa"; ab: "bh.ab"; ac: "bh.ac"; ad: "bh.ad"; ae: "bh.ae"; af: "bh.af"; ag: "bh.ag"; ah: "bh.ah"; ai: "bh.ai"; aj: "bh.aj"; ak: "bh.ak"; al: "bh.al"; am: "bh.am"; an: "bh.an"; ao: "bh.ao"; ap: "bh.ap"; aq: "bh.aq"; ar: "bh.ar"; as: "bh.as"; at: "bh.at"; au: "bh.au"; av: "bh.av"; aw: "bh.aw"; ax: "bh.ax"; ay: "bh.ay"; az: "bh.az"; ba: "bh.ba"; bb: "bh.bb"; bc: "bh.bc"; bd: "bh.bd"; be: "bh.be"; bf: "bh.bf"; bg: "bh.bg"; bh: "bh.bh"; bi: "bh.bi"; bj: "bh.bj"; bk: "bh.bk"; bl: "bh.bl"; bm: "bh.bm"; bn: "bh.bn"; bo: "bh.bo"; bp: "bh.bp"; bq: "bh.bq"; br: "bh.br"; bs: "bh.bs"; bt: "bh.bt"; bu: "bh.bu"; bv: "bh.bv"; bw: "bh.bw"; bx: "bh.bx"; by: "bh.by"; bz: "bh.bz"; ca: "bh.ca"; cb: "bh.cb"; cc: "bh.cc"; cd: "bh.cd"; ce: "bh.ce"; cf: "bh.cf"; cg: "bh.cg"; ch: "bh.ch"; ci: "bh.ci"; cj: "bh.cj"; ck: "bh.ck"; cl: "bh.cl"; cm: "bh.cm"; cn: "bh.cn"; co: "bh.co"; cp: "bh.cp"; cq: "bh.cq"; cr: "bh.cr"; cs: "bh.cs"; ct: "bh.ct"; cu: "bh.cu"; cv: "bh.cv"; cw: "bh.cw"; cx: "bh.cx"; cy: "bh.cy"; cz: "bh.cz"; da: "bh.da"; db: "bh.db"; dc: "bh.dc"; dd: "bh.dd"; de: "bh.de"; df: "bh.df"; dg: "bh.dg"; dh: "bh.dh"; di: "bh.di"; dj: "bh.dj"; dk: "bh.dk"; dl: "bh.dl"; dm: "bh.dm"; dn: "bh.dn"; do: "bh.do"; dp: "bh.dp"; dq: "bh.dq"; dr: "bh.dr"; ds: "bh.ds"; dt: "bh.dt"; du: "bh.du"; dv: "bh.dv"; dw: "bh.dw"; dx: "bh.dx"; dy: "bh.dy"; dz: "bh.dz"; ea: "bh.ea"; eb: "bh.eb"; ec: "bh.ec"; ed: "bh.ed"; ee: "bh.ee"; ef: "bh.ef"; eg: "bh.eg"; eh: "bh.eh"; ei: "bh.ei"; ej: "bh.ej"; ek: "bh.ek"; el: "bh.el"; em: "bh.em"; en: "bh.en"; eo: "bh.eo"; ep: "bh.ep"; eq: "bh.eq"; er: "bh.er"; es: "bh.es"; et: "bh.et"; eu: "bh.eu"; ev: "bh.ev"; ew: "bh.ew"; ex: "bh.ex"; ey: "bh.ey"; ez: "bh.ez"; fa: "bh.fa"; fb: "bh.fb"; fc: "bh.fc"; fd: "bh.fd"; fe: "bh.fe"; ff: "bh.ff"; fg: "bh.fg"; fh: "bh.fh"; fi: "bh.fi"; fj: "bh.fj"; fk: "bh.fk"; fl: "bh.fl"; fm: "bh.fm"; fn: "bh.fn"; fo: "bh.fo"; fp: "bh.fp"; fq: "bh.fq"; fr: "bh.fr"; fs: "bh.fs"; ft: "bh.ft"; fu: "bh.fu"; fv: "bh.fv"; fw: "bh.fw"; fx: "bh.fx"; fy: "bh.fy"; fz: "bh.fz"; ga: "bh.ga"; gb: "bh.gb"; gc: "bh.gc"; gd: "bh.gd"; ge: "bh.ge"; gf: "bh.gf"; gg: "bh.gg"; gh: "bh.gh"; gi: "bh.gi"; gj: "bh.gj"; gk: "bh.gk"; gl: "bh.gl"; gm: "bh.gm"; gn: "bh.gn"; go: "bh.go"; gp: "bh.gp"; gq: "bh.gq"; gr: "bh.gr"; gs: "bh.gs"; gt: "bh.gt"; gu: "bh.gu"; gv: "bh.gv"; gw: "bh.gw"; gx: "bh.gx"; gy: "bh.gy"; gz: "bh.gz"; ha: "bh.ha"; hb: "bh.hb"; hc: "bh.hc"; hd: "bh.hd"; he: "bh.he"; hf: "bh.hf"; hg: "bh.hg"; hh: "bh.hh"; hi: "bh.hi"; hj: "bh.hj"; hk: "bh.hk"; hl: "bh.hl"; hm: "bh.hm"; hn: "bh.hn"; ho: "bh.ho"; hp: "bh.hp"; hq: "bh.hq"; hr: "bh.hr"; hs: "bh.hs"; ht: "bh.ht"; hu: "bh.hu"; hv: "bh.hv"; hw: "bh.hw"; hx: "bh.hx"; hy: "bh.hy"; hz: "bh.hz"; ia: "bh.ia"; ib: "bh.ib"; ic: "bh.ic"; id: "bh.id"; ie: "bh.ie"; if: "bh.if"; ig: "bh.ig"; ih: "bh.ih"; ii: "bh.ii"; ij: "bh.ij"; ik: "bh.ik"; il: "bh.il"; im: "bh.im"; in: "bh.in"; io: "bh.io"; ip: "bh.ip"; iq: "bh.iq"; ir: "bh.ir"; is: "bh.is"; it: "bh.it"; iu: "bh.iu"; iv: "bh.iv"; iw: "bh.iw"; ix: "bh.ix"; iy: "bh.iy"; iz: "bh.iz"; ja: "bh.ja"; jb: "bh.jb"; jc: "bh.jc"; jd: "bh.jd"; je: "bh.je"; jf: "bh.jf"; jg: "bh.jg"; jh: "bh.jh"; ji: "bh.ji"; jj: "bh.jj"; jk: "bh.jk"; jl: "bh.jl"; jm: "bh.jm"; jn: "bh.jn"; jo: "bh.jo"; jp: "bh.jp"; jq: "bh.jq"; jr: "bh.jr"; js: "bh.js"; jt: "bh.jt"; ju: "bh.ju"; jv: "bh.jv"; jw: "bh.jw"; jx: "bh.jx"; jy: "bh.jy"; jz: "bh.jz"; ka: "bh.ka"; kb: "bh.kb"; kc: "bh.kc"; kd: "bh.kd"; ke: "bh.ke"; kf: "bh.kf"; kg: "bh.kg"; kh: "bh.kh"; ki: "bh.ki"; kj: "bh.kj"; kk: "bh.kk"; kl: "bh.kl"; km: "bh.km"; kn: "bh.kn"; ko: "bh.ko"; kp: "bh.kp"; kq: "bh.kq"; kr: "bh.kr"; ks: "bh.ks"; kt: "bh.kt"; ku: "bh.ku"; kv: "bh.kv"; kw: "bh.kw"; kx: "bh.kx"; ky: "bh.ky"; kz: "bh.kz"; la: "bh.la"; lb: "bh.lb"; lc: "bh.lc"; ld: "bh.ld"; le: "bh.le"; lf: "bh.lf"; lg: "bh.lg"; lh: "bh.lh"; li: "bh.li"; lj: "bh.lj"; lk: "bh.lk"; ll: "bh.ll"; lm: "bh.lm"; ln: "bh.ln"; lo: "bh.lo"; lp: "bh.lp"; lq: "bh.lq"; lr: "bh.lr"; ls: "bh.ls"; lt: "bh.lt"; lu: "bh.lu"; lv: "bh.lv"; lw: "bh.lw"; lx: "bh.lx"; ly: "bh.ly"; lz: "bh.lz"; ma: "bh.ma"; mb: "bh.mb"; mc: "bh.mc"; md: "bh.md"; me: "bh.me"; mf: "bh.mf"; mg: "bh.mg"; mh: "bh.mh"; mi: "bh.mi"; mj: "bh.mj"; mk: "bh.mk"; ml: "bh.ml"; mm: "bh.mm"; mn: "bh.mn"; mo: "bh.mo"; mp: "bh.mp"; mq: "bh.mq"; mr: "bh.mr"; ms: "bh.ms"; mt: "bh.mt"; mu: "bh.mu"; mv: "bh.mv"; mw: "bh.mw"; mx: "bh.mx"; my: "bh.my"; mz: "bh.mz"; na: "bh.na"; nb: "bh.nb"; nc: "bh.nc"; nd: "bh.nd"; ne: "bh.ne"; nf: "bh.nf"; ng: "bh.ng"; nh: "bh.nh"; ni: "bh.ni"; nj: "bh.nj"; nk: "bh.nk"; nl: "bh.nl"; nm: "bh.nm"; nn: "bh.nn"; no: "bh.no"; np: "bh.np"; nq: "bh.nq"; nr: "bh.nr"; ns: "bh.ns"; nt: "bh.nt"; nu: "bh.nu"; nv: "bh.nv"; nw: "bh.nw"; nx: "bh.nx"; ny: "bh.ny"; nz: "bh.nz"; oa: "bh.oa"; ob: "bh.ob"; oc: "bh.oc"; od: "bh.od"; oe: "bh.oe"; of: "bh.of"; og: "bh.og"; oh: "bh.oh"; oi: "bh.oi"; oj: "bh.oj"; ok: "bh.ok"; ol: "bh.ol"; om: "bh.om"; on: "bh.on"; oo: "bh.oo"; op: "bh.op"; oq: "bh.oq"; or: "bh.or"; os: "bh.os"; ot: "bh.ot"; ou: "bh.ou"; ov: "bh.ov"; ow: "bh.ow"; ox: "bh.ox"; oy: "bh.oy"; oz: "bh.oz"; pa: "bh.pa"; pb: "bh.pb"; pc: "bh.pc"; pd: "bh.pd"; pe: "bh.pe"; pf: "bh.pf"; pg: "bh.pg"; ph: "bh.ph"; pi: "bh.pi"; pj: "bh.pj"; pk: "bh.pk"; pl: "bh.pl"; pm: "bh.pm"; pn: "bh.pn"; po: "bh.po"; pp: "bh.pp"; pq: "bh.pq"; pr: "bh.pr"; ps: "bh.ps"; pt: "bh.pt"; pu: "bh.pu"; pv: "bh.pv"; pw: "bh.pw"; px: "bh.px"; py: "bh.py"; pz: "bh.pz"; qa: "bh.qa"; qb: "bh.qb"; qc: "bh.qc"; qd: "bh.qd"; qe: "bh.qe"; qf: "bh.qf"; qg: "bh.qg"; qh: "bh.qh"; qi: "bh.qi"; qj: "bh.qj"; qk: "bh.qk"; ql: "bh.ql"; qm: "bh.qm"; qn: "bh.qn"; qo: "bh.qo"; qp: "bh.qp"; qq: "bh.qq"; qr: "bh.qr"; qs: "bh.qs"; qt: "bh.qt"; qu: "bh.qu"; qv: "bh.qv"; qw: "bh.qw"; qx: "bh.qx"; qy: "bh.qy"; qz: "bh.qz"; ra: "bh.ra"; rb: "bh.rb"; rc: "bh.rc"; rd: "bh.rd"; re: "bh.re"; rf: "bh.rf"; rg: "bh.rg"; rh: "bh.rh"; ri: "bh.ri"; rj: "bh.rj"; rk: "bh.rk"; rl: "bh.rl"; rm: "bh.rm"; rn: "bh.rn"; ro: "bh.ro"; rp: "bh.rp"; rq: "bh.rq"; rr: "bh.rr"; rs: "bh.rs"; rt: "bh.rt"; ru: "bh.ru"; rv: "bh.rv"; rw: "bh.rw"; rx: "bh.rx"; ry: "bh.ry"; rz: "bh.rz"; sa: "bh.sa"; sb: "bh.sb"; sc: "bh.sc"; sd: "bh.sd"; se: "bh.se"; sf: "bh.sf"; sg: "bh.sg"; sh: "bh.sh"; si: "bh.si"; sj: "bh.sj"; sk: "bh.sk"; sl: "bh.sl"; sm: "bh.sm"; sn: "bh.sn"; so: "bh.so"; sp: "bh.sp"; sq: "bh.sq"; sr: "bh.sr"; ss: "bh.ss"; st: "bh.st"; su: "bh.su"; sv: "bh.sv"; sw: "bh.sw"; sx: "bh.sx"; sy: "bh.sy"; sz: "bh.sz"; ta: "bh.ta"; tb: "bh.tb"; tc: "bh.tc"; td: "bh.td"; te: "bh.te"; tf: "bh.tf"; tg: "bh.tg"; th: "bh.th"; ti: "bh.ti"; tj: "bh.tj"; tk: "bh.tk"; tl: "bh.tl"; tm: "bh.tm"; tn: "bh.tn"; to: "bh.to"; tp: "bh.tp"; tq: "bh.tq"; tr: "bh.tr"; ts: "bh.ts"; tt: "bh.tt"; tu: "bh.tu"; tv: "bh.tv"; tw: "bh.tw"; tx: "bh.tx"; ty: "bh.ty"; tz: "bh.tz"; ua: "bh.ua"; ub: "bh.ub"; uc: "bh.uc"; ud: "bh.ud"; ue: "bh.ue"; uf: "bh.uf"; ug: "bh.ug"; uh: "bh.uh"; ui: "bh.ui"; uj: "bh.uj"; uk: "bh.uk"; ul: "bh.ul"; um: "bh.um"; un: "bh.un"; uo: "bh.uo"; up: "bh.up"; uq: "bh.uq"; ur: "bh.ur"; us: "bh.us"; ut: "bh.ut"; uu: "bh.uu"; uv: "bh.uv"; uw: "bh.uw"; ux: "bh.ux"; uy: "bh.uy"; uz: "bh.uz"; va: "bh.va"; vb: "bh.vb"; vc: "bh.vc"; vd: "bh.vd"; ve: "bh.ve"; vf: "bh.vf"; vg: "bh.vg"; vh: "bh.vh"; vi: "bh.vi"; vj: "bh.vj"; vk: "bh.vk"; vl: "bh.vl"; vm: "bh.vm"; vn: "bh.vn"; vo: "bh.vo"; vp: "bh.vp"; vq: "bh.vq"; vr: "bh.vr"; vs: "bh.vs"; vt: "bh.vt"; vu: "bh.vu"; vv: "bh.vv"; vw: "bh.vw"; vx: "bh.vx"; vy: "bh.vy"; vz: "bh.vz"; wa: "bh.wa"; wb: "bh.wb"; wc: "bh.wc"; wd: "bh.wd"; we: "bh.we"; wf: "bh.wf"; wg: "bh.wg"; wh: "bh.wh"; wi: "bh.wi"; wj: "bh.wj"; wk: "bh.wk"; wl: "bh.wl"; wm: "bh.wm"; wn: "bh.wn"; wo: "bh.wo"; wp: "bh.wp"; wq: "bh.wq"; wr: "bh.wr"; ws: "bh.ws"; wt: "bh.wt"; wu: "bh.wu"; wv: "bh.wv"; ww: "bh.ww"; wx: "bh.wx"; wy: "bh.wy"; wz: "bh.wz"; xa: "bh.xa"; xb: "bh.xb"; xc: "bh.xc"; xd: "bh.xd"; xe: "bh.xe"; xf: "bh.xf"; xg: "bh.xg"; xh: "bh.xh"; xi: "bh.xi"; xj: "bh.xj"; xk: "bh.xk"; xl: "bh.xl"; xm: "bh.xm"; xn: "bh.xn"; xo: "bh.xo"; xp: "bh.xp"; xq: "bh.xq"; xr: "bh.xr"; xs: "bh.xs"; xt: "bh.xt"; xu: "bh.xu"; xv: "bh.xv"; xw: "bh.xw"; xx: "bh.xx"; xy: "bh.xy"; xz: "bh.xz"; ya: "bh.ya"; yb: "bh.yb"; yc: "bh.yc"; yd: "bh.yd"; ye: "bh.ye"; yf: "bh.yf"; yg: "bh.yg"; yh: "bh.yh"; yi: "bh.yi"; yj: "bh.yj"; yk: "bh.yk"; yl: "bh.yl"; ym: "bh.ym"; yn: "bh.yn"; yo: "bh.yo"; yp: "bh.yp"; yq: "bh.yq"; yr: "bh.yr"; ys: "bh.ys"; yt: "bh.yt"; yu: "bh.yu"; yv: "bh.yv"; yw: "bh.yw"; yx: "bh.yx"; yy: "bh.yy"; yz: "bh.yz"; za: "bh.za"; zb: "bh.zb"; zc: "bh.zc"; zd: "bh.zd"; ze: "bh.ze"; zf: "bh.zf"; zg: "bh.zg"; zh: "bh.zh"; zi: "bh.zi"; zj: "bh.zj"; zk: "bh.zk"; zl: "bh.zl"; zm: "bh.zm"; zn: "bh.zn"; zo: "bh.zo"; zp: "bh.zp"; zq: "bh.zq"; zr: "bh.zr"; zs: "bh.zs"; zt: "bh.zt"; zu: "bh.zu"; zv: "bh.zv"; zw: "bh.zw"; zx: "bh.zx"; zy: "bh.zy"; zz: "bh.zz"; }; bi: { aa: "bi.aa"; ab: "bi.ab"; ac: "bi.ac"; ad: "bi.ad"; ae: "bi.ae"; af: "bi.af"; ag: "bi.ag"; ah: "bi.ah"; ai: "bi.ai"; aj: "bi.aj"; ak: "bi.ak"; al: "bi.al"; am: "bi.am"; an: "bi.an"; ao: "bi.ao"; ap: "bi.ap"; aq: "bi.aq"; ar: "bi.ar"; as: "bi.as"; at: "bi.at"; au: "bi.au"; av: "bi.av"; aw: "bi.aw"; ax: "bi.ax"; ay: "bi.ay"; az: "bi.az"; ba: "bi.ba"; bb: "bi.bb"; bc: "bi.bc"; bd: "bi.bd"; be: "bi.be"; bf: "bi.bf"; bg: "bi.bg"; bh: "bi.bh"; bi: "bi.bi"; bj: "bi.bj"; bk: "bi.bk"; bl: "bi.bl"; bm: "bi.bm"; bn: "bi.bn"; bo: "bi.bo"; bp: "bi.bp"; bq: "bi.bq"; br: "bi.br"; bs: "bi.bs"; bt: "bi.bt"; bu: "bi.bu"; bv: "bi.bv"; bw: "bi.bw"; bx: "bi.bx"; by: "bi.by"; bz: "bi.bz"; ca: "bi.ca"; cb: "bi.cb"; cc: "bi.cc"; cd: "bi.cd"; ce: "bi.ce"; cf: "bi.cf"; cg: "bi.cg"; ch: "bi.ch"; ci: "bi.ci"; cj: "bi.cj"; ck: "bi.ck"; cl: "bi.cl"; cm: "bi.cm"; cn: "bi.cn"; co: "bi.co"; cp: "bi.cp"; cq: "bi.cq"; cr: "bi.cr"; cs: "bi.cs"; ct: "bi.ct"; cu: "bi.cu"; cv: "bi.cv"; cw: "bi.cw"; cx: "bi.cx"; cy: "bi.cy"; cz: "bi.cz"; da: "bi.da"; db: "bi.db"; dc: "bi.dc"; dd: "bi.dd"; de: "bi.de"; df: "bi.df"; dg: "bi.dg"; dh: "bi.dh"; di: "bi.di"; dj: "bi.dj"; dk: "bi.dk"; dl: "bi.dl"; dm: "bi.dm"; dn: "bi.dn"; do: "bi.do"; dp: "bi.dp"; dq: "bi.dq"; dr: "bi.dr"; ds: "bi.ds"; dt: "bi.dt"; du: "bi.du"; dv: "bi.dv"; dw: "bi.dw"; dx: "bi.dx"; dy: "bi.dy"; dz: "bi.dz"; ea: "bi.ea"; eb: "bi.eb"; ec: "bi.ec"; ed: "bi.ed"; ee: "bi.ee"; ef: "bi.ef"; eg: "bi.eg"; eh: "bi.eh"; ei: "bi.ei"; ej: "bi.ej"; ek: "bi.ek"; el: "bi.el"; em: "bi.em"; en: "bi.en"; eo: "bi.eo"; ep: "bi.ep"; eq: "bi.eq"; er: "bi.er"; es: "bi.es"; et: "bi.et"; eu: "bi.eu"; ev: "bi.ev"; ew: "bi.ew"; ex: "bi.ex"; ey: "bi.ey"; ez: "bi.ez"; fa: "bi.fa"; fb: "bi.fb"; fc: "bi.fc"; fd: "bi.fd"; fe: "bi.fe"; ff: "bi.ff"; fg: "bi.fg"; fh: "bi.fh"; fi: "bi.fi"; fj: "bi.fj"; fk: "bi.fk"; fl: "bi.fl"; fm: "bi.fm"; fn: "bi.fn"; fo: "bi.fo"; fp: "bi.fp"; fq: "bi.fq"; fr: "bi.fr"; fs: "bi.fs"; ft: "bi.ft"; fu: "bi.fu"; fv: "bi.fv"; fw: "bi.fw"; fx: "bi.fx"; fy: "bi.fy"; fz: "bi.fz"; ga: "bi.ga"; gb: "bi.gb"; gc: "bi.gc"; gd: "bi.gd"; ge: "bi.ge"; gf: "bi.gf"; gg: "bi.gg"; gh: "bi.gh"; gi: "bi.gi"; gj: "bi.gj"; gk: "bi.gk"; gl: "bi.gl"; gm: "bi.gm"; gn: "bi.gn"; go: "bi.go"; gp: "bi.gp"; gq: "bi.gq"; gr: "bi.gr"; gs: "bi.gs"; gt: "bi.gt"; gu: "bi.gu"; gv: "bi.gv"; gw: "bi.gw"; gx: "bi.gx"; gy: "bi.gy"; gz: "bi.gz"; ha: "bi.ha"; hb: "bi.hb"; hc: "bi.hc"; hd: "bi.hd"; he: "bi.he"; hf: "bi.hf"; hg: "bi.hg"; hh: "bi.hh"; hi: "bi.hi"; hj: "bi.hj"; hk: "bi.hk"; hl: "bi.hl"; hm: "bi.hm"; hn: "bi.hn"; ho: "bi.ho"; hp: "bi.hp"; hq: "bi.hq"; hr: "bi.hr"; hs: "bi.hs"; ht: "bi.ht"; hu: "bi.hu"; hv: "bi.hv"; hw: "bi.hw"; hx: "bi.hx"; hy: "bi.hy"; hz: "bi.hz"; ia: "bi.ia"; ib: "bi.ib"; ic: "bi.ic"; id: "bi.id"; ie: "bi.ie"; if: "bi.if"; ig: "bi.ig"; ih: "bi.ih"; ii: "bi.ii"; ij: "bi.ij"; ik: "bi.ik"; il: "bi.il"; im: "bi.im"; in: "bi.in"; io: "bi.io"; ip: "bi.ip"; iq: "bi.iq"; ir: "bi.ir"; is: "bi.is"; it: "bi.it"; iu: "bi.iu"; iv: "bi.iv"; iw: "bi.iw"; ix: "bi.ix"; iy: "bi.iy"; iz: "bi.iz"; ja: "bi.ja"; jb: "bi.jb"; jc: "bi.jc"; jd: "bi.jd"; je: "bi.je"; jf: "bi.jf"; jg: "bi.jg"; jh: "bi.jh"; ji: "bi.ji"; jj: "bi.jj"; jk: "bi.jk"; jl: "bi.jl"; jm: "bi.jm"; jn: "bi.jn"; jo: "bi.jo"; jp: "bi.jp"; jq: "bi.jq"; jr: "bi.jr"; js: "bi.js"; jt: "bi.jt"; ju: "bi.ju"; jv: "bi.jv"; jw: "bi.jw"; jx: "bi.jx"; jy: "bi.jy"; jz: "bi.jz"; ka: "bi.ka"; kb: "bi.kb"; kc: "bi.kc"; kd: "bi.kd"; ke: "bi.ke"; kf: "bi.kf"; kg: "bi.kg"; kh: "bi.kh"; ki: "bi.ki"; kj: "bi.kj"; kk: "bi.kk"; kl: "bi.kl"; km: "bi.km"; kn: "bi.kn"; ko: "bi.ko"; kp: "bi.kp"; kq: "bi.kq"; kr: "bi.kr"; ks: "bi.ks"; kt: "bi.kt"; ku: "bi.ku"; kv: "bi.kv"; kw: "bi.kw"; kx: "bi.kx"; ky: "bi.ky"; kz: "bi.kz"; la: "bi.la"; lb: "bi.lb"; lc: "bi.lc"; ld: "bi.ld"; le: "bi.le"; lf: "bi.lf"; lg: "bi.lg"; lh: "bi.lh"; li: "bi.li"; lj: "bi.lj"; lk: "bi.lk"; ll: "bi.ll"; lm: "bi.lm"; ln: "bi.ln"; lo: "bi.lo"; lp: "bi.lp"; lq: "bi.lq"; lr: "bi.lr"; ls: "bi.ls"; lt: "bi.lt"; lu: "bi.lu"; lv: "bi.lv"; lw: "bi.lw"; lx: "bi.lx"; ly: "bi.ly"; lz: "bi.lz"; ma: "bi.ma"; mb: "bi.mb"; mc: "bi.mc"; md: "bi.md"; me: "bi.me"; mf: "bi.mf"; mg: "bi.mg"; mh: "bi.mh"; mi: "bi.mi"; mj: "bi.mj"; mk: "bi.mk"; ml: "bi.ml"; mm: "bi.mm"; mn: "bi.mn"; mo: "bi.mo"; mp: "bi.mp"; mq: "bi.mq"; mr: "bi.mr"; ms: "bi.ms"; mt: "bi.mt"; mu: "bi.mu"; mv: "bi.mv"; mw: "bi.mw"; mx: "bi.mx"; my: "bi.my"; mz: "bi.mz"; na: "bi.na"; nb: "bi.nb"; nc: "bi.nc"; nd: "bi.nd"; ne: "bi.ne"; nf: "bi.nf"; ng: "bi.ng"; nh: "bi.nh"; ni: "bi.ni"; nj: "bi.nj"; nk: "bi.nk"; nl: "bi.nl"; nm: "bi.nm"; nn: "bi.nn"; no: "bi.no"; np: "bi.np"; nq: "bi.nq"; nr: "bi.nr"; ns: "bi.ns"; nt: "bi.nt"; nu: "bi.nu"; nv: "bi.nv"; nw: "bi.nw"; nx: "bi.nx"; ny: "bi.ny"; nz: "bi.nz"; oa: "bi.oa"; ob: "bi.ob"; oc: "bi.oc"; od: "bi.od"; oe: "bi.oe"; of: "bi.of"; og: "bi.og"; oh: "bi.oh"; oi: "bi.oi"; oj: "bi.oj"; ok: "bi.ok"; ol: "bi.ol"; om: "bi.om"; on: "bi.on"; oo: "bi.oo"; op: "bi.op"; oq: "bi.oq"; or: "bi.or"; os: "bi.os"; ot: "bi.ot"; ou: "bi.ou"; ov: "bi.ov"; ow: "bi.ow"; ox: "bi.ox"; oy: "bi.oy"; oz: "bi.oz"; pa: "bi.pa"; pb: "bi.pb"; pc: "bi.pc"; pd: "bi.pd"; pe: "bi.pe"; pf: "bi.pf"; pg: "bi.pg"; ph: "bi.ph"; pi: "bi.pi"; pj: "bi.pj"; pk: "bi.pk"; pl: "bi.pl"; pm: "bi.pm"; pn: "bi.pn"; po: "bi.po"; pp: "bi.pp"; pq: "bi.pq"; pr: "bi.pr"; ps: "bi.ps"; pt: "bi.pt"; pu: "bi.pu"; pv: "bi.pv"; pw: "bi.pw"; px: "bi.px"; py: "bi.py"; pz: "bi.pz"; qa: "bi.qa"; qb: "bi.qb"; qc: "bi.qc"; qd: "bi.qd"; qe: "bi.qe"; qf: "bi.qf"; qg: "bi.qg"; qh: "bi.qh"; qi: "bi.qi"; qj: "bi.qj"; qk: "bi.qk"; ql: "bi.ql"; qm: "bi.qm"; qn: "bi.qn"; qo: "bi.qo"; qp: "bi.qp"; qq: "bi.qq"; qr: "bi.qr"; qs: "bi.qs"; qt: "bi.qt"; qu: "bi.qu"; qv: "bi.qv"; qw: "bi.qw"; qx: "bi.qx"; qy: "bi.qy"; qz: "bi.qz"; ra: "bi.ra"; rb: "bi.rb"; rc: "bi.rc"; rd: "bi.rd"; re: "bi.re"; rf: "bi.rf"; rg: "bi.rg"; rh: "bi.rh"; ri: "bi.ri"; rj: "bi.rj"; rk: "bi.rk"; rl: "bi.rl"; rm: "bi.rm"; rn: "bi.rn"; ro: "bi.ro"; rp: "bi.rp"; rq: "bi.rq"; rr: "bi.rr"; rs: "bi.rs"; rt: "bi.rt"; ru: "bi.ru"; rv: "bi.rv"; rw: "bi.rw"; rx: "bi.rx"; ry: "bi.ry"; rz: "bi.rz"; sa: "bi.sa"; sb: "bi.sb"; sc: "bi.sc"; sd: "bi.sd"; se: "bi.se"; sf: "bi.sf"; sg: "bi.sg"; sh: "bi.sh"; si: "bi.si"; sj: "bi.sj"; sk: "bi.sk"; sl: "bi.sl"; sm: "bi.sm"; sn: "bi.sn"; so: "bi.so"; sp: "bi.sp"; sq: "bi.sq"; sr: "bi.sr"; ss: "bi.ss"; st: "bi.st"; su: "bi.su"; sv: "bi.sv"; sw: "bi.sw"; sx: "bi.sx"; sy: "bi.sy"; sz: "bi.sz"; ta: "bi.ta"; tb: "bi.tb"; tc: "bi.tc"; td: "bi.td"; te: "bi.te"; tf: "bi.tf"; tg: "bi.tg"; th: "bi.th"; ti: "bi.ti"; tj: "bi.tj"; tk: "bi.tk"; tl: "bi.tl"; tm: "bi.tm"; tn: "bi.tn"; to: "bi.to"; tp: "bi.tp"; tq: "bi.tq"; tr: "bi.tr"; ts: "bi.ts"; tt: "bi.tt"; tu: "bi.tu"; tv: "bi.tv"; tw: "bi.tw"; tx: "bi.tx"; ty: "bi.ty"; tz: "bi.tz"; ua: "bi.ua"; ub: "bi.ub"; uc: "bi.uc"; ud: "bi.ud"; ue: "bi.ue"; uf: "bi.uf"; ug: "bi.ug"; uh: "bi.uh"; ui: "bi.ui"; uj: "bi.uj"; uk: "bi.uk"; ul: "bi.ul"; um: "bi.um"; un: "bi.un"; uo: "bi.uo"; up: "bi.up"; uq: "bi.uq"; ur: "bi.ur"; us: "bi.us"; ut: "bi.ut"; uu: "bi.uu"; uv: "bi.uv"; uw: "bi.uw"; ux: "bi.ux"; uy: "bi.uy"; uz: "bi.uz"; va: "bi.va"; vb: "bi.vb"; vc: "bi.vc"; vd: "bi.vd"; ve: "bi.ve"; vf: "bi.vf"; vg: "bi.vg"; vh: "bi.vh"; vi: "bi.vi"; vj: "bi.vj"; vk: "bi.vk"; vl: "bi.vl"; vm: "bi.vm"; vn: "bi.vn"; vo: "bi.vo"; vp: "bi.vp"; vq: "bi.vq"; vr: "bi.vr"; vs: "bi.vs"; vt: "bi.vt"; vu: "bi.vu"; vv: "bi.vv"; vw: "bi.vw"; vx: "bi.vx"; vy: "bi.vy"; vz: "bi.vz"; wa: "bi.wa"; wb: "bi.wb"; wc: "bi.wc"; wd: "bi.wd"; we: "bi.we"; wf: "bi.wf"; wg: "bi.wg"; wh: "bi.wh"; wi: "bi.wi"; wj: "bi.wj"; wk: "bi.wk"; wl: "bi.wl"; wm: "bi.wm"; wn: "bi.wn"; wo: "bi.wo"; wp: "bi.wp"; wq: "bi.wq"; wr: "bi.wr"; ws: "bi.ws"; wt: "bi.wt"; wu: "bi.wu"; wv: "bi.wv"; ww: "bi.ww"; wx: "bi.wx"; wy: "bi.wy"; wz: "bi.wz"; xa: "bi.xa"; xb: "bi.xb"; xc: "bi.xc"; xd: "bi.xd"; xe: "bi.xe"; xf: "bi.xf"; xg: "bi.xg"; xh: "bi.xh"; xi: "bi.xi"; xj: "bi.xj"; xk: "bi.xk"; xl: "bi.xl"; xm: "bi.xm"; xn: "bi.xn"; xo: "bi.xo"; xp: "bi.xp"; xq: "bi.xq"; xr: "bi.xr"; xs: "bi.xs"; xt: "bi.xt"; xu: "bi.xu"; xv: "bi.xv"; xw: "bi.xw"; xx: "bi.xx"; xy: "bi.xy"; xz: "bi.xz"; ya: "bi.ya"; yb: "bi.yb"; yc: "bi.yc"; yd: "bi.yd"; ye: "bi.ye"; yf: "bi.yf"; yg: "bi.yg"; yh: "bi.yh"; yi: "bi.yi"; yj: "bi.yj"; yk: "bi.yk"; yl: "bi.yl"; ym: "bi.ym"; yn: "bi.yn"; yo: "bi.yo"; yp: "bi.yp"; yq: "bi.yq"; yr: "bi.yr"; ys: "bi.ys"; yt: "bi.yt"; yu: "bi.yu"; yv: "bi.yv"; yw: "bi.yw"; yx: "bi.yx"; yy: "bi.yy"; yz: "bi.yz"; za: "bi.za"; zb: "bi.zb"; zc: "bi.zc"; zd: "bi.zd"; ze: "bi.ze"; zf: "bi.zf"; zg: "bi.zg"; zh: "bi.zh"; zi: "bi.zi"; zj: "bi.zj"; zk: "bi.zk"; zl: "bi.zl"; zm: "bi.zm"; zn: "bi.zn"; zo: "bi.zo"; zp: "bi.zp"; zq: "bi.zq"; zr: "bi.zr"; zs: "bi.zs"; zt: "bi.zt"; zu: "bi.zu"; zv: "bi.zv"; zw: "bi.zw"; zx: "bi.zx"; zy: "bi.zy"; zz: "bi.zz"; }; bj: { aa: "bj.aa"; ab: "bj.ab"; ac: "bj.ac"; ad: "bj.ad"; ae: "bj.ae"; af: "bj.af"; ag: "bj.ag"; ah: "bj.ah"; ai: "bj.ai"; aj: "bj.aj"; ak: "bj.ak"; al: "bj.al"; am: "bj.am"; an: "bj.an"; ao: "bj.ao"; ap: "bj.ap"; aq: "bj.aq"; ar: "bj.ar"; as: "bj.as"; at: "bj.at"; au: "bj.au"; av: "bj.av"; aw: "bj.aw"; ax: "bj.ax"; ay: "bj.ay"; az: "bj.az"; ba: "bj.ba"; bb: "bj.bb"; bc: "bj.bc"; bd: "bj.bd"; be: "bj.be"; bf: "bj.bf"; bg: "bj.bg"; bh: "bj.bh"; bi: "bj.bi"; bj: "bj.bj"; bk: "bj.bk"; bl: "bj.bl"; bm: "bj.bm"; bn: "bj.bn"; bo: "bj.bo"; bp: "bj.bp"; bq: "bj.bq"; br: "bj.br"; bs: "bj.bs"; bt: "bj.bt"; bu: "bj.bu"; bv: "bj.bv"; bw: "bj.bw"; bx: "bj.bx"; by: "bj.by"; bz: "bj.bz"; ca: "bj.ca"; cb: "bj.cb"; cc: "bj.cc"; cd: "bj.cd"; ce: "bj.ce"; cf: "bj.cf"; cg: "bj.cg"; ch: "bj.ch"; ci: "bj.ci"; cj: "bj.cj"; ck: "bj.ck"; cl: "bj.cl"; cm: "bj.cm"; cn: "bj.cn"; co: "bj.co"; cp: "bj.cp"; cq: "bj.cq"; cr: "bj.cr"; cs: "bj.cs"; ct: "bj.ct"; cu: "bj.cu"; cv: "bj.cv"; cw: "bj.cw"; cx: "bj.cx"; cy: "bj.cy"; cz: "bj.cz"; da: "bj.da"; db: "bj.db"; dc: "bj.dc"; dd: "bj.dd"; de: "bj.de"; df: "bj.df"; dg: "bj.dg"; dh: "bj.dh"; di: "bj.di"; dj: "bj.dj"; dk: "bj.dk"; dl: "bj.dl"; dm: "bj.dm"; dn: "bj.dn"; do: "bj.do"; dp: "bj.dp"; dq: "bj.dq"; dr: "bj.dr"; ds: "bj.ds"; dt: "bj.dt"; du: "bj.du"; dv: "bj.dv"; dw: "bj.dw"; dx: "bj.dx"; dy: "bj.dy"; dz: "bj.dz"; ea: "bj.ea"; eb: "bj.eb"; ec: "bj.ec"; ed: "bj.ed"; ee: "bj.ee"; ef: "bj.ef"; eg: "bj.eg"; eh: "bj.eh"; ei: "bj.ei"; ej: "bj.ej"; ek: "bj.ek"; el: "bj.el"; em: "bj.em"; en: "bj.en"; eo: "bj.eo"; ep: "bj.ep"; eq: "bj.eq"; er: "bj.er"; es: "bj.es"; et: "bj.et"; eu: "bj.eu"; ev: "bj.ev"; ew: "bj.ew"; ex: "bj.ex"; ey: "bj.ey"; ez: "bj.ez"; fa: "bj.fa"; fb: "bj.fb"; fc: "bj.fc"; fd: "bj.fd"; fe: "bj.fe"; ff: "bj.ff"; fg: "bj.fg"; fh: "bj.fh"; fi: "bj.fi"; fj: "bj.fj"; fk: "bj.fk"; fl: "bj.fl"; fm: "bj.fm"; fn: "bj.fn"; fo: "bj.fo"; fp: "bj.fp"; fq: "bj.fq"; fr: "bj.fr"; fs: "bj.fs"; ft: "bj.ft"; fu: "bj.fu"; fv: "bj.fv"; fw: "bj.fw"; fx: "bj.fx"; fy: "bj.fy"; fz: "bj.fz"; ga: "bj.ga"; gb: "bj.gb"; gc: "bj.gc"; gd: "bj.gd"; ge: "bj.ge"; gf: "bj.gf"; gg: "bj.gg"; gh: "bj.gh"; gi: "bj.gi"; gj: "bj.gj"; gk: "bj.gk"; gl: "bj.gl"; gm: "bj.gm"; gn: "bj.gn"; go: "bj.go"; gp: "bj.gp"; gq: "bj.gq"; gr: "bj.gr"; gs: "bj.gs"; gt: "bj.gt"; gu: "bj.gu"; gv: "bj.gv"; gw: "bj.gw"; gx: "bj.gx"; gy: "bj.gy"; gz: "bj.gz"; ha: "bj.ha"; hb: "bj.hb"; hc: "bj.hc"; hd: "bj.hd"; he: "bj.he"; hf: "bj.hf"; hg: "bj.hg"; hh: "bj.hh"; hi: "bj.hi"; hj: "bj.hj"; hk: "bj.hk"; hl: "bj.hl"; hm: "bj.hm"; hn: "bj.hn"; ho: "bj.ho"; hp: "bj.hp"; hq: "bj.hq"; hr: "bj.hr"; hs: "bj.hs"; ht: "bj.ht"; hu: "bj.hu"; hv: "bj.hv"; hw: "bj.hw"; hx: "bj.hx"; hy: "bj.hy"; hz: "bj.hz"; ia: "bj.ia"; ib: "bj.ib"; ic: "bj.ic"; id: "bj.id"; ie: "bj.ie"; if: "bj.if"; ig: "bj.ig"; ih: "bj.ih"; ii: "bj.ii"; ij: "bj.ij"; ik: "bj.ik"; il: "bj.il"; im: "bj.im"; in: "bj.in"; io: "bj.io"; ip: "bj.ip"; iq: "bj.iq"; ir: "bj.ir"; is: "bj.is"; it: "bj.it"; iu: "bj.iu"; iv: "bj.iv"; iw: "bj.iw"; ix: "bj.ix"; iy: "bj.iy"; iz: "bj.iz"; ja: "bj.ja"; jb: "bj.jb"; jc: "bj.jc"; jd: "bj.jd"; je: "bj.je"; jf: "bj.jf"; jg: "bj.jg"; jh: "bj.jh"; ji: "bj.ji"; jj: "bj.jj"; jk: "bj.jk"; jl: "bj.jl"; jm: "bj.jm"; jn: "bj.jn"; jo: "bj.jo"; jp: "bj.jp"; jq: "bj.jq"; jr: "bj.jr"; js: "bj.js"; jt: "bj.jt"; ju: "bj.ju"; jv: "bj.jv"; jw: "bj.jw"; jx: "bj.jx"; jy: "bj.jy"; jz: "bj.jz"; ka: "bj.ka"; kb: "bj.kb"; kc: "bj.kc"; kd: "bj.kd"; ke: "bj.ke"; kf: "bj.kf"; kg: "bj.kg"; kh: "bj.kh"; ki: "bj.ki"; kj: "bj.kj"; kk: "bj.kk"; kl: "bj.kl"; km: "bj.km"; kn: "bj.kn"; ko: "bj.ko"; kp: "bj.kp"; kq: "bj.kq"; kr: "bj.kr"; ks: "bj.ks"; kt: "bj.kt"; ku: "bj.ku"; kv: "bj.kv"; kw: "bj.kw"; kx: "bj.kx"; ky: "bj.ky"; kz: "bj.kz"; la: "bj.la"; lb: "bj.lb"; lc: "bj.lc"; ld: "bj.ld"; le: "bj.le"; lf: "bj.lf"; lg: "bj.lg"; lh: "bj.lh"; li: "bj.li"; lj: "bj.lj"; lk: "bj.lk"; ll: "bj.ll"; lm: "bj.lm"; ln: "bj.ln"; lo: "bj.lo"; lp: "bj.lp"; lq: "bj.lq"; lr: "bj.lr"; ls: "bj.ls"; lt: "bj.lt"; lu: "bj.lu"; lv: "bj.lv"; lw: "bj.lw"; lx: "bj.lx"; ly: "bj.ly"; lz: "bj.lz"; ma: "bj.ma"; mb: "bj.mb"; mc: "bj.mc"; md: "bj.md"; me: "bj.me"; mf: "bj.mf"; mg: "bj.mg"; mh: "bj.mh"; mi: "bj.mi"; mj: "bj.mj"; mk: "bj.mk"; ml: "bj.ml"; mm: "bj.mm"; mn: "bj.mn"; mo: "bj.mo"; mp: "bj.mp"; mq: "bj.mq"; mr: "bj.mr"; ms: "bj.ms"; mt: "bj.mt"; mu: "bj.mu"; mv: "bj.mv"; mw: "bj.mw"; mx: "bj.mx"; my: "bj.my"; mz: "bj.mz"; na: "bj.na"; nb: "bj.nb"; nc: "bj.nc"; nd: "bj.nd"; ne: "bj.ne"; nf: "bj.nf"; ng: "bj.ng"; nh: "bj.nh"; ni: "bj.ni"; nj: "bj.nj"; nk: "bj.nk"; nl: "bj.nl"; nm: "bj.nm"; nn: "bj.nn"; no: "bj.no"; np: "bj.np"; nq: "bj.nq"; nr: "bj.nr"; ns: "bj.ns"; nt: "bj.nt"; nu: "bj.nu"; nv: "bj.nv"; nw: "bj.nw"; nx: "bj.nx"; ny: "bj.ny"; nz: "bj.nz"; oa: "bj.oa"; ob: "bj.ob"; oc: "bj.oc"; od: "bj.od"; oe: "bj.oe"; of: "bj.of"; og: "bj.og"; oh: "bj.oh"; oi: "bj.oi"; oj: "bj.oj"; ok: "bj.ok"; ol: "bj.ol"; om: "bj.om"; on: "bj.on"; oo: "bj.oo"; op: "bj.op"; oq: "bj.oq"; or: "bj.or"; os: "bj.os"; ot: "bj.ot"; ou: "bj.ou"; ov: "bj.ov"; ow: "bj.ow"; ox: "bj.ox"; oy: "bj.oy"; oz: "bj.oz"; pa: "bj.pa"; pb: "bj.pb"; pc: "bj.pc"; pd: "bj.pd"; pe: "bj.pe"; pf: "bj.pf"; pg: "bj.pg"; ph: "bj.ph"; pi: "bj.pi"; pj: "bj.pj"; pk: "bj.pk"; pl: "bj.pl"; pm: "bj.pm"; pn: "bj.pn"; po: "bj.po"; pp: "bj.pp"; pq: "bj.pq"; pr: "bj.pr"; ps: "bj.ps"; pt: "bj.pt"; pu: "bj.pu"; pv: "bj.pv"; pw: "bj.pw"; px: "bj.px"; py: "bj.py"; pz: "bj.pz"; qa: "bj.qa"; qb: "bj.qb"; qc: "bj.qc"; qd: "bj.qd"; qe: "bj.qe"; qf: "bj.qf"; qg: "bj.qg"; qh: "bj.qh"; qi: "bj.qi"; qj: "bj.qj"; qk: "bj.qk"; ql: "bj.ql"; qm: "bj.qm"; qn: "bj.qn"; qo: "bj.qo"; qp: "bj.qp"; qq: "bj.qq"; qr: "bj.qr"; qs: "bj.qs"; qt: "bj.qt"; qu: "bj.qu"; qv: "bj.qv"; qw: "bj.qw"; qx: "bj.qx"; qy: "bj.qy"; qz: "bj.qz"; ra: "bj.ra"; rb: "bj.rb"; rc: "bj.rc"; rd: "bj.rd"; re: "bj.re"; rf: "bj.rf"; rg: "bj.rg"; rh: "bj.rh"; ri: "bj.ri"; rj: "bj.rj"; rk: "bj.rk"; rl: "bj.rl"; rm: "bj.rm"; rn: "bj.rn"; ro: "bj.ro"; rp: "bj.rp"; rq: "bj.rq"; rr: "bj.rr"; rs: "bj.rs"; rt: "bj.rt"; ru: "bj.ru"; rv: "bj.rv"; rw: "bj.rw"; rx: "bj.rx"; ry: "bj.ry"; rz: "bj.rz"; sa: "bj.sa"; sb: "bj.sb"; sc: "bj.sc"; sd: "bj.sd"; se: "bj.se"; sf: "bj.sf"; sg: "bj.sg"; sh: "bj.sh"; si: "bj.si"; sj: "bj.sj"; sk: "bj.sk"; sl: "bj.sl"; sm: "bj.sm"; sn: "bj.sn"; so: "bj.so"; sp: "bj.sp"; sq: "bj.sq"; sr: "bj.sr"; ss: "bj.ss"; st: "bj.st"; su: "bj.su"; sv: "bj.sv"; sw: "bj.sw"; sx: "bj.sx"; sy: "bj.sy"; sz: "bj.sz"; ta: "bj.ta"; tb: "bj.tb"; tc: "bj.tc"; td: "bj.td"; te: "bj.te"; tf: "bj.tf"; tg: "bj.tg"; th: "bj.th"; ti: "bj.ti"; tj: "bj.tj"; tk: "bj.tk"; tl: "bj.tl"; tm: "bj.tm"; tn: "bj.tn"; to: "bj.to"; tp: "bj.tp"; tq: "bj.tq"; tr: "bj.tr"; ts: "bj.ts"; tt: "bj.tt"; tu: "bj.tu"; tv: "bj.tv"; tw: "bj.tw"; tx: "bj.tx"; ty: "bj.ty"; tz: "bj.tz"; ua: "bj.ua"; ub: "bj.ub"; uc: "bj.uc"; ud: "bj.ud"; ue: "bj.ue"; uf: "bj.uf"; ug: "bj.ug"; uh: "bj.uh"; ui: "bj.ui"; uj: "bj.uj"; uk: "bj.uk"; ul: "bj.ul"; um: "bj.um"; un: "bj.un"; uo: "bj.uo"; up: "bj.up"; uq: "bj.uq"; ur: "bj.ur"; us: "bj.us"; ut: "bj.ut"; uu: "bj.uu"; uv: "bj.uv"; uw: "bj.uw"; ux: "bj.ux"; uy: "bj.uy"; uz: "bj.uz"; va: "bj.va"; vb: "bj.vb"; vc: "bj.vc"; vd: "bj.vd"; ve: "bj.ve"; vf: "bj.vf"; vg: "bj.vg"; vh: "bj.vh"; vi: "bj.vi"; vj: "bj.vj"; vk: "bj.vk"; vl: "bj.vl"; vm: "bj.vm"; vn: "bj.vn"; vo: "bj.vo"; vp: "bj.vp"; vq: "bj.vq"; vr: "bj.vr"; vs: "bj.vs"; vt: "bj.vt"; vu: "bj.vu"; vv: "bj.vv"; vw: "bj.vw"; vx: "bj.vx"; vy: "bj.vy"; vz: "bj.vz"; wa: "bj.wa"; wb: "bj.wb"; wc: "bj.wc"; wd: "bj.wd"; we: "bj.we"; wf: "bj.wf"; wg: "bj.wg"; wh: "bj.wh"; wi: "bj.wi"; wj: "bj.wj"; wk: "bj.wk"; wl: "bj.wl"; wm: "bj.wm"; wn: "bj.wn"; wo: "bj.wo"; wp: "bj.wp"; wq: "bj.wq"; wr: "bj.wr"; ws: "bj.ws"; wt: "bj.wt"; wu: "bj.wu"; wv: "bj.wv"; ww: "bj.ww"; wx: "bj.wx"; wy: "bj.wy"; wz: "bj.wz"; xa: "bj.xa"; xb: "bj.xb"; xc: "bj.xc"; xd: "bj.xd"; xe: "bj.xe"; xf: "bj.xf"; xg: "bj.xg"; xh: "bj.xh"; xi: "bj.xi"; xj: "bj.xj"; xk: "bj.xk"; xl: "bj.xl"; xm: "bj.xm"; xn: "bj.xn"; xo: "bj.xo"; xp: "bj.xp"; xq: "bj.xq"; xr: "bj.xr"; xs: "bj.xs"; xt: "bj.xt"; xu: "bj.xu"; xv: "bj.xv"; xw: "bj.xw"; xx: "bj.xx"; xy: "bj.xy"; xz: "bj.xz"; ya: "bj.ya"; yb: "bj.yb"; yc: "bj.yc"; yd: "bj.yd"; ye: "bj.ye"; yf: "bj.yf"; yg: "bj.yg"; yh: "bj.yh"; yi: "bj.yi"; yj: "bj.yj"; yk: "bj.yk"; yl: "bj.yl"; ym: "bj.ym"; yn: "bj.yn"; yo: "bj.yo"; yp: "bj.yp"; yq: "bj.yq"; yr: "bj.yr"; ys: "bj.ys"; yt: "bj.yt"; yu: "bj.yu"; yv: "bj.yv"; yw: "bj.yw"; yx: "bj.yx"; yy: "bj.yy"; yz: "bj.yz"; za: "bj.za"; zb: "bj.zb"; zc: "bj.zc"; zd: "bj.zd"; ze: "bj.ze"; zf: "bj.zf"; zg: "bj.zg"; zh: "bj.zh"; zi: "bj.zi"; zj: "bj.zj"; zk: "bj.zk"; zl: "bj.zl"; zm: "bj.zm"; zn: "bj.zn"; zo: "bj.zo"; zp: "bj.zp"; zq: "bj.zq"; zr: "bj.zr"; zs: "bj.zs"; zt: "bj.zt"; zu: "bj.zu"; zv: "bj.zv"; zw: "bj.zw"; zx: "bj.zx"; zy: "bj.zy"; zz: "bj.zz"; }; bk: { aa: "bk.aa"; ab: "bk.ab"; ac: "bk.ac"; ad: "bk.ad"; ae: "bk.ae"; af: "bk.af"; ag: "bk.ag"; ah: "bk.ah"; ai: "bk.ai"; aj: "bk.aj"; ak: "bk.ak"; al: "bk.al"; am: "bk.am"; an: "bk.an"; ao: "bk.ao"; ap: "bk.ap"; aq: "bk.aq"; ar: "bk.ar"; as: "bk.as"; at: "bk.at"; au: "bk.au"; av: "bk.av"; aw: "bk.aw"; ax: "bk.ax"; ay: "bk.ay"; az: "bk.az"; ba: "bk.ba"; bb: "bk.bb"; bc: "bk.bc"; bd: "bk.bd"; be: "bk.be"; bf: "bk.bf"; bg: "bk.bg"; bh: "bk.bh"; bi: "bk.bi"; bj: "bk.bj"; bk: "bk.bk"; bl: "bk.bl"; bm: "bk.bm"; bn: "bk.bn"; bo: "bk.bo"; bp: "bk.bp"; bq: "bk.bq"; br: "bk.br"; bs: "bk.bs"; bt: "bk.bt"; bu: "bk.bu"; bv: "bk.bv"; bw: "bk.bw"; bx: "bk.bx"; by: "bk.by"; bz: "bk.bz"; ca: "bk.ca"; cb: "bk.cb"; cc: "bk.cc"; cd: "bk.cd"; ce: "bk.ce"; cf: "bk.cf"; cg: "bk.cg"; ch: "bk.ch"; ci: "bk.ci"; cj: "bk.cj"; ck: "bk.ck"; cl: "bk.cl"; cm: "bk.cm"; cn: "bk.cn"; co: "bk.co"; cp: "bk.cp"; cq: "bk.cq"; cr: "bk.cr"; cs: "bk.cs"; ct: "bk.ct"; cu: "bk.cu"; cv: "bk.cv"; cw: "bk.cw"; cx: "bk.cx"; cy: "bk.cy"; cz: "bk.cz"; da: "bk.da"; db: "bk.db"; dc: "bk.dc"; dd: "bk.dd"; de: "bk.de"; df: "bk.df"; dg: "bk.dg"; dh: "bk.dh"; di: "bk.di"; dj: "bk.dj"; dk: "bk.dk"; dl: "bk.dl"; dm: "bk.dm"; dn: "bk.dn"; do: "bk.do"; dp: "bk.dp"; dq: "bk.dq"; dr: "bk.dr"; ds: "bk.ds"; dt: "bk.dt"; du: "bk.du"; dv: "bk.dv"; dw: "bk.dw"; dx: "bk.dx"; dy: "bk.dy"; dz: "bk.dz"; ea: "bk.ea"; eb: "bk.eb"; ec: "bk.ec"; ed: "bk.ed"; ee: "bk.ee"; ef: "bk.ef"; eg: "bk.eg"; eh: "bk.eh"; ei: "bk.ei"; ej: "bk.ej"; ek: "bk.ek"; el: "bk.el"; em: "bk.em"; en: "bk.en"; eo: "bk.eo"; ep: "bk.ep"; eq: "bk.eq"; er: "bk.er"; es: "bk.es"; et: "bk.et"; eu: "bk.eu"; ev: "bk.ev"; ew: "bk.ew"; ex: "bk.ex"; ey: "bk.ey"; ez: "bk.ez"; fa: "bk.fa"; fb: "bk.fb"; fc: "bk.fc"; fd: "bk.fd"; fe: "bk.fe"; ff: "bk.ff"; fg: "bk.fg"; fh: "bk.fh"; fi: "bk.fi"; fj: "bk.fj"; fk: "bk.fk"; fl: "bk.fl"; fm: "bk.fm"; fn: "bk.fn"; fo: "bk.fo"; fp: "bk.fp"; fq: "bk.fq"; fr: "bk.fr"; fs: "bk.fs"; ft: "bk.ft"; fu: "bk.fu"; fv: "bk.fv"; fw: "bk.fw"; fx: "bk.fx"; fy: "bk.fy"; fz: "bk.fz"; ga: "bk.ga"; gb: "bk.gb"; gc: "bk.gc"; gd: "bk.gd"; ge: "bk.ge"; gf: "bk.gf"; gg: "bk.gg"; gh: "bk.gh"; gi: "bk.gi"; gj: "bk.gj"; gk: "bk.gk"; gl: "bk.gl"; gm: "bk.gm"; gn: "bk.gn"; go: "bk.go"; gp: "bk.gp"; gq: "bk.gq"; gr: "bk.gr"; gs: "bk.gs"; gt: "bk.gt"; gu: "bk.gu"; gv: "bk.gv"; gw: "bk.gw"; gx: "bk.gx"; gy: "bk.gy"; gz: "bk.gz"; ha: "bk.ha"; hb: "bk.hb"; hc: "bk.hc"; hd: "bk.hd"; he: "bk.he"; hf: "bk.hf"; hg: "bk.hg"; hh: "bk.hh"; hi: "bk.hi"; hj: "bk.hj"; hk: "bk.hk"; hl: "bk.hl"; hm: "bk.hm"; hn: "bk.hn"; ho: "bk.ho"; hp: "bk.hp"; hq: "bk.hq"; hr: "bk.hr"; hs: "bk.hs"; ht: "bk.ht"; hu: "bk.hu"; hv: "bk.hv"; hw: "bk.hw"; hx: "bk.hx"; hy: "bk.hy"; hz: "bk.hz"; ia: "bk.ia"; ib: "bk.ib"; ic: "bk.ic"; id: "bk.id"; ie: "bk.ie"; if: "bk.if"; ig: "bk.ig"; ih: "bk.ih"; ii: "bk.ii"; ij: "bk.ij"; ik: "bk.ik"; il: "bk.il"; im: "bk.im"; in: "bk.in"; io: "bk.io"; ip: "bk.ip"; iq: "bk.iq"; ir: "bk.ir"; is: "bk.is"; it: "bk.it"; iu: "bk.iu"; iv: "bk.iv"; iw: "bk.iw"; ix: "bk.ix"; iy: "bk.iy"; iz: "bk.iz"; ja: "bk.ja"; jb: "bk.jb"; jc: "bk.jc"; jd: "bk.jd"; je: "bk.je"; jf: "bk.jf"; jg: "bk.jg"; jh: "bk.jh"; ji: "bk.ji"; jj: "bk.jj"; jk: "bk.jk"; jl: "bk.jl"; jm: "bk.jm"; jn: "bk.jn"; jo: "bk.jo"; jp: "bk.jp"; jq: "bk.jq"; jr: "bk.jr"; js: "bk.js"; jt: "bk.jt"; ju: "bk.ju"; jv: "bk.jv"; jw: "bk.jw"; jx: "bk.jx"; jy: "bk.jy"; jz: "bk.jz"; ka: "bk.ka"; kb: "bk.kb"; kc: "bk.kc"; kd: "bk.kd"; ke: "bk.ke"; kf: "bk.kf"; kg: "bk.kg"; kh: "bk.kh"; ki: "bk.ki"; kj: "bk.kj"; kk: "bk.kk"; kl: "bk.kl"; km: "bk.km"; kn: "bk.kn"; ko: "bk.ko"; kp: "bk.kp"; kq: "bk.kq"; kr: "bk.kr"; ks: "bk.ks"; kt: "bk.kt"; ku: "bk.ku"; kv: "bk.kv"; kw: "bk.kw"; kx: "bk.kx"; ky: "bk.ky"; kz: "bk.kz"; la: "bk.la"; lb: "bk.lb"; lc: "bk.lc"; ld: "bk.ld"; le: "bk.le"; lf: "bk.lf"; lg: "bk.lg"; lh: "bk.lh"; li: "bk.li"; lj: "bk.lj"; lk: "bk.lk"; ll: "bk.ll"; lm: "bk.lm"; ln: "bk.ln"; lo: "bk.lo"; lp: "bk.lp"; lq: "bk.lq"; lr: "bk.lr"; ls: "bk.ls"; lt: "bk.lt"; lu: "bk.lu"; lv: "bk.lv"; lw: "bk.lw"; lx: "bk.lx"; ly: "bk.ly"; lz: "bk.lz"; ma: "bk.ma"; mb: "bk.mb"; mc: "bk.mc"; md: "bk.md"; me: "bk.me"; mf: "bk.mf"; mg: "bk.mg"; mh: "bk.mh"; mi: "bk.mi"; mj: "bk.mj"; mk: "bk.mk"; ml: "bk.ml"; mm: "bk.mm"; mn: "bk.mn"; mo: "bk.mo"; mp: "bk.mp"; mq: "bk.mq"; mr: "bk.mr"; ms: "bk.ms"; mt: "bk.mt"; mu: "bk.mu"; mv: "bk.mv"; mw: "bk.mw"; mx: "bk.mx"; my: "bk.my"; mz: "bk.mz"; na: "bk.na"; nb: "bk.nb"; nc: "bk.nc"; nd: "bk.nd"; ne: "bk.ne"; nf: "bk.nf"; ng: "bk.ng"; nh: "bk.nh"; ni: "bk.ni"; nj: "bk.nj"; nk: "bk.nk"; nl: "bk.nl"; nm: "bk.nm"; nn: "bk.nn"; no: "bk.no"; np: "bk.np"; nq: "bk.nq"; nr: "bk.nr"; ns: "bk.ns"; nt: "bk.nt"; nu: "bk.nu"; nv: "bk.nv"; nw: "bk.nw"; nx: "bk.nx"; ny: "bk.ny"; nz: "bk.nz"; oa: "bk.oa"; ob: "bk.ob"; oc: "bk.oc"; od: "bk.od"; oe: "bk.oe"; of: "bk.of"; og: "bk.og"; oh: "bk.oh"; oi: "bk.oi"; oj: "bk.oj"; ok: "bk.ok"; ol: "bk.ol"; om: "bk.om"; on: "bk.on"; oo: "bk.oo"; op: "bk.op"; oq: "bk.oq"; or: "bk.or"; os: "bk.os"; ot: "bk.ot"; ou: "bk.ou"; ov: "bk.ov"; ow: "bk.ow"; ox: "bk.ox"; oy: "bk.oy"; oz: "bk.oz"; pa: "bk.pa"; pb: "bk.pb"; pc: "bk.pc"; pd: "bk.pd"; pe: "bk.pe"; pf: "bk.pf"; pg: "bk.pg"; ph: "bk.ph"; pi: "bk.pi"; pj: "bk.pj"; pk: "bk.pk"; pl: "bk.pl"; pm: "bk.pm"; pn: "bk.pn"; po: "bk.po"; pp: "bk.pp"; pq: "bk.pq"; pr: "bk.pr"; ps: "bk.ps"; pt: "bk.pt"; pu: "bk.pu"; pv: "bk.pv"; pw: "bk.pw"; px: "bk.px"; py: "bk.py"; pz: "bk.pz"; qa: "bk.qa"; qb: "bk.qb"; qc: "bk.qc"; qd: "bk.qd"; qe: "bk.qe"; qf: "bk.qf"; qg: "bk.qg"; qh: "bk.qh"; qi: "bk.qi"; qj: "bk.qj"; qk: "bk.qk"; ql: "bk.ql"; qm: "bk.qm"; qn: "bk.qn"; qo: "bk.qo"; qp: "bk.qp"; qq: "bk.qq"; qr: "bk.qr"; qs: "bk.qs"; qt: "bk.qt"; qu: "bk.qu"; qv: "bk.qv"; qw: "bk.qw"; qx: "bk.qx"; qy: "bk.qy"; qz: "bk.qz"; ra: "bk.ra"; rb: "bk.rb"; rc: "bk.rc"; rd: "bk.rd"; re: "bk.re"; rf: "bk.rf"; rg: "bk.rg"; rh: "bk.rh"; ri: "bk.ri"; rj: "bk.rj"; rk: "bk.rk"; rl: "bk.rl"; rm: "bk.rm"; rn: "bk.rn"; ro: "bk.ro"; rp: "bk.rp"; rq: "bk.rq"; rr: "bk.rr"; rs: "bk.rs"; rt: "bk.rt"; ru: "bk.ru"; rv: "bk.rv"; rw: "bk.rw"; rx: "bk.rx"; ry: "bk.ry"; rz: "bk.rz"; sa: "bk.sa"; sb: "bk.sb"; sc: "bk.sc"; sd: "bk.sd"; se: "bk.se"; sf: "bk.sf"; sg: "bk.sg"; sh: "bk.sh"; si: "bk.si"; sj: "bk.sj"; sk: "bk.sk"; sl: "bk.sl"; sm: "bk.sm"; sn: "bk.sn"; so: "bk.so"; sp: "bk.sp"; sq: "bk.sq"; sr: "bk.sr"; ss: "bk.ss"; st: "bk.st"; su: "bk.su"; sv: "bk.sv"; sw: "bk.sw"; sx: "bk.sx"; sy: "bk.sy"; sz: "bk.sz"; ta: "bk.ta"; tb: "bk.tb"; tc: "bk.tc"; td: "bk.td"; te: "bk.te"; tf: "bk.tf"; tg: "bk.tg"; th: "bk.th"; ti: "bk.ti"; tj: "bk.tj"; tk: "bk.tk"; tl: "bk.tl"; tm: "bk.tm"; tn: "bk.tn"; to: "bk.to"; tp: "bk.tp"; tq: "bk.tq"; tr: "bk.tr"; ts: "bk.ts"; tt: "bk.tt"; tu: "bk.tu"; tv: "bk.tv"; tw: "bk.tw"; tx: "bk.tx"; ty: "bk.ty"; tz: "bk.tz"; ua: "bk.ua"; ub: "bk.ub"; uc: "bk.uc"; ud: "bk.ud"; ue: "bk.ue"; uf: "bk.uf"; ug: "bk.ug"; uh: "bk.uh"; ui: "bk.ui"; uj: "bk.uj"; uk: "bk.uk"; ul: "bk.ul"; um: "bk.um"; un: "bk.un"; uo: "bk.uo"; up: "bk.up"; uq: "bk.uq"; ur: "bk.ur"; us: "bk.us"; ut: "bk.ut"; uu: "bk.uu"; uv: "bk.uv"; uw: "bk.uw"; ux: "bk.ux"; uy: "bk.uy"; uz: "bk.uz"; va: "bk.va"; vb: "bk.vb"; vc: "bk.vc"; vd: "bk.vd"; ve: "bk.ve"; vf: "bk.vf"; vg: "bk.vg"; vh: "bk.vh"; vi: "bk.vi"; vj: "bk.vj"; vk: "bk.vk"; vl: "bk.vl"; vm: "bk.vm"; vn: "bk.vn"; vo: "bk.vo"; vp: "bk.vp"; vq: "bk.vq"; vr: "bk.vr"; vs: "bk.vs"; vt: "bk.vt"; vu: "bk.vu"; vv: "bk.vv"; vw: "bk.vw"; vx: "bk.vx"; vy: "bk.vy"; vz: "bk.vz"; wa: "bk.wa"; wb: "bk.wb"; wc: "bk.wc"; wd: "bk.wd"; we: "bk.we"; wf: "bk.wf"; wg: "bk.wg"; wh: "bk.wh"; wi: "bk.wi"; wj: "bk.wj"; wk: "bk.wk"; wl: "bk.wl"; wm: "bk.wm"; wn: "bk.wn"; wo: "bk.wo"; wp: "bk.wp"; wq: "bk.wq"; wr: "bk.wr"; ws: "bk.ws"; wt: "bk.wt"; wu: "bk.wu"; wv: "bk.wv"; ww: "bk.ww"; wx: "bk.wx"; wy: "bk.wy"; wz: "bk.wz"; xa: "bk.xa"; xb: "bk.xb"; xc: "bk.xc"; xd: "bk.xd"; xe: "bk.xe"; xf: "bk.xf"; xg: "bk.xg"; xh: "bk.xh"; xi: "bk.xi"; xj: "bk.xj"; xk: "bk.xk"; xl: "bk.xl"; xm: "bk.xm"; xn: "bk.xn"; xo: "bk.xo"; xp: "bk.xp"; xq: "bk.xq"; xr: "bk.xr"; xs: "bk.xs"; xt: "bk.xt"; xu: "bk.xu"; xv: "bk.xv"; xw: "bk.xw"; xx: "bk.xx"; xy: "bk.xy"; xz: "bk.xz"; ya: "bk.ya"; yb: "bk.yb"; yc: "bk.yc"; yd: "bk.yd"; ye: "bk.ye"; yf: "bk.yf"; yg: "bk.yg"; yh: "bk.yh"; yi: "bk.yi"; yj: "bk.yj"; yk: "bk.yk"; yl: "bk.yl"; ym: "bk.ym"; yn: "bk.yn"; yo: "bk.yo"; yp: "bk.yp"; yq: "bk.yq"; yr: "bk.yr"; ys: "bk.ys"; yt: "bk.yt"; yu: "bk.yu"; yv: "bk.yv"; yw: "bk.yw"; yx: "bk.yx"; yy: "bk.yy"; yz: "bk.yz"; za: "bk.za"; zb: "bk.zb"; zc: "bk.zc"; zd: "bk.zd"; ze: "bk.ze"; zf: "bk.zf"; zg: "bk.zg"; zh: "bk.zh"; zi: "bk.zi"; zj: "bk.zj"; zk: "bk.zk"; zl: "bk.zl"; zm: "bk.zm"; zn: "bk.zn"; zo: "bk.zo"; zp: "bk.zp"; zq: "bk.zq"; zr: "bk.zr"; zs: "bk.zs"; zt: "bk.zt"; zu: "bk.zu"; zv: "bk.zv"; zw: "bk.zw"; zx: "bk.zx"; zy: "bk.zy"; zz: "bk.zz"; }; bl: { aa: "bl.aa"; ab: "bl.ab"; ac: "bl.ac"; ad: "bl.ad"; ae: "bl.ae"; af: "bl.af"; ag: "bl.ag"; ah: "bl.ah"; ai: "bl.ai"; aj: "bl.aj"; ak: "bl.ak"; al: "bl.al"; am: "bl.am"; an: "bl.an"; ao: "bl.ao"; ap: "bl.ap"; aq: "bl.aq"; ar: "bl.ar"; as: "bl.as"; at: "bl.at"; au: "bl.au"; av: "bl.av"; aw: "bl.aw"; ax: "bl.ax"; ay: "bl.ay"; az: "bl.az"; ba: "bl.ba"; bb: "bl.bb"; bc: "bl.bc"; bd: "bl.bd"; be: "bl.be"; bf: "bl.bf"; bg: "bl.bg"; bh: "bl.bh"; bi: "bl.bi"; bj: "bl.bj"; bk: "bl.bk"; bl: "bl.bl"; bm: "bl.bm"; bn: "bl.bn"; bo: "bl.bo"; bp: "bl.bp"; bq: "bl.bq"; br: "bl.br"; bs: "bl.bs"; bt: "bl.bt"; bu: "bl.bu"; bv: "bl.bv"; bw: "bl.bw"; bx: "bl.bx"; by: "bl.by"; bz: "bl.bz"; ca: "bl.ca"; cb: "bl.cb"; cc: "bl.cc"; cd: "bl.cd"; ce: "bl.ce"; cf: "bl.cf"; cg: "bl.cg"; ch: "bl.ch"; ci: "bl.ci"; cj: "bl.cj"; ck: "bl.ck"; cl: "bl.cl"; cm: "bl.cm"; cn: "bl.cn"; co: "bl.co"; cp: "bl.cp"; cq: "bl.cq"; cr: "bl.cr"; cs: "bl.cs"; ct: "bl.ct"; cu: "bl.cu"; cv: "bl.cv"; cw: "bl.cw"; cx: "bl.cx"; cy: "bl.cy"; cz: "bl.cz"; da: "bl.da"; db: "bl.db"; dc: "bl.dc"; dd: "bl.dd"; de: "bl.de"; df: "bl.df"; dg: "bl.dg"; dh: "bl.dh"; di: "bl.di"; dj: "bl.dj"; dk: "bl.dk"; dl: "bl.dl"; dm: "bl.dm"; dn: "bl.dn"; do: "bl.do"; dp: "bl.dp"; dq: "bl.dq"; dr: "bl.dr"; ds: "bl.ds"; dt: "bl.dt"; du: "bl.du"; dv: "bl.dv"; dw: "bl.dw"; dx: "bl.dx"; dy: "bl.dy"; dz: "bl.dz"; ea: "bl.ea"; eb: "bl.eb"; ec: "bl.ec"; ed: "bl.ed"; ee: "bl.ee"; ef: "bl.ef"; eg: "bl.eg"; eh: "bl.eh"; ei: "bl.ei"; ej: "bl.ej"; ek: "bl.ek"; el: "bl.el"; em: "bl.em"; en: "bl.en"; eo: "bl.eo"; ep: "bl.ep"; eq: "bl.eq"; er: "bl.er"; es: "bl.es"; et: "bl.et"; eu: "bl.eu"; ev: "bl.ev"; ew: "bl.ew"; ex: "bl.ex"; ey: "bl.ey"; ez: "bl.ez"; fa: "bl.fa"; fb: "bl.fb"; fc: "bl.fc"; fd: "bl.fd"; fe: "bl.fe"; ff: "bl.ff"; fg: "bl.fg"; fh: "bl.fh"; fi: "bl.fi"; fj: "bl.fj"; fk: "bl.fk"; fl: "bl.fl"; fm: "bl.fm"; fn: "bl.fn"; fo: "bl.fo"; fp: "bl.fp"; fq: "bl.fq"; fr: "bl.fr"; fs: "bl.fs"; ft: "bl.ft"; fu: "bl.fu"; fv: "bl.fv"; fw: "bl.fw"; fx: "bl.fx"; fy: "bl.fy"; fz: "bl.fz"; ga: "bl.ga"; gb: "bl.gb"; gc: "bl.gc"; gd: "bl.gd"; ge: "bl.ge"; gf: "bl.gf"; gg: "bl.gg"; gh: "bl.gh"; gi: "bl.gi"; gj: "bl.gj"; gk: "bl.gk"; gl: "bl.gl"; gm: "bl.gm"; gn: "bl.gn"; go: "bl.go"; gp: "bl.gp"; gq: "bl.gq"; gr: "bl.gr"; gs: "bl.gs"; gt: "bl.gt"; gu: "bl.gu"; gv: "bl.gv"; gw: "bl.gw"; gx: "bl.gx"; gy: "bl.gy"; gz: "bl.gz"; ha: "bl.ha"; hb: "bl.hb"; hc: "bl.hc"; hd: "bl.hd"; he: "bl.he"; hf: "bl.hf"; hg: "bl.hg"; hh: "bl.hh"; hi: "bl.hi"; hj: "bl.hj"; hk: "bl.hk"; hl: "bl.hl"; hm: "bl.hm"; hn: "bl.hn"; ho: "bl.ho"; hp: "bl.hp"; hq: "bl.hq"; hr: "bl.hr"; hs: "bl.hs"; ht: "bl.ht"; hu: "bl.hu"; hv: "bl.hv"; hw: "bl.hw"; hx: "bl.hx"; hy: "bl.hy"; hz: "bl.hz"; ia: "bl.ia"; ib: "bl.ib"; ic: "bl.ic"; id: "bl.id"; ie: "bl.ie"; if: "bl.if"; ig: "bl.ig"; ih: "bl.ih"; ii: "bl.ii"; ij: "bl.ij"; ik: "bl.ik"; il: "bl.il"; im: "bl.im"; in: "bl.in"; io: "bl.io"; ip: "bl.ip"; iq: "bl.iq"; ir: "bl.ir"; is: "bl.is"; it: "bl.it"; iu: "bl.iu"; iv: "bl.iv"; iw: "bl.iw"; ix: "bl.ix"; iy: "bl.iy"; iz: "bl.iz"; ja: "bl.ja"; jb: "bl.jb"; jc: "bl.jc"; jd: "bl.jd"; je: "bl.je"; jf: "bl.jf"; jg: "bl.jg"; jh: "bl.jh"; ji: "bl.ji"; jj: "bl.jj"; jk: "bl.jk"; jl: "bl.jl"; jm: "bl.jm"; jn: "bl.jn"; jo: "bl.jo"; jp: "bl.jp"; jq: "bl.jq"; jr: "bl.jr"; js: "bl.js"; jt: "bl.jt"; ju: "bl.ju"; jv: "bl.jv"; jw: "bl.jw"; jx: "bl.jx"; jy: "bl.jy"; jz: "bl.jz"; ka: "bl.ka"; kb: "bl.kb"; kc: "bl.kc"; kd: "bl.kd"; ke: "bl.ke"; kf: "bl.kf"; kg: "bl.kg"; kh: "bl.kh"; ki: "bl.ki"; kj: "bl.kj"; kk: "bl.kk"; kl: "bl.kl"; km: "bl.km"; kn: "bl.kn"; ko: "bl.ko"; kp: "bl.kp"; kq: "bl.kq"; kr: "bl.kr"; ks: "bl.ks"; kt: "bl.kt"; ku: "bl.ku"; kv: "bl.kv"; kw: "bl.kw"; kx: "bl.kx"; ky: "bl.ky"; kz: "bl.kz"; la: "bl.la"; lb: "bl.lb"; lc: "bl.lc"; ld: "bl.ld"; le: "bl.le"; lf: "bl.lf"; lg: "bl.lg"; lh: "bl.lh"; li: "bl.li"; lj: "bl.lj"; lk: "bl.lk"; ll: "bl.ll"; lm: "bl.lm"; ln: "bl.ln"; lo: "bl.lo"; lp: "bl.lp"; lq: "bl.lq"; lr: "bl.lr"; ls: "bl.ls"; lt: "bl.lt"; lu: "bl.lu"; lv: "bl.lv"; lw: "bl.lw"; lx: "bl.lx"; ly: "bl.ly"; lz: "bl.lz"; ma: "bl.ma"; mb: "bl.mb"; mc: "bl.mc"; md: "bl.md"; me: "bl.me"; mf: "bl.mf"; mg: "bl.mg"; mh: "bl.mh"; mi: "bl.mi"; mj: "bl.mj"; mk: "bl.mk"; ml: "bl.ml"; mm: "bl.mm"; mn: "bl.mn"; mo: "bl.mo"; mp: "bl.mp"; mq: "bl.mq"; mr: "bl.mr"; ms: "bl.ms"; mt: "bl.mt"; mu: "bl.mu"; mv: "bl.mv"; mw: "bl.mw"; mx: "bl.mx"; my: "bl.my"; mz: "bl.mz"; na: "bl.na"; nb: "bl.nb"; nc: "bl.nc"; nd: "bl.nd"; ne: "bl.ne"; nf: "bl.nf"; ng: "bl.ng"; nh: "bl.nh"; ni: "bl.ni"; nj: "bl.nj"; nk: "bl.nk"; nl: "bl.nl"; nm: "bl.nm"; nn: "bl.nn"; no: "bl.no"; np: "bl.np"; nq: "bl.nq"; nr: "bl.nr"; ns: "bl.ns"; nt: "bl.nt"; nu: "bl.nu"; nv: "bl.nv"; nw: "bl.nw"; nx: "bl.nx"; ny: "bl.ny"; nz: "bl.nz"; oa: "bl.oa"; ob: "bl.ob"; oc: "bl.oc"; od: "bl.od"; oe: "bl.oe"; of: "bl.of"; og: "bl.og"; oh: "bl.oh"; oi: "bl.oi"; oj: "bl.oj"; ok: "bl.ok"; ol: "bl.ol"; om: "bl.om"; on: "bl.on"; oo: "bl.oo"; op: "bl.op"; oq: "bl.oq"; or: "bl.or"; os: "bl.os"; ot: "bl.ot"; ou: "bl.ou"; ov: "bl.ov"; ow: "bl.ow"; ox: "bl.ox"; oy: "bl.oy"; oz: "bl.oz"; pa: "bl.pa"; pb: "bl.pb"; pc: "bl.pc"; pd: "bl.pd"; pe: "bl.pe"; pf: "bl.pf"; pg: "bl.pg"; ph: "bl.ph"; pi: "bl.pi"; pj: "bl.pj"; pk: "bl.pk"; pl: "bl.pl"; pm: "bl.pm"; pn: "bl.pn"; po: "bl.po"; pp: "bl.pp"; pq: "bl.pq"; pr: "bl.pr"; ps: "bl.ps"; pt: "bl.pt"; pu: "bl.pu"; pv: "bl.pv"; pw: "bl.pw"; px: "bl.px"; py: "bl.py"; pz: "bl.pz"; qa: "bl.qa"; qb: "bl.qb"; qc: "bl.qc"; qd: "bl.qd"; qe: "bl.qe"; qf: "bl.qf"; qg: "bl.qg"; qh: "bl.qh"; qi: "bl.qi"; qj: "bl.qj"; qk: "bl.qk"; ql: "bl.ql"; qm: "bl.qm"; qn: "bl.qn"; qo: "bl.qo"; qp: "bl.qp"; qq: "bl.qq"; qr: "bl.qr"; qs: "bl.qs"; qt: "bl.qt"; qu: "bl.qu"; qv: "bl.qv"; qw: "bl.qw"; qx: "bl.qx"; qy: "bl.qy"; qz: "bl.qz"; ra: "bl.ra"; rb: "bl.rb"; rc: "bl.rc"; rd: "bl.rd"; re: "bl.re"; rf: "bl.rf"; rg: "bl.rg"; rh: "bl.rh"; ri: "bl.ri"; rj: "bl.rj"; rk: "bl.rk"; rl: "bl.rl"; rm: "bl.rm"; rn: "bl.rn"; ro: "bl.ro"; rp: "bl.rp"; rq: "bl.rq"; rr: "bl.rr"; rs: "bl.rs"; rt: "bl.rt"; ru: "bl.ru"; rv: "bl.rv"; rw: "bl.rw"; rx: "bl.rx"; ry: "bl.ry"; rz: "bl.rz"; sa: "bl.sa"; sb: "bl.sb"; sc: "bl.sc"; sd: "bl.sd"; se: "bl.se"; sf: "bl.sf"; sg: "bl.sg"; sh: "bl.sh"; si: "bl.si"; sj: "bl.sj"; sk: "bl.sk"; sl: "bl.sl"; sm: "bl.sm"; sn: "bl.sn"; so: "bl.so"; sp: "bl.sp"; sq: "bl.sq"; sr: "bl.sr"; ss: "bl.ss"; st: "bl.st"; su: "bl.su"; sv: "bl.sv"; sw: "bl.sw"; sx: "bl.sx"; sy: "bl.sy"; sz: "bl.sz"; ta: "bl.ta"; tb: "bl.tb"; tc: "bl.tc"; td: "bl.td"; te: "bl.te"; tf: "bl.tf"; tg: "bl.tg"; th: "bl.th"; ti: "bl.ti"; tj: "bl.tj"; tk: "bl.tk"; tl: "bl.tl"; tm: "bl.tm"; tn: "bl.tn"; to: "bl.to"; tp: "bl.tp"; tq: "bl.tq"; tr: "bl.tr"; ts: "bl.ts"; tt: "bl.tt"; tu: "bl.tu"; tv: "bl.tv"; tw: "bl.tw"; tx: "bl.tx"; ty: "bl.ty"; tz: "bl.tz"; ua: "bl.ua"; ub: "bl.ub"; uc: "bl.uc"; ud: "bl.ud"; ue: "bl.ue"; uf: "bl.uf"; ug: "bl.ug"; uh: "bl.uh"; ui: "bl.ui"; uj: "bl.uj"; uk: "bl.uk"; ul: "bl.ul"; um: "bl.um"; un: "bl.un"; uo: "bl.uo"; up: "bl.up"; uq: "bl.uq"; ur: "bl.ur"; us: "bl.us"; ut: "bl.ut"; uu: "bl.uu"; uv: "bl.uv"; uw: "bl.uw"; ux: "bl.ux"; uy: "bl.uy"; uz: "bl.uz"; va: "bl.va"; vb: "bl.vb"; vc: "bl.vc"; vd: "bl.vd"; ve: "bl.ve"; vf: "bl.vf"; vg: "bl.vg"; vh: "bl.vh"; vi: "bl.vi"; vj: "bl.vj"; vk: "bl.vk"; vl: "bl.vl"; vm: "bl.vm"; vn: "bl.vn"; vo: "bl.vo"; vp: "bl.vp"; vq: "bl.vq"; vr: "bl.vr"; vs: "bl.vs"; vt: "bl.vt"; vu: "bl.vu"; vv: "bl.vv"; vw: "bl.vw"; vx: "bl.vx"; vy: "bl.vy"; vz: "bl.vz"; wa: "bl.wa"; wb: "bl.wb"; wc: "bl.wc"; wd: "bl.wd"; we: "bl.we"; wf: "bl.wf"; wg: "bl.wg"; wh: "bl.wh"; wi: "bl.wi"; wj: "bl.wj"; wk: "bl.wk"; wl: "bl.wl"; wm: "bl.wm"; wn: "bl.wn"; wo: "bl.wo"; wp: "bl.wp"; wq: "bl.wq"; wr: "bl.wr"; ws: "bl.ws"; wt: "bl.wt"; wu: "bl.wu"; wv: "bl.wv"; ww: "bl.ww"; wx: "bl.wx"; wy: "bl.wy"; wz: "bl.wz"; xa: "bl.xa"; xb: "bl.xb"; xc: "bl.xc"; xd: "bl.xd"; xe: "bl.xe"; xf: "bl.xf"; xg: "bl.xg"; xh: "bl.xh"; xi: "bl.xi"; xj: "bl.xj"; xk: "bl.xk"; xl: "bl.xl"; xm: "bl.xm"; xn: "bl.xn"; xo: "bl.xo"; xp: "bl.xp"; xq: "bl.xq"; xr: "bl.xr"; xs: "bl.xs"; xt: "bl.xt"; xu: "bl.xu"; xv: "bl.xv"; xw: "bl.xw"; xx: "bl.xx"; xy: "bl.xy"; xz: "bl.xz"; ya: "bl.ya"; yb: "bl.yb"; yc: "bl.yc"; yd: "bl.yd"; ye: "bl.ye"; yf: "bl.yf"; yg: "bl.yg"; yh: "bl.yh"; yi: "bl.yi"; yj: "bl.yj"; yk: "bl.yk"; yl: "bl.yl"; ym: "bl.ym"; yn: "bl.yn"; yo: "bl.yo"; yp: "bl.yp"; yq: "bl.yq"; yr: "bl.yr"; ys: "bl.ys"; yt: "bl.yt"; yu: "bl.yu"; yv: "bl.yv"; yw: "bl.yw"; yx: "bl.yx"; yy: "bl.yy"; yz: "bl.yz"; za: "bl.za"; zb: "bl.zb"; zc: "bl.zc"; zd: "bl.zd"; ze: "bl.ze"; zf: "bl.zf"; zg: "bl.zg"; zh: "bl.zh"; zi: "bl.zi"; zj: "bl.zj"; zk: "bl.zk"; zl: "bl.zl"; zm: "bl.zm"; zn: "bl.zn"; zo: "bl.zo"; zp: "bl.zp"; zq: "bl.zq"; zr: "bl.zr"; zs: "bl.zs"; zt: "bl.zt"; zu: "bl.zu"; zv: "bl.zv"; zw: "bl.zw"; zx: "bl.zx"; zy: "bl.zy"; zz: "bl.zz"; }; bm: { aa: "bm.aa"; ab: "bm.ab"; ac: "bm.ac"; ad: "bm.ad"; ae: "bm.ae"; af: "bm.af"; ag: "bm.ag"; ah: "bm.ah"; ai: "bm.ai"; aj: "bm.aj"; ak: "bm.ak"; al: "bm.al"; am: "bm.am"; an: "bm.an"; ao: "bm.ao"; ap: "bm.ap"; aq: "bm.aq"; ar: "bm.ar"; as: "bm.as"; at: "bm.at"; au: "bm.au"; av: "bm.av"; aw: "bm.aw"; ax: "bm.ax"; ay: "bm.ay"; az: "bm.az"; ba: "bm.ba"; bb: "bm.bb"; bc: "bm.bc"; bd: "bm.bd"; be: "bm.be"; bf: "bm.bf"; bg: "bm.bg"; bh: "bm.bh"; bi: "bm.bi"; bj: "bm.bj"; bk: "bm.bk"; bl: "bm.bl"; bm: "bm.bm"; bn: "bm.bn"; bo: "bm.bo"; bp: "bm.bp"; bq: "bm.bq"; br: "bm.br"; bs: "bm.bs"; bt: "bm.bt"; bu: "bm.bu"; bv: "bm.bv"; bw: "bm.bw"; bx: "bm.bx"; by: "bm.by"; bz: "bm.bz"; ca: "bm.ca"; cb: "bm.cb"; cc: "bm.cc"; cd: "bm.cd"; ce: "bm.ce"; cf: "bm.cf"; cg: "bm.cg"; ch: "bm.ch"; ci: "bm.ci"; cj: "bm.cj"; ck: "bm.ck"; cl: "bm.cl"; cm: "bm.cm"; cn: "bm.cn"; co: "bm.co"; cp: "bm.cp"; cq: "bm.cq"; cr: "bm.cr"; cs: "bm.cs"; ct: "bm.ct"; cu: "bm.cu"; cv: "bm.cv"; cw: "bm.cw"; cx: "bm.cx"; cy: "bm.cy"; cz: "bm.cz"; da: "bm.da"; db: "bm.db"; dc: "bm.dc"; dd: "bm.dd"; de: "bm.de"; df: "bm.df"; dg: "bm.dg"; dh: "bm.dh"; di: "bm.di"; dj: "bm.dj"; dk: "bm.dk"; dl: "bm.dl"; dm: "bm.dm"; dn: "bm.dn"; do: "bm.do"; dp: "bm.dp"; dq: "bm.dq"; dr: "bm.dr"; ds: "bm.ds"; dt: "bm.dt"; du: "bm.du"; dv: "bm.dv"; dw: "bm.dw"; dx: "bm.dx"; dy: "bm.dy"; dz: "bm.dz"; ea: "bm.ea"; eb: "bm.eb"; ec: "bm.ec"; ed: "bm.ed"; ee: "bm.ee"; ef: "bm.ef"; eg: "bm.eg"; eh: "bm.eh"; ei: "bm.ei"; ej: "bm.ej"; ek: "bm.ek"; el: "bm.el"; em: "bm.em"; en: "bm.en"; eo: "bm.eo"; ep: "bm.ep"; eq: "bm.eq"; er: "bm.er"; es: "bm.es"; et: "bm.et"; eu: "bm.eu"; ev: "bm.ev"; ew: "bm.ew"; ex: "bm.ex"; ey: "bm.ey"; ez: "bm.ez"; fa: "bm.fa"; fb: "bm.fb"; fc: "bm.fc"; fd: "bm.fd"; fe: "bm.fe"; ff: "bm.ff"; fg: "bm.fg"; fh: "bm.fh"; fi: "bm.fi"; fj: "bm.fj"; fk: "bm.fk"; fl: "bm.fl"; fm: "bm.fm"; fn: "bm.fn"; fo: "bm.fo"; fp: "bm.fp"; fq: "bm.fq"; fr: "bm.fr"; fs: "bm.fs"; ft: "bm.ft"; fu: "bm.fu"; fv: "bm.fv"; fw: "bm.fw"; fx: "bm.fx"; fy: "bm.fy"; fz: "bm.fz"; ga: "bm.ga"; gb: "bm.gb"; gc: "bm.gc"; gd: "bm.gd"; ge: "bm.ge"; gf: "bm.gf"; gg: "bm.gg"; gh: "bm.gh"; gi: "bm.gi"; gj: "bm.gj"; gk: "bm.gk"; gl: "bm.gl"; gm: "bm.gm"; gn: "bm.gn"; go: "bm.go"; gp: "bm.gp"; gq: "bm.gq"; gr: "bm.gr"; gs: "bm.gs"; gt: "bm.gt"; gu: "bm.gu"; gv: "bm.gv"; gw: "bm.gw"; gx: "bm.gx"; gy: "bm.gy"; gz: "bm.gz"; ha: "bm.ha"; hb: "bm.hb"; hc: "bm.hc"; hd: "bm.hd"; he: "bm.he"; hf: "bm.hf"; hg: "bm.hg"; hh: "bm.hh"; hi: "bm.hi"; hj: "bm.hj"; hk: "bm.hk"; hl: "bm.hl"; hm: "bm.hm"; hn: "bm.hn"; ho: "bm.ho"; hp: "bm.hp"; hq: "bm.hq"; hr: "bm.hr"; hs: "bm.hs"; ht: "bm.ht"; hu: "bm.hu"; hv: "bm.hv"; hw: "bm.hw"; hx: "bm.hx"; hy: "bm.hy"; hz: "bm.hz"; ia: "bm.ia"; ib: "bm.ib"; ic: "bm.ic"; id: "bm.id"; ie: "bm.ie"; if: "bm.if"; ig: "bm.ig"; ih: "bm.ih"; ii: "bm.ii"; ij: "bm.ij"; ik: "bm.ik"; il: "bm.il"; im: "bm.im"; in: "bm.in"; io: "bm.io"; ip: "bm.ip"; iq: "bm.iq"; ir: "bm.ir"; is: "bm.is"; it: "bm.it"; iu: "bm.iu"; iv: "bm.iv"; iw: "bm.iw"; ix: "bm.ix"; iy: "bm.iy"; iz: "bm.iz"; ja: "bm.ja"; jb: "bm.jb"; jc: "bm.jc"; jd: "bm.jd"; je: "bm.je"; jf: "bm.jf"; jg: "bm.jg"; jh: "bm.jh"; ji: "bm.ji"; jj: "bm.jj"; jk: "bm.jk"; jl: "bm.jl"; jm: "bm.jm"; jn: "bm.jn"; jo: "bm.jo"; jp: "bm.jp"; jq: "bm.jq"; jr: "bm.jr"; js: "bm.js"; jt: "bm.jt"; ju: "bm.ju"; jv: "bm.jv"; jw: "bm.jw"; jx: "bm.jx"; jy: "bm.jy"; jz: "bm.jz"; ka: "bm.ka"; kb: "bm.kb"; kc: "bm.kc"; kd: "bm.kd"; ke: "bm.ke"; kf: "bm.kf"; kg: "bm.kg"; kh: "bm.kh"; ki: "bm.ki"; kj: "bm.kj"; kk: "bm.kk"; kl: "bm.kl"; km: "bm.km"; kn: "bm.kn"; ko: "bm.ko"; kp: "bm.kp"; kq: "bm.kq"; kr: "bm.kr"; ks: "bm.ks"; kt: "bm.kt"; ku: "bm.ku"; kv: "bm.kv"; kw: "bm.kw"; kx: "bm.kx"; ky: "bm.ky"; kz: "bm.kz"; la: "bm.la"; lb: "bm.lb"; lc: "bm.lc"; ld: "bm.ld"; le: "bm.le"; lf: "bm.lf"; lg: "bm.lg"; lh: "bm.lh"; li: "bm.li"; lj: "bm.lj"; lk: "bm.lk"; ll: "bm.ll"; lm: "bm.lm"; ln: "bm.ln"; lo: "bm.lo"; lp: "bm.lp"; lq: "bm.lq"; lr: "bm.lr"; ls: "bm.ls"; lt: "bm.lt"; lu: "bm.lu"; lv: "bm.lv"; lw: "bm.lw"; lx: "bm.lx"; ly: "bm.ly"; lz: "bm.lz"; ma: "bm.ma"; mb: "bm.mb"; mc: "bm.mc"; md: "bm.md"; me: "bm.me"; mf: "bm.mf"; mg: "bm.mg"; mh: "bm.mh"; mi: "bm.mi"; mj: "bm.mj"; mk: "bm.mk"; ml: "bm.ml"; mm: "bm.mm"; mn: "bm.mn"; mo: "bm.mo"; mp: "bm.mp"; mq: "bm.mq"; mr: "bm.mr"; ms: "bm.ms"; mt: "bm.mt"; mu: "bm.mu"; mv: "bm.mv"; mw: "bm.mw"; mx: "bm.mx"; my: "bm.my"; mz: "bm.mz"; na: "bm.na"; nb: "bm.nb"; nc: "bm.nc"; nd: "bm.nd"; ne: "bm.ne"; nf: "bm.nf"; ng: "bm.ng"; nh: "bm.nh"; ni: "bm.ni"; nj: "bm.nj"; nk: "bm.nk"; nl: "bm.nl"; nm: "bm.nm"; nn: "bm.nn"; no: "bm.no"; np: "bm.np"; nq: "bm.nq"; nr: "bm.nr"; ns: "bm.ns"; nt: "bm.nt"; nu: "bm.nu"; nv: "bm.nv"; nw: "bm.nw"; nx: "bm.nx"; ny: "bm.ny"; nz: "bm.nz"; oa: "bm.oa"; ob: "bm.ob"; oc: "bm.oc"; od: "bm.od"; oe: "bm.oe"; of: "bm.of"; og: "bm.og"; oh: "bm.oh"; oi: "bm.oi"; oj: "bm.oj"; ok: "bm.ok"; ol: "bm.ol"; om: "bm.om"; on: "bm.on"; oo: "bm.oo"; op: "bm.op"; oq: "bm.oq"; or: "bm.or"; os: "bm.os"; ot: "bm.ot"; ou: "bm.ou"; ov: "bm.ov"; ow: "bm.ow"; ox: "bm.ox"; oy: "bm.oy"; oz: "bm.oz"; pa: "bm.pa"; pb: "bm.pb"; pc: "bm.pc"; pd: "bm.pd"; pe: "bm.pe"; pf: "bm.pf"; pg: "bm.pg"; ph: "bm.ph"; pi: "bm.pi"; pj: "bm.pj"; pk: "bm.pk"; pl: "bm.pl"; pm: "bm.pm"; pn: "bm.pn"; po: "bm.po"; pp: "bm.pp"; pq: "bm.pq"; pr: "bm.pr"; ps: "bm.ps"; pt: "bm.pt"; pu: "bm.pu"; pv: "bm.pv"; pw: "bm.pw"; px: "bm.px"; py: "bm.py"; pz: "bm.pz"; qa: "bm.qa"; qb: "bm.qb"; qc: "bm.qc"; qd: "bm.qd"; qe: "bm.qe"; qf: "bm.qf"; qg: "bm.qg"; qh: "bm.qh"; qi: "bm.qi"; qj: "bm.qj"; qk: "bm.qk"; ql: "bm.ql"; qm: "bm.qm"; qn: "bm.qn"; qo: "bm.qo"; qp: "bm.qp"; qq: "bm.qq"; qr: "bm.qr"; qs: "bm.qs"; qt: "bm.qt"; qu: "bm.qu"; qv: "bm.qv"; qw: "bm.qw"; qx: "bm.qx"; qy: "bm.qy"; qz: "bm.qz"; ra: "bm.ra"; rb: "bm.rb"; rc: "bm.rc"; rd: "bm.rd"; re: "bm.re"; rf: "bm.rf"; rg: "bm.rg"; rh: "bm.rh"; ri: "bm.ri"; rj: "bm.rj"; rk: "bm.rk"; rl: "bm.rl"; rm: "bm.rm"; rn: "bm.rn"; ro: "bm.ro"; rp: "bm.rp"; rq: "bm.rq"; rr: "bm.rr"; rs: "bm.rs"; rt: "bm.rt"; ru: "bm.ru"; rv: "bm.rv"; rw: "bm.rw"; rx: "bm.rx"; ry: "bm.ry"; rz: "bm.rz"; sa: "bm.sa"; sb: "bm.sb"; sc: "bm.sc"; sd: "bm.sd"; se: "bm.se"; sf: "bm.sf"; sg: "bm.sg"; sh: "bm.sh"; si: "bm.si"; sj: "bm.sj"; sk: "bm.sk"; sl: "bm.sl"; sm: "bm.sm"; sn: "bm.sn"; so: "bm.so"; sp: "bm.sp"; sq: "bm.sq"; sr: "bm.sr"; ss: "bm.ss"; st: "bm.st"; su: "bm.su"; sv: "bm.sv"; sw: "bm.sw"; sx: "bm.sx"; sy: "bm.sy"; sz: "bm.sz"; ta: "bm.ta"; tb: "bm.tb"; tc: "bm.tc"; td: "bm.td"; te: "bm.te"; tf: "bm.tf"; tg: "bm.tg"; th: "bm.th"; ti: "bm.ti"; tj: "bm.tj"; tk: "bm.tk"; tl: "bm.tl"; tm: "bm.tm"; tn: "bm.tn"; to: "bm.to"; tp: "bm.tp"; tq: "bm.tq"; tr: "bm.tr"; ts: "bm.ts"; tt: "bm.tt"; tu: "bm.tu"; tv: "bm.tv"; tw: "bm.tw"; tx: "bm.tx"; ty: "bm.ty"; tz: "bm.tz"; ua: "bm.ua"; ub: "bm.ub"; uc: "bm.uc"; ud: "bm.ud"; ue: "bm.ue"; uf: "bm.uf"; ug: "bm.ug"; uh: "bm.uh"; ui: "bm.ui"; uj: "bm.uj"; uk: "bm.uk"; ul: "bm.ul"; um: "bm.um"; un: "bm.un"; uo: "bm.uo"; up: "bm.up"; uq: "bm.uq"; ur: "bm.ur"; us: "bm.us"; ut: "bm.ut"; uu: "bm.uu"; uv: "bm.uv"; uw: "bm.uw"; ux: "bm.ux"; uy: "bm.uy"; uz: "bm.uz"; va: "bm.va"; vb: "bm.vb"; vc: "bm.vc"; vd: "bm.vd"; ve: "bm.ve"; vf: "bm.vf"; vg: "bm.vg"; vh: "bm.vh"; vi: "bm.vi"; vj: "bm.vj"; vk: "bm.vk"; vl: "bm.vl"; vm: "bm.vm"; vn: "bm.vn"; vo: "bm.vo"; vp: "bm.vp"; vq: "bm.vq"; vr: "bm.vr"; vs: "bm.vs"; vt: "bm.vt"; vu: "bm.vu"; vv: "bm.vv"; vw: "bm.vw"; vx: "bm.vx"; vy: "bm.vy"; vz: "bm.vz"; wa: "bm.wa"; wb: "bm.wb"; wc: "bm.wc"; wd: "bm.wd"; we: "bm.we"; wf: "bm.wf"; wg: "bm.wg"; wh: "bm.wh"; wi: "bm.wi"; wj: "bm.wj"; wk: "bm.wk"; wl: "bm.wl"; wm: "bm.wm"; wn: "bm.wn"; wo: "bm.wo"; wp: "bm.wp"; wq: "bm.wq"; wr: "bm.wr"; ws: "bm.ws"; wt: "bm.wt"; wu: "bm.wu"; wv: "bm.wv"; ww: "bm.ww"; wx: "bm.wx"; wy: "bm.wy"; wz: "bm.wz"; xa: "bm.xa"; xb: "bm.xb"; xc: "bm.xc"; xd: "bm.xd"; xe: "bm.xe"; xf: "bm.xf"; xg: "bm.xg"; xh: "bm.xh"; xi: "bm.xi"; xj: "bm.xj"; xk: "bm.xk"; xl: "bm.xl"; xm: "bm.xm"; xn: "bm.xn"; xo: "bm.xo"; xp: "bm.xp"; xq: "bm.xq"; xr: "bm.xr"; xs: "bm.xs"; xt: "bm.xt"; xu: "bm.xu"; xv: "bm.xv"; xw: "bm.xw"; xx: "bm.xx"; xy: "bm.xy"; xz: "bm.xz"; ya: "bm.ya"; yb: "bm.yb"; yc: "bm.yc"; yd: "bm.yd"; ye: "bm.ye"; yf: "bm.yf"; yg: "bm.yg"; yh: "bm.yh"; yi: "bm.yi"; yj: "bm.yj"; yk: "bm.yk"; yl: "bm.yl"; ym: "bm.ym"; yn: "bm.yn"; yo: "bm.yo"; yp: "bm.yp"; yq: "bm.yq"; yr: "bm.yr"; ys: "bm.ys"; yt: "bm.yt"; yu: "bm.yu"; yv: "bm.yv"; yw: "bm.yw"; yx: "bm.yx"; yy: "bm.yy"; yz: "bm.yz"; za: "bm.za"; zb: "bm.zb"; zc: "bm.zc"; zd: "bm.zd"; ze: "bm.ze"; zf: "bm.zf"; zg: "bm.zg"; zh: "bm.zh"; zi: "bm.zi"; zj: "bm.zj"; zk: "bm.zk"; zl: "bm.zl"; zm: "bm.zm"; zn: "bm.zn"; zo: "bm.zo"; zp: "bm.zp"; zq: "bm.zq"; zr: "bm.zr"; zs: "bm.zs"; zt: "bm.zt"; zu: "bm.zu"; zv: "bm.zv"; zw: "bm.zw"; zx: "bm.zx"; zy: "bm.zy"; zz: "bm.zz"; }; bn: { aa: "bn.aa"; ab: "bn.ab"; ac: "bn.ac"; ad: "bn.ad"; ae: "bn.ae"; af: "bn.af"; ag: "bn.ag"; ah: "bn.ah"; ai: "bn.ai"; aj: "bn.aj"; ak: "bn.ak"; al: "bn.al"; am: "bn.am"; an: "bn.an"; ao: "bn.ao"; ap: "bn.ap"; aq: "bn.aq"; ar: "bn.ar"; as: "bn.as"; at: "bn.at"; au: "bn.au"; av: "bn.av"; aw: "bn.aw"; ax: "bn.ax"; ay: "bn.ay"; az: "bn.az"; ba: "bn.ba"; bb: "bn.bb"; bc: "bn.bc"; bd: "bn.bd"; be: "bn.be"; bf: "bn.bf"; bg: "bn.bg"; bh: "bn.bh"; bi: "bn.bi"; bj: "bn.bj"; bk: "bn.bk"; bl: "bn.bl"; bm: "bn.bm"; bn: "bn.bn"; bo: "bn.bo"; bp: "bn.bp"; bq: "bn.bq"; br: "bn.br"; bs: "bn.bs"; bt: "bn.bt"; bu: "bn.bu"; bv: "bn.bv"; bw: "bn.bw"; bx: "bn.bx"; by: "bn.by"; bz: "bn.bz"; ca: "bn.ca"; cb: "bn.cb"; cc: "bn.cc"; cd: "bn.cd"; ce: "bn.ce"; cf: "bn.cf"; cg: "bn.cg"; ch: "bn.ch"; ci: "bn.ci"; cj: "bn.cj"; ck: "bn.ck"; cl: "bn.cl"; cm: "bn.cm"; cn: "bn.cn"; co: "bn.co"; cp: "bn.cp"; cq: "bn.cq"; cr: "bn.cr"; cs: "bn.cs"; ct: "bn.ct"; cu: "bn.cu"; cv: "bn.cv"; cw: "bn.cw"; cx: "bn.cx"; cy: "bn.cy"; cz: "bn.cz"; da: "bn.da"; db: "bn.db"; dc: "bn.dc"; dd: "bn.dd"; de: "bn.de"; df: "bn.df"; dg: "bn.dg"; dh: "bn.dh"; di: "bn.di"; dj: "bn.dj"; dk: "bn.dk"; dl: "bn.dl"; dm: "bn.dm"; dn: "bn.dn"; do: "bn.do"; dp: "bn.dp"; dq: "bn.dq"; dr: "bn.dr"; ds: "bn.ds"; dt: "bn.dt"; du: "bn.du"; dv: "bn.dv"; dw: "bn.dw"; dx: "bn.dx"; dy: "bn.dy"; dz: "bn.dz"; ea: "bn.ea"; eb: "bn.eb"; ec: "bn.ec"; ed: "bn.ed"; ee: "bn.ee"; ef: "bn.ef"; eg: "bn.eg"; eh: "bn.eh"; ei: "bn.ei"; ej: "bn.ej"; ek: "bn.ek"; el: "bn.el"; em: "bn.em"; en: "bn.en"; eo: "bn.eo"; ep: "bn.ep"; eq: "bn.eq"; er: "bn.er"; es: "bn.es"; et: "bn.et"; eu: "bn.eu"; ev: "bn.ev"; ew: "bn.ew"; ex: "bn.ex"; ey: "bn.ey"; ez: "bn.ez"; fa: "bn.fa"; fb: "bn.fb"; fc: "bn.fc"; fd: "bn.fd"; fe: "bn.fe"; ff: "bn.ff"; fg: "bn.fg"; fh: "bn.fh"; fi: "bn.fi"; fj: "bn.fj"; fk: "bn.fk"; fl: "bn.fl"; fm: "bn.fm"; fn: "bn.fn"; fo: "bn.fo"; fp: "bn.fp"; fq: "bn.fq"; fr: "bn.fr"; fs: "bn.fs"; ft: "bn.ft"; fu: "bn.fu"; fv: "bn.fv"; fw: "bn.fw"; fx: "bn.fx"; fy: "bn.fy"; fz: "bn.fz"; ga: "bn.ga"; gb: "bn.gb"; gc: "bn.gc"; gd: "bn.gd"; ge: "bn.ge"; gf: "bn.gf"; gg: "bn.gg"; gh: "bn.gh"; gi: "bn.gi"; gj: "bn.gj"; gk: "bn.gk"; gl: "bn.gl"; gm: "bn.gm"; gn: "bn.gn"; go: "bn.go"; gp: "bn.gp"; gq: "bn.gq"; gr: "bn.gr"; gs: "bn.gs"; gt: "bn.gt"; gu: "bn.gu"; gv: "bn.gv"; gw: "bn.gw"; gx: "bn.gx"; gy: "bn.gy"; gz: "bn.gz"; ha: "bn.ha"; hb: "bn.hb"; hc: "bn.hc"; hd: "bn.hd"; he: "bn.he"; hf: "bn.hf"; hg: "bn.hg"; hh: "bn.hh"; hi: "bn.hi"; hj: "bn.hj"; hk: "bn.hk"; hl: "bn.hl"; hm: "bn.hm"; hn: "bn.hn"; ho: "bn.ho"; hp: "bn.hp"; hq: "bn.hq"; hr: "bn.hr"; hs: "bn.hs"; ht: "bn.ht"; hu: "bn.hu"; hv: "bn.hv"; hw: "bn.hw"; hx: "bn.hx"; hy: "bn.hy"; hz: "bn.hz"; ia: "bn.ia"; ib: "bn.ib"; ic: "bn.ic"; id: "bn.id"; ie: "bn.ie"; if: "bn.if"; ig: "bn.ig"; ih: "bn.ih"; ii: "bn.ii"; ij: "bn.ij"; ik: "bn.ik"; il: "bn.il"; im: "bn.im"; in: "bn.in"; io: "bn.io"; ip: "bn.ip"; iq: "bn.iq"; ir: "bn.ir"; is: "bn.is"; it: "bn.it"; iu: "bn.iu"; iv: "bn.iv"; iw: "bn.iw"; ix: "bn.ix"; iy: "bn.iy"; iz: "bn.iz"; ja: "bn.ja"; jb: "bn.jb"; jc: "bn.jc"; jd: "bn.jd"; je: "bn.je"; jf: "bn.jf"; jg: "bn.jg"; jh: "bn.jh"; ji: "bn.ji"; jj: "bn.jj"; jk: "bn.jk"; jl: "bn.jl"; jm: "bn.jm"; jn: "bn.jn"; jo: "bn.jo"; jp: "bn.jp"; jq: "bn.jq"; jr: "bn.jr"; js: "bn.js"; jt: "bn.jt"; ju: "bn.ju"; jv: "bn.jv"; jw: "bn.jw"; jx: "bn.jx"; jy: "bn.jy"; jz: "bn.jz"; ka: "bn.ka"; kb: "bn.kb"; kc: "bn.kc"; kd: "bn.kd"; ke: "bn.ke"; kf: "bn.kf"; kg: "bn.kg"; kh: "bn.kh"; ki: "bn.ki"; kj: "bn.kj"; kk: "bn.kk"; kl: "bn.kl"; km: "bn.km"; kn: "bn.kn"; ko: "bn.ko"; kp: "bn.kp"; kq: "bn.kq"; kr: "bn.kr"; ks: "bn.ks"; kt: "bn.kt"; ku: "bn.ku"; kv: "bn.kv"; kw: "bn.kw"; kx: "bn.kx"; ky: "bn.ky"; kz: "bn.kz"; la: "bn.la"; lb: "bn.lb"; lc: "bn.lc"; ld: "bn.ld"; le: "bn.le"; lf: "bn.lf"; lg: "bn.lg"; lh: "bn.lh"; li: "bn.li"; lj: "bn.lj"; lk: "bn.lk"; ll: "bn.ll"; lm: "bn.lm"; ln: "bn.ln"; lo: "bn.lo"; lp: "bn.lp"; lq: "bn.lq"; lr: "bn.lr"; ls: "bn.ls"; lt: "bn.lt"; lu: "bn.lu"; lv: "bn.lv"; lw: "bn.lw"; lx: "bn.lx"; ly: "bn.ly"; lz: "bn.lz"; ma: "bn.ma"; mb: "bn.mb"; mc: "bn.mc"; md: "bn.md"; me: "bn.me"; mf: "bn.mf"; mg: "bn.mg"; mh: "bn.mh"; mi: "bn.mi"; mj: "bn.mj"; mk: "bn.mk"; ml: "bn.ml"; mm: "bn.mm"; mn: "bn.mn"; mo: "bn.mo"; mp: "bn.mp"; mq: "bn.mq"; mr: "bn.mr"; ms: "bn.ms"; mt: "bn.mt"; mu: "bn.mu"; mv: "bn.mv"; mw: "bn.mw"; mx: "bn.mx"; my: "bn.my"; mz: "bn.mz"; na: "bn.na"; nb: "bn.nb"; nc: "bn.nc"; nd: "bn.nd"; ne: "bn.ne"; nf: "bn.nf"; ng: "bn.ng"; nh: "bn.nh"; ni: "bn.ni"; nj: "bn.nj"; nk: "bn.nk"; nl: "bn.nl"; nm: "bn.nm"; nn: "bn.nn"; no: "bn.no"; np: "bn.np"; nq: "bn.nq"; nr: "bn.nr"; ns: "bn.ns"; nt: "bn.nt"; nu: "bn.nu"; nv: "bn.nv"; nw: "bn.nw"; nx: "bn.nx"; ny: "bn.ny"; nz: "bn.nz"; oa: "bn.oa"; ob: "bn.ob"; oc: "bn.oc"; od: "bn.od"; oe: "bn.oe"; of: "bn.of"; og: "bn.og"; oh: "bn.oh"; oi: "bn.oi"; oj: "bn.oj"; ok: "bn.ok"; ol: "bn.ol"; om: "bn.om"; on: "bn.on"; oo: "bn.oo"; op: "bn.op"; oq: "bn.oq"; or: "bn.or"; os: "bn.os"; ot: "bn.ot"; ou: "bn.ou"; ov: "bn.ov"; ow: "bn.ow"; ox: "bn.ox"; oy: "bn.oy"; oz: "bn.oz"; pa: "bn.pa"; pb: "bn.pb"; pc: "bn.pc"; pd: "bn.pd"; pe: "bn.pe"; pf: "bn.pf"; pg: "bn.pg"; ph: "bn.ph"; pi: "bn.pi"; pj: "bn.pj"; pk: "bn.pk"; pl: "bn.pl"; pm: "bn.pm"; pn: "bn.pn"; po: "bn.po"; pp: "bn.pp"; pq: "bn.pq"; pr: "bn.pr"; ps: "bn.ps"; pt: "bn.pt"; pu: "bn.pu"; pv: "bn.pv"; pw: "bn.pw"; px: "bn.px"; py: "bn.py"; pz: "bn.pz"; qa: "bn.qa"; qb: "bn.qb"; qc: "bn.qc"; qd: "bn.qd"; qe: "bn.qe"; qf: "bn.qf"; qg: "bn.qg"; qh: "bn.qh"; qi: "bn.qi"; qj: "bn.qj"; qk: "bn.qk"; ql: "bn.ql"; qm: "bn.qm"; qn: "bn.qn"; qo: "bn.qo"; qp: "bn.qp"; qq: "bn.qq"; qr: "bn.qr"; qs: "bn.qs"; qt: "bn.qt"; qu: "bn.qu"; qv: "bn.qv"; qw: "bn.qw"; qx: "bn.qx"; qy: "bn.qy"; qz: "bn.qz"; ra: "bn.ra"; rb: "bn.rb"; rc: "bn.rc"; rd: "bn.rd"; re: "bn.re"; rf: "bn.rf"; rg: "bn.rg"; rh: "bn.rh"; ri: "bn.ri"; rj: "bn.rj"; rk: "bn.rk"; rl: "bn.rl"; rm: "bn.rm"; rn: "bn.rn"; ro: "bn.ro"; rp: "bn.rp"; rq: "bn.rq"; rr: "bn.rr"; rs: "bn.rs"; rt: "bn.rt"; ru: "bn.ru"; rv: "bn.rv"; rw: "bn.rw"; rx: "bn.rx"; ry: "bn.ry"; rz: "bn.rz"; sa: "bn.sa"; sb: "bn.sb"; sc: "bn.sc"; sd: "bn.sd"; se: "bn.se"; sf: "bn.sf"; sg: "bn.sg"; sh: "bn.sh"; si: "bn.si"; sj: "bn.sj"; sk: "bn.sk"; sl: "bn.sl"; sm: "bn.sm"; sn: "bn.sn"; so: "bn.so"; sp: "bn.sp"; sq: "bn.sq"; sr: "bn.sr"; ss: "bn.ss"; st: "bn.st"; su: "bn.su"; sv: "bn.sv"; sw: "bn.sw"; sx: "bn.sx"; sy: "bn.sy"; sz: "bn.sz"; ta: "bn.ta"; tb: "bn.tb"; tc: "bn.tc"; td: "bn.td"; te: "bn.te"; tf: "bn.tf"; tg: "bn.tg"; th: "bn.th"; ti: "bn.ti"; tj: "bn.tj"; tk: "bn.tk"; tl: "bn.tl"; tm: "bn.tm"; tn: "bn.tn"; to: "bn.to"; tp: "bn.tp"; tq: "bn.tq"; tr: "bn.tr"; ts: "bn.ts"; tt: "bn.tt"; tu: "bn.tu"; tv: "bn.tv"; tw: "bn.tw"; tx: "bn.tx"; ty: "bn.ty"; tz: "bn.tz"; ua: "bn.ua"; ub: "bn.ub"; uc: "bn.uc"; ud: "bn.ud"; ue: "bn.ue"; uf: "bn.uf"; ug: "bn.ug"; uh: "bn.uh"; ui: "bn.ui"; uj: "bn.uj"; uk: "bn.uk"; ul: "bn.ul"; um: "bn.um"; un: "bn.un"; uo: "bn.uo"; up: "bn.up"; uq: "bn.uq"; ur: "bn.ur"; us: "bn.us"; ut: "bn.ut"; uu: "bn.uu"; uv: "bn.uv"; uw: "bn.uw"; ux: "bn.ux"; uy: "bn.uy"; uz: "bn.uz"; va: "bn.va"; vb: "bn.vb"; vc: "bn.vc"; vd: "bn.vd"; ve: "bn.ve"; vf: "bn.vf"; vg: "bn.vg"; vh: "bn.vh"; vi: "bn.vi"; vj: "bn.vj"; vk: "bn.vk"; vl: "bn.vl"; vm: "bn.vm"; vn: "bn.vn"; vo: "bn.vo"; vp: "bn.vp"; vq: "bn.vq"; vr: "bn.vr"; vs: "bn.vs"; vt: "bn.vt"; vu: "bn.vu"; vv: "bn.vv"; vw: "bn.vw"; vx: "bn.vx"; vy: "bn.vy"; vz: "bn.vz"; wa: "bn.wa"; wb: "bn.wb"; wc: "bn.wc"; wd: "bn.wd"; we: "bn.we"; wf: "bn.wf"; wg: "bn.wg"; wh: "bn.wh"; wi: "bn.wi"; wj: "bn.wj"; wk: "bn.wk"; wl: "bn.wl"; wm: "bn.wm"; wn: "bn.wn"; wo: "bn.wo"; wp: "bn.wp"; wq: "bn.wq"; wr: "bn.wr"; ws: "bn.ws"; wt: "bn.wt"; wu: "bn.wu"; wv: "bn.wv"; ww: "bn.ww"; wx: "bn.wx"; wy: "bn.wy"; wz: "bn.wz"; xa: "bn.xa"; xb: "bn.xb"; xc: "bn.xc"; xd: "bn.xd"; xe: "bn.xe"; xf: "bn.xf"; xg: "bn.xg"; xh: "bn.xh"; xi: "bn.xi"; xj: "bn.xj"; xk: "bn.xk"; xl: "bn.xl"; xm: "bn.xm"; xn: "bn.xn"; xo: "bn.xo"; xp: "bn.xp"; xq: "bn.xq"; xr: "bn.xr"; xs: "bn.xs"; xt: "bn.xt"; xu: "bn.xu"; xv: "bn.xv"; xw: "bn.xw"; xx: "bn.xx"; xy: "bn.xy"; xz: "bn.xz"; ya: "bn.ya"; yb: "bn.yb"; yc: "bn.yc"; yd: "bn.yd"; ye: "bn.ye"; yf: "bn.yf"; yg: "bn.yg"; yh: "bn.yh"; yi: "bn.yi"; yj: "bn.yj"; yk: "bn.yk"; yl: "bn.yl"; ym: "bn.ym"; yn: "bn.yn"; yo: "bn.yo"; yp: "bn.yp"; yq: "bn.yq"; yr: "bn.yr"; ys: "bn.ys"; yt: "bn.yt"; yu: "bn.yu"; yv: "bn.yv"; yw: "bn.yw"; yx: "bn.yx"; yy: "bn.yy"; yz: "bn.yz"; za: "bn.za"; zb: "bn.zb"; zc: "bn.zc"; zd: "bn.zd"; ze: "bn.ze"; zf: "bn.zf"; zg: "bn.zg"; zh: "bn.zh"; zi: "bn.zi"; zj: "bn.zj"; zk: "bn.zk"; zl: "bn.zl"; zm: "bn.zm"; zn: "bn.zn"; zo: "bn.zo"; zp: "bn.zp"; zq: "bn.zq"; zr: "bn.zr"; zs: "bn.zs"; zt: "bn.zt"; zu: "bn.zu"; zv: "bn.zv"; zw: "bn.zw"; zx: "bn.zx"; zy: "bn.zy"; zz: "bn.zz"; }; bo: { aa: "bo.aa"; ab: "bo.ab"; ac: "bo.ac"; ad: "bo.ad"; ae: "bo.ae"; af: "bo.af"; ag: "bo.ag"; ah: "bo.ah"; ai: "bo.ai"; aj: "bo.aj"; ak: "bo.ak"; al: "bo.al"; am: "bo.am"; an: "bo.an"; ao: "bo.ao"; ap: "bo.ap"; aq: "bo.aq"; ar: "bo.ar"; as: "bo.as"; at: "bo.at"; au: "bo.au"; av: "bo.av"; aw: "bo.aw"; ax: "bo.ax"; ay: "bo.ay"; az: "bo.az"; ba: "bo.ba"; bb: "bo.bb"; bc: "bo.bc"; bd: "bo.bd"; be: "bo.be"; bf: "bo.bf"; bg: "bo.bg"; bh: "bo.bh"; bi: "bo.bi"; bj: "bo.bj"; bk: "bo.bk"; bl: "bo.bl"; bm: "bo.bm"; bn: "bo.bn"; bo: "bo.bo"; bp: "bo.bp"; bq: "bo.bq"; br: "bo.br"; bs: "bo.bs"; bt: "bo.bt"; bu: "bo.bu"; bv: "bo.bv"; bw: "bo.bw"; bx: "bo.bx"; by: "bo.by"; bz: "bo.bz"; ca: "bo.ca"; cb: "bo.cb"; cc: "bo.cc"; cd: "bo.cd"; ce: "bo.ce"; cf: "bo.cf"; cg: "bo.cg"; ch: "bo.ch"; ci: "bo.ci"; cj: "bo.cj"; ck: "bo.ck"; cl: "bo.cl"; cm: "bo.cm"; cn: "bo.cn"; co: "bo.co"; cp: "bo.cp"; cq: "bo.cq"; cr: "bo.cr"; cs: "bo.cs"; ct: "bo.ct"; cu: "bo.cu"; cv: "bo.cv"; cw: "bo.cw"; cx: "bo.cx"; cy: "bo.cy"; cz: "bo.cz"; da: "bo.da"; db: "bo.db"; dc: "bo.dc"; dd: "bo.dd"; de: "bo.de"; df: "bo.df"; dg: "bo.dg"; dh: "bo.dh"; di: "bo.di"; dj: "bo.dj"; dk: "bo.dk"; dl: "bo.dl"; dm: "bo.dm"; dn: "bo.dn"; do: "bo.do"; dp: "bo.dp"; dq: "bo.dq"; dr: "bo.dr"; ds: "bo.ds"; dt: "bo.dt"; du: "bo.du"; dv: "bo.dv"; dw: "bo.dw"; dx: "bo.dx"; dy: "bo.dy"; dz: "bo.dz"; ea: "bo.ea"; eb: "bo.eb"; ec: "bo.ec"; ed: "bo.ed"; ee: "bo.ee"; ef: "bo.ef"; eg: "bo.eg"; eh: "bo.eh"; ei: "bo.ei"; ej: "bo.ej"; ek: "bo.ek"; el: "bo.el"; em: "bo.em"; en: "bo.en"; eo: "bo.eo"; ep: "bo.ep"; eq: "bo.eq"; er: "bo.er"; es: "bo.es"; et: "bo.et"; eu: "bo.eu"; ev: "bo.ev"; ew: "bo.ew"; ex: "bo.ex"; ey: "bo.ey"; ez: "bo.ez"; fa: "bo.fa"; fb: "bo.fb"; fc: "bo.fc"; fd: "bo.fd"; fe: "bo.fe"; ff: "bo.ff"; fg: "bo.fg"; fh: "bo.fh"; fi: "bo.fi"; fj: "bo.fj"; fk: "bo.fk"; fl: "bo.fl"; fm: "bo.fm"; fn: "bo.fn"; fo: "bo.fo"; fp: "bo.fp"; fq: "bo.fq"; fr: "bo.fr"; fs: "bo.fs"; ft: "bo.ft"; fu: "bo.fu"; fv: "bo.fv"; fw: "bo.fw"; fx: "bo.fx"; fy: "bo.fy"; fz: "bo.fz"; ga: "bo.ga"; gb: "bo.gb"; gc: "bo.gc"; gd: "bo.gd"; ge: "bo.ge"; gf: "bo.gf"; gg: "bo.gg"; gh: "bo.gh"; gi: "bo.gi"; gj: "bo.gj"; gk: "bo.gk"; gl: "bo.gl"; gm: "bo.gm"; gn: "bo.gn"; go: "bo.go"; gp: "bo.gp"; gq: "bo.gq"; gr: "bo.gr"; gs: "bo.gs"; gt: "bo.gt"; gu: "bo.gu"; gv: "bo.gv"; gw: "bo.gw"; gx: "bo.gx"; gy: "bo.gy"; gz: "bo.gz"; ha: "bo.ha"; hb: "bo.hb"; hc: "bo.hc"; hd: "bo.hd"; he: "bo.he"; hf: "bo.hf"; hg: "bo.hg"; hh: "bo.hh"; hi: "bo.hi"; hj: "bo.hj"; hk: "bo.hk"; hl: "bo.hl"; hm: "bo.hm"; hn: "bo.hn"; ho: "bo.ho"; hp: "bo.hp"; hq: "bo.hq"; hr: "bo.hr"; hs: "bo.hs"; ht: "bo.ht"; hu: "bo.hu"; hv: "bo.hv"; hw: "bo.hw"; hx: "bo.hx"; hy: "bo.hy"; hz: "bo.hz"; ia: "bo.ia"; ib: "bo.ib"; ic: "bo.ic"; id: "bo.id"; ie: "bo.ie"; if: "bo.if"; ig: "bo.ig"; ih: "bo.ih"; ii: "bo.ii"; ij: "bo.ij"; ik: "bo.ik"; il: "bo.il"; im: "bo.im"; in: "bo.in"; io: "bo.io"; ip: "bo.ip"; iq: "bo.iq"; ir: "bo.ir"; is: "bo.is"; it: "bo.it"; iu: "bo.iu"; iv: "bo.iv"; iw: "bo.iw"; ix: "bo.ix"; iy: "bo.iy"; iz: "bo.iz"; ja: "bo.ja"; jb: "bo.jb"; jc: "bo.jc"; jd: "bo.jd"; je: "bo.je"; jf: "bo.jf"; jg: "bo.jg"; jh: "bo.jh"; ji: "bo.ji"; jj: "bo.jj"; jk: "bo.jk"; jl: "bo.jl"; jm: "bo.jm"; jn: "bo.jn"; jo: "bo.jo"; jp: "bo.jp"; jq: "bo.jq"; jr: "bo.jr"; js: "bo.js"; jt: "bo.jt"; ju: "bo.ju"; jv: "bo.jv"; jw: "bo.jw"; jx: "bo.jx"; jy: "bo.jy"; jz: "bo.jz"; ka: "bo.ka"; kb: "bo.kb"; kc: "bo.kc"; kd: "bo.kd"; ke: "bo.ke"; kf: "bo.kf"; kg: "bo.kg"; kh: "bo.kh"; ki: "bo.ki"; kj: "bo.kj"; kk: "bo.kk"; kl: "bo.kl"; km: "bo.km"; kn: "bo.kn"; ko: "bo.ko"; kp: "bo.kp"; kq: "bo.kq"; kr: "bo.kr"; ks: "bo.ks"; kt: "bo.kt"; ku: "bo.ku"; kv: "bo.kv"; kw: "bo.kw"; kx: "bo.kx"; ky: "bo.ky"; kz: "bo.kz"; la: "bo.la"; lb: "bo.lb"; lc: "bo.lc"; ld: "bo.ld"; le: "bo.le"; lf: "bo.lf"; lg: "bo.lg"; lh: "bo.lh"; li: "bo.li"; lj: "bo.lj"; lk: "bo.lk"; ll: "bo.ll"; lm: "bo.lm"; ln: "bo.ln"; lo: "bo.lo"; lp: "bo.lp"; lq: "bo.lq"; lr: "bo.lr"; ls: "bo.ls"; lt: "bo.lt"; lu: "bo.lu"; lv: "bo.lv"; lw: "bo.lw"; lx: "bo.lx"; ly: "bo.ly"; lz: "bo.lz"; ma: "bo.ma"; mb: "bo.mb"; mc: "bo.mc"; md: "bo.md"; me: "bo.me"; mf: "bo.mf"; mg: "bo.mg"; mh: "bo.mh"; mi: "bo.mi"; mj: "bo.mj"; mk: "bo.mk"; ml: "bo.ml"; mm: "bo.mm"; mn: "bo.mn"; mo: "bo.mo"; mp: "bo.mp"; mq: "bo.mq"; mr: "bo.mr"; ms: "bo.ms"; mt: "bo.mt"; mu: "bo.mu"; mv: "bo.mv"; mw: "bo.mw"; mx: "bo.mx"; my: "bo.my"; mz: "bo.mz"; na: "bo.na"; nb: "bo.nb"; nc: "bo.nc"; nd: "bo.nd"; ne: "bo.ne"; nf: "bo.nf"; ng: "bo.ng"; nh: "bo.nh"; ni: "bo.ni"; nj: "bo.nj"; nk: "bo.nk"; nl: "bo.nl"; nm: "bo.nm"; nn: "bo.nn"; no: "bo.no"; np: "bo.np"; nq: "bo.nq"; nr: "bo.nr"; ns: "bo.ns"; nt: "bo.nt"; nu: "bo.nu"; nv: "bo.nv"; nw: "bo.nw"; nx: "bo.nx"; ny: "bo.ny"; nz: "bo.nz"; oa: "bo.oa"; ob: "bo.ob"; oc: "bo.oc"; od: "bo.od"; oe: "bo.oe"; of: "bo.of"; og: "bo.og"; oh: "bo.oh"; oi: "bo.oi"; oj: "bo.oj"; ok: "bo.ok"; ol: "bo.ol"; om: "bo.om"; on: "bo.on"; oo: "bo.oo"; op: "bo.op"; oq: "bo.oq"; or: "bo.or"; os: "bo.os"; ot: "bo.ot"; ou: "bo.ou"; ov: "bo.ov"; ow: "bo.ow"; ox: "bo.ox"; oy: "bo.oy"; oz: "bo.oz"; pa: "bo.pa"; pb: "bo.pb"; pc: "bo.pc"; pd: "bo.pd"; pe: "bo.pe"; pf: "bo.pf"; pg: "bo.pg"; ph: "bo.ph"; pi: "bo.pi"; pj: "bo.pj"; pk: "bo.pk"; pl: "bo.pl"; pm: "bo.pm"; pn: "bo.pn"; po: "bo.po"; pp: "bo.pp"; pq: "bo.pq"; pr: "bo.pr"; ps: "bo.ps"; pt: "bo.pt"; pu: "bo.pu"; pv: "bo.pv"; pw: "bo.pw"; px: "bo.px"; py: "bo.py"; pz: "bo.pz"; qa: "bo.qa"; qb: "bo.qb"; qc: "bo.qc"; qd: "bo.qd"; qe: "bo.qe"; qf: "bo.qf"; qg: "bo.qg"; qh: "bo.qh"; qi: "bo.qi"; qj: "bo.qj"; qk: "bo.qk"; ql: "bo.ql"; qm: "bo.qm"; qn: "bo.qn"; qo: "bo.qo"; qp: "bo.qp"; qq: "bo.qq"; qr: "bo.qr"; qs: "bo.qs"; qt: "bo.qt"; qu: "bo.qu"; qv: "bo.qv"; qw: "bo.qw"; qx: "bo.qx"; qy: "bo.qy"; qz: "bo.qz"; ra: "bo.ra"; rb: "bo.rb"; rc: "bo.rc"; rd: "bo.rd"; re: "bo.re"; rf: "bo.rf"; rg: "bo.rg"; rh: "bo.rh"; ri: "bo.ri"; rj: "bo.rj"; rk: "bo.rk"; rl: "bo.rl"; rm: "bo.rm"; rn: "bo.rn"; ro: "bo.ro"; rp: "bo.rp"; rq: "bo.rq"; rr: "bo.rr"; rs: "bo.rs"; rt: "bo.rt"; ru: "bo.ru"; rv: "bo.rv"; rw: "bo.rw"; rx: "bo.rx"; ry: "bo.ry"; rz: "bo.rz"; sa: "bo.sa"; sb: "bo.sb"; sc: "bo.sc"; sd: "bo.sd"; se: "bo.se"; sf: "bo.sf"; sg: "bo.sg"; sh: "bo.sh"; si: "bo.si"; sj: "bo.sj"; sk: "bo.sk"; sl: "bo.sl"; sm: "bo.sm"; sn: "bo.sn"; so: "bo.so"; sp: "bo.sp"; sq: "bo.sq"; sr: "bo.sr"; ss: "bo.ss"; st: "bo.st"; su: "bo.su"; sv: "bo.sv"; sw: "bo.sw"; sx: "bo.sx"; sy: "bo.sy"; sz: "bo.sz"; ta: "bo.ta"; tb: "bo.tb"; tc: "bo.tc"; td: "bo.td"; te: "bo.te"; tf: "bo.tf"; tg: "bo.tg"; th: "bo.th"; ti: "bo.ti"; tj: "bo.tj"; tk: "bo.tk"; tl: "bo.tl"; tm: "bo.tm"; tn: "bo.tn"; to: "bo.to"; tp: "bo.tp"; tq: "bo.tq"; tr: "bo.tr"; ts: "bo.ts"; tt: "bo.tt"; tu: "bo.tu"; tv: "bo.tv"; tw: "bo.tw"; tx: "bo.tx"; ty: "bo.ty"; tz: "bo.tz"; ua: "bo.ua"; ub: "bo.ub"; uc: "bo.uc"; ud: "bo.ud"; ue: "bo.ue"; uf: "bo.uf"; ug: "bo.ug"; uh: "bo.uh"; ui: "bo.ui"; uj: "bo.uj"; uk: "bo.uk"; ul: "bo.ul"; um: "bo.um"; un: "bo.un"; uo: "bo.uo"; up: "bo.up"; uq: "bo.uq"; ur: "bo.ur"; us: "bo.us"; ut: "bo.ut"; uu: "bo.uu"; uv: "bo.uv"; uw: "bo.uw"; ux: "bo.ux"; uy: "bo.uy"; uz: "bo.uz"; va: "bo.va"; vb: "bo.vb"; vc: "bo.vc"; vd: "bo.vd"; ve: "bo.ve"; vf: "bo.vf"; vg: "bo.vg"; vh: "bo.vh"; vi: "bo.vi"; vj: "bo.vj"; vk: "bo.vk"; vl: "bo.vl"; vm: "bo.vm"; vn: "bo.vn"; vo: "bo.vo"; vp: "bo.vp"; vq: "bo.vq"; vr: "bo.vr"; vs: "bo.vs"; vt: "bo.vt"; vu: "bo.vu"; vv: "bo.vv"; vw: "bo.vw"; vx: "bo.vx"; vy: "bo.vy"; vz: "bo.vz"; wa: "bo.wa"; wb: "bo.wb"; wc: "bo.wc"; wd: "bo.wd"; we: "bo.we"; wf: "bo.wf"; wg: "bo.wg"; wh: "bo.wh"; wi: "bo.wi"; wj: "bo.wj"; wk: "bo.wk"; wl: "bo.wl"; wm: "bo.wm"; wn: "bo.wn"; wo: "bo.wo"; wp: "bo.wp"; wq: "bo.wq"; wr: "bo.wr"; ws: "bo.ws"; wt: "bo.wt"; wu: "bo.wu"; wv: "bo.wv"; ww: "bo.ww"; wx: "bo.wx"; wy: "bo.wy"; wz: "bo.wz"; xa: "bo.xa"; xb: "bo.xb"; xc: "bo.xc"; xd: "bo.xd"; xe: "bo.xe"; xf: "bo.xf"; xg: "bo.xg"; xh: "bo.xh"; xi: "bo.xi"; xj: "bo.xj"; xk: "bo.xk"; xl: "bo.xl"; xm: "bo.xm"; xn: "bo.xn"; xo: "bo.xo"; xp: "bo.xp"; xq: "bo.xq"; xr: "bo.xr"; xs: "bo.xs"; xt: "bo.xt"; xu: "bo.xu"; xv: "bo.xv"; xw: "bo.xw"; xx: "bo.xx"; xy: "bo.xy"; xz: "bo.xz"; ya: "bo.ya"; yb: "bo.yb"; yc: "bo.yc"; yd: "bo.yd"; ye: "bo.ye"; yf: "bo.yf"; yg: "bo.yg"; yh: "bo.yh"; yi: "bo.yi"; yj: "bo.yj"; yk: "bo.yk"; yl: "bo.yl"; ym: "bo.ym"; yn: "bo.yn"; yo: "bo.yo"; yp: "bo.yp"; yq: "bo.yq"; yr: "bo.yr"; ys: "bo.ys"; yt: "bo.yt"; yu: "bo.yu"; yv: "bo.yv"; yw: "bo.yw"; yx: "bo.yx"; yy: "bo.yy"; yz: "bo.yz"; za: "bo.za"; zb: "bo.zb"; zc: "bo.zc"; zd: "bo.zd"; ze: "bo.ze"; zf: "bo.zf"; zg: "bo.zg"; zh: "bo.zh"; zi: "bo.zi"; zj: "bo.zj"; zk: "bo.zk"; zl: "bo.zl"; zm: "bo.zm"; zn: "bo.zn"; zo: "bo.zo"; zp: "bo.zp"; zq: "bo.zq"; zr: "bo.zr"; zs: "bo.zs"; zt: "bo.zt"; zu: "bo.zu"; zv: "bo.zv"; zw: "bo.zw"; zx: "bo.zx"; zy: "bo.zy"; zz: "bo.zz"; }; bp: { aa: "bp.aa"; ab: "bp.ab"; ac: "bp.ac"; ad: "bp.ad"; ae: "bp.ae"; af: "bp.af"; ag: "bp.ag"; ah: "bp.ah"; ai: "bp.ai"; aj: "bp.aj"; ak: "bp.ak"; al: "bp.al"; am: "bp.am"; an: "bp.an"; ao: "bp.ao"; ap: "bp.ap"; aq: "bp.aq"; ar: "bp.ar"; as: "bp.as"; at: "bp.at"; au: "bp.au"; av: "bp.av"; aw: "bp.aw"; ax: "bp.ax"; ay: "bp.ay"; az: "bp.az"; ba: "bp.ba"; bb: "bp.bb"; bc: "bp.bc"; bd: "bp.bd"; be: "bp.be"; bf: "bp.bf"; bg: "bp.bg"; bh: "bp.bh"; bi: "bp.bi"; bj: "bp.bj"; bk: "bp.bk"; bl: "bp.bl"; bm: "bp.bm"; bn: "bp.bn"; bo: "bp.bo"; bp: "bp.bp"; bq: "bp.bq"; br: "bp.br"; bs: "bp.bs"; bt: "bp.bt"; bu: "bp.bu"; bv: "bp.bv"; bw: "bp.bw"; bx: "bp.bx"; by: "bp.by"; bz: "bp.bz"; ca: "bp.ca"; cb: "bp.cb"; cc: "bp.cc"; cd: "bp.cd"; ce: "bp.ce"; cf: "bp.cf"; cg: "bp.cg"; ch: "bp.ch"; ci: "bp.ci"; cj: "bp.cj"; ck: "bp.ck"; cl: "bp.cl"; cm: "bp.cm"; cn: "bp.cn"; co: "bp.co"; cp: "bp.cp"; cq: "bp.cq"; cr: "bp.cr"; cs: "bp.cs"; ct: "bp.ct"; cu: "bp.cu"; cv: "bp.cv"; cw: "bp.cw"; cx: "bp.cx"; cy: "bp.cy"; cz: "bp.cz"; da: "bp.da"; db: "bp.db"; dc: "bp.dc"; dd: "bp.dd"; de: "bp.de"; df: "bp.df"; dg: "bp.dg"; dh: "bp.dh"; di: "bp.di"; dj: "bp.dj"; dk: "bp.dk"; dl: "bp.dl"; dm: "bp.dm"; dn: "bp.dn"; do: "bp.do"; dp: "bp.dp"; dq: "bp.dq"; dr: "bp.dr"; ds: "bp.ds"; dt: "bp.dt"; du: "bp.du"; dv: "bp.dv"; dw: "bp.dw"; dx: "bp.dx"; dy: "bp.dy"; dz: "bp.dz"; ea: "bp.ea"; eb: "bp.eb"; ec: "bp.ec"; ed: "bp.ed"; ee: "bp.ee"; ef: "bp.ef"; eg: "bp.eg"; eh: "bp.eh"; ei: "bp.ei"; ej: "bp.ej"; ek: "bp.ek"; el: "bp.el"; em: "bp.em"; en: "bp.en"; eo: "bp.eo"; ep: "bp.ep"; eq: "bp.eq"; er: "bp.er"; es: "bp.es"; et: "bp.et"; eu: "bp.eu"; ev: "bp.ev"; ew: "bp.ew"; ex: "bp.ex"; ey: "bp.ey"; ez: "bp.ez"; fa: "bp.fa"; fb: "bp.fb"; fc: "bp.fc"; fd: "bp.fd"; fe: "bp.fe"; ff: "bp.ff"; fg: "bp.fg"; fh: "bp.fh"; fi: "bp.fi"; fj: "bp.fj"; fk: "bp.fk"; fl: "bp.fl"; fm: "bp.fm"; fn: "bp.fn"; fo: "bp.fo"; fp: "bp.fp"; fq: "bp.fq"; fr: "bp.fr"; fs: "bp.fs"; ft: "bp.ft"; fu: "bp.fu"; fv: "bp.fv"; fw: "bp.fw"; fx: "bp.fx"; fy: "bp.fy"; fz: "bp.fz"; ga: "bp.ga"; gb: "bp.gb"; gc: "bp.gc"; gd: "bp.gd"; ge: "bp.ge"; gf: "bp.gf"; gg: "bp.gg"; gh: "bp.gh"; gi: "bp.gi"; gj: "bp.gj"; gk: "bp.gk"; gl: "bp.gl"; gm: "bp.gm"; gn: "bp.gn"; go: "bp.go"; gp: "bp.gp"; gq: "bp.gq"; gr: "bp.gr"; gs: "bp.gs"; gt: "bp.gt"; gu: "bp.gu"; gv: "bp.gv"; gw: "bp.gw"; gx: "bp.gx"; gy: "bp.gy"; gz: "bp.gz"; ha: "bp.ha"; hb: "bp.hb"; hc: "bp.hc"; hd: "bp.hd"; he: "bp.he"; hf: "bp.hf"; hg: "bp.hg"; hh: "bp.hh"; hi: "bp.hi"; hj: "bp.hj"; hk: "bp.hk"; hl: "bp.hl"; hm: "bp.hm"; hn: "bp.hn"; ho: "bp.ho"; hp: "bp.hp"; hq: "bp.hq"; hr: "bp.hr"; hs: "bp.hs"; ht: "bp.ht"; hu: "bp.hu"; hv: "bp.hv"; hw: "bp.hw"; hx: "bp.hx"; hy: "bp.hy"; hz: "bp.hz"; ia: "bp.ia"; ib: "bp.ib"; ic: "bp.ic"; id: "bp.id"; ie: "bp.ie"; if: "bp.if"; ig: "bp.ig"; ih: "bp.ih"; ii: "bp.ii"; ij: "bp.ij"; ik: "bp.ik"; il: "bp.il"; im: "bp.im"; in: "bp.in"; io: "bp.io"; ip: "bp.ip"; iq: "bp.iq"; ir: "bp.ir"; is: "bp.is"; it: "bp.it"; iu: "bp.iu"; iv: "bp.iv"; iw: "bp.iw"; ix: "bp.ix"; iy: "bp.iy"; iz: "bp.iz"; ja: "bp.ja"; jb: "bp.jb"; jc: "bp.jc"; jd: "bp.jd"; je: "bp.je"; jf: "bp.jf"; jg: "bp.jg"; jh: "bp.jh"; ji: "bp.ji"; jj: "bp.jj"; jk: "bp.jk"; jl: "bp.jl"; jm: "bp.jm"; jn: "bp.jn"; jo: "bp.jo"; jp: "bp.jp"; jq: "bp.jq"; jr: "bp.jr"; js: "bp.js"; jt: "bp.jt"; ju: "bp.ju"; jv: "bp.jv"; jw: "bp.jw"; jx: "bp.jx"; jy: "bp.jy"; jz: "bp.jz"; ka: "bp.ka"; kb: "bp.kb"; kc: "bp.kc"; kd: "bp.kd"; ke: "bp.ke"; kf: "bp.kf"; kg: "bp.kg"; kh: "bp.kh"; ki: "bp.ki"; kj: "bp.kj"; kk: "bp.kk"; kl: "bp.kl"; km: "bp.km"; kn: "bp.kn"; ko: "bp.ko"; kp: "bp.kp"; kq: "bp.kq"; kr: "bp.kr"; ks: "bp.ks"; kt: "bp.kt"; ku: "bp.ku"; kv: "bp.kv"; kw: "bp.kw"; kx: "bp.kx"; ky: "bp.ky"; kz: "bp.kz"; la: "bp.la"; lb: "bp.lb"; lc: "bp.lc"; ld: "bp.ld"; le: "bp.le"; lf: "bp.lf"; lg: "bp.lg"; lh: "bp.lh"; li: "bp.li"; lj: "bp.lj"; lk: "bp.lk"; ll: "bp.ll"; lm: "bp.lm"; ln: "bp.ln"; lo: "bp.lo"; lp: "bp.lp"; lq: "bp.lq"; lr: "bp.lr"; ls: "bp.ls"; lt: "bp.lt"; lu: "bp.lu"; lv: "bp.lv"; lw: "bp.lw"; lx: "bp.lx"; ly: "bp.ly"; lz: "bp.lz"; ma: "bp.ma"; mb: "bp.mb"; mc: "bp.mc"; md: "bp.md"; me: "bp.me"; mf: "bp.mf"; mg: "bp.mg"; mh: "bp.mh"; mi: "bp.mi"; mj: "bp.mj"; mk: "bp.mk"; ml: "bp.ml"; mm: "bp.mm"; mn: "bp.mn"; mo: "bp.mo"; mp: "bp.mp"; mq: "bp.mq"; mr: "bp.mr"; ms: "bp.ms"; mt: "bp.mt"; mu: "bp.mu"; mv: "bp.mv"; mw: "bp.mw"; mx: "bp.mx"; my: "bp.my"; mz: "bp.mz"; na: "bp.na"; nb: "bp.nb"; nc: "bp.nc"; nd: "bp.nd"; ne: "bp.ne"; nf: "bp.nf"; ng: "bp.ng"; nh: "bp.nh"; ni: "bp.ni"; nj: "bp.nj"; nk: "bp.nk"; nl: "bp.nl"; nm: "bp.nm"; nn: "bp.nn"; no: "bp.no"; np: "bp.np"; nq: "bp.nq"; nr: "bp.nr"; ns: "bp.ns"; nt: "bp.nt"; nu: "bp.nu"; nv: "bp.nv"; nw: "bp.nw"; nx: "bp.nx"; ny: "bp.ny"; nz: "bp.nz"; oa: "bp.oa"; ob: "bp.ob"; oc: "bp.oc"; od: "bp.od"; oe: "bp.oe"; of: "bp.of"; og: "bp.og"; oh: "bp.oh"; oi: "bp.oi"; oj: "bp.oj"; ok: "bp.ok"; ol: "bp.ol"; om: "bp.om"; on: "bp.on"; oo: "bp.oo"; op: "bp.op"; oq: "bp.oq"; or: "bp.or"; os: "bp.os"; ot: "bp.ot"; ou: "bp.ou"; ov: "bp.ov"; ow: "bp.ow"; ox: "bp.ox"; oy: "bp.oy"; oz: "bp.oz"; pa: "bp.pa"; pb: "bp.pb"; pc: "bp.pc"; pd: "bp.pd"; pe: "bp.pe"; pf: "bp.pf"; pg: "bp.pg"; ph: "bp.ph"; pi: "bp.pi"; pj: "bp.pj"; pk: "bp.pk"; pl: "bp.pl"; pm: "bp.pm"; pn: "bp.pn"; po: "bp.po"; pp: "bp.pp"; pq: "bp.pq"; pr: "bp.pr"; ps: "bp.ps"; pt: "bp.pt"; pu: "bp.pu"; pv: "bp.pv"; pw: "bp.pw"; px: "bp.px"; py: "bp.py"; pz: "bp.pz"; qa: "bp.qa"; qb: "bp.qb"; qc: "bp.qc"; qd: "bp.qd"; qe: "bp.qe"; qf: "bp.qf"; qg: "bp.qg"; qh: "bp.qh"; qi: "bp.qi"; qj: "bp.qj"; qk: "bp.qk"; ql: "bp.ql"; qm: "bp.qm"; qn: "bp.qn"; qo: "bp.qo"; qp: "bp.qp"; qq: "bp.qq"; qr: "bp.qr"; qs: "bp.qs"; qt: "bp.qt"; qu: "bp.qu"; qv: "bp.qv"; qw: "bp.qw"; qx: "bp.qx"; qy: "bp.qy"; qz: "bp.qz"; ra: "bp.ra"; rb: "bp.rb"; rc: "bp.rc"; rd: "bp.rd"; re: "bp.re"; rf: "bp.rf"; rg: "bp.rg"; rh: "bp.rh"; ri: "bp.ri"; rj: "bp.rj"; rk: "bp.rk"; rl: "bp.rl"; rm: "bp.rm"; rn: "bp.rn"; ro: "bp.ro"; rp: "bp.rp"; rq: "bp.rq"; rr: "bp.rr"; rs: "bp.rs"; rt: "bp.rt"; ru: "bp.ru"; rv: "bp.rv"; rw: "bp.rw"; rx: "bp.rx"; ry: "bp.ry"; rz: "bp.rz"; sa: "bp.sa"; sb: "bp.sb"; sc: "bp.sc"; sd: "bp.sd"; se: "bp.se"; sf: "bp.sf"; sg: "bp.sg"; sh: "bp.sh"; si: "bp.si"; sj: "bp.sj"; sk: "bp.sk"; sl: "bp.sl"; sm: "bp.sm"; sn: "bp.sn"; so: "bp.so"; sp: "bp.sp"; sq: "bp.sq"; sr: "bp.sr"; ss: "bp.ss"; st: "bp.st"; su: "bp.su"; sv: "bp.sv"; sw: "bp.sw"; sx: "bp.sx"; sy: "bp.sy"; sz: "bp.sz"; ta: "bp.ta"; tb: "bp.tb"; tc: "bp.tc"; td: "bp.td"; te: "bp.te"; tf: "bp.tf"; tg: "bp.tg"; th: "bp.th"; ti: "bp.ti"; tj: "bp.tj"; tk: "bp.tk"; tl: "bp.tl"; tm: "bp.tm"; tn: "bp.tn"; to: "bp.to"; tp: "bp.tp"; tq: "bp.tq"; tr: "bp.tr"; ts: "bp.ts"; tt: "bp.tt"; tu: "bp.tu"; tv: "bp.tv"; tw: "bp.tw"; tx: "bp.tx"; ty: "bp.ty"; tz: "bp.tz"; ua: "bp.ua"; ub: "bp.ub"; uc: "bp.uc"; ud: "bp.ud"; ue: "bp.ue"; uf: "bp.uf"; ug: "bp.ug"; uh: "bp.uh"; ui: "bp.ui"; uj: "bp.uj"; uk: "bp.uk"; ul: "bp.ul"; um: "bp.um"; un: "bp.un"; uo: "bp.uo"; up: "bp.up"; uq: "bp.uq"; ur: "bp.ur"; us: "bp.us"; ut: "bp.ut"; uu: "bp.uu"; uv: "bp.uv"; uw: "bp.uw"; ux: "bp.ux"; uy: "bp.uy"; uz: "bp.uz"; va: "bp.va"; vb: "bp.vb"; vc: "bp.vc"; vd: "bp.vd"; ve: "bp.ve"; vf: "bp.vf"; vg: "bp.vg"; vh: "bp.vh"; vi: "bp.vi"; vj: "bp.vj"; vk: "bp.vk"; vl: "bp.vl"; vm: "bp.vm"; vn: "bp.vn"; vo: "bp.vo"; vp: "bp.vp"; vq: "bp.vq"; vr: "bp.vr"; vs: "bp.vs"; vt: "bp.vt"; vu: "bp.vu"; vv: "bp.vv"; vw: "bp.vw"; vx: "bp.vx"; vy: "bp.vy"; vz: "bp.vz"; wa: "bp.wa"; wb: "bp.wb"; wc: "bp.wc"; wd: "bp.wd"; we: "bp.we"; wf: "bp.wf"; wg: "bp.wg"; wh: "bp.wh"; wi: "bp.wi"; wj: "bp.wj"; wk: "bp.wk"; wl: "bp.wl"; wm: "bp.wm"; wn: "bp.wn"; wo: "bp.wo"; wp: "bp.wp"; wq: "bp.wq"; wr: "bp.wr"; ws: "bp.ws"; wt: "bp.wt"; wu: "bp.wu"; wv: "bp.wv"; ww: "bp.ww"; wx: "bp.wx"; wy: "bp.wy"; wz: "bp.wz"; xa: "bp.xa"; xb: "bp.xb"; xc: "bp.xc"; xd: "bp.xd"; xe: "bp.xe"; xf: "bp.xf"; xg: "bp.xg"; xh: "bp.xh"; xi: "bp.xi"; xj: "bp.xj"; xk: "bp.xk"; xl: "bp.xl"; xm: "bp.xm"; xn: "bp.xn"; xo: "bp.xo"; xp: "bp.xp"; xq: "bp.xq"; xr: "bp.xr"; xs: "bp.xs"; xt: "bp.xt"; xu: "bp.xu"; xv: "bp.xv"; xw: "bp.xw"; xx: "bp.xx"; xy: "bp.xy"; xz: "bp.xz"; ya: "bp.ya"; yb: "bp.yb"; yc: "bp.yc"; yd: "bp.yd"; ye: "bp.ye"; yf: "bp.yf"; yg: "bp.yg"; yh: "bp.yh"; yi: "bp.yi"; yj: "bp.yj"; yk: "bp.yk"; yl: "bp.yl"; ym: "bp.ym"; yn: "bp.yn"; yo: "bp.yo"; yp: "bp.yp"; yq: "bp.yq"; yr: "bp.yr"; ys: "bp.ys"; yt: "bp.yt"; yu: "bp.yu"; yv: "bp.yv"; yw: "bp.yw"; yx: "bp.yx"; yy: "bp.yy"; yz: "bp.yz"; za: "bp.za"; zb: "bp.zb"; zc: "bp.zc"; zd: "bp.zd"; ze: "bp.ze"; zf: "bp.zf"; zg: "bp.zg"; zh: "bp.zh"; zi: "bp.zi"; zj: "bp.zj"; zk: "bp.zk"; zl: "bp.zl"; zm: "bp.zm"; zn: "bp.zn"; zo: "bp.zo"; zp: "bp.zp"; zq: "bp.zq"; zr: "bp.zr"; zs: "bp.zs"; zt: "bp.zt"; zu: "bp.zu"; zv: "bp.zv"; zw: "bp.zw"; zx: "bp.zx"; zy: "bp.zy"; zz: "bp.zz"; }; bq: { aa: "bq.aa"; ab: "bq.ab"; ac: "bq.ac"; ad: "bq.ad"; ae: "bq.ae"; af: "bq.af"; ag: "bq.ag"; ah: "bq.ah"; ai: "bq.ai"; aj: "bq.aj"; ak: "bq.ak"; al: "bq.al"; am: "bq.am"; an: "bq.an"; ao: "bq.ao"; ap: "bq.ap"; aq: "bq.aq"; ar: "bq.ar"; as: "bq.as"; at: "bq.at"; au: "bq.au"; av: "bq.av"; aw: "bq.aw"; ax: "bq.ax"; ay: "bq.ay"; az: "bq.az"; ba: "bq.ba"; bb: "bq.bb"; bc: "bq.bc"; bd: "bq.bd"; be: "bq.be"; bf: "bq.bf"; bg: "bq.bg"; bh: "bq.bh"; bi: "bq.bi"; bj: "bq.bj"; bk: "bq.bk"; bl: "bq.bl"; bm: "bq.bm"; bn: "bq.bn"; bo: "bq.bo"; bp: "bq.bp"; bq: "bq.bq"; br: "bq.br"; bs: "bq.bs"; bt: "bq.bt"; bu: "bq.bu"; bv: "bq.bv"; bw: "bq.bw"; bx: "bq.bx"; by: "bq.by"; bz: "bq.bz"; ca: "bq.ca"; cb: "bq.cb"; cc: "bq.cc"; cd: "bq.cd"; ce: "bq.ce"; cf: "bq.cf"; cg: "bq.cg"; ch: "bq.ch"; ci: "bq.ci"; cj: "bq.cj"; ck: "bq.ck"; cl: "bq.cl"; cm: "bq.cm"; cn: "bq.cn"; co: "bq.co"; cp: "bq.cp"; cq: "bq.cq"; cr: "bq.cr"; cs: "bq.cs"; ct: "bq.ct"; cu: "bq.cu"; cv: "bq.cv"; cw: "bq.cw"; cx: "bq.cx"; cy: "bq.cy"; cz: "bq.cz"; da: "bq.da"; db: "bq.db"; dc: "bq.dc"; dd: "bq.dd"; de: "bq.de"; df: "bq.df"; dg: "bq.dg"; dh: "bq.dh"; di: "bq.di"; dj: "bq.dj"; dk: "bq.dk"; dl: "bq.dl"; dm: "bq.dm"; dn: "bq.dn"; do: "bq.do"; dp: "bq.dp"; dq: "bq.dq"; dr: "bq.dr"; ds: "bq.ds"; dt: "bq.dt"; du: "bq.du"; dv: "bq.dv"; dw: "bq.dw"; dx: "bq.dx"; dy: "bq.dy"; dz: "bq.dz"; ea: "bq.ea"; eb: "bq.eb"; ec: "bq.ec"; ed: "bq.ed"; ee: "bq.ee"; ef: "bq.ef"; eg: "bq.eg"; eh: "bq.eh"; ei: "bq.ei"; ej: "bq.ej"; ek: "bq.ek"; el: "bq.el"; em: "bq.em"; en: "bq.en"; eo: "bq.eo"; ep: "bq.ep"; eq: "bq.eq"; er: "bq.er"; es: "bq.es"; et: "bq.et"; eu: "bq.eu"; ev: "bq.ev"; ew: "bq.ew"; ex: "bq.ex"; ey: "bq.ey"; ez: "bq.ez"; fa: "bq.fa"; fb: "bq.fb"; fc: "bq.fc"; fd: "bq.fd"; fe: "bq.fe"; ff: "bq.ff"; fg: "bq.fg"; fh: "bq.fh"; fi: "bq.fi"; fj: "bq.fj"; fk: "bq.fk"; fl: "bq.fl"; fm: "bq.fm"; fn: "bq.fn"; fo: "bq.fo"; fp: "bq.fp"; fq: "bq.fq"; fr: "bq.fr"; fs: "bq.fs"; ft: "bq.ft"; fu: "bq.fu"; fv: "bq.fv"; fw: "bq.fw"; fx: "bq.fx"; fy: "bq.fy"; fz: "bq.fz"; ga: "bq.ga"; gb: "bq.gb"; gc: "bq.gc"; gd: "bq.gd"; ge: "bq.ge"; gf: "bq.gf"; gg: "bq.gg"; gh: "bq.gh"; gi: "bq.gi"; gj: "bq.gj"; gk: "bq.gk"; gl: "bq.gl"; gm: "bq.gm"; gn: "bq.gn"; go: "bq.go"; gp: "bq.gp"; gq: "bq.gq"; gr: "bq.gr"; gs: "bq.gs"; gt: "bq.gt"; gu: "bq.gu"; gv: "bq.gv"; gw: "bq.gw"; gx: "bq.gx"; gy: "bq.gy"; gz: "bq.gz"; ha: "bq.ha"; hb: "bq.hb"; hc: "bq.hc"; hd: "bq.hd"; he: "bq.he"; hf: "bq.hf"; hg: "bq.hg"; hh: "bq.hh"; hi: "bq.hi"; hj: "bq.hj"; hk: "bq.hk"; hl: "bq.hl"; hm: "bq.hm"; hn: "bq.hn"; ho: "bq.ho"; hp: "bq.hp"; hq: "bq.hq"; hr: "bq.hr"; hs: "bq.hs"; ht: "bq.ht"; hu: "bq.hu"; hv: "bq.hv"; hw: "bq.hw"; hx: "bq.hx"; hy: "bq.hy"; hz: "bq.hz"; ia: "bq.ia"; ib: "bq.ib"; ic: "bq.ic"; id: "bq.id"; ie: "bq.ie"; if: "bq.if"; ig: "bq.ig"; ih: "bq.ih"; ii: "bq.ii"; ij: "bq.ij"; ik: "bq.ik"; il: "bq.il"; im: "bq.im"; in: "bq.in"; io: "bq.io"; ip: "bq.ip"; iq: "bq.iq"; ir: "bq.ir"; is: "bq.is"; it: "bq.it"; iu: "bq.iu"; iv: "bq.iv"; iw: "bq.iw"; ix: "bq.ix"; iy: "bq.iy"; iz: "bq.iz"; ja: "bq.ja"; jb: "bq.jb"; jc: "bq.jc"; jd: "bq.jd"; je: "bq.je"; jf: "bq.jf"; jg: "bq.jg"; jh: "bq.jh"; ji: "bq.ji"; jj: "bq.jj"; jk: "bq.jk"; jl: "bq.jl"; jm: "bq.jm"; jn: "bq.jn"; jo: "bq.jo"; jp: "bq.jp"; jq: "bq.jq"; jr: "bq.jr"; js: "bq.js"; jt: "bq.jt"; ju: "bq.ju"; jv: "bq.jv"; jw: "bq.jw"; jx: "bq.jx"; jy: "bq.jy"; jz: "bq.jz"; ka: "bq.ka"; kb: "bq.kb"; kc: "bq.kc"; kd: "bq.kd"; ke: "bq.ke"; kf: "bq.kf"; kg: "bq.kg"; kh: "bq.kh"; ki: "bq.ki"; kj: "bq.kj"; kk: "bq.kk"; kl: "bq.kl"; km: "bq.km"; kn: "bq.kn"; ko: "bq.ko"; kp: "bq.kp"; kq: "bq.kq"; kr: "bq.kr"; ks: "bq.ks"; kt: "bq.kt"; ku: "bq.ku"; kv: "bq.kv"; kw: "bq.kw"; kx: "bq.kx"; ky: "bq.ky"; kz: "bq.kz"; la: "bq.la"; lb: "bq.lb"; lc: "bq.lc"; ld: "bq.ld"; le: "bq.le"; lf: "bq.lf"; lg: "bq.lg"; lh: "bq.lh"; li: "bq.li"; lj: "bq.lj"; lk: "bq.lk"; ll: "bq.ll"; lm: "bq.lm"; ln: "bq.ln"; lo: "bq.lo"; lp: "bq.lp"; lq: "bq.lq"; lr: "bq.lr"; ls: "bq.ls"; lt: "bq.lt"; lu: "bq.lu"; lv: "bq.lv"; lw: "bq.lw"; lx: "bq.lx"; ly: "bq.ly"; lz: "bq.lz"; ma: "bq.ma"; mb: "bq.mb"; mc: "bq.mc"; md: "bq.md"; me: "bq.me"; mf: "bq.mf"; mg: "bq.mg"; mh: "bq.mh"; mi: "bq.mi"; mj: "bq.mj"; mk: "bq.mk"; ml: "bq.ml"; mm: "bq.mm"; mn: "bq.mn"; mo: "bq.mo"; mp: "bq.mp"; mq: "bq.mq"; mr: "bq.mr"; ms: "bq.ms"; mt: "bq.mt"; mu: "bq.mu"; mv: "bq.mv"; mw: "bq.mw"; mx: "bq.mx"; my: "bq.my"; mz: "bq.mz"; na: "bq.na"; nb: "bq.nb"; nc: "bq.nc"; nd: "bq.nd"; ne: "bq.ne"; nf: "bq.nf"; ng: "bq.ng"; nh: "bq.nh"; ni: "bq.ni"; nj: "bq.nj"; nk: "bq.nk"; nl: "bq.nl"; nm: "bq.nm"; nn: "bq.nn"; no: "bq.no"; np: "bq.np"; nq: "bq.nq"; nr: "bq.nr"; ns: "bq.ns"; nt: "bq.nt"; nu: "bq.nu"; nv: "bq.nv"; nw: "bq.nw"; nx: "bq.nx"; ny: "bq.ny"; nz: "bq.nz"; oa: "bq.oa"; ob: "bq.ob"; oc: "bq.oc"; od: "bq.od"; oe: "bq.oe"; of: "bq.of"; og: "bq.og"; oh: "bq.oh"; oi: "bq.oi"; oj: "bq.oj"; ok: "bq.ok"; ol: "bq.ol"; om: "bq.om"; on: "bq.on"; oo: "bq.oo"; op: "bq.op"; oq: "bq.oq"; or: "bq.or"; os: "bq.os"; ot: "bq.ot"; ou: "bq.ou"; ov: "bq.ov"; ow: "bq.ow"; ox: "bq.ox"; oy: "bq.oy"; oz: "bq.oz"; pa: "bq.pa"; pb: "bq.pb"; pc: "bq.pc"; pd: "bq.pd"; pe: "bq.pe"; pf: "bq.pf"; pg: "bq.pg"; ph: "bq.ph"; pi: "bq.pi"; pj: "bq.pj"; pk: "bq.pk"; pl: "bq.pl"; pm: "bq.pm"; pn: "bq.pn"; po: "bq.po"; pp: "bq.pp"; pq: "bq.pq"; pr: "bq.pr"; ps: "bq.ps"; pt: "bq.pt"; pu: "bq.pu"; pv: "bq.pv"; pw: "bq.pw"; px: "bq.px"; py: "bq.py"; pz: "bq.pz"; qa: "bq.qa"; qb: "bq.qb"; qc: "bq.qc"; qd: "bq.qd"; qe: "bq.qe"; qf: "bq.qf"; qg: "bq.qg"; qh: "bq.qh"; qi: "bq.qi"; qj: "bq.qj"; qk: "bq.qk"; ql: "bq.ql"; qm: "bq.qm"; qn: "bq.qn"; qo: "bq.qo"; qp: "bq.qp"; qq: "bq.qq"; qr: "bq.qr"; qs: "bq.qs"; qt: "bq.qt"; qu: "bq.qu"; qv: "bq.qv"; qw: "bq.qw"; qx: "bq.qx"; qy: "bq.qy"; qz: "bq.qz"; ra: "bq.ra"; rb: "bq.rb"; rc: "bq.rc"; rd: "bq.rd"; re: "bq.re"; rf: "bq.rf"; rg: "bq.rg"; rh: "bq.rh"; ri: "bq.ri"; rj: "bq.rj"; rk: "bq.rk"; rl: "bq.rl"; rm: "bq.rm"; rn: "bq.rn"; ro: "bq.ro"; rp: "bq.rp"; rq: "bq.rq"; rr: "bq.rr"; rs: "bq.rs"; rt: "bq.rt"; ru: "bq.ru"; rv: "bq.rv"; rw: "bq.rw"; rx: "bq.rx"; ry: "bq.ry"; rz: "bq.rz"; sa: "bq.sa"; sb: "bq.sb"; sc: "bq.sc"; sd: "bq.sd"; se: "bq.se"; sf: "bq.sf"; sg: "bq.sg"; sh: "bq.sh"; si: "bq.si"; sj: "bq.sj"; sk: "bq.sk"; sl: "bq.sl"; sm: "bq.sm"; sn: "bq.sn"; so: "bq.so"; sp: "bq.sp"; sq: "bq.sq"; sr: "bq.sr"; ss: "bq.ss"; st: "bq.st"; su: "bq.su"; sv: "bq.sv"; sw: "bq.sw"; sx: "bq.sx"; sy: "bq.sy"; sz: "bq.sz"; ta: "bq.ta"; tb: "bq.tb"; tc: "bq.tc"; td: "bq.td"; te: "bq.te"; tf: "bq.tf"; tg: "bq.tg"; th: "bq.th"; ti: "bq.ti"; tj: "bq.tj"; tk: "bq.tk"; tl: "bq.tl"; tm: "bq.tm"; tn: "bq.tn"; to: "bq.to"; tp: "bq.tp"; tq: "bq.tq"; tr: "bq.tr"; ts: "bq.ts"; tt: "bq.tt"; tu: "bq.tu"; tv: "bq.tv"; tw: "bq.tw"; tx: "bq.tx"; ty: "bq.ty"; tz: "bq.tz"; ua: "bq.ua"; ub: "bq.ub"; uc: "bq.uc"; ud: "bq.ud"; ue: "bq.ue"; uf: "bq.uf"; ug: "bq.ug"; uh: "bq.uh"; ui: "bq.ui"; uj: "bq.uj"; uk: "bq.uk"; ul: "bq.ul"; um: "bq.um"; un: "bq.un"; uo: "bq.uo"; up: "bq.up"; uq: "bq.uq"; ur: "bq.ur"; us: "bq.us"; ut: "bq.ut"; uu: "bq.uu"; uv: "bq.uv"; uw: "bq.uw"; ux: "bq.ux"; uy: "bq.uy"; uz: "bq.uz"; va: "bq.va"; vb: "bq.vb"; vc: "bq.vc"; vd: "bq.vd"; ve: "bq.ve"; vf: "bq.vf"; vg: "bq.vg"; vh: "bq.vh"; vi: "bq.vi"; vj: "bq.vj"; vk: "bq.vk"; vl: "bq.vl"; vm: "bq.vm"; vn: "bq.vn"; vo: "bq.vo"; vp: "bq.vp"; vq: "bq.vq"; vr: "bq.vr"; vs: "bq.vs"; vt: "bq.vt"; vu: "bq.vu"; vv: "bq.vv"; vw: "bq.vw"; vx: "bq.vx"; vy: "bq.vy"; vz: "bq.vz"; wa: "bq.wa"; wb: "bq.wb"; wc: "bq.wc"; wd: "bq.wd"; we: "bq.we"; wf: "bq.wf"; wg: "bq.wg"; wh: "bq.wh"; wi: "bq.wi"; wj: "bq.wj"; wk: "bq.wk"; wl: "bq.wl"; wm: "bq.wm"; wn: "bq.wn"; wo: "bq.wo"; wp: "bq.wp"; wq: "bq.wq"; wr: "bq.wr"; ws: "bq.ws"; wt: "bq.wt"; wu: "bq.wu"; wv: "bq.wv"; ww: "bq.ww"; wx: "bq.wx"; wy: "bq.wy"; wz: "bq.wz"; xa: "bq.xa"; xb: "bq.xb"; xc: "bq.xc"; xd: "bq.xd"; xe: "bq.xe"; xf: "bq.xf"; xg: "bq.xg"; xh: "bq.xh"; xi: "bq.xi"; xj: "bq.xj"; xk: "bq.xk"; xl: "bq.xl"; xm: "bq.xm"; xn: "bq.xn"; xo: "bq.xo"; xp: "bq.xp"; xq: "bq.xq"; xr: "bq.xr"; xs: "bq.xs"; xt: "bq.xt"; xu: "bq.xu"; xv: "bq.xv"; xw: "bq.xw"; xx: "bq.xx"; xy: "bq.xy"; xz: "bq.xz"; ya: "bq.ya"; yb: "bq.yb"; yc: "bq.yc"; yd: "bq.yd"; ye: "bq.ye"; yf: "bq.yf"; yg: "bq.yg"; yh: "bq.yh"; yi: "bq.yi"; yj: "bq.yj"; yk: "bq.yk"; yl: "bq.yl"; ym: "bq.ym"; yn: "bq.yn"; yo: "bq.yo"; yp: "bq.yp"; yq: "bq.yq"; yr: "bq.yr"; ys: "bq.ys"; yt: "bq.yt"; yu: "bq.yu"; yv: "bq.yv"; yw: "bq.yw"; yx: "bq.yx"; yy: "bq.yy"; yz: "bq.yz"; za: "bq.za"; zb: "bq.zb"; zc: "bq.zc"; zd: "bq.zd"; ze: "bq.ze"; zf: "bq.zf"; zg: "bq.zg"; zh: "bq.zh"; zi: "bq.zi"; zj: "bq.zj"; zk: "bq.zk"; zl: "bq.zl"; zm: "bq.zm"; zn: "bq.zn"; zo: "bq.zo"; zp: "bq.zp"; zq: "bq.zq"; zr: "bq.zr"; zs: "bq.zs"; zt: "bq.zt"; zu: "bq.zu"; zv: "bq.zv"; zw: "bq.zw"; zx: "bq.zx"; zy: "bq.zy"; zz: "bq.zz"; }; br: { aa: "br.aa"; ab: "br.ab"; ac: "br.ac"; ad: "br.ad"; ae: "br.ae"; af: "br.af"; ag: "br.ag"; ah: "br.ah"; ai: "br.ai"; aj: "br.aj"; ak: "br.ak"; al: "br.al"; am: "br.am"; an: "br.an"; ao: "br.ao"; ap: "br.ap"; aq: "br.aq"; ar: "br.ar"; as: "br.as"; at: "br.at"; au: "br.au"; av: "br.av"; aw: "br.aw"; ax: "br.ax"; ay: "br.ay"; az: "br.az"; ba: "br.ba"; bb: "br.bb"; bc: "br.bc"; bd: "br.bd"; be: "br.be"; bf: "br.bf"; bg: "br.bg"; bh: "br.bh"; bi: "br.bi"; bj: "br.bj"; bk: "br.bk"; bl: "br.bl"; bm: "br.bm"; bn: "br.bn"; bo: "br.bo"; bp: "br.bp"; bq: "br.bq"; br: "br.br"; bs: "br.bs"; bt: "br.bt"; bu: "br.bu"; bv: "br.bv"; bw: "br.bw"; bx: "br.bx"; by: "br.by"; bz: "br.bz"; ca: "br.ca"; cb: "br.cb"; cc: "br.cc"; cd: "br.cd"; ce: "br.ce"; cf: "br.cf"; cg: "br.cg"; ch: "br.ch"; ci: "br.ci"; cj: "br.cj"; ck: "br.ck"; cl: "br.cl"; cm: "br.cm"; cn: "br.cn"; co: "br.co"; cp: "br.cp"; cq: "br.cq"; cr: "br.cr"; cs: "br.cs"; ct: "br.ct"; cu: "br.cu"; cv: "br.cv"; cw: "br.cw"; cx: "br.cx"; cy: "br.cy"; cz: "br.cz"; da: "br.da"; db: "br.db"; dc: "br.dc"; dd: "br.dd"; de: "br.de"; df: "br.df"; dg: "br.dg"; dh: "br.dh"; di: "br.di"; dj: "br.dj"; dk: "br.dk"; dl: "br.dl"; dm: "br.dm"; dn: "br.dn"; do: "br.do"; dp: "br.dp"; dq: "br.dq"; dr: "br.dr"; ds: "br.ds"; dt: "br.dt"; du: "br.du"; dv: "br.dv"; dw: "br.dw"; dx: "br.dx"; dy: "br.dy"; dz: "br.dz"; ea: "br.ea"; eb: "br.eb"; ec: "br.ec"; ed: "br.ed"; ee: "br.ee"; ef: "br.ef"; eg: "br.eg"; eh: "br.eh"; ei: "br.ei"; ej: "br.ej"; ek: "br.ek"; el: "br.el"; em: "br.em"; en: "br.en"; eo: "br.eo"; ep: "br.ep"; eq: "br.eq"; er: "br.er"; es: "br.es"; et: "br.et"; eu: "br.eu"; ev: "br.ev"; ew: "br.ew"; ex: "br.ex"; ey: "br.ey"; ez: "br.ez"; fa: "br.fa"; fb: "br.fb"; fc: "br.fc"; fd: "br.fd"; fe: "br.fe"; ff: "br.ff"; fg: "br.fg"; fh: "br.fh"; fi: "br.fi"; fj: "br.fj"; fk: "br.fk"; fl: "br.fl"; fm: "br.fm"; fn: "br.fn"; fo: "br.fo"; fp: "br.fp"; fq: "br.fq"; fr: "br.fr"; fs: "br.fs"; ft: "br.ft"; fu: "br.fu"; fv: "br.fv"; fw: "br.fw"; fx: "br.fx"; fy: "br.fy"; fz: "br.fz"; ga: "br.ga"; gb: "br.gb"; gc: "br.gc"; gd: "br.gd"; ge: "br.ge"; gf: "br.gf"; gg: "br.gg"; gh: "br.gh"; gi: "br.gi"; gj: "br.gj"; gk: "br.gk"; gl: "br.gl"; gm: "br.gm"; gn: "br.gn"; go: "br.go"; gp: "br.gp"; gq: "br.gq"; gr: "br.gr"; gs: "br.gs"; gt: "br.gt"; gu: "br.gu"; gv: "br.gv"; gw: "br.gw"; gx: "br.gx"; gy: "br.gy"; gz: "br.gz"; ha: "br.ha"; hb: "br.hb"; hc: "br.hc"; hd: "br.hd"; he: "br.he"; hf: "br.hf"; hg: "br.hg"; hh: "br.hh"; hi: "br.hi"; hj: "br.hj"; hk: "br.hk"; hl: "br.hl"; hm: "br.hm"; hn: "br.hn"; ho: "br.ho"; hp: "br.hp"; hq: "br.hq"; hr: "br.hr"; hs: "br.hs"; ht: "br.ht"; hu: "br.hu"; hv: "br.hv"; hw: "br.hw"; hx: "br.hx"; hy: "br.hy"; hz: "br.hz"; ia: "br.ia"; ib: "br.ib"; ic: "br.ic"; id: "br.id"; ie: "br.ie"; if: "br.if"; ig: "br.ig"; ih: "br.ih"; ii: "br.ii"; ij: "br.ij"; ik: "br.ik"; il: "br.il"; im: "br.im"; in: "br.in"; io: "br.io"; ip: "br.ip"; iq: "br.iq"; ir: "br.ir"; is: "br.is"; it: "br.it"; iu: "br.iu"; iv: "br.iv"; iw: "br.iw"; ix: "br.ix"; iy: "br.iy"; iz: "br.iz"; ja: "br.ja"; jb: "br.jb"; jc: "br.jc"; jd: "br.jd"; je: "br.je"; jf: "br.jf"; jg: "br.jg"; jh: "br.jh"; ji: "br.ji"; jj: "br.jj"; jk: "br.jk"; jl: "br.jl"; jm: "br.jm"; jn: "br.jn"; jo: "br.jo"; jp: "br.jp"; jq: "br.jq"; jr: "br.jr"; js: "br.js"; jt: "br.jt"; ju: "br.ju"; jv: "br.jv"; jw: "br.jw"; jx: "br.jx"; jy: "br.jy"; jz: "br.jz"; ka: "br.ka"; kb: "br.kb"; kc: "br.kc"; kd: "br.kd"; ke: "br.ke"; kf: "br.kf"; kg: "br.kg"; kh: "br.kh"; ki: "br.ki"; kj: "br.kj"; kk: "br.kk"; kl: "br.kl"; km: "br.km"; kn: "br.kn"; ko: "br.ko"; kp: "br.kp"; kq: "br.kq"; kr: "br.kr"; ks: "br.ks"; kt: "br.kt"; ku: "br.ku"; kv: "br.kv"; kw: "br.kw"; kx: "br.kx"; ky: "br.ky"; kz: "br.kz"; la: "br.la"; lb: "br.lb"; lc: "br.lc"; ld: "br.ld"; le: "br.le"; lf: "br.lf"; lg: "br.lg"; lh: "br.lh"; li: "br.li"; lj: "br.lj"; lk: "br.lk"; ll: "br.ll"; lm: "br.lm"; ln: "br.ln"; lo: "br.lo"; lp: "br.lp"; lq: "br.lq"; lr: "br.lr"; ls: "br.ls"; lt: "br.lt"; lu: "br.lu"; lv: "br.lv"; lw: "br.lw"; lx: "br.lx"; ly: "br.ly"; lz: "br.lz"; ma: "br.ma"; mb: "br.mb"; mc: "br.mc"; md: "br.md"; me: "br.me"; mf: "br.mf"; mg: "br.mg"; mh: "br.mh"; mi: "br.mi"; mj: "br.mj"; mk: "br.mk"; ml: "br.ml"; mm: "br.mm"; mn: "br.mn"; mo: "br.mo"; mp: "br.mp"; mq: "br.mq"; mr: "br.mr"; ms: "br.ms"; mt: "br.mt"; mu: "br.mu"; mv: "br.mv"; mw: "br.mw"; mx: "br.mx"; my: "br.my"; mz: "br.mz"; na: "br.na"; nb: "br.nb"; nc: "br.nc"; nd: "br.nd"; ne: "br.ne"; nf: "br.nf"; ng: "br.ng"; nh: "br.nh"; ni: "br.ni"; nj: "br.nj"; nk: "br.nk"; nl: "br.nl"; nm: "br.nm"; nn: "br.nn"; no: "br.no"; np: "br.np"; nq: "br.nq"; nr: "br.nr"; ns: "br.ns"; nt: "br.nt"; nu: "br.nu"; nv: "br.nv"; nw: "br.nw"; nx: "br.nx"; ny: "br.ny"; nz: "br.nz"; oa: "br.oa"; ob: "br.ob"; oc: "br.oc"; od: "br.od"; oe: "br.oe"; of: "br.of"; og: "br.og"; oh: "br.oh"; oi: "br.oi"; oj: "br.oj"; ok: "br.ok"; ol: "br.ol"; om: "br.om"; on: "br.on"; oo: "br.oo"; op: "br.op"; oq: "br.oq"; or: "br.or"; os: "br.os"; ot: "br.ot"; ou: "br.ou"; ov: "br.ov"; ow: "br.ow"; ox: "br.ox"; oy: "br.oy"; oz: "br.oz"; pa: "br.pa"; pb: "br.pb"; pc: "br.pc"; pd: "br.pd"; pe: "br.pe"; pf: "br.pf"; pg: "br.pg"; ph: "br.ph"; pi: "br.pi"; pj: "br.pj"; pk: "br.pk"; pl: "br.pl"; pm: "br.pm"; pn: "br.pn"; po: "br.po"; pp: "br.pp"; pq: "br.pq"; pr: "br.pr"; ps: "br.ps"; pt: "br.pt"; pu: "br.pu"; pv: "br.pv"; pw: "br.pw"; px: "br.px"; py: "br.py"; pz: "br.pz"; qa: "br.qa"; qb: "br.qb"; qc: "br.qc"; qd: "br.qd"; qe: "br.qe"; qf: "br.qf"; qg: "br.qg"; qh: "br.qh"; qi: "br.qi"; qj: "br.qj"; qk: "br.qk"; ql: "br.ql"; qm: "br.qm"; qn: "br.qn"; qo: "br.qo"; qp: "br.qp"; qq: "br.qq"; qr: "br.qr"; qs: "br.qs"; qt: "br.qt"; qu: "br.qu"; qv: "br.qv"; qw: "br.qw"; qx: "br.qx"; qy: "br.qy"; qz: "br.qz"; ra: "br.ra"; rb: "br.rb"; rc: "br.rc"; rd: "br.rd"; re: "br.re"; rf: "br.rf"; rg: "br.rg"; rh: "br.rh"; ri: "br.ri"; rj: "br.rj"; rk: "br.rk"; rl: "br.rl"; rm: "br.rm"; rn: "br.rn"; ro: "br.ro"; rp: "br.rp"; rq: "br.rq"; rr: "br.rr"; rs: "br.rs"; rt: "br.rt"; ru: "br.ru"; rv: "br.rv"; rw: "br.rw"; rx: "br.rx"; ry: "br.ry"; rz: "br.rz"; sa: "br.sa"; sb: "br.sb"; sc: "br.sc"; sd: "br.sd"; se: "br.se"; sf: "br.sf"; sg: "br.sg"; sh: "br.sh"; si: "br.si"; sj: "br.sj"; sk: "br.sk"; sl: "br.sl"; sm: "br.sm"; sn: "br.sn"; so: "br.so"; sp: "br.sp"; sq: "br.sq"; sr: "br.sr"; ss: "br.ss"; st: "br.st"; su: "br.su"; sv: "br.sv"; sw: "br.sw"; sx: "br.sx"; sy: "br.sy"; sz: "br.sz"; ta: "br.ta"; tb: "br.tb"; tc: "br.tc"; td: "br.td"; te: "br.te"; tf: "br.tf"; tg: "br.tg"; th: "br.th"; ti: "br.ti"; tj: "br.tj"; tk: "br.tk"; tl: "br.tl"; tm: "br.tm"; tn: "br.tn"; to: "br.to"; tp: "br.tp"; tq: "br.tq"; tr: "br.tr"; ts: "br.ts"; tt: "br.tt"; tu: "br.tu"; tv: "br.tv"; tw: "br.tw"; tx: "br.tx"; ty: "br.ty"; tz: "br.tz"; ua: "br.ua"; ub: "br.ub"; uc: "br.uc"; ud: "br.ud"; ue: "br.ue"; uf: "br.uf"; ug: "br.ug"; uh: "br.uh"; ui: "br.ui"; uj: "br.uj"; uk: "br.uk"; ul: "br.ul"; um: "br.um"; un: "br.un"; uo: "br.uo"; up: "br.up"; uq: "br.uq"; ur: "br.ur"; us: "br.us"; ut: "br.ut"; uu: "br.uu"; uv: "br.uv"; uw: "br.uw"; ux: "br.ux"; uy: "br.uy"; uz: "br.uz"; va: "br.va"; vb: "br.vb"; vc: "br.vc"; vd: "br.vd"; ve: "br.ve"; vf: "br.vf"; vg: "br.vg"; vh: "br.vh"; vi: "br.vi"; vj: "br.vj"; vk: "br.vk"; vl: "br.vl"; vm: "br.vm"; vn: "br.vn"; vo: "br.vo"; vp: "br.vp"; vq: "br.vq"; vr: "br.vr"; vs: "br.vs"; vt: "br.vt"; vu: "br.vu"; vv: "br.vv"; vw: "br.vw"; vx: "br.vx"; vy: "br.vy"; vz: "br.vz"; wa: "br.wa"; wb: "br.wb"; wc: "br.wc"; wd: "br.wd"; we: "br.we"; wf: "br.wf"; wg: "br.wg"; wh: "br.wh"; wi: "br.wi"; wj: "br.wj"; wk: "br.wk"; wl: "br.wl"; wm: "br.wm"; wn: "br.wn"; wo: "br.wo"; wp: "br.wp"; wq: "br.wq"; wr: "br.wr"; ws: "br.ws"; wt: "br.wt"; wu: "br.wu"; wv: "br.wv"; ww: "br.ww"; wx: "br.wx"; wy: "br.wy"; wz: "br.wz"; xa: "br.xa"; xb: "br.xb"; xc: "br.xc"; xd: "br.xd"; xe: "br.xe"; xf: "br.xf"; xg: "br.xg"; xh: "br.xh"; xi: "br.xi"; xj: "br.xj"; xk: "br.xk"; xl: "br.xl"; xm: "br.xm"; xn: "br.xn"; xo: "br.xo"; xp: "br.xp"; xq: "br.xq"; xr: "br.xr"; xs: "br.xs"; xt: "br.xt"; xu: "br.xu"; xv: "br.xv"; xw: "br.xw"; xx: "br.xx"; xy: "br.xy"; xz: "br.xz"; ya: "br.ya"; yb: "br.yb"; yc: "br.yc"; yd: "br.yd"; ye: "br.ye"; yf: "br.yf"; yg: "br.yg"; yh: "br.yh"; yi: "br.yi"; yj: "br.yj"; yk: "br.yk"; yl: "br.yl"; ym: "br.ym"; yn: "br.yn"; yo: "br.yo"; yp: "br.yp"; yq: "br.yq"; yr: "br.yr"; ys: "br.ys"; yt: "br.yt"; yu: "br.yu"; yv: "br.yv"; yw: "br.yw"; yx: "br.yx"; yy: "br.yy"; yz: "br.yz"; za: "br.za"; zb: "br.zb"; zc: "br.zc"; zd: "br.zd"; ze: "br.ze"; zf: "br.zf"; zg: "br.zg"; zh: "br.zh"; zi: "br.zi"; zj: "br.zj"; zk: "br.zk"; zl: "br.zl"; zm: "br.zm"; zn: "br.zn"; zo: "br.zo"; zp: "br.zp"; zq: "br.zq"; zr: "br.zr"; zs: "br.zs"; zt: "br.zt"; zu: "br.zu"; zv: "br.zv"; zw: "br.zw"; zx: "br.zx"; zy: "br.zy"; zz: "br.zz"; }; bs: { aa: "bs.aa"; ab: "bs.ab"; ac: "bs.ac"; ad: "bs.ad"; ae: "bs.ae"; af: "bs.af"; ag: "bs.ag"; ah: "bs.ah"; ai: "bs.ai"; aj: "bs.aj"; ak: "bs.ak"; al: "bs.al"; am: "bs.am"; an: "bs.an"; ao: "bs.ao"; ap: "bs.ap"; aq: "bs.aq"; ar: "bs.ar"; as: "bs.as"; at: "bs.at"; au: "bs.au"; av: "bs.av"; aw: "bs.aw"; ax: "bs.ax"; ay: "bs.ay"; az: "bs.az"; ba: "bs.ba"; bb: "bs.bb"; bc: "bs.bc"; bd: "bs.bd"; be: "bs.be"; bf: "bs.bf"; bg: "bs.bg"; bh: "bs.bh"; bi: "bs.bi"; bj: "bs.bj"; bk: "bs.bk"; bl: "bs.bl"; bm: "bs.bm"; bn: "bs.bn"; bo: "bs.bo"; bp: "bs.bp"; bq: "bs.bq"; br: "bs.br"; bs: "bs.bs"; bt: "bs.bt"; bu: "bs.bu"; bv: "bs.bv"; bw: "bs.bw"; bx: "bs.bx"; by: "bs.by"; bz: "bs.bz"; ca: "bs.ca"; cb: "bs.cb"; cc: "bs.cc"; cd: "bs.cd"; ce: "bs.ce"; cf: "bs.cf"; cg: "bs.cg"; ch: "bs.ch"; ci: "bs.ci"; cj: "bs.cj"; ck: "bs.ck"; cl: "bs.cl"; cm: "bs.cm"; cn: "bs.cn"; co: "bs.co"; cp: "bs.cp"; cq: "bs.cq"; cr: "bs.cr"; cs: "bs.cs"; ct: "bs.ct"; cu: "bs.cu"; cv: "bs.cv"; cw: "bs.cw"; cx: "bs.cx"; cy: "bs.cy"; cz: "bs.cz"; da: "bs.da"; db: "bs.db"; dc: "bs.dc"; dd: "bs.dd"; de: "bs.de"; df: "bs.df"; dg: "bs.dg"; dh: "bs.dh"; di: "bs.di"; dj: "bs.dj"; dk: "bs.dk"; dl: "bs.dl"; dm: "bs.dm"; dn: "bs.dn"; do: "bs.do"; dp: "bs.dp"; dq: "bs.dq"; dr: "bs.dr"; ds: "bs.ds"; dt: "bs.dt"; du: "bs.du"; dv: "bs.dv"; dw: "bs.dw"; dx: "bs.dx"; dy: "bs.dy"; dz: "bs.dz"; ea: "bs.ea"; eb: "bs.eb"; ec: "bs.ec"; ed: "bs.ed"; ee: "bs.ee"; ef: "bs.ef"; eg: "bs.eg"; eh: "bs.eh"; ei: "bs.ei"; ej: "bs.ej"; ek: "bs.ek"; el: "bs.el"; em: "bs.em"; en: "bs.en"; eo: "bs.eo"; ep: "bs.ep"; eq: "bs.eq"; er: "bs.er"; es: "bs.es"; et: "bs.et"; eu: "bs.eu"; ev: "bs.ev"; ew: "bs.ew"; ex: "bs.ex"; ey: "bs.ey"; ez: "bs.ez"; fa: "bs.fa"; fb: "bs.fb"; fc: "bs.fc"; fd: "bs.fd"; fe: "bs.fe"; ff: "bs.ff"; fg: "bs.fg"; fh: "bs.fh"; fi: "bs.fi"; fj: "bs.fj"; fk: "bs.fk"; fl: "bs.fl"; fm: "bs.fm"; fn: "bs.fn"; fo: "bs.fo"; fp: "bs.fp"; fq: "bs.fq"; fr: "bs.fr"; fs: "bs.fs"; ft: "bs.ft"; fu: "bs.fu"; fv: "bs.fv"; fw: "bs.fw"; fx: "bs.fx"; fy: "bs.fy"; fz: "bs.fz"; ga: "bs.ga"; gb: "bs.gb"; gc: "bs.gc"; gd: "bs.gd"; ge: "bs.ge"; gf: "bs.gf"; gg: "bs.gg"; gh: "bs.gh"; gi: "bs.gi"; gj: "bs.gj"; gk: "bs.gk"; gl: "bs.gl"; gm: "bs.gm"; gn: "bs.gn"; go: "bs.go"; gp: "bs.gp"; gq: "bs.gq"; gr: "bs.gr"; gs: "bs.gs"; gt: "bs.gt"; gu: "bs.gu"; gv: "bs.gv"; gw: "bs.gw"; gx: "bs.gx"; gy: "bs.gy"; gz: "bs.gz"; ha: "bs.ha"; hb: "bs.hb"; hc: "bs.hc"; hd: "bs.hd"; he: "bs.he"; hf: "bs.hf"; hg: "bs.hg"; hh: "bs.hh"; hi: "bs.hi"; hj: "bs.hj"; hk: "bs.hk"; hl: "bs.hl"; hm: "bs.hm"; hn: "bs.hn"; ho: "bs.ho"; hp: "bs.hp"; hq: "bs.hq"; hr: "bs.hr"; hs: "bs.hs"; ht: "bs.ht"; hu: "bs.hu"; hv: "bs.hv"; hw: "bs.hw"; hx: "bs.hx"; hy: "bs.hy"; hz: "bs.hz"; ia: "bs.ia"; ib: "bs.ib"; ic: "bs.ic"; id: "bs.id"; ie: "bs.ie"; if: "bs.if"; ig: "bs.ig"; ih: "bs.ih"; ii: "bs.ii"; ij: "bs.ij"; ik: "bs.ik"; il: "bs.il"; im: "bs.im"; in: "bs.in"; io: "bs.io"; ip: "bs.ip"; iq: "bs.iq"; ir: "bs.ir"; is: "bs.is"; it: "bs.it"; iu: "bs.iu"; iv: "bs.iv"; iw: "bs.iw"; ix: "bs.ix"; iy: "bs.iy"; iz: "bs.iz"; ja: "bs.ja"; jb: "bs.jb"; jc: "bs.jc"; jd: "bs.jd"; je: "bs.je"; jf: "bs.jf"; jg: "bs.jg"; jh: "bs.jh"; ji: "bs.ji"; jj: "bs.jj"; jk: "bs.jk"; jl: "bs.jl"; jm: "bs.jm"; jn: "bs.jn"; jo: "bs.jo"; jp: "bs.jp"; jq: "bs.jq"; jr: "bs.jr"; js: "bs.js"; jt: "bs.jt"; ju: "bs.ju"; jv: "bs.jv"; jw: "bs.jw"; jx: "bs.jx"; jy: "bs.jy"; jz: "bs.jz"; ka: "bs.ka"; kb: "bs.kb"; kc: "bs.kc"; kd: "bs.kd"; ke: "bs.ke"; kf: "bs.kf"; kg: "bs.kg"; kh: "bs.kh"; ki: "bs.ki"; kj: "bs.kj"; kk: "bs.kk"; kl: "bs.kl"; km: "bs.km"; kn: "bs.kn"; ko: "bs.ko"; kp: "bs.kp"; kq: "bs.kq"; kr: "bs.kr"; ks: "bs.ks"; kt: "bs.kt"; ku: "bs.ku"; kv: "bs.kv"; kw: "bs.kw"; kx: "bs.kx"; ky: "bs.ky"; kz: "bs.kz"; la: "bs.la"; lb: "bs.lb"; lc: "bs.lc"; ld: "bs.ld"; le: "bs.le"; lf: "bs.lf"; lg: "bs.lg"; lh: "bs.lh"; li: "bs.li"; lj: "bs.lj"; lk: "bs.lk"; ll: "bs.ll"; lm: "bs.lm"; ln: "bs.ln"; lo: "bs.lo"; lp: "bs.lp"; lq: "bs.lq"; lr: "bs.lr"; ls: "bs.ls"; lt: "bs.lt"; lu: "bs.lu"; lv: "bs.lv"; lw: "bs.lw"; lx: "bs.lx"; ly: "bs.ly"; lz: "bs.lz"; ma: "bs.ma"; mb: "bs.mb"; mc: "bs.mc"; md: "bs.md"; me: "bs.me"; mf: "bs.mf"; mg: "bs.mg"; mh: "bs.mh"; mi: "bs.mi"; mj: "bs.mj"; mk: "bs.mk"; ml: "bs.ml"; mm: "bs.mm"; mn: "bs.mn"; mo: "bs.mo"; mp: "bs.mp"; mq: "bs.mq"; mr: "bs.mr"; ms: "bs.ms"; mt: "bs.mt"; mu: "bs.mu"; mv: "bs.mv"; mw: "bs.mw"; mx: "bs.mx"; my: "bs.my"; mz: "bs.mz"; na: "bs.na"; nb: "bs.nb"; nc: "bs.nc"; nd: "bs.nd"; ne: "bs.ne"; nf: "bs.nf"; ng: "bs.ng"; nh: "bs.nh"; ni: "bs.ni"; nj: "bs.nj"; nk: "bs.nk"; nl: "bs.nl"; nm: "bs.nm"; nn: "bs.nn"; no: "bs.no"; np: "bs.np"; nq: "bs.nq"; nr: "bs.nr"; ns: "bs.ns"; nt: "bs.nt"; nu: "bs.nu"; nv: "bs.nv"; nw: "bs.nw"; nx: "bs.nx"; ny: "bs.ny"; nz: "bs.nz"; oa: "bs.oa"; ob: "bs.ob"; oc: "bs.oc"; od: "bs.od"; oe: "bs.oe"; of: "bs.of"; og: "bs.og"; oh: "bs.oh"; oi: "bs.oi"; oj: "bs.oj"; ok: "bs.ok"; ol: "bs.ol"; om: "bs.om"; on: "bs.on"; oo: "bs.oo"; op: "bs.op"; oq: "bs.oq"; or: "bs.or"; os: "bs.os"; ot: "bs.ot"; ou: "bs.ou"; ov: "bs.ov"; ow: "bs.ow"; ox: "bs.ox"; oy: "bs.oy"; oz: "bs.oz"; pa: "bs.pa"; pb: "bs.pb"; pc: "bs.pc"; pd: "bs.pd"; pe: "bs.pe"; pf: "bs.pf"; pg: "bs.pg"; ph: "bs.ph"; pi: "bs.pi"; pj: "bs.pj"; pk: "bs.pk"; pl: "bs.pl"; pm: "bs.pm"; pn: "bs.pn"; po: "bs.po"; pp: "bs.pp"; pq: "bs.pq"; pr: "bs.pr"; ps: "bs.ps"; pt: "bs.pt"; pu: "bs.pu"; pv: "bs.pv"; pw: "bs.pw"; px: "bs.px"; py: "bs.py"; pz: "bs.pz"; qa: "bs.qa"; qb: "bs.qb"; qc: "bs.qc"; qd: "bs.qd"; qe: "bs.qe"; qf: "bs.qf"; qg: "bs.qg"; qh: "bs.qh"; qi: "bs.qi"; qj: "bs.qj"; qk: "bs.qk"; ql: "bs.ql"; qm: "bs.qm"; qn: "bs.qn"; qo: "bs.qo"; qp: "bs.qp"; qq: "bs.qq"; qr: "bs.qr"; qs: "bs.qs"; qt: "bs.qt"; qu: "bs.qu"; qv: "bs.qv"; qw: "bs.qw"; qx: "bs.qx"; qy: "bs.qy"; qz: "bs.qz"; ra: "bs.ra"; rb: "bs.rb"; rc: "bs.rc"; rd: "bs.rd"; re: "bs.re"; rf: "bs.rf"; rg: "bs.rg"; rh: "bs.rh"; ri: "bs.ri"; rj: "bs.rj"; rk: "bs.rk"; rl: "bs.rl"; rm: "bs.rm"; rn: "bs.rn"; ro: "bs.ro"; rp: "bs.rp"; rq: "bs.rq"; rr: "bs.rr"; rs: "bs.rs"; rt: "bs.rt"; ru: "bs.ru"; rv: "bs.rv"; rw: "bs.rw"; rx: "bs.rx"; ry: "bs.ry"; rz: "bs.rz"; sa: "bs.sa"; sb: "bs.sb"; sc: "bs.sc"; sd: "bs.sd"; se: "bs.se"; sf: "bs.sf"; sg: "bs.sg"; sh: "bs.sh"; si: "bs.si"; sj: "bs.sj"; sk: "bs.sk"; sl: "bs.sl"; sm: "bs.sm"; sn: "bs.sn"; so: "bs.so"; sp: "bs.sp"; sq: "bs.sq"; sr: "bs.sr"; ss: "bs.ss"; st: "bs.st"; su: "bs.su"; sv: "bs.sv"; sw: "bs.sw"; sx: "bs.sx"; sy: "bs.sy"; sz: "bs.sz"; ta: "bs.ta"; tb: "bs.tb"; tc: "bs.tc"; td: "bs.td"; te: "bs.te"; tf: "bs.tf"; tg: "bs.tg"; th: "bs.th"; ti: "bs.ti"; tj: "bs.tj"; tk: "bs.tk"; tl: "bs.tl"; tm: "bs.tm"; tn: "bs.tn"; to: "bs.to"; tp: "bs.tp"; tq: "bs.tq"; tr: "bs.tr"; ts: "bs.ts"; tt: "bs.tt"; tu: "bs.tu"; tv: "bs.tv"; tw: "bs.tw"; tx: "bs.tx"; ty: "bs.ty"; tz: "bs.tz"; ua: "bs.ua"; ub: "bs.ub"; uc: "bs.uc"; ud: "bs.ud"; ue: "bs.ue"; uf: "bs.uf"; ug: "bs.ug"; uh: "bs.uh"; ui: "bs.ui"; uj: "bs.uj"; uk: "bs.uk"; ul: "bs.ul"; um: "bs.um"; un: "bs.un"; uo: "bs.uo"; up: "bs.up"; uq: "bs.uq"; ur: "bs.ur"; us: "bs.us"; ut: "bs.ut"; uu: "bs.uu"; uv: "bs.uv"; uw: "bs.uw"; ux: "bs.ux"; uy: "bs.uy"; uz: "bs.uz"; va: "bs.va"; vb: "bs.vb"; vc: "bs.vc"; vd: "bs.vd"; ve: "bs.ve"; vf: "bs.vf"; vg: "bs.vg"; vh: "bs.vh"; vi: "bs.vi"; vj: "bs.vj"; vk: "bs.vk"; vl: "bs.vl"; vm: "bs.vm"; vn: "bs.vn"; vo: "bs.vo"; vp: "bs.vp"; vq: "bs.vq"; vr: "bs.vr"; vs: "bs.vs"; vt: "bs.vt"; vu: "bs.vu"; vv: "bs.vv"; vw: "bs.vw"; vx: "bs.vx"; vy: "bs.vy"; vz: "bs.vz"; wa: "bs.wa"; wb: "bs.wb"; wc: "bs.wc"; wd: "bs.wd"; we: "bs.we"; wf: "bs.wf"; wg: "bs.wg"; wh: "bs.wh"; wi: "bs.wi"; wj: "bs.wj"; wk: "bs.wk"; wl: "bs.wl"; wm: "bs.wm"; wn: "bs.wn"; wo: "bs.wo"; wp: "bs.wp"; wq: "bs.wq"; wr: "bs.wr"; ws: "bs.ws"; wt: "bs.wt"; wu: "bs.wu"; wv: "bs.wv"; ww: "bs.ww"; wx: "bs.wx"; wy: "bs.wy"; wz: "bs.wz"; xa: "bs.xa"; xb: "bs.xb"; xc: "bs.xc"; xd: "bs.xd"; xe: "bs.xe"; xf: "bs.xf"; xg: "bs.xg"; xh: "bs.xh"; xi: "bs.xi"; xj: "bs.xj"; xk: "bs.xk"; xl: "bs.xl"; xm: "bs.xm"; xn: "bs.xn"; xo: "bs.xo"; xp: "bs.xp"; xq: "bs.xq"; xr: "bs.xr"; xs: "bs.xs"; xt: "bs.xt"; xu: "bs.xu"; xv: "bs.xv"; xw: "bs.xw"; xx: "bs.xx"; xy: "bs.xy"; xz: "bs.xz"; ya: "bs.ya"; yb: "bs.yb"; yc: "bs.yc"; yd: "bs.yd"; ye: "bs.ye"; yf: "bs.yf"; yg: "bs.yg"; yh: "bs.yh"; yi: "bs.yi"; yj: "bs.yj"; yk: "bs.yk"; yl: "bs.yl"; ym: "bs.ym"; yn: "bs.yn"; yo: "bs.yo"; yp: "bs.yp"; yq: "bs.yq"; yr: "bs.yr"; ys: "bs.ys"; yt: "bs.yt"; yu: "bs.yu"; yv: "bs.yv"; yw: "bs.yw"; yx: "bs.yx"; yy: "bs.yy"; yz: "bs.yz"; za: "bs.za"; zb: "bs.zb"; zc: "bs.zc"; zd: "bs.zd"; ze: "bs.ze"; zf: "bs.zf"; zg: "bs.zg"; zh: "bs.zh"; zi: "bs.zi"; zj: "bs.zj"; zk: "bs.zk"; zl: "bs.zl"; zm: "bs.zm"; zn: "bs.zn"; zo: "bs.zo"; zp: "bs.zp"; zq: "bs.zq"; zr: "bs.zr"; zs: "bs.zs"; zt: "bs.zt"; zu: "bs.zu"; zv: "bs.zv"; zw: "bs.zw"; zx: "bs.zx"; zy: "bs.zy"; zz: "bs.zz"; }; bt: { aa: "bt.aa"; ab: "bt.ab"; ac: "bt.ac"; ad: "bt.ad"; ae: "bt.ae"; af: "bt.af"; ag: "bt.ag"; ah: "bt.ah"; ai: "bt.ai"; aj: "bt.aj"; ak: "bt.ak"; al: "bt.al"; am: "bt.am"; an: "bt.an"; ao: "bt.ao"; ap: "bt.ap"; aq: "bt.aq"; ar: "bt.ar"; as: "bt.as"; at: "bt.at"; au: "bt.au"; av: "bt.av"; aw: "bt.aw"; ax: "bt.ax"; ay: "bt.ay"; az: "bt.az"; ba: "bt.ba"; bb: "bt.bb"; bc: "bt.bc"; bd: "bt.bd"; be: "bt.be"; bf: "bt.bf"; bg: "bt.bg"; bh: "bt.bh"; bi: "bt.bi"; bj: "bt.bj"; bk: "bt.bk"; bl: "bt.bl"; bm: "bt.bm"; bn: "bt.bn"; bo: "bt.bo"; bp: "bt.bp"; bq: "bt.bq"; br: "bt.br"; bs: "bt.bs"; bt: "bt.bt"; bu: "bt.bu"; bv: "bt.bv"; bw: "bt.bw"; bx: "bt.bx"; by: "bt.by"; bz: "bt.bz"; ca: "bt.ca"; cb: "bt.cb"; cc: "bt.cc"; cd: "bt.cd"; ce: "bt.ce"; cf: "bt.cf"; cg: "bt.cg"; ch: "bt.ch"; ci: "bt.ci"; cj: "bt.cj"; ck: "bt.ck"; cl: "bt.cl"; cm: "bt.cm"; cn: "bt.cn"; co: "bt.co"; cp: "bt.cp"; cq: "bt.cq"; cr: "bt.cr"; cs: "bt.cs"; ct: "bt.ct"; cu: "bt.cu"; cv: "bt.cv"; cw: "bt.cw"; cx: "bt.cx"; cy: "bt.cy"; cz: "bt.cz"; da: "bt.da"; db: "bt.db"; dc: "bt.dc"; dd: "bt.dd"; de: "bt.de"; df: "bt.df"; dg: "bt.dg"; dh: "bt.dh"; di: "bt.di"; dj: "bt.dj"; dk: "bt.dk"; dl: "bt.dl"; dm: "bt.dm"; dn: "bt.dn"; do: "bt.do"; dp: "bt.dp"; dq: "bt.dq"; dr: "bt.dr"; ds: "bt.ds"; dt: "bt.dt"; du: "bt.du"; dv: "bt.dv"; dw: "bt.dw"; dx: "bt.dx"; dy: "bt.dy"; dz: "bt.dz"; ea: "bt.ea"; eb: "bt.eb"; ec: "bt.ec"; ed: "bt.ed"; ee: "bt.ee"; ef: "bt.ef"; eg: "bt.eg"; eh: "bt.eh"; ei: "bt.ei"; ej: "bt.ej"; ek: "bt.ek"; el: "bt.el"; em: "bt.em"; en: "bt.en"; eo: "bt.eo"; ep: "bt.ep"; eq: "bt.eq"; er: "bt.er"; es: "bt.es"; et: "bt.et"; eu: "bt.eu"; ev: "bt.ev"; ew: "bt.ew"; ex: "bt.ex"; ey: "bt.ey"; ez: "bt.ez"; fa: "bt.fa"; fb: "bt.fb"; fc: "bt.fc"; fd: "bt.fd"; fe: "bt.fe"; ff: "bt.ff"; fg: "bt.fg"; fh: "bt.fh"; fi: "bt.fi"; fj: "bt.fj"; fk: "bt.fk"; fl: "bt.fl"; fm: "bt.fm"; fn: "bt.fn"; fo: "bt.fo"; fp: "bt.fp"; fq: "bt.fq"; fr: "bt.fr"; fs: "bt.fs"; ft: "bt.ft"; fu: "bt.fu"; fv: "bt.fv"; fw: "bt.fw"; fx: "bt.fx"; fy: "bt.fy"; fz: "bt.fz"; ga: "bt.ga"; gb: "bt.gb"; gc: "bt.gc"; gd: "bt.gd"; ge: "bt.ge"; gf: "bt.gf"; gg: "bt.gg"; gh: "bt.gh"; gi: "bt.gi"; gj: "bt.gj"; gk: "bt.gk"; gl: "bt.gl"; gm: "bt.gm"; gn: "bt.gn"; go: "bt.go"; gp: "bt.gp"; gq: "bt.gq"; gr: "bt.gr"; gs: "bt.gs"; gt: "bt.gt"; gu: "bt.gu"; gv: "bt.gv"; gw: "bt.gw"; gx: "bt.gx"; gy: "bt.gy"; gz: "bt.gz"; ha: "bt.ha"; hb: "bt.hb"; hc: "bt.hc"; hd: "bt.hd"; he: "bt.he"; hf: "bt.hf"; hg: "bt.hg"; hh: "bt.hh"; hi: "bt.hi"; hj: "bt.hj"; hk: "bt.hk"; hl: "bt.hl"; hm: "bt.hm"; hn: "bt.hn"; ho: "bt.ho"; hp: "bt.hp"; hq: "bt.hq"; hr: "bt.hr"; hs: "bt.hs"; ht: "bt.ht"; hu: "bt.hu"; hv: "bt.hv"; hw: "bt.hw"; hx: "bt.hx"; hy: "bt.hy"; hz: "bt.hz"; ia: "bt.ia"; ib: "bt.ib"; ic: "bt.ic"; id: "bt.id"; ie: "bt.ie"; if: "bt.if"; ig: "bt.ig"; ih: "bt.ih"; ii: "bt.ii"; ij: "bt.ij"; ik: "bt.ik"; il: "bt.il"; im: "bt.im"; in: "bt.in"; io: "bt.io"; ip: "bt.ip"; iq: "bt.iq"; ir: "bt.ir"; is: "bt.is"; it: "bt.it"; iu: "bt.iu"; iv: "bt.iv"; iw: "bt.iw"; ix: "bt.ix"; iy: "bt.iy"; iz: "bt.iz"; ja: "bt.ja"; jb: "bt.jb"; jc: "bt.jc"; jd: "bt.jd"; je: "bt.je"; jf: "bt.jf"; jg: "bt.jg"; jh: "bt.jh"; ji: "bt.ji"; jj: "bt.jj"; jk: "bt.jk"; jl: "bt.jl"; jm: "bt.jm"; jn: "bt.jn"; jo: "bt.jo"; jp: "bt.jp"; jq: "bt.jq"; jr: "bt.jr"; js: "bt.js"; jt: "bt.jt"; ju: "bt.ju"; jv: "bt.jv"; jw: "bt.jw"; jx: "bt.jx"; jy: "bt.jy"; jz: "bt.jz"; ka: "bt.ka"; kb: "bt.kb"; kc: "bt.kc"; kd: "bt.kd"; ke: "bt.ke"; kf: "bt.kf"; kg: "bt.kg"; kh: "bt.kh"; ki: "bt.ki"; kj: "bt.kj"; kk: "bt.kk"; kl: "bt.kl"; km: "bt.km"; kn: "bt.kn"; ko: "bt.ko"; kp: "bt.kp"; kq: "bt.kq"; kr: "bt.kr"; ks: "bt.ks"; kt: "bt.kt"; ku: "bt.ku"; kv: "bt.kv"; kw: "bt.kw"; kx: "bt.kx"; ky: "bt.ky"; kz: "bt.kz"; la: "bt.la"; lb: "bt.lb"; lc: "bt.lc"; ld: "bt.ld"; le: "bt.le"; lf: "bt.lf"; lg: "bt.lg"; lh: "bt.lh"; li: "bt.li"; lj: "bt.lj"; lk: "bt.lk"; ll: "bt.ll"; lm: "bt.lm"; ln: "bt.ln"; lo: "bt.lo"; lp: "bt.lp"; lq: "bt.lq"; lr: "bt.lr"; ls: "bt.ls"; lt: "bt.lt"; lu: "bt.lu"; lv: "bt.lv"; lw: "bt.lw"; lx: "bt.lx"; ly: "bt.ly"; lz: "bt.lz"; ma: "bt.ma"; mb: "bt.mb"; mc: "bt.mc"; md: "bt.md"; me: "bt.me"; mf: "bt.mf"; mg: "bt.mg"; mh: "bt.mh"; mi: "bt.mi"; mj: "bt.mj"; mk: "bt.mk"; ml: "bt.ml"; mm: "bt.mm"; mn: "bt.mn"; mo: "bt.mo"; mp: "bt.mp"; mq: "bt.mq"; mr: "bt.mr"; ms: "bt.ms"; mt: "bt.mt"; mu: "bt.mu"; mv: "bt.mv"; mw: "bt.mw"; mx: "bt.mx"; my: "bt.my"; mz: "bt.mz"; na: "bt.na"; nb: "bt.nb"; nc: "bt.nc"; nd: "bt.nd"; ne: "bt.ne"; nf: "bt.nf"; ng: "bt.ng"; nh: "bt.nh"; ni: "bt.ni"; nj: "bt.nj"; nk: "bt.nk"; nl: "bt.nl"; nm: "bt.nm"; nn: "bt.nn"; no: "bt.no"; np: "bt.np"; nq: "bt.nq"; nr: "bt.nr"; ns: "bt.ns"; nt: "bt.nt"; nu: "bt.nu"; nv: "bt.nv"; nw: "bt.nw"; nx: "bt.nx"; ny: "bt.ny"; nz: "bt.nz"; oa: "bt.oa"; ob: "bt.ob"; oc: "bt.oc"; od: "bt.od"; oe: "bt.oe"; of: "bt.of"; og: "bt.og"; oh: "bt.oh"; oi: "bt.oi"; oj: "bt.oj"; ok: "bt.ok"; ol: "bt.ol"; om: "bt.om"; on: "bt.on"; oo: "bt.oo"; op: "bt.op"; oq: "bt.oq"; or: "bt.or"; os: "bt.os"; ot: "bt.ot"; ou: "bt.ou"; ov: "bt.ov"; ow: "bt.ow"; ox: "bt.ox"; oy: "bt.oy"; oz: "bt.oz"; pa: "bt.pa"; pb: "bt.pb"; pc: "bt.pc"; pd: "bt.pd"; pe: "bt.pe"; pf: "bt.pf"; pg: "bt.pg"; ph: "bt.ph"; pi: "bt.pi"; pj: "bt.pj"; pk: "bt.pk"; pl: "bt.pl"; pm: "bt.pm"; pn: "bt.pn"; po: "bt.po"; pp: "bt.pp"; pq: "bt.pq"; pr: "bt.pr"; ps: "bt.ps"; pt: "bt.pt"; pu: "bt.pu"; pv: "bt.pv"; pw: "bt.pw"; px: "bt.px"; py: "bt.py"; pz: "bt.pz"; qa: "bt.qa"; qb: "bt.qb"; qc: "bt.qc"; qd: "bt.qd"; qe: "bt.qe"; qf: "bt.qf"; qg: "bt.qg"; qh: "bt.qh"; qi: "bt.qi"; qj: "bt.qj"; qk: "bt.qk"; ql: "bt.ql"; qm: "bt.qm"; qn: "bt.qn"; qo: "bt.qo"; qp: "bt.qp"; qq: "bt.qq"; qr: "bt.qr"; qs: "bt.qs"; qt: "bt.qt"; qu: "bt.qu"; qv: "bt.qv"; qw: "bt.qw"; qx: "bt.qx"; qy: "bt.qy"; qz: "bt.qz"; ra: "bt.ra"; rb: "bt.rb"; rc: "bt.rc"; rd: "bt.rd"; re: "bt.re"; rf: "bt.rf"; rg: "bt.rg"; rh: "bt.rh"; ri: "bt.ri"; rj: "bt.rj"; rk: "bt.rk"; rl: "bt.rl"; rm: "bt.rm"; rn: "bt.rn"; ro: "bt.ro"; rp: "bt.rp"; rq: "bt.rq"; rr: "bt.rr"; rs: "bt.rs"; rt: "bt.rt"; ru: "bt.ru"; rv: "bt.rv"; rw: "bt.rw"; rx: "bt.rx"; ry: "bt.ry"; rz: "bt.rz"; sa: "bt.sa"; sb: "bt.sb"; sc: "bt.sc"; sd: "bt.sd"; se: "bt.se"; sf: "bt.sf"; sg: "bt.sg"; sh: "bt.sh"; si: "bt.si"; sj: "bt.sj"; sk: "bt.sk"; sl: "bt.sl"; sm: "bt.sm"; sn: "bt.sn"; so: "bt.so"; sp: "bt.sp"; sq: "bt.sq"; sr: "bt.sr"; ss: "bt.ss"; st: "bt.st"; su: "bt.su"; sv: "bt.sv"; sw: "bt.sw"; sx: "bt.sx"; sy: "bt.sy"; sz: "bt.sz"; ta: "bt.ta"; tb: "bt.tb"; tc: "bt.tc"; td: "bt.td"; te: "bt.te"; tf: "bt.tf"; tg: "bt.tg"; th: "bt.th"; ti: "bt.ti"; tj: "bt.tj"; tk: "bt.tk"; tl: "bt.tl"; tm: "bt.tm"; tn: "bt.tn"; to: "bt.to"; tp: "bt.tp"; tq: "bt.tq"; tr: "bt.tr"; ts: "bt.ts"; tt: "bt.tt"; tu: "bt.tu"; tv: "bt.tv"; tw: "bt.tw"; tx: "bt.tx"; ty: "bt.ty"; tz: "bt.tz"; ua: "bt.ua"; ub: "bt.ub"; uc: "bt.uc"; ud: "bt.ud"; ue: "bt.ue"; uf: "bt.uf"; ug: "bt.ug"; uh: "bt.uh"; ui: "bt.ui"; uj: "bt.uj"; uk: "bt.uk"; ul: "bt.ul"; um: "bt.um"; un: "bt.un"; uo: "bt.uo"; up: "bt.up"; uq: "bt.uq"; ur: "bt.ur"; us: "bt.us"; ut: "bt.ut"; uu: "bt.uu"; uv: "bt.uv"; uw: "bt.uw"; ux: "bt.ux"; uy: "bt.uy"; uz: "bt.uz"; va: "bt.va"; vb: "bt.vb"; vc: "bt.vc"; vd: "bt.vd"; ve: "bt.ve"; vf: "bt.vf"; vg: "bt.vg"; vh: "bt.vh"; vi: "bt.vi"; vj: "bt.vj"; vk: "bt.vk"; vl: "bt.vl"; vm: "bt.vm"; vn: "bt.vn"; vo: "bt.vo"; vp: "bt.vp"; vq: "bt.vq"; vr: "bt.vr"; vs: "bt.vs"; vt: "bt.vt"; vu: "bt.vu"; vv: "bt.vv"; vw: "bt.vw"; vx: "bt.vx"; vy: "bt.vy"; vz: "bt.vz"; wa: "bt.wa"; wb: "bt.wb"; wc: "bt.wc"; wd: "bt.wd"; we: "bt.we"; wf: "bt.wf"; wg: "bt.wg"; wh: "bt.wh"; wi: "bt.wi"; wj: "bt.wj"; wk: "bt.wk"; wl: "bt.wl"; wm: "bt.wm"; wn: "bt.wn"; wo: "bt.wo"; wp: "bt.wp"; wq: "bt.wq"; wr: "bt.wr"; ws: "bt.ws"; wt: "bt.wt"; wu: "bt.wu"; wv: "bt.wv"; ww: "bt.ww"; wx: "bt.wx"; wy: "bt.wy"; wz: "bt.wz"; xa: "bt.xa"; xb: "bt.xb"; xc: "bt.xc"; xd: "bt.xd"; xe: "bt.xe"; xf: "bt.xf"; xg: "bt.xg"; xh: "bt.xh"; xi: "bt.xi"; xj: "bt.xj"; xk: "bt.xk"; xl: "bt.xl"; xm: "bt.xm"; xn: "bt.xn"; xo: "bt.xo"; xp: "bt.xp"; xq: "bt.xq"; xr: "bt.xr"; xs: "bt.xs"; xt: "bt.xt"; xu: "bt.xu"; xv: "bt.xv"; xw: "bt.xw"; xx: "bt.xx"; xy: "bt.xy"; xz: "bt.xz"; ya: "bt.ya"; yb: "bt.yb"; yc: "bt.yc"; yd: "bt.yd"; ye: "bt.ye"; yf: "bt.yf"; yg: "bt.yg"; yh: "bt.yh"; yi: "bt.yi"; yj: "bt.yj"; yk: "bt.yk"; yl: "bt.yl"; ym: "bt.ym"; yn: "bt.yn"; yo: "bt.yo"; yp: "bt.yp"; yq: "bt.yq"; yr: "bt.yr"; ys: "bt.ys"; yt: "bt.yt"; yu: "bt.yu"; yv: "bt.yv"; yw: "bt.yw"; yx: "bt.yx"; yy: "bt.yy"; yz: "bt.yz"; za: "bt.za"; zb: "bt.zb"; zc: "bt.zc"; zd: "bt.zd"; ze: "bt.ze"; zf: "bt.zf"; zg: "bt.zg"; zh: "bt.zh"; zi: "bt.zi"; zj: "bt.zj"; zk: "bt.zk"; zl: "bt.zl"; zm: "bt.zm"; zn: "bt.zn"; zo: "bt.zo"; zp: "bt.zp"; zq: "bt.zq"; zr: "bt.zr"; zs: "bt.zs"; zt: "bt.zt"; zu: "bt.zu"; zv: "bt.zv"; zw: "bt.zw"; zx: "bt.zx"; zy: "bt.zy"; zz: "bt.zz"; }; bu: { aa: "bu.aa"; ab: "bu.ab"; ac: "bu.ac"; ad: "bu.ad"; ae: "bu.ae"; af: "bu.af"; ag: "bu.ag"; ah: "bu.ah"; ai: "bu.ai"; aj: "bu.aj"; ak: "bu.ak"; al: "bu.al"; am: "bu.am"; an: "bu.an"; ao: "bu.ao"; ap: "bu.ap"; aq: "bu.aq"; ar: "bu.ar"; as: "bu.as"; at: "bu.at"; au: "bu.au"; av: "bu.av"; aw: "bu.aw"; ax: "bu.ax"; ay: "bu.ay"; az: "bu.az"; ba: "bu.ba"; bb: "bu.bb"; bc: "bu.bc"; bd: "bu.bd"; be: "bu.be"; bf: "bu.bf"; bg: "bu.bg"; bh: "bu.bh"; bi: "bu.bi"; bj: "bu.bj"; bk: "bu.bk"; bl: "bu.bl"; bm: "bu.bm"; bn: "bu.bn"; bo: "bu.bo"; bp: "bu.bp"; bq: "bu.bq"; br: "bu.br"; bs: "bu.bs"; bt: "bu.bt"; bu: "bu.bu"; bv: "bu.bv"; bw: "bu.bw"; bx: "bu.bx"; by: "bu.by"; bz: "bu.bz"; ca: "bu.ca"; cb: "bu.cb"; cc: "bu.cc"; cd: "bu.cd"; ce: "bu.ce"; cf: "bu.cf"; cg: "bu.cg"; ch: "bu.ch"; ci: "bu.ci"; cj: "bu.cj"; ck: "bu.ck"; cl: "bu.cl"; cm: "bu.cm"; cn: "bu.cn"; co: "bu.co"; cp: "bu.cp"; cq: "bu.cq"; cr: "bu.cr"; cs: "bu.cs"; ct: "bu.ct"; cu: "bu.cu"; cv: "bu.cv"; cw: "bu.cw"; cx: "bu.cx"; cy: "bu.cy"; cz: "bu.cz"; da: "bu.da"; db: "bu.db"; dc: "bu.dc"; dd: "bu.dd"; de: "bu.de"; df: "bu.df"; dg: "bu.dg"; dh: "bu.dh"; di: "bu.di"; dj: "bu.dj"; dk: "bu.dk"; dl: "bu.dl"; dm: "bu.dm"; dn: "bu.dn"; do: "bu.do"; dp: "bu.dp"; dq: "bu.dq"; dr: "bu.dr"; ds: "bu.ds"; dt: "bu.dt"; du: "bu.du"; dv: "bu.dv"; dw: "bu.dw"; dx: "bu.dx"; dy: "bu.dy"; dz: "bu.dz"; ea: "bu.ea"; eb: "bu.eb"; ec: "bu.ec"; ed: "bu.ed"; ee: "bu.ee"; ef: "bu.ef"; eg: "bu.eg"; eh: "bu.eh"; ei: "bu.ei"; ej: "bu.ej"; ek: "bu.ek"; el: "bu.el"; em: "bu.em"; en: "bu.en"; eo: "bu.eo"; ep: "bu.ep"; eq: "bu.eq"; er: "bu.er"; es: "bu.es"; et: "bu.et"; eu: "bu.eu"; ev: "bu.ev"; ew: "bu.ew"; ex: "bu.ex"; ey: "bu.ey"; ez: "bu.ez"; fa: "bu.fa"; fb: "bu.fb"; fc: "bu.fc"; fd: "bu.fd"; fe: "bu.fe"; ff: "bu.ff"; fg: "bu.fg"; fh: "bu.fh"; fi: "bu.fi"; fj: "bu.fj"; fk: "bu.fk"; fl: "bu.fl"; fm: "bu.fm"; fn: "bu.fn"; fo: "bu.fo"; fp: "bu.fp"; fq: "bu.fq"; fr: "bu.fr"; fs: "bu.fs"; ft: "bu.ft"; fu: "bu.fu"; fv: "bu.fv"; fw: "bu.fw"; fx: "bu.fx"; fy: "bu.fy"; fz: "bu.fz"; ga: "bu.ga"; gb: "bu.gb"; gc: "bu.gc"; gd: "bu.gd"; ge: "bu.ge"; gf: "bu.gf"; gg: "bu.gg"; gh: "bu.gh"; gi: "bu.gi"; gj: "bu.gj"; gk: "bu.gk"; gl: "bu.gl"; gm: "bu.gm"; gn: "bu.gn"; go: "bu.go"; gp: "bu.gp"; gq: "bu.gq"; gr: "bu.gr"; gs: "bu.gs"; gt: "bu.gt"; gu: "bu.gu"; gv: "bu.gv"; gw: "bu.gw"; gx: "bu.gx"; gy: "bu.gy"; gz: "bu.gz"; ha: "bu.ha"; hb: "bu.hb"; hc: "bu.hc"; hd: "bu.hd"; he: "bu.he"; hf: "bu.hf"; hg: "bu.hg"; hh: "bu.hh"; hi: "bu.hi"; hj: "bu.hj"; hk: "bu.hk"; hl: "bu.hl"; hm: "bu.hm"; hn: "bu.hn"; ho: "bu.ho"; hp: "bu.hp"; hq: "bu.hq"; hr: "bu.hr"; hs: "bu.hs"; ht: "bu.ht"; hu: "bu.hu"; hv: "bu.hv"; hw: "bu.hw"; hx: "bu.hx"; hy: "bu.hy"; hz: "bu.hz"; ia: "bu.ia"; ib: "bu.ib"; ic: "bu.ic"; id: "bu.id"; ie: "bu.ie"; if: "bu.if"; ig: "bu.ig"; ih: "bu.ih"; ii: "bu.ii"; ij: "bu.ij"; ik: "bu.ik"; il: "bu.il"; im: "bu.im"; in: "bu.in"; io: "bu.io"; ip: "bu.ip"; iq: "bu.iq"; ir: "bu.ir"; is: "bu.is"; it: "bu.it"; iu: "bu.iu"; iv: "bu.iv"; iw: "bu.iw"; ix: "bu.ix"; iy: "bu.iy"; iz: "bu.iz"; ja: "bu.ja"; jb: "bu.jb"; jc: "bu.jc"; jd: "bu.jd"; je: "bu.je"; jf: "bu.jf"; jg: "bu.jg"; jh: "bu.jh"; ji: "bu.ji"; jj: "bu.jj"; jk: "bu.jk"; jl: "bu.jl"; jm: "bu.jm"; jn: "bu.jn"; jo: "bu.jo"; jp: "bu.jp"; jq: "bu.jq"; jr: "bu.jr"; js: "bu.js"; jt: "bu.jt"; ju: "bu.ju"; jv: "bu.jv"; jw: "bu.jw"; jx: "bu.jx"; jy: "bu.jy"; jz: "bu.jz"; ka: "bu.ka"; kb: "bu.kb"; kc: "bu.kc"; kd: "bu.kd"; ke: "bu.ke"; kf: "bu.kf"; kg: "bu.kg"; kh: "bu.kh"; ki: "bu.ki"; kj: "bu.kj"; kk: "bu.kk"; kl: "bu.kl"; km: "bu.km"; kn: "bu.kn"; ko: "bu.ko"; kp: "bu.kp"; kq: "bu.kq"; kr: "bu.kr"; ks: "bu.ks"; kt: "bu.kt"; ku: "bu.ku"; kv: "bu.kv"; kw: "bu.kw"; kx: "bu.kx"; ky: "bu.ky"; kz: "bu.kz"; la: "bu.la"; lb: "bu.lb"; lc: "bu.lc"; ld: "bu.ld"; le: "bu.le"; lf: "bu.lf"; lg: "bu.lg"; lh: "bu.lh"; li: "bu.li"; lj: "bu.lj"; lk: "bu.lk"; ll: "bu.ll"; lm: "bu.lm"; ln: "bu.ln"; lo: "bu.lo"; lp: "bu.lp"; lq: "bu.lq"; lr: "bu.lr"; ls: "bu.ls"; lt: "bu.lt"; lu: "bu.lu"; lv: "bu.lv"; lw: "bu.lw"; lx: "bu.lx"; ly: "bu.ly"; lz: "bu.lz"; ma: "bu.ma"; mb: "bu.mb"; mc: "bu.mc"; md: "bu.md"; me: "bu.me"; mf: "bu.mf"; mg: "bu.mg"; mh: "bu.mh"; mi: "bu.mi"; mj: "bu.mj"; mk: "bu.mk"; ml: "bu.ml"; mm: "bu.mm"; mn: "bu.mn"; mo: "bu.mo"; mp: "bu.mp"; mq: "bu.mq"; mr: "bu.mr"; ms: "bu.ms"; mt: "bu.mt"; mu: "bu.mu"; mv: "bu.mv"; mw: "bu.mw"; mx: "bu.mx"; my: "bu.my"; mz: "bu.mz"; na: "bu.na"; nb: "bu.nb"; nc: "bu.nc"; nd: "bu.nd"; ne: "bu.ne"; nf: "bu.nf"; ng: "bu.ng"; nh: "bu.nh"; ni: "bu.ni"; nj: "bu.nj"; nk: "bu.nk"; nl: "bu.nl"; nm: "bu.nm"; nn: "bu.nn"; no: "bu.no"; np: "bu.np"; nq: "bu.nq"; nr: "bu.nr"; ns: "bu.ns"; nt: "bu.nt"; nu: "bu.nu"; nv: "bu.nv"; nw: "bu.nw"; nx: "bu.nx"; ny: "bu.ny"; nz: "bu.nz"; oa: "bu.oa"; ob: "bu.ob"; oc: "bu.oc"; od: "bu.od"; oe: "bu.oe"; of: "bu.of"; og: "bu.og"; oh: "bu.oh"; oi: "bu.oi"; oj: "bu.oj"; ok: "bu.ok"; ol: "bu.ol"; om: "bu.om"; on: "bu.on"; oo: "bu.oo"; op: "bu.op"; oq: "bu.oq"; or: "bu.or"; os: "bu.os"; ot: "bu.ot"; ou: "bu.ou"; ov: "bu.ov"; ow: "bu.ow"; ox: "bu.ox"; oy: "bu.oy"; oz: "bu.oz"; pa: "bu.pa"; pb: "bu.pb"; pc: "bu.pc"; pd: "bu.pd"; pe: "bu.pe"; pf: "bu.pf"; pg: "bu.pg"; ph: "bu.ph"; pi: "bu.pi"; pj: "bu.pj"; pk: "bu.pk"; pl: "bu.pl"; pm: "bu.pm"; pn: "bu.pn"; po: "bu.po"; pp: "bu.pp"; pq: "bu.pq"; pr: "bu.pr"; ps: "bu.ps"; pt: "bu.pt"; pu: "bu.pu"; pv: "bu.pv"; pw: "bu.pw"; px: "bu.px"; py: "bu.py"; pz: "bu.pz"; qa: "bu.qa"; qb: "bu.qb"; qc: "bu.qc"; qd: "bu.qd"; qe: "bu.qe"; qf: "bu.qf"; qg: "bu.qg"; qh: "bu.qh"; qi: "bu.qi"; qj: "bu.qj"; qk: "bu.qk"; ql: "bu.ql"; qm: "bu.qm"; qn: "bu.qn"; qo: "bu.qo"; qp: "bu.qp"; qq: "bu.qq"; qr: "bu.qr"; qs: "bu.qs"; qt: "bu.qt"; qu: "bu.qu"; qv: "bu.qv"; qw: "bu.qw"; qx: "bu.qx"; qy: "bu.qy"; qz: "bu.qz"; ra: "bu.ra"; rb: "bu.rb"; rc: "bu.rc"; rd: "bu.rd"; re: "bu.re"; rf: "bu.rf"; rg: "bu.rg"; rh: "bu.rh"; ri: "bu.ri"; rj: "bu.rj"; rk: "bu.rk"; rl: "bu.rl"; rm: "bu.rm"; rn: "bu.rn"; ro: "bu.ro"; rp: "bu.rp"; rq: "bu.rq"; rr: "bu.rr"; rs: "bu.rs"; rt: "bu.rt"; ru: "bu.ru"; rv: "bu.rv"; rw: "bu.rw"; rx: "bu.rx"; ry: "bu.ry"; rz: "bu.rz"; sa: "bu.sa"; sb: "bu.sb"; sc: "bu.sc"; sd: "bu.sd"; se: "bu.se"; sf: "bu.sf"; sg: "bu.sg"; sh: "bu.sh"; si: "bu.si"; sj: "bu.sj"; sk: "bu.sk"; sl: "bu.sl"; sm: "bu.sm"; sn: "bu.sn"; so: "bu.so"; sp: "bu.sp"; sq: "bu.sq"; sr: "bu.sr"; ss: "bu.ss"; st: "bu.st"; su: "bu.su"; sv: "bu.sv"; sw: "bu.sw"; sx: "bu.sx"; sy: "bu.sy"; sz: "bu.sz"; ta: "bu.ta"; tb: "bu.tb"; tc: "bu.tc"; td: "bu.td"; te: "bu.te"; tf: "bu.tf"; tg: "bu.tg"; th: "bu.th"; ti: "bu.ti"; tj: "bu.tj"; tk: "bu.tk"; tl: "bu.tl"; tm: "bu.tm"; tn: "bu.tn"; to: "bu.to"; tp: "bu.tp"; tq: "bu.tq"; tr: "bu.tr"; ts: "bu.ts"; tt: "bu.tt"; tu: "bu.tu"; tv: "bu.tv"; tw: "bu.tw"; tx: "bu.tx"; ty: "bu.ty"; tz: "bu.tz"; ua: "bu.ua"; ub: "bu.ub"; uc: "bu.uc"; ud: "bu.ud"; ue: "bu.ue"; uf: "bu.uf"; ug: "bu.ug"; uh: "bu.uh"; ui: "bu.ui"; uj: "bu.uj"; uk: "bu.uk"; ul: "bu.ul"; um: "bu.um"; un: "bu.un"; uo: "bu.uo"; up: "bu.up"; uq: "bu.uq"; ur: "bu.ur"; us: "bu.us"; ut: "bu.ut"; uu: "bu.uu"; uv: "bu.uv"; uw: "bu.uw"; ux: "bu.ux"; uy: "bu.uy"; uz: "bu.uz"; va: "bu.va"; vb: "bu.vb"; vc: "bu.vc"; vd: "bu.vd"; ve: "bu.ve"; vf: "bu.vf"; vg: "bu.vg"; vh: "bu.vh"; vi: "bu.vi"; vj: "bu.vj"; vk: "bu.vk"; vl: "bu.vl"; vm: "bu.vm"; vn: "bu.vn"; vo: "bu.vo"; vp: "bu.vp"; vq: "bu.vq"; vr: "bu.vr"; vs: "bu.vs"; vt: "bu.vt"; vu: "bu.vu"; vv: "bu.vv"; vw: "bu.vw"; vx: "bu.vx"; vy: "bu.vy"; vz: "bu.vz"; wa: "bu.wa"; wb: "bu.wb"; wc: "bu.wc"; wd: "bu.wd"; we: "bu.we"; wf: "bu.wf"; wg: "bu.wg"; wh: "bu.wh"; wi: "bu.wi"; wj: "bu.wj"; wk: "bu.wk"; wl: "bu.wl"; wm: "bu.wm"; wn: "bu.wn"; wo: "bu.wo"; wp: "bu.wp"; wq: "bu.wq"; wr: "bu.wr"; ws: "bu.ws"; wt: "bu.wt"; wu: "bu.wu"; wv: "bu.wv"; ww: "bu.ww"; wx: "bu.wx"; wy: "bu.wy"; wz: "bu.wz"; xa: "bu.xa"; xb: "bu.xb"; xc: "bu.xc"; xd: "bu.xd"; xe: "bu.xe"; xf: "bu.xf"; xg: "bu.xg"; xh: "bu.xh"; xi: "bu.xi"; xj: "bu.xj"; xk: "bu.xk"; xl: "bu.xl"; xm: "bu.xm"; xn: "bu.xn"; xo: "bu.xo"; xp: "bu.xp"; xq: "bu.xq"; xr: "bu.xr"; xs: "bu.xs"; xt: "bu.xt"; xu: "bu.xu"; xv: "bu.xv"; xw: "bu.xw"; xx: "bu.xx"; xy: "bu.xy"; xz: "bu.xz"; ya: "bu.ya"; yb: "bu.yb"; yc: "bu.yc"; yd: "bu.yd"; ye: "bu.ye"; yf: "bu.yf"; yg: "bu.yg"; yh: "bu.yh"; yi: "bu.yi"; yj: "bu.yj"; yk: "bu.yk"; yl: "bu.yl"; ym: "bu.ym"; yn: "bu.yn"; yo: "bu.yo"; yp: "bu.yp"; yq: "bu.yq"; yr: "bu.yr"; ys: "bu.ys"; yt: "bu.yt"; yu: "bu.yu"; yv: "bu.yv"; yw: "bu.yw"; yx: "bu.yx"; yy: "bu.yy"; yz: "bu.yz"; za: "bu.za"; zb: "bu.zb"; zc: "bu.zc"; zd: "bu.zd"; ze: "bu.ze"; zf: "bu.zf"; zg: "bu.zg"; zh: "bu.zh"; zi: "bu.zi"; zj: "bu.zj"; zk: "bu.zk"; zl: "bu.zl"; zm: "bu.zm"; zn: "bu.zn"; zo: "bu.zo"; zp: "bu.zp"; zq: "bu.zq"; zr: "bu.zr"; zs: "bu.zs"; zt: "bu.zt"; zu: "bu.zu"; zv: "bu.zv"; zw: "bu.zw"; zx: "bu.zx"; zy: "bu.zy"; zz: "bu.zz"; }; bv: { aa: "bv.aa"; ab: "bv.ab"; ac: "bv.ac"; ad: "bv.ad"; ae: "bv.ae"; af: "bv.af"; ag: "bv.ag"; ah: "bv.ah"; ai: "bv.ai"; aj: "bv.aj"; ak: "bv.ak"; al: "bv.al"; am: "bv.am"; an: "bv.an"; ao: "bv.ao"; ap: "bv.ap"; aq: "bv.aq"; ar: "bv.ar"; as: "bv.as"; at: "bv.at"; au: "bv.au"; av: "bv.av"; aw: "bv.aw"; ax: "bv.ax"; ay: "bv.ay"; az: "bv.az"; ba: "bv.ba"; bb: "bv.bb"; bc: "bv.bc"; bd: "bv.bd"; be: "bv.be"; bf: "bv.bf"; bg: "bv.bg"; bh: "bv.bh"; bi: "bv.bi"; bj: "bv.bj"; bk: "bv.bk"; bl: "bv.bl"; bm: "bv.bm"; bn: "bv.bn"; bo: "bv.bo"; bp: "bv.bp"; bq: "bv.bq"; br: "bv.br"; bs: "bv.bs"; bt: "bv.bt"; bu: "bv.bu"; bv: "bv.bv"; bw: "bv.bw"; bx: "bv.bx"; by: "bv.by"; bz: "bv.bz"; ca: "bv.ca"; cb: "bv.cb"; cc: "bv.cc"; cd: "bv.cd"; ce: "bv.ce"; cf: "bv.cf"; cg: "bv.cg"; ch: "bv.ch"; ci: "bv.ci"; cj: "bv.cj"; ck: "bv.ck"; cl: "bv.cl"; cm: "bv.cm"; cn: "bv.cn"; co: "bv.co"; cp: "bv.cp"; cq: "bv.cq"; cr: "bv.cr"; cs: "bv.cs"; ct: "bv.ct"; cu: "bv.cu"; cv: "bv.cv"; cw: "bv.cw"; cx: "bv.cx"; cy: "bv.cy"; cz: "bv.cz"; da: "bv.da"; db: "bv.db"; dc: "bv.dc"; dd: "bv.dd"; de: "bv.de"; df: "bv.df"; dg: "bv.dg"; dh: "bv.dh"; di: "bv.di"; dj: "bv.dj"; dk: "bv.dk"; dl: "bv.dl"; dm: "bv.dm"; dn: "bv.dn"; do: "bv.do"; dp: "bv.dp"; dq: "bv.dq"; dr: "bv.dr"; ds: "bv.ds"; dt: "bv.dt"; du: "bv.du"; dv: "bv.dv"; dw: "bv.dw"; dx: "bv.dx"; dy: "bv.dy"; dz: "bv.dz"; ea: "bv.ea"; eb: "bv.eb"; ec: "bv.ec"; ed: "bv.ed"; ee: "bv.ee"; ef: "bv.ef"; eg: "bv.eg"; eh: "bv.eh"; ei: "bv.ei"; ej: "bv.ej"; ek: "bv.ek"; el: "bv.el"; em: "bv.em"; en: "bv.en"; eo: "bv.eo"; ep: "bv.ep"; eq: "bv.eq"; er: "bv.er"; es: "bv.es"; et: "bv.et"; eu: "bv.eu"; ev: "bv.ev"; ew: "bv.ew"; ex: "bv.ex"; ey: "bv.ey"; ez: "bv.ez"; fa: "bv.fa"; fb: "bv.fb"; fc: "bv.fc"; fd: "bv.fd"; fe: "bv.fe"; ff: "bv.ff"; fg: "bv.fg"; fh: "bv.fh"; fi: "bv.fi"; fj: "bv.fj"; fk: "bv.fk"; fl: "bv.fl"; fm: "bv.fm"; fn: "bv.fn"; fo: "bv.fo"; fp: "bv.fp"; fq: "bv.fq"; fr: "bv.fr"; fs: "bv.fs"; ft: "bv.ft"; fu: "bv.fu"; fv: "bv.fv"; fw: "bv.fw"; fx: "bv.fx"; fy: "bv.fy"; fz: "bv.fz"; ga: "bv.ga"; gb: "bv.gb"; gc: "bv.gc"; gd: "bv.gd"; ge: "bv.ge"; gf: "bv.gf"; gg: "bv.gg"; gh: "bv.gh"; gi: "bv.gi"; gj: "bv.gj"; gk: "bv.gk"; gl: "bv.gl"; gm: "bv.gm"; gn: "bv.gn"; go: "bv.go"; gp: "bv.gp"; gq: "bv.gq"; gr: "bv.gr"; gs: "bv.gs"; gt: "bv.gt"; gu: "bv.gu"; gv: "bv.gv"; gw: "bv.gw"; gx: "bv.gx"; gy: "bv.gy"; gz: "bv.gz"; ha: "bv.ha"; hb: "bv.hb"; hc: "bv.hc"; hd: "bv.hd"; he: "bv.he"; hf: "bv.hf"; hg: "bv.hg"; hh: "bv.hh"; hi: "bv.hi"; hj: "bv.hj"; hk: "bv.hk"; hl: "bv.hl"; hm: "bv.hm"; hn: "bv.hn"; ho: "bv.ho"; hp: "bv.hp"; hq: "bv.hq"; hr: "bv.hr"; hs: "bv.hs"; ht: "bv.ht"; hu: "bv.hu"; hv: "bv.hv"; hw: "bv.hw"; hx: "bv.hx"; hy: "bv.hy"; hz: "bv.hz"; ia: "bv.ia"; ib: "bv.ib"; ic: "bv.ic"; id: "bv.id"; ie: "bv.ie"; if: "bv.if"; ig: "bv.ig"; ih: "bv.ih"; ii: "bv.ii"; ij: "bv.ij"; ik: "bv.ik"; il: "bv.il"; im: "bv.im"; in: "bv.in"; io: "bv.io"; ip: "bv.ip"; iq: "bv.iq"; ir: "bv.ir"; is: "bv.is"; it: "bv.it"; iu: "bv.iu"; iv: "bv.iv"; iw: "bv.iw"; ix: "bv.ix"; iy: "bv.iy"; iz: "bv.iz"; ja: "bv.ja"; jb: "bv.jb"; jc: "bv.jc"; jd: "bv.jd"; je: "bv.je"; jf: "bv.jf"; jg: "bv.jg"; jh: "bv.jh"; ji: "bv.ji"; jj: "bv.jj"; jk: "bv.jk"; jl: "bv.jl"; jm: "bv.jm"; jn: "bv.jn"; jo: "bv.jo"; jp: "bv.jp"; jq: "bv.jq"; jr: "bv.jr"; js: "bv.js"; jt: "bv.jt"; ju: "bv.ju"; jv: "bv.jv"; jw: "bv.jw"; jx: "bv.jx"; jy: "bv.jy"; jz: "bv.jz"; ka: "bv.ka"; kb: "bv.kb"; kc: "bv.kc"; kd: "bv.kd"; ke: "bv.ke"; kf: "bv.kf"; kg: "bv.kg"; kh: "bv.kh"; ki: "bv.ki"; kj: "bv.kj"; kk: "bv.kk"; kl: "bv.kl"; km: "bv.km"; kn: "bv.kn"; ko: "bv.ko"; kp: "bv.kp"; kq: "bv.kq"; kr: "bv.kr"; ks: "bv.ks"; kt: "bv.kt"; ku: "bv.ku"; kv: "bv.kv"; kw: "bv.kw"; kx: "bv.kx"; ky: "bv.ky"; kz: "bv.kz"; la: "bv.la"; lb: "bv.lb"; lc: "bv.lc"; ld: "bv.ld"; le: "bv.le"; lf: "bv.lf"; lg: "bv.lg"; lh: "bv.lh"; li: "bv.li"; lj: "bv.lj"; lk: "bv.lk"; ll: "bv.ll"; lm: "bv.lm"; ln: "bv.ln"; lo: "bv.lo"; lp: "bv.lp"; lq: "bv.lq"; lr: "bv.lr"; ls: "bv.ls"; lt: "bv.lt"; lu: "bv.lu"; lv: "bv.lv"; lw: "bv.lw"; lx: "bv.lx"; ly: "bv.ly"; lz: "bv.lz"; ma: "bv.ma"; mb: "bv.mb"; mc: "bv.mc"; md: "bv.md"; me: "bv.me"; mf: "bv.mf"; mg: "bv.mg"; mh: "bv.mh"; mi: "bv.mi"; mj: "bv.mj"; mk: "bv.mk"; ml: "bv.ml"; mm: "bv.mm"; mn: "bv.mn"; mo: "bv.mo"; mp: "bv.mp"; mq: "bv.mq"; mr: "bv.mr"; ms: "bv.ms"; mt: "bv.mt"; mu: "bv.mu"; mv: "bv.mv"; mw: "bv.mw"; mx: "bv.mx"; my: "bv.my"; mz: "bv.mz"; na: "bv.na"; nb: "bv.nb"; nc: "bv.nc"; nd: "bv.nd"; ne: "bv.ne"; nf: "bv.nf"; ng: "bv.ng"; nh: "bv.nh"; ni: "bv.ni"; nj: "bv.nj"; nk: "bv.nk"; nl: "bv.nl"; nm: "bv.nm"; nn: "bv.nn"; no: "bv.no"; np: "bv.np"; nq: "bv.nq"; nr: "bv.nr"; ns: "bv.ns"; nt: "bv.nt"; nu: "bv.nu"; nv: "bv.nv"; nw: "bv.nw"; nx: "bv.nx"; ny: "bv.ny"; nz: "bv.nz"; oa: "bv.oa"; ob: "bv.ob"; oc: "bv.oc"; od: "bv.od"; oe: "bv.oe"; of: "bv.of"; og: "bv.og"; oh: "bv.oh"; oi: "bv.oi"; oj: "bv.oj"; ok: "bv.ok"; ol: "bv.ol"; om: "bv.om"; on: "bv.on"; oo: "bv.oo"; op: "bv.op"; oq: "bv.oq"; or: "bv.or"; os: "bv.os"; ot: "bv.ot"; ou: "bv.ou"; ov: "bv.ov"; ow: "bv.ow"; ox: "bv.ox"; oy: "bv.oy"; oz: "bv.oz"; pa: "bv.pa"; pb: "bv.pb"; pc: "bv.pc"; pd: "bv.pd"; pe: "bv.pe"; pf: "bv.pf"; pg: "bv.pg"; ph: "bv.ph"; pi: "bv.pi"; pj: "bv.pj"; pk: "bv.pk"; pl: "bv.pl"; pm: "bv.pm"; pn: "bv.pn"; po: "bv.po"; pp: "bv.pp"; pq: "bv.pq"; pr: "bv.pr"; ps: "bv.ps"; pt: "bv.pt"; pu: "bv.pu"; pv: "bv.pv"; pw: "bv.pw"; px: "bv.px"; py: "bv.py"; pz: "bv.pz"; qa: "bv.qa"; qb: "bv.qb"; qc: "bv.qc"; qd: "bv.qd"; qe: "bv.qe"; qf: "bv.qf"; qg: "bv.qg"; qh: "bv.qh"; qi: "bv.qi"; qj: "bv.qj"; qk: "bv.qk"; ql: "bv.ql"; qm: "bv.qm"; qn: "bv.qn"; qo: "bv.qo"; qp: "bv.qp"; qq: "bv.qq"; qr: "bv.qr"; qs: "bv.qs"; qt: "bv.qt"; qu: "bv.qu"; qv: "bv.qv"; qw: "bv.qw"; qx: "bv.qx"; qy: "bv.qy"; qz: "bv.qz"; ra: "bv.ra"; rb: "bv.rb"; rc: "bv.rc"; rd: "bv.rd"; re: "bv.re"; rf: "bv.rf"; rg: "bv.rg"; rh: "bv.rh"; ri: "bv.ri"; rj: "bv.rj"; rk: "bv.rk"; rl: "bv.rl"; rm: "bv.rm"; rn: "bv.rn"; ro: "bv.ro"; rp: "bv.rp"; rq: "bv.rq"; rr: "bv.rr"; rs: "bv.rs"; rt: "bv.rt"; ru: "bv.ru"; rv: "bv.rv"; rw: "bv.rw"; rx: "bv.rx"; ry: "bv.ry"; rz: "bv.rz"; sa: "bv.sa"; sb: "bv.sb"; sc: "bv.sc"; sd: "bv.sd"; se: "bv.se"; sf: "bv.sf"; sg: "bv.sg"; sh: "bv.sh"; si: "bv.si"; sj: "bv.sj"; sk: "bv.sk"; sl: "bv.sl"; sm: "bv.sm"; sn: "bv.sn"; so: "bv.so"; sp: "bv.sp"; sq: "bv.sq"; sr: "bv.sr"; ss: "bv.ss"; st: "bv.st"; su: "bv.su"; sv: "bv.sv"; sw: "bv.sw"; sx: "bv.sx"; sy: "bv.sy"; sz: "bv.sz"; ta: "bv.ta"; tb: "bv.tb"; tc: "bv.tc"; td: "bv.td"; te: "bv.te"; tf: "bv.tf"; tg: "bv.tg"; th: "bv.th"; ti: "bv.ti"; tj: "bv.tj"; tk: "bv.tk"; tl: "bv.tl"; tm: "bv.tm"; tn: "bv.tn"; to: "bv.to"; tp: "bv.tp"; tq: "bv.tq"; tr: "bv.tr"; ts: "bv.ts"; tt: "bv.tt"; tu: "bv.tu"; tv: "bv.tv"; tw: "bv.tw"; tx: "bv.tx"; ty: "bv.ty"; tz: "bv.tz"; ua: "bv.ua"; ub: "bv.ub"; uc: "bv.uc"; ud: "bv.ud"; ue: "bv.ue"; uf: "bv.uf"; ug: "bv.ug"; uh: "bv.uh"; ui: "bv.ui"; uj: "bv.uj"; uk: "bv.uk"; ul: "bv.ul"; um: "bv.um"; un: "bv.un"; uo: "bv.uo"; up: "bv.up"; uq: "bv.uq"; ur: "bv.ur"; us: "bv.us"; ut: "bv.ut"; uu: "bv.uu"; uv: "bv.uv"; uw: "bv.uw"; ux: "bv.ux"; uy: "bv.uy"; uz: "bv.uz"; va: "bv.va"; vb: "bv.vb"; vc: "bv.vc"; vd: "bv.vd"; ve: "bv.ve"; vf: "bv.vf"; vg: "bv.vg"; vh: "bv.vh"; vi: "bv.vi"; vj: "bv.vj"; vk: "bv.vk"; vl: "bv.vl"; vm: "bv.vm"; vn: "bv.vn"; vo: "bv.vo"; vp: "bv.vp"; vq: "bv.vq"; vr: "bv.vr"; vs: "bv.vs"; vt: "bv.vt"; vu: "bv.vu"; vv: "bv.vv"; vw: "bv.vw"; vx: "bv.vx"; vy: "bv.vy"; vz: "bv.vz"; wa: "bv.wa"; wb: "bv.wb"; wc: "bv.wc"; wd: "bv.wd"; we: "bv.we"; wf: "bv.wf"; wg: "bv.wg"; wh: "bv.wh"; wi: "bv.wi"; wj: "bv.wj"; wk: "bv.wk"; wl: "bv.wl"; wm: "bv.wm"; wn: "bv.wn"; wo: "bv.wo"; wp: "bv.wp"; wq: "bv.wq"; wr: "bv.wr"; ws: "bv.ws"; wt: "bv.wt"; wu: "bv.wu"; wv: "bv.wv"; ww: "bv.ww"; wx: "bv.wx"; wy: "bv.wy"; wz: "bv.wz"; xa: "bv.xa"; xb: "bv.xb"; xc: "bv.xc"; xd: "bv.xd"; xe: "bv.xe"; xf: "bv.xf"; xg: "bv.xg"; xh: "bv.xh"; xi: "bv.xi"; xj: "bv.xj"; xk: "bv.xk"; xl: "bv.xl"; xm: "bv.xm"; xn: "bv.xn"; xo: "bv.xo"; xp: "bv.xp"; xq: "bv.xq"; xr: "bv.xr"; xs: "bv.xs"; xt: "bv.xt"; xu: "bv.xu"; xv: "bv.xv"; xw: "bv.xw"; xx: "bv.xx"; xy: "bv.xy"; xz: "bv.xz"; ya: "bv.ya"; yb: "bv.yb"; yc: "bv.yc"; yd: "bv.yd"; ye: "bv.ye"; yf: "bv.yf"; yg: "bv.yg"; yh: "bv.yh"; yi: "bv.yi"; yj: "bv.yj"; yk: "bv.yk"; yl: "bv.yl"; ym: "bv.ym"; yn: "bv.yn"; yo: "bv.yo"; yp: "bv.yp"; yq: "bv.yq"; yr: "bv.yr"; ys: "bv.ys"; yt: "bv.yt"; yu: "bv.yu"; yv: "bv.yv"; yw: "bv.yw"; yx: "bv.yx"; yy: "bv.yy"; yz: "bv.yz"; za: "bv.za"; zb: "bv.zb"; zc: "bv.zc"; zd: "bv.zd"; ze: "bv.ze"; zf: "bv.zf"; zg: "bv.zg"; zh: "bv.zh"; zi: "bv.zi"; zj: "bv.zj"; zk: "bv.zk"; zl: "bv.zl"; zm: "bv.zm"; zn: "bv.zn"; zo: "bv.zo"; zp: "bv.zp"; zq: "bv.zq"; zr: "bv.zr"; zs: "bv.zs"; zt: "bv.zt"; zu: "bv.zu"; zv: "bv.zv"; zw: "bv.zw"; zx: "bv.zx"; zy: "bv.zy"; zz: "bv.zz"; }; bw: { aa: "bw.aa"; ab: "bw.ab"; ac: "bw.ac"; ad: "bw.ad"; ae: "bw.ae"; af: "bw.af"; ag: "bw.ag"; ah: "bw.ah"; ai: "bw.ai"; aj: "bw.aj"; ak: "bw.ak"; al: "bw.al"; am: "bw.am"; an: "bw.an"; ao: "bw.ao"; ap: "bw.ap"; aq: "bw.aq"; ar: "bw.ar"; as: "bw.as"; at: "bw.at"; au: "bw.au"; av: "bw.av"; aw: "bw.aw"; ax: "bw.ax"; ay: "bw.ay"; az: "bw.az"; ba: "bw.ba"; bb: "bw.bb"; bc: "bw.bc"; bd: "bw.bd"; be: "bw.be"; bf: "bw.bf"; bg: "bw.bg"; bh: "bw.bh"; bi: "bw.bi"; bj: "bw.bj"; bk: "bw.bk"; bl: "bw.bl"; bm: "bw.bm"; bn: "bw.bn"; bo: "bw.bo"; bp: "bw.bp"; bq: "bw.bq"; br: "bw.br"; bs: "bw.bs"; bt: "bw.bt"; bu: "bw.bu"; bv: "bw.bv"; bw: "bw.bw"; bx: "bw.bx"; by: "bw.by"; bz: "bw.bz"; ca: "bw.ca"; cb: "bw.cb"; cc: "bw.cc"; cd: "bw.cd"; ce: "bw.ce"; cf: "bw.cf"; cg: "bw.cg"; ch: "bw.ch"; ci: "bw.ci"; cj: "bw.cj"; ck: "bw.ck"; cl: "bw.cl"; cm: "bw.cm"; cn: "bw.cn"; co: "bw.co"; cp: "bw.cp"; cq: "bw.cq"; cr: "bw.cr"; cs: "bw.cs"; ct: "bw.ct"; cu: "bw.cu"; cv: "bw.cv"; cw: "bw.cw"; cx: "bw.cx"; cy: "bw.cy"; cz: "bw.cz"; da: "bw.da"; db: "bw.db"; dc: "bw.dc"; dd: "bw.dd"; de: "bw.de"; df: "bw.df"; dg: "bw.dg"; dh: "bw.dh"; di: "bw.di"; dj: "bw.dj"; dk: "bw.dk"; dl: "bw.dl"; dm: "bw.dm"; dn: "bw.dn"; do: "bw.do"; dp: "bw.dp"; dq: "bw.dq"; dr: "bw.dr"; ds: "bw.ds"; dt: "bw.dt"; du: "bw.du"; dv: "bw.dv"; dw: "bw.dw"; dx: "bw.dx"; dy: "bw.dy"; dz: "bw.dz"; ea: "bw.ea"; eb: "bw.eb"; ec: "bw.ec"; ed: "bw.ed"; ee: "bw.ee"; ef: "bw.ef"; eg: "bw.eg"; eh: "bw.eh"; ei: "bw.ei"; ej: "bw.ej"; ek: "bw.ek"; el: "bw.el"; em: "bw.em"; en: "bw.en"; eo: "bw.eo"; ep: "bw.ep"; eq: "bw.eq"; er: "bw.er"; es: "bw.es"; et: "bw.et"; eu: "bw.eu"; ev: "bw.ev"; ew: "bw.ew"; ex: "bw.ex"; ey: "bw.ey"; ez: "bw.ez"; fa: "bw.fa"; fb: "bw.fb"; fc: "bw.fc"; fd: "bw.fd"; fe: "bw.fe"; ff: "bw.ff"; fg: "bw.fg"; fh: "bw.fh"; fi: "bw.fi"; fj: "bw.fj"; fk: "bw.fk"; fl: "bw.fl"; fm: "bw.fm"; fn: "bw.fn"; fo: "bw.fo"; fp: "bw.fp"; fq: "bw.fq"; fr: "bw.fr"; fs: "bw.fs"; ft: "bw.ft"; fu: "bw.fu"; fv: "bw.fv"; fw: "bw.fw"; fx: "bw.fx"; fy: "bw.fy"; fz: "bw.fz"; ga: "bw.ga"; gb: "bw.gb"; gc: "bw.gc"; gd: "bw.gd"; ge: "bw.ge"; gf: "bw.gf"; gg: "bw.gg"; gh: "bw.gh"; gi: "bw.gi"; gj: "bw.gj"; gk: "bw.gk"; gl: "bw.gl"; gm: "bw.gm"; gn: "bw.gn"; go: "bw.go"; gp: "bw.gp"; gq: "bw.gq"; gr: "bw.gr"; gs: "bw.gs"; gt: "bw.gt"; gu: "bw.gu"; gv: "bw.gv"; gw: "bw.gw"; gx: "bw.gx"; gy: "bw.gy"; gz: "bw.gz"; ha: "bw.ha"; hb: "bw.hb"; hc: "bw.hc"; hd: "bw.hd"; he: "bw.he"; hf: "bw.hf"; hg: "bw.hg"; hh: "bw.hh"; hi: "bw.hi"; hj: "bw.hj"; hk: "bw.hk"; hl: "bw.hl"; hm: "bw.hm"; hn: "bw.hn"; ho: "bw.ho"; hp: "bw.hp"; hq: "bw.hq"; hr: "bw.hr"; hs: "bw.hs"; ht: "bw.ht"; hu: "bw.hu"; hv: "bw.hv"; hw: "bw.hw"; hx: "bw.hx"; hy: "bw.hy"; hz: "bw.hz"; ia: "bw.ia"; ib: "bw.ib"; ic: "bw.ic"; id: "bw.id"; ie: "bw.ie"; if: "bw.if"; ig: "bw.ig"; ih: "bw.ih"; ii: "bw.ii"; ij: "bw.ij"; ik: "bw.ik"; il: "bw.il"; im: "bw.im"; in: "bw.in"; io: "bw.io"; ip: "bw.ip"; iq: "bw.iq"; ir: "bw.ir"; is: "bw.is"; it: "bw.it"; iu: "bw.iu"; iv: "bw.iv"; iw: "bw.iw"; ix: "bw.ix"; iy: "bw.iy"; iz: "bw.iz"; ja: "bw.ja"; jb: "bw.jb"; jc: "bw.jc"; jd: "bw.jd"; je: "bw.je"; jf: "bw.jf"; jg: "bw.jg"; jh: "bw.jh"; ji: "bw.ji"; jj: "bw.jj"; jk: "bw.jk"; jl: "bw.jl"; jm: "bw.jm"; jn: "bw.jn"; jo: "bw.jo"; jp: "bw.jp"; jq: "bw.jq"; jr: "bw.jr"; js: "bw.js"; jt: "bw.jt"; ju: "bw.ju"; jv: "bw.jv"; jw: "bw.jw"; jx: "bw.jx"; jy: "bw.jy"; jz: "bw.jz"; ka: "bw.ka"; kb: "bw.kb"; kc: "bw.kc"; kd: "bw.kd"; ke: "bw.ke"; kf: "bw.kf"; kg: "bw.kg"; kh: "bw.kh"; ki: "bw.ki"; kj: "bw.kj"; kk: "bw.kk"; kl: "bw.kl"; km: "bw.km"; kn: "bw.kn"; ko: "bw.ko"; kp: "bw.kp"; kq: "bw.kq"; kr: "bw.kr"; ks: "bw.ks"; kt: "bw.kt"; ku: "bw.ku"; kv: "bw.kv"; kw: "bw.kw"; kx: "bw.kx"; ky: "bw.ky"; kz: "bw.kz"; la: "bw.la"; lb: "bw.lb"; lc: "bw.lc"; ld: "bw.ld"; le: "bw.le"; lf: "bw.lf"; lg: "bw.lg"; lh: "bw.lh"; li: "bw.li"; lj: "bw.lj"; lk: "bw.lk"; ll: "bw.ll"; lm: "bw.lm"; ln: "bw.ln"; lo: "bw.lo"; lp: "bw.lp"; lq: "bw.lq"; lr: "bw.lr"; ls: "bw.ls"; lt: "bw.lt"; lu: "bw.lu"; lv: "bw.lv"; lw: "bw.lw"; lx: "bw.lx"; ly: "bw.ly"; lz: "bw.lz"; ma: "bw.ma"; mb: "bw.mb"; mc: "bw.mc"; md: "bw.md"; me: "bw.me"; mf: "bw.mf"; mg: "bw.mg"; mh: "bw.mh"; mi: "bw.mi"; mj: "bw.mj"; mk: "bw.mk"; ml: "bw.ml"; mm: "bw.mm"; mn: "bw.mn"; mo: "bw.mo"; mp: "bw.mp"; mq: "bw.mq"; mr: "bw.mr"; ms: "bw.ms"; mt: "bw.mt"; mu: "bw.mu"; mv: "bw.mv"; mw: "bw.mw"; mx: "bw.mx"; my: "bw.my"; mz: "bw.mz"; na: "bw.na"; nb: "bw.nb"; nc: "bw.nc"; nd: "bw.nd"; ne: "bw.ne"; nf: "bw.nf"; ng: "bw.ng"; nh: "bw.nh"; ni: "bw.ni"; nj: "bw.nj"; nk: "bw.nk"; nl: "bw.nl"; nm: "bw.nm"; nn: "bw.nn"; no: "bw.no"; np: "bw.np"; nq: "bw.nq"; nr: "bw.nr"; ns: "bw.ns"; nt: "bw.nt"; nu: "bw.nu"; nv: "bw.nv"; nw: "bw.nw"; nx: "bw.nx"; ny: "bw.ny"; nz: "bw.nz"; oa: "bw.oa"; ob: "bw.ob"; oc: "bw.oc"; od: "bw.od"; oe: "bw.oe"; of: "bw.of"; og: "bw.og"; oh: "bw.oh"; oi: "bw.oi"; oj: "bw.oj"; ok: "bw.ok"; ol: "bw.ol"; om: "bw.om"; on: "bw.on"; oo: "bw.oo"; op: "bw.op"; oq: "bw.oq"; or: "bw.or"; os: "bw.os"; ot: "bw.ot"; ou: "bw.ou"; ov: "bw.ov"; ow: "bw.ow"; ox: "bw.ox"; oy: "bw.oy"; oz: "bw.oz"; pa: "bw.pa"; pb: "bw.pb"; pc: "bw.pc"; pd: "bw.pd"; pe: "bw.pe"; pf: "bw.pf"; pg: "bw.pg"; ph: "bw.ph"; pi: "bw.pi"; pj: "bw.pj"; pk: "bw.pk"; pl: "bw.pl"; pm: "bw.pm"; pn: "bw.pn"; po: "bw.po"; pp: "bw.pp"; pq: "bw.pq"; pr: "bw.pr"; ps: "bw.ps"; pt: "bw.pt"; pu: "bw.pu"; pv: "bw.pv"; pw: "bw.pw"; px: "bw.px"; py: "bw.py"; pz: "bw.pz"; qa: "bw.qa"; qb: "bw.qb"; qc: "bw.qc"; qd: "bw.qd"; qe: "bw.qe"; qf: "bw.qf"; qg: "bw.qg"; qh: "bw.qh"; qi: "bw.qi"; qj: "bw.qj"; qk: "bw.qk"; ql: "bw.ql"; qm: "bw.qm"; qn: "bw.qn"; qo: "bw.qo"; qp: "bw.qp"; qq: "bw.qq"; qr: "bw.qr"; qs: "bw.qs"; qt: "bw.qt"; qu: "bw.qu"; qv: "bw.qv"; qw: "bw.qw"; qx: "bw.qx"; qy: "bw.qy"; qz: "bw.qz"; ra: "bw.ra"; rb: "bw.rb"; rc: "bw.rc"; rd: "bw.rd"; re: "bw.re"; rf: "bw.rf"; rg: "bw.rg"; rh: "bw.rh"; ri: "bw.ri"; rj: "bw.rj"; rk: "bw.rk"; rl: "bw.rl"; rm: "bw.rm"; rn: "bw.rn"; ro: "bw.ro"; rp: "bw.rp"; rq: "bw.rq"; rr: "bw.rr"; rs: "bw.rs"; rt: "bw.rt"; ru: "bw.ru"; rv: "bw.rv"; rw: "bw.rw"; rx: "bw.rx"; ry: "bw.ry"; rz: "bw.rz"; sa: "bw.sa"; sb: "bw.sb"; sc: "bw.sc"; sd: "bw.sd"; se: "bw.se"; sf: "bw.sf"; sg: "bw.sg"; sh: "bw.sh"; si: "bw.si"; sj: "bw.sj"; sk: "bw.sk"; sl: "bw.sl"; sm: "bw.sm"; sn: "bw.sn"; so: "bw.so"; sp: "bw.sp"; sq: "bw.sq"; sr: "bw.sr"; ss: "bw.ss"; st: "bw.st"; su: "bw.su"; sv: "bw.sv"; sw: "bw.sw"; sx: "bw.sx"; sy: "bw.sy"; sz: "bw.sz"; ta: "bw.ta"; tb: "bw.tb"; tc: "bw.tc"; td: "bw.td"; te: "bw.te"; tf: "bw.tf"; tg: "bw.tg"; th: "bw.th"; ti: "bw.ti"; tj: "bw.tj"; tk: "bw.tk"; tl: "bw.tl"; tm: "bw.tm"; tn: "bw.tn"; to: "bw.to"; tp: "bw.tp"; tq: "bw.tq"; tr: "bw.tr"; ts: "bw.ts"; tt: "bw.tt"; tu: "bw.tu"; tv: "bw.tv"; tw: "bw.tw"; tx: "bw.tx"; ty: "bw.ty"; tz: "bw.tz"; ua: "bw.ua"; ub: "bw.ub"; uc: "bw.uc"; ud: "bw.ud"; ue: "bw.ue"; uf: "bw.uf"; ug: "bw.ug"; uh: "bw.uh"; ui: "bw.ui"; uj: "bw.uj"; uk: "bw.uk"; ul: "bw.ul"; um: "bw.um"; un: "bw.un"; uo: "bw.uo"; up: "bw.up"; uq: "bw.uq"; ur: "bw.ur"; us: "bw.us"; ut: "bw.ut"; uu: "bw.uu"; uv: "bw.uv"; uw: "bw.uw"; ux: "bw.ux"; uy: "bw.uy"; uz: "bw.uz"; va: "bw.va"; vb: "bw.vb"; vc: "bw.vc"; vd: "bw.vd"; ve: "bw.ve"; vf: "bw.vf"; vg: "bw.vg"; vh: "bw.vh"; vi: "bw.vi"; vj: "bw.vj"; vk: "bw.vk"; vl: "bw.vl"; vm: "bw.vm"; vn: "bw.vn"; vo: "bw.vo"; vp: "bw.vp"; vq: "bw.vq"; vr: "bw.vr"; vs: "bw.vs"; vt: "bw.vt"; vu: "bw.vu"; vv: "bw.vv"; vw: "bw.vw"; vx: "bw.vx"; vy: "bw.vy"; vz: "bw.vz"; wa: "bw.wa"; wb: "bw.wb"; wc: "bw.wc"; wd: "bw.wd"; we: "bw.we"; wf: "bw.wf"; wg: "bw.wg"; wh: "bw.wh"; wi: "bw.wi"; wj: "bw.wj"; wk: "bw.wk"; wl: "bw.wl"; wm: "bw.wm"; wn: "bw.wn"; wo: "bw.wo"; wp: "bw.wp"; wq: "bw.wq"; wr: "bw.wr"; ws: "bw.ws"; wt: "bw.wt"; wu: "bw.wu"; wv: "bw.wv"; ww: "bw.ww"; wx: "bw.wx"; wy: "bw.wy"; wz: "bw.wz"; xa: "bw.xa"; xb: "bw.xb"; xc: "bw.xc"; xd: "bw.xd"; xe: "bw.xe"; xf: "bw.xf"; xg: "bw.xg"; xh: "bw.xh"; xi: "bw.xi"; xj: "bw.xj"; xk: "bw.xk"; xl: "bw.xl"; xm: "bw.xm"; xn: "bw.xn"; xo: "bw.xo"; xp: "bw.xp"; xq: "bw.xq"; xr: "bw.xr"; xs: "bw.xs"; xt: "bw.xt"; xu: "bw.xu"; xv: "bw.xv"; xw: "bw.xw"; xx: "bw.xx"; xy: "bw.xy"; xz: "bw.xz"; ya: "bw.ya"; yb: "bw.yb"; yc: "bw.yc"; yd: "bw.yd"; ye: "bw.ye"; yf: "bw.yf"; yg: "bw.yg"; yh: "bw.yh"; yi: "bw.yi"; yj: "bw.yj"; yk: "bw.yk"; yl: "bw.yl"; ym: "bw.ym"; yn: "bw.yn"; yo: "bw.yo"; yp: "bw.yp"; yq: "bw.yq"; yr: "bw.yr"; ys: "bw.ys"; yt: "bw.yt"; yu: "bw.yu"; yv: "bw.yv"; yw: "bw.yw"; yx: "bw.yx"; yy: "bw.yy"; yz: "bw.yz"; za: "bw.za"; zb: "bw.zb"; zc: "bw.zc"; zd: "bw.zd"; ze: "bw.ze"; zf: "bw.zf"; zg: "bw.zg"; zh: "bw.zh"; zi: "bw.zi"; zj: "bw.zj"; zk: "bw.zk"; zl: "bw.zl"; zm: "bw.zm"; zn: "bw.zn"; zo: "bw.zo"; zp: "bw.zp"; zq: "bw.zq"; zr: "bw.zr"; zs: "bw.zs"; zt: "bw.zt"; zu: "bw.zu"; zv: "bw.zv"; zw: "bw.zw"; zx: "bw.zx"; zy: "bw.zy"; zz: "bw.zz"; }; bx: { aa: "bx.aa"; ab: "bx.ab"; ac: "bx.ac"; ad: "bx.ad"; ae: "bx.ae"; af: "bx.af"; ag: "bx.ag"; ah: "bx.ah"; ai: "bx.ai"; aj: "bx.aj"; ak: "bx.ak"; al: "bx.al"; am: "bx.am"; an: "bx.an"; ao: "bx.ao"; ap: "bx.ap"; aq: "bx.aq"; ar: "bx.ar"; as: "bx.as"; at: "bx.at"; au: "bx.au"; av: "bx.av"; aw: "bx.aw"; ax: "bx.ax"; ay: "bx.ay"; az: "bx.az"; ba: "bx.ba"; bb: "bx.bb"; bc: "bx.bc"; bd: "bx.bd"; be: "bx.be"; bf: "bx.bf"; bg: "bx.bg"; bh: "bx.bh"; bi: "bx.bi"; bj: "bx.bj"; bk: "bx.bk"; bl: "bx.bl"; bm: "bx.bm"; bn: "bx.bn"; bo: "bx.bo"; bp: "bx.bp"; bq: "bx.bq"; br: "bx.br"; bs: "bx.bs"; bt: "bx.bt"; bu: "bx.bu"; bv: "bx.bv"; bw: "bx.bw"; bx: "bx.bx"; by: "bx.by"; bz: "bx.bz"; ca: "bx.ca"; cb: "bx.cb"; cc: "bx.cc"; cd: "bx.cd"; ce: "bx.ce"; cf: "bx.cf"; cg: "bx.cg"; ch: "bx.ch"; ci: "bx.ci"; cj: "bx.cj"; ck: "bx.ck"; cl: "bx.cl"; cm: "bx.cm"; cn: "bx.cn"; co: "bx.co"; cp: "bx.cp"; cq: "bx.cq"; cr: "bx.cr"; cs: "bx.cs"; ct: "bx.ct"; cu: "bx.cu"; cv: "bx.cv"; cw: "bx.cw"; cx: "bx.cx"; cy: "bx.cy"; cz: "bx.cz"; da: "bx.da"; db: "bx.db"; dc: "bx.dc"; dd: "bx.dd"; de: "bx.de"; df: "bx.df"; dg: "bx.dg"; dh: "bx.dh"; di: "bx.di"; dj: "bx.dj"; dk: "bx.dk"; dl: "bx.dl"; dm: "bx.dm"; dn: "bx.dn"; do: "bx.do"; dp: "bx.dp"; dq: "bx.dq"; dr: "bx.dr"; ds: "bx.ds"; dt: "bx.dt"; du: "bx.du"; dv: "bx.dv"; dw: "bx.dw"; dx: "bx.dx"; dy: "bx.dy"; dz: "bx.dz"; ea: "bx.ea"; eb: "bx.eb"; ec: "bx.ec"; ed: "bx.ed"; ee: "bx.ee"; ef: "bx.ef"; eg: "bx.eg"; eh: "bx.eh"; ei: "bx.ei"; ej: "bx.ej"; ek: "bx.ek"; el: "bx.el"; em: "bx.em"; en: "bx.en"; eo: "bx.eo"; ep: "bx.ep"; eq: "bx.eq"; er: "bx.er"; es: "bx.es"; et: "bx.et"; eu: "bx.eu"; ev: "bx.ev"; ew: "bx.ew"; ex: "bx.ex"; ey: "bx.ey"; ez: "bx.ez"; fa: "bx.fa"; fb: "bx.fb"; fc: "bx.fc"; fd: "bx.fd"; fe: "bx.fe"; ff: "bx.ff"; fg: "bx.fg"; fh: "bx.fh"; fi: "bx.fi"; fj: "bx.fj"; fk: "bx.fk"; fl: "bx.fl"; fm: "bx.fm"; fn: "bx.fn"; fo: "bx.fo"; fp: "bx.fp"; fq: "bx.fq"; fr: "bx.fr"; fs: "bx.fs"; ft: "bx.ft"; fu: "bx.fu"; fv: "bx.fv"; fw: "bx.fw"; fx: "bx.fx"; fy: "bx.fy"; fz: "bx.fz"; ga: "bx.ga"; gb: "bx.gb"; gc: "bx.gc"; gd: "bx.gd"; ge: "bx.ge"; gf: "bx.gf"; gg: "bx.gg"; gh: "bx.gh"; gi: "bx.gi"; gj: "bx.gj"; gk: "bx.gk"; gl: "bx.gl"; gm: "bx.gm"; gn: "bx.gn"; go: "bx.go"; gp: "bx.gp"; gq: "bx.gq"; gr: "bx.gr"; gs: "bx.gs"; gt: "bx.gt"; gu: "bx.gu"; gv: "bx.gv"; gw: "bx.gw"; gx: "bx.gx"; gy: "bx.gy"; gz: "bx.gz"; ha: "bx.ha"; hb: "bx.hb"; hc: "bx.hc"; hd: "bx.hd"; he: "bx.he"; hf: "bx.hf"; hg: "bx.hg"; hh: "bx.hh"; hi: "bx.hi"; hj: "bx.hj"; hk: "bx.hk"; hl: "bx.hl"; hm: "bx.hm"; hn: "bx.hn"; ho: "bx.ho"; hp: "bx.hp"; hq: "bx.hq"; hr: "bx.hr"; hs: "bx.hs"; ht: "bx.ht"; hu: "bx.hu"; hv: "bx.hv"; hw: "bx.hw"; hx: "bx.hx"; hy: "bx.hy"; hz: "bx.hz"; ia: "bx.ia"; ib: "bx.ib"; ic: "bx.ic"; id: "bx.id"; ie: "bx.ie"; if: "bx.if"; ig: "bx.ig"; ih: "bx.ih"; ii: "bx.ii"; ij: "bx.ij"; ik: "bx.ik"; il: "bx.il"; im: "bx.im"; in: "bx.in"; io: "bx.io"; ip: "bx.ip"; iq: "bx.iq"; ir: "bx.ir"; is: "bx.is"; it: "bx.it"; iu: "bx.iu"; iv: "bx.iv"; iw: "bx.iw"; ix: "bx.ix"; iy: "bx.iy"; iz: "bx.iz"; ja: "bx.ja"; jb: "bx.jb"; jc: "bx.jc"; jd: "bx.jd"; je: "bx.je"; jf: "bx.jf"; jg: "bx.jg"; jh: "bx.jh"; ji: "bx.ji"; jj: "bx.jj"; jk: "bx.jk"; jl: "bx.jl"; jm: "bx.jm"; jn: "bx.jn"; jo: "bx.jo"; jp: "bx.jp"; jq: "bx.jq"; jr: "bx.jr"; js: "bx.js"; jt: "bx.jt"; ju: "bx.ju"; jv: "bx.jv"; jw: "bx.jw"; jx: "bx.jx"; jy: "bx.jy"; jz: "bx.jz"; ka: "bx.ka"; kb: "bx.kb"; kc: "bx.kc"; kd: "bx.kd"; ke: "bx.ke"; kf: "bx.kf"; kg: "bx.kg"; kh: "bx.kh"; ki: "bx.ki"; kj: "bx.kj"; kk: "bx.kk"; kl: "bx.kl"; km: "bx.km"; kn: "bx.kn"; ko: "bx.ko"; kp: "bx.kp"; kq: "bx.kq"; kr: "bx.kr"; ks: "bx.ks"; kt: "bx.kt"; ku: "bx.ku"; kv: "bx.kv"; kw: "bx.kw"; kx: "bx.kx"; ky: "bx.ky"; kz: "bx.kz"; la: "bx.la"; lb: "bx.lb"; lc: "bx.lc"; ld: "bx.ld"; le: "bx.le"; lf: "bx.lf"; lg: "bx.lg"; lh: "bx.lh"; li: "bx.li"; lj: "bx.lj"; lk: "bx.lk"; ll: "bx.ll"; lm: "bx.lm"; ln: "bx.ln"; lo: "bx.lo"; lp: "bx.lp"; lq: "bx.lq"; lr: "bx.lr"; ls: "bx.ls"; lt: "bx.lt"; lu: "bx.lu"; lv: "bx.lv"; lw: "bx.lw"; lx: "bx.lx"; ly: "bx.ly"; lz: "bx.lz"; ma: "bx.ma"; mb: "bx.mb"; mc: "bx.mc"; md: "bx.md"; me: "bx.me"; mf: "bx.mf"; mg: "bx.mg"; mh: "bx.mh"; mi: "bx.mi"; mj: "bx.mj"; mk: "bx.mk"; ml: "bx.ml"; mm: "bx.mm"; mn: "bx.mn"; mo: "bx.mo"; mp: "bx.mp"; mq: "bx.mq"; mr: "bx.mr"; ms: "bx.ms"; mt: "bx.mt"; mu: "bx.mu"; mv: "bx.mv"; mw: "bx.mw"; mx: "bx.mx"; my: "bx.my"; mz: "bx.mz"; na: "bx.na"; nb: "bx.nb"; nc: "bx.nc"; nd: "bx.nd"; ne: "bx.ne"; nf: "bx.nf"; ng: "bx.ng"; nh: "bx.nh"; ni: "bx.ni"; nj: "bx.nj"; nk: "bx.nk"; nl: "bx.nl"; nm: "bx.nm"; nn: "bx.nn"; no: "bx.no"; np: "bx.np"; nq: "bx.nq"; nr: "bx.nr"; ns: "bx.ns"; nt: "bx.nt"; nu: "bx.nu"; nv: "bx.nv"; nw: "bx.nw"; nx: "bx.nx"; ny: "bx.ny"; nz: "bx.nz"; oa: "bx.oa"; ob: "bx.ob"; oc: "bx.oc"; od: "bx.od"; oe: "bx.oe"; of: "bx.of"; og: "bx.og"; oh: "bx.oh"; oi: "bx.oi"; oj: "bx.oj"; ok: "bx.ok"; ol: "bx.ol"; om: "bx.om"; on: "bx.on"; oo: "bx.oo"; op: "bx.op"; oq: "bx.oq"; or: "bx.or"; os: "bx.os"; ot: "bx.ot"; ou: "bx.ou"; ov: "bx.ov"; ow: "bx.ow"; ox: "bx.ox"; oy: "bx.oy"; oz: "bx.oz"; pa: "bx.pa"; pb: "bx.pb"; pc: "bx.pc"; pd: "bx.pd"; pe: "bx.pe"; pf: "bx.pf"; pg: "bx.pg"; ph: "bx.ph"; pi: "bx.pi"; pj: "bx.pj"; pk: "bx.pk"; pl: "bx.pl"; pm: "bx.pm"; pn: "bx.pn"; po: "bx.po"; pp: "bx.pp"; pq: "bx.pq"; pr: "bx.pr"; ps: "bx.ps"; pt: "bx.pt"; pu: "bx.pu"; pv: "bx.pv"; pw: "bx.pw"; px: "bx.px"; py: "bx.py"; pz: "bx.pz"; qa: "bx.qa"; qb: "bx.qb"; qc: "bx.qc"; qd: "bx.qd"; qe: "bx.qe"; qf: "bx.qf"; qg: "bx.qg"; qh: "bx.qh"; qi: "bx.qi"; qj: "bx.qj"; qk: "bx.qk"; ql: "bx.ql"; qm: "bx.qm"; qn: "bx.qn"; qo: "bx.qo"; qp: "bx.qp"; qq: "bx.qq"; qr: "bx.qr"; qs: "bx.qs"; qt: "bx.qt"; qu: "bx.qu"; qv: "bx.qv"; qw: "bx.qw"; qx: "bx.qx"; qy: "bx.qy"; qz: "bx.qz"; ra: "bx.ra"; rb: "bx.rb"; rc: "bx.rc"; rd: "bx.rd"; re: "bx.re"; rf: "bx.rf"; rg: "bx.rg"; rh: "bx.rh"; ri: "bx.ri"; rj: "bx.rj"; rk: "bx.rk"; rl: "bx.rl"; rm: "bx.rm"; rn: "bx.rn"; ro: "bx.ro"; rp: "bx.rp"; rq: "bx.rq"; rr: "bx.rr"; rs: "bx.rs"; rt: "bx.rt"; ru: "bx.ru"; rv: "bx.rv"; rw: "bx.rw"; rx: "bx.rx"; ry: "bx.ry"; rz: "bx.rz"; sa: "bx.sa"; sb: "bx.sb"; sc: "bx.sc"; sd: "bx.sd"; se: "bx.se"; sf: "bx.sf"; sg: "bx.sg"; sh: "bx.sh"; si: "bx.si"; sj: "bx.sj"; sk: "bx.sk"; sl: "bx.sl"; sm: "bx.sm"; sn: "bx.sn"; so: "bx.so"; sp: "bx.sp"; sq: "bx.sq"; sr: "bx.sr"; ss: "bx.ss"; st: "bx.st"; su: "bx.su"; sv: "bx.sv"; sw: "bx.sw"; sx: "bx.sx"; sy: "bx.sy"; sz: "bx.sz"; ta: "bx.ta"; tb: "bx.tb"; tc: "bx.tc"; td: "bx.td"; te: "bx.te"; tf: "bx.tf"; tg: "bx.tg"; th: "bx.th"; ti: "bx.ti"; tj: "bx.tj"; tk: "bx.tk"; tl: "bx.tl"; tm: "bx.tm"; tn: "bx.tn"; to: "bx.to"; tp: "bx.tp"; tq: "bx.tq"; tr: "bx.tr"; ts: "bx.ts"; tt: "bx.tt"; tu: "bx.tu"; tv: "bx.tv"; tw: "bx.tw"; tx: "bx.tx"; ty: "bx.ty"; tz: "bx.tz"; ua: "bx.ua"; ub: "bx.ub"; uc: "bx.uc"; ud: "bx.ud"; ue: "bx.ue"; uf: "bx.uf"; ug: "bx.ug"; uh: "bx.uh"; ui: "bx.ui"; uj: "bx.uj"; uk: "bx.uk"; ul: "bx.ul"; um: "bx.um"; un: "bx.un"; uo: "bx.uo"; up: "bx.up"; uq: "bx.uq"; ur: "bx.ur"; us: "bx.us"; ut: "bx.ut"; uu: "bx.uu"; uv: "bx.uv"; uw: "bx.uw"; ux: "bx.ux"; uy: "bx.uy"; uz: "bx.uz"; va: "bx.va"; vb: "bx.vb"; vc: "bx.vc"; vd: "bx.vd"; ve: "bx.ve"; vf: "bx.vf"; vg: "bx.vg"; vh: "bx.vh"; vi: "bx.vi"; vj: "bx.vj"; vk: "bx.vk"; vl: "bx.vl"; vm: "bx.vm"; vn: "bx.vn"; vo: "bx.vo"; vp: "bx.vp"; vq: "bx.vq"; vr: "bx.vr"; vs: "bx.vs"; vt: "bx.vt"; vu: "bx.vu"; vv: "bx.vv"; vw: "bx.vw"; vx: "bx.vx"; vy: "bx.vy"; vz: "bx.vz"; wa: "bx.wa"; wb: "bx.wb"; wc: "bx.wc"; wd: "bx.wd"; we: "bx.we"; wf: "bx.wf"; wg: "bx.wg"; wh: "bx.wh"; wi: "bx.wi"; wj: "bx.wj"; wk: "bx.wk"; wl: "bx.wl"; wm: "bx.wm"; wn: "bx.wn"; wo: "bx.wo"; wp: "bx.wp"; wq: "bx.wq"; wr: "bx.wr"; ws: "bx.ws"; wt: "bx.wt"; wu: "bx.wu"; wv: "bx.wv"; ww: "bx.ww"; wx: "bx.wx"; wy: "bx.wy"; wz: "bx.wz"; xa: "bx.xa"; xb: "bx.xb"; xc: "bx.xc"; xd: "bx.xd"; xe: "bx.xe"; xf: "bx.xf"; xg: "bx.xg"; xh: "bx.xh"; xi: "bx.xi"; xj: "bx.xj"; xk: "bx.xk"; xl: "bx.xl"; xm: "bx.xm"; xn: "bx.xn"; xo: "bx.xo"; xp: "bx.xp"; xq: "bx.xq"; xr: "bx.xr"; xs: "bx.xs"; xt: "bx.xt"; xu: "bx.xu"; xv: "bx.xv"; xw: "bx.xw"; xx: "bx.xx"; xy: "bx.xy"; xz: "bx.xz"; ya: "bx.ya"; yb: "bx.yb"; yc: "bx.yc"; yd: "bx.yd"; ye: "bx.ye"; yf: "bx.yf"; yg: "bx.yg"; yh: "bx.yh"; yi: "bx.yi"; yj: "bx.yj"; yk: "bx.yk"; yl: "bx.yl"; ym: "bx.ym"; yn: "bx.yn"; yo: "bx.yo"; yp: "bx.yp"; yq: "bx.yq"; yr: "bx.yr"; ys: "bx.ys"; yt: "bx.yt"; yu: "bx.yu"; yv: "bx.yv"; yw: "bx.yw"; yx: "bx.yx"; yy: "bx.yy"; yz: "bx.yz"; za: "bx.za"; zb: "bx.zb"; zc: "bx.zc"; zd: "bx.zd"; ze: "bx.ze"; zf: "bx.zf"; zg: "bx.zg"; zh: "bx.zh"; zi: "bx.zi"; zj: "bx.zj"; zk: "bx.zk"; zl: "bx.zl"; zm: "bx.zm"; zn: "bx.zn"; zo: "bx.zo"; zp: "bx.zp"; zq: "bx.zq"; zr: "bx.zr"; zs: "bx.zs"; zt: "bx.zt"; zu: "bx.zu"; zv: "bx.zv"; zw: "bx.zw"; zx: "bx.zx"; zy: "bx.zy"; zz: "bx.zz"; }; by: { aa: "by.aa"; ab: "by.ab"; ac: "by.ac"; ad: "by.ad"; ae: "by.ae"; af: "by.af"; ag: "by.ag"; ah: "by.ah"; ai: "by.ai"; aj: "by.aj"; ak: "by.ak"; al: "by.al"; am: "by.am"; an: "by.an"; ao: "by.ao"; ap: "by.ap"; aq: "by.aq"; ar: "by.ar"; as: "by.as"; at: "by.at"; au: "by.au"; av: "by.av"; aw: "by.aw"; ax: "by.ax"; ay: "by.ay"; az: "by.az"; ba: "by.ba"; bb: "by.bb"; bc: "by.bc"; bd: "by.bd"; be: "by.be"; bf: "by.bf"; bg: "by.bg"; bh: "by.bh"; bi: "by.bi"; bj: "by.bj"; bk: "by.bk"; bl: "by.bl"; bm: "by.bm"; bn: "by.bn"; bo: "by.bo"; bp: "by.bp"; bq: "by.bq"; br: "by.br"; bs: "by.bs"; bt: "by.bt"; bu: "by.bu"; bv: "by.bv"; bw: "by.bw"; bx: "by.bx"; by: "by.by"; bz: "by.bz"; ca: "by.ca"; cb: "by.cb"; cc: "by.cc"; cd: "by.cd"; ce: "by.ce"; cf: "by.cf"; cg: "by.cg"; ch: "by.ch"; ci: "by.ci"; cj: "by.cj"; ck: "by.ck"; cl: "by.cl"; cm: "by.cm"; cn: "by.cn"; co: "by.co"; cp: "by.cp"; cq: "by.cq"; cr: "by.cr"; cs: "by.cs"; ct: "by.ct"; cu: "by.cu"; cv: "by.cv"; cw: "by.cw"; cx: "by.cx"; cy: "by.cy"; cz: "by.cz"; da: "by.da"; db: "by.db"; dc: "by.dc"; dd: "by.dd"; de: "by.de"; df: "by.df"; dg: "by.dg"; dh: "by.dh"; di: "by.di"; dj: "by.dj"; dk: "by.dk"; dl: "by.dl"; dm: "by.dm"; dn: "by.dn"; do: "by.do"; dp: "by.dp"; dq: "by.dq"; dr: "by.dr"; ds: "by.ds"; dt: "by.dt"; du: "by.du"; dv: "by.dv"; dw: "by.dw"; dx: "by.dx"; dy: "by.dy"; dz: "by.dz"; ea: "by.ea"; eb: "by.eb"; ec: "by.ec"; ed: "by.ed"; ee: "by.ee"; ef: "by.ef"; eg: "by.eg"; eh: "by.eh"; ei: "by.ei"; ej: "by.ej"; ek: "by.ek"; el: "by.el"; em: "by.em"; en: "by.en"; eo: "by.eo"; ep: "by.ep"; eq: "by.eq"; er: "by.er"; es: "by.es"; et: "by.et"; eu: "by.eu"; ev: "by.ev"; ew: "by.ew"; ex: "by.ex"; ey: "by.ey"; ez: "by.ez"; fa: "by.fa"; fb: "by.fb"; fc: "by.fc"; fd: "by.fd"; fe: "by.fe"; ff: "by.ff"; fg: "by.fg"; fh: "by.fh"; fi: "by.fi"; fj: "by.fj"; fk: "by.fk"; fl: "by.fl"; fm: "by.fm"; fn: "by.fn"; fo: "by.fo"; fp: "by.fp"; fq: "by.fq"; fr: "by.fr"; fs: "by.fs"; ft: "by.ft"; fu: "by.fu"; fv: "by.fv"; fw: "by.fw"; fx: "by.fx"; fy: "by.fy"; fz: "by.fz"; ga: "by.ga"; gb: "by.gb"; gc: "by.gc"; gd: "by.gd"; ge: "by.ge"; gf: "by.gf"; gg: "by.gg"; gh: "by.gh"; gi: "by.gi"; gj: "by.gj"; gk: "by.gk"; gl: "by.gl"; gm: "by.gm"; gn: "by.gn"; go: "by.go"; gp: "by.gp"; gq: "by.gq"; gr: "by.gr"; gs: "by.gs"; gt: "by.gt"; gu: "by.gu"; gv: "by.gv"; gw: "by.gw"; gx: "by.gx"; gy: "by.gy"; gz: "by.gz"; ha: "by.ha"; hb: "by.hb"; hc: "by.hc"; hd: "by.hd"; he: "by.he"; hf: "by.hf"; hg: "by.hg"; hh: "by.hh"; hi: "by.hi"; hj: "by.hj"; hk: "by.hk"; hl: "by.hl"; hm: "by.hm"; hn: "by.hn"; ho: "by.ho"; hp: "by.hp"; hq: "by.hq"; hr: "by.hr"; hs: "by.hs"; ht: "by.ht"; hu: "by.hu"; hv: "by.hv"; hw: "by.hw"; hx: "by.hx"; hy: "by.hy"; hz: "by.hz"; ia: "by.ia"; ib: "by.ib"; ic: "by.ic"; id: "by.id"; ie: "by.ie"; if: "by.if"; ig: "by.ig"; ih: "by.ih"; ii: "by.ii"; ij: "by.ij"; ik: "by.ik"; il: "by.il"; im: "by.im"; in: "by.in"; io: "by.io"; ip: "by.ip"; iq: "by.iq"; ir: "by.ir"; is: "by.is"; it: "by.it"; iu: "by.iu"; iv: "by.iv"; iw: "by.iw"; ix: "by.ix"; iy: "by.iy"; iz: "by.iz"; ja: "by.ja"; jb: "by.jb"; jc: "by.jc"; jd: "by.jd"; je: "by.je"; jf: "by.jf"; jg: "by.jg"; jh: "by.jh"; ji: "by.ji"; jj: "by.jj"; jk: "by.jk"; jl: "by.jl"; jm: "by.jm"; jn: "by.jn"; jo: "by.jo"; jp: "by.jp"; jq: "by.jq"; jr: "by.jr"; js: "by.js"; jt: "by.jt"; ju: "by.ju"; jv: "by.jv"; jw: "by.jw"; jx: "by.jx"; jy: "by.jy"; jz: "by.jz"; ka: "by.ka"; kb: "by.kb"; kc: "by.kc"; kd: "by.kd"; ke: "by.ke"; kf: "by.kf"; kg: "by.kg"; kh: "by.kh"; ki: "by.ki"; kj: "by.kj"; kk: "by.kk"; kl: "by.kl"; km: "by.km"; kn: "by.kn"; ko: "by.ko"; kp: "by.kp"; kq: "by.kq"; kr: "by.kr"; ks: "by.ks"; kt: "by.kt"; ku: "by.ku"; kv: "by.kv"; kw: "by.kw"; kx: "by.kx"; ky: "by.ky"; kz: "by.kz"; la: "by.la"; lb: "by.lb"; lc: "by.lc"; ld: "by.ld"; le: "by.le"; lf: "by.lf"; lg: "by.lg"; lh: "by.lh"; li: "by.li"; lj: "by.lj"; lk: "by.lk"; ll: "by.ll"; lm: "by.lm"; ln: "by.ln"; lo: "by.lo"; lp: "by.lp"; lq: "by.lq"; lr: "by.lr"; ls: "by.ls"; lt: "by.lt"; lu: "by.lu"; lv: "by.lv"; lw: "by.lw"; lx: "by.lx"; ly: "by.ly"; lz: "by.lz"; ma: "by.ma"; mb: "by.mb"; mc: "by.mc"; md: "by.md"; me: "by.me"; mf: "by.mf"; mg: "by.mg"; mh: "by.mh"; mi: "by.mi"; mj: "by.mj"; mk: "by.mk"; ml: "by.ml"; mm: "by.mm"; mn: "by.mn"; mo: "by.mo"; mp: "by.mp"; mq: "by.mq"; mr: "by.mr"; ms: "by.ms"; mt: "by.mt"; mu: "by.mu"; mv: "by.mv"; mw: "by.mw"; mx: "by.mx"; my: "by.my"; mz: "by.mz"; na: "by.na"; nb: "by.nb"; nc: "by.nc"; nd: "by.nd"; ne: "by.ne"; nf: "by.nf"; ng: "by.ng"; nh: "by.nh"; ni: "by.ni"; nj: "by.nj"; nk: "by.nk"; nl: "by.nl"; nm: "by.nm"; nn: "by.nn"; no: "by.no"; np: "by.np"; nq: "by.nq"; nr: "by.nr"; ns: "by.ns"; nt: "by.nt"; nu: "by.nu"; nv: "by.nv"; nw: "by.nw"; nx: "by.nx"; ny: "by.ny"; nz: "by.nz"; oa: "by.oa"; ob: "by.ob"; oc: "by.oc"; od: "by.od"; oe: "by.oe"; of: "by.of"; og: "by.og"; oh: "by.oh"; oi: "by.oi"; oj: "by.oj"; ok: "by.ok"; ol: "by.ol"; om: "by.om"; on: "by.on"; oo: "by.oo"; op: "by.op"; oq: "by.oq"; or: "by.or"; os: "by.os"; ot: "by.ot"; ou: "by.ou"; ov: "by.ov"; ow: "by.ow"; ox: "by.ox"; oy: "by.oy"; oz: "by.oz"; pa: "by.pa"; pb: "by.pb"; pc: "by.pc"; pd: "by.pd"; pe: "by.pe"; pf: "by.pf"; pg: "by.pg"; ph: "by.ph"; pi: "by.pi"; pj: "by.pj"; pk: "by.pk"; pl: "by.pl"; pm: "by.pm"; pn: "by.pn"; po: "by.po"; pp: "by.pp"; pq: "by.pq"; pr: "by.pr"; ps: "by.ps"; pt: "by.pt"; pu: "by.pu"; pv: "by.pv"; pw: "by.pw"; px: "by.px"; py: "by.py"; pz: "by.pz"; qa: "by.qa"; qb: "by.qb"; qc: "by.qc"; qd: "by.qd"; qe: "by.qe"; qf: "by.qf"; qg: "by.qg"; qh: "by.qh"; qi: "by.qi"; qj: "by.qj"; qk: "by.qk"; ql: "by.ql"; qm: "by.qm"; qn: "by.qn"; qo: "by.qo"; qp: "by.qp"; qq: "by.qq"; qr: "by.qr"; qs: "by.qs"; qt: "by.qt"; qu: "by.qu"; qv: "by.qv"; qw: "by.qw"; qx: "by.qx"; qy: "by.qy"; qz: "by.qz"; ra: "by.ra"; rb: "by.rb"; rc: "by.rc"; rd: "by.rd"; re: "by.re"; rf: "by.rf"; rg: "by.rg"; rh: "by.rh"; ri: "by.ri"; rj: "by.rj"; rk: "by.rk"; rl: "by.rl"; rm: "by.rm"; rn: "by.rn"; ro: "by.ro"; rp: "by.rp"; rq: "by.rq"; rr: "by.rr"; rs: "by.rs"; rt: "by.rt"; ru: "by.ru"; rv: "by.rv"; rw: "by.rw"; rx: "by.rx"; ry: "by.ry"; rz: "by.rz"; sa: "by.sa"; sb: "by.sb"; sc: "by.sc"; sd: "by.sd"; se: "by.se"; sf: "by.sf"; sg: "by.sg"; sh: "by.sh"; si: "by.si"; sj: "by.sj"; sk: "by.sk"; sl: "by.sl"; sm: "by.sm"; sn: "by.sn"; so: "by.so"; sp: "by.sp"; sq: "by.sq"; sr: "by.sr"; ss: "by.ss"; st: "by.st"; su: "by.su"; sv: "by.sv"; sw: "by.sw"; sx: "by.sx"; sy: "by.sy"; sz: "by.sz"; ta: "by.ta"; tb: "by.tb"; tc: "by.tc"; td: "by.td"; te: "by.te"; tf: "by.tf"; tg: "by.tg"; th: "by.th"; ti: "by.ti"; tj: "by.tj"; tk: "by.tk"; tl: "by.tl"; tm: "by.tm"; tn: "by.tn"; to: "by.to"; tp: "by.tp"; tq: "by.tq"; tr: "by.tr"; ts: "by.ts"; tt: "by.tt"; tu: "by.tu"; tv: "by.tv"; tw: "by.tw"; tx: "by.tx"; ty: "by.ty"; tz: "by.tz"; ua: "by.ua"; ub: "by.ub"; uc: "by.uc"; ud: "by.ud"; ue: "by.ue"; uf: "by.uf"; ug: "by.ug"; uh: "by.uh"; ui: "by.ui"; uj: "by.uj"; uk: "by.uk"; ul: "by.ul"; um: "by.um"; un: "by.un"; uo: "by.uo"; up: "by.up"; uq: "by.uq"; ur: "by.ur"; us: "by.us"; ut: "by.ut"; uu: "by.uu"; uv: "by.uv"; uw: "by.uw"; ux: "by.ux"; uy: "by.uy"; uz: "by.uz"; va: "by.va"; vb: "by.vb"; vc: "by.vc"; vd: "by.vd"; ve: "by.ve"; vf: "by.vf"; vg: "by.vg"; vh: "by.vh"; vi: "by.vi"; vj: "by.vj"; vk: "by.vk"; vl: "by.vl"; vm: "by.vm"; vn: "by.vn"; vo: "by.vo"; vp: "by.vp"; vq: "by.vq"; vr: "by.vr"; vs: "by.vs"; vt: "by.vt"; vu: "by.vu"; vv: "by.vv"; vw: "by.vw"; vx: "by.vx"; vy: "by.vy"; vz: "by.vz"; wa: "by.wa"; wb: "by.wb"; wc: "by.wc"; wd: "by.wd"; we: "by.we"; wf: "by.wf"; wg: "by.wg"; wh: "by.wh"; wi: "by.wi"; wj: "by.wj"; wk: "by.wk"; wl: "by.wl"; wm: "by.wm"; wn: "by.wn"; wo: "by.wo"; wp: "by.wp"; wq: "by.wq"; wr: "by.wr"; ws: "by.ws"; wt: "by.wt"; wu: "by.wu"; wv: "by.wv"; ww: "by.ww"; wx: "by.wx"; wy: "by.wy"; wz: "by.wz"; xa: "by.xa"; xb: "by.xb"; xc: "by.xc"; xd: "by.xd"; xe: "by.xe"; xf: "by.xf"; xg: "by.xg"; xh: "by.xh"; xi: "by.xi"; xj: "by.xj"; xk: "by.xk"; xl: "by.xl"; xm: "by.xm"; xn: "by.xn"; xo: "by.xo"; xp: "by.xp"; xq: "by.xq"; xr: "by.xr"; xs: "by.xs"; xt: "by.xt"; xu: "by.xu"; xv: "by.xv"; xw: "by.xw"; xx: "by.xx"; xy: "by.xy"; xz: "by.xz"; ya: "by.ya"; yb: "by.yb"; yc: "by.yc"; yd: "by.yd"; ye: "by.ye"; yf: "by.yf"; yg: "by.yg"; yh: "by.yh"; yi: "by.yi"; yj: "by.yj"; yk: "by.yk"; yl: "by.yl"; ym: "by.ym"; yn: "by.yn"; yo: "by.yo"; yp: "by.yp"; yq: "by.yq"; yr: "by.yr"; ys: "by.ys"; yt: "by.yt"; yu: "by.yu"; yv: "by.yv"; yw: "by.yw"; yx: "by.yx"; yy: "by.yy"; yz: "by.yz"; za: "by.za"; zb: "by.zb"; zc: "by.zc"; zd: "by.zd"; ze: "by.ze"; zf: "by.zf"; zg: "by.zg"; zh: "by.zh"; zi: "by.zi"; zj: "by.zj"; zk: "by.zk"; zl: "by.zl"; zm: "by.zm"; zn: "by.zn"; zo: "by.zo"; zp: "by.zp"; zq: "by.zq"; zr: "by.zr"; zs: "by.zs"; zt: "by.zt"; zu: "by.zu"; zv: "by.zv"; zw: "by.zw"; zx: "by.zx"; zy: "by.zy"; zz: "by.zz"; }; bz: { aa: "bz.aa"; ab: "bz.ab"; ac: "bz.ac"; ad: "bz.ad"; ae: "bz.ae"; af: "bz.af"; ag: "bz.ag"; ah: "bz.ah"; ai: "bz.ai"; aj: "bz.aj"; ak: "bz.ak"; al: "bz.al"; am: "bz.am"; an: "bz.an"; ao: "bz.ao"; ap: "bz.ap"; aq: "bz.aq"; ar: "bz.ar"; as: "bz.as"; at: "bz.at"; au: "bz.au"; av: "bz.av"; aw: "bz.aw"; ax: "bz.ax"; ay: "bz.ay"; az: "bz.az"; ba: "bz.ba"; bb: "bz.bb"; bc: "bz.bc"; bd: "bz.bd"; be: "bz.be"; bf: "bz.bf"; bg: "bz.bg"; bh: "bz.bh"; bi: "bz.bi"; bj: "bz.bj"; bk: "bz.bk"; bl: "bz.bl"; bm: "bz.bm"; bn: "bz.bn"; bo: "bz.bo"; bp: "bz.bp"; bq: "bz.bq"; br: "bz.br"; bs: "bz.bs"; bt: "bz.bt"; bu: "bz.bu"; bv: "bz.bv"; bw: "bz.bw"; bx: "bz.bx"; by: "bz.by"; bz: "bz.bz"; ca: "bz.ca"; cb: "bz.cb"; cc: "bz.cc"; cd: "bz.cd"; ce: "bz.ce"; cf: "bz.cf"; cg: "bz.cg"; ch: "bz.ch"; ci: "bz.ci"; cj: "bz.cj"; ck: "bz.ck"; cl: "bz.cl"; cm: "bz.cm"; cn: "bz.cn"; co: "bz.co"; cp: "bz.cp"; cq: "bz.cq"; cr: "bz.cr"; cs: "bz.cs"; ct: "bz.ct"; cu: "bz.cu"; cv: "bz.cv"; cw: "bz.cw"; cx: "bz.cx"; cy: "bz.cy"; cz: "bz.cz"; da: "bz.da"; db: "bz.db"; dc: "bz.dc"; dd: "bz.dd"; de: "bz.de"; df: "bz.df"; dg: "bz.dg"; dh: "bz.dh"; di: "bz.di"; dj: "bz.dj"; dk: "bz.dk"; dl: "bz.dl"; dm: "bz.dm"; dn: "bz.dn"; do: "bz.do"; dp: "bz.dp"; dq: "bz.dq"; dr: "bz.dr"; ds: "bz.ds"; dt: "bz.dt"; du: "bz.du"; dv: "bz.dv"; dw: "bz.dw"; dx: "bz.dx"; dy: "bz.dy"; dz: "bz.dz"; ea: "bz.ea"; eb: "bz.eb"; ec: "bz.ec"; ed: "bz.ed"; ee: "bz.ee"; ef: "bz.ef"; eg: "bz.eg"; eh: "bz.eh"; ei: "bz.ei"; ej: "bz.ej"; ek: "bz.ek"; el: "bz.el"; em: "bz.em"; en: "bz.en"; eo: "bz.eo"; ep: "bz.ep"; eq: "bz.eq"; er: "bz.er"; es: "bz.es"; et: "bz.et"; eu: "bz.eu"; ev: "bz.ev"; ew: "bz.ew"; ex: "bz.ex"; ey: "bz.ey"; ez: "bz.ez"; fa: "bz.fa"; fb: "bz.fb"; fc: "bz.fc"; fd: "bz.fd"; fe: "bz.fe"; ff: "bz.ff"; fg: "bz.fg"; fh: "bz.fh"; fi: "bz.fi"; fj: "bz.fj"; fk: "bz.fk"; fl: "bz.fl"; fm: "bz.fm"; fn: "bz.fn"; fo: "bz.fo"; fp: "bz.fp"; fq: "bz.fq"; fr: "bz.fr"; fs: "bz.fs"; ft: "bz.ft"; fu: "bz.fu"; fv: "bz.fv"; fw: "bz.fw"; fx: "bz.fx"; fy: "bz.fy"; fz: "bz.fz"; ga: "bz.ga"; gb: "bz.gb"; gc: "bz.gc"; gd: "bz.gd"; ge: "bz.ge"; gf: "bz.gf"; gg: "bz.gg"; gh: "bz.gh"; gi: "bz.gi"; gj: "bz.gj"; gk: "bz.gk"; gl: "bz.gl"; gm: "bz.gm"; gn: "bz.gn"; go: "bz.go"; gp: "bz.gp"; gq: "bz.gq"; gr: "bz.gr"; gs: "bz.gs"; gt: "bz.gt"; gu: "bz.gu"; gv: "bz.gv"; gw: "bz.gw"; gx: "bz.gx"; gy: "bz.gy"; gz: "bz.gz"; ha: "bz.ha"; hb: "bz.hb"; hc: "bz.hc"; hd: "bz.hd"; he: "bz.he"; hf: "bz.hf"; hg: "bz.hg"; hh: "bz.hh"; hi: "bz.hi"; hj: "bz.hj"; hk: "bz.hk"; hl: "bz.hl"; hm: "bz.hm"; hn: "bz.hn"; ho: "bz.ho"; hp: "bz.hp"; hq: "bz.hq"; hr: "bz.hr"; hs: "bz.hs"; ht: "bz.ht"; hu: "bz.hu"; hv: "bz.hv"; hw: "bz.hw"; hx: "bz.hx"; hy: "bz.hy"; hz: "bz.hz"; ia: "bz.ia"; ib: "bz.ib"; ic: "bz.ic"; id: "bz.id"; ie: "bz.ie"; if: "bz.if"; ig: "bz.ig"; ih: "bz.ih"; ii: "bz.ii"; ij: "bz.ij"; ik: "bz.ik"; il: "bz.il"; im: "bz.im"; in: "bz.in"; io: "bz.io"; ip: "bz.ip"; iq: "bz.iq"; ir: "bz.ir"; is: "bz.is"; it: "bz.it"; iu: "bz.iu"; iv: "bz.iv"; iw: "bz.iw"; ix: "bz.ix"; iy: "bz.iy"; iz: "bz.iz"; ja: "bz.ja"; jb: "bz.jb"; jc: "bz.jc"; jd: "bz.jd"; je: "bz.je"; jf: "bz.jf"; jg: "bz.jg"; jh: "bz.jh"; ji: "bz.ji"; jj: "bz.jj"; jk: "bz.jk"; jl: "bz.jl"; jm: "bz.jm"; jn: "bz.jn"; jo: "bz.jo"; jp: "bz.jp"; jq: "bz.jq"; jr: "bz.jr"; js: "bz.js"; jt: "bz.jt"; ju: "bz.ju"; jv: "bz.jv"; jw: "bz.jw"; jx: "bz.jx"; jy: "bz.jy"; jz: "bz.jz"; ka: "bz.ka"; kb: "bz.kb"; kc: "bz.kc"; kd: "bz.kd"; ke: "bz.ke"; kf: "bz.kf"; kg: "bz.kg"; kh: "bz.kh"; ki: "bz.ki"; kj: "bz.kj"; kk: "bz.kk"; kl: "bz.kl"; km: "bz.km"; kn: "bz.kn"; ko: "bz.ko"; kp: "bz.kp"; kq: "bz.kq"; kr: "bz.kr"; ks: "bz.ks"; kt: "bz.kt"; ku: "bz.ku"; kv: "bz.kv"; kw: "bz.kw"; kx: "bz.kx"; ky: "bz.ky"; kz: "bz.kz"; la: "bz.la"; lb: "bz.lb"; lc: "bz.lc"; ld: "bz.ld"; le: "bz.le"; lf: "bz.lf"; lg: "bz.lg"; lh: "bz.lh"; li: "bz.li"; lj: "bz.lj"; lk: "bz.lk"; ll: "bz.ll"; lm: "bz.lm"; ln: "bz.ln"; lo: "bz.lo"; lp: "bz.lp"; lq: "bz.lq"; lr: "bz.lr"; ls: "bz.ls"; lt: "bz.lt"; lu: "bz.lu"; lv: "bz.lv"; lw: "bz.lw"; lx: "bz.lx"; ly: "bz.ly"; lz: "bz.lz"; ma: "bz.ma"; mb: "bz.mb"; mc: "bz.mc"; md: "bz.md"; me: "bz.me"; mf: "bz.mf"; mg: "bz.mg"; mh: "bz.mh"; mi: "bz.mi"; mj: "bz.mj"; mk: "bz.mk"; ml: "bz.ml"; mm: "bz.mm"; mn: "bz.mn"; mo: "bz.mo"; mp: "bz.mp"; mq: "bz.mq"; mr: "bz.mr"; ms: "bz.ms"; mt: "bz.mt"; mu: "bz.mu"; mv: "bz.mv"; mw: "bz.mw"; mx: "bz.mx"; my: "bz.my"; mz: "bz.mz"; na: "bz.na"; nb: "bz.nb"; nc: "bz.nc"; nd: "bz.nd"; ne: "bz.ne"; nf: "bz.nf"; ng: "bz.ng"; nh: "bz.nh"; ni: "bz.ni"; nj: "bz.nj"; nk: "bz.nk"; nl: "bz.nl"; nm: "bz.nm"; nn: "bz.nn"; no: "bz.no"; np: "bz.np"; nq: "bz.nq"; nr: "bz.nr"; ns: "bz.ns"; nt: "bz.nt"; nu: "bz.nu"; nv: "bz.nv"; nw: "bz.nw"; nx: "bz.nx"; ny: "bz.ny"; nz: "bz.nz"; oa: "bz.oa"; ob: "bz.ob"; oc: "bz.oc"; od: "bz.od"; oe: "bz.oe"; of: "bz.of"; og: "bz.og"; oh: "bz.oh"; oi: "bz.oi"; oj: "bz.oj"; ok: "bz.ok"; ol: "bz.ol"; om: "bz.om"; on: "bz.on"; oo: "bz.oo"; op: "bz.op"; oq: "bz.oq"; or: "bz.or"; os: "bz.os"; ot: "bz.ot"; ou: "bz.ou"; ov: "bz.ov"; ow: "bz.ow"; ox: "bz.ox"; oy: "bz.oy"; oz: "bz.oz"; pa: "bz.pa"; pb: "bz.pb"; pc: "bz.pc"; pd: "bz.pd"; pe: "bz.pe"; pf: "bz.pf"; pg: "bz.pg"; ph: "bz.ph"; pi: "bz.pi"; pj: "bz.pj"; pk: "bz.pk"; pl: "bz.pl"; pm: "bz.pm"; pn: "bz.pn"; po: "bz.po"; pp: "bz.pp"; pq: "bz.pq"; pr: "bz.pr"; ps: "bz.ps"; pt: "bz.pt"; pu: "bz.pu"; pv: "bz.pv"; pw: "bz.pw"; px: "bz.px"; py: "bz.py"; pz: "bz.pz"; qa: "bz.qa"; qb: "bz.qb"; qc: "bz.qc"; qd: "bz.qd"; qe: "bz.qe"; qf: "bz.qf"; qg: "bz.qg"; qh: "bz.qh"; qi: "bz.qi"; qj: "bz.qj"; qk: "bz.qk"; ql: "bz.ql"; qm: "bz.qm"; qn: "bz.qn"; qo: "bz.qo"; qp: "bz.qp"; qq: "bz.qq"; qr: "bz.qr"; qs: "bz.qs"; qt: "bz.qt"; qu: "bz.qu"; qv: "bz.qv"; qw: "bz.qw"; qx: "bz.qx"; qy: "bz.qy"; qz: "bz.qz"; ra: "bz.ra"; rb: "bz.rb"; rc: "bz.rc"; rd: "bz.rd"; re: "bz.re"; rf: "bz.rf"; rg: "bz.rg"; rh: "bz.rh"; ri: "bz.ri"; rj: "bz.rj"; rk: "bz.rk"; rl: "bz.rl"; rm: "bz.rm"; rn: "bz.rn"; ro: "bz.ro"; rp: "bz.rp"; rq: "bz.rq"; rr: "bz.rr"; rs: "bz.rs"; rt: "bz.rt"; ru: "bz.ru"; rv: "bz.rv"; rw: "bz.rw"; rx: "bz.rx"; ry: "bz.ry"; rz: "bz.rz"; sa: "bz.sa"; sb: "bz.sb"; sc: "bz.sc"; sd: "bz.sd"; se: "bz.se"; sf: "bz.sf"; sg: "bz.sg"; sh: "bz.sh"; si: "bz.si"; sj: "bz.sj"; sk: "bz.sk"; sl: "bz.sl"; sm: "bz.sm"; sn: "bz.sn"; so: "bz.so"; sp: "bz.sp"; sq: "bz.sq"; sr: "bz.sr"; ss: "bz.ss"; st: "bz.st"; su: "bz.su"; sv: "bz.sv"; sw: "bz.sw"; sx: "bz.sx"; sy: "bz.sy"; sz: "bz.sz"; ta: "bz.ta"; tb: "bz.tb"; tc: "bz.tc"; td: "bz.td"; te: "bz.te"; tf: "bz.tf"; tg: "bz.tg"; th: "bz.th"; ti: "bz.ti"; tj: "bz.tj"; tk: "bz.tk"; tl: "bz.tl"; tm: "bz.tm"; tn: "bz.tn"; to: "bz.to"; tp: "bz.tp"; tq: "bz.tq"; tr: "bz.tr"; ts: "bz.ts"; tt: "bz.tt"; tu: "bz.tu"; tv: "bz.tv"; tw: "bz.tw"; tx: "bz.tx"; ty: "bz.ty"; tz: "bz.tz"; ua: "bz.ua"; ub: "bz.ub"; uc: "bz.uc"; ud: "bz.ud"; ue: "bz.ue"; uf: "bz.uf"; ug: "bz.ug"; uh: "bz.uh"; ui: "bz.ui"; uj: "bz.uj"; uk: "bz.uk"; ul: "bz.ul"; um: "bz.um"; un: "bz.un"; uo: "bz.uo"; up: "bz.up"; uq: "bz.uq"; ur: "bz.ur"; us: "bz.us"; ut: "bz.ut"; uu: "bz.uu"; uv: "bz.uv"; uw: "bz.uw"; ux: "bz.ux"; uy: "bz.uy"; uz: "bz.uz"; va: "bz.va"; vb: "bz.vb"; vc: "bz.vc"; vd: "bz.vd"; ve: "bz.ve"; vf: "bz.vf"; vg: "bz.vg"; vh: "bz.vh"; vi: "bz.vi"; vj: "bz.vj"; vk: "bz.vk"; vl: "bz.vl"; vm: "bz.vm"; vn: "bz.vn"; vo: "bz.vo"; vp: "bz.vp"; vq: "bz.vq"; vr: "bz.vr"; vs: "bz.vs"; vt: "bz.vt"; vu: "bz.vu"; vv: "bz.vv"; vw: "bz.vw"; vx: "bz.vx"; vy: "bz.vy"; vz: "bz.vz"; wa: "bz.wa"; wb: "bz.wb"; wc: "bz.wc"; wd: "bz.wd"; we: "bz.we"; wf: "bz.wf"; wg: "bz.wg"; wh: "bz.wh"; wi: "bz.wi"; wj: "bz.wj"; wk: "bz.wk"; wl: "bz.wl"; wm: "bz.wm"; wn: "bz.wn"; wo: "bz.wo"; wp: "bz.wp"; wq: "bz.wq"; wr: "bz.wr"; ws: "bz.ws"; wt: "bz.wt"; wu: "bz.wu"; wv: "bz.wv"; ww: "bz.ww"; wx: "bz.wx"; wy: "bz.wy"; wz: "bz.wz"; xa: "bz.xa"; xb: "bz.xb"; xc: "bz.xc"; xd: "bz.xd"; xe: "bz.xe"; xf: "bz.xf"; xg: "bz.xg"; xh: "bz.xh"; xi: "bz.xi"; xj: "bz.xj"; xk: "bz.xk"; xl: "bz.xl"; xm: "bz.xm"; xn: "bz.xn"; xo: "bz.xo"; xp: "bz.xp"; xq: "bz.xq"; xr: "bz.xr"; xs: "bz.xs"; xt: "bz.xt"; xu: "bz.xu"; xv: "bz.xv"; xw: "bz.xw"; xx: "bz.xx"; xy: "bz.xy"; xz: "bz.xz"; ya: "bz.ya"; yb: "bz.yb"; yc: "bz.yc"; yd: "bz.yd"; ye: "bz.ye"; yf: "bz.yf"; yg: "bz.yg"; yh: "bz.yh"; yi: "bz.yi"; yj: "bz.yj"; yk: "bz.yk"; yl: "bz.yl"; ym: "bz.ym"; yn: "bz.yn"; yo: "bz.yo"; yp: "bz.yp"; yq: "bz.yq"; yr: "bz.yr"; ys: "bz.ys"; yt: "bz.yt"; yu: "bz.yu"; yv: "bz.yv"; yw: "bz.yw"; yx: "bz.yx"; yy: "bz.yy"; yz: "bz.yz"; za: "bz.za"; zb: "bz.zb"; zc: "bz.zc"; zd: "bz.zd"; ze: "bz.ze"; zf: "bz.zf"; zg: "bz.zg"; zh: "bz.zh"; zi: "bz.zi"; zj: "bz.zj"; zk: "bz.zk"; zl: "bz.zl"; zm: "bz.zm"; zn: "bz.zn"; zo: "bz.zo"; zp: "bz.zp"; zq: "bz.zq"; zr: "bz.zr"; zs: "bz.zs"; zt: "bz.zt"; zu: "bz.zu"; zv: "bz.zv"; zw: "bz.zw"; zx: "bz.zx"; zy: "bz.zy"; zz: "bz.zz"; }; ca: { aa: "ca.aa"; ab: "ca.ab"; ac: "ca.ac"; ad: "ca.ad"; ae: "ca.ae"; af: "ca.af"; ag: "ca.ag"; ah: "ca.ah"; ai: "ca.ai"; aj: "ca.aj"; ak: "ca.ak"; al: "ca.al"; am: "ca.am"; an: "ca.an"; ao: "ca.ao"; ap: "ca.ap"; aq: "ca.aq"; ar: "ca.ar"; as: "ca.as"; at: "ca.at"; au: "ca.au"; av: "ca.av"; aw: "ca.aw"; ax: "ca.ax"; ay: "ca.ay"; az: "ca.az"; ba: "ca.ba"; bb: "ca.bb"; bc: "ca.bc"; bd: "ca.bd"; be: "ca.be"; bf: "ca.bf"; bg: "ca.bg"; bh: "ca.bh"; bi: "ca.bi"; bj: "ca.bj"; bk: "ca.bk"; bl: "ca.bl"; bm: "ca.bm"; bn: "ca.bn"; bo: "ca.bo"; bp: "ca.bp"; bq: "ca.bq"; br: "ca.br"; bs: "ca.bs"; bt: "ca.bt"; bu: "ca.bu"; bv: "ca.bv"; bw: "ca.bw"; bx: "ca.bx"; by: "ca.by"; bz: "ca.bz"; ca: "ca.ca"; cb: "ca.cb"; cc: "ca.cc"; cd: "ca.cd"; ce: "ca.ce"; cf: "ca.cf"; cg: "ca.cg"; ch: "ca.ch"; ci: "ca.ci"; cj: "ca.cj"; ck: "ca.ck"; cl: "ca.cl"; cm: "ca.cm"; cn: "ca.cn"; co: "ca.co"; cp: "ca.cp"; cq: "ca.cq"; cr: "ca.cr"; cs: "ca.cs"; ct: "ca.ct"; cu: "ca.cu"; cv: "ca.cv"; cw: "ca.cw"; cx: "ca.cx"; cy: "ca.cy"; cz: "ca.cz"; da: "ca.da"; db: "ca.db"; dc: "ca.dc"; dd: "ca.dd"; de: "ca.de"; df: "ca.df"; dg: "ca.dg"; dh: "ca.dh"; di: "ca.di"; dj: "ca.dj"; dk: "ca.dk"; dl: "ca.dl"; dm: "ca.dm"; dn: "ca.dn"; do: "ca.do"; dp: "ca.dp"; dq: "ca.dq"; dr: "ca.dr"; ds: "ca.ds"; dt: "ca.dt"; du: "ca.du"; dv: "ca.dv"; dw: "ca.dw"; dx: "ca.dx"; dy: "ca.dy"; dz: "ca.dz"; ea: "ca.ea"; eb: "ca.eb"; ec: "ca.ec"; ed: "ca.ed"; ee: "ca.ee"; ef: "ca.ef"; eg: "ca.eg"; eh: "ca.eh"; ei: "ca.ei"; ej: "ca.ej"; ek: "ca.ek"; el: "ca.el"; em: "ca.em"; en: "ca.en"; eo: "ca.eo"; ep: "ca.ep"; eq: "ca.eq"; er: "ca.er"; es: "ca.es"; et: "ca.et"; eu: "ca.eu"; ev: "ca.ev"; ew: "ca.ew"; ex: "ca.ex"; ey: "ca.ey"; ez: "ca.ez"; fa: "ca.fa"; fb: "ca.fb"; fc: "ca.fc"; fd: "ca.fd"; fe: "ca.fe"; ff: "ca.ff"; fg: "ca.fg"; fh: "ca.fh"; fi: "ca.fi"; fj: "ca.fj"; fk: "ca.fk"; fl: "ca.fl"; fm: "ca.fm"; fn: "ca.fn"; fo: "ca.fo"; fp: "ca.fp"; fq: "ca.fq"; fr: "ca.fr"; fs: "ca.fs"; ft: "ca.ft"; fu: "ca.fu"; fv: "ca.fv"; fw: "ca.fw"; fx: "ca.fx"; fy: "ca.fy"; fz: "ca.fz"; ga: "ca.ga"; gb: "ca.gb"; gc: "ca.gc"; gd: "ca.gd"; ge: "ca.ge"; gf: "ca.gf"; gg: "ca.gg"; gh: "ca.gh"; gi: "ca.gi"; gj: "ca.gj"; gk: "ca.gk"; gl: "ca.gl"; gm: "ca.gm"; gn: "ca.gn"; go: "ca.go"; gp: "ca.gp"; gq: "ca.gq"; gr: "ca.gr"; gs: "ca.gs"; gt: "ca.gt"; gu: "ca.gu"; gv: "ca.gv"; gw: "ca.gw"; gx: "ca.gx"; gy: "ca.gy"; gz: "ca.gz"; ha: "ca.ha"; hb: "ca.hb"; hc: "ca.hc"; hd: "ca.hd"; he: "ca.he"; hf: "ca.hf"; hg: "ca.hg"; hh: "ca.hh"; hi: "ca.hi"; hj: "ca.hj"; hk: "ca.hk"; hl: "ca.hl"; hm: "ca.hm"; hn: "ca.hn"; ho: "ca.ho"; hp: "ca.hp"; hq: "ca.hq"; hr: "ca.hr"; hs: "ca.hs"; ht: "ca.ht"; hu: "ca.hu"; hv: "ca.hv"; hw: "ca.hw"; hx: "ca.hx"; hy: "ca.hy"; hz: "ca.hz"; ia: "ca.ia"; ib: "ca.ib"; ic: "ca.ic"; id: "ca.id"; ie: "ca.ie"; if: "ca.if"; ig: "ca.ig"; ih: "ca.ih"; ii: "ca.ii"; ij: "ca.ij"; ik: "ca.ik"; il: "ca.il"; im: "ca.im"; in: "ca.in"; io: "ca.io"; ip: "ca.ip"; iq: "ca.iq"; ir: "ca.ir"; is: "ca.is"; it: "ca.it"; iu: "ca.iu"; iv: "ca.iv"; iw: "ca.iw"; ix: "ca.ix"; iy: "ca.iy"; iz: "ca.iz"; ja: "ca.ja"; jb: "ca.jb"; jc: "ca.jc"; jd: "ca.jd"; je: "ca.je"; jf: "ca.jf"; jg: "ca.jg"; jh: "ca.jh"; ji: "ca.ji"; jj: "ca.jj"; jk: "ca.jk"; jl: "ca.jl"; jm: "ca.jm"; jn: "ca.jn"; jo: "ca.jo"; jp: "ca.jp"; jq: "ca.jq"; jr: "ca.jr"; js: "ca.js"; jt: "ca.jt"; ju: "ca.ju"; jv: "ca.jv"; jw: "ca.jw"; jx: "ca.jx"; jy: "ca.jy"; jz: "ca.jz"; ka: "ca.ka"; kb: "ca.kb"; kc: "ca.kc"; kd: "ca.kd"; ke: "ca.ke"; kf: "ca.kf"; kg: "ca.kg"; kh: "ca.kh"; ki: "ca.ki"; kj: "ca.kj"; kk: "ca.kk"; kl: "ca.kl"; km: "ca.km"; kn: "ca.kn"; ko: "ca.ko"; kp: "ca.kp"; kq: "ca.kq"; kr: "ca.kr"; ks: "ca.ks"; kt: "ca.kt"; ku: "ca.ku"; kv: "ca.kv"; kw: "ca.kw"; kx: "ca.kx"; ky: "ca.ky"; kz: "ca.kz"; la: "ca.la"; lb: "ca.lb"; lc: "ca.lc"; ld: "ca.ld"; le: "ca.le"; lf: "ca.lf"; lg: "ca.lg"; lh: "ca.lh"; li: "ca.li"; lj: "ca.lj"; lk: "ca.lk"; ll: "ca.ll"; lm: "ca.lm"; ln: "ca.ln"; lo: "ca.lo"; lp: "ca.lp"; lq: "ca.lq"; lr: "ca.lr"; ls: "ca.ls"; lt: "ca.lt"; lu: "ca.lu"; lv: "ca.lv"; lw: "ca.lw"; lx: "ca.lx"; ly: "ca.ly"; lz: "ca.lz"; ma: "ca.ma"; mb: "ca.mb"; mc: "ca.mc"; md: "ca.md"; me: "ca.me"; mf: "ca.mf"; mg: "ca.mg"; mh: "ca.mh"; mi: "ca.mi"; mj: "ca.mj"; mk: "ca.mk"; ml: "ca.ml"; mm: "ca.mm"; mn: "ca.mn"; mo: "ca.mo"; mp: "ca.mp"; mq: "ca.mq"; mr: "ca.mr"; ms: "ca.ms"; mt: "ca.mt"; mu: "ca.mu"; mv: "ca.mv"; mw: "ca.mw"; mx: "ca.mx"; my: "ca.my"; mz: "ca.mz"; na: "ca.na"; nb: "ca.nb"; nc: "ca.nc"; nd: "ca.nd"; ne: "ca.ne"; nf: "ca.nf"; ng: "ca.ng"; nh: "ca.nh"; ni: "ca.ni"; nj: "ca.nj"; nk: "ca.nk"; nl: "ca.nl"; nm: "ca.nm"; nn: "ca.nn"; no: "ca.no"; np: "ca.np"; nq: "ca.nq"; nr: "ca.nr"; ns: "ca.ns"; nt: "ca.nt"; nu: "ca.nu"; nv: "ca.nv"; nw: "ca.nw"; nx: "ca.nx"; ny: "ca.ny"; nz: "ca.nz"; oa: "ca.oa"; ob: "ca.ob"; oc: "ca.oc"; od: "ca.od"; oe: "ca.oe"; of: "ca.of"; og: "ca.og"; oh: "ca.oh"; oi: "ca.oi"; oj: "ca.oj"; ok: "ca.ok"; ol: "ca.ol"; om: "ca.om"; on: "ca.on"; oo: "ca.oo"; op: "ca.op"; oq: "ca.oq"; or: "ca.or"; os: "ca.os"; ot: "ca.ot"; ou: "ca.ou"; ov: "ca.ov"; ow: "ca.ow"; ox: "ca.ox"; oy: "ca.oy"; oz: "ca.oz"; pa: "ca.pa"; pb: "ca.pb"; pc: "ca.pc"; pd: "ca.pd"; pe: "ca.pe"; pf: "ca.pf"; pg: "ca.pg"; ph: "ca.ph"; pi: "ca.pi"; pj: "ca.pj"; pk: "ca.pk"; pl: "ca.pl"; pm: "ca.pm"; pn: "ca.pn"; po: "ca.po"; pp: "ca.pp"; pq: "ca.pq"; pr: "ca.pr"; ps: "ca.ps"; pt: "ca.pt"; pu: "ca.pu"; pv: "ca.pv"; pw: "ca.pw"; px: "ca.px"; py: "ca.py"; pz: "ca.pz"; qa: "ca.qa"; qb: "ca.qb"; qc: "ca.qc"; qd: "ca.qd"; qe: "ca.qe"; qf: "ca.qf"; qg: "ca.qg"; qh: "ca.qh"; qi: "ca.qi"; qj: "ca.qj"; qk: "ca.qk"; ql: "ca.ql"; qm: "ca.qm"; qn: "ca.qn"; qo: "ca.qo"; qp: "ca.qp"; qq: "ca.qq"; qr: "ca.qr"; qs: "ca.qs"; qt: "ca.qt"; qu: "ca.qu"; qv: "ca.qv"; qw: "ca.qw"; qx: "ca.qx"; qy: "ca.qy"; qz: "ca.qz"; ra: "ca.ra"; rb: "ca.rb"; rc: "ca.rc"; rd: "ca.rd"; re: "ca.re"; rf: "ca.rf"; rg: "ca.rg"; rh: "ca.rh"; ri: "ca.ri"; rj: "ca.rj"; rk: "ca.rk"; rl: "ca.rl"; rm: "ca.rm"; rn: "ca.rn"; ro: "ca.ro"; rp: "ca.rp"; rq: "ca.rq"; rr: "ca.rr"; rs: "ca.rs"; rt: "ca.rt"; ru: "ca.ru"; rv: "ca.rv"; rw: "ca.rw"; rx: "ca.rx"; ry: "ca.ry"; rz: "ca.rz"; sa: "ca.sa"; sb: "ca.sb"; sc: "ca.sc"; sd: "ca.sd"; se: "ca.se"; sf: "ca.sf"; sg: "ca.sg"; sh: "ca.sh"; si: "ca.si"; sj: "ca.sj"; sk: "ca.sk"; sl: "ca.sl"; sm: "ca.sm"; sn: "ca.sn"; so: "ca.so"; sp: "ca.sp"; sq: "ca.sq"; sr: "ca.sr"; ss: "ca.ss"; st: "ca.st"; su: "ca.su"; sv: "ca.sv"; sw: "ca.sw"; sx: "ca.sx"; sy: "ca.sy"; sz: "ca.sz"; ta: "ca.ta"; tb: "ca.tb"; tc: "ca.tc"; td: "ca.td"; te: "ca.te"; tf: "ca.tf"; tg: "ca.tg"; th: "ca.th"; ti: "ca.ti"; tj: "ca.tj"; tk: "ca.tk"; tl: "ca.tl"; tm: "ca.tm"; tn: "ca.tn"; to: "ca.to"; tp: "ca.tp"; tq: "ca.tq"; tr: "ca.tr"; ts: "ca.ts"; tt: "ca.tt"; tu: "ca.tu"; tv: "ca.tv"; tw: "ca.tw"; tx: "ca.tx"; ty: "ca.ty"; tz: "ca.tz"; ua: "ca.ua"; ub: "ca.ub"; uc: "ca.uc"; ud: "ca.ud"; ue: "ca.ue"; uf: "ca.uf"; ug: "ca.ug"; uh: "ca.uh"; ui: "ca.ui"; uj: "ca.uj"; uk: "ca.uk"; ul: "ca.ul"; um: "ca.um"; un: "ca.un"; uo: "ca.uo"; up: "ca.up"; uq: "ca.uq"; ur: "ca.ur"; us: "ca.us"; ut: "ca.ut"; uu: "ca.uu"; uv: "ca.uv"; uw: "ca.uw"; ux: "ca.ux"; uy: "ca.uy"; uz: "ca.uz"; va: "ca.va"; vb: "ca.vb"; vc: "ca.vc"; vd: "ca.vd"; ve: "ca.ve"; vf: "ca.vf"; vg: "ca.vg"; vh: "ca.vh"; vi: "ca.vi"; vj: "ca.vj"; vk: "ca.vk"; vl: "ca.vl"; vm: "ca.vm"; vn: "ca.vn"; vo: "ca.vo"; vp: "ca.vp"; vq: "ca.vq"; vr: "ca.vr"; vs: "ca.vs"; vt: "ca.vt"; vu: "ca.vu"; vv: "ca.vv"; vw: "ca.vw"; vx: "ca.vx"; vy: "ca.vy"; vz: "ca.vz"; wa: "ca.wa"; wb: "ca.wb"; wc: "ca.wc"; wd: "ca.wd"; we: "ca.we"; wf: "ca.wf"; wg: "ca.wg"; wh: "ca.wh"; wi: "ca.wi"; wj: "ca.wj"; wk: "ca.wk"; wl: "ca.wl"; wm: "ca.wm"; wn: "ca.wn"; wo: "ca.wo"; wp: "ca.wp"; wq: "ca.wq"; wr: "ca.wr"; ws: "ca.ws"; wt: "ca.wt"; wu: "ca.wu"; wv: "ca.wv"; ww: "ca.ww"; wx: "ca.wx"; wy: "ca.wy"; wz: "ca.wz"; xa: "ca.xa"; xb: "ca.xb"; xc: "ca.xc"; xd: "ca.xd"; xe: "ca.xe"; xf: "ca.xf"; xg: "ca.xg"; xh: "ca.xh"; xi: "ca.xi"; xj: "ca.xj"; xk: "ca.xk"; xl: "ca.xl"; xm: "ca.xm"; xn: "ca.xn"; xo: "ca.xo"; xp: "ca.xp"; xq: "ca.xq"; xr: "ca.xr"; xs: "ca.xs"; xt: "ca.xt"; xu: "ca.xu"; xv: "ca.xv"; xw: "ca.xw"; xx: "ca.xx"; xy: "ca.xy"; xz: "ca.xz"; ya: "ca.ya"; yb: "ca.yb"; yc: "ca.yc"; yd: "ca.yd"; ye: "ca.ye"; yf: "ca.yf"; yg: "ca.yg"; yh: "ca.yh"; yi: "ca.yi"; yj: "ca.yj"; yk: "ca.yk"; yl: "ca.yl"; ym: "ca.ym"; yn: "ca.yn"; yo: "ca.yo"; yp: "ca.yp"; yq: "ca.yq"; yr: "ca.yr"; ys: "ca.ys"; yt: "ca.yt"; yu: "ca.yu"; yv: "ca.yv"; yw: "ca.yw"; yx: "ca.yx"; yy: "ca.yy"; yz: "ca.yz"; za: "ca.za"; zb: "ca.zb"; zc: "ca.zc"; zd: "ca.zd"; ze: "ca.ze"; zf: "ca.zf"; zg: "ca.zg"; zh: "ca.zh"; zi: "ca.zi"; zj: "ca.zj"; zk: "ca.zk"; zl: "ca.zl"; zm: "ca.zm"; zn: "ca.zn"; zo: "ca.zo"; zp: "ca.zp"; zq: "ca.zq"; zr: "ca.zr"; zs: "ca.zs"; zt: "ca.zt"; zu: "ca.zu"; zv: "ca.zv"; zw: "ca.zw"; zx: "ca.zx"; zy: "ca.zy"; zz: "ca.zz"; }; cb: { aa: "cb.aa"; ab: "cb.ab"; ac: "cb.ac"; ad: "cb.ad"; ae: "cb.ae"; af: "cb.af"; ag: "cb.ag"; ah: "cb.ah"; ai: "cb.ai"; aj: "cb.aj"; ak: "cb.ak"; al: "cb.al"; am: "cb.am"; an: "cb.an"; ao: "cb.ao"; ap: "cb.ap"; aq: "cb.aq"; ar: "cb.ar"; as: "cb.as"; at: "cb.at"; au: "cb.au"; av: "cb.av"; aw: "cb.aw"; ax: "cb.ax"; ay: "cb.ay"; az: "cb.az"; ba: "cb.ba"; bb: "cb.bb"; bc: "cb.bc"; bd: "cb.bd"; be: "cb.be"; bf: "cb.bf"; bg: "cb.bg"; bh: "cb.bh"; bi: "cb.bi"; bj: "cb.bj"; bk: "cb.bk"; bl: "cb.bl"; bm: "cb.bm"; bn: "cb.bn"; bo: "cb.bo"; bp: "cb.bp"; bq: "cb.bq"; br: "cb.br"; bs: "cb.bs"; bt: "cb.bt"; bu: "cb.bu"; bv: "cb.bv"; bw: "cb.bw"; bx: "cb.bx"; by: "cb.by"; bz: "cb.bz"; ca: "cb.ca"; cb: "cb.cb"; cc: "cb.cc"; cd: "cb.cd"; ce: "cb.ce"; cf: "cb.cf"; cg: "cb.cg"; ch: "cb.ch"; ci: "cb.ci"; cj: "cb.cj"; ck: "cb.ck"; cl: "cb.cl"; cm: "cb.cm"; cn: "cb.cn"; co: "cb.co"; cp: "cb.cp"; cq: "cb.cq"; cr: "cb.cr"; cs: "cb.cs"; ct: "cb.ct"; cu: "cb.cu"; cv: "cb.cv"; cw: "cb.cw"; cx: "cb.cx"; cy: "cb.cy"; cz: "cb.cz"; da: "cb.da"; db: "cb.db"; dc: "cb.dc"; dd: "cb.dd"; de: "cb.de"; df: "cb.df"; dg: "cb.dg"; dh: "cb.dh"; di: "cb.di"; dj: "cb.dj"; dk: "cb.dk"; dl: "cb.dl"; dm: "cb.dm"; dn: "cb.dn"; do: "cb.do"; dp: "cb.dp"; dq: "cb.dq"; dr: "cb.dr"; ds: "cb.ds"; dt: "cb.dt"; du: "cb.du"; dv: "cb.dv"; dw: "cb.dw"; dx: "cb.dx"; dy: "cb.dy"; dz: "cb.dz"; ea: "cb.ea"; eb: "cb.eb"; ec: "cb.ec"; ed: "cb.ed"; ee: "cb.ee"; ef: "cb.ef"; eg: "cb.eg"; eh: "cb.eh"; ei: "cb.ei"; ej: "cb.ej"; ek: "cb.ek"; el: "cb.el"; em: "cb.em"; en: "cb.en"; eo: "cb.eo"; ep: "cb.ep"; eq: "cb.eq"; er: "cb.er"; es: "cb.es"; et: "cb.et"; eu: "cb.eu"; ev: "cb.ev"; ew: "cb.ew"; ex: "cb.ex"; ey: "cb.ey"; ez: "cb.ez"; fa: "cb.fa"; fb: "cb.fb"; fc: "cb.fc"; fd: "cb.fd"; fe: "cb.fe"; ff: "cb.ff"; fg: "cb.fg"; fh: "cb.fh"; fi: "cb.fi"; fj: "cb.fj"; fk: "cb.fk"; fl: "cb.fl"; fm: "cb.fm"; fn: "cb.fn"; fo: "cb.fo"; fp: "cb.fp"; fq: "cb.fq"; fr: "cb.fr"; fs: "cb.fs"; ft: "cb.ft"; fu: "cb.fu"; fv: "cb.fv"; fw: "cb.fw"; fx: "cb.fx"; fy: "cb.fy"; fz: "cb.fz"; ga: "cb.ga"; gb: "cb.gb"; gc: "cb.gc"; gd: "cb.gd"; ge: "cb.ge"; gf: "cb.gf"; gg: "cb.gg"; gh: "cb.gh"; gi: "cb.gi"; gj: "cb.gj"; gk: "cb.gk"; gl: "cb.gl"; gm: "cb.gm"; gn: "cb.gn"; go: "cb.go"; gp: "cb.gp"; gq: "cb.gq"; gr: "cb.gr"; gs: "cb.gs"; gt: "cb.gt"; gu: "cb.gu"; gv: "cb.gv"; gw: "cb.gw"; gx: "cb.gx"; gy: "cb.gy"; gz: "cb.gz"; ha: "cb.ha"; hb: "cb.hb"; hc: "cb.hc"; hd: "cb.hd"; he: "cb.he"; hf: "cb.hf"; hg: "cb.hg"; hh: "cb.hh"; hi: "cb.hi"; hj: "cb.hj"; hk: "cb.hk"; hl: "cb.hl"; hm: "cb.hm"; hn: "cb.hn"; ho: "cb.ho"; hp: "cb.hp"; hq: "cb.hq"; hr: "cb.hr"; hs: "cb.hs"; ht: "cb.ht"; hu: "cb.hu"; hv: "cb.hv"; hw: "cb.hw"; hx: "cb.hx"; hy: "cb.hy"; hz: "cb.hz"; ia: "cb.ia"; ib: "cb.ib"; ic: "cb.ic"; id: "cb.id"; ie: "cb.ie"; if: "cb.if"; ig: "cb.ig"; ih: "cb.ih"; ii: "cb.ii"; ij: "cb.ij"; ik: "cb.ik"; il: "cb.il"; im: "cb.im"; in: "cb.in"; io: "cb.io"; ip: "cb.ip"; iq: "cb.iq"; ir: "cb.ir"; is: "cb.is"; it: "cb.it"; iu: "cb.iu"; iv: "cb.iv"; iw: "cb.iw"; ix: "cb.ix"; iy: "cb.iy"; iz: "cb.iz"; ja: "cb.ja"; jb: "cb.jb"; jc: "cb.jc"; jd: "cb.jd"; je: "cb.je"; jf: "cb.jf"; jg: "cb.jg"; jh: "cb.jh"; ji: "cb.ji"; jj: "cb.jj"; jk: "cb.jk"; jl: "cb.jl"; jm: "cb.jm"; jn: "cb.jn"; jo: "cb.jo"; jp: "cb.jp"; jq: "cb.jq"; jr: "cb.jr"; js: "cb.js"; jt: "cb.jt"; ju: "cb.ju"; jv: "cb.jv"; jw: "cb.jw"; jx: "cb.jx"; jy: "cb.jy"; jz: "cb.jz"; ka: "cb.ka"; kb: "cb.kb"; kc: "cb.kc"; kd: "cb.kd"; ke: "cb.ke"; kf: "cb.kf"; kg: "cb.kg"; kh: "cb.kh"; ki: "cb.ki"; kj: "cb.kj"; kk: "cb.kk"; kl: "cb.kl"; km: "cb.km"; kn: "cb.kn"; ko: "cb.ko"; kp: "cb.kp"; kq: "cb.kq"; kr: "cb.kr"; ks: "cb.ks"; kt: "cb.kt"; ku: "cb.ku"; kv: "cb.kv"; kw: "cb.kw"; kx: "cb.kx"; ky: "cb.ky"; kz: "cb.kz"; la: "cb.la"; lb: "cb.lb"; lc: "cb.lc"; ld: "cb.ld"; le: "cb.le"; lf: "cb.lf"; lg: "cb.lg"; lh: "cb.lh"; li: "cb.li"; lj: "cb.lj"; lk: "cb.lk"; ll: "cb.ll"; lm: "cb.lm"; ln: "cb.ln"; lo: "cb.lo"; lp: "cb.lp"; lq: "cb.lq"; lr: "cb.lr"; ls: "cb.ls"; lt: "cb.lt"; lu: "cb.lu"; lv: "cb.lv"; lw: "cb.lw"; lx: "cb.lx"; ly: "cb.ly"; lz: "cb.lz"; ma: "cb.ma"; mb: "cb.mb"; mc: "cb.mc"; md: "cb.md"; me: "cb.me"; mf: "cb.mf"; mg: "cb.mg"; mh: "cb.mh"; mi: "cb.mi"; mj: "cb.mj"; mk: "cb.mk"; ml: "cb.ml"; mm: "cb.mm"; mn: "cb.mn"; mo: "cb.mo"; mp: "cb.mp"; mq: "cb.mq"; mr: "cb.mr"; ms: "cb.ms"; mt: "cb.mt"; mu: "cb.mu"; mv: "cb.mv"; mw: "cb.mw"; mx: "cb.mx"; my: "cb.my"; mz: "cb.mz"; na: "cb.na"; nb: "cb.nb"; nc: "cb.nc"; nd: "cb.nd"; ne: "cb.ne"; nf: "cb.nf"; ng: "cb.ng"; nh: "cb.nh"; ni: "cb.ni"; nj: "cb.nj"; nk: "cb.nk"; nl: "cb.nl"; nm: "cb.nm"; nn: "cb.nn"; no: "cb.no"; np: "cb.np"; nq: "cb.nq"; nr: "cb.nr"; ns: "cb.ns"; nt: "cb.nt"; nu: "cb.nu"; nv: "cb.nv"; nw: "cb.nw"; nx: "cb.nx"; ny: "cb.ny"; nz: "cb.nz"; oa: "cb.oa"; ob: "cb.ob"; oc: "cb.oc"; od: "cb.od"; oe: "cb.oe"; of: "cb.of"; og: "cb.og"; oh: "cb.oh"; oi: "cb.oi"; oj: "cb.oj"; ok: "cb.ok"; ol: "cb.ol"; om: "cb.om"; on: "cb.on"; oo: "cb.oo"; op: "cb.op"; oq: "cb.oq"; or: "cb.or"; os: "cb.os"; ot: "cb.ot"; ou: "cb.ou"; ov: "cb.ov"; ow: "cb.ow"; ox: "cb.ox"; oy: "cb.oy"; oz: "cb.oz"; pa: "cb.pa"; pb: "cb.pb"; pc: "cb.pc"; pd: "cb.pd"; pe: "cb.pe"; pf: "cb.pf"; pg: "cb.pg"; ph: "cb.ph"; pi: "cb.pi"; pj: "cb.pj"; pk: "cb.pk"; pl: "cb.pl"; pm: "cb.pm"; pn: "cb.pn"; po: "cb.po"; pp: "cb.pp"; pq: "cb.pq"; pr: "cb.pr"; ps: "cb.ps"; pt: "cb.pt"; pu: "cb.pu"; pv: "cb.pv"; pw: "cb.pw"; px: "cb.px"; py: "cb.py"; pz: "cb.pz"; qa: "cb.qa"; qb: "cb.qb"; qc: "cb.qc"; qd: "cb.qd"; qe: "cb.qe"; qf: "cb.qf"; qg: "cb.qg"; qh: "cb.qh"; qi: "cb.qi"; qj: "cb.qj"; qk: "cb.qk"; ql: "cb.ql"; qm: "cb.qm"; qn: "cb.qn"; qo: "cb.qo"; qp: "cb.qp"; qq: "cb.qq"; qr: "cb.qr"; qs: "cb.qs"; qt: "cb.qt"; qu: "cb.qu"; qv: "cb.qv"; qw: "cb.qw"; qx: "cb.qx"; qy: "cb.qy"; qz: "cb.qz"; ra: "cb.ra"; rb: "cb.rb"; rc: "cb.rc"; rd: "cb.rd"; re: "cb.re"; rf: "cb.rf"; rg: "cb.rg"; rh: "cb.rh"; ri: "cb.ri"; rj: "cb.rj"; rk: "cb.rk"; rl: "cb.rl"; rm: "cb.rm"; rn: "cb.rn"; ro: "cb.ro"; rp: "cb.rp"; rq: "cb.rq"; rr: "cb.rr"; rs: "cb.rs"; rt: "cb.rt"; ru: "cb.ru"; rv: "cb.rv"; rw: "cb.rw"; rx: "cb.rx"; ry: "cb.ry"; rz: "cb.rz"; sa: "cb.sa"; sb: "cb.sb"; sc: "cb.sc"; sd: "cb.sd"; se: "cb.se"; sf: "cb.sf"; sg: "cb.sg"; sh: "cb.sh"; si: "cb.si"; sj: "cb.sj"; sk: "cb.sk"; sl: "cb.sl"; sm: "cb.sm"; sn: "cb.sn"; so: "cb.so"; sp: "cb.sp"; sq: "cb.sq"; sr: "cb.sr"; ss: "cb.ss"; st: "cb.st"; su: "cb.su"; sv: "cb.sv"; sw: "cb.sw"; sx: "cb.sx"; sy: "cb.sy"; sz: "cb.sz"; ta: "cb.ta"; tb: "cb.tb"; tc: "cb.tc"; td: "cb.td"; te: "cb.te"; tf: "cb.tf"; tg: "cb.tg"; th: "cb.th"; ti: "cb.ti"; tj: "cb.tj"; tk: "cb.tk"; tl: "cb.tl"; tm: "cb.tm"; tn: "cb.tn"; to: "cb.to"; tp: "cb.tp"; tq: "cb.tq"; tr: "cb.tr"; ts: "cb.ts"; tt: "cb.tt"; tu: "cb.tu"; tv: "cb.tv"; tw: "cb.tw"; tx: "cb.tx"; ty: "cb.ty"; tz: "cb.tz"; ua: "cb.ua"; ub: "cb.ub"; uc: "cb.uc"; ud: "cb.ud"; ue: "cb.ue"; uf: "cb.uf"; ug: "cb.ug"; uh: "cb.uh"; ui: "cb.ui"; uj: "cb.uj"; uk: "cb.uk"; ul: "cb.ul"; um: "cb.um"; un: "cb.un"; uo: "cb.uo"; up: "cb.up"; uq: "cb.uq"; ur: "cb.ur"; us: "cb.us"; ut: "cb.ut"; uu: "cb.uu"; uv: "cb.uv"; uw: "cb.uw"; ux: "cb.ux"; uy: "cb.uy"; uz: "cb.uz"; va: "cb.va"; vb: "cb.vb"; vc: "cb.vc"; vd: "cb.vd"; ve: "cb.ve"; vf: "cb.vf"; vg: "cb.vg"; vh: "cb.vh"; vi: "cb.vi"; vj: "cb.vj"; vk: "cb.vk"; vl: "cb.vl"; vm: "cb.vm"; vn: "cb.vn"; vo: "cb.vo"; vp: "cb.vp"; vq: "cb.vq"; vr: "cb.vr"; vs: "cb.vs"; vt: "cb.vt"; vu: "cb.vu"; vv: "cb.vv"; vw: "cb.vw"; vx: "cb.vx"; vy: "cb.vy"; vz: "cb.vz"; wa: "cb.wa"; wb: "cb.wb"; wc: "cb.wc"; wd: "cb.wd"; we: "cb.we"; wf: "cb.wf"; wg: "cb.wg"; wh: "cb.wh"; wi: "cb.wi"; wj: "cb.wj"; wk: "cb.wk"; wl: "cb.wl"; wm: "cb.wm"; wn: "cb.wn"; wo: "cb.wo"; wp: "cb.wp"; wq: "cb.wq"; wr: "cb.wr"; ws: "cb.ws"; wt: "cb.wt"; wu: "cb.wu"; wv: "cb.wv"; ww: "cb.ww"; wx: "cb.wx"; wy: "cb.wy"; wz: "cb.wz"; xa: "cb.xa"; xb: "cb.xb"; xc: "cb.xc"; xd: "cb.xd"; xe: "cb.xe"; xf: "cb.xf"; xg: "cb.xg"; xh: "cb.xh"; xi: "cb.xi"; xj: "cb.xj"; xk: "cb.xk"; xl: "cb.xl"; xm: "cb.xm"; xn: "cb.xn"; xo: "cb.xo"; xp: "cb.xp"; xq: "cb.xq"; xr: "cb.xr"; xs: "cb.xs"; xt: "cb.xt"; xu: "cb.xu"; xv: "cb.xv"; xw: "cb.xw"; xx: "cb.xx"; xy: "cb.xy"; xz: "cb.xz"; ya: "cb.ya"; yb: "cb.yb"; yc: "cb.yc"; yd: "cb.yd"; ye: "cb.ye"; yf: "cb.yf"; yg: "cb.yg"; yh: "cb.yh"; yi: "cb.yi"; yj: "cb.yj"; yk: "cb.yk"; yl: "cb.yl"; ym: "cb.ym"; yn: "cb.yn"; yo: "cb.yo"; yp: "cb.yp"; yq: "cb.yq"; yr: "cb.yr"; ys: "cb.ys"; yt: "cb.yt"; yu: "cb.yu"; yv: "cb.yv"; yw: "cb.yw"; yx: "cb.yx"; yy: "cb.yy"; yz: "cb.yz"; za: "cb.za"; zb: "cb.zb"; zc: "cb.zc"; zd: "cb.zd"; ze: "cb.ze"; zf: "cb.zf"; zg: "cb.zg"; zh: "cb.zh"; zi: "cb.zi"; zj: "cb.zj"; zk: "cb.zk"; zl: "cb.zl"; zm: "cb.zm"; zn: "cb.zn"; zo: "cb.zo"; zp: "cb.zp"; zq: "cb.zq"; zr: "cb.zr"; zs: "cb.zs"; zt: "cb.zt"; zu: "cb.zu"; zv: "cb.zv"; zw: "cb.zw"; zx: "cb.zx"; zy: "cb.zy"; zz: "cb.zz"; }; cc: { aa: "cc.aa"; ab: "cc.ab"; ac: "cc.ac"; ad: "cc.ad"; ae: "cc.ae"; af: "cc.af"; ag: "cc.ag"; ah: "cc.ah"; ai: "cc.ai"; aj: "cc.aj"; ak: "cc.ak"; al: "cc.al"; am: "cc.am"; an: "cc.an"; ao: "cc.ao"; ap: "cc.ap"; aq: "cc.aq"; ar: "cc.ar"; as: "cc.as"; at: "cc.at"; au: "cc.au"; av: "cc.av"; aw: "cc.aw"; ax: "cc.ax"; ay: "cc.ay"; az: "cc.az"; ba: "cc.ba"; bb: "cc.bb"; bc: "cc.bc"; bd: "cc.bd"; be: "cc.be"; bf: "cc.bf"; bg: "cc.bg"; bh: "cc.bh"; bi: "cc.bi"; bj: "cc.bj"; bk: "cc.bk"; bl: "cc.bl"; bm: "cc.bm"; bn: "cc.bn"; bo: "cc.bo"; bp: "cc.bp"; bq: "cc.bq"; br: "cc.br"; bs: "cc.bs"; bt: "cc.bt"; bu: "cc.bu"; bv: "cc.bv"; bw: "cc.bw"; bx: "cc.bx"; by: "cc.by"; bz: "cc.bz"; ca: "cc.ca"; cb: "cc.cb"; cc: "cc.cc"; cd: "cc.cd"; ce: "cc.ce"; cf: "cc.cf"; cg: "cc.cg"; ch: "cc.ch"; ci: "cc.ci"; cj: "cc.cj"; ck: "cc.ck"; cl: "cc.cl"; cm: "cc.cm"; cn: "cc.cn"; co: "cc.co"; cp: "cc.cp"; cq: "cc.cq"; cr: "cc.cr"; cs: "cc.cs"; ct: "cc.ct"; cu: "cc.cu"; cv: "cc.cv"; cw: "cc.cw"; cx: "cc.cx"; cy: "cc.cy"; cz: "cc.cz"; da: "cc.da"; db: "cc.db"; dc: "cc.dc"; dd: "cc.dd"; de: "cc.de"; df: "cc.df"; dg: "cc.dg"; dh: "cc.dh"; di: "cc.di"; dj: "cc.dj"; dk: "cc.dk"; dl: "cc.dl"; dm: "cc.dm"; dn: "cc.dn"; do: "cc.do"; dp: "cc.dp"; dq: "cc.dq"; dr: "cc.dr"; ds: "cc.ds"; dt: "cc.dt"; du: "cc.du"; dv: "cc.dv"; dw: "cc.dw"; dx: "cc.dx"; dy: "cc.dy"; dz: "cc.dz"; ea: "cc.ea"; eb: "cc.eb"; ec: "cc.ec"; ed: "cc.ed"; ee: "cc.ee"; ef: "cc.ef"; eg: "cc.eg"; eh: "cc.eh"; ei: "cc.ei"; ej: "cc.ej"; ek: "cc.ek"; el: "cc.el"; em: "cc.em"; en: "cc.en"; eo: "cc.eo"; ep: "cc.ep"; eq: "cc.eq"; er: "cc.er"; es: "cc.es"; et: "cc.et"; eu: "cc.eu"; ev: "cc.ev"; ew: "cc.ew"; ex: "cc.ex"; ey: "cc.ey"; ez: "cc.ez"; fa: "cc.fa"; fb: "cc.fb"; fc: "cc.fc"; fd: "cc.fd"; fe: "cc.fe"; ff: "cc.ff"; fg: "cc.fg"; fh: "cc.fh"; fi: "cc.fi"; fj: "cc.fj"; fk: "cc.fk"; fl: "cc.fl"; fm: "cc.fm"; fn: "cc.fn"; fo: "cc.fo"; fp: "cc.fp"; fq: "cc.fq"; fr: "cc.fr"; fs: "cc.fs"; ft: "cc.ft"; fu: "cc.fu"; fv: "cc.fv"; fw: "cc.fw"; fx: "cc.fx"; fy: "cc.fy"; fz: "cc.fz"; ga: "cc.ga"; gb: "cc.gb"; gc: "cc.gc"; gd: "cc.gd"; ge: "cc.ge"; gf: "cc.gf"; gg: "cc.gg"; gh: "cc.gh"; gi: "cc.gi"; gj: "cc.gj"; gk: "cc.gk"; gl: "cc.gl"; gm: "cc.gm"; gn: "cc.gn"; go: "cc.go"; gp: "cc.gp"; gq: "cc.gq"; gr: "cc.gr"; gs: "cc.gs"; gt: "cc.gt"; gu: "cc.gu"; gv: "cc.gv"; gw: "cc.gw"; gx: "cc.gx"; gy: "cc.gy"; gz: "cc.gz"; ha: "cc.ha"; hb: "cc.hb"; hc: "cc.hc"; hd: "cc.hd"; he: "cc.he"; hf: "cc.hf"; hg: "cc.hg"; hh: "cc.hh"; hi: "cc.hi"; hj: "cc.hj"; hk: "cc.hk"; hl: "cc.hl"; hm: "cc.hm"; hn: "cc.hn"; ho: "cc.ho"; hp: "cc.hp"; hq: "cc.hq"; hr: "cc.hr"; hs: "cc.hs"; ht: "cc.ht"; hu: "cc.hu"; hv: "cc.hv"; hw: "cc.hw"; hx: "cc.hx"; hy: "cc.hy"; hz: "cc.hz"; ia: "cc.ia"; ib: "cc.ib"; ic: "cc.ic"; id: "cc.id"; ie: "cc.ie"; if: "cc.if"; ig: "cc.ig"; ih: "cc.ih"; ii: "cc.ii"; ij: "cc.ij"; ik: "cc.ik"; il: "cc.il"; im: "cc.im"; in: "cc.in"; io: "cc.io"; ip: "cc.ip"; iq: "cc.iq"; ir: "cc.ir"; is: "cc.is"; it: "cc.it"; iu: "cc.iu"; iv: "cc.iv"; iw: "cc.iw"; ix: "cc.ix"; iy: "cc.iy"; iz: "cc.iz"; ja: "cc.ja"; jb: "cc.jb"; jc: "cc.jc"; jd: "cc.jd"; je: "cc.je"; jf: "cc.jf"; jg: "cc.jg"; jh: "cc.jh"; ji: "cc.ji"; jj: "cc.jj"; jk: "cc.jk"; jl: "cc.jl"; jm: "cc.jm"; jn: "cc.jn"; jo: "cc.jo"; jp: "cc.jp"; jq: "cc.jq"; jr: "cc.jr"; js: "cc.js"; jt: "cc.jt"; ju: "cc.ju"; jv: "cc.jv"; jw: "cc.jw"; jx: "cc.jx"; jy: "cc.jy"; jz: "cc.jz"; ka: "cc.ka"; kb: "cc.kb"; kc: "cc.kc"; kd: "cc.kd"; ke: "cc.ke"; kf: "cc.kf"; kg: "cc.kg"; kh: "cc.kh"; ki: "cc.ki"; kj: "cc.kj"; kk: "cc.kk"; kl: "cc.kl"; km: "cc.km"; kn: "cc.kn"; ko: "cc.ko"; kp: "cc.kp"; kq: "cc.kq"; kr: "cc.kr"; ks: "cc.ks"; kt: "cc.kt"; ku: "cc.ku"; kv: "cc.kv"; kw: "cc.kw"; kx: "cc.kx"; ky: "cc.ky"; kz: "cc.kz"; la: "cc.la"; lb: "cc.lb"; lc: "cc.lc"; ld: "cc.ld"; le: "cc.le"; lf: "cc.lf"; lg: "cc.lg"; lh: "cc.lh"; li: "cc.li"; lj: "cc.lj"; lk: "cc.lk"; ll: "cc.ll"; lm: "cc.lm"; ln: "cc.ln"; lo: "cc.lo"; lp: "cc.lp"; lq: "cc.lq"; lr: "cc.lr"; ls: "cc.ls"; lt: "cc.lt"; lu: "cc.lu"; lv: "cc.lv"; lw: "cc.lw"; lx: "cc.lx"; ly: "cc.ly"; lz: "cc.lz"; ma: "cc.ma"; mb: "cc.mb"; mc: "cc.mc"; md: "cc.md"; me: "cc.me"; mf: "cc.mf"; mg: "cc.mg"; mh: "cc.mh"; mi: "cc.mi"; mj: "cc.mj"; mk: "cc.mk"; ml: "cc.ml"; mm: "cc.mm"; mn: "cc.mn"; mo: "cc.mo"; mp: "cc.mp"; mq: "cc.mq"; mr: "cc.mr"; ms: "cc.ms"; mt: "cc.mt"; mu: "cc.mu"; mv: "cc.mv"; mw: "cc.mw"; mx: "cc.mx"; my: "cc.my"; mz: "cc.mz"; na: "cc.na"; nb: "cc.nb"; nc: "cc.nc"; nd: "cc.nd"; ne: "cc.ne"; nf: "cc.nf"; ng: "cc.ng"; nh: "cc.nh"; ni: "cc.ni"; nj: "cc.nj"; nk: "cc.nk"; nl: "cc.nl"; nm: "cc.nm"; nn: "cc.nn"; no: "cc.no"; np: "cc.np"; nq: "cc.nq"; nr: "cc.nr"; ns: "cc.ns"; nt: "cc.nt"; nu: "cc.nu"; nv: "cc.nv"; nw: "cc.nw"; nx: "cc.nx"; ny: "cc.ny"; nz: "cc.nz"; oa: "cc.oa"; ob: "cc.ob"; oc: "cc.oc"; od: "cc.od"; oe: "cc.oe"; of: "cc.of"; og: "cc.og"; oh: "cc.oh"; oi: "cc.oi"; oj: "cc.oj"; ok: "cc.ok"; ol: "cc.ol"; om: "cc.om"; on: "cc.on"; oo: "cc.oo"; op: "cc.op"; oq: "cc.oq"; or: "cc.or"; os: "cc.os"; ot: "cc.ot"; ou: "cc.ou"; ov: "cc.ov"; ow: "cc.ow"; ox: "cc.ox"; oy: "cc.oy"; oz: "cc.oz"; pa: "cc.pa"; pb: "cc.pb"; pc: "cc.pc"; pd: "cc.pd"; pe: "cc.pe"; pf: "cc.pf"; pg: "cc.pg"; ph: "cc.ph"; pi: "cc.pi"; pj: "cc.pj"; pk: "cc.pk"; pl: "cc.pl"; pm: "cc.pm"; pn: "cc.pn"; po: "cc.po"; pp: "cc.pp"; pq: "cc.pq"; pr: "cc.pr"; ps: "cc.ps"; pt: "cc.pt"; pu: "cc.pu"; pv: "cc.pv"; pw: "cc.pw"; px: "cc.px"; py: "cc.py"; pz: "cc.pz"; qa: "cc.qa"; qb: "cc.qb"; qc: "cc.qc"; qd: "cc.qd"; qe: "cc.qe"; qf: "cc.qf"; qg: "cc.qg"; qh: "cc.qh"; qi: "cc.qi"; qj: "cc.qj"; qk: "cc.qk"; ql: "cc.ql"; qm: "cc.qm"; qn: "cc.qn"; qo: "cc.qo"; qp: "cc.qp"; qq: "cc.qq"; qr: "cc.qr"; qs: "cc.qs"; qt: "cc.qt"; qu: "cc.qu"; qv: "cc.qv"; qw: "cc.qw"; qx: "cc.qx"; qy: "cc.qy"; qz: "cc.qz"; ra: "cc.ra"; rb: "cc.rb"; rc: "cc.rc"; rd: "cc.rd"; re: "cc.re"; rf: "cc.rf"; rg: "cc.rg"; rh: "cc.rh"; ri: "cc.ri"; rj: "cc.rj"; rk: "cc.rk"; rl: "cc.rl"; rm: "cc.rm"; rn: "cc.rn"; ro: "cc.ro"; rp: "cc.rp"; rq: "cc.rq"; rr: "cc.rr"; rs: "cc.rs"; rt: "cc.rt"; ru: "cc.ru"; rv: "cc.rv"; rw: "cc.rw"; rx: "cc.rx"; ry: "cc.ry"; rz: "cc.rz"; sa: "cc.sa"; sb: "cc.sb"; sc: "cc.sc"; sd: "cc.sd"; se: "cc.se"; sf: "cc.sf"; sg: "cc.sg"; sh: "cc.sh"; si: "cc.si"; sj: "cc.sj"; sk: "cc.sk"; sl: "cc.sl"; sm: "cc.sm"; sn: "cc.sn"; so: "cc.so"; sp: "cc.sp"; sq: "cc.sq"; sr: "cc.sr"; ss: "cc.ss"; st: "cc.st"; su: "cc.su"; sv: "cc.sv"; sw: "cc.sw"; sx: "cc.sx"; sy: "cc.sy"; sz: "cc.sz"; ta: "cc.ta"; tb: "cc.tb"; tc: "cc.tc"; td: "cc.td"; te: "cc.te"; tf: "cc.tf"; tg: "cc.tg"; th: "cc.th"; ti: "cc.ti"; tj: "cc.tj"; tk: "cc.tk"; tl: "cc.tl"; tm: "cc.tm"; tn: "cc.tn"; to: "cc.to"; tp: "cc.tp"; tq: "cc.tq"; tr: "cc.tr"; ts: "cc.ts"; tt: "cc.tt"; tu: "cc.tu"; tv: "cc.tv"; tw: "cc.tw"; tx: "cc.tx"; ty: "cc.ty"; tz: "cc.tz"; ua: "cc.ua"; ub: "cc.ub"; uc: "cc.uc"; ud: "cc.ud"; ue: "cc.ue"; uf: "cc.uf"; ug: "cc.ug"; uh: "cc.uh"; ui: "cc.ui"; uj: "cc.uj"; uk: "cc.uk"; ul: "cc.ul"; um: "cc.um"; un: "cc.un"; uo: "cc.uo"; up: "cc.up"; uq: "cc.uq"; ur: "cc.ur"; us: "cc.us"; ut: "cc.ut"; uu: "cc.uu"; uv: "cc.uv"; uw: "cc.uw"; ux: "cc.ux"; uy: "cc.uy"; uz: "cc.uz"; va: "cc.va"; vb: "cc.vb"; vc: "cc.vc"; vd: "cc.vd"; ve: "cc.ve"; vf: "cc.vf"; vg: "cc.vg"; vh: "cc.vh"; vi: "cc.vi"; vj: "cc.vj"; vk: "cc.vk"; vl: "cc.vl"; vm: "cc.vm"; vn: "cc.vn"; vo: "cc.vo"; vp: "cc.vp"; vq: "cc.vq"; vr: "cc.vr"; vs: "cc.vs"; vt: "cc.vt"; vu: "cc.vu"; vv: "cc.vv"; vw: "cc.vw"; vx: "cc.vx"; vy: "cc.vy"; vz: "cc.vz"; wa: "cc.wa"; wb: "cc.wb"; wc: "cc.wc"; wd: "cc.wd"; we: "cc.we"; wf: "cc.wf"; wg: "cc.wg"; wh: "cc.wh"; wi: "cc.wi"; wj: "cc.wj"; wk: "cc.wk"; wl: "cc.wl"; wm: "cc.wm"; wn: "cc.wn"; wo: "cc.wo"; wp: "cc.wp"; wq: "cc.wq"; wr: "cc.wr"; ws: "cc.ws"; wt: "cc.wt"; wu: "cc.wu"; wv: "cc.wv"; ww: "cc.ww"; wx: "cc.wx"; wy: "cc.wy"; wz: "cc.wz"; xa: "cc.xa"; xb: "cc.xb"; xc: "cc.xc"; xd: "cc.xd"; xe: "cc.xe"; xf: "cc.xf"; xg: "cc.xg"; xh: "cc.xh"; xi: "cc.xi"; xj: "cc.xj"; xk: "cc.xk"; xl: "cc.xl"; xm: "cc.xm"; xn: "cc.xn"; xo: "cc.xo"; xp: "cc.xp"; xq: "cc.xq"; xr: "cc.xr"; xs: "cc.xs"; xt: "cc.xt"; xu: "cc.xu"; xv: "cc.xv"; xw: "cc.xw"; xx: "cc.xx"; xy: "cc.xy"; xz: "cc.xz"; ya: "cc.ya"; yb: "cc.yb"; yc: "cc.yc"; yd: "cc.yd"; ye: "cc.ye"; yf: "cc.yf"; yg: "cc.yg"; yh: "cc.yh"; yi: "cc.yi"; yj: "cc.yj"; yk: "cc.yk"; yl: "cc.yl"; ym: "cc.ym"; yn: "cc.yn"; yo: "cc.yo"; yp: "cc.yp"; yq: "cc.yq"; yr: "cc.yr"; ys: "cc.ys"; yt: "cc.yt"; yu: "cc.yu"; yv: "cc.yv"; yw: "cc.yw"; yx: "cc.yx"; yy: "cc.yy"; yz: "cc.yz"; za: "cc.za"; zb: "cc.zb"; zc: "cc.zc"; zd: "cc.zd"; ze: "cc.ze"; zf: "cc.zf"; zg: "cc.zg"; zh: "cc.zh"; zi: "cc.zi"; zj: "cc.zj"; zk: "cc.zk"; zl: "cc.zl"; zm: "cc.zm"; zn: "cc.zn"; zo: "cc.zo"; zp: "cc.zp"; zq: "cc.zq"; zr: "cc.zr"; zs: "cc.zs"; zt: "cc.zt"; zu: "cc.zu"; zv: "cc.zv"; zw: "cc.zw"; zx: "cc.zx"; zy: "cc.zy"; zz: "cc.zz"; }; cd: { aa: "cd.aa"; ab: "cd.ab"; ac: "cd.ac"; ad: "cd.ad"; ae: "cd.ae"; af: "cd.af"; ag: "cd.ag"; ah: "cd.ah"; ai: "cd.ai"; aj: "cd.aj"; ak: "cd.ak"; al: "cd.al"; am: "cd.am"; an: "cd.an"; ao: "cd.ao"; ap: "cd.ap"; aq: "cd.aq"; ar: "cd.ar"; as: "cd.as"; at: "cd.at"; au: "cd.au"; av: "cd.av"; aw: "cd.aw"; ax: "cd.ax"; ay: "cd.ay"; az: "cd.az"; ba: "cd.ba"; bb: "cd.bb"; bc: "cd.bc"; bd: "cd.bd"; be: "cd.be"; bf: "cd.bf"; bg: "cd.bg"; bh: "cd.bh"; bi: "cd.bi"; bj: "cd.bj"; bk: "cd.bk"; bl: "cd.bl"; bm: "cd.bm"; bn: "cd.bn"; bo: "cd.bo"; bp: "cd.bp"; bq: "cd.bq"; br: "cd.br"; bs: "cd.bs"; bt: "cd.bt"; bu: "cd.bu"; bv: "cd.bv"; bw: "cd.bw"; bx: "cd.bx"; by: "cd.by"; bz: "cd.bz"; ca: "cd.ca"; cb: "cd.cb"; cc: "cd.cc"; cd: "cd.cd"; ce: "cd.ce"; cf: "cd.cf"; cg: "cd.cg"; ch: "cd.ch"; ci: "cd.ci"; cj: "cd.cj"; ck: "cd.ck"; cl: "cd.cl"; cm: "cd.cm"; cn: "cd.cn"; co: "cd.co"; cp: "cd.cp"; cq: "cd.cq"; cr: "cd.cr"; cs: "cd.cs"; ct: "cd.ct"; cu: "cd.cu"; cv: "cd.cv"; cw: "cd.cw"; cx: "cd.cx"; cy: "cd.cy"; cz: "cd.cz"; da: "cd.da"; db: "cd.db"; dc: "cd.dc"; dd: "cd.dd"; de: "cd.de"; df: "cd.df"; dg: "cd.dg"; dh: "cd.dh"; di: "cd.di"; dj: "cd.dj"; dk: "cd.dk"; dl: "cd.dl"; dm: "cd.dm"; dn: "cd.dn"; do: "cd.do"; dp: "cd.dp"; dq: "cd.dq"; dr: "cd.dr"; ds: "cd.ds"; dt: "cd.dt"; du: "cd.du"; dv: "cd.dv"; dw: "cd.dw"; dx: "cd.dx"; dy: "cd.dy"; dz: "cd.dz"; ea: "cd.ea"; eb: "cd.eb"; ec: "cd.ec"; ed: "cd.ed"; ee: "cd.ee"; ef: "cd.ef"; eg: "cd.eg"; eh: "cd.eh"; ei: "cd.ei"; ej: "cd.ej"; ek: "cd.ek"; el: "cd.el"; em: "cd.em"; en: "cd.en"; eo: "cd.eo"; ep: "cd.ep"; eq: "cd.eq"; er: "cd.er"; es: "cd.es"; et: "cd.et"; eu: "cd.eu"; ev: "cd.ev"; ew: "cd.ew"; ex: "cd.ex"; ey: "cd.ey"; ez: "cd.ez"; fa: "cd.fa"; fb: "cd.fb"; fc: "cd.fc"; fd: "cd.fd"; fe: "cd.fe"; ff: "cd.ff"; fg: "cd.fg"; fh: "cd.fh"; fi: "cd.fi"; fj: "cd.fj"; fk: "cd.fk"; fl: "cd.fl"; fm: "cd.fm"; fn: "cd.fn"; fo: "cd.fo"; fp: "cd.fp"; fq: "cd.fq"; fr: "cd.fr"; fs: "cd.fs"; ft: "cd.ft"; fu: "cd.fu"; fv: "cd.fv"; fw: "cd.fw"; fx: "cd.fx"; fy: "cd.fy"; fz: "cd.fz"; ga: "cd.ga"; gb: "cd.gb"; gc: "cd.gc"; gd: "cd.gd"; ge: "cd.ge"; gf: "cd.gf"; gg: "cd.gg"; gh: "cd.gh"; gi: "cd.gi"; gj: "cd.gj"; gk: "cd.gk"; gl: "cd.gl"; gm: "cd.gm"; gn: "cd.gn"; go: "cd.go"; gp: "cd.gp"; gq: "cd.gq"; gr: "cd.gr"; gs: "cd.gs"; gt: "cd.gt"; gu: "cd.gu"; gv: "cd.gv"; gw: "cd.gw"; gx: "cd.gx"; gy: "cd.gy"; gz: "cd.gz"; ha: "cd.ha"; hb: "cd.hb"; hc: "cd.hc"; hd: "cd.hd"; he: "cd.he"; hf: "cd.hf"; hg: "cd.hg"; hh: "cd.hh"; hi: "cd.hi"; hj: "cd.hj"; hk: "cd.hk"; hl: "cd.hl"; hm: "cd.hm"; hn: "cd.hn"; ho: "cd.ho"; hp: "cd.hp"; hq: "cd.hq"; hr: "cd.hr"; hs: "cd.hs"; ht: "cd.ht"; hu: "cd.hu"; hv: "cd.hv"; hw: "cd.hw"; hx: "cd.hx"; hy: "cd.hy"; hz: "cd.hz"; ia: "cd.ia"; ib: "cd.ib"; ic: "cd.ic"; id: "cd.id"; ie: "cd.ie"; if: "cd.if"; ig: "cd.ig"; ih: "cd.ih"; ii: "cd.ii"; ij: "cd.ij"; ik: "cd.ik"; il: "cd.il"; im: "cd.im"; in: "cd.in"; io: "cd.io"; ip: "cd.ip"; iq: "cd.iq"; ir: "cd.ir"; is: "cd.is"; it: "cd.it"; iu: "cd.iu"; iv: "cd.iv"; iw: "cd.iw"; ix: "cd.ix"; iy: "cd.iy"; iz: "cd.iz"; ja: "cd.ja"; jb: "cd.jb"; jc: "cd.jc"; jd: "cd.jd"; je: "cd.je"; jf: "cd.jf"; jg: "cd.jg"; jh: "cd.jh"; ji: "cd.ji"; jj: "cd.jj"; jk: "cd.jk"; jl: "cd.jl"; jm: "cd.jm"; jn: "cd.jn"; jo: "cd.jo"; jp: "cd.jp"; jq: "cd.jq"; jr: "cd.jr"; js: "cd.js"; jt: "cd.jt"; ju: "cd.ju"; jv: "cd.jv"; jw: "cd.jw"; jx: "cd.jx"; jy: "cd.jy"; jz: "cd.jz"; ka: "cd.ka"; kb: "cd.kb"; kc: "cd.kc"; kd: "cd.kd"; ke: "cd.ke"; kf: "cd.kf"; kg: "cd.kg"; kh: "cd.kh"; ki: "cd.ki"; kj: "cd.kj"; kk: "cd.kk"; kl: "cd.kl"; km: "cd.km"; kn: "cd.kn"; ko: "cd.ko"; kp: "cd.kp"; kq: "cd.kq"; kr: "cd.kr"; ks: "cd.ks"; kt: "cd.kt"; ku: "cd.ku"; kv: "cd.kv"; kw: "cd.kw"; kx: "cd.kx"; ky: "cd.ky"; kz: "cd.kz"; la: "cd.la"; lb: "cd.lb"; lc: "cd.lc"; ld: "cd.ld"; le: "cd.le"; lf: "cd.lf"; lg: "cd.lg"; lh: "cd.lh"; li: "cd.li"; lj: "cd.lj"; lk: "cd.lk"; ll: "cd.ll"; lm: "cd.lm"; ln: "cd.ln"; lo: "cd.lo"; lp: "cd.lp"; lq: "cd.lq"; lr: "cd.lr"; ls: "cd.ls"; lt: "cd.lt"; lu: "cd.lu"; lv: "cd.lv"; lw: "cd.lw"; lx: "cd.lx"; ly: "cd.ly"; lz: "cd.lz"; ma: "cd.ma"; mb: "cd.mb"; mc: "cd.mc"; md: "cd.md"; me: "cd.me"; mf: "cd.mf"; mg: "cd.mg"; mh: "cd.mh"; mi: "cd.mi"; mj: "cd.mj"; mk: "cd.mk"; ml: "cd.ml"; mm: "cd.mm"; mn: "cd.mn"; mo: "cd.mo"; mp: "cd.mp"; mq: "cd.mq"; mr: "cd.mr"; ms: "cd.ms"; mt: "cd.mt"; mu: "cd.mu"; mv: "cd.mv"; mw: "cd.mw"; mx: "cd.mx"; my: "cd.my"; mz: "cd.mz"; na: "cd.na"; nb: "cd.nb"; nc: "cd.nc"; nd: "cd.nd"; ne: "cd.ne"; nf: "cd.nf"; ng: "cd.ng"; nh: "cd.nh"; ni: "cd.ni"; nj: "cd.nj"; nk: "cd.nk"; nl: "cd.nl"; nm: "cd.nm"; nn: "cd.nn"; no: "cd.no"; np: "cd.np"; nq: "cd.nq"; nr: "cd.nr"; ns: "cd.ns"; nt: "cd.nt"; nu: "cd.nu"; nv: "cd.nv"; nw: "cd.nw"; nx: "cd.nx"; ny: "cd.ny"; nz: "cd.nz"; oa: "cd.oa"; ob: "cd.ob"; oc: "cd.oc"; od: "cd.od"; oe: "cd.oe"; of: "cd.of"; og: "cd.og"; oh: "cd.oh"; oi: "cd.oi"; oj: "cd.oj"; ok: "cd.ok"; ol: "cd.ol"; om: "cd.om"; on: "cd.on"; oo: "cd.oo"; op: "cd.op"; oq: "cd.oq"; or: "cd.or"; os: "cd.os"; ot: "cd.ot"; ou: "cd.ou"; ov: "cd.ov"; ow: "cd.ow"; ox: "cd.ox"; oy: "cd.oy"; oz: "cd.oz"; pa: "cd.pa"; pb: "cd.pb"; pc: "cd.pc"; pd: "cd.pd"; pe: "cd.pe"; pf: "cd.pf"; pg: "cd.pg"; ph: "cd.ph"; pi: "cd.pi"; pj: "cd.pj"; pk: "cd.pk"; pl: "cd.pl"; pm: "cd.pm"; pn: "cd.pn"; po: "cd.po"; pp: "cd.pp"; pq: "cd.pq"; pr: "cd.pr"; ps: "cd.ps"; pt: "cd.pt"; pu: "cd.pu"; pv: "cd.pv"; pw: "cd.pw"; px: "cd.px"; py: "cd.py"; pz: "cd.pz"; qa: "cd.qa"; qb: "cd.qb"; qc: "cd.qc"; qd: "cd.qd"; qe: "cd.qe"; qf: "cd.qf"; qg: "cd.qg"; qh: "cd.qh"; qi: "cd.qi"; qj: "cd.qj"; qk: "cd.qk"; ql: "cd.ql"; qm: "cd.qm"; qn: "cd.qn"; qo: "cd.qo"; qp: "cd.qp"; qq: "cd.qq"; qr: "cd.qr"; qs: "cd.qs"; qt: "cd.qt"; qu: "cd.qu"; qv: "cd.qv"; qw: "cd.qw"; qx: "cd.qx"; qy: "cd.qy"; qz: "cd.qz"; ra: "cd.ra"; rb: "cd.rb"; rc: "cd.rc"; rd: "cd.rd"; re: "cd.re"; rf: "cd.rf"; rg: "cd.rg"; rh: "cd.rh"; ri: "cd.ri"; rj: "cd.rj"; rk: "cd.rk"; rl: "cd.rl"; rm: "cd.rm"; rn: "cd.rn"; ro: "cd.ro"; rp: "cd.rp"; rq: "cd.rq"; rr: "cd.rr"; rs: "cd.rs"; rt: "cd.rt"; ru: "cd.ru"; rv: "cd.rv"; rw: "cd.rw"; rx: "cd.rx"; ry: "cd.ry"; rz: "cd.rz"; sa: "cd.sa"; sb: "cd.sb"; sc: "cd.sc"; sd: "cd.sd"; se: "cd.se"; sf: "cd.sf"; sg: "cd.sg"; sh: "cd.sh"; si: "cd.si"; sj: "cd.sj"; sk: "cd.sk"; sl: "cd.sl"; sm: "cd.sm"; sn: "cd.sn"; so: "cd.so"; sp: "cd.sp"; sq: "cd.sq"; sr: "cd.sr"; ss: "cd.ss"; st: "cd.st"; su: "cd.su"; sv: "cd.sv"; sw: "cd.sw"; sx: "cd.sx"; sy: "cd.sy"; sz: "cd.sz"; ta: "cd.ta"; tb: "cd.tb"; tc: "cd.tc"; td: "cd.td"; te: "cd.te"; tf: "cd.tf"; tg: "cd.tg"; th: "cd.th"; ti: "cd.ti"; tj: "cd.tj"; tk: "cd.tk"; tl: "cd.tl"; tm: "cd.tm"; tn: "cd.tn"; to: "cd.to"; tp: "cd.tp"; tq: "cd.tq"; tr: "cd.tr"; ts: "cd.ts"; tt: "cd.tt"; tu: "cd.tu"; tv: "cd.tv"; tw: "cd.tw"; tx: "cd.tx"; ty: "cd.ty"; tz: "cd.tz"; ua: "cd.ua"; ub: "cd.ub"; uc: "cd.uc"; ud: "cd.ud"; ue: "cd.ue"; uf: "cd.uf"; ug: "cd.ug"; uh: "cd.uh"; ui: "cd.ui"; uj: "cd.uj"; uk: "cd.uk"; ul: "cd.ul"; um: "cd.um"; un: "cd.un"; uo: "cd.uo"; up: "cd.up"; uq: "cd.uq"; ur: "cd.ur"; us: "cd.us"; ut: "cd.ut"; uu: "cd.uu"; uv: "cd.uv"; uw: "cd.uw"; ux: "cd.ux"; uy: "cd.uy"; uz: "cd.uz"; va: "cd.va"; vb: "cd.vb"; vc: "cd.vc"; vd: "cd.vd"; ve: "cd.ve"; vf: "cd.vf"; vg: "cd.vg"; vh: "cd.vh"; vi: "cd.vi"; vj: "cd.vj"; vk: "cd.vk"; vl: "cd.vl"; vm: "cd.vm"; vn: "cd.vn"; vo: "cd.vo"; vp: "cd.vp"; vq: "cd.vq"; vr: "cd.vr"; vs: "cd.vs"; vt: "cd.vt"; vu: "cd.vu"; vv: "cd.vv"; vw: "cd.vw"; vx: "cd.vx"; vy: "cd.vy"; vz: "cd.vz"; wa: "cd.wa"; wb: "cd.wb"; wc: "cd.wc"; wd: "cd.wd"; we: "cd.we"; wf: "cd.wf"; wg: "cd.wg"; wh: "cd.wh"; wi: "cd.wi"; wj: "cd.wj"; wk: "cd.wk"; wl: "cd.wl"; wm: "cd.wm"; wn: "cd.wn"; wo: "cd.wo"; wp: "cd.wp"; wq: "cd.wq"; wr: "cd.wr"; ws: "cd.ws"; wt: "cd.wt"; wu: "cd.wu"; wv: "cd.wv"; ww: "cd.ww"; wx: "cd.wx"; wy: "cd.wy"; wz: "cd.wz"; xa: "cd.xa"; xb: "cd.xb"; xc: "cd.xc"; xd: "cd.xd"; xe: "cd.xe"; xf: "cd.xf"; xg: "cd.xg"; xh: "cd.xh"; xi: "cd.xi"; xj: "cd.xj"; xk: "cd.xk"; xl: "cd.xl"; xm: "cd.xm"; xn: "cd.xn"; xo: "cd.xo"; xp: "cd.xp"; xq: "cd.xq"; xr: "cd.xr"; xs: "cd.xs"; xt: "cd.xt"; xu: "cd.xu"; xv: "cd.xv"; xw: "cd.xw"; xx: "cd.xx"; xy: "cd.xy"; xz: "cd.xz"; ya: "cd.ya"; yb: "cd.yb"; yc: "cd.yc"; yd: "cd.yd"; ye: "cd.ye"; yf: "cd.yf"; yg: "cd.yg"; yh: "cd.yh"; yi: "cd.yi"; yj: "cd.yj"; yk: "cd.yk"; yl: "cd.yl"; ym: "cd.ym"; yn: "cd.yn"; yo: "cd.yo"; yp: "cd.yp"; yq: "cd.yq"; yr: "cd.yr"; ys: "cd.ys"; yt: "cd.yt"; yu: "cd.yu"; yv: "cd.yv"; yw: "cd.yw"; yx: "cd.yx"; yy: "cd.yy"; yz: "cd.yz"; za: "cd.za"; zb: "cd.zb"; zc: "cd.zc"; zd: "cd.zd"; ze: "cd.ze"; zf: "cd.zf"; zg: "cd.zg"; zh: "cd.zh"; zi: "cd.zi"; zj: "cd.zj"; zk: "cd.zk"; zl: "cd.zl"; zm: "cd.zm"; zn: "cd.zn"; zo: "cd.zo"; zp: "cd.zp"; zq: "cd.zq"; zr: "cd.zr"; zs: "cd.zs"; zt: "cd.zt"; zu: "cd.zu"; zv: "cd.zv"; zw: "cd.zw"; zx: "cd.zx"; zy: "cd.zy"; zz: "cd.zz"; }; ce: { aa: "ce.aa"; ab: "ce.ab"; ac: "ce.ac"; ad: "ce.ad"; ae: "ce.ae"; af: "ce.af"; ag: "ce.ag"; ah: "ce.ah"; ai: "ce.ai"; aj: "ce.aj"; ak: "ce.ak"; al: "ce.al"; am: "ce.am"; an: "ce.an"; ao: "ce.ao"; ap: "ce.ap"; aq: "ce.aq"; ar: "ce.ar"; as: "ce.as"; at: "ce.at"; au: "ce.au"; av: "ce.av"; aw: "ce.aw"; ax: "ce.ax"; ay: "ce.ay"; az: "ce.az"; ba: "ce.ba"; bb: "ce.bb"; bc: "ce.bc"; bd: "ce.bd"; be: "ce.be"; bf: "ce.bf"; bg: "ce.bg"; bh: "ce.bh"; bi: "ce.bi"; bj: "ce.bj"; bk: "ce.bk"; bl: "ce.bl"; bm: "ce.bm"; bn: "ce.bn"; bo: "ce.bo"; bp: "ce.bp"; bq: "ce.bq"; br: "ce.br"; bs: "ce.bs"; bt: "ce.bt"; bu: "ce.bu"; bv: "ce.bv"; bw: "ce.bw"; bx: "ce.bx"; by: "ce.by"; bz: "ce.bz"; ca: "ce.ca"; cb: "ce.cb"; cc: "ce.cc"; cd: "ce.cd"; ce: "ce.ce"; cf: "ce.cf"; cg: "ce.cg"; ch: "ce.ch"; ci: "ce.ci"; cj: "ce.cj"; ck: "ce.ck"; cl: "ce.cl"; cm: "ce.cm"; cn: "ce.cn"; co: "ce.co"; cp: "ce.cp"; cq: "ce.cq"; cr: "ce.cr"; cs: "ce.cs"; ct: "ce.ct"; cu: "ce.cu"; cv: "ce.cv"; cw: "ce.cw"; cx: "ce.cx"; cy: "ce.cy"; cz: "ce.cz"; da: "ce.da"; db: "ce.db"; dc: "ce.dc"; dd: "ce.dd"; de: "ce.de"; df: "ce.df"; dg: "ce.dg"; dh: "ce.dh"; di: "ce.di"; dj: "ce.dj"; dk: "ce.dk"; dl: "ce.dl"; dm: "ce.dm"; dn: "ce.dn"; do: "ce.do"; dp: "ce.dp"; dq: "ce.dq"; dr: "ce.dr"; ds: "ce.ds"; dt: "ce.dt"; du: "ce.du"; dv: "ce.dv"; dw: "ce.dw"; dx: "ce.dx"; dy: "ce.dy"; dz: "ce.dz"; ea: "ce.ea"; eb: "ce.eb"; ec: "ce.ec"; ed: "ce.ed"; ee: "ce.ee"; ef: "ce.ef"; eg: "ce.eg"; eh: "ce.eh"; ei: "ce.ei"; ej: "ce.ej"; ek: "ce.ek"; el: "ce.el"; em: "ce.em"; en: "ce.en"; eo: "ce.eo"; ep: "ce.ep"; eq: "ce.eq"; er: "ce.er"; es: "ce.es"; et: "ce.et"; eu: "ce.eu"; ev: "ce.ev"; ew: "ce.ew"; ex: "ce.ex"; ey: "ce.ey"; ez: "ce.ez"; fa: "ce.fa"; fb: "ce.fb"; fc: "ce.fc"; fd: "ce.fd"; fe: "ce.fe"; ff: "ce.ff"; fg: "ce.fg"; fh: "ce.fh"; fi: "ce.fi"; fj: "ce.fj"; fk: "ce.fk"; fl: "ce.fl"; fm: "ce.fm"; fn: "ce.fn"; fo: "ce.fo"; fp: "ce.fp"; fq: "ce.fq"; fr: "ce.fr"; fs: "ce.fs"; ft: "ce.ft"; fu: "ce.fu"; fv: "ce.fv"; fw: "ce.fw"; fx: "ce.fx"; fy: "ce.fy"; fz: "ce.fz"; ga: "ce.ga"; gb: "ce.gb"; gc: "ce.gc"; gd: "ce.gd"; ge: "ce.ge"; gf: "ce.gf"; gg: "ce.gg"; gh: "ce.gh"; gi: "ce.gi"; gj: "ce.gj"; gk: "ce.gk"; gl: "ce.gl"; gm: "ce.gm"; gn: "ce.gn"; go: "ce.go"; gp: "ce.gp"; gq: "ce.gq"; gr: "ce.gr"; gs: "ce.gs"; gt: "ce.gt"; gu: "ce.gu"; gv: "ce.gv"; gw: "ce.gw"; gx: "ce.gx"; gy: "ce.gy"; gz: "ce.gz"; ha: "ce.ha"; hb: "ce.hb"; hc: "ce.hc"; hd: "ce.hd"; he: "ce.he"; hf: "ce.hf"; hg: "ce.hg"; hh: "ce.hh"; hi: "ce.hi"; hj: "ce.hj"; hk: "ce.hk"; hl: "ce.hl"; hm: "ce.hm"; hn: "ce.hn"; ho: "ce.ho"; hp: "ce.hp"; hq: "ce.hq"; hr: "ce.hr"; hs: "ce.hs"; ht: "ce.ht"; hu: "ce.hu"; hv: "ce.hv"; hw: "ce.hw"; hx: "ce.hx"; hy: "ce.hy"; hz: "ce.hz"; ia: "ce.ia"; ib: "ce.ib"; ic: "ce.ic"; id: "ce.id"; ie: "ce.ie"; if: "ce.if"; ig: "ce.ig"; ih: "ce.ih"; ii: "ce.ii"; ij: "ce.ij"; ik: "ce.ik"; il: "ce.il"; im: "ce.im"; in: "ce.in"; io: "ce.io"; ip: "ce.ip"; iq: "ce.iq"; ir: "ce.ir"; is: "ce.is"; it: "ce.it"; iu: "ce.iu"; iv: "ce.iv"; iw: "ce.iw"; ix: "ce.ix"; iy: "ce.iy"; iz: "ce.iz"; ja: "ce.ja"; jb: "ce.jb"; jc: "ce.jc"; jd: "ce.jd"; je: "ce.je"; jf: "ce.jf"; jg: "ce.jg"; jh: "ce.jh"; ji: "ce.ji"; jj: "ce.jj"; jk: "ce.jk"; jl: "ce.jl"; jm: "ce.jm"; jn: "ce.jn"; jo: "ce.jo"; jp: "ce.jp"; jq: "ce.jq"; jr: "ce.jr"; js: "ce.js"; jt: "ce.jt"; ju: "ce.ju"; jv: "ce.jv"; jw: "ce.jw"; jx: "ce.jx"; jy: "ce.jy"; jz: "ce.jz"; ka: "ce.ka"; kb: "ce.kb"; kc: "ce.kc"; kd: "ce.kd"; ke: "ce.ke"; kf: "ce.kf"; kg: "ce.kg"; kh: "ce.kh"; ki: "ce.ki"; kj: "ce.kj"; kk: "ce.kk"; kl: "ce.kl"; km: "ce.km"; kn: "ce.kn"; ko: "ce.ko"; kp: "ce.kp"; kq: "ce.kq"; kr: "ce.kr"; ks: "ce.ks"; kt: "ce.kt"; ku: "ce.ku"; kv: "ce.kv"; kw: "ce.kw"; kx: "ce.kx"; ky: "ce.ky"; kz: "ce.kz"; la: "ce.la"; lb: "ce.lb"; lc: "ce.lc"; ld: "ce.ld"; le: "ce.le"; lf: "ce.lf"; lg: "ce.lg"; lh: "ce.lh"; li: "ce.li"; lj: "ce.lj"; lk: "ce.lk"; ll: "ce.ll"; lm: "ce.lm"; ln: "ce.ln"; lo: "ce.lo"; lp: "ce.lp"; lq: "ce.lq"; lr: "ce.lr"; ls: "ce.ls"; lt: "ce.lt"; lu: "ce.lu"; lv: "ce.lv"; lw: "ce.lw"; lx: "ce.lx"; ly: "ce.ly"; lz: "ce.lz"; ma: "ce.ma"; mb: "ce.mb"; mc: "ce.mc"; md: "ce.md"; me: "ce.me"; mf: "ce.mf"; mg: "ce.mg"; mh: "ce.mh"; mi: "ce.mi"; mj: "ce.mj"; mk: "ce.mk"; ml: "ce.ml"; mm: "ce.mm"; mn: "ce.mn"; mo: "ce.mo"; mp: "ce.mp"; mq: "ce.mq"; mr: "ce.mr"; ms: "ce.ms"; mt: "ce.mt"; mu: "ce.mu"; mv: "ce.mv"; mw: "ce.mw"; mx: "ce.mx"; my: "ce.my"; mz: "ce.mz"; na: "ce.na"; nb: "ce.nb"; nc: "ce.nc"; nd: "ce.nd"; ne: "ce.ne"; nf: "ce.nf"; ng: "ce.ng"; nh: "ce.nh"; ni: "ce.ni"; nj: "ce.nj"; nk: "ce.nk"; nl: "ce.nl"; nm: "ce.nm"; nn: "ce.nn"; no: "ce.no"; np: "ce.np"; nq: "ce.nq"; nr: "ce.nr"; ns: "ce.ns"; nt: "ce.nt"; nu: "ce.nu"; nv: "ce.nv"; nw: "ce.nw"; nx: "ce.nx"; ny: "ce.ny"; nz: "ce.nz"; oa: "ce.oa"; ob: "ce.ob"; oc: "ce.oc"; od: "ce.od"; oe: "ce.oe"; of: "ce.of"; og: "ce.og"; oh: "ce.oh"; oi: "ce.oi"; oj: "ce.oj"; ok: "ce.ok"; ol: "ce.ol"; om: "ce.om"; on: "ce.on"; oo: "ce.oo"; op: "ce.op"; oq: "ce.oq"; or: "ce.or"; os: "ce.os"; ot: "ce.ot"; ou: "ce.ou"; ov: "ce.ov"; ow: "ce.ow"; ox: "ce.ox"; oy: "ce.oy"; oz: "ce.oz"; pa: "ce.pa"; pb: "ce.pb"; pc: "ce.pc"; pd: "ce.pd"; pe: "ce.pe"; pf: "ce.pf"; pg: "ce.pg"; ph: "ce.ph"; pi: "ce.pi"; pj: "ce.pj"; pk: "ce.pk"; pl: "ce.pl"; pm: "ce.pm"; pn: "ce.pn"; po: "ce.po"; pp: "ce.pp"; pq: "ce.pq"; pr: "ce.pr"; ps: "ce.ps"; pt: "ce.pt"; pu: "ce.pu"; pv: "ce.pv"; pw: "ce.pw"; px: "ce.px"; py: "ce.py"; pz: "ce.pz"; qa: "ce.qa"; qb: "ce.qb"; qc: "ce.qc"; qd: "ce.qd"; qe: "ce.qe"; qf: "ce.qf"; qg: "ce.qg"; qh: "ce.qh"; qi: "ce.qi"; qj: "ce.qj"; qk: "ce.qk"; ql: "ce.ql"; qm: "ce.qm"; qn: "ce.qn"; qo: "ce.qo"; qp: "ce.qp"; qq: "ce.qq"; qr: "ce.qr"; qs: "ce.qs"; qt: "ce.qt"; qu: "ce.qu"; qv: "ce.qv"; qw: "ce.qw"; qx: "ce.qx"; qy: "ce.qy"; qz: "ce.qz"; ra: "ce.ra"; rb: "ce.rb"; rc: "ce.rc"; rd: "ce.rd"; re: "ce.re"; rf: "ce.rf"; rg: "ce.rg"; rh: "ce.rh"; ri: "ce.ri"; rj: "ce.rj"; rk: "ce.rk"; rl: "ce.rl"; rm: "ce.rm"; rn: "ce.rn"; ro: "ce.ro"; rp: "ce.rp"; rq: "ce.rq"; rr: "ce.rr"; rs: "ce.rs"; rt: "ce.rt"; ru: "ce.ru"; rv: "ce.rv"; rw: "ce.rw"; rx: "ce.rx"; ry: "ce.ry"; rz: "ce.rz"; sa: "ce.sa"; sb: "ce.sb"; sc: "ce.sc"; sd: "ce.sd"; se: "ce.se"; sf: "ce.sf"; sg: "ce.sg"; sh: "ce.sh"; si: "ce.si"; sj: "ce.sj"; sk: "ce.sk"; sl: "ce.sl"; sm: "ce.sm"; sn: "ce.sn"; so: "ce.so"; sp: "ce.sp"; sq: "ce.sq"; sr: "ce.sr"; ss: "ce.ss"; st: "ce.st"; su: "ce.su"; sv: "ce.sv"; sw: "ce.sw"; sx: "ce.sx"; sy: "ce.sy"; sz: "ce.sz"; ta: "ce.ta"; tb: "ce.tb"; tc: "ce.tc"; td: "ce.td"; te: "ce.te"; tf: "ce.tf"; tg: "ce.tg"; th: "ce.th"; ti: "ce.ti"; tj: "ce.tj"; tk: "ce.tk"; tl: "ce.tl"; tm: "ce.tm"; tn: "ce.tn"; to: "ce.to"; tp: "ce.tp"; tq: "ce.tq"; tr: "ce.tr"; ts: "ce.ts"; tt: "ce.tt"; tu: "ce.tu"; tv: "ce.tv"; tw: "ce.tw"; tx: "ce.tx"; ty: "ce.ty"; tz: "ce.tz"; ua: "ce.ua"; ub: "ce.ub"; uc: "ce.uc"; ud: "ce.ud"; ue: "ce.ue"; uf: "ce.uf"; ug: "ce.ug"; uh: "ce.uh"; ui: "ce.ui"; uj: "ce.uj"; uk: "ce.uk"; ul: "ce.ul"; um: "ce.um"; un: "ce.un"; uo: "ce.uo"; up: "ce.up"; uq: "ce.uq"; ur: "ce.ur"; us: "ce.us"; ut: "ce.ut"; uu: "ce.uu"; uv: "ce.uv"; uw: "ce.uw"; ux: "ce.ux"; uy: "ce.uy"; uz: "ce.uz"; va: "ce.va"; vb: "ce.vb"; vc: "ce.vc"; vd: "ce.vd"; ve: "ce.ve"; vf: "ce.vf"; vg: "ce.vg"; vh: "ce.vh"; vi: "ce.vi"; vj: "ce.vj"; vk: "ce.vk"; vl: "ce.vl"; vm: "ce.vm"; vn: "ce.vn"; vo: "ce.vo"; vp: "ce.vp"; vq: "ce.vq"; vr: "ce.vr"; vs: "ce.vs"; vt: "ce.vt"; vu: "ce.vu"; vv: "ce.vv"; vw: "ce.vw"; vx: "ce.vx"; vy: "ce.vy"; vz: "ce.vz"; wa: "ce.wa"; wb: "ce.wb"; wc: "ce.wc"; wd: "ce.wd"; we: "ce.we"; wf: "ce.wf"; wg: "ce.wg"; wh: "ce.wh"; wi: "ce.wi"; wj: "ce.wj"; wk: "ce.wk"; wl: "ce.wl"; wm: "ce.wm"; wn: "ce.wn"; wo: "ce.wo"; wp: "ce.wp"; wq: "ce.wq"; wr: "ce.wr"; ws: "ce.ws"; wt: "ce.wt"; wu: "ce.wu"; wv: "ce.wv"; ww: "ce.ww"; wx: "ce.wx"; wy: "ce.wy"; wz: "ce.wz"; xa: "ce.xa"; xb: "ce.xb"; xc: "ce.xc"; xd: "ce.xd"; xe: "ce.xe"; xf: "ce.xf"; xg: "ce.xg"; xh: "ce.xh"; xi: "ce.xi"; xj: "ce.xj"; xk: "ce.xk"; xl: "ce.xl"; xm: "ce.xm"; xn: "ce.xn"; xo: "ce.xo"; xp: "ce.xp"; xq: "ce.xq"; xr: "ce.xr"; xs: "ce.xs"; xt: "ce.xt"; xu: "ce.xu"; xv: "ce.xv"; xw: "ce.xw"; xx: "ce.xx"; xy: "ce.xy"; xz: "ce.xz"; ya: "ce.ya"; yb: "ce.yb"; yc: "ce.yc"; yd: "ce.yd"; ye: "ce.ye"; yf: "ce.yf"; yg: "ce.yg"; yh: "ce.yh"; yi: "ce.yi"; yj: "ce.yj"; yk: "ce.yk"; yl: "ce.yl"; ym: "ce.ym"; yn: "ce.yn"; yo: "ce.yo"; yp: "ce.yp"; yq: "ce.yq"; yr: "ce.yr"; ys: "ce.ys"; yt: "ce.yt"; yu: "ce.yu"; yv: "ce.yv"; yw: "ce.yw"; yx: "ce.yx"; yy: "ce.yy"; yz: "ce.yz"; za: "ce.za"; zb: "ce.zb"; zc: "ce.zc"; zd: "ce.zd"; ze: "ce.ze"; zf: "ce.zf"; zg: "ce.zg"; zh: "ce.zh"; zi: "ce.zi"; zj: "ce.zj"; zk: "ce.zk"; zl: "ce.zl"; zm: "ce.zm"; zn: "ce.zn"; zo: "ce.zo"; zp: "ce.zp"; zq: "ce.zq"; zr: "ce.zr"; zs: "ce.zs"; zt: "ce.zt"; zu: "ce.zu"; zv: "ce.zv"; zw: "ce.zw"; zx: "ce.zx"; zy: "ce.zy"; zz: "ce.zz"; }; cf: { aa: "cf.aa"; ab: "cf.ab"; ac: "cf.ac"; ad: "cf.ad"; ae: "cf.ae"; af: "cf.af"; ag: "cf.ag"; ah: "cf.ah"; ai: "cf.ai"; aj: "cf.aj"; ak: "cf.ak"; al: "cf.al"; am: "cf.am"; an: "cf.an"; ao: "cf.ao"; ap: "cf.ap"; aq: "cf.aq"; ar: "cf.ar"; as: "cf.as"; at: "cf.at"; au: "cf.au"; av: "cf.av"; aw: "cf.aw"; ax: "cf.ax"; ay: "cf.ay"; az: "cf.az"; ba: "cf.ba"; bb: "cf.bb"; bc: "cf.bc"; bd: "cf.bd"; be: "cf.be"; bf: "cf.bf"; bg: "cf.bg"; bh: "cf.bh"; bi: "cf.bi"; bj: "cf.bj"; bk: "cf.bk"; bl: "cf.bl"; bm: "cf.bm"; bn: "cf.bn"; bo: "cf.bo"; bp: "cf.bp"; bq: "cf.bq"; br: "cf.br"; bs: "cf.bs"; bt: "cf.bt"; bu: "cf.bu"; bv: "cf.bv"; bw: "cf.bw"; bx: "cf.bx"; by: "cf.by"; bz: "cf.bz"; ca: "cf.ca"; cb: "cf.cb"; cc: "cf.cc"; cd: "cf.cd"; ce: "cf.ce"; cf: "cf.cf"; cg: "cf.cg"; ch: "cf.ch"; ci: "cf.ci"; cj: "cf.cj"; ck: "cf.ck"; cl: "cf.cl"; cm: "cf.cm"; cn: "cf.cn"; co: "cf.co"; cp: "cf.cp"; cq: "cf.cq"; cr: "cf.cr"; cs: "cf.cs"; ct: "cf.ct"; cu: "cf.cu"; cv: "cf.cv"; cw: "cf.cw"; cx: "cf.cx"; cy: "cf.cy"; cz: "cf.cz"; da: "cf.da"; db: "cf.db"; dc: "cf.dc"; dd: "cf.dd"; de: "cf.de"; df: "cf.df"; dg: "cf.dg"; dh: "cf.dh"; di: "cf.di"; dj: "cf.dj"; dk: "cf.dk"; dl: "cf.dl"; dm: "cf.dm"; dn: "cf.dn"; do: "cf.do"; dp: "cf.dp"; dq: "cf.dq"; dr: "cf.dr"; ds: "cf.ds"; dt: "cf.dt"; du: "cf.du"; dv: "cf.dv"; dw: "cf.dw"; dx: "cf.dx"; dy: "cf.dy"; dz: "cf.dz"; ea: "cf.ea"; eb: "cf.eb"; ec: "cf.ec"; ed: "cf.ed"; ee: "cf.ee"; ef: "cf.ef"; eg: "cf.eg"; eh: "cf.eh"; ei: "cf.ei"; ej: "cf.ej"; ek: "cf.ek"; el: "cf.el"; em: "cf.em"; en: "cf.en"; eo: "cf.eo"; ep: "cf.ep"; eq: "cf.eq"; er: "cf.er"; es: "cf.es"; et: "cf.et"; eu: "cf.eu"; ev: "cf.ev"; ew: "cf.ew"; ex: "cf.ex"; ey: "cf.ey"; ez: "cf.ez"; fa: "cf.fa"; fb: "cf.fb"; fc: "cf.fc"; fd: "cf.fd"; fe: "cf.fe"; ff: "cf.ff"; fg: "cf.fg"; fh: "cf.fh"; fi: "cf.fi"; fj: "cf.fj"; fk: "cf.fk"; fl: "cf.fl"; fm: "cf.fm"; fn: "cf.fn"; fo: "cf.fo"; fp: "cf.fp"; fq: "cf.fq"; fr: "cf.fr"; fs: "cf.fs"; ft: "cf.ft"; fu: "cf.fu"; fv: "cf.fv"; fw: "cf.fw"; fx: "cf.fx"; fy: "cf.fy"; fz: "cf.fz"; ga: "cf.ga"; gb: "cf.gb"; gc: "cf.gc"; gd: "cf.gd"; ge: "cf.ge"; gf: "cf.gf"; gg: "cf.gg"; gh: "cf.gh"; gi: "cf.gi"; gj: "cf.gj"; gk: "cf.gk"; gl: "cf.gl"; gm: "cf.gm"; gn: "cf.gn"; go: "cf.go"; gp: "cf.gp"; gq: "cf.gq"; gr: "cf.gr"; gs: "cf.gs"; gt: "cf.gt"; gu: "cf.gu"; gv: "cf.gv"; gw: "cf.gw"; gx: "cf.gx"; gy: "cf.gy"; gz: "cf.gz"; ha: "cf.ha"; hb: "cf.hb"; hc: "cf.hc"; hd: "cf.hd"; he: "cf.he"; hf: "cf.hf"; hg: "cf.hg"; hh: "cf.hh"; hi: "cf.hi"; hj: "cf.hj"; hk: "cf.hk"; hl: "cf.hl"; hm: "cf.hm"; hn: "cf.hn"; ho: "cf.ho"; hp: "cf.hp"; hq: "cf.hq"; hr: "cf.hr"; hs: "cf.hs"; ht: "cf.ht"; hu: "cf.hu"; hv: "cf.hv"; hw: "cf.hw"; hx: "cf.hx"; hy: "cf.hy"; hz: "cf.hz"; ia: "cf.ia"; ib: "cf.ib"; ic: "cf.ic"; id: "cf.id"; ie: "cf.ie"; if: "cf.if"; ig: "cf.ig"; ih: "cf.ih"; ii: "cf.ii"; ij: "cf.ij"; ik: "cf.ik"; il: "cf.il"; im: "cf.im"; in: "cf.in"; io: "cf.io"; ip: "cf.ip"; iq: "cf.iq"; ir: "cf.ir"; is: "cf.is"; it: "cf.it"; iu: "cf.iu"; iv: "cf.iv"; iw: "cf.iw"; ix: "cf.ix"; iy: "cf.iy"; iz: "cf.iz"; ja: "cf.ja"; jb: "cf.jb"; jc: "cf.jc"; jd: "cf.jd"; je: "cf.je"; jf: "cf.jf"; jg: "cf.jg"; jh: "cf.jh"; ji: "cf.ji"; jj: "cf.jj"; jk: "cf.jk"; jl: "cf.jl"; jm: "cf.jm"; jn: "cf.jn"; jo: "cf.jo"; jp: "cf.jp"; jq: "cf.jq"; jr: "cf.jr"; js: "cf.js"; jt: "cf.jt"; ju: "cf.ju"; jv: "cf.jv"; jw: "cf.jw"; jx: "cf.jx"; jy: "cf.jy"; jz: "cf.jz"; ka: "cf.ka"; kb: "cf.kb"; kc: "cf.kc"; kd: "cf.kd"; ke: "cf.ke"; kf: "cf.kf"; kg: "cf.kg"; kh: "cf.kh"; ki: "cf.ki"; kj: "cf.kj"; kk: "cf.kk"; kl: "cf.kl"; km: "cf.km"; kn: "cf.kn"; ko: "cf.ko"; kp: "cf.kp"; kq: "cf.kq"; kr: "cf.kr"; ks: "cf.ks"; kt: "cf.kt"; ku: "cf.ku"; kv: "cf.kv"; kw: "cf.kw"; kx: "cf.kx"; ky: "cf.ky"; kz: "cf.kz"; la: "cf.la"; lb: "cf.lb"; lc: "cf.lc"; ld: "cf.ld"; le: "cf.le"; lf: "cf.lf"; lg: "cf.lg"; lh: "cf.lh"; li: "cf.li"; lj: "cf.lj"; lk: "cf.lk"; ll: "cf.ll"; lm: "cf.lm"; ln: "cf.ln"; lo: "cf.lo"; lp: "cf.lp"; lq: "cf.lq"; lr: "cf.lr"; ls: "cf.ls"; lt: "cf.lt"; lu: "cf.lu"; lv: "cf.lv"; lw: "cf.lw"; lx: "cf.lx"; ly: "cf.ly"; lz: "cf.lz"; ma: "cf.ma"; mb: "cf.mb"; mc: "cf.mc"; md: "cf.md"; me: "cf.me"; mf: "cf.mf"; mg: "cf.mg"; mh: "cf.mh"; mi: "cf.mi"; mj: "cf.mj"; mk: "cf.mk"; ml: "cf.ml"; mm: "cf.mm"; mn: "cf.mn"; mo: "cf.mo"; mp: "cf.mp"; mq: "cf.mq"; mr: "cf.mr"; ms: "cf.ms"; mt: "cf.mt"; mu: "cf.mu"; mv: "cf.mv"; mw: "cf.mw"; mx: "cf.mx"; my: "cf.my"; mz: "cf.mz"; na: "cf.na"; nb: "cf.nb"; nc: "cf.nc"; nd: "cf.nd"; ne: "cf.ne"; nf: "cf.nf"; ng: "cf.ng"; nh: "cf.nh"; ni: "cf.ni"; nj: "cf.nj"; nk: "cf.nk"; nl: "cf.nl"; nm: "cf.nm"; nn: "cf.nn"; no: "cf.no"; np: "cf.np"; nq: "cf.nq"; nr: "cf.nr"; ns: "cf.ns"; nt: "cf.nt"; nu: "cf.nu"; nv: "cf.nv"; nw: "cf.nw"; nx: "cf.nx"; ny: "cf.ny"; nz: "cf.nz"; oa: "cf.oa"; ob: "cf.ob"; oc: "cf.oc"; od: "cf.od"; oe: "cf.oe"; of: "cf.of"; og: "cf.og"; oh: "cf.oh"; oi: "cf.oi"; oj: "cf.oj"; ok: "cf.ok"; ol: "cf.ol"; om: "cf.om"; on: "cf.on"; oo: "cf.oo"; op: "cf.op"; oq: "cf.oq"; or: "cf.or"; os: "cf.os"; ot: "cf.ot"; ou: "cf.ou"; ov: "cf.ov"; ow: "cf.ow"; ox: "cf.ox"; oy: "cf.oy"; oz: "cf.oz"; pa: "cf.pa"; pb: "cf.pb"; pc: "cf.pc"; pd: "cf.pd"; pe: "cf.pe"; pf: "cf.pf"; pg: "cf.pg"; ph: "cf.ph"; pi: "cf.pi"; pj: "cf.pj"; pk: "cf.pk"; pl: "cf.pl"; pm: "cf.pm"; pn: "cf.pn"; po: "cf.po"; pp: "cf.pp"; pq: "cf.pq"; pr: "cf.pr"; ps: "cf.ps"; pt: "cf.pt"; pu: "cf.pu"; pv: "cf.pv"; pw: "cf.pw"; px: "cf.px"; py: "cf.py"; pz: "cf.pz"; qa: "cf.qa"; qb: "cf.qb"; qc: "cf.qc"; qd: "cf.qd"; qe: "cf.qe"; qf: "cf.qf"; qg: "cf.qg"; qh: "cf.qh"; qi: "cf.qi"; qj: "cf.qj"; qk: "cf.qk"; ql: "cf.ql"; qm: "cf.qm"; qn: "cf.qn"; qo: "cf.qo"; qp: "cf.qp"; qq: "cf.qq"; qr: "cf.qr"; qs: "cf.qs"; qt: "cf.qt"; qu: "cf.qu"; qv: "cf.qv"; qw: "cf.qw"; qx: "cf.qx"; qy: "cf.qy"; qz: "cf.qz"; ra: "cf.ra"; rb: "cf.rb"; rc: "cf.rc"; rd: "cf.rd"; re: "cf.re"; rf: "cf.rf"; rg: "cf.rg"; rh: "cf.rh"; ri: "cf.ri"; rj: "cf.rj"; rk: "cf.rk"; rl: "cf.rl"; rm: "cf.rm"; rn: "cf.rn"; ro: "cf.ro"; rp: "cf.rp"; rq: "cf.rq"; rr: "cf.rr"; rs: "cf.rs"; rt: "cf.rt"; ru: "cf.ru"; rv: "cf.rv"; rw: "cf.rw"; rx: "cf.rx"; ry: "cf.ry"; rz: "cf.rz"; sa: "cf.sa"; sb: "cf.sb"; sc: "cf.sc"; sd: "cf.sd"; se: "cf.se"; sf: "cf.sf"; sg: "cf.sg"; sh: "cf.sh"; si: "cf.si"; sj: "cf.sj"; sk: "cf.sk"; sl: "cf.sl"; sm: "cf.sm"; sn: "cf.sn"; so: "cf.so"; sp: "cf.sp"; sq: "cf.sq"; sr: "cf.sr"; ss: "cf.ss"; st: "cf.st"; su: "cf.su"; sv: "cf.sv"; sw: "cf.sw"; sx: "cf.sx"; sy: "cf.sy"; sz: "cf.sz"; ta: "cf.ta"; tb: "cf.tb"; tc: "cf.tc"; td: "cf.td"; te: "cf.te"; tf: "cf.tf"; tg: "cf.tg"; th: "cf.th"; ti: "cf.ti"; tj: "cf.tj"; tk: "cf.tk"; tl: "cf.tl"; tm: "cf.tm"; tn: "cf.tn"; to: "cf.to"; tp: "cf.tp"; tq: "cf.tq"; tr: "cf.tr"; ts: "cf.ts"; tt: "cf.tt"; tu: "cf.tu"; tv: "cf.tv"; tw: "cf.tw"; tx: "cf.tx"; ty: "cf.ty"; tz: "cf.tz"; ua: "cf.ua"; ub: "cf.ub"; uc: "cf.uc"; ud: "cf.ud"; ue: "cf.ue"; uf: "cf.uf"; ug: "cf.ug"; uh: "cf.uh"; ui: "cf.ui"; uj: "cf.uj"; uk: "cf.uk"; ul: "cf.ul"; um: "cf.um"; un: "cf.un"; uo: "cf.uo"; up: "cf.up"; uq: "cf.uq"; ur: "cf.ur"; us: "cf.us"; ut: "cf.ut"; uu: "cf.uu"; uv: "cf.uv"; uw: "cf.uw"; ux: "cf.ux"; uy: "cf.uy"; uz: "cf.uz"; va: "cf.va"; vb: "cf.vb"; vc: "cf.vc"; vd: "cf.vd"; ve: "cf.ve"; vf: "cf.vf"; vg: "cf.vg"; vh: "cf.vh"; vi: "cf.vi"; vj: "cf.vj"; vk: "cf.vk"; vl: "cf.vl"; vm: "cf.vm"; vn: "cf.vn"; vo: "cf.vo"; vp: "cf.vp"; vq: "cf.vq"; vr: "cf.vr"; vs: "cf.vs"; vt: "cf.vt"; vu: "cf.vu"; vv: "cf.vv"; vw: "cf.vw"; vx: "cf.vx"; vy: "cf.vy"; vz: "cf.vz"; wa: "cf.wa"; wb: "cf.wb"; wc: "cf.wc"; wd: "cf.wd"; we: "cf.we"; wf: "cf.wf"; wg: "cf.wg"; wh: "cf.wh"; wi: "cf.wi"; wj: "cf.wj"; wk: "cf.wk"; wl: "cf.wl"; wm: "cf.wm"; wn: "cf.wn"; wo: "cf.wo"; wp: "cf.wp"; wq: "cf.wq"; wr: "cf.wr"; ws: "cf.ws"; wt: "cf.wt"; wu: "cf.wu"; wv: "cf.wv"; ww: "cf.ww"; wx: "cf.wx"; wy: "cf.wy"; wz: "cf.wz"; xa: "cf.xa"; xb: "cf.xb"; xc: "cf.xc"; xd: "cf.xd"; xe: "cf.xe"; xf: "cf.xf"; xg: "cf.xg"; xh: "cf.xh"; xi: "cf.xi"; xj: "cf.xj"; xk: "cf.xk"; xl: "cf.xl"; xm: "cf.xm"; xn: "cf.xn"; xo: "cf.xo"; xp: "cf.xp"; xq: "cf.xq"; xr: "cf.xr"; xs: "cf.xs"; xt: "cf.xt"; xu: "cf.xu"; xv: "cf.xv"; xw: "cf.xw"; xx: "cf.xx"; xy: "cf.xy"; xz: "cf.xz"; ya: "cf.ya"; yb: "cf.yb"; yc: "cf.yc"; yd: "cf.yd"; ye: "cf.ye"; yf: "cf.yf"; yg: "cf.yg"; yh: "cf.yh"; yi: "cf.yi"; yj: "cf.yj"; yk: "cf.yk"; yl: "cf.yl"; ym: "cf.ym"; yn: "cf.yn"; yo: "cf.yo"; yp: "cf.yp"; yq: "cf.yq"; yr: "cf.yr"; ys: "cf.ys"; yt: "cf.yt"; yu: "cf.yu"; yv: "cf.yv"; yw: "cf.yw"; yx: "cf.yx"; yy: "cf.yy"; yz: "cf.yz"; za: "cf.za"; zb: "cf.zb"; zc: "cf.zc"; zd: "cf.zd"; ze: "cf.ze"; zf: "cf.zf"; zg: "cf.zg"; zh: "cf.zh"; zi: "cf.zi"; zj: "cf.zj"; zk: "cf.zk"; zl: "cf.zl"; zm: "cf.zm"; zn: "cf.zn"; zo: "cf.zo"; zp: "cf.zp"; zq: "cf.zq"; zr: "cf.zr"; zs: "cf.zs"; zt: "cf.zt"; zu: "cf.zu"; zv: "cf.zv"; zw: "cf.zw"; zx: "cf.zx"; zy: "cf.zy"; zz: "cf.zz"; }; cg: { aa: "cg.aa"; ab: "cg.ab"; ac: "cg.ac"; ad: "cg.ad"; ae: "cg.ae"; af: "cg.af"; ag: "cg.ag"; ah: "cg.ah"; ai: "cg.ai"; aj: "cg.aj"; ak: "cg.ak"; al: "cg.al"; am: "cg.am"; an: "cg.an"; ao: "cg.ao"; ap: "cg.ap"; aq: "cg.aq"; ar: "cg.ar"; as: "cg.as"; at: "cg.at"; au: "cg.au"; av: "cg.av"; aw: "cg.aw"; ax: "cg.ax"; ay: "cg.ay"; az: "cg.az"; ba: "cg.ba"; bb: "cg.bb"; bc: "cg.bc"; bd: "cg.bd"; be: "cg.be"; bf: "cg.bf"; bg: "cg.bg"; bh: "cg.bh"; bi: "cg.bi"; bj: "cg.bj"; bk: "cg.bk"; bl: "cg.bl"; bm: "cg.bm"; bn: "cg.bn"; bo: "cg.bo"; bp: "cg.bp"; bq: "cg.bq"; br: "cg.br"; bs: "cg.bs"; bt: "cg.bt"; bu: "cg.bu"; bv: "cg.bv"; bw: "cg.bw"; bx: "cg.bx"; by: "cg.by"; bz: "cg.bz"; ca: "cg.ca"; cb: "cg.cb"; cc: "cg.cc"; cd: "cg.cd"; ce: "cg.ce"; cf: "cg.cf"; cg: "cg.cg"; ch: "cg.ch"; ci: "cg.ci"; cj: "cg.cj"; ck: "cg.ck"; cl: "cg.cl"; cm: "cg.cm"; cn: "cg.cn"; co: "cg.co"; cp: "cg.cp"; cq: "cg.cq"; cr: "cg.cr"; cs: "cg.cs"; ct: "cg.ct"; cu: "cg.cu"; cv: "cg.cv"; cw: "cg.cw"; cx: "cg.cx"; cy: "cg.cy"; cz: "cg.cz"; da: "cg.da"; db: "cg.db"; dc: "cg.dc"; dd: "cg.dd"; de: "cg.de"; df: "cg.df"; dg: "cg.dg"; dh: "cg.dh"; di: "cg.di"; dj: "cg.dj"; dk: "cg.dk"; dl: "cg.dl"; dm: "cg.dm"; dn: "cg.dn"; do: "cg.do"; dp: "cg.dp"; dq: "cg.dq"; dr: "cg.dr"; ds: "cg.ds"; dt: "cg.dt"; du: "cg.du"; dv: "cg.dv"; dw: "cg.dw"; dx: "cg.dx"; dy: "cg.dy"; dz: "cg.dz"; ea: "cg.ea"; eb: "cg.eb"; ec: "cg.ec"; ed: "cg.ed"; ee: "cg.ee"; ef: "cg.ef"; eg: "cg.eg"; eh: "cg.eh"; ei: "cg.ei"; ej: "cg.ej"; ek: "cg.ek"; el: "cg.el"; em: "cg.em"; en: "cg.en"; eo: "cg.eo"; ep: "cg.ep"; eq: "cg.eq"; er: "cg.er"; es: "cg.es"; et: "cg.et"; eu: "cg.eu"; ev: "cg.ev"; ew: "cg.ew"; ex: "cg.ex"; ey: "cg.ey"; ez: "cg.ez"; fa: "cg.fa"; fb: "cg.fb"; fc: "cg.fc"; fd: "cg.fd"; fe: "cg.fe"; ff: "cg.ff"; fg: "cg.fg"; fh: "cg.fh"; fi: "cg.fi"; fj: "cg.fj"; fk: "cg.fk"; fl: "cg.fl"; fm: "cg.fm"; fn: "cg.fn"; fo: "cg.fo"; fp: "cg.fp"; fq: "cg.fq"; fr: "cg.fr"; fs: "cg.fs"; ft: "cg.ft"; fu: "cg.fu"; fv: "cg.fv"; fw: "cg.fw"; fx: "cg.fx"; fy: "cg.fy"; fz: "cg.fz"; ga: "cg.ga"; gb: "cg.gb"; gc: "cg.gc"; gd: "cg.gd"; ge: "cg.ge"; gf: "cg.gf"; gg: "cg.gg"; gh: "cg.gh"; gi: "cg.gi"; gj: "cg.gj"; gk: "cg.gk"; gl: "cg.gl"; gm: "cg.gm"; gn: "cg.gn"; go: "cg.go"; gp: "cg.gp"; gq: "cg.gq"; gr: "cg.gr"; gs: "cg.gs"; gt: "cg.gt"; gu: "cg.gu"; gv: "cg.gv"; gw: "cg.gw"; gx: "cg.gx"; gy: "cg.gy"; gz: "cg.gz"; ha: "cg.ha"; hb: "cg.hb"; hc: "cg.hc"; hd: "cg.hd"; he: "cg.he"; hf: "cg.hf"; hg: "cg.hg"; hh: "cg.hh"; hi: "cg.hi"; hj: "cg.hj"; hk: "cg.hk"; hl: "cg.hl"; hm: "cg.hm"; hn: "cg.hn"; ho: "cg.ho"; hp: "cg.hp"; hq: "cg.hq"; hr: "cg.hr"; hs: "cg.hs"; ht: "cg.ht"; hu: "cg.hu"; hv: "cg.hv"; hw: "cg.hw"; hx: "cg.hx"; hy: "cg.hy"; hz: "cg.hz"; ia: "cg.ia"; ib: "cg.ib"; ic: "cg.ic"; id: "cg.id"; ie: "cg.ie"; if: "cg.if"; ig: "cg.ig"; ih: "cg.ih"; ii: "cg.ii"; ij: "cg.ij"; ik: "cg.ik"; il: "cg.il"; im: "cg.im"; in: "cg.in"; io: "cg.io"; ip: "cg.ip"; iq: "cg.iq"; ir: "cg.ir"; is: "cg.is"; it: "cg.it"; iu: "cg.iu"; iv: "cg.iv"; iw: "cg.iw"; ix: "cg.ix"; iy: "cg.iy"; iz: "cg.iz"; ja: "cg.ja"; jb: "cg.jb"; jc: "cg.jc"; jd: "cg.jd"; je: "cg.je"; jf: "cg.jf"; jg: "cg.jg"; jh: "cg.jh"; ji: "cg.ji"; jj: "cg.jj"; jk: "cg.jk"; jl: "cg.jl"; jm: "cg.jm"; jn: "cg.jn"; jo: "cg.jo"; jp: "cg.jp"; jq: "cg.jq"; jr: "cg.jr"; js: "cg.js"; jt: "cg.jt"; ju: "cg.ju"; jv: "cg.jv"; jw: "cg.jw"; jx: "cg.jx"; jy: "cg.jy"; jz: "cg.jz"; ka: "cg.ka"; kb: "cg.kb"; kc: "cg.kc"; kd: "cg.kd"; ke: "cg.ke"; kf: "cg.kf"; kg: "cg.kg"; kh: "cg.kh"; ki: "cg.ki"; kj: "cg.kj"; kk: "cg.kk"; kl: "cg.kl"; km: "cg.km"; kn: "cg.kn"; ko: "cg.ko"; kp: "cg.kp"; kq: "cg.kq"; kr: "cg.kr"; ks: "cg.ks"; kt: "cg.kt"; ku: "cg.ku"; kv: "cg.kv"; kw: "cg.kw"; kx: "cg.kx"; ky: "cg.ky"; kz: "cg.kz"; la: "cg.la"; lb: "cg.lb"; lc: "cg.lc"; ld: "cg.ld"; le: "cg.le"; lf: "cg.lf"; lg: "cg.lg"; lh: "cg.lh"; li: "cg.li"; lj: "cg.lj"; lk: "cg.lk"; ll: "cg.ll"; lm: "cg.lm"; ln: "cg.ln"; lo: "cg.lo"; lp: "cg.lp"; lq: "cg.lq"; lr: "cg.lr"; ls: "cg.ls"; lt: "cg.lt"; lu: "cg.lu"; lv: "cg.lv"; lw: "cg.lw"; lx: "cg.lx"; ly: "cg.ly"; lz: "cg.lz"; ma: "cg.ma"; mb: "cg.mb"; mc: "cg.mc"; md: "cg.md"; me: "cg.me"; mf: "cg.mf"; mg: "cg.mg"; mh: "cg.mh"; mi: "cg.mi"; mj: "cg.mj"; mk: "cg.mk"; ml: "cg.ml"; mm: "cg.mm"; mn: "cg.mn"; mo: "cg.mo"; mp: "cg.mp"; mq: "cg.mq"; mr: "cg.mr"; ms: "cg.ms"; mt: "cg.mt"; mu: "cg.mu"; mv: "cg.mv"; mw: "cg.mw"; mx: "cg.mx"; my: "cg.my"; mz: "cg.mz"; na: "cg.na"; nb: "cg.nb"; nc: "cg.nc"; nd: "cg.nd"; ne: "cg.ne"; nf: "cg.nf"; ng: "cg.ng"; nh: "cg.nh"; ni: "cg.ni"; nj: "cg.nj"; nk: "cg.nk"; nl: "cg.nl"; nm: "cg.nm"; nn: "cg.nn"; no: "cg.no"; np: "cg.np"; nq: "cg.nq"; nr: "cg.nr"; ns: "cg.ns"; nt: "cg.nt"; nu: "cg.nu"; nv: "cg.nv"; nw: "cg.nw"; nx: "cg.nx"; ny: "cg.ny"; nz: "cg.nz"; oa: "cg.oa"; ob: "cg.ob"; oc: "cg.oc"; od: "cg.od"; oe: "cg.oe"; of: "cg.of"; og: "cg.og"; oh: "cg.oh"; oi: "cg.oi"; oj: "cg.oj"; ok: "cg.ok"; ol: "cg.ol"; om: "cg.om"; on: "cg.on"; oo: "cg.oo"; op: "cg.op"; oq: "cg.oq"; or: "cg.or"; os: "cg.os"; ot: "cg.ot"; ou: "cg.ou"; ov: "cg.ov"; ow: "cg.ow"; ox: "cg.ox"; oy: "cg.oy"; oz: "cg.oz"; pa: "cg.pa"; pb: "cg.pb"; pc: "cg.pc"; pd: "cg.pd"; pe: "cg.pe"; pf: "cg.pf"; pg: "cg.pg"; ph: "cg.ph"; pi: "cg.pi"; pj: "cg.pj"; pk: "cg.pk"; pl: "cg.pl"; pm: "cg.pm"; pn: "cg.pn"; po: "cg.po"; pp: "cg.pp"; pq: "cg.pq"; pr: "cg.pr"; ps: "cg.ps"; pt: "cg.pt"; pu: "cg.pu"; pv: "cg.pv"; pw: "cg.pw"; px: "cg.px"; py: "cg.py"; pz: "cg.pz"; qa: "cg.qa"; qb: "cg.qb"; qc: "cg.qc"; qd: "cg.qd"; qe: "cg.qe"; qf: "cg.qf"; qg: "cg.qg"; qh: "cg.qh"; qi: "cg.qi"; qj: "cg.qj"; qk: "cg.qk"; ql: "cg.ql"; qm: "cg.qm"; qn: "cg.qn"; qo: "cg.qo"; qp: "cg.qp"; qq: "cg.qq"; qr: "cg.qr"; qs: "cg.qs"; qt: "cg.qt"; qu: "cg.qu"; qv: "cg.qv"; qw: "cg.qw"; qx: "cg.qx"; qy: "cg.qy"; qz: "cg.qz"; ra: "cg.ra"; rb: "cg.rb"; rc: "cg.rc"; rd: "cg.rd"; re: "cg.re"; rf: "cg.rf"; rg: "cg.rg"; rh: "cg.rh"; ri: "cg.ri"; rj: "cg.rj"; rk: "cg.rk"; rl: "cg.rl"; rm: "cg.rm"; rn: "cg.rn"; ro: "cg.ro"; rp: "cg.rp"; rq: "cg.rq"; rr: "cg.rr"; rs: "cg.rs"; rt: "cg.rt"; ru: "cg.ru"; rv: "cg.rv"; rw: "cg.rw"; rx: "cg.rx"; ry: "cg.ry"; rz: "cg.rz"; sa: "cg.sa"; sb: "cg.sb"; sc: "cg.sc"; sd: "cg.sd"; se: "cg.se"; sf: "cg.sf"; sg: "cg.sg"; sh: "cg.sh"; si: "cg.si"; sj: "cg.sj"; sk: "cg.sk"; sl: "cg.sl"; sm: "cg.sm"; sn: "cg.sn"; so: "cg.so"; sp: "cg.sp"; sq: "cg.sq"; sr: "cg.sr"; ss: "cg.ss"; st: "cg.st"; su: "cg.su"; sv: "cg.sv"; sw: "cg.sw"; sx: "cg.sx"; sy: "cg.sy"; sz: "cg.sz"; ta: "cg.ta"; tb: "cg.tb"; tc: "cg.tc"; td: "cg.td"; te: "cg.te"; tf: "cg.tf"; tg: "cg.tg"; th: "cg.th"; ti: "cg.ti"; tj: "cg.tj"; tk: "cg.tk"; tl: "cg.tl"; tm: "cg.tm"; tn: "cg.tn"; to: "cg.to"; tp: "cg.tp"; tq: "cg.tq"; tr: "cg.tr"; ts: "cg.ts"; tt: "cg.tt"; tu: "cg.tu"; tv: "cg.tv"; tw: "cg.tw"; tx: "cg.tx"; ty: "cg.ty"; tz: "cg.tz"; ua: "cg.ua"; ub: "cg.ub"; uc: "cg.uc"; ud: "cg.ud"; ue: "cg.ue"; uf: "cg.uf"; ug: "cg.ug"; uh: "cg.uh"; ui: "cg.ui"; uj: "cg.uj"; uk: "cg.uk"; ul: "cg.ul"; um: "cg.um"; un: "cg.un"; uo: "cg.uo"; up: "cg.up"; uq: "cg.uq"; ur: "cg.ur"; us: "cg.us"; ut: "cg.ut"; uu: "cg.uu"; uv: "cg.uv"; uw: "cg.uw"; ux: "cg.ux"; uy: "cg.uy"; uz: "cg.uz"; va: "cg.va"; vb: "cg.vb"; vc: "cg.vc"; vd: "cg.vd"; ve: "cg.ve"; vf: "cg.vf"; vg: "cg.vg"; vh: "cg.vh"; vi: "cg.vi"; vj: "cg.vj"; vk: "cg.vk"; vl: "cg.vl"; vm: "cg.vm"; vn: "cg.vn"; vo: "cg.vo"; vp: "cg.vp"; vq: "cg.vq"; vr: "cg.vr"; vs: "cg.vs"; vt: "cg.vt"; vu: "cg.vu"; vv: "cg.vv"; vw: "cg.vw"; vx: "cg.vx"; vy: "cg.vy"; vz: "cg.vz"; wa: "cg.wa"; wb: "cg.wb"; wc: "cg.wc"; wd: "cg.wd"; we: "cg.we"; wf: "cg.wf"; wg: "cg.wg"; wh: "cg.wh"; wi: "cg.wi"; wj: "cg.wj"; wk: "cg.wk"; wl: "cg.wl"; wm: "cg.wm"; wn: "cg.wn"; wo: "cg.wo"; wp: "cg.wp"; wq: "cg.wq"; wr: "cg.wr"; ws: "cg.ws"; wt: "cg.wt"; wu: "cg.wu"; wv: "cg.wv"; ww: "cg.ww"; wx: "cg.wx"; wy: "cg.wy"; wz: "cg.wz"; xa: "cg.xa"; xb: "cg.xb"; xc: "cg.xc"; xd: "cg.xd"; xe: "cg.xe"; xf: "cg.xf"; xg: "cg.xg"; xh: "cg.xh"; xi: "cg.xi"; xj: "cg.xj"; xk: "cg.xk"; xl: "cg.xl"; xm: "cg.xm"; xn: "cg.xn"; xo: "cg.xo"; xp: "cg.xp"; xq: "cg.xq"; xr: "cg.xr"; xs: "cg.xs"; xt: "cg.xt"; xu: "cg.xu"; xv: "cg.xv"; xw: "cg.xw"; xx: "cg.xx"; xy: "cg.xy"; xz: "cg.xz"; ya: "cg.ya"; yb: "cg.yb"; yc: "cg.yc"; yd: "cg.yd"; ye: "cg.ye"; yf: "cg.yf"; yg: "cg.yg"; yh: "cg.yh"; yi: "cg.yi"; yj: "cg.yj"; yk: "cg.yk"; yl: "cg.yl"; ym: "cg.ym"; yn: "cg.yn"; yo: "cg.yo"; yp: "cg.yp"; yq: "cg.yq"; yr: "cg.yr"; ys: "cg.ys"; yt: "cg.yt"; yu: "cg.yu"; yv: "cg.yv"; yw: "cg.yw"; yx: "cg.yx"; yy: "cg.yy"; yz: "cg.yz"; za: "cg.za"; zb: "cg.zb"; zc: "cg.zc"; zd: "cg.zd"; ze: "cg.ze"; zf: "cg.zf"; zg: "cg.zg"; zh: "cg.zh"; zi: "cg.zi"; zj: "cg.zj"; zk: "cg.zk"; zl: "cg.zl"; zm: "cg.zm"; zn: "cg.zn"; zo: "cg.zo"; zp: "cg.zp"; zq: "cg.zq"; zr: "cg.zr"; zs: "cg.zs"; zt: "cg.zt"; zu: "cg.zu"; zv: "cg.zv"; zw: "cg.zw"; zx: "cg.zx"; zy: "cg.zy"; zz: "cg.zz"; }; ch: { aa: "ch.aa"; ab: "ch.ab"; ac: "ch.ac"; ad: "ch.ad"; ae: "ch.ae"; af: "ch.af"; ag: "ch.ag"; ah: "ch.ah"; ai: "ch.ai"; aj: "ch.aj"; ak: "ch.ak"; al: "ch.al"; am: "ch.am"; an: "ch.an"; ao: "ch.ao"; ap: "ch.ap"; aq: "ch.aq"; ar: "ch.ar"; as: "ch.as"; at: "ch.at"; au: "ch.au"; av: "ch.av"; aw: "ch.aw"; ax: "ch.ax"; ay: "ch.ay"; az: "ch.az"; ba: "ch.ba"; bb: "ch.bb"; bc: "ch.bc"; bd: "ch.bd"; be: "ch.be"; bf: "ch.bf"; bg: "ch.bg"; bh: "ch.bh"; bi: "ch.bi"; bj: "ch.bj"; bk: "ch.bk"; bl: "ch.bl"; bm: "ch.bm"; bn: "ch.bn"; bo: "ch.bo"; bp: "ch.bp"; bq: "ch.bq"; br: "ch.br"; bs: "ch.bs"; bt: "ch.bt"; bu: "ch.bu"; bv: "ch.bv"; bw: "ch.bw"; bx: "ch.bx"; by: "ch.by"; bz: "ch.bz"; ca: "ch.ca"; cb: "ch.cb"; cc: "ch.cc"; cd: "ch.cd"; ce: "ch.ce"; cf: "ch.cf"; cg: "ch.cg"; ch: "ch.ch"; ci: "ch.ci"; cj: "ch.cj"; ck: "ch.ck"; cl: "ch.cl"; cm: "ch.cm"; cn: "ch.cn"; co: "ch.co"; cp: "ch.cp"; cq: "ch.cq"; cr: "ch.cr"; cs: "ch.cs"; ct: "ch.ct"; cu: "ch.cu"; cv: "ch.cv"; cw: "ch.cw"; cx: "ch.cx"; cy: "ch.cy"; cz: "ch.cz"; da: "ch.da"; db: "ch.db"; dc: "ch.dc"; dd: "ch.dd"; de: "ch.de"; df: "ch.df"; dg: "ch.dg"; dh: "ch.dh"; di: "ch.di"; dj: "ch.dj"; dk: "ch.dk"; dl: "ch.dl"; dm: "ch.dm"; dn: "ch.dn"; do: "ch.do"; dp: "ch.dp"; dq: "ch.dq"; dr: "ch.dr"; ds: "ch.ds"; dt: "ch.dt"; du: "ch.du"; dv: "ch.dv"; dw: "ch.dw"; dx: "ch.dx"; dy: "ch.dy"; dz: "ch.dz"; ea: "ch.ea"; eb: "ch.eb"; ec: "ch.ec"; ed: "ch.ed"; ee: "ch.ee"; ef: "ch.ef"; eg: "ch.eg"; eh: "ch.eh"; ei: "ch.ei"; ej: "ch.ej"; ek: "ch.ek"; el: "ch.el"; em: "ch.em"; en: "ch.en"; eo: "ch.eo"; ep: "ch.ep"; eq: "ch.eq"; er: "ch.er"; es: "ch.es"; et: "ch.et"; eu: "ch.eu"; ev: "ch.ev"; ew: "ch.ew"; ex: "ch.ex"; ey: "ch.ey"; ez: "ch.ez"; fa: "ch.fa"; fb: "ch.fb"; fc: "ch.fc"; fd: "ch.fd"; fe: "ch.fe"; ff: "ch.ff"; fg: "ch.fg"; fh: "ch.fh"; fi: "ch.fi"; fj: "ch.fj"; fk: "ch.fk"; fl: "ch.fl"; fm: "ch.fm"; fn: "ch.fn"; fo: "ch.fo"; fp: "ch.fp"; fq: "ch.fq"; fr: "ch.fr"; fs: "ch.fs"; ft: "ch.ft"; fu: "ch.fu"; fv: "ch.fv"; fw: "ch.fw"; fx: "ch.fx"; fy: "ch.fy"; fz: "ch.fz"; ga: "ch.ga"; gb: "ch.gb"; gc: "ch.gc"; gd: "ch.gd"; ge: "ch.ge"; gf: "ch.gf"; gg: "ch.gg"; gh: "ch.gh"; gi: "ch.gi"; gj: "ch.gj"; gk: "ch.gk"; gl: "ch.gl"; gm: "ch.gm"; gn: "ch.gn"; go: "ch.go"; gp: "ch.gp"; gq: "ch.gq"; gr: "ch.gr"; gs: "ch.gs"; gt: "ch.gt"; gu: "ch.gu"; gv: "ch.gv"; gw: "ch.gw"; gx: "ch.gx"; gy: "ch.gy"; gz: "ch.gz"; ha: "ch.ha"; hb: "ch.hb"; hc: "ch.hc"; hd: "ch.hd"; he: "ch.he"; hf: "ch.hf"; hg: "ch.hg"; hh: "ch.hh"; hi: "ch.hi"; hj: "ch.hj"; hk: "ch.hk"; hl: "ch.hl"; hm: "ch.hm"; hn: "ch.hn"; ho: "ch.ho"; hp: "ch.hp"; hq: "ch.hq"; hr: "ch.hr"; hs: "ch.hs"; ht: "ch.ht"; hu: "ch.hu"; hv: "ch.hv"; hw: "ch.hw"; hx: "ch.hx"; hy: "ch.hy"; hz: "ch.hz"; ia: "ch.ia"; ib: "ch.ib"; ic: "ch.ic"; id: "ch.id"; ie: "ch.ie"; if: "ch.if"; ig: "ch.ig"; ih: "ch.ih"; ii: "ch.ii"; ij: "ch.ij"; ik: "ch.ik"; il: "ch.il"; im: "ch.im"; in: "ch.in"; io: "ch.io"; ip: "ch.ip"; iq: "ch.iq"; ir: "ch.ir"; is: "ch.is"; it: "ch.it"; iu: "ch.iu"; iv: "ch.iv"; iw: "ch.iw"; ix: "ch.ix"; iy: "ch.iy"; iz: "ch.iz"; ja: "ch.ja"; jb: "ch.jb"; jc: "ch.jc"; jd: "ch.jd"; je: "ch.je"; jf: "ch.jf"; jg: "ch.jg"; jh: "ch.jh"; ji: "ch.ji"; jj: "ch.jj"; jk: "ch.jk"; jl: "ch.jl"; jm: "ch.jm"; jn: "ch.jn"; jo: "ch.jo"; jp: "ch.jp"; jq: "ch.jq"; jr: "ch.jr"; js: "ch.js"; jt: "ch.jt"; ju: "ch.ju"; jv: "ch.jv"; jw: "ch.jw"; jx: "ch.jx"; jy: "ch.jy"; jz: "ch.jz"; ka: "ch.ka"; kb: "ch.kb"; kc: "ch.kc"; kd: "ch.kd"; ke: "ch.ke"; kf: "ch.kf"; kg: "ch.kg"; kh: "ch.kh"; ki: "ch.ki"; kj: "ch.kj"; kk: "ch.kk"; kl: "ch.kl"; km: "ch.km"; kn: "ch.kn"; ko: "ch.ko"; kp: "ch.kp"; kq: "ch.kq"; kr: "ch.kr"; ks: "ch.ks"; kt: "ch.kt"; ku: "ch.ku"; kv: "ch.kv"; kw: "ch.kw"; kx: "ch.kx"; ky: "ch.ky"; kz: "ch.kz"; la: "ch.la"; lb: "ch.lb"; lc: "ch.lc"; ld: "ch.ld"; le: "ch.le"; lf: "ch.lf"; lg: "ch.lg"; lh: "ch.lh"; li: "ch.li"; lj: "ch.lj"; lk: "ch.lk"; ll: "ch.ll"; lm: "ch.lm"; ln: "ch.ln"; lo: "ch.lo"; lp: "ch.lp"; lq: "ch.lq"; lr: "ch.lr"; ls: "ch.ls"; lt: "ch.lt"; lu: "ch.lu"; lv: "ch.lv"; lw: "ch.lw"; lx: "ch.lx"; ly: "ch.ly"; lz: "ch.lz"; ma: "ch.ma"; mb: "ch.mb"; mc: "ch.mc"; md: "ch.md"; me: "ch.me"; mf: "ch.mf"; mg: "ch.mg"; mh: "ch.mh"; mi: "ch.mi"; mj: "ch.mj"; mk: "ch.mk"; ml: "ch.ml"; mm: "ch.mm"; mn: "ch.mn"; mo: "ch.mo"; mp: "ch.mp"; mq: "ch.mq"; mr: "ch.mr"; ms: "ch.ms"; mt: "ch.mt"; mu: "ch.mu"; mv: "ch.mv"; mw: "ch.mw"; mx: "ch.mx"; my: "ch.my"; mz: "ch.mz"; na: "ch.na"; nb: "ch.nb"; nc: "ch.nc"; nd: "ch.nd"; ne: "ch.ne"; nf: "ch.nf"; ng: "ch.ng"; nh: "ch.nh"; ni: "ch.ni"; nj: "ch.nj"; nk: "ch.nk"; nl: "ch.nl"; nm: "ch.nm"; nn: "ch.nn"; no: "ch.no"; np: "ch.np"; nq: "ch.nq"; nr: "ch.nr"; ns: "ch.ns"; nt: "ch.nt"; nu: "ch.nu"; nv: "ch.nv"; nw: "ch.nw"; nx: "ch.nx"; ny: "ch.ny"; nz: "ch.nz"; oa: "ch.oa"; ob: "ch.ob"; oc: "ch.oc"; od: "ch.od"; oe: "ch.oe"; of: "ch.of"; og: "ch.og"; oh: "ch.oh"; oi: "ch.oi"; oj: "ch.oj"; ok: "ch.ok"; ol: "ch.ol"; om: "ch.om"; on: "ch.on"; oo: "ch.oo"; op: "ch.op"; oq: "ch.oq"; or: "ch.or"; os: "ch.os"; ot: "ch.ot"; ou: "ch.ou"; ov: "ch.ov"; ow: "ch.ow"; ox: "ch.ox"; oy: "ch.oy"; oz: "ch.oz"; pa: "ch.pa"; pb: "ch.pb"; pc: "ch.pc"; pd: "ch.pd"; pe: "ch.pe"; pf: "ch.pf"; pg: "ch.pg"; ph: "ch.ph"; pi: "ch.pi"; pj: "ch.pj"; pk: "ch.pk"; pl: "ch.pl"; pm: "ch.pm"; pn: "ch.pn"; po: "ch.po"; pp: "ch.pp"; pq: "ch.pq"; pr: "ch.pr"; ps: "ch.ps"; pt: "ch.pt"; pu: "ch.pu"; pv: "ch.pv"; pw: "ch.pw"; px: "ch.px"; py: "ch.py"; pz: "ch.pz"; qa: "ch.qa"; qb: "ch.qb"; qc: "ch.qc"; qd: "ch.qd"; qe: "ch.qe"; qf: "ch.qf"; qg: "ch.qg"; qh: "ch.qh"; qi: "ch.qi"; qj: "ch.qj"; qk: "ch.qk"; ql: "ch.ql"; qm: "ch.qm"; qn: "ch.qn"; qo: "ch.qo"; qp: "ch.qp"; qq: "ch.qq"; qr: "ch.qr"; qs: "ch.qs"; qt: "ch.qt"; qu: "ch.qu"; qv: "ch.qv"; qw: "ch.qw"; qx: "ch.qx"; qy: "ch.qy"; qz: "ch.qz"; ra: "ch.ra"; rb: "ch.rb"; rc: "ch.rc"; rd: "ch.rd"; re: "ch.re"; rf: "ch.rf"; rg: "ch.rg"; rh: "ch.rh"; ri: "ch.ri"; rj: "ch.rj"; rk: "ch.rk"; rl: "ch.rl"; rm: "ch.rm"; rn: "ch.rn"; ro: "ch.ro"; rp: "ch.rp"; rq: "ch.rq"; rr: "ch.rr"; rs: "ch.rs"; rt: "ch.rt"; ru: "ch.ru"; rv: "ch.rv"; rw: "ch.rw"; rx: "ch.rx"; ry: "ch.ry"; rz: "ch.rz"; sa: "ch.sa"; sb: "ch.sb"; sc: "ch.sc"; sd: "ch.sd"; se: "ch.se"; sf: "ch.sf"; sg: "ch.sg"; sh: "ch.sh"; si: "ch.si"; sj: "ch.sj"; sk: "ch.sk"; sl: "ch.sl"; sm: "ch.sm"; sn: "ch.sn"; so: "ch.so"; sp: "ch.sp"; sq: "ch.sq"; sr: "ch.sr"; ss: "ch.ss"; st: "ch.st"; su: "ch.su"; sv: "ch.sv"; sw: "ch.sw"; sx: "ch.sx"; sy: "ch.sy"; sz: "ch.sz"; ta: "ch.ta"; tb: "ch.tb"; tc: "ch.tc"; td: "ch.td"; te: "ch.te"; tf: "ch.tf"; tg: "ch.tg"; th: "ch.th"; ti: "ch.ti"; tj: "ch.tj"; tk: "ch.tk"; tl: "ch.tl"; tm: "ch.tm"; tn: "ch.tn"; to: "ch.to"; tp: "ch.tp"; tq: "ch.tq"; tr: "ch.tr"; ts: "ch.ts"; tt: "ch.tt"; tu: "ch.tu"; tv: "ch.tv"; tw: "ch.tw"; tx: "ch.tx"; ty: "ch.ty"; tz: "ch.tz"; ua: "ch.ua"; ub: "ch.ub"; uc: "ch.uc"; ud: "ch.ud"; ue: "ch.ue"; uf: "ch.uf"; ug: "ch.ug"; uh: "ch.uh"; ui: "ch.ui"; uj: "ch.uj"; uk: "ch.uk"; ul: "ch.ul"; um: "ch.um"; un: "ch.un"; uo: "ch.uo"; up: "ch.up"; uq: "ch.uq"; ur: "ch.ur"; us: "ch.us"; ut: "ch.ut"; uu: "ch.uu"; uv: "ch.uv"; uw: "ch.uw"; ux: "ch.ux"; uy: "ch.uy"; uz: "ch.uz"; va: "ch.va"; vb: "ch.vb"; vc: "ch.vc"; vd: "ch.vd"; ve: "ch.ve"; vf: "ch.vf"; vg: "ch.vg"; vh: "ch.vh"; vi: "ch.vi"; vj: "ch.vj"; vk: "ch.vk"; vl: "ch.vl"; vm: "ch.vm"; vn: "ch.vn"; vo: "ch.vo"; vp: "ch.vp"; vq: "ch.vq"; vr: "ch.vr"; vs: "ch.vs"; vt: "ch.vt"; vu: "ch.vu"; vv: "ch.vv"; vw: "ch.vw"; vx: "ch.vx"; vy: "ch.vy"; vz: "ch.vz"; wa: "ch.wa"; wb: "ch.wb"; wc: "ch.wc"; wd: "ch.wd"; we: "ch.we"; wf: "ch.wf"; wg: "ch.wg"; wh: "ch.wh"; wi: "ch.wi"; wj: "ch.wj"; wk: "ch.wk"; wl: "ch.wl"; wm: "ch.wm"; wn: "ch.wn"; wo: "ch.wo"; wp: "ch.wp"; wq: "ch.wq"; wr: "ch.wr"; ws: "ch.ws"; wt: "ch.wt"; wu: "ch.wu"; wv: "ch.wv"; ww: "ch.ww"; wx: "ch.wx"; wy: "ch.wy"; wz: "ch.wz"; xa: "ch.xa"; xb: "ch.xb"; xc: "ch.xc"; xd: "ch.xd"; xe: "ch.xe"; xf: "ch.xf"; xg: "ch.xg"; xh: "ch.xh"; xi: "ch.xi"; xj: "ch.xj"; xk: "ch.xk"; xl: "ch.xl"; xm: "ch.xm"; xn: "ch.xn"; xo: "ch.xo"; xp: "ch.xp"; xq: "ch.xq"; xr: "ch.xr"; xs: "ch.xs"; xt: "ch.xt"; xu: "ch.xu"; xv: "ch.xv"; xw: "ch.xw"; xx: "ch.xx"; xy: "ch.xy"; xz: "ch.xz"; ya: "ch.ya"; yb: "ch.yb"; yc: "ch.yc"; yd: "ch.yd"; ye: "ch.ye"; yf: "ch.yf"; yg: "ch.yg"; yh: "ch.yh"; yi: "ch.yi"; yj: "ch.yj"; yk: "ch.yk"; yl: "ch.yl"; ym: "ch.ym"; yn: "ch.yn"; yo: "ch.yo"; yp: "ch.yp"; yq: "ch.yq"; yr: "ch.yr"; ys: "ch.ys"; yt: "ch.yt"; yu: "ch.yu"; yv: "ch.yv"; yw: "ch.yw"; yx: "ch.yx"; yy: "ch.yy"; yz: "ch.yz"; za: "ch.za"; zb: "ch.zb"; zc: "ch.zc"; zd: "ch.zd"; ze: "ch.ze"; zf: "ch.zf"; zg: "ch.zg"; zh: "ch.zh"; zi: "ch.zi"; zj: "ch.zj"; zk: "ch.zk"; zl: "ch.zl"; zm: "ch.zm"; zn: "ch.zn"; zo: "ch.zo"; zp: "ch.zp"; zq: "ch.zq"; zr: "ch.zr"; zs: "ch.zs"; zt: "ch.zt"; zu: "ch.zu"; zv: "ch.zv"; zw: "ch.zw"; zx: "ch.zx"; zy: "ch.zy"; zz: "ch.zz"; }; ci: { aa: "ci.aa"; ab: "ci.ab"; ac: "ci.ac"; ad: "ci.ad"; ae: "ci.ae"; af: "ci.af"; ag: "ci.ag"; ah: "ci.ah"; ai: "ci.ai"; aj: "ci.aj"; ak: "ci.ak"; al: "ci.al"; am: "ci.am"; an: "ci.an"; ao: "ci.ao"; ap: "ci.ap"; aq: "ci.aq"; ar: "ci.ar"; as: "ci.as"; at: "ci.at"; au: "ci.au"; av: "ci.av"; aw: "ci.aw"; ax: "ci.ax"; ay: "ci.ay"; az: "ci.az"; ba: "ci.ba"; bb: "ci.bb"; bc: "ci.bc"; bd: "ci.bd"; be: "ci.be"; bf: "ci.bf"; bg: "ci.bg"; bh: "ci.bh"; bi: "ci.bi"; bj: "ci.bj"; bk: "ci.bk"; bl: "ci.bl"; bm: "ci.bm"; bn: "ci.bn"; bo: "ci.bo"; bp: "ci.bp"; bq: "ci.bq"; br: "ci.br"; bs: "ci.bs"; bt: "ci.bt"; bu: "ci.bu"; bv: "ci.bv"; bw: "ci.bw"; bx: "ci.bx"; by: "ci.by"; bz: "ci.bz"; ca: "ci.ca"; cb: "ci.cb"; cc: "ci.cc"; cd: "ci.cd"; ce: "ci.ce"; cf: "ci.cf"; cg: "ci.cg"; ch: "ci.ch"; ci: "ci.ci"; cj: "ci.cj"; ck: "ci.ck"; cl: "ci.cl"; cm: "ci.cm"; cn: "ci.cn"; co: "ci.co"; cp: "ci.cp"; cq: "ci.cq"; cr: "ci.cr"; cs: "ci.cs"; ct: "ci.ct"; cu: "ci.cu"; cv: "ci.cv"; cw: "ci.cw"; cx: "ci.cx"; cy: "ci.cy"; cz: "ci.cz"; da: "ci.da"; db: "ci.db"; dc: "ci.dc"; dd: "ci.dd"; de: "ci.de"; df: "ci.df"; dg: "ci.dg"; dh: "ci.dh"; di: "ci.di"; dj: "ci.dj"; dk: "ci.dk"; dl: "ci.dl"; dm: "ci.dm"; dn: "ci.dn"; do: "ci.do"; dp: "ci.dp"; dq: "ci.dq"; dr: "ci.dr"; ds: "ci.ds"; dt: "ci.dt"; du: "ci.du"; dv: "ci.dv"; dw: "ci.dw"; dx: "ci.dx"; dy: "ci.dy"; dz: "ci.dz"; ea: "ci.ea"; eb: "ci.eb"; ec: "ci.ec"; ed: "ci.ed"; ee: "ci.ee"; ef: "ci.ef"; eg: "ci.eg"; eh: "ci.eh"; ei: "ci.ei"; ej: "ci.ej"; ek: "ci.ek"; el: "ci.el"; em: "ci.em"; en: "ci.en"; eo: "ci.eo"; ep: "ci.ep"; eq: "ci.eq"; er: "ci.er"; es: "ci.es"; et: "ci.et"; eu: "ci.eu"; ev: "ci.ev"; ew: "ci.ew"; ex: "ci.ex"; ey: "ci.ey"; ez: "ci.ez"; fa: "ci.fa"; fb: "ci.fb"; fc: "ci.fc"; fd: "ci.fd"; fe: "ci.fe"; ff: "ci.ff"; fg: "ci.fg"; fh: "ci.fh"; fi: "ci.fi"; fj: "ci.fj"; fk: "ci.fk"; fl: "ci.fl"; fm: "ci.fm"; fn: "ci.fn"; fo: "ci.fo"; fp: "ci.fp"; fq: "ci.fq"; fr: "ci.fr"; fs: "ci.fs"; ft: "ci.ft"; fu: "ci.fu"; fv: "ci.fv"; fw: "ci.fw"; fx: "ci.fx"; fy: "ci.fy"; fz: "ci.fz"; ga: "ci.ga"; gb: "ci.gb"; gc: "ci.gc"; gd: "ci.gd"; ge: "ci.ge"; gf: "ci.gf"; gg: "ci.gg"; gh: "ci.gh"; gi: "ci.gi"; gj: "ci.gj"; gk: "ci.gk"; gl: "ci.gl"; gm: "ci.gm"; gn: "ci.gn"; go: "ci.go"; gp: "ci.gp"; gq: "ci.gq"; gr: "ci.gr"; gs: "ci.gs"; gt: "ci.gt"; gu: "ci.gu"; gv: "ci.gv"; gw: "ci.gw"; gx: "ci.gx"; gy: "ci.gy"; gz: "ci.gz"; ha: "ci.ha"; hb: "ci.hb"; hc: "ci.hc"; hd: "ci.hd"; he: "ci.he"; hf: "ci.hf"; hg: "ci.hg"; hh: "ci.hh"; hi: "ci.hi"; hj: "ci.hj"; hk: "ci.hk"; hl: "ci.hl"; hm: "ci.hm"; hn: "ci.hn"; ho: "ci.ho"; hp: "ci.hp"; hq: "ci.hq"; hr: "ci.hr"; hs: "ci.hs"; ht: "ci.ht"; hu: "ci.hu"; hv: "ci.hv"; hw: "ci.hw"; hx: "ci.hx"; hy: "ci.hy"; hz: "ci.hz"; ia: "ci.ia"; ib: "ci.ib"; ic: "ci.ic"; id: "ci.id"; ie: "ci.ie"; if: "ci.if"; ig: "ci.ig"; ih: "ci.ih"; ii: "ci.ii"; ij: "ci.ij"; ik: "ci.ik"; il: "ci.il"; im: "ci.im"; in: "ci.in"; io: "ci.io"; ip: "ci.ip"; iq: "ci.iq"; ir: "ci.ir"; is: "ci.is"; it: "ci.it"; iu: "ci.iu"; iv: "ci.iv"; iw: "ci.iw"; ix: "ci.ix"; iy: "ci.iy"; iz: "ci.iz"; ja: "ci.ja"; jb: "ci.jb"; jc: "ci.jc"; jd: "ci.jd"; je: "ci.je"; jf: "ci.jf"; jg: "ci.jg"; jh: "ci.jh"; ji: "ci.ji"; jj: "ci.jj"; jk: "ci.jk"; jl: "ci.jl"; jm: "ci.jm"; jn: "ci.jn"; jo: "ci.jo"; jp: "ci.jp"; jq: "ci.jq"; jr: "ci.jr"; js: "ci.js"; jt: "ci.jt"; ju: "ci.ju"; jv: "ci.jv"; jw: "ci.jw"; jx: "ci.jx"; jy: "ci.jy"; jz: "ci.jz"; ka: "ci.ka"; kb: "ci.kb"; kc: "ci.kc"; kd: "ci.kd"; ke: "ci.ke"; kf: "ci.kf"; kg: "ci.kg"; kh: "ci.kh"; ki: "ci.ki"; kj: "ci.kj"; kk: "ci.kk"; kl: "ci.kl"; km: "ci.km"; kn: "ci.kn"; ko: "ci.ko"; kp: "ci.kp"; kq: "ci.kq"; kr: "ci.kr"; ks: "ci.ks"; kt: "ci.kt"; ku: "ci.ku"; kv: "ci.kv"; kw: "ci.kw"; kx: "ci.kx"; ky: "ci.ky"; kz: "ci.kz"; la: "ci.la"; lb: "ci.lb"; lc: "ci.lc"; ld: "ci.ld"; le: "ci.le"; lf: "ci.lf"; lg: "ci.lg"; lh: "ci.lh"; li: "ci.li"; lj: "ci.lj"; lk: "ci.lk"; ll: "ci.ll"; lm: "ci.lm"; ln: "ci.ln"; lo: "ci.lo"; lp: "ci.lp"; lq: "ci.lq"; lr: "ci.lr"; ls: "ci.ls"; lt: "ci.lt"; lu: "ci.lu"; lv: "ci.lv"; lw: "ci.lw"; lx: "ci.lx"; ly: "ci.ly"; lz: "ci.lz"; ma: "ci.ma"; mb: "ci.mb"; mc: "ci.mc"; md: "ci.md"; me: "ci.me"; mf: "ci.mf"; mg: "ci.mg"; mh: "ci.mh"; mi: "ci.mi"; mj: "ci.mj"; mk: "ci.mk"; ml: "ci.ml"; mm: "ci.mm"; mn: "ci.mn"; mo: "ci.mo"; mp: "ci.mp"; mq: "ci.mq"; mr: "ci.mr"; ms: "ci.ms"; mt: "ci.mt"; mu: "ci.mu"; mv: "ci.mv"; mw: "ci.mw"; mx: "ci.mx"; my: "ci.my"; mz: "ci.mz"; na: "ci.na"; nb: "ci.nb"; nc: "ci.nc"; nd: "ci.nd"; ne: "ci.ne"; nf: "ci.nf"; ng: "ci.ng"; nh: "ci.nh"; ni: "ci.ni"; nj: "ci.nj"; nk: "ci.nk"; nl: "ci.nl"; nm: "ci.nm"; nn: "ci.nn"; no: "ci.no"; np: "ci.np"; nq: "ci.nq"; nr: "ci.nr"; ns: "ci.ns"; nt: "ci.nt"; nu: "ci.nu"; nv: "ci.nv"; nw: "ci.nw"; nx: "ci.nx"; ny: "ci.ny"; nz: "ci.nz"; oa: "ci.oa"; ob: "ci.ob"; oc: "ci.oc"; od: "ci.od"; oe: "ci.oe"; of: "ci.of"; og: "ci.og"; oh: "ci.oh"; oi: "ci.oi"; oj: "ci.oj"; ok: "ci.ok"; ol: "ci.ol"; om: "ci.om"; on: "ci.on"; oo: "ci.oo"; op: "ci.op"; oq: "ci.oq"; or: "ci.or"; os: "ci.os"; ot: "ci.ot"; ou: "ci.ou"; ov: "ci.ov"; ow: "ci.ow"; ox: "ci.ox"; oy: "ci.oy"; oz: "ci.oz"; pa: "ci.pa"; pb: "ci.pb"; pc: "ci.pc"; pd: "ci.pd"; pe: "ci.pe"; pf: "ci.pf"; pg: "ci.pg"; ph: "ci.ph"; pi: "ci.pi"; pj: "ci.pj"; pk: "ci.pk"; pl: "ci.pl"; pm: "ci.pm"; pn: "ci.pn"; po: "ci.po"; pp: "ci.pp"; pq: "ci.pq"; pr: "ci.pr"; ps: "ci.ps"; pt: "ci.pt"; pu: "ci.pu"; pv: "ci.pv"; pw: "ci.pw"; px: "ci.px"; py: "ci.py"; pz: "ci.pz"; qa: "ci.qa"; qb: "ci.qb"; qc: "ci.qc"; qd: "ci.qd"; qe: "ci.qe"; qf: "ci.qf"; qg: "ci.qg"; qh: "ci.qh"; qi: "ci.qi"; qj: "ci.qj"; qk: "ci.qk"; ql: "ci.ql"; qm: "ci.qm"; qn: "ci.qn"; qo: "ci.qo"; qp: "ci.qp"; qq: "ci.qq"; qr: "ci.qr"; qs: "ci.qs"; qt: "ci.qt"; qu: "ci.qu"; qv: "ci.qv"; qw: "ci.qw"; qx: "ci.qx"; qy: "ci.qy"; qz: "ci.qz"; ra: "ci.ra"; rb: "ci.rb"; rc: "ci.rc"; rd: "ci.rd"; re: "ci.re"; rf: "ci.rf"; rg: "ci.rg"; rh: "ci.rh"; ri: "ci.ri"; rj: "ci.rj"; rk: "ci.rk"; rl: "ci.rl"; rm: "ci.rm"; rn: "ci.rn"; ro: "ci.ro"; rp: "ci.rp"; rq: "ci.rq"; rr: "ci.rr"; rs: "ci.rs"; rt: "ci.rt"; ru: "ci.ru"; rv: "ci.rv"; rw: "ci.rw"; rx: "ci.rx"; ry: "ci.ry"; rz: "ci.rz"; sa: "ci.sa"; sb: "ci.sb"; sc: "ci.sc"; sd: "ci.sd"; se: "ci.se"; sf: "ci.sf"; sg: "ci.sg"; sh: "ci.sh"; si: "ci.si"; sj: "ci.sj"; sk: "ci.sk"; sl: "ci.sl"; sm: "ci.sm"; sn: "ci.sn"; so: "ci.so"; sp: "ci.sp"; sq: "ci.sq"; sr: "ci.sr"; ss: "ci.ss"; st: "ci.st"; su: "ci.su"; sv: "ci.sv"; sw: "ci.sw"; sx: "ci.sx"; sy: "ci.sy"; sz: "ci.sz"; ta: "ci.ta"; tb: "ci.tb"; tc: "ci.tc"; td: "ci.td"; te: "ci.te"; tf: "ci.tf"; tg: "ci.tg"; th: "ci.th"; ti: "ci.ti"; tj: "ci.tj"; tk: "ci.tk"; tl: "ci.tl"; tm: "ci.tm"; tn: "ci.tn"; to: "ci.to"; tp: "ci.tp"; tq: "ci.tq"; tr: "ci.tr"; ts: "ci.ts"; tt: "ci.tt"; tu: "ci.tu"; tv: "ci.tv"; tw: "ci.tw"; tx: "ci.tx"; ty: "ci.ty"; tz: "ci.tz"; ua: "ci.ua"; ub: "ci.ub"; uc: "ci.uc"; ud: "ci.ud"; ue: "ci.ue"; uf: "ci.uf"; ug: "ci.ug"; uh: "ci.uh"; ui: "ci.ui"; uj: "ci.uj"; uk: "ci.uk"; ul: "ci.ul"; um: "ci.um"; un: "ci.un"; uo: "ci.uo"; up: "ci.up"; uq: "ci.uq"; ur: "ci.ur"; us: "ci.us"; ut: "ci.ut"; uu: "ci.uu"; uv: "ci.uv"; uw: "ci.uw"; ux: "ci.ux"; uy: "ci.uy"; uz: "ci.uz"; va: "ci.va"; vb: "ci.vb"; vc: "ci.vc"; vd: "ci.vd"; ve: "ci.ve"; vf: "ci.vf"; vg: "ci.vg"; vh: "ci.vh"; vi: "ci.vi"; vj: "ci.vj"; vk: "ci.vk"; vl: "ci.vl"; vm: "ci.vm"; vn: "ci.vn"; vo: "ci.vo"; vp: "ci.vp"; vq: "ci.vq"; vr: "ci.vr"; vs: "ci.vs"; vt: "ci.vt"; vu: "ci.vu"; vv: "ci.vv"; vw: "ci.vw"; vx: "ci.vx"; vy: "ci.vy"; vz: "ci.vz"; wa: "ci.wa"; wb: "ci.wb"; wc: "ci.wc"; wd: "ci.wd"; we: "ci.we"; wf: "ci.wf"; wg: "ci.wg"; wh: "ci.wh"; wi: "ci.wi"; wj: "ci.wj"; wk: "ci.wk"; wl: "ci.wl"; wm: "ci.wm"; wn: "ci.wn"; wo: "ci.wo"; wp: "ci.wp"; wq: "ci.wq"; wr: "ci.wr"; ws: "ci.ws"; wt: "ci.wt"; wu: "ci.wu"; wv: "ci.wv"; ww: "ci.ww"; wx: "ci.wx"; wy: "ci.wy"; wz: "ci.wz"; xa: "ci.xa"; xb: "ci.xb"; xc: "ci.xc"; xd: "ci.xd"; xe: "ci.xe"; xf: "ci.xf"; xg: "ci.xg"; xh: "ci.xh"; xi: "ci.xi"; xj: "ci.xj"; xk: "ci.xk"; xl: "ci.xl"; xm: "ci.xm"; xn: "ci.xn"; xo: "ci.xo"; xp: "ci.xp"; xq: "ci.xq"; xr: "ci.xr"; xs: "ci.xs"; xt: "ci.xt"; xu: "ci.xu"; xv: "ci.xv"; xw: "ci.xw"; xx: "ci.xx"; xy: "ci.xy"; xz: "ci.xz"; ya: "ci.ya"; yb: "ci.yb"; yc: "ci.yc"; yd: "ci.yd"; ye: "ci.ye"; yf: "ci.yf"; yg: "ci.yg"; yh: "ci.yh"; yi: "ci.yi"; yj: "ci.yj"; yk: "ci.yk"; yl: "ci.yl"; ym: "ci.ym"; yn: "ci.yn"; yo: "ci.yo"; yp: "ci.yp"; yq: "ci.yq"; yr: "ci.yr"; ys: "ci.ys"; yt: "ci.yt"; yu: "ci.yu"; yv: "ci.yv"; yw: "ci.yw"; yx: "ci.yx"; yy: "ci.yy"; yz: "ci.yz"; za: "ci.za"; zb: "ci.zb"; zc: "ci.zc"; zd: "ci.zd"; ze: "ci.ze"; zf: "ci.zf"; zg: "ci.zg"; zh: "ci.zh"; zi: "ci.zi"; zj: "ci.zj"; zk: "ci.zk"; zl: "ci.zl"; zm: "ci.zm"; zn: "ci.zn"; zo: "ci.zo"; zp: "ci.zp"; zq: "ci.zq"; zr: "ci.zr"; zs: "ci.zs"; zt: "ci.zt"; zu: "ci.zu"; zv: "ci.zv"; zw: "ci.zw"; zx: "ci.zx"; zy: "ci.zy"; zz: "ci.zz"; }; cj: { aa: "cj.aa"; ab: "cj.ab"; ac: "cj.ac"; ad: "cj.ad"; ae: "cj.ae"; af: "cj.af"; ag: "cj.ag"; ah: "cj.ah"; ai: "cj.ai"; aj: "cj.aj"; ak: "cj.ak"; al: "cj.al"; am: "cj.am"; an: "cj.an"; ao: "cj.ao"; ap: "cj.ap"; aq: "cj.aq"; ar: "cj.ar"; as: "cj.as"; at: "cj.at"; au: "cj.au"; av: "cj.av"; aw: "cj.aw"; ax: "cj.ax"; ay: "cj.ay"; az: "cj.az"; ba: "cj.ba"; bb: "cj.bb"; bc: "cj.bc"; bd: "cj.bd"; be: "cj.be"; bf: "cj.bf"; bg: "cj.bg"; bh: "cj.bh"; bi: "cj.bi"; bj: "cj.bj"; bk: "cj.bk"; bl: "cj.bl"; bm: "cj.bm"; bn: "cj.bn"; bo: "cj.bo"; bp: "cj.bp"; bq: "cj.bq"; br: "cj.br"; bs: "cj.bs"; bt: "cj.bt"; bu: "cj.bu"; bv: "cj.bv"; bw: "cj.bw"; bx: "cj.bx"; by: "cj.by"; bz: "cj.bz"; ca: "cj.ca"; cb: "cj.cb"; cc: "cj.cc"; cd: "cj.cd"; ce: "cj.ce"; cf: "cj.cf"; cg: "cj.cg"; ch: "cj.ch"; ci: "cj.ci"; cj: "cj.cj"; ck: "cj.ck"; cl: "cj.cl"; cm: "cj.cm"; cn: "cj.cn"; co: "cj.co"; cp: "cj.cp"; cq: "cj.cq"; cr: "cj.cr"; cs: "cj.cs"; ct: "cj.ct"; cu: "cj.cu"; cv: "cj.cv"; cw: "cj.cw"; cx: "cj.cx"; cy: "cj.cy"; cz: "cj.cz"; da: "cj.da"; db: "cj.db"; dc: "cj.dc"; dd: "cj.dd"; de: "cj.de"; df: "cj.df"; dg: "cj.dg"; dh: "cj.dh"; di: "cj.di"; dj: "cj.dj"; dk: "cj.dk"; dl: "cj.dl"; dm: "cj.dm"; dn: "cj.dn"; do: "cj.do"; dp: "cj.dp"; dq: "cj.dq"; dr: "cj.dr"; ds: "cj.ds"; dt: "cj.dt"; du: "cj.du"; dv: "cj.dv"; dw: "cj.dw"; dx: "cj.dx"; dy: "cj.dy"; dz: "cj.dz"; ea: "cj.ea"; eb: "cj.eb"; ec: "cj.ec"; ed: "cj.ed"; ee: "cj.ee"; ef: "cj.ef"; eg: "cj.eg"; eh: "cj.eh"; ei: "cj.ei"; ej: "cj.ej"; ek: "cj.ek"; el: "cj.el"; em: "cj.em"; en: "cj.en"; eo: "cj.eo"; ep: "cj.ep"; eq: "cj.eq"; er: "cj.er"; es: "cj.es"; et: "cj.et"; eu: "cj.eu"; ev: "cj.ev"; ew: "cj.ew"; ex: "cj.ex"; ey: "cj.ey"; ez: "cj.ez"; fa: "cj.fa"; fb: "cj.fb"; fc: "cj.fc"; fd: "cj.fd"; fe: "cj.fe"; ff: "cj.ff"; fg: "cj.fg"; fh: "cj.fh"; fi: "cj.fi"; fj: "cj.fj"; fk: "cj.fk"; fl: "cj.fl"; fm: "cj.fm"; fn: "cj.fn"; fo: "cj.fo"; fp: "cj.fp"; fq: "cj.fq"; fr: "cj.fr"; fs: "cj.fs"; ft: "cj.ft"; fu: "cj.fu"; fv: "cj.fv"; fw: "cj.fw"; fx: "cj.fx"; fy: "cj.fy"; fz: "cj.fz"; ga: "cj.ga"; gb: "cj.gb"; gc: "cj.gc"; gd: "cj.gd"; ge: "cj.ge"; gf: "cj.gf"; gg: "cj.gg"; gh: "cj.gh"; gi: "cj.gi"; gj: "cj.gj"; gk: "cj.gk"; gl: "cj.gl"; gm: "cj.gm"; gn: "cj.gn"; go: "cj.go"; gp: "cj.gp"; gq: "cj.gq"; gr: "cj.gr"; gs: "cj.gs"; gt: "cj.gt"; gu: "cj.gu"; gv: "cj.gv"; gw: "cj.gw"; gx: "cj.gx"; gy: "cj.gy"; gz: "cj.gz"; ha: "cj.ha"; hb: "cj.hb"; hc: "cj.hc"; hd: "cj.hd"; he: "cj.he"; hf: "cj.hf"; hg: "cj.hg"; hh: "cj.hh"; hi: "cj.hi"; hj: "cj.hj"; hk: "cj.hk"; hl: "cj.hl"; hm: "cj.hm"; hn: "cj.hn"; ho: "cj.ho"; hp: "cj.hp"; hq: "cj.hq"; hr: "cj.hr"; hs: "cj.hs"; ht: "cj.ht"; hu: "cj.hu"; hv: "cj.hv"; hw: "cj.hw"; hx: "cj.hx"; hy: "cj.hy"; hz: "cj.hz"; ia: "cj.ia"; ib: "cj.ib"; ic: "cj.ic"; id: "cj.id"; ie: "cj.ie"; if: "cj.if"; ig: "cj.ig"; ih: "cj.ih"; ii: "cj.ii"; ij: "cj.ij"; ik: "cj.ik"; il: "cj.il"; im: "cj.im"; in: "cj.in"; io: "cj.io"; ip: "cj.ip"; iq: "cj.iq"; ir: "cj.ir"; is: "cj.is"; it: "cj.it"; iu: "cj.iu"; iv: "cj.iv"; iw: "cj.iw"; ix: "cj.ix"; iy: "cj.iy"; iz: "cj.iz"; ja: "cj.ja"; jb: "cj.jb"; jc: "cj.jc"; jd: "cj.jd"; je: "cj.je"; jf: "cj.jf"; jg: "cj.jg"; jh: "cj.jh"; ji: "cj.ji"; jj: "cj.jj"; jk: "cj.jk"; jl: "cj.jl"; jm: "cj.jm"; jn: "cj.jn"; jo: "cj.jo"; jp: "cj.jp"; jq: "cj.jq"; jr: "cj.jr"; js: "cj.js"; jt: "cj.jt"; ju: "cj.ju"; jv: "cj.jv"; jw: "cj.jw"; jx: "cj.jx"; jy: "cj.jy"; jz: "cj.jz"; ka: "cj.ka"; kb: "cj.kb"; kc: "cj.kc"; kd: "cj.kd"; ke: "cj.ke"; kf: "cj.kf"; kg: "cj.kg"; kh: "cj.kh"; ki: "cj.ki"; kj: "cj.kj"; kk: "cj.kk"; kl: "cj.kl"; km: "cj.km"; kn: "cj.kn"; ko: "cj.ko"; kp: "cj.kp"; kq: "cj.kq"; kr: "cj.kr"; ks: "cj.ks"; kt: "cj.kt"; ku: "cj.ku"; kv: "cj.kv"; kw: "cj.kw"; kx: "cj.kx"; ky: "cj.ky"; kz: "cj.kz"; la: "cj.la"; lb: "cj.lb"; lc: "cj.lc"; ld: "cj.ld"; le: "cj.le"; lf: "cj.lf"; lg: "cj.lg"; lh: "cj.lh"; li: "cj.li"; lj: "cj.lj"; lk: "cj.lk"; ll: "cj.ll"; lm: "cj.lm"; ln: "cj.ln"; lo: "cj.lo"; lp: "cj.lp"; lq: "cj.lq"; lr: "cj.lr"; ls: "cj.ls"; lt: "cj.lt"; lu: "cj.lu"; lv: "cj.lv"; lw: "cj.lw"; lx: "cj.lx"; ly: "cj.ly"; lz: "cj.lz"; ma: "cj.ma"; mb: "cj.mb"; mc: "cj.mc"; md: "cj.md"; me: "cj.me"; mf: "cj.mf"; mg: "cj.mg"; mh: "cj.mh"; mi: "cj.mi"; mj: "cj.mj"; mk: "cj.mk"; ml: "cj.ml"; mm: "cj.mm"; mn: "cj.mn"; mo: "cj.mo"; mp: "cj.mp"; mq: "cj.mq"; mr: "cj.mr"; ms: "cj.ms"; mt: "cj.mt"; mu: "cj.mu"; mv: "cj.mv"; mw: "cj.mw"; mx: "cj.mx"; my: "cj.my"; mz: "cj.mz"; na: "cj.na"; nb: "cj.nb"; nc: "cj.nc"; nd: "cj.nd"; ne: "cj.ne"; nf: "cj.nf"; ng: "cj.ng"; nh: "cj.nh"; ni: "cj.ni"; nj: "cj.nj"; nk: "cj.nk"; nl: "cj.nl"; nm: "cj.nm"; nn: "cj.nn"; no: "cj.no"; np: "cj.np"; nq: "cj.nq"; nr: "cj.nr"; ns: "cj.ns"; nt: "cj.nt"; nu: "cj.nu"; nv: "cj.nv"; nw: "cj.nw"; nx: "cj.nx"; ny: "cj.ny"; nz: "cj.nz"; oa: "cj.oa"; ob: "cj.ob"; oc: "cj.oc"; od: "cj.od"; oe: "cj.oe"; of: "cj.of"; og: "cj.og"; oh: "cj.oh"; oi: "cj.oi"; oj: "cj.oj"; ok: "cj.ok"; ol: "cj.ol"; om: "cj.om"; on: "cj.on"; oo: "cj.oo"; op: "cj.op"; oq: "cj.oq"; or: "cj.or"; os: "cj.os"; ot: "cj.ot"; ou: "cj.ou"; ov: "cj.ov"; ow: "cj.ow"; ox: "cj.ox"; oy: "cj.oy"; oz: "cj.oz"; pa: "cj.pa"; pb: "cj.pb"; pc: "cj.pc"; pd: "cj.pd"; pe: "cj.pe"; pf: "cj.pf"; pg: "cj.pg"; ph: "cj.ph"; pi: "cj.pi"; pj: "cj.pj"; pk: "cj.pk"; pl: "cj.pl"; pm: "cj.pm"; pn: "cj.pn"; po: "cj.po"; pp: "cj.pp"; pq: "cj.pq"; pr: "cj.pr"; ps: "cj.ps"; pt: "cj.pt"; pu: "cj.pu"; pv: "cj.pv"; pw: "cj.pw"; px: "cj.px"; py: "cj.py"; pz: "cj.pz"; qa: "cj.qa"; qb: "cj.qb"; qc: "cj.qc"; qd: "cj.qd"; qe: "cj.qe"; qf: "cj.qf"; qg: "cj.qg"; qh: "cj.qh"; qi: "cj.qi"; qj: "cj.qj"; qk: "cj.qk"; ql: "cj.ql"; qm: "cj.qm"; qn: "cj.qn"; qo: "cj.qo"; qp: "cj.qp"; qq: "cj.qq"; qr: "cj.qr"; qs: "cj.qs"; qt: "cj.qt"; qu: "cj.qu"; qv: "cj.qv"; qw: "cj.qw"; qx: "cj.qx"; qy: "cj.qy"; qz: "cj.qz"; ra: "cj.ra"; rb: "cj.rb"; rc: "cj.rc"; rd: "cj.rd"; re: "cj.re"; rf: "cj.rf"; rg: "cj.rg"; rh: "cj.rh"; ri: "cj.ri"; rj: "cj.rj"; rk: "cj.rk"; rl: "cj.rl"; rm: "cj.rm"; rn: "cj.rn"; ro: "cj.ro"; rp: "cj.rp"; rq: "cj.rq"; rr: "cj.rr"; rs: "cj.rs"; rt: "cj.rt"; ru: "cj.ru"; rv: "cj.rv"; rw: "cj.rw"; rx: "cj.rx"; ry: "cj.ry"; rz: "cj.rz"; sa: "cj.sa"; sb: "cj.sb"; sc: "cj.sc"; sd: "cj.sd"; se: "cj.se"; sf: "cj.sf"; sg: "cj.sg"; sh: "cj.sh"; si: "cj.si"; sj: "cj.sj"; sk: "cj.sk"; sl: "cj.sl"; sm: "cj.sm"; sn: "cj.sn"; so: "cj.so"; sp: "cj.sp"; sq: "cj.sq"; sr: "cj.sr"; ss: "cj.ss"; st: "cj.st"; su: "cj.su"; sv: "cj.sv"; sw: "cj.sw"; sx: "cj.sx"; sy: "cj.sy"; sz: "cj.sz"; ta: "cj.ta"; tb: "cj.tb"; tc: "cj.tc"; td: "cj.td"; te: "cj.te"; tf: "cj.tf"; tg: "cj.tg"; th: "cj.th"; ti: "cj.ti"; tj: "cj.tj"; tk: "cj.tk"; tl: "cj.tl"; tm: "cj.tm"; tn: "cj.tn"; to: "cj.to"; tp: "cj.tp"; tq: "cj.tq"; tr: "cj.tr"; ts: "cj.ts"; tt: "cj.tt"; tu: "cj.tu"; tv: "cj.tv"; tw: "cj.tw"; tx: "cj.tx"; ty: "cj.ty"; tz: "cj.tz"; ua: "cj.ua"; ub: "cj.ub"; uc: "cj.uc"; ud: "cj.ud"; ue: "cj.ue"; uf: "cj.uf"; ug: "cj.ug"; uh: "cj.uh"; ui: "cj.ui"; uj: "cj.uj"; uk: "cj.uk"; ul: "cj.ul"; um: "cj.um"; un: "cj.un"; uo: "cj.uo"; up: "cj.up"; uq: "cj.uq"; ur: "cj.ur"; us: "cj.us"; ut: "cj.ut"; uu: "cj.uu"; uv: "cj.uv"; uw: "cj.uw"; ux: "cj.ux"; uy: "cj.uy"; uz: "cj.uz"; va: "cj.va"; vb: "cj.vb"; vc: "cj.vc"; vd: "cj.vd"; ve: "cj.ve"; vf: "cj.vf"; vg: "cj.vg"; vh: "cj.vh"; vi: "cj.vi"; vj: "cj.vj"; vk: "cj.vk"; vl: "cj.vl"; vm: "cj.vm"; vn: "cj.vn"; vo: "cj.vo"; vp: "cj.vp"; vq: "cj.vq"; vr: "cj.vr"; vs: "cj.vs"; vt: "cj.vt"; vu: "cj.vu"; vv: "cj.vv"; vw: "cj.vw"; vx: "cj.vx"; vy: "cj.vy"; vz: "cj.vz"; wa: "cj.wa"; wb: "cj.wb"; wc: "cj.wc"; wd: "cj.wd"; we: "cj.we"; wf: "cj.wf"; wg: "cj.wg"; wh: "cj.wh"; wi: "cj.wi"; wj: "cj.wj"; wk: "cj.wk"; wl: "cj.wl"; wm: "cj.wm"; wn: "cj.wn"; wo: "cj.wo"; wp: "cj.wp"; wq: "cj.wq"; wr: "cj.wr"; ws: "cj.ws"; wt: "cj.wt"; wu: "cj.wu"; wv: "cj.wv"; ww: "cj.ww"; wx: "cj.wx"; wy: "cj.wy"; wz: "cj.wz"; xa: "cj.xa"; xb: "cj.xb"; xc: "cj.xc"; xd: "cj.xd"; xe: "cj.xe"; xf: "cj.xf"; xg: "cj.xg"; xh: "cj.xh"; xi: "cj.xi"; xj: "cj.xj"; xk: "cj.xk"; xl: "cj.xl"; xm: "cj.xm"; xn: "cj.xn"; xo: "cj.xo"; xp: "cj.xp"; xq: "cj.xq"; xr: "cj.xr"; xs: "cj.xs"; xt: "cj.xt"; xu: "cj.xu"; xv: "cj.xv"; xw: "cj.xw"; xx: "cj.xx"; xy: "cj.xy"; xz: "cj.xz"; ya: "cj.ya"; yb: "cj.yb"; yc: "cj.yc"; yd: "cj.yd"; ye: "cj.ye"; yf: "cj.yf"; yg: "cj.yg"; yh: "cj.yh"; yi: "cj.yi"; yj: "cj.yj"; yk: "cj.yk"; yl: "cj.yl"; ym: "cj.ym"; yn: "cj.yn"; yo: "cj.yo"; yp: "cj.yp"; yq: "cj.yq"; yr: "cj.yr"; ys: "cj.ys"; yt: "cj.yt"; yu: "cj.yu"; yv: "cj.yv"; yw: "cj.yw"; yx: "cj.yx"; yy: "cj.yy"; yz: "cj.yz"; za: "cj.za"; zb: "cj.zb"; zc: "cj.zc"; zd: "cj.zd"; ze: "cj.ze"; zf: "cj.zf"; zg: "cj.zg"; zh: "cj.zh"; zi: "cj.zi"; zj: "cj.zj"; zk: "cj.zk"; zl: "cj.zl"; zm: "cj.zm"; zn: "cj.zn"; zo: "cj.zo"; zp: "cj.zp"; zq: "cj.zq"; zr: "cj.zr"; zs: "cj.zs"; zt: "cj.zt"; zu: "cj.zu"; zv: "cj.zv"; zw: "cj.zw"; zx: "cj.zx"; zy: "cj.zy"; zz: "cj.zz"; }; ck: { aa: "ck.aa"; ab: "ck.ab"; ac: "ck.ac"; ad: "ck.ad"; ae: "ck.ae"; af: "ck.af"; ag: "ck.ag"; ah: "ck.ah"; ai: "ck.ai"; aj: "ck.aj"; ak: "ck.ak"; al: "ck.al"; am: "ck.am"; an: "ck.an"; ao: "ck.ao"; ap: "ck.ap"; aq: "ck.aq"; ar: "ck.ar"; as: "ck.as"; at: "ck.at"; au: "ck.au"; av: "ck.av"; aw: "ck.aw"; ax: "ck.ax"; ay: "ck.ay"; az: "ck.az"; ba: "ck.ba"; bb: "ck.bb"; bc: "ck.bc"; bd: "ck.bd"; be: "ck.be"; bf: "ck.bf"; bg: "ck.bg"; bh: "ck.bh"; bi: "ck.bi"; bj: "ck.bj"; bk: "ck.bk"; bl: "ck.bl"; bm: "ck.bm"; bn: "ck.bn"; bo: "ck.bo"; bp: "ck.bp"; bq: "ck.bq"; br: "ck.br"; bs: "ck.bs"; bt: "ck.bt"; bu: "ck.bu"; bv: "ck.bv"; bw: "ck.bw"; bx: "ck.bx"; by: "ck.by"; bz: "ck.bz"; ca: "ck.ca"; cb: "ck.cb"; cc: "ck.cc"; cd: "ck.cd"; ce: "ck.ce"; cf: "ck.cf"; cg: "ck.cg"; ch: "ck.ch"; ci: "ck.ci"; cj: "ck.cj"; ck: "ck.ck"; cl: "ck.cl"; cm: "ck.cm"; cn: "ck.cn"; co: "ck.co"; cp: "ck.cp"; cq: "ck.cq"; cr: "ck.cr"; cs: "ck.cs"; ct: "ck.ct"; cu: "ck.cu"; cv: "ck.cv"; cw: "ck.cw"; cx: "ck.cx"; cy: "ck.cy"; cz: "ck.cz"; da: "ck.da"; db: "ck.db"; dc: "ck.dc"; dd: "ck.dd"; de: "ck.de"; df: "ck.df"; dg: "ck.dg"; dh: "ck.dh"; di: "ck.di"; dj: "ck.dj"; dk: "ck.dk"; dl: "ck.dl"; dm: "ck.dm"; dn: "ck.dn"; do: "ck.do"; dp: "ck.dp"; dq: "ck.dq"; dr: "ck.dr"; ds: "ck.ds"; dt: "ck.dt"; du: "ck.du"; dv: "ck.dv"; dw: "ck.dw"; dx: "ck.dx"; dy: "ck.dy"; dz: "ck.dz"; ea: "ck.ea"; eb: "ck.eb"; ec: "ck.ec"; ed: "ck.ed"; ee: "ck.ee"; ef: "ck.ef"; eg: "ck.eg"; eh: "ck.eh"; ei: "ck.ei"; ej: "ck.ej"; ek: "ck.ek"; el: "ck.el"; em: "ck.em"; en: "ck.en"; eo: "ck.eo"; ep: "ck.ep"; eq: "ck.eq"; er: "ck.er"; es: "ck.es"; et: "ck.et"; eu: "ck.eu"; ev: "ck.ev"; ew: "ck.ew"; ex: "ck.ex"; ey: "ck.ey"; ez: "ck.ez"; fa: "ck.fa"; fb: "ck.fb"; fc: "ck.fc"; fd: "ck.fd"; fe: "ck.fe"; ff: "ck.ff"; fg: "ck.fg"; fh: "ck.fh"; fi: "ck.fi"; fj: "ck.fj"; fk: "ck.fk"; fl: "ck.fl"; fm: "ck.fm"; fn: "ck.fn"; fo: "ck.fo"; fp: "ck.fp"; fq: "ck.fq"; fr: "ck.fr"; fs: "ck.fs"; ft: "ck.ft"; fu: "ck.fu"; fv: "ck.fv"; fw: "ck.fw"; fx: "ck.fx"; fy: "ck.fy"; fz: "ck.fz"; ga: "ck.ga"; gb: "ck.gb"; gc: "ck.gc"; gd: "ck.gd"; ge: "ck.ge"; gf: "ck.gf"; gg: "ck.gg"; gh: "ck.gh"; gi: "ck.gi"; gj: "ck.gj"; gk: "ck.gk"; gl: "ck.gl"; gm: "ck.gm"; gn: "ck.gn"; go: "ck.go"; gp: "ck.gp"; gq: "ck.gq"; gr: "ck.gr"; gs: "ck.gs"; gt: "ck.gt"; gu: "ck.gu"; gv: "ck.gv"; gw: "ck.gw"; gx: "ck.gx"; gy: "ck.gy"; gz: "ck.gz"; ha: "ck.ha"; hb: "ck.hb"; hc: "ck.hc"; hd: "ck.hd"; he: "ck.he"; hf: "ck.hf"; hg: "ck.hg"; hh: "ck.hh"; hi: "ck.hi"; hj: "ck.hj"; hk: "ck.hk"; hl: "ck.hl"; hm: "ck.hm"; hn: "ck.hn"; ho: "ck.ho"; hp: "ck.hp"; hq: "ck.hq"; hr: "ck.hr"; hs: "ck.hs"; ht: "ck.ht"; hu: "ck.hu"; hv: "ck.hv"; hw: "ck.hw"; hx: "ck.hx"; hy: "ck.hy"; hz: "ck.hz"; ia: "ck.ia"; ib: "ck.ib"; ic: "ck.ic"; id: "ck.id"; ie: "ck.ie"; if: "ck.if"; ig: "ck.ig"; ih: "ck.ih"; ii: "ck.ii"; ij: "ck.ij"; ik: "ck.ik"; il: "ck.il"; im: "ck.im"; in: "ck.in"; io: "ck.io"; ip: "ck.ip"; iq: "ck.iq"; ir: "ck.ir"; is: "ck.is"; it: "ck.it"; iu: "ck.iu"; iv: "ck.iv"; iw: "ck.iw"; ix: "ck.ix"; iy: "ck.iy"; iz: "ck.iz"; ja: "ck.ja"; jb: "ck.jb"; jc: "ck.jc"; jd: "ck.jd"; je: "ck.je"; jf: "ck.jf"; jg: "ck.jg"; jh: "ck.jh"; ji: "ck.ji"; jj: "ck.jj"; jk: "ck.jk"; jl: "ck.jl"; jm: "ck.jm"; jn: "ck.jn"; jo: "ck.jo"; jp: "ck.jp"; jq: "ck.jq"; jr: "ck.jr"; js: "ck.js"; jt: "ck.jt"; ju: "ck.ju"; jv: "ck.jv"; jw: "ck.jw"; jx: "ck.jx"; jy: "ck.jy"; jz: "ck.jz"; ka: "ck.ka"; kb: "ck.kb"; kc: "ck.kc"; kd: "ck.kd"; ke: "ck.ke"; kf: "ck.kf"; kg: "ck.kg"; kh: "ck.kh"; ki: "ck.ki"; kj: "ck.kj"; kk: "ck.kk"; kl: "ck.kl"; km: "ck.km"; kn: "ck.kn"; ko: "ck.ko"; kp: "ck.kp"; kq: "ck.kq"; kr: "ck.kr"; ks: "ck.ks"; kt: "ck.kt"; ku: "ck.ku"; kv: "ck.kv"; kw: "ck.kw"; kx: "ck.kx"; ky: "ck.ky"; kz: "ck.kz"; la: "ck.la"; lb: "ck.lb"; lc: "ck.lc"; ld: "ck.ld"; le: "ck.le"; lf: "ck.lf"; lg: "ck.lg"; lh: "ck.lh"; li: "ck.li"; lj: "ck.lj"; lk: "ck.lk"; ll: "ck.ll"; lm: "ck.lm"; ln: "ck.ln"; lo: "ck.lo"; lp: "ck.lp"; lq: "ck.lq"; lr: "ck.lr"; ls: "ck.ls"; lt: "ck.lt"; lu: "ck.lu"; lv: "ck.lv"; lw: "ck.lw"; lx: "ck.lx"; ly: "ck.ly"; lz: "ck.lz"; ma: "ck.ma"; mb: "ck.mb"; mc: "ck.mc"; md: "ck.md"; me: "ck.me"; mf: "ck.mf"; mg: "ck.mg"; mh: "ck.mh"; mi: "ck.mi"; mj: "ck.mj"; mk: "ck.mk"; ml: "ck.ml"; mm: "ck.mm"; mn: "ck.mn"; mo: "ck.mo"; mp: "ck.mp"; mq: "ck.mq"; mr: "ck.mr"; ms: "ck.ms"; mt: "ck.mt"; mu: "ck.mu"; mv: "ck.mv"; mw: "ck.mw"; mx: "ck.mx"; my: "ck.my"; mz: "ck.mz"; na: "ck.na"; nb: "ck.nb"; nc: "ck.nc"; nd: "ck.nd"; ne: "ck.ne"; nf: "ck.nf"; ng: "ck.ng"; nh: "ck.nh"; ni: "ck.ni"; nj: "ck.nj"; nk: "ck.nk"; nl: "ck.nl"; nm: "ck.nm"; nn: "ck.nn"; no: "ck.no"; np: "ck.np"; nq: "ck.nq"; nr: "ck.nr"; ns: "ck.ns"; nt: "ck.nt"; nu: "ck.nu"; nv: "ck.nv"; nw: "ck.nw"; nx: "ck.nx"; ny: "ck.ny"; nz: "ck.nz"; oa: "ck.oa"; ob: "ck.ob"; oc: "ck.oc"; od: "ck.od"; oe: "ck.oe"; of: "ck.of"; og: "ck.og"; oh: "ck.oh"; oi: "ck.oi"; oj: "ck.oj"; ok: "ck.ok"; ol: "ck.ol"; om: "ck.om"; on: "ck.on"; oo: "ck.oo"; op: "ck.op"; oq: "ck.oq"; or: "ck.or"; os: "ck.os"; ot: "ck.ot"; ou: "ck.ou"; ov: "ck.ov"; ow: "ck.ow"; ox: "ck.ox"; oy: "ck.oy"; oz: "ck.oz"; pa: "ck.pa"; pb: "ck.pb"; pc: "ck.pc"; pd: "ck.pd"; pe: "ck.pe"; pf: "ck.pf"; pg: "ck.pg"; ph: "ck.ph"; pi: "ck.pi"; pj: "ck.pj"; pk: "ck.pk"; pl: "ck.pl"; pm: "ck.pm"; pn: "ck.pn"; po: "ck.po"; pp: "ck.pp"; pq: "ck.pq"; pr: "ck.pr"; ps: "ck.ps"; pt: "ck.pt"; pu: "ck.pu"; pv: "ck.pv"; pw: "ck.pw"; px: "ck.px"; py: "ck.py"; pz: "ck.pz"; qa: "ck.qa"; qb: "ck.qb"; qc: "ck.qc"; qd: "ck.qd"; qe: "ck.qe"; qf: "ck.qf"; qg: "ck.qg"; qh: "ck.qh"; qi: "ck.qi"; qj: "ck.qj"; qk: "ck.qk"; ql: "ck.ql"; qm: "ck.qm"; qn: "ck.qn"; qo: "ck.qo"; qp: "ck.qp"; qq: "ck.qq"; qr: "ck.qr"; qs: "ck.qs"; qt: "ck.qt"; qu: "ck.qu"; qv: "ck.qv"; qw: "ck.qw"; qx: "ck.qx"; qy: "ck.qy"; qz: "ck.qz"; ra: "ck.ra"; rb: "ck.rb"; rc: "ck.rc"; rd: "ck.rd"; re: "ck.re"; rf: "ck.rf"; rg: "ck.rg"; rh: "ck.rh"; ri: "ck.ri"; rj: "ck.rj"; rk: "ck.rk"; rl: "ck.rl"; rm: "ck.rm"; rn: "ck.rn"; ro: "ck.ro"; rp: "ck.rp"; rq: "ck.rq"; rr: "ck.rr"; rs: "ck.rs"; rt: "ck.rt"; ru: "ck.ru"; rv: "ck.rv"; rw: "ck.rw"; rx: "ck.rx"; ry: "ck.ry"; rz: "ck.rz"; sa: "ck.sa"; sb: "ck.sb"; sc: "ck.sc"; sd: "ck.sd"; se: "ck.se"; sf: "ck.sf"; sg: "ck.sg"; sh: "ck.sh"; si: "ck.si"; sj: "ck.sj"; sk: "ck.sk"; sl: "ck.sl"; sm: "ck.sm"; sn: "ck.sn"; so: "ck.so"; sp: "ck.sp"; sq: "ck.sq"; sr: "ck.sr"; ss: "ck.ss"; st: "ck.st"; su: "ck.su"; sv: "ck.sv"; sw: "ck.sw"; sx: "ck.sx"; sy: "ck.sy"; sz: "ck.sz"; ta: "ck.ta"; tb: "ck.tb"; tc: "ck.tc"; td: "ck.td"; te: "ck.te"; tf: "ck.tf"; tg: "ck.tg"; th: "ck.th"; ti: "ck.ti"; tj: "ck.tj"; tk: "ck.tk"; tl: "ck.tl"; tm: "ck.tm"; tn: "ck.tn"; to: "ck.to"; tp: "ck.tp"; tq: "ck.tq"; tr: "ck.tr"; ts: "ck.ts"; tt: "ck.tt"; tu: "ck.tu"; tv: "ck.tv"; tw: "ck.tw"; tx: "ck.tx"; ty: "ck.ty"; tz: "ck.tz"; ua: "ck.ua"; ub: "ck.ub"; uc: "ck.uc"; ud: "ck.ud"; ue: "ck.ue"; uf: "ck.uf"; ug: "ck.ug"; uh: "ck.uh"; ui: "ck.ui"; uj: "ck.uj"; uk: "ck.uk"; ul: "ck.ul"; um: "ck.um"; un: "ck.un"; uo: "ck.uo"; up: "ck.up"; uq: "ck.uq"; ur: "ck.ur"; us: "ck.us"; ut: "ck.ut"; uu: "ck.uu"; uv: "ck.uv"; uw: "ck.uw"; ux: "ck.ux"; uy: "ck.uy"; uz: "ck.uz"; va: "ck.va"; vb: "ck.vb"; vc: "ck.vc"; vd: "ck.vd"; ve: "ck.ve"; vf: "ck.vf"; vg: "ck.vg"; vh: "ck.vh"; vi: "ck.vi"; vj: "ck.vj"; vk: "ck.vk"; vl: "ck.vl"; vm: "ck.vm"; vn: "ck.vn"; vo: "ck.vo"; vp: "ck.vp"; vq: "ck.vq"; vr: "ck.vr"; vs: "ck.vs"; vt: "ck.vt"; vu: "ck.vu"; vv: "ck.vv"; vw: "ck.vw"; vx: "ck.vx"; vy: "ck.vy"; vz: "ck.vz"; wa: "ck.wa"; wb: "ck.wb"; wc: "ck.wc"; wd: "ck.wd"; we: "ck.we"; wf: "ck.wf"; wg: "ck.wg"; wh: "ck.wh"; wi: "ck.wi"; wj: "ck.wj"; wk: "ck.wk"; wl: "ck.wl"; wm: "ck.wm"; wn: "ck.wn"; wo: "ck.wo"; wp: "ck.wp"; wq: "ck.wq"; wr: "ck.wr"; ws: "ck.ws"; wt: "ck.wt"; wu: "ck.wu"; wv: "ck.wv"; ww: "ck.ww"; wx: "ck.wx"; wy: "ck.wy"; wz: "ck.wz"; xa: "ck.xa"; xb: "ck.xb"; xc: "ck.xc"; xd: "ck.xd"; xe: "ck.xe"; xf: "ck.xf"; xg: "ck.xg"; xh: "ck.xh"; xi: "ck.xi"; xj: "ck.xj"; xk: "ck.xk"; xl: "ck.xl"; xm: "ck.xm"; xn: "ck.xn"; xo: "ck.xo"; xp: "ck.xp"; xq: "ck.xq"; xr: "ck.xr"; xs: "ck.xs"; xt: "ck.xt"; xu: "ck.xu"; xv: "ck.xv"; xw: "ck.xw"; xx: "ck.xx"; xy: "ck.xy"; xz: "ck.xz"; ya: "ck.ya"; yb: "ck.yb"; yc: "ck.yc"; yd: "ck.yd"; ye: "ck.ye"; yf: "ck.yf"; yg: "ck.yg"; yh: "ck.yh"; yi: "ck.yi"; yj: "ck.yj"; yk: "ck.yk"; yl: "ck.yl"; ym: "ck.ym"; yn: "ck.yn"; yo: "ck.yo"; yp: "ck.yp"; yq: "ck.yq"; yr: "ck.yr"; ys: "ck.ys"; yt: "ck.yt"; yu: "ck.yu"; yv: "ck.yv"; yw: "ck.yw"; yx: "ck.yx"; yy: "ck.yy"; yz: "ck.yz"; za: "ck.za"; zb: "ck.zb"; zc: "ck.zc"; zd: "ck.zd"; ze: "ck.ze"; zf: "ck.zf"; zg: "ck.zg"; zh: "ck.zh"; zi: "ck.zi"; zj: "ck.zj"; zk: "ck.zk"; zl: "ck.zl"; zm: "ck.zm"; zn: "ck.zn"; zo: "ck.zo"; zp: "ck.zp"; zq: "ck.zq"; zr: "ck.zr"; zs: "ck.zs"; zt: "ck.zt"; zu: "ck.zu"; zv: "ck.zv"; zw: "ck.zw"; zx: "ck.zx"; zy: "ck.zy"; zz: "ck.zz"; }; cl: { aa: "cl.aa"; ab: "cl.ab"; ac: "cl.ac"; ad: "cl.ad"; ae: "cl.ae"; af: "cl.af"; ag: "cl.ag"; ah: "cl.ah"; ai: "cl.ai"; aj: "cl.aj"; ak: "cl.ak"; al: "cl.al"; am: "cl.am"; an: "cl.an"; ao: "cl.ao"; ap: "cl.ap"; aq: "cl.aq"; ar: "cl.ar"; as: "cl.as"; at: "cl.at"; au: "cl.au"; av: "cl.av"; aw: "cl.aw"; ax: "cl.ax"; ay: "cl.ay"; az: "cl.az"; ba: "cl.ba"; bb: "cl.bb"; bc: "cl.bc"; bd: "cl.bd"; be: "cl.be"; bf: "cl.bf"; bg: "cl.bg"; bh: "cl.bh"; bi: "cl.bi"; bj: "cl.bj"; bk: "cl.bk"; bl: "cl.bl"; bm: "cl.bm"; bn: "cl.bn"; bo: "cl.bo"; bp: "cl.bp"; bq: "cl.bq"; br: "cl.br"; bs: "cl.bs"; bt: "cl.bt"; bu: "cl.bu"; bv: "cl.bv"; bw: "cl.bw"; bx: "cl.bx"; by: "cl.by"; bz: "cl.bz"; ca: "cl.ca"; cb: "cl.cb"; cc: "cl.cc"; cd: "cl.cd"; ce: "cl.ce"; cf: "cl.cf"; cg: "cl.cg"; ch: "cl.ch"; ci: "cl.ci"; cj: "cl.cj"; ck: "cl.ck"; cl: "cl.cl"; cm: "cl.cm"; cn: "cl.cn"; co: "cl.co"; cp: "cl.cp"; cq: "cl.cq"; cr: "cl.cr"; cs: "cl.cs"; ct: "cl.ct"; cu: "cl.cu"; cv: "cl.cv"; cw: "cl.cw"; cx: "cl.cx"; cy: "cl.cy"; cz: "cl.cz"; da: "cl.da"; db: "cl.db"; dc: "cl.dc"; dd: "cl.dd"; de: "cl.de"; df: "cl.df"; dg: "cl.dg"; dh: "cl.dh"; di: "cl.di"; dj: "cl.dj"; dk: "cl.dk"; dl: "cl.dl"; dm: "cl.dm"; dn: "cl.dn"; do: "cl.do"; dp: "cl.dp"; dq: "cl.dq"; dr: "cl.dr"; ds: "cl.ds"; dt: "cl.dt"; du: "cl.du"; dv: "cl.dv"; dw: "cl.dw"; dx: "cl.dx"; dy: "cl.dy"; dz: "cl.dz"; ea: "cl.ea"; eb: "cl.eb"; ec: "cl.ec"; ed: "cl.ed"; ee: "cl.ee"; ef: "cl.ef"; eg: "cl.eg"; eh: "cl.eh"; ei: "cl.ei"; ej: "cl.ej"; ek: "cl.ek"; el: "cl.el"; em: "cl.em"; en: "cl.en"; eo: "cl.eo"; ep: "cl.ep"; eq: "cl.eq"; er: "cl.er"; es: "cl.es"; et: "cl.et"; eu: "cl.eu"; ev: "cl.ev"; ew: "cl.ew"; ex: "cl.ex"; ey: "cl.ey"; ez: "cl.ez"; fa: "cl.fa"; fb: "cl.fb"; fc: "cl.fc"; fd: "cl.fd"; fe: "cl.fe"; ff: "cl.ff"; fg: "cl.fg"; fh: "cl.fh"; fi: "cl.fi"; fj: "cl.fj"; fk: "cl.fk"; fl: "cl.fl"; fm: "cl.fm"; fn: "cl.fn"; fo: "cl.fo"; fp: "cl.fp"; fq: "cl.fq"; fr: "cl.fr"; fs: "cl.fs"; ft: "cl.ft"; fu: "cl.fu"; fv: "cl.fv"; fw: "cl.fw"; fx: "cl.fx"; fy: "cl.fy"; fz: "cl.fz"; ga: "cl.ga"; gb: "cl.gb"; gc: "cl.gc"; gd: "cl.gd"; ge: "cl.ge"; gf: "cl.gf"; gg: "cl.gg"; gh: "cl.gh"; gi: "cl.gi"; gj: "cl.gj"; gk: "cl.gk"; gl: "cl.gl"; gm: "cl.gm"; gn: "cl.gn"; go: "cl.go"; gp: "cl.gp"; gq: "cl.gq"; gr: "cl.gr"; gs: "cl.gs"; gt: "cl.gt"; gu: "cl.gu"; gv: "cl.gv"; gw: "cl.gw"; gx: "cl.gx"; gy: "cl.gy"; gz: "cl.gz"; ha: "cl.ha"; hb: "cl.hb"; hc: "cl.hc"; hd: "cl.hd"; he: "cl.he"; hf: "cl.hf"; hg: "cl.hg"; hh: "cl.hh"; hi: "cl.hi"; hj: "cl.hj"; hk: "cl.hk"; hl: "cl.hl"; hm: "cl.hm"; hn: "cl.hn"; ho: "cl.ho"; hp: "cl.hp"; hq: "cl.hq"; hr: "cl.hr"; hs: "cl.hs"; ht: "cl.ht"; hu: "cl.hu"; hv: "cl.hv"; hw: "cl.hw"; hx: "cl.hx"; hy: "cl.hy"; hz: "cl.hz"; ia: "cl.ia"; ib: "cl.ib"; ic: "cl.ic"; id: "cl.id"; ie: "cl.ie"; if: "cl.if"; ig: "cl.ig"; ih: "cl.ih"; ii: "cl.ii"; ij: "cl.ij"; ik: "cl.ik"; il: "cl.il"; im: "cl.im"; in: "cl.in"; io: "cl.io"; ip: "cl.ip"; iq: "cl.iq"; ir: "cl.ir"; is: "cl.is"; it: "cl.it"; iu: "cl.iu"; iv: "cl.iv"; iw: "cl.iw"; ix: "cl.ix"; iy: "cl.iy"; iz: "cl.iz"; ja: "cl.ja"; jb: "cl.jb"; jc: "cl.jc"; jd: "cl.jd"; je: "cl.je"; jf: "cl.jf"; jg: "cl.jg"; jh: "cl.jh"; ji: "cl.ji"; jj: "cl.jj"; jk: "cl.jk"; jl: "cl.jl"; jm: "cl.jm"; jn: "cl.jn"; jo: "cl.jo"; jp: "cl.jp"; jq: "cl.jq"; jr: "cl.jr"; js: "cl.js"; jt: "cl.jt"; ju: "cl.ju"; jv: "cl.jv"; jw: "cl.jw"; jx: "cl.jx"; jy: "cl.jy"; jz: "cl.jz"; ka: "cl.ka"; kb: "cl.kb"; kc: "cl.kc"; kd: "cl.kd"; ke: "cl.ke"; kf: "cl.kf"; kg: "cl.kg"; kh: "cl.kh"; ki: "cl.ki"; kj: "cl.kj"; kk: "cl.kk"; kl: "cl.kl"; km: "cl.km"; kn: "cl.kn"; ko: "cl.ko"; kp: "cl.kp"; kq: "cl.kq"; kr: "cl.kr"; ks: "cl.ks"; kt: "cl.kt"; ku: "cl.ku"; kv: "cl.kv"; kw: "cl.kw"; kx: "cl.kx"; ky: "cl.ky"; kz: "cl.kz"; la: "cl.la"; lb: "cl.lb"; lc: "cl.lc"; ld: "cl.ld"; le: "cl.le"; lf: "cl.lf"; lg: "cl.lg"; lh: "cl.lh"; li: "cl.li"; lj: "cl.lj"; lk: "cl.lk"; ll: "cl.ll"; lm: "cl.lm"; ln: "cl.ln"; lo: "cl.lo"; lp: "cl.lp"; lq: "cl.lq"; lr: "cl.lr"; ls: "cl.ls"; lt: "cl.lt"; lu: "cl.lu"; lv: "cl.lv"; lw: "cl.lw"; lx: "cl.lx"; ly: "cl.ly"; lz: "cl.lz"; ma: "cl.ma"; mb: "cl.mb"; mc: "cl.mc"; md: "cl.md"; me: "cl.me"; mf: "cl.mf"; mg: "cl.mg"; mh: "cl.mh"; mi: "cl.mi"; mj: "cl.mj"; mk: "cl.mk"; ml: "cl.ml"; mm: "cl.mm"; mn: "cl.mn"; mo: "cl.mo"; mp: "cl.mp"; mq: "cl.mq"; mr: "cl.mr"; ms: "cl.ms"; mt: "cl.mt"; mu: "cl.mu"; mv: "cl.mv"; mw: "cl.mw"; mx: "cl.mx"; my: "cl.my"; mz: "cl.mz"; na: "cl.na"; nb: "cl.nb"; nc: "cl.nc"; nd: "cl.nd"; ne: "cl.ne"; nf: "cl.nf"; ng: "cl.ng"; nh: "cl.nh"; ni: "cl.ni"; nj: "cl.nj"; nk: "cl.nk"; nl: "cl.nl"; nm: "cl.nm"; nn: "cl.nn"; no: "cl.no"; np: "cl.np"; nq: "cl.nq"; nr: "cl.nr"; ns: "cl.ns"; nt: "cl.nt"; nu: "cl.nu"; nv: "cl.nv"; nw: "cl.nw"; nx: "cl.nx"; ny: "cl.ny"; nz: "cl.nz"; oa: "cl.oa"; ob: "cl.ob"; oc: "cl.oc"; od: "cl.od"; oe: "cl.oe"; of: "cl.of"; og: "cl.og"; oh: "cl.oh"; oi: "cl.oi"; oj: "cl.oj"; ok: "cl.ok"; ol: "cl.ol"; om: "cl.om"; on: "cl.on"; oo: "cl.oo"; op: "cl.op"; oq: "cl.oq"; or: "cl.or"; os: "cl.os"; ot: "cl.ot"; ou: "cl.ou"; ov: "cl.ov"; ow: "cl.ow"; ox: "cl.ox"; oy: "cl.oy"; oz: "cl.oz"; pa: "cl.pa"; pb: "cl.pb"; pc: "cl.pc"; pd: "cl.pd"; pe: "cl.pe"; pf: "cl.pf"; pg: "cl.pg"; ph: "cl.ph"; pi: "cl.pi"; pj: "cl.pj"; pk: "cl.pk"; pl: "cl.pl"; pm: "cl.pm"; pn: "cl.pn"; po: "cl.po"; pp: "cl.pp"; pq: "cl.pq"; pr: "cl.pr"; ps: "cl.ps"; pt: "cl.pt"; pu: "cl.pu"; pv: "cl.pv"; pw: "cl.pw"; px: "cl.px"; py: "cl.py"; pz: "cl.pz"; qa: "cl.qa"; qb: "cl.qb"; qc: "cl.qc"; qd: "cl.qd"; qe: "cl.qe"; qf: "cl.qf"; qg: "cl.qg"; qh: "cl.qh"; qi: "cl.qi"; qj: "cl.qj"; qk: "cl.qk"; ql: "cl.ql"; qm: "cl.qm"; qn: "cl.qn"; qo: "cl.qo"; qp: "cl.qp"; qq: "cl.qq"; qr: "cl.qr"; qs: "cl.qs"; qt: "cl.qt"; qu: "cl.qu"; qv: "cl.qv"; qw: "cl.qw"; qx: "cl.qx"; qy: "cl.qy"; qz: "cl.qz"; ra: "cl.ra"; rb: "cl.rb"; rc: "cl.rc"; rd: "cl.rd"; re: "cl.re"; rf: "cl.rf"; rg: "cl.rg"; rh: "cl.rh"; ri: "cl.ri"; rj: "cl.rj"; rk: "cl.rk"; rl: "cl.rl"; rm: "cl.rm"; rn: "cl.rn"; ro: "cl.ro"; rp: "cl.rp"; rq: "cl.rq"; rr: "cl.rr"; rs: "cl.rs"; rt: "cl.rt"; ru: "cl.ru"; rv: "cl.rv"; rw: "cl.rw"; rx: "cl.rx"; ry: "cl.ry"; rz: "cl.rz"; sa: "cl.sa"; sb: "cl.sb"; sc: "cl.sc"; sd: "cl.sd"; se: "cl.se"; sf: "cl.sf"; sg: "cl.sg"; sh: "cl.sh"; si: "cl.si"; sj: "cl.sj"; sk: "cl.sk"; sl: "cl.sl"; sm: "cl.sm"; sn: "cl.sn"; so: "cl.so"; sp: "cl.sp"; sq: "cl.sq"; sr: "cl.sr"; ss: "cl.ss"; st: "cl.st"; su: "cl.su"; sv: "cl.sv"; sw: "cl.sw"; sx: "cl.sx"; sy: "cl.sy"; sz: "cl.sz"; ta: "cl.ta"; tb: "cl.tb"; tc: "cl.tc"; td: "cl.td"; te: "cl.te"; tf: "cl.tf"; tg: "cl.tg"; th: "cl.th"; ti: "cl.ti"; tj: "cl.tj"; tk: "cl.tk"; tl: "cl.tl"; tm: "cl.tm"; tn: "cl.tn"; to: "cl.to"; tp: "cl.tp"; tq: "cl.tq"; tr: "cl.tr"; ts: "cl.ts"; tt: "cl.tt"; tu: "cl.tu"; tv: "cl.tv"; tw: "cl.tw"; tx: "cl.tx"; ty: "cl.ty"; tz: "cl.tz"; ua: "cl.ua"; ub: "cl.ub"; uc: "cl.uc"; ud: "cl.ud"; ue: "cl.ue"; uf: "cl.uf"; ug: "cl.ug"; uh: "cl.uh"; ui: "cl.ui"; uj: "cl.uj"; uk: "cl.uk"; ul: "cl.ul"; um: "cl.um"; un: "cl.un"; uo: "cl.uo"; up: "cl.up"; uq: "cl.uq"; ur: "cl.ur"; us: "cl.us"; ut: "cl.ut"; uu: "cl.uu"; uv: "cl.uv"; uw: "cl.uw"; ux: "cl.ux"; uy: "cl.uy"; uz: "cl.uz"; va: "cl.va"; vb: "cl.vb"; vc: "cl.vc"; vd: "cl.vd"; ve: "cl.ve"; vf: "cl.vf"; vg: "cl.vg"; vh: "cl.vh"; vi: "cl.vi"; vj: "cl.vj"; vk: "cl.vk"; vl: "cl.vl"; vm: "cl.vm"; vn: "cl.vn"; vo: "cl.vo"; vp: "cl.vp"; vq: "cl.vq"; vr: "cl.vr"; vs: "cl.vs"; vt: "cl.vt"; vu: "cl.vu"; vv: "cl.vv"; vw: "cl.vw"; vx: "cl.vx"; vy: "cl.vy"; vz: "cl.vz"; wa: "cl.wa"; wb: "cl.wb"; wc: "cl.wc"; wd: "cl.wd"; we: "cl.we"; wf: "cl.wf"; wg: "cl.wg"; wh: "cl.wh"; wi: "cl.wi"; wj: "cl.wj"; wk: "cl.wk"; wl: "cl.wl"; wm: "cl.wm"; wn: "cl.wn"; wo: "cl.wo"; wp: "cl.wp"; wq: "cl.wq"; wr: "cl.wr"; ws: "cl.ws"; wt: "cl.wt"; wu: "cl.wu"; wv: "cl.wv"; ww: "cl.ww"; wx: "cl.wx"; wy: "cl.wy"; wz: "cl.wz"; xa: "cl.xa"; xb: "cl.xb"; xc: "cl.xc"; xd: "cl.xd"; xe: "cl.xe"; xf: "cl.xf"; xg: "cl.xg"; xh: "cl.xh"; xi: "cl.xi"; xj: "cl.xj"; xk: "cl.xk"; xl: "cl.xl"; xm: "cl.xm"; xn: "cl.xn"; xo: "cl.xo"; xp: "cl.xp"; xq: "cl.xq"; xr: "cl.xr"; xs: "cl.xs"; xt: "cl.xt"; xu: "cl.xu"; xv: "cl.xv"; xw: "cl.xw"; xx: "cl.xx"; xy: "cl.xy"; xz: "cl.xz"; ya: "cl.ya"; yb: "cl.yb"; yc: "cl.yc"; yd: "cl.yd"; ye: "cl.ye"; yf: "cl.yf"; yg: "cl.yg"; yh: "cl.yh"; yi: "cl.yi"; yj: "cl.yj"; yk: "cl.yk"; yl: "cl.yl"; ym: "cl.ym"; yn: "cl.yn"; yo: "cl.yo"; yp: "cl.yp"; yq: "cl.yq"; yr: "cl.yr"; ys: "cl.ys"; yt: "cl.yt"; yu: "cl.yu"; yv: "cl.yv"; yw: "cl.yw"; yx: "cl.yx"; yy: "cl.yy"; yz: "cl.yz"; za: "cl.za"; zb: "cl.zb"; zc: "cl.zc"; zd: "cl.zd"; ze: "cl.ze"; zf: "cl.zf"; zg: "cl.zg"; zh: "cl.zh"; zi: "cl.zi"; zj: "cl.zj"; zk: "cl.zk"; zl: "cl.zl"; zm: "cl.zm"; zn: "cl.zn"; zo: "cl.zo"; zp: "cl.zp"; zq: "cl.zq"; zr: "cl.zr"; zs: "cl.zs"; zt: "cl.zt"; zu: "cl.zu"; zv: "cl.zv"; zw: "cl.zw"; zx: "cl.zx"; zy: "cl.zy"; zz: "cl.zz"; }; cm: { aa: "cm.aa"; ab: "cm.ab"; ac: "cm.ac"; ad: "cm.ad"; ae: "cm.ae"; af: "cm.af"; ag: "cm.ag"; ah: "cm.ah"; ai: "cm.ai"; aj: "cm.aj"; ak: "cm.ak"; al: "cm.al"; am: "cm.am"; an: "cm.an"; ao: "cm.ao"; ap: "cm.ap"; aq: "cm.aq"; ar: "cm.ar"; as: "cm.as"; at: "cm.at"; au: "cm.au"; av: "cm.av"; aw: "cm.aw"; ax: "cm.ax"; ay: "cm.ay"; az: "cm.az"; ba: "cm.ba"; bb: "cm.bb"; bc: "cm.bc"; bd: "cm.bd"; be: "cm.be"; bf: "cm.bf"; bg: "cm.bg"; bh: "cm.bh"; bi: "cm.bi"; bj: "cm.bj"; bk: "cm.bk"; bl: "cm.bl"; bm: "cm.bm"; bn: "cm.bn"; bo: "cm.bo"; bp: "cm.bp"; bq: "cm.bq"; br: "cm.br"; bs: "cm.bs"; bt: "cm.bt"; bu: "cm.bu"; bv: "cm.bv"; bw: "cm.bw"; bx: "cm.bx"; by: "cm.by"; bz: "cm.bz"; ca: "cm.ca"; cb: "cm.cb"; cc: "cm.cc"; cd: "cm.cd"; ce: "cm.ce"; cf: "cm.cf"; cg: "cm.cg"; ch: "cm.ch"; ci: "cm.ci"; cj: "cm.cj"; ck: "cm.ck"; cl: "cm.cl"; cm: "cm.cm"; cn: "cm.cn"; co: "cm.co"; cp: "cm.cp"; cq: "cm.cq"; cr: "cm.cr"; cs: "cm.cs"; ct: "cm.ct"; cu: "cm.cu"; cv: "cm.cv"; cw: "cm.cw"; cx: "cm.cx"; cy: "cm.cy"; cz: "cm.cz"; da: "cm.da"; db: "cm.db"; dc: "cm.dc"; dd: "cm.dd"; de: "cm.de"; df: "cm.df"; dg: "cm.dg"; dh: "cm.dh"; di: "cm.di"; dj: "cm.dj"; dk: "cm.dk"; dl: "cm.dl"; dm: "cm.dm"; dn: "cm.dn"; do: "cm.do"; dp: "cm.dp"; dq: "cm.dq"; dr: "cm.dr"; ds: "cm.ds"; dt: "cm.dt"; du: "cm.du"; dv: "cm.dv"; dw: "cm.dw"; dx: "cm.dx"; dy: "cm.dy"; dz: "cm.dz"; ea: "cm.ea"; eb: "cm.eb"; ec: "cm.ec"; ed: "cm.ed"; ee: "cm.ee"; ef: "cm.ef"; eg: "cm.eg"; eh: "cm.eh"; ei: "cm.ei"; ej: "cm.ej"; ek: "cm.ek"; el: "cm.el"; em: "cm.em"; en: "cm.en"; eo: "cm.eo"; ep: "cm.ep"; eq: "cm.eq"; er: "cm.er"; es: "cm.es"; et: "cm.et"; eu: "cm.eu"; ev: "cm.ev"; ew: "cm.ew"; ex: "cm.ex"; ey: "cm.ey"; ez: "cm.ez"; fa: "cm.fa"; fb: "cm.fb"; fc: "cm.fc"; fd: "cm.fd"; fe: "cm.fe"; ff: "cm.ff"; fg: "cm.fg"; fh: "cm.fh"; fi: "cm.fi"; fj: "cm.fj"; fk: "cm.fk"; fl: "cm.fl"; fm: "cm.fm"; fn: "cm.fn"; fo: "cm.fo"; fp: "cm.fp"; fq: "cm.fq"; fr: "cm.fr"; fs: "cm.fs"; ft: "cm.ft"; fu: "cm.fu"; fv: "cm.fv"; fw: "cm.fw"; fx: "cm.fx"; fy: "cm.fy"; fz: "cm.fz"; ga: "cm.ga"; gb: "cm.gb"; gc: "cm.gc"; gd: "cm.gd"; ge: "cm.ge"; gf: "cm.gf"; gg: "cm.gg"; gh: "cm.gh"; gi: "cm.gi"; gj: "cm.gj"; gk: "cm.gk"; gl: "cm.gl"; gm: "cm.gm"; gn: "cm.gn"; go: "cm.go"; gp: "cm.gp"; gq: "cm.gq"; gr: "cm.gr"; gs: "cm.gs"; gt: "cm.gt"; gu: "cm.gu"; gv: "cm.gv"; gw: "cm.gw"; gx: "cm.gx"; gy: "cm.gy"; gz: "cm.gz"; ha: "cm.ha"; hb: "cm.hb"; hc: "cm.hc"; hd: "cm.hd"; he: "cm.he"; hf: "cm.hf"; hg: "cm.hg"; hh: "cm.hh"; hi: "cm.hi"; hj: "cm.hj"; hk: "cm.hk"; hl: "cm.hl"; hm: "cm.hm"; hn: "cm.hn"; ho: "cm.ho"; hp: "cm.hp"; hq: "cm.hq"; hr: "cm.hr"; hs: "cm.hs"; ht: "cm.ht"; hu: "cm.hu"; hv: "cm.hv"; hw: "cm.hw"; hx: "cm.hx"; hy: "cm.hy"; hz: "cm.hz"; ia: "cm.ia"; ib: "cm.ib"; ic: "cm.ic"; id: "cm.id"; ie: "cm.ie"; if: "cm.if"; ig: "cm.ig"; ih: "cm.ih"; ii: "cm.ii"; ij: "cm.ij"; ik: "cm.ik"; il: "cm.il"; im: "cm.im"; in: "cm.in"; io: "cm.io"; ip: "cm.ip"; iq: "cm.iq"; ir: "cm.ir"; is: "cm.is"; it: "cm.it"; iu: "cm.iu"; iv: "cm.iv"; iw: "cm.iw"; ix: "cm.ix"; iy: "cm.iy"; iz: "cm.iz"; ja: "cm.ja"; jb: "cm.jb"; jc: "cm.jc"; jd: "cm.jd"; je: "cm.je"; jf: "cm.jf"; jg: "cm.jg"; jh: "cm.jh"; ji: "cm.ji"; jj: "cm.jj"; jk: "cm.jk"; jl: "cm.jl"; jm: "cm.jm"; jn: "cm.jn"; jo: "cm.jo"; jp: "cm.jp"; jq: "cm.jq"; jr: "cm.jr"; js: "cm.js"; jt: "cm.jt"; ju: "cm.ju"; jv: "cm.jv"; jw: "cm.jw"; jx: "cm.jx"; jy: "cm.jy"; jz: "cm.jz"; ka: "cm.ka"; kb: "cm.kb"; kc: "cm.kc"; kd: "cm.kd"; ke: "cm.ke"; kf: "cm.kf"; kg: "cm.kg"; kh: "cm.kh"; ki: "cm.ki"; kj: "cm.kj"; kk: "cm.kk"; kl: "cm.kl"; km: "cm.km"; kn: "cm.kn"; ko: "cm.ko"; kp: "cm.kp"; kq: "cm.kq"; kr: "cm.kr"; ks: "cm.ks"; kt: "cm.kt"; ku: "cm.ku"; kv: "cm.kv"; kw: "cm.kw"; kx: "cm.kx"; ky: "cm.ky"; kz: "cm.kz"; la: "cm.la"; lb: "cm.lb"; lc: "cm.lc"; ld: "cm.ld"; le: "cm.le"; lf: "cm.lf"; lg: "cm.lg"; lh: "cm.lh"; li: "cm.li"; lj: "cm.lj"; lk: "cm.lk"; ll: "cm.ll"; lm: "cm.lm"; ln: "cm.ln"; lo: "cm.lo"; lp: "cm.lp"; lq: "cm.lq"; lr: "cm.lr"; ls: "cm.ls"; lt: "cm.lt"; lu: "cm.lu"; lv: "cm.lv"; lw: "cm.lw"; lx: "cm.lx"; ly: "cm.ly"; lz: "cm.lz"; ma: "cm.ma"; mb: "cm.mb"; mc: "cm.mc"; md: "cm.md"; me: "cm.me"; mf: "cm.mf"; mg: "cm.mg"; mh: "cm.mh"; mi: "cm.mi"; mj: "cm.mj"; mk: "cm.mk"; ml: "cm.ml"; mm: "cm.mm"; mn: "cm.mn"; mo: "cm.mo"; mp: "cm.mp"; mq: "cm.mq"; mr: "cm.mr"; ms: "cm.ms"; mt: "cm.mt"; mu: "cm.mu"; mv: "cm.mv"; mw: "cm.mw"; mx: "cm.mx"; my: "cm.my"; mz: "cm.mz"; na: "cm.na"; nb: "cm.nb"; nc: "cm.nc"; nd: "cm.nd"; ne: "cm.ne"; nf: "cm.nf"; ng: "cm.ng"; nh: "cm.nh"; ni: "cm.ni"; nj: "cm.nj"; nk: "cm.nk"; nl: "cm.nl"; nm: "cm.nm"; nn: "cm.nn"; no: "cm.no"; np: "cm.np"; nq: "cm.nq"; nr: "cm.nr"; ns: "cm.ns"; nt: "cm.nt"; nu: "cm.nu"; nv: "cm.nv"; nw: "cm.nw"; nx: "cm.nx"; ny: "cm.ny"; nz: "cm.nz"; oa: "cm.oa"; ob: "cm.ob"; oc: "cm.oc"; od: "cm.od"; oe: "cm.oe"; of: "cm.of"; og: "cm.og"; oh: "cm.oh"; oi: "cm.oi"; oj: "cm.oj"; ok: "cm.ok"; ol: "cm.ol"; om: "cm.om"; on: "cm.on"; oo: "cm.oo"; op: "cm.op"; oq: "cm.oq"; or: "cm.or"; os: "cm.os"; ot: "cm.ot"; ou: "cm.ou"; ov: "cm.ov"; ow: "cm.ow"; ox: "cm.ox"; oy: "cm.oy"; oz: "cm.oz"; pa: "cm.pa"; pb: "cm.pb"; pc: "cm.pc"; pd: "cm.pd"; pe: "cm.pe"; pf: "cm.pf"; pg: "cm.pg"; ph: "cm.ph"; pi: "cm.pi"; pj: "cm.pj"; pk: "cm.pk"; pl: "cm.pl"; pm: "cm.pm"; pn: "cm.pn"; po: "cm.po"; pp: "cm.pp"; pq: "cm.pq"; pr: "cm.pr"; ps: "cm.ps"; pt: "cm.pt"; pu: "cm.pu"; pv: "cm.pv"; pw: "cm.pw"; px: "cm.px"; py: "cm.py"; pz: "cm.pz"; qa: "cm.qa"; qb: "cm.qb"; qc: "cm.qc"; qd: "cm.qd"; qe: "cm.qe"; qf: "cm.qf"; qg: "cm.qg"; qh: "cm.qh"; qi: "cm.qi"; qj: "cm.qj"; qk: "cm.qk"; ql: "cm.ql"; qm: "cm.qm"; qn: "cm.qn"; qo: "cm.qo"; qp: "cm.qp"; qq: "cm.qq"; qr: "cm.qr"; qs: "cm.qs"; qt: "cm.qt"; qu: "cm.qu"; qv: "cm.qv"; qw: "cm.qw"; qx: "cm.qx"; qy: "cm.qy"; qz: "cm.qz"; ra: "cm.ra"; rb: "cm.rb"; rc: "cm.rc"; rd: "cm.rd"; re: "cm.re"; rf: "cm.rf"; rg: "cm.rg"; rh: "cm.rh"; ri: "cm.ri"; rj: "cm.rj"; rk: "cm.rk"; rl: "cm.rl"; rm: "cm.rm"; rn: "cm.rn"; ro: "cm.ro"; rp: "cm.rp"; rq: "cm.rq"; rr: "cm.rr"; rs: "cm.rs"; rt: "cm.rt"; ru: "cm.ru"; rv: "cm.rv"; rw: "cm.rw"; rx: "cm.rx"; ry: "cm.ry"; rz: "cm.rz"; sa: "cm.sa"; sb: "cm.sb"; sc: "cm.sc"; sd: "cm.sd"; se: "cm.se"; sf: "cm.sf"; sg: "cm.sg"; sh: "cm.sh"; si: "cm.si"; sj: "cm.sj"; sk: "cm.sk"; sl: "cm.sl"; sm: "cm.sm"; sn: "cm.sn"; so: "cm.so"; sp: "cm.sp"; sq: "cm.sq"; sr: "cm.sr"; ss: "cm.ss"; st: "cm.st"; su: "cm.su"; sv: "cm.sv"; sw: "cm.sw"; sx: "cm.sx"; sy: "cm.sy"; sz: "cm.sz"; ta: "cm.ta"; tb: "cm.tb"; tc: "cm.tc"; td: "cm.td"; te: "cm.te"; tf: "cm.tf"; tg: "cm.tg"; th: "cm.th"; ti: "cm.ti"; tj: "cm.tj"; tk: "cm.tk"; tl: "cm.tl"; tm: "cm.tm"; tn: "cm.tn"; to: "cm.to"; tp: "cm.tp"; tq: "cm.tq"; tr: "cm.tr"; ts: "cm.ts"; tt: "cm.tt"; tu: "cm.tu"; tv: "cm.tv"; tw: "cm.tw"; tx: "cm.tx"; ty: "cm.ty"; tz: "cm.tz"; ua: "cm.ua"; ub: "cm.ub"; uc: "cm.uc"; ud: "cm.ud"; ue: "cm.ue"; uf: "cm.uf"; ug: "cm.ug"; uh: "cm.uh"; ui: "cm.ui"; uj: "cm.uj"; uk: "cm.uk"; ul: "cm.ul"; um: "cm.um"; un: "cm.un"; uo: "cm.uo"; up: "cm.up"; uq: "cm.uq"; ur: "cm.ur"; us: "cm.us"; ut: "cm.ut"; uu: "cm.uu"; uv: "cm.uv"; uw: "cm.uw"; ux: "cm.ux"; uy: "cm.uy"; uz: "cm.uz"; va: "cm.va"; vb: "cm.vb"; vc: "cm.vc"; vd: "cm.vd"; ve: "cm.ve"; vf: "cm.vf"; vg: "cm.vg"; vh: "cm.vh"; vi: "cm.vi"; vj: "cm.vj"; vk: "cm.vk"; vl: "cm.vl"; vm: "cm.vm"; vn: "cm.vn"; vo: "cm.vo"; vp: "cm.vp"; vq: "cm.vq"; vr: "cm.vr"; vs: "cm.vs"; vt: "cm.vt"; vu: "cm.vu"; vv: "cm.vv"; vw: "cm.vw"; vx: "cm.vx"; vy: "cm.vy"; vz: "cm.vz"; wa: "cm.wa"; wb: "cm.wb"; wc: "cm.wc"; wd: "cm.wd"; we: "cm.we"; wf: "cm.wf"; wg: "cm.wg"; wh: "cm.wh"; wi: "cm.wi"; wj: "cm.wj"; wk: "cm.wk"; wl: "cm.wl"; wm: "cm.wm"; wn: "cm.wn"; wo: "cm.wo"; wp: "cm.wp"; wq: "cm.wq"; wr: "cm.wr"; ws: "cm.ws"; wt: "cm.wt"; wu: "cm.wu"; wv: "cm.wv"; ww: "cm.ww"; wx: "cm.wx"; wy: "cm.wy"; wz: "cm.wz"; xa: "cm.xa"; xb: "cm.xb"; xc: "cm.xc"; xd: "cm.xd"; xe: "cm.xe"; xf: "cm.xf"; xg: "cm.xg"; xh: "cm.xh"; xi: "cm.xi"; xj: "cm.xj"; xk: "cm.xk"; xl: "cm.xl"; xm: "cm.xm"; xn: "cm.xn"; xo: "cm.xo"; xp: "cm.xp"; xq: "cm.xq"; xr: "cm.xr"; xs: "cm.xs"; xt: "cm.xt"; xu: "cm.xu"; xv: "cm.xv"; xw: "cm.xw"; xx: "cm.xx"; xy: "cm.xy"; xz: "cm.xz"; ya: "cm.ya"; yb: "cm.yb"; yc: "cm.yc"; yd: "cm.yd"; ye: "cm.ye"; yf: "cm.yf"; yg: "cm.yg"; yh: "cm.yh"; yi: "cm.yi"; yj: "cm.yj"; yk: "cm.yk"; yl: "cm.yl"; ym: "cm.ym"; yn: "cm.yn"; yo: "cm.yo"; yp: "cm.yp"; yq: "cm.yq"; yr: "cm.yr"; ys: "cm.ys"; yt: "cm.yt"; yu: "cm.yu"; yv: "cm.yv"; yw: "cm.yw"; yx: "cm.yx"; yy: "cm.yy"; yz: "cm.yz"; za: "cm.za"; zb: "cm.zb"; zc: "cm.zc"; zd: "cm.zd"; ze: "cm.ze"; zf: "cm.zf"; zg: "cm.zg"; zh: "cm.zh"; zi: "cm.zi"; zj: "cm.zj"; zk: "cm.zk"; zl: "cm.zl"; zm: "cm.zm"; zn: "cm.zn"; zo: "cm.zo"; zp: "cm.zp"; zq: "cm.zq"; zr: "cm.zr"; zs: "cm.zs"; zt: "cm.zt"; zu: "cm.zu"; zv: "cm.zv"; zw: "cm.zw"; zx: "cm.zx"; zy: "cm.zy"; zz: "cm.zz"; }; cn: { aa: "cn.aa"; ab: "cn.ab"; ac: "cn.ac"; ad: "cn.ad"; ae: "cn.ae"; af: "cn.af"; ag: "cn.ag"; ah: "cn.ah"; ai: "cn.ai"; aj: "cn.aj"; ak: "cn.ak"; al: "cn.al"; am: "cn.am"; an: "cn.an"; ao: "cn.ao"; ap: "cn.ap"; aq: "cn.aq"; ar: "cn.ar"; as: "cn.as"; at: "cn.at"; au: "cn.au"; av: "cn.av"; aw: "cn.aw"; ax: "cn.ax"; ay: "cn.ay"; az: "cn.az"; ba: "cn.ba"; bb: "cn.bb"; bc: "cn.bc"; bd: "cn.bd"; be: "cn.be"; bf: "cn.bf"; bg: "cn.bg"; bh: "cn.bh"; bi: "cn.bi"; bj: "cn.bj"; bk: "cn.bk"; bl: "cn.bl"; bm: "cn.bm"; bn: "cn.bn"; bo: "cn.bo"; bp: "cn.bp"; bq: "cn.bq"; br: "cn.br"; bs: "cn.bs"; bt: "cn.bt"; bu: "cn.bu"; bv: "cn.bv"; bw: "cn.bw"; bx: "cn.bx"; by: "cn.by"; bz: "cn.bz"; ca: "cn.ca"; cb: "cn.cb"; cc: "cn.cc"; cd: "cn.cd"; ce: "cn.ce"; cf: "cn.cf"; cg: "cn.cg"; ch: "cn.ch"; ci: "cn.ci"; cj: "cn.cj"; ck: "cn.ck"; cl: "cn.cl"; cm: "cn.cm"; cn: "cn.cn"; co: "cn.co"; cp: "cn.cp"; cq: "cn.cq"; cr: "cn.cr"; cs: "cn.cs"; ct: "cn.ct"; cu: "cn.cu"; cv: "cn.cv"; cw: "cn.cw"; cx: "cn.cx"; cy: "cn.cy"; cz: "cn.cz"; da: "cn.da"; db: "cn.db"; dc: "cn.dc"; dd: "cn.dd"; de: "cn.de"; df: "cn.df"; dg: "cn.dg"; dh: "cn.dh"; di: "cn.di"; dj: "cn.dj"; dk: "cn.dk"; dl: "cn.dl"; dm: "cn.dm"; dn: "cn.dn"; do: "cn.do"; dp: "cn.dp"; dq: "cn.dq"; dr: "cn.dr"; ds: "cn.ds"; dt: "cn.dt"; du: "cn.du"; dv: "cn.dv"; dw: "cn.dw"; dx: "cn.dx"; dy: "cn.dy"; dz: "cn.dz"; ea: "cn.ea"; eb: "cn.eb"; ec: "cn.ec"; ed: "cn.ed"; ee: "cn.ee"; ef: "cn.ef"; eg: "cn.eg"; eh: "cn.eh"; ei: "cn.ei"; ej: "cn.ej"; ek: "cn.ek"; el: "cn.el"; em: "cn.em"; en: "cn.en"; eo: "cn.eo"; ep: "cn.ep"; eq: "cn.eq"; er: "cn.er"; es: "cn.es"; et: "cn.et"; eu: "cn.eu"; ev: "cn.ev"; ew: "cn.ew"; ex: "cn.ex"; ey: "cn.ey"; ez: "cn.ez"; fa: "cn.fa"; fb: "cn.fb"; fc: "cn.fc"; fd: "cn.fd"; fe: "cn.fe"; ff: "cn.ff"; fg: "cn.fg"; fh: "cn.fh"; fi: "cn.fi"; fj: "cn.fj"; fk: "cn.fk"; fl: "cn.fl"; fm: "cn.fm"; fn: "cn.fn"; fo: "cn.fo"; fp: "cn.fp"; fq: "cn.fq"; fr: "cn.fr"; fs: "cn.fs"; ft: "cn.ft"; fu: "cn.fu"; fv: "cn.fv"; fw: "cn.fw"; fx: "cn.fx"; fy: "cn.fy"; fz: "cn.fz"; ga: "cn.ga"; gb: "cn.gb"; gc: "cn.gc"; gd: "cn.gd"; ge: "cn.ge"; gf: "cn.gf"; gg: "cn.gg"; gh: "cn.gh"; gi: "cn.gi"; gj: "cn.gj"; gk: "cn.gk"; gl: "cn.gl"; gm: "cn.gm"; gn: "cn.gn"; go: "cn.go"; gp: "cn.gp"; gq: "cn.gq"; gr: "cn.gr"; gs: "cn.gs"; gt: "cn.gt"; gu: "cn.gu"; gv: "cn.gv"; gw: "cn.gw"; gx: "cn.gx"; gy: "cn.gy"; gz: "cn.gz"; ha: "cn.ha"; hb: "cn.hb"; hc: "cn.hc"; hd: "cn.hd"; he: "cn.he"; hf: "cn.hf"; hg: "cn.hg"; hh: "cn.hh"; hi: "cn.hi"; hj: "cn.hj"; hk: "cn.hk"; hl: "cn.hl"; hm: "cn.hm"; hn: "cn.hn"; ho: "cn.ho"; hp: "cn.hp"; hq: "cn.hq"; hr: "cn.hr"; hs: "cn.hs"; ht: "cn.ht"; hu: "cn.hu"; hv: "cn.hv"; hw: "cn.hw"; hx: "cn.hx"; hy: "cn.hy"; hz: "cn.hz"; ia: "cn.ia"; ib: "cn.ib"; ic: "cn.ic"; id: "cn.id"; ie: "cn.ie"; if: "cn.if"; ig: "cn.ig"; ih: "cn.ih"; ii: "cn.ii"; ij: "cn.ij"; ik: "cn.ik"; il: "cn.il"; im: "cn.im"; in: "cn.in"; io: "cn.io"; ip: "cn.ip"; iq: "cn.iq"; ir: "cn.ir"; is: "cn.is"; it: "cn.it"; iu: "cn.iu"; iv: "cn.iv"; iw: "cn.iw"; ix: "cn.ix"; iy: "cn.iy"; iz: "cn.iz"; ja: "cn.ja"; jb: "cn.jb"; jc: "cn.jc"; jd: "cn.jd"; je: "cn.je"; jf: "cn.jf"; jg: "cn.jg"; jh: "cn.jh"; ji: "cn.ji"; jj: "cn.jj"; jk: "cn.jk"; jl: "cn.jl"; jm: "cn.jm"; jn: "cn.jn"; jo: "cn.jo"; jp: "cn.jp"; jq: "cn.jq"; jr: "cn.jr"; js: "cn.js"; jt: "cn.jt"; ju: "cn.ju"; jv: "cn.jv"; jw: "cn.jw"; jx: "cn.jx"; jy: "cn.jy"; jz: "cn.jz"; ka: "cn.ka"; kb: "cn.kb"; kc: "cn.kc"; kd: "cn.kd"; ke: "cn.ke"; kf: "cn.kf"; kg: "cn.kg"; kh: "cn.kh"; ki: "cn.ki"; kj: "cn.kj"; kk: "cn.kk"; kl: "cn.kl"; km: "cn.km"; kn: "cn.kn"; ko: "cn.ko"; kp: "cn.kp"; kq: "cn.kq"; kr: "cn.kr"; ks: "cn.ks"; kt: "cn.kt"; ku: "cn.ku"; kv: "cn.kv"; kw: "cn.kw"; kx: "cn.kx"; ky: "cn.ky"; kz: "cn.kz"; la: "cn.la"; lb: "cn.lb"; lc: "cn.lc"; ld: "cn.ld"; le: "cn.le"; lf: "cn.lf"; lg: "cn.lg"; lh: "cn.lh"; li: "cn.li"; lj: "cn.lj"; lk: "cn.lk"; ll: "cn.ll"; lm: "cn.lm"; ln: "cn.ln"; lo: "cn.lo"; lp: "cn.lp"; lq: "cn.lq"; lr: "cn.lr"; ls: "cn.ls"; lt: "cn.lt"; lu: "cn.lu"; lv: "cn.lv"; lw: "cn.lw"; lx: "cn.lx"; ly: "cn.ly"; lz: "cn.lz"; ma: "cn.ma"; mb: "cn.mb"; mc: "cn.mc"; md: "cn.md"; me: "cn.me"; mf: "cn.mf"; mg: "cn.mg"; mh: "cn.mh"; mi: "cn.mi"; mj: "cn.mj"; mk: "cn.mk"; ml: "cn.ml"; mm: "cn.mm"; mn: "cn.mn"; mo: "cn.mo"; mp: "cn.mp"; mq: "cn.mq"; mr: "cn.mr"; ms: "cn.ms"; mt: "cn.mt"; mu: "cn.mu"; mv: "cn.mv"; mw: "cn.mw"; mx: "cn.mx"; my: "cn.my"; mz: "cn.mz"; na: "cn.na"; nb: "cn.nb"; nc: "cn.nc"; nd: "cn.nd"; ne: "cn.ne"; nf: "cn.nf"; ng: "cn.ng"; nh: "cn.nh"; ni: "cn.ni"; nj: "cn.nj"; nk: "cn.nk"; nl: "cn.nl"; nm: "cn.nm"; nn: "cn.nn"; no: "cn.no"; np: "cn.np"; nq: "cn.nq"; nr: "cn.nr"; ns: "cn.ns"; nt: "cn.nt"; nu: "cn.nu"; nv: "cn.nv"; nw: "cn.nw"; nx: "cn.nx"; ny: "cn.ny"; nz: "cn.nz"; oa: "cn.oa"; ob: "cn.ob"; oc: "cn.oc"; od: "cn.od"; oe: "cn.oe"; of: "cn.of"; og: "cn.og"; oh: "cn.oh"; oi: "cn.oi"; oj: "cn.oj"; ok: "cn.ok"; ol: "cn.ol"; om: "cn.om"; on: "cn.on"; oo: "cn.oo"; op: "cn.op"; oq: "cn.oq"; or: "cn.or"; os: "cn.os"; ot: "cn.ot"; ou: "cn.ou"; ov: "cn.ov"; ow: "cn.ow"; ox: "cn.ox"; oy: "cn.oy"; oz: "cn.oz"; pa: "cn.pa"; pb: "cn.pb"; pc: "cn.pc"; pd: "cn.pd"; pe: "cn.pe"; pf: "cn.pf"; pg: "cn.pg"; ph: "cn.ph"; pi: "cn.pi"; pj: "cn.pj"; pk: "cn.pk"; pl: "cn.pl"; pm: "cn.pm"; pn: "cn.pn"; po: "cn.po"; pp: "cn.pp"; pq: "cn.pq"; pr: "cn.pr"; ps: "cn.ps"; pt: "cn.pt"; pu: "cn.pu"; pv: "cn.pv"; pw: "cn.pw"; px: "cn.px"; py: "cn.py"; pz: "cn.pz"; qa: "cn.qa"; qb: "cn.qb"; qc: "cn.qc"; qd: "cn.qd"; qe: "cn.qe"; qf: "cn.qf"; qg: "cn.qg"; qh: "cn.qh"; qi: "cn.qi"; qj: "cn.qj"; qk: "cn.qk"; ql: "cn.ql"; qm: "cn.qm"; qn: "cn.qn"; qo: "cn.qo"; qp: "cn.qp"; qq: "cn.qq"; qr: "cn.qr"; qs: "cn.qs"; qt: "cn.qt"; qu: "cn.qu"; qv: "cn.qv"; qw: "cn.qw"; qx: "cn.qx"; qy: "cn.qy"; qz: "cn.qz"; ra: "cn.ra"; rb: "cn.rb"; rc: "cn.rc"; rd: "cn.rd"; re: "cn.re"; rf: "cn.rf"; rg: "cn.rg"; rh: "cn.rh"; ri: "cn.ri"; rj: "cn.rj"; rk: "cn.rk"; rl: "cn.rl"; rm: "cn.rm"; rn: "cn.rn"; ro: "cn.ro"; rp: "cn.rp"; rq: "cn.rq"; rr: "cn.rr"; rs: "cn.rs"; rt: "cn.rt"; ru: "cn.ru"; rv: "cn.rv"; rw: "cn.rw"; rx: "cn.rx"; ry: "cn.ry"; rz: "cn.rz"; sa: "cn.sa"; sb: "cn.sb"; sc: "cn.sc"; sd: "cn.sd"; se: "cn.se"; sf: "cn.sf"; sg: "cn.sg"; sh: "cn.sh"; si: "cn.si"; sj: "cn.sj"; sk: "cn.sk"; sl: "cn.sl"; sm: "cn.sm"; sn: "cn.sn"; so: "cn.so"; sp: "cn.sp"; sq: "cn.sq"; sr: "cn.sr"; ss: "cn.ss"; st: "cn.st"; su: "cn.su"; sv: "cn.sv"; sw: "cn.sw"; sx: "cn.sx"; sy: "cn.sy"; sz: "cn.sz"; ta: "cn.ta"; tb: "cn.tb"; tc: "cn.tc"; td: "cn.td"; te: "cn.te"; tf: "cn.tf"; tg: "cn.tg"; th: "cn.th"; ti: "cn.ti"; tj: "cn.tj"; tk: "cn.tk"; tl: "cn.tl"; tm: "cn.tm"; tn: "cn.tn"; to: "cn.to"; tp: "cn.tp"; tq: "cn.tq"; tr: "cn.tr"; ts: "cn.ts"; tt: "cn.tt"; tu: "cn.tu"; tv: "cn.tv"; tw: "cn.tw"; tx: "cn.tx"; ty: "cn.ty"; tz: "cn.tz"; ua: "cn.ua"; ub: "cn.ub"; uc: "cn.uc"; ud: "cn.ud"; ue: "cn.ue"; uf: "cn.uf"; ug: "cn.ug"; uh: "cn.uh"; ui: "cn.ui"; uj: "cn.uj"; uk: "cn.uk"; ul: "cn.ul"; um: "cn.um"; un: "cn.un"; uo: "cn.uo"; up: "cn.up"; uq: "cn.uq"; ur: "cn.ur"; us: "cn.us"; ut: "cn.ut"; uu: "cn.uu"; uv: "cn.uv"; uw: "cn.uw"; ux: "cn.ux"; uy: "cn.uy"; uz: "cn.uz"; va: "cn.va"; vb: "cn.vb"; vc: "cn.vc"; vd: "cn.vd"; ve: "cn.ve"; vf: "cn.vf"; vg: "cn.vg"; vh: "cn.vh"; vi: "cn.vi"; vj: "cn.vj"; vk: "cn.vk"; vl: "cn.vl"; vm: "cn.vm"; vn: "cn.vn"; vo: "cn.vo"; vp: "cn.vp"; vq: "cn.vq"; vr: "cn.vr"; vs: "cn.vs"; vt: "cn.vt"; vu: "cn.vu"; vv: "cn.vv"; vw: "cn.vw"; vx: "cn.vx"; vy: "cn.vy"; vz: "cn.vz"; wa: "cn.wa"; wb: "cn.wb"; wc: "cn.wc"; wd: "cn.wd"; we: "cn.we"; wf: "cn.wf"; wg: "cn.wg"; wh: "cn.wh"; wi: "cn.wi"; wj: "cn.wj"; wk: "cn.wk"; wl: "cn.wl"; wm: "cn.wm"; wn: "cn.wn"; wo: "cn.wo"; wp: "cn.wp"; wq: "cn.wq"; wr: "cn.wr"; ws: "cn.ws"; wt: "cn.wt"; wu: "cn.wu"; wv: "cn.wv"; ww: "cn.ww"; wx: "cn.wx"; wy: "cn.wy"; wz: "cn.wz"; xa: "cn.xa"; xb: "cn.xb"; xc: "cn.xc"; xd: "cn.xd"; xe: "cn.xe"; xf: "cn.xf"; xg: "cn.xg"; xh: "cn.xh"; xi: "cn.xi"; xj: "cn.xj"; xk: "cn.xk"; xl: "cn.xl"; xm: "cn.xm"; xn: "cn.xn"; xo: "cn.xo"; xp: "cn.xp"; xq: "cn.xq"; xr: "cn.xr"; xs: "cn.xs"; xt: "cn.xt"; xu: "cn.xu"; xv: "cn.xv"; xw: "cn.xw"; xx: "cn.xx"; xy: "cn.xy"; xz: "cn.xz"; ya: "cn.ya"; yb: "cn.yb"; yc: "cn.yc"; yd: "cn.yd"; ye: "cn.ye"; yf: "cn.yf"; yg: "cn.yg"; yh: "cn.yh"; yi: "cn.yi"; yj: "cn.yj"; yk: "cn.yk"; yl: "cn.yl"; ym: "cn.ym"; yn: "cn.yn"; yo: "cn.yo"; yp: "cn.yp"; yq: "cn.yq"; yr: "cn.yr"; ys: "cn.ys"; yt: "cn.yt"; yu: "cn.yu"; yv: "cn.yv"; yw: "cn.yw"; yx: "cn.yx"; yy: "cn.yy"; yz: "cn.yz"; za: "cn.za"; zb: "cn.zb"; zc: "cn.zc"; zd: "cn.zd"; ze: "cn.ze"; zf: "cn.zf"; zg: "cn.zg"; zh: "cn.zh"; zi: "cn.zi"; zj: "cn.zj"; zk: "cn.zk"; zl: "cn.zl"; zm: "cn.zm"; zn: "cn.zn"; zo: "cn.zo"; zp: "cn.zp"; zq: "cn.zq"; zr: "cn.zr"; zs: "cn.zs"; zt: "cn.zt"; zu: "cn.zu"; zv: "cn.zv"; zw: "cn.zw"; zx: "cn.zx"; zy: "cn.zy"; zz: "cn.zz"; }; co: { aa: "co.aa"; ab: "co.ab"; ac: "co.ac"; ad: "co.ad"; ae: "co.ae"; af: "co.af"; ag: "co.ag"; ah: "co.ah"; ai: "co.ai"; aj: "co.aj"; ak: "co.ak"; al: "co.al"; am: "co.am"; an: "co.an"; ao: "co.ao"; ap: "co.ap"; aq: "co.aq"; ar: "co.ar"; as: "co.as"; at: "co.at"; au: "co.au"; av: "co.av"; aw: "co.aw"; ax: "co.ax"; ay: "co.ay"; az: "co.az"; ba: "co.ba"; bb: "co.bb"; bc: "co.bc"; bd: "co.bd"; be: "co.be"; bf: "co.bf"; bg: "co.bg"; bh: "co.bh"; bi: "co.bi"; bj: "co.bj"; bk: "co.bk"; bl: "co.bl"; bm: "co.bm"; bn: "co.bn"; bo: "co.bo"; bp: "co.bp"; bq: "co.bq"; br: "co.br"; bs: "co.bs"; bt: "co.bt"; bu: "co.bu"; bv: "co.bv"; bw: "co.bw"; bx: "co.bx"; by: "co.by"; bz: "co.bz"; ca: "co.ca"; cb: "co.cb"; cc: "co.cc"; cd: "co.cd"; ce: "co.ce"; cf: "co.cf"; cg: "co.cg"; ch: "co.ch"; ci: "co.ci"; cj: "co.cj"; ck: "co.ck"; cl: "co.cl"; cm: "co.cm"; cn: "co.cn"; co: "co.co"; cp: "co.cp"; cq: "co.cq"; cr: "co.cr"; cs: "co.cs"; ct: "co.ct"; cu: "co.cu"; cv: "co.cv"; cw: "co.cw"; cx: "co.cx"; cy: "co.cy"; cz: "co.cz"; da: "co.da"; db: "co.db"; dc: "co.dc"; dd: "co.dd"; de: "co.de"; df: "co.df"; dg: "co.dg"; dh: "co.dh"; di: "co.di"; dj: "co.dj"; dk: "co.dk"; dl: "co.dl"; dm: "co.dm"; dn: "co.dn"; do: "co.do"; dp: "co.dp"; dq: "co.dq"; dr: "co.dr"; ds: "co.ds"; dt: "co.dt"; du: "co.du"; dv: "co.dv"; dw: "co.dw"; dx: "co.dx"; dy: "co.dy"; dz: "co.dz"; ea: "co.ea"; eb: "co.eb"; ec: "co.ec"; ed: "co.ed"; ee: "co.ee"; ef: "co.ef"; eg: "co.eg"; eh: "co.eh"; ei: "co.ei"; ej: "co.ej"; ek: "co.ek"; el: "co.el"; em: "co.em"; en: "co.en"; eo: "co.eo"; ep: "co.ep"; eq: "co.eq"; er: "co.er"; es: "co.es"; et: "co.et"; eu: "co.eu"; ev: "co.ev"; ew: "co.ew"; ex: "co.ex"; ey: "co.ey"; ez: "co.ez"; fa: "co.fa"; fb: "co.fb"; fc: "co.fc"; fd: "co.fd"; fe: "co.fe"; ff: "co.ff"; fg: "co.fg"; fh: "co.fh"; fi: "co.fi"; fj: "co.fj"; fk: "co.fk"; fl: "co.fl"; fm: "co.fm"; fn: "co.fn"; fo: "co.fo"; fp: "co.fp"; fq: "co.fq"; fr: "co.fr"; fs: "co.fs"; ft: "co.ft"; fu: "co.fu"; fv: "co.fv"; fw: "co.fw"; fx: "co.fx"; fy: "co.fy"; fz: "co.fz"; ga: "co.ga"; gb: "co.gb"; gc: "co.gc"; gd: "co.gd"; ge: "co.ge"; gf: "co.gf"; gg: "co.gg"; gh: "co.gh"; gi: "co.gi"; gj: "co.gj"; gk: "co.gk"; gl: "co.gl"; gm: "co.gm"; gn: "co.gn"; go: "co.go"; gp: "co.gp"; gq: "co.gq"; gr: "co.gr"; gs: "co.gs"; gt: "co.gt"; gu: "co.gu"; gv: "co.gv"; gw: "co.gw"; gx: "co.gx"; gy: "co.gy"; gz: "co.gz"; ha: "co.ha"; hb: "co.hb"; hc: "co.hc"; hd: "co.hd"; he: "co.he"; hf: "co.hf"; hg: "co.hg"; hh: "co.hh"; hi: "co.hi"; hj: "co.hj"; hk: "co.hk"; hl: "co.hl"; hm: "co.hm"; hn: "co.hn"; ho: "co.ho"; hp: "co.hp"; hq: "co.hq"; hr: "co.hr"; hs: "co.hs"; ht: "co.ht"; hu: "co.hu"; hv: "co.hv"; hw: "co.hw"; hx: "co.hx"; hy: "co.hy"; hz: "co.hz"; ia: "co.ia"; ib: "co.ib"; ic: "co.ic"; id: "co.id"; ie: "co.ie"; if: "co.if"; ig: "co.ig"; ih: "co.ih"; ii: "co.ii"; ij: "co.ij"; ik: "co.ik"; il: "co.il"; im: "co.im"; in: "co.in"; io: "co.io"; ip: "co.ip"; iq: "co.iq"; ir: "co.ir"; is: "co.is"; it: "co.it"; iu: "co.iu"; iv: "co.iv"; iw: "co.iw"; ix: "co.ix"; iy: "co.iy"; iz: "co.iz"; ja: "co.ja"; jb: "co.jb"; jc: "co.jc"; jd: "co.jd"; je: "co.je"; jf: "co.jf"; jg: "co.jg"; jh: "co.jh"; ji: "co.ji"; jj: "co.jj"; jk: "co.jk"; jl: "co.jl"; jm: "co.jm"; jn: "co.jn"; jo: "co.jo"; jp: "co.jp"; jq: "co.jq"; jr: "co.jr"; js: "co.js"; jt: "co.jt"; ju: "co.ju"; jv: "co.jv"; jw: "co.jw"; jx: "co.jx"; jy: "co.jy"; jz: "co.jz"; ka: "co.ka"; kb: "co.kb"; kc: "co.kc"; kd: "co.kd"; ke: "co.ke"; kf: "co.kf"; kg: "co.kg"; kh: "co.kh"; ki: "co.ki"; kj: "co.kj"; kk: "co.kk"; kl: "co.kl"; km: "co.km"; kn: "co.kn"; ko: "co.ko"; kp: "co.kp"; kq: "co.kq"; kr: "co.kr"; ks: "co.ks"; kt: "co.kt"; ku: "co.ku"; kv: "co.kv"; kw: "co.kw"; kx: "co.kx"; ky: "co.ky"; kz: "co.kz"; la: "co.la"; lb: "co.lb"; lc: "co.lc"; ld: "co.ld"; le: "co.le"; lf: "co.lf"; lg: "co.lg"; lh: "co.lh"; li: "co.li"; lj: "co.lj"; lk: "co.lk"; ll: "co.ll"; lm: "co.lm"; ln: "co.ln"; lo: "co.lo"; lp: "co.lp"; lq: "co.lq"; lr: "co.lr"; ls: "co.ls"; lt: "co.lt"; lu: "co.lu"; lv: "co.lv"; lw: "co.lw"; lx: "co.lx"; ly: "co.ly"; lz: "co.lz"; ma: "co.ma"; mb: "co.mb"; mc: "co.mc"; md: "co.md"; me: "co.me"; mf: "co.mf"; mg: "co.mg"; mh: "co.mh"; mi: "co.mi"; mj: "co.mj"; mk: "co.mk"; ml: "co.ml"; mm: "co.mm"; mn: "co.mn"; mo: "co.mo"; mp: "co.mp"; mq: "co.mq"; mr: "co.mr"; ms: "co.ms"; mt: "co.mt"; mu: "co.mu"; mv: "co.mv"; mw: "co.mw"; mx: "co.mx"; my: "co.my"; mz: "co.mz"; na: "co.na"; nb: "co.nb"; nc: "co.nc"; nd: "co.nd"; ne: "co.ne"; nf: "co.nf"; ng: "co.ng"; nh: "co.nh"; ni: "co.ni"; nj: "co.nj"; nk: "co.nk"; nl: "co.nl"; nm: "co.nm"; nn: "co.nn"; no: "co.no"; np: "co.np"; nq: "co.nq"; nr: "co.nr"; ns: "co.ns"; nt: "co.nt"; nu: "co.nu"; nv: "co.nv"; nw: "co.nw"; nx: "co.nx"; ny: "co.ny"; nz: "co.nz"; oa: "co.oa"; ob: "co.ob"; oc: "co.oc"; od: "co.od"; oe: "co.oe"; of: "co.of"; og: "co.og"; oh: "co.oh"; oi: "co.oi"; oj: "co.oj"; ok: "co.ok"; ol: "co.ol"; om: "co.om"; on: "co.on"; oo: "co.oo"; op: "co.op"; oq: "co.oq"; or: "co.or"; os: "co.os"; ot: "co.ot"; ou: "co.ou"; ov: "co.ov"; ow: "co.ow"; ox: "co.ox"; oy: "co.oy"; oz: "co.oz"; pa: "co.pa"; pb: "co.pb"; pc: "co.pc"; pd: "co.pd"; pe: "co.pe"; pf: "co.pf"; pg: "co.pg"; ph: "co.ph"; pi: "co.pi"; pj: "co.pj"; pk: "co.pk"; pl: "co.pl"; pm: "co.pm"; pn: "co.pn"; po: "co.po"; pp: "co.pp"; pq: "co.pq"; pr: "co.pr"; ps: "co.ps"; pt: "co.pt"; pu: "co.pu"; pv: "co.pv"; pw: "co.pw"; px: "co.px"; py: "co.py"; pz: "co.pz"; qa: "co.qa"; qb: "co.qb"; qc: "co.qc"; qd: "co.qd"; qe: "co.qe"; qf: "co.qf"; qg: "co.qg"; qh: "co.qh"; qi: "co.qi"; qj: "co.qj"; qk: "co.qk"; ql: "co.ql"; qm: "co.qm"; qn: "co.qn"; qo: "co.qo"; qp: "co.qp"; qq: "co.qq"; qr: "co.qr"; qs: "co.qs"; qt: "co.qt"; qu: "co.qu"; qv: "co.qv"; qw: "co.qw"; qx: "co.qx"; qy: "co.qy"; qz: "co.qz"; ra: "co.ra"; rb: "co.rb"; rc: "co.rc"; rd: "co.rd"; re: "co.re"; rf: "co.rf"; rg: "co.rg"; rh: "co.rh"; ri: "co.ri"; rj: "co.rj"; rk: "co.rk"; rl: "co.rl"; rm: "co.rm"; rn: "co.rn"; ro: "co.ro"; rp: "co.rp"; rq: "co.rq"; rr: "co.rr"; rs: "co.rs"; rt: "co.rt"; ru: "co.ru"; rv: "co.rv"; rw: "co.rw"; rx: "co.rx"; ry: "co.ry"; rz: "co.rz"; sa: "co.sa"; sb: "co.sb"; sc: "co.sc"; sd: "co.sd"; se: "co.se"; sf: "co.sf"; sg: "co.sg"; sh: "co.sh"; si: "co.si"; sj: "co.sj"; sk: "co.sk"; sl: "co.sl"; sm: "co.sm"; sn: "co.sn"; so: "co.so"; sp: "co.sp"; sq: "co.sq"; sr: "co.sr"; ss: "co.ss"; st: "co.st"; su: "co.su"; sv: "co.sv"; sw: "co.sw"; sx: "co.sx"; sy: "co.sy"; sz: "co.sz"; ta: "co.ta"; tb: "co.tb"; tc: "co.tc"; td: "co.td"; te: "co.te"; tf: "co.tf"; tg: "co.tg"; th: "co.th"; ti: "co.ti"; tj: "co.tj"; tk: "co.tk"; tl: "co.tl"; tm: "co.tm"; tn: "co.tn"; to: "co.to"; tp: "co.tp"; tq: "co.tq"; tr: "co.tr"; ts: "co.ts"; tt: "co.tt"; tu: "co.tu"; tv: "co.tv"; tw: "co.tw"; tx: "co.tx"; ty: "co.ty"; tz: "co.tz"; ua: "co.ua"; ub: "co.ub"; uc: "co.uc"; ud: "co.ud"; ue: "co.ue"; uf: "co.uf"; ug: "co.ug"; uh: "co.uh"; ui: "co.ui"; uj: "co.uj"; uk: "co.uk"; ul: "co.ul"; um: "co.um"; un: "co.un"; uo: "co.uo"; up: "co.up"; uq: "co.uq"; ur: "co.ur"; us: "co.us"; ut: "co.ut"; uu: "co.uu"; uv: "co.uv"; uw: "co.uw"; ux: "co.ux"; uy: "co.uy"; uz: "co.uz"; va: "co.va"; vb: "co.vb"; vc: "co.vc"; vd: "co.vd"; ve: "co.ve"; vf: "co.vf"; vg: "co.vg"; vh: "co.vh"; vi: "co.vi"; vj: "co.vj"; vk: "co.vk"; vl: "co.vl"; vm: "co.vm"; vn: "co.vn"; vo: "co.vo"; vp: "co.vp"; vq: "co.vq"; vr: "co.vr"; vs: "co.vs"; vt: "co.vt"; vu: "co.vu"; vv: "co.vv"; vw: "co.vw"; vx: "co.vx"; vy: "co.vy"; vz: "co.vz"; wa: "co.wa"; wb: "co.wb"; wc: "co.wc"; wd: "co.wd"; we: "co.we"; wf: "co.wf"; wg: "co.wg"; wh: "co.wh"; wi: "co.wi"; wj: "co.wj"; wk: "co.wk"; wl: "co.wl"; wm: "co.wm"; wn: "co.wn"; wo: "co.wo"; wp: "co.wp"; wq: "co.wq"; wr: "co.wr"; ws: "co.ws"; wt: "co.wt"; wu: "co.wu"; wv: "co.wv"; ww: "co.ww"; wx: "co.wx"; wy: "co.wy"; wz: "co.wz"; xa: "co.xa"; xb: "co.xb"; xc: "co.xc"; xd: "co.xd"; xe: "co.xe"; xf: "co.xf"; xg: "co.xg"; xh: "co.xh"; xi: "co.xi"; xj: "co.xj"; xk: "co.xk"; xl: "co.xl"; xm: "co.xm"; xn: "co.xn"; xo: "co.xo"; xp: "co.xp"; xq: "co.xq"; xr: "co.xr"; xs: "co.xs"; xt: "co.xt"; xu: "co.xu"; xv: "co.xv"; xw: "co.xw"; xx: "co.xx"; xy: "co.xy"; xz: "co.xz"; ya: "co.ya"; yb: "co.yb"; yc: "co.yc"; yd: "co.yd"; ye: "co.ye"; yf: "co.yf"; yg: "co.yg"; yh: "co.yh"; yi: "co.yi"; yj: "co.yj"; yk: "co.yk"; yl: "co.yl"; ym: "co.ym"; yn: "co.yn"; yo: "co.yo"; yp: "co.yp"; yq: "co.yq"; yr: "co.yr"; ys: "co.ys"; yt: "co.yt"; yu: "co.yu"; yv: "co.yv"; yw: "co.yw"; yx: "co.yx"; yy: "co.yy"; yz: "co.yz"; za: "co.za"; zb: "co.zb"; zc: "co.zc"; zd: "co.zd"; ze: "co.ze"; zf: "co.zf"; zg: "co.zg"; zh: "co.zh"; zi: "co.zi"; zj: "co.zj"; zk: "co.zk"; zl: "co.zl"; zm: "co.zm"; zn: "co.zn"; zo: "co.zo"; zp: "co.zp"; zq: "co.zq"; zr: "co.zr"; zs: "co.zs"; zt: "co.zt"; zu: "co.zu"; zv: "co.zv"; zw: "co.zw"; zx: "co.zx"; zy: "co.zy"; zz: "co.zz"; }; cp: { aa: "cp.aa"; ab: "cp.ab"; ac: "cp.ac"; ad: "cp.ad"; ae: "cp.ae"; af: "cp.af"; ag: "cp.ag"; ah: "cp.ah"; ai: "cp.ai"; aj: "cp.aj"; ak: "cp.ak"; al: "cp.al"; am: "cp.am"; an: "cp.an"; ao: "cp.ao"; ap: "cp.ap"; aq: "cp.aq"; ar: "cp.ar"; as: "cp.as"; at: "cp.at"; au: "cp.au"; av: "cp.av"; aw: "cp.aw"; ax: "cp.ax"; ay: "cp.ay"; az: "cp.az"; ba: "cp.ba"; bb: "cp.bb"; bc: "cp.bc"; bd: "cp.bd"; be: "cp.be"; bf: "cp.bf"; bg: "cp.bg"; bh: "cp.bh"; bi: "cp.bi"; bj: "cp.bj"; bk: "cp.bk"; bl: "cp.bl"; bm: "cp.bm"; bn: "cp.bn"; bo: "cp.bo"; bp: "cp.bp"; bq: "cp.bq"; br: "cp.br"; bs: "cp.bs"; bt: "cp.bt"; bu: "cp.bu"; bv: "cp.bv"; bw: "cp.bw"; bx: "cp.bx"; by: "cp.by"; bz: "cp.bz"; ca: "cp.ca"; cb: "cp.cb"; cc: "cp.cc"; cd: "cp.cd"; ce: "cp.ce"; cf: "cp.cf"; cg: "cp.cg"; ch: "cp.ch"; ci: "cp.ci"; cj: "cp.cj"; ck: "cp.ck"; cl: "cp.cl"; cm: "cp.cm"; cn: "cp.cn"; co: "cp.co"; cp: "cp.cp"; cq: "cp.cq"; cr: "cp.cr"; cs: "cp.cs"; ct: "cp.ct"; cu: "cp.cu"; cv: "cp.cv"; cw: "cp.cw"; cx: "cp.cx"; cy: "cp.cy"; cz: "cp.cz"; da: "cp.da"; db: "cp.db"; dc: "cp.dc"; dd: "cp.dd"; de: "cp.de"; df: "cp.df"; dg: "cp.dg"; dh: "cp.dh"; di: "cp.di"; dj: "cp.dj"; dk: "cp.dk"; dl: "cp.dl"; dm: "cp.dm"; dn: "cp.dn"; do: "cp.do"; dp: "cp.dp"; dq: "cp.dq"; dr: "cp.dr"; ds: "cp.ds"; dt: "cp.dt"; du: "cp.du"; dv: "cp.dv"; dw: "cp.dw"; dx: "cp.dx"; dy: "cp.dy"; dz: "cp.dz"; ea: "cp.ea"; eb: "cp.eb"; ec: "cp.ec"; ed: "cp.ed"; ee: "cp.ee"; ef: "cp.ef"; eg: "cp.eg"; eh: "cp.eh"; ei: "cp.ei"; ej: "cp.ej"; ek: "cp.ek"; el: "cp.el"; em: "cp.em"; en: "cp.en"; eo: "cp.eo"; ep: "cp.ep"; eq: "cp.eq"; er: "cp.er"; es: "cp.es"; et: "cp.et"; eu: "cp.eu"; ev: "cp.ev"; ew: "cp.ew"; ex: "cp.ex"; ey: "cp.ey"; ez: "cp.ez"; fa: "cp.fa"; fb: "cp.fb"; fc: "cp.fc"; fd: "cp.fd"; fe: "cp.fe"; ff: "cp.ff"; fg: "cp.fg"; fh: "cp.fh"; fi: "cp.fi"; fj: "cp.fj"; fk: "cp.fk"; fl: "cp.fl"; fm: "cp.fm"; fn: "cp.fn"; fo: "cp.fo"; fp: "cp.fp"; fq: "cp.fq"; fr: "cp.fr"; fs: "cp.fs"; ft: "cp.ft"; fu: "cp.fu"; fv: "cp.fv"; fw: "cp.fw"; fx: "cp.fx"; fy: "cp.fy"; fz: "cp.fz"; ga: "cp.ga"; gb: "cp.gb"; gc: "cp.gc"; gd: "cp.gd"; ge: "cp.ge"; gf: "cp.gf"; gg: "cp.gg"; gh: "cp.gh"; gi: "cp.gi"; gj: "cp.gj"; gk: "cp.gk"; gl: "cp.gl"; gm: "cp.gm"; gn: "cp.gn"; go: "cp.go"; gp: "cp.gp"; gq: "cp.gq"; gr: "cp.gr"; gs: "cp.gs"; gt: "cp.gt"; gu: "cp.gu"; gv: "cp.gv"; gw: "cp.gw"; gx: "cp.gx"; gy: "cp.gy"; gz: "cp.gz"; ha: "cp.ha"; hb: "cp.hb"; hc: "cp.hc"; hd: "cp.hd"; he: "cp.he"; hf: "cp.hf"; hg: "cp.hg"; hh: "cp.hh"; hi: "cp.hi"; hj: "cp.hj"; hk: "cp.hk"; hl: "cp.hl"; hm: "cp.hm"; hn: "cp.hn"; ho: "cp.ho"; hp: "cp.hp"; hq: "cp.hq"; hr: "cp.hr"; hs: "cp.hs"; ht: "cp.ht"; hu: "cp.hu"; hv: "cp.hv"; hw: "cp.hw"; hx: "cp.hx"; hy: "cp.hy"; hz: "cp.hz"; ia: "cp.ia"; ib: "cp.ib"; ic: "cp.ic"; id: "cp.id"; ie: "cp.ie"; if: "cp.if"; ig: "cp.ig"; ih: "cp.ih"; ii: "cp.ii"; ij: "cp.ij"; ik: "cp.ik"; il: "cp.il"; im: "cp.im"; in: "cp.in"; io: "cp.io"; ip: "cp.ip"; iq: "cp.iq"; ir: "cp.ir"; is: "cp.is"; it: "cp.it"; iu: "cp.iu"; iv: "cp.iv"; iw: "cp.iw"; ix: "cp.ix"; iy: "cp.iy"; iz: "cp.iz"; ja: "cp.ja"; jb: "cp.jb"; jc: "cp.jc"; jd: "cp.jd"; je: "cp.je"; jf: "cp.jf"; jg: "cp.jg"; jh: "cp.jh"; ji: "cp.ji"; jj: "cp.jj"; jk: "cp.jk"; jl: "cp.jl"; jm: "cp.jm"; jn: "cp.jn"; jo: "cp.jo"; jp: "cp.jp"; jq: "cp.jq"; jr: "cp.jr"; js: "cp.js"; jt: "cp.jt"; ju: "cp.ju"; jv: "cp.jv"; jw: "cp.jw"; jx: "cp.jx"; jy: "cp.jy"; jz: "cp.jz"; ka: "cp.ka"; kb: "cp.kb"; kc: "cp.kc"; kd: "cp.kd"; ke: "cp.ke"; kf: "cp.kf"; kg: "cp.kg"; kh: "cp.kh"; ki: "cp.ki"; kj: "cp.kj"; kk: "cp.kk"; kl: "cp.kl"; km: "cp.km"; kn: "cp.kn"; ko: "cp.ko"; kp: "cp.kp"; kq: "cp.kq"; kr: "cp.kr"; ks: "cp.ks"; kt: "cp.kt"; ku: "cp.ku"; kv: "cp.kv"; kw: "cp.kw"; kx: "cp.kx"; ky: "cp.ky"; kz: "cp.kz"; la: "cp.la"; lb: "cp.lb"; lc: "cp.lc"; ld: "cp.ld"; le: "cp.le"; lf: "cp.lf"; lg: "cp.lg"; lh: "cp.lh"; li: "cp.li"; lj: "cp.lj"; lk: "cp.lk"; ll: "cp.ll"; lm: "cp.lm"; ln: "cp.ln"; lo: "cp.lo"; lp: "cp.lp"; lq: "cp.lq"; lr: "cp.lr"; ls: "cp.ls"; lt: "cp.lt"; lu: "cp.lu"; lv: "cp.lv"; lw: "cp.lw"; lx: "cp.lx"; ly: "cp.ly"; lz: "cp.lz"; ma: "cp.ma"; mb: "cp.mb"; mc: "cp.mc"; md: "cp.md"; me: "cp.me"; mf: "cp.mf"; mg: "cp.mg"; mh: "cp.mh"; mi: "cp.mi"; mj: "cp.mj"; mk: "cp.mk"; ml: "cp.ml"; mm: "cp.mm"; mn: "cp.mn"; mo: "cp.mo"; mp: "cp.mp"; mq: "cp.mq"; mr: "cp.mr"; ms: "cp.ms"; mt: "cp.mt"; mu: "cp.mu"; mv: "cp.mv"; mw: "cp.mw"; mx: "cp.mx"; my: "cp.my"; mz: "cp.mz"; na: "cp.na"; nb: "cp.nb"; nc: "cp.nc"; nd: "cp.nd"; ne: "cp.ne"; nf: "cp.nf"; ng: "cp.ng"; nh: "cp.nh"; ni: "cp.ni"; nj: "cp.nj"; nk: "cp.nk"; nl: "cp.nl"; nm: "cp.nm"; nn: "cp.nn"; no: "cp.no"; np: "cp.np"; nq: "cp.nq"; nr: "cp.nr"; ns: "cp.ns"; nt: "cp.nt"; nu: "cp.nu"; nv: "cp.nv"; nw: "cp.nw"; nx: "cp.nx"; ny: "cp.ny"; nz: "cp.nz"; oa: "cp.oa"; ob: "cp.ob"; oc: "cp.oc"; od: "cp.od"; oe: "cp.oe"; of: "cp.of"; og: "cp.og"; oh: "cp.oh"; oi: "cp.oi"; oj: "cp.oj"; ok: "cp.ok"; ol: "cp.ol"; om: "cp.om"; on: "cp.on"; oo: "cp.oo"; op: "cp.op"; oq: "cp.oq"; or: "cp.or"; os: "cp.os"; ot: "cp.ot"; ou: "cp.ou"; ov: "cp.ov"; ow: "cp.ow"; ox: "cp.ox"; oy: "cp.oy"; oz: "cp.oz"; pa: "cp.pa"; pb: "cp.pb"; pc: "cp.pc"; pd: "cp.pd"; pe: "cp.pe"; pf: "cp.pf"; pg: "cp.pg"; ph: "cp.ph"; pi: "cp.pi"; pj: "cp.pj"; pk: "cp.pk"; pl: "cp.pl"; pm: "cp.pm"; pn: "cp.pn"; po: "cp.po"; pp: "cp.pp"; pq: "cp.pq"; pr: "cp.pr"; ps: "cp.ps"; pt: "cp.pt"; pu: "cp.pu"; pv: "cp.pv"; pw: "cp.pw"; px: "cp.px"; py: "cp.py"; pz: "cp.pz"; qa: "cp.qa"; qb: "cp.qb"; qc: "cp.qc"; qd: "cp.qd"; qe: "cp.qe"; qf: "cp.qf"; qg: "cp.qg"; qh: "cp.qh"; qi: "cp.qi"; qj: "cp.qj"; qk: "cp.qk"; ql: "cp.ql"; qm: "cp.qm"; qn: "cp.qn"; qo: "cp.qo"; qp: "cp.qp"; qq: "cp.qq"; qr: "cp.qr"; qs: "cp.qs"; qt: "cp.qt"; qu: "cp.qu"; qv: "cp.qv"; qw: "cp.qw"; qx: "cp.qx"; qy: "cp.qy"; qz: "cp.qz"; ra: "cp.ra"; rb: "cp.rb"; rc: "cp.rc"; rd: "cp.rd"; re: "cp.re"; rf: "cp.rf"; rg: "cp.rg"; rh: "cp.rh"; ri: "cp.ri"; rj: "cp.rj"; rk: "cp.rk"; rl: "cp.rl"; rm: "cp.rm"; rn: "cp.rn"; ro: "cp.ro"; rp: "cp.rp"; rq: "cp.rq"; rr: "cp.rr"; rs: "cp.rs"; rt: "cp.rt"; ru: "cp.ru"; rv: "cp.rv"; rw: "cp.rw"; rx: "cp.rx"; ry: "cp.ry"; rz: "cp.rz"; sa: "cp.sa"; sb: "cp.sb"; sc: "cp.sc"; sd: "cp.sd"; se: "cp.se"; sf: "cp.sf"; sg: "cp.sg"; sh: "cp.sh"; si: "cp.si"; sj: "cp.sj"; sk: "cp.sk"; sl: "cp.sl"; sm: "cp.sm"; sn: "cp.sn"; so: "cp.so"; sp: "cp.sp"; sq: "cp.sq"; sr: "cp.sr"; ss: "cp.ss"; st: "cp.st"; su: "cp.su"; sv: "cp.sv"; sw: "cp.sw"; sx: "cp.sx"; sy: "cp.sy"; sz: "cp.sz"; ta: "cp.ta"; tb: "cp.tb"; tc: "cp.tc"; td: "cp.td"; te: "cp.te"; tf: "cp.tf"; tg: "cp.tg"; th: "cp.th"; ti: "cp.ti"; tj: "cp.tj"; tk: "cp.tk"; tl: "cp.tl"; tm: "cp.tm"; tn: "cp.tn"; to: "cp.to"; tp: "cp.tp"; tq: "cp.tq"; tr: "cp.tr"; ts: "cp.ts"; tt: "cp.tt"; tu: "cp.tu"; tv: "cp.tv"; tw: "cp.tw"; tx: "cp.tx"; ty: "cp.ty"; tz: "cp.tz"; ua: "cp.ua"; ub: "cp.ub"; uc: "cp.uc"; ud: "cp.ud"; ue: "cp.ue"; uf: "cp.uf"; ug: "cp.ug"; uh: "cp.uh"; ui: "cp.ui"; uj: "cp.uj"; uk: "cp.uk"; ul: "cp.ul"; um: "cp.um"; un: "cp.un"; uo: "cp.uo"; up: "cp.up"; uq: "cp.uq"; ur: "cp.ur"; us: "cp.us"; ut: "cp.ut"; uu: "cp.uu"; uv: "cp.uv"; uw: "cp.uw"; ux: "cp.ux"; uy: "cp.uy"; uz: "cp.uz"; va: "cp.va"; vb: "cp.vb"; vc: "cp.vc"; vd: "cp.vd"; ve: "cp.ve"; vf: "cp.vf"; vg: "cp.vg"; vh: "cp.vh"; vi: "cp.vi"; vj: "cp.vj"; vk: "cp.vk"; vl: "cp.vl"; vm: "cp.vm"; vn: "cp.vn"; vo: "cp.vo"; vp: "cp.vp"; vq: "cp.vq"; vr: "cp.vr"; vs: "cp.vs"; vt: "cp.vt"; vu: "cp.vu"; vv: "cp.vv"; vw: "cp.vw"; vx: "cp.vx"; vy: "cp.vy"; vz: "cp.vz"; wa: "cp.wa"; wb: "cp.wb"; wc: "cp.wc"; wd: "cp.wd"; we: "cp.we"; wf: "cp.wf"; wg: "cp.wg"; wh: "cp.wh"; wi: "cp.wi"; wj: "cp.wj"; wk: "cp.wk"; wl: "cp.wl"; wm: "cp.wm"; wn: "cp.wn"; wo: "cp.wo"; wp: "cp.wp"; wq: "cp.wq"; wr: "cp.wr"; ws: "cp.ws"; wt: "cp.wt"; wu: "cp.wu"; wv: "cp.wv"; ww: "cp.ww"; wx: "cp.wx"; wy: "cp.wy"; wz: "cp.wz"; xa: "cp.xa"; xb: "cp.xb"; xc: "cp.xc"; xd: "cp.xd"; xe: "cp.xe"; xf: "cp.xf"; xg: "cp.xg"; xh: "cp.xh"; xi: "cp.xi"; xj: "cp.xj"; xk: "cp.xk"; xl: "cp.xl"; xm: "cp.xm"; xn: "cp.xn"; xo: "cp.xo"; xp: "cp.xp"; xq: "cp.xq"; xr: "cp.xr"; xs: "cp.xs"; xt: "cp.xt"; xu: "cp.xu"; xv: "cp.xv"; xw: "cp.xw"; xx: "cp.xx"; xy: "cp.xy"; xz: "cp.xz"; ya: "cp.ya"; yb: "cp.yb"; yc: "cp.yc"; yd: "cp.yd"; ye: "cp.ye"; yf: "cp.yf"; yg: "cp.yg"; yh: "cp.yh"; yi: "cp.yi"; yj: "cp.yj"; yk: "cp.yk"; yl: "cp.yl"; ym: "cp.ym"; yn: "cp.yn"; yo: "cp.yo"; yp: "cp.yp"; yq: "cp.yq"; yr: "cp.yr"; ys: "cp.ys"; yt: "cp.yt"; yu: "cp.yu"; yv: "cp.yv"; yw: "cp.yw"; yx: "cp.yx"; yy: "cp.yy"; yz: "cp.yz"; za: "cp.za"; zb: "cp.zb"; zc: "cp.zc"; zd: "cp.zd"; ze: "cp.ze"; zf: "cp.zf"; zg: "cp.zg"; zh: "cp.zh"; zi: "cp.zi"; zj: "cp.zj"; zk: "cp.zk"; zl: "cp.zl"; zm: "cp.zm"; zn: "cp.zn"; zo: "cp.zo"; zp: "cp.zp"; zq: "cp.zq"; zr: "cp.zr"; zs: "cp.zs"; zt: "cp.zt"; zu: "cp.zu"; zv: "cp.zv"; zw: "cp.zw"; zx: "cp.zx"; zy: "cp.zy"; zz: "cp.zz"; }; cq: { aa: "cq.aa"; ab: "cq.ab"; ac: "cq.ac"; ad: "cq.ad"; ae: "cq.ae"; af: "cq.af"; ag: "cq.ag"; ah: "cq.ah"; ai: "cq.ai"; aj: "cq.aj"; ak: "cq.ak"; al: "cq.al"; am: "cq.am"; an: "cq.an"; ao: "cq.ao"; ap: "cq.ap"; aq: "cq.aq"; ar: "cq.ar"; as: "cq.as"; at: "cq.at"; au: "cq.au"; av: "cq.av"; aw: "cq.aw"; ax: "cq.ax"; ay: "cq.ay"; az: "cq.az"; ba: "cq.ba"; bb: "cq.bb"; bc: "cq.bc"; bd: "cq.bd"; be: "cq.be"; bf: "cq.bf"; bg: "cq.bg"; bh: "cq.bh"; bi: "cq.bi"; bj: "cq.bj"; bk: "cq.bk"; bl: "cq.bl"; bm: "cq.bm"; bn: "cq.bn"; bo: "cq.bo"; bp: "cq.bp"; bq: "cq.bq"; br: "cq.br"; bs: "cq.bs"; bt: "cq.bt"; bu: "cq.bu"; bv: "cq.bv"; bw: "cq.bw"; bx: "cq.bx"; by: "cq.by"; bz: "cq.bz"; ca: "cq.ca"; cb: "cq.cb"; cc: "cq.cc"; cd: "cq.cd"; ce: "cq.ce"; cf: "cq.cf"; cg: "cq.cg"; ch: "cq.ch"; ci: "cq.ci"; cj: "cq.cj"; ck: "cq.ck"; cl: "cq.cl"; cm: "cq.cm"; cn: "cq.cn"; co: "cq.co"; cp: "cq.cp"; cq: "cq.cq"; cr: "cq.cr"; cs: "cq.cs"; ct: "cq.ct"; cu: "cq.cu"; cv: "cq.cv"; cw: "cq.cw"; cx: "cq.cx"; cy: "cq.cy"; cz: "cq.cz"; da: "cq.da"; db: "cq.db"; dc: "cq.dc"; dd: "cq.dd"; de: "cq.de"; df: "cq.df"; dg: "cq.dg"; dh: "cq.dh"; di: "cq.di"; dj: "cq.dj"; dk: "cq.dk"; dl: "cq.dl"; dm: "cq.dm"; dn: "cq.dn"; do: "cq.do"; dp: "cq.dp"; dq: "cq.dq"; dr: "cq.dr"; ds: "cq.ds"; dt: "cq.dt"; du: "cq.du"; dv: "cq.dv"; dw: "cq.dw"; dx: "cq.dx"; dy: "cq.dy"; dz: "cq.dz"; ea: "cq.ea"; eb: "cq.eb"; ec: "cq.ec"; ed: "cq.ed"; ee: "cq.ee"; ef: "cq.ef"; eg: "cq.eg"; eh: "cq.eh"; ei: "cq.ei"; ej: "cq.ej"; ek: "cq.ek"; el: "cq.el"; em: "cq.em"; en: "cq.en"; eo: "cq.eo"; ep: "cq.ep"; eq: "cq.eq"; er: "cq.er"; es: "cq.es"; et: "cq.et"; eu: "cq.eu"; ev: "cq.ev"; ew: "cq.ew"; ex: "cq.ex"; ey: "cq.ey"; ez: "cq.ez"; fa: "cq.fa"; fb: "cq.fb"; fc: "cq.fc"; fd: "cq.fd"; fe: "cq.fe"; ff: "cq.ff"; fg: "cq.fg"; fh: "cq.fh"; fi: "cq.fi"; fj: "cq.fj"; fk: "cq.fk"; fl: "cq.fl"; fm: "cq.fm"; fn: "cq.fn"; fo: "cq.fo"; fp: "cq.fp"; fq: "cq.fq"; fr: "cq.fr"; fs: "cq.fs"; ft: "cq.ft"; fu: "cq.fu"; fv: "cq.fv"; fw: "cq.fw"; fx: "cq.fx"; fy: "cq.fy"; fz: "cq.fz"; ga: "cq.ga"; gb: "cq.gb"; gc: "cq.gc"; gd: "cq.gd"; ge: "cq.ge"; gf: "cq.gf"; gg: "cq.gg"; gh: "cq.gh"; gi: "cq.gi"; gj: "cq.gj"; gk: "cq.gk"; gl: "cq.gl"; gm: "cq.gm"; gn: "cq.gn"; go: "cq.go"; gp: "cq.gp"; gq: "cq.gq"; gr: "cq.gr"; gs: "cq.gs"; gt: "cq.gt"; gu: "cq.gu"; gv: "cq.gv"; gw: "cq.gw"; gx: "cq.gx"; gy: "cq.gy"; gz: "cq.gz"; ha: "cq.ha"; hb: "cq.hb"; hc: "cq.hc"; hd: "cq.hd"; he: "cq.he"; hf: "cq.hf"; hg: "cq.hg"; hh: "cq.hh"; hi: "cq.hi"; hj: "cq.hj"; hk: "cq.hk"; hl: "cq.hl"; hm: "cq.hm"; hn: "cq.hn"; ho: "cq.ho"; hp: "cq.hp"; hq: "cq.hq"; hr: "cq.hr"; hs: "cq.hs"; ht: "cq.ht"; hu: "cq.hu"; hv: "cq.hv"; hw: "cq.hw"; hx: "cq.hx"; hy: "cq.hy"; hz: "cq.hz"; ia: "cq.ia"; ib: "cq.ib"; ic: "cq.ic"; id: "cq.id"; ie: "cq.ie"; if: "cq.if"; ig: "cq.ig"; ih: "cq.ih"; ii: "cq.ii"; ij: "cq.ij"; ik: "cq.ik"; il: "cq.il"; im: "cq.im"; in: "cq.in"; io: "cq.io"; ip: "cq.ip"; iq: "cq.iq"; ir: "cq.ir"; is: "cq.is"; it: "cq.it"; iu: "cq.iu"; iv: "cq.iv"; iw: "cq.iw"; ix: "cq.ix"; iy: "cq.iy"; iz: "cq.iz"; ja: "cq.ja"; jb: "cq.jb"; jc: "cq.jc"; jd: "cq.jd"; je: "cq.je"; jf: "cq.jf"; jg: "cq.jg"; jh: "cq.jh"; ji: "cq.ji"; jj: "cq.jj"; jk: "cq.jk"; jl: "cq.jl"; jm: "cq.jm"; jn: "cq.jn"; jo: "cq.jo"; jp: "cq.jp"; jq: "cq.jq"; jr: "cq.jr"; js: "cq.js"; jt: "cq.jt"; ju: "cq.ju"; jv: "cq.jv"; jw: "cq.jw"; jx: "cq.jx"; jy: "cq.jy"; jz: "cq.jz"; ka: "cq.ka"; kb: "cq.kb"; kc: "cq.kc"; kd: "cq.kd"; ke: "cq.ke"; kf: "cq.kf"; kg: "cq.kg"; kh: "cq.kh"; ki: "cq.ki"; kj: "cq.kj"; kk: "cq.kk"; kl: "cq.kl"; km: "cq.km"; kn: "cq.kn"; ko: "cq.ko"; kp: "cq.kp"; kq: "cq.kq"; kr: "cq.kr"; ks: "cq.ks"; kt: "cq.kt"; ku: "cq.ku"; kv: "cq.kv"; kw: "cq.kw"; kx: "cq.kx"; ky: "cq.ky"; kz: "cq.kz"; la: "cq.la"; lb: "cq.lb"; lc: "cq.lc"; ld: "cq.ld"; le: "cq.le"; lf: "cq.lf"; lg: "cq.lg"; lh: "cq.lh"; li: "cq.li"; lj: "cq.lj"; lk: "cq.lk"; ll: "cq.ll"; lm: "cq.lm"; ln: "cq.ln"; lo: "cq.lo"; lp: "cq.lp"; lq: "cq.lq"; lr: "cq.lr"; ls: "cq.ls"; lt: "cq.lt"; lu: "cq.lu"; lv: "cq.lv"; lw: "cq.lw"; lx: "cq.lx"; ly: "cq.ly"; lz: "cq.lz"; ma: "cq.ma"; mb: "cq.mb"; mc: "cq.mc"; md: "cq.md"; me: "cq.me"; mf: "cq.mf"; mg: "cq.mg"; mh: "cq.mh"; mi: "cq.mi"; mj: "cq.mj"; mk: "cq.mk"; ml: "cq.ml"; mm: "cq.mm"; mn: "cq.mn"; mo: "cq.mo"; mp: "cq.mp"; mq: "cq.mq"; mr: "cq.mr"; ms: "cq.ms"; mt: "cq.mt"; mu: "cq.mu"; mv: "cq.mv"; mw: "cq.mw"; mx: "cq.mx"; my: "cq.my"; mz: "cq.mz"; na: "cq.na"; nb: "cq.nb"; nc: "cq.nc"; nd: "cq.nd"; ne: "cq.ne"; nf: "cq.nf"; ng: "cq.ng"; nh: "cq.nh"; ni: "cq.ni"; nj: "cq.nj"; nk: "cq.nk"; nl: "cq.nl"; nm: "cq.nm"; nn: "cq.nn"; no: "cq.no"; np: "cq.np"; nq: "cq.nq"; nr: "cq.nr"; ns: "cq.ns"; nt: "cq.nt"; nu: "cq.nu"; nv: "cq.nv"; nw: "cq.nw"; nx: "cq.nx"; ny: "cq.ny"; nz: "cq.nz"; oa: "cq.oa"; ob: "cq.ob"; oc: "cq.oc"; od: "cq.od"; oe: "cq.oe"; of: "cq.of"; og: "cq.og"; oh: "cq.oh"; oi: "cq.oi"; oj: "cq.oj"; ok: "cq.ok"; ol: "cq.ol"; om: "cq.om"; on: "cq.on"; oo: "cq.oo"; op: "cq.op"; oq: "cq.oq"; or: "cq.or"; os: "cq.os"; ot: "cq.ot"; ou: "cq.ou"; ov: "cq.ov"; ow: "cq.ow"; ox: "cq.ox"; oy: "cq.oy"; oz: "cq.oz"; pa: "cq.pa"; pb: "cq.pb"; pc: "cq.pc"; pd: "cq.pd"; pe: "cq.pe"; pf: "cq.pf"; pg: "cq.pg"; ph: "cq.ph"; pi: "cq.pi"; pj: "cq.pj"; pk: "cq.pk"; pl: "cq.pl"; pm: "cq.pm"; pn: "cq.pn"; po: "cq.po"; pp: "cq.pp"; pq: "cq.pq"; pr: "cq.pr"; ps: "cq.ps"; pt: "cq.pt"; pu: "cq.pu"; pv: "cq.pv"; pw: "cq.pw"; px: "cq.px"; py: "cq.py"; pz: "cq.pz"; qa: "cq.qa"; qb: "cq.qb"; qc: "cq.qc"; qd: "cq.qd"; qe: "cq.qe"; qf: "cq.qf"; qg: "cq.qg"; qh: "cq.qh"; qi: "cq.qi"; qj: "cq.qj"; qk: "cq.qk"; ql: "cq.ql"; qm: "cq.qm"; qn: "cq.qn"; qo: "cq.qo"; qp: "cq.qp"; qq: "cq.qq"; qr: "cq.qr"; qs: "cq.qs"; qt: "cq.qt"; qu: "cq.qu"; qv: "cq.qv"; qw: "cq.qw"; qx: "cq.qx"; qy: "cq.qy"; qz: "cq.qz"; ra: "cq.ra"; rb: "cq.rb"; rc: "cq.rc"; rd: "cq.rd"; re: "cq.re"; rf: "cq.rf"; rg: "cq.rg"; rh: "cq.rh"; ri: "cq.ri"; rj: "cq.rj"; rk: "cq.rk"; rl: "cq.rl"; rm: "cq.rm"; rn: "cq.rn"; ro: "cq.ro"; rp: "cq.rp"; rq: "cq.rq"; rr: "cq.rr"; rs: "cq.rs"; rt: "cq.rt"; ru: "cq.ru"; rv: "cq.rv"; rw: "cq.rw"; rx: "cq.rx"; ry: "cq.ry"; rz: "cq.rz"; sa: "cq.sa"; sb: "cq.sb"; sc: "cq.sc"; sd: "cq.sd"; se: "cq.se"; sf: "cq.sf"; sg: "cq.sg"; sh: "cq.sh"; si: "cq.si"; sj: "cq.sj"; sk: "cq.sk"; sl: "cq.sl"; sm: "cq.sm"; sn: "cq.sn"; so: "cq.so"; sp: "cq.sp"; sq: "cq.sq"; sr: "cq.sr"; ss: "cq.ss"; st: "cq.st"; su: "cq.su"; sv: "cq.sv"; sw: "cq.sw"; sx: "cq.sx"; sy: "cq.sy"; sz: "cq.sz"; ta: "cq.ta"; tb: "cq.tb"; tc: "cq.tc"; td: "cq.td"; te: "cq.te"; tf: "cq.tf"; tg: "cq.tg"; th: "cq.th"; ti: "cq.ti"; tj: "cq.tj"; tk: "cq.tk"; tl: "cq.tl"; tm: "cq.tm"; tn: "cq.tn"; to: "cq.to"; tp: "cq.tp"; tq: "cq.tq"; tr: "cq.tr"; ts: "cq.ts"; tt: "cq.tt"; tu: "cq.tu"; tv: "cq.tv"; tw: "cq.tw"; tx: "cq.tx"; ty: "cq.ty"; tz: "cq.tz"; ua: "cq.ua"; ub: "cq.ub"; uc: "cq.uc"; ud: "cq.ud"; ue: "cq.ue"; uf: "cq.uf"; ug: "cq.ug"; uh: "cq.uh"; ui: "cq.ui"; uj: "cq.uj"; uk: "cq.uk"; ul: "cq.ul"; um: "cq.um"; un: "cq.un"; uo: "cq.uo"; up: "cq.up"; uq: "cq.uq"; ur: "cq.ur"; us: "cq.us"; ut: "cq.ut"; uu: "cq.uu"; uv: "cq.uv"; uw: "cq.uw"; ux: "cq.ux"; uy: "cq.uy"; uz: "cq.uz"; va: "cq.va"; vb: "cq.vb"; vc: "cq.vc"; vd: "cq.vd"; ve: "cq.ve"; vf: "cq.vf"; vg: "cq.vg"; vh: "cq.vh"; vi: "cq.vi"; vj: "cq.vj"; vk: "cq.vk"; vl: "cq.vl"; vm: "cq.vm"; vn: "cq.vn"; vo: "cq.vo"; vp: "cq.vp"; vq: "cq.vq"; vr: "cq.vr"; vs: "cq.vs"; vt: "cq.vt"; vu: "cq.vu"; vv: "cq.vv"; vw: "cq.vw"; vx: "cq.vx"; vy: "cq.vy"; vz: "cq.vz"; wa: "cq.wa"; wb: "cq.wb"; wc: "cq.wc"; wd: "cq.wd"; we: "cq.we"; wf: "cq.wf"; wg: "cq.wg"; wh: "cq.wh"; wi: "cq.wi"; wj: "cq.wj"; wk: "cq.wk"; wl: "cq.wl"; wm: "cq.wm"; wn: "cq.wn"; wo: "cq.wo"; wp: "cq.wp"; wq: "cq.wq"; wr: "cq.wr"; ws: "cq.ws"; wt: "cq.wt"; wu: "cq.wu"; wv: "cq.wv"; ww: "cq.ww"; wx: "cq.wx"; wy: "cq.wy"; wz: "cq.wz"; xa: "cq.xa"; xb: "cq.xb"; xc: "cq.xc"; xd: "cq.xd"; xe: "cq.xe"; xf: "cq.xf"; xg: "cq.xg"; xh: "cq.xh"; xi: "cq.xi"; xj: "cq.xj"; xk: "cq.xk"; xl: "cq.xl"; xm: "cq.xm"; xn: "cq.xn"; xo: "cq.xo"; xp: "cq.xp"; xq: "cq.xq"; xr: "cq.xr"; xs: "cq.xs"; xt: "cq.xt"; xu: "cq.xu"; xv: "cq.xv"; xw: "cq.xw"; xx: "cq.xx"; xy: "cq.xy"; xz: "cq.xz"; ya: "cq.ya"; yb: "cq.yb"; yc: "cq.yc"; yd: "cq.yd"; ye: "cq.ye"; yf: "cq.yf"; yg: "cq.yg"; yh: "cq.yh"; yi: "cq.yi"; yj: "cq.yj"; yk: "cq.yk"; yl: "cq.yl"; ym: "cq.ym"; yn: "cq.yn"; yo: "cq.yo"; yp: "cq.yp"; yq: "cq.yq"; yr: "cq.yr"; ys: "cq.ys"; yt: "cq.yt"; yu: "cq.yu"; yv: "cq.yv"; yw: "cq.yw"; yx: "cq.yx"; yy: "cq.yy"; yz: "cq.yz"; za: "cq.za"; zb: "cq.zb"; zc: "cq.zc"; zd: "cq.zd"; ze: "cq.ze"; zf: "cq.zf"; zg: "cq.zg"; zh: "cq.zh"; zi: "cq.zi"; zj: "cq.zj"; zk: "cq.zk"; zl: "cq.zl"; zm: "cq.zm"; zn: "cq.zn"; zo: "cq.zo"; zp: "cq.zp"; zq: "cq.zq"; zr: "cq.zr"; zs: "cq.zs"; zt: "cq.zt"; zu: "cq.zu"; zv: "cq.zv"; zw: "cq.zw"; zx: "cq.zx"; zy: "cq.zy"; zz: "cq.zz"; }; cr: { aa: "cr.aa"; ab: "cr.ab"; ac: "cr.ac"; ad: "cr.ad"; ae: "cr.ae"; af: "cr.af"; ag: "cr.ag"; ah: "cr.ah"; ai: "cr.ai"; aj: "cr.aj"; ak: "cr.ak"; al: "cr.al"; am: "cr.am"; an: "cr.an"; ao: "cr.ao"; ap: "cr.ap"; aq: "cr.aq"; ar: "cr.ar"; as: "cr.as"; at: "cr.at"; au: "cr.au"; av: "cr.av"; aw: "cr.aw"; ax: "cr.ax"; ay: "cr.ay"; az: "cr.az"; ba: "cr.ba"; bb: "cr.bb"; bc: "cr.bc"; bd: "cr.bd"; be: "cr.be"; bf: "cr.bf"; bg: "cr.bg"; bh: "cr.bh"; bi: "cr.bi"; bj: "cr.bj"; bk: "cr.bk"; bl: "cr.bl"; bm: "cr.bm"; bn: "cr.bn"; bo: "cr.bo"; bp: "cr.bp"; bq: "cr.bq"; br: "cr.br"; bs: "cr.bs"; bt: "cr.bt"; bu: "cr.bu"; bv: "cr.bv"; bw: "cr.bw"; bx: "cr.bx"; by: "cr.by"; bz: "cr.bz"; ca: "cr.ca"; cb: "cr.cb"; cc: "cr.cc"; cd: "cr.cd"; ce: "cr.ce"; cf: "cr.cf"; cg: "cr.cg"; ch: "cr.ch"; ci: "cr.ci"; cj: "cr.cj"; ck: "cr.ck"; cl: "cr.cl"; cm: "cr.cm"; cn: "cr.cn"; co: "cr.co"; cp: "cr.cp"; cq: "cr.cq"; cr: "cr.cr"; cs: "cr.cs"; ct: "cr.ct"; cu: "cr.cu"; cv: "cr.cv"; cw: "cr.cw"; cx: "cr.cx"; cy: "cr.cy"; cz: "cr.cz"; da: "cr.da"; db: "cr.db"; dc: "cr.dc"; dd: "cr.dd"; de: "cr.de"; df: "cr.df"; dg: "cr.dg"; dh: "cr.dh"; di: "cr.di"; dj: "cr.dj"; dk: "cr.dk"; dl: "cr.dl"; dm: "cr.dm"; dn: "cr.dn"; do: "cr.do"; dp: "cr.dp"; dq: "cr.dq"; dr: "cr.dr"; ds: "cr.ds"; dt: "cr.dt"; du: "cr.du"; dv: "cr.dv"; dw: "cr.dw"; dx: "cr.dx"; dy: "cr.dy"; dz: "cr.dz"; ea: "cr.ea"; eb: "cr.eb"; ec: "cr.ec"; ed: "cr.ed"; ee: "cr.ee"; ef: "cr.ef"; eg: "cr.eg"; eh: "cr.eh"; ei: "cr.ei"; ej: "cr.ej"; ek: "cr.ek"; el: "cr.el"; em: "cr.em"; en: "cr.en"; eo: "cr.eo"; ep: "cr.ep"; eq: "cr.eq"; er: "cr.er"; es: "cr.es"; et: "cr.et"; eu: "cr.eu"; ev: "cr.ev"; ew: "cr.ew"; ex: "cr.ex"; ey: "cr.ey"; ez: "cr.ez"; fa: "cr.fa"; fb: "cr.fb"; fc: "cr.fc"; fd: "cr.fd"; fe: "cr.fe"; ff: "cr.ff"; fg: "cr.fg"; fh: "cr.fh"; fi: "cr.fi"; fj: "cr.fj"; fk: "cr.fk"; fl: "cr.fl"; fm: "cr.fm"; fn: "cr.fn"; fo: "cr.fo"; fp: "cr.fp"; fq: "cr.fq"; fr: "cr.fr"; fs: "cr.fs"; ft: "cr.ft"; fu: "cr.fu"; fv: "cr.fv"; fw: "cr.fw"; fx: "cr.fx"; fy: "cr.fy"; fz: "cr.fz"; ga: "cr.ga"; gb: "cr.gb"; gc: "cr.gc"; gd: "cr.gd"; ge: "cr.ge"; gf: "cr.gf"; gg: "cr.gg"; gh: "cr.gh"; gi: "cr.gi"; gj: "cr.gj"; gk: "cr.gk"; gl: "cr.gl"; gm: "cr.gm"; gn: "cr.gn"; go: "cr.go"; gp: "cr.gp"; gq: "cr.gq"; gr: "cr.gr"; gs: "cr.gs"; gt: "cr.gt"; gu: "cr.gu"; gv: "cr.gv"; gw: "cr.gw"; gx: "cr.gx"; gy: "cr.gy"; gz: "cr.gz"; ha: "cr.ha"; hb: "cr.hb"; hc: "cr.hc"; hd: "cr.hd"; he: "cr.he"; hf: "cr.hf"; hg: "cr.hg"; hh: "cr.hh"; hi: "cr.hi"; hj: "cr.hj"; hk: "cr.hk"; hl: "cr.hl"; hm: "cr.hm"; hn: "cr.hn"; ho: "cr.ho"; hp: "cr.hp"; hq: "cr.hq"; hr: "cr.hr"; hs: "cr.hs"; ht: "cr.ht"; hu: "cr.hu"; hv: "cr.hv"; hw: "cr.hw"; hx: "cr.hx"; hy: "cr.hy"; hz: "cr.hz"; ia: "cr.ia"; ib: "cr.ib"; ic: "cr.ic"; id: "cr.id"; ie: "cr.ie"; if: "cr.if"; ig: "cr.ig"; ih: "cr.ih"; ii: "cr.ii"; ij: "cr.ij"; ik: "cr.ik"; il: "cr.il"; im: "cr.im"; in: "cr.in"; io: "cr.io"; ip: "cr.ip"; iq: "cr.iq"; ir: "cr.ir"; is: "cr.is"; it: "cr.it"; iu: "cr.iu"; iv: "cr.iv"; iw: "cr.iw"; ix: "cr.ix"; iy: "cr.iy"; iz: "cr.iz"; ja: "cr.ja"; jb: "cr.jb"; jc: "cr.jc"; jd: "cr.jd"; je: "cr.je"; jf: "cr.jf"; jg: "cr.jg"; jh: "cr.jh"; ji: "cr.ji"; jj: "cr.jj"; jk: "cr.jk"; jl: "cr.jl"; jm: "cr.jm"; jn: "cr.jn"; jo: "cr.jo"; jp: "cr.jp"; jq: "cr.jq"; jr: "cr.jr"; js: "cr.js"; jt: "cr.jt"; ju: "cr.ju"; jv: "cr.jv"; jw: "cr.jw"; jx: "cr.jx"; jy: "cr.jy"; jz: "cr.jz"; ka: "cr.ka"; kb: "cr.kb"; kc: "cr.kc"; kd: "cr.kd"; ke: "cr.ke"; kf: "cr.kf"; kg: "cr.kg"; kh: "cr.kh"; ki: "cr.ki"; kj: "cr.kj"; kk: "cr.kk"; kl: "cr.kl"; km: "cr.km"; kn: "cr.kn"; ko: "cr.ko"; kp: "cr.kp"; kq: "cr.kq"; kr: "cr.kr"; ks: "cr.ks"; kt: "cr.kt"; ku: "cr.ku"; kv: "cr.kv"; kw: "cr.kw"; kx: "cr.kx"; ky: "cr.ky"; kz: "cr.kz"; la: "cr.la"; lb: "cr.lb"; lc: "cr.lc"; ld: "cr.ld"; le: "cr.le"; lf: "cr.lf"; lg: "cr.lg"; lh: "cr.lh"; li: "cr.li"; lj: "cr.lj"; lk: "cr.lk"; ll: "cr.ll"; lm: "cr.lm"; ln: "cr.ln"; lo: "cr.lo"; lp: "cr.lp"; lq: "cr.lq"; lr: "cr.lr"; ls: "cr.ls"; lt: "cr.lt"; lu: "cr.lu"; lv: "cr.lv"; lw: "cr.lw"; lx: "cr.lx"; ly: "cr.ly"; lz: "cr.lz"; ma: "cr.ma"; mb: "cr.mb"; mc: "cr.mc"; md: "cr.md"; me: "cr.me"; mf: "cr.mf"; mg: "cr.mg"; mh: "cr.mh"; mi: "cr.mi"; mj: "cr.mj"; mk: "cr.mk"; ml: "cr.ml"; mm: "cr.mm"; mn: "cr.mn"; mo: "cr.mo"; mp: "cr.mp"; mq: "cr.mq"; mr: "cr.mr"; ms: "cr.ms"; mt: "cr.mt"; mu: "cr.mu"; mv: "cr.mv"; mw: "cr.mw"; mx: "cr.mx"; my: "cr.my"; mz: "cr.mz"; na: "cr.na"; nb: "cr.nb"; nc: "cr.nc"; nd: "cr.nd"; ne: "cr.ne"; nf: "cr.nf"; ng: "cr.ng"; nh: "cr.nh"; ni: "cr.ni"; nj: "cr.nj"; nk: "cr.nk"; nl: "cr.nl"; nm: "cr.nm"; nn: "cr.nn"; no: "cr.no"; np: "cr.np"; nq: "cr.nq"; nr: "cr.nr"; ns: "cr.ns"; nt: "cr.nt"; nu: "cr.nu"; nv: "cr.nv"; nw: "cr.nw"; nx: "cr.nx"; ny: "cr.ny"; nz: "cr.nz"; oa: "cr.oa"; ob: "cr.ob"; oc: "cr.oc"; od: "cr.od"; oe: "cr.oe"; of: "cr.of"; og: "cr.og"; oh: "cr.oh"; oi: "cr.oi"; oj: "cr.oj"; ok: "cr.ok"; ol: "cr.ol"; om: "cr.om"; on: "cr.on"; oo: "cr.oo"; op: "cr.op"; oq: "cr.oq"; or: "cr.or"; os: "cr.os"; ot: "cr.ot"; ou: "cr.ou"; ov: "cr.ov"; ow: "cr.ow"; ox: "cr.ox"; oy: "cr.oy"; oz: "cr.oz"; pa: "cr.pa"; pb: "cr.pb"; pc: "cr.pc"; pd: "cr.pd"; pe: "cr.pe"; pf: "cr.pf"; pg: "cr.pg"; ph: "cr.ph"; pi: "cr.pi"; pj: "cr.pj"; pk: "cr.pk"; pl: "cr.pl"; pm: "cr.pm"; pn: "cr.pn"; po: "cr.po"; pp: "cr.pp"; pq: "cr.pq"; pr: "cr.pr"; ps: "cr.ps"; pt: "cr.pt"; pu: "cr.pu"; pv: "cr.pv"; pw: "cr.pw"; px: "cr.px"; py: "cr.py"; pz: "cr.pz"; qa: "cr.qa"; qb: "cr.qb"; qc: "cr.qc"; qd: "cr.qd"; qe: "cr.qe"; qf: "cr.qf"; qg: "cr.qg"; qh: "cr.qh"; qi: "cr.qi"; qj: "cr.qj"; qk: "cr.qk"; ql: "cr.ql"; qm: "cr.qm"; qn: "cr.qn"; qo: "cr.qo"; qp: "cr.qp"; qq: "cr.qq"; qr: "cr.qr"; qs: "cr.qs"; qt: "cr.qt"; qu: "cr.qu"; qv: "cr.qv"; qw: "cr.qw"; qx: "cr.qx"; qy: "cr.qy"; qz: "cr.qz"; ra: "cr.ra"; rb: "cr.rb"; rc: "cr.rc"; rd: "cr.rd"; re: "cr.re"; rf: "cr.rf"; rg: "cr.rg"; rh: "cr.rh"; ri: "cr.ri"; rj: "cr.rj"; rk: "cr.rk"; rl: "cr.rl"; rm: "cr.rm"; rn: "cr.rn"; ro: "cr.ro"; rp: "cr.rp"; rq: "cr.rq"; rr: "cr.rr"; rs: "cr.rs"; rt: "cr.rt"; ru: "cr.ru"; rv: "cr.rv"; rw: "cr.rw"; rx: "cr.rx"; ry: "cr.ry"; rz: "cr.rz"; sa: "cr.sa"; sb: "cr.sb"; sc: "cr.sc"; sd: "cr.sd"; se: "cr.se"; sf: "cr.sf"; sg: "cr.sg"; sh: "cr.sh"; si: "cr.si"; sj: "cr.sj"; sk: "cr.sk"; sl: "cr.sl"; sm: "cr.sm"; sn: "cr.sn"; so: "cr.so"; sp: "cr.sp"; sq: "cr.sq"; sr: "cr.sr"; ss: "cr.ss"; st: "cr.st"; su: "cr.su"; sv: "cr.sv"; sw: "cr.sw"; sx: "cr.sx"; sy: "cr.sy"; sz: "cr.sz"; ta: "cr.ta"; tb: "cr.tb"; tc: "cr.tc"; td: "cr.td"; te: "cr.te"; tf: "cr.tf"; tg: "cr.tg"; th: "cr.th"; ti: "cr.ti"; tj: "cr.tj"; tk: "cr.tk"; tl: "cr.tl"; tm: "cr.tm"; tn: "cr.tn"; to: "cr.to"; tp: "cr.tp"; tq: "cr.tq"; tr: "cr.tr"; ts: "cr.ts"; tt: "cr.tt"; tu: "cr.tu"; tv: "cr.tv"; tw: "cr.tw"; tx: "cr.tx"; ty: "cr.ty"; tz: "cr.tz"; ua: "cr.ua"; ub: "cr.ub"; uc: "cr.uc"; ud: "cr.ud"; ue: "cr.ue"; uf: "cr.uf"; ug: "cr.ug"; uh: "cr.uh"; ui: "cr.ui"; uj: "cr.uj"; uk: "cr.uk"; ul: "cr.ul"; um: "cr.um"; un: "cr.un"; uo: "cr.uo"; up: "cr.up"; uq: "cr.uq"; ur: "cr.ur"; us: "cr.us"; ut: "cr.ut"; uu: "cr.uu"; uv: "cr.uv"; uw: "cr.uw"; ux: "cr.ux"; uy: "cr.uy"; uz: "cr.uz"; va: "cr.va"; vb: "cr.vb"; vc: "cr.vc"; vd: "cr.vd"; ve: "cr.ve"; vf: "cr.vf"; vg: "cr.vg"; vh: "cr.vh"; vi: "cr.vi"; vj: "cr.vj"; vk: "cr.vk"; vl: "cr.vl"; vm: "cr.vm"; vn: "cr.vn"; vo: "cr.vo"; vp: "cr.vp"; vq: "cr.vq"; vr: "cr.vr"; vs: "cr.vs"; vt: "cr.vt"; vu: "cr.vu"; vv: "cr.vv"; vw: "cr.vw"; vx: "cr.vx"; vy: "cr.vy"; vz: "cr.vz"; wa: "cr.wa"; wb: "cr.wb"; wc: "cr.wc"; wd: "cr.wd"; we: "cr.we"; wf: "cr.wf"; wg: "cr.wg"; wh: "cr.wh"; wi: "cr.wi"; wj: "cr.wj"; wk: "cr.wk"; wl: "cr.wl"; wm: "cr.wm"; wn: "cr.wn"; wo: "cr.wo"; wp: "cr.wp"; wq: "cr.wq"; wr: "cr.wr"; ws: "cr.ws"; wt: "cr.wt"; wu: "cr.wu"; wv: "cr.wv"; ww: "cr.ww"; wx: "cr.wx"; wy: "cr.wy"; wz: "cr.wz"; xa: "cr.xa"; xb: "cr.xb"; xc: "cr.xc"; xd: "cr.xd"; xe: "cr.xe"; xf: "cr.xf"; xg: "cr.xg"; xh: "cr.xh"; xi: "cr.xi"; xj: "cr.xj"; xk: "cr.xk"; xl: "cr.xl"; xm: "cr.xm"; xn: "cr.xn"; xo: "cr.xo"; xp: "cr.xp"; xq: "cr.xq"; xr: "cr.xr"; xs: "cr.xs"; xt: "cr.xt"; xu: "cr.xu"; xv: "cr.xv"; xw: "cr.xw"; xx: "cr.xx"; xy: "cr.xy"; xz: "cr.xz"; ya: "cr.ya"; yb: "cr.yb"; yc: "cr.yc"; yd: "cr.yd"; ye: "cr.ye"; yf: "cr.yf"; yg: "cr.yg"; yh: "cr.yh"; yi: "cr.yi"; yj: "cr.yj"; yk: "cr.yk"; yl: "cr.yl"; ym: "cr.ym"; yn: "cr.yn"; yo: "cr.yo"; yp: "cr.yp"; yq: "cr.yq"; yr: "cr.yr"; ys: "cr.ys"; yt: "cr.yt"; yu: "cr.yu"; yv: "cr.yv"; yw: "cr.yw"; yx: "cr.yx"; yy: "cr.yy"; yz: "cr.yz"; za: "cr.za"; zb: "cr.zb"; zc: "cr.zc"; zd: "cr.zd"; ze: "cr.ze"; zf: "cr.zf"; zg: "cr.zg"; zh: "cr.zh"; zi: "cr.zi"; zj: "cr.zj"; zk: "cr.zk"; zl: "cr.zl"; zm: "cr.zm"; zn: "cr.zn"; zo: "cr.zo"; zp: "cr.zp"; zq: "cr.zq"; zr: "cr.zr"; zs: "cr.zs"; zt: "cr.zt"; zu: "cr.zu"; zv: "cr.zv"; zw: "cr.zw"; zx: "cr.zx"; zy: "cr.zy"; zz: "cr.zz"; }; cs: { aa: "cs.aa"; ab: "cs.ab"; ac: "cs.ac"; ad: "cs.ad"; ae: "cs.ae"; af: "cs.af"; ag: "cs.ag"; ah: "cs.ah"; ai: "cs.ai"; aj: "cs.aj"; ak: "cs.ak"; al: "cs.al"; am: "cs.am"; an: "cs.an"; ao: "cs.ao"; ap: "cs.ap"; aq: "cs.aq"; ar: "cs.ar"; as: "cs.as"; at: "cs.at"; au: "cs.au"; av: "cs.av"; aw: "cs.aw"; ax: "cs.ax"; ay: "cs.ay"; az: "cs.az"; ba: "cs.ba"; bb: "cs.bb"; bc: "cs.bc"; bd: "cs.bd"; be: "cs.be"; bf: "cs.bf"; bg: "cs.bg"; bh: "cs.bh"; bi: "cs.bi"; bj: "cs.bj"; bk: "cs.bk"; bl: "cs.bl"; bm: "cs.bm"; bn: "cs.bn"; bo: "cs.bo"; bp: "cs.bp"; bq: "cs.bq"; br: "cs.br"; bs: "cs.bs"; bt: "cs.bt"; bu: "cs.bu"; bv: "cs.bv"; bw: "cs.bw"; bx: "cs.bx"; by: "cs.by"; bz: "cs.bz"; ca: "cs.ca"; cb: "cs.cb"; cc: "cs.cc"; cd: "cs.cd"; ce: "cs.ce"; cf: "cs.cf"; cg: "cs.cg"; ch: "cs.ch"; ci: "cs.ci"; cj: "cs.cj"; ck: "cs.ck"; cl: "cs.cl"; cm: "cs.cm"; cn: "cs.cn"; co: "cs.co"; cp: "cs.cp"; cq: "cs.cq"; cr: "cs.cr"; cs: "cs.cs"; ct: "cs.ct"; cu: "cs.cu"; cv: "cs.cv"; cw: "cs.cw"; cx: "cs.cx"; cy: "cs.cy"; cz: "cs.cz"; da: "cs.da"; db: "cs.db"; dc: "cs.dc"; dd: "cs.dd"; de: "cs.de"; df: "cs.df"; dg: "cs.dg"; dh: "cs.dh"; di: "cs.di"; dj: "cs.dj"; dk: "cs.dk"; dl: "cs.dl"; dm: "cs.dm"; dn: "cs.dn"; do: "cs.do"; dp: "cs.dp"; dq: "cs.dq"; dr: "cs.dr"; ds: "cs.ds"; dt: "cs.dt"; du: "cs.du"; dv: "cs.dv"; dw: "cs.dw"; dx: "cs.dx"; dy: "cs.dy"; dz: "cs.dz"; ea: "cs.ea"; eb: "cs.eb"; ec: "cs.ec"; ed: "cs.ed"; ee: "cs.ee"; ef: "cs.ef"; eg: "cs.eg"; eh: "cs.eh"; ei: "cs.ei"; ej: "cs.ej"; ek: "cs.ek"; el: "cs.el"; em: "cs.em"; en: "cs.en"; eo: "cs.eo"; ep: "cs.ep"; eq: "cs.eq"; er: "cs.er"; es: "cs.es"; et: "cs.et"; eu: "cs.eu"; ev: "cs.ev"; ew: "cs.ew"; ex: "cs.ex"; ey: "cs.ey"; ez: "cs.ez"; fa: "cs.fa"; fb: "cs.fb"; fc: "cs.fc"; fd: "cs.fd"; fe: "cs.fe"; ff: "cs.ff"; fg: "cs.fg"; fh: "cs.fh"; fi: "cs.fi"; fj: "cs.fj"; fk: "cs.fk"; fl: "cs.fl"; fm: "cs.fm"; fn: "cs.fn"; fo: "cs.fo"; fp: "cs.fp"; fq: "cs.fq"; fr: "cs.fr"; fs: "cs.fs"; ft: "cs.ft"; fu: "cs.fu"; fv: "cs.fv"; fw: "cs.fw"; fx: "cs.fx"; fy: "cs.fy"; fz: "cs.fz"; ga: "cs.ga"; gb: "cs.gb"; gc: "cs.gc"; gd: "cs.gd"; ge: "cs.ge"; gf: "cs.gf"; gg: "cs.gg"; gh: "cs.gh"; gi: "cs.gi"; gj: "cs.gj"; gk: "cs.gk"; gl: "cs.gl"; gm: "cs.gm"; gn: "cs.gn"; go: "cs.go"; gp: "cs.gp"; gq: "cs.gq"; gr: "cs.gr"; gs: "cs.gs"; gt: "cs.gt"; gu: "cs.gu"; gv: "cs.gv"; gw: "cs.gw"; gx: "cs.gx"; gy: "cs.gy"; gz: "cs.gz"; ha: "cs.ha"; hb: "cs.hb"; hc: "cs.hc"; hd: "cs.hd"; he: "cs.he"; hf: "cs.hf"; hg: "cs.hg"; hh: "cs.hh"; hi: "cs.hi"; hj: "cs.hj"; hk: "cs.hk"; hl: "cs.hl"; hm: "cs.hm"; hn: "cs.hn"; ho: "cs.ho"; hp: "cs.hp"; hq: "cs.hq"; hr: "cs.hr"; hs: "cs.hs"; ht: "cs.ht"; hu: "cs.hu"; hv: "cs.hv"; hw: "cs.hw"; hx: "cs.hx"; hy: "cs.hy"; hz: "cs.hz"; ia: "cs.ia"; ib: "cs.ib"; ic: "cs.ic"; id: "cs.id"; ie: "cs.ie"; if: "cs.if"; ig: "cs.ig"; ih: "cs.ih"; ii: "cs.ii"; ij: "cs.ij"; ik: "cs.ik"; il: "cs.il"; im: "cs.im"; in: "cs.in"; io: "cs.io"; ip: "cs.ip"; iq: "cs.iq"; ir: "cs.ir"; is: "cs.is"; it: "cs.it"; iu: "cs.iu"; iv: "cs.iv"; iw: "cs.iw"; ix: "cs.ix"; iy: "cs.iy"; iz: "cs.iz"; ja: "cs.ja"; jb: "cs.jb"; jc: "cs.jc"; jd: "cs.jd"; je: "cs.je"; jf: "cs.jf"; jg: "cs.jg"; jh: "cs.jh"; ji: "cs.ji"; jj: "cs.jj"; jk: "cs.jk"; jl: "cs.jl"; jm: "cs.jm"; jn: "cs.jn"; jo: "cs.jo"; jp: "cs.jp"; jq: "cs.jq"; jr: "cs.jr"; js: "cs.js"; jt: "cs.jt"; ju: "cs.ju"; jv: "cs.jv"; jw: "cs.jw"; jx: "cs.jx"; jy: "cs.jy"; jz: "cs.jz"; ka: "cs.ka"; kb: "cs.kb"; kc: "cs.kc"; kd: "cs.kd"; ke: "cs.ke"; kf: "cs.kf"; kg: "cs.kg"; kh: "cs.kh"; ki: "cs.ki"; kj: "cs.kj"; kk: "cs.kk"; kl: "cs.kl"; km: "cs.km"; kn: "cs.kn"; ko: "cs.ko"; kp: "cs.kp"; kq: "cs.kq"; kr: "cs.kr"; ks: "cs.ks"; kt: "cs.kt"; ku: "cs.ku"; kv: "cs.kv"; kw: "cs.kw"; kx: "cs.kx"; ky: "cs.ky"; kz: "cs.kz"; la: "cs.la"; lb: "cs.lb"; lc: "cs.lc"; ld: "cs.ld"; le: "cs.le"; lf: "cs.lf"; lg: "cs.lg"; lh: "cs.lh"; li: "cs.li"; lj: "cs.lj"; lk: "cs.lk"; ll: "cs.ll"; lm: "cs.lm"; ln: "cs.ln"; lo: "cs.lo"; lp: "cs.lp"; lq: "cs.lq"; lr: "cs.lr"; ls: "cs.ls"; lt: "cs.lt"; lu: "cs.lu"; lv: "cs.lv"; lw: "cs.lw"; lx: "cs.lx"; ly: "cs.ly"; lz: "cs.lz"; ma: "cs.ma"; mb: "cs.mb"; mc: "cs.mc"; md: "cs.md"; me: "cs.me"; mf: "cs.mf"; mg: "cs.mg"; mh: "cs.mh"; mi: "cs.mi"; mj: "cs.mj"; mk: "cs.mk"; ml: "cs.ml"; mm: "cs.mm"; mn: "cs.mn"; mo: "cs.mo"; mp: "cs.mp"; mq: "cs.mq"; mr: "cs.mr"; ms: "cs.ms"; mt: "cs.mt"; mu: "cs.mu"; mv: "cs.mv"; mw: "cs.mw"; mx: "cs.mx"; my: "cs.my"; mz: "cs.mz"; na: "cs.na"; nb: "cs.nb"; nc: "cs.nc"; nd: "cs.nd"; ne: "cs.ne"; nf: "cs.nf"; ng: "cs.ng"; nh: "cs.nh"; ni: "cs.ni"; nj: "cs.nj"; nk: "cs.nk"; nl: "cs.nl"; nm: "cs.nm"; nn: "cs.nn"; no: "cs.no"; np: "cs.np"; nq: "cs.nq"; nr: "cs.nr"; ns: "cs.ns"; nt: "cs.nt"; nu: "cs.nu"; nv: "cs.nv"; nw: "cs.nw"; nx: "cs.nx"; ny: "cs.ny"; nz: "cs.nz"; oa: "cs.oa"; ob: "cs.ob"; oc: "cs.oc"; od: "cs.od"; oe: "cs.oe"; of: "cs.of"; og: "cs.og"; oh: "cs.oh"; oi: "cs.oi"; oj: "cs.oj"; ok: "cs.ok"; ol: "cs.ol"; om: "cs.om"; on: "cs.on"; oo: "cs.oo"; op: "cs.op"; oq: "cs.oq"; or: "cs.or"; os: "cs.os"; ot: "cs.ot"; ou: "cs.ou"; ov: "cs.ov"; ow: "cs.ow"; ox: "cs.ox"; oy: "cs.oy"; oz: "cs.oz"; pa: "cs.pa"; pb: "cs.pb"; pc: "cs.pc"; pd: "cs.pd"; pe: "cs.pe"; pf: "cs.pf"; pg: "cs.pg"; ph: "cs.ph"; pi: "cs.pi"; pj: "cs.pj"; pk: "cs.pk"; pl: "cs.pl"; pm: "cs.pm"; pn: "cs.pn"; po: "cs.po"; pp: "cs.pp"; pq: "cs.pq"; pr: "cs.pr"; ps: "cs.ps"; pt: "cs.pt"; pu: "cs.pu"; pv: "cs.pv"; pw: "cs.pw"; px: "cs.px"; py: "cs.py"; pz: "cs.pz"; qa: "cs.qa"; qb: "cs.qb"; qc: "cs.qc"; qd: "cs.qd"; qe: "cs.qe"; qf: "cs.qf"; qg: "cs.qg"; qh: "cs.qh"; qi: "cs.qi"; qj: "cs.qj"; qk: "cs.qk"; ql: "cs.ql"; qm: "cs.qm"; qn: "cs.qn"; qo: "cs.qo"; qp: "cs.qp"; qq: "cs.qq"; qr: "cs.qr"; qs: "cs.qs"; qt: "cs.qt"; qu: "cs.qu"; qv: "cs.qv"; qw: "cs.qw"; qx: "cs.qx"; qy: "cs.qy"; qz: "cs.qz"; ra: "cs.ra"; rb: "cs.rb"; rc: "cs.rc"; rd: "cs.rd"; re: "cs.re"; rf: "cs.rf"; rg: "cs.rg"; rh: "cs.rh"; ri: "cs.ri"; rj: "cs.rj"; rk: "cs.rk"; rl: "cs.rl"; rm: "cs.rm"; rn: "cs.rn"; ro: "cs.ro"; rp: "cs.rp"; rq: "cs.rq"; rr: "cs.rr"; rs: "cs.rs"; rt: "cs.rt"; ru: "cs.ru"; rv: "cs.rv"; rw: "cs.rw"; rx: "cs.rx"; ry: "cs.ry"; rz: "cs.rz"; sa: "cs.sa"; sb: "cs.sb"; sc: "cs.sc"; sd: "cs.sd"; se: "cs.se"; sf: "cs.sf"; sg: "cs.sg"; sh: "cs.sh"; si: "cs.si"; sj: "cs.sj"; sk: "cs.sk"; sl: "cs.sl"; sm: "cs.sm"; sn: "cs.sn"; so: "cs.so"; sp: "cs.sp"; sq: "cs.sq"; sr: "cs.sr"; ss: "cs.ss"; st: "cs.st"; su: "cs.su"; sv: "cs.sv"; sw: "cs.sw"; sx: "cs.sx"; sy: "cs.sy"; sz: "cs.sz"; ta: "cs.ta"; tb: "cs.tb"; tc: "cs.tc"; td: "cs.td"; te: "cs.te"; tf: "cs.tf"; tg: "cs.tg"; th: "cs.th"; ti: "cs.ti"; tj: "cs.tj"; tk: "cs.tk"; tl: "cs.tl"; tm: "cs.tm"; tn: "cs.tn"; to: "cs.to"; tp: "cs.tp"; tq: "cs.tq"; tr: "cs.tr"; ts: "cs.ts"; tt: "cs.tt"; tu: "cs.tu"; tv: "cs.tv"; tw: "cs.tw"; tx: "cs.tx"; ty: "cs.ty"; tz: "cs.tz"; ua: "cs.ua"; ub: "cs.ub"; uc: "cs.uc"; ud: "cs.ud"; ue: "cs.ue"; uf: "cs.uf"; ug: "cs.ug"; uh: "cs.uh"; ui: "cs.ui"; uj: "cs.uj"; uk: "cs.uk"; ul: "cs.ul"; um: "cs.um"; un: "cs.un"; uo: "cs.uo"; up: "cs.up"; uq: "cs.uq"; ur: "cs.ur"; us: "cs.us"; ut: "cs.ut"; uu: "cs.uu"; uv: "cs.uv"; uw: "cs.uw"; ux: "cs.ux"; uy: "cs.uy"; uz: "cs.uz"; va: "cs.va"; vb: "cs.vb"; vc: "cs.vc"; vd: "cs.vd"; ve: "cs.ve"; vf: "cs.vf"; vg: "cs.vg"; vh: "cs.vh"; vi: "cs.vi"; vj: "cs.vj"; vk: "cs.vk"; vl: "cs.vl"; vm: "cs.vm"; vn: "cs.vn"; vo: "cs.vo"; vp: "cs.vp"; vq: "cs.vq"; vr: "cs.vr"; vs: "cs.vs"; vt: "cs.vt"; vu: "cs.vu"; vv: "cs.vv"; vw: "cs.vw"; vx: "cs.vx"; vy: "cs.vy"; vz: "cs.vz"; wa: "cs.wa"; wb: "cs.wb"; wc: "cs.wc"; wd: "cs.wd"; we: "cs.we"; wf: "cs.wf"; wg: "cs.wg"; wh: "cs.wh"; wi: "cs.wi"; wj: "cs.wj"; wk: "cs.wk"; wl: "cs.wl"; wm: "cs.wm"; wn: "cs.wn"; wo: "cs.wo"; wp: "cs.wp"; wq: "cs.wq"; wr: "cs.wr"; ws: "cs.ws"; wt: "cs.wt"; wu: "cs.wu"; wv: "cs.wv"; ww: "cs.ww"; wx: "cs.wx"; wy: "cs.wy"; wz: "cs.wz"; xa: "cs.xa"; xb: "cs.xb"; xc: "cs.xc"; xd: "cs.xd"; xe: "cs.xe"; xf: "cs.xf"; xg: "cs.xg"; xh: "cs.xh"; xi: "cs.xi"; xj: "cs.xj"; xk: "cs.xk"; xl: "cs.xl"; xm: "cs.xm"; xn: "cs.xn"; xo: "cs.xo"; xp: "cs.xp"; xq: "cs.xq"; xr: "cs.xr"; xs: "cs.xs"; xt: "cs.xt"; xu: "cs.xu"; xv: "cs.xv"; xw: "cs.xw"; xx: "cs.xx"; xy: "cs.xy"; xz: "cs.xz"; ya: "cs.ya"; yb: "cs.yb"; yc: "cs.yc"; yd: "cs.yd"; ye: "cs.ye"; yf: "cs.yf"; yg: "cs.yg"; yh: "cs.yh"; yi: "cs.yi"; yj: "cs.yj"; yk: "cs.yk"; yl: "cs.yl"; ym: "cs.ym"; yn: "cs.yn"; yo: "cs.yo"; yp: "cs.yp"; yq: "cs.yq"; yr: "cs.yr"; ys: "cs.ys"; yt: "cs.yt"; yu: "cs.yu"; yv: "cs.yv"; yw: "cs.yw"; yx: "cs.yx"; yy: "cs.yy"; yz: "cs.yz"; za: "cs.za"; zb: "cs.zb"; zc: "cs.zc"; zd: "cs.zd"; ze: "cs.ze"; zf: "cs.zf"; zg: "cs.zg"; zh: "cs.zh"; zi: "cs.zi"; zj: "cs.zj"; zk: "cs.zk"; zl: "cs.zl"; zm: "cs.zm"; zn: "cs.zn"; zo: "cs.zo"; zp: "cs.zp"; zq: "cs.zq"; zr: "cs.zr"; zs: "cs.zs"; zt: "cs.zt"; zu: "cs.zu"; zv: "cs.zv"; zw: "cs.zw"; zx: "cs.zx"; zy: "cs.zy"; zz: "cs.zz"; }; ct: { aa: "ct.aa"; ab: "ct.ab"; ac: "ct.ac"; ad: "ct.ad"; ae: "ct.ae"; af: "ct.af"; ag: "ct.ag"; ah: "ct.ah"; ai: "ct.ai"; aj: "ct.aj"; ak: "ct.ak"; al: "ct.al"; am: "ct.am"; an: "ct.an"; ao: "ct.ao"; ap: "ct.ap"; aq: "ct.aq"; ar: "ct.ar"; as: "ct.as"; at: "ct.at"; au: "ct.au"; av: "ct.av"; aw: "ct.aw"; ax: "ct.ax"; ay: "ct.ay"; az: "ct.az"; ba: "ct.ba"; bb: "ct.bb"; bc: "ct.bc"; bd: "ct.bd"; be: "ct.be"; bf: "ct.bf"; bg: "ct.bg"; bh: "ct.bh"; bi: "ct.bi"; bj: "ct.bj"; bk: "ct.bk"; bl: "ct.bl"; bm: "ct.bm"; bn: "ct.bn"; bo: "ct.bo"; bp: "ct.bp"; bq: "ct.bq"; br: "ct.br"; bs: "ct.bs"; bt: "ct.bt"; bu: "ct.bu"; bv: "ct.bv"; bw: "ct.bw"; bx: "ct.bx"; by: "ct.by"; bz: "ct.bz"; ca: "ct.ca"; cb: "ct.cb"; cc: "ct.cc"; cd: "ct.cd"; ce: "ct.ce"; cf: "ct.cf"; cg: "ct.cg"; ch: "ct.ch"; ci: "ct.ci"; cj: "ct.cj"; ck: "ct.ck"; cl: "ct.cl"; cm: "ct.cm"; cn: "ct.cn"; co: "ct.co"; cp: "ct.cp"; cq: "ct.cq"; cr: "ct.cr"; cs: "ct.cs"; ct: "ct.ct"; cu: "ct.cu"; cv: "ct.cv"; cw: "ct.cw"; cx: "ct.cx"; cy: "ct.cy"; cz: "ct.cz"; da: "ct.da"; db: "ct.db"; dc: "ct.dc"; dd: "ct.dd"; de: "ct.de"; df: "ct.df"; dg: "ct.dg"; dh: "ct.dh"; di: "ct.di"; dj: "ct.dj"; dk: "ct.dk"; dl: "ct.dl"; dm: "ct.dm"; dn: "ct.dn"; do: "ct.do"; dp: "ct.dp"; dq: "ct.dq"; dr: "ct.dr"; ds: "ct.ds"; dt: "ct.dt"; du: "ct.du"; dv: "ct.dv"; dw: "ct.dw"; dx: "ct.dx"; dy: "ct.dy"; dz: "ct.dz"; ea: "ct.ea"; eb: "ct.eb"; ec: "ct.ec"; ed: "ct.ed"; ee: "ct.ee"; ef: "ct.ef"; eg: "ct.eg"; eh: "ct.eh"; ei: "ct.ei"; ej: "ct.ej"; ek: "ct.ek"; el: "ct.el"; em: "ct.em"; en: "ct.en"; eo: "ct.eo"; ep: "ct.ep"; eq: "ct.eq"; er: "ct.er"; es: "ct.es"; et: "ct.et"; eu: "ct.eu"; ev: "ct.ev"; ew: "ct.ew"; ex: "ct.ex"; ey: "ct.ey"; ez: "ct.ez"; fa: "ct.fa"; fb: "ct.fb"; fc: "ct.fc"; fd: "ct.fd"; fe: "ct.fe"; ff: "ct.ff"; fg: "ct.fg"; fh: "ct.fh"; fi: "ct.fi"; fj: "ct.fj"; fk: "ct.fk"; fl: "ct.fl"; fm: "ct.fm"; fn: "ct.fn"; fo: "ct.fo"; fp: "ct.fp"; fq: "ct.fq"; fr: "ct.fr"; fs: "ct.fs"; ft: "ct.ft"; fu: "ct.fu"; fv: "ct.fv"; fw: "ct.fw"; fx: "ct.fx"; fy: "ct.fy"; fz: "ct.fz"; ga: "ct.ga"; gb: "ct.gb"; gc: "ct.gc"; gd: "ct.gd"; ge: "ct.ge"; gf: "ct.gf"; gg: "ct.gg"; gh: "ct.gh"; gi: "ct.gi"; gj: "ct.gj"; gk: "ct.gk"; gl: "ct.gl"; gm: "ct.gm"; gn: "ct.gn"; go: "ct.go"; gp: "ct.gp"; gq: "ct.gq"; gr: "ct.gr"; gs: "ct.gs"; gt: "ct.gt"; gu: "ct.gu"; gv: "ct.gv"; gw: "ct.gw"; gx: "ct.gx"; gy: "ct.gy"; gz: "ct.gz"; ha: "ct.ha"; hb: "ct.hb"; hc: "ct.hc"; hd: "ct.hd"; he: "ct.he"; hf: "ct.hf"; hg: "ct.hg"; hh: "ct.hh"; hi: "ct.hi"; hj: "ct.hj"; hk: "ct.hk"; hl: "ct.hl"; hm: "ct.hm"; hn: "ct.hn"; ho: "ct.ho"; hp: "ct.hp"; hq: "ct.hq"; hr: "ct.hr"; hs: "ct.hs"; ht: "ct.ht"; hu: "ct.hu"; hv: "ct.hv"; hw: "ct.hw"; hx: "ct.hx"; hy: "ct.hy"; hz: "ct.hz"; ia: "ct.ia"; ib: "ct.ib"; ic: "ct.ic"; id: "ct.id"; ie: "ct.ie"; if: "ct.if"; ig: "ct.ig"; ih: "ct.ih"; ii: "ct.ii"; ij: "ct.ij"; ik: "ct.ik"; il: "ct.il"; im: "ct.im"; in: "ct.in"; io: "ct.io"; ip: "ct.ip"; iq: "ct.iq"; ir: "ct.ir"; is: "ct.is"; it: "ct.it"; iu: "ct.iu"; iv: "ct.iv"; iw: "ct.iw"; ix: "ct.ix"; iy: "ct.iy"; iz: "ct.iz"; ja: "ct.ja"; jb: "ct.jb"; jc: "ct.jc"; jd: "ct.jd"; je: "ct.je"; jf: "ct.jf"; jg: "ct.jg"; jh: "ct.jh"; ji: "ct.ji"; jj: "ct.jj"; jk: "ct.jk"; jl: "ct.jl"; jm: "ct.jm"; jn: "ct.jn"; jo: "ct.jo"; jp: "ct.jp"; jq: "ct.jq"; jr: "ct.jr"; js: "ct.js"; jt: "ct.jt"; ju: "ct.ju"; jv: "ct.jv"; jw: "ct.jw"; jx: "ct.jx"; jy: "ct.jy"; jz: "ct.jz"; ka: "ct.ka"; kb: "ct.kb"; kc: "ct.kc"; kd: "ct.kd"; ke: "ct.ke"; kf: "ct.kf"; kg: "ct.kg"; kh: "ct.kh"; ki: "ct.ki"; kj: "ct.kj"; kk: "ct.kk"; kl: "ct.kl"; km: "ct.km"; kn: "ct.kn"; ko: "ct.ko"; kp: "ct.kp"; kq: "ct.kq"; kr: "ct.kr"; ks: "ct.ks"; kt: "ct.kt"; ku: "ct.ku"; kv: "ct.kv"; kw: "ct.kw"; kx: "ct.kx"; ky: "ct.ky"; kz: "ct.kz"; la: "ct.la"; lb: "ct.lb"; lc: "ct.lc"; ld: "ct.ld"; le: "ct.le"; lf: "ct.lf"; lg: "ct.lg"; lh: "ct.lh"; li: "ct.li"; lj: "ct.lj"; lk: "ct.lk"; ll: "ct.ll"; lm: "ct.lm"; ln: "ct.ln"; lo: "ct.lo"; lp: "ct.lp"; lq: "ct.lq"; lr: "ct.lr"; ls: "ct.ls"; lt: "ct.lt"; lu: "ct.lu"; lv: "ct.lv"; lw: "ct.lw"; lx: "ct.lx"; ly: "ct.ly"; lz: "ct.lz"; ma: "ct.ma"; mb: "ct.mb"; mc: "ct.mc"; md: "ct.md"; me: "ct.me"; mf: "ct.mf"; mg: "ct.mg"; mh: "ct.mh"; mi: "ct.mi"; mj: "ct.mj"; mk: "ct.mk"; ml: "ct.ml"; mm: "ct.mm"; mn: "ct.mn"; mo: "ct.mo"; mp: "ct.mp"; mq: "ct.mq"; mr: "ct.mr"; ms: "ct.ms"; mt: "ct.mt"; mu: "ct.mu"; mv: "ct.mv"; mw: "ct.mw"; mx: "ct.mx"; my: "ct.my"; mz: "ct.mz"; na: "ct.na"; nb: "ct.nb"; nc: "ct.nc"; nd: "ct.nd"; ne: "ct.ne"; nf: "ct.nf"; ng: "ct.ng"; nh: "ct.nh"; ni: "ct.ni"; nj: "ct.nj"; nk: "ct.nk"; nl: "ct.nl"; nm: "ct.nm"; nn: "ct.nn"; no: "ct.no"; np: "ct.np"; nq: "ct.nq"; nr: "ct.nr"; ns: "ct.ns"; nt: "ct.nt"; nu: "ct.nu"; nv: "ct.nv"; nw: "ct.nw"; nx: "ct.nx"; ny: "ct.ny"; nz: "ct.nz"; oa: "ct.oa"; ob: "ct.ob"; oc: "ct.oc"; od: "ct.od"; oe: "ct.oe"; of: "ct.of"; og: "ct.og"; oh: "ct.oh"; oi: "ct.oi"; oj: "ct.oj"; ok: "ct.ok"; ol: "ct.ol"; om: "ct.om"; on: "ct.on"; oo: "ct.oo"; op: "ct.op"; oq: "ct.oq"; or: "ct.or"; os: "ct.os"; ot: "ct.ot"; ou: "ct.ou"; ov: "ct.ov"; ow: "ct.ow"; ox: "ct.ox"; oy: "ct.oy"; oz: "ct.oz"; pa: "ct.pa"; pb: "ct.pb"; pc: "ct.pc"; pd: "ct.pd"; pe: "ct.pe"; pf: "ct.pf"; pg: "ct.pg"; ph: "ct.ph"; pi: "ct.pi"; pj: "ct.pj"; pk: "ct.pk"; pl: "ct.pl"; pm: "ct.pm"; pn: "ct.pn"; po: "ct.po"; pp: "ct.pp"; pq: "ct.pq"; pr: "ct.pr"; ps: "ct.ps"; pt: "ct.pt"; pu: "ct.pu"; pv: "ct.pv"; pw: "ct.pw"; px: "ct.px"; py: "ct.py"; pz: "ct.pz"; qa: "ct.qa"; qb: "ct.qb"; qc: "ct.qc"; qd: "ct.qd"; qe: "ct.qe"; qf: "ct.qf"; qg: "ct.qg"; qh: "ct.qh"; qi: "ct.qi"; qj: "ct.qj"; qk: "ct.qk"; ql: "ct.ql"; qm: "ct.qm"; qn: "ct.qn"; qo: "ct.qo"; qp: "ct.qp"; qq: "ct.qq"; qr: "ct.qr"; qs: "ct.qs"; qt: "ct.qt"; qu: "ct.qu"; qv: "ct.qv"; qw: "ct.qw"; qx: "ct.qx"; qy: "ct.qy"; qz: "ct.qz"; ra: "ct.ra"; rb: "ct.rb"; rc: "ct.rc"; rd: "ct.rd"; re: "ct.re"; rf: "ct.rf"; rg: "ct.rg"; rh: "ct.rh"; ri: "ct.ri"; rj: "ct.rj"; rk: "ct.rk"; rl: "ct.rl"; rm: "ct.rm"; rn: "ct.rn"; ro: "ct.ro"; rp: "ct.rp"; rq: "ct.rq"; rr: "ct.rr"; rs: "ct.rs"; rt: "ct.rt"; ru: "ct.ru"; rv: "ct.rv"; rw: "ct.rw"; rx: "ct.rx"; ry: "ct.ry"; rz: "ct.rz"; sa: "ct.sa"; sb: "ct.sb"; sc: "ct.sc"; sd: "ct.sd"; se: "ct.se"; sf: "ct.sf"; sg: "ct.sg"; sh: "ct.sh"; si: "ct.si"; sj: "ct.sj"; sk: "ct.sk"; sl: "ct.sl"; sm: "ct.sm"; sn: "ct.sn"; so: "ct.so"; sp: "ct.sp"; sq: "ct.sq"; sr: "ct.sr"; ss: "ct.ss"; st: "ct.st"; su: "ct.su"; sv: "ct.sv"; sw: "ct.sw"; sx: "ct.sx"; sy: "ct.sy"; sz: "ct.sz"; ta: "ct.ta"; tb: "ct.tb"; tc: "ct.tc"; td: "ct.td"; te: "ct.te"; tf: "ct.tf"; tg: "ct.tg"; th: "ct.th"; ti: "ct.ti"; tj: "ct.tj"; tk: "ct.tk"; tl: "ct.tl"; tm: "ct.tm"; tn: "ct.tn"; to: "ct.to"; tp: "ct.tp"; tq: "ct.tq"; tr: "ct.tr"; ts: "ct.ts"; tt: "ct.tt"; tu: "ct.tu"; tv: "ct.tv"; tw: "ct.tw"; tx: "ct.tx"; ty: "ct.ty"; tz: "ct.tz"; ua: "ct.ua"; ub: "ct.ub"; uc: "ct.uc"; ud: "ct.ud"; ue: "ct.ue"; uf: "ct.uf"; ug: "ct.ug"; uh: "ct.uh"; ui: "ct.ui"; uj: "ct.uj"; uk: "ct.uk"; ul: "ct.ul"; um: "ct.um"; un: "ct.un"; uo: "ct.uo"; up: "ct.up"; uq: "ct.uq"; ur: "ct.ur"; us: "ct.us"; ut: "ct.ut"; uu: "ct.uu"; uv: "ct.uv"; uw: "ct.uw"; ux: "ct.ux"; uy: "ct.uy"; uz: "ct.uz"; va: "ct.va"; vb: "ct.vb"; vc: "ct.vc"; vd: "ct.vd"; ve: "ct.ve"; vf: "ct.vf"; vg: "ct.vg"; vh: "ct.vh"; vi: "ct.vi"; vj: "ct.vj"; vk: "ct.vk"; vl: "ct.vl"; vm: "ct.vm"; vn: "ct.vn"; vo: "ct.vo"; vp: "ct.vp"; vq: "ct.vq"; vr: "ct.vr"; vs: "ct.vs"; vt: "ct.vt"; vu: "ct.vu"; vv: "ct.vv"; vw: "ct.vw"; vx: "ct.vx"; vy: "ct.vy"; vz: "ct.vz"; wa: "ct.wa"; wb: "ct.wb"; wc: "ct.wc"; wd: "ct.wd"; we: "ct.we"; wf: "ct.wf"; wg: "ct.wg"; wh: "ct.wh"; wi: "ct.wi"; wj: "ct.wj"; wk: "ct.wk"; wl: "ct.wl"; wm: "ct.wm"; wn: "ct.wn"; wo: "ct.wo"; wp: "ct.wp"; wq: "ct.wq"; wr: "ct.wr"; ws: "ct.ws"; wt: "ct.wt"; wu: "ct.wu"; wv: "ct.wv"; ww: "ct.ww"; wx: "ct.wx"; wy: "ct.wy"; wz: "ct.wz"; xa: "ct.xa"; xb: "ct.xb"; xc: "ct.xc"; xd: "ct.xd"; xe: "ct.xe"; xf: "ct.xf"; xg: "ct.xg"; xh: "ct.xh"; xi: "ct.xi"; xj: "ct.xj"; xk: "ct.xk"; xl: "ct.xl"; xm: "ct.xm"; xn: "ct.xn"; xo: "ct.xo"; xp: "ct.xp"; xq: "ct.xq"; xr: "ct.xr"; xs: "ct.xs"; xt: "ct.xt"; xu: "ct.xu"; xv: "ct.xv"; xw: "ct.xw"; xx: "ct.xx"; xy: "ct.xy"; xz: "ct.xz"; ya: "ct.ya"; yb: "ct.yb"; yc: "ct.yc"; yd: "ct.yd"; ye: "ct.ye"; yf: "ct.yf"; yg: "ct.yg"; yh: "ct.yh"; yi: "ct.yi"; yj: "ct.yj"; yk: "ct.yk"; yl: "ct.yl"; ym: "ct.ym"; yn: "ct.yn"; yo: "ct.yo"; yp: "ct.yp"; yq: "ct.yq"; yr: "ct.yr"; ys: "ct.ys"; yt: "ct.yt"; yu: "ct.yu"; yv: "ct.yv"; yw: "ct.yw"; yx: "ct.yx"; yy: "ct.yy"; yz: "ct.yz"; za: "ct.za"; zb: "ct.zb"; zc: "ct.zc"; zd: "ct.zd"; ze: "ct.ze"; zf: "ct.zf"; zg: "ct.zg"; zh: "ct.zh"; zi: "ct.zi"; zj: "ct.zj"; zk: "ct.zk"; zl: "ct.zl"; zm: "ct.zm"; zn: "ct.zn"; zo: "ct.zo"; zp: "ct.zp"; zq: "ct.zq"; zr: "ct.zr"; zs: "ct.zs"; zt: "ct.zt"; zu: "ct.zu"; zv: "ct.zv"; zw: "ct.zw"; zx: "ct.zx"; zy: "ct.zy"; zz: "ct.zz"; }; cu: { aa: "cu.aa"; ab: "cu.ab"; ac: "cu.ac"; ad: "cu.ad"; ae: "cu.ae"; af: "cu.af"; ag: "cu.ag"; ah: "cu.ah"; ai: "cu.ai"; aj: "cu.aj"; ak: "cu.ak"; al: "cu.al"; am: "cu.am"; an: "cu.an"; ao: "cu.ao"; ap: "cu.ap"; aq: "cu.aq"; ar: "cu.ar"; as: "cu.as"; at: "cu.at"; au: "cu.au"; av: "cu.av"; aw: "cu.aw"; ax: "cu.ax"; ay: "cu.ay"; az: "cu.az"; ba: "cu.ba"; bb: "cu.bb"; bc: "cu.bc"; bd: "cu.bd"; be: "cu.be"; bf: "cu.bf"; bg: "cu.bg"; bh: "cu.bh"; bi: "cu.bi"; bj: "cu.bj"; bk: "cu.bk"; bl: "cu.bl"; bm: "cu.bm"; bn: "cu.bn"; bo: "cu.bo"; bp: "cu.bp"; bq: "cu.bq"; br: "cu.br"; bs: "cu.bs"; bt: "cu.bt"; bu: "cu.bu"; bv: "cu.bv"; bw: "cu.bw"; bx: "cu.bx"; by: "cu.by"; bz: "cu.bz"; ca: "cu.ca"; cb: "cu.cb"; cc: "cu.cc"; cd: "cu.cd"; ce: "cu.ce"; cf: "cu.cf"; cg: "cu.cg"; ch: "cu.ch"; ci: "cu.ci"; cj: "cu.cj"; ck: "cu.ck"; cl: "cu.cl"; cm: "cu.cm"; cn: "cu.cn"; co: "cu.co"; cp: "cu.cp"; cq: "cu.cq"; cr: "cu.cr"; cs: "cu.cs"; ct: "cu.ct"; cu: "cu.cu"; cv: "cu.cv"; cw: "cu.cw"; cx: "cu.cx"; cy: "cu.cy"; cz: "cu.cz"; da: "cu.da"; db: "cu.db"; dc: "cu.dc"; dd: "cu.dd"; de: "cu.de"; df: "cu.df"; dg: "cu.dg"; dh: "cu.dh"; di: "cu.di"; dj: "cu.dj"; dk: "cu.dk"; dl: "cu.dl"; dm: "cu.dm"; dn: "cu.dn"; do: "cu.do"; dp: "cu.dp"; dq: "cu.dq"; dr: "cu.dr"; ds: "cu.ds"; dt: "cu.dt"; du: "cu.du"; dv: "cu.dv"; dw: "cu.dw"; dx: "cu.dx"; dy: "cu.dy"; dz: "cu.dz"; ea: "cu.ea"; eb: "cu.eb"; ec: "cu.ec"; ed: "cu.ed"; ee: "cu.ee"; ef: "cu.ef"; eg: "cu.eg"; eh: "cu.eh"; ei: "cu.ei"; ej: "cu.ej"; ek: "cu.ek"; el: "cu.el"; em: "cu.em"; en: "cu.en"; eo: "cu.eo"; ep: "cu.ep"; eq: "cu.eq"; er: "cu.er"; es: "cu.es"; et: "cu.et"; eu: "cu.eu"; ev: "cu.ev"; ew: "cu.ew"; ex: "cu.ex"; ey: "cu.ey"; ez: "cu.ez"; fa: "cu.fa"; fb: "cu.fb"; fc: "cu.fc"; fd: "cu.fd"; fe: "cu.fe"; ff: "cu.ff"; fg: "cu.fg"; fh: "cu.fh"; fi: "cu.fi"; fj: "cu.fj"; fk: "cu.fk"; fl: "cu.fl"; fm: "cu.fm"; fn: "cu.fn"; fo: "cu.fo"; fp: "cu.fp"; fq: "cu.fq"; fr: "cu.fr"; fs: "cu.fs"; ft: "cu.ft"; fu: "cu.fu"; fv: "cu.fv"; fw: "cu.fw"; fx: "cu.fx"; fy: "cu.fy"; fz: "cu.fz"; ga: "cu.ga"; gb: "cu.gb"; gc: "cu.gc"; gd: "cu.gd"; ge: "cu.ge"; gf: "cu.gf"; gg: "cu.gg"; gh: "cu.gh"; gi: "cu.gi"; gj: "cu.gj"; gk: "cu.gk"; gl: "cu.gl"; gm: "cu.gm"; gn: "cu.gn"; go: "cu.go"; gp: "cu.gp"; gq: "cu.gq"; gr: "cu.gr"; gs: "cu.gs"; gt: "cu.gt"; gu: "cu.gu"; gv: "cu.gv"; gw: "cu.gw"; gx: "cu.gx"; gy: "cu.gy"; gz: "cu.gz"; ha: "cu.ha"; hb: "cu.hb"; hc: "cu.hc"; hd: "cu.hd"; he: "cu.he"; hf: "cu.hf"; hg: "cu.hg"; hh: "cu.hh"; hi: "cu.hi"; hj: "cu.hj"; hk: "cu.hk"; hl: "cu.hl"; hm: "cu.hm"; hn: "cu.hn"; ho: "cu.ho"; hp: "cu.hp"; hq: "cu.hq"; hr: "cu.hr"; hs: "cu.hs"; ht: "cu.ht"; hu: "cu.hu"; hv: "cu.hv"; hw: "cu.hw"; hx: "cu.hx"; hy: "cu.hy"; hz: "cu.hz"; ia: "cu.ia"; ib: "cu.ib"; ic: "cu.ic"; id: "cu.id"; ie: "cu.ie"; if: "cu.if"; ig: "cu.ig"; ih: "cu.ih"; ii: "cu.ii"; ij: "cu.ij"; ik: "cu.ik"; il: "cu.il"; im: "cu.im"; in: "cu.in"; io: "cu.io"; ip: "cu.ip"; iq: "cu.iq"; ir: "cu.ir"; is: "cu.is"; it: "cu.it"; iu: "cu.iu"; iv: "cu.iv"; iw: "cu.iw"; ix: "cu.ix"; iy: "cu.iy"; iz: "cu.iz"; ja: "cu.ja"; jb: "cu.jb"; jc: "cu.jc"; jd: "cu.jd"; je: "cu.je"; jf: "cu.jf"; jg: "cu.jg"; jh: "cu.jh"; ji: "cu.ji"; jj: "cu.jj"; jk: "cu.jk"; jl: "cu.jl"; jm: "cu.jm"; jn: "cu.jn"; jo: "cu.jo"; jp: "cu.jp"; jq: "cu.jq"; jr: "cu.jr"; js: "cu.js"; jt: "cu.jt"; ju: "cu.ju"; jv: "cu.jv"; jw: "cu.jw"; jx: "cu.jx"; jy: "cu.jy"; jz: "cu.jz"; ka: "cu.ka"; kb: "cu.kb"; kc: "cu.kc"; kd: "cu.kd"; ke: "cu.ke"; kf: "cu.kf"; kg: "cu.kg"; kh: "cu.kh"; ki: "cu.ki"; kj: "cu.kj"; kk: "cu.kk"; kl: "cu.kl"; km: "cu.km"; kn: "cu.kn"; ko: "cu.ko"; kp: "cu.kp"; kq: "cu.kq"; kr: "cu.kr"; ks: "cu.ks"; kt: "cu.kt"; ku: "cu.ku"; kv: "cu.kv"; kw: "cu.kw"; kx: "cu.kx"; ky: "cu.ky"; kz: "cu.kz"; la: "cu.la"; lb: "cu.lb"; lc: "cu.lc"; ld: "cu.ld"; le: "cu.le"; lf: "cu.lf"; lg: "cu.lg"; lh: "cu.lh"; li: "cu.li"; lj: "cu.lj"; lk: "cu.lk"; ll: "cu.ll"; lm: "cu.lm"; ln: "cu.ln"; lo: "cu.lo"; lp: "cu.lp"; lq: "cu.lq"; lr: "cu.lr"; ls: "cu.ls"; lt: "cu.lt"; lu: "cu.lu"; lv: "cu.lv"; lw: "cu.lw"; lx: "cu.lx"; ly: "cu.ly"; lz: "cu.lz"; ma: "cu.ma"; mb: "cu.mb"; mc: "cu.mc"; md: "cu.md"; me: "cu.me"; mf: "cu.mf"; mg: "cu.mg"; mh: "cu.mh"; mi: "cu.mi"; mj: "cu.mj"; mk: "cu.mk"; ml: "cu.ml"; mm: "cu.mm"; mn: "cu.mn"; mo: "cu.mo"; mp: "cu.mp"; mq: "cu.mq"; mr: "cu.mr"; ms: "cu.ms"; mt: "cu.mt"; mu: "cu.mu"; mv: "cu.mv"; mw: "cu.mw"; mx: "cu.mx"; my: "cu.my"; mz: "cu.mz"; na: "cu.na"; nb: "cu.nb"; nc: "cu.nc"; nd: "cu.nd"; ne: "cu.ne"; nf: "cu.nf"; ng: "cu.ng"; nh: "cu.nh"; ni: "cu.ni"; nj: "cu.nj"; nk: "cu.nk"; nl: "cu.nl"; nm: "cu.nm"; nn: "cu.nn"; no: "cu.no"; np: "cu.np"; nq: "cu.nq"; nr: "cu.nr"; ns: "cu.ns"; nt: "cu.nt"; nu: "cu.nu"; nv: "cu.nv"; nw: "cu.nw"; nx: "cu.nx"; ny: "cu.ny"; nz: "cu.nz"; oa: "cu.oa"; ob: "cu.ob"; oc: "cu.oc"; od: "cu.od"; oe: "cu.oe"; of: "cu.of"; og: "cu.og"; oh: "cu.oh"; oi: "cu.oi"; oj: "cu.oj"; ok: "cu.ok"; ol: "cu.ol"; om: "cu.om"; on: "cu.on"; oo: "cu.oo"; op: "cu.op"; oq: "cu.oq"; or: "cu.or"; os: "cu.os"; ot: "cu.ot"; ou: "cu.ou"; ov: "cu.ov"; ow: "cu.ow"; ox: "cu.ox"; oy: "cu.oy"; oz: "cu.oz"; pa: "cu.pa"; pb: "cu.pb"; pc: "cu.pc"; pd: "cu.pd"; pe: "cu.pe"; pf: "cu.pf"; pg: "cu.pg"; ph: "cu.ph"; pi: "cu.pi"; pj: "cu.pj"; pk: "cu.pk"; pl: "cu.pl"; pm: "cu.pm"; pn: "cu.pn"; po: "cu.po"; pp: "cu.pp"; pq: "cu.pq"; pr: "cu.pr"; ps: "cu.ps"; pt: "cu.pt"; pu: "cu.pu"; pv: "cu.pv"; pw: "cu.pw"; px: "cu.px"; py: "cu.py"; pz: "cu.pz"; qa: "cu.qa"; qb: "cu.qb"; qc: "cu.qc"; qd: "cu.qd"; qe: "cu.qe"; qf: "cu.qf"; qg: "cu.qg"; qh: "cu.qh"; qi: "cu.qi"; qj: "cu.qj"; qk: "cu.qk"; ql: "cu.ql"; qm: "cu.qm"; qn: "cu.qn"; qo: "cu.qo"; qp: "cu.qp"; qq: "cu.qq"; qr: "cu.qr"; qs: "cu.qs"; qt: "cu.qt"; qu: "cu.qu"; qv: "cu.qv"; qw: "cu.qw"; qx: "cu.qx"; qy: "cu.qy"; qz: "cu.qz"; ra: "cu.ra"; rb: "cu.rb"; rc: "cu.rc"; rd: "cu.rd"; re: "cu.re"; rf: "cu.rf"; rg: "cu.rg"; rh: "cu.rh"; ri: "cu.ri"; rj: "cu.rj"; rk: "cu.rk"; rl: "cu.rl"; rm: "cu.rm"; rn: "cu.rn"; ro: "cu.ro"; rp: "cu.rp"; rq: "cu.rq"; rr: "cu.rr"; rs: "cu.rs"; rt: "cu.rt"; ru: "cu.ru"; rv: "cu.rv"; rw: "cu.rw"; rx: "cu.rx"; ry: "cu.ry"; rz: "cu.rz"; sa: "cu.sa"; sb: "cu.sb"; sc: "cu.sc"; sd: "cu.sd"; se: "cu.se"; sf: "cu.sf"; sg: "cu.sg"; sh: "cu.sh"; si: "cu.si"; sj: "cu.sj"; sk: "cu.sk"; sl: "cu.sl"; sm: "cu.sm"; sn: "cu.sn"; so: "cu.so"; sp: "cu.sp"; sq: "cu.sq"; sr: "cu.sr"; ss: "cu.ss"; st: "cu.st"; su: "cu.su"; sv: "cu.sv"; sw: "cu.sw"; sx: "cu.sx"; sy: "cu.sy"; sz: "cu.sz"; ta: "cu.ta"; tb: "cu.tb"; tc: "cu.tc"; td: "cu.td"; te: "cu.te"; tf: "cu.tf"; tg: "cu.tg"; th: "cu.th"; ti: "cu.ti"; tj: "cu.tj"; tk: "cu.tk"; tl: "cu.tl"; tm: "cu.tm"; tn: "cu.tn"; to: "cu.to"; tp: "cu.tp"; tq: "cu.tq"; tr: "cu.tr"; ts: "cu.ts"; tt: "cu.tt"; tu: "cu.tu"; tv: "cu.tv"; tw: "cu.tw"; tx: "cu.tx"; ty: "cu.ty"; tz: "cu.tz"; ua: "cu.ua"; ub: "cu.ub"; uc: "cu.uc"; ud: "cu.ud"; ue: "cu.ue"; uf: "cu.uf"; ug: "cu.ug"; uh: "cu.uh"; ui: "cu.ui"; uj: "cu.uj"; uk: "cu.uk"; ul: "cu.ul"; um: "cu.um"; un: "cu.un"; uo: "cu.uo"; up: "cu.up"; uq: "cu.uq"; ur: "cu.ur"; us: "cu.us"; ut: "cu.ut"; uu: "cu.uu"; uv: "cu.uv"; uw: "cu.uw"; ux: "cu.ux"; uy: "cu.uy"; uz: "cu.uz"; va: "cu.va"; vb: "cu.vb"; vc: "cu.vc"; vd: "cu.vd"; ve: "cu.ve"; vf: "cu.vf"; vg: "cu.vg"; vh: "cu.vh"; vi: "cu.vi"; vj: "cu.vj"; vk: "cu.vk"; vl: "cu.vl"; vm: "cu.vm"; vn: "cu.vn"; vo: "cu.vo"; vp: "cu.vp"; vq: "cu.vq"; vr: "cu.vr"; vs: "cu.vs"; vt: "cu.vt"; vu: "cu.vu"; vv: "cu.vv"; vw: "cu.vw"; vx: "cu.vx"; vy: "cu.vy"; vz: "cu.vz"; wa: "cu.wa"; wb: "cu.wb"; wc: "cu.wc"; wd: "cu.wd"; we: "cu.we"; wf: "cu.wf"; wg: "cu.wg"; wh: "cu.wh"; wi: "cu.wi"; wj: "cu.wj"; wk: "cu.wk"; wl: "cu.wl"; wm: "cu.wm"; wn: "cu.wn"; wo: "cu.wo"; wp: "cu.wp"; wq: "cu.wq"; wr: "cu.wr"; ws: "cu.ws"; wt: "cu.wt"; wu: "cu.wu"; wv: "cu.wv"; ww: "cu.ww"; wx: "cu.wx"; wy: "cu.wy"; wz: "cu.wz"; xa: "cu.xa"; xb: "cu.xb"; xc: "cu.xc"; xd: "cu.xd"; xe: "cu.xe"; xf: "cu.xf"; xg: "cu.xg"; xh: "cu.xh"; xi: "cu.xi"; xj: "cu.xj"; xk: "cu.xk"; xl: "cu.xl"; xm: "cu.xm"; xn: "cu.xn"; xo: "cu.xo"; xp: "cu.xp"; xq: "cu.xq"; xr: "cu.xr"; xs: "cu.xs"; xt: "cu.xt"; xu: "cu.xu"; xv: "cu.xv"; xw: "cu.xw"; xx: "cu.xx"; xy: "cu.xy"; xz: "cu.xz"; ya: "cu.ya"; yb: "cu.yb"; yc: "cu.yc"; yd: "cu.yd"; ye: "cu.ye"; yf: "cu.yf"; yg: "cu.yg"; yh: "cu.yh"; yi: "cu.yi"; yj: "cu.yj"; yk: "cu.yk"; yl: "cu.yl"; ym: "cu.ym"; yn: "cu.yn"; yo: "cu.yo"; yp: "cu.yp"; yq: "cu.yq"; yr: "cu.yr"; ys: "cu.ys"; yt: "cu.yt"; yu: "cu.yu"; yv: "cu.yv"; yw: "cu.yw"; yx: "cu.yx"; yy: "cu.yy"; yz: "cu.yz"; za: "cu.za"; zb: "cu.zb"; zc: "cu.zc"; zd: "cu.zd"; ze: "cu.ze"; zf: "cu.zf"; zg: "cu.zg"; zh: "cu.zh"; zi: "cu.zi"; zj: "cu.zj"; zk: "cu.zk"; zl: "cu.zl"; zm: "cu.zm"; zn: "cu.zn"; zo: "cu.zo"; zp: "cu.zp"; zq: "cu.zq"; zr: "cu.zr"; zs: "cu.zs"; zt: "cu.zt"; zu: "cu.zu"; zv: "cu.zv"; zw: "cu.zw"; zx: "cu.zx"; zy: "cu.zy"; zz: "cu.zz"; }; cv: { aa: "cv.aa"; ab: "cv.ab"; ac: "cv.ac"; ad: "cv.ad"; ae: "cv.ae"; af: "cv.af"; ag: "cv.ag"; ah: "cv.ah"; ai: "cv.ai"; aj: "cv.aj"; ak: "cv.ak"; al: "cv.al"; am: "cv.am"; an: "cv.an"; ao: "cv.ao"; ap: "cv.ap"; aq: "cv.aq"; ar: "cv.ar"; as: "cv.as"; at: "cv.at"; au: "cv.au"; av: "cv.av"; aw: "cv.aw"; ax: "cv.ax"; ay: "cv.ay"; az: "cv.az"; ba: "cv.ba"; bb: "cv.bb"; bc: "cv.bc"; bd: "cv.bd"; be: "cv.be"; bf: "cv.bf"; bg: "cv.bg"; bh: "cv.bh"; bi: "cv.bi"; bj: "cv.bj"; bk: "cv.bk"; bl: "cv.bl"; bm: "cv.bm"; bn: "cv.bn"; bo: "cv.bo"; bp: "cv.bp"; bq: "cv.bq"; br: "cv.br"; bs: "cv.bs"; bt: "cv.bt"; bu: "cv.bu"; bv: "cv.bv"; bw: "cv.bw"; bx: "cv.bx"; by: "cv.by"; bz: "cv.bz"; ca: "cv.ca"; cb: "cv.cb"; cc: "cv.cc"; cd: "cv.cd"; ce: "cv.ce"; cf: "cv.cf"; cg: "cv.cg"; ch: "cv.ch"; ci: "cv.ci"; cj: "cv.cj"; ck: "cv.ck"; cl: "cv.cl"; cm: "cv.cm"; cn: "cv.cn"; co: "cv.co"; cp: "cv.cp"; cq: "cv.cq"; cr: "cv.cr"; cs: "cv.cs"; ct: "cv.ct"; cu: "cv.cu"; cv: "cv.cv"; cw: "cv.cw"; cx: "cv.cx"; cy: "cv.cy"; cz: "cv.cz"; da: "cv.da"; db: "cv.db"; dc: "cv.dc"; dd: "cv.dd"; de: "cv.de"; df: "cv.df"; dg: "cv.dg"; dh: "cv.dh"; di: "cv.di"; dj: "cv.dj"; dk: "cv.dk"; dl: "cv.dl"; dm: "cv.dm"; dn: "cv.dn"; do: "cv.do"; dp: "cv.dp"; dq: "cv.dq"; dr: "cv.dr"; ds: "cv.ds"; dt: "cv.dt"; du: "cv.du"; dv: "cv.dv"; dw: "cv.dw"; dx: "cv.dx"; dy: "cv.dy"; dz: "cv.dz"; ea: "cv.ea"; eb: "cv.eb"; ec: "cv.ec"; ed: "cv.ed"; ee: "cv.ee"; ef: "cv.ef"; eg: "cv.eg"; eh: "cv.eh"; ei: "cv.ei"; ej: "cv.ej"; ek: "cv.ek"; el: "cv.el"; em: "cv.em"; en: "cv.en"; eo: "cv.eo"; ep: "cv.ep"; eq: "cv.eq"; er: "cv.er"; es: "cv.es"; et: "cv.et"; eu: "cv.eu"; ev: "cv.ev"; ew: "cv.ew"; ex: "cv.ex"; ey: "cv.ey"; ez: "cv.ez"; fa: "cv.fa"; fb: "cv.fb"; fc: "cv.fc"; fd: "cv.fd"; fe: "cv.fe"; ff: "cv.ff"; fg: "cv.fg"; fh: "cv.fh"; fi: "cv.fi"; fj: "cv.fj"; fk: "cv.fk"; fl: "cv.fl"; fm: "cv.fm"; fn: "cv.fn"; fo: "cv.fo"; fp: "cv.fp"; fq: "cv.fq"; fr: "cv.fr"; fs: "cv.fs"; ft: "cv.ft"; fu: "cv.fu"; fv: "cv.fv"; fw: "cv.fw"; fx: "cv.fx"; fy: "cv.fy"; fz: "cv.fz"; ga: "cv.ga"; gb: "cv.gb"; gc: "cv.gc"; gd: "cv.gd"; ge: "cv.ge"; gf: "cv.gf"; gg: "cv.gg"; gh: "cv.gh"; gi: "cv.gi"; gj: "cv.gj"; gk: "cv.gk"; gl: "cv.gl"; gm: "cv.gm"; gn: "cv.gn"; go: "cv.go"; gp: "cv.gp"; gq: "cv.gq"; gr: "cv.gr"; gs: "cv.gs"; gt: "cv.gt"; gu: "cv.gu"; gv: "cv.gv"; gw: "cv.gw"; gx: "cv.gx"; gy: "cv.gy"; gz: "cv.gz"; ha: "cv.ha"; hb: "cv.hb"; hc: "cv.hc"; hd: "cv.hd"; he: "cv.he"; hf: "cv.hf"; hg: "cv.hg"; hh: "cv.hh"; hi: "cv.hi"; hj: "cv.hj"; hk: "cv.hk"; hl: "cv.hl"; hm: "cv.hm"; hn: "cv.hn"; ho: "cv.ho"; hp: "cv.hp"; hq: "cv.hq"; hr: "cv.hr"; hs: "cv.hs"; ht: "cv.ht"; hu: "cv.hu"; hv: "cv.hv"; hw: "cv.hw"; hx: "cv.hx"; hy: "cv.hy"; hz: "cv.hz"; ia: "cv.ia"; ib: "cv.ib"; ic: "cv.ic"; id: "cv.id"; ie: "cv.ie"; if: "cv.if"; ig: "cv.ig"; ih: "cv.ih"; ii: "cv.ii"; ij: "cv.ij"; ik: "cv.ik"; il: "cv.il"; im: "cv.im"; in: "cv.in"; io: "cv.io"; ip: "cv.ip"; iq: "cv.iq"; ir: "cv.ir"; is: "cv.is"; it: "cv.it"; iu: "cv.iu"; iv: "cv.iv"; iw: "cv.iw"; ix: "cv.ix"; iy: "cv.iy"; iz: "cv.iz"; ja: "cv.ja"; jb: "cv.jb"; jc: "cv.jc"; jd: "cv.jd"; je: "cv.je"; jf: "cv.jf"; jg: "cv.jg"; jh: "cv.jh"; ji: "cv.ji"; jj: "cv.jj"; jk: "cv.jk"; jl: "cv.jl"; jm: "cv.jm"; jn: "cv.jn"; jo: "cv.jo"; jp: "cv.jp"; jq: "cv.jq"; jr: "cv.jr"; js: "cv.js"; jt: "cv.jt"; ju: "cv.ju"; jv: "cv.jv"; jw: "cv.jw"; jx: "cv.jx"; jy: "cv.jy"; jz: "cv.jz"; ka: "cv.ka"; kb: "cv.kb"; kc: "cv.kc"; kd: "cv.kd"; ke: "cv.ke"; kf: "cv.kf"; kg: "cv.kg"; kh: "cv.kh"; ki: "cv.ki"; kj: "cv.kj"; kk: "cv.kk"; kl: "cv.kl"; km: "cv.km"; kn: "cv.kn"; ko: "cv.ko"; kp: "cv.kp"; kq: "cv.kq"; kr: "cv.kr"; ks: "cv.ks"; kt: "cv.kt"; ku: "cv.ku"; kv: "cv.kv"; kw: "cv.kw"; kx: "cv.kx"; ky: "cv.ky"; kz: "cv.kz"; la: "cv.la"; lb: "cv.lb"; lc: "cv.lc"; ld: "cv.ld"; le: "cv.le"; lf: "cv.lf"; lg: "cv.lg"; lh: "cv.lh"; li: "cv.li"; lj: "cv.lj"; lk: "cv.lk"; ll: "cv.ll"; lm: "cv.lm"; ln: "cv.ln"; lo: "cv.lo"; lp: "cv.lp"; lq: "cv.lq"; lr: "cv.lr"; ls: "cv.ls"; lt: "cv.lt"; lu: "cv.lu"; lv: "cv.lv"; lw: "cv.lw"; lx: "cv.lx"; ly: "cv.ly"; lz: "cv.lz"; ma: "cv.ma"; mb: "cv.mb"; mc: "cv.mc"; md: "cv.md"; me: "cv.me"; mf: "cv.mf"; mg: "cv.mg"; mh: "cv.mh"; mi: "cv.mi"; mj: "cv.mj"; mk: "cv.mk"; ml: "cv.ml"; mm: "cv.mm"; mn: "cv.mn"; mo: "cv.mo"; mp: "cv.mp"; mq: "cv.mq"; mr: "cv.mr"; ms: "cv.ms"; mt: "cv.mt"; mu: "cv.mu"; mv: "cv.mv"; mw: "cv.mw"; mx: "cv.mx"; my: "cv.my"; mz: "cv.mz"; na: "cv.na"; nb: "cv.nb"; nc: "cv.nc"; nd: "cv.nd"; ne: "cv.ne"; nf: "cv.nf"; ng: "cv.ng"; nh: "cv.nh"; ni: "cv.ni"; nj: "cv.nj"; nk: "cv.nk"; nl: "cv.nl"; nm: "cv.nm"; nn: "cv.nn"; no: "cv.no"; np: "cv.np"; nq: "cv.nq"; nr: "cv.nr"; ns: "cv.ns"; nt: "cv.nt"; nu: "cv.nu"; nv: "cv.nv"; nw: "cv.nw"; nx: "cv.nx"; ny: "cv.ny"; nz: "cv.nz"; oa: "cv.oa"; ob: "cv.ob"; oc: "cv.oc"; od: "cv.od"; oe: "cv.oe"; of: "cv.of"; og: "cv.og"; oh: "cv.oh"; oi: "cv.oi"; oj: "cv.oj"; ok: "cv.ok"; ol: "cv.ol"; om: "cv.om"; on: "cv.on"; oo: "cv.oo"; op: "cv.op"; oq: "cv.oq"; or: "cv.or"; os: "cv.os"; ot: "cv.ot"; ou: "cv.ou"; ov: "cv.ov"; ow: "cv.ow"; ox: "cv.ox"; oy: "cv.oy"; oz: "cv.oz"; pa: "cv.pa"; pb: "cv.pb"; pc: "cv.pc"; pd: "cv.pd"; pe: "cv.pe"; pf: "cv.pf"; pg: "cv.pg"; ph: "cv.ph"; pi: "cv.pi"; pj: "cv.pj"; pk: "cv.pk"; pl: "cv.pl"; pm: "cv.pm"; pn: "cv.pn"; po: "cv.po"; pp: "cv.pp"; pq: "cv.pq"; pr: "cv.pr"; ps: "cv.ps"; pt: "cv.pt"; pu: "cv.pu"; pv: "cv.pv"; pw: "cv.pw"; px: "cv.px"; py: "cv.py"; pz: "cv.pz"; qa: "cv.qa"; qb: "cv.qb"; qc: "cv.qc"; qd: "cv.qd"; qe: "cv.qe"; qf: "cv.qf"; qg: "cv.qg"; qh: "cv.qh"; qi: "cv.qi"; qj: "cv.qj"; qk: "cv.qk"; ql: "cv.ql"; qm: "cv.qm"; qn: "cv.qn"; qo: "cv.qo"; qp: "cv.qp"; qq: "cv.qq"; qr: "cv.qr"; qs: "cv.qs"; qt: "cv.qt"; qu: "cv.qu"; qv: "cv.qv"; qw: "cv.qw"; qx: "cv.qx"; qy: "cv.qy"; qz: "cv.qz"; ra: "cv.ra"; rb: "cv.rb"; rc: "cv.rc"; rd: "cv.rd"; re: "cv.re"; rf: "cv.rf"; rg: "cv.rg"; rh: "cv.rh"; ri: "cv.ri"; rj: "cv.rj"; rk: "cv.rk"; rl: "cv.rl"; rm: "cv.rm"; rn: "cv.rn"; ro: "cv.ro"; rp: "cv.rp"; rq: "cv.rq"; rr: "cv.rr"; rs: "cv.rs"; rt: "cv.rt"; ru: "cv.ru"; rv: "cv.rv"; rw: "cv.rw"; rx: "cv.rx"; ry: "cv.ry"; rz: "cv.rz"; sa: "cv.sa"; sb: "cv.sb"; sc: "cv.sc"; sd: "cv.sd"; se: "cv.se"; sf: "cv.sf"; sg: "cv.sg"; sh: "cv.sh"; si: "cv.si"; sj: "cv.sj"; sk: "cv.sk"; sl: "cv.sl"; sm: "cv.sm"; sn: "cv.sn"; so: "cv.so"; sp: "cv.sp"; sq: "cv.sq"; sr: "cv.sr"; ss: "cv.ss"; st: "cv.st"; su: "cv.su"; sv: "cv.sv"; sw: "cv.sw"; sx: "cv.sx"; sy: "cv.sy"; sz: "cv.sz"; ta: "cv.ta"; tb: "cv.tb"; tc: "cv.tc"; td: "cv.td"; te: "cv.te"; tf: "cv.tf"; tg: "cv.tg"; th: "cv.th"; ti: "cv.ti"; tj: "cv.tj"; tk: "cv.tk"; tl: "cv.tl"; tm: "cv.tm"; tn: "cv.tn"; to: "cv.to"; tp: "cv.tp"; tq: "cv.tq"; tr: "cv.tr"; ts: "cv.ts"; tt: "cv.tt"; tu: "cv.tu"; tv: "cv.tv"; tw: "cv.tw"; tx: "cv.tx"; ty: "cv.ty"; tz: "cv.tz"; ua: "cv.ua"; ub: "cv.ub"; uc: "cv.uc"; ud: "cv.ud"; ue: "cv.ue"; uf: "cv.uf"; ug: "cv.ug"; uh: "cv.uh"; ui: "cv.ui"; uj: "cv.uj"; uk: "cv.uk"; ul: "cv.ul"; um: "cv.um"; un: "cv.un"; uo: "cv.uo"; up: "cv.up"; uq: "cv.uq"; ur: "cv.ur"; us: "cv.us"; ut: "cv.ut"; uu: "cv.uu"; uv: "cv.uv"; uw: "cv.uw"; ux: "cv.ux"; uy: "cv.uy"; uz: "cv.uz"; va: "cv.va"; vb: "cv.vb"; vc: "cv.vc"; vd: "cv.vd"; ve: "cv.ve"; vf: "cv.vf"; vg: "cv.vg"; vh: "cv.vh"; vi: "cv.vi"; vj: "cv.vj"; vk: "cv.vk"; vl: "cv.vl"; vm: "cv.vm"; vn: "cv.vn"; vo: "cv.vo"; vp: "cv.vp"; vq: "cv.vq"; vr: "cv.vr"; vs: "cv.vs"; vt: "cv.vt"; vu: "cv.vu"; vv: "cv.vv"; vw: "cv.vw"; vx: "cv.vx"; vy: "cv.vy"; vz: "cv.vz"; wa: "cv.wa"; wb: "cv.wb"; wc: "cv.wc"; wd: "cv.wd"; we: "cv.we"; wf: "cv.wf"; wg: "cv.wg"; wh: "cv.wh"; wi: "cv.wi"; wj: "cv.wj"; wk: "cv.wk"; wl: "cv.wl"; wm: "cv.wm"; wn: "cv.wn"; wo: "cv.wo"; wp: "cv.wp"; wq: "cv.wq"; wr: "cv.wr"; ws: "cv.ws"; wt: "cv.wt"; wu: "cv.wu"; wv: "cv.wv"; ww: "cv.ww"; wx: "cv.wx"; wy: "cv.wy"; wz: "cv.wz"; xa: "cv.xa"; xb: "cv.xb"; xc: "cv.xc"; xd: "cv.xd"; xe: "cv.xe"; xf: "cv.xf"; xg: "cv.xg"; xh: "cv.xh"; xi: "cv.xi"; xj: "cv.xj"; xk: "cv.xk"; xl: "cv.xl"; xm: "cv.xm"; xn: "cv.xn"; xo: "cv.xo"; xp: "cv.xp"; xq: "cv.xq"; xr: "cv.xr"; xs: "cv.xs"; xt: "cv.xt"; xu: "cv.xu"; xv: "cv.xv"; xw: "cv.xw"; xx: "cv.xx"; xy: "cv.xy"; xz: "cv.xz"; ya: "cv.ya"; yb: "cv.yb"; yc: "cv.yc"; yd: "cv.yd"; ye: "cv.ye"; yf: "cv.yf"; yg: "cv.yg"; yh: "cv.yh"; yi: "cv.yi"; yj: "cv.yj"; yk: "cv.yk"; yl: "cv.yl"; ym: "cv.ym"; yn: "cv.yn"; yo: "cv.yo"; yp: "cv.yp"; yq: "cv.yq"; yr: "cv.yr"; ys: "cv.ys"; yt: "cv.yt"; yu: "cv.yu"; yv: "cv.yv"; yw: "cv.yw"; yx: "cv.yx"; yy: "cv.yy"; yz: "cv.yz"; za: "cv.za"; zb: "cv.zb"; zc: "cv.zc"; zd: "cv.zd"; ze: "cv.ze"; zf: "cv.zf"; zg: "cv.zg"; zh: "cv.zh"; zi: "cv.zi"; zj: "cv.zj"; zk: "cv.zk"; zl: "cv.zl"; zm: "cv.zm"; zn: "cv.zn"; zo: "cv.zo"; zp: "cv.zp"; zq: "cv.zq"; zr: "cv.zr"; zs: "cv.zs"; zt: "cv.zt"; zu: "cv.zu"; zv: "cv.zv"; zw: "cv.zw"; zx: "cv.zx"; zy: "cv.zy"; zz: "cv.zz"; }; cw: { aa: "cw.aa"; ab: "cw.ab"; ac: "cw.ac"; ad: "cw.ad"; ae: "cw.ae"; af: "cw.af"; ag: "cw.ag"; ah: "cw.ah"; ai: "cw.ai"; aj: "cw.aj"; ak: "cw.ak"; al: "cw.al"; am: "cw.am"; an: "cw.an"; ao: "cw.ao"; ap: "cw.ap"; aq: "cw.aq"; ar: "cw.ar"; as: "cw.as"; at: "cw.at"; au: "cw.au"; av: "cw.av"; aw: "cw.aw"; ax: "cw.ax"; ay: "cw.ay"; az: "cw.az"; ba: "cw.ba"; bb: "cw.bb"; bc: "cw.bc"; bd: "cw.bd"; be: "cw.be"; bf: "cw.bf"; bg: "cw.bg"; bh: "cw.bh"; bi: "cw.bi"; bj: "cw.bj"; bk: "cw.bk"; bl: "cw.bl"; bm: "cw.bm"; bn: "cw.bn"; bo: "cw.bo"; bp: "cw.bp"; bq: "cw.bq"; br: "cw.br"; bs: "cw.bs"; bt: "cw.bt"; bu: "cw.bu"; bv: "cw.bv"; bw: "cw.bw"; bx: "cw.bx"; by: "cw.by"; bz: "cw.bz"; ca: "cw.ca"; cb: "cw.cb"; cc: "cw.cc"; cd: "cw.cd"; ce: "cw.ce"; cf: "cw.cf"; cg: "cw.cg"; ch: "cw.ch"; ci: "cw.ci"; cj: "cw.cj"; ck: "cw.ck"; cl: "cw.cl"; cm: "cw.cm"; cn: "cw.cn"; co: "cw.co"; cp: "cw.cp"; cq: "cw.cq"; cr: "cw.cr"; cs: "cw.cs"; ct: "cw.ct"; cu: "cw.cu"; cv: "cw.cv"; cw: "cw.cw"; cx: "cw.cx"; cy: "cw.cy"; cz: "cw.cz"; da: "cw.da"; db: "cw.db"; dc: "cw.dc"; dd: "cw.dd"; de: "cw.de"; df: "cw.df"; dg: "cw.dg"; dh: "cw.dh"; di: "cw.di"; dj: "cw.dj"; dk: "cw.dk"; dl: "cw.dl"; dm: "cw.dm"; dn: "cw.dn"; do: "cw.do"; dp: "cw.dp"; dq: "cw.dq"; dr: "cw.dr"; ds: "cw.ds"; dt: "cw.dt"; du: "cw.du"; dv: "cw.dv"; dw: "cw.dw"; dx: "cw.dx"; dy: "cw.dy"; dz: "cw.dz"; ea: "cw.ea"; eb: "cw.eb"; ec: "cw.ec"; ed: "cw.ed"; ee: "cw.ee"; ef: "cw.ef"; eg: "cw.eg"; eh: "cw.eh"; ei: "cw.ei"; ej: "cw.ej"; ek: "cw.ek"; el: "cw.el"; em: "cw.em"; en: "cw.en"; eo: "cw.eo"; ep: "cw.ep"; eq: "cw.eq"; er: "cw.er"; es: "cw.es"; et: "cw.et"; eu: "cw.eu"; ev: "cw.ev"; ew: "cw.ew"; ex: "cw.ex"; ey: "cw.ey"; ez: "cw.ez"; fa: "cw.fa"; fb: "cw.fb"; fc: "cw.fc"; fd: "cw.fd"; fe: "cw.fe"; ff: "cw.ff"; fg: "cw.fg"; fh: "cw.fh"; fi: "cw.fi"; fj: "cw.fj"; fk: "cw.fk"; fl: "cw.fl"; fm: "cw.fm"; fn: "cw.fn"; fo: "cw.fo"; fp: "cw.fp"; fq: "cw.fq"; fr: "cw.fr"; fs: "cw.fs"; ft: "cw.ft"; fu: "cw.fu"; fv: "cw.fv"; fw: "cw.fw"; fx: "cw.fx"; fy: "cw.fy"; fz: "cw.fz"; ga: "cw.ga"; gb: "cw.gb"; gc: "cw.gc"; gd: "cw.gd"; ge: "cw.ge"; gf: "cw.gf"; gg: "cw.gg"; gh: "cw.gh"; gi: "cw.gi"; gj: "cw.gj"; gk: "cw.gk"; gl: "cw.gl"; gm: "cw.gm"; gn: "cw.gn"; go: "cw.go"; gp: "cw.gp"; gq: "cw.gq"; gr: "cw.gr"; gs: "cw.gs"; gt: "cw.gt"; gu: "cw.gu"; gv: "cw.gv"; gw: "cw.gw"; gx: "cw.gx"; gy: "cw.gy"; gz: "cw.gz"; ha: "cw.ha"; hb: "cw.hb"; hc: "cw.hc"; hd: "cw.hd"; he: "cw.he"; hf: "cw.hf"; hg: "cw.hg"; hh: "cw.hh"; hi: "cw.hi"; hj: "cw.hj"; hk: "cw.hk"; hl: "cw.hl"; hm: "cw.hm"; hn: "cw.hn"; ho: "cw.ho"; hp: "cw.hp"; hq: "cw.hq"; hr: "cw.hr"; hs: "cw.hs"; ht: "cw.ht"; hu: "cw.hu"; hv: "cw.hv"; hw: "cw.hw"; hx: "cw.hx"; hy: "cw.hy"; hz: "cw.hz"; ia: "cw.ia"; ib: "cw.ib"; ic: "cw.ic"; id: "cw.id"; ie: "cw.ie"; if: "cw.if"; ig: "cw.ig"; ih: "cw.ih"; ii: "cw.ii"; ij: "cw.ij"; ik: "cw.ik"; il: "cw.il"; im: "cw.im"; in: "cw.in"; io: "cw.io"; ip: "cw.ip"; iq: "cw.iq"; ir: "cw.ir"; is: "cw.is"; it: "cw.it"; iu: "cw.iu"; iv: "cw.iv"; iw: "cw.iw"; ix: "cw.ix"; iy: "cw.iy"; iz: "cw.iz"; ja: "cw.ja"; jb: "cw.jb"; jc: "cw.jc"; jd: "cw.jd"; je: "cw.je"; jf: "cw.jf"; jg: "cw.jg"; jh: "cw.jh"; ji: "cw.ji"; jj: "cw.jj"; jk: "cw.jk"; jl: "cw.jl"; jm: "cw.jm"; jn: "cw.jn"; jo: "cw.jo"; jp: "cw.jp"; jq: "cw.jq"; jr: "cw.jr"; js: "cw.js"; jt: "cw.jt"; ju: "cw.ju"; jv: "cw.jv"; jw: "cw.jw"; jx: "cw.jx"; jy: "cw.jy"; jz: "cw.jz"; ka: "cw.ka"; kb: "cw.kb"; kc: "cw.kc"; kd: "cw.kd"; ke: "cw.ke"; kf: "cw.kf"; kg: "cw.kg"; kh: "cw.kh"; ki: "cw.ki"; kj: "cw.kj"; kk: "cw.kk"; kl: "cw.kl"; km: "cw.km"; kn: "cw.kn"; ko: "cw.ko"; kp: "cw.kp"; kq: "cw.kq"; kr: "cw.kr"; ks: "cw.ks"; kt: "cw.kt"; ku: "cw.ku"; kv: "cw.kv"; kw: "cw.kw"; kx: "cw.kx"; ky: "cw.ky"; kz: "cw.kz"; la: "cw.la"; lb: "cw.lb"; lc: "cw.lc"; ld: "cw.ld"; le: "cw.le"; lf: "cw.lf"; lg: "cw.lg"; lh: "cw.lh"; li: "cw.li"; lj: "cw.lj"; lk: "cw.lk"; ll: "cw.ll"; lm: "cw.lm"; ln: "cw.ln"; lo: "cw.lo"; lp: "cw.lp"; lq: "cw.lq"; lr: "cw.lr"; ls: "cw.ls"; lt: "cw.lt"; lu: "cw.lu"; lv: "cw.lv"; lw: "cw.lw"; lx: "cw.lx"; ly: "cw.ly"; lz: "cw.lz"; ma: "cw.ma"; mb: "cw.mb"; mc: "cw.mc"; md: "cw.md"; me: "cw.me"; mf: "cw.mf"; mg: "cw.mg"; mh: "cw.mh"; mi: "cw.mi"; mj: "cw.mj"; mk: "cw.mk"; ml: "cw.ml"; mm: "cw.mm"; mn: "cw.mn"; mo: "cw.mo"; mp: "cw.mp"; mq: "cw.mq"; mr: "cw.mr"; ms: "cw.ms"; mt: "cw.mt"; mu: "cw.mu"; mv: "cw.mv"; mw: "cw.mw"; mx: "cw.mx"; my: "cw.my"; mz: "cw.mz"; na: "cw.na"; nb: "cw.nb"; nc: "cw.nc"; nd: "cw.nd"; ne: "cw.ne"; nf: "cw.nf"; ng: "cw.ng"; nh: "cw.nh"; ni: "cw.ni"; nj: "cw.nj"; nk: "cw.nk"; nl: "cw.nl"; nm: "cw.nm"; nn: "cw.nn"; no: "cw.no"; np: "cw.np"; nq: "cw.nq"; nr: "cw.nr"; ns: "cw.ns"; nt: "cw.nt"; nu: "cw.nu"; nv: "cw.nv"; nw: "cw.nw"; nx: "cw.nx"; ny: "cw.ny"; nz: "cw.nz"; oa: "cw.oa"; ob: "cw.ob"; oc: "cw.oc"; od: "cw.od"; oe: "cw.oe"; of: "cw.of"; og: "cw.og"; oh: "cw.oh"; oi: "cw.oi"; oj: "cw.oj"; ok: "cw.ok"; ol: "cw.ol"; om: "cw.om"; on: "cw.on"; oo: "cw.oo"; op: "cw.op"; oq: "cw.oq"; or: "cw.or"; os: "cw.os"; ot: "cw.ot"; ou: "cw.ou"; ov: "cw.ov"; ow: "cw.ow"; ox: "cw.ox"; oy: "cw.oy"; oz: "cw.oz"; pa: "cw.pa"; pb: "cw.pb"; pc: "cw.pc"; pd: "cw.pd"; pe: "cw.pe"; pf: "cw.pf"; pg: "cw.pg"; ph: "cw.ph"; pi: "cw.pi"; pj: "cw.pj"; pk: "cw.pk"; pl: "cw.pl"; pm: "cw.pm"; pn: "cw.pn"; po: "cw.po"; pp: "cw.pp"; pq: "cw.pq"; pr: "cw.pr"; ps: "cw.ps"; pt: "cw.pt"; pu: "cw.pu"; pv: "cw.pv"; pw: "cw.pw"; px: "cw.px"; py: "cw.py"; pz: "cw.pz"; qa: "cw.qa"; qb: "cw.qb"; qc: "cw.qc"; qd: "cw.qd"; qe: "cw.qe"; qf: "cw.qf"; qg: "cw.qg"; qh: "cw.qh"; qi: "cw.qi"; qj: "cw.qj"; qk: "cw.qk"; ql: "cw.ql"; qm: "cw.qm"; qn: "cw.qn"; qo: "cw.qo"; qp: "cw.qp"; qq: "cw.qq"; qr: "cw.qr"; qs: "cw.qs"; qt: "cw.qt"; qu: "cw.qu"; qv: "cw.qv"; qw: "cw.qw"; qx: "cw.qx"; qy: "cw.qy"; qz: "cw.qz"; ra: "cw.ra"; rb: "cw.rb"; rc: "cw.rc"; rd: "cw.rd"; re: "cw.re"; rf: "cw.rf"; rg: "cw.rg"; rh: "cw.rh"; ri: "cw.ri"; rj: "cw.rj"; rk: "cw.rk"; rl: "cw.rl"; rm: "cw.rm"; rn: "cw.rn"; ro: "cw.ro"; rp: "cw.rp"; rq: "cw.rq"; rr: "cw.rr"; rs: "cw.rs"; rt: "cw.rt"; ru: "cw.ru"; rv: "cw.rv"; rw: "cw.rw"; rx: "cw.rx"; ry: "cw.ry"; rz: "cw.rz"; sa: "cw.sa"; sb: "cw.sb"; sc: "cw.sc"; sd: "cw.sd"; se: "cw.se"; sf: "cw.sf"; sg: "cw.sg"; sh: "cw.sh"; si: "cw.si"; sj: "cw.sj"; sk: "cw.sk"; sl: "cw.sl"; sm: "cw.sm"; sn: "cw.sn"; so: "cw.so"; sp: "cw.sp"; sq: "cw.sq"; sr: "cw.sr"; ss: "cw.ss"; st: "cw.st"; su: "cw.su"; sv: "cw.sv"; sw: "cw.sw"; sx: "cw.sx"; sy: "cw.sy"; sz: "cw.sz"; ta: "cw.ta"; tb: "cw.tb"; tc: "cw.tc"; td: "cw.td"; te: "cw.te"; tf: "cw.tf"; tg: "cw.tg"; th: "cw.th"; ti: "cw.ti"; tj: "cw.tj"; tk: "cw.tk"; tl: "cw.tl"; tm: "cw.tm"; tn: "cw.tn"; to: "cw.to"; tp: "cw.tp"; tq: "cw.tq"; tr: "cw.tr"; ts: "cw.ts"; tt: "cw.tt"; tu: "cw.tu"; tv: "cw.tv"; tw: "cw.tw"; tx: "cw.tx"; ty: "cw.ty"; tz: "cw.tz"; ua: "cw.ua"; ub: "cw.ub"; uc: "cw.uc"; ud: "cw.ud"; ue: "cw.ue"; uf: "cw.uf"; ug: "cw.ug"; uh: "cw.uh"; ui: "cw.ui"; uj: "cw.uj"; uk: "cw.uk"; ul: "cw.ul"; um: "cw.um"; un: "cw.un"; uo: "cw.uo"; up: "cw.up"; uq: "cw.uq"; ur: "cw.ur"; us: "cw.us"; ut: "cw.ut"; uu: "cw.uu"; uv: "cw.uv"; uw: "cw.uw"; ux: "cw.ux"; uy: "cw.uy"; uz: "cw.uz"; va: "cw.va"; vb: "cw.vb"; vc: "cw.vc"; vd: "cw.vd"; ve: "cw.ve"; vf: "cw.vf"; vg: "cw.vg"; vh: "cw.vh"; vi: "cw.vi"; vj: "cw.vj"; vk: "cw.vk"; vl: "cw.vl"; vm: "cw.vm"; vn: "cw.vn"; vo: "cw.vo"; vp: "cw.vp"; vq: "cw.vq"; vr: "cw.vr"; vs: "cw.vs"; vt: "cw.vt"; vu: "cw.vu"; vv: "cw.vv"; vw: "cw.vw"; vx: "cw.vx"; vy: "cw.vy"; vz: "cw.vz"; wa: "cw.wa"; wb: "cw.wb"; wc: "cw.wc"; wd: "cw.wd"; we: "cw.we"; wf: "cw.wf"; wg: "cw.wg"; wh: "cw.wh"; wi: "cw.wi"; wj: "cw.wj"; wk: "cw.wk"; wl: "cw.wl"; wm: "cw.wm"; wn: "cw.wn"; wo: "cw.wo"; wp: "cw.wp"; wq: "cw.wq"; wr: "cw.wr"; ws: "cw.ws"; wt: "cw.wt"; wu: "cw.wu"; wv: "cw.wv"; ww: "cw.ww"; wx: "cw.wx"; wy: "cw.wy"; wz: "cw.wz"; xa: "cw.xa"; xb: "cw.xb"; xc: "cw.xc"; xd: "cw.xd"; xe: "cw.xe"; xf: "cw.xf"; xg: "cw.xg"; xh: "cw.xh"; xi: "cw.xi"; xj: "cw.xj"; xk: "cw.xk"; xl: "cw.xl"; xm: "cw.xm"; xn: "cw.xn"; xo: "cw.xo"; xp: "cw.xp"; xq: "cw.xq"; xr: "cw.xr"; xs: "cw.xs"; xt: "cw.xt"; xu: "cw.xu"; xv: "cw.xv"; xw: "cw.xw"; xx: "cw.xx"; xy: "cw.xy"; xz: "cw.xz"; ya: "cw.ya"; yb: "cw.yb"; yc: "cw.yc"; yd: "cw.yd"; ye: "cw.ye"; yf: "cw.yf"; yg: "cw.yg"; yh: "cw.yh"; yi: "cw.yi"; yj: "cw.yj"; yk: "cw.yk"; yl: "cw.yl"; ym: "cw.ym"; yn: "cw.yn"; yo: "cw.yo"; yp: "cw.yp"; yq: "cw.yq"; yr: "cw.yr"; ys: "cw.ys"; yt: "cw.yt"; yu: "cw.yu"; yv: "cw.yv"; yw: "cw.yw"; yx: "cw.yx"; yy: "cw.yy"; yz: "cw.yz"; za: "cw.za"; zb: "cw.zb"; zc: "cw.zc"; zd: "cw.zd"; ze: "cw.ze"; zf: "cw.zf"; zg: "cw.zg"; zh: "cw.zh"; zi: "cw.zi"; zj: "cw.zj"; zk: "cw.zk"; zl: "cw.zl"; zm: "cw.zm"; zn: "cw.zn"; zo: "cw.zo"; zp: "cw.zp"; zq: "cw.zq"; zr: "cw.zr"; zs: "cw.zs"; zt: "cw.zt"; zu: "cw.zu"; zv: "cw.zv"; zw: "cw.zw"; zx: "cw.zx"; zy: "cw.zy"; zz: "cw.zz"; }; cx: { aa: "cx.aa"; ab: "cx.ab"; ac: "cx.ac"; ad: "cx.ad"; ae: "cx.ae"; af: "cx.af"; ag: "cx.ag"; ah: "cx.ah"; ai: "cx.ai"; aj: "cx.aj"; ak: "cx.ak"; al: "cx.al"; am: "cx.am"; an: "cx.an"; ao: "cx.ao"; ap: "cx.ap"; aq: "cx.aq"; ar: "cx.ar"; as: "cx.as"; at: "cx.at"; au: "cx.au"; av: "cx.av"; aw: "cx.aw"; ax: "cx.ax"; ay: "cx.ay"; az: "cx.az"; ba: "cx.ba"; bb: "cx.bb"; bc: "cx.bc"; bd: "cx.bd"; be: "cx.be"; bf: "cx.bf"; bg: "cx.bg"; bh: "cx.bh"; bi: "cx.bi"; bj: "cx.bj"; bk: "cx.bk"; bl: "cx.bl"; bm: "cx.bm"; bn: "cx.bn"; bo: "cx.bo"; bp: "cx.bp"; bq: "cx.bq"; br: "cx.br"; bs: "cx.bs"; bt: "cx.bt"; bu: "cx.bu"; bv: "cx.bv"; bw: "cx.bw"; bx: "cx.bx"; by: "cx.by"; bz: "cx.bz"; ca: "cx.ca"; cb: "cx.cb"; cc: "cx.cc"; cd: "cx.cd"; ce: "cx.ce"; cf: "cx.cf"; cg: "cx.cg"; ch: "cx.ch"; ci: "cx.ci"; cj: "cx.cj"; ck: "cx.ck"; cl: "cx.cl"; cm: "cx.cm"; cn: "cx.cn"; co: "cx.co"; cp: "cx.cp"; cq: "cx.cq"; cr: "cx.cr"; cs: "cx.cs"; ct: "cx.ct"; cu: "cx.cu"; cv: "cx.cv"; cw: "cx.cw"; cx: "cx.cx"; cy: "cx.cy"; cz: "cx.cz"; da: "cx.da"; db: "cx.db"; dc: "cx.dc"; dd: "cx.dd"; de: "cx.de"; df: "cx.df"; dg: "cx.dg"; dh: "cx.dh"; di: "cx.di"; dj: "cx.dj"; dk: "cx.dk"; dl: "cx.dl"; dm: "cx.dm"; dn: "cx.dn"; do: "cx.do"; dp: "cx.dp"; dq: "cx.dq"; dr: "cx.dr"; ds: "cx.ds"; dt: "cx.dt"; du: "cx.du"; dv: "cx.dv"; dw: "cx.dw"; dx: "cx.dx"; dy: "cx.dy"; dz: "cx.dz"; ea: "cx.ea"; eb: "cx.eb"; ec: "cx.ec"; ed: "cx.ed"; ee: "cx.ee"; ef: "cx.ef"; eg: "cx.eg"; eh: "cx.eh"; ei: "cx.ei"; ej: "cx.ej"; ek: "cx.ek"; el: "cx.el"; em: "cx.em"; en: "cx.en"; eo: "cx.eo"; ep: "cx.ep"; eq: "cx.eq"; er: "cx.er"; es: "cx.es"; et: "cx.et"; eu: "cx.eu"; ev: "cx.ev"; ew: "cx.ew"; ex: "cx.ex"; ey: "cx.ey"; ez: "cx.ez"; fa: "cx.fa"; fb: "cx.fb"; fc: "cx.fc"; fd: "cx.fd"; fe: "cx.fe"; ff: "cx.ff"; fg: "cx.fg"; fh: "cx.fh"; fi: "cx.fi"; fj: "cx.fj"; fk: "cx.fk"; fl: "cx.fl"; fm: "cx.fm"; fn: "cx.fn"; fo: "cx.fo"; fp: "cx.fp"; fq: "cx.fq"; fr: "cx.fr"; fs: "cx.fs"; ft: "cx.ft"; fu: "cx.fu"; fv: "cx.fv"; fw: "cx.fw"; fx: "cx.fx"; fy: "cx.fy"; fz: "cx.fz"; ga: "cx.ga"; gb: "cx.gb"; gc: "cx.gc"; gd: "cx.gd"; ge: "cx.ge"; gf: "cx.gf"; gg: "cx.gg"; gh: "cx.gh"; gi: "cx.gi"; gj: "cx.gj"; gk: "cx.gk"; gl: "cx.gl"; gm: "cx.gm"; gn: "cx.gn"; go: "cx.go"; gp: "cx.gp"; gq: "cx.gq"; gr: "cx.gr"; gs: "cx.gs"; gt: "cx.gt"; gu: "cx.gu"; gv: "cx.gv"; gw: "cx.gw"; gx: "cx.gx"; gy: "cx.gy"; gz: "cx.gz"; ha: "cx.ha"; hb: "cx.hb"; hc: "cx.hc"; hd: "cx.hd"; he: "cx.he"; hf: "cx.hf"; hg: "cx.hg"; hh: "cx.hh"; hi: "cx.hi"; hj: "cx.hj"; hk: "cx.hk"; hl: "cx.hl"; hm: "cx.hm"; hn: "cx.hn"; ho: "cx.ho"; hp: "cx.hp"; hq: "cx.hq"; hr: "cx.hr"; hs: "cx.hs"; ht: "cx.ht"; hu: "cx.hu"; hv: "cx.hv"; hw: "cx.hw"; hx: "cx.hx"; hy: "cx.hy"; hz: "cx.hz"; ia: "cx.ia"; ib: "cx.ib"; ic: "cx.ic"; id: "cx.id"; ie: "cx.ie"; if: "cx.if"; ig: "cx.ig"; ih: "cx.ih"; ii: "cx.ii"; ij: "cx.ij"; ik: "cx.ik"; il: "cx.il"; im: "cx.im"; in: "cx.in"; io: "cx.io"; ip: "cx.ip"; iq: "cx.iq"; ir: "cx.ir"; is: "cx.is"; it: "cx.it"; iu: "cx.iu"; iv: "cx.iv"; iw: "cx.iw"; ix: "cx.ix"; iy: "cx.iy"; iz: "cx.iz"; ja: "cx.ja"; jb: "cx.jb"; jc: "cx.jc"; jd: "cx.jd"; je: "cx.je"; jf: "cx.jf"; jg: "cx.jg"; jh: "cx.jh"; ji: "cx.ji"; jj: "cx.jj"; jk: "cx.jk"; jl: "cx.jl"; jm: "cx.jm"; jn: "cx.jn"; jo: "cx.jo"; jp: "cx.jp"; jq: "cx.jq"; jr: "cx.jr"; js: "cx.js"; jt: "cx.jt"; ju: "cx.ju"; jv: "cx.jv"; jw: "cx.jw"; jx: "cx.jx"; jy: "cx.jy"; jz: "cx.jz"; ka: "cx.ka"; kb: "cx.kb"; kc: "cx.kc"; kd: "cx.kd"; ke: "cx.ke"; kf: "cx.kf"; kg: "cx.kg"; kh: "cx.kh"; ki: "cx.ki"; kj: "cx.kj"; kk: "cx.kk"; kl: "cx.kl"; km: "cx.km"; kn: "cx.kn"; ko: "cx.ko"; kp: "cx.kp"; kq: "cx.kq"; kr: "cx.kr"; ks: "cx.ks"; kt: "cx.kt"; ku: "cx.ku"; kv: "cx.kv"; kw: "cx.kw"; kx: "cx.kx"; ky: "cx.ky"; kz: "cx.kz"; la: "cx.la"; lb: "cx.lb"; lc: "cx.lc"; ld: "cx.ld"; le: "cx.le"; lf: "cx.lf"; lg: "cx.lg"; lh: "cx.lh"; li: "cx.li"; lj: "cx.lj"; lk: "cx.lk"; ll: "cx.ll"; lm: "cx.lm"; ln: "cx.ln"; lo: "cx.lo"; lp: "cx.lp"; lq: "cx.lq"; lr: "cx.lr"; ls: "cx.ls"; lt: "cx.lt"; lu: "cx.lu"; lv: "cx.lv"; lw: "cx.lw"; lx: "cx.lx"; ly: "cx.ly"; lz: "cx.lz"; ma: "cx.ma"; mb: "cx.mb"; mc: "cx.mc"; md: "cx.md"; me: "cx.me"; mf: "cx.mf"; mg: "cx.mg"; mh: "cx.mh"; mi: "cx.mi"; mj: "cx.mj"; mk: "cx.mk"; ml: "cx.ml"; mm: "cx.mm"; mn: "cx.mn"; mo: "cx.mo"; mp: "cx.mp"; mq: "cx.mq"; mr: "cx.mr"; ms: "cx.ms"; mt: "cx.mt"; mu: "cx.mu"; mv: "cx.mv"; mw: "cx.mw"; mx: "cx.mx"; my: "cx.my"; mz: "cx.mz"; na: "cx.na"; nb: "cx.nb"; nc: "cx.nc"; nd: "cx.nd"; ne: "cx.ne"; nf: "cx.nf"; ng: "cx.ng"; nh: "cx.nh"; ni: "cx.ni"; nj: "cx.nj"; nk: "cx.nk"; nl: "cx.nl"; nm: "cx.nm"; nn: "cx.nn"; no: "cx.no"; np: "cx.np"; nq: "cx.nq"; nr: "cx.nr"; ns: "cx.ns"; nt: "cx.nt"; nu: "cx.nu"; nv: "cx.nv"; nw: "cx.nw"; nx: "cx.nx"; ny: "cx.ny"; nz: "cx.nz"; oa: "cx.oa"; ob: "cx.ob"; oc: "cx.oc"; od: "cx.od"; oe: "cx.oe"; of: "cx.of"; og: "cx.og"; oh: "cx.oh"; oi: "cx.oi"; oj: "cx.oj"; ok: "cx.ok"; ol: "cx.ol"; om: "cx.om"; on: "cx.on"; oo: "cx.oo"; op: "cx.op"; oq: "cx.oq"; or: "cx.or"; os: "cx.os"; ot: "cx.ot"; ou: "cx.ou"; ov: "cx.ov"; ow: "cx.ow"; ox: "cx.ox"; oy: "cx.oy"; oz: "cx.oz"; pa: "cx.pa"; pb: "cx.pb"; pc: "cx.pc"; pd: "cx.pd"; pe: "cx.pe"; pf: "cx.pf"; pg: "cx.pg"; ph: "cx.ph"; pi: "cx.pi"; pj: "cx.pj"; pk: "cx.pk"; pl: "cx.pl"; pm: "cx.pm"; pn: "cx.pn"; po: "cx.po"; pp: "cx.pp"; pq: "cx.pq"; pr: "cx.pr"; ps: "cx.ps"; pt: "cx.pt"; pu: "cx.pu"; pv: "cx.pv"; pw: "cx.pw"; px: "cx.px"; py: "cx.py"; pz: "cx.pz"; qa: "cx.qa"; qb: "cx.qb"; qc: "cx.qc"; qd: "cx.qd"; qe: "cx.qe"; qf: "cx.qf"; qg: "cx.qg"; qh: "cx.qh"; qi: "cx.qi"; qj: "cx.qj"; qk: "cx.qk"; ql: "cx.ql"; qm: "cx.qm"; qn: "cx.qn"; qo: "cx.qo"; qp: "cx.qp"; qq: "cx.qq"; qr: "cx.qr"; qs: "cx.qs"; qt: "cx.qt"; qu: "cx.qu"; qv: "cx.qv"; qw: "cx.qw"; qx: "cx.qx"; qy: "cx.qy"; qz: "cx.qz"; ra: "cx.ra"; rb: "cx.rb"; rc: "cx.rc"; rd: "cx.rd"; re: "cx.re"; rf: "cx.rf"; rg: "cx.rg"; rh: "cx.rh"; ri: "cx.ri"; rj: "cx.rj"; rk: "cx.rk"; rl: "cx.rl"; rm: "cx.rm"; rn: "cx.rn"; ro: "cx.ro"; rp: "cx.rp"; rq: "cx.rq"; rr: "cx.rr"; rs: "cx.rs"; rt: "cx.rt"; ru: "cx.ru"; rv: "cx.rv"; rw: "cx.rw"; rx: "cx.rx"; ry: "cx.ry"; rz: "cx.rz"; sa: "cx.sa"; sb: "cx.sb"; sc: "cx.sc"; sd: "cx.sd"; se: "cx.se"; sf: "cx.sf"; sg: "cx.sg"; sh: "cx.sh"; si: "cx.si"; sj: "cx.sj"; sk: "cx.sk"; sl: "cx.sl"; sm: "cx.sm"; sn: "cx.sn"; so: "cx.so"; sp: "cx.sp"; sq: "cx.sq"; sr: "cx.sr"; ss: "cx.ss"; st: "cx.st"; su: "cx.su"; sv: "cx.sv"; sw: "cx.sw"; sx: "cx.sx"; sy: "cx.sy"; sz: "cx.sz"; ta: "cx.ta"; tb: "cx.tb"; tc: "cx.tc"; td: "cx.td"; te: "cx.te"; tf: "cx.tf"; tg: "cx.tg"; th: "cx.th"; ti: "cx.ti"; tj: "cx.tj"; tk: "cx.tk"; tl: "cx.tl"; tm: "cx.tm"; tn: "cx.tn"; to: "cx.to"; tp: "cx.tp"; tq: "cx.tq"; tr: "cx.tr"; ts: "cx.ts"; tt: "cx.tt"; tu: "cx.tu"; tv: "cx.tv"; tw: "cx.tw"; tx: "cx.tx"; ty: "cx.ty"; tz: "cx.tz"; ua: "cx.ua"; ub: "cx.ub"; uc: "cx.uc"; ud: "cx.ud"; ue: "cx.ue"; uf: "cx.uf"; ug: "cx.ug"; uh: "cx.uh"; ui: "cx.ui"; uj: "cx.uj"; uk: "cx.uk"; ul: "cx.ul"; um: "cx.um"; un: "cx.un"; uo: "cx.uo"; up: "cx.up"; uq: "cx.uq"; ur: "cx.ur"; us: "cx.us"; ut: "cx.ut"; uu: "cx.uu"; uv: "cx.uv"; uw: "cx.uw"; ux: "cx.ux"; uy: "cx.uy"; uz: "cx.uz"; va: "cx.va"; vb: "cx.vb"; vc: "cx.vc"; vd: "cx.vd"; ve: "cx.ve"; vf: "cx.vf"; vg: "cx.vg"; vh: "cx.vh"; vi: "cx.vi"; vj: "cx.vj"; vk: "cx.vk"; vl: "cx.vl"; vm: "cx.vm"; vn: "cx.vn"; vo: "cx.vo"; vp: "cx.vp"; vq: "cx.vq"; vr: "cx.vr"; vs: "cx.vs"; vt: "cx.vt"; vu: "cx.vu"; vv: "cx.vv"; vw: "cx.vw"; vx: "cx.vx"; vy: "cx.vy"; vz: "cx.vz"; wa: "cx.wa"; wb: "cx.wb"; wc: "cx.wc"; wd: "cx.wd"; we: "cx.we"; wf: "cx.wf"; wg: "cx.wg"; wh: "cx.wh"; wi: "cx.wi"; wj: "cx.wj"; wk: "cx.wk"; wl: "cx.wl"; wm: "cx.wm"; wn: "cx.wn"; wo: "cx.wo"; wp: "cx.wp"; wq: "cx.wq"; wr: "cx.wr"; ws: "cx.ws"; wt: "cx.wt"; wu: "cx.wu"; wv: "cx.wv"; ww: "cx.ww"; wx: "cx.wx"; wy: "cx.wy"; wz: "cx.wz"; xa: "cx.xa"; xb: "cx.xb"; xc: "cx.xc"; xd: "cx.xd"; xe: "cx.xe"; xf: "cx.xf"; xg: "cx.xg"; xh: "cx.xh"; xi: "cx.xi"; xj: "cx.xj"; xk: "cx.xk"; xl: "cx.xl"; xm: "cx.xm"; xn: "cx.xn"; xo: "cx.xo"; xp: "cx.xp"; xq: "cx.xq"; xr: "cx.xr"; xs: "cx.xs"; xt: "cx.xt"; xu: "cx.xu"; xv: "cx.xv"; xw: "cx.xw"; xx: "cx.xx"; xy: "cx.xy"; xz: "cx.xz"; ya: "cx.ya"; yb: "cx.yb"; yc: "cx.yc"; yd: "cx.yd"; ye: "cx.ye"; yf: "cx.yf"; yg: "cx.yg"; yh: "cx.yh"; yi: "cx.yi"; yj: "cx.yj"; yk: "cx.yk"; yl: "cx.yl"; ym: "cx.ym"; yn: "cx.yn"; yo: "cx.yo"; yp: "cx.yp"; yq: "cx.yq"; yr: "cx.yr"; ys: "cx.ys"; yt: "cx.yt"; yu: "cx.yu"; yv: "cx.yv"; yw: "cx.yw"; yx: "cx.yx"; yy: "cx.yy"; yz: "cx.yz"; za: "cx.za"; zb: "cx.zb"; zc: "cx.zc"; zd: "cx.zd"; ze: "cx.ze"; zf: "cx.zf"; zg: "cx.zg"; zh: "cx.zh"; zi: "cx.zi"; zj: "cx.zj"; zk: "cx.zk"; zl: "cx.zl"; zm: "cx.zm"; zn: "cx.zn"; zo: "cx.zo"; zp: "cx.zp"; zq: "cx.zq"; zr: "cx.zr"; zs: "cx.zs"; zt: "cx.zt"; zu: "cx.zu"; zv: "cx.zv"; zw: "cx.zw"; zx: "cx.zx"; zy: "cx.zy"; zz: "cx.zz"; }; cy: { aa: "cy.aa"; ab: "cy.ab"; ac: "cy.ac"; ad: "cy.ad"; ae: "cy.ae"; af: "cy.af"; ag: "cy.ag"; ah: "cy.ah"; ai: "cy.ai"; aj: "cy.aj"; ak: "cy.ak"; al: "cy.al"; am: "cy.am"; an: "cy.an"; ao: "cy.ao"; ap: "cy.ap"; aq: "cy.aq"; ar: "cy.ar"; as: "cy.as"; at: "cy.at"; au: "cy.au"; av: "cy.av"; aw: "cy.aw"; ax: "cy.ax"; ay: "cy.ay"; az: "cy.az"; ba: "cy.ba"; bb: "cy.bb"; bc: "cy.bc"; bd: "cy.bd"; be: "cy.be"; bf: "cy.bf"; bg: "cy.bg"; bh: "cy.bh"; bi: "cy.bi"; bj: "cy.bj"; bk: "cy.bk"; bl: "cy.bl"; bm: "cy.bm"; bn: "cy.bn"; bo: "cy.bo"; bp: "cy.bp"; bq: "cy.bq"; br: "cy.br"; bs: "cy.bs"; bt: "cy.bt"; bu: "cy.bu"; bv: "cy.bv"; bw: "cy.bw"; bx: "cy.bx"; by: "cy.by"; bz: "cy.bz"; ca: "cy.ca"; cb: "cy.cb"; cc: "cy.cc"; cd: "cy.cd"; ce: "cy.ce"; cf: "cy.cf"; cg: "cy.cg"; ch: "cy.ch"; ci: "cy.ci"; cj: "cy.cj"; ck: "cy.ck"; cl: "cy.cl"; cm: "cy.cm"; cn: "cy.cn"; co: "cy.co"; cp: "cy.cp"; cq: "cy.cq"; cr: "cy.cr"; cs: "cy.cs"; ct: "cy.ct"; cu: "cy.cu"; cv: "cy.cv"; cw: "cy.cw"; cx: "cy.cx"; cy: "cy.cy"; cz: "cy.cz"; da: "cy.da"; db: "cy.db"; dc: "cy.dc"; dd: "cy.dd"; de: "cy.de"; df: "cy.df"; dg: "cy.dg"; dh: "cy.dh"; di: "cy.di"; dj: "cy.dj"; dk: "cy.dk"; dl: "cy.dl"; dm: "cy.dm"; dn: "cy.dn"; do: "cy.do"; dp: "cy.dp"; dq: "cy.dq"; dr: "cy.dr"; ds: "cy.ds"; dt: "cy.dt"; du: "cy.du"; dv: "cy.dv"; dw: "cy.dw"; dx: "cy.dx"; dy: "cy.dy"; dz: "cy.dz"; ea: "cy.ea"; eb: "cy.eb"; ec: "cy.ec"; ed: "cy.ed"; ee: "cy.ee"; ef: "cy.ef"; eg: "cy.eg"; eh: "cy.eh"; ei: "cy.ei"; ej: "cy.ej"; ek: "cy.ek"; el: "cy.el"; em: "cy.em"; en: "cy.en"; eo: "cy.eo"; ep: "cy.ep"; eq: "cy.eq"; er: "cy.er"; es: "cy.es"; et: "cy.et"; eu: "cy.eu"; ev: "cy.ev"; ew: "cy.ew"; ex: "cy.ex"; ey: "cy.ey"; ez: "cy.ez"; fa: "cy.fa"; fb: "cy.fb"; fc: "cy.fc"; fd: "cy.fd"; fe: "cy.fe"; ff: "cy.ff"; fg: "cy.fg"; fh: "cy.fh"; fi: "cy.fi"; fj: "cy.fj"; fk: "cy.fk"; fl: "cy.fl"; fm: "cy.fm"; fn: "cy.fn"; fo: "cy.fo"; fp: "cy.fp"; fq: "cy.fq"; fr: "cy.fr"; fs: "cy.fs"; ft: "cy.ft"; fu: "cy.fu"; fv: "cy.fv"; fw: "cy.fw"; fx: "cy.fx"; fy: "cy.fy"; fz: "cy.fz"; ga: "cy.ga"; gb: "cy.gb"; gc: "cy.gc"; gd: "cy.gd"; ge: "cy.ge"; gf: "cy.gf"; gg: "cy.gg"; gh: "cy.gh"; gi: "cy.gi"; gj: "cy.gj"; gk: "cy.gk"; gl: "cy.gl"; gm: "cy.gm"; gn: "cy.gn"; go: "cy.go"; gp: "cy.gp"; gq: "cy.gq"; gr: "cy.gr"; gs: "cy.gs"; gt: "cy.gt"; gu: "cy.gu"; gv: "cy.gv"; gw: "cy.gw"; gx: "cy.gx"; gy: "cy.gy"; gz: "cy.gz"; ha: "cy.ha"; hb: "cy.hb"; hc: "cy.hc"; hd: "cy.hd"; he: "cy.he"; hf: "cy.hf"; hg: "cy.hg"; hh: "cy.hh"; hi: "cy.hi"; hj: "cy.hj"; hk: "cy.hk"; hl: "cy.hl"; hm: "cy.hm"; hn: "cy.hn"; ho: "cy.ho"; hp: "cy.hp"; hq: "cy.hq"; hr: "cy.hr"; hs: "cy.hs"; ht: "cy.ht"; hu: "cy.hu"; hv: "cy.hv"; hw: "cy.hw"; hx: "cy.hx"; hy: "cy.hy"; hz: "cy.hz"; ia: "cy.ia"; ib: "cy.ib"; ic: "cy.ic"; id: "cy.id"; ie: "cy.ie"; if: "cy.if"; ig: "cy.ig"; ih: "cy.ih"; ii: "cy.ii"; ij: "cy.ij"; ik: "cy.ik"; il: "cy.il"; im: "cy.im"; in: "cy.in"; io: "cy.io"; ip: "cy.ip"; iq: "cy.iq"; ir: "cy.ir"; is: "cy.is"; it: "cy.it"; iu: "cy.iu"; iv: "cy.iv"; iw: "cy.iw"; ix: "cy.ix"; iy: "cy.iy"; iz: "cy.iz"; ja: "cy.ja"; jb: "cy.jb"; jc: "cy.jc"; jd: "cy.jd"; je: "cy.je"; jf: "cy.jf"; jg: "cy.jg"; jh: "cy.jh"; ji: "cy.ji"; jj: "cy.jj"; jk: "cy.jk"; jl: "cy.jl"; jm: "cy.jm"; jn: "cy.jn"; jo: "cy.jo"; jp: "cy.jp"; jq: "cy.jq"; jr: "cy.jr"; js: "cy.js"; jt: "cy.jt"; ju: "cy.ju"; jv: "cy.jv"; jw: "cy.jw"; jx: "cy.jx"; jy: "cy.jy"; jz: "cy.jz"; ka: "cy.ka"; kb: "cy.kb"; kc: "cy.kc"; kd: "cy.kd"; ke: "cy.ke"; kf: "cy.kf"; kg: "cy.kg"; kh: "cy.kh"; ki: "cy.ki"; kj: "cy.kj"; kk: "cy.kk"; kl: "cy.kl"; km: "cy.km"; kn: "cy.kn"; ko: "cy.ko"; kp: "cy.kp"; kq: "cy.kq"; kr: "cy.kr"; ks: "cy.ks"; kt: "cy.kt"; ku: "cy.ku"; kv: "cy.kv"; kw: "cy.kw"; kx: "cy.kx"; ky: "cy.ky"; kz: "cy.kz"; la: "cy.la"; lb: "cy.lb"; lc: "cy.lc"; ld: "cy.ld"; le: "cy.le"; lf: "cy.lf"; lg: "cy.lg"; lh: "cy.lh"; li: "cy.li"; lj: "cy.lj"; lk: "cy.lk"; ll: "cy.ll"; lm: "cy.lm"; ln: "cy.ln"; lo: "cy.lo"; lp: "cy.lp"; lq: "cy.lq"; lr: "cy.lr"; ls: "cy.ls"; lt: "cy.lt"; lu: "cy.lu"; lv: "cy.lv"; lw: "cy.lw"; lx: "cy.lx"; ly: "cy.ly"; lz: "cy.lz"; ma: "cy.ma"; mb: "cy.mb"; mc: "cy.mc"; md: "cy.md"; me: "cy.me"; mf: "cy.mf"; mg: "cy.mg"; mh: "cy.mh"; mi: "cy.mi"; mj: "cy.mj"; mk: "cy.mk"; ml: "cy.ml"; mm: "cy.mm"; mn: "cy.mn"; mo: "cy.mo"; mp: "cy.mp"; mq: "cy.mq"; mr: "cy.mr"; ms: "cy.ms"; mt: "cy.mt"; mu: "cy.mu"; mv: "cy.mv"; mw: "cy.mw"; mx: "cy.mx"; my: "cy.my"; mz: "cy.mz"; na: "cy.na"; nb: "cy.nb"; nc: "cy.nc"; nd: "cy.nd"; ne: "cy.ne"; nf: "cy.nf"; ng: "cy.ng"; nh: "cy.nh"; ni: "cy.ni"; nj: "cy.nj"; nk: "cy.nk"; nl: "cy.nl"; nm: "cy.nm"; nn: "cy.nn"; no: "cy.no"; np: "cy.np"; nq: "cy.nq"; nr: "cy.nr"; ns: "cy.ns"; nt: "cy.nt"; nu: "cy.nu"; nv: "cy.nv"; nw: "cy.nw"; nx: "cy.nx"; ny: "cy.ny"; nz: "cy.nz"; oa: "cy.oa"; ob: "cy.ob"; oc: "cy.oc"; od: "cy.od"; oe: "cy.oe"; of: "cy.of"; og: "cy.og"; oh: "cy.oh"; oi: "cy.oi"; oj: "cy.oj"; ok: "cy.ok"; ol: "cy.ol"; om: "cy.om"; on: "cy.on"; oo: "cy.oo"; op: "cy.op"; oq: "cy.oq"; or: "cy.or"; os: "cy.os"; ot: "cy.ot"; ou: "cy.ou"; ov: "cy.ov"; ow: "cy.ow"; ox: "cy.ox"; oy: "cy.oy"; oz: "cy.oz"; pa: "cy.pa"; pb: "cy.pb"; pc: "cy.pc"; pd: "cy.pd"; pe: "cy.pe"; pf: "cy.pf"; pg: "cy.pg"; ph: "cy.ph"; pi: "cy.pi"; pj: "cy.pj"; pk: "cy.pk"; pl: "cy.pl"; pm: "cy.pm"; pn: "cy.pn"; po: "cy.po"; pp: "cy.pp"; pq: "cy.pq"; pr: "cy.pr"; ps: "cy.ps"; pt: "cy.pt"; pu: "cy.pu"; pv: "cy.pv"; pw: "cy.pw"; px: "cy.px"; py: "cy.py"; pz: "cy.pz"; qa: "cy.qa"; qb: "cy.qb"; qc: "cy.qc"; qd: "cy.qd"; qe: "cy.qe"; qf: "cy.qf"; qg: "cy.qg"; qh: "cy.qh"; qi: "cy.qi"; qj: "cy.qj"; qk: "cy.qk"; ql: "cy.ql"; qm: "cy.qm"; qn: "cy.qn"; qo: "cy.qo"; qp: "cy.qp"; qq: "cy.qq"; qr: "cy.qr"; qs: "cy.qs"; qt: "cy.qt"; qu: "cy.qu"; qv: "cy.qv"; qw: "cy.qw"; qx: "cy.qx"; qy: "cy.qy"; qz: "cy.qz"; ra: "cy.ra"; rb: "cy.rb"; rc: "cy.rc"; rd: "cy.rd"; re: "cy.re"; rf: "cy.rf"; rg: "cy.rg"; rh: "cy.rh"; ri: "cy.ri"; rj: "cy.rj"; rk: "cy.rk"; rl: "cy.rl"; rm: "cy.rm"; rn: "cy.rn"; ro: "cy.ro"; rp: "cy.rp"; rq: "cy.rq"; rr: "cy.rr"; rs: "cy.rs"; rt: "cy.rt"; ru: "cy.ru"; rv: "cy.rv"; rw: "cy.rw"; rx: "cy.rx"; ry: "cy.ry"; rz: "cy.rz"; sa: "cy.sa"; sb: "cy.sb"; sc: "cy.sc"; sd: "cy.sd"; se: "cy.se"; sf: "cy.sf"; sg: "cy.sg"; sh: "cy.sh"; si: "cy.si"; sj: "cy.sj"; sk: "cy.sk"; sl: "cy.sl"; sm: "cy.sm"; sn: "cy.sn"; so: "cy.so"; sp: "cy.sp"; sq: "cy.sq"; sr: "cy.sr"; ss: "cy.ss"; st: "cy.st"; su: "cy.su"; sv: "cy.sv"; sw: "cy.sw"; sx: "cy.sx"; sy: "cy.sy"; sz: "cy.sz"; ta: "cy.ta"; tb: "cy.tb"; tc: "cy.tc"; td: "cy.td"; te: "cy.te"; tf: "cy.tf"; tg: "cy.tg"; th: "cy.th"; ti: "cy.ti"; tj: "cy.tj"; tk: "cy.tk"; tl: "cy.tl"; tm: "cy.tm"; tn: "cy.tn"; to: "cy.to"; tp: "cy.tp"; tq: "cy.tq"; tr: "cy.tr"; ts: "cy.ts"; tt: "cy.tt"; tu: "cy.tu"; tv: "cy.tv"; tw: "cy.tw"; tx: "cy.tx"; ty: "cy.ty"; tz: "cy.tz"; ua: "cy.ua"; ub: "cy.ub"; uc: "cy.uc"; ud: "cy.ud"; ue: "cy.ue"; uf: "cy.uf"; ug: "cy.ug"; uh: "cy.uh"; ui: "cy.ui"; uj: "cy.uj"; uk: "cy.uk"; ul: "cy.ul"; um: "cy.um"; un: "cy.un"; uo: "cy.uo"; up: "cy.up"; uq: "cy.uq"; ur: "cy.ur"; us: "cy.us"; ut: "cy.ut"; uu: "cy.uu"; uv: "cy.uv"; uw: "cy.uw"; ux: "cy.ux"; uy: "cy.uy"; uz: "cy.uz"; va: "cy.va"; vb: "cy.vb"; vc: "cy.vc"; vd: "cy.vd"; ve: "cy.ve"; vf: "cy.vf"; vg: "cy.vg"; vh: "cy.vh"; vi: "cy.vi"; vj: "cy.vj"; vk: "cy.vk"; vl: "cy.vl"; vm: "cy.vm"; vn: "cy.vn"; vo: "cy.vo"; vp: "cy.vp"; vq: "cy.vq"; vr: "cy.vr"; vs: "cy.vs"; vt: "cy.vt"; vu: "cy.vu"; vv: "cy.vv"; vw: "cy.vw"; vx: "cy.vx"; vy: "cy.vy"; vz: "cy.vz"; wa: "cy.wa"; wb: "cy.wb"; wc: "cy.wc"; wd: "cy.wd"; we: "cy.we"; wf: "cy.wf"; wg: "cy.wg"; wh: "cy.wh"; wi: "cy.wi"; wj: "cy.wj"; wk: "cy.wk"; wl: "cy.wl"; wm: "cy.wm"; wn: "cy.wn"; wo: "cy.wo"; wp: "cy.wp"; wq: "cy.wq"; wr: "cy.wr"; ws: "cy.ws"; wt: "cy.wt"; wu: "cy.wu"; wv: "cy.wv"; ww: "cy.ww"; wx: "cy.wx"; wy: "cy.wy"; wz: "cy.wz"; xa: "cy.xa"; xb: "cy.xb"; xc: "cy.xc"; xd: "cy.xd"; xe: "cy.xe"; xf: "cy.xf"; xg: "cy.xg"; xh: "cy.xh"; xi: "cy.xi"; xj: "cy.xj"; xk: "cy.xk"; xl: "cy.xl"; xm: "cy.xm"; xn: "cy.xn"; xo: "cy.xo"; xp: "cy.xp"; xq: "cy.xq"; xr: "cy.xr"; xs: "cy.xs"; xt: "cy.xt"; xu: "cy.xu"; xv: "cy.xv"; xw: "cy.xw"; xx: "cy.xx"; xy: "cy.xy"; xz: "cy.xz"; ya: "cy.ya"; yb: "cy.yb"; yc: "cy.yc"; yd: "cy.yd"; ye: "cy.ye"; yf: "cy.yf"; yg: "cy.yg"; yh: "cy.yh"; yi: "cy.yi"; yj: "cy.yj"; yk: "cy.yk"; yl: "cy.yl"; ym: "cy.ym"; yn: "cy.yn"; yo: "cy.yo"; yp: "cy.yp"; yq: "cy.yq"; yr: "cy.yr"; ys: "cy.ys"; yt: "cy.yt"; yu: "cy.yu"; yv: "cy.yv"; yw: "cy.yw"; yx: "cy.yx"; yy: "cy.yy"; yz: "cy.yz"; za: "cy.za"; zb: "cy.zb"; zc: "cy.zc"; zd: "cy.zd"; ze: "cy.ze"; zf: "cy.zf"; zg: "cy.zg"; zh: "cy.zh"; zi: "cy.zi"; zj: "cy.zj"; zk: "cy.zk"; zl: "cy.zl"; zm: "cy.zm"; zn: "cy.zn"; zo: "cy.zo"; zp: "cy.zp"; zq: "cy.zq"; zr: "cy.zr"; zs: "cy.zs"; zt: "cy.zt"; zu: "cy.zu"; zv: "cy.zv"; zw: "cy.zw"; zx: "cy.zx"; zy: "cy.zy"; zz: "cy.zz"; }; cz: { aa: "cz.aa"; ab: "cz.ab"; ac: "cz.ac"; ad: "cz.ad"; ae: "cz.ae"; af: "cz.af"; ag: "cz.ag"; ah: "cz.ah"; ai: "cz.ai"; aj: "cz.aj"; ak: "cz.ak"; al: "cz.al"; am: "cz.am"; an: "cz.an"; ao: "cz.ao"; ap: "cz.ap"; aq: "cz.aq"; ar: "cz.ar"; as: "cz.as"; at: "cz.at"; au: "cz.au"; av: "cz.av"; aw: "cz.aw"; ax: "cz.ax"; ay: "cz.ay"; az: "cz.az"; ba: "cz.ba"; bb: "cz.bb"; bc: "cz.bc"; bd: "cz.bd"; be: "cz.be"; bf: "cz.bf"; bg: "cz.bg"; bh: "cz.bh"; bi: "cz.bi"; bj: "cz.bj"; bk: "cz.bk"; bl: "cz.bl"; bm: "cz.bm"; bn: "cz.bn"; bo: "cz.bo"; bp: "cz.bp"; bq: "cz.bq"; br: "cz.br"; bs: "cz.bs"; bt: "cz.bt"; bu: "cz.bu"; bv: "cz.bv"; bw: "cz.bw"; bx: "cz.bx"; by: "cz.by"; bz: "cz.bz"; ca: "cz.ca"; cb: "cz.cb"; cc: "cz.cc"; cd: "cz.cd"; ce: "cz.ce"; cf: "cz.cf"; cg: "cz.cg"; ch: "cz.ch"; ci: "cz.ci"; cj: "cz.cj"; ck: "cz.ck"; cl: "cz.cl"; cm: "cz.cm"; cn: "cz.cn"; co: "cz.co"; cp: "cz.cp"; cq: "cz.cq"; cr: "cz.cr"; cs: "cz.cs"; ct: "cz.ct"; cu: "cz.cu"; cv: "cz.cv"; cw: "cz.cw"; cx: "cz.cx"; cy: "cz.cy"; cz: "cz.cz"; da: "cz.da"; db: "cz.db"; dc: "cz.dc"; dd: "cz.dd"; de: "cz.de"; df: "cz.df"; dg: "cz.dg"; dh: "cz.dh"; di: "cz.di"; dj: "cz.dj"; dk: "cz.dk"; dl: "cz.dl"; dm: "cz.dm"; dn: "cz.dn"; do: "cz.do"; dp: "cz.dp"; dq: "cz.dq"; dr: "cz.dr"; ds: "cz.ds"; dt: "cz.dt"; du: "cz.du"; dv: "cz.dv"; dw: "cz.dw"; dx: "cz.dx"; dy: "cz.dy"; dz: "cz.dz"; ea: "cz.ea"; eb: "cz.eb"; ec: "cz.ec"; ed: "cz.ed"; ee: "cz.ee"; ef: "cz.ef"; eg: "cz.eg"; eh: "cz.eh"; ei: "cz.ei"; ej: "cz.ej"; ek: "cz.ek"; el: "cz.el"; em: "cz.em"; en: "cz.en"; eo: "cz.eo"; ep: "cz.ep"; eq: "cz.eq"; er: "cz.er"; es: "cz.es"; et: "cz.et"; eu: "cz.eu"; ev: "cz.ev"; ew: "cz.ew"; ex: "cz.ex"; ey: "cz.ey"; ez: "cz.ez"; fa: "cz.fa"; fb: "cz.fb"; fc: "cz.fc"; fd: "cz.fd"; fe: "cz.fe"; ff: "cz.ff"; fg: "cz.fg"; fh: "cz.fh"; fi: "cz.fi"; fj: "cz.fj"; fk: "cz.fk"; fl: "cz.fl"; fm: "cz.fm"; fn: "cz.fn"; fo: "cz.fo"; fp: "cz.fp"; fq: "cz.fq"; fr: "cz.fr"; fs: "cz.fs"; ft: "cz.ft"; fu: "cz.fu"; fv: "cz.fv"; fw: "cz.fw"; fx: "cz.fx"; fy: "cz.fy"; fz: "cz.fz"; ga: "cz.ga"; gb: "cz.gb"; gc: "cz.gc"; gd: "cz.gd"; ge: "cz.ge"; gf: "cz.gf"; gg: "cz.gg"; gh: "cz.gh"; gi: "cz.gi"; gj: "cz.gj"; gk: "cz.gk"; gl: "cz.gl"; gm: "cz.gm"; gn: "cz.gn"; go: "cz.go"; gp: "cz.gp"; gq: "cz.gq"; gr: "cz.gr"; gs: "cz.gs"; gt: "cz.gt"; gu: "cz.gu"; gv: "cz.gv"; gw: "cz.gw"; gx: "cz.gx"; gy: "cz.gy"; gz: "cz.gz"; ha: "cz.ha"; hb: "cz.hb"; hc: "cz.hc"; hd: "cz.hd"; he: "cz.he"; hf: "cz.hf"; hg: "cz.hg"; hh: "cz.hh"; hi: "cz.hi"; hj: "cz.hj"; hk: "cz.hk"; hl: "cz.hl"; hm: "cz.hm"; hn: "cz.hn"; ho: "cz.ho"; hp: "cz.hp"; hq: "cz.hq"; hr: "cz.hr"; hs: "cz.hs"; ht: "cz.ht"; hu: "cz.hu"; hv: "cz.hv"; hw: "cz.hw"; hx: "cz.hx"; hy: "cz.hy"; hz: "cz.hz"; ia: "cz.ia"; ib: "cz.ib"; ic: "cz.ic"; id: "cz.id"; ie: "cz.ie"; if: "cz.if"; ig: "cz.ig"; ih: "cz.ih"; ii: "cz.ii"; ij: "cz.ij"; ik: "cz.ik"; il: "cz.il"; im: "cz.im"; in: "cz.in"; io: "cz.io"; ip: "cz.ip"; iq: "cz.iq"; ir: "cz.ir"; is: "cz.is"; it: "cz.it"; iu: "cz.iu"; iv: "cz.iv"; iw: "cz.iw"; ix: "cz.ix"; iy: "cz.iy"; iz: "cz.iz"; ja: "cz.ja"; jb: "cz.jb"; jc: "cz.jc"; jd: "cz.jd"; je: "cz.je"; jf: "cz.jf"; jg: "cz.jg"; jh: "cz.jh"; ji: "cz.ji"; jj: "cz.jj"; jk: "cz.jk"; jl: "cz.jl"; jm: "cz.jm"; jn: "cz.jn"; jo: "cz.jo"; jp: "cz.jp"; jq: "cz.jq"; jr: "cz.jr"; js: "cz.js"; jt: "cz.jt"; ju: "cz.ju"; jv: "cz.jv"; jw: "cz.jw"; jx: "cz.jx"; jy: "cz.jy"; jz: "cz.jz"; ka: "cz.ka"; kb: "cz.kb"; kc: "cz.kc"; kd: "cz.kd"; ke: "cz.ke"; kf: "cz.kf"; kg: "cz.kg"; kh: "cz.kh"; ki: "cz.ki"; kj: "cz.kj"; kk: "cz.kk"; kl: "cz.kl"; km: "cz.km"; kn: "cz.kn"; ko: "cz.ko"; kp: "cz.kp"; kq: "cz.kq"; kr: "cz.kr"; ks: "cz.ks"; kt: "cz.kt"; ku: "cz.ku"; kv: "cz.kv"; kw: "cz.kw"; kx: "cz.kx"; ky: "cz.ky"; kz: "cz.kz"; la: "cz.la"; lb: "cz.lb"; lc: "cz.lc"; ld: "cz.ld"; le: "cz.le"; lf: "cz.lf"; lg: "cz.lg"; lh: "cz.lh"; li: "cz.li"; lj: "cz.lj"; lk: "cz.lk"; ll: "cz.ll"; lm: "cz.lm"; ln: "cz.ln"; lo: "cz.lo"; lp: "cz.lp"; lq: "cz.lq"; lr: "cz.lr"; ls: "cz.ls"; lt: "cz.lt"; lu: "cz.lu"; lv: "cz.lv"; lw: "cz.lw"; lx: "cz.lx"; ly: "cz.ly"; lz: "cz.lz"; ma: "cz.ma"; mb: "cz.mb"; mc: "cz.mc"; md: "cz.md"; me: "cz.me"; mf: "cz.mf"; mg: "cz.mg"; mh: "cz.mh"; mi: "cz.mi"; mj: "cz.mj"; mk: "cz.mk"; ml: "cz.ml"; mm: "cz.mm"; mn: "cz.mn"; mo: "cz.mo"; mp: "cz.mp"; mq: "cz.mq"; mr: "cz.mr"; ms: "cz.ms"; mt: "cz.mt"; mu: "cz.mu"; mv: "cz.mv"; mw: "cz.mw"; mx: "cz.mx"; my: "cz.my"; mz: "cz.mz"; na: "cz.na"; nb: "cz.nb"; nc: "cz.nc"; nd: "cz.nd"; ne: "cz.ne"; nf: "cz.nf"; ng: "cz.ng"; nh: "cz.nh"; ni: "cz.ni"; nj: "cz.nj"; nk: "cz.nk"; nl: "cz.nl"; nm: "cz.nm"; nn: "cz.nn"; no: "cz.no"; np: "cz.np"; nq: "cz.nq"; nr: "cz.nr"; ns: "cz.ns"; nt: "cz.nt"; nu: "cz.nu"; nv: "cz.nv"; nw: "cz.nw"; nx: "cz.nx"; ny: "cz.ny"; nz: "cz.nz"; oa: "cz.oa"; ob: "cz.ob"; oc: "cz.oc"; od: "cz.od"; oe: "cz.oe"; of: "cz.of"; og: "cz.og"; oh: "cz.oh"; oi: "cz.oi"; oj: "cz.oj"; ok: "cz.ok"; ol: "cz.ol"; om: "cz.om"; on: "cz.on"; oo: "cz.oo"; op: "cz.op"; oq: "cz.oq"; or: "cz.or"; os: "cz.os"; ot: "cz.ot"; ou: "cz.ou"; ov: "cz.ov"; ow: "cz.ow"; ox: "cz.ox"; oy: "cz.oy"; oz: "cz.oz"; pa: "cz.pa"; pb: "cz.pb"; pc: "cz.pc"; pd: "cz.pd"; pe: "cz.pe"; pf: "cz.pf"; pg: "cz.pg"; ph: "cz.ph"; pi: "cz.pi"; pj: "cz.pj"; pk: "cz.pk"; pl: "cz.pl"; pm: "cz.pm"; pn: "cz.pn"; po: "cz.po"; pp: "cz.pp"; pq: "cz.pq"; pr: "cz.pr"; ps: "cz.ps"; pt: "cz.pt"; pu: "cz.pu"; pv: "cz.pv"; pw: "cz.pw"; px: "cz.px"; py: "cz.py"; pz: "cz.pz"; qa: "cz.qa"; qb: "cz.qb"; qc: "cz.qc"; qd: "cz.qd"; qe: "cz.qe"; qf: "cz.qf"; qg: "cz.qg"; qh: "cz.qh"; qi: "cz.qi"; qj: "cz.qj"; qk: "cz.qk"; ql: "cz.ql"; qm: "cz.qm"; qn: "cz.qn"; qo: "cz.qo"; qp: "cz.qp"; qq: "cz.qq"; qr: "cz.qr"; qs: "cz.qs"; qt: "cz.qt"; qu: "cz.qu"; qv: "cz.qv"; qw: "cz.qw"; qx: "cz.qx"; qy: "cz.qy"; qz: "cz.qz"; ra: "cz.ra"; rb: "cz.rb"; rc: "cz.rc"; rd: "cz.rd"; re: "cz.re"; rf: "cz.rf"; rg: "cz.rg"; rh: "cz.rh"; ri: "cz.ri"; rj: "cz.rj"; rk: "cz.rk"; rl: "cz.rl"; rm: "cz.rm"; rn: "cz.rn"; ro: "cz.ro"; rp: "cz.rp"; rq: "cz.rq"; rr: "cz.rr"; rs: "cz.rs"; rt: "cz.rt"; ru: "cz.ru"; rv: "cz.rv"; rw: "cz.rw"; rx: "cz.rx"; ry: "cz.ry"; rz: "cz.rz"; sa: "cz.sa"; sb: "cz.sb"; sc: "cz.sc"; sd: "cz.sd"; se: "cz.se"; sf: "cz.sf"; sg: "cz.sg"; sh: "cz.sh"; si: "cz.si"; sj: "cz.sj"; sk: "cz.sk"; sl: "cz.sl"; sm: "cz.sm"; sn: "cz.sn"; so: "cz.so"; sp: "cz.sp"; sq: "cz.sq"; sr: "cz.sr"; ss: "cz.ss"; st: "cz.st"; su: "cz.su"; sv: "cz.sv"; sw: "cz.sw"; sx: "cz.sx"; sy: "cz.sy"; sz: "cz.sz"; ta: "cz.ta"; tb: "cz.tb"; tc: "cz.tc"; td: "cz.td"; te: "cz.te"; tf: "cz.tf"; tg: "cz.tg"; th: "cz.th"; ti: "cz.ti"; tj: "cz.tj"; tk: "cz.tk"; tl: "cz.tl"; tm: "cz.tm"; tn: "cz.tn"; to: "cz.to"; tp: "cz.tp"; tq: "cz.tq"; tr: "cz.tr"; ts: "cz.ts"; tt: "cz.tt"; tu: "cz.tu"; tv: "cz.tv"; tw: "cz.tw"; tx: "cz.tx"; ty: "cz.ty"; tz: "cz.tz"; ua: "cz.ua"; ub: "cz.ub"; uc: "cz.uc"; ud: "cz.ud"; ue: "cz.ue"; uf: "cz.uf"; ug: "cz.ug"; uh: "cz.uh"; ui: "cz.ui"; uj: "cz.uj"; uk: "cz.uk"; ul: "cz.ul"; um: "cz.um"; un: "cz.un"; uo: "cz.uo"; up: "cz.up"; uq: "cz.uq"; ur: "cz.ur"; us: "cz.us"; ut: "cz.ut"; uu: "cz.uu"; uv: "cz.uv"; uw: "cz.uw"; ux: "cz.ux"; uy: "cz.uy"; uz: "cz.uz"; va: "cz.va"; vb: "cz.vb"; vc: "cz.vc"; vd: "cz.vd"; ve: "cz.ve"; vf: "cz.vf"; vg: "cz.vg"; vh: "cz.vh"; vi: "cz.vi"; vj: "cz.vj"; vk: "cz.vk"; vl: "cz.vl"; vm: "cz.vm"; vn: "cz.vn"; vo: "cz.vo"; vp: "cz.vp"; vq: "cz.vq"; vr: "cz.vr"; vs: "cz.vs"; vt: "cz.vt"; vu: "cz.vu"; vv: "cz.vv"; vw: "cz.vw"; vx: "cz.vx"; vy: "cz.vy"; vz: "cz.vz"; wa: "cz.wa"; wb: "cz.wb"; wc: "cz.wc"; wd: "cz.wd"; we: "cz.we"; wf: "cz.wf"; wg: "cz.wg"; wh: "cz.wh"; wi: "cz.wi"; wj: "cz.wj"; wk: "cz.wk"; wl: "cz.wl"; wm: "cz.wm"; wn: "cz.wn"; wo: "cz.wo"; wp: "cz.wp"; wq: "cz.wq"; wr: "cz.wr"; ws: "cz.ws"; wt: "cz.wt"; wu: "cz.wu"; wv: "cz.wv"; ww: "cz.ww"; wx: "cz.wx"; wy: "cz.wy"; wz: "cz.wz"; xa: "cz.xa"; xb: "cz.xb"; xc: "cz.xc"; xd: "cz.xd"; xe: "cz.xe"; xf: "cz.xf"; xg: "cz.xg"; xh: "cz.xh"; xi: "cz.xi"; xj: "cz.xj"; xk: "cz.xk"; xl: "cz.xl"; xm: "cz.xm"; xn: "cz.xn"; xo: "cz.xo"; xp: "cz.xp"; xq: "cz.xq"; xr: "cz.xr"; xs: "cz.xs"; xt: "cz.xt"; xu: "cz.xu"; xv: "cz.xv"; xw: "cz.xw"; xx: "cz.xx"; xy: "cz.xy"; xz: "cz.xz"; ya: "cz.ya"; yb: "cz.yb"; yc: "cz.yc"; yd: "cz.yd"; ye: "cz.ye"; yf: "cz.yf"; yg: "cz.yg"; yh: "cz.yh"; yi: "cz.yi"; yj: "cz.yj"; yk: "cz.yk"; yl: "cz.yl"; ym: "cz.ym"; yn: "cz.yn"; yo: "cz.yo"; yp: "cz.yp"; yq: "cz.yq"; yr: "cz.yr"; ys: "cz.ys"; yt: "cz.yt"; yu: "cz.yu"; yv: "cz.yv"; yw: "cz.yw"; yx: "cz.yx"; yy: "cz.yy"; yz: "cz.yz"; za: "cz.za"; zb: "cz.zb"; zc: "cz.zc"; zd: "cz.zd"; ze: "cz.ze"; zf: "cz.zf"; zg: "cz.zg"; zh: "cz.zh"; zi: "cz.zi"; zj: "cz.zj"; zk: "cz.zk"; zl: "cz.zl"; zm: "cz.zm"; zn: "cz.zn"; zo: "cz.zo"; zp: "cz.zp"; zq: "cz.zq"; zr: "cz.zr"; zs: "cz.zs"; zt: "cz.zt"; zu: "cz.zu"; zv: "cz.zv"; zw: "cz.zw"; zx: "cz.zx"; zy: "cz.zy"; zz: "cz.zz"; }; da: { aa: "da.aa"; ab: "da.ab"; ac: "da.ac"; ad: "da.ad"; ae: "da.ae"; af: "da.af"; ag: "da.ag"; ah: "da.ah"; ai: "da.ai"; aj: "da.aj"; ak: "da.ak"; al: "da.al"; am: "da.am"; an: "da.an"; ao: "da.ao"; ap: "da.ap"; aq: "da.aq"; ar: "da.ar"; as: "da.as"; at: "da.at"; au: "da.au"; av: "da.av"; aw: "da.aw"; ax: "da.ax"; ay: "da.ay"; az: "da.az"; ba: "da.ba"; bb: "da.bb"; bc: "da.bc"; bd: "da.bd"; be: "da.be"; bf: "da.bf"; bg: "da.bg"; bh: "da.bh"; bi: "da.bi"; bj: "da.bj"; bk: "da.bk"; bl: "da.bl"; bm: "da.bm"; bn: "da.bn"; bo: "da.bo"; bp: "da.bp"; bq: "da.bq"; br: "da.br"; bs: "da.bs"; bt: "da.bt"; bu: "da.bu"; bv: "da.bv"; bw: "da.bw"; bx: "da.bx"; by: "da.by"; bz: "da.bz"; ca: "da.ca"; cb: "da.cb"; cc: "da.cc"; cd: "da.cd"; ce: "da.ce"; cf: "da.cf"; cg: "da.cg"; ch: "da.ch"; ci: "da.ci"; cj: "da.cj"; ck: "da.ck"; cl: "da.cl"; cm: "da.cm"; cn: "da.cn"; co: "da.co"; cp: "da.cp"; cq: "da.cq"; cr: "da.cr"; cs: "da.cs"; ct: "da.ct"; cu: "da.cu"; cv: "da.cv"; cw: "da.cw"; cx: "da.cx"; cy: "da.cy"; cz: "da.cz"; da: "da.da"; db: "da.db"; dc: "da.dc"; dd: "da.dd"; de: "da.de"; df: "da.df"; dg: "da.dg"; dh: "da.dh"; di: "da.di"; dj: "da.dj"; dk: "da.dk"; dl: "da.dl"; dm: "da.dm"; dn: "da.dn"; do: "da.do"; dp: "da.dp"; dq: "da.dq"; dr: "da.dr"; ds: "da.ds"; dt: "da.dt"; du: "da.du"; dv: "da.dv"; dw: "da.dw"; dx: "da.dx"; dy: "da.dy"; dz: "da.dz"; ea: "da.ea"; eb: "da.eb"; ec: "da.ec"; ed: "da.ed"; ee: "da.ee"; ef: "da.ef"; eg: "da.eg"; eh: "da.eh"; ei: "da.ei"; ej: "da.ej"; ek: "da.ek"; el: "da.el"; em: "da.em"; en: "da.en"; eo: "da.eo"; ep: "da.ep"; eq: "da.eq"; er: "da.er"; es: "da.es"; et: "da.et"; eu: "da.eu"; ev: "da.ev"; ew: "da.ew"; ex: "da.ex"; ey: "da.ey"; ez: "da.ez"; fa: "da.fa"; fb: "da.fb"; fc: "da.fc"; fd: "da.fd"; fe: "da.fe"; ff: "da.ff"; fg: "da.fg"; fh: "da.fh"; fi: "da.fi"; fj: "da.fj"; fk: "da.fk"; fl: "da.fl"; fm: "da.fm"; fn: "da.fn"; fo: "da.fo"; fp: "da.fp"; fq: "da.fq"; fr: "da.fr"; fs: "da.fs"; ft: "da.ft"; fu: "da.fu"; fv: "da.fv"; fw: "da.fw"; fx: "da.fx"; fy: "da.fy"; fz: "da.fz"; ga: "da.ga"; gb: "da.gb"; gc: "da.gc"; gd: "da.gd"; ge: "da.ge"; gf: "da.gf"; gg: "da.gg"; gh: "da.gh"; gi: "da.gi"; gj: "da.gj"; gk: "da.gk"; gl: "da.gl"; gm: "da.gm"; gn: "da.gn"; go: "da.go"; gp: "da.gp"; gq: "da.gq"; gr: "da.gr"; gs: "da.gs"; gt: "da.gt"; gu: "da.gu"; gv: "da.gv"; gw: "da.gw"; gx: "da.gx"; gy: "da.gy"; gz: "da.gz"; ha: "da.ha"; hb: "da.hb"; hc: "da.hc"; hd: "da.hd"; he: "da.he"; hf: "da.hf"; hg: "da.hg"; hh: "da.hh"; hi: "da.hi"; hj: "da.hj"; hk: "da.hk"; hl: "da.hl"; hm: "da.hm"; hn: "da.hn"; ho: "da.ho"; hp: "da.hp"; hq: "da.hq"; hr: "da.hr"; hs: "da.hs"; ht: "da.ht"; hu: "da.hu"; hv: "da.hv"; hw: "da.hw"; hx: "da.hx"; hy: "da.hy"; hz: "da.hz"; ia: "da.ia"; ib: "da.ib"; ic: "da.ic"; id: "da.id"; ie: "da.ie"; if: "da.if"; ig: "da.ig"; ih: "da.ih"; ii: "da.ii"; ij: "da.ij"; ik: "da.ik"; il: "da.il"; im: "da.im"; in: "da.in"; io: "da.io"; ip: "da.ip"; iq: "da.iq"; ir: "da.ir"; is: "da.is"; it: "da.it"; iu: "da.iu"; iv: "da.iv"; iw: "da.iw"; ix: "da.ix"; iy: "da.iy"; iz: "da.iz"; ja: "da.ja"; jb: "da.jb"; jc: "da.jc"; jd: "da.jd"; je: "da.je"; jf: "da.jf"; jg: "da.jg"; jh: "da.jh"; ji: "da.ji"; jj: "da.jj"; jk: "da.jk"; jl: "da.jl"; jm: "da.jm"; jn: "da.jn"; jo: "da.jo"; jp: "da.jp"; jq: "da.jq"; jr: "da.jr"; js: "da.js"; jt: "da.jt"; ju: "da.ju"; jv: "da.jv"; jw: "da.jw"; jx: "da.jx"; jy: "da.jy"; jz: "da.jz"; ka: "da.ka"; kb: "da.kb"; kc: "da.kc"; kd: "da.kd"; ke: "da.ke"; kf: "da.kf"; kg: "da.kg"; kh: "da.kh"; ki: "da.ki"; kj: "da.kj"; kk: "da.kk"; kl: "da.kl"; km: "da.km"; kn: "da.kn"; ko: "da.ko"; kp: "da.kp"; kq: "da.kq"; kr: "da.kr"; ks: "da.ks"; kt: "da.kt"; ku: "da.ku"; kv: "da.kv"; kw: "da.kw"; kx: "da.kx"; ky: "da.ky"; kz: "da.kz"; la: "da.la"; lb: "da.lb"; lc: "da.lc"; ld: "da.ld"; le: "da.le"; lf: "da.lf"; lg: "da.lg"; lh: "da.lh"; li: "da.li"; lj: "da.lj"; lk: "da.lk"; ll: "da.ll"; lm: "da.lm"; ln: "da.ln"; lo: "da.lo"; lp: "da.lp"; lq: "da.lq"; lr: "da.lr"; ls: "da.ls"; lt: "da.lt"; lu: "da.lu"; lv: "da.lv"; lw: "da.lw"; lx: "da.lx"; ly: "da.ly"; lz: "da.lz"; ma: "da.ma"; mb: "da.mb"; mc: "da.mc"; md: "da.md"; me: "da.me"; mf: "da.mf"; mg: "da.mg"; mh: "da.mh"; mi: "da.mi"; mj: "da.mj"; mk: "da.mk"; ml: "da.ml"; mm: "da.mm"; mn: "da.mn"; mo: "da.mo"; mp: "da.mp"; mq: "da.mq"; mr: "da.mr"; ms: "da.ms"; mt: "da.mt"; mu: "da.mu"; mv: "da.mv"; mw: "da.mw"; mx: "da.mx"; my: "da.my"; mz: "da.mz"; na: "da.na"; nb: "da.nb"; nc: "da.nc"; nd: "da.nd"; ne: "da.ne"; nf: "da.nf"; ng: "da.ng"; nh: "da.nh"; ni: "da.ni"; nj: "da.nj"; nk: "da.nk"; nl: "da.nl"; nm: "da.nm"; nn: "da.nn"; no: "da.no"; np: "da.np"; nq: "da.nq"; nr: "da.nr"; ns: "da.ns"; nt: "da.nt"; nu: "da.nu"; nv: "da.nv"; nw: "da.nw"; nx: "da.nx"; ny: "da.ny"; nz: "da.nz"; oa: "da.oa"; ob: "da.ob"; oc: "da.oc"; od: "da.od"; oe: "da.oe"; of: "da.of"; og: "da.og"; oh: "da.oh"; oi: "da.oi"; oj: "da.oj"; ok: "da.ok"; ol: "da.ol"; om: "da.om"; on: "da.on"; oo: "da.oo"; op: "da.op"; oq: "da.oq"; or: "da.or"; os: "da.os"; ot: "da.ot"; ou: "da.ou"; ov: "da.ov"; ow: "da.ow"; ox: "da.ox"; oy: "da.oy"; oz: "da.oz"; pa: "da.pa"; pb: "da.pb"; pc: "da.pc"; pd: "da.pd"; pe: "da.pe"; pf: "da.pf"; pg: "da.pg"; ph: "da.ph"; pi: "da.pi"; pj: "da.pj"; pk: "da.pk"; pl: "da.pl"; pm: "da.pm"; pn: "da.pn"; po: "da.po"; pp: "da.pp"; pq: "da.pq"; pr: "da.pr"; ps: "da.ps"; pt: "da.pt"; pu: "da.pu"; pv: "da.pv"; pw: "da.pw"; px: "da.px"; py: "da.py"; pz: "da.pz"; qa: "da.qa"; qb: "da.qb"; qc: "da.qc"; qd: "da.qd"; qe: "da.qe"; qf: "da.qf"; qg: "da.qg"; qh: "da.qh"; qi: "da.qi"; qj: "da.qj"; qk: "da.qk"; ql: "da.ql"; qm: "da.qm"; qn: "da.qn"; qo: "da.qo"; qp: "da.qp"; qq: "da.qq"; qr: "da.qr"; qs: "da.qs"; qt: "da.qt"; qu: "da.qu"; qv: "da.qv"; qw: "da.qw"; qx: "da.qx"; qy: "da.qy"; qz: "da.qz"; ra: "da.ra"; rb: "da.rb"; rc: "da.rc"; rd: "da.rd"; re: "da.re"; rf: "da.rf"; rg: "da.rg"; rh: "da.rh"; ri: "da.ri"; rj: "da.rj"; rk: "da.rk"; rl: "da.rl"; rm: "da.rm"; rn: "da.rn"; ro: "da.ro"; rp: "da.rp"; rq: "da.rq"; rr: "da.rr"; rs: "da.rs"; rt: "da.rt"; ru: "da.ru"; rv: "da.rv"; rw: "da.rw"; rx: "da.rx"; ry: "da.ry"; rz: "da.rz"; sa: "da.sa"; sb: "da.sb"; sc: "da.sc"; sd: "da.sd"; se: "da.se"; sf: "da.sf"; sg: "da.sg"; sh: "da.sh"; si: "da.si"; sj: "da.sj"; sk: "da.sk"; sl: "da.sl"; sm: "da.sm"; sn: "da.sn"; so: "da.so"; sp: "da.sp"; sq: "da.sq"; sr: "da.sr"; ss: "da.ss"; st: "da.st"; su: "da.su"; sv: "da.sv"; sw: "da.sw"; sx: "da.sx"; sy: "da.sy"; sz: "da.sz"; ta: "da.ta"; tb: "da.tb"; tc: "da.tc"; td: "da.td"; te: "da.te"; tf: "da.tf"; tg: "da.tg"; th: "da.th"; ti: "da.ti"; tj: "da.tj"; tk: "da.tk"; tl: "da.tl"; tm: "da.tm"; tn: "da.tn"; to: "da.to"; tp: "da.tp"; tq: "da.tq"; tr: "da.tr"; ts: "da.ts"; tt: "da.tt"; tu: "da.tu"; tv: "da.tv"; tw: "da.tw"; tx: "da.tx"; ty: "da.ty"; tz: "da.tz"; ua: "da.ua"; ub: "da.ub"; uc: "da.uc"; ud: "da.ud"; ue: "da.ue"; uf: "da.uf"; ug: "da.ug"; uh: "da.uh"; ui: "da.ui"; uj: "da.uj"; uk: "da.uk"; ul: "da.ul"; um: "da.um"; un: "da.un"; uo: "da.uo"; up: "da.up"; uq: "da.uq"; ur: "da.ur"; us: "da.us"; ut: "da.ut"; uu: "da.uu"; uv: "da.uv"; uw: "da.uw"; ux: "da.ux"; uy: "da.uy"; uz: "da.uz"; va: "da.va"; vb: "da.vb"; vc: "da.vc"; vd: "da.vd"; ve: "da.ve"; vf: "da.vf"; vg: "da.vg"; vh: "da.vh"; vi: "da.vi"; vj: "da.vj"; vk: "da.vk"; vl: "da.vl"; vm: "da.vm"; vn: "da.vn"; vo: "da.vo"; vp: "da.vp"; vq: "da.vq"; vr: "da.vr"; vs: "da.vs"; vt: "da.vt"; vu: "da.vu"; vv: "da.vv"; vw: "da.vw"; vx: "da.vx"; vy: "da.vy"; vz: "da.vz"; wa: "da.wa"; wb: "da.wb"; wc: "da.wc"; wd: "da.wd"; we: "da.we"; wf: "da.wf"; wg: "da.wg"; wh: "da.wh"; wi: "da.wi"; wj: "da.wj"; wk: "da.wk"; wl: "da.wl"; wm: "da.wm"; wn: "da.wn"; wo: "da.wo"; wp: "da.wp"; wq: "da.wq"; wr: "da.wr"; ws: "da.ws"; wt: "da.wt"; wu: "da.wu"; wv: "da.wv"; ww: "da.ww"; wx: "da.wx"; wy: "da.wy"; wz: "da.wz"; xa: "da.xa"; xb: "da.xb"; xc: "da.xc"; xd: "da.xd"; xe: "da.xe"; xf: "da.xf"; xg: "da.xg"; xh: "da.xh"; xi: "da.xi"; xj: "da.xj"; xk: "da.xk"; xl: "da.xl"; xm: "da.xm"; xn: "da.xn"; xo: "da.xo"; xp: "da.xp"; xq: "da.xq"; xr: "da.xr"; xs: "da.xs"; xt: "da.xt"; xu: "da.xu"; xv: "da.xv"; xw: "da.xw"; xx: "da.xx"; xy: "da.xy"; xz: "da.xz"; ya: "da.ya"; yb: "da.yb"; yc: "da.yc"; yd: "da.yd"; ye: "da.ye"; yf: "da.yf"; yg: "da.yg"; yh: "da.yh"; yi: "da.yi"; yj: "da.yj"; yk: "da.yk"; yl: "da.yl"; ym: "da.ym"; yn: "da.yn"; yo: "da.yo"; yp: "da.yp"; yq: "da.yq"; yr: "da.yr"; ys: "da.ys"; yt: "da.yt"; yu: "da.yu"; yv: "da.yv"; yw: "da.yw"; yx: "da.yx"; yy: "da.yy"; yz: "da.yz"; za: "da.za"; zb: "da.zb"; zc: "da.zc"; zd: "da.zd"; ze: "da.ze"; zf: "da.zf"; zg: "da.zg"; zh: "da.zh"; zi: "da.zi"; zj: "da.zj"; zk: "da.zk"; zl: "da.zl"; zm: "da.zm"; zn: "da.zn"; zo: "da.zo"; zp: "da.zp"; zq: "da.zq"; zr: "da.zr"; zs: "da.zs"; zt: "da.zt"; zu: "da.zu"; zv: "da.zv"; zw: "da.zw"; zx: "da.zx"; zy: "da.zy"; zz: "da.zz"; }; db: { aa: "db.aa"; ab: "db.ab"; ac: "db.ac"; ad: "db.ad"; ae: "db.ae"; af: "db.af"; ag: "db.ag"; ah: "db.ah"; ai: "db.ai"; aj: "db.aj"; ak: "db.ak"; al: "db.al"; am: "db.am"; an: "db.an"; ao: "db.ao"; ap: "db.ap"; aq: "db.aq"; ar: "db.ar"; as: "db.as"; at: "db.at"; au: "db.au"; av: "db.av"; aw: "db.aw"; ax: "db.ax"; ay: "db.ay"; az: "db.az"; ba: "db.ba"; bb: "db.bb"; bc: "db.bc"; bd: "db.bd"; be: "db.be"; bf: "db.bf"; bg: "db.bg"; bh: "db.bh"; bi: "db.bi"; bj: "db.bj"; bk: "db.bk"; bl: "db.bl"; bm: "db.bm"; bn: "db.bn"; bo: "db.bo"; bp: "db.bp"; bq: "db.bq"; br: "db.br"; bs: "db.bs"; bt: "db.bt"; bu: "db.bu"; bv: "db.bv"; bw: "db.bw"; bx: "db.bx"; by: "db.by"; bz: "db.bz"; ca: "db.ca"; cb: "db.cb"; cc: "db.cc"; cd: "db.cd"; ce: "db.ce"; cf: "db.cf"; cg: "db.cg"; ch: "db.ch"; ci: "db.ci"; cj: "db.cj"; ck: "db.ck"; cl: "db.cl"; cm: "db.cm"; cn: "db.cn"; co: "db.co"; cp: "db.cp"; cq: "db.cq"; cr: "db.cr"; cs: "db.cs"; ct: "db.ct"; cu: "db.cu"; cv: "db.cv"; cw: "db.cw"; cx: "db.cx"; cy: "db.cy"; cz: "db.cz"; da: "db.da"; db: "db.db"; dc: "db.dc"; dd: "db.dd"; de: "db.de"; df: "db.df"; dg: "db.dg"; dh: "db.dh"; di: "db.di"; dj: "db.dj"; dk: "db.dk"; dl: "db.dl"; dm: "db.dm"; dn: "db.dn"; do: "db.do"; dp: "db.dp"; dq: "db.dq"; dr: "db.dr"; ds: "db.ds"; dt: "db.dt"; du: "db.du"; dv: "db.dv"; dw: "db.dw"; dx: "db.dx"; dy: "db.dy"; dz: "db.dz"; ea: "db.ea"; eb: "db.eb"; ec: "db.ec"; ed: "db.ed"; ee: "db.ee"; ef: "db.ef"; eg: "db.eg"; eh: "db.eh"; ei: "db.ei"; ej: "db.ej"; ek: "db.ek"; el: "db.el"; em: "db.em"; en: "db.en"; eo: "db.eo"; ep: "db.ep"; eq: "db.eq"; er: "db.er"; es: "db.es"; et: "db.et"; eu: "db.eu"; ev: "db.ev"; ew: "db.ew"; ex: "db.ex"; ey: "db.ey"; ez: "db.ez"; fa: "db.fa"; fb: "db.fb"; fc: "db.fc"; fd: "db.fd"; fe: "db.fe"; ff: "db.ff"; fg: "db.fg"; fh: "db.fh"; fi: "db.fi"; fj: "db.fj"; fk: "db.fk"; fl: "db.fl"; fm: "db.fm"; fn: "db.fn"; fo: "db.fo"; fp: "db.fp"; fq: "db.fq"; fr: "db.fr"; fs: "db.fs"; ft: "db.ft"; fu: "db.fu"; fv: "db.fv"; fw: "db.fw"; fx: "db.fx"; fy: "db.fy"; fz: "db.fz"; ga: "db.ga"; gb: "db.gb"; gc: "db.gc"; gd: "db.gd"; ge: "db.ge"; gf: "db.gf"; gg: "db.gg"; gh: "db.gh"; gi: "db.gi"; gj: "db.gj"; gk: "db.gk"; gl: "db.gl"; gm: "db.gm"; gn: "db.gn"; go: "db.go"; gp: "db.gp"; gq: "db.gq"; gr: "db.gr"; gs: "db.gs"; gt: "db.gt"; gu: "db.gu"; gv: "db.gv"; gw: "db.gw"; gx: "db.gx"; gy: "db.gy"; gz: "db.gz"; ha: "db.ha"; hb: "db.hb"; hc: "db.hc"; hd: "db.hd"; he: "db.he"; hf: "db.hf"; hg: "db.hg"; hh: "db.hh"; hi: "db.hi"; hj: "db.hj"; hk: "db.hk"; hl: "db.hl"; hm: "db.hm"; hn: "db.hn"; ho: "db.ho"; hp: "db.hp"; hq: "db.hq"; hr: "db.hr"; hs: "db.hs"; ht: "db.ht"; hu: "db.hu"; hv: "db.hv"; hw: "db.hw"; hx: "db.hx"; hy: "db.hy"; hz: "db.hz"; ia: "db.ia"; ib: "db.ib"; ic: "db.ic"; id: "db.id"; ie: "db.ie"; if: "db.if"; ig: "db.ig"; ih: "db.ih"; ii: "db.ii"; ij: "db.ij"; ik: "db.ik"; il: "db.il"; im: "db.im"; in: "db.in"; io: "db.io"; ip: "db.ip"; iq: "db.iq"; ir: "db.ir"; is: "db.is"; it: "db.it"; iu: "db.iu"; iv: "db.iv"; iw: "db.iw"; ix: "db.ix"; iy: "db.iy"; iz: "db.iz"; ja: "db.ja"; jb: "db.jb"; jc: "db.jc"; jd: "db.jd"; je: "db.je"; jf: "db.jf"; jg: "db.jg"; jh: "db.jh"; ji: "db.ji"; jj: "db.jj"; jk: "db.jk"; jl: "db.jl"; jm: "db.jm"; jn: "db.jn"; jo: "db.jo"; jp: "db.jp"; jq: "db.jq"; jr: "db.jr"; js: "db.js"; jt: "db.jt"; ju: "db.ju"; jv: "db.jv"; jw: "db.jw"; jx: "db.jx"; jy: "db.jy"; jz: "db.jz"; ka: "db.ka"; kb: "db.kb"; kc: "db.kc"; kd: "db.kd"; ke: "db.ke"; kf: "db.kf"; kg: "db.kg"; kh: "db.kh"; ki: "db.ki"; kj: "db.kj"; kk: "db.kk"; kl: "db.kl"; km: "db.km"; kn: "db.kn"; ko: "db.ko"; kp: "db.kp"; kq: "db.kq"; kr: "db.kr"; ks: "db.ks"; kt: "db.kt"; ku: "db.ku"; kv: "db.kv"; kw: "db.kw"; kx: "db.kx"; ky: "db.ky"; kz: "db.kz"; la: "db.la"; lb: "db.lb"; lc: "db.lc"; ld: "db.ld"; le: "db.le"; lf: "db.lf"; lg: "db.lg"; lh: "db.lh"; li: "db.li"; lj: "db.lj"; lk: "db.lk"; ll: "db.ll"; lm: "db.lm"; ln: "db.ln"; lo: "db.lo"; lp: "db.lp"; lq: "db.lq"; lr: "db.lr"; ls: "db.ls"; lt: "db.lt"; lu: "db.lu"; lv: "db.lv"; lw: "db.lw"; lx: "db.lx"; ly: "db.ly"; lz: "db.lz"; ma: "db.ma"; mb: "db.mb"; mc: "db.mc"; md: "db.md"; me: "db.me"; mf: "db.mf"; mg: "db.mg"; mh: "db.mh"; mi: "db.mi"; mj: "db.mj"; mk: "db.mk"; ml: "db.ml"; mm: "db.mm"; mn: "db.mn"; mo: "db.mo"; mp: "db.mp"; mq: "db.mq"; mr: "db.mr"; ms: "db.ms"; mt: "db.mt"; mu: "db.mu"; mv: "db.mv"; mw: "db.mw"; mx: "db.mx"; my: "db.my"; mz: "db.mz"; na: "db.na"; nb: "db.nb"; nc: "db.nc"; nd: "db.nd"; ne: "db.ne"; nf: "db.nf"; ng: "db.ng"; nh: "db.nh"; ni: "db.ni"; nj: "db.nj"; nk: "db.nk"; nl: "db.nl"; nm: "db.nm"; nn: "db.nn"; no: "db.no"; np: "db.np"; nq: "db.nq"; nr: "db.nr"; ns: "db.ns"; nt: "db.nt"; nu: "db.nu"; nv: "db.nv"; nw: "db.nw"; nx: "db.nx"; ny: "db.ny"; nz: "db.nz"; oa: "db.oa"; ob: "db.ob"; oc: "db.oc"; od: "db.od"; oe: "db.oe"; of: "db.of"; og: "db.og"; oh: "db.oh"; oi: "db.oi"; oj: "db.oj"; ok: "db.ok"; ol: "db.ol"; om: "db.om"; on: "db.on"; oo: "db.oo"; op: "db.op"; oq: "db.oq"; or: "db.or"; os: "db.os"; ot: "db.ot"; ou: "db.ou"; ov: "db.ov"; ow: "db.ow"; ox: "db.ox"; oy: "db.oy"; oz: "db.oz"; pa: "db.pa"; pb: "db.pb"; pc: "db.pc"; pd: "db.pd"; pe: "db.pe"; pf: "db.pf"; pg: "db.pg"; ph: "db.ph"; pi: "db.pi"; pj: "db.pj"; pk: "db.pk"; pl: "db.pl"; pm: "db.pm"; pn: "db.pn"; po: "db.po"; pp: "db.pp"; pq: "db.pq"; pr: "db.pr"; ps: "db.ps"; pt: "db.pt"; pu: "db.pu"; pv: "db.pv"; pw: "db.pw"; px: "db.px"; py: "db.py"; pz: "db.pz"; qa: "db.qa"; qb: "db.qb"; qc: "db.qc"; qd: "db.qd"; qe: "db.qe"; qf: "db.qf"; qg: "db.qg"; qh: "db.qh"; qi: "db.qi"; qj: "db.qj"; qk: "db.qk"; ql: "db.ql"; qm: "db.qm"; qn: "db.qn"; qo: "db.qo"; qp: "db.qp"; qq: "db.qq"; qr: "db.qr"; qs: "db.qs"; qt: "db.qt"; qu: "db.qu"; qv: "db.qv"; qw: "db.qw"; qx: "db.qx"; qy: "db.qy"; qz: "db.qz"; ra: "db.ra"; rb: "db.rb"; rc: "db.rc"; rd: "db.rd"; re: "db.re"; rf: "db.rf"; rg: "db.rg"; rh: "db.rh"; ri: "db.ri"; rj: "db.rj"; rk: "db.rk"; rl: "db.rl"; rm: "db.rm"; rn: "db.rn"; ro: "db.ro"; rp: "db.rp"; rq: "db.rq"; rr: "db.rr"; rs: "db.rs"; rt: "db.rt"; ru: "db.ru"; rv: "db.rv"; rw: "db.rw"; rx: "db.rx"; ry: "db.ry"; rz: "db.rz"; sa: "db.sa"; sb: "db.sb"; sc: "db.sc"; sd: "db.sd"; se: "db.se"; sf: "db.sf"; sg: "db.sg"; sh: "db.sh"; si: "db.si"; sj: "db.sj"; sk: "db.sk"; sl: "db.sl"; sm: "db.sm"; sn: "db.sn"; so: "db.so"; sp: "db.sp"; sq: "db.sq"; sr: "db.sr"; ss: "db.ss"; st: "db.st"; su: "db.su"; sv: "db.sv"; sw: "db.sw"; sx: "db.sx"; sy: "db.sy"; sz: "db.sz"; ta: "db.ta"; tb: "db.tb"; tc: "db.tc"; td: "db.td"; te: "db.te"; tf: "db.tf"; tg: "db.tg"; th: "db.th"; ti: "db.ti"; tj: "db.tj"; tk: "db.tk"; tl: "db.tl"; tm: "db.tm"; tn: "db.tn"; to: "db.to"; tp: "db.tp"; tq: "db.tq"; tr: "db.tr"; ts: "db.ts"; tt: "db.tt"; tu: "db.tu"; tv: "db.tv"; tw: "db.tw"; tx: "db.tx"; ty: "db.ty"; tz: "db.tz"; ua: "db.ua"; ub: "db.ub"; uc: "db.uc"; ud: "db.ud"; ue: "db.ue"; uf: "db.uf"; ug: "db.ug"; uh: "db.uh"; ui: "db.ui"; uj: "db.uj"; uk: "db.uk"; ul: "db.ul"; um: "db.um"; un: "db.un"; uo: "db.uo"; up: "db.up"; uq: "db.uq"; ur: "db.ur"; us: "db.us"; ut: "db.ut"; uu: "db.uu"; uv: "db.uv"; uw: "db.uw"; ux: "db.ux"; uy: "db.uy"; uz: "db.uz"; va: "db.va"; vb: "db.vb"; vc: "db.vc"; vd: "db.vd"; ve: "db.ve"; vf: "db.vf"; vg: "db.vg"; vh: "db.vh"; vi: "db.vi"; vj: "db.vj"; vk: "db.vk"; vl: "db.vl"; vm: "db.vm"; vn: "db.vn"; vo: "db.vo"; vp: "db.vp"; vq: "db.vq"; vr: "db.vr"; vs: "db.vs"; vt: "db.vt"; vu: "db.vu"; vv: "db.vv"; vw: "db.vw"; vx: "db.vx"; vy: "db.vy"; vz: "db.vz"; wa: "db.wa"; wb: "db.wb"; wc: "db.wc"; wd: "db.wd"; we: "db.we"; wf: "db.wf"; wg: "db.wg"; wh: "db.wh"; wi: "db.wi"; wj: "db.wj"; wk: "db.wk"; wl: "db.wl"; wm: "db.wm"; wn: "db.wn"; wo: "db.wo"; wp: "db.wp"; wq: "db.wq"; wr: "db.wr"; ws: "db.ws"; wt: "db.wt"; wu: "db.wu"; wv: "db.wv"; ww: "db.ww"; wx: "db.wx"; wy: "db.wy"; wz: "db.wz"; xa: "db.xa"; xb: "db.xb"; xc: "db.xc"; xd: "db.xd"; xe: "db.xe"; xf: "db.xf"; xg: "db.xg"; xh: "db.xh"; xi: "db.xi"; xj: "db.xj"; xk: "db.xk"; xl: "db.xl"; xm: "db.xm"; xn: "db.xn"; xo: "db.xo"; xp: "db.xp"; xq: "db.xq"; xr: "db.xr"; xs: "db.xs"; xt: "db.xt"; xu: "db.xu"; xv: "db.xv"; xw: "db.xw"; xx: "db.xx"; xy: "db.xy"; xz: "db.xz"; ya: "db.ya"; yb: "db.yb"; yc: "db.yc"; yd: "db.yd"; ye: "db.ye"; yf: "db.yf"; yg: "db.yg"; yh: "db.yh"; yi: "db.yi"; yj: "db.yj"; yk: "db.yk"; yl: "db.yl"; ym: "db.ym"; yn: "db.yn"; yo: "db.yo"; yp: "db.yp"; yq: "db.yq"; yr: "db.yr"; ys: "db.ys"; yt: "db.yt"; yu: "db.yu"; yv: "db.yv"; yw: "db.yw"; yx: "db.yx"; yy: "db.yy"; yz: "db.yz"; za: "db.za"; zb: "db.zb"; zc: "db.zc"; zd: "db.zd"; ze: "db.ze"; zf: "db.zf"; zg: "db.zg"; zh: "db.zh"; zi: "db.zi"; zj: "db.zj"; zk: "db.zk"; zl: "db.zl"; zm: "db.zm"; zn: "db.zn"; zo: "db.zo"; zp: "db.zp"; zq: "db.zq"; zr: "db.zr"; zs: "db.zs"; zt: "db.zt"; zu: "db.zu"; zv: "db.zv"; zw: "db.zw"; zx: "db.zx"; zy: "db.zy"; zz: "db.zz"; }; dc: { aa: "dc.aa"; ab: "dc.ab"; ac: "dc.ac"; ad: "dc.ad"; ae: "dc.ae"; af: "dc.af"; ag: "dc.ag"; ah: "dc.ah"; ai: "dc.ai"; aj: "dc.aj"; ak: "dc.ak"; al: "dc.al"; am: "dc.am"; an: "dc.an"; ao: "dc.ao"; ap: "dc.ap"; aq: "dc.aq"; ar: "dc.ar"; as: "dc.as"; at: "dc.at"; au: "dc.au"; av: "dc.av"; aw: "dc.aw"; ax: "dc.ax"; ay: "dc.ay"; az: "dc.az"; ba: "dc.ba"; bb: "dc.bb"; bc: "dc.bc"; bd: "dc.bd"; be: "dc.be"; bf: "dc.bf"; bg: "dc.bg"; bh: "dc.bh"; bi: "dc.bi"; bj: "dc.bj"; bk: "dc.bk"; bl: "dc.bl"; bm: "dc.bm"; bn: "dc.bn"; bo: "dc.bo"; bp: "dc.bp"; bq: "dc.bq"; br: "dc.br"; bs: "dc.bs"; bt: "dc.bt"; bu: "dc.bu"; bv: "dc.bv"; bw: "dc.bw"; bx: "dc.bx"; by: "dc.by"; bz: "dc.bz"; ca: "dc.ca"; cb: "dc.cb"; cc: "dc.cc"; cd: "dc.cd"; ce: "dc.ce"; cf: "dc.cf"; cg: "dc.cg"; ch: "dc.ch"; ci: "dc.ci"; cj: "dc.cj"; ck: "dc.ck"; cl: "dc.cl"; cm: "dc.cm"; cn: "dc.cn"; co: "dc.co"; cp: "dc.cp"; cq: "dc.cq"; cr: "dc.cr"; cs: "dc.cs"; ct: "dc.ct"; cu: "dc.cu"; cv: "dc.cv"; cw: "dc.cw"; cx: "dc.cx"; cy: "dc.cy"; cz: "dc.cz"; da: "dc.da"; db: "dc.db"; dc: "dc.dc"; dd: "dc.dd"; de: "dc.de"; df: "dc.df"; dg: "dc.dg"; dh: "dc.dh"; di: "dc.di"; dj: "dc.dj"; dk: "dc.dk"; dl: "dc.dl"; dm: "dc.dm"; dn: "dc.dn"; do: "dc.do"; dp: "dc.dp"; dq: "dc.dq"; dr: "dc.dr"; ds: "dc.ds"; dt: "dc.dt"; du: "dc.du"; dv: "dc.dv"; dw: "dc.dw"; dx: "dc.dx"; dy: "dc.dy"; dz: "dc.dz"; ea: "dc.ea"; eb: "dc.eb"; ec: "dc.ec"; ed: "dc.ed"; ee: "dc.ee"; ef: "dc.ef"; eg: "dc.eg"; eh: "dc.eh"; ei: "dc.ei"; ej: "dc.ej"; ek: "dc.ek"; el: "dc.el"; em: "dc.em"; en: "dc.en"; eo: "dc.eo"; ep: "dc.ep"; eq: "dc.eq"; er: "dc.er"; es: "dc.es"; et: "dc.et"; eu: "dc.eu"; ev: "dc.ev"; ew: "dc.ew"; ex: "dc.ex"; ey: "dc.ey"; ez: "dc.ez"; fa: "dc.fa"; fb: "dc.fb"; fc: "dc.fc"; fd: "dc.fd"; fe: "dc.fe"; ff: "dc.ff"; fg: "dc.fg"; fh: "dc.fh"; fi: "dc.fi"; fj: "dc.fj"; fk: "dc.fk"; fl: "dc.fl"; fm: "dc.fm"; fn: "dc.fn"; fo: "dc.fo"; fp: "dc.fp"; fq: "dc.fq"; fr: "dc.fr"; fs: "dc.fs"; ft: "dc.ft"; fu: "dc.fu"; fv: "dc.fv"; fw: "dc.fw"; fx: "dc.fx"; fy: "dc.fy"; fz: "dc.fz"; ga: "dc.ga"; gb: "dc.gb"; gc: "dc.gc"; gd: "dc.gd"; ge: "dc.ge"; gf: "dc.gf"; gg: "dc.gg"; gh: "dc.gh"; gi: "dc.gi"; gj: "dc.gj"; gk: "dc.gk"; gl: "dc.gl"; gm: "dc.gm"; gn: "dc.gn"; go: "dc.go"; gp: "dc.gp"; gq: "dc.gq"; gr: "dc.gr"; gs: "dc.gs"; gt: "dc.gt"; gu: "dc.gu"; gv: "dc.gv"; gw: "dc.gw"; gx: "dc.gx"; gy: "dc.gy"; gz: "dc.gz"; ha: "dc.ha"; hb: "dc.hb"; hc: "dc.hc"; hd: "dc.hd"; he: "dc.he"; hf: "dc.hf"; hg: "dc.hg"; hh: "dc.hh"; hi: "dc.hi"; hj: "dc.hj"; hk: "dc.hk"; hl: "dc.hl"; hm: "dc.hm"; hn: "dc.hn"; ho: "dc.ho"; hp: "dc.hp"; hq: "dc.hq"; hr: "dc.hr"; hs: "dc.hs"; ht: "dc.ht"; hu: "dc.hu"; hv: "dc.hv"; hw: "dc.hw"; hx: "dc.hx"; hy: "dc.hy"; hz: "dc.hz"; ia: "dc.ia"; ib: "dc.ib"; ic: "dc.ic"; id: "dc.id"; ie: "dc.ie"; if: "dc.if"; ig: "dc.ig"; ih: "dc.ih"; ii: "dc.ii"; ij: "dc.ij"; ik: "dc.ik"; il: "dc.il"; im: "dc.im"; in: "dc.in"; io: "dc.io"; ip: "dc.ip"; iq: "dc.iq"; ir: "dc.ir"; is: "dc.is"; it: "dc.it"; iu: "dc.iu"; iv: "dc.iv"; iw: "dc.iw"; ix: "dc.ix"; iy: "dc.iy"; iz: "dc.iz"; ja: "dc.ja"; jb: "dc.jb"; jc: "dc.jc"; jd: "dc.jd"; je: "dc.je"; jf: "dc.jf"; jg: "dc.jg"; jh: "dc.jh"; ji: "dc.ji"; jj: "dc.jj"; jk: "dc.jk"; jl: "dc.jl"; jm: "dc.jm"; jn: "dc.jn"; jo: "dc.jo"; jp: "dc.jp"; jq: "dc.jq"; jr: "dc.jr"; js: "dc.js"; jt: "dc.jt"; ju: "dc.ju"; jv: "dc.jv"; jw: "dc.jw"; jx: "dc.jx"; jy: "dc.jy"; jz: "dc.jz"; ka: "dc.ka"; kb: "dc.kb"; kc: "dc.kc"; kd: "dc.kd"; ke: "dc.ke"; kf: "dc.kf"; kg: "dc.kg"; kh: "dc.kh"; ki: "dc.ki"; kj: "dc.kj"; kk: "dc.kk"; kl: "dc.kl"; km: "dc.km"; kn: "dc.kn"; ko: "dc.ko"; kp: "dc.kp"; kq: "dc.kq"; kr: "dc.kr"; ks: "dc.ks"; kt: "dc.kt"; ku: "dc.ku"; kv: "dc.kv"; kw: "dc.kw"; kx: "dc.kx"; ky: "dc.ky"; kz: "dc.kz"; la: "dc.la"; lb: "dc.lb"; lc: "dc.lc"; ld: "dc.ld"; le: "dc.le"; lf: "dc.lf"; lg: "dc.lg"; lh: "dc.lh"; li: "dc.li"; lj: "dc.lj"; lk: "dc.lk"; ll: "dc.ll"; lm: "dc.lm"; ln: "dc.ln"; lo: "dc.lo"; lp: "dc.lp"; lq: "dc.lq"; lr: "dc.lr"; ls: "dc.ls"; lt: "dc.lt"; lu: "dc.lu"; lv: "dc.lv"; lw: "dc.lw"; lx: "dc.lx"; ly: "dc.ly"; lz: "dc.lz"; ma: "dc.ma"; mb: "dc.mb"; mc: "dc.mc"; md: "dc.md"; me: "dc.me"; mf: "dc.mf"; mg: "dc.mg"; mh: "dc.mh"; mi: "dc.mi"; mj: "dc.mj"; mk: "dc.mk"; ml: "dc.ml"; mm: "dc.mm"; mn: "dc.mn"; mo: "dc.mo"; mp: "dc.mp"; mq: "dc.mq"; mr: "dc.mr"; ms: "dc.ms"; mt: "dc.mt"; mu: "dc.mu"; mv: "dc.mv"; mw: "dc.mw"; mx: "dc.mx"; my: "dc.my"; mz: "dc.mz"; na: "dc.na"; nb: "dc.nb"; nc: "dc.nc"; nd: "dc.nd"; ne: "dc.ne"; nf: "dc.nf"; ng: "dc.ng"; nh: "dc.nh"; ni: "dc.ni"; nj: "dc.nj"; nk: "dc.nk"; nl: "dc.nl"; nm: "dc.nm"; nn: "dc.nn"; no: "dc.no"; np: "dc.np"; nq: "dc.nq"; nr: "dc.nr"; ns: "dc.ns"; nt: "dc.nt"; nu: "dc.nu"; nv: "dc.nv"; nw: "dc.nw"; nx: "dc.nx"; ny: "dc.ny"; nz: "dc.nz"; oa: "dc.oa"; ob: "dc.ob"; oc: "dc.oc"; od: "dc.od"; oe: "dc.oe"; of: "dc.of"; og: "dc.og"; oh: "dc.oh"; oi: "dc.oi"; oj: "dc.oj"; ok: "dc.ok"; ol: "dc.ol"; om: "dc.om"; on: "dc.on"; oo: "dc.oo"; op: "dc.op"; oq: "dc.oq"; or: "dc.or"; os: "dc.os"; ot: "dc.ot"; ou: "dc.ou"; ov: "dc.ov"; ow: "dc.ow"; ox: "dc.ox"; oy: "dc.oy"; oz: "dc.oz"; pa: "dc.pa"; pb: "dc.pb"; pc: "dc.pc"; pd: "dc.pd"; pe: "dc.pe"; pf: "dc.pf"; pg: "dc.pg"; ph: "dc.ph"; pi: "dc.pi"; pj: "dc.pj"; pk: "dc.pk"; pl: "dc.pl"; pm: "dc.pm"; pn: "dc.pn"; po: "dc.po"; pp: "dc.pp"; pq: "dc.pq"; pr: "dc.pr"; ps: "dc.ps"; pt: "dc.pt"; pu: "dc.pu"; pv: "dc.pv"; pw: "dc.pw"; px: "dc.px"; py: "dc.py"; pz: "dc.pz"; qa: "dc.qa"; qb: "dc.qb"; qc: "dc.qc"; qd: "dc.qd"; qe: "dc.qe"; qf: "dc.qf"; qg: "dc.qg"; qh: "dc.qh"; qi: "dc.qi"; qj: "dc.qj"; qk: "dc.qk"; ql: "dc.ql"; qm: "dc.qm"; qn: "dc.qn"; qo: "dc.qo"; qp: "dc.qp"; qq: "dc.qq"; qr: "dc.qr"; qs: "dc.qs"; qt: "dc.qt"; qu: "dc.qu"; qv: "dc.qv"; qw: "dc.qw"; qx: "dc.qx"; qy: "dc.qy"; qz: "dc.qz"; ra: "dc.ra"; rb: "dc.rb"; rc: "dc.rc"; rd: "dc.rd"; re: "dc.re"; rf: "dc.rf"; rg: "dc.rg"; rh: "dc.rh"; ri: "dc.ri"; rj: "dc.rj"; rk: "dc.rk"; rl: "dc.rl"; rm: "dc.rm"; rn: "dc.rn"; ro: "dc.ro"; rp: "dc.rp"; rq: "dc.rq"; rr: "dc.rr"; rs: "dc.rs"; rt: "dc.rt"; ru: "dc.ru"; rv: "dc.rv"; rw: "dc.rw"; rx: "dc.rx"; ry: "dc.ry"; rz: "dc.rz"; sa: "dc.sa"; sb: "dc.sb"; sc: "dc.sc"; sd: "dc.sd"; se: "dc.se"; sf: "dc.sf"; sg: "dc.sg"; sh: "dc.sh"; si: "dc.si"; sj: "dc.sj"; sk: "dc.sk"; sl: "dc.sl"; sm: "dc.sm"; sn: "dc.sn"; so: "dc.so"; sp: "dc.sp"; sq: "dc.sq"; sr: "dc.sr"; ss: "dc.ss"; st: "dc.st"; su: "dc.su"; sv: "dc.sv"; sw: "dc.sw"; sx: "dc.sx"; sy: "dc.sy"; sz: "dc.sz"; ta: "dc.ta"; tb: "dc.tb"; tc: "dc.tc"; td: "dc.td"; te: "dc.te"; tf: "dc.tf"; tg: "dc.tg"; th: "dc.th"; ti: "dc.ti"; tj: "dc.tj"; tk: "dc.tk"; tl: "dc.tl"; tm: "dc.tm"; tn: "dc.tn"; to: "dc.to"; tp: "dc.tp"; tq: "dc.tq"; tr: "dc.tr"; ts: "dc.ts"; tt: "dc.tt"; tu: "dc.tu"; tv: "dc.tv"; tw: "dc.tw"; tx: "dc.tx"; ty: "dc.ty"; tz: "dc.tz"; ua: "dc.ua"; ub: "dc.ub"; uc: "dc.uc"; ud: "dc.ud"; ue: "dc.ue"; uf: "dc.uf"; ug: "dc.ug"; uh: "dc.uh"; ui: "dc.ui"; uj: "dc.uj"; uk: "dc.uk"; ul: "dc.ul"; um: "dc.um"; un: "dc.un"; uo: "dc.uo"; up: "dc.up"; uq: "dc.uq"; ur: "dc.ur"; us: "dc.us"; ut: "dc.ut"; uu: "dc.uu"; uv: "dc.uv"; uw: "dc.uw"; ux: "dc.ux"; uy: "dc.uy"; uz: "dc.uz"; va: "dc.va"; vb: "dc.vb"; vc: "dc.vc"; vd: "dc.vd"; ve: "dc.ve"; vf: "dc.vf"; vg: "dc.vg"; vh: "dc.vh"; vi: "dc.vi"; vj: "dc.vj"; vk: "dc.vk"; vl: "dc.vl"; vm: "dc.vm"; vn: "dc.vn"; vo: "dc.vo"; vp: "dc.vp"; vq: "dc.vq"; vr: "dc.vr"; vs: "dc.vs"; vt: "dc.vt"; vu: "dc.vu"; vv: "dc.vv"; vw: "dc.vw"; vx: "dc.vx"; vy: "dc.vy"; vz: "dc.vz"; wa: "dc.wa"; wb: "dc.wb"; wc: "dc.wc"; wd: "dc.wd"; we: "dc.we"; wf: "dc.wf"; wg: "dc.wg"; wh: "dc.wh"; wi: "dc.wi"; wj: "dc.wj"; wk: "dc.wk"; wl: "dc.wl"; wm: "dc.wm"; wn: "dc.wn"; wo: "dc.wo"; wp: "dc.wp"; wq: "dc.wq"; wr: "dc.wr"; ws: "dc.ws"; wt: "dc.wt"; wu: "dc.wu"; wv: "dc.wv"; ww: "dc.ww"; wx: "dc.wx"; wy: "dc.wy"; wz: "dc.wz"; xa: "dc.xa"; xb: "dc.xb"; xc: "dc.xc"; xd: "dc.xd"; xe: "dc.xe"; xf: "dc.xf"; xg: "dc.xg"; xh: "dc.xh"; xi: "dc.xi"; xj: "dc.xj"; xk: "dc.xk"; xl: "dc.xl"; xm: "dc.xm"; xn: "dc.xn"; xo: "dc.xo"; xp: "dc.xp"; xq: "dc.xq"; xr: "dc.xr"; xs: "dc.xs"; xt: "dc.xt"; xu: "dc.xu"; xv: "dc.xv"; xw: "dc.xw"; xx: "dc.xx"; xy: "dc.xy"; xz: "dc.xz"; ya: "dc.ya"; yb: "dc.yb"; yc: "dc.yc"; yd: "dc.yd"; ye: "dc.ye"; yf: "dc.yf"; yg: "dc.yg"; yh: "dc.yh"; yi: "dc.yi"; yj: "dc.yj"; yk: "dc.yk"; yl: "dc.yl"; ym: "dc.ym"; yn: "dc.yn"; yo: "dc.yo"; yp: "dc.yp"; yq: "dc.yq"; yr: "dc.yr"; ys: "dc.ys"; yt: "dc.yt"; yu: "dc.yu"; yv: "dc.yv"; yw: "dc.yw"; yx: "dc.yx"; yy: "dc.yy"; yz: "dc.yz"; za: "dc.za"; zb: "dc.zb"; zc: "dc.zc"; zd: "dc.zd"; ze: "dc.ze"; zf: "dc.zf"; zg: "dc.zg"; zh: "dc.zh"; zi: "dc.zi"; zj: "dc.zj"; zk: "dc.zk"; zl: "dc.zl"; zm: "dc.zm"; zn: "dc.zn"; zo: "dc.zo"; zp: "dc.zp"; zq: "dc.zq"; zr: "dc.zr"; zs: "dc.zs"; zt: "dc.zt"; zu: "dc.zu"; zv: "dc.zv"; zw: "dc.zw"; zx: "dc.zx"; zy: "dc.zy"; zz: "dc.zz"; }; dd: { aa: "dd.aa"; ab: "dd.ab"; ac: "dd.ac"; ad: "dd.ad"; ae: "dd.ae"; af: "dd.af"; ag: "dd.ag"; ah: "dd.ah"; ai: "dd.ai"; aj: "dd.aj"; ak: "dd.ak"; al: "dd.al"; am: "dd.am"; an: "dd.an"; ao: "dd.ao"; ap: "dd.ap"; aq: "dd.aq"; ar: "dd.ar"; as: "dd.as"; at: "dd.at"; au: "dd.au"; av: "dd.av"; aw: "dd.aw"; ax: "dd.ax"; ay: "dd.ay"; az: "dd.az"; ba: "dd.ba"; bb: "dd.bb"; bc: "dd.bc"; bd: "dd.bd"; be: "dd.be"; bf: "dd.bf"; bg: "dd.bg"; bh: "dd.bh"; bi: "dd.bi"; bj: "dd.bj"; bk: "dd.bk"; bl: "dd.bl"; bm: "dd.bm"; bn: "dd.bn"; bo: "dd.bo"; bp: "dd.bp"; bq: "dd.bq"; br: "dd.br"; bs: "dd.bs"; bt: "dd.bt"; bu: "dd.bu"; bv: "dd.bv"; bw: "dd.bw"; bx: "dd.bx"; by: "dd.by"; bz: "dd.bz"; ca: "dd.ca"; cb: "dd.cb"; cc: "dd.cc"; cd: "dd.cd"; ce: "dd.ce"; cf: "dd.cf"; cg: "dd.cg"; ch: "dd.ch"; ci: "dd.ci"; cj: "dd.cj"; ck: "dd.ck"; cl: "dd.cl"; cm: "dd.cm"; cn: "dd.cn"; co: "dd.co"; cp: "dd.cp"; cq: "dd.cq"; cr: "dd.cr"; cs: "dd.cs"; ct: "dd.ct"; cu: "dd.cu"; cv: "dd.cv"; cw: "dd.cw"; cx: "dd.cx"; cy: "dd.cy"; cz: "dd.cz"; da: "dd.da"; db: "dd.db"; dc: "dd.dc"; dd: "dd.dd"; de: "dd.de"; df: "dd.df"; dg: "dd.dg"; dh: "dd.dh"; di: "dd.di"; dj: "dd.dj"; dk: "dd.dk"; dl: "dd.dl"; dm: "dd.dm"; dn: "dd.dn"; do: "dd.do"; dp: "dd.dp"; dq: "dd.dq"; dr: "dd.dr"; ds: "dd.ds"; dt: "dd.dt"; du: "dd.du"; dv: "dd.dv"; dw: "dd.dw"; dx: "dd.dx"; dy: "dd.dy"; dz: "dd.dz"; ea: "dd.ea"; eb: "dd.eb"; ec: "dd.ec"; ed: "dd.ed"; ee: "dd.ee"; ef: "dd.ef"; eg: "dd.eg"; eh: "dd.eh"; ei: "dd.ei"; ej: "dd.ej"; ek: "dd.ek"; el: "dd.el"; em: "dd.em"; en: "dd.en"; eo: "dd.eo"; ep: "dd.ep"; eq: "dd.eq"; er: "dd.er"; es: "dd.es"; et: "dd.et"; eu: "dd.eu"; ev: "dd.ev"; ew: "dd.ew"; ex: "dd.ex"; ey: "dd.ey"; ez: "dd.ez"; fa: "dd.fa"; fb: "dd.fb"; fc: "dd.fc"; fd: "dd.fd"; fe: "dd.fe"; ff: "dd.ff"; fg: "dd.fg"; fh: "dd.fh"; fi: "dd.fi"; fj: "dd.fj"; fk: "dd.fk"; fl: "dd.fl"; fm: "dd.fm"; fn: "dd.fn"; fo: "dd.fo"; fp: "dd.fp"; fq: "dd.fq"; fr: "dd.fr"; fs: "dd.fs"; ft: "dd.ft"; fu: "dd.fu"; fv: "dd.fv"; fw: "dd.fw"; fx: "dd.fx"; fy: "dd.fy"; fz: "dd.fz"; ga: "dd.ga"; gb: "dd.gb"; gc: "dd.gc"; gd: "dd.gd"; ge: "dd.ge"; gf: "dd.gf"; gg: "dd.gg"; gh: "dd.gh"; gi: "dd.gi"; gj: "dd.gj"; gk: "dd.gk"; gl: "dd.gl"; gm: "dd.gm"; gn: "dd.gn"; go: "dd.go"; gp: "dd.gp"; gq: "dd.gq"; gr: "dd.gr"; gs: "dd.gs"; gt: "dd.gt"; gu: "dd.gu"; gv: "dd.gv"; gw: "dd.gw"; gx: "dd.gx"; gy: "dd.gy"; gz: "dd.gz"; ha: "dd.ha"; hb: "dd.hb"; hc: "dd.hc"; hd: "dd.hd"; he: "dd.he"; hf: "dd.hf"; hg: "dd.hg"; hh: "dd.hh"; hi: "dd.hi"; hj: "dd.hj"; hk: "dd.hk"; hl: "dd.hl"; hm: "dd.hm"; hn: "dd.hn"; ho: "dd.ho"; hp: "dd.hp"; hq: "dd.hq"; hr: "dd.hr"; hs: "dd.hs"; ht: "dd.ht"; hu: "dd.hu"; hv: "dd.hv"; hw: "dd.hw"; hx: "dd.hx"; hy: "dd.hy"; hz: "dd.hz"; ia: "dd.ia"; ib: "dd.ib"; ic: "dd.ic"; id: "dd.id"; ie: "dd.ie"; if: "dd.if"; ig: "dd.ig"; ih: "dd.ih"; ii: "dd.ii"; ij: "dd.ij"; ik: "dd.ik"; il: "dd.il"; im: "dd.im"; in: "dd.in"; io: "dd.io"; ip: "dd.ip"; iq: "dd.iq"; ir: "dd.ir"; is: "dd.is"; it: "dd.it"; iu: "dd.iu"; iv: "dd.iv"; iw: "dd.iw"; ix: "dd.ix"; iy: "dd.iy"; iz: "dd.iz"; ja: "dd.ja"; jb: "dd.jb"; jc: "dd.jc"; jd: "dd.jd"; je: "dd.je"; jf: "dd.jf"; jg: "dd.jg"; jh: "dd.jh"; ji: "dd.ji"; jj: "dd.jj"; jk: "dd.jk"; jl: "dd.jl"; jm: "dd.jm"; jn: "dd.jn"; jo: "dd.jo"; jp: "dd.jp"; jq: "dd.jq"; jr: "dd.jr"; js: "dd.js"; jt: "dd.jt"; ju: "dd.ju"; jv: "dd.jv"; jw: "dd.jw"; jx: "dd.jx"; jy: "dd.jy"; jz: "dd.jz"; ka: "dd.ka"; kb: "dd.kb"; kc: "dd.kc"; kd: "dd.kd"; ke: "dd.ke"; kf: "dd.kf"; kg: "dd.kg"; kh: "dd.kh"; ki: "dd.ki"; kj: "dd.kj"; kk: "dd.kk"; kl: "dd.kl"; km: "dd.km"; kn: "dd.kn"; ko: "dd.ko"; kp: "dd.kp"; kq: "dd.kq"; kr: "dd.kr"; ks: "dd.ks"; kt: "dd.kt"; ku: "dd.ku"; kv: "dd.kv"; kw: "dd.kw"; kx: "dd.kx"; ky: "dd.ky"; kz: "dd.kz"; la: "dd.la"; lb: "dd.lb"; lc: "dd.lc"; ld: "dd.ld"; le: "dd.le"; lf: "dd.lf"; lg: "dd.lg"; lh: "dd.lh"; li: "dd.li"; lj: "dd.lj"; lk: "dd.lk"; ll: "dd.ll"; lm: "dd.lm"; ln: "dd.ln"; lo: "dd.lo"; lp: "dd.lp"; lq: "dd.lq"; lr: "dd.lr"; ls: "dd.ls"; lt: "dd.lt"; lu: "dd.lu"; lv: "dd.lv"; lw: "dd.lw"; lx: "dd.lx"; ly: "dd.ly"; lz: "dd.lz"; ma: "dd.ma"; mb: "dd.mb"; mc: "dd.mc"; md: "dd.md"; me: "dd.me"; mf: "dd.mf"; mg: "dd.mg"; mh: "dd.mh"; mi: "dd.mi"; mj: "dd.mj"; mk: "dd.mk"; ml: "dd.ml"; mm: "dd.mm"; mn: "dd.mn"; mo: "dd.mo"; mp: "dd.mp"; mq: "dd.mq"; mr: "dd.mr"; ms: "dd.ms"; mt: "dd.mt"; mu: "dd.mu"; mv: "dd.mv"; mw: "dd.mw"; mx: "dd.mx"; my: "dd.my"; mz: "dd.mz"; na: "dd.na"; nb: "dd.nb"; nc: "dd.nc"; nd: "dd.nd"; ne: "dd.ne"; nf: "dd.nf"; ng: "dd.ng"; nh: "dd.nh"; ni: "dd.ni"; nj: "dd.nj"; nk: "dd.nk"; nl: "dd.nl"; nm: "dd.nm"; nn: "dd.nn"; no: "dd.no"; np: "dd.np"; nq: "dd.nq"; nr: "dd.nr"; ns: "dd.ns"; nt: "dd.nt"; nu: "dd.nu"; nv: "dd.nv"; nw: "dd.nw"; nx: "dd.nx"; ny: "dd.ny"; nz: "dd.nz"; oa: "dd.oa"; ob: "dd.ob"; oc: "dd.oc"; od: "dd.od"; oe: "dd.oe"; of: "dd.of"; og: "dd.og"; oh: "dd.oh"; oi: "dd.oi"; oj: "dd.oj"; ok: "dd.ok"; ol: "dd.ol"; om: "dd.om"; on: "dd.on"; oo: "dd.oo"; op: "dd.op"; oq: "dd.oq"; or: "dd.or"; os: "dd.os"; ot: "dd.ot"; ou: "dd.ou"; ov: "dd.ov"; ow: "dd.ow"; ox: "dd.ox"; oy: "dd.oy"; oz: "dd.oz"; pa: "dd.pa"; pb: "dd.pb"; pc: "dd.pc"; pd: "dd.pd"; pe: "dd.pe"; pf: "dd.pf"; pg: "dd.pg"; ph: "dd.ph"; pi: "dd.pi"; pj: "dd.pj"; pk: "dd.pk"; pl: "dd.pl"; pm: "dd.pm"; pn: "dd.pn"; po: "dd.po"; pp: "dd.pp"; pq: "dd.pq"; pr: "dd.pr"; ps: "dd.ps"; pt: "dd.pt"; pu: "dd.pu"; pv: "dd.pv"; pw: "dd.pw"; px: "dd.px"; py: "dd.py"; pz: "dd.pz"; qa: "dd.qa"; qb: "dd.qb"; qc: "dd.qc"; qd: "dd.qd"; qe: "dd.qe"; qf: "dd.qf"; qg: "dd.qg"; qh: "dd.qh"; qi: "dd.qi"; qj: "dd.qj"; qk: "dd.qk"; ql: "dd.ql"; qm: "dd.qm"; qn: "dd.qn"; qo: "dd.qo"; qp: "dd.qp"; qq: "dd.qq"; qr: "dd.qr"; qs: "dd.qs"; qt: "dd.qt"; qu: "dd.qu"; qv: "dd.qv"; qw: "dd.qw"; qx: "dd.qx"; qy: "dd.qy"; qz: "dd.qz"; ra: "dd.ra"; rb: "dd.rb"; rc: "dd.rc"; rd: "dd.rd"; re: "dd.re"; rf: "dd.rf"; rg: "dd.rg"; rh: "dd.rh"; ri: "dd.ri"; rj: "dd.rj"; rk: "dd.rk"; rl: "dd.rl"; rm: "dd.rm"; rn: "dd.rn"; ro: "dd.ro"; rp: "dd.rp"; rq: "dd.rq"; rr: "dd.rr"; rs: "dd.rs"; rt: "dd.rt"; ru: "dd.ru"; rv: "dd.rv"; rw: "dd.rw"; rx: "dd.rx"; ry: "dd.ry"; rz: "dd.rz"; sa: "dd.sa"; sb: "dd.sb"; sc: "dd.sc"; sd: "dd.sd"; se: "dd.se"; sf: "dd.sf"; sg: "dd.sg"; sh: "dd.sh"; si: "dd.si"; sj: "dd.sj"; sk: "dd.sk"; sl: "dd.sl"; sm: "dd.sm"; sn: "dd.sn"; so: "dd.so"; sp: "dd.sp"; sq: "dd.sq"; sr: "dd.sr"; ss: "dd.ss"; st: "dd.st"; su: "dd.su"; sv: "dd.sv"; sw: "dd.sw"; sx: "dd.sx"; sy: "dd.sy"; sz: "dd.sz"; ta: "dd.ta"; tb: "dd.tb"; tc: "dd.tc"; td: "dd.td"; te: "dd.te"; tf: "dd.tf"; tg: "dd.tg"; th: "dd.th"; ti: "dd.ti"; tj: "dd.tj"; tk: "dd.tk"; tl: "dd.tl"; tm: "dd.tm"; tn: "dd.tn"; to: "dd.to"; tp: "dd.tp"; tq: "dd.tq"; tr: "dd.tr"; ts: "dd.ts"; tt: "dd.tt"; tu: "dd.tu"; tv: "dd.tv"; tw: "dd.tw"; tx: "dd.tx"; ty: "dd.ty"; tz: "dd.tz"; ua: "dd.ua"; ub: "dd.ub"; uc: "dd.uc"; ud: "dd.ud"; ue: "dd.ue"; uf: "dd.uf"; ug: "dd.ug"; uh: "dd.uh"; ui: "dd.ui"; uj: "dd.uj"; uk: "dd.uk"; ul: "dd.ul"; um: "dd.um"; un: "dd.un"; uo: "dd.uo"; up: "dd.up"; uq: "dd.uq"; ur: "dd.ur"; us: "dd.us"; ut: "dd.ut"; uu: "dd.uu"; uv: "dd.uv"; uw: "dd.uw"; ux: "dd.ux"; uy: "dd.uy"; uz: "dd.uz"; va: "dd.va"; vb: "dd.vb"; vc: "dd.vc"; vd: "dd.vd"; ve: "dd.ve"; vf: "dd.vf"; vg: "dd.vg"; vh: "dd.vh"; vi: "dd.vi"; vj: "dd.vj"; vk: "dd.vk"; vl: "dd.vl"; vm: "dd.vm"; vn: "dd.vn"; vo: "dd.vo"; vp: "dd.vp"; vq: "dd.vq"; vr: "dd.vr"; vs: "dd.vs"; vt: "dd.vt"; vu: "dd.vu"; vv: "dd.vv"; vw: "dd.vw"; vx: "dd.vx"; vy: "dd.vy"; vz: "dd.vz"; wa: "dd.wa"; wb: "dd.wb"; wc: "dd.wc"; wd: "dd.wd"; we: "dd.we"; wf: "dd.wf"; wg: "dd.wg"; wh: "dd.wh"; wi: "dd.wi"; wj: "dd.wj"; wk: "dd.wk"; wl: "dd.wl"; wm: "dd.wm"; wn: "dd.wn"; wo: "dd.wo"; wp: "dd.wp"; wq: "dd.wq"; wr: "dd.wr"; ws: "dd.ws"; wt: "dd.wt"; wu: "dd.wu"; wv: "dd.wv"; ww: "dd.ww"; wx: "dd.wx"; wy: "dd.wy"; wz: "dd.wz"; xa: "dd.xa"; xb: "dd.xb"; xc: "dd.xc"; xd: "dd.xd"; xe: "dd.xe"; xf: "dd.xf"; xg: "dd.xg"; xh: "dd.xh"; xi: "dd.xi"; xj: "dd.xj"; xk: "dd.xk"; xl: "dd.xl"; xm: "dd.xm"; xn: "dd.xn"; xo: "dd.xo"; xp: "dd.xp"; xq: "dd.xq"; xr: "dd.xr"; xs: "dd.xs"; xt: "dd.xt"; xu: "dd.xu"; xv: "dd.xv"; xw: "dd.xw"; xx: "dd.xx"; xy: "dd.xy"; xz: "dd.xz"; ya: "dd.ya"; yb: "dd.yb"; yc: "dd.yc"; yd: "dd.yd"; ye: "dd.ye"; yf: "dd.yf"; yg: "dd.yg"; yh: "dd.yh"; yi: "dd.yi"; yj: "dd.yj"; yk: "dd.yk"; yl: "dd.yl"; ym: "dd.ym"; yn: "dd.yn"; yo: "dd.yo"; yp: "dd.yp"; yq: "dd.yq"; yr: "dd.yr"; ys: "dd.ys"; yt: "dd.yt"; yu: "dd.yu"; yv: "dd.yv"; yw: "dd.yw"; yx: "dd.yx"; yy: "dd.yy"; yz: "dd.yz"; za: "dd.za"; zb: "dd.zb"; zc: "dd.zc"; zd: "dd.zd"; ze: "dd.ze"; zf: "dd.zf"; zg: "dd.zg"; zh: "dd.zh"; zi: "dd.zi"; zj: "dd.zj"; zk: "dd.zk"; zl: "dd.zl"; zm: "dd.zm"; zn: "dd.zn"; zo: "dd.zo"; zp: "dd.zp"; zq: "dd.zq"; zr: "dd.zr"; zs: "dd.zs"; zt: "dd.zt"; zu: "dd.zu"; zv: "dd.zv"; zw: "dd.zw"; zx: "dd.zx"; zy: "dd.zy"; zz: "dd.zz"; }; de: { aa: "de.aa"; ab: "de.ab"; ac: "de.ac"; ad: "de.ad"; ae: "de.ae"; af: "de.af"; ag: "de.ag"; ah: "de.ah"; ai: "de.ai"; aj: "de.aj"; ak: "de.ak"; al: "de.al"; am: "de.am"; an: "de.an"; ao: "de.ao"; ap: "de.ap"; aq: "de.aq"; ar: "de.ar"; as: "de.as"; at: "de.at"; au: "de.au"; av: "de.av"; aw: "de.aw"; ax: "de.ax"; ay: "de.ay"; az: "de.az"; ba: "de.ba"; bb: "de.bb"; bc: "de.bc"; bd: "de.bd"; be: "de.be"; bf: "de.bf"; bg: "de.bg"; bh: "de.bh"; bi: "de.bi"; bj: "de.bj"; bk: "de.bk"; bl: "de.bl"; bm: "de.bm"; bn: "de.bn"; bo: "de.bo"; bp: "de.bp"; bq: "de.bq"; br: "de.br"; bs: "de.bs"; bt: "de.bt"; bu: "de.bu"; bv: "de.bv"; bw: "de.bw"; bx: "de.bx"; by: "de.by"; bz: "de.bz"; ca: "de.ca"; cb: "de.cb"; cc: "de.cc"; cd: "de.cd"; ce: "de.ce"; cf: "de.cf"; cg: "de.cg"; ch: "de.ch"; ci: "de.ci"; cj: "de.cj"; ck: "de.ck"; cl: "de.cl"; cm: "de.cm"; cn: "de.cn"; co: "de.co"; cp: "de.cp"; cq: "de.cq"; cr: "de.cr"; cs: "de.cs"; ct: "de.ct"; cu: "de.cu"; cv: "de.cv"; cw: "de.cw"; cx: "de.cx"; cy: "de.cy"; cz: "de.cz"; da: "de.da"; db: "de.db"; dc: "de.dc"; dd: "de.dd"; de: "de.de"; df: "de.df"; dg: "de.dg"; dh: "de.dh"; di: "de.di"; dj: "de.dj"; dk: "de.dk"; dl: "de.dl"; dm: "de.dm"; dn: "de.dn"; do: "de.do"; dp: "de.dp"; dq: "de.dq"; dr: "de.dr"; ds: "de.ds"; dt: "de.dt"; du: "de.du"; dv: "de.dv"; dw: "de.dw"; dx: "de.dx"; dy: "de.dy"; dz: "de.dz"; ea: "de.ea"; eb: "de.eb"; ec: "de.ec"; ed: "de.ed"; ee: "de.ee"; ef: "de.ef"; eg: "de.eg"; eh: "de.eh"; ei: "de.ei"; ej: "de.ej"; ek: "de.ek"; el: "de.el"; em: "de.em"; en: "de.en"; eo: "de.eo"; ep: "de.ep"; eq: "de.eq"; er: "de.er"; es: "de.es"; et: "de.et"; eu: "de.eu"; ev: "de.ev"; ew: "de.ew"; ex: "de.ex"; ey: "de.ey"; ez: "de.ez"; fa: "de.fa"; fb: "de.fb"; fc: "de.fc"; fd: "de.fd"; fe: "de.fe"; ff: "de.ff"; fg: "de.fg"; fh: "de.fh"; fi: "de.fi"; fj: "de.fj"; fk: "de.fk"; fl: "de.fl"; fm: "de.fm"; fn: "de.fn"; fo: "de.fo"; fp: "de.fp"; fq: "de.fq"; fr: "de.fr"; fs: "de.fs"; ft: "de.ft"; fu: "de.fu"; fv: "de.fv"; fw: "de.fw"; fx: "de.fx"; fy: "de.fy"; fz: "de.fz"; ga: "de.ga"; gb: "de.gb"; gc: "de.gc"; gd: "de.gd"; ge: "de.ge"; gf: "de.gf"; gg: "de.gg"; gh: "de.gh"; gi: "de.gi"; gj: "de.gj"; gk: "de.gk"; gl: "de.gl"; gm: "de.gm"; gn: "de.gn"; go: "de.go"; gp: "de.gp"; gq: "de.gq"; gr: "de.gr"; gs: "de.gs"; gt: "de.gt"; gu: "de.gu"; gv: "de.gv"; gw: "de.gw"; gx: "de.gx"; gy: "de.gy"; gz: "de.gz"; ha: "de.ha"; hb: "de.hb"; hc: "de.hc"; hd: "de.hd"; he: "de.he"; hf: "de.hf"; hg: "de.hg"; hh: "de.hh"; hi: "de.hi"; hj: "de.hj"; hk: "de.hk"; hl: "de.hl"; hm: "de.hm"; hn: "de.hn"; ho: "de.ho"; hp: "de.hp"; hq: "de.hq"; hr: "de.hr"; hs: "de.hs"; ht: "de.ht"; hu: "de.hu"; hv: "de.hv"; hw: "de.hw"; hx: "de.hx"; hy: "de.hy"; hz: "de.hz"; ia: "de.ia"; ib: "de.ib"; ic: "de.ic"; id: "de.id"; ie: "de.ie"; if: "de.if"; ig: "de.ig"; ih: "de.ih"; ii: "de.ii"; ij: "de.ij"; ik: "de.ik"; il: "de.il"; im: "de.im"; in: "de.in"; io: "de.io"; ip: "de.ip"; iq: "de.iq"; ir: "de.ir"; is: "de.is"; it: "de.it"; iu: "de.iu"; iv: "de.iv"; iw: "de.iw"; ix: "de.ix"; iy: "de.iy"; iz: "de.iz"; ja: "de.ja"; jb: "de.jb"; jc: "de.jc"; jd: "de.jd"; je: "de.je"; jf: "de.jf"; jg: "de.jg"; jh: "de.jh"; ji: "de.ji"; jj: "de.jj"; jk: "de.jk"; jl: "de.jl"; jm: "de.jm"; jn: "de.jn"; jo: "de.jo"; jp: "de.jp"; jq: "de.jq"; jr: "de.jr"; js: "de.js"; jt: "de.jt"; ju: "de.ju"; jv: "de.jv"; jw: "de.jw"; jx: "de.jx"; jy: "de.jy"; jz: "de.jz"; ka: "de.ka"; kb: "de.kb"; kc: "de.kc"; kd: "de.kd"; ke: "de.ke"; kf: "de.kf"; kg: "de.kg"; kh: "de.kh"; ki: "de.ki"; kj: "de.kj"; kk: "de.kk"; kl: "de.kl"; km: "de.km"; kn: "de.kn"; ko: "de.ko"; kp: "de.kp"; kq: "de.kq"; kr: "de.kr"; ks: "de.ks"; kt: "de.kt"; ku: "de.ku"; kv: "de.kv"; kw: "de.kw"; kx: "de.kx"; ky: "de.ky"; kz: "de.kz"; la: "de.la"; lb: "de.lb"; lc: "de.lc"; ld: "de.ld"; le: "de.le"; lf: "de.lf"; lg: "de.lg"; lh: "de.lh"; li: "de.li"; lj: "de.lj"; lk: "de.lk"; ll: "de.ll"; lm: "de.lm"; ln: "de.ln"; lo: "de.lo"; lp: "de.lp"; lq: "de.lq"; lr: "de.lr"; ls: "de.ls"; lt: "de.lt"; lu: "de.lu"; lv: "de.lv"; lw: "de.lw"; lx: "de.lx"; ly: "de.ly"; lz: "de.lz"; ma: "de.ma"; mb: "de.mb"; mc: "de.mc"; md: "de.md"; me: "de.me"; mf: "de.mf"; mg: "de.mg"; mh: "de.mh"; mi: "de.mi"; mj: "de.mj"; mk: "de.mk"; ml: "de.ml"; mm: "de.mm"; mn: "de.mn"; mo: "de.mo"; mp: "de.mp"; mq: "de.mq"; mr: "de.mr"; ms: "de.ms"; mt: "de.mt"; mu: "de.mu"; mv: "de.mv"; mw: "de.mw"; mx: "de.mx"; my: "de.my"; mz: "de.mz"; na: "de.na"; nb: "de.nb"; nc: "de.nc"; nd: "de.nd"; ne: "de.ne"; nf: "de.nf"; ng: "de.ng"; nh: "de.nh"; ni: "de.ni"; nj: "de.nj"; nk: "de.nk"; nl: "de.nl"; nm: "de.nm"; nn: "de.nn"; no: "de.no"; np: "de.np"; nq: "de.nq"; nr: "de.nr"; ns: "de.ns"; nt: "de.nt"; nu: "de.nu"; nv: "de.nv"; nw: "de.nw"; nx: "de.nx"; ny: "de.ny"; nz: "de.nz"; oa: "de.oa"; ob: "de.ob"; oc: "de.oc"; od: "de.od"; oe: "de.oe"; of: "de.of"; og: "de.og"; oh: "de.oh"; oi: "de.oi"; oj: "de.oj"; ok: "de.ok"; ol: "de.ol"; om: "de.om"; on: "de.on"; oo: "de.oo"; op: "de.op"; oq: "de.oq"; or: "de.or"; os: "de.os"; ot: "de.ot"; ou: "de.ou"; ov: "de.ov"; ow: "de.ow"; ox: "de.ox"; oy: "de.oy"; oz: "de.oz"; pa: "de.pa"; pb: "de.pb"; pc: "de.pc"; pd: "de.pd"; pe: "de.pe"; pf: "de.pf"; pg: "de.pg"; ph: "de.ph"; pi: "de.pi"; pj: "de.pj"; pk: "de.pk"; pl: "de.pl"; pm: "de.pm"; pn: "de.pn"; po: "de.po"; pp: "de.pp"; pq: "de.pq"; pr: "de.pr"; ps: "de.ps"; pt: "de.pt"; pu: "de.pu"; pv: "de.pv"; pw: "de.pw"; px: "de.px"; py: "de.py"; pz: "de.pz"; qa: "de.qa"; qb: "de.qb"; qc: "de.qc"; qd: "de.qd"; qe: "de.qe"; qf: "de.qf"; qg: "de.qg"; qh: "de.qh"; qi: "de.qi"; qj: "de.qj"; qk: "de.qk"; ql: "de.ql"; qm: "de.qm"; qn: "de.qn"; qo: "de.qo"; qp: "de.qp"; qq: "de.qq"; qr: "de.qr"; qs: "de.qs"; qt: "de.qt"; qu: "de.qu"; qv: "de.qv"; qw: "de.qw"; qx: "de.qx"; qy: "de.qy"; qz: "de.qz"; ra: "de.ra"; rb: "de.rb"; rc: "de.rc"; rd: "de.rd"; re: "de.re"; rf: "de.rf"; rg: "de.rg"; rh: "de.rh"; ri: "de.ri"; rj: "de.rj"; rk: "de.rk"; rl: "de.rl"; rm: "de.rm"; rn: "de.rn"; ro: "de.ro"; rp: "de.rp"; rq: "de.rq"; rr: "de.rr"; rs: "de.rs"; rt: "de.rt"; ru: "de.ru"; rv: "de.rv"; rw: "de.rw"; rx: "de.rx"; ry: "de.ry"; rz: "de.rz"; sa: "de.sa"; sb: "de.sb"; sc: "de.sc"; sd: "de.sd"; se: "de.se"; sf: "de.sf"; sg: "de.sg"; sh: "de.sh"; si: "de.si"; sj: "de.sj"; sk: "de.sk"; sl: "de.sl"; sm: "de.sm"; sn: "de.sn"; so: "de.so"; sp: "de.sp"; sq: "de.sq"; sr: "de.sr"; ss: "de.ss"; st: "de.st"; su: "de.su"; sv: "de.sv"; sw: "de.sw"; sx: "de.sx"; sy: "de.sy"; sz: "de.sz"; ta: "de.ta"; tb: "de.tb"; tc: "de.tc"; td: "de.td"; te: "de.te"; tf: "de.tf"; tg: "de.tg"; th: "de.th"; ti: "de.ti"; tj: "de.tj"; tk: "de.tk"; tl: "de.tl"; tm: "de.tm"; tn: "de.tn"; to: "de.to"; tp: "de.tp"; tq: "de.tq"; tr: "de.tr"; ts: "de.ts"; tt: "de.tt"; tu: "de.tu"; tv: "de.tv"; tw: "de.tw"; tx: "de.tx"; ty: "de.ty"; tz: "de.tz"; ua: "de.ua"; ub: "de.ub"; uc: "de.uc"; ud: "de.ud"; ue: "de.ue"; uf: "de.uf"; ug: "de.ug"; uh: "de.uh"; ui: "de.ui"; uj: "de.uj"; uk: "de.uk"; ul: "de.ul"; um: "de.um"; un: "de.un"; uo: "de.uo"; up: "de.up"; uq: "de.uq"; ur: "de.ur"; us: "de.us"; ut: "de.ut"; uu: "de.uu"; uv: "de.uv"; uw: "de.uw"; ux: "de.ux"; uy: "de.uy"; uz: "de.uz"; va: "de.va"; vb: "de.vb"; vc: "de.vc"; vd: "de.vd"; ve: "de.ve"; vf: "de.vf"; vg: "de.vg"; vh: "de.vh"; vi: "de.vi"; vj: "de.vj"; vk: "de.vk"; vl: "de.vl"; vm: "de.vm"; vn: "de.vn"; vo: "de.vo"; vp: "de.vp"; vq: "de.vq"; vr: "de.vr"; vs: "de.vs"; vt: "de.vt"; vu: "de.vu"; vv: "de.vv"; vw: "de.vw"; vx: "de.vx"; vy: "de.vy"; vz: "de.vz"; wa: "de.wa"; wb: "de.wb"; wc: "de.wc"; wd: "de.wd"; we: "de.we"; wf: "de.wf"; wg: "de.wg"; wh: "de.wh"; wi: "de.wi"; wj: "de.wj"; wk: "de.wk"; wl: "de.wl"; wm: "de.wm"; wn: "de.wn"; wo: "de.wo"; wp: "de.wp"; wq: "de.wq"; wr: "de.wr"; ws: "de.ws"; wt: "de.wt"; wu: "de.wu"; wv: "de.wv"; ww: "de.ww"; wx: "de.wx"; wy: "de.wy"; wz: "de.wz"; xa: "de.xa"; xb: "de.xb"; xc: "de.xc"; xd: "de.xd"; xe: "de.xe"; xf: "de.xf"; xg: "de.xg"; xh: "de.xh"; xi: "de.xi"; xj: "de.xj"; xk: "de.xk"; xl: "de.xl"; xm: "de.xm"; xn: "de.xn"; xo: "de.xo"; xp: "de.xp"; xq: "de.xq"; xr: "de.xr"; xs: "de.xs"; xt: "de.xt"; xu: "de.xu"; xv: "de.xv"; xw: "de.xw"; xx: "de.xx"; xy: "de.xy"; xz: "de.xz"; ya: "de.ya"; yb: "de.yb"; yc: "de.yc"; yd: "de.yd"; ye: "de.ye"; yf: "de.yf"; yg: "de.yg"; yh: "de.yh"; yi: "de.yi"; yj: "de.yj"; yk: "de.yk"; yl: "de.yl"; ym: "de.ym"; yn: "de.yn"; yo: "de.yo"; yp: "de.yp"; yq: "de.yq"; yr: "de.yr"; ys: "de.ys"; yt: "de.yt"; yu: "de.yu"; yv: "de.yv"; yw: "de.yw"; yx: "de.yx"; yy: "de.yy"; yz: "de.yz"; za: "de.za"; zb: "de.zb"; zc: "de.zc"; zd: "de.zd"; ze: "de.ze"; zf: "de.zf"; zg: "de.zg"; zh: "de.zh"; zi: "de.zi"; zj: "de.zj"; zk: "de.zk"; zl: "de.zl"; zm: "de.zm"; zn: "de.zn"; zo: "de.zo"; zp: "de.zp"; zq: "de.zq"; zr: "de.zr"; zs: "de.zs"; zt: "de.zt"; zu: "de.zu"; zv: "de.zv"; zw: "de.zw"; zx: "de.zx"; zy: "de.zy"; zz: "de.zz"; }; df: { aa: "df.aa"; ab: "df.ab"; ac: "df.ac"; ad: "df.ad"; ae: "df.ae"; af: "df.af"; ag: "df.ag"; ah: "df.ah"; ai: "df.ai"; aj: "df.aj"; ak: "df.ak"; al: "df.al"; am: "df.am"; an: "df.an"; ao: "df.ao"; ap: "df.ap"; aq: "df.aq"; ar: "df.ar"; as: "df.as"; at: "df.at"; au: "df.au"; av: "df.av"; aw: "df.aw"; ax: "df.ax"; ay: "df.ay"; az: "df.az"; ba: "df.ba"; bb: "df.bb"; bc: "df.bc"; bd: "df.bd"; be: "df.be"; bf: "df.bf"; bg: "df.bg"; bh: "df.bh"; bi: "df.bi"; bj: "df.bj"; bk: "df.bk"; bl: "df.bl"; bm: "df.bm"; bn: "df.bn"; bo: "df.bo"; bp: "df.bp"; bq: "df.bq"; br: "df.br"; bs: "df.bs"; bt: "df.bt"; bu: "df.bu"; bv: "df.bv"; bw: "df.bw"; bx: "df.bx"; by: "df.by"; bz: "df.bz"; ca: "df.ca"; cb: "df.cb"; cc: "df.cc"; cd: "df.cd"; ce: "df.ce"; cf: "df.cf"; cg: "df.cg"; ch: "df.ch"; ci: "df.ci"; cj: "df.cj"; ck: "df.ck"; cl: "df.cl"; cm: "df.cm"; cn: "df.cn"; co: "df.co"; cp: "df.cp"; cq: "df.cq"; cr: "df.cr"; cs: "df.cs"; ct: "df.ct"; cu: "df.cu"; cv: "df.cv"; cw: "df.cw"; cx: "df.cx"; cy: "df.cy"; cz: "df.cz"; da: "df.da"; db: "df.db"; dc: "df.dc"; dd: "df.dd"; de: "df.de"; df: "df.df"; dg: "df.dg"; dh: "df.dh"; di: "df.di"; dj: "df.dj"; dk: "df.dk"; dl: "df.dl"; dm: "df.dm"; dn: "df.dn"; do: "df.do"; dp: "df.dp"; dq: "df.dq"; dr: "df.dr"; ds: "df.ds"; dt: "df.dt"; du: "df.du"; dv: "df.dv"; dw: "df.dw"; dx: "df.dx"; dy: "df.dy"; dz: "df.dz"; ea: "df.ea"; eb: "df.eb"; ec: "df.ec"; ed: "df.ed"; ee: "df.ee"; ef: "df.ef"; eg: "df.eg"; eh: "df.eh"; ei: "df.ei"; ej: "df.ej"; ek: "df.ek"; el: "df.el"; em: "df.em"; en: "df.en"; eo: "df.eo"; ep: "df.ep"; eq: "df.eq"; er: "df.er"; es: "df.es"; et: "df.et"; eu: "df.eu"; ev: "df.ev"; ew: "df.ew"; ex: "df.ex"; ey: "df.ey"; ez: "df.ez"; fa: "df.fa"; fb: "df.fb"; fc: "df.fc"; fd: "df.fd"; fe: "df.fe"; ff: "df.ff"; fg: "df.fg"; fh: "df.fh"; fi: "df.fi"; fj: "df.fj"; fk: "df.fk"; fl: "df.fl"; fm: "df.fm"; fn: "df.fn"; fo: "df.fo"; fp: "df.fp"; fq: "df.fq"; fr: "df.fr"; fs: "df.fs"; ft: "df.ft"; fu: "df.fu"; fv: "df.fv"; fw: "df.fw"; fx: "df.fx"; fy: "df.fy"; fz: "df.fz"; ga: "df.ga"; gb: "df.gb"; gc: "df.gc"; gd: "df.gd"; ge: "df.ge"; gf: "df.gf"; gg: "df.gg"; gh: "df.gh"; gi: "df.gi"; gj: "df.gj"; gk: "df.gk"; gl: "df.gl"; gm: "df.gm"; gn: "df.gn"; go: "df.go"; gp: "df.gp"; gq: "df.gq"; gr: "df.gr"; gs: "df.gs"; gt: "df.gt"; gu: "df.gu"; gv: "df.gv"; gw: "df.gw"; gx: "df.gx"; gy: "df.gy"; gz: "df.gz"; ha: "df.ha"; hb: "df.hb"; hc: "df.hc"; hd: "df.hd"; he: "df.he"; hf: "df.hf"; hg: "df.hg"; hh: "df.hh"; hi: "df.hi"; hj: "df.hj"; hk: "df.hk"; hl: "df.hl"; hm: "df.hm"; hn: "df.hn"; ho: "df.ho"; hp: "df.hp"; hq: "df.hq"; hr: "df.hr"; hs: "df.hs"; ht: "df.ht"; hu: "df.hu"; hv: "df.hv"; hw: "df.hw"; hx: "df.hx"; hy: "df.hy"; hz: "df.hz"; ia: "df.ia"; ib: "df.ib"; ic: "df.ic"; id: "df.id"; ie: "df.ie"; if: "df.if"; ig: "df.ig"; ih: "df.ih"; ii: "df.ii"; ij: "df.ij"; ik: "df.ik"; il: "df.il"; im: "df.im"; in: "df.in"; io: "df.io"; ip: "df.ip"; iq: "df.iq"; ir: "df.ir"; is: "df.is"; it: "df.it"; iu: "df.iu"; iv: "df.iv"; iw: "df.iw"; ix: "df.ix"; iy: "df.iy"; iz: "df.iz"; ja: "df.ja"; jb: "df.jb"; jc: "df.jc"; jd: "df.jd"; je: "df.je"; jf: "df.jf"; jg: "df.jg"; jh: "df.jh"; ji: "df.ji"; jj: "df.jj"; jk: "df.jk"; jl: "df.jl"; jm: "df.jm"; jn: "df.jn"; jo: "df.jo"; jp: "df.jp"; jq: "df.jq"; jr: "df.jr"; js: "df.js"; jt: "df.jt"; ju: "df.ju"; jv: "df.jv"; jw: "df.jw"; jx: "df.jx"; jy: "df.jy"; jz: "df.jz"; ka: "df.ka"; kb: "df.kb"; kc: "df.kc"; kd: "df.kd"; ke: "df.ke"; kf: "df.kf"; kg: "df.kg"; kh: "df.kh"; ki: "df.ki"; kj: "df.kj"; kk: "df.kk"; kl: "df.kl"; km: "df.km"; kn: "df.kn"; ko: "df.ko"; kp: "df.kp"; kq: "df.kq"; kr: "df.kr"; ks: "df.ks"; kt: "df.kt"; ku: "df.ku"; kv: "df.kv"; kw: "df.kw"; kx: "df.kx"; ky: "df.ky"; kz: "df.kz"; la: "df.la"; lb: "df.lb"; lc: "df.lc"; ld: "df.ld"; le: "df.le"; lf: "df.lf"; lg: "df.lg"; lh: "df.lh"; li: "df.li"; lj: "df.lj"; lk: "df.lk"; ll: "df.ll"; lm: "df.lm"; ln: "df.ln"; lo: "df.lo"; lp: "df.lp"; lq: "df.lq"; lr: "df.lr"; ls: "df.ls"; lt: "df.lt"; lu: "df.lu"; lv: "df.lv"; lw: "df.lw"; lx: "df.lx"; ly: "df.ly"; lz: "df.lz"; ma: "df.ma"; mb: "df.mb"; mc: "df.mc"; md: "df.md"; me: "df.me"; mf: "df.mf"; mg: "df.mg"; mh: "df.mh"; mi: "df.mi"; mj: "df.mj"; mk: "df.mk"; ml: "df.ml"; mm: "df.mm"; mn: "df.mn"; mo: "df.mo"; mp: "df.mp"; mq: "df.mq"; mr: "df.mr"; ms: "df.ms"; mt: "df.mt"; mu: "df.mu"; mv: "df.mv"; mw: "df.mw"; mx: "df.mx"; my: "df.my"; mz: "df.mz"; na: "df.na"; nb: "df.nb"; nc: "df.nc"; nd: "df.nd"; ne: "df.ne"; nf: "df.nf"; ng: "df.ng"; nh: "df.nh"; ni: "df.ni"; nj: "df.nj"; nk: "df.nk"; nl: "df.nl"; nm: "df.nm"; nn: "df.nn"; no: "df.no"; np: "df.np"; nq: "df.nq"; nr: "df.nr"; ns: "df.ns"; nt: "df.nt"; nu: "df.nu"; nv: "df.nv"; nw: "df.nw"; nx: "df.nx"; ny: "df.ny"; nz: "df.nz"; oa: "df.oa"; ob: "df.ob"; oc: "df.oc"; od: "df.od"; oe: "df.oe"; of: "df.of"; og: "df.og"; oh: "df.oh"; oi: "df.oi"; oj: "df.oj"; ok: "df.ok"; ol: "df.ol"; om: "df.om"; on: "df.on"; oo: "df.oo"; op: "df.op"; oq: "df.oq"; or: "df.or"; os: "df.os"; ot: "df.ot"; ou: "df.ou"; ov: "df.ov"; ow: "df.ow"; ox: "df.ox"; oy: "df.oy"; oz: "df.oz"; pa: "df.pa"; pb: "df.pb"; pc: "df.pc"; pd: "df.pd"; pe: "df.pe"; pf: "df.pf"; pg: "df.pg"; ph: "df.ph"; pi: "df.pi"; pj: "df.pj"; pk: "df.pk"; pl: "df.pl"; pm: "df.pm"; pn: "df.pn"; po: "df.po"; pp: "df.pp"; pq: "df.pq"; pr: "df.pr"; ps: "df.ps"; pt: "df.pt"; pu: "df.pu"; pv: "df.pv"; pw: "df.pw"; px: "df.px"; py: "df.py"; pz: "df.pz"; qa: "df.qa"; qb: "df.qb"; qc: "df.qc"; qd: "df.qd"; qe: "df.qe"; qf: "df.qf"; qg: "df.qg"; qh: "df.qh"; qi: "df.qi"; qj: "df.qj"; qk: "df.qk"; ql: "df.ql"; qm: "df.qm"; qn: "df.qn"; qo: "df.qo"; qp: "df.qp"; qq: "df.qq"; qr: "df.qr"; qs: "df.qs"; qt: "df.qt"; qu: "df.qu"; qv: "df.qv"; qw: "df.qw"; qx: "df.qx"; qy: "df.qy"; qz: "df.qz"; ra: "df.ra"; rb: "df.rb"; rc: "df.rc"; rd: "df.rd"; re: "df.re"; rf: "df.rf"; rg: "df.rg"; rh: "df.rh"; ri: "df.ri"; rj: "df.rj"; rk: "df.rk"; rl: "df.rl"; rm: "df.rm"; rn: "df.rn"; ro: "df.ro"; rp: "df.rp"; rq: "df.rq"; rr: "df.rr"; rs: "df.rs"; rt: "df.rt"; ru: "df.ru"; rv: "df.rv"; rw: "df.rw"; rx: "df.rx"; ry: "df.ry"; rz: "df.rz"; sa: "df.sa"; sb: "df.sb"; sc: "df.sc"; sd: "df.sd"; se: "df.se"; sf: "df.sf"; sg: "df.sg"; sh: "df.sh"; si: "df.si"; sj: "df.sj"; sk: "df.sk"; sl: "df.sl"; sm: "df.sm"; sn: "df.sn"; so: "df.so"; sp: "df.sp"; sq: "df.sq"; sr: "df.sr"; ss: "df.ss"; st: "df.st"; su: "df.su"; sv: "df.sv"; sw: "df.sw"; sx: "df.sx"; sy: "df.sy"; sz: "df.sz"; ta: "df.ta"; tb: "df.tb"; tc: "df.tc"; td: "df.td"; te: "df.te"; tf: "df.tf"; tg: "df.tg"; th: "df.th"; ti: "df.ti"; tj: "df.tj"; tk: "df.tk"; tl: "df.tl"; tm: "df.tm"; tn: "df.tn"; to: "df.to"; tp: "df.tp"; tq: "df.tq"; tr: "df.tr"; ts: "df.ts"; tt: "df.tt"; tu: "df.tu"; tv: "df.tv"; tw: "df.tw"; tx: "df.tx"; ty: "df.ty"; tz: "df.tz"; ua: "df.ua"; ub: "df.ub"; uc: "df.uc"; ud: "df.ud"; ue: "df.ue"; uf: "df.uf"; ug: "df.ug"; uh: "df.uh"; ui: "df.ui"; uj: "df.uj"; uk: "df.uk"; ul: "df.ul"; um: "df.um"; un: "df.un"; uo: "df.uo"; up: "df.up"; uq: "df.uq"; ur: "df.ur"; us: "df.us"; ut: "df.ut"; uu: "df.uu"; uv: "df.uv"; uw: "df.uw"; ux: "df.ux"; uy: "df.uy"; uz: "df.uz"; va: "df.va"; vb: "df.vb"; vc: "df.vc"; vd: "df.vd"; ve: "df.ve"; vf: "df.vf"; vg: "df.vg"; vh: "df.vh"; vi: "df.vi"; vj: "df.vj"; vk: "df.vk"; vl: "df.vl"; vm: "df.vm"; vn: "df.vn"; vo: "df.vo"; vp: "df.vp"; vq: "df.vq"; vr: "df.vr"; vs: "df.vs"; vt: "df.vt"; vu: "df.vu"; vv: "df.vv"; vw: "df.vw"; vx: "df.vx"; vy: "df.vy"; vz: "df.vz"; wa: "df.wa"; wb: "df.wb"; wc: "df.wc"; wd: "df.wd"; we: "df.we"; wf: "df.wf"; wg: "df.wg"; wh: "df.wh"; wi: "df.wi"; wj: "df.wj"; wk: "df.wk"; wl: "df.wl"; wm: "df.wm"; wn: "df.wn"; wo: "df.wo"; wp: "df.wp"; wq: "df.wq"; wr: "df.wr"; ws: "df.ws"; wt: "df.wt"; wu: "df.wu"; wv: "df.wv"; ww: "df.ww"; wx: "df.wx"; wy: "df.wy"; wz: "df.wz"; xa: "df.xa"; xb: "df.xb"; xc: "df.xc"; xd: "df.xd"; xe: "df.xe"; xf: "df.xf"; xg: "df.xg"; xh: "df.xh"; xi: "df.xi"; xj: "df.xj"; xk: "df.xk"; xl: "df.xl"; xm: "df.xm"; xn: "df.xn"; xo: "df.xo"; xp: "df.xp"; xq: "df.xq"; xr: "df.xr"; xs: "df.xs"; xt: "df.xt"; xu: "df.xu"; xv: "df.xv"; xw: "df.xw"; xx: "df.xx"; xy: "df.xy"; xz: "df.xz"; ya: "df.ya"; yb: "df.yb"; yc: "df.yc"; yd: "df.yd"; ye: "df.ye"; yf: "df.yf"; yg: "df.yg"; yh: "df.yh"; yi: "df.yi"; yj: "df.yj"; yk: "df.yk"; yl: "df.yl"; ym: "df.ym"; yn: "df.yn"; yo: "df.yo"; yp: "df.yp"; yq: "df.yq"; yr: "df.yr"; ys: "df.ys"; yt: "df.yt"; yu: "df.yu"; yv: "df.yv"; yw: "df.yw"; yx: "df.yx"; yy: "df.yy"; yz: "df.yz"; za: "df.za"; zb: "df.zb"; zc: "df.zc"; zd: "df.zd"; ze: "df.ze"; zf: "df.zf"; zg: "df.zg"; zh: "df.zh"; zi: "df.zi"; zj: "df.zj"; zk: "df.zk"; zl: "df.zl"; zm: "df.zm"; zn: "df.zn"; zo: "df.zo"; zp: "df.zp"; zq: "df.zq"; zr: "df.zr"; zs: "df.zs"; zt: "df.zt"; zu: "df.zu"; zv: "df.zv"; zw: "df.zw"; zx: "df.zx"; zy: "df.zy"; zz: "df.zz"; }; dg: { aa: "dg.aa"; ab: "dg.ab"; ac: "dg.ac"; ad: "dg.ad"; ae: "dg.ae"; af: "dg.af"; ag: "dg.ag"; ah: "dg.ah"; ai: "dg.ai"; aj: "dg.aj"; ak: "dg.ak"; al: "dg.al"; am: "dg.am"; an: "dg.an"; ao: "dg.ao"; ap: "dg.ap"; aq: "dg.aq"; ar: "dg.ar"; as: "dg.as"; at: "dg.at"; au: "dg.au"; av: "dg.av"; aw: "dg.aw"; ax: "dg.ax"; ay: "dg.ay"; az: "dg.az"; ba: "dg.ba"; bb: "dg.bb"; bc: "dg.bc"; bd: "dg.bd"; be: "dg.be"; bf: "dg.bf"; bg: "dg.bg"; bh: "dg.bh"; bi: "dg.bi"; bj: "dg.bj"; bk: "dg.bk"; bl: "dg.bl"; bm: "dg.bm"; bn: "dg.bn"; bo: "dg.bo"; bp: "dg.bp"; bq: "dg.bq"; br: "dg.br"; bs: "dg.bs"; bt: "dg.bt"; bu: "dg.bu"; bv: "dg.bv"; bw: "dg.bw"; bx: "dg.bx"; by: "dg.by"; bz: "dg.bz"; ca: "dg.ca"; cb: "dg.cb"; cc: "dg.cc"; cd: "dg.cd"; ce: "dg.ce"; cf: "dg.cf"; cg: "dg.cg"; ch: "dg.ch"; ci: "dg.ci"; cj: "dg.cj"; ck: "dg.ck"; cl: "dg.cl"; cm: "dg.cm"; cn: "dg.cn"; co: "dg.co"; cp: "dg.cp"; cq: "dg.cq"; cr: "dg.cr"; cs: "dg.cs"; ct: "dg.ct"; cu: "dg.cu"; cv: "dg.cv"; cw: "dg.cw"; cx: "dg.cx"; cy: "dg.cy"; cz: "dg.cz"; da: "dg.da"; db: "dg.db"; dc: "dg.dc"; dd: "dg.dd"; de: "dg.de"; df: "dg.df"; dg: "dg.dg"; dh: "dg.dh"; di: "dg.di"; dj: "dg.dj"; dk: "dg.dk"; dl: "dg.dl"; dm: "dg.dm"; dn: "dg.dn"; do: "dg.do"; dp: "dg.dp"; dq: "dg.dq"; dr: "dg.dr"; ds: "dg.ds"; dt: "dg.dt"; du: "dg.du"; dv: "dg.dv"; dw: "dg.dw"; dx: "dg.dx"; dy: "dg.dy"; dz: "dg.dz"; ea: "dg.ea"; eb: "dg.eb"; ec: "dg.ec"; ed: "dg.ed"; ee: "dg.ee"; ef: "dg.ef"; eg: "dg.eg"; eh: "dg.eh"; ei: "dg.ei"; ej: "dg.ej"; ek: "dg.ek"; el: "dg.el"; em: "dg.em"; en: "dg.en"; eo: "dg.eo"; ep: "dg.ep"; eq: "dg.eq"; er: "dg.er"; es: "dg.es"; et: "dg.et"; eu: "dg.eu"; ev: "dg.ev"; ew: "dg.ew"; ex: "dg.ex"; ey: "dg.ey"; ez: "dg.ez"; fa: "dg.fa"; fb: "dg.fb"; fc: "dg.fc"; fd: "dg.fd"; fe: "dg.fe"; ff: "dg.ff"; fg: "dg.fg"; fh: "dg.fh"; fi: "dg.fi"; fj: "dg.fj"; fk: "dg.fk"; fl: "dg.fl"; fm: "dg.fm"; fn: "dg.fn"; fo: "dg.fo"; fp: "dg.fp"; fq: "dg.fq"; fr: "dg.fr"; fs: "dg.fs"; ft: "dg.ft"; fu: "dg.fu"; fv: "dg.fv"; fw: "dg.fw"; fx: "dg.fx"; fy: "dg.fy"; fz: "dg.fz"; ga: "dg.ga"; gb: "dg.gb"; gc: "dg.gc"; gd: "dg.gd"; ge: "dg.ge"; gf: "dg.gf"; gg: "dg.gg"; gh: "dg.gh"; gi: "dg.gi"; gj: "dg.gj"; gk: "dg.gk"; gl: "dg.gl"; gm: "dg.gm"; gn: "dg.gn"; go: "dg.go"; gp: "dg.gp"; gq: "dg.gq"; gr: "dg.gr"; gs: "dg.gs"; gt: "dg.gt"; gu: "dg.gu"; gv: "dg.gv"; gw: "dg.gw"; gx: "dg.gx"; gy: "dg.gy"; gz: "dg.gz"; ha: "dg.ha"; hb: "dg.hb"; hc: "dg.hc"; hd: "dg.hd"; he: "dg.he"; hf: "dg.hf"; hg: "dg.hg"; hh: "dg.hh"; hi: "dg.hi"; hj: "dg.hj"; hk: "dg.hk"; hl: "dg.hl"; hm: "dg.hm"; hn: "dg.hn"; ho: "dg.ho"; hp: "dg.hp"; hq: "dg.hq"; hr: "dg.hr"; hs: "dg.hs"; ht: "dg.ht"; hu: "dg.hu"; hv: "dg.hv"; hw: "dg.hw"; hx: "dg.hx"; hy: "dg.hy"; hz: "dg.hz"; ia: "dg.ia"; ib: "dg.ib"; ic: "dg.ic"; id: "dg.id"; ie: "dg.ie"; if: "dg.if"; ig: "dg.ig"; ih: "dg.ih"; ii: "dg.ii"; ij: "dg.ij"; ik: "dg.ik"; il: "dg.il"; im: "dg.im"; in: "dg.in"; io: "dg.io"; ip: "dg.ip"; iq: "dg.iq"; ir: "dg.ir"; is: "dg.is"; it: "dg.it"; iu: "dg.iu"; iv: "dg.iv"; iw: "dg.iw"; ix: "dg.ix"; iy: "dg.iy"; iz: "dg.iz"; ja: "dg.ja"; jb: "dg.jb"; jc: "dg.jc"; jd: "dg.jd"; je: "dg.je"; jf: "dg.jf"; jg: "dg.jg"; jh: "dg.jh"; ji: "dg.ji"; jj: "dg.jj"; jk: "dg.jk"; jl: "dg.jl"; jm: "dg.jm"; jn: "dg.jn"; jo: "dg.jo"; jp: "dg.jp"; jq: "dg.jq"; jr: "dg.jr"; js: "dg.js"; jt: "dg.jt"; ju: "dg.ju"; jv: "dg.jv"; jw: "dg.jw"; jx: "dg.jx"; jy: "dg.jy"; jz: "dg.jz"; ka: "dg.ka"; kb: "dg.kb"; kc: "dg.kc"; kd: "dg.kd"; ke: "dg.ke"; kf: "dg.kf"; kg: "dg.kg"; kh: "dg.kh"; ki: "dg.ki"; kj: "dg.kj"; kk: "dg.kk"; kl: "dg.kl"; km: "dg.km"; kn: "dg.kn"; ko: "dg.ko"; kp: "dg.kp"; kq: "dg.kq"; kr: "dg.kr"; ks: "dg.ks"; kt: "dg.kt"; ku: "dg.ku"; kv: "dg.kv"; kw: "dg.kw"; kx: "dg.kx"; ky: "dg.ky"; kz: "dg.kz"; la: "dg.la"; lb: "dg.lb"; lc: "dg.lc"; ld: "dg.ld"; le: "dg.le"; lf: "dg.lf"; lg: "dg.lg"; lh: "dg.lh"; li: "dg.li"; lj: "dg.lj"; lk: "dg.lk"; ll: "dg.ll"; lm: "dg.lm"; ln: "dg.ln"; lo: "dg.lo"; lp: "dg.lp"; lq: "dg.lq"; lr: "dg.lr"; ls: "dg.ls"; lt: "dg.lt"; lu: "dg.lu"; lv: "dg.lv"; lw: "dg.lw"; lx: "dg.lx"; ly: "dg.ly"; lz: "dg.lz"; ma: "dg.ma"; mb: "dg.mb"; mc: "dg.mc"; md: "dg.md"; me: "dg.me"; mf: "dg.mf"; mg: "dg.mg"; mh: "dg.mh"; mi: "dg.mi"; mj: "dg.mj"; mk: "dg.mk"; ml: "dg.ml"; mm: "dg.mm"; mn: "dg.mn"; mo: "dg.mo"; mp: "dg.mp"; mq: "dg.mq"; mr: "dg.mr"; ms: "dg.ms"; mt: "dg.mt"; mu: "dg.mu"; mv: "dg.mv"; mw: "dg.mw"; mx: "dg.mx"; my: "dg.my"; mz: "dg.mz"; na: "dg.na"; nb: "dg.nb"; nc: "dg.nc"; nd: "dg.nd"; ne: "dg.ne"; nf: "dg.nf"; ng: "dg.ng"; nh: "dg.nh"; ni: "dg.ni"; nj: "dg.nj"; nk: "dg.nk"; nl: "dg.nl"; nm: "dg.nm"; nn: "dg.nn"; no: "dg.no"; np: "dg.np"; nq: "dg.nq"; nr: "dg.nr"; ns: "dg.ns"; nt: "dg.nt"; nu: "dg.nu"; nv: "dg.nv"; nw: "dg.nw"; nx: "dg.nx"; ny: "dg.ny"; nz: "dg.nz"; oa: "dg.oa"; ob: "dg.ob"; oc: "dg.oc"; od: "dg.od"; oe: "dg.oe"; of: "dg.of"; og: "dg.og"; oh: "dg.oh"; oi: "dg.oi"; oj: "dg.oj"; ok: "dg.ok"; ol: "dg.ol"; om: "dg.om"; on: "dg.on"; oo: "dg.oo"; op: "dg.op"; oq: "dg.oq"; or: "dg.or"; os: "dg.os"; ot: "dg.ot"; ou: "dg.ou"; ov: "dg.ov"; ow: "dg.ow"; ox: "dg.ox"; oy: "dg.oy"; oz: "dg.oz"; pa: "dg.pa"; pb: "dg.pb"; pc: "dg.pc"; pd: "dg.pd"; pe: "dg.pe"; pf: "dg.pf"; pg: "dg.pg"; ph: "dg.ph"; pi: "dg.pi"; pj: "dg.pj"; pk: "dg.pk"; pl: "dg.pl"; pm: "dg.pm"; pn: "dg.pn"; po: "dg.po"; pp: "dg.pp"; pq: "dg.pq"; pr: "dg.pr"; ps: "dg.ps"; pt: "dg.pt"; pu: "dg.pu"; pv: "dg.pv"; pw: "dg.pw"; px: "dg.px"; py: "dg.py"; pz: "dg.pz"; qa: "dg.qa"; qb: "dg.qb"; qc: "dg.qc"; qd: "dg.qd"; qe: "dg.qe"; qf: "dg.qf"; qg: "dg.qg"; qh: "dg.qh"; qi: "dg.qi"; qj: "dg.qj"; qk: "dg.qk"; ql: "dg.ql"; qm: "dg.qm"; qn: "dg.qn"; qo: "dg.qo"; qp: "dg.qp"; qq: "dg.qq"; qr: "dg.qr"; qs: "dg.qs"; qt: "dg.qt"; qu: "dg.qu"; qv: "dg.qv"; qw: "dg.qw"; qx: "dg.qx"; qy: "dg.qy"; qz: "dg.qz"; ra: "dg.ra"; rb: "dg.rb"; rc: "dg.rc"; rd: "dg.rd"; re: "dg.re"; rf: "dg.rf"; rg: "dg.rg"; rh: "dg.rh"; ri: "dg.ri"; rj: "dg.rj"; rk: "dg.rk"; rl: "dg.rl"; rm: "dg.rm"; rn: "dg.rn"; ro: "dg.ro"; rp: "dg.rp"; rq: "dg.rq"; rr: "dg.rr"; rs: "dg.rs"; rt: "dg.rt"; ru: "dg.ru"; rv: "dg.rv"; rw: "dg.rw"; rx: "dg.rx"; ry: "dg.ry"; rz: "dg.rz"; sa: "dg.sa"; sb: "dg.sb"; sc: "dg.sc"; sd: "dg.sd"; se: "dg.se"; sf: "dg.sf"; sg: "dg.sg"; sh: "dg.sh"; si: "dg.si"; sj: "dg.sj"; sk: "dg.sk"; sl: "dg.sl"; sm: "dg.sm"; sn: "dg.sn"; so: "dg.so"; sp: "dg.sp"; sq: "dg.sq"; sr: "dg.sr"; ss: "dg.ss"; st: "dg.st"; su: "dg.su"; sv: "dg.sv"; sw: "dg.sw"; sx: "dg.sx"; sy: "dg.sy"; sz: "dg.sz"; ta: "dg.ta"; tb: "dg.tb"; tc: "dg.tc"; td: "dg.td"; te: "dg.te"; tf: "dg.tf"; tg: "dg.tg"; th: "dg.th"; ti: "dg.ti"; tj: "dg.tj"; tk: "dg.tk"; tl: "dg.tl"; tm: "dg.tm"; tn: "dg.tn"; to: "dg.to"; tp: "dg.tp"; tq: "dg.tq"; tr: "dg.tr"; ts: "dg.ts"; tt: "dg.tt"; tu: "dg.tu"; tv: "dg.tv"; tw: "dg.tw"; tx: "dg.tx"; ty: "dg.ty"; tz: "dg.tz"; ua: "dg.ua"; ub: "dg.ub"; uc: "dg.uc"; ud: "dg.ud"; ue: "dg.ue"; uf: "dg.uf"; ug: "dg.ug"; uh: "dg.uh"; ui: "dg.ui"; uj: "dg.uj"; uk: "dg.uk"; ul: "dg.ul"; um: "dg.um"; un: "dg.un"; uo: "dg.uo"; up: "dg.up"; uq: "dg.uq"; ur: "dg.ur"; us: "dg.us"; ut: "dg.ut"; uu: "dg.uu"; uv: "dg.uv"; uw: "dg.uw"; ux: "dg.ux"; uy: "dg.uy"; uz: "dg.uz"; va: "dg.va"; vb: "dg.vb"; vc: "dg.vc"; vd: "dg.vd"; ve: "dg.ve"; vf: "dg.vf"; vg: "dg.vg"; vh: "dg.vh"; vi: "dg.vi"; vj: "dg.vj"; vk: "dg.vk"; vl: "dg.vl"; vm: "dg.vm"; vn: "dg.vn"; vo: "dg.vo"; vp: "dg.vp"; vq: "dg.vq"; vr: "dg.vr"; vs: "dg.vs"; vt: "dg.vt"; vu: "dg.vu"; vv: "dg.vv"; vw: "dg.vw"; vx: "dg.vx"; vy: "dg.vy"; vz: "dg.vz"; wa: "dg.wa"; wb: "dg.wb"; wc: "dg.wc"; wd: "dg.wd"; we: "dg.we"; wf: "dg.wf"; wg: "dg.wg"; wh: "dg.wh"; wi: "dg.wi"; wj: "dg.wj"; wk: "dg.wk"; wl: "dg.wl"; wm: "dg.wm"; wn: "dg.wn"; wo: "dg.wo"; wp: "dg.wp"; wq: "dg.wq"; wr: "dg.wr"; ws: "dg.ws"; wt: "dg.wt"; wu: "dg.wu"; wv: "dg.wv"; ww: "dg.ww"; wx: "dg.wx"; wy: "dg.wy"; wz: "dg.wz"; xa: "dg.xa"; xb: "dg.xb"; xc: "dg.xc"; xd: "dg.xd"; xe: "dg.xe"; xf: "dg.xf"; xg: "dg.xg"; xh: "dg.xh"; xi: "dg.xi"; xj: "dg.xj"; xk: "dg.xk"; xl: "dg.xl"; xm: "dg.xm"; xn: "dg.xn"; xo: "dg.xo"; xp: "dg.xp"; xq: "dg.xq"; xr: "dg.xr"; xs: "dg.xs"; xt: "dg.xt"; xu: "dg.xu"; xv: "dg.xv"; xw: "dg.xw"; xx: "dg.xx"; xy: "dg.xy"; xz: "dg.xz"; ya: "dg.ya"; yb: "dg.yb"; yc: "dg.yc"; yd: "dg.yd"; ye: "dg.ye"; yf: "dg.yf"; yg: "dg.yg"; yh: "dg.yh"; yi: "dg.yi"; yj: "dg.yj"; yk: "dg.yk"; yl: "dg.yl"; ym: "dg.ym"; yn: "dg.yn"; yo: "dg.yo"; yp: "dg.yp"; yq: "dg.yq"; yr: "dg.yr"; ys: "dg.ys"; yt: "dg.yt"; yu: "dg.yu"; yv: "dg.yv"; yw: "dg.yw"; yx: "dg.yx"; yy: "dg.yy"; yz: "dg.yz"; za: "dg.za"; zb: "dg.zb"; zc: "dg.zc"; zd: "dg.zd"; ze: "dg.ze"; zf: "dg.zf"; zg: "dg.zg"; zh: "dg.zh"; zi: "dg.zi"; zj: "dg.zj"; zk: "dg.zk"; zl: "dg.zl"; zm: "dg.zm"; zn: "dg.zn"; zo: "dg.zo"; zp: "dg.zp"; zq: "dg.zq"; zr: "dg.zr"; zs: "dg.zs"; zt: "dg.zt"; zu: "dg.zu"; zv: "dg.zv"; zw: "dg.zw"; zx: "dg.zx"; zy: "dg.zy"; zz: "dg.zz"; }; dh: { aa: "dh.aa"; ab: "dh.ab"; ac: "dh.ac"; ad: "dh.ad"; ae: "dh.ae"; af: "dh.af"; ag: "dh.ag"; ah: "dh.ah"; ai: "dh.ai"; aj: "dh.aj"; ak: "dh.ak"; al: "dh.al"; am: "dh.am"; an: "dh.an"; ao: "dh.ao"; ap: "dh.ap"; aq: "dh.aq"; ar: "dh.ar"; as: "dh.as"; at: "dh.at"; au: "dh.au"; av: "dh.av"; aw: "dh.aw"; ax: "dh.ax"; ay: "dh.ay"; az: "dh.az"; ba: "dh.ba"; bb: "dh.bb"; bc: "dh.bc"; bd: "dh.bd"; be: "dh.be"; bf: "dh.bf"; bg: "dh.bg"; bh: "dh.bh"; bi: "dh.bi"; bj: "dh.bj"; bk: "dh.bk"; bl: "dh.bl"; bm: "dh.bm"; bn: "dh.bn"; bo: "dh.bo"; bp: "dh.bp"; bq: "dh.bq"; br: "dh.br"; bs: "dh.bs"; bt: "dh.bt"; bu: "dh.bu"; bv: "dh.bv"; bw: "dh.bw"; bx: "dh.bx"; by: "dh.by"; bz: "dh.bz"; ca: "dh.ca"; cb: "dh.cb"; cc: "dh.cc"; cd: "dh.cd"; ce: "dh.ce"; cf: "dh.cf"; cg: "dh.cg"; ch: "dh.ch"; ci: "dh.ci"; cj: "dh.cj"; ck: "dh.ck"; cl: "dh.cl"; cm: "dh.cm"; cn: "dh.cn"; co: "dh.co"; cp: "dh.cp"; cq: "dh.cq"; cr: "dh.cr"; cs: "dh.cs"; ct: "dh.ct"; cu: "dh.cu"; cv: "dh.cv"; cw: "dh.cw"; cx: "dh.cx"; cy: "dh.cy"; cz: "dh.cz"; da: "dh.da"; db: "dh.db"; dc: "dh.dc"; dd: "dh.dd"; de: "dh.de"; df: "dh.df"; dg: "dh.dg"; dh: "dh.dh"; di: "dh.di"; dj: "dh.dj"; dk: "dh.dk"; dl: "dh.dl"; dm: "dh.dm"; dn: "dh.dn"; do: "dh.do"; dp: "dh.dp"; dq: "dh.dq"; dr: "dh.dr"; ds: "dh.ds"; dt: "dh.dt"; du: "dh.du"; dv: "dh.dv"; dw: "dh.dw"; dx: "dh.dx"; dy: "dh.dy"; dz: "dh.dz"; ea: "dh.ea"; eb: "dh.eb"; ec: "dh.ec"; ed: "dh.ed"; ee: "dh.ee"; ef: "dh.ef"; eg: "dh.eg"; eh: "dh.eh"; ei: "dh.ei"; ej: "dh.ej"; ek: "dh.ek"; el: "dh.el"; em: "dh.em"; en: "dh.en"; eo: "dh.eo"; ep: "dh.ep"; eq: "dh.eq"; er: "dh.er"; es: "dh.es"; et: "dh.et"; eu: "dh.eu"; ev: "dh.ev"; ew: "dh.ew"; ex: "dh.ex"; ey: "dh.ey"; ez: "dh.ez"; fa: "dh.fa"; fb: "dh.fb"; fc: "dh.fc"; fd: "dh.fd"; fe: "dh.fe"; ff: "dh.ff"; fg: "dh.fg"; fh: "dh.fh"; fi: "dh.fi"; fj: "dh.fj"; fk: "dh.fk"; fl: "dh.fl"; fm: "dh.fm"; fn: "dh.fn"; fo: "dh.fo"; fp: "dh.fp"; fq: "dh.fq"; fr: "dh.fr"; fs: "dh.fs"; ft: "dh.ft"; fu: "dh.fu"; fv: "dh.fv"; fw: "dh.fw"; fx: "dh.fx"; fy: "dh.fy"; fz: "dh.fz"; ga: "dh.ga"; gb: "dh.gb"; gc: "dh.gc"; gd: "dh.gd"; ge: "dh.ge"; gf: "dh.gf"; gg: "dh.gg"; gh: "dh.gh"; gi: "dh.gi"; gj: "dh.gj"; gk: "dh.gk"; gl: "dh.gl"; gm: "dh.gm"; gn: "dh.gn"; go: "dh.go"; gp: "dh.gp"; gq: "dh.gq"; gr: "dh.gr"; gs: "dh.gs"; gt: "dh.gt"; gu: "dh.gu"; gv: "dh.gv"; gw: "dh.gw"; gx: "dh.gx"; gy: "dh.gy"; gz: "dh.gz"; ha: "dh.ha"; hb: "dh.hb"; hc: "dh.hc"; hd: "dh.hd"; he: "dh.he"; hf: "dh.hf"; hg: "dh.hg"; hh: "dh.hh"; hi: "dh.hi"; hj: "dh.hj"; hk: "dh.hk"; hl: "dh.hl"; hm: "dh.hm"; hn: "dh.hn"; ho: "dh.ho"; hp: "dh.hp"; hq: "dh.hq"; hr: "dh.hr"; hs: "dh.hs"; ht: "dh.ht"; hu: "dh.hu"; hv: "dh.hv"; hw: "dh.hw"; hx: "dh.hx"; hy: "dh.hy"; hz: "dh.hz"; ia: "dh.ia"; ib: "dh.ib"; ic: "dh.ic"; id: "dh.id"; ie: "dh.ie"; if: "dh.if"; ig: "dh.ig"; ih: "dh.ih"; ii: "dh.ii"; ij: "dh.ij"; ik: "dh.ik"; il: "dh.il"; im: "dh.im"; in: "dh.in"; io: "dh.io"; ip: "dh.ip"; iq: "dh.iq"; ir: "dh.ir"; is: "dh.is"; it: "dh.it"; iu: "dh.iu"; iv: "dh.iv"; iw: "dh.iw"; ix: "dh.ix"; iy: "dh.iy"; iz: "dh.iz"; ja: "dh.ja"; jb: "dh.jb"; jc: "dh.jc"; jd: "dh.jd"; je: "dh.je"; jf: "dh.jf"; jg: "dh.jg"; jh: "dh.jh"; ji: "dh.ji"; jj: "dh.jj"; jk: "dh.jk"; jl: "dh.jl"; jm: "dh.jm"; jn: "dh.jn"; jo: "dh.jo"; jp: "dh.jp"; jq: "dh.jq"; jr: "dh.jr"; js: "dh.js"; jt: "dh.jt"; ju: "dh.ju"; jv: "dh.jv"; jw: "dh.jw"; jx: "dh.jx"; jy: "dh.jy"; jz: "dh.jz"; ka: "dh.ka"; kb: "dh.kb"; kc: "dh.kc"; kd: "dh.kd"; ke: "dh.ke"; kf: "dh.kf"; kg: "dh.kg"; kh: "dh.kh"; ki: "dh.ki"; kj: "dh.kj"; kk: "dh.kk"; kl: "dh.kl"; km: "dh.km"; kn: "dh.kn"; ko: "dh.ko"; kp: "dh.kp"; kq: "dh.kq"; kr: "dh.kr"; ks: "dh.ks"; kt: "dh.kt"; ku: "dh.ku"; kv: "dh.kv"; kw: "dh.kw"; kx: "dh.kx"; ky: "dh.ky"; kz: "dh.kz"; la: "dh.la"; lb: "dh.lb"; lc: "dh.lc"; ld: "dh.ld"; le: "dh.le"; lf: "dh.lf"; lg: "dh.lg"; lh: "dh.lh"; li: "dh.li"; lj: "dh.lj"; lk: "dh.lk"; ll: "dh.ll"; lm: "dh.lm"; ln: "dh.ln"; lo: "dh.lo"; lp: "dh.lp"; lq: "dh.lq"; lr: "dh.lr"; ls: "dh.ls"; lt: "dh.lt"; lu: "dh.lu"; lv: "dh.lv"; lw: "dh.lw"; lx: "dh.lx"; ly: "dh.ly"; lz: "dh.lz"; ma: "dh.ma"; mb: "dh.mb"; mc: "dh.mc"; md: "dh.md"; me: "dh.me"; mf: "dh.mf"; mg: "dh.mg"; mh: "dh.mh"; mi: "dh.mi"; mj: "dh.mj"; mk: "dh.mk"; ml: "dh.ml"; mm: "dh.mm"; mn: "dh.mn"; mo: "dh.mo"; mp: "dh.mp"; mq: "dh.mq"; mr: "dh.mr"; ms: "dh.ms"; mt: "dh.mt"; mu: "dh.mu"; mv: "dh.mv"; mw: "dh.mw"; mx: "dh.mx"; my: "dh.my"; mz: "dh.mz"; na: "dh.na"; nb: "dh.nb"; nc: "dh.nc"; nd: "dh.nd"; ne: "dh.ne"; nf: "dh.nf"; ng: "dh.ng"; nh: "dh.nh"; ni: "dh.ni"; nj: "dh.nj"; nk: "dh.nk"; nl: "dh.nl"; nm: "dh.nm"; nn: "dh.nn"; no: "dh.no"; np: "dh.np"; nq: "dh.nq"; nr: "dh.nr"; ns: "dh.ns"; nt: "dh.nt"; nu: "dh.nu"; nv: "dh.nv"; nw: "dh.nw"; nx: "dh.nx"; ny: "dh.ny"; nz: "dh.nz"; oa: "dh.oa"; ob: "dh.ob"; oc: "dh.oc"; od: "dh.od"; oe: "dh.oe"; of: "dh.of"; og: "dh.og"; oh: "dh.oh"; oi: "dh.oi"; oj: "dh.oj"; ok: "dh.ok"; ol: "dh.ol"; om: "dh.om"; on: "dh.on"; oo: "dh.oo"; op: "dh.op"; oq: "dh.oq"; or: "dh.or"; os: "dh.os"; ot: "dh.ot"; ou: "dh.ou"; ov: "dh.ov"; ow: "dh.ow"; ox: "dh.ox"; oy: "dh.oy"; oz: "dh.oz"; pa: "dh.pa"; pb: "dh.pb"; pc: "dh.pc"; pd: "dh.pd"; pe: "dh.pe"; pf: "dh.pf"; pg: "dh.pg"; ph: "dh.ph"; pi: "dh.pi"; pj: "dh.pj"; pk: "dh.pk"; pl: "dh.pl"; pm: "dh.pm"; pn: "dh.pn"; po: "dh.po"; pp: "dh.pp"; pq: "dh.pq"; pr: "dh.pr"; ps: "dh.ps"; pt: "dh.pt"; pu: "dh.pu"; pv: "dh.pv"; pw: "dh.pw"; px: "dh.px"; py: "dh.py"; pz: "dh.pz"; qa: "dh.qa"; qb: "dh.qb"; qc: "dh.qc"; qd: "dh.qd"; qe: "dh.qe"; qf: "dh.qf"; qg: "dh.qg"; qh: "dh.qh"; qi: "dh.qi"; qj: "dh.qj"; qk: "dh.qk"; ql: "dh.ql"; qm: "dh.qm"; qn: "dh.qn"; qo: "dh.qo"; qp: "dh.qp"; qq: "dh.qq"; qr: "dh.qr"; qs: "dh.qs"; qt: "dh.qt"; qu: "dh.qu"; qv: "dh.qv"; qw: "dh.qw"; qx: "dh.qx"; qy: "dh.qy"; qz: "dh.qz"; ra: "dh.ra"; rb: "dh.rb"; rc: "dh.rc"; rd: "dh.rd"; re: "dh.re"; rf: "dh.rf"; rg: "dh.rg"; rh: "dh.rh"; ri: "dh.ri"; rj: "dh.rj"; rk: "dh.rk"; rl: "dh.rl"; rm: "dh.rm"; rn: "dh.rn"; ro: "dh.ro"; rp: "dh.rp"; rq: "dh.rq"; rr: "dh.rr"; rs: "dh.rs"; rt: "dh.rt"; ru: "dh.ru"; rv: "dh.rv"; rw: "dh.rw"; rx: "dh.rx"; ry: "dh.ry"; rz: "dh.rz"; sa: "dh.sa"; sb: "dh.sb"; sc: "dh.sc"; sd: "dh.sd"; se: "dh.se"; sf: "dh.sf"; sg: "dh.sg"; sh: "dh.sh"; si: "dh.si"; sj: "dh.sj"; sk: "dh.sk"; sl: "dh.sl"; sm: "dh.sm"; sn: "dh.sn"; so: "dh.so"; sp: "dh.sp"; sq: "dh.sq"; sr: "dh.sr"; ss: "dh.ss"; st: "dh.st"; su: "dh.su"; sv: "dh.sv"; sw: "dh.sw"; sx: "dh.sx"; sy: "dh.sy"; sz: "dh.sz"; ta: "dh.ta"; tb: "dh.tb"; tc: "dh.tc"; td: "dh.td"; te: "dh.te"; tf: "dh.tf"; tg: "dh.tg"; th: "dh.th"; ti: "dh.ti"; tj: "dh.tj"; tk: "dh.tk"; tl: "dh.tl"; tm: "dh.tm"; tn: "dh.tn"; to: "dh.to"; tp: "dh.tp"; tq: "dh.tq"; tr: "dh.tr"; ts: "dh.ts"; tt: "dh.tt"; tu: "dh.tu"; tv: "dh.tv"; tw: "dh.tw"; tx: "dh.tx"; ty: "dh.ty"; tz: "dh.tz"; ua: "dh.ua"; ub: "dh.ub"; uc: "dh.uc"; ud: "dh.ud"; ue: "dh.ue"; uf: "dh.uf"; ug: "dh.ug"; uh: "dh.uh"; ui: "dh.ui"; uj: "dh.uj"; uk: "dh.uk"; ul: "dh.ul"; um: "dh.um"; un: "dh.un"; uo: "dh.uo"; up: "dh.up"; uq: "dh.uq"; ur: "dh.ur"; us: "dh.us"; ut: "dh.ut"; uu: "dh.uu"; uv: "dh.uv"; uw: "dh.uw"; ux: "dh.ux"; uy: "dh.uy"; uz: "dh.uz"; va: "dh.va"; vb: "dh.vb"; vc: "dh.vc"; vd: "dh.vd"; ve: "dh.ve"; vf: "dh.vf"; vg: "dh.vg"; vh: "dh.vh"; vi: "dh.vi"; vj: "dh.vj"; vk: "dh.vk"; vl: "dh.vl"; vm: "dh.vm"; vn: "dh.vn"; vo: "dh.vo"; vp: "dh.vp"; vq: "dh.vq"; vr: "dh.vr"; vs: "dh.vs"; vt: "dh.vt"; vu: "dh.vu"; vv: "dh.vv"; vw: "dh.vw"; vx: "dh.vx"; vy: "dh.vy"; vz: "dh.vz"; wa: "dh.wa"; wb: "dh.wb"; wc: "dh.wc"; wd: "dh.wd"; we: "dh.we"; wf: "dh.wf"; wg: "dh.wg"; wh: "dh.wh"; wi: "dh.wi"; wj: "dh.wj"; wk: "dh.wk"; wl: "dh.wl"; wm: "dh.wm"; wn: "dh.wn"; wo: "dh.wo"; wp: "dh.wp"; wq: "dh.wq"; wr: "dh.wr"; ws: "dh.ws"; wt: "dh.wt"; wu: "dh.wu"; wv: "dh.wv"; ww: "dh.ww"; wx: "dh.wx"; wy: "dh.wy"; wz: "dh.wz"; xa: "dh.xa"; xb: "dh.xb"; xc: "dh.xc"; xd: "dh.xd"; xe: "dh.xe"; xf: "dh.xf"; xg: "dh.xg"; xh: "dh.xh"; xi: "dh.xi"; xj: "dh.xj"; xk: "dh.xk"; xl: "dh.xl"; xm: "dh.xm"; xn: "dh.xn"; xo: "dh.xo"; xp: "dh.xp"; xq: "dh.xq"; xr: "dh.xr"; xs: "dh.xs"; xt: "dh.xt"; xu: "dh.xu"; xv: "dh.xv"; xw: "dh.xw"; xx: "dh.xx"; xy: "dh.xy"; xz: "dh.xz"; ya: "dh.ya"; yb: "dh.yb"; yc: "dh.yc"; yd: "dh.yd"; ye: "dh.ye"; yf: "dh.yf"; yg: "dh.yg"; yh: "dh.yh"; yi: "dh.yi"; yj: "dh.yj"; yk: "dh.yk"; yl: "dh.yl"; ym: "dh.ym"; yn: "dh.yn"; yo: "dh.yo"; yp: "dh.yp"; yq: "dh.yq"; yr: "dh.yr"; ys: "dh.ys"; yt: "dh.yt"; yu: "dh.yu"; yv: "dh.yv"; yw: "dh.yw"; yx: "dh.yx"; yy: "dh.yy"; yz: "dh.yz"; za: "dh.za"; zb: "dh.zb"; zc: "dh.zc"; zd: "dh.zd"; ze: "dh.ze"; zf: "dh.zf"; zg: "dh.zg"; zh: "dh.zh"; zi: "dh.zi"; zj: "dh.zj"; zk: "dh.zk"; zl: "dh.zl"; zm: "dh.zm"; zn: "dh.zn"; zo: "dh.zo"; zp: "dh.zp"; zq: "dh.zq"; zr: "dh.zr"; zs: "dh.zs"; zt: "dh.zt"; zu: "dh.zu"; zv: "dh.zv"; zw: "dh.zw"; zx: "dh.zx"; zy: "dh.zy"; zz: "dh.zz"; }; di: { aa: "di.aa"; ab: "di.ab"; ac: "di.ac"; ad: "di.ad"; ae: "di.ae"; af: "di.af"; ag: "di.ag"; ah: "di.ah"; ai: "di.ai"; aj: "di.aj"; ak: "di.ak"; al: "di.al"; am: "di.am"; an: "di.an"; ao: "di.ao"; ap: "di.ap"; aq: "di.aq"; ar: "di.ar"; as: "di.as"; at: "di.at"; au: "di.au"; av: "di.av"; aw: "di.aw"; ax: "di.ax"; ay: "di.ay"; az: "di.az"; ba: "di.ba"; bb: "di.bb"; bc: "di.bc"; bd: "di.bd"; be: "di.be"; bf: "di.bf"; bg: "di.bg"; bh: "di.bh"; bi: "di.bi"; bj: "di.bj"; bk: "di.bk"; bl: "di.bl"; bm: "di.bm"; bn: "di.bn"; bo: "di.bo"; bp: "di.bp"; bq: "di.bq"; br: "di.br"; bs: "di.bs"; bt: "di.bt"; bu: "di.bu"; bv: "di.bv"; bw: "di.bw"; bx: "di.bx"; by: "di.by"; bz: "di.bz"; ca: "di.ca"; cb: "di.cb"; cc: "di.cc"; cd: "di.cd"; ce: "di.ce"; cf: "di.cf"; cg: "di.cg"; ch: "di.ch"; ci: "di.ci"; cj: "di.cj"; ck: "di.ck"; cl: "di.cl"; cm: "di.cm"; cn: "di.cn"; co: "di.co"; cp: "di.cp"; cq: "di.cq"; cr: "di.cr"; cs: "di.cs"; ct: "di.ct"; cu: "di.cu"; cv: "di.cv"; cw: "di.cw"; cx: "di.cx"; cy: "di.cy"; cz: "di.cz"; da: "di.da"; db: "di.db"; dc: "di.dc"; dd: "di.dd"; de: "di.de"; df: "di.df"; dg: "di.dg"; dh: "di.dh"; di: "di.di"; dj: "di.dj"; dk: "di.dk"; dl: "di.dl"; dm: "di.dm"; dn: "di.dn"; do: "di.do"; dp: "di.dp"; dq: "di.dq"; dr: "di.dr"; ds: "di.ds"; dt: "di.dt"; du: "di.du"; dv: "di.dv"; dw: "di.dw"; dx: "di.dx"; dy: "di.dy"; dz: "di.dz"; ea: "di.ea"; eb: "di.eb"; ec: "di.ec"; ed: "di.ed"; ee: "di.ee"; ef: "di.ef"; eg: "di.eg"; eh: "di.eh"; ei: "di.ei"; ej: "di.ej"; ek: "di.ek"; el: "di.el"; em: "di.em"; en: "di.en"; eo: "di.eo"; ep: "di.ep"; eq: "di.eq"; er: "di.er"; es: "di.es"; et: "di.et"; eu: "di.eu"; ev: "di.ev"; ew: "di.ew"; ex: "di.ex"; ey: "di.ey"; ez: "di.ez"; fa: "di.fa"; fb: "di.fb"; fc: "di.fc"; fd: "di.fd"; fe: "di.fe"; ff: "di.ff"; fg: "di.fg"; fh: "di.fh"; fi: "di.fi"; fj: "di.fj"; fk: "di.fk"; fl: "di.fl"; fm: "di.fm"; fn: "di.fn"; fo: "di.fo"; fp: "di.fp"; fq: "di.fq"; fr: "di.fr"; fs: "di.fs"; ft: "di.ft"; fu: "di.fu"; fv: "di.fv"; fw: "di.fw"; fx: "di.fx"; fy: "di.fy"; fz: "di.fz"; ga: "di.ga"; gb: "di.gb"; gc: "di.gc"; gd: "di.gd"; ge: "di.ge"; gf: "di.gf"; gg: "di.gg"; gh: "di.gh"; gi: "di.gi"; gj: "di.gj"; gk: "di.gk"; gl: "di.gl"; gm: "di.gm"; gn: "di.gn"; go: "di.go"; gp: "di.gp"; gq: "di.gq"; gr: "di.gr"; gs: "di.gs"; gt: "di.gt"; gu: "di.gu"; gv: "di.gv"; gw: "di.gw"; gx: "di.gx"; gy: "di.gy"; gz: "di.gz"; ha: "di.ha"; hb: "di.hb"; hc: "di.hc"; hd: "di.hd"; he: "di.he"; hf: "di.hf"; hg: "di.hg"; hh: "di.hh"; hi: "di.hi"; hj: "di.hj"; hk: "di.hk"; hl: "di.hl"; hm: "di.hm"; hn: "di.hn"; ho: "di.ho"; hp: "di.hp"; hq: "di.hq"; hr: "di.hr"; hs: "di.hs"; ht: "di.ht"; hu: "di.hu"; hv: "di.hv"; hw: "di.hw"; hx: "di.hx"; hy: "di.hy"; hz: "di.hz"; ia: "di.ia"; ib: "di.ib"; ic: "di.ic"; id: "di.id"; ie: "di.ie"; if: "di.if"; ig: "di.ig"; ih: "di.ih"; ii: "di.ii"; ij: "di.ij"; ik: "di.ik"; il: "di.il"; im: "di.im"; in: "di.in"; io: "di.io"; ip: "di.ip"; iq: "di.iq"; ir: "di.ir"; is: "di.is"; it: "di.it"; iu: "di.iu"; iv: "di.iv"; iw: "di.iw"; ix: "di.ix"; iy: "di.iy"; iz: "di.iz"; ja: "di.ja"; jb: "di.jb"; jc: "di.jc"; jd: "di.jd"; je: "di.je"; jf: "di.jf"; jg: "di.jg"; jh: "di.jh"; ji: "di.ji"; jj: "di.jj"; jk: "di.jk"; jl: "di.jl"; jm: "di.jm"; jn: "di.jn"; jo: "di.jo"; jp: "di.jp"; jq: "di.jq"; jr: "di.jr"; js: "di.js"; jt: "di.jt"; ju: "di.ju"; jv: "di.jv"; jw: "di.jw"; jx: "di.jx"; jy: "di.jy"; jz: "di.jz"; ka: "di.ka"; kb: "di.kb"; kc: "di.kc"; kd: "di.kd"; ke: "di.ke"; kf: "di.kf"; kg: "di.kg"; kh: "di.kh"; ki: "di.ki"; kj: "di.kj"; kk: "di.kk"; kl: "di.kl"; km: "di.km"; kn: "di.kn"; ko: "di.ko"; kp: "di.kp"; kq: "di.kq"; kr: "di.kr"; ks: "di.ks"; kt: "di.kt"; ku: "di.ku"; kv: "di.kv"; kw: "di.kw"; kx: "di.kx"; ky: "di.ky"; kz: "di.kz"; la: "di.la"; lb: "di.lb"; lc: "di.lc"; ld: "di.ld"; le: "di.le"; lf: "di.lf"; lg: "di.lg"; lh: "di.lh"; li: "di.li"; lj: "di.lj"; lk: "di.lk"; ll: "di.ll"; lm: "di.lm"; ln: "di.ln"; lo: "di.lo"; lp: "di.lp"; lq: "di.lq"; lr: "di.lr"; ls: "di.ls"; lt: "di.lt"; lu: "di.lu"; lv: "di.lv"; lw: "di.lw"; lx: "di.lx"; ly: "di.ly"; lz: "di.lz"; ma: "di.ma"; mb: "di.mb"; mc: "di.mc"; md: "di.md"; me: "di.me"; mf: "di.mf"; mg: "di.mg"; mh: "di.mh"; mi: "di.mi"; mj: "di.mj"; mk: "di.mk"; ml: "di.ml"; mm: "di.mm"; mn: "di.mn"; mo: "di.mo"; mp: "di.mp"; mq: "di.mq"; mr: "di.mr"; ms: "di.ms"; mt: "di.mt"; mu: "di.mu"; mv: "di.mv"; mw: "di.mw"; mx: "di.mx"; my: "di.my"; mz: "di.mz"; na: "di.na"; nb: "di.nb"; nc: "di.nc"; nd: "di.nd"; ne: "di.ne"; nf: "di.nf"; ng: "di.ng"; nh: "di.nh"; ni: "di.ni"; nj: "di.nj"; nk: "di.nk"; nl: "di.nl"; nm: "di.nm"; nn: "di.nn"; no: "di.no"; np: "di.np"; nq: "di.nq"; nr: "di.nr"; ns: "di.ns"; nt: "di.nt"; nu: "di.nu"; nv: "di.nv"; nw: "di.nw"; nx: "di.nx"; ny: "di.ny"; nz: "di.nz"; oa: "di.oa"; ob: "di.ob"; oc: "di.oc"; od: "di.od"; oe: "di.oe"; of: "di.of"; og: "di.og"; oh: "di.oh"; oi: "di.oi"; oj: "di.oj"; ok: "di.ok"; ol: "di.ol"; om: "di.om"; on: "di.on"; oo: "di.oo"; op: "di.op"; oq: "di.oq"; or: "di.or"; os: "di.os"; ot: "di.ot"; ou: "di.ou"; ov: "di.ov"; ow: "di.ow"; ox: "di.ox"; oy: "di.oy"; oz: "di.oz"; pa: "di.pa"; pb: "di.pb"; pc: "di.pc"; pd: "di.pd"; pe: "di.pe"; pf: "di.pf"; pg: "di.pg"; ph: "di.ph"; pi: "di.pi"; pj: "di.pj"; pk: "di.pk"; pl: "di.pl"; pm: "di.pm"; pn: "di.pn"; po: "di.po"; pp: "di.pp"; pq: "di.pq"; pr: "di.pr"; ps: "di.ps"; pt: "di.pt"; pu: "di.pu"; pv: "di.pv"; pw: "di.pw"; px: "di.px"; py: "di.py"; pz: "di.pz"; qa: "di.qa"; qb: "di.qb"; qc: "di.qc"; qd: "di.qd"; qe: "di.qe"; qf: "di.qf"; qg: "di.qg"; qh: "di.qh"; qi: "di.qi"; qj: "di.qj"; qk: "di.qk"; ql: "di.ql"; qm: "di.qm"; qn: "di.qn"; qo: "di.qo"; qp: "di.qp"; qq: "di.qq"; qr: "di.qr"; qs: "di.qs"; qt: "di.qt"; qu: "di.qu"; qv: "di.qv"; qw: "di.qw"; qx: "di.qx"; qy: "di.qy"; qz: "di.qz"; ra: "di.ra"; rb: "di.rb"; rc: "di.rc"; rd: "di.rd"; re: "di.re"; rf: "di.rf"; rg: "di.rg"; rh: "di.rh"; ri: "di.ri"; rj: "di.rj"; rk: "di.rk"; rl: "di.rl"; rm: "di.rm"; rn: "di.rn"; ro: "di.ro"; rp: "di.rp"; rq: "di.rq"; rr: "di.rr"; rs: "di.rs"; rt: "di.rt"; ru: "di.ru"; rv: "di.rv"; rw: "di.rw"; rx: "di.rx"; ry: "di.ry"; rz: "di.rz"; sa: "di.sa"; sb: "di.sb"; sc: "di.sc"; sd: "di.sd"; se: "di.se"; sf: "di.sf"; sg: "di.sg"; sh: "di.sh"; si: "di.si"; sj: "di.sj"; sk: "di.sk"; sl: "di.sl"; sm: "di.sm"; sn: "di.sn"; so: "di.so"; sp: "di.sp"; sq: "di.sq"; sr: "di.sr"; ss: "di.ss"; st: "di.st"; su: "di.su"; sv: "di.sv"; sw: "di.sw"; sx: "di.sx"; sy: "di.sy"; sz: "di.sz"; ta: "di.ta"; tb: "di.tb"; tc: "di.tc"; td: "di.td"; te: "di.te"; tf: "di.tf"; tg: "di.tg"; th: "di.th"; ti: "di.ti"; tj: "di.tj"; tk: "di.tk"; tl: "di.tl"; tm: "di.tm"; tn: "di.tn"; to: "di.to"; tp: "di.tp"; tq: "di.tq"; tr: "di.tr"; ts: "di.ts"; tt: "di.tt"; tu: "di.tu"; tv: "di.tv"; tw: "di.tw"; tx: "di.tx"; ty: "di.ty"; tz: "di.tz"; ua: "di.ua"; ub: "di.ub"; uc: "di.uc"; ud: "di.ud"; ue: "di.ue"; uf: "di.uf"; ug: "di.ug"; uh: "di.uh"; ui: "di.ui"; uj: "di.uj"; uk: "di.uk"; ul: "di.ul"; um: "di.um"; un: "di.un"; uo: "di.uo"; up: "di.up"; uq: "di.uq"; ur: "di.ur"; us: "di.us"; ut: "di.ut"; uu: "di.uu"; uv: "di.uv"; uw: "di.uw"; ux: "di.ux"; uy: "di.uy"; uz: "di.uz"; va: "di.va"; vb: "di.vb"; vc: "di.vc"; vd: "di.vd"; ve: "di.ve"; vf: "di.vf"; vg: "di.vg"; vh: "di.vh"; vi: "di.vi"; vj: "di.vj"; vk: "di.vk"; vl: "di.vl"; vm: "di.vm"; vn: "di.vn"; vo: "di.vo"; vp: "di.vp"; vq: "di.vq"; vr: "di.vr"; vs: "di.vs"; vt: "di.vt"; vu: "di.vu"; vv: "di.vv"; vw: "di.vw"; vx: "di.vx"; vy: "di.vy"; vz: "di.vz"; wa: "di.wa"; wb: "di.wb"; wc: "di.wc"; wd: "di.wd"; we: "di.we"; wf: "di.wf"; wg: "di.wg"; wh: "di.wh"; wi: "di.wi"; wj: "di.wj"; wk: "di.wk"; wl: "di.wl"; wm: "di.wm"; wn: "di.wn"; wo: "di.wo"; wp: "di.wp"; wq: "di.wq"; wr: "di.wr"; ws: "di.ws"; wt: "di.wt"; wu: "di.wu"; wv: "di.wv"; ww: "di.ww"; wx: "di.wx"; wy: "di.wy"; wz: "di.wz"; xa: "di.xa"; xb: "di.xb"; xc: "di.xc"; xd: "di.xd"; xe: "di.xe"; xf: "di.xf"; xg: "di.xg"; xh: "di.xh"; xi: "di.xi"; xj: "di.xj"; xk: "di.xk"; xl: "di.xl"; xm: "di.xm"; xn: "di.xn"; xo: "di.xo"; xp: "di.xp"; xq: "di.xq"; xr: "di.xr"; xs: "di.xs"; xt: "di.xt"; xu: "di.xu"; xv: "di.xv"; xw: "di.xw"; xx: "di.xx"; xy: "di.xy"; xz: "di.xz"; ya: "di.ya"; yb: "di.yb"; yc: "di.yc"; yd: "di.yd"; ye: "di.ye"; yf: "di.yf"; yg: "di.yg"; yh: "di.yh"; yi: "di.yi"; yj: "di.yj"; yk: "di.yk"; yl: "di.yl"; ym: "di.ym"; yn: "di.yn"; yo: "di.yo"; yp: "di.yp"; yq: "di.yq"; yr: "di.yr"; ys: "di.ys"; yt: "di.yt"; yu: "di.yu"; yv: "di.yv"; yw: "di.yw"; yx: "di.yx"; yy: "di.yy"; yz: "di.yz"; za: "di.za"; zb: "di.zb"; zc: "di.zc"; zd: "di.zd"; ze: "di.ze"; zf: "di.zf"; zg: "di.zg"; zh: "di.zh"; zi: "di.zi"; zj: "di.zj"; zk: "di.zk"; zl: "di.zl"; zm: "di.zm"; zn: "di.zn"; zo: "di.zo"; zp: "di.zp"; zq: "di.zq"; zr: "di.zr"; zs: "di.zs"; zt: "di.zt"; zu: "di.zu"; zv: "di.zv"; zw: "di.zw"; zx: "di.zx"; zy: "di.zy"; zz: "di.zz"; }; dj: { aa: "dj.aa"; ab: "dj.ab"; ac: "dj.ac"; ad: "dj.ad"; ae: "dj.ae"; af: "dj.af"; ag: "dj.ag"; ah: "dj.ah"; ai: "dj.ai"; aj: "dj.aj"; ak: "dj.ak"; al: "dj.al"; am: "dj.am"; an: "dj.an"; ao: "dj.ao"; ap: "dj.ap"; aq: "dj.aq"; ar: "dj.ar"; as: "dj.as"; at: "dj.at"; au: "dj.au"; av: "dj.av"; aw: "dj.aw"; ax: "dj.ax"; ay: "dj.ay"; az: "dj.az"; ba: "dj.ba"; bb: "dj.bb"; bc: "dj.bc"; bd: "dj.bd"; be: "dj.be"; bf: "dj.bf"; bg: "dj.bg"; bh: "dj.bh"; bi: "dj.bi"; bj: "dj.bj"; bk: "dj.bk"; bl: "dj.bl"; bm: "dj.bm"; bn: "dj.bn"; bo: "dj.bo"; bp: "dj.bp"; bq: "dj.bq"; br: "dj.br"; bs: "dj.bs"; bt: "dj.bt"; bu: "dj.bu"; bv: "dj.bv"; bw: "dj.bw"; bx: "dj.bx"; by: "dj.by"; bz: "dj.bz"; ca: "dj.ca"; cb: "dj.cb"; cc: "dj.cc"; cd: "dj.cd"; ce: "dj.ce"; cf: "dj.cf"; cg: "dj.cg"; ch: "dj.ch"; ci: "dj.ci"; cj: "dj.cj"; ck: "dj.ck"; cl: "dj.cl"; cm: "dj.cm"; cn: "dj.cn"; co: "dj.co"; cp: "dj.cp"; cq: "dj.cq"; cr: "dj.cr"; cs: "dj.cs"; ct: "dj.ct"; cu: "dj.cu"; cv: "dj.cv"; cw: "dj.cw"; cx: "dj.cx"; cy: "dj.cy"; cz: "dj.cz"; da: "dj.da"; db: "dj.db"; dc: "dj.dc"; dd: "dj.dd"; de: "dj.de"; df: "dj.df"; dg: "dj.dg"; dh: "dj.dh"; di: "dj.di"; dj: "dj.dj"; dk: "dj.dk"; dl: "dj.dl"; dm: "dj.dm"; dn: "dj.dn"; do: "dj.do"; dp: "dj.dp"; dq: "dj.dq"; dr: "dj.dr"; ds: "dj.ds"; dt: "dj.dt"; du: "dj.du"; dv: "dj.dv"; dw: "dj.dw"; dx: "dj.dx"; dy: "dj.dy"; dz: "dj.dz"; ea: "dj.ea"; eb: "dj.eb"; ec: "dj.ec"; ed: "dj.ed"; ee: "dj.ee"; ef: "dj.ef"; eg: "dj.eg"; eh: "dj.eh"; ei: "dj.ei"; ej: "dj.ej"; ek: "dj.ek"; el: "dj.el"; em: "dj.em"; en: "dj.en"; eo: "dj.eo"; ep: "dj.ep"; eq: "dj.eq"; er: "dj.er"; es: "dj.es"; et: "dj.et"; eu: "dj.eu"; ev: "dj.ev"; ew: "dj.ew"; ex: "dj.ex"; ey: "dj.ey"; ez: "dj.ez"; fa: "dj.fa"; fb: "dj.fb"; fc: "dj.fc"; fd: "dj.fd"; fe: "dj.fe"; ff: "dj.ff"; fg: "dj.fg"; fh: "dj.fh"; fi: "dj.fi"; fj: "dj.fj"; fk: "dj.fk"; fl: "dj.fl"; fm: "dj.fm"; fn: "dj.fn"; fo: "dj.fo"; fp: "dj.fp"; fq: "dj.fq"; fr: "dj.fr"; fs: "dj.fs"; ft: "dj.ft"; fu: "dj.fu"; fv: "dj.fv"; fw: "dj.fw"; fx: "dj.fx"; fy: "dj.fy"; fz: "dj.fz"; ga: "dj.ga"; gb: "dj.gb"; gc: "dj.gc"; gd: "dj.gd"; ge: "dj.ge"; gf: "dj.gf"; gg: "dj.gg"; gh: "dj.gh"; gi: "dj.gi"; gj: "dj.gj"; gk: "dj.gk"; gl: "dj.gl"; gm: "dj.gm"; gn: "dj.gn"; go: "dj.go"; gp: "dj.gp"; gq: "dj.gq"; gr: "dj.gr"; gs: "dj.gs"; gt: "dj.gt"; gu: "dj.gu"; gv: "dj.gv"; gw: "dj.gw"; gx: "dj.gx"; gy: "dj.gy"; gz: "dj.gz"; ha: "dj.ha"; hb: "dj.hb"; hc: "dj.hc"; hd: "dj.hd"; he: "dj.he"; hf: "dj.hf"; hg: "dj.hg"; hh: "dj.hh"; hi: "dj.hi"; hj: "dj.hj"; hk: "dj.hk"; hl: "dj.hl"; hm: "dj.hm"; hn: "dj.hn"; ho: "dj.ho"; hp: "dj.hp"; hq: "dj.hq"; hr: "dj.hr"; hs: "dj.hs"; ht: "dj.ht"; hu: "dj.hu"; hv: "dj.hv"; hw: "dj.hw"; hx: "dj.hx"; hy: "dj.hy"; hz: "dj.hz"; ia: "dj.ia"; ib: "dj.ib"; ic: "dj.ic"; id: "dj.id"; ie: "dj.ie"; if: "dj.if"; ig: "dj.ig"; ih: "dj.ih"; ii: "dj.ii"; ij: "dj.ij"; ik: "dj.ik"; il: "dj.il"; im: "dj.im"; in: "dj.in"; io: "dj.io"; ip: "dj.ip"; iq: "dj.iq"; ir: "dj.ir"; is: "dj.is"; it: "dj.it"; iu: "dj.iu"; iv: "dj.iv"; iw: "dj.iw"; ix: "dj.ix"; iy: "dj.iy"; iz: "dj.iz"; ja: "dj.ja"; jb: "dj.jb"; jc: "dj.jc"; jd: "dj.jd"; je: "dj.je"; jf: "dj.jf"; jg: "dj.jg"; jh: "dj.jh"; ji: "dj.ji"; jj: "dj.jj"; jk: "dj.jk"; jl: "dj.jl"; jm: "dj.jm"; jn: "dj.jn"; jo: "dj.jo"; jp: "dj.jp"; jq: "dj.jq"; jr: "dj.jr"; js: "dj.js"; jt: "dj.jt"; ju: "dj.ju"; jv: "dj.jv"; jw: "dj.jw"; jx: "dj.jx"; jy: "dj.jy"; jz: "dj.jz"; ka: "dj.ka"; kb: "dj.kb"; kc: "dj.kc"; kd: "dj.kd"; ke: "dj.ke"; kf: "dj.kf"; kg: "dj.kg"; kh: "dj.kh"; ki: "dj.ki"; kj: "dj.kj"; kk: "dj.kk"; kl: "dj.kl"; km: "dj.km"; kn: "dj.kn"; ko: "dj.ko"; kp: "dj.kp"; kq: "dj.kq"; kr: "dj.kr"; ks: "dj.ks"; kt: "dj.kt"; ku: "dj.ku"; kv: "dj.kv"; kw: "dj.kw"; kx: "dj.kx"; ky: "dj.ky"; kz: "dj.kz"; la: "dj.la"; lb: "dj.lb"; lc: "dj.lc"; ld: "dj.ld"; le: "dj.le"; lf: "dj.lf"; lg: "dj.lg"; lh: "dj.lh"; li: "dj.li"; lj: "dj.lj"; lk: "dj.lk"; ll: "dj.ll"; lm: "dj.lm"; ln: "dj.ln"; lo: "dj.lo"; lp: "dj.lp"; lq: "dj.lq"; lr: "dj.lr"; ls: "dj.ls"; lt: "dj.lt"; lu: "dj.lu"; lv: "dj.lv"; lw: "dj.lw"; lx: "dj.lx"; ly: "dj.ly"; lz: "dj.lz"; ma: "dj.ma"; mb: "dj.mb"; mc: "dj.mc"; md: "dj.md"; me: "dj.me"; mf: "dj.mf"; mg: "dj.mg"; mh: "dj.mh"; mi: "dj.mi"; mj: "dj.mj"; mk: "dj.mk"; ml: "dj.ml"; mm: "dj.mm"; mn: "dj.mn"; mo: "dj.mo"; mp: "dj.mp"; mq: "dj.mq"; mr: "dj.mr"; ms: "dj.ms"; mt: "dj.mt"; mu: "dj.mu"; mv: "dj.mv"; mw: "dj.mw"; mx: "dj.mx"; my: "dj.my"; mz: "dj.mz"; na: "dj.na"; nb: "dj.nb"; nc: "dj.nc"; nd: "dj.nd"; ne: "dj.ne"; nf: "dj.nf"; ng: "dj.ng"; nh: "dj.nh"; ni: "dj.ni"; nj: "dj.nj"; nk: "dj.nk"; nl: "dj.nl"; nm: "dj.nm"; nn: "dj.nn"; no: "dj.no"; np: "dj.np"; nq: "dj.nq"; nr: "dj.nr"; ns: "dj.ns"; nt: "dj.nt"; nu: "dj.nu"; nv: "dj.nv"; nw: "dj.nw"; nx: "dj.nx"; ny: "dj.ny"; nz: "dj.nz"; oa: "dj.oa"; ob: "dj.ob"; oc: "dj.oc"; od: "dj.od"; oe: "dj.oe"; of: "dj.of"; og: "dj.og"; oh: "dj.oh"; oi: "dj.oi"; oj: "dj.oj"; ok: "dj.ok"; ol: "dj.ol"; om: "dj.om"; on: "dj.on"; oo: "dj.oo"; op: "dj.op"; oq: "dj.oq"; or: "dj.or"; os: "dj.os"; ot: "dj.ot"; ou: "dj.ou"; ov: "dj.ov"; ow: "dj.ow"; ox: "dj.ox"; oy: "dj.oy"; oz: "dj.oz"; pa: "dj.pa"; pb: "dj.pb"; pc: "dj.pc"; pd: "dj.pd"; pe: "dj.pe"; pf: "dj.pf"; pg: "dj.pg"; ph: "dj.ph"; pi: "dj.pi"; pj: "dj.pj"; pk: "dj.pk"; pl: "dj.pl"; pm: "dj.pm"; pn: "dj.pn"; po: "dj.po"; pp: "dj.pp"; pq: "dj.pq"; pr: "dj.pr"; ps: "dj.ps"; pt: "dj.pt"; pu: "dj.pu"; pv: "dj.pv"; pw: "dj.pw"; px: "dj.px"; py: "dj.py"; pz: "dj.pz"; qa: "dj.qa"; qb: "dj.qb"; qc: "dj.qc"; qd: "dj.qd"; qe: "dj.qe"; qf: "dj.qf"; qg: "dj.qg"; qh: "dj.qh"; qi: "dj.qi"; qj: "dj.qj"; qk: "dj.qk"; ql: "dj.ql"; qm: "dj.qm"; qn: "dj.qn"; qo: "dj.qo"; qp: "dj.qp"; qq: "dj.qq"; qr: "dj.qr"; qs: "dj.qs"; qt: "dj.qt"; qu: "dj.qu"; qv: "dj.qv"; qw: "dj.qw"; qx: "dj.qx"; qy: "dj.qy"; qz: "dj.qz"; ra: "dj.ra"; rb: "dj.rb"; rc: "dj.rc"; rd: "dj.rd"; re: "dj.re"; rf: "dj.rf"; rg: "dj.rg"; rh: "dj.rh"; ri: "dj.ri"; rj: "dj.rj"; rk: "dj.rk"; rl: "dj.rl"; rm: "dj.rm"; rn: "dj.rn"; ro: "dj.ro"; rp: "dj.rp"; rq: "dj.rq"; rr: "dj.rr"; rs: "dj.rs"; rt: "dj.rt"; ru: "dj.ru"; rv: "dj.rv"; rw: "dj.rw"; rx: "dj.rx"; ry: "dj.ry"; rz: "dj.rz"; sa: "dj.sa"; sb: "dj.sb"; sc: "dj.sc"; sd: "dj.sd"; se: "dj.se"; sf: "dj.sf"; sg: "dj.sg"; sh: "dj.sh"; si: "dj.si"; sj: "dj.sj"; sk: "dj.sk"; sl: "dj.sl"; sm: "dj.sm"; sn: "dj.sn"; so: "dj.so"; sp: "dj.sp"; sq: "dj.sq"; sr: "dj.sr"; ss: "dj.ss"; st: "dj.st"; su: "dj.su"; sv: "dj.sv"; sw: "dj.sw"; sx: "dj.sx"; sy: "dj.sy"; sz: "dj.sz"; ta: "dj.ta"; tb: "dj.tb"; tc: "dj.tc"; td: "dj.td"; te: "dj.te"; tf: "dj.tf"; tg: "dj.tg"; th: "dj.th"; ti: "dj.ti"; tj: "dj.tj"; tk: "dj.tk"; tl: "dj.tl"; tm: "dj.tm"; tn: "dj.tn"; to: "dj.to"; tp: "dj.tp"; tq: "dj.tq"; tr: "dj.tr"; ts: "dj.ts"; tt: "dj.tt"; tu: "dj.tu"; tv: "dj.tv"; tw: "dj.tw"; tx: "dj.tx"; ty: "dj.ty"; tz: "dj.tz"; ua: "dj.ua"; ub: "dj.ub"; uc: "dj.uc"; ud: "dj.ud"; ue: "dj.ue"; uf: "dj.uf"; ug: "dj.ug"; uh: "dj.uh"; ui: "dj.ui"; uj: "dj.uj"; uk: "dj.uk"; ul: "dj.ul"; um: "dj.um"; un: "dj.un"; uo: "dj.uo"; up: "dj.up"; uq: "dj.uq"; ur: "dj.ur"; us: "dj.us"; ut: "dj.ut"; uu: "dj.uu"; uv: "dj.uv"; uw: "dj.uw"; ux: "dj.ux"; uy: "dj.uy"; uz: "dj.uz"; va: "dj.va"; vb: "dj.vb"; vc: "dj.vc"; vd: "dj.vd"; ve: "dj.ve"; vf: "dj.vf"; vg: "dj.vg"; vh: "dj.vh"; vi: "dj.vi"; vj: "dj.vj"; vk: "dj.vk"; vl: "dj.vl"; vm: "dj.vm"; vn: "dj.vn"; vo: "dj.vo"; vp: "dj.vp"; vq: "dj.vq"; vr: "dj.vr"; vs: "dj.vs"; vt: "dj.vt"; vu: "dj.vu"; vv: "dj.vv"; vw: "dj.vw"; vx: "dj.vx"; vy: "dj.vy"; vz: "dj.vz"; wa: "dj.wa"; wb: "dj.wb"; wc: "dj.wc"; wd: "dj.wd"; we: "dj.we"; wf: "dj.wf"; wg: "dj.wg"; wh: "dj.wh"; wi: "dj.wi"; wj: "dj.wj"; wk: "dj.wk"; wl: "dj.wl"; wm: "dj.wm"; wn: "dj.wn"; wo: "dj.wo"; wp: "dj.wp"; wq: "dj.wq"; wr: "dj.wr"; ws: "dj.ws"; wt: "dj.wt"; wu: "dj.wu"; wv: "dj.wv"; ww: "dj.ww"; wx: "dj.wx"; wy: "dj.wy"; wz: "dj.wz"; xa: "dj.xa"; xb: "dj.xb"; xc: "dj.xc"; xd: "dj.xd"; xe: "dj.xe"; xf: "dj.xf"; xg: "dj.xg"; xh: "dj.xh"; xi: "dj.xi"; xj: "dj.xj"; xk: "dj.xk"; xl: "dj.xl"; xm: "dj.xm"; xn: "dj.xn"; xo: "dj.xo"; xp: "dj.xp"; xq: "dj.xq"; xr: "dj.xr"; xs: "dj.xs"; xt: "dj.xt"; xu: "dj.xu"; xv: "dj.xv"; xw: "dj.xw"; xx: "dj.xx"; xy: "dj.xy"; xz: "dj.xz"; ya: "dj.ya"; yb: "dj.yb"; yc: "dj.yc"; yd: "dj.yd"; ye: "dj.ye"; yf: "dj.yf"; yg: "dj.yg"; yh: "dj.yh"; yi: "dj.yi"; yj: "dj.yj"; yk: "dj.yk"; yl: "dj.yl"; ym: "dj.ym"; yn: "dj.yn"; yo: "dj.yo"; yp: "dj.yp"; yq: "dj.yq"; yr: "dj.yr"; ys: "dj.ys"; yt: "dj.yt"; yu: "dj.yu"; yv: "dj.yv"; yw: "dj.yw"; yx: "dj.yx"; yy: "dj.yy"; yz: "dj.yz"; za: "dj.za"; zb: "dj.zb"; zc: "dj.zc"; zd: "dj.zd"; ze: "dj.ze"; zf: "dj.zf"; zg: "dj.zg"; zh: "dj.zh"; zi: "dj.zi"; zj: "dj.zj"; zk: "dj.zk"; zl: "dj.zl"; zm: "dj.zm"; zn: "dj.zn"; zo: "dj.zo"; zp: "dj.zp"; zq: "dj.zq"; zr: "dj.zr"; zs: "dj.zs"; zt: "dj.zt"; zu: "dj.zu"; zv: "dj.zv"; zw: "dj.zw"; zx: "dj.zx"; zy: "dj.zy"; zz: "dj.zz"; }; dk: { aa: "dk.aa"; ab: "dk.ab"; ac: "dk.ac"; ad: "dk.ad"; ae: "dk.ae"; af: "dk.af"; ag: "dk.ag"; ah: "dk.ah"; ai: "dk.ai"; aj: "dk.aj"; ak: "dk.ak"; al: "dk.al"; am: "dk.am"; an: "dk.an"; ao: "dk.ao"; ap: "dk.ap"; aq: "dk.aq"; ar: "dk.ar"; as: "dk.as"; at: "dk.at"; au: "dk.au"; av: "dk.av"; aw: "dk.aw"; ax: "dk.ax"; ay: "dk.ay"; az: "dk.az"; ba: "dk.ba"; bb: "dk.bb"; bc: "dk.bc"; bd: "dk.bd"; be: "dk.be"; bf: "dk.bf"; bg: "dk.bg"; bh: "dk.bh"; bi: "dk.bi"; bj: "dk.bj"; bk: "dk.bk"; bl: "dk.bl"; bm: "dk.bm"; bn: "dk.bn"; bo: "dk.bo"; bp: "dk.bp"; bq: "dk.bq"; br: "dk.br"; bs: "dk.bs"; bt: "dk.bt"; bu: "dk.bu"; bv: "dk.bv"; bw: "dk.bw"; bx: "dk.bx"; by: "dk.by"; bz: "dk.bz"; ca: "dk.ca"; cb: "dk.cb"; cc: "dk.cc"; cd: "dk.cd"; ce: "dk.ce"; cf: "dk.cf"; cg: "dk.cg"; ch: "dk.ch"; ci: "dk.ci"; cj: "dk.cj"; ck: "dk.ck"; cl: "dk.cl"; cm: "dk.cm"; cn: "dk.cn"; co: "dk.co"; cp: "dk.cp"; cq: "dk.cq"; cr: "dk.cr"; cs: "dk.cs"; ct: "dk.ct"; cu: "dk.cu"; cv: "dk.cv"; cw: "dk.cw"; cx: "dk.cx"; cy: "dk.cy"; cz: "dk.cz"; da: "dk.da"; db: "dk.db"; dc: "dk.dc"; dd: "dk.dd"; de: "dk.de"; df: "dk.df"; dg: "dk.dg"; dh: "dk.dh"; di: "dk.di"; dj: "dk.dj"; dk: "dk.dk"; dl: "dk.dl"; dm: "dk.dm"; dn: "dk.dn"; do: "dk.do"; dp: "dk.dp"; dq: "dk.dq"; dr: "dk.dr"; ds: "dk.ds"; dt: "dk.dt"; du: "dk.du"; dv: "dk.dv"; dw: "dk.dw"; dx: "dk.dx"; dy: "dk.dy"; dz: "dk.dz"; ea: "dk.ea"; eb: "dk.eb"; ec: "dk.ec"; ed: "dk.ed"; ee: "dk.ee"; ef: "dk.ef"; eg: "dk.eg"; eh: "dk.eh"; ei: "dk.ei"; ej: "dk.ej"; ek: "dk.ek"; el: "dk.el"; em: "dk.em"; en: "dk.en"; eo: "dk.eo"; ep: "dk.ep"; eq: "dk.eq"; er: "dk.er"; es: "dk.es"; et: "dk.et"; eu: "dk.eu"; ev: "dk.ev"; ew: "dk.ew"; ex: "dk.ex"; ey: "dk.ey"; ez: "dk.ez"; fa: "dk.fa"; fb: "dk.fb"; fc: "dk.fc"; fd: "dk.fd"; fe: "dk.fe"; ff: "dk.ff"; fg: "dk.fg"; fh: "dk.fh"; fi: "dk.fi"; fj: "dk.fj"; fk: "dk.fk"; fl: "dk.fl"; fm: "dk.fm"; fn: "dk.fn"; fo: "dk.fo"; fp: "dk.fp"; fq: "dk.fq"; fr: "dk.fr"; fs: "dk.fs"; ft: "dk.ft"; fu: "dk.fu"; fv: "dk.fv"; fw: "dk.fw"; fx: "dk.fx"; fy: "dk.fy"; fz: "dk.fz"; ga: "dk.ga"; gb: "dk.gb"; gc: "dk.gc"; gd: "dk.gd"; ge: "dk.ge"; gf: "dk.gf"; gg: "dk.gg"; gh: "dk.gh"; gi: "dk.gi"; gj: "dk.gj"; gk: "dk.gk"; gl: "dk.gl"; gm: "dk.gm"; gn: "dk.gn"; go: "dk.go"; gp: "dk.gp"; gq: "dk.gq"; gr: "dk.gr"; gs: "dk.gs"; gt: "dk.gt"; gu: "dk.gu"; gv: "dk.gv"; gw: "dk.gw"; gx: "dk.gx"; gy: "dk.gy"; gz: "dk.gz"; ha: "dk.ha"; hb: "dk.hb"; hc: "dk.hc"; hd: "dk.hd"; he: "dk.he"; hf: "dk.hf"; hg: "dk.hg"; hh: "dk.hh"; hi: "dk.hi"; hj: "dk.hj"; hk: "dk.hk"; hl: "dk.hl"; hm: "dk.hm"; hn: "dk.hn"; ho: "dk.ho"; hp: "dk.hp"; hq: "dk.hq"; hr: "dk.hr"; hs: "dk.hs"; ht: "dk.ht"; hu: "dk.hu"; hv: "dk.hv"; hw: "dk.hw"; hx: "dk.hx"; hy: "dk.hy"; hz: "dk.hz"; ia: "dk.ia"; ib: "dk.ib"; ic: "dk.ic"; id: "dk.id"; ie: "dk.ie"; if: "dk.if"; ig: "dk.ig"; ih: "dk.ih"; ii: "dk.ii"; ij: "dk.ij"; ik: "dk.ik"; il: "dk.il"; im: "dk.im"; in: "dk.in"; io: "dk.io"; ip: "dk.ip"; iq: "dk.iq"; ir: "dk.ir"; is: "dk.is"; it: "dk.it"; iu: "dk.iu"; iv: "dk.iv"; iw: "dk.iw"; ix: "dk.ix"; iy: "dk.iy"; iz: "dk.iz"; ja: "dk.ja"; jb: "dk.jb"; jc: "dk.jc"; jd: "dk.jd"; je: "dk.je"; jf: "dk.jf"; jg: "dk.jg"; jh: "dk.jh"; ji: "dk.ji"; jj: "dk.jj"; jk: "dk.jk"; jl: "dk.jl"; jm: "dk.jm"; jn: "dk.jn"; jo: "dk.jo"; jp: "dk.jp"; jq: "dk.jq"; jr: "dk.jr"; js: "dk.js"; jt: "dk.jt"; ju: "dk.ju"; jv: "dk.jv"; jw: "dk.jw"; jx: "dk.jx"; jy: "dk.jy"; jz: "dk.jz"; ka: "dk.ka"; kb: "dk.kb"; kc: "dk.kc"; kd: "dk.kd"; ke: "dk.ke"; kf: "dk.kf"; kg: "dk.kg"; kh: "dk.kh"; ki: "dk.ki"; kj: "dk.kj"; kk: "dk.kk"; kl: "dk.kl"; km: "dk.km"; kn: "dk.kn"; ko: "dk.ko"; kp: "dk.kp"; kq: "dk.kq"; kr: "dk.kr"; ks: "dk.ks"; kt: "dk.kt"; ku: "dk.ku"; kv: "dk.kv"; kw: "dk.kw"; kx: "dk.kx"; ky: "dk.ky"; kz: "dk.kz"; la: "dk.la"; lb: "dk.lb"; lc: "dk.lc"; ld: "dk.ld"; le: "dk.le"; lf: "dk.lf"; lg: "dk.lg"; lh: "dk.lh"; li: "dk.li"; lj: "dk.lj"; lk: "dk.lk"; ll: "dk.ll"; lm: "dk.lm"; ln: "dk.ln"; lo: "dk.lo"; lp: "dk.lp"; lq: "dk.lq"; lr: "dk.lr"; ls: "dk.ls"; lt: "dk.lt"; lu: "dk.lu"; lv: "dk.lv"; lw: "dk.lw"; lx: "dk.lx"; ly: "dk.ly"; lz: "dk.lz"; ma: "dk.ma"; mb: "dk.mb"; mc: "dk.mc"; md: "dk.md"; me: "dk.me"; mf: "dk.mf"; mg: "dk.mg"; mh: "dk.mh"; mi: "dk.mi"; mj: "dk.mj"; mk: "dk.mk"; ml: "dk.ml"; mm: "dk.mm"; mn: "dk.mn"; mo: "dk.mo"; mp: "dk.mp"; mq: "dk.mq"; mr: "dk.mr"; ms: "dk.ms"; mt: "dk.mt"; mu: "dk.mu"; mv: "dk.mv"; mw: "dk.mw"; mx: "dk.mx"; my: "dk.my"; mz: "dk.mz"; na: "dk.na"; nb: "dk.nb"; nc: "dk.nc"; nd: "dk.nd"; ne: "dk.ne"; nf: "dk.nf"; ng: "dk.ng"; nh: "dk.nh"; ni: "dk.ni"; nj: "dk.nj"; nk: "dk.nk"; nl: "dk.nl"; nm: "dk.nm"; nn: "dk.nn"; no: "dk.no"; np: "dk.np"; nq: "dk.nq"; nr: "dk.nr"; ns: "dk.ns"; nt: "dk.nt"; nu: "dk.nu"; nv: "dk.nv"; nw: "dk.nw"; nx: "dk.nx"; ny: "dk.ny"; nz: "dk.nz"; oa: "dk.oa"; ob: "dk.ob"; oc: "dk.oc"; od: "dk.od"; oe: "dk.oe"; of: "dk.of"; og: "dk.og"; oh: "dk.oh"; oi: "dk.oi"; oj: "dk.oj"; ok: "dk.ok"; ol: "dk.ol"; om: "dk.om"; on: "dk.on"; oo: "dk.oo"; op: "dk.op"; oq: "dk.oq"; or: "dk.or"; os: "dk.os"; ot: "dk.ot"; ou: "dk.ou"; ov: "dk.ov"; ow: "dk.ow"; ox: "dk.ox"; oy: "dk.oy"; oz: "dk.oz"; pa: "dk.pa"; pb: "dk.pb"; pc: "dk.pc"; pd: "dk.pd"; pe: "dk.pe"; pf: "dk.pf"; pg: "dk.pg"; ph: "dk.ph"; pi: "dk.pi"; pj: "dk.pj"; pk: "dk.pk"; pl: "dk.pl"; pm: "dk.pm"; pn: "dk.pn"; po: "dk.po"; pp: "dk.pp"; pq: "dk.pq"; pr: "dk.pr"; ps: "dk.ps"; pt: "dk.pt"; pu: "dk.pu"; pv: "dk.pv"; pw: "dk.pw"; px: "dk.px"; py: "dk.py"; pz: "dk.pz"; qa: "dk.qa"; qb: "dk.qb"; qc: "dk.qc"; qd: "dk.qd"; qe: "dk.qe"; qf: "dk.qf"; qg: "dk.qg"; qh: "dk.qh"; qi: "dk.qi"; qj: "dk.qj"; qk: "dk.qk"; ql: "dk.ql"; qm: "dk.qm"; qn: "dk.qn"; qo: "dk.qo"; qp: "dk.qp"; qq: "dk.qq"; qr: "dk.qr"; qs: "dk.qs"; qt: "dk.qt"; qu: "dk.qu"; qv: "dk.qv"; qw: "dk.qw"; qx: "dk.qx"; qy: "dk.qy"; qz: "dk.qz"; ra: "dk.ra"; rb: "dk.rb"; rc: "dk.rc"; rd: "dk.rd"; re: "dk.re"; rf: "dk.rf"; rg: "dk.rg"; rh: "dk.rh"; ri: "dk.ri"; rj: "dk.rj"; rk: "dk.rk"; rl: "dk.rl"; rm: "dk.rm"; rn: "dk.rn"; ro: "dk.ro"; rp: "dk.rp"; rq: "dk.rq"; rr: "dk.rr"; rs: "dk.rs"; rt: "dk.rt"; ru: "dk.ru"; rv: "dk.rv"; rw: "dk.rw"; rx: "dk.rx"; ry: "dk.ry"; rz: "dk.rz"; sa: "dk.sa"; sb: "dk.sb"; sc: "dk.sc"; sd: "dk.sd"; se: "dk.se"; sf: "dk.sf"; sg: "dk.sg"; sh: "dk.sh"; si: "dk.si"; sj: "dk.sj"; sk: "dk.sk"; sl: "dk.sl"; sm: "dk.sm"; sn: "dk.sn"; so: "dk.so"; sp: "dk.sp"; sq: "dk.sq"; sr: "dk.sr"; ss: "dk.ss"; st: "dk.st"; su: "dk.su"; sv: "dk.sv"; sw: "dk.sw"; sx: "dk.sx"; sy: "dk.sy"; sz: "dk.sz"; ta: "dk.ta"; tb: "dk.tb"; tc: "dk.tc"; td: "dk.td"; te: "dk.te"; tf: "dk.tf"; tg: "dk.tg"; th: "dk.th"; ti: "dk.ti"; tj: "dk.tj"; tk: "dk.tk"; tl: "dk.tl"; tm: "dk.tm"; tn: "dk.tn"; to: "dk.to"; tp: "dk.tp"; tq: "dk.tq"; tr: "dk.tr"; ts: "dk.ts"; tt: "dk.tt"; tu: "dk.tu"; tv: "dk.tv"; tw: "dk.tw"; tx: "dk.tx"; ty: "dk.ty"; tz: "dk.tz"; ua: "dk.ua"; ub: "dk.ub"; uc: "dk.uc"; ud: "dk.ud"; ue: "dk.ue"; uf: "dk.uf"; ug: "dk.ug"; uh: "dk.uh"; ui: "dk.ui"; uj: "dk.uj"; uk: "dk.uk"; ul: "dk.ul"; um: "dk.um"; un: "dk.un"; uo: "dk.uo"; up: "dk.up"; uq: "dk.uq"; ur: "dk.ur"; us: "dk.us"; ut: "dk.ut"; uu: "dk.uu"; uv: "dk.uv"; uw: "dk.uw"; ux: "dk.ux"; uy: "dk.uy"; uz: "dk.uz"; va: "dk.va"; vb: "dk.vb"; vc: "dk.vc"; vd: "dk.vd"; ve: "dk.ve"; vf: "dk.vf"; vg: "dk.vg"; vh: "dk.vh"; vi: "dk.vi"; vj: "dk.vj"; vk: "dk.vk"; vl: "dk.vl"; vm: "dk.vm"; vn: "dk.vn"; vo: "dk.vo"; vp: "dk.vp"; vq: "dk.vq"; vr: "dk.vr"; vs: "dk.vs"; vt: "dk.vt"; vu: "dk.vu"; vv: "dk.vv"; vw: "dk.vw"; vx: "dk.vx"; vy: "dk.vy"; vz: "dk.vz"; wa: "dk.wa"; wb: "dk.wb"; wc: "dk.wc"; wd: "dk.wd"; we: "dk.we"; wf: "dk.wf"; wg: "dk.wg"; wh: "dk.wh"; wi: "dk.wi"; wj: "dk.wj"; wk: "dk.wk"; wl: "dk.wl"; wm: "dk.wm"; wn: "dk.wn"; wo: "dk.wo"; wp: "dk.wp"; wq: "dk.wq"; wr: "dk.wr"; ws: "dk.ws"; wt: "dk.wt"; wu: "dk.wu"; wv: "dk.wv"; ww: "dk.ww"; wx: "dk.wx"; wy: "dk.wy"; wz: "dk.wz"; xa: "dk.xa"; xb: "dk.xb"; xc: "dk.xc"; xd: "dk.xd"; xe: "dk.xe"; xf: "dk.xf"; xg: "dk.xg"; xh: "dk.xh"; xi: "dk.xi"; xj: "dk.xj"; xk: "dk.xk"; xl: "dk.xl"; xm: "dk.xm"; xn: "dk.xn"; xo: "dk.xo"; xp: "dk.xp"; xq: "dk.xq"; xr: "dk.xr"; xs: "dk.xs"; xt: "dk.xt"; xu: "dk.xu"; xv: "dk.xv"; xw: "dk.xw"; xx: "dk.xx"; xy: "dk.xy"; xz: "dk.xz"; ya: "dk.ya"; yb: "dk.yb"; yc: "dk.yc"; yd: "dk.yd"; ye: "dk.ye"; yf: "dk.yf"; yg: "dk.yg"; yh: "dk.yh"; yi: "dk.yi"; yj: "dk.yj"; yk: "dk.yk"; yl: "dk.yl"; ym: "dk.ym"; yn: "dk.yn"; yo: "dk.yo"; yp: "dk.yp"; yq: "dk.yq"; yr: "dk.yr"; ys: "dk.ys"; yt: "dk.yt"; yu: "dk.yu"; yv: "dk.yv"; yw: "dk.yw"; yx: "dk.yx"; yy: "dk.yy"; yz: "dk.yz"; za: "dk.za"; zb: "dk.zb"; zc: "dk.zc"; zd: "dk.zd"; ze: "dk.ze"; zf: "dk.zf"; zg: "dk.zg"; zh: "dk.zh"; zi: "dk.zi"; zj: "dk.zj"; zk: "dk.zk"; zl: "dk.zl"; zm: "dk.zm"; zn: "dk.zn"; zo: "dk.zo"; zp: "dk.zp"; zq: "dk.zq"; zr: "dk.zr"; zs: "dk.zs"; zt: "dk.zt"; zu: "dk.zu"; zv: "dk.zv"; zw: "dk.zw"; zx: "dk.zx"; zy: "dk.zy"; zz: "dk.zz"; }; dl: { aa: "dl.aa"; ab: "dl.ab"; ac: "dl.ac"; ad: "dl.ad"; ae: "dl.ae"; af: "dl.af"; ag: "dl.ag"; ah: "dl.ah"; ai: "dl.ai"; aj: "dl.aj"; ak: "dl.ak"; al: "dl.al"; am: "dl.am"; an: "dl.an"; ao: "dl.ao"; ap: "dl.ap"; aq: "dl.aq"; ar: "dl.ar"; as: "dl.as"; at: "dl.at"; au: "dl.au"; av: "dl.av"; aw: "dl.aw"; ax: "dl.ax"; ay: "dl.ay"; az: "dl.az"; ba: "dl.ba"; bb: "dl.bb"; bc: "dl.bc"; bd: "dl.bd"; be: "dl.be"; bf: "dl.bf"; bg: "dl.bg"; bh: "dl.bh"; bi: "dl.bi"; bj: "dl.bj"; bk: "dl.bk"; bl: "dl.bl"; bm: "dl.bm"; bn: "dl.bn"; bo: "dl.bo"; bp: "dl.bp"; bq: "dl.bq"; br: "dl.br"; bs: "dl.bs"; bt: "dl.bt"; bu: "dl.bu"; bv: "dl.bv"; bw: "dl.bw"; bx: "dl.bx"; by: "dl.by"; bz: "dl.bz"; ca: "dl.ca"; cb: "dl.cb"; cc: "dl.cc"; cd: "dl.cd"; ce: "dl.ce"; cf: "dl.cf"; cg: "dl.cg"; ch: "dl.ch"; ci: "dl.ci"; cj: "dl.cj"; ck: "dl.ck"; cl: "dl.cl"; cm: "dl.cm"; cn: "dl.cn"; co: "dl.co"; cp: "dl.cp"; cq: "dl.cq"; cr: "dl.cr"; cs: "dl.cs"; ct: "dl.ct"; cu: "dl.cu"; cv: "dl.cv"; cw: "dl.cw"; cx: "dl.cx"; cy: "dl.cy"; cz: "dl.cz"; da: "dl.da"; db: "dl.db"; dc: "dl.dc"; dd: "dl.dd"; de: "dl.de"; df: "dl.df"; dg: "dl.dg"; dh: "dl.dh"; di: "dl.di"; dj: "dl.dj"; dk: "dl.dk"; dl: "dl.dl"; dm: "dl.dm"; dn: "dl.dn"; do: "dl.do"; dp: "dl.dp"; dq: "dl.dq"; dr: "dl.dr"; ds: "dl.ds"; dt: "dl.dt"; du: "dl.du"; dv: "dl.dv"; dw: "dl.dw"; dx: "dl.dx"; dy: "dl.dy"; dz: "dl.dz"; ea: "dl.ea"; eb: "dl.eb"; ec: "dl.ec"; ed: "dl.ed"; ee: "dl.ee"; ef: "dl.ef"; eg: "dl.eg"; eh: "dl.eh"; ei: "dl.ei"; ej: "dl.ej"; ek: "dl.ek"; el: "dl.el"; em: "dl.em"; en: "dl.en"; eo: "dl.eo"; ep: "dl.ep"; eq: "dl.eq"; er: "dl.er"; es: "dl.es"; et: "dl.et"; eu: "dl.eu"; ev: "dl.ev"; ew: "dl.ew"; ex: "dl.ex"; ey: "dl.ey"; ez: "dl.ez"; fa: "dl.fa"; fb: "dl.fb"; fc: "dl.fc"; fd: "dl.fd"; fe: "dl.fe"; ff: "dl.ff"; fg: "dl.fg"; fh: "dl.fh"; fi: "dl.fi"; fj: "dl.fj"; fk: "dl.fk"; fl: "dl.fl"; fm: "dl.fm"; fn: "dl.fn"; fo: "dl.fo"; fp: "dl.fp"; fq: "dl.fq"; fr: "dl.fr"; fs: "dl.fs"; ft: "dl.ft"; fu: "dl.fu"; fv: "dl.fv"; fw: "dl.fw"; fx: "dl.fx"; fy: "dl.fy"; fz: "dl.fz"; ga: "dl.ga"; gb: "dl.gb"; gc: "dl.gc"; gd: "dl.gd"; ge: "dl.ge"; gf: "dl.gf"; gg: "dl.gg"; gh: "dl.gh"; gi: "dl.gi"; gj: "dl.gj"; gk: "dl.gk"; gl: "dl.gl"; gm: "dl.gm"; gn: "dl.gn"; go: "dl.go"; gp: "dl.gp"; gq: "dl.gq"; gr: "dl.gr"; gs: "dl.gs"; gt: "dl.gt"; gu: "dl.gu"; gv: "dl.gv"; gw: "dl.gw"; gx: "dl.gx"; gy: "dl.gy"; gz: "dl.gz"; ha: "dl.ha"; hb: "dl.hb"; hc: "dl.hc"; hd: "dl.hd"; he: "dl.he"; hf: "dl.hf"; hg: "dl.hg"; hh: "dl.hh"; hi: "dl.hi"; hj: "dl.hj"; hk: "dl.hk"; hl: "dl.hl"; hm: "dl.hm"; hn: "dl.hn"; ho: "dl.ho"; hp: "dl.hp"; hq: "dl.hq"; hr: "dl.hr"; hs: "dl.hs"; ht: "dl.ht"; hu: "dl.hu"; hv: "dl.hv"; hw: "dl.hw"; hx: "dl.hx"; hy: "dl.hy"; hz: "dl.hz"; ia: "dl.ia"; ib: "dl.ib"; ic: "dl.ic"; id: "dl.id"; ie: "dl.ie"; if: "dl.if"; ig: "dl.ig"; ih: "dl.ih"; ii: "dl.ii"; ij: "dl.ij"; ik: "dl.ik"; il: "dl.il"; im: "dl.im"; in: "dl.in"; io: "dl.io"; ip: "dl.ip"; iq: "dl.iq"; ir: "dl.ir"; is: "dl.is"; it: "dl.it"; iu: "dl.iu"; iv: "dl.iv"; iw: "dl.iw"; ix: "dl.ix"; iy: "dl.iy"; iz: "dl.iz"; ja: "dl.ja"; jb: "dl.jb"; jc: "dl.jc"; jd: "dl.jd"; je: "dl.je"; jf: "dl.jf"; jg: "dl.jg"; jh: "dl.jh"; ji: "dl.ji"; jj: "dl.jj"; jk: "dl.jk"; jl: "dl.jl"; jm: "dl.jm"; jn: "dl.jn"; jo: "dl.jo"; jp: "dl.jp"; jq: "dl.jq"; jr: "dl.jr"; js: "dl.js"; jt: "dl.jt"; ju: "dl.ju"; jv: "dl.jv"; jw: "dl.jw"; jx: "dl.jx"; jy: "dl.jy"; jz: "dl.jz"; ka: "dl.ka"; kb: "dl.kb"; kc: "dl.kc"; kd: "dl.kd"; ke: "dl.ke"; kf: "dl.kf"; kg: "dl.kg"; kh: "dl.kh"; ki: "dl.ki"; kj: "dl.kj"; kk: "dl.kk"; kl: "dl.kl"; km: "dl.km"; kn: "dl.kn"; ko: "dl.ko"; kp: "dl.kp"; kq: "dl.kq"; kr: "dl.kr"; ks: "dl.ks"; kt: "dl.kt"; ku: "dl.ku"; kv: "dl.kv"; kw: "dl.kw"; kx: "dl.kx"; ky: "dl.ky"; kz: "dl.kz"; la: "dl.la"; lb: "dl.lb"; lc: "dl.lc"; ld: "dl.ld"; le: "dl.le"; lf: "dl.lf"; lg: "dl.lg"; lh: "dl.lh"; li: "dl.li"; lj: "dl.lj"; lk: "dl.lk"; ll: "dl.ll"; lm: "dl.lm"; ln: "dl.ln"; lo: "dl.lo"; lp: "dl.lp"; lq: "dl.lq"; lr: "dl.lr"; ls: "dl.ls"; lt: "dl.lt"; lu: "dl.lu"; lv: "dl.lv"; lw: "dl.lw"; lx: "dl.lx"; ly: "dl.ly"; lz: "dl.lz"; ma: "dl.ma"; mb: "dl.mb"; mc: "dl.mc"; md: "dl.md"; me: "dl.me"; mf: "dl.mf"; mg: "dl.mg"; mh: "dl.mh"; mi: "dl.mi"; mj: "dl.mj"; mk: "dl.mk"; ml: "dl.ml"; mm: "dl.mm"; mn: "dl.mn"; mo: "dl.mo"; mp: "dl.mp"; mq: "dl.mq"; mr: "dl.mr"; ms: "dl.ms"; mt: "dl.mt"; mu: "dl.mu"; mv: "dl.mv"; mw: "dl.mw"; mx: "dl.mx"; my: "dl.my"; mz: "dl.mz"; na: "dl.na"; nb: "dl.nb"; nc: "dl.nc"; nd: "dl.nd"; ne: "dl.ne"; nf: "dl.nf"; ng: "dl.ng"; nh: "dl.nh"; ni: "dl.ni"; nj: "dl.nj"; nk: "dl.nk"; nl: "dl.nl"; nm: "dl.nm"; nn: "dl.nn"; no: "dl.no"; np: "dl.np"; nq: "dl.nq"; nr: "dl.nr"; ns: "dl.ns"; nt: "dl.nt"; nu: "dl.nu"; nv: "dl.nv"; nw: "dl.nw"; nx: "dl.nx"; ny: "dl.ny"; nz: "dl.nz"; oa: "dl.oa"; ob: "dl.ob"; oc: "dl.oc"; od: "dl.od"; oe: "dl.oe"; of: "dl.of"; og: "dl.og"; oh: "dl.oh"; oi: "dl.oi"; oj: "dl.oj"; ok: "dl.ok"; ol: "dl.ol"; om: "dl.om"; on: "dl.on"; oo: "dl.oo"; op: "dl.op"; oq: "dl.oq"; or: "dl.or"; os: "dl.os"; ot: "dl.ot"; ou: "dl.ou"; ov: "dl.ov"; ow: "dl.ow"; ox: "dl.ox"; oy: "dl.oy"; oz: "dl.oz"; pa: "dl.pa"; pb: "dl.pb"; pc: "dl.pc"; pd: "dl.pd"; pe: "dl.pe"; pf: "dl.pf"; pg: "dl.pg"; ph: "dl.ph"; pi: "dl.pi"; pj: "dl.pj"; pk: "dl.pk"; pl: "dl.pl"; pm: "dl.pm"; pn: "dl.pn"; po: "dl.po"; pp: "dl.pp"; pq: "dl.pq"; pr: "dl.pr"; ps: "dl.ps"; pt: "dl.pt"; pu: "dl.pu"; pv: "dl.pv"; pw: "dl.pw"; px: "dl.px"; py: "dl.py"; pz: "dl.pz"; qa: "dl.qa"; qb: "dl.qb"; qc: "dl.qc"; qd: "dl.qd"; qe: "dl.qe"; qf: "dl.qf"; qg: "dl.qg"; qh: "dl.qh"; qi: "dl.qi"; qj: "dl.qj"; qk: "dl.qk"; ql: "dl.ql"; qm: "dl.qm"; qn: "dl.qn"; qo: "dl.qo"; qp: "dl.qp"; qq: "dl.qq"; qr: "dl.qr"; qs: "dl.qs"; qt: "dl.qt"; qu: "dl.qu"; qv: "dl.qv"; qw: "dl.qw"; qx: "dl.qx"; qy: "dl.qy"; qz: "dl.qz"; ra: "dl.ra"; rb: "dl.rb"; rc: "dl.rc"; rd: "dl.rd"; re: "dl.re"; rf: "dl.rf"; rg: "dl.rg"; rh: "dl.rh"; ri: "dl.ri"; rj: "dl.rj"; rk: "dl.rk"; rl: "dl.rl"; rm: "dl.rm"; rn: "dl.rn"; ro: "dl.ro"; rp: "dl.rp"; rq: "dl.rq"; rr: "dl.rr"; rs: "dl.rs"; rt: "dl.rt"; ru: "dl.ru"; rv: "dl.rv"; rw: "dl.rw"; rx: "dl.rx"; ry: "dl.ry"; rz: "dl.rz"; sa: "dl.sa"; sb: "dl.sb"; sc: "dl.sc"; sd: "dl.sd"; se: "dl.se"; sf: "dl.sf"; sg: "dl.sg"; sh: "dl.sh"; si: "dl.si"; sj: "dl.sj"; sk: "dl.sk"; sl: "dl.sl"; sm: "dl.sm"; sn: "dl.sn"; so: "dl.so"; sp: "dl.sp"; sq: "dl.sq"; sr: "dl.sr"; ss: "dl.ss"; st: "dl.st"; su: "dl.su"; sv: "dl.sv"; sw: "dl.sw"; sx: "dl.sx"; sy: "dl.sy"; sz: "dl.sz"; ta: "dl.ta"; tb: "dl.tb"; tc: "dl.tc"; td: "dl.td"; te: "dl.te"; tf: "dl.tf"; tg: "dl.tg"; th: "dl.th"; ti: "dl.ti"; tj: "dl.tj"; tk: "dl.tk"; tl: "dl.tl"; tm: "dl.tm"; tn: "dl.tn"; to: "dl.to"; tp: "dl.tp"; tq: "dl.tq"; tr: "dl.tr"; ts: "dl.ts"; tt: "dl.tt"; tu: "dl.tu"; tv: "dl.tv"; tw: "dl.tw"; tx: "dl.tx"; ty: "dl.ty"; tz: "dl.tz"; ua: "dl.ua"; ub: "dl.ub"; uc: "dl.uc"; ud: "dl.ud"; ue: "dl.ue"; uf: "dl.uf"; ug: "dl.ug"; uh: "dl.uh"; ui: "dl.ui"; uj: "dl.uj"; uk: "dl.uk"; ul: "dl.ul"; um: "dl.um"; un: "dl.un"; uo: "dl.uo"; up: "dl.up"; uq: "dl.uq"; ur: "dl.ur"; us: "dl.us"; ut: "dl.ut"; uu: "dl.uu"; uv: "dl.uv"; uw: "dl.uw"; ux: "dl.ux"; uy: "dl.uy"; uz: "dl.uz"; va: "dl.va"; vb: "dl.vb"; vc: "dl.vc"; vd: "dl.vd"; ve: "dl.ve"; vf: "dl.vf"; vg: "dl.vg"; vh: "dl.vh"; vi: "dl.vi"; vj: "dl.vj"; vk: "dl.vk"; vl: "dl.vl"; vm: "dl.vm"; vn: "dl.vn"; vo: "dl.vo"; vp: "dl.vp"; vq: "dl.vq"; vr: "dl.vr"; vs: "dl.vs"; vt: "dl.vt"; vu: "dl.vu"; vv: "dl.vv"; vw: "dl.vw"; vx: "dl.vx"; vy: "dl.vy"; vz: "dl.vz"; wa: "dl.wa"; wb: "dl.wb"; wc: "dl.wc"; wd: "dl.wd"; we: "dl.we"; wf: "dl.wf"; wg: "dl.wg"; wh: "dl.wh"; wi: "dl.wi"; wj: "dl.wj"; wk: "dl.wk"; wl: "dl.wl"; wm: "dl.wm"; wn: "dl.wn"; wo: "dl.wo"; wp: "dl.wp"; wq: "dl.wq"; wr: "dl.wr"; ws: "dl.ws"; wt: "dl.wt"; wu: "dl.wu"; wv: "dl.wv"; ww: "dl.ww"; wx: "dl.wx"; wy: "dl.wy"; wz: "dl.wz"; xa: "dl.xa"; xb: "dl.xb"; xc: "dl.xc"; xd: "dl.xd"; xe: "dl.xe"; xf: "dl.xf"; xg: "dl.xg"; xh: "dl.xh"; xi: "dl.xi"; xj: "dl.xj"; xk: "dl.xk"; xl: "dl.xl"; xm: "dl.xm"; xn: "dl.xn"; xo: "dl.xo"; xp: "dl.xp"; xq: "dl.xq"; xr: "dl.xr"; xs: "dl.xs"; xt: "dl.xt"; xu: "dl.xu"; xv: "dl.xv"; xw: "dl.xw"; xx: "dl.xx"; xy: "dl.xy"; xz: "dl.xz"; ya: "dl.ya"; yb: "dl.yb"; yc: "dl.yc"; yd: "dl.yd"; ye: "dl.ye"; yf: "dl.yf"; yg: "dl.yg"; yh: "dl.yh"; yi: "dl.yi"; yj: "dl.yj"; yk: "dl.yk"; yl: "dl.yl"; ym: "dl.ym"; yn: "dl.yn"; yo: "dl.yo"; yp: "dl.yp"; yq: "dl.yq"; yr: "dl.yr"; ys: "dl.ys"; yt: "dl.yt"; yu: "dl.yu"; yv: "dl.yv"; yw: "dl.yw"; yx: "dl.yx"; yy: "dl.yy"; yz: "dl.yz"; za: "dl.za"; zb: "dl.zb"; zc: "dl.zc"; zd: "dl.zd"; ze: "dl.ze"; zf: "dl.zf"; zg: "dl.zg"; zh: "dl.zh"; zi: "dl.zi"; zj: "dl.zj"; zk: "dl.zk"; zl: "dl.zl"; zm: "dl.zm"; zn: "dl.zn"; zo: "dl.zo"; zp: "dl.zp"; zq: "dl.zq"; zr: "dl.zr"; zs: "dl.zs"; zt: "dl.zt"; zu: "dl.zu"; zv: "dl.zv"; zw: "dl.zw"; zx: "dl.zx"; zy: "dl.zy"; zz: "dl.zz"; }; dm: { aa: "dm.aa"; ab: "dm.ab"; ac: "dm.ac"; ad: "dm.ad"; ae: "dm.ae"; af: "dm.af"; ag: "dm.ag"; ah: "dm.ah"; ai: "dm.ai"; aj: "dm.aj"; ak: "dm.ak"; al: "dm.al"; am: "dm.am"; an: "dm.an"; ao: "dm.ao"; ap: "dm.ap"; aq: "dm.aq"; ar: "dm.ar"; as: "dm.as"; at: "dm.at"; au: "dm.au"; av: "dm.av"; aw: "dm.aw"; ax: "dm.ax"; ay: "dm.ay"; az: "dm.az"; ba: "dm.ba"; bb: "dm.bb"; bc: "dm.bc"; bd: "dm.bd"; be: "dm.be"; bf: "dm.bf"; bg: "dm.bg"; bh: "dm.bh"; bi: "dm.bi"; bj: "dm.bj"; bk: "dm.bk"; bl: "dm.bl"; bm: "dm.bm"; bn: "dm.bn"; bo: "dm.bo"; bp: "dm.bp"; bq: "dm.bq"; br: "dm.br"; bs: "dm.bs"; bt: "dm.bt"; bu: "dm.bu"; bv: "dm.bv"; bw: "dm.bw"; bx: "dm.bx"; by: "dm.by"; bz: "dm.bz"; ca: "dm.ca"; cb: "dm.cb"; cc: "dm.cc"; cd: "dm.cd"; ce: "dm.ce"; cf: "dm.cf"; cg: "dm.cg"; ch: "dm.ch"; ci: "dm.ci"; cj: "dm.cj"; ck: "dm.ck"; cl: "dm.cl"; cm: "dm.cm"; cn: "dm.cn"; co: "dm.co"; cp: "dm.cp"; cq: "dm.cq"; cr: "dm.cr"; cs: "dm.cs"; ct: "dm.ct"; cu: "dm.cu"; cv: "dm.cv"; cw: "dm.cw"; cx: "dm.cx"; cy: "dm.cy"; cz: "dm.cz"; da: "dm.da"; db: "dm.db"; dc: "dm.dc"; dd: "dm.dd"; de: "dm.de"; df: "dm.df"; dg: "dm.dg"; dh: "dm.dh"; di: "dm.di"; dj: "dm.dj"; dk: "dm.dk"; dl: "dm.dl"; dm: "dm.dm"; dn: "dm.dn"; do: "dm.do"; dp: "dm.dp"; dq: "dm.dq"; dr: "dm.dr"; ds: "dm.ds"; dt: "dm.dt"; du: "dm.du"; dv: "dm.dv"; dw: "dm.dw"; dx: "dm.dx"; dy: "dm.dy"; dz: "dm.dz"; ea: "dm.ea"; eb: "dm.eb"; ec: "dm.ec"; ed: "dm.ed"; ee: "dm.ee"; ef: "dm.ef"; eg: "dm.eg"; eh: "dm.eh"; ei: "dm.ei"; ej: "dm.ej"; ek: "dm.ek"; el: "dm.el"; em: "dm.em"; en: "dm.en"; eo: "dm.eo"; ep: "dm.ep"; eq: "dm.eq"; er: "dm.er"; es: "dm.es"; et: "dm.et"; eu: "dm.eu"; ev: "dm.ev"; ew: "dm.ew"; ex: "dm.ex"; ey: "dm.ey"; ez: "dm.ez"; fa: "dm.fa"; fb: "dm.fb"; fc: "dm.fc"; fd: "dm.fd"; fe: "dm.fe"; ff: "dm.ff"; fg: "dm.fg"; fh: "dm.fh"; fi: "dm.fi"; fj: "dm.fj"; fk: "dm.fk"; fl: "dm.fl"; fm: "dm.fm"; fn: "dm.fn"; fo: "dm.fo"; fp: "dm.fp"; fq: "dm.fq"; fr: "dm.fr"; fs: "dm.fs"; ft: "dm.ft"; fu: "dm.fu"; fv: "dm.fv"; fw: "dm.fw"; fx: "dm.fx"; fy: "dm.fy"; fz: "dm.fz"; ga: "dm.ga"; gb: "dm.gb"; gc: "dm.gc"; gd: "dm.gd"; ge: "dm.ge"; gf: "dm.gf"; gg: "dm.gg"; gh: "dm.gh"; gi: "dm.gi"; gj: "dm.gj"; gk: "dm.gk"; gl: "dm.gl"; gm: "dm.gm"; gn: "dm.gn"; go: "dm.go"; gp: "dm.gp"; gq: "dm.gq"; gr: "dm.gr"; gs: "dm.gs"; gt: "dm.gt"; gu: "dm.gu"; gv: "dm.gv"; gw: "dm.gw"; gx: "dm.gx"; gy: "dm.gy"; gz: "dm.gz"; ha: "dm.ha"; hb: "dm.hb"; hc: "dm.hc"; hd: "dm.hd"; he: "dm.he"; hf: "dm.hf"; hg: "dm.hg"; hh: "dm.hh"; hi: "dm.hi"; hj: "dm.hj"; hk: "dm.hk"; hl: "dm.hl"; hm: "dm.hm"; hn: "dm.hn"; ho: "dm.ho"; hp: "dm.hp"; hq: "dm.hq"; hr: "dm.hr"; hs: "dm.hs"; ht: "dm.ht"; hu: "dm.hu"; hv: "dm.hv"; hw: "dm.hw"; hx: "dm.hx"; hy: "dm.hy"; hz: "dm.hz"; ia: "dm.ia"; ib: "dm.ib"; ic: "dm.ic"; id: "dm.id"; ie: "dm.ie"; if: "dm.if"; ig: "dm.ig"; ih: "dm.ih"; ii: "dm.ii"; ij: "dm.ij"; ik: "dm.ik"; il: "dm.il"; im: "dm.im"; in: "dm.in"; io: "dm.io"; ip: "dm.ip"; iq: "dm.iq"; ir: "dm.ir"; is: "dm.is"; it: "dm.it"; iu: "dm.iu"; iv: "dm.iv"; iw: "dm.iw"; ix: "dm.ix"; iy: "dm.iy"; iz: "dm.iz"; ja: "dm.ja"; jb: "dm.jb"; jc: "dm.jc"; jd: "dm.jd"; je: "dm.je"; jf: "dm.jf"; jg: "dm.jg"; jh: "dm.jh"; ji: "dm.ji"; jj: "dm.jj"; jk: "dm.jk"; jl: "dm.jl"; jm: "dm.jm"; jn: "dm.jn"; jo: "dm.jo"; jp: "dm.jp"; jq: "dm.jq"; jr: "dm.jr"; js: "dm.js"; jt: "dm.jt"; ju: "dm.ju"; jv: "dm.jv"; jw: "dm.jw"; jx: "dm.jx"; jy: "dm.jy"; jz: "dm.jz"; ka: "dm.ka"; kb: "dm.kb"; kc: "dm.kc"; kd: "dm.kd"; ke: "dm.ke"; kf: "dm.kf"; kg: "dm.kg"; kh: "dm.kh"; ki: "dm.ki"; kj: "dm.kj"; kk: "dm.kk"; kl: "dm.kl"; km: "dm.km"; kn: "dm.kn"; ko: "dm.ko"; kp: "dm.kp"; kq: "dm.kq"; kr: "dm.kr"; ks: "dm.ks"; kt: "dm.kt"; ku: "dm.ku"; kv: "dm.kv"; kw: "dm.kw"; kx: "dm.kx"; ky: "dm.ky"; kz: "dm.kz"; la: "dm.la"; lb: "dm.lb"; lc: "dm.lc"; ld: "dm.ld"; le: "dm.le"; lf: "dm.lf"; lg: "dm.lg"; lh: "dm.lh"; li: "dm.li"; lj: "dm.lj"; lk: "dm.lk"; ll: "dm.ll"; lm: "dm.lm"; ln: "dm.ln"; lo: "dm.lo"; lp: "dm.lp"; lq: "dm.lq"; lr: "dm.lr"; ls: "dm.ls"; lt: "dm.lt"; lu: "dm.lu"; lv: "dm.lv"; lw: "dm.lw"; lx: "dm.lx"; ly: "dm.ly"; lz: "dm.lz"; ma: "dm.ma"; mb: "dm.mb"; mc: "dm.mc"; md: "dm.md"; me: "dm.me"; mf: "dm.mf"; mg: "dm.mg"; mh: "dm.mh"; mi: "dm.mi"; mj: "dm.mj"; mk: "dm.mk"; ml: "dm.ml"; mm: "dm.mm"; mn: "dm.mn"; mo: "dm.mo"; mp: "dm.mp"; mq: "dm.mq"; mr: "dm.mr"; ms: "dm.ms"; mt: "dm.mt"; mu: "dm.mu"; mv: "dm.mv"; mw: "dm.mw"; mx: "dm.mx"; my: "dm.my"; mz: "dm.mz"; na: "dm.na"; nb: "dm.nb"; nc: "dm.nc"; nd: "dm.nd"; ne: "dm.ne"; nf: "dm.nf"; ng: "dm.ng"; nh: "dm.nh"; ni: "dm.ni"; nj: "dm.nj"; nk: "dm.nk"; nl: "dm.nl"; nm: "dm.nm"; nn: "dm.nn"; no: "dm.no"; np: "dm.np"; nq: "dm.nq"; nr: "dm.nr"; ns: "dm.ns"; nt: "dm.nt"; nu: "dm.nu"; nv: "dm.nv"; nw: "dm.nw"; nx: "dm.nx"; ny: "dm.ny"; nz: "dm.nz"; oa: "dm.oa"; ob: "dm.ob"; oc: "dm.oc"; od: "dm.od"; oe: "dm.oe"; of: "dm.of"; og: "dm.og"; oh: "dm.oh"; oi: "dm.oi"; oj: "dm.oj"; ok: "dm.ok"; ol: "dm.ol"; om: "dm.om"; on: "dm.on"; oo: "dm.oo"; op: "dm.op"; oq: "dm.oq"; or: "dm.or"; os: "dm.os"; ot: "dm.ot"; ou: "dm.ou"; ov: "dm.ov"; ow: "dm.ow"; ox: "dm.ox"; oy: "dm.oy"; oz: "dm.oz"; pa: "dm.pa"; pb: "dm.pb"; pc: "dm.pc"; pd: "dm.pd"; pe: "dm.pe"; pf: "dm.pf"; pg: "dm.pg"; ph: "dm.ph"; pi: "dm.pi"; pj: "dm.pj"; pk: "dm.pk"; pl: "dm.pl"; pm: "dm.pm"; pn: "dm.pn"; po: "dm.po"; pp: "dm.pp"; pq: "dm.pq"; pr: "dm.pr"; ps: "dm.ps"; pt: "dm.pt"; pu: "dm.pu"; pv: "dm.pv"; pw: "dm.pw"; px: "dm.px"; py: "dm.py"; pz: "dm.pz"; qa: "dm.qa"; qb: "dm.qb"; qc: "dm.qc"; qd: "dm.qd"; qe: "dm.qe"; qf: "dm.qf"; qg: "dm.qg"; qh: "dm.qh"; qi: "dm.qi"; qj: "dm.qj"; qk: "dm.qk"; ql: "dm.ql"; qm: "dm.qm"; qn: "dm.qn"; qo: "dm.qo"; qp: "dm.qp"; qq: "dm.qq"; qr: "dm.qr"; qs: "dm.qs"; qt: "dm.qt"; qu: "dm.qu"; qv: "dm.qv"; qw: "dm.qw"; qx: "dm.qx"; qy: "dm.qy"; qz: "dm.qz"; ra: "dm.ra"; rb: "dm.rb"; rc: "dm.rc"; rd: "dm.rd"; re: "dm.re"; rf: "dm.rf"; rg: "dm.rg"; rh: "dm.rh"; ri: "dm.ri"; rj: "dm.rj"; rk: "dm.rk"; rl: "dm.rl"; rm: "dm.rm"; rn: "dm.rn"; ro: "dm.ro"; rp: "dm.rp"; rq: "dm.rq"; rr: "dm.rr"; rs: "dm.rs"; rt: "dm.rt"; ru: "dm.ru"; rv: "dm.rv"; rw: "dm.rw"; rx: "dm.rx"; ry: "dm.ry"; rz: "dm.rz"; sa: "dm.sa"; sb: "dm.sb"; sc: "dm.sc"; sd: "dm.sd"; se: "dm.se"; sf: "dm.sf"; sg: "dm.sg"; sh: "dm.sh"; si: "dm.si"; sj: "dm.sj"; sk: "dm.sk"; sl: "dm.sl"; sm: "dm.sm"; sn: "dm.sn"; so: "dm.so"; sp: "dm.sp"; sq: "dm.sq"; sr: "dm.sr"; ss: "dm.ss"; st: "dm.st"; su: "dm.su"; sv: "dm.sv"; sw: "dm.sw"; sx: "dm.sx"; sy: "dm.sy"; sz: "dm.sz"; ta: "dm.ta"; tb: "dm.tb"; tc: "dm.tc"; td: "dm.td"; te: "dm.te"; tf: "dm.tf"; tg: "dm.tg"; th: "dm.th"; ti: "dm.ti"; tj: "dm.tj"; tk: "dm.tk"; tl: "dm.tl"; tm: "dm.tm"; tn: "dm.tn"; to: "dm.to"; tp: "dm.tp"; tq: "dm.tq"; tr: "dm.tr"; ts: "dm.ts"; tt: "dm.tt"; tu: "dm.tu"; tv: "dm.tv"; tw: "dm.tw"; tx: "dm.tx"; ty: "dm.ty"; tz: "dm.tz"; ua: "dm.ua"; ub: "dm.ub"; uc: "dm.uc"; ud: "dm.ud"; ue: "dm.ue"; uf: "dm.uf"; ug: "dm.ug"; uh: "dm.uh"; ui: "dm.ui"; uj: "dm.uj"; uk: "dm.uk"; ul: "dm.ul"; um: "dm.um"; un: "dm.un"; uo: "dm.uo"; up: "dm.up"; uq: "dm.uq"; ur: "dm.ur"; us: "dm.us"; ut: "dm.ut"; uu: "dm.uu"; uv: "dm.uv"; uw: "dm.uw"; ux: "dm.ux"; uy: "dm.uy"; uz: "dm.uz"; va: "dm.va"; vb: "dm.vb"; vc: "dm.vc"; vd: "dm.vd"; ve: "dm.ve"; vf: "dm.vf"; vg: "dm.vg"; vh: "dm.vh"; vi: "dm.vi"; vj: "dm.vj"; vk: "dm.vk"; vl: "dm.vl"; vm: "dm.vm"; vn: "dm.vn"; vo: "dm.vo"; vp: "dm.vp"; vq: "dm.vq"; vr: "dm.vr"; vs: "dm.vs"; vt: "dm.vt"; vu: "dm.vu"; vv: "dm.vv"; vw: "dm.vw"; vx: "dm.vx"; vy: "dm.vy"; vz: "dm.vz"; wa: "dm.wa"; wb: "dm.wb"; wc: "dm.wc"; wd: "dm.wd"; we: "dm.we"; wf: "dm.wf"; wg: "dm.wg"; wh: "dm.wh"; wi: "dm.wi"; wj: "dm.wj"; wk: "dm.wk"; wl: "dm.wl"; wm: "dm.wm"; wn: "dm.wn"; wo: "dm.wo"; wp: "dm.wp"; wq: "dm.wq"; wr: "dm.wr"; ws: "dm.ws"; wt: "dm.wt"; wu: "dm.wu"; wv: "dm.wv"; ww: "dm.ww"; wx: "dm.wx"; wy: "dm.wy"; wz: "dm.wz"; xa: "dm.xa"; xb: "dm.xb"; xc: "dm.xc"; xd: "dm.xd"; xe: "dm.xe"; xf: "dm.xf"; xg: "dm.xg"; xh: "dm.xh"; xi: "dm.xi"; xj: "dm.xj"; xk: "dm.xk"; xl: "dm.xl"; xm: "dm.xm"; xn: "dm.xn"; xo: "dm.xo"; xp: "dm.xp"; xq: "dm.xq"; xr: "dm.xr"; xs: "dm.xs"; xt: "dm.xt"; xu: "dm.xu"; xv: "dm.xv"; xw: "dm.xw"; xx: "dm.xx"; xy: "dm.xy"; xz: "dm.xz"; ya: "dm.ya"; yb: "dm.yb"; yc: "dm.yc"; yd: "dm.yd"; ye: "dm.ye"; yf: "dm.yf"; yg: "dm.yg"; yh: "dm.yh"; yi: "dm.yi"; yj: "dm.yj"; yk: "dm.yk"; yl: "dm.yl"; ym: "dm.ym"; yn: "dm.yn"; yo: "dm.yo"; yp: "dm.yp"; yq: "dm.yq"; yr: "dm.yr"; ys: "dm.ys"; yt: "dm.yt"; yu: "dm.yu"; yv: "dm.yv"; yw: "dm.yw"; yx: "dm.yx"; yy: "dm.yy"; yz: "dm.yz"; za: "dm.za"; zb: "dm.zb"; zc: "dm.zc"; zd: "dm.zd"; ze: "dm.ze"; zf: "dm.zf"; zg: "dm.zg"; zh: "dm.zh"; zi: "dm.zi"; zj: "dm.zj"; zk: "dm.zk"; zl: "dm.zl"; zm: "dm.zm"; zn: "dm.zn"; zo: "dm.zo"; zp: "dm.zp"; zq: "dm.zq"; zr: "dm.zr"; zs: "dm.zs"; zt: "dm.zt"; zu: "dm.zu"; zv: "dm.zv"; zw: "dm.zw"; zx: "dm.zx"; zy: "dm.zy"; zz: "dm.zz"; }; dn: { aa: "dn.aa"; ab: "dn.ab"; ac: "dn.ac"; ad: "dn.ad"; ae: "dn.ae"; af: "dn.af"; ag: "dn.ag"; ah: "dn.ah"; ai: "dn.ai"; aj: "dn.aj"; ak: "dn.ak"; al: "dn.al"; am: "dn.am"; an: "dn.an"; ao: "dn.ao"; ap: "dn.ap"; aq: "dn.aq"; ar: "dn.ar"; as: "dn.as"; at: "dn.at"; au: "dn.au"; av: "dn.av"; aw: "dn.aw"; ax: "dn.ax"; ay: "dn.ay"; az: "dn.az"; ba: "dn.ba"; bb: "dn.bb"; bc: "dn.bc"; bd: "dn.bd"; be: "dn.be"; bf: "dn.bf"; bg: "dn.bg"; bh: "dn.bh"; bi: "dn.bi"; bj: "dn.bj"; bk: "dn.bk"; bl: "dn.bl"; bm: "dn.bm"; bn: "dn.bn"; bo: "dn.bo"; bp: "dn.bp"; bq: "dn.bq"; br: "dn.br"; bs: "dn.bs"; bt: "dn.bt"; bu: "dn.bu"; bv: "dn.bv"; bw: "dn.bw"; bx: "dn.bx"; by: "dn.by"; bz: "dn.bz"; ca: "dn.ca"; cb: "dn.cb"; cc: "dn.cc"; cd: "dn.cd"; ce: "dn.ce"; cf: "dn.cf"; cg: "dn.cg"; ch: "dn.ch"; ci: "dn.ci"; cj: "dn.cj"; ck: "dn.ck"; cl: "dn.cl"; cm: "dn.cm"; cn: "dn.cn"; co: "dn.co"; cp: "dn.cp"; cq: "dn.cq"; cr: "dn.cr"; cs: "dn.cs"; ct: "dn.ct"; cu: "dn.cu"; cv: "dn.cv"; cw: "dn.cw"; cx: "dn.cx"; cy: "dn.cy"; cz: "dn.cz"; da: "dn.da"; db: "dn.db"; dc: "dn.dc"; dd: "dn.dd"; de: "dn.de"; df: "dn.df"; dg: "dn.dg"; dh: "dn.dh"; di: "dn.di"; dj: "dn.dj"; dk: "dn.dk"; dl: "dn.dl"; dm: "dn.dm"; dn: "dn.dn"; do: "dn.do"; dp: "dn.dp"; dq: "dn.dq"; dr: "dn.dr"; ds: "dn.ds"; dt: "dn.dt"; du: "dn.du"; dv: "dn.dv"; dw: "dn.dw"; dx: "dn.dx"; dy: "dn.dy"; dz: "dn.dz"; ea: "dn.ea"; eb: "dn.eb"; ec: "dn.ec"; ed: "dn.ed"; ee: "dn.ee"; ef: "dn.ef"; eg: "dn.eg"; eh: "dn.eh"; ei: "dn.ei"; ej: "dn.ej"; ek: "dn.ek"; el: "dn.el"; em: "dn.em"; en: "dn.en"; eo: "dn.eo"; ep: "dn.ep"; eq: "dn.eq"; er: "dn.er"; es: "dn.es"; et: "dn.et"; eu: "dn.eu"; ev: "dn.ev"; ew: "dn.ew"; ex: "dn.ex"; ey: "dn.ey"; ez: "dn.ez"; fa: "dn.fa"; fb: "dn.fb"; fc: "dn.fc"; fd: "dn.fd"; fe: "dn.fe"; ff: "dn.ff"; fg: "dn.fg"; fh: "dn.fh"; fi: "dn.fi"; fj: "dn.fj"; fk: "dn.fk"; fl: "dn.fl"; fm: "dn.fm"; fn: "dn.fn"; fo: "dn.fo"; fp: "dn.fp"; fq: "dn.fq"; fr: "dn.fr"; fs: "dn.fs"; ft: "dn.ft"; fu: "dn.fu"; fv: "dn.fv"; fw: "dn.fw"; fx: "dn.fx"; fy: "dn.fy"; fz: "dn.fz"; ga: "dn.ga"; gb: "dn.gb"; gc: "dn.gc"; gd: "dn.gd"; ge: "dn.ge"; gf: "dn.gf"; gg: "dn.gg"; gh: "dn.gh"; gi: "dn.gi"; gj: "dn.gj"; gk: "dn.gk"; gl: "dn.gl"; gm: "dn.gm"; gn: "dn.gn"; go: "dn.go"; gp: "dn.gp"; gq: "dn.gq"; gr: "dn.gr"; gs: "dn.gs"; gt: "dn.gt"; gu: "dn.gu"; gv: "dn.gv"; gw: "dn.gw"; gx: "dn.gx"; gy: "dn.gy"; gz: "dn.gz"; ha: "dn.ha"; hb: "dn.hb"; hc: "dn.hc"; hd: "dn.hd"; he: "dn.he"; hf: "dn.hf"; hg: "dn.hg"; hh: "dn.hh"; hi: "dn.hi"; hj: "dn.hj"; hk: "dn.hk"; hl: "dn.hl"; hm: "dn.hm"; hn: "dn.hn"; ho: "dn.ho"; hp: "dn.hp"; hq: "dn.hq"; hr: "dn.hr"; hs: "dn.hs"; ht: "dn.ht"; hu: "dn.hu"; hv: "dn.hv"; hw: "dn.hw"; hx: "dn.hx"; hy: "dn.hy"; hz: "dn.hz"; ia: "dn.ia"; ib: "dn.ib"; ic: "dn.ic"; id: "dn.id"; ie: "dn.ie"; if: "dn.if"; ig: "dn.ig"; ih: "dn.ih"; ii: "dn.ii"; ij: "dn.ij"; ik: "dn.ik"; il: "dn.il"; im: "dn.im"; in: "dn.in"; io: "dn.io"; ip: "dn.ip"; iq: "dn.iq"; ir: "dn.ir"; is: "dn.is"; it: "dn.it"; iu: "dn.iu"; iv: "dn.iv"; iw: "dn.iw"; ix: "dn.ix"; iy: "dn.iy"; iz: "dn.iz"; ja: "dn.ja"; jb: "dn.jb"; jc: "dn.jc"; jd: "dn.jd"; je: "dn.je"; jf: "dn.jf"; jg: "dn.jg"; jh: "dn.jh"; ji: "dn.ji"; jj: "dn.jj"; jk: "dn.jk"; jl: "dn.jl"; jm: "dn.jm"; jn: "dn.jn"; jo: "dn.jo"; jp: "dn.jp"; jq: "dn.jq"; jr: "dn.jr"; js: "dn.js"; jt: "dn.jt"; ju: "dn.ju"; jv: "dn.jv"; jw: "dn.jw"; jx: "dn.jx"; jy: "dn.jy"; jz: "dn.jz"; ka: "dn.ka"; kb: "dn.kb"; kc: "dn.kc"; kd: "dn.kd"; ke: "dn.ke"; kf: "dn.kf"; kg: "dn.kg"; kh: "dn.kh"; ki: "dn.ki"; kj: "dn.kj"; kk: "dn.kk"; kl: "dn.kl"; km: "dn.km"; kn: "dn.kn"; ko: "dn.ko"; kp: "dn.kp"; kq: "dn.kq"; kr: "dn.kr"; ks: "dn.ks"; kt: "dn.kt"; ku: "dn.ku"; kv: "dn.kv"; kw: "dn.kw"; kx: "dn.kx"; ky: "dn.ky"; kz: "dn.kz"; la: "dn.la"; lb: "dn.lb"; lc: "dn.lc"; ld: "dn.ld"; le: "dn.le"; lf: "dn.lf"; lg: "dn.lg"; lh: "dn.lh"; li: "dn.li"; lj: "dn.lj"; lk: "dn.lk"; ll: "dn.ll"; lm: "dn.lm"; ln: "dn.ln"; lo: "dn.lo"; lp: "dn.lp"; lq: "dn.lq"; lr: "dn.lr"; ls: "dn.ls"; lt: "dn.lt"; lu: "dn.lu"; lv: "dn.lv"; lw: "dn.lw"; lx: "dn.lx"; ly: "dn.ly"; lz: "dn.lz"; ma: "dn.ma"; mb: "dn.mb"; mc: "dn.mc"; md: "dn.md"; me: "dn.me"; mf: "dn.mf"; mg: "dn.mg"; mh: "dn.mh"; mi: "dn.mi"; mj: "dn.mj"; mk: "dn.mk"; ml: "dn.ml"; mm: "dn.mm"; mn: "dn.mn"; mo: "dn.mo"; mp: "dn.mp"; mq: "dn.mq"; mr: "dn.mr"; ms: "dn.ms"; mt: "dn.mt"; mu: "dn.mu"; mv: "dn.mv"; mw: "dn.mw"; mx: "dn.mx"; my: "dn.my"; mz: "dn.mz"; na: "dn.na"; nb: "dn.nb"; nc: "dn.nc"; nd: "dn.nd"; ne: "dn.ne"; nf: "dn.nf"; ng: "dn.ng"; nh: "dn.nh"; ni: "dn.ni"; nj: "dn.nj"; nk: "dn.nk"; nl: "dn.nl"; nm: "dn.nm"; nn: "dn.nn"; no: "dn.no"; np: "dn.np"; nq: "dn.nq"; nr: "dn.nr"; ns: "dn.ns"; nt: "dn.nt"; nu: "dn.nu"; nv: "dn.nv"; nw: "dn.nw"; nx: "dn.nx"; ny: "dn.ny"; nz: "dn.nz"; oa: "dn.oa"; ob: "dn.ob"; oc: "dn.oc"; od: "dn.od"; oe: "dn.oe"; of: "dn.of"; og: "dn.og"; oh: "dn.oh"; oi: "dn.oi"; oj: "dn.oj"; ok: "dn.ok"; ol: "dn.ol"; om: "dn.om"; on: "dn.on"; oo: "dn.oo"; op: "dn.op"; oq: "dn.oq"; or: "dn.or"; os: "dn.os"; ot: "dn.ot"; ou: "dn.ou"; ov: "dn.ov"; ow: "dn.ow"; ox: "dn.ox"; oy: "dn.oy"; oz: "dn.oz"; pa: "dn.pa"; pb: "dn.pb"; pc: "dn.pc"; pd: "dn.pd"; pe: "dn.pe"; pf: "dn.pf"; pg: "dn.pg"; ph: "dn.ph"; pi: "dn.pi"; pj: "dn.pj"; pk: "dn.pk"; pl: "dn.pl"; pm: "dn.pm"; pn: "dn.pn"; po: "dn.po"; pp: "dn.pp"; pq: "dn.pq"; pr: "dn.pr"; ps: "dn.ps"; pt: "dn.pt"; pu: "dn.pu"; pv: "dn.pv"; pw: "dn.pw"; px: "dn.px"; py: "dn.py"; pz: "dn.pz"; qa: "dn.qa"; qb: "dn.qb"; qc: "dn.qc"; qd: "dn.qd"; qe: "dn.qe"; qf: "dn.qf"; qg: "dn.qg"; qh: "dn.qh"; qi: "dn.qi"; qj: "dn.qj"; qk: "dn.qk"; ql: "dn.ql"; qm: "dn.qm"; qn: "dn.qn"; qo: "dn.qo"; qp: "dn.qp"; qq: "dn.qq"; qr: "dn.qr"; qs: "dn.qs"; qt: "dn.qt"; qu: "dn.qu"; qv: "dn.qv"; qw: "dn.qw"; qx: "dn.qx"; qy: "dn.qy"; qz: "dn.qz"; ra: "dn.ra"; rb: "dn.rb"; rc: "dn.rc"; rd: "dn.rd"; re: "dn.re"; rf: "dn.rf"; rg: "dn.rg"; rh: "dn.rh"; ri: "dn.ri"; rj: "dn.rj"; rk: "dn.rk"; rl: "dn.rl"; rm: "dn.rm"; rn: "dn.rn"; ro: "dn.ro"; rp: "dn.rp"; rq: "dn.rq"; rr: "dn.rr"; rs: "dn.rs"; rt: "dn.rt"; ru: "dn.ru"; rv: "dn.rv"; rw: "dn.rw"; rx: "dn.rx"; ry: "dn.ry"; rz: "dn.rz"; sa: "dn.sa"; sb: "dn.sb"; sc: "dn.sc"; sd: "dn.sd"; se: "dn.se"; sf: "dn.sf"; sg: "dn.sg"; sh: "dn.sh"; si: "dn.si"; sj: "dn.sj"; sk: "dn.sk"; sl: "dn.sl"; sm: "dn.sm"; sn: "dn.sn"; so: "dn.so"; sp: "dn.sp"; sq: "dn.sq"; sr: "dn.sr"; ss: "dn.ss"; st: "dn.st"; su: "dn.su"; sv: "dn.sv"; sw: "dn.sw"; sx: "dn.sx"; sy: "dn.sy"; sz: "dn.sz"; ta: "dn.ta"; tb: "dn.tb"; tc: "dn.tc"; td: "dn.td"; te: "dn.te"; tf: "dn.tf"; tg: "dn.tg"; th: "dn.th"; ti: "dn.ti"; tj: "dn.tj"; tk: "dn.tk"; tl: "dn.tl"; tm: "dn.tm"; tn: "dn.tn"; to: "dn.to"; tp: "dn.tp"; tq: "dn.tq"; tr: "dn.tr"; ts: "dn.ts"; tt: "dn.tt"; tu: "dn.tu"; tv: "dn.tv"; tw: "dn.tw"; tx: "dn.tx"; ty: "dn.ty"; tz: "dn.tz"; ua: "dn.ua"; ub: "dn.ub"; uc: "dn.uc"; ud: "dn.ud"; ue: "dn.ue"; uf: "dn.uf"; ug: "dn.ug"; uh: "dn.uh"; ui: "dn.ui"; uj: "dn.uj"; uk: "dn.uk"; ul: "dn.ul"; um: "dn.um"; un: "dn.un"; uo: "dn.uo"; up: "dn.up"; uq: "dn.uq"; ur: "dn.ur"; us: "dn.us"; ut: "dn.ut"; uu: "dn.uu"; uv: "dn.uv"; uw: "dn.uw"; ux: "dn.ux"; uy: "dn.uy"; uz: "dn.uz"; va: "dn.va"; vb: "dn.vb"; vc: "dn.vc"; vd: "dn.vd"; ve: "dn.ve"; vf: "dn.vf"; vg: "dn.vg"; vh: "dn.vh"; vi: "dn.vi"; vj: "dn.vj"; vk: "dn.vk"; vl: "dn.vl"; vm: "dn.vm"; vn: "dn.vn"; vo: "dn.vo"; vp: "dn.vp"; vq: "dn.vq"; vr: "dn.vr"; vs: "dn.vs"; vt: "dn.vt"; vu: "dn.vu"; vv: "dn.vv"; vw: "dn.vw"; vx: "dn.vx"; vy: "dn.vy"; vz: "dn.vz"; wa: "dn.wa"; wb: "dn.wb"; wc: "dn.wc"; wd: "dn.wd"; we: "dn.we"; wf: "dn.wf"; wg: "dn.wg"; wh: "dn.wh"; wi: "dn.wi"; wj: "dn.wj"; wk: "dn.wk"; wl: "dn.wl"; wm: "dn.wm"; wn: "dn.wn"; wo: "dn.wo"; wp: "dn.wp"; wq: "dn.wq"; wr: "dn.wr"; ws: "dn.ws"; wt: "dn.wt"; wu: "dn.wu"; wv: "dn.wv"; ww: "dn.ww"; wx: "dn.wx"; wy: "dn.wy"; wz: "dn.wz"; xa: "dn.xa"; xb: "dn.xb"; xc: "dn.xc"; xd: "dn.xd"; xe: "dn.xe"; xf: "dn.xf"; xg: "dn.xg"; xh: "dn.xh"; xi: "dn.xi"; xj: "dn.xj"; xk: "dn.xk"; xl: "dn.xl"; xm: "dn.xm"; xn: "dn.xn"; xo: "dn.xo"; xp: "dn.xp"; xq: "dn.xq"; xr: "dn.xr"; xs: "dn.xs"; xt: "dn.xt"; xu: "dn.xu"; xv: "dn.xv"; xw: "dn.xw"; xx: "dn.xx"; xy: "dn.xy"; xz: "dn.xz"; ya: "dn.ya"; yb: "dn.yb"; yc: "dn.yc"; yd: "dn.yd"; ye: "dn.ye"; yf: "dn.yf"; yg: "dn.yg"; yh: "dn.yh"; yi: "dn.yi"; yj: "dn.yj"; yk: "dn.yk"; yl: "dn.yl"; ym: "dn.ym"; yn: "dn.yn"; yo: "dn.yo"; yp: "dn.yp"; yq: "dn.yq"; yr: "dn.yr"; ys: "dn.ys"; yt: "dn.yt"; yu: "dn.yu"; yv: "dn.yv"; yw: "dn.yw"; yx: "dn.yx"; yy: "dn.yy"; yz: "dn.yz"; za: "dn.za"; zb: "dn.zb"; zc: "dn.zc"; zd: "dn.zd"; ze: "dn.ze"; zf: "dn.zf"; zg: "dn.zg"; zh: "dn.zh"; zi: "dn.zi"; zj: "dn.zj"; zk: "dn.zk"; zl: "dn.zl"; zm: "dn.zm"; zn: "dn.zn"; zo: "dn.zo"; zp: "dn.zp"; zq: "dn.zq"; zr: "dn.zr"; zs: "dn.zs"; zt: "dn.zt"; zu: "dn.zu"; zv: "dn.zv"; zw: "dn.zw"; zx: "dn.zx"; zy: "dn.zy"; zz: "dn.zz"; }; do: { aa: "do.aa"; ab: "do.ab"; ac: "do.ac"; ad: "do.ad"; ae: "do.ae"; af: "do.af"; ag: "do.ag"; ah: "do.ah"; ai: "do.ai"; aj: "do.aj"; ak: "do.ak"; al: "do.al"; am: "do.am"; an: "do.an"; ao: "do.ao"; ap: "do.ap"; aq: "do.aq"; ar: "do.ar"; as: "do.as"; at: "do.at"; au: "do.au"; av: "do.av"; aw: "do.aw"; ax: "do.ax"; ay: "do.ay"; az: "do.az"; ba: "do.ba"; bb: "do.bb"; bc: "do.bc"; bd: "do.bd"; be: "do.be"; bf: "do.bf"; bg: "do.bg"; bh: "do.bh"; bi: "do.bi"; bj: "do.bj"; bk: "do.bk"; bl: "do.bl"; bm: "do.bm"; bn: "do.bn"; bo: "do.bo"; bp: "do.bp"; bq: "do.bq"; br: "do.br"; bs: "do.bs"; bt: "do.bt"; bu: "do.bu"; bv: "do.bv"; bw: "do.bw"; bx: "do.bx"; by: "do.by"; bz: "do.bz"; ca: "do.ca"; cb: "do.cb"; cc: "do.cc"; cd: "do.cd"; ce: "do.ce"; cf: "do.cf"; cg: "do.cg"; ch: "do.ch"; ci: "do.ci"; cj: "do.cj"; ck: "do.ck"; cl: "do.cl"; cm: "do.cm"; cn: "do.cn"; co: "do.co"; cp: "do.cp"; cq: "do.cq"; cr: "do.cr"; cs: "do.cs"; ct: "do.ct"; cu: "do.cu"; cv: "do.cv"; cw: "do.cw"; cx: "do.cx"; cy: "do.cy"; cz: "do.cz"; da: "do.da"; db: "do.db"; dc: "do.dc"; dd: "do.dd"; de: "do.de"; df: "do.df"; dg: "do.dg"; dh: "do.dh"; di: "do.di"; dj: "do.dj"; dk: "do.dk"; dl: "do.dl"; dm: "do.dm"; dn: "do.dn"; do: "do.do"; dp: "do.dp"; dq: "do.dq"; dr: "do.dr"; ds: "do.ds"; dt: "do.dt"; du: "do.du"; dv: "do.dv"; dw: "do.dw"; dx: "do.dx"; dy: "do.dy"; dz: "do.dz"; ea: "do.ea"; eb: "do.eb"; ec: "do.ec"; ed: "do.ed"; ee: "do.ee"; ef: "do.ef"; eg: "do.eg"; eh: "do.eh"; ei: "do.ei"; ej: "do.ej"; ek: "do.ek"; el: "do.el"; em: "do.em"; en: "do.en"; eo: "do.eo"; ep: "do.ep"; eq: "do.eq"; er: "do.er"; es: "do.es"; et: "do.et"; eu: "do.eu"; ev: "do.ev"; ew: "do.ew"; ex: "do.ex"; ey: "do.ey"; ez: "do.ez"; fa: "do.fa"; fb: "do.fb"; fc: "do.fc"; fd: "do.fd"; fe: "do.fe"; ff: "do.ff"; fg: "do.fg"; fh: "do.fh"; fi: "do.fi"; fj: "do.fj"; fk: "do.fk"; fl: "do.fl"; fm: "do.fm"; fn: "do.fn"; fo: "do.fo"; fp: "do.fp"; fq: "do.fq"; fr: "do.fr"; fs: "do.fs"; ft: "do.ft"; fu: "do.fu"; fv: "do.fv"; fw: "do.fw"; fx: "do.fx"; fy: "do.fy"; fz: "do.fz"; ga: "do.ga"; gb: "do.gb"; gc: "do.gc"; gd: "do.gd"; ge: "do.ge"; gf: "do.gf"; gg: "do.gg"; gh: "do.gh"; gi: "do.gi"; gj: "do.gj"; gk: "do.gk"; gl: "do.gl"; gm: "do.gm"; gn: "do.gn"; go: "do.go"; gp: "do.gp"; gq: "do.gq"; gr: "do.gr"; gs: "do.gs"; gt: "do.gt"; gu: "do.gu"; gv: "do.gv"; gw: "do.gw"; gx: "do.gx"; gy: "do.gy"; gz: "do.gz"; ha: "do.ha"; hb: "do.hb"; hc: "do.hc"; hd: "do.hd"; he: "do.he"; hf: "do.hf"; hg: "do.hg"; hh: "do.hh"; hi: "do.hi"; hj: "do.hj"; hk: "do.hk"; hl: "do.hl"; hm: "do.hm"; hn: "do.hn"; ho: "do.ho"; hp: "do.hp"; hq: "do.hq"; hr: "do.hr"; hs: "do.hs"; ht: "do.ht"; hu: "do.hu"; hv: "do.hv"; hw: "do.hw"; hx: "do.hx"; hy: "do.hy"; hz: "do.hz"; ia: "do.ia"; ib: "do.ib"; ic: "do.ic"; id: "do.id"; ie: "do.ie"; if: "do.if"; ig: "do.ig"; ih: "do.ih"; ii: "do.ii"; ij: "do.ij"; ik: "do.ik"; il: "do.il"; im: "do.im"; in: "do.in"; io: "do.io"; ip: "do.ip"; iq: "do.iq"; ir: "do.ir"; is: "do.is"; it: "do.it"; iu: "do.iu"; iv: "do.iv"; iw: "do.iw"; ix: "do.ix"; iy: "do.iy"; iz: "do.iz"; ja: "do.ja"; jb: "do.jb"; jc: "do.jc"; jd: "do.jd"; je: "do.je"; jf: "do.jf"; jg: "do.jg"; jh: "do.jh"; ji: "do.ji"; jj: "do.jj"; jk: "do.jk"; jl: "do.jl"; jm: "do.jm"; jn: "do.jn"; jo: "do.jo"; jp: "do.jp"; jq: "do.jq"; jr: "do.jr"; js: "do.js"; jt: "do.jt"; ju: "do.ju"; jv: "do.jv"; jw: "do.jw"; jx: "do.jx"; jy: "do.jy"; jz: "do.jz"; ka: "do.ka"; kb: "do.kb"; kc: "do.kc"; kd: "do.kd"; ke: "do.ke"; kf: "do.kf"; kg: "do.kg"; kh: "do.kh"; ki: "do.ki"; kj: "do.kj"; kk: "do.kk"; kl: "do.kl"; km: "do.km"; kn: "do.kn"; ko: "do.ko"; kp: "do.kp"; kq: "do.kq"; kr: "do.kr"; ks: "do.ks"; kt: "do.kt"; ku: "do.ku"; kv: "do.kv"; kw: "do.kw"; kx: "do.kx"; ky: "do.ky"; kz: "do.kz"; la: "do.la"; lb: "do.lb"; lc: "do.lc"; ld: "do.ld"; le: "do.le"; lf: "do.lf"; lg: "do.lg"; lh: "do.lh"; li: "do.li"; lj: "do.lj"; lk: "do.lk"; ll: "do.ll"; lm: "do.lm"; ln: "do.ln"; lo: "do.lo"; lp: "do.lp"; lq: "do.lq"; lr: "do.lr"; ls: "do.ls"; lt: "do.lt"; lu: "do.lu"; lv: "do.lv"; lw: "do.lw"; lx: "do.lx"; ly: "do.ly"; lz: "do.lz"; ma: "do.ma"; mb: "do.mb"; mc: "do.mc"; md: "do.md"; me: "do.me"; mf: "do.mf"; mg: "do.mg"; mh: "do.mh"; mi: "do.mi"; mj: "do.mj"; mk: "do.mk"; ml: "do.ml"; mm: "do.mm"; mn: "do.mn"; mo: "do.mo"; mp: "do.mp"; mq: "do.mq"; mr: "do.mr"; ms: "do.ms"; mt: "do.mt"; mu: "do.mu"; mv: "do.mv"; mw: "do.mw"; mx: "do.mx"; my: "do.my"; mz: "do.mz"; na: "do.na"; nb: "do.nb"; nc: "do.nc"; nd: "do.nd"; ne: "do.ne"; nf: "do.nf"; ng: "do.ng"; nh: "do.nh"; ni: "do.ni"; nj: "do.nj"; nk: "do.nk"; nl: "do.nl"; nm: "do.nm"; nn: "do.nn"; no: "do.no"; np: "do.np"; nq: "do.nq"; nr: "do.nr"; ns: "do.ns"; nt: "do.nt"; nu: "do.nu"; nv: "do.nv"; nw: "do.nw"; nx: "do.nx"; ny: "do.ny"; nz: "do.nz"; oa: "do.oa"; ob: "do.ob"; oc: "do.oc"; od: "do.od"; oe: "do.oe"; of: "do.of"; og: "do.og"; oh: "do.oh"; oi: "do.oi"; oj: "do.oj"; ok: "do.ok"; ol: "do.ol"; om: "do.om"; on: "do.on"; oo: "do.oo"; op: "do.op"; oq: "do.oq"; or: "do.or"; os: "do.os"; ot: "do.ot"; ou: "do.ou"; ov: "do.ov"; ow: "do.ow"; ox: "do.ox"; oy: "do.oy"; oz: "do.oz"; pa: "do.pa"; pb: "do.pb"; pc: "do.pc"; pd: "do.pd"; pe: "do.pe"; pf: "do.pf"; pg: "do.pg"; ph: "do.ph"; pi: "do.pi"; pj: "do.pj"; pk: "do.pk"; pl: "do.pl"; pm: "do.pm"; pn: "do.pn"; po: "do.po"; pp: "do.pp"; pq: "do.pq"; pr: "do.pr"; ps: "do.ps"; pt: "do.pt"; pu: "do.pu"; pv: "do.pv"; pw: "do.pw"; px: "do.px"; py: "do.py"; pz: "do.pz"; qa: "do.qa"; qb: "do.qb"; qc: "do.qc"; qd: "do.qd"; qe: "do.qe"; qf: "do.qf"; qg: "do.qg"; qh: "do.qh"; qi: "do.qi"; qj: "do.qj"; qk: "do.qk"; ql: "do.ql"; qm: "do.qm"; qn: "do.qn"; qo: "do.qo"; qp: "do.qp"; qq: "do.qq"; qr: "do.qr"; qs: "do.qs"; qt: "do.qt"; qu: "do.qu"; qv: "do.qv"; qw: "do.qw"; qx: "do.qx"; qy: "do.qy"; qz: "do.qz"; ra: "do.ra"; rb: "do.rb"; rc: "do.rc"; rd: "do.rd"; re: "do.re"; rf: "do.rf"; rg: "do.rg"; rh: "do.rh"; ri: "do.ri"; rj: "do.rj"; rk: "do.rk"; rl: "do.rl"; rm: "do.rm"; rn: "do.rn"; ro: "do.ro"; rp: "do.rp"; rq: "do.rq"; rr: "do.rr"; rs: "do.rs"; rt: "do.rt"; ru: "do.ru"; rv: "do.rv"; rw: "do.rw"; rx: "do.rx"; ry: "do.ry"; rz: "do.rz"; sa: "do.sa"; sb: "do.sb"; sc: "do.sc"; sd: "do.sd"; se: "do.se"; sf: "do.sf"; sg: "do.sg"; sh: "do.sh"; si: "do.si"; sj: "do.sj"; sk: "do.sk"; sl: "do.sl"; sm: "do.sm"; sn: "do.sn"; so: "do.so"; sp: "do.sp"; sq: "do.sq"; sr: "do.sr"; ss: "do.ss"; st: "do.st"; su: "do.su"; sv: "do.sv"; sw: "do.sw"; sx: "do.sx"; sy: "do.sy"; sz: "do.sz"; ta: "do.ta"; tb: "do.tb"; tc: "do.tc"; td: "do.td"; te: "do.te"; tf: "do.tf"; tg: "do.tg"; th: "do.th"; ti: "do.ti"; tj: "do.tj"; tk: "do.tk"; tl: "do.tl"; tm: "do.tm"; tn: "do.tn"; to: "do.to"; tp: "do.tp"; tq: "do.tq"; tr: "do.tr"; ts: "do.ts"; tt: "do.tt"; tu: "do.tu"; tv: "do.tv"; tw: "do.tw"; tx: "do.tx"; ty: "do.ty"; tz: "do.tz"; ua: "do.ua"; ub: "do.ub"; uc: "do.uc"; ud: "do.ud"; ue: "do.ue"; uf: "do.uf"; ug: "do.ug"; uh: "do.uh"; ui: "do.ui"; uj: "do.uj"; uk: "do.uk"; ul: "do.ul"; um: "do.um"; un: "do.un"; uo: "do.uo"; up: "do.up"; uq: "do.uq"; ur: "do.ur"; us: "do.us"; ut: "do.ut"; uu: "do.uu"; uv: "do.uv"; uw: "do.uw"; ux: "do.ux"; uy: "do.uy"; uz: "do.uz"; va: "do.va"; vb: "do.vb"; vc: "do.vc"; vd: "do.vd"; ve: "do.ve"; vf: "do.vf"; vg: "do.vg"; vh: "do.vh"; vi: "do.vi"; vj: "do.vj"; vk: "do.vk"; vl: "do.vl"; vm: "do.vm"; vn: "do.vn"; vo: "do.vo"; vp: "do.vp"; vq: "do.vq"; vr: "do.vr"; vs: "do.vs"; vt: "do.vt"; vu: "do.vu"; vv: "do.vv"; vw: "do.vw"; vx: "do.vx"; vy: "do.vy"; vz: "do.vz"; wa: "do.wa"; wb: "do.wb"; wc: "do.wc"; wd: "do.wd"; we: "do.we"; wf: "do.wf"; wg: "do.wg"; wh: "do.wh"; wi: "do.wi"; wj: "do.wj"; wk: "do.wk"; wl: "do.wl"; wm: "do.wm"; wn: "do.wn"; wo: "do.wo"; wp: "do.wp"; wq: "do.wq"; wr: "do.wr"; ws: "do.ws"; wt: "do.wt"; wu: "do.wu"; wv: "do.wv"; ww: "do.ww"; wx: "do.wx"; wy: "do.wy"; wz: "do.wz"; xa: "do.xa"; xb: "do.xb"; xc: "do.xc"; xd: "do.xd"; xe: "do.xe"; xf: "do.xf"; xg: "do.xg"; xh: "do.xh"; xi: "do.xi"; xj: "do.xj"; xk: "do.xk"; xl: "do.xl"; xm: "do.xm"; xn: "do.xn"; xo: "do.xo"; xp: "do.xp"; xq: "do.xq"; xr: "do.xr"; xs: "do.xs"; xt: "do.xt"; xu: "do.xu"; xv: "do.xv"; xw: "do.xw"; xx: "do.xx"; xy: "do.xy"; xz: "do.xz"; ya: "do.ya"; yb: "do.yb"; yc: "do.yc"; yd: "do.yd"; ye: "do.ye"; yf: "do.yf"; yg: "do.yg"; yh: "do.yh"; yi: "do.yi"; yj: "do.yj"; yk: "do.yk"; yl: "do.yl"; ym: "do.ym"; yn: "do.yn"; yo: "do.yo"; yp: "do.yp"; yq: "do.yq"; yr: "do.yr"; ys: "do.ys"; yt: "do.yt"; yu: "do.yu"; yv: "do.yv"; yw: "do.yw"; yx: "do.yx"; yy: "do.yy"; yz: "do.yz"; za: "do.za"; zb: "do.zb"; zc: "do.zc"; zd: "do.zd"; ze: "do.ze"; zf: "do.zf"; zg: "do.zg"; zh: "do.zh"; zi: "do.zi"; zj: "do.zj"; zk: "do.zk"; zl: "do.zl"; zm: "do.zm"; zn: "do.zn"; zo: "do.zo"; zp: "do.zp"; zq: "do.zq"; zr: "do.zr"; zs: "do.zs"; zt: "do.zt"; zu: "do.zu"; zv: "do.zv"; zw: "do.zw"; zx: "do.zx"; zy: "do.zy"; zz: "do.zz"; }; dp: { aa: "dp.aa"; ab: "dp.ab"; ac: "dp.ac"; ad: "dp.ad"; ae: "dp.ae"; af: "dp.af"; ag: "dp.ag"; ah: "dp.ah"; ai: "dp.ai"; aj: "dp.aj"; ak: "dp.ak"; al: "dp.al"; am: "dp.am"; an: "dp.an"; ao: "dp.ao"; ap: "dp.ap"; aq: "dp.aq"; ar: "dp.ar"; as: "dp.as"; at: "dp.at"; au: "dp.au"; av: "dp.av"; aw: "dp.aw"; ax: "dp.ax"; ay: "dp.ay"; az: "dp.az"; ba: "dp.ba"; bb: "dp.bb"; bc: "dp.bc"; bd: "dp.bd"; be: "dp.be"; bf: "dp.bf"; bg: "dp.bg"; bh: "dp.bh"; bi: "dp.bi"; bj: "dp.bj"; bk: "dp.bk"; bl: "dp.bl"; bm: "dp.bm"; bn: "dp.bn"; bo: "dp.bo"; bp: "dp.bp"; bq: "dp.bq"; br: "dp.br"; bs: "dp.bs"; bt: "dp.bt"; bu: "dp.bu"; bv: "dp.bv"; bw: "dp.bw"; bx: "dp.bx"; by: "dp.by"; bz: "dp.bz"; ca: "dp.ca"; cb: "dp.cb"; cc: "dp.cc"; cd: "dp.cd"; ce: "dp.ce"; cf: "dp.cf"; cg: "dp.cg"; ch: "dp.ch"; ci: "dp.ci"; cj: "dp.cj"; ck: "dp.ck"; cl: "dp.cl"; cm: "dp.cm"; cn: "dp.cn"; co: "dp.co"; cp: "dp.cp"; cq: "dp.cq"; cr: "dp.cr"; cs: "dp.cs"; ct: "dp.ct"; cu: "dp.cu"; cv: "dp.cv"; cw: "dp.cw"; cx: "dp.cx"; cy: "dp.cy"; cz: "dp.cz"; da: "dp.da"; db: "dp.db"; dc: "dp.dc"; dd: "dp.dd"; de: "dp.de"; df: "dp.df"; dg: "dp.dg"; dh: "dp.dh"; di: "dp.di"; dj: "dp.dj"; dk: "dp.dk"; dl: "dp.dl"; dm: "dp.dm"; dn: "dp.dn"; do: "dp.do"; dp: "dp.dp"; dq: "dp.dq"; dr: "dp.dr"; ds: "dp.ds"; dt: "dp.dt"; du: "dp.du"; dv: "dp.dv"; dw: "dp.dw"; dx: "dp.dx"; dy: "dp.dy"; dz: "dp.dz"; ea: "dp.ea"; eb: "dp.eb"; ec: "dp.ec"; ed: "dp.ed"; ee: "dp.ee"; ef: "dp.ef"; eg: "dp.eg"; eh: "dp.eh"; ei: "dp.ei"; ej: "dp.ej"; ek: "dp.ek"; el: "dp.el"; em: "dp.em"; en: "dp.en"; eo: "dp.eo"; ep: "dp.ep"; eq: "dp.eq"; er: "dp.er"; es: "dp.es"; et: "dp.et"; eu: "dp.eu"; ev: "dp.ev"; ew: "dp.ew"; ex: "dp.ex"; ey: "dp.ey"; ez: "dp.ez"; fa: "dp.fa"; fb: "dp.fb"; fc: "dp.fc"; fd: "dp.fd"; fe: "dp.fe"; ff: "dp.ff"; fg: "dp.fg"; fh: "dp.fh"; fi: "dp.fi"; fj: "dp.fj"; fk: "dp.fk"; fl: "dp.fl"; fm: "dp.fm"; fn: "dp.fn"; fo: "dp.fo"; fp: "dp.fp"; fq: "dp.fq"; fr: "dp.fr"; fs: "dp.fs"; ft: "dp.ft"; fu: "dp.fu"; fv: "dp.fv"; fw: "dp.fw"; fx: "dp.fx"; fy: "dp.fy"; fz: "dp.fz"; ga: "dp.ga"; gb: "dp.gb"; gc: "dp.gc"; gd: "dp.gd"; ge: "dp.ge"; gf: "dp.gf"; gg: "dp.gg"; gh: "dp.gh"; gi: "dp.gi"; gj: "dp.gj"; gk: "dp.gk"; gl: "dp.gl"; gm: "dp.gm"; gn: "dp.gn"; go: "dp.go"; gp: "dp.gp"; gq: "dp.gq"; gr: "dp.gr"; gs: "dp.gs"; gt: "dp.gt"; gu: "dp.gu"; gv: "dp.gv"; gw: "dp.gw"; gx: "dp.gx"; gy: "dp.gy"; gz: "dp.gz"; ha: "dp.ha"; hb: "dp.hb"; hc: "dp.hc"; hd: "dp.hd"; he: "dp.he"; hf: "dp.hf"; hg: "dp.hg"; hh: "dp.hh"; hi: "dp.hi"; hj: "dp.hj"; hk: "dp.hk"; hl: "dp.hl"; hm: "dp.hm"; hn: "dp.hn"; ho: "dp.ho"; hp: "dp.hp"; hq: "dp.hq"; hr: "dp.hr"; hs: "dp.hs"; ht: "dp.ht"; hu: "dp.hu"; hv: "dp.hv"; hw: "dp.hw"; hx: "dp.hx"; hy: "dp.hy"; hz: "dp.hz"; ia: "dp.ia"; ib: "dp.ib"; ic: "dp.ic"; id: "dp.id"; ie: "dp.ie"; if: "dp.if"; ig: "dp.ig"; ih: "dp.ih"; ii: "dp.ii"; ij: "dp.ij"; ik: "dp.ik"; il: "dp.il"; im: "dp.im"; in: "dp.in"; io: "dp.io"; ip: "dp.ip"; iq: "dp.iq"; ir: "dp.ir"; is: "dp.is"; it: "dp.it"; iu: "dp.iu"; iv: "dp.iv"; iw: "dp.iw"; ix: "dp.ix"; iy: "dp.iy"; iz: "dp.iz"; ja: "dp.ja"; jb: "dp.jb"; jc: "dp.jc"; jd: "dp.jd"; je: "dp.je"; jf: "dp.jf"; jg: "dp.jg"; jh: "dp.jh"; ji: "dp.ji"; jj: "dp.jj"; jk: "dp.jk"; jl: "dp.jl"; jm: "dp.jm"; jn: "dp.jn"; jo: "dp.jo"; jp: "dp.jp"; jq: "dp.jq"; jr: "dp.jr"; js: "dp.js"; jt: "dp.jt"; ju: "dp.ju"; jv: "dp.jv"; jw: "dp.jw"; jx: "dp.jx"; jy: "dp.jy"; jz: "dp.jz"; ka: "dp.ka"; kb: "dp.kb"; kc: "dp.kc"; kd: "dp.kd"; ke: "dp.ke"; kf: "dp.kf"; kg: "dp.kg"; kh: "dp.kh"; ki: "dp.ki"; kj: "dp.kj"; kk: "dp.kk"; kl: "dp.kl"; km: "dp.km"; kn: "dp.kn"; ko: "dp.ko"; kp: "dp.kp"; kq: "dp.kq"; kr: "dp.kr"; ks: "dp.ks"; kt: "dp.kt"; ku: "dp.ku"; kv: "dp.kv"; kw: "dp.kw"; kx: "dp.kx"; ky: "dp.ky"; kz: "dp.kz"; la: "dp.la"; lb: "dp.lb"; lc: "dp.lc"; ld: "dp.ld"; le: "dp.le"; lf: "dp.lf"; lg: "dp.lg"; lh: "dp.lh"; li: "dp.li"; lj: "dp.lj"; lk: "dp.lk"; ll: "dp.ll"; lm: "dp.lm"; ln: "dp.ln"; lo: "dp.lo"; lp: "dp.lp"; lq: "dp.lq"; lr: "dp.lr"; ls: "dp.ls"; lt: "dp.lt"; lu: "dp.lu"; lv: "dp.lv"; lw: "dp.lw"; lx: "dp.lx"; ly: "dp.ly"; lz: "dp.lz"; ma: "dp.ma"; mb: "dp.mb"; mc: "dp.mc"; md: "dp.md"; me: "dp.me"; mf: "dp.mf"; mg: "dp.mg"; mh: "dp.mh"; mi: "dp.mi"; mj: "dp.mj"; mk: "dp.mk"; ml: "dp.ml"; mm: "dp.mm"; mn: "dp.mn"; mo: "dp.mo"; mp: "dp.mp"; mq: "dp.mq"; mr: "dp.mr"; ms: "dp.ms"; mt: "dp.mt"; mu: "dp.mu"; mv: "dp.mv"; mw: "dp.mw"; mx: "dp.mx"; my: "dp.my"; mz: "dp.mz"; na: "dp.na"; nb: "dp.nb"; nc: "dp.nc"; nd: "dp.nd"; ne: "dp.ne"; nf: "dp.nf"; ng: "dp.ng"; nh: "dp.nh"; ni: "dp.ni"; nj: "dp.nj"; nk: "dp.nk"; nl: "dp.nl"; nm: "dp.nm"; nn: "dp.nn"; no: "dp.no"; np: "dp.np"; nq: "dp.nq"; nr: "dp.nr"; ns: "dp.ns"; nt: "dp.nt"; nu: "dp.nu"; nv: "dp.nv"; nw: "dp.nw"; nx: "dp.nx"; ny: "dp.ny"; nz: "dp.nz"; oa: "dp.oa"; ob: "dp.ob"; oc: "dp.oc"; od: "dp.od"; oe: "dp.oe"; of: "dp.of"; og: "dp.og"; oh: "dp.oh"; oi: "dp.oi"; oj: "dp.oj"; ok: "dp.ok"; ol: "dp.ol"; om: "dp.om"; on: "dp.on"; oo: "dp.oo"; op: "dp.op"; oq: "dp.oq"; or: "dp.or"; os: "dp.os"; ot: "dp.ot"; ou: "dp.ou"; ov: "dp.ov"; ow: "dp.ow"; ox: "dp.ox"; oy: "dp.oy"; oz: "dp.oz"; pa: "dp.pa"; pb: "dp.pb"; pc: "dp.pc"; pd: "dp.pd"; pe: "dp.pe"; pf: "dp.pf"; pg: "dp.pg"; ph: "dp.ph"; pi: "dp.pi"; pj: "dp.pj"; pk: "dp.pk"; pl: "dp.pl"; pm: "dp.pm"; pn: "dp.pn"; po: "dp.po"; pp: "dp.pp"; pq: "dp.pq"; pr: "dp.pr"; ps: "dp.ps"; pt: "dp.pt"; pu: "dp.pu"; pv: "dp.pv"; pw: "dp.pw"; px: "dp.px"; py: "dp.py"; pz: "dp.pz"; qa: "dp.qa"; qb: "dp.qb"; qc: "dp.qc"; qd: "dp.qd"; qe: "dp.qe"; qf: "dp.qf"; qg: "dp.qg"; qh: "dp.qh"; qi: "dp.qi"; qj: "dp.qj"; qk: "dp.qk"; ql: "dp.ql"; qm: "dp.qm"; qn: "dp.qn"; qo: "dp.qo"; qp: "dp.qp"; qq: "dp.qq"; qr: "dp.qr"; qs: "dp.qs"; qt: "dp.qt"; qu: "dp.qu"; qv: "dp.qv"; qw: "dp.qw"; qx: "dp.qx"; qy: "dp.qy"; qz: "dp.qz"; ra: "dp.ra"; rb: "dp.rb"; rc: "dp.rc"; rd: "dp.rd"; re: "dp.re"; rf: "dp.rf"; rg: "dp.rg"; rh: "dp.rh"; ri: "dp.ri"; rj: "dp.rj"; rk: "dp.rk"; rl: "dp.rl"; rm: "dp.rm"; rn: "dp.rn"; ro: "dp.ro"; rp: "dp.rp"; rq: "dp.rq"; rr: "dp.rr"; rs: "dp.rs"; rt: "dp.rt"; ru: "dp.ru"; rv: "dp.rv"; rw: "dp.rw"; rx: "dp.rx"; ry: "dp.ry"; rz: "dp.rz"; sa: "dp.sa"; sb: "dp.sb"; sc: "dp.sc"; sd: "dp.sd"; se: "dp.se"; sf: "dp.sf"; sg: "dp.sg"; sh: "dp.sh"; si: "dp.si"; sj: "dp.sj"; sk: "dp.sk"; sl: "dp.sl"; sm: "dp.sm"; sn: "dp.sn"; so: "dp.so"; sp: "dp.sp"; sq: "dp.sq"; sr: "dp.sr"; ss: "dp.ss"; st: "dp.st"; su: "dp.su"; sv: "dp.sv"; sw: "dp.sw"; sx: "dp.sx"; sy: "dp.sy"; sz: "dp.sz"; ta: "dp.ta"; tb: "dp.tb"; tc: "dp.tc"; td: "dp.td"; te: "dp.te"; tf: "dp.tf"; tg: "dp.tg"; th: "dp.th"; ti: "dp.ti"; tj: "dp.tj"; tk: "dp.tk"; tl: "dp.tl"; tm: "dp.tm"; tn: "dp.tn"; to: "dp.to"; tp: "dp.tp"; tq: "dp.tq"; tr: "dp.tr"; ts: "dp.ts"; tt: "dp.tt"; tu: "dp.tu"; tv: "dp.tv"; tw: "dp.tw"; tx: "dp.tx"; ty: "dp.ty"; tz: "dp.tz"; ua: "dp.ua"; ub: "dp.ub"; uc: "dp.uc"; ud: "dp.ud"; ue: "dp.ue"; uf: "dp.uf"; ug: "dp.ug"; uh: "dp.uh"; ui: "dp.ui"; uj: "dp.uj"; uk: "dp.uk"; ul: "dp.ul"; um: "dp.um"; un: "dp.un"; uo: "dp.uo"; up: "dp.up"; uq: "dp.uq"; ur: "dp.ur"; us: "dp.us"; ut: "dp.ut"; uu: "dp.uu"; uv: "dp.uv"; uw: "dp.uw"; ux: "dp.ux"; uy: "dp.uy"; uz: "dp.uz"; va: "dp.va"; vb: "dp.vb"; vc: "dp.vc"; vd: "dp.vd"; ve: "dp.ve"; vf: "dp.vf"; vg: "dp.vg"; vh: "dp.vh"; vi: "dp.vi"; vj: "dp.vj"; vk: "dp.vk"; vl: "dp.vl"; vm: "dp.vm"; vn: "dp.vn"; vo: "dp.vo"; vp: "dp.vp"; vq: "dp.vq"; vr: "dp.vr"; vs: "dp.vs"; vt: "dp.vt"; vu: "dp.vu"; vv: "dp.vv"; vw: "dp.vw"; vx: "dp.vx"; vy: "dp.vy"; vz: "dp.vz"; wa: "dp.wa"; wb: "dp.wb"; wc: "dp.wc"; wd: "dp.wd"; we: "dp.we"; wf: "dp.wf"; wg: "dp.wg"; wh: "dp.wh"; wi: "dp.wi"; wj: "dp.wj"; wk: "dp.wk"; wl: "dp.wl"; wm: "dp.wm"; wn: "dp.wn"; wo: "dp.wo"; wp: "dp.wp"; wq: "dp.wq"; wr: "dp.wr"; ws: "dp.ws"; wt: "dp.wt"; wu: "dp.wu"; wv: "dp.wv"; ww: "dp.ww"; wx: "dp.wx"; wy: "dp.wy"; wz: "dp.wz"; xa: "dp.xa"; xb: "dp.xb"; xc: "dp.xc"; xd: "dp.xd"; xe: "dp.xe"; xf: "dp.xf"; xg: "dp.xg"; xh: "dp.xh"; xi: "dp.xi"; xj: "dp.xj"; xk: "dp.xk"; xl: "dp.xl"; xm: "dp.xm"; xn: "dp.xn"; xo: "dp.xo"; xp: "dp.xp"; xq: "dp.xq"; xr: "dp.xr"; xs: "dp.xs"; xt: "dp.xt"; xu: "dp.xu"; xv: "dp.xv"; xw: "dp.xw"; xx: "dp.xx"; xy: "dp.xy"; xz: "dp.xz"; ya: "dp.ya"; yb: "dp.yb"; yc: "dp.yc"; yd: "dp.yd"; ye: "dp.ye"; yf: "dp.yf"; yg: "dp.yg"; yh: "dp.yh"; yi: "dp.yi"; yj: "dp.yj"; yk: "dp.yk"; yl: "dp.yl"; ym: "dp.ym"; yn: "dp.yn"; yo: "dp.yo"; yp: "dp.yp"; yq: "dp.yq"; yr: "dp.yr"; ys: "dp.ys"; yt: "dp.yt"; yu: "dp.yu"; yv: "dp.yv"; yw: "dp.yw"; yx: "dp.yx"; yy: "dp.yy"; yz: "dp.yz"; za: "dp.za"; zb: "dp.zb"; zc: "dp.zc"; zd: "dp.zd"; ze: "dp.ze"; zf: "dp.zf"; zg: "dp.zg"; zh: "dp.zh"; zi: "dp.zi"; zj: "dp.zj"; zk: "dp.zk"; zl: "dp.zl"; zm: "dp.zm"; zn: "dp.zn"; zo: "dp.zo"; zp: "dp.zp"; zq: "dp.zq"; zr: "dp.zr"; zs: "dp.zs"; zt: "dp.zt"; zu: "dp.zu"; zv: "dp.zv"; zw: "dp.zw"; zx: "dp.zx"; zy: "dp.zy"; zz: "dp.zz"; }; dq: { aa: "dq.aa"; ab: "dq.ab"; ac: "dq.ac"; ad: "dq.ad"; ae: "dq.ae"; af: "dq.af"; ag: "dq.ag"; ah: "dq.ah"; ai: "dq.ai"; aj: "dq.aj"; ak: "dq.ak"; al: "dq.al"; am: "dq.am"; an: "dq.an"; ao: "dq.ao"; ap: "dq.ap"; aq: "dq.aq"; ar: "dq.ar"; as: "dq.as"; at: "dq.at"; au: "dq.au"; av: "dq.av"; aw: "dq.aw"; ax: "dq.ax"; ay: "dq.ay"; az: "dq.az"; ba: "dq.ba"; bb: "dq.bb"; bc: "dq.bc"; bd: "dq.bd"; be: "dq.be"; bf: "dq.bf"; bg: "dq.bg"; bh: "dq.bh"; bi: "dq.bi"; bj: "dq.bj"; bk: "dq.bk"; bl: "dq.bl"; bm: "dq.bm"; bn: "dq.bn"; bo: "dq.bo"; bp: "dq.bp"; bq: "dq.bq"; br: "dq.br"; bs: "dq.bs"; bt: "dq.bt"; bu: "dq.bu"; bv: "dq.bv"; bw: "dq.bw"; bx: "dq.bx"; by: "dq.by"; bz: "dq.bz"; ca: "dq.ca"; cb: "dq.cb"; cc: "dq.cc"; cd: "dq.cd"; ce: "dq.ce"; cf: "dq.cf"; cg: "dq.cg"; ch: "dq.ch"; ci: "dq.ci"; cj: "dq.cj"; ck: "dq.ck"; cl: "dq.cl"; cm: "dq.cm"; cn: "dq.cn"; co: "dq.co"; cp: "dq.cp"; cq: "dq.cq"; cr: "dq.cr"; cs: "dq.cs"; ct: "dq.ct"; cu: "dq.cu"; cv: "dq.cv"; cw: "dq.cw"; cx: "dq.cx"; cy: "dq.cy"; cz: "dq.cz"; da: "dq.da"; db: "dq.db"; dc: "dq.dc"; dd: "dq.dd"; de: "dq.de"; df: "dq.df"; dg: "dq.dg"; dh: "dq.dh"; di: "dq.di"; dj: "dq.dj"; dk: "dq.dk"; dl: "dq.dl"; dm: "dq.dm"; dn: "dq.dn"; do: "dq.do"; dp: "dq.dp"; dq: "dq.dq"; dr: "dq.dr"; ds: "dq.ds"; dt: "dq.dt"; du: "dq.du"; dv: "dq.dv"; dw: "dq.dw"; dx: "dq.dx"; dy: "dq.dy"; dz: "dq.dz"; ea: "dq.ea"; eb: "dq.eb"; ec: "dq.ec"; ed: "dq.ed"; ee: "dq.ee"; ef: "dq.ef"; eg: "dq.eg"; eh: "dq.eh"; ei: "dq.ei"; ej: "dq.ej"; ek: "dq.ek"; el: "dq.el"; em: "dq.em"; en: "dq.en"; eo: "dq.eo"; ep: "dq.ep"; eq: "dq.eq"; er: "dq.er"; es: "dq.es"; et: "dq.et"; eu: "dq.eu"; ev: "dq.ev"; ew: "dq.ew"; ex: "dq.ex"; ey: "dq.ey"; ez: "dq.ez"; fa: "dq.fa"; fb: "dq.fb"; fc: "dq.fc"; fd: "dq.fd"; fe: "dq.fe"; ff: "dq.ff"; fg: "dq.fg"; fh: "dq.fh"; fi: "dq.fi"; fj: "dq.fj"; fk: "dq.fk"; fl: "dq.fl"; fm: "dq.fm"; fn: "dq.fn"; fo: "dq.fo"; fp: "dq.fp"; fq: "dq.fq"; fr: "dq.fr"; fs: "dq.fs"; ft: "dq.ft"; fu: "dq.fu"; fv: "dq.fv"; fw: "dq.fw"; fx: "dq.fx"; fy: "dq.fy"; fz: "dq.fz"; ga: "dq.ga"; gb: "dq.gb"; gc: "dq.gc"; gd: "dq.gd"; ge: "dq.ge"; gf: "dq.gf"; gg: "dq.gg"; gh: "dq.gh"; gi: "dq.gi"; gj: "dq.gj"; gk: "dq.gk"; gl: "dq.gl"; gm: "dq.gm"; gn: "dq.gn"; go: "dq.go"; gp: "dq.gp"; gq: "dq.gq"; gr: "dq.gr"; gs: "dq.gs"; gt: "dq.gt"; gu: "dq.gu"; gv: "dq.gv"; gw: "dq.gw"; gx: "dq.gx"; gy: "dq.gy"; gz: "dq.gz"; ha: "dq.ha"; hb: "dq.hb"; hc: "dq.hc"; hd: "dq.hd"; he: "dq.he"; hf: "dq.hf"; hg: "dq.hg"; hh: "dq.hh"; hi: "dq.hi"; hj: "dq.hj"; hk: "dq.hk"; hl: "dq.hl"; hm: "dq.hm"; hn: "dq.hn"; ho: "dq.ho"; hp: "dq.hp"; hq: "dq.hq"; hr: "dq.hr"; hs: "dq.hs"; ht: "dq.ht"; hu: "dq.hu"; hv: "dq.hv"; hw: "dq.hw"; hx: "dq.hx"; hy: "dq.hy"; hz: "dq.hz"; ia: "dq.ia"; ib: "dq.ib"; ic: "dq.ic"; id: "dq.id"; ie: "dq.ie"; if: "dq.if"; ig: "dq.ig"; ih: "dq.ih"; ii: "dq.ii"; ij: "dq.ij"; ik: "dq.ik"; il: "dq.il"; im: "dq.im"; in: "dq.in"; io: "dq.io"; ip: "dq.ip"; iq: "dq.iq"; ir: "dq.ir"; is: "dq.is"; it: "dq.it"; iu: "dq.iu"; iv: "dq.iv"; iw: "dq.iw"; ix: "dq.ix"; iy: "dq.iy"; iz: "dq.iz"; ja: "dq.ja"; jb: "dq.jb"; jc: "dq.jc"; jd: "dq.jd"; je: "dq.je"; jf: "dq.jf"; jg: "dq.jg"; jh: "dq.jh"; ji: "dq.ji"; jj: "dq.jj"; jk: "dq.jk"; jl: "dq.jl"; jm: "dq.jm"; jn: "dq.jn"; jo: "dq.jo"; jp: "dq.jp"; jq: "dq.jq"; jr: "dq.jr"; js: "dq.js"; jt: "dq.jt"; ju: "dq.ju"; jv: "dq.jv"; jw: "dq.jw"; jx: "dq.jx"; jy: "dq.jy"; jz: "dq.jz"; ka: "dq.ka"; kb: "dq.kb"; kc: "dq.kc"; kd: "dq.kd"; ke: "dq.ke"; kf: "dq.kf"; kg: "dq.kg"; kh: "dq.kh"; ki: "dq.ki"; kj: "dq.kj"; kk: "dq.kk"; kl: "dq.kl"; km: "dq.km"; kn: "dq.kn"; ko: "dq.ko"; kp: "dq.kp"; kq: "dq.kq"; kr: "dq.kr"; ks: "dq.ks"; kt: "dq.kt"; ku: "dq.ku"; kv: "dq.kv"; kw: "dq.kw"; kx: "dq.kx"; ky: "dq.ky"; kz: "dq.kz"; la: "dq.la"; lb: "dq.lb"; lc: "dq.lc"; ld: "dq.ld"; le: "dq.le"; lf: "dq.lf"; lg: "dq.lg"; lh: "dq.lh"; li: "dq.li"; lj: "dq.lj"; lk: "dq.lk"; ll: "dq.ll"; lm: "dq.lm"; ln: "dq.ln"; lo: "dq.lo"; lp: "dq.lp"; lq: "dq.lq"; lr: "dq.lr"; ls: "dq.ls"; lt: "dq.lt"; lu: "dq.lu"; lv: "dq.lv"; lw: "dq.lw"; lx: "dq.lx"; ly: "dq.ly"; lz: "dq.lz"; ma: "dq.ma"; mb: "dq.mb"; mc: "dq.mc"; md: "dq.md"; me: "dq.me"; mf: "dq.mf"; mg: "dq.mg"; mh: "dq.mh"; mi: "dq.mi"; mj: "dq.mj"; mk: "dq.mk"; ml: "dq.ml"; mm: "dq.mm"; mn: "dq.mn"; mo: "dq.mo"; mp: "dq.mp"; mq: "dq.mq"; mr: "dq.mr"; ms: "dq.ms"; mt: "dq.mt"; mu: "dq.mu"; mv: "dq.mv"; mw: "dq.mw"; mx: "dq.mx"; my: "dq.my"; mz: "dq.mz"; na: "dq.na"; nb: "dq.nb"; nc: "dq.nc"; nd: "dq.nd"; ne: "dq.ne"; nf: "dq.nf"; ng: "dq.ng"; nh: "dq.nh"; ni: "dq.ni"; nj: "dq.nj"; nk: "dq.nk"; nl: "dq.nl"; nm: "dq.nm"; nn: "dq.nn"; no: "dq.no"; np: "dq.np"; nq: "dq.nq"; nr: "dq.nr"; ns: "dq.ns"; nt: "dq.nt"; nu: "dq.nu"; nv: "dq.nv"; nw: "dq.nw"; nx: "dq.nx"; ny: "dq.ny"; nz: "dq.nz"; oa: "dq.oa"; ob: "dq.ob"; oc: "dq.oc"; od: "dq.od"; oe: "dq.oe"; of: "dq.of"; og: "dq.og"; oh: "dq.oh"; oi: "dq.oi"; oj: "dq.oj"; ok: "dq.ok"; ol: "dq.ol"; om: "dq.om"; on: "dq.on"; oo: "dq.oo"; op: "dq.op"; oq: "dq.oq"; or: "dq.or"; os: "dq.os"; ot: "dq.ot"; ou: "dq.ou"; ov: "dq.ov"; ow: "dq.ow"; ox: "dq.ox"; oy: "dq.oy"; oz: "dq.oz"; pa: "dq.pa"; pb: "dq.pb"; pc: "dq.pc"; pd: "dq.pd"; pe: "dq.pe"; pf: "dq.pf"; pg: "dq.pg"; ph: "dq.ph"; pi: "dq.pi"; pj: "dq.pj"; pk: "dq.pk"; pl: "dq.pl"; pm: "dq.pm"; pn: "dq.pn"; po: "dq.po"; pp: "dq.pp"; pq: "dq.pq"; pr: "dq.pr"; ps: "dq.ps"; pt: "dq.pt"; pu: "dq.pu"; pv: "dq.pv"; pw: "dq.pw"; px: "dq.px"; py: "dq.py"; pz: "dq.pz"; qa: "dq.qa"; qb: "dq.qb"; qc: "dq.qc"; qd: "dq.qd"; qe: "dq.qe"; qf: "dq.qf"; qg: "dq.qg"; qh: "dq.qh"; qi: "dq.qi"; qj: "dq.qj"; qk: "dq.qk"; ql: "dq.ql"; qm: "dq.qm"; qn: "dq.qn"; qo: "dq.qo"; qp: "dq.qp"; qq: "dq.qq"; qr: "dq.qr"; qs: "dq.qs"; qt: "dq.qt"; qu: "dq.qu"; qv: "dq.qv"; qw: "dq.qw"; qx: "dq.qx"; qy: "dq.qy"; qz: "dq.qz"; ra: "dq.ra"; rb: "dq.rb"; rc: "dq.rc"; rd: "dq.rd"; re: "dq.re"; rf: "dq.rf"; rg: "dq.rg"; rh: "dq.rh"; ri: "dq.ri"; rj: "dq.rj"; rk: "dq.rk"; rl: "dq.rl"; rm: "dq.rm"; rn: "dq.rn"; ro: "dq.ro"; rp: "dq.rp"; rq: "dq.rq"; rr: "dq.rr"; rs: "dq.rs"; rt: "dq.rt"; ru: "dq.ru"; rv: "dq.rv"; rw: "dq.rw"; rx: "dq.rx"; ry: "dq.ry"; rz: "dq.rz"; sa: "dq.sa"; sb: "dq.sb"; sc: "dq.sc"; sd: "dq.sd"; se: "dq.se"; sf: "dq.sf"; sg: "dq.sg"; sh: "dq.sh"; si: "dq.si"; sj: "dq.sj"; sk: "dq.sk"; sl: "dq.sl"; sm: "dq.sm"; sn: "dq.sn"; so: "dq.so"; sp: "dq.sp"; sq: "dq.sq"; sr: "dq.sr"; ss: "dq.ss"; st: "dq.st"; su: "dq.su"; sv: "dq.sv"; sw: "dq.sw"; sx: "dq.sx"; sy: "dq.sy"; sz: "dq.sz"; ta: "dq.ta"; tb: "dq.tb"; tc: "dq.tc"; td: "dq.td"; te: "dq.te"; tf: "dq.tf"; tg: "dq.tg"; th: "dq.th"; ti: "dq.ti"; tj: "dq.tj"; tk: "dq.tk"; tl: "dq.tl"; tm: "dq.tm"; tn: "dq.tn"; to: "dq.to"; tp: "dq.tp"; tq: "dq.tq"; tr: "dq.tr"; ts: "dq.ts"; tt: "dq.tt"; tu: "dq.tu"; tv: "dq.tv"; tw: "dq.tw"; tx: "dq.tx"; ty: "dq.ty"; tz: "dq.tz"; ua: "dq.ua"; ub: "dq.ub"; uc: "dq.uc"; ud: "dq.ud"; ue: "dq.ue"; uf: "dq.uf"; ug: "dq.ug"; uh: "dq.uh"; ui: "dq.ui"; uj: "dq.uj"; uk: "dq.uk"; ul: "dq.ul"; um: "dq.um"; un: "dq.un"; uo: "dq.uo"; up: "dq.up"; uq: "dq.uq"; ur: "dq.ur"; us: "dq.us"; ut: "dq.ut"; uu: "dq.uu"; uv: "dq.uv"; uw: "dq.uw"; ux: "dq.ux"; uy: "dq.uy"; uz: "dq.uz"; va: "dq.va"; vb: "dq.vb"; vc: "dq.vc"; vd: "dq.vd"; ve: "dq.ve"; vf: "dq.vf"; vg: "dq.vg"; vh: "dq.vh"; vi: "dq.vi"; vj: "dq.vj"; vk: "dq.vk"; vl: "dq.vl"; vm: "dq.vm"; vn: "dq.vn"; vo: "dq.vo"; vp: "dq.vp"; vq: "dq.vq"; vr: "dq.vr"; vs: "dq.vs"; vt: "dq.vt"; vu: "dq.vu"; vv: "dq.vv"; vw: "dq.vw"; vx: "dq.vx"; vy: "dq.vy"; vz: "dq.vz"; wa: "dq.wa"; wb: "dq.wb"; wc: "dq.wc"; wd: "dq.wd"; we: "dq.we"; wf: "dq.wf"; wg: "dq.wg"; wh: "dq.wh"; wi: "dq.wi"; wj: "dq.wj"; wk: "dq.wk"; wl: "dq.wl"; wm: "dq.wm"; wn: "dq.wn"; wo: "dq.wo"; wp: "dq.wp"; wq: "dq.wq"; wr: "dq.wr"; ws: "dq.ws"; wt: "dq.wt"; wu: "dq.wu"; wv: "dq.wv"; ww: "dq.ww"; wx: "dq.wx"; wy: "dq.wy"; wz: "dq.wz"; xa: "dq.xa"; xb: "dq.xb"; xc: "dq.xc"; xd: "dq.xd"; xe: "dq.xe"; xf: "dq.xf"; xg: "dq.xg"; xh: "dq.xh"; xi: "dq.xi"; xj: "dq.xj"; xk: "dq.xk"; xl: "dq.xl"; xm: "dq.xm"; xn: "dq.xn"; xo: "dq.xo"; xp: "dq.xp"; xq: "dq.xq"; xr: "dq.xr"; xs: "dq.xs"; xt: "dq.xt"; xu: "dq.xu"; xv: "dq.xv"; xw: "dq.xw"; xx: "dq.xx"; xy: "dq.xy"; xz: "dq.xz"; ya: "dq.ya"; yb: "dq.yb"; yc: "dq.yc"; yd: "dq.yd"; ye: "dq.ye"; yf: "dq.yf"; yg: "dq.yg"; yh: "dq.yh"; yi: "dq.yi"; yj: "dq.yj"; yk: "dq.yk"; yl: "dq.yl"; ym: "dq.ym"; yn: "dq.yn"; yo: "dq.yo"; yp: "dq.yp"; yq: "dq.yq"; yr: "dq.yr"; ys: "dq.ys"; yt: "dq.yt"; yu: "dq.yu"; yv: "dq.yv"; yw: "dq.yw"; yx: "dq.yx"; yy: "dq.yy"; yz: "dq.yz"; za: "dq.za"; zb: "dq.zb"; zc: "dq.zc"; zd: "dq.zd"; ze: "dq.ze"; zf: "dq.zf"; zg: "dq.zg"; zh: "dq.zh"; zi: "dq.zi"; zj: "dq.zj"; zk: "dq.zk"; zl: "dq.zl"; zm: "dq.zm"; zn: "dq.zn"; zo: "dq.zo"; zp: "dq.zp"; zq: "dq.zq"; zr: "dq.zr"; zs: "dq.zs"; zt: "dq.zt"; zu: "dq.zu"; zv: "dq.zv"; zw: "dq.zw"; zx: "dq.zx"; zy: "dq.zy"; zz: "dq.zz"; }; dr: { aa: "dr.aa"; ab: "dr.ab"; ac: "dr.ac"; ad: "dr.ad"; ae: "dr.ae"; af: "dr.af"; ag: "dr.ag"; ah: "dr.ah"; ai: "dr.ai"; aj: "dr.aj"; ak: "dr.ak"; al: "dr.al"; am: "dr.am"; an: "dr.an"; ao: "dr.ao"; ap: "dr.ap"; aq: "dr.aq"; ar: "dr.ar"; as: "dr.as"; at: "dr.at"; au: "dr.au"; av: "dr.av"; aw: "dr.aw"; ax: "dr.ax"; ay: "dr.ay"; az: "dr.az"; ba: "dr.ba"; bb: "dr.bb"; bc: "dr.bc"; bd: "dr.bd"; be: "dr.be"; bf: "dr.bf"; bg: "dr.bg"; bh: "dr.bh"; bi: "dr.bi"; bj: "dr.bj"; bk: "dr.bk"; bl: "dr.bl"; bm: "dr.bm"; bn: "dr.bn"; bo: "dr.bo"; bp: "dr.bp"; bq: "dr.bq"; br: "dr.br"; bs: "dr.bs"; bt: "dr.bt"; bu: "dr.bu"; bv: "dr.bv"; bw: "dr.bw"; bx: "dr.bx"; by: "dr.by"; bz: "dr.bz"; ca: "dr.ca"; cb: "dr.cb"; cc: "dr.cc"; cd: "dr.cd"; ce: "dr.ce"; cf: "dr.cf"; cg: "dr.cg"; ch: "dr.ch"; ci: "dr.ci"; cj: "dr.cj"; ck: "dr.ck"; cl: "dr.cl"; cm: "dr.cm"; cn: "dr.cn"; co: "dr.co"; cp: "dr.cp"; cq: "dr.cq"; cr: "dr.cr"; cs: "dr.cs"; ct: "dr.ct"; cu: "dr.cu"; cv: "dr.cv"; cw: "dr.cw"; cx: "dr.cx"; cy: "dr.cy"; cz: "dr.cz"; da: "dr.da"; db: "dr.db"; dc: "dr.dc"; dd: "dr.dd"; de: "dr.de"; df: "dr.df"; dg: "dr.dg"; dh: "dr.dh"; di: "dr.di"; dj: "dr.dj"; dk: "dr.dk"; dl: "dr.dl"; dm: "dr.dm"; dn: "dr.dn"; do: "dr.do"; dp: "dr.dp"; dq: "dr.dq"; dr: "dr.dr"; ds: "dr.ds"; dt: "dr.dt"; du: "dr.du"; dv: "dr.dv"; dw: "dr.dw"; dx: "dr.dx"; dy: "dr.dy"; dz: "dr.dz"; ea: "dr.ea"; eb: "dr.eb"; ec: "dr.ec"; ed: "dr.ed"; ee: "dr.ee"; ef: "dr.ef"; eg: "dr.eg"; eh: "dr.eh"; ei: "dr.ei"; ej: "dr.ej"; ek: "dr.ek"; el: "dr.el"; em: "dr.em"; en: "dr.en"; eo: "dr.eo"; ep: "dr.ep"; eq: "dr.eq"; er: "dr.er"; es: "dr.es"; et: "dr.et"; eu: "dr.eu"; ev: "dr.ev"; ew: "dr.ew"; ex: "dr.ex"; ey: "dr.ey"; ez: "dr.ez"; fa: "dr.fa"; fb: "dr.fb"; fc: "dr.fc"; fd: "dr.fd"; fe: "dr.fe"; ff: "dr.ff"; fg: "dr.fg"; fh: "dr.fh"; fi: "dr.fi"; fj: "dr.fj"; fk: "dr.fk"; fl: "dr.fl"; fm: "dr.fm"; fn: "dr.fn"; fo: "dr.fo"; fp: "dr.fp"; fq: "dr.fq"; fr: "dr.fr"; fs: "dr.fs"; ft: "dr.ft"; fu: "dr.fu"; fv: "dr.fv"; fw: "dr.fw"; fx: "dr.fx"; fy: "dr.fy"; fz: "dr.fz"; ga: "dr.ga"; gb: "dr.gb"; gc: "dr.gc"; gd: "dr.gd"; ge: "dr.ge"; gf: "dr.gf"; gg: "dr.gg"; gh: "dr.gh"; gi: "dr.gi"; gj: "dr.gj"; gk: "dr.gk"; gl: "dr.gl"; gm: "dr.gm"; gn: "dr.gn"; go: "dr.go"; gp: "dr.gp"; gq: "dr.gq"; gr: "dr.gr"; gs: "dr.gs"; gt: "dr.gt"; gu: "dr.gu"; gv: "dr.gv"; gw: "dr.gw"; gx: "dr.gx"; gy: "dr.gy"; gz: "dr.gz"; ha: "dr.ha"; hb: "dr.hb"; hc: "dr.hc"; hd: "dr.hd"; he: "dr.he"; hf: "dr.hf"; hg: "dr.hg"; hh: "dr.hh"; hi: "dr.hi"; hj: "dr.hj"; hk: "dr.hk"; hl: "dr.hl"; hm: "dr.hm"; hn: "dr.hn"; ho: "dr.ho"; hp: "dr.hp"; hq: "dr.hq"; hr: "dr.hr"; hs: "dr.hs"; ht: "dr.ht"; hu: "dr.hu"; hv: "dr.hv"; hw: "dr.hw"; hx: "dr.hx"; hy: "dr.hy"; hz: "dr.hz"; ia: "dr.ia"; ib: "dr.ib"; ic: "dr.ic"; id: "dr.id"; ie: "dr.ie"; if: "dr.if"; ig: "dr.ig"; ih: "dr.ih"; ii: "dr.ii"; ij: "dr.ij"; ik: "dr.ik"; il: "dr.il"; im: "dr.im"; in: "dr.in"; io: "dr.io"; ip: "dr.ip"; iq: "dr.iq"; ir: "dr.ir"; is: "dr.is"; it: "dr.it"; iu: "dr.iu"; iv: "dr.iv"; iw: "dr.iw"; ix: "dr.ix"; iy: "dr.iy"; iz: "dr.iz"; ja: "dr.ja"; jb: "dr.jb"; jc: "dr.jc"; jd: "dr.jd"; je: "dr.je"; jf: "dr.jf"; jg: "dr.jg"; jh: "dr.jh"; ji: "dr.ji"; jj: "dr.jj"; jk: "dr.jk"; jl: "dr.jl"; jm: "dr.jm"; jn: "dr.jn"; jo: "dr.jo"; jp: "dr.jp"; jq: "dr.jq"; jr: "dr.jr"; js: "dr.js"; jt: "dr.jt"; ju: "dr.ju"; jv: "dr.jv"; jw: "dr.jw"; jx: "dr.jx"; jy: "dr.jy"; jz: "dr.jz"; ka: "dr.ka"; kb: "dr.kb"; kc: "dr.kc"; kd: "dr.kd"; ke: "dr.ke"; kf: "dr.kf"; kg: "dr.kg"; kh: "dr.kh"; ki: "dr.ki"; kj: "dr.kj"; kk: "dr.kk"; kl: "dr.kl"; km: "dr.km"; kn: "dr.kn"; ko: "dr.ko"; kp: "dr.kp"; kq: "dr.kq"; kr: "dr.kr"; ks: "dr.ks"; kt: "dr.kt"; ku: "dr.ku"; kv: "dr.kv"; kw: "dr.kw"; kx: "dr.kx"; ky: "dr.ky"; kz: "dr.kz"; la: "dr.la"; lb: "dr.lb"; lc: "dr.lc"; ld: "dr.ld"; le: "dr.le"; lf: "dr.lf"; lg: "dr.lg"; lh: "dr.lh"; li: "dr.li"; lj: "dr.lj"; lk: "dr.lk"; ll: "dr.ll"; lm: "dr.lm"; ln: "dr.ln"; lo: "dr.lo"; lp: "dr.lp"; lq: "dr.lq"; lr: "dr.lr"; ls: "dr.ls"; lt: "dr.lt"; lu: "dr.lu"; lv: "dr.lv"; lw: "dr.lw"; lx: "dr.lx"; ly: "dr.ly"; lz: "dr.lz"; ma: "dr.ma"; mb: "dr.mb"; mc: "dr.mc"; md: "dr.md"; me: "dr.me"; mf: "dr.mf"; mg: "dr.mg"; mh: "dr.mh"; mi: "dr.mi"; mj: "dr.mj"; mk: "dr.mk"; ml: "dr.ml"; mm: "dr.mm"; mn: "dr.mn"; mo: "dr.mo"; mp: "dr.mp"; mq: "dr.mq"; mr: "dr.mr"; ms: "dr.ms"; mt: "dr.mt"; mu: "dr.mu"; mv: "dr.mv"; mw: "dr.mw"; mx: "dr.mx"; my: "dr.my"; mz: "dr.mz"; na: "dr.na"; nb: "dr.nb"; nc: "dr.nc"; nd: "dr.nd"; ne: "dr.ne"; nf: "dr.nf"; ng: "dr.ng"; nh: "dr.nh"; ni: "dr.ni"; nj: "dr.nj"; nk: "dr.nk"; nl: "dr.nl"; nm: "dr.nm"; nn: "dr.nn"; no: "dr.no"; np: "dr.np"; nq: "dr.nq"; nr: "dr.nr"; ns: "dr.ns"; nt: "dr.nt"; nu: "dr.nu"; nv: "dr.nv"; nw: "dr.nw"; nx: "dr.nx"; ny: "dr.ny"; nz: "dr.nz"; oa: "dr.oa"; ob: "dr.ob"; oc: "dr.oc"; od: "dr.od"; oe: "dr.oe"; of: "dr.of"; og: "dr.og"; oh: "dr.oh"; oi: "dr.oi"; oj: "dr.oj"; ok: "dr.ok"; ol: "dr.ol"; om: "dr.om"; on: "dr.on"; oo: "dr.oo"; op: "dr.op"; oq: "dr.oq"; or: "dr.or"; os: "dr.os"; ot: "dr.ot"; ou: "dr.ou"; ov: "dr.ov"; ow: "dr.ow"; ox: "dr.ox"; oy: "dr.oy"; oz: "dr.oz"; pa: "dr.pa"; pb: "dr.pb"; pc: "dr.pc"; pd: "dr.pd"; pe: "dr.pe"; pf: "dr.pf"; pg: "dr.pg"; ph: "dr.ph"; pi: "dr.pi"; pj: "dr.pj"; pk: "dr.pk"; pl: "dr.pl"; pm: "dr.pm"; pn: "dr.pn"; po: "dr.po"; pp: "dr.pp"; pq: "dr.pq"; pr: "dr.pr"; ps: "dr.ps"; pt: "dr.pt"; pu: "dr.pu"; pv: "dr.pv"; pw: "dr.pw"; px: "dr.px"; py: "dr.py"; pz: "dr.pz"; qa: "dr.qa"; qb: "dr.qb"; qc: "dr.qc"; qd: "dr.qd"; qe: "dr.qe"; qf: "dr.qf"; qg: "dr.qg"; qh: "dr.qh"; qi: "dr.qi"; qj: "dr.qj"; qk: "dr.qk"; ql: "dr.ql"; qm: "dr.qm"; qn: "dr.qn"; qo: "dr.qo"; qp: "dr.qp"; qq: "dr.qq"; qr: "dr.qr"; qs: "dr.qs"; qt: "dr.qt"; qu: "dr.qu"; qv: "dr.qv"; qw: "dr.qw"; qx: "dr.qx"; qy: "dr.qy"; qz: "dr.qz"; ra: "dr.ra"; rb: "dr.rb"; rc: "dr.rc"; rd: "dr.rd"; re: "dr.re"; rf: "dr.rf"; rg: "dr.rg"; rh: "dr.rh"; ri: "dr.ri"; rj: "dr.rj"; rk: "dr.rk"; rl: "dr.rl"; rm: "dr.rm"; rn: "dr.rn"; ro: "dr.ro"; rp: "dr.rp"; rq: "dr.rq"; rr: "dr.rr"; rs: "dr.rs"; rt: "dr.rt"; ru: "dr.ru"; rv: "dr.rv"; rw: "dr.rw"; rx: "dr.rx"; ry: "dr.ry"; rz: "dr.rz"; sa: "dr.sa"; sb: "dr.sb"; sc: "dr.sc"; sd: "dr.sd"; se: "dr.se"; sf: "dr.sf"; sg: "dr.sg"; sh: "dr.sh"; si: "dr.si"; sj: "dr.sj"; sk: "dr.sk"; sl: "dr.sl"; sm: "dr.sm"; sn: "dr.sn"; so: "dr.so"; sp: "dr.sp"; sq: "dr.sq"; sr: "dr.sr"; ss: "dr.ss"; st: "dr.st"; su: "dr.su"; sv: "dr.sv"; sw: "dr.sw"; sx: "dr.sx"; sy: "dr.sy"; sz: "dr.sz"; ta: "dr.ta"; tb: "dr.tb"; tc: "dr.tc"; td: "dr.td"; te: "dr.te"; tf: "dr.tf"; tg: "dr.tg"; th: "dr.th"; ti: "dr.ti"; tj: "dr.tj"; tk: "dr.tk"; tl: "dr.tl"; tm: "dr.tm"; tn: "dr.tn"; to: "dr.to"; tp: "dr.tp"; tq: "dr.tq"; tr: "dr.tr"; ts: "dr.ts"; tt: "dr.tt"; tu: "dr.tu"; tv: "dr.tv"; tw: "dr.tw"; tx: "dr.tx"; ty: "dr.ty"; tz: "dr.tz"; ua: "dr.ua"; ub: "dr.ub"; uc: "dr.uc"; ud: "dr.ud"; ue: "dr.ue"; uf: "dr.uf"; ug: "dr.ug"; uh: "dr.uh"; ui: "dr.ui"; uj: "dr.uj"; uk: "dr.uk"; ul: "dr.ul"; um: "dr.um"; un: "dr.un"; uo: "dr.uo"; up: "dr.up"; uq: "dr.uq"; ur: "dr.ur"; us: "dr.us"; ut: "dr.ut"; uu: "dr.uu"; uv: "dr.uv"; uw: "dr.uw"; ux: "dr.ux"; uy: "dr.uy"; uz: "dr.uz"; va: "dr.va"; vb: "dr.vb"; vc: "dr.vc"; vd: "dr.vd"; ve: "dr.ve"; vf: "dr.vf"; vg: "dr.vg"; vh: "dr.vh"; vi: "dr.vi"; vj: "dr.vj"; vk: "dr.vk"; vl: "dr.vl"; vm: "dr.vm"; vn: "dr.vn"; vo: "dr.vo"; vp: "dr.vp"; vq: "dr.vq"; vr: "dr.vr"; vs: "dr.vs"; vt: "dr.vt"; vu: "dr.vu"; vv: "dr.vv"; vw: "dr.vw"; vx: "dr.vx"; vy: "dr.vy"; vz: "dr.vz"; wa: "dr.wa"; wb: "dr.wb"; wc: "dr.wc"; wd: "dr.wd"; we: "dr.we"; wf: "dr.wf"; wg: "dr.wg"; wh: "dr.wh"; wi: "dr.wi"; wj: "dr.wj"; wk: "dr.wk"; wl: "dr.wl"; wm: "dr.wm"; wn: "dr.wn"; wo: "dr.wo"; wp: "dr.wp"; wq: "dr.wq"; wr: "dr.wr"; ws: "dr.ws"; wt: "dr.wt"; wu: "dr.wu"; wv: "dr.wv"; ww: "dr.ww"; wx: "dr.wx"; wy: "dr.wy"; wz: "dr.wz"; xa: "dr.xa"; xb: "dr.xb"; xc: "dr.xc"; xd: "dr.xd"; xe: "dr.xe"; xf: "dr.xf"; xg: "dr.xg"; xh: "dr.xh"; xi: "dr.xi"; xj: "dr.xj"; xk: "dr.xk"; xl: "dr.xl"; xm: "dr.xm"; xn: "dr.xn"; xo: "dr.xo"; xp: "dr.xp"; xq: "dr.xq"; xr: "dr.xr"; xs: "dr.xs"; xt: "dr.xt"; xu: "dr.xu"; xv: "dr.xv"; xw: "dr.xw"; xx: "dr.xx"; xy: "dr.xy"; xz: "dr.xz"; ya: "dr.ya"; yb: "dr.yb"; yc: "dr.yc"; yd: "dr.yd"; ye: "dr.ye"; yf: "dr.yf"; yg: "dr.yg"; yh: "dr.yh"; yi: "dr.yi"; yj: "dr.yj"; yk: "dr.yk"; yl: "dr.yl"; ym: "dr.ym"; yn: "dr.yn"; yo: "dr.yo"; yp: "dr.yp"; yq: "dr.yq"; yr: "dr.yr"; ys: "dr.ys"; yt: "dr.yt"; yu: "dr.yu"; yv: "dr.yv"; yw: "dr.yw"; yx: "dr.yx"; yy: "dr.yy"; yz: "dr.yz"; za: "dr.za"; zb: "dr.zb"; zc: "dr.zc"; zd: "dr.zd"; ze: "dr.ze"; zf: "dr.zf"; zg: "dr.zg"; zh: "dr.zh"; zi: "dr.zi"; zj: "dr.zj"; zk: "dr.zk"; zl: "dr.zl"; zm: "dr.zm"; zn: "dr.zn"; zo: "dr.zo"; zp: "dr.zp"; zq: "dr.zq"; zr: "dr.zr"; zs: "dr.zs"; zt: "dr.zt"; zu: "dr.zu"; zv: "dr.zv"; zw: "dr.zw"; zx: "dr.zx"; zy: "dr.zy"; zz: "dr.zz"; }; ds: { aa: "ds.aa"; ab: "ds.ab"; ac: "ds.ac"; ad: "ds.ad"; ae: "ds.ae"; af: "ds.af"; ag: "ds.ag"; ah: "ds.ah"; ai: "ds.ai"; aj: "ds.aj"; ak: "ds.ak"; al: "ds.al"; am: "ds.am"; an: "ds.an"; ao: "ds.ao"; ap: "ds.ap"; aq: "ds.aq"; ar: "ds.ar"; as: "ds.as"; at: "ds.at"; au: "ds.au"; av: "ds.av"; aw: "ds.aw"; ax: "ds.ax"; ay: "ds.ay"; az: "ds.az"; ba: "ds.ba"; bb: "ds.bb"; bc: "ds.bc"; bd: "ds.bd"; be: "ds.be"; bf: "ds.bf"; bg: "ds.bg"; bh: "ds.bh"; bi: "ds.bi"; bj: "ds.bj"; bk: "ds.bk"; bl: "ds.bl"; bm: "ds.bm"; bn: "ds.bn"; bo: "ds.bo"; bp: "ds.bp"; bq: "ds.bq"; br: "ds.br"; bs: "ds.bs"; bt: "ds.bt"; bu: "ds.bu"; bv: "ds.bv"; bw: "ds.bw"; bx: "ds.bx"; by: "ds.by"; bz: "ds.bz"; ca: "ds.ca"; cb: "ds.cb"; cc: "ds.cc"; cd: "ds.cd"; ce: "ds.ce"; cf: "ds.cf"; cg: "ds.cg"; ch: "ds.ch"; ci: "ds.ci"; cj: "ds.cj"; ck: "ds.ck"; cl: "ds.cl"; cm: "ds.cm"; cn: "ds.cn"; co: "ds.co"; cp: "ds.cp"; cq: "ds.cq"; cr: "ds.cr"; cs: "ds.cs"; ct: "ds.ct"; cu: "ds.cu"; cv: "ds.cv"; cw: "ds.cw"; cx: "ds.cx"; cy: "ds.cy"; cz: "ds.cz"; da: "ds.da"; db: "ds.db"; dc: "ds.dc"; dd: "ds.dd"; de: "ds.de"; df: "ds.df"; dg: "ds.dg"; dh: "ds.dh"; di: "ds.di"; dj: "ds.dj"; dk: "ds.dk"; dl: "ds.dl"; dm: "ds.dm"; dn: "ds.dn"; do: "ds.do"; dp: "ds.dp"; dq: "ds.dq"; dr: "ds.dr"; ds: "ds.ds"; dt: "ds.dt"; du: "ds.du"; dv: "ds.dv"; dw: "ds.dw"; dx: "ds.dx"; dy: "ds.dy"; dz: "ds.dz"; ea: "ds.ea"; eb: "ds.eb"; ec: "ds.ec"; ed: "ds.ed"; ee: "ds.ee"; ef: "ds.ef"; eg: "ds.eg"; eh: "ds.eh"; ei: "ds.ei"; ej: "ds.ej"; ek: "ds.ek"; el: "ds.el"; em: "ds.em"; en: "ds.en"; eo: "ds.eo"; ep: "ds.ep"; eq: "ds.eq"; er: "ds.er"; es: "ds.es"; et: "ds.et"; eu: "ds.eu"; ev: "ds.ev"; ew: "ds.ew"; ex: "ds.ex"; ey: "ds.ey"; ez: "ds.ez"; fa: "ds.fa"; fb: "ds.fb"; fc: "ds.fc"; fd: "ds.fd"; fe: "ds.fe"; ff: "ds.ff"; fg: "ds.fg"; fh: "ds.fh"; fi: "ds.fi"; fj: "ds.fj"; fk: "ds.fk"; fl: "ds.fl"; fm: "ds.fm"; fn: "ds.fn"; fo: "ds.fo"; fp: "ds.fp"; fq: "ds.fq"; fr: "ds.fr"; fs: "ds.fs"; ft: "ds.ft"; fu: "ds.fu"; fv: "ds.fv"; fw: "ds.fw"; fx: "ds.fx"; fy: "ds.fy"; fz: "ds.fz"; ga: "ds.ga"; gb: "ds.gb"; gc: "ds.gc"; gd: "ds.gd"; ge: "ds.ge"; gf: "ds.gf"; gg: "ds.gg"; gh: "ds.gh"; gi: "ds.gi"; gj: "ds.gj"; gk: "ds.gk"; gl: "ds.gl"; gm: "ds.gm"; gn: "ds.gn"; go: "ds.go"; gp: "ds.gp"; gq: "ds.gq"; gr: "ds.gr"; gs: "ds.gs"; gt: "ds.gt"; gu: "ds.gu"; gv: "ds.gv"; gw: "ds.gw"; gx: "ds.gx"; gy: "ds.gy"; gz: "ds.gz"; ha: "ds.ha"; hb: "ds.hb"; hc: "ds.hc"; hd: "ds.hd"; he: "ds.he"; hf: "ds.hf"; hg: "ds.hg"; hh: "ds.hh"; hi: "ds.hi"; hj: "ds.hj"; hk: "ds.hk"; hl: "ds.hl"; hm: "ds.hm"; hn: "ds.hn"; ho: "ds.ho"; hp: "ds.hp"; hq: "ds.hq"; hr: "ds.hr"; hs: "ds.hs"; ht: "ds.ht"; hu: "ds.hu"; hv: "ds.hv"; hw: "ds.hw"; hx: "ds.hx"; hy: "ds.hy"; hz: "ds.hz"; ia: "ds.ia"; ib: "ds.ib"; ic: "ds.ic"; id: "ds.id"; ie: "ds.ie"; if: "ds.if"; ig: "ds.ig"; ih: "ds.ih"; ii: "ds.ii"; ij: "ds.ij"; ik: "ds.ik"; il: "ds.il"; im: "ds.im"; in: "ds.in"; io: "ds.io"; ip: "ds.ip"; iq: "ds.iq"; ir: "ds.ir"; is: "ds.is"; it: "ds.it"; iu: "ds.iu"; iv: "ds.iv"; iw: "ds.iw"; ix: "ds.ix"; iy: "ds.iy"; iz: "ds.iz"; ja: "ds.ja"; jb: "ds.jb"; jc: "ds.jc"; jd: "ds.jd"; je: "ds.je"; jf: "ds.jf"; jg: "ds.jg"; jh: "ds.jh"; ji: "ds.ji"; jj: "ds.jj"; jk: "ds.jk"; jl: "ds.jl"; jm: "ds.jm"; jn: "ds.jn"; jo: "ds.jo"; jp: "ds.jp"; jq: "ds.jq"; jr: "ds.jr"; js: "ds.js"; jt: "ds.jt"; ju: "ds.ju"; jv: "ds.jv"; jw: "ds.jw"; jx: "ds.jx"; jy: "ds.jy"; jz: "ds.jz"; ka: "ds.ka"; kb: "ds.kb"; kc: "ds.kc"; kd: "ds.kd"; ke: "ds.ke"; kf: "ds.kf"; kg: "ds.kg"; kh: "ds.kh"; ki: "ds.ki"; kj: "ds.kj"; kk: "ds.kk"; kl: "ds.kl"; km: "ds.km"; kn: "ds.kn"; ko: "ds.ko"; kp: "ds.kp"; kq: "ds.kq"; kr: "ds.kr"; ks: "ds.ks"; kt: "ds.kt"; ku: "ds.ku"; kv: "ds.kv"; kw: "ds.kw"; kx: "ds.kx"; ky: "ds.ky"; kz: "ds.kz"; la: "ds.la"; lb: "ds.lb"; lc: "ds.lc"; ld: "ds.ld"; le: "ds.le"; lf: "ds.lf"; lg: "ds.lg"; lh: "ds.lh"; li: "ds.li"; lj: "ds.lj"; lk: "ds.lk"; ll: "ds.ll"; lm: "ds.lm"; ln: "ds.ln"; lo: "ds.lo"; lp: "ds.lp"; lq: "ds.lq"; lr: "ds.lr"; ls: "ds.ls"; lt: "ds.lt"; lu: "ds.lu"; lv: "ds.lv"; lw: "ds.lw"; lx: "ds.lx"; ly: "ds.ly"; lz: "ds.lz"; ma: "ds.ma"; mb: "ds.mb"; mc: "ds.mc"; md: "ds.md"; me: "ds.me"; mf: "ds.mf"; mg: "ds.mg"; mh: "ds.mh"; mi: "ds.mi"; mj: "ds.mj"; mk: "ds.mk"; ml: "ds.ml"; mm: "ds.mm"; mn: "ds.mn"; mo: "ds.mo"; mp: "ds.mp"; mq: "ds.mq"; mr: "ds.mr"; ms: "ds.ms"; mt: "ds.mt"; mu: "ds.mu"; mv: "ds.mv"; mw: "ds.mw"; mx: "ds.mx"; my: "ds.my"; mz: "ds.mz"; na: "ds.na"; nb: "ds.nb"; nc: "ds.nc"; nd: "ds.nd"; ne: "ds.ne"; nf: "ds.nf"; ng: "ds.ng"; nh: "ds.nh"; ni: "ds.ni"; nj: "ds.nj"; nk: "ds.nk"; nl: "ds.nl"; nm: "ds.nm"; nn: "ds.nn"; no: "ds.no"; np: "ds.np"; nq: "ds.nq"; nr: "ds.nr"; ns: "ds.ns"; nt: "ds.nt"; nu: "ds.nu"; nv: "ds.nv"; nw: "ds.nw"; nx: "ds.nx"; ny: "ds.ny"; nz: "ds.nz"; oa: "ds.oa"; ob: "ds.ob"; oc: "ds.oc"; od: "ds.od"; oe: "ds.oe"; of: "ds.of"; og: "ds.og"; oh: "ds.oh"; oi: "ds.oi"; oj: "ds.oj"; ok: "ds.ok"; ol: "ds.ol"; om: "ds.om"; on: "ds.on"; oo: "ds.oo"; op: "ds.op"; oq: "ds.oq"; or: "ds.or"; os: "ds.os"; ot: "ds.ot"; ou: "ds.ou"; ov: "ds.ov"; ow: "ds.ow"; ox: "ds.ox"; oy: "ds.oy"; oz: "ds.oz"; pa: "ds.pa"; pb: "ds.pb"; pc: "ds.pc"; pd: "ds.pd"; pe: "ds.pe"; pf: "ds.pf"; pg: "ds.pg"; ph: "ds.ph"; pi: "ds.pi"; pj: "ds.pj"; pk: "ds.pk"; pl: "ds.pl"; pm: "ds.pm"; pn: "ds.pn"; po: "ds.po"; pp: "ds.pp"; pq: "ds.pq"; pr: "ds.pr"; ps: "ds.ps"; pt: "ds.pt"; pu: "ds.pu"; pv: "ds.pv"; pw: "ds.pw"; px: "ds.px"; py: "ds.py"; pz: "ds.pz"; qa: "ds.qa"; qb: "ds.qb"; qc: "ds.qc"; qd: "ds.qd"; qe: "ds.qe"; qf: "ds.qf"; qg: "ds.qg"; qh: "ds.qh"; qi: "ds.qi"; qj: "ds.qj"; qk: "ds.qk"; ql: "ds.ql"; qm: "ds.qm"; qn: "ds.qn"; qo: "ds.qo"; qp: "ds.qp"; qq: "ds.qq"; qr: "ds.qr"; qs: "ds.qs"; qt: "ds.qt"; qu: "ds.qu"; qv: "ds.qv"; qw: "ds.qw"; qx: "ds.qx"; qy: "ds.qy"; qz: "ds.qz"; ra: "ds.ra"; rb: "ds.rb"; rc: "ds.rc"; rd: "ds.rd"; re: "ds.re"; rf: "ds.rf"; rg: "ds.rg"; rh: "ds.rh"; ri: "ds.ri"; rj: "ds.rj"; rk: "ds.rk"; rl: "ds.rl"; rm: "ds.rm"; rn: "ds.rn"; ro: "ds.ro"; rp: "ds.rp"; rq: "ds.rq"; rr: "ds.rr"; rs: "ds.rs"; rt: "ds.rt"; ru: "ds.ru"; rv: "ds.rv"; rw: "ds.rw"; rx: "ds.rx"; ry: "ds.ry"; rz: "ds.rz"; sa: "ds.sa"; sb: "ds.sb"; sc: "ds.sc"; sd: "ds.sd"; se: "ds.se"; sf: "ds.sf"; sg: "ds.sg"; sh: "ds.sh"; si: "ds.si"; sj: "ds.sj"; sk: "ds.sk"; sl: "ds.sl"; sm: "ds.sm"; sn: "ds.sn"; so: "ds.so"; sp: "ds.sp"; sq: "ds.sq"; sr: "ds.sr"; ss: "ds.ss"; st: "ds.st"; su: "ds.su"; sv: "ds.sv"; sw: "ds.sw"; sx: "ds.sx"; sy: "ds.sy"; sz: "ds.sz"; ta: "ds.ta"; tb: "ds.tb"; tc: "ds.tc"; td: "ds.td"; te: "ds.te"; tf: "ds.tf"; tg: "ds.tg"; th: "ds.th"; ti: "ds.ti"; tj: "ds.tj"; tk: "ds.tk"; tl: "ds.tl"; tm: "ds.tm"; tn: "ds.tn"; to: "ds.to"; tp: "ds.tp"; tq: "ds.tq"; tr: "ds.tr"; ts: "ds.ts"; tt: "ds.tt"; tu: "ds.tu"; tv: "ds.tv"; tw: "ds.tw"; tx: "ds.tx"; ty: "ds.ty"; tz: "ds.tz"; ua: "ds.ua"; ub: "ds.ub"; uc: "ds.uc"; ud: "ds.ud"; ue: "ds.ue"; uf: "ds.uf"; ug: "ds.ug"; uh: "ds.uh"; ui: "ds.ui"; uj: "ds.uj"; uk: "ds.uk"; ul: "ds.ul"; um: "ds.um"; un: "ds.un"; uo: "ds.uo"; up: "ds.up"; uq: "ds.uq"; ur: "ds.ur"; us: "ds.us"; ut: "ds.ut"; uu: "ds.uu"; uv: "ds.uv"; uw: "ds.uw"; ux: "ds.ux"; uy: "ds.uy"; uz: "ds.uz"; va: "ds.va"; vb: "ds.vb"; vc: "ds.vc"; vd: "ds.vd"; ve: "ds.ve"; vf: "ds.vf"; vg: "ds.vg"; vh: "ds.vh"; vi: "ds.vi"; vj: "ds.vj"; vk: "ds.vk"; vl: "ds.vl"; vm: "ds.vm"; vn: "ds.vn"; vo: "ds.vo"; vp: "ds.vp"; vq: "ds.vq"; vr: "ds.vr"; vs: "ds.vs"; vt: "ds.vt"; vu: "ds.vu"; vv: "ds.vv"; vw: "ds.vw"; vx: "ds.vx"; vy: "ds.vy"; vz: "ds.vz"; wa: "ds.wa"; wb: "ds.wb"; wc: "ds.wc"; wd: "ds.wd"; we: "ds.we"; wf: "ds.wf"; wg: "ds.wg"; wh: "ds.wh"; wi: "ds.wi"; wj: "ds.wj"; wk: "ds.wk"; wl: "ds.wl"; wm: "ds.wm"; wn: "ds.wn"; wo: "ds.wo"; wp: "ds.wp"; wq: "ds.wq"; wr: "ds.wr"; ws: "ds.ws"; wt: "ds.wt"; wu: "ds.wu"; wv: "ds.wv"; ww: "ds.ww"; wx: "ds.wx"; wy: "ds.wy"; wz: "ds.wz"; xa: "ds.xa"; xb: "ds.xb"; xc: "ds.xc"; xd: "ds.xd"; xe: "ds.xe"; xf: "ds.xf"; xg: "ds.xg"; xh: "ds.xh"; xi: "ds.xi"; xj: "ds.xj"; xk: "ds.xk"; xl: "ds.xl"; xm: "ds.xm"; xn: "ds.xn"; xo: "ds.xo"; xp: "ds.xp"; xq: "ds.xq"; xr: "ds.xr"; xs: "ds.xs"; xt: "ds.xt"; xu: "ds.xu"; xv: "ds.xv"; xw: "ds.xw"; xx: "ds.xx"; xy: "ds.xy"; xz: "ds.xz"; ya: "ds.ya"; yb: "ds.yb"; yc: "ds.yc"; yd: "ds.yd"; ye: "ds.ye"; yf: "ds.yf"; yg: "ds.yg"; yh: "ds.yh"; yi: "ds.yi"; yj: "ds.yj"; yk: "ds.yk"; yl: "ds.yl"; ym: "ds.ym"; yn: "ds.yn"; yo: "ds.yo"; yp: "ds.yp"; yq: "ds.yq"; yr: "ds.yr"; ys: "ds.ys"; yt: "ds.yt"; yu: "ds.yu"; yv: "ds.yv"; yw: "ds.yw"; yx: "ds.yx"; yy: "ds.yy"; yz: "ds.yz"; za: "ds.za"; zb: "ds.zb"; zc: "ds.zc"; zd: "ds.zd"; ze: "ds.ze"; zf: "ds.zf"; zg: "ds.zg"; zh: "ds.zh"; zi: "ds.zi"; zj: "ds.zj"; zk: "ds.zk"; zl: "ds.zl"; zm: "ds.zm"; zn: "ds.zn"; zo: "ds.zo"; zp: "ds.zp"; zq: "ds.zq"; zr: "ds.zr"; zs: "ds.zs"; zt: "ds.zt"; zu: "ds.zu"; zv: "ds.zv"; zw: "ds.zw"; zx: "ds.zx"; zy: "ds.zy"; zz: "ds.zz"; }; dt: { aa: "dt.aa"; ab: "dt.ab"; ac: "dt.ac"; ad: "dt.ad"; ae: "dt.ae"; af: "dt.af"; ag: "dt.ag"; ah: "dt.ah"; ai: "dt.ai"; aj: "dt.aj"; ak: "dt.ak"; al: "dt.al"; am: "dt.am"; an: "dt.an"; ao: "dt.ao"; ap: "dt.ap"; aq: "dt.aq"; ar: "dt.ar"; as: "dt.as"; at: "dt.at"; au: "dt.au"; av: "dt.av"; aw: "dt.aw"; ax: "dt.ax"; ay: "dt.ay"; az: "dt.az"; ba: "dt.ba"; bb: "dt.bb"; bc: "dt.bc"; bd: "dt.bd"; be: "dt.be"; bf: "dt.bf"; bg: "dt.bg"; bh: "dt.bh"; bi: "dt.bi"; bj: "dt.bj"; bk: "dt.bk"; bl: "dt.bl"; bm: "dt.bm"; bn: "dt.bn"; bo: "dt.bo"; bp: "dt.bp"; bq: "dt.bq"; br: "dt.br"; bs: "dt.bs"; bt: "dt.bt"; bu: "dt.bu"; bv: "dt.bv"; bw: "dt.bw"; bx: "dt.bx"; by: "dt.by"; bz: "dt.bz"; ca: "dt.ca"; cb: "dt.cb"; cc: "dt.cc"; cd: "dt.cd"; ce: "dt.ce"; cf: "dt.cf"; cg: "dt.cg"; ch: "dt.ch"; ci: "dt.ci"; cj: "dt.cj"; ck: "dt.ck"; cl: "dt.cl"; cm: "dt.cm"; cn: "dt.cn"; co: "dt.co"; cp: "dt.cp"; cq: "dt.cq"; cr: "dt.cr"; cs: "dt.cs"; ct: "dt.ct"; cu: "dt.cu"; cv: "dt.cv"; cw: "dt.cw"; cx: "dt.cx"; cy: "dt.cy"; cz: "dt.cz"; da: "dt.da"; db: "dt.db"; dc: "dt.dc"; dd: "dt.dd"; de: "dt.de"; df: "dt.df"; dg: "dt.dg"; dh: "dt.dh"; di: "dt.di"; dj: "dt.dj"; dk: "dt.dk"; dl: "dt.dl"; dm: "dt.dm"; dn: "dt.dn"; do: "dt.do"; dp: "dt.dp"; dq: "dt.dq"; dr: "dt.dr"; ds: "dt.ds"; dt: "dt.dt"; du: "dt.du"; dv: "dt.dv"; dw: "dt.dw"; dx: "dt.dx"; dy: "dt.dy"; dz: "dt.dz"; ea: "dt.ea"; eb: "dt.eb"; ec: "dt.ec"; ed: "dt.ed"; ee: "dt.ee"; ef: "dt.ef"; eg: "dt.eg"; eh: "dt.eh"; ei: "dt.ei"; ej: "dt.ej"; ek: "dt.ek"; el: "dt.el"; em: "dt.em"; en: "dt.en"; eo: "dt.eo"; ep: "dt.ep"; eq: "dt.eq"; er: "dt.er"; es: "dt.es"; et: "dt.et"; eu: "dt.eu"; ev: "dt.ev"; ew: "dt.ew"; ex: "dt.ex"; ey: "dt.ey"; ez: "dt.ez"; fa: "dt.fa"; fb: "dt.fb"; fc: "dt.fc"; fd: "dt.fd"; fe: "dt.fe"; ff: "dt.ff"; fg: "dt.fg"; fh: "dt.fh"; fi: "dt.fi"; fj: "dt.fj"; fk: "dt.fk"; fl: "dt.fl"; fm: "dt.fm"; fn: "dt.fn"; fo: "dt.fo"; fp: "dt.fp"; fq: "dt.fq"; fr: "dt.fr"; fs: "dt.fs"; ft: "dt.ft"; fu: "dt.fu"; fv: "dt.fv"; fw: "dt.fw"; fx: "dt.fx"; fy: "dt.fy"; fz: "dt.fz"; ga: "dt.ga"; gb: "dt.gb"; gc: "dt.gc"; gd: "dt.gd"; ge: "dt.ge"; gf: "dt.gf"; gg: "dt.gg"; gh: "dt.gh"; gi: "dt.gi"; gj: "dt.gj"; gk: "dt.gk"; gl: "dt.gl"; gm: "dt.gm"; gn: "dt.gn"; go: "dt.go"; gp: "dt.gp"; gq: "dt.gq"; gr: "dt.gr"; gs: "dt.gs"; gt: "dt.gt"; gu: "dt.gu"; gv: "dt.gv"; gw: "dt.gw"; gx: "dt.gx"; gy: "dt.gy"; gz: "dt.gz"; ha: "dt.ha"; hb: "dt.hb"; hc: "dt.hc"; hd: "dt.hd"; he: "dt.he"; hf: "dt.hf"; hg: "dt.hg"; hh: "dt.hh"; hi: "dt.hi"; hj: "dt.hj"; hk: "dt.hk"; hl: "dt.hl"; hm: "dt.hm"; hn: "dt.hn"; ho: "dt.ho"; hp: "dt.hp"; hq: "dt.hq"; hr: "dt.hr"; hs: "dt.hs"; ht: "dt.ht"; hu: "dt.hu"; hv: "dt.hv"; hw: "dt.hw"; hx: "dt.hx"; hy: "dt.hy"; hz: "dt.hz"; ia: "dt.ia"; ib: "dt.ib"; ic: "dt.ic"; id: "dt.id"; ie: "dt.ie"; if: "dt.if"; ig: "dt.ig"; ih: "dt.ih"; ii: "dt.ii"; ij: "dt.ij"; ik: "dt.ik"; il: "dt.il"; im: "dt.im"; in: "dt.in"; io: "dt.io"; ip: "dt.ip"; iq: "dt.iq"; ir: "dt.ir"; is: "dt.is"; it: "dt.it"; iu: "dt.iu"; iv: "dt.iv"; iw: "dt.iw"; ix: "dt.ix"; iy: "dt.iy"; iz: "dt.iz"; ja: "dt.ja"; jb: "dt.jb"; jc: "dt.jc"; jd: "dt.jd"; je: "dt.je"; jf: "dt.jf"; jg: "dt.jg"; jh: "dt.jh"; ji: "dt.ji"; jj: "dt.jj"; jk: "dt.jk"; jl: "dt.jl"; jm: "dt.jm"; jn: "dt.jn"; jo: "dt.jo"; jp: "dt.jp"; jq: "dt.jq"; jr: "dt.jr"; js: "dt.js"; jt: "dt.jt"; ju: "dt.ju"; jv: "dt.jv"; jw: "dt.jw"; jx: "dt.jx"; jy: "dt.jy"; jz: "dt.jz"; ka: "dt.ka"; kb: "dt.kb"; kc: "dt.kc"; kd: "dt.kd"; ke: "dt.ke"; kf: "dt.kf"; kg: "dt.kg"; kh: "dt.kh"; ki: "dt.ki"; kj: "dt.kj"; kk: "dt.kk"; kl: "dt.kl"; km: "dt.km"; kn: "dt.kn"; ko: "dt.ko"; kp: "dt.kp"; kq: "dt.kq"; kr: "dt.kr"; ks: "dt.ks"; kt: "dt.kt"; ku: "dt.ku"; kv: "dt.kv"; kw: "dt.kw"; kx: "dt.kx"; ky: "dt.ky"; kz: "dt.kz"; la: "dt.la"; lb: "dt.lb"; lc: "dt.lc"; ld: "dt.ld"; le: "dt.le"; lf: "dt.lf"; lg: "dt.lg"; lh: "dt.lh"; li: "dt.li"; lj: "dt.lj"; lk: "dt.lk"; ll: "dt.ll"; lm: "dt.lm"; ln: "dt.ln"; lo: "dt.lo"; lp: "dt.lp"; lq: "dt.lq"; lr: "dt.lr"; ls: "dt.ls"; lt: "dt.lt"; lu: "dt.lu"; lv: "dt.lv"; lw: "dt.lw"; lx: "dt.lx"; ly: "dt.ly"; lz: "dt.lz"; ma: "dt.ma"; mb: "dt.mb"; mc: "dt.mc"; md: "dt.md"; me: "dt.me"; mf: "dt.mf"; mg: "dt.mg"; mh: "dt.mh"; mi: "dt.mi"; mj: "dt.mj"; mk: "dt.mk"; ml: "dt.ml"; mm: "dt.mm"; mn: "dt.mn"; mo: "dt.mo"; mp: "dt.mp"; mq: "dt.mq"; mr: "dt.mr"; ms: "dt.ms"; mt: "dt.mt"; mu: "dt.mu"; mv: "dt.mv"; mw: "dt.mw"; mx: "dt.mx"; my: "dt.my"; mz: "dt.mz"; na: "dt.na"; nb: "dt.nb"; nc: "dt.nc"; nd: "dt.nd"; ne: "dt.ne"; nf: "dt.nf"; ng: "dt.ng"; nh: "dt.nh"; ni: "dt.ni"; nj: "dt.nj"; nk: "dt.nk"; nl: "dt.nl"; nm: "dt.nm"; nn: "dt.nn"; no: "dt.no"; np: "dt.np"; nq: "dt.nq"; nr: "dt.nr"; ns: "dt.ns"; nt: "dt.nt"; nu: "dt.nu"; nv: "dt.nv"; nw: "dt.nw"; nx: "dt.nx"; ny: "dt.ny"; nz: "dt.nz"; oa: "dt.oa"; ob: "dt.ob"; oc: "dt.oc"; od: "dt.od"; oe: "dt.oe"; of: "dt.of"; og: "dt.og"; oh: "dt.oh"; oi: "dt.oi"; oj: "dt.oj"; ok: "dt.ok"; ol: "dt.ol"; om: "dt.om"; on: "dt.on"; oo: "dt.oo"; op: "dt.op"; oq: "dt.oq"; or: "dt.or"; os: "dt.os"; ot: "dt.ot"; ou: "dt.ou"; ov: "dt.ov"; ow: "dt.ow"; ox: "dt.ox"; oy: "dt.oy"; oz: "dt.oz"; pa: "dt.pa"; pb: "dt.pb"; pc: "dt.pc"; pd: "dt.pd"; pe: "dt.pe"; pf: "dt.pf"; pg: "dt.pg"; ph: "dt.ph"; pi: "dt.pi"; pj: "dt.pj"; pk: "dt.pk"; pl: "dt.pl"; pm: "dt.pm"; pn: "dt.pn"; po: "dt.po"; pp: "dt.pp"; pq: "dt.pq"; pr: "dt.pr"; ps: "dt.ps"; pt: "dt.pt"; pu: "dt.pu"; pv: "dt.pv"; pw: "dt.pw"; px: "dt.px"; py: "dt.py"; pz: "dt.pz"; qa: "dt.qa"; qb: "dt.qb"; qc: "dt.qc"; qd: "dt.qd"; qe: "dt.qe"; qf: "dt.qf"; qg: "dt.qg"; qh: "dt.qh"; qi: "dt.qi"; qj: "dt.qj"; qk: "dt.qk"; ql: "dt.ql"; qm: "dt.qm"; qn: "dt.qn"; qo: "dt.qo"; qp: "dt.qp"; qq: "dt.qq"; qr: "dt.qr"; qs: "dt.qs"; qt: "dt.qt"; qu: "dt.qu"; qv: "dt.qv"; qw: "dt.qw"; qx: "dt.qx"; qy: "dt.qy"; qz: "dt.qz"; ra: "dt.ra"; rb: "dt.rb"; rc: "dt.rc"; rd: "dt.rd"; re: "dt.re"; rf: "dt.rf"; rg: "dt.rg"; rh: "dt.rh"; ri: "dt.ri"; rj: "dt.rj"; rk: "dt.rk"; rl: "dt.rl"; rm: "dt.rm"; rn: "dt.rn"; ro: "dt.ro"; rp: "dt.rp"; rq: "dt.rq"; rr: "dt.rr"; rs: "dt.rs"; rt: "dt.rt"; ru: "dt.ru"; rv: "dt.rv"; rw: "dt.rw"; rx: "dt.rx"; ry: "dt.ry"; rz: "dt.rz"; sa: "dt.sa"; sb: "dt.sb"; sc: "dt.sc"; sd: "dt.sd"; se: "dt.se"; sf: "dt.sf"; sg: "dt.sg"; sh: "dt.sh"; si: "dt.si"; sj: "dt.sj"; sk: "dt.sk"; sl: "dt.sl"; sm: "dt.sm"; sn: "dt.sn"; so: "dt.so"; sp: "dt.sp"; sq: "dt.sq"; sr: "dt.sr"; ss: "dt.ss"; st: "dt.st"; su: "dt.su"; sv: "dt.sv"; sw: "dt.sw"; sx: "dt.sx"; sy: "dt.sy"; sz: "dt.sz"; ta: "dt.ta"; tb: "dt.tb"; tc: "dt.tc"; td: "dt.td"; te: "dt.te"; tf: "dt.tf"; tg: "dt.tg"; th: "dt.th"; ti: "dt.ti"; tj: "dt.tj"; tk: "dt.tk"; tl: "dt.tl"; tm: "dt.tm"; tn: "dt.tn"; to: "dt.to"; tp: "dt.tp"; tq: "dt.tq"; tr: "dt.tr"; ts: "dt.ts"; tt: "dt.tt"; tu: "dt.tu"; tv: "dt.tv"; tw: "dt.tw"; tx: "dt.tx"; ty: "dt.ty"; tz: "dt.tz"; ua: "dt.ua"; ub: "dt.ub"; uc: "dt.uc"; ud: "dt.ud"; ue: "dt.ue"; uf: "dt.uf"; ug: "dt.ug"; uh: "dt.uh"; ui: "dt.ui"; uj: "dt.uj"; uk: "dt.uk"; ul: "dt.ul"; um: "dt.um"; un: "dt.un"; uo: "dt.uo"; up: "dt.up"; uq: "dt.uq"; ur: "dt.ur"; us: "dt.us"; ut: "dt.ut"; uu: "dt.uu"; uv: "dt.uv"; uw: "dt.uw"; ux: "dt.ux"; uy: "dt.uy"; uz: "dt.uz"; va: "dt.va"; vb: "dt.vb"; vc: "dt.vc"; vd: "dt.vd"; ve: "dt.ve"; vf: "dt.vf"; vg: "dt.vg"; vh: "dt.vh"; vi: "dt.vi"; vj: "dt.vj"; vk: "dt.vk"; vl: "dt.vl"; vm: "dt.vm"; vn: "dt.vn"; vo: "dt.vo"; vp: "dt.vp"; vq: "dt.vq"; vr: "dt.vr"; vs: "dt.vs"; vt: "dt.vt"; vu: "dt.vu"; vv: "dt.vv"; vw: "dt.vw"; vx: "dt.vx"; vy: "dt.vy"; vz: "dt.vz"; wa: "dt.wa"; wb: "dt.wb"; wc: "dt.wc"; wd: "dt.wd"; we: "dt.we"; wf: "dt.wf"; wg: "dt.wg"; wh: "dt.wh"; wi: "dt.wi"; wj: "dt.wj"; wk: "dt.wk"; wl: "dt.wl"; wm: "dt.wm"; wn: "dt.wn"; wo: "dt.wo"; wp: "dt.wp"; wq: "dt.wq"; wr: "dt.wr"; ws: "dt.ws"; wt: "dt.wt"; wu: "dt.wu"; wv: "dt.wv"; ww: "dt.ww"; wx: "dt.wx"; wy: "dt.wy"; wz: "dt.wz"; xa: "dt.xa"; xb: "dt.xb"; xc: "dt.xc"; xd: "dt.xd"; xe: "dt.xe"; xf: "dt.xf"; xg: "dt.xg"; xh: "dt.xh"; xi: "dt.xi"; xj: "dt.xj"; xk: "dt.xk"; xl: "dt.xl"; xm: "dt.xm"; xn: "dt.xn"; xo: "dt.xo"; xp: "dt.xp"; xq: "dt.xq"; xr: "dt.xr"; xs: "dt.xs"; xt: "dt.xt"; xu: "dt.xu"; xv: "dt.xv"; xw: "dt.xw"; xx: "dt.xx"; xy: "dt.xy"; xz: "dt.xz"; ya: "dt.ya"; yb: "dt.yb"; yc: "dt.yc"; yd: "dt.yd"; ye: "dt.ye"; yf: "dt.yf"; yg: "dt.yg"; yh: "dt.yh"; yi: "dt.yi"; yj: "dt.yj"; yk: "dt.yk"; yl: "dt.yl"; ym: "dt.ym"; yn: "dt.yn"; yo: "dt.yo"; yp: "dt.yp"; yq: "dt.yq"; yr: "dt.yr"; ys: "dt.ys"; yt: "dt.yt"; yu: "dt.yu"; yv: "dt.yv"; yw: "dt.yw"; yx: "dt.yx"; yy: "dt.yy"; yz: "dt.yz"; za: "dt.za"; zb: "dt.zb"; zc: "dt.zc"; zd: "dt.zd"; ze: "dt.ze"; zf: "dt.zf"; zg: "dt.zg"; zh: "dt.zh"; zi: "dt.zi"; zj: "dt.zj"; zk: "dt.zk"; zl: "dt.zl"; zm: "dt.zm"; zn: "dt.zn"; zo: "dt.zo"; zp: "dt.zp"; zq: "dt.zq"; zr: "dt.zr"; zs: "dt.zs"; zt: "dt.zt"; zu: "dt.zu"; zv: "dt.zv"; zw: "dt.zw"; zx: "dt.zx"; zy: "dt.zy"; zz: "dt.zz"; }; du: { aa: "du.aa"; ab: "du.ab"; ac: "du.ac"; ad: "du.ad"; ae: "du.ae"; af: "du.af"; ag: "du.ag"; ah: "du.ah"; ai: "du.ai"; aj: "du.aj"; ak: "du.ak"; al: "du.al"; am: "du.am"; an: "du.an"; ao: "du.ao"; ap: "du.ap"; aq: "du.aq"; ar: "du.ar"; as: "du.as"; at: "du.at"; au: "du.au"; av: "du.av"; aw: "du.aw"; ax: "du.ax"; ay: "du.ay"; az: "du.az"; ba: "du.ba"; bb: "du.bb"; bc: "du.bc"; bd: "du.bd"; be: "du.be"; bf: "du.bf"; bg: "du.bg"; bh: "du.bh"; bi: "du.bi"; bj: "du.bj"; bk: "du.bk"; bl: "du.bl"; bm: "du.bm"; bn: "du.bn"; bo: "du.bo"; bp: "du.bp"; bq: "du.bq"; br: "du.br"; bs: "du.bs"; bt: "du.bt"; bu: "du.bu"; bv: "du.bv"; bw: "du.bw"; bx: "du.bx"; by: "du.by"; bz: "du.bz"; ca: "du.ca"; cb: "du.cb"; cc: "du.cc"; cd: "du.cd"; ce: "du.ce"; cf: "du.cf"; cg: "du.cg"; ch: "du.ch"; ci: "du.ci"; cj: "du.cj"; ck: "du.ck"; cl: "du.cl"; cm: "du.cm"; cn: "du.cn"; co: "du.co"; cp: "du.cp"; cq: "du.cq"; cr: "du.cr"; cs: "du.cs"; ct: "du.ct"; cu: "du.cu"; cv: "du.cv"; cw: "du.cw"; cx: "du.cx"; cy: "du.cy"; cz: "du.cz"; da: "du.da"; db: "du.db"; dc: "du.dc"; dd: "du.dd"; de: "du.de"; df: "du.df"; dg: "du.dg"; dh: "du.dh"; di: "du.di"; dj: "du.dj"; dk: "du.dk"; dl: "du.dl"; dm: "du.dm"; dn: "du.dn"; do: "du.do"; dp: "du.dp"; dq: "du.dq"; dr: "du.dr"; ds: "du.ds"; dt: "du.dt"; du: "du.du"; dv: "du.dv"; dw: "du.dw"; dx: "du.dx"; dy: "du.dy"; dz: "du.dz"; ea: "du.ea"; eb: "du.eb"; ec: "du.ec"; ed: "du.ed"; ee: "du.ee"; ef: "du.ef"; eg: "du.eg"; eh: "du.eh"; ei: "du.ei"; ej: "du.ej"; ek: "du.ek"; el: "du.el"; em: "du.em"; en: "du.en"; eo: "du.eo"; ep: "du.ep"; eq: "du.eq"; er: "du.er"; es: "du.es"; et: "du.et"; eu: "du.eu"; ev: "du.ev"; ew: "du.ew"; ex: "du.ex"; ey: "du.ey"; ez: "du.ez"; fa: "du.fa"; fb: "du.fb"; fc: "du.fc"; fd: "du.fd"; fe: "du.fe"; ff: "du.ff"; fg: "du.fg"; fh: "du.fh"; fi: "du.fi"; fj: "du.fj"; fk: "du.fk"; fl: "du.fl"; fm: "du.fm"; fn: "du.fn"; fo: "du.fo"; fp: "du.fp"; fq: "du.fq"; fr: "du.fr"; fs: "du.fs"; ft: "du.ft"; fu: "du.fu"; fv: "du.fv"; fw: "du.fw"; fx: "du.fx"; fy: "du.fy"; fz: "du.fz"; ga: "du.ga"; gb: "du.gb"; gc: "du.gc"; gd: "du.gd"; ge: "du.ge"; gf: "du.gf"; gg: "du.gg"; gh: "du.gh"; gi: "du.gi"; gj: "du.gj"; gk: "du.gk"; gl: "du.gl"; gm: "du.gm"; gn: "du.gn"; go: "du.go"; gp: "du.gp"; gq: "du.gq"; gr: "du.gr"; gs: "du.gs"; gt: "du.gt"; gu: "du.gu"; gv: "du.gv"; gw: "du.gw"; gx: "du.gx"; gy: "du.gy"; gz: "du.gz"; ha: "du.ha"; hb: "du.hb"; hc: "du.hc"; hd: "du.hd"; he: "du.he"; hf: "du.hf"; hg: "du.hg"; hh: "du.hh"; hi: "du.hi"; hj: "du.hj"; hk: "du.hk"; hl: "du.hl"; hm: "du.hm"; hn: "du.hn"; ho: "du.ho"; hp: "du.hp"; hq: "du.hq"; hr: "du.hr"; hs: "du.hs"; ht: "du.ht"; hu: "du.hu"; hv: "du.hv"; hw: "du.hw"; hx: "du.hx"; hy: "du.hy"; hz: "du.hz"; ia: "du.ia"; ib: "du.ib"; ic: "du.ic"; id: "du.id"; ie: "du.ie"; if: "du.if"; ig: "du.ig"; ih: "du.ih"; ii: "du.ii"; ij: "du.ij"; ik: "du.ik"; il: "du.il"; im: "du.im"; in: "du.in"; io: "du.io"; ip: "du.ip"; iq: "du.iq"; ir: "du.ir"; is: "du.is"; it: "du.it"; iu: "du.iu"; iv: "du.iv"; iw: "du.iw"; ix: "du.ix"; iy: "du.iy"; iz: "du.iz"; ja: "du.ja"; jb: "du.jb"; jc: "du.jc"; jd: "du.jd"; je: "du.je"; jf: "du.jf"; jg: "du.jg"; jh: "du.jh"; ji: "du.ji"; jj: "du.jj"; jk: "du.jk"; jl: "du.jl"; jm: "du.jm"; jn: "du.jn"; jo: "du.jo"; jp: "du.jp"; jq: "du.jq"; jr: "du.jr"; js: "du.js"; jt: "du.jt"; ju: "du.ju"; jv: "du.jv"; jw: "du.jw"; jx: "du.jx"; jy: "du.jy"; jz: "du.jz"; ka: "du.ka"; kb: "du.kb"; kc: "du.kc"; kd: "du.kd"; ke: "du.ke"; kf: "du.kf"; kg: "du.kg"; kh: "du.kh"; ki: "du.ki"; kj: "du.kj"; kk: "du.kk"; kl: "du.kl"; km: "du.km"; kn: "du.kn"; ko: "du.ko"; kp: "du.kp"; kq: "du.kq"; kr: "du.kr"; ks: "du.ks"; kt: "du.kt"; ku: "du.ku"; kv: "du.kv"; kw: "du.kw"; kx: "du.kx"; ky: "du.ky"; kz: "du.kz"; la: "du.la"; lb: "du.lb"; lc: "du.lc"; ld: "du.ld"; le: "du.le"; lf: "du.lf"; lg: "du.lg"; lh: "du.lh"; li: "du.li"; lj: "du.lj"; lk: "du.lk"; ll: "du.ll"; lm: "du.lm"; ln: "du.ln"; lo: "du.lo"; lp: "du.lp"; lq: "du.lq"; lr: "du.lr"; ls: "du.ls"; lt: "du.lt"; lu: "du.lu"; lv: "du.lv"; lw: "du.lw"; lx: "du.lx"; ly: "du.ly"; lz: "du.lz"; ma: "du.ma"; mb: "du.mb"; mc: "du.mc"; md: "du.md"; me: "du.me"; mf: "du.mf"; mg: "du.mg"; mh: "du.mh"; mi: "du.mi"; mj: "du.mj"; mk: "du.mk"; ml: "du.ml"; mm: "du.mm"; mn: "du.mn"; mo: "du.mo"; mp: "du.mp"; mq: "du.mq"; mr: "du.mr"; ms: "du.ms"; mt: "du.mt"; mu: "du.mu"; mv: "du.mv"; mw: "du.mw"; mx: "du.mx"; my: "du.my"; mz: "du.mz"; na: "du.na"; nb: "du.nb"; nc: "du.nc"; nd: "du.nd"; ne: "du.ne"; nf: "du.nf"; ng: "du.ng"; nh: "du.nh"; ni: "du.ni"; nj: "du.nj"; nk: "du.nk"; nl: "du.nl"; nm: "du.nm"; nn: "du.nn"; no: "du.no"; np: "du.np"; nq: "du.nq"; nr: "du.nr"; ns: "du.ns"; nt: "du.nt"; nu: "du.nu"; nv: "du.nv"; nw: "du.nw"; nx: "du.nx"; ny: "du.ny"; nz: "du.nz"; oa: "du.oa"; ob: "du.ob"; oc: "du.oc"; od: "du.od"; oe: "du.oe"; of: "du.of"; og: "du.og"; oh: "du.oh"; oi: "du.oi"; oj: "du.oj"; ok: "du.ok"; ol: "du.ol"; om: "du.om"; on: "du.on"; oo: "du.oo"; op: "du.op"; oq: "du.oq"; or: "du.or"; os: "du.os"; ot: "du.ot"; ou: "du.ou"; ov: "du.ov"; ow: "du.ow"; ox: "du.ox"; oy: "du.oy"; oz: "du.oz"; pa: "du.pa"; pb: "du.pb"; pc: "du.pc"; pd: "du.pd"; pe: "du.pe"; pf: "du.pf"; pg: "du.pg"; ph: "du.ph"; pi: "du.pi"; pj: "du.pj"; pk: "du.pk"; pl: "du.pl"; pm: "du.pm"; pn: "du.pn"; po: "du.po"; pp: "du.pp"; pq: "du.pq"; pr: "du.pr"; ps: "du.ps"; pt: "du.pt"; pu: "du.pu"; pv: "du.pv"; pw: "du.pw"; px: "du.px"; py: "du.py"; pz: "du.pz"; qa: "du.qa"; qb: "du.qb"; qc: "du.qc"; qd: "du.qd"; qe: "du.qe"; qf: "du.qf"; qg: "du.qg"; qh: "du.qh"; qi: "du.qi"; qj: "du.qj"; qk: "du.qk"; ql: "du.ql"; qm: "du.qm"; qn: "du.qn"; qo: "du.qo"; qp: "du.qp"; qq: "du.qq"; qr: "du.qr"; qs: "du.qs"; qt: "du.qt"; qu: "du.qu"; qv: "du.qv"; qw: "du.qw"; qx: "du.qx"; qy: "du.qy"; qz: "du.qz"; ra: "du.ra"; rb: "du.rb"; rc: "du.rc"; rd: "du.rd"; re: "du.re"; rf: "du.rf"; rg: "du.rg"; rh: "du.rh"; ri: "du.ri"; rj: "du.rj"; rk: "du.rk"; rl: "du.rl"; rm: "du.rm"; rn: "du.rn"; ro: "du.ro"; rp: "du.rp"; rq: "du.rq"; rr: "du.rr"; rs: "du.rs"; rt: "du.rt"; ru: "du.ru"; rv: "du.rv"; rw: "du.rw"; rx: "du.rx"; ry: "du.ry"; rz: "du.rz"; sa: "du.sa"; sb: "du.sb"; sc: "du.sc"; sd: "du.sd"; se: "du.se"; sf: "du.sf"; sg: "du.sg"; sh: "du.sh"; si: "du.si"; sj: "du.sj"; sk: "du.sk"; sl: "du.sl"; sm: "du.sm"; sn: "du.sn"; so: "du.so"; sp: "du.sp"; sq: "du.sq"; sr: "du.sr"; ss: "du.ss"; st: "du.st"; su: "du.su"; sv: "du.sv"; sw: "du.sw"; sx: "du.sx"; sy: "du.sy"; sz: "du.sz"; ta: "du.ta"; tb: "du.tb"; tc: "du.tc"; td: "du.td"; te: "du.te"; tf: "du.tf"; tg: "du.tg"; th: "du.th"; ti: "du.ti"; tj: "du.tj"; tk: "du.tk"; tl: "du.tl"; tm: "du.tm"; tn: "du.tn"; to: "du.to"; tp: "du.tp"; tq: "du.tq"; tr: "du.tr"; ts: "du.ts"; tt: "du.tt"; tu: "du.tu"; tv: "du.tv"; tw: "du.tw"; tx: "du.tx"; ty: "du.ty"; tz: "du.tz"; ua: "du.ua"; ub: "du.ub"; uc: "du.uc"; ud: "du.ud"; ue: "du.ue"; uf: "du.uf"; ug: "du.ug"; uh: "du.uh"; ui: "du.ui"; uj: "du.uj"; uk: "du.uk"; ul: "du.ul"; um: "du.um"; un: "du.un"; uo: "du.uo"; up: "du.up"; uq: "du.uq"; ur: "du.ur"; us: "du.us"; ut: "du.ut"; uu: "du.uu"; uv: "du.uv"; uw: "du.uw"; ux: "du.ux"; uy: "du.uy"; uz: "du.uz"; va: "du.va"; vb: "du.vb"; vc: "du.vc"; vd: "du.vd"; ve: "du.ve"; vf: "du.vf"; vg: "du.vg"; vh: "du.vh"; vi: "du.vi"; vj: "du.vj"; vk: "du.vk"; vl: "du.vl"; vm: "du.vm"; vn: "du.vn"; vo: "du.vo"; vp: "du.vp"; vq: "du.vq"; vr: "du.vr"; vs: "du.vs"; vt: "du.vt"; vu: "du.vu"; vv: "du.vv"; vw: "du.vw"; vx: "du.vx"; vy: "du.vy"; vz: "du.vz"; wa: "du.wa"; wb: "du.wb"; wc: "du.wc"; wd: "du.wd"; we: "du.we"; wf: "du.wf"; wg: "du.wg"; wh: "du.wh"; wi: "du.wi"; wj: "du.wj"; wk: "du.wk"; wl: "du.wl"; wm: "du.wm"; wn: "du.wn"; wo: "du.wo"; wp: "du.wp"; wq: "du.wq"; wr: "du.wr"; ws: "du.ws"; wt: "du.wt"; wu: "du.wu"; wv: "du.wv"; ww: "du.ww"; wx: "du.wx"; wy: "du.wy"; wz: "du.wz"; xa: "du.xa"; xb: "du.xb"; xc: "du.xc"; xd: "du.xd"; xe: "du.xe"; xf: "du.xf"; xg: "du.xg"; xh: "du.xh"; xi: "du.xi"; xj: "du.xj"; xk: "du.xk"; xl: "du.xl"; xm: "du.xm"; xn: "du.xn"; xo: "du.xo"; xp: "du.xp"; xq: "du.xq"; xr: "du.xr"; xs: "du.xs"; xt: "du.xt"; xu: "du.xu"; xv: "du.xv"; xw: "du.xw"; xx: "du.xx"; xy: "du.xy"; xz: "du.xz"; ya: "du.ya"; yb: "du.yb"; yc: "du.yc"; yd: "du.yd"; ye: "du.ye"; yf: "du.yf"; yg: "du.yg"; yh: "du.yh"; yi: "du.yi"; yj: "du.yj"; yk: "du.yk"; yl: "du.yl"; ym: "du.ym"; yn: "du.yn"; yo: "du.yo"; yp: "du.yp"; yq: "du.yq"; yr: "du.yr"; ys: "du.ys"; yt: "du.yt"; yu: "du.yu"; yv: "du.yv"; yw: "du.yw"; yx: "du.yx"; yy: "du.yy"; yz: "du.yz"; za: "du.za"; zb: "du.zb"; zc: "du.zc"; zd: "du.zd"; ze: "du.ze"; zf: "du.zf"; zg: "du.zg"; zh: "du.zh"; zi: "du.zi"; zj: "du.zj"; zk: "du.zk"; zl: "du.zl"; zm: "du.zm"; zn: "du.zn"; zo: "du.zo"; zp: "du.zp"; zq: "du.zq"; zr: "du.zr"; zs: "du.zs"; zt: "du.zt"; zu: "du.zu"; zv: "du.zv"; zw: "du.zw"; zx: "du.zx"; zy: "du.zy"; zz: "du.zz"; }; dv: { aa: "dv.aa"; ab: "dv.ab"; ac: "dv.ac"; ad: "dv.ad"; ae: "dv.ae"; af: "dv.af"; ag: "dv.ag"; ah: "dv.ah"; ai: "dv.ai"; aj: "dv.aj"; ak: "dv.ak"; al: "dv.al"; am: "dv.am"; an: "dv.an"; ao: "dv.ao"; ap: "dv.ap"; aq: "dv.aq"; ar: "dv.ar"; as: "dv.as"; at: "dv.at"; au: "dv.au"; av: "dv.av"; aw: "dv.aw"; ax: "dv.ax"; ay: "dv.ay"; az: "dv.az"; ba: "dv.ba"; bb: "dv.bb"; bc: "dv.bc"; bd: "dv.bd"; be: "dv.be"; bf: "dv.bf"; bg: "dv.bg"; bh: "dv.bh"; bi: "dv.bi"; bj: "dv.bj"; bk: "dv.bk"; bl: "dv.bl"; bm: "dv.bm"; bn: "dv.bn"; bo: "dv.bo"; bp: "dv.bp"; bq: "dv.bq"; br: "dv.br"; bs: "dv.bs"; bt: "dv.bt"; bu: "dv.bu"; bv: "dv.bv"; bw: "dv.bw"; bx: "dv.bx"; by: "dv.by"; bz: "dv.bz"; ca: "dv.ca"; cb: "dv.cb"; cc: "dv.cc"; cd: "dv.cd"; ce: "dv.ce"; cf: "dv.cf"; cg: "dv.cg"; ch: "dv.ch"; ci: "dv.ci"; cj: "dv.cj"; ck: "dv.ck"; cl: "dv.cl"; cm: "dv.cm"; cn: "dv.cn"; co: "dv.co"; cp: "dv.cp"; cq: "dv.cq"; cr: "dv.cr"; cs: "dv.cs"; ct: "dv.ct"; cu: "dv.cu"; cv: "dv.cv"; cw: "dv.cw"; cx: "dv.cx"; cy: "dv.cy"; cz: "dv.cz"; da: "dv.da"; db: "dv.db"; dc: "dv.dc"; dd: "dv.dd"; de: "dv.de"; df: "dv.df"; dg: "dv.dg"; dh: "dv.dh"; di: "dv.di"; dj: "dv.dj"; dk: "dv.dk"; dl: "dv.dl"; dm: "dv.dm"; dn: "dv.dn"; do: "dv.do"; dp: "dv.dp"; dq: "dv.dq"; dr: "dv.dr"; ds: "dv.ds"; dt: "dv.dt"; du: "dv.du"; dv: "dv.dv"; dw: "dv.dw"; dx: "dv.dx"; dy: "dv.dy"; dz: "dv.dz"; ea: "dv.ea"; eb: "dv.eb"; ec: "dv.ec"; ed: "dv.ed"; ee: "dv.ee"; ef: "dv.ef"; eg: "dv.eg"; eh: "dv.eh"; ei: "dv.ei"; ej: "dv.ej"; ek: "dv.ek"; el: "dv.el"; em: "dv.em"; en: "dv.en"; eo: "dv.eo"; ep: "dv.ep"; eq: "dv.eq"; er: "dv.er"; es: "dv.es"; et: "dv.et"; eu: "dv.eu"; ev: "dv.ev"; ew: "dv.ew"; ex: "dv.ex"; ey: "dv.ey"; ez: "dv.ez"; fa: "dv.fa"; fb: "dv.fb"; fc: "dv.fc"; fd: "dv.fd"; fe: "dv.fe"; ff: "dv.ff"; fg: "dv.fg"; fh: "dv.fh"; fi: "dv.fi"; fj: "dv.fj"; fk: "dv.fk"; fl: "dv.fl"; fm: "dv.fm"; fn: "dv.fn"; fo: "dv.fo"; fp: "dv.fp"; fq: "dv.fq"; fr: "dv.fr"; fs: "dv.fs"; ft: "dv.ft"; fu: "dv.fu"; fv: "dv.fv"; fw: "dv.fw"; fx: "dv.fx"; fy: "dv.fy"; fz: "dv.fz"; ga: "dv.ga"; gb: "dv.gb"; gc: "dv.gc"; gd: "dv.gd"; ge: "dv.ge"; gf: "dv.gf"; gg: "dv.gg"; gh: "dv.gh"; gi: "dv.gi"; gj: "dv.gj"; gk: "dv.gk"; gl: "dv.gl"; gm: "dv.gm"; gn: "dv.gn"; go: "dv.go"; gp: "dv.gp"; gq: "dv.gq"; gr: "dv.gr"; gs: "dv.gs"; gt: "dv.gt"; gu: "dv.gu"; gv: "dv.gv"; gw: "dv.gw"; gx: "dv.gx"; gy: "dv.gy"; gz: "dv.gz"; ha: "dv.ha"; hb: "dv.hb"; hc: "dv.hc"; hd: "dv.hd"; he: "dv.he"; hf: "dv.hf"; hg: "dv.hg"; hh: "dv.hh"; hi: "dv.hi"; hj: "dv.hj"; hk: "dv.hk"; hl: "dv.hl"; hm: "dv.hm"; hn: "dv.hn"; ho: "dv.ho"; hp: "dv.hp"; hq: "dv.hq"; hr: "dv.hr"; hs: "dv.hs"; ht: "dv.ht"; hu: "dv.hu"; hv: "dv.hv"; hw: "dv.hw"; hx: "dv.hx"; hy: "dv.hy"; hz: "dv.hz"; ia: "dv.ia"; ib: "dv.ib"; ic: "dv.ic"; id: "dv.id"; ie: "dv.ie"; if: "dv.if"; ig: "dv.ig"; ih: "dv.ih"; ii: "dv.ii"; ij: "dv.ij"; ik: "dv.ik"; il: "dv.il"; im: "dv.im"; in: "dv.in"; io: "dv.io"; ip: "dv.ip"; iq: "dv.iq"; ir: "dv.ir"; is: "dv.is"; it: "dv.it"; iu: "dv.iu"; iv: "dv.iv"; iw: "dv.iw"; ix: "dv.ix"; iy: "dv.iy"; iz: "dv.iz"; ja: "dv.ja"; jb: "dv.jb"; jc: "dv.jc"; jd: "dv.jd"; je: "dv.je"; jf: "dv.jf"; jg: "dv.jg"; jh: "dv.jh"; ji: "dv.ji"; jj: "dv.jj"; jk: "dv.jk"; jl: "dv.jl"; jm: "dv.jm"; jn: "dv.jn"; jo: "dv.jo"; jp: "dv.jp"; jq: "dv.jq"; jr: "dv.jr"; js: "dv.js"; jt: "dv.jt"; ju: "dv.ju"; jv: "dv.jv"; jw: "dv.jw"; jx: "dv.jx"; jy: "dv.jy"; jz: "dv.jz"; ka: "dv.ka"; kb: "dv.kb"; kc: "dv.kc"; kd: "dv.kd"; ke: "dv.ke"; kf: "dv.kf"; kg: "dv.kg"; kh: "dv.kh"; ki: "dv.ki"; kj: "dv.kj"; kk: "dv.kk"; kl: "dv.kl"; km: "dv.km"; kn: "dv.kn"; ko: "dv.ko"; kp: "dv.kp"; kq: "dv.kq"; kr: "dv.kr"; ks: "dv.ks"; kt: "dv.kt"; ku: "dv.ku"; kv: "dv.kv"; kw: "dv.kw"; kx: "dv.kx"; ky: "dv.ky"; kz: "dv.kz"; la: "dv.la"; lb: "dv.lb"; lc: "dv.lc"; ld: "dv.ld"; le: "dv.le"; lf: "dv.lf"; lg: "dv.lg"; lh: "dv.lh"; li: "dv.li"; lj: "dv.lj"; lk: "dv.lk"; ll: "dv.ll"; lm: "dv.lm"; ln: "dv.ln"; lo: "dv.lo"; lp: "dv.lp"; lq: "dv.lq"; lr: "dv.lr"; ls: "dv.ls"; lt: "dv.lt"; lu: "dv.lu"; lv: "dv.lv"; lw: "dv.lw"; lx: "dv.lx"; ly: "dv.ly"; lz: "dv.lz"; ma: "dv.ma"; mb: "dv.mb"; mc: "dv.mc"; md: "dv.md"; me: "dv.me"; mf: "dv.mf"; mg: "dv.mg"; mh: "dv.mh"; mi: "dv.mi"; mj: "dv.mj"; mk: "dv.mk"; ml: "dv.ml"; mm: "dv.mm"; mn: "dv.mn"; mo: "dv.mo"; mp: "dv.mp"; mq: "dv.mq"; mr: "dv.mr"; ms: "dv.ms"; mt: "dv.mt"; mu: "dv.mu"; mv: "dv.mv"; mw: "dv.mw"; mx: "dv.mx"; my: "dv.my"; mz: "dv.mz"; na: "dv.na"; nb: "dv.nb"; nc: "dv.nc"; nd: "dv.nd"; ne: "dv.ne"; nf: "dv.nf"; ng: "dv.ng"; nh: "dv.nh"; ni: "dv.ni"; nj: "dv.nj"; nk: "dv.nk"; nl: "dv.nl"; nm: "dv.nm"; nn: "dv.nn"; no: "dv.no"; np: "dv.np"; nq: "dv.nq"; nr: "dv.nr"; ns: "dv.ns"; nt: "dv.nt"; nu: "dv.nu"; nv: "dv.nv"; nw: "dv.nw"; nx: "dv.nx"; ny: "dv.ny"; nz: "dv.nz"; oa: "dv.oa"; ob: "dv.ob"; oc: "dv.oc"; od: "dv.od"; oe: "dv.oe"; of: "dv.of"; og: "dv.og"; oh: "dv.oh"; oi: "dv.oi"; oj: "dv.oj"; ok: "dv.ok"; ol: "dv.ol"; om: "dv.om"; on: "dv.on"; oo: "dv.oo"; op: "dv.op"; oq: "dv.oq"; or: "dv.or"; os: "dv.os"; ot: "dv.ot"; ou: "dv.ou"; ov: "dv.ov"; ow: "dv.ow"; ox: "dv.ox"; oy: "dv.oy"; oz: "dv.oz"; pa: "dv.pa"; pb: "dv.pb"; pc: "dv.pc"; pd: "dv.pd"; pe: "dv.pe"; pf: "dv.pf"; pg: "dv.pg"; ph: "dv.ph"; pi: "dv.pi"; pj: "dv.pj"; pk: "dv.pk"; pl: "dv.pl"; pm: "dv.pm"; pn: "dv.pn"; po: "dv.po"; pp: "dv.pp"; pq: "dv.pq"; pr: "dv.pr"; ps: "dv.ps"; pt: "dv.pt"; pu: "dv.pu"; pv: "dv.pv"; pw: "dv.pw"; px: "dv.px"; py: "dv.py"; pz: "dv.pz"; qa: "dv.qa"; qb: "dv.qb"; qc: "dv.qc"; qd: "dv.qd"; qe: "dv.qe"; qf: "dv.qf"; qg: "dv.qg"; qh: "dv.qh"; qi: "dv.qi"; qj: "dv.qj"; qk: "dv.qk"; ql: "dv.ql"; qm: "dv.qm"; qn: "dv.qn"; qo: "dv.qo"; qp: "dv.qp"; qq: "dv.qq"; qr: "dv.qr"; qs: "dv.qs"; qt: "dv.qt"; qu: "dv.qu"; qv: "dv.qv"; qw: "dv.qw"; qx: "dv.qx"; qy: "dv.qy"; qz: "dv.qz"; ra: "dv.ra"; rb: "dv.rb"; rc: "dv.rc"; rd: "dv.rd"; re: "dv.re"; rf: "dv.rf"; rg: "dv.rg"; rh: "dv.rh"; ri: "dv.ri"; rj: "dv.rj"; rk: "dv.rk"; rl: "dv.rl"; rm: "dv.rm"; rn: "dv.rn"; ro: "dv.ro"; rp: "dv.rp"; rq: "dv.rq"; rr: "dv.rr"; rs: "dv.rs"; rt: "dv.rt"; ru: "dv.ru"; rv: "dv.rv"; rw: "dv.rw"; rx: "dv.rx"; ry: "dv.ry"; rz: "dv.rz"; sa: "dv.sa"; sb: "dv.sb"; sc: "dv.sc"; sd: "dv.sd"; se: "dv.se"; sf: "dv.sf"; sg: "dv.sg"; sh: "dv.sh"; si: "dv.si"; sj: "dv.sj"; sk: "dv.sk"; sl: "dv.sl"; sm: "dv.sm"; sn: "dv.sn"; so: "dv.so"; sp: "dv.sp"; sq: "dv.sq"; sr: "dv.sr"; ss: "dv.ss"; st: "dv.st"; su: "dv.su"; sv: "dv.sv"; sw: "dv.sw"; sx: "dv.sx"; sy: "dv.sy"; sz: "dv.sz"; ta: "dv.ta"; tb: "dv.tb"; tc: "dv.tc"; td: "dv.td"; te: "dv.te"; tf: "dv.tf"; tg: "dv.tg"; th: "dv.th"; ti: "dv.ti"; tj: "dv.tj"; tk: "dv.tk"; tl: "dv.tl"; tm: "dv.tm"; tn: "dv.tn"; to: "dv.to"; tp: "dv.tp"; tq: "dv.tq"; tr: "dv.tr"; ts: "dv.ts"; tt: "dv.tt"; tu: "dv.tu"; tv: "dv.tv"; tw: "dv.tw"; tx: "dv.tx"; ty: "dv.ty"; tz: "dv.tz"; ua: "dv.ua"; ub: "dv.ub"; uc: "dv.uc"; ud: "dv.ud"; ue: "dv.ue"; uf: "dv.uf"; ug: "dv.ug"; uh: "dv.uh"; ui: "dv.ui"; uj: "dv.uj"; uk: "dv.uk"; ul: "dv.ul"; um: "dv.um"; un: "dv.un"; uo: "dv.uo"; up: "dv.up"; uq: "dv.uq"; ur: "dv.ur"; us: "dv.us"; ut: "dv.ut"; uu: "dv.uu"; uv: "dv.uv"; uw: "dv.uw"; ux: "dv.ux"; uy: "dv.uy"; uz: "dv.uz"; va: "dv.va"; vb: "dv.vb"; vc: "dv.vc"; vd: "dv.vd"; ve: "dv.ve"; vf: "dv.vf"; vg: "dv.vg"; vh: "dv.vh"; vi: "dv.vi"; vj: "dv.vj"; vk: "dv.vk"; vl: "dv.vl"; vm: "dv.vm"; vn: "dv.vn"; vo: "dv.vo"; vp: "dv.vp"; vq: "dv.vq"; vr: "dv.vr"; vs: "dv.vs"; vt: "dv.vt"; vu: "dv.vu"; vv: "dv.vv"; vw: "dv.vw"; vx: "dv.vx"; vy: "dv.vy"; vz: "dv.vz"; wa: "dv.wa"; wb: "dv.wb"; wc: "dv.wc"; wd: "dv.wd"; we: "dv.we"; wf: "dv.wf"; wg: "dv.wg"; wh: "dv.wh"; wi: "dv.wi"; wj: "dv.wj"; wk: "dv.wk"; wl: "dv.wl"; wm: "dv.wm"; wn: "dv.wn"; wo: "dv.wo"; wp: "dv.wp"; wq: "dv.wq"; wr: "dv.wr"; ws: "dv.ws"; wt: "dv.wt"; wu: "dv.wu"; wv: "dv.wv"; ww: "dv.ww"; wx: "dv.wx"; wy: "dv.wy"; wz: "dv.wz"; xa: "dv.xa"; xb: "dv.xb"; xc: "dv.xc"; xd: "dv.xd"; xe: "dv.xe"; xf: "dv.xf"; xg: "dv.xg"; xh: "dv.xh"; xi: "dv.xi"; xj: "dv.xj"; xk: "dv.xk"; xl: "dv.xl"; xm: "dv.xm"; xn: "dv.xn"; xo: "dv.xo"; xp: "dv.xp"; xq: "dv.xq"; xr: "dv.xr"; xs: "dv.xs"; xt: "dv.xt"; xu: "dv.xu"; xv: "dv.xv"; xw: "dv.xw"; xx: "dv.xx"; xy: "dv.xy"; xz: "dv.xz"; ya: "dv.ya"; yb: "dv.yb"; yc: "dv.yc"; yd: "dv.yd"; ye: "dv.ye"; yf: "dv.yf"; yg: "dv.yg"; yh: "dv.yh"; yi: "dv.yi"; yj: "dv.yj"; yk: "dv.yk"; yl: "dv.yl"; ym: "dv.ym"; yn: "dv.yn"; yo: "dv.yo"; yp: "dv.yp"; yq: "dv.yq"; yr: "dv.yr"; ys: "dv.ys"; yt: "dv.yt"; yu: "dv.yu"; yv: "dv.yv"; yw: "dv.yw"; yx: "dv.yx"; yy: "dv.yy"; yz: "dv.yz"; za: "dv.za"; zb: "dv.zb"; zc: "dv.zc"; zd: "dv.zd"; ze: "dv.ze"; zf: "dv.zf"; zg: "dv.zg"; zh: "dv.zh"; zi: "dv.zi"; zj: "dv.zj"; zk: "dv.zk"; zl: "dv.zl"; zm: "dv.zm"; zn: "dv.zn"; zo: "dv.zo"; zp: "dv.zp"; zq: "dv.zq"; zr: "dv.zr"; zs: "dv.zs"; zt: "dv.zt"; zu: "dv.zu"; zv: "dv.zv"; zw: "dv.zw"; zx: "dv.zx"; zy: "dv.zy"; zz: "dv.zz"; }; dw: { aa: "dw.aa"; ab: "dw.ab"; ac: "dw.ac"; ad: "dw.ad"; ae: "dw.ae"; af: "dw.af"; ag: "dw.ag"; ah: "dw.ah"; ai: "dw.ai"; aj: "dw.aj"; ak: "dw.ak"; al: "dw.al"; am: "dw.am"; an: "dw.an"; ao: "dw.ao"; ap: "dw.ap"; aq: "dw.aq"; ar: "dw.ar"; as: "dw.as"; at: "dw.at"; au: "dw.au"; av: "dw.av"; aw: "dw.aw"; ax: "dw.ax"; ay: "dw.ay"; az: "dw.az"; ba: "dw.ba"; bb: "dw.bb"; bc: "dw.bc"; bd: "dw.bd"; be: "dw.be"; bf: "dw.bf"; bg: "dw.bg"; bh: "dw.bh"; bi: "dw.bi"; bj: "dw.bj"; bk: "dw.bk"; bl: "dw.bl"; bm: "dw.bm"; bn: "dw.bn"; bo: "dw.bo"; bp: "dw.bp"; bq: "dw.bq"; br: "dw.br"; bs: "dw.bs"; bt: "dw.bt"; bu: "dw.bu"; bv: "dw.bv"; bw: "dw.bw"; bx: "dw.bx"; by: "dw.by"; bz: "dw.bz"; ca: "dw.ca"; cb: "dw.cb"; cc: "dw.cc"; cd: "dw.cd"; ce: "dw.ce"; cf: "dw.cf"; cg: "dw.cg"; ch: "dw.ch"; ci: "dw.ci"; cj: "dw.cj"; ck: "dw.ck"; cl: "dw.cl"; cm: "dw.cm"; cn: "dw.cn"; co: "dw.co"; cp: "dw.cp"; cq: "dw.cq"; cr: "dw.cr"; cs: "dw.cs"; ct: "dw.ct"; cu: "dw.cu"; cv: "dw.cv"; cw: "dw.cw"; cx: "dw.cx"; cy: "dw.cy"; cz: "dw.cz"; da: "dw.da"; db: "dw.db"; dc: "dw.dc"; dd: "dw.dd"; de: "dw.de"; df: "dw.df"; dg: "dw.dg"; dh: "dw.dh"; di: "dw.di"; dj: "dw.dj"; dk: "dw.dk"; dl: "dw.dl"; dm: "dw.dm"; dn: "dw.dn"; do: "dw.do"; dp: "dw.dp"; dq: "dw.dq"; dr: "dw.dr"; ds: "dw.ds"; dt: "dw.dt"; du: "dw.du"; dv: "dw.dv"; dw: "dw.dw"; dx: "dw.dx"; dy: "dw.dy"; dz: "dw.dz"; ea: "dw.ea"; eb: "dw.eb"; ec: "dw.ec"; ed: "dw.ed"; ee: "dw.ee"; ef: "dw.ef"; eg: "dw.eg"; eh: "dw.eh"; ei: "dw.ei"; ej: "dw.ej"; ek: "dw.ek"; el: "dw.el"; em: "dw.em"; en: "dw.en"; eo: "dw.eo"; ep: "dw.ep"; eq: "dw.eq"; er: "dw.er"; es: "dw.es"; et: "dw.et"; eu: "dw.eu"; ev: "dw.ev"; ew: "dw.ew"; ex: "dw.ex"; ey: "dw.ey"; ez: "dw.ez"; fa: "dw.fa"; fb: "dw.fb"; fc: "dw.fc"; fd: "dw.fd"; fe: "dw.fe"; ff: "dw.ff"; fg: "dw.fg"; fh: "dw.fh"; fi: "dw.fi"; fj: "dw.fj"; fk: "dw.fk"; fl: "dw.fl"; fm: "dw.fm"; fn: "dw.fn"; fo: "dw.fo"; fp: "dw.fp"; fq: "dw.fq"; fr: "dw.fr"; fs: "dw.fs"; ft: "dw.ft"; fu: "dw.fu"; fv: "dw.fv"; fw: "dw.fw"; fx: "dw.fx"; fy: "dw.fy"; fz: "dw.fz"; ga: "dw.ga"; gb: "dw.gb"; gc: "dw.gc"; gd: "dw.gd"; ge: "dw.ge"; gf: "dw.gf"; gg: "dw.gg"; gh: "dw.gh"; gi: "dw.gi"; gj: "dw.gj"; gk: "dw.gk"; gl: "dw.gl"; gm: "dw.gm"; gn: "dw.gn"; go: "dw.go"; gp: "dw.gp"; gq: "dw.gq"; gr: "dw.gr"; gs: "dw.gs"; gt: "dw.gt"; gu: "dw.gu"; gv: "dw.gv"; gw: "dw.gw"; gx: "dw.gx"; gy: "dw.gy"; gz: "dw.gz"; ha: "dw.ha"; hb: "dw.hb"; hc: "dw.hc"; hd: "dw.hd"; he: "dw.he"; hf: "dw.hf"; hg: "dw.hg"; hh: "dw.hh"; hi: "dw.hi"; hj: "dw.hj"; hk: "dw.hk"; hl: "dw.hl"; hm: "dw.hm"; hn: "dw.hn"; ho: "dw.ho"; hp: "dw.hp"; hq: "dw.hq"; hr: "dw.hr"; hs: "dw.hs"; ht: "dw.ht"; hu: "dw.hu"; hv: "dw.hv"; hw: "dw.hw"; hx: "dw.hx"; hy: "dw.hy"; hz: "dw.hz"; ia: "dw.ia"; ib: "dw.ib"; ic: "dw.ic"; id: "dw.id"; ie: "dw.ie"; if: "dw.if"; ig: "dw.ig"; ih: "dw.ih"; ii: "dw.ii"; ij: "dw.ij"; ik: "dw.ik"; il: "dw.il"; im: "dw.im"; in: "dw.in"; io: "dw.io"; ip: "dw.ip"; iq: "dw.iq"; ir: "dw.ir"; is: "dw.is"; it: "dw.it"; iu: "dw.iu"; iv: "dw.iv"; iw: "dw.iw"; ix: "dw.ix"; iy: "dw.iy"; iz: "dw.iz"; ja: "dw.ja"; jb: "dw.jb"; jc: "dw.jc"; jd: "dw.jd"; je: "dw.je"; jf: "dw.jf"; jg: "dw.jg"; jh: "dw.jh"; ji: "dw.ji"; jj: "dw.jj"; jk: "dw.jk"; jl: "dw.jl"; jm: "dw.jm"; jn: "dw.jn"; jo: "dw.jo"; jp: "dw.jp"; jq: "dw.jq"; jr: "dw.jr"; js: "dw.js"; jt: "dw.jt"; ju: "dw.ju"; jv: "dw.jv"; jw: "dw.jw"; jx: "dw.jx"; jy: "dw.jy"; jz: "dw.jz"; ka: "dw.ka"; kb: "dw.kb"; kc: "dw.kc"; kd: "dw.kd"; ke: "dw.ke"; kf: "dw.kf"; kg: "dw.kg"; kh: "dw.kh"; ki: "dw.ki"; kj: "dw.kj"; kk: "dw.kk"; kl: "dw.kl"; km: "dw.km"; kn: "dw.kn"; ko: "dw.ko"; kp: "dw.kp"; kq: "dw.kq"; kr: "dw.kr"; ks: "dw.ks"; kt: "dw.kt"; ku: "dw.ku"; kv: "dw.kv"; kw: "dw.kw"; kx: "dw.kx"; ky: "dw.ky"; kz: "dw.kz"; la: "dw.la"; lb: "dw.lb"; lc: "dw.lc"; ld: "dw.ld"; le: "dw.le"; lf: "dw.lf"; lg: "dw.lg"; lh: "dw.lh"; li: "dw.li"; lj: "dw.lj"; lk: "dw.lk"; ll: "dw.ll"; lm: "dw.lm"; ln: "dw.ln"; lo: "dw.lo"; lp: "dw.lp"; lq: "dw.lq"; lr: "dw.lr"; ls: "dw.ls"; lt: "dw.lt"; lu: "dw.lu"; lv: "dw.lv"; lw: "dw.lw"; lx: "dw.lx"; ly: "dw.ly"; lz: "dw.lz"; ma: "dw.ma"; mb: "dw.mb"; mc: "dw.mc"; md: "dw.md"; me: "dw.me"; mf: "dw.mf"; mg: "dw.mg"; mh: "dw.mh"; mi: "dw.mi"; mj: "dw.mj"; mk: "dw.mk"; ml: "dw.ml"; mm: "dw.mm"; mn: "dw.mn"; mo: "dw.mo"; mp: "dw.mp"; mq: "dw.mq"; mr: "dw.mr"; ms: "dw.ms"; mt: "dw.mt"; mu: "dw.mu"; mv: "dw.mv"; mw: "dw.mw"; mx: "dw.mx"; my: "dw.my"; mz: "dw.mz"; na: "dw.na"; nb: "dw.nb"; nc: "dw.nc"; nd: "dw.nd"; ne: "dw.ne"; nf: "dw.nf"; ng: "dw.ng"; nh: "dw.nh"; ni: "dw.ni"; nj: "dw.nj"; nk: "dw.nk"; nl: "dw.nl"; nm: "dw.nm"; nn: "dw.nn"; no: "dw.no"; np: "dw.np"; nq: "dw.nq"; nr: "dw.nr"; ns: "dw.ns"; nt: "dw.nt"; nu: "dw.nu"; nv: "dw.nv"; nw: "dw.nw"; nx: "dw.nx"; ny: "dw.ny"; nz: "dw.nz"; oa: "dw.oa"; ob: "dw.ob"; oc: "dw.oc"; od: "dw.od"; oe: "dw.oe"; of: "dw.of"; og: "dw.og"; oh: "dw.oh"; oi: "dw.oi"; oj: "dw.oj"; ok: "dw.ok"; ol: "dw.ol"; om: "dw.om"; on: "dw.on"; oo: "dw.oo"; op: "dw.op"; oq: "dw.oq"; or: "dw.or"; os: "dw.os"; ot: "dw.ot"; ou: "dw.ou"; ov: "dw.ov"; ow: "dw.ow"; ox: "dw.ox"; oy: "dw.oy"; oz: "dw.oz"; pa: "dw.pa"; pb: "dw.pb"; pc: "dw.pc"; pd: "dw.pd"; pe: "dw.pe"; pf: "dw.pf"; pg: "dw.pg"; ph: "dw.ph"; pi: "dw.pi"; pj: "dw.pj"; pk: "dw.pk"; pl: "dw.pl"; pm: "dw.pm"; pn: "dw.pn"; po: "dw.po"; pp: "dw.pp"; pq: "dw.pq"; pr: "dw.pr"; ps: "dw.ps"; pt: "dw.pt"; pu: "dw.pu"; pv: "dw.pv"; pw: "dw.pw"; px: "dw.px"; py: "dw.py"; pz: "dw.pz"; qa: "dw.qa"; qb: "dw.qb"; qc: "dw.qc"; qd: "dw.qd"; qe: "dw.qe"; qf: "dw.qf"; qg: "dw.qg"; qh: "dw.qh"; qi: "dw.qi"; qj: "dw.qj"; qk: "dw.qk"; ql: "dw.ql"; qm: "dw.qm"; qn: "dw.qn"; qo: "dw.qo"; qp: "dw.qp"; qq: "dw.qq"; qr: "dw.qr"; qs: "dw.qs"; qt: "dw.qt"; qu: "dw.qu"; qv: "dw.qv"; qw: "dw.qw"; qx: "dw.qx"; qy: "dw.qy"; qz: "dw.qz"; ra: "dw.ra"; rb: "dw.rb"; rc: "dw.rc"; rd: "dw.rd"; re: "dw.re"; rf: "dw.rf"; rg: "dw.rg"; rh: "dw.rh"; ri: "dw.ri"; rj: "dw.rj"; rk: "dw.rk"; rl: "dw.rl"; rm: "dw.rm"; rn: "dw.rn"; ro: "dw.ro"; rp: "dw.rp"; rq: "dw.rq"; rr: "dw.rr"; rs: "dw.rs"; rt: "dw.rt"; ru: "dw.ru"; rv: "dw.rv"; rw: "dw.rw"; rx: "dw.rx"; ry: "dw.ry"; rz: "dw.rz"; sa: "dw.sa"; sb: "dw.sb"; sc: "dw.sc"; sd: "dw.sd"; se: "dw.se"; sf: "dw.sf"; sg: "dw.sg"; sh: "dw.sh"; si: "dw.si"; sj: "dw.sj"; sk: "dw.sk"; sl: "dw.sl"; sm: "dw.sm"; sn: "dw.sn"; so: "dw.so"; sp: "dw.sp"; sq: "dw.sq"; sr: "dw.sr"; ss: "dw.ss"; st: "dw.st"; su: "dw.su"; sv: "dw.sv"; sw: "dw.sw"; sx: "dw.sx"; sy: "dw.sy"; sz: "dw.sz"; ta: "dw.ta"; tb: "dw.tb"; tc: "dw.tc"; td: "dw.td"; te: "dw.te"; tf: "dw.tf"; tg: "dw.tg"; th: "dw.th"; ti: "dw.ti"; tj: "dw.tj"; tk: "dw.tk"; tl: "dw.tl"; tm: "dw.tm"; tn: "dw.tn"; to: "dw.to"; tp: "dw.tp"; tq: "dw.tq"; tr: "dw.tr"; ts: "dw.ts"; tt: "dw.tt"; tu: "dw.tu"; tv: "dw.tv"; tw: "dw.tw"; tx: "dw.tx"; ty: "dw.ty"; tz: "dw.tz"; ua: "dw.ua"; ub: "dw.ub"; uc: "dw.uc"; ud: "dw.ud"; ue: "dw.ue"; uf: "dw.uf"; ug: "dw.ug"; uh: "dw.uh"; ui: "dw.ui"; uj: "dw.uj"; uk: "dw.uk"; ul: "dw.ul"; um: "dw.um"; un: "dw.un"; uo: "dw.uo"; up: "dw.up"; uq: "dw.uq"; ur: "dw.ur"; us: "dw.us"; ut: "dw.ut"; uu: "dw.uu"; uv: "dw.uv"; uw: "dw.uw"; ux: "dw.ux"; uy: "dw.uy"; uz: "dw.uz"; va: "dw.va"; vb: "dw.vb"; vc: "dw.vc"; vd: "dw.vd"; ve: "dw.ve"; vf: "dw.vf"; vg: "dw.vg"; vh: "dw.vh"; vi: "dw.vi"; vj: "dw.vj"; vk: "dw.vk"; vl: "dw.vl"; vm: "dw.vm"; vn: "dw.vn"; vo: "dw.vo"; vp: "dw.vp"; vq: "dw.vq"; vr: "dw.vr"; vs: "dw.vs"; vt: "dw.vt"; vu: "dw.vu"; vv: "dw.vv"; vw: "dw.vw"; vx: "dw.vx"; vy: "dw.vy"; vz: "dw.vz"; wa: "dw.wa"; wb: "dw.wb"; wc: "dw.wc"; wd: "dw.wd"; we: "dw.we"; wf: "dw.wf"; wg: "dw.wg"; wh: "dw.wh"; wi: "dw.wi"; wj: "dw.wj"; wk: "dw.wk"; wl: "dw.wl"; wm: "dw.wm"; wn: "dw.wn"; wo: "dw.wo"; wp: "dw.wp"; wq: "dw.wq"; wr: "dw.wr"; ws: "dw.ws"; wt: "dw.wt"; wu: "dw.wu"; wv: "dw.wv"; ww: "dw.ww"; wx: "dw.wx"; wy: "dw.wy"; wz: "dw.wz"; xa: "dw.xa"; xb: "dw.xb"; xc: "dw.xc"; xd: "dw.xd"; xe: "dw.xe"; xf: "dw.xf"; xg: "dw.xg"; xh: "dw.xh"; xi: "dw.xi"; xj: "dw.xj"; xk: "dw.xk"; xl: "dw.xl"; xm: "dw.xm"; xn: "dw.xn"; xo: "dw.xo"; xp: "dw.xp"; xq: "dw.xq"; xr: "dw.xr"; xs: "dw.xs"; xt: "dw.xt"; xu: "dw.xu"; xv: "dw.xv"; xw: "dw.xw"; xx: "dw.xx"; xy: "dw.xy"; xz: "dw.xz"; ya: "dw.ya"; yb: "dw.yb"; yc: "dw.yc"; yd: "dw.yd"; ye: "dw.ye"; yf: "dw.yf"; yg: "dw.yg"; yh: "dw.yh"; yi: "dw.yi"; yj: "dw.yj"; yk: "dw.yk"; yl: "dw.yl"; ym: "dw.ym"; yn: "dw.yn"; yo: "dw.yo"; yp: "dw.yp"; yq: "dw.yq"; yr: "dw.yr"; ys: "dw.ys"; yt: "dw.yt"; yu: "dw.yu"; yv: "dw.yv"; yw: "dw.yw"; yx: "dw.yx"; yy: "dw.yy"; yz: "dw.yz"; za: "dw.za"; zb: "dw.zb"; zc: "dw.zc"; zd: "dw.zd"; ze: "dw.ze"; zf: "dw.zf"; zg: "dw.zg"; zh: "dw.zh"; zi: "dw.zi"; zj: "dw.zj"; zk: "dw.zk"; zl: "dw.zl"; zm: "dw.zm"; zn: "dw.zn"; zo: "dw.zo"; zp: "dw.zp"; zq: "dw.zq"; zr: "dw.zr"; zs: "dw.zs"; zt: "dw.zt"; zu: "dw.zu"; zv: "dw.zv"; zw: "dw.zw"; zx: "dw.zx"; zy: "dw.zy"; zz: "dw.zz"; }; dx: { aa: "dx.aa"; ab: "dx.ab"; ac: "dx.ac"; ad: "dx.ad"; ae: "dx.ae"; af: "dx.af"; ag: "dx.ag"; ah: "dx.ah"; ai: "dx.ai"; aj: "dx.aj"; ak: "dx.ak"; al: "dx.al"; am: "dx.am"; an: "dx.an"; ao: "dx.ao"; ap: "dx.ap"; aq: "dx.aq"; ar: "dx.ar"; as: "dx.as"; at: "dx.at"; au: "dx.au"; av: "dx.av"; aw: "dx.aw"; ax: "dx.ax"; ay: "dx.ay"; az: "dx.az"; ba: "dx.ba"; bb: "dx.bb"; bc: "dx.bc"; bd: "dx.bd"; be: "dx.be"; bf: "dx.bf"; bg: "dx.bg"; bh: "dx.bh"; bi: "dx.bi"; bj: "dx.bj"; bk: "dx.bk"; bl: "dx.bl"; bm: "dx.bm"; bn: "dx.bn"; bo: "dx.bo"; bp: "dx.bp"; bq: "dx.bq"; br: "dx.br"; bs: "dx.bs"; bt: "dx.bt"; bu: "dx.bu"; bv: "dx.bv"; bw: "dx.bw"; bx: "dx.bx"; by: "dx.by"; bz: "dx.bz"; ca: "dx.ca"; cb: "dx.cb"; cc: "dx.cc"; cd: "dx.cd"; ce: "dx.ce"; cf: "dx.cf"; cg: "dx.cg"; ch: "dx.ch"; ci: "dx.ci"; cj: "dx.cj"; ck: "dx.ck"; cl: "dx.cl"; cm: "dx.cm"; cn: "dx.cn"; co: "dx.co"; cp: "dx.cp"; cq: "dx.cq"; cr: "dx.cr"; cs: "dx.cs"; ct: "dx.ct"; cu: "dx.cu"; cv: "dx.cv"; cw: "dx.cw"; cx: "dx.cx"; cy: "dx.cy"; cz: "dx.cz"; da: "dx.da"; db: "dx.db"; dc: "dx.dc"; dd: "dx.dd"; de: "dx.de"; df: "dx.df"; dg: "dx.dg"; dh: "dx.dh"; di: "dx.di"; dj: "dx.dj"; dk: "dx.dk"; dl: "dx.dl"; dm: "dx.dm"; dn: "dx.dn"; do: "dx.do"; dp: "dx.dp"; dq: "dx.dq"; dr: "dx.dr"; ds: "dx.ds"; dt: "dx.dt"; du: "dx.du"; dv: "dx.dv"; dw: "dx.dw"; dx: "dx.dx"; dy: "dx.dy"; dz: "dx.dz"; ea: "dx.ea"; eb: "dx.eb"; ec: "dx.ec"; ed: "dx.ed"; ee: "dx.ee"; ef: "dx.ef"; eg: "dx.eg"; eh: "dx.eh"; ei: "dx.ei"; ej: "dx.ej"; ek: "dx.ek"; el: "dx.el"; em: "dx.em"; en: "dx.en"; eo: "dx.eo"; ep: "dx.ep"; eq: "dx.eq"; er: "dx.er"; es: "dx.es"; et: "dx.et"; eu: "dx.eu"; ev: "dx.ev"; ew: "dx.ew"; ex: "dx.ex"; ey: "dx.ey"; ez: "dx.ez"; fa: "dx.fa"; fb: "dx.fb"; fc: "dx.fc"; fd: "dx.fd"; fe: "dx.fe"; ff: "dx.ff"; fg: "dx.fg"; fh: "dx.fh"; fi: "dx.fi"; fj: "dx.fj"; fk: "dx.fk"; fl: "dx.fl"; fm: "dx.fm"; fn: "dx.fn"; fo: "dx.fo"; fp: "dx.fp"; fq: "dx.fq"; fr: "dx.fr"; fs: "dx.fs"; ft: "dx.ft"; fu: "dx.fu"; fv: "dx.fv"; fw: "dx.fw"; fx: "dx.fx"; fy: "dx.fy"; fz: "dx.fz"; ga: "dx.ga"; gb: "dx.gb"; gc: "dx.gc"; gd: "dx.gd"; ge: "dx.ge"; gf: "dx.gf"; gg: "dx.gg"; gh: "dx.gh"; gi: "dx.gi"; gj: "dx.gj"; gk: "dx.gk"; gl: "dx.gl"; gm: "dx.gm"; gn: "dx.gn"; go: "dx.go"; gp: "dx.gp"; gq: "dx.gq"; gr: "dx.gr"; gs: "dx.gs"; gt: "dx.gt"; gu: "dx.gu"; gv: "dx.gv"; gw: "dx.gw"; gx: "dx.gx"; gy: "dx.gy"; gz: "dx.gz"; ha: "dx.ha"; hb: "dx.hb"; hc: "dx.hc"; hd: "dx.hd"; he: "dx.he"; hf: "dx.hf"; hg: "dx.hg"; hh: "dx.hh"; hi: "dx.hi"; hj: "dx.hj"; hk: "dx.hk"; hl: "dx.hl"; hm: "dx.hm"; hn: "dx.hn"; ho: "dx.ho"; hp: "dx.hp"; hq: "dx.hq"; hr: "dx.hr"; hs: "dx.hs"; ht: "dx.ht"; hu: "dx.hu"; hv: "dx.hv"; hw: "dx.hw"; hx: "dx.hx"; hy: "dx.hy"; hz: "dx.hz"; ia: "dx.ia"; ib: "dx.ib"; ic: "dx.ic"; id: "dx.id"; ie: "dx.ie"; if: "dx.if"; ig: "dx.ig"; ih: "dx.ih"; ii: "dx.ii"; ij: "dx.ij"; ik: "dx.ik"; il: "dx.il"; im: "dx.im"; in: "dx.in"; io: "dx.io"; ip: "dx.ip"; iq: "dx.iq"; ir: "dx.ir"; is: "dx.is"; it: "dx.it"; iu: "dx.iu"; iv: "dx.iv"; iw: "dx.iw"; ix: "dx.ix"; iy: "dx.iy"; iz: "dx.iz"; ja: "dx.ja"; jb: "dx.jb"; jc: "dx.jc"; jd: "dx.jd"; je: "dx.je"; jf: "dx.jf"; jg: "dx.jg"; jh: "dx.jh"; ji: "dx.ji"; jj: "dx.jj"; jk: "dx.jk"; jl: "dx.jl"; jm: "dx.jm"; jn: "dx.jn"; jo: "dx.jo"; jp: "dx.jp"; jq: "dx.jq"; jr: "dx.jr"; js: "dx.js"; jt: "dx.jt"; ju: "dx.ju"; jv: "dx.jv"; jw: "dx.jw"; jx: "dx.jx"; jy: "dx.jy"; jz: "dx.jz"; ka: "dx.ka"; kb: "dx.kb"; kc: "dx.kc"; kd: "dx.kd"; ke: "dx.ke"; kf: "dx.kf"; kg: "dx.kg"; kh: "dx.kh"; ki: "dx.ki"; kj: "dx.kj"; kk: "dx.kk"; kl: "dx.kl"; km: "dx.km"; kn: "dx.kn"; ko: "dx.ko"; kp: "dx.kp"; kq: "dx.kq"; kr: "dx.kr"; ks: "dx.ks"; kt: "dx.kt"; ku: "dx.ku"; kv: "dx.kv"; kw: "dx.kw"; kx: "dx.kx"; ky: "dx.ky"; kz: "dx.kz"; la: "dx.la"; lb: "dx.lb"; lc: "dx.lc"; ld: "dx.ld"; le: "dx.le"; lf: "dx.lf"; lg: "dx.lg"; lh: "dx.lh"; li: "dx.li"; lj: "dx.lj"; lk: "dx.lk"; ll: "dx.ll"; lm: "dx.lm"; ln: "dx.ln"; lo: "dx.lo"; lp: "dx.lp"; lq: "dx.lq"; lr: "dx.lr"; ls: "dx.ls"; lt: "dx.lt"; lu: "dx.lu"; lv: "dx.lv"; lw: "dx.lw"; lx: "dx.lx"; ly: "dx.ly"; lz: "dx.lz"; ma: "dx.ma"; mb: "dx.mb"; mc: "dx.mc"; md: "dx.md"; me: "dx.me"; mf: "dx.mf"; mg: "dx.mg"; mh: "dx.mh"; mi: "dx.mi"; mj: "dx.mj"; mk: "dx.mk"; ml: "dx.ml"; mm: "dx.mm"; mn: "dx.mn"; mo: "dx.mo"; mp: "dx.mp"; mq: "dx.mq"; mr: "dx.mr"; ms: "dx.ms"; mt: "dx.mt"; mu: "dx.mu"; mv: "dx.mv"; mw: "dx.mw"; mx: "dx.mx"; my: "dx.my"; mz: "dx.mz"; na: "dx.na"; nb: "dx.nb"; nc: "dx.nc"; nd: "dx.nd"; ne: "dx.ne"; nf: "dx.nf"; ng: "dx.ng"; nh: "dx.nh"; ni: "dx.ni"; nj: "dx.nj"; nk: "dx.nk"; nl: "dx.nl"; nm: "dx.nm"; nn: "dx.nn"; no: "dx.no"; np: "dx.np"; nq: "dx.nq"; nr: "dx.nr"; ns: "dx.ns"; nt: "dx.nt"; nu: "dx.nu"; nv: "dx.nv"; nw: "dx.nw"; nx: "dx.nx"; ny: "dx.ny"; nz: "dx.nz"; oa: "dx.oa"; ob: "dx.ob"; oc: "dx.oc"; od: "dx.od"; oe: "dx.oe"; of: "dx.of"; og: "dx.og"; oh: "dx.oh"; oi: "dx.oi"; oj: "dx.oj"; ok: "dx.ok"; ol: "dx.ol"; om: "dx.om"; on: "dx.on"; oo: "dx.oo"; op: "dx.op"; oq: "dx.oq"; or: "dx.or"; os: "dx.os"; ot: "dx.ot"; ou: "dx.ou"; ov: "dx.ov"; ow: "dx.ow"; ox: "dx.ox"; oy: "dx.oy"; oz: "dx.oz"; pa: "dx.pa"; pb: "dx.pb"; pc: "dx.pc"; pd: "dx.pd"; pe: "dx.pe"; pf: "dx.pf"; pg: "dx.pg"; ph: "dx.ph"; pi: "dx.pi"; pj: "dx.pj"; pk: "dx.pk"; pl: "dx.pl"; pm: "dx.pm"; pn: "dx.pn"; po: "dx.po"; pp: "dx.pp"; pq: "dx.pq"; pr: "dx.pr"; ps: "dx.ps"; pt: "dx.pt"; pu: "dx.pu"; pv: "dx.pv"; pw: "dx.pw"; px: "dx.px"; py: "dx.py"; pz: "dx.pz"; qa: "dx.qa"; qb: "dx.qb"; qc: "dx.qc"; qd: "dx.qd"; qe: "dx.qe"; qf: "dx.qf"; qg: "dx.qg"; qh: "dx.qh"; qi: "dx.qi"; qj: "dx.qj"; qk: "dx.qk"; ql: "dx.ql"; qm: "dx.qm"; qn: "dx.qn"; qo: "dx.qo"; qp: "dx.qp"; qq: "dx.qq"; qr: "dx.qr"; qs: "dx.qs"; qt: "dx.qt"; qu: "dx.qu"; qv: "dx.qv"; qw: "dx.qw"; qx: "dx.qx"; qy: "dx.qy"; qz: "dx.qz"; ra: "dx.ra"; rb: "dx.rb"; rc: "dx.rc"; rd: "dx.rd"; re: "dx.re"; rf: "dx.rf"; rg: "dx.rg"; rh: "dx.rh"; ri: "dx.ri"; rj: "dx.rj"; rk: "dx.rk"; rl: "dx.rl"; rm: "dx.rm"; rn: "dx.rn"; ro: "dx.ro"; rp: "dx.rp"; rq: "dx.rq"; rr: "dx.rr"; rs: "dx.rs"; rt: "dx.rt"; ru: "dx.ru"; rv: "dx.rv"; rw: "dx.rw"; rx: "dx.rx"; ry: "dx.ry"; rz: "dx.rz"; sa: "dx.sa"; sb: "dx.sb"; sc: "dx.sc"; sd: "dx.sd"; se: "dx.se"; sf: "dx.sf"; sg: "dx.sg"; sh: "dx.sh"; si: "dx.si"; sj: "dx.sj"; sk: "dx.sk"; sl: "dx.sl"; sm: "dx.sm"; sn: "dx.sn"; so: "dx.so"; sp: "dx.sp"; sq: "dx.sq"; sr: "dx.sr"; ss: "dx.ss"; st: "dx.st"; su: "dx.su"; sv: "dx.sv"; sw: "dx.sw"; sx: "dx.sx"; sy: "dx.sy"; sz: "dx.sz"; ta: "dx.ta"; tb: "dx.tb"; tc: "dx.tc"; td: "dx.td"; te: "dx.te"; tf: "dx.tf"; tg: "dx.tg"; th: "dx.th"; ti: "dx.ti"; tj: "dx.tj"; tk: "dx.tk"; tl: "dx.tl"; tm: "dx.tm"; tn: "dx.tn"; to: "dx.to"; tp: "dx.tp"; tq: "dx.tq"; tr: "dx.tr"; ts: "dx.ts"; tt: "dx.tt"; tu: "dx.tu"; tv: "dx.tv"; tw: "dx.tw"; tx: "dx.tx"; ty: "dx.ty"; tz: "dx.tz"; ua: "dx.ua"; ub: "dx.ub"; uc: "dx.uc"; ud: "dx.ud"; ue: "dx.ue"; uf: "dx.uf"; ug: "dx.ug"; uh: "dx.uh"; ui: "dx.ui"; uj: "dx.uj"; uk: "dx.uk"; ul: "dx.ul"; um: "dx.um"; un: "dx.un"; uo: "dx.uo"; up: "dx.up"; uq: "dx.uq"; ur: "dx.ur"; us: "dx.us"; ut: "dx.ut"; uu: "dx.uu"; uv: "dx.uv"; uw: "dx.uw"; ux: "dx.ux"; uy: "dx.uy"; uz: "dx.uz"; va: "dx.va"; vb: "dx.vb"; vc: "dx.vc"; vd: "dx.vd"; ve: "dx.ve"; vf: "dx.vf"; vg: "dx.vg"; vh: "dx.vh"; vi: "dx.vi"; vj: "dx.vj"; vk: "dx.vk"; vl: "dx.vl"; vm: "dx.vm"; vn: "dx.vn"; vo: "dx.vo"; vp: "dx.vp"; vq: "dx.vq"; vr: "dx.vr"; vs: "dx.vs"; vt: "dx.vt"; vu: "dx.vu"; vv: "dx.vv"; vw: "dx.vw"; vx: "dx.vx"; vy: "dx.vy"; vz: "dx.vz"; wa: "dx.wa"; wb: "dx.wb"; wc: "dx.wc"; wd: "dx.wd"; we: "dx.we"; wf: "dx.wf"; wg: "dx.wg"; wh: "dx.wh"; wi: "dx.wi"; wj: "dx.wj"; wk: "dx.wk"; wl: "dx.wl"; wm: "dx.wm"; wn: "dx.wn"; wo: "dx.wo"; wp: "dx.wp"; wq: "dx.wq"; wr: "dx.wr"; ws: "dx.ws"; wt: "dx.wt"; wu: "dx.wu"; wv: "dx.wv"; ww: "dx.ww"; wx: "dx.wx"; wy: "dx.wy"; wz: "dx.wz"; xa: "dx.xa"; xb: "dx.xb"; xc: "dx.xc"; xd: "dx.xd"; xe: "dx.xe"; xf: "dx.xf"; xg: "dx.xg"; xh: "dx.xh"; xi: "dx.xi"; xj: "dx.xj"; xk: "dx.xk"; xl: "dx.xl"; xm: "dx.xm"; xn: "dx.xn"; xo: "dx.xo"; xp: "dx.xp"; xq: "dx.xq"; xr: "dx.xr"; xs: "dx.xs"; xt: "dx.xt"; xu: "dx.xu"; xv: "dx.xv"; xw: "dx.xw"; xx: "dx.xx"; xy: "dx.xy"; xz: "dx.xz"; ya: "dx.ya"; yb: "dx.yb"; yc: "dx.yc"; yd: "dx.yd"; ye: "dx.ye"; yf: "dx.yf"; yg: "dx.yg"; yh: "dx.yh"; yi: "dx.yi"; yj: "dx.yj"; yk: "dx.yk"; yl: "dx.yl"; ym: "dx.ym"; yn: "dx.yn"; yo: "dx.yo"; yp: "dx.yp"; yq: "dx.yq"; yr: "dx.yr"; ys: "dx.ys"; yt: "dx.yt"; yu: "dx.yu"; yv: "dx.yv"; yw: "dx.yw"; yx: "dx.yx"; yy: "dx.yy"; yz: "dx.yz"; za: "dx.za"; zb: "dx.zb"; zc: "dx.zc"; zd: "dx.zd"; ze: "dx.ze"; zf: "dx.zf"; zg: "dx.zg"; zh: "dx.zh"; zi: "dx.zi"; zj: "dx.zj"; zk: "dx.zk"; zl: "dx.zl"; zm: "dx.zm"; zn: "dx.zn"; zo: "dx.zo"; zp: "dx.zp"; zq: "dx.zq"; zr: "dx.zr"; zs: "dx.zs"; zt: "dx.zt"; zu: "dx.zu"; zv: "dx.zv"; zw: "dx.zw"; zx: "dx.zx"; zy: "dx.zy"; zz: "dx.zz"; }; dy: { aa: "dy.aa"; ab: "dy.ab"; ac: "dy.ac"; ad: "dy.ad"; ae: "dy.ae"; af: "dy.af"; ag: "dy.ag"; ah: "dy.ah"; ai: "dy.ai"; aj: "dy.aj"; ak: "dy.ak"; al: "dy.al"; am: "dy.am"; an: "dy.an"; ao: "dy.ao"; ap: "dy.ap"; aq: "dy.aq"; ar: "dy.ar"; as: "dy.as"; at: "dy.at"; au: "dy.au"; av: "dy.av"; aw: "dy.aw"; ax: "dy.ax"; ay: "dy.ay"; az: "dy.az"; ba: "dy.ba"; bb: "dy.bb"; bc: "dy.bc"; bd: "dy.bd"; be: "dy.be"; bf: "dy.bf"; bg: "dy.bg"; bh: "dy.bh"; bi: "dy.bi"; bj: "dy.bj"; bk: "dy.bk"; bl: "dy.bl"; bm: "dy.bm"; bn: "dy.bn"; bo: "dy.bo"; bp: "dy.bp"; bq: "dy.bq"; br: "dy.br"; bs: "dy.bs"; bt: "dy.bt"; bu: "dy.bu"; bv: "dy.bv"; bw: "dy.bw"; bx: "dy.bx"; by: "dy.by"; bz: "dy.bz"; ca: "dy.ca"; cb: "dy.cb"; cc: "dy.cc"; cd: "dy.cd"; ce: "dy.ce"; cf: "dy.cf"; cg: "dy.cg"; ch: "dy.ch"; ci: "dy.ci"; cj: "dy.cj"; ck: "dy.ck"; cl: "dy.cl"; cm: "dy.cm"; cn: "dy.cn"; co: "dy.co"; cp: "dy.cp"; cq: "dy.cq"; cr: "dy.cr"; cs: "dy.cs"; ct: "dy.ct"; cu: "dy.cu"; cv: "dy.cv"; cw: "dy.cw"; cx: "dy.cx"; cy: "dy.cy"; cz: "dy.cz"; da: "dy.da"; db: "dy.db"; dc: "dy.dc"; dd: "dy.dd"; de: "dy.de"; df: "dy.df"; dg: "dy.dg"; dh: "dy.dh"; di: "dy.di"; dj: "dy.dj"; dk: "dy.dk"; dl: "dy.dl"; dm: "dy.dm"; dn: "dy.dn"; do: "dy.do"; dp: "dy.dp"; dq: "dy.dq"; dr: "dy.dr"; ds: "dy.ds"; dt: "dy.dt"; du: "dy.du"; dv: "dy.dv"; dw: "dy.dw"; dx: "dy.dx"; dy: "dy.dy"; dz: "dy.dz"; ea: "dy.ea"; eb: "dy.eb"; ec: "dy.ec"; ed: "dy.ed"; ee: "dy.ee"; ef: "dy.ef"; eg: "dy.eg"; eh: "dy.eh"; ei: "dy.ei"; ej: "dy.ej"; ek: "dy.ek"; el: "dy.el"; em: "dy.em"; en: "dy.en"; eo: "dy.eo"; ep: "dy.ep"; eq: "dy.eq"; er: "dy.er"; es: "dy.es"; et: "dy.et"; eu: "dy.eu"; ev: "dy.ev"; ew: "dy.ew"; ex: "dy.ex"; ey: "dy.ey"; ez: "dy.ez"; fa: "dy.fa"; fb: "dy.fb"; fc: "dy.fc"; fd: "dy.fd"; fe: "dy.fe"; ff: "dy.ff"; fg: "dy.fg"; fh: "dy.fh"; fi: "dy.fi"; fj: "dy.fj"; fk: "dy.fk"; fl: "dy.fl"; fm: "dy.fm"; fn: "dy.fn"; fo: "dy.fo"; fp: "dy.fp"; fq: "dy.fq"; fr: "dy.fr"; fs: "dy.fs"; ft: "dy.ft"; fu: "dy.fu"; fv: "dy.fv"; fw: "dy.fw"; fx: "dy.fx"; fy: "dy.fy"; fz: "dy.fz"; ga: "dy.ga"; gb: "dy.gb"; gc: "dy.gc"; gd: "dy.gd"; ge: "dy.ge"; gf: "dy.gf"; gg: "dy.gg"; gh: "dy.gh"; gi: "dy.gi"; gj: "dy.gj"; gk: "dy.gk"; gl: "dy.gl"; gm: "dy.gm"; gn: "dy.gn"; go: "dy.go"; gp: "dy.gp"; gq: "dy.gq"; gr: "dy.gr"; gs: "dy.gs"; gt: "dy.gt"; gu: "dy.gu"; gv: "dy.gv"; gw: "dy.gw"; gx: "dy.gx"; gy: "dy.gy"; gz: "dy.gz"; ha: "dy.ha"; hb: "dy.hb"; hc: "dy.hc"; hd: "dy.hd"; he: "dy.he"; hf: "dy.hf"; hg: "dy.hg"; hh: "dy.hh"; hi: "dy.hi"; hj: "dy.hj"; hk: "dy.hk"; hl: "dy.hl"; hm: "dy.hm"; hn: "dy.hn"; ho: "dy.ho"; hp: "dy.hp"; hq: "dy.hq"; hr: "dy.hr"; hs: "dy.hs"; ht: "dy.ht"; hu: "dy.hu"; hv: "dy.hv"; hw: "dy.hw"; hx: "dy.hx"; hy: "dy.hy"; hz: "dy.hz"; ia: "dy.ia"; ib: "dy.ib"; ic: "dy.ic"; id: "dy.id"; ie: "dy.ie"; if: "dy.if"; ig: "dy.ig"; ih: "dy.ih"; ii: "dy.ii"; ij: "dy.ij"; ik: "dy.ik"; il: "dy.il"; im: "dy.im"; in: "dy.in"; io: "dy.io"; ip: "dy.ip"; iq: "dy.iq"; ir: "dy.ir"; is: "dy.is"; it: "dy.it"; iu: "dy.iu"; iv: "dy.iv"; iw: "dy.iw"; ix: "dy.ix"; iy: "dy.iy"; iz: "dy.iz"; ja: "dy.ja"; jb: "dy.jb"; jc: "dy.jc"; jd: "dy.jd"; je: "dy.je"; jf: "dy.jf"; jg: "dy.jg"; jh: "dy.jh"; ji: "dy.ji"; jj: "dy.jj"; jk: "dy.jk"; jl: "dy.jl"; jm: "dy.jm"; jn: "dy.jn"; jo: "dy.jo"; jp: "dy.jp"; jq: "dy.jq"; jr: "dy.jr"; js: "dy.js"; jt: "dy.jt"; ju: "dy.ju"; jv: "dy.jv"; jw: "dy.jw"; jx: "dy.jx"; jy: "dy.jy"; jz: "dy.jz"; ka: "dy.ka"; kb: "dy.kb"; kc: "dy.kc"; kd: "dy.kd"; ke: "dy.ke"; kf: "dy.kf"; kg: "dy.kg"; kh: "dy.kh"; ki: "dy.ki"; kj: "dy.kj"; kk: "dy.kk"; kl: "dy.kl"; km: "dy.km"; kn: "dy.kn"; ko: "dy.ko"; kp: "dy.kp"; kq: "dy.kq"; kr: "dy.kr"; ks: "dy.ks"; kt: "dy.kt"; ku: "dy.ku"; kv: "dy.kv"; kw: "dy.kw"; kx: "dy.kx"; ky: "dy.ky"; kz: "dy.kz"; la: "dy.la"; lb: "dy.lb"; lc: "dy.lc"; ld: "dy.ld"; le: "dy.le"; lf: "dy.lf"; lg: "dy.lg"; lh: "dy.lh"; li: "dy.li"; lj: "dy.lj"; lk: "dy.lk"; ll: "dy.ll"; lm: "dy.lm"; ln: "dy.ln"; lo: "dy.lo"; lp: "dy.lp"; lq: "dy.lq"; lr: "dy.lr"; ls: "dy.ls"; lt: "dy.lt"; lu: "dy.lu"; lv: "dy.lv"; lw: "dy.lw"; lx: "dy.lx"; ly: "dy.ly"; lz: "dy.lz"; ma: "dy.ma"; mb: "dy.mb"; mc: "dy.mc"; md: "dy.md"; me: "dy.me"; mf: "dy.mf"; mg: "dy.mg"; mh: "dy.mh"; mi: "dy.mi"; mj: "dy.mj"; mk: "dy.mk"; ml: "dy.ml"; mm: "dy.mm"; mn: "dy.mn"; mo: "dy.mo"; mp: "dy.mp"; mq: "dy.mq"; mr: "dy.mr"; ms: "dy.ms"; mt: "dy.mt"; mu: "dy.mu"; mv: "dy.mv"; mw: "dy.mw"; mx: "dy.mx"; my: "dy.my"; mz: "dy.mz"; na: "dy.na"; nb: "dy.nb"; nc: "dy.nc"; nd: "dy.nd"; ne: "dy.ne"; nf: "dy.nf"; ng: "dy.ng"; nh: "dy.nh"; ni: "dy.ni"; nj: "dy.nj"; nk: "dy.nk"; nl: "dy.nl"; nm: "dy.nm"; nn: "dy.nn"; no: "dy.no"; np: "dy.np"; nq: "dy.nq"; nr: "dy.nr"; ns: "dy.ns"; nt: "dy.nt"; nu: "dy.nu"; nv: "dy.nv"; nw: "dy.nw"; nx: "dy.nx"; ny: "dy.ny"; nz: "dy.nz"; oa: "dy.oa"; ob: "dy.ob"; oc: "dy.oc"; od: "dy.od"; oe: "dy.oe"; of: "dy.of"; og: "dy.og"; oh: "dy.oh"; oi: "dy.oi"; oj: "dy.oj"; ok: "dy.ok"; ol: "dy.ol"; om: "dy.om"; on: "dy.on"; oo: "dy.oo"; op: "dy.op"; oq: "dy.oq"; or: "dy.or"; os: "dy.os"; ot: "dy.ot"; ou: "dy.ou"; ov: "dy.ov"; ow: "dy.ow"; ox: "dy.ox"; oy: "dy.oy"; oz: "dy.oz"; pa: "dy.pa"; pb: "dy.pb"; pc: "dy.pc"; pd: "dy.pd"; pe: "dy.pe"; pf: "dy.pf"; pg: "dy.pg"; ph: "dy.ph"; pi: "dy.pi"; pj: "dy.pj"; pk: "dy.pk"; pl: "dy.pl"; pm: "dy.pm"; pn: "dy.pn"; po: "dy.po"; pp: "dy.pp"; pq: "dy.pq"; pr: "dy.pr"; ps: "dy.ps"; pt: "dy.pt"; pu: "dy.pu"; pv: "dy.pv"; pw: "dy.pw"; px: "dy.px"; py: "dy.py"; pz: "dy.pz"; qa: "dy.qa"; qb: "dy.qb"; qc: "dy.qc"; qd: "dy.qd"; qe: "dy.qe"; qf: "dy.qf"; qg: "dy.qg"; qh: "dy.qh"; qi: "dy.qi"; qj: "dy.qj"; qk: "dy.qk"; ql: "dy.ql"; qm: "dy.qm"; qn: "dy.qn"; qo: "dy.qo"; qp: "dy.qp"; qq: "dy.qq"; qr: "dy.qr"; qs: "dy.qs"; qt: "dy.qt"; qu: "dy.qu"; qv: "dy.qv"; qw: "dy.qw"; qx: "dy.qx"; qy: "dy.qy"; qz: "dy.qz"; ra: "dy.ra"; rb: "dy.rb"; rc: "dy.rc"; rd: "dy.rd"; re: "dy.re"; rf: "dy.rf"; rg: "dy.rg"; rh: "dy.rh"; ri: "dy.ri"; rj: "dy.rj"; rk: "dy.rk"; rl: "dy.rl"; rm: "dy.rm"; rn: "dy.rn"; ro: "dy.ro"; rp: "dy.rp"; rq: "dy.rq"; rr: "dy.rr"; rs: "dy.rs"; rt: "dy.rt"; ru: "dy.ru"; rv: "dy.rv"; rw: "dy.rw"; rx: "dy.rx"; ry: "dy.ry"; rz: "dy.rz"; sa: "dy.sa"; sb: "dy.sb"; sc: "dy.sc"; sd: "dy.sd"; se: "dy.se"; sf: "dy.sf"; sg: "dy.sg"; sh: "dy.sh"; si: "dy.si"; sj: "dy.sj"; sk: "dy.sk"; sl: "dy.sl"; sm: "dy.sm"; sn: "dy.sn"; so: "dy.so"; sp: "dy.sp"; sq: "dy.sq"; sr: "dy.sr"; ss: "dy.ss"; st: "dy.st"; su: "dy.su"; sv: "dy.sv"; sw: "dy.sw"; sx: "dy.sx"; sy: "dy.sy"; sz: "dy.sz"; ta: "dy.ta"; tb: "dy.tb"; tc: "dy.tc"; td: "dy.td"; te: "dy.te"; tf: "dy.tf"; tg: "dy.tg"; th: "dy.th"; ti: "dy.ti"; tj: "dy.tj"; tk: "dy.tk"; tl: "dy.tl"; tm: "dy.tm"; tn: "dy.tn"; to: "dy.to"; tp: "dy.tp"; tq: "dy.tq"; tr: "dy.tr"; ts: "dy.ts"; tt: "dy.tt"; tu: "dy.tu"; tv: "dy.tv"; tw: "dy.tw"; tx: "dy.tx"; ty: "dy.ty"; tz: "dy.tz"; ua: "dy.ua"; ub: "dy.ub"; uc: "dy.uc"; ud: "dy.ud"; ue: "dy.ue"; uf: "dy.uf"; ug: "dy.ug"; uh: "dy.uh"; ui: "dy.ui"; uj: "dy.uj"; uk: "dy.uk"; ul: "dy.ul"; um: "dy.um"; un: "dy.un"; uo: "dy.uo"; up: "dy.up"; uq: "dy.uq"; ur: "dy.ur"; us: "dy.us"; ut: "dy.ut"; uu: "dy.uu"; uv: "dy.uv"; uw: "dy.uw"; ux: "dy.ux"; uy: "dy.uy"; uz: "dy.uz"; va: "dy.va"; vb: "dy.vb"; vc: "dy.vc"; vd: "dy.vd"; ve: "dy.ve"; vf: "dy.vf"; vg: "dy.vg"; vh: "dy.vh"; vi: "dy.vi"; vj: "dy.vj"; vk: "dy.vk"; vl: "dy.vl"; vm: "dy.vm"; vn: "dy.vn"; vo: "dy.vo"; vp: "dy.vp"; vq: "dy.vq"; vr: "dy.vr"; vs: "dy.vs"; vt: "dy.vt"; vu: "dy.vu"; vv: "dy.vv"; vw: "dy.vw"; vx: "dy.vx"; vy: "dy.vy"; vz: "dy.vz"; wa: "dy.wa"; wb: "dy.wb"; wc: "dy.wc"; wd: "dy.wd"; we: "dy.we"; wf: "dy.wf"; wg: "dy.wg"; wh: "dy.wh"; wi: "dy.wi"; wj: "dy.wj"; wk: "dy.wk"; wl: "dy.wl"; wm: "dy.wm"; wn: "dy.wn"; wo: "dy.wo"; wp: "dy.wp"; wq: "dy.wq"; wr: "dy.wr"; ws: "dy.ws"; wt: "dy.wt"; wu: "dy.wu"; wv: "dy.wv"; ww: "dy.ww"; wx: "dy.wx"; wy: "dy.wy"; wz: "dy.wz"; xa: "dy.xa"; xb: "dy.xb"; xc: "dy.xc"; xd: "dy.xd"; xe: "dy.xe"; xf: "dy.xf"; xg: "dy.xg"; xh: "dy.xh"; xi: "dy.xi"; xj: "dy.xj"; xk: "dy.xk"; xl: "dy.xl"; xm: "dy.xm"; xn: "dy.xn"; xo: "dy.xo"; xp: "dy.xp"; xq: "dy.xq"; xr: "dy.xr"; xs: "dy.xs"; xt: "dy.xt"; xu: "dy.xu"; xv: "dy.xv"; xw: "dy.xw"; xx: "dy.xx"; xy: "dy.xy"; xz: "dy.xz"; ya: "dy.ya"; yb: "dy.yb"; yc: "dy.yc"; yd: "dy.yd"; ye: "dy.ye"; yf: "dy.yf"; yg: "dy.yg"; yh: "dy.yh"; yi: "dy.yi"; yj: "dy.yj"; yk: "dy.yk"; yl: "dy.yl"; ym: "dy.ym"; yn: "dy.yn"; yo: "dy.yo"; yp: "dy.yp"; yq: "dy.yq"; yr: "dy.yr"; ys: "dy.ys"; yt: "dy.yt"; yu: "dy.yu"; yv: "dy.yv"; yw: "dy.yw"; yx: "dy.yx"; yy: "dy.yy"; yz: "dy.yz"; za: "dy.za"; zb: "dy.zb"; zc: "dy.zc"; zd: "dy.zd"; ze: "dy.ze"; zf: "dy.zf"; zg: "dy.zg"; zh: "dy.zh"; zi: "dy.zi"; zj: "dy.zj"; zk: "dy.zk"; zl: "dy.zl"; zm: "dy.zm"; zn: "dy.zn"; zo: "dy.zo"; zp: "dy.zp"; zq: "dy.zq"; zr: "dy.zr"; zs: "dy.zs"; zt: "dy.zt"; zu: "dy.zu"; zv: "dy.zv"; zw: "dy.zw"; zx: "dy.zx"; zy: "dy.zy"; zz: "dy.zz"; }; dz: { aa: "dz.aa"; ab: "dz.ab"; ac: "dz.ac"; ad: "dz.ad"; ae: "dz.ae"; af: "dz.af"; ag: "dz.ag"; ah: "dz.ah"; ai: "dz.ai"; aj: "dz.aj"; ak: "dz.ak"; al: "dz.al"; am: "dz.am"; an: "dz.an"; ao: "dz.ao"; ap: "dz.ap"; aq: "dz.aq"; ar: "dz.ar"; as: "dz.as"; at: "dz.at"; au: "dz.au"; av: "dz.av"; aw: "dz.aw"; ax: "dz.ax"; ay: "dz.ay"; az: "dz.az"; ba: "dz.ba"; bb: "dz.bb"; bc: "dz.bc"; bd: "dz.bd"; be: "dz.be"; bf: "dz.bf"; bg: "dz.bg"; bh: "dz.bh"; bi: "dz.bi"; bj: "dz.bj"; bk: "dz.bk"; bl: "dz.bl"; bm: "dz.bm"; bn: "dz.bn"; bo: "dz.bo"; bp: "dz.bp"; bq: "dz.bq"; br: "dz.br"; bs: "dz.bs"; bt: "dz.bt"; bu: "dz.bu"; bv: "dz.bv"; bw: "dz.bw"; bx: "dz.bx"; by: "dz.by"; bz: "dz.bz"; ca: "dz.ca"; cb: "dz.cb"; cc: "dz.cc"; cd: "dz.cd"; ce: "dz.ce"; cf: "dz.cf"; cg: "dz.cg"; ch: "dz.ch"; ci: "dz.ci"; cj: "dz.cj"; ck: "dz.ck"; cl: "dz.cl"; cm: "dz.cm"; cn: "dz.cn"; co: "dz.co"; cp: "dz.cp"; cq: "dz.cq"; cr: "dz.cr"; cs: "dz.cs"; ct: "dz.ct"; cu: "dz.cu"; cv: "dz.cv"; cw: "dz.cw"; cx: "dz.cx"; cy: "dz.cy"; cz: "dz.cz"; da: "dz.da"; db: "dz.db"; dc: "dz.dc"; dd: "dz.dd"; de: "dz.de"; df: "dz.df"; dg: "dz.dg"; dh: "dz.dh"; di: "dz.di"; dj: "dz.dj"; dk: "dz.dk"; dl: "dz.dl"; dm: "dz.dm"; dn: "dz.dn"; do: "dz.do"; dp: "dz.dp"; dq: "dz.dq"; dr: "dz.dr"; ds: "dz.ds"; dt: "dz.dt"; du: "dz.du"; dv: "dz.dv"; dw: "dz.dw"; dx: "dz.dx"; dy: "dz.dy"; dz: "dz.dz"; ea: "dz.ea"; eb: "dz.eb"; ec: "dz.ec"; ed: "dz.ed"; ee: "dz.ee"; ef: "dz.ef"; eg: "dz.eg"; eh: "dz.eh"; ei: "dz.ei"; ej: "dz.ej"; ek: "dz.ek"; el: "dz.el"; em: "dz.em"; en: "dz.en"; eo: "dz.eo"; ep: "dz.ep"; eq: "dz.eq"; er: "dz.er"; es: "dz.es"; et: "dz.et"; eu: "dz.eu"; ev: "dz.ev"; ew: "dz.ew"; ex: "dz.ex"; ey: "dz.ey"; ez: "dz.ez"; fa: "dz.fa"; fb: "dz.fb"; fc: "dz.fc"; fd: "dz.fd"; fe: "dz.fe"; ff: "dz.ff"; fg: "dz.fg"; fh: "dz.fh"; fi: "dz.fi"; fj: "dz.fj"; fk: "dz.fk"; fl: "dz.fl"; fm: "dz.fm"; fn: "dz.fn"; fo: "dz.fo"; fp: "dz.fp"; fq: "dz.fq"; fr: "dz.fr"; fs: "dz.fs"; ft: "dz.ft"; fu: "dz.fu"; fv: "dz.fv"; fw: "dz.fw"; fx: "dz.fx"; fy: "dz.fy"; fz: "dz.fz"; ga: "dz.ga"; gb: "dz.gb"; gc: "dz.gc"; gd: "dz.gd"; ge: "dz.ge"; gf: "dz.gf"; gg: "dz.gg"; gh: "dz.gh"; gi: "dz.gi"; gj: "dz.gj"; gk: "dz.gk"; gl: "dz.gl"; gm: "dz.gm"; gn: "dz.gn"; go: "dz.go"; gp: "dz.gp"; gq: "dz.gq"; gr: "dz.gr"; gs: "dz.gs"; gt: "dz.gt"; gu: "dz.gu"; gv: "dz.gv"; gw: "dz.gw"; gx: "dz.gx"; gy: "dz.gy"; gz: "dz.gz"; ha: "dz.ha"; hb: "dz.hb"; hc: "dz.hc"; hd: "dz.hd"; he: "dz.he"; hf: "dz.hf"; hg: "dz.hg"; hh: "dz.hh"; hi: "dz.hi"; hj: "dz.hj"; hk: "dz.hk"; hl: "dz.hl"; hm: "dz.hm"; hn: "dz.hn"; ho: "dz.ho"; hp: "dz.hp"; hq: "dz.hq"; hr: "dz.hr"; hs: "dz.hs"; ht: "dz.ht"; hu: "dz.hu"; hv: "dz.hv"; hw: "dz.hw"; hx: "dz.hx"; hy: "dz.hy"; hz: "dz.hz"; ia: "dz.ia"; ib: "dz.ib"; ic: "dz.ic"; id: "dz.id"; ie: "dz.ie"; if: "dz.if"; ig: "dz.ig"; ih: "dz.ih"; ii: "dz.ii"; ij: "dz.ij"; ik: "dz.ik"; il: "dz.il"; im: "dz.im"; in: "dz.in"; io: "dz.io"; ip: "dz.ip"; iq: "dz.iq"; ir: "dz.ir"; is: "dz.is"; it: "dz.it"; iu: "dz.iu"; iv: "dz.iv"; iw: "dz.iw"; ix: "dz.ix"; iy: "dz.iy"; iz: "dz.iz"; ja: "dz.ja"; jb: "dz.jb"; jc: "dz.jc"; jd: "dz.jd"; je: "dz.je"; jf: "dz.jf"; jg: "dz.jg"; jh: "dz.jh"; ji: "dz.ji"; jj: "dz.jj"; jk: "dz.jk"; jl: "dz.jl"; jm: "dz.jm"; jn: "dz.jn"; jo: "dz.jo"; jp: "dz.jp"; jq: "dz.jq"; jr: "dz.jr"; js: "dz.js"; jt: "dz.jt"; ju: "dz.ju"; jv: "dz.jv"; jw: "dz.jw"; jx: "dz.jx"; jy: "dz.jy"; jz: "dz.jz"; ka: "dz.ka"; kb: "dz.kb"; kc: "dz.kc"; kd: "dz.kd"; ke: "dz.ke"; kf: "dz.kf"; kg: "dz.kg"; kh: "dz.kh"; ki: "dz.ki"; kj: "dz.kj"; kk: "dz.kk"; kl: "dz.kl"; km: "dz.km"; kn: "dz.kn"; ko: "dz.ko"; kp: "dz.kp"; kq: "dz.kq"; kr: "dz.kr"; ks: "dz.ks"; kt: "dz.kt"; ku: "dz.ku"; kv: "dz.kv"; kw: "dz.kw"; kx: "dz.kx"; ky: "dz.ky"; kz: "dz.kz"; la: "dz.la"; lb: "dz.lb"; lc: "dz.lc"; ld: "dz.ld"; le: "dz.le"; lf: "dz.lf"; lg: "dz.lg"; lh: "dz.lh"; li: "dz.li"; lj: "dz.lj"; lk: "dz.lk"; ll: "dz.ll"; lm: "dz.lm"; ln: "dz.ln"; lo: "dz.lo"; lp: "dz.lp"; lq: "dz.lq"; lr: "dz.lr"; ls: "dz.ls"; lt: "dz.lt"; lu: "dz.lu"; lv: "dz.lv"; lw: "dz.lw"; lx: "dz.lx"; ly: "dz.ly"; lz: "dz.lz"; ma: "dz.ma"; mb: "dz.mb"; mc: "dz.mc"; md: "dz.md"; me: "dz.me"; mf: "dz.mf"; mg: "dz.mg"; mh: "dz.mh"; mi: "dz.mi"; mj: "dz.mj"; mk: "dz.mk"; ml: "dz.ml"; mm: "dz.mm"; mn: "dz.mn"; mo: "dz.mo"; mp: "dz.mp"; mq: "dz.mq"; mr: "dz.mr"; ms: "dz.ms"; mt: "dz.mt"; mu: "dz.mu"; mv: "dz.mv"; mw: "dz.mw"; mx: "dz.mx"; my: "dz.my"; mz: "dz.mz"; na: "dz.na"; nb: "dz.nb"; nc: "dz.nc"; nd: "dz.nd"; ne: "dz.ne"; nf: "dz.nf"; ng: "dz.ng"; nh: "dz.nh"; ni: "dz.ni"; nj: "dz.nj"; nk: "dz.nk"; nl: "dz.nl"; nm: "dz.nm"; nn: "dz.nn"; no: "dz.no"; np: "dz.np"; nq: "dz.nq"; nr: "dz.nr"; ns: "dz.ns"; nt: "dz.nt"; nu: "dz.nu"; nv: "dz.nv"; nw: "dz.nw"; nx: "dz.nx"; ny: "dz.ny"; nz: "dz.nz"; oa: "dz.oa"; ob: "dz.ob"; oc: "dz.oc"; od: "dz.od"; oe: "dz.oe"; of: "dz.of"; og: "dz.og"; oh: "dz.oh"; oi: "dz.oi"; oj: "dz.oj"; ok: "dz.ok"; ol: "dz.ol"; om: "dz.om"; on: "dz.on"; oo: "dz.oo"; op: "dz.op"; oq: "dz.oq"; or: "dz.or"; os: "dz.os"; ot: "dz.ot"; ou: "dz.ou"; ov: "dz.ov"; ow: "dz.ow"; ox: "dz.ox"; oy: "dz.oy"; oz: "dz.oz"; pa: "dz.pa"; pb: "dz.pb"; pc: "dz.pc"; pd: "dz.pd"; pe: "dz.pe"; pf: "dz.pf"; pg: "dz.pg"; ph: "dz.ph"; pi: "dz.pi"; pj: "dz.pj"; pk: "dz.pk"; pl: "dz.pl"; pm: "dz.pm"; pn: "dz.pn"; po: "dz.po"; pp: "dz.pp"; pq: "dz.pq"; pr: "dz.pr"; ps: "dz.ps"; pt: "dz.pt"; pu: "dz.pu"; pv: "dz.pv"; pw: "dz.pw"; px: "dz.px"; py: "dz.py"; pz: "dz.pz"; qa: "dz.qa"; qb: "dz.qb"; qc: "dz.qc"; qd: "dz.qd"; qe: "dz.qe"; qf: "dz.qf"; qg: "dz.qg"; qh: "dz.qh"; qi: "dz.qi"; qj: "dz.qj"; qk: "dz.qk"; ql: "dz.ql"; qm: "dz.qm"; qn: "dz.qn"; qo: "dz.qo"; qp: "dz.qp"; qq: "dz.qq"; qr: "dz.qr"; qs: "dz.qs"; qt: "dz.qt"; qu: "dz.qu"; qv: "dz.qv"; qw: "dz.qw"; qx: "dz.qx"; qy: "dz.qy"; qz: "dz.qz"; ra: "dz.ra"; rb: "dz.rb"; rc: "dz.rc"; rd: "dz.rd"; re: "dz.re"; rf: "dz.rf"; rg: "dz.rg"; rh: "dz.rh"; ri: "dz.ri"; rj: "dz.rj"; rk: "dz.rk"; rl: "dz.rl"; rm: "dz.rm"; rn: "dz.rn"; ro: "dz.ro"; rp: "dz.rp"; rq: "dz.rq"; rr: "dz.rr"; rs: "dz.rs"; rt: "dz.rt"; ru: "dz.ru"; rv: "dz.rv"; rw: "dz.rw"; rx: "dz.rx"; ry: "dz.ry"; rz: "dz.rz"; sa: "dz.sa"; sb: "dz.sb"; sc: "dz.sc"; sd: "dz.sd"; se: "dz.se"; sf: "dz.sf"; sg: "dz.sg"; sh: "dz.sh"; si: "dz.si"; sj: "dz.sj"; sk: "dz.sk"; sl: "dz.sl"; sm: "dz.sm"; sn: "dz.sn"; so: "dz.so"; sp: "dz.sp"; sq: "dz.sq"; sr: "dz.sr"; ss: "dz.ss"; st: "dz.st"; su: "dz.su"; sv: "dz.sv"; sw: "dz.sw"; sx: "dz.sx"; sy: "dz.sy"; sz: "dz.sz"; ta: "dz.ta"; tb: "dz.tb"; tc: "dz.tc"; td: "dz.td"; te: "dz.te"; tf: "dz.tf"; tg: "dz.tg"; th: "dz.th"; ti: "dz.ti"; tj: "dz.tj"; tk: "dz.tk"; tl: "dz.tl"; tm: "dz.tm"; tn: "dz.tn"; to: "dz.to"; tp: "dz.tp"; tq: "dz.tq"; tr: "dz.tr"; ts: "dz.ts"; tt: "dz.tt"; tu: "dz.tu"; tv: "dz.tv"; tw: "dz.tw"; tx: "dz.tx"; ty: "dz.ty"; tz: "dz.tz"; ua: "dz.ua"; ub: "dz.ub"; uc: "dz.uc"; ud: "dz.ud"; ue: "dz.ue"; uf: "dz.uf"; ug: "dz.ug"; uh: "dz.uh"; ui: "dz.ui"; uj: "dz.uj"; uk: "dz.uk"; ul: "dz.ul"; um: "dz.um"; un: "dz.un"; uo: "dz.uo"; up: "dz.up"; uq: "dz.uq"; ur: "dz.ur"; us: "dz.us"; ut: "dz.ut"; uu: "dz.uu"; uv: "dz.uv"; uw: "dz.uw"; ux: "dz.ux"; uy: "dz.uy"; uz: "dz.uz"; va: "dz.va"; vb: "dz.vb"; vc: "dz.vc"; vd: "dz.vd"; ve: "dz.ve"; vf: "dz.vf"; vg: "dz.vg"; vh: "dz.vh"; vi: "dz.vi"; vj: "dz.vj"; vk: "dz.vk"; vl: "dz.vl"; vm: "dz.vm"; vn: "dz.vn"; vo: "dz.vo"; vp: "dz.vp"; vq: "dz.vq"; vr: "dz.vr"; vs: "dz.vs"; vt: "dz.vt"; vu: "dz.vu"; vv: "dz.vv"; vw: "dz.vw"; vx: "dz.vx"; vy: "dz.vy"; vz: "dz.vz"; wa: "dz.wa"; wb: "dz.wb"; wc: "dz.wc"; wd: "dz.wd"; we: "dz.we"; wf: "dz.wf"; wg: "dz.wg"; wh: "dz.wh"; wi: "dz.wi"; wj: "dz.wj"; wk: "dz.wk"; wl: "dz.wl"; wm: "dz.wm"; wn: "dz.wn"; wo: "dz.wo"; wp: "dz.wp"; wq: "dz.wq"; wr: "dz.wr"; ws: "dz.ws"; wt: "dz.wt"; wu: "dz.wu"; wv: "dz.wv"; ww: "dz.ww"; wx: "dz.wx"; wy: "dz.wy"; wz: "dz.wz"; xa: "dz.xa"; xb: "dz.xb"; xc: "dz.xc"; xd: "dz.xd"; xe: "dz.xe"; xf: "dz.xf"; xg: "dz.xg"; xh: "dz.xh"; xi: "dz.xi"; xj: "dz.xj"; xk: "dz.xk"; xl: "dz.xl"; xm: "dz.xm"; xn: "dz.xn"; xo: "dz.xo"; xp: "dz.xp"; xq: "dz.xq"; xr: "dz.xr"; xs: "dz.xs"; xt: "dz.xt"; xu: "dz.xu"; xv: "dz.xv"; xw: "dz.xw"; xx: "dz.xx"; xy: "dz.xy"; xz: "dz.xz"; ya: "dz.ya"; yb: "dz.yb"; yc: "dz.yc"; yd: "dz.yd"; ye: "dz.ye"; yf: "dz.yf"; yg: "dz.yg"; yh: "dz.yh"; yi: "dz.yi"; yj: "dz.yj"; yk: "dz.yk"; yl: "dz.yl"; ym: "dz.ym"; yn: "dz.yn"; yo: "dz.yo"; yp: "dz.yp"; yq: "dz.yq"; yr: "dz.yr"; ys: "dz.ys"; yt: "dz.yt"; yu: "dz.yu"; yv: "dz.yv"; yw: "dz.yw"; yx: "dz.yx"; yy: "dz.yy"; yz: "dz.yz"; za: "dz.za"; zb: "dz.zb"; zc: "dz.zc"; zd: "dz.zd"; ze: "dz.ze"; zf: "dz.zf"; zg: "dz.zg"; zh: "dz.zh"; zi: "dz.zi"; zj: "dz.zj"; zk: "dz.zk"; zl: "dz.zl"; zm: "dz.zm"; zn: "dz.zn"; zo: "dz.zo"; zp: "dz.zp"; zq: "dz.zq"; zr: "dz.zr"; zs: "dz.zs"; zt: "dz.zt"; zu: "dz.zu"; zv: "dz.zv"; zw: "dz.zw"; zx: "dz.zx"; zy: "dz.zy"; zz: "dz.zz"; }; ea: { aa: "ea.aa"; ab: "ea.ab"; ac: "ea.ac"; ad: "ea.ad"; ae: "ea.ae"; af: "ea.af"; ag: "ea.ag"; ah: "ea.ah"; ai: "ea.ai"; aj: "ea.aj"; ak: "ea.ak"; al: "ea.al"; am: "ea.am"; an: "ea.an"; ao: "ea.ao"; ap: "ea.ap"; aq: "ea.aq"; ar: "ea.ar"; as: "ea.as"; at: "ea.at"; au: "ea.au"; av: "ea.av"; aw: "ea.aw"; ax: "ea.ax"; ay: "ea.ay"; az: "ea.az"; ba: "ea.ba"; bb: "ea.bb"; bc: "ea.bc"; bd: "ea.bd"; be: "ea.be"; bf: "ea.bf"; bg: "ea.bg"; bh: "ea.bh"; bi: "ea.bi"; bj: "ea.bj"; bk: "ea.bk"; bl: "ea.bl"; bm: "ea.bm"; bn: "ea.bn"; bo: "ea.bo"; bp: "ea.bp"; bq: "ea.bq"; br: "ea.br"; bs: "ea.bs"; bt: "ea.bt"; bu: "ea.bu"; bv: "ea.bv"; bw: "ea.bw"; bx: "ea.bx"; by: "ea.by"; bz: "ea.bz"; ca: "ea.ca"; cb: "ea.cb"; cc: "ea.cc"; cd: "ea.cd"; ce: "ea.ce"; cf: "ea.cf"; cg: "ea.cg"; ch: "ea.ch"; ci: "ea.ci"; cj: "ea.cj"; ck: "ea.ck"; cl: "ea.cl"; cm: "ea.cm"; cn: "ea.cn"; co: "ea.co"; cp: "ea.cp"; cq: "ea.cq"; cr: "ea.cr"; cs: "ea.cs"; ct: "ea.ct"; cu: "ea.cu"; cv: "ea.cv"; cw: "ea.cw"; cx: "ea.cx"; cy: "ea.cy"; cz: "ea.cz"; da: "ea.da"; db: "ea.db"; dc: "ea.dc"; dd: "ea.dd"; de: "ea.de"; df: "ea.df"; dg: "ea.dg"; dh: "ea.dh"; di: "ea.di"; dj: "ea.dj"; dk: "ea.dk"; dl: "ea.dl"; dm: "ea.dm"; dn: "ea.dn"; do: "ea.do"; dp: "ea.dp"; dq: "ea.dq"; dr: "ea.dr"; ds: "ea.ds"; dt: "ea.dt"; du: "ea.du"; dv: "ea.dv"; dw: "ea.dw"; dx: "ea.dx"; dy: "ea.dy"; dz: "ea.dz"; ea: "ea.ea"; eb: "ea.eb"; ec: "ea.ec"; ed: "ea.ed"; ee: "ea.ee"; ef: "ea.ef"; eg: "ea.eg"; eh: "ea.eh"; ei: "ea.ei"; ej: "ea.ej"; ek: "ea.ek"; el: "ea.el"; em: "ea.em"; en: "ea.en"; eo: "ea.eo"; ep: "ea.ep"; eq: "ea.eq"; er: "ea.er"; es: "ea.es"; et: "ea.et"; eu: "ea.eu"; ev: "ea.ev"; ew: "ea.ew"; ex: "ea.ex"; ey: "ea.ey"; ez: "ea.ez"; fa: "ea.fa"; fb: "ea.fb"; fc: "ea.fc"; fd: "ea.fd"; fe: "ea.fe"; ff: "ea.ff"; fg: "ea.fg"; fh: "ea.fh"; fi: "ea.fi"; fj: "ea.fj"; fk: "ea.fk"; fl: "ea.fl"; fm: "ea.fm"; fn: "ea.fn"; fo: "ea.fo"; fp: "ea.fp"; fq: "ea.fq"; fr: "ea.fr"; fs: "ea.fs"; ft: "ea.ft"; fu: "ea.fu"; fv: "ea.fv"; fw: "ea.fw"; fx: "ea.fx"; fy: "ea.fy"; fz: "ea.fz"; ga: "ea.ga"; gb: "ea.gb"; gc: "ea.gc"; gd: "ea.gd"; ge: "ea.ge"; gf: "ea.gf"; gg: "ea.gg"; gh: "ea.gh"; gi: "ea.gi"; gj: "ea.gj"; gk: "ea.gk"; gl: "ea.gl"; gm: "ea.gm"; gn: "ea.gn"; go: "ea.go"; gp: "ea.gp"; gq: "ea.gq"; gr: "ea.gr"; gs: "ea.gs"; gt: "ea.gt"; gu: "ea.gu"; gv: "ea.gv"; gw: "ea.gw"; gx: "ea.gx"; gy: "ea.gy"; gz: "ea.gz"; ha: "ea.ha"; hb: "ea.hb"; hc: "ea.hc"; hd: "ea.hd"; he: "ea.he"; hf: "ea.hf"; hg: "ea.hg"; hh: "ea.hh"; hi: "ea.hi"; hj: "ea.hj"; hk: "ea.hk"; hl: "ea.hl"; hm: "ea.hm"; hn: "ea.hn"; ho: "ea.ho"; hp: "ea.hp"; hq: "ea.hq"; hr: "ea.hr"; hs: "ea.hs"; ht: "ea.ht"; hu: "ea.hu"; hv: "ea.hv"; hw: "ea.hw"; hx: "ea.hx"; hy: "ea.hy"; hz: "ea.hz"; ia: "ea.ia"; ib: "ea.ib"; ic: "ea.ic"; id: "ea.id"; ie: "ea.ie"; if: "ea.if"; ig: "ea.ig"; ih: "ea.ih"; ii: "ea.ii"; ij: "ea.ij"; ik: "ea.ik"; il: "ea.il"; im: "ea.im"; in: "ea.in"; io: "ea.io"; ip: "ea.ip"; iq: "ea.iq"; ir: "ea.ir"; is: "ea.is"; it: "ea.it"; iu: "ea.iu"; iv: "ea.iv"; iw: "ea.iw"; ix: "ea.ix"; iy: "ea.iy"; iz: "ea.iz"; ja: "ea.ja"; jb: "ea.jb"; jc: "ea.jc"; jd: "ea.jd"; je: "ea.je"; jf: "ea.jf"; jg: "ea.jg"; jh: "ea.jh"; ji: "ea.ji"; jj: "ea.jj"; jk: "ea.jk"; jl: "ea.jl"; jm: "ea.jm"; jn: "ea.jn"; jo: "ea.jo"; jp: "ea.jp"; jq: "ea.jq"; jr: "ea.jr"; js: "ea.js"; jt: "ea.jt"; ju: "ea.ju"; jv: "ea.jv"; jw: "ea.jw"; jx: "ea.jx"; jy: "ea.jy"; jz: "ea.jz"; ka: "ea.ka"; kb: "ea.kb"; kc: "ea.kc"; kd: "ea.kd"; ke: "ea.ke"; kf: "ea.kf"; kg: "ea.kg"; kh: "ea.kh"; ki: "ea.ki"; kj: "ea.kj"; kk: "ea.kk"; kl: "ea.kl"; km: "ea.km"; kn: "ea.kn"; ko: "ea.ko"; kp: "ea.kp"; kq: "ea.kq"; kr: "ea.kr"; ks: "ea.ks"; kt: "ea.kt"; ku: "ea.ku"; kv: "ea.kv"; kw: "ea.kw"; kx: "ea.kx"; ky: "ea.ky"; kz: "ea.kz"; la: "ea.la"; lb: "ea.lb"; lc: "ea.lc"; ld: "ea.ld"; le: "ea.le"; lf: "ea.lf"; lg: "ea.lg"; lh: "ea.lh"; li: "ea.li"; lj: "ea.lj"; lk: "ea.lk"; ll: "ea.ll"; lm: "ea.lm"; ln: "ea.ln"; lo: "ea.lo"; lp: "ea.lp"; lq: "ea.lq"; lr: "ea.lr"; ls: "ea.ls"; lt: "ea.lt"; lu: "ea.lu"; lv: "ea.lv"; lw: "ea.lw"; lx: "ea.lx"; ly: "ea.ly"; lz: "ea.lz"; ma: "ea.ma"; mb: "ea.mb"; mc: "ea.mc"; md: "ea.md"; me: "ea.me"; mf: "ea.mf"; mg: "ea.mg"; mh: "ea.mh"; mi: "ea.mi"; mj: "ea.mj"; mk: "ea.mk"; ml: "ea.ml"; mm: "ea.mm"; mn: "ea.mn"; mo: "ea.mo"; mp: "ea.mp"; mq: "ea.mq"; mr: "ea.mr"; ms: "ea.ms"; mt: "ea.mt"; mu: "ea.mu"; mv: "ea.mv"; mw: "ea.mw"; mx: "ea.mx"; my: "ea.my"; mz: "ea.mz"; na: "ea.na"; nb: "ea.nb"; nc: "ea.nc"; nd: "ea.nd"; ne: "ea.ne"; nf: "ea.nf"; ng: "ea.ng"; nh: "ea.nh"; ni: "ea.ni"; nj: "ea.nj"; nk: "ea.nk"; nl: "ea.nl"; nm: "ea.nm"; nn: "ea.nn"; no: "ea.no"; np: "ea.np"; nq: "ea.nq"; nr: "ea.nr"; ns: "ea.ns"; nt: "ea.nt"; nu: "ea.nu"; nv: "ea.nv"; nw: "ea.nw"; nx: "ea.nx"; ny: "ea.ny"; nz: "ea.nz"; oa: "ea.oa"; ob: "ea.ob"; oc: "ea.oc"; od: "ea.od"; oe: "ea.oe"; of: "ea.of"; og: "ea.og"; oh: "ea.oh"; oi: "ea.oi"; oj: "ea.oj"; ok: "ea.ok"; ol: "ea.ol"; om: "ea.om"; on: "ea.on"; oo: "ea.oo"; op: "ea.op"; oq: "ea.oq"; or: "ea.or"; os: "ea.os"; ot: "ea.ot"; ou: "ea.ou"; ov: "ea.ov"; ow: "ea.ow"; ox: "ea.ox"; oy: "ea.oy"; oz: "ea.oz"; pa: "ea.pa"; pb: "ea.pb"; pc: "ea.pc"; pd: "ea.pd"; pe: "ea.pe"; pf: "ea.pf"; pg: "ea.pg"; ph: "ea.ph"; pi: "ea.pi"; pj: "ea.pj"; pk: "ea.pk"; pl: "ea.pl"; pm: "ea.pm"; pn: "ea.pn"; po: "ea.po"; pp: "ea.pp"; pq: "ea.pq"; pr: "ea.pr"; ps: "ea.ps"; pt: "ea.pt"; pu: "ea.pu"; pv: "ea.pv"; pw: "ea.pw"; px: "ea.px"; py: "ea.py"; pz: "ea.pz"; qa: "ea.qa"; qb: "ea.qb"; qc: "ea.qc"; qd: "ea.qd"; qe: "ea.qe"; qf: "ea.qf"; qg: "ea.qg"; qh: "ea.qh"; qi: "ea.qi"; qj: "ea.qj"; qk: "ea.qk"; ql: "ea.ql"; qm: "ea.qm"; qn: "ea.qn"; qo: "ea.qo"; qp: "ea.qp"; qq: "ea.qq"; qr: "ea.qr"; qs: "ea.qs"; qt: "ea.qt"; qu: "ea.qu"; qv: "ea.qv"; qw: "ea.qw"; qx: "ea.qx"; qy: "ea.qy"; qz: "ea.qz"; ra: "ea.ra"; rb: "ea.rb"; rc: "ea.rc"; rd: "ea.rd"; re: "ea.re"; rf: "ea.rf"; rg: "ea.rg"; rh: "ea.rh"; ri: "ea.ri"; rj: "ea.rj"; rk: "ea.rk"; rl: "ea.rl"; rm: "ea.rm"; rn: "ea.rn"; ro: "ea.ro"; rp: "ea.rp"; rq: "ea.rq"; rr: "ea.rr"; rs: "ea.rs"; rt: "ea.rt"; ru: "ea.ru"; rv: "ea.rv"; rw: "ea.rw"; rx: "ea.rx"; ry: "ea.ry"; rz: "ea.rz"; sa: "ea.sa"; sb: "ea.sb"; sc: "ea.sc"; sd: "ea.sd"; se: "ea.se"; sf: "ea.sf"; sg: "ea.sg"; sh: "ea.sh"; si: "ea.si"; sj: "ea.sj"; sk: "ea.sk"; sl: "ea.sl"; sm: "ea.sm"; sn: "ea.sn"; so: "ea.so"; sp: "ea.sp"; sq: "ea.sq"; sr: "ea.sr"; ss: "ea.ss"; st: "ea.st"; su: "ea.su"; sv: "ea.sv"; sw: "ea.sw"; sx: "ea.sx"; sy: "ea.sy"; sz: "ea.sz"; ta: "ea.ta"; tb: "ea.tb"; tc: "ea.tc"; td: "ea.td"; te: "ea.te"; tf: "ea.tf"; tg: "ea.tg"; th: "ea.th"; ti: "ea.ti"; tj: "ea.tj"; tk: "ea.tk"; tl: "ea.tl"; tm: "ea.tm"; tn: "ea.tn"; to: "ea.to"; tp: "ea.tp"; tq: "ea.tq"; tr: "ea.tr"; ts: "ea.ts"; tt: "ea.tt"; tu: "ea.tu"; tv: "ea.tv"; tw: "ea.tw"; tx: "ea.tx"; ty: "ea.ty"; tz: "ea.tz"; ua: "ea.ua"; ub: "ea.ub"; uc: "ea.uc"; ud: "ea.ud"; ue: "ea.ue"; uf: "ea.uf"; ug: "ea.ug"; uh: "ea.uh"; ui: "ea.ui"; uj: "ea.uj"; uk: "ea.uk"; ul: "ea.ul"; um: "ea.um"; un: "ea.un"; uo: "ea.uo"; up: "ea.up"; uq: "ea.uq"; ur: "ea.ur"; us: "ea.us"; ut: "ea.ut"; uu: "ea.uu"; uv: "ea.uv"; uw: "ea.uw"; ux: "ea.ux"; uy: "ea.uy"; uz: "ea.uz"; va: "ea.va"; vb: "ea.vb"; vc: "ea.vc"; vd: "ea.vd"; ve: "ea.ve"; vf: "ea.vf"; vg: "ea.vg"; vh: "ea.vh"; vi: "ea.vi"; vj: "ea.vj"; vk: "ea.vk"; vl: "ea.vl"; vm: "ea.vm"; vn: "ea.vn"; vo: "ea.vo"; vp: "ea.vp"; vq: "ea.vq"; vr: "ea.vr"; vs: "ea.vs"; vt: "ea.vt"; vu: "ea.vu"; vv: "ea.vv"; vw: "ea.vw"; vx: "ea.vx"; vy: "ea.vy"; vz: "ea.vz"; wa: "ea.wa"; wb: "ea.wb"; wc: "ea.wc"; wd: "ea.wd"; we: "ea.we"; wf: "ea.wf"; wg: "ea.wg"; wh: "ea.wh"; wi: "ea.wi"; wj: "ea.wj"; wk: "ea.wk"; wl: "ea.wl"; wm: "ea.wm"; wn: "ea.wn"; wo: "ea.wo"; wp: "ea.wp"; wq: "ea.wq"; wr: "ea.wr"; ws: "ea.ws"; wt: "ea.wt"; wu: "ea.wu"; wv: "ea.wv"; ww: "ea.ww"; wx: "ea.wx"; wy: "ea.wy"; wz: "ea.wz"; xa: "ea.xa"; xb: "ea.xb"; xc: "ea.xc"; xd: "ea.xd"; xe: "ea.xe"; xf: "ea.xf"; xg: "ea.xg"; xh: "ea.xh"; xi: "ea.xi"; xj: "ea.xj"; xk: "ea.xk"; xl: "ea.xl"; xm: "ea.xm"; xn: "ea.xn"; xo: "ea.xo"; xp: "ea.xp"; xq: "ea.xq"; xr: "ea.xr"; xs: "ea.xs"; xt: "ea.xt"; xu: "ea.xu"; xv: "ea.xv"; xw: "ea.xw"; xx: "ea.xx"; xy: "ea.xy"; xz: "ea.xz"; ya: "ea.ya"; yb: "ea.yb"; yc: "ea.yc"; yd: "ea.yd"; ye: "ea.ye"; yf: "ea.yf"; yg: "ea.yg"; yh: "ea.yh"; yi: "ea.yi"; yj: "ea.yj"; yk: "ea.yk"; yl: "ea.yl"; ym: "ea.ym"; yn: "ea.yn"; yo: "ea.yo"; yp: "ea.yp"; yq: "ea.yq"; yr: "ea.yr"; ys: "ea.ys"; yt: "ea.yt"; yu: "ea.yu"; yv: "ea.yv"; yw: "ea.yw"; yx: "ea.yx"; yy: "ea.yy"; yz: "ea.yz"; za: "ea.za"; zb: "ea.zb"; zc: "ea.zc"; zd: "ea.zd"; ze: "ea.ze"; zf: "ea.zf"; zg: "ea.zg"; zh: "ea.zh"; zi: "ea.zi"; zj: "ea.zj"; zk: "ea.zk"; zl: "ea.zl"; zm: "ea.zm"; zn: "ea.zn"; zo: "ea.zo"; zp: "ea.zp"; zq: "ea.zq"; zr: "ea.zr"; zs: "ea.zs"; zt: "ea.zt"; zu: "ea.zu"; zv: "ea.zv"; zw: "ea.zw"; zx: "ea.zx"; zy: "ea.zy"; zz: "ea.zz"; }; eb: { aa: "eb.aa"; ab: "eb.ab"; ac: "eb.ac"; ad: "eb.ad"; ae: "eb.ae"; af: "eb.af"; ag: "eb.ag"; ah: "eb.ah"; ai: "eb.ai"; aj: "eb.aj"; ak: "eb.ak"; al: "eb.al"; am: "eb.am"; an: "eb.an"; ao: "eb.ao"; ap: "eb.ap"; aq: "eb.aq"; ar: "eb.ar"; as: "eb.as"; at: "eb.at"; au: "eb.au"; av: "eb.av"; aw: "eb.aw"; ax: "eb.ax"; ay: "eb.ay"; az: "eb.az"; ba: "eb.ba"; bb: "eb.bb"; bc: "eb.bc"; bd: "eb.bd"; be: "eb.be"; bf: "eb.bf"; bg: "eb.bg"; bh: "eb.bh"; bi: "eb.bi"; bj: "eb.bj"; bk: "eb.bk"; bl: "eb.bl"; bm: "eb.bm"; bn: "eb.bn"; bo: "eb.bo"; bp: "eb.bp"; bq: "eb.bq"; br: "eb.br"; bs: "eb.bs"; bt: "eb.bt"; bu: "eb.bu"; bv: "eb.bv"; bw: "eb.bw"; bx: "eb.bx"; by: "eb.by"; bz: "eb.bz"; ca: "eb.ca"; cb: "eb.cb"; cc: "eb.cc"; cd: "eb.cd"; ce: "eb.ce"; cf: "eb.cf"; cg: "eb.cg"; ch: "eb.ch"; ci: "eb.ci"; cj: "eb.cj"; ck: "eb.ck"; cl: "eb.cl"; cm: "eb.cm"; cn: "eb.cn"; co: "eb.co"; cp: "eb.cp"; cq: "eb.cq"; cr: "eb.cr"; cs: "eb.cs"; ct: "eb.ct"; cu: "eb.cu"; cv: "eb.cv"; cw: "eb.cw"; cx: "eb.cx"; cy: "eb.cy"; cz: "eb.cz"; da: "eb.da"; db: "eb.db"; dc: "eb.dc"; dd: "eb.dd"; de: "eb.de"; df: "eb.df"; dg: "eb.dg"; dh: "eb.dh"; di: "eb.di"; dj: "eb.dj"; dk: "eb.dk"; dl: "eb.dl"; dm: "eb.dm"; dn: "eb.dn"; do: "eb.do"; dp: "eb.dp"; dq: "eb.dq"; dr: "eb.dr"; ds: "eb.ds"; dt: "eb.dt"; du: "eb.du"; dv: "eb.dv"; dw: "eb.dw"; dx: "eb.dx"; dy: "eb.dy"; dz: "eb.dz"; ea: "eb.ea"; eb: "eb.eb"; ec: "eb.ec"; ed: "eb.ed"; ee: "eb.ee"; ef: "eb.ef"; eg: "eb.eg"; eh: "eb.eh"; ei: "eb.ei"; ej: "eb.ej"; ek: "eb.ek"; el: "eb.el"; em: "eb.em"; en: "eb.en"; eo: "eb.eo"; ep: "eb.ep"; eq: "eb.eq"; er: "eb.er"; es: "eb.es"; et: "eb.et"; eu: "eb.eu"; ev: "eb.ev"; ew: "eb.ew"; ex: "eb.ex"; ey: "eb.ey"; ez: "eb.ez"; fa: "eb.fa"; fb: "eb.fb"; fc: "eb.fc"; fd: "eb.fd"; fe: "eb.fe"; ff: "eb.ff"; fg: "eb.fg"; fh: "eb.fh"; fi: "eb.fi"; fj: "eb.fj"; fk: "eb.fk"; fl: "eb.fl"; fm: "eb.fm"; fn: "eb.fn"; fo: "eb.fo"; fp: "eb.fp"; fq: "eb.fq"; fr: "eb.fr"; fs: "eb.fs"; ft: "eb.ft"; fu: "eb.fu"; fv: "eb.fv"; fw: "eb.fw"; fx: "eb.fx"; fy: "eb.fy"; fz: "eb.fz"; ga: "eb.ga"; gb: "eb.gb"; gc: "eb.gc"; gd: "eb.gd"; ge: "eb.ge"; gf: "eb.gf"; gg: "eb.gg"; gh: "eb.gh"; gi: "eb.gi"; gj: "eb.gj"; gk: "eb.gk"; gl: "eb.gl"; gm: "eb.gm"; gn: "eb.gn"; go: "eb.go"; gp: "eb.gp"; gq: "eb.gq"; gr: "eb.gr"; gs: "eb.gs"; gt: "eb.gt"; gu: "eb.gu"; gv: "eb.gv"; gw: "eb.gw"; gx: "eb.gx"; gy: "eb.gy"; gz: "eb.gz"; ha: "eb.ha"; hb: "eb.hb"; hc: "eb.hc"; hd: "eb.hd"; he: "eb.he"; hf: "eb.hf"; hg: "eb.hg"; hh: "eb.hh"; hi: "eb.hi"; hj: "eb.hj"; hk: "eb.hk"; hl: "eb.hl"; hm: "eb.hm"; hn: "eb.hn"; ho: "eb.ho"; hp: "eb.hp"; hq: "eb.hq"; hr: "eb.hr"; hs: "eb.hs"; ht: "eb.ht"; hu: "eb.hu"; hv: "eb.hv"; hw: "eb.hw"; hx: "eb.hx"; hy: "eb.hy"; hz: "eb.hz"; ia: "eb.ia"; ib: "eb.ib"; ic: "eb.ic"; id: "eb.id"; ie: "eb.ie"; if: "eb.if"; ig: "eb.ig"; ih: "eb.ih"; ii: "eb.ii"; ij: "eb.ij"; ik: "eb.ik"; il: "eb.il"; im: "eb.im"; in: "eb.in"; io: "eb.io"; ip: "eb.ip"; iq: "eb.iq"; ir: "eb.ir"; is: "eb.is"; it: "eb.it"; iu: "eb.iu"; iv: "eb.iv"; iw: "eb.iw"; ix: "eb.ix"; iy: "eb.iy"; iz: "eb.iz"; ja: "eb.ja"; jb: "eb.jb"; jc: "eb.jc"; jd: "eb.jd"; je: "eb.je"; jf: "eb.jf"; jg: "eb.jg"; jh: "eb.jh"; ji: "eb.ji"; jj: "eb.jj"; jk: "eb.jk"; jl: "eb.jl"; jm: "eb.jm"; jn: "eb.jn"; jo: "eb.jo"; jp: "eb.jp"; jq: "eb.jq"; jr: "eb.jr"; js: "eb.js"; jt: "eb.jt"; ju: "eb.ju"; jv: "eb.jv"; jw: "eb.jw"; jx: "eb.jx"; jy: "eb.jy"; jz: "eb.jz"; ka: "eb.ka"; kb: "eb.kb"; kc: "eb.kc"; kd: "eb.kd"; ke: "eb.ke"; kf: "eb.kf"; kg: "eb.kg"; kh: "eb.kh"; ki: "eb.ki"; kj: "eb.kj"; kk: "eb.kk"; kl: "eb.kl"; km: "eb.km"; kn: "eb.kn"; ko: "eb.ko"; kp: "eb.kp"; kq: "eb.kq"; kr: "eb.kr"; ks: "eb.ks"; kt: "eb.kt"; ku: "eb.ku"; kv: "eb.kv"; kw: "eb.kw"; kx: "eb.kx"; ky: "eb.ky"; kz: "eb.kz"; la: "eb.la"; lb: "eb.lb"; lc: "eb.lc"; ld: "eb.ld"; le: "eb.le"; lf: "eb.lf"; lg: "eb.lg"; lh: "eb.lh"; li: "eb.li"; lj: "eb.lj"; lk: "eb.lk"; ll: "eb.ll"; lm: "eb.lm"; ln: "eb.ln"; lo: "eb.lo"; lp: "eb.lp"; lq: "eb.lq"; lr: "eb.lr"; ls: "eb.ls"; lt: "eb.lt"; lu: "eb.lu"; lv: "eb.lv"; lw: "eb.lw"; lx: "eb.lx"; ly: "eb.ly"; lz: "eb.lz"; ma: "eb.ma"; mb: "eb.mb"; mc: "eb.mc"; md: "eb.md"; me: "eb.me"; mf: "eb.mf"; mg: "eb.mg"; mh: "eb.mh"; mi: "eb.mi"; mj: "eb.mj"; mk: "eb.mk"; ml: "eb.ml"; mm: "eb.mm"; mn: "eb.mn"; mo: "eb.mo"; mp: "eb.mp"; mq: "eb.mq"; mr: "eb.mr"; ms: "eb.ms"; mt: "eb.mt"; mu: "eb.mu"; mv: "eb.mv"; mw: "eb.mw"; mx: "eb.mx"; my: "eb.my"; mz: "eb.mz"; na: "eb.na"; nb: "eb.nb"; nc: "eb.nc"; nd: "eb.nd"; ne: "eb.ne"; nf: "eb.nf"; ng: "eb.ng"; nh: "eb.nh"; ni: "eb.ni"; nj: "eb.nj"; nk: "eb.nk"; nl: "eb.nl"; nm: "eb.nm"; nn: "eb.nn"; no: "eb.no"; np: "eb.np"; nq: "eb.nq"; nr: "eb.nr"; ns: "eb.ns"; nt: "eb.nt"; nu: "eb.nu"; nv: "eb.nv"; nw: "eb.nw"; nx: "eb.nx"; ny: "eb.ny"; nz: "eb.nz"; oa: "eb.oa"; ob: "eb.ob"; oc: "eb.oc"; od: "eb.od"; oe: "eb.oe"; of: "eb.of"; og: "eb.og"; oh: "eb.oh"; oi: "eb.oi"; oj: "eb.oj"; ok: "eb.ok"; ol: "eb.ol"; om: "eb.om"; on: "eb.on"; oo: "eb.oo"; op: "eb.op"; oq: "eb.oq"; or: "eb.or"; os: "eb.os"; ot: "eb.ot"; ou: "eb.ou"; ov: "eb.ov"; ow: "eb.ow"; ox: "eb.ox"; oy: "eb.oy"; oz: "eb.oz"; pa: "eb.pa"; pb: "eb.pb"; pc: "eb.pc"; pd: "eb.pd"; pe: "eb.pe"; pf: "eb.pf"; pg: "eb.pg"; ph: "eb.ph"; pi: "eb.pi"; pj: "eb.pj"; pk: "eb.pk"; pl: "eb.pl"; pm: "eb.pm"; pn: "eb.pn"; po: "eb.po"; pp: "eb.pp"; pq: "eb.pq"; pr: "eb.pr"; ps: "eb.ps"; pt: "eb.pt"; pu: "eb.pu"; pv: "eb.pv"; pw: "eb.pw"; px: "eb.px"; py: "eb.py"; pz: "eb.pz"; qa: "eb.qa"; qb: "eb.qb"; qc: "eb.qc"; qd: "eb.qd"; qe: "eb.qe"; qf: "eb.qf"; qg: "eb.qg"; qh: "eb.qh"; qi: "eb.qi"; qj: "eb.qj"; qk: "eb.qk"; ql: "eb.ql"; qm: "eb.qm"; qn: "eb.qn"; qo: "eb.qo"; qp: "eb.qp"; qq: "eb.qq"; qr: "eb.qr"; qs: "eb.qs"; qt: "eb.qt"; qu: "eb.qu"; qv: "eb.qv"; qw: "eb.qw"; qx: "eb.qx"; qy: "eb.qy"; qz: "eb.qz"; ra: "eb.ra"; rb: "eb.rb"; rc: "eb.rc"; rd: "eb.rd"; re: "eb.re"; rf: "eb.rf"; rg: "eb.rg"; rh: "eb.rh"; ri: "eb.ri"; rj: "eb.rj"; rk: "eb.rk"; rl: "eb.rl"; rm: "eb.rm"; rn: "eb.rn"; ro: "eb.ro"; rp: "eb.rp"; rq: "eb.rq"; rr: "eb.rr"; rs: "eb.rs"; rt: "eb.rt"; ru: "eb.ru"; rv: "eb.rv"; rw: "eb.rw"; rx: "eb.rx"; ry: "eb.ry"; rz: "eb.rz"; sa: "eb.sa"; sb: "eb.sb"; sc: "eb.sc"; sd: "eb.sd"; se: "eb.se"; sf: "eb.sf"; sg: "eb.sg"; sh: "eb.sh"; si: "eb.si"; sj: "eb.sj"; sk: "eb.sk"; sl: "eb.sl"; sm: "eb.sm"; sn: "eb.sn"; so: "eb.so"; sp: "eb.sp"; sq: "eb.sq"; sr: "eb.sr"; ss: "eb.ss"; st: "eb.st"; su: "eb.su"; sv: "eb.sv"; sw: "eb.sw"; sx: "eb.sx"; sy: "eb.sy"; sz: "eb.sz"; ta: "eb.ta"; tb: "eb.tb"; tc: "eb.tc"; td: "eb.td"; te: "eb.te"; tf: "eb.tf"; tg: "eb.tg"; th: "eb.th"; ti: "eb.ti"; tj: "eb.tj"; tk: "eb.tk"; tl: "eb.tl"; tm: "eb.tm"; tn: "eb.tn"; to: "eb.to"; tp: "eb.tp"; tq: "eb.tq"; tr: "eb.tr"; ts: "eb.ts"; tt: "eb.tt"; tu: "eb.tu"; tv: "eb.tv"; tw: "eb.tw"; tx: "eb.tx"; ty: "eb.ty"; tz: "eb.tz"; ua: "eb.ua"; ub: "eb.ub"; uc: "eb.uc"; ud: "eb.ud"; ue: "eb.ue"; uf: "eb.uf"; ug: "eb.ug"; uh: "eb.uh"; ui: "eb.ui"; uj: "eb.uj"; uk: "eb.uk"; ul: "eb.ul"; um: "eb.um"; un: "eb.un"; uo: "eb.uo"; up: "eb.up"; uq: "eb.uq"; ur: "eb.ur"; us: "eb.us"; ut: "eb.ut"; uu: "eb.uu"; uv: "eb.uv"; uw: "eb.uw"; ux: "eb.ux"; uy: "eb.uy"; uz: "eb.uz"; va: "eb.va"; vb: "eb.vb"; vc: "eb.vc"; vd: "eb.vd"; ve: "eb.ve"; vf: "eb.vf"; vg: "eb.vg"; vh: "eb.vh"; vi: "eb.vi"; vj: "eb.vj"; vk: "eb.vk"; vl: "eb.vl"; vm: "eb.vm"; vn: "eb.vn"; vo: "eb.vo"; vp: "eb.vp"; vq: "eb.vq"; vr: "eb.vr"; vs: "eb.vs"; vt: "eb.vt"; vu: "eb.vu"; vv: "eb.vv"; vw: "eb.vw"; vx: "eb.vx"; vy: "eb.vy"; vz: "eb.vz"; wa: "eb.wa"; wb: "eb.wb"; wc: "eb.wc"; wd: "eb.wd"; we: "eb.we"; wf: "eb.wf"; wg: "eb.wg"; wh: "eb.wh"; wi: "eb.wi"; wj: "eb.wj"; wk: "eb.wk"; wl: "eb.wl"; wm: "eb.wm"; wn: "eb.wn"; wo: "eb.wo"; wp: "eb.wp"; wq: "eb.wq"; wr: "eb.wr"; ws: "eb.ws"; wt: "eb.wt"; wu: "eb.wu"; wv: "eb.wv"; ww: "eb.ww"; wx: "eb.wx"; wy: "eb.wy"; wz: "eb.wz"; xa: "eb.xa"; xb: "eb.xb"; xc: "eb.xc"; xd: "eb.xd"; xe: "eb.xe"; xf: "eb.xf"; xg: "eb.xg"; xh: "eb.xh"; xi: "eb.xi"; xj: "eb.xj"; xk: "eb.xk"; xl: "eb.xl"; xm: "eb.xm"; xn: "eb.xn"; xo: "eb.xo"; xp: "eb.xp"; xq: "eb.xq"; xr: "eb.xr"; xs: "eb.xs"; xt: "eb.xt"; xu: "eb.xu"; xv: "eb.xv"; xw: "eb.xw"; xx: "eb.xx"; xy: "eb.xy"; xz: "eb.xz"; ya: "eb.ya"; yb: "eb.yb"; yc: "eb.yc"; yd: "eb.yd"; ye: "eb.ye"; yf: "eb.yf"; yg: "eb.yg"; yh: "eb.yh"; yi: "eb.yi"; yj: "eb.yj"; yk: "eb.yk"; yl: "eb.yl"; ym: "eb.ym"; yn: "eb.yn"; yo: "eb.yo"; yp: "eb.yp"; yq: "eb.yq"; yr: "eb.yr"; ys: "eb.ys"; yt: "eb.yt"; yu: "eb.yu"; yv: "eb.yv"; yw: "eb.yw"; yx: "eb.yx"; yy: "eb.yy"; yz: "eb.yz"; za: "eb.za"; zb: "eb.zb"; zc: "eb.zc"; zd: "eb.zd"; ze: "eb.ze"; zf: "eb.zf"; zg: "eb.zg"; zh: "eb.zh"; zi: "eb.zi"; zj: "eb.zj"; zk: "eb.zk"; zl: "eb.zl"; zm: "eb.zm"; zn: "eb.zn"; zo: "eb.zo"; zp: "eb.zp"; zq: "eb.zq"; zr: "eb.zr"; zs: "eb.zs"; zt: "eb.zt"; zu: "eb.zu"; zv: "eb.zv"; zw: "eb.zw"; zx: "eb.zx"; zy: "eb.zy"; zz: "eb.zz"; }; ec: { aa: "ec.aa"; ab: "ec.ab"; ac: "ec.ac"; ad: "ec.ad"; ae: "ec.ae"; af: "ec.af"; ag: "ec.ag"; ah: "ec.ah"; ai: "ec.ai"; aj: "ec.aj"; ak: "ec.ak"; al: "ec.al"; am: "ec.am"; an: "ec.an"; ao: "ec.ao"; ap: "ec.ap"; aq: "ec.aq"; ar: "ec.ar"; as: "ec.as"; at: "ec.at"; au: "ec.au"; av: "ec.av"; aw: "ec.aw"; ax: "ec.ax"; ay: "ec.ay"; az: "ec.az"; ba: "ec.ba"; bb: "ec.bb"; bc: "ec.bc"; bd: "ec.bd"; be: "ec.be"; bf: "ec.bf"; bg: "ec.bg"; bh: "ec.bh"; bi: "ec.bi"; bj: "ec.bj"; bk: "ec.bk"; bl: "ec.bl"; bm: "ec.bm"; bn: "ec.bn"; bo: "ec.bo"; bp: "ec.bp"; bq: "ec.bq"; br: "ec.br"; bs: "ec.bs"; bt: "ec.bt"; bu: "ec.bu"; bv: "ec.bv"; bw: "ec.bw"; bx: "ec.bx"; by: "ec.by"; bz: "ec.bz"; ca: "ec.ca"; cb: "ec.cb"; cc: "ec.cc"; cd: "ec.cd"; ce: "ec.ce"; cf: "ec.cf"; cg: "ec.cg"; ch: "ec.ch"; ci: "ec.ci"; cj: "ec.cj"; ck: "ec.ck"; cl: "ec.cl"; cm: "ec.cm"; cn: "ec.cn"; co: "ec.co"; cp: "ec.cp"; cq: "ec.cq"; cr: "ec.cr"; cs: "ec.cs"; ct: "ec.ct"; cu: "ec.cu"; cv: "ec.cv"; cw: "ec.cw"; cx: "ec.cx"; cy: "ec.cy"; cz: "ec.cz"; da: "ec.da"; db: "ec.db"; dc: "ec.dc"; dd: "ec.dd"; de: "ec.de"; df: "ec.df"; dg: "ec.dg"; dh: "ec.dh"; di: "ec.di"; dj: "ec.dj"; dk: "ec.dk"; dl: "ec.dl"; dm: "ec.dm"; dn: "ec.dn"; do: "ec.do"; dp: "ec.dp"; dq: "ec.dq"; dr: "ec.dr"; ds: "ec.ds"; dt: "ec.dt"; du: "ec.du"; dv: "ec.dv"; dw: "ec.dw"; dx: "ec.dx"; dy: "ec.dy"; dz: "ec.dz"; ea: "ec.ea"; eb: "ec.eb"; ec: "ec.ec"; ed: "ec.ed"; ee: "ec.ee"; ef: "ec.ef"; eg: "ec.eg"; eh: "ec.eh"; ei: "ec.ei"; ej: "ec.ej"; ek: "ec.ek"; el: "ec.el"; em: "ec.em"; en: "ec.en"; eo: "ec.eo"; ep: "ec.ep"; eq: "ec.eq"; er: "ec.er"; es: "ec.es"; et: "ec.et"; eu: "ec.eu"; ev: "ec.ev"; ew: "ec.ew"; ex: "ec.ex"; ey: "ec.ey"; ez: "ec.ez"; fa: "ec.fa"; fb: "ec.fb"; fc: "ec.fc"; fd: "ec.fd"; fe: "ec.fe"; ff: "ec.ff"; fg: "ec.fg"; fh: "ec.fh"; fi: "ec.fi"; fj: "ec.fj"; fk: "ec.fk"; fl: "ec.fl"; fm: "ec.fm"; fn: "ec.fn"; fo: "ec.fo"; fp: "ec.fp"; fq: "ec.fq"; fr: "ec.fr"; fs: "ec.fs"; ft: "ec.ft"; fu: "ec.fu"; fv: "ec.fv"; fw: "ec.fw"; fx: "ec.fx"; fy: "ec.fy"; fz: "ec.fz"; ga: "ec.ga"; gb: "ec.gb"; gc: "ec.gc"; gd: "ec.gd"; ge: "ec.ge"; gf: "ec.gf"; gg: "ec.gg"; gh: "ec.gh"; gi: "ec.gi"; gj: "ec.gj"; gk: "ec.gk"; gl: "ec.gl"; gm: "ec.gm"; gn: "ec.gn"; go: "ec.go"; gp: "ec.gp"; gq: "ec.gq"; gr: "ec.gr"; gs: "ec.gs"; gt: "ec.gt"; gu: "ec.gu"; gv: "ec.gv"; gw: "ec.gw"; gx: "ec.gx"; gy: "ec.gy"; gz: "ec.gz"; ha: "ec.ha"; hb: "ec.hb"; hc: "ec.hc"; hd: "ec.hd"; he: "ec.he"; hf: "ec.hf"; hg: "ec.hg"; hh: "ec.hh"; hi: "ec.hi"; hj: "ec.hj"; hk: "ec.hk"; hl: "ec.hl"; hm: "ec.hm"; hn: "ec.hn"; ho: "ec.ho"; hp: "ec.hp"; hq: "ec.hq"; hr: "ec.hr"; hs: "ec.hs"; ht: "ec.ht"; hu: "ec.hu"; hv: "ec.hv"; hw: "ec.hw"; hx: "ec.hx"; hy: "ec.hy"; hz: "ec.hz"; ia: "ec.ia"; ib: "ec.ib"; ic: "ec.ic"; id: "ec.id"; ie: "ec.ie"; if: "ec.if"; ig: "ec.ig"; ih: "ec.ih"; ii: "ec.ii"; ij: "ec.ij"; ik: "ec.ik"; il: "ec.il"; im: "ec.im"; in: "ec.in"; io: "ec.io"; ip: "ec.ip"; iq: "ec.iq"; ir: "ec.ir"; is: "ec.is"; it: "ec.it"; iu: "ec.iu"; iv: "ec.iv"; iw: "ec.iw"; ix: "ec.ix"; iy: "ec.iy"; iz: "ec.iz"; ja: "ec.ja"; jb: "ec.jb"; jc: "ec.jc"; jd: "ec.jd"; je: "ec.je"; jf: "ec.jf"; jg: "ec.jg"; jh: "ec.jh"; ji: "ec.ji"; jj: "ec.jj"; jk: "ec.jk"; jl: "ec.jl"; jm: "ec.jm"; jn: "ec.jn"; jo: "ec.jo"; jp: "ec.jp"; jq: "ec.jq"; jr: "ec.jr"; js: "ec.js"; jt: "ec.jt"; ju: "ec.ju"; jv: "ec.jv"; jw: "ec.jw"; jx: "ec.jx"; jy: "ec.jy"; jz: "ec.jz"; ka: "ec.ka"; kb: "ec.kb"; kc: "ec.kc"; kd: "ec.kd"; ke: "ec.ke"; kf: "ec.kf"; kg: "ec.kg"; kh: "ec.kh"; ki: "ec.ki"; kj: "ec.kj"; kk: "ec.kk"; kl: "ec.kl"; km: "ec.km"; kn: "ec.kn"; ko: "ec.ko"; kp: "ec.kp"; kq: "ec.kq"; kr: "ec.kr"; ks: "ec.ks"; kt: "ec.kt"; ku: "ec.ku"; kv: "ec.kv"; kw: "ec.kw"; kx: "ec.kx"; ky: "ec.ky"; kz: "ec.kz"; la: "ec.la"; lb: "ec.lb"; lc: "ec.lc"; ld: "ec.ld"; le: "ec.le"; lf: "ec.lf"; lg: "ec.lg"; lh: "ec.lh"; li: "ec.li"; lj: "ec.lj"; lk: "ec.lk"; ll: "ec.ll"; lm: "ec.lm"; ln: "ec.ln"; lo: "ec.lo"; lp: "ec.lp"; lq: "ec.lq"; lr: "ec.lr"; ls: "ec.ls"; lt: "ec.lt"; lu: "ec.lu"; lv: "ec.lv"; lw: "ec.lw"; lx: "ec.lx"; ly: "ec.ly"; lz: "ec.lz"; ma: "ec.ma"; mb: "ec.mb"; mc: "ec.mc"; md: "ec.md"; me: "ec.me"; mf: "ec.mf"; mg: "ec.mg"; mh: "ec.mh"; mi: "ec.mi"; mj: "ec.mj"; mk: "ec.mk"; ml: "ec.ml"; mm: "ec.mm"; mn: "ec.mn"; mo: "ec.mo"; mp: "ec.mp"; mq: "ec.mq"; mr: "ec.mr"; ms: "ec.ms"; mt: "ec.mt"; mu: "ec.mu"; mv: "ec.mv"; mw: "ec.mw"; mx: "ec.mx"; my: "ec.my"; mz: "ec.mz"; na: "ec.na"; nb: "ec.nb"; nc: "ec.nc"; nd: "ec.nd"; ne: "ec.ne"; nf: "ec.nf"; ng: "ec.ng"; nh: "ec.nh"; ni: "ec.ni"; nj: "ec.nj"; nk: "ec.nk"; nl: "ec.nl"; nm: "ec.nm"; nn: "ec.nn"; no: "ec.no"; np: "ec.np"; nq: "ec.nq"; nr: "ec.nr"; ns: "ec.ns"; nt: "ec.nt"; nu: "ec.nu"; nv: "ec.nv"; nw: "ec.nw"; nx: "ec.nx"; ny: "ec.ny"; nz: "ec.nz"; oa: "ec.oa"; ob: "ec.ob"; oc: "ec.oc"; od: "ec.od"; oe: "ec.oe"; of: "ec.of"; og: "ec.og"; oh: "ec.oh"; oi: "ec.oi"; oj: "ec.oj"; ok: "ec.ok"; ol: "ec.ol"; om: "ec.om"; on: "ec.on"; oo: "ec.oo"; op: "ec.op"; oq: "ec.oq"; or: "ec.or"; os: "ec.os"; ot: "ec.ot"; ou: "ec.ou"; ov: "ec.ov"; ow: "ec.ow"; ox: "ec.ox"; oy: "ec.oy"; oz: "ec.oz"; pa: "ec.pa"; pb: "ec.pb"; pc: "ec.pc"; pd: "ec.pd"; pe: "ec.pe"; pf: "ec.pf"; pg: "ec.pg"; ph: "ec.ph"; pi: "ec.pi"; pj: "ec.pj"; pk: "ec.pk"; pl: "ec.pl"; pm: "ec.pm"; pn: "ec.pn"; po: "ec.po"; pp: "ec.pp"; pq: "ec.pq"; pr: "ec.pr"; ps: "ec.ps"; pt: "ec.pt"; pu: "ec.pu"; pv: "ec.pv"; pw: "ec.pw"; px: "ec.px"; py: "ec.py"; pz: "ec.pz"; qa: "ec.qa"; qb: "ec.qb"; qc: "ec.qc"; qd: "ec.qd"; qe: "ec.qe"; qf: "ec.qf"; qg: "ec.qg"; qh: "ec.qh"; qi: "ec.qi"; qj: "ec.qj"; qk: "ec.qk"; ql: "ec.ql"; qm: "ec.qm"; qn: "ec.qn"; qo: "ec.qo"; qp: "ec.qp"; qq: "ec.qq"; qr: "ec.qr"; qs: "ec.qs"; qt: "ec.qt"; qu: "ec.qu"; qv: "ec.qv"; qw: "ec.qw"; qx: "ec.qx"; qy: "ec.qy"; qz: "ec.qz"; ra: "ec.ra"; rb: "ec.rb"; rc: "ec.rc"; rd: "ec.rd"; re: "ec.re"; rf: "ec.rf"; rg: "ec.rg"; rh: "ec.rh"; ri: "ec.ri"; rj: "ec.rj"; rk: "ec.rk"; rl: "ec.rl"; rm: "ec.rm"; rn: "ec.rn"; ro: "ec.ro"; rp: "ec.rp"; rq: "ec.rq"; rr: "ec.rr"; rs: "ec.rs"; rt: "ec.rt"; ru: "ec.ru"; rv: "ec.rv"; rw: "ec.rw"; rx: "ec.rx"; ry: "ec.ry"; rz: "ec.rz"; sa: "ec.sa"; sb: "ec.sb"; sc: "ec.sc"; sd: "ec.sd"; se: "ec.se"; sf: "ec.sf"; sg: "ec.sg"; sh: "ec.sh"; si: "ec.si"; sj: "ec.sj"; sk: "ec.sk"; sl: "ec.sl"; sm: "ec.sm"; sn: "ec.sn"; so: "ec.so"; sp: "ec.sp"; sq: "ec.sq"; sr: "ec.sr"; ss: "ec.ss"; st: "ec.st"; su: "ec.su"; sv: "ec.sv"; sw: "ec.sw"; sx: "ec.sx"; sy: "ec.sy"; sz: "ec.sz"; ta: "ec.ta"; tb: "ec.tb"; tc: "ec.tc"; td: "ec.td"; te: "ec.te"; tf: "ec.tf"; tg: "ec.tg"; th: "ec.th"; ti: "ec.ti"; tj: "ec.tj"; tk: "ec.tk"; tl: "ec.tl"; tm: "ec.tm"; tn: "ec.tn"; to: "ec.to"; tp: "ec.tp"; tq: "ec.tq"; tr: "ec.tr"; ts: "ec.ts"; tt: "ec.tt"; tu: "ec.tu"; tv: "ec.tv"; tw: "ec.tw"; tx: "ec.tx"; ty: "ec.ty"; tz: "ec.tz"; ua: "ec.ua"; ub: "ec.ub"; uc: "ec.uc"; ud: "ec.ud"; ue: "ec.ue"; uf: "ec.uf"; ug: "ec.ug"; uh: "ec.uh"; ui: "ec.ui"; uj: "ec.uj"; uk: "ec.uk"; ul: "ec.ul"; um: "ec.um"; un: "ec.un"; uo: "ec.uo"; up: "ec.up"; uq: "ec.uq"; ur: "ec.ur"; us: "ec.us"; ut: "ec.ut"; uu: "ec.uu"; uv: "ec.uv"; uw: "ec.uw"; ux: "ec.ux"; uy: "ec.uy"; uz: "ec.uz"; va: "ec.va"; vb: "ec.vb"; vc: "ec.vc"; vd: "ec.vd"; ve: "ec.ve"; vf: "ec.vf"; vg: "ec.vg"; vh: "ec.vh"; vi: "ec.vi"; vj: "ec.vj"; vk: "ec.vk"; vl: "ec.vl"; vm: "ec.vm"; vn: "ec.vn"; vo: "ec.vo"; vp: "ec.vp"; vq: "ec.vq"; vr: "ec.vr"; vs: "ec.vs"; vt: "ec.vt"; vu: "ec.vu"; vv: "ec.vv"; vw: "ec.vw"; vx: "ec.vx"; vy: "ec.vy"; vz: "ec.vz"; wa: "ec.wa"; wb: "ec.wb"; wc: "ec.wc"; wd: "ec.wd"; we: "ec.we"; wf: "ec.wf"; wg: "ec.wg"; wh: "ec.wh"; wi: "ec.wi"; wj: "ec.wj"; wk: "ec.wk"; wl: "ec.wl"; wm: "ec.wm"; wn: "ec.wn"; wo: "ec.wo"; wp: "ec.wp"; wq: "ec.wq"; wr: "ec.wr"; ws: "ec.ws"; wt: "ec.wt"; wu: "ec.wu"; wv: "ec.wv"; ww: "ec.ww"; wx: "ec.wx"; wy: "ec.wy"; wz: "ec.wz"; xa: "ec.xa"; xb: "ec.xb"; xc: "ec.xc"; xd: "ec.xd"; xe: "ec.xe"; xf: "ec.xf"; xg: "ec.xg"; xh: "ec.xh"; xi: "ec.xi"; xj: "ec.xj"; xk: "ec.xk"; xl: "ec.xl"; xm: "ec.xm"; xn: "ec.xn"; xo: "ec.xo"; xp: "ec.xp"; xq: "ec.xq"; xr: "ec.xr"; xs: "ec.xs"; xt: "ec.xt"; xu: "ec.xu"; xv: "ec.xv"; xw: "ec.xw"; xx: "ec.xx"; xy: "ec.xy"; xz: "ec.xz"; ya: "ec.ya"; yb: "ec.yb"; yc: "ec.yc"; yd: "ec.yd"; ye: "ec.ye"; yf: "ec.yf"; yg: "ec.yg"; yh: "ec.yh"; yi: "ec.yi"; yj: "ec.yj"; yk: "ec.yk"; yl: "ec.yl"; ym: "ec.ym"; yn: "ec.yn"; yo: "ec.yo"; yp: "ec.yp"; yq: "ec.yq"; yr: "ec.yr"; ys: "ec.ys"; yt: "ec.yt"; yu: "ec.yu"; yv: "ec.yv"; yw: "ec.yw"; yx: "ec.yx"; yy: "ec.yy"; yz: "ec.yz"; za: "ec.za"; zb: "ec.zb"; zc: "ec.zc"; zd: "ec.zd"; ze: "ec.ze"; zf: "ec.zf"; zg: "ec.zg"; zh: "ec.zh"; zi: "ec.zi"; zj: "ec.zj"; zk: "ec.zk"; zl: "ec.zl"; zm: "ec.zm"; zn: "ec.zn"; zo: "ec.zo"; zp: "ec.zp"; zq: "ec.zq"; zr: "ec.zr"; zs: "ec.zs"; zt: "ec.zt"; zu: "ec.zu"; zv: "ec.zv"; zw: "ec.zw"; zx: "ec.zx"; zy: "ec.zy"; zz: "ec.zz"; }; ed: { aa: "ed.aa"; ab: "ed.ab"; ac: "ed.ac"; ad: "ed.ad"; ae: "ed.ae"; af: "ed.af"; ag: "ed.ag"; ah: "ed.ah"; ai: "ed.ai"; aj: "ed.aj"; ak: "ed.ak"; al: "ed.al"; am: "ed.am"; an: "ed.an"; ao: "ed.ao"; ap: "ed.ap"; aq: "ed.aq"; ar: "ed.ar"; as: "ed.as"; at: "ed.at"; au: "ed.au"; av: "ed.av"; aw: "ed.aw"; ax: "ed.ax"; ay: "ed.ay"; az: "ed.az"; ba: "ed.ba"; bb: "ed.bb"; bc: "ed.bc"; bd: "ed.bd"; be: "ed.be"; bf: "ed.bf"; bg: "ed.bg"; bh: "ed.bh"; bi: "ed.bi"; bj: "ed.bj"; bk: "ed.bk"; bl: "ed.bl"; bm: "ed.bm"; bn: "ed.bn"; bo: "ed.bo"; bp: "ed.bp"; bq: "ed.bq"; br: "ed.br"; bs: "ed.bs"; bt: "ed.bt"; bu: "ed.bu"; bv: "ed.bv"; bw: "ed.bw"; bx: "ed.bx"; by: "ed.by"; bz: "ed.bz"; ca: "ed.ca"; cb: "ed.cb"; cc: "ed.cc"; cd: "ed.cd"; ce: "ed.ce"; cf: "ed.cf"; cg: "ed.cg"; ch: "ed.ch"; ci: "ed.ci"; cj: "ed.cj"; ck: "ed.ck"; cl: "ed.cl"; cm: "ed.cm"; cn: "ed.cn"; co: "ed.co"; cp: "ed.cp"; cq: "ed.cq"; cr: "ed.cr"; cs: "ed.cs"; ct: "ed.ct"; cu: "ed.cu"; cv: "ed.cv"; cw: "ed.cw"; cx: "ed.cx"; cy: "ed.cy"; cz: "ed.cz"; da: "ed.da"; db: "ed.db"; dc: "ed.dc"; dd: "ed.dd"; de: "ed.de"; df: "ed.df"; dg: "ed.dg"; dh: "ed.dh"; di: "ed.di"; dj: "ed.dj"; dk: "ed.dk"; dl: "ed.dl"; dm: "ed.dm"; dn: "ed.dn"; do: "ed.do"; dp: "ed.dp"; dq: "ed.dq"; dr: "ed.dr"; ds: "ed.ds"; dt: "ed.dt"; du: "ed.du"; dv: "ed.dv"; dw: "ed.dw"; dx: "ed.dx"; dy: "ed.dy"; dz: "ed.dz"; ea: "ed.ea"; eb: "ed.eb"; ec: "ed.ec"; ed: "ed.ed"; ee: "ed.ee"; ef: "ed.ef"; eg: "ed.eg"; eh: "ed.eh"; ei: "ed.ei"; ej: "ed.ej"; ek: "ed.ek"; el: "ed.el"; em: "ed.em"; en: "ed.en"; eo: "ed.eo"; ep: "ed.ep"; eq: "ed.eq"; er: "ed.er"; es: "ed.es"; et: "ed.et"; eu: "ed.eu"; ev: "ed.ev"; ew: "ed.ew"; ex: "ed.ex"; ey: "ed.ey"; ez: "ed.ez"; fa: "ed.fa"; fb: "ed.fb"; fc: "ed.fc"; fd: "ed.fd"; fe: "ed.fe"; ff: "ed.ff"; fg: "ed.fg"; fh: "ed.fh"; fi: "ed.fi"; fj: "ed.fj"; fk: "ed.fk"; fl: "ed.fl"; fm: "ed.fm"; fn: "ed.fn"; fo: "ed.fo"; fp: "ed.fp"; fq: "ed.fq"; fr: "ed.fr"; fs: "ed.fs"; ft: "ed.ft"; fu: "ed.fu"; fv: "ed.fv"; fw: "ed.fw"; fx: "ed.fx"; fy: "ed.fy"; fz: "ed.fz"; ga: "ed.ga"; gb: "ed.gb"; gc: "ed.gc"; gd: "ed.gd"; ge: "ed.ge"; gf: "ed.gf"; gg: "ed.gg"; gh: "ed.gh"; gi: "ed.gi"; gj: "ed.gj"; gk: "ed.gk"; gl: "ed.gl"; gm: "ed.gm"; gn: "ed.gn"; go: "ed.go"; gp: "ed.gp"; gq: "ed.gq"; gr: "ed.gr"; gs: "ed.gs"; gt: "ed.gt"; gu: "ed.gu"; gv: "ed.gv"; gw: "ed.gw"; gx: "ed.gx"; gy: "ed.gy"; gz: "ed.gz"; ha: "ed.ha"; hb: "ed.hb"; hc: "ed.hc"; hd: "ed.hd"; he: "ed.he"; hf: "ed.hf"; hg: "ed.hg"; hh: "ed.hh"; hi: "ed.hi"; hj: "ed.hj"; hk: "ed.hk"; hl: "ed.hl"; hm: "ed.hm"; hn: "ed.hn"; ho: "ed.ho"; hp: "ed.hp"; hq: "ed.hq"; hr: "ed.hr"; hs: "ed.hs"; ht: "ed.ht"; hu: "ed.hu"; hv: "ed.hv"; hw: "ed.hw"; hx: "ed.hx"; hy: "ed.hy"; hz: "ed.hz"; ia: "ed.ia"; ib: "ed.ib"; ic: "ed.ic"; id: "ed.id"; ie: "ed.ie"; if: "ed.if"; ig: "ed.ig"; ih: "ed.ih"; ii: "ed.ii"; ij: "ed.ij"; ik: "ed.ik"; il: "ed.il"; im: "ed.im"; in: "ed.in"; io: "ed.io"; ip: "ed.ip"; iq: "ed.iq"; ir: "ed.ir"; is: "ed.is"; it: "ed.it"; iu: "ed.iu"; iv: "ed.iv"; iw: "ed.iw"; ix: "ed.ix"; iy: "ed.iy"; iz: "ed.iz"; ja: "ed.ja"; jb: "ed.jb"; jc: "ed.jc"; jd: "ed.jd"; je: "ed.je"; jf: "ed.jf"; jg: "ed.jg"; jh: "ed.jh"; ji: "ed.ji"; jj: "ed.jj"; jk: "ed.jk"; jl: "ed.jl"; jm: "ed.jm"; jn: "ed.jn"; jo: "ed.jo"; jp: "ed.jp"; jq: "ed.jq"; jr: "ed.jr"; js: "ed.js"; jt: "ed.jt"; ju: "ed.ju"; jv: "ed.jv"; jw: "ed.jw"; jx: "ed.jx"; jy: "ed.jy"; jz: "ed.jz"; ka: "ed.ka"; kb: "ed.kb"; kc: "ed.kc"; kd: "ed.kd"; ke: "ed.ke"; kf: "ed.kf"; kg: "ed.kg"; kh: "ed.kh"; ki: "ed.ki"; kj: "ed.kj"; kk: "ed.kk"; kl: "ed.kl"; km: "ed.km"; kn: "ed.kn"; ko: "ed.ko"; kp: "ed.kp"; kq: "ed.kq"; kr: "ed.kr"; ks: "ed.ks"; kt: "ed.kt"; ku: "ed.ku"; kv: "ed.kv"; kw: "ed.kw"; kx: "ed.kx"; ky: "ed.ky"; kz: "ed.kz"; la: "ed.la"; lb: "ed.lb"; lc: "ed.lc"; ld: "ed.ld"; le: "ed.le"; lf: "ed.lf"; lg: "ed.lg"; lh: "ed.lh"; li: "ed.li"; lj: "ed.lj"; lk: "ed.lk"; ll: "ed.ll"; lm: "ed.lm"; ln: "ed.ln"; lo: "ed.lo"; lp: "ed.lp"; lq: "ed.lq"; lr: "ed.lr"; ls: "ed.ls"; lt: "ed.lt"; lu: "ed.lu"; lv: "ed.lv"; lw: "ed.lw"; lx: "ed.lx"; ly: "ed.ly"; lz: "ed.lz"; ma: "ed.ma"; mb: "ed.mb"; mc: "ed.mc"; md: "ed.md"; me: "ed.me"; mf: "ed.mf"; mg: "ed.mg"; mh: "ed.mh"; mi: "ed.mi"; mj: "ed.mj"; mk: "ed.mk"; ml: "ed.ml"; mm: "ed.mm"; mn: "ed.mn"; mo: "ed.mo"; mp: "ed.mp"; mq: "ed.mq"; mr: "ed.mr"; ms: "ed.ms"; mt: "ed.mt"; mu: "ed.mu"; mv: "ed.mv"; mw: "ed.mw"; mx: "ed.mx"; my: "ed.my"; mz: "ed.mz"; na: "ed.na"; nb: "ed.nb"; nc: "ed.nc"; nd: "ed.nd"; ne: "ed.ne"; nf: "ed.nf"; ng: "ed.ng"; nh: "ed.nh"; ni: "ed.ni"; nj: "ed.nj"; nk: "ed.nk"; nl: "ed.nl"; nm: "ed.nm"; nn: "ed.nn"; no: "ed.no"; np: "ed.np"; nq: "ed.nq"; nr: "ed.nr"; ns: "ed.ns"; nt: "ed.nt"; nu: "ed.nu"; nv: "ed.nv"; nw: "ed.nw"; nx: "ed.nx"; ny: "ed.ny"; nz: "ed.nz"; oa: "ed.oa"; ob: "ed.ob"; oc: "ed.oc"; od: "ed.od"; oe: "ed.oe"; of: "ed.of"; og: "ed.og"; oh: "ed.oh"; oi: "ed.oi"; oj: "ed.oj"; ok: "ed.ok"; ol: "ed.ol"; om: "ed.om"; on: "ed.on"; oo: "ed.oo"; op: "ed.op"; oq: "ed.oq"; or: "ed.or"; os: "ed.os"; ot: "ed.ot"; ou: "ed.ou"; ov: "ed.ov"; ow: "ed.ow"; ox: "ed.ox"; oy: "ed.oy"; oz: "ed.oz"; pa: "ed.pa"; pb: "ed.pb"; pc: "ed.pc"; pd: "ed.pd"; pe: "ed.pe"; pf: "ed.pf"; pg: "ed.pg"; ph: "ed.ph"; pi: "ed.pi"; pj: "ed.pj"; pk: "ed.pk"; pl: "ed.pl"; pm: "ed.pm"; pn: "ed.pn"; po: "ed.po"; pp: "ed.pp"; pq: "ed.pq"; pr: "ed.pr"; ps: "ed.ps"; pt: "ed.pt"; pu: "ed.pu"; pv: "ed.pv"; pw: "ed.pw"; px: "ed.px"; py: "ed.py"; pz: "ed.pz"; qa: "ed.qa"; qb: "ed.qb"; qc: "ed.qc"; qd: "ed.qd"; qe: "ed.qe"; qf: "ed.qf"; qg: "ed.qg"; qh: "ed.qh"; qi: "ed.qi"; qj: "ed.qj"; qk: "ed.qk"; ql: "ed.ql"; qm: "ed.qm"; qn: "ed.qn"; qo: "ed.qo"; qp: "ed.qp"; qq: "ed.qq"; qr: "ed.qr"; qs: "ed.qs"; qt: "ed.qt"; qu: "ed.qu"; qv: "ed.qv"; qw: "ed.qw"; qx: "ed.qx"; qy: "ed.qy"; qz: "ed.qz"; ra: "ed.ra"; rb: "ed.rb"; rc: "ed.rc"; rd: "ed.rd"; re: "ed.re"; rf: "ed.rf"; rg: "ed.rg"; rh: "ed.rh"; ri: "ed.ri"; rj: "ed.rj"; rk: "ed.rk"; rl: "ed.rl"; rm: "ed.rm"; rn: "ed.rn"; ro: "ed.ro"; rp: "ed.rp"; rq: "ed.rq"; rr: "ed.rr"; rs: "ed.rs"; rt: "ed.rt"; ru: "ed.ru"; rv: "ed.rv"; rw: "ed.rw"; rx: "ed.rx"; ry: "ed.ry"; rz: "ed.rz"; sa: "ed.sa"; sb: "ed.sb"; sc: "ed.sc"; sd: "ed.sd"; se: "ed.se"; sf: "ed.sf"; sg: "ed.sg"; sh: "ed.sh"; si: "ed.si"; sj: "ed.sj"; sk: "ed.sk"; sl: "ed.sl"; sm: "ed.sm"; sn: "ed.sn"; so: "ed.so"; sp: "ed.sp"; sq: "ed.sq"; sr: "ed.sr"; ss: "ed.ss"; st: "ed.st"; su: "ed.su"; sv: "ed.sv"; sw: "ed.sw"; sx: "ed.sx"; sy: "ed.sy"; sz: "ed.sz"; ta: "ed.ta"; tb: "ed.tb"; tc: "ed.tc"; td: "ed.td"; te: "ed.te"; tf: "ed.tf"; tg: "ed.tg"; th: "ed.th"; ti: "ed.ti"; tj: "ed.tj"; tk: "ed.tk"; tl: "ed.tl"; tm: "ed.tm"; tn: "ed.tn"; to: "ed.to"; tp: "ed.tp"; tq: "ed.tq"; tr: "ed.tr"; ts: "ed.ts"; tt: "ed.tt"; tu: "ed.tu"; tv: "ed.tv"; tw: "ed.tw"; tx: "ed.tx"; ty: "ed.ty"; tz: "ed.tz"; ua: "ed.ua"; ub: "ed.ub"; uc: "ed.uc"; ud: "ed.ud"; ue: "ed.ue"; uf: "ed.uf"; ug: "ed.ug"; uh: "ed.uh"; ui: "ed.ui"; uj: "ed.uj"; uk: "ed.uk"; ul: "ed.ul"; um: "ed.um"; un: "ed.un"; uo: "ed.uo"; up: "ed.up"; uq: "ed.uq"; ur: "ed.ur"; us: "ed.us"; ut: "ed.ut"; uu: "ed.uu"; uv: "ed.uv"; uw: "ed.uw"; ux: "ed.ux"; uy: "ed.uy"; uz: "ed.uz"; va: "ed.va"; vb: "ed.vb"; vc: "ed.vc"; vd: "ed.vd"; ve: "ed.ve"; vf: "ed.vf"; vg: "ed.vg"; vh: "ed.vh"; vi: "ed.vi"; vj: "ed.vj"; vk: "ed.vk"; vl: "ed.vl"; vm: "ed.vm"; vn: "ed.vn"; vo: "ed.vo"; vp: "ed.vp"; vq: "ed.vq"; vr: "ed.vr"; vs: "ed.vs"; vt: "ed.vt"; vu: "ed.vu"; vv: "ed.vv"; vw: "ed.vw"; vx: "ed.vx"; vy: "ed.vy"; vz: "ed.vz"; wa: "ed.wa"; wb: "ed.wb"; wc: "ed.wc"; wd: "ed.wd"; we: "ed.we"; wf: "ed.wf"; wg: "ed.wg"; wh: "ed.wh"; wi: "ed.wi"; wj: "ed.wj"; wk: "ed.wk"; wl: "ed.wl"; wm: "ed.wm"; wn: "ed.wn"; wo: "ed.wo"; wp: "ed.wp"; wq: "ed.wq"; wr: "ed.wr"; ws: "ed.ws"; wt: "ed.wt"; wu: "ed.wu"; wv: "ed.wv"; ww: "ed.ww"; wx: "ed.wx"; wy: "ed.wy"; wz: "ed.wz"; xa: "ed.xa"; xb: "ed.xb"; xc: "ed.xc"; xd: "ed.xd"; xe: "ed.xe"; xf: "ed.xf"; xg: "ed.xg"; xh: "ed.xh"; xi: "ed.xi"; xj: "ed.xj"; xk: "ed.xk"; xl: "ed.xl"; xm: "ed.xm"; xn: "ed.xn"; xo: "ed.xo"; xp: "ed.xp"; xq: "ed.xq"; xr: "ed.xr"; xs: "ed.xs"; xt: "ed.xt"; xu: "ed.xu"; xv: "ed.xv"; xw: "ed.xw"; xx: "ed.xx"; xy: "ed.xy"; xz: "ed.xz"; ya: "ed.ya"; yb: "ed.yb"; yc: "ed.yc"; yd: "ed.yd"; ye: "ed.ye"; yf: "ed.yf"; yg: "ed.yg"; yh: "ed.yh"; yi: "ed.yi"; yj: "ed.yj"; yk: "ed.yk"; yl: "ed.yl"; ym: "ed.ym"; yn: "ed.yn"; yo: "ed.yo"; yp: "ed.yp"; yq: "ed.yq"; yr: "ed.yr"; ys: "ed.ys"; yt: "ed.yt"; yu: "ed.yu"; yv: "ed.yv"; yw: "ed.yw"; yx: "ed.yx"; yy: "ed.yy"; yz: "ed.yz"; za: "ed.za"; zb: "ed.zb"; zc: "ed.zc"; zd: "ed.zd"; ze: "ed.ze"; zf: "ed.zf"; zg: "ed.zg"; zh: "ed.zh"; zi: "ed.zi"; zj: "ed.zj"; zk: "ed.zk"; zl: "ed.zl"; zm: "ed.zm"; zn: "ed.zn"; zo: "ed.zo"; zp: "ed.zp"; zq: "ed.zq"; zr: "ed.zr"; zs: "ed.zs"; zt: "ed.zt"; zu: "ed.zu"; zv: "ed.zv"; zw: "ed.zw"; zx: "ed.zx"; zy: "ed.zy"; zz: "ed.zz"; }; ee: { aa: "ee.aa"; ab: "ee.ab"; ac: "ee.ac"; ad: "ee.ad"; ae: "ee.ae"; af: "ee.af"; ag: "ee.ag"; ah: "ee.ah"; ai: "ee.ai"; aj: "ee.aj"; ak: "ee.ak"; al: "ee.al"; am: "ee.am"; an: "ee.an"; ao: "ee.ao"; ap: "ee.ap"; aq: "ee.aq"; ar: "ee.ar"; as: "ee.as"; at: "ee.at"; au: "ee.au"; av: "ee.av"; aw: "ee.aw"; ax: "ee.ax"; ay: "ee.ay"; az: "ee.az"; ba: "ee.ba"; bb: "ee.bb"; bc: "ee.bc"; bd: "ee.bd"; be: "ee.be"; bf: "ee.bf"; bg: "ee.bg"; bh: "ee.bh"; bi: "ee.bi"; bj: "ee.bj"; bk: "ee.bk"; bl: "ee.bl"; bm: "ee.bm"; bn: "ee.bn"; bo: "ee.bo"; bp: "ee.bp"; bq: "ee.bq"; br: "ee.br"; bs: "ee.bs"; bt: "ee.bt"; bu: "ee.bu"; bv: "ee.bv"; bw: "ee.bw"; bx: "ee.bx"; by: "ee.by"; bz: "ee.bz"; ca: "ee.ca"; cb: "ee.cb"; cc: "ee.cc"; cd: "ee.cd"; ce: "ee.ce"; cf: "ee.cf"; cg: "ee.cg"; ch: "ee.ch"; ci: "ee.ci"; cj: "ee.cj"; ck: "ee.ck"; cl: "ee.cl"; cm: "ee.cm"; cn: "ee.cn"; co: "ee.co"; cp: "ee.cp"; cq: "ee.cq"; cr: "ee.cr"; cs: "ee.cs"; ct: "ee.ct"; cu: "ee.cu"; cv: "ee.cv"; cw: "ee.cw"; cx: "ee.cx"; cy: "ee.cy"; cz: "ee.cz"; da: "ee.da"; db: "ee.db"; dc: "ee.dc"; dd: "ee.dd"; de: "ee.de"; df: "ee.df"; dg: "ee.dg"; dh: "ee.dh"; di: "ee.di"; dj: "ee.dj"; dk: "ee.dk"; dl: "ee.dl"; dm: "ee.dm"; dn: "ee.dn"; do: "ee.do"; dp: "ee.dp"; dq: "ee.dq"; dr: "ee.dr"; ds: "ee.ds"; dt: "ee.dt"; du: "ee.du"; dv: "ee.dv"; dw: "ee.dw"; dx: "ee.dx"; dy: "ee.dy"; dz: "ee.dz"; ea: "ee.ea"; eb: "ee.eb"; ec: "ee.ec"; ed: "ee.ed"; ee: "ee.ee"; ef: "ee.ef"; eg: "ee.eg"; eh: "ee.eh"; ei: "ee.ei"; ej: "ee.ej"; ek: "ee.ek"; el: "ee.el"; em: "ee.em"; en: "ee.en"; eo: "ee.eo"; ep: "ee.ep"; eq: "ee.eq"; er: "ee.er"; es: "ee.es"; et: "ee.et"; eu: "ee.eu"; ev: "ee.ev"; ew: "ee.ew"; ex: "ee.ex"; ey: "ee.ey"; ez: "ee.ez"; fa: "ee.fa"; fb: "ee.fb"; fc: "ee.fc"; fd: "ee.fd"; fe: "ee.fe"; ff: "ee.ff"; fg: "ee.fg"; fh: "ee.fh"; fi: "ee.fi"; fj: "ee.fj"; fk: "ee.fk"; fl: "ee.fl"; fm: "ee.fm"; fn: "ee.fn"; fo: "ee.fo"; fp: "ee.fp"; fq: "ee.fq"; fr: "ee.fr"; fs: "ee.fs"; ft: "ee.ft"; fu: "ee.fu"; fv: "ee.fv"; fw: "ee.fw"; fx: "ee.fx"; fy: "ee.fy"; fz: "ee.fz"; ga: "ee.ga"; gb: "ee.gb"; gc: "ee.gc"; gd: "ee.gd"; ge: "ee.ge"; gf: "ee.gf"; gg: "ee.gg"; gh: "ee.gh"; gi: "ee.gi"; gj: "ee.gj"; gk: "ee.gk"; gl: "ee.gl"; gm: "ee.gm"; gn: "ee.gn"; go: "ee.go"; gp: "ee.gp"; gq: "ee.gq"; gr: "ee.gr"; gs: "ee.gs"; gt: "ee.gt"; gu: "ee.gu"; gv: "ee.gv"; gw: "ee.gw"; gx: "ee.gx"; gy: "ee.gy"; gz: "ee.gz"; ha: "ee.ha"; hb: "ee.hb"; hc: "ee.hc"; hd: "ee.hd"; he: "ee.he"; hf: "ee.hf"; hg: "ee.hg"; hh: "ee.hh"; hi: "ee.hi"; hj: "ee.hj"; hk: "ee.hk"; hl: "ee.hl"; hm: "ee.hm"; hn: "ee.hn"; ho: "ee.ho"; hp: "ee.hp"; hq: "ee.hq"; hr: "ee.hr"; hs: "ee.hs"; ht: "ee.ht"; hu: "ee.hu"; hv: "ee.hv"; hw: "ee.hw"; hx: "ee.hx"; hy: "ee.hy"; hz: "ee.hz"; ia: "ee.ia"; ib: "ee.ib"; ic: "ee.ic"; id: "ee.id"; ie: "ee.ie"; if: "ee.if"; ig: "ee.ig"; ih: "ee.ih"; ii: "ee.ii"; ij: "ee.ij"; ik: "ee.ik"; il: "ee.il"; im: "ee.im"; in: "ee.in"; io: "ee.io"; ip: "ee.ip"; iq: "ee.iq"; ir: "ee.ir"; is: "ee.is"; it: "ee.it"; iu: "ee.iu"; iv: "ee.iv"; iw: "ee.iw"; ix: "ee.ix"; iy: "ee.iy"; iz: "ee.iz"; ja: "ee.ja"; jb: "ee.jb"; jc: "ee.jc"; jd: "ee.jd"; je: "ee.je"; jf: "ee.jf"; jg: "ee.jg"; jh: "ee.jh"; ji: "ee.ji"; jj: "ee.jj"; jk: "ee.jk"; jl: "ee.jl"; jm: "ee.jm"; jn: "ee.jn"; jo: "ee.jo"; jp: "ee.jp"; jq: "ee.jq"; jr: "ee.jr"; js: "ee.js"; jt: "ee.jt"; ju: "ee.ju"; jv: "ee.jv"; jw: "ee.jw"; jx: "ee.jx"; jy: "ee.jy"; jz: "ee.jz"; ka: "ee.ka"; kb: "ee.kb"; kc: "ee.kc"; kd: "ee.kd"; ke: "ee.ke"; kf: "ee.kf"; kg: "ee.kg"; kh: "ee.kh"; ki: "ee.ki"; kj: "ee.kj"; kk: "ee.kk"; kl: "ee.kl"; km: "ee.km"; kn: "ee.kn"; ko: "ee.ko"; kp: "ee.kp"; kq: "ee.kq"; kr: "ee.kr"; ks: "ee.ks"; kt: "ee.kt"; ku: "ee.ku"; kv: "ee.kv"; kw: "ee.kw"; kx: "ee.kx"; ky: "ee.ky"; kz: "ee.kz"; la: "ee.la"; lb: "ee.lb"; lc: "ee.lc"; ld: "ee.ld"; le: "ee.le"; lf: "ee.lf"; lg: "ee.lg"; lh: "ee.lh"; li: "ee.li"; lj: "ee.lj"; lk: "ee.lk"; ll: "ee.ll"; lm: "ee.lm"; ln: "ee.ln"; lo: "ee.lo"; lp: "ee.lp"; lq: "ee.lq"; lr: "ee.lr"; ls: "ee.ls"; lt: "ee.lt"; lu: "ee.lu"; lv: "ee.lv"; lw: "ee.lw"; lx: "ee.lx"; ly: "ee.ly"; lz: "ee.lz"; ma: "ee.ma"; mb: "ee.mb"; mc: "ee.mc"; md: "ee.md"; me: "ee.me"; mf: "ee.mf"; mg: "ee.mg"; mh: "ee.mh"; mi: "ee.mi"; mj: "ee.mj"; mk: "ee.mk"; ml: "ee.ml"; mm: "ee.mm"; mn: "ee.mn"; mo: "ee.mo"; mp: "ee.mp"; mq: "ee.mq"; mr: "ee.mr"; ms: "ee.ms"; mt: "ee.mt"; mu: "ee.mu"; mv: "ee.mv"; mw: "ee.mw"; mx: "ee.mx"; my: "ee.my"; mz: "ee.mz"; na: "ee.na"; nb: "ee.nb"; nc: "ee.nc"; nd: "ee.nd"; ne: "ee.ne"; nf: "ee.nf"; ng: "ee.ng"; nh: "ee.nh"; ni: "ee.ni"; nj: "ee.nj"; nk: "ee.nk"; nl: "ee.nl"; nm: "ee.nm"; nn: "ee.nn"; no: "ee.no"; np: "ee.np"; nq: "ee.nq"; nr: "ee.nr"; ns: "ee.ns"; nt: "ee.nt"; nu: "ee.nu"; nv: "ee.nv"; nw: "ee.nw"; nx: "ee.nx"; ny: "ee.ny"; nz: "ee.nz"; oa: "ee.oa"; ob: "ee.ob"; oc: "ee.oc"; od: "ee.od"; oe: "ee.oe"; of: "ee.of"; og: "ee.og"; oh: "ee.oh"; oi: "ee.oi"; oj: "ee.oj"; ok: "ee.ok"; ol: "ee.ol"; om: "ee.om"; on: "ee.on"; oo: "ee.oo"; op: "ee.op"; oq: "ee.oq"; or: "ee.or"; os: "ee.os"; ot: "ee.ot"; ou: "ee.ou"; ov: "ee.ov"; ow: "ee.ow"; ox: "ee.ox"; oy: "ee.oy"; oz: "ee.oz"; pa: "ee.pa"; pb: "ee.pb"; pc: "ee.pc"; pd: "ee.pd"; pe: "ee.pe"; pf: "ee.pf"; pg: "ee.pg"; ph: "ee.ph"; pi: "ee.pi"; pj: "ee.pj"; pk: "ee.pk"; pl: "ee.pl"; pm: "ee.pm"; pn: "ee.pn"; po: "ee.po"; pp: "ee.pp"; pq: "ee.pq"; pr: "ee.pr"; ps: "ee.ps"; pt: "ee.pt"; pu: "ee.pu"; pv: "ee.pv"; pw: "ee.pw"; px: "ee.px"; py: "ee.py"; pz: "ee.pz"; qa: "ee.qa"; qb: "ee.qb"; qc: "ee.qc"; qd: "ee.qd"; qe: "ee.qe"; qf: "ee.qf"; qg: "ee.qg"; qh: "ee.qh"; qi: "ee.qi"; qj: "ee.qj"; qk: "ee.qk"; ql: "ee.ql"; qm: "ee.qm"; qn: "ee.qn"; qo: "ee.qo"; qp: "ee.qp"; qq: "ee.qq"; qr: "ee.qr"; qs: "ee.qs"; qt: "ee.qt"; qu: "ee.qu"; qv: "ee.qv"; qw: "ee.qw"; qx: "ee.qx"; qy: "ee.qy"; qz: "ee.qz"; ra: "ee.ra"; rb: "ee.rb"; rc: "ee.rc"; rd: "ee.rd"; re: "ee.re"; rf: "ee.rf"; rg: "ee.rg"; rh: "ee.rh"; ri: "ee.ri"; rj: "ee.rj"; rk: "ee.rk"; rl: "ee.rl"; rm: "ee.rm"; rn: "ee.rn"; ro: "ee.ro"; rp: "ee.rp"; rq: "ee.rq"; rr: "ee.rr"; rs: "ee.rs"; rt: "ee.rt"; ru: "ee.ru"; rv: "ee.rv"; rw: "ee.rw"; rx: "ee.rx"; ry: "ee.ry"; rz: "ee.rz"; sa: "ee.sa"; sb: "ee.sb"; sc: "ee.sc"; sd: "ee.sd"; se: "ee.se"; sf: "ee.sf"; sg: "ee.sg"; sh: "ee.sh"; si: "ee.si"; sj: "ee.sj"; sk: "ee.sk"; sl: "ee.sl"; sm: "ee.sm"; sn: "ee.sn"; so: "ee.so"; sp: "ee.sp"; sq: "ee.sq"; sr: "ee.sr"; ss: "ee.ss"; st: "ee.st"; su: "ee.su"; sv: "ee.sv"; sw: "ee.sw"; sx: "ee.sx"; sy: "ee.sy"; sz: "ee.sz"; ta: "ee.ta"; tb: "ee.tb"; tc: "ee.tc"; td: "ee.td"; te: "ee.te"; tf: "ee.tf"; tg: "ee.tg"; th: "ee.th"; ti: "ee.ti"; tj: "ee.tj"; tk: "ee.tk"; tl: "ee.tl"; tm: "ee.tm"; tn: "ee.tn"; to: "ee.to"; tp: "ee.tp"; tq: "ee.tq"; tr: "ee.tr"; ts: "ee.ts"; tt: "ee.tt"; tu: "ee.tu"; tv: "ee.tv"; tw: "ee.tw"; tx: "ee.tx"; ty: "ee.ty"; tz: "ee.tz"; ua: "ee.ua"; ub: "ee.ub"; uc: "ee.uc"; ud: "ee.ud"; ue: "ee.ue"; uf: "ee.uf"; ug: "ee.ug"; uh: "ee.uh"; ui: "ee.ui"; uj: "ee.uj"; uk: "ee.uk"; ul: "ee.ul"; um: "ee.um"; un: "ee.un"; uo: "ee.uo"; up: "ee.up"; uq: "ee.uq"; ur: "ee.ur"; us: "ee.us"; ut: "ee.ut"; uu: "ee.uu"; uv: "ee.uv"; uw: "ee.uw"; ux: "ee.ux"; uy: "ee.uy"; uz: "ee.uz"; va: "ee.va"; vb: "ee.vb"; vc: "ee.vc"; vd: "ee.vd"; ve: "ee.ve"; vf: "ee.vf"; vg: "ee.vg"; vh: "ee.vh"; vi: "ee.vi"; vj: "ee.vj"; vk: "ee.vk"; vl: "ee.vl"; vm: "ee.vm"; vn: "ee.vn"; vo: "ee.vo"; vp: "ee.vp"; vq: "ee.vq"; vr: "ee.vr"; vs: "ee.vs"; vt: "ee.vt"; vu: "ee.vu"; vv: "ee.vv"; vw: "ee.vw"; vx: "ee.vx"; vy: "ee.vy"; vz: "ee.vz"; wa: "ee.wa"; wb: "ee.wb"; wc: "ee.wc"; wd: "ee.wd"; we: "ee.we"; wf: "ee.wf"; wg: "ee.wg"; wh: "ee.wh"; wi: "ee.wi"; wj: "ee.wj"; wk: "ee.wk"; wl: "ee.wl"; wm: "ee.wm"; wn: "ee.wn"; wo: "ee.wo"; wp: "ee.wp"; wq: "ee.wq"; wr: "ee.wr"; ws: "ee.ws"; wt: "ee.wt"; wu: "ee.wu"; wv: "ee.wv"; ww: "ee.ww"; wx: "ee.wx"; wy: "ee.wy"; wz: "ee.wz"; xa: "ee.xa"; xb: "ee.xb"; xc: "ee.xc"; xd: "ee.xd"; xe: "ee.xe"; xf: "ee.xf"; xg: "ee.xg"; xh: "ee.xh"; xi: "ee.xi"; xj: "ee.xj"; xk: "ee.xk"; xl: "ee.xl"; xm: "ee.xm"; xn: "ee.xn"; xo: "ee.xo"; xp: "ee.xp"; xq: "ee.xq"; xr: "ee.xr"; xs: "ee.xs"; xt: "ee.xt"; xu: "ee.xu"; xv: "ee.xv"; xw: "ee.xw"; xx: "ee.xx"; xy: "ee.xy"; xz: "ee.xz"; ya: "ee.ya"; yb: "ee.yb"; yc: "ee.yc"; yd: "ee.yd"; ye: "ee.ye"; yf: "ee.yf"; yg: "ee.yg"; yh: "ee.yh"; yi: "ee.yi"; yj: "ee.yj"; yk: "ee.yk"; yl: "ee.yl"; ym: "ee.ym"; yn: "ee.yn"; yo: "ee.yo"; yp: "ee.yp"; yq: "ee.yq"; yr: "ee.yr"; ys: "ee.ys"; yt: "ee.yt"; yu: "ee.yu"; yv: "ee.yv"; yw: "ee.yw"; yx: "ee.yx"; yy: "ee.yy"; yz: "ee.yz"; za: "ee.za"; zb: "ee.zb"; zc: "ee.zc"; zd: "ee.zd"; ze: "ee.ze"; zf: "ee.zf"; zg: "ee.zg"; zh: "ee.zh"; zi: "ee.zi"; zj: "ee.zj"; zk: "ee.zk"; zl: "ee.zl"; zm: "ee.zm"; zn: "ee.zn"; zo: "ee.zo"; zp: "ee.zp"; zq: "ee.zq"; zr: "ee.zr"; zs: "ee.zs"; zt: "ee.zt"; zu: "ee.zu"; zv: "ee.zv"; zw: "ee.zw"; zx: "ee.zx"; zy: "ee.zy"; zz: "ee.zz"; }; ef: { aa: "ef.aa"; ab: "ef.ab"; ac: "ef.ac"; ad: "ef.ad"; ae: "ef.ae"; af: "ef.af"; ag: "ef.ag"; ah: "ef.ah"; ai: "ef.ai"; aj: "ef.aj"; ak: "ef.ak"; al: "ef.al"; am: "ef.am"; an: "ef.an"; ao: "ef.ao"; ap: "ef.ap"; aq: "ef.aq"; ar: "ef.ar"; as: "ef.as"; at: "ef.at"; au: "ef.au"; av: "ef.av"; aw: "ef.aw"; ax: "ef.ax"; ay: "ef.ay"; az: "ef.az"; ba: "ef.ba"; bb: "ef.bb"; bc: "ef.bc"; bd: "ef.bd"; be: "ef.be"; bf: "ef.bf"; bg: "ef.bg"; bh: "ef.bh"; bi: "ef.bi"; bj: "ef.bj"; bk: "ef.bk"; bl: "ef.bl"; bm: "ef.bm"; bn: "ef.bn"; bo: "ef.bo"; bp: "ef.bp"; bq: "ef.bq"; br: "ef.br"; bs: "ef.bs"; bt: "ef.bt"; bu: "ef.bu"; bv: "ef.bv"; bw: "ef.bw"; bx: "ef.bx"; by: "ef.by"; bz: "ef.bz"; ca: "ef.ca"; cb: "ef.cb"; cc: "ef.cc"; cd: "ef.cd"; ce: "ef.ce"; cf: "ef.cf"; cg: "ef.cg"; ch: "ef.ch"; ci: "ef.ci"; cj: "ef.cj"; ck: "ef.ck"; cl: "ef.cl"; cm: "ef.cm"; cn: "ef.cn"; co: "ef.co"; cp: "ef.cp"; cq: "ef.cq"; cr: "ef.cr"; cs: "ef.cs"; ct: "ef.ct"; cu: "ef.cu"; cv: "ef.cv"; cw: "ef.cw"; cx: "ef.cx"; cy: "ef.cy"; cz: "ef.cz"; da: "ef.da"; db: "ef.db"; dc: "ef.dc"; dd: "ef.dd"; de: "ef.de"; df: "ef.df"; dg: "ef.dg"; dh: "ef.dh"; di: "ef.di"; dj: "ef.dj"; dk: "ef.dk"; dl: "ef.dl"; dm: "ef.dm"; dn: "ef.dn"; do: "ef.do"; dp: "ef.dp"; dq: "ef.dq"; dr: "ef.dr"; ds: "ef.ds"; dt: "ef.dt"; du: "ef.du"; dv: "ef.dv"; dw: "ef.dw"; dx: "ef.dx"; dy: "ef.dy"; dz: "ef.dz"; ea: "ef.ea"; eb: "ef.eb"; ec: "ef.ec"; ed: "ef.ed"; ee: "ef.ee"; ef: "ef.ef"; eg: "ef.eg"; eh: "ef.eh"; ei: "ef.ei"; ej: "ef.ej"; ek: "ef.ek"; el: "ef.el"; em: "ef.em"; en: "ef.en"; eo: "ef.eo"; ep: "ef.ep"; eq: "ef.eq"; er: "ef.er"; es: "ef.es"; et: "ef.et"; eu: "ef.eu"; ev: "ef.ev"; ew: "ef.ew"; ex: "ef.ex"; ey: "ef.ey"; ez: "ef.ez"; fa: "ef.fa"; fb: "ef.fb"; fc: "ef.fc"; fd: "ef.fd"; fe: "ef.fe"; ff: "ef.ff"; fg: "ef.fg"; fh: "ef.fh"; fi: "ef.fi"; fj: "ef.fj"; fk: "ef.fk"; fl: "ef.fl"; fm: "ef.fm"; fn: "ef.fn"; fo: "ef.fo"; fp: "ef.fp"; fq: "ef.fq"; fr: "ef.fr"; fs: "ef.fs"; ft: "ef.ft"; fu: "ef.fu"; fv: "ef.fv"; fw: "ef.fw"; fx: "ef.fx"; fy: "ef.fy"; fz: "ef.fz"; ga: "ef.ga"; gb: "ef.gb"; gc: "ef.gc"; gd: "ef.gd"; ge: "ef.ge"; gf: "ef.gf"; gg: "ef.gg"; gh: "ef.gh"; gi: "ef.gi"; gj: "ef.gj"; gk: "ef.gk"; gl: "ef.gl"; gm: "ef.gm"; gn: "ef.gn"; go: "ef.go"; gp: "ef.gp"; gq: "ef.gq"; gr: "ef.gr"; gs: "ef.gs"; gt: "ef.gt"; gu: "ef.gu"; gv: "ef.gv"; gw: "ef.gw"; gx: "ef.gx"; gy: "ef.gy"; gz: "ef.gz"; ha: "ef.ha"; hb: "ef.hb"; hc: "ef.hc"; hd: "ef.hd"; he: "ef.he"; hf: "ef.hf"; hg: "ef.hg"; hh: "ef.hh"; hi: "ef.hi"; hj: "ef.hj"; hk: "ef.hk"; hl: "ef.hl"; hm: "ef.hm"; hn: "ef.hn"; ho: "ef.ho"; hp: "ef.hp"; hq: "ef.hq"; hr: "ef.hr"; hs: "ef.hs"; ht: "ef.ht"; hu: "ef.hu"; hv: "ef.hv"; hw: "ef.hw"; hx: "ef.hx"; hy: "ef.hy"; hz: "ef.hz"; ia: "ef.ia"; ib: "ef.ib"; ic: "ef.ic"; id: "ef.id"; ie: "ef.ie"; if: "ef.if"; ig: "ef.ig"; ih: "ef.ih"; ii: "ef.ii"; ij: "ef.ij"; ik: "ef.ik"; il: "ef.il"; im: "ef.im"; in: "ef.in"; io: "ef.io"; ip: "ef.ip"; iq: "ef.iq"; ir: "ef.ir"; is: "ef.is"; it: "ef.it"; iu: "ef.iu"; iv: "ef.iv"; iw: "ef.iw"; ix: "ef.ix"; iy: "ef.iy"; iz: "ef.iz"; ja: "ef.ja"; jb: "ef.jb"; jc: "ef.jc"; jd: "ef.jd"; je: "ef.je"; jf: "ef.jf"; jg: "ef.jg"; jh: "ef.jh"; ji: "ef.ji"; jj: "ef.jj"; jk: "ef.jk"; jl: "ef.jl"; jm: "ef.jm"; jn: "ef.jn"; jo: "ef.jo"; jp: "ef.jp"; jq: "ef.jq"; jr: "ef.jr"; js: "ef.js"; jt: "ef.jt"; ju: "ef.ju"; jv: "ef.jv"; jw: "ef.jw"; jx: "ef.jx"; jy: "ef.jy"; jz: "ef.jz"; ka: "ef.ka"; kb: "ef.kb"; kc: "ef.kc"; kd: "ef.kd"; ke: "ef.ke"; kf: "ef.kf"; kg: "ef.kg"; kh: "ef.kh"; ki: "ef.ki"; kj: "ef.kj"; kk: "ef.kk"; kl: "ef.kl"; km: "ef.km"; kn: "ef.kn"; ko: "ef.ko"; kp: "ef.kp"; kq: "ef.kq"; kr: "ef.kr"; ks: "ef.ks"; kt: "ef.kt"; ku: "ef.ku"; kv: "ef.kv"; kw: "ef.kw"; kx: "ef.kx"; ky: "ef.ky"; kz: "ef.kz"; la: "ef.la"; lb: "ef.lb"; lc: "ef.lc"; ld: "ef.ld"; le: "ef.le"; lf: "ef.lf"; lg: "ef.lg"; lh: "ef.lh"; li: "ef.li"; lj: "ef.lj"; lk: "ef.lk"; ll: "ef.ll"; lm: "ef.lm"; ln: "ef.ln"; lo: "ef.lo"; lp: "ef.lp"; lq: "ef.lq"; lr: "ef.lr"; ls: "ef.ls"; lt: "ef.lt"; lu: "ef.lu"; lv: "ef.lv"; lw: "ef.lw"; lx: "ef.lx"; ly: "ef.ly"; lz: "ef.lz"; ma: "ef.ma"; mb: "ef.mb"; mc: "ef.mc"; md: "ef.md"; me: "ef.me"; mf: "ef.mf"; mg: "ef.mg"; mh: "ef.mh"; mi: "ef.mi"; mj: "ef.mj"; mk: "ef.mk"; ml: "ef.ml"; mm: "ef.mm"; mn: "ef.mn"; mo: "ef.mo"; mp: "ef.mp"; mq: "ef.mq"; mr: "ef.mr"; ms: "ef.ms"; mt: "ef.mt"; mu: "ef.mu"; mv: "ef.mv"; mw: "ef.mw"; mx: "ef.mx"; my: "ef.my"; mz: "ef.mz"; na: "ef.na"; nb: "ef.nb"; nc: "ef.nc"; nd: "ef.nd"; ne: "ef.ne"; nf: "ef.nf"; ng: "ef.ng"; nh: "ef.nh"; ni: "ef.ni"; nj: "ef.nj"; nk: "ef.nk"; nl: "ef.nl"; nm: "ef.nm"; nn: "ef.nn"; no: "ef.no"; np: "ef.np"; nq: "ef.nq"; nr: "ef.nr"; ns: "ef.ns"; nt: "ef.nt"; nu: "ef.nu"; nv: "ef.nv"; nw: "ef.nw"; nx: "ef.nx"; ny: "ef.ny"; nz: "ef.nz"; oa: "ef.oa"; ob: "ef.ob"; oc: "ef.oc"; od: "ef.od"; oe: "ef.oe"; of: "ef.of"; og: "ef.og"; oh: "ef.oh"; oi: "ef.oi"; oj: "ef.oj"; ok: "ef.ok"; ol: "ef.ol"; om: "ef.om"; on: "ef.on"; oo: "ef.oo"; op: "ef.op"; oq: "ef.oq"; or: "ef.or"; os: "ef.os"; ot: "ef.ot"; ou: "ef.ou"; ov: "ef.ov"; ow: "ef.ow"; ox: "ef.ox"; oy: "ef.oy"; oz: "ef.oz"; pa: "ef.pa"; pb: "ef.pb"; pc: "ef.pc"; pd: "ef.pd"; pe: "ef.pe"; pf: "ef.pf"; pg: "ef.pg"; ph: "ef.ph"; pi: "ef.pi"; pj: "ef.pj"; pk: "ef.pk"; pl: "ef.pl"; pm: "ef.pm"; pn: "ef.pn"; po: "ef.po"; pp: "ef.pp"; pq: "ef.pq"; pr: "ef.pr"; ps: "ef.ps"; pt: "ef.pt"; pu: "ef.pu"; pv: "ef.pv"; pw: "ef.pw"; px: "ef.px"; py: "ef.py"; pz: "ef.pz"; qa: "ef.qa"; qb: "ef.qb"; qc: "ef.qc"; qd: "ef.qd"; qe: "ef.qe"; qf: "ef.qf"; qg: "ef.qg"; qh: "ef.qh"; qi: "ef.qi"; qj: "ef.qj"; qk: "ef.qk"; ql: "ef.ql"; qm: "ef.qm"; qn: "ef.qn"; qo: "ef.qo"; qp: "ef.qp"; qq: "ef.qq"; qr: "ef.qr"; qs: "ef.qs"; qt: "ef.qt"; qu: "ef.qu"; qv: "ef.qv"; qw: "ef.qw"; qx: "ef.qx"; qy: "ef.qy"; qz: "ef.qz"; ra: "ef.ra"; rb: "ef.rb"; rc: "ef.rc"; rd: "ef.rd"; re: "ef.re"; rf: "ef.rf"; rg: "ef.rg"; rh: "ef.rh"; ri: "ef.ri"; rj: "ef.rj"; rk: "ef.rk"; rl: "ef.rl"; rm: "ef.rm"; rn: "ef.rn"; ro: "ef.ro"; rp: "ef.rp"; rq: "ef.rq"; rr: "ef.rr"; rs: "ef.rs"; rt: "ef.rt"; ru: "ef.ru"; rv: "ef.rv"; rw: "ef.rw"; rx: "ef.rx"; ry: "ef.ry"; rz: "ef.rz"; sa: "ef.sa"; sb: "ef.sb"; sc: "ef.sc"; sd: "ef.sd"; se: "ef.se"; sf: "ef.sf"; sg: "ef.sg"; sh: "ef.sh"; si: "ef.si"; sj: "ef.sj"; sk: "ef.sk"; sl: "ef.sl"; sm: "ef.sm"; sn: "ef.sn"; so: "ef.so"; sp: "ef.sp"; sq: "ef.sq"; sr: "ef.sr"; ss: "ef.ss"; st: "ef.st"; su: "ef.su"; sv: "ef.sv"; sw: "ef.sw"; sx: "ef.sx"; sy: "ef.sy"; sz: "ef.sz"; ta: "ef.ta"; tb: "ef.tb"; tc: "ef.tc"; td: "ef.td"; te: "ef.te"; tf: "ef.tf"; tg: "ef.tg"; th: "ef.th"; ti: "ef.ti"; tj: "ef.tj"; tk: "ef.tk"; tl: "ef.tl"; tm: "ef.tm"; tn: "ef.tn"; to: "ef.to"; tp: "ef.tp"; tq: "ef.tq"; tr: "ef.tr"; ts: "ef.ts"; tt: "ef.tt"; tu: "ef.tu"; tv: "ef.tv"; tw: "ef.tw"; tx: "ef.tx"; ty: "ef.ty"; tz: "ef.tz"; ua: "ef.ua"; ub: "ef.ub"; uc: "ef.uc"; ud: "ef.ud"; ue: "ef.ue"; uf: "ef.uf"; ug: "ef.ug"; uh: "ef.uh"; ui: "ef.ui"; uj: "ef.uj"; uk: "ef.uk"; ul: "ef.ul"; um: "ef.um"; un: "ef.un"; uo: "ef.uo"; up: "ef.up"; uq: "ef.uq"; ur: "ef.ur"; us: "ef.us"; ut: "ef.ut"; uu: "ef.uu"; uv: "ef.uv"; uw: "ef.uw"; ux: "ef.ux"; uy: "ef.uy"; uz: "ef.uz"; va: "ef.va"; vb: "ef.vb"; vc: "ef.vc"; vd: "ef.vd"; ve: "ef.ve"; vf: "ef.vf"; vg: "ef.vg"; vh: "ef.vh"; vi: "ef.vi"; vj: "ef.vj"; vk: "ef.vk"; vl: "ef.vl"; vm: "ef.vm"; vn: "ef.vn"; vo: "ef.vo"; vp: "ef.vp"; vq: "ef.vq"; vr: "ef.vr"; vs: "ef.vs"; vt: "ef.vt"; vu: "ef.vu"; vv: "ef.vv"; vw: "ef.vw"; vx: "ef.vx"; vy: "ef.vy"; vz: "ef.vz"; wa: "ef.wa"; wb: "ef.wb"; wc: "ef.wc"; wd: "ef.wd"; we: "ef.we"; wf: "ef.wf"; wg: "ef.wg"; wh: "ef.wh"; wi: "ef.wi"; wj: "ef.wj"; wk: "ef.wk"; wl: "ef.wl"; wm: "ef.wm"; wn: "ef.wn"; wo: "ef.wo"; wp: "ef.wp"; wq: "ef.wq"; wr: "ef.wr"; ws: "ef.ws"; wt: "ef.wt"; wu: "ef.wu"; wv: "ef.wv"; ww: "ef.ww"; wx: "ef.wx"; wy: "ef.wy"; wz: "ef.wz"; xa: "ef.xa"; xb: "ef.xb"; xc: "ef.xc"; xd: "ef.xd"; xe: "ef.xe"; xf: "ef.xf"; xg: "ef.xg"; xh: "ef.xh"; xi: "ef.xi"; xj: "ef.xj"; xk: "ef.xk"; xl: "ef.xl"; xm: "ef.xm"; xn: "ef.xn"; xo: "ef.xo"; xp: "ef.xp"; xq: "ef.xq"; xr: "ef.xr"; xs: "ef.xs"; xt: "ef.xt"; xu: "ef.xu"; xv: "ef.xv"; xw: "ef.xw"; xx: "ef.xx"; xy: "ef.xy"; xz: "ef.xz"; ya: "ef.ya"; yb: "ef.yb"; yc: "ef.yc"; yd: "ef.yd"; ye: "ef.ye"; yf: "ef.yf"; yg: "ef.yg"; yh: "ef.yh"; yi: "ef.yi"; yj: "ef.yj"; yk: "ef.yk"; yl: "ef.yl"; ym: "ef.ym"; yn: "ef.yn"; yo: "ef.yo"; yp: "ef.yp"; yq: "ef.yq"; yr: "ef.yr"; ys: "ef.ys"; yt: "ef.yt"; yu: "ef.yu"; yv: "ef.yv"; yw: "ef.yw"; yx: "ef.yx"; yy: "ef.yy"; yz: "ef.yz"; za: "ef.za"; zb: "ef.zb"; zc: "ef.zc"; zd: "ef.zd"; ze: "ef.ze"; zf: "ef.zf"; zg: "ef.zg"; zh: "ef.zh"; zi: "ef.zi"; zj: "ef.zj"; zk: "ef.zk"; zl: "ef.zl"; zm: "ef.zm"; zn: "ef.zn"; zo: "ef.zo"; zp: "ef.zp"; zq: "ef.zq"; zr: "ef.zr"; zs: "ef.zs"; zt: "ef.zt"; zu: "ef.zu"; zv: "ef.zv"; zw: "ef.zw"; zx: "ef.zx"; zy: "ef.zy"; zz: "ef.zz"; }; eg: { aa: "eg.aa"; ab: "eg.ab"; ac: "eg.ac"; ad: "eg.ad"; ae: "eg.ae"; af: "eg.af"; ag: "eg.ag"; ah: "eg.ah"; ai: "eg.ai"; aj: "eg.aj"; ak: "eg.ak"; al: "eg.al"; am: "eg.am"; an: "eg.an"; ao: "eg.ao"; ap: "eg.ap"; aq: "eg.aq"; ar: "eg.ar"; as: "eg.as"; at: "eg.at"; au: "eg.au"; av: "eg.av"; aw: "eg.aw"; ax: "eg.ax"; ay: "eg.ay"; az: "eg.az"; ba: "eg.ba"; bb: "eg.bb"; bc: "eg.bc"; bd: "eg.bd"; be: "eg.be"; bf: "eg.bf"; bg: "eg.bg"; bh: "eg.bh"; bi: "eg.bi"; bj: "eg.bj"; bk: "eg.bk"; bl: "eg.bl"; bm: "eg.bm"; bn: "eg.bn"; bo: "eg.bo"; bp: "eg.bp"; bq: "eg.bq"; br: "eg.br"; bs: "eg.bs"; bt: "eg.bt"; bu: "eg.bu"; bv: "eg.bv"; bw: "eg.bw"; bx: "eg.bx"; by: "eg.by"; bz: "eg.bz"; ca: "eg.ca"; cb: "eg.cb"; cc: "eg.cc"; cd: "eg.cd"; ce: "eg.ce"; cf: "eg.cf"; cg: "eg.cg"; ch: "eg.ch"; ci: "eg.ci"; cj: "eg.cj"; ck: "eg.ck"; cl: "eg.cl"; cm: "eg.cm"; cn: "eg.cn"; co: "eg.co"; cp: "eg.cp"; cq: "eg.cq"; cr: "eg.cr"; cs: "eg.cs"; ct: "eg.ct"; cu: "eg.cu"; cv: "eg.cv"; cw: "eg.cw"; cx: "eg.cx"; cy: "eg.cy"; cz: "eg.cz"; da: "eg.da"; db: "eg.db"; dc: "eg.dc"; dd: "eg.dd"; de: "eg.de"; df: "eg.df"; dg: "eg.dg"; dh: "eg.dh"; di: "eg.di"; dj: "eg.dj"; dk: "eg.dk"; dl: "eg.dl"; dm: "eg.dm"; dn: "eg.dn"; do: "eg.do"; dp: "eg.dp"; dq: "eg.dq"; dr: "eg.dr"; ds: "eg.ds"; dt: "eg.dt"; du: "eg.du"; dv: "eg.dv"; dw: "eg.dw"; dx: "eg.dx"; dy: "eg.dy"; dz: "eg.dz"; ea: "eg.ea"; eb: "eg.eb"; ec: "eg.ec"; ed: "eg.ed"; ee: "eg.ee"; ef: "eg.ef"; eg: "eg.eg"; eh: "eg.eh"; ei: "eg.ei"; ej: "eg.ej"; ek: "eg.ek"; el: "eg.el"; em: "eg.em"; en: "eg.en"; eo: "eg.eo"; ep: "eg.ep"; eq: "eg.eq"; er: "eg.er"; es: "eg.es"; et: "eg.et"; eu: "eg.eu"; ev: "eg.ev"; ew: "eg.ew"; ex: "eg.ex"; ey: "eg.ey"; ez: "eg.ez"; fa: "eg.fa"; fb: "eg.fb"; fc: "eg.fc"; fd: "eg.fd"; fe: "eg.fe"; ff: "eg.ff"; fg: "eg.fg"; fh: "eg.fh"; fi: "eg.fi"; fj: "eg.fj"; fk: "eg.fk"; fl: "eg.fl"; fm: "eg.fm"; fn: "eg.fn"; fo: "eg.fo"; fp: "eg.fp"; fq: "eg.fq"; fr: "eg.fr"; fs: "eg.fs"; ft: "eg.ft"; fu: "eg.fu"; fv: "eg.fv"; fw: "eg.fw"; fx: "eg.fx"; fy: "eg.fy"; fz: "eg.fz"; ga: "eg.ga"; gb: "eg.gb"; gc: "eg.gc"; gd: "eg.gd"; ge: "eg.ge"; gf: "eg.gf"; gg: "eg.gg"; gh: "eg.gh"; gi: "eg.gi"; gj: "eg.gj"; gk: "eg.gk"; gl: "eg.gl"; gm: "eg.gm"; gn: "eg.gn"; go: "eg.go"; gp: "eg.gp"; gq: "eg.gq"; gr: "eg.gr"; gs: "eg.gs"; gt: "eg.gt"; gu: "eg.gu"; gv: "eg.gv"; gw: "eg.gw"; gx: "eg.gx"; gy: "eg.gy"; gz: "eg.gz"; ha: "eg.ha"; hb: "eg.hb"; hc: "eg.hc"; hd: "eg.hd"; he: "eg.he"; hf: "eg.hf"; hg: "eg.hg"; hh: "eg.hh"; hi: "eg.hi"; hj: "eg.hj"; hk: "eg.hk"; hl: "eg.hl"; hm: "eg.hm"; hn: "eg.hn"; ho: "eg.ho"; hp: "eg.hp"; hq: "eg.hq"; hr: "eg.hr"; hs: "eg.hs"; ht: "eg.ht"; hu: "eg.hu"; hv: "eg.hv"; hw: "eg.hw"; hx: "eg.hx"; hy: "eg.hy"; hz: "eg.hz"; ia: "eg.ia"; ib: "eg.ib"; ic: "eg.ic"; id: "eg.id"; ie: "eg.ie"; if: "eg.if"; ig: "eg.ig"; ih: "eg.ih"; ii: "eg.ii"; ij: "eg.ij"; ik: "eg.ik"; il: "eg.il"; im: "eg.im"; in: "eg.in"; io: "eg.io"; ip: "eg.ip"; iq: "eg.iq"; ir: "eg.ir"; is: "eg.is"; it: "eg.it"; iu: "eg.iu"; iv: "eg.iv"; iw: "eg.iw"; ix: "eg.ix"; iy: "eg.iy"; iz: "eg.iz"; ja: "eg.ja"; jb: "eg.jb"; jc: "eg.jc"; jd: "eg.jd"; je: "eg.je"; jf: "eg.jf"; jg: "eg.jg"; jh: "eg.jh"; ji: "eg.ji"; jj: "eg.jj"; jk: "eg.jk"; jl: "eg.jl"; jm: "eg.jm"; jn: "eg.jn"; jo: "eg.jo"; jp: "eg.jp"; jq: "eg.jq"; jr: "eg.jr"; js: "eg.js"; jt: "eg.jt"; ju: "eg.ju"; jv: "eg.jv"; jw: "eg.jw"; jx: "eg.jx"; jy: "eg.jy"; jz: "eg.jz"; ka: "eg.ka"; kb: "eg.kb"; kc: "eg.kc"; kd: "eg.kd"; ke: "eg.ke"; kf: "eg.kf"; kg: "eg.kg"; kh: "eg.kh"; ki: "eg.ki"; kj: "eg.kj"; kk: "eg.kk"; kl: "eg.kl"; km: "eg.km"; kn: "eg.kn"; ko: "eg.ko"; kp: "eg.kp"; kq: "eg.kq"; kr: "eg.kr"; ks: "eg.ks"; kt: "eg.kt"; ku: "eg.ku"; kv: "eg.kv"; kw: "eg.kw"; kx: "eg.kx"; ky: "eg.ky"; kz: "eg.kz"; la: "eg.la"; lb: "eg.lb"; lc: "eg.lc"; ld: "eg.ld"; le: "eg.le"; lf: "eg.lf"; lg: "eg.lg"; lh: "eg.lh"; li: "eg.li"; lj: "eg.lj"; lk: "eg.lk"; ll: "eg.ll"; lm: "eg.lm"; ln: "eg.ln"; lo: "eg.lo"; lp: "eg.lp"; lq: "eg.lq"; lr: "eg.lr"; ls: "eg.ls"; lt: "eg.lt"; lu: "eg.lu"; lv: "eg.lv"; lw: "eg.lw"; lx: "eg.lx"; ly: "eg.ly"; lz: "eg.lz"; ma: "eg.ma"; mb: "eg.mb"; mc: "eg.mc"; md: "eg.md"; me: "eg.me"; mf: "eg.mf"; mg: "eg.mg"; mh: "eg.mh"; mi: "eg.mi"; mj: "eg.mj"; mk: "eg.mk"; ml: "eg.ml"; mm: "eg.mm"; mn: "eg.mn"; mo: "eg.mo"; mp: "eg.mp"; mq: "eg.mq"; mr: "eg.mr"; ms: "eg.ms"; mt: "eg.mt"; mu: "eg.mu"; mv: "eg.mv"; mw: "eg.mw"; mx: "eg.mx"; my: "eg.my"; mz: "eg.mz"; na: "eg.na"; nb: "eg.nb"; nc: "eg.nc"; nd: "eg.nd"; ne: "eg.ne"; nf: "eg.nf"; ng: "eg.ng"; nh: "eg.nh"; ni: "eg.ni"; nj: "eg.nj"; nk: "eg.nk"; nl: "eg.nl"; nm: "eg.nm"; nn: "eg.nn"; no: "eg.no"; np: "eg.np"; nq: "eg.nq"; nr: "eg.nr"; ns: "eg.ns"; nt: "eg.nt"; nu: "eg.nu"; nv: "eg.nv"; nw: "eg.nw"; nx: "eg.nx"; ny: "eg.ny"; nz: "eg.nz"; oa: "eg.oa"; ob: "eg.ob"; oc: "eg.oc"; od: "eg.od"; oe: "eg.oe"; of: "eg.of"; og: "eg.og"; oh: "eg.oh"; oi: "eg.oi"; oj: "eg.oj"; ok: "eg.ok"; ol: "eg.ol"; om: "eg.om"; on: "eg.on"; oo: "eg.oo"; op: "eg.op"; oq: "eg.oq"; or: "eg.or"; os: "eg.os"; ot: "eg.ot"; ou: "eg.ou"; ov: "eg.ov"; ow: "eg.ow"; ox: "eg.ox"; oy: "eg.oy"; oz: "eg.oz"; pa: "eg.pa"; pb: "eg.pb"; pc: "eg.pc"; pd: "eg.pd"; pe: "eg.pe"; pf: "eg.pf"; pg: "eg.pg"; ph: "eg.ph"; pi: "eg.pi"; pj: "eg.pj"; pk: "eg.pk"; pl: "eg.pl"; pm: "eg.pm"; pn: "eg.pn"; po: "eg.po"; pp: "eg.pp"; pq: "eg.pq"; pr: "eg.pr"; ps: "eg.ps"; pt: "eg.pt"; pu: "eg.pu"; pv: "eg.pv"; pw: "eg.pw"; px: "eg.px"; py: "eg.py"; pz: "eg.pz"; qa: "eg.qa"; qb: "eg.qb"; qc: "eg.qc"; qd: "eg.qd"; qe: "eg.qe"; qf: "eg.qf"; qg: "eg.qg"; qh: "eg.qh"; qi: "eg.qi"; qj: "eg.qj"; qk: "eg.qk"; ql: "eg.ql"; qm: "eg.qm"; qn: "eg.qn"; qo: "eg.qo"; qp: "eg.qp"; qq: "eg.qq"; qr: "eg.qr"; qs: "eg.qs"; qt: "eg.qt"; qu: "eg.qu"; qv: "eg.qv"; qw: "eg.qw"; qx: "eg.qx"; qy: "eg.qy"; qz: "eg.qz"; ra: "eg.ra"; rb: "eg.rb"; rc: "eg.rc"; rd: "eg.rd"; re: "eg.re"; rf: "eg.rf"; rg: "eg.rg"; rh: "eg.rh"; ri: "eg.ri"; rj: "eg.rj"; rk: "eg.rk"; rl: "eg.rl"; rm: "eg.rm"; rn: "eg.rn"; ro: "eg.ro"; rp: "eg.rp"; rq: "eg.rq"; rr: "eg.rr"; rs: "eg.rs"; rt: "eg.rt"; ru: "eg.ru"; rv: "eg.rv"; rw: "eg.rw"; rx: "eg.rx"; ry: "eg.ry"; rz: "eg.rz"; sa: "eg.sa"; sb: "eg.sb"; sc: "eg.sc"; sd: "eg.sd"; se: "eg.se"; sf: "eg.sf"; sg: "eg.sg"; sh: "eg.sh"; si: "eg.si"; sj: "eg.sj"; sk: "eg.sk"; sl: "eg.sl"; sm: "eg.sm"; sn: "eg.sn"; so: "eg.so"; sp: "eg.sp"; sq: "eg.sq"; sr: "eg.sr"; ss: "eg.ss"; st: "eg.st"; su: "eg.su"; sv: "eg.sv"; sw: "eg.sw"; sx: "eg.sx"; sy: "eg.sy"; sz: "eg.sz"; ta: "eg.ta"; tb: "eg.tb"; tc: "eg.tc"; td: "eg.td"; te: "eg.te"; tf: "eg.tf"; tg: "eg.tg"; th: "eg.th"; ti: "eg.ti"; tj: "eg.tj"; tk: "eg.tk"; tl: "eg.tl"; tm: "eg.tm"; tn: "eg.tn"; to: "eg.to"; tp: "eg.tp"; tq: "eg.tq"; tr: "eg.tr"; ts: "eg.ts"; tt: "eg.tt"; tu: "eg.tu"; tv: "eg.tv"; tw: "eg.tw"; tx: "eg.tx"; ty: "eg.ty"; tz: "eg.tz"; ua: "eg.ua"; ub: "eg.ub"; uc: "eg.uc"; ud: "eg.ud"; ue: "eg.ue"; uf: "eg.uf"; ug: "eg.ug"; uh: "eg.uh"; ui: "eg.ui"; uj: "eg.uj"; uk: "eg.uk"; ul: "eg.ul"; um: "eg.um"; un: "eg.un"; uo: "eg.uo"; up: "eg.up"; uq: "eg.uq"; ur: "eg.ur"; us: "eg.us"; ut: "eg.ut"; uu: "eg.uu"; uv: "eg.uv"; uw: "eg.uw"; ux: "eg.ux"; uy: "eg.uy"; uz: "eg.uz"; va: "eg.va"; vb: "eg.vb"; vc: "eg.vc"; vd: "eg.vd"; ve: "eg.ve"; vf: "eg.vf"; vg: "eg.vg"; vh: "eg.vh"; vi: "eg.vi"; vj: "eg.vj"; vk: "eg.vk"; vl: "eg.vl"; vm: "eg.vm"; vn: "eg.vn"; vo: "eg.vo"; vp: "eg.vp"; vq: "eg.vq"; vr: "eg.vr"; vs: "eg.vs"; vt: "eg.vt"; vu: "eg.vu"; vv: "eg.vv"; vw: "eg.vw"; vx: "eg.vx"; vy: "eg.vy"; vz: "eg.vz"; wa: "eg.wa"; wb: "eg.wb"; wc: "eg.wc"; wd: "eg.wd"; we: "eg.we"; wf: "eg.wf"; wg: "eg.wg"; wh: "eg.wh"; wi: "eg.wi"; wj: "eg.wj"; wk: "eg.wk"; wl: "eg.wl"; wm: "eg.wm"; wn: "eg.wn"; wo: "eg.wo"; wp: "eg.wp"; wq: "eg.wq"; wr: "eg.wr"; ws: "eg.ws"; wt: "eg.wt"; wu: "eg.wu"; wv: "eg.wv"; ww: "eg.ww"; wx: "eg.wx"; wy: "eg.wy"; wz: "eg.wz"; xa: "eg.xa"; xb: "eg.xb"; xc: "eg.xc"; xd: "eg.xd"; xe: "eg.xe"; xf: "eg.xf"; xg: "eg.xg"; xh: "eg.xh"; xi: "eg.xi"; xj: "eg.xj"; xk: "eg.xk"; xl: "eg.xl"; xm: "eg.xm"; xn: "eg.xn"; xo: "eg.xo"; xp: "eg.xp"; xq: "eg.xq"; xr: "eg.xr"; xs: "eg.xs"; xt: "eg.xt"; xu: "eg.xu"; xv: "eg.xv"; xw: "eg.xw"; xx: "eg.xx"; xy: "eg.xy"; xz: "eg.xz"; ya: "eg.ya"; yb: "eg.yb"; yc: "eg.yc"; yd: "eg.yd"; ye: "eg.ye"; yf: "eg.yf"; yg: "eg.yg"; yh: "eg.yh"; yi: "eg.yi"; yj: "eg.yj"; yk: "eg.yk"; yl: "eg.yl"; ym: "eg.ym"; yn: "eg.yn"; yo: "eg.yo"; yp: "eg.yp"; yq: "eg.yq"; yr: "eg.yr"; ys: "eg.ys"; yt: "eg.yt"; yu: "eg.yu"; yv: "eg.yv"; yw: "eg.yw"; yx: "eg.yx"; yy: "eg.yy"; yz: "eg.yz"; za: "eg.za"; zb: "eg.zb"; zc: "eg.zc"; zd: "eg.zd"; ze: "eg.ze"; zf: "eg.zf"; zg: "eg.zg"; zh: "eg.zh"; zi: "eg.zi"; zj: "eg.zj"; zk: "eg.zk"; zl: "eg.zl"; zm: "eg.zm"; zn: "eg.zn"; zo: "eg.zo"; zp: "eg.zp"; zq: "eg.zq"; zr: "eg.zr"; zs: "eg.zs"; zt: "eg.zt"; zu: "eg.zu"; zv: "eg.zv"; zw: "eg.zw"; zx: "eg.zx"; zy: "eg.zy"; zz: "eg.zz"; }; eh: { aa: "eh.aa"; ab: "eh.ab"; ac: "eh.ac"; ad: "eh.ad"; ae: "eh.ae"; af: "eh.af"; ag: "eh.ag"; ah: "eh.ah"; ai: "eh.ai"; aj: "eh.aj"; ak: "eh.ak"; al: "eh.al"; am: "eh.am"; an: "eh.an"; ao: "eh.ao"; ap: "eh.ap"; aq: "eh.aq"; ar: "eh.ar"; as: "eh.as"; at: "eh.at"; au: "eh.au"; av: "eh.av"; aw: "eh.aw"; ax: "eh.ax"; ay: "eh.ay"; az: "eh.az"; ba: "eh.ba"; bb: "eh.bb"; bc: "eh.bc"; bd: "eh.bd"; be: "eh.be"; bf: "eh.bf"; bg: "eh.bg"; bh: "eh.bh"; bi: "eh.bi"; bj: "eh.bj"; bk: "eh.bk"; bl: "eh.bl"; bm: "eh.bm"; bn: "eh.bn"; bo: "eh.bo"; bp: "eh.bp"; bq: "eh.bq"; br: "eh.br"; bs: "eh.bs"; bt: "eh.bt"; bu: "eh.bu"; bv: "eh.bv"; bw: "eh.bw"; bx: "eh.bx"; by: "eh.by"; bz: "eh.bz"; ca: "eh.ca"; cb: "eh.cb"; cc: "eh.cc"; cd: "eh.cd"; ce: "eh.ce"; cf: "eh.cf"; cg: "eh.cg"; ch: "eh.ch"; ci: "eh.ci"; cj: "eh.cj"; ck: "eh.ck"; cl: "eh.cl"; cm: "eh.cm"; cn: "eh.cn"; co: "eh.co"; cp: "eh.cp"; cq: "eh.cq"; cr: "eh.cr"; cs: "eh.cs"; ct: "eh.ct"; cu: "eh.cu"; cv: "eh.cv"; cw: "eh.cw"; cx: "eh.cx"; cy: "eh.cy"; cz: "eh.cz"; da: "eh.da"; db: "eh.db"; dc: "eh.dc"; dd: "eh.dd"; de: "eh.de"; df: "eh.df"; dg: "eh.dg"; dh: "eh.dh"; di: "eh.di"; dj: "eh.dj"; dk: "eh.dk"; dl: "eh.dl"; dm: "eh.dm"; dn: "eh.dn"; do: "eh.do"; dp: "eh.dp"; dq: "eh.dq"; dr: "eh.dr"; ds: "eh.ds"; dt: "eh.dt"; du: "eh.du"; dv: "eh.dv"; dw: "eh.dw"; dx: "eh.dx"; dy: "eh.dy"; dz: "eh.dz"; ea: "eh.ea"; eb: "eh.eb"; ec: "eh.ec"; ed: "eh.ed"; ee: "eh.ee"; ef: "eh.ef"; eg: "eh.eg"; eh: "eh.eh"; ei: "eh.ei"; ej: "eh.ej"; ek: "eh.ek"; el: "eh.el"; em: "eh.em"; en: "eh.en"; eo: "eh.eo"; ep: "eh.ep"; eq: "eh.eq"; er: "eh.er"; es: "eh.es"; et: "eh.et"; eu: "eh.eu"; ev: "eh.ev"; ew: "eh.ew"; ex: "eh.ex"; ey: "eh.ey"; ez: "eh.ez"; fa: "eh.fa"; fb: "eh.fb"; fc: "eh.fc"; fd: "eh.fd"; fe: "eh.fe"; ff: "eh.ff"; fg: "eh.fg"; fh: "eh.fh"; fi: "eh.fi"; fj: "eh.fj"; fk: "eh.fk"; fl: "eh.fl"; fm: "eh.fm"; fn: "eh.fn"; fo: "eh.fo"; fp: "eh.fp"; fq: "eh.fq"; fr: "eh.fr"; fs: "eh.fs"; ft: "eh.ft"; fu: "eh.fu"; fv: "eh.fv"; fw: "eh.fw"; fx: "eh.fx"; fy: "eh.fy"; fz: "eh.fz"; ga: "eh.ga"; gb: "eh.gb"; gc: "eh.gc"; gd: "eh.gd"; ge: "eh.ge"; gf: "eh.gf"; gg: "eh.gg"; gh: "eh.gh"; gi: "eh.gi"; gj: "eh.gj"; gk: "eh.gk"; gl: "eh.gl"; gm: "eh.gm"; gn: "eh.gn"; go: "eh.go"; gp: "eh.gp"; gq: "eh.gq"; gr: "eh.gr"; gs: "eh.gs"; gt: "eh.gt"; gu: "eh.gu"; gv: "eh.gv"; gw: "eh.gw"; gx: "eh.gx"; gy: "eh.gy"; gz: "eh.gz"; ha: "eh.ha"; hb: "eh.hb"; hc: "eh.hc"; hd: "eh.hd"; he: "eh.he"; hf: "eh.hf"; hg: "eh.hg"; hh: "eh.hh"; hi: "eh.hi"; hj: "eh.hj"; hk: "eh.hk"; hl: "eh.hl"; hm: "eh.hm"; hn: "eh.hn"; ho: "eh.ho"; hp: "eh.hp"; hq: "eh.hq"; hr: "eh.hr"; hs: "eh.hs"; ht: "eh.ht"; hu: "eh.hu"; hv: "eh.hv"; hw: "eh.hw"; hx: "eh.hx"; hy: "eh.hy"; hz: "eh.hz"; ia: "eh.ia"; ib: "eh.ib"; ic: "eh.ic"; id: "eh.id"; ie: "eh.ie"; if: "eh.if"; ig: "eh.ig"; ih: "eh.ih"; ii: "eh.ii"; ij: "eh.ij"; ik: "eh.ik"; il: "eh.il"; im: "eh.im"; in: "eh.in"; io: "eh.io"; ip: "eh.ip"; iq: "eh.iq"; ir: "eh.ir"; is: "eh.is"; it: "eh.it"; iu: "eh.iu"; iv: "eh.iv"; iw: "eh.iw"; ix: "eh.ix"; iy: "eh.iy"; iz: "eh.iz"; ja: "eh.ja"; jb: "eh.jb"; jc: "eh.jc"; jd: "eh.jd"; je: "eh.je"; jf: "eh.jf"; jg: "eh.jg"; jh: "eh.jh"; ji: "eh.ji"; jj: "eh.jj"; jk: "eh.jk"; jl: "eh.jl"; jm: "eh.jm"; jn: "eh.jn"; jo: "eh.jo"; jp: "eh.jp"; jq: "eh.jq"; jr: "eh.jr"; js: "eh.js"; jt: "eh.jt"; ju: "eh.ju"; jv: "eh.jv"; jw: "eh.jw"; jx: "eh.jx"; jy: "eh.jy"; jz: "eh.jz"; ka: "eh.ka"; kb: "eh.kb"; kc: "eh.kc"; kd: "eh.kd"; ke: "eh.ke"; kf: "eh.kf"; kg: "eh.kg"; kh: "eh.kh"; ki: "eh.ki"; kj: "eh.kj"; kk: "eh.kk"; kl: "eh.kl"; km: "eh.km"; kn: "eh.kn"; ko: "eh.ko"; kp: "eh.kp"; kq: "eh.kq"; kr: "eh.kr"; ks: "eh.ks"; kt: "eh.kt"; ku: "eh.ku"; kv: "eh.kv"; kw: "eh.kw"; kx: "eh.kx"; ky: "eh.ky"; kz: "eh.kz"; la: "eh.la"; lb: "eh.lb"; lc: "eh.lc"; ld: "eh.ld"; le: "eh.le"; lf: "eh.lf"; lg: "eh.lg"; lh: "eh.lh"; li: "eh.li"; lj: "eh.lj"; lk: "eh.lk"; ll: "eh.ll"; lm: "eh.lm"; ln: "eh.ln"; lo: "eh.lo"; lp: "eh.lp"; lq: "eh.lq"; lr: "eh.lr"; ls: "eh.ls"; lt: "eh.lt"; lu: "eh.lu"; lv: "eh.lv"; lw: "eh.lw"; lx: "eh.lx"; ly: "eh.ly"; lz: "eh.lz"; ma: "eh.ma"; mb: "eh.mb"; mc: "eh.mc"; md: "eh.md"; me: "eh.me"; mf: "eh.mf"; mg: "eh.mg"; mh: "eh.mh"; mi: "eh.mi"; mj: "eh.mj"; mk: "eh.mk"; ml: "eh.ml"; mm: "eh.mm"; mn: "eh.mn"; mo: "eh.mo"; mp: "eh.mp"; mq: "eh.mq"; mr: "eh.mr"; ms: "eh.ms"; mt: "eh.mt"; mu: "eh.mu"; mv: "eh.mv"; mw: "eh.mw"; mx: "eh.mx"; my: "eh.my"; mz: "eh.mz"; na: "eh.na"; nb: "eh.nb"; nc: "eh.nc"; nd: "eh.nd"; ne: "eh.ne"; nf: "eh.nf"; ng: "eh.ng"; nh: "eh.nh"; ni: "eh.ni"; nj: "eh.nj"; nk: "eh.nk"; nl: "eh.nl"; nm: "eh.nm"; nn: "eh.nn"; no: "eh.no"; np: "eh.np"; nq: "eh.nq"; nr: "eh.nr"; ns: "eh.ns"; nt: "eh.nt"; nu: "eh.nu"; nv: "eh.nv"; nw: "eh.nw"; nx: "eh.nx"; ny: "eh.ny"; nz: "eh.nz"; oa: "eh.oa"; ob: "eh.ob"; oc: "eh.oc"; od: "eh.od"; oe: "eh.oe"; of: "eh.of"; og: "eh.og"; oh: "eh.oh"; oi: "eh.oi"; oj: "eh.oj"; ok: "eh.ok"; ol: "eh.ol"; om: "eh.om"; on: "eh.on"; oo: "eh.oo"; op: "eh.op"; oq: "eh.oq"; or: "eh.or"; os: "eh.os"; ot: "eh.ot"; ou: "eh.ou"; ov: "eh.ov"; ow: "eh.ow"; ox: "eh.ox"; oy: "eh.oy"; oz: "eh.oz"; pa: "eh.pa"; pb: "eh.pb"; pc: "eh.pc"; pd: "eh.pd"; pe: "eh.pe"; pf: "eh.pf"; pg: "eh.pg"; ph: "eh.ph"; pi: "eh.pi"; pj: "eh.pj"; pk: "eh.pk"; pl: "eh.pl"; pm: "eh.pm"; pn: "eh.pn"; po: "eh.po"; pp: "eh.pp"; pq: "eh.pq"; pr: "eh.pr"; ps: "eh.ps"; pt: "eh.pt"; pu: "eh.pu"; pv: "eh.pv"; pw: "eh.pw"; px: "eh.px"; py: "eh.py"; pz: "eh.pz"; qa: "eh.qa"; qb: "eh.qb"; qc: "eh.qc"; qd: "eh.qd"; qe: "eh.qe"; qf: "eh.qf"; qg: "eh.qg"; qh: "eh.qh"; qi: "eh.qi"; qj: "eh.qj"; qk: "eh.qk"; ql: "eh.ql"; qm: "eh.qm"; qn: "eh.qn"; qo: "eh.qo"; qp: "eh.qp"; qq: "eh.qq"; qr: "eh.qr"; qs: "eh.qs"; qt: "eh.qt"; qu: "eh.qu"; qv: "eh.qv"; qw: "eh.qw"; qx: "eh.qx"; qy: "eh.qy"; qz: "eh.qz"; ra: "eh.ra"; rb: "eh.rb"; rc: "eh.rc"; rd: "eh.rd"; re: "eh.re"; rf: "eh.rf"; rg: "eh.rg"; rh: "eh.rh"; ri: "eh.ri"; rj: "eh.rj"; rk: "eh.rk"; rl: "eh.rl"; rm: "eh.rm"; rn: "eh.rn"; ro: "eh.ro"; rp: "eh.rp"; rq: "eh.rq"; rr: "eh.rr"; rs: "eh.rs"; rt: "eh.rt"; ru: "eh.ru"; rv: "eh.rv"; rw: "eh.rw"; rx: "eh.rx"; ry: "eh.ry"; rz: "eh.rz"; sa: "eh.sa"; sb: "eh.sb"; sc: "eh.sc"; sd: "eh.sd"; se: "eh.se"; sf: "eh.sf"; sg: "eh.sg"; sh: "eh.sh"; si: "eh.si"; sj: "eh.sj"; sk: "eh.sk"; sl: "eh.sl"; sm: "eh.sm"; sn: "eh.sn"; so: "eh.so"; sp: "eh.sp"; sq: "eh.sq"; sr: "eh.sr"; ss: "eh.ss"; st: "eh.st"; su: "eh.su"; sv: "eh.sv"; sw: "eh.sw"; sx: "eh.sx"; sy: "eh.sy"; sz: "eh.sz"; ta: "eh.ta"; tb: "eh.tb"; tc: "eh.tc"; td: "eh.td"; te: "eh.te"; tf: "eh.tf"; tg: "eh.tg"; th: "eh.th"; ti: "eh.ti"; tj: "eh.tj"; tk: "eh.tk"; tl: "eh.tl"; tm: "eh.tm"; tn: "eh.tn"; to: "eh.to"; tp: "eh.tp"; tq: "eh.tq"; tr: "eh.tr"; ts: "eh.ts"; tt: "eh.tt"; tu: "eh.tu"; tv: "eh.tv"; tw: "eh.tw"; tx: "eh.tx"; ty: "eh.ty"; tz: "eh.tz"; ua: "eh.ua"; ub: "eh.ub"; uc: "eh.uc"; ud: "eh.ud"; ue: "eh.ue"; uf: "eh.uf"; ug: "eh.ug"; uh: "eh.uh"; ui: "eh.ui"; uj: "eh.uj"; uk: "eh.uk"; ul: "eh.ul"; um: "eh.um"; un: "eh.un"; uo: "eh.uo"; up: "eh.up"; uq: "eh.uq"; ur: "eh.ur"; us: "eh.us"; ut: "eh.ut"; uu: "eh.uu"; uv: "eh.uv"; uw: "eh.uw"; ux: "eh.ux"; uy: "eh.uy"; uz: "eh.uz"; va: "eh.va"; vb: "eh.vb"; vc: "eh.vc"; vd: "eh.vd"; ve: "eh.ve"; vf: "eh.vf"; vg: "eh.vg"; vh: "eh.vh"; vi: "eh.vi"; vj: "eh.vj"; vk: "eh.vk"; vl: "eh.vl"; vm: "eh.vm"; vn: "eh.vn"; vo: "eh.vo"; vp: "eh.vp"; vq: "eh.vq"; vr: "eh.vr"; vs: "eh.vs"; vt: "eh.vt"; vu: "eh.vu"; vv: "eh.vv"; vw: "eh.vw"; vx: "eh.vx"; vy: "eh.vy"; vz: "eh.vz"; wa: "eh.wa"; wb: "eh.wb"; wc: "eh.wc"; wd: "eh.wd"; we: "eh.we"; wf: "eh.wf"; wg: "eh.wg"; wh: "eh.wh"; wi: "eh.wi"; wj: "eh.wj"; wk: "eh.wk"; wl: "eh.wl"; wm: "eh.wm"; wn: "eh.wn"; wo: "eh.wo"; wp: "eh.wp"; wq: "eh.wq"; wr: "eh.wr"; ws: "eh.ws"; wt: "eh.wt"; wu: "eh.wu"; wv: "eh.wv"; ww: "eh.ww"; wx: "eh.wx"; wy: "eh.wy"; wz: "eh.wz"; xa: "eh.xa"; xb: "eh.xb"; xc: "eh.xc"; xd: "eh.xd"; xe: "eh.xe"; xf: "eh.xf"; xg: "eh.xg"; xh: "eh.xh"; xi: "eh.xi"; xj: "eh.xj"; xk: "eh.xk"; xl: "eh.xl"; xm: "eh.xm"; xn: "eh.xn"; xo: "eh.xo"; xp: "eh.xp"; xq: "eh.xq"; xr: "eh.xr"; xs: "eh.xs"; xt: "eh.xt"; xu: "eh.xu"; xv: "eh.xv"; xw: "eh.xw"; xx: "eh.xx"; xy: "eh.xy"; xz: "eh.xz"; ya: "eh.ya"; yb: "eh.yb"; yc: "eh.yc"; yd: "eh.yd"; ye: "eh.ye"; yf: "eh.yf"; yg: "eh.yg"; yh: "eh.yh"; yi: "eh.yi"; yj: "eh.yj"; yk: "eh.yk"; yl: "eh.yl"; ym: "eh.ym"; yn: "eh.yn"; yo: "eh.yo"; yp: "eh.yp"; yq: "eh.yq"; yr: "eh.yr"; ys: "eh.ys"; yt: "eh.yt"; yu: "eh.yu"; yv: "eh.yv"; yw: "eh.yw"; yx: "eh.yx"; yy: "eh.yy"; yz: "eh.yz"; za: "eh.za"; zb: "eh.zb"; zc: "eh.zc"; zd: "eh.zd"; ze: "eh.ze"; zf: "eh.zf"; zg: "eh.zg"; zh: "eh.zh"; zi: "eh.zi"; zj: "eh.zj"; zk: "eh.zk"; zl: "eh.zl"; zm: "eh.zm"; zn: "eh.zn"; zo: "eh.zo"; zp: "eh.zp"; zq: "eh.zq"; zr: "eh.zr"; zs: "eh.zs"; zt: "eh.zt"; zu: "eh.zu"; zv: "eh.zv"; zw: "eh.zw"; zx: "eh.zx"; zy: "eh.zy"; zz: "eh.zz"; }; ei: { aa: "ei.aa"; ab: "ei.ab"; ac: "ei.ac"; ad: "ei.ad"; ae: "ei.ae"; af: "ei.af"; ag: "ei.ag"; ah: "ei.ah"; ai: "ei.ai"; aj: "ei.aj"; ak: "ei.ak"; al: "ei.al"; am: "ei.am"; an: "ei.an"; ao: "ei.ao"; ap: "ei.ap"; aq: "ei.aq"; ar: "ei.ar"; as: "ei.as"; at: "ei.at"; au: "ei.au"; av: "ei.av"; aw: "ei.aw"; ax: "ei.ax"; ay: "ei.ay"; az: "ei.az"; ba: "ei.ba"; bb: "ei.bb"; bc: "ei.bc"; bd: "ei.bd"; be: "ei.be"; bf: "ei.bf"; bg: "ei.bg"; bh: "ei.bh"; bi: "ei.bi"; bj: "ei.bj"; bk: "ei.bk"; bl: "ei.bl"; bm: "ei.bm"; bn: "ei.bn"; bo: "ei.bo"; bp: "ei.bp"; bq: "ei.bq"; br: "ei.br"; bs: "ei.bs"; bt: "ei.bt"; bu: "ei.bu"; bv: "ei.bv"; bw: "ei.bw"; bx: "ei.bx"; by: "ei.by"; bz: "ei.bz"; ca: "ei.ca"; cb: "ei.cb"; cc: "ei.cc"; cd: "ei.cd"; ce: "ei.ce"; cf: "ei.cf"; cg: "ei.cg"; ch: "ei.ch"; ci: "ei.ci"; cj: "ei.cj"; ck: "ei.ck"; cl: "ei.cl"; cm: "ei.cm"; cn: "ei.cn"; co: "ei.co"; cp: "ei.cp"; cq: "ei.cq"; cr: "ei.cr"; cs: "ei.cs"; ct: "ei.ct"; cu: "ei.cu"; cv: "ei.cv"; cw: "ei.cw"; cx: "ei.cx"; cy: "ei.cy"; cz: "ei.cz"; da: "ei.da"; db: "ei.db"; dc: "ei.dc"; dd: "ei.dd"; de: "ei.de"; df: "ei.df"; dg: "ei.dg"; dh: "ei.dh"; di: "ei.di"; dj: "ei.dj"; dk: "ei.dk"; dl: "ei.dl"; dm: "ei.dm"; dn: "ei.dn"; do: "ei.do"; dp: "ei.dp"; dq: "ei.dq"; dr: "ei.dr"; ds: "ei.ds"; dt: "ei.dt"; du: "ei.du"; dv: "ei.dv"; dw: "ei.dw"; dx: "ei.dx"; dy: "ei.dy"; dz: "ei.dz"; ea: "ei.ea"; eb: "ei.eb"; ec: "ei.ec"; ed: "ei.ed"; ee: "ei.ee"; ef: "ei.ef"; eg: "ei.eg"; eh: "ei.eh"; ei: "ei.ei"; ej: "ei.ej"; ek: "ei.ek"; el: "ei.el"; em: "ei.em"; en: "ei.en"; eo: "ei.eo"; ep: "ei.ep"; eq: "ei.eq"; er: "ei.er"; es: "ei.es"; et: "ei.et"; eu: "ei.eu"; ev: "ei.ev"; ew: "ei.ew"; ex: "ei.ex"; ey: "ei.ey"; ez: "ei.ez"; fa: "ei.fa"; fb: "ei.fb"; fc: "ei.fc"; fd: "ei.fd"; fe: "ei.fe"; ff: "ei.ff"; fg: "ei.fg"; fh: "ei.fh"; fi: "ei.fi"; fj: "ei.fj"; fk: "ei.fk"; fl: "ei.fl"; fm: "ei.fm"; fn: "ei.fn"; fo: "ei.fo"; fp: "ei.fp"; fq: "ei.fq"; fr: "ei.fr"; fs: "ei.fs"; ft: "ei.ft"; fu: "ei.fu"; fv: "ei.fv"; fw: "ei.fw"; fx: "ei.fx"; fy: "ei.fy"; fz: "ei.fz"; ga: "ei.ga"; gb: "ei.gb"; gc: "ei.gc"; gd: "ei.gd"; ge: "ei.ge"; gf: "ei.gf"; gg: "ei.gg"; gh: "ei.gh"; gi: "ei.gi"; gj: "ei.gj"; gk: "ei.gk"; gl: "ei.gl"; gm: "ei.gm"; gn: "ei.gn"; go: "ei.go"; gp: "ei.gp"; gq: "ei.gq"; gr: "ei.gr"; gs: "ei.gs"; gt: "ei.gt"; gu: "ei.gu"; gv: "ei.gv"; gw: "ei.gw"; gx: "ei.gx"; gy: "ei.gy"; gz: "ei.gz"; ha: "ei.ha"; hb: "ei.hb"; hc: "ei.hc"; hd: "ei.hd"; he: "ei.he"; hf: "ei.hf"; hg: "ei.hg"; hh: "ei.hh"; hi: "ei.hi"; hj: "ei.hj"; hk: "ei.hk"; hl: "ei.hl"; hm: "ei.hm"; hn: "ei.hn"; ho: "ei.ho"; hp: "ei.hp"; hq: "ei.hq"; hr: "ei.hr"; hs: "ei.hs"; ht: "ei.ht"; hu: "ei.hu"; hv: "ei.hv"; hw: "ei.hw"; hx: "ei.hx"; hy: "ei.hy"; hz: "ei.hz"; ia: "ei.ia"; ib: "ei.ib"; ic: "ei.ic"; id: "ei.id"; ie: "ei.ie"; if: "ei.if"; ig: "ei.ig"; ih: "ei.ih"; ii: "ei.ii"; ij: "ei.ij"; ik: "ei.ik"; il: "ei.il"; im: "ei.im"; in: "ei.in"; io: "ei.io"; ip: "ei.ip"; iq: "ei.iq"; ir: "ei.ir"; is: "ei.is"; it: "ei.it"; iu: "ei.iu"; iv: "ei.iv"; iw: "ei.iw"; ix: "ei.ix"; iy: "ei.iy"; iz: "ei.iz"; ja: "ei.ja"; jb: "ei.jb"; jc: "ei.jc"; jd: "ei.jd"; je: "ei.je"; jf: "ei.jf"; jg: "ei.jg"; jh: "ei.jh"; ji: "ei.ji"; jj: "ei.jj"; jk: "ei.jk"; jl: "ei.jl"; jm: "ei.jm"; jn: "ei.jn"; jo: "ei.jo"; jp: "ei.jp"; jq: "ei.jq"; jr: "ei.jr"; js: "ei.js"; jt: "ei.jt"; ju: "ei.ju"; jv: "ei.jv"; jw: "ei.jw"; jx: "ei.jx"; jy: "ei.jy"; jz: "ei.jz"; ka: "ei.ka"; kb: "ei.kb"; kc: "ei.kc"; kd: "ei.kd"; ke: "ei.ke"; kf: "ei.kf"; kg: "ei.kg"; kh: "ei.kh"; ki: "ei.ki"; kj: "ei.kj"; kk: "ei.kk"; kl: "ei.kl"; km: "ei.km"; kn: "ei.kn"; ko: "ei.ko"; kp: "ei.kp"; kq: "ei.kq"; kr: "ei.kr"; ks: "ei.ks"; kt: "ei.kt"; ku: "ei.ku"; kv: "ei.kv"; kw: "ei.kw"; kx: "ei.kx"; ky: "ei.ky"; kz: "ei.kz"; la: "ei.la"; lb: "ei.lb"; lc: "ei.lc"; ld: "ei.ld"; le: "ei.le"; lf: "ei.lf"; lg: "ei.lg"; lh: "ei.lh"; li: "ei.li"; lj: "ei.lj"; lk: "ei.lk"; ll: "ei.ll"; lm: "ei.lm"; ln: "ei.ln"; lo: "ei.lo"; lp: "ei.lp"; lq: "ei.lq"; lr: "ei.lr"; ls: "ei.ls"; lt: "ei.lt"; lu: "ei.lu"; lv: "ei.lv"; lw: "ei.lw"; lx: "ei.lx"; ly: "ei.ly"; lz: "ei.lz"; ma: "ei.ma"; mb: "ei.mb"; mc: "ei.mc"; md: "ei.md"; me: "ei.me"; mf: "ei.mf"; mg: "ei.mg"; mh: "ei.mh"; mi: "ei.mi"; mj: "ei.mj"; mk: "ei.mk"; ml: "ei.ml"; mm: "ei.mm"; mn: "ei.mn"; mo: "ei.mo"; mp: "ei.mp"; mq: "ei.mq"; mr: "ei.mr"; ms: "ei.ms"; mt: "ei.mt"; mu: "ei.mu"; mv: "ei.mv"; mw: "ei.mw"; mx: "ei.mx"; my: "ei.my"; mz: "ei.mz"; na: "ei.na"; nb: "ei.nb"; nc: "ei.nc"; nd: "ei.nd"; ne: "ei.ne"; nf: "ei.nf"; ng: "ei.ng"; nh: "ei.nh"; ni: "ei.ni"; nj: "ei.nj"; nk: "ei.nk"; nl: "ei.nl"; nm: "ei.nm"; nn: "ei.nn"; no: "ei.no"; np: "ei.np"; nq: "ei.nq"; nr: "ei.nr"; ns: "ei.ns"; nt: "ei.nt"; nu: "ei.nu"; nv: "ei.nv"; nw: "ei.nw"; nx: "ei.nx"; ny: "ei.ny"; nz: "ei.nz"; oa: "ei.oa"; ob: "ei.ob"; oc: "ei.oc"; od: "ei.od"; oe: "ei.oe"; of: "ei.of"; og: "ei.og"; oh: "ei.oh"; oi: "ei.oi"; oj: "ei.oj"; ok: "ei.ok"; ol: "ei.ol"; om: "ei.om"; on: "ei.on"; oo: "ei.oo"; op: "ei.op"; oq: "ei.oq"; or: "ei.or"; os: "ei.os"; ot: "ei.ot"; ou: "ei.ou"; ov: "ei.ov"; ow: "ei.ow"; ox: "ei.ox"; oy: "ei.oy"; oz: "ei.oz"; pa: "ei.pa"; pb: "ei.pb"; pc: "ei.pc"; pd: "ei.pd"; pe: "ei.pe"; pf: "ei.pf"; pg: "ei.pg"; ph: "ei.ph"; pi: "ei.pi"; pj: "ei.pj"; pk: "ei.pk"; pl: "ei.pl"; pm: "ei.pm"; pn: "ei.pn"; po: "ei.po"; pp: "ei.pp"; pq: "ei.pq"; pr: "ei.pr"; ps: "ei.ps"; pt: "ei.pt"; pu: "ei.pu"; pv: "ei.pv"; pw: "ei.pw"; px: "ei.px"; py: "ei.py"; pz: "ei.pz"; qa: "ei.qa"; qb: "ei.qb"; qc: "ei.qc"; qd: "ei.qd"; qe: "ei.qe"; qf: "ei.qf"; qg: "ei.qg"; qh: "ei.qh"; qi: "ei.qi"; qj: "ei.qj"; qk: "ei.qk"; ql: "ei.ql"; qm: "ei.qm"; qn: "ei.qn"; qo: "ei.qo"; qp: "ei.qp"; qq: "ei.qq"; qr: "ei.qr"; qs: "ei.qs"; qt: "ei.qt"; qu: "ei.qu"; qv: "ei.qv"; qw: "ei.qw"; qx: "ei.qx"; qy: "ei.qy"; qz: "ei.qz"; ra: "ei.ra"; rb: "ei.rb"; rc: "ei.rc"; rd: "ei.rd"; re: "ei.re"; rf: "ei.rf"; rg: "ei.rg"; rh: "ei.rh"; ri: "ei.ri"; rj: "ei.rj"; rk: "ei.rk"; rl: "ei.rl"; rm: "ei.rm"; rn: "ei.rn"; ro: "ei.ro"; rp: "ei.rp"; rq: "ei.rq"; rr: "ei.rr"; rs: "ei.rs"; rt: "ei.rt"; ru: "ei.ru"; rv: "ei.rv"; rw: "ei.rw"; rx: "ei.rx"; ry: "ei.ry"; rz: "ei.rz"; sa: "ei.sa"; sb: "ei.sb"; sc: "ei.sc"; sd: "ei.sd"; se: "ei.se"; sf: "ei.sf"; sg: "ei.sg"; sh: "ei.sh"; si: "ei.si"; sj: "ei.sj"; sk: "ei.sk"; sl: "ei.sl"; sm: "ei.sm"; sn: "ei.sn"; so: "ei.so"; sp: "ei.sp"; sq: "ei.sq"; sr: "ei.sr"; ss: "ei.ss"; st: "ei.st"; su: "ei.su"; sv: "ei.sv"; sw: "ei.sw"; sx: "ei.sx"; sy: "ei.sy"; sz: "ei.sz"; ta: "ei.ta"; tb: "ei.tb"; tc: "ei.tc"; td: "ei.td"; te: "ei.te"; tf: "ei.tf"; tg: "ei.tg"; th: "ei.th"; ti: "ei.ti"; tj: "ei.tj"; tk: "ei.tk"; tl: "ei.tl"; tm: "ei.tm"; tn: "ei.tn"; to: "ei.to"; tp: "ei.tp"; tq: "ei.tq"; tr: "ei.tr"; ts: "ei.ts"; tt: "ei.tt"; tu: "ei.tu"; tv: "ei.tv"; tw: "ei.tw"; tx: "ei.tx"; ty: "ei.ty"; tz: "ei.tz"; ua: "ei.ua"; ub: "ei.ub"; uc: "ei.uc"; ud: "ei.ud"; ue: "ei.ue"; uf: "ei.uf"; ug: "ei.ug"; uh: "ei.uh"; ui: "ei.ui"; uj: "ei.uj"; uk: "ei.uk"; ul: "ei.ul"; um: "ei.um"; un: "ei.un"; uo: "ei.uo"; up: "ei.up"; uq: "ei.uq"; ur: "ei.ur"; us: "ei.us"; ut: "ei.ut"; uu: "ei.uu"; uv: "ei.uv"; uw: "ei.uw"; ux: "ei.ux"; uy: "ei.uy"; uz: "ei.uz"; va: "ei.va"; vb: "ei.vb"; vc: "ei.vc"; vd: "ei.vd"; ve: "ei.ve"; vf: "ei.vf"; vg: "ei.vg"; vh: "ei.vh"; vi: "ei.vi"; vj: "ei.vj"; vk: "ei.vk"; vl: "ei.vl"; vm: "ei.vm"; vn: "ei.vn"; vo: "ei.vo"; vp: "ei.vp"; vq: "ei.vq"; vr: "ei.vr"; vs: "ei.vs"; vt: "ei.vt"; vu: "ei.vu"; vv: "ei.vv"; vw: "ei.vw"; vx: "ei.vx"; vy: "ei.vy"; vz: "ei.vz"; wa: "ei.wa"; wb: "ei.wb"; wc: "ei.wc"; wd: "ei.wd"; we: "ei.we"; wf: "ei.wf"; wg: "ei.wg"; wh: "ei.wh"; wi: "ei.wi"; wj: "ei.wj"; wk: "ei.wk"; wl: "ei.wl"; wm: "ei.wm"; wn: "ei.wn"; wo: "ei.wo"; wp: "ei.wp"; wq: "ei.wq"; wr: "ei.wr"; ws: "ei.ws"; wt: "ei.wt"; wu: "ei.wu"; wv: "ei.wv"; ww: "ei.ww"; wx: "ei.wx"; wy: "ei.wy"; wz: "ei.wz"; xa: "ei.xa"; xb: "ei.xb"; xc: "ei.xc"; xd: "ei.xd"; xe: "ei.xe"; xf: "ei.xf"; xg: "ei.xg"; xh: "ei.xh"; xi: "ei.xi"; xj: "ei.xj"; xk: "ei.xk"; xl: "ei.xl"; xm: "ei.xm"; xn: "ei.xn"; xo: "ei.xo"; xp: "ei.xp"; xq: "ei.xq"; xr: "ei.xr"; xs: "ei.xs"; xt: "ei.xt"; xu: "ei.xu"; xv: "ei.xv"; xw: "ei.xw"; xx: "ei.xx"; xy: "ei.xy"; xz: "ei.xz"; ya: "ei.ya"; yb: "ei.yb"; yc: "ei.yc"; yd: "ei.yd"; ye: "ei.ye"; yf: "ei.yf"; yg: "ei.yg"; yh: "ei.yh"; yi: "ei.yi"; yj: "ei.yj"; yk: "ei.yk"; yl: "ei.yl"; ym: "ei.ym"; yn: "ei.yn"; yo: "ei.yo"; yp: "ei.yp"; yq: "ei.yq"; yr: "ei.yr"; ys: "ei.ys"; yt: "ei.yt"; yu: "ei.yu"; yv: "ei.yv"; yw: "ei.yw"; yx: "ei.yx"; yy: "ei.yy"; yz: "ei.yz"; za: "ei.za"; zb: "ei.zb"; zc: "ei.zc"; zd: "ei.zd"; ze: "ei.ze"; zf: "ei.zf"; zg: "ei.zg"; zh: "ei.zh"; zi: "ei.zi"; zj: "ei.zj"; zk: "ei.zk"; zl: "ei.zl"; zm: "ei.zm"; zn: "ei.zn"; zo: "ei.zo"; zp: "ei.zp"; zq: "ei.zq"; zr: "ei.zr"; zs: "ei.zs"; zt: "ei.zt"; zu: "ei.zu"; zv: "ei.zv"; zw: "ei.zw"; zx: "ei.zx"; zy: "ei.zy"; zz: "ei.zz"; }; ej: { aa: "ej.aa"; ab: "ej.ab"; ac: "ej.ac"; ad: "ej.ad"; ae: "ej.ae"; af: "ej.af"; ag: "ej.ag"; ah: "ej.ah"; ai: "ej.ai"; aj: "ej.aj"; ak: "ej.ak"; al: "ej.al"; am: "ej.am"; an: "ej.an"; ao: "ej.ao"; ap: "ej.ap"; aq: "ej.aq"; ar: "ej.ar"; as: "ej.as"; at: "ej.at"; au: "ej.au"; av: "ej.av"; aw: "ej.aw"; ax: "ej.ax"; ay: "ej.ay"; az: "ej.az"; ba: "ej.ba"; bb: "ej.bb"; bc: "ej.bc"; bd: "ej.bd"; be: "ej.be"; bf: "ej.bf"; bg: "ej.bg"; bh: "ej.bh"; bi: "ej.bi"; bj: "ej.bj"; bk: "ej.bk"; bl: "ej.bl"; bm: "ej.bm"; bn: "ej.bn"; bo: "ej.bo"; bp: "ej.bp"; bq: "ej.bq"; br: "ej.br"; bs: "ej.bs"; bt: "ej.bt"; bu: "ej.bu"; bv: "ej.bv"; bw: "ej.bw"; bx: "ej.bx"; by: "ej.by"; bz: "ej.bz"; ca: "ej.ca"; cb: "ej.cb"; cc: "ej.cc"; cd: "ej.cd"; ce: "ej.ce"; cf: "ej.cf"; cg: "ej.cg"; ch: "ej.ch"; ci: "ej.ci"; cj: "ej.cj"; ck: "ej.ck"; cl: "ej.cl"; cm: "ej.cm"; cn: "ej.cn"; co: "ej.co"; cp: "ej.cp"; cq: "ej.cq"; cr: "ej.cr"; cs: "ej.cs"; ct: "ej.ct"; cu: "ej.cu"; cv: "ej.cv"; cw: "ej.cw"; cx: "ej.cx"; cy: "ej.cy"; cz: "ej.cz"; da: "ej.da"; db: "ej.db"; dc: "ej.dc"; dd: "ej.dd"; de: "ej.de"; df: "ej.df"; dg: "ej.dg"; dh: "ej.dh"; di: "ej.di"; dj: "ej.dj"; dk: "ej.dk"; dl: "ej.dl"; dm: "ej.dm"; dn: "ej.dn"; do: "ej.do"; dp: "ej.dp"; dq: "ej.dq"; dr: "ej.dr"; ds: "ej.ds"; dt: "ej.dt"; du: "ej.du"; dv: "ej.dv"; dw: "ej.dw"; dx: "ej.dx"; dy: "ej.dy"; dz: "ej.dz"; ea: "ej.ea"; eb: "ej.eb"; ec: "ej.ec"; ed: "ej.ed"; ee: "ej.ee"; ef: "ej.ef"; eg: "ej.eg"; eh: "ej.eh"; ei: "ej.ei"; ej: "ej.ej"; ek: "ej.ek"; el: "ej.el"; em: "ej.em"; en: "ej.en"; eo: "ej.eo"; ep: "ej.ep"; eq: "ej.eq"; er: "ej.er"; es: "ej.es"; et: "ej.et"; eu: "ej.eu"; ev: "ej.ev"; ew: "ej.ew"; ex: "ej.ex"; ey: "ej.ey"; ez: "ej.ez"; fa: "ej.fa"; fb: "ej.fb"; fc: "ej.fc"; fd: "ej.fd"; fe: "ej.fe"; ff: "ej.ff"; fg: "ej.fg"; fh: "ej.fh"; fi: "ej.fi"; fj: "ej.fj"; fk: "ej.fk"; fl: "ej.fl"; fm: "ej.fm"; fn: "ej.fn"; fo: "ej.fo"; fp: "ej.fp"; fq: "ej.fq"; fr: "ej.fr"; fs: "ej.fs"; ft: "ej.ft"; fu: "ej.fu"; fv: "ej.fv"; fw: "ej.fw"; fx: "ej.fx"; fy: "ej.fy"; fz: "ej.fz"; ga: "ej.ga"; gb: "ej.gb"; gc: "ej.gc"; gd: "ej.gd"; ge: "ej.ge"; gf: "ej.gf"; gg: "ej.gg"; gh: "ej.gh"; gi: "ej.gi"; gj: "ej.gj"; gk: "ej.gk"; gl: "ej.gl"; gm: "ej.gm"; gn: "ej.gn"; go: "ej.go"; gp: "ej.gp"; gq: "ej.gq"; gr: "ej.gr"; gs: "ej.gs"; gt: "ej.gt"; gu: "ej.gu"; gv: "ej.gv"; gw: "ej.gw"; gx: "ej.gx"; gy: "ej.gy"; gz: "ej.gz"; ha: "ej.ha"; hb: "ej.hb"; hc: "ej.hc"; hd: "ej.hd"; he: "ej.he"; hf: "ej.hf"; hg: "ej.hg"; hh: "ej.hh"; hi: "ej.hi"; hj: "ej.hj"; hk: "ej.hk"; hl: "ej.hl"; hm: "ej.hm"; hn: "ej.hn"; ho: "ej.ho"; hp: "ej.hp"; hq: "ej.hq"; hr: "ej.hr"; hs: "ej.hs"; ht: "ej.ht"; hu: "ej.hu"; hv: "ej.hv"; hw: "ej.hw"; hx: "ej.hx"; hy: "ej.hy"; hz: "ej.hz"; ia: "ej.ia"; ib: "ej.ib"; ic: "ej.ic"; id: "ej.id"; ie: "ej.ie"; if: "ej.if"; ig: "ej.ig"; ih: "ej.ih"; ii: "ej.ii"; ij: "ej.ij"; ik: "ej.ik"; il: "ej.il"; im: "ej.im"; in: "ej.in"; io: "ej.io"; ip: "ej.ip"; iq: "ej.iq"; ir: "ej.ir"; is: "ej.is"; it: "ej.it"; iu: "ej.iu"; iv: "ej.iv"; iw: "ej.iw"; ix: "ej.ix"; iy: "ej.iy"; iz: "ej.iz"; ja: "ej.ja"; jb: "ej.jb"; jc: "ej.jc"; jd: "ej.jd"; je: "ej.je"; jf: "ej.jf"; jg: "ej.jg"; jh: "ej.jh"; ji: "ej.ji"; jj: "ej.jj"; jk: "ej.jk"; jl: "ej.jl"; jm: "ej.jm"; jn: "ej.jn"; jo: "ej.jo"; jp: "ej.jp"; jq: "ej.jq"; jr: "ej.jr"; js: "ej.js"; jt: "ej.jt"; ju: "ej.ju"; jv: "ej.jv"; jw: "ej.jw"; jx: "ej.jx"; jy: "ej.jy"; jz: "ej.jz"; ka: "ej.ka"; kb: "ej.kb"; kc: "ej.kc"; kd: "ej.kd"; ke: "ej.ke"; kf: "ej.kf"; kg: "ej.kg"; kh: "ej.kh"; ki: "ej.ki"; kj: "ej.kj"; kk: "ej.kk"; kl: "ej.kl"; km: "ej.km"; kn: "ej.kn"; ko: "ej.ko"; kp: "ej.kp"; kq: "ej.kq"; kr: "ej.kr"; ks: "ej.ks"; kt: "ej.kt"; ku: "ej.ku"; kv: "ej.kv"; kw: "ej.kw"; kx: "ej.kx"; ky: "ej.ky"; kz: "ej.kz"; la: "ej.la"; lb: "ej.lb"; lc: "ej.lc"; ld: "ej.ld"; le: "ej.le"; lf: "ej.lf"; lg: "ej.lg"; lh: "ej.lh"; li: "ej.li"; lj: "ej.lj"; lk: "ej.lk"; ll: "ej.ll"; lm: "ej.lm"; ln: "ej.ln"; lo: "ej.lo"; lp: "ej.lp"; lq: "ej.lq"; lr: "ej.lr"; ls: "ej.ls"; lt: "ej.lt"; lu: "ej.lu"; lv: "ej.lv"; lw: "ej.lw"; lx: "ej.lx"; ly: "ej.ly"; lz: "ej.lz"; ma: "ej.ma"; mb: "ej.mb"; mc: "ej.mc"; md: "ej.md"; me: "ej.me"; mf: "ej.mf"; mg: "ej.mg"; mh: "ej.mh"; mi: "ej.mi"; mj: "ej.mj"; mk: "ej.mk"; ml: "ej.ml"; mm: "ej.mm"; mn: "ej.mn"; mo: "ej.mo"; mp: "ej.mp"; mq: "ej.mq"; mr: "ej.mr"; ms: "ej.ms"; mt: "ej.mt"; mu: "ej.mu"; mv: "ej.mv"; mw: "ej.mw"; mx: "ej.mx"; my: "ej.my"; mz: "ej.mz"; na: "ej.na"; nb: "ej.nb"; nc: "ej.nc"; nd: "ej.nd"; ne: "ej.ne"; nf: "ej.nf"; ng: "ej.ng"; nh: "ej.nh"; ni: "ej.ni"; nj: "ej.nj"; nk: "ej.nk"; nl: "ej.nl"; nm: "ej.nm"; nn: "ej.nn"; no: "ej.no"; np: "ej.np"; nq: "ej.nq"; nr: "ej.nr"; ns: "ej.ns"; nt: "ej.nt"; nu: "ej.nu"; nv: "ej.nv"; nw: "ej.nw"; nx: "ej.nx"; ny: "ej.ny"; nz: "ej.nz"; oa: "ej.oa"; ob: "ej.ob"; oc: "ej.oc"; od: "ej.od"; oe: "ej.oe"; of: "ej.of"; og: "ej.og"; oh: "ej.oh"; oi: "ej.oi"; oj: "ej.oj"; ok: "ej.ok"; ol: "ej.ol"; om: "ej.om"; on: "ej.on"; oo: "ej.oo"; op: "ej.op"; oq: "ej.oq"; or: "ej.or"; os: "ej.os"; ot: "ej.ot"; ou: "ej.ou"; ov: "ej.ov"; ow: "ej.ow"; ox: "ej.ox"; oy: "ej.oy"; oz: "ej.oz"; pa: "ej.pa"; pb: "ej.pb"; pc: "ej.pc"; pd: "ej.pd"; pe: "ej.pe"; pf: "ej.pf"; pg: "ej.pg"; ph: "ej.ph"; pi: "ej.pi"; pj: "ej.pj"; pk: "ej.pk"; pl: "ej.pl"; pm: "ej.pm"; pn: "ej.pn"; po: "ej.po"; pp: "ej.pp"; pq: "ej.pq"; pr: "ej.pr"; ps: "ej.ps"; pt: "ej.pt"; pu: "ej.pu"; pv: "ej.pv"; pw: "ej.pw"; px: "ej.px"; py: "ej.py"; pz: "ej.pz"; qa: "ej.qa"; qb: "ej.qb"; qc: "ej.qc"; qd: "ej.qd"; qe: "ej.qe"; qf: "ej.qf"; qg: "ej.qg"; qh: "ej.qh"; qi: "ej.qi"; qj: "ej.qj"; qk: "ej.qk"; ql: "ej.ql"; qm: "ej.qm"; qn: "ej.qn"; qo: "ej.qo"; qp: "ej.qp"; qq: "ej.qq"; qr: "ej.qr"; qs: "ej.qs"; qt: "ej.qt"; qu: "ej.qu"; qv: "ej.qv"; qw: "ej.qw"; qx: "ej.qx"; qy: "ej.qy"; qz: "ej.qz"; ra: "ej.ra"; rb: "ej.rb"; rc: "ej.rc"; rd: "ej.rd"; re: "ej.re"; rf: "ej.rf"; rg: "ej.rg"; rh: "ej.rh"; ri: "ej.ri"; rj: "ej.rj"; rk: "ej.rk"; rl: "ej.rl"; rm: "ej.rm"; rn: "ej.rn"; ro: "ej.ro"; rp: "ej.rp"; rq: "ej.rq"; rr: "ej.rr"; rs: "ej.rs"; rt: "ej.rt"; ru: "ej.ru"; rv: "ej.rv"; rw: "ej.rw"; rx: "ej.rx"; ry: "ej.ry"; rz: "ej.rz"; sa: "ej.sa"; sb: "ej.sb"; sc: "ej.sc"; sd: "ej.sd"; se: "ej.se"; sf: "ej.sf"; sg: "ej.sg"; sh: "ej.sh"; si: "ej.si"; sj: "ej.sj"; sk: "ej.sk"; sl: "ej.sl"; sm: "ej.sm"; sn: "ej.sn"; so: "ej.so"; sp: "ej.sp"; sq: "ej.sq"; sr: "ej.sr"; ss: "ej.ss"; st: "ej.st"; su: "ej.su"; sv: "ej.sv"; sw: "ej.sw"; sx: "ej.sx"; sy: "ej.sy"; sz: "ej.sz"; ta: "ej.ta"; tb: "ej.tb"; tc: "ej.tc"; td: "ej.td"; te: "ej.te"; tf: "ej.tf"; tg: "ej.tg"; th: "ej.th"; ti: "ej.ti"; tj: "ej.tj"; tk: "ej.tk"; tl: "ej.tl"; tm: "ej.tm"; tn: "ej.tn"; to: "ej.to"; tp: "ej.tp"; tq: "ej.tq"; tr: "ej.tr"; ts: "ej.ts"; tt: "ej.tt"; tu: "ej.tu"; tv: "ej.tv"; tw: "ej.tw"; tx: "ej.tx"; ty: "ej.ty"; tz: "ej.tz"; ua: "ej.ua"; ub: "ej.ub"; uc: "ej.uc"; ud: "ej.ud"; ue: "ej.ue"; uf: "ej.uf"; ug: "ej.ug"; uh: "ej.uh"; ui: "ej.ui"; uj: "ej.uj"; uk: "ej.uk"; ul: "ej.ul"; um: "ej.um"; un: "ej.un"; uo: "ej.uo"; up: "ej.up"; uq: "ej.uq"; ur: "ej.ur"; us: "ej.us"; ut: "ej.ut"; uu: "ej.uu"; uv: "ej.uv"; uw: "ej.uw"; ux: "ej.ux"; uy: "ej.uy"; uz: "ej.uz"; va: "ej.va"; vb: "ej.vb"; vc: "ej.vc"; vd: "ej.vd"; ve: "ej.ve"; vf: "ej.vf"; vg: "ej.vg"; vh: "ej.vh"; vi: "ej.vi"; vj: "ej.vj"; vk: "ej.vk"; vl: "ej.vl"; vm: "ej.vm"; vn: "ej.vn"; vo: "ej.vo"; vp: "ej.vp"; vq: "ej.vq"; vr: "ej.vr"; vs: "ej.vs"; vt: "ej.vt"; vu: "ej.vu"; vv: "ej.vv"; vw: "ej.vw"; vx: "ej.vx"; vy: "ej.vy"; vz: "ej.vz"; wa: "ej.wa"; wb: "ej.wb"; wc: "ej.wc"; wd: "ej.wd"; we: "ej.we"; wf: "ej.wf"; wg: "ej.wg"; wh: "ej.wh"; wi: "ej.wi"; wj: "ej.wj"; wk: "ej.wk"; wl: "ej.wl"; wm: "ej.wm"; wn: "ej.wn"; wo: "ej.wo"; wp: "ej.wp"; wq: "ej.wq"; wr: "ej.wr"; ws: "ej.ws"; wt: "ej.wt"; wu: "ej.wu"; wv: "ej.wv"; ww: "ej.ww"; wx: "ej.wx"; wy: "ej.wy"; wz: "ej.wz"; xa: "ej.xa"; xb: "ej.xb"; xc: "ej.xc"; xd: "ej.xd"; xe: "ej.xe"; xf: "ej.xf"; xg: "ej.xg"; xh: "ej.xh"; xi: "ej.xi"; xj: "ej.xj"; xk: "ej.xk"; xl: "ej.xl"; xm: "ej.xm"; xn: "ej.xn"; xo: "ej.xo"; xp: "ej.xp"; xq: "ej.xq"; xr: "ej.xr"; xs: "ej.xs"; xt: "ej.xt"; xu: "ej.xu"; xv: "ej.xv"; xw: "ej.xw"; xx: "ej.xx"; xy: "ej.xy"; xz: "ej.xz"; ya: "ej.ya"; yb: "ej.yb"; yc: "ej.yc"; yd: "ej.yd"; ye: "ej.ye"; yf: "ej.yf"; yg: "ej.yg"; yh: "ej.yh"; yi: "ej.yi"; yj: "ej.yj"; yk: "ej.yk"; yl: "ej.yl"; ym: "ej.ym"; yn: "ej.yn"; yo: "ej.yo"; yp: "ej.yp"; yq: "ej.yq"; yr: "ej.yr"; ys: "ej.ys"; yt: "ej.yt"; yu: "ej.yu"; yv: "ej.yv"; yw: "ej.yw"; yx: "ej.yx"; yy: "ej.yy"; yz: "ej.yz"; za: "ej.za"; zb: "ej.zb"; zc: "ej.zc"; zd: "ej.zd"; ze: "ej.ze"; zf: "ej.zf"; zg: "ej.zg"; zh: "ej.zh"; zi: "ej.zi"; zj: "ej.zj"; zk: "ej.zk"; zl: "ej.zl"; zm: "ej.zm"; zn: "ej.zn"; zo: "ej.zo"; zp: "ej.zp"; zq: "ej.zq"; zr: "ej.zr"; zs: "ej.zs"; zt: "ej.zt"; zu: "ej.zu"; zv: "ej.zv"; zw: "ej.zw"; zx: "ej.zx"; zy: "ej.zy"; zz: "ej.zz"; }; ek: { aa: "ek.aa"; ab: "ek.ab"; ac: "ek.ac"; ad: "ek.ad"; ae: "ek.ae"; af: "ek.af"; ag: "ek.ag"; ah: "ek.ah"; ai: "ek.ai"; aj: "ek.aj"; ak: "ek.ak"; al: "ek.al"; am: "ek.am"; an: "ek.an"; ao: "ek.ao"; ap: "ek.ap"; aq: "ek.aq"; ar: "ek.ar"; as: "ek.as"; at: "ek.at"; au: "ek.au"; av: "ek.av"; aw: "ek.aw"; ax: "ek.ax"; ay: "ek.ay"; az: "ek.az"; ba: "ek.ba"; bb: "ek.bb"; bc: "ek.bc"; bd: "ek.bd"; be: "ek.be"; bf: "ek.bf"; bg: "ek.bg"; bh: "ek.bh"; bi: "ek.bi"; bj: "ek.bj"; bk: "ek.bk"; bl: "ek.bl"; bm: "ek.bm"; bn: "ek.bn"; bo: "ek.bo"; bp: "ek.bp"; bq: "ek.bq"; br: "ek.br"; bs: "ek.bs"; bt: "ek.bt"; bu: "ek.bu"; bv: "ek.bv"; bw: "ek.bw"; bx: "ek.bx"; by: "ek.by"; bz: "ek.bz"; ca: "ek.ca"; cb: "ek.cb"; cc: "ek.cc"; cd: "ek.cd"; ce: "ek.ce"; cf: "ek.cf"; cg: "ek.cg"; ch: "ek.ch"; ci: "ek.ci"; cj: "ek.cj"; ck: "ek.ck"; cl: "ek.cl"; cm: "ek.cm"; cn: "ek.cn"; co: "ek.co"; cp: "ek.cp"; cq: "ek.cq"; cr: "ek.cr"; cs: "ek.cs"; ct: "ek.ct"; cu: "ek.cu"; cv: "ek.cv"; cw: "ek.cw"; cx: "ek.cx"; cy: "ek.cy"; cz: "ek.cz"; da: "ek.da"; db: "ek.db"; dc: "ek.dc"; dd: "ek.dd"; de: "ek.de"; df: "ek.df"; dg: "ek.dg"; dh: "ek.dh"; di: "ek.di"; dj: "ek.dj"; dk: "ek.dk"; dl: "ek.dl"; dm: "ek.dm"; dn: "ek.dn"; do: "ek.do"; dp: "ek.dp"; dq: "ek.dq"; dr: "ek.dr"; ds: "ek.ds"; dt: "ek.dt"; du: "ek.du"; dv: "ek.dv"; dw: "ek.dw"; dx: "ek.dx"; dy: "ek.dy"; dz: "ek.dz"; ea: "ek.ea"; eb: "ek.eb"; ec: "ek.ec"; ed: "ek.ed"; ee: "ek.ee"; ef: "ek.ef"; eg: "ek.eg"; eh: "ek.eh"; ei: "ek.ei"; ej: "ek.ej"; ek: "ek.ek"; el: "ek.el"; em: "ek.em"; en: "ek.en"; eo: "ek.eo"; ep: "ek.ep"; eq: "ek.eq"; er: "ek.er"; es: "ek.es"; et: "ek.et"; eu: "ek.eu"; ev: "ek.ev"; ew: "ek.ew"; ex: "ek.ex"; ey: "ek.ey"; ez: "ek.ez"; fa: "ek.fa"; fb: "ek.fb"; fc: "ek.fc"; fd: "ek.fd"; fe: "ek.fe"; ff: "ek.ff"; fg: "ek.fg"; fh: "ek.fh"; fi: "ek.fi"; fj: "ek.fj"; fk: "ek.fk"; fl: "ek.fl"; fm: "ek.fm"; fn: "ek.fn"; fo: "ek.fo"; fp: "ek.fp"; fq: "ek.fq"; fr: "ek.fr"; fs: "ek.fs"; ft: "ek.ft"; fu: "ek.fu"; fv: "ek.fv"; fw: "ek.fw"; fx: "ek.fx"; fy: "ek.fy"; fz: "ek.fz"; ga: "ek.ga"; gb: "ek.gb"; gc: "ek.gc"; gd: "ek.gd"; ge: "ek.ge"; gf: "ek.gf"; gg: "ek.gg"; gh: "ek.gh"; gi: "ek.gi"; gj: "ek.gj"; gk: "ek.gk"; gl: "ek.gl"; gm: "ek.gm"; gn: "ek.gn"; go: "ek.go"; gp: "ek.gp"; gq: "ek.gq"; gr: "ek.gr"; gs: "ek.gs"; gt: "ek.gt"; gu: "ek.gu"; gv: "ek.gv"; gw: "ek.gw"; gx: "ek.gx"; gy: "ek.gy"; gz: "ek.gz"; ha: "ek.ha"; hb: "ek.hb"; hc: "ek.hc"; hd: "ek.hd"; he: "ek.he"; hf: "ek.hf"; hg: "ek.hg"; hh: "ek.hh"; hi: "ek.hi"; hj: "ek.hj"; hk: "ek.hk"; hl: "ek.hl"; hm: "ek.hm"; hn: "ek.hn"; ho: "ek.ho"; hp: "ek.hp"; hq: "ek.hq"; hr: "ek.hr"; hs: "ek.hs"; ht: "ek.ht"; hu: "ek.hu"; hv: "ek.hv"; hw: "ek.hw"; hx: "ek.hx"; hy: "ek.hy"; hz: "ek.hz"; ia: "ek.ia"; ib: "ek.ib"; ic: "ek.ic"; id: "ek.id"; ie: "ek.ie"; if: "ek.if"; ig: "ek.ig"; ih: "ek.ih"; ii: "ek.ii"; ij: "ek.ij"; ik: "ek.ik"; il: "ek.il"; im: "ek.im"; in: "ek.in"; io: "ek.io"; ip: "ek.ip"; iq: "ek.iq"; ir: "ek.ir"; is: "ek.is"; it: "ek.it"; iu: "ek.iu"; iv: "ek.iv"; iw: "ek.iw"; ix: "ek.ix"; iy: "ek.iy"; iz: "ek.iz"; ja: "ek.ja"; jb: "ek.jb"; jc: "ek.jc"; jd: "ek.jd"; je: "ek.je"; jf: "ek.jf"; jg: "ek.jg"; jh: "ek.jh"; ji: "ek.ji"; jj: "ek.jj"; jk: "ek.jk"; jl: "ek.jl"; jm: "ek.jm"; jn: "ek.jn"; jo: "ek.jo"; jp: "ek.jp"; jq: "ek.jq"; jr: "ek.jr"; js: "ek.js"; jt: "ek.jt"; ju: "ek.ju"; jv: "ek.jv"; jw: "ek.jw"; jx: "ek.jx"; jy: "ek.jy"; jz: "ek.jz"; ka: "ek.ka"; kb: "ek.kb"; kc: "ek.kc"; kd: "ek.kd"; ke: "ek.ke"; kf: "ek.kf"; kg: "ek.kg"; kh: "ek.kh"; ki: "ek.ki"; kj: "ek.kj"; kk: "ek.kk"; kl: "ek.kl"; km: "ek.km"; kn: "ek.kn"; ko: "ek.ko"; kp: "ek.kp"; kq: "ek.kq"; kr: "ek.kr"; ks: "ek.ks"; kt: "ek.kt"; ku: "ek.ku"; kv: "ek.kv"; kw: "ek.kw"; kx: "ek.kx"; ky: "ek.ky"; kz: "ek.kz"; la: "ek.la"; lb: "ek.lb"; lc: "ek.lc"; ld: "ek.ld"; le: "ek.le"; lf: "ek.lf"; lg: "ek.lg"; lh: "ek.lh"; li: "ek.li"; lj: "ek.lj"; lk: "ek.lk"; ll: "ek.ll"; lm: "ek.lm"; ln: "ek.ln"; lo: "ek.lo"; lp: "ek.lp"; lq: "ek.lq"; lr: "ek.lr"; ls: "ek.ls"; lt: "ek.lt"; lu: "ek.lu"; lv: "ek.lv"; lw: "ek.lw"; lx: "ek.lx"; ly: "ek.ly"; lz: "ek.lz"; ma: "ek.ma"; mb: "ek.mb"; mc: "ek.mc"; md: "ek.md"; me: "ek.me"; mf: "ek.mf"; mg: "ek.mg"; mh: "ek.mh"; mi: "ek.mi"; mj: "ek.mj"; mk: "ek.mk"; ml: "ek.ml"; mm: "ek.mm"; mn: "ek.mn"; mo: "ek.mo"; mp: "ek.mp"; mq: "ek.mq"; mr: "ek.mr"; ms: "ek.ms"; mt: "ek.mt"; mu: "ek.mu"; mv: "ek.mv"; mw: "ek.mw"; mx: "ek.mx"; my: "ek.my"; mz: "ek.mz"; na: "ek.na"; nb: "ek.nb"; nc: "ek.nc"; nd: "ek.nd"; ne: "ek.ne"; nf: "ek.nf"; ng: "ek.ng"; nh: "ek.nh"; ni: "ek.ni"; nj: "ek.nj"; nk: "ek.nk"; nl: "ek.nl"; nm: "ek.nm"; nn: "ek.nn"; no: "ek.no"; np: "ek.np"; nq: "ek.nq"; nr: "ek.nr"; ns: "ek.ns"; nt: "ek.nt"; nu: "ek.nu"; nv: "ek.nv"; nw: "ek.nw"; nx: "ek.nx"; ny: "ek.ny"; nz: "ek.nz"; oa: "ek.oa"; ob: "ek.ob"; oc: "ek.oc"; od: "ek.od"; oe: "ek.oe"; of: "ek.of"; og: "ek.og"; oh: "ek.oh"; oi: "ek.oi"; oj: "ek.oj"; ok: "ek.ok"; ol: "ek.ol"; om: "ek.om"; on: "ek.on"; oo: "ek.oo"; op: "ek.op"; oq: "ek.oq"; or: "ek.or"; os: "ek.os"; ot: "ek.ot"; ou: "ek.ou"; ov: "ek.ov"; ow: "ek.ow"; ox: "ek.ox"; oy: "ek.oy"; oz: "ek.oz"; pa: "ek.pa"; pb: "ek.pb"; pc: "ek.pc"; pd: "ek.pd"; pe: "ek.pe"; pf: "ek.pf"; pg: "ek.pg"; ph: "ek.ph"; pi: "ek.pi"; pj: "ek.pj"; pk: "ek.pk"; pl: "ek.pl"; pm: "ek.pm"; pn: "ek.pn"; po: "ek.po"; pp: "ek.pp"; pq: "ek.pq"; pr: "ek.pr"; ps: "ek.ps"; pt: "ek.pt"; pu: "ek.pu"; pv: "ek.pv"; pw: "ek.pw"; px: "ek.px"; py: "ek.py"; pz: "ek.pz"; qa: "ek.qa"; qb: "ek.qb"; qc: "ek.qc"; qd: "ek.qd"; qe: "ek.qe"; qf: "ek.qf"; qg: "ek.qg"; qh: "ek.qh"; qi: "ek.qi"; qj: "ek.qj"; qk: "ek.qk"; ql: "ek.ql"; qm: "ek.qm"; qn: "ek.qn"; qo: "ek.qo"; qp: "ek.qp"; qq: "ek.qq"; qr: "ek.qr"; qs: "ek.qs"; qt: "ek.qt"; qu: "ek.qu"; qv: "ek.qv"; qw: "ek.qw"; qx: "ek.qx"; qy: "ek.qy"; qz: "ek.qz"; ra: "ek.ra"; rb: "ek.rb"; rc: "ek.rc"; rd: "ek.rd"; re: "ek.re"; rf: "ek.rf"; rg: "ek.rg"; rh: "ek.rh"; ri: "ek.ri"; rj: "ek.rj"; rk: "ek.rk"; rl: "ek.rl"; rm: "ek.rm"; rn: "ek.rn"; ro: "ek.ro"; rp: "ek.rp"; rq: "ek.rq"; rr: "ek.rr"; rs: "ek.rs"; rt: "ek.rt"; ru: "ek.ru"; rv: "ek.rv"; rw: "ek.rw"; rx: "ek.rx"; ry: "ek.ry"; rz: "ek.rz"; sa: "ek.sa"; sb: "ek.sb"; sc: "ek.sc"; sd: "ek.sd"; se: "ek.se"; sf: "ek.sf"; sg: "ek.sg"; sh: "ek.sh"; si: "ek.si"; sj: "ek.sj"; sk: "ek.sk"; sl: "ek.sl"; sm: "ek.sm"; sn: "ek.sn"; so: "ek.so"; sp: "ek.sp"; sq: "ek.sq"; sr: "ek.sr"; ss: "ek.ss"; st: "ek.st"; su: "ek.su"; sv: "ek.sv"; sw: "ek.sw"; sx: "ek.sx"; sy: "ek.sy"; sz: "ek.sz"; ta: "ek.ta"; tb: "ek.tb"; tc: "ek.tc"; td: "ek.td"; te: "ek.te"; tf: "ek.tf"; tg: "ek.tg"; th: "ek.th"; ti: "ek.ti"; tj: "ek.tj"; tk: "ek.tk"; tl: "ek.tl"; tm: "ek.tm"; tn: "ek.tn"; to: "ek.to"; tp: "ek.tp"; tq: "ek.tq"; tr: "ek.tr"; ts: "ek.ts"; tt: "ek.tt"; tu: "ek.tu"; tv: "ek.tv"; tw: "ek.tw"; tx: "ek.tx"; ty: "ek.ty"; tz: "ek.tz"; ua: "ek.ua"; ub: "ek.ub"; uc: "ek.uc"; ud: "ek.ud"; ue: "ek.ue"; uf: "ek.uf"; ug: "ek.ug"; uh: "ek.uh"; ui: "ek.ui"; uj: "ek.uj"; uk: "ek.uk"; ul: "ek.ul"; um: "ek.um"; un: "ek.un"; uo: "ek.uo"; up: "ek.up"; uq: "ek.uq"; ur: "ek.ur"; us: "ek.us"; ut: "ek.ut"; uu: "ek.uu"; uv: "ek.uv"; uw: "ek.uw"; ux: "ek.ux"; uy: "ek.uy"; uz: "ek.uz"; va: "ek.va"; vb: "ek.vb"; vc: "ek.vc"; vd: "ek.vd"; ve: "ek.ve"; vf: "ek.vf"; vg: "ek.vg"; vh: "ek.vh"; vi: "ek.vi"; vj: "ek.vj"; vk: "ek.vk"; vl: "ek.vl"; vm: "ek.vm"; vn: "ek.vn"; vo: "ek.vo"; vp: "ek.vp"; vq: "ek.vq"; vr: "ek.vr"; vs: "ek.vs"; vt: "ek.vt"; vu: "ek.vu"; vv: "ek.vv"; vw: "ek.vw"; vx: "ek.vx"; vy: "ek.vy"; vz: "ek.vz"; wa: "ek.wa"; wb: "ek.wb"; wc: "ek.wc"; wd: "ek.wd"; we: "ek.we"; wf: "ek.wf"; wg: "ek.wg"; wh: "ek.wh"; wi: "ek.wi"; wj: "ek.wj"; wk: "ek.wk"; wl: "ek.wl"; wm: "ek.wm"; wn: "ek.wn"; wo: "ek.wo"; wp: "ek.wp"; wq: "ek.wq"; wr: "ek.wr"; ws: "ek.ws"; wt: "ek.wt"; wu: "ek.wu"; wv: "ek.wv"; ww: "ek.ww"; wx: "ek.wx"; wy: "ek.wy"; wz: "ek.wz"; xa: "ek.xa"; xb: "ek.xb"; xc: "ek.xc"; xd: "ek.xd"; xe: "ek.xe"; xf: "ek.xf"; xg: "ek.xg"; xh: "ek.xh"; xi: "ek.xi"; xj: "ek.xj"; xk: "ek.xk"; xl: "ek.xl"; xm: "ek.xm"; xn: "ek.xn"; xo: "ek.xo"; xp: "ek.xp"; xq: "ek.xq"; xr: "ek.xr"; xs: "ek.xs"; xt: "ek.xt"; xu: "ek.xu"; xv: "ek.xv"; xw: "ek.xw"; xx: "ek.xx"; xy: "ek.xy"; xz: "ek.xz"; ya: "ek.ya"; yb: "ek.yb"; yc: "ek.yc"; yd: "ek.yd"; ye: "ek.ye"; yf: "ek.yf"; yg: "ek.yg"; yh: "ek.yh"; yi: "ek.yi"; yj: "ek.yj"; yk: "ek.yk"; yl: "ek.yl"; ym: "ek.ym"; yn: "ek.yn"; yo: "ek.yo"; yp: "ek.yp"; yq: "ek.yq"; yr: "ek.yr"; ys: "ek.ys"; yt: "ek.yt"; yu: "ek.yu"; yv: "ek.yv"; yw: "ek.yw"; yx: "ek.yx"; yy: "ek.yy"; yz: "ek.yz"; za: "ek.za"; zb: "ek.zb"; zc: "ek.zc"; zd: "ek.zd"; ze: "ek.ze"; zf: "ek.zf"; zg: "ek.zg"; zh: "ek.zh"; zi: "ek.zi"; zj: "ek.zj"; zk: "ek.zk"; zl: "ek.zl"; zm: "ek.zm"; zn: "ek.zn"; zo: "ek.zo"; zp: "ek.zp"; zq: "ek.zq"; zr: "ek.zr"; zs: "ek.zs"; zt: "ek.zt"; zu: "ek.zu"; zv: "ek.zv"; zw: "ek.zw"; zx: "ek.zx"; zy: "ek.zy"; zz: "ek.zz"; }; el: { aa: "el.aa"; ab: "el.ab"; ac: "el.ac"; ad: "el.ad"; ae: "el.ae"; af: "el.af"; ag: "el.ag"; ah: "el.ah"; ai: "el.ai"; aj: "el.aj"; ak: "el.ak"; al: "el.al"; am: "el.am"; an: "el.an"; ao: "el.ao"; ap: "el.ap"; aq: "el.aq"; ar: "el.ar"; as: "el.as"; at: "el.at"; au: "el.au"; av: "el.av"; aw: "el.aw"; ax: "el.ax"; ay: "el.ay"; az: "el.az"; ba: "el.ba"; bb: "el.bb"; bc: "el.bc"; bd: "el.bd"; be: "el.be"; bf: "el.bf"; bg: "el.bg"; bh: "el.bh"; bi: "el.bi"; bj: "el.bj"; bk: "el.bk"; bl: "el.bl"; bm: "el.bm"; bn: "el.bn"; bo: "el.bo"; bp: "el.bp"; bq: "el.bq"; br: "el.br"; bs: "el.bs"; bt: "el.bt"; bu: "el.bu"; bv: "el.bv"; bw: "el.bw"; bx: "el.bx"; by: "el.by"; bz: "el.bz"; ca: "el.ca"; cb: "el.cb"; cc: "el.cc"; cd: "el.cd"; ce: "el.ce"; cf: "el.cf"; cg: "el.cg"; ch: "el.ch"; ci: "el.ci"; cj: "el.cj"; ck: "el.ck"; cl: "el.cl"; cm: "el.cm"; cn: "el.cn"; co: "el.co"; cp: "el.cp"; cq: "el.cq"; cr: "el.cr"; cs: "el.cs"; ct: "el.ct"; cu: "el.cu"; cv: "el.cv"; cw: "el.cw"; cx: "el.cx"; cy: "el.cy"; cz: "el.cz"; da: "el.da"; db: "el.db"; dc: "el.dc"; dd: "el.dd"; de: "el.de"; df: "el.df"; dg: "el.dg"; dh: "el.dh"; di: "el.di"; dj: "el.dj"; dk: "el.dk"; dl: "el.dl"; dm: "el.dm"; dn: "el.dn"; do: "el.do"; dp: "el.dp"; dq: "el.dq"; dr: "el.dr"; ds: "el.ds"; dt: "el.dt"; du: "el.du"; dv: "el.dv"; dw: "el.dw"; dx: "el.dx"; dy: "el.dy"; dz: "el.dz"; ea: "el.ea"; eb: "el.eb"; ec: "el.ec"; ed: "el.ed"; ee: "el.ee"; ef: "el.ef"; eg: "el.eg"; eh: "el.eh"; ei: "el.ei"; ej: "el.ej"; ek: "el.ek"; el: "el.el"; em: "el.em"; en: "el.en"; eo: "el.eo"; ep: "el.ep"; eq: "el.eq"; er: "el.er"; es: "el.es"; et: "el.et"; eu: "el.eu"; ev: "el.ev"; ew: "el.ew"; ex: "el.ex"; ey: "el.ey"; ez: "el.ez"; fa: "el.fa"; fb: "el.fb"; fc: "el.fc"; fd: "el.fd"; fe: "el.fe"; ff: "el.ff"; fg: "el.fg"; fh: "el.fh"; fi: "el.fi"; fj: "el.fj"; fk: "el.fk"; fl: "el.fl"; fm: "el.fm"; fn: "el.fn"; fo: "el.fo"; fp: "el.fp"; fq: "el.fq"; fr: "el.fr"; fs: "el.fs"; ft: "el.ft"; fu: "el.fu"; fv: "el.fv"; fw: "el.fw"; fx: "el.fx"; fy: "el.fy"; fz: "el.fz"; ga: "el.ga"; gb: "el.gb"; gc: "el.gc"; gd: "el.gd"; ge: "el.ge"; gf: "el.gf"; gg: "el.gg"; gh: "el.gh"; gi: "el.gi"; gj: "el.gj"; gk: "el.gk"; gl: "el.gl"; gm: "el.gm"; gn: "el.gn"; go: "el.go"; gp: "el.gp"; gq: "el.gq"; gr: "el.gr"; gs: "el.gs"; gt: "el.gt"; gu: "el.gu"; gv: "el.gv"; gw: "el.gw"; gx: "el.gx"; gy: "el.gy"; gz: "el.gz"; ha: "el.ha"; hb: "el.hb"; hc: "el.hc"; hd: "el.hd"; he: "el.he"; hf: "el.hf"; hg: "el.hg"; hh: "el.hh"; hi: "el.hi"; hj: "el.hj"; hk: "el.hk"; hl: "el.hl"; hm: "el.hm"; hn: "el.hn"; ho: "el.ho"; hp: "el.hp"; hq: "el.hq"; hr: "el.hr"; hs: "el.hs"; ht: "el.ht"; hu: "el.hu"; hv: "el.hv"; hw: "el.hw"; hx: "el.hx"; hy: "el.hy"; hz: "el.hz"; ia: "el.ia"; ib: "el.ib"; ic: "el.ic"; id: "el.id"; ie: "el.ie"; if: "el.if"; ig: "el.ig"; ih: "el.ih"; ii: "el.ii"; ij: "el.ij"; ik: "el.ik"; il: "el.il"; im: "el.im"; in: "el.in"; io: "el.io"; ip: "el.ip"; iq: "el.iq"; ir: "el.ir"; is: "el.is"; it: "el.it"; iu: "el.iu"; iv: "el.iv"; iw: "el.iw"; ix: "el.ix"; iy: "el.iy"; iz: "el.iz"; ja: "el.ja"; jb: "el.jb"; jc: "el.jc"; jd: "el.jd"; je: "el.je"; jf: "el.jf"; jg: "el.jg"; jh: "el.jh"; ji: "el.ji"; jj: "el.jj"; jk: "el.jk"; jl: "el.jl"; jm: "el.jm"; jn: "el.jn"; jo: "el.jo"; jp: "el.jp"; jq: "el.jq"; jr: "el.jr"; js: "el.js"; jt: "el.jt"; ju: "el.ju"; jv: "el.jv"; jw: "el.jw"; jx: "el.jx"; jy: "el.jy"; jz: "el.jz"; ka: "el.ka"; kb: "el.kb"; kc: "el.kc"; kd: "el.kd"; ke: "el.ke"; kf: "el.kf"; kg: "el.kg"; kh: "el.kh"; ki: "el.ki"; kj: "el.kj"; kk: "el.kk"; kl: "el.kl"; km: "el.km"; kn: "el.kn"; ko: "el.ko"; kp: "el.kp"; kq: "el.kq"; kr: "el.kr"; ks: "el.ks"; kt: "el.kt"; ku: "el.ku"; kv: "el.kv"; kw: "el.kw"; kx: "el.kx"; ky: "el.ky"; kz: "el.kz"; la: "el.la"; lb: "el.lb"; lc: "el.lc"; ld: "el.ld"; le: "el.le"; lf: "el.lf"; lg: "el.lg"; lh: "el.lh"; li: "el.li"; lj: "el.lj"; lk: "el.lk"; ll: "el.ll"; lm: "el.lm"; ln: "el.ln"; lo: "el.lo"; lp: "el.lp"; lq: "el.lq"; lr: "el.lr"; ls: "el.ls"; lt: "el.lt"; lu: "el.lu"; lv: "el.lv"; lw: "el.lw"; lx: "el.lx"; ly: "el.ly"; lz: "el.lz"; ma: "el.ma"; mb: "el.mb"; mc: "el.mc"; md: "el.md"; me: "el.me"; mf: "el.mf"; mg: "el.mg"; mh: "el.mh"; mi: "el.mi"; mj: "el.mj"; mk: "el.mk"; ml: "el.ml"; mm: "el.mm"; mn: "el.mn"; mo: "el.mo"; mp: "el.mp"; mq: "el.mq"; mr: "el.mr"; ms: "el.ms"; mt: "el.mt"; mu: "el.mu"; mv: "el.mv"; mw: "el.mw"; mx: "el.mx"; my: "el.my"; mz: "el.mz"; na: "el.na"; nb: "el.nb"; nc: "el.nc"; nd: "el.nd"; ne: "el.ne"; nf: "el.nf"; ng: "el.ng"; nh: "el.nh"; ni: "el.ni"; nj: "el.nj"; nk: "el.nk"; nl: "el.nl"; nm: "el.nm"; nn: "el.nn"; no: "el.no"; np: "el.np"; nq: "el.nq"; nr: "el.nr"; ns: "el.ns"; nt: "el.nt"; nu: "el.nu"; nv: "el.nv"; nw: "el.nw"; nx: "el.nx"; ny: "el.ny"; nz: "el.nz"; oa: "el.oa"; ob: "el.ob"; oc: "el.oc"; od: "el.od"; oe: "el.oe"; of: "el.of"; og: "el.og"; oh: "el.oh"; oi: "el.oi"; oj: "el.oj"; ok: "el.ok"; ol: "el.ol"; om: "el.om"; on: "el.on"; oo: "el.oo"; op: "el.op"; oq: "el.oq"; or: "el.or"; os: "el.os"; ot: "el.ot"; ou: "el.ou"; ov: "el.ov"; ow: "el.ow"; ox: "el.ox"; oy: "el.oy"; oz: "el.oz"; pa: "el.pa"; pb: "el.pb"; pc: "el.pc"; pd: "el.pd"; pe: "el.pe"; pf: "el.pf"; pg: "el.pg"; ph: "el.ph"; pi: "el.pi"; pj: "el.pj"; pk: "el.pk"; pl: "el.pl"; pm: "el.pm"; pn: "el.pn"; po: "el.po"; pp: "el.pp"; pq: "el.pq"; pr: "el.pr"; ps: "el.ps"; pt: "el.pt"; pu: "el.pu"; pv: "el.pv"; pw: "el.pw"; px: "el.px"; py: "el.py"; pz: "el.pz"; qa: "el.qa"; qb: "el.qb"; qc: "el.qc"; qd: "el.qd"; qe: "el.qe"; qf: "el.qf"; qg: "el.qg"; qh: "el.qh"; qi: "el.qi"; qj: "el.qj"; qk: "el.qk"; ql: "el.ql"; qm: "el.qm"; qn: "el.qn"; qo: "el.qo"; qp: "el.qp"; qq: "el.qq"; qr: "el.qr"; qs: "el.qs"; qt: "el.qt"; qu: "el.qu"; qv: "el.qv"; qw: "el.qw"; qx: "el.qx"; qy: "el.qy"; qz: "el.qz"; ra: "el.ra"; rb: "el.rb"; rc: "el.rc"; rd: "el.rd"; re: "el.re"; rf: "el.rf"; rg: "el.rg"; rh: "el.rh"; ri: "el.ri"; rj: "el.rj"; rk: "el.rk"; rl: "el.rl"; rm: "el.rm"; rn: "el.rn"; ro: "el.ro"; rp: "el.rp"; rq: "el.rq"; rr: "el.rr"; rs: "el.rs"; rt: "el.rt"; ru: "el.ru"; rv: "el.rv"; rw: "el.rw"; rx: "el.rx"; ry: "el.ry"; rz: "el.rz"; sa: "el.sa"; sb: "el.sb"; sc: "el.sc"; sd: "el.sd"; se: "el.se"; sf: "el.sf"; sg: "el.sg"; sh: "el.sh"; si: "el.si"; sj: "el.sj"; sk: "el.sk"; sl: "el.sl"; sm: "el.sm"; sn: "el.sn"; so: "el.so"; sp: "el.sp"; sq: "el.sq"; sr: "el.sr"; ss: "el.ss"; st: "el.st"; su: "el.su"; sv: "el.sv"; sw: "el.sw"; sx: "el.sx"; sy: "el.sy"; sz: "el.sz"; ta: "el.ta"; tb: "el.tb"; tc: "el.tc"; td: "el.td"; te: "el.te"; tf: "el.tf"; tg: "el.tg"; th: "el.th"; ti: "el.ti"; tj: "el.tj"; tk: "el.tk"; tl: "el.tl"; tm: "el.tm"; tn: "el.tn"; to: "el.to"; tp: "el.tp"; tq: "el.tq"; tr: "el.tr"; ts: "el.ts"; tt: "el.tt"; tu: "el.tu"; tv: "el.tv"; tw: "el.tw"; tx: "el.tx"; ty: "el.ty"; tz: "el.tz"; ua: "el.ua"; ub: "el.ub"; uc: "el.uc"; ud: "el.ud"; ue: "el.ue"; uf: "el.uf"; ug: "el.ug"; uh: "el.uh"; ui: "el.ui"; uj: "el.uj"; uk: "el.uk"; ul: "el.ul"; um: "el.um"; un: "el.un"; uo: "el.uo"; up: "el.up"; uq: "el.uq"; ur: "el.ur"; us: "el.us"; ut: "el.ut"; uu: "el.uu"; uv: "el.uv"; uw: "el.uw"; ux: "el.ux"; uy: "el.uy"; uz: "el.uz"; va: "el.va"; vb: "el.vb"; vc: "el.vc"; vd: "el.vd"; ve: "el.ve"; vf: "el.vf"; vg: "el.vg"; vh: "el.vh"; vi: "el.vi"; vj: "el.vj"; vk: "el.vk"; vl: "el.vl"; vm: "el.vm"; vn: "el.vn"; vo: "el.vo"; vp: "el.vp"; vq: "el.vq"; vr: "el.vr"; vs: "el.vs"; vt: "el.vt"; vu: "el.vu"; vv: "el.vv"; vw: "el.vw"; vx: "el.vx"; vy: "el.vy"; vz: "el.vz"; wa: "el.wa"; wb: "el.wb"; wc: "el.wc"; wd: "el.wd"; we: "el.we"; wf: "el.wf"; wg: "el.wg"; wh: "el.wh"; wi: "el.wi"; wj: "el.wj"; wk: "el.wk"; wl: "el.wl"; wm: "el.wm"; wn: "el.wn"; wo: "el.wo"; wp: "el.wp"; wq: "el.wq"; wr: "el.wr"; ws: "el.ws"; wt: "el.wt"; wu: "el.wu"; wv: "el.wv"; ww: "el.ww"; wx: "el.wx"; wy: "el.wy"; wz: "el.wz"; xa: "el.xa"; xb: "el.xb"; xc: "el.xc"; xd: "el.xd"; xe: "el.xe"; xf: "el.xf"; xg: "el.xg"; xh: "el.xh"; xi: "el.xi"; xj: "el.xj"; xk: "el.xk"; xl: "el.xl"; xm: "el.xm"; xn: "el.xn"; xo: "el.xo"; xp: "el.xp"; xq: "el.xq"; xr: "el.xr"; xs: "el.xs"; xt: "el.xt"; xu: "el.xu"; xv: "el.xv"; xw: "el.xw"; xx: "el.xx"; xy: "el.xy"; xz: "el.xz"; ya: "el.ya"; yb: "el.yb"; yc: "el.yc"; yd: "el.yd"; ye: "el.ye"; yf: "el.yf"; yg: "el.yg"; yh: "el.yh"; yi: "el.yi"; yj: "el.yj"; yk: "el.yk"; yl: "el.yl"; ym: "el.ym"; yn: "el.yn"; yo: "el.yo"; yp: "el.yp"; yq: "el.yq"; yr: "el.yr"; ys: "el.ys"; yt: "el.yt"; yu: "el.yu"; yv: "el.yv"; yw: "el.yw"; yx: "el.yx"; yy: "el.yy"; yz: "el.yz"; za: "el.za"; zb: "el.zb"; zc: "el.zc"; zd: "el.zd"; ze: "el.ze"; zf: "el.zf"; zg: "el.zg"; zh: "el.zh"; zi: "el.zi"; zj: "el.zj"; zk: "el.zk"; zl: "el.zl"; zm: "el.zm"; zn: "el.zn"; zo: "el.zo"; zp: "el.zp"; zq: "el.zq"; zr: "el.zr"; zs: "el.zs"; zt: "el.zt"; zu: "el.zu"; zv: "el.zv"; zw: "el.zw"; zx: "el.zx"; zy: "el.zy"; zz: "el.zz"; }; em: { aa: "em.aa"; ab: "em.ab"; ac: "em.ac"; ad: "em.ad"; ae: "em.ae"; af: "em.af"; ag: "em.ag"; ah: "em.ah"; ai: "em.ai"; aj: "em.aj"; ak: "em.ak"; al: "em.al"; am: "em.am"; an: "em.an"; ao: "em.ao"; ap: "em.ap"; aq: "em.aq"; ar: "em.ar"; as: "em.as"; at: "em.at"; au: "em.au"; av: "em.av"; aw: "em.aw"; ax: "em.ax"; ay: "em.ay"; az: "em.az"; ba: "em.ba"; bb: "em.bb"; bc: "em.bc"; bd: "em.bd"; be: "em.be"; bf: "em.bf"; bg: "em.bg"; bh: "em.bh"; bi: "em.bi"; bj: "em.bj"; bk: "em.bk"; bl: "em.bl"; bm: "em.bm"; bn: "em.bn"; bo: "em.bo"; bp: "em.bp"; bq: "em.bq"; br: "em.br"; bs: "em.bs"; bt: "em.bt"; bu: "em.bu"; bv: "em.bv"; bw: "em.bw"; bx: "em.bx"; by: "em.by"; bz: "em.bz"; ca: "em.ca"; cb: "em.cb"; cc: "em.cc"; cd: "em.cd"; ce: "em.ce"; cf: "em.cf"; cg: "em.cg"; ch: "em.ch"; ci: "em.ci"; cj: "em.cj"; ck: "em.ck"; cl: "em.cl"; cm: "em.cm"; cn: "em.cn"; co: "em.co"; cp: "em.cp"; cq: "em.cq"; cr: "em.cr"; cs: "em.cs"; ct: "em.ct"; cu: "em.cu"; cv: "em.cv"; cw: "em.cw"; cx: "em.cx"; cy: "em.cy"; cz: "em.cz"; da: "em.da"; db: "em.db"; dc: "em.dc"; dd: "em.dd"; de: "em.de"; df: "em.df"; dg: "em.dg"; dh: "em.dh"; di: "em.di"; dj: "em.dj"; dk: "em.dk"; dl: "em.dl"; dm: "em.dm"; dn: "em.dn"; do: "em.do"; dp: "em.dp"; dq: "em.dq"; dr: "em.dr"; ds: "em.ds"; dt: "em.dt"; du: "em.du"; dv: "em.dv"; dw: "em.dw"; dx: "em.dx"; dy: "em.dy"; dz: "em.dz"; ea: "em.ea"; eb: "em.eb"; ec: "em.ec"; ed: "em.ed"; ee: "em.ee"; ef: "em.ef"; eg: "em.eg"; eh: "em.eh"; ei: "em.ei"; ej: "em.ej"; ek: "em.ek"; el: "em.el"; em: "em.em"; en: "em.en"; eo: "em.eo"; ep: "em.ep"; eq: "em.eq"; er: "em.er"; es: "em.es"; et: "em.et"; eu: "em.eu"; ev: "em.ev"; ew: "em.ew"; ex: "em.ex"; ey: "em.ey"; ez: "em.ez"; fa: "em.fa"; fb: "em.fb"; fc: "em.fc"; fd: "em.fd"; fe: "em.fe"; ff: "em.ff"; fg: "em.fg"; fh: "em.fh"; fi: "em.fi"; fj: "em.fj"; fk: "em.fk"; fl: "em.fl"; fm: "em.fm"; fn: "em.fn"; fo: "em.fo"; fp: "em.fp"; fq: "em.fq"; fr: "em.fr"; fs: "em.fs"; ft: "em.ft"; fu: "em.fu"; fv: "em.fv"; fw: "em.fw"; fx: "em.fx"; fy: "em.fy"; fz: "em.fz"; ga: "em.ga"; gb: "em.gb"; gc: "em.gc"; gd: "em.gd"; ge: "em.ge"; gf: "em.gf"; gg: "em.gg"; gh: "em.gh"; gi: "em.gi"; gj: "em.gj"; gk: "em.gk"; gl: "em.gl"; gm: "em.gm"; gn: "em.gn"; go: "em.go"; gp: "em.gp"; gq: "em.gq"; gr: "em.gr"; gs: "em.gs"; gt: "em.gt"; gu: "em.gu"; gv: "em.gv"; gw: "em.gw"; gx: "em.gx"; gy: "em.gy"; gz: "em.gz"; ha: "em.ha"; hb: "em.hb"; hc: "em.hc"; hd: "em.hd"; he: "em.he"; hf: "em.hf"; hg: "em.hg"; hh: "em.hh"; hi: "em.hi"; hj: "em.hj"; hk: "em.hk"; hl: "em.hl"; hm: "em.hm"; hn: "em.hn"; ho: "em.ho"; hp: "em.hp"; hq: "em.hq"; hr: "em.hr"; hs: "em.hs"; ht: "em.ht"; hu: "em.hu"; hv: "em.hv"; hw: "em.hw"; hx: "em.hx"; hy: "em.hy"; hz: "em.hz"; ia: "em.ia"; ib: "em.ib"; ic: "em.ic"; id: "em.id"; ie: "em.ie"; if: "em.if"; ig: "em.ig"; ih: "em.ih"; ii: "em.ii"; ij: "em.ij"; ik: "em.ik"; il: "em.il"; im: "em.im"; in: "em.in"; io: "em.io"; ip: "em.ip"; iq: "em.iq"; ir: "em.ir"; is: "em.is"; it: "em.it"; iu: "em.iu"; iv: "em.iv"; iw: "em.iw"; ix: "em.ix"; iy: "em.iy"; iz: "em.iz"; ja: "em.ja"; jb: "em.jb"; jc: "em.jc"; jd: "em.jd"; je: "em.je"; jf: "em.jf"; jg: "em.jg"; jh: "em.jh"; ji: "em.ji"; jj: "em.jj"; jk: "em.jk"; jl: "em.jl"; jm: "em.jm"; jn: "em.jn"; jo: "em.jo"; jp: "em.jp"; jq: "em.jq"; jr: "em.jr"; js: "em.js"; jt: "em.jt"; ju: "em.ju"; jv: "em.jv"; jw: "em.jw"; jx: "em.jx"; jy: "em.jy"; jz: "em.jz"; ka: "em.ka"; kb: "em.kb"; kc: "em.kc"; kd: "em.kd"; ke: "em.ke"; kf: "em.kf"; kg: "em.kg"; kh: "em.kh"; ki: "em.ki"; kj: "em.kj"; kk: "em.kk"; kl: "em.kl"; km: "em.km"; kn: "em.kn"; ko: "em.ko"; kp: "em.kp"; kq: "em.kq"; kr: "em.kr"; ks: "em.ks"; kt: "em.kt"; ku: "em.ku"; kv: "em.kv"; kw: "em.kw"; kx: "em.kx"; ky: "em.ky"; kz: "em.kz"; la: "em.la"; lb: "em.lb"; lc: "em.lc"; ld: "em.ld"; le: "em.le"; lf: "em.lf"; lg: "em.lg"; lh: "em.lh"; li: "em.li"; lj: "em.lj"; lk: "em.lk"; ll: "em.ll"; lm: "em.lm"; ln: "em.ln"; lo: "em.lo"; lp: "em.lp"; lq: "em.lq"; lr: "em.lr"; ls: "em.ls"; lt: "em.lt"; lu: "em.lu"; lv: "em.lv"; lw: "em.lw"; lx: "em.lx"; ly: "em.ly"; lz: "em.lz"; ma: "em.ma"; mb: "em.mb"; mc: "em.mc"; md: "em.md"; me: "em.me"; mf: "em.mf"; mg: "em.mg"; mh: "em.mh"; mi: "em.mi"; mj: "em.mj"; mk: "em.mk"; ml: "em.ml"; mm: "em.mm"; mn: "em.mn"; mo: "em.mo"; mp: "em.mp"; mq: "em.mq"; mr: "em.mr"; ms: "em.ms"; mt: "em.mt"; mu: "em.mu"; mv: "em.mv"; mw: "em.mw"; mx: "em.mx"; my: "em.my"; mz: "em.mz"; na: "em.na"; nb: "em.nb"; nc: "em.nc"; nd: "em.nd"; ne: "em.ne"; nf: "em.nf"; ng: "em.ng"; nh: "em.nh"; ni: "em.ni"; nj: "em.nj"; nk: "em.nk"; nl: "em.nl"; nm: "em.nm"; nn: "em.nn"; no: "em.no"; np: "em.np"; nq: "em.nq"; nr: "em.nr"; ns: "em.ns"; nt: "em.nt"; nu: "em.nu"; nv: "em.nv"; nw: "em.nw"; nx: "em.nx"; ny: "em.ny"; nz: "em.nz"; oa: "em.oa"; ob: "em.ob"; oc: "em.oc"; od: "em.od"; oe: "em.oe"; of: "em.of"; og: "em.og"; oh: "em.oh"; oi: "em.oi"; oj: "em.oj"; ok: "em.ok"; ol: "em.ol"; om: "em.om"; on: "em.on"; oo: "em.oo"; op: "em.op"; oq: "em.oq"; or: "em.or"; os: "em.os"; ot: "em.ot"; ou: "em.ou"; ov: "em.ov"; ow: "em.ow"; ox: "em.ox"; oy: "em.oy"; oz: "em.oz"; pa: "em.pa"; pb: "em.pb"; pc: "em.pc"; pd: "em.pd"; pe: "em.pe"; pf: "em.pf"; pg: "em.pg"; ph: "em.ph"; pi: "em.pi"; pj: "em.pj"; pk: "em.pk"; pl: "em.pl"; pm: "em.pm"; pn: "em.pn"; po: "em.po"; pp: "em.pp"; pq: "em.pq"; pr: "em.pr"; ps: "em.ps"; pt: "em.pt"; pu: "em.pu"; pv: "em.pv"; pw: "em.pw"; px: "em.px"; py: "em.py"; pz: "em.pz"; qa: "em.qa"; qb: "em.qb"; qc: "em.qc"; qd: "em.qd"; qe: "em.qe"; qf: "em.qf"; qg: "em.qg"; qh: "em.qh"; qi: "em.qi"; qj: "em.qj"; qk: "em.qk"; ql: "em.ql"; qm: "em.qm"; qn: "em.qn"; qo: "em.qo"; qp: "em.qp"; qq: "em.qq"; qr: "em.qr"; qs: "em.qs"; qt: "em.qt"; qu: "em.qu"; qv: "em.qv"; qw: "em.qw"; qx: "em.qx"; qy: "em.qy"; qz: "em.qz"; ra: "em.ra"; rb: "em.rb"; rc: "em.rc"; rd: "em.rd"; re: "em.re"; rf: "em.rf"; rg: "em.rg"; rh: "em.rh"; ri: "em.ri"; rj: "em.rj"; rk: "em.rk"; rl: "em.rl"; rm: "em.rm"; rn: "em.rn"; ro: "em.ro"; rp: "em.rp"; rq: "em.rq"; rr: "em.rr"; rs: "em.rs"; rt: "em.rt"; ru: "em.ru"; rv: "em.rv"; rw: "em.rw"; rx: "em.rx"; ry: "em.ry"; rz: "em.rz"; sa: "em.sa"; sb: "em.sb"; sc: "em.sc"; sd: "em.sd"; se: "em.se"; sf: "em.sf"; sg: "em.sg"; sh: "em.sh"; si: "em.si"; sj: "em.sj"; sk: "em.sk"; sl: "em.sl"; sm: "em.sm"; sn: "em.sn"; so: "em.so"; sp: "em.sp"; sq: "em.sq"; sr: "em.sr"; ss: "em.ss"; st: "em.st"; su: "em.su"; sv: "em.sv"; sw: "em.sw"; sx: "em.sx"; sy: "em.sy"; sz: "em.sz"; ta: "em.ta"; tb: "em.tb"; tc: "em.tc"; td: "em.td"; te: "em.te"; tf: "em.tf"; tg: "em.tg"; th: "em.th"; ti: "em.ti"; tj: "em.tj"; tk: "em.tk"; tl: "em.tl"; tm: "em.tm"; tn: "em.tn"; to: "em.to"; tp: "em.tp"; tq: "em.tq"; tr: "em.tr"; ts: "em.ts"; tt: "em.tt"; tu: "em.tu"; tv: "em.tv"; tw: "em.tw"; tx: "em.tx"; ty: "em.ty"; tz: "em.tz"; ua: "em.ua"; ub: "em.ub"; uc: "em.uc"; ud: "em.ud"; ue: "em.ue"; uf: "em.uf"; ug: "em.ug"; uh: "em.uh"; ui: "em.ui"; uj: "em.uj"; uk: "em.uk"; ul: "em.ul"; um: "em.um"; un: "em.un"; uo: "em.uo"; up: "em.up"; uq: "em.uq"; ur: "em.ur"; us: "em.us"; ut: "em.ut"; uu: "em.uu"; uv: "em.uv"; uw: "em.uw"; ux: "em.ux"; uy: "em.uy"; uz: "em.uz"; va: "em.va"; vb: "em.vb"; vc: "em.vc"; vd: "em.vd"; ve: "em.ve"; vf: "em.vf"; vg: "em.vg"; vh: "em.vh"; vi: "em.vi"; vj: "em.vj"; vk: "em.vk"; vl: "em.vl"; vm: "em.vm"; vn: "em.vn"; vo: "em.vo"; vp: "em.vp"; vq: "em.vq"; vr: "em.vr"; vs: "em.vs"; vt: "em.vt"; vu: "em.vu"; vv: "em.vv"; vw: "em.vw"; vx: "em.vx"; vy: "em.vy"; vz: "em.vz"; wa: "em.wa"; wb: "em.wb"; wc: "em.wc"; wd: "em.wd"; we: "em.we"; wf: "em.wf"; wg: "em.wg"; wh: "em.wh"; wi: "em.wi"; wj: "em.wj"; wk: "em.wk"; wl: "em.wl"; wm: "em.wm"; wn: "em.wn"; wo: "em.wo"; wp: "em.wp"; wq: "em.wq"; wr: "em.wr"; ws: "em.ws"; wt: "em.wt"; wu: "em.wu"; wv: "em.wv"; ww: "em.ww"; wx: "em.wx"; wy: "em.wy"; wz: "em.wz"; xa: "em.xa"; xb: "em.xb"; xc: "em.xc"; xd: "em.xd"; xe: "em.xe"; xf: "em.xf"; xg: "em.xg"; xh: "em.xh"; xi: "em.xi"; xj: "em.xj"; xk: "em.xk"; xl: "em.xl"; xm: "em.xm"; xn: "em.xn"; xo: "em.xo"; xp: "em.xp"; xq: "em.xq"; xr: "em.xr"; xs: "em.xs"; xt: "em.xt"; xu: "em.xu"; xv: "em.xv"; xw: "em.xw"; xx: "em.xx"; xy: "em.xy"; xz: "em.xz"; ya: "em.ya"; yb: "em.yb"; yc: "em.yc"; yd: "em.yd"; ye: "em.ye"; yf: "em.yf"; yg: "em.yg"; yh: "em.yh"; yi: "em.yi"; yj: "em.yj"; yk: "em.yk"; yl: "em.yl"; ym: "em.ym"; yn: "em.yn"; yo: "em.yo"; yp: "em.yp"; yq: "em.yq"; yr: "em.yr"; ys: "em.ys"; yt: "em.yt"; yu: "em.yu"; yv: "em.yv"; yw: "em.yw"; yx: "em.yx"; yy: "em.yy"; yz: "em.yz"; za: "em.za"; zb: "em.zb"; zc: "em.zc"; zd: "em.zd"; ze: "em.ze"; zf: "em.zf"; zg: "em.zg"; zh: "em.zh"; zi: "em.zi"; zj: "em.zj"; zk: "em.zk"; zl: "em.zl"; zm: "em.zm"; zn: "em.zn"; zo: "em.zo"; zp: "em.zp"; zq: "em.zq"; zr: "em.zr"; zs: "em.zs"; zt: "em.zt"; zu: "em.zu"; zv: "em.zv"; zw: "em.zw"; zx: "em.zx"; zy: "em.zy"; zz: "em.zz"; }; en: { aa: "en.aa"; ab: "en.ab"; ac: "en.ac"; ad: "en.ad"; ae: "en.ae"; af: "en.af"; ag: "en.ag"; ah: "en.ah"; ai: "en.ai"; aj: "en.aj"; ak: "en.ak"; al: "en.al"; am: "en.am"; an: "en.an"; ao: "en.ao"; ap: "en.ap"; aq: "en.aq"; ar: "en.ar"; as: "en.as"; at: "en.at"; au: "en.au"; av: "en.av"; aw: "en.aw"; ax: "en.ax"; ay: "en.ay"; az: "en.az"; ba: "en.ba"; bb: "en.bb"; bc: "en.bc"; bd: "en.bd"; be: "en.be"; bf: "en.bf"; bg: "en.bg"; bh: "en.bh"; bi: "en.bi"; bj: "en.bj"; bk: "en.bk"; bl: "en.bl"; bm: "en.bm"; bn: "en.bn"; bo: "en.bo"; bp: "en.bp"; bq: "en.bq"; br: "en.br"; bs: "en.bs"; bt: "en.bt"; bu: "en.bu"; bv: "en.bv"; bw: "en.bw"; bx: "en.bx"; by: "en.by"; bz: "en.bz"; ca: "en.ca"; cb: "en.cb"; cc: "en.cc"; cd: "en.cd"; ce: "en.ce"; cf: "en.cf"; cg: "en.cg"; ch: "en.ch"; ci: "en.ci"; cj: "en.cj"; ck: "en.ck"; cl: "en.cl"; cm: "en.cm"; cn: "en.cn"; co: "en.co"; cp: "en.cp"; cq: "en.cq"; cr: "en.cr"; cs: "en.cs"; ct: "en.ct"; cu: "en.cu"; cv: "en.cv"; cw: "en.cw"; cx: "en.cx"; cy: "en.cy"; cz: "en.cz"; da: "en.da"; db: "en.db"; dc: "en.dc"; dd: "en.dd"; de: "en.de"; df: "en.df"; dg: "en.dg"; dh: "en.dh"; di: "en.di"; dj: "en.dj"; dk: "en.dk"; dl: "en.dl"; dm: "en.dm"; dn: "en.dn"; do: "en.do"; dp: "en.dp"; dq: "en.dq"; dr: "en.dr"; ds: "en.ds"; dt: "en.dt"; du: "en.du"; dv: "en.dv"; dw: "en.dw"; dx: "en.dx"; dy: "en.dy"; dz: "en.dz"; ea: "en.ea"; eb: "en.eb"; ec: "en.ec"; ed: "en.ed"; ee: "en.ee"; ef: "en.ef"; eg: "en.eg"; eh: "en.eh"; ei: "en.ei"; ej: "en.ej"; ek: "en.ek"; el: "en.el"; em: "en.em"; en: "en.en"; eo: "en.eo"; ep: "en.ep"; eq: "en.eq"; er: "en.er"; es: "en.es"; et: "en.et"; eu: "en.eu"; ev: "en.ev"; ew: "en.ew"; ex: "en.ex"; ey: "en.ey"; ez: "en.ez"; fa: "en.fa"; fb: "en.fb"; fc: "en.fc"; fd: "en.fd"; fe: "en.fe"; ff: "en.ff"; fg: "en.fg"; fh: "en.fh"; fi: "en.fi"; fj: "en.fj"; fk: "en.fk"; fl: "en.fl"; fm: "en.fm"; fn: "en.fn"; fo: "en.fo"; fp: "en.fp"; fq: "en.fq"; fr: "en.fr"; fs: "en.fs"; ft: "en.ft"; fu: "en.fu"; fv: "en.fv"; fw: "en.fw"; fx: "en.fx"; fy: "en.fy"; fz: "en.fz"; ga: "en.ga"; gb: "en.gb"; gc: "en.gc"; gd: "en.gd"; ge: "en.ge"; gf: "en.gf"; gg: "en.gg"; gh: "en.gh"; gi: "en.gi"; gj: "en.gj"; gk: "en.gk"; gl: "en.gl"; gm: "en.gm"; gn: "en.gn"; go: "en.go"; gp: "en.gp"; gq: "en.gq"; gr: "en.gr"; gs: "en.gs"; gt: "en.gt"; gu: "en.gu"; gv: "en.gv"; gw: "en.gw"; gx: "en.gx"; gy: "en.gy"; gz: "en.gz"; ha: "en.ha"; hb: "en.hb"; hc: "en.hc"; hd: "en.hd"; he: "en.he"; hf: "en.hf"; hg: "en.hg"; hh: "en.hh"; hi: "en.hi"; hj: "en.hj"; hk: "en.hk"; hl: "en.hl"; hm: "en.hm"; hn: "en.hn"; ho: "en.ho"; hp: "en.hp"; hq: "en.hq"; hr: "en.hr"; hs: "en.hs"; ht: "en.ht"; hu: "en.hu"; hv: "en.hv"; hw: "en.hw"; hx: "en.hx"; hy: "en.hy"; hz: "en.hz"; ia: "en.ia"; ib: "en.ib"; ic: "en.ic"; id: "en.id"; ie: "en.ie"; if: "en.if"; ig: "en.ig"; ih: "en.ih"; ii: "en.ii"; ij: "en.ij"; ik: "en.ik"; il: "en.il"; im: "en.im"; in: "en.in"; io: "en.io"; ip: "en.ip"; iq: "en.iq"; ir: "en.ir"; is: "en.is"; it: "en.it"; iu: "en.iu"; iv: "en.iv"; iw: "en.iw"; ix: "en.ix"; iy: "en.iy"; iz: "en.iz"; ja: "en.ja"; jb: "en.jb"; jc: "en.jc"; jd: "en.jd"; je: "en.je"; jf: "en.jf"; jg: "en.jg"; jh: "en.jh"; ji: "en.ji"; jj: "en.jj"; jk: "en.jk"; jl: "en.jl"; jm: "en.jm"; jn: "en.jn"; jo: "en.jo"; jp: "en.jp"; jq: "en.jq"; jr: "en.jr"; js: "en.js"; jt: "en.jt"; ju: "en.ju"; jv: "en.jv"; jw: "en.jw"; jx: "en.jx"; jy: "en.jy"; jz: "en.jz"; ka: "en.ka"; kb: "en.kb"; kc: "en.kc"; kd: "en.kd"; ke: "en.ke"; kf: "en.kf"; kg: "en.kg"; kh: "en.kh"; ki: "en.ki"; kj: "en.kj"; kk: "en.kk"; kl: "en.kl"; km: "en.km"; kn: "en.kn"; ko: "en.ko"; kp: "en.kp"; kq: "en.kq"; kr: "en.kr"; ks: "en.ks"; kt: "en.kt"; ku: "en.ku"; kv: "en.kv"; kw: "en.kw"; kx: "en.kx"; ky: "en.ky"; kz: "en.kz"; la: "en.la"; lb: "en.lb"; lc: "en.lc"; ld: "en.ld"; le: "en.le"; lf: "en.lf"; lg: "en.lg"; lh: "en.lh"; li: "en.li"; lj: "en.lj"; lk: "en.lk"; ll: "en.ll"; lm: "en.lm"; ln: "en.ln"; lo: "en.lo"; lp: "en.lp"; lq: "en.lq"; lr: "en.lr"; ls: "en.ls"; lt: "en.lt"; lu: "en.lu"; lv: "en.lv"; lw: "en.lw"; lx: "en.lx"; ly: "en.ly"; lz: "en.lz"; ma: "en.ma"; mb: "en.mb"; mc: "en.mc"; md: "en.md"; me: "en.me"; mf: "en.mf"; mg: "en.mg"; mh: "en.mh"; mi: "en.mi"; mj: "en.mj"; mk: "en.mk"; ml: "en.ml"; mm: "en.mm"; mn: "en.mn"; mo: "en.mo"; mp: "en.mp"; mq: "en.mq"; mr: "en.mr"; ms: "en.ms"; mt: "en.mt"; mu: "en.mu"; mv: "en.mv"; mw: "en.mw"; mx: "en.mx"; my: "en.my"; mz: "en.mz"; na: "en.na"; nb: "en.nb"; nc: "en.nc"; nd: "en.nd"; ne: "en.ne"; nf: "en.nf"; ng: "en.ng"; nh: "en.nh"; ni: "en.ni"; nj: "en.nj"; nk: "en.nk"; nl: "en.nl"; nm: "en.nm"; nn: "en.nn"; no: "en.no"; np: "en.np"; nq: "en.nq"; nr: "en.nr"; ns: "en.ns"; nt: "en.nt"; nu: "en.nu"; nv: "en.nv"; nw: "en.nw"; nx: "en.nx"; ny: "en.ny"; nz: "en.nz"; oa: "en.oa"; ob: "en.ob"; oc: "en.oc"; od: "en.od"; oe: "en.oe"; of: "en.of"; og: "en.og"; oh: "en.oh"; oi: "en.oi"; oj: "en.oj"; ok: "en.ok"; ol: "en.ol"; om: "en.om"; on: "en.on"; oo: "en.oo"; op: "en.op"; oq: "en.oq"; or: "en.or"; os: "en.os"; ot: "en.ot"; ou: "en.ou"; ov: "en.ov"; ow: "en.ow"; ox: "en.ox"; oy: "en.oy"; oz: "en.oz"; pa: "en.pa"; pb: "en.pb"; pc: "en.pc"; pd: "en.pd"; pe: "en.pe"; pf: "en.pf"; pg: "en.pg"; ph: "en.ph"; pi: "en.pi"; pj: "en.pj"; pk: "en.pk"; pl: "en.pl"; pm: "en.pm"; pn: "en.pn"; po: "en.po"; pp: "en.pp"; pq: "en.pq"; pr: "en.pr"; ps: "en.ps"; pt: "en.pt"; pu: "en.pu"; pv: "en.pv"; pw: "en.pw"; px: "en.px"; py: "en.py"; pz: "en.pz"; qa: "en.qa"; qb: "en.qb"; qc: "en.qc"; qd: "en.qd"; qe: "en.qe"; qf: "en.qf"; qg: "en.qg"; qh: "en.qh"; qi: "en.qi"; qj: "en.qj"; qk: "en.qk"; ql: "en.ql"; qm: "en.qm"; qn: "en.qn"; qo: "en.qo"; qp: "en.qp"; qq: "en.qq"; qr: "en.qr"; qs: "en.qs"; qt: "en.qt"; qu: "en.qu"; qv: "en.qv"; qw: "en.qw"; qx: "en.qx"; qy: "en.qy"; qz: "en.qz"; ra: "en.ra"; rb: "en.rb"; rc: "en.rc"; rd: "en.rd"; re: "en.re"; rf: "en.rf"; rg: "en.rg"; rh: "en.rh"; ri: "en.ri"; rj: "en.rj"; rk: "en.rk"; rl: "en.rl"; rm: "en.rm"; rn: "en.rn"; ro: "en.ro"; rp: "en.rp"; rq: "en.rq"; rr: "en.rr"; rs: "en.rs"; rt: "en.rt"; ru: "en.ru"; rv: "en.rv"; rw: "en.rw"; rx: "en.rx"; ry: "en.ry"; rz: "en.rz"; sa: "en.sa"; sb: "en.sb"; sc: "en.sc"; sd: "en.sd"; se: "en.se"; sf: "en.sf"; sg: "en.sg"; sh: "en.sh"; si: "en.si"; sj: "en.sj"; sk: "en.sk"; sl: "en.sl"; sm: "en.sm"; sn: "en.sn"; so: "en.so"; sp: "en.sp"; sq: "en.sq"; sr: "en.sr"; ss: "en.ss"; st: "en.st"; su: "en.su"; sv: "en.sv"; sw: "en.sw"; sx: "en.sx"; sy: "en.sy"; sz: "en.sz"; ta: "en.ta"; tb: "en.tb"; tc: "en.tc"; td: "en.td"; te: "en.te"; tf: "en.tf"; tg: "en.tg"; th: "en.th"; ti: "en.ti"; tj: "en.tj"; tk: "en.tk"; tl: "en.tl"; tm: "en.tm"; tn: "en.tn"; to: "en.to"; tp: "en.tp"; tq: "en.tq"; tr: "en.tr"; ts: "en.ts"; tt: "en.tt"; tu: "en.tu"; tv: "en.tv"; tw: "en.tw"; tx: "en.tx"; ty: "en.ty"; tz: "en.tz"; ua: "en.ua"; ub: "en.ub"; uc: "en.uc"; ud: "en.ud"; ue: "en.ue"; uf: "en.uf"; ug: "en.ug"; uh: "en.uh"; ui: "en.ui"; uj: "en.uj"; uk: "en.uk"; ul: "en.ul"; um: "en.um"; un: "en.un"; uo: "en.uo"; up: "en.up"; uq: "en.uq"; ur: "en.ur"; us: "en.us"; ut: "en.ut"; uu: "en.uu"; uv: "en.uv"; uw: "en.uw"; ux: "en.ux"; uy: "en.uy"; uz: "en.uz"; va: "en.va"; vb: "en.vb"; vc: "en.vc"; vd: "en.vd"; ve: "en.ve"; vf: "en.vf"; vg: "en.vg"; vh: "en.vh"; vi: "en.vi"; vj: "en.vj"; vk: "en.vk"; vl: "en.vl"; vm: "en.vm"; vn: "en.vn"; vo: "en.vo"; vp: "en.vp"; vq: "en.vq"; vr: "en.vr"; vs: "en.vs"; vt: "en.vt"; vu: "en.vu"; vv: "en.vv"; vw: "en.vw"; vx: "en.vx"; vy: "en.vy"; vz: "en.vz"; wa: "en.wa"; wb: "en.wb"; wc: "en.wc"; wd: "en.wd"; we: "en.we"; wf: "en.wf"; wg: "en.wg"; wh: "en.wh"; wi: "en.wi"; wj: "en.wj"; wk: "en.wk"; wl: "en.wl"; wm: "en.wm"; wn: "en.wn"; wo: "en.wo"; wp: "en.wp"; wq: "en.wq"; wr: "en.wr"; ws: "en.ws"; wt: "en.wt"; wu: "en.wu"; wv: "en.wv"; ww: "en.ww"; wx: "en.wx"; wy: "en.wy"; wz: "en.wz"; xa: "en.xa"; xb: "en.xb"; xc: "en.xc"; xd: "en.xd"; xe: "en.xe"; xf: "en.xf"; xg: "en.xg"; xh: "en.xh"; xi: "en.xi"; xj: "en.xj"; xk: "en.xk"; xl: "en.xl"; xm: "en.xm"; xn: "en.xn"; xo: "en.xo"; xp: "en.xp"; xq: "en.xq"; xr: "en.xr"; xs: "en.xs"; xt: "en.xt"; xu: "en.xu"; xv: "en.xv"; xw: "en.xw"; xx: "en.xx"; xy: "en.xy"; xz: "en.xz"; ya: "en.ya"; yb: "en.yb"; yc: "en.yc"; yd: "en.yd"; ye: "en.ye"; yf: "en.yf"; yg: "en.yg"; yh: "en.yh"; yi: "en.yi"; yj: "en.yj"; yk: "en.yk"; yl: "en.yl"; ym: "en.ym"; yn: "en.yn"; yo: "en.yo"; yp: "en.yp"; yq: "en.yq"; yr: "en.yr"; ys: "en.ys"; yt: "en.yt"; yu: "en.yu"; yv: "en.yv"; yw: "en.yw"; yx: "en.yx"; yy: "en.yy"; yz: "en.yz"; za: "en.za"; zb: "en.zb"; zc: "en.zc"; zd: "en.zd"; ze: "en.ze"; zf: "en.zf"; zg: "en.zg"; zh: "en.zh"; zi: "en.zi"; zj: "en.zj"; zk: "en.zk"; zl: "en.zl"; zm: "en.zm"; zn: "en.zn"; zo: "en.zo"; zp: "en.zp"; zq: "en.zq"; zr: "en.zr"; zs: "en.zs"; zt: "en.zt"; zu: "en.zu"; zv: "en.zv"; zw: "en.zw"; zx: "en.zx"; zy: "en.zy"; zz: "en.zz"; }; eo: { aa: "eo.aa"; ab: "eo.ab"; ac: "eo.ac"; ad: "eo.ad"; ae: "eo.ae"; af: "eo.af"; ag: "eo.ag"; ah: "eo.ah"; ai: "eo.ai"; aj: "eo.aj"; ak: "eo.ak"; al: "eo.al"; am: "eo.am"; an: "eo.an"; ao: "eo.ao"; ap: "eo.ap"; aq: "eo.aq"; ar: "eo.ar"; as: "eo.as"; at: "eo.at"; au: "eo.au"; av: "eo.av"; aw: "eo.aw"; ax: "eo.ax"; ay: "eo.ay"; az: "eo.az"; ba: "eo.ba"; bb: "eo.bb"; bc: "eo.bc"; bd: "eo.bd"; be: "eo.be"; bf: "eo.bf"; bg: "eo.bg"; bh: "eo.bh"; bi: "eo.bi"; bj: "eo.bj"; bk: "eo.bk"; bl: "eo.bl"; bm: "eo.bm"; bn: "eo.bn"; bo: "eo.bo"; bp: "eo.bp"; bq: "eo.bq"; br: "eo.br"; bs: "eo.bs"; bt: "eo.bt"; bu: "eo.bu"; bv: "eo.bv"; bw: "eo.bw"; bx: "eo.bx"; by: "eo.by"; bz: "eo.bz"; ca: "eo.ca"; cb: "eo.cb"; cc: "eo.cc"; cd: "eo.cd"; ce: "eo.ce"; cf: "eo.cf"; cg: "eo.cg"; ch: "eo.ch"; ci: "eo.ci"; cj: "eo.cj"; ck: "eo.ck"; cl: "eo.cl"; cm: "eo.cm"; cn: "eo.cn"; co: "eo.co"; cp: "eo.cp"; cq: "eo.cq"; cr: "eo.cr"; cs: "eo.cs"; ct: "eo.ct"; cu: "eo.cu"; cv: "eo.cv"; cw: "eo.cw"; cx: "eo.cx"; cy: "eo.cy"; cz: "eo.cz"; da: "eo.da"; db: "eo.db"; dc: "eo.dc"; dd: "eo.dd"; de: "eo.de"; df: "eo.df"; dg: "eo.dg"; dh: "eo.dh"; di: "eo.di"; dj: "eo.dj"; dk: "eo.dk"; dl: "eo.dl"; dm: "eo.dm"; dn: "eo.dn"; do: "eo.do"; dp: "eo.dp"; dq: "eo.dq"; dr: "eo.dr"; ds: "eo.ds"; dt: "eo.dt"; du: "eo.du"; dv: "eo.dv"; dw: "eo.dw"; dx: "eo.dx"; dy: "eo.dy"; dz: "eo.dz"; ea: "eo.ea"; eb: "eo.eb"; ec: "eo.ec"; ed: "eo.ed"; ee: "eo.ee"; ef: "eo.ef"; eg: "eo.eg"; eh: "eo.eh"; ei: "eo.ei"; ej: "eo.ej"; ek: "eo.ek"; el: "eo.el"; em: "eo.em"; en: "eo.en"; eo: "eo.eo"; ep: "eo.ep"; eq: "eo.eq"; er: "eo.er"; es: "eo.es"; et: "eo.et"; eu: "eo.eu"; ev: "eo.ev"; ew: "eo.ew"; ex: "eo.ex"; ey: "eo.ey"; ez: "eo.ez"; fa: "eo.fa"; fb: "eo.fb"; fc: "eo.fc"; fd: "eo.fd"; fe: "eo.fe"; ff: "eo.ff"; fg: "eo.fg"; fh: "eo.fh"; fi: "eo.fi"; fj: "eo.fj"; fk: "eo.fk"; fl: "eo.fl"; fm: "eo.fm"; fn: "eo.fn"; fo: "eo.fo"; fp: "eo.fp"; fq: "eo.fq"; fr: "eo.fr"; fs: "eo.fs"; ft: "eo.ft"; fu: "eo.fu"; fv: "eo.fv"; fw: "eo.fw"; fx: "eo.fx"; fy: "eo.fy"; fz: "eo.fz"; ga: "eo.ga"; gb: "eo.gb"; gc: "eo.gc"; gd: "eo.gd"; ge: "eo.ge"; gf: "eo.gf"; gg: "eo.gg"; gh: "eo.gh"; gi: "eo.gi"; gj: "eo.gj"; gk: "eo.gk"; gl: "eo.gl"; gm: "eo.gm"; gn: "eo.gn"; go: "eo.go"; gp: "eo.gp"; gq: "eo.gq"; gr: "eo.gr"; gs: "eo.gs"; gt: "eo.gt"; gu: "eo.gu"; gv: "eo.gv"; gw: "eo.gw"; gx: "eo.gx"; gy: "eo.gy"; gz: "eo.gz"; ha: "eo.ha"; hb: "eo.hb"; hc: "eo.hc"; hd: "eo.hd"; he: "eo.he"; hf: "eo.hf"; hg: "eo.hg"; hh: "eo.hh"; hi: "eo.hi"; hj: "eo.hj"; hk: "eo.hk"; hl: "eo.hl"; hm: "eo.hm"; hn: "eo.hn"; ho: "eo.ho"; hp: "eo.hp"; hq: "eo.hq"; hr: "eo.hr"; hs: "eo.hs"; ht: "eo.ht"; hu: "eo.hu"; hv: "eo.hv"; hw: "eo.hw"; hx: "eo.hx"; hy: "eo.hy"; hz: "eo.hz"; ia: "eo.ia"; ib: "eo.ib"; ic: "eo.ic"; id: "eo.id"; ie: "eo.ie"; if: "eo.if"; ig: "eo.ig"; ih: "eo.ih"; ii: "eo.ii"; ij: "eo.ij"; ik: "eo.ik"; il: "eo.il"; im: "eo.im"; in: "eo.in"; io: "eo.io"; ip: "eo.ip"; iq: "eo.iq"; ir: "eo.ir"; is: "eo.is"; it: "eo.it"; iu: "eo.iu"; iv: "eo.iv"; iw: "eo.iw"; ix: "eo.ix"; iy: "eo.iy"; iz: "eo.iz"; ja: "eo.ja"; jb: "eo.jb"; jc: "eo.jc"; jd: "eo.jd"; je: "eo.je"; jf: "eo.jf"; jg: "eo.jg"; jh: "eo.jh"; ji: "eo.ji"; jj: "eo.jj"; jk: "eo.jk"; jl: "eo.jl"; jm: "eo.jm"; jn: "eo.jn"; jo: "eo.jo"; jp: "eo.jp"; jq: "eo.jq"; jr: "eo.jr"; js: "eo.js"; jt: "eo.jt"; ju: "eo.ju"; jv: "eo.jv"; jw: "eo.jw"; jx: "eo.jx"; jy: "eo.jy"; jz: "eo.jz"; ka: "eo.ka"; kb: "eo.kb"; kc: "eo.kc"; kd: "eo.kd"; ke: "eo.ke"; kf: "eo.kf"; kg: "eo.kg"; kh: "eo.kh"; ki: "eo.ki"; kj: "eo.kj"; kk: "eo.kk"; kl: "eo.kl"; km: "eo.km"; kn: "eo.kn"; ko: "eo.ko"; kp: "eo.kp"; kq: "eo.kq"; kr: "eo.kr"; ks: "eo.ks"; kt: "eo.kt"; ku: "eo.ku"; kv: "eo.kv"; kw: "eo.kw"; kx: "eo.kx"; ky: "eo.ky"; kz: "eo.kz"; la: "eo.la"; lb: "eo.lb"; lc: "eo.lc"; ld: "eo.ld"; le: "eo.le"; lf: "eo.lf"; lg: "eo.lg"; lh: "eo.lh"; li: "eo.li"; lj: "eo.lj"; lk: "eo.lk"; ll: "eo.ll"; lm: "eo.lm"; ln: "eo.ln"; lo: "eo.lo"; lp: "eo.lp"; lq: "eo.lq"; lr: "eo.lr"; ls: "eo.ls"; lt: "eo.lt"; lu: "eo.lu"; lv: "eo.lv"; lw: "eo.lw"; lx: "eo.lx"; ly: "eo.ly"; lz: "eo.lz"; ma: "eo.ma"; mb: "eo.mb"; mc: "eo.mc"; md: "eo.md"; me: "eo.me"; mf: "eo.mf"; mg: "eo.mg"; mh: "eo.mh"; mi: "eo.mi"; mj: "eo.mj"; mk: "eo.mk"; ml: "eo.ml"; mm: "eo.mm"; mn: "eo.mn"; mo: "eo.mo"; mp: "eo.mp"; mq: "eo.mq"; mr: "eo.mr"; ms: "eo.ms"; mt: "eo.mt"; mu: "eo.mu"; mv: "eo.mv"; mw: "eo.mw"; mx: "eo.mx"; my: "eo.my"; mz: "eo.mz"; na: "eo.na"; nb: "eo.nb"; nc: "eo.nc"; nd: "eo.nd"; ne: "eo.ne"; nf: "eo.nf"; ng: "eo.ng"; nh: "eo.nh"; ni: "eo.ni"; nj: "eo.nj"; nk: "eo.nk"; nl: "eo.nl"; nm: "eo.nm"; nn: "eo.nn"; no: "eo.no"; np: "eo.np"; nq: "eo.nq"; nr: "eo.nr"; ns: "eo.ns"; nt: "eo.nt"; nu: "eo.nu"; nv: "eo.nv"; nw: "eo.nw"; nx: "eo.nx"; ny: "eo.ny"; nz: "eo.nz"; oa: "eo.oa"; ob: "eo.ob"; oc: "eo.oc"; od: "eo.od"; oe: "eo.oe"; of: "eo.of"; og: "eo.og"; oh: "eo.oh"; oi: "eo.oi"; oj: "eo.oj"; ok: "eo.ok"; ol: "eo.ol"; om: "eo.om"; on: "eo.on"; oo: "eo.oo"; op: "eo.op"; oq: "eo.oq"; or: "eo.or"; os: "eo.os"; ot: "eo.ot"; ou: "eo.ou"; ov: "eo.ov"; ow: "eo.ow"; ox: "eo.ox"; oy: "eo.oy"; oz: "eo.oz"; pa: "eo.pa"; pb: "eo.pb"; pc: "eo.pc"; pd: "eo.pd"; pe: "eo.pe"; pf: "eo.pf"; pg: "eo.pg"; ph: "eo.ph"; pi: "eo.pi"; pj: "eo.pj"; pk: "eo.pk"; pl: "eo.pl"; pm: "eo.pm"; pn: "eo.pn"; po: "eo.po"; pp: "eo.pp"; pq: "eo.pq"; pr: "eo.pr"; ps: "eo.ps"; pt: "eo.pt"; pu: "eo.pu"; pv: "eo.pv"; pw: "eo.pw"; px: "eo.px"; py: "eo.py"; pz: "eo.pz"; qa: "eo.qa"; qb: "eo.qb"; qc: "eo.qc"; qd: "eo.qd"; qe: "eo.qe"; qf: "eo.qf"; qg: "eo.qg"; qh: "eo.qh"; qi: "eo.qi"; qj: "eo.qj"; qk: "eo.qk"; ql: "eo.ql"; qm: "eo.qm"; qn: "eo.qn"; qo: "eo.qo"; qp: "eo.qp"; qq: "eo.qq"; qr: "eo.qr"; qs: "eo.qs"; qt: "eo.qt"; qu: "eo.qu"; qv: "eo.qv"; qw: "eo.qw"; qx: "eo.qx"; qy: "eo.qy"; qz: "eo.qz"; ra: "eo.ra"; rb: "eo.rb"; rc: "eo.rc"; rd: "eo.rd"; re: "eo.re"; rf: "eo.rf"; rg: "eo.rg"; rh: "eo.rh"; ri: "eo.ri"; rj: "eo.rj"; rk: "eo.rk"; rl: "eo.rl"; rm: "eo.rm"; rn: "eo.rn"; ro: "eo.ro"; rp: "eo.rp"; rq: "eo.rq"; rr: "eo.rr"; rs: "eo.rs"; rt: "eo.rt"; ru: "eo.ru"; rv: "eo.rv"; rw: "eo.rw"; rx: "eo.rx"; ry: "eo.ry"; rz: "eo.rz"; sa: "eo.sa"; sb: "eo.sb"; sc: "eo.sc"; sd: "eo.sd"; se: "eo.se"; sf: "eo.sf"; sg: "eo.sg"; sh: "eo.sh"; si: "eo.si"; sj: "eo.sj"; sk: "eo.sk"; sl: "eo.sl"; sm: "eo.sm"; sn: "eo.sn"; so: "eo.so"; sp: "eo.sp"; sq: "eo.sq"; sr: "eo.sr"; ss: "eo.ss"; st: "eo.st"; su: "eo.su"; sv: "eo.sv"; sw: "eo.sw"; sx: "eo.sx"; sy: "eo.sy"; sz: "eo.sz"; ta: "eo.ta"; tb: "eo.tb"; tc: "eo.tc"; td: "eo.td"; te: "eo.te"; tf: "eo.tf"; tg: "eo.tg"; th: "eo.th"; ti: "eo.ti"; tj: "eo.tj"; tk: "eo.tk"; tl: "eo.tl"; tm: "eo.tm"; tn: "eo.tn"; to: "eo.to"; tp: "eo.tp"; tq: "eo.tq"; tr: "eo.tr"; ts: "eo.ts"; tt: "eo.tt"; tu: "eo.tu"; tv: "eo.tv"; tw: "eo.tw"; tx: "eo.tx"; ty: "eo.ty"; tz: "eo.tz"; ua: "eo.ua"; ub: "eo.ub"; uc: "eo.uc"; ud: "eo.ud"; ue: "eo.ue"; uf: "eo.uf"; ug: "eo.ug"; uh: "eo.uh"; ui: "eo.ui"; uj: "eo.uj"; uk: "eo.uk"; ul: "eo.ul"; um: "eo.um"; un: "eo.un"; uo: "eo.uo"; up: "eo.up"; uq: "eo.uq"; ur: "eo.ur"; us: "eo.us"; ut: "eo.ut"; uu: "eo.uu"; uv: "eo.uv"; uw: "eo.uw"; ux: "eo.ux"; uy: "eo.uy"; uz: "eo.uz"; va: "eo.va"; vb: "eo.vb"; vc: "eo.vc"; vd: "eo.vd"; ve: "eo.ve"; vf: "eo.vf"; vg: "eo.vg"; vh: "eo.vh"; vi: "eo.vi"; vj: "eo.vj"; vk: "eo.vk"; vl: "eo.vl"; vm: "eo.vm"; vn: "eo.vn"; vo: "eo.vo"; vp: "eo.vp"; vq: "eo.vq"; vr: "eo.vr"; vs: "eo.vs"; vt: "eo.vt"; vu: "eo.vu"; vv: "eo.vv"; vw: "eo.vw"; vx: "eo.vx"; vy: "eo.vy"; vz: "eo.vz"; wa: "eo.wa"; wb: "eo.wb"; wc: "eo.wc"; wd: "eo.wd"; we: "eo.we"; wf: "eo.wf"; wg: "eo.wg"; wh: "eo.wh"; wi: "eo.wi"; wj: "eo.wj"; wk: "eo.wk"; wl: "eo.wl"; wm: "eo.wm"; wn: "eo.wn"; wo: "eo.wo"; wp: "eo.wp"; wq: "eo.wq"; wr: "eo.wr"; ws: "eo.ws"; wt: "eo.wt"; wu: "eo.wu"; wv: "eo.wv"; ww: "eo.ww"; wx: "eo.wx"; wy: "eo.wy"; wz: "eo.wz"; xa: "eo.xa"; xb: "eo.xb"; xc: "eo.xc"; xd: "eo.xd"; xe: "eo.xe"; xf: "eo.xf"; xg: "eo.xg"; xh: "eo.xh"; xi: "eo.xi"; xj: "eo.xj"; xk: "eo.xk"; xl: "eo.xl"; xm: "eo.xm"; xn: "eo.xn"; xo: "eo.xo"; xp: "eo.xp"; xq: "eo.xq"; xr: "eo.xr"; xs: "eo.xs"; xt: "eo.xt"; xu: "eo.xu"; xv: "eo.xv"; xw: "eo.xw"; xx: "eo.xx"; xy: "eo.xy"; xz: "eo.xz"; ya: "eo.ya"; yb: "eo.yb"; yc: "eo.yc"; yd: "eo.yd"; ye: "eo.ye"; yf: "eo.yf"; yg: "eo.yg"; yh: "eo.yh"; yi: "eo.yi"; yj: "eo.yj"; yk: "eo.yk"; yl: "eo.yl"; ym: "eo.ym"; yn: "eo.yn"; yo: "eo.yo"; yp: "eo.yp"; yq: "eo.yq"; yr: "eo.yr"; ys: "eo.ys"; yt: "eo.yt"; yu: "eo.yu"; yv: "eo.yv"; yw: "eo.yw"; yx: "eo.yx"; yy: "eo.yy"; yz: "eo.yz"; za: "eo.za"; zb: "eo.zb"; zc: "eo.zc"; zd: "eo.zd"; ze: "eo.ze"; zf: "eo.zf"; zg: "eo.zg"; zh: "eo.zh"; zi: "eo.zi"; zj: "eo.zj"; zk: "eo.zk"; zl: "eo.zl"; zm: "eo.zm"; zn: "eo.zn"; zo: "eo.zo"; zp: "eo.zp"; zq: "eo.zq"; zr: "eo.zr"; zs: "eo.zs"; zt: "eo.zt"; zu: "eo.zu"; zv: "eo.zv"; zw: "eo.zw"; zx: "eo.zx"; zy: "eo.zy"; zz: "eo.zz"; }; ep: { aa: "ep.aa"; ab: "ep.ab"; ac: "ep.ac"; ad: "ep.ad"; ae: "ep.ae"; af: "ep.af"; ag: "ep.ag"; ah: "ep.ah"; ai: "ep.ai"; aj: "ep.aj"; ak: "ep.ak"; al: "ep.al"; am: "ep.am"; an: "ep.an"; ao: "ep.ao"; ap: "ep.ap"; aq: "ep.aq"; ar: "ep.ar"; as: "ep.as"; at: "ep.at"; au: "ep.au"; av: "ep.av"; aw: "ep.aw"; ax: "ep.ax"; ay: "ep.ay"; az: "ep.az"; ba: "ep.ba"; bb: "ep.bb"; bc: "ep.bc"; bd: "ep.bd"; be: "ep.be"; bf: "ep.bf"; bg: "ep.bg"; bh: "ep.bh"; bi: "ep.bi"; bj: "ep.bj"; bk: "ep.bk"; bl: "ep.bl"; bm: "ep.bm"; bn: "ep.bn"; bo: "ep.bo"; bp: "ep.bp"; bq: "ep.bq"; br: "ep.br"; bs: "ep.bs"; bt: "ep.bt"; bu: "ep.bu"; bv: "ep.bv"; bw: "ep.bw"; bx: "ep.bx"; by: "ep.by"; bz: "ep.bz"; ca: "ep.ca"; cb: "ep.cb"; cc: "ep.cc"; cd: "ep.cd"; ce: "ep.ce"; cf: "ep.cf"; cg: "ep.cg"; ch: "ep.ch"; ci: "ep.ci"; cj: "ep.cj"; ck: "ep.ck"; cl: "ep.cl"; cm: "ep.cm"; cn: "ep.cn"; co: "ep.co"; cp: "ep.cp"; cq: "ep.cq"; cr: "ep.cr"; cs: "ep.cs"; ct: "ep.ct"; cu: "ep.cu"; cv: "ep.cv"; cw: "ep.cw"; cx: "ep.cx"; cy: "ep.cy"; cz: "ep.cz"; da: "ep.da"; db: "ep.db"; dc: "ep.dc"; dd: "ep.dd"; de: "ep.de"; df: "ep.df"; dg: "ep.dg"; dh: "ep.dh"; di: "ep.di"; dj: "ep.dj"; dk: "ep.dk"; dl: "ep.dl"; dm: "ep.dm"; dn: "ep.dn"; do: "ep.do"; dp: "ep.dp"; dq: "ep.dq"; dr: "ep.dr"; ds: "ep.ds"; dt: "ep.dt"; du: "ep.du"; dv: "ep.dv"; dw: "ep.dw"; dx: "ep.dx"; dy: "ep.dy"; dz: "ep.dz"; ea: "ep.ea"; eb: "ep.eb"; ec: "ep.ec"; ed: "ep.ed"; ee: "ep.ee"; ef: "ep.ef"; eg: "ep.eg"; eh: "ep.eh"; ei: "ep.ei"; ej: "ep.ej"; ek: "ep.ek"; el: "ep.el"; em: "ep.em"; en: "ep.en"; eo: "ep.eo"; ep: "ep.ep"; eq: "ep.eq"; er: "ep.er"; es: "ep.es"; et: "ep.et"; eu: "ep.eu"; ev: "ep.ev"; ew: "ep.ew"; ex: "ep.ex"; ey: "ep.ey"; ez: "ep.ez"; fa: "ep.fa"; fb: "ep.fb"; fc: "ep.fc"; fd: "ep.fd"; fe: "ep.fe"; ff: "ep.ff"; fg: "ep.fg"; fh: "ep.fh"; fi: "ep.fi"; fj: "ep.fj"; fk: "ep.fk"; fl: "ep.fl"; fm: "ep.fm"; fn: "ep.fn"; fo: "ep.fo"; fp: "ep.fp"; fq: "ep.fq"; fr: "ep.fr"; fs: "ep.fs"; ft: "ep.ft"; fu: "ep.fu"; fv: "ep.fv"; fw: "ep.fw"; fx: "ep.fx"; fy: "ep.fy"; fz: "ep.fz"; ga: "ep.ga"; gb: "ep.gb"; gc: "ep.gc"; gd: "ep.gd"; ge: "ep.ge"; gf: "ep.gf"; gg: "ep.gg"; gh: "ep.gh"; gi: "ep.gi"; gj: "ep.gj"; gk: "ep.gk"; gl: "ep.gl"; gm: "ep.gm"; gn: "ep.gn"; go: "ep.go"; gp: "ep.gp"; gq: "ep.gq"; gr: "ep.gr"; gs: "ep.gs"; gt: "ep.gt"; gu: "ep.gu"; gv: "ep.gv"; gw: "ep.gw"; gx: "ep.gx"; gy: "ep.gy"; gz: "ep.gz"; ha: "ep.ha"; hb: "ep.hb"; hc: "ep.hc"; hd: "ep.hd"; he: "ep.he"; hf: "ep.hf"; hg: "ep.hg"; hh: "ep.hh"; hi: "ep.hi"; hj: "ep.hj"; hk: "ep.hk"; hl: "ep.hl"; hm: "ep.hm"; hn: "ep.hn"; ho: "ep.ho"; hp: "ep.hp"; hq: "ep.hq"; hr: "ep.hr"; hs: "ep.hs"; ht: "ep.ht"; hu: "ep.hu"; hv: "ep.hv"; hw: "ep.hw"; hx: "ep.hx"; hy: "ep.hy"; hz: "ep.hz"; ia: "ep.ia"; ib: "ep.ib"; ic: "ep.ic"; id: "ep.id"; ie: "ep.ie"; if: "ep.if"; ig: "ep.ig"; ih: "ep.ih"; ii: "ep.ii"; ij: "ep.ij"; ik: "ep.ik"; il: "ep.il"; im: "ep.im"; in: "ep.in"; io: "ep.io"; ip: "ep.ip"; iq: "ep.iq"; ir: "ep.ir"; is: "ep.is"; it: "ep.it"; iu: "ep.iu"; iv: "ep.iv"; iw: "ep.iw"; ix: "ep.ix"; iy: "ep.iy"; iz: "ep.iz"; ja: "ep.ja"; jb: "ep.jb"; jc: "ep.jc"; jd: "ep.jd"; je: "ep.je"; jf: "ep.jf"; jg: "ep.jg"; jh: "ep.jh"; ji: "ep.ji"; jj: "ep.jj"; jk: "ep.jk"; jl: "ep.jl"; jm: "ep.jm"; jn: "ep.jn"; jo: "ep.jo"; jp: "ep.jp"; jq: "ep.jq"; jr: "ep.jr"; js: "ep.js"; jt: "ep.jt"; ju: "ep.ju"; jv: "ep.jv"; jw: "ep.jw"; jx: "ep.jx"; jy: "ep.jy"; jz: "ep.jz"; ka: "ep.ka"; kb: "ep.kb"; kc: "ep.kc"; kd: "ep.kd"; ke: "ep.ke"; kf: "ep.kf"; kg: "ep.kg"; kh: "ep.kh"; ki: "ep.ki"; kj: "ep.kj"; kk: "ep.kk"; kl: "ep.kl"; km: "ep.km"; kn: "ep.kn"; ko: "ep.ko"; kp: "ep.kp"; kq: "ep.kq"; kr: "ep.kr"; ks: "ep.ks"; kt: "ep.kt"; ku: "ep.ku"; kv: "ep.kv"; kw: "ep.kw"; kx: "ep.kx"; ky: "ep.ky"; kz: "ep.kz"; la: "ep.la"; lb: "ep.lb"; lc: "ep.lc"; ld: "ep.ld"; le: "ep.le"; lf: "ep.lf"; lg: "ep.lg"; lh: "ep.lh"; li: "ep.li"; lj: "ep.lj"; lk: "ep.lk"; ll: "ep.ll"; lm: "ep.lm"; ln: "ep.ln"; lo: "ep.lo"; lp: "ep.lp"; lq: "ep.lq"; lr: "ep.lr"; ls: "ep.ls"; lt: "ep.lt"; lu: "ep.lu"; lv: "ep.lv"; lw: "ep.lw"; lx: "ep.lx"; ly: "ep.ly"; lz: "ep.lz"; ma: "ep.ma"; mb: "ep.mb"; mc: "ep.mc"; md: "ep.md"; me: "ep.me"; mf: "ep.mf"; mg: "ep.mg"; mh: "ep.mh"; mi: "ep.mi"; mj: "ep.mj"; mk: "ep.mk"; ml: "ep.ml"; mm: "ep.mm"; mn: "ep.mn"; mo: "ep.mo"; mp: "ep.mp"; mq: "ep.mq"; mr: "ep.mr"; ms: "ep.ms"; mt: "ep.mt"; mu: "ep.mu"; mv: "ep.mv"; mw: "ep.mw"; mx: "ep.mx"; my: "ep.my"; mz: "ep.mz"; na: "ep.na"; nb: "ep.nb"; nc: "ep.nc"; nd: "ep.nd"; ne: "ep.ne"; nf: "ep.nf"; ng: "ep.ng"; nh: "ep.nh"; ni: "ep.ni"; nj: "ep.nj"; nk: "ep.nk"; nl: "ep.nl"; nm: "ep.nm"; nn: "ep.nn"; no: "ep.no"; np: "ep.np"; nq: "ep.nq"; nr: "ep.nr"; ns: "ep.ns"; nt: "ep.nt"; nu: "ep.nu"; nv: "ep.nv"; nw: "ep.nw"; nx: "ep.nx"; ny: "ep.ny"; nz: "ep.nz"; oa: "ep.oa"; ob: "ep.ob"; oc: "ep.oc"; od: "ep.od"; oe: "ep.oe"; of: "ep.of"; og: "ep.og"; oh: "ep.oh"; oi: "ep.oi"; oj: "ep.oj"; ok: "ep.ok"; ol: "ep.ol"; om: "ep.om"; on: "ep.on"; oo: "ep.oo"; op: "ep.op"; oq: "ep.oq"; or: "ep.or"; os: "ep.os"; ot: "ep.ot"; ou: "ep.ou"; ov: "ep.ov"; ow: "ep.ow"; ox: "ep.ox"; oy: "ep.oy"; oz: "ep.oz"; pa: "ep.pa"; pb: "ep.pb"; pc: "ep.pc"; pd: "ep.pd"; pe: "ep.pe"; pf: "ep.pf"; pg: "ep.pg"; ph: "ep.ph"; pi: "ep.pi"; pj: "ep.pj"; pk: "ep.pk"; pl: "ep.pl"; pm: "ep.pm"; pn: "ep.pn"; po: "ep.po"; pp: "ep.pp"; pq: "ep.pq"; pr: "ep.pr"; ps: "ep.ps"; pt: "ep.pt"; pu: "ep.pu"; pv: "ep.pv"; pw: "ep.pw"; px: "ep.px"; py: "ep.py"; pz: "ep.pz"; qa: "ep.qa"; qb: "ep.qb"; qc: "ep.qc"; qd: "ep.qd"; qe: "ep.qe"; qf: "ep.qf"; qg: "ep.qg"; qh: "ep.qh"; qi: "ep.qi"; qj: "ep.qj"; qk: "ep.qk"; ql: "ep.ql"; qm: "ep.qm"; qn: "ep.qn"; qo: "ep.qo"; qp: "ep.qp"; qq: "ep.qq"; qr: "ep.qr"; qs: "ep.qs"; qt: "ep.qt"; qu: "ep.qu"; qv: "ep.qv"; qw: "ep.qw"; qx: "ep.qx"; qy: "ep.qy"; qz: "ep.qz"; ra: "ep.ra"; rb: "ep.rb"; rc: "ep.rc"; rd: "ep.rd"; re: "ep.re"; rf: "ep.rf"; rg: "ep.rg"; rh: "ep.rh"; ri: "ep.ri"; rj: "ep.rj"; rk: "ep.rk"; rl: "ep.rl"; rm: "ep.rm"; rn: "ep.rn"; ro: "ep.ro"; rp: "ep.rp"; rq: "ep.rq"; rr: "ep.rr"; rs: "ep.rs"; rt: "ep.rt"; ru: "ep.ru"; rv: "ep.rv"; rw: "ep.rw"; rx: "ep.rx"; ry: "ep.ry"; rz: "ep.rz"; sa: "ep.sa"; sb: "ep.sb"; sc: "ep.sc"; sd: "ep.sd"; se: "ep.se"; sf: "ep.sf"; sg: "ep.sg"; sh: "ep.sh"; si: "ep.si"; sj: "ep.sj"; sk: "ep.sk"; sl: "ep.sl"; sm: "ep.sm"; sn: "ep.sn"; so: "ep.so"; sp: "ep.sp"; sq: "ep.sq"; sr: "ep.sr"; ss: "ep.ss"; st: "ep.st"; su: "ep.su"; sv: "ep.sv"; sw: "ep.sw"; sx: "ep.sx"; sy: "ep.sy"; sz: "ep.sz"; ta: "ep.ta"; tb: "ep.tb"; tc: "ep.tc"; td: "ep.td"; te: "ep.te"; tf: "ep.tf"; tg: "ep.tg"; th: "ep.th"; ti: "ep.ti"; tj: "ep.tj"; tk: "ep.tk"; tl: "ep.tl"; tm: "ep.tm"; tn: "ep.tn"; to: "ep.to"; tp: "ep.tp"; tq: "ep.tq"; tr: "ep.tr"; ts: "ep.ts"; tt: "ep.tt"; tu: "ep.tu"; tv: "ep.tv"; tw: "ep.tw"; tx: "ep.tx"; ty: "ep.ty"; tz: "ep.tz"; ua: "ep.ua"; ub: "ep.ub"; uc: "ep.uc"; ud: "ep.ud"; ue: "ep.ue"; uf: "ep.uf"; ug: "ep.ug"; uh: "ep.uh"; ui: "ep.ui"; uj: "ep.uj"; uk: "ep.uk"; ul: "ep.ul"; um: "ep.um"; un: "ep.un"; uo: "ep.uo"; up: "ep.up"; uq: "ep.uq"; ur: "ep.ur"; us: "ep.us"; ut: "ep.ut"; uu: "ep.uu"; uv: "ep.uv"; uw: "ep.uw"; ux: "ep.ux"; uy: "ep.uy"; uz: "ep.uz"; va: "ep.va"; vb: "ep.vb"; vc: "ep.vc"; vd: "ep.vd"; ve: "ep.ve"; vf: "ep.vf"; vg: "ep.vg"; vh: "ep.vh"; vi: "ep.vi"; vj: "ep.vj"; vk: "ep.vk"; vl: "ep.vl"; vm: "ep.vm"; vn: "ep.vn"; vo: "ep.vo"; vp: "ep.vp"; vq: "ep.vq"; vr: "ep.vr"; vs: "ep.vs"; vt: "ep.vt"; vu: "ep.vu"; vv: "ep.vv"; vw: "ep.vw"; vx: "ep.vx"; vy: "ep.vy"; vz: "ep.vz"; wa: "ep.wa"; wb: "ep.wb"; wc: "ep.wc"; wd: "ep.wd"; we: "ep.we"; wf: "ep.wf"; wg: "ep.wg"; wh: "ep.wh"; wi: "ep.wi"; wj: "ep.wj"; wk: "ep.wk"; wl: "ep.wl"; wm: "ep.wm"; wn: "ep.wn"; wo: "ep.wo"; wp: "ep.wp"; wq: "ep.wq"; wr: "ep.wr"; ws: "ep.ws"; wt: "ep.wt"; wu: "ep.wu"; wv: "ep.wv"; ww: "ep.ww"; wx: "ep.wx"; wy: "ep.wy"; wz: "ep.wz"; xa: "ep.xa"; xb: "ep.xb"; xc: "ep.xc"; xd: "ep.xd"; xe: "ep.xe"; xf: "ep.xf"; xg: "ep.xg"; xh: "ep.xh"; xi: "ep.xi"; xj: "ep.xj"; xk: "ep.xk"; xl: "ep.xl"; xm: "ep.xm"; xn: "ep.xn"; xo: "ep.xo"; xp: "ep.xp"; xq: "ep.xq"; xr: "ep.xr"; xs: "ep.xs"; xt: "ep.xt"; xu: "ep.xu"; xv: "ep.xv"; xw: "ep.xw"; xx: "ep.xx"; xy: "ep.xy"; xz: "ep.xz"; ya: "ep.ya"; yb: "ep.yb"; yc: "ep.yc"; yd: "ep.yd"; ye: "ep.ye"; yf: "ep.yf"; yg: "ep.yg"; yh: "ep.yh"; yi: "ep.yi"; yj: "ep.yj"; yk: "ep.yk"; yl: "ep.yl"; ym: "ep.ym"; yn: "ep.yn"; yo: "ep.yo"; yp: "ep.yp"; yq: "ep.yq"; yr: "ep.yr"; ys: "ep.ys"; yt: "ep.yt"; yu: "ep.yu"; yv: "ep.yv"; yw: "ep.yw"; yx: "ep.yx"; yy: "ep.yy"; yz: "ep.yz"; za: "ep.za"; zb: "ep.zb"; zc: "ep.zc"; zd: "ep.zd"; ze: "ep.ze"; zf: "ep.zf"; zg: "ep.zg"; zh: "ep.zh"; zi: "ep.zi"; zj: "ep.zj"; zk: "ep.zk"; zl: "ep.zl"; zm: "ep.zm"; zn: "ep.zn"; zo: "ep.zo"; zp: "ep.zp"; zq: "ep.zq"; zr: "ep.zr"; zs: "ep.zs"; zt: "ep.zt"; zu: "ep.zu"; zv: "ep.zv"; zw: "ep.zw"; zx: "ep.zx"; zy: "ep.zy"; zz: "ep.zz"; }; eq: { aa: "eq.aa"; ab: "eq.ab"; ac: "eq.ac"; ad: "eq.ad"; ae: "eq.ae"; af: "eq.af"; ag: "eq.ag"; ah: "eq.ah"; ai: "eq.ai"; aj: "eq.aj"; ak: "eq.ak"; al: "eq.al"; am: "eq.am"; an: "eq.an"; ao: "eq.ao"; ap: "eq.ap"; aq: "eq.aq"; ar: "eq.ar"; as: "eq.as"; at: "eq.at"; au: "eq.au"; av: "eq.av"; aw: "eq.aw"; ax: "eq.ax"; ay: "eq.ay"; az: "eq.az"; ba: "eq.ba"; bb: "eq.bb"; bc: "eq.bc"; bd: "eq.bd"; be: "eq.be"; bf: "eq.bf"; bg: "eq.bg"; bh: "eq.bh"; bi: "eq.bi"; bj: "eq.bj"; bk: "eq.bk"; bl: "eq.bl"; bm: "eq.bm"; bn: "eq.bn"; bo: "eq.bo"; bp: "eq.bp"; bq: "eq.bq"; br: "eq.br"; bs: "eq.bs"; bt: "eq.bt"; bu: "eq.bu"; bv: "eq.bv"; bw: "eq.bw"; bx: "eq.bx"; by: "eq.by"; bz: "eq.bz"; ca: "eq.ca"; cb: "eq.cb"; cc: "eq.cc"; cd: "eq.cd"; ce: "eq.ce"; cf: "eq.cf"; cg: "eq.cg"; ch: "eq.ch"; ci: "eq.ci"; cj: "eq.cj"; ck: "eq.ck"; cl: "eq.cl"; cm: "eq.cm"; cn: "eq.cn"; co: "eq.co"; cp: "eq.cp"; cq: "eq.cq"; cr: "eq.cr"; cs: "eq.cs"; ct: "eq.ct"; cu: "eq.cu"; cv: "eq.cv"; cw: "eq.cw"; cx: "eq.cx"; cy: "eq.cy"; cz: "eq.cz"; da: "eq.da"; db: "eq.db"; dc: "eq.dc"; dd: "eq.dd"; de: "eq.de"; df: "eq.df"; dg: "eq.dg"; dh: "eq.dh"; di: "eq.di"; dj: "eq.dj"; dk: "eq.dk"; dl: "eq.dl"; dm: "eq.dm"; dn: "eq.dn"; do: "eq.do"; dp: "eq.dp"; dq: "eq.dq"; dr: "eq.dr"; ds: "eq.ds"; dt: "eq.dt"; du: "eq.du"; dv: "eq.dv"; dw: "eq.dw"; dx: "eq.dx"; dy: "eq.dy"; dz: "eq.dz"; ea: "eq.ea"; eb: "eq.eb"; ec: "eq.ec"; ed: "eq.ed"; ee: "eq.ee"; ef: "eq.ef"; eg: "eq.eg"; eh: "eq.eh"; ei: "eq.ei"; ej: "eq.ej"; ek: "eq.ek"; el: "eq.el"; em: "eq.em"; en: "eq.en"; eo: "eq.eo"; ep: "eq.ep"; eq: "eq.eq"; er: "eq.er"; es: "eq.es"; et: "eq.et"; eu: "eq.eu"; ev: "eq.ev"; ew: "eq.ew"; ex: "eq.ex"; ey: "eq.ey"; ez: "eq.ez"; fa: "eq.fa"; fb: "eq.fb"; fc: "eq.fc"; fd: "eq.fd"; fe: "eq.fe"; ff: "eq.ff"; fg: "eq.fg"; fh: "eq.fh"; fi: "eq.fi"; fj: "eq.fj"; fk: "eq.fk"; fl: "eq.fl"; fm: "eq.fm"; fn: "eq.fn"; fo: "eq.fo"; fp: "eq.fp"; fq: "eq.fq"; fr: "eq.fr"; fs: "eq.fs"; ft: "eq.ft"; fu: "eq.fu"; fv: "eq.fv"; fw: "eq.fw"; fx: "eq.fx"; fy: "eq.fy"; fz: "eq.fz"; ga: "eq.ga"; gb: "eq.gb"; gc: "eq.gc"; gd: "eq.gd"; ge: "eq.ge"; gf: "eq.gf"; gg: "eq.gg"; gh: "eq.gh"; gi: "eq.gi"; gj: "eq.gj"; gk: "eq.gk"; gl: "eq.gl"; gm: "eq.gm"; gn: "eq.gn"; go: "eq.go"; gp: "eq.gp"; gq: "eq.gq"; gr: "eq.gr"; gs: "eq.gs"; gt: "eq.gt"; gu: "eq.gu"; gv: "eq.gv"; gw: "eq.gw"; gx: "eq.gx"; gy: "eq.gy"; gz: "eq.gz"; ha: "eq.ha"; hb: "eq.hb"; hc: "eq.hc"; hd: "eq.hd"; he: "eq.he"; hf: "eq.hf"; hg: "eq.hg"; hh: "eq.hh"; hi: "eq.hi"; hj: "eq.hj"; hk: "eq.hk"; hl: "eq.hl"; hm: "eq.hm"; hn: "eq.hn"; ho: "eq.ho"; hp: "eq.hp"; hq: "eq.hq"; hr: "eq.hr"; hs: "eq.hs"; ht: "eq.ht"; hu: "eq.hu"; hv: "eq.hv"; hw: "eq.hw"; hx: "eq.hx"; hy: "eq.hy"; hz: "eq.hz"; ia: "eq.ia"; ib: "eq.ib"; ic: "eq.ic"; id: "eq.id"; ie: "eq.ie"; if: "eq.if"; ig: "eq.ig"; ih: "eq.ih"; ii: "eq.ii"; ij: "eq.ij"; ik: "eq.ik"; il: "eq.il"; im: "eq.im"; in: "eq.in"; io: "eq.io"; ip: "eq.ip"; iq: "eq.iq"; ir: "eq.ir"; is: "eq.is"; it: "eq.it"; iu: "eq.iu"; iv: "eq.iv"; iw: "eq.iw"; ix: "eq.ix"; iy: "eq.iy"; iz: "eq.iz"; ja: "eq.ja"; jb: "eq.jb"; jc: "eq.jc"; jd: "eq.jd"; je: "eq.je"; jf: "eq.jf"; jg: "eq.jg"; jh: "eq.jh"; ji: "eq.ji"; jj: "eq.jj"; jk: "eq.jk"; jl: "eq.jl"; jm: "eq.jm"; jn: "eq.jn"; jo: "eq.jo"; jp: "eq.jp"; jq: "eq.jq"; jr: "eq.jr"; js: "eq.js"; jt: "eq.jt"; ju: "eq.ju"; jv: "eq.jv"; jw: "eq.jw"; jx: "eq.jx"; jy: "eq.jy"; jz: "eq.jz"; ka: "eq.ka"; kb: "eq.kb"; kc: "eq.kc"; kd: "eq.kd"; ke: "eq.ke"; kf: "eq.kf"; kg: "eq.kg"; kh: "eq.kh"; ki: "eq.ki"; kj: "eq.kj"; kk: "eq.kk"; kl: "eq.kl"; km: "eq.km"; kn: "eq.kn"; ko: "eq.ko"; kp: "eq.kp"; kq: "eq.kq"; kr: "eq.kr"; ks: "eq.ks"; kt: "eq.kt"; ku: "eq.ku"; kv: "eq.kv"; kw: "eq.kw"; kx: "eq.kx"; ky: "eq.ky"; kz: "eq.kz"; la: "eq.la"; lb: "eq.lb"; lc: "eq.lc"; ld: "eq.ld"; le: "eq.le"; lf: "eq.lf"; lg: "eq.lg"; lh: "eq.lh"; li: "eq.li"; lj: "eq.lj"; lk: "eq.lk"; ll: "eq.ll"; lm: "eq.lm"; ln: "eq.ln"; lo: "eq.lo"; lp: "eq.lp"; lq: "eq.lq"; lr: "eq.lr"; ls: "eq.ls"; lt: "eq.lt"; lu: "eq.lu"; lv: "eq.lv"; lw: "eq.lw"; lx: "eq.lx"; ly: "eq.ly"; lz: "eq.lz"; ma: "eq.ma"; mb: "eq.mb"; mc: "eq.mc"; md: "eq.md"; me: "eq.me"; mf: "eq.mf"; mg: "eq.mg"; mh: "eq.mh"; mi: "eq.mi"; mj: "eq.mj"; mk: "eq.mk"; ml: "eq.ml"; mm: "eq.mm"; mn: "eq.mn"; mo: "eq.mo"; mp: "eq.mp"; mq: "eq.mq"; mr: "eq.mr"; ms: "eq.ms"; mt: "eq.mt"; mu: "eq.mu"; mv: "eq.mv"; mw: "eq.mw"; mx: "eq.mx"; my: "eq.my"; mz: "eq.mz"; na: "eq.na"; nb: "eq.nb"; nc: "eq.nc"; nd: "eq.nd"; ne: "eq.ne"; nf: "eq.nf"; ng: "eq.ng"; nh: "eq.nh"; ni: "eq.ni"; nj: "eq.nj"; nk: "eq.nk"; nl: "eq.nl"; nm: "eq.nm"; nn: "eq.nn"; no: "eq.no"; np: "eq.np"; nq: "eq.nq"; nr: "eq.nr"; ns: "eq.ns"; nt: "eq.nt"; nu: "eq.nu"; nv: "eq.nv"; nw: "eq.nw"; nx: "eq.nx"; ny: "eq.ny"; nz: "eq.nz"; oa: "eq.oa"; ob: "eq.ob"; oc: "eq.oc"; od: "eq.od"; oe: "eq.oe"; of: "eq.of"; og: "eq.og"; oh: "eq.oh"; oi: "eq.oi"; oj: "eq.oj"; ok: "eq.ok"; ol: "eq.ol"; om: "eq.om"; on: "eq.on"; oo: "eq.oo"; op: "eq.op"; oq: "eq.oq"; or: "eq.or"; os: "eq.os"; ot: "eq.ot"; ou: "eq.ou"; ov: "eq.ov"; ow: "eq.ow"; ox: "eq.ox"; oy: "eq.oy"; oz: "eq.oz"; pa: "eq.pa"; pb: "eq.pb"; pc: "eq.pc"; pd: "eq.pd"; pe: "eq.pe"; pf: "eq.pf"; pg: "eq.pg"; ph: "eq.ph"; pi: "eq.pi"; pj: "eq.pj"; pk: "eq.pk"; pl: "eq.pl"; pm: "eq.pm"; pn: "eq.pn"; po: "eq.po"; pp: "eq.pp"; pq: "eq.pq"; pr: "eq.pr"; ps: "eq.ps"; pt: "eq.pt"; pu: "eq.pu"; pv: "eq.pv"; pw: "eq.pw"; px: "eq.px"; py: "eq.py"; pz: "eq.pz"; qa: "eq.qa"; qb: "eq.qb"; qc: "eq.qc"; qd: "eq.qd"; qe: "eq.qe"; qf: "eq.qf"; qg: "eq.qg"; qh: "eq.qh"; qi: "eq.qi"; qj: "eq.qj"; qk: "eq.qk"; ql: "eq.ql"; qm: "eq.qm"; qn: "eq.qn"; qo: "eq.qo"; qp: "eq.qp"; qq: "eq.qq"; qr: "eq.qr"; qs: "eq.qs"; qt: "eq.qt"; qu: "eq.qu"; qv: "eq.qv"; qw: "eq.qw"; qx: "eq.qx"; qy: "eq.qy"; qz: "eq.qz"; ra: "eq.ra"; rb: "eq.rb"; rc: "eq.rc"; rd: "eq.rd"; re: "eq.re"; rf: "eq.rf"; rg: "eq.rg"; rh: "eq.rh"; ri: "eq.ri"; rj: "eq.rj"; rk: "eq.rk"; rl: "eq.rl"; rm: "eq.rm"; rn: "eq.rn"; ro: "eq.ro"; rp: "eq.rp"; rq: "eq.rq"; rr: "eq.rr"; rs: "eq.rs"; rt: "eq.rt"; ru: "eq.ru"; rv: "eq.rv"; rw: "eq.rw"; rx: "eq.rx"; ry: "eq.ry"; rz: "eq.rz"; sa: "eq.sa"; sb: "eq.sb"; sc: "eq.sc"; sd: "eq.sd"; se: "eq.se"; sf: "eq.sf"; sg: "eq.sg"; sh: "eq.sh"; si: "eq.si"; sj: "eq.sj"; sk: "eq.sk"; sl: "eq.sl"; sm: "eq.sm"; sn: "eq.sn"; so: "eq.so"; sp: "eq.sp"; sq: "eq.sq"; sr: "eq.sr"; ss: "eq.ss"; st: "eq.st"; su: "eq.su"; sv: "eq.sv"; sw: "eq.sw"; sx: "eq.sx"; sy: "eq.sy"; sz: "eq.sz"; ta: "eq.ta"; tb: "eq.tb"; tc: "eq.tc"; td: "eq.td"; te: "eq.te"; tf: "eq.tf"; tg: "eq.tg"; th: "eq.th"; ti: "eq.ti"; tj: "eq.tj"; tk: "eq.tk"; tl: "eq.tl"; tm: "eq.tm"; tn: "eq.tn"; to: "eq.to"; tp: "eq.tp"; tq: "eq.tq"; tr: "eq.tr"; ts: "eq.ts"; tt: "eq.tt"; tu: "eq.tu"; tv: "eq.tv"; tw: "eq.tw"; tx: "eq.tx"; ty: "eq.ty"; tz: "eq.tz"; ua: "eq.ua"; ub: "eq.ub"; uc: "eq.uc"; ud: "eq.ud"; ue: "eq.ue"; uf: "eq.uf"; ug: "eq.ug"; uh: "eq.uh"; ui: "eq.ui"; uj: "eq.uj"; uk: "eq.uk"; ul: "eq.ul"; um: "eq.um"; un: "eq.un"; uo: "eq.uo"; up: "eq.up"; uq: "eq.uq"; ur: "eq.ur"; us: "eq.us"; ut: "eq.ut"; uu: "eq.uu"; uv: "eq.uv"; uw: "eq.uw"; ux: "eq.ux"; uy: "eq.uy"; uz: "eq.uz"; va: "eq.va"; vb: "eq.vb"; vc: "eq.vc"; vd: "eq.vd"; ve: "eq.ve"; vf: "eq.vf"; vg: "eq.vg"; vh: "eq.vh"; vi: "eq.vi"; vj: "eq.vj"; vk: "eq.vk"; vl: "eq.vl"; vm: "eq.vm"; vn: "eq.vn"; vo: "eq.vo"; vp: "eq.vp"; vq: "eq.vq"; vr: "eq.vr"; vs: "eq.vs"; vt: "eq.vt"; vu: "eq.vu"; vv: "eq.vv"; vw: "eq.vw"; vx: "eq.vx"; vy: "eq.vy"; vz: "eq.vz"; wa: "eq.wa"; wb: "eq.wb"; wc: "eq.wc"; wd: "eq.wd"; we: "eq.we"; wf: "eq.wf"; wg: "eq.wg"; wh: "eq.wh"; wi: "eq.wi"; wj: "eq.wj"; wk: "eq.wk"; wl: "eq.wl"; wm: "eq.wm"; wn: "eq.wn"; wo: "eq.wo"; wp: "eq.wp"; wq: "eq.wq"; wr: "eq.wr"; ws: "eq.ws"; wt: "eq.wt"; wu: "eq.wu"; wv: "eq.wv"; ww: "eq.ww"; wx: "eq.wx"; wy: "eq.wy"; wz: "eq.wz"; xa: "eq.xa"; xb: "eq.xb"; xc: "eq.xc"; xd: "eq.xd"; xe: "eq.xe"; xf: "eq.xf"; xg: "eq.xg"; xh: "eq.xh"; xi: "eq.xi"; xj: "eq.xj"; xk: "eq.xk"; xl: "eq.xl"; xm: "eq.xm"; xn: "eq.xn"; xo: "eq.xo"; xp: "eq.xp"; xq: "eq.xq"; xr: "eq.xr"; xs: "eq.xs"; xt: "eq.xt"; xu: "eq.xu"; xv: "eq.xv"; xw: "eq.xw"; xx: "eq.xx"; xy: "eq.xy"; xz: "eq.xz"; ya: "eq.ya"; yb: "eq.yb"; yc: "eq.yc"; yd: "eq.yd"; ye: "eq.ye"; yf: "eq.yf"; yg: "eq.yg"; yh: "eq.yh"; yi: "eq.yi"; yj: "eq.yj"; yk: "eq.yk"; yl: "eq.yl"; ym: "eq.ym"; yn: "eq.yn"; yo: "eq.yo"; yp: "eq.yp"; yq: "eq.yq"; yr: "eq.yr"; ys: "eq.ys"; yt: "eq.yt"; yu: "eq.yu"; yv: "eq.yv"; yw: "eq.yw"; yx: "eq.yx"; yy: "eq.yy"; yz: "eq.yz"; za: "eq.za"; zb: "eq.zb"; zc: "eq.zc"; zd: "eq.zd"; ze: "eq.ze"; zf: "eq.zf"; zg: "eq.zg"; zh: "eq.zh"; zi: "eq.zi"; zj: "eq.zj"; zk: "eq.zk"; zl: "eq.zl"; zm: "eq.zm"; zn: "eq.zn"; zo: "eq.zo"; zp: "eq.zp"; zq: "eq.zq"; zr: "eq.zr"; zs: "eq.zs"; zt: "eq.zt"; zu: "eq.zu"; zv: "eq.zv"; zw: "eq.zw"; zx: "eq.zx"; zy: "eq.zy"; zz: "eq.zz"; }; er: { aa: "er.aa"; ab: "er.ab"; ac: "er.ac"; ad: "er.ad"; ae: "er.ae"; af: "er.af"; ag: "er.ag"; ah: "er.ah"; ai: "er.ai"; aj: "er.aj"; ak: "er.ak"; al: "er.al"; am: "er.am"; an: "er.an"; ao: "er.ao"; ap: "er.ap"; aq: "er.aq"; ar: "er.ar"; as: "er.as"; at: "er.at"; au: "er.au"; av: "er.av"; aw: "er.aw"; ax: "er.ax"; ay: "er.ay"; az: "er.az"; ba: "er.ba"; bb: "er.bb"; bc: "er.bc"; bd: "er.bd"; be: "er.be"; bf: "er.bf"; bg: "er.bg"; bh: "er.bh"; bi: "er.bi"; bj: "er.bj"; bk: "er.bk"; bl: "er.bl"; bm: "er.bm"; bn: "er.bn"; bo: "er.bo"; bp: "er.bp"; bq: "er.bq"; br: "er.br"; bs: "er.bs"; bt: "er.bt"; bu: "er.bu"; bv: "er.bv"; bw: "er.bw"; bx: "er.bx"; by: "er.by"; bz: "er.bz"; ca: "er.ca"; cb: "er.cb"; cc: "er.cc"; cd: "er.cd"; ce: "er.ce"; cf: "er.cf"; cg: "er.cg"; ch: "er.ch"; ci: "er.ci"; cj: "er.cj"; ck: "er.ck"; cl: "er.cl"; cm: "er.cm"; cn: "er.cn"; co: "er.co"; cp: "er.cp"; cq: "er.cq"; cr: "er.cr"; cs: "er.cs"; ct: "er.ct"; cu: "er.cu"; cv: "er.cv"; cw: "er.cw"; cx: "er.cx"; cy: "er.cy"; cz: "er.cz"; da: "er.da"; db: "er.db"; dc: "er.dc"; dd: "er.dd"; de: "er.de"; df: "er.df"; dg: "er.dg"; dh: "er.dh"; di: "er.di"; dj: "er.dj"; dk: "er.dk"; dl: "er.dl"; dm: "er.dm"; dn: "er.dn"; do: "er.do"; dp: "er.dp"; dq: "er.dq"; dr: "er.dr"; ds: "er.ds"; dt: "er.dt"; du: "er.du"; dv: "er.dv"; dw: "er.dw"; dx: "er.dx"; dy: "er.dy"; dz: "er.dz"; ea: "er.ea"; eb: "er.eb"; ec: "er.ec"; ed: "er.ed"; ee: "er.ee"; ef: "er.ef"; eg: "er.eg"; eh: "er.eh"; ei: "er.ei"; ej: "er.ej"; ek: "er.ek"; el: "er.el"; em: "er.em"; en: "er.en"; eo: "er.eo"; ep: "er.ep"; eq: "er.eq"; er: "er.er"; es: "er.es"; et: "er.et"; eu: "er.eu"; ev: "er.ev"; ew: "er.ew"; ex: "er.ex"; ey: "er.ey"; ez: "er.ez"; fa: "er.fa"; fb: "er.fb"; fc: "er.fc"; fd: "er.fd"; fe: "er.fe"; ff: "er.ff"; fg: "er.fg"; fh: "er.fh"; fi: "er.fi"; fj: "er.fj"; fk: "er.fk"; fl: "er.fl"; fm: "er.fm"; fn: "er.fn"; fo: "er.fo"; fp: "er.fp"; fq: "er.fq"; fr: "er.fr"; fs: "er.fs"; ft: "er.ft"; fu: "er.fu"; fv: "er.fv"; fw: "er.fw"; fx: "er.fx"; fy: "er.fy"; fz: "er.fz"; ga: "er.ga"; gb: "er.gb"; gc: "er.gc"; gd: "er.gd"; ge: "er.ge"; gf: "er.gf"; gg: "er.gg"; gh: "er.gh"; gi: "er.gi"; gj: "er.gj"; gk: "er.gk"; gl: "er.gl"; gm: "er.gm"; gn: "er.gn"; go: "er.go"; gp: "er.gp"; gq: "er.gq"; gr: "er.gr"; gs: "er.gs"; gt: "er.gt"; gu: "er.gu"; gv: "er.gv"; gw: "er.gw"; gx: "er.gx"; gy: "er.gy"; gz: "er.gz"; ha: "er.ha"; hb: "er.hb"; hc: "er.hc"; hd: "er.hd"; he: "er.he"; hf: "er.hf"; hg: "er.hg"; hh: "er.hh"; hi: "er.hi"; hj: "er.hj"; hk: "er.hk"; hl: "er.hl"; hm: "er.hm"; hn: "er.hn"; ho: "er.ho"; hp: "er.hp"; hq: "er.hq"; hr: "er.hr"; hs: "er.hs"; ht: "er.ht"; hu: "er.hu"; hv: "er.hv"; hw: "er.hw"; hx: "er.hx"; hy: "er.hy"; hz: "er.hz"; ia: "er.ia"; ib: "er.ib"; ic: "er.ic"; id: "er.id"; ie: "er.ie"; if: "er.if"; ig: "er.ig"; ih: "er.ih"; ii: "er.ii"; ij: "er.ij"; ik: "er.ik"; il: "er.il"; im: "er.im"; in: "er.in"; io: "er.io"; ip: "er.ip"; iq: "er.iq"; ir: "er.ir"; is: "er.is"; it: "er.it"; iu: "er.iu"; iv: "er.iv"; iw: "er.iw"; ix: "er.ix"; iy: "er.iy"; iz: "er.iz"; ja: "er.ja"; jb: "er.jb"; jc: "er.jc"; jd: "er.jd"; je: "er.je"; jf: "er.jf"; jg: "er.jg"; jh: "er.jh"; ji: "er.ji"; jj: "er.jj"; jk: "er.jk"; jl: "er.jl"; jm: "er.jm"; jn: "er.jn"; jo: "er.jo"; jp: "er.jp"; jq: "er.jq"; jr: "er.jr"; js: "er.js"; jt: "er.jt"; ju: "er.ju"; jv: "er.jv"; jw: "er.jw"; jx: "er.jx"; jy: "er.jy"; jz: "er.jz"; ka: "er.ka"; kb: "er.kb"; kc: "er.kc"; kd: "er.kd"; ke: "er.ke"; kf: "er.kf"; kg: "er.kg"; kh: "er.kh"; ki: "er.ki"; kj: "er.kj"; kk: "er.kk"; kl: "er.kl"; km: "er.km"; kn: "er.kn"; ko: "er.ko"; kp: "er.kp"; kq: "er.kq"; kr: "er.kr"; ks: "er.ks"; kt: "er.kt"; ku: "er.ku"; kv: "er.kv"; kw: "er.kw"; kx: "er.kx"; ky: "er.ky"; kz: "er.kz"; la: "er.la"; lb: "er.lb"; lc: "er.lc"; ld: "er.ld"; le: "er.le"; lf: "er.lf"; lg: "er.lg"; lh: "er.lh"; li: "er.li"; lj: "er.lj"; lk: "er.lk"; ll: "er.ll"; lm: "er.lm"; ln: "er.ln"; lo: "er.lo"; lp: "er.lp"; lq: "er.lq"; lr: "er.lr"; ls: "er.ls"; lt: "er.lt"; lu: "er.lu"; lv: "er.lv"; lw: "er.lw"; lx: "er.lx"; ly: "er.ly"; lz: "er.lz"; ma: "er.ma"; mb: "er.mb"; mc: "er.mc"; md: "er.md"; me: "er.me"; mf: "er.mf"; mg: "er.mg"; mh: "er.mh"; mi: "er.mi"; mj: "er.mj"; mk: "er.mk"; ml: "er.ml"; mm: "er.mm"; mn: "er.mn"; mo: "er.mo"; mp: "er.mp"; mq: "er.mq"; mr: "er.mr"; ms: "er.ms"; mt: "er.mt"; mu: "er.mu"; mv: "er.mv"; mw: "er.mw"; mx: "er.mx"; my: "er.my"; mz: "er.mz"; na: "er.na"; nb: "er.nb"; nc: "er.nc"; nd: "er.nd"; ne: "er.ne"; nf: "er.nf"; ng: "er.ng"; nh: "er.nh"; ni: "er.ni"; nj: "er.nj"; nk: "er.nk"; nl: "er.nl"; nm: "er.nm"; nn: "er.nn"; no: "er.no"; np: "er.np"; nq: "er.nq"; nr: "er.nr"; ns: "er.ns"; nt: "er.nt"; nu: "er.nu"; nv: "er.nv"; nw: "er.nw"; nx: "er.nx"; ny: "er.ny"; nz: "er.nz"; oa: "er.oa"; ob: "er.ob"; oc: "er.oc"; od: "er.od"; oe: "er.oe"; of: "er.of"; og: "er.og"; oh: "er.oh"; oi: "er.oi"; oj: "er.oj"; ok: "er.ok"; ol: "er.ol"; om: "er.om"; on: "er.on"; oo: "er.oo"; op: "er.op"; oq: "er.oq"; or: "er.or"; os: "er.os"; ot: "er.ot"; ou: "er.ou"; ov: "er.ov"; ow: "er.ow"; ox: "er.ox"; oy: "er.oy"; oz: "er.oz"; pa: "er.pa"; pb: "er.pb"; pc: "er.pc"; pd: "er.pd"; pe: "er.pe"; pf: "er.pf"; pg: "er.pg"; ph: "er.ph"; pi: "er.pi"; pj: "er.pj"; pk: "er.pk"; pl: "er.pl"; pm: "er.pm"; pn: "er.pn"; po: "er.po"; pp: "er.pp"; pq: "er.pq"; pr: "er.pr"; ps: "er.ps"; pt: "er.pt"; pu: "er.pu"; pv: "er.pv"; pw: "er.pw"; px: "er.px"; py: "er.py"; pz: "er.pz"; qa: "er.qa"; qb: "er.qb"; qc: "er.qc"; qd: "er.qd"; qe: "er.qe"; qf: "er.qf"; qg: "er.qg"; qh: "er.qh"; qi: "er.qi"; qj: "er.qj"; qk: "er.qk"; ql: "er.ql"; qm: "er.qm"; qn: "er.qn"; qo: "er.qo"; qp: "er.qp"; qq: "er.qq"; qr: "er.qr"; qs: "er.qs"; qt: "er.qt"; qu: "er.qu"; qv: "er.qv"; qw: "er.qw"; qx: "er.qx"; qy: "er.qy"; qz: "er.qz"; ra: "er.ra"; rb: "er.rb"; rc: "er.rc"; rd: "er.rd"; re: "er.re"; rf: "er.rf"; rg: "er.rg"; rh: "er.rh"; ri: "er.ri"; rj: "er.rj"; rk: "er.rk"; rl: "er.rl"; rm: "er.rm"; rn: "er.rn"; ro: "er.ro"; rp: "er.rp"; rq: "er.rq"; rr: "er.rr"; rs: "er.rs"; rt: "er.rt"; ru: "er.ru"; rv: "er.rv"; rw: "er.rw"; rx: "er.rx"; ry: "er.ry"; rz: "er.rz"; sa: "er.sa"; sb: "er.sb"; sc: "er.sc"; sd: "er.sd"; se: "er.se"; sf: "er.sf"; sg: "er.sg"; sh: "er.sh"; si: "er.si"; sj: "er.sj"; sk: "er.sk"; sl: "er.sl"; sm: "er.sm"; sn: "er.sn"; so: "er.so"; sp: "er.sp"; sq: "er.sq"; sr: "er.sr"; ss: "er.ss"; st: "er.st"; su: "er.su"; sv: "er.sv"; sw: "er.sw"; sx: "er.sx"; sy: "er.sy"; sz: "er.sz"; ta: "er.ta"; tb: "er.tb"; tc: "er.tc"; td: "er.td"; te: "er.te"; tf: "er.tf"; tg: "er.tg"; th: "er.th"; ti: "er.ti"; tj: "er.tj"; tk: "er.tk"; tl: "er.tl"; tm: "er.tm"; tn: "er.tn"; to: "er.to"; tp: "er.tp"; tq: "er.tq"; tr: "er.tr"; ts: "er.ts"; tt: "er.tt"; tu: "er.tu"; tv: "er.tv"; tw: "er.tw"; tx: "er.tx"; ty: "er.ty"; tz: "er.tz"; ua: "er.ua"; ub: "er.ub"; uc: "er.uc"; ud: "er.ud"; ue: "er.ue"; uf: "er.uf"; ug: "er.ug"; uh: "er.uh"; ui: "er.ui"; uj: "er.uj"; uk: "er.uk"; ul: "er.ul"; um: "er.um"; un: "er.un"; uo: "er.uo"; up: "er.up"; uq: "er.uq"; ur: "er.ur"; us: "er.us"; ut: "er.ut"; uu: "er.uu"; uv: "er.uv"; uw: "er.uw"; ux: "er.ux"; uy: "er.uy"; uz: "er.uz"; va: "er.va"; vb: "er.vb"; vc: "er.vc"; vd: "er.vd"; ve: "er.ve"; vf: "er.vf"; vg: "er.vg"; vh: "er.vh"; vi: "er.vi"; vj: "er.vj"; vk: "er.vk"; vl: "er.vl"; vm: "er.vm"; vn: "er.vn"; vo: "er.vo"; vp: "er.vp"; vq: "er.vq"; vr: "er.vr"; vs: "er.vs"; vt: "er.vt"; vu: "er.vu"; vv: "er.vv"; vw: "er.vw"; vx: "er.vx"; vy: "er.vy"; vz: "er.vz"; wa: "er.wa"; wb: "er.wb"; wc: "er.wc"; wd: "er.wd"; we: "er.we"; wf: "er.wf"; wg: "er.wg"; wh: "er.wh"; wi: "er.wi"; wj: "er.wj"; wk: "er.wk"; wl: "er.wl"; wm: "er.wm"; wn: "er.wn"; wo: "er.wo"; wp: "er.wp"; wq: "er.wq"; wr: "er.wr"; ws: "er.ws"; wt: "er.wt"; wu: "er.wu"; wv: "er.wv"; ww: "er.ww"; wx: "er.wx"; wy: "er.wy"; wz: "er.wz"; xa: "er.xa"; xb: "er.xb"; xc: "er.xc"; xd: "er.xd"; xe: "er.xe"; xf: "er.xf"; xg: "er.xg"; xh: "er.xh"; xi: "er.xi"; xj: "er.xj"; xk: "er.xk"; xl: "er.xl"; xm: "er.xm"; xn: "er.xn"; xo: "er.xo"; xp: "er.xp"; xq: "er.xq"; xr: "er.xr"; xs: "er.xs"; xt: "er.xt"; xu: "er.xu"; xv: "er.xv"; xw: "er.xw"; xx: "er.xx"; xy: "er.xy"; xz: "er.xz"; ya: "er.ya"; yb: "er.yb"; yc: "er.yc"; yd: "er.yd"; ye: "er.ye"; yf: "er.yf"; yg: "er.yg"; yh: "er.yh"; yi: "er.yi"; yj: "er.yj"; yk: "er.yk"; yl: "er.yl"; ym: "er.ym"; yn: "er.yn"; yo: "er.yo"; yp: "er.yp"; yq: "er.yq"; yr: "er.yr"; ys: "er.ys"; yt: "er.yt"; yu: "er.yu"; yv: "er.yv"; yw: "er.yw"; yx: "er.yx"; yy: "er.yy"; yz: "er.yz"; za: "er.za"; zb: "er.zb"; zc: "er.zc"; zd: "er.zd"; ze: "er.ze"; zf: "er.zf"; zg: "er.zg"; zh: "er.zh"; zi: "er.zi"; zj: "er.zj"; zk: "er.zk"; zl: "er.zl"; zm: "er.zm"; zn: "er.zn"; zo: "er.zo"; zp: "er.zp"; zq: "er.zq"; zr: "er.zr"; zs: "er.zs"; zt: "er.zt"; zu: "er.zu"; zv: "er.zv"; zw: "er.zw"; zx: "er.zx"; zy: "er.zy"; zz: "er.zz"; }; es: { aa: "es.aa"; ab: "es.ab"; ac: "es.ac"; ad: "es.ad"; ae: "es.ae"; af: "es.af"; ag: "es.ag"; ah: "es.ah"; ai: "es.ai"; aj: "es.aj"; ak: "es.ak"; al: "es.al"; am: "es.am"; an: "es.an"; ao: "es.ao"; ap: "es.ap"; aq: "es.aq"; ar: "es.ar"; as: "es.as"; at: "es.at"; au: "es.au"; av: "es.av"; aw: "es.aw"; ax: "es.ax"; ay: "es.ay"; az: "es.az"; ba: "es.ba"; bb: "es.bb"; bc: "es.bc"; bd: "es.bd"; be: "es.be"; bf: "es.bf"; bg: "es.bg"; bh: "es.bh"; bi: "es.bi"; bj: "es.bj"; bk: "es.bk"; bl: "es.bl"; bm: "es.bm"; bn: "es.bn"; bo: "es.bo"; bp: "es.bp"; bq: "es.bq"; br: "es.br"; bs: "es.bs"; bt: "es.bt"; bu: "es.bu"; bv: "es.bv"; bw: "es.bw"; bx: "es.bx"; by: "es.by"; bz: "es.bz"; ca: "es.ca"; cb: "es.cb"; cc: "es.cc"; cd: "es.cd"; ce: "es.ce"; cf: "es.cf"; cg: "es.cg"; ch: "es.ch"; ci: "es.ci"; cj: "es.cj"; ck: "es.ck"; cl: "es.cl"; cm: "es.cm"; cn: "es.cn"; co: "es.co"; cp: "es.cp"; cq: "es.cq"; cr: "es.cr"; cs: "es.cs"; ct: "es.ct"; cu: "es.cu"; cv: "es.cv"; cw: "es.cw"; cx: "es.cx"; cy: "es.cy"; cz: "es.cz"; da: "es.da"; db: "es.db"; dc: "es.dc"; dd: "es.dd"; de: "es.de"; df: "es.df"; dg: "es.dg"; dh: "es.dh"; di: "es.di"; dj: "es.dj"; dk: "es.dk"; dl: "es.dl"; dm: "es.dm"; dn: "es.dn"; do: "es.do"; dp: "es.dp"; dq: "es.dq"; dr: "es.dr"; ds: "es.ds"; dt: "es.dt"; du: "es.du"; dv: "es.dv"; dw: "es.dw"; dx: "es.dx"; dy: "es.dy"; dz: "es.dz"; ea: "es.ea"; eb: "es.eb"; ec: "es.ec"; ed: "es.ed"; ee: "es.ee"; ef: "es.ef"; eg: "es.eg"; eh: "es.eh"; ei: "es.ei"; ej: "es.ej"; ek: "es.ek"; el: "es.el"; em: "es.em"; en: "es.en"; eo: "es.eo"; ep: "es.ep"; eq: "es.eq"; er: "es.er"; es: "es.es"; et: "es.et"; eu: "es.eu"; ev: "es.ev"; ew: "es.ew"; ex: "es.ex"; ey: "es.ey"; ez: "es.ez"; fa: "es.fa"; fb: "es.fb"; fc: "es.fc"; fd: "es.fd"; fe: "es.fe"; ff: "es.ff"; fg: "es.fg"; fh: "es.fh"; fi: "es.fi"; fj: "es.fj"; fk: "es.fk"; fl: "es.fl"; fm: "es.fm"; fn: "es.fn"; fo: "es.fo"; fp: "es.fp"; fq: "es.fq"; fr: "es.fr"; fs: "es.fs"; ft: "es.ft"; fu: "es.fu"; fv: "es.fv"; fw: "es.fw"; fx: "es.fx"; fy: "es.fy"; fz: "es.fz"; ga: "es.ga"; gb: "es.gb"; gc: "es.gc"; gd: "es.gd"; ge: "es.ge"; gf: "es.gf"; gg: "es.gg"; gh: "es.gh"; gi: "es.gi"; gj: "es.gj"; gk: "es.gk"; gl: "es.gl"; gm: "es.gm"; gn: "es.gn"; go: "es.go"; gp: "es.gp"; gq: "es.gq"; gr: "es.gr"; gs: "es.gs"; gt: "es.gt"; gu: "es.gu"; gv: "es.gv"; gw: "es.gw"; gx: "es.gx"; gy: "es.gy"; gz: "es.gz"; ha: "es.ha"; hb: "es.hb"; hc: "es.hc"; hd: "es.hd"; he: "es.he"; hf: "es.hf"; hg: "es.hg"; hh: "es.hh"; hi: "es.hi"; hj: "es.hj"; hk: "es.hk"; hl: "es.hl"; hm: "es.hm"; hn: "es.hn"; ho: "es.ho"; hp: "es.hp"; hq: "es.hq"; hr: "es.hr"; hs: "es.hs"; ht: "es.ht"; hu: "es.hu"; hv: "es.hv"; hw: "es.hw"; hx: "es.hx"; hy: "es.hy"; hz: "es.hz"; ia: "es.ia"; ib: "es.ib"; ic: "es.ic"; id: "es.id"; ie: "es.ie"; if: "es.if"; ig: "es.ig"; ih: "es.ih"; ii: "es.ii"; ij: "es.ij"; ik: "es.ik"; il: "es.il"; im: "es.im"; in: "es.in"; io: "es.io"; ip: "es.ip"; iq: "es.iq"; ir: "es.ir"; is: "es.is"; it: "es.it"; iu: "es.iu"; iv: "es.iv"; iw: "es.iw"; ix: "es.ix"; iy: "es.iy"; iz: "es.iz"; ja: "es.ja"; jb: "es.jb"; jc: "es.jc"; jd: "es.jd"; je: "es.je"; jf: "es.jf"; jg: "es.jg"; jh: "es.jh"; ji: "es.ji"; jj: "es.jj"; jk: "es.jk"; jl: "es.jl"; jm: "es.jm"; jn: "es.jn"; jo: "es.jo"; jp: "es.jp"; jq: "es.jq"; jr: "es.jr"; js: "es.js"; jt: "es.jt"; ju: "es.ju"; jv: "es.jv"; jw: "es.jw"; jx: "es.jx"; jy: "es.jy"; jz: "es.jz"; ka: "es.ka"; kb: "es.kb"; kc: "es.kc"; kd: "es.kd"; ke: "es.ke"; kf: "es.kf"; kg: "es.kg"; kh: "es.kh"; ki: "es.ki"; kj: "es.kj"; kk: "es.kk"; kl: "es.kl"; km: "es.km"; kn: "es.kn"; ko: "es.ko"; kp: "es.kp"; kq: "es.kq"; kr: "es.kr"; ks: "es.ks"; kt: "es.kt"; ku: "es.ku"; kv: "es.kv"; kw: "es.kw"; kx: "es.kx"; ky: "es.ky"; kz: "es.kz"; la: "es.la"; lb: "es.lb"; lc: "es.lc"; ld: "es.ld"; le: "es.le"; lf: "es.lf"; lg: "es.lg"; lh: "es.lh"; li: "es.li"; lj: "es.lj"; lk: "es.lk"; ll: "es.ll"; lm: "es.lm"; ln: "es.ln"; lo: "es.lo"; lp: "es.lp"; lq: "es.lq"; lr: "es.lr"; ls: "es.ls"; lt: "es.lt"; lu: "es.lu"; lv: "es.lv"; lw: "es.lw"; lx: "es.lx"; ly: "es.ly"; lz: "es.lz"; ma: "es.ma"; mb: "es.mb"; mc: "es.mc"; md: "es.md"; me: "es.me"; mf: "es.mf"; mg: "es.mg"; mh: "es.mh"; mi: "es.mi"; mj: "es.mj"; mk: "es.mk"; ml: "es.ml"; mm: "es.mm"; mn: "es.mn"; mo: "es.mo"; mp: "es.mp"; mq: "es.mq"; mr: "es.mr"; ms: "es.ms"; mt: "es.mt"; mu: "es.mu"; mv: "es.mv"; mw: "es.mw"; mx: "es.mx"; my: "es.my"; mz: "es.mz"; na: "es.na"; nb: "es.nb"; nc: "es.nc"; nd: "es.nd"; ne: "es.ne"; nf: "es.nf"; ng: "es.ng"; nh: "es.nh"; ni: "es.ni"; nj: "es.nj"; nk: "es.nk"; nl: "es.nl"; nm: "es.nm"; nn: "es.nn"; no: "es.no"; np: "es.np"; nq: "es.nq"; nr: "es.nr"; ns: "es.ns"; nt: "es.nt"; nu: "es.nu"; nv: "es.nv"; nw: "es.nw"; nx: "es.nx"; ny: "es.ny"; nz: "es.nz"; oa: "es.oa"; ob: "es.ob"; oc: "es.oc"; od: "es.od"; oe: "es.oe"; of: "es.of"; og: "es.og"; oh: "es.oh"; oi: "es.oi"; oj: "es.oj"; ok: "es.ok"; ol: "es.ol"; om: "es.om"; on: "es.on"; oo: "es.oo"; op: "es.op"; oq: "es.oq"; or: "es.or"; os: "es.os"; ot: "es.ot"; ou: "es.ou"; ov: "es.ov"; ow: "es.ow"; ox: "es.ox"; oy: "es.oy"; oz: "es.oz"; pa: "es.pa"; pb: "es.pb"; pc: "es.pc"; pd: "es.pd"; pe: "es.pe"; pf: "es.pf"; pg: "es.pg"; ph: "es.ph"; pi: "es.pi"; pj: "es.pj"; pk: "es.pk"; pl: "es.pl"; pm: "es.pm"; pn: "es.pn"; po: "es.po"; pp: "es.pp"; pq: "es.pq"; pr: "es.pr"; ps: "es.ps"; pt: "es.pt"; pu: "es.pu"; pv: "es.pv"; pw: "es.pw"; px: "es.px"; py: "es.py"; pz: "es.pz"; qa: "es.qa"; qb: "es.qb"; qc: "es.qc"; qd: "es.qd"; qe: "es.qe"; qf: "es.qf"; qg: "es.qg"; qh: "es.qh"; qi: "es.qi"; qj: "es.qj"; qk: "es.qk"; ql: "es.ql"; qm: "es.qm"; qn: "es.qn"; qo: "es.qo"; qp: "es.qp"; qq: "es.qq"; qr: "es.qr"; qs: "es.qs"; qt: "es.qt"; qu: "es.qu"; qv: "es.qv"; qw: "es.qw"; qx: "es.qx"; qy: "es.qy"; qz: "es.qz"; ra: "es.ra"; rb: "es.rb"; rc: "es.rc"; rd: "es.rd"; re: "es.re"; rf: "es.rf"; rg: "es.rg"; rh: "es.rh"; ri: "es.ri"; rj: "es.rj"; rk: "es.rk"; rl: "es.rl"; rm: "es.rm"; rn: "es.rn"; ro: "es.ro"; rp: "es.rp"; rq: "es.rq"; rr: "es.rr"; rs: "es.rs"; rt: "es.rt"; ru: "es.ru"; rv: "es.rv"; rw: "es.rw"; rx: "es.rx"; ry: "es.ry"; rz: "es.rz"; sa: "es.sa"; sb: "es.sb"; sc: "es.sc"; sd: "es.sd"; se: "es.se"; sf: "es.sf"; sg: "es.sg"; sh: "es.sh"; si: "es.si"; sj: "es.sj"; sk: "es.sk"; sl: "es.sl"; sm: "es.sm"; sn: "es.sn"; so: "es.so"; sp: "es.sp"; sq: "es.sq"; sr: "es.sr"; ss: "es.ss"; st: "es.st"; su: "es.su"; sv: "es.sv"; sw: "es.sw"; sx: "es.sx"; sy: "es.sy"; sz: "es.sz"; ta: "es.ta"; tb: "es.tb"; tc: "es.tc"; td: "es.td"; te: "es.te"; tf: "es.tf"; tg: "es.tg"; th: "es.th"; ti: "es.ti"; tj: "es.tj"; tk: "es.tk"; tl: "es.tl"; tm: "es.tm"; tn: "es.tn"; to: "es.to"; tp: "es.tp"; tq: "es.tq"; tr: "es.tr"; ts: "es.ts"; tt: "es.tt"; tu: "es.tu"; tv: "es.tv"; tw: "es.tw"; tx: "es.tx"; ty: "es.ty"; tz: "es.tz"; ua: "es.ua"; ub: "es.ub"; uc: "es.uc"; ud: "es.ud"; ue: "es.ue"; uf: "es.uf"; ug: "es.ug"; uh: "es.uh"; ui: "es.ui"; uj: "es.uj"; uk: "es.uk"; ul: "es.ul"; um: "es.um"; un: "es.un"; uo: "es.uo"; up: "es.up"; uq: "es.uq"; ur: "es.ur"; us: "es.us"; ut: "es.ut"; uu: "es.uu"; uv: "es.uv"; uw: "es.uw"; ux: "es.ux"; uy: "es.uy"; uz: "es.uz"; va: "es.va"; vb: "es.vb"; vc: "es.vc"; vd: "es.vd"; ve: "es.ve"; vf: "es.vf"; vg: "es.vg"; vh: "es.vh"; vi: "es.vi"; vj: "es.vj"; vk: "es.vk"; vl: "es.vl"; vm: "es.vm"; vn: "es.vn"; vo: "es.vo"; vp: "es.vp"; vq: "es.vq"; vr: "es.vr"; vs: "es.vs"; vt: "es.vt"; vu: "es.vu"; vv: "es.vv"; vw: "es.vw"; vx: "es.vx"; vy: "es.vy"; vz: "es.vz"; wa: "es.wa"; wb: "es.wb"; wc: "es.wc"; wd: "es.wd"; we: "es.we"; wf: "es.wf"; wg: "es.wg"; wh: "es.wh"; wi: "es.wi"; wj: "es.wj"; wk: "es.wk"; wl: "es.wl"; wm: "es.wm"; wn: "es.wn"; wo: "es.wo"; wp: "es.wp"; wq: "es.wq"; wr: "es.wr"; ws: "es.ws"; wt: "es.wt"; wu: "es.wu"; wv: "es.wv"; ww: "es.ww"; wx: "es.wx"; wy: "es.wy"; wz: "es.wz"; xa: "es.xa"; xb: "es.xb"; xc: "es.xc"; xd: "es.xd"; xe: "es.xe"; xf: "es.xf"; xg: "es.xg"; xh: "es.xh"; xi: "es.xi"; xj: "es.xj"; xk: "es.xk"; xl: "es.xl"; xm: "es.xm"; xn: "es.xn"; xo: "es.xo"; xp: "es.xp"; xq: "es.xq"; xr: "es.xr"; xs: "es.xs"; xt: "es.xt"; xu: "es.xu"; xv: "es.xv"; xw: "es.xw"; xx: "es.xx"; xy: "es.xy"; xz: "es.xz"; ya: "es.ya"; yb: "es.yb"; yc: "es.yc"; yd: "es.yd"; ye: "es.ye"; yf: "es.yf"; yg: "es.yg"; yh: "es.yh"; yi: "es.yi"; yj: "es.yj"; yk: "es.yk"; yl: "es.yl"; ym: "es.ym"; yn: "es.yn"; yo: "es.yo"; yp: "es.yp"; yq: "es.yq"; yr: "es.yr"; ys: "es.ys"; yt: "es.yt"; yu: "es.yu"; yv: "es.yv"; yw: "es.yw"; yx: "es.yx"; yy: "es.yy"; yz: "es.yz"; za: "es.za"; zb: "es.zb"; zc: "es.zc"; zd: "es.zd"; ze: "es.ze"; zf: "es.zf"; zg: "es.zg"; zh: "es.zh"; zi: "es.zi"; zj: "es.zj"; zk: "es.zk"; zl: "es.zl"; zm: "es.zm"; zn: "es.zn"; zo: "es.zo"; zp: "es.zp"; zq: "es.zq"; zr: "es.zr"; zs: "es.zs"; zt: "es.zt"; zu: "es.zu"; zv: "es.zv"; zw: "es.zw"; zx: "es.zx"; zy: "es.zy"; zz: "es.zz"; }; et: { aa: "et.aa"; ab: "et.ab"; ac: "et.ac"; ad: "et.ad"; ae: "et.ae"; af: "et.af"; ag: "et.ag"; ah: "et.ah"; ai: "et.ai"; aj: "et.aj"; ak: "et.ak"; al: "et.al"; am: "et.am"; an: "et.an"; ao: "et.ao"; ap: "et.ap"; aq: "et.aq"; ar: "et.ar"; as: "et.as"; at: "et.at"; au: "et.au"; av: "et.av"; aw: "et.aw"; ax: "et.ax"; ay: "et.ay"; az: "et.az"; ba: "et.ba"; bb: "et.bb"; bc: "et.bc"; bd: "et.bd"; be: "et.be"; bf: "et.bf"; bg: "et.bg"; bh: "et.bh"; bi: "et.bi"; bj: "et.bj"; bk: "et.bk"; bl: "et.bl"; bm: "et.bm"; bn: "et.bn"; bo: "et.bo"; bp: "et.bp"; bq: "et.bq"; br: "et.br"; bs: "et.bs"; bt: "et.bt"; bu: "et.bu"; bv: "et.bv"; bw: "et.bw"; bx: "et.bx"; by: "et.by"; bz: "et.bz"; ca: "et.ca"; cb: "et.cb"; cc: "et.cc"; cd: "et.cd"; ce: "et.ce"; cf: "et.cf"; cg: "et.cg"; ch: "et.ch"; ci: "et.ci"; cj: "et.cj"; ck: "et.ck"; cl: "et.cl"; cm: "et.cm"; cn: "et.cn"; co: "et.co"; cp: "et.cp"; cq: "et.cq"; cr: "et.cr"; cs: "et.cs"; ct: "et.ct"; cu: "et.cu"; cv: "et.cv"; cw: "et.cw"; cx: "et.cx"; cy: "et.cy"; cz: "et.cz"; da: "et.da"; db: "et.db"; dc: "et.dc"; dd: "et.dd"; de: "et.de"; df: "et.df"; dg: "et.dg"; dh: "et.dh"; di: "et.di"; dj: "et.dj"; dk: "et.dk"; dl: "et.dl"; dm: "et.dm"; dn: "et.dn"; do: "et.do"; dp: "et.dp"; dq: "et.dq"; dr: "et.dr"; ds: "et.ds"; dt: "et.dt"; du: "et.du"; dv: "et.dv"; dw: "et.dw"; dx: "et.dx"; dy: "et.dy"; dz: "et.dz"; ea: "et.ea"; eb: "et.eb"; ec: "et.ec"; ed: "et.ed"; ee: "et.ee"; ef: "et.ef"; eg: "et.eg"; eh: "et.eh"; ei: "et.ei"; ej: "et.ej"; ek: "et.ek"; el: "et.el"; em: "et.em"; en: "et.en"; eo: "et.eo"; ep: "et.ep"; eq: "et.eq"; er: "et.er"; es: "et.es"; et: "et.et"; eu: "et.eu"; ev: "et.ev"; ew: "et.ew"; ex: "et.ex"; ey: "et.ey"; ez: "et.ez"; fa: "et.fa"; fb: "et.fb"; fc: "et.fc"; fd: "et.fd"; fe: "et.fe"; ff: "et.ff"; fg: "et.fg"; fh: "et.fh"; fi: "et.fi"; fj: "et.fj"; fk: "et.fk"; fl: "et.fl"; fm: "et.fm"; fn: "et.fn"; fo: "et.fo"; fp: "et.fp"; fq: "et.fq"; fr: "et.fr"; fs: "et.fs"; ft: "et.ft"; fu: "et.fu"; fv: "et.fv"; fw: "et.fw"; fx: "et.fx"; fy: "et.fy"; fz: "et.fz"; ga: "et.ga"; gb: "et.gb"; gc: "et.gc"; gd: "et.gd"; ge: "et.ge"; gf: "et.gf"; gg: "et.gg"; gh: "et.gh"; gi: "et.gi"; gj: "et.gj"; gk: "et.gk"; gl: "et.gl"; gm: "et.gm"; gn: "et.gn"; go: "et.go"; gp: "et.gp"; gq: "et.gq"; gr: "et.gr"; gs: "et.gs"; gt: "et.gt"; gu: "et.gu"; gv: "et.gv"; gw: "et.gw"; gx: "et.gx"; gy: "et.gy"; gz: "et.gz"; ha: "et.ha"; hb: "et.hb"; hc: "et.hc"; hd: "et.hd"; he: "et.he"; hf: "et.hf"; hg: "et.hg"; hh: "et.hh"; hi: "et.hi"; hj: "et.hj"; hk: "et.hk"; hl: "et.hl"; hm: "et.hm"; hn: "et.hn"; ho: "et.ho"; hp: "et.hp"; hq: "et.hq"; hr: "et.hr"; hs: "et.hs"; ht: "et.ht"; hu: "et.hu"; hv: "et.hv"; hw: "et.hw"; hx: "et.hx"; hy: "et.hy"; hz: "et.hz"; ia: "et.ia"; ib: "et.ib"; ic: "et.ic"; id: "et.id"; ie: "et.ie"; if: "et.if"; ig: "et.ig"; ih: "et.ih"; ii: "et.ii"; ij: "et.ij"; ik: "et.ik"; il: "et.il"; im: "et.im"; in: "et.in"; io: "et.io"; ip: "et.ip"; iq: "et.iq"; ir: "et.ir"; is: "et.is"; it: "et.it"; iu: "et.iu"; iv: "et.iv"; iw: "et.iw"; ix: "et.ix"; iy: "et.iy"; iz: "et.iz"; ja: "et.ja"; jb: "et.jb"; jc: "et.jc"; jd: "et.jd"; je: "et.je"; jf: "et.jf"; jg: "et.jg"; jh: "et.jh"; ji: "et.ji"; jj: "et.jj"; jk: "et.jk"; jl: "et.jl"; jm: "et.jm"; jn: "et.jn"; jo: "et.jo"; jp: "et.jp"; jq: "et.jq"; jr: "et.jr"; js: "et.js"; jt: "et.jt"; ju: "et.ju"; jv: "et.jv"; jw: "et.jw"; jx: "et.jx"; jy: "et.jy"; jz: "et.jz"; ka: "et.ka"; kb: "et.kb"; kc: "et.kc"; kd: "et.kd"; ke: "et.ke"; kf: "et.kf"; kg: "et.kg"; kh: "et.kh"; ki: "et.ki"; kj: "et.kj"; kk: "et.kk"; kl: "et.kl"; km: "et.km"; kn: "et.kn"; ko: "et.ko"; kp: "et.kp"; kq: "et.kq"; kr: "et.kr"; ks: "et.ks"; kt: "et.kt"; ku: "et.ku"; kv: "et.kv"; kw: "et.kw"; kx: "et.kx"; ky: "et.ky"; kz: "et.kz"; la: "et.la"; lb: "et.lb"; lc: "et.lc"; ld: "et.ld"; le: "et.le"; lf: "et.lf"; lg: "et.lg"; lh: "et.lh"; li: "et.li"; lj: "et.lj"; lk: "et.lk"; ll: "et.ll"; lm: "et.lm"; ln: "et.ln"; lo: "et.lo"; lp: "et.lp"; lq: "et.lq"; lr: "et.lr"; ls: "et.ls"; lt: "et.lt"; lu: "et.lu"; lv: "et.lv"; lw: "et.lw"; lx: "et.lx"; ly: "et.ly"; lz: "et.lz"; ma: "et.ma"; mb: "et.mb"; mc: "et.mc"; md: "et.md"; me: "et.me"; mf: "et.mf"; mg: "et.mg"; mh: "et.mh"; mi: "et.mi"; mj: "et.mj"; mk: "et.mk"; ml: "et.ml"; mm: "et.mm"; mn: "et.mn"; mo: "et.mo"; mp: "et.mp"; mq: "et.mq"; mr: "et.mr"; ms: "et.ms"; mt: "et.mt"; mu: "et.mu"; mv: "et.mv"; mw: "et.mw"; mx: "et.mx"; my: "et.my"; mz: "et.mz"; na: "et.na"; nb: "et.nb"; nc: "et.nc"; nd: "et.nd"; ne: "et.ne"; nf: "et.nf"; ng: "et.ng"; nh: "et.nh"; ni: "et.ni"; nj: "et.nj"; nk: "et.nk"; nl: "et.nl"; nm: "et.nm"; nn: "et.nn"; no: "et.no"; np: "et.np"; nq: "et.nq"; nr: "et.nr"; ns: "et.ns"; nt: "et.nt"; nu: "et.nu"; nv: "et.nv"; nw: "et.nw"; nx: "et.nx"; ny: "et.ny"; nz: "et.nz"; oa: "et.oa"; ob: "et.ob"; oc: "et.oc"; od: "et.od"; oe: "et.oe"; of: "et.of"; og: "et.og"; oh: "et.oh"; oi: "et.oi"; oj: "et.oj"; ok: "et.ok"; ol: "et.ol"; om: "et.om"; on: "et.on"; oo: "et.oo"; op: "et.op"; oq: "et.oq"; or: "et.or"; os: "et.os"; ot: "et.ot"; ou: "et.ou"; ov: "et.ov"; ow: "et.ow"; ox: "et.ox"; oy: "et.oy"; oz: "et.oz"; pa: "et.pa"; pb: "et.pb"; pc: "et.pc"; pd: "et.pd"; pe: "et.pe"; pf: "et.pf"; pg: "et.pg"; ph: "et.ph"; pi: "et.pi"; pj: "et.pj"; pk: "et.pk"; pl: "et.pl"; pm: "et.pm"; pn: "et.pn"; po: "et.po"; pp: "et.pp"; pq: "et.pq"; pr: "et.pr"; ps: "et.ps"; pt: "et.pt"; pu: "et.pu"; pv: "et.pv"; pw: "et.pw"; px: "et.px"; py: "et.py"; pz: "et.pz"; qa: "et.qa"; qb: "et.qb"; qc: "et.qc"; qd: "et.qd"; qe: "et.qe"; qf: "et.qf"; qg: "et.qg"; qh: "et.qh"; qi: "et.qi"; qj: "et.qj"; qk: "et.qk"; ql: "et.ql"; qm: "et.qm"; qn: "et.qn"; qo: "et.qo"; qp: "et.qp"; qq: "et.qq"; qr: "et.qr"; qs: "et.qs"; qt: "et.qt"; qu: "et.qu"; qv: "et.qv"; qw: "et.qw"; qx: "et.qx"; qy: "et.qy"; qz: "et.qz"; ra: "et.ra"; rb: "et.rb"; rc: "et.rc"; rd: "et.rd"; re: "et.re"; rf: "et.rf"; rg: "et.rg"; rh: "et.rh"; ri: "et.ri"; rj: "et.rj"; rk: "et.rk"; rl: "et.rl"; rm: "et.rm"; rn: "et.rn"; ro: "et.ro"; rp: "et.rp"; rq: "et.rq"; rr: "et.rr"; rs: "et.rs"; rt: "et.rt"; ru: "et.ru"; rv: "et.rv"; rw: "et.rw"; rx: "et.rx"; ry: "et.ry"; rz: "et.rz"; sa: "et.sa"; sb: "et.sb"; sc: "et.sc"; sd: "et.sd"; se: "et.se"; sf: "et.sf"; sg: "et.sg"; sh: "et.sh"; si: "et.si"; sj: "et.sj"; sk: "et.sk"; sl: "et.sl"; sm: "et.sm"; sn: "et.sn"; so: "et.so"; sp: "et.sp"; sq: "et.sq"; sr: "et.sr"; ss: "et.ss"; st: "et.st"; su: "et.su"; sv: "et.sv"; sw: "et.sw"; sx: "et.sx"; sy: "et.sy"; sz: "et.sz"; ta: "et.ta"; tb: "et.tb"; tc: "et.tc"; td: "et.td"; te: "et.te"; tf: "et.tf"; tg: "et.tg"; th: "et.th"; ti: "et.ti"; tj: "et.tj"; tk: "et.tk"; tl: "et.tl"; tm: "et.tm"; tn: "et.tn"; to: "et.to"; tp: "et.tp"; tq: "et.tq"; tr: "et.tr"; ts: "et.ts"; tt: "et.tt"; tu: "et.tu"; tv: "et.tv"; tw: "et.tw"; tx: "et.tx"; ty: "et.ty"; tz: "et.tz"; ua: "et.ua"; ub: "et.ub"; uc: "et.uc"; ud: "et.ud"; ue: "et.ue"; uf: "et.uf"; ug: "et.ug"; uh: "et.uh"; ui: "et.ui"; uj: "et.uj"; uk: "et.uk"; ul: "et.ul"; um: "et.um"; un: "et.un"; uo: "et.uo"; up: "et.up"; uq: "et.uq"; ur: "et.ur"; us: "et.us"; ut: "et.ut"; uu: "et.uu"; uv: "et.uv"; uw: "et.uw"; ux: "et.ux"; uy: "et.uy"; uz: "et.uz"; va: "et.va"; vb: "et.vb"; vc: "et.vc"; vd: "et.vd"; ve: "et.ve"; vf: "et.vf"; vg: "et.vg"; vh: "et.vh"; vi: "et.vi"; vj: "et.vj"; vk: "et.vk"; vl: "et.vl"; vm: "et.vm"; vn: "et.vn"; vo: "et.vo"; vp: "et.vp"; vq: "et.vq"; vr: "et.vr"; vs: "et.vs"; vt: "et.vt"; vu: "et.vu"; vv: "et.vv"; vw: "et.vw"; vx: "et.vx"; vy: "et.vy"; vz: "et.vz"; wa: "et.wa"; wb: "et.wb"; wc: "et.wc"; wd: "et.wd"; we: "et.we"; wf: "et.wf"; wg: "et.wg"; wh: "et.wh"; wi: "et.wi"; wj: "et.wj"; wk: "et.wk"; wl: "et.wl"; wm: "et.wm"; wn: "et.wn"; wo: "et.wo"; wp: "et.wp"; wq: "et.wq"; wr: "et.wr"; ws: "et.ws"; wt: "et.wt"; wu: "et.wu"; wv: "et.wv"; ww: "et.ww"; wx: "et.wx"; wy: "et.wy"; wz: "et.wz"; xa: "et.xa"; xb: "et.xb"; xc: "et.xc"; xd: "et.xd"; xe: "et.xe"; xf: "et.xf"; xg: "et.xg"; xh: "et.xh"; xi: "et.xi"; xj: "et.xj"; xk: "et.xk"; xl: "et.xl"; xm: "et.xm"; xn: "et.xn"; xo: "et.xo"; xp: "et.xp"; xq: "et.xq"; xr: "et.xr"; xs: "et.xs"; xt: "et.xt"; xu: "et.xu"; xv: "et.xv"; xw: "et.xw"; xx: "et.xx"; xy: "et.xy"; xz: "et.xz"; ya: "et.ya"; yb: "et.yb"; yc: "et.yc"; yd: "et.yd"; ye: "et.ye"; yf: "et.yf"; yg: "et.yg"; yh: "et.yh"; yi: "et.yi"; yj: "et.yj"; yk: "et.yk"; yl: "et.yl"; ym: "et.ym"; yn: "et.yn"; yo: "et.yo"; yp: "et.yp"; yq: "et.yq"; yr: "et.yr"; ys: "et.ys"; yt: "et.yt"; yu: "et.yu"; yv: "et.yv"; yw: "et.yw"; yx: "et.yx"; yy: "et.yy"; yz: "et.yz"; za: "et.za"; zb: "et.zb"; zc: "et.zc"; zd: "et.zd"; ze: "et.ze"; zf: "et.zf"; zg: "et.zg"; zh: "et.zh"; zi: "et.zi"; zj: "et.zj"; zk: "et.zk"; zl: "et.zl"; zm: "et.zm"; zn: "et.zn"; zo: "et.zo"; zp: "et.zp"; zq: "et.zq"; zr: "et.zr"; zs: "et.zs"; zt: "et.zt"; zu: "et.zu"; zv: "et.zv"; zw: "et.zw"; zx: "et.zx"; zy: "et.zy"; zz: "et.zz"; }; eu: { aa: "eu.aa"; ab: "eu.ab"; ac: "eu.ac"; ad: "eu.ad"; ae: "eu.ae"; af: "eu.af"; ag: "eu.ag"; ah: "eu.ah"; ai: "eu.ai"; aj: "eu.aj"; ak: "eu.ak"; al: "eu.al"; am: "eu.am"; an: "eu.an"; ao: "eu.ao"; ap: "eu.ap"; aq: "eu.aq"; ar: "eu.ar"; as: "eu.as"; at: "eu.at"; au: "eu.au"; av: "eu.av"; aw: "eu.aw"; ax: "eu.ax"; ay: "eu.ay"; az: "eu.az"; ba: "eu.ba"; bb: "eu.bb"; bc: "eu.bc"; bd: "eu.bd"; be: "eu.be"; bf: "eu.bf"; bg: "eu.bg"; bh: "eu.bh"; bi: "eu.bi"; bj: "eu.bj"; bk: "eu.bk"; bl: "eu.bl"; bm: "eu.bm"; bn: "eu.bn"; bo: "eu.bo"; bp: "eu.bp"; bq: "eu.bq"; br: "eu.br"; bs: "eu.bs"; bt: "eu.bt"; bu: "eu.bu"; bv: "eu.bv"; bw: "eu.bw"; bx: "eu.bx"; by: "eu.by"; bz: "eu.bz"; ca: "eu.ca"; cb: "eu.cb"; cc: "eu.cc"; cd: "eu.cd"; ce: "eu.ce"; cf: "eu.cf"; cg: "eu.cg"; ch: "eu.ch"; ci: "eu.ci"; cj: "eu.cj"; ck: "eu.ck"; cl: "eu.cl"; cm: "eu.cm"; cn: "eu.cn"; co: "eu.co"; cp: "eu.cp"; cq: "eu.cq"; cr: "eu.cr"; cs: "eu.cs"; ct: "eu.ct"; cu: "eu.cu"; cv: "eu.cv"; cw: "eu.cw"; cx: "eu.cx"; cy: "eu.cy"; cz: "eu.cz"; da: "eu.da"; db: "eu.db"; dc: "eu.dc"; dd: "eu.dd"; de: "eu.de"; df: "eu.df"; dg: "eu.dg"; dh: "eu.dh"; di: "eu.di"; dj: "eu.dj"; dk: "eu.dk"; dl: "eu.dl"; dm: "eu.dm"; dn: "eu.dn"; do: "eu.do"; dp: "eu.dp"; dq: "eu.dq"; dr: "eu.dr"; ds: "eu.ds"; dt: "eu.dt"; du: "eu.du"; dv: "eu.dv"; dw: "eu.dw"; dx: "eu.dx"; dy: "eu.dy"; dz: "eu.dz"; ea: "eu.ea"; eb: "eu.eb"; ec: "eu.ec"; ed: "eu.ed"; ee: "eu.ee"; ef: "eu.ef"; eg: "eu.eg"; eh: "eu.eh"; ei: "eu.ei"; ej: "eu.ej"; ek: "eu.ek"; el: "eu.el"; em: "eu.em"; en: "eu.en"; eo: "eu.eo"; ep: "eu.ep"; eq: "eu.eq"; er: "eu.er"; es: "eu.es"; et: "eu.et"; eu: "eu.eu"; ev: "eu.ev"; ew: "eu.ew"; ex: "eu.ex"; ey: "eu.ey"; ez: "eu.ez"; fa: "eu.fa"; fb: "eu.fb"; fc: "eu.fc"; fd: "eu.fd"; fe: "eu.fe"; ff: "eu.ff"; fg: "eu.fg"; fh: "eu.fh"; fi: "eu.fi"; fj: "eu.fj"; fk: "eu.fk"; fl: "eu.fl"; fm: "eu.fm"; fn: "eu.fn"; fo: "eu.fo"; fp: "eu.fp"; fq: "eu.fq"; fr: "eu.fr"; fs: "eu.fs"; ft: "eu.ft"; fu: "eu.fu"; fv: "eu.fv"; fw: "eu.fw"; fx: "eu.fx"; fy: "eu.fy"; fz: "eu.fz"; ga: "eu.ga"; gb: "eu.gb"; gc: "eu.gc"; gd: "eu.gd"; ge: "eu.ge"; gf: "eu.gf"; gg: "eu.gg"; gh: "eu.gh"; gi: "eu.gi"; gj: "eu.gj"; gk: "eu.gk"; gl: "eu.gl"; gm: "eu.gm"; gn: "eu.gn"; go: "eu.go"; gp: "eu.gp"; gq: "eu.gq"; gr: "eu.gr"; gs: "eu.gs"; gt: "eu.gt"; gu: "eu.gu"; gv: "eu.gv"; gw: "eu.gw"; gx: "eu.gx"; gy: "eu.gy"; gz: "eu.gz"; ha: "eu.ha"; hb: "eu.hb"; hc: "eu.hc"; hd: "eu.hd"; he: "eu.he"; hf: "eu.hf"; hg: "eu.hg"; hh: "eu.hh"; hi: "eu.hi"; hj: "eu.hj"; hk: "eu.hk"; hl: "eu.hl"; hm: "eu.hm"; hn: "eu.hn"; ho: "eu.ho"; hp: "eu.hp"; hq: "eu.hq"; hr: "eu.hr"; hs: "eu.hs"; ht: "eu.ht"; hu: "eu.hu"; hv: "eu.hv"; hw: "eu.hw"; hx: "eu.hx"; hy: "eu.hy"; hz: "eu.hz"; ia: "eu.ia"; ib: "eu.ib"; ic: "eu.ic"; id: "eu.id"; ie: "eu.ie"; if: "eu.if"; ig: "eu.ig"; ih: "eu.ih"; ii: "eu.ii"; ij: "eu.ij"; ik: "eu.ik"; il: "eu.il"; im: "eu.im"; in: "eu.in"; io: "eu.io"; ip: "eu.ip"; iq: "eu.iq"; ir: "eu.ir"; is: "eu.is"; it: "eu.it"; iu: "eu.iu"; iv: "eu.iv"; iw: "eu.iw"; ix: "eu.ix"; iy: "eu.iy"; iz: "eu.iz"; ja: "eu.ja"; jb: "eu.jb"; jc: "eu.jc"; jd: "eu.jd"; je: "eu.je"; jf: "eu.jf"; jg: "eu.jg"; jh: "eu.jh"; ji: "eu.ji"; jj: "eu.jj"; jk: "eu.jk"; jl: "eu.jl"; jm: "eu.jm"; jn: "eu.jn"; jo: "eu.jo"; jp: "eu.jp"; jq: "eu.jq"; jr: "eu.jr"; js: "eu.js"; jt: "eu.jt"; ju: "eu.ju"; jv: "eu.jv"; jw: "eu.jw"; jx: "eu.jx"; jy: "eu.jy"; jz: "eu.jz"; ka: "eu.ka"; kb: "eu.kb"; kc: "eu.kc"; kd: "eu.kd"; ke: "eu.ke"; kf: "eu.kf"; kg: "eu.kg"; kh: "eu.kh"; ki: "eu.ki"; kj: "eu.kj"; kk: "eu.kk"; kl: "eu.kl"; km: "eu.km"; kn: "eu.kn"; ko: "eu.ko"; kp: "eu.kp"; kq: "eu.kq"; kr: "eu.kr"; ks: "eu.ks"; kt: "eu.kt"; ku: "eu.ku"; kv: "eu.kv"; kw: "eu.kw"; kx: "eu.kx"; ky: "eu.ky"; kz: "eu.kz"; la: "eu.la"; lb: "eu.lb"; lc: "eu.lc"; ld: "eu.ld"; le: "eu.le"; lf: "eu.lf"; lg: "eu.lg"; lh: "eu.lh"; li: "eu.li"; lj: "eu.lj"; lk: "eu.lk"; ll: "eu.ll"; lm: "eu.lm"; ln: "eu.ln"; lo: "eu.lo"; lp: "eu.lp"; lq: "eu.lq"; lr: "eu.lr"; ls: "eu.ls"; lt: "eu.lt"; lu: "eu.lu"; lv: "eu.lv"; lw: "eu.lw"; lx: "eu.lx"; ly: "eu.ly"; lz: "eu.lz"; ma: "eu.ma"; mb: "eu.mb"; mc: "eu.mc"; md: "eu.md"; me: "eu.me"; mf: "eu.mf"; mg: "eu.mg"; mh: "eu.mh"; mi: "eu.mi"; mj: "eu.mj"; mk: "eu.mk"; ml: "eu.ml"; mm: "eu.mm"; mn: "eu.mn"; mo: "eu.mo"; mp: "eu.mp"; mq: "eu.mq"; mr: "eu.mr"; ms: "eu.ms"; mt: "eu.mt"; mu: "eu.mu"; mv: "eu.mv"; mw: "eu.mw"; mx: "eu.mx"; my: "eu.my"; mz: "eu.mz"; na: "eu.na"; nb: "eu.nb"; nc: "eu.nc"; nd: "eu.nd"; ne: "eu.ne"; nf: "eu.nf"; ng: "eu.ng"; nh: "eu.nh"; ni: "eu.ni"; nj: "eu.nj"; nk: "eu.nk"; nl: "eu.nl"; nm: "eu.nm"; nn: "eu.nn"; no: "eu.no"; np: "eu.np"; nq: "eu.nq"; nr: "eu.nr"; ns: "eu.ns"; nt: "eu.nt"; nu: "eu.nu"; nv: "eu.nv"; nw: "eu.nw"; nx: "eu.nx"; ny: "eu.ny"; nz: "eu.nz"; oa: "eu.oa"; ob: "eu.ob"; oc: "eu.oc"; od: "eu.od"; oe: "eu.oe"; of: "eu.of"; og: "eu.og"; oh: "eu.oh"; oi: "eu.oi"; oj: "eu.oj"; ok: "eu.ok"; ol: "eu.ol"; om: "eu.om"; on: "eu.on"; oo: "eu.oo"; op: "eu.op"; oq: "eu.oq"; or: "eu.or"; os: "eu.os"; ot: "eu.ot"; ou: "eu.ou"; ov: "eu.ov"; ow: "eu.ow"; ox: "eu.ox"; oy: "eu.oy"; oz: "eu.oz"; pa: "eu.pa"; pb: "eu.pb"; pc: "eu.pc"; pd: "eu.pd"; pe: "eu.pe"; pf: "eu.pf"; pg: "eu.pg"; ph: "eu.ph"; pi: "eu.pi"; pj: "eu.pj"; pk: "eu.pk"; pl: "eu.pl"; pm: "eu.pm"; pn: "eu.pn"; po: "eu.po"; pp: "eu.pp"; pq: "eu.pq"; pr: "eu.pr"; ps: "eu.ps"; pt: "eu.pt"; pu: "eu.pu"; pv: "eu.pv"; pw: "eu.pw"; px: "eu.px"; py: "eu.py"; pz: "eu.pz"; qa: "eu.qa"; qb: "eu.qb"; qc: "eu.qc"; qd: "eu.qd"; qe: "eu.qe"; qf: "eu.qf"; qg: "eu.qg"; qh: "eu.qh"; qi: "eu.qi"; qj: "eu.qj"; qk: "eu.qk"; ql: "eu.ql"; qm: "eu.qm"; qn: "eu.qn"; qo: "eu.qo"; qp: "eu.qp"; qq: "eu.qq"; qr: "eu.qr"; qs: "eu.qs"; qt: "eu.qt"; qu: "eu.qu"; qv: "eu.qv"; qw: "eu.qw"; qx: "eu.qx"; qy: "eu.qy"; qz: "eu.qz"; ra: "eu.ra"; rb: "eu.rb"; rc: "eu.rc"; rd: "eu.rd"; re: "eu.re"; rf: "eu.rf"; rg: "eu.rg"; rh: "eu.rh"; ri: "eu.ri"; rj: "eu.rj"; rk: "eu.rk"; rl: "eu.rl"; rm: "eu.rm"; rn: "eu.rn"; ro: "eu.ro"; rp: "eu.rp"; rq: "eu.rq"; rr: "eu.rr"; rs: "eu.rs"; rt: "eu.rt"; ru: "eu.ru"; rv: "eu.rv"; rw: "eu.rw"; rx: "eu.rx"; ry: "eu.ry"; rz: "eu.rz"; sa: "eu.sa"; sb: "eu.sb"; sc: "eu.sc"; sd: "eu.sd"; se: "eu.se"; sf: "eu.sf"; sg: "eu.sg"; sh: "eu.sh"; si: "eu.si"; sj: "eu.sj"; sk: "eu.sk"; sl: "eu.sl"; sm: "eu.sm"; sn: "eu.sn"; so: "eu.so"; sp: "eu.sp"; sq: "eu.sq"; sr: "eu.sr"; ss: "eu.ss"; st: "eu.st"; su: "eu.su"; sv: "eu.sv"; sw: "eu.sw"; sx: "eu.sx"; sy: "eu.sy"; sz: "eu.sz"; ta: "eu.ta"; tb: "eu.tb"; tc: "eu.tc"; td: "eu.td"; te: "eu.te"; tf: "eu.tf"; tg: "eu.tg"; th: "eu.th"; ti: "eu.ti"; tj: "eu.tj"; tk: "eu.tk"; tl: "eu.tl"; tm: "eu.tm"; tn: "eu.tn"; to: "eu.to"; tp: "eu.tp"; tq: "eu.tq"; tr: "eu.tr"; ts: "eu.ts"; tt: "eu.tt"; tu: "eu.tu"; tv: "eu.tv"; tw: "eu.tw"; tx: "eu.tx"; ty: "eu.ty"; tz: "eu.tz"; ua: "eu.ua"; ub: "eu.ub"; uc: "eu.uc"; ud: "eu.ud"; ue: "eu.ue"; uf: "eu.uf"; ug: "eu.ug"; uh: "eu.uh"; ui: "eu.ui"; uj: "eu.uj"; uk: "eu.uk"; ul: "eu.ul"; um: "eu.um"; un: "eu.un"; uo: "eu.uo"; up: "eu.up"; uq: "eu.uq"; ur: "eu.ur"; us: "eu.us"; ut: "eu.ut"; uu: "eu.uu"; uv: "eu.uv"; uw: "eu.uw"; ux: "eu.ux"; uy: "eu.uy"; uz: "eu.uz"; va: "eu.va"; vb: "eu.vb"; vc: "eu.vc"; vd: "eu.vd"; ve: "eu.ve"; vf: "eu.vf"; vg: "eu.vg"; vh: "eu.vh"; vi: "eu.vi"; vj: "eu.vj"; vk: "eu.vk"; vl: "eu.vl"; vm: "eu.vm"; vn: "eu.vn"; vo: "eu.vo"; vp: "eu.vp"; vq: "eu.vq"; vr: "eu.vr"; vs: "eu.vs"; vt: "eu.vt"; vu: "eu.vu"; vv: "eu.vv"; vw: "eu.vw"; vx: "eu.vx"; vy: "eu.vy"; vz: "eu.vz"; wa: "eu.wa"; wb: "eu.wb"; wc: "eu.wc"; wd: "eu.wd"; we: "eu.we"; wf: "eu.wf"; wg: "eu.wg"; wh: "eu.wh"; wi: "eu.wi"; wj: "eu.wj"; wk: "eu.wk"; wl: "eu.wl"; wm: "eu.wm"; wn: "eu.wn"; wo: "eu.wo"; wp: "eu.wp"; wq: "eu.wq"; wr: "eu.wr"; ws: "eu.ws"; wt: "eu.wt"; wu: "eu.wu"; wv: "eu.wv"; ww: "eu.ww"; wx: "eu.wx"; wy: "eu.wy"; wz: "eu.wz"; xa: "eu.xa"; xb: "eu.xb"; xc: "eu.xc"; xd: "eu.xd"; xe: "eu.xe"; xf: "eu.xf"; xg: "eu.xg"; xh: "eu.xh"; xi: "eu.xi"; xj: "eu.xj"; xk: "eu.xk"; xl: "eu.xl"; xm: "eu.xm"; xn: "eu.xn"; xo: "eu.xo"; xp: "eu.xp"; xq: "eu.xq"; xr: "eu.xr"; xs: "eu.xs"; xt: "eu.xt"; xu: "eu.xu"; xv: "eu.xv"; xw: "eu.xw"; xx: "eu.xx"; xy: "eu.xy"; xz: "eu.xz"; ya: "eu.ya"; yb: "eu.yb"; yc: "eu.yc"; yd: "eu.yd"; ye: "eu.ye"; yf: "eu.yf"; yg: "eu.yg"; yh: "eu.yh"; yi: "eu.yi"; yj: "eu.yj"; yk: "eu.yk"; yl: "eu.yl"; ym: "eu.ym"; yn: "eu.yn"; yo: "eu.yo"; yp: "eu.yp"; yq: "eu.yq"; yr: "eu.yr"; ys: "eu.ys"; yt: "eu.yt"; yu: "eu.yu"; yv: "eu.yv"; yw: "eu.yw"; yx: "eu.yx"; yy: "eu.yy"; yz: "eu.yz"; za: "eu.za"; zb: "eu.zb"; zc: "eu.zc"; zd: "eu.zd"; ze: "eu.ze"; zf: "eu.zf"; zg: "eu.zg"; zh: "eu.zh"; zi: "eu.zi"; zj: "eu.zj"; zk: "eu.zk"; zl: "eu.zl"; zm: "eu.zm"; zn: "eu.zn"; zo: "eu.zo"; zp: "eu.zp"; zq: "eu.zq"; zr: "eu.zr"; zs: "eu.zs"; zt: "eu.zt"; zu: "eu.zu"; zv: "eu.zv"; zw: "eu.zw"; zx: "eu.zx"; zy: "eu.zy"; zz: "eu.zz"; }; ev: { aa: "ev.aa"; ab: "ev.ab"; ac: "ev.ac"; ad: "ev.ad"; ae: "ev.ae"; af: "ev.af"; ag: "ev.ag"; ah: "ev.ah"; ai: "ev.ai"; aj: "ev.aj"; ak: "ev.ak"; al: "ev.al"; am: "ev.am"; an: "ev.an"; ao: "ev.ao"; ap: "ev.ap"; aq: "ev.aq"; ar: "ev.ar"; as: "ev.as"; at: "ev.at"; au: "ev.au"; av: "ev.av"; aw: "ev.aw"; ax: "ev.ax"; ay: "ev.ay"; az: "ev.az"; ba: "ev.ba"; bb: "ev.bb"; bc: "ev.bc"; bd: "ev.bd"; be: "ev.be"; bf: "ev.bf"; bg: "ev.bg"; bh: "ev.bh"; bi: "ev.bi"; bj: "ev.bj"; bk: "ev.bk"; bl: "ev.bl"; bm: "ev.bm"; bn: "ev.bn"; bo: "ev.bo"; bp: "ev.bp"; bq: "ev.bq"; br: "ev.br"; bs: "ev.bs"; bt: "ev.bt"; bu: "ev.bu"; bv: "ev.bv"; bw: "ev.bw"; bx: "ev.bx"; by: "ev.by"; bz: "ev.bz"; ca: "ev.ca"; cb: "ev.cb"; cc: "ev.cc"; cd: "ev.cd"; ce: "ev.ce"; cf: "ev.cf"; cg: "ev.cg"; ch: "ev.ch"; ci: "ev.ci"; cj: "ev.cj"; ck: "ev.ck"; cl: "ev.cl"; cm: "ev.cm"; cn: "ev.cn"; co: "ev.co"; cp: "ev.cp"; cq: "ev.cq"; cr: "ev.cr"; cs: "ev.cs"; ct: "ev.ct"; cu: "ev.cu"; cv: "ev.cv"; cw: "ev.cw"; cx: "ev.cx"; cy: "ev.cy"; cz: "ev.cz"; da: "ev.da"; db: "ev.db"; dc: "ev.dc"; dd: "ev.dd"; de: "ev.de"; df: "ev.df"; dg: "ev.dg"; dh: "ev.dh"; di: "ev.di"; dj: "ev.dj"; dk: "ev.dk"; dl: "ev.dl"; dm: "ev.dm"; dn: "ev.dn"; do: "ev.do"; dp: "ev.dp"; dq: "ev.dq"; dr: "ev.dr"; ds: "ev.ds"; dt: "ev.dt"; du: "ev.du"; dv: "ev.dv"; dw: "ev.dw"; dx: "ev.dx"; dy: "ev.dy"; dz: "ev.dz"; ea: "ev.ea"; eb: "ev.eb"; ec: "ev.ec"; ed: "ev.ed"; ee: "ev.ee"; ef: "ev.ef"; eg: "ev.eg"; eh: "ev.eh"; ei: "ev.ei"; ej: "ev.ej"; ek: "ev.ek"; el: "ev.el"; em: "ev.em"; en: "ev.en"; eo: "ev.eo"; ep: "ev.ep"; eq: "ev.eq"; er: "ev.er"; es: "ev.es"; et: "ev.et"; eu: "ev.eu"; ev: "ev.ev"; ew: "ev.ew"; ex: "ev.ex"; ey: "ev.ey"; ez: "ev.ez"; fa: "ev.fa"; fb: "ev.fb"; fc: "ev.fc"; fd: "ev.fd"; fe: "ev.fe"; ff: "ev.ff"; fg: "ev.fg"; fh: "ev.fh"; fi: "ev.fi"; fj: "ev.fj"; fk: "ev.fk"; fl: "ev.fl"; fm: "ev.fm"; fn: "ev.fn"; fo: "ev.fo"; fp: "ev.fp"; fq: "ev.fq"; fr: "ev.fr"; fs: "ev.fs"; ft: "ev.ft"; fu: "ev.fu"; fv: "ev.fv"; fw: "ev.fw"; fx: "ev.fx"; fy: "ev.fy"; fz: "ev.fz"; ga: "ev.ga"; gb: "ev.gb"; gc: "ev.gc"; gd: "ev.gd"; ge: "ev.ge"; gf: "ev.gf"; gg: "ev.gg"; gh: "ev.gh"; gi: "ev.gi"; gj: "ev.gj"; gk: "ev.gk"; gl: "ev.gl"; gm: "ev.gm"; gn: "ev.gn"; go: "ev.go"; gp: "ev.gp"; gq: "ev.gq"; gr: "ev.gr"; gs: "ev.gs"; gt: "ev.gt"; gu: "ev.gu"; gv: "ev.gv"; gw: "ev.gw"; gx: "ev.gx"; gy: "ev.gy"; gz: "ev.gz"; ha: "ev.ha"; hb: "ev.hb"; hc: "ev.hc"; hd: "ev.hd"; he: "ev.he"; hf: "ev.hf"; hg: "ev.hg"; hh: "ev.hh"; hi: "ev.hi"; hj: "ev.hj"; hk: "ev.hk"; hl: "ev.hl"; hm: "ev.hm"; hn: "ev.hn"; ho: "ev.ho"; hp: "ev.hp"; hq: "ev.hq"; hr: "ev.hr"; hs: "ev.hs"; ht: "ev.ht"; hu: "ev.hu"; hv: "ev.hv"; hw: "ev.hw"; hx: "ev.hx"; hy: "ev.hy"; hz: "ev.hz"; ia: "ev.ia"; ib: "ev.ib"; ic: "ev.ic"; id: "ev.id"; ie: "ev.ie"; if: "ev.if"; ig: "ev.ig"; ih: "ev.ih"; ii: "ev.ii"; ij: "ev.ij"; ik: "ev.ik"; il: "ev.il"; im: "ev.im"; in: "ev.in"; io: "ev.io"; ip: "ev.ip"; iq: "ev.iq"; ir: "ev.ir"; is: "ev.is"; it: "ev.it"; iu: "ev.iu"; iv: "ev.iv"; iw: "ev.iw"; ix: "ev.ix"; iy: "ev.iy"; iz: "ev.iz"; ja: "ev.ja"; jb: "ev.jb"; jc: "ev.jc"; jd: "ev.jd"; je: "ev.je"; jf: "ev.jf"; jg: "ev.jg"; jh: "ev.jh"; ji: "ev.ji"; jj: "ev.jj"; jk: "ev.jk"; jl: "ev.jl"; jm: "ev.jm"; jn: "ev.jn"; jo: "ev.jo"; jp: "ev.jp"; jq: "ev.jq"; jr: "ev.jr"; js: "ev.js"; jt: "ev.jt"; ju: "ev.ju"; jv: "ev.jv"; jw: "ev.jw"; jx: "ev.jx"; jy: "ev.jy"; jz: "ev.jz"; ka: "ev.ka"; kb: "ev.kb"; kc: "ev.kc"; kd: "ev.kd"; ke: "ev.ke"; kf: "ev.kf"; kg: "ev.kg"; kh: "ev.kh"; ki: "ev.ki"; kj: "ev.kj"; kk: "ev.kk"; kl: "ev.kl"; km: "ev.km"; kn: "ev.kn"; ko: "ev.ko"; kp: "ev.kp"; kq: "ev.kq"; kr: "ev.kr"; ks: "ev.ks"; kt: "ev.kt"; ku: "ev.ku"; kv: "ev.kv"; kw: "ev.kw"; kx: "ev.kx"; ky: "ev.ky"; kz: "ev.kz"; la: "ev.la"; lb: "ev.lb"; lc: "ev.lc"; ld: "ev.ld"; le: "ev.le"; lf: "ev.lf"; lg: "ev.lg"; lh: "ev.lh"; li: "ev.li"; lj: "ev.lj"; lk: "ev.lk"; ll: "ev.ll"; lm: "ev.lm"; ln: "ev.ln"; lo: "ev.lo"; lp: "ev.lp"; lq: "ev.lq"; lr: "ev.lr"; ls: "ev.ls"; lt: "ev.lt"; lu: "ev.lu"; lv: "ev.lv"; lw: "ev.lw"; lx: "ev.lx"; ly: "ev.ly"; lz: "ev.lz"; ma: "ev.ma"; mb: "ev.mb"; mc: "ev.mc"; md: "ev.md"; me: "ev.me"; mf: "ev.mf"; mg: "ev.mg"; mh: "ev.mh"; mi: "ev.mi"; mj: "ev.mj"; mk: "ev.mk"; ml: "ev.ml"; mm: "ev.mm"; mn: "ev.mn"; mo: "ev.mo"; mp: "ev.mp"; mq: "ev.mq"; mr: "ev.mr"; ms: "ev.ms"; mt: "ev.mt"; mu: "ev.mu"; mv: "ev.mv"; mw: "ev.mw"; mx: "ev.mx"; my: "ev.my"; mz: "ev.mz"; na: "ev.na"; nb: "ev.nb"; nc: "ev.nc"; nd: "ev.nd"; ne: "ev.ne"; nf: "ev.nf"; ng: "ev.ng"; nh: "ev.nh"; ni: "ev.ni"; nj: "ev.nj"; nk: "ev.nk"; nl: "ev.nl"; nm: "ev.nm"; nn: "ev.nn"; no: "ev.no"; np: "ev.np"; nq: "ev.nq"; nr: "ev.nr"; ns: "ev.ns"; nt: "ev.nt"; nu: "ev.nu"; nv: "ev.nv"; nw: "ev.nw"; nx: "ev.nx"; ny: "ev.ny"; nz: "ev.nz"; oa: "ev.oa"; ob: "ev.ob"; oc: "ev.oc"; od: "ev.od"; oe: "ev.oe"; of: "ev.of"; og: "ev.og"; oh: "ev.oh"; oi: "ev.oi"; oj: "ev.oj"; ok: "ev.ok"; ol: "ev.ol"; om: "ev.om"; on: "ev.on"; oo: "ev.oo"; op: "ev.op"; oq: "ev.oq"; or: "ev.or"; os: "ev.os"; ot: "ev.ot"; ou: "ev.ou"; ov: "ev.ov"; ow: "ev.ow"; ox: "ev.ox"; oy: "ev.oy"; oz: "ev.oz"; pa: "ev.pa"; pb: "ev.pb"; pc: "ev.pc"; pd: "ev.pd"; pe: "ev.pe"; pf: "ev.pf"; pg: "ev.pg"; ph: "ev.ph"; pi: "ev.pi"; pj: "ev.pj"; pk: "ev.pk"; pl: "ev.pl"; pm: "ev.pm"; pn: "ev.pn"; po: "ev.po"; pp: "ev.pp"; pq: "ev.pq"; pr: "ev.pr"; ps: "ev.ps"; pt: "ev.pt"; pu: "ev.pu"; pv: "ev.pv"; pw: "ev.pw"; px: "ev.px"; py: "ev.py"; pz: "ev.pz"; qa: "ev.qa"; qb: "ev.qb"; qc: "ev.qc"; qd: "ev.qd"; qe: "ev.qe"; qf: "ev.qf"; qg: "ev.qg"; qh: "ev.qh"; qi: "ev.qi"; qj: "ev.qj"; qk: "ev.qk"; ql: "ev.ql"; qm: "ev.qm"; qn: "ev.qn"; qo: "ev.qo"; qp: "ev.qp"; qq: "ev.qq"; qr: "ev.qr"; qs: "ev.qs"; qt: "ev.qt"; qu: "ev.qu"; qv: "ev.qv"; qw: "ev.qw"; qx: "ev.qx"; qy: "ev.qy"; qz: "ev.qz"; ra: "ev.ra"; rb: "ev.rb"; rc: "ev.rc"; rd: "ev.rd"; re: "ev.re"; rf: "ev.rf"; rg: "ev.rg"; rh: "ev.rh"; ri: "ev.ri"; rj: "ev.rj"; rk: "ev.rk"; rl: "ev.rl"; rm: "ev.rm"; rn: "ev.rn"; ro: "ev.ro"; rp: "ev.rp"; rq: "ev.rq"; rr: "ev.rr"; rs: "ev.rs"; rt: "ev.rt"; ru: "ev.ru"; rv: "ev.rv"; rw: "ev.rw"; rx: "ev.rx"; ry: "ev.ry"; rz: "ev.rz"; sa: "ev.sa"; sb: "ev.sb"; sc: "ev.sc"; sd: "ev.sd"; se: "ev.se"; sf: "ev.sf"; sg: "ev.sg"; sh: "ev.sh"; si: "ev.si"; sj: "ev.sj"; sk: "ev.sk"; sl: "ev.sl"; sm: "ev.sm"; sn: "ev.sn"; so: "ev.so"; sp: "ev.sp"; sq: "ev.sq"; sr: "ev.sr"; ss: "ev.ss"; st: "ev.st"; su: "ev.su"; sv: "ev.sv"; sw: "ev.sw"; sx: "ev.sx"; sy: "ev.sy"; sz: "ev.sz"; ta: "ev.ta"; tb: "ev.tb"; tc: "ev.tc"; td: "ev.td"; te: "ev.te"; tf: "ev.tf"; tg: "ev.tg"; th: "ev.th"; ti: "ev.ti"; tj: "ev.tj"; tk: "ev.tk"; tl: "ev.tl"; tm: "ev.tm"; tn: "ev.tn"; to: "ev.to"; tp: "ev.tp"; tq: "ev.tq"; tr: "ev.tr"; ts: "ev.ts"; tt: "ev.tt"; tu: "ev.tu"; tv: "ev.tv"; tw: "ev.tw"; tx: "ev.tx"; ty: "ev.ty"; tz: "ev.tz"; ua: "ev.ua"; ub: "ev.ub"; uc: "ev.uc"; ud: "ev.ud"; ue: "ev.ue"; uf: "ev.uf"; ug: "ev.ug"; uh: "ev.uh"; ui: "ev.ui"; uj: "ev.uj"; uk: "ev.uk"; ul: "ev.ul"; um: "ev.um"; un: "ev.un"; uo: "ev.uo"; up: "ev.up"; uq: "ev.uq"; ur: "ev.ur"; us: "ev.us"; ut: "ev.ut"; uu: "ev.uu"; uv: "ev.uv"; uw: "ev.uw"; ux: "ev.ux"; uy: "ev.uy"; uz: "ev.uz"; va: "ev.va"; vb: "ev.vb"; vc: "ev.vc"; vd: "ev.vd"; ve: "ev.ve"; vf: "ev.vf"; vg: "ev.vg"; vh: "ev.vh"; vi: "ev.vi"; vj: "ev.vj"; vk: "ev.vk"; vl: "ev.vl"; vm: "ev.vm"; vn: "ev.vn"; vo: "ev.vo"; vp: "ev.vp"; vq: "ev.vq"; vr: "ev.vr"; vs: "ev.vs"; vt: "ev.vt"; vu: "ev.vu"; vv: "ev.vv"; vw: "ev.vw"; vx: "ev.vx"; vy: "ev.vy"; vz: "ev.vz"; wa: "ev.wa"; wb: "ev.wb"; wc: "ev.wc"; wd: "ev.wd"; we: "ev.we"; wf: "ev.wf"; wg: "ev.wg"; wh: "ev.wh"; wi: "ev.wi"; wj: "ev.wj"; wk: "ev.wk"; wl: "ev.wl"; wm: "ev.wm"; wn: "ev.wn"; wo: "ev.wo"; wp: "ev.wp"; wq: "ev.wq"; wr: "ev.wr"; ws: "ev.ws"; wt: "ev.wt"; wu: "ev.wu"; wv: "ev.wv"; ww: "ev.ww"; wx: "ev.wx"; wy: "ev.wy"; wz: "ev.wz"; xa: "ev.xa"; xb: "ev.xb"; xc: "ev.xc"; xd: "ev.xd"; xe: "ev.xe"; xf: "ev.xf"; xg: "ev.xg"; xh: "ev.xh"; xi: "ev.xi"; xj: "ev.xj"; xk: "ev.xk"; xl: "ev.xl"; xm: "ev.xm"; xn: "ev.xn"; xo: "ev.xo"; xp: "ev.xp"; xq: "ev.xq"; xr: "ev.xr"; xs: "ev.xs"; xt: "ev.xt"; xu: "ev.xu"; xv: "ev.xv"; xw: "ev.xw"; xx: "ev.xx"; xy: "ev.xy"; xz: "ev.xz"; ya: "ev.ya"; yb: "ev.yb"; yc: "ev.yc"; yd: "ev.yd"; ye: "ev.ye"; yf: "ev.yf"; yg: "ev.yg"; yh: "ev.yh"; yi: "ev.yi"; yj: "ev.yj"; yk: "ev.yk"; yl: "ev.yl"; ym: "ev.ym"; yn: "ev.yn"; yo: "ev.yo"; yp: "ev.yp"; yq: "ev.yq"; yr: "ev.yr"; ys: "ev.ys"; yt: "ev.yt"; yu: "ev.yu"; yv: "ev.yv"; yw: "ev.yw"; yx: "ev.yx"; yy: "ev.yy"; yz: "ev.yz"; za: "ev.za"; zb: "ev.zb"; zc: "ev.zc"; zd: "ev.zd"; ze: "ev.ze"; zf: "ev.zf"; zg: "ev.zg"; zh: "ev.zh"; zi: "ev.zi"; zj: "ev.zj"; zk: "ev.zk"; zl: "ev.zl"; zm: "ev.zm"; zn: "ev.zn"; zo: "ev.zo"; zp: "ev.zp"; zq: "ev.zq"; zr: "ev.zr"; zs: "ev.zs"; zt: "ev.zt"; zu: "ev.zu"; zv: "ev.zv"; zw: "ev.zw"; zx: "ev.zx"; zy: "ev.zy"; zz: "ev.zz"; }; ew: { aa: "ew.aa"; ab: "ew.ab"; ac: "ew.ac"; ad: "ew.ad"; ae: "ew.ae"; af: "ew.af"; ag: "ew.ag"; ah: "ew.ah"; ai: "ew.ai"; aj: "ew.aj"; ak: "ew.ak"; al: "ew.al"; am: "ew.am"; an: "ew.an"; ao: "ew.ao"; ap: "ew.ap"; aq: "ew.aq"; ar: "ew.ar"; as: "ew.as"; at: "ew.at"; au: "ew.au"; av: "ew.av"; aw: "ew.aw"; ax: "ew.ax"; ay: "ew.ay"; az: "ew.az"; ba: "ew.ba"; bb: "ew.bb"; bc: "ew.bc"; bd: "ew.bd"; be: "ew.be"; bf: "ew.bf"; bg: "ew.bg"; bh: "ew.bh"; bi: "ew.bi"; bj: "ew.bj"; bk: "ew.bk"; bl: "ew.bl"; bm: "ew.bm"; bn: "ew.bn"; bo: "ew.bo"; bp: "ew.bp"; bq: "ew.bq"; br: "ew.br"; bs: "ew.bs"; bt: "ew.bt"; bu: "ew.bu"; bv: "ew.bv"; bw: "ew.bw"; bx: "ew.bx"; by: "ew.by"; bz: "ew.bz"; ca: "ew.ca"; cb: "ew.cb"; cc: "ew.cc"; cd: "ew.cd"; ce: "ew.ce"; cf: "ew.cf"; cg: "ew.cg"; ch: "ew.ch"; ci: "ew.ci"; cj: "ew.cj"; ck: "ew.ck"; cl: "ew.cl"; cm: "ew.cm"; cn: "ew.cn"; co: "ew.co"; cp: "ew.cp"; cq: "ew.cq"; cr: "ew.cr"; cs: "ew.cs"; ct: "ew.ct"; cu: "ew.cu"; cv: "ew.cv"; cw: "ew.cw"; cx: "ew.cx"; cy: "ew.cy"; cz: "ew.cz"; da: "ew.da"; db: "ew.db"; dc: "ew.dc"; dd: "ew.dd"; de: "ew.de"; df: "ew.df"; dg: "ew.dg"; dh: "ew.dh"; di: "ew.di"; dj: "ew.dj"; dk: "ew.dk"; dl: "ew.dl"; dm: "ew.dm"; dn: "ew.dn"; do: "ew.do"; dp: "ew.dp"; dq: "ew.dq"; dr: "ew.dr"; ds: "ew.ds"; dt: "ew.dt"; du: "ew.du"; dv: "ew.dv"; dw: "ew.dw"; dx: "ew.dx"; dy: "ew.dy"; dz: "ew.dz"; ea: "ew.ea"; eb: "ew.eb"; ec: "ew.ec"; ed: "ew.ed"; ee: "ew.ee"; ef: "ew.ef"; eg: "ew.eg"; eh: "ew.eh"; ei: "ew.ei"; ej: "ew.ej"; ek: "ew.ek"; el: "ew.el"; em: "ew.em"; en: "ew.en"; eo: "ew.eo"; ep: "ew.ep"; eq: "ew.eq"; er: "ew.er"; es: "ew.es"; et: "ew.et"; eu: "ew.eu"; ev: "ew.ev"; ew: "ew.ew"; ex: "ew.ex"; ey: "ew.ey"; ez: "ew.ez"; fa: "ew.fa"; fb: "ew.fb"; fc: "ew.fc"; fd: "ew.fd"; fe: "ew.fe"; ff: "ew.ff"; fg: "ew.fg"; fh: "ew.fh"; fi: "ew.fi"; fj: "ew.fj"; fk: "ew.fk"; fl: "ew.fl"; fm: "ew.fm"; fn: "ew.fn"; fo: "ew.fo"; fp: "ew.fp"; fq: "ew.fq"; fr: "ew.fr"; fs: "ew.fs"; ft: "ew.ft"; fu: "ew.fu"; fv: "ew.fv"; fw: "ew.fw"; fx: "ew.fx"; fy: "ew.fy"; fz: "ew.fz"; ga: "ew.ga"; gb: "ew.gb"; gc: "ew.gc"; gd: "ew.gd"; ge: "ew.ge"; gf: "ew.gf"; gg: "ew.gg"; gh: "ew.gh"; gi: "ew.gi"; gj: "ew.gj"; gk: "ew.gk"; gl: "ew.gl"; gm: "ew.gm"; gn: "ew.gn"; go: "ew.go"; gp: "ew.gp"; gq: "ew.gq"; gr: "ew.gr"; gs: "ew.gs"; gt: "ew.gt"; gu: "ew.gu"; gv: "ew.gv"; gw: "ew.gw"; gx: "ew.gx"; gy: "ew.gy"; gz: "ew.gz"; ha: "ew.ha"; hb: "ew.hb"; hc: "ew.hc"; hd: "ew.hd"; he: "ew.he"; hf: "ew.hf"; hg: "ew.hg"; hh: "ew.hh"; hi: "ew.hi"; hj: "ew.hj"; hk: "ew.hk"; hl: "ew.hl"; hm: "ew.hm"; hn: "ew.hn"; ho: "ew.ho"; hp: "ew.hp"; hq: "ew.hq"; hr: "ew.hr"; hs: "ew.hs"; ht: "ew.ht"; hu: "ew.hu"; hv: "ew.hv"; hw: "ew.hw"; hx: "ew.hx"; hy: "ew.hy"; hz: "ew.hz"; ia: "ew.ia"; ib: "ew.ib"; ic: "ew.ic"; id: "ew.id"; ie: "ew.ie"; if: "ew.if"; ig: "ew.ig"; ih: "ew.ih"; ii: "ew.ii"; ij: "ew.ij"; ik: "ew.ik"; il: "ew.il"; im: "ew.im"; in: "ew.in"; io: "ew.io"; ip: "ew.ip"; iq: "ew.iq"; ir: "ew.ir"; is: "ew.is"; it: "ew.it"; iu: "ew.iu"; iv: "ew.iv"; iw: "ew.iw"; ix: "ew.ix"; iy: "ew.iy"; iz: "ew.iz"; ja: "ew.ja"; jb: "ew.jb"; jc: "ew.jc"; jd: "ew.jd"; je: "ew.je"; jf: "ew.jf"; jg: "ew.jg"; jh: "ew.jh"; ji: "ew.ji"; jj: "ew.jj"; jk: "ew.jk"; jl: "ew.jl"; jm: "ew.jm"; jn: "ew.jn"; jo: "ew.jo"; jp: "ew.jp"; jq: "ew.jq"; jr: "ew.jr"; js: "ew.js"; jt: "ew.jt"; ju: "ew.ju"; jv: "ew.jv"; jw: "ew.jw"; jx: "ew.jx"; jy: "ew.jy"; jz: "ew.jz"; ka: "ew.ka"; kb: "ew.kb"; kc: "ew.kc"; kd: "ew.kd"; ke: "ew.ke"; kf: "ew.kf"; kg: "ew.kg"; kh: "ew.kh"; ki: "ew.ki"; kj: "ew.kj"; kk: "ew.kk"; kl: "ew.kl"; km: "ew.km"; kn: "ew.kn"; ko: "ew.ko"; kp: "ew.kp"; kq: "ew.kq"; kr: "ew.kr"; ks: "ew.ks"; kt: "ew.kt"; ku: "ew.ku"; kv: "ew.kv"; kw: "ew.kw"; kx: "ew.kx"; ky: "ew.ky"; kz: "ew.kz"; la: "ew.la"; lb: "ew.lb"; lc: "ew.lc"; ld: "ew.ld"; le: "ew.le"; lf: "ew.lf"; lg: "ew.lg"; lh: "ew.lh"; li: "ew.li"; lj: "ew.lj"; lk: "ew.lk"; ll: "ew.ll"; lm: "ew.lm"; ln: "ew.ln"; lo: "ew.lo"; lp: "ew.lp"; lq: "ew.lq"; lr: "ew.lr"; ls: "ew.ls"; lt: "ew.lt"; lu: "ew.lu"; lv: "ew.lv"; lw: "ew.lw"; lx: "ew.lx"; ly: "ew.ly"; lz: "ew.lz"; ma: "ew.ma"; mb: "ew.mb"; mc: "ew.mc"; md: "ew.md"; me: "ew.me"; mf: "ew.mf"; mg: "ew.mg"; mh: "ew.mh"; mi: "ew.mi"; mj: "ew.mj"; mk: "ew.mk"; ml: "ew.ml"; mm: "ew.mm"; mn: "ew.mn"; mo: "ew.mo"; mp: "ew.mp"; mq: "ew.mq"; mr: "ew.mr"; ms: "ew.ms"; mt: "ew.mt"; mu: "ew.mu"; mv: "ew.mv"; mw: "ew.mw"; mx: "ew.mx"; my: "ew.my"; mz: "ew.mz"; na: "ew.na"; nb: "ew.nb"; nc: "ew.nc"; nd: "ew.nd"; ne: "ew.ne"; nf: "ew.nf"; ng: "ew.ng"; nh: "ew.nh"; ni: "ew.ni"; nj: "ew.nj"; nk: "ew.nk"; nl: "ew.nl"; nm: "ew.nm"; nn: "ew.nn"; no: "ew.no"; np: "ew.np"; nq: "ew.nq"; nr: "ew.nr"; ns: "ew.ns"; nt: "ew.nt"; nu: "ew.nu"; nv: "ew.nv"; nw: "ew.nw"; nx: "ew.nx"; ny: "ew.ny"; nz: "ew.nz"; oa: "ew.oa"; ob: "ew.ob"; oc: "ew.oc"; od: "ew.od"; oe: "ew.oe"; of: "ew.of"; og: "ew.og"; oh: "ew.oh"; oi: "ew.oi"; oj: "ew.oj"; ok: "ew.ok"; ol: "ew.ol"; om: "ew.om"; on: "ew.on"; oo: "ew.oo"; op: "ew.op"; oq: "ew.oq"; or: "ew.or"; os: "ew.os"; ot: "ew.ot"; ou: "ew.ou"; ov: "ew.ov"; ow: "ew.ow"; ox: "ew.ox"; oy: "ew.oy"; oz: "ew.oz"; pa: "ew.pa"; pb: "ew.pb"; pc: "ew.pc"; pd: "ew.pd"; pe: "ew.pe"; pf: "ew.pf"; pg: "ew.pg"; ph: "ew.ph"; pi: "ew.pi"; pj: "ew.pj"; pk: "ew.pk"; pl: "ew.pl"; pm: "ew.pm"; pn: "ew.pn"; po: "ew.po"; pp: "ew.pp"; pq: "ew.pq"; pr: "ew.pr"; ps: "ew.ps"; pt: "ew.pt"; pu: "ew.pu"; pv: "ew.pv"; pw: "ew.pw"; px: "ew.px"; py: "ew.py"; pz: "ew.pz"; qa: "ew.qa"; qb: "ew.qb"; qc: "ew.qc"; qd: "ew.qd"; qe: "ew.qe"; qf: "ew.qf"; qg: "ew.qg"; qh: "ew.qh"; qi: "ew.qi"; qj: "ew.qj"; qk: "ew.qk"; ql: "ew.ql"; qm: "ew.qm"; qn: "ew.qn"; qo: "ew.qo"; qp: "ew.qp"; qq: "ew.qq"; qr: "ew.qr"; qs: "ew.qs"; qt: "ew.qt"; qu: "ew.qu"; qv: "ew.qv"; qw: "ew.qw"; qx: "ew.qx"; qy: "ew.qy"; qz: "ew.qz"; ra: "ew.ra"; rb: "ew.rb"; rc: "ew.rc"; rd: "ew.rd"; re: "ew.re"; rf: "ew.rf"; rg: "ew.rg"; rh: "ew.rh"; ri: "ew.ri"; rj: "ew.rj"; rk: "ew.rk"; rl: "ew.rl"; rm: "ew.rm"; rn: "ew.rn"; ro: "ew.ro"; rp: "ew.rp"; rq: "ew.rq"; rr: "ew.rr"; rs: "ew.rs"; rt: "ew.rt"; ru: "ew.ru"; rv: "ew.rv"; rw: "ew.rw"; rx: "ew.rx"; ry: "ew.ry"; rz: "ew.rz"; sa: "ew.sa"; sb: "ew.sb"; sc: "ew.sc"; sd: "ew.sd"; se: "ew.se"; sf: "ew.sf"; sg: "ew.sg"; sh: "ew.sh"; si: "ew.si"; sj: "ew.sj"; sk: "ew.sk"; sl: "ew.sl"; sm: "ew.sm"; sn: "ew.sn"; so: "ew.so"; sp: "ew.sp"; sq: "ew.sq"; sr: "ew.sr"; ss: "ew.ss"; st: "ew.st"; su: "ew.su"; sv: "ew.sv"; sw: "ew.sw"; sx: "ew.sx"; sy: "ew.sy"; sz: "ew.sz"; ta: "ew.ta"; tb: "ew.tb"; tc: "ew.tc"; td: "ew.td"; te: "ew.te"; tf: "ew.tf"; tg: "ew.tg"; th: "ew.th"; ti: "ew.ti"; tj: "ew.tj"; tk: "ew.tk"; tl: "ew.tl"; tm: "ew.tm"; tn: "ew.tn"; to: "ew.to"; tp: "ew.tp"; tq: "ew.tq"; tr: "ew.tr"; ts: "ew.ts"; tt: "ew.tt"; tu: "ew.tu"; tv: "ew.tv"; tw: "ew.tw"; tx: "ew.tx"; ty: "ew.ty"; tz: "ew.tz"; ua: "ew.ua"; ub: "ew.ub"; uc: "ew.uc"; ud: "ew.ud"; ue: "ew.ue"; uf: "ew.uf"; ug: "ew.ug"; uh: "ew.uh"; ui: "ew.ui"; uj: "ew.uj"; uk: "ew.uk"; ul: "ew.ul"; um: "ew.um"; un: "ew.un"; uo: "ew.uo"; up: "ew.up"; uq: "ew.uq"; ur: "ew.ur"; us: "ew.us"; ut: "ew.ut"; uu: "ew.uu"; uv: "ew.uv"; uw: "ew.uw"; ux: "ew.ux"; uy: "ew.uy"; uz: "ew.uz"; va: "ew.va"; vb: "ew.vb"; vc: "ew.vc"; vd: "ew.vd"; ve: "ew.ve"; vf: "ew.vf"; vg: "ew.vg"; vh: "ew.vh"; vi: "ew.vi"; vj: "ew.vj"; vk: "ew.vk"; vl: "ew.vl"; vm: "ew.vm"; vn: "ew.vn"; vo: "ew.vo"; vp: "ew.vp"; vq: "ew.vq"; vr: "ew.vr"; vs: "ew.vs"; vt: "ew.vt"; vu: "ew.vu"; vv: "ew.vv"; vw: "ew.vw"; vx: "ew.vx"; vy: "ew.vy"; vz: "ew.vz"; wa: "ew.wa"; wb: "ew.wb"; wc: "ew.wc"; wd: "ew.wd"; we: "ew.we"; wf: "ew.wf"; wg: "ew.wg"; wh: "ew.wh"; wi: "ew.wi"; wj: "ew.wj"; wk: "ew.wk"; wl: "ew.wl"; wm: "ew.wm"; wn: "ew.wn"; wo: "ew.wo"; wp: "ew.wp"; wq: "ew.wq"; wr: "ew.wr"; ws: "ew.ws"; wt: "ew.wt"; wu: "ew.wu"; wv: "ew.wv"; ww: "ew.ww"; wx: "ew.wx"; wy: "ew.wy"; wz: "ew.wz"; xa: "ew.xa"; xb: "ew.xb"; xc: "ew.xc"; xd: "ew.xd"; xe: "ew.xe"; xf: "ew.xf"; xg: "ew.xg"; xh: "ew.xh"; xi: "ew.xi"; xj: "ew.xj"; xk: "ew.xk"; xl: "ew.xl"; xm: "ew.xm"; xn: "ew.xn"; xo: "ew.xo"; xp: "ew.xp"; xq: "ew.xq"; xr: "ew.xr"; xs: "ew.xs"; xt: "ew.xt"; xu: "ew.xu"; xv: "ew.xv"; xw: "ew.xw"; xx: "ew.xx"; xy: "ew.xy"; xz: "ew.xz"; ya: "ew.ya"; yb: "ew.yb"; yc: "ew.yc"; yd: "ew.yd"; ye: "ew.ye"; yf: "ew.yf"; yg: "ew.yg"; yh: "ew.yh"; yi: "ew.yi"; yj: "ew.yj"; yk: "ew.yk"; yl: "ew.yl"; ym: "ew.ym"; yn: "ew.yn"; yo: "ew.yo"; yp: "ew.yp"; yq: "ew.yq"; yr: "ew.yr"; ys: "ew.ys"; yt: "ew.yt"; yu: "ew.yu"; yv: "ew.yv"; yw: "ew.yw"; yx: "ew.yx"; yy: "ew.yy"; yz: "ew.yz"; za: "ew.za"; zb: "ew.zb"; zc: "ew.zc"; zd: "ew.zd"; ze: "ew.ze"; zf: "ew.zf"; zg: "ew.zg"; zh: "ew.zh"; zi: "ew.zi"; zj: "ew.zj"; zk: "ew.zk"; zl: "ew.zl"; zm: "ew.zm"; zn: "ew.zn"; zo: "ew.zo"; zp: "ew.zp"; zq: "ew.zq"; zr: "ew.zr"; zs: "ew.zs"; zt: "ew.zt"; zu: "ew.zu"; zv: "ew.zv"; zw: "ew.zw"; zx: "ew.zx"; zy: "ew.zy"; zz: "ew.zz"; }; ex: { aa: "ex.aa"; ab: "ex.ab"; ac: "ex.ac"; ad: "ex.ad"; ae: "ex.ae"; af: "ex.af"; ag: "ex.ag"; ah: "ex.ah"; ai: "ex.ai"; aj: "ex.aj"; ak: "ex.ak"; al: "ex.al"; am: "ex.am"; an: "ex.an"; ao: "ex.ao"; ap: "ex.ap"; aq: "ex.aq"; ar: "ex.ar"; as: "ex.as"; at: "ex.at"; au: "ex.au"; av: "ex.av"; aw: "ex.aw"; ax: "ex.ax"; ay: "ex.ay"; az: "ex.az"; ba: "ex.ba"; bb: "ex.bb"; bc: "ex.bc"; bd: "ex.bd"; be: "ex.be"; bf: "ex.bf"; bg: "ex.bg"; bh: "ex.bh"; bi: "ex.bi"; bj: "ex.bj"; bk: "ex.bk"; bl: "ex.bl"; bm: "ex.bm"; bn: "ex.bn"; bo: "ex.bo"; bp: "ex.bp"; bq: "ex.bq"; br: "ex.br"; bs: "ex.bs"; bt: "ex.bt"; bu: "ex.bu"; bv: "ex.bv"; bw: "ex.bw"; bx: "ex.bx"; by: "ex.by"; bz: "ex.bz"; ca: "ex.ca"; cb: "ex.cb"; cc: "ex.cc"; cd: "ex.cd"; ce: "ex.ce"; cf: "ex.cf"; cg: "ex.cg"; ch: "ex.ch"; ci: "ex.ci"; cj: "ex.cj"; ck: "ex.ck"; cl: "ex.cl"; cm: "ex.cm"; cn: "ex.cn"; co: "ex.co"; cp: "ex.cp"; cq: "ex.cq"; cr: "ex.cr"; cs: "ex.cs"; ct: "ex.ct"; cu: "ex.cu"; cv: "ex.cv"; cw: "ex.cw"; cx: "ex.cx"; cy: "ex.cy"; cz: "ex.cz"; da: "ex.da"; db: "ex.db"; dc: "ex.dc"; dd: "ex.dd"; de: "ex.de"; df: "ex.df"; dg: "ex.dg"; dh: "ex.dh"; di: "ex.di"; dj: "ex.dj"; dk: "ex.dk"; dl: "ex.dl"; dm: "ex.dm"; dn: "ex.dn"; do: "ex.do"; dp: "ex.dp"; dq: "ex.dq"; dr: "ex.dr"; ds: "ex.ds"; dt: "ex.dt"; du: "ex.du"; dv: "ex.dv"; dw: "ex.dw"; dx: "ex.dx"; dy: "ex.dy"; dz: "ex.dz"; ea: "ex.ea"; eb: "ex.eb"; ec: "ex.ec"; ed: "ex.ed"; ee: "ex.ee"; ef: "ex.ef"; eg: "ex.eg"; eh: "ex.eh"; ei: "ex.ei"; ej: "ex.ej"; ek: "ex.ek"; el: "ex.el"; em: "ex.em"; en: "ex.en"; eo: "ex.eo"; ep: "ex.ep"; eq: "ex.eq"; er: "ex.er"; es: "ex.es"; et: "ex.et"; eu: "ex.eu"; ev: "ex.ev"; ew: "ex.ew"; ex: "ex.ex"; ey: "ex.ey"; ez: "ex.ez"; fa: "ex.fa"; fb: "ex.fb"; fc: "ex.fc"; fd: "ex.fd"; fe: "ex.fe"; ff: "ex.ff"; fg: "ex.fg"; fh: "ex.fh"; fi: "ex.fi"; fj: "ex.fj"; fk: "ex.fk"; fl: "ex.fl"; fm: "ex.fm"; fn: "ex.fn"; fo: "ex.fo"; fp: "ex.fp"; fq: "ex.fq"; fr: "ex.fr"; fs: "ex.fs"; ft: "ex.ft"; fu: "ex.fu"; fv: "ex.fv"; fw: "ex.fw"; fx: "ex.fx"; fy: "ex.fy"; fz: "ex.fz"; ga: "ex.ga"; gb: "ex.gb"; gc: "ex.gc"; gd: "ex.gd"; ge: "ex.ge"; gf: "ex.gf"; gg: "ex.gg"; gh: "ex.gh"; gi: "ex.gi"; gj: "ex.gj"; gk: "ex.gk"; gl: "ex.gl"; gm: "ex.gm"; gn: "ex.gn"; go: "ex.go"; gp: "ex.gp"; gq: "ex.gq"; gr: "ex.gr"; gs: "ex.gs"; gt: "ex.gt"; gu: "ex.gu"; gv: "ex.gv"; gw: "ex.gw"; gx: "ex.gx"; gy: "ex.gy"; gz: "ex.gz"; ha: "ex.ha"; hb: "ex.hb"; hc: "ex.hc"; hd: "ex.hd"; he: "ex.he"; hf: "ex.hf"; hg: "ex.hg"; hh: "ex.hh"; hi: "ex.hi"; hj: "ex.hj"; hk: "ex.hk"; hl: "ex.hl"; hm: "ex.hm"; hn: "ex.hn"; ho: "ex.ho"; hp: "ex.hp"; hq: "ex.hq"; hr: "ex.hr"; hs: "ex.hs"; ht: "ex.ht"; hu: "ex.hu"; hv: "ex.hv"; hw: "ex.hw"; hx: "ex.hx"; hy: "ex.hy"; hz: "ex.hz"; ia: "ex.ia"; ib: "ex.ib"; ic: "ex.ic"; id: "ex.id"; ie: "ex.ie"; if: "ex.if"; ig: "ex.ig"; ih: "ex.ih"; ii: "ex.ii"; ij: "ex.ij"; ik: "ex.ik"; il: "ex.il"; im: "ex.im"; in: "ex.in"; io: "ex.io"; ip: "ex.ip"; iq: "ex.iq"; ir: "ex.ir"; is: "ex.is"; it: "ex.it"; iu: "ex.iu"; iv: "ex.iv"; iw: "ex.iw"; ix: "ex.ix"; iy: "ex.iy"; iz: "ex.iz"; ja: "ex.ja"; jb: "ex.jb"; jc: "ex.jc"; jd: "ex.jd"; je: "ex.je"; jf: "ex.jf"; jg: "ex.jg"; jh: "ex.jh"; ji: "ex.ji"; jj: "ex.jj"; jk: "ex.jk"; jl: "ex.jl"; jm: "ex.jm"; jn: "ex.jn"; jo: "ex.jo"; jp: "ex.jp"; jq: "ex.jq"; jr: "ex.jr"; js: "ex.js"; jt: "ex.jt"; ju: "ex.ju"; jv: "ex.jv"; jw: "ex.jw"; jx: "ex.jx"; jy: "ex.jy"; jz: "ex.jz"; ka: "ex.ka"; kb: "ex.kb"; kc: "ex.kc"; kd: "ex.kd"; ke: "ex.ke"; kf: "ex.kf"; kg: "ex.kg"; kh: "ex.kh"; ki: "ex.ki"; kj: "ex.kj"; kk: "ex.kk"; kl: "ex.kl"; km: "ex.km"; kn: "ex.kn"; ko: "ex.ko"; kp: "ex.kp"; kq: "ex.kq"; kr: "ex.kr"; ks: "ex.ks"; kt: "ex.kt"; ku: "ex.ku"; kv: "ex.kv"; kw: "ex.kw"; kx: "ex.kx"; ky: "ex.ky"; kz: "ex.kz"; la: "ex.la"; lb: "ex.lb"; lc: "ex.lc"; ld: "ex.ld"; le: "ex.le"; lf: "ex.lf"; lg: "ex.lg"; lh: "ex.lh"; li: "ex.li"; lj: "ex.lj"; lk: "ex.lk"; ll: "ex.ll"; lm: "ex.lm"; ln: "ex.ln"; lo: "ex.lo"; lp: "ex.lp"; lq: "ex.lq"; lr: "ex.lr"; ls: "ex.ls"; lt: "ex.lt"; lu: "ex.lu"; lv: "ex.lv"; lw: "ex.lw"; lx: "ex.lx"; ly: "ex.ly"; lz: "ex.lz"; ma: "ex.ma"; mb: "ex.mb"; mc: "ex.mc"; md: "ex.md"; me: "ex.me"; mf: "ex.mf"; mg: "ex.mg"; mh: "ex.mh"; mi: "ex.mi"; mj: "ex.mj"; mk: "ex.mk"; ml: "ex.ml"; mm: "ex.mm"; mn: "ex.mn"; mo: "ex.mo"; mp: "ex.mp"; mq: "ex.mq"; mr: "ex.mr"; ms: "ex.ms"; mt: "ex.mt"; mu: "ex.mu"; mv: "ex.mv"; mw: "ex.mw"; mx: "ex.mx"; my: "ex.my"; mz: "ex.mz"; na: "ex.na"; nb: "ex.nb"; nc: "ex.nc"; nd: "ex.nd"; ne: "ex.ne"; nf: "ex.nf"; ng: "ex.ng"; nh: "ex.nh"; ni: "ex.ni"; nj: "ex.nj"; nk: "ex.nk"; nl: "ex.nl"; nm: "ex.nm"; nn: "ex.nn"; no: "ex.no"; np: "ex.np"; nq: "ex.nq"; nr: "ex.nr"; ns: "ex.ns"; nt: "ex.nt"; nu: "ex.nu"; nv: "ex.nv"; nw: "ex.nw"; nx: "ex.nx"; ny: "ex.ny"; nz: "ex.nz"; oa: "ex.oa"; ob: "ex.ob"; oc: "ex.oc"; od: "ex.od"; oe: "ex.oe"; of: "ex.of"; og: "ex.og"; oh: "ex.oh"; oi: "ex.oi"; oj: "ex.oj"; ok: "ex.ok"; ol: "ex.ol"; om: "ex.om"; on: "ex.on"; oo: "ex.oo"; op: "ex.op"; oq: "ex.oq"; or: "ex.or"; os: "ex.os"; ot: "ex.ot"; ou: "ex.ou"; ov: "ex.ov"; ow: "ex.ow"; ox: "ex.ox"; oy: "ex.oy"; oz: "ex.oz"; pa: "ex.pa"; pb: "ex.pb"; pc: "ex.pc"; pd: "ex.pd"; pe: "ex.pe"; pf: "ex.pf"; pg: "ex.pg"; ph: "ex.ph"; pi: "ex.pi"; pj: "ex.pj"; pk: "ex.pk"; pl: "ex.pl"; pm: "ex.pm"; pn: "ex.pn"; po: "ex.po"; pp: "ex.pp"; pq: "ex.pq"; pr: "ex.pr"; ps: "ex.ps"; pt: "ex.pt"; pu: "ex.pu"; pv: "ex.pv"; pw: "ex.pw"; px: "ex.px"; py: "ex.py"; pz: "ex.pz"; qa: "ex.qa"; qb: "ex.qb"; qc: "ex.qc"; qd: "ex.qd"; qe: "ex.qe"; qf: "ex.qf"; qg: "ex.qg"; qh: "ex.qh"; qi: "ex.qi"; qj: "ex.qj"; qk: "ex.qk"; ql: "ex.ql"; qm: "ex.qm"; qn: "ex.qn"; qo: "ex.qo"; qp: "ex.qp"; qq: "ex.qq"; qr: "ex.qr"; qs: "ex.qs"; qt: "ex.qt"; qu: "ex.qu"; qv: "ex.qv"; qw: "ex.qw"; qx: "ex.qx"; qy: "ex.qy"; qz: "ex.qz"; ra: "ex.ra"; rb: "ex.rb"; rc: "ex.rc"; rd: "ex.rd"; re: "ex.re"; rf: "ex.rf"; rg: "ex.rg"; rh: "ex.rh"; ri: "ex.ri"; rj: "ex.rj"; rk: "ex.rk"; rl: "ex.rl"; rm: "ex.rm"; rn: "ex.rn"; ro: "ex.ro"; rp: "ex.rp"; rq: "ex.rq"; rr: "ex.rr"; rs: "ex.rs"; rt: "ex.rt"; ru: "ex.ru"; rv: "ex.rv"; rw: "ex.rw"; rx: "ex.rx"; ry: "ex.ry"; rz: "ex.rz"; sa: "ex.sa"; sb: "ex.sb"; sc: "ex.sc"; sd: "ex.sd"; se: "ex.se"; sf: "ex.sf"; sg: "ex.sg"; sh: "ex.sh"; si: "ex.si"; sj: "ex.sj"; sk: "ex.sk"; sl: "ex.sl"; sm: "ex.sm"; sn: "ex.sn"; so: "ex.so"; sp: "ex.sp"; sq: "ex.sq"; sr: "ex.sr"; ss: "ex.ss"; st: "ex.st"; su: "ex.su"; sv: "ex.sv"; sw: "ex.sw"; sx: "ex.sx"; sy: "ex.sy"; sz: "ex.sz"; ta: "ex.ta"; tb: "ex.tb"; tc: "ex.tc"; td: "ex.td"; te: "ex.te"; tf: "ex.tf"; tg: "ex.tg"; th: "ex.th"; ti: "ex.ti"; tj: "ex.tj"; tk: "ex.tk"; tl: "ex.tl"; tm: "ex.tm"; tn: "ex.tn"; to: "ex.to"; tp: "ex.tp"; tq: "ex.tq"; tr: "ex.tr"; ts: "ex.ts"; tt: "ex.tt"; tu: "ex.tu"; tv: "ex.tv"; tw: "ex.tw"; tx: "ex.tx"; ty: "ex.ty"; tz: "ex.tz"; ua: "ex.ua"; ub: "ex.ub"; uc: "ex.uc"; ud: "ex.ud"; ue: "ex.ue"; uf: "ex.uf"; ug: "ex.ug"; uh: "ex.uh"; ui: "ex.ui"; uj: "ex.uj"; uk: "ex.uk"; ul: "ex.ul"; um: "ex.um"; un: "ex.un"; uo: "ex.uo"; up: "ex.up"; uq: "ex.uq"; ur: "ex.ur"; us: "ex.us"; ut: "ex.ut"; uu: "ex.uu"; uv: "ex.uv"; uw: "ex.uw"; ux: "ex.ux"; uy: "ex.uy"; uz: "ex.uz"; va: "ex.va"; vb: "ex.vb"; vc: "ex.vc"; vd: "ex.vd"; ve: "ex.ve"; vf: "ex.vf"; vg: "ex.vg"; vh: "ex.vh"; vi: "ex.vi"; vj: "ex.vj"; vk: "ex.vk"; vl: "ex.vl"; vm: "ex.vm"; vn: "ex.vn"; vo: "ex.vo"; vp: "ex.vp"; vq: "ex.vq"; vr: "ex.vr"; vs: "ex.vs"; vt: "ex.vt"; vu: "ex.vu"; vv: "ex.vv"; vw: "ex.vw"; vx: "ex.vx"; vy: "ex.vy"; vz: "ex.vz"; wa: "ex.wa"; wb: "ex.wb"; wc: "ex.wc"; wd: "ex.wd"; we: "ex.we"; wf: "ex.wf"; wg: "ex.wg"; wh: "ex.wh"; wi: "ex.wi"; wj: "ex.wj"; wk: "ex.wk"; wl: "ex.wl"; wm: "ex.wm"; wn: "ex.wn"; wo: "ex.wo"; wp: "ex.wp"; wq: "ex.wq"; wr: "ex.wr"; ws: "ex.ws"; wt: "ex.wt"; wu: "ex.wu"; wv: "ex.wv"; ww: "ex.ww"; wx: "ex.wx"; wy: "ex.wy"; wz: "ex.wz"; xa: "ex.xa"; xb: "ex.xb"; xc: "ex.xc"; xd: "ex.xd"; xe: "ex.xe"; xf: "ex.xf"; xg: "ex.xg"; xh: "ex.xh"; xi: "ex.xi"; xj: "ex.xj"; xk: "ex.xk"; xl: "ex.xl"; xm: "ex.xm"; xn: "ex.xn"; xo: "ex.xo"; xp: "ex.xp"; xq: "ex.xq"; xr: "ex.xr"; xs: "ex.xs"; xt: "ex.xt"; xu: "ex.xu"; xv: "ex.xv"; xw: "ex.xw"; xx: "ex.xx"; xy: "ex.xy"; xz: "ex.xz"; ya: "ex.ya"; yb: "ex.yb"; yc: "ex.yc"; yd: "ex.yd"; ye: "ex.ye"; yf: "ex.yf"; yg: "ex.yg"; yh: "ex.yh"; yi: "ex.yi"; yj: "ex.yj"; yk: "ex.yk"; yl: "ex.yl"; ym: "ex.ym"; yn: "ex.yn"; yo: "ex.yo"; yp: "ex.yp"; yq: "ex.yq"; yr: "ex.yr"; ys: "ex.ys"; yt: "ex.yt"; yu: "ex.yu"; yv: "ex.yv"; yw: "ex.yw"; yx: "ex.yx"; yy: "ex.yy"; yz: "ex.yz"; za: "ex.za"; zb: "ex.zb"; zc: "ex.zc"; zd: "ex.zd"; ze: "ex.ze"; zf: "ex.zf"; zg: "ex.zg"; zh: "ex.zh"; zi: "ex.zi"; zj: "ex.zj"; zk: "ex.zk"; zl: "ex.zl"; zm: "ex.zm"; zn: "ex.zn"; zo: "ex.zo"; zp: "ex.zp"; zq: "ex.zq"; zr: "ex.zr"; zs: "ex.zs"; zt: "ex.zt"; zu: "ex.zu"; zv: "ex.zv"; zw: "ex.zw"; zx: "ex.zx"; zy: "ex.zy"; zz: "ex.zz"; }; ey: { aa: "ey.aa"; ab: "ey.ab"; ac: "ey.ac"; ad: "ey.ad"; ae: "ey.ae"; af: "ey.af"; ag: "ey.ag"; ah: "ey.ah"; ai: "ey.ai"; aj: "ey.aj"; ak: "ey.ak"; al: "ey.al"; am: "ey.am"; an: "ey.an"; ao: "ey.ao"; ap: "ey.ap"; aq: "ey.aq"; ar: "ey.ar"; as: "ey.as"; at: "ey.at"; au: "ey.au"; av: "ey.av"; aw: "ey.aw"; ax: "ey.ax"; ay: "ey.ay"; az: "ey.az"; ba: "ey.ba"; bb: "ey.bb"; bc: "ey.bc"; bd: "ey.bd"; be: "ey.be"; bf: "ey.bf"; bg: "ey.bg"; bh: "ey.bh"; bi: "ey.bi"; bj: "ey.bj"; bk: "ey.bk"; bl: "ey.bl"; bm: "ey.bm"; bn: "ey.bn"; bo: "ey.bo"; bp: "ey.bp"; bq: "ey.bq"; br: "ey.br"; bs: "ey.bs"; bt: "ey.bt"; bu: "ey.bu"; bv: "ey.bv"; bw: "ey.bw"; bx: "ey.bx"; by: "ey.by"; bz: "ey.bz"; ca: "ey.ca"; cb: "ey.cb"; cc: "ey.cc"; cd: "ey.cd"; ce: "ey.ce"; cf: "ey.cf"; cg: "ey.cg"; ch: "ey.ch"; ci: "ey.ci"; cj: "ey.cj"; ck: "ey.ck"; cl: "ey.cl"; cm: "ey.cm"; cn: "ey.cn"; co: "ey.co"; cp: "ey.cp"; cq: "ey.cq"; cr: "ey.cr"; cs: "ey.cs"; ct: "ey.ct"; cu: "ey.cu"; cv: "ey.cv"; cw: "ey.cw"; cx: "ey.cx"; cy: "ey.cy"; cz: "ey.cz"; da: "ey.da"; db: "ey.db"; dc: "ey.dc"; dd: "ey.dd"; de: "ey.de"; df: "ey.df"; dg: "ey.dg"; dh: "ey.dh"; di: "ey.di"; dj: "ey.dj"; dk: "ey.dk"; dl: "ey.dl"; dm: "ey.dm"; dn: "ey.dn"; do: "ey.do"; dp: "ey.dp"; dq: "ey.dq"; dr: "ey.dr"; ds: "ey.ds"; dt: "ey.dt"; du: "ey.du"; dv: "ey.dv"; dw: "ey.dw"; dx: "ey.dx"; dy: "ey.dy"; dz: "ey.dz"; ea: "ey.ea"; eb: "ey.eb"; ec: "ey.ec"; ed: "ey.ed"; ee: "ey.ee"; ef: "ey.ef"; eg: "ey.eg"; eh: "ey.eh"; ei: "ey.ei"; ej: "ey.ej"; ek: "ey.ek"; el: "ey.el"; em: "ey.em"; en: "ey.en"; eo: "ey.eo"; ep: "ey.ep"; eq: "ey.eq"; er: "ey.er"; es: "ey.es"; et: "ey.et"; eu: "ey.eu"; ev: "ey.ev"; ew: "ey.ew"; ex: "ey.ex"; ey: "ey.ey"; ez: "ey.ez"; fa: "ey.fa"; fb: "ey.fb"; fc: "ey.fc"; fd: "ey.fd"; fe: "ey.fe"; ff: "ey.ff"; fg: "ey.fg"; fh: "ey.fh"; fi: "ey.fi"; fj: "ey.fj"; fk: "ey.fk"; fl: "ey.fl"; fm: "ey.fm"; fn: "ey.fn"; fo: "ey.fo"; fp: "ey.fp"; fq: "ey.fq"; fr: "ey.fr"; fs: "ey.fs"; ft: "ey.ft"; fu: "ey.fu"; fv: "ey.fv"; fw: "ey.fw"; fx: "ey.fx"; fy: "ey.fy"; fz: "ey.fz"; ga: "ey.ga"; gb: "ey.gb"; gc: "ey.gc"; gd: "ey.gd"; ge: "ey.ge"; gf: "ey.gf"; gg: "ey.gg"; gh: "ey.gh"; gi: "ey.gi"; gj: "ey.gj"; gk: "ey.gk"; gl: "ey.gl"; gm: "ey.gm"; gn: "ey.gn"; go: "ey.go"; gp: "ey.gp"; gq: "ey.gq"; gr: "ey.gr"; gs: "ey.gs"; gt: "ey.gt"; gu: "ey.gu"; gv: "ey.gv"; gw: "ey.gw"; gx: "ey.gx"; gy: "ey.gy"; gz: "ey.gz"; ha: "ey.ha"; hb: "ey.hb"; hc: "ey.hc"; hd: "ey.hd"; he: "ey.he"; hf: "ey.hf"; hg: "ey.hg"; hh: "ey.hh"; hi: "ey.hi"; hj: "ey.hj"; hk: "ey.hk"; hl: "ey.hl"; hm: "ey.hm"; hn: "ey.hn"; ho: "ey.ho"; hp: "ey.hp"; hq: "ey.hq"; hr: "ey.hr"; hs: "ey.hs"; ht: "ey.ht"; hu: "ey.hu"; hv: "ey.hv"; hw: "ey.hw"; hx: "ey.hx"; hy: "ey.hy"; hz: "ey.hz"; ia: "ey.ia"; ib: "ey.ib"; ic: "ey.ic"; id: "ey.id"; ie: "ey.ie"; if: "ey.if"; ig: "ey.ig"; ih: "ey.ih"; ii: "ey.ii"; ij: "ey.ij"; ik: "ey.ik"; il: "ey.il"; im: "ey.im"; in: "ey.in"; io: "ey.io"; ip: "ey.ip"; iq: "ey.iq"; ir: "ey.ir"; is: "ey.is"; it: "ey.it"; iu: "ey.iu"; iv: "ey.iv"; iw: "ey.iw"; ix: "ey.ix"; iy: "ey.iy"; iz: "ey.iz"; ja: "ey.ja"; jb: "ey.jb"; jc: "ey.jc"; jd: "ey.jd"; je: "ey.je"; jf: "ey.jf"; jg: "ey.jg"; jh: "ey.jh"; ji: "ey.ji"; jj: "ey.jj"; jk: "ey.jk"; jl: "ey.jl"; jm: "ey.jm"; jn: "ey.jn"; jo: "ey.jo"; jp: "ey.jp"; jq: "ey.jq"; jr: "ey.jr"; js: "ey.js"; jt: "ey.jt"; ju: "ey.ju"; jv: "ey.jv"; jw: "ey.jw"; jx: "ey.jx"; jy: "ey.jy"; jz: "ey.jz"; ka: "ey.ka"; kb: "ey.kb"; kc: "ey.kc"; kd: "ey.kd"; ke: "ey.ke"; kf: "ey.kf"; kg: "ey.kg"; kh: "ey.kh"; ki: "ey.ki"; kj: "ey.kj"; kk: "ey.kk"; kl: "ey.kl"; km: "ey.km"; kn: "ey.kn"; ko: "ey.ko"; kp: "ey.kp"; kq: "ey.kq"; kr: "ey.kr"; ks: "ey.ks"; kt: "ey.kt"; ku: "ey.ku"; kv: "ey.kv"; kw: "ey.kw"; kx: "ey.kx"; ky: "ey.ky"; kz: "ey.kz"; la: "ey.la"; lb: "ey.lb"; lc: "ey.lc"; ld: "ey.ld"; le: "ey.le"; lf: "ey.lf"; lg: "ey.lg"; lh: "ey.lh"; li: "ey.li"; lj: "ey.lj"; lk: "ey.lk"; ll: "ey.ll"; lm: "ey.lm"; ln: "ey.ln"; lo: "ey.lo"; lp: "ey.lp"; lq: "ey.lq"; lr: "ey.lr"; ls: "ey.ls"; lt: "ey.lt"; lu: "ey.lu"; lv: "ey.lv"; lw: "ey.lw"; lx: "ey.lx"; ly: "ey.ly"; lz: "ey.lz"; ma: "ey.ma"; mb: "ey.mb"; mc: "ey.mc"; md: "ey.md"; me: "ey.me"; mf: "ey.mf"; mg: "ey.mg"; mh: "ey.mh"; mi: "ey.mi"; mj: "ey.mj"; mk: "ey.mk"; ml: "ey.ml"; mm: "ey.mm"; mn: "ey.mn"; mo: "ey.mo"; mp: "ey.mp"; mq: "ey.mq"; mr: "ey.mr"; ms: "ey.ms"; mt: "ey.mt"; mu: "ey.mu"; mv: "ey.mv"; mw: "ey.mw"; mx: "ey.mx"; my: "ey.my"; mz: "ey.mz"; na: "ey.na"; nb: "ey.nb"; nc: "ey.nc"; nd: "ey.nd"; ne: "ey.ne"; nf: "ey.nf"; ng: "ey.ng"; nh: "ey.nh"; ni: "ey.ni"; nj: "ey.nj"; nk: "ey.nk"; nl: "ey.nl"; nm: "ey.nm"; nn: "ey.nn"; no: "ey.no"; np: "ey.np"; nq: "ey.nq"; nr: "ey.nr"; ns: "ey.ns"; nt: "ey.nt"; nu: "ey.nu"; nv: "ey.nv"; nw: "ey.nw"; nx: "ey.nx"; ny: "ey.ny"; nz: "ey.nz"; oa: "ey.oa"; ob: "ey.ob"; oc: "ey.oc"; od: "ey.od"; oe: "ey.oe"; of: "ey.of"; og: "ey.og"; oh: "ey.oh"; oi: "ey.oi"; oj: "ey.oj"; ok: "ey.ok"; ol: "ey.ol"; om: "ey.om"; on: "ey.on"; oo: "ey.oo"; op: "ey.op"; oq: "ey.oq"; or: "ey.or"; os: "ey.os"; ot: "ey.ot"; ou: "ey.ou"; ov: "ey.ov"; ow: "ey.ow"; ox: "ey.ox"; oy: "ey.oy"; oz: "ey.oz"; pa: "ey.pa"; pb: "ey.pb"; pc: "ey.pc"; pd: "ey.pd"; pe: "ey.pe"; pf: "ey.pf"; pg: "ey.pg"; ph: "ey.ph"; pi: "ey.pi"; pj: "ey.pj"; pk: "ey.pk"; pl: "ey.pl"; pm: "ey.pm"; pn: "ey.pn"; po: "ey.po"; pp: "ey.pp"; pq: "ey.pq"; pr: "ey.pr"; ps: "ey.ps"; pt: "ey.pt"; pu: "ey.pu"; pv: "ey.pv"; pw: "ey.pw"; px: "ey.px"; py: "ey.py"; pz: "ey.pz"; qa: "ey.qa"; qb: "ey.qb"; qc: "ey.qc"; qd: "ey.qd"; qe: "ey.qe"; qf: "ey.qf"; qg: "ey.qg"; qh: "ey.qh"; qi: "ey.qi"; qj: "ey.qj"; qk: "ey.qk"; ql: "ey.ql"; qm: "ey.qm"; qn: "ey.qn"; qo: "ey.qo"; qp: "ey.qp"; qq: "ey.qq"; qr: "ey.qr"; qs: "ey.qs"; qt: "ey.qt"; qu: "ey.qu"; qv: "ey.qv"; qw: "ey.qw"; qx: "ey.qx"; qy: "ey.qy"; qz: "ey.qz"; ra: "ey.ra"; rb: "ey.rb"; rc: "ey.rc"; rd: "ey.rd"; re: "ey.re"; rf: "ey.rf"; rg: "ey.rg"; rh: "ey.rh"; ri: "ey.ri"; rj: "ey.rj"; rk: "ey.rk"; rl: "ey.rl"; rm: "ey.rm"; rn: "ey.rn"; ro: "ey.ro"; rp: "ey.rp"; rq: "ey.rq"; rr: "ey.rr"; rs: "ey.rs"; rt: "ey.rt"; ru: "ey.ru"; rv: "ey.rv"; rw: "ey.rw"; rx: "ey.rx"; ry: "ey.ry"; rz: "ey.rz"; sa: "ey.sa"; sb: "ey.sb"; sc: "ey.sc"; sd: "ey.sd"; se: "ey.se"; sf: "ey.sf"; sg: "ey.sg"; sh: "ey.sh"; si: "ey.si"; sj: "ey.sj"; sk: "ey.sk"; sl: "ey.sl"; sm: "ey.sm"; sn: "ey.sn"; so: "ey.so"; sp: "ey.sp"; sq: "ey.sq"; sr: "ey.sr"; ss: "ey.ss"; st: "ey.st"; su: "ey.su"; sv: "ey.sv"; sw: "ey.sw"; sx: "ey.sx"; sy: "ey.sy"; sz: "ey.sz"; ta: "ey.ta"; tb: "ey.tb"; tc: "ey.tc"; td: "ey.td"; te: "ey.te"; tf: "ey.tf"; tg: "ey.tg"; th: "ey.th"; ti: "ey.ti"; tj: "ey.tj"; tk: "ey.tk"; tl: "ey.tl"; tm: "ey.tm"; tn: "ey.tn"; to: "ey.to"; tp: "ey.tp"; tq: "ey.tq"; tr: "ey.tr"; ts: "ey.ts"; tt: "ey.tt"; tu: "ey.tu"; tv: "ey.tv"; tw: "ey.tw"; tx: "ey.tx"; ty: "ey.ty"; tz: "ey.tz"; ua: "ey.ua"; ub: "ey.ub"; uc: "ey.uc"; ud: "ey.ud"; ue: "ey.ue"; uf: "ey.uf"; ug: "ey.ug"; uh: "ey.uh"; ui: "ey.ui"; uj: "ey.uj"; uk: "ey.uk"; ul: "ey.ul"; um: "ey.um"; un: "ey.un"; uo: "ey.uo"; up: "ey.up"; uq: "ey.uq"; ur: "ey.ur"; us: "ey.us"; ut: "ey.ut"; uu: "ey.uu"; uv: "ey.uv"; uw: "ey.uw"; ux: "ey.ux"; uy: "ey.uy"; uz: "ey.uz"; va: "ey.va"; vb: "ey.vb"; vc: "ey.vc"; vd: "ey.vd"; ve: "ey.ve"; vf: "ey.vf"; vg: "ey.vg"; vh: "ey.vh"; vi: "ey.vi"; vj: "ey.vj"; vk: "ey.vk"; vl: "ey.vl"; vm: "ey.vm"; vn: "ey.vn"; vo: "ey.vo"; vp: "ey.vp"; vq: "ey.vq"; vr: "ey.vr"; vs: "ey.vs"; vt: "ey.vt"; vu: "ey.vu"; vv: "ey.vv"; vw: "ey.vw"; vx: "ey.vx"; vy: "ey.vy"; vz: "ey.vz"; wa: "ey.wa"; wb: "ey.wb"; wc: "ey.wc"; wd: "ey.wd"; we: "ey.we"; wf: "ey.wf"; wg: "ey.wg"; wh: "ey.wh"; wi: "ey.wi"; wj: "ey.wj"; wk: "ey.wk"; wl: "ey.wl"; wm: "ey.wm"; wn: "ey.wn"; wo: "ey.wo"; wp: "ey.wp"; wq: "ey.wq"; wr: "ey.wr"; ws: "ey.ws"; wt: "ey.wt"; wu: "ey.wu"; wv: "ey.wv"; ww: "ey.ww"; wx: "ey.wx"; wy: "ey.wy"; wz: "ey.wz"; xa: "ey.xa"; xb: "ey.xb"; xc: "ey.xc"; xd: "ey.xd"; xe: "ey.xe"; xf: "ey.xf"; xg: "ey.xg"; xh: "ey.xh"; xi: "ey.xi"; xj: "ey.xj"; xk: "ey.xk"; xl: "ey.xl"; xm: "ey.xm"; xn: "ey.xn"; xo: "ey.xo"; xp: "ey.xp"; xq: "ey.xq"; xr: "ey.xr"; xs: "ey.xs"; xt: "ey.xt"; xu: "ey.xu"; xv: "ey.xv"; xw: "ey.xw"; xx: "ey.xx"; xy: "ey.xy"; xz: "ey.xz"; ya: "ey.ya"; yb: "ey.yb"; yc: "ey.yc"; yd: "ey.yd"; ye: "ey.ye"; yf: "ey.yf"; yg: "ey.yg"; yh: "ey.yh"; yi: "ey.yi"; yj: "ey.yj"; yk: "ey.yk"; yl: "ey.yl"; ym: "ey.ym"; yn: "ey.yn"; yo: "ey.yo"; yp: "ey.yp"; yq: "ey.yq"; yr: "ey.yr"; ys: "ey.ys"; yt: "ey.yt"; yu: "ey.yu"; yv: "ey.yv"; yw: "ey.yw"; yx: "ey.yx"; yy: "ey.yy"; yz: "ey.yz"; za: "ey.za"; zb: "ey.zb"; zc: "ey.zc"; zd: "ey.zd"; ze: "ey.ze"; zf: "ey.zf"; zg: "ey.zg"; zh: "ey.zh"; zi: "ey.zi"; zj: "ey.zj"; zk: "ey.zk"; zl: "ey.zl"; zm: "ey.zm"; zn: "ey.zn"; zo: "ey.zo"; zp: "ey.zp"; zq: "ey.zq"; zr: "ey.zr"; zs: "ey.zs"; zt: "ey.zt"; zu: "ey.zu"; zv: "ey.zv"; zw: "ey.zw"; zx: "ey.zx"; zy: "ey.zy"; zz: "ey.zz"; }; ez: { aa: "ez.aa"; ab: "ez.ab"; ac: "ez.ac"; ad: "ez.ad"; ae: "ez.ae"; af: "ez.af"; ag: "ez.ag"; ah: "ez.ah"; ai: "ez.ai"; aj: "ez.aj"; ak: "ez.ak"; al: "ez.al"; am: "ez.am"; an: "ez.an"; ao: "ez.ao"; ap: "ez.ap"; aq: "ez.aq"; ar: "ez.ar"; as: "ez.as"; at: "ez.at"; au: "ez.au"; av: "ez.av"; aw: "ez.aw"; ax: "ez.ax"; ay: "ez.ay"; az: "ez.az"; ba: "ez.ba"; bb: "ez.bb"; bc: "ez.bc"; bd: "ez.bd"; be: "ez.be"; bf: "ez.bf"; bg: "ez.bg"; bh: "ez.bh"; bi: "ez.bi"; bj: "ez.bj"; bk: "ez.bk"; bl: "ez.bl"; bm: "ez.bm"; bn: "ez.bn"; bo: "ez.bo"; bp: "ez.bp"; bq: "ez.bq"; br: "ez.br"; bs: "ez.bs"; bt: "ez.bt"; bu: "ez.bu"; bv: "ez.bv"; bw: "ez.bw"; bx: "ez.bx"; by: "ez.by"; bz: "ez.bz"; ca: "ez.ca"; cb: "ez.cb"; cc: "ez.cc"; cd: "ez.cd"; ce: "ez.ce"; cf: "ez.cf"; cg: "ez.cg"; ch: "ez.ch"; ci: "ez.ci"; cj: "ez.cj"; ck: "ez.ck"; cl: "ez.cl"; cm: "ez.cm"; cn: "ez.cn"; co: "ez.co"; cp: "ez.cp"; cq: "ez.cq"; cr: "ez.cr"; cs: "ez.cs"; ct: "ez.ct"; cu: "ez.cu"; cv: "ez.cv"; cw: "ez.cw"; cx: "ez.cx"; cy: "ez.cy"; cz: "ez.cz"; da: "ez.da"; db: "ez.db"; dc: "ez.dc"; dd: "ez.dd"; de: "ez.de"; df: "ez.df"; dg: "ez.dg"; dh: "ez.dh"; di: "ez.di"; dj: "ez.dj"; dk: "ez.dk"; dl: "ez.dl"; dm: "ez.dm"; dn: "ez.dn"; do: "ez.do"; dp: "ez.dp"; dq: "ez.dq"; dr: "ez.dr"; ds: "ez.ds"; dt: "ez.dt"; du: "ez.du"; dv: "ez.dv"; dw: "ez.dw"; dx: "ez.dx"; dy: "ez.dy"; dz: "ez.dz"; ea: "ez.ea"; eb: "ez.eb"; ec: "ez.ec"; ed: "ez.ed"; ee: "ez.ee"; ef: "ez.ef"; eg: "ez.eg"; eh: "ez.eh"; ei: "ez.ei"; ej: "ez.ej"; ek: "ez.ek"; el: "ez.el"; em: "ez.em"; en: "ez.en"; eo: "ez.eo"; ep: "ez.ep"; eq: "ez.eq"; er: "ez.er"; es: "ez.es"; et: "ez.et"; eu: "ez.eu"; ev: "ez.ev"; ew: "ez.ew"; ex: "ez.ex"; ey: "ez.ey"; ez: "ez.ez"; fa: "ez.fa"; fb: "ez.fb"; fc: "ez.fc"; fd: "ez.fd"; fe: "ez.fe"; ff: "ez.ff"; fg: "ez.fg"; fh: "ez.fh"; fi: "ez.fi"; fj: "ez.fj"; fk: "ez.fk"; fl: "ez.fl"; fm: "ez.fm"; fn: "ez.fn"; fo: "ez.fo"; fp: "ez.fp"; fq: "ez.fq"; fr: "ez.fr"; fs: "ez.fs"; ft: "ez.ft"; fu: "ez.fu"; fv: "ez.fv"; fw: "ez.fw"; fx: "ez.fx"; fy: "ez.fy"; fz: "ez.fz"; ga: "ez.ga"; gb: "ez.gb"; gc: "ez.gc"; gd: "ez.gd"; ge: "ez.ge"; gf: "ez.gf"; gg: "ez.gg"; gh: "ez.gh"; gi: "ez.gi"; gj: "ez.gj"; gk: "ez.gk"; gl: "ez.gl"; gm: "ez.gm"; gn: "ez.gn"; go: "ez.go"; gp: "ez.gp"; gq: "ez.gq"; gr: "ez.gr"; gs: "ez.gs"; gt: "ez.gt"; gu: "ez.gu"; gv: "ez.gv"; gw: "ez.gw"; gx: "ez.gx"; gy: "ez.gy"; gz: "ez.gz"; ha: "ez.ha"; hb: "ez.hb"; hc: "ez.hc"; hd: "ez.hd"; he: "ez.he"; hf: "ez.hf"; hg: "ez.hg"; hh: "ez.hh"; hi: "ez.hi"; hj: "ez.hj"; hk: "ez.hk"; hl: "ez.hl"; hm: "ez.hm"; hn: "ez.hn"; ho: "ez.ho"; hp: "ez.hp"; hq: "ez.hq"; hr: "ez.hr"; hs: "ez.hs"; ht: "ez.ht"; hu: "ez.hu"; hv: "ez.hv"; hw: "ez.hw"; hx: "ez.hx"; hy: "ez.hy"; hz: "ez.hz"; ia: "ez.ia"; ib: "ez.ib"; ic: "ez.ic"; id: "ez.id"; ie: "ez.ie"; if: "ez.if"; ig: "ez.ig"; ih: "ez.ih"; ii: "ez.ii"; ij: "ez.ij"; ik: "ez.ik"; il: "ez.il"; im: "ez.im"; in: "ez.in"; io: "ez.io"; ip: "ez.ip"; iq: "ez.iq"; ir: "ez.ir"; is: "ez.is"; it: "ez.it"; iu: "ez.iu"; iv: "ez.iv"; iw: "ez.iw"; ix: "ez.ix"; iy: "ez.iy"; iz: "ez.iz"; ja: "ez.ja"; jb: "ez.jb"; jc: "ez.jc"; jd: "ez.jd"; je: "ez.je"; jf: "ez.jf"; jg: "ez.jg"; jh: "ez.jh"; ji: "ez.ji"; jj: "ez.jj"; jk: "ez.jk"; jl: "ez.jl"; jm: "ez.jm"; jn: "ez.jn"; jo: "ez.jo"; jp: "ez.jp"; jq: "ez.jq"; jr: "ez.jr"; js: "ez.js"; jt: "ez.jt"; ju: "ez.ju"; jv: "ez.jv"; jw: "ez.jw"; jx: "ez.jx"; jy: "ez.jy"; jz: "ez.jz"; ka: "ez.ka"; kb: "ez.kb"; kc: "ez.kc"; kd: "ez.kd"; ke: "ez.ke"; kf: "ez.kf"; kg: "ez.kg"; kh: "ez.kh"; ki: "ez.ki"; kj: "ez.kj"; kk: "ez.kk"; kl: "ez.kl"; km: "ez.km"; kn: "ez.kn"; ko: "ez.ko"; kp: "ez.kp"; kq: "ez.kq"; kr: "ez.kr"; ks: "ez.ks"; kt: "ez.kt"; ku: "ez.ku"; kv: "ez.kv"; kw: "ez.kw"; kx: "ez.kx"; ky: "ez.ky"; kz: "ez.kz"; la: "ez.la"; lb: "ez.lb"; lc: "ez.lc"; ld: "ez.ld"; le: "ez.le"; lf: "ez.lf"; lg: "ez.lg"; lh: "ez.lh"; li: "ez.li"; lj: "ez.lj"; lk: "ez.lk"; ll: "ez.ll"; lm: "ez.lm"; ln: "ez.ln"; lo: "ez.lo"; lp: "ez.lp"; lq: "ez.lq"; lr: "ez.lr"; ls: "ez.ls"; lt: "ez.lt"; lu: "ez.lu"; lv: "ez.lv"; lw: "ez.lw"; lx: "ez.lx"; ly: "ez.ly"; lz: "ez.lz"; ma: "ez.ma"; mb: "ez.mb"; mc: "ez.mc"; md: "ez.md"; me: "ez.me"; mf: "ez.mf"; mg: "ez.mg"; mh: "ez.mh"; mi: "ez.mi"; mj: "ez.mj"; mk: "ez.mk"; ml: "ez.ml"; mm: "ez.mm"; mn: "ez.mn"; mo: "ez.mo"; mp: "ez.mp"; mq: "ez.mq"; mr: "ez.mr"; ms: "ez.ms"; mt: "ez.mt"; mu: "ez.mu"; mv: "ez.mv"; mw: "ez.mw"; mx: "ez.mx"; my: "ez.my"; mz: "ez.mz"; na: "ez.na"; nb: "ez.nb"; nc: "ez.nc"; nd: "ez.nd"; ne: "ez.ne"; nf: "ez.nf"; ng: "ez.ng"; nh: "ez.nh"; ni: "ez.ni"; nj: "ez.nj"; nk: "ez.nk"; nl: "ez.nl"; nm: "ez.nm"; nn: "ez.nn"; no: "ez.no"; np: "ez.np"; nq: "ez.nq"; nr: "ez.nr"; ns: "ez.ns"; nt: "ez.nt"; nu: "ez.nu"; nv: "ez.nv"; nw: "ez.nw"; nx: "ez.nx"; ny: "ez.ny"; nz: "ez.nz"; oa: "ez.oa"; ob: "ez.ob"; oc: "ez.oc"; od: "ez.od"; oe: "ez.oe"; of: "ez.of"; og: "ez.og"; oh: "ez.oh"; oi: "ez.oi"; oj: "ez.oj"; ok: "ez.ok"; ol: "ez.ol"; om: "ez.om"; on: "ez.on"; oo: "ez.oo"; op: "ez.op"; oq: "ez.oq"; or: "ez.or"; os: "ez.os"; ot: "ez.ot"; ou: "ez.ou"; ov: "ez.ov"; ow: "ez.ow"; ox: "ez.ox"; oy: "ez.oy"; oz: "ez.oz"; pa: "ez.pa"; pb: "ez.pb"; pc: "ez.pc"; pd: "ez.pd"; pe: "ez.pe"; pf: "ez.pf"; pg: "ez.pg"; ph: "ez.ph"; pi: "ez.pi"; pj: "ez.pj"; pk: "ez.pk"; pl: "ez.pl"; pm: "ez.pm"; pn: "ez.pn"; po: "ez.po"; pp: "ez.pp"; pq: "ez.pq"; pr: "ez.pr"; ps: "ez.ps"; pt: "ez.pt"; pu: "ez.pu"; pv: "ez.pv"; pw: "ez.pw"; px: "ez.px"; py: "ez.py"; pz: "ez.pz"; qa: "ez.qa"; qb: "ez.qb"; qc: "ez.qc"; qd: "ez.qd"; qe: "ez.qe"; qf: "ez.qf"; qg: "ez.qg"; qh: "ez.qh"; qi: "ez.qi"; qj: "ez.qj"; qk: "ez.qk"; ql: "ez.ql"; qm: "ez.qm"; qn: "ez.qn"; qo: "ez.qo"; qp: "ez.qp"; qq: "ez.qq"; qr: "ez.qr"; qs: "ez.qs"; qt: "ez.qt"; qu: "ez.qu"; qv: "ez.qv"; qw: "ez.qw"; qx: "ez.qx"; qy: "ez.qy"; qz: "ez.qz"; ra: "ez.ra"; rb: "ez.rb"; rc: "ez.rc"; rd: "ez.rd"; re: "ez.re"; rf: "ez.rf"; rg: "ez.rg"; rh: "ez.rh"; ri: "ez.ri"; rj: "ez.rj"; rk: "ez.rk"; rl: "ez.rl"; rm: "ez.rm"; rn: "ez.rn"; ro: "ez.ro"; rp: "ez.rp"; rq: "ez.rq"; rr: "ez.rr"; rs: "ez.rs"; rt: "ez.rt"; ru: "ez.ru"; rv: "ez.rv"; rw: "ez.rw"; rx: "ez.rx"; ry: "ez.ry"; rz: "ez.rz"; sa: "ez.sa"; sb: "ez.sb"; sc: "ez.sc"; sd: "ez.sd"; se: "ez.se"; sf: "ez.sf"; sg: "ez.sg"; sh: "ez.sh"; si: "ez.si"; sj: "ez.sj"; sk: "ez.sk"; sl: "ez.sl"; sm: "ez.sm"; sn: "ez.sn"; so: "ez.so"; sp: "ez.sp"; sq: "ez.sq"; sr: "ez.sr"; ss: "ez.ss"; st: "ez.st"; su: "ez.su"; sv: "ez.sv"; sw: "ez.sw"; sx: "ez.sx"; sy: "ez.sy"; sz: "ez.sz"; ta: "ez.ta"; tb: "ez.tb"; tc: "ez.tc"; td: "ez.td"; te: "ez.te"; tf: "ez.tf"; tg: "ez.tg"; th: "ez.th"; ti: "ez.ti"; tj: "ez.tj"; tk: "ez.tk"; tl: "ez.tl"; tm: "ez.tm"; tn: "ez.tn"; to: "ez.to"; tp: "ez.tp"; tq: "ez.tq"; tr: "ez.tr"; ts: "ez.ts"; tt: "ez.tt"; tu: "ez.tu"; tv: "ez.tv"; tw: "ez.tw"; tx: "ez.tx"; ty: "ez.ty"; tz: "ez.tz"; ua: "ez.ua"; ub: "ez.ub"; uc: "ez.uc"; ud: "ez.ud"; ue: "ez.ue"; uf: "ez.uf"; ug: "ez.ug"; uh: "ez.uh"; ui: "ez.ui"; uj: "ez.uj"; uk: "ez.uk"; ul: "ez.ul"; um: "ez.um"; un: "ez.un"; uo: "ez.uo"; up: "ez.up"; uq: "ez.uq"; ur: "ez.ur"; us: "ez.us"; ut: "ez.ut"; uu: "ez.uu"; uv: "ez.uv"; uw: "ez.uw"; ux: "ez.ux"; uy: "ez.uy"; uz: "ez.uz"; va: "ez.va"; vb: "ez.vb"; vc: "ez.vc"; vd: "ez.vd"; ve: "ez.ve"; vf: "ez.vf"; vg: "ez.vg"; vh: "ez.vh"; vi: "ez.vi"; vj: "ez.vj"; vk: "ez.vk"; vl: "ez.vl"; vm: "ez.vm"; vn: "ez.vn"; vo: "ez.vo"; vp: "ez.vp"; vq: "ez.vq"; vr: "ez.vr"; vs: "ez.vs"; vt: "ez.vt"; vu: "ez.vu"; vv: "ez.vv"; vw: "ez.vw"; vx: "ez.vx"; vy: "ez.vy"; vz: "ez.vz"; wa: "ez.wa"; wb: "ez.wb"; wc: "ez.wc"; wd: "ez.wd"; we: "ez.we"; wf: "ez.wf"; wg: "ez.wg"; wh: "ez.wh"; wi: "ez.wi"; wj: "ez.wj"; wk: "ez.wk"; wl: "ez.wl"; wm: "ez.wm"; wn: "ez.wn"; wo: "ez.wo"; wp: "ez.wp"; wq: "ez.wq"; wr: "ez.wr"; ws: "ez.ws"; wt: "ez.wt"; wu: "ez.wu"; wv: "ez.wv"; ww: "ez.ww"; wx: "ez.wx"; wy: "ez.wy"; wz: "ez.wz"; xa: "ez.xa"; xb: "ez.xb"; xc: "ez.xc"; xd: "ez.xd"; xe: "ez.xe"; xf: "ez.xf"; xg: "ez.xg"; xh: "ez.xh"; xi: "ez.xi"; xj: "ez.xj"; xk: "ez.xk"; xl: "ez.xl"; xm: "ez.xm"; xn: "ez.xn"; xo: "ez.xo"; xp: "ez.xp"; xq: "ez.xq"; xr: "ez.xr"; xs: "ez.xs"; xt: "ez.xt"; xu: "ez.xu"; xv: "ez.xv"; xw: "ez.xw"; xx: "ez.xx"; xy: "ez.xy"; xz: "ez.xz"; ya: "ez.ya"; yb: "ez.yb"; yc: "ez.yc"; yd: "ez.yd"; ye: "ez.ye"; yf: "ez.yf"; yg: "ez.yg"; yh: "ez.yh"; yi: "ez.yi"; yj: "ez.yj"; yk: "ez.yk"; yl: "ez.yl"; ym: "ez.ym"; yn: "ez.yn"; yo: "ez.yo"; yp: "ez.yp"; yq: "ez.yq"; yr: "ez.yr"; ys: "ez.ys"; yt: "ez.yt"; yu: "ez.yu"; yv: "ez.yv"; yw: "ez.yw"; yx: "ez.yx"; yy: "ez.yy"; yz: "ez.yz"; za: "ez.za"; zb: "ez.zb"; zc: "ez.zc"; zd: "ez.zd"; ze: "ez.ze"; zf: "ez.zf"; zg: "ez.zg"; zh: "ez.zh"; zi: "ez.zi"; zj: "ez.zj"; zk: "ez.zk"; zl: "ez.zl"; zm: "ez.zm"; zn: "ez.zn"; zo: "ez.zo"; zp: "ez.zp"; zq: "ez.zq"; zr: "ez.zr"; zs: "ez.zs"; zt: "ez.zt"; zu: "ez.zu"; zv: "ez.zv"; zw: "ez.zw"; zx: "ez.zx"; zy: "ez.zy"; zz: "ez.zz"; }; fa: { aa: "fa.aa"; ab: "fa.ab"; ac: "fa.ac"; ad: "fa.ad"; ae: "fa.ae"; af: "fa.af"; ag: "fa.ag"; ah: "fa.ah"; ai: "fa.ai"; aj: "fa.aj"; ak: "fa.ak"; al: "fa.al"; am: "fa.am"; an: "fa.an"; ao: "fa.ao"; ap: "fa.ap"; aq: "fa.aq"; ar: "fa.ar"; as: "fa.as"; at: "fa.at"; au: "fa.au"; av: "fa.av"; aw: "fa.aw"; ax: "fa.ax"; ay: "fa.ay"; az: "fa.az"; ba: "fa.ba"; bb: "fa.bb"; bc: "fa.bc"; bd: "fa.bd"; be: "fa.be"; bf: "fa.bf"; bg: "fa.bg"; bh: "fa.bh"; bi: "fa.bi"; bj: "fa.bj"; bk: "fa.bk"; bl: "fa.bl"; bm: "fa.bm"; bn: "fa.bn"; bo: "fa.bo"; bp: "fa.bp"; bq: "fa.bq"; br: "fa.br"; bs: "fa.bs"; bt: "fa.bt"; bu: "fa.bu"; bv: "fa.bv"; bw: "fa.bw"; bx: "fa.bx"; by: "fa.by"; bz: "fa.bz"; ca: "fa.ca"; cb: "fa.cb"; cc: "fa.cc"; cd: "fa.cd"; ce: "fa.ce"; cf: "fa.cf"; cg: "fa.cg"; ch: "fa.ch"; ci: "fa.ci"; cj: "fa.cj"; ck: "fa.ck"; cl: "fa.cl"; cm: "fa.cm"; cn: "fa.cn"; co: "fa.co"; cp: "fa.cp"; cq: "fa.cq"; cr: "fa.cr"; cs: "fa.cs"; ct: "fa.ct"; cu: "fa.cu"; cv: "fa.cv"; cw: "fa.cw"; cx: "fa.cx"; cy: "fa.cy"; cz: "fa.cz"; da: "fa.da"; db: "fa.db"; dc: "fa.dc"; dd: "fa.dd"; de: "fa.de"; df: "fa.df"; dg: "fa.dg"; dh: "fa.dh"; di: "fa.di"; dj: "fa.dj"; dk: "fa.dk"; dl: "fa.dl"; dm: "fa.dm"; dn: "fa.dn"; do: "fa.do"; dp: "fa.dp"; dq: "fa.dq"; dr: "fa.dr"; ds: "fa.ds"; dt: "fa.dt"; du: "fa.du"; dv: "fa.dv"; dw: "fa.dw"; dx: "fa.dx"; dy: "fa.dy"; dz: "fa.dz"; ea: "fa.ea"; eb: "fa.eb"; ec: "fa.ec"; ed: "fa.ed"; ee: "fa.ee"; ef: "fa.ef"; eg: "fa.eg"; eh: "fa.eh"; ei: "fa.ei"; ej: "fa.ej"; ek: "fa.ek"; el: "fa.el"; em: "fa.em"; en: "fa.en"; eo: "fa.eo"; ep: "fa.ep"; eq: "fa.eq"; er: "fa.er"; es: "fa.es"; et: "fa.et"; eu: "fa.eu"; ev: "fa.ev"; ew: "fa.ew"; ex: "fa.ex"; ey: "fa.ey"; ez: "fa.ez"; fa: "fa.fa"; fb: "fa.fb"; fc: "fa.fc"; fd: "fa.fd"; fe: "fa.fe"; ff: "fa.ff"; fg: "fa.fg"; fh: "fa.fh"; fi: "fa.fi"; fj: "fa.fj"; fk: "fa.fk"; fl: "fa.fl"; fm: "fa.fm"; fn: "fa.fn"; fo: "fa.fo"; fp: "fa.fp"; fq: "fa.fq"; fr: "fa.fr"; fs: "fa.fs"; ft: "fa.ft"; fu: "fa.fu"; fv: "fa.fv"; fw: "fa.fw"; fx: "fa.fx"; fy: "fa.fy"; fz: "fa.fz"; ga: "fa.ga"; gb: "fa.gb"; gc: "fa.gc"; gd: "fa.gd"; ge: "fa.ge"; gf: "fa.gf"; gg: "fa.gg"; gh: "fa.gh"; gi: "fa.gi"; gj: "fa.gj"; gk: "fa.gk"; gl: "fa.gl"; gm: "fa.gm"; gn: "fa.gn"; go: "fa.go"; gp: "fa.gp"; gq: "fa.gq"; gr: "fa.gr"; gs: "fa.gs"; gt: "fa.gt"; gu: "fa.gu"; gv: "fa.gv"; gw: "fa.gw"; gx: "fa.gx"; gy: "fa.gy"; gz: "fa.gz"; ha: "fa.ha"; hb: "fa.hb"; hc: "fa.hc"; hd: "fa.hd"; he: "fa.he"; hf: "fa.hf"; hg: "fa.hg"; hh: "fa.hh"; hi: "fa.hi"; hj: "fa.hj"; hk: "fa.hk"; hl: "fa.hl"; hm: "fa.hm"; hn: "fa.hn"; ho: "fa.ho"; hp: "fa.hp"; hq: "fa.hq"; hr: "fa.hr"; hs: "fa.hs"; ht: "fa.ht"; hu: "fa.hu"; hv: "fa.hv"; hw: "fa.hw"; hx: "fa.hx"; hy: "fa.hy"; hz: "fa.hz"; ia: "fa.ia"; ib: "fa.ib"; ic: "fa.ic"; id: "fa.id"; ie: "fa.ie"; if: "fa.if"; ig: "fa.ig"; ih: "fa.ih"; ii: "fa.ii"; ij: "fa.ij"; ik: "fa.ik"; il: "fa.il"; im: "fa.im"; in: "fa.in"; io: "fa.io"; ip: "fa.ip"; iq: "fa.iq"; ir: "fa.ir"; is: "fa.is"; it: "fa.it"; iu: "fa.iu"; iv: "fa.iv"; iw: "fa.iw"; ix: "fa.ix"; iy: "fa.iy"; iz: "fa.iz"; ja: "fa.ja"; jb: "fa.jb"; jc: "fa.jc"; jd: "fa.jd"; je: "fa.je"; jf: "fa.jf"; jg: "fa.jg"; jh: "fa.jh"; ji: "fa.ji"; jj: "fa.jj"; jk: "fa.jk"; jl: "fa.jl"; jm: "fa.jm"; jn: "fa.jn"; jo: "fa.jo"; jp: "fa.jp"; jq: "fa.jq"; jr: "fa.jr"; js: "fa.js"; jt: "fa.jt"; ju: "fa.ju"; jv: "fa.jv"; jw: "fa.jw"; jx: "fa.jx"; jy: "fa.jy"; jz: "fa.jz"; ka: "fa.ka"; kb: "fa.kb"; kc: "fa.kc"; kd: "fa.kd"; ke: "fa.ke"; kf: "fa.kf"; kg: "fa.kg"; kh: "fa.kh"; ki: "fa.ki"; kj: "fa.kj"; kk: "fa.kk"; kl: "fa.kl"; km: "fa.km"; kn: "fa.kn"; ko: "fa.ko"; kp: "fa.kp"; kq: "fa.kq"; kr: "fa.kr"; ks: "fa.ks"; kt: "fa.kt"; ku: "fa.ku"; kv: "fa.kv"; kw: "fa.kw"; kx: "fa.kx"; ky: "fa.ky"; kz: "fa.kz"; la: "fa.la"; lb: "fa.lb"; lc: "fa.lc"; ld: "fa.ld"; le: "fa.le"; lf: "fa.lf"; lg: "fa.lg"; lh: "fa.lh"; li: "fa.li"; lj: "fa.lj"; lk: "fa.lk"; ll: "fa.ll"; lm: "fa.lm"; ln: "fa.ln"; lo: "fa.lo"; lp: "fa.lp"; lq: "fa.lq"; lr: "fa.lr"; ls: "fa.ls"; lt: "fa.lt"; lu: "fa.lu"; lv: "fa.lv"; lw: "fa.lw"; lx: "fa.lx"; ly: "fa.ly"; lz: "fa.lz"; ma: "fa.ma"; mb: "fa.mb"; mc: "fa.mc"; md: "fa.md"; me: "fa.me"; mf: "fa.mf"; mg: "fa.mg"; mh: "fa.mh"; mi: "fa.mi"; mj: "fa.mj"; mk: "fa.mk"; ml: "fa.ml"; mm: "fa.mm"; mn: "fa.mn"; mo: "fa.mo"; mp: "fa.mp"; mq: "fa.mq"; mr: "fa.mr"; ms: "fa.ms"; mt: "fa.mt"; mu: "fa.mu"; mv: "fa.mv"; mw: "fa.mw"; mx: "fa.mx"; my: "fa.my"; mz: "fa.mz"; na: "fa.na"; nb: "fa.nb"; nc: "fa.nc"; nd: "fa.nd"; ne: "fa.ne"; nf: "fa.nf"; ng: "fa.ng"; nh: "fa.nh"; ni: "fa.ni"; nj: "fa.nj"; nk: "fa.nk"; nl: "fa.nl"; nm: "fa.nm"; nn: "fa.nn"; no: "fa.no"; np: "fa.np"; nq: "fa.nq"; nr: "fa.nr"; ns: "fa.ns"; nt: "fa.nt"; nu: "fa.nu"; nv: "fa.nv"; nw: "fa.nw"; nx: "fa.nx"; ny: "fa.ny"; nz: "fa.nz"; oa: "fa.oa"; ob: "fa.ob"; oc: "fa.oc"; od: "fa.od"; oe: "fa.oe"; of: "fa.of"; og: "fa.og"; oh: "fa.oh"; oi: "fa.oi"; oj: "fa.oj"; ok: "fa.ok"; ol: "fa.ol"; om: "fa.om"; on: "fa.on"; oo: "fa.oo"; op: "fa.op"; oq: "fa.oq"; or: "fa.or"; os: "fa.os"; ot: "fa.ot"; ou: "fa.ou"; ov: "fa.ov"; ow: "fa.ow"; ox: "fa.ox"; oy: "fa.oy"; oz: "fa.oz"; pa: "fa.pa"; pb: "fa.pb"; pc: "fa.pc"; pd: "fa.pd"; pe: "fa.pe"; pf: "fa.pf"; pg: "fa.pg"; ph: "fa.ph"; pi: "fa.pi"; pj: "fa.pj"; pk: "fa.pk"; pl: "fa.pl"; pm: "fa.pm"; pn: "fa.pn"; po: "fa.po"; pp: "fa.pp"; pq: "fa.pq"; pr: "fa.pr"; ps: "fa.ps"; pt: "fa.pt"; pu: "fa.pu"; pv: "fa.pv"; pw: "fa.pw"; px: "fa.px"; py: "fa.py"; pz: "fa.pz"; qa: "fa.qa"; qb: "fa.qb"; qc: "fa.qc"; qd: "fa.qd"; qe: "fa.qe"; qf: "fa.qf"; qg: "fa.qg"; qh: "fa.qh"; qi: "fa.qi"; qj: "fa.qj"; qk: "fa.qk"; ql: "fa.ql"; qm: "fa.qm"; qn: "fa.qn"; qo: "fa.qo"; qp: "fa.qp"; qq: "fa.qq"; qr: "fa.qr"; qs: "fa.qs"; qt: "fa.qt"; qu: "fa.qu"; qv: "fa.qv"; qw: "fa.qw"; qx: "fa.qx"; qy: "fa.qy"; qz: "fa.qz"; ra: "fa.ra"; rb: "fa.rb"; rc: "fa.rc"; rd: "fa.rd"; re: "fa.re"; rf: "fa.rf"; rg: "fa.rg"; rh: "fa.rh"; ri: "fa.ri"; rj: "fa.rj"; rk: "fa.rk"; rl: "fa.rl"; rm: "fa.rm"; rn: "fa.rn"; ro: "fa.ro"; rp: "fa.rp"; rq: "fa.rq"; rr: "fa.rr"; rs: "fa.rs"; rt: "fa.rt"; ru: "fa.ru"; rv: "fa.rv"; rw: "fa.rw"; rx: "fa.rx"; ry: "fa.ry"; rz: "fa.rz"; sa: "fa.sa"; sb: "fa.sb"; sc: "fa.sc"; sd: "fa.sd"; se: "fa.se"; sf: "fa.sf"; sg: "fa.sg"; sh: "fa.sh"; si: "fa.si"; sj: "fa.sj"; sk: "fa.sk"; sl: "fa.sl"; sm: "fa.sm"; sn: "fa.sn"; so: "fa.so"; sp: "fa.sp"; sq: "fa.sq"; sr: "fa.sr"; ss: "fa.ss"; st: "fa.st"; su: "fa.su"; sv: "fa.sv"; sw: "fa.sw"; sx: "fa.sx"; sy: "fa.sy"; sz: "fa.sz"; ta: "fa.ta"; tb: "fa.tb"; tc: "fa.tc"; td: "fa.td"; te: "fa.te"; tf: "fa.tf"; tg: "fa.tg"; th: "fa.th"; ti: "fa.ti"; tj: "fa.tj"; tk: "fa.tk"; tl: "fa.tl"; tm: "fa.tm"; tn: "fa.tn"; to: "fa.to"; tp: "fa.tp"; tq: "fa.tq"; tr: "fa.tr"; ts: "fa.ts"; tt: "fa.tt"; tu: "fa.tu"; tv: "fa.tv"; tw: "fa.tw"; tx: "fa.tx"; ty: "fa.ty"; tz: "fa.tz"; ua: "fa.ua"; ub: "fa.ub"; uc: "fa.uc"; ud: "fa.ud"; ue: "fa.ue"; uf: "fa.uf"; ug: "fa.ug"; uh: "fa.uh"; ui: "fa.ui"; uj: "fa.uj"; uk: "fa.uk"; ul: "fa.ul"; um: "fa.um"; un: "fa.un"; uo: "fa.uo"; up: "fa.up"; uq: "fa.uq"; ur: "fa.ur"; us: "fa.us"; ut: "fa.ut"; uu: "fa.uu"; uv: "fa.uv"; uw: "fa.uw"; ux: "fa.ux"; uy: "fa.uy"; uz: "fa.uz"; va: "fa.va"; vb: "fa.vb"; vc: "fa.vc"; vd: "fa.vd"; ve: "fa.ve"; vf: "fa.vf"; vg: "fa.vg"; vh: "fa.vh"; vi: "fa.vi"; vj: "fa.vj"; vk: "fa.vk"; vl: "fa.vl"; vm: "fa.vm"; vn: "fa.vn"; vo: "fa.vo"; vp: "fa.vp"; vq: "fa.vq"; vr: "fa.vr"; vs: "fa.vs"; vt: "fa.vt"; vu: "fa.vu"; vv: "fa.vv"; vw: "fa.vw"; vx: "fa.vx"; vy: "fa.vy"; vz: "fa.vz"; wa: "fa.wa"; wb: "fa.wb"; wc: "fa.wc"; wd: "fa.wd"; we: "fa.we"; wf: "fa.wf"; wg: "fa.wg"; wh: "fa.wh"; wi: "fa.wi"; wj: "fa.wj"; wk: "fa.wk"; wl: "fa.wl"; wm: "fa.wm"; wn: "fa.wn"; wo: "fa.wo"; wp: "fa.wp"; wq: "fa.wq"; wr: "fa.wr"; ws: "fa.ws"; wt: "fa.wt"; wu: "fa.wu"; wv: "fa.wv"; ww: "fa.ww"; wx: "fa.wx"; wy: "fa.wy"; wz: "fa.wz"; xa: "fa.xa"; xb: "fa.xb"; xc: "fa.xc"; xd: "fa.xd"; xe: "fa.xe"; xf: "fa.xf"; xg: "fa.xg"; xh: "fa.xh"; xi: "fa.xi"; xj: "fa.xj"; xk: "fa.xk"; xl: "fa.xl"; xm: "fa.xm"; xn: "fa.xn"; xo: "fa.xo"; xp: "fa.xp"; xq: "fa.xq"; xr: "fa.xr"; xs: "fa.xs"; xt: "fa.xt"; xu: "fa.xu"; xv: "fa.xv"; xw: "fa.xw"; xx: "fa.xx"; xy: "fa.xy"; xz: "fa.xz"; ya: "fa.ya"; yb: "fa.yb"; yc: "fa.yc"; yd: "fa.yd"; ye: "fa.ye"; yf: "fa.yf"; yg: "fa.yg"; yh: "fa.yh"; yi: "fa.yi"; yj: "fa.yj"; yk: "fa.yk"; yl: "fa.yl"; ym: "fa.ym"; yn: "fa.yn"; yo: "fa.yo"; yp: "fa.yp"; yq: "fa.yq"; yr: "fa.yr"; ys: "fa.ys"; yt: "fa.yt"; yu: "fa.yu"; yv: "fa.yv"; yw: "fa.yw"; yx: "fa.yx"; yy: "fa.yy"; yz: "fa.yz"; za: "fa.za"; zb: "fa.zb"; zc: "fa.zc"; zd: "fa.zd"; ze: "fa.ze"; zf: "fa.zf"; zg: "fa.zg"; zh: "fa.zh"; zi: "fa.zi"; zj: "fa.zj"; zk: "fa.zk"; zl: "fa.zl"; zm: "fa.zm"; zn: "fa.zn"; zo: "fa.zo"; zp: "fa.zp"; zq: "fa.zq"; zr: "fa.zr"; zs: "fa.zs"; zt: "fa.zt"; zu: "fa.zu"; zv: "fa.zv"; zw: "fa.zw"; zx: "fa.zx"; zy: "fa.zy"; zz: "fa.zz"; }; fb: { aa: "fb.aa"; ab: "fb.ab"; ac: "fb.ac"; ad: "fb.ad"; ae: "fb.ae"; af: "fb.af"; ag: "fb.ag"; ah: "fb.ah"; ai: "fb.ai"; aj: "fb.aj"; ak: "fb.ak"; al: "fb.al"; am: "fb.am"; an: "fb.an"; ao: "fb.ao"; ap: "fb.ap"; aq: "fb.aq"; ar: "fb.ar"; as: "fb.as"; at: "fb.at"; au: "fb.au"; av: "fb.av"; aw: "fb.aw"; ax: "fb.ax"; ay: "fb.ay"; az: "fb.az"; ba: "fb.ba"; bb: "fb.bb"; bc: "fb.bc"; bd: "fb.bd"; be: "fb.be"; bf: "fb.bf"; bg: "fb.bg"; bh: "fb.bh"; bi: "fb.bi"; bj: "fb.bj"; bk: "fb.bk"; bl: "fb.bl"; bm: "fb.bm"; bn: "fb.bn"; bo: "fb.bo"; bp: "fb.bp"; bq: "fb.bq"; br: "fb.br"; bs: "fb.bs"; bt: "fb.bt"; bu: "fb.bu"; bv: "fb.bv"; bw: "fb.bw"; bx: "fb.bx"; by: "fb.by"; bz: "fb.bz"; ca: "fb.ca"; cb: "fb.cb"; cc: "fb.cc"; cd: "fb.cd"; ce: "fb.ce"; cf: "fb.cf"; cg: "fb.cg"; ch: "fb.ch"; ci: "fb.ci"; cj: "fb.cj"; ck: "fb.ck"; cl: "fb.cl"; cm: "fb.cm"; cn: "fb.cn"; co: "fb.co"; cp: "fb.cp"; cq: "fb.cq"; cr: "fb.cr"; cs: "fb.cs"; ct: "fb.ct"; cu: "fb.cu"; cv: "fb.cv"; cw: "fb.cw"; cx: "fb.cx"; cy: "fb.cy"; cz: "fb.cz"; da: "fb.da"; db: "fb.db"; dc: "fb.dc"; dd: "fb.dd"; de: "fb.de"; df: "fb.df"; dg: "fb.dg"; dh: "fb.dh"; di: "fb.di"; dj: "fb.dj"; dk: "fb.dk"; dl: "fb.dl"; dm: "fb.dm"; dn: "fb.dn"; do: "fb.do"; dp: "fb.dp"; dq: "fb.dq"; dr: "fb.dr"; ds: "fb.ds"; dt: "fb.dt"; du: "fb.du"; dv: "fb.dv"; dw: "fb.dw"; dx: "fb.dx"; dy: "fb.dy"; dz: "fb.dz"; ea: "fb.ea"; eb: "fb.eb"; ec: "fb.ec"; ed: "fb.ed"; ee: "fb.ee"; ef: "fb.ef"; eg: "fb.eg"; eh: "fb.eh"; ei: "fb.ei"; ej: "fb.ej"; ek: "fb.ek"; el: "fb.el"; em: "fb.em"; en: "fb.en"; eo: "fb.eo"; ep: "fb.ep"; eq: "fb.eq"; er: "fb.er"; es: "fb.es"; et: "fb.et"; eu: "fb.eu"; ev: "fb.ev"; ew: "fb.ew"; ex: "fb.ex"; ey: "fb.ey"; ez: "fb.ez"; fa: "fb.fa"; fb: "fb.fb"; fc: "fb.fc"; fd: "fb.fd"; fe: "fb.fe"; ff: "fb.ff"; fg: "fb.fg"; fh: "fb.fh"; fi: "fb.fi"; fj: "fb.fj"; fk: "fb.fk"; fl: "fb.fl"; fm: "fb.fm"; fn: "fb.fn"; fo: "fb.fo"; fp: "fb.fp"; fq: "fb.fq"; fr: "fb.fr"; fs: "fb.fs"; ft: "fb.ft"; fu: "fb.fu"; fv: "fb.fv"; fw: "fb.fw"; fx: "fb.fx"; fy: "fb.fy"; fz: "fb.fz"; ga: "fb.ga"; gb: "fb.gb"; gc: "fb.gc"; gd: "fb.gd"; ge: "fb.ge"; gf: "fb.gf"; gg: "fb.gg"; gh: "fb.gh"; gi: "fb.gi"; gj: "fb.gj"; gk: "fb.gk"; gl: "fb.gl"; gm: "fb.gm"; gn: "fb.gn"; go: "fb.go"; gp: "fb.gp"; gq: "fb.gq"; gr: "fb.gr"; gs: "fb.gs"; gt: "fb.gt"; gu: "fb.gu"; gv: "fb.gv"; gw: "fb.gw"; gx: "fb.gx"; gy: "fb.gy"; gz: "fb.gz"; ha: "fb.ha"; hb: "fb.hb"; hc: "fb.hc"; hd: "fb.hd"; he: "fb.he"; hf: "fb.hf"; hg: "fb.hg"; hh: "fb.hh"; hi: "fb.hi"; hj: "fb.hj"; hk: "fb.hk"; hl: "fb.hl"; hm: "fb.hm"; hn: "fb.hn"; ho: "fb.ho"; hp: "fb.hp"; hq: "fb.hq"; hr: "fb.hr"; hs: "fb.hs"; ht: "fb.ht"; hu: "fb.hu"; hv: "fb.hv"; hw: "fb.hw"; hx: "fb.hx"; hy: "fb.hy"; hz: "fb.hz"; ia: "fb.ia"; ib: "fb.ib"; ic: "fb.ic"; id: "fb.id"; ie: "fb.ie"; if: "fb.if"; ig: "fb.ig"; ih: "fb.ih"; ii: "fb.ii"; ij: "fb.ij"; ik: "fb.ik"; il: "fb.il"; im: "fb.im"; in: "fb.in"; io: "fb.io"; ip: "fb.ip"; iq: "fb.iq"; ir: "fb.ir"; is: "fb.is"; it: "fb.it"; iu: "fb.iu"; iv: "fb.iv"; iw: "fb.iw"; ix: "fb.ix"; iy: "fb.iy"; iz: "fb.iz"; ja: "fb.ja"; jb: "fb.jb"; jc: "fb.jc"; jd: "fb.jd"; je: "fb.je"; jf: "fb.jf"; jg: "fb.jg"; jh: "fb.jh"; ji: "fb.ji"; jj: "fb.jj"; jk: "fb.jk"; jl: "fb.jl"; jm: "fb.jm"; jn: "fb.jn"; jo: "fb.jo"; jp: "fb.jp"; jq: "fb.jq"; jr: "fb.jr"; js: "fb.js"; jt: "fb.jt"; ju: "fb.ju"; jv: "fb.jv"; jw: "fb.jw"; jx: "fb.jx"; jy: "fb.jy"; jz: "fb.jz"; ka: "fb.ka"; kb: "fb.kb"; kc: "fb.kc"; kd: "fb.kd"; ke: "fb.ke"; kf: "fb.kf"; kg: "fb.kg"; kh: "fb.kh"; ki: "fb.ki"; kj: "fb.kj"; kk: "fb.kk"; kl: "fb.kl"; km: "fb.km"; kn: "fb.kn"; ko: "fb.ko"; kp: "fb.kp"; kq: "fb.kq"; kr: "fb.kr"; ks: "fb.ks"; kt: "fb.kt"; ku: "fb.ku"; kv: "fb.kv"; kw: "fb.kw"; kx: "fb.kx"; ky: "fb.ky"; kz: "fb.kz"; la: "fb.la"; lb: "fb.lb"; lc: "fb.lc"; ld: "fb.ld"; le: "fb.le"; lf: "fb.lf"; lg: "fb.lg"; lh: "fb.lh"; li: "fb.li"; lj: "fb.lj"; lk: "fb.lk"; ll: "fb.ll"; lm: "fb.lm"; ln: "fb.ln"; lo: "fb.lo"; lp: "fb.lp"; lq: "fb.lq"; lr: "fb.lr"; ls: "fb.ls"; lt: "fb.lt"; lu: "fb.lu"; lv: "fb.lv"; lw: "fb.lw"; lx: "fb.lx"; ly: "fb.ly"; lz: "fb.lz"; ma: "fb.ma"; mb: "fb.mb"; mc: "fb.mc"; md: "fb.md"; me: "fb.me"; mf: "fb.mf"; mg: "fb.mg"; mh: "fb.mh"; mi: "fb.mi"; mj: "fb.mj"; mk: "fb.mk"; ml: "fb.ml"; mm: "fb.mm"; mn: "fb.mn"; mo: "fb.mo"; mp: "fb.mp"; mq: "fb.mq"; mr: "fb.mr"; ms: "fb.ms"; mt: "fb.mt"; mu: "fb.mu"; mv: "fb.mv"; mw: "fb.mw"; mx: "fb.mx"; my: "fb.my"; mz: "fb.mz"; na: "fb.na"; nb: "fb.nb"; nc: "fb.nc"; nd: "fb.nd"; ne: "fb.ne"; nf: "fb.nf"; ng: "fb.ng"; nh: "fb.nh"; ni: "fb.ni"; nj: "fb.nj"; nk: "fb.nk"; nl: "fb.nl"; nm: "fb.nm"; nn: "fb.nn"; no: "fb.no"; np: "fb.np"; nq: "fb.nq"; nr: "fb.nr"; ns: "fb.ns"; nt: "fb.nt"; nu: "fb.nu"; nv: "fb.nv"; nw: "fb.nw"; nx: "fb.nx"; ny: "fb.ny"; nz: "fb.nz"; oa: "fb.oa"; ob: "fb.ob"; oc: "fb.oc"; od: "fb.od"; oe: "fb.oe"; of: "fb.of"; og: "fb.og"; oh: "fb.oh"; oi: "fb.oi"; oj: "fb.oj"; ok: "fb.ok"; ol: "fb.ol"; om: "fb.om"; on: "fb.on"; oo: "fb.oo"; op: "fb.op"; oq: "fb.oq"; or: "fb.or"; os: "fb.os"; ot: "fb.ot"; ou: "fb.ou"; ov: "fb.ov"; ow: "fb.ow"; ox: "fb.ox"; oy: "fb.oy"; oz: "fb.oz"; pa: "fb.pa"; pb: "fb.pb"; pc: "fb.pc"; pd: "fb.pd"; pe: "fb.pe"; pf: "fb.pf"; pg: "fb.pg"; ph: "fb.ph"; pi: "fb.pi"; pj: "fb.pj"; pk: "fb.pk"; pl: "fb.pl"; pm: "fb.pm"; pn: "fb.pn"; po: "fb.po"; pp: "fb.pp"; pq: "fb.pq"; pr: "fb.pr"; ps: "fb.ps"; pt: "fb.pt"; pu: "fb.pu"; pv: "fb.pv"; pw: "fb.pw"; px: "fb.px"; py: "fb.py"; pz: "fb.pz"; qa: "fb.qa"; qb: "fb.qb"; qc: "fb.qc"; qd: "fb.qd"; qe: "fb.qe"; qf: "fb.qf"; qg: "fb.qg"; qh: "fb.qh"; qi: "fb.qi"; qj: "fb.qj"; qk: "fb.qk"; ql: "fb.ql"; qm: "fb.qm"; qn: "fb.qn"; qo: "fb.qo"; qp: "fb.qp"; qq: "fb.qq"; qr: "fb.qr"; qs: "fb.qs"; qt: "fb.qt"; qu: "fb.qu"; qv: "fb.qv"; qw: "fb.qw"; qx: "fb.qx"; qy: "fb.qy"; qz: "fb.qz"; ra: "fb.ra"; rb: "fb.rb"; rc: "fb.rc"; rd: "fb.rd"; re: "fb.re"; rf: "fb.rf"; rg: "fb.rg"; rh: "fb.rh"; ri: "fb.ri"; rj: "fb.rj"; rk: "fb.rk"; rl: "fb.rl"; rm: "fb.rm"; rn: "fb.rn"; ro: "fb.ro"; rp: "fb.rp"; rq: "fb.rq"; rr: "fb.rr"; rs: "fb.rs"; rt: "fb.rt"; ru: "fb.ru"; rv: "fb.rv"; rw: "fb.rw"; rx: "fb.rx"; ry: "fb.ry"; rz: "fb.rz"; sa: "fb.sa"; sb: "fb.sb"; sc: "fb.sc"; sd: "fb.sd"; se: "fb.se"; sf: "fb.sf"; sg: "fb.sg"; sh: "fb.sh"; si: "fb.si"; sj: "fb.sj"; sk: "fb.sk"; sl: "fb.sl"; sm: "fb.sm"; sn: "fb.sn"; so: "fb.so"; sp: "fb.sp"; sq: "fb.sq"; sr: "fb.sr"; ss: "fb.ss"; st: "fb.st"; su: "fb.su"; sv: "fb.sv"; sw: "fb.sw"; sx: "fb.sx"; sy: "fb.sy"; sz: "fb.sz"; ta: "fb.ta"; tb: "fb.tb"; tc: "fb.tc"; td: "fb.td"; te: "fb.te"; tf: "fb.tf"; tg: "fb.tg"; th: "fb.th"; ti: "fb.ti"; tj: "fb.tj"; tk: "fb.tk"; tl: "fb.tl"; tm: "fb.tm"; tn: "fb.tn"; to: "fb.to"; tp: "fb.tp"; tq: "fb.tq"; tr: "fb.tr"; ts: "fb.ts"; tt: "fb.tt"; tu: "fb.tu"; tv: "fb.tv"; tw: "fb.tw"; tx: "fb.tx"; ty: "fb.ty"; tz: "fb.tz"; ua: "fb.ua"; ub: "fb.ub"; uc: "fb.uc"; ud: "fb.ud"; ue: "fb.ue"; uf: "fb.uf"; ug: "fb.ug"; uh: "fb.uh"; ui: "fb.ui"; uj: "fb.uj"; uk: "fb.uk"; ul: "fb.ul"; um: "fb.um"; un: "fb.un"; uo: "fb.uo"; up: "fb.up"; uq: "fb.uq"; ur: "fb.ur"; us: "fb.us"; ut: "fb.ut"; uu: "fb.uu"; uv: "fb.uv"; uw: "fb.uw"; ux: "fb.ux"; uy: "fb.uy"; uz: "fb.uz"; va: "fb.va"; vb: "fb.vb"; vc: "fb.vc"; vd: "fb.vd"; ve: "fb.ve"; vf: "fb.vf"; vg: "fb.vg"; vh: "fb.vh"; vi: "fb.vi"; vj: "fb.vj"; vk: "fb.vk"; vl: "fb.vl"; vm: "fb.vm"; vn: "fb.vn"; vo: "fb.vo"; vp: "fb.vp"; vq: "fb.vq"; vr: "fb.vr"; vs: "fb.vs"; vt: "fb.vt"; vu: "fb.vu"; vv: "fb.vv"; vw: "fb.vw"; vx: "fb.vx"; vy: "fb.vy"; vz: "fb.vz"; wa: "fb.wa"; wb: "fb.wb"; wc: "fb.wc"; wd: "fb.wd"; we: "fb.we"; wf: "fb.wf"; wg: "fb.wg"; wh: "fb.wh"; wi: "fb.wi"; wj: "fb.wj"; wk: "fb.wk"; wl: "fb.wl"; wm: "fb.wm"; wn: "fb.wn"; wo: "fb.wo"; wp: "fb.wp"; wq: "fb.wq"; wr: "fb.wr"; ws: "fb.ws"; wt: "fb.wt"; wu: "fb.wu"; wv: "fb.wv"; ww: "fb.ww"; wx: "fb.wx"; wy: "fb.wy"; wz: "fb.wz"; xa: "fb.xa"; xb: "fb.xb"; xc: "fb.xc"; xd: "fb.xd"; xe: "fb.xe"; xf: "fb.xf"; xg: "fb.xg"; xh: "fb.xh"; xi: "fb.xi"; xj: "fb.xj"; xk: "fb.xk"; xl: "fb.xl"; xm: "fb.xm"; xn: "fb.xn"; xo: "fb.xo"; xp: "fb.xp"; xq: "fb.xq"; xr: "fb.xr"; xs: "fb.xs"; xt: "fb.xt"; xu: "fb.xu"; xv: "fb.xv"; xw: "fb.xw"; xx: "fb.xx"; xy: "fb.xy"; xz: "fb.xz"; ya: "fb.ya"; yb: "fb.yb"; yc: "fb.yc"; yd: "fb.yd"; ye: "fb.ye"; yf: "fb.yf"; yg: "fb.yg"; yh: "fb.yh"; yi: "fb.yi"; yj: "fb.yj"; yk: "fb.yk"; yl: "fb.yl"; ym: "fb.ym"; yn: "fb.yn"; yo: "fb.yo"; yp: "fb.yp"; yq: "fb.yq"; yr: "fb.yr"; ys: "fb.ys"; yt: "fb.yt"; yu: "fb.yu"; yv: "fb.yv"; yw: "fb.yw"; yx: "fb.yx"; yy: "fb.yy"; yz: "fb.yz"; za: "fb.za"; zb: "fb.zb"; zc: "fb.zc"; zd: "fb.zd"; ze: "fb.ze"; zf: "fb.zf"; zg: "fb.zg"; zh: "fb.zh"; zi: "fb.zi"; zj: "fb.zj"; zk: "fb.zk"; zl: "fb.zl"; zm: "fb.zm"; zn: "fb.zn"; zo: "fb.zo"; zp: "fb.zp"; zq: "fb.zq"; zr: "fb.zr"; zs: "fb.zs"; zt: "fb.zt"; zu: "fb.zu"; zv: "fb.zv"; zw: "fb.zw"; zx: "fb.zx"; zy: "fb.zy"; zz: "fb.zz"; }; fc: { aa: "fc.aa"; ab: "fc.ab"; ac: "fc.ac"; ad: "fc.ad"; ae: "fc.ae"; af: "fc.af"; ag: "fc.ag"; ah: "fc.ah"; ai: "fc.ai"; aj: "fc.aj"; ak: "fc.ak"; al: "fc.al"; am: "fc.am"; an: "fc.an"; ao: "fc.ao"; ap: "fc.ap"; aq: "fc.aq"; ar: "fc.ar"; as: "fc.as"; at: "fc.at"; au: "fc.au"; av: "fc.av"; aw: "fc.aw"; ax: "fc.ax"; ay: "fc.ay"; az: "fc.az"; ba: "fc.ba"; bb: "fc.bb"; bc: "fc.bc"; bd: "fc.bd"; be: "fc.be"; bf: "fc.bf"; bg: "fc.bg"; bh: "fc.bh"; bi: "fc.bi"; bj: "fc.bj"; bk: "fc.bk"; bl: "fc.bl"; bm: "fc.bm"; bn: "fc.bn"; bo: "fc.bo"; bp: "fc.bp"; bq: "fc.bq"; br: "fc.br"; bs: "fc.bs"; bt: "fc.bt"; bu: "fc.bu"; bv: "fc.bv"; bw: "fc.bw"; bx: "fc.bx"; by: "fc.by"; bz: "fc.bz"; ca: "fc.ca"; cb: "fc.cb"; cc: "fc.cc"; cd: "fc.cd"; ce: "fc.ce"; cf: "fc.cf"; cg: "fc.cg"; ch: "fc.ch"; ci: "fc.ci"; cj: "fc.cj"; ck: "fc.ck"; cl: "fc.cl"; cm: "fc.cm"; cn: "fc.cn"; co: "fc.co"; cp: "fc.cp"; cq: "fc.cq"; cr: "fc.cr"; cs: "fc.cs"; ct: "fc.ct"; cu: "fc.cu"; cv: "fc.cv"; cw: "fc.cw"; cx: "fc.cx"; cy: "fc.cy"; cz: "fc.cz"; da: "fc.da"; db: "fc.db"; dc: "fc.dc"; dd: "fc.dd"; de: "fc.de"; df: "fc.df"; dg: "fc.dg"; dh: "fc.dh"; di: "fc.di"; dj: "fc.dj"; dk: "fc.dk"; dl: "fc.dl"; dm: "fc.dm"; dn: "fc.dn"; do: "fc.do"; dp: "fc.dp"; dq: "fc.dq"; dr: "fc.dr"; ds: "fc.ds"; dt: "fc.dt"; du: "fc.du"; dv: "fc.dv"; dw: "fc.dw"; dx: "fc.dx"; dy: "fc.dy"; dz: "fc.dz"; ea: "fc.ea"; eb: "fc.eb"; ec: "fc.ec"; ed: "fc.ed"; ee: "fc.ee"; ef: "fc.ef"; eg: "fc.eg"; eh: "fc.eh"; ei: "fc.ei"; ej: "fc.ej"; ek: "fc.ek"; el: "fc.el"; em: "fc.em"; en: "fc.en"; eo: "fc.eo"; ep: "fc.ep"; eq: "fc.eq"; er: "fc.er"; es: "fc.es"; et: "fc.et"; eu: "fc.eu"; ev: "fc.ev"; ew: "fc.ew"; ex: "fc.ex"; ey: "fc.ey"; ez: "fc.ez"; fa: "fc.fa"; fb: "fc.fb"; fc: "fc.fc"; fd: "fc.fd"; fe: "fc.fe"; ff: "fc.ff"; fg: "fc.fg"; fh: "fc.fh"; fi: "fc.fi"; fj: "fc.fj"; fk: "fc.fk"; fl: "fc.fl"; fm: "fc.fm"; fn: "fc.fn"; fo: "fc.fo"; fp: "fc.fp"; fq: "fc.fq"; fr: "fc.fr"; fs: "fc.fs"; ft: "fc.ft"; fu: "fc.fu"; fv: "fc.fv"; fw: "fc.fw"; fx: "fc.fx"; fy: "fc.fy"; fz: "fc.fz"; ga: "fc.ga"; gb: "fc.gb"; gc: "fc.gc"; gd: "fc.gd"; ge: "fc.ge"; gf: "fc.gf"; gg: "fc.gg"; gh: "fc.gh"; gi: "fc.gi"; gj: "fc.gj"; gk: "fc.gk"; gl: "fc.gl"; gm: "fc.gm"; gn: "fc.gn"; go: "fc.go"; gp: "fc.gp"; gq: "fc.gq"; gr: "fc.gr"; gs: "fc.gs"; gt: "fc.gt"; gu: "fc.gu"; gv: "fc.gv"; gw: "fc.gw"; gx: "fc.gx"; gy: "fc.gy"; gz: "fc.gz"; ha: "fc.ha"; hb: "fc.hb"; hc: "fc.hc"; hd: "fc.hd"; he: "fc.he"; hf: "fc.hf"; hg: "fc.hg"; hh: "fc.hh"; hi: "fc.hi"; hj: "fc.hj"; hk: "fc.hk"; hl: "fc.hl"; hm: "fc.hm"; hn: "fc.hn"; ho: "fc.ho"; hp: "fc.hp"; hq: "fc.hq"; hr: "fc.hr"; hs: "fc.hs"; ht: "fc.ht"; hu: "fc.hu"; hv: "fc.hv"; hw: "fc.hw"; hx: "fc.hx"; hy: "fc.hy"; hz: "fc.hz"; ia: "fc.ia"; ib: "fc.ib"; ic: "fc.ic"; id: "fc.id"; ie: "fc.ie"; if: "fc.if"; ig: "fc.ig"; ih: "fc.ih"; ii: "fc.ii"; ij: "fc.ij"; ik: "fc.ik"; il: "fc.il"; im: "fc.im"; in: "fc.in"; io: "fc.io"; ip: "fc.ip"; iq: "fc.iq"; ir: "fc.ir"; is: "fc.is"; it: "fc.it"; iu: "fc.iu"; iv: "fc.iv"; iw: "fc.iw"; ix: "fc.ix"; iy: "fc.iy"; iz: "fc.iz"; ja: "fc.ja"; jb: "fc.jb"; jc: "fc.jc"; jd: "fc.jd"; je: "fc.je"; jf: "fc.jf"; jg: "fc.jg"; jh: "fc.jh"; ji: "fc.ji"; jj: "fc.jj"; jk: "fc.jk"; jl: "fc.jl"; jm: "fc.jm"; jn: "fc.jn"; jo: "fc.jo"; jp: "fc.jp"; jq: "fc.jq"; jr: "fc.jr"; js: "fc.js"; jt: "fc.jt"; ju: "fc.ju"; jv: "fc.jv"; jw: "fc.jw"; jx: "fc.jx"; jy: "fc.jy"; jz: "fc.jz"; ka: "fc.ka"; kb: "fc.kb"; kc: "fc.kc"; kd: "fc.kd"; ke: "fc.ke"; kf: "fc.kf"; kg: "fc.kg"; kh: "fc.kh"; ki: "fc.ki"; kj: "fc.kj"; kk: "fc.kk"; kl: "fc.kl"; km: "fc.km"; kn: "fc.kn"; ko: "fc.ko"; kp: "fc.kp"; kq: "fc.kq"; kr: "fc.kr"; ks: "fc.ks"; kt: "fc.kt"; ku: "fc.ku"; kv: "fc.kv"; kw: "fc.kw"; kx: "fc.kx"; ky: "fc.ky"; kz: "fc.kz"; la: "fc.la"; lb: "fc.lb"; lc: "fc.lc"; ld: "fc.ld"; le: "fc.le"; lf: "fc.lf"; lg: "fc.lg"; lh: "fc.lh"; li: "fc.li"; lj: "fc.lj"; lk: "fc.lk"; ll: "fc.ll"; lm: "fc.lm"; ln: "fc.ln"; lo: "fc.lo"; lp: "fc.lp"; lq: "fc.lq"; lr: "fc.lr"; ls: "fc.ls"; lt: "fc.lt"; lu: "fc.lu"; lv: "fc.lv"; lw: "fc.lw"; lx: "fc.lx"; ly: "fc.ly"; lz: "fc.lz"; ma: "fc.ma"; mb: "fc.mb"; mc: "fc.mc"; md: "fc.md"; me: "fc.me"; mf: "fc.mf"; mg: "fc.mg"; mh: "fc.mh"; mi: "fc.mi"; mj: "fc.mj"; mk: "fc.mk"; ml: "fc.ml"; mm: "fc.mm"; mn: "fc.mn"; mo: "fc.mo"; mp: "fc.mp"; mq: "fc.mq"; mr: "fc.mr"; ms: "fc.ms"; mt: "fc.mt"; mu: "fc.mu"; mv: "fc.mv"; mw: "fc.mw"; mx: "fc.mx"; my: "fc.my"; mz: "fc.mz"; na: "fc.na"; nb: "fc.nb"; nc: "fc.nc"; nd: "fc.nd"; ne: "fc.ne"; nf: "fc.nf"; ng: "fc.ng"; nh: "fc.nh"; ni: "fc.ni"; nj: "fc.nj"; nk: "fc.nk"; nl: "fc.nl"; nm: "fc.nm"; nn: "fc.nn"; no: "fc.no"; np: "fc.np"; nq: "fc.nq"; nr: "fc.nr"; ns: "fc.ns"; nt: "fc.nt"; nu: "fc.nu"; nv: "fc.nv"; nw: "fc.nw"; nx: "fc.nx"; ny: "fc.ny"; nz: "fc.nz"; oa: "fc.oa"; ob: "fc.ob"; oc: "fc.oc"; od: "fc.od"; oe: "fc.oe"; of: "fc.of"; og: "fc.og"; oh: "fc.oh"; oi: "fc.oi"; oj: "fc.oj"; ok: "fc.ok"; ol: "fc.ol"; om: "fc.om"; on: "fc.on"; oo: "fc.oo"; op: "fc.op"; oq: "fc.oq"; or: "fc.or"; os: "fc.os"; ot: "fc.ot"; ou: "fc.ou"; ov: "fc.ov"; ow: "fc.ow"; ox: "fc.ox"; oy: "fc.oy"; oz: "fc.oz"; pa: "fc.pa"; pb: "fc.pb"; pc: "fc.pc"; pd: "fc.pd"; pe: "fc.pe"; pf: "fc.pf"; pg: "fc.pg"; ph: "fc.ph"; pi: "fc.pi"; pj: "fc.pj"; pk: "fc.pk"; pl: "fc.pl"; pm: "fc.pm"; pn: "fc.pn"; po: "fc.po"; pp: "fc.pp"; pq: "fc.pq"; pr: "fc.pr"; ps: "fc.ps"; pt: "fc.pt"; pu: "fc.pu"; pv: "fc.pv"; pw: "fc.pw"; px: "fc.px"; py: "fc.py"; pz: "fc.pz"; qa: "fc.qa"; qb: "fc.qb"; qc: "fc.qc"; qd: "fc.qd"; qe: "fc.qe"; qf: "fc.qf"; qg: "fc.qg"; qh: "fc.qh"; qi: "fc.qi"; qj: "fc.qj"; qk: "fc.qk"; ql: "fc.ql"; qm: "fc.qm"; qn: "fc.qn"; qo: "fc.qo"; qp: "fc.qp"; qq: "fc.qq"; qr: "fc.qr"; qs: "fc.qs"; qt: "fc.qt"; qu: "fc.qu"; qv: "fc.qv"; qw: "fc.qw"; qx: "fc.qx"; qy: "fc.qy"; qz: "fc.qz"; ra: "fc.ra"; rb: "fc.rb"; rc: "fc.rc"; rd: "fc.rd"; re: "fc.re"; rf: "fc.rf"; rg: "fc.rg"; rh: "fc.rh"; ri: "fc.ri"; rj: "fc.rj"; rk: "fc.rk"; rl: "fc.rl"; rm: "fc.rm"; rn: "fc.rn"; ro: "fc.ro"; rp: "fc.rp"; rq: "fc.rq"; rr: "fc.rr"; rs: "fc.rs"; rt: "fc.rt"; ru: "fc.ru"; rv: "fc.rv"; rw: "fc.rw"; rx: "fc.rx"; ry: "fc.ry"; rz: "fc.rz"; sa: "fc.sa"; sb: "fc.sb"; sc: "fc.sc"; sd: "fc.sd"; se: "fc.se"; sf: "fc.sf"; sg: "fc.sg"; sh: "fc.sh"; si: "fc.si"; sj: "fc.sj"; sk: "fc.sk"; sl: "fc.sl"; sm: "fc.sm"; sn: "fc.sn"; so: "fc.so"; sp: "fc.sp"; sq: "fc.sq"; sr: "fc.sr"; ss: "fc.ss"; st: "fc.st"; su: "fc.su"; sv: "fc.sv"; sw: "fc.sw"; sx: "fc.sx"; sy: "fc.sy"; sz: "fc.sz"; ta: "fc.ta"; tb: "fc.tb"; tc: "fc.tc"; td: "fc.td"; te: "fc.te"; tf: "fc.tf"; tg: "fc.tg"; th: "fc.th"; ti: "fc.ti"; tj: "fc.tj"; tk: "fc.tk"; tl: "fc.tl"; tm: "fc.tm"; tn: "fc.tn"; to: "fc.to"; tp: "fc.tp"; tq: "fc.tq"; tr: "fc.tr"; ts: "fc.ts"; tt: "fc.tt"; tu: "fc.tu"; tv: "fc.tv"; tw: "fc.tw"; tx: "fc.tx"; ty: "fc.ty"; tz: "fc.tz"; ua: "fc.ua"; ub: "fc.ub"; uc: "fc.uc"; ud: "fc.ud"; ue: "fc.ue"; uf: "fc.uf"; ug: "fc.ug"; uh: "fc.uh"; ui: "fc.ui"; uj: "fc.uj"; uk: "fc.uk"; ul: "fc.ul"; um: "fc.um"; un: "fc.un"; uo: "fc.uo"; up: "fc.up"; uq: "fc.uq"; ur: "fc.ur"; us: "fc.us"; ut: "fc.ut"; uu: "fc.uu"; uv: "fc.uv"; uw: "fc.uw"; ux: "fc.ux"; uy: "fc.uy"; uz: "fc.uz"; va: "fc.va"; vb: "fc.vb"; vc: "fc.vc"; vd: "fc.vd"; ve: "fc.ve"; vf: "fc.vf"; vg: "fc.vg"; vh: "fc.vh"; vi: "fc.vi"; vj: "fc.vj"; vk: "fc.vk"; vl: "fc.vl"; vm: "fc.vm"; vn: "fc.vn"; vo: "fc.vo"; vp: "fc.vp"; vq: "fc.vq"; vr: "fc.vr"; vs: "fc.vs"; vt: "fc.vt"; vu: "fc.vu"; vv: "fc.vv"; vw: "fc.vw"; vx: "fc.vx"; vy: "fc.vy"; vz: "fc.vz"; wa: "fc.wa"; wb: "fc.wb"; wc: "fc.wc"; wd: "fc.wd"; we: "fc.we"; wf: "fc.wf"; wg: "fc.wg"; wh: "fc.wh"; wi: "fc.wi"; wj: "fc.wj"; wk: "fc.wk"; wl: "fc.wl"; wm: "fc.wm"; wn: "fc.wn"; wo: "fc.wo"; wp: "fc.wp"; wq: "fc.wq"; wr: "fc.wr"; ws: "fc.ws"; wt: "fc.wt"; wu: "fc.wu"; wv: "fc.wv"; ww: "fc.ww"; wx: "fc.wx"; wy: "fc.wy"; wz: "fc.wz"; xa: "fc.xa"; xb: "fc.xb"; xc: "fc.xc"; xd: "fc.xd"; xe: "fc.xe"; xf: "fc.xf"; xg: "fc.xg"; xh: "fc.xh"; xi: "fc.xi"; xj: "fc.xj"; xk: "fc.xk"; xl: "fc.xl"; xm: "fc.xm"; xn: "fc.xn"; xo: "fc.xo"; xp: "fc.xp"; xq: "fc.xq"; xr: "fc.xr"; xs: "fc.xs"; xt: "fc.xt"; xu: "fc.xu"; xv: "fc.xv"; xw: "fc.xw"; xx: "fc.xx"; xy: "fc.xy"; xz: "fc.xz"; ya: "fc.ya"; yb: "fc.yb"; yc: "fc.yc"; yd: "fc.yd"; ye: "fc.ye"; yf: "fc.yf"; yg: "fc.yg"; yh: "fc.yh"; yi: "fc.yi"; yj: "fc.yj"; yk: "fc.yk"; yl: "fc.yl"; ym: "fc.ym"; yn: "fc.yn"; yo: "fc.yo"; yp: "fc.yp"; yq: "fc.yq"; yr: "fc.yr"; ys: "fc.ys"; yt: "fc.yt"; yu: "fc.yu"; yv: "fc.yv"; yw: "fc.yw"; yx: "fc.yx"; yy: "fc.yy"; yz: "fc.yz"; za: "fc.za"; zb: "fc.zb"; zc: "fc.zc"; zd: "fc.zd"; ze: "fc.ze"; zf: "fc.zf"; zg: "fc.zg"; zh: "fc.zh"; zi: "fc.zi"; zj: "fc.zj"; zk: "fc.zk"; zl: "fc.zl"; zm: "fc.zm"; zn: "fc.zn"; zo: "fc.zo"; zp: "fc.zp"; zq: "fc.zq"; zr: "fc.zr"; zs: "fc.zs"; zt: "fc.zt"; zu: "fc.zu"; zv: "fc.zv"; zw: "fc.zw"; zx: "fc.zx"; zy: "fc.zy"; zz: "fc.zz"; }; fd: { aa: "fd.aa"; ab: "fd.ab"; ac: "fd.ac"; ad: "fd.ad"; ae: "fd.ae"; af: "fd.af"; ag: "fd.ag"; ah: "fd.ah"; ai: "fd.ai"; aj: "fd.aj"; ak: "fd.ak"; al: "fd.al"; am: "fd.am"; an: "fd.an"; ao: "fd.ao"; ap: "fd.ap"; aq: "fd.aq"; ar: "fd.ar"; as: "fd.as"; at: "fd.at"; au: "fd.au"; av: "fd.av"; aw: "fd.aw"; ax: "fd.ax"; ay: "fd.ay"; az: "fd.az"; ba: "fd.ba"; bb: "fd.bb"; bc: "fd.bc"; bd: "fd.bd"; be: "fd.be"; bf: "fd.bf"; bg: "fd.bg"; bh: "fd.bh"; bi: "fd.bi"; bj: "fd.bj"; bk: "fd.bk"; bl: "fd.bl"; bm: "fd.bm"; bn: "fd.bn"; bo: "fd.bo"; bp: "fd.bp"; bq: "fd.bq"; br: "fd.br"; bs: "fd.bs"; bt: "fd.bt"; bu: "fd.bu"; bv: "fd.bv"; bw: "fd.bw"; bx: "fd.bx"; by: "fd.by"; bz: "fd.bz"; ca: "fd.ca"; cb: "fd.cb"; cc: "fd.cc"; cd: "fd.cd"; ce: "fd.ce"; cf: "fd.cf"; cg: "fd.cg"; ch: "fd.ch"; ci: "fd.ci"; cj: "fd.cj"; ck: "fd.ck"; cl: "fd.cl"; cm: "fd.cm"; cn: "fd.cn"; co: "fd.co"; cp: "fd.cp"; cq: "fd.cq"; cr: "fd.cr"; cs: "fd.cs"; ct: "fd.ct"; cu: "fd.cu"; cv: "fd.cv"; cw: "fd.cw"; cx: "fd.cx"; cy: "fd.cy"; cz: "fd.cz"; da: "fd.da"; db: "fd.db"; dc: "fd.dc"; dd: "fd.dd"; de: "fd.de"; df: "fd.df"; dg: "fd.dg"; dh: "fd.dh"; di: "fd.di"; dj: "fd.dj"; dk: "fd.dk"; dl: "fd.dl"; dm: "fd.dm"; dn: "fd.dn"; do: "fd.do"; dp: "fd.dp"; dq: "fd.dq"; dr: "fd.dr"; ds: "fd.ds"; dt: "fd.dt"; du: "fd.du"; dv: "fd.dv"; dw: "fd.dw"; dx: "fd.dx"; dy: "fd.dy"; dz: "fd.dz"; ea: "fd.ea"; eb: "fd.eb"; ec: "fd.ec"; ed: "fd.ed"; ee: "fd.ee"; ef: "fd.ef"; eg: "fd.eg"; eh: "fd.eh"; ei: "fd.ei"; ej: "fd.ej"; ek: "fd.ek"; el: "fd.el"; em: "fd.em"; en: "fd.en"; eo: "fd.eo"; ep: "fd.ep"; eq: "fd.eq"; er: "fd.er"; es: "fd.es"; et: "fd.et"; eu: "fd.eu"; ev: "fd.ev"; ew: "fd.ew"; ex: "fd.ex"; ey: "fd.ey"; ez: "fd.ez"; fa: "fd.fa"; fb: "fd.fb"; fc: "fd.fc"; fd: "fd.fd"; fe: "fd.fe"; ff: "fd.ff"; fg: "fd.fg"; fh: "fd.fh"; fi: "fd.fi"; fj: "fd.fj"; fk: "fd.fk"; fl: "fd.fl"; fm: "fd.fm"; fn: "fd.fn"; fo: "fd.fo"; fp: "fd.fp"; fq: "fd.fq"; fr: "fd.fr"; fs: "fd.fs"; ft: "fd.ft"; fu: "fd.fu"; fv: "fd.fv"; fw: "fd.fw"; fx: "fd.fx"; fy: "fd.fy"; fz: "fd.fz"; ga: "fd.ga"; gb: "fd.gb"; gc: "fd.gc"; gd: "fd.gd"; ge: "fd.ge"; gf: "fd.gf"; gg: "fd.gg"; gh: "fd.gh"; gi: "fd.gi"; gj: "fd.gj"; gk: "fd.gk"; gl: "fd.gl"; gm: "fd.gm"; gn: "fd.gn"; go: "fd.go"; gp: "fd.gp"; gq: "fd.gq"; gr: "fd.gr"; gs: "fd.gs"; gt: "fd.gt"; gu: "fd.gu"; gv: "fd.gv"; gw: "fd.gw"; gx: "fd.gx"; gy: "fd.gy"; gz: "fd.gz"; ha: "fd.ha"; hb: "fd.hb"; hc: "fd.hc"; hd: "fd.hd"; he: "fd.he"; hf: "fd.hf"; hg: "fd.hg"; hh: "fd.hh"; hi: "fd.hi"; hj: "fd.hj"; hk: "fd.hk"; hl: "fd.hl"; hm: "fd.hm"; hn: "fd.hn"; ho: "fd.ho"; hp: "fd.hp"; hq: "fd.hq"; hr: "fd.hr"; hs: "fd.hs"; ht: "fd.ht"; hu: "fd.hu"; hv: "fd.hv"; hw: "fd.hw"; hx: "fd.hx"; hy: "fd.hy"; hz: "fd.hz"; ia: "fd.ia"; ib: "fd.ib"; ic: "fd.ic"; id: "fd.id"; ie: "fd.ie"; if: "fd.if"; ig: "fd.ig"; ih: "fd.ih"; ii: "fd.ii"; ij: "fd.ij"; ik: "fd.ik"; il: "fd.il"; im: "fd.im"; in: "fd.in"; io: "fd.io"; ip: "fd.ip"; iq: "fd.iq"; ir: "fd.ir"; is: "fd.is"; it: "fd.it"; iu: "fd.iu"; iv: "fd.iv"; iw: "fd.iw"; ix: "fd.ix"; iy: "fd.iy"; iz: "fd.iz"; ja: "fd.ja"; jb: "fd.jb"; jc: "fd.jc"; jd: "fd.jd"; je: "fd.je"; jf: "fd.jf"; jg: "fd.jg"; jh: "fd.jh"; ji: "fd.ji"; jj: "fd.jj"; jk: "fd.jk"; jl: "fd.jl"; jm: "fd.jm"; jn: "fd.jn"; jo: "fd.jo"; jp: "fd.jp"; jq: "fd.jq"; jr: "fd.jr"; js: "fd.js"; jt: "fd.jt"; ju: "fd.ju"; jv: "fd.jv"; jw: "fd.jw"; jx: "fd.jx"; jy: "fd.jy"; jz: "fd.jz"; ka: "fd.ka"; kb: "fd.kb"; kc: "fd.kc"; kd: "fd.kd"; ke: "fd.ke"; kf: "fd.kf"; kg: "fd.kg"; kh: "fd.kh"; ki: "fd.ki"; kj: "fd.kj"; kk: "fd.kk"; kl: "fd.kl"; km: "fd.km"; kn: "fd.kn"; ko: "fd.ko"; kp: "fd.kp"; kq: "fd.kq"; kr: "fd.kr"; ks: "fd.ks"; kt: "fd.kt"; ku: "fd.ku"; kv: "fd.kv"; kw: "fd.kw"; kx: "fd.kx"; ky: "fd.ky"; kz: "fd.kz"; la: "fd.la"; lb: "fd.lb"; lc: "fd.lc"; ld: "fd.ld"; le: "fd.le"; lf: "fd.lf"; lg: "fd.lg"; lh: "fd.lh"; li: "fd.li"; lj: "fd.lj"; lk: "fd.lk"; ll: "fd.ll"; lm: "fd.lm"; ln: "fd.ln"; lo: "fd.lo"; lp: "fd.lp"; lq: "fd.lq"; lr: "fd.lr"; ls: "fd.ls"; lt: "fd.lt"; lu: "fd.lu"; lv: "fd.lv"; lw: "fd.lw"; lx: "fd.lx"; ly: "fd.ly"; lz: "fd.lz"; ma: "fd.ma"; mb: "fd.mb"; mc: "fd.mc"; md: "fd.md"; me: "fd.me"; mf: "fd.mf"; mg: "fd.mg"; mh: "fd.mh"; mi: "fd.mi"; mj: "fd.mj"; mk: "fd.mk"; ml: "fd.ml"; mm: "fd.mm"; mn: "fd.mn"; mo: "fd.mo"; mp: "fd.mp"; mq: "fd.mq"; mr: "fd.mr"; ms: "fd.ms"; mt: "fd.mt"; mu: "fd.mu"; mv: "fd.mv"; mw: "fd.mw"; mx: "fd.mx"; my: "fd.my"; mz: "fd.mz"; na: "fd.na"; nb: "fd.nb"; nc: "fd.nc"; nd: "fd.nd"; ne: "fd.ne"; nf: "fd.nf"; ng: "fd.ng"; nh: "fd.nh"; ni: "fd.ni"; nj: "fd.nj"; nk: "fd.nk"; nl: "fd.nl"; nm: "fd.nm"; nn: "fd.nn"; no: "fd.no"; np: "fd.np"; nq: "fd.nq"; nr: "fd.nr"; ns: "fd.ns"; nt: "fd.nt"; nu: "fd.nu"; nv: "fd.nv"; nw: "fd.nw"; nx: "fd.nx"; ny: "fd.ny"; nz: "fd.nz"; oa: "fd.oa"; ob: "fd.ob"; oc: "fd.oc"; od: "fd.od"; oe: "fd.oe"; of: "fd.of"; og: "fd.og"; oh: "fd.oh"; oi: "fd.oi"; oj: "fd.oj"; ok: "fd.ok"; ol: "fd.ol"; om: "fd.om"; on: "fd.on"; oo: "fd.oo"; op: "fd.op"; oq: "fd.oq"; or: "fd.or"; os: "fd.os"; ot: "fd.ot"; ou: "fd.ou"; ov: "fd.ov"; ow: "fd.ow"; ox: "fd.ox"; oy: "fd.oy"; oz: "fd.oz"; pa: "fd.pa"; pb: "fd.pb"; pc: "fd.pc"; pd: "fd.pd"; pe: "fd.pe"; pf: "fd.pf"; pg: "fd.pg"; ph: "fd.ph"; pi: "fd.pi"; pj: "fd.pj"; pk: "fd.pk"; pl: "fd.pl"; pm: "fd.pm"; pn: "fd.pn"; po: "fd.po"; pp: "fd.pp"; pq: "fd.pq"; pr: "fd.pr"; ps: "fd.ps"; pt: "fd.pt"; pu: "fd.pu"; pv: "fd.pv"; pw: "fd.pw"; px: "fd.px"; py: "fd.py"; pz: "fd.pz"; qa: "fd.qa"; qb: "fd.qb"; qc: "fd.qc"; qd: "fd.qd"; qe: "fd.qe"; qf: "fd.qf"; qg: "fd.qg"; qh: "fd.qh"; qi: "fd.qi"; qj: "fd.qj"; qk: "fd.qk"; ql: "fd.ql"; qm: "fd.qm"; qn: "fd.qn"; qo: "fd.qo"; qp: "fd.qp"; qq: "fd.qq"; qr: "fd.qr"; qs: "fd.qs"; qt: "fd.qt"; qu: "fd.qu"; qv: "fd.qv"; qw: "fd.qw"; qx: "fd.qx"; qy: "fd.qy"; qz: "fd.qz"; ra: "fd.ra"; rb: "fd.rb"; rc: "fd.rc"; rd: "fd.rd"; re: "fd.re"; rf: "fd.rf"; rg: "fd.rg"; rh: "fd.rh"; ri: "fd.ri"; rj: "fd.rj"; rk: "fd.rk"; rl: "fd.rl"; rm: "fd.rm"; rn: "fd.rn"; ro: "fd.ro"; rp: "fd.rp"; rq: "fd.rq"; rr: "fd.rr"; rs: "fd.rs"; rt: "fd.rt"; ru: "fd.ru"; rv: "fd.rv"; rw: "fd.rw"; rx: "fd.rx"; ry: "fd.ry"; rz: "fd.rz"; sa: "fd.sa"; sb: "fd.sb"; sc: "fd.sc"; sd: "fd.sd"; se: "fd.se"; sf: "fd.sf"; sg: "fd.sg"; sh: "fd.sh"; si: "fd.si"; sj: "fd.sj"; sk: "fd.sk"; sl: "fd.sl"; sm: "fd.sm"; sn: "fd.sn"; so: "fd.so"; sp: "fd.sp"; sq: "fd.sq"; sr: "fd.sr"; ss: "fd.ss"; st: "fd.st"; su: "fd.su"; sv: "fd.sv"; sw: "fd.sw"; sx: "fd.sx"; sy: "fd.sy"; sz: "fd.sz"; ta: "fd.ta"; tb: "fd.tb"; tc: "fd.tc"; td: "fd.td"; te: "fd.te"; tf: "fd.tf"; tg: "fd.tg"; th: "fd.th"; ti: "fd.ti"; tj: "fd.tj"; tk: "fd.tk"; tl: "fd.tl"; tm: "fd.tm"; tn: "fd.tn"; to: "fd.to"; tp: "fd.tp"; tq: "fd.tq"; tr: "fd.tr"; ts: "fd.ts"; tt: "fd.tt"; tu: "fd.tu"; tv: "fd.tv"; tw: "fd.tw"; tx: "fd.tx"; ty: "fd.ty"; tz: "fd.tz"; ua: "fd.ua"; ub: "fd.ub"; uc: "fd.uc"; ud: "fd.ud"; ue: "fd.ue"; uf: "fd.uf"; ug: "fd.ug"; uh: "fd.uh"; ui: "fd.ui"; uj: "fd.uj"; uk: "fd.uk"; ul: "fd.ul"; um: "fd.um"; un: "fd.un"; uo: "fd.uo"; up: "fd.up"; uq: "fd.uq"; ur: "fd.ur"; us: "fd.us"; ut: "fd.ut"; uu: "fd.uu"; uv: "fd.uv"; uw: "fd.uw"; ux: "fd.ux"; uy: "fd.uy"; uz: "fd.uz"; va: "fd.va"; vb: "fd.vb"; vc: "fd.vc"; vd: "fd.vd"; ve: "fd.ve"; vf: "fd.vf"; vg: "fd.vg"; vh: "fd.vh"; vi: "fd.vi"; vj: "fd.vj"; vk: "fd.vk"; vl: "fd.vl"; vm: "fd.vm"; vn: "fd.vn"; vo: "fd.vo"; vp: "fd.vp"; vq: "fd.vq"; vr: "fd.vr"; vs: "fd.vs"; vt: "fd.vt"; vu: "fd.vu"; vv: "fd.vv"; vw: "fd.vw"; vx: "fd.vx"; vy: "fd.vy"; vz: "fd.vz"; wa: "fd.wa"; wb: "fd.wb"; wc: "fd.wc"; wd: "fd.wd"; we: "fd.we"; wf: "fd.wf"; wg: "fd.wg"; wh: "fd.wh"; wi: "fd.wi"; wj: "fd.wj"; wk: "fd.wk"; wl: "fd.wl"; wm: "fd.wm"; wn: "fd.wn"; wo: "fd.wo"; wp: "fd.wp"; wq: "fd.wq"; wr: "fd.wr"; ws: "fd.ws"; wt: "fd.wt"; wu: "fd.wu"; wv: "fd.wv"; ww: "fd.ww"; wx: "fd.wx"; wy: "fd.wy"; wz: "fd.wz"; xa: "fd.xa"; xb: "fd.xb"; xc: "fd.xc"; xd: "fd.xd"; xe: "fd.xe"; xf: "fd.xf"; xg: "fd.xg"; xh: "fd.xh"; xi: "fd.xi"; xj: "fd.xj"; xk: "fd.xk"; xl: "fd.xl"; xm: "fd.xm"; xn: "fd.xn"; xo: "fd.xo"; xp: "fd.xp"; xq: "fd.xq"; xr: "fd.xr"; xs: "fd.xs"; xt: "fd.xt"; xu: "fd.xu"; xv: "fd.xv"; xw: "fd.xw"; xx: "fd.xx"; xy: "fd.xy"; xz: "fd.xz"; ya: "fd.ya"; yb: "fd.yb"; yc: "fd.yc"; yd: "fd.yd"; ye: "fd.ye"; yf: "fd.yf"; yg: "fd.yg"; yh: "fd.yh"; yi: "fd.yi"; yj: "fd.yj"; yk: "fd.yk"; yl: "fd.yl"; ym: "fd.ym"; yn: "fd.yn"; yo: "fd.yo"; yp: "fd.yp"; yq: "fd.yq"; yr: "fd.yr"; ys: "fd.ys"; yt: "fd.yt"; yu: "fd.yu"; yv: "fd.yv"; yw: "fd.yw"; yx: "fd.yx"; yy: "fd.yy"; yz: "fd.yz"; za: "fd.za"; zb: "fd.zb"; zc: "fd.zc"; zd: "fd.zd"; ze: "fd.ze"; zf: "fd.zf"; zg: "fd.zg"; zh: "fd.zh"; zi: "fd.zi"; zj: "fd.zj"; zk: "fd.zk"; zl: "fd.zl"; zm: "fd.zm"; zn: "fd.zn"; zo: "fd.zo"; zp: "fd.zp"; zq: "fd.zq"; zr: "fd.zr"; zs: "fd.zs"; zt: "fd.zt"; zu: "fd.zu"; zv: "fd.zv"; zw: "fd.zw"; zx: "fd.zx"; zy: "fd.zy"; zz: "fd.zz"; }; fe: { aa: "fe.aa"; ab: "fe.ab"; ac: "fe.ac"; ad: "fe.ad"; ae: "fe.ae"; af: "fe.af"; ag: "fe.ag"; ah: "fe.ah"; ai: "fe.ai"; aj: "fe.aj"; ak: "fe.ak"; al: "fe.al"; am: "fe.am"; an: "fe.an"; ao: "fe.ao"; ap: "fe.ap"; aq: "fe.aq"; ar: "fe.ar"; as: "fe.as"; at: "fe.at"; au: "fe.au"; av: "fe.av"; aw: "fe.aw"; ax: "fe.ax"; ay: "fe.ay"; az: "fe.az"; ba: "fe.ba"; bb: "fe.bb"; bc: "fe.bc"; bd: "fe.bd"; be: "fe.be"; bf: "fe.bf"; bg: "fe.bg"; bh: "fe.bh"; bi: "fe.bi"; bj: "fe.bj"; bk: "fe.bk"; bl: "fe.bl"; bm: "fe.bm"; bn: "fe.bn"; bo: "fe.bo"; bp: "fe.bp"; bq: "fe.bq"; br: "fe.br"; bs: "fe.bs"; bt: "fe.bt"; bu: "fe.bu"; bv: "fe.bv"; bw: "fe.bw"; bx: "fe.bx"; by: "fe.by"; bz: "fe.bz"; ca: "fe.ca"; cb: "fe.cb"; cc: "fe.cc"; cd: "fe.cd"; ce: "fe.ce"; cf: "fe.cf"; cg: "fe.cg"; ch: "fe.ch"; ci: "fe.ci"; cj: "fe.cj"; ck: "fe.ck"; cl: "fe.cl"; cm: "fe.cm"; cn: "fe.cn"; co: "fe.co"; cp: "fe.cp"; cq: "fe.cq"; cr: "fe.cr"; cs: "fe.cs"; ct: "fe.ct"; cu: "fe.cu"; cv: "fe.cv"; cw: "fe.cw"; cx: "fe.cx"; cy: "fe.cy"; cz: "fe.cz"; da: "fe.da"; db: "fe.db"; dc: "fe.dc"; dd: "fe.dd"; de: "fe.de"; df: "fe.df"; dg: "fe.dg"; dh: "fe.dh"; di: "fe.di"; dj: "fe.dj"; dk: "fe.dk"; dl: "fe.dl"; dm: "fe.dm"; dn: "fe.dn"; do: "fe.do"; dp: "fe.dp"; dq: "fe.dq"; dr: "fe.dr"; ds: "fe.ds"; dt: "fe.dt"; du: "fe.du"; dv: "fe.dv"; dw: "fe.dw"; dx: "fe.dx"; dy: "fe.dy"; dz: "fe.dz"; ea: "fe.ea"; eb: "fe.eb"; ec: "fe.ec"; ed: "fe.ed"; ee: "fe.ee"; ef: "fe.ef"; eg: "fe.eg"; eh: "fe.eh"; ei: "fe.ei"; ej: "fe.ej"; ek: "fe.ek"; el: "fe.el"; em: "fe.em"; en: "fe.en"; eo: "fe.eo"; ep: "fe.ep"; eq: "fe.eq"; er: "fe.er"; es: "fe.es"; et: "fe.et"; eu: "fe.eu"; ev: "fe.ev"; ew: "fe.ew"; ex: "fe.ex"; ey: "fe.ey"; ez: "fe.ez"; fa: "fe.fa"; fb: "fe.fb"; fc: "fe.fc"; fd: "fe.fd"; fe: "fe.fe"; ff: "fe.ff"; fg: "fe.fg"; fh: "fe.fh"; fi: "fe.fi"; fj: "fe.fj"; fk: "fe.fk"; fl: "fe.fl"; fm: "fe.fm"; fn: "fe.fn"; fo: "fe.fo"; fp: "fe.fp"; fq: "fe.fq"; fr: "fe.fr"; fs: "fe.fs"; ft: "fe.ft"; fu: "fe.fu"; fv: "fe.fv"; fw: "fe.fw"; fx: "fe.fx"; fy: "fe.fy"; fz: "fe.fz"; ga: "fe.ga"; gb: "fe.gb"; gc: "fe.gc"; gd: "fe.gd"; ge: "fe.ge"; gf: "fe.gf"; gg: "fe.gg"; gh: "fe.gh"; gi: "fe.gi"; gj: "fe.gj"; gk: "fe.gk"; gl: "fe.gl"; gm: "fe.gm"; gn: "fe.gn"; go: "fe.go"; gp: "fe.gp"; gq: "fe.gq"; gr: "fe.gr"; gs: "fe.gs"; gt: "fe.gt"; gu: "fe.gu"; gv: "fe.gv"; gw: "fe.gw"; gx: "fe.gx"; gy: "fe.gy"; gz: "fe.gz"; ha: "fe.ha"; hb: "fe.hb"; hc: "fe.hc"; hd: "fe.hd"; he: "fe.he"; hf: "fe.hf"; hg: "fe.hg"; hh: "fe.hh"; hi: "fe.hi"; hj: "fe.hj"; hk: "fe.hk"; hl: "fe.hl"; hm: "fe.hm"; hn: "fe.hn"; ho: "fe.ho"; hp: "fe.hp"; hq: "fe.hq"; hr: "fe.hr"; hs: "fe.hs"; ht: "fe.ht"; hu: "fe.hu"; hv: "fe.hv"; hw: "fe.hw"; hx: "fe.hx"; hy: "fe.hy"; hz: "fe.hz"; ia: "fe.ia"; ib: "fe.ib"; ic: "fe.ic"; id: "fe.id"; ie: "fe.ie"; if: "fe.if"; ig: "fe.ig"; ih: "fe.ih"; ii: "fe.ii"; ij: "fe.ij"; ik: "fe.ik"; il: "fe.il"; im: "fe.im"; in: "fe.in"; io: "fe.io"; ip: "fe.ip"; iq: "fe.iq"; ir: "fe.ir"; is: "fe.is"; it: "fe.it"; iu: "fe.iu"; iv: "fe.iv"; iw: "fe.iw"; ix: "fe.ix"; iy: "fe.iy"; iz: "fe.iz"; ja: "fe.ja"; jb: "fe.jb"; jc: "fe.jc"; jd: "fe.jd"; je: "fe.je"; jf: "fe.jf"; jg: "fe.jg"; jh: "fe.jh"; ji: "fe.ji"; jj: "fe.jj"; jk: "fe.jk"; jl: "fe.jl"; jm: "fe.jm"; jn: "fe.jn"; jo: "fe.jo"; jp: "fe.jp"; jq: "fe.jq"; jr: "fe.jr"; js: "fe.js"; jt: "fe.jt"; ju: "fe.ju"; jv: "fe.jv"; jw: "fe.jw"; jx: "fe.jx"; jy: "fe.jy"; jz: "fe.jz"; ka: "fe.ka"; kb: "fe.kb"; kc: "fe.kc"; kd: "fe.kd"; ke: "fe.ke"; kf: "fe.kf"; kg: "fe.kg"; kh: "fe.kh"; ki: "fe.ki"; kj: "fe.kj"; kk: "fe.kk"; kl: "fe.kl"; km: "fe.km"; kn: "fe.kn"; ko: "fe.ko"; kp: "fe.kp"; kq: "fe.kq"; kr: "fe.kr"; ks: "fe.ks"; kt: "fe.kt"; ku: "fe.ku"; kv: "fe.kv"; kw: "fe.kw"; kx: "fe.kx"; ky: "fe.ky"; kz: "fe.kz"; la: "fe.la"; lb: "fe.lb"; lc: "fe.lc"; ld: "fe.ld"; le: "fe.le"; lf: "fe.lf"; lg: "fe.lg"; lh: "fe.lh"; li: "fe.li"; lj: "fe.lj"; lk: "fe.lk"; ll: "fe.ll"; lm: "fe.lm"; ln: "fe.ln"; lo: "fe.lo"; lp: "fe.lp"; lq: "fe.lq"; lr: "fe.lr"; ls: "fe.ls"; lt: "fe.lt"; lu: "fe.lu"; lv: "fe.lv"; lw: "fe.lw"; lx: "fe.lx"; ly: "fe.ly"; lz: "fe.lz"; ma: "fe.ma"; mb: "fe.mb"; mc: "fe.mc"; md: "fe.md"; me: "fe.me"; mf: "fe.mf"; mg: "fe.mg"; mh: "fe.mh"; mi: "fe.mi"; mj: "fe.mj"; mk: "fe.mk"; ml: "fe.ml"; mm: "fe.mm"; mn: "fe.mn"; mo: "fe.mo"; mp: "fe.mp"; mq: "fe.mq"; mr: "fe.mr"; ms: "fe.ms"; mt: "fe.mt"; mu: "fe.mu"; mv: "fe.mv"; mw: "fe.mw"; mx: "fe.mx"; my: "fe.my"; mz: "fe.mz"; na: "fe.na"; nb: "fe.nb"; nc: "fe.nc"; nd: "fe.nd"; ne: "fe.ne"; nf: "fe.nf"; ng: "fe.ng"; nh: "fe.nh"; ni: "fe.ni"; nj: "fe.nj"; nk: "fe.nk"; nl: "fe.nl"; nm: "fe.nm"; nn: "fe.nn"; no: "fe.no"; np: "fe.np"; nq: "fe.nq"; nr: "fe.nr"; ns: "fe.ns"; nt: "fe.nt"; nu: "fe.nu"; nv: "fe.nv"; nw: "fe.nw"; nx: "fe.nx"; ny: "fe.ny"; nz: "fe.nz"; oa: "fe.oa"; ob: "fe.ob"; oc: "fe.oc"; od: "fe.od"; oe: "fe.oe"; of: "fe.of"; og: "fe.og"; oh: "fe.oh"; oi: "fe.oi"; oj: "fe.oj"; ok: "fe.ok"; ol: "fe.ol"; om: "fe.om"; on: "fe.on"; oo: "fe.oo"; op: "fe.op"; oq: "fe.oq"; or: "fe.or"; os: "fe.os"; ot: "fe.ot"; ou: "fe.ou"; ov: "fe.ov"; ow: "fe.ow"; ox: "fe.ox"; oy: "fe.oy"; oz: "fe.oz"; pa: "fe.pa"; pb: "fe.pb"; pc: "fe.pc"; pd: "fe.pd"; pe: "fe.pe"; pf: "fe.pf"; pg: "fe.pg"; ph: "fe.ph"; pi: "fe.pi"; pj: "fe.pj"; pk: "fe.pk"; pl: "fe.pl"; pm: "fe.pm"; pn: "fe.pn"; po: "fe.po"; pp: "fe.pp"; pq: "fe.pq"; pr: "fe.pr"; ps: "fe.ps"; pt: "fe.pt"; pu: "fe.pu"; pv: "fe.pv"; pw: "fe.pw"; px: "fe.px"; py: "fe.py"; pz: "fe.pz"; qa: "fe.qa"; qb: "fe.qb"; qc: "fe.qc"; qd: "fe.qd"; qe: "fe.qe"; qf: "fe.qf"; qg: "fe.qg"; qh: "fe.qh"; qi: "fe.qi"; qj: "fe.qj"; qk: "fe.qk"; ql: "fe.ql"; qm: "fe.qm"; qn: "fe.qn"; qo: "fe.qo"; qp: "fe.qp"; qq: "fe.qq"; qr: "fe.qr"; qs: "fe.qs"; qt: "fe.qt"; qu: "fe.qu"; qv: "fe.qv"; qw: "fe.qw"; qx: "fe.qx"; qy: "fe.qy"; qz: "fe.qz"; ra: "fe.ra"; rb: "fe.rb"; rc: "fe.rc"; rd: "fe.rd"; re: "fe.re"; rf: "fe.rf"; rg: "fe.rg"; rh: "fe.rh"; ri: "fe.ri"; rj: "fe.rj"; rk: "fe.rk"; rl: "fe.rl"; rm: "fe.rm"; rn: "fe.rn"; ro: "fe.ro"; rp: "fe.rp"; rq: "fe.rq"; rr: "fe.rr"; rs: "fe.rs"; rt: "fe.rt"; ru: "fe.ru"; rv: "fe.rv"; rw: "fe.rw"; rx: "fe.rx"; ry: "fe.ry"; rz: "fe.rz"; sa: "fe.sa"; sb: "fe.sb"; sc: "fe.sc"; sd: "fe.sd"; se: "fe.se"; sf: "fe.sf"; sg: "fe.sg"; sh: "fe.sh"; si: "fe.si"; sj: "fe.sj"; sk: "fe.sk"; sl: "fe.sl"; sm: "fe.sm"; sn: "fe.sn"; so: "fe.so"; sp: "fe.sp"; sq: "fe.sq"; sr: "fe.sr"; ss: "fe.ss"; st: "fe.st"; su: "fe.su"; sv: "fe.sv"; sw: "fe.sw"; sx: "fe.sx"; sy: "fe.sy"; sz: "fe.sz"; ta: "fe.ta"; tb: "fe.tb"; tc: "fe.tc"; td: "fe.td"; te: "fe.te"; tf: "fe.tf"; tg: "fe.tg"; th: "fe.th"; ti: "fe.ti"; tj: "fe.tj"; tk: "fe.tk"; tl: "fe.tl"; tm: "fe.tm"; tn: "fe.tn"; to: "fe.to"; tp: "fe.tp"; tq: "fe.tq"; tr: "fe.tr"; ts: "fe.ts"; tt: "fe.tt"; tu: "fe.tu"; tv: "fe.tv"; tw: "fe.tw"; tx: "fe.tx"; ty: "fe.ty"; tz: "fe.tz"; ua: "fe.ua"; ub: "fe.ub"; uc: "fe.uc"; ud: "fe.ud"; ue: "fe.ue"; uf: "fe.uf"; ug: "fe.ug"; uh: "fe.uh"; ui: "fe.ui"; uj: "fe.uj"; uk: "fe.uk"; ul: "fe.ul"; um: "fe.um"; un: "fe.un"; uo: "fe.uo"; up: "fe.up"; uq: "fe.uq"; ur: "fe.ur"; us: "fe.us"; ut: "fe.ut"; uu: "fe.uu"; uv: "fe.uv"; uw: "fe.uw"; ux: "fe.ux"; uy: "fe.uy"; uz: "fe.uz"; va: "fe.va"; vb: "fe.vb"; vc: "fe.vc"; vd: "fe.vd"; ve: "fe.ve"; vf: "fe.vf"; vg: "fe.vg"; vh: "fe.vh"; vi: "fe.vi"; vj: "fe.vj"; vk: "fe.vk"; vl: "fe.vl"; vm: "fe.vm"; vn: "fe.vn"; vo: "fe.vo"; vp: "fe.vp"; vq: "fe.vq"; vr: "fe.vr"; vs: "fe.vs"; vt: "fe.vt"; vu: "fe.vu"; vv: "fe.vv"; vw: "fe.vw"; vx: "fe.vx"; vy: "fe.vy"; vz: "fe.vz"; wa: "fe.wa"; wb: "fe.wb"; wc: "fe.wc"; wd: "fe.wd"; we: "fe.we"; wf: "fe.wf"; wg: "fe.wg"; wh: "fe.wh"; wi: "fe.wi"; wj: "fe.wj"; wk: "fe.wk"; wl: "fe.wl"; wm: "fe.wm"; wn: "fe.wn"; wo: "fe.wo"; wp: "fe.wp"; wq: "fe.wq"; wr: "fe.wr"; ws: "fe.ws"; wt: "fe.wt"; wu: "fe.wu"; wv: "fe.wv"; ww: "fe.ww"; wx: "fe.wx"; wy: "fe.wy"; wz: "fe.wz"; xa: "fe.xa"; xb: "fe.xb"; xc: "fe.xc"; xd: "fe.xd"; xe: "fe.xe"; xf: "fe.xf"; xg: "fe.xg"; xh: "fe.xh"; xi: "fe.xi"; xj: "fe.xj"; xk: "fe.xk"; xl: "fe.xl"; xm: "fe.xm"; xn: "fe.xn"; xo: "fe.xo"; xp: "fe.xp"; xq: "fe.xq"; xr: "fe.xr"; xs: "fe.xs"; xt: "fe.xt"; xu: "fe.xu"; xv: "fe.xv"; xw: "fe.xw"; xx: "fe.xx"; xy: "fe.xy"; xz: "fe.xz"; ya: "fe.ya"; yb: "fe.yb"; yc: "fe.yc"; yd: "fe.yd"; ye: "fe.ye"; yf: "fe.yf"; yg: "fe.yg"; yh: "fe.yh"; yi: "fe.yi"; yj: "fe.yj"; yk: "fe.yk"; yl: "fe.yl"; ym: "fe.ym"; yn: "fe.yn"; yo: "fe.yo"; yp: "fe.yp"; yq: "fe.yq"; yr: "fe.yr"; ys: "fe.ys"; yt: "fe.yt"; yu: "fe.yu"; yv: "fe.yv"; yw: "fe.yw"; yx: "fe.yx"; yy: "fe.yy"; yz: "fe.yz"; za: "fe.za"; zb: "fe.zb"; zc: "fe.zc"; zd: "fe.zd"; ze: "fe.ze"; zf: "fe.zf"; zg: "fe.zg"; zh: "fe.zh"; zi: "fe.zi"; zj: "fe.zj"; zk: "fe.zk"; zl: "fe.zl"; zm: "fe.zm"; zn: "fe.zn"; zo: "fe.zo"; zp: "fe.zp"; zq: "fe.zq"; zr: "fe.zr"; zs: "fe.zs"; zt: "fe.zt"; zu: "fe.zu"; zv: "fe.zv"; zw: "fe.zw"; zx: "fe.zx"; zy: "fe.zy"; zz: "fe.zz"; }; ff: { aa: "ff.aa"; ab: "ff.ab"; ac: "ff.ac"; ad: "ff.ad"; ae: "ff.ae"; af: "ff.af"; ag: "ff.ag"; ah: "ff.ah"; ai: "ff.ai"; aj: "ff.aj"; ak: "ff.ak"; al: "ff.al"; am: "ff.am"; an: "ff.an"; ao: "ff.ao"; ap: "ff.ap"; aq: "ff.aq"; ar: "ff.ar"; as: "ff.as"; at: "ff.at"; au: "ff.au"; av: "ff.av"; aw: "ff.aw"; ax: "ff.ax"; ay: "ff.ay"; az: "ff.az"; ba: "ff.ba"; bb: "ff.bb"; bc: "ff.bc"; bd: "ff.bd"; be: "ff.be"; bf: "ff.bf"; bg: "ff.bg"; bh: "ff.bh"; bi: "ff.bi"; bj: "ff.bj"; bk: "ff.bk"; bl: "ff.bl"; bm: "ff.bm"; bn: "ff.bn"; bo: "ff.bo"; bp: "ff.bp"; bq: "ff.bq"; br: "ff.br"; bs: "ff.bs"; bt: "ff.bt"; bu: "ff.bu"; bv: "ff.bv"; bw: "ff.bw"; bx: "ff.bx"; by: "ff.by"; bz: "ff.bz"; ca: "ff.ca"; cb: "ff.cb"; cc: "ff.cc"; cd: "ff.cd"; ce: "ff.ce"; cf: "ff.cf"; cg: "ff.cg"; ch: "ff.ch"; ci: "ff.ci"; cj: "ff.cj"; ck: "ff.ck"; cl: "ff.cl"; cm: "ff.cm"; cn: "ff.cn"; co: "ff.co"; cp: "ff.cp"; cq: "ff.cq"; cr: "ff.cr"; cs: "ff.cs"; ct: "ff.ct"; cu: "ff.cu"; cv: "ff.cv"; cw: "ff.cw"; cx: "ff.cx"; cy: "ff.cy"; cz: "ff.cz"; da: "ff.da"; db: "ff.db"; dc: "ff.dc"; dd: "ff.dd"; de: "ff.de"; df: "ff.df"; dg: "ff.dg"; dh: "ff.dh"; di: "ff.di"; dj: "ff.dj"; dk: "ff.dk"; dl: "ff.dl"; dm: "ff.dm"; dn: "ff.dn"; do: "ff.do"; dp: "ff.dp"; dq: "ff.dq"; dr: "ff.dr"; ds: "ff.ds"; dt: "ff.dt"; du: "ff.du"; dv: "ff.dv"; dw: "ff.dw"; dx: "ff.dx"; dy: "ff.dy"; dz: "ff.dz"; ea: "ff.ea"; eb: "ff.eb"; ec: "ff.ec"; ed: "ff.ed"; ee: "ff.ee"; ef: "ff.ef"; eg: "ff.eg"; eh: "ff.eh"; ei: "ff.ei"; ej: "ff.ej"; ek: "ff.ek"; el: "ff.el"; em: "ff.em"; en: "ff.en"; eo: "ff.eo"; ep: "ff.ep"; eq: "ff.eq"; er: "ff.er"; es: "ff.es"; et: "ff.et"; eu: "ff.eu"; ev: "ff.ev"; ew: "ff.ew"; ex: "ff.ex"; ey: "ff.ey"; ez: "ff.ez"; fa: "ff.fa"; fb: "ff.fb"; fc: "ff.fc"; fd: "ff.fd"; fe: "ff.fe"; ff: "ff.ff"; fg: "ff.fg"; fh: "ff.fh"; fi: "ff.fi"; fj: "ff.fj"; fk: "ff.fk"; fl: "ff.fl"; fm: "ff.fm"; fn: "ff.fn"; fo: "ff.fo"; fp: "ff.fp"; fq: "ff.fq"; fr: "ff.fr"; fs: "ff.fs"; ft: "ff.ft"; fu: "ff.fu"; fv: "ff.fv"; fw: "ff.fw"; fx: "ff.fx"; fy: "ff.fy"; fz: "ff.fz"; ga: "ff.ga"; gb: "ff.gb"; gc: "ff.gc"; gd: "ff.gd"; ge: "ff.ge"; gf: "ff.gf"; gg: "ff.gg"; gh: "ff.gh"; gi: "ff.gi"; gj: "ff.gj"; gk: "ff.gk"; gl: "ff.gl"; gm: "ff.gm"; gn: "ff.gn"; go: "ff.go"; gp: "ff.gp"; gq: "ff.gq"; gr: "ff.gr"; gs: "ff.gs"; gt: "ff.gt"; gu: "ff.gu"; gv: "ff.gv"; gw: "ff.gw"; gx: "ff.gx"; gy: "ff.gy"; gz: "ff.gz"; ha: "ff.ha"; hb: "ff.hb"; hc: "ff.hc"; hd: "ff.hd"; he: "ff.he"; hf: "ff.hf"; hg: "ff.hg"; hh: "ff.hh"; hi: "ff.hi"; hj: "ff.hj"; hk: "ff.hk"; hl: "ff.hl"; hm: "ff.hm"; hn: "ff.hn"; ho: "ff.ho"; hp: "ff.hp"; hq: "ff.hq"; hr: "ff.hr"; hs: "ff.hs"; ht: "ff.ht"; hu: "ff.hu"; hv: "ff.hv"; hw: "ff.hw"; hx: "ff.hx"; hy: "ff.hy"; hz: "ff.hz"; ia: "ff.ia"; ib: "ff.ib"; ic: "ff.ic"; id: "ff.id"; ie: "ff.ie"; if: "ff.if"; ig: "ff.ig"; ih: "ff.ih"; ii: "ff.ii"; ij: "ff.ij"; ik: "ff.ik"; il: "ff.il"; im: "ff.im"; in: "ff.in"; io: "ff.io"; ip: "ff.ip"; iq: "ff.iq"; ir: "ff.ir"; is: "ff.is"; it: "ff.it"; iu: "ff.iu"; iv: "ff.iv"; iw: "ff.iw"; ix: "ff.ix"; iy: "ff.iy"; iz: "ff.iz"; ja: "ff.ja"; jb: "ff.jb"; jc: "ff.jc"; jd: "ff.jd"; je: "ff.je"; jf: "ff.jf"; jg: "ff.jg"; jh: "ff.jh"; ji: "ff.ji"; jj: "ff.jj"; jk: "ff.jk"; jl: "ff.jl"; jm: "ff.jm"; jn: "ff.jn"; jo: "ff.jo"; jp: "ff.jp"; jq: "ff.jq"; jr: "ff.jr"; js: "ff.js"; jt: "ff.jt"; ju: "ff.ju"; jv: "ff.jv"; jw: "ff.jw"; jx: "ff.jx"; jy: "ff.jy"; jz: "ff.jz"; ka: "ff.ka"; kb: "ff.kb"; kc: "ff.kc"; kd: "ff.kd"; ke: "ff.ke"; kf: "ff.kf"; kg: "ff.kg"; kh: "ff.kh"; ki: "ff.ki"; kj: "ff.kj"; kk: "ff.kk"; kl: "ff.kl"; km: "ff.km"; kn: "ff.kn"; ko: "ff.ko"; kp: "ff.kp"; kq: "ff.kq"; kr: "ff.kr"; ks: "ff.ks"; kt: "ff.kt"; ku: "ff.ku"; kv: "ff.kv"; kw: "ff.kw"; kx: "ff.kx"; ky: "ff.ky"; kz: "ff.kz"; la: "ff.la"; lb: "ff.lb"; lc: "ff.lc"; ld: "ff.ld"; le: "ff.le"; lf: "ff.lf"; lg: "ff.lg"; lh: "ff.lh"; li: "ff.li"; lj: "ff.lj"; lk: "ff.lk"; ll: "ff.ll"; lm: "ff.lm"; ln: "ff.ln"; lo: "ff.lo"; lp: "ff.lp"; lq: "ff.lq"; lr: "ff.lr"; ls: "ff.ls"; lt: "ff.lt"; lu: "ff.lu"; lv: "ff.lv"; lw: "ff.lw"; lx: "ff.lx"; ly: "ff.ly"; lz: "ff.lz"; ma: "ff.ma"; mb: "ff.mb"; mc: "ff.mc"; md: "ff.md"; me: "ff.me"; mf: "ff.mf"; mg: "ff.mg"; mh: "ff.mh"; mi: "ff.mi"; mj: "ff.mj"; mk: "ff.mk"; ml: "ff.ml"; mm: "ff.mm"; mn: "ff.mn"; mo: "ff.mo"; mp: "ff.mp"; mq: "ff.mq"; mr: "ff.mr"; ms: "ff.ms"; mt: "ff.mt"; mu: "ff.mu"; mv: "ff.mv"; mw: "ff.mw"; mx: "ff.mx"; my: "ff.my"; mz: "ff.mz"; na: "ff.na"; nb: "ff.nb"; nc: "ff.nc"; nd: "ff.nd"; ne: "ff.ne"; nf: "ff.nf"; ng: "ff.ng"; nh: "ff.nh"; ni: "ff.ni"; nj: "ff.nj"; nk: "ff.nk"; nl: "ff.nl"; nm: "ff.nm"; nn: "ff.nn"; no: "ff.no"; np: "ff.np"; nq: "ff.nq"; nr: "ff.nr"; ns: "ff.ns"; nt: "ff.nt"; nu: "ff.nu"; nv: "ff.nv"; nw: "ff.nw"; nx: "ff.nx"; ny: "ff.ny"; nz: "ff.nz"; oa: "ff.oa"; ob: "ff.ob"; oc: "ff.oc"; od: "ff.od"; oe: "ff.oe"; of: "ff.of"; og: "ff.og"; oh: "ff.oh"; oi: "ff.oi"; oj: "ff.oj"; ok: "ff.ok"; ol: "ff.ol"; om: "ff.om"; on: "ff.on"; oo: "ff.oo"; op: "ff.op"; oq: "ff.oq"; or: "ff.or"; os: "ff.os"; ot: "ff.ot"; ou: "ff.ou"; ov: "ff.ov"; ow: "ff.ow"; ox: "ff.ox"; oy: "ff.oy"; oz: "ff.oz"; pa: "ff.pa"; pb: "ff.pb"; pc: "ff.pc"; pd: "ff.pd"; pe: "ff.pe"; pf: "ff.pf"; pg: "ff.pg"; ph: "ff.ph"; pi: "ff.pi"; pj: "ff.pj"; pk: "ff.pk"; pl: "ff.pl"; pm: "ff.pm"; pn: "ff.pn"; po: "ff.po"; pp: "ff.pp"; pq: "ff.pq"; pr: "ff.pr"; ps: "ff.ps"; pt: "ff.pt"; pu: "ff.pu"; pv: "ff.pv"; pw: "ff.pw"; px: "ff.px"; py: "ff.py"; pz: "ff.pz"; qa: "ff.qa"; qb: "ff.qb"; qc: "ff.qc"; qd: "ff.qd"; qe: "ff.qe"; qf: "ff.qf"; qg: "ff.qg"; qh: "ff.qh"; qi: "ff.qi"; qj: "ff.qj"; qk: "ff.qk"; ql: "ff.ql"; qm: "ff.qm"; qn: "ff.qn"; qo: "ff.qo"; qp: "ff.qp"; qq: "ff.qq"; qr: "ff.qr"; qs: "ff.qs"; qt: "ff.qt"; qu: "ff.qu"; qv: "ff.qv"; qw: "ff.qw"; qx: "ff.qx"; qy: "ff.qy"; qz: "ff.qz"; ra: "ff.ra"; rb: "ff.rb"; rc: "ff.rc"; rd: "ff.rd"; re: "ff.re"; rf: "ff.rf"; rg: "ff.rg"; rh: "ff.rh"; ri: "ff.ri"; rj: "ff.rj"; rk: "ff.rk"; rl: "ff.rl"; rm: "ff.rm"; rn: "ff.rn"; ro: "ff.ro"; rp: "ff.rp"; rq: "ff.rq"; rr: "ff.rr"; rs: "ff.rs"; rt: "ff.rt"; ru: "ff.ru"; rv: "ff.rv"; rw: "ff.rw"; rx: "ff.rx"; ry: "ff.ry"; rz: "ff.rz"; sa: "ff.sa"; sb: "ff.sb"; sc: "ff.sc"; sd: "ff.sd"; se: "ff.se"; sf: "ff.sf"; sg: "ff.sg"; sh: "ff.sh"; si: "ff.si"; sj: "ff.sj"; sk: "ff.sk"; sl: "ff.sl"; sm: "ff.sm"; sn: "ff.sn"; so: "ff.so"; sp: "ff.sp"; sq: "ff.sq"; sr: "ff.sr"; ss: "ff.ss"; st: "ff.st"; su: "ff.su"; sv: "ff.sv"; sw: "ff.sw"; sx: "ff.sx"; sy: "ff.sy"; sz: "ff.sz"; ta: "ff.ta"; tb: "ff.tb"; tc: "ff.tc"; td: "ff.td"; te: "ff.te"; tf: "ff.tf"; tg: "ff.tg"; th: "ff.th"; ti: "ff.ti"; tj: "ff.tj"; tk: "ff.tk"; tl: "ff.tl"; tm: "ff.tm"; tn: "ff.tn"; to: "ff.to"; tp: "ff.tp"; tq: "ff.tq"; tr: "ff.tr"; ts: "ff.ts"; tt: "ff.tt"; tu: "ff.tu"; tv: "ff.tv"; tw: "ff.tw"; tx: "ff.tx"; ty: "ff.ty"; tz: "ff.tz"; ua: "ff.ua"; ub: "ff.ub"; uc: "ff.uc"; ud: "ff.ud"; ue: "ff.ue"; uf: "ff.uf"; ug: "ff.ug"; uh: "ff.uh"; ui: "ff.ui"; uj: "ff.uj"; uk: "ff.uk"; ul: "ff.ul"; um: "ff.um"; un: "ff.un"; uo: "ff.uo"; up: "ff.up"; uq: "ff.uq"; ur: "ff.ur"; us: "ff.us"; ut: "ff.ut"; uu: "ff.uu"; uv: "ff.uv"; uw: "ff.uw"; ux: "ff.ux"; uy: "ff.uy"; uz: "ff.uz"; va: "ff.va"; vb: "ff.vb"; vc: "ff.vc"; vd: "ff.vd"; ve: "ff.ve"; vf: "ff.vf"; vg: "ff.vg"; vh: "ff.vh"; vi: "ff.vi"; vj: "ff.vj"; vk: "ff.vk"; vl: "ff.vl"; vm: "ff.vm"; vn: "ff.vn"; vo: "ff.vo"; vp: "ff.vp"; vq: "ff.vq"; vr: "ff.vr"; vs: "ff.vs"; vt: "ff.vt"; vu: "ff.vu"; vv: "ff.vv"; vw: "ff.vw"; vx: "ff.vx"; vy: "ff.vy"; vz: "ff.vz"; wa: "ff.wa"; wb: "ff.wb"; wc: "ff.wc"; wd: "ff.wd"; we: "ff.we"; wf: "ff.wf"; wg: "ff.wg"; wh: "ff.wh"; wi: "ff.wi"; wj: "ff.wj"; wk: "ff.wk"; wl: "ff.wl"; wm: "ff.wm"; wn: "ff.wn"; wo: "ff.wo"; wp: "ff.wp"; wq: "ff.wq"; wr: "ff.wr"; ws: "ff.ws"; wt: "ff.wt"; wu: "ff.wu"; wv: "ff.wv"; ww: "ff.ww"; wx: "ff.wx"; wy: "ff.wy"; wz: "ff.wz"; xa: "ff.xa"; xb: "ff.xb"; xc: "ff.xc"; xd: "ff.xd"; xe: "ff.xe"; xf: "ff.xf"; xg: "ff.xg"; xh: "ff.xh"; xi: "ff.xi"; xj: "ff.xj"; xk: "ff.xk"; xl: "ff.xl"; xm: "ff.xm"; xn: "ff.xn"; xo: "ff.xo"; xp: "ff.xp"; xq: "ff.xq"; xr: "ff.xr"; xs: "ff.xs"; xt: "ff.xt"; xu: "ff.xu"; xv: "ff.xv"; xw: "ff.xw"; xx: "ff.xx"; xy: "ff.xy"; xz: "ff.xz"; ya: "ff.ya"; yb: "ff.yb"; yc: "ff.yc"; yd: "ff.yd"; ye: "ff.ye"; yf: "ff.yf"; yg: "ff.yg"; yh: "ff.yh"; yi: "ff.yi"; yj: "ff.yj"; yk: "ff.yk"; yl: "ff.yl"; ym: "ff.ym"; yn: "ff.yn"; yo: "ff.yo"; yp: "ff.yp"; yq: "ff.yq"; yr: "ff.yr"; ys: "ff.ys"; yt: "ff.yt"; yu: "ff.yu"; yv: "ff.yv"; yw: "ff.yw"; yx: "ff.yx"; yy: "ff.yy"; yz: "ff.yz"; za: "ff.za"; zb: "ff.zb"; zc: "ff.zc"; zd: "ff.zd"; ze: "ff.ze"; zf: "ff.zf"; zg: "ff.zg"; zh: "ff.zh"; zi: "ff.zi"; zj: "ff.zj"; zk: "ff.zk"; zl: "ff.zl"; zm: "ff.zm"; zn: "ff.zn"; zo: "ff.zo"; zp: "ff.zp"; zq: "ff.zq"; zr: "ff.zr"; zs: "ff.zs"; zt: "ff.zt"; zu: "ff.zu"; zv: "ff.zv"; zw: "ff.zw"; zx: "ff.zx"; zy: "ff.zy"; zz: "ff.zz"; }; fg: { aa: "fg.aa"; ab: "fg.ab"; ac: "fg.ac"; ad: "fg.ad"; ae: "fg.ae"; af: "fg.af"; ag: "fg.ag"; ah: "fg.ah"; ai: "fg.ai"; aj: "fg.aj"; ak: "fg.ak"; al: "fg.al"; am: "fg.am"; an: "fg.an"; ao: "fg.ao"; ap: "fg.ap"; aq: "fg.aq"; ar: "fg.ar"; as: "fg.as"; at: "fg.at"; au: "fg.au"; av: "fg.av"; aw: "fg.aw"; ax: "fg.ax"; ay: "fg.ay"; az: "fg.az"; ba: "fg.ba"; bb: "fg.bb"; bc: "fg.bc"; bd: "fg.bd"; be: "fg.be"; bf: "fg.bf"; bg: "fg.bg"; bh: "fg.bh"; bi: "fg.bi"; bj: "fg.bj"; bk: "fg.bk"; bl: "fg.bl"; bm: "fg.bm"; bn: "fg.bn"; bo: "fg.bo"; bp: "fg.bp"; bq: "fg.bq"; br: "fg.br"; bs: "fg.bs"; bt: "fg.bt"; bu: "fg.bu"; bv: "fg.bv"; bw: "fg.bw"; bx: "fg.bx"; by: "fg.by"; bz: "fg.bz"; ca: "fg.ca"; cb: "fg.cb"; cc: "fg.cc"; cd: "fg.cd"; ce: "fg.ce"; cf: "fg.cf"; cg: "fg.cg"; ch: "fg.ch"; ci: "fg.ci"; cj: "fg.cj"; ck: "fg.ck"; cl: "fg.cl"; cm: "fg.cm"; cn: "fg.cn"; co: "fg.co"; cp: "fg.cp"; cq: "fg.cq"; cr: "fg.cr"; cs: "fg.cs"; ct: "fg.ct"; cu: "fg.cu"; cv: "fg.cv"; cw: "fg.cw"; cx: "fg.cx"; cy: "fg.cy"; cz: "fg.cz"; da: "fg.da"; db: "fg.db"; dc: "fg.dc"; dd: "fg.dd"; de: "fg.de"; df: "fg.df"; dg: "fg.dg"; dh: "fg.dh"; di: "fg.di"; dj: "fg.dj"; dk: "fg.dk"; dl: "fg.dl"; dm: "fg.dm"; dn: "fg.dn"; do: "fg.do"; dp: "fg.dp"; dq: "fg.dq"; dr: "fg.dr"; ds: "fg.ds"; dt: "fg.dt"; du: "fg.du"; dv: "fg.dv"; dw: "fg.dw"; dx: "fg.dx"; dy: "fg.dy"; dz: "fg.dz"; ea: "fg.ea"; eb: "fg.eb"; ec: "fg.ec"; ed: "fg.ed"; ee: "fg.ee"; ef: "fg.ef"; eg: "fg.eg"; eh: "fg.eh"; ei: "fg.ei"; ej: "fg.ej"; ek: "fg.ek"; el: "fg.el"; em: "fg.em"; en: "fg.en"; eo: "fg.eo"; ep: "fg.ep"; eq: "fg.eq"; er: "fg.er"; es: "fg.es"; et: "fg.et"; eu: "fg.eu"; ev: "fg.ev"; ew: "fg.ew"; ex: "fg.ex"; ey: "fg.ey"; ez: "fg.ez"; fa: "fg.fa"; fb: "fg.fb"; fc: "fg.fc"; fd: "fg.fd"; fe: "fg.fe"; ff: "fg.ff"; fg: "fg.fg"; fh: "fg.fh"; fi: "fg.fi"; fj: "fg.fj"; fk: "fg.fk"; fl: "fg.fl"; fm: "fg.fm"; fn: "fg.fn"; fo: "fg.fo"; fp: "fg.fp"; fq: "fg.fq"; fr: "fg.fr"; fs: "fg.fs"; ft: "fg.ft"; fu: "fg.fu"; fv: "fg.fv"; fw: "fg.fw"; fx: "fg.fx"; fy: "fg.fy"; fz: "fg.fz"; ga: "fg.ga"; gb: "fg.gb"; gc: "fg.gc"; gd: "fg.gd"; ge: "fg.ge"; gf: "fg.gf"; gg: "fg.gg"; gh: "fg.gh"; gi: "fg.gi"; gj: "fg.gj"; gk: "fg.gk"; gl: "fg.gl"; gm: "fg.gm"; gn: "fg.gn"; go: "fg.go"; gp: "fg.gp"; gq: "fg.gq"; gr: "fg.gr"; gs: "fg.gs"; gt: "fg.gt"; gu: "fg.gu"; gv: "fg.gv"; gw: "fg.gw"; gx: "fg.gx"; gy: "fg.gy"; gz: "fg.gz"; ha: "fg.ha"; hb: "fg.hb"; hc: "fg.hc"; hd: "fg.hd"; he: "fg.he"; hf: "fg.hf"; hg: "fg.hg"; hh: "fg.hh"; hi: "fg.hi"; hj: "fg.hj"; hk: "fg.hk"; hl: "fg.hl"; hm: "fg.hm"; hn: "fg.hn"; ho: "fg.ho"; hp: "fg.hp"; hq: "fg.hq"; hr: "fg.hr"; hs: "fg.hs"; ht: "fg.ht"; hu: "fg.hu"; hv: "fg.hv"; hw: "fg.hw"; hx: "fg.hx"; hy: "fg.hy"; hz: "fg.hz"; ia: "fg.ia"; ib: "fg.ib"; ic: "fg.ic"; id: "fg.id"; ie: "fg.ie"; if: "fg.if"; ig: "fg.ig"; ih: "fg.ih"; ii: "fg.ii"; ij: "fg.ij"; ik: "fg.ik"; il: "fg.il"; im: "fg.im"; in: "fg.in"; io: "fg.io"; ip: "fg.ip"; iq: "fg.iq"; ir: "fg.ir"; is: "fg.is"; it: "fg.it"; iu: "fg.iu"; iv: "fg.iv"; iw: "fg.iw"; ix: "fg.ix"; iy: "fg.iy"; iz: "fg.iz"; ja: "fg.ja"; jb: "fg.jb"; jc: "fg.jc"; jd: "fg.jd"; je: "fg.je"; jf: "fg.jf"; jg: "fg.jg"; jh: "fg.jh"; ji: "fg.ji"; jj: "fg.jj"; jk: "fg.jk"; jl: "fg.jl"; jm: "fg.jm"; jn: "fg.jn"; jo: "fg.jo"; jp: "fg.jp"; jq: "fg.jq"; jr: "fg.jr"; js: "fg.js"; jt: "fg.jt"; ju: "fg.ju"; jv: "fg.jv"; jw: "fg.jw"; jx: "fg.jx"; jy: "fg.jy"; jz: "fg.jz"; ka: "fg.ka"; kb: "fg.kb"; kc: "fg.kc"; kd: "fg.kd"; ke: "fg.ke"; kf: "fg.kf"; kg: "fg.kg"; kh: "fg.kh"; ki: "fg.ki"; kj: "fg.kj"; kk: "fg.kk"; kl: "fg.kl"; km: "fg.km"; kn: "fg.kn"; ko: "fg.ko"; kp: "fg.kp"; kq: "fg.kq"; kr: "fg.kr"; ks: "fg.ks"; kt: "fg.kt"; ku: "fg.ku"; kv: "fg.kv"; kw: "fg.kw"; kx: "fg.kx"; ky: "fg.ky"; kz: "fg.kz"; la: "fg.la"; lb: "fg.lb"; lc: "fg.lc"; ld: "fg.ld"; le: "fg.le"; lf: "fg.lf"; lg: "fg.lg"; lh: "fg.lh"; li: "fg.li"; lj: "fg.lj"; lk: "fg.lk"; ll: "fg.ll"; lm: "fg.lm"; ln: "fg.ln"; lo: "fg.lo"; lp: "fg.lp"; lq: "fg.lq"; lr: "fg.lr"; ls: "fg.ls"; lt: "fg.lt"; lu: "fg.lu"; lv: "fg.lv"; lw: "fg.lw"; lx: "fg.lx"; ly: "fg.ly"; lz: "fg.lz"; ma: "fg.ma"; mb: "fg.mb"; mc: "fg.mc"; md: "fg.md"; me: "fg.me"; mf: "fg.mf"; mg: "fg.mg"; mh: "fg.mh"; mi: "fg.mi"; mj: "fg.mj"; mk: "fg.mk"; ml: "fg.ml"; mm: "fg.mm"; mn: "fg.mn"; mo: "fg.mo"; mp: "fg.mp"; mq: "fg.mq"; mr: "fg.mr"; ms: "fg.ms"; mt: "fg.mt"; mu: "fg.mu"; mv: "fg.mv"; mw: "fg.mw"; mx: "fg.mx"; my: "fg.my"; mz: "fg.mz"; na: "fg.na"; nb: "fg.nb"; nc: "fg.nc"; nd: "fg.nd"; ne: "fg.ne"; nf: "fg.nf"; ng: "fg.ng"; nh: "fg.nh"; ni: "fg.ni"; nj: "fg.nj"; nk: "fg.nk"; nl: "fg.nl"; nm: "fg.nm"; nn: "fg.nn"; no: "fg.no"; np: "fg.np"; nq: "fg.nq"; nr: "fg.nr"; ns: "fg.ns"; nt: "fg.nt"; nu: "fg.nu"; nv: "fg.nv"; nw: "fg.nw"; nx: "fg.nx"; ny: "fg.ny"; nz: "fg.nz"; oa: "fg.oa"; ob: "fg.ob"; oc: "fg.oc"; od: "fg.od"; oe: "fg.oe"; of: "fg.of"; og: "fg.og"; oh: "fg.oh"; oi: "fg.oi"; oj: "fg.oj"; ok: "fg.ok"; ol: "fg.ol"; om: "fg.om"; on: "fg.on"; oo: "fg.oo"; op: "fg.op"; oq: "fg.oq"; or: "fg.or"; os: "fg.os"; ot: "fg.ot"; ou: "fg.ou"; ov: "fg.ov"; ow: "fg.ow"; ox: "fg.ox"; oy: "fg.oy"; oz: "fg.oz"; pa: "fg.pa"; pb: "fg.pb"; pc: "fg.pc"; pd: "fg.pd"; pe: "fg.pe"; pf: "fg.pf"; pg: "fg.pg"; ph: "fg.ph"; pi: "fg.pi"; pj: "fg.pj"; pk: "fg.pk"; pl: "fg.pl"; pm: "fg.pm"; pn: "fg.pn"; po: "fg.po"; pp: "fg.pp"; pq: "fg.pq"; pr: "fg.pr"; ps: "fg.ps"; pt: "fg.pt"; pu: "fg.pu"; pv: "fg.pv"; pw: "fg.pw"; px: "fg.px"; py: "fg.py"; pz: "fg.pz"; qa: "fg.qa"; qb: "fg.qb"; qc: "fg.qc"; qd: "fg.qd"; qe: "fg.qe"; qf: "fg.qf"; qg: "fg.qg"; qh: "fg.qh"; qi: "fg.qi"; qj: "fg.qj"; qk: "fg.qk"; ql: "fg.ql"; qm: "fg.qm"; qn: "fg.qn"; qo: "fg.qo"; qp: "fg.qp"; qq: "fg.qq"; qr: "fg.qr"; qs: "fg.qs"; qt: "fg.qt"; qu: "fg.qu"; qv: "fg.qv"; qw: "fg.qw"; qx: "fg.qx"; qy: "fg.qy"; qz: "fg.qz"; ra: "fg.ra"; rb: "fg.rb"; rc: "fg.rc"; rd: "fg.rd"; re: "fg.re"; rf: "fg.rf"; rg: "fg.rg"; rh: "fg.rh"; ri: "fg.ri"; rj: "fg.rj"; rk: "fg.rk"; rl: "fg.rl"; rm: "fg.rm"; rn: "fg.rn"; ro: "fg.ro"; rp: "fg.rp"; rq: "fg.rq"; rr: "fg.rr"; rs: "fg.rs"; rt: "fg.rt"; ru: "fg.ru"; rv: "fg.rv"; rw: "fg.rw"; rx: "fg.rx"; ry: "fg.ry"; rz: "fg.rz"; sa: "fg.sa"; sb: "fg.sb"; sc: "fg.sc"; sd: "fg.sd"; se: "fg.se"; sf: "fg.sf"; sg: "fg.sg"; sh: "fg.sh"; si: "fg.si"; sj: "fg.sj"; sk: "fg.sk"; sl: "fg.sl"; sm: "fg.sm"; sn: "fg.sn"; so: "fg.so"; sp: "fg.sp"; sq: "fg.sq"; sr: "fg.sr"; ss: "fg.ss"; st: "fg.st"; su: "fg.su"; sv: "fg.sv"; sw: "fg.sw"; sx: "fg.sx"; sy: "fg.sy"; sz: "fg.sz"; ta: "fg.ta"; tb: "fg.tb"; tc: "fg.tc"; td: "fg.td"; te: "fg.te"; tf: "fg.tf"; tg: "fg.tg"; th: "fg.th"; ti: "fg.ti"; tj: "fg.tj"; tk: "fg.tk"; tl: "fg.tl"; tm: "fg.tm"; tn: "fg.tn"; to: "fg.to"; tp: "fg.tp"; tq: "fg.tq"; tr: "fg.tr"; ts: "fg.ts"; tt: "fg.tt"; tu: "fg.tu"; tv: "fg.tv"; tw: "fg.tw"; tx: "fg.tx"; ty: "fg.ty"; tz: "fg.tz"; ua: "fg.ua"; ub: "fg.ub"; uc: "fg.uc"; ud: "fg.ud"; ue: "fg.ue"; uf: "fg.uf"; ug: "fg.ug"; uh: "fg.uh"; ui: "fg.ui"; uj: "fg.uj"; uk: "fg.uk"; ul: "fg.ul"; um: "fg.um"; un: "fg.un"; uo: "fg.uo"; up: "fg.up"; uq: "fg.uq"; ur: "fg.ur"; us: "fg.us"; ut: "fg.ut"; uu: "fg.uu"; uv: "fg.uv"; uw: "fg.uw"; ux: "fg.ux"; uy: "fg.uy"; uz: "fg.uz"; va: "fg.va"; vb: "fg.vb"; vc: "fg.vc"; vd: "fg.vd"; ve: "fg.ve"; vf: "fg.vf"; vg: "fg.vg"; vh: "fg.vh"; vi: "fg.vi"; vj: "fg.vj"; vk: "fg.vk"; vl: "fg.vl"; vm: "fg.vm"; vn: "fg.vn"; vo: "fg.vo"; vp: "fg.vp"; vq: "fg.vq"; vr: "fg.vr"; vs: "fg.vs"; vt: "fg.vt"; vu: "fg.vu"; vv: "fg.vv"; vw: "fg.vw"; vx: "fg.vx"; vy: "fg.vy"; vz: "fg.vz"; wa: "fg.wa"; wb: "fg.wb"; wc: "fg.wc"; wd: "fg.wd"; we: "fg.we"; wf: "fg.wf"; wg: "fg.wg"; wh: "fg.wh"; wi: "fg.wi"; wj: "fg.wj"; wk: "fg.wk"; wl: "fg.wl"; wm: "fg.wm"; wn: "fg.wn"; wo: "fg.wo"; wp: "fg.wp"; wq: "fg.wq"; wr: "fg.wr"; ws: "fg.ws"; wt: "fg.wt"; wu: "fg.wu"; wv: "fg.wv"; ww: "fg.ww"; wx: "fg.wx"; wy: "fg.wy"; wz: "fg.wz"; xa: "fg.xa"; xb: "fg.xb"; xc: "fg.xc"; xd: "fg.xd"; xe: "fg.xe"; xf: "fg.xf"; xg: "fg.xg"; xh: "fg.xh"; xi: "fg.xi"; xj: "fg.xj"; xk: "fg.xk"; xl: "fg.xl"; xm: "fg.xm"; xn: "fg.xn"; xo: "fg.xo"; xp: "fg.xp"; xq: "fg.xq"; xr: "fg.xr"; xs: "fg.xs"; xt: "fg.xt"; xu: "fg.xu"; xv: "fg.xv"; xw: "fg.xw"; xx: "fg.xx"; xy: "fg.xy"; xz: "fg.xz"; ya: "fg.ya"; yb: "fg.yb"; yc: "fg.yc"; yd: "fg.yd"; ye: "fg.ye"; yf: "fg.yf"; yg: "fg.yg"; yh: "fg.yh"; yi: "fg.yi"; yj: "fg.yj"; yk: "fg.yk"; yl: "fg.yl"; ym: "fg.ym"; yn: "fg.yn"; yo: "fg.yo"; yp: "fg.yp"; yq: "fg.yq"; yr: "fg.yr"; ys: "fg.ys"; yt: "fg.yt"; yu: "fg.yu"; yv: "fg.yv"; yw: "fg.yw"; yx: "fg.yx"; yy: "fg.yy"; yz: "fg.yz"; za: "fg.za"; zb: "fg.zb"; zc: "fg.zc"; zd: "fg.zd"; ze: "fg.ze"; zf: "fg.zf"; zg: "fg.zg"; zh: "fg.zh"; zi: "fg.zi"; zj: "fg.zj"; zk: "fg.zk"; zl: "fg.zl"; zm: "fg.zm"; zn: "fg.zn"; zo: "fg.zo"; zp: "fg.zp"; zq: "fg.zq"; zr: "fg.zr"; zs: "fg.zs"; zt: "fg.zt"; zu: "fg.zu"; zv: "fg.zv"; zw: "fg.zw"; zx: "fg.zx"; zy: "fg.zy"; zz: "fg.zz"; }; fh: { aa: "fh.aa"; ab: "fh.ab"; ac: "fh.ac"; ad: "fh.ad"; ae: "fh.ae"; af: "fh.af"; ag: "fh.ag"; ah: "fh.ah"; ai: "fh.ai"; aj: "fh.aj"; ak: "fh.ak"; al: "fh.al"; am: "fh.am"; an: "fh.an"; ao: "fh.ao"; ap: "fh.ap"; aq: "fh.aq"; ar: "fh.ar"; as: "fh.as"; at: "fh.at"; au: "fh.au"; av: "fh.av"; aw: "fh.aw"; ax: "fh.ax"; ay: "fh.ay"; az: "fh.az"; ba: "fh.ba"; bb: "fh.bb"; bc: "fh.bc"; bd: "fh.bd"; be: "fh.be"; bf: "fh.bf"; bg: "fh.bg"; bh: "fh.bh"; bi: "fh.bi"; bj: "fh.bj"; bk: "fh.bk"; bl: "fh.bl"; bm: "fh.bm"; bn: "fh.bn"; bo: "fh.bo"; bp: "fh.bp"; bq: "fh.bq"; br: "fh.br"; bs: "fh.bs"; bt: "fh.bt"; bu: "fh.bu"; bv: "fh.bv"; bw: "fh.bw"; bx: "fh.bx"; by: "fh.by"; bz: "fh.bz"; ca: "fh.ca"; cb: "fh.cb"; cc: "fh.cc"; cd: "fh.cd"; ce: "fh.ce"; cf: "fh.cf"; cg: "fh.cg"; ch: "fh.ch"; ci: "fh.ci"; cj: "fh.cj"; ck: "fh.ck"; cl: "fh.cl"; cm: "fh.cm"; cn: "fh.cn"; co: "fh.co"; cp: "fh.cp"; cq: "fh.cq"; cr: "fh.cr"; cs: "fh.cs"; ct: "fh.ct"; cu: "fh.cu"; cv: "fh.cv"; cw: "fh.cw"; cx: "fh.cx"; cy: "fh.cy"; cz: "fh.cz"; da: "fh.da"; db: "fh.db"; dc: "fh.dc"; dd: "fh.dd"; de: "fh.de"; df: "fh.df"; dg: "fh.dg"; dh: "fh.dh"; di: "fh.di"; dj: "fh.dj"; dk: "fh.dk"; dl: "fh.dl"; dm: "fh.dm"; dn: "fh.dn"; do: "fh.do"; dp: "fh.dp"; dq: "fh.dq"; dr: "fh.dr"; ds: "fh.ds"; dt: "fh.dt"; du: "fh.du"; dv: "fh.dv"; dw: "fh.dw"; dx: "fh.dx"; dy: "fh.dy"; dz: "fh.dz"; ea: "fh.ea"; eb: "fh.eb"; ec: "fh.ec"; ed: "fh.ed"; ee: "fh.ee"; ef: "fh.ef"; eg: "fh.eg"; eh: "fh.eh"; ei: "fh.ei"; ej: "fh.ej"; ek: "fh.ek"; el: "fh.el"; em: "fh.em"; en: "fh.en"; eo: "fh.eo"; ep: "fh.ep"; eq: "fh.eq"; er: "fh.er"; es: "fh.es"; et: "fh.et"; eu: "fh.eu"; ev: "fh.ev"; ew: "fh.ew"; ex: "fh.ex"; ey: "fh.ey"; ez: "fh.ez"; fa: "fh.fa"; fb: "fh.fb"; fc: "fh.fc"; fd: "fh.fd"; fe: "fh.fe"; ff: "fh.ff"; fg: "fh.fg"; fh: "fh.fh"; fi: "fh.fi"; fj: "fh.fj"; fk: "fh.fk"; fl: "fh.fl"; fm: "fh.fm"; fn: "fh.fn"; fo: "fh.fo"; fp: "fh.fp"; fq: "fh.fq"; fr: "fh.fr"; fs: "fh.fs"; ft: "fh.ft"; fu: "fh.fu"; fv: "fh.fv"; fw: "fh.fw"; fx: "fh.fx"; fy: "fh.fy"; fz: "fh.fz"; ga: "fh.ga"; gb: "fh.gb"; gc: "fh.gc"; gd: "fh.gd"; ge: "fh.ge"; gf: "fh.gf"; gg: "fh.gg"; gh: "fh.gh"; gi: "fh.gi"; gj: "fh.gj"; gk: "fh.gk"; gl: "fh.gl"; gm: "fh.gm"; gn: "fh.gn"; go: "fh.go"; gp: "fh.gp"; gq: "fh.gq"; gr: "fh.gr"; gs: "fh.gs"; gt: "fh.gt"; gu: "fh.gu"; gv: "fh.gv"; gw: "fh.gw"; gx: "fh.gx"; gy: "fh.gy"; gz: "fh.gz"; ha: "fh.ha"; hb: "fh.hb"; hc: "fh.hc"; hd: "fh.hd"; he: "fh.he"; hf: "fh.hf"; hg: "fh.hg"; hh: "fh.hh"; hi: "fh.hi"; hj: "fh.hj"; hk: "fh.hk"; hl: "fh.hl"; hm: "fh.hm"; hn: "fh.hn"; ho: "fh.ho"; hp: "fh.hp"; hq: "fh.hq"; hr: "fh.hr"; hs: "fh.hs"; ht: "fh.ht"; hu: "fh.hu"; hv: "fh.hv"; hw: "fh.hw"; hx: "fh.hx"; hy: "fh.hy"; hz: "fh.hz"; ia: "fh.ia"; ib: "fh.ib"; ic: "fh.ic"; id: "fh.id"; ie: "fh.ie"; if: "fh.if"; ig: "fh.ig"; ih: "fh.ih"; ii: "fh.ii"; ij: "fh.ij"; ik: "fh.ik"; il: "fh.il"; im: "fh.im"; in: "fh.in"; io: "fh.io"; ip: "fh.ip"; iq: "fh.iq"; ir: "fh.ir"; is: "fh.is"; it: "fh.it"; iu: "fh.iu"; iv: "fh.iv"; iw: "fh.iw"; ix: "fh.ix"; iy: "fh.iy"; iz: "fh.iz"; ja: "fh.ja"; jb: "fh.jb"; jc: "fh.jc"; jd: "fh.jd"; je: "fh.je"; jf: "fh.jf"; jg: "fh.jg"; jh: "fh.jh"; ji: "fh.ji"; jj: "fh.jj"; jk: "fh.jk"; jl: "fh.jl"; jm: "fh.jm"; jn: "fh.jn"; jo: "fh.jo"; jp: "fh.jp"; jq: "fh.jq"; jr: "fh.jr"; js: "fh.js"; jt: "fh.jt"; ju: "fh.ju"; jv: "fh.jv"; jw: "fh.jw"; jx: "fh.jx"; jy: "fh.jy"; jz: "fh.jz"; ka: "fh.ka"; kb: "fh.kb"; kc: "fh.kc"; kd: "fh.kd"; ke: "fh.ke"; kf: "fh.kf"; kg: "fh.kg"; kh: "fh.kh"; ki: "fh.ki"; kj: "fh.kj"; kk: "fh.kk"; kl: "fh.kl"; km: "fh.km"; kn: "fh.kn"; ko: "fh.ko"; kp: "fh.kp"; kq: "fh.kq"; kr: "fh.kr"; ks: "fh.ks"; kt: "fh.kt"; ku: "fh.ku"; kv: "fh.kv"; kw: "fh.kw"; kx: "fh.kx"; ky: "fh.ky"; kz: "fh.kz"; la: "fh.la"; lb: "fh.lb"; lc: "fh.lc"; ld: "fh.ld"; le: "fh.le"; lf: "fh.lf"; lg: "fh.lg"; lh: "fh.lh"; li: "fh.li"; lj: "fh.lj"; lk: "fh.lk"; ll: "fh.ll"; lm: "fh.lm"; ln: "fh.ln"; lo: "fh.lo"; lp: "fh.lp"; lq: "fh.lq"; lr: "fh.lr"; ls: "fh.ls"; lt: "fh.lt"; lu: "fh.lu"; lv: "fh.lv"; lw: "fh.lw"; lx: "fh.lx"; ly: "fh.ly"; lz: "fh.lz"; ma: "fh.ma"; mb: "fh.mb"; mc: "fh.mc"; md: "fh.md"; me: "fh.me"; mf: "fh.mf"; mg: "fh.mg"; mh: "fh.mh"; mi: "fh.mi"; mj: "fh.mj"; mk: "fh.mk"; ml: "fh.ml"; mm: "fh.mm"; mn: "fh.mn"; mo: "fh.mo"; mp: "fh.mp"; mq: "fh.mq"; mr: "fh.mr"; ms: "fh.ms"; mt: "fh.mt"; mu: "fh.mu"; mv: "fh.mv"; mw: "fh.mw"; mx: "fh.mx"; my: "fh.my"; mz: "fh.mz"; na: "fh.na"; nb: "fh.nb"; nc: "fh.nc"; nd: "fh.nd"; ne: "fh.ne"; nf: "fh.nf"; ng: "fh.ng"; nh: "fh.nh"; ni: "fh.ni"; nj: "fh.nj"; nk: "fh.nk"; nl: "fh.nl"; nm: "fh.nm"; nn: "fh.nn"; no: "fh.no"; np: "fh.np"; nq: "fh.nq"; nr: "fh.nr"; ns: "fh.ns"; nt: "fh.nt"; nu: "fh.nu"; nv: "fh.nv"; nw: "fh.nw"; nx: "fh.nx"; ny: "fh.ny"; nz: "fh.nz"; oa: "fh.oa"; ob: "fh.ob"; oc: "fh.oc"; od: "fh.od"; oe: "fh.oe"; of: "fh.of"; og: "fh.og"; oh: "fh.oh"; oi: "fh.oi"; oj: "fh.oj"; ok: "fh.ok"; ol: "fh.ol"; om: "fh.om"; on: "fh.on"; oo: "fh.oo"; op: "fh.op"; oq: "fh.oq"; or: "fh.or"; os: "fh.os"; ot: "fh.ot"; ou: "fh.ou"; ov: "fh.ov"; ow: "fh.ow"; ox: "fh.ox"; oy: "fh.oy"; oz: "fh.oz"; pa: "fh.pa"; pb: "fh.pb"; pc: "fh.pc"; pd: "fh.pd"; pe: "fh.pe"; pf: "fh.pf"; pg: "fh.pg"; ph: "fh.ph"; pi: "fh.pi"; pj: "fh.pj"; pk: "fh.pk"; pl: "fh.pl"; pm: "fh.pm"; pn: "fh.pn"; po: "fh.po"; pp: "fh.pp"; pq: "fh.pq"; pr: "fh.pr"; ps: "fh.ps"; pt: "fh.pt"; pu: "fh.pu"; pv: "fh.pv"; pw: "fh.pw"; px: "fh.px"; py: "fh.py"; pz: "fh.pz"; qa: "fh.qa"; qb: "fh.qb"; qc: "fh.qc"; qd: "fh.qd"; qe: "fh.qe"; qf: "fh.qf"; qg: "fh.qg"; qh: "fh.qh"; qi: "fh.qi"; qj: "fh.qj"; qk: "fh.qk"; ql: "fh.ql"; qm: "fh.qm"; qn: "fh.qn"; qo: "fh.qo"; qp: "fh.qp"; qq: "fh.qq"; qr: "fh.qr"; qs: "fh.qs"; qt: "fh.qt"; qu: "fh.qu"; qv: "fh.qv"; qw: "fh.qw"; qx: "fh.qx"; qy: "fh.qy"; qz: "fh.qz"; ra: "fh.ra"; rb: "fh.rb"; rc: "fh.rc"; rd: "fh.rd"; re: "fh.re"; rf: "fh.rf"; rg: "fh.rg"; rh: "fh.rh"; ri: "fh.ri"; rj: "fh.rj"; rk: "fh.rk"; rl: "fh.rl"; rm: "fh.rm"; rn: "fh.rn"; ro: "fh.ro"; rp: "fh.rp"; rq: "fh.rq"; rr: "fh.rr"; rs: "fh.rs"; rt: "fh.rt"; ru: "fh.ru"; rv: "fh.rv"; rw: "fh.rw"; rx: "fh.rx"; ry: "fh.ry"; rz: "fh.rz"; sa: "fh.sa"; sb: "fh.sb"; sc: "fh.sc"; sd: "fh.sd"; se: "fh.se"; sf: "fh.sf"; sg: "fh.sg"; sh: "fh.sh"; si: "fh.si"; sj: "fh.sj"; sk: "fh.sk"; sl: "fh.sl"; sm: "fh.sm"; sn: "fh.sn"; so: "fh.so"; sp: "fh.sp"; sq: "fh.sq"; sr: "fh.sr"; ss: "fh.ss"; st: "fh.st"; su: "fh.su"; sv: "fh.sv"; sw: "fh.sw"; sx: "fh.sx"; sy: "fh.sy"; sz: "fh.sz"; ta: "fh.ta"; tb: "fh.tb"; tc: "fh.tc"; td: "fh.td"; te: "fh.te"; tf: "fh.tf"; tg: "fh.tg"; th: "fh.th"; ti: "fh.ti"; tj: "fh.tj"; tk: "fh.tk"; tl: "fh.tl"; tm: "fh.tm"; tn: "fh.tn"; to: "fh.to"; tp: "fh.tp"; tq: "fh.tq"; tr: "fh.tr"; ts: "fh.ts"; tt: "fh.tt"; tu: "fh.tu"; tv: "fh.tv"; tw: "fh.tw"; tx: "fh.tx"; ty: "fh.ty"; tz: "fh.tz"; ua: "fh.ua"; ub: "fh.ub"; uc: "fh.uc"; ud: "fh.ud"; ue: "fh.ue"; uf: "fh.uf"; ug: "fh.ug"; uh: "fh.uh"; ui: "fh.ui"; uj: "fh.uj"; uk: "fh.uk"; ul: "fh.ul"; um: "fh.um"; un: "fh.un"; uo: "fh.uo"; up: "fh.up"; uq: "fh.uq"; ur: "fh.ur"; us: "fh.us"; ut: "fh.ut"; uu: "fh.uu"; uv: "fh.uv"; uw: "fh.uw"; ux: "fh.ux"; uy: "fh.uy"; uz: "fh.uz"; va: "fh.va"; vb: "fh.vb"; vc: "fh.vc"; vd: "fh.vd"; ve: "fh.ve"; vf: "fh.vf"; vg: "fh.vg"; vh: "fh.vh"; vi: "fh.vi"; vj: "fh.vj"; vk: "fh.vk"; vl: "fh.vl"; vm: "fh.vm"; vn: "fh.vn"; vo: "fh.vo"; vp: "fh.vp"; vq: "fh.vq"; vr: "fh.vr"; vs: "fh.vs"; vt: "fh.vt"; vu: "fh.vu"; vv: "fh.vv"; vw: "fh.vw"; vx: "fh.vx"; vy: "fh.vy"; vz: "fh.vz"; wa: "fh.wa"; wb: "fh.wb"; wc: "fh.wc"; wd: "fh.wd"; we: "fh.we"; wf: "fh.wf"; wg: "fh.wg"; wh: "fh.wh"; wi: "fh.wi"; wj: "fh.wj"; wk: "fh.wk"; wl: "fh.wl"; wm: "fh.wm"; wn: "fh.wn"; wo: "fh.wo"; wp: "fh.wp"; wq: "fh.wq"; wr: "fh.wr"; ws: "fh.ws"; wt: "fh.wt"; wu: "fh.wu"; wv: "fh.wv"; ww: "fh.ww"; wx: "fh.wx"; wy: "fh.wy"; wz: "fh.wz"; xa: "fh.xa"; xb: "fh.xb"; xc: "fh.xc"; xd: "fh.xd"; xe: "fh.xe"; xf: "fh.xf"; xg: "fh.xg"; xh: "fh.xh"; xi: "fh.xi"; xj: "fh.xj"; xk: "fh.xk"; xl: "fh.xl"; xm: "fh.xm"; xn: "fh.xn"; xo: "fh.xo"; xp: "fh.xp"; xq: "fh.xq"; xr: "fh.xr"; xs: "fh.xs"; xt: "fh.xt"; xu: "fh.xu"; xv: "fh.xv"; xw: "fh.xw"; xx: "fh.xx"; xy: "fh.xy"; xz: "fh.xz"; ya: "fh.ya"; yb: "fh.yb"; yc: "fh.yc"; yd: "fh.yd"; ye: "fh.ye"; yf: "fh.yf"; yg: "fh.yg"; yh: "fh.yh"; yi: "fh.yi"; yj: "fh.yj"; yk: "fh.yk"; yl: "fh.yl"; ym: "fh.ym"; yn: "fh.yn"; yo: "fh.yo"; yp: "fh.yp"; yq: "fh.yq"; yr: "fh.yr"; ys: "fh.ys"; yt: "fh.yt"; yu: "fh.yu"; yv: "fh.yv"; yw: "fh.yw"; yx: "fh.yx"; yy: "fh.yy"; yz: "fh.yz"; za: "fh.za"; zb: "fh.zb"; zc: "fh.zc"; zd: "fh.zd"; ze: "fh.ze"; zf: "fh.zf"; zg: "fh.zg"; zh: "fh.zh"; zi: "fh.zi"; zj: "fh.zj"; zk: "fh.zk"; zl: "fh.zl"; zm: "fh.zm"; zn: "fh.zn"; zo: "fh.zo"; zp: "fh.zp"; zq: "fh.zq"; zr: "fh.zr"; zs: "fh.zs"; zt: "fh.zt"; zu: "fh.zu"; zv: "fh.zv"; zw: "fh.zw"; zx: "fh.zx"; zy: "fh.zy"; zz: "fh.zz"; }; fi: { aa: "fi.aa"; ab: "fi.ab"; ac: "fi.ac"; ad: "fi.ad"; ae: "fi.ae"; af: "fi.af"; ag: "fi.ag"; ah: "fi.ah"; ai: "fi.ai"; aj: "fi.aj"; ak: "fi.ak"; al: "fi.al"; am: "fi.am"; an: "fi.an"; ao: "fi.ao"; ap: "fi.ap"; aq: "fi.aq"; ar: "fi.ar"; as: "fi.as"; at: "fi.at"; au: "fi.au"; av: "fi.av"; aw: "fi.aw"; ax: "fi.ax"; ay: "fi.ay"; az: "fi.az"; ba: "fi.ba"; bb: "fi.bb"; bc: "fi.bc"; bd: "fi.bd"; be: "fi.be"; bf: "fi.bf"; bg: "fi.bg"; bh: "fi.bh"; bi: "fi.bi"; bj: "fi.bj"; bk: "fi.bk"; bl: "fi.bl"; bm: "fi.bm"; bn: "fi.bn"; bo: "fi.bo"; bp: "fi.bp"; bq: "fi.bq"; br: "fi.br"; bs: "fi.bs"; bt: "fi.bt"; bu: "fi.bu"; bv: "fi.bv"; bw: "fi.bw"; bx: "fi.bx"; by: "fi.by"; bz: "fi.bz"; ca: "fi.ca"; cb: "fi.cb"; cc: "fi.cc"; cd: "fi.cd"; ce: "fi.ce"; cf: "fi.cf"; cg: "fi.cg"; ch: "fi.ch"; ci: "fi.ci"; cj: "fi.cj"; ck: "fi.ck"; cl: "fi.cl"; cm: "fi.cm"; cn: "fi.cn"; co: "fi.co"; cp: "fi.cp"; cq: "fi.cq"; cr: "fi.cr"; cs: "fi.cs"; ct: "fi.ct"; cu: "fi.cu"; cv: "fi.cv"; cw: "fi.cw"; cx: "fi.cx"; cy: "fi.cy"; cz: "fi.cz"; da: "fi.da"; db: "fi.db"; dc: "fi.dc"; dd: "fi.dd"; de: "fi.de"; df: "fi.df"; dg: "fi.dg"; dh: "fi.dh"; di: "fi.di"; dj: "fi.dj"; dk: "fi.dk"; dl: "fi.dl"; dm: "fi.dm"; dn: "fi.dn"; do: "fi.do"; dp: "fi.dp"; dq: "fi.dq"; dr: "fi.dr"; ds: "fi.ds"; dt: "fi.dt"; du: "fi.du"; dv: "fi.dv"; dw: "fi.dw"; dx: "fi.dx"; dy: "fi.dy"; dz: "fi.dz"; ea: "fi.ea"; eb: "fi.eb"; ec: "fi.ec"; ed: "fi.ed"; ee: "fi.ee"; ef: "fi.ef"; eg: "fi.eg"; eh: "fi.eh"; ei: "fi.ei"; ej: "fi.ej"; ek: "fi.ek"; el: "fi.el"; em: "fi.em"; en: "fi.en"; eo: "fi.eo"; ep: "fi.ep"; eq: "fi.eq"; er: "fi.er"; es: "fi.es"; et: "fi.et"; eu: "fi.eu"; ev: "fi.ev"; ew: "fi.ew"; ex: "fi.ex"; ey: "fi.ey"; ez: "fi.ez"; fa: "fi.fa"; fb: "fi.fb"; fc: "fi.fc"; fd: "fi.fd"; fe: "fi.fe"; ff: "fi.ff"; fg: "fi.fg"; fh: "fi.fh"; fi: "fi.fi"; fj: "fi.fj"; fk: "fi.fk"; fl: "fi.fl"; fm: "fi.fm"; fn: "fi.fn"; fo: "fi.fo"; fp: "fi.fp"; fq: "fi.fq"; fr: "fi.fr"; fs: "fi.fs"; ft: "fi.ft"; fu: "fi.fu"; fv: "fi.fv"; fw: "fi.fw"; fx: "fi.fx"; fy: "fi.fy"; fz: "fi.fz"; ga: "fi.ga"; gb: "fi.gb"; gc: "fi.gc"; gd: "fi.gd"; ge: "fi.ge"; gf: "fi.gf"; gg: "fi.gg"; gh: "fi.gh"; gi: "fi.gi"; gj: "fi.gj"; gk: "fi.gk"; gl: "fi.gl"; gm: "fi.gm"; gn: "fi.gn"; go: "fi.go"; gp: "fi.gp"; gq: "fi.gq"; gr: "fi.gr"; gs: "fi.gs"; gt: "fi.gt"; gu: "fi.gu"; gv: "fi.gv"; gw: "fi.gw"; gx: "fi.gx"; gy: "fi.gy"; gz: "fi.gz"; ha: "fi.ha"; hb: "fi.hb"; hc: "fi.hc"; hd: "fi.hd"; he: "fi.he"; hf: "fi.hf"; hg: "fi.hg"; hh: "fi.hh"; hi: "fi.hi"; hj: "fi.hj"; hk: "fi.hk"; hl: "fi.hl"; hm: "fi.hm"; hn: "fi.hn"; ho: "fi.ho"; hp: "fi.hp"; hq: "fi.hq"; hr: "fi.hr"; hs: "fi.hs"; ht: "fi.ht"; hu: "fi.hu"; hv: "fi.hv"; hw: "fi.hw"; hx: "fi.hx"; hy: "fi.hy"; hz: "fi.hz"; ia: "fi.ia"; ib: "fi.ib"; ic: "fi.ic"; id: "fi.id"; ie: "fi.ie"; if: "fi.if"; ig: "fi.ig"; ih: "fi.ih"; ii: "fi.ii"; ij: "fi.ij"; ik: "fi.ik"; il: "fi.il"; im: "fi.im"; in: "fi.in"; io: "fi.io"; ip: "fi.ip"; iq: "fi.iq"; ir: "fi.ir"; is: "fi.is"; it: "fi.it"; iu: "fi.iu"; iv: "fi.iv"; iw: "fi.iw"; ix: "fi.ix"; iy: "fi.iy"; iz: "fi.iz"; ja: "fi.ja"; jb: "fi.jb"; jc: "fi.jc"; jd: "fi.jd"; je: "fi.je"; jf: "fi.jf"; jg: "fi.jg"; jh: "fi.jh"; ji: "fi.ji"; jj: "fi.jj"; jk: "fi.jk"; jl: "fi.jl"; jm: "fi.jm"; jn: "fi.jn"; jo: "fi.jo"; jp: "fi.jp"; jq: "fi.jq"; jr: "fi.jr"; js: "fi.js"; jt: "fi.jt"; ju: "fi.ju"; jv: "fi.jv"; jw: "fi.jw"; jx: "fi.jx"; jy: "fi.jy"; jz: "fi.jz"; ka: "fi.ka"; kb: "fi.kb"; kc: "fi.kc"; kd: "fi.kd"; ke: "fi.ke"; kf: "fi.kf"; kg: "fi.kg"; kh: "fi.kh"; ki: "fi.ki"; kj: "fi.kj"; kk: "fi.kk"; kl: "fi.kl"; km: "fi.km"; kn: "fi.kn"; ko: "fi.ko"; kp: "fi.kp"; kq: "fi.kq"; kr: "fi.kr"; ks: "fi.ks"; kt: "fi.kt"; ku: "fi.ku"; kv: "fi.kv"; kw: "fi.kw"; kx: "fi.kx"; ky: "fi.ky"; kz: "fi.kz"; la: "fi.la"; lb: "fi.lb"; lc: "fi.lc"; ld: "fi.ld"; le: "fi.le"; lf: "fi.lf"; lg: "fi.lg"; lh: "fi.lh"; li: "fi.li"; lj: "fi.lj"; lk: "fi.lk"; ll: "fi.ll"; lm: "fi.lm"; ln: "fi.ln"; lo: "fi.lo"; lp: "fi.lp"; lq: "fi.lq"; lr: "fi.lr"; ls: "fi.ls"; lt: "fi.lt"; lu: "fi.lu"; lv: "fi.lv"; lw: "fi.lw"; lx: "fi.lx"; ly: "fi.ly"; lz: "fi.lz"; ma: "fi.ma"; mb: "fi.mb"; mc: "fi.mc"; md: "fi.md"; me: "fi.me"; mf: "fi.mf"; mg: "fi.mg"; mh: "fi.mh"; mi: "fi.mi"; mj: "fi.mj"; mk: "fi.mk"; ml: "fi.ml"; mm: "fi.mm"; mn: "fi.mn"; mo: "fi.mo"; mp: "fi.mp"; mq: "fi.mq"; mr: "fi.mr"; ms: "fi.ms"; mt: "fi.mt"; mu: "fi.mu"; mv: "fi.mv"; mw: "fi.mw"; mx: "fi.mx"; my: "fi.my"; mz: "fi.mz"; na: "fi.na"; nb: "fi.nb"; nc: "fi.nc"; nd: "fi.nd"; ne: "fi.ne"; nf: "fi.nf"; ng: "fi.ng"; nh: "fi.nh"; ni: "fi.ni"; nj: "fi.nj"; nk: "fi.nk"; nl: "fi.nl"; nm: "fi.nm"; nn: "fi.nn"; no: "fi.no"; np: "fi.np"; nq: "fi.nq"; nr: "fi.nr"; ns: "fi.ns"; nt: "fi.nt"; nu: "fi.nu"; nv: "fi.nv"; nw: "fi.nw"; nx: "fi.nx"; ny: "fi.ny"; nz: "fi.nz"; oa: "fi.oa"; ob: "fi.ob"; oc: "fi.oc"; od: "fi.od"; oe: "fi.oe"; of: "fi.of"; og: "fi.og"; oh: "fi.oh"; oi: "fi.oi"; oj: "fi.oj"; ok: "fi.ok"; ol: "fi.ol"; om: "fi.om"; on: "fi.on"; oo: "fi.oo"; op: "fi.op"; oq: "fi.oq"; or: "fi.or"; os: "fi.os"; ot: "fi.ot"; ou: "fi.ou"; ov: "fi.ov"; ow: "fi.ow"; ox: "fi.ox"; oy: "fi.oy"; oz: "fi.oz"; pa: "fi.pa"; pb: "fi.pb"; pc: "fi.pc"; pd: "fi.pd"; pe: "fi.pe"; pf: "fi.pf"; pg: "fi.pg"; ph: "fi.ph"; pi: "fi.pi"; pj: "fi.pj"; pk: "fi.pk"; pl: "fi.pl"; pm: "fi.pm"; pn: "fi.pn"; po: "fi.po"; pp: "fi.pp"; pq: "fi.pq"; pr: "fi.pr"; ps: "fi.ps"; pt: "fi.pt"; pu: "fi.pu"; pv: "fi.pv"; pw: "fi.pw"; px: "fi.px"; py: "fi.py"; pz: "fi.pz"; qa: "fi.qa"; qb: "fi.qb"; qc: "fi.qc"; qd: "fi.qd"; qe: "fi.qe"; qf: "fi.qf"; qg: "fi.qg"; qh: "fi.qh"; qi: "fi.qi"; qj: "fi.qj"; qk: "fi.qk"; ql: "fi.ql"; qm: "fi.qm"; qn: "fi.qn"; qo: "fi.qo"; qp: "fi.qp"; qq: "fi.qq"; qr: "fi.qr"; qs: "fi.qs"; qt: "fi.qt"; qu: "fi.qu"; qv: "fi.qv"; qw: "fi.qw"; qx: "fi.qx"; qy: "fi.qy"; qz: "fi.qz"; ra: "fi.ra"; rb: "fi.rb"; rc: "fi.rc"; rd: "fi.rd"; re: "fi.re"; rf: "fi.rf"; rg: "fi.rg"; rh: "fi.rh"; ri: "fi.ri"; rj: "fi.rj"; rk: "fi.rk"; rl: "fi.rl"; rm: "fi.rm"; rn: "fi.rn"; ro: "fi.ro"; rp: "fi.rp"; rq: "fi.rq"; rr: "fi.rr"; rs: "fi.rs"; rt: "fi.rt"; ru: "fi.ru"; rv: "fi.rv"; rw: "fi.rw"; rx: "fi.rx"; ry: "fi.ry"; rz: "fi.rz"; sa: "fi.sa"; sb: "fi.sb"; sc: "fi.sc"; sd: "fi.sd"; se: "fi.se"; sf: "fi.sf"; sg: "fi.sg"; sh: "fi.sh"; si: "fi.si"; sj: "fi.sj"; sk: "fi.sk"; sl: "fi.sl"; sm: "fi.sm"; sn: "fi.sn"; so: "fi.so"; sp: "fi.sp"; sq: "fi.sq"; sr: "fi.sr"; ss: "fi.ss"; st: "fi.st"; su: "fi.su"; sv: "fi.sv"; sw: "fi.sw"; sx: "fi.sx"; sy: "fi.sy"; sz: "fi.sz"; ta: "fi.ta"; tb: "fi.tb"; tc: "fi.tc"; td: "fi.td"; te: "fi.te"; tf: "fi.tf"; tg: "fi.tg"; th: "fi.th"; ti: "fi.ti"; tj: "fi.tj"; tk: "fi.tk"; tl: "fi.tl"; tm: "fi.tm"; tn: "fi.tn"; to: "fi.to"; tp: "fi.tp"; tq: "fi.tq"; tr: "fi.tr"; ts: "fi.ts"; tt: "fi.tt"; tu: "fi.tu"; tv: "fi.tv"; tw: "fi.tw"; tx: "fi.tx"; ty: "fi.ty"; tz: "fi.tz"; ua: "fi.ua"; ub: "fi.ub"; uc: "fi.uc"; ud: "fi.ud"; ue: "fi.ue"; uf: "fi.uf"; ug: "fi.ug"; uh: "fi.uh"; ui: "fi.ui"; uj: "fi.uj"; uk: "fi.uk"; ul: "fi.ul"; um: "fi.um"; un: "fi.un"; uo: "fi.uo"; up: "fi.up"; uq: "fi.uq"; ur: "fi.ur"; us: "fi.us"; ut: "fi.ut"; uu: "fi.uu"; uv: "fi.uv"; uw: "fi.uw"; ux: "fi.ux"; uy: "fi.uy"; uz: "fi.uz"; va: "fi.va"; vb: "fi.vb"; vc: "fi.vc"; vd: "fi.vd"; ve: "fi.ve"; vf: "fi.vf"; vg: "fi.vg"; vh: "fi.vh"; vi: "fi.vi"; vj: "fi.vj"; vk: "fi.vk"; vl: "fi.vl"; vm: "fi.vm"; vn: "fi.vn"; vo: "fi.vo"; vp: "fi.vp"; vq: "fi.vq"; vr: "fi.vr"; vs: "fi.vs"; vt: "fi.vt"; vu: "fi.vu"; vv: "fi.vv"; vw: "fi.vw"; vx: "fi.vx"; vy: "fi.vy"; vz: "fi.vz"; wa: "fi.wa"; wb: "fi.wb"; wc: "fi.wc"; wd: "fi.wd"; we: "fi.we"; wf: "fi.wf"; wg: "fi.wg"; wh: "fi.wh"; wi: "fi.wi"; wj: "fi.wj"; wk: "fi.wk"; wl: "fi.wl"; wm: "fi.wm"; wn: "fi.wn"; wo: "fi.wo"; wp: "fi.wp"; wq: "fi.wq"; wr: "fi.wr"; ws: "fi.ws"; wt: "fi.wt"; wu: "fi.wu"; wv: "fi.wv"; ww: "fi.ww"; wx: "fi.wx"; wy: "fi.wy"; wz: "fi.wz"; xa: "fi.xa"; xb: "fi.xb"; xc: "fi.xc"; xd: "fi.xd"; xe: "fi.xe"; xf: "fi.xf"; xg: "fi.xg"; xh: "fi.xh"; xi: "fi.xi"; xj: "fi.xj"; xk: "fi.xk"; xl: "fi.xl"; xm: "fi.xm"; xn: "fi.xn"; xo: "fi.xo"; xp: "fi.xp"; xq: "fi.xq"; xr: "fi.xr"; xs: "fi.xs"; xt: "fi.xt"; xu: "fi.xu"; xv: "fi.xv"; xw: "fi.xw"; xx: "fi.xx"; xy: "fi.xy"; xz: "fi.xz"; ya: "fi.ya"; yb: "fi.yb"; yc: "fi.yc"; yd: "fi.yd"; ye: "fi.ye"; yf: "fi.yf"; yg: "fi.yg"; yh: "fi.yh"; yi: "fi.yi"; yj: "fi.yj"; yk: "fi.yk"; yl: "fi.yl"; ym: "fi.ym"; yn: "fi.yn"; yo: "fi.yo"; yp: "fi.yp"; yq: "fi.yq"; yr: "fi.yr"; ys: "fi.ys"; yt: "fi.yt"; yu: "fi.yu"; yv: "fi.yv"; yw: "fi.yw"; yx: "fi.yx"; yy: "fi.yy"; yz: "fi.yz"; za: "fi.za"; zb: "fi.zb"; zc: "fi.zc"; zd: "fi.zd"; ze: "fi.ze"; zf: "fi.zf"; zg: "fi.zg"; zh: "fi.zh"; zi: "fi.zi"; zj: "fi.zj"; zk: "fi.zk"; zl: "fi.zl"; zm: "fi.zm"; zn: "fi.zn"; zo: "fi.zo"; zp: "fi.zp"; zq: "fi.zq"; zr: "fi.zr"; zs: "fi.zs"; zt: "fi.zt"; zu: "fi.zu"; zv: "fi.zv"; zw: "fi.zw"; zx: "fi.zx"; zy: "fi.zy"; zz: "fi.zz"; }; fj: { aa: "fj.aa"; ab: "fj.ab"; ac: "fj.ac"; ad: "fj.ad"; ae: "fj.ae"; af: "fj.af"; ag: "fj.ag"; ah: "fj.ah"; ai: "fj.ai"; aj: "fj.aj"; ak: "fj.ak"; al: "fj.al"; am: "fj.am"; an: "fj.an"; ao: "fj.ao"; ap: "fj.ap"; aq: "fj.aq"; ar: "fj.ar"; as: "fj.as"; at: "fj.at"; au: "fj.au"; av: "fj.av"; aw: "fj.aw"; ax: "fj.ax"; ay: "fj.ay"; az: "fj.az"; ba: "fj.ba"; bb: "fj.bb"; bc: "fj.bc"; bd: "fj.bd"; be: "fj.be"; bf: "fj.bf"; bg: "fj.bg"; bh: "fj.bh"; bi: "fj.bi"; bj: "fj.bj"; bk: "fj.bk"; bl: "fj.bl"; bm: "fj.bm"; bn: "fj.bn"; bo: "fj.bo"; bp: "fj.bp"; bq: "fj.bq"; br: "fj.br"; bs: "fj.bs"; bt: "fj.bt"; bu: "fj.bu"; bv: "fj.bv"; bw: "fj.bw"; bx: "fj.bx"; by: "fj.by"; bz: "fj.bz"; ca: "fj.ca"; cb: "fj.cb"; cc: "fj.cc"; cd: "fj.cd"; ce: "fj.ce"; cf: "fj.cf"; cg: "fj.cg"; ch: "fj.ch"; ci: "fj.ci"; cj: "fj.cj"; ck: "fj.ck"; cl: "fj.cl"; cm: "fj.cm"; cn: "fj.cn"; co: "fj.co"; cp: "fj.cp"; cq: "fj.cq"; cr: "fj.cr"; cs: "fj.cs"; ct: "fj.ct"; cu: "fj.cu"; cv: "fj.cv"; cw: "fj.cw"; cx: "fj.cx"; cy: "fj.cy"; cz: "fj.cz"; da: "fj.da"; db: "fj.db"; dc: "fj.dc"; dd: "fj.dd"; de: "fj.de"; df: "fj.df"; dg: "fj.dg"; dh: "fj.dh"; di: "fj.di"; dj: "fj.dj"; dk: "fj.dk"; dl: "fj.dl"; dm: "fj.dm"; dn: "fj.dn"; do: "fj.do"; dp: "fj.dp"; dq: "fj.dq"; dr: "fj.dr"; ds: "fj.ds"; dt: "fj.dt"; du: "fj.du"; dv: "fj.dv"; dw: "fj.dw"; dx: "fj.dx"; dy: "fj.dy"; dz: "fj.dz"; ea: "fj.ea"; eb: "fj.eb"; ec: "fj.ec"; ed: "fj.ed"; ee: "fj.ee"; ef: "fj.ef"; eg: "fj.eg"; eh: "fj.eh"; ei: "fj.ei"; ej: "fj.ej"; ek: "fj.ek"; el: "fj.el"; em: "fj.em"; en: "fj.en"; eo: "fj.eo"; ep: "fj.ep"; eq: "fj.eq"; er: "fj.er"; es: "fj.es"; et: "fj.et"; eu: "fj.eu"; ev: "fj.ev"; ew: "fj.ew"; ex: "fj.ex"; ey: "fj.ey"; ez: "fj.ez"; fa: "fj.fa"; fb: "fj.fb"; fc: "fj.fc"; fd: "fj.fd"; fe: "fj.fe"; ff: "fj.ff"; fg: "fj.fg"; fh: "fj.fh"; fi: "fj.fi"; fj: "fj.fj"; fk: "fj.fk"; fl: "fj.fl"; fm: "fj.fm"; fn: "fj.fn"; fo: "fj.fo"; fp: "fj.fp"; fq: "fj.fq"; fr: "fj.fr"; fs: "fj.fs"; ft: "fj.ft"; fu: "fj.fu"; fv: "fj.fv"; fw: "fj.fw"; fx: "fj.fx"; fy: "fj.fy"; fz: "fj.fz"; ga: "fj.ga"; gb: "fj.gb"; gc: "fj.gc"; gd: "fj.gd"; ge: "fj.ge"; gf: "fj.gf"; gg: "fj.gg"; gh: "fj.gh"; gi: "fj.gi"; gj: "fj.gj"; gk: "fj.gk"; gl: "fj.gl"; gm: "fj.gm"; gn: "fj.gn"; go: "fj.go"; gp: "fj.gp"; gq: "fj.gq"; gr: "fj.gr"; gs: "fj.gs"; gt: "fj.gt"; gu: "fj.gu"; gv: "fj.gv"; gw: "fj.gw"; gx: "fj.gx"; gy: "fj.gy"; gz: "fj.gz"; ha: "fj.ha"; hb: "fj.hb"; hc: "fj.hc"; hd: "fj.hd"; he: "fj.he"; hf: "fj.hf"; hg: "fj.hg"; hh: "fj.hh"; hi: "fj.hi"; hj: "fj.hj"; hk: "fj.hk"; hl: "fj.hl"; hm: "fj.hm"; hn: "fj.hn"; ho: "fj.ho"; hp: "fj.hp"; hq: "fj.hq"; hr: "fj.hr"; hs: "fj.hs"; ht: "fj.ht"; hu: "fj.hu"; hv: "fj.hv"; hw: "fj.hw"; hx: "fj.hx"; hy: "fj.hy"; hz: "fj.hz"; ia: "fj.ia"; ib: "fj.ib"; ic: "fj.ic"; id: "fj.id"; ie: "fj.ie"; if: "fj.if"; ig: "fj.ig"; ih: "fj.ih"; ii: "fj.ii"; ij: "fj.ij"; ik: "fj.ik"; il: "fj.il"; im: "fj.im"; in: "fj.in"; io: "fj.io"; ip: "fj.ip"; iq: "fj.iq"; ir: "fj.ir"; is: "fj.is"; it: "fj.it"; iu: "fj.iu"; iv: "fj.iv"; iw: "fj.iw"; ix: "fj.ix"; iy: "fj.iy"; iz: "fj.iz"; ja: "fj.ja"; jb: "fj.jb"; jc: "fj.jc"; jd: "fj.jd"; je: "fj.je"; jf: "fj.jf"; jg: "fj.jg"; jh: "fj.jh"; ji: "fj.ji"; jj: "fj.jj"; jk: "fj.jk"; jl: "fj.jl"; jm: "fj.jm"; jn: "fj.jn"; jo: "fj.jo"; jp: "fj.jp"; jq: "fj.jq"; jr: "fj.jr"; js: "fj.js"; jt: "fj.jt"; ju: "fj.ju"; jv: "fj.jv"; jw: "fj.jw"; jx: "fj.jx"; jy: "fj.jy"; jz: "fj.jz"; ka: "fj.ka"; kb: "fj.kb"; kc: "fj.kc"; kd: "fj.kd"; ke: "fj.ke"; kf: "fj.kf"; kg: "fj.kg"; kh: "fj.kh"; ki: "fj.ki"; kj: "fj.kj"; kk: "fj.kk"; kl: "fj.kl"; km: "fj.km"; kn: "fj.kn"; ko: "fj.ko"; kp: "fj.kp"; kq: "fj.kq"; kr: "fj.kr"; ks: "fj.ks"; kt: "fj.kt"; ku: "fj.ku"; kv: "fj.kv"; kw: "fj.kw"; kx: "fj.kx"; ky: "fj.ky"; kz: "fj.kz"; la: "fj.la"; lb: "fj.lb"; lc: "fj.lc"; ld: "fj.ld"; le: "fj.le"; lf: "fj.lf"; lg: "fj.lg"; lh: "fj.lh"; li: "fj.li"; lj: "fj.lj"; lk: "fj.lk"; ll: "fj.ll"; lm: "fj.lm"; ln: "fj.ln"; lo: "fj.lo"; lp: "fj.lp"; lq: "fj.lq"; lr: "fj.lr"; ls: "fj.ls"; lt: "fj.lt"; lu: "fj.lu"; lv: "fj.lv"; lw: "fj.lw"; lx: "fj.lx"; ly: "fj.ly"; lz: "fj.lz"; ma: "fj.ma"; mb: "fj.mb"; mc: "fj.mc"; md: "fj.md"; me: "fj.me"; mf: "fj.mf"; mg: "fj.mg"; mh: "fj.mh"; mi: "fj.mi"; mj: "fj.mj"; mk: "fj.mk"; ml: "fj.ml"; mm: "fj.mm"; mn: "fj.mn"; mo: "fj.mo"; mp: "fj.mp"; mq: "fj.mq"; mr: "fj.mr"; ms: "fj.ms"; mt: "fj.mt"; mu: "fj.mu"; mv: "fj.mv"; mw: "fj.mw"; mx: "fj.mx"; my: "fj.my"; mz: "fj.mz"; na: "fj.na"; nb: "fj.nb"; nc: "fj.nc"; nd: "fj.nd"; ne: "fj.ne"; nf: "fj.nf"; ng: "fj.ng"; nh: "fj.nh"; ni: "fj.ni"; nj: "fj.nj"; nk: "fj.nk"; nl: "fj.nl"; nm: "fj.nm"; nn: "fj.nn"; no: "fj.no"; np: "fj.np"; nq: "fj.nq"; nr: "fj.nr"; ns: "fj.ns"; nt: "fj.nt"; nu: "fj.nu"; nv: "fj.nv"; nw: "fj.nw"; nx: "fj.nx"; ny: "fj.ny"; nz: "fj.nz"; oa: "fj.oa"; ob: "fj.ob"; oc: "fj.oc"; od: "fj.od"; oe: "fj.oe"; of: "fj.of"; og: "fj.og"; oh: "fj.oh"; oi: "fj.oi"; oj: "fj.oj"; ok: "fj.ok"; ol: "fj.ol"; om: "fj.om"; on: "fj.on"; oo: "fj.oo"; op: "fj.op"; oq: "fj.oq"; or: "fj.or"; os: "fj.os"; ot: "fj.ot"; ou: "fj.ou"; ov: "fj.ov"; ow: "fj.ow"; ox: "fj.ox"; oy: "fj.oy"; oz: "fj.oz"; pa: "fj.pa"; pb: "fj.pb"; pc: "fj.pc"; pd: "fj.pd"; pe: "fj.pe"; pf: "fj.pf"; pg: "fj.pg"; ph: "fj.ph"; pi: "fj.pi"; pj: "fj.pj"; pk: "fj.pk"; pl: "fj.pl"; pm: "fj.pm"; pn: "fj.pn"; po: "fj.po"; pp: "fj.pp"; pq: "fj.pq"; pr: "fj.pr"; ps: "fj.ps"; pt: "fj.pt"; pu: "fj.pu"; pv: "fj.pv"; pw: "fj.pw"; px: "fj.px"; py: "fj.py"; pz: "fj.pz"; qa: "fj.qa"; qb: "fj.qb"; qc: "fj.qc"; qd: "fj.qd"; qe: "fj.qe"; qf: "fj.qf"; qg: "fj.qg"; qh: "fj.qh"; qi: "fj.qi"; qj: "fj.qj"; qk: "fj.qk"; ql: "fj.ql"; qm: "fj.qm"; qn: "fj.qn"; qo: "fj.qo"; qp: "fj.qp"; qq: "fj.qq"; qr: "fj.qr"; qs: "fj.qs"; qt: "fj.qt"; qu: "fj.qu"; qv: "fj.qv"; qw: "fj.qw"; qx: "fj.qx"; qy: "fj.qy"; qz: "fj.qz"; ra: "fj.ra"; rb: "fj.rb"; rc: "fj.rc"; rd: "fj.rd"; re: "fj.re"; rf: "fj.rf"; rg: "fj.rg"; rh: "fj.rh"; ri: "fj.ri"; rj: "fj.rj"; rk: "fj.rk"; rl: "fj.rl"; rm: "fj.rm"; rn: "fj.rn"; ro: "fj.ro"; rp: "fj.rp"; rq: "fj.rq"; rr: "fj.rr"; rs: "fj.rs"; rt: "fj.rt"; ru: "fj.ru"; rv: "fj.rv"; rw: "fj.rw"; rx: "fj.rx"; ry: "fj.ry"; rz: "fj.rz"; sa: "fj.sa"; sb: "fj.sb"; sc: "fj.sc"; sd: "fj.sd"; se: "fj.se"; sf: "fj.sf"; sg: "fj.sg"; sh: "fj.sh"; si: "fj.si"; sj: "fj.sj"; sk: "fj.sk"; sl: "fj.sl"; sm: "fj.sm"; sn: "fj.sn"; so: "fj.so"; sp: "fj.sp"; sq: "fj.sq"; sr: "fj.sr"; ss: "fj.ss"; st: "fj.st"; su: "fj.su"; sv: "fj.sv"; sw: "fj.sw"; sx: "fj.sx"; sy: "fj.sy"; sz: "fj.sz"; ta: "fj.ta"; tb: "fj.tb"; tc: "fj.tc"; td: "fj.td"; te: "fj.te"; tf: "fj.tf"; tg: "fj.tg"; th: "fj.th"; ti: "fj.ti"; tj: "fj.tj"; tk: "fj.tk"; tl: "fj.tl"; tm: "fj.tm"; tn: "fj.tn"; to: "fj.to"; tp: "fj.tp"; tq: "fj.tq"; tr: "fj.tr"; ts: "fj.ts"; tt: "fj.tt"; tu: "fj.tu"; tv: "fj.tv"; tw: "fj.tw"; tx: "fj.tx"; ty: "fj.ty"; tz: "fj.tz"; ua: "fj.ua"; ub: "fj.ub"; uc: "fj.uc"; ud: "fj.ud"; ue: "fj.ue"; uf: "fj.uf"; ug: "fj.ug"; uh: "fj.uh"; ui: "fj.ui"; uj: "fj.uj"; uk: "fj.uk"; ul: "fj.ul"; um: "fj.um"; un: "fj.un"; uo: "fj.uo"; up: "fj.up"; uq: "fj.uq"; ur: "fj.ur"; us: "fj.us"; ut: "fj.ut"; uu: "fj.uu"; uv: "fj.uv"; uw: "fj.uw"; ux: "fj.ux"; uy: "fj.uy"; uz: "fj.uz"; va: "fj.va"; vb: "fj.vb"; vc: "fj.vc"; vd: "fj.vd"; ve: "fj.ve"; vf: "fj.vf"; vg: "fj.vg"; vh: "fj.vh"; vi: "fj.vi"; vj: "fj.vj"; vk: "fj.vk"; vl: "fj.vl"; vm: "fj.vm"; vn: "fj.vn"; vo: "fj.vo"; vp: "fj.vp"; vq: "fj.vq"; vr: "fj.vr"; vs: "fj.vs"; vt: "fj.vt"; vu: "fj.vu"; vv: "fj.vv"; vw: "fj.vw"; vx: "fj.vx"; vy: "fj.vy"; vz: "fj.vz"; wa: "fj.wa"; wb: "fj.wb"; wc: "fj.wc"; wd: "fj.wd"; we: "fj.we"; wf: "fj.wf"; wg: "fj.wg"; wh: "fj.wh"; wi: "fj.wi"; wj: "fj.wj"; wk: "fj.wk"; wl: "fj.wl"; wm: "fj.wm"; wn: "fj.wn"; wo: "fj.wo"; wp: "fj.wp"; wq: "fj.wq"; wr: "fj.wr"; ws: "fj.ws"; wt: "fj.wt"; wu: "fj.wu"; wv: "fj.wv"; ww: "fj.ww"; wx: "fj.wx"; wy: "fj.wy"; wz: "fj.wz"; xa: "fj.xa"; xb: "fj.xb"; xc: "fj.xc"; xd: "fj.xd"; xe: "fj.xe"; xf: "fj.xf"; xg: "fj.xg"; xh: "fj.xh"; xi: "fj.xi"; xj: "fj.xj"; xk: "fj.xk"; xl: "fj.xl"; xm: "fj.xm"; xn: "fj.xn"; xo: "fj.xo"; xp: "fj.xp"; xq: "fj.xq"; xr: "fj.xr"; xs: "fj.xs"; xt: "fj.xt"; xu: "fj.xu"; xv: "fj.xv"; xw: "fj.xw"; xx: "fj.xx"; xy: "fj.xy"; xz: "fj.xz"; ya: "fj.ya"; yb: "fj.yb"; yc: "fj.yc"; yd: "fj.yd"; ye: "fj.ye"; yf: "fj.yf"; yg: "fj.yg"; yh: "fj.yh"; yi: "fj.yi"; yj: "fj.yj"; yk: "fj.yk"; yl: "fj.yl"; ym: "fj.ym"; yn: "fj.yn"; yo: "fj.yo"; yp: "fj.yp"; yq: "fj.yq"; yr: "fj.yr"; ys: "fj.ys"; yt: "fj.yt"; yu: "fj.yu"; yv: "fj.yv"; yw: "fj.yw"; yx: "fj.yx"; yy: "fj.yy"; yz: "fj.yz"; za: "fj.za"; zb: "fj.zb"; zc: "fj.zc"; zd: "fj.zd"; ze: "fj.ze"; zf: "fj.zf"; zg: "fj.zg"; zh: "fj.zh"; zi: "fj.zi"; zj: "fj.zj"; zk: "fj.zk"; zl: "fj.zl"; zm: "fj.zm"; zn: "fj.zn"; zo: "fj.zo"; zp: "fj.zp"; zq: "fj.zq"; zr: "fj.zr"; zs: "fj.zs"; zt: "fj.zt"; zu: "fj.zu"; zv: "fj.zv"; zw: "fj.zw"; zx: "fj.zx"; zy: "fj.zy"; zz: "fj.zz"; }; fk: { aa: "fk.aa"; ab: "fk.ab"; ac: "fk.ac"; ad: "fk.ad"; ae: "fk.ae"; af: "fk.af"; ag: "fk.ag"; ah: "fk.ah"; ai: "fk.ai"; aj: "fk.aj"; ak: "fk.ak"; al: "fk.al"; am: "fk.am"; an: "fk.an"; ao: "fk.ao"; ap: "fk.ap"; aq: "fk.aq"; ar: "fk.ar"; as: "fk.as"; at: "fk.at"; au: "fk.au"; av: "fk.av"; aw: "fk.aw"; ax: "fk.ax"; ay: "fk.ay"; az: "fk.az"; ba: "fk.ba"; bb: "fk.bb"; bc: "fk.bc"; bd: "fk.bd"; be: "fk.be"; bf: "fk.bf"; bg: "fk.bg"; bh: "fk.bh"; bi: "fk.bi"; bj: "fk.bj"; bk: "fk.bk"; bl: "fk.bl"; bm: "fk.bm"; bn: "fk.bn"; bo: "fk.bo"; bp: "fk.bp"; bq: "fk.bq"; br: "fk.br"; bs: "fk.bs"; bt: "fk.bt"; bu: "fk.bu"; bv: "fk.bv"; bw: "fk.bw"; bx: "fk.bx"; by: "fk.by"; bz: "fk.bz"; ca: "fk.ca"; cb: "fk.cb"; cc: "fk.cc"; cd: "fk.cd"; ce: "fk.ce"; cf: "fk.cf"; cg: "fk.cg"; ch: "fk.ch"; ci: "fk.ci"; cj: "fk.cj"; ck: "fk.ck"; cl: "fk.cl"; cm: "fk.cm"; cn: "fk.cn"; co: "fk.co"; cp: "fk.cp"; cq: "fk.cq"; cr: "fk.cr"; cs: "fk.cs"; ct: "fk.ct"; cu: "fk.cu"; cv: "fk.cv"; cw: "fk.cw"; cx: "fk.cx"; cy: "fk.cy"; cz: "fk.cz"; da: "fk.da"; db: "fk.db"; dc: "fk.dc"; dd: "fk.dd"; de: "fk.de"; df: "fk.df"; dg: "fk.dg"; dh: "fk.dh"; di: "fk.di"; dj: "fk.dj"; dk: "fk.dk"; dl: "fk.dl"; dm: "fk.dm"; dn: "fk.dn"; do: "fk.do"; dp: "fk.dp"; dq: "fk.dq"; dr: "fk.dr"; ds: "fk.ds"; dt: "fk.dt"; du: "fk.du"; dv: "fk.dv"; dw: "fk.dw"; dx: "fk.dx"; dy: "fk.dy"; dz: "fk.dz"; ea: "fk.ea"; eb: "fk.eb"; ec: "fk.ec"; ed: "fk.ed"; ee: "fk.ee"; ef: "fk.ef"; eg: "fk.eg"; eh: "fk.eh"; ei: "fk.ei"; ej: "fk.ej"; ek: "fk.ek"; el: "fk.el"; em: "fk.em"; en: "fk.en"; eo: "fk.eo"; ep: "fk.ep"; eq: "fk.eq"; er: "fk.er"; es: "fk.es"; et: "fk.et"; eu: "fk.eu"; ev: "fk.ev"; ew: "fk.ew"; ex: "fk.ex"; ey: "fk.ey"; ez: "fk.ez"; fa: "fk.fa"; fb: "fk.fb"; fc: "fk.fc"; fd: "fk.fd"; fe: "fk.fe"; ff: "fk.ff"; fg: "fk.fg"; fh: "fk.fh"; fi: "fk.fi"; fj: "fk.fj"; fk: "fk.fk"; fl: "fk.fl"; fm: "fk.fm"; fn: "fk.fn"; fo: "fk.fo"; fp: "fk.fp"; fq: "fk.fq"; fr: "fk.fr"; fs: "fk.fs"; ft: "fk.ft"; fu: "fk.fu"; fv: "fk.fv"; fw: "fk.fw"; fx: "fk.fx"; fy: "fk.fy"; fz: "fk.fz"; ga: "fk.ga"; gb: "fk.gb"; gc: "fk.gc"; gd: "fk.gd"; ge: "fk.ge"; gf: "fk.gf"; gg: "fk.gg"; gh: "fk.gh"; gi: "fk.gi"; gj: "fk.gj"; gk: "fk.gk"; gl: "fk.gl"; gm: "fk.gm"; gn: "fk.gn"; go: "fk.go"; gp: "fk.gp"; gq: "fk.gq"; gr: "fk.gr"; gs: "fk.gs"; gt: "fk.gt"; gu: "fk.gu"; gv: "fk.gv"; gw: "fk.gw"; gx: "fk.gx"; gy: "fk.gy"; gz: "fk.gz"; ha: "fk.ha"; hb: "fk.hb"; hc: "fk.hc"; hd: "fk.hd"; he: "fk.he"; hf: "fk.hf"; hg: "fk.hg"; hh: "fk.hh"; hi: "fk.hi"; hj: "fk.hj"; hk: "fk.hk"; hl: "fk.hl"; hm: "fk.hm"; hn: "fk.hn"; ho: "fk.ho"; hp: "fk.hp"; hq: "fk.hq"; hr: "fk.hr"; hs: "fk.hs"; ht: "fk.ht"; hu: "fk.hu"; hv: "fk.hv"; hw: "fk.hw"; hx: "fk.hx"; hy: "fk.hy"; hz: "fk.hz"; ia: "fk.ia"; ib: "fk.ib"; ic: "fk.ic"; id: "fk.id"; ie: "fk.ie"; if: "fk.if"; ig: "fk.ig"; ih: "fk.ih"; ii: "fk.ii"; ij: "fk.ij"; ik: "fk.ik"; il: "fk.il"; im: "fk.im"; in: "fk.in"; io: "fk.io"; ip: "fk.ip"; iq: "fk.iq"; ir: "fk.ir"; is: "fk.is"; it: "fk.it"; iu: "fk.iu"; iv: "fk.iv"; iw: "fk.iw"; ix: "fk.ix"; iy: "fk.iy"; iz: "fk.iz"; ja: "fk.ja"; jb: "fk.jb"; jc: "fk.jc"; jd: "fk.jd"; je: "fk.je"; jf: "fk.jf"; jg: "fk.jg"; jh: "fk.jh"; ji: "fk.ji"; jj: "fk.jj"; jk: "fk.jk"; jl: "fk.jl"; jm: "fk.jm"; jn: "fk.jn"; jo: "fk.jo"; jp: "fk.jp"; jq: "fk.jq"; jr: "fk.jr"; js: "fk.js"; jt: "fk.jt"; ju: "fk.ju"; jv: "fk.jv"; jw: "fk.jw"; jx: "fk.jx"; jy: "fk.jy"; jz: "fk.jz"; ka: "fk.ka"; kb: "fk.kb"; kc: "fk.kc"; kd: "fk.kd"; ke: "fk.ke"; kf: "fk.kf"; kg: "fk.kg"; kh: "fk.kh"; ki: "fk.ki"; kj: "fk.kj"; kk: "fk.kk"; kl: "fk.kl"; km: "fk.km"; kn: "fk.kn"; ko: "fk.ko"; kp: "fk.kp"; kq: "fk.kq"; kr: "fk.kr"; ks: "fk.ks"; kt: "fk.kt"; ku: "fk.ku"; kv: "fk.kv"; kw: "fk.kw"; kx: "fk.kx"; ky: "fk.ky"; kz: "fk.kz"; la: "fk.la"; lb: "fk.lb"; lc: "fk.lc"; ld: "fk.ld"; le: "fk.le"; lf: "fk.lf"; lg: "fk.lg"; lh: "fk.lh"; li: "fk.li"; lj: "fk.lj"; lk: "fk.lk"; ll: "fk.ll"; lm: "fk.lm"; ln: "fk.ln"; lo: "fk.lo"; lp: "fk.lp"; lq: "fk.lq"; lr: "fk.lr"; ls: "fk.ls"; lt: "fk.lt"; lu: "fk.lu"; lv: "fk.lv"; lw: "fk.lw"; lx: "fk.lx"; ly: "fk.ly"; lz: "fk.lz"; ma: "fk.ma"; mb: "fk.mb"; mc: "fk.mc"; md: "fk.md"; me: "fk.me"; mf: "fk.mf"; mg: "fk.mg"; mh: "fk.mh"; mi: "fk.mi"; mj: "fk.mj"; mk: "fk.mk"; ml: "fk.ml"; mm: "fk.mm"; mn: "fk.mn"; mo: "fk.mo"; mp: "fk.mp"; mq: "fk.mq"; mr: "fk.mr"; ms: "fk.ms"; mt: "fk.mt"; mu: "fk.mu"; mv: "fk.mv"; mw: "fk.mw"; mx: "fk.mx"; my: "fk.my"; mz: "fk.mz"; na: "fk.na"; nb: "fk.nb"; nc: "fk.nc"; nd: "fk.nd"; ne: "fk.ne"; nf: "fk.nf"; ng: "fk.ng"; nh: "fk.nh"; ni: "fk.ni"; nj: "fk.nj"; nk: "fk.nk"; nl: "fk.nl"; nm: "fk.nm"; nn: "fk.nn"; no: "fk.no"; np: "fk.np"; nq: "fk.nq"; nr: "fk.nr"; ns: "fk.ns"; nt: "fk.nt"; nu: "fk.nu"; nv: "fk.nv"; nw: "fk.nw"; nx: "fk.nx"; ny: "fk.ny"; nz: "fk.nz"; oa: "fk.oa"; ob: "fk.ob"; oc: "fk.oc"; od: "fk.od"; oe: "fk.oe"; of: "fk.of"; og: "fk.og"; oh: "fk.oh"; oi: "fk.oi"; oj: "fk.oj"; ok: "fk.ok"; ol: "fk.ol"; om: "fk.om"; on: "fk.on"; oo: "fk.oo"; op: "fk.op"; oq: "fk.oq"; or: "fk.or"; os: "fk.os"; ot: "fk.ot"; ou: "fk.ou"; ov: "fk.ov"; ow: "fk.ow"; ox: "fk.ox"; oy: "fk.oy"; oz: "fk.oz"; pa: "fk.pa"; pb: "fk.pb"; pc: "fk.pc"; pd: "fk.pd"; pe: "fk.pe"; pf: "fk.pf"; pg: "fk.pg"; ph: "fk.ph"; pi: "fk.pi"; pj: "fk.pj"; pk: "fk.pk"; pl: "fk.pl"; pm: "fk.pm"; pn: "fk.pn"; po: "fk.po"; pp: "fk.pp"; pq: "fk.pq"; pr: "fk.pr"; ps: "fk.ps"; pt: "fk.pt"; pu: "fk.pu"; pv: "fk.pv"; pw: "fk.pw"; px: "fk.px"; py: "fk.py"; pz: "fk.pz"; qa: "fk.qa"; qb: "fk.qb"; qc: "fk.qc"; qd: "fk.qd"; qe: "fk.qe"; qf: "fk.qf"; qg: "fk.qg"; qh: "fk.qh"; qi: "fk.qi"; qj: "fk.qj"; qk: "fk.qk"; ql: "fk.ql"; qm: "fk.qm"; qn: "fk.qn"; qo: "fk.qo"; qp: "fk.qp"; qq: "fk.qq"; qr: "fk.qr"; qs: "fk.qs"; qt: "fk.qt"; qu: "fk.qu"; qv: "fk.qv"; qw: "fk.qw"; qx: "fk.qx"; qy: "fk.qy"; qz: "fk.qz"; ra: "fk.ra"; rb: "fk.rb"; rc: "fk.rc"; rd: "fk.rd"; re: "fk.re"; rf: "fk.rf"; rg: "fk.rg"; rh: "fk.rh"; ri: "fk.ri"; rj: "fk.rj"; rk: "fk.rk"; rl: "fk.rl"; rm: "fk.rm"; rn: "fk.rn"; ro: "fk.ro"; rp: "fk.rp"; rq: "fk.rq"; rr: "fk.rr"; rs: "fk.rs"; rt: "fk.rt"; ru: "fk.ru"; rv: "fk.rv"; rw: "fk.rw"; rx: "fk.rx"; ry: "fk.ry"; rz: "fk.rz"; sa: "fk.sa"; sb: "fk.sb"; sc: "fk.sc"; sd: "fk.sd"; se: "fk.se"; sf: "fk.sf"; sg: "fk.sg"; sh: "fk.sh"; si: "fk.si"; sj: "fk.sj"; sk: "fk.sk"; sl: "fk.sl"; sm: "fk.sm"; sn: "fk.sn"; so: "fk.so"; sp: "fk.sp"; sq: "fk.sq"; sr: "fk.sr"; ss: "fk.ss"; st: "fk.st"; su: "fk.su"; sv: "fk.sv"; sw: "fk.sw"; sx: "fk.sx"; sy: "fk.sy"; sz: "fk.sz"; ta: "fk.ta"; tb: "fk.tb"; tc: "fk.tc"; td: "fk.td"; te: "fk.te"; tf: "fk.tf"; tg: "fk.tg"; th: "fk.th"; ti: "fk.ti"; tj: "fk.tj"; tk: "fk.tk"; tl: "fk.tl"; tm: "fk.tm"; tn: "fk.tn"; to: "fk.to"; tp: "fk.tp"; tq: "fk.tq"; tr: "fk.tr"; ts: "fk.ts"; tt: "fk.tt"; tu: "fk.tu"; tv: "fk.tv"; tw: "fk.tw"; tx: "fk.tx"; ty: "fk.ty"; tz: "fk.tz"; ua: "fk.ua"; ub: "fk.ub"; uc: "fk.uc"; ud: "fk.ud"; ue: "fk.ue"; uf: "fk.uf"; ug: "fk.ug"; uh: "fk.uh"; ui: "fk.ui"; uj: "fk.uj"; uk: "fk.uk"; ul: "fk.ul"; um: "fk.um"; un: "fk.un"; uo: "fk.uo"; up: "fk.up"; uq: "fk.uq"; ur: "fk.ur"; us: "fk.us"; ut: "fk.ut"; uu: "fk.uu"; uv: "fk.uv"; uw: "fk.uw"; ux: "fk.ux"; uy: "fk.uy"; uz: "fk.uz"; va: "fk.va"; vb: "fk.vb"; vc: "fk.vc"; vd: "fk.vd"; ve: "fk.ve"; vf: "fk.vf"; vg: "fk.vg"; vh: "fk.vh"; vi: "fk.vi"; vj: "fk.vj"; vk: "fk.vk"; vl: "fk.vl"; vm: "fk.vm"; vn: "fk.vn"; vo: "fk.vo"; vp: "fk.vp"; vq: "fk.vq"; vr: "fk.vr"; vs: "fk.vs"; vt: "fk.vt"; vu: "fk.vu"; vv: "fk.vv"; vw: "fk.vw"; vx: "fk.vx"; vy: "fk.vy"; vz: "fk.vz"; wa: "fk.wa"; wb: "fk.wb"; wc: "fk.wc"; wd: "fk.wd"; we: "fk.we"; wf: "fk.wf"; wg: "fk.wg"; wh: "fk.wh"; wi: "fk.wi"; wj: "fk.wj"; wk: "fk.wk"; wl: "fk.wl"; wm: "fk.wm"; wn: "fk.wn"; wo: "fk.wo"; wp: "fk.wp"; wq: "fk.wq"; wr: "fk.wr"; ws: "fk.ws"; wt: "fk.wt"; wu: "fk.wu"; wv: "fk.wv"; ww: "fk.ww"; wx: "fk.wx"; wy: "fk.wy"; wz: "fk.wz"; xa: "fk.xa"; xb: "fk.xb"; xc: "fk.xc"; xd: "fk.xd"; xe: "fk.xe"; xf: "fk.xf"; xg: "fk.xg"; xh: "fk.xh"; xi: "fk.xi"; xj: "fk.xj"; xk: "fk.xk"; xl: "fk.xl"; xm: "fk.xm"; xn: "fk.xn"; xo: "fk.xo"; xp: "fk.xp"; xq: "fk.xq"; xr: "fk.xr"; xs: "fk.xs"; xt: "fk.xt"; xu: "fk.xu"; xv: "fk.xv"; xw: "fk.xw"; xx: "fk.xx"; xy: "fk.xy"; xz: "fk.xz"; ya: "fk.ya"; yb: "fk.yb"; yc: "fk.yc"; yd: "fk.yd"; ye: "fk.ye"; yf: "fk.yf"; yg: "fk.yg"; yh: "fk.yh"; yi: "fk.yi"; yj: "fk.yj"; yk: "fk.yk"; yl: "fk.yl"; ym: "fk.ym"; yn: "fk.yn"; yo: "fk.yo"; yp: "fk.yp"; yq: "fk.yq"; yr: "fk.yr"; ys: "fk.ys"; yt: "fk.yt"; yu: "fk.yu"; yv: "fk.yv"; yw: "fk.yw"; yx: "fk.yx"; yy: "fk.yy"; yz: "fk.yz"; za: "fk.za"; zb: "fk.zb"; zc: "fk.zc"; zd: "fk.zd"; ze: "fk.ze"; zf: "fk.zf"; zg: "fk.zg"; zh: "fk.zh"; zi: "fk.zi"; zj: "fk.zj"; zk: "fk.zk"; zl: "fk.zl"; zm: "fk.zm"; zn: "fk.zn"; zo: "fk.zo"; zp: "fk.zp"; zq: "fk.zq"; zr: "fk.zr"; zs: "fk.zs"; zt: "fk.zt"; zu: "fk.zu"; zv: "fk.zv"; zw: "fk.zw"; zx: "fk.zx"; zy: "fk.zy"; zz: "fk.zz"; }; fl: { aa: "fl.aa"; ab: "fl.ab"; ac: "fl.ac"; ad: "fl.ad"; ae: "fl.ae"; af: "fl.af"; ag: "fl.ag"; ah: "fl.ah"; ai: "fl.ai"; aj: "fl.aj"; ak: "fl.ak"; al: "fl.al"; am: "fl.am"; an: "fl.an"; ao: "fl.ao"; ap: "fl.ap"; aq: "fl.aq"; ar: "fl.ar"; as: "fl.as"; at: "fl.at"; au: "fl.au"; av: "fl.av"; aw: "fl.aw"; ax: "fl.ax"; ay: "fl.ay"; az: "fl.az"; ba: "fl.ba"; bb: "fl.bb"; bc: "fl.bc"; bd: "fl.bd"; be: "fl.be"; bf: "fl.bf"; bg: "fl.bg"; bh: "fl.bh"; bi: "fl.bi"; bj: "fl.bj"; bk: "fl.bk"; bl: "fl.bl"; bm: "fl.bm"; bn: "fl.bn"; bo: "fl.bo"; bp: "fl.bp"; bq: "fl.bq"; br: "fl.br"; bs: "fl.bs"; bt: "fl.bt"; bu: "fl.bu"; bv: "fl.bv"; bw: "fl.bw"; bx: "fl.bx"; by: "fl.by"; bz: "fl.bz"; ca: "fl.ca"; cb: "fl.cb"; cc: "fl.cc"; cd: "fl.cd"; ce: "fl.ce"; cf: "fl.cf"; cg: "fl.cg"; ch: "fl.ch"; ci: "fl.ci"; cj: "fl.cj"; ck: "fl.ck"; cl: "fl.cl"; cm: "fl.cm"; cn: "fl.cn"; co: "fl.co"; cp: "fl.cp"; cq: "fl.cq"; cr: "fl.cr"; cs: "fl.cs"; ct: "fl.ct"; cu: "fl.cu"; cv: "fl.cv"; cw: "fl.cw"; cx: "fl.cx"; cy: "fl.cy"; cz: "fl.cz"; da: "fl.da"; db: "fl.db"; dc: "fl.dc"; dd: "fl.dd"; de: "fl.de"; df: "fl.df"; dg: "fl.dg"; dh: "fl.dh"; di: "fl.di"; dj: "fl.dj"; dk: "fl.dk"; dl: "fl.dl"; dm: "fl.dm"; dn: "fl.dn"; do: "fl.do"; dp: "fl.dp"; dq: "fl.dq"; dr: "fl.dr"; ds: "fl.ds"; dt: "fl.dt"; du: "fl.du"; dv: "fl.dv"; dw: "fl.dw"; dx: "fl.dx"; dy: "fl.dy"; dz: "fl.dz"; ea: "fl.ea"; eb: "fl.eb"; ec: "fl.ec"; ed: "fl.ed"; ee: "fl.ee"; ef: "fl.ef"; eg: "fl.eg"; eh: "fl.eh"; ei: "fl.ei"; ej: "fl.ej"; ek: "fl.ek"; el: "fl.el"; em: "fl.em"; en: "fl.en"; eo: "fl.eo"; ep: "fl.ep"; eq: "fl.eq"; er: "fl.er"; es: "fl.es"; et: "fl.et"; eu: "fl.eu"; ev: "fl.ev"; ew: "fl.ew"; ex: "fl.ex"; ey: "fl.ey"; ez: "fl.ez"; fa: "fl.fa"; fb: "fl.fb"; fc: "fl.fc"; fd: "fl.fd"; fe: "fl.fe"; ff: "fl.ff"; fg: "fl.fg"; fh: "fl.fh"; fi: "fl.fi"; fj: "fl.fj"; fk: "fl.fk"; fl: "fl.fl"; fm: "fl.fm"; fn: "fl.fn"; fo: "fl.fo"; fp: "fl.fp"; fq: "fl.fq"; fr: "fl.fr"; fs: "fl.fs"; ft: "fl.ft"; fu: "fl.fu"; fv: "fl.fv"; fw: "fl.fw"; fx: "fl.fx"; fy: "fl.fy"; fz: "fl.fz"; ga: "fl.ga"; gb: "fl.gb"; gc: "fl.gc"; gd: "fl.gd"; ge: "fl.ge"; gf: "fl.gf"; gg: "fl.gg"; gh: "fl.gh"; gi: "fl.gi"; gj: "fl.gj"; gk: "fl.gk"; gl: "fl.gl"; gm: "fl.gm"; gn: "fl.gn"; go: "fl.go"; gp: "fl.gp"; gq: "fl.gq"; gr: "fl.gr"; gs: "fl.gs"; gt: "fl.gt"; gu: "fl.gu"; gv: "fl.gv"; gw: "fl.gw"; gx: "fl.gx"; gy: "fl.gy"; gz: "fl.gz"; ha: "fl.ha"; hb: "fl.hb"; hc: "fl.hc"; hd: "fl.hd"; he: "fl.he"; hf: "fl.hf"; hg: "fl.hg"; hh: "fl.hh"; hi: "fl.hi"; hj: "fl.hj"; hk: "fl.hk"; hl: "fl.hl"; hm: "fl.hm"; hn: "fl.hn"; ho: "fl.ho"; hp: "fl.hp"; hq: "fl.hq"; hr: "fl.hr"; hs: "fl.hs"; ht: "fl.ht"; hu: "fl.hu"; hv: "fl.hv"; hw: "fl.hw"; hx: "fl.hx"; hy: "fl.hy"; hz: "fl.hz"; ia: "fl.ia"; ib: "fl.ib"; ic: "fl.ic"; id: "fl.id"; ie: "fl.ie"; if: "fl.if"; ig: "fl.ig"; ih: "fl.ih"; ii: "fl.ii"; ij: "fl.ij"; ik: "fl.ik"; il: "fl.il"; im: "fl.im"; in: "fl.in"; io: "fl.io"; ip: "fl.ip"; iq: "fl.iq"; ir: "fl.ir"; is: "fl.is"; it: "fl.it"; iu: "fl.iu"; iv: "fl.iv"; iw: "fl.iw"; ix: "fl.ix"; iy: "fl.iy"; iz: "fl.iz"; ja: "fl.ja"; jb: "fl.jb"; jc: "fl.jc"; jd: "fl.jd"; je: "fl.je"; jf: "fl.jf"; jg: "fl.jg"; jh: "fl.jh"; ji: "fl.ji"; jj: "fl.jj"; jk: "fl.jk"; jl: "fl.jl"; jm: "fl.jm"; jn: "fl.jn"; jo: "fl.jo"; jp: "fl.jp"; jq: "fl.jq"; jr: "fl.jr"; js: "fl.js"; jt: "fl.jt"; ju: "fl.ju"; jv: "fl.jv"; jw: "fl.jw"; jx: "fl.jx"; jy: "fl.jy"; jz: "fl.jz"; ka: "fl.ka"; kb: "fl.kb"; kc: "fl.kc"; kd: "fl.kd"; ke: "fl.ke"; kf: "fl.kf"; kg: "fl.kg"; kh: "fl.kh"; ki: "fl.ki"; kj: "fl.kj"; kk: "fl.kk"; kl: "fl.kl"; km: "fl.km"; kn: "fl.kn"; ko: "fl.ko"; kp: "fl.kp"; kq: "fl.kq"; kr: "fl.kr"; ks: "fl.ks"; kt: "fl.kt"; ku: "fl.ku"; kv: "fl.kv"; kw: "fl.kw"; kx: "fl.kx"; ky: "fl.ky"; kz: "fl.kz"; la: "fl.la"; lb: "fl.lb"; lc: "fl.lc"; ld: "fl.ld"; le: "fl.le"; lf: "fl.lf"; lg: "fl.lg"; lh: "fl.lh"; li: "fl.li"; lj: "fl.lj"; lk: "fl.lk"; ll: "fl.ll"; lm: "fl.lm"; ln: "fl.ln"; lo: "fl.lo"; lp: "fl.lp"; lq: "fl.lq"; lr: "fl.lr"; ls: "fl.ls"; lt: "fl.lt"; lu: "fl.lu"; lv: "fl.lv"; lw: "fl.lw"; lx: "fl.lx"; ly: "fl.ly"; lz: "fl.lz"; ma: "fl.ma"; mb: "fl.mb"; mc: "fl.mc"; md: "fl.md"; me: "fl.me"; mf: "fl.mf"; mg: "fl.mg"; mh: "fl.mh"; mi: "fl.mi"; mj: "fl.mj"; mk: "fl.mk"; ml: "fl.ml"; mm: "fl.mm"; mn: "fl.mn"; mo: "fl.mo"; mp: "fl.mp"; mq: "fl.mq"; mr: "fl.mr"; ms: "fl.ms"; mt: "fl.mt"; mu: "fl.mu"; mv: "fl.mv"; mw: "fl.mw"; mx: "fl.mx"; my: "fl.my"; mz: "fl.mz"; na: "fl.na"; nb: "fl.nb"; nc: "fl.nc"; nd: "fl.nd"; ne: "fl.ne"; nf: "fl.nf"; ng: "fl.ng"; nh: "fl.nh"; ni: "fl.ni"; nj: "fl.nj"; nk: "fl.nk"; nl: "fl.nl"; nm: "fl.nm"; nn: "fl.nn"; no: "fl.no"; np: "fl.np"; nq: "fl.nq"; nr: "fl.nr"; ns: "fl.ns"; nt: "fl.nt"; nu: "fl.nu"; nv: "fl.nv"; nw: "fl.nw"; nx: "fl.nx"; ny: "fl.ny"; nz: "fl.nz"; oa: "fl.oa"; ob: "fl.ob"; oc: "fl.oc"; od: "fl.od"; oe: "fl.oe"; of: "fl.of"; og: "fl.og"; oh: "fl.oh"; oi: "fl.oi"; oj: "fl.oj"; ok: "fl.ok"; ol: "fl.ol"; om: "fl.om"; on: "fl.on"; oo: "fl.oo"; op: "fl.op"; oq: "fl.oq"; or: "fl.or"; os: "fl.os"; ot: "fl.ot"; ou: "fl.ou"; ov: "fl.ov"; ow: "fl.ow"; ox: "fl.ox"; oy: "fl.oy"; oz: "fl.oz"; pa: "fl.pa"; pb: "fl.pb"; pc: "fl.pc"; pd: "fl.pd"; pe: "fl.pe"; pf: "fl.pf"; pg: "fl.pg"; ph: "fl.ph"; pi: "fl.pi"; pj: "fl.pj"; pk: "fl.pk"; pl: "fl.pl"; pm: "fl.pm"; pn: "fl.pn"; po: "fl.po"; pp: "fl.pp"; pq: "fl.pq"; pr: "fl.pr"; ps: "fl.ps"; pt: "fl.pt"; pu: "fl.pu"; pv: "fl.pv"; pw: "fl.pw"; px: "fl.px"; py: "fl.py"; pz: "fl.pz"; qa: "fl.qa"; qb: "fl.qb"; qc: "fl.qc"; qd: "fl.qd"; qe: "fl.qe"; qf: "fl.qf"; qg: "fl.qg"; qh: "fl.qh"; qi: "fl.qi"; qj: "fl.qj"; qk: "fl.qk"; ql: "fl.ql"; qm: "fl.qm"; qn: "fl.qn"; qo: "fl.qo"; qp: "fl.qp"; qq: "fl.qq"; qr: "fl.qr"; qs: "fl.qs"; qt: "fl.qt"; qu: "fl.qu"; qv: "fl.qv"; qw: "fl.qw"; qx: "fl.qx"; qy: "fl.qy"; qz: "fl.qz"; ra: "fl.ra"; rb: "fl.rb"; rc: "fl.rc"; rd: "fl.rd"; re: "fl.re"; rf: "fl.rf"; rg: "fl.rg"; rh: "fl.rh"; ri: "fl.ri"; rj: "fl.rj"; rk: "fl.rk"; rl: "fl.rl"; rm: "fl.rm"; rn: "fl.rn"; ro: "fl.ro"; rp: "fl.rp"; rq: "fl.rq"; rr: "fl.rr"; rs: "fl.rs"; rt: "fl.rt"; ru: "fl.ru"; rv: "fl.rv"; rw: "fl.rw"; rx: "fl.rx"; ry: "fl.ry"; rz: "fl.rz"; sa: "fl.sa"; sb: "fl.sb"; sc: "fl.sc"; sd: "fl.sd"; se: "fl.se"; sf: "fl.sf"; sg: "fl.sg"; sh: "fl.sh"; si: "fl.si"; sj: "fl.sj"; sk: "fl.sk"; sl: "fl.sl"; sm: "fl.sm"; sn: "fl.sn"; so: "fl.so"; sp: "fl.sp"; sq: "fl.sq"; sr: "fl.sr"; ss: "fl.ss"; st: "fl.st"; su: "fl.su"; sv: "fl.sv"; sw: "fl.sw"; sx: "fl.sx"; sy: "fl.sy"; sz: "fl.sz"; ta: "fl.ta"; tb: "fl.tb"; tc: "fl.tc"; td: "fl.td"; te: "fl.te"; tf: "fl.tf"; tg: "fl.tg"; th: "fl.th"; ti: "fl.ti"; tj: "fl.tj"; tk: "fl.tk"; tl: "fl.tl"; tm: "fl.tm"; tn: "fl.tn"; to: "fl.to"; tp: "fl.tp"; tq: "fl.tq"; tr: "fl.tr"; ts: "fl.ts"; tt: "fl.tt"; tu: "fl.tu"; tv: "fl.tv"; tw: "fl.tw"; tx: "fl.tx"; ty: "fl.ty"; tz: "fl.tz"; ua: "fl.ua"; ub: "fl.ub"; uc: "fl.uc"; ud: "fl.ud"; ue: "fl.ue"; uf: "fl.uf"; ug: "fl.ug"; uh: "fl.uh"; ui: "fl.ui"; uj: "fl.uj"; uk: "fl.uk"; ul: "fl.ul"; um: "fl.um"; un: "fl.un"; uo: "fl.uo"; up: "fl.up"; uq: "fl.uq"; ur: "fl.ur"; us: "fl.us"; ut: "fl.ut"; uu: "fl.uu"; uv: "fl.uv"; uw: "fl.uw"; ux: "fl.ux"; uy: "fl.uy"; uz: "fl.uz"; va: "fl.va"; vb: "fl.vb"; vc: "fl.vc"; vd: "fl.vd"; ve: "fl.ve"; vf: "fl.vf"; vg: "fl.vg"; vh: "fl.vh"; vi: "fl.vi"; vj: "fl.vj"; vk: "fl.vk"; vl: "fl.vl"; vm: "fl.vm"; vn: "fl.vn"; vo: "fl.vo"; vp: "fl.vp"; vq: "fl.vq"; vr: "fl.vr"; vs: "fl.vs"; vt: "fl.vt"; vu: "fl.vu"; vv: "fl.vv"; vw: "fl.vw"; vx: "fl.vx"; vy: "fl.vy"; vz: "fl.vz"; wa: "fl.wa"; wb: "fl.wb"; wc: "fl.wc"; wd: "fl.wd"; we: "fl.we"; wf: "fl.wf"; wg: "fl.wg"; wh: "fl.wh"; wi: "fl.wi"; wj: "fl.wj"; wk: "fl.wk"; wl: "fl.wl"; wm: "fl.wm"; wn: "fl.wn"; wo: "fl.wo"; wp: "fl.wp"; wq: "fl.wq"; wr: "fl.wr"; ws: "fl.ws"; wt: "fl.wt"; wu: "fl.wu"; wv: "fl.wv"; ww: "fl.ww"; wx: "fl.wx"; wy: "fl.wy"; wz: "fl.wz"; xa: "fl.xa"; xb: "fl.xb"; xc: "fl.xc"; xd: "fl.xd"; xe: "fl.xe"; xf: "fl.xf"; xg: "fl.xg"; xh: "fl.xh"; xi: "fl.xi"; xj: "fl.xj"; xk: "fl.xk"; xl: "fl.xl"; xm: "fl.xm"; xn: "fl.xn"; xo: "fl.xo"; xp: "fl.xp"; xq: "fl.xq"; xr: "fl.xr"; xs: "fl.xs"; xt: "fl.xt"; xu: "fl.xu"; xv: "fl.xv"; xw: "fl.xw"; xx: "fl.xx"; xy: "fl.xy"; xz: "fl.xz"; ya: "fl.ya"; yb: "fl.yb"; yc: "fl.yc"; yd: "fl.yd"; ye: "fl.ye"; yf: "fl.yf"; yg: "fl.yg"; yh: "fl.yh"; yi: "fl.yi"; yj: "fl.yj"; yk: "fl.yk"; yl: "fl.yl"; ym: "fl.ym"; yn: "fl.yn"; yo: "fl.yo"; yp: "fl.yp"; yq: "fl.yq"; yr: "fl.yr"; ys: "fl.ys"; yt: "fl.yt"; yu: "fl.yu"; yv: "fl.yv"; yw: "fl.yw"; yx: "fl.yx"; yy: "fl.yy"; yz: "fl.yz"; za: "fl.za"; zb: "fl.zb"; zc: "fl.zc"; zd: "fl.zd"; ze: "fl.ze"; zf: "fl.zf"; zg: "fl.zg"; zh: "fl.zh"; zi: "fl.zi"; zj: "fl.zj"; zk: "fl.zk"; zl: "fl.zl"; zm: "fl.zm"; zn: "fl.zn"; zo: "fl.zo"; zp: "fl.zp"; zq: "fl.zq"; zr: "fl.zr"; zs: "fl.zs"; zt: "fl.zt"; zu: "fl.zu"; zv: "fl.zv"; zw: "fl.zw"; zx: "fl.zx"; zy: "fl.zy"; zz: "fl.zz"; }; fm: { aa: "fm.aa"; ab: "fm.ab"; ac: "fm.ac"; ad: "fm.ad"; ae: "fm.ae"; af: "fm.af"; ag: "fm.ag"; ah: "fm.ah"; ai: "fm.ai"; aj: "fm.aj"; ak: "fm.ak"; al: "fm.al"; am: "fm.am"; an: "fm.an"; ao: "fm.ao"; ap: "fm.ap"; aq: "fm.aq"; ar: "fm.ar"; as: "fm.as"; at: "fm.at"; au: "fm.au"; av: "fm.av"; aw: "fm.aw"; ax: "fm.ax"; ay: "fm.ay"; az: "fm.az"; ba: "fm.ba"; bb: "fm.bb"; bc: "fm.bc"; bd: "fm.bd"; be: "fm.be"; bf: "fm.bf"; bg: "fm.bg"; bh: "fm.bh"; bi: "fm.bi"; bj: "fm.bj"; bk: "fm.bk"; bl: "fm.bl"; bm: "fm.bm"; bn: "fm.bn"; bo: "fm.bo"; bp: "fm.bp"; bq: "fm.bq"; br: "fm.br"; bs: "fm.bs"; bt: "fm.bt"; bu: "fm.bu"; bv: "fm.bv"; bw: "fm.bw"; bx: "fm.bx"; by: "fm.by"; bz: "fm.bz"; ca: "fm.ca"; cb: "fm.cb"; cc: "fm.cc"; cd: "fm.cd"; ce: "fm.ce"; cf: "fm.cf"; cg: "fm.cg"; ch: "fm.ch"; ci: "fm.ci"; cj: "fm.cj"; ck: "fm.ck"; cl: "fm.cl"; cm: "fm.cm"; cn: "fm.cn"; co: "fm.co"; cp: "fm.cp"; cq: "fm.cq"; cr: "fm.cr"; cs: "fm.cs"; ct: "fm.ct"; cu: "fm.cu"; cv: "fm.cv"; cw: "fm.cw"; cx: "fm.cx"; cy: "fm.cy"; cz: "fm.cz"; da: "fm.da"; db: "fm.db"; dc: "fm.dc"; dd: "fm.dd"; de: "fm.de"; df: "fm.df"; dg: "fm.dg"; dh: "fm.dh"; di: "fm.di"; dj: "fm.dj"; dk: "fm.dk"; dl: "fm.dl"; dm: "fm.dm"; dn: "fm.dn"; do: "fm.do"; dp: "fm.dp"; dq: "fm.dq"; dr: "fm.dr"; ds: "fm.ds"; dt: "fm.dt"; du: "fm.du"; dv: "fm.dv"; dw: "fm.dw"; dx: "fm.dx"; dy: "fm.dy"; dz: "fm.dz"; ea: "fm.ea"; eb: "fm.eb"; ec: "fm.ec"; ed: "fm.ed"; ee: "fm.ee"; ef: "fm.ef"; eg: "fm.eg"; eh: "fm.eh"; ei: "fm.ei"; ej: "fm.ej"; ek: "fm.ek"; el: "fm.el"; em: "fm.em"; en: "fm.en"; eo: "fm.eo"; ep: "fm.ep"; eq: "fm.eq"; er: "fm.er"; es: "fm.es"; et: "fm.et"; eu: "fm.eu"; ev: "fm.ev"; ew: "fm.ew"; ex: "fm.ex"; ey: "fm.ey"; ez: "fm.ez"; fa: "fm.fa"; fb: "fm.fb"; fc: "fm.fc"; fd: "fm.fd"; fe: "fm.fe"; ff: "fm.ff"; fg: "fm.fg"; fh: "fm.fh"; fi: "fm.fi"; fj: "fm.fj"; fk: "fm.fk"; fl: "fm.fl"; fm: "fm.fm"; fn: "fm.fn"; fo: "fm.fo"; fp: "fm.fp"; fq: "fm.fq"; fr: "fm.fr"; fs: "fm.fs"; ft: "fm.ft"; fu: "fm.fu"; fv: "fm.fv"; fw: "fm.fw"; fx: "fm.fx"; fy: "fm.fy"; fz: "fm.fz"; ga: "fm.ga"; gb: "fm.gb"; gc: "fm.gc"; gd: "fm.gd"; ge: "fm.ge"; gf: "fm.gf"; gg: "fm.gg"; gh: "fm.gh"; gi: "fm.gi"; gj: "fm.gj"; gk: "fm.gk"; gl: "fm.gl"; gm: "fm.gm"; gn: "fm.gn"; go: "fm.go"; gp: "fm.gp"; gq: "fm.gq"; gr: "fm.gr"; gs: "fm.gs"; gt: "fm.gt"; gu: "fm.gu"; gv: "fm.gv"; gw: "fm.gw"; gx: "fm.gx"; gy: "fm.gy"; gz: "fm.gz"; ha: "fm.ha"; hb: "fm.hb"; hc: "fm.hc"; hd: "fm.hd"; he: "fm.he"; hf: "fm.hf"; hg: "fm.hg"; hh: "fm.hh"; hi: "fm.hi"; hj: "fm.hj"; hk: "fm.hk"; hl: "fm.hl"; hm: "fm.hm"; hn: "fm.hn"; ho: "fm.ho"; hp: "fm.hp"; hq: "fm.hq"; hr: "fm.hr"; hs: "fm.hs"; ht: "fm.ht"; hu: "fm.hu"; hv: "fm.hv"; hw: "fm.hw"; hx: "fm.hx"; hy: "fm.hy"; hz: "fm.hz"; ia: "fm.ia"; ib: "fm.ib"; ic: "fm.ic"; id: "fm.id"; ie: "fm.ie"; if: "fm.if"; ig: "fm.ig"; ih: "fm.ih"; ii: "fm.ii"; ij: "fm.ij"; ik: "fm.ik"; il: "fm.il"; im: "fm.im"; in: "fm.in"; io: "fm.io"; ip: "fm.ip"; iq: "fm.iq"; ir: "fm.ir"; is: "fm.is"; it: "fm.it"; iu: "fm.iu"; iv: "fm.iv"; iw: "fm.iw"; ix: "fm.ix"; iy: "fm.iy"; iz: "fm.iz"; ja: "fm.ja"; jb: "fm.jb"; jc: "fm.jc"; jd: "fm.jd"; je: "fm.je"; jf: "fm.jf"; jg: "fm.jg"; jh: "fm.jh"; ji: "fm.ji"; jj: "fm.jj"; jk: "fm.jk"; jl: "fm.jl"; jm: "fm.jm"; jn: "fm.jn"; jo: "fm.jo"; jp: "fm.jp"; jq: "fm.jq"; jr: "fm.jr"; js: "fm.js"; jt: "fm.jt"; ju: "fm.ju"; jv: "fm.jv"; jw: "fm.jw"; jx: "fm.jx"; jy: "fm.jy"; jz: "fm.jz"; ka: "fm.ka"; kb: "fm.kb"; kc: "fm.kc"; kd: "fm.kd"; ke: "fm.ke"; kf: "fm.kf"; kg: "fm.kg"; kh: "fm.kh"; ki: "fm.ki"; kj: "fm.kj"; kk: "fm.kk"; kl: "fm.kl"; km: "fm.km"; kn: "fm.kn"; ko: "fm.ko"; kp: "fm.kp"; kq: "fm.kq"; kr: "fm.kr"; ks: "fm.ks"; kt: "fm.kt"; ku: "fm.ku"; kv: "fm.kv"; kw: "fm.kw"; kx: "fm.kx"; ky: "fm.ky"; kz: "fm.kz"; la: "fm.la"; lb: "fm.lb"; lc: "fm.lc"; ld: "fm.ld"; le: "fm.le"; lf: "fm.lf"; lg: "fm.lg"; lh: "fm.lh"; li: "fm.li"; lj: "fm.lj"; lk: "fm.lk"; ll: "fm.ll"; lm: "fm.lm"; ln: "fm.ln"; lo: "fm.lo"; lp: "fm.lp"; lq: "fm.lq"; lr: "fm.lr"; ls: "fm.ls"; lt: "fm.lt"; lu: "fm.lu"; lv: "fm.lv"; lw: "fm.lw"; lx: "fm.lx"; ly: "fm.ly"; lz: "fm.lz"; ma: "fm.ma"; mb: "fm.mb"; mc: "fm.mc"; md: "fm.md"; me: "fm.me"; mf: "fm.mf"; mg: "fm.mg"; mh: "fm.mh"; mi: "fm.mi"; mj: "fm.mj"; mk: "fm.mk"; ml: "fm.ml"; mm: "fm.mm"; mn: "fm.mn"; mo: "fm.mo"; mp: "fm.mp"; mq: "fm.mq"; mr: "fm.mr"; ms: "fm.ms"; mt: "fm.mt"; mu: "fm.mu"; mv: "fm.mv"; mw: "fm.mw"; mx: "fm.mx"; my: "fm.my"; mz: "fm.mz"; na: "fm.na"; nb: "fm.nb"; nc: "fm.nc"; nd: "fm.nd"; ne: "fm.ne"; nf: "fm.nf"; ng: "fm.ng"; nh: "fm.nh"; ni: "fm.ni"; nj: "fm.nj"; nk: "fm.nk"; nl: "fm.nl"; nm: "fm.nm"; nn: "fm.nn"; no: "fm.no"; np: "fm.np"; nq: "fm.nq"; nr: "fm.nr"; ns: "fm.ns"; nt: "fm.nt"; nu: "fm.nu"; nv: "fm.nv"; nw: "fm.nw"; nx: "fm.nx"; ny: "fm.ny"; nz: "fm.nz"; oa: "fm.oa"; ob: "fm.ob"; oc: "fm.oc"; od: "fm.od"; oe: "fm.oe"; of: "fm.of"; og: "fm.og"; oh: "fm.oh"; oi: "fm.oi"; oj: "fm.oj"; ok: "fm.ok"; ol: "fm.ol"; om: "fm.om"; on: "fm.on"; oo: "fm.oo"; op: "fm.op"; oq: "fm.oq"; or: "fm.or"; os: "fm.os"; ot: "fm.ot"; ou: "fm.ou"; ov: "fm.ov"; ow: "fm.ow"; ox: "fm.ox"; oy: "fm.oy"; oz: "fm.oz"; pa: "fm.pa"; pb: "fm.pb"; pc: "fm.pc"; pd: "fm.pd"; pe: "fm.pe"; pf: "fm.pf"; pg: "fm.pg"; ph: "fm.ph"; pi: "fm.pi"; pj: "fm.pj"; pk: "fm.pk"; pl: "fm.pl"; pm: "fm.pm"; pn: "fm.pn"; po: "fm.po"; pp: "fm.pp"; pq: "fm.pq"; pr: "fm.pr"; ps: "fm.ps"; pt: "fm.pt"; pu: "fm.pu"; pv: "fm.pv"; pw: "fm.pw"; px: "fm.px"; py: "fm.py"; pz: "fm.pz"; qa: "fm.qa"; qb: "fm.qb"; qc: "fm.qc"; qd: "fm.qd"; qe: "fm.qe"; qf: "fm.qf"; qg: "fm.qg"; qh: "fm.qh"; qi: "fm.qi"; qj: "fm.qj"; qk: "fm.qk"; ql: "fm.ql"; qm: "fm.qm"; qn: "fm.qn"; qo: "fm.qo"; qp: "fm.qp"; qq: "fm.qq"; qr: "fm.qr"; qs: "fm.qs"; qt: "fm.qt"; qu: "fm.qu"; qv: "fm.qv"; qw: "fm.qw"; qx: "fm.qx"; qy: "fm.qy"; qz: "fm.qz"; ra: "fm.ra"; rb: "fm.rb"; rc: "fm.rc"; rd: "fm.rd"; re: "fm.re"; rf: "fm.rf"; rg: "fm.rg"; rh: "fm.rh"; ri: "fm.ri"; rj: "fm.rj"; rk: "fm.rk"; rl: "fm.rl"; rm: "fm.rm"; rn: "fm.rn"; ro: "fm.ro"; rp: "fm.rp"; rq: "fm.rq"; rr: "fm.rr"; rs: "fm.rs"; rt: "fm.rt"; ru: "fm.ru"; rv: "fm.rv"; rw: "fm.rw"; rx: "fm.rx"; ry: "fm.ry"; rz: "fm.rz"; sa: "fm.sa"; sb: "fm.sb"; sc: "fm.sc"; sd: "fm.sd"; se: "fm.se"; sf: "fm.sf"; sg: "fm.sg"; sh: "fm.sh"; si: "fm.si"; sj: "fm.sj"; sk: "fm.sk"; sl: "fm.sl"; sm: "fm.sm"; sn: "fm.sn"; so: "fm.so"; sp: "fm.sp"; sq: "fm.sq"; sr: "fm.sr"; ss: "fm.ss"; st: "fm.st"; su: "fm.su"; sv: "fm.sv"; sw: "fm.sw"; sx: "fm.sx"; sy: "fm.sy"; sz: "fm.sz"; ta: "fm.ta"; tb: "fm.tb"; tc: "fm.tc"; td: "fm.td"; te: "fm.te"; tf: "fm.tf"; tg: "fm.tg"; th: "fm.th"; ti: "fm.ti"; tj: "fm.tj"; tk: "fm.tk"; tl: "fm.tl"; tm: "fm.tm"; tn: "fm.tn"; to: "fm.to"; tp: "fm.tp"; tq: "fm.tq"; tr: "fm.tr"; ts: "fm.ts"; tt: "fm.tt"; tu: "fm.tu"; tv: "fm.tv"; tw: "fm.tw"; tx: "fm.tx"; ty: "fm.ty"; tz: "fm.tz"; ua: "fm.ua"; ub: "fm.ub"; uc: "fm.uc"; ud: "fm.ud"; ue: "fm.ue"; uf: "fm.uf"; ug: "fm.ug"; uh: "fm.uh"; ui: "fm.ui"; uj: "fm.uj"; uk: "fm.uk"; ul: "fm.ul"; um: "fm.um"; un: "fm.un"; uo: "fm.uo"; up: "fm.up"; uq: "fm.uq"; ur: "fm.ur"; us: "fm.us"; ut: "fm.ut"; uu: "fm.uu"; uv: "fm.uv"; uw: "fm.uw"; ux: "fm.ux"; uy: "fm.uy"; uz: "fm.uz"; va: "fm.va"; vb: "fm.vb"; vc: "fm.vc"; vd: "fm.vd"; ve: "fm.ve"; vf: "fm.vf"; vg: "fm.vg"; vh: "fm.vh"; vi: "fm.vi"; vj: "fm.vj"; vk: "fm.vk"; vl: "fm.vl"; vm: "fm.vm"; vn: "fm.vn"; vo: "fm.vo"; vp: "fm.vp"; vq: "fm.vq"; vr: "fm.vr"; vs: "fm.vs"; vt: "fm.vt"; vu: "fm.vu"; vv: "fm.vv"; vw: "fm.vw"; vx: "fm.vx"; vy: "fm.vy"; vz: "fm.vz"; wa: "fm.wa"; wb: "fm.wb"; wc: "fm.wc"; wd: "fm.wd"; we: "fm.we"; wf: "fm.wf"; wg: "fm.wg"; wh: "fm.wh"; wi: "fm.wi"; wj: "fm.wj"; wk: "fm.wk"; wl: "fm.wl"; wm: "fm.wm"; wn: "fm.wn"; wo: "fm.wo"; wp: "fm.wp"; wq: "fm.wq"; wr: "fm.wr"; ws: "fm.ws"; wt: "fm.wt"; wu: "fm.wu"; wv: "fm.wv"; ww: "fm.ww"; wx: "fm.wx"; wy: "fm.wy"; wz: "fm.wz"; xa: "fm.xa"; xb: "fm.xb"; xc: "fm.xc"; xd: "fm.xd"; xe: "fm.xe"; xf: "fm.xf"; xg: "fm.xg"; xh: "fm.xh"; xi: "fm.xi"; xj: "fm.xj"; xk: "fm.xk"; xl: "fm.xl"; xm: "fm.xm"; xn: "fm.xn"; xo: "fm.xo"; xp: "fm.xp"; xq: "fm.xq"; xr: "fm.xr"; xs: "fm.xs"; xt: "fm.xt"; xu: "fm.xu"; xv: "fm.xv"; xw: "fm.xw"; xx: "fm.xx"; xy: "fm.xy"; xz: "fm.xz"; ya: "fm.ya"; yb: "fm.yb"; yc: "fm.yc"; yd: "fm.yd"; ye: "fm.ye"; yf: "fm.yf"; yg: "fm.yg"; yh: "fm.yh"; yi: "fm.yi"; yj: "fm.yj"; yk: "fm.yk"; yl: "fm.yl"; ym: "fm.ym"; yn: "fm.yn"; yo: "fm.yo"; yp: "fm.yp"; yq: "fm.yq"; yr: "fm.yr"; ys: "fm.ys"; yt: "fm.yt"; yu: "fm.yu"; yv: "fm.yv"; yw: "fm.yw"; yx: "fm.yx"; yy: "fm.yy"; yz: "fm.yz"; za: "fm.za"; zb: "fm.zb"; zc: "fm.zc"; zd: "fm.zd"; ze: "fm.ze"; zf: "fm.zf"; zg: "fm.zg"; zh: "fm.zh"; zi: "fm.zi"; zj: "fm.zj"; zk: "fm.zk"; zl: "fm.zl"; zm: "fm.zm"; zn: "fm.zn"; zo: "fm.zo"; zp: "fm.zp"; zq: "fm.zq"; zr: "fm.zr"; zs: "fm.zs"; zt: "fm.zt"; zu: "fm.zu"; zv: "fm.zv"; zw: "fm.zw"; zx: "fm.zx"; zy: "fm.zy"; zz: "fm.zz"; }; fn: { aa: "fn.aa"; ab: "fn.ab"; ac: "fn.ac"; ad: "fn.ad"; ae: "fn.ae"; af: "fn.af"; ag: "fn.ag"; ah: "fn.ah"; ai: "fn.ai"; aj: "fn.aj"; ak: "fn.ak"; al: "fn.al"; am: "fn.am"; an: "fn.an"; ao: "fn.ao"; ap: "fn.ap"; aq: "fn.aq"; ar: "fn.ar"; as: "fn.as"; at: "fn.at"; au: "fn.au"; av: "fn.av"; aw: "fn.aw"; ax: "fn.ax"; ay: "fn.ay"; az: "fn.az"; ba: "fn.ba"; bb: "fn.bb"; bc: "fn.bc"; bd: "fn.bd"; be: "fn.be"; bf: "fn.bf"; bg: "fn.bg"; bh: "fn.bh"; bi: "fn.bi"; bj: "fn.bj"; bk: "fn.bk"; bl: "fn.bl"; bm: "fn.bm"; bn: "fn.bn"; bo: "fn.bo"; bp: "fn.bp"; bq: "fn.bq"; br: "fn.br"; bs: "fn.bs"; bt: "fn.bt"; bu: "fn.bu"; bv: "fn.bv"; bw: "fn.bw"; bx: "fn.bx"; by: "fn.by"; bz: "fn.bz"; ca: "fn.ca"; cb: "fn.cb"; cc: "fn.cc"; cd: "fn.cd"; ce: "fn.ce"; cf: "fn.cf"; cg: "fn.cg"; ch: "fn.ch"; ci: "fn.ci"; cj: "fn.cj"; ck: "fn.ck"; cl: "fn.cl"; cm: "fn.cm"; cn: "fn.cn"; co: "fn.co"; cp: "fn.cp"; cq: "fn.cq"; cr: "fn.cr"; cs: "fn.cs"; ct: "fn.ct"; cu: "fn.cu"; cv: "fn.cv"; cw: "fn.cw"; cx: "fn.cx"; cy: "fn.cy"; cz: "fn.cz"; da: "fn.da"; db: "fn.db"; dc: "fn.dc"; dd: "fn.dd"; de: "fn.de"; df: "fn.df"; dg: "fn.dg"; dh: "fn.dh"; di: "fn.di"; dj: "fn.dj"; dk: "fn.dk"; dl: "fn.dl"; dm: "fn.dm"; dn: "fn.dn"; do: "fn.do"; dp: "fn.dp"; dq: "fn.dq"; dr: "fn.dr"; ds: "fn.ds"; dt: "fn.dt"; du: "fn.du"; dv: "fn.dv"; dw: "fn.dw"; dx: "fn.dx"; dy: "fn.dy"; dz: "fn.dz"; ea: "fn.ea"; eb: "fn.eb"; ec: "fn.ec"; ed: "fn.ed"; ee: "fn.ee"; ef: "fn.ef"; eg: "fn.eg"; eh: "fn.eh"; ei: "fn.ei"; ej: "fn.ej"; ek: "fn.ek"; el: "fn.el"; em: "fn.em"; en: "fn.en"; eo: "fn.eo"; ep: "fn.ep"; eq: "fn.eq"; er: "fn.er"; es: "fn.es"; et: "fn.et"; eu: "fn.eu"; ev: "fn.ev"; ew: "fn.ew"; ex: "fn.ex"; ey: "fn.ey"; ez: "fn.ez"; fa: "fn.fa"; fb: "fn.fb"; fc: "fn.fc"; fd: "fn.fd"; fe: "fn.fe"; ff: "fn.ff"; fg: "fn.fg"; fh: "fn.fh"; fi: "fn.fi"; fj: "fn.fj"; fk: "fn.fk"; fl: "fn.fl"; fm: "fn.fm"; fn: "fn.fn"; fo: "fn.fo"; fp: "fn.fp"; fq: "fn.fq"; fr: "fn.fr"; fs: "fn.fs"; ft: "fn.ft"; fu: "fn.fu"; fv: "fn.fv"; fw: "fn.fw"; fx: "fn.fx"; fy: "fn.fy"; fz: "fn.fz"; ga: "fn.ga"; gb: "fn.gb"; gc: "fn.gc"; gd: "fn.gd"; ge: "fn.ge"; gf: "fn.gf"; gg: "fn.gg"; gh: "fn.gh"; gi: "fn.gi"; gj: "fn.gj"; gk: "fn.gk"; gl: "fn.gl"; gm: "fn.gm"; gn: "fn.gn"; go: "fn.go"; gp: "fn.gp"; gq: "fn.gq"; gr: "fn.gr"; gs: "fn.gs"; gt: "fn.gt"; gu: "fn.gu"; gv: "fn.gv"; gw: "fn.gw"; gx: "fn.gx"; gy: "fn.gy"; gz: "fn.gz"; ha: "fn.ha"; hb: "fn.hb"; hc: "fn.hc"; hd: "fn.hd"; he: "fn.he"; hf: "fn.hf"; hg: "fn.hg"; hh: "fn.hh"; hi: "fn.hi"; hj: "fn.hj"; hk: "fn.hk"; hl: "fn.hl"; hm: "fn.hm"; hn: "fn.hn"; ho: "fn.ho"; hp: "fn.hp"; hq: "fn.hq"; hr: "fn.hr"; hs: "fn.hs"; ht: "fn.ht"; hu: "fn.hu"; hv: "fn.hv"; hw: "fn.hw"; hx: "fn.hx"; hy: "fn.hy"; hz: "fn.hz"; ia: "fn.ia"; ib: "fn.ib"; ic: "fn.ic"; id: "fn.id"; ie: "fn.ie"; if: "fn.if"; ig: "fn.ig"; ih: "fn.ih"; ii: "fn.ii"; ij: "fn.ij"; ik: "fn.ik"; il: "fn.il"; im: "fn.im"; in: "fn.in"; io: "fn.io"; ip: "fn.ip"; iq: "fn.iq"; ir: "fn.ir"; is: "fn.is"; it: "fn.it"; iu: "fn.iu"; iv: "fn.iv"; iw: "fn.iw"; ix: "fn.ix"; iy: "fn.iy"; iz: "fn.iz"; ja: "fn.ja"; jb: "fn.jb"; jc: "fn.jc"; jd: "fn.jd"; je: "fn.je"; jf: "fn.jf"; jg: "fn.jg"; jh: "fn.jh"; ji: "fn.ji"; jj: "fn.jj"; jk: "fn.jk"; jl: "fn.jl"; jm: "fn.jm"; jn: "fn.jn"; jo: "fn.jo"; jp: "fn.jp"; jq: "fn.jq"; jr: "fn.jr"; js: "fn.js"; jt: "fn.jt"; ju: "fn.ju"; jv: "fn.jv"; jw: "fn.jw"; jx: "fn.jx"; jy: "fn.jy"; jz: "fn.jz"; ka: "fn.ka"; kb: "fn.kb"; kc: "fn.kc"; kd: "fn.kd"; ke: "fn.ke"; kf: "fn.kf"; kg: "fn.kg"; kh: "fn.kh"; ki: "fn.ki"; kj: "fn.kj"; kk: "fn.kk"; kl: "fn.kl"; km: "fn.km"; kn: "fn.kn"; ko: "fn.ko"; kp: "fn.kp"; kq: "fn.kq"; kr: "fn.kr"; ks: "fn.ks"; kt: "fn.kt"; ku: "fn.ku"; kv: "fn.kv"; kw: "fn.kw"; kx: "fn.kx"; ky: "fn.ky"; kz: "fn.kz"; la: "fn.la"; lb: "fn.lb"; lc: "fn.lc"; ld: "fn.ld"; le: "fn.le"; lf: "fn.lf"; lg: "fn.lg"; lh: "fn.lh"; li: "fn.li"; lj: "fn.lj"; lk: "fn.lk"; ll: "fn.ll"; lm: "fn.lm"; ln: "fn.ln"; lo: "fn.lo"; lp: "fn.lp"; lq: "fn.lq"; lr: "fn.lr"; ls: "fn.ls"; lt: "fn.lt"; lu: "fn.lu"; lv: "fn.lv"; lw: "fn.lw"; lx: "fn.lx"; ly: "fn.ly"; lz: "fn.lz"; ma: "fn.ma"; mb: "fn.mb"; mc: "fn.mc"; md: "fn.md"; me: "fn.me"; mf: "fn.mf"; mg: "fn.mg"; mh: "fn.mh"; mi: "fn.mi"; mj: "fn.mj"; mk: "fn.mk"; ml: "fn.ml"; mm: "fn.mm"; mn: "fn.mn"; mo: "fn.mo"; mp: "fn.mp"; mq: "fn.mq"; mr: "fn.mr"; ms: "fn.ms"; mt: "fn.mt"; mu: "fn.mu"; mv: "fn.mv"; mw: "fn.mw"; mx: "fn.mx"; my: "fn.my"; mz: "fn.mz"; na: "fn.na"; nb: "fn.nb"; nc: "fn.nc"; nd: "fn.nd"; ne: "fn.ne"; nf: "fn.nf"; ng: "fn.ng"; nh: "fn.nh"; ni: "fn.ni"; nj: "fn.nj"; nk: "fn.nk"; nl: "fn.nl"; nm: "fn.nm"; nn: "fn.nn"; no: "fn.no"; np: "fn.np"; nq: "fn.nq"; nr: "fn.nr"; ns: "fn.ns"; nt: "fn.nt"; nu: "fn.nu"; nv: "fn.nv"; nw: "fn.nw"; nx: "fn.nx"; ny: "fn.ny"; nz: "fn.nz"; oa: "fn.oa"; ob: "fn.ob"; oc: "fn.oc"; od: "fn.od"; oe: "fn.oe"; of: "fn.of"; og: "fn.og"; oh: "fn.oh"; oi: "fn.oi"; oj: "fn.oj"; ok: "fn.ok"; ol: "fn.ol"; om: "fn.om"; on: "fn.on"; oo: "fn.oo"; op: "fn.op"; oq: "fn.oq"; or: "fn.or"; os: "fn.os"; ot: "fn.ot"; ou: "fn.ou"; ov: "fn.ov"; ow: "fn.ow"; ox: "fn.ox"; oy: "fn.oy"; oz: "fn.oz"; pa: "fn.pa"; pb: "fn.pb"; pc: "fn.pc"; pd: "fn.pd"; pe: "fn.pe"; pf: "fn.pf"; pg: "fn.pg"; ph: "fn.ph"; pi: "fn.pi"; pj: "fn.pj"; pk: "fn.pk"; pl: "fn.pl"; pm: "fn.pm"; pn: "fn.pn"; po: "fn.po"; pp: "fn.pp"; pq: "fn.pq"; pr: "fn.pr"; ps: "fn.ps"; pt: "fn.pt"; pu: "fn.pu"; pv: "fn.pv"; pw: "fn.pw"; px: "fn.px"; py: "fn.py"; pz: "fn.pz"; qa: "fn.qa"; qb: "fn.qb"; qc: "fn.qc"; qd: "fn.qd"; qe: "fn.qe"; qf: "fn.qf"; qg: "fn.qg"; qh: "fn.qh"; qi: "fn.qi"; qj: "fn.qj"; qk: "fn.qk"; ql: "fn.ql"; qm: "fn.qm"; qn: "fn.qn"; qo: "fn.qo"; qp: "fn.qp"; qq: "fn.qq"; qr: "fn.qr"; qs: "fn.qs"; qt: "fn.qt"; qu: "fn.qu"; qv: "fn.qv"; qw: "fn.qw"; qx: "fn.qx"; qy: "fn.qy"; qz: "fn.qz"; ra: "fn.ra"; rb: "fn.rb"; rc: "fn.rc"; rd: "fn.rd"; re: "fn.re"; rf: "fn.rf"; rg: "fn.rg"; rh: "fn.rh"; ri: "fn.ri"; rj: "fn.rj"; rk: "fn.rk"; rl: "fn.rl"; rm: "fn.rm"; rn: "fn.rn"; ro: "fn.ro"; rp: "fn.rp"; rq: "fn.rq"; rr: "fn.rr"; rs: "fn.rs"; rt: "fn.rt"; ru: "fn.ru"; rv: "fn.rv"; rw: "fn.rw"; rx: "fn.rx"; ry: "fn.ry"; rz: "fn.rz"; sa: "fn.sa"; sb: "fn.sb"; sc: "fn.sc"; sd: "fn.sd"; se: "fn.se"; sf: "fn.sf"; sg: "fn.sg"; sh: "fn.sh"; si: "fn.si"; sj: "fn.sj"; sk: "fn.sk"; sl: "fn.sl"; sm: "fn.sm"; sn: "fn.sn"; so: "fn.so"; sp: "fn.sp"; sq: "fn.sq"; sr: "fn.sr"; ss: "fn.ss"; st: "fn.st"; su: "fn.su"; sv: "fn.sv"; sw: "fn.sw"; sx: "fn.sx"; sy: "fn.sy"; sz: "fn.sz"; ta: "fn.ta"; tb: "fn.tb"; tc: "fn.tc"; td: "fn.td"; te: "fn.te"; tf: "fn.tf"; tg: "fn.tg"; th: "fn.th"; ti: "fn.ti"; tj: "fn.tj"; tk: "fn.tk"; tl: "fn.tl"; tm: "fn.tm"; tn: "fn.tn"; to: "fn.to"; tp: "fn.tp"; tq: "fn.tq"; tr: "fn.tr"; ts: "fn.ts"; tt: "fn.tt"; tu: "fn.tu"; tv: "fn.tv"; tw: "fn.tw"; tx: "fn.tx"; ty: "fn.ty"; tz: "fn.tz"; ua: "fn.ua"; ub: "fn.ub"; uc: "fn.uc"; ud: "fn.ud"; ue: "fn.ue"; uf: "fn.uf"; ug: "fn.ug"; uh: "fn.uh"; ui: "fn.ui"; uj: "fn.uj"; uk: "fn.uk"; ul: "fn.ul"; um: "fn.um"; un: "fn.un"; uo: "fn.uo"; up: "fn.up"; uq: "fn.uq"; ur: "fn.ur"; us: "fn.us"; ut: "fn.ut"; uu: "fn.uu"; uv: "fn.uv"; uw: "fn.uw"; ux: "fn.ux"; uy: "fn.uy"; uz: "fn.uz"; va: "fn.va"; vb: "fn.vb"; vc: "fn.vc"; vd: "fn.vd"; ve: "fn.ve"; vf: "fn.vf"; vg: "fn.vg"; vh: "fn.vh"; vi: "fn.vi"; vj: "fn.vj"; vk: "fn.vk"; vl: "fn.vl"; vm: "fn.vm"; vn: "fn.vn"; vo: "fn.vo"; vp: "fn.vp"; vq: "fn.vq"; vr: "fn.vr"; vs: "fn.vs"; vt: "fn.vt"; vu: "fn.vu"; vv: "fn.vv"; vw: "fn.vw"; vx: "fn.vx"; vy: "fn.vy"; vz: "fn.vz"; wa: "fn.wa"; wb: "fn.wb"; wc: "fn.wc"; wd: "fn.wd"; we: "fn.we"; wf: "fn.wf"; wg: "fn.wg"; wh: "fn.wh"; wi: "fn.wi"; wj: "fn.wj"; wk: "fn.wk"; wl: "fn.wl"; wm: "fn.wm"; wn: "fn.wn"; wo: "fn.wo"; wp: "fn.wp"; wq: "fn.wq"; wr: "fn.wr"; ws: "fn.ws"; wt: "fn.wt"; wu: "fn.wu"; wv: "fn.wv"; ww: "fn.ww"; wx: "fn.wx"; wy: "fn.wy"; wz: "fn.wz"; xa: "fn.xa"; xb: "fn.xb"; xc: "fn.xc"; xd: "fn.xd"; xe: "fn.xe"; xf: "fn.xf"; xg: "fn.xg"; xh: "fn.xh"; xi: "fn.xi"; xj: "fn.xj"; xk: "fn.xk"; xl: "fn.xl"; xm: "fn.xm"; xn: "fn.xn"; xo: "fn.xo"; xp: "fn.xp"; xq: "fn.xq"; xr: "fn.xr"; xs: "fn.xs"; xt: "fn.xt"; xu: "fn.xu"; xv: "fn.xv"; xw: "fn.xw"; xx: "fn.xx"; xy: "fn.xy"; xz: "fn.xz"; ya: "fn.ya"; yb: "fn.yb"; yc: "fn.yc"; yd: "fn.yd"; ye: "fn.ye"; yf: "fn.yf"; yg: "fn.yg"; yh: "fn.yh"; yi: "fn.yi"; yj: "fn.yj"; yk: "fn.yk"; yl: "fn.yl"; ym: "fn.ym"; yn: "fn.yn"; yo: "fn.yo"; yp: "fn.yp"; yq: "fn.yq"; yr: "fn.yr"; ys: "fn.ys"; yt: "fn.yt"; yu: "fn.yu"; yv: "fn.yv"; yw: "fn.yw"; yx: "fn.yx"; yy: "fn.yy"; yz: "fn.yz"; za: "fn.za"; zb: "fn.zb"; zc: "fn.zc"; zd: "fn.zd"; ze: "fn.ze"; zf: "fn.zf"; zg: "fn.zg"; zh: "fn.zh"; zi: "fn.zi"; zj: "fn.zj"; zk: "fn.zk"; zl: "fn.zl"; zm: "fn.zm"; zn: "fn.zn"; zo: "fn.zo"; zp: "fn.zp"; zq: "fn.zq"; zr: "fn.zr"; zs: "fn.zs"; zt: "fn.zt"; zu: "fn.zu"; zv: "fn.zv"; zw: "fn.zw"; zx: "fn.zx"; zy: "fn.zy"; zz: "fn.zz"; }; fo: { aa: "fo.aa"; ab: "fo.ab"; ac: "fo.ac"; ad: "fo.ad"; ae: "fo.ae"; af: "fo.af"; ag: "fo.ag"; ah: "fo.ah"; ai: "fo.ai"; aj: "fo.aj"; ak: "fo.ak"; al: "fo.al"; am: "fo.am"; an: "fo.an"; ao: "fo.ao"; ap: "fo.ap"; aq: "fo.aq"; ar: "fo.ar"; as: "fo.as"; at: "fo.at"; au: "fo.au"; av: "fo.av"; aw: "fo.aw"; ax: "fo.ax"; ay: "fo.ay"; az: "fo.az"; ba: "fo.ba"; bb: "fo.bb"; bc: "fo.bc"; bd: "fo.bd"; be: "fo.be"; bf: "fo.bf"; bg: "fo.bg"; bh: "fo.bh"; bi: "fo.bi"; bj: "fo.bj"; bk: "fo.bk"; bl: "fo.bl"; bm: "fo.bm"; bn: "fo.bn"; bo: "fo.bo"; bp: "fo.bp"; bq: "fo.bq"; br: "fo.br"; bs: "fo.bs"; bt: "fo.bt"; bu: "fo.bu"; bv: "fo.bv"; bw: "fo.bw"; bx: "fo.bx"; by: "fo.by"; bz: "fo.bz"; ca: "fo.ca"; cb: "fo.cb"; cc: "fo.cc"; cd: "fo.cd"; ce: "fo.ce"; cf: "fo.cf"; cg: "fo.cg"; ch: "fo.ch"; ci: "fo.ci"; cj: "fo.cj"; ck: "fo.ck"; cl: "fo.cl"; cm: "fo.cm"; cn: "fo.cn"; co: "fo.co"; cp: "fo.cp"; cq: "fo.cq"; cr: "fo.cr"; cs: "fo.cs"; ct: "fo.ct"; cu: "fo.cu"; cv: "fo.cv"; cw: "fo.cw"; cx: "fo.cx"; cy: "fo.cy"; cz: "fo.cz"; da: "fo.da"; db: "fo.db"; dc: "fo.dc"; dd: "fo.dd"; de: "fo.de"; df: "fo.df"; dg: "fo.dg"; dh: "fo.dh"; di: "fo.di"; dj: "fo.dj"; dk: "fo.dk"; dl: "fo.dl"; dm: "fo.dm"; dn: "fo.dn"; do: "fo.do"; dp: "fo.dp"; dq: "fo.dq"; dr: "fo.dr"; ds: "fo.ds"; dt: "fo.dt"; du: "fo.du"; dv: "fo.dv"; dw: "fo.dw"; dx: "fo.dx"; dy: "fo.dy"; dz: "fo.dz"; ea: "fo.ea"; eb: "fo.eb"; ec: "fo.ec"; ed: "fo.ed"; ee: "fo.ee"; ef: "fo.ef"; eg: "fo.eg"; eh: "fo.eh"; ei: "fo.ei"; ej: "fo.ej"; ek: "fo.ek"; el: "fo.el"; em: "fo.em"; en: "fo.en"; eo: "fo.eo"; ep: "fo.ep"; eq: "fo.eq"; er: "fo.er"; es: "fo.es"; et: "fo.et"; eu: "fo.eu"; ev: "fo.ev"; ew: "fo.ew"; ex: "fo.ex"; ey: "fo.ey"; ez: "fo.ez"; fa: "fo.fa"; fb: "fo.fb"; fc: "fo.fc"; fd: "fo.fd"; fe: "fo.fe"; ff: "fo.ff"; fg: "fo.fg"; fh: "fo.fh"; fi: "fo.fi"; fj: "fo.fj"; fk: "fo.fk"; fl: "fo.fl"; fm: "fo.fm"; fn: "fo.fn"; fo: "fo.fo"; fp: "fo.fp"; fq: "fo.fq"; fr: "fo.fr"; fs: "fo.fs"; ft: "fo.ft"; fu: "fo.fu"; fv: "fo.fv"; fw: "fo.fw"; fx: "fo.fx"; fy: "fo.fy"; fz: "fo.fz"; ga: "fo.ga"; gb: "fo.gb"; gc: "fo.gc"; gd: "fo.gd"; ge: "fo.ge"; gf: "fo.gf"; gg: "fo.gg"; gh: "fo.gh"; gi: "fo.gi"; gj: "fo.gj"; gk: "fo.gk"; gl: "fo.gl"; gm: "fo.gm"; gn: "fo.gn"; go: "fo.go"; gp: "fo.gp"; gq: "fo.gq"; gr: "fo.gr"; gs: "fo.gs"; gt: "fo.gt"; gu: "fo.gu"; gv: "fo.gv"; gw: "fo.gw"; gx: "fo.gx"; gy: "fo.gy"; gz: "fo.gz"; ha: "fo.ha"; hb: "fo.hb"; hc: "fo.hc"; hd: "fo.hd"; he: "fo.he"; hf: "fo.hf"; hg: "fo.hg"; hh: "fo.hh"; hi: "fo.hi"; hj: "fo.hj"; hk: "fo.hk"; hl: "fo.hl"; hm: "fo.hm"; hn: "fo.hn"; ho: "fo.ho"; hp: "fo.hp"; hq: "fo.hq"; hr: "fo.hr"; hs: "fo.hs"; ht: "fo.ht"; hu: "fo.hu"; hv: "fo.hv"; hw: "fo.hw"; hx: "fo.hx"; hy: "fo.hy"; hz: "fo.hz"; ia: "fo.ia"; ib: "fo.ib"; ic: "fo.ic"; id: "fo.id"; ie: "fo.ie"; if: "fo.if"; ig: "fo.ig"; ih: "fo.ih"; ii: "fo.ii"; ij: "fo.ij"; ik: "fo.ik"; il: "fo.il"; im: "fo.im"; in: "fo.in"; io: "fo.io"; ip: "fo.ip"; iq: "fo.iq"; ir: "fo.ir"; is: "fo.is"; it: "fo.it"; iu: "fo.iu"; iv: "fo.iv"; iw: "fo.iw"; ix: "fo.ix"; iy: "fo.iy"; iz: "fo.iz"; ja: "fo.ja"; jb: "fo.jb"; jc: "fo.jc"; jd: "fo.jd"; je: "fo.je"; jf: "fo.jf"; jg: "fo.jg"; jh: "fo.jh"; ji: "fo.ji"; jj: "fo.jj"; jk: "fo.jk"; jl: "fo.jl"; jm: "fo.jm"; jn: "fo.jn"; jo: "fo.jo"; jp: "fo.jp"; jq: "fo.jq"; jr: "fo.jr"; js: "fo.js"; jt: "fo.jt"; ju: "fo.ju"; jv: "fo.jv"; jw: "fo.jw"; jx: "fo.jx"; jy: "fo.jy"; jz: "fo.jz"; ka: "fo.ka"; kb: "fo.kb"; kc: "fo.kc"; kd: "fo.kd"; ke: "fo.ke"; kf: "fo.kf"; kg: "fo.kg"; kh: "fo.kh"; ki: "fo.ki"; kj: "fo.kj"; kk: "fo.kk"; kl: "fo.kl"; km: "fo.km"; kn: "fo.kn"; ko: "fo.ko"; kp: "fo.kp"; kq: "fo.kq"; kr: "fo.kr"; ks: "fo.ks"; kt: "fo.kt"; ku: "fo.ku"; kv: "fo.kv"; kw: "fo.kw"; kx: "fo.kx"; ky: "fo.ky"; kz: "fo.kz"; la: "fo.la"; lb: "fo.lb"; lc: "fo.lc"; ld: "fo.ld"; le: "fo.le"; lf: "fo.lf"; lg: "fo.lg"; lh: "fo.lh"; li: "fo.li"; lj: "fo.lj"; lk: "fo.lk"; ll: "fo.ll"; lm: "fo.lm"; ln: "fo.ln"; lo: "fo.lo"; lp: "fo.lp"; lq: "fo.lq"; lr: "fo.lr"; ls: "fo.ls"; lt: "fo.lt"; lu: "fo.lu"; lv: "fo.lv"; lw: "fo.lw"; lx: "fo.lx"; ly: "fo.ly"; lz: "fo.lz"; ma: "fo.ma"; mb: "fo.mb"; mc: "fo.mc"; md: "fo.md"; me: "fo.me"; mf: "fo.mf"; mg: "fo.mg"; mh: "fo.mh"; mi: "fo.mi"; mj: "fo.mj"; mk: "fo.mk"; ml: "fo.ml"; mm: "fo.mm"; mn: "fo.mn"; mo: "fo.mo"; mp: "fo.mp"; mq: "fo.mq"; mr: "fo.mr"; ms: "fo.ms"; mt: "fo.mt"; mu: "fo.mu"; mv: "fo.mv"; mw: "fo.mw"; mx: "fo.mx"; my: "fo.my"; mz: "fo.mz"; na: "fo.na"; nb: "fo.nb"; nc: "fo.nc"; nd: "fo.nd"; ne: "fo.ne"; nf: "fo.nf"; ng: "fo.ng"; nh: "fo.nh"; ni: "fo.ni"; nj: "fo.nj"; nk: "fo.nk"; nl: "fo.nl"; nm: "fo.nm"; nn: "fo.nn"; no: "fo.no"; np: "fo.np"; nq: "fo.nq"; nr: "fo.nr"; ns: "fo.ns"; nt: "fo.nt"; nu: "fo.nu"; nv: "fo.nv"; nw: "fo.nw"; nx: "fo.nx"; ny: "fo.ny"; nz: "fo.nz"; oa: "fo.oa"; ob: "fo.ob"; oc: "fo.oc"; od: "fo.od"; oe: "fo.oe"; of: "fo.of"; og: "fo.og"; oh: "fo.oh"; oi: "fo.oi"; oj: "fo.oj"; ok: "fo.ok"; ol: "fo.ol"; om: "fo.om"; on: "fo.on"; oo: "fo.oo"; op: "fo.op"; oq: "fo.oq"; or: "fo.or"; os: "fo.os"; ot: "fo.ot"; ou: "fo.ou"; ov: "fo.ov"; ow: "fo.ow"; ox: "fo.ox"; oy: "fo.oy"; oz: "fo.oz"; pa: "fo.pa"; pb: "fo.pb"; pc: "fo.pc"; pd: "fo.pd"; pe: "fo.pe"; pf: "fo.pf"; pg: "fo.pg"; ph: "fo.ph"; pi: "fo.pi"; pj: "fo.pj"; pk: "fo.pk"; pl: "fo.pl"; pm: "fo.pm"; pn: "fo.pn"; po: "fo.po"; pp: "fo.pp"; pq: "fo.pq"; pr: "fo.pr"; ps: "fo.ps"; pt: "fo.pt"; pu: "fo.pu"; pv: "fo.pv"; pw: "fo.pw"; px: "fo.px"; py: "fo.py"; pz: "fo.pz"; qa: "fo.qa"; qb: "fo.qb"; qc: "fo.qc"; qd: "fo.qd"; qe: "fo.qe"; qf: "fo.qf"; qg: "fo.qg"; qh: "fo.qh"; qi: "fo.qi"; qj: "fo.qj"; qk: "fo.qk"; ql: "fo.ql"; qm: "fo.qm"; qn: "fo.qn"; qo: "fo.qo"; qp: "fo.qp"; qq: "fo.qq"; qr: "fo.qr"; qs: "fo.qs"; qt: "fo.qt"; qu: "fo.qu"; qv: "fo.qv"; qw: "fo.qw"; qx: "fo.qx"; qy: "fo.qy"; qz: "fo.qz"; ra: "fo.ra"; rb: "fo.rb"; rc: "fo.rc"; rd: "fo.rd"; re: "fo.re"; rf: "fo.rf"; rg: "fo.rg"; rh: "fo.rh"; ri: "fo.ri"; rj: "fo.rj"; rk: "fo.rk"; rl: "fo.rl"; rm: "fo.rm"; rn: "fo.rn"; ro: "fo.ro"; rp: "fo.rp"; rq: "fo.rq"; rr: "fo.rr"; rs: "fo.rs"; rt: "fo.rt"; ru: "fo.ru"; rv: "fo.rv"; rw: "fo.rw"; rx: "fo.rx"; ry: "fo.ry"; rz: "fo.rz"; sa: "fo.sa"; sb: "fo.sb"; sc: "fo.sc"; sd: "fo.sd"; se: "fo.se"; sf: "fo.sf"; sg: "fo.sg"; sh: "fo.sh"; si: "fo.si"; sj: "fo.sj"; sk: "fo.sk"; sl: "fo.sl"; sm: "fo.sm"; sn: "fo.sn"; so: "fo.so"; sp: "fo.sp"; sq: "fo.sq"; sr: "fo.sr"; ss: "fo.ss"; st: "fo.st"; su: "fo.su"; sv: "fo.sv"; sw: "fo.sw"; sx: "fo.sx"; sy: "fo.sy"; sz: "fo.sz"; ta: "fo.ta"; tb: "fo.tb"; tc: "fo.tc"; td: "fo.td"; te: "fo.te"; tf: "fo.tf"; tg: "fo.tg"; th: "fo.th"; ti: "fo.ti"; tj: "fo.tj"; tk: "fo.tk"; tl: "fo.tl"; tm: "fo.tm"; tn: "fo.tn"; to: "fo.to"; tp: "fo.tp"; tq: "fo.tq"; tr: "fo.tr"; ts: "fo.ts"; tt: "fo.tt"; tu: "fo.tu"; tv: "fo.tv"; tw: "fo.tw"; tx: "fo.tx"; ty: "fo.ty"; tz: "fo.tz"; ua: "fo.ua"; ub: "fo.ub"; uc: "fo.uc"; ud: "fo.ud"; ue: "fo.ue"; uf: "fo.uf"; ug: "fo.ug"; uh: "fo.uh"; ui: "fo.ui"; uj: "fo.uj"; uk: "fo.uk"; ul: "fo.ul"; um: "fo.um"; un: "fo.un"; uo: "fo.uo"; up: "fo.up"; uq: "fo.uq"; ur: "fo.ur"; us: "fo.us"; ut: "fo.ut"; uu: "fo.uu"; uv: "fo.uv"; uw: "fo.uw"; ux: "fo.ux"; uy: "fo.uy"; uz: "fo.uz"; va: "fo.va"; vb: "fo.vb"; vc: "fo.vc"; vd: "fo.vd"; ve: "fo.ve"; vf: "fo.vf"; vg: "fo.vg"; vh: "fo.vh"; vi: "fo.vi"; vj: "fo.vj"; vk: "fo.vk"; vl: "fo.vl"; vm: "fo.vm"; vn: "fo.vn"; vo: "fo.vo"; vp: "fo.vp"; vq: "fo.vq"; vr: "fo.vr"; vs: "fo.vs"; vt: "fo.vt"; vu: "fo.vu"; vv: "fo.vv"; vw: "fo.vw"; vx: "fo.vx"; vy: "fo.vy"; vz: "fo.vz"; wa: "fo.wa"; wb: "fo.wb"; wc: "fo.wc"; wd: "fo.wd"; we: "fo.we"; wf: "fo.wf"; wg: "fo.wg"; wh: "fo.wh"; wi: "fo.wi"; wj: "fo.wj"; wk: "fo.wk"; wl: "fo.wl"; wm: "fo.wm"; wn: "fo.wn"; wo: "fo.wo"; wp: "fo.wp"; wq: "fo.wq"; wr: "fo.wr"; ws: "fo.ws"; wt: "fo.wt"; wu: "fo.wu"; wv: "fo.wv"; ww: "fo.ww"; wx: "fo.wx"; wy: "fo.wy"; wz: "fo.wz"; xa: "fo.xa"; xb: "fo.xb"; xc: "fo.xc"; xd: "fo.xd"; xe: "fo.xe"; xf: "fo.xf"; xg: "fo.xg"; xh: "fo.xh"; xi: "fo.xi"; xj: "fo.xj"; xk: "fo.xk"; xl: "fo.xl"; xm: "fo.xm"; xn: "fo.xn"; xo: "fo.xo"; xp: "fo.xp"; xq: "fo.xq"; xr: "fo.xr"; xs: "fo.xs"; xt: "fo.xt"; xu: "fo.xu"; xv: "fo.xv"; xw: "fo.xw"; xx: "fo.xx"; xy: "fo.xy"; xz: "fo.xz"; ya: "fo.ya"; yb: "fo.yb"; yc: "fo.yc"; yd: "fo.yd"; ye: "fo.ye"; yf: "fo.yf"; yg: "fo.yg"; yh: "fo.yh"; yi: "fo.yi"; yj: "fo.yj"; yk: "fo.yk"; yl: "fo.yl"; ym: "fo.ym"; yn: "fo.yn"; yo: "fo.yo"; yp: "fo.yp"; yq: "fo.yq"; yr: "fo.yr"; ys: "fo.ys"; yt: "fo.yt"; yu: "fo.yu"; yv: "fo.yv"; yw: "fo.yw"; yx: "fo.yx"; yy: "fo.yy"; yz: "fo.yz"; za: "fo.za"; zb: "fo.zb"; zc: "fo.zc"; zd: "fo.zd"; ze: "fo.ze"; zf: "fo.zf"; zg: "fo.zg"; zh: "fo.zh"; zi: "fo.zi"; zj: "fo.zj"; zk: "fo.zk"; zl: "fo.zl"; zm: "fo.zm"; zn: "fo.zn"; zo: "fo.zo"; zp: "fo.zp"; zq: "fo.zq"; zr: "fo.zr"; zs: "fo.zs"; zt: "fo.zt"; zu: "fo.zu"; zv: "fo.zv"; zw: "fo.zw"; zx: "fo.zx"; zy: "fo.zy"; zz: "fo.zz"; }; fp: { aa: "fp.aa"; ab: "fp.ab"; ac: "fp.ac"; ad: "fp.ad"; ae: "fp.ae"; af: "fp.af"; ag: "fp.ag"; ah: "fp.ah"; ai: "fp.ai"; aj: "fp.aj"; ak: "fp.ak"; al: "fp.al"; am: "fp.am"; an: "fp.an"; ao: "fp.ao"; ap: "fp.ap"; aq: "fp.aq"; ar: "fp.ar"; as: "fp.as"; at: "fp.at"; au: "fp.au"; av: "fp.av"; aw: "fp.aw"; ax: "fp.ax"; ay: "fp.ay"; az: "fp.az"; ba: "fp.ba"; bb: "fp.bb"; bc: "fp.bc"; bd: "fp.bd"; be: "fp.be"; bf: "fp.bf"; bg: "fp.bg"; bh: "fp.bh"; bi: "fp.bi"; bj: "fp.bj"; bk: "fp.bk"; bl: "fp.bl"; bm: "fp.bm"; bn: "fp.bn"; bo: "fp.bo"; bp: "fp.bp"; bq: "fp.bq"; br: "fp.br"; bs: "fp.bs"; bt: "fp.bt"; bu: "fp.bu"; bv: "fp.bv"; bw: "fp.bw"; bx: "fp.bx"; by: "fp.by"; bz: "fp.bz"; ca: "fp.ca"; cb: "fp.cb"; cc: "fp.cc"; cd: "fp.cd"; ce: "fp.ce"; cf: "fp.cf"; cg: "fp.cg"; ch: "fp.ch"; ci: "fp.ci"; cj: "fp.cj"; ck: "fp.ck"; cl: "fp.cl"; cm: "fp.cm"; cn: "fp.cn"; co: "fp.co"; cp: "fp.cp"; cq: "fp.cq"; cr: "fp.cr"; cs: "fp.cs"; ct: "fp.ct"; cu: "fp.cu"; cv: "fp.cv"; cw: "fp.cw"; cx: "fp.cx"; cy: "fp.cy"; cz: "fp.cz"; da: "fp.da"; db: "fp.db"; dc: "fp.dc"; dd: "fp.dd"; de: "fp.de"; df: "fp.df"; dg: "fp.dg"; dh: "fp.dh"; di: "fp.di"; dj: "fp.dj"; dk: "fp.dk"; dl: "fp.dl"; dm: "fp.dm"; dn: "fp.dn"; do: "fp.do"; dp: "fp.dp"; dq: "fp.dq"; dr: "fp.dr"; ds: "fp.ds"; dt: "fp.dt"; du: "fp.du"; dv: "fp.dv"; dw: "fp.dw"; dx: "fp.dx"; dy: "fp.dy"; dz: "fp.dz"; ea: "fp.ea"; eb: "fp.eb"; ec: "fp.ec"; ed: "fp.ed"; ee: "fp.ee"; ef: "fp.ef"; eg: "fp.eg"; eh: "fp.eh"; ei: "fp.ei"; ej: "fp.ej"; ek: "fp.ek"; el: "fp.el"; em: "fp.em"; en: "fp.en"; eo: "fp.eo"; ep: "fp.ep"; eq: "fp.eq"; er: "fp.er"; es: "fp.es"; et: "fp.et"; eu: "fp.eu"; ev: "fp.ev"; ew: "fp.ew"; ex: "fp.ex"; ey: "fp.ey"; ez: "fp.ez"; fa: "fp.fa"; fb: "fp.fb"; fc: "fp.fc"; fd: "fp.fd"; fe: "fp.fe"; ff: "fp.ff"; fg: "fp.fg"; fh: "fp.fh"; fi: "fp.fi"; fj: "fp.fj"; fk: "fp.fk"; fl: "fp.fl"; fm: "fp.fm"; fn: "fp.fn"; fo: "fp.fo"; fp: "fp.fp"; fq: "fp.fq"; fr: "fp.fr"; fs: "fp.fs"; ft: "fp.ft"; fu: "fp.fu"; fv: "fp.fv"; fw: "fp.fw"; fx: "fp.fx"; fy: "fp.fy"; fz: "fp.fz"; ga: "fp.ga"; gb: "fp.gb"; gc: "fp.gc"; gd: "fp.gd"; ge: "fp.ge"; gf: "fp.gf"; gg: "fp.gg"; gh: "fp.gh"; gi: "fp.gi"; gj: "fp.gj"; gk: "fp.gk"; gl: "fp.gl"; gm: "fp.gm"; gn: "fp.gn"; go: "fp.go"; gp: "fp.gp"; gq: "fp.gq"; gr: "fp.gr"; gs: "fp.gs"; gt: "fp.gt"; gu: "fp.gu"; gv: "fp.gv"; gw: "fp.gw"; gx: "fp.gx"; gy: "fp.gy"; gz: "fp.gz"; ha: "fp.ha"; hb: "fp.hb"; hc: "fp.hc"; hd: "fp.hd"; he: "fp.he"; hf: "fp.hf"; hg: "fp.hg"; hh: "fp.hh"; hi: "fp.hi"; hj: "fp.hj"; hk: "fp.hk"; hl: "fp.hl"; hm: "fp.hm"; hn: "fp.hn"; ho: "fp.ho"; hp: "fp.hp"; hq: "fp.hq"; hr: "fp.hr"; hs: "fp.hs"; ht: "fp.ht"; hu: "fp.hu"; hv: "fp.hv"; hw: "fp.hw"; hx: "fp.hx"; hy: "fp.hy"; hz: "fp.hz"; ia: "fp.ia"; ib: "fp.ib"; ic: "fp.ic"; id: "fp.id"; ie: "fp.ie"; if: "fp.if"; ig: "fp.ig"; ih: "fp.ih"; ii: "fp.ii"; ij: "fp.ij"; ik: "fp.ik"; il: "fp.il"; im: "fp.im"; in: "fp.in"; io: "fp.io"; ip: "fp.ip"; iq: "fp.iq"; ir: "fp.ir"; is: "fp.is"; it: "fp.it"; iu: "fp.iu"; iv: "fp.iv"; iw: "fp.iw"; ix: "fp.ix"; iy: "fp.iy"; iz: "fp.iz"; ja: "fp.ja"; jb: "fp.jb"; jc: "fp.jc"; jd: "fp.jd"; je: "fp.je"; jf: "fp.jf"; jg: "fp.jg"; jh: "fp.jh"; ji: "fp.ji"; jj: "fp.jj"; jk: "fp.jk"; jl: "fp.jl"; jm: "fp.jm"; jn: "fp.jn"; jo: "fp.jo"; jp: "fp.jp"; jq: "fp.jq"; jr: "fp.jr"; js: "fp.js"; jt: "fp.jt"; ju: "fp.ju"; jv: "fp.jv"; jw: "fp.jw"; jx: "fp.jx"; jy: "fp.jy"; jz: "fp.jz"; ka: "fp.ka"; kb: "fp.kb"; kc: "fp.kc"; kd: "fp.kd"; ke: "fp.ke"; kf: "fp.kf"; kg: "fp.kg"; kh: "fp.kh"; ki: "fp.ki"; kj: "fp.kj"; kk: "fp.kk"; kl: "fp.kl"; km: "fp.km"; kn: "fp.kn"; ko: "fp.ko"; kp: "fp.kp"; kq: "fp.kq"; kr: "fp.kr"; ks: "fp.ks"; kt: "fp.kt"; ku: "fp.ku"; kv: "fp.kv"; kw: "fp.kw"; kx: "fp.kx"; ky: "fp.ky"; kz: "fp.kz"; la: "fp.la"; lb: "fp.lb"; lc: "fp.lc"; ld: "fp.ld"; le: "fp.le"; lf: "fp.lf"; lg: "fp.lg"; lh: "fp.lh"; li: "fp.li"; lj: "fp.lj"; lk: "fp.lk"; ll: "fp.ll"; lm: "fp.lm"; ln: "fp.ln"; lo: "fp.lo"; lp: "fp.lp"; lq: "fp.lq"; lr: "fp.lr"; ls: "fp.ls"; lt: "fp.lt"; lu: "fp.lu"; lv: "fp.lv"; lw: "fp.lw"; lx: "fp.lx"; ly: "fp.ly"; lz: "fp.lz"; ma: "fp.ma"; mb: "fp.mb"; mc: "fp.mc"; md: "fp.md"; me: "fp.me"; mf: "fp.mf"; mg: "fp.mg"; mh: "fp.mh"; mi: "fp.mi"; mj: "fp.mj"; mk: "fp.mk"; ml: "fp.ml"; mm: "fp.mm"; mn: "fp.mn"; mo: "fp.mo"; mp: "fp.mp"; mq: "fp.mq"; mr: "fp.mr"; ms: "fp.ms"; mt: "fp.mt"; mu: "fp.mu"; mv: "fp.mv"; mw: "fp.mw"; mx: "fp.mx"; my: "fp.my"; mz: "fp.mz"; na: "fp.na"; nb: "fp.nb"; nc: "fp.nc"; nd: "fp.nd"; ne: "fp.ne"; nf: "fp.nf"; ng: "fp.ng"; nh: "fp.nh"; ni: "fp.ni"; nj: "fp.nj"; nk: "fp.nk"; nl: "fp.nl"; nm: "fp.nm"; nn: "fp.nn"; no: "fp.no"; np: "fp.np"; nq: "fp.nq"; nr: "fp.nr"; ns: "fp.ns"; nt: "fp.nt"; nu: "fp.nu"; nv: "fp.nv"; nw: "fp.nw"; nx: "fp.nx"; ny: "fp.ny"; nz: "fp.nz"; oa: "fp.oa"; ob: "fp.ob"; oc: "fp.oc"; od: "fp.od"; oe: "fp.oe"; of: "fp.of"; og: "fp.og"; oh: "fp.oh"; oi: "fp.oi"; oj: "fp.oj"; ok: "fp.ok"; ol: "fp.ol"; om: "fp.om"; on: "fp.on"; oo: "fp.oo"; op: "fp.op"; oq: "fp.oq"; or: "fp.or"; os: "fp.os"; ot: "fp.ot"; ou: "fp.ou"; ov: "fp.ov"; ow: "fp.ow"; ox: "fp.ox"; oy: "fp.oy"; oz: "fp.oz"; pa: "fp.pa"; pb: "fp.pb"; pc: "fp.pc"; pd: "fp.pd"; pe: "fp.pe"; pf: "fp.pf"; pg: "fp.pg"; ph: "fp.ph"; pi: "fp.pi"; pj: "fp.pj"; pk: "fp.pk"; pl: "fp.pl"; pm: "fp.pm"; pn: "fp.pn"; po: "fp.po"; pp: "fp.pp"; pq: "fp.pq"; pr: "fp.pr"; ps: "fp.ps"; pt: "fp.pt"; pu: "fp.pu"; pv: "fp.pv"; pw: "fp.pw"; px: "fp.px"; py: "fp.py"; pz: "fp.pz"; qa: "fp.qa"; qb: "fp.qb"; qc: "fp.qc"; qd: "fp.qd"; qe: "fp.qe"; qf: "fp.qf"; qg: "fp.qg"; qh: "fp.qh"; qi: "fp.qi"; qj: "fp.qj"; qk: "fp.qk"; ql: "fp.ql"; qm: "fp.qm"; qn: "fp.qn"; qo: "fp.qo"; qp: "fp.qp"; qq: "fp.qq"; qr: "fp.qr"; qs: "fp.qs"; qt: "fp.qt"; qu: "fp.qu"; qv: "fp.qv"; qw: "fp.qw"; qx: "fp.qx"; qy: "fp.qy"; qz: "fp.qz"; ra: "fp.ra"; rb: "fp.rb"; rc: "fp.rc"; rd: "fp.rd"; re: "fp.re"; rf: "fp.rf"; rg: "fp.rg"; rh: "fp.rh"; ri: "fp.ri"; rj: "fp.rj"; rk: "fp.rk"; rl: "fp.rl"; rm: "fp.rm"; rn: "fp.rn"; ro: "fp.ro"; rp: "fp.rp"; rq: "fp.rq"; rr: "fp.rr"; rs: "fp.rs"; rt: "fp.rt"; ru: "fp.ru"; rv: "fp.rv"; rw: "fp.rw"; rx: "fp.rx"; ry: "fp.ry"; rz: "fp.rz"; sa: "fp.sa"; sb: "fp.sb"; sc: "fp.sc"; sd: "fp.sd"; se: "fp.se"; sf: "fp.sf"; sg: "fp.sg"; sh: "fp.sh"; si: "fp.si"; sj: "fp.sj"; sk: "fp.sk"; sl: "fp.sl"; sm: "fp.sm"; sn: "fp.sn"; so: "fp.so"; sp: "fp.sp"; sq: "fp.sq"; sr: "fp.sr"; ss: "fp.ss"; st: "fp.st"; su: "fp.su"; sv: "fp.sv"; sw: "fp.sw"; sx: "fp.sx"; sy: "fp.sy"; sz: "fp.sz"; ta: "fp.ta"; tb: "fp.tb"; tc: "fp.tc"; td: "fp.td"; te: "fp.te"; tf: "fp.tf"; tg: "fp.tg"; th: "fp.th"; ti: "fp.ti"; tj: "fp.tj"; tk: "fp.tk"; tl: "fp.tl"; tm: "fp.tm"; tn: "fp.tn"; to: "fp.to"; tp: "fp.tp"; tq: "fp.tq"; tr: "fp.tr"; ts: "fp.ts"; tt: "fp.tt"; tu: "fp.tu"; tv: "fp.tv"; tw: "fp.tw"; tx: "fp.tx"; ty: "fp.ty"; tz: "fp.tz"; ua: "fp.ua"; ub: "fp.ub"; uc: "fp.uc"; ud: "fp.ud"; ue: "fp.ue"; uf: "fp.uf"; ug: "fp.ug"; uh: "fp.uh"; ui: "fp.ui"; uj: "fp.uj"; uk: "fp.uk"; ul: "fp.ul"; um: "fp.um"; un: "fp.un"; uo: "fp.uo"; up: "fp.up"; uq: "fp.uq"; ur: "fp.ur"; us: "fp.us"; ut: "fp.ut"; uu: "fp.uu"; uv: "fp.uv"; uw: "fp.uw"; ux: "fp.ux"; uy: "fp.uy"; uz: "fp.uz"; va: "fp.va"; vb: "fp.vb"; vc: "fp.vc"; vd: "fp.vd"; ve: "fp.ve"; vf: "fp.vf"; vg: "fp.vg"; vh: "fp.vh"; vi: "fp.vi"; vj: "fp.vj"; vk: "fp.vk"; vl: "fp.vl"; vm: "fp.vm"; vn: "fp.vn"; vo: "fp.vo"; vp: "fp.vp"; vq: "fp.vq"; vr: "fp.vr"; vs: "fp.vs"; vt: "fp.vt"; vu: "fp.vu"; vv: "fp.vv"; vw: "fp.vw"; vx: "fp.vx"; vy: "fp.vy"; vz: "fp.vz"; wa: "fp.wa"; wb: "fp.wb"; wc: "fp.wc"; wd: "fp.wd"; we: "fp.we"; wf: "fp.wf"; wg: "fp.wg"; wh: "fp.wh"; wi: "fp.wi"; wj: "fp.wj"; wk: "fp.wk"; wl: "fp.wl"; wm: "fp.wm"; wn: "fp.wn"; wo: "fp.wo"; wp: "fp.wp"; wq: "fp.wq"; wr: "fp.wr"; ws: "fp.ws"; wt: "fp.wt"; wu: "fp.wu"; wv: "fp.wv"; ww: "fp.ww"; wx: "fp.wx"; wy: "fp.wy"; wz: "fp.wz"; xa: "fp.xa"; xb: "fp.xb"; xc: "fp.xc"; xd: "fp.xd"; xe: "fp.xe"; xf: "fp.xf"; xg: "fp.xg"; xh: "fp.xh"; xi: "fp.xi"; xj: "fp.xj"; xk: "fp.xk"; xl: "fp.xl"; xm: "fp.xm"; xn: "fp.xn"; xo: "fp.xo"; xp: "fp.xp"; xq: "fp.xq"; xr: "fp.xr"; xs: "fp.xs"; xt: "fp.xt"; xu: "fp.xu"; xv: "fp.xv"; xw: "fp.xw"; xx: "fp.xx"; xy: "fp.xy"; xz: "fp.xz"; ya: "fp.ya"; yb: "fp.yb"; yc: "fp.yc"; yd: "fp.yd"; ye: "fp.ye"; yf: "fp.yf"; yg: "fp.yg"; yh: "fp.yh"; yi: "fp.yi"; yj: "fp.yj"; yk: "fp.yk"; yl: "fp.yl"; ym: "fp.ym"; yn: "fp.yn"; yo: "fp.yo"; yp: "fp.yp"; yq: "fp.yq"; yr: "fp.yr"; ys: "fp.ys"; yt: "fp.yt"; yu: "fp.yu"; yv: "fp.yv"; yw: "fp.yw"; yx: "fp.yx"; yy: "fp.yy"; yz: "fp.yz"; za: "fp.za"; zb: "fp.zb"; zc: "fp.zc"; zd: "fp.zd"; ze: "fp.ze"; zf: "fp.zf"; zg: "fp.zg"; zh: "fp.zh"; zi: "fp.zi"; zj: "fp.zj"; zk: "fp.zk"; zl: "fp.zl"; zm: "fp.zm"; zn: "fp.zn"; zo: "fp.zo"; zp: "fp.zp"; zq: "fp.zq"; zr: "fp.zr"; zs: "fp.zs"; zt: "fp.zt"; zu: "fp.zu"; zv: "fp.zv"; zw: "fp.zw"; zx: "fp.zx"; zy: "fp.zy"; zz: "fp.zz"; }; fq: { aa: "fq.aa"; ab: "fq.ab"; ac: "fq.ac"; ad: "fq.ad"; ae: "fq.ae"; af: "fq.af"; ag: "fq.ag"; ah: "fq.ah"; ai: "fq.ai"; aj: "fq.aj"; ak: "fq.ak"; al: "fq.al"; am: "fq.am"; an: "fq.an"; ao: "fq.ao"; ap: "fq.ap"; aq: "fq.aq"; ar: "fq.ar"; as: "fq.as"; at: "fq.at"; au: "fq.au"; av: "fq.av"; aw: "fq.aw"; ax: "fq.ax"; ay: "fq.ay"; az: "fq.az"; ba: "fq.ba"; bb: "fq.bb"; bc: "fq.bc"; bd: "fq.bd"; be: "fq.be"; bf: "fq.bf"; bg: "fq.bg"; bh: "fq.bh"; bi: "fq.bi"; bj: "fq.bj"; bk: "fq.bk"; bl: "fq.bl"; bm: "fq.bm"; bn: "fq.bn"; bo: "fq.bo"; bp: "fq.bp"; bq: "fq.bq"; br: "fq.br"; bs: "fq.bs"; bt: "fq.bt"; bu: "fq.bu"; bv: "fq.bv"; bw: "fq.bw"; bx: "fq.bx"; by: "fq.by"; bz: "fq.bz"; ca: "fq.ca"; cb: "fq.cb"; cc: "fq.cc"; cd: "fq.cd"; ce: "fq.ce"; cf: "fq.cf"; cg: "fq.cg"; ch: "fq.ch"; ci: "fq.ci"; cj: "fq.cj"; ck: "fq.ck"; cl: "fq.cl"; cm: "fq.cm"; cn: "fq.cn"; co: "fq.co"; cp: "fq.cp"; cq: "fq.cq"; cr: "fq.cr"; cs: "fq.cs"; ct: "fq.ct"; cu: "fq.cu"; cv: "fq.cv"; cw: "fq.cw"; cx: "fq.cx"; cy: "fq.cy"; cz: "fq.cz"; da: "fq.da"; db: "fq.db"; dc: "fq.dc"; dd: "fq.dd"; de: "fq.de"; df: "fq.df"; dg: "fq.dg"; dh: "fq.dh"; di: "fq.di"; dj: "fq.dj"; dk: "fq.dk"; dl: "fq.dl"; dm: "fq.dm"; dn: "fq.dn"; do: "fq.do"; dp: "fq.dp"; dq: "fq.dq"; dr: "fq.dr"; ds: "fq.ds"; dt: "fq.dt"; du: "fq.du"; dv: "fq.dv"; dw: "fq.dw"; dx: "fq.dx"; dy: "fq.dy"; dz: "fq.dz"; ea: "fq.ea"; eb: "fq.eb"; ec: "fq.ec"; ed: "fq.ed"; ee: "fq.ee"; ef: "fq.ef"; eg: "fq.eg"; eh: "fq.eh"; ei: "fq.ei"; ej: "fq.ej"; ek: "fq.ek"; el: "fq.el"; em: "fq.em"; en: "fq.en"; eo: "fq.eo"; ep: "fq.ep"; eq: "fq.eq"; er: "fq.er"; es: "fq.es"; et: "fq.et"; eu: "fq.eu"; ev: "fq.ev"; ew: "fq.ew"; ex: "fq.ex"; ey: "fq.ey"; ez: "fq.ez"; fa: "fq.fa"; fb: "fq.fb"; fc: "fq.fc"; fd: "fq.fd"; fe: "fq.fe"; ff: "fq.ff"; fg: "fq.fg"; fh: "fq.fh"; fi: "fq.fi"; fj: "fq.fj"; fk: "fq.fk"; fl: "fq.fl"; fm: "fq.fm"; fn: "fq.fn"; fo: "fq.fo"; fp: "fq.fp"; fq: "fq.fq"; fr: "fq.fr"; fs: "fq.fs"; ft: "fq.ft"; fu: "fq.fu"; fv: "fq.fv"; fw: "fq.fw"; fx: "fq.fx"; fy: "fq.fy"; fz: "fq.fz"; ga: "fq.ga"; gb: "fq.gb"; gc: "fq.gc"; gd: "fq.gd"; ge: "fq.ge"; gf: "fq.gf"; gg: "fq.gg"; gh: "fq.gh"; gi: "fq.gi"; gj: "fq.gj"; gk: "fq.gk"; gl: "fq.gl"; gm: "fq.gm"; gn: "fq.gn"; go: "fq.go"; gp: "fq.gp"; gq: "fq.gq"; gr: "fq.gr"; gs: "fq.gs"; gt: "fq.gt"; gu: "fq.gu"; gv: "fq.gv"; gw: "fq.gw"; gx: "fq.gx"; gy: "fq.gy"; gz: "fq.gz"; ha: "fq.ha"; hb: "fq.hb"; hc: "fq.hc"; hd: "fq.hd"; he: "fq.he"; hf: "fq.hf"; hg: "fq.hg"; hh: "fq.hh"; hi: "fq.hi"; hj: "fq.hj"; hk: "fq.hk"; hl: "fq.hl"; hm: "fq.hm"; hn: "fq.hn"; ho: "fq.ho"; hp: "fq.hp"; hq: "fq.hq"; hr: "fq.hr"; hs: "fq.hs"; ht: "fq.ht"; hu: "fq.hu"; hv: "fq.hv"; hw: "fq.hw"; hx: "fq.hx"; hy: "fq.hy"; hz: "fq.hz"; ia: "fq.ia"; ib: "fq.ib"; ic: "fq.ic"; id: "fq.id"; ie: "fq.ie"; if: "fq.if"; ig: "fq.ig"; ih: "fq.ih"; ii: "fq.ii"; ij: "fq.ij"; ik: "fq.ik"; il: "fq.il"; im: "fq.im"; in: "fq.in"; io: "fq.io"; ip: "fq.ip"; iq: "fq.iq"; ir: "fq.ir"; is: "fq.is"; it: "fq.it"; iu: "fq.iu"; iv: "fq.iv"; iw: "fq.iw"; ix: "fq.ix"; iy: "fq.iy"; iz: "fq.iz"; ja: "fq.ja"; jb: "fq.jb"; jc: "fq.jc"; jd: "fq.jd"; je: "fq.je"; jf: "fq.jf"; jg: "fq.jg"; jh: "fq.jh"; ji: "fq.ji"; jj: "fq.jj"; jk: "fq.jk"; jl: "fq.jl"; jm: "fq.jm"; jn: "fq.jn"; jo: "fq.jo"; jp: "fq.jp"; jq: "fq.jq"; jr: "fq.jr"; js: "fq.js"; jt: "fq.jt"; ju: "fq.ju"; jv: "fq.jv"; jw: "fq.jw"; jx: "fq.jx"; jy: "fq.jy"; jz: "fq.jz"; ka: "fq.ka"; kb: "fq.kb"; kc: "fq.kc"; kd: "fq.kd"; ke: "fq.ke"; kf: "fq.kf"; kg: "fq.kg"; kh: "fq.kh"; ki: "fq.ki"; kj: "fq.kj"; kk: "fq.kk"; kl: "fq.kl"; km: "fq.km"; kn: "fq.kn"; ko: "fq.ko"; kp: "fq.kp"; kq: "fq.kq"; kr: "fq.kr"; ks: "fq.ks"; kt: "fq.kt"; ku: "fq.ku"; kv: "fq.kv"; kw: "fq.kw"; kx: "fq.kx"; ky: "fq.ky"; kz: "fq.kz"; la: "fq.la"; lb: "fq.lb"; lc: "fq.lc"; ld: "fq.ld"; le: "fq.le"; lf: "fq.lf"; lg: "fq.lg"; lh: "fq.lh"; li: "fq.li"; lj: "fq.lj"; lk: "fq.lk"; ll: "fq.ll"; lm: "fq.lm"; ln: "fq.ln"; lo: "fq.lo"; lp: "fq.lp"; lq: "fq.lq"; lr: "fq.lr"; ls: "fq.ls"; lt: "fq.lt"; lu: "fq.lu"; lv: "fq.lv"; lw: "fq.lw"; lx: "fq.lx"; ly: "fq.ly"; lz: "fq.lz"; ma: "fq.ma"; mb: "fq.mb"; mc: "fq.mc"; md: "fq.md"; me: "fq.me"; mf: "fq.mf"; mg: "fq.mg"; mh: "fq.mh"; mi: "fq.mi"; mj: "fq.mj"; mk: "fq.mk"; ml: "fq.ml"; mm: "fq.mm"; mn: "fq.mn"; mo: "fq.mo"; mp: "fq.mp"; mq: "fq.mq"; mr: "fq.mr"; ms: "fq.ms"; mt: "fq.mt"; mu: "fq.mu"; mv: "fq.mv"; mw: "fq.mw"; mx: "fq.mx"; my: "fq.my"; mz: "fq.mz"; na: "fq.na"; nb: "fq.nb"; nc: "fq.nc"; nd: "fq.nd"; ne: "fq.ne"; nf: "fq.nf"; ng: "fq.ng"; nh: "fq.nh"; ni: "fq.ni"; nj: "fq.nj"; nk: "fq.nk"; nl: "fq.nl"; nm: "fq.nm"; nn: "fq.nn"; no: "fq.no"; np: "fq.np"; nq: "fq.nq"; nr: "fq.nr"; ns: "fq.ns"; nt: "fq.nt"; nu: "fq.nu"; nv: "fq.nv"; nw: "fq.nw"; nx: "fq.nx"; ny: "fq.ny"; nz: "fq.nz"; oa: "fq.oa"; ob: "fq.ob"; oc: "fq.oc"; od: "fq.od"; oe: "fq.oe"; of: "fq.of"; og: "fq.og"; oh: "fq.oh"; oi: "fq.oi"; oj: "fq.oj"; ok: "fq.ok"; ol: "fq.ol"; om: "fq.om"; on: "fq.on"; oo: "fq.oo"; op: "fq.op"; oq: "fq.oq"; or: "fq.or"; os: "fq.os"; ot: "fq.ot"; ou: "fq.ou"; ov: "fq.ov"; ow: "fq.ow"; ox: "fq.ox"; oy: "fq.oy"; oz: "fq.oz"; pa: "fq.pa"; pb: "fq.pb"; pc: "fq.pc"; pd: "fq.pd"; pe: "fq.pe"; pf: "fq.pf"; pg: "fq.pg"; ph: "fq.ph"; pi: "fq.pi"; pj: "fq.pj"; pk: "fq.pk"; pl: "fq.pl"; pm: "fq.pm"; pn: "fq.pn"; po: "fq.po"; pp: "fq.pp"; pq: "fq.pq"; pr: "fq.pr"; ps: "fq.ps"; pt: "fq.pt"; pu: "fq.pu"; pv: "fq.pv"; pw: "fq.pw"; px: "fq.px"; py: "fq.py"; pz: "fq.pz"; qa: "fq.qa"; qb: "fq.qb"; qc: "fq.qc"; qd: "fq.qd"; qe: "fq.qe"; qf: "fq.qf"; qg: "fq.qg"; qh: "fq.qh"; qi: "fq.qi"; qj: "fq.qj"; qk: "fq.qk"; ql: "fq.ql"; qm: "fq.qm"; qn: "fq.qn"; qo: "fq.qo"; qp: "fq.qp"; qq: "fq.qq"; qr: "fq.qr"; qs: "fq.qs"; qt: "fq.qt"; qu: "fq.qu"; qv: "fq.qv"; qw: "fq.qw"; qx: "fq.qx"; qy: "fq.qy"; qz: "fq.qz"; ra: "fq.ra"; rb: "fq.rb"; rc: "fq.rc"; rd: "fq.rd"; re: "fq.re"; rf: "fq.rf"; rg: "fq.rg"; rh: "fq.rh"; ri: "fq.ri"; rj: "fq.rj"; rk: "fq.rk"; rl: "fq.rl"; rm: "fq.rm"; rn: "fq.rn"; ro: "fq.ro"; rp: "fq.rp"; rq: "fq.rq"; rr: "fq.rr"; rs: "fq.rs"; rt: "fq.rt"; ru: "fq.ru"; rv: "fq.rv"; rw: "fq.rw"; rx: "fq.rx"; ry: "fq.ry"; rz: "fq.rz"; sa: "fq.sa"; sb: "fq.sb"; sc: "fq.sc"; sd: "fq.sd"; se: "fq.se"; sf: "fq.sf"; sg: "fq.sg"; sh: "fq.sh"; si: "fq.si"; sj: "fq.sj"; sk: "fq.sk"; sl: "fq.sl"; sm: "fq.sm"; sn: "fq.sn"; so: "fq.so"; sp: "fq.sp"; sq: "fq.sq"; sr: "fq.sr"; ss: "fq.ss"; st: "fq.st"; su: "fq.su"; sv: "fq.sv"; sw: "fq.sw"; sx: "fq.sx"; sy: "fq.sy"; sz: "fq.sz"; ta: "fq.ta"; tb: "fq.tb"; tc: "fq.tc"; td: "fq.td"; te: "fq.te"; tf: "fq.tf"; tg: "fq.tg"; th: "fq.th"; ti: "fq.ti"; tj: "fq.tj"; tk: "fq.tk"; tl: "fq.tl"; tm: "fq.tm"; tn: "fq.tn"; to: "fq.to"; tp: "fq.tp"; tq: "fq.tq"; tr: "fq.tr"; ts: "fq.ts"; tt: "fq.tt"; tu: "fq.tu"; tv: "fq.tv"; tw: "fq.tw"; tx: "fq.tx"; ty: "fq.ty"; tz: "fq.tz"; ua: "fq.ua"; ub: "fq.ub"; uc: "fq.uc"; ud: "fq.ud"; ue: "fq.ue"; uf: "fq.uf"; ug: "fq.ug"; uh: "fq.uh"; ui: "fq.ui"; uj: "fq.uj"; uk: "fq.uk"; ul: "fq.ul"; um: "fq.um"; un: "fq.un"; uo: "fq.uo"; up: "fq.up"; uq: "fq.uq"; ur: "fq.ur"; us: "fq.us"; ut: "fq.ut"; uu: "fq.uu"; uv: "fq.uv"; uw: "fq.uw"; ux: "fq.ux"; uy: "fq.uy"; uz: "fq.uz"; va: "fq.va"; vb: "fq.vb"; vc: "fq.vc"; vd: "fq.vd"; ve: "fq.ve"; vf: "fq.vf"; vg: "fq.vg"; vh: "fq.vh"; vi: "fq.vi"; vj: "fq.vj"; vk: "fq.vk"; vl: "fq.vl"; vm: "fq.vm"; vn: "fq.vn"; vo: "fq.vo"; vp: "fq.vp"; vq: "fq.vq"; vr: "fq.vr"; vs: "fq.vs"; vt: "fq.vt"; vu: "fq.vu"; vv: "fq.vv"; vw: "fq.vw"; vx: "fq.vx"; vy: "fq.vy"; vz: "fq.vz"; wa: "fq.wa"; wb: "fq.wb"; wc: "fq.wc"; wd: "fq.wd"; we: "fq.we"; wf: "fq.wf"; wg: "fq.wg"; wh: "fq.wh"; wi: "fq.wi"; wj: "fq.wj"; wk: "fq.wk"; wl: "fq.wl"; wm: "fq.wm"; wn: "fq.wn"; wo: "fq.wo"; wp: "fq.wp"; wq: "fq.wq"; wr: "fq.wr"; ws: "fq.ws"; wt: "fq.wt"; wu: "fq.wu"; wv: "fq.wv"; ww: "fq.ww"; wx: "fq.wx"; wy: "fq.wy"; wz: "fq.wz"; xa: "fq.xa"; xb: "fq.xb"; xc: "fq.xc"; xd: "fq.xd"; xe: "fq.xe"; xf: "fq.xf"; xg: "fq.xg"; xh: "fq.xh"; xi: "fq.xi"; xj: "fq.xj"; xk: "fq.xk"; xl: "fq.xl"; xm: "fq.xm"; xn: "fq.xn"; xo: "fq.xo"; xp: "fq.xp"; xq: "fq.xq"; xr: "fq.xr"; xs: "fq.xs"; xt: "fq.xt"; xu: "fq.xu"; xv: "fq.xv"; xw: "fq.xw"; xx: "fq.xx"; xy: "fq.xy"; xz: "fq.xz"; ya: "fq.ya"; yb: "fq.yb"; yc: "fq.yc"; yd: "fq.yd"; ye: "fq.ye"; yf: "fq.yf"; yg: "fq.yg"; yh: "fq.yh"; yi: "fq.yi"; yj: "fq.yj"; yk: "fq.yk"; yl: "fq.yl"; ym: "fq.ym"; yn: "fq.yn"; yo: "fq.yo"; yp: "fq.yp"; yq: "fq.yq"; yr: "fq.yr"; ys: "fq.ys"; yt: "fq.yt"; yu: "fq.yu"; yv: "fq.yv"; yw: "fq.yw"; yx: "fq.yx"; yy: "fq.yy"; yz: "fq.yz"; za: "fq.za"; zb: "fq.zb"; zc: "fq.zc"; zd: "fq.zd"; ze: "fq.ze"; zf: "fq.zf"; zg: "fq.zg"; zh: "fq.zh"; zi: "fq.zi"; zj: "fq.zj"; zk: "fq.zk"; zl: "fq.zl"; zm: "fq.zm"; zn: "fq.zn"; zo: "fq.zo"; zp: "fq.zp"; zq: "fq.zq"; zr: "fq.zr"; zs: "fq.zs"; zt: "fq.zt"; zu: "fq.zu"; zv: "fq.zv"; zw: "fq.zw"; zx: "fq.zx"; zy: "fq.zy"; zz: "fq.zz"; }; fr: { aa: "fr.aa"; ab: "fr.ab"; ac: "fr.ac"; ad: "fr.ad"; ae: "fr.ae"; af: "fr.af"; ag: "fr.ag"; ah: "fr.ah"; ai: "fr.ai"; aj: "fr.aj"; ak: "fr.ak"; al: "fr.al"; am: "fr.am"; an: "fr.an"; ao: "fr.ao"; ap: "fr.ap"; aq: "fr.aq"; ar: "fr.ar"; as: "fr.as"; at: "fr.at"; au: "fr.au"; av: "fr.av"; aw: "fr.aw"; ax: "fr.ax"; ay: "fr.ay"; az: "fr.az"; ba: "fr.ba"; bb: "fr.bb"; bc: "fr.bc"; bd: "fr.bd"; be: "fr.be"; bf: "fr.bf"; bg: "fr.bg"; bh: "fr.bh"; bi: "fr.bi"; bj: "fr.bj"; bk: "fr.bk"; bl: "fr.bl"; bm: "fr.bm"; bn: "fr.bn"; bo: "fr.bo"; bp: "fr.bp"; bq: "fr.bq"; br: "fr.br"; bs: "fr.bs"; bt: "fr.bt"; bu: "fr.bu"; bv: "fr.bv"; bw: "fr.bw"; bx: "fr.bx"; by: "fr.by"; bz: "fr.bz"; ca: "fr.ca"; cb: "fr.cb"; cc: "fr.cc"; cd: "fr.cd"; ce: "fr.ce"; cf: "fr.cf"; cg: "fr.cg"; ch: "fr.ch"; ci: "fr.ci"; cj: "fr.cj"; ck: "fr.ck"; cl: "fr.cl"; cm: "fr.cm"; cn: "fr.cn"; co: "fr.co"; cp: "fr.cp"; cq: "fr.cq"; cr: "fr.cr"; cs: "fr.cs"; ct: "fr.ct"; cu: "fr.cu"; cv: "fr.cv"; cw: "fr.cw"; cx: "fr.cx"; cy: "fr.cy"; cz: "fr.cz"; da: "fr.da"; db: "fr.db"; dc: "fr.dc"; dd: "fr.dd"; de: "fr.de"; df: "fr.df"; dg: "fr.dg"; dh: "fr.dh"; di: "fr.di"; dj: "fr.dj"; dk: "fr.dk"; dl: "fr.dl"; dm: "fr.dm"; dn: "fr.dn"; do: "fr.do"; dp: "fr.dp"; dq: "fr.dq"; dr: "fr.dr"; ds: "fr.ds"; dt: "fr.dt"; du: "fr.du"; dv: "fr.dv"; dw: "fr.dw"; dx: "fr.dx"; dy: "fr.dy"; dz: "fr.dz"; ea: "fr.ea"; eb: "fr.eb"; ec: "fr.ec"; ed: "fr.ed"; ee: "fr.ee"; ef: "fr.ef"; eg: "fr.eg"; eh: "fr.eh"; ei: "fr.ei"; ej: "fr.ej"; ek: "fr.ek"; el: "fr.el"; em: "fr.em"; en: "fr.en"; eo: "fr.eo"; ep: "fr.ep"; eq: "fr.eq"; er: "fr.er"; es: "fr.es"; et: "fr.et"; eu: "fr.eu"; ev: "fr.ev"; ew: "fr.ew"; ex: "fr.ex"; ey: "fr.ey"; ez: "fr.ez"; fa: "fr.fa"; fb: "fr.fb"; fc: "fr.fc"; fd: "fr.fd"; fe: "fr.fe"; ff: "fr.ff"; fg: "fr.fg"; fh: "fr.fh"; fi: "fr.fi"; fj: "fr.fj"; fk: "fr.fk"; fl: "fr.fl"; fm: "fr.fm"; fn: "fr.fn"; fo: "fr.fo"; fp: "fr.fp"; fq: "fr.fq"; fr: "fr.fr"; fs: "fr.fs"; ft: "fr.ft"; fu: "fr.fu"; fv: "fr.fv"; fw: "fr.fw"; fx: "fr.fx"; fy: "fr.fy"; fz: "fr.fz"; ga: "fr.ga"; gb: "fr.gb"; gc: "fr.gc"; gd: "fr.gd"; ge: "fr.ge"; gf: "fr.gf"; gg: "fr.gg"; gh: "fr.gh"; gi: "fr.gi"; gj: "fr.gj"; gk: "fr.gk"; gl: "fr.gl"; gm: "fr.gm"; gn: "fr.gn"; go: "fr.go"; gp: "fr.gp"; gq: "fr.gq"; gr: "fr.gr"; gs: "fr.gs"; gt: "fr.gt"; gu: "fr.gu"; gv: "fr.gv"; gw: "fr.gw"; gx: "fr.gx"; gy: "fr.gy"; gz: "fr.gz"; ha: "fr.ha"; hb: "fr.hb"; hc: "fr.hc"; hd: "fr.hd"; he: "fr.he"; hf: "fr.hf"; hg: "fr.hg"; hh: "fr.hh"; hi: "fr.hi"; hj: "fr.hj"; hk: "fr.hk"; hl: "fr.hl"; hm: "fr.hm"; hn: "fr.hn"; ho: "fr.ho"; hp: "fr.hp"; hq: "fr.hq"; hr: "fr.hr"; hs: "fr.hs"; ht: "fr.ht"; hu: "fr.hu"; hv: "fr.hv"; hw: "fr.hw"; hx: "fr.hx"; hy: "fr.hy"; hz: "fr.hz"; ia: "fr.ia"; ib: "fr.ib"; ic: "fr.ic"; id: "fr.id"; ie: "fr.ie"; if: "fr.if"; ig: "fr.ig"; ih: "fr.ih"; ii: "fr.ii"; ij: "fr.ij"; ik: "fr.ik"; il: "fr.il"; im: "fr.im"; in: "fr.in"; io: "fr.io"; ip: "fr.ip"; iq: "fr.iq"; ir: "fr.ir"; is: "fr.is"; it: "fr.it"; iu: "fr.iu"; iv: "fr.iv"; iw: "fr.iw"; ix: "fr.ix"; iy: "fr.iy"; iz: "fr.iz"; ja: "fr.ja"; jb: "fr.jb"; jc: "fr.jc"; jd: "fr.jd"; je: "fr.je"; jf: "fr.jf"; jg: "fr.jg"; jh: "fr.jh"; ji: "fr.ji"; jj: "fr.jj"; jk: "fr.jk"; jl: "fr.jl"; jm: "fr.jm"; jn: "fr.jn"; jo: "fr.jo"; jp: "fr.jp"; jq: "fr.jq"; jr: "fr.jr"; js: "fr.js"; jt: "fr.jt"; ju: "fr.ju"; jv: "fr.jv"; jw: "fr.jw"; jx: "fr.jx"; jy: "fr.jy"; jz: "fr.jz"; ka: "fr.ka"; kb: "fr.kb"; kc: "fr.kc"; kd: "fr.kd"; ke: "fr.ke"; kf: "fr.kf"; kg: "fr.kg"; kh: "fr.kh"; ki: "fr.ki"; kj: "fr.kj"; kk: "fr.kk"; kl: "fr.kl"; km: "fr.km"; kn: "fr.kn"; ko: "fr.ko"; kp: "fr.kp"; kq: "fr.kq"; kr: "fr.kr"; ks: "fr.ks"; kt: "fr.kt"; ku: "fr.ku"; kv: "fr.kv"; kw: "fr.kw"; kx: "fr.kx"; ky: "fr.ky"; kz: "fr.kz"; la: "fr.la"; lb: "fr.lb"; lc: "fr.lc"; ld: "fr.ld"; le: "fr.le"; lf: "fr.lf"; lg: "fr.lg"; lh: "fr.lh"; li: "fr.li"; lj: "fr.lj"; lk: "fr.lk"; ll: "fr.ll"; lm: "fr.lm"; ln: "fr.ln"; lo: "fr.lo"; lp: "fr.lp"; lq: "fr.lq"; lr: "fr.lr"; ls: "fr.ls"; lt: "fr.lt"; lu: "fr.lu"; lv: "fr.lv"; lw: "fr.lw"; lx: "fr.lx"; ly: "fr.ly"; lz: "fr.lz"; ma: "fr.ma"; mb: "fr.mb"; mc: "fr.mc"; md: "fr.md"; me: "fr.me"; mf: "fr.mf"; mg: "fr.mg"; mh: "fr.mh"; mi: "fr.mi"; mj: "fr.mj"; mk: "fr.mk"; ml: "fr.ml"; mm: "fr.mm"; mn: "fr.mn"; mo: "fr.mo"; mp: "fr.mp"; mq: "fr.mq"; mr: "fr.mr"; ms: "fr.ms"; mt: "fr.mt"; mu: "fr.mu"; mv: "fr.mv"; mw: "fr.mw"; mx: "fr.mx"; my: "fr.my"; mz: "fr.mz"; na: "fr.na"; nb: "fr.nb"; nc: "fr.nc"; nd: "fr.nd"; ne: "fr.ne"; nf: "fr.nf"; ng: "fr.ng"; nh: "fr.nh"; ni: "fr.ni"; nj: "fr.nj"; nk: "fr.nk"; nl: "fr.nl"; nm: "fr.nm"; nn: "fr.nn"; no: "fr.no"; np: "fr.np"; nq: "fr.nq"; nr: "fr.nr"; ns: "fr.ns"; nt: "fr.nt"; nu: "fr.nu"; nv: "fr.nv"; nw: "fr.nw"; nx: "fr.nx"; ny: "fr.ny"; nz: "fr.nz"; oa: "fr.oa"; ob: "fr.ob"; oc: "fr.oc"; od: "fr.od"; oe: "fr.oe"; of: "fr.of"; og: "fr.og"; oh: "fr.oh"; oi: "fr.oi"; oj: "fr.oj"; ok: "fr.ok"; ol: "fr.ol"; om: "fr.om"; on: "fr.on"; oo: "fr.oo"; op: "fr.op"; oq: "fr.oq"; or: "fr.or"; os: "fr.os"; ot: "fr.ot"; ou: "fr.ou"; ov: "fr.ov"; ow: "fr.ow"; ox: "fr.ox"; oy: "fr.oy"; oz: "fr.oz"; pa: "fr.pa"; pb: "fr.pb"; pc: "fr.pc"; pd: "fr.pd"; pe: "fr.pe"; pf: "fr.pf"; pg: "fr.pg"; ph: "fr.ph"; pi: "fr.pi"; pj: "fr.pj"; pk: "fr.pk"; pl: "fr.pl"; pm: "fr.pm"; pn: "fr.pn"; po: "fr.po"; pp: "fr.pp"; pq: "fr.pq"; pr: "fr.pr"; ps: "fr.ps"; pt: "fr.pt"; pu: "fr.pu"; pv: "fr.pv"; pw: "fr.pw"; px: "fr.px"; py: "fr.py"; pz: "fr.pz"; qa: "fr.qa"; qb: "fr.qb"; qc: "fr.qc"; qd: "fr.qd"; qe: "fr.qe"; qf: "fr.qf"; qg: "fr.qg"; qh: "fr.qh"; qi: "fr.qi"; qj: "fr.qj"; qk: "fr.qk"; ql: "fr.ql"; qm: "fr.qm"; qn: "fr.qn"; qo: "fr.qo"; qp: "fr.qp"; qq: "fr.qq"; qr: "fr.qr"; qs: "fr.qs"; qt: "fr.qt"; qu: "fr.qu"; qv: "fr.qv"; qw: "fr.qw"; qx: "fr.qx"; qy: "fr.qy"; qz: "fr.qz"; ra: "fr.ra"; rb: "fr.rb"; rc: "fr.rc"; rd: "fr.rd"; re: "fr.re"; rf: "fr.rf"; rg: "fr.rg"; rh: "fr.rh"; ri: "fr.ri"; rj: "fr.rj"; rk: "fr.rk"; rl: "fr.rl"; rm: "fr.rm"; rn: "fr.rn"; ro: "fr.ro"; rp: "fr.rp"; rq: "fr.rq"; rr: "fr.rr"; rs: "fr.rs"; rt: "fr.rt"; ru: "fr.ru"; rv: "fr.rv"; rw: "fr.rw"; rx: "fr.rx"; ry: "fr.ry"; rz: "fr.rz"; sa: "fr.sa"; sb: "fr.sb"; sc: "fr.sc"; sd: "fr.sd"; se: "fr.se"; sf: "fr.sf"; sg: "fr.sg"; sh: "fr.sh"; si: "fr.si"; sj: "fr.sj"; sk: "fr.sk"; sl: "fr.sl"; sm: "fr.sm"; sn: "fr.sn"; so: "fr.so"; sp: "fr.sp"; sq: "fr.sq"; sr: "fr.sr"; ss: "fr.ss"; st: "fr.st"; su: "fr.su"; sv: "fr.sv"; sw: "fr.sw"; sx: "fr.sx"; sy: "fr.sy"; sz: "fr.sz"; ta: "fr.ta"; tb: "fr.tb"; tc: "fr.tc"; td: "fr.td"; te: "fr.te"; tf: "fr.tf"; tg: "fr.tg"; th: "fr.th"; ti: "fr.ti"; tj: "fr.tj"; tk: "fr.tk"; tl: "fr.tl"; tm: "fr.tm"; tn: "fr.tn"; to: "fr.to"; tp: "fr.tp"; tq: "fr.tq"; tr: "fr.tr"; ts: "fr.ts"; tt: "fr.tt"; tu: "fr.tu"; tv: "fr.tv"; tw: "fr.tw"; tx: "fr.tx"; ty: "fr.ty"; tz: "fr.tz"; ua: "fr.ua"; ub: "fr.ub"; uc: "fr.uc"; ud: "fr.ud"; ue: "fr.ue"; uf: "fr.uf"; ug: "fr.ug"; uh: "fr.uh"; ui: "fr.ui"; uj: "fr.uj"; uk: "fr.uk"; ul: "fr.ul"; um: "fr.um"; un: "fr.un"; uo: "fr.uo"; up: "fr.up"; uq: "fr.uq"; ur: "fr.ur"; us: "fr.us"; ut: "fr.ut"; uu: "fr.uu"; uv: "fr.uv"; uw: "fr.uw"; ux: "fr.ux"; uy: "fr.uy"; uz: "fr.uz"; va: "fr.va"; vb: "fr.vb"; vc: "fr.vc"; vd: "fr.vd"; ve: "fr.ve"; vf: "fr.vf"; vg: "fr.vg"; vh: "fr.vh"; vi: "fr.vi"; ... 120 more ...; zz: "fr.zz"; }; ... 527 more ...; zz: { ...; }; }[] >null as any as {[K in manyprops]: {[K2 in manyprops]: `${K}.${K2}`}} : { aa: { aa: "aa.aa"; ab: "aa.ab"; ac: "aa.ac"; ad: "aa.ad"; ae: "aa.ae"; af: "aa.af"; ag: "aa.ag"; ah: "aa.ah"; ai: "aa.ai"; aj: "aa.aj"; ak: "aa.ak"; al: "aa.al"; am: "aa.am"; an: "aa.an"; ao: "aa.ao"; ap: "aa.ap"; aq: "aa.aq"; ar: "aa.ar"; as: "aa.as"; at: "aa.at"; au: "aa.au"; av: "aa.av"; aw: "aa.aw"; ax: "aa.ax"; ay: "aa.ay"; az: "aa.az"; ba: "aa.ba"; bb: "aa.bb"; bc: "aa.bc"; bd: "aa.bd"; be: "aa.be"; bf: "aa.bf"; bg: "aa.bg"; bh: "aa.bh"; bi: "aa.bi"; bj: "aa.bj"; bk: "aa.bk"; bl: "aa.bl"; bm: "aa.bm"; bn: "aa.bn"; bo: "aa.bo"; bp: "aa.bp"; bq: "aa.bq"; br: "aa.br"; bs: "aa.bs"; bt: "aa.bt"; bu: "aa.bu"; bv: "aa.bv"; bw: "aa.bw"; bx: "aa.bx"; by: "aa.by"; bz: "aa.bz"; ca: "aa.ca"; cb: "aa.cb"; cc: "aa.cc"; cd: "aa.cd"; ce: "aa.ce"; cf: "aa.cf"; cg: "aa.cg"; ch: "aa.ch"; ci: "aa.ci"; cj: "aa.cj"; ck: "aa.ck"; cl: "aa.cl"; cm: "aa.cm"; cn: "aa.cn"; co: "aa.co"; cp: "aa.cp"; cq: "aa.cq"; cr: "aa.cr"; cs: "aa.cs"; ct: "aa.ct"; cu: "aa.cu"; cv: "aa.cv"; cw: "aa.cw"; cx: "aa.cx"; cy: "aa.cy"; cz: "aa.cz"; da: "aa.da"; db: "aa.db"; dc: "aa.dc"; dd: "aa.dd"; de: "aa.de"; df: "aa.df"; dg: "aa.dg"; dh: "aa.dh"; di: "aa.di"; dj: "aa.dj"; dk: "aa.dk"; dl: "aa.dl"; dm: "aa.dm"; dn: "aa.dn"; do: "aa.do"; dp: "aa.dp"; dq: "aa.dq"; dr: "aa.dr"; ds: "aa.ds"; dt: "aa.dt"; du: "aa.du"; dv: "aa.dv"; dw: "aa.dw"; dx: "aa.dx"; dy: "aa.dy"; dz: "aa.dz"; ea: "aa.ea"; eb: "aa.eb"; ec: "aa.ec"; ed: "aa.ed"; ee: "aa.ee"; ef: "aa.ef"; eg: "aa.eg"; eh: "aa.eh"; ei: "aa.ei"; ej: "aa.ej"; ek: "aa.ek"; el: "aa.el"; em: "aa.em"; en: "aa.en"; eo: "aa.eo"; ep: "aa.ep"; eq: "aa.eq"; er: "aa.er"; es: "aa.es"; et: "aa.et"; eu: "aa.eu"; ev: "aa.ev"; ew: "aa.ew"; ex: "aa.ex"; ey: "aa.ey"; ez: "aa.ez"; fa: "aa.fa"; fb: "aa.fb"; fc: "aa.fc"; fd: "aa.fd"; fe: "aa.fe"; ff: "aa.ff"; fg: "aa.fg"; fh: "aa.fh"; fi: "aa.fi"; fj: "aa.fj"; fk: "aa.fk"; fl: "aa.fl"; fm: "aa.fm"; fn: "aa.fn"; fo: "aa.fo"; fp: "aa.fp"; fq: "aa.fq"; fr: "aa.fr"; fs: "aa.fs"; ft: "aa.ft"; fu: "aa.fu"; fv: "aa.fv"; fw: "aa.fw"; fx: "aa.fx"; fy: "aa.fy"; fz: "aa.fz"; ga: "aa.ga"; gb: "aa.gb"; gc: "aa.gc"; gd: "aa.gd"; ge: "aa.ge"; gf: "aa.gf"; gg: "aa.gg"; gh: "aa.gh"; gi: "aa.gi"; gj: "aa.gj"; gk: "aa.gk"; gl: "aa.gl"; gm: "aa.gm"; gn: "aa.gn"; go: "aa.go"; gp: "aa.gp"; gq: "aa.gq"; gr: "aa.gr"; gs: "aa.gs"; gt: "aa.gt"; gu: "aa.gu"; gv: "aa.gv"; gw: "aa.gw"; gx: "aa.gx"; gy: "aa.gy"; gz: "aa.gz"; ha: "aa.ha"; hb: "aa.hb"; hc: "aa.hc"; hd: "aa.hd"; he: "aa.he"; hf: "aa.hf"; hg: "aa.hg"; hh: "aa.hh"; hi: "aa.hi"; hj: "aa.hj"; hk: "aa.hk"; hl: "aa.hl"; hm: "aa.hm"; hn: "aa.hn"; ho: "aa.ho"; hp: "aa.hp"; hq: "aa.hq"; hr: "aa.hr"; hs: "aa.hs"; ht: "aa.ht"; hu: "aa.hu"; hv: "aa.hv"; hw: "aa.hw"; hx: "aa.hx"; hy: "aa.hy"; hz: "aa.hz"; ia: "aa.ia"; ib: "aa.ib"; ic: "aa.ic"; id: "aa.id"; ie: "aa.ie"; if: "aa.if"; ig: "aa.ig"; ih: "aa.ih"; ii: "aa.ii"; ij: "aa.ij"; ik: "aa.ik"; il: "aa.il"; im: "aa.im"; in: "aa.in"; io: "aa.io"; ip: "aa.ip"; iq: "aa.iq"; ir: "aa.ir"; is: "aa.is"; it: "aa.it"; iu: "aa.iu"; iv: "aa.iv"; iw: "aa.iw"; ix: "aa.ix"; iy: "aa.iy"; iz: "aa.iz"; ja: "aa.ja"; jb: "aa.jb"; jc: "aa.jc"; jd: "aa.jd"; je: "aa.je"; jf: "aa.jf"; jg: "aa.jg"; jh: "aa.jh"; ji: "aa.ji"; jj: "aa.jj"; jk: "aa.jk"; jl: "aa.jl"; jm: "aa.jm"; jn: "aa.jn"; jo: "aa.jo"; jp: "aa.jp"; jq: "aa.jq"; jr: "aa.jr"; js: "aa.js"; jt: "aa.jt"; ju: "aa.ju"; jv: "aa.jv"; jw: "aa.jw"; jx: "aa.jx"; jy: "aa.jy"; jz: "aa.jz"; ka: "aa.ka"; kb: "aa.kb"; kc: "aa.kc"; kd: "aa.kd"; ke: "aa.ke"; kf: "aa.kf"; kg: "aa.kg"; kh: "aa.kh"; ki: "aa.ki"; kj: "aa.kj"; kk: "aa.kk"; kl: "aa.kl"; km: "aa.km"; kn: "aa.kn"; ko: "aa.ko"; kp: "aa.kp"; kq: "aa.kq"; kr: "aa.kr"; ks: "aa.ks"; kt: "aa.kt"; ku: "aa.ku"; kv: "aa.kv"; kw: "aa.kw"; kx: "aa.kx"; ky: "aa.ky"; kz: "aa.kz"; la: "aa.la"; lb: "aa.lb"; lc: "aa.lc"; ld: "aa.ld"; le: "aa.le"; lf: "aa.lf"; lg: "aa.lg"; lh: "aa.lh"; li: "aa.li"; lj: "aa.lj"; lk: "aa.lk"; ll: "aa.ll"; lm: "aa.lm"; ln: "aa.ln"; lo: "aa.lo"; lp: "aa.lp"; lq: "aa.lq"; lr: "aa.lr"; ls: "aa.ls"; lt: "aa.lt"; lu: "aa.lu"; lv: "aa.lv"; lw: "aa.lw"; lx: "aa.lx"; ly: "aa.ly"; lz: "aa.lz"; ma: "aa.ma"; mb: "aa.mb"; mc: "aa.mc"; md: "aa.md"; me: "aa.me"; mf: "aa.mf"; mg: "aa.mg"; mh: "aa.mh"; mi: "aa.mi"; mj: "aa.mj"; mk: "aa.mk"; ml: "aa.ml"; mm: "aa.mm"; mn: "aa.mn"; mo: "aa.mo"; mp: "aa.mp"; mq: "aa.mq"; mr: "aa.mr"; ms: "aa.ms"; mt: "aa.mt"; mu: "aa.mu"; mv: "aa.mv"; mw: "aa.mw"; mx: "aa.mx"; my: "aa.my"; mz: "aa.mz"; na: "aa.na"; nb: "aa.nb"; nc: "aa.nc"; nd: "aa.nd"; ne: "aa.ne"; nf: "aa.nf"; ng: "aa.ng"; nh: "aa.nh"; ni: "aa.ni"; nj: "aa.nj"; nk: "aa.nk"; nl: "aa.nl"; nm: "aa.nm"; nn: "aa.nn"; no: "aa.no"; np: "aa.np"; nq: "aa.nq"; nr: "aa.nr"; ns: "aa.ns"; nt: "aa.nt"; nu: "aa.nu"; nv: "aa.nv"; nw: "aa.nw"; nx: "aa.nx"; ny: "aa.ny"; nz: "aa.nz"; oa: "aa.oa"; ob: "aa.ob"; oc: "aa.oc"; od: "aa.od"; oe: "aa.oe"; of: "aa.of"; og: "aa.og"; oh: "aa.oh"; oi: "aa.oi"; oj: "aa.oj"; ok: "aa.ok"; ol: "aa.ol"; om: "aa.om"; on: "aa.on"; oo: "aa.oo"; op: "aa.op"; oq: "aa.oq"; or: "aa.or"; os: "aa.os"; ot: "aa.ot"; ou: "aa.ou"; ov: "aa.ov"; ow: "aa.ow"; ox: "aa.ox"; oy: "aa.oy"; oz: "aa.oz"; pa: "aa.pa"; pb: "aa.pb"; pc: "aa.pc"; pd: "aa.pd"; pe: "aa.pe"; pf: "aa.pf"; pg: "aa.pg"; ph: "aa.ph"; pi: "aa.pi"; pj: "aa.pj"; pk: "aa.pk"; pl: "aa.pl"; pm: "aa.pm"; pn: "aa.pn"; po: "aa.po"; pp: "aa.pp"; pq: "aa.pq"; pr: "aa.pr"; ps: "aa.ps"; pt: "aa.pt"; pu: "aa.pu"; pv: "aa.pv"; pw: "aa.pw"; px: "aa.px"; py: "aa.py"; pz: "aa.pz"; qa: "aa.qa"; qb: "aa.qb"; qc: "aa.qc"; qd: "aa.qd"; qe: "aa.qe"; qf: "aa.qf"; qg: "aa.qg"; qh: "aa.qh"; qi: "aa.qi"; qj: "aa.qj"; qk: "aa.qk"; ql: "aa.ql"; qm: "aa.qm"; qn: "aa.qn"; qo: "aa.qo"; qp: "aa.qp"; qq: "aa.qq"; qr: "aa.qr"; qs: "aa.qs"; qt: "aa.qt"; qu: "aa.qu"; qv: "aa.qv"; qw: "aa.qw"; qx: "aa.qx"; qy: "aa.qy"; qz: "aa.qz"; ra: "aa.ra"; rb: "aa.rb"; rc: "aa.rc"; rd: "aa.rd"; re: "aa.re"; rf: "aa.rf"; rg: "aa.rg"; rh: "aa.rh"; ri: "aa.ri"; rj: "aa.rj"; rk: "aa.rk"; rl: "aa.rl"; rm: "aa.rm"; rn: "aa.rn"; ro: "aa.ro"; rp: "aa.rp"; rq: "aa.rq"; rr: "aa.rr"; rs: "aa.rs"; rt: "aa.rt"; ru: "aa.ru"; rv: "aa.rv"; rw: "aa.rw"; rx: "aa.rx"; ry: "aa.ry"; rz: "aa.rz"; sa: "aa.sa"; sb: "aa.sb"; sc: "aa.sc"; sd: "aa.sd"; se: "aa.se"; sf: "aa.sf"; sg: "aa.sg"; sh: "aa.sh"; si: "aa.si"; sj: "aa.sj"; sk: "aa.sk"; sl: "aa.sl"; sm: "aa.sm"; sn: "aa.sn"; so: "aa.so"; sp: "aa.sp"; sq: "aa.sq"; sr: "aa.sr"; ss: "aa.ss"; st: "aa.st"; su: "aa.su"; sv: "aa.sv"; sw: "aa.sw"; sx: "aa.sx"; sy: "aa.sy"; sz: "aa.sz"; ta: "aa.ta"; tb: "aa.tb"; tc: "aa.tc"; td: "aa.td"; te: "aa.te"; tf: "aa.tf"; tg: "aa.tg"; th: "aa.th"; ti: "aa.ti"; tj: "aa.tj"; tk: "aa.tk"; tl: "aa.tl"; tm: "aa.tm"; tn: "aa.tn"; to: "aa.to"; tp: "aa.tp"; tq: "aa.tq"; tr: "aa.tr"; ts: "aa.ts"; tt: "aa.tt"; tu: "aa.tu"; tv: "aa.tv"; tw: "aa.tw"; tx: "aa.tx"; ty: "aa.ty"; tz: "aa.tz"; ua: "aa.ua"; ub: "aa.ub"; uc: "aa.uc"; ud: "aa.ud"; ue: "aa.ue"; uf: "aa.uf"; ug: "aa.ug"; uh: "aa.uh"; ui: "aa.ui"; uj: "aa.uj"; uk: "aa.uk"; ul: "aa.ul"; um: "aa.um"; un: "aa.un"; uo: "aa.uo"; up: "aa.up"; uq: "aa.uq"; ur: "aa.ur"; us: "aa.us"; ut: "aa.ut"; uu: "aa.uu"; uv: "aa.uv"; uw: "aa.uw"; ux: "aa.ux"; uy: "aa.uy"; uz: "aa.uz"; va: "aa.va"; vb: "aa.vb"; vc: "aa.vc"; vd: "aa.vd"; ve: "aa.ve"; vf: "aa.vf"; vg: "aa.vg"; vh: "aa.vh"; vi: "aa.vi"; vj: "aa.vj"; vk: "aa.vk"; vl: "aa.vl"; vm: "aa.vm"; vn: "aa.vn"; vo: "aa.vo"; vp: "aa.vp"; vq: "aa.vq"; vr: "aa.vr"; vs: "aa.vs"; vt: "aa.vt"; vu: "aa.vu"; vv: "aa.vv"; vw: "aa.vw"; vx: "aa.vx"; vy: "aa.vy"; vz: "aa.vz"; wa: "aa.wa"; wb: "aa.wb"; wc: "aa.wc"; wd: "aa.wd"; we: "aa.we"; wf: "aa.wf"; wg: "aa.wg"; wh: "aa.wh"; wi: "aa.wi"; wj: "aa.wj"; wk: "aa.wk"; wl: "aa.wl"; wm: "aa.wm"; wn: "aa.wn"; wo: "aa.wo"; wp: "aa.wp"; wq: "aa.wq"; wr: "aa.wr"; ws: "aa.ws"; wt: "aa.wt"; wu: "aa.wu"; wv: "aa.wv"; ww: "aa.ww"; wx: "aa.wx"; wy: "aa.wy"; wz: "aa.wz"; xa: "aa.xa"; xb: "aa.xb"; xc: "aa.xc"; xd: "aa.xd"; xe: "aa.xe"; xf: "aa.xf"; xg: "aa.xg"; xh: "aa.xh"; xi: "aa.xi"; xj: "aa.xj"; xk: "aa.xk"; xl: "aa.xl"; xm: "aa.xm"; xn: "aa.xn"; xo: "aa.xo"; xp: "aa.xp"; xq: "aa.xq"; xr: "aa.xr"; xs: "aa.xs"; xt: "aa.xt"; xu: "aa.xu"; xv: "aa.xv"; xw: "aa.xw"; xx: "aa.xx"; xy: "aa.xy"; xz: "aa.xz"; ya: "aa.ya"; yb: "aa.yb"; yc: "aa.yc"; yd: "aa.yd"; ye: "aa.ye"; yf: "aa.yf"; yg: "aa.yg"; yh: "aa.yh"; yi: "aa.yi"; yj: "aa.yj"; yk: "aa.yk"; yl: "aa.yl"; ym: "aa.ym"; yn: "aa.yn"; yo: "aa.yo"; yp: "aa.yp"; yq: "aa.yq"; yr: "aa.yr"; ys: "aa.ys"; yt: "aa.yt"; yu: "aa.yu"; yv: "aa.yv"; yw: "aa.yw"; yx: "aa.yx"; yy: "aa.yy"; yz: "aa.yz"; za: "aa.za"; zb: "aa.zb"; zc: "aa.zc"; zd: "aa.zd"; ze: "aa.ze"; zf: "aa.zf"; zg: "aa.zg"; zh: "aa.zh"; zi: "aa.zi"; zj: "aa.zj"; zk: "aa.zk"; zl: "aa.zl"; zm: "aa.zm"; zn: "aa.zn"; zo: "aa.zo"; zp: "aa.zp"; zq: "aa.zq"; zr: "aa.zr"; zs: "aa.zs"; zt: "aa.zt"; zu: "aa.zu"; zv: "aa.zv"; zw: "aa.zw"; zx: "aa.zx"; zy: "aa.zy"; zz: "aa.zz"; }; ab: { aa: "ab.aa"; ab: "ab.ab"; ac: "ab.ac"; ad: "ab.ad"; ae: "ab.ae"; af: "ab.af"; ag: "ab.ag"; ah: "ab.ah"; ai: "ab.ai"; aj: "ab.aj"; ak: "ab.ak"; al: "ab.al"; am: "ab.am"; an: "ab.an"; ao: "ab.ao"; ap: "ab.ap"; aq: "ab.aq"; ar: "ab.ar"; as: "ab.as"; at: "ab.at"; au: "ab.au"; av: "ab.av"; aw: "ab.aw"; ax: "ab.ax"; ay: "ab.ay"; az: "ab.az"; ba: "ab.ba"; bb: "ab.bb"; bc: "ab.bc"; bd: "ab.bd"; be: "ab.be"; bf: "ab.bf"; bg: "ab.bg"; bh: "ab.bh"; bi: "ab.bi"; bj: "ab.bj"; bk: "ab.bk"; bl: "ab.bl"; bm: "ab.bm"; bn: "ab.bn"; bo: "ab.bo"; bp: "ab.bp"; bq: "ab.bq"; br: "ab.br"; bs: "ab.bs"; bt: "ab.bt"; bu: "ab.bu"; bv: "ab.bv"; bw: "ab.bw"; bx: "ab.bx"; by: "ab.by"; bz: "ab.bz"; ca: "ab.ca"; cb: "ab.cb"; cc: "ab.cc"; cd: "ab.cd"; ce: "ab.ce"; cf: "ab.cf"; cg: "ab.cg"; ch: "ab.ch"; ci: "ab.ci"; cj: "ab.cj"; ck: "ab.ck"; cl: "ab.cl"; cm: "ab.cm"; cn: "ab.cn"; co: "ab.co"; cp: "ab.cp"; cq: "ab.cq"; cr: "ab.cr"; cs: "ab.cs"; ct: "ab.ct"; cu: "ab.cu"; cv: "ab.cv"; cw: "ab.cw"; cx: "ab.cx"; cy: "ab.cy"; cz: "ab.cz"; da: "ab.da"; db: "ab.db"; dc: "ab.dc"; dd: "ab.dd"; de: "ab.de"; df: "ab.df"; dg: "ab.dg"; dh: "ab.dh"; di: "ab.di"; dj: "ab.dj"; dk: "ab.dk"; dl: "ab.dl"; dm: "ab.dm"; dn: "ab.dn"; do: "ab.do"; dp: "ab.dp"; dq: "ab.dq"; dr: "ab.dr"; ds: "ab.ds"; dt: "ab.dt"; du: "ab.du"; dv: "ab.dv"; dw: "ab.dw"; dx: "ab.dx"; dy: "ab.dy"; dz: "ab.dz"; ea: "ab.ea"; eb: "ab.eb"; ec: "ab.ec"; ed: "ab.ed"; ee: "ab.ee"; ef: "ab.ef"; eg: "ab.eg"; eh: "ab.eh"; ei: "ab.ei"; ej: "ab.ej"; ek: "ab.ek"; el: "ab.el"; em: "ab.em"; en: "ab.en"; eo: "ab.eo"; ep: "ab.ep"; eq: "ab.eq"; er: "ab.er"; es: "ab.es"; et: "ab.et"; eu: "ab.eu"; ev: "ab.ev"; ew: "ab.ew"; ex: "ab.ex"; ey: "ab.ey"; ez: "ab.ez"; fa: "ab.fa"; fb: "ab.fb"; fc: "ab.fc"; fd: "ab.fd"; fe: "ab.fe"; ff: "ab.ff"; fg: "ab.fg"; fh: "ab.fh"; fi: "ab.fi"; fj: "ab.fj"; fk: "ab.fk"; fl: "ab.fl"; fm: "ab.fm"; fn: "ab.fn"; fo: "ab.fo"; fp: "ab.fp"; fq: "ab.fq"; fr: "ab.fr"; fs: "ab.fs"; ft: "ab.ft"; fu: "ab.fu"; fv: "ab.fv"; fw: "ab.fw"; fx: "ab.fx"; fy: "ab.fy"; fz: "ab.fz"; ga: "ab.ga"; gb: "ab.gb"; gc: "ab.gc"; gd: "ab.gd"; ge: "ab.ge"; gf: "ab.gf"; gg: "ab.gg"; gh: "ab.gh"; gi: "ab.gi"; gj: "ab.gj"; gk: "ab.gk"; gl: "ab.gl"; gm: "ab.gm"; gn: "ab.gn"; go: "ab.go"; gp: "ab.gp"; gq: "ab.gq"; gr: "ab.gr"; gs: "ab.gs"; gt: "ab.gt"; gu: "ab.gu"; gv: "ab.gv"; gw: "ab.gw"; gx: "ab.gx"; gy: "ab.gy"; gz: "ab.gz"; ha: "ab.ha"; hb: "ab.hb"; hc: "ab.hc"; hd: "ab.hd"; he: "ab.he"; hf: "ab.hf"; hg: "ab.hg"; hh: "ab.hh"; hi: "ab.hi"; hj: "ab.hj"; hk: "ab.hk"; hl: "ab.hl"; hm: "ab.hm"; hn: "ab.hn"; ho: "ab.ho"; hp: "ab.hp"; hq: "ab.hq"; hr: "ab.hr"; hs: "ab.hs"; ht: "ab.ht"; hu: "ab.hu"; hv: "ab.hv"; hw: "ab.hw"; hx: "ab.hx"; hy: "ab.hy"; hz: "ab.hz"; ia: "ab.ia"; ib: "ab.ib"; ic: "ab.ic"; id: "ab.id"; ie: "ab.ie"; if: "ab.if"; ig: "ab.ig"; ih: "ab.ih"; ii: "ab.ii"; ij: "ab.ij"; ik: "ab.ik"; il: "ab.il"; im: "ab.im"; in: "ab.in"; io: "ab.io"; ip: "ab.ip"; iq: "ab.iq"; ir: "ab.ir"; is: "ab.is"; it: "ab.it"; iu: "ab.iu"; iv: "ab.iv"; iw: "ab.iw"; ix: "ab.ix"; iy: "ab.iy"; iz: "ab.iz"; ja: "ab.ja"; jb: "ab.jb"; jc: "ab.jc"; jd: "ab.jd"; je: "ab.je"; jf: "ab.jf"; jg: "ab.jg"; jh: "ab.jh"; ji: "ab.ji"; jj: "ab.jj"; jk: "ab.jk"; jl: "ab.jl"; jm: "ab.jm"; jn: "ab.jn"; jo: "ab.jo"; jp: "ab.jp"; jq: "ab.jq"; jr: "ab.jr"; js: "ab.js"; jt: "ab.jt"; ju: "ab.ju"; jv: "ab.jv"; jw: "ab.jw"; jx: "ab.jx"; jy: "ab.jy"; jz: "ab.jz"; ka: "ab.ka"; kb: "ab.kb"; kc: "ab.kc"; kd: "ab.kd"; ke: "ab.ke"; kf: "ab.kf"; kg: "ab.kg"; kh: "ab.kh"; ki: "ab.ki"; kj: "ab.kj"; kk: "ab.kk"; kl: "ab.kl"; km: "ab.km"; kn: "ab.kn"; ko: "ab.ko"; kp: "ab.kp"; kq: "ab.kq"; kr: "ab.kr"; ks: "ab.ks"; kt: "ab.kt"; ku: "ab.ku"; kv: "ab.kv"; kw: "ab.kw"; kx: "ab.kx"; ky: "ab.ky"; kz: "ab.kz"; la: "ab.la"; lb: "ab.lb"; lc: "ab.lc"; ld: "ab.ld"; le: "ab.le"; lf: "ab.lf"; lg: "ab.lg"; lh: "ab.lh"; li: "ab.li"; lj: "ab.lj"; lk: "ab.lk"; ll: "ab.ll"; lm: "ab.lm"; ln: "ab.ln"; lo: "ab.lo"; lp: "ab.lp"; lq: "ab.lq"; lr: "ab.lr"; ls: "ab.ls"; lt: "ab.lt"; lu: "ab.lu"; lv: "ab.lv"; lw: "ab.lw"; lx: "ab.lx"; ly: "ab.ly"; lz: "ab.lz"; ma: "ab.ma"; mb: "ab.mb"; mc: "ab.mc"; md: "ab.md"; me: "ab.me"; mf: "ab.mf"; mg: "ab.mg"; mh: "ab.mh"; mi: "ab.mi"; mj: "ab.mj"; mk: "ab.mk"; ml: "ab.ml"; mm: "ab.mm"; mn: "ab.mn"; mo: "ab.mo"; mp: "ab.mp"; mq: "ab.mq"; mr: "ab.mr"; ms: "ab.ms"; mt: "ab.mt"; mu: "ab.mu"; mv: "ab.mv"; mw: "ab.mw"; mx: "ab.mx"; my: "ab.my"; mz: "ab.mz"; na: "ab.na"; nb: "ab.nb"; nc: "ab.nc"; nd: "ab.nd"; ne: "ab.ne"; nf: "ab.nf"; ng: "ab.ng"; nh: "ab.nh"; ni: "ab.ni"; nj: "ab.nj"; nk: "ab.nk"; nl: "ab.nl"; nm: "ab.nm"; nn: "ab.nn"; no: "ab.no"; np: "ab.np"; nq: "ab.nq"; nr: "ab.nr"; ns: "ab.ns"; nt: "ab.nt"; nu: "ab.nu"; nv: "ab.nv"; nw: "ab.nw"; nx: "ab.nx"; ny: "ab.ny"; nz: "ab.nz"; oa: "ab.oa"; ob: "ab.ob"; oc: "ab.oc"; od: "ab.od"; oe: "ab.oe"; of: "ab.of"; og: "ab.og"; oh: "ab.oh"; oi: "ab.oi"; oj: "ab.oj"; ok: "ab.ok"; ol: "ab.ol"; om: "ab.om"; on: "ab.on"; oo: "ab.oo"; op: "ab.op"; oq: "ab.oq"; or: "ab.or"; os: "ab.os"; ot: "ab.ot"; ou: "ab.ou"; ov: "ab.ov"; ow: "ab.ow"; ox: "ab.ox"; oy: "ab.oy"; oz: "ab.oz"; pa: "ab.pa"; pb: "ab.pb"; pc: "ab.pc"; pd: "ab.pd"; pe: "ab.pe"; pf: "ab.pf"; pg: "ab.pg"; ph: "ab.ph"; pi: "ab.pi"; pj: "ab.pj"; pk: "ab.pk"; pl: "ab.pl"; pm: "ab.pm"; pn: "ab.pn"; po: "ab.po"; pp: "ab.pp"; pq: "ab.pq"; pr: "ab.pr"; ps: "ab.ps"; pt: "ab.pt"; pu: "ab.pu"; pv: "ab.pv"; pw: "ab.pw"; px: "ab.px"; py: "ab.py"; pz: "ab.pz"; qa: "ab.qa"; qb: "ab.qb"; qc: "ab.qc"; qd: "ab.qd"; qe: "ab.qe"; qf: "ab.qf"; qg: "ab.qg"; qh: "ab.qh"; qi: "ab.qi"; qj: "ab.qj"; qk: "ab.qk"; ql: "ab.ql"; qm: "ab.qm"; qn: "ab.qn"; qo: "ab.qo"; qp: "ab.qp"; qq: "ab.qq"; qr: "ab.qr"; qs: "ab.qs"; qt: "ab.qt"; qu: "ab.qu"; qv: "ab.qv"; qw: "ab.qw"; qx: "ab.qx"; qy: "ab.qy"; qz: "ab.qz"; ra: "ab.ra"; rb: "ab.rb"; rc: "ab.rc"; rd: "ab.rd"; re: "ab.re"; rf: "ab.rf"; rg: "ab.rg"; rh: "ab.rh"; ri: "ab.ri"; rj: "ab.rj"; rk: "ab.rk"; rl: "ab.rl"; rm: "ab.rm"; rn: "ab.rn"; ro: "ab.ro"; rp: "ab.rp"; rq: "ab.rq"; rr: "ab.rr"; rs: "ab.rs"; rt: "ab.rt"; ru: "ab.ru"; rv: "ab.rv"; rw: "ab.rw"; rx: "ab.rx"; ry: "ab.ry"; rz: "ab.rz"; sa: "ab.sa"; sb: "ab.sb"; sc: "ab.sc"; sd: "ab.sd"; se: "ab.se"; sf: "ab.sf"; sg: "ab.sg"; sh: "ab.sh"; si: "ab.si"; sj: "ab.sj"; sk: "ab.sk"; sl: "ab.sl"; sm: "ab.sm"; sn: "ab.sn"; so: "ab.so"; sp: "ab.sp"; sq: "ab.sq"; sr: "ab.sr"; ss: "ab.ss"; st: "ab.st"; su: "ab.su"; sv: "ab.sv"; sw: "ab.sw"; sx: "ab.sx"; sy: "ab.sy"; sz: "ab.sz"; ta: "ab.ta"; tb: "ab.tb"; tc: "ab.tc"; td: "ab.td"; te: "ab.te"; tf: "ab.tf"; tg: "ab.tg"; th: "ab.th"; ti: "ab.ti"; tj: "ab.tj"; tk: "ab.tk"; tl: "ab.tl"; tm: "ab.tm"; tn: "ab.tn"; to: "ab.to"; tp: "ab.tp"; tq: "ab.tq"; tr: "ab.tr"; ts: "ab.ts"; tt: "ab.tt"; tu: "ab.tu"; tv: "ab.tv"; tw: "ab.tw"; tx: "ab.tx"; ty: "ab.ty"; tz: "ab.tz"; ua: "ab.ua"; ub: "ab.ub"; uc: "ab.uc"; ud: "ab.ud"; ue: "ab.ue"; uf: "ab.uf"; ug: "ab.ug"; uh: "ab.uh"; ui: "ab.ui"; uj: "ab.uj"; uk: "ab.uk"; ul: "ab.ul"; um: "ab.um"; un: "ab.un"; uo: "ab.uo"; up: "ab.up"; uq: "ab.uq"; ur: "ab.ur"; us: "ab.us"; ut: "ab.ut"; uu: "ab.uu"; uv: "ab.uv"; uw: "ab.uw"; ux: "ab.ux"; uy: "ab.uy"; uz: "ab.uz"; va: "ab.va"; vb: "ab.vb"; vc: "ab.vc"; vd: "ab.vd"; ve: "ab.ve"; vf: "ab.vf"; vg: "ab.vg"; vh: "ab.vh"; vi: "ab.vi"; vj: "ab.vj"; vk: "ab.vk"; vl: "ab.vl"; vm: "ab.vm"; vn: "ab.vn"; vo: "ab.vo"; vp: "ab.vp"; vq: "ab.vq"; vr: "ab.vr"; vs: "ab.vs"; vt: "ab.vt"; vu: "ab.vu"; vv: "ab.vv"; vw: "ab.vw"; vx: "ab.vx"; vy: "ab.vy"; vz: "ab.vz"; wa: "ab.wa"; wb: "ab.wb"; wc: "ab.wc"; wd: "ab.wd"; we: "ab.we"; wf: "ab.wf"; wg: "ab.wg"; wh: "ab.wh"; wi: "ab.wi"; wj: "ab.wj"; wk: "ab.wk"; wl: "ab.wl"; wm: "ab.wm"; wn: "ab.wn"; wo: "ab.wo"; wp: "ab.wp"; wq: "ab.wq"; wr: "ab.wr"; ws: "ab.ws"; wt: "ab.wt"; wu: "ab.wu"; wv: "ab.wv"; ww: "ab.ww"; wx: "ab.wx"; wy: "ab.wy"; wz: "ab.wz"; xa: "ab.xa"; xb: "ab.xb"; xc: "ab.xc"; xd: "ab.xd"; xe: "ab.xe"; xf: "ab.xf"; xg: "ab.xg"; xh: "ab.xh"; xi: "ab.xi"; xj: "ab.xj"; xk: "ab.xk"; xl: "ab.xl"; xm: "ab.xm"; xn: "ab.xn"; xo: "ab.xo"; xp: "ab.xp"; xq: "ab.xq"; xr: "ab.xr"; xs: "ab.xs"; xt: "ab.xt"; xu: "ab.xu"; xv: "ab.xv"; xw: "ab.xw"; xx: "ab.xx"; xy: "ab.xy"; xz: "ab.xz"; ya: "ab.ya"; yb: "ab.yb"; yc: "ab.yc"; yd: "ab.yd"; ye: "ab.ye"; yf: "ab.yf"; yg: "ab.yg"; yh: "ab.yh"; yi: "ab.yi"; yj: "ab.yj"; yk: "ab.yk"; yl: "ab.yl"; ym: "ab.ym"; yn: "ab.yn"; yo: "ab.yo"; yp: "ab.yp"; yq: "ab.yq"; yr: "ab.yr"; ys: "ab.ys"; yt: "ab.yt"; yu: "ab.yu"; yv: "ab.yv"; yw: "ab.yw"; yx: "ab.yx"; yy: "ab.yy"; yz: "ab.yz"; za: "ab.za"; zb: "ab.zb"; zc: "ab.zc"; zd: "ab.zd"; ze: "ab.ze"; zf: "ab.zf"; zg: "ab.zg"; zh: "ab.zh"; zi: "ab.zi"; zj: "ab.zj"; zk: "ab.zk"; zl: "ab.zl"; zm: "ab.zm"; zn: "ab.zn"; zo: "ab.zo"; zp: "ab.zp"; zq: "ab.zq"; zr: "ab.zr"; zs: "ab.zs"; zt: "ab.zt"; zu: "ab.zu"; zv: "ab.zv"; zw: "ab.zw"; zx: "ab.zx"; zy: "ab.zy"; zz: "ab.zz"; }; ac: { aa: "ac.aa"; ab: "ac.ab"; ac: "ac.ac"; ad: "ac.ad"; ae: "ac.ae"; af: "ac.af"; ag: "ac.ag"; ah: "ac.ah"; ai: "ac.ai"; aj: "ac.aj"; ak: "ac.ak"; al: "ac.al"; am: "ac.am"; an: "ac.an"; ao: "ac.ao"; ap: "ac.ap"; aq: "ac.aq"; ar: "ac.ar"; as: "ac.as"; at: "ac.at"; au: "ac.au"; av: "ac.av"; aw: "ac.aw"; ax: "ac.ax"; ay: "ac.ay"; az: "ac.az"; ba: "ac.ba"; bb: "ac.bb"; bc: "ac.bc"; bd: "ac.bd"; be: "ac.be"; bf: "ac.bf"; bg: "ac.bg"; bh: "ac.bh"; bi: "ac.bi"; bj: "ac.bj"; bk: "ac.bk"; bl: "ac.bl"; bm: "ac.bm"; bn: "ac.bn"; bo: "ac.bo"; bp: "ac.bp"; bq: "ac.bq"; br: "ac.br"; bs: "ac.bs"; bt: "ac.bt"; bu: "ac.bu"; bv: "ac.bv"; bw: "ac.bw"; bx: "ac.bx"; by: "ac.by"; bz: "ac.bz"; ca: "ac.ca"; cb: "ac.cb"; cc: "ac.cc"; cd: "ac.cd"; ce: "ac.ce"; cf: "ac.cf"; cg: "ac.cg"; ch: "ac.ch"; ci: "ac.ci"; cj: "ac.cj"; ck: "ac.ck"; cl: "ac.cl"; cm: "ac.cm"; cn: "ac.cn"; co: "ac.co"; cp: "ac.cp"; cq: "ac.cq"; cr: "ac.cr"; cs: "ac.cs"; ct: "ac.ct"; cu: "ac.cu"; cv: "ac.cv"; cw: "ac.cw"; cx: "ac.cx"; cy: "ac.cy"; cz: "ac.cz"; da: "ac.da"; db: "ac.db"; dc: "ac.dc"; dd: "ac.dd"; de: "ac.de"; df: "ac.df"; dg: "ac.dg"; dh: "ac.dh"; di: "ac.di"; dj: "ac.dj"; dk: "ac.dk"; dl: "ac.dl"; dm: "ac.dm"; dn: "ac.dn"; do: "ac.do"; dp: "ac.dp"; dq: "ac.dq"; dr: "ac.dr"; ds: "ac.ds"; dt: "ac.dt"; du: "ac.du"; dv: "ac.dv"; dw: "ac.dw"; dx: "ac.dx"; dy: "ac.dy"; dz: "ac.dz"; ea: "ac.ea"; eb: "ac.eb"; ec: "ac.ec"; ed: "ac.ed"; ee: "ac.ee"; ef: "ac.ef"; eg: "ac.eg"; eh: "ac.eh"; ei: "ac.ei"; ej: "ac.ej"; ek: "ac.ek"; el: "ac.el"; em: "ac.em"; en: "ac.en"; eo: "ac.eo"; ep: "ac.ep"; eq: "ac.eq"; er: "ac.er"; es: "ac.es"; et: "ac.et"; eu: "ac.eu"; ev: "ac.ev"; ew: "ac.ew"; ex: "ac.ex"; ey: "ac.ey"; ez: "ac.ez"; fa: "ac.fa"; fb: "ac.fb"; fc: "ac.fc"; fd: "ac.fd"; fe: "ac.fe"; ff: "ac.ff"; fg: "ac.fg"; fh: "ac.fh"; fi: "ac.fi"; fj: "ac.fj"; fk: "ac.fk"; fl: "ac.fl"; fm: "ac.fm"; fn: "ac.fn"; fo: "ac.fo"; fp: "ac.fp"; fq: "ac.fq"; fr: "ac.fr"; fs: "ac.fs"; ft: "ac.ft"; fu: "ac.fu"; fv: "ac.fv"; fw: "ac.fw"; fx: "ac.fx"; fy: "ac.fy"; fz: "ac.fz"; ga: "ac.ga"; gb: "ac.gb"; gc: "ac.gc"; gd: "ac.gd"; ge: "ac.ge"; gf: "ac.gf"; gg: "ac.gg"; gh: "ac.gh"; gi: "ac.gi"; gj: "ac.gj"; gk: "ac.gk"; gl: "ac.gl"; gm: "ac.gm"; gn: "ac.gn"; go: "ac.go"; gp: "ac.gp"; gq: "ac.gq"; gr: "ac.gr"; gs: "ac.gs"; gt: "ac.gt"; gu: "ac.gu"; gv: "ac.gv"; gw: "ac.gw"; gx: "ac.gx"; gy: "ac.gy"; gz: "ac.gz"; ha: "ac.ha"; hb: "ac.hb"; hc: "ac.hc"; hd: "ac.hd"; he: "ac.he"; hf: "ac.hf"; hg: "ac.hg"; hh: "ac.hh"; hi: "ac.hi"; hj: "ac.hj"; hk: "ac.hk"; hl: "ac.hl"; hm: "ac.hm"; hn: "ac.hn"; ho: "ac.ho"; hp: "ac.hp"; hq: "ac.hq"; hr: "ac.hr"; hs: "ac.hs"; ht: "ac.ht"; hu: "ac.hu"; hv: "ac.hv"; hw: "ac.hw"; hx: "ac.hx"; hy: "ac.hy"; hz: "ac.hz"; ia: "ac.ia"; ib: "ac.ib"; ic: "ac.ic"; id: "ac.id"; ie: "ac.ie"; if: "ac.if"; ig: "ac.ig"; ih: "ac.ih"; ii: "ac.ii"; ij: "ac.ij"; ik: "ac.ik"; il: "ac.il"; im: "ac.im"; in: "ac.in"; io: "ac.io"; ip: "ac.ip"; iq: "ac.iq"; ir: "ac.ir"; is: "ac.is"; it: "ac.it"; iu: "ac.iu"; iv: "ac.iv"; iw: "ac.iw"; ix: "ac.ix"; iy: "ac.iy"; iz: "ac.iz"; ja: "ac.ja"; jb: "ac.jb"; jc: "ac.jc"; jd: "ac.jd"; je: "ac.je"; jf: "ac.jf"; jg: "ac.jg"; jh: "ac.jh"; ji: "ac.ji"; jj: "ac.jj"; jk: "ac.jk"; jl: "ac.jl"; jm: "ac.jm"; jn: "ac.jn"; jo: "ac.jo"; jp: "ac.jp"; jq: "ac.jq"; jr: "ac.jr"; js: "ac.js"; jt: "ac.jt"; ju: "ac.ju"; jv: "ac.jv"; jw: "ac.jw"; jx: "ac.jx"; jy: "ac.jy"; jz: "ac.jz"; ka: "ac.ka"; kb: "ac.kb"; kc: "ac.kc"; kd: "ac.kd"; ke: "ac.ke"; kf: "ac.kf"; kg: "ac.kg"; kh: "ac.kh"; ki: "ac.ki"; kj: "ac.kj"; kk: "ac.kk"; kl: "ac.kl"; km: "ac.km"; kn: "ac.kn"; ko: "ac.ko"; kp: "ac.kp"; kq: "ac.kq"; kr: "ac.kr"; ks: "ac.ks"; kt: "ac.kt"; ku: "ac.ku"; kv: "ac.kv"; kw: "ac.kw"; kx: "ac.kx"; ky: "ac.ky"; kz: "ac.kz"; la: "ac.la"; lb: "ac.lb"; lc: "ac.lc"; ld: "ac.ld"; le: "ac.le"; lf: "ac.lf"; lg: "ac.lg"; lh: "ac.lh"; li: "ac.li"; lj: "ac.lj"; lk: "ac.lk"; ll: "ac.ll"; lm: "ac.lm"; ln: "ac.ln"; lo: "ac.lo"; lp: "ac.lp"; lq: "ac.lq"; lr: "ac.lr"; ls: "ac.ls"; lt: "ac.lt"; lu: "ac.lu"; lv: "ac.lv"; lw: "ac.lw"; lx: "ac.lx"; ly: "ac.ly"; lz: "ac.lz"; ma: "ac.ma"; mb: "ac.mb"; mc: "ac.mc"; md: "ac.md"; me: "ac.me"; mf: "ac.mf"; mg: "ac.mg"; mh: "ac.mh"; mi: "ac.mi"; mj: "ac.mj"; mk: "ac.mk"; ml: "ac.ml"; mm: "ac.mm"; mn: "ac.mn"; mo: "ac.mo"; mp: "ac.mp"; mq: "ac.mq"; mr: "ac.mr"; ms: "ac.ms"; mt: "ac.mt"; mu: "ac.mu"; mv: "ac.mv"; mw: "ac.mw"; mx: "ac.mx"; my: "ac.my"; mz: "ac.mz"; na: "ac.na"; nb: "ac.nb"; nc: "ac.nc"; nd: "ac.nd"; ne: "ac.ne"; nf: "ac.nf"; ng: "ac.ng"; nh: "ac.nh"; ni: "ac.ni"; nj: "ac.nj"; nk: "ac.nk"; nl: "ac.nl"; nm: "ac.nm"; nn: "ac.nn"; no: "ac.no"; np: "ac.np"; nq: "ac.nq"; nr: "ac.nr"; ns: "ac.ns"; nt: "ac.nt"; nu: "ac.nu"; nv: "ac.nv"; nw: "ac.nw"; nx: "ac.nx"; ny: "ac.ny"; nz: "ac.nz"; oa: "ac.oa"; ob: "ac.ob"; oc: "ac.oc"; od: "ac.od"; oe: "ac.oe"; of: "ac.of"; og: "ac.og"; oh: "ac.oh"; oi: "ac.oi"; oj: "ac.oj"; ok: "ac.ok"; ol: "ac.ol"; om: "ac.om"; on: "ac.on"; oo: "ac.oo"; op: "ac.op"; oq: "ac.oq"; or: "ac.or"; os: "ac.os"; ot: "ac.ot"; ou: "ac.ou"; ov: "ac.ov"; ow: "ac.ow"; ox: "ac.ox"; oy: "ac.oy"; oz: "ac.oz"; pa: "ac.pa"; pb: "ac.pb"; pc: "ac.pc"; pd: "ac.pd"; pe: "ac.pe"; pf: "ac.pf"; pg: "ac.pg"; ph: "ac.ph"; pi: "ac.pi"; pj: "ac.pj"; pk: "ac.pk"; pl: "ac.pl"; pm: "ac.pm"; pn: "ac.pn"; po: "ac.po"; pp: "ac.pp"; pq: "ac.pq"; pr: "ac.pr"; ps: "ac.ps"; pt: "ac.pt"; pu: "ac.pu"; pv: "ac.pv"; pw: "ac.pw"; px: "ac.px"; py: "ac.py"; pz: "ac.pz"; qa: "ac.qa"; qb: "ac.qb"; qc: "ac.qc"; qd: "ac.qd"; qe: "ac.qe"; qf: "ac.qf"; qg: "ac.qg"; qh: "ac.qh"; qi: "ac.qi"; qj: "ac.qj"; qk: "ac.qk"; ql: "ac.ql"; qm: "ac.qm"; qn: "ac.qn"; qo: "ac.qo"; qp: "ac.qp"; qq: "ac.qq"; qr: "ac.qr"; qs: "ac.qs"; qt: "ac.qt"; qu: "ac.qu"; qv: "ac.qv"; qw: "ac.qw"; qx: "ac.qx"; qy: "ac.qy"; qz: "ac.qz"; ra: "ac.ra"; rb: "ac.rb"; rc: "ac.rc"; rd: "ac.rd"; re: "ac.re"; rf: "ac.rf"; rg: "ac.rg"; rh: "ac.rh"; ri: "ac.ri"; rj: "ac.rj"; rk: "ac.rk"; rl: "ac.rl"; rm: "ac.rm"; rn: "ac.rn"; ro: "ac.ro"; rp: "ac.rp"; rq: "ac.rq"; rr: "ac.rr"; rs: "ac.rs"; rt: "ac.rt"; ru: "ac.ru"; rv: "ac.rv"; rw: "ac.rw"; rx: "ac.rx"; ry: "ac.ry"; rz: "ac.rz"; sa: "ac.sa"; sb: "ac.sb"; sc: "ac.sc"; sd: "ac.sd"; se: "ac.se"; sf: "ac.sf"; sg: "ac.sg"; sh: "ac.sh"; si: "ac.si"; sj: "ac.sj"; sk: "ac.sk"; sl: "ac.sl"; sm: "ac.sm"; sn: "ac.sn"; so: "ac.so"; sp: "ac.sp"; sq: "ac.sq"; sr: "ac.sr"; ss: "ac.ss"; st: "ac.st"; su: "ac.su"; sv: "ac.sv"; sw: "ac.sw"; sx: "ac.sx"; sy: "ac.sy"; sz: "ac.sz"; ta: "ac.ta"; tb: "ac.tb"; tc: "ac.tc"; td: "ac.td"; te: "ac.te"; tf: "ac.tf"; tg: "ac.tg"; th: "ac.th"; ti: "ac.ti"; tj: "ac.tj"; tk: "ac.tk"; tl: "ac.tl"; tm: "ac.tm"; tn: "ac.tn"; to: "ac.to"; tp: "ac.tp"; tq: "ac.tq"; tr: "ac.tr"; ts: "ac.ts"; tt: "ac.tt"; tu: "ac.tu"; tv: "ac.tv"; tw: "ac.tw"; tx: "ac.tx"; ty: "ac.ty"; tz: "ac.tz"; ua: "ac.ua"; ub: "ac.ub"; uc: "ac.uc"; ud: "ac.ud"; ue: "ac.ue"; uf: "ac.uf"; ug: "ac.ug"; uh: "ac.uh"; ui: "ac.ui"; uj: "ac.uj"; uk: "ac.uk"; ul: "ac.ul"; um: "ac.um"; un: "ac.un"; uo: "ac.uo"; up: "ac.up"; uq: "ac.uq"; ur: "ac.ur"; us: "ac.us"; ut: "ac.ut"; uu: "ac.uu"; uv: "ac.uv"; uw: "ac.uw"; ux: "ac.ux"; uy: "ac.uy"; uz: "ac.uz"; va: "ac.va"; vb: "ac.vb"; vc: "ac.vc"; vd: "ac.vd"; ve: "ac.ve"; vf: "ac.vf"; vg: "ac.vg"; vh: "ac.vh"; vi: "ac.vi"; vj: "ac.vj"; vk: "ac.vk"; vl: "ac.vl"; vm: "ac.vm"; vn: "ac.vn"; vo: "ac.vo"; vp: "ac.vp"; vq: "ac.vq"; vr: "ac.vr"; vs: "ac.vs"; vt: "ac.vt"; vu: "ac.vu"; vv: "ac.vv"; vw: "ac.vw"; vx: "ac.vx"; vy: "ac.vy"; vz: "ac.vz"; wa: "ac.wa"; wb: "ac.wb"; wc: "ac.wc"; wd: "ac.wd"; we: "ac.we"; wf: "ac.wf"; wg: "ac.wg"; wh: "ac.wh"; wi: "ac.wi"; wj: "ac.wj"; wk: "ac.wk"; wl: "ac.wl"; wm: "ac.wm"; wn: "ac.wn"; wo: "ac.wo"; wp: "ac.wp"; wq: "ac.wq"; wr: "ac.wr"; ws: "ac.ws"; wt: "ac.wt"; wu: "ac.wu"; wv: "ac.wv"; ww: "ac.ww"; wx: "ac.wx"; wy: "ac.wy"; wz: "ac.wz"; xa: "ac.xa"; xb: "ac.xb"; xc: "ac.xc"; xd: "ac.xd"; xe: "ac.xe"; xf: "ac.xf"; xg: "ac.xg"; xh: "ac.xh"; xi: "ac.xi"; xj: "ac.xj"; xk: "ac.xk"; xl: "ac.xl"; xm: "ac.xm"; xn: "ac.xn"; xo: "ac.xo"; xp: "ac.xp"; xq: "ac.xq"; xr: "ac.xr"; xs: "ac.xs"; xt: "ac.xt"; xu: "ac.xu"; xv: "ac.xv"; xw: "ac.xw"; xx: "ac.xx"; xy: "ac.xy"; xz: "ac.xz"; ya: "ac.ya"; yb: "ac.yb"; yc: "ac.yc"; yd: "ac.yd"; ye: "ac.ye"; yf: "ac.yf"; yg: "ac.yg"; yh: "ac.yh"; yi: "ac.yi"; yj: "ac.yj"; yk: "ac.yk"; yl: "ac.yl"; ym: "ac.ym"; yn: "ac.yn"; yo: "ac.yo"; yp: "ac.yp"; yq: "ac.yq"; yr: "ac.yr"; ys: "ac.ys"; yt: "ac.yt"; yu: "ac.yu"; yv: "ac.yv"; yw: "ac.yw"; yx: "ac.yx"; yy: "ac.yy"; yz: "ac.yz"; za: "ac.za"; zb: "ac.zb"; zc: "ac.zc"; zd: "ac.zd"; ze: "ac.ze"; zf: "ac.zf"; zg: "ac.zg"; zh: "ac.zh"; zi: "ac.zi"; zj: "ac.zj"; zk: "ac.zk"; zl: "ac.zl"; zm: "ac.zm"; zn: "ac.zn"; zo: "ac.zo"; zp: "ac.zp"; zq: "ac.zq"; zr: "ac.zr"; zs: "ac.zs"; zt: "ac.zt"; zu: "ac.zu"; zv: "ac.zv"; zw: "ac.zw"; zx: "ac.zx"; zy: "ac.zy"; zz: "ac.zz"; }; ad: { aa: "ad.aa"; ab: "ad.ab"; ac: "ad.ac"; ad: "ad.ad"; ae: "ad.ae"; af: "ad.af"; ag: "ad.ag"; ah: "ad.ah"; ai: "ad.ai"; aj: "ad.aj"; ak: "ad.ak"; al: "ad.al"; am: "ad.am"; an: "ad.an"; ao: "ad.ao"; ap: "ad.ap"; aq: "ad.aq"; ar: "ad.ar"; as: "ad.as"; at: "ad.at"; au: "ad.au"; av: "ad.av"; aw: "ad.aw"; ax: "ad.ax"; ay: "ad.ay"; az: "ad.az"; ba: "ad.ba"; bb: "ad.bb"; bc: "ad.bc"; bd: "ad.bd"; be: "ad.be"; bf: "ad.bf"; bg: "ad.bg"; bh: "ad.bh"; bi: "ad.bi"; bj: "ad.bj"; bk: "ad.bk"; bl: "ad.bl"; bm: "ad.bm"; bn: "ad.bn"; bo: "ad.bo"; bp: "ad.bp"; bq: "ad.bq"; br: "ad.br"; bs: "ad.bs"; bt: "ad.bt"; bu: "ad.bu"; bv: "ad.bv"; bw: "ad.bw"; bx: "ad.bx"; by: "ad.by"; bz: "ad.bz"; ca: "ad.ca"; cb: "ad.cb"; cc: "ad.cc"; cd: "ad.cd"; ce: "ad.ce"; cf: "ad.cf"; cg: "ad.cg"; ch: "ad.ch"; ci: "ad.ci"; cj: "ad.cj"; ck: "ad.ck"; cl: "ad.cl"; cm: "ad.cm"; cn: "ad.cn"; co: "ad.co"; cp: "ad.cp"; cq: "ad.cq"; cr: "ad.cr"; cs: "ad.cs"; ct: "ad.ct"; cu: "ad.cu"; cv: "ad.cv"; cw: "ad.cw"; cx: "ad.cx"; cy: "ad.cy"; cz: "ad.cz"; da: "ad.da"; db: "ad.db"; dc: "ad.dc"; dd: "ad.dd"; de: "ad.de"; df: "ad.df"; dg: "ad.dg"; dh: "ad.dh"; di: "ad.di"; dj: "ad.dj"; dk: "ad.dk"; dl: "ad.dl"; dm: "ad.dm"; dn: "ad.dn"; do: "ad.do"; dp: "ad.dp"; dq: "ad.dq"; dr: "ad.dr"; ds: "ad.ds"; dt: "ad.dt"; du: "ad.du"; dv: "ad.dv"; dw: "ad.dw"; dx: "ad.dx"; dy: "ad.dy"; dz: "ad.dz"; ea: "ad.ea"; eb: "ad.eb"; ec: "ad.ec"; ed: "ad.ed"; ee: "ad.ee"; ef: "ad.ef"; eg: "ad.eg"; eh: "ad.eh"; ei: "ad.ei"; ej: "ad.ej"; ek: "ad.ek"; el: "ad.el"; em: "ad.em"; en: "ad.en"; eo: "ad.eo"; ep: "ad.ep"; eq: "ad.eq"; er: "ad.er"; es: "ad.es"; et: "ad.et"; eu: "ad.eu"; ev: "ad.ev"; ew: "ad.ew"; ex: "ad.ex"; ey: "ad.ey"; ez: "ad.ez"; fa: "ad.fa"; fb: "ad.fb"; fc: "ad.fc"; fd: "ad.fd"; fe: "ad.fe"; ff: "ad.ff"; fg: "ad.fg"; fh: "ad.fh"; fi: "ad.fi"; fj: "ad.fj"; fk: "ad.fk"; fl: "ad.fl"; fm: "ad.fm"; fn: "ad.fn"; fo: "ad.fo"; fp: "ad.fp"; fq: "ad.fq"; fr: "ad.fr"; fs: "ad.fs"; ft: "ad.ft"; fu: "ad.fu"; fv: "ad.fv"; fw: "ad.fw"; fx: "ad.fx"; fy: "ad.fy"; fz: "ad.fz"; ga: "ad.ga"; gb: "ad.gb"; gc: "ad.gc"; gd: "ad.gd"; ge: "ad.ge"; gf: "ad.gf"; gg: "ad.gg"; gh: "ad.gh"; gi: "ad.gi"; gj: "ad.gj"; gk: "ad.gk"; gl: "ad.gl"; gm: "ad.gm"; gn: "ad.gn"; go: "ad.go"; gp: "ad.gp"; gq: "ad.gq"; gr: "ad.gr"; gs: "ad.gs"; gt: "ad.gt"; gu: "ad.gu"; gv: "ad.gv"; gw: "ad.gw"; gx: "ad.gx"; gy: "ad.gy"; gz: "ad.gz"; ha: "ad.ha"; hb: "ad.hb"; hc: "ad.hc"; hd: "ad.hd"; he: "ad.he"; hf: "ad.hf"; hg: "ad.hg"; hh: "ad.hh"; hi: "ad.hi"; hj: "ad.hj"; hk: "ad.hk"; hl: "ad.hl"; hm: "ad.hm"; hn: "ad.hn"; ho: "ad.ho"; hp: "ad.hp"; hq: "ad.hq"; hr: "ad.hr"; hs: "ad.hs"; ht: "ad.ht"; hu: "ad.hu"; hv: "ad.hv"; hw: "ad.hw"; hx: "ad.hx"; hy: "ad.hy"; hz: "ad.hz"; ia: "ad.ia"; ib: "ad.ib"; ic: "ad.ic"; id: "ad.id"; ie: "ad.ie"; if: "ad.if"; ig: "ad.ig"; ih: "ad.ih"; ii: "ad.ii"; ij: "ad.ij"; ik: "ad.ik"; il: "ad.il"; im: "ad.im"; in: "ad.in"; io: "ad.io"; ip: "ad.ip"; iq: "ad.iq"; ir: "ad.ir"; is: "ad.is"; it: "ad.it"; iu: "ad.iu"; iv: "ad.iv"; iw: "ad.iw"; ix: "ad.ix"; iy: "ad.iy"; iz: "ad.iz"; ja: "ad.ja"; jb: "ad.jb"; jc: "ad.jc"; jd: "ad.jd"; je: "ad.je"; jf: "ad.jf"; jg: "ad.jg"; jh: "ad.jh"; ji: "ad.ji"; jj: "ad.jj"; jk: "ad.jk"; jl: "ad.jl"; jm: "ad.jm"; jn: "ad.jn"; jo: "ad.jo"; jp: "ad.jp"; jq: "ad.jq"; jr: "ad.jr"; js: "ad.js"; jt: "ad.jt"; ju: "ad.ju"; jv: "ad.jv"; jw: "ad.jw"; jx: "ad.jx"; jy: "ad.jy"; jz: "ad.jz"; ka: "ad.ka"; kb: "ad.kb"; kc: "ad.kc"; kd: "ad.kd"; ke: "ad.ke"; kf: "ad.kf"; kg: "ad.kg"; kh: "ad.kh"; ki: "ad.ki"; kj: "ad.kj"; kk: "ad.kk"; kl: "ad.kl"; km: "ad.km"; kn: "ad.kn"; ko: "ad.ko"; kp: "ad.kp"; kq: "ad.kq"; kr: "ad.kr"; ks: "ad.ks"; kt: "ad.kt"; ku: "ad.ku"; kv: "ad.kv"; kw: "ad.kw"; kx: "ad.kx"; ky: "ad.ky"; kz: "ad.kz"; la: "ad.la"; lb: "ad.lb"; lc: "ad.lc"; ld: "ad.ld"; le: "ad.le"; lf: "ad.lf"; lg: "ad.lg"; lh: "ad.lh"; li: "ad.li"; lj: "ad.lj"; lk: "ad.lk"; ll: "ad.ll"; lm: "ad.lm"; ln: "ad.ln"; lo: "ad.lo"; lp: "ad.lp"; lq: "ad.lq"; lr: "ad.lr"; ls: "ad.ls"; lt: "ad.lt"; lu: "ad.lu"; lv: "ad.lv"; lw: "ad.lw"; lx: "ad.lx"; ly: "ad.ly"; lz: "ad.lz"; ma: "ad.ma"; mb: "ad.mb"; mc: "ad.mc"; md: "ad.md"; me: "ad.me"; mf: "ad.mf"; mg: "ad.mg"; mh: "ad.mh"; mi: "ad.mi"; mj: "ad.mj"; mk: "ad.mk"; ml: "ad.ml"; mm: "ad.mm"; mn: "ad.mn"; mo: "ad.mo"; mp: "ad.mp"; mq: "ad.mq"; mr: "ad.mr"; ms: "ad.ms"; mt: "ad.mt"; mu: "ad.mu"; mv: "ad.mv"; mw: "ad.mw"; mx: "ad.mx"; my: "ad.my"; mz: "ad.mz"; na: "ad.na"; nb: "ad.nb"; nc: "ad.nc"; nd: "ad.nd"; ne: "ad.ne"; nf: "ad.nf"; ng: "ad.ng"; nh: "ad.nh"; ni: "ad.ni"; nj: "ad.nj"; nk: "ad.nk"; nl: "ad.nl"; nm: "ad.nm"; nn: "ad.nn"; no: "ad.no"; np: "ad.np"; nq: "ad.nq"; nr: "ad.nr"; ns: "ad.ns"; nt: "ad.nt"; nu: "ad.nu"; nv: "ad.nv"; nw: "ad.nw"; nx: "ad.nx"; ny: "ad.ny"; nz: "ad.nz"; oa: "ad.oa"; ob: "ad.ob"; oc: "ad.oc"; od: "ad.od"; oe: "ad.oe"; of: "ad.of"; og: "ad.og"; oh: "ad.oh"; oi: "ad.oi"; oj: "ad.oj"; ok: "ad.ok"; ol: "ad.ol"; om: "ad.om"; on: "ad.on"; oo: "ad.oo"; op: "ad.op"; oq: "ad.oq"; or: "ad.or"; os: "ad.os"; ot: "ad.ot"; ou: "ad.ou"; ov: "ad.ov"; ow: "ad.ow"; ox: "ad.ox"; oy: "ad.oy"; oz: "ad.oz"; pa: "ad.pa"; pb: "ad.pb"; pc: "ad.pc"; pd: "ad.pd"; pe: "ad.pe"; pf: "ad.pf"; pg: "ad.pg"; ph: "ad.ph"; pi: "ad.pi"; pj: "ad.pj"; pk: "ad.pk"; pl: "ad.pl"; pm: "ad.pm"; pn: "ad.pn"; po: "ad.po"; pp: "ad.pp"; pq: "ad.pq"; pr: "ad.pr"; ps: "ad.ps"; pt: "ad.pt"; pu: "ad.pu"; pv: "ad.pv"; pw: "ad.pw"; px: "ad.px"; py: "ad.py"; pz: "ad.pz"; qa: "ad.qa"; qb: "ad.qb"; qc: "ad.qc"; qd: "ad.qd"; qe: "ad.qe"; qf: "ad.qf"; qg: "ad.qg"; qh: "ad.qh"; qi: "ad.qi"; qj: "ad.qj"; qk: "ad.qk"; ql: "ad.ql"; qm: "ad.qm"; qn: "ad.qn"; qo: "ad.qo"; qp: "ad.qp"; qq: "ad.qq"; qr: "ad.qr"; qs: "ad.qs"; qt: "ad.qt"; qu: "ad.qu"; qv: "ad.qv"; qw: "ad.qw"; qx: "ad.qx"; qy: "ad.qy"; qz: "ad.qz"; ra: "ad.ra"; rb: "ad.rb"; rc: "ad.rc"; rd: "ad.rd"; re: "ad.re"; rf: "ad.rf"; rg: "ad.rg"; rh: "ad.rh"; ri: "ad.ri"; rj: "ad.rj"; rk: "ad.rk"; rl: "ad.rl"; rm: "ad.rm"; rn: "ad.rn"; ro: "ad.ro"; rp: "ad.rp"; rq: "ad.rq"; rr: "ad.rr"; rs: "ad.rs"; rt: "ad.rt"; ru: "ad.ru"; rv: "ad.rv"; rw: "ad.rw"; rx: "ad.rx"; ry: "ad.ry"; rz: "ad.rz"; sa: "ad.sa"; sb: "ad.sb"; sc: "ad.sc"; sd: "ad.sd"; se: "ad.se"; sf: "ad.sf"; sg: "ad.sg"; sh: "ad.sh"; si: "ad.si"; sj: "ad.sj"; sk: "ad.sk"; sl: "ad.sl"; sm: "ad.sm"; sn: "ad.sn"; so: "ad.so"; sp: "ad.sp"; sq: "ad.sq"; sr: "ad.sr"; ss: "ad.ss"; st: "ad.st"; su: "ad.su"; sv: "ad.sv"; sw: "ad.sw"; sx: "ad.sx"; sy: "ad.sy"; sz: "ad.sz"; ta: "ad.ta"; tb: "ad.tb"; tc: "ad.tc"; td: "ad.td"; te: "ad.te"; tf: "ad.tf"; tg: "ad.tg"; th: "ad.th"; ti: "ad.ti"; tj: "ad.tj"; tk: "ad.tk"; tl: "ad.tl"; tm: "ad.tm"; tn: "ad.tn"; to: "ad.to"; tp: "ad.tp"; tq: "ad.tq"; tr: "ad.tr"; ts: "ad.ts"; tt: "ad.tt"; tu: "ad.tu"; tv: "ad.tv"; tw: "ad.tw"; tx: "ad.tx"; ty: "ad.ty"; tz: "ad.tz"; ua: "ad.ua"; ub: "ad.ub"; uc: "ad.uc"; ud: "ad.ud"; ue: "ad.ue"; uf: "ad.uf"; ug: "ad.ug"; uh: "ad.uh"; ui: "ad.ui"; uj: "ad.uj"; uk: "ad.uk"; ul: "ad.ul"; um: "ad.um"; un: "ad.un"; uo: "ad.uo"; up: "ad.up"; uq: "ad.uq"; ur: "ad.ur"; us: "ad.us"; ut: "ad.ut"; uu: "ad.uu"; uv: "ad.uv"; uw: "ad.uw"; ux: "ad.ux"; uy: "ad.uy"; uz: "ad.uz"; va: "ad.va"; vb: "ad.vb"; vc: "ad.vc"; vd: "ad.vd"; ve: "ad.ve"; vf: "ad.vf"; vg: "ad.vg"; vh: "ad.vh"; vi: "ad.vi"; vj: "ad.vj"; vk: "ad.vk"; vl: "ad.vl"; vm: "ad.vm"; vn: "ad.vn"; vo: "ad.vo"; vp: "ad.vp"; vq: "ad.vq"; vr: "ad.vr"; vs: "ad.vs"; vt: "ad.vt"; vu: "ad.vu"; vv: "ad.vv"; vw: "ad.vw"; vx: "ad.vx"; vy: "ad.vy"; vz: "ad.vz"; wa: "ad.wa"; wb: "ad.wb"; wc: "ad.wc"; wd: "ad.wd"; we: "ad.we"; wf: "ad.wf"; wg: "ad.wg"; wh: "ad.wh"; wi: "ad.wi"; wj: "ad.wj"; wk: "ad.wk"; wl: "ad.wl"; wm: "ad.wm"; wn: "ad.wn"; wo: "ad.wo"; wp: "ad.wp"; wq: "ad.wq"; wr: "ad.wr"; ws: "ad.ws"; wt: "ad.wt"; wu: "ad.wu"; wv: "ad.wv"; ww: "ad.ww"; wx: "ad.wx"; wy: "ad.wy"; wz: "ad.wz"; xa: "ad.xa"; xb: "ad.xb"; xc: "ad.xc"; xd: "ad.xd"; xe: "ad.xe"; xf: "ad.xf"; xg: "ad.xg"; xh: "ad.xh"; xi: "ad.xi"; xj: "ad.xj"; xk: "ad.xk"; xl: "ad.xl"; xm: "ad.xm"; xn: "ad.xn"; xo: "ad.xo"; xp: "ad.xp"; xq: "ad.xq"; xr: "ad.xr"; xs: "ad.xs"; xt: "ad.xt"; xu: "ad.xu"; xv: "ad.xv"; xw: "ad.xw"; xx: "ad.xx"; xy: "ad.xy"; xz: "ad.xz"; ya: "ad.ya"; yb: "ad.yb"; yc: "ad.yc"; yd: "ad.yd"; ye: "ad.ye"; yf: "ad.yf"; yg: "ad.yg"; yh: "ad.yh"; yi: "ad.yi"; yj: "ad.yj"; yk: "ad.yk"; yl: "ad.yl"; ym: "ad.ym"; yn: "ad.yn"; yo: "ad.yo"; yp: "ad.yp"; yq: "ad.yq"; yr: "ad.yr"; ys: "ad.ys"; yt: "ad.yt"; yu: "ad.yu"; yv: "ad.yv"; yw: "ad.yw"; yx: "ad.yx"; yy: "ad.yy"; yz: "ad.yz"; za: "ad.za"; zb: "ad.zb"; zc: "ad.zc"; zd: "ad.zd"; ze: "ad.ze"; zf: "ad.zf"; zg: "ad.zg"; zh: "ad.zh"; zi: "ad.zi"; zj: "ad.zj"; zk: "ad.zk"; zl: "ad.zl"; zm: "ad.zm"; zn: "ad.zn"; zo: "ad.zo"; zp: "ad.zp"; zq: "ad.zq"; zr: "ad.zr"; zs: "ad.zs"; zt: "ad.zt"; zu: "ad.zu"; zv: "ad.zv"; zw: "ad.zw"; zx: "ad.zx"; zy: "ad.zy"; zz: "ad.zz"; }; ae: { aa: "ae.aa"; ab: "ae.ab"; ac: "ae.ac"; ad: "ae.ad"; ae: "ae.ae"; af: "ae.af"; ag: "ae.ag"; ah: "ae.ah"; ai: "ae.ai"; aj: "ae.aj"; ak: "ae.ak"; al: "ae.al"; am: "ae.am"; an: "ae.an"; ao: "ae.ao"; ap: "ae.ap"; aq: "ae.aq"; ar: "ae.ar"; as: "ae.as"; at: "ae.at"; au: "ae.au"; av: "ae.av"; aw: "ae.aw"; ax: "ae.ax"; ay: "ae.ay"; az: "ae.az"; ba: "ae.ba"; bb: "ae.bb"; bc: "ae.bc"; bd: "ae.bd"; be: "ae.be"; bf: "ae.bf"; bg: "ae.bg"; bh: "ae.bh"; bi: "ae.bi"; bj: "ae.bj"; bk: "ae.bk"; bl: "ae.bl"; bm: "ae.bm"; bn: "ae.bn"; bo: "ae.bo"; bp: "ae.bp"; bq: "ae.bq"; br: "ae.br"; bs: "ae.bs"; bt: "ae.bt"; bu: "ae.bu"; bv: "ae.bv"; bw: "ae.bw"; bx: "ae.bx"; by: "ae.by"; bz: "ae.bz"; ca: "ae.ca"; cb: "ae.cb"; cc: "ae.cc"; cd: "ae.cd"; ce: "ae.ce"; cf: "ae.cf"; cg: "ae.cg"; ch: "ae.ch"; ci: "ae.ci"; cj: "ae.cj"; ck: "ae.ck"; cl: "ae.cl"; cm: "ae.cm"; cn: "ae.cn"; co: "ae.co"; cp: "ae.cp"; cq: "ae.cq"; cr: "ae.cr"; cs: "ae.cs"; ct: "ae.ct"; cu: "ae.cu"; cv: "ae.cv"; cw: "ae.cw"; cx: "ae.cx"; cy: "ae.cy"; cz: "ae.cz"; da: "ae.da"; db: "ae.db"; dc: "ae.dc"; dd: "ae.dd"; de: "ae.de"; df: "ae.df"; dg: "ae.dg"; dh: "ae.dh"; di: "ae.di"; dj: "ae.dj"; dk: "ae.dk"; dl: "ae.dl"; dm: "ae.dm"; dn: "ae.dn"; do: "ae.do"; dp: "ae.dp"; dq: "ae.dq"; dr: "ae.dr"; ds: "ae.ds"; dt: "ae.dt"; du: "ae.du"; dv: "ae.dv"; dw: "ae.dw"; dx: "ae.dx"; dy: "ae.dy"; dz: "ae.dz"; ea: "ae.ea"; eb: "ae.eb"; ec: "ae.ec"; ed: "ae.ed"; ee: "ae.ee"; ef: "ae.ef"; eg: "ae.eg"; eh: "ae.eh"; ei: "ae.ei"; ej: "ae.ej"; ek: "ae.ek"; el: "ae.el"; em: "ae.em"; en: "ae.en"; eo: "ae.eo"; ep: "ae.ep"; eq: "ae.eq"; er: "ae.er"; es: "ae.es"; et: "ae.et"; eu: "ae.eu"; ev: "ae.ev"; ew: "ae.ew"; ex: "ae.ex"; ey: "ae.ey"; ez: "ae.ez"; fa: "ae.fa"; fb: "ae.fb"; fc: "ae.fc"; fd: "ae.fd"; fe: "ae.fe"; ff: "ae.ff"; fg: "ae.fg"; fh: "ae.fh"; fi: "ae.fi"; fj: "ae.fj"; fk: "ae.fk"; fl: "ae.fl"; fm: "ae.fm"; fn: "ae.fn"; fo: "ae.fo"; fp: "ae.fp"; fq: "ae.fq"; fr: "ae.fr"; fs: "ae.fs"; ft: "ae.ft"; fu: "ae.fu"; fv: "ae.fv"; fw: "ae.fw"; fx: "ae.fx"; fy: "ae.fy"; fz: "ae.fz"; ga: "ae.ga"; gb: "ae.gb"; gc: "ae.gc"; gd: "ae.gd"; ge: "ae.ge"; gf: "ae.gf"; gg: "ae.gg"; gh: "ae.gh"; gi: "ae.gi"; gj: "ae.gj"; gk: "ae.gk"; gl: "ae.gl"; gm: "ae.gm"; gn: "ae.gn"; go: "ae.go"; gp: "ae.gp"; gq: "ae.gq"; gr: "ae.gr"; gs: "ae.gs"; gt: "ae.gt"; gu: "ae.gu"; gv: "ae.gv"; gw: "ae.gw"; gx: "ae.gx"; gy: "ae.gy"; gz: "ae.gz"; ha: "ae.ha"; hb: "ae.hb"; hc: "ae.hc"; hd: "ae.hd"; he: "ae.he"; hf: "ae.hf"; hg: "ae.hg"; hh: "ae.hh"; hi: "ae.hi"; hj: "ae.hj"; hk: "ae.hk"; hl: "ae.hl"; hm: "ae.hm"; hn: "ae.hn"; ho: "ae.ho"; hp: "ae.hp"; hq: "ae.hq"; hr: "ae.hr"; hs: "ae.hs"; ht: "ae.ht"; hu: "ae.hu"; hv: "ae.hv"; hw: "ae.hw"; hx: "ae.hx"; hy: "ae.hy"; hz: "ae.hz"; ia: "ae.ia"; ib: "ae.ib"; ic: "ae.ic"; id: "ae.id"; ie: "ae.ie"; if: "ae.if"; ig: "ae.ig"; ih: "ae.ih"; ii: "ae.ii"; ij: "ae.ij"; ik: "ae.ik"; il: "ae.il"; im: "ae.im"; in: "ae.in"; io: "ae.io"; ip: "ae.ip"; iq: "ae.iq"; ir: "ae.ir"; is: "ae.is"; it: "ae.it"; iu: "ae.iu"; iv: "ae.iv"; iw: "ae.iw"; ix: "ae.ix"; iy: "ae.iy"; iz: "ae.iz"; ja: "ae.ja"; jb: "ae.jb"; jc: "ae.jc"; jd: "ae.jd"; je: "ae.je"; jf: "ae.jf"; jg: "ae.jg"; jh: "ae.jh"; ji: "ae.ji"; jj: "ae.jj"; jk: "ae.jk"; jl: "ae.jl"; jm: "ae.jm"; jn: "ae.jn"; jo: "ae.jo"; jp: "ae.jp"; jq: "ae.jq"; jr: "ae.jr"; js: "ae.js"; jt: "ae.jt"; ju: "ae.ju"; jv: "ae.jv"; jw: "ae.jw"; jx: "ae.jx"; jy: "ae.jy"; jz: "ae.jz"; ka: "ae.ka"; kb: "ae.kb"; kc: "ae.kc"; kd: "ae.kd"; ke: "ae.ke"; kf: "ae.kf"; kg: "ae.kg"; kh: "ae.kh"; ki: "ae.ki"; kj: "ae.kj"; kk: "ae.kk"; kl: "ae.kl"; km: "ae.km"; kn: "ae.kn"; ko: "ae.ko"; kp: "ae.kp"; kq: "ae.kq"; kr: "ae.kr"; ks: "ae.ks"; kt: "ae.kt"; ku: "ae.ku"; kv: "ae.kv"; kw: "ae.kw"; kx: "ae.kx"; ky: "ae.ky"; kz: "ae.kz"; la: "ae.la"; lb: "ae.lb"; lc: "ae.lc"; ld: "ae.ld"; le: "ae.le"; lf: "ae.lf"; lg: "ae.lg"; lh: "ae.lh"; li: "ae.li"; lj: "ae.lj"; lk: "ae.lk"; ll: "ae.ll"; lm: "ae.lm"; ln: "ae.ln"; lo: "ae.lo"; lp: "ae.lp"; lq: "ae.lq"; lr: "ae.lr"; ls: "ae.ls"; lt: "ae.lt"; lu: "ae.lu"; lv: "ae.lv"; lw: "ae.lw"; lx: "ae.lx"; ly: "ae.ly"; lz: "ae.lz"; ma: "ae.ma"; mb: "ae.mb"; mc: "ae.mc"; md: "ae.md"; me: "ae.me"; mf: "ae.mf"; mg: "ae.mg"; mh: "ae.mh"; mi: "ae.mi"; mj: "ae.mj"; mk: "ae.mk"; ml: "ae.ml"; mm: "ae.mm"; mn: "ae.mn"; mo: "ae.mo"; mp: "ae.mp"; mq: "ae.mq"; mr: "ae.mr"; ms: "ae.ms"; mt: "ae.mt"; mu: "ae.mu"; mv: "ae.mv"; mw: "ae.mw"; mx: "ae.mx"; my: "ae.my"; mz: "ae.mz"; na: "ae.na"; nb: "ae.nb"; nc: "ae.nc"; nd: "ae.nd"; ne: "ae.ne"; nf: "ae.nf"; ng: "ae.ng"; nh: "ae.nh"; ni: "ae.ni"; nj: "ae.nj"; nk: "ae.nk"; nl: "ae.nl"; nm: "ae.nm"; nn: "ae.nn"; no: "ae.no"; np: "ae.np"; nq: "ae.nq"; nr: "ae.nr"; ns: "ae.ns"; nt: "ae.nt"; nu: "ae.nu"; nv: "ae.nv"; nw: "ae.nw"; nx: "ae.nx"; ny: "ae.ny"; nz: "ae.nz"; oa: "ae.oa"; ob: "ae.ob"; oc: "ae.oc"; od: "ae.od"; oe: "ae.oe"; of: "ae.of"; og: "ae.og"; oh: "ae.oh"; oi: "ae.oi"; oj: "ae.oj"; ok: "ae.ok"; ol: "ae.ol"; om: "ae.om"; on: "ae.on"; oo: "ae.oo"; op: "ae.op"; oq: "ae.oq"; or: "ae.or"; os: "ae.os"; ot: "ae.ot"; ou: "ae.ou"; ov: "ae.ov"; ow: "ae.ow"; ox: "ae.ox"; oy: "ae.oy"; oz: "ae.oz"; pa: "ae.pa"; pb: "ae.pb"; pc: "ae.pc"; pd: "ae.pd"; pe: "ae.pe"; pf: "ae.pf"; pg: "ae.pg"; ph: "ae.ph"; pi: "ae.pi"; pj: "ae.pj"; pk: "ae.pk"; pl: "ae.pl"; pm: "ae.pm"; pn: "ae.pn"; po: "ae.po"; pp: "ae.pp"; pq: "ae.pq"; pr: "ae.pr"; ps: "ae.ps"; pt: "ae.pt"; pu: "ae.pu"; pv: "ae.pv"; pw: "ae.pw"; px: "ae.px"; py: "ae.py"; pz: "ae.pz"; qa: "ae.qa"; qb: "ae.qb"; qc: "ae.qc"; qd: "ae.qd"; qe: "ae.qe"; qf: "ae.qf"; qg: "ae.qg"; qh: "ae.qh"; qi: "ae.qi"; qj: "ae.qj"; qk: "ae.qk"; ql: "ae.ql"; qm: "ae.qm"; qn: "ae.qn"; qo: "ae.qo"; qp: "ae.qp"; qq: "ae.qq"; qr: "ae.qr"; qs: "ae.qs"; qt: "ae.qt"; qu: "ae.qu"; qv: "ae.qv"; qw: "ae.qw"; qx: "ae.qx"; qy: "ae.qy"; qz: "ae.qz"; ra: "ae.ra"; rb: "ae.rb"; rc: "ae.rc"; rd: "ae.rd"; re: "ae.re"; rf: "ae.rf"; rg: "ae.rg"; rh: "ae.rh"; ri: "ae.ri"; rj: "ae.rj"; rk: "ae.rk"; rl: "ae.rl"; rm: "ae.rm"; rn: "ae.rn"; ro: "ae.ro"; rp: "ae.rp"; rq: "ae.rq"; rr: "ae.rr"; rs: "ae.rs"; rt: "ae.rt"; ru: "ae.ru"; rv: "ae.rv"; rw: "ae.rw"; rx: "ae.rx"; ry: "ae.ry"; rz: "ae.rz"; sa: "ae.sa"; sb: "ae.sb"; sc: "ae.sc"; sd: "ae.sd"; se: "ae.se"; sf: "ae.sf"; sg: "ae.sg"; sh: "ae.sh"; si: "ae.si"; sj: "ae.sj"; sk: "ae.sk"; sl: "ae.sl"; sm: "ae.sm"; sn: "ae.sn"; so: "ae.so"; sp: "ae.sp"; sq: "ae.sq"; sr: "ae.sr"; ss: "ae.ss"; st: "ae.st"; su: "ae.su"; sv: "ae.sv"; sw: "ae.sw"; sx: "ae.sx"; sy: "ae.sy"; sz: "ae.sz"; ta: "ae.ta"; tb: "ae.tb"; tc: "ae.tc"; td: "ae.td"; te: "ae.te"; tf: "ae.tf"; tg: "ae.tg"; th: "ae.th"; ti: "ae.ti"; tj: "ae.tj"; tk: "ae.tk"; tl: "ae.tl"; tm: "ae.tm"; tn: "ae.tn"; to: "ae.to"; tp: "ae.tp"; tq: "ae.tq"; tr: "ae.tr"; ts: "ae.ts"; tt: "ae.tt"; tu: "ae.tu"; tv: "ae.tv"; tw: "ae.tw"; tx: "ae.tx"; ty: "ae.ty"; tz: "ae.tz"; ua: "ae.ua"; ub: "ae.ub"; uc: "ae.uc"; ud: "ae.ud"; ue: "ae.ue"; uf: "ae.uf"; ug: "ae.ug"; uh: "ae.uh"; ui: "ae.ui"; uj: "ae.uj"; uk: "ae.uk"; ul: "ae.ul"; um: "ae.um"; un: "ae.un"; uo: "ae.uo"; up: "ae.up"; uq: "ae.uq"; ur: "ae.ur"; us: "ae.us"; ut: "ae.ut"; uu: "ae.uu"; uv: "ae.uv"; uw: "ae.uw"; ux: "ae.ux"; uy: "ae.uy"; uz: "ae.uz"; va: "ae.va"; vb: "ae.vb"; vc: "ae.vc"; vd: "ae.vd"; ve: "ae.ve"; vf: "ae.vf"; vg: "ae.vg"; vh: "ae.vh"; vi: "ae.vi"; vj: "ae.vj"; vk: "ae.vk"; vl: "ae.vl"; vm: "ae.vm"; vn: "ae.vn"; vo: "ae.vo"; vp: "ae.vp"; vq: "ae.vq"; vr: "ae.vr"; vs: "ae.vs"; vt: "ae.vt"; vu: "ae.vu"; vv: "ae.vv"; vw: "ae.vw"; vx: "ae.vx"; vy: "ae.vy"; vz: "ae.vz"; wa: "ae.wa"; wb: "ae.wb"; wc: "ae.wc"; wd: "ae.wd"; we: "ae.we"; wf: "ae.wf"; wg: "ae.wg"; wh: "ae.wh"; wi: "ae.wi"; wj: "ae.wj"; wk: "ae.wk"; wl: "ae.wl"; wm: "ae.wm"; wn: "ae.wn"; wo: "ae.wo"; wp: "ae.wp"; wq: "ae.wq"; wr: "ae.wr"; ws: "ae.ws"; wt: "ae.wt"; wu: "ae.wu"; wv: "ae.wv"; ww: "ae.ww"; wx: "ae.wx"; wy: "ae.wy"; wz: "ae.wz"; xa: "ae.xa"; xb: "ae.xb"; xc: "ae.xc"; xd: "ae.xd"; xe: "ae.xe"; xf: "ae.xf"; xg: "ae.xg"; xh: "ae.xh"; xi: "ae.xi"; xj: "ae.xj"; xk: "ae.xk"; xl: "ae.xl"; xm: "ae.xm"; xn: "ae.xn"; xo: "ae.xo"; xp: "ae.xp"; xq: "ae.xq"; xr: "ae.xr"; xs: "ae.xs"; xt: "ae.xt"; xu: "ae.xu"; xv: "ae.xv"; xw: "ae.xw"; xx: "ae.xx"; xy: "ae.xy"; xz: "ae.xz"; ya: "ae.ya"; yb: "ae.yb"; yc: "ae.yc"; yd: "ae.yd"; ye: "ae.ye"; yf: "ae.yf"; yg: "ae.yg"; yh: "ae.yh"; yi: "ae.yi"; yj: "ae.yj"; yk: "ae.yk"; yl: "ae.yl"; ym: "ae.ym"; yn: "ae.yn"; yo: "ae.yo"; yp: "ae.yp"; yq: "ae.yq"; yr: "ae.yr"; ys: "ae.ys"; yt: "ae.yt"; yu: "ae.yu"; yv: "ae.yv"; yw: "ae.yw"; yx: "ae.yx"; yy: "ae.yy"; yz: "ae.yz"; za: "ae.za"; zb: "ae.zb"; zc: "ae.zc"; zd: "ae.zd"; ze: "ae.ze"; zf: "ae.zf"; zg: "ae.zg"; zh: "ae.zh"; zi: "ae.zi"; zj: "ae.zj"; zk: "ae.zk"; zl: "ae.zl"; zm: "ae.zm"; zn: "ae.zn"; zo: "ae.zo"; zp: "ae.zp"; zq: "ae.zq"; zr: "ae.zr"; zs: "ae.zs"; zt: "ae.zt"; zu: "ae.zu"; zv: "ae.zv"; zw: "ae.zw"; zx: "ae.zx"; zy: "ae.zy"; zz: "ae.zz"; }; af: { aa: "af.aa"; ab: "af.ab"; ac: "af.ac"; ad: "af.ad"; ae: "af.ae"; af: "af.af"; ag: "af.ag"; ah: "af.ah"; ai: "af.ai"; aj: "af.aj"; ak: "af.ak"; al: "af.al"; am: "af.am"; an: "af.an"; ao: "af.ao"; ap: "af.ap"; aq: "af.aq"; ar: "af.ar"; as: "af.as"; at: "af.at"; au: "af.au"; av: "af.av"; aw: "af.aw"; ax: "af.ax"; ay: "af.ay"; az: "af.az"; ba: "af.ba"; bb: "af.bb"; bc: "af.bc"; bd: "af.bd"; be: "af.be"; bf: "af.bf"; bg: "af.bg"; bh: "af.bh"; bi: "af.bi"; bj: "af.bj"; bk: "af.bk"; bl: "af.bl"; bm: "af.bm"; bn: "af.bn"; bo: "af.bo"; bp: "af.bp"; bq: "af.bq"; br: "af.br"; bs: "af.bs"; bt: "af.bt"; bu: "af.bu"; bv: "af.bv"; bw: "af.bw"; bx: "af.bx"; by: "af.by"; bz: "af.bz"; ca: "af.ca"; cb: "af.cb"; cc: "af.cc"; cd: "af.cd"; ce: "af.ce"; cf: "af.cf"; cg: "af.cg"; ch: "af.ch"; ci: "af.ci"; cj: "af.cj"; ck: "af.ck"; cl: "af.cl"; cm: "af.cm"; cn: "af.cn"; co: "af.co"; cp: "af.cp"; cq: "af.cq"; cr: "af.cr"; cs: "af.cs"; ct: "af.ct"; cu: "af.cu"; cv: "af.cv"; cw: "af.cw"; cx: "af.cx"; cy: "af.cy"; cz: "af.cz"; da: "af.da"; db: "af.db"; dc: "af.dc"; dd: "af.dd"; de: "af.de"; df: "af.df"; dg: "af.dg"; dh: "af.dh"; di: "af.di"; dj: "af.dj"; dk: "af.dk"; dl: "af.dl"; dm: "af.dm"; dn: "af.dn"; do: "af.do"; dp: "af.dp"; dq: "af.dq"; dr: "af.dr"; ds: "af.ds"; dt: "af.dt"; du: "af.du"; dv: "af.dv"; dw: "af.dw"; dx: "af.dx"; dy: "af.dy"; dz: "af.dz"; ea: "af.ea"; eb: "af.eb"; ec: "af.ec"; ed: "af.ed"; ee: "af.ee"; ef: "af.ef"; eg: "af.eg"; eh: "af.eh"; ei: "af.ei"; ej: "af.ej"; ek: "af.ek"; el: "af.el"; em: "af.em"; en: "af.en"; eo: "af.eo"; ep: "af.ep"; eq: "af.eq"; er: "af.er"; es: "af.es"; et: "af.et"; eu: "af.eu"; ev: "af.ev"; ew: "af.ew"; ex: "af.ex"; ey: "af.ey"; ez: "af.ez"; fa: "af.fa"; fb: "af.fb"; fc: "af.fc"; fd: "af.fd"; fe: "af.fe"; ff: "af.ff"; fg: "af.fg"; fh: "af.fh"; fi: "af.fi"; fj: "af.fj"; fk: "af.fk"; fl: "af.fl"; fm: "af.fm"; fn: "af.fn"; fo: "af.fo"; fp: "af.fp"; fq: "af.fq"; fr: "af.fr"; fs: "af.fs"; ft: "af.ft"; fu: "af.fu"; fv: "af.fv"; fw: "af.fw"; fx: "af.fx"; fy: "af.fy"; fz: "af.fz"; ga: "af.ga"; gb: "af.gb"; gc: "af.gc"; gd: "af.gd"; ge: "af.ge"; gf: "af.gf"; gg: "af.gg"; gh: "af.gh"; gi: "af.gi"; gj: "af.gj"; gk: "af.gk"; gl: "af.gl"; gm: "af.gm"; gn: "af.gn"; go: "af.go"; gp: "af.gp"; gq: "af.gq"; gr: "af.gr"; gs: "af.gs"; gt: "af.gt"; gu: "af.gu"; gv: "af.gv"; gw: "af.gw"; gx: "af.gx"; gy: "af.gy"; gz: "af.gz"; ha: "af.ha"; hb: "af.hb"; hc: "af.hc"; hd: "af.hd"; he: "af.he"; hf: "af.hf"; hg: "af.hg"; hh: "af.hh"; hi: "af.hi"; hj: "af.hj"; hk: "af.hk"; hl: "af.hl"; hm: "af.hm"; hn: "af.hn"; ho: "af.ho"; hp: "af.hp"; hq: "af.hq"; hr: "af.hr"; hs: "af.hs"; ht: "af.ht"; hu: "af.hu"; hv: "af.hv"; hw: "af.hw"; hx: "af.hx"; hy: "af.hy"; hz: "af.hz"; ia: "af.ia"; ib: "af.ib"; ic: "af.ic"; id: "af.id"; ie: "af.ie"; if: "af.if"; ig: "af.ig"; ih: "af.ih"; ii: "af.ii"; ij: "af.ij"; ik: "af.ik"; il: "af.il"; im: "af.im"; in: "af.in"; io: "af.io"; ip: "af.ip"; iq: "af.iq"; ir: "af.ir"; is: "af.is"; it: "af.it"; iu: "af.iu"; iv: "af.iv"; iw: "af.iw"; ix: "af.ix"; iy: "af.iy"; iz: "af.iz"; ja: "af.ja"; jb: "af.jb"; jc: "af.jc"; jd: "af.jd"; je: "af.je"; jf: "af.jf"; jg: "af.jg"; jh: "af.jh"; ji: "af.ji"; jj: "af.jj"; jk: "af.jk"; jl: "af.jl"; jm: "af.jm"; jn: "af.jn"; jo: "af.jo"; jp: "af.jp"; jq: "af.jq"; jr: "af.jr"; js: "af.js"; jt: "af.jt"; ju: "af.ju"; jv: "af.jv"; jw: "af.jw"; jx: "af.jx"; jy: "af.jy"; jz: "af.jz"; ka: "af.ka"; kb: "af.kb"; kc: "af.kc"; kd: "af.kd"; ke: "af.ke"; kf: "af.kf"; kg: "af.kg"; kh: "af.kh"; ki: "af.ki"; kj: "af.kj"; kk: "af.kk"; kl: "af.kl"; km: "af.km"; kn: "af.kn"; ko: "af.ko"; kp: "af.kp"; kq: "af.kq"; kr: "af.kr"; ks: "af.ks"; kt: "af.kt"; ku: "af.ku"; kv: "af.kv"; kw: "af.kw"; kx: "af.kx"; ky: "af.ky"; kz: "af.kz"; la: "af.la"; lb: "af.lb"; lc: "af.lc"; ld: "af.ld"; le: "af.le"; lf: "af.lf"; lg: "af.lg"; lh: "af.lh"; li: "af.li"; lj: "af.lj"; lk: "af.lk"; ll: "af.ll"; lm: "af.lm"; ln: "af.ln"; lo: "af.lo"; lp: "af.lp"; lq: "af.lq"; lr: "af.lr"; ls: "af.ls"; lt: "af.lt"; lu: "af.lu"; lv: "af.lv"; lw: "af.lw"; lx: "af.lx"; ly: "af.ly"; lz: "af.lz"; ma: "af.ma"; mb: "af.mb"; mc: "af.mc"; md: "af.md"; me: "af.me"; mf: "af.mf"; mg: "af.mg"; mh: "af.mh"; mi: "af.mi"; mj: "af.mj"; mk: "af.mk"; ml: "af.ml"; mm: "af.mm"; mn: "af.mn"; mo: "af.mo"; mp: "af.mp"; mq: "af.mq"; mr: "af.mr"; ms: "af.ms"; mt: "af.mt"; mu: "af.mu"; mv: "af.mv"; mw: "af.mw"; mx: "af.mx"; my: "af.my"; mz: "af.mz"; na: "af.na"; nb: "af.nb"; nc: "af.nc"; nd: "af.nd"; ne: "af.ne"; nf: "af.nf"; ng: "af.ng"; nh: "af.nh"; ni: "af.ni"; nj: "af.nj"; nk: "af.nk"; nl: "af.nl"; nm: "af.nm"; nn: "af.nn"; no: "af.no"; np: "af.np"; nq: "af.nq"; nr: "af.nr"; ns: "af.ns"; nt: "af.nt"; nu: "af.nu"; nv: "af.nv"; nw: "af.nw"; nx: "af.nx"; ny: "af.ny"; nz: "af.nz"; oa: "af.oa"; ob: "af.ob"; oc: "af.oc"; od: "af.od"; oe: "af.oe"; of: "af.of"; og: "af.og"; oh: "af.oh"; oi: "af.oi"; oj: "af.oj"; ok: "af.ok"; ol: "af.ol"; om: "af.om"; on: "af.on"; oo: "af.oo"; op: "af.op"; oq: "af.oq"; or: "af.or"; os: "af.os"; ot: "af.ot"; ou: "af.ou"; ov: "af.ov"; ow: "af.ow"; ox: "af.ox"; oy: "af.oy"; oz: "af.oz"; pa: "af.pa"; pb: "af.pb"; pc: "af.pc"; pd: "af.pd"; pe: "af.pe"; pf: "af.pf"; pg: "af.pg"; ph: "af.ph"; pi: "af.pi"; pj: "af.pj"; pk: "af.pk"; pl: "af.pl"; pm: "af.pm"; pn: "af.pn"; po: "af.po"; pp: "af.pp"; pq: "af.pq"; pr: "af.pr"; ps: "af.ps"; pt: "af.pt"; pu: "af.pu"; pv: "af.pv"; pw: "af.pw"; px: "af.px"; py: "af.py"; pz: "af.pz"; qa: "af.qa"; qb: "af.qb"; qc: "af.qc"; qd: "af.qd"; qe: "af.qe"; qf: "af.qf"; qg: "af.qg"; qh: "af.qh"; qi: "af.qi"; qj: "af.qj"; qk: "af.qk"; ql: "af.ql"; qm: "af.qm"; qn: "af.qn"; qo: "af.qo"; qp: "af.qp"; qq: "af.qq"; qr: "af.qr"; qs: "af.qs"; qt: "af.qt"; qu: "af.qu"; qv: "af.qv"; qw: "af.qw"; qx: "af.qx"; qy: "af.qy"; qz: "af.qz"; ra: "af.ra"; rb: "af.rb"; rc: "af.rc"; rd: "af.rd"; re: "af.re"; rf: "af.rf"; rg: "af.rg"; rh: "af.rh"; ri: "af.ri"; rj: "af.rj"; rk: "af.rk"; rl: "af.rl"; rm: "af.rm"; rn: "af.rn"; ro: "af.ro"; rp: "af.rp"; rq: "af.rq"; rr: "af.rr"; rs: "af.rs"; rt: "af.rt"; ru: "af.ru"; rv: "af.rv"; rw: "af.rw"; rx: "af.rx"; ry: "af.ry"; rz: "af.rz"; sa: "af.sa"; sb: "af.sb"; sc: "af.sc"; sd: "af.sd"; se: "af.se"; sf: "af.sf"; sg: "af.sg"; sh: "af.sh"; si: "af.si"; sj: "af.sj"; sk: "af.sk"; sl: "af.sl"; sm: "af.sm"; sn: "af.sn"; so: "af.so"; sp: "af.sp"; sq: "af.sq"; sr: "af.sr"; ss: "af.ss"; st: "af.st"; su: "af.su"; sv: "af.sv"; sw: "af.sw"; sx: "af.sx"; sy: "af.sy"; sz: "af.sz"; ta: "af.ta"; tb: "af.tb"; tc: "af.tc"; td: "af.td"; te: "af.te"; tf: "af.tf"; tg: "af.tg"; th: "af.th"; ti: "af.ti"; tj: "af.tj"; tk: "af.tk"; tl: "af.tl"; tm: "af.tm"; tn: "af.tn"; to: "af.to"; tp: "af.tp"; tq: "af.tq"; tr: "af.tr"; ts: "af.ts"; tt: "af.tt"; tu: "af.tu"; tv: "af.tv"; tw: "af.tw"; tx: "af.tx"; ty: "af.ty"; tz: "af.tz"; ua: "af.ua"; ub: "af.ub"; uc: "af.uc"; ud: "af.ud"; ue: "af.ue"; uf: "af.uf"; ug: "af.ug"; uh: "af.uh"; ui: "af.ui"; uj: "af.uj"; uk: "af.uk"; ul: "af.ul"; um: "af.um"; un: "af.un"; uo: "af.uo"; up: "af.up"; uq: "af.uq"; ur: "af.ur"; us: "af.us"; ut: "af.ut"; uu: "af.uu"; uv: "af.uv"; uw: "af.uw"; ux: "af.ux"; uy: "af.uy"; uz: "af.uz"; va: "af.va"; vb: "af.vb"; vc: "af.vc"; vd: "af.vd"; ve: "af.ve"; vf: "af.vf"; vg: "af.vg"; vh: "af.vh"; vi: "af.vi"; vj: "af.vj"; vk: "af.vk"; vl: "af.vl"; vm: "af.vm"; vn: "af.vn"; vo: "af.vo"; vp: "af.vp"; vq: "af.vq"; vr: "af.vr"; vs: "af.vs"; vt: "af.vt"; vu: "af.vu"; vv: "af.vv"; vw: "af.vw"; vx: "af.vx"; vy: "af.vy"; vz: "af.vz"; wa: "af.wa"; wb: "af.wb"; wc: "af.wc"; wd: "af.wd"; we: "af.we"; wf: "af.wf"; wg: "af.wg"; wh: "af.wh"; wi: "af.wi"; wj: "af.wj"; wk: "af.wk"; wl: "af.wl"; wm: "af.wm"; wn: "af.wn"; wo: "af.wo"; wp: "af.wp"; wq: "af.wq"; wr: "af.wr"; ws: "af.ws"; wt: "af.wt"; wu: "af.wu"; wv: "af.wv"; ww: "af.ww"; wx: "af.wx"; wy: "af.wy"; wz: "af.wz"; xa: "af.xa"; xb: "af.xb"; xc: "af.xc"; xd: "af.xd"; xe: "af.xe"; xf: "af.xf"; xg: "af.xg"; xh: "af.xh"; xi: "af.xi"; xj: "af.xj"; xk: "af.xk"; xl: "af.xl"; xm: "af.xm"; xn: "af.xn"; xo: "af.xo"; xp: "af.xp"; xq: "af.xq"; xr: "af.xr"; xs: "af.xs"; xt: "af.xt"; xu: "af.xu"; xv: "af.xv"; xw: "af.xw"; xx: "af.xx"; xy: "af.xy"; xz: "af.xz"; ya: "af.ya"; yb: "af.yb"; yc: "af.yc"; yd: "af.yd"; ye: "af.ye"; yf: "af.yf"; yg: "af.yg"; yh: "af.yh"; yi: "af.yi"; yj: "af.yj"; yk: "af.yk"; yl: "af.yl"; ym: "af.ym"; yn: "af.yn"; yo: "af.yo"; yp: "af.yp"; yq: "af.yq"; yr: "af.yr"; ys: "af.ys"; yt: "af.yt"; yu: "af.yu"; yv: "af.yv"; yw: "af.yw"; yx: "af.yx"; yy: "af.yy"; yz: "af.yz"; za: "af.za"; zb: "af.zb"; zc: "af.zc"; zd: "af.zd"; ze: "af.ze"; zf: "af.zf"; zg: "af.zg"; zh: "af.zh"; zi: "af.zi"; zj: "af.zj"; zk: "af.zk"; zl: "af.zl"; zm: "af.zm"; zn: "af.zn"; zo: "af.zo"; zp: "af.zp"; zq: "af.zq"; zr: "af.zr"; zs: "af.zs"; zt: "af.zt"; zu: "af.zu"; zv: "af.zv"; zw: "af.zw"; zx: "af.zx"; zy: "af.zy"; zz: "af.zz"; }; ag: { aa: "ag.aa"; ab: "ag.ab"; ac: "ag.ac"; ad: "ag.ad"; ae: "ag.ae"; af: "ag.af"; ag: "ag.ag"; ah: "ag.ah"; ai: "ag.ai"; aj: "ag.aj"; ak: "ag.ak"; al: "ag.al"; am: "ag.am"; an: "ag.an"; ao: "ag.ao"; ap: "ag.ap"; aq: "ag.aq"; ar: "ag.ar"; as: "ag.as"; at: "ag.at"; au: "ag.au"; av: "ag.av"; aw: "ag.aw"; ax: "ag.ax"; ay: "ag.ay"; az: "ag.az"; ba: "ag.ba"; bb: "ag.bb"; bc: "ag.bc"; bd: "ag.bd"; be: "ag.be"; bf: "ag.bf"; bg: "ag.bg"; bh: "ag.bh"; bi: "ag.bi"; bj: "ag.bj"; bk: "ag.bk"; bl: "ag.bl"; bm: "ag.bm"; bn: "ag.bn"; bo: "ag.bo"; bp: "ag.bp"; bq: "ag.bq"; br: "ag.br"; bs: "ag.bs"; bt: "ag.bt"; bu: "ag.bu"; bv: "ag.bv"; bw: "ag.bw"; bx: "ag.bx"; by: "ag.by"; bz: "ag.bz"; ca: "ag.ca"; cb: "ag.cb"; cc: "ag.cc"; cd: "ag.cd"; ce: "ag.ce"; cf: "ag.cf"; cg: "ag.cg"; ch: "ag.ch"; ci: "ag.ci"; cj: "ag.cj"; ck: "ag.ck"; cl: "ag.cl"; cm: "ag.cm"; cn: "ag.cn"; co: "ag.co"; cp: "ag.cp"; cq: "ag.cq"; cr: "ag.cr"; cs: "ag.cs"; ct: "ag.ct"; cu: "ag.cu"; cv: "ag.cv"; cw: "ag.cw"; cx: "ag.cx"; cy: "ag.cy"; cz: "ag.cz"; da: "ag.da"; db: "ag.db"; dc: "ag.dc"; dd: "ag.dd"; de: "ag.de"; df: "ag.df"; dg: "ag.dg"; dh: "ag.dh"; di: "ag.di"; dj: "ag.dj"; dk: "ag.dk"; dl: "ag.dl"; dm: "ag.dm"; dn: "ag.dn"; do: "ag.do"; dp: "ag.dp"; dq: "ag.dq"; dr: "ag.dr"; ds: "ag.ds"; dt: "ag.dt"; du: "ag.du"; dv: "ag.dv"; dw: "ag.dw"; dx: "ag.dx"; dy: "ag.dy"; dz: "ag.dz"; ea: "ag.ea"; eb: "ag.eb"; ec: "ag.ec"; ed: "ag.ed"; ee: "ag.ee"; ef: "ag.ef"; eg: "ag.eg"; eh: "ag.eh"; ei: "ag.ei"; ej: "ag.ej"; ek: "ag.ek"; el: "ag.el"; em: "ag.em"; en: "ag.en"; eo: "ag.eo"; ep: "ag.ep"; eq: "ag.eq"; er: "ag.er"; es: "ag.es"; et: "ag.et"; eu: "ag.eu"; ev: "ag.ev"; ew: "ag.ew"; ex: "ag.ex"; ey: "ag.ey"; ez: "ag.ez"; fa: "ag.fa"; fb: "ag.fb"; fc: "ag.fc"; fd: "ag.fd"; fe: "ag.fe"; ff: "ag.ff"; fg: "ag.fg"; fh: "ag.fh"; fi: "ag.fi"; fj: "ag.fj"; fk: "ag.fk"; fl: "ag.fl"; fm: "ag.fm"; fn: "ag.fn"; fo: "ag.fo"; fp: "ag.fp"; fq: "ag.fq"; fr: "ag.fr"; fs: "ag.fs"; ft: "ag.ft"; fu: "ag.fu"; fv: "ag.fv"; fw: "ag.fw"; fx: "ag.fx"; fy: "ag.fy"; fz: "ag.fz"; ga: "ag.ga"; gb: "ag.gb"; gc: "ag.gc"; gd: "ag.gd"; ge: "ag.ge"; gf: "ag.gf"; gg: "ag.gg"; gh: "ag.gh"; gi: "ag.gi"; gj: "ag.gj"; gk: "ag.gk"; gl: "ag.gl"; gm: "ag.gm"; gn: "ag.gn"; go: "ag.go"; gp: "ag.gp"; gq: "ag.gq"; gr: "ag.gr"; gs: "ag.gs"; gt: "ag.gt"; gu: "ag.gu"; gv: "ag.gv"; gw: "ag.gw"; gx: "ag.gx"; gy: "ag.gy"; gz: "ag.gz"; ha: "ag.ha"; hb: "ag.hb"; hc: "ag.hc"; hd: "ag.hd"; he: "ag.he"; hf: "ag.hf"; hg: "ag.hg"; hh: "ag.hh"; hi: "ag.hi"; hj: "ag.hj"; hk: "ag.hk"; hl: "ag.hl"; hm: "ag.hm"; hn: "ag.hn"; ho: "ag.ho"; hp: "ag.hp"; hq: "ag.hq"; hr: "ag.hr"; hs: "ag.hs"; ht: "ag.ht"; hu: "ag.hu"; hv: "ag.hv"; hw: "ag.hw"; hx: "ag.hx"; hy: "ag.hy"; hz: "ag.hz"; ia: "ag.ia"; ib: "ag.ib"; ic: "ag.ic"; id: "ag.id"; ie: "ag.ie"; if: "ag.if"; ig: "ag.ig"; ih: "ag.ih"; ii: "ag.ii"; ij: "ag.ij"; ik: "ag.ik"; il: "ag.il"; im: "ag.im"; in: "ag.in"; io: "ag.io"; ip: "ag.ip"; iq: "ag.iq"; ir: "ag.ir"; is: "ag.is"; it: "ag.it"; iu: "ag.iu"; iv: "ag.iv"; iw: "ag.iw"; ix: "ag.ix"; iy: "ag.iy"; iz: "ag.iz"; ja: "ag.ja"; jb: "ag.jb"; jc: "ag.jc"; jd: "ag.jd"; je: "ag.je"; jf: "ag.jf"; jg: "ag.jg"; jh: "ag.jh"; ji: "ag.ji"; jj: "ag.jj"; jk: "ag.jk"; jl: "ag.jl"; jm: "ag.jm"; jn: "ag.jn"; jo: "ag.jo"; jp: "ag.jp"; jq: "ag.jq"; jr: "ag.jr"; js: "ag.js"; jt: "ag.jt"; ju: "ag.ju"; jv: "ag.jv"; jw: "ag.jw"; jx: "ag.jx"; jy: "ag.jy"; jz: "ag.jz"; ka: "ag.ka"; kb: "ag.kb"; kc: "ag.kc"; kd: "ag.kd"; ke: "ag.ke"; kf: "ag.kf"; kg: "ag.kg"; kh: "ag.kh"; ki: "ag.ki"; kj: "ag.kj"; kk: "ag.kk"; kl: "ag.kl"; km: "ag.km"; kn: "ag.kn"; ko: "ag.ko"; kp: "ag.kp"; kq: "ag.kq"; kr: "ag.kr"; ks: "ag.ks"; kt: "ag.kt"; ku: "ag.ku"; kv: "ag.kv"; kw: "ag.kw"; kx: "ag.kx"; ky: "ag.ky"; kz: "ag.kz"; la: "ag.la"; lb: "ag.lb"; lc: "ag.lc"; ld: "ag.ld"; le: "ag.le"; lf: "ag.lf"; lg: "ag.lg"; lh: "ag.lh"; li: "ag.li"; lj: "ag.lj"; lk: "ag.lk"; ll: "ag.ll"; lm: "ag.lm"; ln: "ag.ln"; lo: "ag.lo"; lp: "ag.lp"; lq: "ag.lq"; lr: "ag.lr"; ls: "ag.ls"; lt: "ag.lt"; lu: "ag.lu"; lv: "ag.lv"; lw: "ag.lw"; lx: "ag.lx"; ly: "ag.ly"; lz: "ag.lz"; ma: "ag.ma"; mb: "ag.mb"; mc: "ag.mc"; md: "ag.md"; me: "ag.me"; mf: "ag.mf"; mg: "ag.mg"; mh: "ag.mh"; mi: "ag.mi"; mj: "ag.mj"; mk: "ag.mk"; ml: "ag.ml"; mm: "ag.mm"; mn: "ag.mn"; mo: "ag.mo"; mp: "ag.mp"; mq: "ag.mq"; mr: "ag.mr"; ms: "ag.ms"; mt: "ag.mt"; mu: "ag.mu"; mv: "ag.mv"; mw: "ag.mw"; mx: "ag.mx"; my: "ag.my"; mz: "ag.mz"; na: "ag.na"; nb: "ag.nb"; nc: "ag.nc"; nd: "ag.nd"; ne: "ag.ne"; nf: "ag.nf"; ng: "ag.ng"; nh: "ag.nh"; ni: "ag.ni"; nj: "ag.nj"; nk: "ag.nk"; nl: "ag.nl"; nm: "ag.nm"; nn: "ag.nn"; no: "ag.no"; np: "ag.np"; nq: "ag.nq"; nr: "ag.nr"; ns: "ag.ns"; nt: "ag.nt"; nu: "ag.nu"; nv: "ag.nv"; nw: "ag.nw"; nx: "ag.nx"; ny: "ag.ny"; nz: "ag.nz"; oa: "ag.oa"; ob: "ag.ob"; oc: "ag.oc"; od: "ag.od"; oe: "ag.oe"; of: "ag.of"; og: "ag.og"; oh: "ag.oh"; oi: "ag.oi"; oj: "ag.oj"; ok: "ag.ok"; ol: "ag.ol"; om: "ag.om"; on: "ag.on"; oo: "ag.oo"; op: "ag.op"; oq: "ag.oq"; or: "ag.or"; os: "ag.os"; ot: "ag.ot"; ou: "ag.ou"; ov: "ag.ov"; ow: "ag.ow"; ox: "ag.ox"; oy: "ag.oy"; oz: "ag.oz"; pa: "ag.pa"; pb: "ag.pb"; pc: "ag.pc"; pd: "ag.pd"; pe: "ag.pe"; pf: "ag.pf"; pg: "ag.pg"; ph: "ag.ph"; pi: "ag.pi"; pj: "ag.pj"; pk: "ag.pk"; pl: "ag.pl"; pm: "ag.pm"; pn: "ag.pn"; po: "ag.po"; pp: "ag.pp"; pq: "ag.pq"; pr: "ag.pr"; ps: "ag.ps"; pt: "ag.pt"; pu: "ag.pu"; pv: "ag.pv"; pw: "ag.pw"; px: "ag.px"; py: "ag.py"; pz: "ag.pz"; qa: "ag.qa"; qb: "ag.qb"; qc: "ag.qc"; qd: "ag.qd"; qe: "ag.qe"; qf: "ag.qf"; qg: "ag.qg"; qh: "ag.qh"; qi: "ag.qi"; qj: "ag.qj"; qk: "ag.qk"; ql: "ag.ql"; qm: "ag.qm"; qn: "ag.qn"; qo: "ag.qo"; qp: "ag.qp"; qq: "ag.qq"; qr: "ag.qr"; qs: "ag.qs"; qt: "ag.qt"; qu: "ag.qu"; qv: "ag.qv"; qw: "ag.qw"; qx: "ag.qx"; qy: "ag.qy"; qz: "ag.qz"; ra: "ag.ra"; rb: "ag.rb"; rc: "ag.rc"; rd: "ag.rd"; re: "ag.re"; rf: "ag.rf"; rg: "ag.rg"; rh: "ag.rh"; ri: "ag.ri"; rj: "ag.rj"; rk: "ag.rk"; rl: "ag.rl"; rm: "ag.rm"; rn: "ag.rn"; ro: "ag.ro"; rp: "ag.rp"; rq: "ag.rq"; rr: "ag.rr"; rs: "ag.rs"; rt: "ag.rt"; ru: "ag.ru"; rv: "ag.rv"; rw: "ag.rw"; rx: "ag.rx"; ry: "ag.ry"; rz: "ag.rz"; sa: "ag.sa"; sb: "ag.sb"; sc: "ag.sc"; sd: "ag.sd"; se: "ag.se"; sf: "ag.sf"; sg: "ag.sg"; sh: "ag.sh"; si: "ag.si"; sj: "ag.sj"; sk: "ag.sk"; sl: "ag.sl"; sm: "ag.sm"; sn: "ag.sn"; so: "ag.so"; sp: "ag.sp"; sq: "ag.sq"; sr: "ag.sr"; ss: "ag.ss"; st: "ag.st"; su: "ag.su"; sv: "ag.sv"; sw: "ag.sw"; sx: "ag.sx"; sy: "ag.sy"; sz: "ag.sz"; ta: "ag.ta"; tb: "ag.tb"; tc: "ag.tc"; td: "ag.td"; te: "ag.te"; tf: "ag.tf"; tg: "ag.tg"; th: "ag.th"; ti: "ag.ti"; tj: "ag.tj"; tk: "ag.tk"; tl: "ag.tl"; tm: "ag.tm"; tn: "ag.tn"; to: "ag.to"; tp: "ag.tp"; tq: "ag.tq"; tr: "ag.tr"; ts: "ag.ts"; tt: "ag.tt"; tu: "ag.tu"; tv: "ag.tv"; tw: "ag.tw"; tx: "ag.tx"; ty: "ag.ty"; tz: "ag.tz"; ua: "ag.ua"; ub: "ag.ub"; uc: "ag.uc"; ud: "ag.ud"; ue: "ag.ue"; uf: "ag.uf"; ug: "ag.ug"; uh: "ag.uh"; ui: "ag.ui"; uj: "ag.uj"; uk: "ag.uk"; ul: "ag.ul"; um: "ag.um"; un: "ag.un"; uo: "ag.uo"; up: "ag.up"; uq: "ag.uq"; ur: "ag.ur"; us: "ag.us"; ut: "ag.ut"; uu: "ag.uu"; uv: "ag.uv"; uw: "ag.uw"; ux: "ag.ux"; uy: "ag.uy"; uz: "ag.uz"; va: "ag.va"; vb: "ag.vb"; vc: "ag.vc"; vd: "ag.vd"; ve: "ag.ve"; vf: "ag.vf"; vg: "ag.vg"; vh: "ag.vh"; vi: "ag.vi"; vj: "ag.vj"; vk: "ag.vk"; vl: "ag.vl"; vm: "ag.vm"; vn: "ag.vn"; vo: "ag.vo"; vp: "ag.vp"; vq: "ag.vq"; vr: "ag.vr"; vs: "ag.vs"; vt: "ag.vt"; vu: "ag.vu"; vv: "ag.vv"; vw: "ag.vw"; vx: "ag.vx"; vy: "ag.vy"; vz: "ag.vz"; wa: "ag.wa"; wb: "ag.wb"; wc: "ag.wc"; wd: "ag.wd"; we: "ag.we"; wf: "ag.wf"; wg: "ag.wg"; wh: "ag.wh"; wi: "ag.wi"; wj: "ag.wj"; wk: "ag.wk"; wl: "ag.wl"; wm: "ag.wm"; wn: "ag.wn"; wo: "ag.wo"; wp: "ag.wp"; wq: "ag.wq"; wr: "ag.wr"; ws: "ag.ws"; wt: "ag.wt"; wu: "ag.wu"; wv: "ag.wv"; ww: "ag.ww"; wx: "ag.wx"; wy: "ag.wy"; wz: "ag.wz"; xa: "ag.xa"; xb: "ag.xb"; xc: "ag.xc"; xd: "ag.xd"; xe: "ag.xe"; xf: "ag.xf"; xg: "ag.xg"; xh: "ag.xh"; xi: "ag.xi"; xj: "ag.xj"; xk: "ag.xk"; xl: "ag.xl"; xm: "ag.xm"; xn: "ag.xn"; xo: "ag.xo"; xp: "ag.xp"; xq: "ag.xq"; xr: "ag.xr"; xs: "ag.xs"; xt: "ag.xt"; xu: "ag.xu"; xv: "ag.xv"; xw: "ag.xw"; xx: "ag.xx"; xy: "ag.xy"; xz: "ag.xz"; ya: "ag.ya"; yb: "ag.yb"; yc: "ag.yc"; yd: "ag.yd"; ye: "ag.ye"; yf: "ag.yf"; yg: "ag.yg"; yh: "ag.yh"; yi: "ag.yi"; yj: "ag.yj"; yk: "ag.yk"; yl: "ag.yl"; ym: "ag.ym"; yn: "ag.yn"; yo: "ag.yo"; yp: "ag.yp"; yq: "ag.yq"; yr: "ag.yr"; ys: "ag.ys"; yt: "ag.yt"; yu: "ag.yu"; yv: "ag.yv"; yw: "ag.yw"; yx: "ag.yx"; yy: "ag.yy"; yz: "ag.yz"; za: "ag.za"; zb: "ag.zb"; zc: "ag.zc"; zd: "ag.zd"; ze: "ag.ze"; zf: "ag.zf"; zg: "ag.zg"; zh: "ag.zh"; zi: "ag.zi"; zj: "ag.zj"; zk: "ag.zk"; zl: "ag.zl"; zm: "ag.zm"; zn: "ag.zn"; zo: "ag.zo"; zp: "ag.zp"; zq: "ag.zq"; zr: "ag.zr"; zs: "ag.zs"; zt: "ag.zt"; zu: "ag.zu"; zv: "ag.zv"; zw: "ag.zw"; zx: "ag.zx"; zy: "ag.zy"; zz: "ag.zz"; }; ah: { aa: "ah.aa"; ab: "ah.ab"; ac: "ah.ac"; ad: "ah.ad"; ae: "ah.ae"; af: "ah.af"; ag: "ah.ag"; ah: "ah.ah"; ai: "ah.ai"; aj: "ah.aj"; ak: "ah.ak"; al: "ah.al"; am: "ah.am"; an: "ah.an"; ao: "ah.ao"; ap: "ah.ap"; aq: "ah.aq"; ar: "ah.ar"; as: "ah.as"; at: "ah.at"; au: "ah.au"; av: "ah.av"; aw: "ah.aw"; ax: "ah.ax"; ay: "ah.ay"; az: "ah.az"; ba: "ah.ba"; bb: "ah.bb"; bc: "ah.bc"; bd: "ah.bd"; be: "ah.be"; bf: "ah.bf"; bg: "ah.bg"; bh: "ah.bh"; bi: "ah.bi"; bj: "ah.bj"; bk: "ah.bk"; bl: "ah.bl"; bm: "ah.bm"; bn: "ah.bn"; bo: "ah.bo"; bp: "ah.bp"; bq: "ah.bq"; br: "ah.br"; bs: "ah.bs"; bt: "ah.bt"; bu: "ah.bu"; bv: "ah.bv"; bw: "ah.bw"; bx: "ah.bx"; by: "ah.by"; bz: "ah.bz"; ca: "ah.ca"; cb: "ah.cb"; cc: "ah.cc"; cd: "ah.cd"; ce: "ah.ce"; cf: "ah.cf"; cg: "ah.cg"; ch: "ah.ch"; ci: "ah.ci"; cj: "ah.cj"; ck: "ah.ck"; cl: "ah.cl"; cm: "ah.cm"; cn: "ah.cn"; co: "ah.co"; cp: "ah.cp"; cq: "ah.cq"; cr: "ah.cr"; cs: "ah.cs"; ct: "ah.ct"; cu: "ah.cu"; cv: "ah.cv"; cw: "ah.cw"; cx: "ah.cx"; cy: "ah.cy"; cz: "ah.cz"; da: "ah.da"; db: "ah.db"; dc: "ah.dc"; dd: "ah.dd"; de: "ah.de"; df: "ah.df"; dg: "ah.dg"; dh: "ah.dh"; di: "ah.di"; dj: "ah.dj"; dk: "ah.dk"; dl: "ah.dl"; dm: "ah.dm"; dn: "ah.dn"; do: "ah.do"; dp: "ah.dp"; dq: "ah.dq"; dr: "ah.dr"; ds: "ah.ds"; dt: "ah.dt"; du: "ah.du"; dv: "ah.dv"; dw: "ah.dw"; dx: "ah.dx"; dy: "ah.dy"; dz: "ah.dz"; ea: "ah.ea"; eb: "ah.eb"; ec: "ah.ec"; ed: "ah.ed"; ee: "ah.ee"; ef: "ah.ef"; eg: "ah.eg"; eh: "ah.eh"; ei: "ah.ei"; ej: "ah.ej"; ek: "ah.ek"; el: "ah.el"; em: "ah.em"; en: "ah.en"; eo: "ah.eo"; ep: "ah.ep"; eq: "ah.eq"; er: "ah.er"; es: "ah.es"; et: "ah.et"; eu: "ah.eu"; ev: "ah.ev"; ew: "ah.ew"; ex: "ah.ex"; ey: "ah.ey"; ez: "ah.ez"; fa: "ah.fa"; fb: "ah.fb"; fc: "ah.fc"; fd: "ah.fd"; fe: "ah.fe"; ff: "ah.ff"; fg: "ah.fg"; fh: "ah.fh"; fi: "ah.fi"; fj: "ah.fj"; fk: "ah.fk"; fl: "ah.fl"; fm: "ah.fm"; fn: "ah.fn"; fo: "ah.fo"; fp: "ah.fp"; fq: "ah.fq"; fr: "ah.fr"; fs: "ah.fs"; ft: "ah.ft"; fu: "ah.fu"; fv: "ah.fv"; fw: "ah.fw"; fx: "ah.fx"; fy: "ah.fy"; fz: "ah.fz"; ga: "ah.ga"; gb: "ah.gb"; gc: "ah.gc"; gd: "ah.gd"; ge: "ah.ge"; gf: "ah.gf"; gg: "ah.gg"; gh: "ah.gh"; gi: "ah.gi"; gj: "ah.gj"; gk: "ah.gk"; gl: "ah.gl"; gm: "ah.gm"; gn: "ah.gn"; go: "ah.go"; gp: "ah.gp"; gq: "ah.gq"; gr: "ah.gr"; gs: "ah.gs"; gt: "ah.gt"; gu: "ah.gu"; gv: "ah.gv"; gw: "ah.gw"; gx: "ah.gx"; gy: "ah.gy"; gz: "ah.gz"; ha: "ah.ha"; hb: "ah.hb"; hc: "ah.hc"; hd: "ah.hd"; he: "ah.he"; hf: "ah.hf"; hg: "ah.hg"; hh: "ah.hh"; hi: "ah.hi"; hj: "ah.hj"; hk: "ah.hk"; hl: "ah.hl"; hm: "ah.hm"; hn: "ah.hn"; ho: "ah.ho"; hp: "ah.hp"; hq: "ah.hq"; hr: "ah.hr"; hs: "ah.hs"; ht: "ah.ht"; hu: "ah.hu"; hv: "ah.hv"; hw: "ah.hw"; hx: "ah.hx"; hy: "ah.hy"; hz: "ah.hz"; ia: "ah.ia"; ib: "ah.ib"; ic: "ah.ic"; id: "ah.id"; ie: "ah.ie"; if: "ah.if"; ig: "ah.ig"; ih: "ah.ih"; ii: "ah.ii"; ij: "ah.ij"; ik: "ah.ik"; il: "ah.il"; im: "ah.im"; in: "ah.in"; io: "ah.io"; ip: "ah.ip"; iq: "ah.iq"; ir: "ah.ir"; is: "ah.is"; it: "ah.it"; iu: "ah.iu"; iv: "ah.iv"; iw: "ah.iw"; ix: "ah.ix"; iy: "ah.iy"; iz: "ah.iz"; ja: "ah.ja"; jb: "ah.jb"; jc: "ah.jc"; jd: "ah.jd"; je: "ah.je"; jf: "ah.jf"; jg: "ah.jg"; jh: "ah.jh"; ji: "ah.ji"; jj: "ah.jj"; jk: "ah.jk"; jl: "ah.jl"; jm: "ah.jm"; jn: "ah.jn"; jo: "ah.jo"; jp: "ah.jp"; jq: "ah.jq"; jr: "ah.jr"; js: "ah.js"; jt: "ah.jt"; ju: "ah.ju"; jv: "ah.jv"; jw: "ah.jw"; jx: "ah.jx"; jy: "ah.jy"; jz: "ah.jz"; ka: "ah.ka"; kb: "ah.kb"; kc: "ah.kc"; kd: "ah.kd"; ke: "ah.ke"; kf: "ah.kf"; kg: "ah.kg"; kh: "ah.kh"; ki: "ah.ki"; kj: "ah.kj"; kk: "ah.kk"; kl: "ah.kl"; km: "ah.km"; kn: "ah.kn"; ko: "ah.ko"; kp: "ah.kp"; kq: "ah.kq"; kr: "ah.kr"; ks: "ah.ks"; kt: "ah.kt"; ku: "ah.ku"; kv: "ah.kv"; kw: "ah.kw"; kx: "ah.kx"; ky: "ah.ky"; kz: "ah.kz"; la: "ah.la"; lb: "ah.lb"; lc: "ah.lc"; ld: "ah.ld"; le: "ah.le"; lf: "ah.lf"; lg: "ah.lg"; lh: "ah.lh"; li: "ah.li"; lj: "ah.lj"; lk: "ah.lk"; ll: "ah.ll"; lm: "ah.lm"; ln: "ah.ln"; lo: "ah.lo"; lp: "ah.lp"; lq: "ah.lq"; lr: "ah.lr"; ls: "ah.ls"; lt: "ah.lt"; lu: "ah.lu"; lv: "ah.lv"; lw: "ah.lw"; lx: "ah.lx"; ly: "ah.ly"; lz: "ah.lz"; ma: "ah.ma"; mb: "ah.mb"; mc: "ah.mc"; md: "ah.md"; me: "ah.me"; mf: "ah.mf"; mg: "ah.mg"; mh: "ah.mh"; mi: "ah.mi"; mj: "ah.mj"; mk: "ah.mk"; ml: "ah.ml"; mm: "ah.mm"; mn: "ah.mn"; mo: "ah.mo"; mp: "ah.mp"; mq: "ah.mq"; mr: "ah.mr"; ms: "ah.ms"; mt: "ah.mt"; mu: "ah.mu"; mv: "ah.mv"; mw: "ah.mw"; mx: "ah.mx"; my: "ah.my"; mz: "ah.mz"; na: "ah.na"; nb: "ah.nb"; nc: "ah.nc"; nd: "ah.nd"; ne: "ah.ne"; nf: "ah.nf"; ng: "ah.ng"; nh: "ah.nh"; ni: "ah.ni"; nj: "ah.nj"; nk: "ah.nk"; nl: "ah.nl"; nm: "ah.nm"; nn: "ah.nn"; no: "ah.no"; np: "ah.np"; nq: "ah.nq"; nr: "ah.nr"; ns: "ah.ns"; nt: "ah.nt"; nu: "ah.nu"; nv: "ah.nv"; nw: "ah.nw"; nx: "ah.nx"; ny: "ah.ny"; nz: "ah.nz"; oa: "ah.oa"; ob: "ah.ob"; oc: "ah.oc"; od: "ah.od"; oe: "ah.oe"; of: "ah.of"; og: "ah.og"; oh: "ah.oh"; oi: "ah.oi"; oj: "ah.oj"; ok: "ah.ok"; ol: "ah.ol"; om: "ah.om"; on: "ah.on"; oo: "ah.oo"; op: "ah.op"; oq: "ah.oq"; or: "ah.or"; os: "ah.os"; ot: "ah.ot"; ou: "ah.ou"; ov: "ah.ov"; ow: "ah.ow"; ox: "ah.ox"; oy: "ah.oy"; oz: "ah.oz"; pa: "ah.pa"; pb: "ah.pb"; pc: "ah.pc"; pd: "ah.pd"; pe: "ah.pe"; pf: "ah.pf"; pg: "ah.pg"; ph: "ah.ph"; pi: "ah.pi"; pj: "ah.pj"; pk: "ah.pk"; pl: "ah.pl"; pm: "ah.pm"; pn: "ah.pn"; po: "ah.po"; pp: "ah.pp"; pq: "ah.pq"; pr: "ah.pr"; ps: "ah.ps"; pt: "ah.pt"; pu: "ah.pu"; pv: "ah.pv"; pw: "ah.pw"; px: "ah.px"; py: "ah.py"; pz: "ah.pz"; qa: "ah.qa"; qb: "ah.qb"; qc: "ah.qc"; qd: "ah.qd"; qe: "ah.qe"; qf: "ah.qf"; qg: "ah.qg"; qh: "ah.qh"; qi: "ah.qi"; qj: "ah.qj"; qk: "ah.qk"; ql: "ah.ql"; qm: "ah.qm"; qn: "ah.qn"; qo: "ah.qo"; qp: "ah.qp"; qq: "ah.qq"; qr: "ah.qr"; qs: "ah.qs"; qt: "ah.qt"; qu: "ah.qu"; qv: "ah.qv"; qw: "ah.qw"; qx: "ah.qx"; qy: "ah.qy"; qz: "ah.qz"; ra: "ah.ra"; rb: "ah.rb"; rc: "ah.rc"; rd: "ah.rd"; re: "ah.re"; rf: "ah.rf"; rg: "ah.rg"; rh: "ah.rh"; ri: "ah.ri"; rj: "ah.rj"; rk: "ah.rk"; rl: "ah.rl"; rm: "ah.rm"; rn: "ah.rn"; ro: "ah.ro"; rp: "ah.rp"; rq: "ah.rq"; rr: "ah.rr"; rs: "ah.rs"; rt: "ah.rt"; ru: "ah.ru"; rv: "ah.rv"; rw: "ah.rw"; rx: "ah.rx"; ry: "ah.ry"; rz: "ah.rz"; sa: "ah.sa"; sb: "ah.sb"; sc: "ah.sc"; sd: "ah.sd"; se: "ah.se"; sf: "ah.sf"; sg: "ah.sg"; sh: "ah.sh"; si: "ah.si"; sj: "ah.sj"; sk: "ah.sk"; sl: "ah.sl"; sm: "ah.sm"; sn: "ah.sn"; so: "ah.so"; sp: "ah.sp"; sq: "ah.sq"; sr: "ah.sr"; ss: "ah.ss"; st: "ah.st"; su: "ah.su"; sv: "ah.sv"; sw: "ah.sw"; sx: "ah.sx"; sy: "ah.sy"; sz: "ah.sz"; ta: "ah.ta"; tb: "ah.tb"; tc: "ah.tc"; td: "ah.td"; te: "ah.te"; tf: "ah.tf"; tg: "ah.tg"; th: "ah.th"; ti: "ah.ti"; tj: "ah.tj"; tk: "ah.tk"; tl: "ah.tl"; tm: "ah.tm"; tn: "ah.tn"; to: "ah.to"; tp: "ah.tp"; tq: "ah.tq"; tr: "ah.tr"; ts: "ah.ts"; tt: "ah.tt"; tu: "ah.tu"; tv: "ah.tv"; tw: "ah.tw"; tx: "ah.tx"; ty: "ah.ty"; tz: "ah.tz"; ua: "ah.ua"; ub: "ah.ub"; uc: "ah.uc"; ud: "ah.ud"; ue: "ah.ue"; uf: "ah.uf"; ug: "ah.ug"; uh: "ah.uh"; ui: "ah.ui"; uj: "ah.uj"; uk: "ah.uk"; ul: "ah.ul"; um: "ah.um"; un: "ah.un"; uo: "ah.uo"; up: "ah.up"; uq: "ah.uq"; ur: "ah.ur"; us: "ah.us"; ut: "ah.ut"; uu: "ah.uu"; uv: "ah.uv"; uw: "ah.uw"; ux: "ah.ux"; uy: "ah.uy"; uz: "ah.uz"; va: "ah.va"; vb: "ah.vb"; vc: "ah.vc"; vd: "ah.vd"; ve: "ah.ve"; vf: "ah.vf"; vg: "ah.vg"; vh: "ah.vh"; vi: "ah.vi"; vj: "ah.vj"; vk: "ah.vk"; vl: "ah.vl"; vm: "ah.vm"; vn: "ah.vn"; vo: "ah.vo"; vp: "ah.vp"; vq: "ah.vq"; vr: "ah.vr"; vs: "ah.vs"; vt: "ah.vt"; vu: "ah.vu"; vv: "ah.vv"; vw: "ah.vw"; vx: "ah.vx"; vy: "ah.vy"; vz: "ah.vz"; wa: "ah.wa"; wb: "ah.wb"; wc: "ah.wc"; wd: "ah.wd"; we: "ah.we"; wf: "ah.wf"; wg: "ah.wg"; wh: "ah.wh"; wi: "ah.wi"; wj: "ah.wj"; wk: "ah.wk"; wl: "ah.wl"; wm: "ah.wm"; wn: "ah.wn"; wo: "ah.wo"; wp: "ah.wp"; wq: "ah.wq"; wr: "ah.wr"; ws: "ah.ws"; wt: "ah.wt"; wu: "ah.wu"; wv: "ah.wv"; ww: "ah.ww"; wx: "ah.wx"; wy: "ah.wy"; wz: "ah.wz"; xa: "ah.xa"; xb: "ah.xb"; xc: "ah.xc"; xd: "ah.xd"; xe: "ah.xe"; xf: "ah.xf"; xg: "ah.xg"; xh: "ah.xh"; xi: "ah.xi"; xj: "ah.xj"; xk: "ah.xk"; xl: "ah.xl"; xm: "ah.xm"; xn: "ah.xn"; xo: "ah.xo"; xp: "ah.xp"; xq: "ah.xq"; xr: "ah.xr"; xs: "ah.xs"; xt: "ah.xt"; xu: "ah.xu"; xv: "ah.xv"; xw: "ah.xw"; xx: "ah.xx"; xy: "ah.xy"; xz: "ah.xz"; ya: "ah.ya"; yb: "ah.yb"; yc: "ah.yc"; yd: "ah.yd"; ye: "ah.ye"; yf: "ah.yf"; yg: "ah.yg"; yh: "ah.yh"; yi: "ah.yi"; yj: "ah.yj"; yk: "ah.yk"; yl: "ah.yl"; ym: "ah.ym"; yn: "ah.yn"; yo: "ah.yo"; yp: "ah.yp"; yq: "ah.yq"; yr: "ah.yr"; ys: "ah.ys"; yt: "ah.yt"; yu: "ah.yu"; yv: "ah.yv"; yw: "ah.yw"; yx: "ah.yx"; yy: "ah.yy"; yz: "ah.yz"; za: "ah.za"; zb: "ah.zb"; zc: "ah.zc"; zd: "ah.zd"; ze: "ah.ze"; zf: "ah.zf"; zg: "ah.zg"; zh: "ah.zh"; zi: "ah.zi"; zj: "ah.zj"; zk: "ah.zk"; zl: "ah.zl"; zm: "ah.zm"; zn: "ah.zn"; zo: "ah.zo"; zp: "ah.zp"; zq: "ah.zq"; zr: "ah.zr"; zs: "ah.zs"; zt: "ah.zt"; zu: "ah.zu"; zv: "ah.zv"; zw: "ah.zw"; zx: "ah.zx"; zy: "ah.zy"; zz: "ah.zz"; }; ai: { aa: "ai.aa"; ab: "ai.ab"; ac: "ai.ac"; ad: "ai.ad"; ae: "ai.ae"; af: "ai.af"; ag: "ai.ag"; ah: "ai.ah"; ai: "ai.ai"; aj: "ai.aj"; ak: "ai.ak"; al: "ai.al"; am: "ai.am"; an: "ai.an"; ao: "ai.ao"; ap: "ai.ap"; aq: "ai.aq"; ar: "ai.ar"; as: "ai.as"; at: "ai.at"; au: "ai.au"; av: "ai.av"; aw: "ai.aw"; ax: "ai.ax"; ay: "ai.ay"; az: "ai.az"; ba: "ai.ba"; bb: "ai.bb"; bc: "ai.bc"; bd: "ai.bd"; be: "ai.be"; bf: "ai.bf"; bg: "ai.bg"; bh: "ai.bh"; bi: "ai.bi"; bj: "ai.bj"; bk: "ai.bk"; bl: "ai.bl"; bm: "ai.bm"; bn: "ai.bn"; bo: "ai.bo"; bp: "ai.bp"; bq: "ai.bq"; br: "ai.br"; bs: "ai.bs"; bt: "ai.bt"; bu: "ai.bu"; bv: "ai.bv"; bw: "ai.bw"; bx: "ai.bx"; by: "ai.by"; bz: "ai.bz"; ca: "ai.ca"; cb: "ai.cb"; cc: "ai.cc"; cd: "ai.cd"; ce: "ai.ce"; cf: "ai.cf"; cg: "ai.cg"; ch: "ai.ch"; ci: "ai.ci"; cj: "ai.cj"; ck: "ai.ck"; cl: "ai.cl"; cm: "ai.cm"; cn: "ai.cn"; co: "ai.co"; cp: "ai.cp"; cq: "ai.cq"; cr: "ai.cr"; cs: "ai.cs"; ct: "ai.ct"; cu: "ai.cu"; cv: "ai.cv"; cw: "ai.cw"; cx: "ai.cx"; cy: "ai.cy"; cz: "ai.cz"; da: "ai.da"; db: "ai.db"; dc: "ai.dc"; dd: "ai.dd"; de: "ai.de"; df: "ai.df"; dg: "ai.dg"; dh: "ai.dh"; di: "ai.di"; dj: "ai.dj"; dk: "ai.dk"; dl: "ai.dl"; dm: "ai.dm"; dn: "ai.dn"; do: "ai.do"; dp: "ai.dp"; dq: "ai.dq"; dr: "ai.dr"; ds: "ai.ds"; dt: "ai.dt"; du: "ai.du"; dv: "ai.dv"; dw: "ai.dw"; dx: "ai.dx"; dy: "ai.dy"; dz: "ai.dz"; ea: "ai.ea"; eb: "ai.eb"; ec: "ai.ec"; ed: "ai.ed"; ee: "ai.ee"; ef: "ai.ef"; eg: "ai.eg"; eh: "ai.eh"; ei: "ai.ei"; ej: "ai.ej"; ek: "ai.ek"; el: "ai.el"; em: "ai.em"; en: "ai.en"; eo: "ai.eo"; ep: "ai.ep"; eq: "ai.eq"; er: "ai.er"; es: "ai.es"; et: "ai.et"; eu: "ai.eu"; ev: "ai.ev"; ew: "ai.ew"; ex: "ai.ex"; ey: "ai.ey"; ez: "ai.ez"; fa: "ai.fa"; fb: "ai.fb"; fc: "ai.fc"; fd: "ai.fd"; fe: "ai.fe"; ff: "ai.ff"; fg: "ai.fg"; fh: "ai.fh"; fi: "ai.fi"; fj: "ai.fj"; fk: "ai.fk"; fl: "ai.fl"; fm: "ai.fm"; fn: "ai.fn"; fo: "ai.fo"; fp: "ai.fp"; fq: "ai.fq"; fr: "ai.fr"; fs: "ai.fs"; ft: "ai.ft"; fu: "ai.fu"; fv: "ai.fv"; fw: "ai.fw"; fx: "ai.fx"; fy: "ai.fy"; fz: "ai.fz"; ga: "ai.ga"; gb: "ai.gb"; gc: "ai.gc"; gd: "ai.gd"; ge: "ai.ge"; gf: "ai.gf"; gg: "ai.gg"; gh: "ai.gh"; gi: "ai.gi"; gj: "ai.gj"; gk: "ai.gk"; gl: "ai.gl"; gm: "ai.gm"; gn: "ai.gn"; go: "ai.go"; gp: "ai.gp"; gq: "ai.gq"; gr: "ai.gr"; gs: "ai.gs"; gt: "ai.gt"; gu: "ai.gu"; gv: "ai.gv"; gw: "ai.gw"; gx: "ai.gx"; gy: "ai.gy"; gz: "ai.gz"; ha: "ai.ha"; hb: "ai.hb"; hc: "ai.hc"; hd: "ai.hd"; he: "ai.he"; hf: "ai.hf"; hg: "ai.hg"; hh: "ai.hh"; hi: "ai.hi"; hj: "ai.hj"; hk: "ai.hk"; hl: "ai.hl"; hm: "ai.hm"; hn: "ai.hn"; ho: "ai.ho"; hp: "ai.hp"; hq: "ai.hq"; hr: "ai.hr"; hs: "ai.hs"; ht: "ai.ht"; hu: "ai.hu"; hv: "ai.hv"; hw: "ai.hw"; hx: "ai.hx"; hy: "ai.hy"; hz: "ai.hz"; ia: "ai.ia"; ib: "ai.ib"; ic: "ai.ic"; id: "ai.id"; ie: "ai.ie"; if: "ai.if"; ig: "ai.ig"; ih: "ai.ih"; ii: "ai.ii"; ij: "ai.ij"; ik: "ai.ik"; il: "ai.il"; im: "ai.im"; in: "ai.in"; io: "ai.io"; ip: "ai.ip"; iq: "ai.iq"; ir: "ai.ir"; is: "ai.is"; it: "ai.it"; iu: "ai.iu"; iv: "ai.iv"; iw: "ai.iw"; ix: "ai.ix"; iy: "ai.iy"; iz: "ai.iz"; ja: "ai.ja"; jb: "ai.jb"; jc: "ai.jc"; jd: "ai.jd"; je: "ai.je"; jf: "ai.jf"; jg: "ai.jg"; jh: "ai.jh"; ji: "ai.ji"; jj: "ai.jj"; jk: "ai.jk"; jl: "ai.jl"; jm: "ai.jm"; jn: "ai.jn"; jo: "ai.jo"; jp: "ai.jp"; jq: "ai.jq"; jr: "ai.jr"; js: "ai.js"; jt: "ai.jt"; ju: "ai.ju"; jv: "ai.jv"; jw: "ai.jw"; jx: "ai.jx"; jy: "ai.jy"; jz: "ai.jz"; ka: "ai.ka"; kb: "ai.kb"; kc: "ai.kc"; kd: "ai.kd"; ke: "ai.ke"; kf: "ai.kf"; kg: "ai.kg"; kh: "ai.kh"; ki: "ai.ki"; kj: "ai.kj"; kk: "ai.kk"; kl: "ai.kl"; km: "ai.km"; kn: "ai.kn"; ko: "ai.ko"; kp: "ai.kp"; kq: "ai.kq"; kr: "ai.kr"; ks: "ai.ks"; kt: "ai.kt"; ku: "ai.ku"; kv: "ai.kv"; kw: "ai.kw"; kx: "ai.kx"; ky: "ai.ky"; kz: "ai.kz"; la: "ai.la"; lb: "ai.lb"; lc: "ai.lc"; ld: "ai.ld"; le: "ai.le"; lf: "ai.lf"; lg: "ai.lg"; lh: "ai.lh"; li: "ai.li"; lj: "ai.lj"; lk: "ai.lk"; ll: "ai.ll"; lm: "ai.lm"; ln: "ai.ln"; lo: "ai.lo"; lp: "ai.lp"; lq: "ai.lq"; lr: "ai.lr"; ls: "ai.ls"; lt: "ai.lt"; lu: "ai.lu"; lv: "ai.lv"; lw: "ai.lw"; lx: "ai.lx"; ly: "ai.ly"; lz: "ai.lz"; ma: "ai.ma"; mb: "ai.mb"; mc: "ai.mc"; md: "ai.md"; me: "ai.me"; mf: "ai.mf"; mg: "ai.mg"; mh: "ai.mh"; mi: "ai.mi"; mj: "ai.mj"; mk: "ai.mk"; ml: "ai.ml"; mm: "ai.mm"; mn: "ai.mn"; mo: "ai.mo"; mp: "ai.mp"; mq: "ai.mq"; mr: "ai.mr"; ms: "ai.ms"; mt: "ai.mt"; mu: "ai.mu"; mv: "ai.mv"; mw: "ai.mw"; mx: "ai.mx"; my: "ai.my"; mz: "ai.mz"; na: "ai.na"; nb: "ai.nb"; nc: "ai.nc"; nd: "ai.nd"; ne: "ai.ne"; nf: "ai.nf"; ng: "ai.ng"; nh: "ai.nh"; ni: "ai.ni"; nj: "ai.nj"; nk: "ai.nk"; nl: "ai.nl"; nm: "ai.nm"; nn: "ai.nn"; no: "ai.no"; np: "ai.np"; nq: "ai.nq"; nr: "ai.nr"; ns: "ai.ns"; nt: "ai.nt"; nu: "ai.nu"; nv: "ai.nv"; nw: "ai.nw"; nx: "ai.nx"; ny: "ai.ny"; nz: "ai.nz"; oa: "ai.oa"; ob: "ai.ob"; oc: "ai.oc"; od: "ai.od"; oe: "ai.oe"; of: "ai.of"; og: "ai.og"; oh: "ai.oh"; oi: "ai.oi"; oj: "ai.oj"; ok: "ai.ok"; ol: "ai.ol"; om: "ai.om"; on: "ai.on"; oo: "ai.oo"; op: "ai.op"; oq: "ai.oq"; or: "ai.or"; os: "ai.os"; ot: "ai.ot"; ou: "ai.ou"; ov: "ai.ov"; ow: "ai.ow"; ox: "ai.ox"; oy: "ai.oy"; oz: "ai.oz"; pa: "ai.pa"; pb: "ai.pb"; pc: "ai.pc"; pd: "ai.pd"; pe: "ai.pe"; pf: "ai.pf"; pg: "ai.pg"; ph: "ai.ph"; pi: "ai.pi"; pj: "ai.pj"; pk: "ai.pk"; pl: "ai.pl"; pm: "ai.pm"; pn: "ai.pn"; po: "ai.po"; pp: "ai.pp"; pq: "ai.pq"; pr: "ai.pr"; ps: "ai.ps"; pt: "ai.pt"; pu: "ai.pu"; pv: "ai.pv"; pw: "ai.pw"; px: "ai.px"; py: "ai.py"; pz: "ai.pz"; qa: "ai.qa"; qb: "ai.qb"; qc: "ai.qc"; qd: "ai.qd"; qe: "ai.qe"; qf: "ai.qf"; qg: "ai.qg"; qh: "ai.qh"; qi: "ai.qi"; qj: "ai.qj"; qk: "ai.qk"; ql: "ai.ql"; qm: "ai.qm"; qn: "ai.qn"; qo: "ai.qo"; qp: "ai.qp"; qq: "ai.qq"; qr: "ai.qr"; qs: "ai.qs"; qt: "ai.qt"; qu: "ai.qu"; qv: "ai.qv"; qw: "ai.qw"; qx: "ai.qx"; qy: "ai.qy"; qz: "ai.qz"; ra: "ai.ra"; rb: "ai.rb"; rc: "ai.rc"; rd: "ai.rd"; re: "ai.re"; rf: "ai.rf"; rg: "ai.rg"; rh: "ai.rh"; ri: "ai.ri"; rj: "ai.rj"; rk: "ai.rk"; rl: "ai.rl"; rm: "ai.rm"; rn: "ai.rn"; ro: "ai.ro"; rp: "ai.rp"; rq: "ai.rq"; rr: "ai.rr"; rs: "ai.rs"; rt: "ai.rt"; ru: "ai.ru"; rv: "ai.rv"; rw: "ai.rw"; rx: "ai.rx"; ry: "ai.ry"; rz: "ai.rz"; sa: "ai.sa"; sb: "ai.sb"; sc: "ai.sc"; sd: "ai.sd"; se: "ai.se"; sf: "ai.sf"; sg: "ai.sg"; sh: "ai.sh"; si: "ai.si"; sj: "ai.sj"; sk: "ai.sk"; sl: "ai.sl"; sm: "ai.sm"; sn: "ai.sn"; so: "ai.so"; sp: "ai.sp"; sq: "ai.sq"; sr: "ai.sr"; ss: "ai.ss"; st: "ai.st"; su: "ai.su"; sv: "ai.sv"; sw: "ai.sw"; sx: "ai.sx"; sy: "ai.sy"; sz: "ai.sz"; ta: "ai.ta"; tb: "ai.tb"; tc: "ai.tc"; td: "ai.td"; te: "ai.te"; tf: "ai.tf"; tg: "ai.tg"; th: "ai.th"; ti: "ai.ti"; tj: "ai.tj"; tk: "ai.tk"; tl: "ai.tl"; tm: "ai.tm"; tn: "ai.tn"; to: "ai.to"; tp: "ai.tp"; tq: "ai.tq"; tr: "ai.tr"; ts: "ai.ts"; tt: "ai.tt"; tu: "ai.tu"; tv: "ai.tv"; tw: "ai.tw"; tx: "ai.tx"; ty: "ai.ty"; tz: "ai.tz"; ua: "ai.ua"; ub: "ai.ub"; uc: "ai.uc"; ud: "ai.ud"; ue: "ai.ue"; uf: "ai.uf"; ug: "ai.ug"; uh: "ai.uh"; ui: "ai.ui"; uj: "ai.uj"; uk: "ai.uk"; ul: "ai.ul"; um: "ai.um"; un: "ai.un"; uo: "ai.uo"; up: "ai.up"; uq: "ai.uq"; ur: "ai.ur"; us: "ai.us"; ut: "ai.ut"; uu: "ai.uu"; uv: "ai.uv"; uw: "ai.uw"; ux: "ai.ux"; uy: "ai.uy"; uz: "ai.uz"; va: "ai.va"; vb: "ai.vb"; vc: "ai.vc"; vd: "ai.vd"; ve: "ai.ve"; vf: "ai.vf"; vg: "ai.vg"; vh: "ai.vh"; vi: "ai.vi"; vj: "ai.vj"; vk: "ai.vk"; vl: "ai.vl"; vm: "ai.vm"; vn: "ai.vn"; vo: "ai.vo"; vp: "ai.vp"; vq: "ai.vq"; vr: "ai.vr"; vs: "ai.vs"; vt: "ai.vt"; vu: "ai.vu"; vv: "ai.vv"; vw: "ai.vw"; vx: "ai.vx"; vy: "ai.vy"; vz: "ai.vz"; wa: "ai.wa"; wb: "ai.wb"; wc: "ai.wc"; wd: "ai.wd"; we: "ai.we"; wf: "ai.wf"; wg: "ai.wg"; wh: "ai.wh"; wi: "ai.wi"; wj: "ai.wj"; wk: "ai.wk"; wl: "ai.wl"; wm: "ai.wm"; wn: "ai.wn"; wo: "ai.wo"; wp: "ai.wp"; wq: "ai.wq"; wr: "ai.wr"; ws: "ai.ws"; wt: "ai.wt"; wu: "ai.wu"; wv: "ai.wv"; ww: "ai.ww"; wx: "ai.wx"; wy: "ai.wy"; wz: "ai.wz"; xa: "ai.xa"; xb: "ai.xb"; xc: "ai.xc"; xd: "ai.xd"; xe: "ai.xe"; xf: "ai.xf"; xg: "ai.xg"; xh: "ai.xh"; xi: "ai.xi"; xj: "ai.xj"; xk: "ai.xk"; xl: "ai.xl"; xm: "ai.xm"; xn: "ai.xn"; xo: "ai.xo"; xp: "ai.xp"; xq: "ai.xq"; xr: "ai.xr"; xs: "ai.xs"; xt: "ai.xt"; xu: "ai.xu"; xv: "ai.xv"; xw: "ai.xw"; xx: "ai.xx"; xy: "ai.xy"; xz: "ai.xz"; ya: "ai.ya"; yb: "ai.yb"; yc: "ai.yc"; yd: "ai.yd"; ye: "ai.ye"; yf: "ai.yf"; yg: "ai.yg"; yh: "ai.yh"; yi: "ai.yi"; yj: "ai.yj"; yk: "ai.yk"; yl: "ai.yl"; ym: "ai.ym"; yn: "ai.yn"; yo: "ai.yo"; yp: "ai.yp"; yq: "ai.yq"; yr: "ai.yr"; ys: "ai.ys"; yt: "ai.yt"; yu: "ai.yu"; yv: "ai.yv"; yw: "ai.yw"; yx: "ai.yx"; yy: "ai.yy"; yz: "ai.yz"; za: "ai.za"; zb: "ai.zb"; zc: "ai.zc"; zd: "ai.zd"; ze: "ai.ze"; zf: "ai.zf"; zg: "ai.zg"; zh: "ai.zh"; zi: "ai.zi"; zj: "ai.zj"; zk: "ai.zk"; zl: "ai.zl"; zm: "ai.zm"; zn: "ai.zn"; zo: "ai.zo"; zp: "ai.zp"; zq: "ai.zq"; zr: "ai.zr"; zs: "ai.zs"; zt: "ai.zt"; zu: "ai.zu"; zv: "ai.zv"; zw: "ai.zw"; zx: "ai.zx"; zy: "ai.zy"; zz: "ai.zz"; }; aj: { aa: "aj.aa"; ab: "aj.ab"; ac: "aj.ac"; ad: "aj.ad"; ae: "aj.ae"; af: "aj.af"; ag: "aj.ag"; ah: "aj.ah"; ai: "aj.ai"; aj: "aj.aj"; ak: "aj.ak"; al: "aj.al"; am: "aj.am"; an: "aj.an"; ao: "aj.ao"; ap: "aj.ap"; aq: "aj.aq"; ar: "aj.ar"; as: "aj.as"; at: "aj.at"; au: "aj.au"; av: "aj.av"; aw: "aj.aw"; ax: "aj.ax"; ay: "aj.ay"; az: "aj.az"; ba: "aj.ba"; bb: "aj.bb"; bc: "aj.bc"; bd: "aj.bd"; be: "aj.be"; bf: "aj.bf"; bg: "aj.bg"; bh: "aj.bh"; bi: "aj.bi"; bj: "aj.bj"; bk: "aj.bk"; bl: "aj.bl"; bm: "aj.bm"; bn: "aj.bn"; bo: "aj.bo"; bp: "aj.bp"; bq: "aj.bq"; br: "aj.br"; bs: "aj.bs"; bt: "aj.bt"; bu: "aj.bu"; bv: "aj.bv"; bw: "aj.bw"; bx: "aj.bx"; by: "aj.by"; bz: "aj.bz"; ca: "aj.ca"; cb: "aj.cb"; cc: "aj.cc"; cd: "aj.cd"; ce: "aj.ce"; cf: "aj.cf"; cg: "aj.cg"; ch: "aj.ch"; ci: "aj.ci"; cj: "aj.cj"; ck: "aj.ck"; cl: "aj.cl"; cm: "aj.cm"; cn: "aj.cn"; co: "aj.co"; cp: "aj.cp"; cq: "aj.cq"; cr: "aj.cr"; cs: "aj.cs"; ct: "aj.ct"; cu: "aj.cu"; cv: "aj.cv"; cw: "aj.cw"; cx: "aj.cx"; cy: "aj.cy"; cz: "aj.cz"; da: "aj.da"; db: "aj.db"; dc: "aj.dc"; dd: "aj.dd"; de: "aj.de"; df: "aj.df"; dg: "aj.dg"; dh: "aj.dh"; di: "aj.di"; dj: "aj.dj"; dk: "aj.dk"; dl: "aj.dl"; dm: "aj.dm"; dn: "aj.dn"; do: "aj.do"; dp: "aj.dp"; dq: "aj.dq"; dr: "aj.dr"; ds: "aj.ds"; dt: "aj.dt"; du: "aj.du"; dv: "aj.dv"; dw: "aj.dw"; dx: "aj.dx"; dy: "aj.dy"; dz: "aj.dz"; ea: "aj.ea"; eb: "aj.eb"; ec: "aj.ec"; ed: "aj.ed"; ee: "aj.ee"; ef: "aj.ef"; eg: "aj.eg"; eh: "aj.eh"; ei: "aj.ei"; ej: "aj.ej"; ek: "aj.ek"; el: "aj.el"; em: "aj.em"; en: "aj.en"; eo: "aj.eo"; ep: "aj.ep"; eq: "aj.eq"; er: "aj.er"; es: "aj.es"; et: "aj.et"; eu: "aj.eu"; ev: "aj.ev"; ew: "aj.ew"; ex: "aj.ex"; ey: "aj.ey"; ez: "aj.ez"; fa: "aj.fa"; fb: "aj.fb"; fc: "aj.fc"; fd: "aj.fd"; fe: "aj.fe"; ff: "aj.ff"; fg: "aj.fg"; fh: "aj.fh"; fi: "aj.fi"; fj: "aj.fj"; fk: "aj.fk"; fl: "aj.fl"; fm: "aj.fm"; fn: "aj.fn"; fo: "aj.fo"; fp: "aj.fp"; fq: "aj.fq"; fr: "aj.fr"; fs: "aj.fs"; ft: "aj.ft"; fu: "aj.fu"; fv: "aj.fv"; fw: "aj.fw"; fx: "aj.fx"; fy: "aj.fy"; fz: "aj.fz"; ga: "aj.ga"; gb: "aj.gb"; gc: "aj.gc"; gd: "aj.gd"; ge: "aj.ge"; gf: "aj.gf"; gg: "aj.gg"; gh: "aj.gh"; gi: "aj.gi"; gj: "aj.gj"; gk: "aj.gk"; gl: "aj.gl"; gm: "aj.gm"; gn: "aj.gn"; go: "aj.go"; gp: "aj.gp"; gq: "aj.gq"; gr: "aj.gr"; gs: "aj.gs"; gt: "aj.gt"; gu: "aj.gu"; gv: "aj.gv"; gw: "aj.gw"; gx: "aj.gx"; gy: "aj.gy"; gz: "aj.gz"; ha: "aj.ha"; hb: "aj.hb"; hc: "aj.hc"; hd: "aj.hd"; he: "aj.he"; hf: "aj.hf"; hg: "aj.hg"; hh: "aj.hh"; hi: "aj.hi"; hj: "aj.hj"; hk: "aj.hk"; hl: "aj.hl"; hm: "aj.hm"; hn: "aj.hn"; ho: "aj.ho"; hp: "aj.hp"; hq: "aj.hq"; hr: "aj.hr"; hs: "aj.hs"; ht: "aj.ht"; hu: "aj.hu"; hv: "aj.hv"; hw: "aj.hw"; hx: "aj.hx"; hy: "aj.hy"; hz: "aj.hz"; ia: "aj.ia"; ib: "aj.ib"; ic: "aj.ic"; id: "aj.id"; ie: "aj.ie"; if: "aj.if"; ig: "aj.ig"; ih: "aj.ih"; ii: "aj.ii"; ij: "aj.ij"; ik: "aj.ik"; il: "aj.il"; im: "aj.im"; in: "aj.in"; io: "aj.io"; ip: "aj.ip"; iq: "aj.iq"; ir: "aj.ir"; is: "aj.is"; it: "aj.it"; iu: "aj.iu"; iv: "aj.iv"; iw: "aj.iw"; ix: "aj.ix"; iy: "aj.iy"; iz: "aj.iz"; ja: "aj.ja"; jb: "aj.jb"; jc: "aj.jc"; jd: "aj.jd"; je: "aj.je"; jf: "aj.jf"; jg: "aj.jg"; jh: "aj.jh"; ji: "aj.ji"; jj: "aj.jj"; jk: "aj.jk"; jl: "aj.jl"; jm: "aj.jm"; jn: "aj.jn"; jo: "aj.jo"; jp: "aj.jp"; jq: "aj.jq"; jr: "aj.jr"; js: "aj.js"; jt: "aj.jt"; ju: "aj.ju"; jv: "aj.jv"; jw: "aj.jw"; jx: "aj.jx"; jy: "aj.jy"; jz: "aj.jz"; ka: "aj.ka"; kb: "aj.kb"; kc: "aj.kc"; kd: "aj.kd"; ke: "aj.ke"; kf: "aj.kf"; kg: "aj.kg"; kh: "aj.kh"; ki: "aj.ki"; kj: "aj.kj"; kk: "aj.kk"; kl: "aj.kl"; km: "aj.km"; kn: "aj.kn"; ko: "aj.ko"; kp: "aj.kp"; kq: "aj.kq"; kr: "aj.kr"; ks: "aj.ks"; kt: "aj.kt"; ku: "aj.ku"; kv: "aj.kv"; kw: "aj.kw"; kx: "aj.kx"; ky: "aj.ky"; kz: "aj.kz"; la: "aj.la"; lb: "aj.lb"; lc: "aj.lc"; ld: "aj.ld"; le: "aj.le"; lf: "aj.lf"; lg: "aj.lg"; lh: "aj.lh"; li: "aj.li"; lj: "aj.lj"; lk: "aj.lk"; ll: "aj.ll"; lm: "aj.lm"; ln: "aj.ln"; lo: "aj.lo"; lp: "aj.lp"; lq: "aj.lq"; lr: "aj.lr"; ls: "aj.ls"; lt: "aj.lt"; lu: "aj.lu"; lv: "aj.lv"; lw: "aj.lw"; lx: "aj.lx"; ly: "aj.ly"; lz: "aj.lz"; ma: "aj.ma"; mb: "aj.mb"; mc: "aj.mc"; md: "aj.md"; me: "aj.me"; mf: "aj.mf"; mg: "aj.mg"; mh: "aj.mh"; mi: "aj.mi"; mj: "aj.mj"; mk: "aj.mk"; ml: "aj.ml"; mm: "aj.mm"; mn: "aj.mn"; mo: "aj.mo"; mp: "aj.mp"; mq: "aj.mq"; mr: "aj.mr"; ms: "aj.ms"; mt: "aj.mt"; mu: "aj.mu"; mv: "aj.mv"; mw: "aj.mw"; mx: "aj.mx"; my: "aj.my"; mz: "aj.mz"; na: "aj.na"; nb: "aj.nb"; nc: "aj.nc"; nd: "aj.nd"; ne: "aj.ne"; nf: "aj.nf"; ng: "aj.ng"; nh: "aj.nh"; ni: "aj.ni"; nj: "aj.nj"; nk: "aj.nk"; nl: "aj.nl"; nm: "aj.nm"; nn: "aj.nn"; no: "aj.no"; np: "aj.np"; nq: "aj.nq"; nr: "aj.nr"; ns: "aj.ns"; nt: "aj.nt"; nu: "aj.nu"; nv: "aj.nv"; nw: "aj.nw"; nx: "aj.nx"; ny: "aj.ny"; nz: "aj.nz"; oa: "aj.oa"; ob: "aj.ob"; oc: "aj.oc"; od: "aj.od"; oe: "aj.oe"; of: "aj.of"; og: "aj.og"; oh: "aj.oh"; oi: "aj.oi"; oj: "aj.oj"; ok: "aj.ok"; ol: "aj.ol"; om: "aj.om"; on: "aj.on"; oo: "aj.oo"; op: "aj.op"; oq: "aj.oq"; or: "aj.or"; os: "aj.os"; ot: "aj.ot"; ou: "aj.ou"; ov: "aj.ov"; ow: "aj.ow"; ox: "aj.ox"; oy: "aj.oy"; oz: "aj.oz"; pa: "aj.pa"; pb: "aj.pb"; pc: "aj.pc"; pd: "aj.pd"; pe: "aj.pe"; pf: "aj.pf"; pg: "aj.pg"; ph: "aj.ph"; pi: "aj.pi"; pj: "aj.pj"; pk: "aj.pk"; pl: "aj.pl"; pm: "aj.pm"; pn: "aj.pn"; po: "aj.po"; pp: "aj.pp"; pq: "aj.pq"; pr: "aj.pr"; ps: "aj.ps"; pt: "aj.pt"; pu: "aj.pu"; pv: "aj.pv"; pw: "aj.pw"; px: "aj.px"; py: "aj.py"; pz: "aj.pz"; qa: "aj.qa"; qb: "aj.qb"; qc: "aj.qc"; qd: "aj.qd"; qe: "aj.qe"; qf: "aj.qf"; qg: "aj.qg"; qh: "aj.qh"; qi: "aj.qi"; qj: "aj.qj"; qk: "aj.qk"; ql: "aj.ql"; qm: "aj.qm"; qn: "aj.qn"; qo: "aj.qo"; qp: "aj.qp"; qq: "aj.qq"; qr: "aj.qr"; qs: "aj.qs"; qt: "aj.qt"; qu: "aj.qu"; qv: "aj.qv"; qw: "aj.qw"; qx: "aj.qx"; qy: "aj.qy"; qz: "aj.qz"; ra: "aj.ra"; rb: "aj.rb"; rc: "aj.rc"; rd: "aj.rd"; re: "aj.re"; rf: "aj.rf"; rg: "aj.rg"; rh: "aj.rh"; ri: "aj.ri"; rj: "aj.rj"; rk: "aj.rk"; rl: "aj.rl"; rm: "aj.rm"; rn: "aj.rn"; ro: "aj.ro"; rp: "aj.rp"; rq: "aj.rq"; rr: "aj.rr"; rs: "aj.rs"; rt: "aj.rt"; ru: "aj.ru"; rv: "aj.rv"; rw: "aj.rw"; rx: "aj.rx"; ry: "aj.ry"; rz: "aj.rz"; sa: "aj.sa"; sb: "aj.sb"; sc: "aj.sc"; sd: "aj.sd"; se: "aj.se"; sf: "aj.sf"; sg: "aj.sg"; sh: "aj.sh"; si: "aj.si"; sj: "aj.sj"; sk: "aj.sk"; sl: "aj.sl"; sm: "aj.sm"; sn: "aj.sn"; so: "aj.so"; sp: "aj.sp"; sq: "aj.sq"; sr: "aj.sr"; ss: "aj.ss"; st: "aj.st"; su: "aj.su"; sv: "aj.sv"; sw: "aj.sw"; sx: "aj.sx"; sy: "aj.sy"; sz: "aj.sz"; ta: "aj.ta"; tb: "aj.tb"; tc: "aj.tc"; td: "aj.td"; te: "aj.te"; tf: "aj.tf"; tg: "aj.tg"; th: "aj.th"; ti: "aj.ti"; tj: "aj.tj"; tk: "aj.tk"; tl: "aj.tl"; tm: "aj.tm"; tn: "aj.tn"; to: "aj.to"; tp: "aj.tp"; tq: "aj.tq"; tr: "aj.tr"; ts: "aj.ts"; tt: "aj.tt"; tu: "aj.tu"; tv: "aj.tv"; tw: "aj.tw"; tx: "aj.tx"; ty: "aj.ty"; tz: "aj.tz"; ua: "aj.ua"; ub: "aj.ub"; uc: "aj.uc"; ud: "aj.ud"; ue: "aj.ue"; uf: "aj.uf"; ug: "aj.ug"; uh: "aj.uh"; ui: "aj.ui"; uj: "aj.uj"; uk: "aj.uk"; ul: "aj.ul"; um: "aj.um"; un: "aj.un"; uo: "aj.uo"; up: "aj.up"; uq: "aj.uq"; ur: "aj.ur"; us: "aj.us"; ut: "aj.ut"; uu: "aj.uu"; uv: "aj.uv"; uw: "aj.uw"; ux: "aj.ux"; uy: "aj.uy"; uz: "aj.uz"; va: "aj.va"; vb: "aj.vb"; vc: "aj.vc"; vd: "aj.vd"; ve: "aj.ve"; vf: "aj.vf"; vg: "aj.vg"; vh: "aj.vh"; vi: "aj.vi"; vj: "aj.vj"; vk: "aj.vk"; vl: "aj.vl"; vm: "aj.vm"; vn: "aj.vn"; vo: "aj.vo"; vp: "aj.vp"; vq: "aj.vq"; vr: "aj.vr"; vs: "aj.vs"; vt: "aj.vt"; vu: "aj.vu"; vv: "aj.vv"; vw: "aj.vw"; vx: "aj.vx"; vy: "aj.vy"; vz: "aj.vz"; wa: "aj.wa"; wb: "aj.wb"; wc: "aj.wc"; wd: "aj.wd"; we: "aj.we"; wf: "aj.wf"; wg: "aj.wg"; wh: "aj.wh"; wi: "aj.wi"; wj: "aj.wj"; wk: "aj.wk"; wl: "aj.wl"; wm: "aj.wm"; wn: "aj.wn"; wo: "aj.wo"; wp: "aj.wp"; wq: "aj.wq"; wr: "aj.wr"; ws: "aj.ws"; wt: "aj.wt"; wu: "aj.wu"; wv: "aj.wv"; ww: "aj.ww"; wx: "aj.wx"; wy: "aj.wy"; wz: "aj.wz"; xa: "aj.xa"; xb: "aj.xb"; xc: "aj.xc"; xd: "aj.xd"; xe: "aj.xe"; xf: "aj.xf"; xg: "aj.xg"; xh: "aj.xh"; xi: "aj.xi"; xj: "aj.xj"; xk: "aj.xk"; xl: "aj.xl"; xm: "aj.xm"; xn: "aj.xn"; xo: "aj.xo"; xp: "aj.xp"; xq: "aj.xq"; xr: "aj.xr"; xs: "aj.xs"; xt: "aj.xt"; xu: "aj.xu"; xv: "aj.xv"; xw: "aj.xw"; xx: "aj.xx"; xy: "aj.xy"; xz: "aj.xz"; ya: "aj.ya"; yb: "aj.yb"; yc: "aj.yc"; yd: "aj.yd"; ye: "aj.ye"; yf: "aj.yf"; yg: "aj.yg"; yh: "aj.yh"; yi: "aj.yi"; yj: "aj.yj"; yk: "aj.yk"; yl: "aj.yl"; ym: "aj.ym"; yn: "aj.yn"; yo: "aj.yo"; yp: "aj.yp"; yq: "aj.yq"; yr: "aj.yr"; ys: "aj.ys"; yt: "aj.yt"; yu: "aj.yu"; yv: "aj.yv"; yw: "aj.yw"; yx: "aj.yx"; yy: "aj.yy"; yz: "aj.yz"; za: "aj.za"; zb: "aj.zb"; zc: "aj.zc"; zd: "aj.zd"; ze: "aj.ze"; zf: "aj.zf"; zg: "aj.zg"; zh: "aj.zh"; zi: "aj.zi"; zj: "aj.zj"; zk: "aj.zk"; zl: "aj.zl"; zm: "aj.zm"; zn: "aj.zn"; zo: "aj.zo"; zp: "aj.zp"; zq: "aj.zq"; zr: "aj.zr"; zs: "aj.zs"; zt: "aj.zt"; zu: "aj.zu"; zv: "aj.zv"; zw: "aj.zw"; zx: "aj.zx"; zy: "aj.zy"; zz: "aj.zz"; }; ak: { aa: "ak.aa"; ab: "ak.ab"; ac: "ak.ac"; ad: "ak.ad"; ae: "ak.ae"; af: "ak.af"; ag: "ak.ag"; ah: "ak.ah"; ai: "ak.ai"; aj: "ak.aj"; ak: "ak.ak"; al: "ak.al"; am: "ak.am"; an: "ak.an"; ao: "ak.ao"; ap: "ak.ap"; aq: "ak.aq"; ar: "ak.ar"; as: "ak.as"; at: "ak.at"; au: "ak.au"; av: "ak.av"; aw: "ak.aw"; ax: "ak.ax"; ay: "ak.ay"; az: "ak.az"; ba: "ak.ba"; bb: "ak.bb"; bc: "ak.bc"; bd: "ak.bd"; be: "ak.be"; bf: "ak.bf"; bg: "ak.bg"; bh: "ak.bh"; bi: "ak.bi"; bj: "ak.bj"; bk: "ak.bk"; bl: "ak.bl"; bm: "ak.bm"; bn: "ak.bn"; bo: "ak.bo"; bp: "ak.bp"; bq: "ak.bq"; br: "ak.br"; bs: "ak.bs"; bt: "ak.bt"; bu: "ak.bu"; bv: "ak.bv"; bw: "ak.bw"; bx: "ak.bx"; by: "ak.by"; bz: "ak.bz"; ca: "ak.ca"; cb: "ak.cb"; cc: "ak.cc"; cd: "ak.cd"; ce: "ak.ce"; cf: "ak.cf"; cg: "ak.cg"; ch: "ak.ch"; ci: "ak.ci"; cj: "ak.cj"; ck: "ak.ck"; cl: "ak.cl"; cm: "ak.cm"; cn: "ak.cn"; co: "ak.co"; cp: "ak.cp"; cq: "ak.cq"; cr: "ak.cr"; cs: "ak.cs"; ct: "ak.ct"; cu: "ak.cu"; cv: "ak.cv"; cw: "ak.cw"; cx: "ak.cx"; cy: "ak.cy"; cz: "ak.cz"; da: "ak.da"; db: "ak.db"; dc: "ak.dc"; dd: "ak.dd"; de: "ak.de"; df: "ak.df"; dg: "ak.dg"; dh: "ak.dh"; di: "ak.di"; dj: "ak.dj"; dk: "ak.dk"; dl: "ak.dl"; dm: "ak.dm"; dn: "ak.dn"; do: "ak.do"; dp: "ak.dp"; dq: "ak.dq"; dr: "ak.dr"; ds: "ak.ds"; dt: "ak.dt"; du: "ak.du"; dv: "ak.dv"; dw: "ak.dw"; dx: "ak.dx"; dy: "ak.dy"; dz: "ak.dz"; ea: "ak.ea"; eb: "ak.eb"; ec: "ak.ec"; ed: "ak.ed"; ee: "ak.ee"; ef: "ak.ef"; eg: "ak.eg"; eh: "ak.eh"; ei: "ak.ei"; ej: "ak.ej"; ek: "ak.ek"; el: "ak.el"; em: "ak.em"; en: "ak.en"; eo: "ak.eo"; ep: "ak.ep"; eq: "ak.eq"; er: "ak.er"; es: "ak.es"; et: "ak.et"; eu: "ak.eu"; ev: "ak.ev"; ew: "ak.ew"; ex: "ak.ex"; ey: "ak.ey"; ez: "ak.ez"; fa: "ak.fa"; fb: "ak.fb"; fc: "ak.fc"; fd: "ak.fd"; fe: "ak.fe"; ff: "ak.ff"; fg: "ak.fg"; fh: "ak.fh"; fi: "ak.fi"; fj: "ak.fj"; fk: "ak.fk"; fl: "ak.fl"; fm: "ak.fm"; fn: "ak.fn"; fo: "ak.fo"; fp: "ak.fp"; fq: "ak.fq"; fr: "ak.fr"; fs: "ak.fs"; ft: "ak.ft"; fu: "ak.fu"; fv: "ak.fv"; fw: "ak.fw"; fx: "ak.fx"; fy: "ak.fy"; fz: "ak.fz"; ga: "ak.ga"; gb: "ak.gb"; gc: "ak.gc"; gd: "ak.gd"; ge: "ak.ge"; gf: "ak.gf"; gg: "ak.gg"; gh: "ak.gh"; gi: "ak.gi"; gj: "ak.gj"; gk: "ak.gk"; gl: "ak.gl"; gm: "ak.gm"; gn: "ak.gn"; go: "ak.go"; gp: "ak.gp"; gq: "ak.gq"; gr: "ak.gr"; gs: "ak.gs"; gt: "ak.gt"; gu: "ak.gu"; gv: "ak.gv"; gw: "ak.gw"; gx: "ak.gx"; gy: "ak.gy"; gz: "ak.gz"; ha: "ak.ha"; hb: "ak.hb"; hc: "ak.hc"; hd: "ak.hd"; he: "ak.he"; hf: "ak.hf"; hg: "ak.hg"; hh: "ak.hh"; hi: "ak.hi"; hj: "ak.hj"; hk: "ak.hk"; hl: "ak.hl"; hm: "ak.hm"; hn: "ak.hn"; ho: "ak.ho"; hp: "ak.hp"; hq: "ak.hq"; hr: "ak.hr"; hs: "ak.hs"; ht: "ak.ht"; hu: "ak.hu"; hv: "ak.hv"; hw: "ak.hw"; hx: "ak.hx"; hy: "ak.hy"; hz: "ak.hz"; ia: "ak.ia"; ib: "ak.ib"; ic: "ak.ic"; id: "ak.id"; ie: "ak.ie"; if: "ak.if"; ig: "ak.ig"; ih: "ak.ih"; ii: "ak.ii"; ij: "ak.ij"; ik: "ak.ik"; il: "ak.il"; im: "ak.im"; in: "ak.in"; io: "ak.io"; ip: "ak.ip"; iq: "ak.iq"; ir: "ak.ir"; is: "ak.is"; it: "ak.it"; iu: "ak.iu"; iv: "ak.iv"; iw: "ak.iw"; ix: "ak.ix"; iy: "ak.iy"; iz: "ak.iz"; ja: "ak.ja"; jb: "ak.jb"; jc: "ak.jc"; jd: "ak.jd"; je: "ak.je"; jf: "ak.jf"; jg: "ak.jg"; jh: "ak.jh"; ji: "ak.ji"; jj: "ak.jj"; jk: "ak.jk"; jl: "ak.jl"; jm: "ak.jm"; jn: "ak.jn"; jo: "ak.jo"; jp: "ak.jp"; jq: "ak.jq"; jr: "ak.jr"; js: "ak.js"; jt: "ak.jt"; ju: "ak.ju"; jv: "ak.jv"; jw: "ak.jw"; jx: "ak.jx"; jy: "ak.jy"; jz: "ak.jz"; ka: "ak.ka"; kb: "ak.kb"; kc: "ak.kc"; kd: "ak.kd"; ke: "ak.ke"; kf: "ak.kf"; kg: "ak.kg"; kh: "ak.kh"; ki: "ak.ki"; kj: "ak.kj"; kk: "ak.kk"; kl: "ak.kl"; km: "ak.km"; kn: "ak.kn"; ko: "ak.ko"; kp: "ak.kp"; kq: "ak.kq"; kr: "ak.kr"; ks: "ak.ks"; kt: "ak.kt"; ku: "ak.ku"; kv: "ak.kv"; kw: "ak.kw"; kx: "ak.kx"; ky: "ak.ky"; kz: "ak.kz"; la: "ak.la"; lb: "ak.lb"; lc: "ak.lc"; ld: "ak.ld"; le: "ak.le"; lf: "ak.lf"; lg: "ak.lg"; lh: "ak.lh"; li: "ak.li"; lj: "ak.lj"; lk: "ak.lk"; ll: "ak.ll"; lm: "ak.lm"; ln: "ak.ln"; lo: "ak.lo"; lp: "ak.lp"; lq: "ak.lq"; lr: "ak.lr"; ls: "ak.ls"; lt: "ak.lt"; lu: "ak.lu"; lv: "ak.lv"; lw: "ak.lw"; lx: "ak.lx"; ly: "ak.ly"; lz: "ak.lz"; ma: "ak.ma"; mb: "ak.mb"; mc: "ak.mc"; md: "ak.md"; me: "ak.me"; mf: "ak.mf"; mg: "ak.mg"; mh: "ak.mh"; mi: "ak.mi"; mj: "ak.mj"; mk: "ak.mk"; ml: "ak.ml"; mm: "ak.mm"; mn: "ak.mn"; mo: "ak.mo"; mp: "ak.mp"; mq: "ak.mq"; mr: "ak.mr"; ms: "ak.ms"; mt: "ak.mt"; mu: "ak.mu"; mv: "ak.mv"; mw: "ak.mw"; mx: "ak.mx"; my: "ak.my"; mz: "ak.mz"; na: "ak.na"; nb: "ak.nb"; nc: "ak.nc"; nd: "ak.nd"; ne: "ak.ne"; nf: "ak.nf"; ng: "ak.ng"; nh: "ak.nh"; ni: "ak.ni"; nj: "ak.nj"; nk: "ak.nk"; nl: "ak.nl"; nm: "ak.nm"; nn: "ak.nn"; no: "ak.no"; np: "ak.np"; nq: "ak.nq"; nr: "ak.nr"; ns: "ak.ns"; nt: "ak.nt"; nu: "ak.nu"; nv: "ak.nv"; nw: "ak.nw"; nx: "ak.nx"; ny: "ak.ny"; nz: "ak.nz"; oa: "ak.oa"; ob: "ak.ob"; oc: "ak.oc"; od: "ak.od"; oe: "ak.oe"; of: "ak.of"; og: "ak.og"; oh: "ak.oh"; oi: "ak.oi"; oj: "ak.oj"; ok: "ak.ok"; ol: "ak.ol"; om: "ak.om"; on: "ak.on"; oo: "ak.oo"; op: "ak.op"; oq: "ak.oq"; or: "ak.or"; os: "ak.os"; ot: "ak.ot"; ou: "ak.ou"; ov: "ak.ov"; ow: "ak.ow"; ox: "ak.ox"; oy: "ak.oy"; oz: "ak.oz"; pa: "ak.pa"; pb: "ak.pb"; pc: "ak.pc"; pd: "ak.pd"; pe: "ak.pe"; pf: "ak.pf"; pg: "ak.pg"; ph: "ak.ph"; pi: "ak.pi"; pj: "ak.pj"; pk: "ak.pk"; pl: "ak.pl"; pm: "ak.pm"; pn: "ak.pn"; po: "ak.po"; pp: "ak.pp"; pq: "ak.pq"; pr: "ak.pr"; ps: "ak.ps"; pt: "ak.pt"; pu: "ak.pu"; pv: "ak.pv"; pw: "ak.pw"; px: "ak.px"; py: "ak.py"; pz: "ak.pz"; qa: "ak.qa"; qb: "ak.qb"; qc: "ak.qc"; qd: "ak.qd"; qe: "ak.qe"; qf: "ak.qf"; qg: "ak.qg"; qh: "ak.qh"; qi: "ak.qi"; qj: "ak.qj"; qk: "ak.qk"; ql: "ak.ql"; qm: "ak.qm"; qn: "ak.qn"; qo: "ak.qo"; qp: "ak.qp"; qq: "ak.qq"; qr: "ak.qr"; qs: "ak.qs"; qt: "ak.qt"; qu: "ak.qu"; qv: "ak.qv"; qw: "ak.qw"; qx: "ak.qx"; qy: "ak.qy"; qz: "ak.qz"; ra: "ak.ra"; rb: "ak.rb"; rc: "ak.rc"; rd: "ak.rd"; re: "ak.re"; rf: "ak.rf"; rg: "ak.rg"; rh: "ak.rh"; ri: "ak.ri"; rj: "ak.rj"; rk: "ak.rk"; rl: "ak.rl"; rm: "ak.rm"; rn: "ak.rn"; ro: "ak.ro"; rp: "ak.rp"; rq: "ak.rq"; rr: "ak.rr"; rs: "ak.rs"; rt: "ak.rt"; ru: "ak.ru"; rv: "ak.rv"; rw: "ak.rw"; rx: "ak.rx"; ry: "ak.ry"; rz: "ak.rz"; sa: "ak.sa"; sb: "ak.sb"; sc: "ak.sc"; sd: "ak.sd"; se: "ak.se"; sf: "ak.sf"; sg: "ak.sg"; sh: "ak.sh"; si: "ak.si"; sj: "ak.sj"; sk: "ak.sk"; sl: "ak.sl"; sm: "ak.sm"; sn: "ak.sn"; so: "ak.so"; sp: "ak.sp"; sq: "ak.sq"; sr: "ak.sr"; ss: "ak.ss"; st: "ak.st"; su: "ak.su"; sv: "ak.sv"; sw: "ak.sw"; sx: "ak.sx"; sy: "ak.sy"; sz: "ak.sz"; ta: "ak.ta"; tb: "ak.tb"; tc: "ak.tc"; td: "ak.td"; te: "ak.te"; tf: "ak.tf"; tg: "ak.tg"; th: "ak.th"; ti: "ak.ti"; tj: "ak.tj"; tk: "ak.tk"; tl: "ak.tl"; tm: "ak.tm"; tn: "ak.tn"; to: "ak.to"; tp: "ak.tp"; tq: "ak.tq"; tr: "ak.tr"; ts: "ak.ts"; tt: "ak.tt"; tu: "ak.tu"; tv: "ak.tv"; tw: "ak.tw"; tx: "ak.tx"; ty: "ak.ty"; tz: "ak.tz"; ua: "ak.ua"; ub: "ak.ub"; uc: "ak.uc"; ud: "ak.ud"; ue: "ak.ue"; uf: "ak.uf"; ug: "ak.ug"; uh: "ak.uh"; ui: "ak.ui"; uj: "ak.uj"; uk: "ak.uk"; ul: "ak.ul"; um: "ak.um"; un: "ak.un"; uo: "ak.uo"; up: "ak.up"; uq: "ak.uq"; ur: "ak.ur"; us: "ak.us"; ut: "ak.ut"; uu: "ak.uu"; uv: "ak.uv"; uw: "ak.uw"; ux: "ak.ux"; uy: "ak.uy"; uz: "ak.uz"; va: "ak.va"; vb: "ak.vb"; vc: "ak.vc"; vd: "ak.vd"; ve: "ak.ve"; vf: "ak.vf"; vg: "ak.vg"; vh: "ak.vh"; vi: "ak.vi"; vj: "ak.vj"; vk: "ak.vk"; vl: "ak.vl"; vm: "ak.vm"; vn: "ak.vn"; vo: "ak.vo"; vp: "ak.vp"; vq: "ak.vq"; vr: "ak.vr"; vs: "ak.vs"; vt: "ak.vt"; vu: "ak.vu"; vv: "ak.vv"; vw: "ak.vw"; vx: "ak.vx"; vy: "ak.vy"; vz: "ak.vz"; wa: "ak.wa"; wb: "ak.wb"; wc: "ak.wc"; wd: "ak.wd"; we: "ak.we"; wf: "ak.wf"; wg: "ak.wg"; wh: "ak.wh"; wi: "ak.wi"; wj: "ak.wj"; wk: "ak.wk"; wl: "ak.wl"; wm: "ak.wm"; wn: "ak.wn"; wo: "ak.wo"; wp: "ak.wp"; wq: "ak.wq"; wr: "ak.wr"; ws: "ak.ws"; wt: "ak.wt"; wu: "ak.wu"; wv: "ak.wv"; ww: "ak.ww"; wx: "ak.wx"; wy: "ak.wy"; wz: "ak.wz"; xa: "ak.xa"; xb: "ak.xb"; xc: "ak.xc"; xd: "ak.xd"; xe: "ak.xe"; xf: "ak.xf"; xg: "ak.xg"; xh: "ak.xh"; xi: "ak.xi"; xj: "ak.xj"; xk: "ak.xk"; xl: "ak.xl"; xm: "ak.xm"; xn: "ak.xn"; xo: "ak.xo"; xp: "ak.xp"; xq: "ak.xq"; xr: "ak.xr"; xs: "ak.xs"; xt: "ak.xt"; xu: "ak.xu"; xv: "ak.xv"; xw: "ak.xw"; xx: "ak.xx"; xy: "ak.xy"; xz: "ak.xz"; ya: "ak.ya"; yb: "ak.yb"; yc: "ak.yc"; yd: "ak.yd"; ye: "ak.ye"; yf: "ak.yf"; yg: "ak.yg"; yh: "ak.yh"; yi: "ak.yi"; yj: "ak.yj"; yk: "ak.yk"; yl: "ak.yl"; ym: "ak.ym"; yn: "ak.yn"; yo: "ak.yo"; yp: "ak.yp"; yq: "ak.yq"; yr: "ak.yr"; ys: "ak.ys"; yt: "ak.yt"; yu: "ak.yu"; yv: "ak.yv"; yw: "ak.yw"; yx: "ak.yx"; yy: "ak.yy"; yz: "ak.yz"; za: "ak.za"; zb: "ak.zb"; zc: "ak.zc"; zd: "ak.zd"; ze: "ak.ze"; zf: "ak.zf"; zg: "ak.zg"; zh: "ak.zh"; zi: "ak.zi"; zj: "ak.zj"; zk: "ak.zk"; zl: "ak.zl"; zm: "ak.zm"; zn: "ak.zn"; zo: "ak.zo"; zp: "ak.zp"; zq: "ak.zq"; zr: "ak.zr"; zs: "ak.zs"; zt: "ak.zt"; zu: "ak.zu"; zv: "ak.zv"; zw: "ak.zw"; zx: "ak.zx"; zy: "ak.zy"; zz: "ak.zz"; }; al: { aa: "al.aa"; ab: "al.ab"; ac: "al.ac"; ad: "al.ad"; ae: "al.ae"; af: "al.af"; ag: "al.ag"; ah: "al.ah"; ai: "al.ai"; aj: "al.aj"; ak: "al.ak"; al: "al.al"; am: "al.am"; an: "al.an"; ao: "al.ao"; ap: "al.ap"; aq: "al.aq"; ar: "al.ar"; as: "al.as"; at: "al.at"; au: "al.au"; av: "al.av"; aw: "al.aw"; ax: "al.ax"; ay: "al.ay"; az: "al.az"; ba: "al.ba"; bb: "al.bb"; bc: "al.bc"; bd: "al.bd"; be: "al.be"; bf: "al.bf"; bg: "al.bg"; bh: "al.bh"; bi: "al.bi"; bj: "al.bj"; bk: "al.bk"; bl: "al.bl"; bm: "al.bm"; bn: "al.bn"; bo: "al.bo"; bp: "al.bp"; bq: "al.bq"; br: "al.br"; bs: "al.bs"; bt: "al.bt"; bu: "al.bu"; bv: "al.bv"; bw: "al.bw"; bx: "al.bx"; by: "al.by"; bz: "al.bz"; ca: "al.ca"; cb: "al.cb"; cc: "al.cc"; cd: "al.cd"; ce: "al.ce"; cf: "al.cf"; cg: "al.cg"; ch: "al.ch"; ci: "al.ci"; cj: "al.cj"; ck: "al.ck"; cl: "al.cl"; cm: "al.cm"; cn: "al.cn"; co: "al.co"; cp: "al.cp"; cq: "al.cq"; cr: "al.cr"; cs: "al.cs"; ct: "al.ct"; cu: "al.cu"; cv: "al.cv"; cw: "al.cw"; cx: "al.cx"; cy: "al.cy"; cz: "al.cz"; da: "al.da"; db: "al.db"; dc: "al.dc"; dd: "al.dd"; de: "al.de"; df: "al.df"; dg: "al.dg"; dh: "al.dh"; di: "al.di"; dj: "al.dj"; dk: "al.dk"; dl: "al.dl"; dm: "al.dm"; dn: "al.dn"; do: "al.do"; dp: "al.dp"; dq: "al.dq"; dr: "al.dr"; ds: "al.ds"; dt: "al.dt"; du: "al.du"; dv: "al.dv"; dw: "al.dw"; dx: "al.dx"; dy: "al.dy"; dz: "al.dz"; ea: "al.ea"; eb: "al.eb"; ec: "al.ec"; ed: "al.ed"; ee: "al.ee"; ef: "al.ef"; eg: "al.eg"; eh: "al.eh"; ei: "al.ei"; ej: "al.ej"; ek: "al.ek"; el: "al.el"; em: "al.em"; en: "al.en"; eo: "al.eo"; ep: "al.ep"; eq: "al.eq"; er: "al.er"; es: "al.es"; et: "al.et"; eu: "al.eu"; ev: "al.ev"; ew: "al.ew"; ex: "al.ex"; ey: "al.ey"; ez: "al.ez"; fa: "al.fa"; fb: "al.fb"; fc: "al.fc"; fd: "al.fd"; fe: "al.fe"; ff: "al.ff"; fg: "al.fg"; fh: "al.fh"; fi: "al.fi"; fj: "al.fj"; fk: "al.fk"; fl: "al.fl"; fm: "al.fm"; fn: "al.fn"; fo: "al.fo"; fp: "al.fp"; fq: "al.fq"; fr: "al.fr"; fs: "al.fs"; ft: "al.ft"; fu: "al.fu"; fv: "al.fv"; fw: "al.fw"; fx: "al.fx"; fy: "al.fy"; fz: "al.fz"; ga: "al.ga"; gb: "al.gb"; gc: "al.gc"; gd: "al.gd"; ge: "al.ge"; gf: "al.gf"; gg: "al.gg"; gh: "al.gh"; gi: "al.gi"; gj: "al.gj"; gk: "al.gk"; gl: "al.gl"; gm: "al.gm"; gn: "al.gn"; go: "al.go"; gp: "al.gp"; gq: "al.gq"; gr: "al.gr"; gs: "al.gs"; gt: "al.gt"; gu: "al.gu"; gv: "al.gv"; gw: "al.gw"; gx: "al.gx"; gy: "al.gy"; gz: "al.gz"; ha: "al.ha"; hb: "al.hb"; hc: "al.hc"; hd: "al.hd"; he: "al.he"; hf: "al.hf"; hg: "al.hg"; hh: "al.hh"; hi: "al.hi"; hj: "al.hj"; hk: "al.hk"; hl: "al.hl"; hm: "al.hm"; hn: "al.hn"; ho: "al.ho"; hp: "al.hp"; hq: "al.hq"; hr: "al.hr"; hs: "al.hs"; ht: "al.ht"; hu: "al.hu"; hv: "al.hv"; hw: "al.hw"; hx: "al.hx"; hy: "al.hy"; hz: "al.hz"; ia: "al.ia"; ib: "al.ib"; ic: "al.ic"; id: "al.id"; ie: "al.ie"; if: "al.if"; ig: "al.ig"; ih: "al.ih"; ii: "al.ii"; ij: "al.ij"; ik: "al.ik"; il: "al.il"; im: "al.im"; in: "al.in"; io: "al.io"; ip: "al.ip"; iq: "al.iq"; ir: "al.ir"; is: "al.is"; it: "al.it"; iu: "al.iu"; iv: "al.iv"; iw: "al.iw"; ix: "al.ix"; iy: "al.iy"; iz: "al.iz"; ja: "al.ja"; jb: "al.jb"; jc: "al.jc"; jd: "al.jd"; je: "al.je"; jf: "al.jf"; jg: "al.jg"; jh: "al.jh"; ji: "al.ji"; jj: "al.jj"; jk: "al.jk"; jl: "al.jl"; jm: "al.jm"; jn: "al.jn"; jo: "al.jo"; jp: "al.jp"; jq: "al.jq"; jr: "al.jr"; js: "al.js"; jt: "al.jt"; ju: "al.ju"; jv: "al.jv"; jw: "al.jw"; jx: "al.jx"; jy: "al.jy"; jz: "al.jz"; ka: "al.ka"; kb: "al.kb"; kc: "al.kc"; kd: "al.kd"; ke: "al.ke"; kf: "al.kf"; kg: "al.kg"; kh: "al.kh"; ki: "al.ki"; kj: "al.kj"; kk: "al.kk"; kl: "al.kl"; km: "al.km"; kn: "al.kn"; ko: "al.ko"; kp: "al.kp"; kq: "al.kq"; kr: "al.kr"; ks: "al.ks"; kt: "al.kt"; ku: "al.ku"; kv: "al.kv"; kw: "al.kw"; kx: "al.kx"; ky: "al.ky"; kz: "al.kz"; la: "al.la"; lb: "al.lb"; lc: "al.lc"; ld: "al.ld"; le: "al.le"; lf: "al.lf"; lg: "al.lg"; lh: "al.lh"; li: "al.li"; lj: "al.lj"; lk: "al.lk"; ll: "al.ll"; lm: "al.lm"; ln: "al.ln"; lo: "al.lo"; lp: "al.lp"; lq: "al.lq"; lr: "al.lr"; ls: "al.ls"; lt: "al.lt"; lu: "al.lu"; lv: "al.lv"; lw: "al.lw"; lx: "al.lx"; ly: "al.ly"; lz: "al.lz"; ma: "al.ma"; mb: "al.mb"; mc: "al.mc"; md: "al.md"; me: "al.me"; mf: "al.mf"; mg: "al.mg"; mh: "al.mh"; mi: "al.mi"; mj: "al.mj"; mk: "al.mk"; ml: "al.ml"; mm: "al.mm"; mn: "al.mn"; mo: "al.mo"; mp: "al.mp"; mq: "al.mq"; mr: "al.mr"; ms: "al.ms"; mt: "al.mt"; mu: "al.mu"; mv: "al.mv"; mw: "al.mw"; mx: "al.mx"; my: "al.my"; mz: "al.mz"; na: "al.na"; nb: "al.nb"; nc: "al.nc"; nd: "al.nd"; ne: "al.ne"; nf: "al.nf"; ng: "al.ng"; nh: "al.nh"; ni: "al.ni"; nj: "al.nj"; nk: "al.nk"; nl: "al.nl"; nm: "al.nm"; nn: "al.nn"; no: "al.no"; np: "al.np"; nq: "al.nq"; nr: "al.nr"; ns: "al.ns"; nt: "al.nt"; nu: "al.nu"; nv: "al.nv"; nw: "al.nw"; nx: "al.nx"; ny: "al.ny"; nz: "al.nz"; oa: "al.oa"; ob: "al.ob"; oc: "al.oc"; od: "al.od"; oe: "al.oe"; of: "al.of"; og: "al.og"; oh: "al.oh"; oi: "al.oi"; oj: "al.oj"; ok: "al.ok"; ol: "al.ol"; om: "al.om"; on: "al.on"; oo: "al.oo"; op: "al.op"; oq: "al.oq"; or: "al.or"; os: "al.os"; ot: "al.ot"; ou: "al.ou"; ov: "al.ov"; ow: "al.ow"; ox: "al.ox"; oy: "al.oy"; oz: "al.oz"; pa: "al.pa"; pb: "al.pb"; pc: "al.pc"; pd: "al.pd"; pe: "al.pe"; pf: "al.pf"; pg: "al.pg"; ph: "al.ph"; pi: "al.pi"; pj: "al.pj"; pk: "al.pk"; pl: "al.pl"; pm: "al.pm"; pn: "al.pn"; po: "al.po"; pp: "al.pp"; pq: "al.pq"; pr: "al.pr"; ps: "al.ps"; pt: "al.pt"; pu: "al.pu"; pv: "al.pv"; pw: "al.pw"; px: "al.px"; py: "al.py"; pz: "al.pz"; qa: "al.qa"; qb: "al.qb"; qc: "al.qc"; qd: "al.qd"; qe: "al.qe"; qf: "al.qf"; qg: "al.qg"; qh: "al.qh"; qi: "al.qi"; qj: "al.qj"; qk: "al.qk"; ql: "al.ql"; qm: "al.qm"; qn: "al.qn"; qo: "al.qo"; qp: "al.qp"; qq: "al.qq"; qr: "al.qr"; qs: "al.qs"; qt: "al.qt"; qu: "al.qu"; qv: "al.qv"; qw: "al.qw"; qx: "al.qx"; qy: "al.qy"; qz: "al.qz"; ra: "al.ra"; rb: "al.rb"; rc: "al.rc"; rd: "al.rd"; re: "al.re"; rf: "al.rf"; rg: "al.rg"; rh: "al.rh"; ri: "al.ri"; rj: "al.rj"; rk: "al.rk"; rl: "al.rl"; rm: "al.rm"; rn: "al.rn"; ro: "al.ro"; rp: "al.rp"; rq: "al.rq"; rr: "al.rr"; rs: "al.rs"; rt: "al.rt"; ru: "al.ru"; rv: "al.rv"; rw: "al.rw"; rx: "al.rx"; ry: "al.ry"; rz: "al.rz"; sa: "al.sa"; sb: "al.sb"; sc: "al.sc"; sd: "al.sd"; se: "al.se"; sf: "al.sf"; sg: "al.sg"; sh: "al.sh"; si: "al.si"; sj: "al.sj"; sk: "al.sk"; sl: "al.sl"; sm: "al.sm"; sn: "al.sn"; so: "al.so"; sp: "al.sp"; sq: "al.sq"; sr: "al.sr"; ss: "al.ss"; st: "al.st"; su: "al.su"; sv: "al.sv"; sw: "al.sw"; sx: "al.sx"; sy: "al.sy"; sz: "al.sz"; ta: "al.ta"; tb: "al.tb"; tc: "al.tc"; td: "al.td"; te: "al.te"; tf: "al.tf"; tg: "al.tg"; th: "al.th"; ti: "al.ti"; tj: "al.tj"; tk: "al.tk"; tl: "al.tl"; tm: "al.tm"; tn: "al.tn"; to: "al.to"; tp: "al.tp"; tq: "al.tq"; tr: "al.tr"; ts: "al.ts"; tt: "al.tt"; tu: "al.tu"; tv: "al.tv"; tw: "al.tw"; tx: "al.tx"; ty: "al.ty"; tz: "al.tz"; ua: "al.ua"; ub: "al.ub"; uc: "al.uc"; ud: "al.ud"; ue: "al.ue"; uf: "al.uf"; ug: "al.ug"; uh: "al.uh"; ui: "al.ui"; uj: "al.uj"; uk: "al.uk"; ul: "al.ul"; um: "al.um"; un: "al.un"; uo: "al.uo"; up: "al.up"; uq: "al.uq"; ur: "al.ur"; us: "al.us"; ut: "al.ut"; uu: "al.uu"; uv: "al.uv"; uw: "al.uw"; ux: "al.ux"; uy: "al.uy"; uz: "al.uz"; va: "al.va"; vb: "al.vb"; vc: "al.vc"; vd: "al.vd"; ve: "al.ve"; vf: "al.vf"; vg: "al.vg"; vh: "al.vh"; vi: "al.vi"; vj: "al.vj"; vk: "al.vk"; vl: "al.vl"; vm: "al.vm"; vn: "al.vn"; vo: "al.vo"; vp: "al.vp"; vq: "al.vq"; vr: "al.vr"; vs: "al.vs"; vt: "al.vt"; vu: "al.vu"; vv: "al.vv"; vw: "al.vw"; vx: "al.vx"; vy: "al.vy"; vz: "al.vz"; wa: "al.wa"; wb: "al.wb"; wc: "al.wc"; wd: "al.wd"; we: "al.we"; wf: "al.wf"; wg: "al.wg"; wh: "al.wh"; wi: "al.wi"; wj: "al.wj"; wk: "al.wk"; wl: "al.wl"; wm: "al.wm"; wn: "al.wn"; wo: "al.wo"; wp: "al.wp"; wq: "al.wq"; wr: "al.wr"; ws: "al.ws"; wt: "al.wt"; wu: "al.wu"; wv: "al.wv"; ww: "al.ww"; wx: "al.wx"; wy: "al.wy"; wz: "al.wz"; xa: "al.xa"; xb: "al.xb"; xc: "al.xc"; xd: "al.xd"; xe: "al.xe"; xf: "al.xf"; xg: "al.xg"; xh: "al.xh"; xi: "al.xi"; xj: "al.xj"; xk: "al.xk"; xl: "al.xl"; xm: "al.xm"; xn: "al.xn"; xo: "al.xo"; xp: "al.xp"; xq: "al.xq"; xr: "al.xr"; xs: "al.xs"; xt: "al.xt"; xu: "al.xu"; xv: "al.xv"; xw: "al.xw"; xx: "al.xx"; xy: "al.xy"; xz: "al.xz"; ya: "al.ya"; yb: "al.yb"; yc: "al.yc"; yd: "al.yd"; ye: "al.ye"; yf: "al.yf"; yg: "al.yg"; yh: "al.yh"; yi: "al.yi"; yj: "al.yj"; yk: "al.yk"; yl: "al.yl"; ym: "al.ym"; yn: "al.yn"; yo: "al.yo"; yp: "al.yp"; yq: "al.yq"; yr: "al.yr"; ys: "al.ys"; yt: "al.yt"; yu: "al.yu"; yv: "al.yv"; yw: "al.yw"; yx: "al.yx"; yy: "al.yy"; yz: "al.yz"; za: "al.za"; zb: "al.zb"; zc: "al.zc"; zd: "al.zd"; ze: "al.ze"; zf: "al.zf"; zg: "al.zg"; zh: "al.zh"; zi: "al.zi"; zj: "al.zj"; zk: "al.zk"; zl: "al.zl"; zm: "al.zm"; zn: "al.zn"; zo: "al.zo"; zp: "al.zp"; zq: "al.zq"; zr: "al.zr"; zs: "al.zs"; zt: "al.zt"; zu: "al.zu"; zv: "al.zv"; zw: "al.zw"; zx: "al.zx"; zy: "al.zy"; zz: "al.zz"; }; am: { aa: "am.aa"; ab: "am.ab"; ac: "am.ac"; ad: "am.ad"; ae: "am.ae"; af: "am.af"; ag: "am.ag"; ah: "am.ah"; ai: "am.ai"; aj: "am.aj"; ak: "am.ak"; al: "am.al"; am: "am.am"; an: "am.an"; ao: "am.ao"; ap: "am.ap"; aq: "am.aq"; ar: "am.ar"; as: "am.as"; at: "am.at"; au: "am.au"; av: "am.av"; aw: "am.aw"; ax: "am.ax"; ay: "am.ay"; az: "am.az"; ba: "am.ba"; bb: "am.bb"; bc: "am.bc"; bd: "am.bd"; be: "am.be"; bf: "am.bf"; bg: "am.bg"; bh: "am.bh"; bi: "am.bi"; bj: "am.bj"; bk: "am.bk"; bl: "am.bl"; bm: "am.bm"; bn: "am.bn"; bo: "am.bo"; bp: "am.bp"; bq: "am.bq"; br: "am.br"; bs: "am.bs"; bt: "am.bt"; bu: "am.bu"; bv: "am.bv"; bw: "am.bw"; bx: "am.bx"; by: "am.by"; bz: "am.bz"; ca: "am.ca"; cb: "am.cb"; cc: "am.cc"; cd: "am.cd"; ce: "am.ce"; cf: "am.cf"; cg: "am.cg"; ch: "am.ch"; ci: "am.ci"; cj: "am.cj"; ck: "am.ck"; cl: "am.cl"; cm: "am.cm"; cn: "am.cn"; co: "am.co"; cp: "am.cp"; cq: "am.cq"; cr: "am.cr"; cs: "am.cs"; ct: "am.ct"; cu: "am.cu"; cv: "am.cv"; cw: "am.cw"; cx: "am.cx"; cy: "am.cy"; cz: "am.cz"; da: "am.da"; db: "am.db"; dc: "am.dc"; dd: "am.dd"; de: "am.de"; df: "am.df"; dg: "am.dg"; dh: "am.dh"; di: "am.di"; dj: "am.dj"; dk: "am.dk"; dl: "am.dl"; dm: "am.dm"; dn: "am.dn"; do: "am.do"; dp: "am.dp"; dq: "am.dq"; dr: "am.dr"; ds: "am.ds"; dt: "am.dt"; du: "am.du"; dv: "am.dv"; dw: "am.dw"; dx: "am.dx"; dy: "am.dy"; dz: "am.dz"; ea: "am.ea"; eb: "am.eb"; ec: "am.ec"; ed: "am.ed"; ee: "am.ee"; ef: "am.ef"; eg: "am.eg"; eh: "am.eh"; ei: "am.ei"; ej: "am.ej"; ek: "am.ek"; el: "am.el"; em: "am.em"; en: "am.en"; eo: "am.eo"; ep: "am.ep"; eq: "am.eq"; er: "am.er"; es: "am.es"; et: "am.et"; eu: "am.eu"; ev: "am.ev"; ew: "am.ew"; ex: "am.ex"; ey: "am.ey"; ez: "am.ez"; fa: "am.fa"; fb: "am.fb"; fc: "am.fc"; fd: "am.fd"; fe: "am.fe"; ff: "am.ff"; fg: "am.fg"; fh: "am.fh"; fi: "am.fi"; fj: "am.fj"; fk: "am.fk"; fl: "am.fl"; fm: "am.fm"; fn: "am.fn"; fo: "am.fo"; fp: "am.fp"; fq: "am.fq"; fr: "am.fr"; fs: "am.fs"; ft: "am.ft"; fu: "am.fu"; fv: "am.fv"; fw: "am.fw"; fx: "am.fx"; fy: "am.fy"; fz: "am.fz"; ga: "am.ga"; gb: "am.gb"; gc: "am.gc"; gd: "am.gd"; ge: "am.ge"; gf: "am.gf"; gg: "am.gg"; gh: "am.gh"; gi: "am.gi"; gj: "am.gj"; gk: "am.gk"; gl: "am.gl"; gm: "am.gm"; gn: "am.gn"; go: "am.go"; gp: "am.gp"; gq: "am.gq"; gr: "am.gr"; gs: "am.gs"; gt: "am.gt"; gu: "am.gu"; gv: "am.gv"; gw: "am.gw"; gx: "am.gx"; gy: "am.gy"; gz: "am.gz"; ha: "am.ha"; hb: "am.hb"; hc: "am.hc"; hd: "am.hd"; he: "am.he"; hf: "am.hf"; hg: "am.hg"; hh: "am.hh"; hi: "am.hi"; hj: "am.hj"; hk: "am.hk"; hl: "am.hl"; hm: "am.hm"; hn: "am.hn"; ho: "am.ho"; hp: "am.hp"; hq: "am.hq"; hr: "am.hr"; hs: "am.hs"; ht: "am.ht"; hu: "am.hu"; hv: "am.hv"; hw: "am.hw"; hx: "am.hx"; hy: "am.hy"; hz: "am.hz"; ia: "am.ia"; ib: "am.ib"; ic: "am.ic"; id: "am.id"; ie: "am.ie"; if: "am.if"; ig: "am.ig"; ih: "am.ih"; ii: "am.ii"; ij: "am.ij"; ik: "am.ik"; il: "am.il"; im: "am.im"; in: "am.in"; io: "am.io"; ip: "am.ip"; iq: "am.iq"; ir: "am.ir"; is: "am.is"; it: "am.it"; iu: "am.iu"; iv: "am.iv"; iw: "am.iw"; ix: "am.ix"; iy: "am.iy"; iz: "am.iz"; ja: "am.ja"; jb: "am.jb"; jc: "am.jc"; jd: "am.jd"; je: "am.je"; jf: "am.jf"; jg: "am.jg"; jh: "am.jh"; ji: "am.ji"; jj: "am.jj"; jk: "am.jk"; jl: "am.jl"; jm: "am.jm"; jn: "am.jn"; jo: "am.jo"; jp: "am.jp"; jq: "am.jq"; jr: "am.jr"; js: "am.js"; jt: "am.jt"; ju: "am.ju"; jv: "am.jv"; jw: "am.jw"; jx: "am.jx"; jy: "am.jy"; jz: "am.jz"; ka: "am.ka"; kb: "am.kb"; kc: "am.kc"; kd: "am.kd"; ke: "am.ke"; kf: "am.kf"; kg: "am.kg"; kh: "am.kh"; ki: "am.ki"; kj: "am.kj"; kk: "am.kk"; kl: "am.kl"; km: "am.km"; kn: "am.kn"; ko: "am.ko"; kp: "am.kp"; kq: "am.kq"; kr: "am.kr"; ks: "am.ks"; kt: "am.kt"; ku: "am.ku"; kv: "am.kv"; kw: "am.kw"; kx: "am.kx"; ky: "am.ky"; kz: "am.kz"; la: "am.la"; lb: "am.lb"; lc: "am.lc"; ld: "am.ld"; le: "am.le"; lf: "am.lf"; lg: "am.lg"; lh: "am.lh"; li: "am.li"; lj: "am.lj"; lk: "am.lk"; ll: "am.ll"; lm: "am.lm"; ln: "am.ln"; lo: "am.lo"; lp: "am.lp"; lq: "am.lq"; lr: "am.lr"; ls: "am.ls"; lt: "am.lt"; lu: "am.lu"; lv: "am.lv"; lw: "am.lw"; lx: "am.lx"; ly: "am.ly"; lz: "am.lz"; ma: "am.ma"; mb: "am.mb"; mc: "am.mc"; md: "am.md"; me: "am.me"; mf: "am.mf"; mg: "am.mg"; mh: "am.mh"; mi: "am.mi"; mj: "am.mj"; mk: "am.mk"; ml: "am.ml"; mm: "am.mm"; mn: "am.mn"; mo: "am.mo"; mp: "am.mp"; mq: "am.mq"; mr: "am.mr"; ms: "am.ms"; mt: "am.mt"; mu: "am.mu"; mv: "am.mv"; mw: "am.mw"; mx: "am.mx"; my: "am.my"; mz: "am.mz"; na: "am.na"; nb: "am.nb"; nc: "am.nc"; nd: "am.nd"; ne: "am.ne"; nf: "am.nf"; ng: "am.ng"; nh: "am.nh"; ni: "am.ni"; nj: "am.nj"; nk: "am.nk"; nl: "am.nl"; nm: "am.nm"; nn: "am.nn"; no: "am.no"; np: "am.np"; nq: "am.nq"; nr: "am.nr"; ns: "am.ns"; nt: "am.nt"; nu: "am.nu"; nv: "am.nv"; nw: "am.nw"; nx: "am.nx"; ny: "am.ny"; nz: "am.nz"; oa: "am.oa"; ob: "am.ob"; oc: "am.oc"; od: "am.od"; oe: "am.oe"; of: "am.of"; og: "am.og"; oh: "am.oh"; oi: "am.oi"; oj: "am.oj"; ok: "am.ok"; ol: "am.ol"; om: "am.om"; on: "am.on"; oo: "am.oo"; op: "am.op"; oq: "am.oq"; or: "am.or"; os: "am.os"; ot: "am.ot"; ou: "am.ou"; ov: "am.ov"; ow: "am.ow"; ox: "am.ox"; oy: "am.oy"; oz: "am.oz"; pa: "am.pa"; pb: "am.pb"; pc: "am.pc"; pd: "am.pd"; pe: "am.pe"; pf: "am.pf"; pg: "am.pg"; ph: "am.ph"; pi: "am.pi"; pj: "am.pj"; pk: "am.pk"; pl: "am.pl"; pm: "am.pm"; pn: "am.pn"; po: "am.po"; pp: "am.pp"; pq: "am.pq"; pr: "am.pr"; ps: "am.ps"; pt: "am.pt"; pu: "am.pu"; pv: "am.pv"; pw: "am.pw"; px: "am.px"; py: "am.py"; pz: "am.pz"; qa: "am.qa"; qb: "am.qb"; qc: "am.qc"; qd: "am.qd"; qe: "am.qe"; qf: "am.qf"; qg: "am.qg"; qh: "am.qh"; qi: "am.qi"; qj: "am.qj"; qk: "am.qk"; ql: "am.ql"; qm: "am.qm"; qn: "am.qn"; qo: "am.qo"; qp: "am.qp"; qq: "am.qq"; qr: "am.qr"; qs: "am.qs"; qt: "am.qt"; qu: "am.qu"; qv: "am.qv"; qw: "am.qw"; qx: "am.qx"; qy: "am.qy"; qz: "am.qz"; ra: "am.ra"; rb: "am.rb"; rc: "am.rc"; rd: "am.rd"; re: "am.re"; rf: "am.rf"; rg: "am.rg"; rh: "am.rh"; ri: "am.ri"; rj: "am.rj"; rk: "am.rk"; rl: "am.rl"; rm: "am.rm"; rn: "am.rn"; ro: "am.ro"; rp: "am.rp"; rq: "am.rq"; rr: "am.rr"; rs: "am.rs"; rt: "am.rt"; ru: "am.ru"; rv: "am.rv"; rw: "am.rw"; rx: "am.rx"; ry: "am.ry"; rz: "am.rz"; sa: "am.sa"; sb: "am.sb"; sc: "am.sc"; sd: "am.sd"; se: "am.se"; sf: "am.sf"; sg: "am.sg"; sh: "am.sh"; si: "am.si"; sj: "am.sj"; sk: "am.sk"; sl: "am.sl"; sm: "am.sm"; sn: "am.sn"; so: "am.so"; sp: "am.sp"; sq: "am.sq"; sr: "am.sr"; ss: "am.ss"; st: "am.st"; su: "am.su"; sv: "am.sv"; sw: "am.sw"; sx: "am.sx"; sy: "am.sy"; sz: "am.sz"; ta: "am.ta"; tb: "am.tb"; tc: "am.tc"; td: "am.td"; te: "am.te"; tf: "am.tf"; tg: "am.tg"; th: "am.th"; ti: "am.ti"; tj: "am.tj"; tk: "am.tk"; tl: "am.tl"; tm: "am.tm"; tn: "am.tn"; to: "am.to"; tp: "am.tp"; tq: "am.tq"; tr: "am.tr"; ts: "am.ts"; tt: "am.tt"; tu: "am.tu"; tv: "am.tv"; tw: "am.tw"; tx: "am.tx"; ty: "am.ty"; tz: "am.tz"; ua: "am.ua"; ub: "am.ub"; uc: "am.uc"; ud: "am.ud"; ue: "am.ue"; uf: "am.uf"; ug: "am.ug"; uh: "am.uh"; ui: "am.ui"; uj: "am.uj"; uk: "am.uk"; ul: "am.ul"; um: "am.um"; un: "am.un"; uo: "am.uo"; up: "am.up"; uq: "am.uq"; ur: "am.ur"; us: "am.us"; ut: "am.ut"; uu: "am.uu"; uv: "am.uv"; uw: "am.uw"; ux: "am.ux"; uy: "am.uy"; uz: "am.uz"; va: "am.va"; vb: "am.vb"; vc: "am.vc"; vd: "am.vd"; ve: "am.ve"; vf: "am.vf"; vg: "am.vg"; vh: "am.vh"; vi: "am.vi"; vj: "am.vj"; vk: "am.vk"; vl: "am.vl"; vm: "am.vm"; vn: "am.vn"; vo: "am.vo"; vp: "am.vp"; vq: "am.vq"; vr: "am.vr"; vs: "am.vs"; vt: "am.vt"; vu: "am.vu"; vv: "am.vv"; vw: "am.vw"; vx: "am.vx"; vy: "am.vy"; vz: "am.vz"; wa: "am.wa"; wb: "am.wb"; wc: "am.wc"; wd: "am.wd"; we: "am.we"; wf: "am.wf"; wg: "am.wg"; wh: "am.wh"; wi: "am.wi"; wj: "am.wj"; wk: "am.wk"; wl: "am.wl"; wm: "am.wm"; wn: "am.wn"; wo: "am.wo"; wp: "am.wp"; wq: "am.wq"; wr: "am.wr"; ws: "am.ws"; wt: "am.wt"; wu: "am.wu"; wv: "am.wv"; ww: "am.ww"; wx: "am.wx"; wy: "am.wy"; wz: "am.wz"; xa: "am.xa"; xb: "am.xb"; xc: "am.xc"; xd: "am.xd"; xe: "am.xe"; xf: "am.xf"; xg: "am.xg"; xh: "am.xh"; xi: "am.xi"; xj: "am.xj"; xk: "am.xk"; xl: "am.xl"; xm: "am.xm"; xn: "am.xn"; xo: "am.xo"; xp: "am.xp"; xq: "am.xq"; xr: "am.xr"; xs: "am.xs"; xt: "am.xt"; xu: "am.xu"; xv: "am.xv"; xw: "am.xw"; xx: "am.xx"; xy: "am.xy"; xz: "am.xz"; ya: "am.ya"; yb: "am.yb"; yc: "am.yc"; yd: "am.yd"; ye: "am.ye"; yf: "am.yf"; yg: "am.yg"; yh: "am.yh"; yi: "am.yi"; yj: "am.yj"; yk: "am.yk"; yl: "am.yl"; ym: "am.ym"; yn: "am.yn"; yo: "am.yo"; yp: "am.yp"; yq: "am.yq"; yr: "am.yr"; ys: "am.ys"; yt: "am.yt"; yu: "am.yu"; yv: "am.yv"; yw: "am.yw"; yx: "am.yx"; yy: "am.yy"; yz: "am.yz"; za: "am.za"; zb: "am.zb"; zc: "am.zc"; zd: "am.zd"; ze: "am.ze"; zf: "am.zf"; zg: "am.zg"; zh: "am.zh"; zi: "am.zi"; zj: "am.zj"; zk: "am.zk"; zl: "am.zl"; zm: "am.zm"; zn: "am.zn"; zo: "am.zo"; zp: "am.zp"; zq: "am.zq"; zr: "am.zr"; zs: "am.zs"; zt: "am.zt"; zu: "am.zu"; zv: "am.zv"; zw: "am.zw"; zx: "am.zx"; zy: "am.zy"; zz: "am.zz"; }; an: { aa: "an.aa"; ab: "an.ab"; ac: "an.ac"; ad: "an.ad"; ae: "an.ae"; af: "an.af"; ag: "an.ag"; ah: "an.ah"; ai: "an.ai"; aj: "an.aj"; ak: "an.ak"; al: "an.al"; am: "an.am"; an: "an.an"; ao: "an.ao"; ap: "an.ap"; aq: "an.aq"; ar: "an.ar"; as: "an.as"; at: "an.at"; au: "an.au"; av: "an.av"; aw: "an.aw"; ax: "an.ax"; ay: "an.ay"; az: "an.az"; ba: "an.ba"; bb: "an.bb"; bc: "an.bc"; bd: "an.bd"; be: "an.be"; bf: "an.bf"; bg: "an.bg"; bh: "an.bh"; bi: "an.bi"; bj: "an.bj"; bk: "an.bk"; bl: "an.bl"; bm: "an.bm"; bn: "an.bn"; bo: "an.bo"; bp: "an.bp"; bq: "an.bq"; br: "an.br"; bs: "an.bs"; bt: "an.bt"; bu: "an.bu"; bv: "an.bv"; bw: "an.bw"; bx: "an.bx"; by: "an.by"; bz: "an.bz"; ca: "an.ca"; cb: "an.cb"; cc: "an.cc"; cd: "an.cd"; ce: "an.ce"; cf: "an.cf"; cg: "an.cg"; ch: "an.ch"; ci: "an.ci"; cj: "an.cj"; ck: "an.ck"; cl: "an.cl"; cm: "an.cm"; cn: "an.cn"; co: "an.co"; cp: "an.cp"; cq: "an.cq"; cr: "an.cr"; cs: "an.cs"; ct: "an.ct"; cu: "an.cu"; cv: "an.cv"; cw: "an.cw"; cx: "an.cx"; cy: "an.cy"; cz: "an.cz"; da: "an.da"; db: "an.db"; dc: "an.dc"; dd: "an.dd"; de: "an.de"; df: "an.df"; dg: "an.dg"; dh: "an.dh"; di: "an.di"; dj: "an.dj"; dk: "an.dk"; dl: "an.dl"; dm: "an.dm"; dn: "an.dn"; do: "an.do"; dp: "an.dp"; dq: "an.dq"; dr: "an.dr"; ds: "an.ds"; dt: "an.dt"; du: "an.du"; dv: "an.dv"; dw: "an.dw"; dx: "an.dx"; dy: "an.dy"; dz: "an.dz"; ea: "an.ea"; eb: "an.eb"; ec: "an.ec"; ed: "an.ed"; ee: "an.ee"; ef: "an.ef"; eg: "an.eg"; eh: "an.eh"; ei: "an.ei"; ej: "an.ej"; ek: "an.ek"; el: "an.el"; em: "an.em"; en: "an.en"; eo: "an.eo"; ep: "an.ep"; eq: "an.eq"; er: "an.er"; es: "an.es"; et: "an.et"; eu: "an.eu"; ev: "an.ev"; ew: "an.ew"; ex: "an.ex"; ey: "an.ey"; ez: "an.ez"; fa: "an.fa"; fb: "an.fb"; fc: "an.fc"; fd: "an.fd"; fe: "an.fe"; ff: "an.ff"; fg: "an.fg"; fh: "an.fh"; fi: "an.fi"; fj: "an.fj"; fk: "an.fk"; fl: "an.fl"; fm: "an.fm"; fn: "an.fn"; fo: "an.fo"; fp: "an.fp"; fq: "an.fq"; fr: "an.fr"; fs: "an.fs"; ft: "an.ft"; fu: "an.fu"; fv: "an.fv"; fw: "an.fw"; fx: "an.fx"; fy: "an.fy"; fz: "an.fz"; ga: "an.ga"; gb: "an.gb"; gc: "an.gc"; gd: "an.gd"; ge: "an.ge"; gf: "an.gf"; gg: "an.gg"; gh: "an.gh"; gi: "an.gi"; gj: "an.gj"; gk: "an.gk"; gl: "an.gl"; gm: "an.gm"; gn: "an.gn"; go: "an.go"; gp: "an.gp"; gq: "an.gq"; gr: "an.gr"; gs: "an.gs"; gt: "an.gt"; gu: "an.gu"; gv: "an.gv"; gw: "an.gw"; gx: "an.gx"; gy: "an.gy"; gz: "an.gz"; ha: "an.ha"; hb: "an.hb"; hc: "an.hc"; hd: "an.hd"; he: "an.he"; hf: "an.hf"; hg: "an.hg"; hh: "an.hh"; hi: "an.hi"; hj: "an.hj"; hk: "an.hk"; hl: "an.hl"; hm: "an.hm"; hn: "an.hn"; ho: "an.ho"; hp: "an.hp"; hq: "an.hq"; hr: "an.hr"; hs: "an.hs"; ht: "an.ht"; hu: "an.hu"; hv: "an.hv"; hw: "an.hw"; hx: "an.hx"; hy: "an.hy"; hz: "an.hz"; ia: "an.ia"; ib: "an.ib"; ic: "an.ic"; id: "an.id"; ie: "an.ie"; if: "an.if"; ig: "an.ig"; ih: "an.ih"; ii: "an.ii"; ij: "an.ij"; ik: "an.ik"; il: "an.il"; im: "an.im"; in: "an.in"; io: "an.io"; ip: "an.ip"; iq: "an.iq"; ir: "an.ir"; is: "an.is"; it: "an.it"; iu: "an.iu"; iv: "an.iv"; iw: "an.iw"; ix: "an.ix"; iy: "an.iy"; iz: "an.iz"; ja: "an.ja"; jb: "an.jb"; jc: "an.jc"; jd: "an.jd"; je: "an.je"; jf: "an.jf"; jg: "an.jg"; jh: "an.jh"; ji: "an.ji"; jj: "an.jj"; jk: "an.jk"; jl: "an.jl"; jm: "an.jm"; jn: "an.jn"; jo: "an.jo"; jp: "an.jp"; jq: "an.jq"; jr: "an.jr"; js: "an.js"; jt: "an.jt"; ju: "an.ju"; jv: "an.jv"; jw: "an.jw"; jx: "an.jx"; jy: "an.jy"; jz: "an.jz"; ka: "an.ka"; kb: "an.kb"; kc: "an.kc"; kd: "an.kd"; ke: "an.ke"; kf: "an.kf"; kg: "an.kg"; kh: "an.kh"; ki: "an.ki"; kj: "an.kj"; kk: "an.kk"; kl: "an.kl"; km: "an.km"; kn: "an.kn"; ko: "an.ko"; kp: "an.kp"; kq: "an.kq"; kr: "an.kr"; ks: "an.ks"; kt: "an.kt"; ku: "an.ku"; kv: "an.kv"; kw: "an.kw"; kx: "an.kx"; ky: "an.ky"; kz: "an.kz"; la: "an.la"; lb: "an.lb"; lc: "an.lc"; ld: "an.ld"; le: "an.le"; lf: "an.lf"; lg: "an.lg"; lh: "an.lh"; li: "an.li"; lj: "an.lj"; lk: "an.lk"; ll: "an.ll"; lm: "an.lm"; ln: "an.ln"; lo: "an.lo"; lp: "an.lp"; lq: "an.lq"; lr: "an.lr"; ls: "an.ls"; lt: "an.lt"; lu: "an.lu"; lv: "an.lv"; lw: "an.lw"; lx: "an.lx"; ly: "an.ly"; lz: "an.lz"; ma: "an.ma"; mb: "an.mb"; mc: "an.mc"; md: "an.md"; me: "an.me"; mf: "an.mf"; mg: "an.mg"; mh: "an.mh"; mi: "an.mi"; mj: "an.mj"; mk: "an.mk"; ml: "an.ml"; mm: "an.mm"; mn: "an.mn"; mo: "an.mo"; mp: "an.mp"; mq: "an.mq"; mr: "an.mr"; ms: "an.ms"; mt: "an.mt"; mu: "an.mu"; mv: "an.mv"; mw: "an.mw"; mx: "an.mx"; my: "an.my"; mz: "an.mz"; na: "an.na"; nb: "an.nb"; nc: "an.nc"; nd: "an.nd"; ne: "an.ne"; nf: "an.nf"; ng: "an.ng"; nh: "an.nh"; ni: "an.ni"; nj: "an.nj"; nk: "an.nk"; nl: "an.nl"; nm: "an.nm"; nn: "an.nn"; no: "an.no"; np: "an.np"; nq: "an.nq"; nr: "an.nr"; ns: "an.ns"; nt: "an.nt"; nu: "an.nu"; nv: "an.nv"; nw: "an.nw"; nx: "an.nx"; ny: "an.ny"; nz: "an.nz"; oa: "an.oa"; ob: "an.ob"; oc: "an.oc"; od: "an.od"; oe: "an.oe"; of: "an.of"; og: "an.og"; oh: "an.oh"; oi: "an.oi"; oj: "an.oj"; ok: "an.ok"; ol: "an.ol"; om: "an.om"; on: "an.on"; oo: "an.oo"; op: "an.op"; oq: "an.oq"; or: "an.or"; os: "an.os"; ot: "an.ot"; ou: "an.ou"; ov: "an.ov"; ow: "an.ow"; ox: "an.ox"; oy: "an.oy"; oz: "an.oz"; pa: "an.pa"; pb: "an.pb"; pc: "an.pc"; pd: "an.pd"; pe: "an.pe"; pf: "an.pf"; pg: "an.pg"; ph: "an.ph"; pi: "an.pi"; pj: "an.pj"; pk: "an.pk"; pl: "an.pl"; pm: "an.pm"; pn: "an.pn"; po: "an.po"; pp: "an.pp"; pq: "an.pq"; pr: "an.pr"; ps: "an.ps"; pt: "an.pt"; pu: "an.pu"; pv: "an.pv"; pw: "an.pw"; px: "an.px"; py: "an.py"; pz: "an.pz"; qa: "an.qa"; qb: "an.qb"; qc: "an.qc"; qd: "an.qd"; qe: "an.qe"; qf: "an.qf"; qg: "an.qg"; qh: "an.qh"; qi: "an.qi"; qj: "an.qj"; qk: "an.qk"; ql: "an.ql"; qm: "an.qm"; qn: "an.qn"; qo: "an.qo"; qp: "an.qp"; qq: "an.qq"; qr: "an.qr"; qs: "an.qs"; qt: "an.qt"; qu: "an.qu"; qv: "an.qv"; qw: "an.qw"; qx: "an.qx"; qy: "an.qy"; qz: "an.qz"; ra: "an.ra"; rb: "an.rb"; rc: "an.rc"; rd: "an.rd"; re: "an.re"; rf: "an.rf"; rg: "an.rg"; rh: "an.rh"; ri: "an.ri"; rj: "an.rj"; rk: "an.rk"; rl: "an.rl"; rm: "an.rm"; rn: "an.rn"; ro: "an.ro"; rp: "an.rp"; rq: "an.rq"; rr: "an.rr"; rs: "an.rs"; rt: "an.rt"; ru: "an.ru"; rv: "an.rv"; rw: "an.rw"; rx: "an.rx"; ry: "an.ry"; rz: "an.rz"; sa: "an.sa"; sb: "an.sb"; sc: "an.sc"; sd: "an.sd"; se: "an.se"; sf: "an.sf"; sg: "an.sg"; sh: "an.sh"; si: "an.si"; sj: "an.sj"; sk: "an.sk"; sl: "an.sl"; sm: "an.sm"; sn: "an.sn"; so: "an.so"; sp: "an.sp"; sq: "an.sq"; sr: "an.sr"; ss: "an.ss"; st: "an.st"; su: "an.su"; sv: "an.sv"; sw: "an.sw"; sx: "an.sx"; sy: "an.sy"; sz: "an.sz"; ta: "an.ta"; tb: "an.tb"; tc: "an.tc"; td: "an.td"; te: "an.te"; tf: "an.tf"; tg: "an.tg"; th: "an.th"; ti: "an.ti"; tj: "an.tj"; tk: "an.tk"; tl: "an.tl"; tm: "an.tm"; tn: "an.tn"; to: "an.to"; tp: "an.tp"; tq: "an.tq"; tr: "an.tr"; ts: "an.ts"; tt: "an.tt"; tu: "an.tu"; tv: "an.tv"; tw: "an.tw"; tx: "an.tx"; ty: "an.ty"; tz: "an.tz"; ua: "an.ua"; ub: "an.ub"; uc: "an.uc"; ud: "an.ud"; ue: "an.ue"; uf: "an.uf"; ug: "an.ug"; uh: "an.uh"; ui: "an.ui"; uj: "an.uj"; uk: "an.uk"; ul: "an.ul"; um: "an.um"; un: "an.un"; uo: "an.uo"; up: "an.up"; uq: "an.uq"; ur: "an.ur"; us: "an.us"; ut: "an.ut"; uu: "an.uu"; uv: "an.uv"; uw: "an.uw"; ux: "an.ux"; uy: "an.uy"; uz: "an.uz"; va: "an.va"; vb: "an.vb"; vc: "an.vc"; vd: "an.vd"; ve: "an.ve"; vf: "an.vf"; vg: "an.vg"; vh: "an.vh"; vi: "an.vi"; vj: "an.vj"; vk: "an.vk"; vl: "an.vl"; vm: "an.vm"; vn: "an.vn"; vo: "an.vo"; vp: "an.vp"; vq: "an.vq"; vr: "an.vr"; vs: "an.vs"; vt: "an.vt"; vu: "an.vu"; vv: "an.vv"; vw: "an.vw"; vx: "an.vx"; vy: "an.vy"; vz: "an.vz"; wa: "an.wa"; wb: "an.wb"; wc: "an.wc"; wd: "an.wd"; we: "an.we"; wf: "an.wf"; wg: "an.wg"; wh: "an.wh"; wi: "an.wi"; wj: "an.wj"; wk: "an.wk"; wl: "an.wl"; wm: "an.wm"; wn: "an.wn"; wo: "an.wo"; wp: "an.wp"; wq: "an.wq"; wr: "an.wr"; ws: "an.ws"; wt: "an.wt"; wu: "an.wu"; wv: "an.wv"; ww: "an.ww"; wx: "an.wx"; wy: "an.wy"; wz: "an.wz"; xa: "an.xa"; xb: "an.xb"; xc: "an.xc"; xd: "an.xd"; xe: "an.xe"; xf: "an.xf"; xg: "an.xg"; xh: "an.xh"; xi: "an.xi"; xj: "an.xj"; xk: "an.xk"; xl: "an.xl"; xm: "an.xm"; xn: "an.xn"; xo: "an.xo"; xp: "an.xp"; xq: "an.xq"; xr: "an.xr"; xs: "an.xs"; xt: "an.xt"; xu: "an.xu"; xv: "an.xv"; xw: "an.xw"; xx: "an.xx"; xy: "an.xy"; xz: "an.xz"; ya: "an.ya"; yb: "an.yb"; yc: "an.yc"; yd: "an.yd"; ye: "an.ye"; yf: "an.yf"; yg: "an.yg"; yh: "an.yh"; yi: "an.yi"; yj: "an.yj"; yk: "an.yk"; yl: "an.yl"; ym: "an.ym"; yn: "an.yn"; yo: "an.yo"; yp: "an.yp"; yq: "an.yq"; yr: "an.yr"; ys: "an.ys"; yt: "an.yt"; yu: "an.yu"; yv: "an.yv"; yw: "an.yw"; yx: "an.yx"; yy: "an.yy"; yz: "an.yz"; za: "an.za"; zb: "an.zb"; zc: "an.zc"; zd: "an.zd"; ze: "an.ze"; zf: "an.zf"; zg: "an.zg"; zh: "an.zh"; zi: "an.zi"; zj: "an.zj"; zk: "an.zk"; zl: "an.zl"; zm: "an.zm"; zn: "an.zn"; zo: "an.zo"; zp: "an.zp"; zq: "an.zq"; zr: "an.zr"; zs: "an.zs"; zt: "an.zt"; zu: "an.zu"; zv: "an.zv"; zw: "an.zw"; zx: "an.zx"; zy: "an.zy"; zz: "an.zz"; }; ao: { aa: "ao.aa"; ab: "ao.ab"; ac: "ao.ac"; ad: "ao.ad"; ae: "ao.ae"; af: "ao.af"; ag: "ao.ag"; ah: "ao.ah"; ai: "ao.ai"; aj: "ao.aj"; ak: "ao.ak"; al: "ao.al"; am: "ao.am"; an: "ao.an"; ao: "ao.ao"; ap: "ao.ap"; aq: "ao.aq"; ar: "ao.ar"; as: "ao.as"; at: "ao.at"; au: "ao.au"; av: "ao.av"; aw: "ao.aw"; ax: "ao.ax"; ay: "ao.ay"; az: "ao.az"; ba: "ao.ba"; bb: "ao.bb"; bc: "ao.bc"; bd: "ao.bd"; be: "ao.be"; bf: "ao.bf"; bg: "ao.bg"; bh: "ao.bh"; bi: "ao.bi"; bj: "ao.bj"; bk: "ao.bk"; bl: "ao.bl"; bm: "ao.bm"; bn: "ao.bn"; bo: "ao.bo"; bp: "ao.bp"; bq: "ao.bq"; br: "ao.br"; bs: "ao.bs"; bt: "ao.bt"; bu: "ao.bu"; bv: "ao.bv"; bw: "ao.bw"; bx: "ao.bx"; by: "ao.by"; bz: "ao.bz"; ca: "ao.ca"; cb: "ao.cb"; cc: "ao.cc"; cd: "ao.cd"; ce: "ao.ce"; cf: "ao.cf"; cg: "ao.cg"; ch: "ao.ch"; ci: "ao.ci"; cj: "ao.cj"; ck: "ao.ck"; cl: "ao.cl"; cm: "ao.cm"; cn: "ao.cn"; co: "ao.co"; cp: "ao.cp"; cq: "ao.cq"; cr: "ao.cr"; cs: "ao.cs"; ct: "ao.ct"; cu: "ao.cu"; cv: "ao.cv"; cw: "ao.cw"; cx: "ao.cx"; cy: "ao.cy"; cz: "ao.cz"; da: "ao.da"; db: "ao.db"; dc: "ao.dc"; dd: "ao.dd"; de: "ao.de"; df: "ao.df"; dg: "ao.dg"; dh: "ao.dh"; di: "ao.di"; dj: "ao.dj"; dk: "ao.dk"; dl: "ao.dl"; dm: "ao.dm"; dn: "ao.dn"; do: "ao.do"; dp: "ao.dp"; dq: "ao.dq"; dr: "ao.dr"; ds: "ao.ds"; dt: "ao.dt"; du: "ao.du"; dv: "ao.dv"; dw: "ao.dw"; dx: "ao.dx"; dy: "ao.dy"; dz: "ao.dz"; ea: "ao.ea"; eb: "ao.eb"; ec: "ao.ec"; ed: "ao.ed"; ee: "ao.ee"; ef: "ao.ef"; eg: "ao.eg"; eh: "ao.eh"; ei: "ao.ei"; ej: "ao.ej"; ek: "ao.ek"; el: "ao.el"; em: "ao.em"; en: "ao.en"; eo: "ao.eo"; ep: "ao.ep"; eq: "ao.eq"; er: "ao.er"; es: "ao.es"; et: "ao.et"; eu: "ao.eu"; ev: "ao.ev"; ew: "ao.ew"; ex: "ao.ex"; ey: "ao.ey"; ez: "ao.ez"; fa: "ao.fa"; fb: "ao.fb"; fc: "ao.fc"; fd: "ao.fd"; fe: "ao.fe"; ff: "ao.ff"; fg: "ao.fg"; fh: "ao.fh"; fi: "ao.fi"; fj: "ao.fj"; fk: "ao.fk"; fl: "ao.fl"; fm: "ao.fm"; fn: "ao.fn"; fo: "ao.fo"; fp: "ao.fp"; fq: "ao.fq"; fr: "ao.fr"; fs: "ao.fs"; ft: "ao.ft"; fu: "ao.fu"; fv: "ao.fv"; fw: "ao.fw"; fx: "ao.fx"; fy: "ao.fy"; fz: "ao.fz"; ga: "ao.ga"; gb: "ao.gb"; gc: "ao.gc"; gd: "ao.gd"; ge: "ao.ge"; gf: "ao.gf"; gg: "ao.gg"; gh: "ao.gh"; gi: "ao.gi"; gj: "ao.gj"; gk: "ao.gk"; gl: "ao.gl"; gm: "ao.gm"; gn: "ao.gn"; go: "ao.go"; gp: "ao.gp"; gq: "ao.gq"; gr: "ao.gr"; gs: "ao.gs"; gt: "ao.gt"; gu: "ao.gu"; gv: "ao.gv"; gw: "ao.gw"; gx: "ao.gx"; gy: "ao.gy"; gz: "ao.gz"; ha: "ao.ha"; hb: "ao.hb"; hc: "ao.hc"; hd: "ao.hd"; he: "ao.he"; hf: "ao.hf"; hg: "ao.hg"; hh: "ao.hh"; hi: "ao.hi"; hj: "ao.hj"; hk: "ao.hk"; hl: "ao.hl"; hm: "ao.hm"; hn: "ao.hn"; ho: "ao.ho"; hp: "ao.hp"; hq: "ao.hq"; hr: "ao.hr"; hs: "ao.hs"; ht: "ao.ht"; hu: "ao.hu"; hv: "ao.hv"; hw: "ao.hw"; hx: "ao.hx"; hy: "ao.hy"; hz: "ao.hz"; ia: "ao.ia"; ib: "ao.ib"; ic: "ao.ic"; id: "ao.id"; ie: "ao.ie"; if: "ao.if"; ig: "ao.ig"; ih: "ao.ih"; ii: "ao.ii"; ij: "ao.ij"; ik: "ao.ik"; il: "ao.il"; im: "ao.im"; in: "ao.in"; io: "ao.io"; ip: "ao.ip"; iq: "ao.iq"; ir: "ao.ir"; is: "ao.is"; it: "ao.it"; iu: "ao.iu"; iv: "ao.iv"; iw: "ao.iw"; ix: "ao.ix"; iy: "ao.iy"; iz: "ao.iz"; ja: "ao.ja"; jb: "ao.jb"; jc: "ao.jc"; jd: "ao.jd"; je: "ao.je"; jf: "ao.jf"; jg: "ao.jg"; jh: "ao.jh"; ji: "ao.ji"; jj: "ao.jj"; jk: "ao.jk"; jl: "ao.jl"; jm: "ao.jm"; jn: "ao.jn"; jo: "ao.jo"; jp: "ao.jp"; jq: "ao.jq"; jr: "ao.jr"; js: "ao.js"; jt: "ao.jt"; ju: "ao.ju"; jv: "ao.jv"; jw: "ao.jw"; jx: "ao.jx"; jy: "ao.jy"; jz: "ao.jz"; ka: "ao.ka"; kb: "ao.kb"; kc: "ao.kc"; kd: "ao.kd"; ke: "ao.ke"; kf: "ao.kf"; kg: "ao.kg"; kh: "ao.kh"; ki: "ao.ki"; kj: "ao.kj"; kk: "ao.kk"; kl: "ao.kl"; km: "ao.km"; kn: "ao.kn"; ko: "ao.ko"; kp: "ao.kp"; kq: "ao.kq"; kr: "ao.kr"; ks: "ao.ks"; kt: "ao.kt"; ku: "ao.ku"; kv: "ao.kv"; kw: "ao.kw"; kx: "ao.kx"; ky: "ao.ky"; kz: "ao.kz"; la: "ao.la"; lb: "ao.lb"; lc: "ao.lc"; ld: "ao.ld"; le: "ao.le"; lf: "ao.lf"; lg: "ao.lg"; lh: "ao.lh"; li: "ao.li"; lj: "ao.lj"; lk: "ao.lk"; ll: "ao.ll"; lm: "ao.lm"; ln: "ao.ln"; lo: "ao.lo"; lp: "ao.lp"; lq: "ao.lq"; lr: "ao.lr"; ls: "ao.ls"; lt: "ao.lt"; lu: "ao.lu"; lv: "ao.lv"; lw: "ao.lw"; lx: "ao.lx"; ly: "ao.ly"; lz: "ao.lz"; ma: "ao.ma"; mb: "ao.mb"; mc: "ao.mc"; md: "ao.md"; me: "ao.me"; mf: "ao.mf"; mg: "ao.mg"; mh: "ao.mh"; mi: "ao.mi"; mj: "ao.mj"; mk: "ao.mk"; ml: "ao.ml"; mm: "ao.mm"; mn: "ao.mn"; mo: "ao.mo"; mp: "ao.mp"; mq: "ao.mq"; mr: "ao.mr"; ms: "ao.ms"; mt: "ao.mt"; mu: "ao.mu"; mv: "ao.mv"; mw: "ao.mw"; mx: "ao.mx"; my: "ao.my"; mz: "ao.mz"; na: "ao.na"; nb: "ao.nb"; nc: "ao.nc"; nd: "ao.nd"; ne: "ao.ne"; nf: "ao.nf"; ng: "ao.ng"; nh: "ao.nh"; ni: "ao.ni"; nj: "ao.nj"; nk: "ao.nk"; nl: "ao.nl"; nm: "ao.nm"; nn: "ao.nn"; no: "ao.no"; np: "ao.np"; nq: "ao.nq"; nr: "ao.nr"; ns: "ao.ns"; nt: "ao.nt"; nu: "ao.nu"; nv: "ao.nv"; nw: "ao.nw"; nx: "ao.nx"; ny: "ao.ny"; nz: "ao.nz"; oa: "ao.oa"; ob: "ao.ob"; oc: "ao.oc"; od: "ao.od"; oe: "ao.oe"; of: "ao.of"; og: "ao.og"; oh: "ao.oh"; oi: "ao.oi"; oj: "ao.oj"; ok: "ao.ok"; ol: "ao.ol"; om: "ao.om"; on: "ao.on"; oo: "ao.oo"; op: "ao.op"; oq: "ao.oq"; or: "ao.or"; os: "ao.os"; ot: "ao.ot"; ou: "ao.ou"; ov: "ao.ov"; ow: "ao.ow"; ox: "ao.ox"; oy: "ao.oy"; oz: "ao.oz"; pa: "ao.pa"; pb: "ao.pb"; pc: "ao.pc"; pd: "ao.pd"; pe: "ao.pe"; pf: "ao.pf"; pg: "ao.pg"; ph: "ao.ph"; pi: "ao.pi"; pj: "ao.pj"; pk: "ao.pk"; pl: "ao.pl"; pm: "ao.pm"; pn: "ao.pn"; po: "ao.po"; pp: "ao.pp"; pq: "ao.pq"; pr: "ao.pr"; ps: "ao.ps"; pt: "ao.pt"; pu: "ao.pu"; pv: "ao.pv"; pw: "ao.pw"; px: "ao.px"; py: "ao.py"; pz: "ao.pz"; qa: "ao.qa"; qb: "ao.qb"; qc: "ao.qc"; qd: "ao.qd"; qe: "ao.qe"; qf: "ao.qf"; qg: "ao.qg"; qh: "ao.qh"; qi: "ao.qi"; qj: "ao.qj"; qk: "ao.qk"; ql: "ao.ql"; qm: "ao.qm"; qn: "ao.qn"; qo: "ao.qo"; qp: "ao.qp"; qq: "ao.qq"; qr: "ao.qr"; qs: "ao.qs"; qt: "ao.qt"; qu: "ao.qu"; qv: "ao.qv"; qw: "ao.qw"; qx: "ao.qx"; qy: "ao.qy"; qz: "ao.qz"; ra: "ao.ra"; rb: "ao.rb"; rc: "ao.rc"; rd: "ao.rd"; re: "ao.re"; rf: "ao.rf"; rg: "ao.rg"; rh: "ao.rh"; ri: "ao.ri"; rj: "ao.rj"; rk: "ao.rk"; rl: "ao.rl"; rm: "ao.rm"; rn: "ao.rn"; ro: "ao.ro"; rp: "ao.rp"; rq: "ao.rq"; rr: "ao.rr"; rs: "ao.rs"; rt: "ao.rt"; ru: "ao.ru"; rv: "ao.rv"; rw: "ao.rw"; rx: "ao.rx"; ry: "ao.ry"; rz: "ao.rz"; sa: "ao.sa"; sb: "ao.sb"; sc: "ao.sc"; sd: "ao.sd"; se: "ao.se"; sf: "ao.sf"; sg: "ao.sg"; sh: "ao.sh"; si: "ao.si"; sj: "ao.sj"; sk: "ao.sk"; sl: "ao.sl"; sm: "ao.sm"; sn: "ao.sn"; so: "ao.so"; sp: "ao.sp"; sq: "ao.sq"; sr: "ao.sr"; ss: "ao.ss"; st: "ao.st"; su: "ao.su"; sv: "ao.sv"; sw: "ao.sw"; sx: "ao.sx"; sy: "ao.sy"; sz: "ao.sz"; ta: "ao.ta"; tb: "ao.tb"; tc: "ao.tc"; td: "ao.td"; te: "ao.te"; tf: "ao.tf"; tg: "ao.tg"; th: "ao.th"; ti: "ao.ti"; tj: "ao.tj"; tk: "ao.tk"; tl: "ao.tl"; tm: "ao.tm"; tn: "ao.tn"; to: "ao.to"; tp: "ao.tp"; tq: "ao.tq"; tr: "ao.tr"; ts: "ao.ts"; tt: "ao.tt"; tu: "ao.tu"; tv: "ao.tv"; tw: "ao.tw"; tx: "ao.tx"; ty: "ao.ty"; tz: "ao.tz"; ua: "ao.ua"; ub: "ao.ub"; uc: "ao.uc"; ud: "ao.ud"; ue: "ao.ue"; uf: "ao.uf"; ug: "ao.ug"; uh: "ao.uh"; ui: "ao.ui"; uj: "ao.uj"; uk: "ao.uk"; ul: "ao.ul"; um: "ao.um"; un: "ao.un"; uo: "ao.uo"; up: "ao.up"; uq: "ao.uq"; ur: "ao.ur"; us: "ao.us"; ut: "ao.ut"; uu: "ao.uu"; uv: "ao.uv"; uw: "ao.uw"; ux: "ao.ux"; uy: "ao.uy"; uz: "ao.uz"; va: "ao.va"; vb: "ao.vb"; vc: "ao.vc"; vd: "ao.vd"; ve: "ao.ve"; vf: "ao.vf"; vg: "ao.vg"; vh: "ao.vh"; vi: "ao.vi"; vj: "ao.vj"; vk: "ao.vk"; vl: "ao.vl"; vm: "ao.vm"; vn: "ao.vn"; vo: "ao.vo"; vp: "ao.vp"; vq: "ao.vq"; vr: "ao.vr"; vs: "ao.vs"; vt: "ao.vt"; vu: "ao.vu"; vv: "ao.vv"; vw: "ao.vw"; vx: "ao.vx"; vy: "ao.vy"; vz: "ao.vz"; wa: "ao.wa"; wb: "ao.wb"; wc: "ao.wc"; wd: "ao.wd"; we: "ao.we"; wf: "ao.wf"; wg: "ao.wg"; wh: "ao.wh"; wi: "ao.wi"; wj: "ao.wj"; wk: "ao.wk"; wl: "ao.wl"; wm: "ao.wm"; wn: "ao.wn"; wo: "ao.wo"; wp: "ao.wp"; wq: "ao.wq"; wr: "ao.wr"; ws: "ao.ws"; wt: "ao.wt"; wu: "ao.wu"; wv: "ao.wv"; ww: "ao.ww"; wx: "ao.wx"; wy: "ao.wy"; wz: "ao.wz"; xa: "ao.xa"; xb: "ao.xb"; xc: "ao.xc"; xd: "ao.xd"; xe: "ao.xe"; xf: "ao.xf"; xg: "ao.xg"; xh: "ao.xh"; xi: "ao.xi"; xj: "ao.xj"; xk: "ao.xk"; xl: "ao.xl"; xm: "ao.xm"; xn: "ao.xn"; xo: "ao.xo"; xp: "ao.xp"; xq: "ao.xq"; xr: "ao.xr"; xs: "ao.xs"; xt: "ao.xt"; xu: "ao.xu"; xv: "ao.xv"; xw: "ao.xw"; xx: "ao.xx"; xy: "ao.xy"; xz: "ao.xz"; ya: "ao.ya"; yb: "ao.yb"; yc: "ao.yc"; yd: "ao.yd"; ye: "ao.ye"; yf: "ao.yf"; yg: "ao.yg"; yh: "ao.yh"; yi: "ao.yi"; yj: "ao.yj"; yk: "ao.yk"; yl: "ao.yl"; ym: "ao.ym"; yn: "ao.yn"; yo: "ao.yo"; yp: "ao.yp"; yq: "ao.yq"; yr: "ao.yr"; ys: "ao.ys"; yt: "ao.yt"; yu: "ao.yu"; yv: "ao.yv"; yw: "ao.yw"; yx: "ao.yx"; yy: "ao.yy"; yz: "ao.yz"; za: "ao.za"; zb: "ao.zb"; zc: "ao.zc"; zd: "ao.zd"; ze: "ao.ze"; zf: "ao.zf"; zg: "ao.zg"; zh: "ao.zh"; zi: "ao.zi"; zj: "ao.zj"; zk: "ao.zk"; zl: "ao.zl"; zm: "ao.zm"; zn: "ao.zn"; zo: "ao.zo"; zp: "ao.zp"; zq: "ao.zq"; zr: "ao.zr"; zs: "ao.zs"; zt: "ao.zt"; zu: "ao.zu"; zv: "ao.zv"; zw: "ao.zw"; zx: "ao.zx"; zy: "ao.zy"; zz: "ao.zz"; }; ap: { aa: "ap.aa"; ab: "ap.ab"; ac: "ap.ac"; ad: "ap.ad"; ae: "ap.ae"; af: "ap.af"; ag: "ap.ag"; ah: "ap.ah"; ai: "ap.ai"; aj: "ap.aj"; ak: "ap.ak"; al: "ap.al"; am: "ap.am"; an: "ap.an"; ao: "ap.ao"; ap: "ap.ap"; aq: "ap.aq"; ar: "ap.ar"; as: "ap.as"; at: "ap.at"; au: "ap.au"; av: "ap.av"; aw: "ap.aw"; ax: "ap.ax"; ay: "ap.ay"; az: "ap.az"; ba: "ap.ba"; bb: "ap.bb"; bc: "ap.bc"; bd: "ap.bd"; be: "ap.be"; bf: "ap.bf"; bg: "ap.bg"; bh: "ap.bh"; bi: "ap.bi"; bj: "ap.bj"; bk: "ap.bk"; bl: "ap.bl"; bm: "ap.bm"; bn: "ap.bn"; bo: "ap.bo"; bp: "ap.bp"; bq: "ap.bq"; br: "ap.br"; bs: "ap.bs"; bt: "ap.bt"; bu: "ap.bu"; bv: "ap.bv"; bw: "ap.bw"; bx: "ap.bx"; by: "ap.by"; bz: "ap.bz"; ca: "ap.ca"; cb: "ap.cb"; cc: "ap.cc"; cd: "ap.cd"; ce: "ap.ce"; cf: "ap.cf"; cg: "ap.cg"; ch: "ap.ch"; ci: "ap.ci"; cj: "ap.cj"; ck: "ap.ck"; cl: "ap.cl"; cm: "ap.cm"; cn: "ap.cn"; co: "ap.co"; cp: "ap.cp"; cq: "ap.cq"; cr: "ap.cr"; cs: "ap.cs"; ct: "ap.ct"; cu: "ap.cu"; cv: "ap.cv"; cw: "ap.cw"; cx: "ap.cx"; cy: "ap.cy"; cz: "ap.cz"; da: "ap.da"; db: "ap.db"; dc: "ap.dc"; dd: "ap.dd"; de: "ap.de"; df: "ap.df"; dg: "ap.dg"; dh: "ap.dh"; di: "ap.di"; dj: "ap.dj"; dk: "ap.dk"; dl: "ap.dl"; dm: "ap.dm"; dn: "ap.dn"; do: "ap.do"; dp: "ap.dp"; dq: "ap.dq"; dr: "ap.dr"; ds: "ap.ds"; dt: "ap.dt"; du: "ap.du"; dv: "ap.dv"; dw: "ap.dw"; dx: "ap.dx"; dy: "ap.dy"; dz: "ap.dz"; ea: "ap.ea"; eb: "ap.eb"; ec: "ap.ec"; ed: "ap.ed"; ee: "ap.ee"; ef: "ap.ef"; eg: "ap.eg"; eh: "ap.eh"; ei: "ap.ei"; ej: "ap.ej"; ek: "ap.ek"; el: "ap.el"; em: "ap.em"; en: "ap.en"; eo: "ap.eo"; ep: "ap.ep"; eq: "ap.eq"; er: "ap.er"; es: "ap.es"; et: "ap.et"; eu: "ap.eu"; ev: "ap.ev"; ew: "ap.ew"; ex: "ap.ex"; ey: "ap.ey"; ez: "ap.ez"; fa: "ap.fa"; fb: "ap.fb"; fc: "ap.fc"; fd: "ap.fd"; fe: "ap.fe"; ff: "ap.ff"; fg: "ap.fg"; fh: "ap.fh"; fi: "ap.fi"; fj: "ap.fj"; fk: "ap.fk"; fl: "ap.fl"; fm: "ap.fm"; fn: "ap.fn"; fo: "ap.fo"; fp: "ap.fp"; fq: "ap.fq"; fr: "ap.fr"; fs: "ap.fs"; ft: "ap.ft"; fu: "ap.fu"; fv: "ap.fv"; fw: "ap.fw"; fx: "ap.fx"; fy: "ap.fy"; fz: "ap.fz"; ga: "ap.ga"; gb: "ap.gb"; gc: "ap.gc"; gd: "ap.gd"; ge: "ap.ge"; gf: "ap.gf"; gg: "ap.gg"; gh: "ap.gh"; gi: "ap.gi"; gj: "ap.gj"; gk: "ap.gk"; gl: "ap.gl"; gm: "ap.gm"; gn: "ap.gn"; go: "ap.go"; gp: "ap.gp"; gq: "ap.gq"; gr: "ap.gr"; gs: "ap.gs"; gt: "ap.gt"; gu: "ap.gu"; gv: "ap.gv"; gw: "ap.gw"; gx: "ap.gx"; gy: "ap.gy"; gz: "ap.gz"; ha: "ap.ha"; hb: "ap.hb"; hc: "ap.hc"; hd: "ap.hd"; he: "ap.he"; hf: "ap.hf"; hg: "ap.hg"; hh: "ap.hh"; hi: "ap.hi"; hj: "ap.hj"; hk: "ap.hk"; hl: "ap.hl"; hm: "ap.hm"; hn: "ap.hn"; ho: "ap.ho"; hp: "ap.hp"; hq: "ap.hq"; hr: "ap.hr"; hs: "ap.hs"; ht: "ap.ht"; hu: "ap.hu"; hv: "ap.hv"; hw: "ap.hw"; hx: "ap.hx"; hy: "ap.hy"; hz: "ap.hz"; ia: "ap.ia"; ib: "ap.ib"; ic: "ap.ic"; id: "ap.id"; ie: "ap.ie"; if: "ap.if"; ig: "ap.ig"; ih: "ap.ih"; ii: "ap.ii"; ij: "ap.ij"; ik: "ap.ik"; il: "ap.il"; im: "ap.im"; in: "ap.in"; io: "ap.io"; ip: "ap.ip"; iq: "ap.iq"; ir: "ap.ir"; is: "ap.is"; it: "ap.it"; iu: "ap.iu"; iv: "ap.iv"; iw: "ap.iw"; ix: "ap.ix"; iy: "ap.iy"; iz: "ap.iz"; ja: "ap.ja"; jb: "ap.jb"; jc: "ap.jc"; jd: "ap.jd"; je: "ap.je"; jf: "ap.jf"; jg: "ap.jg"; jh: "ap.jh"; ji: "ap.ji"; jj: "ap.jj"; jk: "ap.jk"; jl: "ap.jl"; jm: "ap.jm"; jn: "ap.jn"; jo: "ap.jo"; jp: "ap.jp"; jq: "ap.jq"; jr: "ap.jr"; js: "ap.js"; jt: "ap.jt"; ju: "ap.ju"; jv: "ap.jv"; jw: "ap.jw"; jx: "ap.jx"; jy: "ap.jy"; jz: "ap.jz"; ka: "ap.ka"; kb: "ap.kb"; kc: "ap.kc"; kd: "ap.kd"; ke: "ap.ke"; kf: "ap.kf"; kg: "ap.kg"; kh: "ap.kh"; ki: "ap.ki"; kj: "ap.kj"; kk: "ap.kk"; kl: "ap.kl"; km: "ap.km"; kn: "ap.kn"; ko: "ap.ko"; kp: "ap.kp"; kq: "ap.kq"; kr: "ap.kr"; ks: "ap.ks"; kt: "ap.kt"; ku: "ap.ku"; kv: "ap.kv"; kw: "ap.kw"; kx: "ap.kx"; ky: "ap.ky"; kz: "ap.kz"; la: "ap.la"; lb: "ap.lb"; lc: "ap.lc"; ld: "ap.ld"; le: "ap.le"; lf: "ap.lf"; lg: "ap.lg"; lh: "ap.lh"; li: "ap.li"; lj: "ap.lj"; lk: "ap.lk"; ll: "ap.ll"; lm: "ap.lm"; ln: "ap.ln"; lo: "ap.lo"; lp: "ap.lp"; lq: "ap.lq"; lr: "ap.lr"; ls: "ap.ls"; lt: "ap.lt"; lu: "ap.lu"; lv: "ap.lv"; lw: "ap.lw"; lx: "ap.lx"; ly: "ap.ly"; lz: "ap.lz"; ma: "ap.ma"; mb: "ap.mb"; mc: "ap.mc"; md: "ap.md"; me: "ap.me"; mf: "ap.mf"; mg: "ap.mg"; mh: "ap.mh"; mi: "ap.mi"; mj: "ap.mj"; mk: "ap.mk"; ml: "ap.ml"; mm: "ap.mm"; mn: "ap.mn"; mo: "ap.mo"; mp: "ap.mp"; mq: "ap.mq"; mr: "ap.mr"; ms: "ap.ms"; mt: "ap.mt"; mu: "ap.mu"; mv: "ap.mv"; mw: "ap.mw"; mx: "ap.mx"; my: "ap.my"; mz: "ap.mz"; na: "ap.na"; nb: "ap.nb"; nc: "ap.nc"; nd: "ap.nd"; ne: "ap.ne"; nf: "ap.nf"; ng: "ap.ng"; nh: "ap.nh"; ni: "ap.ni"; nj: "ap.nj"; nk: "ap.nk"; nl: "ap.nl"; nm: "ap.nm"; nn: "ap.nn"; no: "ap.no"; np: "ap.np"; nq: "ap.nq"; nr: "ap.nr"; ns: "ap.ns"; nt: "ap.nt"; nu: "ap.nu"; nv: "ap.nv"; nw: "ap.nw"; nx: "ap.nx"; ny: "ap.ny"; nz: "ap.nz"; oa: "ap.oa"; ob: "ap.ob"; oc: "ap.oc"; od: "ap.od"; oe: "ap.oe"; of: "ap.of"; og: "ap.og"; oh: "ap.oh"; oi: "ap.oi"; oj: "ap.oj"; ok: "ap.ok"; ol: "ap.ol"; om: "ap.om"; on: "ap.on"; oo: "ap.oo"; op: "ap.op"; oq: "ap.oq"; or: "ap.or"; os: "ap.os"; ot: "ap.ot"; ou: "ap.ou"; ov: "ap.ov"; ow: "ap.ow"; ox: "ap.ox"; oy: "ap.oy"; oz: "ap.oz"; pa: "ap.pa"; pb: "ap.pb"; pc: "ap.pc"; pd: "ap.pd"; pe: "ap.pe"; pf: "ap.pf"; pg: "ap.pg"; ph: "ap.ph"; pi: "ap.pi"; pj: "ap.pj"; pk: "ap.pk"; pl: "ap.pl"; pm: "ap.pm"; pn: "ap.pn"; po: "ap.po"; pp: "ap.pp"; pq: "ap.pq"; pr: "ap.pr"; ps: "ap.ps"; pt: "ap.pt"; pu: "ap.pu"; pv: "ap.pv"; pw: "ap.pw"; px: "ap.px"; py: "ap.py"; pz: "ap.pz"; qa: "ap.qa"; qb: "ap.qb"; qc: "ap.qc"; qd: "ap.qd"; qe: "ap.qe"; qf: "ap.qf"; qg: "ap.qg"; qh: "ap.qh"; qi: "ap.qi"; qj: "ap.qj"; qk: "ap.qk"; ql: "ap.ql"; qm: "ap.qm"; qn: "ap.qn"; qo: "ap.qo"; qp: "ap.qp"; qq: "ap.qq"; qr: "ap.qr"; qs: "ap.qs"; qt: "ap.qt"; qu: "ap.qu"; qv: "ap.qv"; qw: "ap.qw"; qx: "ap.qx"; qy: "ap.qy"; qz: "ap.qz"; ra: "ap.ra"; rb: "ap.rb"; rc: "ap.rc"; rd: "ap.rd"; re: "ap.re"; rf: "ap.rf"; rg: "ap.rg"; rh: "ap.rh"; ri: "ap.ri"; rj: "ap.rj"; rk: "ap.rk"; rl: "ap.rl"; rm: "ap.rm"; rn: "ap.rn"; ro: "ap.ro"; rp: "ap.rp"; rq: "ap.rq"; rr: "ap.rr"; rs: "ap.rs"; rt: "ap.rt"; ru: "ap.ru"; rv: "ap.rv"; rw: "ap.rw"; rx: "ap.rx"; ry: "ap.ry"; rz: "ap.rz"; sa: "ap.sa"; sb: "ap.sb"; sc: "ap.sc"; sd: "ap.sd"; se: "ap.se"; sf: "ap.sf"; sg: "ap.sg"; sh: "ap.sh"; si: "ap.si"; sj: "ap.sj"; sk: "ap.sk"; sl: "ap.sl"; sm: "ap.sm"; sn: "ap.sn"; so: "ap.so"; sp: "ap.sp"; sq: "ap.sq"; sr: "ap.sr"; ss: "ap.ss"; st: "ap.st"; su: "ap.su"; sv: "ap.sv"; sw: "ap.sw"; sx: "ap.sx"; sy: "ap.sy"; sz: "ap.sz"; ta: "ap.ta"; tb: "ap.tb"; tc: "ap.tc"; td: "ap.td"; te: "ap.te"; tf: "ap.tf"; tg: "ap.tg"; th: "ap.th"; ti: "ap.ti"; tj: "ap.tj"; tk: "ap.tk"; tl: "ap.tl"; tm: "ap.tm"; tn: "ap.tn"; to: "ap.to"; tp: "ap.tp"; tq: "ap.tq"; tr: "ap.tr"; ts: "ap.ts"; tt: "ap.tt"; tu: "ap.tu"; tv: "ap.tv"; tw: "ap.tw"; tx: "ap.tx"; ty: "ap.ty"; tz: "ap.tz"; ua: "ap.ua"; ub: "ap.ub"; uc: "ap.uc"; ud: "ap.ud"; ue: "ap.ue"; uf: "ap.uf"; ug: "ap.ug"; uh: "ap.uh"; ui: "ap.ui"; uj: "ap.uj"; uk: "ap.uk"; ul: "ap.ul"; um: "ap.um"; un: "ap.un"; uo: "ap.uo"; up: "ap.up"; uq: "ap.uq"; ur: "ap.ur"; us: "ap.us"; ut: "ap.ut"; uu: "ap.uu"; uv: "ap.uv"; uw: "ap.uw"; ux: "ap.ux"; uy: "ap.uy"; uz: "ap.uz"; va: "ap.va"; vb: "ap.vb"; vc: "ap.vc"; vd: "ap.vd"; ve: "ap.ve"; vf: "ap.vf"; vg: "ap.vg"; vh: "ap.vh"; vi: "ap.vi"; vj: "ap.vj"; vk: "ap.vk"; vl: "ap.vl"; vm: "ap.vm"; vn: "ap.vn"; vo: "ap.vo"; vp: "ap.vp"; vq: "ap.vq"; vr: "ap.vr"; vs: "ap.vs"; vt: "ap.vt"; vu: "ap.vu"; vv: "ap.vv"; vw: "ap.vw"; vx: "ap.vx"; vy: "ap.vy"; vz: "ap.vz"; wa: "ap.wa"; wb: "ap.wb"; wc: "ap.wc"; wd: "ap.wd"; we: "ap.we"; wf: "ap.wf"; wg: "ap.wg"; wh: "ap.wh"; wi: "ap.wi"; wj: "ap.wj"; wk: "ap.wk"; wl: "ap.wl"; wm: "ap.wm"; wn: "ap.wn"; wo: "ap.wo"; wp: "ap.wp"; wq: "ap.wq"; wr: "ap.wr"; ws: "ap.ws"; wt: "ap.wt"; wu: "ap.wu"; wv: "ap.wv"; ww: "ap.ww"; wx: "ap.wx"; wy: "ap.wy"; wz: "ap.wz"; xa: "ap.xa"; xb: "ap.xb"; xc: "ap.xc"; xd: "ap.xd"; xe: "ap.xe"; xf: "ap.xf"; xg: "ap.xg"; xh: "ap.xh"; xi: "ap.xi"; xj: "ap.xj"; xk: "ap.xk"; xl: "ap.xl"; xm: "ap.xm"; xn: "ap.xn"; xo: "ap.xo"; xp: "ap.xp"; xq: "ap.xq"; xr: "ap.xr"; xs: "ap.xs"; xt: "ap.xt"; xu: "ap.xu"; xv: "ap.xv"; xw: "ap.xw"; xx: "ap.xx"; xy: "ap.xy"; xz: "ap.xz"; ya: "ap.ya"; yb: "ap.yb"; yc: "ap.yc"; yd: "ap.yd"; ye: "ap.ye"; yf: "ap.yf"; yg: "ap.yg"; yh: "ap.yh"; yi: "ap.yi"; yj: "ap.yj"; yk: "ap.yk"; yl: "ap.yl"; ym: "ap.ym"; yn: "ap.yn"; yo: "ap.yo"; yp: "ap.yp"; yq: "ap.yq"; yr: "ap.yr"; ys: "ap.ys"; yt: "ap.yt"; yu: "ap.yu"; yv: "ap.yv"; yw: "ap.yw"; yx: "ap.yx"; yy: "ap.yy"; yz: "ap.yz"; za: "ap.za"; zb: "ap.zb"; zc: "ap.zc"; zd: "ap.zd"; ze: "ap.ze"; zf: "ap.zf"; zg: "ap.zg"; zh: "ap.zh"; zi: "ap.zi"; zj: "ap.zj"; zk: "ap.zk"; zl: "ap.zl"; zm: "ap.zm"; zn: "ap.zn"; zo: "ap.zo"; zp: "ap.zp"; zq: "ap.zq"; zr: "ap.zr"; zs: "ap.zs"; zt: "ap.zt"; zu: "ap.zu"; zv: "ap.zv"; zw: "ap.zw"; zx: "ap.zx"; zy: "ap.zy"; zz: "ap.zz"; }; aq: { aa: "aq.aa"; ab: "aq.ab"; ac: "aq.ac"; ad: "aq.ad"; ae: "aq.ae"; af: "aq.af"; ag: "aq.ag"; ah: "aq.ah"; ai: "aq.ai"; aj: "aq.aj"; ak: "aq.ak"; al: "aq.al"; am: "aq.am"; an: "aq.an"; ao: "aq.ao"; ap: "aq.ap"; aq: "aq.aq"; ar: "aq.ar"; as: "aq.as"; at: "aq.at"; au: "aq.au"; av: "aq.av"; aw: "aq.aw"; ax: "aq.ax"; ay: "aq.ay"; az: "aq.az"; ba: "aq.ba"; bb: "aq.bb"; bc: "aq.bc"; bd: "aq.bd"; be: "aq.be"; bf: "aq.bf"; bg: "aq.bg"; bh: "aq.bh"; bi: "aq.bi"; bj: "aq.bj"; bk: "aq.bk"; bl: "aq.bl"; bm: "aq.bm"; bn: "aq.bn"; bo: "aq.bo"; bp: "aq.bp"; bq: "aq.bq"; br: "aq.br"; bs: "aq.bs"; bt: "aq.bt"; bu: "aq.bu"; bv: "aq.bv"; bw: "aq.bw"; bx: "aq.bx"; by: "aq.by"; bz: "aq.bz"; ca: "aq.ca"; cb: "aq.cb"; cc: "aq.cc"; cd: "aq.cd"; ce: "aq.ce"; cf: "aq.cf"; cg: "aq.cg"; ch: "aq.ch"; ci: "aq.ci"; cj: "aq.cj"; ck: "aq.ck"; cl: "aq.cl"; cm: "aq.cm"; cn: "aq.cn"; co: "aq.co"; cp: "aq.cp"; cq: "aq.cq"; cr: "aq.cr"; cs: "aq.cs"; ct: "aq.ct"; cu: "aq.cu"; cv: "aq.cv"; cw: "aq.cw"; cx: "aq.cx"; cy: "aq.cy"; cz: "aq.cz"; da: "aq.da"; db: "aq.db"; dc: "aq.dc"; dd: "aq.dd"; de: "aq.de"; df: "aq.df"; dg: "aq.dg"; dh: "aq.dh"; di: "aq.di"; dj: "aq.dj"; dk: "aq.dk"; dl: "aq.dl"; dm: "aq.dm"; dn: "aq.dn"; do: "aq.do"; dp: "aq.dp"; dq: "aq.dq"; dr: "aq.dr"; ds: "aq.ds"; dt: "aq.dt"; du: "aq.du"; dv: "aq.dv"; dw: "aq.dw"; dx: "aq.dx"; dy: "aq.dy"; dz: "aq.dz"; ea: "aq.ea"; eb: "aq.eb"; ec: "aq.ec"; ed: "aq.ed"; ee: "aq.ee"; ef: "aq.ef"; eg: "aq.eg"; eh: "aq.eh"; ei: "aq.ei"; ej: "aq.ej"; ek: "aq.ek"; el: "aq.el"; em: "aq.em"; en: "aq.en"; eo: "aq.eo"; ep: "aq.ep"; eq: "aq.eq"; er: "aq.er"; es: "aq.es"; et: "aq.et"; eu: "aq.eu"; ev: "aq.ev"; ew: "aq.ew"; ex: "aq.ex"; ey: "aq.ey"; ez: "aq.ez"; fa: "aq.fa"; fb: "aq.fb"; fc: "aq.fc"; fd: "aq.fd"; fe: "aq.fe"; ff: "aq.ff"; fg: "aq.fg"; fh: "aq.fh"; fi: "aq.fi"; fj: "aq.fj"; fk: "aq.fk"; fl: "aq.fl"; fm: "aq.fm"; fn: "aq.fn"; fo: "aq.fo"; fp: "aq.fp"; fq: "aq.fq"; fr: "aq.fr"; fs: "aq.fs"; ft: "aq.ft"; fu: "aq.fu"; fv: "aq.fv"; fw: "aq.fw"; fx: "aq.fx"; fy: "aq.fy"; fz: "aq.fz"; ga: "aq.ga"; gb: "aq.gb"; gc: "aq.gc"; gd: "aq.gd"; ge: "aq.ge"; gf: "aq.gf"; gg: "aq.gg"; gh: "aq.gh"; gi: "aq.gi"; gj: "aq.gj"; gk: "aq.gk"; gl: "aq.gl"; gm: "aq.gm"; gn: "aq.gn"; go: "aq.go"; gp: "aq.gp"; gq: "aq.gq"; gr: "aq.gr"; gs: "aq.gs"; gt: "aq.gt"; gu: "aq.gu"; gv: "aq.gv"; gw: "aq.gw"; gx: "aq.gx"; gy: "aq.gy"; gz: "aq.gz"; ha: "aq.ha"; hb: "aq.hb"; hc: "aq.hc"; hd: "aq.hd"; he: "aq.he"; hf: "aq.hf"; hg: "aq.hg"; hh: "aq.hh"; hi: "aq.hi"; hj: "aq.hj"; hk: "aq.hk"; hl: "aq.hl"; hm: "aq.hm"; hn: "aq.hn"; ho: "aq.ho"; hp: "aq.hp"; hq: "aq.hq"; hr: "aq.hr"; hs: "aq.hs"; ht: "aq.ht"; hu: "aq.hu"; hv: "aq.hv"; hw: "aq.hw"; hx: "aq.hx"; hy: "aq.hy"; hz: "aq.hz"; ia: "aq.ia"; ib: "aq.ib"; ic: "aq.ic"; id: "aq.id"; ie: "aq.ie"; if: "aq.if"; ig: "aq.ig"; ih: "aq.ih"; ii: "aq.ii"; ij: "aq.ij"; ik: "aq.ik"; il: "aq.il"; im: "aq.im"; in: "aq.in"; io: "aq.io"; ip: "aq.ip"; iq: "aq.iq"; ir: "aq.ir"; is: "aq.is"; it: "aq.it"; iu: "aq.iu"; iv: "aq.iv"; iw: "aq.iw"; ix: "aq.ix"; iy: "aq.iy"; iz: "aq.iz"; ja: "aq.ja"; jb: "aq.jb"; jc: "aq.jc"; jd: "aq.jd"; je: "aq.je"; jf: "aq.jf"; jg: "aq.jg"; jh: "aq.jh"; ji: "aq.ji"; jj: "aq.jj"; jk: "aq.jk"; jl: "aq.jl"; jm: "aq.jm"; jn: "aq.jn"; jo: "aq.jo"; jp: "aq.jp"; jq: "aq.jq"; jr: "aq.jr"; js: "aq.js"; jt: "aq.jt"; ju: "aq.ju"; jv: "aq.jv"; jw: "aq.jw"; jx: "aq.jx"; jy: "aq.jy"; jz: "aq.jz"; ka: "aq.ka"; kb: "aq.kb"; kc: "aq.kc"; kd: "aq.kd"; ke: "aq.ke"; kf: "aq.kf"; kg: "aq.kg"; kh: "aq.kh"; ki: "aq.ki"; kj: "aq.kj"; kk: "aq.kk"; kl: "aq.kl"; km: "aq.km"; kn: "aq.kn"; ko: "aq.ko"; kp: "aq.kp"; kq: "aq.kq"; kr: "aq.kr"; ks: "aq.ks"; kt: "aq.kt"; ku: "aq.ku"; kv: "aq.kv"; kw: "aq.kw"; kx: "aq.kx"; ky: "aq.ky"; kz: "aq.kz"; la: "aq.la"; lb: "aq.lb"; lc: "aq.lc"; ld: "aq.ld"; le: "aq.le"; lf: "aq.lf"; lg: "aq.lg"; lh: "aq.lh"; li: "aq.li"; lj: "aq.lj"; lk: "aq.lk"; ll: "aq.ll"; lm: "aq.lm"; ln: "aq.ln"; lo: "aq.lo"; lp: "aq.lp"; lq: "aq.lq"; lr: "aq.lr"; ls: "aq.ls"; lt: "aq.lt"; lu: "aq.lu"; lv: "aq.lv"; lw: "aq.lw"; lx: "aq.lx"; ly: "aq.ly"; lz: "aq.lz"; ma: "aq.ma"; mb: "aq.mb"; mc: "aq.mc"; md: "aq.md"; me: "aq.me"; mf: "aq.mf"; mg: "aq.mg"; mh: "aq.mh"; mi: "aq.mi"; mj: "aq.mj"; mk: "aq.mk"; ml: "aq.ml"; mm: "aq.mm"; mn: "aq.mn"; mo: "aq.mo"; mp: "aq.mp"; mq: "aq.mq"; mr: "aq.mr"; ms: "aq.ms"; mt: "aq.mt"; mu: "aq.mu"; mv: "aq.mv"; mw: "aq.mw"; mx: "aq.mx"; my: "aq.my"; mz: "aq.mz"; na: "aq.na"; nb: "aq.nb"; nc: "aq.nc"; nd: "aq.nd"; ne: "aq.ne"; nf: "aq.nf"; ng: "aq.ng"; nh: "aq.nh"; ni: "aq.ni"; nj: "aq.nj"; nk: "aq.nk"; nl: "aq.nl"; nm: "aq.nm"; nn: "aq.nn"; no: "aq.no"; np: "aq.np"; nq: "aq.nq"; nr: "aq.nr"; ns: "aq.ns"; nt: "aq.nt"; nu: "aq.nu"; nv: "aq.nv"; nw: "aq.nw"; nx: "aq.nx"; ny: "aq.ny"; nz: "aq.nz"; oa: "aq.oa"; ob: "aq.ob"; oc: "aq.oc"; od: "aq.od"; oe: "aq.oe"; of: "aq.of"; og: "aq.og"; oh: "aq.oh"; oi: "aq.oi"; oj: "aq.oj"; ok: "aq.ok"; ol: "aq.ol"; om: "aq.om"; on: "aq.on"; oo: "aq.oo"; op: "aq.op"; oq: "aq.oq"; or: "aq.or"; os: "aq.os"; ot: "aq.ot"; ou: "aq.ou"; ov: "aq.ov"; ow: "aq.ow"; ox: "aq.ox"; oy: "aq.oy"; oz: "aq.oz"; pa: "aq.pa"; pb: "aq.pb"; pc: "aq.pc"; pd: "aq.pd"; pe: "aq.pe"; pf: "aq.pf"; pg: "aq.pg"; ph: "aq.ph"; pi: "aq.pi"; pj: "aq.pj"; pk: "aq.pk"; pl: "aq.pl"; pm: "aq.pm"; pn: "aq.pn"; po: "aq.po"; pp: "aq.pp"; pq: "aq.pq"; pr: "aq.pr"; ps: "aq.ps"; pt: "aq.pt"; pu: "aq.pu"; pv: "aq.pv"; pw: "aq.pw"; px: "aq.px"; py: "aq.py"; pz: "aq.pz"; qa: "aq.qa"; qb: "aq.qb"; qc: "aq.qc"; qd: "aq.qd"; qe: "aq.qe"; qf: "aq.qf"; qg: "aq.qg"; qh: "aq.qh"; qi: "aq.qi"; qj: "aq.qj"; qk: "aq.qk"; ql: "aq.ql"; qm: "aq.qm"; qn: "aq.qn"; qo: "aq.qo"; qp: "aq.qp"; qq: "aq.qq"; qr: "aq.qr"; qs: "aq.qs"; qt: "aq.qt"; qu: "aq.qu"; qv: "aq.qv"; qw: "aq.qw"; qx: "aq.qx"; qy: "aq.qy"; qz: "aq.qz"; ra: "aq.ra"; rb: "aq.rb"; rc: "aq.rc"; rd: "aq.rd"; re: "aq.re"; rf: "aq.rf"; rg: "aq.rg"; rh: "aq.rh"; ri: "aq.ri"; rj: "aq.rj"; rk: "aq.rk"; rl: "aq.rl"; rm: "aq.rm"; rn: "aq.rn"; ro: "aq.ro"; rp: "aq.rp"; rq: "aq.rq"; rr: "aq.rr"; rs: "aq.rs"; rt: "aq.rt"; ru: "aq.ru"; rv: "aq.rv"; rw: "aq.rw"; rx: "aq.rx"; ry: "aq.ry"; rz: "aq.rz"; sa: "aq.sa"; sb: "aq.sb"; sc: "aq.sc"; sd: "aq.sd"; se: "aq.se"; sf: "aq.sf"; sg: "aq.sg"; sh: "aq.sh"; si: "aq.si"; sj: "aq.sj"; sk: "aq.sk"; sl: "aq.sl"; sm: "aq.sm"; sn: "aq.sn"; so: "aq.so"; sp: "aq.sp"; sq: "aq.sq"; sr: "aq.sr"; ss: "aq.ss"; st: "aq.st"; su: "aq.su"; sv: "aq.sv"; sw: "aq.sw"; sx: "aq.sx"; sy: "aq.sy"; sz: "aq.sz"; ta: "aq.ta"; tb: "aq.tb"; tc: "aq.tc"; td: "aq.td"; te: "aq.te"; tf: "aq.tf"; tg: "aq.tg"; th: "aq.th"; ti: "aq.ti"; tj: "aq.tj"; tk: "aq.tk"; tl: "aq.tl"; tm: "aq.tm"; tn: "aq.tn"; to: "aq.to"; tp: "aq.tp"; tq: "aq.tq"; tr: "aq.tr"; ts: "aq.ts"; tt: "aq.tt"; tu: "aq.tu"; tv: "aq.tv"; tw: "aq.tw"; tx: "aq.tx"; ty: "aq.ty"; tz: "aq.tz"; ua: "aq.ua"; ub: "aq.ub"; uc: "aq.uc"; ud: "aq.ud"; ue: "aq.ue"; uf: "aq.uf"; ug: "aq.ug"; uh: "aq.uh"; ui: "aq.ui"; uj: "aq.uj"; uk: "aq.uk"; ul: "aq.ul"; um: "aq.um"; un: "aq.un"; uo: "aq.uo"; up: "aq.up"; uq: "aq.uq"; ur: "aq.ur"; us: "aq.us"; ut: "aq.ut"; uu: "aq.uu"; uv: "aq.uv"; uw: "aq.uw"; ux: "aq.ux"; uy: "aq.uy"; uz: "aq.uz"; va: "aq.va"; vb: "aq.vb"; vc: "aq.vc"; vd: "aq.vd"; ve: "aq.ve"; vf: "aq.vf"; vg: "aq.vg"; vh: "aq.vh"; vi: "aq.vi"; vj: "aq.vj"; vk: "aq.vk"; vl: "aq.vl"; vm: "aq.vm"; vn: "aq.vn"; vo: "aq.vo"; vp: "aq.vp"; vq: "aq.vq"; vr: "aq.vr"; vs: "aq.vs"; vt: "aq.vt"; vu: "aq.vu"; vv: "aq.vv"; vw: "aq.vw"; vx: "aq.vx"; vy: "aq.vy"; vz: "aq.vz"; wa: "aq.wa"; wb: "aq.wb"; wc: "aq.wc"; wd: "aq.wd"; we: "aq.we"; wf: "aq.wf"; wg: "aq.wg"; wh: "aq.wh"; wi: "aq.wi"; wj: "aq.wj"; wk: "aq.wk"; wl: "aq.wl"; wm: "aq.wm"; wn: "aq.wn"; wo: "aq.wo"; wp: "aq.wp"; wq: "aq.wq"; wr: "aq.wr"; ws: "aq.ws"; wt: "aq.wt"; wu: "aq.wu"; wv: "aq.wv"; ww: "aq.ww"; wx: "aq.wx"; wy: "aq.wy"; wz: "aq.wz"; xa: "aq.xa"; xb: "aq.xb"; xc: "aq.xc"; xd: "aq.xd"; xe: "aq.xe"; xf: "aq.xf"; xg: "aq.xg"; xh: "aq.xh"; xi: "aq.xi"; xj: "aq.xj"; xk: "aq.xk"; xl: "aq.xl"; xm: "aq.xm"; xn: "aq.xn"; xo: "aq.xo"; xp: "aq.xp"; xq: "aq.xq"; xr: "aq.xr"; xs: "aq.xs"; xt: "aq.xt"; xu: "aq.xu"; xv: "aq.xv"; xw: "aq.xw"; xx: "aq.xx"; xy: "aq.xy"; xz: "aq.xz"; ya: "aq.ya"; yb: "aq.yb"; yc: "aq.yc"; yd: "aq.yd"; ye: "aq.ye"; yf: "aq.yf"; yg: "aq.yg"; yh: "aq.yh"; yi: "aq.yi"; yj: "aq.yj"; yk: "aq.yk"; yl: "aq.yl"; ym: "aq.ym"; yn: "aq.yn"; yo: "aq.yo"; yp: "aq.yp"; yq: "aq.yq"; yr: "aq.yr"; ys: "aq.ys"; yt: "aq.yt"; yu: "aq.yu"; yv: "aq.yv"; yw: "aq.yw"; yx: "aq.yx"; yy: "aq.yy"; yz: "aq.yz"; za: "aq.za"; zb: "aq.zb"; zc: "aq.zc"; zd: "aq.zd"; ze: "aq.ze"; zf: "aq.zf"; zg: "aq.zg"; zh: "aq.zh"; zi: "aq.zi"; zj: "aq.zj"; zk: "aq.zk"; zl: "aq.zl"; zm: "aq.zm"; zn: "aq.zn"; zo: "aq.zo"; zp: "aq.zp"; zq: "aq.zq"; zr: "aq.zr"; zs: "aq.zs"; zt: "aq.zt"; zu: "aq.zu"; zv: "aq.zv"; zw: "aq.zw"; zx: "aq.zx"; zy: "aq.zy"; zz: "aq.zz"; }; ar: { aa: "ar.aa"; ab: "ar.ab"; ac: "ar.ac"; ad: "ar.ad"; ae: "ar.ae"; af: "ar.af"; ag: "ar.ag"; ah: "ar.ah"; ai: "ar.ai"; aj: "ar.aj"; ak: "ar.ak"; al: "ar.al"; am: "ar.am"; an: "ar.an"; ao: "ar.ao"; ap: "ar.ap"; aq: "ar.aq"; ar: "ar.ar"; as: "ar.as"; at: "ar.at"; au: "ar.au"; av: "ar.av"; aw: "ar.aw"; ax: "ar.ax"; ay: "ar.ay"; az: "ar.az"; ba: "ar.ba"; bb: "ar.bb"; bc: "ar.bc"; bd: "ar.bd"; be: "ar.be"; bf: "ar.bf"; bg: "ar.bg"; bh: "ar.bh"; bi: "ar.bi"; bj: "ar.bj"; bk: "ar.bk"; bl: "ar.bl"; bm: "ar.bm"; bn: "ar.bn"; bo: "ar.bo"; bp: "ar.bp"; bq: "ar.bq"; br: "ar.br"; bs: "ar.bs"; bt: "ar.bt"; bu: "ar.bu"; bv: "ar.bv"; bw: "ar.bw"; bx: "ar.bx"; by: "ar.by"; bz: "ar.bz"; ca: "ar.ca"; cb: "ar.cb"; cc: "ar.cc"; cd: "ar.cd"; ce: "ar.ce"; cf: "ar.cf"; cg: "ar.cg"; ch: "ar.ch"; ci: "ar.ci"; cj: "ar.cj"; ck: "ar.ck"; cl: "ar.cl"; cm: "ar.cm"; cn: "ar.cn"; co: "ar.co"; cp: "ar.cp"; cq: "ar.cq"; cr: "ar.cr"; cs: "ar.cs"; ct: "ar.ct"; cu: "ar.cu"; cv: "ar.cv"; cw: "ar.cw"; cx: "ar.cx"; cy: "ar.cy"; cz: "ar.cz"; da: "ar.da"; db: "ar.db"; dc: "ar.dc"; dd: "ar.dd"; de: "ar.de"; df: "ar.df"; dg: "ar.dg"; dh: "ar.dh"; di: "ar.di"; dj: "ar.dj"; dk: "ar.dk"; dl: "ar.dl"; dm: "ar.dm"; dn: "ar.dn"; do: "ar.do"; dp: "ar.dp"; dq: "ar.dq"; dr: "ar.dr"; ds: "ar.ds"; dt: "ar.dt"; du: "ar.du"; dv: "ar.dv"; dw: "ar.dw"; dx: "ar.dx"; dy: "ar.dy"; dz: "ar.dz"; ea: "ar.ea"; eb: "ar.eb"; ec: "ar.ec"; ed: "ar.ed"; ee: "ar.ee"; ef: "ar.ef"; eg: "ar.eg"; eh: "ar.eh"; ei: "ar.ei"; ej: "ar.ej"; ek: "ar.ek"; el: "ar.el"; em: "ar.em"; en: "ar.en"; eo: "ar.eo"; ep: "ar.ep"; eq: "ar.eq"; er: "ar.er"; es: "ar.es"; et: "ar.et"; eu: "ar.eu"; ev: "ar.ev"; ew: "ar.ew"; ex: "ar.ex"; ey: "ar.ey"; ez: "ar.ez"; fa: "ar.fa"; fb: "ar.fb"; fc: "ar.fc"; fd: "ar.fd"; fe: "ar.fe"; ff: "ar.ff"; fg: "ar.fg"; fh: "ar.fh"; fi: "ar.fi"; fj: "ar.fj"; fk: "ar.fk"; fl: "ar.fl"; fm: "ar.fm"; fn: "ar.fn"; fo: "ar.fo"; fp: "ar.fp"; fq: "ar.fq"; fr: "ar.fr"; fs: "ar.fs"; ft: "ar.ft"; fu: "ar.fu"; fv: "ar.fv"; fw: "ar.fw"; fx: "ar.fx"; fy: "ar.fy"; fz: "ar.fz"; ga: "ar.ga"; gb: "ar.gb"; gc: "ar.gc"; gd: "ar.gd"; ge: "ar.ge"; gf: "ar.gf"; gg: "ar.gg"; gh: "ar.gh"; gi: "ar.gi"; gj: "ar.gj"; gk: "ar.gk"; gl: "ar.gl"; gm: "ar.gm"; gn: "ar.gn"; go: "ar.go"; gp: "ar.gp"; gq: "ar.gq"; gr: "ar.gr"; gs: "ar.gs"; gt: "ar.gt"; gu: "ar.gu"; gv: "ar.gv"; gw: "ar.gw"; gx: "ar.gx"; gy: "ar.gy"; gz: "ar.gz"; ha: "ar.ha"; hb: "ar.hb"; hc: "ar.hc"; hd: "ar.hd"; he: "ar.he"; hf: "ar.hf"; hg: "ar.hg"; hh: "ar.hh"; hi: "ar.hi"; hj: "ar.hj"; hk: "ar.hk"; hl: "ar.hl"; hm: "ar.hm"; hn: "ar.hn"; ho: "ar.ho"; hp: "ar.hp"; hq: "ar.hq"; hr: "ar.hr"; hs: "ar.hs"; ht: "ar.ht"; hu: "ar.hu"; hv: "ar.hv"; hw: "ar.hw"; hx: "ar.hx"; hy: "ar.hy"; hz: "ar.hz"; ia: "ar.ia"; ib: "ar.ib"; ic: "ar.ic"; id: "ar.id"; ie: "ar.ie"; if: "ar.if"; ig: "ar.ig"; ih: "ar.ih"; ii: "ar.ii"; ij: "ar.ij"; ik: "ar.ik"; il: "ar.il"; im: "ar.im"; in: "ar.in"; io: "ar.io"; ip: "ar.ip"; iq: "ar.iq"; ir: "ar.ir"; is: "ar.is"; it: "ar.it"; iu: "ar.iu"; iv: "ar.iv"; iw: "ar.iw"; ix: "ar.ix"; iy: "ar.iy"; iz: "ar.iz"; ja: "ar.ja"; jb: "ar.jb"; jc: "ar.jc"; jd: "ar.jd"; je: "ar.je"; jf: "ar.jf"; jg: "ar.jg"; jh: "ar.jh"; ji: "ar.ji"; jj: "ar.jj"; jk: "ar.jk"; jl: "ar.jl"; jm: "ar.jm"; jn: "ar.jn"; jo: "ar.jo"; jp: "ar.jp"; jq: "ar.jq"; jr: "ar.jr"; js: "ar.js"; jt: "ar.jt"; ju: "ar.ju"; jv: "ar.jv"; jw: "ar.jw"; jx: "ar.jx"; jy: "ar.jy"; jz: "ar.jz"; ka: "ar.ka"; kb: "ar.kb"; kc: "ar.kc"; kd: "ar.kd"; ke: "ar.ke"; kf: "ar.kf"; kg: "ar.kg"; kh: "ar.kh"; ki: "ar.ki"; kj: "ar.kj"; kk: "ar.kk"; kl: "ar.kl"; km: "ar.km"; kn: "ar.kn"; ko: "ar.ko"; kp: "ar.kp"; kq: "ar.kq"; kr: "ar.kr"; ks: "ar.ks"; kt: "ar.kt"; ku: "ar.ku"; kv: "ar.kv"; kw: "ar.kw"; kx: "ar.kx"; ky: "ar.ky"; kz: "ar.kz"; la: "ar.la"; lb: "ar.lb"; lc: "ar.lc"; ld: "ar.ld"; le: "ar.le"; lf: "ar.lf"; lg: "ar.lg"; lh: "ar.lh"; li: "ar.li"; lj: "ar.lj"; lk: "ar.lk"; ll: "ar.ll"; lm: "ar.lm"; ln: "ar.ln"; lo: "ar.lo"; lp: "ar.lp"; lq: "ar.lq"; lr: "ar.lr"; ls: "ar.ls"; lt: "ar.lt"; lu: "ar.lu"; lv: "ar.lv"; lw: "ar.lw"; lx: "ar.lx"; ly: "ar.ly"; lz: "ar.lz"; ma: "ar.ma"; mb: "ar.mb"; mc: "ar.mc"; md: "ar.md"; me: "ar.me"; mf: "ar.mf"; mg: "ar.mg"; mh: "ar.mh"; mi: "ar.mi"; mj: "ar.mj"; mk: "ar.mk"; ml: "ar.ml"; mm: "ar.mm"; mn: "ar.mn"; mo: "ar.mo"; mp: "ar.mp"; mq: "ar.mq"; mr: "ar.mr"; ms: "ar.ms"; mt: "ar.mt"; mu: "ar.mu"; mv: "ar.mv"; mw: "ar.mw"; mx: "ar.mx"; my: "ar.my"; mz: "ar.mz"; na: "ar.na"; nb: "ar.nb"; nc: "ar.nc"; nd: "ar.nd"; ne: "ar.ne"; nf: "ar.nf"; ng: "ar.ng"; nh: "ar.nh"; ni: "ar.ni"; nj: "ar.nj"; nk: "ar.nk"; nl: "ar.nl"; nm: "ar.nm"; nn: "ar.nn"; no: "ar.no"; np: "ar.np"; nq: "ar.nq"; nr: "ar.nr"; ns: "ar.ns"; nt: "ar.nt"; nu: "ar.nu"; nv: "ar.nv"; nw: "ar.nw"; nx: "ar.nx"; ny: "ar.ny"; nz: "ar.nz"; oa: "ar.oa"; ob: "ar.ob"; oc: "ar.oc"; od: "ar.od"; oe: "ar.oe"; of: "ar.of"; og: "ar.og"; oh: "ar.oh"; oi: "ar.oi"; oj: "ar.oj"; ok: "ar.ok"; ol: "ar.ol"; om: "ar.om"; on: "ar.on"; oo: "ar.oo"; op: "ar.op"; oq: "ar.oq"; or: "ar.or"; os: "ar.os"; ot: "ar.ot"; ou: "ar.ou"; ov: "ar.ov"; ow: "ar.ow"; ox: "ar.ox"; oy: "ar.oy"; oz: "ar.oz"; pa: "ar.pa"; pb: "ar.pb"; pc: "ar.pc"; pd: "ar.pd"; pe: "ar.pe"; pf: "ar.pf"; pg: "ar.pg"; ph: "ar.ph"; pi: "ar.pi"; pj: "ar.pj"; pk: "ar.pk"; pl: "ar.pl"; pm: "ar.pm"; pn: "ar.pn"; po: "ar.po"; pp: "ar.pp"; pq: "ar.pq"; pr: "ar.pr"; ps: "ar.ps"; pt: "ar.pt"; pu: "ar.pu"; pv: "ar.pv"; pw: "ar.pw"; px: "ar.px"; py: "ar.py"; pz: "ar.pz"; qa: "ar.qa"; qb: "ar.qb"; qc: "ar.qc"; qd: "ar.qd"; qe: "ar.qe"; qf: "ar.qf"; qg: "ar.qg"; qh: "ar.qh"; qi: "ar.qi"; qj: "ar.qj"; qk: "ar.qk"; ql: "ar.ql"; qm: "ar.qm"; qn: "ar.qn"; qo: "ar.qo"; qp: "ar.qp"; qq: "ar.qq"; qr: "ar.qr"; qs: "ar.qs"; qt: "ar.qt"; qu: "ar.qu"; qv: "ar.qv"; qw: "ar.qw"; qx: "ar.qx"; qy: "ar.qy"; qz: "ar.qz"; ra: "ar.ra"; rb: "ar.rb"; rc: "ar.rc"; rd: "ar.rd"; re: "ar.re"; rf: "ar.rf"; rg: "ar.rg"; rh: "ar.rh"; ri: "ar.ri"; rj: "ar.rj"; rk: "ar.rk"; rl: "ar.rl"; rm: "ar.rm"; rn: "ar.rn"; ro: "ar.ro"; rp: "ar.rp"; rq: "ar.rq"; rr: "ar.rr"; rs: "ar.rs"; rt: "ar.rt"; ru: "ar.ru"; rv: "ar.rv"; rw: "ar.rw"; rx: "ar.rx"; ry: "ar.ry"; rz: "ar.rz"; sa: "ar.sa"; sb: "ar.sb"; sc: "ar.sc"; sd: "ar.sd"; se: "ar.se"; sf: "ar.sf"; sg: "ar.sg"; sh: "ar.sh"; si: "ar.si"; sj: "ar.sj"; sk: "ar.sk"; sl: "ar.sl"; sm: "ar.sm"; sn: "ar.sn"; so: "ar.so"; sp: "ar.sp"; sq: "ar.sq"; sr: "ar.sr"; ss: "ar.ss"; st: "ar.st"; su: "ar.su"; sv: "ar.sv"; sw: "ar.sw"; sx: "ar.sx"; sy: "ar.sy"; sz: "ar.sz"; ta: "ar.ta"; tb: "ar.tb"; tc: "ar.tc"; td: "ar.td"; te: "ar.te"; tf: "ar.tf"; tg: "ar.tg"; th: "ar.th"; ti: "ar.ti"; tj: "ar.tj"; tk: "ar.tk"; tl: "ar.tl"; tm: "ar.tm"; tn: "ar.tn"; to: "ar.to"; tp: "ar.tp"; tq: "ar.tq"; tr: "ar.tr"; ts: "ar.ts"; tt: "ar.tt"; tu: "ar.tu"; tv: "ar.tv"; tw: "ar.tw"; tx: "ar.tx"; ty: "ar.ty"; tz: "ar.tz"; ua: "ar.ua"; ub: "ar.ub"; uc: "ar.uc"; ud: "ar.ud"; ue: "ar.ue"; uf: "ar.uf"; ug: "ar.ug"; uh: "ar.uh"; ui: "ar.ui"; uj: "ar.uj"; uk: "ar.uk"; ul: "ar.ul"; um: "ar.um"; un: "ar.un"; uo: "ar.uo"; up: "ar.up"; uq: "ar.uq"; ur: "ar.ur"; us: "ar.us"; ut: "ar.ut"; uu: "ar.uu"; uv: "ar.uv"; uw: "ar.uw"; ux: "ar.ux"; uy: "ar.uy"; uz: "ar.uz"; va: "ar.va"; vb: "ar.vb"; vc: "ar.vc"; vd: "ar.vd"; ve: "ar.ve"; vf: "ar.vf"; vg: "ar.vg"; vh: "ar.vh"; vi: "ar.vi"; vj: "ar.vj"; vk: "ar.vk"; vl: "ar.vl"; vm: "ar.vm"; vn: "ar.vn"; vo: "ar.vo"; vp: "ar.vp"; vq: "ar.vq"; vr: "ar.vr"; vs: "ar.vs"; vt: "ar.vt"; vu: "ar.vu"; vv: "ar.vv"; vw: "ar.vw"; vx: "ar.vx"; vy: "ar.vy"; vz: "ar.vz"; wa: "ar.wa"; wb: "ar.wb"; wc: "ar.wc"; wd: "ar.wd"; we: "ar.we"; wf: "ar.wf"; wg: "ar.wg"; wh: "ar.wh"; wi: "ar.wi"; wj: "ar.wj"; wk: "ar.wk"; wl: "ar.wl"; wm: "ar.wm"; wn: "ar.wn"; wo: "ar.wo"; wp: "ar.wp"; wq: "ar.wq"; wr: "ar.wr"; ws: "ar.ws"; wt: "ar.wt"; wu: "ar.wu"; wv: "ar.wv"; ww: "ar.ww"; wx: "ar.wx"; wy: "ar.wy"; wz: "ar.wz"; xa: "ar.xa"; xb: "ar.xb"; xc: "ar.xc"; xd: "ar.xd"; xe: "ar.xe"; xf: "ar.xf"; xg: "ar.xg"; xh: "ar.xh"; xi: "ar.xi"; xj: "ar.xj"; xk: "ar.xk"; xl: "ar.xl"; xm: "ar.xm"; xn: "ar.xn"; xo: "ar.xo"; xp: "ar.xp"; xq: "ar.xq"; xr: "ar.xr"; xs: "ar.xs"; xt: "ar.xt"; xu: "ar.xu"; xv: "ar.xv"; xw: "ar.xw"; xx: "ar.xx"; xy: "ar.xy"; xz: "ar.xz"; ya: "ar.ya"; yb: "ar.yb"; yc: "ar.yc"; yd: "ar.yd"; ye: "ar.ye"; yf: "ar.yf"; yg: "ar.yg"; yh: "ar.yh"; yi: "ar.yi"; yj: "ar.yj"; yk: "ar.yk"; yl: "ar.yl"; ym: "ar.ym"; yn: "ar.yn"; yo: "ar.yo"; yp: "ar.yp"; yq: "ar.yq"; yr: "ar.yr"; ys: "ar.ys"; yt: "ar.yt"; yu: "ar.yu"; yv: "ar.yv"; yw: "ar.yw"; yx: "ar.yx"; yy: "ar.yy"; yz: "ar.yz"; za: "ar.za"; zb: "ar.zb"; zc: "ar.zc"; zd: "ar.zd"; ze: "ar.ze"; zf: "ar.zf"; zg: "ar.zg"; zh: "ar.zh"; zi: "ar.zi"; zj: "ar.zj"; zk: "ar.zk"; zl: "ar.zl"; zm: "ar.zm"; zn: "ar.zn"; zo: "ar.zo"; zp: "ar.zp"; zq: "ar.zq"; zr: "ar.zr"; zs: "ar.zs"; zt: "ar.zt"; zu: "ar.zu"; zv: "ar.zv"; zw: "ar.zw"; zx: "ar.zx"; zy: "ar.zy"; zz: "ar.zz"; }; as: { aa: "as.aa"; ab: "as.ab"; ac: "as.ac"; ad: "as.ad"; ae: "as.ae"; af: "as.af"; ag: "as.ag"; ah: "as.ah"; ai: "as.ai"; aj: "as.aj"; ak: "as.ak"; al: "as.al"; am: "as.am"; an: "as.an"; ao: "as.ao"; ap: "as.ap"; aq: "as.aq"; ar: "as.ar"; as: "as.as"; at: "as.at"; au: "as.au"; av: "as.av"; aw: "as.aw"; ax: "as.ax"; ay: "as.ay"; az: "as.az"; ba: "as.ba"; bb: "as.bb"; bc: "as.bc"; bd: "as.bd"; be: "as.be"; bf: "as.bf"; bg: "as.bg"; bh: "as.bh"; bi: "as.bi"; bj: "as.bj"; bk: "as.bk"; bl: "as.bl"; bm: "as.bm"; bn: "as.bn"; bo: "as.bo"; bp: "as.bp"; bq: "as.bq"; br: "as.br"; bs: "as.bs"; bt: "as.bt"; bu: "as.bu"; bv: "as.bv"; bw: "as.bw"; bx: "as.bx"; by: "as.by"; bz: "as.bz"; ca: "as.ca"; cb: "as.cb"; cc: "as.cc"; cd: "as.cd"; ce: "as.ce"; cf: "as.cf"; cg: "as.cg"; ch: "as.ch"; ci: "as.ci"; cj: "as.cj"; ck: "as.ck"; cl: "as.cl"; cm: "as.cm"; cn: "as.cn"; co: "as.co"; cp: "as.cp"; cq: "as.cq"; cr: "as.cr"; cs: "as.cs"; ct: "as.ct"; cu: "as.cu"; cv: "as.cv"; cw: "as.cw"; cx: "as.cx"; cy: "as.cy"; cz: "as.cz"; da: "as.da"; db: "as.db"; dc: "as.dc"; dd: "as.dd"; de: "as.de"; df: "as.df"; dg: "as.dg"; dh: "as.dh"; di: "as.di"; dj: "as.dj"; dk: "as.dk"; dl: "as.dl"; dm: "as.dm"; dn: "as.dn"; do: "as.do"; dp: "as.dp"; dq: "as.dq"; dr: "as.dr"; ds: "as.ds"; dt: "as.dt"; du: "as.du"; dv: "as.dv"; dw: "as.dw"; dx: "as.dx"; dy: "as.dy"; dz: "as.dz"; ea: "as.ea"; eb: "as.eb"; ec: "as.ec"; ed: "as.ed"; ee: "as.ee"; ef: "as.ef"; eg: "as.eg"; eh: "as.eh"; ei: "as.ei"; ej: "as.ej"; ek: "as.ek"; el: "as.el"; em: "as.em"; en: "as.en"; eo: "as.eo"; ep: "as.ep"; eq: "as.eq"; er: "as.er"; es: "as.es"; et: "as.et"; eu: "as.eu"; ev: "as.ev"; ew: "as.ew"; ex: "as.ex"; ey: "as.ey"; ez: "as.ez"; fa: "as.fa"; fb: "as.fb"; fc: "as.fc"; fd: "as.fd"; fe: "as.fe"; ff: "as.ff"; fg: "as.fg"; fh: "as.fh"; fi: "as.fi"; fj: "as.fj"; fk: "as.fk"; fl: "as.fl"; fm: "as.fm"; fn: "as.fn"; fo: "as.fo"; fp: "as.fp"; fq: "as.fq"; fr: "as.fr"; fs: "as.fs"; ft: "as.ft"; fu: "as.fu"; fv: "as.fv"; fw: "as.fw"; fx: "as.fx"; fy: "as.fy"; fz: "as.fz"; ga: "as.ga"; gb: "as.gb"; gc: "as.gc"; gd: "as.gd"; ge: "as.ge"; gf: "as.gf"; gg: "as.gg"; gh: "as.gh"; gi: "as.gi"; gj: "as.gj"; gk: "as.gk"; gl: "as.gl"; gm: "as.gm"; gn: "as.gn"; go: "as.go"; gp: "as.gp"; gq: "as.gq"; gr: "as.gr"; gs: "as.gs"; gt: "as.gt"; gu: "as.gu"; gv: "as.gv"; gw: "as.gw"; gx: "as.gx"; gy: "as.gy"; gz: "as.gz"; ha: "as.ha"; hb: "as.hb"; hc: "as.hc"; hd: "as.hd"; he: "as.he"; hf: "as.hf"; hg: "as.hg"; hh: "as.hh"; hi: "as.hi"; hj: "as.hj"; hk: "as.hk"; hl: "as.hl"; hm: "as.hm"; hn: "as.hn"; ho: "as.ho"; hp: "as.hp"; hq: "as.hq"; hr: "as.hr"; hs: "as.hs"; ht: "as.ht"; hu: "as.hu"; hv: "as.hv"; hw: "as.hw"; hx: "as.hx"; hy: "as.hy"; hz: "as.hz"; ia: "as.ia"; ib: "as.ib"; ic: "as.ic"; id: "as.id"; ie: "as.ie"; if: "as.if"; ig: "as.ig"; ih: "as.ih"; ii: "as.ii"; ij: "as.ij"; ik: "as.ik"; il: "as.il"; im: "as.im"; in: "as.in"; io: "as.io"; ip: "as.ip"; iq: "as.iq"; ir: "as.ir"; is: "as.is"; it: "as.it"; iu: "as.iu"; iv: "as.iv"; iw: "as.iw"; ix: "as.ix"; iy: "as.iy"; iz: "as.iz"; ja: "as.ja"; jb: "as.jb"; jc: "as.jc"; jd: "as.jd"; je: "as.je"; jf: "as.jf"; jg: "as.jg"; jh: "as.jh"; ji: "as.ji"; jj: "as.jj"; jk: "as.jk"; jl: "as.jl"; jm: "as.jm"; jn: "as.jn"; jo: "as.jo"; jp: "as.jp"; jq: "as.jq"; jr: "as.jr"; js: "as.js"; jt: "as.jt"; ju: "as.ju"; jv: "as.jv"; jw: "as.jw"; jx: "as.jx"; jy: "as.jy"; jz: "as.jz"; ka: "as.ka"; kb: "as.kb"; kc: "as.kc"; kd: "as.kd"; ke: "as.ke"; kf: "as.kf"; kg: "as.kg"; kh: "as.kh"; ki: "as.ki"; kj: "as.kj"; kk: "as.kk"; kl: "as.kl"; km: "as.km"; kn: "as.kn"; ko: "as.ko"; kp: "as.kp"; kq: "as.kq"; kr: "as.kr"; ks: "as.ks"; kt: "as.kt"; ku: "as.ku"; kv: "as.kv"; kw: "as.kw"; kx: "as.kx"; ky: "as.ky"; kz: "as.kz"; la: "as.la"; lb: "as.lb"; lc: "as.lc"; ld: "as.ld"; le: "as.le"; lf: "as.lf"; lg: "as.lg"; lh: "as.lh"; li: "as.li"; lj: "as.lj"; lk: "as.lk"; ll: "as.ll"; lm: "as.lm"; ln: "as.ln"; lo: "as.lo"; lp: "as.lp"; lq: "as.lq"; lr: "as.lr"; ls: "as.ls"; lt: "as.lt"; lu: "as.lu"; lv: "as.lv"; lw: "as.lw"; lx: "as.lx"; ly: "as.ly"; lz: "as.lz"; ma: "as.ma"; mb: "as.mb"; mc: "as.mc"; md: "as.md"; me: "as.me"; mf: "as.mf"; mg: "as.mg"; mh: "as.mh"; mi: "as.mi"; mj: "as.mj"; mk: "as.mk"; ml: "as.ml"; mm: "as.mm"; mn: "as.mn"; mo: "as.mo"; mp: "as.mp"; mq: "as.mq"; mr: "as.mr"; ms: "as.ms"; mt: "as.mt"; mu: "as.mu"; mv: "as.mv"; mw: "as.mw"; mx: "as.mx"; my: "as.my"; mz: "as.mz"; na: "as.na"; nb: "as.nb"; nc: "as.nc"; nd: "as.nd"; ne: "as.ne"; nf: "as.nf"; ng: "as.ng"; nh: "as.nh"; ni: "as.ni"; nj: "as.nj"; nk: "as.nk"; nl: "as.nl"; nm: "as.nm"; nn: "as.nn"; no: "as.no"; np: "as.np"; nq: "as.nq"; nr: "as.nr"; ns: "as.ns"; nt: "as.nt"; nu: "as.nu"; nv: "as.nv"; nw: "as.nw"; nx: "as.nx"; ny: "as.ny"; nz: "as.nz"; oa: "as.oa"; ob: "as.ob"; oc: "as.oc"; od: "as.od"; oe: "as.oe"; of: "as.of"; og: "as.og"; oh: "as.oh"; oi: "as.oi"; oj: "as.oj"; ok: "as.ok"; ol: "as.ol"; om: "as.om"; on: "as.on"; oo: "as.oo"; op: "as.op"; oq: "as.oq"; or: "as.or"; os: "as.os"; ot: "as.ot"; ou: "as.ou"; ov: "as.ov"; ow: "as.ow"; ox: "as.ox"; oy: "as.oy"; oz: "as.oz"; pa: "as.pa"; pb: "as.pb"; pc: "as.pc"; pd: "as.pd"; pe: "as.pe"; pf: "as.pf"; pg: "as.pg"; ph: "as.ph"; pi: "as.pi"; pj: "as.pj"; pk: "as.pk"; pl: "as.pl"; pm: "as.pm"; pn: "as.pn"; po: "as.po"; pp: "as.pp"; pq: "as.pq"; pr: "as.pr"; ps: "as.ps"; pt: "as.pt"; pu: "as.pu"; pv: "as.pv"; pw: "as.pw"; px: "as.px"; py: "as.py"; pz: "as.pz"; qa: "as.qa"; qb: "as.qb"; qc: "as.qc"; qd: "as.qd"; qe: "as.qe"; qf: "as.qf"; qg: "as.qg"; qh: "as.qh"; qi: "as.qi"; qj: "as.qj"; qk: "as.qk"; ql: "as.ql"; qm: "as.qm"; qn: "as.qn"; qo: "as.qo"; qp: "as.qp"; qq: "as.qq"; qr: "as.qr"; qs: "as.qs"; qt: "as.qt"; qu: "as.qu"; qv: "as.qv"; qw: "as.qw"; qx: "as.qx"; qy: "as.qy"; qz: "as.qz"; ra: "as.ra"; rb: "as.rb"; rc: "as.rc"; rd: "as.rd"; re: "as.re"; rf: "as.rf"; rg: "as.rg"; rh: "as.rh"; ri: "as.ri"; rj: "as.rj"; rk: "as.rk"; rl: "as.rl"; rm: "as.rm"; rn: "as.rn"; ro: "as.ro"; rp: "as.rp"; rq: "as.rq"; rr: "as.rr"; rs: "as.rs"; rt: "as.rt"; ru: "as.ru"; rv: "as.rv"; rw: "as.rw"; rx: "as.rx"; ry: "as.ry"; rz: "as.rz"; sa: "as.sa"; sb: "as.sb"; sc: "as.sc"; sd: "as.sd"; se: "as.se"; sf: "as.sf"; sg: "as.sg"; sh: "as.sh"; si: "as.si"; sj: "as.sj"; sk: "as.sk"; sl: "as.sl"; sm: "as.sm"; sn: "as.sn"; so: "as.so"; sp: "as.sp"; sq: "as.sq"; sr: "as.sr"; ss: "as.ss"; st: "as.st"; su: "as.su"; sv: "as.sv"; sw: "as.sw"; sx: "as.sx"; sy: "as.sy"; sz: "as.sz"; ta: "as.ta"; tb: "as.tb"; tc: "as.tc"; td: "as.td"; te: "as.te"; tf: "as.tf"; tg: "as.tg"; th: "as.th"; ti: "as.ti"; tj: "as.tj"; tk: "as.tk"; tl: "as.tl"; tm: "as.tm"; tn: "as.tn"; to: "as.to"; tp: "as.tp"; tq: "as.tq"; tr: "as.tr"; ts: "as.ts"; tt: "as.tt"; tu: "as.tu"; tv: "as.tv"; tw: "as.tw"; tx: "as.tx"; ty: "as.ty"; tz: "as.tz"; ua: "as.ua"; ub: "as.ub"; uc: "as.uc"; ud: "as.ud"; ue: "as.ue"; uf: "as.uf"; ug: "as.ug"; uh: "as.uh"; ui: "as.ui"; uj: "as.uj"; uk: "as.uk"; ul: "as.ul"; um: "as.um"; un: "as.un"; uo: "as.uo"; up: "as.up"; uq: "as.uq"; ur: "as.ur"; us: "as.us"; ut: "as.ut"; uu: "as.uu"; uv: "as.uv"; uw: "as.uw"; ux: "as.ux"; uy: "as.uy"; uz: "as.uz"; va: "as.va"; vb: "as.vb"; vc: "as.vc"; vd: "as.vd"; ve: "as.ve"; vf: "as.vf"; vg: "as.vg"; vh: "as.vh"; vi: "as.vi"; vj: "as.vj"; vk: "as.vk"; vl: "as.vl"; vm: "as.vm"; vn: "as.vn"; vo: "as.vo"; vp: "as.vp"; vq: "as.vq"; vr: "as.vr"; vs: "as.vs"; vt: "as.vt"; vu: "as.vu"; vv: "as.vv"; vw: "as.vw"; vx: "as.vx"; vy: "as.vy"; vz: "as.vz"; wa: "as.wa"; wb: "as.wb"; wc: "as.wc"; wd: "as.wd"; we: "as.we"; wf: "as.wf"; wg: "as.wg"; wh: "as.wh"; wi: "as.wi"; wj: "as.wj"; wk: "as.wk"; wl: "as.wl"; wm: "as.wm"; wn: "as.wn"; wo: "as.wo"; wp: "as.wp"; wq: "as.wq"; wr: "as.wr"; ws: "as.ws"; wt: "as.wt"; wu: "as.wu"; wv: "as.wv"; ww: "as.ww"; wx: "as.wx"; wy: "as.wy"; wz: "as.wz"; xa: "as.xa"; xb: "as.xb"; xc: "as.xc"; xd: "as.xd"; xe: "as.xe"; xf: "as.xf"; xg: "as.xg"; xh: "as.xh"; xi: "as.xi"; xj: "as.xj"; xk: "as.xk"; xl: "as.xl"; xm: "as.xm"; xn: "as.xn"; xo: "as.xo"; xp: "as.xp"; xq: "as.xq"; xr: "as.xr"; xs: "as.xs"; xt: "as.xt"; xu: "as.xu"; xv: "as.xv"; xw: "as.xw"; xx: "as.xx"; xy: "as.xy"; xz: "as.xz"; ya: "as.ya"; yb: "as.yb"; yc: "as.yc"; yd: "as.yd"; ye: "as.ye"; yf: "as.yf"; yg: "as.yg"; yh: "as.yh"; yi: "as.yi"; yj: "as.yj"; yk: "as.yk"; yl: "as.yl"; ym: "as.ym"; yn: "as.yn"; yo: "as.yo"; yp: "as.yp"; yq: "as.yq"; yr: "as.yr"; ys: "as.ys"; yt: "as.yt"; yu: "as.yu"; yv: "as.yv"; yw: "as.yw"; yx: "as.yx"; yy: "as.yy"; yz: "as.yz"; za: "as.za"; zb: "as.zb"; zc: "as.zc"; zd: "as.zd"; ze: "as.ze"; zf: "as.zf"; zg: "as.zg"; zh: "as.zh"; zi: "as.zi"; zj: "as.zj"; zk: "as.zk"; zl: "as.zl"; zm: "as.zm"; zn: "as.zn"; zo: "as.zo"; zp: "as.zp"; zq: "as.zq"; zr: "as.zr"; zs: "as.zs"; zt: "as.zt"; zu: "as.zu"; zv: "as.zv"; zw: "as.zw"; zx: "as.zx"; zy: "as.zy"; zz: "as.zz"; }; at: { aa: "at.aa"; ab: "at.ab"; ac: "at.ac"; ad: "at.ad"; ae: "at.ae"; af: "at.af"; ag: "at.ag"; ah: "at.ah"; ai: "at.ai"; aj: "at.aj"; ak: "at.ak"; al: "at.al"; am: "at.am"; an: "at.an"; ao: "at.ao"; ap: "at.ap"; aq: "at.aq"; ar: "at.ar"; as: "at.as"; at: "at.at"; au: "at.au"; av: "at.av"; aw: "at.aw"; ax: "at.ax"; ay: "at.ay"; az: "at.az"; ba: "at.ba"; bb: "at.bb"; bc: "at.bc"; bd: "at.bd"; be: "at.be"; bf: "at.bf"; bg: "at.bg"; bh: "at.bh"; bi: "at.bi"; bj: "at.bj"; bk: "at.bk"; bl: "at.bl"; bm: "at.bm"; bn: "at.bn"; bo: "at.bo"; bp: "at.bp"; bq: "at.bq"; br: "at.br"; bs: "at.bs"; bt: "at.bt"; bu: "at.bu"; bv: "at.bv"; bw: "at.bw"; bx: "at.bx"; by: "at.by"; bz: "at.bz"; ca: "at.ca"; cb: "at.cb"; cc: "at.cc"; cd: "at.cd"; ce: "at.ce"; cf: "at.cf"; cg: "at.cg"; ch: "at.ch"; ci: "at.ci"; cj: "at.cj"; ck: "at.ck"; cl: "at.cl"; cm: "at.cm"; cn: "at.cn"; co: "at.co"; cp: "at.cp"; cq: "at.cq"; cr: "at.cr"; cs: "at.cs"; ct: "at.ct"; cu: "at.cu"; cv: "at.cv"; cw: "at.cw"; cx: "at.cx"; cy: "at.cy"; cz: "at.cz"; da: "at.da"; db: "at.db"; dc: "at.dc"; dd: "at.dd"; de: "at.de"; df: "at.df"; dg: "at.dg"; dh: "at.dh"; di: "at.di"; dj: "at.dj"; dk: "at.dk"; dl: "at.dl"; dm: "at.dm"; dn: "at.dn"; do: "at.do"; dp: "at.dp"; dq: "at.dq"; dr: "at.dr"; ds: "at.ds"; dt: "at.dt"; du: "at.du"; dv: "at.dv"; dw: "at.dw"; dx: "at.dx"; dy: "at.dy"; dz: "at.dz"; ea: "at.ea"; eb: "at.eb"; ec: "at.ec"; ed: "at.ed"; ee: "at.ee"; ef: "at.ef"; eg: "at.eg"; eh: "at.eh"; ei: "at.ei"; ej: "at.ej"; ek: "at.ek"; el: "at.el"; em: "at.em"; en: "at.en"; eo: "at.eo"; ep: "at.ep"; eq: "at.eq"; er: "at.er"; es: "at.es"; et: "at.et"; eu: "at.eu"; ev: "at.ev"; ew: "at.ew"; ex: "at.ex"; ey: "at.ey"; ez: "at.ez"; fa: "at.fa"; fb: "at.fb"; fc: "at.fc"; fd: "at.fd"; fe: "at.fe"; ff: "at.ff"; fg: "at.fg"; fh: "at.fh"; fi: "at.fi"; fj: "at.fj"; fk: "at.fk"; fl: "at.fl"; fm: "at.fm"; fn: "at.fn"; fo: "at.fo"; fp: "at.fp"; fq: "at.fq"; fr: "at.fr"; fs: "at.fs"; ft: "at.ft"; fu: "at.fu"; fv: "at.fv"; fw: "at.fw"; fx: "at.fx"; fy: "at.fy"; fz: "at.fz"; ga: "at.ga"; gb: "at.gb"; gc: "at.gc"; gd: "at.gd"; ge: "at.ge"; gf: "at.gf"; gg: "at.gg"; gh: "at.gh"; gi: "at.gi"; gj: "at.gj"; gk: "at.gk"; gl: "at.gl"; gm: "at.gm"; gn: "at.gn"; go: "at.go"; gp: "at.gp"; gq: "at.gq"; gr: "at.gr"; gs: "at.gs"; gt: "at.gt"; gu: "at.gu"; gv: "at.gv"; gw: "at.gw"; gx: "at.gx"; gy: "at.gy"; gz: "at.gz"; ha: "at.ha"; hb: "at.hb"; hc: "at.hc"; hd: "at.hd"; he: "at.he"; hf: "at.hf"; hg: "at.hg"; hh: "at.hh"; hi: "at.hi"; hj: "at.hj"; hk: "at.hk"; hl: "at.hl"; hm: "at.hm"; hn: "at.hn"; ho: "at.ho"; hp: "at.hp"; hq: "at.hq"; hr: "at.hr"; hs: "at.hs"; ht: "at.ht"; hu: "at.hu"; hv: "at.hv"; hw: "at.hw"; hx: "at.hx"; hy: "at.hy"; hz: "at.hz"; ia: "at.ia"; ib: "at.ib"; ic: "at.ic"; id: "at.id"; ie: "at.ie"; if: "at.if"; ig: "at.ig"; ih: "at.ih"; ii: "at.ii"; ij: "at.ij"; ik: "at.ik"; il: "at.il"; im: "at.im"; in: "at.in"; io: "at.io"; ip: "at.ip"; iq: "at.iq"; ir: "at.ir"; is: "at.is"; it: "at.it"; iu: "at.iu"; iv: "at.iv"; iw: "at.iw"; ix: "at.ix"; iy: "at.iy"; iz: "at.iz"; ja: "at.ja"; jb: "at.jb"; jc: "at.jc"; jd: "at.jd"; je: "at.je"; jf: "at.jf"; jg: "at.jg"; jh: "at.jh"; ji: "at.ji"; jj: "at.jj"; jk: "at.jk"; jl: "at.jl"; jm: "at.jm"; jn: "at.jn"; jo: "at.jo"; jp: "at.jp"; jq: "at.jq"; jr: "at.jr"; js: "at.js"; jt: "at.jt"; ju: "at.ju"; jv: "at.jv"; jw: "at.jw"; jx: "at.jx"; jy: "at.jy"; jz: "at.jz"; ka: "at.ka"; kb: "at.kb"; kc: "at.kc"; kd: "at.kd"; ke: "at.ke"; kf: "at.kf"; kg: "at.kg"; kh: "at.kh"; ki: "at.ki"; kj: "at.kj"; kk: "at.kk"; kl: "at.kl"; km: "at.km"; kn: "at.kn"; ko: "at.ko"; kp: "at.kp"; kq: "at.kq"; kr: "at.kr"; ks: "at.ks"; kt: "at.kt"; ku: "at.ku"; kv: "at.kv"; kw: "at.kw"; kx: "at.kx"; ky: "at.ky"; kz: "at.kz"; la: "at.la"; lb: "at.lb"; lc: "at.lc"; ld: "at.ld"; le: "at.le"; lf: "at.lf"; lg: "at.lg"; lh: "at.lh"; li: "at.li"; lj: "at.lj"; lk: "at.lk"; ll: "at.ll"; lm: "at.lm"; ln: "at.ln"; lo: "at.lo"; lp: "at.lp"; lq: "at.lq"; lr: "at.lr"; ls: "at.ls"; lt: "at.lt"; lu: "at.lu"; lv: "at.lv"; lw: "at.lw"; lx: "at.lx"; ly: "at.ly"; lz: "at.lz"; ma: "at.ma"; mb: "at.mb"; mc: "at.mc"; md: "at.md"; me: "at.me"; mf: "at.mf"; mg: "at.mg"; mh: "at.mh"; mi: "at.mi"; mj: "at.mj"; mk: "at.mk"; ml: "at.ml"; mm: "at.mm"; mn: "at.mn"; mo: "at.mo"; mp: "at.mp"; mq: "at.mq"; mr: "at.mr"; ms: "at.ms"; mt: "at.mt"; mu: "at.mu"; mv: "at.mv"; mw: "at.mw"; mx: "at.mx"; my: "at.my"; mz: "at.mz"; na: "at.na"; nb: "at.nb"; nc: "at.nc"; nd: "at.nd"; ne: "at.ne"; nf: "at.nf"; ng: "at.ng"; nh: "at.nh"; ni: "at.ni"; nj: "at.nj"; nk: "at.nk"; nl: "at.nl"; nm: "at.nm"; nn: "at.nn"; no: "at.no"; np: "at.np"; nq: "at.nq"; nr: "at.nr"; ns: "at.ns"; nt: "at.nt"; nu: "at.nu"; nv: "at.nv"; nw: "at.nw"; nx: "at.nx"; ny: "at.ny"; nz: "at.nz"; oa: "at.oa"; ob: "at.ob"; oc: "at.oc"; od: "at.od"; oe: "at.oe"; of: "at.of"; og: "at.og"; oh: "at.oh"; oi: "at.oi"; oj: "at.oj"; ok: "at.ok"; ol: "at.ol"; om: "at.om"; on: "at.on"; oo: "at.oo"; op: "at.op"; oq: "at.oq"; or: "at.or"; os: "at.os"; ot: "at.ot"; ou: "at.ou"; ov: "at.ov"; ow: "at.ow"; ox: "at.ox"; oy: "at.oy"; oz: "at.oz"; pa: "at.pa"; pb: "at.pb"; pc: "at.pc"; pd: "at.pd"; pe: "at.pe"; pf: "at.pf"; pg: "at.pg"; ph: "at.ph"; pi: "at.pi"; pj: "at.pj"; pk: "at.pk"; pl: "at.pl"; pm: "at.pm"; pn: "at.pn"; po: "at.po"; pp: "at.pp"; pq: "at.pq"; pr: "at.pr"; ps: "at.ps"; pt: "at.pt"; pu: "at.pu"; pv: "at.pv"; pw: "at.pw"; px: "at.px"; py: "at.py"; pz: "at.pz"; qa: "at.qa"; qb: "at.qb"; qc: "at.qc"; qd: "at.qd"; qe: "at.qe"; qf: "at.qf"; qg: "at.qg"; qh: "at.qh"; qi: "at.qi"; qj: "at.qj"; qk: "at.qk"; ql: "at.ql"; qm: "at.qm"; qn: "at.qn"; qo: "at.qo"; qp: "at.qp"; qq: "at.qq"; qr: "at.qr"; qs: "at.qs"; qt: "at.qt"; qu: "at.qu"; qv: "at.qv"; qw: "at.qw"; qx: "at.qx"; qy: "at.qy"; qz: "at.qz"; ra: "at.ra"; rb: "at.rb"; rc: "at.rc"; rd: "at.rd"; re: "at.re"; rf: "at.rf"; rg: "at.rg"; rh: "at.rh"; ri: "at.ri"; rj: "at.rj"; rk: "at.rk"; rl: "at.rl"; rm: "at.rm"; rn: "at.rn"; ro: "at.ro"; rp: "at.rp"; rq: "at.rq"; rr: "at.rr"; rs: "at.rs"; rt: "at.rt"; ru: "at.ru"; rv: "at.rv"; rw: "at.rw"; rx: "at.rx"; ry: "at.ry"; rz: "at.rz"; sa: "at.sa"; sb: "at.sb"; sc: "at.sc"; sd: "at.sd"; se: "at.se"; sf: "at.sf"; sg: "at.sg"; sh: "at.sh"; si: "at.si"; sj: "at.sj"; sk: "at.sk"; sl: "at.sl"; sm: "at.sm"; sn: "at.sn"; so: "at.so"; sp: "at.sp"; sq: "at.sq"; sr: "at.sr"; ss: "at.ss"; st: "at.st"; su: "at.su"; sv: "at.sv"; sw: "at.sw"; sx: "at.sx"; sy: "at.sy"; sz: "at.sz"; ta: "at.ta"; tb: "at.tb"; tc: "at.tc"; td: "at.td"; te: "at.te"; tf: "at.tf"; tg: "at.tg"; th: "at.th"; ti: "at.ti"; tj: "at.tj"; tk: "at.tk"; tl: "at.tl"; tm: "at.tm"; tn: "at.tn"; to: "at.to"; tp: "at.tp"; tq: "at.tq"; tr: "at.tr"; ts: "at.ts"; tt: "at.tt"; tu: "at.tu"; tv: "at.tv"; tw: "at.tw"; tx: "at.tx"; ty: "at.ty"; tz: "at.tz"; ua: "at.ua"; ub: "at.ub"; uc: "at.uc"; ud: "at.ud"; ue: "at.ue"; uf: "at.uf"; ug: "at.ug"; uh: "at.uh"; ui: "at.ui"; uj: "at.uj"; uk: "at.uk"; ul: "at.ul"; um: "at.um"; un: "at.un"; uo: "at.uo"; up: "at.up"; uq: "at.uq"; ur: "at.ur"; us: "at.us"; ut: "at.ut"; uu: "at.uu"; uv: "at.uv"; uw: "at.uw"; ux: "at.ux"; uy: "at.uy"; uz: "at.uz"; va: "at.va"; vb: "at.vb"; vc: "at.vc"; vd: "at.vd"; ve: "at.ve"; vf: "at.vf"; vg: "at.vg"; vh: "at.vh"; vi: "at.vi"; vj: "at.vj"; vk: "at.vk"; vl: "at.vl"; vm: "at.vm"; vn: "at.vn"; vo: "at.vo"; vp: "at.vp"; vq: "at.vq"; vr: "at.vr"; vs: "at.vs"; vt: "at.vt"; vu: "at.vu"; vv: "at.vv"; vw: "at.vw"; vx: "at.vx"; vy: "at.vy"; vz: "at.vz"; wa: "at.wa"; wb: "at.wb"; wc: "at.wc"; wd: "at.wd"; we: "at.we"; wf: "at.wf"; wg: "at.wg"; wh: "at.wh"; wi: "at.wi"; wj: "at.wj"; wk: "at.wk"; wl: "at.wl"; wm: "at.wm"; wn: "at.wn"; wo: "at.wo"; wp: "at.wp"; wq: "at.wq"; wr: "at.wr"; ws: "at.ws"; wt: "at.wt"; wu: "at.wu"; wv: "at.wv"; ww: "at.ww"; wx: "at.wx"; wy: "at.wy"; wz: "at.wz"; xa: "at.xa"; xb: "at.xb"; xc: "at.xc"; xd: "at.xd"; xe: "at.xe"; xf: "at.xf"; xg: "at.xg"; xh: "at.xh"; xi: "at.xi"; xj: "at.xj"; xk: "at.xk"; xl: "at.xl"; xm: "at.xm"; xn: "at.xn"; xo: "at.xo"; xp: "at.xp"; xq: "at.xq"; xr: "at.xr"; xs: "at.xs"; xt: "at.xt"; xu: "at.xu"; xv: "at.xv"; xw: "at.xw"; xx: "at.xx"; xy: "at.xy"; xz: "at.xz"; ya: "at.ya"; yb: "at.yb"; yc: "at.yc"; yd: "at.yd"; ye: "at.ye"; yf: "at.yf"; yg: "at.yg"; yh: "at.yh"; yi: "at.yi"; yj: "at.yj"; yk: "at.yk"; yl: "at.yl"; ym: "at.ym"; yn: "at.yn"; yo: "at.yo"; yp: "at.yp"; yq: "at.yq"; yr: "at.yr"; ys: "at.ys"; yt: "at.yt"; yu: "at.yu"; yv: "at.yv"; yw: "at.yw"; yx: "at.yx"; yy: "at.yy"; yz: "at.yz"; za: "at.za"; zb: "at.zb"; zc: "at.zc"; zd: "at.zd"; ze: "at.ze"; zf: "at.zf"; zg: "at.zg"; zh: "at.zh"; zi: "at.zi"; zj: "at.zj"; zk: "at.zk"; zl: "at.zl"; zm: "at.zm"; zn: "at.zn"; zo: "at.zo"; zp: "at.zp"; zq: "at.zq"; zr: "at.zr"; zs: "at.zs"; zt: "at.zt"; zu: "at.zu"; zv: "at.zv"; zw: "at.zw"; zx: "at.zx"; zy: "at.zy"; zz: "at.zz"; }; au: { aa: "au.aa"; ab: "au.ab"; ac: "au.ac"; ad: "au.ad"; ae: "au.ae"; af: "au.af"; ag: "au.ag"; ah: "au.ah"; ai: "au.ai"; aj: "au.aj"; ak: "au.ak"; al: "au.al"; am: "au.am"; an: "au.an"; ao: "au.ao"; ap: "au.ap"; aq: "au.aq"; ar: "au.ar"; as: "au.as"; at: "au.at"; au: "au.au"; av: "au.av"; aw: "au.aw"; ax: "au.ax"; ay: "au.ay"; az: "au.az"; ba: "au.ba"; bb: "au.bb"; bc: "au.bc"; bd: "au.bd"; be: "au.be"; bf: "au.bf"; bg: "au.bg"; bh: "au.bh"; bi: "au.bi"; bj: "au.bj"; bk: "au.bk"; bl: "au.bl"; bm: "au.bm"; bn: "au.bn"; bo: "au.bo"; bp: "au.bp"; bq: "au.bq"; br: "au.br"; bs: "au.bs"; bt: "au.bt"; bu: "au.bu"; bv: "au.bv"; bw: "au.bw"; bx: "au.bx"; by: "au.by"; bz: "au.bz"; ca: "au.ca"; cb: "au.cb"; cc: "au.cc"; cd: "au.cd"; ce: "au.ce"; cf: "au.cf"; cg: "au.cg"; ch: "au.ch"; ci: "au.ci"; cj: "au.cj"; ck: "au.ck"; cl: "au.cl"; cm: "au.cm"; cn: "au.cn"; co: "au.co"; cp: "au.cp"; cq: "au.cq"; cr: "au.cr"; cs: "au.cs"; ct: "au.ct"; cu: "au.cu"; cv: "au.cv"; cw: "au.cw"; cx: "au.cx"; cy: "au.cy"; cz: "au.cz"; da: "au.da"; db: "au.db"; dc: "au.dc"; dd: "au.dd"; de: "au.de"; df: "au.df"; dg: "au.dg"; dh: "au.dh"; di: "au.di"; dj: "au.dj"; dk: "au.dk"; dl: "au.dl"; dm: "au.dm"; dn: "au.dn"; do: "au.do"; dp: "au.dp"; dq: "au.dq"; dr: "au.dr"; ds: "au.ds"; dt: "au.dt"; du: "au.du"; dv: "au.dv"; dw: "au.dw"; dx: "au.dx"; dy: "au.dy"; dz: "au.dz"; ea: "au.ea"; eb: "au.eb"; ec: "au.ec"; ed: "au.ed"; ee: "au.ee"; ef: "au.ef"; eg: "au.eg"; eh: "au.eh"; ei: "au.ei"; ej: "au.ej"; ek: "au.ek"; el: "au.el"; em: "au.em"; en: "au.en"; eo: "au.eo"; ep: "au.ep"; eq: "au.eq"; er: "au.er"; es: "au.es"; et: "au.et"; eu: "au.eu"; ev: "au.ev"; ew: "au.ew"; ex: "au.ex"; ey: "au.ey"; ez: "au.ez"; fa: "au.fa"; fb: "au.fb"; fc: "au.fc"; fd: "au.fd"; fe: "au.fe"; ff: "au.ff"; fg: "au.fg"; fh: "au.fh"; fi: "au.fi"; fj: "au.fj"; fk: "au.fk"; fl: "au.fl"; fm: "au.fm"; fn: "au.fn"; fo: "au.fo"; fp: "au.fp"; fq: "au.fq"; fr: "au.fr"; fs: "au.fs"; ft: "au.ft"; fu: "au.fu"; fv: "au.fv"; fw: "au.fw"; fx: "au.fx"; fy: "au.fy"; fz: "au.fz"; ga: "au.ga"; gb: "au.gb"; gc: "au.gc"; gd: "au.gd"; ge: "au.ge"; gf: "au.gf"; gg: "au.gg"; gh: "au.gh"; gi: "au.gi"; gj: "au.gj"; gk: "au.gk"; gl: "au.gl"; gm: "au.gm"; gn: "au.gn"; go: "au.go"; gp: "au.gp"; gq: "au.gq"; gr: "au.gr"; gs: "au.gs"; gt: "au.gt"; gu: "au.gu"; gv: "au.gv"; gw: "au.gw"; gx: "au.gx"; gy: "au.gy"; gz: "au.gz"; ha: "au.ha"; hb: "au.hb"; hc: "au.hc"; hd: "au.hd"; he: "au.he"; hf: "au.hf"; hg: "au.hg"; hh: "au.hh"; hi: "au.hi"; hj: "au.hj"; hk: "au.hk"; hl: "au.hl"; hm: "au.hm"; hn: "au.hn"; ho: "au.ho"; hp: "au.hp"; hq: "au.hq"; hr: "au.hr"; hs: "au.hs"; ht: "au.ht"; hu: "au.hu"; hv: "au.hv"; hw: "au.hw"; hx: "au.hx"; hy: "au.hy"; hz: "au.hz"; ia: "au.ia"; ib: "au.ib"; ic: "au.ic"; id: "au.id"; ie: "au.ie"; if: "au.if"; ig: "au.ig"; ih: "au.ih"; ii: "au.ii"; ij: "au.ij"; ik: "au.ik"; il: "au.il"; im: "au.im"; in: "au.in"; io: "au.io"; ip: "au.ip"; iq: "au.iq"; ir: "au.ir"; is: "au.is"; it: "au.it"; iu: "au.iu"; iv: "au.iv"; iw: "au.iw"; ix: "au.ix"; iy: "au.iy"; iz: "au.iz"; ja: "au.ja"; jb: "au.jb"; jc: "au.jc"; jd: "au.jd"; je: "au.je"; jf: "au.jf"; jg: "au.jg"; jh: "au.jh"; ji: "au.ji"; jj: "au.jj"; jk: "au.jk"; jl: "au.jl"; jm: "au.jm"; jn: "au.jn"; jo: "au.jo"; jp: "au.jp"; jq: "au.jq"; jr: "au.jr"; js: "au.js"; jt: "au.jt"; ju: "au.ju"; jv: "au.jv"; jw: "au.jw"; jx: "au.jx"; jy: "au.jy"; jz: "au.jz"; ka: "au.ka"; kb: "au.kb"; kc: "au.kc"; kd: "au.kd"; ke: "au.ke"; kf: "au.kf"; kg: "au.kg"; kh: "au.kh"; ki: "au.ki"; kj: "au.kj"; kk: "au.kk"; kl: "au.kl"; km: "au.km"; kn: "au.kn"; ko: "au.ko"; kp: "au.kp"; kq: "au.kq"; kr: "au.kr"; ks: "au.ks"; kt: "au.kt"; ku: "au.ku"; kv: "au.kv"; kw: "au.kw"; kx: "au.kx"; ky: "au.ky"; kz: "au.kz"; la: "au.la"; lb: "au.lb"; lc: "au.lc"; ld: "au.ld"; le: "au.le"; lf: "au.lf"; lg: "au.lg"; lh: "au.lh"; li: "au.li"; lj: "au.lj"; lk: "au.lk"; ll: "au.ll"; lm: "au.lm"; ln: "au.ln"; lo: "au.lo"; lp: "au.lp"; lq: "au.lq"; lr: "au.lr"; ls: "au.ls"; lt: "au.lt"; lu: "au.lu"; lv: "au.lv"; lw: "au.lw"; lx: "au.lx"; ly: "au.ly"; lz: "au.lz"; ma: "au.ma"; mb: "au.mb"; mc: "au.mc"; md: "au.md"; me: "au.me"; mf: "au.mf"; mg: "au.mg"; mh: "au.mh"; mi: "au.mi"; mj: "au.mj"; mk: "au.mk"; ml: "au.ml"; mm: "au.mm"; mn: "au.mn"; mo: "au.mo"; mp: "au.mp"; mq: "au.mq"; mr: "au.mr"; ms: "au.ms"; mt: "au.mt"; mu: "au.mu"; mv: "au.mv"; mw: "au.mw"; mx: "au.mx"; my: "au.my"; mz: "au.mz"; na: "au.na"; nb: "au.nb"; nc: "au.nc"; nd: "au.nd"; ne: "au.ne"; nf: "au.nf"; ng: "au.ng"; nh: "au.nh"; ni: "au.ni"; nj: "au.nj"; nk: "au.nk"; nl: "au.nl"; nm: "au.nm"; nn: "au.nn"; no: "au.no"; np: "au.np"; nq: "au.nq"; nr: "au.nr"; ns: "au.ns"; nt: "au.nt"; nu: "au.nu"; nv: "au.nv"; nw: "au.nw"; nx: "au.nx"; ny: "au.ny"; nz: "au.nz"; oa: "au.oa"; ob: "au.ob"; oc: "au.oc"; od: "au.od"; oe: "au.oe"; of: "au.of"; og: "au.og"; oh: "au.oh"; oi: "au.oi"; oj: "au.oj"; ok: "au.ok"; ol: "au.ol"; om: "au.om"; on: "au.on"; oo: "au.oo"; op: "au.op"; oq: "au.oq"; or: "au.or"; os: "au.os"; ot: "au.ot"; ou: "au.ou"; ov: "au.ov"; ow: "au.ow"; ox: "au.ox"; oy: "au.oy"; oz: "au.oz"; pa: "au.pa"; pb: "au.pb"; pc: "au.pc"; pd: "au.pd"; pe: "au.pe"; pf: "au.pf"; pg: "au.pg"; ph: "au.ph"; pi: "au.pi"; pj: "au.pj"; pk: "au.pk"; pl: "au.pl"; pm: "au.pm"; pn: "au.pn"; po: "au.po"; pp: "au.pp"; pq: "au.pq"; pr: "au.pr"; ps: "au.ps"; pt: "au.pt"; pu: "au.pu"; pv: "au.pv"; pw: "au.pw"; px: "au.px"; py: "au.py"; pz: "au.pz"; qa: "au.qa"; qb: "au.qb"; qc: "au.qc"; qd: "au.qd"; qe: "au.qe"; qf: "au.qf"; qg: "au.qg"; qh: "au.qh"; qi: "au.qi"; qj: "au.qj"; qk: "au.qk"; ql: "au.ql"; qm: "au.qm"; qn: "au.qn"; qo: "au.qo"; qp: "au.qp"; qq: "au.qq"; qr: "au.qr"; qs: "au.qs"; qt: "au.qt"; qu: "au.qu"; qv: "au.qv"; qw: "au.qw"; qx: "au.qx"; qy: "au.qy"; qz: "au.qz"; ra: "au.ra"; rb: "au.rb"; rc: "au.rc"; rd: "au.rd"; re: "au.re"; rf: "au.rf"; rg: "au.rg"; rh: "au.rh"; ri: "au.ri"; rj: "au.rj"; rk: "au.rk"; rl: "au.rl"; rm: "au.rm"; rn: "au.rn"; ro: "au.ro"; rp: "au.rp"; rq: "au.rq"; rr: "au.rr"; rs: "au.rs"; rt: "au.rt"; ru: "au.ru"; rv: "au.rv"; rw: "au.rw"; rx: "au.rx"; ry: "au.ry"; rz: "au.rz"; sa: "au.sa"; sb: "au.sb"; sc: "au.sc"; sd: "au.sd"; se: "au.se"; sf: "au.sf"; sg: "au.sg"; sh: "au.sh"; si: "au.si"; sj: "au.sj"; sk: "au.sk"; sl: "au.sl"; sm: "au.sm"; sn: "au.sn"; so: "au.so"; sp: "au.sp"; sq: "au.sq"; sr: "au.sr"; ss: "au.ss"; st: "au.st"; su: "au.su"; sv: "au.sv"; sw: "au.sw"; sx: "au.sx"; sy: "au.sy"; sz: "au.sz"; ta: "au.ta"; tb: "au.tb"; tc: "au.tc"; td: "au.td"; te: "au.te"; tf: "au.tf"; tg: "au.tg"; th: "au.th"; ti: "au.ti"; tj: "au.tj"; tk: "au.tk"; tl: "au.tl"; tm: "au.tm"; tn: "au.tn"; to: "au.to"; tp: "au.tp"; tq: "au.tq"; tr: "au.tr"; ts: "au.ts"; tt: "au.tt"; tu: "au.tu"; tv: "au.tv"; tw: "au.tw"; tx: "au.tx"; ty: "au.ty"; tz: "au.tz"; ua: "au.ua"; ub: "au.ub"; uc: "au.uc"; ud: "au.ud"; ue: "au.ue"; uf: "au.uf"; ug: "au.ug"; uh: "au.uh"; ui: "au.ui"; uj: "au.uj"; uk: "au.uk"; ul: "au.ul"; um: "au.um"; un: "au.un"; uo: "au.uo"; up: "au.up"; uq: "au.uq"; ur: "au.ur"; us: "au.us"; ut: "au.ut"; uu: "au.uu"; uv: "au.uv"; uw: "au.uw"; ux: "au.ux"; uy: "au.uy"; uz: "au.uz"; va: "au.va"; vb: "au.vb"; vc: "au.vc"; vd: "au.vd"; ve: "au.ve"; vf: "au.vf"; vg: "au.vg"; vh: "au.vh"; vi: "au.vi"; vj: "au.vj"; vk: "au.vk"; vl: "au.vl"; vm: "au.vm"; vn: "au.vn"; vo: "au.vo"; vp: "au.vp"; vq: "au.vq"; vr: "au.vr"; vs: "au.vs"; vt: "au.vt"; vu: "au.vu"; vv: "au.vv"; vw: "au.vw"; vx: "au.vx"; vy: "au.vy"; vz: "au.vz"; wa: "au.wa"; wb: "au.wb"; wc: "au.wc"; wd: "au.wd"; we: "au.we"; wf: "au.wf"; wg: "au.wg"; wh: "au.wh"; wi: "au.wi"; wj: "au.wj"; wk: "au.wk"; wl: "au.wl"; wm: "au.wm"; wn: "au.wn"; wo: "au.wo"; wp: "au.wp"; wq: "au.wq"; wr: "au.wr"; ws: "au.ws"; wt: "au.wt"; wu: "au.wu"; wv: "au.wv"; ww: "au.ww"; wx: "au.wx"; wy: "au.wy"; wz: "au.wz"; xa: "au.xa"; xb: "au.xb"; xc: "au.xc"; xd: "au.xd"; xe: "au.xe"; xf: "au.xf"; xg: "au.xg"; xh: "au.xh"; xi: "au.xi"; xj: "au.xj"; xk: "au.xk"; xl: "au.xl"; xm: "au.xm"; xn: "au.xn"; xo: "au.xo"; xp: "au.xp"; xq: "au.xq"; xr: "au.xr"; xs: "au.xs"; xt: "au.xt"; xu: "au.xu"; xv: "au.xv"; xw: "au.xw"; xx: "au.xx"; xy: "au.xy"; xz: "au.xz"; ya: "au.ya"; yb: "au.yb"; yc: "au.yc"; yd: "au.yd"; ye: "au.ye"; yf: "au.yf"; yg: "au.yg"; yh: "au.yh"; yi: "au.yi"; yj: "au.yj"; yk: "au.yk"; yl: "au.yl"; ym: "au.ym"; yn: "au.yn"; yo: "au.yo"; yp: "au.yp"; yq: "au.yq"; yr: "au.yr"; ys: "au.ys"; yt: "au.yt"; yu: "au.yu"; yv: "au.yv"; yw: "au.yw"; yx: "au.yx"; yy: "au.yy"; yz: "au.yz"; za: "au.za"; zb: "au.zb"; zc: "au.zc"; zd: "au.zd"; ze: "au.ze"; zf: "au.zf"; zg: "au.zg"; zh: "au.zh"; zi: "au.zi"; zj: "au.zj"; zk: "au.zk"; zl: "au.zl"; zm: "au.zm"; zn: "au.zn"; zo: "au.zo"; zp: "au.zp"; zq: "au.zq"; zr: "au.zr"; zs: "au.zs"; zt: "au.zt"; zu: "au.zu"; zv: "au.zv"; zw: "au.zw"; zx: "au.zx"; zy: "au.zy"; zz: "au.zz"; }; av: { aa: "av.aa"; ab: "av.ab"; ac: "av.ac"; ad: "av.ad"; ae: "av.ae"; af: "av.af"; ag: "av.ag"; ah: "av.ah"; ai: "av.ai"; aj: "av.aj"; ak: "av.ak"; al: "av.al"; am: "av.am"; an: "av.an"; ao: "av.ao"; ap: "av.ap"; aq: "av.aq"; ar: "av.ar"; as: "av.as"; at: "av.at"; au: "av.au"; av: "av.av"; aw: "av.aw"; ax: "av.ax"; ay: "av.ay"; az: "av.az"; ba: "av.ba"; bb: "av.bb"; bc: "av.bc"; bd: "av.bd"; be: "av.be"; bf: "av.bf"; bg: "av.bg"; bh: "av.bh"; bi: "av.bi"; bj: "av.bj"; bk: "av.bk"; bl: "av.bl"; bm: "av.bm"; bn: "av.bn"; bo: "av.bo"; bp: "av.bp"; bq: "av.bq"; br: "av.br"; bs: "av.bs"; bt: "av.bt"; bu: "av.bu"; bv: "av.bv"; bw: "av.bw"; bx: "av.bx"; by: "av.by"; bz: "av.bz"; ca: "av.ca"; cb: "av.cb"; cc: "av.cc"; cd: "av.cd"; ce: "av.ce"; cf: "av.cf"; cg: "av.cg"; ch: "av.ch"; ci: "av.ci"; cj: "av.cj"; ck: "av.ck"; cl: "av.cl"; cm: "av.cm"; cn: "av.cn"; co: "av.co"; cp: "av.cp"; cq: "av.cq"; cr: "av.cr"; cs: "av.cs"; ct: "av.ct"; cu: "av.cu"; cv: "av.cv"; cw: "av.cw"; cx: "av.cx"; cy: "av.cy"; cz: "av.cz"; da: "av.da"; db: "av.db"; dc: "av.dc"; dd: "av.dd"; de: "av.de"; df: "av.df"; dg: "av.dg"; dh: "av.dh"; di: "av.di"; dj: "av.dj"; dk: "av.dk"; dl: "av.dl"; dm: "av.dm"; dn: "av.dn"; do: "av.do"; dp: "av.dp"; dq: "av.dq"; dr: "av.dr"; ds: "av.ds"; dt: "av.dt"; du: "av.du"; dv: "av.dv"; dw: "av.dw"; dx: "av.dx"; dy: "av.dy"; dz: "av.dz"; ea: "av.ea"; eb: "av.eb"; ec: "av.ec"; ed: "av.ed"; ee: "av.ee"; ef: "av.ef"; eg: "av.eg"; eh: "av.eh"; ei: "av.ei"; ej: "av.ej"; ek: "av.ek"; el: "av.el"; em: "av.em"; en: "av.en"; eo: "av.eo"; ep: "av.ep"; eq: "av.eq"; er: "av.er"; es: "av.es"; et: "av.et"; eu: "av.eu"; ev: "av.ev"; ew: "av.ew"; ex: "av.ex"; ey: "av.ey"; ez: "av.ez"; fa: "av.fa"; fb: "av.fb"; fc: "av.fc"; fd: "av.fd"; fe: "av.fe"; ff: "av.ff"; fg: "av.fg"; fh: "av.fh"; fi: "av.fi"; fj: "av.fj"; fk: "av.fk"; fl: "av.fl"; fm: "av.fm"; fn: "av.fn"; fo: "av.fo"; fp: "av.fp"; fq: "av.fq"; fr: "av.fr"; fs: "av.fs"; ft: "av.ft"; fu: "av.fu"; fv: "av.fv"; fw: "av.fw"; fx: "av.fx"; fy: "av.fy"; fz: "av.fz"; ga: "av.ga"; gb: "av.gb"; gc: "av.gc"; gd: "av.gd"; ge: "av.ge"; gf: "av.gf"; gg: "av.gg"; gh: "av.gh"; gi: "av.gi"; gj: "av.gj"; gk: "av.gk"; gl: "av.gl"; gm: "av.gm"; gn: "av.gn"; go: "av.go"; gp: "av.gp"; gq: "av.gq"; gr: "av.gr"; gs: "av.gs"; gt: "av.gt"; gu: "av.gu"; gv: "av.gv"; gw: "av.gw"; gx: "av.gx"; gy: "av.gy"; gz: "av.gz"; ha: "av.ha"; hb: "av.hb"; hc: "av.hc"; hd: "av.hd"; he: "av.he"; hf: "av.hf"; hg: "av.hg"; hh: "av.hh"; hi: "av.hi"; hj: "av.hj"; hk: "av.hk"; hl: "av.hl"; hm: "av.hm"; hn: "av.hn"; ho: "av.ho"; hp: "av.hp"; hq: "av.hq"; hr: "av.hr"; hs: "av.hs"; ht: "av.ht"; hu: "av.hu"; hv: "av.hv"; hw: "av.hw"; hx: "av.hx"; hy: "av.hy"; hz: "av.hz"; ia: "av.ia"; ib: "av.ib"; ic: "av.ic"; id: "av.id"; ie: "av.ie"; if: "av.if"; ig: "av.ig"; ih: "av.ih"; ii: "av.ii"; ij: "av.ij"; ik: "av.ik"; il: "av.il"; im: "av.im"; in: "av.in"; io: "av.io"; ip: "av.ip"; iq: "av.iq"; ir: "av.ir"; is: "av.is"; it: "av.it"; iu: "av.iu"; iv: "av.iv"; iw: "av.iw"; ix: "av.ix"; iy: "av.iy"; iz: "av.iz"; ja: "av.ja"; jb: "av.jb"; jc: "av.jc"; jd: "av.jd"; je: "av.je"; jf: "av.jf"; jg: "av.jg"; jh: "av.jh"; ji: "av.ji"; jj: "av.jj"; jk: "av.jk"; jl: "av.jl"; jm: "av.jm"; jn: "av.jn"; jo: "av.jo"; jp: "av.jp"; jq: "av.jq"; jr: "av.jr"; js: "av.js"; jt: "av.jt"; ju: "av.ju"; jv: "av.jv"; jw: "av.jw"; jx: "av.jx"; jy: "av.jy"; jz: "av.jz"; ka: "av.ka"; kb: "av.kb"; kc: "av.kc"; kd: "av.kd"; ke: "av.ke"; kf: "av.kf"; kg: "av.kg"; kh: "av.kh"; ki: "av.ki"; kj: "av.kj"; kk: "av.kk"; kl: "av.kl"; km: "av.km"; kn: "av.kn"; ko: "av.ko"; kp: "av.kp"; kq: "av.kq"; kr: "av.kr"; ks: "av.ks"; kt: "av.kt"; ku: "av.ku"; kv: "av.kv"; kw: "av.kw"; kx: "av.kx"; ky: "av.ky"; kz: "av.kz"; la: "av.la"; lb: "av.lb"; lc: "av.lc"; ld: "av.ld"; le: "av.le"; lf: "av.lf"; lg: "av.lg"; lh: "av.lh"; li: "av.li"; lj: "av.lj"; lk: "av.lk"; ll: "av.ll"; lm: "av.lm"; ln: "av.ln"; lo: "av.lo"; lp: "av.lp"; lq: "av.lq"; lr: "av.lr"; ls: "av.ls"; lt: "av.lt"; lu: "av.lu"; lv: "av.lv"; lw: "av.lw"; lx: "av.lx"; ly: "av.ly"; lz: "av.lz"; ma: "av.ma"; mb: "av.mb"; mc: "av.mc"; md: "av.md"; me: "av.me"; mf: "av.mf"; mg: "av.mg"; mh: "av.mh"; mi: "av.mi"; mj: "av.mj"; mk: "av.mk"; ml: "av.ml"; mm: "av.mm"; mn: "av.mn"; mo: "av.mo"; mp: "av.mp"; mq: "av.mq"; mr: "av.mr"; ms: "av.ms"; mt: "av.mt"; mu: "av.mu"; mv: "av.mv"; mw: "av.mw"; mx: "av.mx"; my: "av.my"; mz: "av.mz"; na: "av.na"; nb: "av.nb"; nc: "av.nc"; nd: "av.nd"; ne: "av.ne"; nf: "av.nf"; ng: "av.ng"; nh: "av.nh"; ni: "av.ni"; nj: "av.nj"; nk: "av.nk"; nl: "av.nl"; nm: "av.nm"; nn: "av.nn"; no: "av.no"; np: "av.np"; nq: "av.nq"; nr: "av.nr"; ns: "av.ns"; nt: "av.nt"; nu: "av.nu"; nv: "av.nv"; nw: "av.nw"; nx: "av.nx"; ny: "av.ny"; nz: "av.nz"; oa: "av.oa"; ob: "av.ob"; oc: "av.oc"; od: "av.od"; oe: "av.oe"; of: "av.of"; og: "av.og"; oh: "av.oh"; oi: "av.oi"; oj: "av.oj"; ok: "av.ok"; ol: "av.ol"; om: "av.om"; on: "av.on"; oo: "av.oo"; op: "av.op"; oq: "av.oq"; or: "av.or"; os: "av.os"; ot: "av.ot"; ou: "av.ou"; ov: "av.ov"; ow: "av.ow"; ox: "av.ox"; oy: "av.oy"; oz: "av.oz"; pa: "av.pa"; pb: "av.pb"; pc: "av.pc"; pd: "av.pd"; pe: "av.pe"; pf: "av.pf"; pg: "av.pg"; ph: "av.ph"; pi: "av.pi"; pj: "av.pj"; pk: "av.pk"; pl: "av.pl"; pm: "av.pm"; pn: "av.pn"; po: "av.po"; pp: "av.pp"; pq: "av.pq"; pr: "av.pr"; ps: "av.ps"; pt: "av.pt"; pu: "av.pu"; pv: "av.pv"; pw: "av.pw"; px: "av.px"; py: "av.py"; pz: "av.pz"; qa: "av.qa"; qb: "av.qb"; qc: "av.qc"; qd: "av.qd"; qe: "av.qe"; qf: "av.qf"; qg: "av.qg"; qh: "av.qh"; qi: "av.qi"; qj: "av.qj"; qk: "av.qk"; ql: "av.ql"; qm: "av.qm"; qn: "av.qn"; qo: "av.qo"; qp: "av.qp"; qq: "av.qq"; qr: "av.qr"; qs: "av.qs"; qt: "av.qt"; qu: "av.qu"; qv: "av.qv"; qw: "av.qw"; qx: "av.qx"; qy: "av.qy"; qz: "av.qz"; ra: "av.ra"; rb: "av.rb"; rc: "av.rc"; rd: "av.rd"; re: "av.re"; rf: "av.rf"; rg: "av.rg"; rh: "av.rh"; ri: "av.ri"; rj: "av.rj"; rk: "av.rk"; rl: "av.rl"; rm: "av.rm"; rn: "av.rn"; ro: "av.ro"; rp: "av.rp"; rq: "av.rq"; rr: "av.rr"; rs: "av.rs"; rt: "av.rt"; ru: "av.ru"; rv: "av.rv"; rw: "av.rw"; rx: "av.rx"; ry: "av.ry"; rz: "av.rz"; sa: "av.sa"; sb: "av.sb"; sc: "av.sc"; sd: "av.sd"; se: "av.se"; sf: "av.sf"; sg: "av.sg"; sh: "av.sh"; si: "av.si"; sj: "av.sj"; sk: "av.sk"; sl: "av.sl"; sm: "av.sm"; sn: "av.sn"; so: "av.so"; sp: "av.sp"; sq: "av.sq"; sr: "av.sr"; ss: "av.ss"; st: "av.st"; su: "av.su"; sv: "av.sv"; sw: "av.sw"; sx: "av.sx"; sy: "av.sy"; sz: "av.sz"; ta: "av.ta"; tb: "av.tb"; tc: "av.tc"; td: "av.td"; te: "av.te"; tf: "av.tf"; tg: "av.tg"; th: "av.th"; ti: "av.ti"; tj: "av.tj"; tk: "av.tk"; tl: "av.tl"; tm: "av.tm"; tn: "av.tn"; to: "av.to"; tp: "av.tp"; tq: "av.tq"; tr: "av.tr"; ts: "av.ts"; tt: "av.tt"; tu: "av.tu"; tv: "av.tv"; tw: "av.tw"; tx: "av.tx"; ty: "av.ty"; tz: "av.tz"; ua: "av.ua"; ub: "av.ub"; uc: "av.uc"; ud: "av.ud"; ue: "av.ue"; uf: "av.uf"; ug: "av.ug"; uh: "av.uh"; ui: "av.ui"; uj: "av.uj"; uk: "av.uk"; ul: "av.ul"; um: "av.um"; un: "av.un"; uo: "av.uo"; up: "av.up"; uq: "av.uq"; ur: "av.ur"; us: "av.us"; ut: "av.ut"; uu: "av.uu"; uv: "av.uv"; uw: "av.uw"; ux: "av.ux"; uy: "av.uy"; uz: "av.uz"; va: "av.va"; vb: "av.vb"; vc: "av.vc"; vd: "av.vd"; ve: "av.ve"; vf: "av.vf"; vg: "av.vg"; vh: "av.vh"; vi: "av.vi"; vj: "av.vj"; vk: "av.vk"; vl: "av.vl"; vm: "av.vm"; vn: "av.vn"; vo: "av.vo"; vp: "av.vp"; vq: "av.vq"; vr: "av.vr"; vs: "av.vs"; vt: "av.vt"; vu: "av.vu"; vv: "av.vv"; vw: "av.vw"; vx: "av.vx"; vy: "av.vy"; vz: "av.vz"; wa: "av.wa"; wb: "av.wb"; wc: "av.wc"; wd: "av.wd"; we: "av.we"; wf: "av.wf"; wg: "av.wg"; wh: "av.wh"; wi: "av.wi"; wj: "av.wj"; wk: "av.wk"; wl: "av.wl"; wm: "av.wm"; wn: "av.wn"; wo: "av.wo"; wp: "av.wp"; wq: "av.wq"; wr: "av.wr"; ws: "av.ws"; wt: "av.wt"; wu: "av.wu"; wv: "av.wv"; ww: "av.ww"; wx: "av.wx"; wy: "av.wy"; wz: "av.wz"; xa: "av.xa"; xb: "av.xb"; xc: "av.xc"; xd: "av.xd"; xe: "av.xe"; xf: "av.xf"; xg: "av.xg"; xh: "av.xh"; xi: "av.xi"; xj: "av.xj"; xk: "av.xk"; xl: "av.xl"; xm: "av.xm"; xn: "av.xn"; xo: "av.xo"; xp: "av.xp"; xq: "av.xq"; xr: "av.xr"; xs: "av.xs"; xt: "av.xt"; xu: "av.xu"; xv: "av.xv"; xw: "av.xw"; xx: "av.xx"; xy: "av.xy"; xz: "av.xz"; ya: "av.ya"; yb: "av.yb"; yc: "av.yc"; yd: "av.yd"; ye: "av.ye"; yf: "av.yf"; yg: "av.yg"; yh: "av.yh"; yi: "av.yi"; yj: "av.yj"; yk: "av.yk"; yl: "av.yl"; ym: "av.ym"; yn: "av.yn"; yo: "av.yo"; yp: "av.yp"; yq: "av.yq"; yr: "av.yr"; ys: "av.ys"; yt: "av.yt"; yu: "av.yu"; yv: "av.yv"; yw: "av.yw"; yx: "av.yx"; yy: "av.yy"; yz: "av.yz"; za: "av.za"; zb: "av.zb"; zc: "av.zc"; zd: "av.zd"; ze: "av.ze"; zf: "av.zf"; zg: "av.zg"; zh: "av.zh"; zi: "av.zi"; zj: "av.zj"; zk: "av.zk"; zl: "av.zl"; zm: "av.zm"; zn: "av.zn"; zo: "av.zo"; zp: "av.zp"; zq: "av.zq"; zr: "av.zr"; zs: "av.zs"; zt: "av.zt"; zu: "av.zu"; zv: "av.zv"; zw: "av.zw"; zx: "av.zx"; zy: "av.zy"; zz: "av.zz"; }; aw: { aa: "aw.aa"; ab: "aw.ab"; ac: "aw.ac"; ad: "aw.ad"; ae: "aw.ae"; af: "aw.af"; ag: "aw.ag"; ah: "aw.ah"; ai: "aw.ai"; aj: "aw.aj"; ak: "aw.ak"; al: "aw.al"; am: "aw.am"; an: "aw.an"; ao: "aw.ao"; ap: "aw.ap"; aq: "aw.aq"; ar: "aw.ar"; as: "aw.as"; at: "aw.at"; au: "aw.au"; av: "aw.av"; aw: "aw.aw"; ax: "aw.ax"; ay: "aw.ay"; az: "aw.az"; ba: "aw.ba"; bb: "aw.bb"; bc: "aw.bc"; bd: "aw.bd"; be: "aw.be"; bf: "aw.bf"; bg: "aw.bg"; bh: "aw.bh"; bi: "aw.bi"; bj: "aw.bj"; bk: "aw.bk"; bl: "aw.bl"; bm: "aw.bm"; bn: "aw.bn"; bo: "aw.bo"; bp: "aw.bp"; bq: "aw.bq"; br: "aw.br"; bs: "aw.bs"; bt: "aw.bt"; bu: "aw.bu"; bv: "aw.bv"; bw: "aw.bw"; bx: "aw.bx"; by: "aw.by"; bz: "aw.bz"; ca: "aw.ca"; cb: "aw.cb"; cc: "aw.cc"; cd: "aw.cd"; ce: "aw.ce"; cf: "aw.cf"; cg: "aw.cg"; ch: "aw.ch"; ci: "aw.ci"; cj: "aw.cj"; ck: "aw.ck"; cl: "aw.cl"; cm: "aw.cm"; cn: "aw.cn"; co: "aw.co"; cp: "aw.cp"; cq: "aw.cq"; cr: "aw.cr"; cs: "aw.cs"; ct: "aw.ct"; cu: "aw.cu"; cv: "aw.cv"; cw: "aw.cw"; cx: "aw.cx"; cy: "aw.cy"; cz: "aw.cz"; da: "aw.da"; db: "aw.db"; dc: "aw.dc"; dd: "aw.dd"; de: "aw.de"; df: "aw.df"; dg: "aw.dg"; dh: "aw.dh"; di: "aw.di"; dj: "aw.dj"; dk: "aw.dk"; dl: "aw.dl"; dm: "aw.dm"; dn: "aw.dn"; do: "aw.do"; dp: "aw.dp"; dq: "aw.dq"; dr: "aw.dr"; ds: "aw.ds"; dt: "aw.dt"; du: "aw.du"; dv: "aw.dv"; dw: "aw.dw"; dx: "aw.dx"; dy: "aw.dy"; dz: "aw.dz"; ea: "aw.ea"; eb: "aw.eb"; ec: "aw.ec"; ed: "aw.ed"; ee: "aw.ee"; ef: "aw.ef"; eg: "aw.eg"; eh: "aw.eh"; ei: "aw.ei"; ej: "aw.ej"; ek: "aw.ek"; el: "aw.el"; em: "aw.em"; en: "aw.en"; eo: "aw.eo"; ep: "aw.ep"; eq: "aw.eq"; er: "aw.er"; es: "aw.es"; et: "aw.et"; eu: "aw.eu"; ev: "aw.ev"; ew: "aw.ew"; ex: "aw.ex"; ey: "aw.ey"; ez: "aw.ez"; fa: "aw.fa"; fb: "aw.fb"; fc: "aw.fc"; fd: "aw.fd"; fe: "aw.fe"; ff: "aw.ff"; fg: "aw.fg"; fh: "aw.fh"; fi: "aw.fi"; fj: "aw.fj"; fk: "aw.fk"; fl: "aw.fl"; fm: "aw.fm"; fn: "aw.fn"; fo: "aw.fo"; fp: "aw.fp"; fq: "aw.fq"; fr: "aw.fr"; fs: "aw.fs"; ft: "aw.ft"; fu: "aw.fu"; fv: "aw.fv"; fw: "aw.fw"; fx: "aw.fx"; fy: "aw.fy"; fz: "aw.fz"; ga: "aw.ga"; gb: "aw.gb"; gc: "aw.gc"; gd: "aw.gd"; ge: "aw.ge"; gf: "aw.gf"; gg: "aw.gg"; gh: "aw.gh"; gi: "aw.gi"; gj: "aw.gj"; gk: "aw.gk"; gl: "aw.gl"; gm: "aw.gm"; gn: "aw.gn"; go: "aw.go"; gp: "aw.gp"; gq: "aw.gq"; gr: "aw.gr"; gs: "aw.gs"; gt: "aw.gt"; gu: "aw.gu"; gv: "aw.gv"; gw: "aw.gw"; gx: "aw.gx"; gy: "aw.gy"; gz: "aw.gz"; ha: "aw.ha"; hb: "aw.hb"; hc: "aw.hc"; hd: "aw.hd"; he: "aw.he"; hf: "aw.hf"; hg: "aw.hg"; hh: "aw.hh"; hi: "aw.hi"; hj: "aw.hj"; hk: "aw.hk"; hl: "aw.hl"; hm: "aw.hm"; hn: "aw.hn"; ho: "aw.ho"; hp: "aw.hp"; hq: "aw.hq"; hr: "aw.hr"; hs: "aw.hs"; ht: "aw.ht"; hu: "aw.hu"; hv: "aw.hv"; hw: "aw.hw"; hx: "aw.hx"; hy: "aw.hy"; hz: "aw.hz"; ia: "aw.ia"; ib: "aw.ib"; ic: "aw.ic"; id: "aw.id"; ie: "aw.ie"; if: "aw.if"; ig: "aw.ig"; ih: "aw.ih"; ii: "aw.ii"; ij: "aw.ij"; ik: "aw.ik"; il: "aw.il"; im: "aw.im"; in: "aw.in"; io: "aw.io"; ip: "aw.ip"; iq: "aw.iq"; ir: "aw.ir"; is: "aw.is"; it: "aw.it"; iu: "aw.iu"; iv: "aw.iv"; iw: "aw.iw"; ix: "aw.ix"; iy: "aw.iy"; iz: "aw.iz"; ja: "aw.ja"; jb: "aw.jb"; jc: "aw.jc"; jd: "aw.jd"; je: "aw.je"; jf: "aw.jf"; jg: "aw.jg"; jh: "aw.jh"; ji: "aw.ji"; jj: "aw.jj"; jk: "aw.jk"; jl: "aw.jl"; jm: "aw.jm"; jn: "aw.jn"; jo: "aw.jo"; jp: "aw.jp"; jq: "aw.jq"; jr: "aw.jr"; js: "aw.js"; jt: "aw.jt"; ju: "aw.ju"; jv: "aw.jv"; jw: "aw.jw"; jx: "aw.jx"; jy: "aw.jy"; jz: "aw.jz"; ka: "aw.ka"; kb: "aw.kb"; kc: "aw.kc"; kd: "aw.kd"; ke: "aw.ke"; kf: "aw.kf"; kg: "aw.kg"; kh: "aw.kh"; ki: "aw.ki"; kj: "aw.kj"; kk: "aw.kk"; kl: "aw.kl"; km: "aw.km"; kn: "aw.kn"; ko: "aw.ko"; kp: "aw.kp"; kq: "aw.kq"; kr: "aw.kr"; ks: "aw.ks"; kt: "aw.kt"; ku: "aw.ku"; kv: "aw.kv"; kw: "aw.kw"; kx: "aw.kx"; ky: "aw.ky"; kz: "aw.kz"; la: "aw.la"; lb: "aw.lb"; lc: "aw.lc"; ld: "aw.ld"; le: "aw.le"; lf: "aw.lf"; lg: "aw.lg"; lh: "aw.lh"; li: "aw.li"; lj: "aw.lj"; lk: "aw.lk"; ll: "aw.ll"; lm: "aw.lm"; ln: "aw.ln"; lo: "aw.lo"; lp: "aw.lp"; lq: "aw.lq"; lr: "aw.lr"; ls: "aw.ls"; lt: "aw.lt"; lu: "aw.lu"; lv: "aw.lv"; lw: "aw.lw"; lx: "aw.lx"; ly: "aw.ly"; lz: "aw.lz"; ma: "aw.ma"; mb: "aw.mb"; mc: "aw.mc"; md: "aw.md"; me: "aw.me"; mf: "aw.mf"; mg: "aw.mg"; mh: "aw.mh"; mi: "aw.mi"; mj: "aw.mj"; mk: "aw.mk"; ml: "aw.ml"; mm: "aw.mm"; mn: "aw.mn"; mo: "aw.mo"; mp: "aw.mp"; mq: "aw.mq"; mr: "aw.mr"; ms: "aw.ms"; mt: "aw.mt"; mu: "aw.mu"; mv: "aw.mv"; mw: "aw.mw"; mx: "aw.mx"; my: "aw.my"; mz: "aw.mz"; na: "aw.na"; nb: "aw.nb"; nc: "aw.nc"; nd: "aw.nd"; ne: "aw.ne"; nf: "aw.nf"; ng: "aw.ng"; nh: "aw.nh"; ni: "aw.ni"; nj: "aw.nj"; nk: "aw.nk"; nl: "aw.nl"; nm: "aw.nm"; nn: "aw.nn"; no: "aw.no"; np: "aw.np"; nq: "aw.nq"; nr: "aw.nr"; ns: "aw.ns"; nt: "aw.nt"; nu: "aw.nu"; nv: "aw.nv"; nw: "aw.nw"; nx: "aw.nx"; ny: "aw.ny"; nz: "aw.nz"; oa: "aw.oa"; ob: "aw.ob"; oc: "aw.oc"; od: "aw.od"; oe: "aw.oe"; of: "aw.of"; og: "aw.og"; oh: "aw.oh"; oi: "aw.oi"; oj: "aw.oj"; ok: "aw.ok"; ol: "aw.ol"; om: "aw.om"; on: "aw.on"; oo: "aw.oo"; op: "aw.op"; oq: "aw.oq"; or: "aw.or"; os: "aw.os"; ot: "aw.ot"; ou: "aw.ou"; ov: "aw.ov"; ow: "aw.ow"; ox: "aw.ox"; oy: "aw.oy"; oz: "aw.oz"; pa: "aw.pa"; pb: "aw.pb"; pc: "aw.pc"; pd: "aw.pd"; pe: "aw.pe"; pf: "aw.pf"; pg: "aw.pg"; ph: "aw.ph"; pi: "aw.pi"; pj: "aw.pj"; pk: "aw.pk"; pl: "aw.pl"; pm: "aw.pm"; pn: "aw.pn"; po: "aw.po"; pp: "aw.pp"; pq: "aw.pq"; pr: "aw.pr"; ps: "aw.ps"; pt: "aw.pt"; pu: "aw.pu"; pv: "aw.pv"; pw: "aw.pw"; px: "aw.px"; py: "aw.py"; pz: "aw.pz"; qa: "aw.qa"; qb: "aw.qb"; qc: "aw.qc"; qd: "aw.qd"; qe: "aw.qe"; qf: "aw.qf"; qg: "aw.qg"; qh: "aw.qh"; qi: "aw.qi"; qj: "aw.qj"; qk: "aw.qk"; ql: "aw.ql"; qm: "aw.qm"; qn: "aw.qn"; qo: "aw.qo"; qp: "aw.qp"; qq: "aw.qq"; qr: "aw.qr"; qs: "aw.qs"; qt: "aw.qt"; qu: "aw.qu"; qv: "aw.qv"; qw: "aw.qw"; qx: "aw.qx"; qy: "aw.qy"; qz: "aw.qz"; ra: "aw.ra"; rb: "aw.rb"; rc: "aw.rc"; rd: "aw.rd"; re: "aw.re"; rf: "aw.rf"; rg: "aw.rg"; rh: "aw.rh"; ri: "aw.ri"; rj: "aw.rj"; rk: "aw.rk"; rl: "aw.rl"; rm: "aw.rm"; rn: "aw.rn"; ro: "aw.ro"; rp: "aw.rp"; rq: "aw.rq"; rr: "aw.rr"; rs: "aw.rs"; rt: "aw.rt"; ru: "aw.ru"; rv: "aw.rv"; rw: "aw.rw"; rx: "aw.rx"; ry: "aw.ry"; rz: "aw.rz"; sa: "aw.sa"; sb: "aw.sb"; sc: "aw.sc"; sd: "aw.sd"; se: "aw.se"; sf: "aw.sf"; sg: "aw.sg"; sh: "aw.sh"; si: "aw.si"; sj: "aw.sj"; sk: "aw.sk"; sl: "aw.sl"; sm: "aw.sm"; sn: "aw.sn"; so: "aw.so"; sp: "aw.sp"; sq: "aw.sq"; sr: "aw.sr"; ss: "aw.ss"; st: "aw.st"; su: "aw.su"; sv: "aw.sv"; sw: "aw.sw"; sx: "aw.sx"; sy: "aw.sy"; sz: "aw.sz"; ta: "aw.ta"; tb: "aw.tb"; tc: "aw.tc"; td: "aw.td"; te: "aw.te"; tf: "aw.tf"; tg: "aw.tg"; th: "aw.th"; ti: "aw.ti"; tj: "aw.tj"; tk: "aw.tk"; tl: "aw.tl"; tm: "aw.tm"; tn: "aw.tn"; to: "aw.to"; tp: "aw.tp"; tq: "aw.tq"; tr: "aw.tr"; ts: "aw.ts"; tt: "aw.tt"; tu: "aw.tu"; tv: "aw.tv"; tw: "aw.tw"; tx: "aw.tx"; ty: "aw.ty"; tz: "aw.tz"; ua: "aw.ua"; ub: "aw.ub"; uc: "aw.uc"; ud: "aw.ud"; ue: "aw.ue"; uf: "aw.uf"; ug: "aw.ug"; uh: "aw.uh"; ui: "aw.ui"; uj: "aw.uj"; uk: "aw.uk"; ul: "aw.ul"; um: "aw.um"; un: "aw.un"; uo: "aw.uo"; up: "aw.up"; uq: "aw.uq"; ur: "aw.ur"; us: "aw.us"; ut: "aw.ut"; uu: "aw.uu"; uv: "aw.uv"; uw: "aw.uw"; ux: "aw.ux"; uy: "aw.uy"; uz: "aw.uz"; va: "aw.va"; vb: "aw.vb"; vc: "aw.vc"; vd: "aw.vd"; ve: "aw.ve"; vf: "aw.vf"; vg: "aw.vg"; vh: "aw.vh"; vi: "aw.vi"; vj: "aw.vj"; vk: "aw.vk"; vl: "aw.vl"; vm: "aw.vm"; vn: "aw.vn"; vo: "aw.vo"; vp: "aw.vp"; vq: "aw.vq"; vr: "aw.vr"; vs: "aw.vs"; vt: "aw.vt"; vu: "aw.vu"; vv: "aw.vv"; vw: "aw.vw"; vx: "aw.vx"; vy: "aw.vy"; vz: "aw.vz"; wa: "aw.wa"; wb: "aw.wb"; wc: "aw.wc"; wd: "aw.wd"; we: "aw.we"; wf: "aw.wf"; wg: "aw.wg"; wh: "aw.wh"; wi: "aw.wi"; wj: "aw.wj"; wk: "aw.wk"; wl: "aw.wl"; wm: "aw.wm"; wn: "aw.wn"; wo: "aw.wo"; wp: "aw.wp"; wq: "aw.wq"; wr: "aw.wr"; ws: "aw.ws"; wt: "aw.wt"; wu: "aw.wu"; wv: "aw.wv"; ww: "aw.ww"; wx: "aw.wx"; wy: "aw.wy"; wz: "aw.wz"; xa: "aw.xa"; xb: "aw.xb"; xc: "aw.xc"; xd: "aw.xd"; xe: "aw.xe"; xf: "aw.xf"; xg: "aw.xg"; xh: "aw.xh"; xi: "aw.xi"; xj: "aw.xj"; xk: "aw.xk"; xl: "aw.xl"; xm: "aw.xm"; xn: "aw.xn"; xo: "aw.xo"; xp: "aw.xp"; xq: "aw.xq"; xr: "aw.xr"; xs: "aw.xs"; xt: "aw.xt"; xu: "aw.xu"; xv: "aw.xv"; xw: "aw.xw"; xx: "aw.xx"; xy: "aw.xy"; xz: "aw.xz"; ya: "aw.ya"; yb: "aw.yb"; yc: "aw.yc"; yd: "aw.yd"; ye: "aw.ye"; yf: "aw.yf"; yg: "aw.yg"; yh: "aw.yh"; yi: "aw.yi"; yj: "aw.yj"; yk: "aw.yk"; yl: "aw.yl"; ym: "aw.ym"; yn: "aw.yn"; yo: "aw.yo"; yp: "aw.yp"; yq: "aw.yq"; yr: "aw.yr"; ys: "aw.ys"; yt: "aw.yt"; yu: "aw.yu"; yv: "aw.yv"; yw: "aw.yw"; yx: "aw.yx"; yy: "aw.yy"; yz: "aw.yz"; za: "aw.za"; zb: "aw.zb"; zc: "aw.zc"; zd: "aw.zd"; ze: "aw.ze"; zf: "aw.zf"; zg: "aw.zg"; zh: "aw.zh"; zi: "aw.zi"; zj: "aw.zj"; zk: "aw.zk"; zl: "aw.zl"; zm: "aw.zm"; zn: "aw.zn"; zo: "aw.zo"; zp: "aw.zp"; zq: "aw.zq"; zr: "aw.zr"; zs: "aw.zs"; zt: "aw.zt"; zu: "aw.zu"; zv: "aw.zv"; zw: "aw.zw"; zx: "aw.zx"; zy: "aw.zy"; zz: "aw.zz"; }; ax: { aa: "ax.aa"; ab: "ax.ab"; ac: "ax.ac"; ad: "ax.ad"; ae: "ax.ae"; af: "ax.af"; ag: "ax.ag"; ah: "ax.ah"; ai: "ax.ai"; aj: "ax.aj"; ak: "ax.ak"; al: "ax.al"; am: "ax.am"; an: "ax.an"; ao: "ax.ao"; ap: "ax.ap"; aq: "ax.aq"; ar: "ax.ar"; as: "ax.as"; at: "ax.at"; au: "ax.au"; av: "ax.av"; aw: "ax.aw"; ax: "ax.ax"; ay: "ax.ay"; az: "ax.az"; ba: "ax.ba"; bb: "ax.bb"; bc: "ax.bc"; bd: "ax.bd"; be: "ax.be"; bf: "ax.bf"; bg: "ax.bg"; bh: "ax.bh"; bi: "ax.bi"; bj: "ax.bj"; bk: "ax.bk"; bl: "ax.bl"; bm: "ax.bm"; bn: "ax.bn"; bo: "ax.bo"; bp: "ax.bp"; bq: "ax.bq"; br: "ax.br"; bs: "ax.bs"; bt: "ax.bt"; bu: "ax.bu"; bv: "ax.bv"; bw: "ax.bw"; bx: "ax.bx"; by: "ax.by"; bz: "ax.bz"; ca: "ax.ca"; cb: "ax.cb"; cc: "ax.cc"; cd: "ax.cd"; ce: "ax.ce"; cf: "ax.cf"; cg: "ax.cg"; ch: "ax.ch"; ci: "ax.ci"; cj: "ax.cj"; ck: "ax.ck"; cl: "ax.cl"; cm: "ax.cm"; cn: "ax.cn"; co: "ax.co"; cp: "ax.cp"; cq: "ax.cq"; cr: "ax.cr"; cs: "ax.cs"; ct: "ax.ct"; cu: "ax.cu"; cv: "ax.cv"; cw: "ax.cw"; cx: "ax.cx"; cy: "ax.cy"; cz: "ax.cz"; da: "ax.da"; db: "ax.db"; dc: "ax.dc"; dd: "ax.dd"; de: "ax.de"; df: "ax.df"; dg: "ax.dg"; dh: "ax.dh"; di: "ax.di"; dj: "ax.dj"; dk: "ax.dk"; dl: "ax.dl"; dm: "ax.dm"; dn: "ax.dn"; do: "ax.do"; dp: "ax.dp"; dq: "ax.dq"; dr: "ax.dr"; ds: "ax.ds"; dt: "ax.dt"; du: "ax.du"; dv: "ax.dv"; dw: "ax.dw"; dx: "ax.dx"; dy: "ax.dy"; dz: "ax.dz"; ea: "ax.ea"; eb: "ax.eb"; ec: "ax.ec"; ed: "ax.ed"; ee: "ax.ee"; ef: "ax.ef"; eg: "ax.eg"; eh: "ax.eh"; ei: "ax.ei"; ej: "ax.ej"; ek: "ax.ek"; el: "ax.el"; em: "ax.em"; en: "ax.en"; eo: "ax.eo"; ep: "ax.ep"; eq: "ax.eq"; er: "ax.er"; es: "ax.es"; et: "ax.et"; eu: "ax.eu"; ev: "ax.ev"; ew: "ax.ew"; ex: "ax.ex"; ey: "ax.ey"; ez: "ax.ez"; fa: "ax.fa"; fb: "ax.fb"; fc: "ax.fc"; fd: "ax.fd"; fe: "ax.fe"; ff: "ax.ff"; fg: "ax.fg"; fh: "ax.fh"; fi: "ax.fi"; fj: "ax.fj"; fk: "ax.fk"; fl: "ax.fl"; fm: "ax.fm"; fn: "ax.fn"; fo: "ax.fo"; fp: "ax.fp"; fq: "ax.fq"; fr: "ax.fr"; fs: "ax.fs"; ft: "ax.ft"; fu: "ax.fu"; fv: "ax.fv"; fw: "ax.fw"; fx: "ax.fx"; fy: "ax.fy"; fz: "ax.fz"; ga: "ax.ga"; gb: "ax.gb"; gc: "ax.gc"; gd: "ax.gd"; ge: "ax.ge"; gf: "ax.gf"; gg: "ax.gg"; gh: "ax.gh"; gi: "ax.gi"; gj: "ax.gj"; gk: "ax.gk"; gl: "ax.gl"; gm: "ax.gm"; gn: "ax.gn"; go: "ax.go"; gp: "ax.gp"; gq: "ax.gq"; gr: "ax.gr"; gs: "ax.gs"; gt: "ax.gt"; gu: "ax.gu"; gv: "ax.gv"; gw: "ax.gw"; gx: "ax.gx"; gy: "ax.gy"; gz: "ax.gz"; ha: "ax.ha"; hb: "ax.hb"; hc: "ax.hc"; hd: "ax.hd"; he: "ax.he"; hf: "ax.hf"; hg: "ax.hg"; hh: "ax.hh"; hi: "ax.hi"; hj: "ax.hj"; hk: "ax.hk"; hl: "ax.hl"; hm: "ax.hm"; hn: "ax.hn"; ho: "ax.ho"; hp: "ax.hp"; hq: "ax.hq"; hr: "ax.hr"; hs: "ax.hs"; ht: "ax.ht"; hu: "ax.hu"; hv: "ax.hv"; hw: "ax.hw"; hx: "ax.hx"; hy: "ax.hy"; hz: "ax.hz"; ia: "ax.ia"; ib: "ax.ib"; ic: "ax.ic"; id: "ax.id"; ie: "ax.ie"; if: "ax.if"; ig: "ax.ig"; ih: "ax.ih"; ii: "ax.ii"; ij: "ax.ij"; ik: "ax.ik"; il: "ax.il"; im: "ax.im"; in: "ax.in"; io: "ax.io"; ip: "ax.ip"; iq: "ax.iq"; ir: "ax.ir"; is: "ax.is"; it: "ax.it"; iu: "ax.iu"; iv: "ax.iv"; iw: "ax.iw"; ix: "ax.ix"; iy: "ax.iy"; iz: "ax.iz"; ja: "ax.ja"; jb: "ax.jb"; jc: "ax.jc"; jd: "ax.jd"; je: "ax.je"; jf: "ax.jf"; jg: "ax.jg"; jh: "ax.jh"; ji: "ax.ji"; jj: "ax.jj"; jk: "ax.jk"; jl: "ax.jl"; jm: "ax.jm"; jn: "ax.jn"; jo: "ax.jo"; jp: "ax.jp"; jq: "ax.jq"; jr: "ax.jr"; js: "ax.js"; jt: "ax.jt"; ju: "ax.ju"; jv: "ax.jv"; jw: "ax.jw"; jx: "ax.jx"; jy: "ax.jy"; jz: "ax.jz"; ka: "ax.ka"; kb: "ax.kb"; kc: "ax.kc"; kd: "ax.kd"; ke: "ax.ke"; kf: "ax.kf"; kg: "ax.kg"; kh: "ax.kh"; ki: "ax.ki"; kj: "ax.kj"; kk: "ax.kk"; kl: "ax.kl"; km: "ax.km"; kn: "ax.kn"; ko: "ax.ko"; kp: "ax.kp"; kq: "ax.kq"; kr: "ax.kr"; ks: "ax.ks"; kt: "ax.kt"; ku: "ax.ku"; kv: "ax.kv"; kw: "ax.kw"; kx: "ax.kx"; ky: "ax.ky"; kz: "ax.kz"; la: "ax.la"; lb: "ax.lb"; lc: "ax.lc"; ld: "ax.ld"; le: "ax.le"; lf: "ax.lf"; lg: "ax.lg"; lh: "ax.lh"; li: "ax.li"; lj: "ax.lj"; lk: "ax.lk"; ll: "ax.ll"; lm: "ax.lm"; ln: "ax.ln"; lo: "ax.lo"; lp: "ax.lp"; lq: "ax.lq"; lr: "ax.lr"; ls: "ax.ls"; lt: "ax.lt"; lu: "ax.lu"; lv: "ax.lv"; lw: "ax.lw"; lx: "ax.lx"; ly: "ax.ly"; lz: "ax.lz"; ma: "ax.ma"; mb: "ax.mb"; mc: "ax.mc"; md: "ax.md"; me: "ax.me"; mf: "ax.mf"; mg: "ax.mg"; mh: "ax.mh"; mi: "ax.mi"; mj: "ax.mj"; mk: "ax.mk"; ml: "ax.ml"; mm: "ax.mm"; mn: "ax.mn"; mo: "ax.mo"; mp: "ax.mp"; mq: "ax.mq"; mr: "ax.mr"; ms: "ax.ms"; mt: "ax.mt"; mu: "ax.mu"; mv: "ax.mv"; mw: "ax.mw"; mx: "ax.mx"; my: "ax.my"; mz: "ax.mz"; na: "ax.na"; nb: "ax.nb"; nc: "ax.nc"; nd: "ax.nd"; ne: "ax.ne"; nf: "ax.nf"; ng: "ax.ng"; nh: "ax.nh"; ni: "ax.ni"; nj: "ax.nj"; nk: "ax.nk"; nl: "ax.nl"; nm: "ax.nm"; nn: "ax.nn"; no: "ax.no"; np: "ax.np"; nq: "ax.nq"; nr: "ax.nr"; ns: "ax.ns"; nt: "ax.nt"; nu: "ax.nu"; nv: "ax.nv"; nw: "ax.nw"; nx: "ax.nx"; ny: "ax.ny"; nz: "ax.nz"; oa: "ax.oa"; ob: "ax.ob"; oc: "ax.oc"; od: "ax.od"; oe: "ax.oe"; of: "ax.of"; og: "ax.og"; oh: "ax.oh"; oi: "ax.oi"; oj: "ax.oj"; ok: "ax.ok"; ol: "ax.ol"; om: "ax.om"; on: "ax.on"; oo: "ax.oo"; op: "ax.op"; oq: "ax.oq"; or: "ax.or"; os: "ax.os"; ot: "ax.ot"; ou: "ax.ou"; ov: "ax.ov"; ow: "ax.ow"; ox: "ax.ox"; oy: "ax.oy"; oz: "ax.oz"; pa: "ax.pa"; pb: "ax.pb"; pc: "ax.pc"; pd: "ax.pd"; pe: "ax.pe"; pf: "ax.pf"; pg: "ax.pg"; ph: "ax.ph"; pi: "ax.pi"; pj: "ax.pj"; pk: "ax.pk"; pl: "ax.pl"; pm: "ax.pm"; pn: "ax.pn"; po: "ax.po"; pp: "ax.pp"; pq: "ax.pq"; pr: "ax.pr"; ps: "ax.ps"; pt: "ax.pt"; pu: "ax.pu"; pv: "ax.pv"; pw: "ax.pw"; px: "ax.px"; py: "ax.py"; pz: "ax.pz"; qa: "ax.qa"; qb: "ax.qb"; qc: "ax.qc"; qd: "ax.qd"; qe: "ax.qe"; qf: "ax.qf"; qg: "ax.qg"; qh: "ax.qh"; qi: "ax.qi"; qj: "ax.qj"; qk: "ax.qk"; ql: "ax.ql"; qm: "ax.qm"; qn: "ax.qn"; qo: "ax.qo"; qp: "ax.qp"; qq: "ax.qq"; qr: "ax.qr"; qs: "ax.qs"; qt: "ax.qt"; qu: "ax.qu"; qv: "ax.qv"; qw: "ax.qw"; qx: "ax.qx"; qy: "ax.qy"; qz: "ax.qz"; ra: "ax.ra"; rb: "ax.rb"; rc: "ax.rc"; rd: "ax.rd"; re: "ax.re"; rf: "ax.rf"; rg: "ax.rg"; rh: "ax.rh"; ri: "ax.ri"; rj: "ax.rj"; rk: "ax.rk"; rl: "ax.rl"; rm: "ax.rm"; rn: "ax.rn"; ro: "ax.ro"; rp: "ax.rp"; rq: "ax.rq"; rr: "ax.rr"; rs: "ax.rs"; rt: "ax.rt"; ru: "ax.ru"; rv: "ax.rv"; rw: "ax.rw"; rx: "ax.rx"; ry: "ax.ry"; rz: "ax.rz"; sa: "ax.sa"; sb: "ax.sb"; sc: "ax.sc"; sd: "ax.sd"; se: "ax.se"; sf: "ax.sf"; sg: "ax.sg"; sh: "ax.sh"; si: "ax.si"; sj: "ax.sj"; sk: "ax.sk"; sl: "ax.sl"; sm: "ax.sm"; sn: "ax.sn"; so: "ax.so"; sp: "ax.sp"; sq: "ax.sq"; sr: "ax.sr"; ss: "ax.ss"; st: "ax.st"; su: "ax.su"; sv: "ax.sv"; sw: "ax.sw"; sx: "ax.sx"; sy: "ax.sy"; sz: "ax.sz"; ta: "ax.ta"; tb: "ax.tb"; tc: "ax.tc"; td: "ax.td"; te: "ax.te"; tf: "ax.tf"; tg: "ax.tg"; th: "ax.th"; ti: "ax.ti"; tj: "ax.tj"; tk: "ax.tk"; tl: "ax.tl"; tm: "ax.tm"; tn: "ax.tn"; to: "ax.to"; tp: "ax.tp"; tq: "ax.tq"; tr: "ax.tr"; ts: "ax.ts"; tt: "ax.tt"; tu: "ax.tu"; tv: "ax.tv"; tw: "ax.tw"; tx: "ax.tx"; ty: "ax.ty"; tz: "ax.tz"; ua: "ax.ua"; ub: "ax.ub"; uc: "ax.uc"; ud: "ax.ud"; ue: "ax.ue"; uf: "ax.uf"; ug: "ax.ug"; uh: "ax.uh"; ui: "ax.ui"; uj: "ax.uj"; uk: "ax.uk"; ul: "ax.ul"; um: "ax.um"; un: "ax.un"; uo: "ax.uo"; up: "ax.up"; uq: "ax.uq"; ur: "ax.ur"; us: "ax.us"; ut: "ax.ut"; uu: "ax.uu"; uv: "ax.uv"; uw: "ax.uw"; ux: "ax.ux"; uy: "ax.uy"; uz: "ax.uz"; va: "ax.va"; vb: "ax.vb"; vc: "ax.vc"; vd: "ax.vd"; ve: "ax.ve"; vf: "ax.vf"; vg: "ax.vg"; vh: "ax.vh"; vi: "ax.vi"; vj: "ax.vj"; vk: "ax.vk"; vl: "ax.vl"; vm: "ax.vm"; vn: "ax.vn"; vo: "ax.vo"; vp: "ax.vp"; vq: "ax.vq"; vr: "ax.vr"; vs: "ax.vs"; vt: "ax.vt"; vu: "ax.vu"; vv: "ax.vv"; vw: "ax.vw"; vx: "ax.vx"; vy: "ax.vy"; vz: "ax.vz"; wa: "ax.wa"; wb: "ax.wb"; wc: "ax.wc"; wd: "ax.wd"; we: "ax.we"; wf: "ax.wf"; wg: "ax.wg"; wh: "ax.wh"; wi: "ax.wi"; wj: "ax.wj"; wk: "ax.wk"; wl: "ax.wl"; wm: "ax.wm"; wn: "ax.wn"; wo: "ax.wo"; wp: "ax.wp"; wq: "ax.wq"; wr: "ax.wr"; ws: "ax.ws"; wt: "ax.wt"; wu: "ax.wu"; wv: "ax.wv"; ww: "ax.ww"; wx: "ax.wx"; wy: "ax.wy"; wz: "ax.wz"; xa: "ax.xa"; xb: "ax.xb"; xc: "ax.xc"; xd: "ax.xd"; xe: "ax.xe"; xf: "ax.xf"; xg: "ax.xg"; xh: "ax.xh"; xi: "ax.xi"; xj: "ax.xj"; xk: "ax.xk"; xl: "ax.xl"; xm: "ax.xm"; xn: "ax.xn"; xo: "ax.xo"; xp: "ax.xp"; xq: "ax.xq"; xr: "ax.xr"; xs: "ax.xs"; xt: "ax.xt"; xu: "ax.xu"; xv: "ax.xv"; xw: "ax.xw"; xx: "ax.xx"; xy: "ax.xy"; xz: "ax.xz"; ya: "ax.ya"; yb: "ax.yb"; yc: "ax.yc"; yd: "ax.yd"; ye: "ax.ye"; yf: "ax.yf"; yg: "ax.yg"; yh: "ax.yh"; yi: "ax.yi"; yj: "ax.yj"; yk: "ax.yk"; yl: "ax.yl"; ym: "ax.ym"; yn: "ax.yn"; yo: "ax.yo"; yp: "ax.yp"; yq: "ax.yq"; yr: "ax.yr"; ys: "ax.ys"; yt: "ax.yt"; yu: "ax.yu"; yv: "ax.yv"; yw: "ax.yw"; yx: "ax.yx"; yy: "ax.yy"; yz: "ax.yz"; za: "ax.za"; zb: "ax.zb"; zc: "ax.zc"; zd: "ax.zd"; ze: "ax.ze"; zf: "ax.zf"; zg: "ax.zg"; zh: "ax.zh"; zi: "ax.zi"; zj: "ax.zj"; zk: "ax.zk"; zl: "ax.zl"; zm: "ax.zm"; zn: "ax.zn"; zo: "ax.zo"; zp: "ax.zp"; zq: "ax.zq"; zr: "ax.zr"; zs: "ax.zs"; zt: "ax.zt"; zu: "ax.zu"; zv: "ax.zv"; zw: "ax.zw"; zx: "ax.zx"; zy: "ax.zy"; zz: "ax.zz"; }; ay: { aa: "ay.aa"; ab: "ay.ab"; ac: "ay.ac"; ad: "ay.ad"; ae: "ay.ae"; af: "ay.af"; ag: "ay.ag"; ah: "ay.ah"; ai: "ay.ai"; aj: "ay.aj"; ak: "ay.ak"; al: "ay.al"; am: "ay.am"; an: "ay.an"; ao: "ay.ao"; ap: "ay.ap"; aq: "ay.aq"; ar: "ay.ar"; as: "ay.as"; at: "ay.at"; au: "ay.au"; av: "ay.av"; aw: "ay.aw"; ax: "ay.ax"; ay: "ay.ay"; az: "ay.az"; ba: "ay.ba"; bb: "ay.bb"; bc: "ay.bc"; bd: "ay.bd"; be: "ay.be"; bf: "ay.bf"; bg: "ay.bg"; bh: "ay.bh"; bi: "ay.bi"; bj: "ay.bj"; bk: "ay.bk"; bl: "ay.bl"; bm: "ay.bm"; bn: "ay.bn"; bo: "ay.bo"; bp: "ay.bp"; bq: "ay.bq"; br: "ay.br"; bs: "ay.bs"; bt: "ay.bt"; bu: "ay.bu"; bv: "ay.bv"; bw: "ay.bw"; bx: "ay.bx"; by: "ay.by"; bz: "ay.bz"; ca: "ay.ca"; cb: "ay.cb"; cc: "ay.cc"; cd: "ay.cd"; ce: "ay.ce"; cf: "ay.cf"; cg: "ay.cg"; ch: "ay.ch"; ci: "ay.ci"; cj: "ay.cj"; ck: "ay.ck"; cl: "ay.cl"; cm: "ay.cm"; cn: "ay.cn"; co: "ay.co"; cp: "ay.cp"; cq: "ay.cq"; cr: "ay.cr"; cs: "ay.cs"; ct: "ay.ct"; cu: "ay.cu"; cv: "ay.cv"; cw: "ay.cw"; cx: "ay.cx"; cy: "ay.cy"; cz: "ay.cz"; da: "ay.da"; db: "ay.db"; dc: "ay.dc"; dd: "ay.dd"; de: "ay.de"; df: "ay.df"; dg: "ay.dg"; dh: "ay.dh"; di: "ay.di"; dj: "ay.dj"; dk: "ay.dk"; dl: "ay.dl"; dm: "ay.dm"; dn: "ay.dn"; do: "ay.do"; dp: "ay.dp"; dq: "ay.dq"; dr: "ay.dr"; ds: "ay.ds"; dt: "ay.dt"; du: "ay.du"; dv: "ay.dv"; dw: "ay.dw"; dx: "ay.dx"; dy: "ay.dy"; dz: "ay.dz"; ea: "ay.ea"; eb: "ay.eb"; ec: "ay.ec"; ed: "ay.ed"; ee: "ay.ee"; ef: "ay.ef"; eg: "ay.eg"; eh: "ay.eh"; ei: "ay.ei"; ej: "ay.ej"; ek: "ay.ek"; el: "ay.el"; em: "ay.em"; en: "ay.en"; eo: "ay.eo"; ep: "ay.ep"; eq: "ay.eq"; er: "ay.er"; es: "ay.es"; et: "ay.et"; eu: "ay.eu"; ev: "ay.ev"; ew: "ay.ew"; ex: "ay.ex"; ey: "ay.ey"; ez: "ay.ez"; fa: "ay.fa"; fb: "ay.fb"; fc: "ay.fc"; fd: "ay.fd"; fe: "ay.fe"; ff: "ay.ff"; fg: "ay.fg"; fh: "ay.fh"; fi: "ay.fi"; fj: "ay.fj"; fk: "ay.fk"; fl: "ay.fl"; fm: "ay.fm"; fn: "ay.fn"; fo: "ay.fo"; fp: "ay.fp"; fq: "ay.fq"; fr: "ay.fr"; fs: "ay.fs"; ft: "ay.ft"; fu: "ay.fu"; fv: "ay.fv"; fw: "ay.fw"; fx: "ay.fx"; fy: "ay.fy"; fz: "ay.fz"; ga: "ay.ga"; gb: "ay.gb"; gc: "ay.gc"; gd: "ay.gd"; ge: "ay.ge"; gf: "ay.gf"; gg: "ay.gg"; gh: "ay.gh"; gi: "ay.gi"; gj: "ay.gj"; gk: "ay.gk"; gl: "ay.gl"; gm: "ay.gm"; gn: "ay.gn"; go: "ay.go"; gp: "ay.gp"; gq: "ay.gq"; gr: "ay.gr"; gs: "ay.gs"; gt: "ay.gt"; gu: "ay.gu"; gv: "ay.gv"; gw: "ay.gw"; gx: "ay.gx"; gy: "ay.gy"; gz: "ay.gz"; ha: "ay.ha"; hb: "ay.hb"; hc: "ay.hc"; hd: "ay.hd"; he: "ay.he"; hf: "ay.hf"; hg: "ay.hg"; hh: "ay.hh"; hi: "ay.hi"; hj: "ay.hj"; hk: "ay.hk"; hl: "ay.hl"; hm: "ay.hm"; hn: "ay.hn"; ho: "ay.ho"; hp: "ay.hp"; hq: "ay.hq"; hr: "ay.hr"; hs: "ay.hs"; ht: "ay.ht"; hu: "ay.hu"; hv: "ay.hv"; hw: "ay.hw"; hx: "ay.hx"; hy: "ay.hy"; hz: "ay.hz"; ia: "ay.ia"; ib: "ay.ib"; ic: "ay.ic"; id: "ay.id"; ie: "ay.ie"; if: "ay.if"; ig: "ay.ig"; ih: "ay.ih"; ii: "ay.ii"; ij: "ay.ij"; ik: "ay.ik"; il: "ay.il"; im: "ay.im"; in: "ay.in"; io: "ay.io"; ip: "ay.ip"; iq: "ay.iq"; ir: "ay.ir"; is: "ay.is"; it: "ay.it"; iu: "ay.iu"; iv: "ay.iv"; iw: "ay.iw"; ix: "ay.ix"; iy: "ay.iy"; iz: "ay.iz"; ja: "ay.ja"; jb: "ay.jb"; jc: "ay.jc"; jd: "ay.jd"; je: "ay.je"; jf: "ay.jf"; jg: "ay.jg"; jh: "ay.jh"; ji: "ay.ji"; jj: "ay.jj"; jk: "ay.jk"; jl: "ay.jl"; jm: "ay.jm"; jn: "ay.jn"; jo: "ay.jo"; jp: "ay.jp"; jq: "ay.jq"; jr: "ay.jr"; js: "ay.js"; jt: "ay.jt"; ju: "ay.ju"; jv: "ay.jv"; jw: "ay.jw"; jx: "ay.jx"; jy: "ay.jy"; jz: "ay.jz"; ka: "ay.ka"; kb: "ay.kb"; kc: "ay.kc"; kd: "ay.kd"; ke: "ay.ke"; kf: "ay.kf"; kg: "ay.kg"; kh: "ay.kh"; ki: "ay.ki"; kj: "ay.kj"; kk: "ay.kk"; kl: "ay.kl"; km: "ay.km"; kn: "ay.kn"; ko: "ay.ko"; kp: "ay.kp"; kq: "ay.kq"; kr: "ay.kr"; ks: "ay.ks"; kt: "ay.kt"; ku: "ay.ku"; kv: "ay.kv"; kw: "ay.kw"; kx: "ay.kx"; ky: "ay.ky"; kz: "ay.kz"; la: "ay.la"; lb: "ay.lb"; lc: "ay.lc"; ld: "ay.ld"; le: "ay.le"; lf: "ay.lf"; lg: "ay.lg"; lh: "ay.lh"; li: "ay.li"; lj: "ay.lj"; lk: "ay.lk"; ll: "ay.ll"; lm: "ay.lm"; ln: "ay.ln"; lo: "ay.lo"; lp: "ay.lp"; lq: "ay.lq"; lr: "ay.lr"; ls: "ay.ls"; lt: "ay.lt"; lu: "ay.lu"; lv: "ay.lv"; lw: "ay.lw"; lx: "ay.lx"; ly: "ay.ly"; lz: "ay.lz"; ma: "ay.ma"; mb: "ay.mb"; mc: "ay.mc"; md: "ay.md"; me: "ay.me"; mf: "ay.mf"; mg: "ay.mg"; mh: "ay.mh"; mi: "ay.mi"; mj: "ay.mj"; mk: "ay.mk"; ml: "ay.ml"; mm: "ay.mm"; mn: "ay.mn"; mo: "ay.mo"; mp: "ay.mp"; mq: "ay.mq"; mr: "ay.mr"; ms: "ay.ms"; mt: "ay.mt"; mu: "ay.mu"; mv: "ay.mv"; mw: "ay.mw"; mx: "ay.mx"; my: "ay.my"; mz: "ay.mz"; na: "ay.na"; nb: "ay.nb"; nc: "ay.nc"; nd: "ay.nd"; ne: "ay.ne"; nf: "ay.nf"; ng: "ay.ng"; nh: "ay.nh"; ni: "ay.ni"; nj: "ay.nj"; nk: "ay.nk"; nl: "ay.nl"; nm: "ay.nm"; nn: "ay.nn"; no: "ay.no"; np: "ay.np"; nq: "ay.nq"; nr: "ay.nr"; ns: "ay.ns"; nt: "ay.nt"; nu: "ay.nu"; nv: "ay.nv"; nw: "ay.nw"; nx: "ay.nx"; ny: "ay.ny"; nz: "ay.nz"; oa: "ay.oa"; ob: "ay.ob"; oc: "ay.oc"; od: "ay.od"; oe: "ay.oe"; of: "ay.of"; og: "ay.og"; oh: "ay.oh"; oi: "ay.oi"; oj: "ay.oj"; ok: "ay.ok"; ol: "ay.ol"; om: "ay.om"; on: "ay.on"; oo: "ay.oo"; op: "ay.op"; oq: "ay.oq"; or: "ay.or"; os: "ay.os"; ot: "ay.ot"; ou: "ay.ou"; ov: "ay.ov"; ow: "ay.ow"; ox: "ay.ox"; oy: "ay.oy"; oz: "ay.oz"; pa: "ay.pa"; pb: "ay.pb"; pc: "ay.pc"; pd: "ay.pd"; pe: "ay.pe"; pf: "ay.pf"; pg: "ay.pg"; ph: "ay.ph"; pi: "ay.pi"; pj: "ay.pj"; pk: "ay.pk"; pl: "ay.pl"; pm: "ay.pm"; pn: "ay.pn"; po: "ay.po"; pp: "ay.pp"; pq: "ay.pq"; pr: "ay.pr"; ps: "ay.ps"; pt: "ay.pt"; pu: "ay.pu"; pv: "ay.pv"; pw: "ay.pw"; px: "ay.px"; py: "ay.py"; pz: "ay.pz"; qa: "ay.qa"; qb: "ay.qb"; qc: "ay.qc"; qd: "ay.qd"; qe: "ay.qe"; qf: "ay.qf"; qg: "ay.qg"; qh: "ay.qh"; qi: "ay.qi"; qj: "ay.qj"; qk: "ay.qk"; ql: "ay.ql"; qm: "ay.qm"; qn: "ay.qn"; qo: "ay.qo"; qp: "ay.qp"; qq: "ay.qq"; qr: "ay.qr"; qs: "ay.qs"; qt: "ay.qt"; qu: "ay.qu"; qv: "ay.qv"; qw: "ay.qw"; qx: "ay.qx"; qy: "ay.qy"; qz: "ay.qz"; ra: "ay.ra"; rb: "ay.rb"; rc: "ay.rc"; rd: "ay.rd"; re: "ay.re"; rf: "ay.rf"; rg: "ay.rg"; rh: "ay.rh"; ri: "ay.ri"; rj: "ay.rj"; rk: "ay.rk"; rl: "ay.rl"; rm: "ay.rm"; rn: "ay.rn"; ro: "ay.ro"; rp: "ay.rp"; rq: "ay.rq"; rr: "ay.rr"; rs: "ay.rs"; rt: "ay.rt"; ru: "ay.ru"; rv: "ay.rv"; rw: "ay.rw"; rx: "ay.rx"; ry: "ay.ry"; rz: "ay.rz"; sa: "ay.sa"; sb: "ay.sb"; sc: "ay.sc"; sd: "ay.sd"; se: "ay.se"; sf: "ay.sf"; sg: "ay.sg"; sh: "ay.sh"; si: "ay.si"; sj: "ay.sj"; sk: "ay.sk"; sl: "ay.sl"; sm: "ay.sm"; sn: "ay.sn"; so: "ay.so"; sp: "ay.sp"; sq: "ay.sq"; sr: "ay.sr"; ss: "ay.ss"; st: "ay.st"; su: "ay.su"; sv: "ay.sv"; sw: "ay.sw"; sx: "ay.sx"; sy: "ay.sy"; sz: "ay.sz"; ta: "ay.ta"; tb: "ay.tb"; tc: "ay.tc"; td: "ay.td"; te: "ay.te"; tf: "ay.tf"; tg: "ay.tg"; th: "ay.th"; ti: "ay.ti"; tj: "ay.tj"; tk: "ay.tk"; tl: "ay.tl"; tm: "ay.tm"; tn: "ay.tn"; to: "ay.to"; tp: "ay.tp"; tq: "ay.tq"; tr: "ay.tr"; ts: "ay.ts"; tt: "ay.tt"; tu: "ay.tu"; tv: "ay.tv"; tw: "ay.tw"; tx: "ay.tx"; ty: "ay.ty"; tz: "ay.tz"; ua: "ay.ua"; ub: "ay.ub"; uc: "ay.uc"; ud: "ay.ud"; ue: "ay.ue"; uf: "ay.uf"; ug: "ay.ug"; uh: "ay.uh"; ui: "ay.ui"; uj: "ay.uj"; uk: "ay.uk"; ul: "ay.ul"; um: "ay.um"; un: "ay.un"; uo: "ay.uo"; up: "ay.up"; uq: "ay.uq"; ur: "ay.ur"; us: "ay.us"; ut: "ay.ut"; uu: "ay.uu"; uv: "ay.uv"; uw: "ay.uw"; ux: "ay.ux"; uy: "ay.uy"; uz: "ay.uz"; va: "ay.va"; vb: "ay.vb"; vc: "ay.vc"; vd: "ay.vd"; ve: "ay.ve"; vf: "ay.vf"; vg: "ay.vg"; vh: "ay.vh"; vi: "ay.vi"; vj: "ay.vj"; vk: "ay.vk"; vl: "ay.vl"; vm: "ay.vm"; vn: "ay.vn"; vo: "ay.vo"; vp: "ay.vp"; vq: "ay.vq"; vr: "ay.vr"; vs: "ay.vs"; vt: "ay.vt"; vu: "ay.vu"; vv: "ay.vv"; vw: "ay.vw"; vx: "ay.vx"; vy: "ay.vy"; vz: "ay.vz"; wa: "ay.wa"; wb: "ay.wb"; wc: "ay.wc"; wd: "ay.wd"; we: "ay.we"; wf: "ay.wf"; wg: "ay.wg"; wh: "ay.wh"; wi: "ay.wi"; wj: "ay.wj"; wk: "ay.wk"; wl: "ay.wl"; wm: "ay.wm"; wn: "ay.wn"; wo: "ay.wo"; wp: "ay.wp"; wq: "ay.wq"; wr: "ay.wr"; ws: "ay.ws"; wt: "ay.wt"; wu: "ay.wu"; wv: "ay.wv"; ww: "ay.ww"; wx: "ay.wx"; wy: "ay.wy"; wz: "ay.wz"; xa: "ay.xa"; xb: "ay.xb"; xc: "ay.xc"; xd: "ay.xd"; xe: "ay.xe"; xf: "ay.xf"; xg: "ay.xg"; xh: "ay.xh"; xi: "ay.xi"; xj: "ay.xj"; xk: "ay.xk"; xl: "ay.xl"; xm: "ay.xm"; xn: "ay.xn"; xo: "ay.xo"; xp: "ay.xp"; xq: "ay.xq"; xr: "ay.xr"; xs: "ay.xs"; xt: "ay.xt"; xu: "ay.xu"; xv: "ay.xv"; xw: "ay.xw"; xx: "ay.xx"; xy: "ay.xy"; xz: "ay.xz"; ya: "ay.ya"; yb: "ay.yb"; yc: "ay.yc"; yd: "ay.yd"; ye: "ay.ye"; yf: "ay.yf"; yg: "ay.yg"; yh: "ay.yh"; yi: "ay.yi"; yj: "ay.yj"; yk: "ay.yk"; yl: "ay.yl"; ym: "ay.ym"; yn: "ay.yn"; yo: "ay.yo"; yp: "ay.yp"; yq: "ay.yq"; yr: "ay.yr"; ys: "ay.ys"; yt: "ay.yt"; yu: "ay.yu"; yv: "ay.yv"; yw: "ay.yw"; yx: "ay.yx"; yy: "ay.yy"; yz: "ay.yz"; za: "ay.za"; zb: "ay.zb"; zc: "ay.zc"; zd: "ay.zd"; ze: "ay.ze"; zf: "ay.zf"; zg: "ay.zg"; zh: "ay.zh"; zi: "ay.zi"; zj: "ay.zj"; zk: "ay.zk"; zl: "ay.zl"; zm: "ay.zm"; zn: "ay.zn"; zo: "ay.zo"; zp: "ay.zp"; zq: "ay.zq"; zr: "ay.zr"; zs: "ay.zs"; zt: "ay.zt"; zu: "ay.zu"; zv: "ay.zv"; zw: "ay.zw"; zx: "ay.zx"; zy: "ay.zy"; zz: "ay.zz"; }; az: { aa: "az.aa"; ab: "az.ab"; ac: "az.ac"; ad: "az.ad"; ae: "az.ae"; af: "az.af"; ag: "az.ag"; ah: "az.ah"; ai: "az.ai"; aj: "az.aj"; ak: "az.ak"; al: "az.al"; am: "az.am"; an: "az.an"; ao: "az.ao"; ap: "az.ap"; aq: "az.aq"; ar: "az.ar"; as: "az.as"; at: "az.at"; au: "az.au"; av: "az.av"; aw: "az.aw"; ax: "az.ax"; ay: "az.ay"; az: "az.az"; ba: "az.ba"; bb: "az.bb"; bc: "az.bc"; bd: "az.bd"; be: "az.be"; bf: "az.bf"; bg: "az.bg"; bh: "az.bh"; bi: "az.bi"; bj: "az.bj"; bk: "az.bk"; bl: "az.bl"; bm: "az.bm"; bn: "az.bn"; bo: "az.bo"; bp: "az.bp"; bq: "az.bq"; br: "az.br"; bs: "az.bs"; bt: "az.bt"; bu: "az.bu"; bv: "az.bv"; bw: "az.bw"; bx: "az.bx"; by: "az.by"; bz: "az.bz"; ca: "az.ca"; cb: "az.cb"; cc: "az.cc"; cd: "az.cd"; ce: "az.ce"; cf: "az.cf"; cg: "az.cg"; ch: "az.ch"; ci: "az.ci"; cj: "az.cj"; ck: "az.ck"; cl: "az.cl"; cm: "az.cm"; cn: "az.cn"; co: "az.co"; cp: "az.cp"; cq: "az.cq"; cr: "az.cr"; cs: "az.cs"; ct: "az.ct"; cu: "az.cu"; cv: "az.cv"; cw: "az.cw"; cx: "az.cx"; cy: "az.cy"; cz: "az.cz"; da: "az.da"; db: "az.db"; dc: "az.dc"; dd: "az.dd"; de: "az.de"; df: "az.df"; dg: "az.dg"; dh: "az.dh"; di: "az.di"; dj: "az.dj"; dk: "az.dk"; dl: "az.dl"; dm: "az.dm"; dn: "az.dn"; do: "az.do"; dp: "az.dp"; dq: "az.dq"; dr: "az.dr"; ds: "az.ds"; dt: "az.dt"; du: "az.du"; dv: "az.dv"; dw: "az.dw"; dx: "az.dx"; dy: "az.dy"; dz: "az.dz"; ea: "az.ea"; eb: "az.eb"; ec: "az.ec"; ed: "az.ed"; ee: "az.ee"; ef: "az.ef"; eg: "az.eg"; eh: "az.eh"; ei: "az.ei"; ej: "az.ej"; ek: "az.ek"; el: "az.el"; em: "az.em"; en: "az.en"; eo: "az.eo"; ep: "az.ep"; eq: "az.eq"; er: "az.er"; es: "az.es"; et: "az.et"; eu: "az.eu"; ev: "az.ev"; ew: "az.ew"; ex: "az.ex"; ey: "az.ey"; ez: "az.ez"; fa: "az.fa"; fb: "az.fb"; fc: "az.fc"; fd: "az.fd"; fe: "az.fe"; ff: "az.ff"; fg: "az.fg"; fh: "az.fh"; fi: "az.fi"; fj: "az.fj"; fk: "az.fk"; fl: "az.fl"; fm: "az.fm"; fn: "az.fn"; fo: "az.fo"; fp: "az.fp"; fq: "az.fq"; fr: "az.fr"; fs: "az.fs"; ft: "az.ft"; fu: "az.fu"; fv: "az.fv"; fw: "az.fw"; fx: "az.fx"; fy: "az.fy"; fz: "az.fz"; ga: "az.ga"; gb: "az.gb"; gc: "az.gc"; gd: "az.gd"; ge: "az.ge"; gf: "az.gf"; gg: "az.gg"; gh: "az.gh"; gi: "az.gi"; gj: "az.gj"; gk: "az.gk"; gl: "az.gl"; gm: "az.gm"; gn: "az.gn"; go: "az.go"; gp: "az.gp"; gq: "az.gq"; gr: "az.gr"; gs: "az.gs"; gt: "az.gt"; gu: "az.gu"; gv: "az.gv"; gw: "az.gw"; gx: "az.gx"; gy: "az.gy"; gz: "az.gz"; ha: "az.ha"; hb: "az.hb"; hc: "az.hc"; hd: "az.hd"; he: "az.he"; hf: "az.hf"; hg: "az.hg"; hh: "az.hh"; hi: "az.hi"; hj: "az.hj"; hk: "az.hk"; hl: "az.hl"; hm: "az.hm"; hn: "az.hn"; ho: "az.ho"; hp: "az.hp"; hq: "az.hq"; hr: "az.hr"; hs: "az.hs"; ht: "az.ht"; hu: "az.hu"; hv: "az.hv"; hw: "az.hw"; hx: "az.hx"; hy: "az.hy"; hz: "az.hz"; ia: "az.ia"; ib: "az.ib"; ic: "az.ic"; id: "az.id"; ie: "az.ie"; if: "az.if"; ig: "az.ig"; ih: "az.ih"; ii: "az.ii"; ij: "az.ij"; ik: "az.ik"; il: "az.il"; im: "az.im"; in: "az.in"; io: "az.io"; ip: "az.ip"; iq: "az.iq"; ir: "az.ir"; is: "az.is"; it: "az.it"; iu: "az.iu"; iv: "az.iv"; iw: "az.iw"; ix: "az.ix"; iy: "az.iy"; iz: "az.iz"; ja: "az.ja"; jb: "az.jb"; jc: "az.jc"; jd: "az.jd"; je: "az.je"; jf: "az.jf"; jg: "az.jg"; jh: "az.jh"; ji: "az.ji"; jj: "az.jj"; jk: "az.jk"; jl: "az.jl"; jm: "az.jm"; jn: "az.jn"; jo: "az.jo"; jp: "az.jp"; jq: "az.jq"; jr: "az.jr"; js: "az.js"; jt: "az.jt"; ju: "az.ju"; jv: "az.jv"; jw: "az.jw"; jx: "az.jx"; jy: "az.jy"; jz: "az.jz"; ka: "az.ka"; kb: "az.kb"; kc: "az.kc"; kd: "az.kd"; ke: "az.ke"; kf: "az.kf"; kg: "az.kg"; kh: "az.kh"; ki: "az.ki"; kj: "az.kj"; kk: "az.kk"; kl: "az.kl"; km: "az.km"; kn: "az.kn"; ko: "az.ko"; kp: "az.kp"; kq: "az.kq"; kr: "az.kr"; ks: "az.ks"; kt: "az.kt"; ku: "az.ku"; kv: "az.kv"; kw: "az.kw"; kx: "az.kx"; ky: "az.ky"; kz: "az.kz"; la: "az.la"; lb: "az.lb"; lc: "az.lc"; ld: "az.ld"; le: "az.le"; lf: "az.lf"; lg: "az.lg"; lh: "az.lh"; li: "az.li"; lj: "az.lj"; lk: "az.lk"; ll: "az.ll"; lm: "az.lm"; ln: "az.ln"; lo: "az.lo"; lp: "az.lp"; lq: "az.lq"; lr: "az.lr"; ls: "az.ls"; lt: "az.lt"; lu: "az.lu"; lv: "az.lv"; lw: "az.lw"; lx: "az.lx"; ly: "az.ly"; lz: "az.lz"; ma: "az.ma"; mb: "az.mb"; mc: "az.mc"; md: "az.md"; me: "az.me"; mf: "az.mf"; mg: "az.mg"; mh: "az.mh"; mi: "az.mi"; mj: "az.mj"; mk: "az.mk"; ml: "az.ml"; mm: "az.mm"; mn: "az.mn"; mo: "az.mo"; mp: "az.mp"; mq: "az.mq"; mr: "az.mr"; ms: "az.ms"; mt: "az.mt"; mu: "az.mu"; mv: "az.mv"; mw: "az.mw"; mx: "az.mx"; my: "az.my"; mz: "az.mz"; na: "az.na"; nb: "az.nb"; nc: "az.nc"; nd: "az.nd"; ne: "az.ne"; nf: "az.nf"; ng: "az.ng"; nh: "az.nh"; ni: "az.ni"; nj: "az.nj"; nk: "az.nk"; nl: "az.nl"; nm: "az.nm"; nn: "az.nn"; no: "az.no"; np: "az.np"; nq: "az.nq"; nr: "az.nr"; ns: "az.ns"; nt: "az.nt"; nu: "az.nu"; nv: "az.nv"; nw: "az.nw"; nx: "az.nx"; ny: "az.ny"; nz: "az.nz"; oa: "az.oa"; ob: "az.ob"; oc: "az.oc"; od: "az.od"; oe: "az.oe"; of: "az.of"; og: "az.og"; oh: "az.oh"; oi: "az.oi"; oj: "az.oj"; ok: "az.ok"; ol: "az.ol"; om: "az.om"; on: "az.on"; oo: "az.oo"; op: "az.op"; oq: "az.oq"; or: "az.or"; os: "az.os"; ot: "az.ot"; ou: "az.ou"; ov: "az.ov"; ow: "az.ow"; ox: "az.ox"; oy: "az.oy"; oz: "az.oz"; pa: "az.pa"; pb: "az.pb"; pc: "az.pc"; pd: "az.pd"; pe: "az.pe"; pf: "az.pf"; pg: "az.pg"; ph: "az.ph"; pi: "az.pi"; pj: "az.pj"; pk: "az.pk"; pl: "az.pl"; pm: "az.pm"; pn: "az.pn"; po: "az.po"; pp: "az.pp"; pq: "az.pq"; pr: "az.pr"; ps: "az.ps"; pt: "az.pt"; pu: "az.pu"; pv: "az.pv"; pw: "az.pw"; px: "az.px"; py: "az.py"; pz: "az.pz"; qa: "az.qa"; qb: "az.qb"; qc: "az.qc"; qd: "az.qd"; qe: "az.qe"; qf: "az.qf"; qg: "az.qg"; qh: "az.qh"; qi: "az.qi"; qj: "az.qj"; qk: "az.qk"; ql: "az.ql"; qm: "az.qm"; qn: "az.qn"; qo: "az.qo"; qp: "az.qp"; qq: "az.qq"; qr: "az.qr"; qs: "az.qs"; qt: "az.qt"; qu: "az.qu"; qv: "az.qv"; qw: "az.qw"; qx: "az.qx"; qy: "az.qy"; qz: "az.qz"; ra: "az.ra"; rb: "az.rb"; rc: "az.rc"; rd: "az.rd"; re: "az.re"; rf: "az.rf"; rg: "az.rg"; rh: "az.rh"; ri: "az.ri"; rj: "az.rj"; rk: "az.rk"; rl: "az.rl"; rm: "az.rm"; rn: "az.rn"; ro: "az.ro"; rp: "az.rp"; rq: "az.rq"; rr: "az.rr"; rs: "az.rs"; rt: "az.rt"; ru: "az.ru"; rv: "az.rv"; rw: "az.rw"; rx: "az.rx"; ry: "az.ry"; rz: "az.rz"; sa: "az.sa"; sb: "az.sb"; sc: "az.sc"; sd: "az.sd"; se: "az.se"; sf: "az.sf"; sg: "az.sg"; sh: "az.sh"; si: "az.si"; sj: "az.sj"; sk: "az.sk"; sl: "az.sl"; sm: "az.sm"; sn: "az.sn"; so: "az.so"; sp: "az.sp"; sq: "az.sq"; sr: "az.sr"; ss: "az.ss"; st: "az.st"; su: "az.su"; sv: "az.sv"; sw: "az.sw"; sx: "az.sx"; sy: "az.sy"; sz: "az.sz"; ta: "az.ta"; tb: "az.tb"; tc: "az.tc"; td: "az.td"; te: "az.te"; tf: "az.tf"; tg: "az.tg"; th: "az.th"; ti: "az.ti"; tj: "az.tj"; tk: "az.tk"; tl: "az.tl"; tm: "az.tm"; tn: "az.tn"; to: "az.to"; tp: "az.tp"; tq: "az.tq"; tr: "az.tr"; ts: "az.ts"; tt: "az.tt"; tu: "az.tu"; tv: "az.tv"; tw: "az.tw"; tx: "az.tx"; ty: "az.ty"; tz: "az.tz"; ua: "az.ua"; ub: "az.ub"; uc: "az.uc"; ud: "az.ud"; ue: "az.ue"; uf: "az.uf"; ug: "az.ug"; uh: "az.uh"; ui: "az.ui"; uj: "az.uj"; uk: "az.uk"; ul: "az.ul"; um: "az.um"; un: "az.un"; uo: "az.uo"; up: "az.up"; uq: "az.uq"; ur: "az.ur"; us: "az.us"; ut: "az.ut"; uu: "az.uu"; uv: "az.uv"; uw: "az.uw"; ux: "az.ux"; uy: "az.uy"; uz: "az.uz"; va: "az.va"; vb: "az.vb"; vc: "az.vc"; vd: "az.vd"; ve: "az.ve"; vf: "az.vf"; vg: "az.vg"; vh: "az.vh"; vi: "az.vi"; vj: "az.vj"; vk: "az.vk"; vl: "az.vl"; vm: "az.vm"; vn: "az.vn"; vo: "az.vo"; vp: "az.vp"; vq: "az.vq"; vr: "az.vr"; vs: "az.vs"; vt: "az.vt"; vu: "az.vu"; vv: "az.vv"; vw: "az.vw"; vx: "az.vx"; vy: "az.vy"; vz: "az.vz"; wa: "az.wa"; wb: "az.wb"; wc: "az.wc"; wd: "az.wd"; we: "az.we"; wf: "az.wf"; wg: "az.wg"; wh: "az.wh"; wi: "az.wi"; wj: "az.wj"; wk: "az.wk"; wl: "az.wl"; wm: "az.wm"; wn: "az.wn"; wo: "az.wo"; wp: "az.wp"; wq: "az.wq"; wr: "az.wr"; ws: "az.ws"; wt: "az.wt"; wu: "az.wu"; wv: "az.wv"; ww: "az.ww"; wx: "az.wx"; wy: "az.wy"; wz: "az.wz"; xa: "az.xa"; xb: "az.xb"; xc: "az.xc"; xd: "az.xd"; xe: "az.xe"; xf: "az.xf"; xg: "az.xg"; xh: "az.xh"; xi: "az.xi"; xj: "az.xj"; xk: "az.xk"; xl: "az.xl"; xm: "az.xm"; xn: "az.xn"; xo: "az.xo"; xp: "az.xp"; xq: "az.xq"; xr: "az.xr"; xs: "az.xs"; xt: "az.xt"; xu: "az.xu"; xv: "az.xv"; xw: "az.xw"; xx: "az.xx"; xy: "az.xy"; xz: "az.xz"; ya: "az.ya"; yb: "az.yb"; yc: "az.yc"; yd: "az.yd"; ye: "az.ye"; yf: "az.yf"; yg: "az.yg"; yh: "az.yh"; yi: "az.yi"; yj: "az.yj"; yk: "az.yk"; yl: "az.yl"; ym: "az.ym"; yn: "az.yn"; yo: "az.yo"; yp: "az.yp"; yq: "az.yq"; yr: "az.yr"; ys: "az.ys"; yt: "az.yt"; yu: "az.yu"; yv: "az.yv"; yw: "az.yw"; yx: "az.yx"; yy: "az.yy"; yz: "az.yz"; za: "az.za"; zb: "az.zb"; zc: "az.zc"; zd: "az.zd"; ze: "az.ze"; zf: "az.zf"; zg: "az.zg"; zh: "az.zh"; zi: "az.zi"; zj: "az.zj"; zk: "az.zk"; zl: "az.zl"; zm: "az.zm"; zn: "az.zn"; zo: "az.zo"; zp: "az.zp"; zq: "az.zq"; zr: "az.zr"; zs: "az.zs"; zt: "az.zt"; zu: "az.zu"; zv: "az.zv"; zw: "az.zw"; zx: "az.zx"; zy: "az.zy"; zz: "az.zz"; }; ba: { aa: "ba.aa"; ab: "ba.ab"; ac: "ba.ac"; ad: "ba.ad"; ae: "ba.ae"; af: "ba.af"; ag: "ba.ag"; ah: "ba.ah"; ai: "ba.ai"; aj: "ba.aj"; ak: "ba.ak"; al: "ba.al"; am: "ba.am"; an: "ba.an"; ao: "ba.ao"; ap: "ba.ap"; aq: "ba.aq"; ar: "ba.ar"; as: "ba.as"; at: "ba.at"; au: "ba.au"; av: "ba.av"; aw: "ba.aw"; ax: "ba.ax"; ay: "ba.ay"; az: "ba.az"; ba: "ba.ba"; bb: "ba.bb"; bc: "ba.bc"; bd: "ba.bd"; be: "ba.be"; bf: "ba.bf"; bg: "ba.bg"; bh: "ba.bh"; bi: "ba.bi"; bj: "ba.bj"; bk: "ba.bk"; bl: "ba.bl"; bm: "ba.bm"; bn: "ba.bn"; bo: "ba.bo"; bp: "ba.bp"; bq: "ba.bq"; br: "ba.br"; bs: "ba.bs"; bt: "ba.bt"; bu: "ba.bu"; bv: "ba.bv"; bw: "ba.bw"; bx: "ba.bx"; by: "ba.by"; bz: "ba.bz"; ca: "ba.ca"; cb: "ba.cb"; cc: "ba.cc"; cd: "ba.cd"; ce: "ba.ce"; cf: "ba.cf"; cg: "ba.cg"; ch: "ba.ch"; ci: "ba.ci"; cj: "ba.cj"; ck: "ba.ck"; cl: "ba.cl"; cm: "ba.cm"; cn: "ba.cn"; co: "ba.co"; cp: "ba.cp"; cq: "ba.cq"; cr: "ba.cr"; cs: "ba.cs"; ct: "ba.ct"; cu: "ba.cu"; cv: "ba.cv"; cw: "ba.cw"; cx: "ba.cx"; cy: "ba.cy"; cz: "ba.cz"; da: "ba.da"; db: "ba.db"; dc: "ba.dc"; dd: "ba.dd"; de: "ba.de"; df: "ba.df"; dg: "ba.dg"; dh: "ba.dh"; di: "ba.di"; dj: "ba.dj"; dk: "ba.dk"; dl: "ba.dl"; dm: "ba.dm"; dn: "ba.dn"; do: "ba.do"; dp: "ba.dp"; dq: "ba.dq"; dr: "ba.dr"; ds: "ba.ds"; dt: "ba.dt"; du: "ba.du"; dv: "ba.dv"; dw: "ba.dw"; dx: "ba.dx"; dy: "ba.dy"; dz: "ba.dz"; ea: "ba.ea"; eb: "ba.eb"; ec: "ba.ec"; ed: "ba.ed"; ee: "ba.ee"; ef: "ba.ef"; eg: "ba.eg"; eh: "ba.eh"; ei: "ba.ei"; ej: "ba.ej"; ek: "ba.ek"; el: "ba.el"; em: "ba.em"; en: "ba.en"; eo: "ba.eo"; ep: "ba.ep"; eq: "ba.eq"; er: "ba.er"; es: "ba.es"; et: "ba.et"; eu: "ba.eu"; ev: "ba.ev"; ew: "ba.ew"; ex: "ba.ex"; ey: "ba.ey"; ez: "ba.ez"; fa: "ba.fa"; fb: "ba.fb"; fc: "ba.fc"; fd: "ba.fd"; fe: "ba.fe"; ff: "ba.ff"; fg: "ba.fg"; fh: "ba.fh"; fi: "ba.fi"; fj: "ba.fj"; fk: "ba.fk"; fl: "ba.fl"; fm: "ba.fm"; fn: "ba.fn"; fo: "ba.fo"; fp: "ba.fp"; fq: "ba.fq"; fr: "ba.fr"; fs: "ba.fs"; ft: "ba.ft"; fu: "ba.fu"; fv: "ba.fv"; fw: "ba.fw"; fx: "ba.fx"; fy: "ba.fy"; fz: "ba.fz"; ga: "ba.ga"; gb: "ba.gb"; gc: "ba.gc"; gd: "ba.gd"; ge: "ba.ge"; gf: "ba.gf"; gg: "ba.gg"; gh: "ba.gh"; gi: "ba.gi"; gj: "ba.gj"; gk: "ba.gk"; gl: "ba.gl"; gm: "ba.gm"; gn: "ba.gn"; go: "ba.go"; gp: "ba.gp"; gq: "ba.gq"; gr: "ba.gr"; gs: "ba.gs"; gt: "ba.gt"; gu: "ba.gu"; gv: "ba.gv"; gw: "ba.gw"; gx: "ba.gx"; gy: "ba.gy"; gz: "ba.gz"; ha: "ba.ha"; hb: "ba.hb"; hc: "ba.hc"; hd: "ba.hd"; he: "ba.he"; hf: "ba.hf"; hg: "ba.hg"; hh: "ba.hh"; hi: "ba.hi"; hj: "ba.hj"; hk: "ba.hk"; hl: "ba.hl"; hm: "ba.hm"; hn: "ba.hn"; ho: "ba.ho"; hp: "ba.hp"; hq: "ba.hq"; hr: "ba.hr"; hs: "ba.hs"; ht: "ba.ht"; hu: "ba.hu"; hv: "ba.hv"; hw: "ba.hw"; hx: "ba.hx"; hy: "ba.hy"; hz: "ba.hz"; ia: "ba.ia"; ib: "ba.ib"; ic: "ba.ic"; id: "ba.id"; ie: "ba.ie"; if: "ba.if"; ig: "ba.ig"; ih: "ba.ih"; ii: "ba.ii"; ij: "ba.ij"; ik: "ba.ik"; il: "ba.il"; im: "ba.im"; in: "ba.in"; io: "ba.io"; ip: "ba.ip"; iq: "ba.iq"; ir: "ba.ir"; is: "ba.is"; it: "ba.it"; iu: "ba.iu"; iv: "ba.iv"; iw: "ba.iw"; ix: "ba.ix"; iy: "ba.iy"; iz: "ba.iz"; ja: "ba.ja"; jb: "ba.jb"; jc: "ba.jc"; jd: "ba.jd"; je: "ba.je"; jf: "ba.jf"; jg: "ba.jg"; jh: "ba.jh"; ji: "ba.ji"; jj: "ba.jj"; jk: "ba.jk"; jl: "ba.jl"; jm: "ba.jm"; jn: "ba.jn"; jo: "ba.jo"; jp: "ba.jp"; jq: "ba.jq"; jr: "ba.jr"; js: "ba.js"; jt: "ba.jt"; ju: "ba.ju"; jv: "ba.jv"; jw: "ba.jw"; jx: "ba.jx"; jy: "ba.jy"; jz: "ba.jz"; ka: "ba.ka"; kb: "ba.kb"; kc: "ba.kc"; kd: "ba.kd"; ke: "ba.ke"; kf: "ba.kf"; kg: "ba.kg"; kh: "ba.kh"; ki: "ba.ki"; kj: "ba.kj"; kk: "ba.kk"; kl: "ba.kl"; km: "ba.km"; kn: "ba.kn"; ko: "ba.ko"; kp: "ba.kp"; kq: "ba.kq"; kr: "ba.kr"; ks: "ba.ks"; kt: "ba.kt"; ku: "ba.ku"; kv: "ba.kv"; kw: "ba.kw"; kx: "ba.kx"; ky: "ba.ky"; kz: "ba.kz"; la: "ba.la"; lb: "ba.lb"; lc: "ba.lc"; ld: "ba.ld"; le: "ba.le"; lf: "ba.lf"; lg: "ba.lg"; lh: "ba.lh"; li: "ba.li"; lj: "ba.lj"; lk: "ba.lk"; ll: "ba.ll"; lm: "ba.lm"; ln: "ba.ln"; lo: "ba.lo"; lp: "ba.lp"; lq: "ba.lq"; lr: "ba.lr"; ls: "ba.ls"; lt: "ba.lt"; lu: "ba.lu"; lv: "ba.lv"; lw: "ba.lw"; lx: "ba.lx"; ly: "ba.ly"; lz: "ba.lz"; ma: "ba.ma"; mb: "ba.mb"; mc: "ba.mc"; md: "ba.md"; me: "ba.me"; mf: "ba.mf"; mg: "ba.mg"; mh: "ba.mh"; mi: "ba.mi"; mj: "ba.mj"; mk: "ba.mk"; ml: "ba.ml"; mm: "ba.mm"; mn: "ba.mn"; mo: "ba.mo"; mp: "ba.mp"; mq: "ba.mq"; mr: "ba.mr"; ms: "ba.ms"; mt: "ba.mt"; mu: "ba.mu"; mv: "ba.mv"; mw: "ba.mw"; mx: "ba.mx"; my: "ba.my"; mz: "ba.mz"; na: "ba.na"; nb: "ba.nb"; nc: "ba.nc"; nd: "ba.nd"; ne: "ba.ne"; nf: "ba.nf"; ng: "ba.ng"; nh: "ba.nh"; ni: "ba.ni"; nj: "ba.nj"; nk: "ba.nk"; nl: "ba.nl"; nm: "ba.nm"; nn: "ba.nn"; no: "ba.no"; np: "ba.np"; nq: "ba.nq"; nr: "ba.nr"; ns: "ba.ns"; nt: "ba.nt"; nu: "ba.nu"; nv: "ba.nv"; nw: "ba.nw"; nx: "ba.nx"; ny: "ba.ny"; nz: "ba.nz"; oa: "ba.oa"; ob: "ba.ob"; oc: "ba.oc"; od: "ba.od"; oe: "ba.oe"; of: "ba.of"; og: "ba.og"; oh: "ba.oh"; oi: "ba.oi"; oj: "ba.oj"; ok: "ba.ok"; ol: "ba.ol"; om: "ba.om"; on: "ba.on"; oo: "ba.oo"; op: "ba.op"; oq: "ba.oq"; or: "ba.or"; os: "ba.os"; ot: "ba.ot"; ou: "ba.ou"; ov: "ba.ov"; ow: "ba.ow"; ox: "ba.ox"; oy: "ba.oy"; oz: "ba.oz"; pa: "ba.pa"; pb: "ba.pb"; pc: "ba.pc"; pd: "ba.pd"; pe: "ba.pe"; pf: "ba.pf"; pg: "ba.pg"; ph: "ba.ph"; pi: "ba.pi"; pj: "ba.pj"; pk: "ba.pk"; pl: "ba.pl"; pm: "ba.pm"; pn: "ba.pn"; po: "ba.po"; pp: "ba.pp"; pq: "ba.pq"; pr: "ba.pr"; ps: "ba.ps"; pt: "ba.pt"; pu: "ba.pu"; pv: "ba.pv"; pw: "ba.pw"; px: "ba.px"; py: "ba.py"; pz: "ba.pz"; qa: "ba.qa"; qb: "ba.qb"; qc: "ba.qc"; qd: "ba.qd"; qe: "ba.qe"; qf: "ba.qf"; qg: "ba.qg"; qh: "ba.qh"; qi: "ba.qi"; qj: "ba.qj"; qk: "ba.qk"; ql: "ba.ql"; qm: "ba.qm"; qn: "ba.qn"; qo: "ba.qo"; qp: "ba.qp"; qq: "ba.qq"; qr: "ba.qr"; qs: "ba.qs"; qt: "ba.qt"; qu: "ba.qu"; qv: "ba.qv"; qw: "ba.qw"; qx: "ba.qx"; qy: "ba.qy"; qz: "ba.qz"; ra: "ba.ra"; rb: "ba.rb"; rc: "ba.rc"; rd: "ba.rd"; re: "ba.re"; rf: "ba.rf"; rg: "ba.rg"; rh: "ba.rh"; ri: "ba.ri"; rj: "ba.rj"; rk: "ba.rk"; rl: "ba.rl"; rm: "ba.rm"; rn: "ba.rn"; ro: "ba.ro"; rp: "ba.rp"; rq: "ba.rq"; rr: "ba.rr"; rs: "ba.rs"; rt: "ba.rt"; ru: "ba.ru"; rv: "ba.rv"; rw: "ba.rw"; rx: "ba.rx"; ry: "ba.ry"; rz: "ba.rz"; sa: "ba.sa"; sb: "ba.sb"; sc: "ba.sc"; sd: "ba.sd"; se: "ba.se"; sf: "ba.sf"; sg: "ba.sg"; sh: "ba.sh"; si: "ba.si"; sj: "ba.sj"; sk: "ba.sk"; sl: "ba.sl"; sm: "ba.sm"; sn: "ba.sn"; so: "ba.so"; sp: "ba.sp"; sq: "ba.sq"; sr: "ba.sr"; ss: "ba.ss"; st: "ba.st"; su: "ba.su"; sv: "ba.sv"; sw: "ba.sw"; sx: "ba.sx"; sy: "ba.sy"; sz: "ba.sz"; ta: "ba.ta"; tb: "ba.tb"; tc: "ba.tc"; td: "ba.td"; te: "ba.te"; tf: "ba.tf"; tg: "ba.tg"; th: "ba.th"; ti: "ba.ti"; tj: "ba.tj"; tk: "ba.tk"; tl: "ba.tl"; tm: "ba.tm"; tn: "ba.tn"; to: "ba.to"; tp: "ba.tp"; tq: "ba.tq"; tr: "ba.tr"; ts: "ba.ts"; tt: "ba.tt"; tu: "ba.tu"; tv: "ba.tv"; tw: "ba.tw"; tx: "ba.tx"; ty: "ba.ty"; tz: "ba.tz"; ua: "ba.ua"; ub: "ba.ub"; uc: "ba.uc"; ud: "ba.ud"; ue: "ba.ue"; uf: "ba.uf"; ug: "ba.ug"; uh: "ba.uh"; ui: "ba.ui"; uj: "ba.uj"; uk: "ba.uk"; ul: "ba.ul"; um: "ba.um"; un: "ba.un"; uo: "ba.uo"; up: "ba.up"; uq: "ba.uq"; ur: "ba.ur"; us: "ba.us"; ut: "ba.ut"; uu: "ba.uu"; uv: "ba.uv"; uw: "ba.uw"; ux: "ba.ux"; uy: "ba.uy"; uz: "ba.uz"; va: "ba.va"; vb: "ba.vb"; vc: "ba.vc"; vd: "ba.vd"; ve: "ba.ve"; vf: "ba.vf"; vg: "ba.vg"; vh: "ba.vh"; vi: "ba.vi"; vj: "ba.vj"; vk: "ba.vk"; vl: "ba.vl"; vm: "ba.vm"; vn: "ba.vn"; vo: "ba.vo"; vp: "ba.vp"; vq: "ba.vq"; vr: "ba.vr"; vs: "ba.vs"; vt: "ba.vt"; vu: "ba.vu"; vv: "ba.vv"; vw: "ba.vw"; vx: "ba.vx"; vy: "ba.vy"; vz: "ba.vz"; wa: "ba.wa"; wb: "ba.wb"; wc: "ba.wc"; wd: "ba.wd"; we: "ba.we"; wf: "ba.wf"; wg: "ba.wg"; wh: "ba.wh"; wi: "ba.wi"; wj: "ba.wj"; wk: "ba.wk"; wl: "ba.wl"; wm: "ba.wm"; wn: "ba.wn"; wo: "ba.wo"; wp: "ba.wp"; wq: "ba.wq"; wr: "ba.wr"; ws: "ba.ws"; wt: "ba.wt"; wu: "ba.wu"; wv: "ba.wv"; ww: "ba.ww"; wx: "ba.wx"; wy: "ba.wy"; wz: "ba.wz"; xa: "ba.xa"; xb: "ba.xb"; xc: "ba.xc"; xd: "ba.xd"; xe: "ba.xe"; xf: "ba.xf"; xg: "ba.xg"; xh: "ba.xh"; xi: "ba.xi"; xj: "ba.xj"; xk: "ba.xk"; xl: "ba.xl"; xm: "ba.xm"; xn: "ba.xn"; xo: "ba.xo"; xp: "ba.xp"; xq: "ba.xq"; xr: "ba.xr"; xs: "ba.xs"; xt: "ba.xt"; xu: "ba.xu"; xv: "ba.xv"; xw: "ba.xw"; xx: "ba.xx"; xy: "ba.xy"; xz: "ba.xz"; ya: "ba.ya"; yb: "ba.yb"; yc: "ba.yc"; yd: "ba.yd"; ye: "ba.ye"; yf: "ba.yf"; yg: "ba.yg"; yh: "ba.yh"; yi: "ba.yi"; yj: "ba.yj"; yk: "ba.yk"; yl: "ba.yl"; ym: "ba.ym"; yn: "ba.yn"; yo: "ba.yo"; yp: "ba.yp"; yq: "ba.yq"; yr: "ba.yr"; ys: "ba.ys"; yt: "ba.yt"; yu: "ba.yu"; yv: "ba.yv"; yw: "ba.yw"; yx: "ba.yx"; yy: "ba.yy"; yz: "ba.yz"; za: "ba.za"; zb: "ba.zb"; zc: "ba.zc"; zd: "ba.zd"; ze: "ba.ze"; zf: "ba.zf"; zg: "ba.zg"; zh: "ba.zh"; zi: "ba.zi"; zj: "ba.zj"; zk: "ba.zk"; zl: "ba.zl"; zm: "ba.zm"; zn: "ba.zn"; zo: "ba.zo"; zp: "ba.zp"; zq: "ba.zq"; zr: "ba.zr"; zs: "ba.zs"; zt: "ba.zt"; zu: "ba.zu"; zv: "ba.zv"; zw: "ba.zw"; zx: "ba.zx"; zy: "ba.zy"; zz: "ba.zz"; }; bb: { aa: "bb.aa"; ab: "bb.ab"; ac: "bb.ac"; ad: "bb.ad"; ae: "bb.ae"; af: "bb.af"; ag: "bb.ag"; ah: "bb.ah"; ai: "bb.ai"; aj: "bb.aj"; ak: "bb.ak"; al: "bb.al"; am: "bb.am"; an: "bb.an"; ao: "bb.ao"; ap: "bb.ap"; aq: "bb.aq"; ar: "bb.ar"; as: "bb.as"; at: "bb.at"; au: "bb.au"; av: "bb.av"; aw: "bb.aw"; ax: "bb.ax"; ay: "bb.ay"; az: "bb.az"; ba: "bb.ba"; bb: "bb.bb"; bc: "bb.bc"; bd: "bb.bd"; be: "bb.be"; bf: "bb.bf"; bg: "bb.bg"; bh: "bb.bh"; bi: "bb.bi"; bj: "bb.bj"; bk: "bb.bk"; bl: "bb.bl"; bm: "bb.bm"; bn: "bb.bn"; bo: "bb.bo"; bp: "bb.bp"; bq: "bb.bq"; br: "bb.br"; bs: "bb.bs"; bt: "bb.bt"; bu: "bb.bu"; bv: "bb.bv"; bw: "bb.bw"; bx: "bb.bx"; by: "bb.by"; bz: "bb.bz"; ca: "bb.ca"; cb: "bb.cb"; cc: "bb.cc"; cd: "bb.cd"; ce: "bb.ce"; cf: "bb.cf"; cg: "bb.cg"; ch: "bb.ch"; ci: "bb.ci"; cj: "bb.cj"; ck: "bb.ck"; cl: "bb.cl"; cm: "bb.cm"; cn: "bb.cn"; co: "bb.co"; cp: "bb.cp"; cq: "bb.cq"; cr: "bb.cr"; cs: "bb.cs"; ct: "bb.ct"; cu: "bb.cu"; cv: "bb.cv"; cw: "bb.cw"; cx: "bb.cx"; cy: "bb.cy"; cz: "bb.cz"; da: "bb.da"; db: "bb.db"; dc: "bb.dc"; dd: "bb.dd"; de: "bb.de"; df: "bb.df"; dg: "bb.dg"; dh: "bb.dh"; di: "bb.di"; dj: "bb.dj"; dk: "bb.dk"; dl: "bb.dl"; dm: "bb.dm"; dn: "bb.dn"; do: "bb.do"; dp: "bb.dp"; dq: "bb.dq"; dr: "bb.dr"; ds: "bb.ds"; dt: "bb.dt"; du: "bb.du"; dv: "bb.dv"; dw: "bb.dw"; dx: "bb.dx"; dy: "bb.dy"; dz: "bb.dz"; ea: "bb.ea"; eb: "bb.eb"; ec: "bb.ec"; ed: "bb.ed"; ee: "bb.ee"; ef: "bb.ef"; eg: "bb.eg"; eh: "bb.eh"; ei: "bb.ei"; ej: "bb.ej"; ek: "bb.ek"; el: "bb.el"; em: "bb.em"; en: "bb.en"; eo: "bb.eo"; ep: "bb.ep"; eq: "bb.eq"; er: "bb.er"; es: "bb.es"; et: "bb.et"; eu: "bb.eu"; ev: "bb.ev"; ew: "bb.ew"; ex: "bb.ex"; ey: "bb.ey"; ez: "bb.ez"; fa: "bb.fa"; fb: "bb.fb"; fc: "bb.fc"; fd: "bb.fd"; fe: "bb.fe"; ff: "bb.ff"; fg: "bb.fg"; fh: "bb.fh"; fi: "bb.fi"; fj: "bb.fj"; fk: "bb.fk"; fl: "bb.fl"; fm: "bb.fm"; fn: "bb.fn"; fo: "bb.fo"; fp: "bb.fp"; fq: "bb.fq"; fr: "bb.fr"; fs: "bb.fs"; ft: "bb.ft"; fu: "bb.fu"; fv: "bb.fv"; fw: "bb.fw"; fx: "bb.fx"; fy: "bb.fy"; fz: "bb.fz"; ga: "bb.ga"; gb: "bb.gb"; gc: "bb.gc"; gd: "bb.gd"; ge: "bb.ge"; gf: "bb.gf"; gg: "bb.gg"; gh: "bb.gh"; gi: "bb.gi"; gj: "bb.gj"; gk: "bb.gk"; gl: "bb.gl"; gm: "bb.gm"; gn: "bb.gn"; go: "bb.go"; gp: "bb.gp"; gq: "bb.gq"; gr: "bb.gr"; gs: "bb.gs"; gt: "bb.gt"; gu: "bb.gu"; gv: "bb.gv"; gw: "bb.gw"; gx: "bb.gx"; gy: "bb.gy"; gz: "bb.gz"; ha: "bb.ha"; hb: "bb.hb"; hc: "bb.hc"; hd: "bb.hd"; he: "bb.he"; hf: "bb.hf"; hg: "bb.hg"; hh: "bb.hh"; hi: "bb.hi"; hj: "bb.hj"; hk: "bb.hk"; hl: "bb.hl"; hm: "bb.hm"; hn: "bb.hn"; ho: "bb.ho"; hp: "bb.hp"; hq: "bb.hq"; hr: "bb.hr"; hs: "bb.hs"; ht: "bb.ht"; hu: "bb.hu"; hv: "bb.hv"; hw: "bb.hw"; hx: "bb.hx"; hy: "bb.hy"; hz: "bb.hz"; ia: "bb.ia"; ib: "bb.ib"; ic: "bb.ic"; id: "bb.id"; ie: "bb.ie"; if: "bb.if"; ig: "bb.ig"; ih: "bb.ih"; ii: "bb.ii"; ij: "bb.ij"; ik: "bb.ik"; il: "bb.il"; im: "bb.im"; in: "bb.in"; io: "bb.io"; ip: "bb.ip"; iq: "bb.iq"; ir: "bb.ir"; is: "bb.is"; it: "bb.it"; iu: "bb.iu"; iv: "bb.iv"; iw: "bb.iw"; ix: "bb.ix"; iy: "bb.iy"; iz: "bb.iz"; ja: "bb.ja"; jb: "bb.jb"; jc: "bb.jc"; jd: "bb.jd"; je: "bb.je"; jf: "bb.jf"; jg: "bb.jg"; jh: "bb.jh"; ji: "bb.ji"; jj: "bb.jj"; jk: "bb.jk"; jl: "bb.jl"; jm: "bb.jm"; jn: "bb.jn"; jo: "bb.jo"; jp: "bb.jp"; jq: "bb.jq"; jr: "bb.jr"; js: "bb.js"; jt: "bb.jt"; ju: "bb.ju"; jv: "bb.jv"; jw: "bb.jw"; jx: "bb.jx"; jy: "bb.jy"; jz: "bb.jz"; ka: "bb.ka"; kb: "bb.kb"; kc: "bb.kc"; kd: "bb.kd"; ke: "bb.ke"; kf: "bb.kf"; kg: "bb.kg"; kh: "bb.kh"; ki: "bb.ki"; kj: "bb.kj"; kk: "bb.kk"; kl: "bb.kl"; km: "bb.km"; kn: "bb.kn"; ko: "bb.ko"; kp: "bb.kp"; kq: "bb.kq"; kr: "bb.kr"; ks: "bb.ks"; kt: "bb.kt"; ku: "bb.ku"; kv: "bb.kv"; kw: "bb.kw"; kx: "bb.kx"; ky: "bb.ky"; kz: "bb.kz"; la: "bb.la"; lb: "bb.lb"; lc: "bb.lc"; ld: "bb.ld"; le: "bb.le"; lf: "bb.lf"; lg: "bb.lg"; lh: "bb.lh"; li: "bb.li"; lj: "bb.lj"; lk: "bb.lk"; ll: "bb.ll"; lm: "bb.lm"; ln: "bb.ln"; lo: "bb.lo"; lp: "bb.lp"; lq: "bb.lq"; lr: "bb.lr"; ls: "bb.ls"; lt: "bb.lt"; lu: "bb.lu"; lv: "bb.lv"; lw: "bb.lw"; lx: "bb.lx"; ly: "bb.ly"; lz: "bb.lz"; ma: "bb.ma"; mb: "bb.mb"; mc: "bb.mc"; md: "bb.md"; me: "bb.me"; mf: "bb.mf"; mg: "bb.mg"; mh: "bb.mh"; mi: "bb.mi"; mj: "bb.mj"; mk: "bb.mk"; ml: "bb.ml"; mm: "bb.mm"; mn: "bb.mn"; mo: "bb.mo"; mp: "bb.mp"; mq: "bb.mq"; mr: "bb.mr"; ms: "bb.ms"; mt: "bb.mt"; mu: "bb.mu"; mv: "bb.mv"; mw: "bb.mw"; mx: "bb.mx"; my: "bb.my"; mz: "bb.mz"; na: "bb.na"; nb: "bb.nb"; nc: "bb.nc"; nd: "bb.nd"; ne: "bb.ne"; nf: "bb.nf"; ng: "bb.ng"; nh: "bb.nh"; ni: "bb.ni"; nj: "bb.nj"; nk: "bb.nk"; nl: "bb.nl"; nm: "bb.nm"; nn: "bb.nn"; no: "bb.no"; np: "bb.np"; nq: "bb.nq"; nr: "bb.nr"; ns: "bb.ns"; nt: "bb.nt"; nu: "bb.nu"; nv: "bb.nv"; nw: "bb.nw"; nx: "bb.nx"; ny: "bb.ny"; nz: "bb.nz"; oa: "bb.oa"; ob: "bb.ob"; oc: "bb.oc"; od: "bb.od"; oe: "bb.oe"; of: "bb.of"; og: "bb.og"; oh: "bb.oh"; oi: "bb.oi"; oj: "bb.oj"; ok: "bb.ok"; ol: "bb.ol"; om: "bb.om"; on: "bb.on"; oo: "bb.oo"; op: "bb.op"; oq: "bb.oq"; or: "bb.or"; os: "bb.os"; ot: "bb.ot"; ou: "bb.ou"; ov: "bb.ov"; ow: "bb.ow"; ox: "bb.ox"; oy: "bb.oy"; oz: "bb.oz"; pa: "bb.pa"; pb: "bb.pb"; pc: "bb.pc"; pd: "bb.pd"; pe: "bb.pe"; pf: "bb.pf"; pg: "bb.pg"; ph: "bb.ph"; pi: "bb.pi"; pj: "bb.pj"; pk: "bb.pk"; pl: "bb.pl"; pm: "bb.pm"; pn: "bb.pn"; po: "bb.po"; pp: "bb.pp"; pq: "bb.pq"; pr: "bb.pr"; ps: "bb.ps"; pt: "bb.pt"; pu: "bb.pu"; pv: "bb.pv"; pw: "bb.pw"; px: "bb.px"; py: "bb.py"; pz: "bb.pz"; qa: "bb.qa"; qb: "bb.qb"; qc: "bb.qc"; qd: "bb.qd"; qe: "bb.qe"; qf: "bb.qf"; qg: "bb.qg"; qh: "bb.qh"; qi: "bb.qi"; qj: "bb.qj"; qk: "bb.qk"; ql: "bb.ql"; qm: "bb.qm"; qn: "bb.qn"; qo: "bb.qo"; qp: "bb.qp"; qq: "bb.qq"; qr: "bb.qr"; qs: "bb.qs"; qt: "bb.qt"; qu: "bb.qu"; qv: "bb.qv"; qw: "bb.qw"; qx: "bb.qx"; qy: "bb.qy"; qz: "bb.qz"; ra: "bb.ra"; rb: "bb.rb"; rc: "bb.rc"; rd: "bb.rd"; re: "bb.re"; rf: "bb.rf"; rg: "bb.rg"; rh: "bb.rh"; ri: "bb.ri"; rj: "bb.rj"; rk: "bb.rk"; rl: "bb.rl"; rm: "bb.rm"; rn: "bb.rn"; ro: "bb.ro"; rp: "bb.rp"; rq: "bb.rq"; rr: "bb.rr"; rs: "bb.rs"; rt: "bb.rt"; ru: "bb.ru"; rv: "bb.rv"; rw: "bb.rw"; rx: "bb.rx"; ry: "bb.ry"; rz: "bb.rz"; sa: "bb.sa"; sb: "bb.sb"; sc: "bb.sc"; sd: "bb.sd"; se: "bb.se"; sf: "bb.sf"; sg: "bb.sg"; sh: "bb.sh"; si: "bb.si"; sj: "bb.sj"; sk: "bb.sk"; sl: "bb.sl"; sm: "bb.sm"; sn: "bb.sn"; so: "bb.so"; sp: "bb.sp"; sq: "bb.sq"; sr: "bb.sr"; ss: "bb.ss"; st: "bb.st"; su: "bb.su"; sv: "bb.sv"; sw: "bb.sw"; sx: "bb.sx"; sy: "bb.sy"; sz: "bb.sz"; ta: "bb.ta"; tb: "bb.tb"; tc: "bb.tc"; td: "bb.td"; te: "bb.te"; tf: "bb.tf"; tg: "bb.tg"; th: "bb.th"; ti: "bb.ti"; tj: "bb.tj"; tk: "bb.tk"; tl: "bb.tl"; tm: "bb.tm"; tn: "bb.tn"; to: "bb.to"; tp: "bb.tp"; tq: "bb.tq"; tr: "bb.tr"; ts: "bb.ts"; tt: "bb.tt"; tu: "bb.tu"; tv: "bb.tv"; tw: "bb.tw"; tx: "bb.tx"; ty: "bb.ty"; tz: "bb.tz"; ua: "bb.ua"; ub: "bb.ub"; uc: "bb.uc"; ud: "bb.ud"; ue: "bb.ue"; uf: "bb.uf"; ug: "bb.ug"; uh: "bb.uh"; ui: "bb.ui"; uj: "bb.uj"; uk: "bb.uk"; ul: "bb.ul"; um: "bb.um"; un: "bb.un"; uo: "bb.uo"; up: "bb.up"; uq: "bb.uq"; ur: "bb.ur"; us: "bb.us"; ut: "bb.ut"; uu: "bb.uu"; uv: "bb.uv"; uw: "bb.uw"; ux: "bb.ux"; uy: "bb.uy"; uz: "bb.uz"; va: "bb.va"; vb: "bb.vb"; vc: "bb.vc"; vd: "bb.vd"; ve: "bb.ve"; vf: "bb.vf"; vg: "bb.vg"; vh: "bb.vh"; vi: "bb.vi"; vj: "bb.vj"; vk: "bb.vk"; vl: "bb.vl"; vm: "bb.vm"; vn: "bb.vn"; vo: "bb.vo"; vp: "bb.vp"; vq: "bb.vq"; vr: "bb.vr"; vs: "bb.vs"; vt: "bb.vt"; vu: "bb.vu"; vv: "bb.vv"; vw: "bb.vw"; vx: "bb.vx"; vy: "bb.vy"; vz: "bb.vz"; wa: "bb.wa"; wb: "bb.wb"; wc: "bb.wc"; wd: "bb.wd"; we: "bb.we"; wf: "bb.wf"; wg: "bb.wg"; wh: "bb.wh"; wi: "bb.wi"; wj: "bb.wj"; wk: "bb.wk"; wl: "bb.wl"; wm: "bb.wm"; wn: "bb.wn"; wo: "bb.wo"; wp: "bb.wp"; wq: "bb.wq"; wr: "bb.wr"; ws: "bb.ws"; wt: "bb.wt"; wu: "bb.wu"; wv: "bb.wv"; ww: "bb.ww"; wx: "bb.wx"; wy: "bb.wy"; wz: "bb.wz"; xa: "bb.xa"; xb: "bb.xb"; xc: "bb.xc"; xd: "bb.xd"; xe: "bb.xe"; xf: "bb.xf"; xg: "bb.xg"; xh: "bb.xh"; xi: "bb.xi"; xj: "bb.xj"; xk: "bb.xk"; xl: "bb.xl"; xm: "bb.xm"; xn: "bb.xn"; xo: "bb.xo"; xp: "bb.xp"; xq: "bb.xq"; xr: "bb.xr"; xs: "bb.xs"; xt: "bb.xt"; xu: "bb.xu"; xv: "bb.xv"; xw: "bb.xw"; xx: "bb.xx"; xy: "bb.xy"; xz: "bb.xz"; ya: "bb.ya"; yb: "bb.yb"; yc: "bb.yc"; yd: "bb.yd"; ye: "bb.ye"; yf: "bb.yf"; yg: "bb.yg"; yh: "bb.yh"; yi: "bb.yi"; yj: "bb.yj"; yk: "bb.yk"; yl: "bb.yl"; ym: "bb.ym"; yn: "bb.yn"; yo: "bb.yo"; yp: "bb.yp"; yq: "bb.yq"; yr: "bb.yr"; ys: "bb.ys"; yt: "bb.yt"; yu: "bb.yu"; yv: "bb.yv"; yw: "bb.yw"; yx: "bb.yx"; yy: "bb.yy"; yz: "bb.yz"; za: "bb.za"; zb: "bb.zb"; zc: "bb.zc"; zd: "bb.zd"; ze: "bb.ze"; zf: "bb.zf"; zg: "bb.zg"; zh: "bb.zh"; zi: "bb.zi"; zj: "bb.zj"; zk: "bb.zk"; zl: "bb.zl"; zm: "bb.zm"; zn: "bb.zn"; zo: "bb.zo"; zp: "bb.zp"; zq: "bb.zq"; zr: "bb.zr"; zs: "bb.zs"; zt: "bb.zt"; zu: "bb.zu"; zv: "bb.zv"; zw: "bb.zw"; zx: "bb.zx"; zy: "bb.zy"; zz: "bb.zz"; }; bc: { aa: "bc.aa"; ab: "bc.ab"; ac: "bc.ac"; ad: "bc.ad"; ae: "bc.ae"; af: "bc.af"; ag: "bc.ag"; ah: "bc.ah"; ai: "bc.ai"; aj: "bc.aj"; ak: "bc.ak"; al: "bc.al"; am: "bc.am"; an: "bc.an"; ao: "bc.ao"; ap: "bc.ap"; aq: "bc.aq"; ar: "bc.ar"; as: "bc.as"; at: "bc.at"; au: "bc.au"; av: "bc.av"; aw: "bc.aw"; ax: "bc.ax"; ay: "bc.ay"; az: "bc.az"; ba: "bc.ba"; bb: "bc.bb"; bc: "bc.bc"; bd: "bc.bd"; be: "bc.be"; bf: "bc.bf"; bg: "bc.bg"; bh: "bc.bh"; bi: "bc.bi"; bj: "bc.bj"; bk: "bc.bk"; bl: "bc.bl"; bm: "bc.bm"; bn: "bc.bn"; bo: "bc.bo"; bp: "bc.bp"; bq: "bc.bq"; br: "bc.br"; bs: "bc.bs"; bt: "bc.bt"; bu: "bc.bu"; bv: "bc.bv"; bw: "bc.bw"; bx: "bc.bx"; by: "bc.by"; bz: "bc.bz"; ca: "bc.ca"; cb: "bc.cb"; cc: "bc.cc"; cd: "bc.cd"; ce: "bc.ce"; cf: "bc.cf"; cg: "bc.cg"; ch: "bc.ch"; ci: "bc.ci"; cj: "bc.cj"; ck: "bc.ck"; cl: "bc.cl"; cm: "bc.cm"; cn: "bc.cn"; co: "bc.co"; cp: "bc.cp"; cq: "bc.cq"; cr: "bc.cr"; cs: "bc.cs"; ct: "bc.ct"; cu: "bc.cu"; cv: "bc.cv"; cw: "bc.cw"; cx: "bc.cx"; cy: "bc.cy"; cz: "bc.cz"; da: "bc.da"; db: "bc.db"; dc: "bc.dc"; dd: "bc.dd"; de: "bc.de"; df: "bc.df"; dg: "bc.dg"; dh: "bc.dh"; di: "bc.di"; dj: "bc.dj"; dk: "bc.dk"; dl: "bc.dl"; dm: "bc.dm"; dn: "bc.dn"; do: "bc.do"; dp: "bc.dp"; dq: "bc.dq"; dr: "bc.dr"; ds: "bc.ds"; dt: "bc.dt"; du: "bc.du"; dv: "bc.dv"; dw: "bc.dw"; dx: "bc.dx"; dy: "bc.dy"; dz: "bc.dz"; ea: "bc.ea"; eb: "bc.eb"; ec: "bc.ec"; ed: "bc.ed"; ee: "bc.ee"; ef: "bc.ef"; eg: "bc.eg"; eh: "bc.eh"; ei: "bc.ei"; ej: "bc.ej"; ek: "bc.ek"; el: "bc.el"; em: "bc.em"; en: "bc.en"; eo: "bc.eo"; ep: "bc.ep"; eq: "bc.eq"; er: "bc.er"; es: "bc.es"; et: "bc.et"; eu: "bc.eu"; ev: "bc.ev"; ew: "bc.ew"; ex: "bc.ex"; ey: "bc.ey"; ez: "bc.ez"; fa: "bc.fa"; fb: "bc.fb"; fc: "bc.fc"; fd: "bc.fd"; fe: "bc.fe"; ff: "bc.ff"; fg: "bc.fg"; fh: "bc.fh"; fi: "bc.fi"; fj: "bc.fj"; fk: "bc.fk"; fl: "bc.fl"; fm: "bc.fm"; fn: "bc.fn"; fo: "bc.fo"; fp: "bc.fp"; fq: "bc.fq"; fr: "bc.fr"; fs: "bc.fs"; ft: "bc.ft"; fu: "bc.fu"; fv: "bc.fv"; fw: "bc.fw"; fx: "bc.fx"; fy: "bc.fy"; fz: "bc.fz"; ga: "bc.ga"; gb: "bc.gb"; gc: "bc.gc"; gd: "bc.gd"; ge: "bc.ge"; gf: "bc.gf"; gg: "bc.gg"; gh: "bc.gh"; gi: "bc.gi"; gj: "bc.gj"; gk: "bc.gk"; gl: "bc.gl"; gm: "bc.gm"; gn: "bc.gn"; go: "bc.go"; gp: "bc.gp"; gq: "bc.gq"; gr: "bc.gr"; gs: "bc.gs"; gt: "bc.gt"; gu: "bc.gu"; gv: "bc.gv"; gw: "bc.gw"; gx: "bc.gx"; gy: "bc.gy"; gz: "bc.gz"; ha: "bc.ha"; hb: "bc.hb"; hc: "bc.hc"; hd: "bc.hd"; he: "bc.he"; hf: "bc.hf"; hg: "bc.hg"; hh: "bc.hh"; hi: "bc.hi"; hj: "bc.hj"; hk: "bc.hk"; hl: "bc.hl"; hm: "bc.hm"; hn: "bc.hn"; ho: "bc.ho"; hp: "bc.hp"; hq: "bc.hq"; hr: "bc.hr"; hs: "bc.hs"; ht: "bc.ht"; hu: "bc.hu"; hv: "bc.hv"; hw: "bc.hw"; hx: "bc.hx"; hy: "bc.hy"; hz: "bc.hz"; ia: "bc.ia"; ib: "bc.ib"; ic: "bc.ic"; id: "bc.id"; ie: "bc.ie"; if: "bc.if"; ig: "bc.ig"; ih: "bc.ih"; ii: "bc.ii"; ij: "bc.ij"; ik: "bc.ik"; il: "bc.il"; im: "bc.im"; in: "bc.in"; io: "bc.io"; ip: "bc.ip"; iq: "bc.iq"; ir: "bc.ir"; is: "bc.is"; it: "bc.it"; iu: "bc.iu"; iv: "bc.iv"; iw: "bc.iw"; ix: "bc.ix"; iy: "bc.iy"; iz: "bc.iz"; ja: "bc.ja"; jb: "bc.jb"; jc: "bc.jc"; jd: "bc.jd"; je: "bc.je"; jf: "bc.jf"; jg: "bc.jg"; jh: "bc.jh"; ji: "bc.ji"; jj: "bc.jj"; jk: "bc.jk"; jl: "bc.jl"; jm: "bc.jm"; jn: "bc.jn"; jo: "bc.jo"; jp: "bc.jp"; jq: "bc.jq"; jr: "bc.jr"; js: "bc.js"; jt: "bc.jt"; ju: "bc.ju"; jv: "bc.jv"; jw: "bc.jw"; jx: "bc.jx"; jy: "bc.jy"; jz: "bc.jz"; ka: "bc.ka"; kb: "bc.kb"; kc: "bc.kc"; kd: "bc.kd"; ke: "bc.ke"; kf: "bc.kf"; kg: "bc.kg"; kh: "bc.kh"; ki: "bc.ki"; kj: "bc.kj"; kk: "bc.kk"; kl: "bc.kl"; km: "bc.km"; kn: "bc.kn"; ko: "bc.ko"; kp: "bc.kp"; kq: "bc.kq"; kr: "bc.kr"; ks: "bc.ks"; kt: "bc.kt"; ku: "bc.ku"; kv: "bc.kv"; kw: "bc.kw"; kx: "bc.kx"; ky: "bc.ky"; kz: "bc.kz"; la: "bc.la"; lb: "bc.lb"; lc: "bc.lc"; ld: "bc.ld"; le: "bc.le"; lf: "bc.lf"; lg: "bc.lg"; lh: "bc.lh"; li: "bc.li"; lj: "bc.lj"; lk: "bc.lk"; ll: "bc.ll"; lm: "bc.lm"; ln: "bc.ln"; lo: "bc.lo"; lp: "bc.lp"; lq: "bc.lq"; lr: "bc.lr"; ls: "bc.ls"; lt: "bc.lt"; lu: "bc.lu"; lv: "bc.lv"; lw: "bc.lw"; lx: "bc.lx"; ly: "bc.ly"; lz: "bc.lz"; ma: "bc.ma"; mb: "bc.mb"; mc: "bc.mc"; md: "bc.md"; me: "bc.me"; mf: "bc.mf"; mg: "bc.mg"; mh: "bc.mh"; mi: "bc.mi"; mj: "bc.mj"; mk: "bc.mk"; ml: "bc.ml"; mm: "bc.mm"; mn: "bc.mn"; mo: "bc.mo"; mp: "bc.mp"; mq: "bc.mq"; mr: "bc.mr"; ms: "bc.ms"; mt: "bc.mt"; mu: "bc.mu"; mv: "bc.mv"; mw: "bc.mw"; mx: "bc.mx"; my: "bc.my"; mz: "bc.mz"; na: "bc.na"; nb: "bc.nb"; nc: "bc.nc"; nd: "bc.nd"; ne: "bc.ne"; nf: "bc.nf"; ng: "bc.ng"; nh: "bc.nh"; ni: "bc.ni"; nj: "bc.nj"; nk: "bc.nk"; nl: "bc.nl"; nm: "bc.nm"; nn: "bc.nn"; no: "bc.no"; np: "bc.np"; nq: "bc.nq"; nr: "bc.nr"; ns: "bc.ns"; nt: "bc.nt"; nu: "bc.nu"; nv: "bc.nv"; nw: "bc.nw"; nx: "bc.nx"; ny: "bc.ny"; nz: "bc.nz"; oa: "bc.oa"; ob: "bc.ob"; oc: "bc.oc"; od: "bc.od"; oe: "bc.oe"; of: "bc.of"; og: "bc.og"; oh: "bc.oh"; oi: "bc.oi"; oj: "bc.oj"; ok: "bc.ok"; ol: "bc.ol"; om: "bc.om"; on: "bc.on"; oo: "bc.oo"; op: "bc.op"; oq: "bc.oq"; or: "bc.or"; os: "bc.os"; ot: "bc.ot"; ou: "bc.ou"; ov: "bc.ov"; ow: "bc.ow"; ox: "bc.ox"; oy: "bc.oy"; oz: "bc.oz"; pa: "bc.pa"; pb: "bc.pb"; pc: "bc.pc"; pd: "bc.pd"; pe: "bc.pe"; pf: "bc.pf"; pg: "bc.pg"; ph: "bc.ph"; pi: "bc.pi"; pj: "bc.pj"; pk: "bc.pk"; pl: "bc.pl"; pm: "bc.pm"; pn: "bc.pn"; po: "bc.po"; pp: "bc.pp"; pq: "bc.pq"; pr: "bc.pr"; ps: "bc.ps"; pt: "bc.pt"; pu: "bc.pu"; pv: "bc.pv"; pw: "bc.pw"; px: "bc.px"; py: "bc.py"; pz: "bc.pz"; qa: "bc.qa"; qb: "bc.qb"; qc: "bc.qc"; qd: "bc.qd"; qe: "bc.qe"; qf: "bc.qf"; qg: "bc.qg"; qh: "bc.qh"; qi: "bc.qi"; qj: "bc.qj"; qk: "bc.qk"; ql: "bc.ql"; qm: "bc.qm"; qn: "bc.qn"; qo: "bc.qo"; qp: "bc.qp"; qq: "bc.qq"; qr: "bc.qr"; qs: "bc.qs"; qt: "bc.qt"; qu: "bc.qu"; qv: "bc.qv"; qw: "bc.qw"; qx: "bc.qx"; qy: "bc.qy"; qz: "bc.qz"; ra: "bc.ra"; rb: "bc.rb"; rc: "bc.rc"; rd: "bc.rd"; re: "bc.re"; rf: "bc.rf"; rg: "bc.rg"; rh: "bc.rh"; ri: "bc.ri"; rj: "bc.rj"; rk: "bc.rk"; rl: "bc.rl"; rm: "bc.rm"; rn: "bc.rn"; ro: "bc.ro"; rp: "bc.rp"; rq: "bc.rq"; rr: "bc.rr"; rs: "bc.rs"; rt: "bc.rt"; ru: "bc.ru"; rv: "bc.rv"; rw: "bc.rw"; rx: "bc.rx"; ry: "bc.ry"; rz: "bc.rz"; sa: "bc.sa"; sb: "bc.sb"; sc: "bc.sc"; sd: "bc.sd"; se: "bc.se"; sf: "bc.sf"; sg: "bc.sg"; sh: "bc.sh"; si: "bc.si"; sj: "bc.sj"; sk: "bc.sk"; sl: "bc.sl"; sm: "bc.sm"; sn: "bc.sn"; so: "bc.so"; sp: "bc.sp"; sq: "bc.sq"; sr: "bc.sr"; ss: "bc.ss"; st: "bc.st"; su: "bc.su"; sv: "bc.sv"; sw: "bc.sw"; sx: "bc.sx"; sy: "bc.sy"; sz: "bc.sz"; ta: "bc.ta"; tb: "bc.tb"; tc: "bc.tc"; td: "bc.td"; te: "bc.te"; tf: "bc.tf"; tg: "bc.tg"; th: "bc.th"; ti: "bc.ti"; tj: "bc.tj"; tk: "bc.tk"; tl: "bc.tl"; tm: "bc.tm"; tn: "bc.tn"; to: "bc.to"; tp: "bc.tp"; tq: "bc.tq"; tr: "bc.tr"; ts: "bc.ts"; tt: "bc.tt"; tu: "bc.tu"; tv: "bc.tv"; tw: "bc.tw"; tx: "bc.tx"; ty: "bc.ty"; tz: "bc.tz"; ua: "bc.ua"; ub: "bc.ub"; uc: "bc.uc"; ud: "bc.ud"; ue: "bc.ue"; uf: "bc.uf"; ug: "bc.ug"; uh: "bc.uh"; ui: "bc.ui"; uj: "bc.uj"; uk: "bc.uk"; ul: "bc.ul"; um: "bc.um"; un: "bc.un"; uo: "bc.uo"; up: "bc.up"; uq: "bc.uq"; ur: "bc.ur"; us: "bc.us"; ut: "bc.ut"; uu: "bc.uu"; uv: "bc.uv"; uw: "bc.uw"; ux: "bc.ux"; uy: "bc.uy"; uz: "bc.uz"; va: "bc.va"; vb: "bc.vb"; vc: "bc.vc"; vd: "bc.vd"; ve: "bc.ve"; vf: "bc.vf"; vg: "bc.vg"; vh: "bc.vh"; vi: "bc.vi"; vj: "bc.vj"; vk: "bc.vk"; vl: "bc.vl"; vm: "bc.vm"; vn: "bc.vn"; vo: "bc.vo"; vp: "bc.vp"; vq: "bc.vq"; vr: "bc.vr"; vs: "bc.vs"; vt: "bc.vt"; vu: "bc.vu"; vv: "bc.vv"; vw: "bc.vw"; vx: "bc.vx"; vy: "bc.vy"; vz: "bc.vz"; wa: "bc.wa"; wb: "bc.wb"; wc: "bc.wc"; wd: "bc.wd"; we: "bc.we"; wf: "bc.wf"; wg: "bc.wg"; wh: "bc.wh"; wi: "bc.wi"; wj: "bc.wj"; wk: "bc.wk"; wl: "bc.wl"; wm: "bc.wm"; wn: "bc.wn"; wo: "bc.wo"; wp: "bc.wp"; wq: "bc.wq"; wr: "bc.wr"; ws: "bc.ws"; wt: "bc.wt"; wu: "bc.wu"; wv: "bc.wv"; ww: "bc.ww"; wx: "bc.wx"; wy: "bc.wy"; wz: "bc.wz"; xa: "bc.xa"; xb: "bc.xb"; xc: "bc.xc"; xd: "bc.xd"; xe: "bc.xe"; xf: "bc.xf"; xg: "bc.xg"; xh: "bc.xh"; xi: "bc.xi"; xj: "bc.xj"; xk: "bc.xk"; xl: "bc.xl"; xm: "bc.xm"; xn: "bc.xn"; xo: "bc.xo"; xp: "bc.xp"; xq: "bc.xq"; xr: "bc.xr"; xs: "bc.xs"; xt: "bc.xt"; xu: "bc.xu"; xv: "bc.xv"; xw: "bc.xw"; xx: "bc.xx"; xy: "bc.xy"; xz: "bc.xz"; ya: "bc.ya"; yb: "bc.yb"; yc: "bc.yc"; yd: "bc.yd"; ye: "bc.ye"; yf: "bc.yf"; yg: "bc.yg"; yh: "bc.yh"; yi: "bc.yi"; yj: "bc.yj"; yk: "bc.yk"; yl: "bc.yl"; ym: "bc.ym"; yn: "bc.yn"; yo: "bc.yo"; yp: "bc.yp"; yq: "bc.yq"; yr: "bc.yr"; ys: "bc.ys"; yt: "bc.yt"; yu: "bc.yu"; yv: "bc.yv"; yw: "bc.yw"; yx: "bc.yx"; yy: "bc.yy"; yz: "bc.yz"; za: "bc.za"; zb: "bc.zb"; zc: "bc.zc"; zd: "bc.zd"; ze: "bc.ze"; zf: "bc.zf"; zg: "bc.zg"; zh: "bc.zh"; zi: "bc.zi"; zj: "bc.zj"; zk: "bc.zk"; zl: "bc.zl"; zm: "bc.zm"; zn: "bc.zn"; zo: "bc.zo"; zp: "bc.zp"; zq: "bc.zq"; zr: "bc.zr"; zs: "bc.zs"; zt: "bc.zt"; zu: "bc.zu"; zv: "bc.zv"; zw: "bc.zw"; zx: "bc.zx"; zy: "bc.zy"; zz: "bc.zz"; }; bd: { aa: "bd.aa"; ab: "bd.ab"; ac: "bd.ac"; ad: "bd.ad"; ae: "bd.ae"; af: "bd.af"; ag: "bd.ag"; ah: "bd.ah"; ai: "bd.ai"; aj: "bd.aj"; ak: "bd.ak"; al: "bd.al"; am: "bd.am"; an: "bd.an"; ao: "bd.ao"; ap: "bd.ap"; aq: "bd.aq"; ar: "bd.ar"; as: "bd.as"; at: "bd.at"; au: "bd.au"; av: "bd.av"; aw: "bd.aw"; ax: "bd.ax"; ay: "bd.ay"; az: "bd.az"; ba: "bd.ba"; bb: "bd.bb"; bc: "bd.bc"; bd: "bd.bd"; be: "bd.be"; bf: "bd.bf"; bg: "bd.bg"; bh: "bd.bh"; bi: "bd.bi"; bj: "bd.bj"; bk: "bd.bk"; bl: "bd.bl"; bm: "bd.bm"; bn: "bd.bn"; bo: "bd.bo"; bp: "bd.bp"; bq: "bd.bq"; br: "bd.br"; bs: "bd.bs"; bt: "bd.bt"; bu: "bd.bu"; bv: "bd.bv"; bw: "bd.bw"; bx: "bd.bx"; by: "bd.by"; bz: "bd.bz"; ca: "bd.ca"; cb: "bd.cb"; cc: "bd.cc"; cd: "bd.cd"; ce: "bd.ce"; cf: "bd.cf"; cg: "bd.cg"; ch: "bd.ch"; ci: "bd.ci"; cj: "bd.cj"; ck: "bd.ck"; cl: "bd.cl"; cm: "bd.cm"; cn: "bd.cn"; co: "bd.co"; cp: "bd.cp"; cq: "bd.cq"; cr: "bd.cr"; cs: "bd.cs"; ct: "bd.ct"; cu: "bd.cu"; cv: "bd.cv"; cw: "bd.cw"; cx: "bd.cx"; cy: "bd.cy"; cz: "bd.cz"; da: "bd.da"; db: "bd.db"; dc: "bd.dc"; dd: "bd.dd"; de: "bd.de"; df: "bd.df"; dg: "bd.dg"; dh: "bd.dh"; di: "bd.di"; dj: "bd.dj"; dk: "bd.dk"; dl: "bd.dl"; dm: "bd.dm"; dn: "bd.dn"; do: "bd.do"; dp: "bd.dp"; dq: "bd.dq"; dr: "bd.dr"; ds: "bd.ds"; dt: "bd.dt"; du: "bd.du"; dv: "bd.dv"; dw: "bd.dw"; dx: "bd.dx"; dy: "bd.dy"; dz: "bd.dz"; ea: "bd.ea"; eb: "bd.eb"; ec: "bd.ec"; ed: "bd.ed"; ee: "bd.ee"; ef: "bd.ef"; eg: "bd.eg"; eh: "bd.eh"; ei: "bd.ei"; ej: "bd.ej"; ek: "bd.ek"; el: "bd.el"; em: "bd.em"; en: "bd.en"; eo: "bd.eo"; ep: "bd.ep"; eq: "bd.eq"; er: "bd.er"; es: "bd.es"; et: "bd.et"; eu: "bd.eu"; ev: "bd.ev"; ew: "bd.ew"; ex: "bd.ex"; ey: "bd.ey"; ez: "bd.ez"; fa: "bd.fa"; fb: "bd.fb"; fc: "bd.fc"; fd: "bd.fd"; fe: "bd.fe"; ff: "bd.ff"; fg: "bd.fg"; fh: "bd.fh"; fi: "bd.fi"; fj: "bd.fj"; fk: "bd.fk"; fl: "bd.fl"; fm: "bd.fm"; fn: "bd.fn"; fo: "bd.fo"; fp: "bd.fp"; fq: "bd.fq"; fr: "bd.fr"; fs: "bd.fs"; ft: "bd.ft"; fu: "bd.fu"; fv: "bd.fv"; fw: "bd.fw"; fx: "bd.fx"; fy: "bd.fy"; fz: "bd.fz"; ga: "bd.ga"; gb: "bd.gb"; gc: "bd.gc"; gd: "bd.gd"; ge: "bd.ge"; gf: "bd.gf"; gg: "bd.gg"; gh: "bd.gh"; gi: "bd.gi"; gj: "bd.gj"; gk: "bd.gk"; gl: "bd.gl"; gm: "bd.gm"; gn: "bd.gn"; go: "bd.go"; gp: "bd.gp"; gq: "bd.gq"; gr: "bd.gr"; gs: "bd.gs"; gt: "bd.gt"; gu: "bd.gu"; gv: "bd.gv"; gw: "bd.gw"; gx: "bd.gx"; gy: "bd.gy"; gz: "bd.gz"; ha: "bd.ha"; hb: "bd.hb"; hc: "bd.hc"; hd: "bd.hd"; he: "bd.he"; hf: "bd.hf"; hg: "bd.hg"; hh: "bd.hh"; hi: "bd.hi"; hj: "bd.hj"; hk: "bd.hk"; hl: "bd.hl"; hm: "bd.hm"; hn: "bd.hn"; ho: "bd.ho"; hp: "bd.hp"; hq: "bd.hq"; hr: "bd.hr"; hs: "bd.hs"; ht: "bd.ht"; hu: "bd.hu"; hv: "bd.hv"; hw: "bd.hw"; hx: "bd.hx"; hy: "bd.hy"; hz: "bd.hz"; ia: "bd.ia"; ib: "bd.ib"; ic: "bd.ic"; id: "bd.id"; ie: "bd.ie"; if: "bd.if"; ig: "bd.ig"; ih: "bd.ih"; ii: "bd.ii"; ij: "bd.ij"; ik: "bd.ik"; il: "bd.il"; im: "bd.im"; in: "bd.in"; io: "bd.io"; ip: "bd.ip"; iq: "bd.iq"; ir: "bd.ir"; is: "bd.is"; it: "bd.it"; iu: "bd.iu"; iv: "bd.iv"; iw: "bd.iw"; ix: "bd.ix"; iy: "bd.iy"; iz: "bd.iz"; ja: "bd.ja"; jb: "bd.jb"; jc: "bd.jc"; jd: "bd.jd"; je: "bd.je"; jf: "bd.jf"; jg: "bd.jg"; jh: "bd.jh"; ji: "bd.ji"; jj: "bd.jj"; jk: "bd.jk"; jl: "bd.jl"; jm: "bd.jm"; jn: "bd.jn"; jo: "bd.jo"; jp: "bd.jp"; jq: "bd.jq"; jr: "bd.jr"; js: "bd.js"; jt: "bd.jt"; ju: "bd.ju"; jv: "bd.jv"; jw: "bd.jw"; jx: "bd.jx"; jy: "bd.jy"; jz: "bd.jz"; ka: "bd.ka"; kb: "bd.kb"; kc: "bd.kc"; kd: "bd.kd"; ke: "bd.ke"; kf: "bd.kf"; kg: "bd.kg"; kh: "bd.kh"; ki: "bd.ki"; kj: "bd.kj"; kk: "bd.kk"; kl: "bd.kl"; km: "bd.km"; kn: "bd.kn"; ko: "bd.ko"; kp: "bd.kp"; kq: "bd.kq"; kr: "bd.kr"; ks: "bd.ks"; kt: "bd.kt"; ku: "bd.ku"; kv: "bd.kv"; kw: "bd.kw"; kx: "bd.kx"; ky: "bd.ky"; kz: "bd.kz"; la: "bd.la"; lb: "bd.lb"; lc: "bd.lc"; ld: "bd.ld"; le: "bd.le"; lf: "bd.lf"; lg: "bd.lg"; lh: "bd.lh"; li: "bd.li"; lj: "bd.lj"; lk: "bd.lk"; ll: "bd.ll"; lm: "bd.lm"; ln: "bd.ln"; lo: "bd.lo"; lp: "bd.lp"; lq: "bd.lq"; lr: "bd.lr"; ls: "bd.ls"; lt: "bd.lt"; lu: "bd.lu"; lv: "bd.lv"; lw: "bd.lw"; lx: "bd.lx"; ly: "bd.ly"; lz: "bd.lz"; ma: "bd.ma"; mb: "bd.mb"; mc: "bd.mc"; md: "bd.md"; me: "bd.me"; mf: "bd.mf"; mg: "bd.mg"; mh: "bd.mh"; mi: "bd.mi"; mj: "bd.mj"; mk: "bd.mk"; ml: "bd.ml"; mm: "bd.mm"; mn: "bd.mn"; mo: "bd.mo"; mp: "bd.mp"; mq: "bd.mq"; mr: "bd.mr"; ms: "bd.ms"; mt: "bd.mt"; mu: "bd.mu"; mv: "bd.mv"; mw: "bd.mw"; mx: "bd.mx"; my: "bd.my"; mz: "bd.mz"; na: "bd.na"; nb: "bd.nb"; nc: "bd.nc"; nd: "bd.nd"; ne: "bd.ne"; nf: "bd.nf"; ng: "bd.ng"; nh: "bd.nh"; ni: "bd.ni"; nj: "bd.nj"; nk: "bd.nk"; nl: "bd.nl"; nm: "bd.nm"; nn: "bd.nn"; no: "bd.no"; np: "bd.np"; nq: "bd.nq"; nr: "bd.nr"; ns: "bd.ns"; nt: "bd.nt"; nu: "bd.nu"; nv: "bd.nv"; nw: "bd.nw"; nx: "bd.nx"; ny: "bd.ny"; nz: "bd.nz"; oa: "bd.oa"; ob: "bd.ob"; oc: "bd.oc"; od: "bd.od"; oe: "bd.oe"; of: "bd.of"; og: "bd.og"; oh: "bd.oh"; oi: "bd.oi"; oj: "bd.oj"; ok: "bd.ok"; ol: "bd.ol"; om: "bd.om"; on: "bd.on"; oo: "bd.oo"; op: "bd.op"; oq: "bd.oq"; or: "bd.or"; os: "bd.os"; ot: "bd.ot"; ou: "bd.ou"; ov: "bd.ov"; ow: "bd.ow"; ox: "bd.ox"; oy: "bd.oy"; oz: "bd.oz"; pa: "bd.pa"; pb: "bd.pb"; pc: "bd.pc"; pd: "bd.pd"; pe: "bd.pe"; pf: "bd.pf"; pg: "bd.pg"; ph: "bd.ph"; pi: "bd.pi"; pj: "bd.pj"; pk: "bd.pk"; pl: "bd.pl"; pm: "bd.pm"; pn: "bd.pn"; po: "bd.po"; pp: "bd.pp"; pq: "bd.pq"; pr: "bd.pr"; ps: "bd.ps"; pt: "bd.pt"; pu: "bd.pu"; pv: "bd.pv"; pw: "bd.pw"; px: "bd.px"; py: "bd.py"; pz: "bd.pz"; qa: "bd.qa"; qb: "bd.qb"; qc: "bd.qc"; qd: "bd.qd"; qe: "bd.qe"; qf: "bd.qf"; qg: "bd.qg"; qh: "bd.qh"; qi: "bd.qi"; qj: "bd.qj"; qk: "bd.qk"; ql: "bd.ql"; qm: "bd.qm"; qn: "bd.qn"; qo: "bd.qo"; qp: "bd.qp"; qq: "bd.qq"; qr: "bd.qr"; qs: "bd.qs"; qt: "bd.qt"; qu: "bd.qu"; qv: "bd.qv"; qw: "bd.qw"; qx: "bd.qx"; qy: "bd.qy"; qz: "bd.qz"; ra: "bd.ra"; rb: "bd.rb"; rc: "bd.rc"; rd: "bd.rd"; re: "bd.re"; rf: "bd.rf"; rg: "bd.rg"; rh: "bd.rh"; ri: "bd.ri"; rj: "bd.rj"; rk: "bd.rk"; rl: "bd.rl"; rm: "bd.rm"; rn: "bd.rn"; ro: "bd.ro"; rp: "bd.rp"; rq: "bd.rq"; rr: "bd.rr"; rs: "bd.rs"; rt: "bd.rt"; ru: "bd.ru"; rv: "bd.rv"; rw: "bd.rw"; rx: "bd.rx"; ry: "bd.ry"; rz: "bd.rz"; sa: "bd.sa"; sb: "bd.sb"; sc: "bd.sc"; sd: "bd.sd"; se: "bd.se"; sf: "bd.sf"; sg: "bd.sg"; sh: "bd.sh"; si: "bd.si"; sj: "bd.sj"; sk: "bd.sk"; sl: "bd.sl"; sm: "bd.sm"; sn: "bd.sn"; so: "bd.so"; sp: "bd.sp"; sq: "bd.sq"; sr: "bd.sr"; ss: "bd.ss"; st: "bd.st"; su: "bd.su"; sv: "bd.sv"; sw: "bd.sw"; sx: "bd.sx"; sy: "bd.sy"; sz: "bd.sz"; ta: "bd.ta"; tb: "bd.tb"; tc: "bd.tc"; td: "bd.td"; te: "bd.te"; tf: "bd.tf"; tg: "bd.tg"; th: "bd.th"; ti: "bd.ti"; tj: "bd.tj"; tk: "bd.tk"; tl: "bd.tl"; tm: "bd.tm"; tn: "bd.tn"; to: "bd.to"; tp: "bd.tp"; tq: "bd.tq"; tr: "bd.tr"; ts: "bd.ts"; tt: "bd.tt"; tu: "bd.tu"; tv: "bd.tv"; tw: "bd.tw"; tx: "bd.tx"; ty: "bd.ty"; tz: "bd.tz"; ua: "bd.ua"; ub: "bd.ub"; uc: "bd.uc"; ud: "bd.ud"; ue: "bd.ue"; uf: "bd.uf"; ug: "bd.ug"; uh: "bd.uh"; ui: "bd.ui"; uj: "bd.uj"; uk: "bd.uk"; ul: "bd.ul"; um: "bd.um"; un: "bd.un"; uo: "bd.uo"; up: "bd.up"; uq: "bd.uq"; ur: "bd.ur"; us: "bd.us"; ut: "bd.ut"; uu: "bd.uu"; uv: "bd.uv"; uw: "bd.uw"; ux: "bd.ux"; uy: "bd.uy"; uz: "bd.uz"; va: "bd.va"; vb: "bd.vb"; vc: "bd.vc"; vd: "bd.vd"; ve: "bd.ve"; vf: "bd.vf"; vg: "bd.vg"; vh: "bd.vh"; vi: "bd.vi"; vj: "bd.vj"; vk: "bd.vk"; vl: "bd.vl"; vm: "bd.vm"; vn: "bd.vn"; vo: "bd.vo"; vp: "bd.vp"; vq: "bd.vq"; vr: "bd.vr"; vs: "bd.vs"; vt: "bd.vt"; vu: "bd.vu"; vv: "bd.vv"; vw: "bd.vw"; vx: "bd.vx"; vy: "bd.vy"; vz: "bd.vz"; wa: "bd.wa"; wb: "bd.wb"; wc: "bd.wc"; wd: "bd.wd"; we: "bd.we"; wf: "bd.wf"; wg: "bd.wg"; wh: "bd.wh"; wi: "bd.wi"; wj: "bd.wj"; wk: "bd.wk"; wl: "bd.wl"; wm: "bd.wm"; wn: "bd.wn"; wo: "bd.wo"; wp: "bd.wp"; wq: "bd.wq"; wr: "bd.wr"; ws: "bd.ws"; wt: "bd.wt"; wu: "bd.wu"; wv: "bd.wv"; ww: "bd.ww"; wx: "bd.wx"; wy: "bd.wy"; wz: "bd.wz"; xa: "bd.xa"; xb: "bd.xb"; xc: "bd.xc"; xd: "bd.xd"; xe: "bd.xe"; xf: "bd.xf"; xg: "bd.xg"; xh: "bd.xh"; xi: "bd.xi"; xj: "bd.xj"; xk: "bd.xk"; xl: "bd.xl"; xm: "bd.xm"; xn: "bd.xn"; xo: "bd.xo"; xp: "bd.xp"; xq: "bd.xq"; xr: "bd.xr"; xs: "bd.xs"; xt: "bd.xt"; xu: "bd.xu"; xv: "bd.xv"; xw: "bd.xw"; xx: "bd.xx"; xy: "bd.xy"; xz: "bd.xz"; ya: "bd.ya"; yb: "bd.yb"; yc: "bd.yc"; yd: "bd.yd"; ye: "bd.ye"; yf: "bd.yf"; yg: "bd.yg"; yh: "bd.yh"; yi: "bd.yi"; yj: "bd.yj"; yk: "bd.yk"; yl: "bd.yl"; ym: "bd.ym"; yn: "bd.yn"; yo: "bd.yo"; yp: "bd.yp"; yq: "bd.yq"; yr: "bd.yr"; ys: "bd.ys"; yt: "bd.yt"; yu: "bd.yu"; yv: "bd.yv"; yw: "bd.yw"; yx: "bd.yx"; yy: "bd.yy"; yz: "bd.yz"; za: "bd.za"; zb: "bd.zb"; zc: "bd.zc"; zd: "bd.zd"; ze: "bd.ze"; zf: "bd.zf"; zg: "bd.zg"; zh: "bd.zh"; zi: "bd.zi"; zj: "bd.zj"; zk: "bd.zk"; zl: "bd.zl"; zm: "bd.zm"; zn: "bd.zn"; zo: "bd.zo"; zp: "bd.zp"; zq: "bd.zq"; zr: "bd.zr"; zs: "bd.zs"; zt: "bd.zt"; zu: "bd.zu"; zv: "bd.zv"; zw: "bd.zw"; zx: "bd.zx"; zy: "bd.zy"; zz: "bd.zz"; }; be: { aa: "be.aa"; ab: "be.ab"; ac: "be.ac"; ad: "be.ad"; ae: "be.ae"; af: "be.af"; ag: "be.ag"; ah: "be.ah"; ai: "be.ai"; aj: "be.aj"; ak: "be.ak"; al: "be.al"; am: "be.am"; an: "be.an"; ao: "be.ao"; ap: "be.ap"; aq: "be.aq"; ar: "be.ar"; as: "be.as"; at: "be.at"; au: "be.au"; av: "be.av"; aw: "be.aw"; ax: "be.ax"; ay: "be.ay"; az: "be.az"; ba: "be.ba"; bb: "be.bb"; bc: "be.bc"; bd: "be.bd"; be: "be.be"; bf: "be.bf"; bg: "be.bg"; bh: "be.bh"; bi: "be.bi"; bj: "be.bj"; bk: "be.bk"; bl: "be.bl"; bm: "be.bm"; bn: "be.bn"; bo: "be.bo"; bp: "be.bp"; bq: "be.bq"; br: "be.br"; bs: "be.bs"; bt: "be.bt"; bu: "be.bu"; bv: "be.bv"; bw: "be.bw"; bx: "be.bx"; by: "be.by"; bz: "be.bz"; ca: "be.ca"; cb: "be.cb"; cc: "be.cc"; cd: "be.cd"; ce: "be.ce"; cf: "be.cf"; cg: "be.cg"; ch: "be.ch"; ci: "be.ci"; cj: "be.cj"; ck: "be.ck"; cl: "be.cl"; cm: "be.cm"; cn: "be.cn"; co: "be.co"; cp: "be.cp"; cq: "be.cq"; cr: "be.cr"; cs: "be.cs"; ct: "be.ct"; cu: "be.cu"; cv: "be.cv"; cw: "be.cw"; cx: "be.cx"; cy: "be.cy"; cz: "be.cz"; da: "be.da"; db: "be.db"; dc: "be.dc"; dd: "be.dd"; de: "be.de"; df: "be.df"; dg: "be.dg"; dh: "be.dh"; di: "be.di"; dj: "be.dj"; dk: "be.dk"; dl: "be.dl"; dm: "be.dm"; dn: "be.dn"; do: "be.do"; dp: "be.dp"; dq: "be.dq"; dr: "be.dr"; ds: "be.ds"; dt: "be.dt"; du: "be.du"; dv: "be.dv"; dw: "be.dw"; dx: "be.dx"; dy: "be.dy"; dz: "be.dz"; ea: "be.ea"; eb: "be.eb"; ec: "be.ec"; ed: "be.ed"; ee: "be.ee"; ef: "be.ef"; eg: "be.eg"; eh: "be.eh"; ei: "be.ei"; ej: "be.ej"; ek: "be.ek"; el: "be.el"; em: "be.em"; en: "be.en"; eo: "be.eo"; ep: "be.ep"; eq: "be.eq"; er: "be.er"; es: "be.es"; et: "be.et"; eu: "be.eu"; ev: "be.ev"; ew: "be.ew"; ex: "be.ex"; ey: "be.ey"; ez: "be.ez"; fa: "be.fa"; fb: "be.fb"; fc: "be.fc"; fd: "be.fd"; fe: "be.fe"; ff: "be.ff"; fg: "be.fg"; fh: "be.fh"; fi: "be.fi"; fj: "be.fj"; fk: "be.fk"; fl: "be.fl"; fm: "be.fm"; fn: "be.fn"; fo: "be.fo"; fp: "be.fp"; fq: "be.fq"; fr: "be.fr"; fs: "be.fs"; ft: "be.ft"; fu: "be.fu"; fv: "be.fv"; fw: "be.fw"; fx: "be.fx"; fy: "be.fy"; fz: "be.fz"; ga: "be.ga"; gb: "be.gb"; gc: "be.gc"; gd: "be.gd"; ge: "be.ge"; gf: "be.gf"; gg: "be.gg"; gh: "be.gh"; gi: "be.gi"; gj: "be.gj"; gk: "be.gk"; gl: "be.gl"; gm: "be.gm"; gn: "be.gn"; go: "be.go"; gp: "be.gp"; gq: "be.gq"; gr: "be.gr"; gs: "be.gs"; gt: "be.gt"; gu: "be.gu"; gv: "be.gv"; gw: "be.gw"; gx: "be.gx"; gy: "be.gy"; gz: "be.gz"; ha: "be.ha"; hb: "be.hb"; hc: "be.hc"; hd: "be.hd"; he: "be.he"; hf: "be.hf"; hg: "be.hg"; hh: "be.hh"; hi: "be.hi"; hj: "be.hj"; hk: "be.hk"; hl: "be.hl"; hm: "be.hm"; hn: "be.hn"; ho: "be.ho"; hp: "be.hp"; hq: "be.hq"; hr: "be.hr"; hs: "be.hs"; ht: "be.ht"; hu: "be.hu"; hv: "be.hv"; hw: "be.hw"; hx: "be.hx"; hy: "be.hy"; hz: "be.hz"; ia: "be.ia"; ib: "be.ib"; ic: "be.ic"; id: "be.id"; ie: "be.ie"; if: "be.if"; ig: "be.ig"; ih: "be.ih"; ii: "be.ii"; ij: "be.ij"; ik: "be.ik"; il: "be.il"; im: "be.im"; in: "be.in"; io: "be.io"; ip: "be.ip"; iq: "be.iq"; ir: "be.ir"; is: "be.is"; it: "be.it"; iu: "be.iu"; iv: "be.iv"; iw: "be.iw"; ix: "be.ix"; iy: "be.iy"; iz: "be.iz"; ja: "be.ja"; jb: "be.jb"; jc: "be.jc"; jd: "be.jd"; je: "be.je"; jf: "be.jf"; jg: "be.jg"; jh: "be.jh"; ji: "be.ji"; jj: "be.jj"; jk: "be.jk"; jl: "be.jl"; jm: "be.jm"; jn: "be.jn"; jo: "be.jo"; jp: "be.jp"; jq: "be.jq"; jr: "be.jr"; js: "be.js"; jt: "be.jt"; ju: "be.ju"; jv: "be.jv"; jw: "be.jw"; jx: "be.jx"; jy: "be.jy"; jz: "be.jz"; ka: "be.ka"; kb: "be.kb"; kc: "be.kc"; kd: "be.kd"; ke: "be.ke"; kf: "be.kf"; kg: "be.kg"; kh: "be.kh"; ki: "be.ki"; kj: "be.kj"; kk: "be.kk"; kl: "be.kl"; km: "be.km"; kn: "be.kn"; ko: "be.ko"; kp: "be.kp"; kq: "be.kq"; kr: "be.kr"; ks: "be.ks"; kt: "be.kt"; ku: "be.ku"; kv: "be.kv"; kw: "be.kw"; kx: "be.kx"; ky: "be.ky"; kz: "be.kz"; la: "be.la"; lb: "be.lb"; lc: "be.lc"; ld: "be.ld"; le: "be.le"; lf: "be.lf"; lg: "be.lg"; lh: "be.lh"; li: "be.li"; lj: "be.lj"; lk: "be.lk"; ll: "be.ll"; lm: "be.lm"; ln: "be.ln"; lo: "be.lo"; lp: "be.lp"; lq: "be.lq"; lr: "be.lr"; ls: "be.ls"; lt: "be.lt"; lu: "be.lu"; lv: "be.lv"; lw: "be.lw"; lx: "be.lx"; ly: "be.ly"; lz: "be.lz"; ma: "be.ma"; mb: "be.mb"; mc: "be.mc"; md: "be.md"; me: "be.me"; mf: "be.mf"; mg: "be.mg"; mh: "be.mh"; mi: "be.mi"; mj: "be.mj"; mk: "be.mk"; ml: "be.ml"; mm: "be.mm"; mn: "be.mn"; mo: "be.mo"; mp: "be.mp"; mq: "be.mq"; mr: "be.mr"; ms: "be.ms"; mt: "be.mt"; mu: "be.mu"; mv: "be.mv"; mw: "be.mw"; mx: "be.mx"; my: "be.my"; mz: "be.mz"; na: "be.na"; nb: "be.nb"; nc: "be.nc"; nd: "be.nd"; ne: "be.ne"; nf: "be.nf"; ng: "be.ng"; nh: "be.nh"; ni: "be.ni"; nj: "be.nj"; nk: "be.nk"; nl: "be.nl"; nm: "be.nm"; nn: "be.nn"; no: "be.no"; np: "be.np"; nq: "be.nq"; nr: "be.nr"; ns: "be.ns"; nt: "be.nt"; nu: "be.nu"; nv: "be.nv"; nw: "be.nw"; nx: "be.nx"; ny: "be.ny"; nz: "be.nz"; oa: "be.oa"; ob: "be.ob"; oc: "be.oc"; od: "be.od"; oe: "be.oe"; of: "be.of"; og: "be.og"; oh: "be.oh"; oi: "be.oi"; oj: "be.oj"; ok: "be.ok"; ol: "be.ol"; om: "be.om"; on: "be.on"; oo: "be.oo"; op: "be.op"; oq: "be.oq"; or: "be.or"; os: "be.os"; ot: "be.ot"; ou: "be.ou"; ov: "be.ov"; ow: "be.ow"; ox: "be.ox"; oy: "be.oy"; oz: "be.oz"; pa: "be.pa"; pb: "be.pb"; pc: "be.pc"; pd: "be.pd"; pe: "be.pe"; pf: "be.pf"; pg: "be.pg"; ph: "be.ph"; pi: "be.pi"; pj: "be.pj"; pk: "be.pk"; pl: "be.pl"; pm: "be.pm"; pn: "be.pn"; po: "be.po"; pp: "be.pp"; pq: "be.pq"; pr: "be.pr"; ps: "be.ps"; pt: "be.pt"; pu: "be.pu"; pv: "be.pv"; pw: "be.pw"; px: "be.px"; py: "be.py"; pz: "be.pz"; qa: "be.qa"; qb: "be.qb"; qc: "be.qc"; qd: "be.qd"; qe: "be.qe"; qf: "be.qf"; qg: "be.qg"; qh: "be.qh"; qi: "be.qi"; qj: "be.qj"; qk: "be.qk"; ql: "be.ql"; qm: "be.qm"; qn: "be.qn"; qo: "be.qo"; qp: "be.qp"; qq: "be.qq"; qr: "be.qr"; qs: "be.qs"; qt: "be.qt"; qu: "be.qu"; qv: "be.qv"; qw: "be.qw"; qx: "be.qx"; qy: "be.qy"; qz: "be.qz"; ra: "be.ra"; rb: "be.rb"; rc: "be.rc"; rd: "be.rd"; re: "be.re"; rf: "be.rf"; rg: "be.rg"; rh: "be.rh"; ri: "be.ri"; rj: "be.rj"; rk: "be.rk"; rl: "be.rl"; rm: "be.rm"; rn: "be.rn"; ro: "be.ro"; rp: "be.rp"; rq: "be.rq"; rr: "be.rr"; rs: "be.rs"; rt: "be.rt"; ru: "be.ru"; rv: "be.rv"; rw: "be.rw"; rx: "be.rx"; ry: "be.ry"; rz: "be.rz"; sa: "be.sa"; sb: "be.sb"; sc: "be.sc"; sd: "be.sd"; se: "be.se"; sf: "be.sf"; sg: "be.sg"; sh: "be.sh"; si: "be.si"; sj: "be.sj"; sk: "be.sk"; sl: "be.sl"; sm: "be.sm"; sn: "be.sn"; so: "be.so"; sp: "be.sp"; sq: "be.sq"; sr: "be.sr"; ss: "be.ss"; st: "be.st"; su: "be.su"; sv: "be.sv"; sw: "be.sw"; sx: "be.sx"; sy: "be.sy"; sz: "be.sz"; ta: "be.ta"; tb: "be.tb"; tc: "be.tc"; td: "be.td"; te: "be.te"; tf: "be.tf"; tg: "be.tg"; th: "be.th"; ti: "be.ti"; tj: "be.tj"; tk: "be.tk"; tl: "be.tl"; tm: "be.tm"; tn: "be.tn"; to: "be.to"; tp: "be.tp"; tq: "be.tq"; tr: "be.tr"; ts: "be.ts"; tt: "be.tt"; tu: "be.tu"; tv: "be.tv"; tw: "be.tw"; tx: "be.tx"; ty: "be.ty"; tz: "be.tz"; ua: "be.ua"; ub: "be.ub"; uc: "be.uc"; ud: "be.ud"; ue: "be.ue"; uf: "be.uf"; ug: "be.ug"; uh: "be.uh"; ui: "be.ui"; uj: "be.uj"; uk: "be.uk"; ul: "be.ul"; um: "be.um"; un: "be.un"; uo: "be.uo"; up: "be.up"; uq: "be.uq"; ur: "be.ur"; us: "be.us"; ut: "be.ut"; uu: "be.uu"; uv: "be.uv"; uw: "be.uw"; ux: "be.ux"; uy: "be.uy"; uz: "be.uz"; va: "be.va"; vb: "be.vb"; vc: "be.vc"; vd: "be.vd"; ve: "be.ve"; vf: "be.vf"; vg: "be.vg"; vh: "be.vh"; vi: "be.vi"; vj: "be.vj"; vk: "be.vk"; vl: "be.vl"; vm: "be.vm"; vn: "be.vn"; vo: "be.vo"; vp: "be.vp"; vq: "be.vq"; vr: "be.vr"; vs: "be.vs"; vt: "be.vt"; vu: "be.vu"; vv: "be.vv"; vw: "be.vw"; vx: "be.vx"; vy: "be.vy"; vz: "be.vz"; wa: "be.wa"; wb: "be.wb"; wc: "be.wc"; wd: "be.wd"; we: "be.we"; wf: "be.wf"; wg: "be.wg"; wh: "be.wh"; wi: "be.wi"; wj: "be.wj"; wk: "be.wk"; wl: "be.wl"; wm: "be.wm"; wn: "be.wn"; wo: "be.wo"; wp: "be.wp"; wq: "be.wq"; wr: "be.wr"; ws: "be.ws"; wt: "be.wt"; wu: "be.wu"; wv: "be.wv"; ww: "be.ww"; wx: "be.wx"; wy: "be.wy"; wz: "be.wz"; xa: "be.xa"; xb: "be.xb"; xc: "be.xc"; xd: "be.xd"; xe: "be.xe"; xf: "be.xf"; xg: "be.xg"; xh: "be.xh"; xi: "be.xi"; xj: "be.xj"; xk: "be.xk"; xl: "be.xl"; xm: "be.xm"; xn: "be.xn"; xo: "be.xo"; xp: "be.xp"; xq: "be.xq"; xr: "be.xr"; xs: "be.xs"; xt: "be.xt"; xu: "be.xu"; xv: "be.xv"; xw: "be.xw"; xx: "be.xx"; xy: "be.xy"; xz: "be.xz"; ya: "be.ya"; yb: "be.yb"; yc: "be.yc"; yd: "be.yd"; ye: "be.ye"; yf: "be.yf"; yg: "be.yg"; yh: "be.yh"; yi: "be.yi"; yj: "be.yj"; yk: "be.yk"; yl: "be.yl"; ym: "be.ym"; yn: "be.yn"; yo: "be.yo"; yp: "be.yp"; yq: "be.yq"; yr: "be.yr"; ys: "be.ys"; yt: "be.yt"; yu: "be.yu"; yv: "be.yv"; yw: "be.yw"; yx: "be.yx"; yy: "be.yy"; yz: "be.yz"; za: "be.za"; zb: "be.zb"; zc: "be.zc"; zd: "be.zd"; ze: "be.ze"; zf: "be.zf"; zg: "be.zg"; zh: "be.zh"; zi: "be.zi"; zj: "be.zj"; zk: "be.zk"; zl: "be.zl"; zm: "be.zm"; zn: "be.zn"; zo: "be.zo"; zp: "be.zp"; zq: "be.zq"; zr: "be.zr"; zs: "be.zs"; zt: "be.zt"; zu: "be.zu"; zv: "be.zv"; zw: "be.zw"; zx: "be.zx"; zy: "be.zy"; zz: "be.zz"; }; bf: { aa: "bf.aa"; ab: "bf.ab"; ac: "bf.ac"; ad: "bf.ad"; ae: "bf.ae"; af: "bf.af"; ag: "bf.ag"; ah: "bf.ah"; ai: "bf.ai"; aj: "bf.aj"; ak: "bf.ak"; al: "bf.al"; am: "bf.am"; an: "bf.an"; ao: "bf.ao"; ap: "bf.ap"; aq: "bf.aq"; ar: "bf.ar"; as: "bf.as"; at: "bf.at"; au: "bf.au"; av: "bf.av"; aw: "bf.aw"; ax: "bf.ax"; ay: "bf.ay"; az: "bf.az"; ba: "bf.ba"; bb: "bf.bb"; bc: "bf.bc"; bd: "bf.bd"; be: "bf.be"; bf: "bf.bf"; bg: "bf.bg"; bh: "bf.bh"; bi: "bf.bi"; bj: "bf.bj"; bk: "bf.bk"; bl: "bf.bl"; bm: "bf.bm"; bn: "bf.bn"; bo: "bf.bo"; bp: "bf.bp"; bq: "bf.bq"; br: "bf.br"; bs: "bf.bs"; bt: "bf.bt"; bu: "bf.bu"; bv: "bf.bv"; bw: "bf.bw"; bx: "bf.bx"; by: "bf.by"; bz: "bf.bz"; ca: "bf.ca"; cb: "bf.cb"; cc: "bf.cc"; cd: "bf.cd"; ce: "bf.ce"; cf: "bf.cf"; cg: "bf.cg"; ch: "bf.ch"; ci: "bf.ci"; cj: "bf.cj"; ck: "bf.ck"; cl: "bf.cl"; cm: "bf.cm"; cn: "bf.cn"; co: "bf.co"; cp: "bf.cp"; cq: "bf.cq"; cr: "bf.cr"; cs: "bf.cs"; ct: "bf.ct"; cu: "bf.cu"; cv: "bf.cv"; cw: "bf.cw"; cx: "bf.cx"; cy: "bf.cy"; cz: "bf.cz"; da: "bf.da"; db: "bf.db"; dc: "bf.dc"; dd: "bf.dd"; de: "bf.de"; df: "bf.df"; dg: "bf.dg"; dh: "bf.dh"; di: "bf.di"; dj: "bf.dj"; dk: "bf.dk"; dl: "bf.dl"; dm: "bf.dm"; dn: "bf.dn"; do: "bf.do"; dp: "bf.dp"; dq: "bf.dq"; dr: "bf.dr"; ds: "bf.ds"; dt: "bf.dt"; du: "bf.du"; dv: "bf.dv"; dw: "bf.dw"; dx: "bf.dx"; dy: "bf.dy"; dz: "bf.dz"; ea: "bf.ea"; eb: "bf.eb"; ec: "bf.ec"; ed: "bf.ed"; ee: "bf.ee"; ef: "bf.ef"; eg: "bf.eg"; eh: "bf.eh"; ei: "bf.ei"; ej: "bf.ej"; ek: "bf.ek"; el: "bf.el"; em: "bf.em"; en: "bf.en"; eo: "bf.eo"; ep: "bf.ep"; eq: "bf.eq"; er: "bf.er"; es: "bf.es"; et: "bf.et"; eu: "bf.eu"; ev: "bf.ev"; ew: "bf.ew"; ex: "bf.ex"; ey: "bf.ey"; ez: "bf.ez"; fa: "bf.fa"; fb: "bf.fb"; fc: "bf.fc"; fd: "bf.fd"; fe: "bf.fe"; ff: "bf.ff"; fg: "bf.fg"; fh: "bf.fh"; fi: "bf.fi"; fj: "bf.fj"; fk: "bf.fk"; fl: "bf.fl"; fm: "bf.fm"; fn: "bf.fn"; fo: "bf.fo"; fp: "bf.fp"; fq: "bf.fq"; fr: "bf.fr"; fs: "bf.fs"; ft: "bf.ft"; fu: "bf.fu"; fv: "bf.fv"; fw: "bf.fw"; fx: "bf.fx"; fy: "bf.fy"; fz: "bf.fz"; ga: "bf.ga"; gb: "bf.gb"; gc: "bf.gc"; gd: "bf.gd"; ge: "bf.ge"; gf: "bf.gf"; gg: "bf.gg"; gh: "bf.gh"; gi: "bf.gi"; gj: "bf.gj"; gk: "bf.gk"; gl: "bf.gl"; gm: "bf.gm"; gn: "bf.gn"; go: "bf.go"; gp: "bf.gp"; gq: "bf.gq"; gr: "bf.gr"; gs: "bf.gs"; gt: "bf.gt"; gu: "bf.gu"; gv: "bf.gv"; gw: "bf.gw"; gx: "bf.gx"; gy: "bf.gy"; gz: "bf.gz"; ha: "bf.ha"; hb: "bf.hb"; hc: "bf.hc"; hd: "bf.hd"; he: "bf.he"; hf: "bf.hf"; hg: "bf.hg"; hh: "bf.hh"; hi: "bf.hi"; hj: "bf.hj"; hk: "bf.hk"; hl: "bf.hl"; hm: "bf.hm"; hn: "bf.hn"; ho: "bf.ho"; hp: "bf.hp"; hq: "bf.hq"; hr: "bf.hr"; hs: "bf.hs"; ht: "bf.ht"; hu: "bf.hu"; hv: "bf.hv"; hw: "bf.hw"; hx: "bf.hx"; hy: "bf.hy"; hz: "bf.hz"; ia: "bf.ia"; ib: "bf.ib"; ic: "bf.ic"; id: "bf.id"; ie: "bf.ie"; if: "bf.if"; ig: "bf.ig"; ih: "bf.ih"; ii: "bf.ii"; ij: "bf.ij"; ik: "bf.ik"; il: "bf.il"; im: "bf.im"; in: "bf.in"; io: "bf.io"; ip: "bf.ip"; iq: "bf.iq"; ir: "bf.ir"; is: "bf.is"; it: "bf.it"; iu: "bf.iu"; iv: "bf.iv"; iw: "bf.iw"; ix: "bf.ix"; iy: "bf.iy"; iz: "bf.iz"; ja: "bf.ja"; jb: "bf.jb"; jc: "bf.jc"; jd: "bf.jd"; je: "bf.je"; jf: "bf.jf"; jg: "bf.jg"; jh: "bf.jh"; ji: "bf.ji"; jj: "bf.jj"; jk: "bf.jk"; jl: "bf.jl"; jm: "bf.jm"; jn: "bf.jn"; jo: "bf.jo"; jp: "bf.jp"; jq: "bf.jq"; jr: "bf.jr"; js: "bf.js"; jt: "bf.jt"; ju: "bf.ju"; jv: "bf.jv"; jw: "bf.jw"; jx: "bf.jx"; jy: "bf.jy"; jz: "bf.jz"; ka: "bf.ka"; kb: "bf.kb"; kc: "bf.kc"; kd: "bf.kd"; ke: "bf.ke"; kf: "bf.kf"; kg: "bf.kg"; kh: "bf.kh"; ki: "bf.ki"; kj: "bf.kj"; kk: "bf.kk"; kl: "bf.kl"; km: "bf.km"; kn: "bf.kn"; ko: "bf.ko"; kp: "bf.kp"; kq: "bf.kq"; kr: "bf.kr"; ks: "bf.ks"; kt: "bf.kt"; ku: "bf.ku"; kv: "bf.kv"; kw: "bf.kw"; kx: "bf.kx"; ky: "bf.ky"; kz: "bf.kz"; la: "bf.la"; lb: "bf.lb"; lc: "bf.lc"; ld: "bf.ld"; le: "bf.le"; lf: "bf.lf"; lg: "bf.lg"; lh: "bf.lh"; li: "bf.li"; lj: "bf.lj"; lk: "bf.lk"; ll: "bf.ll"; lm: "bf.lm"; ln: "bf.ln"; lo: "bf.lo"; lp: "bf.lp"; lq: "bf.lq"; lr: "bf.lr"; ls: "bf.ls"; lt: "bf.lt"; lu: "bf.lu"; lv: "bf.lv"; lw: "bf.lw"; lx: "bf.lx"; ly: "bf.ly"; lz: "bf.lz"; ma: "bf.ma"; mb: "bf.mb"; mc: "bf.mc"; md: "bf.md"; me: "bf.me"; mf: "bf.mf"; mg: "bf.mg"; mh: "bf.mh"; mi: "bf.mi"; mj: "bf.mj"; mk: "bf.mk"; ml: "bf.ml"; mm: "bf.mm"; mn: "bf.mn"; mo: "bf.mo"; mp: "bf.mp"; mq: "bf.mq"; mr: "bf.mr"; ms: "bf.ms"; mt: "bf.mt"; mu: "bf.mu"; mv: "bf.mv"; mw: "bf.mw"; mx: "bf.mx"; my: "bf.my"; mz: "bf.mz"; na: "bf.na"; nb: "bf.nb"; nc: "bf.nc"; nd: "bf.nd"; ne: "bf.ne"; nf: "bf.nf"; ng: "bf.ng"; nh: "bf.nh"; ni: "bf.ni"; nj: "bf.nj"; nk: "bf.nk"; nl: "bf.nl"; nm: "bf.nm"; nn: "bf.nn"; no: "bf.no"; np: "bf.np"; nq: "bf.nq"; nr: "bf.nr"; ns: "bf.ns"; nt: "bf.nt"; nu: "bf.nu"; nv: "bf.nv"; nw: "bf.nw"; nx: "bf.nx"; ny: "bf.ny"; nz: "bf.nz"; oa: "bf.oa"; ob: "bf.ob"; oc: "bf.oc"; od: "bf.od"; oe: "bf.oe"; of: "bf.of"; og: "bf.og"; oh: "bf.oh"; oi: "bf.oi"; oj: "bf.oj"; ok: "bf.ok"; ol: "bf.ol"; om: "bf.om"; on: "bf.on"; oo: "bf.oo"; op: "bf.op"; oq: "bf.oq"; or: "bf.or"; os: "bf.os"; ot: "bf.ot"; ou: "bf.ou"; ov: "bf.ov"; ow: "bf.ow"; ox: "bf.ox"; oy: "bf.oy"; oz: "bf.oz"; pa: "bf.pa"; pb: "bf.pb"; pc: "bf.pc"; pd: "bf.pd"; pe: "bf.pe"; pf: "bf.pf"; pg: "bf.pg"; ph: "bf.ph"; pi: "bf.pi"; pj: "bf.pj"; pk: "bf.pk"; pl: "bf.pl"; pm: "bf.pm"; pn: "bf.pn"; po: "bf.po"; pp: "bf.pp"; pq: "bf.pq"; pr: "bf.pr"; ps: "bf.ps"; pt: "bf.pt"; pu: "bf.pu"; pv: "bf.pv"; pw: "bf.pw"; px: "bf.px"; py: "bf.py"; pz: "bf.pz"; qa: "bf.qa"; qb: "bf.qb"; qc: "bf.qc"; qd: "bf.qd"; qe: "bf.qe"; qf: "bf.qf"; qg: "bf.qg"; qh: "bf.qh"; qi: "bf.qi"; qj: "bf.qj"; qk: "bf.qk"; ql: "bf.ql"; qm: "bf.qm"; qn: "bf.qn"; qo: "bf.qo"; qp: "bf.qp"; qq: "bf.qq"; qr: "bf.qr"; qs: "bf.qs"; qt: "bf.qt"; qu: "bf.qu"; qv: "bf.qv"; qw: "bf.qw"; qx: "bf.qx"; qy: "bf.qy"; qz: "bf.qz"; ra: "bf.ra"; rb: "bf.rb"; rc: "bf.rc"; rd: "bf.rd"; re: "bf.re"; rf: "bf.rf"; rg: "bf.rg"; rh: "bf.rh"; ri: "bf.ri"; rj: "bf.rj"; rk: "bf.rk"; rl: "bf.rl"; rm: "bf.rm"; rn: "bf.rn"; ro: "bf.ro"; rp: "bf.rp"; rq: "bf.rq"; rr: "bf.rr"; rs: "bf.rs"; rt: "bf.rt"; ru: "bf.ru"; rv: "bf.rv"; rw: "bf.rw"; rx: "bf.rx"; ry: "bf.ry"; rz: "bf.rz"; sa: "bf.sa"; sb: "bf.sb"; sc: "bf.sc"; sd: "bf.sd"; se: "bf.se"; sf: "bf.sf"; sg: "bf.sg"; sh: "bf.sh"; si: "bf.si"; sj: "bf.sj"; sk: "bf.sk"; sl: "bf.sl"; sm: "bf.sm"; sn: "bf.sn"; so: "bf.so"; sp: "bf.sp"; sq: "bf.sq"; sr: "bf.sr"; ss: "bf.ss"; st: "bf.st"; su: "bf.su"; sv: "bf.sv"; sw: "bf.sw"; sx: "bf.sx"; sy: "bf.sy"; sz: "bf.sz"; ta: "bf.ta"; tb: "bf.tb"; tc: "bf.tc"; td: "bf.td"; te: "bf.te"; tf: "bf.tf"; tg: "bf.tg"; th: "bf.th"; ti: "bf.ti"; tj: "bf.tj"; tk: "bf.tk"; tl: "bf.tl"; tm: "bf.tm"; tn: "bf.tn"; to: "bf.to"; tp: "bf.tp"; tq: "bf.tq"; tr: "bf.tr"; ts: "bf.ts"; tt: "bf.tt"; tu: "bf.tu"; tv: "bf.tv"; tw: "bf.tw"; tx: "bf.tx"; ty: "bf.ty"; tz: "bf.tz"; ua: "bf.ua"; ub: "bf.ub"; uc: "bf.uc"; ud: "bf.ud"; ue: "bf.ue"; uf: "bf.uf"; ug: "bf.ug"; uh: "bf.uh"; ui: "bf.ui"; uj: "bf.uj"; uk: "bf.uk"; ul: "bf.ul"; um: "bf.um"; un: "bf.un"; uo: "bf.uo"; up: "bf.up"; uq: "bf.uq"; ur: "bf.ur"; us: "bf.us"; ut: "bf.ut"; uu: "bf.uu"; uv: "bf.uv"; uw: "bf.uw"; ux: "bf.ux"; uy: "bf.uy"; uz: "bf.uz"; va: "bf.va"; vb: "bf.vb"; vc: "bf.vc"; vd: "bf.vd"; ve: "bf.ve"; vf: "bf.vf"; vg: "bf.vg"; vh: "bf.vh"; vi: "bf.vi"; vj: "bf.vj"; vk: "bf.vk"; vl: "bf.vl"; vm: "bf.vm"; vn: "bf.vn"; vo: "bf.vo"; vp: "bf.vp"; vq: "bf.vq"; vr: "bf.vr"; vs: "bf.vs"; vt: "bf.vt"; vu: "bf.vu"; vv: "bf.vv"; vw: "bf.vw"; vx: "bf.vx"; vy: "bf.vy"; vz: "bf.vz"; wa: "bf.wa"; wb: "bf.wb"; wc: "bf.wc"; wd: "bf.wd"; we: "bf.we"; wf: "bf.wf"; wg: "bf.wg"; wh: "bf.wh"; wi: "bf.wi"; wj: "bf.wj"; wk: "bf.wk"; wl: "bf.wl"; wm: "bf.wm"; wn: "bf.wn"; wo: "bf.wo"; wp: "bf.wp"; wq: "bf.wq"; wr: "bf.wr"; ws: "bf.ws"; wt: "bf.wt"; wu: "bf.wu"; wv: "bf.wv"; ww: "bf.ww"; wx: "bf.wx"; wy: "bf.wy"; wz: "bf.wz"; xa: "bf.xa"; xb: "bf.xb"; xc: "bf.xc"; xd: "bf.xd"; xe: "bf.xe"; xf: "bf.xf"; xg: "bf.xg"; xh: "bf.xh"; xi: "bf.xi"; xj: "bf.xj"; xk: "bf.xk"; xl: "bf.xl"; xm: "bf.xm"; xn: "bf.xn"; xo: "bf.xo"; xp: "bf.xp"; xq: "bf.xq"; xr: "bf.xr"; xs: "bf.xs"; xt: "bf.xt"; xu: "bf.xu"; xv: "bf.xv"; xw: "bf.xw"; xx: "bf.xx"; xy: "bf.xy"; xz: "bf.xz"; ya: "bf.ya"; yb: "bf.yb"; yc: "bf.yc"; yd: "bf.yd"; ye: "bf.ye"; yf: "bf.yf"; yg: "bf.yg"; yh: "bf.yh"; yi: "bf.yi"; yj: "bf.yj"; yk: "bf.yk"; yl: "bf.yl"; ym: "bf.ym"; yn: "bf.yn"; yo: "bf.yo"; yp: "bf.yp"; yq: "bf.yq"; yr: "bf.yr"; ys: "bf.ys"; yt: "bf.yt"; yu: "bf.yu"; yv: "bf.yv"; yw: "bf.yw"; yx: "bf.yx"; yy: "bf.yy"; yz: "bf.yz"; za: "bf.za"; zb: "bf.zb"; zc: "bf.zc"; zd: "bf.zd"; ze: "bf.ze"; zf: "bf.zf"; zg: "bf.zg"; zh: "bf.zh"; zi: "bf.zi"; zj: "bf.zj"; zk: "bf.zk"; zl: "bf.zl"; zm: "bf.zm"; zn: "bf.zn"; zo: "bf.zo"; zp: "bf.zp"; zq: "bf.zq"; zr: "bf.zr"; zs: "bf.zs"; zt: "bf.zt"; zu: "bf.zu"; zv: "bf.zv"; zw: "bf.zw"; zx: "bf.zx"; zy: "bf.zy"; zz: "bf.zz"; }; bg: { aa: "bg.aa"; ab: "bg.ab"; ac: "bg.ac"; ad: "bg.ad"; ae: "bg.ae"; af: "bg.af"; ag: "bg.ag"; ah: "bg.ah"; ai: "bg.ai"; aj: "bg.aj"; ak: "bg.ak"; al: "bg.al"; am: "bg.am"; an: "bg.an"; ao: "bg.ao"; ap: "bg.ap"; aq: "bg.aq"; ar: "bg.ar"; as: "bg.as"; at: "bg.at"; au: "bg.au"; av: "bg.av"; aw: "bg.aw"; ax: "bg.ax"; ay: "bg.ay"; az: "bg.az"; ba: "bg.ba"; bb: "bg.bb"; bc: "bg.bc"; bd: "bg.bd"; be: "bg.be"; bf: "bg.bf"; bg: "bg.bg"; bh: "bg.bh"; bi: "bg.bi"; bj: "bg.bj"; bk: "bg.bk"; bl: "bg.bl"; bm: "bg.bm"; bn: "bg.bn"; bo: "bg.bo"; bp: "bg.bp"; bq: "bg.bq"; br: "bg.br"; bs: "bg.bs"; bt: "bg.bt"; bu: "bg.bu"; bv: "bg.bv"; bw: "bg.bw"; bx: "bg.bx"; by: "bg.by"; bz: "bg.bz"; ca: "bg.ca"; cb: "bg.cb"; cc: "bg.cc"; cd: "bg.cd"; ce: "bg.ce"; cf: "bg.cf"; cg: "bg.cg"; ch: "bg.ch"; ci: "bg.ci"; cj: "bg.cj"; ck: "bg.ck"; cl: "bg.cl"; cm: "bg.cm"; cn: "bg.cn"; co: "bg.co"; cp: "bg.cp"; cq: "bg.cq"; cr: "bg.cr"; cs: "bg.cs"; ct: "bg.ct"; cu: "bg.cu"; cv: "bg.cv"; cw: "bg.cw"; cx: "bg.cx"; cy: "bg.cy"; cz: "bg.cz"; da: "bg.da"; db: "bg.db"; dc: "bg.dc"; dd: "bg.dd"; de: "bg.de"; df: "bg.df"; dg: "bg.dg"; dh: "bg.dh"; di: "bg.di"; dj: "bg.dj"; dk: "bg.dk"; dl: "bg.dl"; dm: "bg.dm"; dn: "bg.dn"; do: "bg.do"; dp: "bg.dp"; dq: "bg.dq"; dr: "bg.dr"; ds: "bg.ds"; dt: "bg.dt"; du: "bg.du"; dv: "bg.dv"; dw: "bg.dw"; dx: "bg.dx"; dy: "bg.dy"; dz: "bg.dz"; ea: "bg.ea"; eb: "bg.eb"; ec: "bg.ec"; ed: "bg.ed"; ee: "bg.ee"; ef: "bg.ef"; eg: "bg.eg"; eh: "bg.eh"; ei: "bg.ei"; ej: "bg.ej"; ek: "bg.ek"; el: "bg.el"; em: "bg.em"; en: "bg.en"; eo: "bg.eo"; ep: "bg.ep"; eq: "bg.eq"; er: "bg.er"; es: "bg.es"; et: "bg.et"; eu: "bg.eu"; ev: "bg.ev"; ew: "bg.ew"; ex: "bg.ex"; ey: "bg.ey"; ez: "bg.ez"; fa: "bg.fa"; fb: "bg.fb"; fc: "bg.fc"; fd: "bg.fd"; fe: "bg.fe"; ff: "bg.ff"; fg: "bg.fg"; fh: "bg.fh"; fi: "bg.fi"; fj: "bg.fj"; fk: "bg.fk"; fl: "bg.fl"; fm: "bg.fm"; fn: "bg.fn"; fo: "bg.fo"; fp: "bg.fp"; fq: "bg.fq"; fr: "bg.fr"; fs: "bg.fs"; ft: "bg.ft"; fu: "bg.fu"; fv: "bg.fv"; fw: "bg.fw"; fx: "bg.fx"; fy: "bg.fy"; fz: "bg.fz"; ga: "bg.ga"; gb: "bg.gb"; gc: "bg.gc"; gd: "bg.gd"; ge: "bg.ge"; gf: "bg.gf"; gg: "bg.gg"; gh: "bg.gh"; gi: "bg.gi"; gj: "bg.gj"; gk: "bg.gk"; gl: "bg.gl"; gm: "bg.gm"; gn: "bg.gn"; go: "bg.go"; gp: "bg.gp"; gq: "bg.gq"; gr: "bg.gr"; gs: "bg.gs"; gt: "bg.gt"; gu: "bg.gu"; gv: "bg.gv"; gw: "bg.gw"; gx: "bg.gx"; gy: "bg.gy"; gz: "bg.gz"; ha: "bg.ha"; hb: "bg.hb"; hc: "bg.hc"; hd: "bg.hd"; he: "bg.he"; hf: "bg.hf"; hg: "bg.hg"; hh: "bg.hh"; hi: "bg.hi"; hj: "bg.hj"; hk: "bg.hk"; hl: "bg.hl"; hm: "bg.hm"; hn: "bg.hn"; ho: "bg.ho"; hp: "bg.hp"; hq: "bg.hq"; hr: "bg.hr"; hs: "bg.hs"; ht: "bg.ht"; hu: "bg.hu"; hv: "bg.hv"; hw: "bg.hw"; hx: "bg.hx"; hy: "bg.hy"; hz: "bg.hz"; ia: "bg.ia"; ib: "bg.ib"; ic: "bg.ic"; id: "bg.id"; ie: "bg.ie"; if: "bg.if"; ig: "bg.ig"; ih: "bg.ih"; ii: "bg.ii"; ij: "bg.ij"; ik: "bg.ik"; il: "bg.il"; im: "bg.im"; in: "bg.in"; io: "bg.io"; ip: "bg.ip"; iq: "bg.iq"; ir: "bg.ir"; is: "bg.is"; it: "bg.it"; iu: "bg.iu"; iv: "bg.iv"; iw: "bg.iw"; ix: "bg.ix"; iy: "bg.iy"; iz: "bg.iz"; ja: "bg.ja"; jb: "bg.jb"; jc: "bg.jc"; jd: "bg.jd"; je: "bg.je"; jf: "bg.jf"; jg: "bg.jg"; jh: "bg.jh"; ji: "bg.ji"; jj: "bg.jj"; jk: "bg.jk"; jl: "bg.jl"; jm: "bg.jm"; jn: "bg.jn"; jo: "bg.jo"; jp: "bg.jp"; jq: "bg.jq"; jr: "bg.jr"; js: "bg.js"; jt: "bg.jt"; ju: "bg.ju"; jv: "bg.jv"; jw: "bg.jw"; jx: "bg.jx"; jy: "bg.jy"; jz: "bg.jz"; ka: "bg.ka"; kb: "bg.kb"; kc: "bg.kc"; kd: "bg.kd"; ke: "bg.ke"; kf: "bg.kf"; kg: "bg.kg"; kh: "bg.kh"; ki: "bg.ki"; kj: "bg.kj"; kk: "bg.kk"; kl: "bg.kl"; km: "bg.km"; kn: "bg.kn"; ko: "bg.ko"; kp: "bg.kp"; kq: "bg.kq"; kr: "bg.kr"; ks: "bg.ks"; kt: "bg.kt"; ku: "bg.ku"; kv: "bg.kv"; kw: "bg.kw"; kx: "bg.kx"; ky: "bg.ky"; kz: "bg.kz"; la: "bg.la"; lb: "bg.lb"; lc: "bg.lc"; ld: "bg.ld"; le: "bg.le"; lf: "bg.lf"; lg: "bg.lg"; lh: "bg.lh"; li: "bg.li"; lj: "bg.lj"; lk: "bg.lk"; ll: "bg.ll"; lm: "bg.lm"; ln: "bg.ln"; lo: "bg.lo"; lp: "bg.lp"; lq: "bg.lq"; lr: "bg.lr"; ls: "bg.ls"; lt: "bg.lt"; lu: "bg.lu"; lv: "bg.lv"; lw: "bg.lw"; lx: "bg.lx"; ly: "bg.ly"; lz: "bg.lz"; ma: "bg.ma"; mb: "bg.mb"; mc: "bg.mc"; md: "bg.md"; me: "bg.me"; mf: "bg.mf"; mg: "bg.mg"; mh: "bg.mh"; mi: "bg.mi"; mj: "bg.mj"; mk: "bg.mk"; ml: "bg.ml"; mm: "bg.mm"; mn: "bg.mn"; mo: "bg.mo"; mp: "bg.mp"; mq: "bg.mq"; mr: "bg.mr"; ms: "bg.ms"; mt: "bg.mt"; mu: "bg.mu"; mv: "bg.mv"; mw: "bg.mw"; mx: "bg.mx"; my: "bg.my"; mz: "bg.mz"; na: "bg.na"; nb: "bg.nb"; nc: "bg.nc"; nd: "bg.nd"; ne: "bg.ne"; nf: "bg.nf"; ng: "bg.ng"; nh: "bg.nh"; ni: "bg.ni"; nj: "bg.nj"; nk: "bg.nk"; nl: "bg.nl"; nm: "bg.nm"; nn: "bg.nn"; no: "bg.no"; np: "bg.np"; nq: "bg.nq"; nr: "bg.nr"; ns: "bg.ns"; nt: "bg.nt"; nu: "bg.nu"; nv: "bg.nv"; nw: "bg.nw"; nx: "bg.nx"; ny: "bg.ny"; nz: "bg.nz"; oa: "bg.oa"; ob: "bg.ob"; oc: "bg.oc"; od: "bg.od"; oe: "bg.oe"; of: "bg.of"; og: "bg.og"; oh: "bg.oh"; oi: "bg.oi"; oj: "bg.oj"; ok: "bg.ok"; ol: "bg.ol"; om: "bg.om"; on: "bg.on"; oo: "bg.oo"; op: "bg.op"; oq: "bg.oq"; or: "bg.or"; os: "bg.os"; ot: "bg.ot"; ou: "bg.ou"; ov: "bg.ov"; ow: "bg.ow"; ox: "bg.ox"; oy: "bg.oy"; oz: "bg.oz"; pa: "bg.pa"; pb: "bg.pb"; pc: "bg.pc"; pd: "bg.pd"; pe: "bg.pe"; pf: "bg.pf"; pg: "bg.pg"; ph: "bg.ph"; pi: "bg.pi"; pj: "bg.pj"; pk: "bg.pk"; pl: "bg.pl"; pm: "bg.pm"; pn: "bg.pn"; po: "bg.po"; pp: "bg.pp"; pq: "bg.pq"; pr: "bg.pr"; ps: "bg.ps"; pt: "bg.pt"; pu: "bg.pu"; pv: "bg.pv"; pw: "bg.pw"; px: "bg.px"; py: "bg.py"; pz: "bg.pz"; qa: "bg.qa"; qb: "bg.qb"; qc: "bg.qc"; qd: "bg.qd"; qe: "bg.qe"; qf: "bg.qf"; qg: "bg.qg"; qh: "bg.qh"; qi: "bg.qi"; qj: "bg.qj"; qk: "bg.qk"; ql: "bg.ql"; qm: "bg.qm"; qn: "bg.qn"; qo: "bg.qo"; qp: "bg.qp"; qq: "bg.qq"; qr: "bg.qr"; qs: "bg.qs"; qt: "bg.qt"; qu: "bg.qu"; qv: "bg.qv"; qw: "bg.qw"; qx: "bg.qx"; qy: "bg.qy"; qz: "bg.qz"; ra: "bg.ra"; rb: "bg.rb"; rc: "bg.rc"; rd: "bg.rd"; re: "bg.re"; rf: "bg.rf"; rg: "bg.rg"; rh: "bg.rh"; ri: "bg.ri"; rj: "bg.rj"; rk: "bg.rk"; rl: "bg.rl"; rm: "bg.rm"; rn: "bg.rn"; ro: "bg.ro"; rp: "bg.rp"; rq: "bg.rq"; rr: "bg.rr"; rs: "bg.rs"; rt: "bg.rt"; ru: "bg.ru"; rv: "bg.rv"; rw: "bg.rw"; rx: "bg.rx"; ry: "bg.ry"; rz: "bg.rz"; sa: "bg.sa"; sb: "bg.sb"; sc: "bg.sc"; sd: "bg.sd"; se: "bg.se"; sf: "bg.sf"; sg: "bg.sg"; sh: "bg.sh"; si: "bg.si"; sj: "bg.sj"; sk: "bg.sk"; sl: "bg.sl"; sm: "bg.sm"; sn: "bg.sn"; so: "bg.so"; sp: "bg.sp"; sq: "bg.sq"; sr: "bg.sr"; ss: "bg.ss"; st: "bg.st"; su: "bg.su"; sv: "bg.sv"; sw: "bg.sw"; sx: "bg.sx"; sy: "bg.sy"; sz: "bg.sz"; ta: "bg.ta"; tb: "bg.tb"; tc: "bg.tc"; td: "bg.td"; te: "bg.te"; tf: "bg.tf"; tg: "bg.tg"; th: "bg.th"; ti: "bg.ti"; tj: "bg.tj"; tk: "bg.tk"; tl: "bg.tl"; tm: "bg.tm"; tn: "bg.tn"; to: "bg.to"; tp: "bg.tp"; tq: "bg.tq"; tr: "bg.tr"; ts: "bg.ts"; tt: "bg.tt"; tu: "bg.tu"; tv: "bg.tv"; tw: "bg.tw"; tx: "bg.tx"; ty: "bg.ty"; tz: "bg.tz"; ua: "bg.ua"; ub: "bg.ub"; uc: "bg.uc"; ud: "bg.ud"; ue: "bg.ue"; uf: "bg.uf"; ug: "bg.ug"; uh: "bg.uh"; ui: "bg.ui"; uj: "bg.uj"; uk: "bg.uk"; ul: "bg.ul"; um: "bg.um"; un: "bg.un"; uo: "bg.uo"; up: "bg.up"; uq: "bg.uq"; ur: "bg.ur"; us: "bg.us"; ut: "bg.ut"; uu: "bg.uu"; uv: "bg.uv"; uw: "bg.uw"; ux: "bg.ux"; uy: "bg.uy"; uz: "bg.uz"; va: "bg.va"; vb: "bg.vb"; vc: "bg.vc"; vd: "bg.vd"; ve: "bg.ve"; vf: "bg.vf"; vg: "bg.vg"; vh: "bg.vh"; vi: "bg.vi"; vj: "bg.vj"; vk: "bg.vk"; vl: "bg.vl"; vm: "bg.vm"; vn: "bg.vn"; vo: "bg.vo"; vp: "bg.vp"; vq: "bg.vq"; vr: "bg.vr"; vs: "bg.vs"; vt: "bg.vt"; vu: "bg.vu"; vv: "bg.vv"; vw: "bg.vw"; vx: "bg.vx"; vy: "bg.vy"; vz: "bg.vz"; wa: "bg.wa"; wb: "bg.wb"; wc: "bg.wc"; wd: "bg.wd"; we: "bg.we"; wf: "bg.wf"; wg: "bg.wg"; wh: "bg.wh"; wi: "bg.wi"; wj: "bg.wj"; wk: "bg.wk"; wl: "bg.wl"; wm: "bg.wm"; wn: "bg.wn"; wo: "bg.wo"; wp: "bg.wp"; wq: "bg.wq"; wr: "bg.wr"; ws: "bg.ws"; wt: "bg.wt"; wu: "bg.wu"; wv: "bg.wv"; ww: "bg.ww"; wx: "bg.wx"; wy: "bg.wy"; wz: "bg.wz"; xa: "bg.xa"; xb: "bg.xb"; xc: "bg.xc"; xd: "bg.xd"; xe: "bg.xe"; xf: "bg.xf"; xg: "bg.xg"; xh: "bg.xh"; xi: "bg.xi"; xj: "bg.xj"; xk: "bg.xk"; xl: "bg.xl"; xm: "bg.xm"; xn: "bg.xn"; xo: "bg.xo"; xp: "bg.xp"; xq: "bg.xq"; xr: "bg.xr"; xs: "bg.xs"; xt: "bg.xt"; xu: "bg.xu"; xv: "bg.xv"; xw: "bg.xw"; xx: "bg.xx"; xy: "bg.xy"; xz: "bg.xz"; ya: "bg.ya"; yb: "bg.yb"; yc: "bg.yc"; yd: "bg.yd"; ye: "bg.ye"; yf: "bg.yf"; yg: "bg.yg"; yh: "bg.yh"; yi: "bg.yi"; yj: "bg.yj"; yk: "bg.yk"; yl: "bg.yl"; ym: "bg.ym"; yn: "bg.yn"; yo: "bg.yo"; yp: "bg.yp"; yq: "bg.yq"; yr: "bg.yr"; ys: "bg.ys"; yt: "bg.yt"; yu: "bg.yu"; yv: "bg.yv"; yw: "bg.yw"; yx: "bg.yx"; yy: "bg.yy"; yz: "bg.yz"; za: "bg.za"; zb: "bg.zb"; zc: "bg.zc"; zd: "bg.zd"; ze: "bg.ze"; zf: "bg.zf"; zg: "bg.zg"; zh: "bg.zh"; zi: "bg.zi"; zj: "bg.zj"; zk: "bg.zk"; zl: "bg.zl"; zm: "bg.zm"; zn: "bg.zn"; zo: "bg.zo"; zp: "bg.zp"; zq: "bg.zq"; zr: "bg.zr"; zs: "bg.zs"; zt: "bg.zt"; zu: "bg.zu"; zv: "bg.zv"; zw: "bg.zw"; zx: "bg.zx"; zy: "bg.zy"; zz: "bg.zz"; }; bh: { aa: "bh.aa"; ab: "bh.ab"; ac: "bh.ac"; ad: "bh.ad"; ae: "bh.ae"; af: "bh.af"; ag: "bh.ag"; ah: "bh.ah"; ai: "bh.ai"; aj: "bh.aj"; ak: "bh.ak"; al: "bh.al"; am: "bh.am"; an: "bh.an"; ao: "bh.ao"; ap: "bh.ap"; aq: "bh.aq"; ar: "bh.ar"; as: "bh.as"; at: "bh.at"; au: "bh.au"; av: "bh.av"; aw: "bh.aw"; ax: "bh.ax"; ay: "bh.ay"; az: "bh.az"; ba: "bh.ba"; bb: "bh.bb"; bc: "bh.bc"; bd: "bh.bd"; be: "bh.be"; bf: "bh.bf"; bg: "bh.bg"; bh: "bh.bh"; bi: "bh.bi"; bj: "bh.bj"; bk: "bh.bk"; bl: "bh.bl"; bm: "bh.bm"; bn: "bh.bn"; bo: "bh.bo"; bp: "bh.bp"; bq: "bh.bq"; br: "bh.br"; bs: "bh.bs"; bt: "bh.bt"; bu: "bh.bu"; bv: "bh.bv"; bw: "bh.bw"; bx: "bh.bx"; by: "bh.by"; bz: "bh.bz"; ca: "bh.ca"; cb: "bh.cb"; cc: "bh.cc"; cd: "bh.cd"; ce: "bh.ce"; cf: "bh.cf"; cg: "bh.cg"; ch: "bh.ch"; ci: "bh.ci"; cj: "bh.cj"; ck: "bh.ck"; cl: "bh.cl"; cm: "bh.cm"; cn: "bh.cn"; co: "bh.co"; cp: "bh.cp"; cq: "bh.cq"; cr: "bh.cr"; cs: "bh.cs"; ct: "bh.ct"; cu: "bh.cu"; cv: "bh.cv"; cw: "bh.cw"; cx: "bh.cx"; cy: "bh.cy"; cz: "bh.cz"; da: "bh.da"; db: "bh.db"; dc: "bh.dc"; dd: "bh.dd"; de: "bh.de"; df: "bh.df"; dg: "bh.dg"; dh: "bh.dh"; di: "bh.di"; dj: "bh.dj"; dk: "bh.dk"; dl: "bh.dl"; dm: "bh.dm"; dn: "bh.dn"; do: "bh.do"; dp: "bh.dp"; dq: "bh.dq"; dr: "bh.dr"; ds: "bh.ds"; dt: "bh.dt"; du: "bh.du"; dv: "bh.dv"; dw: "bh.dw"; dx: "bh.dx"; dy: "bh.dy"; dz: "bh.dz"; ea: "bh.ea"; eb: "bh.eb"; ec: "bh.ec"; ed: "bh.ed"; ee: "bh.ee"; ef: "bh.ef"; eg: "bh.eg"; eh: "bh.eh"; ei: "bh.ei"; ej: "bh.ej"; ek: "bh.ek"; el: "bh.el"; em: "bh.em"; en: "bh.en"; eo: "bh.eo"; ep: "bh.ep"; eq: "bh.eq"; er: "bh.er"; es: "bh.es"; et: "bh.et"; eu: "bh.eu"; ev: "bh.ev"; ew: "bh.ew"; ex: "bh.ex"; ey: "bh.ey"; ez: "bh.ez"; fa: "bh.fa"; fb: "bh.fb"; fc: "bh.fc"; fd: "bh.fd"; fe: "bh.fe"; ff: "bh.ff"; fg: "bh.fg"; fh: "bh.fh"; fi: "bh.fi"; fj: "bh.fj"; fk: "bh.fk"; fl: "bh.fl"; fm: "bh.fm"; fn: "bh.fn"; fo: "bh.fo"; fp: "bh.fp"; fq: "bh.fq"; fr: "bh.fr"; fs: "bh.fs"; ft: "bh.ft"; fu: "bh.fu"; fv: "bh.fv"; fw: "bh.fw"; fx: "bh.fx"; fy: "bh.fy"; fz: "bh.fz"; ga: "bh.ga"; gb: "bh.gb"; gc: "bh.gc"; gd: "bh.gd"; ge: "bh.ge"; gf: "bh.gf"; gg: "bh.gg"; gh: "bh.gh"; gi: "bh.gi"; gj: "bh.gj"; gk: "bh.gk"; gl: "bh.gl"; gm: "bh.gm"; gn: "bh.gn"; go: "bh.go"; gp: "bh.gp"; gq: "bh.gq"; gr: "bh.gr"; gs: "bh.gs"; gt: "bh.gt"; gu: "bh.gu"; gv: "bh.gv"; gw: "bh.gw"; gx: "bh.gx"; gy: "bh.gy"; gz: "bh.gz"; ha: "bh.ha"; hb: "bh.hb"; hc: "bh.hc"; hd: "bh.hd"; he: "bh.he"; hf: "bh.hf"; hg: "bh.hg"; hh: "bh.hh"; hi: "bh.hi"; hj: "bh.hj"; hk: "bh.hk"; hl: "bh.hl"; hm: "bh.hm"; hn: "bh.hn"; ho: "bh.ho"; hp: "bh.hp"; hq: "bh.hq"; hr: "bh.hr"; hs: "bh.hs"; ht: "bh.ht"; hu: "bh.hu"; hv: "bh.hv"; hw: "bh.hw"; hx: "bh.hx"; hy: "bh.hy"; hz: "bh.hz"; ia: "bh.ia"; ib: "bh.ib"; ic: "bh.ic"; id: "bh.id"; ie: "bh.ie"; if: "bh.if"; ig: "bh.ig"; ih: "bh.ih"; ii: "bh.ii"; ij: "bh.ij"; ik: "bh.ik"; il: "bh.il"; im: "bh.im"; in: "bh.in"; io: "bh.io"; ip: "bh.ip"; iq: "bh.iq"; ir: "bh.ir"; is: "bh.is"; it: "bh.it"; iu: "bh.iu"; iv: "bh.iv"; iw: "bh.iw"; ix: "bh.ix"; iy: "bh.iy"; iz: "bh.iz"; ja: "bh.ja"; jb: "bh.jb"; jc: "bh.jc"; jd: "bh.jd"; je: "bh.je"; jf: "bh.jf"; jg: "bh.jg"; jh: "bh.jh"; ji: "bh.ji"; jj: "bh.jj"; jk: "bh.jk"; jl: "bh.jl"; jm: "bh.jm"; jn: "bh.jn"; jo: "bh.jo"; jp: "bh.jp"; jq: "bh.jq"; jr: "bh.jr"; js: "bh.js"; jt: "bh.jt"; ju: "bh.ju"; jv: "bh.jv"; jw: "bh.jw"; jx: "bh.jx"; jy: "bh.jy"; jz: "bh.jz"; ka: "bh.ka"; kb: "bh.kb"; kc: "bh.kc"; kd: "bh.kd"; ke: "bh.ke"; kf: "bh.kf"; kg: "bh.kg"; kh: "bh.kh"; ki: "bh.ki"; kj: "bh.kj"; kk: "bh.kk"; kl: "bh.kl"; km: "bh.km"; kn: "bh.kn"; ko: "bh.ko"; kp: "bh.kp"; kq: "bh.kq"; kr: "bh.kr"; ks: "bh.ks"; kt: "bh.kt"; ku: "bh.ku"; kv: "bh.kv"; kw: "bh.kw"; kx: "bh.kx"; ky: "bh.ky"; kz: "bh.kz"; la: "bh.la"; lb: "bh.lb"; lc: "bh.lc"; ld: "bh.ld"; le: "bh.le"; lf: "bh.lf"; lg: "bh.lg"; lh: "bh.lh"; li: "bh.li"; lj: "bh.lj"; lk: "bh.lk"; ll: "bh.ll"; lm: "bh.lm"; ln: "bh.ln"; lo: "bh.lo"; lp: "bh.lp"; lq: "bh.lq"; lr: "bh.lr"; ls: "bh.ls"; lt: "bh.lt"; lu: "bh.lu"; lv: "bh.lv"; lw: "bh.lw"; lx: "bh.lx"; ly: "bh.ly"; lz: "bh.lz"; ma: "bh.ma"; mb: "bh.mb"; mc: "bh.mc"; md: "bh.md"; me: "bh.me"; mf: "bh.mf"; mg: "bh.mg"; mh: "bh.mh"; mi: "bh.mi"; mj: "bh.mj"; mk: "bh.mk"; ml: "bh.ml"; mm: "bh.mm"; mn: "bh.mn"; mo: "bh.mo"; mp: "bh.mp"; mq: "bh.mq"; mr: "bh.mr"; ms: "bh.ms"; mt: "bh.mt"; mu: "bh.mu"; mv: "bh.mv"; mw: "bh.mw"; mx: "bh.mx"; my: "bh.my"; mz: "bh.mz"; na: "bh.na"; nb: "bh.nb"; nc: "bh.nc"; nd: "bh.nd"; ne: "bh.ne"; nf: "bh.nf"; ng: "bh.ng"; nh: "bh.nh"; ni: "bh.ni"; nj: "bh.nj"; nk: "bh.nk"; nl: "bh.nl"; nm: "bh.nm"; nn: "bh.nn"; no: "bh.no"; np: "bh.np"; nq: "bh.nq"; nr: "bh.nr"; ns: "bh.ns"; nt: "bh.nt"; nu: "bh.nu"; nv: "bh.nv"; nw: "bh.nw"; nx: "bh.nx"; ny: "bh.ny"; nz: "bh.nz"; oa: "bh.oa"; ob: "bh.ob"; oc: "bh.oc"; od: "bh.od"; oe: "bh.oe"; of: "bh.of"; og: "bh.og"; oh: "bh.oh"; oi: "bh.oi"; oj: "bh.oj"; ok: "bh.ok"; ol: "bh.ol"; om: "bh.om"; on: "bh.on"; oo: "bh.oo"; op: "bh.op"; oq: "bh.oq"; or: "bh.or"; os: "bh.os"; ot: "bh.ot"; ou: "bh.ou"; ov: "bh.ov"; ow: "bh.ow"; ox: "bh.ox"; oy: "bh.oy"; oz: "bh.oz"; pa: "bh.pa"; pb: "bh.pb"; pc: "bh.pc"; pd: "bh.pd"; pe: "bh.pe"; pf: "bh.pf"; pg: "bh.pg"; ph: "bh.ph"; pi: "bh.pi"; pj: "bh.pj"; pk: "bh.pk"; pl: "bh.pl"; pm: "bh.pm"; pn: "bh.pn"; po: "bh.po"; pp: "bh.pp"; pq: "bh.pq"; pr: "bh.pr"; ps: "bh.ps"; pt: "bh.pt"; pu: "bh.pu"; pv: "bh.pv"; pw: "bh.pw"; px: "bh.px"; py: "bh.py"; pz: "bh.pz"; qa: "bh.qa"; qb: "bh.qb"; qc: "bh.qc"; qd: "bh.qd"; qe: "bh.qe"; qf: "bh.qf"; qg: "bh.qg"; qh: "bh.qh"; qi: "bh.qi"; qj: "bh.qj"; qk: "bh.qk"; ql: "bh.ql"; qm: "bh.qm"; qn: "bh.qn"; qo: "bh.qo"; qp: "bh.qp"; qq: "bh.qq"; qr: "bh.qr"; qs: "bh.qs"; qt: "bh.qt"; qu: "bh.qu"; qv: "bh.qv"; qw: "bh.qw"; qx: "bh.qx"; qy: "bh.qy"; qz: "bh.qz"; ra: "bh.ra"; rb: "bh.rb"; rc: "bh.rc"; rd: "bh.rd"; re: "bh.re"; rf: "bh.rf"; rg: "bh.rg"; rh: "bh.rh"; ri: "bh.ri"; rj: "bh.rj"; rk: "bh.rk"; rl: "bh.rl"; rm: "bh.rm"; rn: "bh.rn"; ro: "bh.ro"; rp: "bh.rp"; rq: "bh.rq"; rr: "bh.rr"; rs: "bh.rs"; rt: "bh.rt"; ru: "bh.ru"; rv: "bh.rv"; rw: "bh.rw"; rx: "bh.rx"; ry: "bh.ry"; rz: "bh.rz"; sa: "bh.sa"; sb: "bh.sb"; sc: "bh.sc"; sd: "bh.sd"; se: "bh.se"; sf: "bh.sf"; sg: "bh.sg"; sh: "bh.sh"; si: "bh.si"; sj: "bh.sj"; sk: "bh.sk"; sl: "bh.sl"; sm: "bh.sm"; sn: "bh.sn"; so: "bh.so"; sp: "bh.sp"; sq: "bh.sq"; sr: "bh.sr"; ss: "bh.ss"; st: "bh.st"; su: "bh.su"; sv: "bh.sv"; sw: "bh.sw"; sx: "bh.sx"; sy: "bh.sy"; sz: "bh.sz"; ta: "bh.ta"; tb: "bh.tb"; tc: "bh.tc"; td: "bh.td"; te: "bh.te"; tf: "bh.tf"; tg: "bh.tg"; th: "bh.th"; ti: "bh.ti"; tj: "bh.tj"; tk: "bh.tk"; tl: "bh.tl"; tm: "bh.tm"; tn: "bh.tn"; to: "bh.to"; tp: "bh.tp"; tq: "bh.tq"; tr: "bh.tr"; ts: "bh.ts"; tt: "bh.tt"; tu: "bh.tu"; tv: "bh.tv"; tw: "bh.tw"; tx: "bh.tx"; ty: "bh.ty"; tz: "bh.tz"; ua: "bh.ua"; ub: "bh.ub"; uc: "bh.uc"; ud: "bh.ud"; ue: "bh.ue"; uf: "bh.uf"; ug: "bh.ug"; uh: "bh.uh"; ui: "bh.ui"; uj: "bh.uj"; uk: "bh.uk"; ul: "bh.ul"; um: "bh.um"; un: "bh.un"; uo: "bh.uo"; up: "bh.up"; uq: "bh.uq"; ur: "bh.ur"; us: "bh.us"; ut: "bh.ut"; uu: "bh.uu"; uv: "bh.uv"; uw: "bh.uw"; ux: "bh.ux"; uy: "bh.uy"; uz: "bh.uz"; va: "bh.va"; vb: "bh.vb"; vc: "bh.vc"; vd: "bh.vd"; ve: "bh.ve"; vf: "bh.vf"; vg: "bh.vg"; vh: "bh.vh"; vi: "bh.vi"; vj: "bh.vj"; vk: "bh.vk"; vl: "bh.vl"; vm: "bh.vm"; vn: "bh.vn"; vo: "bh.vo"; vp: "bh.vp"; vq: "bh.vq"; vr: "bh.vr"; vs: "bh.vs"; vt: "bh.vt"; vu: "bh.vu"; vv: "bh.vv"; vw: "bh.vw"; vx: "bh.vx"; vy: "bh.vy"; vz: "bh.vz"; wa: "bh.wa"; wb: "bh.wb"; wc: "bh.wc"; wd: "bh.wd"; we: "bh.we"; wf: "bh.wf"; wg: "bh.wg"; wh: "bh.wh"; wi: "bh.wi"; wj: "bh.wj"; wk: "bh.wk"; wl: "bh.wl"; wm: "bh.wm"; wn: "bh.wn"; wo: "bh.wo"; wp: "bh.wp"; wq: "bh.wq"; wr: "bh.wr"; ws: "bh.ws"; wt: "bh.wt"; wu: "bh.wu"; wv: "bh.wv"; ww: "bh.ww"; wx: "bh.wx"; wy: "bh.wy"; wz: "bh.wz"; xa: "bh.xa"; xb: "bh.xb"; xc: "bh.xc"; xd: "bh.xd"; xe: "bh.xe"; xf: "bh.xf"; xg: "bh.xg"; xh: "bh.xh"; xi: "bh.xi"; xj: "bh.xj"; xk: "bh.xk"; xl: "bh.xl"; xm: "bh.xm"; xn: "bh.xn"; xo: "bh.xo"; xp: "bh.xp"; xq: "bh.xq"; xr: "bh.xr"; xs: "bh.xs"; xt: "bh.xt"; xu: "bh.xu"; xv: "bh.xv"; xw: "bh.xw"; xx: "bh.xx"; xy: "bh.xy"; xz: "bh.xz"; ya: "bh.ya"; yb: "bh.yb"; yc: "bh.yc"; yd: "bh.yd"; ye: "bh.ye"; yf: "bh.yf"; yg: "bh.yg"; yh: "bh.yh"; yi: "bh.yi"; yj: "bh.yj"; yk: "bh.yk"; yl: "bh.yl"; ym: "bh.ym"; yn: "bh.yn"; yo: "bh.yo"; yp: "bh.yp"; yq: "bh.yq"; yr: "bh.yr"; ys: "bh.ys"; yt: "bh.yt"; yu: "bh.yu"; yv: "bh.yv"; yw: "bh.yw"; yx: "bh.yx"; yy: "bh.yy"; yz: "bh.yz"; za: "bh.za"; zb: "bh.zb"; zc: "bh.zc"; zd: "bh.zd"; ze: "bh.ze"; zf: "bh.zf"; zg: "bh.zg"; zh: "bh.zh"; zi: "bh.zi"; zj: "bh.zj"; zk: "bh.zk"; zl: "bh.zl"; zm: "bh.zm"; zn: "bh.zn"; zo: "bh.zo"; zp: "bh.zp"; zq: "bh.zq"; zr: "bh.zr"; zs: "bh.zs"; zt: "bh.zt"; zu: "bh.zu"; zv: "bh.zv"; zw: "bh.zw"; zx: "bh.zx"; zy: "bh.zy"; zz: "bh.zz"; }; bi: { aa: "bi.aa"; ab: "bi.ab"; ac: "bi.ac"; ad: "bi.ad"; ae: "bi.ae"; af: "bi.af"; ag: "bi.ag"; ah: "bi.ah"; ai: "bi.ai"; aj: "bi.aj"; ak: "bi.ak"; al: "bi.al"; am: "bi.am"; an: "bi.an"; ao: "bi.ao"; ap: "bi.ap"; aq: "bi.aq"; ar: "bi.ar"; as: "bi.as"; at: "bi.at"; au: "bi.au"; av: "bi.av"; aw: "bi.aw"; ax: "bi.ax"; ay: "bi.ay"; az: "bi.az"; ba: "bi.ba"; bb: "bi.bb"; bc: "bi.bc"; bd: "bi.bd"; be: "bi.be"; bf: "bi.bf"; bg: "bi.bg"; bh: "bi.bh"; bi: "bi.bi"; bj: "bi.bj"; bk: "bi.bk"; bl: "bi.bl"; bm: "bi.bm"; bn: "bi.bn"; bo: "bi.bo"; bp: "bi.bp"; bq: "bi.bq"; br: "bi.br"; bs: "bi.bs"; bt: "bi.bt"; bu: "bi.bu"; bv: "bi.bv"; bw: "bi.bw"; bx: "bi.bx"; by: "bi.by"; bz: "bi.bz"; ca: "bi.ca"; cb: "bi.cb"; cc: "bi.cc"; cd: "bi.cd"; ce: "bi.ce"; cf: "bi.cf"; cg: "bi.cg"; ch: "bi.ch"; ci: "bi.ci"; cj: "bi.cj"; ck: "bi.ck"; cl: "bi.cl"; cm: "bi.cm"; cn: "bi.cn"; co: "bi.co"; cp: "bi.cp"; cq: "bi.cq"; cr: "bi.cr"; cs: "bi.cs"; ct: "bi.ct"; cu: "bi.cu"; cv: "bi.cv"; cw: "bi.cw"; cx: "bi.cx"; cy: "bi.cy"; cz: "bi.cz"; da: "bi.da"; db: "bi.db"; dc: "bi.dc"; dd: "bi.dd"; de: "bi.de"; df: "bi.df"; dg: "bi.dg"; dh: "bi.dh"; di: "bi.di"; dj: "bi.dj"; dk: "bi.dk"; dl: "bi.dl"; dm: "bi.dm"; dn: "bi.dn"; do: "bi.do"; dp: "bi.dp"; dq: "bi.dq"; dr: "bi.dr"; ds: "bi.ds"; dt: "bi.dt"; du: "bi.du"; dv: "bi.dv"; dw: "bi.dw"; dx: "bi.dx"; dy: "bi.dy"; dz: "bi.dz"; ea: "bi.ea"; eb: "bi.eb"; ec: "bi.ec"; ed: "bi.ed"; ee: "bi.ee"; ef: "bi.ef"; eg: "bi.eg"; eh: "bi.eh"; ei: "bi.ei"; ej: "bi.ej"; ek: "bi.ek"; el: "bi.el"; em: "bi.em"; en: "bi.en"; eo: "bi.eo"; ep: "bi.ep"; eq: "bi.eq"; er: "bi.er"; es: "bi.es"; et: "bi.et"; eu: "bi.eu"; ev: "bi.ev"; ew: "bi.ew"; ex: "bi.ex"; ey: "bi.ey"; ez: "bi.ez"; fa: "bi.fa"; fb: "bi.fb"; fc: "bi.fc"; fd: "bi.fd"; fe: "bi.fe"; ff: "bi.ff"; fg: "bi.fg"; fh: "bi.fh"; fi: "bi.fi"; fj: "bi.fj"; fk: "bi.fk"; fl: "bi.fl"; fm: "bi.fm"; fn: "bi.fn"; fo: "bi.fo"; fp: "bi.fp"; fq: "bi.fq"; fr: "bi.fr"; fs: "bi.fs"; ft: "bi.ft"; fu: "bi.fu"; fv: "bi.fv"; fw: "bi.fw"; fx: "bi.fx"; fy: "bi.fy"; fz: "bi.fz"; ga: "bi.ga"; gb: "bi.gb"; gc: "bi.gc"; gd: "bi.gd"; ge: "bi.ge"; gf: "bi.gf"; gg: "bi.gg"; gh: "bi.gh"; gi: "bi.gi"; gj: "bi.gj"; gk: "bi.gk"; gl: "bi.gl"; gm: "bi.gm"; gn: "bi.gn"; go: "bi.go"; gp: "bi.gp"; gq: "bi.gq"; gr: "bi.gr"; gs: "bi.gs"; gt: "bi.gt"; gu: "bi.gu"; gv: "bi.gv"; gw: "bi.gw"; gx: "bi.gx"; gy: "bi.gy"; gz: "bi.gz"; ha: "bi.ha"; hb: "bi.hb"; hc: "bi.hc"; hd: "bi.hd"; he: "bi.he"; hf: "bi.hf"; hg: "bi.hg"; hh: "bi.hh"; hi: "bi.hi"; hj: "bi.hj"; hk: "bi.hk"; hl: "bi.hl"; hm: "bi.hm"; hn: "bi.hn"; ho: "bi.ho"; hp: "bi.hp"; hq: "bi.hq"; hr: "bi.hr"; hs: "bi.hs"; ht: "bi.ht"; hu: "bi.hu"; hv: "bi.hv"; hw: "bi.hw"; hx: "bi.hx"; hy: "bi.hy"; hz: "bi.hz"; ia: "bi.ia"; ib: "bi.ib"; ic: "bi.ic"; id: "bi.id"; ie: "bi.ie"; if: "bi.if"; ig: "bi.ig"; ih: "bi.ih"; ii: "bi.ii"; ij: "bi.ij"; ik: "bi.ik"; il: "bi.il"; im: "bi.im"; in: "bi.in"; io: "bi.io"; ip: "bi.ip"; iq: "bi.iq"; ir: "bi.ir"; is: "bi.is"; it: "bi.it"; iu: "bi.iu"; iv: "bi.iv"; iw: "bi.iw"; ix: "bi.ix"; iy: "bi.iy"; iz: "bi.iz"; ja: "bi.ja"; jb: "bi.jb"; jc: "bi.jc"; jd: "bi.jd"; je: "bi.je"; jf: "bi.jf"; jg: "bi.jg"; jh: "bi.jh"; ji: "bi.ji"; jj: "bi.jj"; jk: "bi.jk"; jl: "bi.jl"; jm: "bi.jm"; jn: "bi.jn"; jo: "bi.jo"; jp: "bi.jp"; jq: "bi.jq"; jr: "bi.jr"; js: "bi.js"; jt: "bi.jt"; ju: "bi.ju"; jv: "bi.jv"; jw: "bi.jw"; jx: "bi.jx"; jy: "bi.jy"; jz: "bi.jz"; ka: "bi.ka"; kb: "bi.kb"; kc: "bi.kc"; kd: "bi.kd"; ke: "bi.ke"; kf: "bi.kf"; kg: "bi.kg"; kh: "bi.kh"; ki: "bi.ki"; kj: "bi.kj"; kk: "bi.kk"; kl: "bi.kl"; km: "bi.km"; kn: "bi.kn"; ko: "bi.ko"; kp: "bi.kp"; kq: "bi.kq"; kr: "bi.kr"; ks: "bi.ks"; kt: "bi.kt"; ku: "bi.ku"; kv: "bi.kv"; kw: "bi.kw"; kx: "bi.kx"; ky: "bi.ky"; kz: "bi.kz"; la: "bi.la"; lb: "bi.lb"; lc: "bi.lc"; ld: "bi.ld"; le: "bi.le"; lf: "bi.lf"; lg: "bi.lg"; lh: "bi.lh"; li: "bi.li"; lj: "bi.lj"; lk: "bi.lk"; ll: "bi.ll"; lm: "bi.lm"; ln: "bi.ln"; lo: "bi.lo"; lp: "bi.lp"; lq: "bi.lq"; lr: "bi.lr"; ls: "bi.ls"; lt: "bi.lt"; lu: "bi.lu"; lv: "bi.lv"; lw: "bi.lw"; lx: "bi.lx"; ly: "bi.ly"; lz: "bi.lz"; ma: "bi.ma"; mb: "bi.mb"; mc: "bi.mc"; md: "bi.md"; me: "bi.me"; mf: "bi.mf"; mg: "bi.mg"; mh: "bi.mh"; mi: "bi.mi"; mj: "bi.mj"; mk: "bi.mk"; ml: "bi.ml"; mm: "bi.mm"; mn: "bi.mn"; mo: "bi.mo"; mp: "bi.mp"; mq: "bi.mq"; mr: "bi.mr"; ms: "bi.ms"; mt: "bi.mt"; mu: "bi.mu"; mv: "bi.mv"; mw: "bi.mw"; mx: "bi.mx"; my: "bi.my"; mz: "bi.mz"; na: "bi.na"; nb: "bi.nb"; nc: "bi.nc"; nd: "bi.nd"; ne: "bi.ne"; nf: "bi.nf"; ng: "bi.ng"; nh: "bi.nh"; ni: "bi.ni"; nj: "bi.nj"; nk: "bi.nk"; nl: "bi.nl"; nm: "bi.nm"; nn: "bi.nn"; no: "bi.no"; np: "bi.np"; nq: "bi.nq"; nr: "bi.nr"; ns: "bi.ns"; nt: "bi.nt"; nu: "bi.nu"; nv: "bi.nv"; nw: "bi.nw"; nx: "bi.nx"; ny: "bi.ny"; nz: "bi.nz"; oa: "bi.oa"; ob: "bi.ob"; oc: "bi.oc"; od: "bi.od"; oe: "bi.oe"; of: "bi.of"; og: "bi.og"; oh: "bi.oh"; oi: "bi.oi"; oj: "bi.oj"; ok: "bi.ok"; ol: "bi.ol"; om: "bi.om"; on: "bi.on"; oo: "bi.oo"; op: "bi.op"; oq: "bi.oq"; or: "bi.or"; os: "bi.os"; ot: "bi.ot"; ou: "bi.ou"; ov: "bi.ov"; ow: "bi.ow"; ox: "bi.ox"; oy: "bi.oy"; oz: "bi.oz"; pa: "bi.pa"; pb: "bi.pb"; pc: "bi.pc"; pd: "bi.pd"; pe: "bi.pe"; pf: "bi.pf"; pg: "bi.pg"; ph: "bi.ph"; pi: "bi.pi"; pj: "bi.pj"; pk: "bi.pk"; pl: "bi.pl"; pm: "bi.pm"; pn: "bi.pn"; po: "bi.po"; pp: "bi.pp"; pq: "bi.pq"; pr: "bi.pr"; ps: "bi.ps"; pt: "bi.pt"; pu: "bi.pu"; pv: "bi.pv"; pw: "bi.pw"; px: "bi.px"; py: "bi.py"; pz: "bi.pz"; qa: "bi.qa"; qb: "bi.qb"; qc: "bi.qc"; qd: "bi.qd"; qe: "bi.qe"; qf: "bi.qf"; qg: "bi.qg"; qh: "bi.qh"; qi: "bi.qi"; qj: "bi.qj"; qk: "bi.qk"; ql: "bi.ql"; qm: "bi.qm"; qn: "bi.qn"; qo: "bi.qo"; qp: "bi.qp"; qq: "bi.qq"; qr: "bi.qr"; qs: "bi.qs"; qt: "bi.qt"; qu: "bi.qu"; qv: "bi.qv"; qw: "bi.qw"; qx: "bi.qx"; qy: "bi.qy"; qz: "bi.qz"; ra: "bi.ra"; rb: "bi.rb"; rc: "bi.rc"; rd: "bi.rd"; re: "bi.re"; rf: "bi.rf"; rg: "bi.rg"; rh: "bi.rh"; ri: "bi.ri"; rj: "bi.rj"; rk: "bi.rk"; rl: "bi.rl"; rm: "bi.rm"; rn: "bi.rn"; ro: "bi.ro"; rp: "bi.rp"; rq: "bi.rq"; rr: "bi.rr"; rs: "bi.rs"; rt: "bi.rt"; ru: "bi.ru"; rv: "bi.rv"; rw: "bi.rw"; rx: "bi.rx"; ry: "bi.ry"; rz: "bi.rz"; sa: "bi.sa"; sb: "bi.sb"; sc: "bi.sc"; sd: "bi.sd"; se: "bi.se"; sf: "bi.sf"; sg: "bi.sg"; sh: "bi.sh"; si: "bi.si"; sj: "bi.sj"; sk: "bi.sk"; sl: "bi.sl"; sm: "bi.sm"; sn: "bi.sn"; so: "bi.so"; sp: "bi.sp"; sq: "bi.sq"; sr: "bi.sr"; ss: "bi.ss"; st: "bi.st"; su: "bi.su"; sv: "bi.sv"; sw: "bi.sw"; sx: "bi.sx"; sy: "bi.sy"; sz: "bi.sz"; ta: "bi.ta"; tb: "bi.tb"; tc: "bi.tc"; td: "bi.td"; te: "bi.te"; tf: "bi.tf"; tg: "bi.tg"; th: "bi.th"; ti: "bi.ti"; tj: "bi.tj"; tk: "bi.tk"; tl: "bi.tl"; tm: "bi.tm"; tn: "bi.tn"; to: "bi.to"; tp: "bi.tp"; tq: "bi.tq"; tr: "bi.tr"; ts: "bi.ts"; tt: "bi.tt"; tu: "bi.tu"; tv: "bi.tv"; tw: "bi.tw"; tx: "bi.tx"; ty: "bi.ty"; tz: "bi.tz"; ua: "bi.ua"; ub: "bi.ub"; uc: "bi.uc"; ud: "bi.ud"; ue: "bi.ue"; uf: "bi.uf"; ug: "bi.ug"; uh: "bi.uh"; ui: "bi.ui"; uj: "bi.uj"; uk: "bi.uk"; ul: "bi.ul"; um: "bi.um"; un: "bi.un"; uo: "bi.uo"; up: "bi.up"; uq: "bi.uq"; ur: "bi.ur"; us: "bi.us"; ut: "bi.ut"; uu: "bi.uu"; uv: "bi.uv"; uw: "bi.uw"; ux: "bi.ux"; uy: "bi.uy"; uz: "bi.uz"; va: "bi.va"; vb: "bi.vb"; vc: "bi.vc"; vd: "bi.vd"; ve: "bi.ve"; vf: "bi.vf"; vg: "bi.vg"; vh: "bi.vh"; vi: "bi.vi"; vj: "bi.vj"; vk: "bi.vk"; vl: "bi.vl"; vm: "bi.vm"; vn: "bi.vn"; vo: "bi.vo"; vp: "bi.vp"; vq: "bi.vq"; vr: "bi.vr"; vs: "bi.vs"; vt: "bi.vt"; vu: "bi.vu"; vv: "bi.vv"; vw: "bi.vw"; vx: "bi.vx"; vy: "bi.vy"; vz: "bi.vz"; wa: "bi.wa"; wb: "bi.wb"; wc: "bi.wc"; wd: "bi.wd"; we: "bi.we"; wf: "bi.wf"; wg: "bi.wg"; wh: "bi.wh"; wi: "bi.wi"; wj: "bi.wj"; wk: "bi.wk"; wl: "bi.wl"; wm: "bi.wm"; wn: "bi.wn"; wo: "bi.wo"; wp: "bi.wp"; wq: "bi.wq"; wr: "bi.wr"; ws: "bi.ws"; wt: "bi.wt"; wu: "bi.wu"; wv: "bi.wv"; ww: "bi.ww"; wx: "bi.wx"; wy: "bi.wy"; wz: "bi.wz"; xa: "bi.xa"; xb: "bi.xb"; xc: "bi.xc"; xd: "bi.xd"; xe: "bi.xe"; xf: "bi.xf"; xg: "bi.xg"; xh: "bi.xh"; xi: "bi.xi"; xj: "bi.xj"; xk: "bi.xk"; xl: "bi.xl"; xm: "bi.xm"; xn: "bi.xn"; xo: "bi.xo"; xp: "bi.xp"; xq: "bi.xq"; xr: "bi.xr"; xs: "bi.xs"; xt: "bi.xt"; xu: "bi.xu"; xv: "bi.xv"; xw: "bi.xw"; xx: "bi.xx"; xy: "bi.xy"; xz: "bi.xz"; ya: "bi.ya"; yb: "bi.yb"; yc: "bi.yc"; yd: "bi.yd"; ye: "bi.ye"; yf: "bi.yf"; yg: "bi.yg"; yh: "bi.yh"; yi: "bi.yi"; yj: "bi.yj"; yk: "bi.yk"; yl: "bi.yl"; ym: "bi.ym"; yn: "bi.yn"; yo: "bi.yo"; yp: "bi.yp"; yq: "bi.yq"; yr: "bi.yr"; ys: "bi.ys"; yt: "bi.yt"; yu: "bi.yu"; yv: "bi.yv"; yw: "bi.yw"; yx: "bi.yx"; yy: "bi.yy"; yz: "bi.yz"; za: "bi.za"; zb: "bi.zb"; zc: "bi.zc"; zd: "bi.zd"; ze: "bi.ze"; zf: "bi.zf"; zg: "bi.zg"; zh: "bi.zh"; zi: "bi.zi"; zj: "bi.zj"; zk: "bi.zk"; zl: "bi.zl"; zm: "bi.zm"; zn: "bi.zn"; zo: "bi.zo"; zp: "bi.zp"; zq: "bi.zq"; zr: "bi.zr"; zs: "bi.zs"; zt: "bi.zt"; zu: "bi.zu"; zv: "bi.zv"; zw: "bi.zw"; zx: "bi.zx"; zy: "bi.zy"; zz: "bi.zz"; }; bj: { aa: "bj.aa"; ab: "bj.ab"; ac: "bj.ac"; ad: "bj.ad"; ae: "bj.ae"; af: "bj.af"; ag: "bj.ag"; ah: "bj.ah"; ai: "bj.ai"; aj: "bj.aj"; ak: "bj.ak"; al: "bj.al"; am: "bj.am"; an: "bj.an"; ao: "bj.ao"; ap: "bj.ap"; aq: "bj.aq"; ar: "bj.ar"; as: "bj.as"; at: "bj.at"; au: "bj.au"; av: "bj.av"; aw: "bj.aw"; ax: "bj.ax"; ay: "bj.ay"; az: "bj.az"; ba: "bj.ba"; bb: "bj.bb"; bc: "bj.bc"; bd: "bj.bd"; be: "bj.be"; bf: "bj.bf"; bg: "bj.bg"; bh: "bj.bh"; bi: "bj.bi"; bj: "bj.bj"; bk: "bj.bk"; bl: "bj.bl"; bm: "bj.bm"; bn: "bj.bn"; bo: "bj.bo"; bp: "bj.bp"; bq: "bj.bq"; br: "bj.br"; bs: "bj.bs"; bt: "bj.bt"; bu: "bj.bu"; bv: "bj.bv"; bw: "bj.bw"; bx: "bj.bx"; by: "bj.by"; bz: "bj.bz"; ca: "bj.ca"; cb: "bj.cb"; cc: "bj.cc"; cd: "bj.cd"; ce: "bj.ce"; cf: "bj.cf"; cg: "bj.cg"; ch: "bj.ch"; ci: "bj.ci"; cj: "bj.cj"; ck: "bj.ck"; cl: "bj.cl"; cm: "bj.cm"; cn: "bj.cn"; co: "bj.co"; cp: "bj.cp"; cq: "bj.cq"; cr: "bj.cr"; cs: "bj.cs"; ct: "bj.ct"; cu: "bj.cu"; cv: "bj.cv"; cw: "bj.cw"; cx: "bj.cx"; cy: "bj.cy"; cz: "bj.cz"; da: "bj.da"; db: "bj.db"; dc: "bj.dc"; dd: "bj.dd"; de: "bj.de"; df: "bj.df"; dg: "bj.dg"; dh: "bj.dh"; di: "bj.di"; dj: "bj.dj"; dk: "bj.dk"; dl: "bj.dl"; dm: "bj.dm"; dn: "bj.dn"; do: "bj.do"; dp: "bj.dp"; dq: "bj.dq"; dr: "bj.dr"; ds: "bj.ds"; dt: "bj.dt"; du: "bj.du"; dv: "bj.dv"; dw: "bj.dw"; dx: "bj.dx"; dy: "bj.dy"; dz: "bj.dz"; ea: "bj.ea"; eb: "bj.eb"; ec: "bj.ec"; ed: "bj.ed"; ee: "bj.ee"; ef: "bj.ef"; eg: "bj.eg"; eh: "bj.eh"; ei: "bj.ei"; ej: "bj.ej"; ek: "bj.ek"; el: "bj.el"; em: "bj.em"; en: "bj.en"; eo: "bj.eo"; ep: "bj.ep"; eq: "bj.eq"; er: "bj.er"; es: "bj.es"; et: "bj.et"; eu: "bj.eu"; ev: "bj.ev"; ew: "bj.ew"; ex: "bj.ex"; ey: "bj.ey"; ez: "bj.ez"; fa: "bj.fa"; fb: "bj.fb"; fc: "bj.fc"; fd: "bj.fd"; fe: "bj.fe"; ff: "bj.ff"; fg: "bj.fg"; fh: "bj.fh"; fi: "bj.fi"; fj: "bj.fj"; fk: "bj.fk"; fl: "bj.fl"; fm: "bj.fm"; fn: "bj.fn"; fo: "bj.fo"; fp: "bj.fp"; fq: "bj.fq"; fr: "bj.fr"; fs: "bj.fs"; ft: "bj.ft"; fu: "bj.fu"; fv: "bj.fv"; fw: "bj.fw"; fx: "bj.fx"; fy: "bj.fy"; fz: "bj.fz"; ga: "bj.ga"; gb: "bj.gb"; gc: "bj.gc"; gd: "bj.gd"; ge: "bj.ge"; gf: "bj.gf"; gg: "bj.gg"; gh: "bj.gh"; gi: "bj.gi"; gj: "bj.gj"; gk: "bj.gk"; gl: "bj.gl"; gm: "bj.gm"; gn: "bj.gn"; go: "bj.go"; gp: "bj.gp"; gq: "bj.gq"; gr: "bj.gr"; gs: "bj.gs"; gt: "bj.gt"; gu: "bj.gu"; gv: "bj.gv"; gw: "bj.gw"; gx: "bj.gx"; gy: "bj.gy"; gz: "bj.gz"; ha: "bj.ha"; hb: "bj.hb"; hc: "bj.hc"; hd: "bj.hd"; he: "bj.he"; hf: "bj.hf"; hg: "bj.hg"; hh: "bj.hh"; hi: "bj.hi"; hj: "bj.hj"; hk: "bj.hk"; hl: "bj.hl"; hm: "bj.hm"; hn: "bj.hn"; ho: "bj.ho"; hp: "bj.hp"; hq: "bj.hq"; hr: "bj.hr"; hs: "bj.hs"; ht: "bj.ht"; hu: "bj.hu"; hv: "bj.hv"; hw: "bj.hw"; hx: "bj.hx"; hy: "bj.hy"; hz: "bj.hz"; ia: "bj.ia"; ib: "bj.ib"; ic: "bj.ic"; id: "bj.id"; ie: "bj.ie"; if: "bj.if"; ig: "bj.ig"; ih: "bj.ih"; ii: "bj.ii"; ij: "bj.ij"; ik: "bj.ik"; il: "bj.il"; im: "bj.im"; in: "bj.in"; io: "bj.io"; ip: "bj.ip"; iq: "bj.iq"; ir: "bj.ir"; is: "bj.is"; it: "bj.it"; iu: "bj.iu"; iv: "bj.iv"; iw: "bj.iw"; ix: "bj.ix"; iy: "bj.iy"; iz: "bj.iz"; ja: "bj.ja"; jb: "bj.jb"; jc: "bj.jc"; jd: "bj.jd"; je: "bj.je"; jf: "bj.jf"; jg: "bj.jg"; jh: "bj.jh"; ji: "bj.ji"; jj: "bj.jj"; jk: "bj.jk"; jl: "bj.jl"; jm: "bj.jm"; jn: "bj.jn"; jo: "bj.jo"; jp: "bj.jp"; jq: "bj.jq"; jr: "bj.jr"; js: "bj.js"; jt: "bj.jt"; ju: "bj.ju"; jv: "bj.jv"; jw: "bj.jw"; jx: "bj.jx"; jy: "bj.jy"; jz: "bj.jz"; ka: "bj.ka"; kb: "bj.kb"; kc: "bj.kc"; kd: "bj.kd"; ke: "bj.ke"; kf: "bj.kf"; kg: "bj.kg"; kh: "bj.kh"; ki: "bj.ki"; kj: "bj.kj"; kk: "bj.kk"; kl: "bj.kl"; km: "bj.km"; kn: "bj.kn"; ko: "bj.ko"; kp: "bj.kp"; kq: "bj.kq"; kr: "bj.kr"; ks: "bj.ks"; kt: "bj.kt"; ku: "bj.ku"; kv: "bj.kv"; kw: "bj.kw"; kx: "bj.kx"; ky: "bj.ky"; kz: "bj.kz"; la: "bj.la"; lb: "bj.lb"; lc: "bj.lc"; ld: "bj.ld"; le: "bj.le"; lf: "bj.lf"; lg: "bj.lg"; lh: "bj.lh"; li: "bj.li"; lj: "bj.lj"; lk: "bj.lk"; ll: "bj.ll"; lm: "bj.lm"; ln: "bj.ln"; lo: "bj.lo"; lp: "bj.lp"; lq: "bj.lq"; lr: "bj.lr"; ls: "bj.ls"; lt: "bj.lt"; lu: "bj.lu"; lv: "bj.lv"; lw: "bj.lw"; lx: "bj.lx"; ly: "bj.ly"; lz: "bj.lz"; ma: "bj.ma"; mb: "bj.mb"; mc: "bj.mc"; md: "bj.md"; me: "bj.me"; mf: "bj.mf"; mg: "bj.mg"; mh: "bj.mh"; mi: "bj.mi"; mj: "bj.mj"; mk: "bj.mk"; ml: "bj.ml"; mm: "bj.mm"; mn: "bj.mn"; mo: "bj.mo"; mp: "bj.mp"; mq: "bj.mq"; mr: "bj.mr"; ms: "bj.ms"; mt: "bj.mt"; mu: "bj.mu"; mv: "bj.mv"; mw: "bj.mw"; mx: "bj.mx"; my: "bj.my"; mz: "bj.mz"; na: "bj.na"; nb: "bj.nb"; nc: "bj.nc"; nd: "bj.nd"; ne: "bj.ne"; nf: "bj.nf"; ng: "bj.ng"; nh: "bj.nh"; ni: "bj.ni"; nj: "bj.nj"; nk: "bj.nk"; nl: "bj.nl"; nm: "bj.nm"; nn: "bj.nn"; no: "bj.no"; np: "bj.np"; nq: "bj.nq"; nr: "bj.nr"; ns: "bj.ns"; nt: "bj.nt"; nu: "bj.nu"; nv: "bj.nv"; nw: "bj.nw"; nx: "bj.nx"; ny: "bj.ny"; nz: "bj.nz"; oa: "bj.oa"; ob: "bj.ob"; oc: "bj.oc"; od: "bj.od"; oe: "bj.oe"; of: "bj.of"; og: "bj.og"; oh: "bj.oh"; oi: "bj.oi"; oj: "bj.oj"; ok: "bj.ok"; ol: "bj.ol"; om: "bj.om"; on: "bj.on"; oo: "bj.oo"; op: "bj.op"; oq: "bj.oq"; or: "bj.or"; os: "bj.os"; ot: "bj.ot"; ou: "bj.ou"; ov: "bj.ov"; ow: "bj.ow"; ox: "bj.ox"; oy: "bj.oy"; oz: "bj.oz"; pa: "bj.pa"; pb: "bj.pb"; pc: "bj.pc"; pd: "bj.pd"; pe: "bj.pe"; pf: "bj.pf"; pg: "bj.pg"; ph: "bj.ph"; pi: "bj.pi"; pj: "bj.pj"; pk: "bj.pk"; pl: "bj.pl"; pm: "bj.pm"; pn: "bj.pn"; po: "bj.po"; pp: "bj.pp"; pq: "bj.pq"; pr: "bj.pr"; ps: "bj.ps"; pt: "bj.pt"; pu: "bj.pu"; pv: "bj.pv"; pw: "bj.pw"; px: "bj.px"; py: "bj.py"; pz: "bj.pz"; qa: "bj.qa"; qb: "bj.qb"; qc: "bj.qc"; qd: "bj.qd"; qe: "bj.qe"; qf: "bj.qf"; qg: "bj.qg"; qh: "bj.qh"; qi: "bj.qi"; qj: "bj.qj"; qk: "bj.qk"; ql: "bj.ql"; qm: "bj.qm"; qn: "bj.qn"; qo: "bj.qo"; qp: "bj.qp"; qq: "bj.qq"; qr: "bj.qr"; qs: "bj.qs"; qt: "bj.qt"; qu: "bj.qu"; qv: "bj.qv"; qw: "bj.qw"; qx: "bj.qx"; qy: "bj.qy"; qz: "bj.qz"; ra: "bj.ra"; rb: "bj.rb"; rc: "bj.rc"; rd: "bj.rd"; re: "bj.re"; rf: "bj.rf"; rg: "bj.rg"; rh: "bj.rh"; ri: "bj.ri"; rj: "bj.rj"; rk: "bj.rk"; rl: "bj.rl"; rm: "bj.rm"; rn: "bj.rn"; ro: "bj.ro"; rp: "bj.rp"; rq: "bj.rq"; rr: "bj.rr"; rs: "bj.rs"; rt: "bj.rt"; ru: "bj.ru"; rv: "bj.rv"; rw: "bj.rw"; rx: "bj.rx"; ry: "bj.ry"; rz: "bj.rz"; sa: "bj.sa"; sb: "bj.sb"; sc: "bj.sc"; sd: "bj.sd"; se: "bj.se"; sf: "bj.sf"; sg: "bj.sg"; sh: "bj.sh"; si: "bj.si"; sj: "bj.sj"; sk: "bj.sk"; sl: "bj.sl"; sm: "bj.sm"; sn: "bj.sn"; so: "bj.so"; sp: "bj.sp"; sq: "bj.sq"; sr: "bj.sr"; ss: "bj.ss"; st: "bj.st"; su: "bj.su"; sv: "bj.sv"; sw: "bj.sw"; sx: "bj.sx"; sy: "bj.sy"; sz: "bj.sz"; ta: "bj.ta"; tb: "bj.tb"; tc: "bj.tc"; td: "bj.td"; te: "bj.te"; tf: "bj.tf"; tg: "bj.tg"; th: "bj.th"; ti: "bj.ti"; tj: "bj.tj"; tk: "bj.tk"; tl: "bj.tl"; tm: "bj.tm"; tn: "bj.tn"; to: "bj.to"; tp: "bj.tp"; tq: "bj.tq"; tr: "bj.tr"; ts: "bj.ts"; tt: "bj.tt"; tu: "bj.tu"; tv: "bj.tv"; tw: "bj.tw"; tx: "bj.tx"; ty: "bj.ty"; tz: "bj.tz"; ua: "bj.ua"; ub: "bj.ub"; uc: "bj.uc"; ud: "bj.ud"; ue: "bj.ue"; uf: "bj.uf"; ug: "bj.ug"; uh: "bj.uh"; ui: "bj.ui"; uj: "bj.uj"; uk: "bj.uk"; ul: "bj.ul"; um: "bj.um"; un: "bj.un"; uo: "bj.uo"; up: "bj.up"; uq: "bj.uq"; ur: "bj.ur"; us: "bj.us"; ut: "bj.ut"; uu: "bj.uu"; uv: "bj.uv"; uw: "bj.uw"; ux: "bj.ux"; uy: "bj.uy"; uz: "bj.uz"; va: "bj.va"; vb: "bj.vb"; vc: "bj.vc"; vd: "bj.vd"; ve: "bj.ve"; vf: "bj.vf"; vg: "bj.vg"; vh: "bj.vh"; vi: "bj.vi"; vj: "bj.vj"; vk: "bj.vk"; vl: "bj.vl"; vm: "bj.vm"; vn: "bj.vn"; vo: "bj.vo"; vp: "bj.vp"; vq: "bj.vq"; vr: "bj.vr"; vs: "bj.vs"; vt: "bj.vt"; vu: "bj.vu"; vv: "bj.vv"; vw: "bj.vw"; vx: "bj.vx"; vy: "bj.vy"; vz: "bj.vz"; wa: "bj.wa"; wb: "bj.wb"; wc: "bj.wc"; wd: "bj.wd"; we: "bj.we"; wf: "bj.wf"; wg: "bj.wg"; wh: "bj.wh"; wi: "bj.wi"; wj: "bj.wj"; wk: "bj.wk"; wl: "bj.wl"; wm: "bj.wm"; wn: "bj.wn"; wo: "bj.wo"; wp: "bj.wp"; wq: "bj.wq"; wr: "bj.wr"; ws: "bj.ws"; wt: "bj.wt"; wu: "bj.wu"; wv: "bj.wv"; ww: "bj.ww"; wx: "bj.wx"; wy: "bj.wy"; wz: "bj.wz"; xa: "bj.xa"; xb: "bj.xb"; xc: "bj.xc"; xd: "bj.xd"; xe: "bj.xe"; xf: "bj.xf"; xg: "bj.xg"; xh: "bj.xh"; xi: "bj.xi"; xj: "bj.xj"; xk: "bj.xk"; xl: "bj.xl"; xm: "bj.xm"; xn: "bj.xn"; xo: "bj.xo"; xp: "bj.xp"; xq: "bj.xq"; xr: "bj.xr"; xs: "bj.xs"; xt: "bj.xt"; xu: "bj.xu"; xv: "bj.xv"; xw: "bj.xw"; xx: "bj.xx"; xy: "bj.xy"; xz: "bj.xz"; ya: "bj.ya"; yb: "bj.yb"; yc: "bj.yc"; yd: "bj.yd"; ye: "bj.ye"; yf: "bj.yf"; yg: "bj.yg"; yh: "bj.yh"; yi: "bj.yi"; yj: "bj.yj"; yk: "bj.yk"; yl: "bj.yl"; ym: "bj.ym"; yn: "bj.yn"; yo: "bj.yo"; yp: "bj.yp"; yq: "bj.yq"; yr: "bj.yr"; ys: "bj.ys"; yt: "bj.yt"; yu: "bj.yu"; yv: "bj.yv"; yw: "bj.yw"; yx: "bj.yx"; yy: "bj.yy"; yz: "bj.yz"; za: "bj.za"; zb: "bj.zb"; zc: "bj.zc"; zd: "bj.zd"; ze: "bj.ze"; zf: "bj.zf"; zg: "bj.zg"; zh: "bj.zh"; zi: "bj.zi"; zj: "bj.zj"; zk: "bj.zk"; zl: "bj.zl"; zm: "bj.zm"; zn: "bj.zn"; zo: "bj.zo"; zp: "bj.zp"; zq: "bj.zq"; zr: "bj.zr"; zs: "bj.zs"; zt: "bj.zt"; zu: "bj.zu"; zv: "bj.zv"; zw: "bj.zw"; zx: "bj.zx"; zy: "bj.zy"; zz: "bj.zz"; }; bk: { aa: "bk.aa"; ab: "bk.ab"; ac: "bk.ac"; ad: "bk.ad"; ae: "bk.ae"; af: "bk.af"; ag: "bk.ag"; ah: "bk.ah"; ai: "bk.ai"; aj: "bk.aj"; ak: "bk.ak"; al: "bk.al"; am: "bk.am"; an: "bk.an"; ao: "bk.ao"; ap: "bk.ap"; aq: "bk.aq"; ar: "bk.ar"; as: "bk.as"; at: "bk.at"; au: "bk.au"; av: "bk.av"; aw: "bk.aw"; ax: "bk.ax"; ay: "bk.ay"; az: "bk.az"; ba: "bk.ba"; bb: "bk.bb"; bc: "bk.bc"; bd: "bk.bd"; be: "bk.be"; bf: "bk.bf"; bg: "bk.bg"; bh: "bk.bh"; bi: "bk.bi"; bj: "bk.bj"; bk: "bk.bk"; bl: "bk.bl"; bm: "bk.bm"; bn: "bk.bn"; bo: "bk.bo"; bp: "bk.bp"; bq: "bk.bq"; br: "bk.br"; bs: "bk.bs"; bt: "bk.bt"; bu: "bk.bu"; bv: "bk.bv"; bw: "bk.bw"; bx: "bk.bx"; by: "bk.by"; bz: "bk.bz"; ca: "bk.ca"; cb: "bk.cb"; cc: "bk.cc"; cd: "bk.cd"; ce: "bk.ce"; cf: "bk.cf"; cg: "bk.cg"; ch: "bk.ch"; ci: "bk.ci"; cj: "bk.cj"; ck: "bk.ck"; cl: "bk.cl"; cm: "bk.cm"; cn: "bk.cn"; co: "bk.co"; cp: "bk.cp"; cq: "bk.cq"; cr: "bk.cr"; cs: "bk.cs"; ct: "bk.ct"; cu: "bk.cu"; cv: "bk.cv"; cw: "bk.cw"; cx: "bk.cx"; cy: "bk.cy"; cz: "bk.cz"; da: "bk.da"; db: "bk.db"; dc: "bk.dc"; dd: "bk.dd"; de: "bk.de"; df: "bk.df"; dg: "bk.dg"; dh: "bk.dh"; di: "bk.di"; dj: "bk.dj"; dk: "bk.dk"; dl: "bk.dl"; dm: "bk.dm"; dn: "bk.dn"; do: "bk.do"; dp: "bk.dp"; dq: "bk.dq"; dr: "bk.dr"; ds: "bk.ds"; dt: "bk.dt"; du: "bk.du"; dv: "bk.dv"; dw: "bk.dw"; dx: "bk.dx"; dy: "bk.dy"; dz: "bk.dz"; ea: "bk.ea"; eb: "bk.eb"; ec: "bk.ec"; ed: "bk.ed"; ee: "bk.ee"; ef: "bk.ef"; eg: "bk.eg"; eh: "bk.eh"; ei: "bk.ei"; ej: "bk.ej"; ek: "bk.ek"; el: "bk.el"; em: "bk.em"; en: "bk.en"; eo: "bk.eo"; ep: "bk.ep"; eq: "bk.eq"; er: "bk.er"; es: "bk.es"; et: "bk.et"; eu: "bk.eu"; ev: "bk.ev"; ew: "bk.ew"; ex: "bk.ex"; ey: "bk.ey"; ez: "bk.ez"; fa: "bk.fa"; fb: "bk.fb"; fc: "bk.fc"; fd: "bk.fd"; fe: "bk.fe"; ff: "bk.ff"; fg: "bk.fg"; fh: "bk.fh"; fi: "bk.fi"; fj: "bk.fj"; fk: "bk.fk"; fl: "bk.fl"; fm: "bk.fm"; fn: "bk.fn"; fo: "bk.fo"; fp: "bk.fp"; fq: "bk.fq"; fr: "bk.fr"; fs: "bk.fs"; ft: "bk.ft"; fu: "bk.fu"; fv: "bk.fv"; fw: "bk.fw"; fx: "bk.fx"; fy: "bk.fy"; fz: "bk.fz"; ga: "bk.ga"; gb: "bk.gb"; gc: "bk.gc"; gd: "bk.gd"; ge: "bk.ge"; gf: "bk.gf"; gg: "bk.gg"; gh: "bk.gh"; gi: "bk.gi"; gj: "bk.gj"; gk: "bk.gk"; gl: "bk.gl"; gm: "bk.gm"; gn: "bk.gn"; go: "bk.go"; gp: "bk.gp"; gq: "bk.gq"; gr: "bk.gr"; gs: "bk.gs"; gt: "bk.gt"; gu: "bk.gu"; gv: "bk.gv"; gw: "bk.gw"; gx: "bk.gx"; gy: "bk.gy"; gz: "bk.gz"; ha: "bk.ha"; hb: "bk.hb"; hc: "bk.hc"; hd: "bk.hd"; he: "bk.he"; hf: "bk.hf"; hg: "bk.hg"; hh: "bk.hh"; hi: "bk.hi"; hj: "bk.hj"; hk: "bk.hk"; hl: "bk.hl"; hm: "bk.hm"; hn: "bk.hn"; ho: "bk.ho"; hp: "bk.hp"; hq: "bk.hq"; hr: "bk.hr"; hs: "bk.hs"; ht: "bk.ht"; hu: "bk.hu"; hv: "bk.hv"; hw: "bk.hw"; hx: "bk.hx"; hy: "bk.hy"; hz: "bk.hz"; ia: "bk.ia"; ib: "bk.ib"; ic: "bk.ic"; id: "bk.id"; ie: "bk.ie"; if: "bk.if"; ig: "bk.ig"; ih: "bk.ih"; ii: "bk.ii"; ij: "bk.ij"; ik: "bk.ik"; il: "bk.il"; im: "bk.im"; in: "bk.in"; io: "bk.io"; ip: "bk.ip"; iq: "bk.iq"; ir: "bk.ir"; is: "bk.is"; it: "bk.it"; iu: "bk.iu"; iv: "bk.iv"; iw: "bk.iw"; ix: "bk.ix"; iy: "bk.iy"; iz: "bk.iz"; ja: "bk.ja"; jb: "bk.jb"; jc: "bk.jc"; jd: "bk.jd"; je: "bk.je"; jf: "bk.jf"; jg: "bk.jg"; jh: "bk.jh"; ji: "bk.ji"; jj: "bk.jj"; jk: "bk.jk"; jl: "bk.jl"; jm: "bk.jm"; jn: "bk.jn"; jo: "bk.jo"; jp: "bk.jp"; jq: "bk.jq"; jr: "bk.jr"; js: "bk.js"; jt: "bk.jt"; ju: "bk.ju"; jv: "bk.jv"; jw: "bk.jw"; jx: "bk.jx"; jy: "bk.jy"; jz: "bk.jz"; ka: "bk.ka"; kb: "bk.kb"; kc: "bk.kc"; kd: "bk.kd"; ke: "bk.ke"; kf: "bk.kf"; kg: "bk.kg"; kh: "bk.kh"; ki: "bk.ki"; kj: "bk.kj"; kk: "bk.kk"; kl: "bk.kl"; km: "bk.km"; kn: "bk.kn"; ko: "bk.ko"; kp: "bk.kp"; kq: "bk.kq"; kr: "bk.kr"; ks: "bk.ks"; kt: "bk.kt"; ku: "bk.ku"; kv: "bk.kv"; kw: "bk.kw"; kx: "bk.kx"; ky: "bk.ky"; kz: "bk.kz"; la: "bk.la"; lb: "bk.lb"; lc: "bk.lc"; ld: "bk.ld"; le: "bk.le"; lf: "bk.lf"; lg: "bk.lg"; lh: "bk.lh"; li: "bk.li"; lj: "bk.lj"; lk: "bk.lk"; ll: "bk.ll"; lm: "bk.lm"; ln: "bk.ln"; lo: "bk.lo"; lp: "bk.lp"; lq: "bk.lq"; lr: "bk.lr"; ls: "bk.ls"; lt: "bk.lt"; lu: "bk.lu"; lv: "bk.lv"; lw: "bk.lw"; lx: "bk.lx"; ly: "bk.ly"; lz: "bk.lz"; ma: "bk.ma"; mb: "bk.mb"; mc: "bk.mc"; md: "bk.md"; me: "bk.me"; mf: "bk.mf"; mg: "bk.mg"; mh: "bk.mh"; mi: "bk.mi"; mj: "bk.mj"; mk: "bk.mk"; ml: "bk.ml"; mm: "bk.mm"; mn: "bk.mn"; mo: "bk.mo"; mp: "bk.mp"; mq: "bk.mq"; mr: "bk.mr"; ms: "bk.ms"; mt: "bk.mt"; mu: "bk.mu"; mv: "bk.mv"; mw: "bk.mw"; mx: "bk.mx"; my: "bk.my"; mz: "bk.mz"; na: "bk.na"; nb: "bk.nb"; nc: "bk.nc"; nd: "bk.nd"; ne: "bk.ne"; nf: "bk.nf"; ng: "bk.ng"; nh: "bk.nh"; ni: "bk.ni"; nj: "bk.nj"; nk: "bk.nk"; nl: "bk.nl"; nm: "bk.nm"; nn: "bk.nn"; no: "bk.no"; np: "bk.np"; nq: "bk.nq"; nr: "bk.nr"; ns: "bk.ns"; nt: "bk.nt"; nu: "bk.nu"; nv: "bk.nv"; nw: "bk.nw"; nx: "bk.nx"; ny: "bk.ny"; nz: "bk.nz"; oa: "bk.oa"; ob: "bk.ob"; oc: "bk.oc"; od: "bk.od"; oe: "bk.oe"; of: "bk.of"; og: "bk.og"; oh: "bk.oh"; oi: "bk.oi"; oj: "bk.oj"; ok: "bk.ok"; ol: "bk.ol"; om: "bk.om"; on: "bk.on"; oo: "bk.oo"; op: "bk.op"; oq: "bk.oq"; or: "bk.or"; os: "bk.os"; ot: "bk.ot"; ou: "bk.ou"; ov: "bk.ov"; ow: "bk.ow"; ox: "bk.ox"; oy: "bk.oy"; oz: "bk.oz"; pa: "bk.pa"; pb: "bk.pb"; pc: "bk.pc"; pd: "bk.pd"; pe: "bk.pe"; pf: "bk.pf"; pg: "bk.pg"; ph: "bk.ph"; pi: "bk.pi"; pj: "bk.pj"; pk: "bk.pk"; pl: "bk.pl"; pm: "bk.pm"; pn: "bk.pn"; po: "bk.po"; pp: "bk.pp"; pq: "bk.pq"; pr: "bk.pr"; ps: "bk.ps"; pt: "bk.pt"; pu: "bk.pu"; pv: "bk.pv"; pw: "bk.pw"; px: "bk.px"; py: "bk.py"; pz: "bk.pz"; qa: "bk.qa"; qb: "bk.qb"; qc: "bk.qc"; qd: "bk.qd"; qe: "bk.qe"; qf: "bk.qf"; qg: "bk.qg"; qh: "bk.qh"; qi: "bk.qi"; qj: "bk.qj"; qk: "bk.qk"; ql: "bk.ql"; qm: "bk.qm"; qn: "bk.qn"; qo: "bk.qo"; qp: "bk.qp"; qq: "bk.qq"; qr: "bk.qr"; qs: "bk.qs"; qt: "bk.qt"; qu: "bk.qu"; qv: "bk.qv"; qw: "bk.qw"; qx: "bk.qx"; qy: "bk.qy"; qz: "bk.qz"; ra: "bk.ra"; rb: "bk.rb"; rc: "bk.rc"; rd: "bk.rd"; re: "bk.re"; rf: "bk.rf"; rg: "bk.rg"; rh: "bk.rh"; ri: "bk.ri"; rj: "bk.rj"; rk: "bk.rk"; rl: "bk.rl"; rm: "bk.rm"; rn: "bk.rn"; ro: "bk.ro"; rp: "bk.rp"; rq: "bk.rq"; rr: "bk.rr"; rs: "bk.rs"; rt: "bk.rt"; ru: "bk.ru"; rv: "bk.rv"; rw: "bk.rw"; rx: "bk.rx"; ry: "bk.ry"; rz: "bk.rz"; sa: "bk.sa"; sb: "bk.sb"; sc: "bk.sc"; sd: "bk.sd"; se: "bk.se"; sf: "bk.sf"; sg: "bk.sg"; sh: "bk.sh"; si: "bk.si"; sj: "bk.sj"; sk: "bk.sk"; sl: "bk.sl"; sm: "bk.sm"; sn: "bk.sn"; so: "bk.so"; sp: "bk.sp"; sq: "bk.sq"; sr: "bk.sr"; ss: "bk.ss"; st: "bk.st"; su: "bk.su"; sv: "bk.sv"; sw: "bk.sw"; sx: "bk.sx"; sy: "bk.sy"; sz: "bk.sz"; ta: "bk.ta"; tb: "bk.tb"; tc: "bk.tc"; td: "bk.td"; te: "bk.te"; tf: "bk.tf"; tg: "bk.tg"; th: "bk.th"; ti: "bk.ti"; tj: "bk.tj"; tk: "bk.tk"; tl: "bk.tl"; tm: "bk.tm"; tn: "bk.tn"; to: "bk.to"; tp: "bk.tp"; tq: "bk.tq"; tr: "bk.tr"; ts: "bk.ts"; tt: "bk.tt"; tu: "bk.tu"; tv: "bk.tv"; tw: "bk.tw"; tx: "bk.tx"; ty: "bk.ty"; tz: "bk.tz"; ua: "bk.ua"; ub: "bk.ub"; uc: "bk.uc"; ud: "bk.ud"; ue: "bk.ue"; uf: "bk.uf"; ug: "bk.ug"; uh: "bk.uh"; ui: "bk.ui"; uj: "bk.uj"; uk: "bk.uk"; ul: "bk.ul"; um: "bk.um"; un: "bk.un"; uo: "bk.uo"; up: "bk.up"; uq: "bk.uq"; ur: "bk.ur"; us: "bk.us"; ut: "bk.ut"; uu: "bk.uu"; uv: "bk.uv"; uw: "bk.uw"; ux: "bk.ux"; uy: "bk.uy"; uz: "bk.uz"; va: "bk.va"; vb: "bk.vb"; vc: "bk.vc"; vd: "bk.vd"; ve: "bk.ve"; vf: "bk.vf"; vg: "bk.vg"; vh: "bk.vh"; vi: "bk.vi"; vj: "bk.vj"; vk: "bk.vk"; vl: "bk.vl"; vm: "bk.vm"; vn: "bk.vn"; vo: "bk.vo"; vp: "bk.vp"; vq: "bk.vq"; vr: "bk.vr"; vs: "bk.vs"; vt: "bk.vt"; vu: "bk.vu"; vv: "bk.vv"; vw: "bk.vw"; vx: "bk.vx"; vy: "bk.vy"; vz: "bk.vz"; wa: "bk.wa"; wb: "bk.wb"; wc: "bk.wc"; wd: "bk.wd"; we: "bk.we"; wf: "bk.wf"; wg: "bk.wg"; wh: "bk.wh"; wi: "bk.wi"; wj: "bk.wj"; wk: "bk.wk"; wl: "bk.wl"; wm: "bk.wm"; wn: "bk.wn"; wo: "bk.wo"; wp: "bk.wp"; wq: "bk.wq"; wr: "bk.wr"; ws: "bk.ws"; wt: "bk.wt"; wu: "bk.wu"; wv: "bk.wv"; ww: "bk.ww"; wx: "bk.wx"; wy: "bk.wy"; wz: "bk.wz"; xa: "bk.xa"; xb: "bk.xb"; xc: "bk.xc"; xd: "bk.xd"; xe: "bk.xe"; xf: "bk.xf"; xg: "bk.xg"; xh: "bk.xh"; xi: "bk.xi"; xj: "bk.xj"; xk: "bk.xk"; xl: "bk.xl"; xm: "bk.xm"; xn: "bk.xn"; xo: "bk.xo"; xp: "bk.xp"; xq: "bk.xq"; xr: "bk.xr"; xs: "bk.xs"; xt: "bk.xt"; xu: "bk.xu"; xv: "bk.xv"; xw: "bk.xw"; xx: "bk.xx"; xy: "bk.xy"; xz: "bk.xz"; ya: "bk.ya"; yb: "bk.yb"; yc: "bk.yc"; yd: "bk.yd"; ye: "bk.ye"; yf: "bk.yf"; yg: "bk.yg"; yh: "bk.yh"; yi: "bk.yi"; yj: "bk.yj"; yk: "bk.yk"; yl: "bk.yl"; ym: "bk.ym"; yn: "bk.yn"; yo: "bk.yo"; yp: "bk.yp"; yq: "bk.yq"; yr: "bk.yr"; ys: "bk.ys"; yt: "bk.yt"; yu: "bk.yu"; yv: "bk.yv"; yw: "bk.yw"; yx: "bk.yx"; yy: "bk.yy"; yz: "bk.yz"; za: "bk.za"; zb: "bk.zb"; zc: "bk.zc"; zd: "bk.zd"; ze: "bk.ze"; zf: "bk.zf"; zg: "bk.zg"; zh: "bk.zh"; zi: "bk.zi"; zj: "bk.zj"; zk: "bk.zk"; zl: "bk.zl"; zm: "bk.zm"; zn: "bk.zn"; zo: "bk.zo"; zp: "bk.zp"; zq: "bk.zq"; zr: "bk.zr"; zs: "bk.zs"; zt: "bk.zt"; zu: "bk.zu"; zv: "bk.zv"; zw: "bk.zw"; zx: "bk.zx"; zy: "bk.zy"; zz: "bk.zz"; }; bl: { aa: "bl.aa"; ab: "bl.ab"; ac: "bl.ac"; ad: "bl.ad"; ae: "bl.ae"; af: "bl.af"; ag: "bl.ag"; ah: "bl.ah"; ai: "bl.ai"; aj: "bl.aj"; ak: "bl.ak"; al: "bl.al"; am: "bl.am"; an: "bl.an"; ao: "bl.ao"; ap: "bl.ap"; aq: "bl.aq"; ar: "bl.ar"; as: "bl.as"; at: "bl.at"; au: "bl.au"; av: "bl.av"; aw: "bl.aw"; ax: "bl.ax"; ay: "bl.ay"; az: "bl.az"; ba: "bl.ba"; bb: "bl.bb"; bc: "bl.bc"; bd: "bl.bd"; be: "bl.be"; bf: "bl.bf"; bg: "bl.bg"; bh: "bl.bh"; bi: "bl.bi"; bj: "bl.bj"; bk: "bl.bk"; bl: "bl.bl"; bm: "bl.bm"; bn: "bl.bn"; bo: "bl.bo"; bp: "bl.bp"; bq: "bl.bq"; br: "bl.br"; bs: "bl.bs"; bt: "bl.bt"; bu: "bl.bu"; bv: "bl.bv"; bw: "bl.bw"; bx: "bl.bx"; by: "bl.by"; bz: "bl.bz"; ca: "bl.ca"; cb: "bl.cb"; cc: "bl.cc"; cd: "bl.cd"; ce: "bl.ce"; cf: "bl.cf"; cg: "bl.cg"; ch: "bl.ch"; ci: "bl.ci"; cj: "bl.cj"; ck: "bl.ck"; cl: "bl.cl"; cm: "bl.cm"; cn: "bl.cn"; co: "bl.co"; cp: "bl.cp"; cq: "bl.cq"; cr: "bl.cr"; cs: "bl.cs"; ct: "bl.ct"; cu: "bl.cu"; cv: "bl.cv"; cw: "bl.cw"; cx: "bl.cx"; cy: "bl.cy"; cz: "bl.cz"; da: "bl.da"; db: "bl.db"; dc: "bl.dc"; dd: "bl.dd"; de: "bl.de"; df: "bl.df"; dg: "bl.dg"; dh: "bl.dh"; di: "bl.di"; dj: "bl.dj"; dk: "bl.dk"; dl: "bl.dl"; dm: "bl.dm"; dn: "bl.dn"; do: "bl.do"; dp: "bl.dp"; dq: "bl.dq"; dr: "bl.dr"; ds: "bl.ds"; dt: "bl.dt"; du: "bl.du"; dv: "bl.dv"; dw: "bl.dw"; dx: "bl.dx"; dy: "bl.dy"; dz: "bl.dz"; ea: "bl.ea"; eb: "bl.eb"; ec: "bl.ec"; ed: "bl.ed"; ee: "bl.ee"; ef: "bl.ef"; eg: "bl.eg"; eh: "bl.eh"; ei: "bl.ei"; ej: "bl.ej"; ek: "bl.ek"; el: "bl.el"; em: "bl.em"; en: "bl.en"; eo: "bl.eo"; ep: "bl.ep"; eq: "bl.eq"; er: "bl.er"; es: "bl.es"; et: "bl.et"; eu: "bl.eu"; ev: "bl.ev"; ew: "bl.ew"; ex: "bl.ex"; ey: "bl.ey"; ez: "bl.ez"; fa: "bl.fa"; fb: "bl.fb"; fc: "bl.fc"; fd: "bl.fd"; fe: "bl.fe"; ff: "bl.ff"; fg: "bl.fg"; fh: "bl.fh"; fi: "bl.fi"; fj: "bl.fj"; fk: "bl.fk"; fl: "bl.fl"; fm: "bl.fm"; fn: "bl.fn"; fo: "bl.fo"; fp: "bl.fp"; fq: "bl.fq"; fr: "bl.fr"; fs: "bl.fs"; ft: "bl.ft"; fu: "bl.fu"; fv: "bl.fv"; fw: "bl.fw"; fx: "bl.fx"; fy: "bl.fy"; fz: "bl.fz"; ga: "bl.ga"; gb: "bl.gb"; gc: "bl.gc"; gd: "bl.gd"; ge: "bl.ge"; gf: "bl.gf"; gg: "bl.gg"; gh: "bl.gh"; gi: "bl.gi"; gj: "bl.gj"; gk: "bl.gk"; gl: "bl.gl"; gm: "bl.gm"; gn: "bl.gn"; go: "bl.go"; gp: "bl.gp"; gq: "bl.gq"; gr: "bl.gr"; gs: "bl.gs"; gt: "bl.gt"; gu: "bl.gu"; gv: "bl.gv"; gw: "bl.gw"; gx: "bl.gx"; gy: "bl.gy"; gz: "bl.gz"; ha: "bl.ha"; hb: "bl.hb"; hc: "bl.hc"; hd: "bl.hd"; he: "bl.he"; hf: "bl.hf"; hg: "bl.hg"; hh: "bl.hh"; hi: "bl.hi"; hj: "bl.hj"; hk: "bl.hk"; hl: "bl.hl"; hm: "bl.hm"; hn: "bl.hn"; ho: "bl.ho"; hp: "bl.hp"; hq: "bl.hq"; hr: "bl.hr"; hs: "bl.hs"; ht: "bl.ht"; hu: "bl.hu"; hv: "bl.hv"; hw: "bl.hw"; hx: "bl.hx"; hy: "bl.hy"; hz: "bl.hz"; ia: "bl.ia"; ib: "bl.ib"; ic: "bl.ic"; id: "bl.id"; ie: "bl.ie"; if: "bl.if"; ig: "bl.ig"; ih: "bl.ih"; ii: "bl.ii"; ij: "bl.ij"; ik: "bl.ik"; il: "bl.il"; im: "bl.im"; in: "bl.in"; io: "bl.io"; ip: "bl.ip"; iq: "bl.iq"; ir: "bl.ir"; is: "bl.is"; it: "bl.it"; iu: "bl.iu"; iv: "bl.iv"; iw: "bl.iw"; ix: "bl.ix"; iy: "bl.iy"; iz: "bl.iz"; ja: "bl.ja"; jb: "bl.jb"; jc: "bl.jc"; jd: "bl.jd"; je: "bl.je"; jf: "bl.jf"; jg: "bl.jg"; jh: "bl.jh"; ji: "bl.ji"; jj: "bl.jj"; jk: "bl.jk"; jl: "bl.jl"; jm: "bl.jm"; jn: "bl.jn"; jo: "bl.jo"; jp: "bl.jp"; jq: "bl.jq"; jr: "bl.jr"; js: "bl.js"; jt: "bl.jt"; ju: "bl.ju"; jv: "bl.jv"; jw: "bl.jw"; jx: "bl.jx"; jy: "bl.jy"; jz: "bl.jz"; ka: "bl.ka"; kb: "bl.kb"; kc: "bl.kc"; kd: "bl.kd"; ke: "bl.ke"; kf: "bl.kf"; kg: "bl.kg"; kh: "bl.kh"; ki: "bl.ki"; kj: "bl.kj"; kk: "bl.kk"; kl: "bl.kl"; km: "bl.km"; kn: "bl.kn"; ko: "bl.ko"; kp: "bl.kp"; kq: "bl.kq"; kr: "bl.kr"; ks: "bl.ks"; kt: "bl.kt"; ku: "bl.ku"; kv: "bl.kv"; kw: "bl.kw"; kx: "bl.kx"; ky: "bl.ky"; kz: "bl.kz"; la: "bl.la"; lb: "bl.lb"; lc: "bl.lc"; ld: "bl.ld"; le: "bl.le"; lf: "bl.lf"; lg: "bl.lg"; lh: "bl.lh"; li: "bl.li"; lj: "bl.lj"; lk: "bl.lk"; ll: "bl.ll"; lm: "bl.lm"; ln: "bl.ln"; lo: "bl.lo"; lp: "bl.lp"; lq: "bl.lq"; lr: "bl.lr"; ls: "bl.ls"; lt: "bl.lt"; lu: "bl.lu"; lv: "bl.lv"; lw: "bl.lw"; lx: "bl.lx"; ly: "bl.ly"; lz: "bl.lz"; ma: "bl.ma"; mb: "bl.mb"; mc: "bl.mc"; md: "bl.md"; me: "bl.me"; mf: "bl.mf"; mg: "bl.mg"; mh: "bl.mh"; mi: "bl.mi"; mj: "bl.mj"; mk: "bl.mk"; ml: "bl.ml"; mm: "bl.mm"; mn: "bl.mn"; mo: "bl.mo"; mp: "bl.mp"; mq: "bl.mq"; mr: "bl.mr"; ms: "bl.ms"; mt: "bl.mt"; mu: "bl.mu"; mv: "bl.mv"; mw: "bl.mw"; mx: "bl.mx"; my: "bl.my"; mz: "bl.mz"; na: "bl.na"; nb: "bl.nb"; nc: "bl.nc"; nd: "bl.nd"; ne: "bl.ne"; nf: "bl.nf"; ng: "bl.ng"; nh: "bl.nh"; ni: "bl.ni"; nj: "bl.nj"; nk: "bl.nk"; nl: "bl.nl"; nm: "bl.nm"; nn: "bl.nn"; no: "bl.no"; np: "bl.np"; nq: "bl.nq"; nr: "bl.nr"; ns: "bl.ns"; nt: "bl.nt"; nu: "bl.nu"; nv: "bl.nv"; nw: "bl.nw"; nx: "bl.nx"; ny: "bl.ny"; nz: "bl.nz"; oa: "bl.oa"; ob: "bl.ob"; oc: "bl.oc"; od: "bl.od"; oe: "bl.oe"; of: "bl.of"; og: "bl.og"; oh: "bl.oh"; oi: "bl.oi"; oj: "bl.oj"; ok: "bl.ok"; ol: "bl.ol"; om: "bl.om"; on: "bl.on"; oo: "bl.oo"; op: "bl.op"; oq: "bl.oq"; or: "bl.or"; os: "bl.os"; ot: "bl.ot"; ou: "bl.ou"; ov: "bl.ov"; ow: "bl.ow"; ox: "bl.ox"; oy: "bl.oy"; oz: "bl.oz"; pa: "bl.pa"; pb: "bl.pb"; pc: "bl.pc"; pd: "bl.pd"; pe: "bl.pe"; pf: "bl.pf"; pg: "bl.pg"; ph: "bl.ph"; pi: "bl.pi"; pj: "bl.pj"; pk: "bl.pk"; pl: "bl.pl"; pm: "bl.pm"; pn: "bl.pn"; po: "bl.po"; pp: "bl.pp"; pq: "bl.pq"; pr: "bl.pr"; ps: "bl.ps"; pt: "bl.pt"; pu: "bl.pu"; pv: "bl.pv"; pw: "bl.pw"; px: "bl.px"; py: "bl.py"; pz: "bl.pz"; qa: "bl.qa"; qb: "bl.qb"; qc: "bl.qc"; qd: "bl.qd"; qe: "bl.qe"; qf: "bl.qf"; qg: "bl.qg"; qh: "bl.qh"; qi: "bl.qi"; qj: "bl.qj"; qk: "bl.qk"; ql: "bl.ql"; qm: "bl.qm"; qn: "bl.qn"; qo: "bl.qo"; qp: "bl.qp"; qq: "bl.qq"; qr: "bl.qr"; qs: "bl.qs"; qt: "bl.qt"; qu: "bl.qu"; qv: "bl.qv"; qw: "bl.qw"; qx: "bl.qx"; qy: "bl.qy"; qz: "bl.qz"; ra: "bl.ra"; rb: "bl.rb"; rc: "bl.rc"; rd: "bl.rd"; re: "bl.re"; rf: "bl.rf"; rg: "bl.rg"; rh: "bl.rh"; ri: "bl.ri"; rj: "bl.rj"; rk: "bl.rk"; rl: "bl.rl"; rm: "bl.rm"; rn: "bl.rn"; ro: "bl.ro"; rp: "bl.rp"; rq: "bl.rq"; rr: "bl.rr"; rs: "bl.rs"; rt: "bl.rt"; ru: "bl.ru"; rv: "bl.rv"; rw: "bl.rw"; rx: "bl.rx"; ry: "bl.ry"; rz: "bl.rz"; sa: "bl.sa"; sb: "bl.sb"; sc: "bl.sc"; sd: "bl.sd"; se: "bl.se"; sf: "bl.sf"; sg: "bl.sg"; sh: "bl.sh"; si: "bl.si"; sj: "bl.sj"; sk: "bl.sk"; sl: "bl.sl"; sm: "bl.sm"; sn: "bl.sn"; so: "bl.so"; sp: "bl.sp"; sq: "bl.sq"; sr: "bl.sr"; ss: "bl.ss"; st: "bl.st"; su: "bl.su"; sv: "bl.sv"; sw: "bl.sw"; sx: "bl.sx"; sy: "bl.sy"; sz: "bl.sz"; ta: "bl.ta"; tb: "bl.tb"; tc: "bl.tc"; td: "bl.td"; te: "bl.te"; tf: "bl.tf"; tg: "bl.tg"; th: "bl.th"; ti: "bl.ti"; tj: "bl.tj"; tk: "bl.tk"; tl: "bl.tl"; tm: "bl.tm"; tn: "bl.tn"; to: "bl.to"; tp: "bl.tp"; tq: "bl.tq"; tr: "bl.tr"; ts: "bl.ts"; tt: "bl.tt"; tu: "bl.tu"; tv: "bl.tv"; tw: "bl.tw"; tx: "bl.tx"; ty: "bl.ty"; tz: "bl.tz"; ua: "bl.ua"; ub: "bl.ub"; uc: "bl.uc"; ud: "bl.ud"; ue: "bl.ue"; uf: "bl.uf"; ug: "bl.ug"; uh: "bl.uh"; ui: "bl.ui"; uj: "bl.uj"; uk: "bl.uk"; ul: "bl.ul"; um: "bl.um"; un: "bl.un"; uo: "bl.uo"; up: "bl.up"; uq: "bl.uq"; ur: "bl.ur"; us: "bl.us"; ut: "bl.ut"; uu: "bl.uu"; uv: "bl.uv"; uw: "bl.uw"; ux: "bl.ux"; uy: "bl.uy"; uz: "bl.uz"; va: "bl.va"; vb: "bl.vb"; vc: "bl.vc"; vd: "bl.vd"; ve: "bl.ve"; vf: "bl.vf"; vg: "bl.vg"; vh: "bl.vh"; vi: "bl.vi"; vj: "bl.vj"; vk: "bl.vk"; vl: "bl.vl"; vm: "bl.vm"; vn: "bl.vn"; vo: "bl.vo"; vp: "bl.vp"; vq: "bl.vq"; vr: "bl.vr"; vs: "bl.vs"; vt: "bl.vt"; vu: "bl.vu"; vv: "bl.vv"; vw: "bl.vw"; vx: "bl.vx"; vy: "bl.vy"; vz: "bl.vz"; wa: "bl.wa"; wb: "bl.wb"; wc: "bl.wc"; wd: "bl.wd"; we: "bl.we"; wf: "bl.wf"; wg: "bl.wg"; wh: "bl.wh"; wi: "bl.wi"; wj: "bl.wj"; wk: "bl.wk"; wl: "bl.wl"; wm: "bl.wm"; wn: "bl.wn"; wo: "bl.wo"; wp: "bl.wp"; wq: "bl.wq"; wr: "bl.wr"; ws: "bl.ws"; wt: "bl.wt"; wu: "bl.wu"; wv: "bl.wv"; ww: "bl.ww"; wx: "bl.wx"; wy: "bl.wy"; wz: "bl.wz"; xa: "bl.xa"; xb: "bl.xb"; xc: "bl.xc"; xd: "bl.xd"; xe: "bl.xe"; xf: "bl.xf"; xg: "bl.xg"; xh: "bl.xh"; xi: "bl.xi"; xj: "bl.xj"; xk: "bl.xk"; xl: "bl.xl"; xm: "bl.xm"; xn: "bl.xn"; xo: "bl.xo"; xp: "bl.xp"; xq: "bl.xq"; xr: "bl.xr"; xs: "bl.xs"; xt: "bl.xt"; xu: "bl.xu"; xv: "bl.xv"; xw: "bl.xw"; xx: "bl.xx"; xy: "bl.xy"; xz: "bl.xz"; ya: "bl.ya"; yb: "bl.yb"; yc: "bl.yc"; yd: "bl.yd"; ye: "bl.ye"; yf: "bl.yf"; yg: "bl.yg"; yh: "bl.yh"; yi: "bl.yi"; yj: "bl.yj"; yk: "bl.yk"; yl: "bl.yl"; ym: "bl.ym"; yn: "bl.yn"; yo: "bl.yo"; yp: "bl.yp"; yq: "bl.yq"; yr: "bl.yr"; ys: "bl.ys"; yt: "bl.yt"; yu: "bl.yu"; yv: "bl.yv"; yw: "bl.yw"; yx: "bl.yx"; yy: "bl.yy"; yz: "bl.yz"; za: "bl.za"; zb: "bl.zb"; zc: "bl.zc"; zd: "bl.zd"; ze: "bl.ze"; zf: "bl.zf"; zg: "bl.zg"; zh: "bl.zh"; zi: "bl.zi"; zj: "bl.zj"; zk: "bl.zk"; zl: "bl.zl"; zm: "bl.zm"; zn: "bl.zn"; zo: "bl.zo"; zp: "bl.zp"; zq: "bl.zq"; zr: "bl.zr"; zs: "bl.zs"; zt: "bl.zt"; zu: "bl.zu"; zv: "bl.zv"; zw: "bl.zw"; zx: "bl.zx"; zy: "bl.zy"; zz: "bl.zz"; }; bm: { aa: "bm.aa"; ab: "bm.ab"; ac: "bm.ac"; ad: "bm.ad"; ae: "bm.ae"; af: "bm.af"; ag: "bm.ag"; ah: "bm.ah"; ai: "bm.ai"; aj: "bm.aj"; ak: "bm.ak"; al: "bm.al"; am: "bm.am"; an: "bm.an"; ao: "bm.ao"; ap: "bm.ap"; aq: "bm.aq"; ar: "bm.ar"; as: "bm.as"; at: "bm.at"; au: "bm.au"; av: "bm.av"; aw: "bm.aw"; ax: "bm.ax"; ay: "bm.ay"; az: "bm.az"; ba: "bm.ba"; bb: "bm.bb"; bc: "bm.bc"; bd: "bm.bd"; be: "bm.be"; bf: "bm.bf"; bg: "bm.bg"; bh: "bm.bh"; bi: "bm.bi"; bj: "bm.bj"; bk: "bm.bk"; bl: "bm.bl"; bm: "bm.bm"; bn: "bm.bn"; bo: "bm.bo"; bp: "bm.bp"; bq: "bm.bq"; br: "bm.br"; bs: "bm.bs"; bt: "bm.bt"; bu: "bm.bu"; bv: "bm.bv"; bw: "bm.bw"; bx: "bm.bx"; by: "bm.by"; bz: "bm.bz"; ca: "bm.ca"; cb: "bm.cb"; cc: "bm.cc"; cd: "bm.cd"; ce: "bm.ce"; cf: "bm.cf"; cg: "bm.cg"; ch: "bm.ch"; ci: "bm.ci"; cj: "bm.cj"; ck: "bm.ck"; cl: "bm.cl"; cm: "bm.cm"; cn: "bm.cn"; co: "bm.co"; cp: "bm.cp"; cq: "bm.cq"; cr: "bm.cr"; cs: "bm.cs"; ct: "bm.ct"; cu: "bm.cu"; cv: "bm.cv"; cw: "bm.cw"; cx: "bm.cx"; cy: "bm.cy"; cz: "bm.cz"; da: "bm.da"; db: "bm.db"; dc: "bm.dc"; dd: "bm.dd"; de: "bm.de"; df: "bm.df"; dg: "bm.dg"; dh: "bm.dh"; di: "bm.di"; dj: "bm.dj"; dk: "bm.dk"; dl: "bm.dl"; dm: "bm.dm"; dn: "bm.dn"; do: "bm.do"; dp: "bm.dp"; dq: "bm.dq"; dr: "bm.dr"; ds: "bm.ds"; dt: "bm.dt"; du: "bm.du"; dv: "bm.dv"; dw: "bm.dw"; dx: "bm.dx"; dy: "bm.dy"; dz: "bm.dz"; ea: "bm.ea"; eb: "bm.eb"; ec: "bm.ec"; ed: "bm.ed"; ee: "bm.ee"; ef: "bm.ef"; eg: "bm.eg"; eh: "bm.eh"; ei: "bm.ei"; ej: "bm.ej"; ek: "bm.ek"; el: "bm.el"; em: "bm.em"; en: "bm.en"; eo: "bm.eo"; ep: "bm.ep"; eq: "bm.eq"; er: "bm.er"; es: "bm.es"; et: "bm.et"; eu: "bm.eu"; ev: "bm.ev"; ew: "bm.ew"; ex: "bm.ex"; ey: "bm.ey"; ez: "bm.ez"; fa: "bm.fa"; fb: "bm.fb"; fc: "bm.fc"; fd: "bm.fd"; fe: "bm.fe"; ff: "bm.ff"; fg: "bm.fg"; fh: "bm.fh"; fi: "bm.fi"; fj: "bm.fj"; fk: "bm.fk"; fl: "bm.fl"; fm: "bm.fm"; fn: "bm.fn"; fo: "bm.fo"; fp: "bm.fp"; fq: "bm.fq"; fr: "bm.fr"; fs: "bm.fs"; ft: "bm.ft"; fu: "bm.fu"; fv: "bm.fv"; fw: "bm.fw"; fx: "bm.fx"; fy: "bm.fy"; fz: "bm.fz"; ga: "bm.ga"; gb: "bm.gb"; gc: "bm.gc"; gd: "bm.gd"; ge: "bm.ge"; gf: "bm.gf"; gg: "bm.gg"; gh: "bm.gh"; gi: "bm.gi"; gj: "bm.gj"; gk: "bm.gk"; gl: "bm.gl"; gm: "bm.gm"; gn: "bm.gn"; go: "bm.go"; gp: "bm.gp"; gq: "bm.gq"; gr: "bm.gr"; gs: "bm.gs"; gt: "bm.gt"; gu: "bm.gu"; gv: "bm.gv"; gw: "bm.gw"; gx: "bm.gx"; gy: "bm.gy"; gz: "bm.gz"; ha: "bm.ha"; hb: "bm.hb"; hc: "bm.hc"; hd: "bm.hd"; he: "bm.he"; hf: "bm.hf"; hg: "bm.hg"; hh: "bm.hh"; hi: "bm.hi"; hj: "bm.hj"; hk: "bm.hk"; hl: "bm.hl"; hm: "bm.hm"; hn: "bm.hn"; ho: "bm.ho"; hp: "bm.hp"; hq: "bm.hq"; hr: "bm.hr"; hs: "bm.hs"; ht: "bm.ht"; hu: "bm.hu"; hv: "bm.hv"; hw: "bm.hw"; hx: "bm.hx"; hy: "bm.hy"; hz: "bm.hz"; ia: "bm.ia"; ib: "bm.ib"; ic: "bm.ic"; id: "bm.id"; ie: "bm.ie"; if: "bm.if"; ig: "bm.ig"; ih: "bm.ih"; ii: "bm.ii"; ij: "bm.ij"; ik: "bm.ik"; il: "bm.il"; im: "bm.im"; in: "bm.in"; io: "bm.io"; ip: "bm.ip"; iq: "bm.iq"; ir: "bm.ir"; is: "bm.is"; it: "bm.it"; iu: "bm.iu"; iv: "bm.iv"; iw: "bm.iw"; ix: "bm.ix"; iy: "bm.iy"; iz: "bm.iz"; ja: "bm.ja"; jb: "bm.jb"; jc: "bm.jc"; jd: "bm.jd"; je: "bm.je"; jf: "bm.jf"; jg: "bm.jg"; jh: "bm.jh"; ji: "bm.ji"; jj: "bm.jj"; jk: "bm.jk"; jl: "bm.jl"; jm: "bm.jm"; jn: "bm.jn"; jo: "bm.jo"; jp: "bm.jp"; jq: "bm.jq"; jr: "bm.jr"; js: "bm.js"; jt: "bm.jt"; ju: "bm.ju"; jv: "bm.jv"; jw: "bm.jw"; jx: "bm.jx"; jy: "bm.jy"; jz: "bm.jz"; ka: "bm.ka"; kb: "bm.kb"; kc: "bm.kc"; kd: "bm.kd"; ke: "bm.ke"; kf: "bm.kf"; kg: "bm.kg"; kh: "bm.kh"; ki: "bm.ki"; kj: "bm.kj"; kk: "bm.kk"; kl: "bm.kl"; km: "bm.km"; kn: "bm.kn"; ko: "bm.ko"; kp: "bm.kp"; kq: "bm.kq"; kr: "bm.kr"; ks: "bm.ks"; kt: "bm.kt"; ku: "bm.ku"; kv: "bm.kv"; kw: "bm.kw"; kx: "bm.kx"; ky: "bm.ky"; kz: "bm.kz"; la: "bm.la"; lb: "bm.lb"; lc: "bm.lc"; ld: "bm.ld"; le: "bm.le"; lf: "bm.lf"; lg: "bm.lg"; lh: "bm.lh"; li: "bm.li"; lj: "bm.lj"; lk: "bm.lk"; ll: "bm.ll"; lm: "bm.lm"; ln: "bm.ln"; lo: "bm.lo"; lp: "bm.lp"; lq: "bm.lq"; lr: "bm.lr"; ls: "bm.ls"; lt: "bm.lt"; lu: "bm.lu"; lv: "bm.lv"; lw: "bm.lw"; lx: "bm.lx"; ly: "bm.ly"; lz: "bm.lz"; ma: "bm.ma"; mb: "bm.mb"; mc: "bm.mc"; md: "bm.md"; me: "bm.me"; mf: "bm.mf"; mg: "bm.mg"; mh: "bm.mh"; mi: "bm.mi"; mj: "bm.mj"; mk: "bm.mk"; ml: "bm.ml"; mm: "bm.mm"; mn: "bm.mn"; mo: "bm.mo"; mp: "bm.mp"; mq: "bm.mq"; mr: "bm.mr"; ms: "bm.ms"; mt: "bm.mt"; mu: "bm.mu"; mv: "bm.mv"; mw: "bm.mw"; mx: "bm.mx"; my: "bm.my"; mz: "bm.mz"; na: "bm.na"; nb: "bm.nb"; nc: "bm.nc"; nd: "bm.nd"; ne: "bm.ne"; nf: "bm.nf"; ng: "bm.ng"; nh: "bm.nh"; ni: "bm.ni"; nj: "bm.nj"; nk: "bm.nk"; nl: "bm.nl"; nm: "bm.nm"; nn: "bm.nn"; no: "bm.no"; np: "bm.np"; nq: "bm.nq"; nr: "bm.nr"; ns: "bm.ns"; nt: "bm.nt"; nu: "bm.nu"; nv: "bm.nv"; nw: "bm.nw"; nx: "bm.nx"; ny: "bm.ny"; nz: "bm.nz"; oa: "bm.oa"; ob: "bm.ob"; oc: "bm.oc"; od: "bm.od"; oe: "bm.oe"; of: "bm.of"; og: "bm.og"; oh: "bm.oh"; oi: "bm.oi"; oj: "bm.oj"; ok: "bm.ok"; ol: "bm.ol"; om: "bm.om"; on: "bm.on"; oo: "bm.oo"; op: "bm.op"; oq: "bm.oq"; or: "bm.or"; os: "bm.os"; ot: "bm.ot"; ou: "bm.ou"; ov: "bm.ov"; ow: "bm.ow"; ox: "bm.ox"; oy: "bm.oy"; oz: "bm.oz"; pa: "bm.pa"; pb: "bm.pb"; pc: "bm.pc"; pd: "bm.pd"; pe: "bm.pe"; pf: "bm.pf"; pg: "bm.pg"; ph: "bm.ph"; pi: "bm.pi"; pj: "bm.pj"; pk: "bm.pk"; pl: "bm.pl"; pm: "bm.pm"; pn: "bm.pn"; po: "bm.po"; pp: "bm.pp"; pq: "bm.pq"; pr: "bm.pr"; ps: "bm.ps"; pt: "bm.pt"; pu: "bm.pu"; pv: "bm.pv"; pw: "bm.pw"; px: "bm.px"; py: "bm.py"; pz: "bm.pz"; qa: "bm.qa"; qb: "bm.qb"; qc: "bm.qc"; qd: "bm.qd"; qe: "bm.qe"; qf: "bm.qf"; qg: "bm.qg"; qh: "bm.qh"; qi: "bm.qi"; qj: "bm.qj"; qk: "bm.qk"; ql: "bm.ql"; qm: "bm.qm"; qn: "bm.qn"; qo: "bm.qo"; qp: "bm.qp"; qq: "bm.qq"; qr: "bm.qr"; qs: "bm.qs"; qt: "bm.qt"; qu: "bm.qu"; qv: "bm.qv"; qw: "bm.qw"; qx: "bm.qx"; qy: "bm.qy"; qz: "bm.qz"; ra: "bm.ra"; rb: "bm.rb"; rc: "bm.rc"; rd: "bm.rd"; re: "bm.re"; rf: "bm.rf"; rg: "bm.rg"; rh: "bm.rh"; ri: "bm.ri"; rj: "bm.rj"; rk: "bm.rk"; rl: "bm.rl"; rm: "bm.rm"; rn: "bm.rn"; ro: "bm.ro"; rp: "bm.rp"; rq: "bm.rq"; rr: "bm.rr"; rs: "bm.rs"; rt: "bm.rt"; ru: "bm.ru"; rv: "bm.rv"; rw: "bm.rw"; rx: "bm.rx"; ry: "bm.ry"; rz: "bm.rz"; sa: "bm.sa"; sb: "bm.sb"; sc: "bm.sc"; sd: "bm.sd"; se: "bm.se"; sf: "bm.sf"; sg: "bm.sg"; sh: "bm.sh"; si: "bm.si"; sj: "bm.sj"; sk: "bm.sk"; sl: "bm.sl"; sm: "bm.sm"; sn: "bm.sn"; so: "bm.so"; sp: "bm.sp"; sq: "bm.sq"; sr: "bm.sr"; ss: "bm.ss"; st: "bm.st"; su: "bm.su"; sv: "bm.sv"; sw: "bm.sw"; sx: "bm.sx"; sy: "bm.sy"; sz: "bm.sz"; ta: "bm.ta"; tb: "bm.tb"; tc: "bm.tc"; td: "bm.td"; te: "bm.te"; tf: "bm.tf"; tg: "bm.tg"; th: "bm.th"; ti: "bm.ti"; tj: "bm.tj"; tk: "bm.tk"; tl: "bm.tl"; tm: "bm.tm"; tn: "bm.tn"; to: "bm.to"; tp: "bm.tp"; tq: "bm.tq"; tr: "bm.tr"; ts: "bm.ts"; tt: "bm.tt"; tu: "bm.tu"; tv: "bm.tv"; tw: "bm.tw"; tx: "bm.tx"; ty: "bm.ty"; tz: "bm.tz"; ua: "bm.ua"; ub: "bm.ub"; uc: "bm.uc"; ud: "bm.ud"; ue: "bm.ue"; uf: "bm.uf"; ug: "bm.ug"; uh: "bm.uh"; ui: "bm.ui"; uj: "bm.uj"; uk: "bm.uk"; ul: "bm.ul"; um: "bm.um"; un: "bm.un"; uo: "bm.uo"; up: "bm.up"; uq: "bm.uq"; ur: "bm.ur"; us: "bm.us"; ut: "bm.ut"; uu: "bm.uu"; uv: "bm.uv"; uw: "bm.uw"; ux: "bm.ux"; uy: "bm.uy"; uz: "bm.uz"; va: "bm.va"; vb: "bm.vb"; vc: "bm.vc"; vd: "bm.vd"; ve: "bm.ve"; vf: "bm.vf"; vg: "bm.vg"; vh: "bm.vh"; vi: "bm.vi"; vj: "bm.vj"; vk: "bm.vk"; vl: "bm.vl"; vm: "bm.vm"; vn: "bm.vn"; vo: "bm.vo"; vp: "bm.vp"; vq: "bm.vq"; vr: "bm.vr"; vs: "bm.vs"; vt: "bm.vt"; vu: "bm.vu"; vv: "bm.vv"; vw: "bm.vw"; vx: "bm.vx"; vy: "bm.vy"; vz: "bm.vz"; wa: "bm.wa"; wb: "bm.wb"; wc: "bm.wc"; wd: "bm.wd"; we: "bm.we"; wf: "bm.wf"; wg: "bm.wg"; wh: "bm.wh"; wi: "bm.wi"; wj: "bm.wj"; wk: "bm.wk"; wl: "bm.wl"; wm: "bm.wm"; wn: "bm.wn"; wo: "bm.wo"; wp: "bm.wp"; wq: "bm.wq"; wr: "bm.wr"; ws: "bm.ws"; wt: "bm.wt"; wu: "bm.wu"; wv: "bm.wv"; ww: "bm.ww"; wx: "bm.wx"; wy: "bm.wy"; wz: "bm.wz"; xa: "bm.xa"; xb: "bm.xb"; xc: "bm.xc"; xd: "bm.xd"; xe: "bm.xe"; xf: "bm.xf"; xg: "bm.xg"; xh: "bm.xh"; xi: "bm.xi"; xj: "bm.xj"; xk: "bm.xk"; xl: "bm.xl"; xm: "bm.xm"; xn: "bm.xn"; xo: "bm.xo"; xp: "bm.xp"; xq: "bm.xq"; xr: "bm.xr"; xs: "bm.xs"; xt: "bm.xt"; xu: "bm.xu"; xv: "bm.xv"; xw: "bm.xw"; xx: "bm.xx"; xy: "bm.xy"; xz: "bm.xz"; ya: "bm.ya"; yb: "bm.yb"; yc: "bm.yc"; yd: "bm.yd"; ye: "bm.ye"; yf: "bm.yf"; yg: "bm.yg"; yh: "bm.yh"; yi: "bm.yi"; yj: "bm.yj"; yk: "bm.yk"; yl: "bm.yl"; ym: "bm.ym"; yn: "bm.yn"; yo: "bm.yo"; yp: "bm.yp"; yq: "bm.yq"; yr: "bm.yr"; ys: "bm.ys"; yt: "bm.yt"; yu: "bm.yu"; yv: "bm.yv"; yw: "bm.yw"; yx: "bm.yx"; yy: "bm.yy"; yz: "bm.yz"; za: "bm.za"; zb: "bm.zb"; zc: "bm.zc"; zd: "bm.zd"; ze: "bm.ze"; zf: "bm.zf"; zg: "bm.zg"; zh: "bm.zh"; zi: "bm.zi"; zj: "bm.zj"; zk: "bm.zk"; zl: "bm.zl"; zm: "bm.zm"; zn: "bm.zn"; zo: "bm.zo"; zp: "bm.zp"; zq: "bm.zq"; zr: "bm.zr"; zs: "bm.zs"; zt: "bm.zt"; zu: "bm.zu"; zv: "bm.zv"; zw: "bm.zw"; zx: "bm.zx"; zy: "bm.zy"; zz: "bm.zz"; }; bn: { aa: "bn.aa"; ab: "bn.ab"; ac: "bn.ac"; ad: "bn.ad"; ae: "bn.ae"; af: "bn.af"; ag: "bn.ag"; ah: "bn.ah"; ai: "bn.ai"; aj: "bn.aj"; ak: "bn.ak"; al: "bn.al"; am: "bn.am"; an: "bn.an"; ao: "bn.ao"; ap: "bn.ap"; aq: "bn.aq"; ar: "bn.ar"; as: "bn.as"; at: "bn.at"; au: "bn.au"; av: "bn.av"; aw: "bn.aw"; ax: "bn.ax"; ay: "bn.ay"; az: "bn.az"; ba: "bn.ba"; bb: "bn.bb"; bc: "bn.bc"; bd: "bn.bd"; be: "bn.be"; bf: "bn.bf"; bg: "bn.bg"; bh: "bn.bh"; bi: "bn.bi"; bj: "bn.bj"; bk: "bn.bk"; bl: "bn.bl"; bm: "bn.bm"; bn: "bn.bn"; bo: "bn.bo"; bp: "bn.bp"; bq: "bn.bq"; br: "bn.br"; bs: "bn.bs"; bt: "bn.bt"; bu: "bn.bu"; bv: "bn.bv"; bw: "bn.bw"; bx: "bn.bx"; by: "bn.by"; bz: "bn.bz"; ca: "bn.ca"; cb: "bn.cb"; cc: "bn.cc"; cd: "bn.cd"; ce: "bn.ce"; cf: "bn.cf"; cg: "bn.cg"; ch: "bn.ch"; ci: "bn.ci"; cj: "bn.cj"; ck: "bn.ck"; cl: "bn.cl"; cm: "bn.cm"; cn: "bn.cn"; co: "bn.co"; cp: "bn.cp"; cq: "bn.cq"; cr: "bn.cr"; cs: "bn.cs"; ct: "bn.ct"; cu: "bn.cu"; cv: "bn.cv"; cw: "bn.cw"; cx: "bn.cx"; cy: "bn.cy"; cz: "bn.cz"; da: "bn.da"; db: "bn.db"; dc: "bn.dc"; dd: "bn.dd"; de: "bn.de"; df: "bn.df"; dg: "bn.dg"; dh: "bn.dh"; di: "bn.di"; dj: "bn.dj"; dk: "bn.dk"; dl: "bn.dl"; dm: "bn.dm"; dn: "bn.dn"; do: "bn.do"; dp: "bn.dp"; dq: "bn.dq"; dr: "bn.dr"; ds: "bn.ds"; dt: "bn.dt"; du: "bn.du"; dv: "bn.dv"; dw: "bn.dw"; dx: "bn.dx"; dy: "bn.dy"; dz: "bn.dz"; ea: "bn.ea"; eb: "bn.eb"; ec: "bn.ec"; ed: "bn.ed"; ee: "bn.ee"; ef: "bn.ef"; eg: "bn.eg"; eh: "bn.eh"; ei: "bn.ei"; ej: "bn.ej"; ek: "bn.ek"; el: "bn.el"; em: "bn.em"; en: "bn.en"; eo: "bn.eo"; ep: "bn.ep"; eq: "bn.eq"; er: "bn.er"; es: "bn.es"; et: "bn.et"; eu: "bn.eu"; ev: "bn.ev"; ew: "bn.ew"; ex: "bn.ex"; ey: "bn.ey"; ez: "bn.ez"; fa: "bn.fa"; fb: "bn.fb"; fc: "bn.fc"; fd: "bn.fd"; fe: "bn.fe"; ff: "bn.ff"; fg: "bn.fg"; fh: "bn.fh"; fi: "bn.fi"; fj: "bn.fj"; fk: "bn.fk"; fl: "bn.fl"; fm: "bn.fm"; fn: "bn.fn"; fo: "bn.fo"; fp: "bn.fp"; fq: "bn.fq"; fr: "bn.fr"; fs: "bn.fs"; ft: "bn.ft"; fu: "bn.fu"; fv: "bn.fv"; fw: "bn.fw"; fx: "bn.fx"; fy: "bn.fy"; fz: "bn.fz"; ga: "bn.ga"; gb: "bn.gb"; gc: "bn.gc"; gd: "bn.gd"; ge: "bn.ge"; gf: "bn.gf"; gg: "bn.gg"; gh: "bn.gh"; gi: "bn.gi"; gj: "bn.gj"; gk: "bn.gk"; gl: "bn.gl"; gm: "bn.gm"; gn: "bn.gn"; go: "bn.go"; gp: "bn.gp"; gq: "bn.gq"; gr: "bn.gr"; gs: "bn.gs"; gt: "bn.gt"; gu: "bn.gu"; gv: "bn.gv"; gw: "bn.gw"; gx: "bn.gx"; gy: "bn.gy"; gz: "bn.gz"; ha: "bn.ha"; hb: "bn.hb"; hc: "bn.hc"; hd: "bn.hd"; he: "bn.he"; hf: "bn.hf"; hg: "bn.hg"; hh: "bn.hh"; hi: "bn.hi"; hj: "bn.hj"; hk: "bn.hk"; hl: "bn.hl"; hm: "bn.hm"; hn: "bn.hn"; ho: "bn.ho"; hp: "bn.hp"; hq: "bn.hq"; hr: "bn.hr"; hs: "bn.hs"; ht: "bn.ht"; hu: "bn.hu"; hv: "bn.hv"; hw: "bn.hw"; hx: "bn.hx"; hy: "bn.hy"; hz: "bn.hz"; ia: "bn.ia"; ib: "bn.ib"; ic: "bn.ic"; id: "bn.id"; ie: "bn.ie"; if: "bn.if"; ig: "bn.ig"; ih: "bn.ih"; ii: "bn.ii"; ij: "bn.ij"; ik: "bn.ik"; il: "bn.il"; im: "bn.im"; in: "bn.in"; io: "bn.io"; ip: "bn.ip"; iq: "bn.iq"; ir: "bn.ir"; is: "bn.is"; it: "bn.it"; iu: "bn.iu"; iv: "bn.iv"; iw: "bn.iw"; ix: "bn.ix"; iy: "bn.iy"; iz: "bn.iz"; ja: "bn.ja"; jb: "bn.jb"; jc: "bn.jc"; jd: "bn.jd"; je: "bn.je"; jf: "bn.jf"; jg: "bn.jg"; jh: "bn.jh"; ji: "bn.ji"; jj: "bn.jj"; jk: "bn.jk"; jl: "bn.jl"; jm: "bn.jm"; jn: "bn.jn"; jo: "bn.jo"; jp: "bn.jp"; jq: "bn.jq"; jr: "bn.jr"; js: "bn.js"; jt: "bn.jt"; ju: "bn.ju"; jv: "bn.jv"; jw: "bn.jw"; jx: "bn.jx"; jy: "bn.jy"; jz: "bn.jz"; ka: "bn.ka"; kb: "bn.kb"; kc: "bn.kc"; kd: "bn.kd"; ke: "bn.ke"; kf: "bn.kf"; kg: "bn.kg"; kh: "bn.kh"; ki: "bn.ki"; kj: "bn.kj"; kk: "bn.kk"; kl: "bn.kl"; km: "bn.km"; kn: "bn.kn"; ko: "bn.ko"; kp: "bn.kp"; kq: "bn.kq"; kr: "bn.kr"; ks: "bn.ks"; kt: "bn.kt"; ku: "bn.ku"; kv: "bn.kv"; kw: "bn.kw"; kx: "bn.kx"; ky: "bn.ky"; kz: "bn.kz"; la: "bn.la"; lb: "bn.lb"; lc: "bn.lc"; ld: "bn.ld"; le: "bn.le"; lf: "bn.lf"; lg: "bn.lg"; lh: "bn.lh"; li: "bn.li"; lj: "bn.lj"; lk: "bn.lk"; ll: "bn.ll"; lm: "bn.lm"; ln: "bn.ln"; lo: "bn.lo"; lp: "bn.lp"; lq: "bn.lq"; lr: "bn.lr"; ls: "bn.ls"; lt: "bn.lt"; lu: "bn.lu"; lv: "bn.lv"; lw: "bn.lw"; lx: "bn.lx"; ly: "bn.ly"; lz: "bn.lz"; ma: "bn.ma"; mb: "bn.mb"; mc: "bn.mc"; md: "bn.md"; me: "bn.me"; mf: "bn.mf"; mg: "bn.mg"; mh: "bn.mh"; mi: "bn.mi"; mj: "bn.mj"; mk: "bn.mk"; ml: "bn.ml"; mm: "bn.mm"; mn: "bn.mn"; mo: "bn.mo"; mp: "bn.mp"; mq: "bn.mq"; mr: "bn.mr"; ms: "bn.ms"; mt: "bn.mt"; mu: "bn.mu"; mv: "bn.mv"; mw: "bn.mw"; mx: "bn.mx"; my: "bn.my"; mz: "bn.mz"; na: "bn.na"; nb: "bn.nb"; nc: "bn.nc"; nd: "bn.nd"; ne: "bn.ne"; nf: "bn.nf"; ng: "bn.ng"; nh: "bn.nh"; ni: "bn.ni"; nj: "bn.nj"; nk: "bn.nk"; nl: "bn.nl"; nm: "bn.nm"; nn: "bn.nn"; no: "bn.no"; np: "bn.np"; nq: "bn.nq"; nr: "bn.nr"; ns: "bn.ns"; nt: "bn.nt"; nu: "bn.nu"; nv: "bn.nv"; nw: "bn.nw"; nx: "bn.nx"; ny: "bn.ny"; nz: "bn.nz"; oa: "bn.oa"; ob: "bn.ob"; oc: "bn.oc"; od: "bn.od"; oe: "bn.oe"; of: "bn.of"; og: "bn.og"; oh: "bn.oh"; oi: "bn.oi"; oj: "bn.oj"; ok: "bn.ok"; ol: "bn.ol"; om: "bn.om"; on: "bn.on"; oo: "bn.oo"; op: "bn.op"; oq: "bn.oq"; or: "bn.or"; os: "bn.os"; ot: "bn.ot"; ou: "bn.ou"; ov: "bn.ov"; ow: "bn.ow"; ox: "bn.ox"; oy: "bn.oy"; oz: "bn.oz"; pa: "bn.pa"; pb: "bn.pb"; pc: "bn.pc"; pd: "bn.pd"; pe: "bn.pe"; pf: "bn.pf"; pg: "bn.pg"; ph: "bn.ph"; pi: "bn.pi"; pj: "bn.pj"; pk: "bn.pk"; pl: "bn.pl"; pm: "bn.pm"; pn: "bn.pn"; po: "bn.po"; pp: "bn.pp"; pq: "bn.pq"; pr: "bn.pr"; ps: "bn.ps"; pt: "bn.pt"; pu: "bn.pu"; pv: "bn.pv"; pw: "bn.pw"; px: "bn.px"; py: "bn.py"; pz: "bn.pz"; qa: "bn.qa"; qb: "bn.qb"; qc: "bn.qc"; qd: "bn.qd"; qe: "bn.qe"; qf: "bn.qf"; qg: "bn.qg"; qh: "bn.qh"; qi: "bn.qi"; qj: "bn.qj"; qk: "bn.qk"; ql: "bn.ql"; qm: "bn.qm"; qn: "bn.qn"; qo: "bn.qo"; qp: "bn.qp"; qq: "bn.qq"; qr: "bn.qr"; qs: "bn.qs"; qt: "bn.qt"; qu: "bn.qu"; qv: "bn.qv"; qw: "bn.qw"; qx: "bn.qx"; qy: "bn.qy"; qz: "bn.qz"; ra: "bn.ra"; rb: "bn.rb"; rc: "bn.rc"; rd: "bn.rd"; re: "bn.re"; rf: "bn.rf"; rg: "bn.rg"; rh: "bn.rh"; ri: "bn.ri"; rj: "bn.rj"; rk: "bn.rk"; rl: "bn.rl"; rm: "bn.rm"; rn: "bn.rn"; ro: "bn.ro"; rp: "bn.rp"; rq: "bn.rq"; rr: "bn.rr"; rs: "bn.rs"; rt: "bn.rt"; ru: "bn.ru"; rv: "bn.rv"; rw: "bn.rw"; rx: "bn.rx"; ry: "bn.ry"; rz: "bn.rz"; sa: "bn.sa"; sb: "bn.sb"; sc: "bn.sc"; sd: "bn.sd"; se: "bn.se"; sf: "bn.sf"; sg: "bn.sg"; sh: "bn.sh"; si: "bn.si"; sj: "bn.sj"; sk: "bn.sk"; sl: "bn.sl"; sm: "bn.sm"; sn: "bn.sn"; so: "bn.so"; sp: "bn.sp"; sq: "bn.sq"; sr: "bn.sr"; ss: "bn.ss"; st: "bn.st"; su: "bn.su"; sv: "bn.sv"; sw: "bn.sw"; sx: "bn.sx"; sy: "bn.sy"; sz: "bn.sz"; ta: "bn.ta"; tb: "bn.tb"; tc: "bn.tc"; td: "bn.td"; te: "bn.te"; tf: "bn.tf"; tg: "bn.tg"; th: "bn.th"; ti: "bn.ti"; tj: "bn.tj"; tk: "bn.tk"; tl: "bn.tl"; tm: "bn.tm"; tn: "bn.tn"; to: "bn.to"; tp: "bn.tp"; tq: "bn.tq"; tr: "bn.tr"; ts: "bn.ts"; tt: "bn.tt"; tu: "bn.tu"; tv: "bn.tv"; tw: "bn.tw"; tx: "bn.tx"; ty: "bn.ty"; tz: "bn.tz"; ua: "bn.ua"; ub: "bn.ub"; uc: "bn.uc"; ud: "bn.ud"; ue: "bn.ue"; uf: "bn.uf"; ug: "bn.ug"; uh: "bn.uh"; ui: "bn.ui"; uj: "bn.uj"; uk: "bn.uk"; ul: "bn.ul"; um: "bn.um"; un: "bn.un"; uo: "bn.uo"; up: "bn.up"; uq: "bn.uq"; ur: "bn.ur"; us: "bn.us"; ut: "bn.ut"; uu: "bn.uu"; uv: "bn.uv"; uw: "bn.uw"; ux: "bn.ux"; uy: "bn.uy"; uz: "bn.uz"; va: "bn.va"; vb: "bn.vb"; vc: "bn.vc"; vd: "bn.vd"; ve: "bn.ve"; vf: "bn.vf"; vg: "bn.vg"; vh: "bn.vh"; vi: "bn.vi"; vj: "bn.vj"; vk: "bn.vk"; vl: "bn.vl"; vm: "bn.vm"; vn: "bn.vn"; vo: "bn.vo"; vp: "bn.vp"; vq: "bn.vq"; vr: "bn.vr"; vs: "bn.vs"; vt: "bn.vt"; vu: "bn.vu"; vv: "bn.vv"; vw: "bn.vw"; vx: "bn.vx"; vy: "bn.vy"; vz: "bn.vz"; wa: "bn.wa"; wb: "bn.wb"; wc: "bn.wc"; wd: "bn.wd"; we: "bn.we"; wf: "bn.wf"; wg: "bn.wg"; wh: "bn.wh"; wi: "bn.wi"; wj: "bn.wj"; wk: "bn.wk"; wl: "bn.wl"; wm: "bn.wm"; wn: "bn.wn"; wo: "bn.wo"; wp: "bn.wp"; wq: "bn.wq"; wr: "bn.wr"; ws: "bn.ws"; wt: "bn.wt"; wu: "bn.wu"; wv: "bn.wv"; ww: "bn.ww"; wx: "bn.wx"; wy: "bn.wy"; wz: "bn.wz"; xa: "bn.xa"; xb: "bn.xb"; xc: "bn.xc"; xd: "bn.xd"; xe: "bn.xe"; xf: "bn.xf"; xg: "bn.xg"; xh: "bn.xh"; xi: "bn.xi"; xj: "bn.xj"; xk: "bn.xk"; xl: "bn.xl"; xm: "bn.xm"; xn: "bn.xn"; xo: "bn.xo"; xp: "bn.xp"; xq: "bn.xq"; xr: "bn.xr"; xs: "bn.xs"; xt: "bn.xt"; xu: "bn.xu"; xv: "bn.xv"; xw: "bn.xw"; xx: "bn.xx"; xy: "bn.xy"; xz: "bn.xz"; ya: "bn.ya"; yb: "bn.yb"; yc: "bn.yc"; yd: "bn.yd"; ye: "bn.ye"; yf: "bn.yf"; yg: "bn.yg"; yh: "bn.yh"; yi: "bn.yi"; yj: "bn.yj"; yk: "bn.yk"; yl: "bn.yl"; ym: "bn.ym"; yn: "bn.yn"; yo: "bn.yo"; yp: "bn.yp"; yq: "bn.yq"; yr: "bn.yr"; ys: "bn.ys"; yt: "bn.yt"; yu: "bn.yu"; yv: "bn.yv"; yw: "bn.yw"; yx: "bn.yx"; yy: "bn.yy"; yz: "bn.yz"; za: "bn.za"; zb: "bn.zb"; zc: "bn.zc"; zd: "bn.zd"; ze: "bn.ze"; zf: "bn.zf"; zg: "bn.zg"; zh: "bn.zh"; zi: "bn.zi"; zj: "bn.zj"; zk: "bn.zk"; zl: "bn.zl"; zm: "bn.zm"; zn: "bn.zn"; zo: "bn.zo"; zp: "bn.zp"; zq: "bn.zq"; zr: "bn.zr"; zs: "bn.zs"; zt: "bn.zt"; zu: "bn.zu"; zv: "bn.zv"; zw: "bn.zw"; zx: "bn.zx"; zy: "bn.zy"; zz: "bn.zz"; }; bo: { aa: "bo.aa"; ab: "bo.ab"; ac: "bo.ac"; ad: "bo.ad"; ae: "bo.ae"; af: "bo.af"; ag: "bo.ag"; ah: "bo.ah"; ai: "bo.ai"; aj: "bo.aj"; ak: "bo.ak"; al: "bo.al"; am: "bo.am"; an: "bo.an"; ao: "bo.ao"; ap: "bo.ap"; aq: "bo.aq"; ar: "bo.ar"; as: "bo.as"; at: "bo.at"; au: "bo.au"; av: "bo.av"; aw: "bo.aw"; ax: "bo.ax"; ay: "bo.ay"; az: "bo.az"; ba: "bo.ba"; bb: "bo.bb"; bc: "bo.bc"; bd: "bo.bd"; be: "bo.be"; bf: "bo.bf"; bg: "bo.bg"; bh: "bo.bh"; bi: "bo.bi"; bj: "bo.bj"; bk: "bo.bk"; bl: "bo.bl"; bm: "bo.bm"; bn: "bo.bn"; bo: "bo.bo"; bp: "bo.bp"; bq: "bo.bq"; br: "bo.br"; bs: "bo.bs"; bt: "bo.bt"; bu: "bo.bu"; bv: "bo.bv"; bw: "bo.bw"; bx: "bo.bx"; by: "bo.by"; bz: "bo.bz"; ca: "bo.ca"; cb: "bo.cb"; cc: "bo.cc"; cd: "bo.cd"; ce: "bo.ce"; cf: "bo.cf"; cg: "bo.cg"; ch: "bo.ch"; ci: "bo.ci"; cj: "bo.cj"; ck: "bo.ck"; cl: "bo.cl"; cm: "bo.cm"; cn: "bo.cn"; co: "bo.co"; cp: "bo.cp"; cq: "bo.cq"; cr: "bo.cr"; cs: "bo.cs"; ct: "bo.ct"; cu: "bo.cu"; cv: "bo.cv"; cw: "bo.cw"; cx: "bo.cx"; cy: "bo.cy"; cz: "bo.cz"; da: "bo.da"; db: "bo.db"; dc: "bo.dc"; dd: "bo.dd"; de: "bo.de"; df: "bo.df"; dg: "bo.dg"; dh: "bo.dh"; di: "bo.di"; dj: "bo.dj"; dk: "bo.dk"; dl: "bo.dl"; dm: "bo.dm"; dn: "bo.dn"; do: "bo.do"; dp: "bo.dp"; dq: "bo.dq"; dr: "bo.dr"; ds: "bo.ds"; dt: "bo.dt"; du: "bo.du"; dv: "bo.dv"; dw: "bo.dw"; dx: "bo.dx"; dy: "bo.dy"; dz: "bo.dz"; ea: "bo.ea"; eb: "bo.eb"; ec: "bo.ec"; ed: "bo.ed"; ee: "bo.ee"; ef: "bo.ef"; eg: "bo.eg"; eh: "bo.eh"; ei: "bo.ei"; ej: "bo.ej"; ek: "bo.ek"; el: "bo.el"; em: "bo.em"; en: "bo.en"; eo: "bo.eo"; ep: "bo.ep"; eq: "bo.eq"; er: "bo.er"; es: "bo.es"; et: "bo.et"; eu: "bo.eu"; ev: "bo.ev"; ew: "bo.ew"; ex: "bo.ex"; ey: "bo.ey"; ez: "bo.ez"; fa: "bo.fa"; fb: "bo.fb"; fc: "bo.fc"; fd: "bo.fd"; fe: "bo.fe"; ff: "bo.ff"; fg: "bo.fg"; fh: "bo.fh"; fi: "bo.fi"; fj: "bo.fj"; fk: "bo.fk"; fl: "bo.fl"; fm: "bo.fm"; fn: "bo.fn"; fo: "bo.fo"; fp: "bo.fp"; fq: "bo.fq"; fr: "bo.fr"; fs: "bo.fs"; ft: "bo.ft"; fu: "bo.fu"; fv: "bo.fv"; fw: "bo.fw"; fx: "bo.fx"; fy: "bo.fy"; fz: "bo.fz"; ga: "bo.ga"; gb: "bo.gb"; gc: "bo.gc"; gd: "bo.gd"; ge: "bo.ge"; gf: "bo.gf"; gg: "bo.gg"; gh: "bo.gh"; gi: "bo.gi"; gj: "bo.gj"; gk: "bo.gk"; gl: "bo.gl"; gm: "bo.gm"; gn: "bo.gn"; go: "bo.go"; gp: "bo.gp"; gq: "bo.gq"; gr: "bo.gr"; gs: "bo.gs"; gt: "bo.gt"; gu: "bo.gu"; gv: "bo.gv"; gw: "bo.gw"; gx: "bo.gx"; gy: "bo.gy"; gz: "bo.gz"; ha: "bo.ha"; hb: "bo.hb"; hc: "bo.hc"; hd: "bo.hd"; he: "bo.he"; hf: "bo.hf"; hg: "bo.hg"; hh: "bo.hh"; hi: "bo.hi"; hj: "bo.hj"; hk: "bo.hk"; hl: "bo.hl"; hm: "bo.hm"; hn: "bo.hn"; ho: "bo.ho"; hp: "bo.hp"; hq: "bo.hq"; hr: "bo.hr"; hs: "bo.hs"; ht: "bo.ht"; hu: "bo.hu"; hv: "bo.hv"; hw: "bo.hw"; hx: "bo.hx"; hy: "bo.hy"; hz: "bo.hz"; ia: "bo.ia"; ib: "bo.ib"; ic: "bo.ic"; id: "bo.id"; ie: "bo.ie"; if: "bo.if"; ig: "bo.ig"; ih: "bo.ih"; ii: "bo.ii"; ij: "bo.ij"; ik: "bo.ik"; il: "bo.il"; im: "bo.im"; in: "bo.in"; io: "bo.io"; ip: "bo.ip"; iq: "bo.iq"; ir: "bo.ir"; is: "bo.is"; it: "bo.it"; iu: "bo.iu"; iv: "bo.iv"; iw: "bo.iw"; ix: "bo.ix"; iy: "bo.iy"; iz: "bo.iz"; ja: "bo.ja"; jb: "bo.jb"; jc: "bo.jc"; jd: "bo.jd"; je: "bo.je"; jf: "bo.jf"; jg: "bo.jg"; jh: "bo.jh"; ji: "bo.ji"; jj: "bo.jj"; jk: "bo.jk"; jl: "bo.jl"; jm: "bo.jm"; jn: "bo.jn"; jo: "bo.jo"; jp: "bo.jp"; jq: "bo.jq"; jr: "bo.jr"; js: "bo.js"; jt: "bo.jt"; ju: "bo.ju"; jv: "bo.jv"; jw: "bo.jw"; jx: "bo.jx"; jy: "bo.jy"; jz: "bo.jz"; ka: "bo.ka"; kb: "bo.kb"; kc: "bo.kc"; kd: "bo.kd"; ke: "bo.ke"; kf: "bo.kf"; kg: "bo.kg"; kh: "bo.kh"; ki: "bo.ki"; kj: "bo.kj"; kk: "bo.kk"; kl: "bo.kl"; km: "bo.km"; kn: "bo.kn"; ko: "bo.ko"; kp: "bo.kp"; kq: "bo.kq"; kr: "bo.kr"; ks: "bo.ks"; kt: "bo.kt"; ku: "bo.ku"; kv: "bo.kv"; kw: "bo.kw"; kx: "bo.kx"; ky: "bo.ky"; kz: "bo.kz"; la: "bo.la"; lb: "bo.lb"; lc: "bo.lc"; ld: "bo.ld"; le: "bo.le"; lf: "bo.lf"; lg: "bo.lg"; lh: "bo.lh"; li: "bo.li"; lj: "bo.lj"; lk: "bo.lk"; ll: "bo.ll"; lm: "bo.lm"; ln: "bo.ln"; lo: "bo.lo"; lp: "bo.lp"; lq: "bo.lq"; lr: "bo.lr"; ls: "bo.ls"; lt: "bo.lt"; lu: "bo.lu"; lv: "bo.lv"; lw: "bo.lw"; lx: "bo.lx"; ly: "bo.ly"; lz: "bo.lz"; ma: "bo.ma"; mb: "bo.mb"; mc: "bo.mc"; md: "bo.md"; me: "bo.me"; mf: "bo.mf"; mg: "bo.mg"; mh: "bo.mh"; mi: "bo.mi"; mj: "bo.mj"; mk: "bo.mk"; ml: "bo.ml"; mm: "bo.mm"; mn: "bo.mn"; mo: "bo.mo"; mp: "bo.mp"; mq: "bo.mq"; mr: "bo.mr"; ms: "bo.ms"; mt: "bo.mt"; mu: "bo.mu"; mv: "bo.mv"; mw: "bo.mw"; mx: "bo.mx"; my: "bo.my"; mz: "bo.mz"; na: "bo.na"; nb: "bo.nb"; nc: "bo.nc"; nd: "bo.nd"; ne: "bo.ne"; nf: "bo.nf"; ng: "bo.ng"; nh: "bo.nh"; ni: "bo.ni"; nj: "bo.nj"; nk: "bo.nk"; nl: "bo.nl"; nm: "bo.nm"; nn: "bo.nn"; no: "bo.no"; np: "bo.np"; nq: "bo.nq"; nr: "bo.nr"; ns: "bo.ns"; nt: "bo.nt"; nu: "bo.nu"; nv: "bo.nv"; nw: "bo.nw"; nx: "bo.nx"; ny: "bo.ny"; nz: "bo.nz"; oa: "bo.oa"; ob: "bo.ob"; oc: "bo.oc"; od: "bo.od"; oe: "bo.oe"; of: "bo.of"; og: "bo.og"; oh: "bo.oh"; oi: "bo.oi"; oj: "bo.oj"; ok: "bo.ok"; ol: "bo.ol"; om: "bo.om"; on: "bo.on"; oo: "bo.oo"; op: "bo.op"; oq: "bo.oq"; or: "bo.or"; os: "bo.os"; ot: "bo.ot"; ou: "bo.ou"; ov: "bo.ov"; ow: "bo.ow"; ox: "bo.ox"; oy: "bo.oy"; oz: "bo.oz"; pa: "bo.pa"; pb: "bo.pb"; pc: "bo.pc"; pd: "bo.pd"; pe: "bo.pe"; pf: "bo.pf"; pg: "bo.pg"; ph: "bo.ph"; pi: "bo.pi"; pj: "bo.pj"; pk: "bo.pk"; pl: "bo.pl"; pm: "bo.pm"; pn: "bo.pn"; po: "bo.po"; pp: "bo.pp"; pq: "bo.pq"; pr: "bo.pr"; ps: "bo.ps"; pt: "bo.pt"; pu: "bo.pu"; pv: "bo.pv"; pw: "bo.pw"; px: "bo.px"; py: "bo.py"; pz: "bo.pz"; qa: "bo.qa"; qb: "bo.qb"; qc: "bo.qc"; qd: "bo.qd"; qe: "bo.qe"; qf: "bo.qf"; qg: "bo.qg"; qh: "bo.qh"; qi: "bo.qi"; qj: "bo.qj"; qk: "bo.qk"; ql: "bo.ql"; qm: "bo.qm"; qn: "bo.qn"; qo: "bo.qo"; qp: "bo.qp"; qq: "bo.qq"; qr: "bo.qr"; qs: "bo.qs"; qt: "bo.qt"; qu: "bo.qu"; qv: "bo.qv"; qw: "bo.qw"; qx: "bo.qx"; qy: "bo.qy"; qz: "bo.qz"; ra: "bo.ra"; rb: "bo.rb"; rc: "bo.rc"; rd: "bo.rd"; re: "bo.re"; rf: "bo.rf"; rg: "bo.rg"; rh: "bo.rh"; ri: "bo.ri"; rj: "bo.rj"; rk: "bo.rk"; rl: "bo.rl"; rm: "bo.rm"; rn: "bo.rn"; ro: "bo.ro"; rp: "bo.rp"; rq: "bo.rq"; rr: "bo.rr"; rs: "bo.rs"; rt: "bo.rt"; ru: "bo.ru"; rv: "bo.rv"; rw: "bo.rw"; rx: "bo.rx"; ry: "bo.ry"; rz: "bo.rz"; sa: "bo.sa"; sb: "bo.sb"; sc: "bo.sc"; sd: "bo.sd"; se: "bo.se"; sf: "bo.sf"; sg: "bo.sg"; sh: "bo.sh"; si: "bo.si"; sj: "bo.sj"; sk: "bo.sk"; sl: "bo.sl"; sm: "bo.sm"; sn: "bo.sn"; so: "bo.so"; sp: "bo.sp"; sq: "bo.sq"; sr: "bo.sr"; ss: "bo.ss"; st: "bo.st"; su: "bo.su"; sv: "bo.sv"; sw: "bo.sw"; sx: "bo.sx"; sy: "bo.sy"; sz: "bo.sz"; ta: "bo.ta"; tb: "bo.tb"; tc: "bo.tc"; td: "bo.td"; te: "bo.te"; tf: "bo.tf"; tg: "bo.tg"; th: "bo.th"; ti: "bo.ti"; tj: "bo.tj"; tk: "bo.tk"; tl: "bo.tl"; tm: "bo.tm"; tn: "bo.tn"; to: "bo.to"; tp: "bo.tp"; tq: "bo.tq"; tr: "bo.tr"; ts: "bo.ts"; tt: "bo.tt"; tu: "bo.tu"; tv: "bo.tv"; tw: "bo.tw"; tx: "bo.tx"; ty: "bo.ty"; tz: "bo.tz"; ua: "bo.ua"; ub: "bo.ub"; uc: "bo.uc"; ud: "bo.ud"; ue: "bo.ue"; uf: "bo.uf"; ug: "bo.ug"; uh: "bo.uh"; ui: "bo.ui"; uj: "bo.uj"; uk: "bo.uk"; ul: "bo.ul"; um: "bo.um"; un: "bo.un"; uo: "bo.uo"; up: "bo.up"; uq: "bo.uq"; ur: "bo.ur"; us: "bo.us"; ut: "bo.ut"; uu: "bo.uu"; uv: "bo.uv"; uw: "bo.uw"; ux: "bo.ux"; uy: "bo.uy"; uz: "bo.uz"; va: "bo.va"; vb: "bo.vb"; vc: "bo.vc"; vd: "bo.vd"; ve: "bo.ve"; vf: "bo.vf"; vg: "bo.vg"; vh: "bo.vh"; vi: "bo.vi"; vj: "bo.vj"; vk: "bo.vk"; vl: "bo.vl"; vm: "bo.vm"; vn: "bo.vn"; vo: "bo.vo"; vp: "bo.vp"; vq: "bo.vq"; vr: "bo.vr"; vs: "bo.vs"; vt: "bo.vt"; vu: "bo.vu"; vv: "bo.vv"; vw: "bo.vw"; vx: "bo.vx"; vy: "bo.vy"; vz: "bo.vz"; wa: "bo.wa"; wb: "bo.wb"; wc: "bo.wc"; wd: "bo.wd"; we: "bo.we"; wf: "bo.wf"; wg: "bo.wg"; wh: "bo.wh"; wi: "bo.wi"; wj: "bo.wj"; wk: "bo.wk"; wl: "bo.wl"; wm: "bo.wm"; wn: "bo.wn"; wo: "bo.wo"; wp: "bo.wp"; wq: "bo.wq"; wr: "bo.wr"; ws: "bo.ws"; wt: "bo.wt"; wu: "bo.wu"; wv: "bo.wv"; ww: "bo.ww"; wx: "bo.wx"; wy: "bo.wy"; wz: "bo.wz"; xa: "bo.xa"; xb: "bo.xb"; xc: "bo.xc"; xd: "bo.xd"; xe: "bo.xe"; xf: "bo.xf"; xg: "bo.xg"; xh: "bo.xh"; xi: "bo.xi"; xj: "bo.xj"; xk: "bo.xk"; xl: "bo.xl"; xm: "bo.xm"; xn: "bo.xn"; xo: "bo.xo"; xp: "bo.xp"; xq: "bo.xq"; xr: "bo.xr"; xs: "bo.xs"; xt: "bo.xt"; xu: "bo.xu"; xv: "bo.xv"; xw: "bo.xw"; xx: "bo.xx"; xy: "bo.xy"; xz: "bo.xz"; ya: "bo.ya"; yb: "bo.yb"; yc: "bo.yc"; yd: "bo.yd"; ye: "bo.ye"; yf: "bo.yf"; yg: "bo.yg"; yh: "bo.yh"; yi: "bo.yi"; yj: "bo.yj"; yk: "bo.yk"; yl: "bo.yl"; ym: "bo.ym"; yn: "bo.yn"; yo: "bo.yo"; yp: "bo.yp"; yq: "bo.yq"; yr: "bo.yr"; ys: "bo.ys"; yt: "bo.yt"; yu: "bo.yu"; yv: "bo.yv"; yw: "bo.yw"; yx: "bo.yx"; yy: "bo.yy"; yz: "bo.yz"; za: "bo.za"; zb: "bo.zb"; zc: "bo.zc"; zd: "bo.zd"; ze: "bo.ze"; zf: "bo.zf"; zg: "bo.zg"; zh: "bo.zh"; zi: "bo.zi"; zj: "bo.zj"; zk: "bo.zk"; zl: "bo.zl"; zm: "bo.zm"; zn: "bo.zn"; zo: "bo.zo"; zp: "bo.zp"; zq: "bo.zq"; zr: "bo.zr"; zs: "bo.zs"; zt: "bo.zt"; zu: "bo.zu"; zv: "bo.zv"; zw: "bo.zw"; zx: "bo.zx"; zy: "bo.zy"; zz: "bo.zz"; }; bp: { aa: "bp.aa"; ab: "bp.ab"; ac: "bp.ac"; ad: "bp.ad"; ae: "bp.ae"; af: "bp.af"; ag: "bp.ag"; ah: "bp.ah"; ai: "bp.ai"; aj: "bp.aj"; ak: "bp.ak"; al: "bp.al"; am: "bp.am"; an: "bp.an"; ao: "bp.ao"; ap: "bp.ap"; aq: "bp.aq"; ar: "bp.ar"; as: "bp.as"; at: "bp.at"; au: "bp.au"; av: "bp.av"; aw: "bp.aw"; ax: "bp.ax"; ay: "bp.ay"; az: "bp.az"; ba: "bp.ba"; bb: "bp.bb"; bc: "bp.bc"; bd: "bp.bd"; be: "bp.be"; bf: "bp.bf"; bg: "bp.bg"; bh: "bp.bh"; bi: "bp.bi"; bj: "bp.bj"; bk: "bp.bk"; bl: "bp.bl"; bm: "bp.bm"; bn: "bp.bn"; bo: "bp.bo"; bp: "bp.bp"; bq: "bp.bq"; br: "bp.br"; bs: "bp.bs"; bt: "bp.bt"; bu: "bp.bu"; bv: "bp.bv"; bw: "bp.bw"; bx: "bp.bx"; by: "bp.by"; bz: "bp.bz"; ca: "bp.ca"; cb: "bp.cb"; cc: "bp.cc"; cd: "bp.cd"; ce: "bp.ce"; cf: "bp.cf"; cg: "bp.cg"; ch: "bp.ch"; ci: "bp.ci"; cj: "bp.cj"; ck: "bp.ck"; cl: "bp.cl"; cm: "bp.cm"; cn: "bp.cn"; co: "bp.co"; cp: "bp.cp"; cq: "bp.cq"; cr: "bp.cr"; cs: "bp.cs"; ct: "bp.ct"; cu: "bp.cu"; cv: "bp.cv"; cw: "bp.cw"; cx: "bp.cx"; cy: "bp.cy"; cz: "bp.cz"; da: "bp.da"; db: "bp.db"; dc: "bp.dc"; dd: "bp.dd"; de: "bp.de"; df: "bp.df"; dg: "bp.dg"; dh: "bp.dh"; di: "bp.di"; dj: "bp.dj"; dk: "bp.dk"; dl: "bp.dl"; dm: "bp.dm"; dn: "bp.dn"; do: "bp.do"; dp: "bp.dp"; dq: "bp.dq"; dr: "bp.dr"; ds: "bp.ds"; dt: "bp.dt"; du: "bp.du"; dv: "bp.dv"; dw: "bp.dw"; dx: "bp.dx"; dy: "bp.dy"; dz: "bp.dz"; ea: "bp.ea"; eb: "bp.eb"; ec: "bp.ec"; ed: "bp.ed"; ee: "bp.ee"; ef: "bp.ef"; eg: "bp.eg"; eh: "bp.eh"; ei: "bp.ei"; ej: "bp.ej"; ek: "bp.ek"; el: "bp.el"; em: "bp.em"; en: "bp.en"; eo: "bp.eo"; ep: "bp.ep"; eq: "bp.eq"; er: "bp.er"; es: "bp.es"; et: "bp.et"; eu: "bp.eu"; ev: "bp.ev"; ew: "bp.ew"; ex: "bp.ex"; ey: "bp.ey"; ez: "bp.ez"; fa: "bp.fa"; fb: "bp.fb"; fc: "bp.fc"; fd: "bp.fd"; fe: "bp.fe"; ff: "bp.ff"; fg: "bp.fg"; fh: "bp.fh"; fi: "bp.fi"; fj: "bp.fj"; fk: "bp.fk"; fl: "bp.fl"; fm: "bp.fm"; fn: "bp.fn"; fo: "bp.fo"; fp: "bp.fp"; fq: "bp.fq"; fr: "bp.fr"; fs: "bp.fs"; ft: "bp.ft"; fu: "bp.fu"; fv: "bp.fv"; fw: "bp.fw"; fx: "bp.fx"; fy: "bp.fy"; fz: "bp.fz"; ga: "bp.ga"; gb: "bp.gb"; gc: "bp.gc"; gd: "bp.gd"; ge: "bp.ge"; gf: "bp.gf"; gg: "bp.gg"; gh: "bp.gh"; gi: "bp.gi"; gj: "bp.gj"; gk: "bp.gk"; gl: "bp.gl"; gm: "bp.gm"; gn: "bp.gn"; go: "bp.go"; gp: "bp.gp"; gq: "bp.gq"; gr: "bp.gr"; gs: "bp.gs"; gt: "bp.gt"; gu: "bp.gu"; gv: "bp.gv"; gw: "bp.gw"; gx: "bp.gx"; gy: "bp.gy"; gz: "bp.gz"; ha: "bp.ha"; hb: "bp.hb"; hc: "bp.hc"; hd: "bp.hd"; he: "bp.he"; hf: "bp.hf"; hg: "bp.hg"; hh: "bp.hh"; hi: "bp.hi"; hj: "bp.hj"; hk: "bp.hk"; hl: "bp.hl"; hm: "bp.hm"; hn: "bp.hn"; ho: "bp.ho"; hp: "bp.hp"; hq: "bp.hq"; hr: "bp.hr"; hs: "bp.hs"; ht: "bp.ht"; hu: "bp.hu"; hv: "bp.hv"; hw: "bp.hw"; hx: "bp.hx"; hy: "bp.hy"; hz: "bp.hz"; ia: "bp.ia"; ib: "bp.ib"; ic: "bp.ic"; id: "bp.id"; ie: "bp.ie"; if: "bp.if"; ig: "bp.ig"; ih: "bp.ih"; ii: "bp.ii"; ij: "bp.ij"; ik: "bp.ik"; il: "bp.il"; im: "bp.im"; in: "bp.in"; io: "bp.io"; ip: "bp.ip"; iq: "bp.iq"; ir: "bp.ir"; is: "bp.is"; it: "bp.it"; iu: "bp.iu"; iv: "bp.iv"; iw: "bp.iw"; ix: "bp.ix"; iy: "bp.iy"; iz: "bp.iz"; ja: "bp.ja"; jb: "bp.jb"; jc: "bp.jc"; jd: "bp.jd"; je: "bp.je"; jf: "bp.jf"; jg: "bp.jg"; jh: "bp.jh"; ji: "bp.ji"; jj: "bp.jj"; jk: "bp.jk"; jl: "bp.jl"; jm: "bp.jm"; jn: "bp.jn"; jo: "bp.jo"; jp: "bp.jp"; jq: "bp.jq"; jr: "bp.jr"; js: "bp.js"; jt: "bp.jt"; ju: "bp.ju"; jv: "bp.jv"; jw: "bp.jw"; jx: "bp.jx"; jy: "bp.jy"; jz: "bp.jz"; ka: "bp.ka"; kb: "bp.kb"; kc: "bp.kc"; kd: "bp.kd"; ke: "bp.ke"; kf: "bp.kf"; kg: "bp.kg"; kh: "bp.kh"; ki: "bp.ki"; kj: "bp.kj"; kk: "bp.kk"; kl: "bp.kl"; km: "bp.km"; kn: "bp.kn"; ko: "bp.ko"; kp: "bp.kp"; kq: "bp.kq"; kr: "bp.kr"; ks: "bp.ks"; kt: "bp.kt"; ku: "bp.ku"; kv: "bp.kv"; kw: "bp.kw"; kx: "bp.kx"; ky: "bp.ky"; kz: "bp.kz"; la: "bp.la"; lb: "bp.lb"; lc: "bp.lc"; ld: "bp.ld"; le: "bp.le"; lf: "bp.lf"; lg: "bp.lg"; lh: "bp.lh"; li: "bp.li"; lj: "bp.lj"; lk: "bp.lk"; ll: "bp.ll"; lm: "bp.lm"; ln: "bp.ln"; lo: "bp.lo"; lp: "bp.lp"; lq: "bp.lq"; lr: "bp.lr"; ls: "bp.ls"; lt: "bp.lt"; lu: "bp.lu"; lv: "bp.lv"; lw: "bp.lw"; lx: "bp.lx"; ly: "bp.ly"; lz: "bp.lz"; ma: "bp.ma"; mb: "bp.mb"; mc: "bp.mc"; md: "bp.md"; me: "bp.me"; mf: "bp.mf"; mg: "bp.mg"; mh: "bp.mh"; mi: "bp.mi"; mj: "bp.mj"; mk: "bp.mk"; ml: "bp.ml"; mm: "bp.mm"; mn: "bp.mn"; mo: "bp.mo"; mp: "bp.mp"; mq: "bp.mq"; mr: "bp.mr"; ms: "bp.ms"; mt: "bp.mt"; mu: "bp.mu"; mv: "bp.mv"; mw: "bp.mw"; mx: "bp.mx"; my: "bp.my"; mz: "bp.mz"; na: "bp.na"; nb: "bp.nb"; nc: "bp.nc"; nd: "bp.nd"; ne: "bp.ne"; nf: "bp.nf"; ng: "bp.ng"; nh: "bp.nh"; ni: "bp.ni"; nj: "bp.nj"; nk: "bp.nk"; nl: "bp.nl"; nm: "bp.nm"; nn: "bp.nn"; no: "bp.no"; np: "bp.np"; nq: "bp.nq"; nr: "bp.nr"; ns: "bp.ns"; nt: "bp.nt"; nu: "bp.nu"; nv: "bp.nv"; nw: "bp.nw"; nx: "bp.nx"; ny: "bp.ny"; nz: "bp.nz"; oa: "bp.oa"; ob: "bp.ob"; oc: "bp.oc"; od: "bp.od"; oe: "bp.oe"; of: "bp.of"; og: "bp.og"; oh: "bp.oh"; oi: "bp.oi"; oj: "bp.oj"; ok: "bp.ok"; ol: "bp.ol"; om: "bp.om"; on: "bp.on"; oo: "bp.oo"; op: "bp.op"; oq: "bp.oq"; or: "bp.or"; os: "bp.os"; ot: "bp.ot"; ou: "bp.ou"; ov: "bp.ov"; ow: "bp.ow"; ox: "bp.ox"; oy: "bp.oy"; oz: "bp.oz"; pa: "bp.pa"; pb: "bp.pb"; pc: "bp.pc"; pd: "bp.pd"; pe: "bp.pe"; pf: "bp.pf"; pg: "bp.pg"; ph: "bp.ph"; pi: "bp.pi"; pj: "bp.pj"; pk: "bp.pk"; pl: "bp.pl"; pm: "bp.pm"; pn: "bp.pn"; po: "bp.po"; pp: "bp.pp"; pq: "bp.pq"; pr: "bp.pr"; ps: "bp.ps"; pt: "bp.pt"; pu: "bp.pu"; pv: "bp.pv"; pw: "bp.pw"; px: "bp.px"; py: "bp.py"; pz: "bp.pz"; qa: "bp.qa"; qb: "bp.qb"; qc: "bp.qc"; qd: "bp.qd"; qe: "bp.qe"; qf: "bp.qf"; qg: "bp.qg"; qh: "bp.qh"; qi: "bp.qi"; qj: "bp.qj"; qk: "bp.qk"; ql: "bp.ql"; qm: "bp.qm"; qn: "bp.qn"; qo: "bp.qo"; qp: "bp.qp"; qq: "bp.qq"; qr: "bp.qr"; qs: "bp.qs"; qt: "bp.qt"; qu: "bp.qu"; qv: "bp.qv"; qw: "bp.qw"; qx: "bp.qx"; qy: "bp.qy"; qz: "bp.qz"; ra: "bp.ra"; rb: "bp.rb"; rc: "bp.rc"; rd: "bp.rd"; re: "bp.re"; rf: "bp.rf"; rg: "bp.rg"; rh: "bp.rh"; ri: "bp.ri"; rj: "bp.rj"; rk: "bp.rk"; rl: "bp.rl"; rm: "bp.rm"; rn: "bp.rn"; ro: "bp.ro"; rp: "bp.rp"; rq: "bp.rq"; rr: "bp.rr"; rs: "bp.rs"; rt: "bp.rt"; ru: "bp.ru"; rv: "bp.rv"; rw: "bp.rw"; rx: "bp.rx"; ry: "bp.ry"; rz: "bp.rz"; sa: "bp.sa"; sb: "bp.sb"; sc: "bp.sc"; sd: "bp.sd"; se: "bp.se"; sf: "bp.sf"; sg: "bp.sg"; sh: "bp.sh"; si: "bp.si"; sj: "bp.sj"; sk: "bp.sk"; sl: "bp.sl"; sm: "bp.sm"; sn: "bp.sn"; so: "bp.so"; sp: "bp.sp"; sq: "bp.sq"; sr: "bp.sr"; ss: "bp.ss"; st: "bp.st"; su: "bp.su"; sv: "bp.sv"; sw: "bp.sw"; sx: "bp.sx"; sy: "bp.sy"; sz: "bp.sz"; ta: "bp.ta"; tb: "bp.tb"; tc: "bp.tc"; td: "bp.td"; te: "bp.te"; tf: "bp.tf"; tg: "bp.tg"; th: "bp.th"; ti: "bp.ti"; tj: "bp.tj"; tk: "bp.tk"; tl: "bp.tl"; tm: "bp.tm"; tn: "bp.tn"; to: "bp.to"; tp: "bp.tp"; tq: "bp.tq"; tr: "bp.tr"; ts: "bp.ts"; tt: "bp.tt"; tu: "bp.tu"; tv: "bp.tv"; tw: "bp.tw"; tx: "bp.tx"; ty: "bp.ty"; tz: "bp.tz"; ua: "bp.ua"; ub: "bp.ub"; uc: "bp.uc"; ud: "bp.ud"; ue: "bp.ue"; uf: "bp.uf"; ug: "bp.ug"; uh: "bp.uh"; ui: "bp.ui"; uj: "bp.uj"; uk: "bp.uk"; ul: "bp.ul"; um: "bp.um"; un: "bp.un"; uo: "bp.uo"; up: "bp.up"; uq: "bp.uq"; ur: "bp.ur"; us: "bp.us"; ut: "bp.ut"; uu: "bp.uu"; uv: "bp.uv"; uw: "bp.uw"; ux: "bp.ux"; uy: "bp.uy"; uz: "bp.uz"; va: "bp.va"; vb: "bp.vb"; vc: "bp.vc"; vd: "bp.vd"; ve: "bp.ve"; vf: "bp.vf"; vg: "bp.vg"; vh: "bp.vh"; vi: "bp.vi"; vj: "bp.vj"; vk: "bp.vk"; vl: "bp.vl"; vm: "bp.vm"; vn: "bp.vn"; vo: "bp.vo"; vp: "bp.vp"; vq: "bp.vq"; vr: "bp.vr"; vs: "bp.vs"; vt: "bp.vt"; vu: "bp.vu"; vv: "bp.vv"; vw: "bp.vw"; vx: "bp.vx"; vy: "bp.vy"; vz: "bp.vz"; wa: "bp.wa"; wb: "bp.wb"; wc: "bp.wc"; wd: "bp.wd"; we: "bp.we"; wf: "bp.wf"; wg: "bp.wg"; wh: "bp.wh"; wi: "bp.wi"; wj: "bp.wj"; wk: "bp.wk"; wl: "bp.wl"; wm: "bp.wm"; wn: "bp.wn"; wo: "bp.wo"; wp: "bp.wp"; wq: "bp.wq"; wr: "bp.wr"; ws: "bp.ws"; wt: "bp.wt"; wu: "bp.wu"; wv: "bp.wv"; ww: "bp.ww"; wx: "bp.wx"; wy: "bp.wy"; wz: "bp.wz"; xa: "bp.xa"; xb: "bp.xb"; xc: "bp.xc"; xd: "bp.xd"; xe: "bp.xe"; xf: "bp.xf"; xg: "bp.xg"; xh: "bp.xh"; xi: "bp.xi"; xj: "bp.xj"; xk: "bp.xk"; xl: "bp.xl"; xm: "bp.xm"; xn: "bp.xn"; xo: "bp.xo"; xp: "bp.xp"; xq: "bp.xq"; xr: "bp.xr"; xs: "bp.xs"; xt: "bp.xt"; xu: "bp.xu"; xv: "bp.xv"; xw: "bp.xw"; xx: "bp.xx"; xy: "bp.xy"; xz: "bp.xz"; ya: "bp.ya"; yb: "bp.yb"; yc: "bp.yc"; yd: "bp.yd"; ye: "bp.ye"; yf: "bp.yf"; yg: "bp.yg"; yh: "bp.yh"; yi: "bp.yi"; yj: "bp.yj"; yk: "bp.yk"; yl: "bp.yl"; ym: "bp.ym"; yn: "bp.yn"; yo: "bp.yo"; yp: "bp.yp"; yq: "bp.yq"; yr: "bp.yr"; ys: "bp.ys"; yt: "bp.yt"; yu: "bp.yu"; yv: "bp.yv"; yw: "bp.yw"; yx: "bp.yx"; yy: "bp.yy"; yz: "bp.yz"; za: "bp.za"; zb: "bp.zb"; zc: "bp.zc"; zd: "bp.zd"; ze: "bp.ze"; zf: "bp.zf"; zg: "bp.zg"; zh: "bp.zh"; zi: "bp.zi"; zj: "bp.zj"; zk: "bp.zk"; zl: "bp.zl"; zm: "bp.zm"; zn: "bp.zn"; zo: "bp.zo"; zp: "bp.zp"; zq: "bp.zq"; zr: "bp.zr"; zs: "bp.zs"; zt: "bp.zt"; zu: "bp.zu"; zv: "bp.zv"; zw: "bp.zw"; zx: "bp.zx"; zy: "bp.zy"; zz: "bp.zz"; }; bq: { aa: "bq.aa"; ab: "bq.ab"; ac: "bq.ac"; ad: "bq.ad"; ae: "bq.ae"; af: "bq.af"; ag: "bq.ag"; ah: "bq.ah"; ai: "bq.ai"; aj: "bq.aj"; ak: "bq.ak"; al: "bq.al"; am: "bq.am"; an: "bq.an"; ao: "bq.ao"; ap: "bq.ap"; aq: "bq.aq"; ar: "bq.ar"; as: "bq.as"; at: "bq.at"; au: "bq.au"; av: "bq.av"; aw: "bq.aw"; ax: "bq.ax"; ay: "bq.ay"; az: "bq.az"; ba: "bq.ba"; bb: "bq.bb"; bc: "bq.bc"; bd: "bq.bd"; be: "bq.be"; bf: "bq.bf"; bg: "bq.bg"; bh: "bq.bh"; bi: "bq.bi"; bj: "bq.bj"; bk: "bq.bk"; bl: "bq.bl"; bm: "bq.bm"; bn: "bq.bn"; bo: "bq.bo"; bp: "bq.bp"; bq: "bq.bq"; br: "bq.br"; bs: "bq.bs"; bt: "bq.bt"; bu: "bq.bu"; bv: "bq.bv"; bw: "bq.bw"; bx: "bq.bx"; by: "bq.by"; bz: "bq.bz"; ca: "bq.ca"; cb: "bq.cb"; cc: "bq.cc"; cd: "bq.cd"; ce: "bq.ce"; cf: "bq.cf"; cg: "bq.cg"; ch: "bq.ch"; ci: "bq.ci"; cj: "bq.cj"; ck: "bq.ck"; cl: "bq.cl"; cm: "bq.cm"; cn: "bq.cn"; co: "bq.co"; cp: "bq.cp"; cq: "bq.cq"; cr: "bq.cr"; cs: "bq.cs"; ct: "bq.ct"; cu: "bq.cu"; cv: "bq.cv"; cw: "bq.cw"; cx: "bq.cx"; cy: "bq.cy"; cz: "bq.cz"; da: "bq.da"; db: "bq.db"; dc: "bq.dc"; dd: "bq.dd"; de: "bq.de"; df: "bq.df"; dg: "bq.dg"; dh: "bq.dh"; di: "bq.di"; dj: "bq.dj"; dk: "bq.dk"; dl: "bq.dl"; dm: "bq.dm"; dn: "bq.dn"; do: "bq.do"; dp: "bq.dp"; dq: "bq.dq"; dr: "bq.dr"; ds: "bq.ds"; dt: "bq.dt"; du: "bq.du"; dv: "bq.dv"; dw: "bq.dw"; dx: "bq.dx"; dy: "bq.dy"; dz: "bq.dz"; ea: "bq.ea"; eb: "bq.eb"; ec: "bq.ec"; ed: "bq.ed"; ee: "bq.ee"; ef: "bq.ef"; eg: "bq.eg"; eh: "bq.eh"; ei: "bq.ei"; ej: "bq.ej"; ek: "bq.ek"; el: "bq.el"; em: "bq.em"; en: "bq.en"; eo: "bq.eo"; ep: "bq.ep"; eq: "bq.eq"; er: "bq.er"; es: "bq.es"; et: "bq.et"; eu: "bq.eu"; ev: "bq.ev"; ew: "bq.ew"; ex: "bq.ex"; ey: "bq.ey"; ez: "bq.ez"; fa: "bq.fa"; fb: "bq.fb"; fc: "bq.fc"; fd: "bq.fd"; fe: "bq.fe"; ff: "bq.ff"; fg: "bq.fg"; fh: "bq.fh"; fi: "bq.fi"; fj: "bq.fj"; fk: "bq.fk"; fl: "bq.fl"; fm: "bq.fm"; fn: "bq.fn"; fo: "bq.fo"; fp: "bq.fp"; fq: "bq.fq"; fr: "bq.fr"; fs: "bq.fs"; ft: "bq.ft"; fu: "bq.fu"; fv: "bq.fv"; fw: "bq.fw"; fx: "bq.fx"; fy: "bq.fy"; fz: "bq.fz"; ga: "bq.ga"; gb: "bq.gb"; gc: "bq.gc"; gd: "bq.gd"; ge: "bq.ge"; gf: "bq.gf"; gg: "bq.gg"; gh: "bq.gh"; gi: "bq.gi"; gj: "bq.gj"; gk: "bq.gk"; gl: "bq.gl"; gm: "bq.gm"; gn: "bq.gn"; go: "bq.go"; gp: "bq.gp"; gq: "bq.gq"; gr: "bq.gr"; gs: "bq.gs"; gt: "bq.gt"; gu: "bq.gu"; gv: "bq.gv"; gw: "bq.gw"; gx: "bq.gx"; gy: "bq.gy"; gz: "bq.gz"; ha: "bq.ha"; hb: "bq.hb"; hc: "bq.hc"; hd: "bq.hd"; he: "bq.he"; hf: "bq.hf"; hg: "bq.hg"; hh: "bq.hh"; hi: "bq.hi"; hj: "bq.hj"; hk: "bq.hk"; hl: "bq.hl"; hm: "bq.hm"; hn: "bq.hn"; ho: "bq.ho"; hp: "bq.hp"; hq: "bq.hq"; hr: "bq.hr"; hs: "bq.hs"; ht: "bq.ht"; hu: "bq.hu"; hv: "bq.hv"; hw: "bq.hw"; hx: "bq.hx"; hy: "bq.hy"; hz: "bq.hz"; ia: "bq.ia"; ib: "bq.ib"; ic: "bq.ic"; id: "bq.id"; ie: "bq.ie"; if: "bq.if"; ig: "bq.ig"; ih: "bq.ih"; ii: "bq.ii"; ij: "bq.ij"; ik: "bq.ik"; il: "bq.il"; im: "bq.im"; in: "bq.in"; io: "bq.io"; ip: "bq.ip"; iq: "bq.iq"; ir: "bq.ir"; is: "bq.is"; it: "bq.it"; iu: "bq.iu"; iv: "bq.iv"; iw: "bq.iw"; ix: "bq.ix"; iy: "bq.iy"; iz: "bq.iz"; ja: "bq.ja"; jb: "bq.jb"; jc: "bq.jc"; jd: "bq.jd"; je: "bq.je"; jf: "bq.jf"; jg: "bq.jg"; jh: "bq.jh"; ji: "bq.ji"; jj: "bq.jj"; jk: "bq.jk"; jl: "bq.jl"; jm: "bq.jm"; jn: "bq.jn"; jo: "bq.jo"; jp: "bq.jp"; jq: "bq.jq"; jr: "bq.jr"; js: "bq.js"; jt: "bq.jt"; ju: "bq.ju"; jv: "bq.jv"; jw: "bq.jw"; jx: "bq.jx"; jy: "bq.jy"; jz: "bq.jz"; ka: "bq.ka"; kb: "bq.kb"; kc: "bq.kc"; kd: "bq.kd"; ke: "bq.ke"; kf: "bq.kf"; kg: "bq.kg"; kh: "bq.kh"; ki: "bq.ki"; kj: "bq.kj"; kk: "bq.kk"; kl: "bq.kl"; km: "bq.km"; kn: "bq.kn"; ko: "bq.ko"; kp: "bq.kp"; kq: "bq.kq"; kr: "bq.kr"; ks: "bq.ks"; kt: "bq.kt"; ku: "bq.ku"; kv: "bq.kv"; kw: "bq.kw"; kx: "bq.kx"; ky: "bq.ky"; kz: "bq.kz"; la: "bq.la"; lb: "bq.lb"; lc: "bq.lc"; ld: "bq.ld"; le: "bq.le"; lf: "bq.lf"; lg: "bq.lg"; lh: "bq.lh"; li: "bq.li"; lj: "bq.lj"; lk: "bq.lk"; ll: "bq.ll"; lm: "bq.lm"; ln: "bq.ln"; lo: "bq.lo"; lp: "bq.lp"; lq: "bq.lq"; lr: "bq.lr"; ls: "bq.ls"; lt: "bq.lt"; lu: "bq.lu"; lv: "bq.lv"; lw: "bq.lw"; lx: "bq.lx"; ly: "bq.ly"; lz: "bq.lz"; ma: "bq.ma"; mb: "bq.mb"; mc: "bq.mc"; md: "bq.md"; me: "bq.me"; mf: "bq.mf"; mg: "bq.mg"; mh: "bq.mh"; mi: "bq.mi"; mj: "bq.mj"; mk: "bq.mk"; ml: "bq.ml"; mm: "bq.mm"; mn: "bq.mn"; mo: "bq.mo"; mp: "bq.mp"; mq: "bq.mq"; mr: "bq.mr"; ms: "bq.ms"; mt: "bq.mt"; mu: "bq.mu"; mv: "bq.mv"; mw: "bq.mw"; mx: "bq.mx"; my: "bq.my"; mz: "bq.mz"; na: "bq.na"; nb: "bq.nb"; nc: "bq.nc"; nd: "bq.nd"; ne: "bq.ne"; nf: "bq.nf"; ng: "bq.ng"; nh: "bq.nh"; ni: "bq.ni"; nj: "bq.nj"; nk: "bq.nk"; nl: "bq.nl"; nm: "bq.nm"; nn: "bq.nn"; no: "bq.no"; np: "bq.np"; nq: "bq.nq"; nr: "bq.nr"; ns: "bq.ns"; nt: "bq.nt"; nu: "bq.nu"; nv: "bq.nv"; nw: "bq.nw"; nx: "bq.nx"; ny: "bq.ny"; nz: "bq.nz"; oa: "bq.oa"; ob: "bq.ob"; oc: "bq.oc"; od: "bq.od"; oe: "bq.oe"; of: "bq.of"; og: "bq.og"; oh: "bq.oh"; oi: "bq.oi"; oj: "bq.oj"; ok: "bq.ok"; ol: "bq.ol"; om: "bq.om"; on: "bq.on"; oo: "bq.oo"; op: "bq.op"; oq: "bq.oq"; or: "bq.or"; os: "bq.os"; ot: "bq.ot"; ou: "bq.ou"; ov: "bq.ov"; ow: "bq.ow"; ox: "bq.ox"; oy: "bq.oy"; oz: "bq.oz"; pa: "bq.pa"; pb: "bq.pb"; pc: "bq.pc"; pd: "bq.pd"; pe: "bq.pe"; pf: "bq.pf"; pg: "bq.pg"; ph: "bq.ph"; pi: "bq.pi"; pj: "bq.pj"; pk: "bq.pk"; pl: "bq.pl"; pm: "bq.pm"; pn: "bq.pn"; po: "bq.po"; pp: "bq.pp"; pq: "bq.pq"; pr: "bq.pr"; ps: "bq.ps"; pt: "bq.pt"; pu: "bq.pu"; pv: "bq.pv"; pw: "bq.pw"; px: "bq.px"; py: "bq.py"; pz: "bq.pz"; qa: "bq.qa"; qb: "bq.qb"; qc: "bq.qc"; qd: "bq.qd"; qe: "bq.qe"; qf: "bq.qf"; qg: "bq.qg"; qh: "bq.qh"; qi: "bq.qi"; qj: "bq.qj"; qk: "bq.qk"; ql: "bq.ql"; qm: "bq.qm"; qn: "bq.qn"; qo: "bq.qo"; qp: "bq.qp"; qq: "bq.qq"; qr: "bq.qr"; qs: "bq.qs"; qt: "bq.qt"; qu: "bq.qu"; qv: "bq.qv"; qw: "bq.qw"; qx: "bq.qx"; qy: "bq.qy"; qz: "bq.qz"; ra: "bq.ra"; rb: "bq.rb"; rc: "bq.rc"; rd: "bq.rd"; re: "bq.re"; rf: "bq.rf"; rg: "bq.rg"; rh: "bq.rh"; ri: "bq.ri"; rj: "bq.rj"; rk: "bq.rk"; rl: "bq.rl"; rm: "bq.rm"; rn: "bq.rn"; ro: "bq.ro"; rp: "bq.rp"; rq: "bq.rq"; rr: "bq.rr"; rs: "bq.rs"; rt: "bq.rt"; ru: "bq.ru"; rv: "bq.rv"; rw: "bq.rw"; rx: "bq.rx"; ry: "bq.ry"; rz: "bq.rz"; sa: "bq.sa"; sb: "bq.sb"; sc: "bq.sc"; sd: "bq.sd"; se: "bq.se"; sf: "bq.sf"; sg: "bq.sg"; sh: "bq.sh"; si: "bq.si"; sj: "bq.sj"; sk: "bq.sk"; sl: "bq.sl"; sm: "bq.sm"; sn: "bq.sn"; so: "bq.so"; sp: "bq.sp"; sq: "bq.sq"; sr: "bq.sr"; ss: "bq.ss"; st: "bq.st"; su: "bq.su"; sv: "bq.sv"; sw: "bq.sw"; sx: "bq.sx"; sy: "bq.sy"; sz: "bq.sz"; ta: "bq.ta"; tb: "bq.tb"; tc: "bq.tc"; td: "bq.td"; te: "bq.te"; tf: "bq.tf"; tg: "bq.tg"; th: "bq.th"; ti: "bq.ti"; tj: "bq.tj"; tk: "bq.tk"; tl: "bq.tl"; tm: "bq.tm"; tn: "bq.tn"; to: "bq.to"; tp: "bq.tp"; tq: "bq.tq"; tr: "bq.tr"; ts: "bq.ts"; tt: "bq.tt"; tu: "bq.tu"; tv: "bq.tv"; tw: "bq.tw"; tx: "bq.tx"; ty: "bq.ty"; tz: "bq.tz"; ua: "bq.ua"; ub: "bq.ub"; uc: "bq.uc"; ud: "bq.ud"; ue: "bq.ue"; uf: "bq.uf"; ug: "bq.ug"; uh: "bq.uh"; ui: "bq.ui"; uj: "bq.uj"; uk: "bq.uk"; ul: "bq.ul"; um: "bq.um"; un: "bq.un"; uo: "bq.uo"; up: "bq.up"; uq: "bq.uq"; ur: "bq.ur"; us: "bq.us"; ut: "bq.ut"; uu: "bq.uu"; uv: "bq.uv"; uw: "bq.uw"; ux: "bq.ux"; uy: "bq.uy"; uz: "bq.uz"; va: "bq.va"; vb: "bq.vb"; vc: "bq.vc"; vd: "bq.vd"; ve: "bq.ve"; vf: "bq.vf"; vg: "bq.vg"; vh: "bq.vh"; vi: "bq.vi"; vj: "bq.vj"; vk: "bq.vk"; vl: "bq.vl"; vm: "bq.vm"; vn: "bq.vn"; vo: "bq.vo"; vp: "bq.vp"; vq: "bq.vq"; vr: "bq.vr"; vs: "bq.vs"; vt: "bq.vt"; vu: "bq.vu"; vv: "bq.vv"; vw: "bq.vw"; vx: "bq.vx"; vy: "bq.vy"; vz: "bq.vz"; wa: "bq.wa"; wb: "bq.wb"; wc: "bq.wc"; wd: "bq.wd"; we: "bq.we"; wf: "bq.wf"; wg: "bq.wg"; wh: "bq.wh"; wi: "bq.wi"; wj: "bq.wj"; wk: "bq.wk"; wl: "bq.wl"; wm: "bq.wm"; wn: "bq.wn"; wo: "bq.wo"; wp: "bq.wp"; wq: "bq.wq"; wr: "bq.wr"; ws: "bq.ws"; wt: "bq.wt"; wu: "bq.wu"; wv: "bq.wv"; ww: "bq.ww"; wx: "bq.wx"; wy: "bq.wy"; wz: "bq.wz"; xa: "bq.xa"; xb: "bq.xb"; xc: "bq.xc"; xd: "bq.xd"; xe: "bq.xe"; xf: "bq.xf"; xg: "bq.xg"; xh: "bq.xh"; xi: "bq.xi"; xj: "bq.xj"; xk: "bq.xk"; xl: "bq.xl"; xm: "bq.xm"; xn: "bq.xn"; xo: "bq.xo"; xp: "bq.xp"; xq: "bq.xq"; xr: "bq.xr"; xs: "bq.xs"; xt: "bq.xt"; xu: "bq.xu"; xv: "bq.xv"; xw: "bq.xw"; xx: "bq.xx"; xy: "bq.xy"; xz: "bq.xz"; ya: "bq.ya"; yb: "bq.yb"; yc: "bq.yc"; yd: "bq.yd"; ye: "bq.ye"; yf: "bq.yf"; yg: "bq.yg"; yh: "bq.yh"; yi: "bq.yi"; yj: "bq.yj"; yk: "bq.yk"; yl: "bq.yl"; ym: "bq.ym"; yn: "bq.yn"; yo: "bq.yo"; yp: "bq.yp"; yq: "bq.yq"; yr: "bq.yr"; ys: "bq.ys"; yt: "bq.yt"; yu: "bq.yu"; yv: "bq.yv"; yw: "bq.yw"; yx: "bq.yx"; yy: "bq.yy"; yz: "bq.yz"; za: "bq.za"; zb: "bq.zb"; zc: "bq.zc"; zd: "bq.zd"; ze: "bq.ze"; zf: "bq.zf"; zg: "bq.zg"; zh: "bq.zh"; zi: "bq.zi"; zj: "bq.zj"; zk: "bq.zk"; zl: "bq.zl"; zm: "bq.zm"; zn: "bq.zn"; zo: "bq.zo"; zp: "bq.zp"; zq: "bq.zq"; zr: "bq.zr"; zs: "bq.zs"; zt: "bq.zt"; zu: "bq.zu"; zv: "bq.zv"; zw: "bq.zw"; zx: "bq.zx"; zy: "bq.zy"; zz: "bq.zz"; }; br: { aa: "br.aa"; ab: "br.ab"; ac: "br.ac"; ad: "br.ad"; ae: "br.ae"; af: "br.af"; ag: "br.ag"; ah: "br.ah"; ai: "br.ai"; aj: "br.aj"; ak: "br.ak"; al: "br.al"; am: "br.am"; an: "br.an"; ao: "br.ao"; ap: "br.ap"; aq: "br.aq"; ar: "br.ar"; as: "br.as"; at: "br.at"; au: "br.au"; av: "br.av"; aw: "br.aw"; ax: "br.ax"; ay: "br.ay"; az: "br.az"; ba: "br.ba"; bb: "br.bb"; bc: "br.bc"; bd: "br.bd"; be: "br.be"; bf: "br.bf"; bg: "br.bg"; bh: "br.bh"; bi: "br.bi"; bj: "br.bj"; bk: "br.bk"; bl: "br.bl"; bm: "br.bm"; bn: "br.bn"; bo: "br.bo"; bp: "br.bp"; bq: "br.bq"; br: "br.br"; bs: "br.bs"; bt: "br.bt"; bu: "br.bu"; bv: "br.bv"; bw: "br.bw"; bx: "br.bx"; by: "br.by"; bz: "br.bz"; ca: "br.ca"; cb: "br.cb"; cc: "br.cc"; cd: "br.cd"; ce: "br.ce"; cf: "br.cf"; cg: "br.cg"; ch: "br.ch"; ci: "br.ci"; cj: "br.cj"; ck: "br.ck"; cl: "br.cl"; cm: "br.cm"; cn: "br.cn"; co: "br.co"; cp: "br.cp"; cq: "br.cq"; cr: "br.cr"; cs: "br.cs"; ct: "br.ct"; cu: "br.cu"; cv: "br.cv"; cw: "br.cw"; cx: "br.cx"; cy: "br.cy"; cz: "br.cz"; da: "br.da"; db: "br.db"; dc: "br.dc"; dd: "br.dd"; de: "br.de"; df: "br.df"; dg: "br.dg"; dh: "br.dh"; di: "br.di"; dj: "br.dj"; dk: "br.dk"; dl: "br.dl"; dm: "br.dm"; dn: "br.dn"; do: "br.do"; dp: "br.dp"; dq: "br.dq"; dr: "br.dr"; ds: "br.ds"; dt: "br.dt"; du: "br.du"; dv: "br.dv"; dw: "br.dw"; dx: "br.dx"; dy: "br.dy"; dz: "br.dz"; ea: "br.ea"; eb: "br.eb"; ec: "br.ec"; ed: "br.ed"; ee: "br.ee"; ef: "br.ef"; eg: "br.eg"; eh: "br.eh"; ei: "br.ei"; ej: "br.ej"; ek: "br.ek"; el: "br.el"; em: "br.em"; en: "br.en"; eo: "br.eo"; ep: "br.ep"; eq: "br.eq"; er: "br.er"; es: "br.es"; et: "br.et"; eu: "br.eu"; ev: "br.ev"; ew: "br.ew"; ex: "br.ex"; ey: "br.ey"; ez: "br.ez"; fa: "br.fa"; fb: "br.fb"; fc: "br.fc"; fd: "br.fd"; fe: "br.fe"; ff: "br.ff"; fg: "br.fg"; fh: "br.fh"; fi: "br.fi"; fj: "br.fj"; fk: "br.fk"; fl: "br.fl"; fm: "br.fm"; fn: "br.fn"; fo: "br.fo"; fp: "br.fp"; fq: "br.fq"; fr: "br.fr"; fs: "br.fs"; ft: "br.ft"; fu: "br.fu"; fv: "br.fv"; fw: "br.fw"; fx: "br.fx"; fy: "br.fy"; fz: "br.fz"; ga: "br.ga"; gb: "br.gb"; gc: "br.gc"; gd: "br.gd"; ge: "br.ge"; gf: "br.gf"; gg: "br.gg"; gh: "br.gh"; gi: "br.gi"; gj: "br.gj"; gk: "br.gk"; gl: "br.gl"; gm: "br.gm"; gn: "br.gn"; go: "br.go"; gp: "br.gp"; gq: "br.gq"; gr: "br.gr"; gs: "br.gs"; gt: "br.gt"; gu: "br.gu"; gv: "br.gv"; gw: "br.gw"; gx: "br.gx"; gy: "br.gy"; gz: "br.gz"; ha: "br.ha"; hb: "br.hb"; hc: "br.hc"; hd: "br.hd"; he: "br.he"; hf: "br.hf"; hg: "br.hg"; hh: "br.hh"; hi: "br.hi"; hj: "br.hj"; hk: "br.hk"; hl: "br.hl"; hm: "br.hm"; hn: "br.hn"; ho: "br.ho"; hp: "br.hp"; hq: "br.hq"; hr: "br.hr"; hs: "br.hs"; ht: "br.ht"; hu: "br.hu"; hv: "br.hv"; hw: "br.hw"; hx: "br.hx"; hy: "br.hy"; hz: "br.hz"; ia: "br.ia"; ib: "br.ib"; ic: "br.ic"; id: "br.id"; ie: "br.ie"; if: "br.if"; ig: "br.ig"; ih: "br.ih"; ii: "br.ii"; ij: "br.ij"; ik: "br.ik"; il: "br.il"; im: "br.im"; in: "br.in"; io: "br.io"; ip: "br.ip"; iq: "br.iq"; ir: "br.ir"; is: "br.is"; it: "br.it"; iu: "br.iu"; iv: "br.iv"; iw: "br.iw"; ix: "br.ix"; iy: "br.iy"; iz: "br.iz"; ja: "br.ja"; jb: "br.jb"; jc: "br.jc"; jd: "br.jd"; je: "br.je"; jf: "br.jf"; jg: "br.jg"; jh: "br.jh"; ji: "br.ji"; jj: "br.jj"; jk: "br.jk"; jl: "br.jl"; jm: "br.jm"; jn: "br.jn"; jo: "br.jo"; jp: "br.jp"; jq: "br.jq"; jr: "br.jr"; js: "br.js"; jt: "br.jt"; ju: "br.ju"; jv: "br.jv"; jw: "br.jw"; jx: "br.jx"; jy: "br.jy"; jz: "br.jz"; ka: "br.ka"; kb: "br.kb"; kc: "br.kc"; kd: "br.kd"; ke: "br.ke"; kf: "br.kf"; kg: "br.kg"; kh: "br.kh"; ki: "br.ki"; kj: "br.kj"; kk: "br.kk"; kl: "br.kl"; km: "br.km"; kn: "br.kn"; ko: "br.ko"; kp: "br.kp"; kq: "br.kq"; kr: "br.kr"; ks: "br.ks"; kt: "br.kt"; ku: "br.ku"; kv: "br.kv"; kw: "br.kw"; kx: "br.kx"; ky: "br.ky"; kz: "br.kz"; la: "br.la"; lb: "br.lb"; lc: "br.lc"; ld: "br.ld"; le: "br.le"; lf: "br.lf"; lg: "br.lg"; lh: "br.lh"; li: "br.li"; lj: "br.lj"; lk: "br.lk"; ll: "br.ll"; lm: "br.lm"; ln: "br.ln"; lo: "br.lo"; lp: "br.lp"; lq: "br.lq"; lr: "br.lr"; ls: "br.ls"; lt: "br.lt"; lu: "br.lu"; lv: "br.lv"; lw: "br.lw"; lx: "br.lx"; ly: "br.ly"; lz: "br.lz"; ma: "br.ma"; mb: "br.mb"; mc: "br.mc"; md: "br.md"; me: "br.me"; mf: "br.mf"; mg: "br.mg"; mh: "br.mh"; mi: "br.mi"; mj: "br.mj"; mk: "br.mk"; ml: "br.ml"; mm: "br.mm"; mn: "br.mn"; mo: "br.mo"; mp: "br.mp"; mq: "br.mq"; mr: "br.mr"; ms: "br.ms"; mt: "br.mt"; mu: "br.mu"; mv: "br.mv"; mw: "br.mw"; mx: "br.mx"; my: "br.my"; mz: "br.mz"; na: "br.na"; nb: "br.nb"; nc: "br.nc"; nd: "br.nd"; ne: "br.ne"; nf: "br.nf"; ng: "br.ng"; nh: "br.nh"; ni: "br.ni"; nj: "br.nj"; nk: "br.nk"; nl: "br.nl"; nm: "br.nm"; nn: "br.nn"; no: "br.no"; np: "br.np"; nq: "br.nq"; nr: "br.nr"; ns: "br.ns"; nt: "br.nt"; nu: "br.nu"; nv: "br.nv"; nw: "br.nw"; nx: "br.nx"; ny: "br.ny"; nz: "br.nz"; oa: "br.oa"; ob: "br.ob"; oc: "br.oc"; od: "br.od"; oe: "br.oe"; of: "br.of"; og: "br.og"; oh: "br.oh"; oi: "br.oi"; oj: "br.oj"; ok: "br.ok"; ol: "br.ol"; om: "br.om"; on: "br.on"; oo: "br.oo"; op: "br.op"; oq: "br.oq"; or: "br.or"; os: "br.os"; ot: "br.ot"; ou: "br.ou"; ov: "br.ov"; ow: "br.ow"; ox: "br.ox"; oy: "br.oy"; oz: "br.oz"; pa: "br.pa"; pb: "br.pb"; pc: "br.pc"; pd: "br.pd"; pe: "br.pe"; pf: "br.pf"; pg: "br.pg"; ph: "br.ph"; pi: "br.pi"; pj: "br.pj"; pk: "br.pk"; pl: "br.pl"; pm: "br.pm"; pn: "br.pn"; po: "br.po"; pp: "br.pp"; pq: "br.pq"; pr: "br.pr"; ps: "br.ps"; pt: "br.pt"; pu: "br.pu"; pv: "br.pv"; pw: "br.pw"; px: "br.px"; py: "br.py"; pz: "br.pz"; qa: "br.qa"; qb: "br.qb"; qc: "br.qc"; qd: "br.qd"; qe: "br.qe"; qf: "br.qf"; qg: "br.qg"; qh: "br.qh"; qi: "br.qi"; qj: "br.qj"; qk: "br.qk"; ql: "br.ql"; qm: "br.qm"; qn: "br.qn"; qo: "br.qo"; qp: "br.qp"; qq: "br.qq"; qr: "br.qr"; qs: "br.qs"; qt: "br.qt"; qu: "br.qu"; qv: "br.qv"; qw: "br.qw"; qx: "br.qx"; qy: "br.qy"; qz: "br.qz"; ra: "br.ra"; rb: "br.rb"; rc: "br.rc"; rd: "br.rd"; re: "br.re"; rf: "br.rf"; rg: "br.rg"; rh: "br.rh"; ri: "br.ri"; rj: "br.rj"; rk: "br.rk"; rl: "br.rl"; rm: "br.rm"; rn: "br.rn"; ro: "br.ro"; rp: "br.rp"; rq: "br.rq"; rr: "br.rr"; rs: "br.rs"; rt: "br.rt"; ru: "br.ru"; rv: "br.rv"; rw: "br.rw"; rx: "br.rx"; ry: "br.ry"; rz: "br.rz"; sa: "br.sa"; sb: "br.sb"; sc: "br.sc"; sd: "br.sd"; se: "br.se"; sf: "br.sf"; sg: "br.sg"; sh: "br.sh"; si: "br.si"; sj: "br.sj"; sk: "br.sk"; sl: "br.sl"; sm: "br.sm"; sn: "br.sn"; so: "br.so"; sp: "br.sp"; sq: "br.sq"; sr: "br.sr"; ss: "br.ss"; st: "br.st"; su: "br.su"; sv: "br.sv"; sw: "br.sw"; sx: "br.sx"; sy: "br.sy"; sz: "br.sz"; ta: "br.ta"; tb: "br.tb"; tc: "br.tc"; td: "br.td"; te: "br.te"; tf: "br.tf"; tg: "br.tg"; th: "br.th"; ti: "br.ti"; tj: "br.tj"; tk: "br.tk"; tl: "br.tl"; tm: "br.tm"; tn: "br.tn"; to: "br.to"; tp: "br.tp"; tq: "br.tq"; tr: "br.tr"; ts: "br.ts"; tt: "br.tt"; tu: "br.tu"; tv: "br.tv"; tw: "br.tw"; tx: "br.tx"; ty: "br.ty"; tz: "br.tz"; ua: "br.ua"; ub: "br.ub"; uc: "br.uc"; ud: "br.ud"; ue: "br.ue"; uf: "br.uf"; ug: "br.ug"; uh: "br.uh"; ui: "br.ui"; uj: "br.uj"; uk: "br.uk"; ul: "br.ul"; um: "br.um"; un: "br.un"; uo: "br.uo"; up: "br.up"; uq: "br.uq"; ur: "br.ur"; us: "br.us"; ut: "br.ut"; uu: "br.uu"; uv: "br.uv"; uw: "br.uw"; ux: "br.ux"; uy: "br.uy"; uz: "br.uz"; va: "br.va"; vb: "br.vb"; vc: "br.vc"; vd: "br.vd"; ve: "br.ve"; vf: "br.vf"; vg: "br.vg"; vh: "br.vh"; vi: "br.vi"; vj: "br.vj"; vk: "br.vk"; vl: "br.vl"; vm: "br.vm"; vn: "br.vn"; vo: "br.vo"; vp: "br.vp"; vq: "br.vq"; vr: "br.vr"; vs: "br.vs"; vt: "br.vt"; vu: "br.vu"; vv: "br.vv"; vw: "br.vw"; vx: "br.vx"; vy: "br.vy"; vz: "br.vz"; wa: "br.wa"; wb: "br.wb"; wc: "br.wc"; wd: "br.wd"; we: "br.we"; wf: "br.wf"; wg: "br.wg"; wh: "br.wh"; wi: "br.wi"; wj: "br.wj"; wk: "br.wk"; wl: "br.wl"; wm: "br.wm"; wn: "br.wn"; wo: "br.wo"; wp: "br.wp"; wq: "br.wq"; wr: "br.wr"; ws: "br.ws"; wt: "br.wt"; wu: "br.wu"; wv: "br.wv"; ww: "br.ww"; wx: "br.wx"; wy: "br.wy"; wz: "br.wz"; xa: "br.xa"; xb: "br.xb"; xc: "br.xc"; xd: "br.xd"; xe: "br.xe"; xf: "br.xf"; xg: "br.xg"; xh: "br.xh"; xi: "br.xi"; xj: "br.xj"; xk: "br.xk"; xl: "br.xl"; xm: "br.xm"; xn: "br.xn"; xo: "br.xo"; xp: "br.xp"; xq: "br.xq"; xr: "br.xr"; xs: "br.xs"; xt: "br.xt"; xu: "br.xu"; xv: "br.xv"; xw: "br.xw"; xx: "br.xx"; xy: "br.xy"; xz: "br.xz"; ya: "br.ya"; yb: "br.yb"; yc: "br.yc"; yd: "br.yd"; ye: "br.ye"; yf: "br.yf"; yg: "br.yg"; yh: "br.yh"; yi: "br.yi"; yj: "br.yj"; yk: "br.yk"; yl: "br.yl"; ym: "br.ym"; yn: "br.yn"; yo: "br.yo"; yp: "br.yp"; yq: "br.yq"; yr: "br.yr"; ys: "br.ys"; yt: "br.yt"; yu: "br.yu"; yv: "br.yv"; yw: "br.yw"; yx: "br.yx"; yy: "br.yy"; yz: "br.yz"; za: "br.za"; zb: "br.zb"; zc: "br.zc"; zd: "br.zd"; ze: "br.ze"; zf: "br.zf"; zg: "br.zg"; zh: "br.zh"; zi: "br.zi"; zj: "br.zj"; zk: "br.zk"; zl: "br.zl"; zm: "br.zm"; zn: "br.zn"; zo: "br.zo"; zp: "br.zp"; zq: "br.zq"; zr: "br.zr"; zs: "br.zs"; zt: "br.zt"; zu: "br.zu"; zv: "br.zv"; zw: "br.zw"; zx: "br.zx"; zy: "br.zy"; zz: "br.zz"; }; bs: { aa: "bs.aa"; ab: "bs.ab"; ac: "bs.ac"; ad: "bs.ad"; ae: "bs.ae"; af: "bs.af"; ag: "bs.ag"; ah: "bs.ah"; ai: "bs.ai"; aj: "bs.aj"; ak: "bs.ak"; al: "bs.al"; am: "bs.am"; an: "bs.an"; ao: "bs.ao"; ap: "bs.ap"; aq: "bs.aq"; ar: "bs.ar"; as: "bs.as"; at: "bs.at"; au: "bs.au"; av: "bs.av"; aw: "bs.aw"; ax: "bs.ax"; ay: "bs.ay"; az: "bs.az"; ba: "bs.ba"; bb: "bs.bb"; bc: "bs.bc"; bd: "bs.bd"; be: "bs.be"; bf: "bs.bf"; bg: "bs.bg"; bh: "bs.bh"; bi: "bs.bi"; bj: "bs.bj"; bk: "bs.bk"; bl: "bs.bl"; bm: "bs.bm"; bn: "bs.bn"; bo: "bs.bo"; bp: "bs.bp"; bq: "bs.bq"; br: "bs.br"; bs: "bs.bs"; bt: "bs.bt"; bu: "bs.bu"; bv: "bs.bv"; bw: "bs.bw"; bx: "bs.bx"; by: "bs.by"; bz: "bs.bz"; ca: "bs.ca"; cb: "bs.cb"; cc: "bs.cc"; cd: "bs.cd"; ce: "bs.ce"; cf: "bs.cf"; cg: "bs.cg"; ch: "bs.ch"; ci: "bs.ci"; cj: "bs.cj"; ck: "bs.ck"; cl: "bs.cl"; cm: "bs.cm"; cn: "bs.cn"; co: "bs.co"; cp: "bs.cp"; cq: "bs.cq"; cr: "bs.cr"; cs: "bs.cs"; ct: "bs.ct"; cu: "bs.cu"; cv: "bs.cv"; cw: "bs.cw"; cx: "bs.cx"; cy: "bs.cy"; cz: "bs.cz"; da: "bs.da"; db: "bs.db"; dc: "bs.dc"; dd: "bs.dd"; de: "bs.de"; df: "bs.df"; dg: "bs.dg"; dh: "bs.dh"; di: "bs.di"; dj: "bs.dj"; dk: "bs.dk"; dl: "bs.dl"; dm: "bs.dm"; dn: "bs.dn"; do: "bs.do"; dp: "bs.dp"; dq: "bs.dq"; dr: "bs.dr"; ds: "bs.ds"; dt: "bs.dt"; du: "bs.du"; dv: "bs.dv"; dw: "bs.dw"; dx: "bs.dx"; dy: "bs.dy"; dz: "bs.dz"; ea: "bs.ea"; eb: "bs.eb"; ec: "bs.ec"; ed: "bs.ed"; ee: "bs.ee"; ef: "bs.ef"; eg: "bs.eg"; eh: "bs.eh"; ei: "bs.ei"; ej: "bs.ej"; ek: "bs.ek"; el: "bs.el"; em: "bs.em"; en: "bs.en"; eo: "bs.eo"; ep: "bs.ep"; eq: "bs.eq"; er: "bs.er"; es: "bs.es"; et: "bs.et"; eu: "bs.eu"; ev: "bs.ev"; ew: "bs.ew"; ex: "bs.ex"; ey: "bs.ey"; ez: "bs.ez"; fa: "bs.fa"; fb: "bs.fb"; fc: "bs.fc"; fd: "bs.fd"; fe: "bs.fe"; ff: "bs.ff"; fg: "bs.fg"; fh: "bs.fh"; fi: "bs.fi"; fj: "bs.fj"; fk: "bs.fk"; fl: "bs.fl"; fm: "bs.fm"; fn: "bs.fn"; fo: "bs.fo"; fp: "bs.fp"; fq: "bs.fq"; fr: "bs.fr"; fs: "bs.fs"; ft: "bs.ft"; fu: "bs.fu"; fv: "bs.fv"; fw: "bs.fw"; fx: "bs.fx"; fy: "bs.fy"; fz: "bs.fz"; ga: "bs.ga"; gb: "bs.gb"; gc: "bs.gc"; gd: "bs.gd"; ge: "bs.ge"; gf: "bs.gf"; gg: "bs.gg"; gh: "bs.gh"; gi: "bs.gi"; gj: "bs.gj"; gk: "bs.gk"; gl: "bs.gl"; gm: "bs.gm"; gn: "bs.gn"; go: "bs.go"; gp: "bs.gp"; gq: "bs.gq"; gr: "bs.gr"; gs: "bs.gs"; gt: "bs.gt"; gu: "bs.gu"; gv: "bs.gv"; gw: "bs.gw"; gx: "bs.gx"; gy: "bs.gy"; gz: "bs.gz"; ha: "bs.ha"; hb: "bs.hb"; hc: "bs.hc"; hd: "bs.hd"; he: "bs.he"; hf: "bs.hf"; hg: "bs.hg"; hh: "bs.hh"; hi: "bs.hi"; hj: "bs.hj"; hk: "bs.hk"; hl: "bs.hl"; hm: "bs.hm"; hn: "bs.hn"; ho: "bs.ho"; hp: "bs.hp"; hq: "bs.hq"; hr: "bs.hr"; hs: "bs.hs"; ht: "bs.ht"; hu: "bs.hu"; hv: "bs.hv"; hw: "bs.hw"; hx: "bs.hx"; hy: "bs.hy"; hz: "bs.hz"; ia: "bs.ia"; ib: "bs.ib"; ic: "bs.ic"; id: "bs.id"; ie: "bs.ie"; if: "bs.if"; ig: "bs.ig"; ih: "bs.ih"; ii: "bs.ii"; ij: "bs.ij"; ik: "bs.ik"; il: "bs.il"; im: "bs.im"; in: "bs.in"; io: "bs.io"; ip: "bs.ip"; iq: "bs.iq"; ir: "bs.ir"; is: "bs.is"; it: "bs.it"; iu: "bs.iu"; iv: "bs.iv"; iw: "bs.iw"; ix: "bs.ix"; iy: "bs.iy"; iz: "bs.iz"; ja: "bs.ja"; jb: "bs.jb"; jc: "bs.jc"; jd: "bs.jd"; je: "bs.je"; jf: "bs.jf"; jg: "bs.jg"; jh: "bs.jh"; ji: "bs.ji"; jj: "bs.jj"; jk: "bs.jk"; jl: "bs.jl"; jm: "bs.jm"; jn: "bs.jn"; jo: "bs.jo"; jp: "bs.jp"; jq: "bs.jq"; jr: "bs.jr"; js: "bs.js"; jt: "bs.jt"; ju: "bs.ju"; jv: "bs.jv"; jw: "bs.jw"; jx: "bs.jx"; jy: "bs.jy"; jz: "bs.jz"; ka: "bs.ka"; kb: "bs.kb"; kc: "bs.kc"; kd: "bs.kd"; ke: "bs.ke"; kf: "bs.kf"; kg: "bs.kg"; kh: "bs.kh"; ki: "bs.ki"; kj: "bs.kj"; kk: "bs.kk"; kl: "bs.kl"; km: "bs.km"; kn: "bs.kn"; ko: "bs.ko"; kp: "bs.kp"; kq: "bs.kq"; kr: "bs.kr"; ks: "bs.ks"; kt: "bs.kt"; ku: "bs.ku"; kv: "bs.kv"; kw: "bs.kw"; kx: "bs.kx"; ky: "bs.ky"; kz: "bs.kz"; la: "bs.la"; lb: "bs.lb"; lc: "bs.lc"; ld: "bs.ld"; le: "bs.le"; lf: "bs.lf"; lg: "bs.lg"; lh: "bs.lh"; li: "bs.li"; lj: "bs.lj"; lk: "bs.lk"; ll: "bs.ll"; lm: "bs.lm"; ln: "bs.ln"; lo: "bs.lo"; lp: "bs.lp"; lq: "bs.lq"; lr: "bs.lr"; ls: "bs.ls"; lt: "bs.lt"; lu: "bs.lu"; lv: "bs.lv"; lw: "bs.lw"; lx: "bs.lx"; ly: "bs.ly"; lz: "bs.lz"; ma: "bs.ma"; mb: "bs.mb"; mc: "bs.mc"; md: "bs.md"; me: "bs.me"; mf: "bs.mf"; mg: "bs.mg"; mh: "bs.mh"; mi: "bs.mi"; mj: "bs.mj"; mk: "bs.mk"; ml: "bs.ml"; mm: "bs.mm"; mn: "bs.mn"; mo: "bs.mo"; mp: "bs.mp"; mq: "bs.mq"; mr: "bs.mr"; ms: "bs.ms"; mt: "bs.mt"; mu: "bs.mu"; mv: "bs.mv"; mw: "bs.mw"; mx: "bs.mx"; my: "bs.my"; mz: "bs.mz"; na: "bs.na"; nb: "bs.nb"; nc: "bs.nc"; nd: "bs.nd"; ne: "bs.ne"; nf: "bs.nf"; ng: "bs.ng"; nh: "bs.nh"; ni: "bs.ni"; nj: "bs.nj"; nk: "bs.nk"; nl: "bs.nl"; nm: "bs.nm"; nn: "bs.nn"; no: "bs.no"; np: "bs.np"; nq: "bs.nq"; nr: "bs.nr"; ns: "bs.ns"; nt: "bs.nt"; nu: "bs.nu"; nv: "bs.nv"; nw: "bs.nw"; nx: "bs.nx"; ny: "bs.ny"; nz: "bs.nz"; oa: "bs.oa"; ob: "bs.ob"; oc: "bs.oc"; od: "bs.od"; oe: "bs.oe"; of: "bs.of"; og: "bs.og"; oh: "bs.oh"; oi: "bs.oi"; oj: "bs.oj"; ok: "bs.ok"; ol: "bs.ol"; om: "bs.om"; on: "bs.on"; oo: "bs.oo"; op: "bs.op"; oq: "bs.oq"; or: "bs.or"; os: "bs.os"; ot: "bs.ot"; ou: "bs.ou"; ov: "bs.ov"; ow: "bs.ow"; ox: "bs.ox"; oy: "bs.oy"; oz: "bs.oz"; pa: "bs.pa"; pb: "bs.pb"; pc: "bs.pc"; pd: "bs.pd"; pe: "bs.pe"; pf: "bs.pf"; pg: "bs.pg"; ph: "bs.ph"; pi: "bs.pi"; pj: "bs.pj"; pk: "bs.pk"; pl: "bs.pl"; pm: "bs.pm"; pn: "bs.pn"; po: "bs.po"; pp: "bs.pp"; pq: "bs.pq"; pr: "bs.pr"; ps: "bs.ps"; pt: "bs.pt"; pu: "bs.pu"; pv: "bs.pv"; pw: "bs.pw"; px: "bs.px"; py: "bs.py"; pz: "bs.pz"; qa: "bs.qa"; qb: "bs.qb"; qc: "bs.qc"; qd: "bs.qd"; qe: "bs.qe"; qf: "bs.qf"; qg: "bs.qg"; qh: "bs.qh"; qi: "bs.qi"; qj: "bs.qj"; qk: "bs.qk"; ql: "bs.ql"; qm: "bs.qm"; qn: "bs.qn"; qo: "bs.qo"; qp: "bs.qp"; qq: "bs.qq"; qr: "bs.qr"; qs: "bs.qs"; qt: "bs.qt"; qu: "bs.qu"; qv: "bs.qv"; qw: "bs.qw"; qx: "bs.qx"; qy: "bs.qy"; qz: "bs.qz"; ra: "bs.ra"; rb: "bs.rb"; rc: "bs.rc"; rd: "bs.rd"; re: "bs.re"; rf: "bs.rf"; rg: "bs.rg"; rh: "bs.rh"; ri: "bs.ri"; rj: "bs.rj"; rk: "bs.rk"; rl: "bs.rl"; rm: "bs.rm"; rn: "bs.rn"; ro: "bs.ro"; rp: "bs.rp"; rq: "bs.rq"; rr: "bs.rr"; rs: "bs.rs"; rt: "bs.rt"; ru: "bs.ru"; rv: "bs.rv"; rw: "bs.rw"; rx: "bs.rx"; ry: "bs.ry"; rz: "bs.rz"; sa: "bs.sa"; sb: "bs.sb"; sc: "bs.sc"; sd: "bs.sd"; se: "bs.se"; sf: "bs.sf"; sg: "bs.sg"; sh: "bs.sh"; si: "bs.si"; sj: "bs.sj"; sk: "bs.sk"; sl: "bs.sl"; sm: "bs.sm"; sn: "bs.sn"; so: "bs.so"; sp: "bs.sp"; sq: "bs.sq"; sr: "bs.sr"; ss: "bs.ss"; st: "bs.st"; su: "bs.su"; sv: "bs.sv"; sw: "bs.sw"; sx: "bs.sx"; sy: "bs.sy"; sz: "bs.sz"; ta: "bs.ta"; tb: "bs.tb"; tc: "bs.tc"; td: "bs.td"; te: "bs.te"; tf: "bs.tf"; tg: "bs.tg"; th: "bs.th"; ti: "bs.ti"; tj: "bs.tj"; tk: "bs.tk"; tl: "bs.tl"; tm: "bs.tm"; tn: "bs.tn"; to: "bs.to"; tp: "bs.tp"; tq: "bs.tq"; tr: "bs.tr"; ts: "bs.ts"; tt: "bs.tt"; tu: "bs.tu"; tv: "bs.tv"; tw: "bs.tw"; tx: "bs.tx"; ty: "bs.ty"; tz: "bs.tz"; ua: "bs.ua"; ub: "bs.ub"; uc: "bs.uc"; ud: "bs.ud"; ue: "bs.ue"; uf: "bs.uf"; ug: "bs.ug"; uh: "bs.uh"; ui: "bs.ui"; uj: "bs.uj"; uk: "bs.uk"; ul: "bs.ul"; um: "bs.um"; un: "bs.un"; uo: "bs.uo"; up: "bs.up"; uq: "bs.uq"; ur: "bs.ur"; us: "bs.us"; ut: "bs.ut"; uu: "bs.uu"; uv: "bs.uv"; uw: "bs.uw"; ux: "bs.ux"; uy: "bs.uy"; uz: "bs.uz"; va: "bs.va"; vb: "bs.vb"; vc: "bs.vc"; vd: "bs.vd"; ve: "bs.ve"; vf: "bs.vf"; vg: "bs.vg"; vh: "bs.vh"; vi: "bs.vi"; vj: "bs.vj"; vk: "bs.vk"; vl: "bs.vl"; vm: "bs.vm"; vn: "bs.vn"; vo: "bs.vo"; vp: "bs.vp"; vq: "bs.vq"; vr: "bs.vr"; vs: "bs.vs"; vt: "bs.vt"; vu: "bs.vu"; vv: "bs.vv"; vw: "bs.vw"; vx: "bs.vx"; vy: "bs.vy"; vz: "bs.vz"; wa: "bs.wa"; wb: "bs.wb"; wc: "bs.wc"; wd: "bs.wd"; we: "bs.we"; wf: "bs.wf"; wg: "bs.wg"; wh: "bs.wh"; wi: "bs.wi"; wj: "bs.wj"; wk: "bs.wk"; wl: "bs.wl"; wm: "bs.wm"; wn: "bs.wn"; wo: "bs.wo"; wp: "bs.wp"; wq: "bs.wq"; wr: "bs.wr"; ws: "bs.ws"; wt: "bs.wt"; wu: "bs.wu"; wv: "bs.wv"; ww: "bs.ww"; wx: "bs.wx"; wy: "bs.wy"; wz: "bs.wz"; xa: "bs.xa"; xb: "bs.xb"; xc: "bs.xc"; xd: "bs.xd"; xe: "bs.xe"; xf: "bs.xf"; xg: "bs.xg"; xh: "bs.xh"; xi: "bs.xi"; xj: "bs.xj"; xk: "bs.xk"; xl: "bs.xl"; xm: "bs.xm"; xn: "bs.xn"; xo: "bs.xo"; xp: "bs.xp"; xq: "bs.xq"; xr: "bs.xr"; xs: "bs.xs"; xt: "bs.xt"; xu: "bs.xu"; xv: "bs.xv"; xw: "bs.xw"; xx: "bs.xx"; xy: "bs.xy"; xz: "bs.xz"; ya: "bs.ya"; yb: "bs.yb"; yc: "bs.yc"; yd: "bs.yd"; ye: "bs.ye"; yf: "bs.yf"; yg: "bs.yg"; yh: "bs.yh"; yi: "bs.yi"; yj: "bs.yj"; yk: "bs.yk"; yl: "bs.yl"; ym: "bs.ym"; yn: "bs.yn"; yo: "bs.yo"; yp: "bs.yp"; yq: "bs.yq"; yr: "bs.yr"; ys: "bs.ys"; yt: "bs.yt"; yu: "bs.yu"; yv: "bs.yv"; yw: "bs.yw"; yx: "bs.yx"; yy: "bs.yy"; yz: "bs.yz"; za: "bs.za"; zb: "bs.zb"; zc: "bs.zc"; zd: "bs.zd"; ze: "bs.ze"; zf: "bs.zf"; zg: "bs.zg"; zh: "bs.zh"; zi: "bs.zi"; zj: "bs.zj"; zk: "bs.zk"; zl: "bs.zl"; zm: "bs.zm"; zn: "bs.zn"; zo: "bs.zo"; zp: "bs.zp"; zq: "bs.zq"; zr: "bs.zr"; zs: "bs.zs"; zt: "bs.zt"; zu: "bs.zu"; zv: "bs.zv"; zw: "bs.zw"; zx: "bs.zx"; zy: "bs.zy"; zz: "bs.zz"; }; bt: { aa: "bt.aa"; ab: "bt.ab"; ac: "bt.ac"; ad: "bt.ad"; ae: "bt.ae"; af: "bt.af"; ag: "bt.ag"; ah: "bt.ah"; ai: "bt.ai"; aj: "bt.aj"; ak: "bt.ak"; al: "bt.al"; am: "bt.am"; an: "bt.an"; ao: "bt.ao"; ap: "bt.ap"; aq: "bt.aq"; ar: "bt.ar"; as: "bt.as"; at: "bt.at"; au: "bt.au"; av: "bt.av"; aw: "bt.aw"; ax: "bt.ax"; ay: "bt.ay"; az: "bt.az"; ba: "bt.ba"; bb: "bt.bb"; bc: "bt.bc"; bd: "bt.bd"; be: "bt.be"; bf: "bt.bf"; bg: "bt.bg"; bh: "bt.bh"; bi: "bt.bi"; bj: "bt.bj"; bk: "bt.bk"; bl: "bt.bl"; bm: "bt.bm"; bn: "bt.bn"; bo: "bt.bo"; bp: "bt.bp"; bq: "bt.bq"; br: "bt.br"; bs: "bt.bs"; bt: "bt.bt"; bu: "bt.bu"; bv: "bt.bv"; bw: "bt.bw"; bx: "bt.bx"; by: "bt.by"; bz: "bt.bz"; ca: "bt.ca"; cb: "bt.cb"; cc: "bt.cc"; cd: "bt.cd"; ce: "bt.ce"; cf: "bt.cf"; cg: "bt.cg"; ch: "bt.ch"; ci: "bt.ci"; cj: "bt.cj"; ck: "bt.ck"; cl: "bt.cl"; cm: "bt.cm"; cn: "bt.cn"; co: "bt.co"; cp: "bt.cp"; cq: "bt.cq"; cr: "bt.cr"; cs: "bt.cs"; ct: "bt.ct"; cu: "bt.cu"; cv: "bt.cv"; cw: "bt.cw"; cx: "bt.cx"; cy: "bt.cy"; cz: "bt.cz"; da: "bt.da"; db: "bt.db"; dc: "bt.dc"; dd: "bt.dd"; de: "bt.de"; df: "bt.df"; dg: "bt.dg"; dh: "bt.dh"; di: "bt.di"; dj: "bt.dj"; dk: "bt.dk"; dl: "bt.dl"; dm: "bt.dm"; dn: "bt.dn"; do: "bt.do"; dp: "bt.dp"; dq: "bt.dq"; dr: "bt.dr"; ds: "bt.ds"; dt: "bt.dt"; du: "bt.du"; dv: "bt.dv"; dw: "bt.dw"; dx: "bt.dx"; dy: "bt.dy"; dz: "bt.dz"; ea: "bt.ea"; eb: "bt.eb"; ec: "bt.ec"; ed: "bt.ed"; ee: "bt.ee"; ef: "bt.ef"; eg: "bt.eg"; eh: "bt.eh"; ei: "bt.ei"; ej: "bt.ej"; ek: "bt.ek"; el: "bt.el"; em: "bt.em"; en: "bt.en"; eo: "bt.eo"; ep: "bt.ep"; eq: "bt.eq"; er: "bt.er"; es: "bt.es"; et: "bt.et"; eu: "bt.eu"; ev: "bt.ev"; ew: "bt.ew"; ex: "bt.ex"; ey: "bt.ey"; ez: "bt.ez"; fa: "bt.fa"; fb: "bt.fb"; fc: "bt.fc"; fd: "bt.fd"; fe: "bt.fe"; ff: "bt.ff"; fg: "bt.fg"; fh: "bt.fh"; fi: "bt.fi"; fj: "bt.fj"; fk: "bt.fk"; fl: "bt.fl"; fm: "bt.fm"; fn: "bt.fn"; fo: "bt.fo"; fp: "bt.fp"; fq: "bt.fq"; fr: "bt.fr"; fs: "bt.fs"; ft: "bt.ft"; fu: "bt.fu"; fv: "bt.fv"; fw: "bt.fw"; fx: "bt.fx"; fy: "bt.fy"; fz: "bt.fz"; ga: "bt.ga"; gb: "bt.gb"; gc: "bt.gc"; gd: "bt.gd"; ge: "bt.ge"; gf: "bt.gf"; gg: "bt.gg"; gh: "bt.gh"; gi: "bt.gi"; gj: "bt.gj"; gk: "bt.gk"; gl: "bt.gl"; gm: "bt.gm"; gn: "bt.gn"; go: "bt.go"; gp: "bt.gp"; gq: "bt.gq"; gr: "bt.gr"; gs: "bt.gs"; gt: "bt.gt"; gu: "bt.gu"; gv: "bt.gv"; gw: "bt.gw"; gx: "bt.gx"; gy: "bt.gy"; gz: "bt.gz"; ha: "bt.ha"; hb: "bt.hb"; hc: "bt.hc"; hd: "bt.hd"; he: "bt.he"; hf: "bt.hf"; hg: "bt.hg"; hh: "bt.hh"; hi: "bt.hi"; hj: "bt.hj"; hk: "bt.hk"; hl: "bt.hl"; hm: "bt.hm"; hn: "bt.hn"; ho: "bt.ho"; hp: "bt.hp"; hq: "bt.hq"; hr: "bt.hr"; hs: "bt.hs"; ht: "bt.ht"; hu: "bt.hu"; hv: "bt.hv"; hw: "bt.hw"; hx: "bt.hx"; hy: "bt.hy"; hz: "bt.hz"; ia: "bt.ia"; ib: "bt.ib"; ic: "bt.ic"; id: "bt.id"; ie: "bt.ie"; if: "bt.if"; ig: "bt.ig"; ih: "bt.ih"; ii: "bt.ii"; ij: "bt.ij"; ik: "bt.ik"; il: "bt.il"; im: "bt.im"; in: "bt.in"; io: "bt.io"; ip: "bt.ip"; iq: "bt.iq"; ir: "bt.ir"; is: "bt.is"; it: "bt.it"; iu: "bt.iu"; iv: "bt.iv"; iw: "bt.iw"; ix: "bt.ix"; iy: "bt.iy"; iz: "bt.iz"; ja: "bt.ja"; jb: "bt.jb"; jc: "bt.jc"; jd: "bt.jd"; je: "bt.je"; jf: "bt.jf"; jg: "bt.jg"; jh: "bt.jh"; ji: "bt.ji"; jj: "bt.jj"; jk: "bt.jk"; jl: "bt.jl"; jm: "bt.jm"; jn: "bt.jn"; jo: "bt.jo"; jp: "bt.jp"; jq: "bt.jq"; jr: "bt.jr"; js: "bt.js"; jt: "bt.jt"; ju: "bt.ju"; jv: "bt.jv"; jw: "bt.jw"; jx: "bt.jx"; jy: "bt.jy"; jz: "bt.jz"; ka: "bt.ka"; kb: "bt.kb"; kc: "bt.kc"; kd: "bt.kd"; ke: "bt.ke"; kf: "bt.kf"; kg: "bt.kg"; kh: "bt.kh"; ki: "bt.ki"; kj: "bt.kj"; kk: "bt.kk"; kl: "bt.kl"; km: "bt.km"; kn: "bt.kn"; ko: "bt.ko"; kp: "bt.kp"; kq: "bt.kq"; kr: "bt.kr"; ks: "bt.ks"; kt: "bt.kt"; ku: "bt.ku"; kv: "bt.kv"; kw: "bt.kw"; kx: "bt.kx"; ky: "bt.ky"; kz: "bt.kz"; la: "bt.la"; lb: "bt.lb"; lc: "bt.lc"; ld: "bt.ld"; le: "bt.le"; lf: "bt.lf"; lg: "bt.lg"; lh: "bt.lh"; li: "bt.li"; lj: "bt.lj"; lk: "bt.lk"; ll: "bt.ll"; lm: "bt.lm"; ln: "bt.ln"; lo: "bt.lo"; lp: "bt.lp"; lq: "bt.lq"; lr: "bt.lr"; ls: "bt.ls"; lt: "bt.lt"; lu: "bt.lu"; lv: "bt.lv"; lw: "bt.lw"; lx: "bt.lx"; ly: "bt.ly"; lz: "bt.lz"; ma: "bt.ma"; mb: "bt.mb"; mc: "bt.mc"; md: "bt.md"; me: "bt.me"; mf: "bt.mf"; mg: "bt.mg"; mh: "bt.mh"; mi: "bt.mi"; mj: "bt.mj"; mk: "bt.mk"; ml: "bt.ml"; mm: "bt.mm"; mn: "bt.mn"; mo: "bt.mo"; mp: "bt.mp"; mq: "bt.mq"; mr: "bt.mr"; ms: "bt.ms"; mt: "bt.mt"; mu: "bt.mu"; mv: "bt.mv"; mw: "bt.mw"; mx: "bt.mx"; my: "bt.my"; mz: "bt.mz"; na: "bt.na"; nb: "bt.nb"; nc: "bt.nc"; nd: "bt.nd"; ne: "bt.ne"; nf: "bt.nf"; ng: "bt.ng"; nh: "bt.nh"; ni: "bt.ni"; nj: "bt.nj"; nk: "bt.nk"; nl: "bt.nl"; nm: "bt.nm"; nn: "bt.nn"; no: "bt.no"; np: "bt.np"; nq: "bt.nq"; nr: "bt.nr"; ns: "bt.ns"; nt: "bt.nt"; nu: "bt.nu"; nv: "bt.nv"; nw: "bt.nw"; nx: "bt.nx"; ny: "bt.ny"; nz: "bt.nz"; oa: "bt.oa"; ob: "bt.ob"; oc: "bt.oc"; od: "bt.od"; oe: "bt.oe"; of: "bt.of"; og: "bt.og"; oh: "bt.oh"; oi: "bt.oi"; oj: "bt.oj"; ok: "bt.ok"; ol: "bt.ol"; om: "bt.om"; on: "bt.on"; oo: "bt.oo"; op: "bt.op"; oq: "bt.oq"; or: "bt.or"; os: "bt.os"; ot: "bt.ot"; ou: "bt.ou"; ov: "bt.ov"; ow: "bt.ow"; ox: "bt.ox"; oy: "bt.oy"; oz: "bt.oz"; pa: "bt.pa"; pb: "bt.pb"; pc: "bt.pc"; pd: "bt.pd"; pe: "bt.pe"; pf: "bt.pf"; pg: "bt.pg"; ph: "bt.ph"; pi: "bt.pi"; pj: "bt.pj"; pk: "bt.pk"; pl: "bt.pl"; pm: "bt.pm"; pn: "bt.pn"; po: "bt.po"; pp: "bt.pp"; pq: "bt.pq"; pr: "bt.pr"; ps: "bt.ps"; pt: "bt.pt"; pu: "bt.pu"; pv: "bt.pv"; pw: "bt.pw"; px: "bt.px"; py: "bt.py"; pz: "bt.pz"; qa: "bt.qa"; qb: "bt.qb"; qc: "bt.qc"; qd: "bt.qd"; qe: "bt.qe"; qf: "bt.qf"; qg: "bt.qg"; qh: "bt.qh"; qi: "bt.qi"; qj: "bt.qj"; qk: "bt.qk"; ql: "bt.ql"; qm: "bt.qm"; qn: "bt.qn"; qo: "bt.qo"; qp: "bt.qp"; qq: "bt.qq"; qr: "bt.qr"; qs: "bt.qs"; qt: "bt.qt"; qu: "bt.qu"; qv: "bt.qv"; qw: "bt.qw"; qx: "bt.qx"; qy: "bt.qy"; qz: "bt.qz"; ra: "bt.ra"; rb: "bt.rb"; rc: "bt.rc"; rd: "bt.rd"; re: "bt.re"; rf: "bt.rf"; rg: "bt.rg"; rh: "bt.rh"; ri: "bt.ri"; rj: "bt.rj"; rk: "bt.rk"; rl: "bt.rl"; rm: "bt.rm"; rn: "bt.rn"; ro: "bt.ro"; rp: "bt.rp"; rq: "bt.rq"; rr: "bt.rr"; rs: "bt.rs"; rt: "bt.rt"; ru: "bt.ru"; rv: "bt.rv"; rw: "bt.rw"; rx: "bt.rx"; ry: "bt.ry"; rz: "bt.rz"; sa: "bt.sa"; sb: "bt.sb"; sc: "bt.sc"; sd: "bt.sd"; se: "bt.se"; sf: "bt.sf"; sg: "bt.sg"; sh: "bt.sh"; si: "bt.si"; sj: "bt.sj"; sk: "bt.sk"; sl: "bt.sl"; sm: "bt.sm"; sn: "bt.sn"; so: "bt.so"; sp: "bt.sp"; sq: "bt.sq"; sr: "bt.sr"; ss: "bt.ss"; st: "bt.st"; su: "bt.su"; sv: "bt.sv"; sw: "bt.sw"; sx: "bt.sx"; sy: "bt.sy"; sz: "bt.sz"; ta: "bt.ta"; tb: "bt.tb"; tc: "bt.tc"; td: "bt.td"; te: "bt.te"; tf: "bt.tf"; tg: "bt.tg"; th: "bt.th"; ti: "bt.ti"; tj: "bt.tj"; tk: "bt.tk"; tl: "bt.tl"; tm: "bt.tm"; tn: "bt.tn"; to: "bt.to"; tp: "bt.tp"; tq: "bt.tq"; tr: "bt.tr"; ts: "bt.ts"; tt: "bt.tt"; tu: "bt.tu"; tv: "bt.tv"; tw: "bt.tw"; tx: "bt.tx"; ty: "bt.ty"; tz: "bt.tz"; ua: "bt.ua"; ub: "bt.ub"; uc: "bt.uc"; ud: "bt.ud"; ue: "bt.ue"; uf: "bt.uf"; ug: "bt.ug"; uh: "bt.uh"; ui: "bt.ui"; uj: "bt.uj"; uk: "bt.uk"; ul: "bt.ul"; um: "bt.um"; un: "bt.un"; uo: "bt.uo"; up: "bt.up"; uq: "bt.uq"; ur: "bt.ur"; us: "bt.us"; ut: "bt.ut"; uu: "bt.uu"; uv: "bt.uv"; uw: "bt.uw"; ux: "bt.ux"; uy: "bt.uy"; uz: "bt.uz"; va: "bt.va"; vb: "bt.vb"; vc: "bt.vc"; vd: "bt.vd"; ve: "bt.ve"; vf: "bt.vf"; vg: "bt.vg"; vh: "bt.vh"; vi: "bt.vi"; vj: "bt.vj"; vk: "bt.vk"; vl: "bt.vl"; vm: "bt.vm"; vn: "bt.vn"; vo: "bt.vo"; vp: "bt.vp"; vq: "bt.vq"; vr: "bt.vr"; vs: "bt.vs"; vt: "bt.vt"; vu: "bt.vu"; vv: "bt.vv"; vw: "bt.vw"; vx: "bt.vx"; vy: "bt.vy"; vz: "bt.vz"; wa: "bt.wa"; wb: "bt.wb"; wc: "bt.wc"; wd: "bt.wd"; we: "bt.we"; wf: "bt.wf"; wg: "bt.wg"; wh: "bt.wh"; wi: "bt.wi"; wj: "bt.wj"; wk: "bt.wk"; wl: "bt.wl"; wm: "bt.wm"; wn: "bt.wn"; wo: "bt.wo"; wp: "bt.wp"; wq: "bt.wq"; wr: "bt.wr"; ws: "bt.ws"; wt: "bt.wt"; wu: "bt.wu"; wv: "bt.wv"; ww: "bt.ww"; wx: "bt.wx"; wy: "bt.wy"; wz: "bt.wz"; xa: "bt.xa"; xb: "bt.xb"; xc: "bt.xc"; xd: "bt.xd"; xe: "bt.xe"; xf: "bt.xf"; xg: "bt.xg"; xh: "bt.xh"; xi: "bt.xi"; xj: "bt.xj"; xk: "bt.xk"; xl: "bt.xl"; xm: "bt.xm"; xn: "bt.xn"; xo: "bt.xo"; xp: "bt.xp"; xq: "bt.xq"; xr: "bt.xr"; xs: "bt.xs"; xt: "bt.xt"; xu: "bt.xu"; xv: "bt.xv"; xw: "bt.xw"; xx: "bt.xx"; xy: "bt.xy"; xz: "bt.xz"; ya: "bt.ya"; yb: "bt.yb"; yc: "bt.yc"; yd: "bt.yd"; ye: "bt.ye"; yf: "bt.yf"; yg: "bt.yg"; yh: "bt.yh"; yi: "bt.yi"; yj: "bt.yj"; yk: "bt.yk"; yl: "bt.yl"; ym: "bt.ym"; yn: "bt.yn"; yo: "bt.yo"; yp: "bt.yp"; yq: "bt.yq"; yr: "bt.yr"; ys: "bt.ys"; yt: "bt.yt"; yu: "bt.yu"; yv: "bt.yv"; yw: "bt.yw"; yx: "bt.yx"; yy: "bt.yy"; yz: "bt.yz"; za: "bt.za"; zb: "bt.zb"; zc: "bt.zc"; zd: "bt.zd"; ze: "bt.ze"; zf: "bt.zf"; zg: "bt.zg"; zh: "bt.zh"; zi: "bt.zi"; zj: "bt.zj"; zk: "bt.zk"; zl: "bt.zl"; zm: "bt.zm"; zn: "bt.zn"; zo: "bt.zo"; zp: "bt.zp"; zq: "bt.zq"; zr: "bt.zr"; zs: "bt.zs"; zt: "bt.zt"; zu: "bt.zu"; zv: "bt.zv"; zw: "bt.zw"; zx: "bt.zx"; zy: "bt.zy"; zz: "bt.zz"; }; bu: { aa: "bu.aa"; ab: "bu.ab"; ac: "bu.ac"; ad: "bu.ad"; ae: "bu.ae"; af: "bu.af"; ag: "bu.ag"; ah: "bu.ah"; ai: "bu.ai"; aj: "bu.aj"; ak: "bu.ak"; al: "bu.al"; am: "bu.am"; an: "bu.an"; ao: "bu.ao"; ap: "bu.ap"; aq: "bu.aq"; ar: "bu.ar"; as: "bu.as"; at: "bu.at"; au: "bu.au"; av: "bu.av"; aw: "bu.aw"; ax: "bu.ax"; ay: "bu.ay"; az: "bu.az"; ba: "bu.ba"; bb: "bu.bb"; bc: "bu.bc"; bd: "bu.bd"; be: "bu.be"; bf: "bu.bf"; bg: "bu.bg"; bh: "bu.bh"; bi: "bu.bi"; bj: "bu.bj"; bk: "bu.bk"; bl: "bu.bl"; bm: "bu.bm"; bn: "bu.bn"; bo: "bu.bo"; bp: "bu.bp"; bq: "bu.bq"; br: "bu.br"; bs: "bu.bs"; bt: "bu.bt"; bu: "bu.bu"; bv: "bu.bv"; bw: "bu.bw"; bx: "bu.bx"; by: "bu.by"; bz: "bu.bz"; ca: "bu.ca"; cb: "bu.cb"; cc: "bu.cc"; cd: "bu.cd"; ce: "bu.ce"; cf: "bu.cf"; cg: "bu.cg"; ch: "bu.ch"; ci: "bu.ci"; cj: "bu.cj"; ck: "bu.ck"; cl: "bu.cl"; cm: "bu.cm"; cn: "bu.cn"; co: "bu.co"; cp: "bu.cp"; cq: "bu.cq"; cr: "bu.cr"; cs: "bu.cs"; ct: "bu.ct"; cu: "bu.cu"; cv: "bu.cv"; cw: "bu.cw"; cx: "bu.cx"; cy: "bu.cy"; cz: "bu.cz"; da: "bu.da"; db: "bu.db"; dc: "bu.dc"; dd: "bu.dd"; de: "bu.de"; df: "bu.df"; dg: "bu.dg"; dh: "bu.dh"; di: "bu.di"; dj: "bu.dj"; dk: "bu.dk"; dl: "bu.dl"; dm: "bu.dm"; dn: "bu.dn"; do: "bu.do"; dp: "bu.dp"; dq: "bu.dq"; dr: "bu.dr"; ds: "bu.ds"; dt: "bu.dt"; du: "bu.du"; dv: "bu.dv"; dw: "bu.dw"; dx: "bu.dx"; dy: "bu.dy"; dz: "bu.dz"; ea: "bu.ea"; eb: "bu.eb"; ec: "bu.ec"; ed: "bu.ed"; ee: "bu.ee"; ef: "bu.ef"; eg: "bu.eg"; eh: "bu.eh"; ei: "bu.ei"; ej: "bu.ej"; ek: "bu.ek"; el: "bu.el"; em: "bu.em"; en: "bu.en"; eo: "bu.eo"; ep: "bu.ep"; eq: "bu.eq"; er: "bu.er"; es: "bu.es"; et: "bu.et"; eu: "bu.eu"; ev: "bu.ev"; ew: "bu.ew"; ex: "bu.ex"; ey: "bu.ey"; ez: "bu.ez"; fa: "bu.fa"; fb: "bu.fb"; fc: "bu.fc"; fd: "bu.fd"; fe: "bu.fe"; ff: "bu.ff"; fg: "bu.fg"; fh: "bu.fh"; fi: "bu.fi"; fj: "bu.fj"; fk: "bu.fk"; fl: "bu.fl"; fm: "bu.fm"; fn: "bu.fn"; fo: "bu.fo"; fp: "bu.fp"; fq: "bu.fq"; fr: "bu.fr"; fs: "bu.fs"; ft: "bu.ft"; fu: "bu.fu"; fv: "bu.fv"; fw: "bu.fw"; fx: "bu.fx"; fy: "bu.fy"; fz: "bu.fz"; ga: "bu.ga"; gb: "bu.gb"; gc: "bu.gc"; gd: "bu.gd"; ge: "bu.ge"; gf: "bu.gf"; gg: "bu.gg"; gh: "bu.gh"; gi: "bu.gi"; gj: "bu.gj"; gk: "bu.gk"; gl: "bu.gl"; gm: "bu.gm"; gn: "bu.gn"; go: "bu.go"; gp: "bu.gp"; gq: "bu.gq"; gr: "bu.gr"; gs: "bu.gs"; gt: "bu.gt"; gu: "bu.gu"; gv: "bu.gv"; gw: "bu.gw"; gx: "bu.gx"; gy: "bu.gy"; gz: "bu.gz"; ha: "bu.ha"; hb: "bu.hb"; hc: "bu.hc"; hd: "bu.hd"; he: "bu.he"; hf: "bu.hf"; hg: "bu.hg"; hh: "bu.hh"; hi: "bu.hi"; hj: "bu.hj"; hk: "bu.hk"; hl: "bu.hl"; hm: "bu.hm"; hn: "bu.hn"; ho: "bu.ho"; hp: "bu.hp"; hq: "bu.hq"; hr: "bu.hr"; hs: "bu.hs"; ht: "bu.ht"; hu: "bu.hu"; hv: "bu.hv"; hw: "bu.hw"; hx: "bu.hx"; hy: "bu.hy"; hz: "bu.hz"; ia: "bu.ia"; ib: "bu.ib"; ic: "bu.ic"; id: "bu.id"; ie: "bu.ie"; if: "bu.if"; ig: "bu.ig"; ih: "bu.ih"; ii: "bu.ii"; ij: "bu.ij"; ik: "bu.ik"; il: "bu.il"; im: "bu.im"; in: "bu.in"; io: "bu.io"; ip: "bu.ip"; iq: "bu.iq"; ir: "bu.ir"; is: "bu.is"; it: "bu.it"; iu: "bu.iu"; iv: "bu.iv"; iw: "bu.iw"; ix: "bu.ix"; iy: "bu.iy"; iz: "bu.iz"; ja: "bu.ja"; jb: "bu.jb"; jc: "bu.jc"; jd: "bu.jd"; je: "bu.je"; jf: "bu.jf"; jg: "bu.jg"; jh: "bu.jh"; ji: "bu.ji"; jj: "bu.jj"; jk: "bu.jk"; jl: "bu.jl"; jm: "bu.jm"; jn: "bu.jn"; jo: "bu.jo"; jp: "bu.jp"; jq: "bu.jq"; jr: "bu.jr"; js: "bu.js"; jt: "bu.jt"; ju: "bu.ju"; jv: "bu.jv"; jw: "bu.jw"; jx: "bu.jx"; jy: "bu.jy"; jz: "bu.jz"; ka: "bu.ka"; kb: "bu.kb"; kc: "bu.kc"; kd: "bu.kd"; ke: "bu.ke"; kf: "bu.kf"; kg: "bu.kg"; kh: "bu.kh"; ki: "bu.ki"; kj: "bu.kj"; kk: "bu.kk"; kl: "bu.kl"; km: "bu.km"; kn: "bu.kn"; ko: "bu.ko"; kp: "bu.kp"; kq: "bu.kq"; kr: "bu.kr"; ks: "bu.ks"; kt: "bu.kt"; ku: "bu.ku"; kv: "bu.kv"; kw: "bu.kw"; kx: "bu.kx"; ky: "bu.ky"; kz: "bu.kz"; la: "bu.la"; lb: "bu.lb"; lc: "bu.lc"; ld: "bu.ld"; le: "bu.le"; lf: "bu.lf"; lg: "bu.lg"; lh: "bu.lh"; li: "bu.li"; lj: "bu.lj"; lk: "bu.lk"; ll: "bu.ll"; lm: "bu.lm"; ln: "bu.ln"; lo: "bu.lo"; lp: "bu.lp"; lq: "bu.lq"; lr: "bu.lr"; ls: "bu.ls"; lt: "bu.lt"; lu: "bu.lu"; lv: "bu.lv"; lw: "bu.lw"; lx: "bu.lx"; ly: "bu.ly"; lz: "bu.lz"; ma: "bu.ma"; mb: "bu.mb"; mc: "bu.mc"; md: "bu.md"; me: "bu.me"; mf: "bu.mf"; mg: "bu.mg"; mh: "bu.mh"; mi: "bu.mi"; mj: "bu.mj"; mk: "bu.mk"; ml: "bu.ml"; mm: "bu.mm"; mn: "bu.mn"; mo: "bu.mo"; mp: "bu.mp"; mq: "bu.mq"; mr: "bu.mr"; ms: "bu.ms"; mt: "bu.mt"; mu: "bu.mu"; mv: "bu.mv"; mw: "bu.mw"; mx: "bu.mx"; my: "bu.my"; mz: "bu.mz"; na: "bu.na"; nb: "bu.nb"; nc: "bu.nc"; nd: "bu.nd"; ne: "bu.ne"; nf: "bu.nf"; ng: "bu.ng"; nh: "bu.nh"; ni: "bu.ni"; nj: "bu.nj"; nk: "bu.nk"; nl: "bu.nl"; nm: "bu.nm"; nn: "bu.nn"; no: "bu.no"; np: "bu.np"; nq: "bu.nq"; nr: "bu.nr"; ns: "bu.ns"; nt: "bu.nt"; nu: "bu.nu"; nv: "bu.nv"; nw: "bu.nw"; nx: "bu.nx"; ny: "bu.ny"; nz: "bu.nz"; oa: "bu.oa"; ob: "bu.ob"; oc: "bu.oc"; od: "bu.od"; oe: "bu.oe"; of: "bu.of"; og: "bu.og"; oh: "bu.oh"; oi: "bu.oi"; oj: "bu.oj"; ok: "bu.ok"; ol: "bu.ol"; om: "bu.om"; on: "bu.on"; oo: "bu.oo"; op: "bu.op"; oq: "bu.oq"; or: "bu.or"; os: "bu.os"; ot: "bu.ot"; ou: "bu.ou"; ov: "bu.ov"; ow: "bu.ow"; ox: "bu.ox"; oy: "bu.oy"; oz: "bu.oz"; pa: "bu.pa"; pb: "bu.pb"; pc: "bu.pc"; pd: "bu.pd"; pe: "bu.pe"; pf: "bu.pf"; pg: "bu.pg"; ph: "bu.ph"; pi: "bu.pi"; pj: "bu.pj"; pk: "bu.pk"; pl: "bu.pl"; pm: "bu.pm"; pn: "bu.pn"; po: "bu.po"; pp: "bu.pp"; pq: "bu.pq"; pr: "bu.pr"; ps: "bu.ps"; pt: "bu.pt"; pu: "bu.pu"; pv: "bu.pv"; pw: "bu.pw"; px: "bu.px"; py: "bu.py"; pz: "bu.pz"; qa: "bu.qa"; qb: "bu.qb"; qc: "bu.qc"; qd: "bu.qd"; qe: "bu.qe"; qf: "bu.qf"; qg: "bu.qg"; qh: "bu.qh"; qi: "bu.qi"; qj: "bu.qj"; qk: "bu.qk"; ql: "bu.ql"; qm: "bu.qm"; qn: "bu.qn"; qo: "bu.qo"; qp: "bu.qp"; qq: "bu.qq"; qr: "bu.qr"; qs: "bu.qs"; qt: "bu.qt"; qu: "bu.qu"; qv: "bu.qv"; qw: "bu.qw"; qx: "bu.qx"; qy: "bu.qy"; qz: "bu.qz"; ra: "bu.ra"; rb: "bu.rb"; rc: "bu.rc"; rd: "bu.rd"; re: "bu.re"; rf: "bu.rf"; rg: "bu.rg"; rh: "bu.rh"; ri: "bu.ri"; rj: "bu.rj"; rk: "bu.rk"; rl: "bu.rl"; rm: "bu.rm"; rn: "bu.rn"; ro: "bu.ro"; rp: "bu.rp"; rq: "bu.rq"; rr: "bu.rr"; rs: "bu.rs"; rt: "bu.rt"; ru: "bu.ru"; rv: "bu.rv"; rw: "bu.rw"; rx: "bu.rx"; ry: "bu.ry"; rz: "bu.rz"; sa: "bu.sa"; sb: "bu.sb"; sc: "bu.sc"; sd: "bu.sd"; se: "bu.se"; sf: "bu.sf"; sg: "bu.sg"; sh: "bu.sh"; si: "bu.si"; sj: "bu.sj"; sk: "bu.sk"; sl: "bu.sl"; sm: "bu.sm"; sn: "bu.sn"; so: "bu.so"; sp: "bu.sp"; sq: "bu.sq"; sr: "bu.sr"; ss: "bu.ss"; st: "bu.st"; su: "bu.su"; sv: "bu.sv"; sw: "bu.sw"; sx: "bu.sx"; sy: "bu.sy"; sz: "bu.sz"; ta: "bu.ta"; tb: "bu.tb"; tc: "bu.tc"; td: "bu.td"; te: "bu.te"; tf: "bu.tf"; tg: "bu.tg"; th: "bu.th"; ti: "bu.ti"; tj: "bu.tj"; tk: "bu.tk"; tl: "bu.tl"; tm: "bu.tm"; tn: "bu.tn"; to: "bu.to"; tp: "bu.tp"; tq: "bu.tq"; tr: "bu.tr"; ts: "bu.ts"; tt: "bu.tt"; tu: "bu.tu"; tv: "bu.tv"; tw: "bu.tw"; tx: "bu.tx"; ty: "bu.ty"; tz: "bu.tz"; ua: "bu.ua"; ub: "bu.ub"; uc: "bu.uc"; ud: "bu.ud"; ue: "bu.ue"; uf: "bu.uf"; ug: "bu.ug"; uh: "bu.uh"; ui: "bu.ui"; uj: "bu.uj"; uk: "bu.uk"; ul: "bu.ul"; um: "bu.um"; un: "bu.un"; uo: "bu.uo"; up: "bu.up"; uq: "bu.uq"; ur: "bu.ur"; us: "bu.us"; ut: "bu.ut"; uu: "bu.uu"; uv: "bu.uv"; uw: "bu.uw"; ux: "bu.ux"; uy: "bu.uy"; uz: "bu.uz"; va: "bu.va"; vb: "bu.vb"; vc: "bu.vc"; vd: "bu.vd"; ve: "bu.ve"; vf: "bu.vf"; vg: "bu.vg"; vh: "bu.vh"; vi: "bu.vi"; vj: "bu.vj"; vk: "bu.vk"; vl: "bu.vl"; vm: "bu.vm"; vn: "bu.vn"; vo: "bu.vo"; vp: "bu.vp"; vq: "bu.vq"; vr: "bu.vr"; vs: "bu.vs"; vt: "bu.vt"; vu: "bu.vu"; vv: "bu.vv"; vw: "bu.vw"; vx: "bu.vx"; vy: "bu.vy"; vz: "bu.vz"; wa: "bu.wa"; wb: "bu.wb"; wc: "bu.wc"; wd: "bu.wd"; we: "bu.we"; wf: "bu.wf"; wg: "bu.wg"; wh: "bu.wh"; wi: "bu.wi"; wj: "bu.wj"; wk: "bu.wk"; wl: "bu.wl"; wm: "bu.wm"; wn: "bu.wn"; wo: "bu.wo"; wp: "bu.wp"; wq: "bu.wq"; wr: "bu.wr"; ws: "bu.ws"; wt: "bu.wt"; wu: "bu.wu"; wv: "bu.wv"; ww: "bu.ww"; wx: "bu.wx"; wy: "bu.wy"; wz: "bu.wz"; xa: "bu.xa"; xb: "bu.xb"; xc: "bu.xc"; xd: "bu.xd"; xe: "bu.xe"; xf: "bu.xf"; xg: "bu.xg"; xh: "bu.xh"; xi: "bu.xi"; xj: "bu.xj"; xk: "bu.xk"; xl: "bu.xl"; xm: "bu.xm"; xn: "bu.xn"; xo: "bu.xo"; xp: "bu.xp"; xq: "bu.xq"; xr: "bu.xr"; xs: "bu.xs"; xt: "bu.xt"; xu: "bu.xu"; xv: "bu.xv"; xw: "bu.xw"; xx: "bu.xx"; xy: "bu.xy"; xz: "bu.xz"; ya: "bu.ya"; yb: "bu.yb"; yc: "bu.yc"; yd: "bu.yd"; ye: "bu.ye"; yf: "bu.yf"; yg: "bu.yg"; yh: "bu.yh"; yi: "bu.yi"; yj: "bu.yj"; yk: "bu.yk"; yl: "bu.yl"; ym: "bu.ym"; yn: "bu.yn"; yo: "bu.yo"; yp: "bu.yp"; yq: "bu.yq"; yr: "bu.yr"; ys: "bu.ys"; yt: "bu.yt"; yu: "bu.yu"; yv: "bu.yv"; yw: "bu.yw"; yx: "bu.yx"; yy: "bu.yy"; yz: "bu.yz"; za: "bu.za"; zb: "bu.zb"; zc: "bu.zc"; zd: "bu.zd"; ze: "bu.ze"; zf: "bu.zf"; zg: "bu.zg"; zh: "bu.zh"; zi: "bu.zi"; zj: "bu.zj"; zk: "bu.zk"; zl: "bu.zl"; zm: "bu.zm"; zn: "bu.zn"; zo: "bu.zo"; zp: "bu.zp"; zq: "bu.zq"; zr: "bu.zr"; zs: "bu.zs"; zt: "bu.zt"; zu: "bu.zu"; zv: "bu.zv"; zw: "bu.zw"; zx: "bu.zx"; zy: "bu.zy"; zz: "bu.zz"; }; bv: { aa: "bv.aa"; ab: "bv.ab"; ac: "bv.ac"; ad: "bv.ad"; ae: "bv.ae"; af: "bv.af"; ag: "bv.ag"; ah: "bv.ah"; ai: "bv.ai"; aj: "bv.aj"; ak: "bv.ak"; al: "bv.al"; am: "bv.am"; an: "bv.an"; ao: "bv.ao"; ap: "bv.ap"; aq: "bv.aq"; ar: "bv.ar"; as: "bv.as"; at: "bv.at"; au: "bv.au"; av: "bv.av"; aw: "bv.aw"; ax: "bv.ax"; ay: "bv.ay"; az: "bv.az"; ba: "bv.ba"; bb: "bv.bb"; bc: "bv.bc"; bd: "bv.bd"; be: "bv.be"; bf: "bv.bf"; bg: "bv.bg"; bh: "bv.bh"; bi: "bv.bi"; bj: "bv.bj"; bk: "bv.bk"; bl: "bv.bl"; bm: "bv.bm"; bn: "bv.bn"; bo: "bv.bo"; bp: "bv.bp"; bq: "bv.bq"; br: "bv.br"; bs: "bv.bs"; bt: "bv.bt"; bu: "bv.bu"; bv: "bv.bv"; bw: "bv.bw"; bx: "bv.bx"; by: "bv.by"; bz: "bv.bz"; ca: "bv.ca"; cb: "bv.cb"; cc: "bv.cc"; cd: "bv.cd"; ce: "bv.ce"; cf: "bv.cf"; cg: "bv.cg"; ch: "bv.ch"; ci: "bv.ci"; cj: "bv.cj"; ck: "bv.ck"; cl: "bv.cl"; cm: "bv.cm"; cn: "bv.cn"; co: "bv.co"; cp: "bv.cp"; cq: "bv.cq"; cr: "bv.cr"; cs: "bv.cs"; ct: "bv.ct"; cu: "bv.cu"; cv: "bv.cv"; cw: "bv.cw"; cx: "bv.cx"; cy: "bv.cy"; cz: "bv.cz"; da: "bv.da"; db: "bv.db"; dc: "bv.dc"; dd: "bv.dd"; de: "bv.de"; df: "bv.df"; dg: "bv.dg"; dh: "bv.dh"; di: "bv.di"; dj: "bv.dj"; dk: "bv.dk"; dl: "bv.dl"; dm: "bv.dm"; dn: "bv.dn"; do: "bv.do"; dp: "bv.dp"; dq: "bv.dq"; dr: "bv.dr"; ds: "bv.ds"; dt: "bv.dt"; du: "bv.du"; dv: "bv.dv"; dw: "bv.dw"; dx: "bv.dx"; dy: "bv.dy"; dz: "bv.dz"; ea: "bv.ea"; eb: "bv.eb"; ec: "bv.ec"; ed: "bv.ed"; ee: "bv.ee"; ef: "bv.ef"; eg: "bv.eg"; eh: "bv.eh"; ei: "bv.ei"; ej: "bv.ej"; ek: "bv.ek"; el: "bv.el"; em: "bv.em"; en: "bv.en"; eo: "bv.eo"; ep: "bv.ep"; eq: "bv.eq"; er: "bv.er"; es: "bv.es"; et: "bv.et"; eu: "bv.eu"; ev: "bv.ev"; ew: "bv.ew"; ex: "bv.ex"; ey: "bv.ey"; ez: "bv.ez"; fa: "bv.fa"; fb: "bv.fb"; fc: "bv.fc"; fd: "bv.fd"; fe: "bv.fe"; ff: "bv.ff"; fg: "bv.fg"; fh: "bv.fh"; fi: "bv.fi"; fj: "bv.fj"; fk: "bv.fk"; fl: "bv.fl"; fm: "bv.fm"; fn: "bv.fn"; fo: "bv.fo"; fp: "bv.fp"; fq: "bv.fq"; fr: "bv.fr"; fs: "bv.fs"; ft: "bv.ft"; fu: "bv.fu"; fv: "bv.fv"; fw: "bv.fw"; fx: "bv.fx"; fy: "bv.fy"; fz: "bv.fz"; ga: "bv.ga"; gb: "bv.gb"; gc: "bv.gc"; gd: "bv.gd"; ge: "bv.ge"; gf: "bv.gf"; gg: "bv.gg"; gh: "bv.gh"; gi: "bv.gi"; gj: "bv.gj"; gk: "bv.gk"; gl: "bv.gl"; gm: "bv.gm"; gn: "bv.gn"; go: "bv.go"; gp: "bv.gp"; gq: "bv.gq"; gr: "bv.gr"; gs: "bv.gs"; gt: "bv.gt"; gu: "bv.gu"; gv: "bv.gv"; gw: "bv.gw"; gx: "bv.gx"; gy: "bv.gy"; gz: "bv.gz"; ha: "bv.ha"; hb: "bv.hb"; hc: "bv.hc"; hd: "bv.hd"; he: "bv.he"; hf: "bv.hf"; hg: "bv.hg"; hh: "bv.hh"; hi: "bv.hi"; hj: "bv.hj"; hk: "bv.hk"; hl: "bv.hl"; hm: "bv.hm"; hn: "bv.hn"; ho: "bv.ho"; hp: "bv.hp"; hq: "bv.hq"; hr: "bv.hr"; hs: "bv.hs"; ht: "bv.ht"; hu: "bv.hu"; hv: "bv.hv"; hw: "bv.hw"; hx: "bv.hx"; hy: "bv.hy"; hz: "bv.hz"; ia: "bv.ia"; ib: "bv.ib"; ic: "bv.ic"; id: "bv.id"; ie: "bv.ie"; if: "bv.if"; ig: "bv.ig"; ih: "bv.ih"; ii: "bv.ii"; ij: "bv.ij"; ik: "bv.ik"; il: "bv.il"; im: "bv.im"; in: "bv.in"; io: "bv.io"; ip: "bv.ip"; iq: "bv.iq"; ir: "bv.ir"; is: "bv.is"; it: "bv.it"; iu: "bv.iu"; iv: "bv.iv"; iw: "bv.iw"; ix: "bv.ix"; iy: "bv.iy"; iz: "bv.iz"; ja: "bv.ja"; jb: "bv.jb"; jc: "bv.jc"; jd: "bv.jd"; je: "bv.je"; jf: "bv.jf"; jg: "bv.jg"; jh: "bv.jh"; ji: "bv.ji"; jj: "bv.jj"; jk: "bv.jk"; jl: "bv.jl"; jm: "bv.jm"; jn: "bv.jn"; jo: "bv.jo"; jp: "bv.jp"; jq: "bv.jq"; jr: "bv.jr"; js: "bv.js"; jt: "bv.jt"; ju: "bv.ju"; jv: "bv.jv"; jw: "bv.jw"; jx: "bv.jx"; jy: "bv.jy"; jz: "bv.jz"; ka: "bv.ka"; kb: "bv.kb"; kc: "bv.kc"; kd: "bv.kd"; ke: "bv.ke"; kf: "bv.kf"; kg: "bv.kg"; kh: "bv.kh"; ki: "bv.ki"; kj: "bv.kj"; kk: "bv.kk"; kl: "bv.kl"; km: "bv.km"; kn: "bv.kn"; ko: "bv.ko"; kp: "bv.kp"; kq: "bv.kq"; kr: "bv.kr"; ks: "bv.ks"; kt: "bv.kt"; ku: "bv.ku"; kv: "bv.kv"; kw: "bv.kw"; kx: "bv.kx"; ky: "bv.ky"; kz: "bv.kz"; la: "bv.la"; lb: "bv.lb"; lc: "bv.lc"; ld: "bv.ld"; le: "bv.le"; lf: "bv.lf"; lg: "bv.lg"; lh: "bv.lh"; li: "bv.li"; lj: "bv.lj"; lk: "bv.lk"; ll: "bv.ll"; lm: "bv.lm"; ln: "bv.ln"; lo: "bv.lo"; lp: "bv.lp"; lq: "bv.lq"; lr: "bv.lr"; ls: "bv.ls"; lt: "bv.lt"; lu: "bv.lu"; lv: "bv.lv"; lw: "bv.lw"; lx: "bv.lx"; ly: "bv.ly"; lz: "bv.lz"; ma: "bv.ma"; mb: "bv.mb"; mc: "bv.mc"; md: "bv.md"; me: "bv.me"; mf: "bv.mf"; mg: "bv.mg"; mh: "bv.mh"; mi: "bv.mi"; mj: "bv.mj"; mk: "bv.mk"; ml: "bv.ml"; mm: "bv.mm"; mn: "bv.mn"; mo: "bv.mo"; mp: "bv.mp"; mq: "bv.mq"; mr: "bv.mr"; ms: "bv.ms"; mt: "bv.mt"; mu: "bv.mu"; mv: "bv.mv"; mw: "bv.mw"; mx: "bv.mx"; my: "bv.my"; mz: "bv.mz"; na: "bv.na"; nb: "bv.nb"; nc: "bv.nc"; nd: "bv.nd"; ne: "bv.ne"; nf: "bv.nf"; ng: "bv.ng"; nh: "bv.nh"; ni: "bv.ni"; nj: "bv.nj"; nk: "bv.nk"; nl: "bv.nl"; nm: "bv.nm"; nn: "bv.nn"; no: "bv.no"; np: "bv.np"; nq: "bv.nq"; nr: "bv.nr"; ns: "bv.ns"; nt: "bv.nt"; nu: "bv.nu"; nv: "bv.nv"; nw: "bv.nw"; nx: "bv.nx"; ny: "bv.ny"; nz: "bv.nz"; oa: "bv.oa"; ob: "bv.ob"; oc: "bv.oc"; od: "bv.od"; oe: "bv.oe"; of: "bv.of"; og: "bv.og"; oh: "bv.oh"; oi: "bv.oi"; oj: "bv.oj"; ok: "bv.ok"; ol: "bv.ol"; om: "bv.om"; on: "bv.on"; oo: "bv.oo"; op: "bv.op"; oq: "bv.oq"; or: "bv.or"; os: "bv.os"; ot: "bv.ot"; ou: "bv.ou"; ov: "bv.ov"; ow: "bv.ow"; ox: "bv.ox"; oy: "bv.oy"; oz: "bv.oz"; pa: "bv.pa"; pb: "bv.pb"; pc: "bv.pc"; pd: "bv.pd"; pe: "bv.pe"; pf: "bv.pf"; pg: "bv.pg"; ph: "bv.ph"; pi: "bv.pi"; pj: "bv.pj"; pk: "bv.pk"; pl: "bv.pl"; pm: "bv.pm"; pn: "bv.pn"; po: "bv.po"; pp: "bv.pp"; pq: "bv.pq"; pr: "bv.pr"; ps: "bv.ps"; pt: "bv.pt"; pu: "bv.pu"; pv: "bv.pv"; pw: "bv.pw"; px: "bv.px"; py: "bv.py"; pz: "bv.pz"; qa: "bv.qa"; qb: "bv.qb"; qc: "bv.qc"; qd: "bv.qd"; qe: "bv.qe"; qf: "bv.qf"; qg: "bv.qg"; qh: "bv.qh"; qi: "bv.qi"; qj: "bv.qj"; qk: "bv.qk"; ql: "bv.ql"; qm: "bv.qm"; qn: "bv.qn"; qo: "bv.qo"; qp: "bv.qp"; qq: "bv.qq"; qr: "bv.qr"; qs: "bv.qs"; qt: "bv.qt"; qu: "bv.qu"; qv: "bv.qv"; qw: "bv.qw"; qx: "bv.qx"; qy: "bv.qy"; qz: "bv.qz"; ra: "bv.ra"; rb: "bv.rb"; rc: "bv.rc"; rd: "bv.rd"; re: "bv.re"; rf: "bv.rf"; rg: "bv.rg"; rh: "bv.rh"; ri: "bv.ri"; rj: "bv.rj"; rk: "bv.rk"; rl: "bv.rl"; rm: "bv.rm"; rn: "bv.rn"; ro: "bv.ro"; rp: "bv.rp"; rq: "bv.rq"; rr: "bv.rr"; rs: "bv.rs"; rt: "bv.rt"; ru: "bv.ru"; rv: "bv.rv"; rw: "bv.rw"; rx: "bv.rx"; ry: "bv.ry"; rz: "bv.rz"; sa: "bv.sa"; sb: "bv.sb"; sc: "bv.sc"; sd: "bv.sd"; se: "bv.se"; sf: "bv.sf"; sg: "bv.sg"; sh: "bv.sh"; si: "bv.si"; sj: "bv.sj"; sk: "bv.sk"; sl: "bv.sl"; sm: "bv.sm"; sn: "bv.sn"; so: "bv.so"; sp: "bv.sp"; sq: "bv.sq"; sr: "bv.sr"; ss: "bv.ss"; st: "bv.st"; su: "bv.su"; sv: "bv.sv"; sw: "bv.sw"; sx: "bv.sx"; sy: "bv.sy"; sz: "bv.sz"; ta: "bv.ta"; tb: "bv.tb"; tc: "bv.tc"; td: "bv.td"; te: "bv.te"; tf: "bv.tf"; tg: "bv.tg"; th: "bv.th"; ti: "bv.ti"; tj: "bv.tj"; tk: "bv.tk"; tl: "bv.tl"; tm: "bv.tm"; tn: "bv.tn"; to: "bv.to"; tp: "bv.tp"; tq: "bv.tq"; tr: "bv.tr"; ts: "bv.ts"; tt: "bv.tt"; tu: "bv.tu"; tv: "bv.tv"; tw: "bv.tw"; tx: "bv.tx"; ty: "bv.ty"; tz: "bv.tz"; ua: "bv.ua"; ub: "bv.ub"; uc: "bv.uc"; ud: "bv.ud"; ue: "bv.ue"; uf: "bv.uf"; ug: "bv.ug"; uh: "bv.uh"; ui: "bv.ui"; uj: "bv.uj"; uk: "bv.uk"; ul: "bv.ul"; um: "bv.um"; un: "bv.un"; uo: "bv.uo"; up: "bv.up"; uq: "bv.uq"; ur: "bv.ur"; us: "bv.us"; ut: "bv.ut"; uu: "bv.uu"; uv: "bv.uv"; uw: "bv.uw"; ux: "bv.ux"; uy: "bv.uy"; uz: "bv.uz"; va: "bv.va"; vb: "bv.vb"; vc: "bv.vc"; vd: "bv.vd"; ve: "bv.ve"; vf: "bv.vf"; vg: "bv.vg"; vh: "bv.vh"; vi: "bv.vi"; vj: "bv.vj"; vk: "bv.vk"; vl: "bv.vl"; vm: "bv.vm"; vn: "bv.vn"; vo: "bv.vo"; vp: "bv.vp"; vq: "bv.vq"; vr: "bv.vr"; vs: "bv.vs"; vt: "bv.vt"; vu: "bv.vu"; vv: "bv.vv"; vw: "bv.vw"; vx: "bv.vx"; vy: "bv.vy"; vz: "bv.vz"; wa: "bv.wa"; wb: "bv.wb"; wc: "bv.wc"; wd: "bv.wd"; we: "bv.we"; wf: "bv.wf"; wg: "bv.wg"; wh: "bv.wh"; wi: "bv.wi"; wj: "bv.wj"; wk: "bv.wk"; wl: "bv.wl"; wm: "bv.wm"; wn: "bv.wn"; wo: "bv.wo"; wp: "bv.wp"; wq: "bv.wq"; wr: "bv.wr"; ws: "bv.ws"; wt: "bv.wt"; wu: "bv.wu"; wv: "bv.wv"; ww: "bv.ww"; wx: "bv.wx"; wy: "bv.wy"; wz: "bv.wz"; xa: "bv.xa"; xb: "bv.xb"; xc: "bv.xc"; xd: "bv.xd"; xe: "bv.xe"; xf: "bv.xf"; xg: "bv.xg"; xh: "bv.xh"; xi: "bv.xi"; xj: "bv.xj"; xk: "bv.xk"; xl: "bv.xl"; xm: "bv.xm"; xn: "bv.xn"; xo: "bv.xo"; xp: "bv.xp"; xq: "bv.xq"; xr: "bv.xr"; xs: "bv.xs"; xt: "bv.xt"; xu: "bv.xu"; xv: "bv.xv"; xw: "bv.xw"; xx: "bv.xx"; xy: "bv.xy"; xz: "bv.xz"; ya: "bv.ya"; yb: "bv.yb"; yc: "bv.yc"; yd: "bv.yd"; ye: "bv.ye"; yf: "bv.yf"; yg: "bv.yg"; yh: "bv.yh"; yi: "bv.yi"; yj: "bv.yj"; yk: "bv.yk"; yl: "bv.yl"; ym: "bv.ym"; yn: "bv.yn"; yo: "bv.yo"; yp: "bv.yp"; yq: "bv.yq"; yr: "bv.yr"; ys: "bv.ys"; yt: "bv.yt"; yu: "bv.yu"; yv: "bv.yv"; yw: "bv.yw"; yx: "bv.yx"; yy: "bv.yy"; yz: "bv.yz"; za: "bv.za"; zb: "bv.zb"; zc: "bv.zc"; zd: "bv.zd"; ze: "bv.ze"; zf: "bv.zf"; zg: "bv.zg"; zh: "bv.zh"; zi: "bv.zi"; zj: "bv.zj"; zk: "bv.zk"; zl: "bv.zl"; zm: "bv.zm"; zn: "bv.zn"; zo: "bv.zo"; zp: "bv.zp"; zq: "bv.zq"; zr: "bv.zr"; zs: "bv.zs"; zt: "bv.zt"; zu: "bv.zu"; zv: "bv.zv"; zw: "bv.zw"; zx: "bv.zx"; zy: "bv.zy"; zz: "bv.zz"; }; bw: { aa: "bw.aa"; ab: "bw.ab"; ac: "bw.ac"; ad: "bw.ad"; ae: "bw.ae"; af: "bw.af"; ag: "bw.ag"; ah: "bw.ah"; ai: "bw.ai"; aj: "bw.aj"; ak: "bw.ak"; al: "bw.al"; am: "bw.am"; an: "bw.an"; ao: "bw.ao"; ap: "bw.ap"; aq: "bw.aq"; ar: "bw.ar"; as: "bw.as"; at: "bw.at"; au: "bw.au"; av: "bw.av"; aw: "bw.aw"; ax: "bw.ax"; ay: "bw.ay"; az: "bw.az"; ba: "bw.ba"; bb: "bw.bb"; bc: "bw.bc"; bd: "bw.bd"; be: "bw.be"; bf: "bw.bf"; bg: "bw.bg"; bh: "bw.bh"; bi: "bw.bi"; bj: "bw.bj"; bk: "bw.bk"; bl: "bw.bl"; bm: "bw.bm"; bn: "bw.bn"; bo: "bw.bo"; bp: "bw.bp"; bq: "bw.bq"; br: "bw.br"; bs: "bw.bs"; bt: "bw.bt"; bu: "bw.bu"; bv: "bw.bv"; bw: "bw.bw"; bx: "bw.bx"; by: "bw.by"; bz: "bw.bz"; ca: "bw.ca"; cb: "bw.cb"; cc: "bw.cc"; cd: "bw.cd"; ce: "bw.ce"; cf: "bw.cf"; cg: "bw.cg"; ch: "bw.ch"; ci: "bw.ci"; cj: "bw.cj"; ck: "bw.ck"; cl: "bw.cl"; cm: "bw.cm"; cn: "bw.cn"; co: "bw.co"; cp: "bw.cp"; cq: "bw.cq"; cr: "bw.cr"; cs: "bw.cs"; ct: "bw.ct"; cu: "bw.cu"; cv: "bw.cv"; cw: "bw.cw"; cx: "bw.cx"; cy: "bw.cy"; cz: "bw.cz"; da: "bw.da"; db: "bw.db"; dc: "bw.dc"; dd: "bw.dd"; de: "bw.de"; df: "bw.df"; dg: "bw.dg"; dh: "bw.dh"; di: "bw.di"; dj: "bw.dj"; dk: "bw.dk"; dl: "bw.dl"; dm: "bw.dm"; dn: "bw.dn"; do: "bw.do"; dp: "bw.dp"; dq: "bw.dq"; dr: "bw.dr"; ds: "bw.ds"; dt: "bw.dt"; du: "bw.du"; dv: "bw.dv"; dw: "bw.dw"; dx: "bw.dx"; dy: "bw.dy"; dz: "bw.dz"; ea: "bw.ea"; eb: "bw.eb"; ec: "bw.ec"; ed: "bw.ed"; ee: "bw.ee"; ef: "bw.ef"; eg: "bw.eg"; eh: "bw.eh"; ei: "bw.ei"; ej: "bw.ej"; ek: "bw.ek"; el: "bw.el"; em: "bw.em"; en: "bw.en"; eo: "bw.eo"; ep: "bw.ep"; eq: "bw.eq"; er: "bw.er"; es: "bw.es"; et: "bw.et"; eu: "bw.eu"; ev: "bw.ev"; ew: "bw.ew"; ex: "bw.ex"; ey: "bw.ey"; ez: "bw.ez"; fa: "bw.fa"; fb: "bw.fb"; fc: "bw.fc"; fd: "bw.fd"; fe: "bw.fe"; ff: "bw.ff"; fg: "bw.fg"; fh: "bw.fh"; fi: "bw.fi"; fj: "bw.fj"; fk: "bw.fk"; fl: "bw.fl"; fm: "bw.fm"; fn: "bw.fn"; fo: "bw.fo"; fp: "bw.fp"; fq: "bw.fq"; fr: "bw.fr"; fs: "bw.fs"; ft: "bw.ft"; fu: "bw.fu"; fv: "bw.fv"; fw: "bw.fw"; fx: "bw.fx"; fy: "bw.fy"; fz: "bw.fz"; ga: "bw.ga"; gb: "bw.gb"; gc: "bw.gc"; gd: "bw.gd"; ge: "bw.ge"; gf: "bw.gf"; gg: "bw.gg"; gh: "bw.gh"; gi: "bw.gi"; gj: "bw.gj"; gk: "bw.gk"; gl: "bw.gl"; gm: "bw.gm"; gn: "bw.gn"; go: "bw.go"; gp: "bw.gp"; gq: "bw.gq"; gr: "bw.gr"; gs: "bw.gs"; gt: "bw.gt"; gu: "bw.gu"; gv: "bw.gv"; gw: "bw.gw"; gx: "bw.gx"; gy: "bw.gy"; gz: "bw.gz"; ha: "bw.ha"; hb: "bw.hb"; hc: "bw.hc"; hd: "bw.hd"; he: "bw.he"; hf: "bw.hf"; hg: "bw.hg"; hh: "bw.hh"; hi: "bw.hi"; hj: "bw.hj"; hk: "bw.hk"; hl: "bw.hl"; hm: "bw.hm"; hn: "bw.hn"; ho: "bw.ho"; hp: "bw.hp"; hq: "bw.hq"; hr: "bw.hr"; hs: "bw.hs"; ht: "bw.ht"; hu: "bw.hu"; hv: "bw.hv"; hw: "bw.hw"; hx: "bw.hx"; hy: "bw.hy"; hz: "bw.hz"; ia: "bw.ia"; ib: "bw.ib"; ic: "bw.ic"; id: "bw.id"; ie: "bw.ie"; if: "bw.if"; ig: "bw.ig"; ih: "bw.ih"; ii: "bw.ii"; ij: "bw.ij"; ik: "bw.ik"; il: "bw.il"; im: "bw.im"; in: "bw.in"; io: "bw.io"; ip: "bw.ip"; iq: "bw.iq"; ir: "bw.ir"; is: "bw.is"; it: "bw.it"; iu: "bw.iu"; iv: "bw.iv"; iw: "bw.iw"; ix: "bw.ix"; iy: "bw.iy"; iz: "bw.iz"; ja: "bw.ja"; jb: "bw.jb"; jc: "bw.jc"; jd: "bw.jd"; je: "bw.je"; jf: "bw.jf"; jg: "bw.jg"; jh: "bw.jh"; ji: "bw.ji"; jj: "bw.jj"; jk: "bw.jk"; jl: "bw.jl"; jm: "bw.jm"; jn: "bw.jn"; jo: "bw.jo"; jp: "bw.jp"; jq: "bw.jq"; jr: "bw.jr"; js: "bw.js"; jt: "bw.jt"; ju: "bw.ju"; jv: "bw.jv"; jw: "bw.jw"; jx: "bw.jx"; jy: "bw.jy"; jz: "bw.jz"; ka: "bw.ka"; kb: "bw.kb"; kc: "bw.kc"; kd: "bw.kd"; ke: "bw.ke"; kf: "bw.kf"; kg: "bw.kg"; kh: "bw.kh"; ki: "bw.ki"; kj: "bw.kj"; kk: "bw.kk"; kl: "bw.kl"; km: "bw.km"; kn: "bw.kn"; ko: "bw.ko"; kp: "bw.kp"; kq: "bw.kq"; kr: "bw.kr"; ks: "bw.ks"; kt: "bw.kt"; ku: "bw.ku"; kv: "bw.kv"; kw: "bw.kw"; kx: "bw.kx"; ky: "bw.ky"; kz: "bw.kz"; la: "bw.la"; lb: "bw.lb"; lc: "bw.lc"; ld: "bw.ld"; le: "bw.le"; lf: "bw.lf"; lg: "bw.lg"; lh: "bw.lh"; li: "bw.li"; lj: "bw.lj"; lk: "bw.lk"; ll: "bw.ll"; lm: "bw.lm"; ln: "bw.ln"; lo: "bw.lo"; lp: "bw.lp"; lq: "bw.lq"; lr: "bw.lr"; ls: "bw.ls"; lt: "bw.lt"; lu: "bw.lu"; lv: "bw.lv"; lw: "bw.lw"; lx: "bw.lx"; ly: "bw.ly"; lz: "bw.lz"; ma: "bw.ma"; mb: "bw.mb"; mc: "bw.mc"; md: "bw.md"; me: "bw.me"; mf: "bw.mf"; mg: "bw.mg"; mh: "bw.mh"; mi: "bw.mi"; mj: "bw.mj"; mk: "bw.mk"; ml: "bw.ml"; mm: "bw.mm"; mn: "bw.mn"; mo: "bw.mo"; mp: "bw.mp"; mq: "bw.mq"; mr: "bw.mr"; ms: "bw.ms"; mt: "bw.mt"; mu: "bw.mu"; mv: "bw.mv"; mw: "bw.mw"; mx: "bw.mx"; my: "bw.my"; mz: "bw.mz"; na: "bw.na"; nb: "bw.nb"; nc: "bw.nc"; nd: "bw.nd"; ne: "bw.ne"; nf: "bw.nf"; ng: "bw.ng"; nh: "bw.nh"; ni: "bw.ni"; nj: "bw.nj"; nk: "bw.nk"; nl: "bw.nl"; nm: "bw.nm"; nn: "bw.nn"; no: "bw.no"; np: "bw.np"; nq: "bw.nq"; nr: "bw.nr"; ns: "bw.ns"; nt: "bw.nt"; nu: "bw.nu"; nv: "bw.nv"; nw: "bw.nw"; nx: "bw.nx"; ny: "bw.ny"; nz: "bw.nz"; oa: "bw.oa"; ob: "bw.ob"; oc: "bw.oc"; od: "bw.od"; oe: "bw.oe"; of: "bw.of"; og: "bw.og"; oh: "bw.oh"; oi: "bw.oi"; oj: "bw.oj"; ok: "bw.ok"; ol: "bw.ol"; om: "bw.om"; on: "bw.on"; oo: "bw.oo"; op: "bw.op"; oq: "bw.oq"; or: "bw.or"; os: "bw.os"; ot: "bw.ot"; ou: "bw.ou"; ov: "bw.ov"; ow: "bw.ow"; ox: "bw.ox"; oy: "bw.oy"; oz: "bw.oz"; pa: "bw.pa"; pb: "bw.pb"; pc: "bw.pc"; pd: "bw.pd"; pe: "bw.pe"; pf: "bw.pf"; pg: "bw.pg"; ph: "bw.ph"; pi: "bw.pi"; pj: "bw.pj"; pk: "bw.pk"; pl: "bw.pl"; pm: "bw.pm"; pn: "bw.pn"; po: "bw.po"; pp: "bw.pp"; pq: "bw.pq"; pr: "bw.pr"; ps: "bw.ps"; pt: "bw.pt"; pu: "bw.pu"; pv: "bw.pv"; pw: "bw.pw"; px: "bw.px"; py: "bw.py"; pz: "bw.pz"; qa: "bw.qa"; qb: "bw.qb"; qc: "bw.qc"; qd: "bw.qd"; qe: "bw.qe"; qf: "bw.qf"; qg: "bw.qg"; qh: "bw.qh"; qi: "bw.qi"; qj: "bw.qj"; qk: "bw.qk"; ql: "bw.ql"; qm: "bw.qm"; qn: "bw.qn"; qo: "bw.qo"; qp: "bw.qp"; qq: "bw.qq"; qr: "bw.qr"; qs: "bw.qs"; qt: "bw.qt"; qu: "bw.qu"; qv: "bw.qv"; qw: "bw.qw"; qx: "bw.qx"; qy: "bw.qy"; qz: "bw.qz"; ra: "bw.ra"; rb: "bw.rb"; rc: "bw.rc"; rd: "bw.rd"; re: "bw.re"; rf: "bw.rf"; rg: "bw.rg"; rh: "bw.rh"; ri: "bw.ri"; rj: "bw.rj"; rk: "bw.rk"; rl: "bw.rl"; rm: "bw.rm"; rn: "bw.rn"; ro: "bw.ro"; rp: "bw.rp"; rq: "bw.rq"; rr: "bw.rr"; rs: "bw.rs"; rt: "bw.rt"; ru: "bw.ru"; rv: "bw.rv"; rw: "bw.rw"; rx: "bw.rx"; ry: "bw.ry"; rz: "bw.rz"; sa: "bw.sa"; sb: "bw.sb"; sc: "bw.sc"; sd: "bw.sd"; se: "bw.se"; sf: "bw.sf"; sg: "bw.sg"; sh: "bw.sh"; si: "bw.si"; sj: "bw.sj"; sk: "bw.sk"; sl: "bw.sl"; sm: "bw.sm"; sn: "bw.sn"; so: "bw.so"; sp: "bw.sp"; sq: "bw.sq"; sr: "bw.sr"; ss: "bw.ss"; st: "bw.st"; su: "bw.su"; sv: "bw.sv"; sw: "bw.sw"; sx: "bw.sx"; sy: "bw.sy"; sz: "bw.sz"; ta: "bw.ta"; tb: "bw.tb"; tc: "bw.tc"; td: "bw.td"; te: "bw.te"; tf: "bw.tf"; tg: "bw.tg"; th: "bw.th"; ti: "bw.ti"; tj: "bw.tj"; tk: "bw.tk"; tl: "bw.tl"; tm: "bw.tm"; tn: "bw.tn"; to: "bw.to"; tp: "bw.tp"; tq: "bw.tq"; tr: "bw.tr"; ts: "bw.ts"; tt: "bw.tt"; tu: "bw.tu"; tv: "bw.tv"; tw: "bw.tw"; tx: "bw.tx"; ty: "bw.ty"; tz: "bw.tz"; ua: "bw.ua"; ub: "bw.ub"; uc: "bw.uc"; ud: "bw.ud"; ue: "bw.ue"; uf: "bw.uf"; ug: "bw.ug"; uh: "bw.uh"; ui: "bw.ui"; uj: "bw.uj"; uk: "bw.uk"; ul: "bw.ul"; um: "bw.um"; un: "bw.un"; uo: "bw.uo"; up: "bw.up"; uq: "bw.uq"; ur: "bw.ur"; us: "bw.us"; ut: "bw.ut"; uu: "bw.uu"; uv: "bw.uv"; uw: "bw.uw"; ux: "bw.ux"; uy: "bw.uy"; uz: "bw.uz"; va: "bw.va"; vb: "bw.vb"; vc: "bw.vc"; vd: "bw.vd"; ve: "bw.ve"; vf: "bw.vf"; vg: "bw.vg"; vh: "bw.vh"; vi: "bw.vi"; vj: "bw.vj"; vk: "bw.vk"; vl: "bw.vl"; vm: "bw.vm"; vn: "bw.vn"; vo: "bw.vo"; vp: "bw.vp"; vq: "bw.vq"; vr: "bw.vr"; vs: "bw.vs"; vt: "bw.vt"; vu: "bw.vu"; vv: "bw.vv"; vw: "bw.vw"; vx: "bw.vx"; vy: "bw.vy"; vz: "bw.vz"; wa: "bw.wa"; wb: "bw.wb"; wc: "bw.wc"; wd: "bw.wd"; we: "bw.we"; wf: "bw.wf"; wg: "bw.wg"; wh: "bw.wh"; wi: "bw.wi"; wj: "bw.wj"; wk: "bw.wk"; wl: "bw.wl"; wm: "bw.wm"; wn: "bw.wn"; wo: "bw.wo"; wp: "bw.wp"; wq: "bw.wq"; wr: "bw.wr"; ws: "bw.ws"; wt: "bw.wt"; wu: "bw.wu"; wv: "bw.wv"; ww: "bw.ww"; wx: "bw.wx"; wy: "bw.wy"; wz: "bw.wz"; xa: "bw.xa"; xb: "bw.xb"; xc: "bw.xc"; xd: "bw.xd"; xe: "bw.xe"; xf: "bw.xf"; xg: "bw.xg"; xh: "bw.xh"; xi: "bw.xi"; xj: "bw.xj"; xk: "bw.xk"; xl: "bw.xl"; xm: "bw.xm"; xn: "bw.xn"; xo: "bw.xo"; xp: "bw.xp"; xq: "bw.xq"; xr: "bw.xr"; xs: "bw.xs"; xt: "bw.xt"; xu: "bw.xu"; xv: "bw.xv"; xw: "bw.xw"; xx: "bw.xx"; xy: "bw.xy"; xz: "bw.xz"; ya: "bw.ya"; yb: "bw.yb"; yc: "bw.yc"; yd: "bw.yd"; ye: "bw.ye"; yf: "bw.yf"; yg: "bw.yg"; yh: "bw.yh"; yi: "bw.yi"; yj: "bw.yj"; yk: "bw.yk"; yl: "bw.yl"; ym: "bw.ym"; yn: "bw.yn"; yo: "bw.yo"; yp: "bw.yp"; yq: "bw.yq"; yr: "bw.yr"; ys: "bw.ys"; yt: "bw.yt"; yu: "bw.yu"; yv: "bw.yv"; yw: "bw.yw"; yx: "bw.yx"; yy: "bw.yy"; yz: "bw.yz"; za: "bw.za"; zb: "bw.zb"; zc: "bw.zc"; zd: "bw.zd"; ze: "bw.ze"; zf: "bw.zf"; zg: "bw.zg"; zh: "bw.zh"; zi: "bw.zi"; zj: "bw.zj"; zk: "bw.zk"; zl: "bw.zl"; zm: "bw.zm"; zn: "bw.zn"; zo: "bw.zo"; zp: "bw.zp"; zq: "bw.zq"; zr: "bw.zr"; zs: "bw.zs"; zt: "bw.zt"; zu: "bw.zu"; zv: "bw.zv"; zw: "bw.zw"; zx: "bw.zx"; zy: "bw.zy"; zz: "bw.zz"; }; bx: { aa: "bx.aa"; ab: "bx.ab"; ac: "bx.ac"; ad: "bx.ad"; ae: "bx.ae"; af: "bx.af"; ag: "bx.ag"; ah: "bx.ah"; ai: "bx.ai"; aj: "bx.aj"; ak: "bx.ak"; al: "bx.al"; am: "bx.am"; an: "bx.an"; ao: "bx.ao"; ap: "bx.ap"; aq: "bx.aq"; ar: "bx.ar"; as: "bx.as"; at: "bx.at"; au: "bx.au"; av: "bx.av"; aw: "bx.aw"; ax: "bx.ax"; ay: "bx.ay"; az: "bx.az"; ba: "bx.ba"; bb: "bx.bb"; bc: "bx.bc"; bd: "bx.bd"; be: "bx.be"; bf: "bx.bf"; bg: "bx.bg"; bh: "bx.bh"; bi: "bx.bi"; bj: "bx.bj"; bk: "bx.bk"; bl: "bx.bl"; bm: "bx.bm"; bn: "bx.bn"; bo: "bx.bo"; bp: "bx.bp"; bq: "bx.bq"; br: "bx.br"; bs: "bx.bs"; bt: "bx.bt"; bu: "bx.bu"; bv: "bx.bv"; bw: "bx.bw"; bx: "bx.bx"; by: "bx.by"; bz: "bx.bz"; ca: "bx.ca"; cb: "bx.cb"; cc: "bx.cc"; cd: "bx.cd"; ce: "bx.ce"; cf: "bx.cf"; cg: "bx.cg"; ch: "bx.ch"; ci: "bx.ci"; cj: "bx.cj"; ck: "bx.ck"; cl: "bx.cl"; cm: "bx.cm"; cn: "bx.cn"; co: "bx.co"; cp: "bx.cp"; cq: "bx.cq"; cr: "bx.cr"; cs: "bx.cs"; ct: "bx.ct"; cu: "bx.cu"; cv: "bx.cv"; cw: "bx.cw"; cx: "bx.cx"; cy: "bx.cy"; cz: "bx.cz"; da: "bx.da"; db: "bx.db"; dc: "bx.dc"; dd: "bx.dd"; de: "bx.de"; df: "bx.df"; dg: "bx.dg"; dh: "bx.dh"; di: "bx.di"; dj: "bx.dj"; dk: "bx.dk"; dl: "bx.dl"; dm: "bx.dm"; dn: "bx.dn"; do: "bx.do"; dp: "bx.dp"; dq: "bx.dq"; dr: "bx.dr"; ds: "bx.ds"; dt: "bx.dt"; du: "bx.du"; dv: "bx.dv"; dw: "bx.dw"; dx: "bx.dx"; dy: "bx.dy"; dz: "bx.dz"; ea: "bx.ea"; eb: "bx.eb"; ec: "bx.ec"; ed: "bx.ed"; ee: "bx.ee"; ef: "bx.ef"; eg: "bx.eg"; eh: "bx.eh"; ei: "bx.ei"; ej: "bx.ej"; ek: "bx.ek"; el: "bx.el"; em: "bx.em"; en: "bx.en"; eo: "bx.eo"; ep: "bx.ep"; eq: "bx.eq"; er: "bx.er"; es: "bx.es"; et: "bx.et"; eu: "bx.eu"; ev: "bx.ev"; ew: "bx.ew"; ex: "bx.ex"; ey: "bx.ey"; ez: "bx.ez"; fa: "bx.fa"; fb: "bx.fb"; fc: "bx.fc"; fd: "bx.fd"; fe: "bx.fe"; ff: "bx.ff"; fg: "bx.fg"; fh: "bx.fh"; fi: "bx.fi"; fj: "bx.fj"; fk: "bx.fk"; fl: "bx.fl"; fm: "bx.fm"; fn: "bx.fn"; fo: "bx.fo"; fp: "bx.fp"; fq: "bx.fq"; fr: "bx.fr"; fs: "bx.fs"; ft: "bx.ft"; fu: "bx.fu"; fv: "bx.fv"; fw: "bx.fw"; fx: "bx.fx"; fy: "bx.fy"; fz: "bx.fz"; ga: "bx.ga"; gb: "bx.gb"; gc: "bx.gc"; gd: "bx.gd"; ge: "bx.ge"; gf: "bx.gf"; gg: "bx.gg"; gh: "bx.gh"; gi: "bx.gi"; gj: "bx.gj"; gk: "bx.gk"; gl: "bx.gl"; gm: "bx.gm"; gn: "bx.gn"; go: "bx.go"; gp: "bx.gp"; gq: "bx.gq"; gr: "bx.gr"; gs: "bx.gs"; gt: "bx.gt"; gu: "bx.gu"; gv: "bx.gv"; gw: "bx.gw"; gx: "bx.gx"; gy: "bx.gy"; gz: "bx.gz"; ha: "bx.ha"; hb: "bx.hb"; hc: "bx.hc"; hd: "bx.hd"; he: "bx.he"; hf: "bx.hf"; hg: "bx.hg"; hh: "bx.hh"; hi: "bx.hi"; hj: "bx.hj"; hk: "bx.hk"; hl: "bx.hl"; hm: "bx.hm"; hn: "bx.hn"; ho: "bx.ho"; hp: "bx.hp"; hq: "bx.hq"; hr: "bx.hr"; hs: "bx.hs"; ht: "bx.ht"; hu: "bx.hu"; hv: "bx.hv"; hw: "bx.hw"; hx: "bx.hx"; hy: "bx.hy"; hz: "bx.hz"; ia: "bx.ia"; ib: "bx.ib"; ic: "bx.ic"; id: "bx.id"; ie: "bx.ie"; if: "bx.if"; ig: "bx.ig"; ih: "bx.ih"; ii: "bx.ii"; ij: "bx.ij"; ik: "bx.ik"; il: "bx.il"; im: "bx.im"; in: "bx.in"; io: "bx.io"; ip: "bx.ip"; iq: "bx.iq"; ir: "bx.ir"; is: "bx.is"; it: "bx.it"; iu: "bx.iu"; iv: "bx.iv"; iw: "bx.iw"; ix: "bx.ix"; iy: "bx.iy"; iz: "bx.iz"; ja: "bx.ja"; jb: "bx.jb"; jc: "bx.jc"; jd: "bx.jd"; je: "bx.je"; jf: "bx.jf"; jg: "bx.jg"; jh: "bx.jh"; ji: "bx.ji"; jj: "bx.jj"; jk: "bx.jk"; jl: "bx.jl"; jm: "bx.jm"; jn: "bx.jn"; jo: "bx.jo"; jp: "bx.jp"; jq: "bx.jq"; jr: "bx.jr"; js: "bx.js"; jt: "bx.jt"; ju: "bx.ju"; jv: "bx.jv"; jw: "bx.jw"; jx: "bx.jx"; jy: "bx.jy"; jz: "bx.jz"; ka: "bx.ka"; kb: "bx.kb"; kc: "bx.kc"; kd: "bx.kd"; ke: "bx.ke"; kf: "bx.kf"; kg: "bx.kg"; kh: "bx.kh"; ki: "bx.ki"; kj: "bx.kj"; kk: "bx.kk"; kl: "bx.kl"; km: "bx.km"; kn: "bx.kn"; ko: "bx.ko"; kp: "bx.kp"; kq: "bx.kq"; kr: "bx.kr"; ks: "bx.ks"; kt: "bx.kt"; ku: "bx.ku"; kv: "bx.kv"; kw: "bx.kw"; kx: "bx.kx"; ky: "bx.ky"; kz: "bx.kz"; la: "bx.la"; lb: "bx.lb"; lc: "bx.lc"; ld: "bx.ld"; le: "bx.le"; lf: "bx.lf"; lg: "bx.lg"; lh: "bx.lh"; li: "bx.li"; lj: "bx.lj"; lk: "bx.lk"; ll: "bx.ll"; lm: "bx.lm"; ln: "bx.ln"; lo: "bx.lo"; lp: "bx.lp"; lq: "bx.lq"; lr: "bx.lr"; ls: "bx.ls"; lt: "bx.lt"; lu: "bx.lu"; lv: "bx.lv"; lw: "bx.lw"; lx: "bx.lx"; ly: "bx.ly"; lz: "bx.lz"; ma: "bx.ma"; mb: "bx.mb"; mc: "bx.mc"; md: "bx.md"; me: "bx.me"; mf: "bx.mf"; mg: "bx.mg"; mh: "bx.mh"; mi: "bx.mi"; mj: "bx.mj"; mk: "bx.mk"; ml: "bx.ml"; mm: "bx.mm"; mn: "bx.mn"; mo: "bx.mo"; mp: "bx.mp"; mq: "bx.mq"; mr: "bx.mr"; ms: "bx.ms"; mt: "bx.mt"; mu: "bx.mu"; mv: "bx.mv"; mw: "bx.mw"; mx: "bx.mx"; my: "bx.my"; mz: "bx.mz"; na: "bx.na"; nb: "bx.nb"; nc: "bx.nc"; nd: "bx.nd"; ne: "bx.ne"; nf: "bx.nf"; ng: "bx.ng"; nh: "bx.nh"; ni: "bx.ni"; nj: "bx.nj"; nk: "bx.nk"; nl: "bx.nl"; nm: "bx.nm"; nn: "bx.nn"; no: "bx.no"; np: "bx.np"; nq: "bx.nq"; nr: "bx.nr"; ns: "bx.ns"; nt: "bx.nt"; nu: "bx.nu"; nv: "bx.nv"; nw: "bx.nw"; nx: "bx.nx"; ny: "bx.ny"; nz: "bx.nz"; oa: "bx.oa"; ob: "bx.ob"; oc: "bx.oc"; od: "bx.od"; oe: "bx.oe"; of: "bx.of"; og: "bx.og"; oh: "bx.oh"; oi: "bx.oi"; oj: "bx.oj"; ok: "bx.ok"; ol: "bx.ol"; om: "bx.om"; on: "bx.on"; oo: "bx.oo"; op: "bx.op"; oq: "bx.oq"; or: "bx.or"; os: "bx.os"; ot: "bx.ot"; ou: "bx.ou"; ov: "bx.ov"; ow: "bx.ow"; ox: "bx.ox"; oy: "bx.oy"; oz: "bx.oz"; pa: "bx.pa"; pb: "bx.pb"; pc: "bx.pc"; pd: "bx.pd"; pe: "bx.pe"; pf: "bx.pf"; pg: "bx.pg"; ph: "bx.ph"; pi: "bx.pi"; pj: "bx.pj"; pk: "bx.pk"; pl: "bx.pl"; pm: "bx.pm"; pn: "bx.pn"; po: "bx.po"; pp: "bx.pp"; pq: "bx.pq"; pr: "bx.pr"; ps: "bx.ps"; pt: "bx.pt"; pu: "bx.pu"; pv: "bx.pv"; pw: "bx.pw"; px: "bx.px"; py: "bx.py"; pz: "bx.pz"; qa: "bx.qa"; qb: "bx.qb"; qc: "bx.qc"; qd: "bx.qd"; qe: "bx.qe"; qf: "bx.qf"; qg: "bx.qg"; qh: "bx.qh"; qi: "bx.qi"; qj: "bx.qj"; qk: "bx.qk"; ql: "bx.ql"; qm: "bx.qm"; qn: "bx.qn"; qo: "bx.qo"; qp: "bx.qp"; qq: "bx.qq"; qr: "bx.qr"; qs: "bx.qs"; qt: "bx.qt"; qu: "bx.qu"; qv: "bx.qv"; qw: "bx.qw"; qx: "bx.qx"; qy: "bx.qy"; qz: "bx.qz"; ra: "bx.ra"; rb: "bx.rb"; rc: "bx.rc"; rd: "bx.rd"; re: "bx.re"; rf: "bx.rf"; rg: "bx.rg"; rh: "bx.rh"; ri: "bx.ri"; rj: "bx.rj"; rk: "bx.rk"; rl: "bx.rl"; rm: "bx.rm"; rn: "bx.rn"; ro: "bx.ro"; rp: "bx.rp"; rq: "bx.rq"; rr: "bx.rr"; rs: "bx.rs"; rt: "bx.rt"; ru: "bx.ru"; rv: "bx.rv"; rw: "bx.rw"; rx: "bx.rx"; ry: "bx.ry"; rz: "bx.rz"; sa: "bx.sa"; sb: "bx.sb"; sc: "bx.sc"; sd: "bx.sd"; se: "bx.se"; sf: "bx.sf"; sg: "bx.sg"; sh: "bx.sh"; si: "bx.si"; sj: "bx.sj"; sk: "bx.sk"; sl: "bx.sl"; sm: "bx.sm"; sn: "bx.sn"; so: "bx.so"; sp: "bx.sp"; sq: "bx.sq"; sr: "bx.sr"; ss: "bx.ss"; st: "bx.st"; su: "bx.su"; sv: "bx.sv"; sw: "bx.sw"; sx: "bx.sx"; sy: "bx.sy"; sz: "bx.sz"; ta: "bx.ta"; tb: "bx.tb"; tc: "bx.tc"; td: "bx.td"; te: "bx.te"; tf: "bx.tf"; tg: "bx.tg"; th: "bx.th"; ti: "bx.ti"; tj: "bx.tj"; tk: "bx.tk"; tl: "bx.tl"; tm: "bx.tm"; tn: "bx.tn"; to: "bx.to"; tp: "bx.tp"; tq: "bx.tq"; tr: "bx.tr"; ts: "bx.ts"; tt: "bx.tt"; tu: "bx.tu"; tv: "bx.tv"; tw: "bx.tw"; tx: "bx.tx"; ty: "bx.ty"; tz: "bx.tz"; ua: "bx.ua"; ub: "bx.ub"; uc: "bx.uc"; ud: "bx.ud"; ue: "bx.ue"; uf: "bx.uf"; ug: "bx.ug"; uh: "bx.uh"; ui: "bx.ui"; uj: "bx.uj"; uk: "bx.uk"; ul: "bx.ul"; um: "bx.um"; un: "bx.un"; uo: "bx.uo"; up: "bx.up"; uq: "bx.uq"; ur: "bx.ur"; us: "bx.us"; ut: "bx.ut"; uu: "bx.uu"; uv: "bx.uv"; uw: "bx.uw"; ux: "bx.ux"; uy: "bx.uy"; uz: "bx.uz"; va: "bx.va"; vb: "bx.vb"; vc: "bx.vc"; vd: "bx.vd"; ve: "bx.ve"; vf: "bx.vf"; vg: "bx.vg"; vh: "bx.vh"; vi: "bx.vi"; vj: "bx.vj"; vk: "bx.vk"; vl: "bx.vl"; vm: "bx.vm"; vn: "bx.vn"; vo: "bx.vo"; vp: "bx.vp"; vq: "bx.vq"; vr: "bx.vr"; vs: "bx.vs"; vt: "bx.vt"; vu: "bx.vu"; vv: "bx.vv"; vw: "bx.vw"; vx: "bx.vx"; vy: "bx.vy"; vz: "bx.vz"; wa: "bx.wa"; wb: "bx.wb"; wc: "bx.wc"; wd: "bx.wd"; we: "bx.we"; wf: "bx.wf"; wg: "bx.wg"; wh: "bx.wh"; wi: "bx.wi"; wj: "bx.wj"; wk: "bx.wk"; wl: "bx.wl"; wm: "bx.wm"; wn: "bx.wn"; wo: "bx.wo"; wp: "bx.wp"; wq: "bx.wq"; wr: "bx.wr"; ws: "bx.ws"; wt: "bx.wt"; wu: "bx.wu"; wv: "bx.wv"; ww: "bx.ww"; wx: "bx.wx"; wy: "bx.wy"; wz: "bx.wz"; xa: "bx.xa"; xb: "bx.xb"; xc: "bx.xc"; xd: "bx.xd"; xe: "bx.xe"; xf: "bx.xf"; xg: "bx.xg"; xh: "bx.xh"; xi: "bx.xi"; xj: "bx.xj"; xk: "bx.xk"; xl: "bx.xl"; xm: "bx.xm"; xn: "bx.xn"; xo: "bx.xo"; xp: "bx.xp"; xq: "bx.xq"; xr: "bx.xr"; xs: "bx.xs"; xt: "bx.xt"; xu: "bx.xu"; xv: "bx.xv"; xw: "bx.xw"; xx: "bx.xx"; xy: "bx.xy"; xz: "bx.xz"; ya: "bx.ya"; yb: "bx.yb"; yc: "bx.yc"; yd: "bx.yd"; ye: "bx.ye"; yf: "bx.yf"; yg: "bx.yg"; yh: "bx.yh"; yi: "bx.yi"; yj: "bx.yj"; yk: "bx.yk"; yl: "bx.yl"; ym: "bx.ym"; yn: "bx.yn"; yo: "bx.yo"; yp: "bx.yp"; yq: "bx.yq"; yr: "bx.yr"; ys: "bx.ys"; yt: "bx.yt"; yu: "bx.yu"; yv: "bx.yv"; yw: "bx.yw"; yx: "bx.yx"; yy: "bx.yy"; yz: "bx.yz"; za: "bx.za"; zb: "bx.zb"; zc: "bx.zc"; zd: "bx.zd"; ze: "bx.ze"; zf: "bx.zf"; zg: "bx.zg"; zh: "bx.zh"; zi: "bx.zi"; zj: "bx.zj"; zk: "bx.zk"; zl: "bx.zl"; zm: "bx.zm"; zn: "bx.zn"; zo: "bx.zo"; zp: "bx.zp"; zq: "bx.zq"; zr: "bx.zr"; zs: "bx.zs"; zt: "bx.zt"; zu: "bx.zu"; zv: "bx.zv"; zw: "bx.zw"; zx: "bx.zx"; zy: "bx.zy"; zz: "bx.zz"; }; by: { aa: "by.aa"; ab: "by.ab"; ac: "by.ac"; ad: "by.ad"; ae: "by.ae"; af: "by.af"; ag: "by.ag"; ah: "by.ah"; ai: "by.ai"; aj: "by.aj"; ak: "by.ak"; al: "by.al"; am: "by.am"; an: "by.an"; ao: "by.ao"; ap: "by.ap"; aq: "by.aq"; ar: "by.ar"; as: "by.as"; at: "by.at"; au: "by.au"; av: "by.av"; aw: "by.aw"; ax: "by.ax"; ay: "by.ay"; az: "by.az"; ba: "by.ba"; bb: "by.bb"; bc: "by.bc"; bd: "by.bd"; be: "by.be"; bf: "by.bf"; bg: "by.bg"; bh: "by.bh"; bi: "by.bi"; bj: "by.bj"; bk: "by.bk"; bl: "by.bl"; bm: "by.bm"; bn: "by.bn"; bo: "by.bo"; bp: "by.bp"; bq: "by.bq"; br: "by.br"; bs: "by.bs"; bt: "by.bt"; bu: "by.bu"; bv: "by.bv"; bw: "by.bw"; bx: "by.bx"; by: "by.by"; bz: "by.bz"; ca: "by.ca"; cb: "by.cb"; cc: "by.cc"; cd: "by.cd"; ce: "by.ce"; cf: "by.cf"; cg: "by.cg"; ch: "by.ch"; ci: "by.ci"; cj: "by.cj"; ck: "by.ck"; cl: "by.cl"; cm: "by.cm"; cn: "by.cn"; co: "by.co"; cp: "by.cp"; cq: "by.cq"; cr: "by.cr"; cs: "by.cs"; ct: "by.ct"; cu: "by.cu"; cv: "by.cv"; cw: "by.cw"; cx: "by.cx"; cy: "by.cy"; cz: "by.cz"; da: "by.da"; db: "by.db"; dc: "by.dc"; dd: "by.dd"; de: "by.de"; df: "by.df"; dg: "by.dg"; dh: "by.dh"; di: "by.di"; dj: "by.dj"; dk: "by.dk"; dl: "by.dl"; dm: "by.dm"; dn: "by.dn"; do: "by.do"; dp: "by.dp"; dq: "by.dq"; dr: "by.dr"; ds: "by.ds"; dt: "by.dt"; du: "by.du"; dv: "by.dv"; dw: "by.dw"; dx: "by.dx"; dy: "by.dy"; dz: "by.dz"; ea: "by.ea"; eb: "by.eb"; ec: "by.ec"; ed: "by.ed"; ee: "by.ee"; ef: "by.ef"; eg: "by.eg"; eh: "by.eh"; ei: "by.ei"; ej: "by.ej"; ek: "by.ek"; el: "by.el"; em: "by.em"; en: "by.en"; eo: "by.eo"; ep: "by.ep"; eq: "by.eq"; er: "by.er"; es: "by.es"; et: "by.et"; eu: "by.eu"; ev: "by.ev"; ew: "by.ew"; ex: "by.ex"; ey: "by.ey"; ez: "by.ez"; fa: "by.fa"; fb: "by.fb"; fc: "by.fc"; fd: "by.fd"; fe: "by.fe"; ff: "by.ff"; fg: "by.fg"; fh: "by.fh"; fi: "by.fi"; fj: "by.fj"; fk: "by.fk"; fl: "by.fl"; fm: "by.fm"; fn: "by.fn"; fo: "by.fo"; fp: "by.fp"; fq: "by.fq"; fr: "by.fr"; fs: "by.fs"; ft: "by.ft"; fu: "by.fu"; fv: "by.fv"; fw: "by.fw"; fx: "by.fx"; fy: "by.fy"; fz: "by.fz"; ga: "by.ga"; gb: "by.gb"; gc: "by.gc"; gd: "by.gd"; ge: "by.ge"; gf: "by.gf"; gg: "by.gg"; gh: "by.gh"; gi: "by.gi"; gj: "by.gj"; gk: "by.gk"; gl: "by.gl"; gm: "by.gm"; gn: "by.gn"; go: "by.go"; gp: "by.gp"; gq: "by.gq"; gr: "by.gr"; gs: "by.gs"; gt: "by.gt"; gu: "by.gu"; gv: "by.gv"; gw: "by.gw"; gx: "by.gx"; gy: "by.gy"; gz: "by.gz"; ha: "by.ha"; hb: "by.hb"; hc: "by.hc"; hd: "by.hd"; he: "by.he"; hf: "by.hf"; hg: "by.hg"; hh: "by.hh"; hi: "by.hi"; hj: "by.hj"; hk: "by.hk"; hl: "by.hl"; hm: "by.hm"; hn: "by.hn"; ho: "by.ho"; hp: "by.hp"; hq: "by.hq"; hr: "by.hr"; hs: "by.hs"; ht: "by.ht"; hu: "by.hu"; hv: "by.hv"; hw: "by.hw"; hx: "by.hx"; hy: "by.hy"; hz: "by.hz"; ia: "by.ia"; ib: "by.ib"; ic: "by.ic"; id: "by.id"; ie: "by.ie"; if: "by.if"; ig: "by.ig"; ih: "by.ih"; ii: "by.ii"; ij: "by.ij"; ik: "by.ik"; il: "by.il"; im: "by.im"; in: "by.in"; io: "by.io"; ip: "by.ip"; iq: "by.iq"; ir: "by.ir"; is: "by.is"; it: "by.it"; iu: "by.iu"; iv: "by.iv"; iw: "by.iw"; ix: "by.ix"; iy: "by.iy"; iz: "by.iz"; ja: "by.ja"; jb: "by.jb"; jc: "by.jc"; jd: "by.jd"; je: "by.je"; jf: "by.jf"; jg: "by.jg"; jh: "by.jh"; ji: "by.ji"; jj: "by.jj"; jk: "by.jk"; jl: "by.jl"; jm: "by.jm"; jn: "by.jn"; jo: "by.jo"; jp: "by.jp"; jq: "by.jq"; jr: "by.jr"; js: "by.js"; jt: "by.jt"; ju: "by.ju"; jv: "by.jv"; jw: "by.jw"; jx: "by.jx"; jy: "by.jy"; jz: "by.jz"; ka: "by.ka"; kb: "by.kb"; kc: "by.kc"; kd: "by.kd"; ke: "by.ke"; kf: "by.kf"; kg: "by.kg"; kh: "by.kh"; ki: "by.ki"; kj: "by.kj"; kk: "by.kk"; kl: "by.kl"; km: "by.km"; kn: "by.kn"; ko: "by.ko"; kp: "by.kp"; kq: "by.kq"; kr: "by.kr"; ks: "by.ks"; kt: "by.kt"; ku: "by.ku"; kv: "by.kv"; kw: "by.kw"; kx: "by.kx"; ky: "by.ky"; kz: "by.kz"; la: "by.la"; lb: "by.lb"; lc: "by.lc"; ld: "by.ld"; le: "by.le"; lf: "by.lf"; lg: "by.lg"; lh: "by.lh"; li: "by.li"; lj: "by.lj"; lk: "by.lk"; ll: "by.ll"; lm: "by.lm"; ln: "by.ln"; lo: "by.lo"; lp: "by.lp"; lq: "by.lq"; lr: "by.lr"; ls: "by.ls"; lt: "by.lt"; lu: "by.lu"; lv: "by.lv"; lw: "by.lw"; lx: "by.lx"; ly: "by.ly"; lz: "by.lz"; ma: "by.ma"; mb: "by.mb"; mc: "by.mc"; md: "by.md"; me: "by.me"; mf: "by.mf"; mg: "by.mg"; mh: "by.mh"; mi: "by.mi"; mj: "by.mj"; mk: "by.mk"; ml: "by.ml"; mm: "by.mm"; mn: "by.mn"; mo: "by.mo"; mp: "by.mp"; mq: "by.mq"; mr: "by.mr"; ms: "by.ms"; mt: "by.mt"; mu: "by.mu"; mv: "by.mv"; mw: "by.mw"; mx: "by.mx"; my: "by.my"; mz: "by.mz"; na: "by.na"; nb: "by.nb"; nc: "by.nc"; nd: "by.nd"; ne: "by.ne"; nf: "by.nf"; ng: "by.ng"; nh: "by.nh"; ni: "by.ni"; nj: "by.nj"; nk: "by.nk"; nl: "by.nl"; nm: "by.nm"; nn: "by.nn"; no: "by.no"; np: "by.np"; nq: "by.nq"; nr: "by.nr"; ns: "by.ns"; nt: "by.nt"; nu: "by.nu"; nv: "by.nv"; nw: "by.nw"; nx: "by.nx"; ny: "by.ny"; nz: "by.nz"; oa: "by.oa"; ob: "by.ob"; oc: "by.oc"; od: "by.od"; oe: "by.oe"; of: "by.of"; og: "by.og"; oh: "by.oh"; oi: "by.oi"; oj: "by.oj"; ok: "by.ok"; ol: "by.ol"; om: "by.om"; on: "by.on"; oo: "by.oo"; op: "by.op"; oq: "by.oq"; or: "by.or"; os: "by.os"; ot: "by.ot"; ou: "by.ou"; ov: "by.ov"; ow: "by.ow"; ox: "by.ox"; oy: "by.oy"; oz: "by.oz"; pa: "by.pa"; pb: "by.pb"; pc: "by.pc"; pd: "by.pd"; pe: "by.pe"; pf: "by.pf"; pg: "by.pg"; ph: "by.ph"; pi: "by.pi"; pj: "by.pj"; pk: "by.pk"; pl: "by.pl"; pm: "by.pm"; pn: "by.pn"; po: "by.po"; pp: "by.pp"; pq: "by.pq"; pr: "by.pr"; ps: "by.ps"; pt: "by.pt"; pu: "by.pu"; pv: "by.pv"; pw: "by.pw"; px: "by.px"; py: "by.py"; pz: "by.pz"; qa: "by.qa"; qb: "by.qb"; qc: "by.qc"; qd: "by.qd"; qe: "by.qe"; qf: "by.qf"; qg: "by.qg"; qh: "by.qh"; qi: "by.qi"; qj: "by.qj"; qk: "by.qk"; ql: "by.ql"; qm: "by.qm"; qn: "by.qn"; qo: "by.qo"; qp: "by.qp"; qq: "by.qq"; qr: "by.qr"; qs: "by.qs"; qt: "by.qt"; qu: "by.qu"; qv: "by.qv"; qw: "by.qw"; qx: "by.qx"; qy: "by.qy"; qz: "by.qz"; ra: "by.ra"; rb: "by.rb"; rc: "by.rc"; rd: "by.rd"; re: "by.re"; rf: "by.rf"; rg: "by.rg"; rh: "by.rh"; ri: "by.ri"; rj: "by.rj"; rk: "by.rk"; rl: "by.rl"; rm: "by.rm"; rn: "by.rn"; ro: "by.ro"; rp: "by.rp"; rq: "by.rq"; rr: "by.rr"; rs: "by.rs"; rt: "by.rt"; ru: "by.ru"; rv: "by.rv"; rw: "by.rw"; rx: "by.rx"; ry: "by.ry"; rz: "by.rz"; sa: "by.sa"; sb: "by.sb"; sc: "by.sc"; sd: "by.sd"; se: "by.se"; sf: "by.sf"; sg: "by.sg"; sh: "by.sh"; si: "by.si"; sj: "by.sj"; sk: "by.sk"; sl: "by.sl"; sm: "by.sm"; sn: "by.sn"; so: "by.so"; sp: "by.sp"; sq: "by.sq"; sr: "by.sr"; ss: "by.ss"; st: "by.st"; su: "by.su"; sv: "by.sv"; sw: "by.sw"; sx: "by.sx"; sy: "by.sy"; sz: "by.sz"; ta: "by.ta"; tb: "by.tb"; tc: "by.tc"; td: "by.td"; te: "by.te"; tf: "by.tf"; tg: "by.tg"; th: "by.th"; ti: "by.ti"; tj: "by.tj"; tk: "by.tk"; tl: "by.tl"; tm: "by.tm"; tn: "by.tn"; to: "by.to"; tp: "by.tp"; tq: "by.tq"; tr: "by.tr"; ts: "by.ts"; tt: "by.tt"; tu: "by.tu"; tv: "by.tv"; tw: "by.tw"; tx: "by.tx"; ty: "by.ty"; tz: "by.tz"; ua: "by.ua"; ub: "by.ub"; uc: "by.uc"; ud: "by.ud"; ue: "by.ue"; uf: "by.uf"; ug: "by.ug"; uh: "by.uh"; ui: "by.ui"; uj: "by.uj"; uk: "by.uk"; ul: "by.ul"; um: "by.um"; un: "by.un"; uo: "by.uo"; up: "by.up"; uq: "by.uq"; ur: "by.ur"; us: "by.us"; ut: "by.ut"; uu: "by.uu"; uv: "by.uv"; uw: "by.uw"; ux: "by.ux"; uy: "by.uy"; uz: "by.uz"; va: "by.va"; vb: "by.vb"; vc: "by.vc"; vd: "by.vd"; ve: "by.ve"; vf: "by.vf"; vg: "by.vg"; vh: "by.vh"; vi: "by.vi"; vj: "by.vj"; vk: "by.vk"; vl: "by.vl"; vm: "by.vm"; vn: "by.vn"; vo: "by.vo"; vp: "by.vp"; vq: "by.vq"; vr: "by.vr"; vs: "by.vs"; vt: "by.vt"; vu: "by.vu"; vv: "by.vv"; vw: "by.vw"; vx: "by.vx"; vy: "by.vy"; vz: "by.vz"; wa: "by.wa"; wb: "by.wb"; wc: "by.wc"; wd: "by.wd"; we: "by.we"; wf: "by.wf"; wg: "by.wg"; wh: "by.wh"; wi: "by.wi"; wj: "by.wj"; wk: "by.wk"; wl: "by.wl"; wm: "by.wm"; wn: "by.wn"; wo: "by.wo"; wp: "by.wp"; wq: "by.wq"; wr: "by.wr"; ws: "by.ws"; wt: "by.wt"; wu: "by.wu"; wv: "by.wv"; ww: "by.ww"; wx: "by.wx"; wy: "by.wy"; wz: "by.wz"; xa: "by.xa"; xb: "by.xb"; xc: "by.xc"; xd: "by.xd"; xe: "by.xe"; xf: "by.xf"; xg: "by.xg"; xh: "by.xh"; xi: "by.xi"; xj: "by.xj"; xk: "by.xk"; xl: "by.xl"; xm: "by.xm"; xn: "by.xn"; xo: "by.xo"; xp: "by.xp"; xq: "by.xq"; xr: "by.xr"; xs: "by.xs"; xt: "by.xt"; xu: "by.xu"; xv: "by.xv"; xw: "by.xw"; xx: "by.xx"; xy: "by.xy"; xz: "by.xz"; ya: "by.ya"; yb: "by.yb"; yc: "by.yc"; yd: "by.yd"; ye: "by.ye"; yf: "by.yf"; yg: "by.yg"; yh: "by.yh"; yi: "by.yi"; yj: "by.yj"; yk: "by.yk"; yl: "by.yl"; ym: "by.ym"; yn: "by.yn"; yo: "by.yo"; yp: "by.yp"; yq: "by.yq"; yr: "by.yr"; ys: "by.ys"; yt: "by.yt"; yu: "by.yu"; yv: "by.yv"; yw: "by.yw"; yx: "by.yx"; yy: "by.yy"; yz: "by.yz"; za: "by.za"; zb: "by.zb"; zc: "by.zc"; zd: "by.zd"; ze: "by.ze"; zf: "by.zf"; zg: "by.zg"; zh: "by.zh"; zi: "by.zi"; zj: "by.zj"; zk: "by.zk"; zl: "by.zl"; zm: "by.zm"; zn: "by.zn"; zo: "by.zo"; zp: "by.zp"; zq: "by.zq"; zr: "by.zr"; zs: "by.zs"; zt: "by.zt"; zu: "by.zu"; zv: "by.zv"; zw: "by.zw"; zx: "by.zx"; zy: "by.zy"; zz: "by.zz"; }; bz: { aa: "bz.aa"; ab: "bz.ab"; ac: "bz.ac"; ad: "bz.ad"; ae: "bz.ae"; af: "bz.af"; ag: "bz.ag"; ah: "bz.ah"; ai: "bz.ai"; aj: "bz.aj"; ak: "bz.ak"; al: "bz.al"; am: "bz.am"; an: "bz.an"; ao: "bz.ao"; ap: "bz.ap"; aq: "bz.aq"; ar: "bz.ar"; as: "bz.as"; at: "bz.at"; au: "bz.au"; av: "bz.av"; aw: "bz.aw"; ax: "bz.ax"; ay: "bz.ay"; az: "bz.az"; ba: "bz.ba"; bb: "bz.bb"; bc: "bz.bc"; bd: "bz.bd"; be: "bz.be"; bf: "bz.bf"; bg: "bz.bg"; bh: "bz.bh"; bi: "bz.bi"; bj: "bz.bj"; bk: "bz.bk"; bl: "bz.bl"; bm: "bz.bm"; bn: "bz.bn"; bo: "bz.bo"; bp: "bz.bp"; bq: "bz.bq"; br: "bz.br"; bs: "bz.bs"; bt: "bz.bt"; bu: "bz.bu"; bv: "bz.bv"; bw: "bz.bw"; bx: "bz.bx"; by: "bz.by"; bz: "bz.bz"; ca: "bz.ca"; cb: "bz.cb"; cc: "bz.cc"; cd: "bz.cd"; ce: "bz.ce"; cf: "bz.cf"; cg: "bz.cg"; ch: "bz.ch"; ci: "bz.ci"; cj: "bz.cj"; ck: "bz.ck"; cl: "bz.cl"; cm: "bz.cm"; cn: "bz.cn"; co: "bz.co"; cp: "bz.cp"; cq: "bz.cq"; cr: "bz.cr"; cs: "bz.cs"; ct: "bz.ct"; cu: "bz.cu"; cv: "bz.cv"; cw: "bz.cw"; cx: "bz.cx"; cy: "bz.cy"; cz: "bz.cz"; da: "bz.da"; db: "bz.db"; dc: "bz.dc"; dd: "bz.dd"; de: "bz.de"; df: "bz.df"; dg: "bz.dg"; dh: "bz.dh"; di: "bz.di"; dj: "bz.dj"; dk: "bz.dk"; dl: "bz.dl"; dm: "bz.dm"; dn: "bz.dn"; do: "bz.do"; dp: "bz.dp"; dq: "bz.dq"; dr: "bz.dr"; ds: "bz.ds"; dt: "bz.dt"; du: "bz.du"; dv: "bz.dv"; dw: "bz.dw"; dx: "bz.dx"; dy: "bz.dy"; dz: "bz.dz"; ea: "bz.ea"; eb: "bz.eb"; ec: "bz.ec"; ed: "bz.ed"; ee: "bz.ee"; ef: "bz.ef"; eg: "bz.eg"; eh: "bz.eh"; ei: "bz.ei"; ej: "bz.ej"; ek: "bz.ek"; el: "bz.el"; em: "bz.em"; en: "bz.en"; eo: "bz.eo"; ep: "bz.ep"; eq: "bz.eq"; er: "bz.er"; es: "bz.es"; et: "bz.et"; eu: "bz.eu"; ev: "bz.ev"; ew: "bz.ew"; ex: "bz.ex"; ey: "bz.ey"; ez: "bz.ez"; fa: "bz.fa"; fb: "bz.fb"; fc: "bz.fc"; fd: "bz.fd"; fe: "bz.fe"; ff: "bz.ff"; fg: "bz.fg"; fh: "bz.fh"; fi: "bz.fi"; fj: "bz.fj"; fk: "bz.fk"; fl: "bz.fl"; fm: "bz.fm"; fn: "bz.fn"; fo: "bz.fo"; fp: "bz.fp"; fq: "bz.fq"; fr: "bz.fr"; fs: "bz.fs"; ft: "bz.ft"; fu: "bz.fu"; fv: "bz.fv"; fw: "bz.fw"; fx: "bz.fx"; fy: "bz.fy"; fz: "bz.fz"; ga: "bz.ga"; gb: "bz.gb"; gc: "bz.gc"; gd: "bz.gd"; ge: "bz.ge"; gf: "bz.gf"; gg: "bz.gg"; gh: "bz.gh"; gi: "bz.gi"; gj: "bz.gj"; gk: "bz.gk"; gl: "bz.gl"; gm: "bz.gm"; gn: "bz.gn"; go: "bz.go"; gp: "bz.gp"; gq: "bz.gq"; gr: "bz.gr"; gs: "bz.gs"; gt: "bz.gt"; gu: "bz.gu"; gv: "bz.gv"; gw: "bz.gw"; gx: "bz.gx"; gy: "bz.gy"; gz: "bz.gz"; ha: "bz.ha"; hb: "bz.hb"; hc: "bz.hc"; hd: "bz.hd"; he: "bz.he"; hf: "bz.hf"; hg: "bz.hg"; hh: "bz.hh"; hi: "bz.hi"; hj: "bz.hj"; hk: "bz.hk"; hl: "bz.hl"; hm: "bz.hm"; hn: "bz.hn"; ho: "bz.ho"; hp: "bz.hp"; hq: "bz.hq"; hr: "bz.hr"; hs: "bz.hs"; ht: "bz.ht"; hu: "bz.hu"; hv: "bz.hv"; hw: "bz.hw"; hx: "bz.hx"; hy: "bz.hy"; hz: "bz.hz"; ia: "bz.ia"; ib: "bz.ib"; ic: "bz.ic"; id: "bz.id"; ie: "bz.ie"; if: "bz.if"; ig: "bz.ig"; ih: "bz.ih"; ii: "bz.ii"; ij: "bz.ij"; ik: "bz.ik"; il: "bz.il"; im: "bz.im"; in: "bz.in"; io: "bz.io"; ip: "bz.ip"; iq: "bz.iq"; ir: "bz.ir"; is: "bz.is"; it: "bz.it"; iu: "bz.iu"; iv: "bz.iv"; iw: "bz.iw"; ix: "bz.ix"; iy: "bz.iy"; iz: "bz.iz"; ja: "bz.ja"; jb: "bz.jb"; jc: "bz.jc"; jd: "bz.jd"; je: "bz.je"; jf: "bz.jf"; jg: "bz.jg"; jh: "bz.jh"; ji: "bz.ji"; jj: "bz.jj"; jk: "bz.jk"; jl: "bz.jl"; jm: "bz.jm"; jn: "bz.jn"; jo: "bz.jo"; jp: "bz.jp"; jq: "bz.jq"; jr: "bz.jr"; js: "bz.js"; jt: "bz.jt"; ju: "bz.ju"; jv: "bz.jv"; jw: "bz.jw"; jx: "bz.jx"; jy: "bz.jy"; jz: "bz.jz"; ka: "bz.ka"; kb: "bz.kb"; kc: "bz.kc"; kd: "bz.kd"; ke: "bz.ke"; kf: "bz.kf"; kg: "bz.kg"; kh: "bz.kh"; ki: "bz.ki"; kj: "bz.kj"; kk: "bz.kk"; kl: "bz.kl"; km: "bz.km"; kn: "bz.kn"; ko: "bz.ko"; kp: "bz.kp"; kq: "bz.kq"; kr: "bz.kr"; ks: "bz.ks"; kt: "bz.kt"; ku: "bz.ku"; kv: "bz.kv"; kw: "bz.kw"; kx: "bz.kx"; ky: "bz.ky"; kz: "bz.kz"; la: "bz.la"; lb: "bz.lb"; lc: "bz.lc"; ld: "bz.ld"; le: "bz.le"; lf: "bz.lf"; lg: "bz.lg"; lh: "bz.lh"; li: "bz.li"; lj: "bz.lj"; lk: "bz.lk"; ll: "bz.ll"; lm: "bz.lm"; ln: "bz.ln"; lo: "bz.lo"; lp: "bz.lp"; lq: "bz.lq"; lr: "bz.lr"; ls: "bz.ls"; lt: "bz.lt"; lu: "bz.lu"; lv: "bz.lv"; lw: "bz.lw"; lx: "bz.lx"; ly: "bz.ly"; lz: "bz.lz"; ma: "bz.ma"; mb: "bz.mb"; mc: "bz.mc"; md: "bz.md"; me: "bz.me"; mf: "bz.mf"; mg: "bz.mg"; mh: "bz.mh"; mi: "bz.mi"; mj: "bz.mj"; mk: "bz.mk"; ml: "bz.ml"; mm: "bz.mm"; mn: "bz.mn"; mo: "bz.mo"; mp: "bz.mp"; mq: "bz.mq"; mr: "bz.mr"; ms: "bz.ms"; mt: "bz.mt"; mu: "bz.mu"; mv: "bz.mv"; mw: "bz.mw"; mx: "bz.mx"; my: "bz.my"; mz: "bz.mz"; na: "bz.na"; nb: "bz.nb"; nc: "bz.nc"; nd: "bz.nd"; ne: "bz.ne"; nf: "bz.nf"; ng: "bz.ng"; nh: "bz.nh"; ni: "bz.ni"; nj: "bz.nj"; nk: "bz.nk"; nl: "bz.nl"; nm: "bz.nm"; nn: "bz.nn"; no: "bz.no"; np: "bz.np"; nq: "bz.nq"; nr: "bz.nr"; ns: "bz.ns"; nt: "bz.nt"; nu: "bz.nu"; nv: "bz.nv"; nw: "bz.nw"; nx: "bz.nx"; ny: "bz.ny"; nz: "bz.nz"; oa: "bz.oa"; ob: "bz.ob"; oc: "bz.oc"; od: "bz.od"; oe: "bz.oe"; of: "bz.of"; og: "bz.og"; oh: "bz.oh"; oi: "bz.oi"; oj: "bz.oj"; ok: "bz.ok"; ol: "bz.ol"; om: "bz.om"; on: "bz.on"; oo: "bz.oo"; op: "bz.op"; oq: "bz.oq"; or: "bz.or"; os: "bz.os"; ot: "bz.ot"; ou: "bz.ou"; ov: "bz.ov"; ow: "bz.ow"; ox: "bz.ox"; oy: "bz.oy"; oz: "bz.oz"; pa: "bz.pa"; pb: "bz.pb"; pc: "bz.pc"; pd: "bz.pd"; pe: "bz.pe"; pf: "bz.pf"; pg: "bz.pg"; ph: "bz.ph"; pi: "bz.pi"; pj: "bz.pj"; pk: "bz.pk"; pl: "bz.pl"; pm: "bz.pm"; pn: "bz.pn"; po: "bz.po"; pp: "bz.pp"; pq: "bz.pq"; pr: "bz.pr"; ps: "bz.ps"; pt: "bz.pt"; pu: "bz.pu"; pv: "bz.pv"; pw: "bz.pw"; px: "bz.px"; py: "bz.py"; pz: "bz.pz"; qa: "bz.qa"; qb: "bz.qb"; qc: "bz.qc"; qd: "bz.qd"; qe: "bz.qe"; qf: "bz.qf"; qg: "bz.qg"; qh: "bz.qh"; qi: "bz.qi"; qj: "bz.qj"; qk: "bz.qk"; ql: "bz.ql"; qm: "bz.qm"; qn: "bz.qn"; qo: "bz.qo"; qp: "bz.qp"; qq: "bz.qq"; qr: "bz.qr"; qs: "bz.qs"; qt: "bz.qt"; qu: "bz.qu"; qv: "bz.qv"; qw: "bz.qw"; qx: "bz.qx"; qy: "bz.qy"; qz: "bz.qz"; ra: "bz.ra"; rb: "bz.rb"; rc: "bz.rc"; rd: "bz.rd"; re: "bz.re"; rf: "bz.rf"; rg: "bz.rg"; rh: "bz.rh"; ri: "bz.ri"; rj: "bz.rj"; rk: "bz.rk"; rl: "bz.rl"; rm: "bz.rm"; rn: "bz.rn"; ro: "bz.ro"; rp: "bz.rp"; rq: "bz.rq"; rr: "bz.rr"; rs: "bz.rs"; rt: "bz.rt"; ru: "bz.ru"; rv: "bz.rv"; rw: "bz.rw"; rx: "bz.rx"; ry: "bz.ry"; rz: "bz.rz"; sa: "bz.sa"; sb: "bz.sb"; sc: "bz.sc"; sd: "bz.sd"; se: "bz.se"; sf: "bz.sf"; sg: "bz.sg"; sh: "bz.sh"; si: "bz.si"; sj: "bz.sj"; sk: "bz.sk"; sl: "bz.sl"; sm: "bz.sm"; sn: "bz.sn"; so: "bz.so"; sp: "bz.sp"; sq: "bz.sq"; sr: "bz.sr"; ss: "bz.ss"; st: "bz.st"; su: "bz.su"; sv: "bz.sv"; sw: "bz.sw"; sx: "bz.sx"; sy: "bz.sy"; sz: "bz.sz"; ta: "bz.ta"; tb: "bz.tb"; tc: "bz.tc"; td: "bz.td"; te: "bz.te"; tf: "bz.tf"; tg: "bz.tg"; th: "bz.th"; ti: "bz.ti"; tj: "bz.tj"; tk: "bz.tk"; tl: "bz.tl"; tm: "bz.tm"; tn: "bz.tn"; to: "bz.to"; tp: "bz.tp"; tq: "bz.tq"; tr: "bz.tr"; ts: "bz.ts"; tt: "bz.tt"; tu: "bz.tu"; tv: "bz.tv"; tw: "bz.tw"; tx: "bz.tx"; ty: "bz.ty"; tz: "bz.tz"; ua: "bz.ua"; ub: "bz.ub"; uc: "bz.uc"; ud: "bz.ud"; ue: "bz.ue"; uf: "bz.uf"; ug: "bz.ug"; uh: "bz.uh"; ui: "bz.ui"; uj: "bz.uj"; uk: "bz.uk"; ul: "bz.ul"; um: "bz.um"; un: "bz.un"; uo: "bz.uo"; up: "bz.up"; uq: "bz.uq"; ur: "bz.ur"; us: "bz.us"; ut: "bz.ut"; uu: "bz.uu"; uv: "bz.uv"; uw: "bz.uw"; ux: "bz.ux"; uy: "bz.uy"; uz: "bz.uz"; va: "bz.va"; vb: "bz.vb"; vc: "bz.vc"; vd: "bz.vd"; ve: "bz.ve"; vf: "bz.vf"; vg: "bz.vg"; vh: "bz.vh"; vi: "bz.vi"; vj: "bz.vj"; vk: "bz.vk"; vl: "bz.vl"; vm: "bz.vm"; vn: "bz.vn"; vo: "bz.vo"; vp: "bz.vp"; vq: "bz.vq"; vr: "bz.vr"; vs: "bz.vs"; vt: "bz.vt"; vu: "bz.vu"; vv: "bz.vv"; vw: "bz.vw"; vx: "bz.vx"; vy: "bz.vy"; vz: "bz.vz"; wa: "bz.wa"; wb: "bz.wb"; wc: "bz.wc"; wd: "bz.wd"; we: "bz.we"; wf: "bz.wf"; wg: "bz.wg"; wh: "bz.wh"; wi: "bz.wi"; wj: "bz.wj"; wk: "bz.wk"; wl: "bz.wl"; wm: "bz.wm"; wn: "bz.wn"; wo: "bz.wo"; wp: "bz.wp"; wq: "bz.wq"; wr: "bz.wr"; ws: "bz.ws"; wt: "bz.wt"; wu: "bz.wu"; wv: "bz.wv"; ww: "bz.ww"; wx: "bz.wx"; wy: "bz.wy"; wz: "bz.wz"; xa: "bz.xa"; xb: "bz.xb"; xc: "bz.xc"; xd: "bz.xd"; xe: "bz.xe"; xf: "bz.xf"; xg: "bz.xg"; xh: "bz.xh"; xi: "bz.xi"; xj: "bz.xj"; xk: "bz.xk"; xl: "bz.xl"; xm: "bz.xm"; xn: "bz.xn"; xo: "bz.xo"; xp: "bz.xp"; xq: "bz.xq"; xr: "bz.xr"; xs: "bz.xs"; xt: "bz.xt"; xu: "bz.xu"; xv: "bz.xv"; xw: "bz.xw"; xx: "bz.xx"; xy: "bz.xy"; xz: "bz.xz"; ya: "bz.ya"; yb: "bz.yb"; yc: "bz.yc"; yd: "bz.yd"; ye: "bz.ye"; yf: "bz.yf"; yg: "bz.yg"; yh: "bz.yh"; yi: "bz.yi"; yj: "bz.yj"; yk: "bz.yk"; yl: "bz.yl"; ym: "bz.ym"; yn: "bz.yn"; yo: "bz.yo"; yp: "bz.yp"; yq: "bz.yq"; yr: "bz.yr"; ys: "bz.ys"; yt: "bz.yt"; yu: "bz.yu"; yv: "bz.yv"; yw: "bz.yw"; yx: "bz.yx"; yy: "bz.yy"; yz: "bz.yz"; za: "bz.za"; zb: "bz.zb"; zc: "bz.zc"; zd: "bz.zd"; ze: "bz.ze"; zf: "bz.zf"; zg: "bz.zg"; zh: "bz.zh"; zi: "bz.zi"; zj: "bz.zj"; zk: "bz.zk"; zl: "bz.zl"; zm: "bz.zm"; zn: "bz.zn"; zo: "bz.zo"; zp: "bz.zp"; zq: "bz.zq"; zr: "bz.zr"; zs: "bz.zs"; zt: "bz.zt"; zu: "bz.zu"; zv: "bz.zv"; zw: "bz.zw"; zx: "bz.zx"; zy: "bz.zy"; zz: "bz.zz"; }; ca: { aa: "ca.aa"; ab: "ca.ab"; ac: "ca.ac"; ad: "ca.ad"; ae: "ca.ae"; af: "ca.af"; ag: "ca.ag"; ah: "ca.ah"; ai: "ca.ai"; aj: "ca.aj"; ak: "ca.ak"; al: "ca.al"; am: "ca.am"; an: "ca.an"; ao: "ca.ao"; ap: "ca.ap"; aq: "ca.aq"; ar: "ca.ar"; as: "ca.as"; at: "ca.at"; au: "ca.au"; av: "ca.av"; aw: "ca.aw"; ax: "ca.ax"; ay: "ca.ay"; az: "ca.az"; ba: "ca.ba"; bb: "ca.bb"; bc: "ca.bc"; bd: "ca.bd"; be: "ca.be"; bf: "ca.bf"; bg: "ca.bg"; bh: "ca.bh"; bi: "ca.bi"; bj: "ca.bj"; bk: "ca.bk"; bl: "ca.bl"; bm: "ca.bm"; bn: "ca.bn"; bo: "ca.bo"; bp: "ca.bp"; bq: "ca.bq"; br: "ca.br"; bs: "ca.bs"; bt: "ca.bt"; bu: "ca.bu"; bv: "ca.bv"; bw: "ca.bw"; bx: "ca.bx"; by: "ca.by"; bz: "ca.bz"; ca: "ca.ca"; cb: "ca.cb"; cc: "ca.cc"; cd: "ca.cd"; ce: "ca.ce"; cf: "ca.cf"; cg: "ca.cg"; ch: "ca.ch"; ci: "ca.ci"; cj: "ca.cj"; ck: "ca.ck"; cl: "ca.cl"; cm: "ca.cm"; cn: "ca.cn"; co: "ca.co"; cp: "ca.cp"; cq: "ca.cq"; cr: "ca.cr"; cs: "ca.cs"; ct: "ca.ct"; cu: "ca.cu"; cv: "ca.cv"; cw: "ca.cw"; cx: "ca.cx"; cy: "ca.cy"; cz: "ca.cz"; da: "ca.da"; db: "ca.db"; dc: "ca.dc"; dd: "ca.dd"; de: "ca.de"; df: "ca.df"; dg: "ca.dg"; dh: "ca.dh"; di: "ca.di"; dj: "ca.dj"; dk: "ca.dk"; dl: "ca.dl"; dm: "ca.dm"; dn: "ca.dn"; do: "ca.do"; dp: "ca.dp"; dq: "ca.dq"; dr: "ca.dr"; ds: "ca.ds"; dt: "ca.dt"; du: "ca.du"; dv: "ca.dv"; dw: "ca.dw"; dx: "ca.dx"; dy: "ca.dy"; dz: "ca.dz"; ea: "ca.ea"; eb: "ca.eb"; ec: "ca.ec"; ed: "ca.ed"; ee: "ca.ee"; ef: "ca.ef"; eg: "ca.eg"; eh: "ca.eh"; ei: "ca.ei"; ej: "ca.ej"; ek: "ca.ek"; el: "ca.el"; em: "ca.em"; en: "ca.en"; eo: "ca.eo"; ep: "ca.ep"; eq: "ca.eq"; er: "ca.er"; es: "ca.es"; et: "ca.et"; eu: "ca.eu"; ev: "ca.ev"; ew: "ca.ew"; ex: "ca.ex"; ey: "ca.ey"; ez: "ca.ez"; fa: "ca.fa"; fb: "ca.fb"; fc: "ca.fc"; fd: "ca.fd"; fe: "ca.fe"; ff: "ca.ff"; fg: "ca.fg"; fh: "ca.fh"; fi: "ca.fi"; fj: "ca.fj"; fk: "ca.fk"; fl: "ca.fl"; fm: "ca.fm"; fn: "ca.fn"; fo: "ca.fo"; fp: "ca.fp"; fq: "ca.fq"; fr: "ca.fr"; fs: "ca.fs"; ft: "ca.ft"; fu: "ca.fu"; fv: "ca.fv"; fw: "ca.fw"; fx: "ca.fx"; fy: "ca.fy"; fz: "ca.fz"; ga: "ca.ga"; gb: "ca.gb"; gc: "ca.gc"; gd: "ca.gd"; ge: "ca.ge"; gf: "ca.gf"; gg: "ca.gg"; gh: "ca.gh"; gi: "ca.gi"; gj: "ca.gj"; gk: "ca.gk"; gl: "ca.gl"; gm: "ca.gm"; gn: "ca.gn"; go: "ca.go"; gp: "ca.gp"; gq: "ca.gq"; gr: "ca.gr"; gs: "ca.gs"; gt: "ca.gt"; gu: "ca.gu"; gv: "ca.gv"; gw: "ca.gw"; gx: "ca.gx"; gy: "ca.gy"; gz: "ca.gz"; ha: "ca.ha"; hb: "ca.hb"; hc: "ca.hc"; hd: "ca.hd"; he: "ca.he"; hf: "ca.hf"; hg: "ca.hg"; hh: "ca.hh"; hi: "ca.hi"; hj: "ca.hj"; hk: "ca.hk"; hl: "ca.hl"; hm: "ca.hm"; hn: "ca.hn"; ho: "ca.ho"; hp: "ca.hp"; hq: "ca.hq"; hr: "ca.hr"; hs: "ca.hs"; ht: "ca.ht"; hu: "ca.hu"; hv: "ca.hv"; hw: "ca.hw"; hx: "ca.hx"; hy: "ca.hy"; hz: "ca.hz"; ia: "ca.ia"; ib: "ca.ib"; ic: "ca.ic"; id: "ca.id"; ie: "ca.ie"; if: "ca.if"; ig: "ca.ig"; ih: "ca.ih"; ii: "ca.ii"; ij: "ca.ij"; ik: "ca.ik"; il: "ca.il"; im: "ca.im"; in: "ca.in"; io: "ca.io"; ip: "ca.ip"; iq: "ca.iq"; ir: "ca.ir"; is: "ca.is"; it: "ca.it"; iu: "ca.iu"; iv: "ca.iv"; iw: "ca.iw"; ix: "ca.ix"; iy: "ca.iy"; iz: "ca.iz"; ja: "ca.ja"; jb: "ca.jb"; jc: "ca.jc"; jd: "ca.jd"; je: "ca.je"; jf: "ca.jf"; jg: "ca.jg"; jh: "ca.jh"; ji: "ca.ji"; jj: "ca.jj"; jk: "ca.jk"; jl: "ca.jl"; jm: "ca.jm"; jn: "ca.jn"; jo: "ca.jo"; jp: "ca.jp"; jq: "ca.jq"; jr: "ca.jr"; js: "ca.js"; jt: "ca.jt"; ju: "ca.ju"; jv: "ca.jv"; jw: "ca.jw"; jx: "ca.jx"; jy: "ca.jy"; jz: "ca.jz"; ka: "ca.ka"; kb: "ca.kb"; kc: "ca.kc"; kd: "ca.kd"; ke: "ca.ke"; kf: "ca.kf"; kg: "ca.kg"; kh: "ca.kh"; ki: "ca.ki"; kj: "ca.kj"; kk: "ca.kk"; kl: "ca.kl"; km: "ca.km"; kn: "ca.kn"; ko: "ca.ko"; kp: "ca.kp"; kq: "ca.kq"; kr: "ca.kr"; ks: "ca.ks"; kt: "ca.kt"; ku: "ca.ku"; kv: "ca.kv"; kw: "ca.kw"; kx: "ca.kx"; ky: "ca.ky"; kz: "ca.kz"; la: "ca.la"; lb: "ca.lb"; lc: "ca.lc"; ld: "ca.ld"; le: "ca.le"; lf: "ca.lf"; lg: "ca.lg"; lh: "ca.lh"; li: "ca.li"; lj: "ca.lj"; lk: "ca.lk"; ll: "ca.ll"; lm: "ca.lm"; ln: "ca.ln"; lo: "ca.lo"; lp: "ca.lp"; lq: "ca.lq"; lr: "ca.lr"; ls: "ca.ls"; lt: "ca.lt"; lu: "ca.lu"; lv: "ca.lv"; lw: "ca.lw"; lx: "ca.lx"; ly: "ca.ly"; lz: "ca.lz"; ma: "ca.ma"; mb: "ca.mb"; mc: "ca.mc"; md: "ca.md"; me: "ca.me"; mf: "ca.mf"; mg: "ca.mg"; mh: "ca.mh"; mi: "ca.mi"; mj: "ca.mj"; mk: "ca.mk"; ml: "ca.ml"; mm: "ca.mm"; mn: "ca.mn"; mo: "ca.mo"; mp: "ca.mp"; mq: "ca.mq"; mr: "ca.mr"; ms: "ca.ms"; mt: "ca.mt"; mu: "ca.mu"; mv: "ca.mv"; mw: "ca.mw"; mx: "ca.mx"; my: "ca.my"; mz: "ca.mz"; na: "ca.na"; nb: "ca.nb"; nc: "ca.nc"; nd: "ca.nd"; ne: "ca.ne"; nf: "ca.nf"; ng: "ca.ng"; nh: "ca.nh"; ni: "ca.ni"; nj: "ca.nj"; nk: "ca.nk"; nl: "ca.nl"; nm: "ca.nm"; nn: "ca.nn"; no: "ca.no"; np: "ca.np"; nq: "ca.nq"; nr: "ca.nr"; ns: "ca.ns"; nt: "ca.nt"; nu: "ca.nu"; nv: "ca.nv"; nw: "ca.nw"; nx: "ca.nx"; ny: "ca.ny"; nz: "ca.nz"; oa: "ca.oa"; ob: "ca.ob"; oc: "ca.oc"; od: "ca.od"; oe: "ca.oe"; of: "ca.of"; og: "ca.og"; oh: "ca.oh"; oi: "ca.oi"; oj: "ca.oj"; ok: "ca.ok"; ol: "ca.ol"; om: "ca.om"; on: "ca.on"; oo: "ca.oo"; op: "ca.op"; oq: "ca.oq"; or: "ca.or"; os: "ca.os"; ot: "ca.ot"; ou: "ca.ou"; ov: "ca.ov"; ow: "ca.ow"; ox: "ca.ox"; oy: "ca.oy"; oz: "ca.oz"; pa: "ca.pa"; pb: "ca.pb"; pc: "ca.pc"; pd: "ca.pd"; pe: "ca.pe"; pf: "ca.pf"; pg: "ca.pg"; ph: "ca.ph"; pi: "ca.pi"; pj: "ca.pj"; pk: "ca.pk"; pl: "ca.pl"; pm: "ca.pm"; pn: "ca.pn"; po: "ca.po"; pp: "ca.pp"; pq: "ca.pq"; pr: "ca.pr"; ps: "ca.ps"; pt: "ca.pt"; pu: "ca.pu"; pv: "ca.pv"; pw: "ca.pw"; px: "ca.px"; py: "ca.py"; pz: "ca.pz"; qa: "ca.qa"; qb: "ca.qb"; qc: "ca.qc"; qd: "ca.qd"; qe: "ca.qe"; qf: "ca.qf"; qg: "ca.qg"; qh: "ca.qh"; qi: "ca.qi"; qj: "ca.qj"; qk: "ca.qk"; ql: "ca.ql"; qm: "ca.qm"; qn: "ca.qn"; qo: "ca.qo"; qp: "ca.qp"; qq: "ca.qq"; qr: "ca.qr"; qs: "ca.qs"; qt: "ca.qt"; qu: "ca.qu"; qv: "ca.qv"; qw: "ca.qw"; qx: "ca.qx"; qy: "ca.qy"; qz: "ca.qz"; ra: "ca.ra"; rb: "ca.rb"; rc: "ca.rc"; rd: "ca.rd"; re: "ca.re"; rf: "ca.rf"; rg: "ca.rg"; rh: "ca.rh"; ri: "ca.ri"; rj: "ca.rj"; rk: "ca.rk"; rl: "ca.rl"; rm: "ca.rm"; rn: "ca.rn"; ro: "ca.ro"; rp: "ca.rp"; rq: "ca.rq"; rr: "ca.rr"; rs: "ca.rs"; rt: "ca.rt"; ru: "ca.ru"; rv: "ca.rv"; rw: "ca.rw"; rx: "ca.rx"; ry: "ca.ry"; rz: "ca.rz"; sa: "ca.sa"; sb: "ca.sb"; sc: "ca.sc"; sd: "ca.sd"; se: "ca.se"; sf: "ca.sf"; sg: "ca.sg"; sh: "ca.sh"; si: "ca.si"; sj: "ca.sj"; sk: "ca.sk"; sl: "ca.sl"; sm: "ca.sm"; sn: "ca.sn"; so: "ca.so"; sp: "ca.sp"; sq: "ca.sq"; sr: "ca.sr"; ss: "ca.ss"; st: "ca.st"; su: "ca.su"; sv: "ca.sv"; sw: "ca.sw"; sx: "ca.sx"; sy: "ca.sy"; sz: "ca.sz"; ta: "ca.ta"; tb: "ca.tb"; tc: "ca.tc"; td: "ca.td"; te: "ca.te"; tf: "ca.tf"; tg: "ca.tg"; th: "ca.th"; ti: "ca.ti"; tj: "ca.tj"; tk: "ca.tk"; tl: "ca.tl"; tm: "ca.tm"; tn: "ca.tn"; to: "ca.to"; tp: "ca.tp"; tq: "ca.tq"; tr: "ca.tr"; ts: "ca.ts"; tt: "ca.tt"; tu: "ca.tu"; tv: "ca.tv"; tw: "ca.tw"; tx: "ca.tx"; ty: "ca.ty"; tz: "ca.tz"; ua: "ca.ua"; ub: "ca.ub"; uc: "ca.uc"; ud: "ca.ud"; ue: "ca.ue"; uf: "ca.uf"; ug: "ca.ug"; uh: "ca.uh"; ui: "ca.ui"; uj: "ca.uj"; uk: "ca.uk"; ul: "ca.ul"; um: "ca.um"; un: "ca.un"; uo: "ca.uo"; up: "ca.up"; uq: "ca.uq"; ur: "ca.ur"; us: "ca.us"; ut: "ca.ut"; uu: "ca.uu"; uv: "ca.uv"; uw: "ca.uw"; ux: "ca.ux"; uy: "ca.uy"; uz: "ca.uz"; va: "ca.va"; vb: "ca.vb"; vc: "ca.vc"; vd: "ca.vd"; ve: "ca.ve"; vf: "ca.vf"; vg: "ca.vg"; vh: "ca.vh"; vi: "ca.vi"; vj: "ca.vj"; vk: "ca.vk"; vl: "ca.vl"; vm: "ca.vm"; vn: "ca.vn"; vo: "ca.vo"; vp: "ca.vp"; vq: "ca.vq"; vr: "ca.vr"; vs: "ca.vs"; vt: "ca.vt"; vu: "ca.vu"; vv: "ca.vv"; vw: "ca.vw"; vx: "ca.vx"; vy: "ca.vy"; vz: "ca.vz"; wa: "ca.wa"; wb: "ca.wb"; wc: "ca.wc"; wd: "ca.wd"; we: "ca.we"; wf: "ca.wf"; wg: "ca.wg"; wh: "ca.wh"; wi: "ca.wi"; wj: "ca.wj"; wk: "ca.wk"; wl: "ca.wl"; wm: "ca.wm"; wn: "ca.wn"; wo: "ca.wo"; wp: "ca.wp"; wq: "ca.wq"; wr: "ca.wr"; ws: "ca.ws"; wt: "ca.wt"; wu: "ca.wu"; wv: "ca.wv"; ww: "ca.ww"; wx: "ca.wx"; wy: "ca.wy"; wz: "ca.wz"; xa: "ca.xa"; xb: "ca.xb"; xc: "ca.xc"; xd: "ca.xd"; xe: "ca.xe"; xf: "ca.xf"; xg: "ca.xg"; xh: "ca.xh"; xi: "ca.xi"; xj: "ca.xj"; xk: "ca.xk"; xl: "ca.xl"; xm: "ca.xm"; xn: "ca.xn"; xo: "ca.xo"; xp: "ca.xp"; xq: "ca.xq"; xr: "ca.xr"; xs: "ca.xs"; xt: "ca.xt"; xu: "ca.xu"; xv: "ca.xv"; xw: "ca.xw"; xx: "ca.xx"; xy: "ca.xy"; xz: "ca.xz"; ya: "ca.ya"; yb: "ca.yb"; yc: "ca.yc"; yd: "ca.yd"; ye: "ca.ye"; yf: "ca.yf"; yg: "ca.yg"; yh: "ca.yh"; yi: "ca.yi"; yj: "ca.yj"; yk: "ca.yk"; yl: "ca.yl"; ym: "ca.ym"; yn: "ca.yn"; yo: "ca.yo"; yp: "ca.yp"; yq: "ca.yq"; yr: "ca.yr"; ys: "ca.ys"; yt: "ca.yt"; yu: "ca.yu"; yv: "ca.yv"; yw: "ca.yw"; yx: "ca.yx"; yy: "ca.yy"; yz: "ca.yz"; za: "ca.za"; zb: "ca.zb"; zc: "ca.zc"; zd: "ca.zd"; ze: "ca.ze"; zf: "ca.zf"; zg: "ca.zg"; zh: "ca.zh"; zi: "ca.zi"; zj: "ca.zj"; zk: "ca.zk"; zl: "ca.zl"; zm: "ca.zm"; zn: "ca.zn"; zo: "ca.zo"; zp: "ca.zp"; zq: "ca.zq"; zr: "ca.zr"; zs: "ca.zs"; zt: "ca.zt"; zu: "ca.zu"; zv: "ca.zv"; zw: "ca.zw"; zx: "ca.zx"; zy: "ca.zy"; zz: "ca.zz"; }; cb: { aa: "cb.aa"; ab: "cb.ab"; ac: "cb.ac"; ad: "cb.ad"; ae: "cb.ae"; af: "cb.af"; ag: "cb.ag"; ah: "cb.ah"; ai: "cb.ai"; aj: "cb.aj"; ak: "cb.ak"; al: "cb.al"; am: "cb.am"; an: "cb.an"; ao: "cb.ao"; ap: "cb.ap"; aq: "cb.aq"; ar: "cb.ar"; as: "cb.as"; at: "cb.at"; au: "cb.au"; av: "cb.av"; aw: "cb.aw"; ax: "cb.ax"; ay: "cb.ay"; az: "cb.az"; ba: "cb.ba"; bb: "cb.bb"; bc: "cb.bc"; bd: "cb.bd"; be: "cb.be"; bf: "cb.bf"; bg: "cb.bg"; bh: "cb.bh"; bi: "cb.bi"; bj: "cb.bj"; bk: "cb.bk"; bl: "cb.bl"; bm: "cb.bm"; bn: "cb.bn"; bo: "cb.bo"; bp: "cb.bp"; bq: "cb.bq"; br: "cb.br"; bs: "cb.bs"; bt: "cb.bt"; bu: "cb.bu"; bv: "cb.bv"; bw: "cb.bw"; bx: "cb.bx"; by: "cb.by"; bz: "cb.bz"; ca: "cb.ca"; cb: "cb.cb"; cc: "cb.cc"; cd: "cb.cd"; ce: "cb.ce"; cf: "cb.cf"; cg: "cb.cg"; ch: "cb.ch"; ci: "cb.ci"; cj: "cb.cj"; ck: "cb.ck"; cl: "cb.cl"; cm: "cb.cm"; cn: "cb.cn"; co: "cb.co"; cp: "cb.cp"; cq: "cb.cq"; cr: "cb.cr"; cs: "cb.cs"; ct: "cb.ct"; cu: "cb.cu"; cv: "cb.cv"; cw: "cb.cw"; cx: "cb.cx"; cy: "cb.cy"; cz: "cb.cz"; da: "cb.da"; db: "cb.db"; dc: "cb.dc"; dd: "cb.dd"; de: "cb.de"; df: "cb.df"; dg: "cb.dg"; dh: "cb.dh"; di: "cb.di"; dj: "cb.dj"; dk: "cb.dk"; dl: "cb.dl"; dm: "cb.dm"; dn: "cb.dn"; do: "cb.do"; dp: "cb.dp"; dq: "cb.dq"; dr: "cb.dr"; ds: "cb.ds"; dt: "cb.dt"; du: "cb.du"; dv: "cb.dv"; dw: "cb.dw"; dx: "cb.dx"; dy: "cb.dy"; dz: "cb.dz"; ea: "cb.ea"; eb: "cb.eb"; ec: "cb.ec"; ed: "cb.ed"; ee: "cb.ee"; ef: "cb.ef"; eg: "cb.eg"; eh: "cb.eh"; ei: "cb.ei"; ej: "cb.ej"; ek: "cb.ek"; el: "cb.el"; em: "cb.em"; en: "cb.en"; eo: "cb.eo"; ep: "cb.ep"; eq: "cb.eq"; er: "cb.er"; es: "cb.es"; et: "cb.et"; eu: "cb.eu"; ev: "cb.ev"; ew: "cb.ew"; ex: "cb.ex"; ey: "cb.ey"; ez: "cb.ez"; fa: "cb.fa"; fb: "cb.fb"; fc: "cb.fc"; fd: "cb.fd"; fe: "cb.fe"; ff: "cb.ff"; fg: "cb.fg"; fh: "cb.fh"; fi: "cb.fi"; fj: "cb.fj"; fk: "cb.fk"; fl: "cb.fl"; fm: "cb.fm"; fn: "cb.fn"; fo: "cb.fo"; fp: "cb.fp"; fq: "cb.fq"; fr: "cb.fr"; fs: "cb.fs"; ft: "cb.ft"; fu: "cb.fu"; fv: "cb.fv"; fw: "cb.fw"; fx: "cb.fx"; fy: "cb.fy"; fz: "cb.fz"; ga: "cb.ga"; gb: "cb.gb"; gc: "cb.gc"; gd: "cb.gd"; ge: "cb.ge"; gf: "cb.gf"; gg: "cb.gg"; gh: "cb.gh"; gi: "cb.gi"; gj: "cb.gj"; gk: "cb.gk"; gl: "cb.gl"; gm: "cb.gm"; gn: "cb.gn"; go: "cb.go"; gp: "cb.gp"; gq: "cb.gq"; gr: "cb.gr"; gs: "cb.gs"; gt: "cb.gt"; gu: "cb.gu"; gv: "cb.gv"; gw: "cb.gw"; gx: "cb.gx"; gy: "cb.gy"; gz: "cb.gz"; ha: "cb.ha"; hb: "cb.hb"; hc: "cb.hc"; hd: "cb.hd"; he: "cb.he"; hf: "cb.hf"; hg: "cb.hg"; hh: "cb.hh"; hi: "cb.hi"; hj: "cb.hj"; hk: "cb.hk"; hl: "cb.hl"; hm: "cb.hm"; hn: "cb.hn"; ho: "cb.ho"; hp: "cb.hp"; hq: "cb.hq"; hr: "cb.hr"; hs: "cb.hs"; ht: "cb.ht"; hu: "cb.hu"; hv: "cb.hv"; hw: "cb.hw"; hx: "cb.hx"; hy: "cb.hy"; hz: "cb.hz"; ia: "cb.ia"; ib: "cb.ib"; ic: "cb.ic"; id: "cb.id"; ie: "cb.ie"; if: "cb.if"; ig: "cb.ig"; ih: "cb.ih"; ii: "cb.ii"; ij: "cb.ij"; ik: "cb.ik"; il: "cb.il"; im: "cb.im"; in: "cb.in"; io: "cb.io"; ip: "cb.ip"; iq: "cb.iq"; ir: "cb.ir"; is: "cb.is"; it: "cb.it"; iu: "cb.iu"; iv: "cb.iv"; iw: "cb.iw"; ix: "cb.ix"; iy: "cb.iy"; iz: "cb.iz"; ja: "cb.ja"; jb: "cb.jb"; jc: "cb.jc"; jd: "cb.jd"; je: "cb.je"; jf: "cb.jf"; jg: "cb.jg"; jh: "cb.jh"; ji: "cb.ji"; jj: "cb.jj"; jk: "cb.jk"; jl: "cb.jl"; jm: "cb.jm"; jn: "cb.jn"; jo: "cb.jo"; jp: "cb.jp"; jq: "cb.jq"; jr: "cb.jr"; js: "cb.js"; jt: "cb.jt"; ju: "cb.ju"; jv: "cb.jv"; jw: "cb.jw"; jx: "cb.jx"; jy: "cb.jy"; jz: "cb.jz"; ka: "cb.ka"; kb: "cb.kb"; kc: "cb.kc"; kd: "cb.kd"; ke: "cb.ke"; kf: "cb.kf"; kg: "cb.kg"; kh: "cb.kh"; ki: "cb.ki"; kj: "cb.kj"; kk: "cb.kk"; kl: "cb.kl"; km: "cb.km"; kn: "cb.kn"; ko: "cb.ko"; kp: "cb.kp"; kq: "cb.kq"; kr: "cb.kr"; ks: "cb.ks"; kt: "cb.kt"; ku: "cb.ku"; kv: "cb.kv"; kw: "cb.kw"; kx: "cb.kx"; ky: "cb.ky"; kz: "cb.kz"; la: "cb.la"; lb: "cb.lb"; lc: "cb.lc"; ld: "cb.ld"; le: "cb.le"; lf: "cb.lf"; lg: "cb.lg"; lh: "cb.lh"; li: "cb.li"; lj: "cb.lj"; lk: "cb.lk"; ll: "cb.ll"; lm: "cb.lm"; ln: "cb.ln"; lo: "cb.lo"; lp: "cb.lp"; lq: "cb.lq"; lr: "cb.lr"; ls: "cb.ls"; lt: "cb.lt"; lu: "cb.lu"; lv: "cb.lv"; lw: "cb.lw"; lx: "cb.lx"; ly: "cb.ly"; lz: "cb.lz"; ma: "cb.ma"; mb: "cb.mb"; mc: "cb.mc"; md: "cb.md"; me: "cb.me"; mf: "cb.mf"; mg: "cb.mg"; mh: "cb.mh"; mi: "cb.mi"; mj: "cb.mj"; mk: "cb.mk"; ml: "cb.ml"; mm: "cb.mm"; mn: "cb.mn"; mo: "cb.mo"; mp: "cb.mp"; mq: "cb.mq"; mr: "cb.mr"; ms: "cb.ms"; mt: "cb.mt"; mu: "cb.mu"; mv: "cb.mv"; mw: "cb.mw"; mx: "cb.mx"; my: "cb.my"; mz: "cb.mz"; na: "cb.na"; nb: "cb.nb"; nc: "cb.nc"; nd: "cb.nd"; ne: "cb.ne"; nf: "cb.nf"; ng: "cb.ng"; nh: "cb.nh"; ni: "cb.ni"; nj: "cb.nj"; nk: "cb.nk"; nl: "cb.nl"; nm: "cb.nm"; nn: "cb.nn"; no: "cb.no"; np: "cb.np"; nq: "cb.nq"; nr: "cb.nr"; ns: "cb.ns"; nt: "cb.nt"; nu: "cb.nu"; nv: "cb.nv"; nw: "cb.nw"; nx: "cb.nx"; ny: "cb.ny"; nz: "cb.nz"; oa: "cb.oa"; ob: "cb.ob"; oc: "cb.oc"; od: "cb.od"; oe: "cb.oe"; of: "cb.of"; og: "cb.og"; oh: "cb.oh"; oi: "cb.oi"; oj: "cb.oj"; ok: "cb.ok"; ol: "cb.ol"; om: "cb.om"; on: "cb.on"; oo: "cb.oo"; op: "cb.op"; oq: "cb.oq"; or: "cb.or"; os: "cb.os"; ot: "cb.ot"; ou: "cb.ou"; ov: "cb.ov"; ow: "cb.ow"; ox: "cb.ox"; oy: "cb.oy"; oz: "cb.oz"; pa: "cb.pa"; pb: "cb.pb"; pc: "cb.pc"; pd: "cb.pd"; pe: "cb.pe"; pf: "cb.pf"; pg: "cb.pg"; ph: "cb.ph"; pi: "cb.pi"; pj: "cb.pj"; pk: "cb.pk"; pl: "cb.pl"; pm: "cb.pm"; pn: "cb.pn"; po: "cb.po"; pp: "cb.pp"; pq: "cb.pq"; pr: "cb.pr"; ps: "cb.ps"; pt: "cb.pt"; pu: "cb.pu"; pv: "cb.pv"; pw: "cb.pw"; px: "cb.px"; py: "cb.py"; pz: "cb.pz"; qa: "cb.qa"; qb: "cb.qb"; qc: "cb.qc"; qd: "cb.qd"; qe: "cb.qe"; qf: "cb.qf"; qg: "cb.qg"; qh: "cb.qh"; qi: "cb.qi"; qj: "cb.qj"; qk: "cb.qk"; ql: "cb.ql"; qm: "cb.qm"; qn: "cb.qn"; qo: "cb.qo"; qp: "cb.qp"; qq: "cb.qq"; qr: "cb.qr"; qs: "cb.qs"; qt: "cb.qt"; qu: "cb.qu"; qv: "cb.qv"; qw: "cb.qw"; qx: "cb.qx"; qy: "cb.qy"; qz: "cb.qz"; ra: "cb.ra"; rb: "cb.rb"; rc: "cb.rc"; rd: "cb.rd"; re: "cb.re"; rf: "cb.rf"; rg: "cb.rg"; rh: "cb.rh"; ri: "cb.ri"; rj: "cb.rj"; rk: "cb.rk"; rl: "cb.rl"; rm: "cb.rm"; rn: "cb.rn"; ro: "cb.ro"; rp: "cb.rp"; rq: "cb.rq"; rr: "cb.rr"; rs: "cb.rs"; rt: "cb.rt"; ru: "cb.ru"; rv: "cb.rv"; rw: "cb.rw"; rx: "cb.rx"; ry: "cb.ry"; rz: "cb.rz"; sa: "cb.sa"; sb: "cb.sb"; sc: "cb.sc"; sd: "cb.sd"; se: "cb.se"; sf: "cb.sf"; sg: "cb.sg"; sh: "cb.sh"; si: "cb.si"; sj: "cb.sj"; sk: "cb.sk"; sl: "cb.sl"; sm: "cb.sm"; sn: "cb.sn"; so: "cb.so"; sp: "cb.sp"; sq: "cb.sq"; sr: "cb.sr"; ss: "cb.ss"; st: "cb.st"; su: "cb.su"; sv: "cb.sv"; sw: "cb.sw"; sx: "cb.sx"; sy: "cb.sy"; sz: "cb.sz"; ta: "cb.ta"; tb: "cb.tb"; tc: "cb.tc"; td: "cb.td"; te: "cb.te"; tf: "cb.tf"; tg: "cb.tg"; th: "cb.th"; ti: "cb.ti"; tj: "cb.tj"; tk: "cb.tk"; tl: "cb.tl"; tm: "cb.tm"; tn: "cb.tn"; to: "cb.to"; tp: "cb.tp"; tq: "cb.tq"; tr: "cb.tr"; ts: "cb.ts"; tt: "cb.tt"; tu: "cb.tu"; tv: "cb.tv"; tw: "cb.tw"; tx: "cb.tx"; ty: "cb.ty"; tz: "cb.tz"; ua: "cb.ua"; ub: "cb.ub"; uc: "cb.uc"; ud: "cb.ud"; ue: "cb.ue"; uf: "cb.uf"; ug: "cb.ug"; uh: "cb.uh"; ui: "cb.ui"; uj: "cb.uj"; uk: "cb.uk"; ul: "cb.ul"; um: "cb.um"; un: "cb.un"; uo: "cb.uo"; up: "cb.up"; uq: "cb.uq"; ur: "cb.ur"; us: "cb.us"; ut: "cb.ut"; uu: "cb.uu"; uv: "cb.uv"; uw: "cb.uw"; ux: "cb.ux"; uy: "cb.uy"; uz: "cb.uz"; va: "cb.va"; vb: "cb.vb"; vc: "cb.vc"; vd: "cb.vd"; ve: "cb.ve"; vf: "cb.vf"; vg: "cb.vg"; vh: "cb.vh"; vi: "cb.vi"; vj: "cb.vj"; vk: "cb.vk"; vl: "cb.vl"; vm: "cb.vm"; vn: "cb.vn"; vo: "cb.vo"; vp: "cb.vp"; vq: "cb.vq"; vr: "cb.vr"; vs: "cb.vs"; vt: "cb.vt"; vu: "cb.vu"; vv: "cb.vv"; vw: "cb.vw"; vx: "cb.vx"; vy: "cb.vy"; vz: "cb.vz"; wa: "cb.wa"; wb: "cb.wb"; wc: "cb.wc"; wd: "cb.wd"; we: "cb.we"; wf: "cb.wf"; wg: "cb.wg"; wh: "cb.wh"; wi: "cb.wi"; wj: "cb.wj"; wk: "cb.wk"; wl: "cb.wl"; wm: "cb.wm"; wn: "cb.wn"; wo: "cb.wo"; wp: "cb.wp"; wq: "cb.wq"; wr: "cb.wr"; ws: "cb.ws"; wt: "cb.wt"; wu: "cb.wu"; wv: "cb.wv"; ww: "cb.ww"; wx: "cb.wx"; wy: "cb.wy"; wz: "cb.wz"; xa: "cb.xa"; xb: "cb.xb"; xc: "cb.xc"; xd: "cb.xd"; xe: "cb.xe"; xf: "cb.xf"; xg: "cb.xg"; xh: "cb.xh"; xi: "cb.xi"; xj: "cb.xj"; xk: "cb.xk"; xl: "cb.xl"; xm: "cb.xm"; xn: "cb.xn"; xo: "cb.xo"; xp: "cb.xp"; xq: "cb.xq"; xr: "cb.xr"; xs: "cb.xs"; xt: "cb.xt"; xu: "cb.xu"; xv: "cb.xv"; xw: "cb.xw"; xx: "cb.xx"; xy: "cb.xy"; xz: "cb.xz"; ya: "cb.ya"; yb: "cb.yb"; yc: "cb.yc"; yd: "cb.yd"; ye: "cb.ye"; yf: "cb.yf"; yg: "cb.yg"; yh: "cb.yh"; yi: "cb.yi"; yj: "cb.yj"; yk: "cb.yk"; yl: "cb.yl"; ym: "cb.ym"; yn: "cb.yn"; yo: "cb.yo"; yp: "cb.yp"; yq: "cb.yq"; yr: "cb.yr"; ys: "cb.ys"; yt: "cb.yt"; yu: "cb.yu"; yv: "cb.yv"; yw: "cb.yw"; yx: "cb.yx"; yy: "cb.yy"; yz: "cb.yz"; za: "cb.za"; zb: "cb.zb"; zc: "cb.zc"; zd: "cb.zd"; ze: "cb.ze"; zf: "cb.zf"; zg: "cb.zg"; zh: "cb.zh"; zi: "cb.zi"; zj: "cb.zj"; zk: "cb.zk"; zl: "cb.zl"; zm: "cb.zm"; zn: "cb.zn"; zo: "cb.zo"; zp: "cb.zp"; zq: "cb.zq"; zr: "cb.zr"; zs: "cb.zs"; zt: "cb.zt"; zu: "cb.zu"; zv: "cb.zv"; zw: "cb.zw"; zx: "cb.zx"; zy: "cb.zy"; zz: "cb.zz"; }; cc: { aa: "cc.aa"; ab: "cc.ab"; ac: "cc.ac"; ad: "cc.ad"; ae: "cc.ae"; af: "cc.af"; ag: "cc.ag"; ah: "cc.ah"; ai: "cc.ai"; aj: "cc.aj"; ak: "cc.ak"; al: "cc.al"; am: "cc.am"; an: "cc.an"; ao: "cc.ao"; ap: "cc.ap"; aq: "cc.aq"; ar: "cc.ar"; as: "cc.as"; at: "cc.at"; au: "cc.au"; av: "cc.av"; aw: "cc.aw"; ax: "cc.ax"; ay: "cc.ay"; az: "cc.az"; ba: "cc.ba"; bb: "cc.bb"; bc: "cc.bc"; bd: "cc.bd"; be: "cc.be"; bf: "cc.bf"; bg: "cc.bg"; bh: "cc.bh"; bi: "cc.bi"; bj: "cc.bj"; bk: "cc.bk"; bl: "cc.bl"; bm: "cc.bm"; bn: "cc.bn"; bo: "cc.bo"; bp: "cc.bp"; bq: "cc.bq"; br: "cc.br"; bs: "cc.bs"; bt: "cc.bt"; bu: "cc.bu"; bv: "cc.bv"; bw: "cc.bw"; bx: "cc.bx"; by: "cc.by"; bz: "cc.bz"; ca: "cc.ca"; cb: "cc.cb"; cc: "cc.cc"; cd: "cc.cd"; ce: "cc.ce"; cf: "cc.cf"; cg: "cc.cg"; ch: "cc.ch"; ci: "cc.ci"; cj: "cc.cj"; ck: "cc.ck"; cl: "cc.cl"; cm: "cc.cm"; cn: "cc.cn"; co: "cc.co"; cp: "cc.cp"; cq: "cc.cq"; cr: "cc.cr"; cs: "cc.cs"; ct: "cc.ct"; cu: "cc.cu"; cv: "cc.cv"; cw: "cc.cw"; cx: "cc.cx"; cy: "cc.cy"; cz: "cc.cz"; da: "cc.da"; db: "cc.db"; dc: "cc.dc"; dd: "cc.dd"; de: "cc.de"; df: "cc.df"; dg: "cc.dg"; dh: "cc.dh"; di: "cc.di"; dj: "cc.dj"; dk: "cc.dk"; dl: "cc.dl"; dm: "cc.dm"; dn: "cc.dn"; do: "cc.do"; dp: "cc.dp"; dq: "cc.dq"; dr: "cc.dr"; ds: "cc.ds"; dt: "cc.dt"; du: "cc.du"; dv: "cc.dv"; dw: "cc.dw"; dx: "cc.dx"; dy: "cc.dy"; dz: "cc.dz"; ea: "cc.ea"; eb: "cc.eb"; ec: "cc.ec"; ed: "cc.ed"; ee: "cc.ee"; ef: "cc.ef"; eg: "cc.eg"; eh: "cc.eh"; ei: "cc.ei"; ej: "cc.ej"; ek: "cc.ek"; el: "cc.el"; em: "cc.em"; en: "cc.en"; eo: "cc.eo"; ep: "cc.ep"; eq: "cc.eq"; er: "cc.er"; es: "cc.es"; et: "cc.et"; eu: "cc.eu"; ev: "cc.ev"; ew: "cc.ew"; ex: "cc.ex"; ey: "cc.ey"; ez: "cc.ez"; fa: "cc.fa"; fb: "cc.fb"; fc: "cc.fc"; fd: "cc.fd"; fe: "cc.fe"; ff: "cc.ff"; fg: "cc.fg"; fh: "cc.fh"; fi: "cc.fi"; fj: "cc.fj"; fk: "cc.fk"; fl: "cc.fl"; fm: "cc.fm"; fn: "cc.fn"; fo: "cc.fo"; fp: "cc.fp"; fq: "cc.fq"; fr: "cc.fr"; fs: "cc.fs"; ft: "cc.ft"; fu: "cc.fu"; fv: "cc.fv"; fw: "cc.fw"; fx: "cc.fx"; fy: "cc.fy"; fz: "cc.fz"; ga: "cc.ga"; gb: "cc.gb"; gc: "cc.gc"; gd: "cc.gd"; ge: "cc.ge"; gf: "cc.gf"; gg: "cc.gg"; gh: "cc.gh"; gi: "cc.gi"; gj: "cc.gj"; gk: "cc.gk"; gl: "cc.gl"; gm: "cc.gm"; gn: "cc.gn"; go: "cc.go"; gp: "cc.gp"; gq: "cc.gq"; gr: "cc.gr"; gs: "cc.gs"; gt: "cc.gt"; gu: "cc.gu"; gv: "cc.gv"; gw: "cc.gw"; gx: "cc.gx"; gy: "cc.gy"; gz: "cc.gz"; ha: "cc.ha"; hb: "cc.hb"; hc: "cc.hc"; hd: "cc.hd"; he: "cc.he"; hf: "cc.hf"; hg: "cc.hg"; hh: "cc.hh"; hi: "cc.hi"; hj: "cc.hj"; hk: "cc.hk"; hl: "cc.hl"; hm: "cc.hm"; hn: "cc.hn"; ho: "cc.ho"; hp: "cc.hp"; hq: "cc.hq"; hr: "cc.hr"; hs: "cc.hs"; ht: "cc.ht"; hu: "cc.hu"; hv: "cc.hv"; hw: "cc.hw"; hx: "cc.hx"; hy: "cc.hy"; hz: "cc.hz"; ia: "cc.ia"; ib: "cc.ib"; ic: "cc.ic"; id: "cc.id"; ie: "cc.ie"; if: "cc.if"; ig: "cc.ig"; ih: "cc.ih"; ii: "cc.ii"; ij: "cc.ij"; ik: "cc.ik"; il: "cc.il"; im: "cc.im"; in: "cc.in"; io: "cc.io"; ip: "cc.ip"; iq: "cc.iq"; ir: "cc.ir"; is: "cc.is"; it: "cc.it"; iu: "cc.iu"; iv: "cc.iv"; iw: "cc.iw"; ix: "cc.ix"; iy: "cc.iy"; iz: "cc.iz"; ja: "cc.ja"; jb: "cc.jb"; jc: "cc.jc"; jd: "cc.jd"; je: "cc.je"; jf: "cc.jf"; jg: "cc.jg"; jh: "cc.jh"; ji: "cc.ji"; jj: "cc.jj"; jk: "cc.jk"; jl: "cc.jl"; jm: "cc.jm"; jn: "cc.jn"; jo: "cc.jo"; jp: "cc.jp"; jq: "cc.jq"; jr: "cc.jr"; js: "cc.js"; jt: "cc.jt"; ju: "cc.ju"; jv: "cc.jv"; jw: "cc.jw"; jx: "cc.jx"; jy: "cc.jy"; jz: "cc.jz"; ka: "cc.ka"; kb: "cc.kb"; kc: "cc.kc"; kd: "cc.kd"; ke: "cc.ke"; kf: "cc.kf"; kg: "cc.kg"; kh: "cc.kh"; ki: "cc.ki"; kj: "cc.kj"; kk: "cc.kk"; kl: "cc.kl"; km: "cc.km"; kn: "cc.kn"; ko: "cc.ko"; kp: "cc.kp"; kq: "cc.kq"; kr: "cc.kr"; ks: "cc.ks"; kt: "cc.kt"; ku: "cc.ku"; kv: "cc.kv"; kw: "cc.kw"; kx: "cc.kx"; ky: "cc.ky"; kz: "cc.kz"; la: "cc.la"; lb: "cc.lb"; lc: "cc.lc"; ld: "cc.ld"; le: "cc.le"; lf: "cc.lf"; lg: "cc.lg"; lh: "cc.lh"; li: "cc.li"; lj: "cc.lj"; lk: "cc.lk"; ll: "cc.ll"; lm: "cc.lm"; ln: "cc.ln"; lo: "cc.lo"; lp: "cc.lp"; lq: "cc.lq"; lr: "cc.lr"; ls: "cc.ls"; lt: "cc.lt"; lu: "cc.lu"; lv: "cc.lv"; lw: "cc.lw"; lx: "cc.lx"; ly: "cc.ly"; lz: "cc.lz"; ma: "cc.ma"; mb: "cc.mb"; mc: "cc.mc"; md: "cc.md"; me: "cc.me"; mf: "cc.mf"; mg: "cc.mg"; mh: "cc.mh"; mi: "cc.mi"; mj: "cc.mj"; mk: "cc.mk"; ml: "cc.ml"; mm: "cc.mm"; mn: "cc.mn"; mo: "cc.mo"; mp: "cc.mp"; mq: "cc.mq"; mr: "cc.mr"; ms: "cc.ms"; mt: "cc.mt"; mu: "cc.mu"; mv: "cc.mv"; mw: "cc.mw"; mx: "cc.mx"; my: "cc.my"; mz: "cc.mz"; na: "cc.na"; nb: "cc.nb"; nc: "cc.nc"; nd: "cc.nd"; ne: "cc.ne"; nf: "cc.nf"; ng: "cc.ng"; nh: "cc.nh"; ni: "cc.ni"; nj: "cc.nj"; nk: "cc.nk"; nl: "cc.nl"; nm: "cc.nm"; nn: "cc.nn"; no: "cc.no"; np: "cc.np"; nq: "cc.nq"; nr: "cc.nr"; ns: "cc.ns"; nt: "cc.nt"; nu: "cc.nu"; nv: "cc.nv"; nw: "cc.nw"; nx: "cc.nx"; ny: "cc.ny"; nz: "cc.nz"; oa: "cc.oa"; ob: "cc.ob"; oc: "cc.oc"; od: "cc.od"; oe: "cc.oe"; of: "cc.of"; og: "cc.og"; oh: "cc.oh"; oi: "cc.oi"; oj: "cc.oj"; ok: "cc.ok"; ol: "cc.ol"; om: "cc.om"; on: "cc.on"; oo: "cc.oo"; op: "cc.op"; oq: "cc.oq"; or: "cc.or"; os: "cc.os"; ot: "cc.ot"; ou: "cc.ou"; ov: "cc.ov"; ow: "cc.ow"; ox: "cc.ox"; oy: "cc.oy"; oz: "cc.oz"; pa: "cc.pa"; pb: "cc.pb"; pc: "cc.pc"; pd: "cc.pd"; pe: "cc.pe"; pf: "cc.pf"; pg: "cc.pg"; ph: "cc.ph"; pi: "cc.pi"; pj: "cc.pj"; pk: "cc.pk"; pl: "cc.pl"; pm: "cc.pm"; pn: "cc.pn"; po: "cc.po"; pp: "cc.pp"; pq: "cc.pq"; pr: "cc.pr"; ps: "cc.ps"; pt: "cc.pt"; pu: "cc.pu"; pv: "cc.pv"; pw: "cc.pw"; px: "cc.px"; py: "cc.py"; pz: "cc.pz"; qa: "cc.qa"; qb: "cc.qb"; qc: "cc.qc"; qd: "cc.qd"; qe: "cc.qe"; qf: "cc.qf"; qg: "cc.qg"; qh: "cc.qh"; qi: "cc.qi"; qj: "cc.qj"; qk: "cc.qk"; ql: "cc.ql"; qm: "cc.qm"; qn: "cc.qn"; qo: "cc.qo"; qp: "cc.qp"; qq: "cc.qq"; qr: "cc.qr"; qs: "cc.qs"; qt: "cc.qt"; qu: "cc.qu"; qv: "cc.qv"; qw: "cc.qw"; qx: "cc.qx"; qy: "cc.qy"; qz: "cc.qz"; ra: "cc.ra"; rb: "cc.rb"; rc: "cc.rc"; rd: "cc.rd"; re: "cc.re"; rf: "cc.rf"; rg: "cc.rg"; rh: "cc.rh"; ri: "cc.ri"; rj: "cc.rj"; rk: "cc.rk"; rl: "cc.rl"; rm: "cc.rm"; rn: "cc.rn"; ro: "cc.ro"; rp: "cc.rp"; rq: "cc.rq"; rr: "cc.rr"; rs: "cc.rs"; rt: "cc.rt"; ru: "cc.ru"; rv: "cc.rv"; rw: "cc.rw"; rx: "cc.rx"; ry: "cc.ry"; rz: "cc.rz"; sa: "cc.sa"; sb: "cc.sb"; sc: "cc.sc"; sd: "cc.sd"; se: "cc.se"; sf: "cc.sf"; sg: "cc.sg"; sh: "cc.sh"; si: "cc.si"; sj: "cc.sj"; sk: "cc.sk"; sl: "cc.sl"; sm: "cc.sm"; sn: "cc.sn"; so: "cc.so"; sp: "cc.sp"; sq: "cc.sq"; sr: "cc.sr"; ss: "cc.ss"; st: "cc.st"; su: "cc.su"; sv: "cc.sv"; sw: "cc.sw"; sx: "cc.sx"; sy: "cc.sy"; sz: "cc.sz"; ta: "cc.ta"; tb: "cc.tb"; tc: "cc.tc"; td: "cc.td"; te: "cc.te"; tf: "cc.tf"; tg: "cc.tg"; th: "cc.th"; ti: "cc.ti"; tj: "cc.tj"; tk: "cc.tk"; tl: "cc.tl"; tm: "cc.tm"; tn: "cc.tn"; to: "cc.to"; tp: "cc.tp"; tq: "cc.tq"; tr: "cc.tr"; ts: "cc.ts"; tt: "cc.tt"; tu: "cc.tu"; tv: "cc.tv"; tw: "cc.tw"; tx: "cc.tx"; ty: "cc.ty"; tz: "cc.tz"; ua: "cc.ua"; ub: "cc.ub"; uc: "cc.uc"; ud: "cc.ud"; ue: "cc.ue"; uf: "cc.uf"; ug: "cc.ug"; uh: "cc.uh"; ui: "cc.ui"; uj: "cc.uj"; uk: "cc.uk"; ul: "cc.ul"; um: "cc.um"; un: "cc.un"; uo: "cc.uo"; up: "cc.up"; uq: "cc.uq"; ur: "cc.ur"; us: "cc.us"; ut: "cc.ut"; uu: "cc.uu"; uv: "cc.uv"; uw: "cc.uw"; ux: "cc.ux"; uy: "cc.uy"; uz: "cc.uz"; va: "cc.va"; vb: "cc.vb"; vc: "cc.vc"; vd: "cc.vd"; ve: "cc.ve"; vf: "cc.vf"; vg: "cc.vg"; vh: "cc.vh"; vi: "cc.vi"; vj: "cc.vj"; vk: "cc.vk"; vl: "cc.vl"; vm: "cc.vm"; vn: "cc.vn"; vo: "cc.vo"; vp: "cc.vp"; vq: "cc.vq"; vr: "cc.vr"; vs: "cc.vs"; vt: "cc.vt"; vu: "cc.vu"; vv: "cc.vv"; vw: "cc.vw"; vx: "cc.vx"; vy: "cc.vy"; vz: "cc.vz"; wa: "cc.wa"; wb: "cc.wb"; wc: "cc.wc"; wd: "cc.wd"; we: "cc.we"; wf: "cc.wf"; wg: "cc.wg"; wh: "cc.wh"; wi: "cc.wi"; wj: "cc.wj"; wk: "cc.wk"; wl: "cc.wl"; wm: "cc.wm"; wn: "cc.wn"; wo: "cc.wo"; wp: "cc.wp"; wq: "cc.wq"; wr: "cc.wr"; ws: "cc.ws"; wt: "cc.wt"; wu: "cc.wu"; wv: "cc.wv"; ww: "cc.ww"; wx: "cc.wx"; wy: "cc.wy"; wz: "cc.wz"; xa: "cc.xa"; xb: "cc.xb"; xc: "cc.xc"; xd: "cc.xd"; xe: "cc.xe"; xf: "cc.xf"; xg: "cc.xg"; xh: "cc.xh"; xi: "cc.xi"; xj: "cc.xj"; xk: "cc.xk"; xl: "cc.xl"; xm: "cc.xm"; xn: "cc.xn"; xo: "cc.xo"; xp: "cc.xp"; xq: "cc.xq"; xr: "cc.xr"; xs: "cc.xs"; xt: "cc.xt"; xu: "cc.xu"; xv: "cc.xv"; xw: "cc.xw"; xx: "cc.xx"; xy: "cc.xy"; xz: "cc.xz"; ya: "cc.ya"; yb: "cc.yb"; yc: "cc.yc"; yd: "cc.yd"; ye: "cc.ye"; yf: "cc.yf"; yg: "cc.yg"; yh: "cc.yh"; yi: "cc.yi"; yj: "cc.yj"; yk: "cc.yk"; yl: "cc.yl"; ym: "cc.ym"; yn: "cc.yn"; yo: "cc.yo"; yp: "cc.yp"; yq: "cc.yq"; yr: "cc.yr"; ys: "cc.ys"; yt: "cc.yt"; yu: "cc.yu"; yv: "cc.yv"; yw: "cc.yw"; yx: "cc.yx"; yy: "cc.yy"; yz: "cc.yz"; za: "cc.za"; zb: "cc.zb"; zc: "cc.zc"; zd: "cc.zd"; ze: "cc.ze"; zf: "cc.zf"; zg: "cc.zg"; zh: "cc.zh"; zi: "cc.zi"; zj: "cc.zj"; zk: "cc.zk"; zl: "cc.zl"; zm: "cc.zm"; zn: "cc.zn"; zo: "cc.zo"; zp: "cc.zp"; zq: "cc.zq"; zr: "cc.zr"; zs: "cc.zs"; zt: "cc.zt"; zu: "cc.zu"; zv: "cc.zv"; zw: "cc.zw"; zx: "cc.zx"; zy: "cc.zy"; zz: "cc.zz"; }; cd: { aa: "cd.aa"; ab: "cd.ab"; ac: "cd.ac"; ad: "cd.ad"; ae: "cd.ae"; af: "cd.af"; ag: "cd.ag"; ah: "cd.ah"; ai: "cd.ai"; aj: "cd.aj"; ak: "cd.ak"; al: "cd.al"; am: "cd.am"; an: "cd.an"; ao: "cd.ao"; ap: "cd.ap"; aq: "cd.aq"; ar: "cd.ar"; as: "cd.as"; at: "cd.at"; au: "cd.au"; av: "cd.av"; aw: "cd.aw"; ax: "cd.ax"; ay: "cd.ay"; az: "cd.az"; ba: "cd.ba"; bb: "cd.bb"; bc: "cd.bc"; bd: "cd.bd"; be: "cd.be"; bf: "cd.bf"; bg: "cd.bg"; bh: "cd.bh"; bi: "cd.bi"; bj: "cd.bj"; bk: "cd.bk"; bl: "cd.bl"; bm: "cd.bm"; bn: "cd.bn"; bo: "cd.bo"; bp: "cd.bp"; bq: "cd.bq"; br: "cd.br"; bs: "cd.bs"; bt: "cd.bt"; bu: "cd.bu"; bv: "cd.bv"; bw: "cd.bw"; bx: "cd.bx"; by: "cd.by"; bz: "cd.bz"; ca: "cd.ca"; cb: "cd.cb"; cc: "cd.cc"; cd: "cd.cd"; ce: "cd.ce"; cf: "cd.cf"; cg: "cd.cg"; ch: "cd.ch"; ci: "cd.ci"; cj: "cd.cj"; ck: "cd.ck"; cl: "cd.cl"; cm: "cd.cm"; cn: "cd.cn"; co: "cd.co"; cp: "cd.cp"; cq: "cd.cq"; cr: "cd.cr"; cs: "cd.cs"; ct: "cd.ct"; cu: "cd.cu"; cv: "cd.cv"; cw: "cd.cw"; cx: "cd.cx"; cy: "cd.cy"; cz: "cd.cz"; da: "cd.da"; db: "cd.db"; dc: "cd.dc"; dd: "cd.dd"; de: "cd.de"; df: "cd.df"; dg: "cd.dg"; dh: "cd.dh"; di: "cd.di"; dj: "cd.dj"; dk: "cd.dk"; dl: "cd.dl"; dm: "cd.dm"; dn: "cd.dn"; do: "cd.do"; dp: "cd.dp"; dq: "cd.dq"; dr: "cd.dr"; ds: "cd.ds"; dt: "cd.dt"; du: "cd.du"; dv: "cd.dv"; dw: "cd.dw"; dx: "cd.dx"; dy: "cd.dy"; dz: "cd.dz"; ea: "cd.ea"; eb: "cd.eb"; ec: "cd.ec"; ed: "cd.ed"; ee: "cd.ee"; ef: "cd.ef"; eg: "cd.eg"; eh: "cd.eh"; ei: "cd.ei"; ej: "cd.ej"; ek: "cd.ek"; el: "cd.el"; em: "cd.em"; en: "cd.en"; eo: "cd.eo"; ep: "cd.ep"; eq: "cd.eq"; er: "cd.er"; es: "cd.es"; et: "cd.et"; eu: "cd.eu"; ev: "cd.ev"; ew: "cd.ew"; ex: "cd.ex"; ey: "cd.ey"; ez: "cd.ez"; fa: "cd.fa"; fb: "cd.fb"; fc: "cd.fc"; fd: "cd.fd"; fe: "cd.fe"; ff: "cd.ff"; fg: "cd.fg"; fh: "cd.fh"; fi: "cd.fi"; fj: "cd.fj"; fk: "cd.fk"; fl: "cd.fl"; fm: "cd.fm"; fn: "cd.fn"; fo: "cd.fo"; fp: "cd.fp"; fq: "cd.fq"; fr: "cd.fr"; fs: "cd.fs"; ft: "cd.ft"; fu: "cd.fu"; fv: "cd.fv"; fw: "cd.fw"; fx: "cd.fx"; fy: "cd.fy"; fz: "cd.fz"; ga: "cd.ga"; gb: "cd.gb"; gc: "cd.gc"; gd: "cd.gd"; ge: "cd.ge"; gf: "cd.gf"; gg: "cd.gg"; gh: "cd.gh"; gi: "cd.gi"; gj: "cd.gj"; gk: "cd.gk"; gl: "cd.gl"; gm: "cd.gm"; gn: "cd.gn"; go: "cd.go"; gp: "cd.gp"; gq: "cd.gq"; gr: "cd.gr"; gs: "cd.gs"; gt: "cd.gt"; gu: "cd.gu"; gv: "cd.gv"; gw: "cd.gw"; gx: "cd.gx"; gy: "cd.gy"; gz: "cd.gz"; ha: "cd.ha"; hb: "cd.hb"; hc: "cd.hc"; hd: "cd.hd"; he: "cd.he"; hf: "cd.hf"; hg: "cd.hg"; hh: "cd.hh"; hi: "cd.hi"; hj: "cd.hj"; hk: "cd.hk"; hl: "cd.hl"; hm: "cd.hm"; hn: "cd.hn"; ho: "cd.ho"; hp: "cd.hp"; hq: "cd.hq"; hr: "cd.hr"; hs: "cd.hs"; ht: "cd.ht"; hu: "cd.hu"; hv: "cd.hv"; hw: "cd.hw"; hx: "cd.hx"; hy: "cd.hy"; hz: "cd.hz"; ia: "cd.ia"; ib: "cd.ib"; ic: "cd.ic"; id: "cd.id"; ie: "cd.ie"; if: "cd.if"; ig: "cd.ig"; ih: "cd.ih"; ii: "cd.ii"; ij: "cd.ij"; ik: "cd.ik"; il: "cd.il"; im: "cd.im"; in: "cd.in"; io: "cd.io"; ip: "cd.ip"; iq: "cd.iq"; ir: "cd.ir"; is: "cd.is"; it: "cd.it"; iu: "cd.iu"; iv: "cd.iv"; iw: "cd.iw"; ix: "cd.ix"; iy: "cd.iy"; iz: "cd.iz"; ja: "cd.ja"; jb: "cd.jb"; jc: "cd.jc"; jd: "cd.jd"; je: "cd.je"; jf: "cd.jf"; jg: "cd.jg"; jh: "cd.jh"; ji: "cd.ji"; jj: "cd.jj"; jk: "cd.jk"; jl: "cd.jl"; jm: "cd.jm"; jn: "cd.jn"; jo: "cd.jo"; jp: "cd.jp"; jq: "cd.jq"; jr: "cd.jr"; js: "cd.js"; jt: "cd.jt"; ju: "cd.ju"; jv: "cd.jv"; jw: "cd.jw"; jx: "cd.jx"; jy: "cd.jy"; jz: "cd.jz"; ka: "cd.ka"; kb: "cd.kb"; kc: "cd.kc"; kd: "cd.kd"; ke: "cd.ke"; kf: "cd.kf"; kg: "cd.kg"; kh: "cd.kh"; ki: "cd.ki"; kj: "cd.kj"; kk: "cd.kk"; kl: "cd.kl"; km: "cd.km"; kn: "cd.kn"; ko: "cd.ko"; kp: "cd.kp"; kq: "cd.kq"; kr: "cd.kr"; ks: "cd.ks"; kt: "cd.kt"; ku: "cd.ku"; kv: "cd.kv"; kw: "cd.kw"; kx: "cd.kx"; ky: "cd.ky"; kz: "cd.kz"; la: "cd.la"; lb: "cd.lb"; lc: "cd.lc"; ld: "cd.ld"; le: "cd.le"; lf: "cd.lf"; lg: "cd.lg"; lh: "cd.lh"; li: "cd.li"; lj: "cd.lj"; lk: "cd.lk"; ll: "cd.ll"; lm: "cd.lm"; ln: "cd.ln"; lo: "cd.lo"; lp: "cd.lp"; lq: "cd.lq"; lr: "cd.lr"; ls: "cd.ls"; lt: "cd.lt"; lu: "cd.lu"; lv: "cd.lv"; lw: "cd.lw"; lx: "cd.lx"; ly: "cd.ly"; lz: "cd.lz"; ma: "cd.ma"; mb: "cd.mb"; mc: "cd.mc"; md: "cd.md"; me: "cd.me"; mf: "cd.mf"; mg: "cd.mg"; mh: "cd.mh"; mi: "cd.mi"; mj: "cd.mj"; mk: "cd.mk"; ml: "cd.ml"; mm: "cd.mm"; mn: "cd.mn"; mo: "cd.mo"; mp: "cd.mp"; mq: "cd.mq"; mr: "cd.mr"; ms: "cd.ms"; mt: "cd.mt"; mu: "cd.mu"; mv: "cd.mv"; mw: "cd.mw"; mx: "cd.mx"; my: "cd.my"; mz: "cd.mz"; na: "cd.na"; nb: "cd.nb"; nc: "cd.nc"; nd: "cd.nd"; ne: "cd.ne"; nf: "cd.nf"; ng: "cd.ng"; nh: "cd.nh"; ni: "cd.ni"; nj: "cd.nj"; nk: "cd.nk"; nl: "cd.nl"; nm: "cd.nm"; nn: "cd.nn"; no: "cd.no"; np: "cd.np"; nq: "cd.nq"; nr: "cd.nr"; ns: "cd.ns"; nt: "cd.nt"; nu: "cd.nu"; nv: "cd.nv"; nw: "cd.nw"; nx: "cd.nx"; ny: "cd.ny"; nz: "cd.nz"; oa: "cd.oa"; ob: "cd.ob"; oc: "cd.oc"; od: "cd.od"; oe: "cd.oe"; of: "cd.of"; og: "cd.og"; oh: "cd.oh"; oi: "cd.oi"; oj: "cd.oj"; ok: "cd.ok"; ol: "cd.ol"; om: "cd.om"; on: "cd.on"; oo: "cd.oo"; op: "cd.op"; oq: "cd.oq"; or: "cd.or"; os: "cd.os"; ot: "cd.ot"; ou: "cd.ou"; ov: "cd.ov"; ow: "cd.ow"; ox: "cd.ox"; oy: "cd.oy"; oz: "cd.oz"; pa: "cd.pa"; pb: "cd.pb"; pc: "cd.pc"; pd: "cd.pd"; pe: "cd.pe"; pf: "cd.pf"; pg: "cd.pg"; ph: "cd.ph"; pi: "cd.pi"; pj: "cd.pj"; pk: "cd.pk"; pl: "cd.pl"; pm: "cd.pm"; pn: "cd.pn"; po: "cd.po"; pp: "cd.pp"; pq: "cd.pq"; pr: "cd.pr"; ps: "cd.ps"; pt: "cd.pt"; pu: "cd.pu"; pv: "cd.pv"; pw: "cd.pw"; px: "cd.px"; py: "cd.py"; pz: "cd.pz"; qa: "cd.qa"; qb: "cd.qb"; qc: "cd.qc"; qd: "cd.qd"; qe: "cd.qe"; qf: "cd.qf"; qg: "cd.qg"; qh: "cd.qh"; qi: "cd.qi"; qj: "cd.qj"; qk: "cd.qk"; ql: "cd.ql"; qm: "cd.qm"; qn: "cd.qn"; qo: "cd.qo"; qp: "cd.qp"; qq: "cd.qq"; qr: "cd.qr"; qs: "cd.qs"; qt: "cd.qt"; qu: "cd.qu"; qv: "cd.qv"; qw: "cd.qw"; qx: "cd.qx"; qy: "cd.qy"; qz: "cd.qz"; ra: "cd.ra"; rb: "cd.rb"; rc: "cd.rc"; rd: "cd.rd"; re: "cd.re"; rf: "cd.rf"; rg: "cd.rg"; rh: "cd.rh"; ri: "cd.ri"; rj: "cd.rj"; rk: "cd.rk"; rl: "cd.rl"; rm: "cd.rm"; rn: "cd.rn"; ro: "cd.ro"; rp: "cd.rp"; rq: "cd.rq"; rr: "cd.rr"; rs: "cd.rs"; rt: "cd.rt"; ru: "cd.ru"; rv: "cd.rv"; rw: "cd.rw"; rx: "cd.rx"; ry: "cd.ry"; rz: "cd.rz"; sa: "cd.sa"; sb: "cd.sb"; sc: "cd.sc"; sd: "cd.sd"; se: "cd.se"; sf: "cd.sf"; sg: "cd.sg"; sh: "cd.sh"; si: "cd.si"; sj: "cd.sj"; sk: "cd.sk"; sl: "cd.sl"; sm: "cd.sm"; sn: "cd.sn"; so: "cd.so"; sp: "cd.sp"; sq: "cd.sq"; sr: "cd.sr"; ss: "cd.ss"; st: "cd.st"; su: "cd.su"; sv: "cd.sv"; sw: "cd.sw"; sx: "cd.sx"; sy: "cd.sy"; sz: "cd.sz"; ta: "cd.ta"; tb: "cd.tb"; tc: "cd.tc"; td: "cd.td"; te: "cd.te"; tf: "cd.tf"; tg: "cd.tg"; th: "cd.th"; ti: "cd.ti"; tj: "cd.tj"; tk: "cd.tk"; tl: "cd.tl"; tm: "cd.tm"; tn: "cd.tn"; to: "cd.to"; tp: "cd.tp"; tq: "cd.tq"; tr: "cd.tr"; ts: "cd.ts"; tt: "cd.tt"; tu: "cd.tu"; tv: "cd.tv"; tw: "cd.tw"; tx: "cd.tx"; ty: "cd.ty"; tz: "cd.tz"; ua: "cd.ua"; ub: "cd.ub"; uc: "cd.uc"; ud: "cd.ud"; ue: "cd.ue"; uf: "cd.uf"; ug: "cd.ug"; uh: "cd.uh"; ui: "cd.ui"; uj: "cd.uj"; uk: "cd.uk"; ul: "cd.ul"; um: "cd.um"; un: "cd.un"; uo: "cd.uo"; up: "cd.up"; uq: "cd.uq"; ur: "cd.ur"; us: "cd.us"; ut: "cd.ut"; uu: "cd.uu"; uv: "cd.uv"; uw: "cd.uw"; ux: "cd.ux"; uy: "cd.uy"; uz: "cd.uz"; va: "cd.va"; vb: "cd.vb"; vc: "cd.vc"; vd: "cd.vd"; ve: "cd.ve"; vf: "cd.vf"; vg: "cd.vg"; vh: "cd.vh"; vi: "cd.vi"; vj: "cd.vj"; vk: "cd.vk"; vl: "cd.vl"; vm: "cd.vm"; vn: "cd.vn"; vo: "cd.vo"; vp: "cd.vp"; vq: "cd.vq"; vr: "cd.vr"; vs: "cd.vs"; vt: "cd.vt"; vu: "cd.vu"; vv: "cd.vv"; vw: "cd.vw"; vx: "cd.vx"; vy: "cd.vy"; vz: "cd.vz"; wa: "cd.wa"; wb: "cd.wb"; wc: "cd.wc"; wd: "cd.wd"; we: "cd.we"; wf: "cd.wf"; wg: "cd.wg"; wh: "cd.wh"; wi: "cd.wi"; wj: "cd.wj"; wk: "cd.wk"; wl: "cd.wl"; wm: "cd.wm"; wn: "cd.wn"; wo: "cd.wo"; wp: "cd.wp"; wq: "cd.wq"; wr: "cd.wr"; ws: "cd.ws"; wt: "cd.wt"; wu: "cd.wu"; wv: "cd.wv"; ww: "cd.ww"; wx: "cd.wx"; wy: "cd.wy"; wz: "cd.wz"; xa: "cd.xa"; xb: "cd.xb"; xc: "cd.xc"; xd: "cd.xd"; xe: "cd.xe"; xf: "cd.xf"; xg: "cd.xg"; xh: "cd.xh"; xi: "cd.xi"; xj: "cd.xj"; xk: "cd.xk"; xl: "cd.xl"; xm: "cd.xm"; xn: "cd.xn"; xo: "cd.xo"; xp: "cd.xp"; xq: "cd.xq"; xr: "cd.xr"; xs: "cd.xs"; xt: "cd.xt"; xu: "cd.xu"; xv: "cd.xv"; xw: "cd.xw"; xx: "cd.xx"; xy: "cd.xy"; xz: "cd.xz"; ya: "cd.ya"; yb: "cd.yb"; yc: "cd.yc"; yd: "cd.yd"; ye: "cd.ye"; yf: "cd.yf"; yg: "cd.yg"; yh: "cd.yh"; yi: "cd.yi"; yj: "cd.yj"; yk: "cd.yk"; yl: "cd.yl"; ym: "cd.ym"; yn: "cd.yn"; yo: "cd.yo"; yp: "cd.yp"; yq: "cd.yq"; yr: "cd.yr"; ys: "cd.ys"; yt: "cd.yt"; yu: "cd.yu"; yv: "cd.yv"; yw: "cd.yw"; yx: "cd.yx"; yy: "cd.yy"; yz: "cd.yz"; za: "cd.za"; zb: "cd.zb"; zc: "cd.zc"; zd: "cd.zd"; ze: "cd.ze"; zf: "cd.zf"; zg: "cd.zg"; zh: "cd.zh"; zi: "cd.zi"; zj: "cd.zj"; zk: "cd.zk"; zl: "cd.zl"; zm: "cd.zm"; zn: "cd.zn"; zo: "cd.zo"; zp: "cd.zp"; zq: "cd.zq"; zr: "cd.zr"; zs: "cd.zs"; zt: "cd.zt"; zu: "cd.zu"; zv: "cd.zv"; zw: "cd.zw"; zx: "cd.zx"; zy: "cd.zy"; zz: "cd.zz"; }; ce: { aa: "ce.aa"; ab: "ce.ab"; ac: "ce.ac"; ad: "ce.ad"; ae: "ce.ae"; af: "ce.af"; ag: "ce.ag"; ah: "ce.ah"; ai: "ce.ai"; aj: "ce.aj"; ak: "ce.ak"; al: "ce.al"; am: "ce.am"; an: "ce.an"; ao: "ce.ao"; ap: "ce.ap"; aq: "ce.aq"; ar: "ce.ar"; as: "ce.as"; at: "ce.at"; au: "ce.au"; av: "ce.av"; aw: "ce.aw"; ax: "ce.ax"; ay: "ce.ay"; az: "ce.az"; ba: "ce.ba"; bb: "ce.bb"; bc: "ce.bc"; bd: "ce.bd"; be: "ce.be"; bf: "ce.bf"; bg: "ce.bg"; bh: "ce.bh"; bi: "ce.bi"; bj: "ce.bj"; bk: "ce.bk"; bl: "ce.bl"; bm: "ce.bm"; bn: "ce.bn"; bo: "ce.bo"; bp: "ce.bp"; bq: "ce.bq"; br: "ce.br"; bs: "ce.bs"; bt: "ce.bt"; bu: "ce.bu"; bv: "ce.bv"; bw: "ce.bw"; bx: "ce.bx"; by: "ce.by"; bz: "ce.bz"; ca: "ce.ca"; cb: "ce.cb"; cc: "ce.cc"; cd: "ce.cd"; ce: "ce.ce"; cf: "ce.cf"; cg: "ce.cg"; ch: "ce.ch"; ci: "ce.ci"; cj: "ce.cj"; ck: "ce.ck"; cl: "ce.cl"; cm: "ce.cm"; cn: "ce.cn"; co: "ce.co"; cp: "ce.cp"; cq: "ce.cq"; cr: "ce.cr"; cs: "ce.cs"; ct: "ce.ct"; cu: "ce.cu"; cv: "ce.cv"; cw: "ce.cw"; cx: "ce.cx"; cy: "ce.cy"; cz: "ce.cz"; da: "ce.da"; db: "ce.db"; dc: "ce.dc"; dd: "ce.dd"; de: "ce.de"; df: "ce.df"; dg: "ce.dg"; dh: "ce.dh"; di: "ce.di"; dj: "ce.dj"; dk: "ce.dk"; dl: "ce.dl"; dm: "ce.dm"; dn: "ce.dn"; do: "ce.do"; dp: "ce.dp"; dq: "ce.dq"; dr: "ce.dr"; ds: "ce.ds"; dt: "ce.dt"; du: "ce.du"; dv: "ce.dv"; dw: "ce.dw"; dx: "ce.dx"; dy: "ce.dy"; dz: "ce.dz"; ea: "ce.ea"; eb: "ce.eb"; ec: "ce.ec"; ed: "ce.ed"; ee: "ce.ee"; ef: "ce.ef"; eg: "ce.eg"; eh: "ce.eh"; ei: "ce.ei"; ej: "ce.ej"; ek: "ce.ek"; el: "ce.el"; em: "ce.em"; en: "ce.en"; eo: "ce.eo"; ep: "ce.ep"; eq: "ce.eq"; er: "ce.er"; es: "ce.es"; et: "ce.et"; eu: "ce.eu"; ev: "ce.ev"; ew: "ce.ew"; ex: "ce.ex"; ey: "ce.ey"; ez: "ce.ez"; fa: "ce.fa"; fb: "ce.fb"; fc: "ce.fc"; fd: "ce.fd"; fe: "ce.fe"; ff: "ce.ff"; fg: "ce.fg"; fh: "ce.fh"; fi: "ce.fi"; fj: "ce.fj"; fk: "ce.fk"; fl: "ce.fl"; fm: "ce.fm"; fn: "ce.fn"; fo: "ce.fo"; fp: "ce.fp"; fq: "ce.fq"; fr: "ce.fr"; fs: "ce.fs"; ft: "ce.ft"; fu: "ce.fu"; fv: "ce.fv"; fw: "ce.fw"; fx: "ce.fx"; fy: "ce.fy"; fz: "ce.fz"; ga: "ce.ga"; gb: "ce.gb"; gc: "ce.gc"; gd: "ce.gd"; ge: "ce.ge"; gf: "ce.gf"; gg: "ce.gg"; gh: "ce.gh"; gi: "ce.gi"; gj: "ce.gj"; gk: "ce.gk"; gl: "ce.gl"; gm: "ce.gm"; gn: "ce.gn"; go: "ce.go"; gp: "ce.gp"; gq: "ce.gq"; gr: "ce.gr"; gs: "ce.gs"; gt: "ce.gt"; gu: "ce.gu"; gv: "ce.gv"; gw: "ce.gw"; gx: "ce.gx"; gy: "ce.gy"; gz: "ce.gz"; ha: "ce.ha"; hb: "ce.hb"; hc: "ce.hc"; hd: "ce.hd"; he: "ce.he"; hf: "ce.hf"; hg: "ce.hg"; hh: "ce.hh"; hi: "ce.hi"; hj: "ce.hj"; hk: "ce.hk"; hl: "ce.hl"; hm: "ce.hm"; hn: "ce.hn"; ho: "ce.ho"; hp: "ce.hp"; hq: "ce.hq"; hr: "ce.hr"; hs: "ce.hs"; ht: "ce.ht"; hu: "ce.hu"; hv: "ce.hv"; hw: "ce.hw"; hx: "ce.hx"; hy: "ce.hy"; hz: "ce.hz"; ia: "ce.ia"; ib: "ce.ib"; ic: "ce.ic"; id: "ce.id"; ie: "ce.ie"; if: "ce.if"; ig: "ce.ig"; ih: "ce.ih"; ii: "ce.ii"; ij: "ce.ij"; ik: "ce.ik"; il: "ce.il"; im: "ce.im"; in: "ce.in"; io: "ce.io"; ip: "ce.ip"; iq: "ce.iq"; ir: "ce.ir"; is: "ce.is"; it: "ce.it"; iu: "ce.iu"; iv: "ce.iv"; iw: "ce.iw"; ix: "ce.ix"; iy: "ce.iy"; iz: "ce.iz"; ja: "ce.ja"; jb: "ce.jb"; jc: "ce.jc"; jd: "ce.jd"; je: "ce.je"; jf: "ce.jf"; jg: "ce.jg"; jh: "ce.jh"; ji: "ce.ji"; jj: "ce.jj"; jk: "ce.jk"; jl: "ce.jl"; jm: "ce.jm"; jn: "ce.jn"; jo: "ce.jo"; jp: "ce.jp"; jq: "ce.jq"; jr: "ce.jr"; js: "ce.js"; jt: "ce.jt"; ju: "ce.ju"; jv: "ce.jv"; jw: "ce.jw"; jx: "ce.jx"; jy: "ce.jy"; jz: "ce.jz"; ka: "ce.ka"; kb: "ce.kb"; kc: "ce.kc"; kd: "ce.kd"; ke: "ce.ke"; kf: "ce.kf"; kg: "ce.kg"; kh: "ce.kh"; ki: "ce.ki"; kj: "ce.kj"; kk: "ce.kk"; kl: "ce.kl"; km: "ce.km"; kn: "ce.kn"; ko: "ce.ko"; kp: "ce.kp"; kq: "ce.kq"; kr: "ce.kr"; ks: "ce.ks"; kt: "ce.kt"; ku: "ce.ku"; kv: "ce.kv"; kw: "ce.kw"; kx: "ce.kx"; ky: "ce.ky"; kz: "ce.kz"; la: "ce.la"; lb: "ce.lb"; lc: "ce.lc"; ld: "ce.ld"; le: "ce.le"; lf: "ce.lf"; lg: "ce.lg"; lh: "ce.lh"; li: "ce.li"; lj: "ce.lj"; lk: "ce.lk"; ll: "ce.ll"; lm: "ce.lm"; ln: "ce.ln"; lo: "ce.lo"; lp: "ce.lp"; lq: "ce.lq"; lr: "ce.lr"; ls: "ce.ls"; lt: "ce.lt"; lu: "ce.lu"; lv: "ce.lv"; lw: "ce.lw"; lx: "ce.lx"; ly: "ce.ly"; lz: "ce.lz"; ma: "ce.ma"; mb: "ce.mb"; mc: "ce.mc"; md: "ce.md"; me: "ce.me"; mf: "ce.mf"; mg: "ce.mg"; mh: "ce.mh"; mi: "ce.mi"; mj: "ce.mj"; mk: "ce.mk"; ml: "ce.ml"; mm: "ce.mm"; mn: "ce.mn"; mo: "ce.mo"; mp: "ce.mp"; mq: "ce.mq"; mr: "ce.mr"; ms: "ce.ms"; mt: "ce.mt"; mu: "ce.mu"; mv: "ce.mv"; mw: "ce.mw"; mx: "ce.mx"; my: "ce.my"; mz: "ce.mz"; na: "ce.na"; nb: "ce.nb"; nc: "ce.nc"; nd: "ce.nd"; ne: "ce.ne"; nf: "ce.nf"; ng: "ce.ng"; nh: "ce.nh"; ni: "ce.ni"; nj: "ce.nj"; nk: "ce.nk"; nl: "ce.nl"; nm: "ce.nm"; nn: "ce.nn"; no: "ce.no"; np: "ce.np"; nq: "ce.nq"; nr: "ce.nr"; ns: "ce.ns"; nt: "ce.nt"; nu: "ce.nu"; nv: "ce.nv"; nw: "ce.nw"; nx: "ce.nx"; ny: "ce.ny"; nz: "ce.nz"; oa: "ce.oa"; ob: "ce.ob"; oc: "ce.oc"; od: "ce.od"; oe: "ce.oe"; of: "ce.of"; og: "ce.og"; oh: "ce.oh"; oi: "ce.oi"; oj: "ce.oj"; ok: "ce.ok"; ol: "ce.ol"; om: "ce.om"; on: "ce.on"; oo: "ce.oo"; op: "ce.op"; oq: "ce.oq"; or: "ce.or"; os: "ce.os"; ot: "ce.ot"; ou: "ce.ou"; ov: "ce.ov"; ow: "ce.ow"; ox: "ce.ox"; oy: "ce.oy"; oz: "ce.oz"; pa: "ce.pa"; pb: "ce.pb"; pc: "ce.pc"; pd: "ce.pd"; pe: "ce.pe"; pf: "ce.pf"; pg: "ce.pg"; ph: "ce.ph"; pi: "ce.pi"; pj: "ce.pj"; pk: "ce.pk"; pl: "ce.pl"; pm: "ce.pm"; pn: "ce.pn"; po: "ce.po"; pp: "ce.pp"; pq: "ce.pq"; pr: "ce.pr"; ps: "ce.ps"; pt: "ce.pt"; pu: "ce.pu"; pv: "ce.pv"; pw: "ce.pw"; px: "ce.px"; py: "ce.py"; pz: "ce.pz"; qa: "ce.qa"; qb: "ce.qb"; qc: "ce.qc"; qd: "ce.qd"; qe: "ce.qe"; qf: "ce.qf"; qg: "ce.qg"; qh: "ce.qh"; qi: "ce.qi"; qj: "ce.qj"; qk: "ce.qk"; ql: "ce.ql"; qm: "ce.qm"; qn: "ce.qn"; qo: "ce.qo"; qp: "ce.qp"; qq: "ce.qq"; qr: "ce.qr"; qs: "ce.qs"; qt: "ce.qt"; qu: "ce.qu"; qv: "ce.qv"; qw: "ce.qw"; qx: "ce.qx"; qy: "ce.qy"; qz: "ce.qz"; ra: "ce.ra"; rb: "ce.rb"; rc: "ce.rc"; rd: "ce.rd"; re: "ce.re"; rf: "ce.rf"; rg: "ce.rg"; rh: "ce.rh"; ri: "ce.ri"; rj: "ce.rj"; rk: "ce.rk"; rl: "ce.rl"; rm: "ce.rm"; rn: "ce.rn"; ro: "ce.ro"; rp: "ce.rp"; rq: "ce.rq"; rr: "ce.rr"; rs: "ce.rs"; rt: "ce.rt"; ru: "ce.ru"; rv: "ce.rv"; rw: "ce.rw"; rx: "ce.rx"; ry: "ce.ry"; rz: "ce.rz"; sa: "ce.sa"; sb: "ce.sb"; sc: "ce.sc"; sd: "ce.sd"; se: "ce.se"; sf: "ce.sf"; sg: "ce.sg"; sh: "ce.sh"; si: "ce.si"; sj: "ce.sj"; sk: "ce.sk"; sl: "ce.sl"; sm: "ce.sm"; sn: "ce.sn"; so: "ce.so"; sp: "ce.sp"; sq: "ce.sq"; sr: "ce.sr"; ss: "ce.ss"; st: "ce.st"; su: "ce.su"; sv: "ce.sv"; sw: "ce.sw"; sx: "ce.sx"; sy: "ce.sy"; sz: "ce.sz"; ta: "ce.ta"; tb: "ce.tb"; tc: "ce.tc"; td: "ce.td"; te: "ce.te"; tf: "ce.tf"; tg: "ce.tg"; th: "ce.th"; ti: "ce.ti"; tj: "ce.tj"; tk: "ce.tk"; tl: "ce.tl"; tm: "ce.tm"; tn: "ce.tn"; to: "ce.to"; tp: "ce.tp"; tq: "ce.tq"; tr: "ce.tr"; ts: "ce.ts"; tt: "ce.tt"; tu: "ce.tu"; tv: "ce.tv"; tw: "ce.tw"; tx: "ce.tx"; ty: "ce.ty"; tz: "ce.tz"; ua: "ce.ua"; ub: "ce.ub"; uc: "ce.uc"; ud: "ce.ud"; ue: "ce.ue"; uf: "ce.uf"; ug: "ce.ug"; uh: "ce.uh"; ui: "ce.ui"; uj: "ce.uj"; uk: "ce.uk"; ul: "ce.ul"; um: "ce.um"; un: "ce.un"; uo: "ce.uo"; up: "ce.up"; uq: "ce.uq"; ur: "ce.ur"; us: "ce.us"; ut: "ce.ut"; uu: "ce.uu"; uv: "ce.uv"; uw: "ce.uw"; ux: "ce.ux"; uy: "ce.uy"; uz: "ce.uz"; va: "ce.va"; vb: "ce.vb"; vc: "ce.vc"; vd: "ce.vd"; ve: "ce.ve"; vf: "ce.vf"; vg: "ce.vg"; vh: "ce.vh"; vi: "ce.vi"; vj: "ce.vj"; vk: "ce.vk"; vl: "ce.vl"; vm: "ce.vm"; vn: "ce.vn"; vo: "ce.vo"; vp: "ce.vp"; vq: "ce.vq"; vr: "ce.vr"; vs: "ce.vs"; vt: "ce.vt"; vu: "ce.vu"; vv: "ce.vv"; vw: "ce.vw"; vx: "ce.vx"; vy: "ce.vy"; vz: "ce.vz"; wa: "ce.wa"; wb: "ce.wb"; wc: "ce.wc"; wd: "ce.wd"; we: "ce.we"; wf: "ce.wf"; wg: "ce.wg"; wh: "ce.wh"; wi: "ce.wi"; wj: "ce.wj"; wk: "ce.wk"; wl: "ce.wl"; wm: "ce.wm"; wn: "ce.wn"; wo: "ce.wo"; wp: "ce.wp"; wq: "ce.wq"; wr: "ce.wr"; ws: "ce.ws"; wt: "ce.wt"; wu: "ce.wu"; wv: "ce.wv"; ww: "ce.ww"; wx: "ce.wx"; wy: "ce.wy"; wz: "ce.wz"; xa: "ce.xa"; xb: "ce.xb"; xc: "ce.xc"; xd: "ce.xd"; xe: "ce.xe"; xf: "ce.xf"; xg: "ce.xg"; xh: "ce.xh"; xi: "ce.xi"; xj: "ce.xj"; xk: "ce.xk"; xl: "ce.xl"; xm: "ce.xm"; xn: "ce.xn"; xo: "ce.xo"; xp: "ce.xp"; xq: "ce.xq"; xr: "ce.xr"; xs: "ce.xs"; xt: "ce.xt"; xu: "ce.xu"; xv: "ce.xv"; xw: "ce.xw"; xx: "ce.xx"; xy: "ce.xy"; xz: "ce.xz"; ya: "ce.ya"; yb: "ce.yb"; yc: "ce.yc"; yd: "ce.yd"; ye: "ce.ye"; yf: "ce.yf"; yg: "ce.yg"; yh: "ce.yh"; yi: "ce.yi"; yj: "ce.yj"; yk: "ce.yk"; yl: "ce.yl"; ym: "ce.ym"; yn: "ce.yn"; yo: "ce.yo"; yp: "ce.yp"; yq: "ce.yq"; yr: "ce.yr"; ys: "ce.ys"; yt: "ce.yt"; yu: "ce.yu"; yv: "ce.yv"; yw: "ce.yw"; yx: "ce.yx"; yy: "ce.yy"; yz: "ce.yz"; za: "ce.za"; zb: "ce.zb"; zc: "ce.zc"; zd: "ce.zd"; ze: "ce.ze"; zf: "ce.zf"; zg: "ce.zg"; zh: "ce.zh"; zi: "ce.zi"; zj: "ce.zj"; zk: "ce.zk"; zl: "ce.zl"; zm: "ce.zm"; zn: "ce.zn"; zo: "ce.zo"; zp: "ce.zp"; zq: "ce.zq"; zr: "ce.zr"; zs: "ce.zs"; zt: "ce.zt"; zu: "ce.zu"; zv: "ce.zv"; zw: "ce.zw"; zx: "ce.zx"; zy: "ce.zy"; zz: "ce.zz"; }; cf: { aa: "cf.aa"; ab: "cf.ab"; ac: "cf.ac"; ad: "cf.ad"; ae: "cf.ae"; af: "cf.af"; ag: "cf.ag"; ah: "cf.ah"; ai: "cf.ai"; aj: "cf.aj"; ak: "cf.ak"; al: "cf.al"; am: "cf.am"; an: "cf.an"; ao: "cf.ao"; ap: "cf.ap"; aq: "cf.aq"; ar: "cf.ar"; as: "cf.as"; at: "cf.at"; au: "cf.au"; av: "cf.av"; aw: "cf.aw"; ax: "cf.ax"; ay: "cf.ay"; az: "cf.az"; ba: "cf.ba"; bb: "cf.bb"; bc: "cf.bc"; bd: "cf.bd"; be: "cf.be"; bf: "cf.bf"; bg: "cf.bg"; bh: "cf.bh"; bi: "cf.bi"; bj: "cf.bj"; bk: "cf.bk"; bl: "cf.bl"; bm: "cf.bm"; bn: "cf.bn"; bo: "cf.bo"; bp: "cf.bp"; bq: "cf.bq"; br: "cf.br"; bs: "cf.bs"; bt: "cf.bt"; bu: "cf.bu"; bv: "cf.bv"; bw: "cf.bw"; bx: "cf.bx"; by: "cf.by"; bz: "cf.bz"; ca: "cf.ca"; cb: "cf.cb"; cc: "cf.cc"; cd: "cf.cd"; ce: "cf.ce"; cf: "cf.cf"; cg: "cf.cg"; ch: "cf.ch"; ci: "cf.ci"; cj: "cf.cj"; ck: "cf.ck"; cl: "cf.cl"; cm: "cf.cm"; cn: "cf.cn"; co: "cf.co"; cp: "cf.cp"; cq: "cf.cq"; cr: "cf.cr"; cs: "cf.cs"; ct: "cf.ct"; cu: "cf.cu"; cv: "cf.cv"; cw: "cf.cw"; cx: "cf.cx"; cy: "cf.cy"; cz: "cf.cz"; da: "cf.da"; db: "cf.db"; dc: "cf.dc"; dd: "cf.dd"; de: "cf.de"; df: "cf.df"; dg: "cf.dg"; dh: "cf.dh"; di: "cf.di"; dj: "cf.dj"; dk: "cf.dk"; dl: "cf.dl"; dm: "cf.dm"; dn: "cf.dn"; do: "cf.do"; dp: "cf.dp"; dq: "cf.dq"; dr: "cf.dr"; ds: "cf.ds"; dt: "cf.dt"; du: "cf.du"; dv: "cf.dv"; dw: "cf.dw"; dx: "cf.dx"; dy: "cf.dy"; dz: "cf.dz"; ea: "cf.ea"; eb: "cf.eb"; ec: "cf.ec"; ed: "cf.ed"; ee: "cf.ee"; ef: "cf.ef"; eg: "cf.eg"; eh: "cf.eh"; ei: "cf.ei"; ej: "cf.ej"; ek: "cf.ek"; el: "cf.el"; em: "cf.em"; en: "cf.en"; eo: "cf.eo"; ep: "cf.ep"; eq: "cf.eq"; er: "cf.er"; es: "cf.es"; et: "cf.et"; eu: "cf.eu"; ev: "cf.ev"; ew: "cf.ew"; ex: "cf.ex"; ey: "cf.ey"; ez: "cf.ez"; fa: "cf.fa"; fb: "cf.fb"; fc: "cf.fc"; fd: "cf.fd"; fe: "cf.fe"; ff: "cf.ff"; fg: "cf.fg"; fh: "cf.fh"; fi: "cf.fi"; fj: "cf.fj"; fk: "cf.fk"; fl: "cf.fl"; fm: "cf.fm"; fn: "cf.fn"; fo: "cf.fo"; fp: "cf.fp"; fq: "cf.fq"; fr: "cf.fr"; fs: "cf.fs"; ft: "cf.ft"; fu: "cf.fu"; fv: "cf.fv"; fw: "cf.fw"; fx: "cf.fx"; fy: "cf.fy"; fz: "cf.fz"; ga: "cf.ga"; gb: "cf.gb"; gc: "cf.gc"; gd: "cf.gd"; ge: "cf.ge"; gf: "cf.gf"; gg: "cf.gg"; gh: "cf.gh"; gi: "cf.gi"; gj: "cf.gj"; gk: "cf.gk"; gl: "cf.gl"; gm: "cf.gm"; gn: "cf.gn"; go: "cf.go"; gp: "cf.gp"; gq: "cf.gq"; gr: "cf.gr"; gs: "cf.gs"; gt: "cf.gt"; gu: "cf.gu"; gv: "cf.gv"; gw: "cf.gw"; gx: "cf.gx"; gy: "cf.gy"; gz: "cf.gz"; ha: "cf.ha"; hb: "cf.hb"; hc: "cf.hc"; hd: "cf.hd"; he: "cf.he"; hf: "cf.hf"; hg: "cf.hg"; hh: "cf.hh"; hi: "cf.hi"; hj: "cf.hj"; hk: "cf.hk"; hl: "cf.hl"; hm: "cf.hm"; hn: "cf.hn"; ho: "cf.ho"; hp: "cf.hp"; hq: "cf.hq"; hr: "cf.hr"; hs: "cf.hs"; ht: "cf.ht"; hu: "cf.hu"; hv: "cf.hv"; hw: "cf.hw"; hx: "cf.hx"; hy: "cf.hy"; hz: "cf.hz"; ia: "cf.ia"; ib: "cf.ib"; ic: "cf.ic"; id: "cf.id"; ie: "cf.ie"; if: "cf.if"; ig: "cf.ig"; ih: "cf.ih"; ii: "cf.ii"; ij: "cf.ij"; ik: "cf.ik"; il: "cf.il"; im: "cf.im"; in: "cf.in"; io: "cf.io"; ip: "cf.ip"; iq: "cf.iq"; ir: "cf.ir"; is: "cf.is"; it: "cf.it"; iu: "cf.iu"; iv: "cf.iv"; iw: "cf.iw"; ix: "cf.ix"; iy: "cf.iy"; iz: "cf.iz"; ja: "cf.ja"; jb: "cf.jb"; jc: "cf.jc"; jd: "cf.jd"; je: "cf.je"; jf: "cf.jf"; jg: "cf.jg"; jh: "cf.jh"; ji: "cf.ji"; jj: "cf.jj"; jk: "cf.jk"; jl: "cf.jl"; jm: "cf.jm"; jn: "cf.jn"; jo: "cf.jo"; jp: "cf.jp"; jq: "cf.jq"; jr: "cf.jr"; js: "cf.js"; jt: "cf.jt"; ju: "cf.ju"; jv: "cf.jv"; jw: "cf.jw"; jx: "cf.jx"; jy: "cf.jy"; jz: "cf.jz"; ka: "cf.ka"; kb: "cf.kb"; kc: "cf.kc"; kd: "cf.kd"; ke: "cf.ke"; kf: "cf.kf"; kg: "cf.kg"; kh: "cf.kh"; ki: "cf.ki"; kj: "cf.kj"; kk: "cf.kk"; kl: "cf.kl"; km: "cf.km"; kn: "cf.kn"; ko: "cf.ko"; kp: "cf.kp"; kq: "cf.kq"; kr: "cf.kr"; ks: "cf.ks"; kt: "cf.kt"; ku: "cf.ku"; kv: "cf.kv"; kw: "cf.kw"; kx: "cf.kx"; ky: "cf.ky"; kz: "cf.kz"; la: "cf.la"; lb: "cf.lb"; lc: "cf.lc"; ld: "cf.ld"; le: "cf.le"; lf: "cf.lf"; lg: "cf.lg"; lh: "cf.lh"; li: "cf.li"; lj: "cf.lj"; lk: "cf.lk"; ll: "cf.ll"; lm: "cf.lm"; ln: "cf.ln"; lo: "cf.lo"; lp: "cf.lp"; lq: "cf.lq"; lr: "cf.lr"; ls: "cf.ls"; lt: "cf.lt"; lu: "cf.lu"; lv: "cf.lv"; lw: "cf.lw"; lx: "cf.lx"; ly: "cf.ly"; lz: "cf.lz"; ma: "cf.ma"; mb: "cf.mb"; mc: "cf.mc"; md: "cf.md"; me: "cf.me"; mf: "cf.mf"; mg: "cf.mg"; mh: "cf.mh"; mi: "cf.mi"; mj: "cf.mj"; mk: "cf.mk"; ml: "cf.ml"; mm: "cf.mm"; mn: "cf.mn"; mo: "cf.mo"; mp: "cf.mp"; mq: "cf.mq"; mr: "cf.mr"; ms: "cf.ms"; mt: "cf.mt"; mu: "cf.mu"; mv: "cf.mv"; mw: "cf.mw"; mx: "cf.mx"; my: "cf.my"; mz: "cf.mz"; na: "cf.na"; nb: "cf.nb"; nc: "cf.nc"; nd: "cf.nd"; ne: "cf.ne"; nf: "cf.nf"; ng: "cf.ng"; nh: "cf.nh"; ni: "cf.ni"; nj: "cf.nj"; nk: "cf.nk"; nl: "cf.nl"; nm: "cf.nm"; nn: "cf.nn"; no: "cf.no"; np: "cf.np"; nq: "cf.nq"; nr: "cf.nr"; ns: "cf.ns"; nt: "cf.nt"; nu: "cf.nu"; nv: "cf.nv"; nw: "cf.nw"; nx: "cf.nx"; ny: "cf.ny"; nz: "cf.nz"; oa: "cf.oa"; ob: "cf.ob"; oc: "cf.oc"; od: "cf.od"; oe: "cf.oe"; of: "cf.of"; og: "cf.og"; oh: "cf.oh"; oi: "cf.oi"; oj: "cf.oj"; ok: "cf.ok"; ol: "cf.ol"; om: "cf.om"; on: "cf.on"; oo: "cf.oo"; op: "cf.op"; oq: "cf.oq"; or: "cf.or"; os: "cf.os"; ot: "cf.ot"; ou: "cf.ou"; ov: "cf.ov"; ow: "cf.ow"; ox: "cf.ox"; oy: "cf.oy"; oz: "cf.oz"; pa: "cf.pa"; pb: "cf.pb"; pc: "cf.pc"; pd: "cf.pd"; pe: "cf.pe"; pf: "cf.pf"; pg: "cf.pg"; ph: "cf.ph"; pi: "cf.pi"; pj: "cf.pj"; pk: "cf.pk"; pl: "cf.pl"; pm: "cf.pm"; pn: "cf.pn"; po: "cf.po"; pp: "cf.pp"; pq: "cf.pq"; pr: "cf.pr"; ps: "cf.ps"; pt: "cf.pt"; pu: "cf.pu"; pv: "cf.pv"; pw: "cf.pw"; px: "cf.px"; py: "cf.py"; pz: "cf.pz"; qa: "cf.qa"; qb: "cf.qb"; qc: "cf.qc"; qd: "cf.qd"; qe: "cf.qe"; qf: "cf.qf"; qg: "cf.qg"; qh: "cf.qh"; qi: "cf.qi"; qj: "cf.qj"; qk: "cf.qk"; ql: "cf.ql"; qm: "cf.qm"; qn: "cf.qn"; qo: "cf.qo"; qp: "cf.qp"; qq: "cf.qq"; qr: "cf.qr"; qs: "cf.qs"; qt: "cf.qt"; qu: "cf.qu"; qv: "cf.qv"; qw: "cf.qw"; qx: "cf.qx"; qy: "cf.qy"; qz: "cf.qz"; ra: "cf.ra"; rb: "cf.rb"; rc: "cf.rc"; rd: "cf.rd"; re: "cf.re"; rf: "cf.rf"; rg: "cf.rg"; rh: "cf.rh"; ri: "cf.ri"; rj: "cf.rj"; rk: "cf.rk"; rl: "cf.rl"; rm: "cf.rm"; rn: "cf.rn"; ro: "cf.ro"; rp: "cf.rp"; rq: "cf.rq"; rr: "cf.rr"; rs: "cf.rs"; rt: "cf.rt"; ru: "cf.ru"; rv: "cf.rv"; rw: "cf.rw"; rx: "cf.rx"; ry: "cf.ry"; rz: "cf.rz"; sa: "cf.sa"; sb: "cf.sb"; sc: "cf.sc"; sd: "cf.sd"; se: "cf.se"; sf: "cf.sf"; sg: "cf.sg"; sh: "cf.sh"; si: "cf.si"; sj: "cf.sj"; sk: "cf.sk"; sl: "cf.sl"; sm: "cf.sm"; sn: "cf.sn"; so: "cf.so"; sp: "cf.sp"; sq: "cf.sq"; sr: "cf.sr"; ss: "cf.ss"; st: "cf.st"; su: "cf.su"; sv: "cf.sv"; sw: "cf.sw"; sx: "cf.sx"; sy: "cf.sy"; sz: "cf.sz"; ta: "cf.ta"; tb: "cf.tb"; tc: "cf.tc"; td: "cf.td"; te: "cf.te"; tf: "cf.tf"; tg: "cf.tg"; th: "cf.th"; ti: "cf.ti"; tj: "cf.tj"; tk: "cf.tk"; tl: "cf.tl"; tm: "cf.tm"; tn: "cf.tn"; to: "cf.to"; tp: "cf.tp"; tq: "cf.tq"; tr: "cf.tr"; ts: "cf.ts"; tt: "cf.tt"; tu: "cf.tu"; tv: "cf.tv"; tw: "cf.tw"; tx: "cf.tx"; ty: "cf.ty"; tz: "cf.tz"; ua: "cf.ua"; ub: "cf.ub"; uc: "cf.uc"; ud: "cf.ud"; ue: "cf.ue"; uf: "cf.uf"; ug: "cf.ug"; uh: "cf.uh"; ui: "cf.ui"; uj: "cf.uj"; uk: "cf.uk"; ul: "cf.ul"; um: "cf.um"; un: "cf.un"; uo: "cf.uo"; up: "cf.up"; uq: "cf.uq"; ur: "cf.ur"; us: "cf.us"; ut: "cf.ut"; uu: "cf.uu"; uv: "cf.uv"; uw: "cf.uw"; ux: "cf.ux"; uy: "cf.uy"; uz: "cf.uz"; va: "cf.va"; vb: "cf.vb"; vc: "cf.vc"; vd: "cf.vd"; ve: "cf.ve"; vf: "cf.vf"; vg: "cf.vg"; vh: "cf.vh"; vi: "cf.vi"; vj: "cf.vj"; vk: "cf.vk"; vl: "cf.vl"; vm: "cf.vm"; vn: "cf.vn"; vo: "cf.vo"; vp: "cf.vp"; vq: "cf.vq"; vr: "cf.vr"; vs: "cf.vs"; vt: "cf.vt"; vu: "cf.vu"; vv: "cf.vv"; vw: "cf.vw"; vx: "cf.vx"; vy: "cf.vy"; vz: "cf.vz"; wa: "cf.wa"; wb: "cf.wb"; wc: "cf.wc"; wd: "cf.wd"; we: "cf.we"; wf: "cf.wf"; wg: "cf.wg"; wh: "cf.wh"; wi: "cf.wi"; wj: "cf.wj"; wk: "cf.wk"; wl: "cf.wl"; wm: "cf.wm"; wn: "cf.wn"; wo: "cf.wo"; wp: "cf.wp"; wq: "cf.wq"; wr: "cf.wr"; ws: "cf.ws"; wt: "cf.wt"; wu: "cf.wu"; wv: "cf.wv"; ww: "cf.ww"; wx: "cf.wx"; wy: "cf.wy"; wz: "cf.wz"; xa: "cf.xa"; xb: "cf.xb"; xc: "cf.xc"; xd: "cf.xd"; xe: "cf.xe"; xf: "cf.xf"; xg: "cf.xg"; xh: "cf.xh"; xi: "cf.xi"; xj: "cf.xj"; xk: "cf.xk"; xl: "cf.xl"; xm: "cf.xm"; xn: "cf.xn"; xo: "cf.xo"; xp: "cf.xp"; xq: "cf.xq"; xr: "cf.xr"; xs: "cf.xs"; xt: "cf.xt"; xu: "cf.xu"; xv: "cf.xv"; xw: "cf.xw"; xx: "cf.xx"; xy: "cf.xy"; xz: "cf.xz"; ya: "cf.ya"; yb: "cf.yb"; yc: "cf.yc"; yd: "cf.yd"; ye: "cf.ye"; yf: "cf.yf"; yg: "cf.yg"; yh: "cf.yh"; yi: "cf.yi"; yj: "cf.yj"; yk: "cf.yk"; yl: "cf.yl"; ym: "cf.ym"; yn: "cf.yn"; yo: "cf.yo"; yp: "cf.yp"; yq: "cf.yq"; yr: "cf.yr"; ys: "cf.ys"; yt: "cf.yt"; yu: "cf.yu"; yv: "cf.yv"; yw: "cf.yw"; yx: "cf.yx"; yy: "cf.yy"; yz: "cf.yz"; za: "cf.za"; zb: "cf.zb"; zc: "cf.zc"; zd: "cf.zd"; ze: "cf.ze"; zf: "cf.zf"; zg: "cf.zg"; zh: "cf.zh"; zi: "cf.zi"; zj: "cf.zj"; zk: "cf.zk"; zl: "cf.zl"; zm: "cf.zm"; zn: "cf.zn"; zo: "cf.zo"; zp: "cf.zp"; zq: "cf.zq"; zr: "cf.zr"; zs: "cf.zs"; zt: "cf.zt"; zu: "cf.zu"; zv: "cf.zv"; zw: "cf.zw"; zx: "cf.zx"; zy: "cf.zy"; zz: "cf.zz"; }; cg: { aa: "cg.aa"; ab: "cg.ab"; ac: "cg.ac"; ad: "cg.ad"; ae: "cg.ae"; af: "cg.af"; ag: "cg.ag"; ah: "cg.ah"; ai: "cg.ai"; aj: "cg.aj"; ak: "cg.ak"; al: "cg.al"; am: "cg.am"; an: "cg.an"; ao: "cg.ao"; ap: "cg.ap"; aq: "cg.aq"; ar: "cg.ar"; as: "cg.as"; at: "cg.at"; au: "cg.au"; av: "cg.av"; aw: "cg.aw"; ax: "cg.ax"; ay: "cg.ay"; az: "cg.az"; ba: "cg.ba"; bb: "cg.bb"; bc: "cg.bc"; bd: "cg.bd"; be: "cg.be"; bf: "cg.bf"; bg: "cg.bg"; bh: "cg.bh"; bi: "cg.bi"; bj: "cg.bj"; bk: "cg.bk"; bl: "cg.bl"; bm: "cg.bm"; bn: "cg.bn"; bo: "cg.bo"; bp: "cg.bp"; bq: "cg.bq"; br: "cg.br"; bs: "cg.bs"; bt: "cg.bt"; bu: "cg.bu"; bv: "cg.bv"; bw: "cg.bw"; bx: "cg.bx"; by: "cg.by"; bz: "cg.bz"; ca: "cg.ca"; cb: "cg.cb"; cc: "cg.cc"; cd: "cg.cd"; ce: "cg.ce"; cf: "cg.cf"; cg: "cg.cg"; ch: "cg.ch"; ci: "cg.ci"; cj: "cg.cj"; ck: "cg.ck"; cl: "cg.cl"; cm: "cg.cm"; cn: "cg.cn"; co: "cg.co"; cp: "cg.cp"; cq: "cg.cq"; cr: "cg.cr"; cs: "cg.cs"; ct: "cg.ct"; cu: "cg.cu"; cv: "cg.cv"; cw: "cg.cw"; cx: "cg.cx"; cy: "cg.cy"; cz: "cg.cz"; da: "cg.da"; db: "cg.db"; dc: "cg.dc"; dd: "cg.dd"; de: "cg.de"; df: "cg.df"; dg: "cg.dg"; dh: "cg.dh"; di: "cg.di"; dj: "cg.dj"; dk: "cg.dk"; dl: "cg.dl"; dm: "cg.dm"; dn: "cg.dn"; do: "cg.do"; dp: "cg.dp"; dq: "cg.dq"; dr: "cg.dr"; ds: "cg.ds"; dt: "cg.dt"; du: "cg.du"; dv: "cg.dv"; dw: "cg.dw"; dx: "cg.dx"; dy: "cg.dy"; dz: "cg.dz"; ea: "cg.ea"; eb: "cg.eb"; ec: "cg.ec"; ed: "cg.ed"; ee: "cg.ee"; ef: "cg.ef"; eg: "cg.eg"; eh: "cg.eh"; ei: "cg.ei"; ej: "cg.ej"; ek: "cg.ek"; el: "cg.el"; em: "cg.em"; en: "cg.en"; eo: "cg.eo"; ep: "cg.ep"; eq: "cg.eq"; er: "cg.er"; es: "cg.es"; et: "cg.et"; eu: "cg.eu"; ev: "cg.ev"; ew: "cg.ew"; ex: "cg.ex"; ey: "cg.ey"; ez: "cg.ez"; fa: "cg.fa"; fb: "cg.fb"; fc: "cg.fc"; fd: "cg.fd"; fe: "cg.fe"; ff: "cg.ff"; fg: "cg.fg"; fh: "cg.fh"; fi: "cg.fi"; fj: "cg.fj"; fk: "cg.fk"; fl: "cg.fl"; fm: "cg.fm"; fn: "cg.fn"; fo: "cg.fo"; fp: "cg.fp"; fq: "cg.fq"; fr: "cg.fr"; fs: "cg.fs"; ft: "cg.ft"; fu: "cg.fu"; fv: "cg.fv"; fw: "cg.fw"; fx: "cg.fx"; fy: "cg.fy"; fz: "cg.fz"; ga: "cg.ga"; gb: "cg.gb"; gc: "cg.gc"; gd: "cg.gd"; ge: "cg.ge"; gf: "cg.gf"; gg: "cg.gg"; gh: "cg.gh"; gi: "cg.gi"; gj: "cg.gj"; gk: "cg.gk"; gl: "cg.gl"; gm: "cg.gm"; gn: "cg.gn"; go: "cg.go"; gp: "cg.gp"; gq: "cg.gq"; gr: "cg.gr"; gs: "cg.gs"; gt: "cg.gt"; gu: "cg.gu"; gv: "cg.gv"; gw: "cg.gw"; gx: "cg.gx"; gy: "cg.gy"; gz: "cg.gz"; ha: "cg.ha"; hb: "cg.hb"; hc: "cg.hc"; hd: "cg.hd"; he: "cg.he"; hf: "cg.hf"; hg: "cg.hg"; hh: "cg.hh"; hi: "cg.hi"; hj: "cg.hj"; hk: "cg.hk"; hl: "cg.hl"; hm: "cg.hm"; hn: "cg.hn"; ho: "cg.ho"; hp: "cg.hp"; hq: "cg.hq"; hr: "cg.hr"; hs: "cg.hs"; ht: "cg.ht"; hu: "cg.hu"; hv: "cg.hv"; hw: "cg.hw"; hx: "cg.hx"; hy: "cg.hy"; hz: "cg.hz"; ia: "cg.ia"; ib: "cg.ib"; ic: "cg.ic"; id: "cg.id"; ie: "cg.ie"; if: "cg.if"; ig: "cg.ig"; ih: "cg.ih"; ii: "cg.ii"; ij: "cg.ij"; ik: "cg.ik"; il: "cg.il"; im: "cg.im"; in: "cg.in"; io: "cg.io"; ip: "cg.ip"; iq: "cg.iq"; ir: "cg.ir"; is: "cg.is"; it: "cg.it"; iu: "cg.iu"; iv: "cg.iv"; iw: "cg.iw"; ix: "cg.ix"; iy: "cg.iy"; iz: "cg.iz"; ja: "cg.ja"; jb: "cg.jb"; jc: "cg.jc"; jd: "cg.jd"; je: "cg.je"; jf: "cg.jf"; jg: "cg.jg"; jh: "cg.jh"; ji: "cg.ji"; jj: "cg.jj"; jk: "cg.jk"; jl: "cg.jl"; jm: "cg.jm"; jn: "cg.jn"; jo: "cg.jo"; jp: "cg.jp"; jq: "cg.jq"; jr: "cg.jr"; js: "cg.js"; jt: "cg.jt"; ju: "cg.ju"; jv: "cg.jv"; jw: "cg.jw"; jx: "cg.jx"; jy: "cg.jy"; jz: "cg.jz"; ka: "cg.ka"; kb: "cg.kb"; kc: "cg.kc"; kd: "cg.kd"; ke: "cg.ke"; kf: "cg.kf"; kg: "cg.kg"; kh: "cg.kh"; ki: "cg.ki"; kj: "cg.kj"; kk: "cg.kk"; kl: "cg.kl"; km: "cg.km"; kn: "cg.kn"; ko: "cg.ko"; kp: "cg.kp"; kq: "cg.kq"; kr: "cg.kr"; ks: "cg.ks"; kt: "cg.kt"; ku: "cg.ku"; kv: "cg.kv"; kw: "cg.kw"; kx: "cg.kx"; ky: "cg.ky"; kz: "cg.kz"; la: "cg.la"; lb: "cg.lb"; lc: "cg.lc"; ld: "cg.ld"; le: "cg.le"; lf: "cg.lf"; lg: "cg.lg"; lh: "cg.lh"; li: "cg.li"; lj: "cg.lj"; lk: "cg.lk"; ll: "cg.ll"; lm: "cg.lm"; ln: "cg.ln"; lo: "cg.lo"; lp: "cg.lp"; lq: "cg.lq"; lr: "cg.lr"; ls: "cg.ls"; lt: "cg.lt"; lu: "cg.lu"; lv: "cg.lv"; lw: "cg.lw"; lx: "cg.lx"; ly: "cg.ly"; lz: "cg.lz"; ma: "cg.ma"; mb: "cg.mb"; mc: "cg.mc"; md: "cg.md"; me: "cg.me"; mf: "cg.mf"; mg: "cg.mg"; mh: "cg.mh"; mi: "cg.mi"; mj: "cg.mj"; mk: "cg.mk"; ml: "cg.ml"; mm: "cg.mm"; mn: "cg.mn"; mo: "cg.mo"; mp: "cg.mp"; mq: "cg.mq"; mr: "cg.mr"; ms: "cg.ms"; mt: "cg.mt"; mu: "cg.mu"; mv: "cg.mv"; mw: "cg.mw"; mx: "cg.mx"; my: "cg.my"; mz: "cg.mz"; na: "cg.na"; nb: "cg.nb"; nc: "cg.nc"; nd: "cg.nd"; ne: "cg.ne"; nf: "cg.nf"; ng: "cg.ng"; nh: "cg.nh"; ni: "cg.ni"; nj: "cg.nj"; nk: "cg.nk"; nl: "cg.nl"; nm: "cg.nm"; nn: "cg.nn"; no: "cg.no"; np: "cg.np"; nq: "cg.nq"; nr: "cg.nr"; ns: "cg.ns"; nt: "cg.nt"; nu: "cg.nu"; nv: "cg.nv"; nw: "cg.nw"; nx: "cg.nx"; ny: "cg.ny"; nz: "cg.nz"; oa: "cg.oa"; ob: "cg.ob"; oc: "cg.oc"; od: "cg.od"; oe: "cg.oe"; of: "cg.of"; og: "cg.og"; oh: "cg.oh"; oi: "cg.oi"; oj: "cg.oj"; ok: "cg.ok"; ol: "cg.ol"; om: "cg.om"; on: "cg.on"; oo: "cg.oo"; op: "cg.op"; oq: "cg.oq"; or: "cg.or"; os: "cg.os"; ot: "cg.ot"; ou: "cg.ou"; ov: "cg.ov"; ow: "cg.ow"; ox: "cg.ox"; oy: "cg.oy"; oz: "cg.oz"; pa: "cg.pa"; pb: "cg.pb"; pc: "cg.pc"; pd: "cg.pd"; pe: "cg.pe"; pf: "cg.pf"; pg: "cg.pg"; ph: "cg.ph"; pi: "cg.pi"; pj: "cg.pj"; pk: "cg.pk"; pl: "cg.pl"; pm: "cg.pm"; pn: "cg.pn"; po: "cg.po"; pp: "cg.pp"; pq: "cg.pq"; pr: "cg.pr"; ps: "cg.ps"; pt: "cg.pt"; pu: "cg.pu"; pv: "cg.pv"; pw: "cg.pw"; px: "cg.px"; py: "cg.py"; pz: "cg.pz"; qa: "cg.qa"; qb: "cg.qb"; qc: "cg.qc"; qd: "cg.qd"; qe: "cg.qe"; qf: "cg.qf"; qg: "cg.qg"; qh: "cg.qh"; qi: "cg.qi"; qj: "cg.qj"; qk: "cg.qk"; ql: "cg.ql"; qm: "cg.qm"; qn: "cg.qn"; qo: "cg.qo"; qp: "cg.qp"; qq: "cg.qq"; qr: "cg.qr"; qs: "cg.qs"; qt: "cg.qt"; qu: "cg.qu"; qv: "cg.qv"; qw: "cg.qw"; qx: "cg.qx"; qy: "cg.qy"; qz: "cg.qz"; ra: "cg.ra"; rb: "cg.rb"; rc: "cg.rc"; rd: "cg.rd"; re: "cg.re"; rf: "cg.rf"; rg: "cg.rg"; rh: "cg.rh"; ri: "cg.ri"; rj: "cg.rj"; rk: "cg.rk"; rl: "cg.rl"; rm: "cg.rm"; rn: "cg.rn"; ro: "cg.ro"; rp: "cg.rp"; rq: "cg.rq"; rr: "cg.rr"; rs: "cg.rs"; rt: "cg.rt"; ru: "cg.ru"; rv: "cg.rv"; rw: "cg.rw"; rx: "cg.rx"; ry: "cg.ry"; rz: "cg.rz"; sa: "cg.sa"; sb: "cg.sb"; sc: "cg.sc"; sd: "cg.sd"; se: "cg.se"; sf: "cg.sf"; sg: "cg.sg"; sh: "cg.sh"; si: "cg.si"; sj: "cg.sj"; sk: "cg.sk"; sl: "cg.sl"; sm: "cg.sm"; sn: "cg.sn"; so: "cg.so"; sp: "cg.sp"; sq: "cg.sq"; sr: "cg.sr"; ss: "cg.ss"; st: "cg.st"; su: "cg.su"; sv: "cg.sv"; sw: "cg.sw"; sx: "cg.sx"; sy: "cg.sy"; sz: "cg.sz"; ta: "cg.ta"; tb: "cg.tb"; tc: "cg.tc"; td: "cg.td"; te: "cg.te"; tf: "cg.tf"; tg: "cg.tg"; th: "cg.th"; ti: "cg.ti"; tj: "cg.tj"; tk: "cg.tk"; tl: "cg.tl"; tm: "cg.tm"; tn: "cg.tn"; to: "cg.to"; tp: "cg.tp"; tq: "cg.tq"; tr: "cg.tr"; ts: "cg.ts"; tt: "cg.tt"; tu: "cg.tu"; tv: "cg.tv"; tw: "cg.tw"; tx: "cg.tx"; ty: "cg.ty"; tz: "cg.tz"; ua: "cg.ua"; ub: "cg.ub"; uc: "cg.uc"; ud: "cg.ud"; ue: "cg.ue"; uf: "cg.uf"; ug: "cg.ug"; uh: "cg.uh"; ui: "cg.ui"; uj: "cg.uj"; uk: "cg.uk"; ul: "cg.ul"; um: "cg.um"; un: "cg.un"; uo: "cg.uo"; up: "cg.up"; uq: "cg.uq"; ur: "cg.ur"; us: "cg.us"; ut: "cg.ut"; uu: "cg.uu"; uv: "cg.uv"; uw: "cg.uw"; ux: "cg.ux"; uy: "cg.uy"; uz: "cg.uz"; va: "cg.va"; vb: "cg.vb"; vc: "cg.vc"; vd: "cg.vd"; ve: "cg.ve"; vf: "cg.vf"; vg: "cg.vg"; vh: "cg.vh"; vi: "cg.vi"; vj: "cg.vj"; vk: "cg.vk"; vl: "cg.vl"; vm: "cg.vm"; vn: "cg.vn"; vo: "cg.vo"; vp: "cg.vp"; vq: "cg.vq"; vr: "cg.vr"; vs: "cg.vs"; vt: "cg.vt"; vu: "cg.vu"; vv: "cg.vv"; vw: "cg.vw"; vx: "cg.vx"; vy: "cg.vy"; vz: "cg.vz"; wa: "cg.wa"; wb: "cg.wb"; wc: "cg.wc"; wd: "cg.wd"; we: "cg.we"; wf: "cg.wf"; wg: "cg.wg"; wh: "cg.wh"; wi: "cg.wi"; wj: "cg.wj"; wk: "cg.wk"; wl: "cg.wl"; wm: "cg.wm"; wn: "cg.wn"; wo: "cg.wo"; wp: "cg.wp"; wq: "cg.wq"; wr: "cg.wr"; ws: "cg.ws"; wt: "cg.wt"; wu: "cg.wu"; wv: "cg.wv"; ww: "cg.ww"; wx: "cg.wx"; wy: "cg.wy"; wz: "cg.wz"; xa: "cg.xa"; xb: "cg.xb"; xc: "cg.xc"; xd: "cg.xd"; xe: "cg.xe"; xf: "cg.xf"; xg: "cg.xg"; xh: "cg.xh"; xi: "cg.xi"; xj: "cg.xj"; xk: "cg.xk"; xl: "cg.xl"; xm: "cg.xm"; xn: "cg.xn"; xo: "cg.xo"; xp: "cg.xp"; xq: "cg.xq"; xr: "cg.xr"; xs: "cg.xs"; xt: "cg.xt"; xu: "cg.xu"; xv: "cg.xv"; xw: "cg.xw"; xx: "cg.xx"; xy: "cg.xy"; xz: "cg.xz"; ya: "cg.ya"; yb: "cg.yb"; yc: "cg.yc"; yd: "cg.yd"; ye: "cg.ye"; yf: "cg.yf"; yg: "cg.yg"; yh: "cg.yh"; yi: "cg.yi"; yj: "cg.yj"; yk: "cg.yk"; yl: "cg.yl"; ym: "cg.ym"; yn: "cg.yn"; yo: "cg.yo"; yp: "cg.yp"; yq: "cg.yq"; yr: "cg.yr"; ys: "cg.ys"; yt: "cg.yt"; yu: "cg.yu"; yv: "cg.yv"; yw: "cg.yw"; yx: "cg.yx"; yy: "cg.yy"; yz: "cg.yz"; za: "cg.za"; zb: "cg.zb"; zc: "cg.zc"; zd: "cg.zd"; ze: "cg.ze"; zf: "cg.zf"; zg: "cg.zg"; zh: "cg.zh"; zi: "cg.zi"; zj: "cg.zj"; zk: "cg.zk"; zl: "cg.zl"; zm: "cg.zm"; zn: "cg.zn"; zo: "cg.zo"; zp: "cg.zp"; zq: "cg.zq"; zr: "cg.zr"; zs: "cg.zs"; zt: "cg.zt"; zu: "cg.zu"; zv: "cg.zv"; zw: "cg.zw"; zx: "cg.zx"; zy: "cg.zy"; zz: "cg.zz"; }; ch: { aa: "ch.aa"; ab: "ch.ab"; ac: "ch.ac"; ad: "ch.ad"; ae: "ch.ae"; af: "ch.af"; ag: "ch.ag"; ah: "ch.ah"; ai: "ch.ai"; aj: "ch.aj"; ak: "ch.ak"; al: "ch.al"; am: "ch.am"; an: "ch.an"; ao: "ch.ao"; ap: "ch.ap"; aq: "ch.aq"; ar: "ch.ar"; as: "ch.as"; at: "ch.at"; au: "ch.au"; av: "ch.av"; aw: "ch.aw"; ax: "ch.ax"; ay: "ch.ay"; az: "ch.az"; ba: "ch.ba"; bb: "ch.bb"; bc: "ch.bc"; bd: "ch.bd"; be: "ch.be"; bf: "ch.bf"; bg: "ch.bg"; bh: "ch.bh"; bi: "ch.bi"; bj: "ch.bj"; bk: "ch.bk"; bl: "ch.bl"; bm: "ch.bm"; bn: "ch.bn"; bo: "ch.bo"; bp: "ch.bp"; bq: "ch.bq"; br: "ch.br"; bs: "ch.bs"; bt: "ch.bt"; bu: "ch.bu"; bv: "ch.bv"; bw: "ch.bw"; bx: "ch.bx"; by: "ch.by"; bz: "ch.bz"; ca: "ch.ca"; cb: "ch.cb"; cc: "ch.cc"; cd: "ch.cd"; ce: "ch.ce"; cf: "ch.cf"; cg: "ch.cg"; ch: "ch.ch"; ci: "ch.ci"; cj: "ch.cj"; ck: "ch.ck"; cl: "ch.cl"; cm: "ch.cm"; cn: "ch.cn"; co: "ch.co"; cp: "ch.cp"; cq: "ch.cq"; cr: "ch.cr"; cs: "ch.cs"; ct: "ch.ct"; cu: "ch.cu"; cv: "ch.cv"; cw: "ch.cw"; cx: "ch.cx"; cy: "ch.cy"; cz: "ch.cz"; da: "ch.da"; db: "ch.db"; dc: "ch.dc"; dd: "ch.dd"; de: "ch.de"; df: "ch.df"; dg: "ch.dg"; dh: "ch.dh"; di: "ch.di"; dj: "ch.dj"; dk: "ch.dk"; dl: "ch.dl"; dm: "ch.dm"; dn: "ch.dn"; do: "ch.do"; dp: "ch.dp"; dq: "ch.dq"; dr: "ch.dr"; ds: "ch.ds"; dt: "ch.dt"; du: "ch.du"; dv: "ch.dv"; dw: "ch.dw"; dx: "ch.dx"; dy: "ch.dy"; dz: "ch.dz"; ea: "ch.ea"; eb: "ch.eb"; ec: "ch.ec"; ed: "ch.ed"; ee: "ch.ee"; ef: "ch.ef"; eg: "ch.eg"; eh: "ch.eh"; ei: "ch.ei"; ej: "ch.ej"; ek: "ch.ek"; el: "ch.el"; em: "ch.em"; en: "ch.en"; eo: "ch.eo"; ep: "ch.ep"; eq: "ch.eq"; er: "ch.er"; es: "ch.es"; et: "ch.et"; eu: "ch.eu"; ev: "ch.ev"; ew: "ch.ew"; ex: "ch.ex"; ey: "ch.ey"; ez: "ch.ez"; fa: "ch.fa"; fb: "ch.fb"; fc: "ch.fc"; fd: "ch.fd"; fe: "ch.fe"; ff: "ch.ff"; fg: "ch.fg"; fh: "ch.fh"; fi: "ch.fi"; fj: "ch.fj"; fk: "ch.fk"; fl: "ch.fl"; fm: "ch.fm"; fn: "ch.fn"; fo: "ch.fo"; fp: "ch.fp"; fq: "ch.fq"; fr: "ch.fr"; fs: "ch.fs"; ft: "ch.ft"; fu: "ch.fu"; fv: "ch.fv"; fw: "ch.fw"; fx: "ch.fx"; fy: "ch.fy"; fz: "ch.fz"; ga: "ch.ga"; gb: "ch.gb"; gc: "ch.gc"; gd: "ch.gd"; ge: "ch.ge"; gf: "ch.gf"; gg: "ch.gg"; gh: "ch.gh"; gi: "ch.gi"; gj: "ch.gj"; gk: "ch.gk"; gl: "ch.gl"; gm: "ch.gm"; gn: "ch.gn"; go: "ch.go"; gp: "ch.gp"; gq: "ch.gq"; gr: "ch.gr"; gs: "ch.gs"; gt: "ch.gt"; gu: "ch.gu"; gv: "ch.gv"; gw: "ch.gw"; gx: "ch.gx"; gy: "ch.gy"; gz: "ch.gz"; ha: "ch.ha"; hb: "ch.hb"; hc: "ch.hc"; hd: "ch.hd"; he: "ch.he"; hf: "ch.hf"; hg: "ch.hg"; hh: "ch.hh"; hi: "ch.hi"; hj: "ch.hj"; hk: "ch.hk"; hl: "ch.hl"; hm: "ch.hm"; hn: "ch.hn"; ho: "ch.ho"; hp: "ch.hp"; hq: "ch.hq"; hr: "ch.hr"; hs: "ch.hs"; ht: "ch.ht"; hu: "ch.hu"; hv: "ch.hv"; hw: "ch.hw"; hx: "ch.hx"; hy: "ch.hy"; hz: "ch.hz"; ia: "ch.ia"; ib: "ch.ib"; ic: "ch.ic"; id: "ch.id"; ie: "ch.ie"; if: "ch.if"; ig: "ch.ig"; ih: "ch.ih"; ii: "ch.ii"; ij: "ch.ij"; ik: "ch.ik"; il: "ch.il"; im: "ch.im"; in: "ch.in"; io: "ch.io"; ip: "ch.ip"; iq: "ch.iq"; ir: "ch.ir"; is: "ch.is"; it: "ch.it"; iu: "ch.iu"; iv: "ch.iv"; iw: "ch.iw"; ix: "ch.ix"; iy: "ch.iy"; iz: "ch.iz"; ja: "ch.ja"; jb: "ch.jb"; jc: "ch.jc"; jd: "ch.jd"; je: "ch.je"; jf: "ch.jf"; jg: "ch.jg"; jh: "ch.jh"; ji: "ch.ji"; jj: "ch.jj"; jk: "ch.jk"; jl: "ch.jl"; jm: "ch.jm"; jn: "ch.jn"; jo: "ch.jo"; jp: "ch.jp"; jq: "ch.jq"; jr: "ch.jr"; js: "ch.js"; jt: "ch.jt"; ju: "ch.ju"; jv: "ch.jv"; jw: "ch.jw"; jx: "ch.jx"; jy: "ch.jy"; jz: "ch.jz"; ka: "ch.ka"; kb: "ch.kb"; kc: "ch.kc"; kd: "ch.kd"; ke: "ch.ke"; kf: "ch.kf"; kg: "ch.kg"; kh: "ch.kh"; ki: "ch.ki"; kj: "ch.kj"; kk: "ch.kk"; kl: "ch.kl"; km: "ch.km"; kn: "ch.kn"; ko: "ch.ko"; kp: "ch.kp"; kq: "ch.kq"; kr: "ch.kr"; ks: "ch.ks"; kt: "ch.kt"; ku: "ch.ku"; kv: "ch.kv"; kw: "ch.kw"; kx: "ch.kx"; ky: "ch.ky"; kz: "ch.kz"; la: "ch.la"; lb: "ch.lb"; lc: "ch.lc"; ld: "ch.ld"; le: "ch.le"; lf: "ch.lf"; lg: "ch.lg"; lh: "ch.lh"; li: "ch.li"; lj: "ch.lj"; lk: "ch.lk"; ll: "ch.ll"; lm: "ch.lm"; ln: "ch.ln"; lo: "ch.lo"; lp: "ch.lp"; lq: "ch.lq"; lr: "ch.lr"; ls: "ch.ls"; lt: "ch.lt"; lu: "ch.lu"; lv: "ch.lv"; lw: "ch.lw"; lx: "ch.lx"; ly: "ch.ly"; lz: "ch.lz"; ma: "ch.ma"; mb: "ch.mb"; mc: "ch.mc"; md: "ch.md"; me: "ch.me"; mf: "ch.mf"; mg: "ch.mg"; mh: "ch.mh"; mi: "ch.mi"; mj: "ch.mj"; mk: "ch.mk"; ml: "ch.ml"; mm: "ch.mm"; mn: "ch.mn"; mo: "ch.mo"; mp: "ch.mp"; mq: "ch.mq"; mr: "ch.mr"; ms: "ch.ms"; mt: "ch.mt"; mu: "ch.mu"; mv: "ch.mv"; mw: "ch.mw"; mx: "ch.mx"; my: "ch.my"; mz: "ch.mz"; na: "ch.na"; nb: "ch.nb"; nc: "ch.nc"; nd: "ch.nd"; ne: "ch.ne"; nf: "ch.nf"; ng: "ch.ng"; nh: "ch.nh"; ni: "ch.ni"; nj: "ch.nj"; nk: "ch.nk"; nl: "ch.nl"; nm: "ch.nm"; nn: "ch.nn"; no: "ch.no"; np: "ch.np"; nq: "ch.nq"; nr: "ch.nr"; ns: "ch.ns"; nt: "ch.nt"; nu: "ch.nu"; nv: "ch.nv"; nw: "ch.nw"; nx: "ch.nx"; ny: "ch.ny"; nz: "ch.nz"; oa: "ch.oa"; ob: "ch.ob"; oc: "ch.oc"; od: "ch.od"; oe: "ch.oe"; of: "ch.of"; og: "ch.og"; oh: "ch.oh"; oi: "ch.oi"; oj: "ch.oj"; ok: "ch.ok"; ol: "ch.ol"; om: "ch.om"; on: "ch.on"; oo: "ch.oo"; op: "ch.op"; oq: "ch.oq"; or: "ch.or"; os: "ch.os"; ot: "ch.ot"; ou: "ch.ou"; ov: "ch.ov"; ow: "ch.ow"; ox: "ch.ox"; oy: "ch.oy"; oz: "ch.oz"; pa: "ch.pa"; pb: "ch.pb"; pc: "ch.pc"; pd: "ch.pd"; pe: "ch.pe"; pf: "ch.pf"; pg: "ch.pg"; ph: "ch.ph"; pi: "ch.pi"; pj: "ch.pj"; pk: "ch.pk"; pl: "ch.pl"; pm: "ch.pm"; pn: "ch.pn"; po: "ch.po"; pp: "ch.pp"; pq: "ch.pq"; pr: "ch.pr"; ps: "ch.ps"; pt: "ch.pt"; pu: "ch.pu"; pv: "ch.pv"; pw: "ch.pw"; px: "ch.px"; py: "ch.py"; pz: "ch.pz"; qa: "ch.qa"; qb: "ch.qb"; qc: "ch.qc"; qd: "ch.qd"; qe: "ch.qe"; qf: "ch.qf"; qg: "ch.qg"; qh: "ch.qh"; qi: "ch.qi"; qj: "ch.qj"; qk: "ch.qk"; ql: "ch.ql"; qm: "ch.qm"; qn: "ch.qn"; qo: "ch.qo"; qp: "ch.qp"; qq: "ch.qq"; qr: "ch.qr"; qs: "ch.qs"; qt: "ch.qt"; qu: "ch.qu"; qv: "ch.qv"; qw: "ch.qw"; qx: "ch.qx"; qy: "ch.qy"; qz: "ch.qz"; ra: "ch.ra"; rb: "ch.rb"; rc: "ch.rc"; rd: "ch.rd"; re: "ch.re"; rf: "ch.rf"; rg: "ch.rg"; rh: "ch.rh"; ri: "ch.ri"; rj: "ch.rj"; rk: "ch.rk"; rl: "ch.rl"; rm: "ch.rm"; rn: "ch.rn"; ro: "ch.ro"; rp: "ch.rp"; rq: "ch.rq"; rr: "ch.rr"; rs: "ch.rs"; rt: "ch.rt"; ru: "ch.ru"; rv: "ch.rv"; rw: "ch.rw"; rx: "ch.rx"; ry: "ch.ry"; rz: "ch.rz"; sa: "ch.sa"; sb: "ch.sb"; sc: "ch.sc"; sd: "ch.sd"; se: "ch.se"; sf: "ch.sf"; sg: "ch.sg"; sh: "ch.sh"; si: "ch.si"; sj: "ch.sj"; sk: "ch.sk"; sl: "ch.sl"; sm: "ch.sm"; sn: "ch.sn"; so: "ch.so"; sp: "ch.sp"; sq: "ch.sq"; sr: "ch.sr"; ss: "ch.ss"; st: "ch.st"; su: "ch.su"; sv: "ch.sv"; sw: "ch.sw"; sx: "ch.sx"; sy: "ch.sy"; sz: "ch.sz"; ta: "ch.ta"; tb: "ch.tb"; tc: "ch.tc"; td: "ch.td"; te: "ch.te"; tf: "ch.tf"; tg: "ch.tg"; th: "ch.th"; ti: "ch.ti"; tj: "ch.tj"; tk: "ch.tk"; tl: "ch.tl"; tm: "ch.tm"; tn: "ch.tn"; to: "ch.to"; tp: "ch.tp"; tq: "ch.tq"; tr: "ch.tr"; ts: "ch.ts"; tt: "ch.tt"; tu: "ch.tu"; tv: "ch.tv"; tw: "ch.tw"; tx: "ch.tx"; ty: "ch.ty"; tz: "ch.tz"; ua: "ch.ua"; ub: "ch.ub"; uc: "ch.uc"; ud: "ch.ud"; ue: "ch.ue"; uf: "ch.uf"; ug: "ch.ug"; uh: "ch.uh"; ui: "ch.ui"; uj: "ch.uj"; uk: "ch.uk"; ul: "ch.ul"; um: "ch.um"; un: "ch.un"; uo: "ch.uo"; up: "ch.up"; uq: "ch.uq"; ur: "ch.ur"; us: "ch.us"; ut: "ch.ut"; uu: "ch.uu"; uv: "ch.uv"; uw: "ch.uw"; ux: "ch.ux"; uy: "ch.uy"; uz: "ch.uz"; va: "ch.va"; vb: "ch.vb"; vc: "ch.vc"; vd: "ch.vd"; ve: "ch.ve"; vf: "ch.vf"; vg: "ch.vg"; vh: "ch.vh"; vi: "ch.vi"; vj: "ch.vj"; vk: "ch.vk"; vl: "ch.vl"; vm: "ch.vm"; vn: "ch.vn"; vo: "ch.vo"; vp: "ch.vp"; vq: "ch.vq"; vr: "ch.vr"; vs: "ch.vs"; vt: "ch.vt"; vu: "ch.vu"; vv: "ch.vv"; vw: "ch.vw"; vx: "ch.vx"; vy: "ch.vy"; vz: "ch.vz"; wa: "ch.wa"; wb: "ch.wb"; wc: "ch.wc"; wd: "ch.wd"; we: "ch.we"; wf: "ch.wf"; wg: "ch.wg"; wh: "ch.wh"; wi: "ch.wi"; wj: "ch.wj"; wk: "ch.wk"; wl: "ch.wl"; wm: "ch.wm"; wn: "ch.wn"; wo: "ch.wo"; wp: "ch.wp"; wq: "ch.wq"; wr: "ch.wr"; ws: "ch.ws"; wt: "ch.wt"; wu: "ch.wu"; wv: "ch.wv"; ww: "ch.ww"; wx: "ch.wx"; wy: "ch.wy"; wz: "ch.wz"; xa: "ch.xa"; xb: "ch.xb"; xc: "ch.xc"; xd: "ch.xd"; xe: "ch.xe"; xf: "ch.xf"; xg: "ch.xg"; xh: "ch.xh"; xi: "ch.xi"; xj: "ch.xj"; xk: "ch.xk"; xl: "ch.xl"; xm: "ch.xm"; xn: "ch.xn"; xo: "ch.xo"; xp: "ch.xp"; xq: "ch.xq"; xr: "ch.xr"; xs: "ch.xs"; xt: "ch.xt"; xu: "ch.xu"; xv: "ch.xv"; xw: "ch.xw"; xx: "ch.xx"; xy: "ch.xy"; xz: "ch.xz"; ya: "ch.ya"; yb: "ch.yb"; yc: "ch.yc"; yd: "ch.yd"; ye: "ch.ye"; yf: "ch.yf"; yg: "ch.yg"; yh: "ch.yh"; yi: "ch.yi"; yj: "ch.yj"; yk: "ch.yk"; yl: "ch.yl"; ym: "ch.ym"; yn: "ch.yn"; yo: "ch.yo"; yp: "ch.yp"; yq: "ch.yq"; yr: "ch.yr"; ys: "ch.ys"; yt: "ch.yt"; yu: "ch.yu"; yv: "ch.yv"; yw: "ch.yw"; yx: "ch.yx"; yy: "ch.yy"; yz: "ch.yz"; za: "ch.za"; zb: "ch.zb"; zc: "ch.zc"; zd: "ch.zd"; ze: "ch.ze"; zf: "ch.zf"; zg: "ch.zg"; zh: "ch.zh"; zi: "ch.zi"; zj: "ch.zj"; zk: "ch.zk"; zl: "ch.zl"; zm: "ch.zm"; zn: "ch.zn"; zo: "ch.zo"; zp: "ch.zp"; zq: "ch.zq"; zr: "ch.zr"; zs: "ch.zs"; zt: "ch.zt"; zu: "ch.zu"; zv: "ch.zv"; zw: "ch.zw"; zx: "ch.zx"; zy: "ch.zy"; zz: "ch.zz"; }; ci: { aa: "ci.aa"; ab: "ci.ab"; ac: "ci.ac"; ad: "ci.ad"; ae: "ci.ae"; af: "ci.af"; ag: "ci.ag"; ah: "ci.ah"; ai: "ci.ai"; aj: "ci.aj"; ak: "ci.ak"; al: "ci.al"; am: "ci.am"; an: "ci.an"; ao: "ci.ao"; ap: "ci.ap"; aq: "ci.aq"; ar: "ci.ar"; as: "ci.as"; at: "ci.at"; au: "ci.au"; av: "ci.av"; aw: "ci.aw"; ax: "ci.ax"; ay: "ci.ay"; az: "ci.az"; ba: "ci.ba"; bb: "ci.bb"; bc: "ci.bc"; bd: "ci.bd"; be: "ci.be"; bf: "ci.bf"; bg: "ci.bg"; bh: "ci.bh"; bi: "ci.bi"; bj: "ci.bj"; bk: "ci.bk"; bl: "ci.bl"; bm: "ci.bm"; bn: "ci.bn"; bo: "ci.bo"; bp: "ci.bp"; bq: "ci.bq"; br: "ci.br"; bs: "ci.bs"; bt: "ci.bt"; bu: "ci.bu"; bv: "ci.bv"; bw: "ci.bw"; bx: "ci.bx"; by: "ci.by"; bz: "ci.bz"; ca: "ci.ca"; cb: "ci.cb"; cc: "ci.cc"; cd: "ci.cd"; ce: "ci.ce"; cf: "ci.cf"; cg: "ci.cg"; ch: "ci.ch"; ci: "ci.ci"; cj: "ci.cj"; ck: "ci.ck"; cl: "ci.cl"; cm: "ci.cm"; cn: "ci.cn"; co: "ci.co"; cp: "ci.cp"; cq: "ci.cq"; cr: "ci.cr"; cs: "ci.cs"; ct: "ci.ct"; cu: "ci.cu"; cv: "ci.cv"; cw: "ci.cw"; cx: "ci.cx"; cy: "ci.cy"; cz: "ci.cz"; da: "ci.da"; db: "ci.db"; dc: "ci.dc"; dd: "ci.dd"; de: "ci.de"; df: "ci.df"; dg: "ci.dg"; dh: "ci.dh"; di: "ci.di"; dj: "ci.dj"; dk: "ci.dk"; dl: "ci.dl"; dm: "ci.dm"; dn: "ci.dn"; do: "ci.do"; dp: "ci.dp"; dq: "ci.dq"; dr: "ci.dr"; ds: "ci.ds"; dt: "ci.dt"; du: "ci.du"; dv: "ci.dv"; dw: "ci.dw"; dx: "ci.dx"; dy: "ci.dy"; dz: "ci.dz"; ea: "ci.ea"; eb: "ci.eb"; ec: "ci.ec"; ed: "ci.ed"; ee: "ci.ee"; ef: "ci.ef"; eg: "ci.eg"; eh: "ci.eh"; ei: "ci.ei"; ej: "ci.ej"; ek: "ci.ek"; el: "ci.el"; em: "ci.em"; en: "ci.en"; eo: "ci.eo"; ep: "ci.ep"; eq: "ci.eq"; er: "ci.er"; es: "ci.es"; et: "ci.et"; eu: "ci.eu"; ev: "ci.ev"; ew: "ci.ew"; ex: "ci.ex"; ey: "ci.ey"; ez: "ci.ez"; fa: "ci.fa"; fb: "ci.fb"; fc: "ci.fc"; fd: "ci.fd"; fe: "ci.fe"; ff: "ci.ff"; fg: "ci.fg"; fh: "ci.fh"; fi: "ci.fi"; fj: "ci.fj"; fk: "ci.fk"; fl: "ci.fl"; fm: "ci.fm"; fn: "ci.fn"; fo: "ci.fo"; fp: "ci.fp"; fq: "ci.fq"; fr: "ci.fr"; fs: "ci.fs"; ft: "ci.ft"; fu: "ci.fu"; fv: "ci.fv"; fw: "ci.fw"; fx: "ci.fx"; fy: "ci.fy"; fz: "ci.fz"; ga: "ci.ga"; gb: "ci.gb"; gc: "ci.gc"; gd: "ci.gd"; ge: "ci.ge"; gf: "ci.gf"; gg: "ci.gg"; gh: "ci.gh"; gi: "ci.gi"; gj: "ci.gj"; gk: "ci.gk"; gl: "ci.gl"; gm: "ci.gm"; gn: "ci.gn"; go: "ci.go"; gp: "ci.gp"; gq: "ci.gq"; gr: "ci.gr"; gs: "ci.gs"; gt: "ci.gt"; gu: "ci.gu"; gv: "ci.gv"; gw: "ci.gw"; gx: "ci.gx"; gy: "ci.gy"; gz: "ci.gz"; ha: "ci.ha"; hb: "ci.hb"; hc: "ci.hc"; hd: "ci.hd"; he: "ci.he"; hf: "ci.hf"; hg: "ci.hg"; hh: "ci.hh"; hi: "ci.hi"; hj: "ci.hj"; hk: "ci.hk"; hl: "ci.hl"; hm: "ci.hm"; hn: "ci.hn"; ho: "ci.ho"; hp: "ci.hp"; hq: "ci.hq"; hr: "ci.hr"; hs: "ci.hs"; ht: "ci.ht"; hu: "ci.hu"; hv: "ci.hv"; hw: "ci.hw"; hx: "ci.hx"; hy: "ci.hy"; hz: "ci.hz"; ia: "ci.ia"; ib: "ci.ib"; ic: "ci.ic"; id: "ci.id"; ie: "ci.ie"; if: "ci.if"; ig: "ci.ig"; ih: "ci.ih"; ii: "ci.ii"; ij: "ci.ij"; ik: "ci.ik"; il: "ci.il"; im: "ci.im"; in: "ci.in"; io: "ci.io"; ip: "ci.ip"; iq: "ci.iq"; ir: "ci.ir"; is: "ci.is"; it: "ci.it"; iu: "ci.iu"; iv: "ci.iv"; iw: "ci.iw"; ix: "ci.ix"; iy: "ci.iy"; iz: "ci.iz"; ja: "ci.ja"; jb: "ci.jb"; jc: "ci.jc"; jd: "ci.jd"; je: "ci.je"; jf: "ci.jf"; jg: "ci.jg"; jh: "ci.jh"; ji: "ci.ji"; jj: "ci.jj"; jk: "ci.jk"; jl: "ci.jl"; jm: "ci.jm"; jn: "ci.jn"; jo: "ci.jo"; jp: "ci.jp"; jq: "ci.jq"; jr: "ci.jr"; js: "ci.js"; jt: "ci.jt"; ju: "ci.ju"; jv: "ci.jv"; jw: "ci.jw"; jx: "ci.jx"; jy: "ci.jy"; jz: "ci.jz"; ka: "ci.ka"; kb: "ci.kb"; kc: "ci.kc"; kd: "ci.kd"; ke: "ci.ke"; kf: "ci.kf"; kg: "ci.kg"; kh: "ci.kh"; ki: "ci.ki"; kj: "ci.kj"; kk: "ci.kk"; kl: "ci.kl"; km: "ci.km"; kn: "ci.kn"; ko: "ci.ko"; kp: "ci.kp"; kq: "ci.kq"; kr: "ci.kr"; ks: "ci.ks"; kt: "ci.kt"; ku: "ci.ku"; kv: "ci.kv"; kw: "ci.kw"; kx: "ci.kx"; ky: "ci.ky"; kz: "ci.kz"; la: "ci.la"; lb: "ci.lb"; lc: "ci.lc"; ld: "ci.ld"; le: "ci.le"; lf: "ci.lf"; lg: "ci.lg"; lh: "ci.lh"; li: "ci.li"; lj: "ci.lj"; lk: "ci.lk"; ll: "ci.ll"; lm: "ci.lm"; ln: "ci.ln"; lo: "ci.lo"; lp: "ci.lp"; lq: "ci.lq"; lr: "ci.lr"; ls: "ci.ls"; lt: "ci.lt"; lu: "ci.lu"; lv: "ci.lv"; lw: "ci.lw"; lx: "ci.lx"; ly: "ci.ly"; lz: "ci.lz"; ma: "ci.ma"; mb: "ci.mb"; mc: "ci.mc"; md: "ci.md"; me: "ci.me"; mf: "ci.mf"; mg: "ci.mg"; mh: "ci.mh"; mi: "ci.mi"; mj: "ci.mj"; mk: "ci.mk"; ml: "ci.ml"; mm: "ci.mm"; mn: "ci.mn"; mo: "ci.mo"; mp: "ci.mp"; mq: "ci.mq"; mr: "ci.mr"; ms: "ci.ms"; mt: "ci.mt"; mu: "ci.mu"; mv: "ci.mv"; mw: "ci.mw"; mx: "ci.mx"; my: "ci.my"; mz: "ci.mz"; na: "ci.na"; nb: "ci.nb"; nc: "ci.nc"; nd: "ci.nd"; ne: "ci.ne"; nf: "ci.nf"; ng: "ci.ng"; nh: "ci.nh"; ni: "ci.ni"; nj: "ci.nj"; nk: "ci.nk"; nl: "ci.nl"; nm: "ci.nm"; nn: "ci.nn"; no: "ci.no"; np: "ci.np"; nq: "ci.nq"; nr: "ci.nr"; ns: "ci.ns"; nt: "ci.nt"; nu: "ci.nu"; nv: "ci.nv"; nw: "ci.nw"; nx: "ci.nx"; ny: "ci.ny"; nz: "ci.nz"; oa: "ci.oa"; ob: "ci.ob"; oc: "ci.oc"; od: "ci.od"; oe: "ci.oe"; of: "ci.of"; og: "ci.og"; oh: "ci.oh"; oi: "ci.oi"; oj: "ci.oj"; ok: "ci.ok"; ol: "ci.ol"; om: "ci.om"; on: "ci.on"; oo: "ci.oo"; op: "ci.op"; oq: "ci.oq"; or: "ci.or"; os: "ci.os"; ot: "ci.ot"; ou: "ci.ou"; ov: "ci.ov"; ow: "ci.ow"; ox: "ci.ox"; oy: "ci.oy"; oz: "ci.oz"; pa: "ci.pa"; pb: "ci.pb"; pc: "ci.pc"; pd: "ci.pd"; pe: "ci.pe"; pf: "ci.pf"; pg: "ci.pg"; ph: "ci.ph"; pi: "ci.pi"; pj: "ci.pj"; pk: "ci.pk"; pl: "ci.pl"; pm: "ci.pm"; pn: "ci.pn"; po: "ci.po"; pp: "ci.pp"; pq: "ci.pq"; pr: "ci.pr"; ps: "ci.ps"; pt: "ci.pt"; pu: "ci.pu"; pv: "ci.pv"; pw: "ci.pw"; px: "ci.px"; py: "ci.py"; pz: "ci.pz"; qa: "ci.qa"; qb: "ci.qb"; qc: "ci.qc"; qd: "ci.qd"; qe: "ci.qe"; qf: "ci.qf"; qg: "ci.qg"; qh: "ci.qh"; qi: "ci.qi"; qj: "ci.qj"; qk: "ci.qk"; ql: "ci.ql"; qm: "ci.qm"; qn: "ci.qn"; qo: "ci.qo"; qp: "ci.qp"; qq: "ci.qq"; qr: "ci.qr"; qs: "ci.qs"; qt: "ci.qt"; qu: "ci.qu"; qv: "ci.qv"; qw: "ci.qw"; qx: "ci.qx"; qy: "ci.qy"; qz: "ci.qz"; ra: "ci.ra"; rb: "ci.rb"; rc: "ci.rc"; rd: "ci.rd"; re: "ci.re"; rf: "ci.rf"; rg: "ci.rg"; rh: "ci.rh"; ri: "ci.ri"; rj: "ci.rj"; rk: "ci.rk"; rl: "ci.rl"; rm: "ci.rm"; rn: "ci.rn"; ro: "ci.ro"; rp: "ci.rp"; rq: "ci.rq"; rr: "ci.rr"; rs: "ci.rs"; rt: "ci.rt"; ru: "ci.ru"; rv: "ci.rv"; rw: "ci.rw"; rx: "ci.rx"; ry: "ci.ry"; rz: "ci.rz"; sa: "ci.sa"; sb: "ci.sb"; sc: "ci.sc"; sd: "ci.sd"; se: "ci.se"; sf: "ci.sf"; sg: "ci.sg"; sh: "ci.sh"; si: "ci.si"; sj: "ci.sj"; sk: "ci.sk"; sl: "ci.sl"; sm: "ci.sm"; sn: "ci.sn"; so: "ci.so"; sp: "ci.sp"; sq: "ci.sq"; sr: "ci.sr"; ss: "ci.ss"; st: "ci.st"; su: "ci.su"; sv: "ci.sv"; sw: "ci.sw"; sx: "ci.sx"; sy: "ci.sy"; sz: "ci.sz"; ta: "ci.ta"; tb: "ci.tb"; tc: "ci.tc"; td: "ci.td"; te: "ci.te"; tf: "ci.tf"; tg: "ci.tg"; th: "ci.th"; ti: "ci.ti"; tj: "ci.tj"; tk: "ci.tk"; tl: "ci.tl"; tm: "ci.tm"; tn: "ci.tn"; to: "ci.to"; tp: "ci.tp"; tq: "ci.tq"; tr: "ci.tr"; ts: "ci.ts"; tt: "ci.tt"; tu: "ci.tu"; tv: "ci.tv"; tw: "ci.tw"; tx: "ci.tx"; ty: "ci.ty"; tz: "ci.tz"; ua: "ci.ua"; ub: "ci.ub"; uc: "ci.uc"; ud: "ci.ud"; ue: "ci.ue"; uf: "ci.uf"; ug: "ci.ug"; uh: "ci.uh"; ui: "ci.ui"; uj: "ci.uj"; uk: "ci.uk"; ul: "ci.ul"; um: "ci.um"; un: "ci.un"; uo: "ci.uo"; up: "ci.up"; uq: "ci.uq"; ur: "ci.ur"; us: "ci.us"; ut: "ci.ut"; uu: "ci.uu"; uv: "ci.uv"; uw: "ci.uw"; ux: "ci.ux"; uy: "ci.uy"; uz: "ci.uz"; va: "ci.va"; vb: "ci.vb"; vc: "ci.vc"; vd: "ci.vd"; ve: "ci.ve"; vf: "ci.vf"; vg: "ci.vg"; vh: "ci.vh"; vi: "ci.vi"; vj: "ci.vj"; vk: "ci.vk"; vl: "ci.vl"; vm: "ci.vm"; vn: "ci.vn"; vo: "ci.vo"; vp: "ci.vp"; vq: "ci.vq"; vr: "ci.vr"; vs: "ci.vs"; vt: "ci.vt"; vu: "ci.vu"; vv: "ci.vv"; vw: "ci.vw"; vx: "ci.vx"; vy: "ci.vy"; vz: "ci.vz"; wa: "ci.wa"; wb: "ci.wb"; wc: "ci.wc"; wd: "ci.wd"; we: "ci.we"; wf: "ci.wf"; wg: "ci.wg"; wh: "ci.wh"; wi: "ci.wi"; wj: "ci.wj"; wk: "ci.wk"; wl: "ci.wl"; wm: "ci.wm"; wn: "ci.wn"; wo: "ci.wo"; wp: "ci.wp"; wq: "ci.wq"; wr: "ci.wr"; ws: "ci.ws"; wt: "ci.wt"; wu: "ci.wu"; wv: "ci.wv"; ww: "ci.ww"; wx: "ci.wx"; wy: "ci.wy"; wz: "ci.wz"; xa: "ci.xa"; xb: "ci.xb"; xc: "ci.xc"; xd: "ci.xd"; xe: "ci.xe"; xf: "ci.xf"; xg: "ci.xg"; xh: "ci.xh"; xi: "ci.xi"; xj: "ci.xj"; xk: "ci.xk"; xl: "ci.xl"; xm: "ci.xm"; xn: "ci.xn"; xo: "ci.xo"; xp: "ci.xp"; xq: "ci.xq"; xr: "ci.xr"; xs: "ci.xs"; xt: "ci.xt"; xu: "ci.xu"; xv: "ci.xv"; xw: "ci.xw"; xx: "ci.xx"; xy: "ci.xy"; xz: "ci.xz"; ya: "ci.ya"; yb: "ci.yb"; yc: "ci.yc"; yd: "ci.yd"; ye: "ci.ye"; yf: "ci.yf"; yg: "ci.yg"; yh: "ci.yh"; yi: "ci.yi"; yj: "ci.yj"; yk: "ci.yk"; yl: "ci.yl"; ym: "ci.ym"; yn: "ci.yn"; yo: "ci.yo"; yp: "ci.yp"; yq: "ci.yq"; yr: "ci.yr"; ys: "ci.ys"; yt: "ci.yt"; yu: "ci.yu"; yv: "ci.yv"; yw: "ci.yw"; yx: "ci.yx"; yy: "ci.yy"; yz: "ci.yz"; za: "ci.za"; zb: "ci.zb"; zc: "ci.zc"; zd: "ci.zd"; ze: "ci.ze"; zf: "ci.zf"; zg: "ci.zg"; zh: "ci.zh"; zi: "ci.zi"; zj: "ci.zj"; zk: "ci.zk"; zl: "ci.zl"; zm: "ci.zm"; zn: "ci.zn"; zo: "ci.zo"; zp: "ci.zp"; zq: "ci.zq"; zr: "ci.zr"; zs: "ci.zs"; zt: "ci.zt"; zu: "ci.zu"; zv: "ci.zv"; zw: "ci.zw"; zx: "ci.zx"; zy: "ci.zy"; zz: "ci.zz"; }; cj: { aa: "cj.aa"; ab: "cj.ab"; ac: "cj.ac"; ad: "cj.ad"; ae: "cj.ae"; af: "cj.af"; ag: "cj.ag"; ah: "cj.ah"; ai: "cj.ai"; aj: "cj.aj"; ak: "cj.ak"; al: "cj.al"; am: "cj.am"; an: "cj.an"; ao: "cj.ao"; ap: "cj.ap"; aq: "cj.aq"; ar: "cj.ar"; as: "cj.as"; at: "cj.at"; au: "cj.au"; av: "cj.av"; aw: "cj.aw"; ax: "cj.ax"; ay: "cj.ay"; az: "cj.az"; ba: "cj.ba"; bb: "cj.bb"; bc: "cj.bc"; bd: "cj.bd"; be: "cj.be"; bf: "cj.bf"; bg: "cj.bg"; bh: "cj.bh"; bi: "cj.bi"; bj: "cj.bj"; bk: "cj.bk"; bl: "cj.bl"; bm: "cj.bm"; bn: "cj.bn"; bo: "cj.bo"; bp: "cj.bp"; bq: "cj.bq"; br: "cj.br"; bs: "cj.bs"; bt: "cj.bt"; bu: "cj.bu"; bv: "cj.bv"; bw: "cj.bw"; bx: "cj.bx"; by: "cj.by"; bz: "cj.bz"; ca: "cj.ca"; cb: "cj.cb"; cc: "cj.cc"; cd: "cj.cd"; ce: "cj.ce"; cf: "cj.cf"; cg: "cj.cg"; ch: "cj.ch"; ci: "cj.ci"; cj: "cj.cj"; ck: "cj.ck"; cl: "cj.cl"; cm: "cj.cm"; cn: "cj.cn"; co: "cj.co"; cp: "cj.cp"; cq: "cj.cq"; cr: "cj.cr"; cs: "cj.cs"; ct: "cj.ct"; cu: "cj.cu"; cv: "cj.cv"; cw: "cj.cw"; cx: "cj.cx"; cy: "cj.cy"; cz: "cj.cz"; da: "cj.da"; db: "cj.db"; dc: "cj.dc"; dd: "cj.dd"; de: "cj.de"; df: "cj.df"; dg: "cj.dg"; dh: "cj.dh"; di: "cj.di"; dj: "cj.dj"; dk: "cj.dk"; dl: "cj.dl"; dm: "cj.dm"; dn: "cj.dn"; do: "cj.do"; dp: "cj.dp"; dq: "cj.dq"; dr: "cj.dr"; ds: "cj.ds"; dt: "cj.dt"; du: "cj.du"; dv: "cj.dv"; dw: "cj.dw"; dx: "cj.dx"; dy: "cj.dy"; dz: "cj.dz"; ea: "cj.ea"; eb: "cj.eb"; ec: "cj.ec"; ed: "cj.ed"; ee: "cj.ee"; ef: "cj.ef"; eg: "cj.eg"; eh: "cj.eh"; ei: "cj.ei"; ej: "cj.ej"; ek: "cj.ek"; el: "cj.el"; em: "cj.em"; en: "cj.en"; eo: "cj.eo"; ep: "cj.ep"; eq: "cj.eq"; er: "cj.er"; es: "cj.es"; et: "cj.et"; eu: "cj.eu"; ev: "cj.ev"; ew: "cj.ew"; ex: "cj.ex"; ey: "cj.ey"; ez: "cj.ez"; fa: "cj.fa"; fb: "cj.fb"; fc: "cj.fc"; fd: "cj.fd"; fe: "cj.fe"; ff: "cj.ff"; fg: "cj.fg"; fh: "cj.fh"; fi: "cj.fi"; fj: "cj.fj"; fk: "cj.fk"; fl: "cj.fl"; fm: "cj.fm"; fn: "cj.fn"; fo: "cj.fo"; fp: "cj.fp"; fq: "cj.fq"; fr: "cj.fr"; fs: "cj.fs"; ft: "cj.ft"; fu: "cj.fu"; fv: "cj.fv"; fw: "cj.fw"; fx: "cj.fx"; fy: "cj.fy"; fz: "cj.fz"; ga: "cj.ga"; gb: "cj.gb"; gc: "cj.gc"; gd: "cj.gd"; ge: "cj.ge"; gf: "cj.gf"; gg: "cj.gg"; gh: "cj.gh"; gi: "cj.gi"; gj: "cj.gj"; gk: "cj.gk"; gl: "cj.gl"; gm: "cj.gm"; gn: "cj.gn"; go: "cj.go"; gp: "cj.gp"; gq: "cj.gq"; gr: "cj.gr"; gs: "cj.gs"; gt: "cj.gt"; gu: "cj.gu"; gv: "cj.gv"; gw: "cj.gw"; gx: "cj.gx"; gy: "cj.gy"; gz: "cj.gz"; ha: "cj.ha"; hb: "cj.hb"; hc: "cj.hc"; hd: "cj.hd"; he: "cj.he"; hf: "cj.hf"; hg: "cj.hg"; hh: "cj.hh"; hi: "cj.hi"; hj: "cj.hj"; hk: "cj.hk"; hl: "cj.hl"; hm: "cj.hm"; hn: "cj.hn"; ho: "cj.ho"; hp: "cj.hp"; hq: "cj.hq"; hr: "cj.hr"; hs: "cj.hs"; ht: "cj.ht"; hu: "cj.hu"; hv: "cj.hv"; hw: "cj.hw"; hx: "cj.hx"; hy: "cj.hy"; hz: "cj.hz"; ia: "cj.ia"; ib: "cj.ib"; ic: "cj.ic"; id: "cj.id"; ie: "cj.ie"; if: "cj.if"; ig: "cj.ig"; ih: "cj.ih"; ii: "cj.ii"; ij: "cj.ij"; ik: "cj.ik"; il: "cj.il"; im: "cj.im"; in: "cj.in"; io: "cj.io"; ip: "cj.ip"; iq: "cj.iq"; ir: "cj.ir"; is: "cj.is"; it: "cj.it"; iu: "cj.iu"; iv: "cj.iv"; iw: "cj.iw"; ix: "cj.ix"; iy: "cj.iy"; iz: "cj.iz"; ja: "cj.ja"; jb: "cj.jb"; jc: "cj.jc"; jd: "cj.jd"; je: "cj.je"; jf: "cj.jf"; jg: "cj.jg"; jh: "cj.jh"; ji: "cj.ji"; jj: "cj.jj"; jk: "cj.jk"; jl: "cj.jl"; jm: "cj.jm"; jn: "cj.jn"; jo: "cj.jo"; jp: "cj.jp"; jq: "cj.jq"; jr: "cj.jr"; js: "cj.js"; jt: "cj.jt"; ju: "cj.ju"; jv: "cj.jv"; jw: "cj.jw"; jx: "cj.jx"; jy: "cj.jy"; jz: "cj.jz"; ka: "cj.ka"; kb: "cj.kb"; kc: "cj.kc"; kd: "cj.kd"; ke: "cj.ke"; kf: "cj.kf"; kg: "cj.kg"; kh: "cj.kh"; ki: "cj.ki"; kj: "cj.kj"; kk: "cj.kk"; kl: "cj.kl"; km: "cj.km"; kn: "cj.kn"; ko: "cj.ko"; kp: "cj.kp"; kq: "cj.kq"; kr: "cj.kr"; ks: "cj.ks"; kt: "cj.kt"; ku: "cj.ku"; kv: "cj.kv"; kw: "cj.kw"; kx: "cj.kx"; ky: "cj.ky"; kz: "cj.kz"; la: "cj.la"; lb: "cj.lb"; lc: "cj.lc"; ld: "cj.ld"; le: "cj.le"; lf: "cj.lf"; lg: "cj.lg"; lh: "cj.lh"; li: "cj.li"; lj: "cj.lj"; lk: "cj.lk"; ll: "cj.ll"; lm: "cj.lm"; ln: "cj.ln"; lo: "cj.lo"; lp: "cj.lp"; lq: "cj.lq"; lr: "cj.lr"; ls: "cj.ls"; lt: "cj.lt"; lu: "cj.lu"; lv: "cj.lv"; lw: "cj.lw"; lx: "cj.lx"; ly: "cj.ly"; lz: "cj.lz"; ma: "cj.ma"; mb: "cj.mb"; mc: "cj.mc"; md: "cj.md"; me: "cj.me"; mf: "cj.mf"; mg: "cj.mg"; mh: "cj.mh"; mi: "cj.mi"; mj: "cj.mj"; mk: "cj.mk"; ml: "cj.ml"; mm: "cj.mm"; mn: "cj.mn"; mo: "cj.mo"; mp: "cj.mp"; mq: "cj.mq"; mr: "cj.mr"; ms: "cj.ms"; mt: "cj.mt"; mu: "cj.mu"; mv: "cj.mv"; mw: "cj.mw"; mx: "cj.mx"; my: "cj.my"; mz: "cj.mz"; na: "cj.na"; nb: "cj.nb"; nc: "cj.nc"; nd: "cj.nd"; ne: "cj.ne"; nf: "cj.nf"; ng: "cj.ng"; nh: "cj.nh"; ni: "cj.ni"; nj: "cj.nj"; nk: "cj.nk"; nl: "cj.nl"; nm: "cj.nm"; nn: "cj.nn"; no: "cj.no"; np: "cj.np"; nq: "cj.nq"; nr: "cj.nr"; ns: "cj.ns"; nt: "cj.nt"; nu: "cj.nu"; nv: "cj.nv"; nw: "cj.nw"; nx: "cj.nx"; ny: "cj.ny"; nz: "cj.nz"; oa: "cj.oa"; ob: "cj.ob"; oc: "cj.oc"; od: "cj.od"; oe: "cj.oe"; of: "cj.of"; og: "cj.og"; oh: "cj.oh"; oi: "cj.oi"; oj: "cj.oj"; ok: "cj.ok"; ol: "cj.ol"; om: "cj.om"; on: "cj.on"; oo: "cj.oo"; op: "cj.op"; oq: "cj.oq"; or: "cj.or"; os: "cj.os"; ot: "cj.ot"; ou: "cj.ou"; ov: "cj.ov"; ow: "cj.ow"; ox: "cj.ox"; oy: "cj.oy"; oz: "cj.oz"; pa: "cj.pa"; pb: "cj.pb"; pc: "cj.pc"; pd: "cj.pd"; pe: "cj.pe"; pf: "cj.pf"; pg: "cj.pg"; ph: "cj.ph"; pi: "cj.pi"; pj: "cj.pj"; pk: "cj.pk"; pl: "cj.pl"; pm: "cj.pm"; pn: "cj.pn"; po: "cj.po"; pp: "cj.pp"; pq: "cj.pq"; pr: "cj.pr"; ps: "cj.ps"; pt: "cj.pt"; pu: "cj.pu"; pv: "cj.pv"; pw: "cj.pw"; px: "cj.px"; py: "cj.py"; pz: "cj.pz"; qa: "cj.qa"; qb: "cj.qb"; qc: "cj.qc"; qd: "cj.qd"; qe: "cj.qe"; qf: "cj.qf"; qg: "cj.qg"; qh: "cj.qh"; qi: "cj.qi"; qj: "cj.qj"; qk: "cj.qk"; ql: "cj.ql"; qm: "cj.qm"; qn: "cj.qn"; qo: "cj.qo"; qp: "cj.qp"; qq: "cj.qq"; qr: "cj.qr"; qs: "cj.qs"; qt: "cj.qt"; qu: "cj.qu"; qv: "cj.qv"; qw: "cj.qw"; qx: "cj.qx"; qy: "cj.qy"; qz: "cj.qz"; ra: "cj.ra"; rb: "cj.rb"; rc: "cj.rc"; rd: "cj.rd"; re: "cj.re"; rf: "cj.rf"; rg: "cj.rg"; rh: "cj.rh"; ri: "cj.ri"; rj: "cj.rj"; rk: "cj.rk"; rl: "cj.rl"; rm: "cj.rm"; rn: "cj.rn"; ro: "cj.ro"; rp: "cj.rp"; rq: "cj.rq"; rr: "cj.rr"; rs: "cj.rs"; rt: "cj.rt"; ru: "cj.ru"; rv: "cj.rv"; rw: "cj.rw"; rx: "cj.rx"; ry: "cj.ry"; rz: "cj.rz"; sa: "cj.sa"; sb: "cj.sb"; sc: "cj.sc"; sd: "cj.sd"; se: "cj.se"; sf: "cj.sf"; sg: "cj.sg"; sh: "cj.sh"; si: "cj.si"; sj: "cj.sj"; sk: "cj.sk"; sl: "cj.sl"; sm: "cj.sm"; sn: "cj.sn"; so: "cj.so"; sp: "cj.sp"; sq: "cj.sq"; sr: "cj.sr"; ss: "cj.ss"; st: "cj.st"; su: "cj.su"; sv: "cj.sv"; sw: "cj.sw"; sx: "cj.sx"; sy: "cj.sy"; sz: "cj.sz"; ta: "cj.ta"; tb: "cj.tb"; tc: "cj.tc"; td: "cj.td"; te: "cj.te"; tf: "cj.tf"; tg: "cj.tg"; th: "cj.th"; ti: "cj.ti"; tj: "cj.tj"; tk: "cj.tk"; tl: "cj.tl"; tm: "cj.tm"; tn: "cj.tn"; to: "cj.to"; tp: "cj.tp"; tq: "cj.tq"; tr: "cj.tr"; ts: "cj.ts"; tt: "cj.tt"; tu: "cj.tu"; tv: "cj.tv"; tw: "cj.tw"; tx: "cj.tx"; ty: "cj.ty"; tz: "cj.tz"; ua: "cj.ua"; ub: "cj.ub"; uc: "cj.uc"; ud: "cj.ud"; ue: "cj.ue"; uf: "cj.uf"; ug: "cj.ug"; uh: "cj.uh"; ui: "cj.ui"; uj: "cj.uj"; uk: "cj.uk"; ul: "cj.ul"; um: "cj.um"; un: "cj.un"; uo: "cj.uo"; up: "cj.up"; uq: "cj.uq"; ur: "cj.ur"; us: "cj.us"; ut: "cj.ut"; uu: "cj.uu"; uv: "cj.uv"; uw: "cj.uw"; ux: "cj.ux"; uy: "cj.uy"; uz: "cj.uz"; va: "cj.va"; vb: "cj.vb"; vc: "cj.vc"; vd: "cj.vd"; ve: "cj.ve"; vf: "cj.vf"; vg: "cj.vg"; vh: "cj.vh"; vi: "cj.vi"; vj: "cj.vj"; vk: "cj.vk"; vl: "cj.vl"; vm: "cj.vm"; vn: "cj.vn"; vo: "cj.vo"; vp: "cj.vp"; vq: "cj.vq"; vr: "cj.vr"; vs: "cj.vs"; vt: "cj.vt"; vu: "cj.vu"; vv: "cj.vv"; vw: "cj.vw"; vx: "cj.vx"; vy: "cj.vy"; vz: "cj.vz"; wa: "cj.wa"; wb: "cj.wb"; wc: "cj.wc"; wd: "cj.wd"; we: "cj.we"; wf: "cj.wf"; wg: "cj.wg"; wh: "cj.wh"; wi: "cj.wi"; wj: "cj.wj"; wk: "cj.wk"; wl: "cj.wl"; wm: "cj.wm"; wn: "cj.wn"; wo: "cj.wo"; wp: "cj.wp"; wq: "cj.wq"; wr: "cj.wr"; ws: "cj.ws"; wt: "cj.wt"; wu: "cj.wu"; wv: "cj.wv"; ww: "cj.ww"; wx: "cj.wx"; wy: "cj.wy"; wz: "cj.wz"; xa: "cj.xa"; xb: "cj.xb"; xc: "cj.xc"; xd: "cj.xd"; xe: "cj.xe"; xf: "cj.xf"; xg: "cj.xg"; xh: "cj.xh"; xi: "cj.xi"; xj: "cj.xj"; xk: "cj.xk"; xl: "cj.xl"; xm: "cj.xm"; xn: "cj.xn"; xo: "cj.xo"; xp: "cj.xp"; xq: "cj.xq"; xr: "cj.xr"; xs: "cj.xs"; xt: "cj.xt"; xu: "cj.xu"; xv: "cj.xv"; xw: "cj.xw"; xx: "cj.xx"; xy: "cj.xy"; xz: "cj.xz"; ya: "cj.ya"; yb: "cj.yb"; yc: "cj.yc"; yd: "cj.yd"; ye: "cj.ye"; yf: "cj.yf"; yg: "cj.yg"; yh: "cj.yh"; yi: "cj.yi"; yj: "cj.yj"; yk: "cj.yk"; yl: "cj.yl"; ym: "cj.ym"; yn: "cj.yn"; yo: "cj.yo"; yp: "cj.yp"; yq: "cj.yq"; yr: "cj.yr"; ys: "cj.ys"; yt: "cj.yt"; yu: "cj.yu"; yv: "cj.yv"; yw: "cj.yw"; yx: "cj.yx"; yy: "cj.yy"; yz: "cj.yz"; za: "cj.za"; zb: "cj.zb"; zc: "cj.zc"; zd: "cj.zd"; ze: "cj.ze"; zf: "cj.zf"; zg: "cj.zg"; zh: "cj.zh"; zi: "cj.zi"; zj: "cj.zj"; zk: "cj.zk"; zl: "cj.zl"; zm: "cj.zm"; zn: "cj.zn"; zo: "cj.zo"; zp: "cj.zp"; zq: "cj.zq"; zr: "cj.zr"; zs: "cj.zs"; zt: "cj.zt"; zu: "cj.zu"; zv: "cj.zv"; zw: "cj.zw"; zx: "cj.zx"; zy: "cj.zy"; zz: "cj.zz"; }; ck: { aa: "ck.aa"; ab: "ck.ab"; ac: "ck.ac"; ad: "ck.ad"; ae: "ck.ae"; af: "ck.af"; ag: "ck.ag"; ah: "ck.ah"; ai: "ck.ai"; aj: "ck.aj"; ak: "ck.ak"; al: "ck.al"; am: "ck.am"; an: "ck.an"; ao: "ck.ao"; ap: "ck.ap"; aq: "ck.aq"; ar: "ck.ar"; as: "ck.as"; at: "ck.at"; au: "ck.au"; av: "ck.av"; aw: "ck.aw"; ax: "ck.ax"; ay: "ck.ay"; az: "ck.az"; ba: "ck.ba"; bb: "ck.bb"; bc: "ck.bc"; bd: "ck.bd"; be: "ck.be"; bf: "ck.bf"; bg: "ck.bg"; bh: "ck.bh"; bi: "ck.bi"; bj: "ck.bj"; bk: "ck.bk"; bl: "ck.bl"; bm: "ck.bm"; bn: "ck.bn"; bo: "ck.bo"; bp: "ck.bp"; bq: "ck.bq"; br: "ck.br"; bs: "ck.bs"; bt: "ck.bt"; bu: "ck.bu"; bv: "ck.bv"; bw: "ck.bw"; bx: "ck.bx"; by: "ck.by"; bz: "ck.bz"; ca: "ck.ca"; cb: "ck.cb"; cc: "ck.cc"; cd: "ck.cd"; ce: "ck.ce"; cf: "ck.cf"; cg: "ck.cg"; ch: "ck.ch"; ci: "ck.ci"; cj: "ck.cj"; ck: "ck.ck"; cl: "ck.cl"; cm: "ck.cm"; cn: "ck.cn"; co: "ck.co"; cp: "ck.cp"; cq: "ck.cq"; cr: "ck.cr"; cs: "ck.cs"; ct: "ck.ct"; cu: "ck.cu"; cv: "ck.cv"; cw: "ck.cw"; cx: "ck.cx"; cy: "ck.cy"; cz: "ck.cz"; da: "ck.da"; db: "ck.db"; dc: "ck.dc"; dd: "ck.dd"; de: "ck.de"; df: "ck.df"; dg: "ck.dg"; dh: "ck.dh"; di: "ck.di"; dj: "ck.dj"; dk: "ck.dk"; dl: "ck.dl"; dm: "ck.dm"; dn: "ck.dn"; do: "ck.do"; dp: "ck.dp"; dq: "ck.dq"; dr: "ck.dr"; ds: "ck.ds"; dt: "ck.dt"; du: "ck.du"; dv: "ck.dv"; dw: "ck.dw"; dx: "ck.dx"; dy: "ck.dy"; dz: "ck.dz"; ea: "ck.ea"; eb: "ck.eb"; ec: "ck.ec"; ed: "ck.ed"; ee: "ck.ee"; ef: "ck.ef"; eg: "ck.eg"; eh: "ck.eh"; ei: "ck.ei"; ej: "ck.ej"; ek: "ck.ek"; el: "ck.el"; em: "ck.em"; en: "ck.en"; eo: "ck.eo"; ep: "ck.ep"; eq: "ck.eq"; er: "ck.er"; es: "ck.es"; et: "ck.et"; eu: "ck.eu"; ev: "ck.ev"; ew: "ck.ew"; ex: "ck.ex"; ey: "ck.ey"; ez: "ck.ez"; fa: "ck.fa"; fb: "ck.fb"; fc: "ck.fc"; fd: "ck.fd"; fe: "ck.fe"; ff: "ck.ff"; fg: "ck.fg"; fh: "ck.fh"; fi: "ck.fi"; fj: "ck.fj"; fk: "ck.fk"; fl: "ck.fl"; fm: "ck.fm"; fn: "ck.fn"; fo: "ck.fo"; fp: "ck.fp"; fq: "ck.fq"; fr: "ck.fr"; fs: "ck.fs"; ft: "ck.ft"; fu: "ck.fu"; fv: "ck.fv"; fw: "ck.fw"; fx: "ck.fx"; fy: "ck.fy"; fz: "ck.fz"; ga: "ck.ga"; gb: "ck.gb"; gc: "ck.gc"; gd: "ck.gd"; ge: "ck.ge"; gf: "ck.gf"; gg: "ck.gg"; gh: "ck.gh"; gi: "ck.gi"; gj: "ck.gj"; gk: "ck.gk"; gl: "ck.gl"; gm: "ck.gm"; gn: "ck.gn"; go: "ck.go"; gp: "ck.gp"; gq: "ck.gq"; gr: "ck.gr"; gs: "ck.gs"; gt: "ck.gt"; gu: "ck.gu"; gv: "ck.gv"; gw: "ck.gw"; gx: "ck.gx"; gy: "ck.gy"; gz: "ck.gz"; ha: "ck.ha"; hb: "ck.hb"; hc: "ck.hc"; hd: "ck.hd"; he: "ck.he"; hf: "ck.hf"; hg: "ck.hg"; hh: "ck.hh"; hi: "ck.hi"; hj: "ck.hj"; hk: "ck.hk"; hl: "ck.hl"; hm: "ck.hm"; hn: "ck.hn"; ho: "ck.ho"; hp: "ck.hp"; hq: "ck.hq"; hr: "ck.hr"; hs: "ck.hs"; ht: "ck.ht"; hu: "ck.hu"; hv: "ck.hv"; hw: "ck.hw"; hx: "ck.hx"; hy: "ck.hy"; hz: "ck.hz"; ia: "ck.ia"; ib: "ck.ib"; ic: "ck.ic"; id: "ck.id"; ie: "ck.ie"; if: "ck.if"; ig: "ck.ig"; ih: "ck.ih"; ii: "ck.ii"; ij: "ck.ij"; ik: "ck.ik"; il: "ck.il"; im: "ck.im"; in: "ck.in"; io: "ck.io"; ip: "ck.ip"; iq: "ck.iq"; ir: "ck.ir"; is: "ck.is"; it: "ck.it"; iu: "ck.iu"; iv: "ck.iv"; iw: "ck.iw"; ix: "ck.ix"; iy: "ck.iy"; iz: "ck.iz"; ja: "ck.ja"; jb: "ck.jb"; jc: "ck.jc"; jd: "ck.jd"; je: "ck.je"; jf: "ck.jf"; jg: "ck.jg"; jh: "ck.jh"; ji: "ck.ji"; jj: "ck.jj"; jk: "ck.jk"; jl: "ck.jl"; jm: "ck.jm"; jn: "ck.jn"; jo: "ck.jo"; jp: "ck.jp"; jq: "ck.jq"; jr: "ck.jr"; js: "ck.js"; jt: "ck.jt"; ju: "ck.ju"; jv: "ck.jv"; jw: "ck.jw"; jx: "ck.jx"; jy: "ck.jy"; jz: "ck.jz"; ka: "ck.ka"; kb: "ck.kb"; kc: "ck.kc"; kd: "ck.kd"; ke: "ck.ke"; kf: "ck.kf"; kg: "ck.kg"; kh: "ck.kh"; ki: "ck.ki"; kj: "ck.kj"; kk: "ck.kk"; kl: "ck.kl"; km: "ck.km"; kn: "ck.kn"; ko: "ck.ko"; kp: "ck.kp"; kq: "ck.kq"; kr: "ck.kr"; ks: "ck.ks"; kt: "ck.kt"; ku: "ck.ku"; kv: "ck.kv"; kw: "ck.kw"; kx: "ck.kx"; ky: "ck.ky"; kz: "ck.kz"; la: "ck.la"; lb: "ck.lb"; lc: "ck.lc"; ld: "ck.ld"; le: "ck.le"; lf: "ck.lf"; lg: "ck.lg"; lh: "ck.lh"; li: "ck.li"; lj: "ck.lj"; lk: "ck.lk"; ll: "ck.ll"; lm: "ck.lm"; ln: "ck.ln"; lo: "ck.lo"; lp: "ck.lp"; lq: "ck.lq"; lr: "ck.lr"; ls: "ck.ls"; lt: "ck.lt"; lu: "ck.lu"; lv: "ck.lv"; lw: "ck.lw"; lx: "ck.lx"; ly: "ck.ly"; lz: "ck.lz"; ma: "ck.ma"; mb: "ck.mb"; mc: "ck.mc"; md: "ck.md"; me: "ck.me"; mf: "ck.mf"; mg: "ck.mg"; mh: "ck.mh"; mi: "ck.mi"; mj: "ck.mj"; mk: "ck.mk"; ml: "ck.ml"; mm: "ck.mm"; mn: "ck.mn"; mo: "ck.mo"; mp: "ck.mp"; mq: "ck.mq"; mr: "ck.mr"; ms: "ck.ms"; mt: "ck.mt"; mu: "ck.mu"; mv: "ck.mv"; mw: "ck.mw"; mx: "ck.mx"; my: "ck.my"; mz: "ck.mz"; na: "ck.na"; nb: "ck.nb"; nc: "ck.nc"; nd: "ck.nd"; ne: "ck.ne"; nf: "ck.nf"; ng: "ck.ng"; nh: "ck.nh"; ni: "ck.ni"; nj: "ck.nj"; nk: "ck.nk"; nl: "ck.nl"; nm: "ck.nm"; nn: "ck.nn"; no: "ck.no"; np: "ck.np"; nq: "ck.nq"; nr: "ck.nr"; ns: "ck.ns"; nt: "ck.nt"; nu: "ck.nu"; nv: "ck.nv"; nw: "ck.nw"; nx: "ck.nx"; ny: "ck.ny"; nz: "ck.nz"; oa: "ck.oa"; ob: "ck.ob"; oc: "ck.oc"; od: "ck.od"; oe: "ck.oe"; of: "ck.of"; og: "ck.og"; oh: "ck.oh"; oi: "ck.oi"; oj: "ck.oj"; ok: "ck.ok"; ol: "ck.ol"; om: "ck.om"; on: "ck.on"; oo: "ck.oo"; op: "ck.op"; oq: "ck.oq"; or: "ck.or"; os: "ck.os"; ot: "ck.ot"; ou: "ck.ou"; ov: "ck.ov"; ow: "ck.ow"; ox: "ck.ox"; oy: "ck.oy"; oz: "ck.oz"; pa: "ck.pa"; pb: "ck.pb"; pc: "ck.pc"; pd: "ck.pd"; pe: "ck.pe"; pf: "ck.pf"; pg: "ck.pg"; ph: "ck.ph"; pi: "ck.pi"; pj: "ck.pj"; pk: "ck.pk"; pl: "ck.pl"; pm: "ck.pm"; pn: "ck.pn"; po: "ck.po"; pp: "ck.pp"; pq: "ck.pq"; pr: "ck.pr"; ps: "ck.ps"; pt: "ck.pt"; pu: "ck.pu"; pv: "ck.pv"; pw: "ck.pw"; px: "ck.px"; py: "ck.py"; pz: "ck.pz"; qa: "ck.qa"; qb: "ck.qb"; qc: "ck.qc"; qd: "ck.qd"; qe: "ck.qe"; qf: "ck.qf"; qg: "ck.qg"; qh: "ck.qh"; qi: "ck.qi"; qj: "ck.qj"; qk: "ck.qk"; ql: "ck.ql"; qm: "ck.qm"; qn: "ck.qn"; qo: "ck.qo"; qp: "ck.qp"; qq: "ck.qq"; qr: "ck.qr"; qs: "ck.qs"; qt: "ck.qt"; qu: "ck.qu"; qv: "ck.qv"; qw: "ck.qw"; qx: "ck.qx"; qy: "ck.qy"; qz: "ck.qz"; ra: "ck.ra"; rb: "ck.rb"; rc: "ck.rc"; rd: "ck.rd"; re: "ck.re"; rf: "ck.rf"; rg: "ck.rg"; rh: "ck.rh"; ri: "ck.ri"; rj: "ck.rj"; rk: "ck.rk"; rl: "ck.rl"; rm: "ck.rm"; rn: "ck.rn"; ro: "ck.ro"; rp: "ck.rp"; rq: "ck.rq"; rr: "ck.rr"; rs: "ck.rs"; rt: "ck.rt"; ru: "ck.ru"; rv: "ck.rv"; rw: "ck.rw"; rx: "ck.rx"; ry: "ck.ry"; rz: "ck.rz"; sa: "ck.sa"; sb: "ck.sb"; sc: "ck.sc"; sd: "ck.sd"; se: "ck.se"; sf: "ck.sf"; sg: "ck.sg"; sh: "ck.sh"; si: "ck.si"; sj: "ck.sj"; sk: "ck.sk"; sl: "ck.sl"; sm: "ck.sm"; sn: "ck.sn"; so: "ck.so"; sp: "ck.sp"; sq: "ck.sq"; sr: "ck.sr"; ss: "ck.ss"; st: "ck.st"; su: "ck.su"; sv: "ck.sv"; sw: "ck.sw"; sx: "ck.sx"; sy: "ck.sy"; sz: "ck.sz"; ta: "ck.ta"; tb: "ck.tb"; tc: "ck.tc"; td: "ck.td"; te: "ck.te"; tf: "ck.tf"; tg: "ck.tg"; th: "ck.th"; ti: "ck.ti"; tj: "ck.tj"; tk: "ck.tk"; tl: "ck.tl"; tm: "ck.tm"; tn: "ck.tn"; to: "ck.to"; tp: "ck.tp"; tq: "ck.tq"; tr: "ck.tr"; ts: "ck.ts"; tt: "ck.tt"; tu: "ck.tu"; tv: "ck.tv"; tw: "ck.tw"; tx: "ck.tx"; ty: "ck.ty"; tz: "ck.tz"; ua: "ck.ua"; ub: "ck.ub"; uc: "ck.uc"; ud: "ck.ud"; ue: "ck.ue"; uf: "ck.uf"; ug: "ck.ug"; uh: "ck.uh"; ui: "ck.ui"; uj: "ck.uj"; uk: "ck.uk"; ul: "ck.ul"; um: "ck.um"; un: "ck.un"; uo: "ck.uo"; up: "ck.up"; uq: "ck.uq"; ur: "ck.ur"; us: "ck.us"; ut: "ck.ut"; uu: "ck.uu"; uv: "ck.uv"; uw: "ck.uw"; ux: "ck.ux"; uy: "ck.uy"; uz: "ck.uz"; va: "ck.va"; vb: "ck.vb"; vc: "ck.vc"; vd: "ck.vd"; ve: "ck.ve"; vf: "ck.vf"; vg: "ck.vg"; vh: "ck.vh"; vi: "ck.vi"; vj: "ck.vj"; vk: "ck.vk"; vl: "ck.vl"; vm: "ck.vm"; vn: "ck.vn"; vo: "ck.vo"; vp: "ck.vp"; vq: "ck.vq"; vr: "ck.vr"; vs: "ck.vs"; vt: "ck.vt"; vu: "ck.vu"; vv: "ck.vv"; vw: "ck.vw"; vx: "ck.vx"; vy: "ck.vy"; vz: "ck.vz"; wa: "ck.wa"; wb: "ck.wb"; wc: "ck.wc"; wd: "ck.wd"; we: "ck.we"; wf: "ck.wf"; wg: "ck.wg"; wh: "ck.wh"; wi: "ck.wi"; wj: "ck.wj"; wk: "ck.wk"; wl: "ck.wl"; wm: "ck.wm"; wn: "ck.wn"; wo: "ck.wo"; wp: "ck.wp"; wq: "ck.wq"; wr: "ck.wr"; ws: "ck.ws"; wt: "ck.wt"; wu: "ck.wu"; wv: "ck.wv"; ww: "ck.ww"; wx: "ck.wx"; wy: "ck.wy"; wz: "ck.wz"; xa: "ck.xa"; xb: "ck.xb"; xc: "ck.xc"; xd: "ck.xd"; xe: "ck.xe"; xf: "ck.xf"; xg: "ck.xg"; xh: "ck.xh"; xi: "ck.xi"; xj: "ck.xj"; xk: "ck.xk"; xl: "ck.xl"; xm: "ck.xm"; xn: "ck.xn"; xo: "ck.xo"; xp: "ck.xp"; xq: "ck.xq"; xr: "ck.xr"; xs: "ck.xs"; xt: "ck.xt"; xu: "ck.xu"; xv: "ck.xv"; xw: "ck.xw"; xx: "ck.xx"; xy: "ck.xy"; xz: "ck.xz"; ya: "ck.ya"; yb: "ck.yb"; yc: "ck.yc"; yd: "ck.yd"; ye: "ck.ye"; yf: "ck.yf"; yg: "ck.yg"; yh: "ck.yh"; yi: "ck.yi"; yj: "ck.yj"; yk: "ck.yk"; yl: "ck.yl"; ym: "ck.ym"; yn: "ck.yn"; yo: "ck.yo"; yp: "ck.yp"; yq: "ck.yq"; yr: "ck.yr"; ys: "ck.ys"; yt: "ck.yt"; yu: "ck.yu"; yv: "ck.yv"; yw: "ck.yw"; yx: "ck.yx"; yy: "ck.yy"; yz: "ck.yz"; za: "ck.za"; zb: "ck.zb"; zc: "ck.zc"; zd: "ck.zd"; ze: "ck.ze"; zf: "ck.zf"; zg: "ck.zg"; zh: "ck.zh"; zi: "ck.zi"; zj: "ck.zj"; zk: "ck.zk"; zl: "ck.zl"; zm: "ck.zm"; zn: "ck.zn"; zo: "ck.zo"; zp: "ck.zp"; zq: "ck.zq"; zr: "ck.zr"; zs: "ck.zs"; zt: "ck.zt"; zu: "ck.zu"; zv: "ck.zv"; zw: "ck.zw"; zx: "ck.zx"; zy: "ck.zy"; zz: "ck.zz"; }; cl: { aa: "cl.aa"; ab: "cl.ab"; ac: "cl.ac"; ad: "cl.ad"; ae: "cl.ae"; af: "cl.af"; ag: "cl.ag"; ah: "cl.ah"; ai: "cl.ai"; aj: "cl.aj"; ak: "cl.ak"; al: "cl.al"; am: "cl.am"; an: "cl.an"; ao: "cl.ao"; ap: "cl.ap"; aq: "cl.aq"; ar: "cl.ar"; as: "cl.as"; at: "cl.at"; au: "cl.au"; av: "cl.av"; aw: "cl.aw"; ax: "cl.ax"; ay: "cl.ay"; az: "cl.az"; ba: "cl.ba"; bb: "cl.bb"; bc: "cl.bc"; bd: "cl.bd"; be: "cl.be"; bf: "cl.bf"; bg: "cl.bg"; bh: "cl.bh"; bi: "cl.bi"; bj: "cl.bj"; bk: "cl.bk"; bl: "cl.bl"; bm: "cl.bm"; bn: "cl.bn"; bo: "cl.bo"; bp: "cl.bp"; bq: "cl.bq"; br: "cl.br"; bs: "cl.bs"; bt: "cl.bt"; bu: "cl.bu"; bv: "cl.bv"; bw: "cl.bw"; bx: "cl.bx"; by: "cl.by"; bz: "cl.bz"; ca: "cl.ca"; cb: "cl.cb"; cc: "cl.cc"; cd: "cl.cd"; ce: "cl.ce"; cf: "cl.cf"; cg: "cl.cg"; ch: "cl.ch"; ci: "cl.ci"; cj: "cl.cj"; ck: "cl.ck"; cl: "cl.cl"; cm: "cl.cm"; cn: "cl.cn"; co: "cl.co"; cp: "cl.cp"; cq: "cl.cq"; cr: "cl.cr"; cs: "cl.cs"; ct: "cl.ct"; cu: "cl.cu"; cv: "cl.cv"; cw: "cl.cw"; cx: "cl.cx"; cy: "cl.cy"; cz: "cl.cz"; da: "cl.da"; db: "cl.db"; dc: "cl.dc"; dd: "cl.dd"; de: "cl.de"; df: "cl.df"; dg: "cl.dg"; dh: "cl.dh"; di: "cl.di"; dj: "cl.dj"; dk: "cl.dk"; dl: "cl.dl"; dm: "cl.dm"; dn: "cl.dn"; do: "cl.do"; dp: "cl.dp"; dq: "cl.dq"; dr: "cl.dr"; ds: "cl.ds"; dt: "cl.dt"; du: "cl.du"; dv: "cl.dv"; dw: "cl.dw"; dx: "cl.dx"; dy: "cl.dy"; dz: "cl.dz"; ea: "cl.ea"; eb: "cl.eb"; ec: "cl.ec"; ed: "cl.ed"; ee: "cl.ee"; ef: "cl.ef"; eg: "cl.eg"; eh: "cl.eh"; ei: "cl.ei"; ej: "cl.ej"; ek: "cl.ek"; el: "cl.el"; em: "cl.em"; en: "cl.en"; eo: "cl.eo"; ep: "cl.ep"; eq: "cl.eq"; er: "cl.er"; es: "cl.es"; et: "cl.et"; eu: "cl.eu"; ev: "cl.ev"; ew: "cl.ew"; ex: "cl.ex"; ey: "cl.ey"; ez: "cl.ez"; fa: "cl.fa"; fb: "cl.fb"; fc: "cl.fc"; fd: "cl.fd"; fe: "cl.fe"; ff: "cl.ff"; fg: "cl.fg"; fh: "cl.fh"; fi: "cl.fi"; fj: "cl.fj"; fk: "cl.fk"; fl: "cl.fl"; fm: "cl.fm"; fn: "cl.fn"; fo: "cl.fo"; fp: "cl.fp"; fq: "cl.fq"; fr: "cl.fr"; fs: "cl.fs"; ft: "cl.ft"; fu: "cl.fu"; fv: "cl.fv"; fw: "cl.fw"; fx: "cl.fx"; fy: "cl.fy"; fz: "cl.fz"; ga: "cl.ga"; gb: "cl.gb"; gc: "cl.gc"; gd: "cl.gd"; ge: "cl.ge"; gf: "cl.gf"; gg: "cl.gg"; gh: "cl.gh"; gi: "cl.gi"; gj: "cl.gj"; gk: "cl.gk"; gl: "cl.gl"; gm: "cl.gm"; gn: "cl.gn"; go: "cl.go"; gp: "cl.gp"; gq: "cl.gq"; gr: "cl.gr"; gs: "cl.gs"; gt: "cl.gt"; gu: "cl.gu"; gv: "cl.gv"; gw: "cl.gw"; gx: "cl.gx"; gy: "cl.gy"; gz: "cl.gz"; ha: "cl.ha"; hb: "cl.hb"; hc: "cl.hc"; hd: "cl.hd"; he: "cl.he"; hf: "cl.hf"; hg: "cl.hg"; hh: "cl.hh"; hi: "cl.hi"; hj: "cl.hj"; hk: "cl.hk"; hl: "cl.hl"; hm: "cl.hm"; hn: "cl.hn"; ho: "cl.ho"; hp: "cl.hp"; hq: "cl.hq"; hr: "cl.hr"; hs: "cl.hs"; ht: "cl.ht"; hu: "cl.hu"; hv: "cl.hv"; hw: "cl.hw"; hx: "cl.hx"; hy: "cl.hy"; hz: "cl.hz"; ia: "cl.ia"; ib: "cl.ib"; ic: "cl.ic"; id: "cl.id"; ie: "cl.ie"; if: "cl.if"; ig: "cl.ig"; ih: "cl.ih"; ii: "cl.ii"; ij: "cl.ij"; ik: "cl.ik"; il: "cl.il"; im: "cl.im"; in: "cl.in"; io: "cl.io"; ip: "cl.ip"; iq: "cl.iq"; ir: "cl.ir"; is: "cl.is"; it: "cl.it"; iu: "cl.iu"; iv: "cl.iv"; iw: "cl.iw"; ix: "cl.ix"; iy: "cl.iy"; iz: "cl.iz"; ja: "cl.ja"; jb: "cl.jb"; jc: "cl.jc"; jd: "cl.jd"; je: "cl.je"; jf: "cl.jf"; jg: "cl.jg"; jh: "cl.jh"; ji: "cl.ji"; jj: "cl.jj"; jk: "cl.jk"; jl: "cl.jl"; jm: "cl.jm"; jn: "cl.jn"; jo: "cl.jo"; jp: "cl.jp"; jq: "cl.jq"; jr: "cl.jr"; js: "cl.js"; jt: "cl.jt"; ju: "cl.ju"; jv: "cl.jv"; jw: "cl.jw"; jx: "cl.jx"; jy: "cl.jy"; jz: "cl.jz"; ka: "cl.ka"; kb: "cl.kb"; kc: "cl.kc"; kd: "cl.kd"; ke: "cl.ke"; kf: "cl.kf"; kg: "cl.kg"; kh: "cl.kh"; ki: "cl.ki"; kj: "cl.kj"; kk: "cl.kk"; kl: "cl.kl"; km: "cl.km"; kn: "cl.kn"; ko: "cl.ko"; kp: "cl.kp"; kq: "cl.kq"; kr: "cl.kr"; ks: "cl.ks"; kt: "cl.kt"; ku: "cl.ku"; kv: "cl.kv"; kw: "cl.kw"; kx: "cl.kx"; ky: "cl.ky"; kz: "cl.kz"; la: "cl.la"; lb: "cl.lb"; lc: "cl.lc"; ld: "cl.ld"; le: "cl.le"; lf: "cl.lf"; lg: "cl.lg"; lh: "cl.lh"; li: "cl.li"; lj: "cl.lj"; lk: "cl.lk"; ll: "cl.ll"; lm: "cl.lm"; ln: "cl.ln"; lo: "cl.lo"; lp: "cl.lp"; lq: "cl.lq"; lr: "cl.lr"; ls: "cl.ls"; lt: "cl.lt"; lu: "cl.lu"; lv: "cl.lv"; lw: "cl.lw"; lx: "cl.lx"; ly: "cl.ly"; lz: "cl.lz"; ma: "cl.ma"; mb: "cl.mb"; mc: "cl.mc"; md: "cl.md"; me: "cl.me"; mf: "cl.mf"; mg: "cl.mg"; mh: "cl.mh"; mi: "cl.mi"; mj: "cl.mj"; mk: "cl.mk"; ml: "cl.ml"; mm: "cl.mm"; mn: "cl.mn"; mo: "cl.mo"; mp: "cl.mp"; mq: "cl.mq"; mr: "cl.mr"; ms: "cl.ms"; mt: "cl.mt"; mu: "cl.mu"; mv: "cl.mv"; mw: "cl.mw"; mx: "cl.mx"; my: "cl.my"; mz: "cl.mz"; na: "cl.na"; nb: "cl.nb"; nc: "cl.nc"; nd: "cl.nd"; ne: "cl.ne"; nf: "cl.nf"; ng: "cl.ng"; nh: "cl.nh"; ni: "cl.ni"; nj: "cl.nj"; nk: "cl.nk"; nl: "cl.nl"; nm: "cl.nm"; nn: "cl.nn"; no: "cl.no"; np: "cl.np"; nq: "cl.nq"; nr: "cl.nr"; ns: "cl.ns"; nt: "cl.nt"; nu: "cl.nu"; nv: "cl.nv"; nw: "cl.nw"; nx: "cl.nx"; ny: "cl.ny"; nz: "cl.nz"; oa: "cl.oa"; ob: "cl.ob"; oc: "cl.oc"; od: "cl.od"; oe: "cl.oe"; of: "cl.of"; og: "cl.og"; oh: "cl.oh"; oi: "cl.oi"; oj: "cl.oj"; ok: "cl.ok"; ol: "cl.ol"; om: "cl.om"; on: "cl.on"; oo: "cl.oo"; op: "cl.op"; oq: "cl.oq"; or: "cl.or"; os: "cl.os"; ot: "cl.ot"; ou: "cl.ou"; ov: "cl.ov"; ow: "cl.ow"; ox: "cl.ox"; oy: "cl.oy"; oz: "cl.oz"; pa: "cl.pa"; pb: "cl.pb"; pc: "cl.pc"; pd: "cl.pd"; pe: "cl.pe"; pf: "cl.pf"; pg: "cl.pg"; ph: "cl.ph"; pi: "cl.pi"; pj: "cl.pj"; pk: "cl.pk"; pl: "cl.pl"; pm: "cl.pm"; pn: "cl.pn"; po: "cl.po"; pp: "cl.pp"; pq: "cl.pq"; pr: "cl.pr"; ps: "cl.ps"; pt: "cl.pt"; pu: "cl.pu"; pv: "cl.pv"; pw: "cl.pw"; px: "cl.px"; py: "cl.py"; pz: "cl.pz"; qa: "cl.qa"; qb: "cl.qb"; qc: "cl.qc"; qd: "cl.qd"; qe: "cl.qe"; qf: "cl.qf"; qg: "cl.qg"; qh: "cl.qh"; qi: "cl.qi"; qj: "cl.qj"; qk: "cl.qk"; ql: "cl.ql"; qm: "cl.qm"; qn: "cl.qn"; qo: "cl.qo"; qp: "cl.qp"; qq: "cl.qq"; qr: "cl.qr"; qs: "cl.qs"; qt: "cl.qt"; qu: "cl.qu"; qv: "cl.qv"; qw: "cl.qw"; qx: "cl.qx"; qy: "cl.qy"; qz: "cl.qz"; ra: "cl.ra"; rb: "cl.rb"; rc: "cl.rc"; rd: "cl.rd"; re: "cl.re"; rf: "cl.rf"; rg: "cl.rg"; rh: "cl.rh"; ri: "cl.ri"; rj: "cl.rj"; rk: "cl.rk"; rl: "cl.rl"; rm: "cl.rm"; rn: "cl.rn"; ro: "cl.ro"; rp: "cl.rp"; rq: "cl.rq"; rr: "cl.rr"; rs: "cl.rs"; rt: "cl.rt"; ru: "cl.ru"; rv: "cl.rv"; rw: "cl.rw"; rx: "cl.rx"; ry: "cl.ry"; rz: "cl.rz"; sa: "cl.sa"; sb: "cl.sb"; sc: "cl.sc"; sd: "cl.sd"; se: "cl.se"; sf: "cl.sf"; sg: "cl.sg"; sh: "cl.sh"; si: "cl.si"; sj: "cl.sj"; sk: "cl.sk"; sl: "cl.sl"; sm: "cl.sm"; sn: "cl.sn"; so: "cl.so"; sp: "cl.sp"; sq: "cl.sq"; sr: "cl.sr"; ss: "cl.ss"; st: "cl.st"; su: "cl.su"; sv: "cl.sv"; sw: "cl.sw"; sx: "cl.sx"; sy: "cl.sy"; sz: "cl.sz"; ta: "cl.ta"; tb: "cl.tb"; tc: "cl.tc"; td: "cl.td"; te: "cl.te"; tf: "cl.tf"; tg: "cl.tg"; th: "cl.th"; ti: "cl.ti"; tj: "cl.tj"; tk: "cl.tk"; tl: "cl.tl"; tm: "cl.tm"; tn: "cl.tn"; to: "cl.to"; tp: "cl.tp"; tq: "cl.tq"; tr: "cl.tr"; ts: "cl.ts"; tt: "cl.tt"; tu: "cl.tu"; tv: "cl.tv"; tw: "cl.tw"; tx: "cl.tx"; ty: "cl.ty"; tz: "cl.tz"; ua: "cl.ua"; ub: "cl.ub"; uc: "cl.uc"; ud: "cl.ud"; ue: "cl.ue"; uf: "cl.uf"; ug: "cl.ug"; uh: "cl.uh"; ui: "cl.ui"; uj: "cl.uj"; uk: "cl.uk"; ul: "cl.ul"; um: "cl.um"; un: "cl.un"; uo: "cl.uo"; up: "cl.up"; uq: "cl.uq"; ur: "cl.ur"; us: "cl.us"; ut: "cl.ut"; uu: "cl.uu"; uv: "cl.uv"; uw: "cl.uw"; ux: "cl.ux"; uy: "cl.uy"; uz: "cl.uz"; va: "cl.va"; vb: "cl.vb"; vc: "cl.vc"; vd: "cl.vd"; ve: "cl.ve"; vf: "cl.vf"; vg: "cl.vg"; vh: "cl.vh"; vi: "cl.vi"; vj: "cl.vj"; vk: "cl.vk"; vl: "cl.vl"; vm: "cl.vm"; vn: "cl.vn"; vo: "cl.vo"; vp: "cl.vp"; vq: "cl.vq"; vr: "cl.vr"; vs: "cl.vs"; vt: "cl.vt"; vu: "cl.vu"; vv: "cl.vv"; vw: "cl.vw"; vx: "cl.vx"; vy: "cl.vy"; vz: "cl.vz"; wa: "cl.wa"; wb: "cl.wb"; wc: "cl.wc"; wd: "cl.wd"; we: "cl.we"; wf: "cl.wf"; wg: "cl.wg"; wh: "cl.wh"; wi: "cl.wi"; wj: "cl.wj"; wk: "cl.wk"; wl: "cl.wl"; wm: "cl.wm"; wn: "cl.wn"; wo: "cl.wo"; wp: "cl.wp"; wq: "cl.wq"; wr: "cl.wr"; ws: "cl.ws"; wt: "cl.wt"; wu: "cl.wu"; wv: "cl.wv"; ww: "cl.ww"; wx: "cl.wx"; wy: "cl.wy"; wz: "cl.wz"; xa: "cl.xa"; xb: "cl.xb"; xc: "cl.xc"; xd: "cl.xd"; xe: "cl.xe"; xf: "cl.xf"; xg: "cl.xg"; xh: "cl.xh"; xi: "cl.xi"; xj: "cl.xj"; xk: "cl.xk"; xl: "cl.xl"; xm: "cl.xm"; xn: "cl.xn"; xo: "cl.xo"; xp: "cl.xp"; xq: "cl.xq"; xr: "cl.xr"; xs: "cl.xs"; xt: "cl.xt"; xu: "cl.xu"; xv: "cl.xv"; xw: "cl.xw"; xx: "cl.xx"; xy: "cl.xy"; xz: "cl.xz"; ya: "cl.ya"; yb: "cl.yb"; yc: "cl.yc"; yd: "cl.yd"; ye: "cl.ye"; yf: "cl.yf"; yg: "cl.yg"; yh: "cl.yh"; yi: "cl.yi"; yj: "cl.yj"; yk: "cl.yk"; yl: "cl.yl"; ym: "cl.ym"; yn: "cl.yn"; yo: "cl.yo"; yp: "cl.yp"; yq: "cl.yq"; yr: "cl.yr"; ys: "cl.ys"; yt: "cl.yt"; yu: "cl.yu"; yv: "cl.yv"; yw: "cl.yw"; yx: "cl.yx"; yy: "cl.yy"; yz: "cl.yz"; za: "cl.za"; zb: "cl.zb"; zc: "cl.zc"; zd: "cl.zd"; ze: "cl.ze"; zf: "cl.zf"; zg: "cl.zg"; zh: "cl.zh"; zi: "cl.zi"; zj: "cl.zj"; zk: "cl.zk"; zl: "cl.zl"; zm: "cl.zm"; zn: "cl.zn"; zo: "cl.zo"; zp: "cl.zp"; zq: "cl.zq"; zr: "cl.zr"; zs: "cl.zs"; zt: "cl.zt"; zu: "cl.zu"; zv: "cl.zv"; zw: "cl.zw"; zx: "cl.zx"; zy: "cl.zy"; zz: "cl.zz"; }; cm: { aa: "cm.aa"; ab: "cm.ab"; ac: "cm.ac"; ad: "cm.ad"; ae: "cm.ae"; af: "cm.af"; ag: "cm.ag"; ah: "cm.ah"; ai: "cm.ai"; aj: "cm.aj"; ak: "cm.ak"; al: "cm.al"; am: "cm.am"; an: "cm.an"; ao: "cm.ao"; ap: "cm.ap"; aq: "cm.aq"; ar: "cm.ar"; as: "cm.as"; at: "cm.at"; au: "cm.au"; av: "cm.av"; aw: "cm.aw"; ax: "cm.ax"; ay: "cm.ay"; az: "cm.az"; ba: "cm.ba"; bb: "cm.bb"; bc: "cm.bc"; bd: "cm.bd"; be: "cm.be"; bf: "cm.bf"; bg: "cm.bg"; bh: "cm.bh"; bi: "cm.bi"; bj: "cm.bj"; bk: "cm.bk"; bl: "cm.bl"; bm: "cm.bm"; bn: "cm.bn"; bo: "cm.bo"; bp: "cm.bp"; bq: "cm.bq"; br: "cm.br"; bs: "cm.bs"; bt: "cm.bt"; bu: "cm.bu"; bv: "cm.bv"; bw: "cm.bw"; bx: "cm.bx"; by: "cm.by"; bz: "cm.bz"; ca: "cm.ca"; cb: "cm.cb"; cc: "cm.cc"; cd: "cm.cd"; ce: "cm.ce"; cf: "cm.cf"; cg: "cm.cg"; ch: "cm.ch"; ci: "cm.ci"; cj: "cm.cj"; ck: "cm.ck"; cl: "cm.cl"; cm: "cm.cm"; cn: "cm.cn"; co: "cm.co"; cp: "cm.cp"; cq: "cm.cq"; cr: "cm.cr"; cs: "cm.cs"; ct: "cm.ct"; cu: "cm.cu"; cv: "cm.cv"; cw: "cm.cw"; cx: "cm.cx"; cy: "cm.cy"; cz: "cm.cz"; da: "cm.da"; db: "cm.db"; dc: "cm.dc"; dd: "cm.dd"; de: "cm.de"; df: "cm.df"; dg: "cm.dg"; dh: "cm.dh"; di: "cm.di"; dj: "cm.dj"; dk: "cm.dk"; dl: "cm.dl"; dm: "cm.dm"; dn: "cm.dn"; do: "cm.do"; dp: "cm.dp"; dq: "cm.dq"; dr: "cm.dr"; ds: "cm.ds"; dt: "cm.dt"; du: "cm.du"; dv: "cm.dv"; dw: "cm.dw"; dx: "cm.dx"; dy: "cm.dy"; dz: "cm.dz"; ea: "cm.ea"; eb: "cm.eb"; ec: "cm.ec"; ed: "cm.ed"; ee: "cm.ee"; ef: "cm.ef"; eg: "cm.eg"; eh: "cm.eh"; ei: "cm.ei"; ej: "cm.ej"; ek: "cm.ek"; el: "cm.el"; em: "cm.em"; en: "cm.en"; eo: "cm.eo"; ep: "cm.ep"; eq: "cm.eq"; er: "cm.er"; es: "cm.es"; et: "cm.et"; eu: "cm.eu"; ev: "cm.ev"; ew: "cm.ew"; ex: "cm.ex"; ey: "cm.ey"; ez: "cm.ez"; fa: "cm.fa"; fb: "cm.fb"; fc: "cm.fc"; fd: "cm.fd"; fe: "cm.fe"; ff: "cm.ff"; fg: "cm.fg"; fh: "cm.fh"; fi: "cm.fi"; fj: "cm.fj"; fk: "cm.fk"; fl: "cm.fl"; fm: "cm.fm"; fn: "cm.fn"; fo: "cm.fo"; fp: "cm.fp"; fq: "cm.fq"; fr: "cm.fr"; fs: "cm.fs"; ft: "cm.ft"; fu: "cm.fu"; fv: "cm.fv"; fw: "cm.fw"; fx: "cm.fx"; fy: "cm.fy"; fz: "cm.fz"; ga: "cm.ga"; gb: "cm.gb"; gc: "cm.gc"; gd: "cm.gd"; ge: "cm.ge"; gf: "cm.gf"; gg: "cm.gg"; gh: "cm.gh"; gi: "cm.gi"; gj: "cm.gj"; gk: "cm.gk"; gl: "cm.gl"; gm: "cm.gm"; gn: "cm.gn"; go: "cm.go"; gp: "cm.gp"; gq: "cm.gq"; gr: "cm.gr"; gs: "cm.gs"; gt: "cm.gt"; gu: "cm.gu"; gv: "cm.gv"; gw: "cm.gw"; gx: "cm.gx"; gy: "cm.gy"; gz: "cm.gz"; ha: "cm.ha"; hb: "cm.hb"; hc: "cm.hc"; hd: "cm.hd"; he: "cm.he"; hf: "cm.hf"; hg: "cm.hg"; hh: "cm.hh"; hi: "cm.hi"; hj: "cm.hj"; hk: "cm.hk"; hl: "cm.hl"; hm: "cm.hm"; hn: "cm.hn"; ho: "cm.ho"; hp: "cm.hp"; hq: "cm.hq"; hr: "cm.hr"; hs: "cm.hs"; ht: "cm.ht"; hu: "cm.hu"; hv: "cm.hv"; hw: "cm.hw"; hx: "cm.hx"; hy: "cm.hy"; hz: "cm.hz"; ia: "cm.ia"; ib: "cm.ib"; ic: "cm.ic"; id: "cm.id"; ie: "cm.ie"; if: "cm.if"; ig: "cm.ig"; ih: "cm.ih"; ii: "cm.ii"; ij: "cm.ij"; ik: "cm.ik"; il: "cm.il"; im: "cm.im"; in: "cm.in"; io: "cm.io"; ip: "cm.ip"; iq: "cm.iq"; ir: "cm.ir"; is: "cm.is"; it: "cm.it"; iu: "cm.iu"; iv: "cm.iv"; iw: "cm.iw"; ix: "cm.ix"; iy: "cm.iy"; iz: "cm.iz"; ja: "cm.ja"; jb: "cm.jb"; jc: "cm.jc"; jd: "cm.jd"; je: "cm.je"; jf: "cm.jf"; jg: "cm.jg"; jh: "cm.jh"; ji: "cm.ji"; jj: "cm.jj"; jk: "cm.jk"; jl: "cm.jl"; jm: "cm.jm"; jn: "cm.jn"; jo: "cm.jo"; jp: "cm.jp"; jq: "cm.jq"; jr: "cm.jr"; js: "cm.js"; jt: "cm.jt"; ju: "cm.ju"; jv: "cm.jv"; jw: "cm.jw"; jx: "cm.jx"; jy: "cm.jy"; jz: "cm.jz"; ka: "cm.ka"; kb: "cm.kb"; kc: "cm.kc"; kd: "cm.kd"; ke: "cm.ke"; kf: "cm.kf"; kg: "cm.kg"; kh: "cm.kh"; ki: "cm.ki"; kj: "cm.kj"; kk: "cm.kk"; kl: "cm.kl"; km: "cm.km"; kn: "cm.kn"; ko: "cm.ko"; kp: "cm.kp"; kq: "cm.kq"; kr: "cm.kr"; ks: "cm.ks"; kt: "cm.kt"; ku: "cm.ku"; kv: "cm.kv"; kw: "cm.kw"; kx: "cm.kx"; ky: "cm.ky"; kz: "cm.kz"; la: "cm.la"; lb: "cm.lb"; lc: "cm.lc"; ld: "cm.ld"; le: "cm.le"; lf: "cm.lf"; lg: "cm.lg"; lh: "cm.lh"; li: "cm.li"; lj: "cm.lj"; lk: "cm.lk"; ll: "cm.ll"; lm: "cm.lm"; ln: "cm.ln"; lo: "cm.lo"; lp: "cm.lp"; lq: "cm.lq"; lr: "cm.lr"; ls: "cm.ls"; lt: "cm.lt"; lu: "cm.lu"; lv: "cm.lv"; lw: "cm.lw"; lx: "cm.lx"; ly: "cm.ly"; lz: "cm.lz"; ma: "cm.ma"; mb: "cm.mb"; mc: "cm.mc"; md: "cm.md"; me: "cm.me"; mf: "cm.mf"; mg: "cm.mg"; mh: "cm.mh"; mi: "cm.mi"; mj: "cm.mj"; mk: "cm.mk"; ml: "cm.ml"; mm: "cm.mm"; mn: "cm.mn"; mo: "cm.mo"; mp: "cm.mp"; mq: "cm.mq"; mr: "cm.mr"; ms: "cm.ms"; mt: "cm.mt"; mu: "cm.mu"; mv: "cm.mv"; mw: "cm.mw"; mx: "cm.mx"; my: "cm.my"; mz: "cm.mz"; na: "cm.na"; nb: "cm.nb"; nc: "cm.nc"; nd: "cm.nd"; ne: "cm.ne"; nf: "cm.nf"; ng: "cm.ng"; nh: "cm.nh"; ni: "cm.ni"; nj: "cm.nj"; nk: "cm.nk"; nl: "cm.nl"; nm: "cm.nm"; nn: "cm.nn"; no: "cm.no"; np: "cm.np"; nq: "cm.nq"; nr: "cm.nr"; ns: "cm.ns"; nt: "cm.nt"; nu: "cm.nu"; nv: "cm.nv"; nw: "cm.nw"; nx: "cm.nx"; ny: "cm.ny"; nz: "cm.nz"; oa: "cm.oa"; ob: "cm.ob"; oc: "cm.oc"; od: "cm.od"; oe: "cm.oe"; of: "cm.of"; og: "cm.og"; oh: "cm.oh"; oi: "cm.oi"; oj: "cm.oj"; ok: "cm.ok"; ol: "cm.ol"; om: "cm.om"; on: "cm.on"; oo: "cm.oo"; op: "cm.op"; oq: "cm.oq"; or: "cm.or"; os: "cm.os"; ot: "cm.ot"; ou: "cm.ou"; ov: "cm.ov"; ow: "cm.ow"; ox: "cm.ox"; oy: "cm.oy"; oz: "cm.oz"; pa: "cm.pa"; pb: "cm.pb"; pc: "cm.pc"; pd: "cm.pd"; pe: "cm.pe"; pf: "cm.pf"; pg: "cm.pg"; ph: "cm.ph"; pi: "cm.pi"; pj: "cm.pj"; pk: "cm.pk"; pl: "cm.pl"; pm: "cm.pm"; pn: "cm.pn"; po: "cm.po"; pp: "cm.pp"; pq: "cm.pq"; pr: "cm.pr"; ps: "cm.ps"; pt: "cm.pt"; pu: "cm.pu"; pv: "cm.pv"; pw: "cm.pw"; px: "cm.px"; py: "cm.py"; pz: "cm.pz"; qa: "cm.qa"; qb: "cm.qb"; qc: "cm.qc"; qd: "cm.qd"; qe: "cm.qe"; qf: "cm.qf"; qg: "cm.qg"; qh: "cm.qh"; qi: "cm.qi"; qj: "cm.qj"; qk: "cm.qk"; ql: "cm.ql"; qm: "cm.qm"; qn: "cm.qn"; qo: "cm.qo"; qp: "cm.qp"; qq: "cm.qq"; qr: "cm.qr"; qs: "cm.qs"; qt: "cm.qt"; qu: "cm.qu"; qv: "cm.qv"; qw: "cm.qw"; qx: "cm.qx"; qy: "cm.qy"; qz: "cm.qz"; ra: "cm.ra"; rb: "cm.rb"; rc: "cm.rc"; rd: "cm.rd"; re: "cm.re"; rf: "cm.rf"; rg: "cm.rg"; rh: "cm.rh"; ri: "cm.ri"; rj: "cm.rj"; rk: "cm.rk"; rl: "cm.rl"; rm: "cm.rm"; rn: "cm.rn"; ro: "cm.ro"; rp: "cm.rp"; rq: "cm.rq"; rr: "cm.rr"; rs: "cm.rs"; rt: "cm.rt"; ru: "cm.ru"; rv: "cm.rv"; rw: "cm.rw"; rx: "cm.rx"; ry: "cm.ry"; rz: "cm.rz"; sa: "cm.sa"; sb: "cm.sb"; sc: "cm.sc"; sd: "cm.sd"; se: "cm.se"; sf: "cm.sf"; sg: "cm.sg"; sh: "cm.sh"; si: "cm.si"; sj: "cm.sj"; sk: "cm.sk"; sl: "cm.sl"; sm: "cm.sm"; sn: "cm.sn"; so: "cm.so"; sp: "cm.sp"; sq: "cm.sq"; sr: "cm.sr"; ss: "cm.ss"; st: "cm.st"; su: "cm.su"; sv: "cm.sv"; sw: "cm.sw"; sx: "cm.sx"; sy: "cm.sy"; sz: "cm.sz"; ta: "cm.ta"; tb: "cm.tb"; tc: "cm.tc"; td: "cm.td"; te: "cm.te"; tf: "cm.tf"; tg: "cm.tg"; th: "cm.th"; ti: "cm.ti"; tj: "cm.tj"; tk: "cm.tk"; tl: "cm.tl"; tm: "cm.tm"; tn: "cm.tn"; to: "cm.to"; tp: "cm.tp"; tq: "cm.tq"; tr: "cm.tr"; ts: "cm.ts"; tt: "cm.tt"; tu: "cm.tu"; tv: "cm.tv"; tw: "cm.tw"; tx: "cm.tx"; ty: "cm.ty"; tz: "cm.tz"; ua: "cm.ua"; ub: "cm.ub"; uc: "cm.uc"; ud: "cm.ud"; ue: "cm.ue"; uf: "cm.uf"; ug: "cm.ug"; uh: "cm.uh"; ui: "cm.ui"; uj: "cm.uj"; uk: "cm.uk"; ul: "cm.ul"; um: "cm.um"; un: "cm.un"; uo: "cm.uo"; up: "cm.up"; uq: "cm.uq"; ur: "cm.ur"; us: "cm.us"; ut: "cm.ut"; uu: "cm.uu"; uv: "cm.uv"; uw: "cm.uw"; ux: "cm.ux"; uy: "cm.uy"; uz: "cm.uz"; va: "cm.va"; vb: "cm.vb"; vc: "cm.vc"; vd: "cm.vd"; ve: "cm.ve"; vf: "cm.vf"; vg: "cm.vg"; vh: "cm.vh"; vi: "cm.vi"; vj: "cm.vj"; vk: "cm.vk"; vl: "cm.vl"; vm: "cm.vm"; vn: "cm.vn"; vo: "cm.vo"; vp: "cm.vp"; vq: "cm.vq"; vr: "cm.vr"; vs: "cm.vs"; vt: "cm.vt"; vu: "cm.vu"; vv: "cm.vv"; vw: "cm.vw"; vx: "cm.vx"; vy: "cm.vy"; vz: "cm.vz"; wa: "cm.wa"; wb: "cm.wb"; wc: "cm.wc"; wd: "cm.wd"; we: "cm.we"; wf: "cm.wf"; wg: "cm.wg"; wh: "cm.wh"; wi: "cm.wi"; wj: "cm.wj"; wk: "cm.wk"; wl: "cm.wl"; wm: "cm.wm"; wn: "cm.wn"; wo: "cm.wo"; wp: "cm.wp"; wq: "cm.wq"; wr: "cm.wr"; ws: "cm.ws"; wt: "cm.wt"; wu: "cm.wu"; wv: "cm.wv"; ww: "cm.ww"; wx: "cm.wx"; wy: "cm.wy"; wz: "cm.wz"; xa: "cm.xa"; xb: "cm.xb"; xc: "cm.xc"; xd: "cm.xd"; xe: "cm.xe"; xf: "cm.xf"; xg: "cm.xg"; xh: "cm.xh"; xi: "cm.xi"; xj: "cm.xj"; xk: "cm.xk"; xl: "cm.xl"; xm: "cm.xm"; xn: "cm.xn"; xo: "cm.xo"; xp: "cm.xp"; xq: "cm.xq"; xr: "cm.xr"; xs: "cm.xs"; xt: "cm.xt"; xu: "cm.xu"; xv: "cm.xv"; xw: "cm.xw"; xx: "cm.xx"; xy: "cm.xy"; xz: "cm.xz"; ya: "cm.ya"; yb: "cm.yb"; yc: "cm.yc"; yd: "cm.yd"; ye: "cm.ye"; yf: "cm.yf"; yg: "cm.yg"; yh: "cm.yh"; yi: "cm.yi"; yj: "cm.yj"; yk: "cm.yk"; yl: "cm.yl"; ym: "cm.ym"; yn: "cm.yn"; yo: "cm.yo"; yp: "cm.yp"; yq: "cm.yq"; yr: "cm.yr"; ys: "cm.ys"; yt: "cm.yt"; yu: "cm.yu"; yv: "cm.yv"; yw: "cm.yw"; yx: "cm.yx"; yy: "cm.yy"; yz: "cm.yz"; za: "cm.za"; zb: "cm.zb"; zc: "cm.zc"; zd: "cm.zd"; ze: "cm.ze"; zf: "cm.zf"; zg: "cm.zg"; zh: "cm.zh"; zi: "cm.zi"; zj: "cm.zj"; zk: "cm.zk"; zl: "cm.zl"; zm: "cm.zm"; zn: "cm.zn"; zo: "cm.zo"; zp: "cm.zp"; zq: "cm.zq"; zr: "cm.zr"; zs: "cm.zs"; zt: "cm.zt"; zu: "cm.zu"; zv: "cm.zv"; zw: "cm.zw"; zx: "cm.zx"; zy: "cm.zy"; zz: "cm.zz"; }; cn: { aa: "cn.aa"; ab: "cn.ab"; ac: "cn.ac"; ad: "cn.ad"; ae: "cn.ae"; af: "cn.af"; ag: "cn.ag"; ah: "cn.ah"; ai: "cn.ai"; aj: "cn.aj"; ak: "cn.ak"; al: "cn.al"; am: "cn.am"; an: "cn.an"; ao: "cn.ao"; ap: "cn.ap"; aq: "cn.aq"; ar: "cn.ar"; as: "cn.as"; at: "cn.at"; au: "cn.au"; av: "cn.av"; aw: "cn.aw"; ax: "cn.ax"; ay: "cn.ay"; az: "cn.az"; ba: "cn.ba"; bb: "cn.bb"; bc: "cn.bc"; bd: "cn.bd"; be: "cn.be"; bf: "cn.bf"; bg: "cn.bg"; bh: "cn.bh"; bi: "cn.bi"; bj: "cn.bj"; bk: "cn.bk"; bl: "cn.bl"; bm: "cn.bm"; bn: "cn.bn"; bo: "cn.bo"; bp: "cn.bp"; bq: "cn.bq"; br: "cn.br"; bs: "cn.bs"; bt: "cn.bt"; bu: "cn.bu"; bv: "cn.bv"; bw: "cn.bw"; bx: "cn.bx"; by: "cn.by"; bz: "cn.bz"; ca: "cn.ca"; cb: "cn.cb"; cc: "cn.cc"; cd: "cn.cd"; ce: "cn.ce"; cf: "cn.cf"; cg: "cn.cg"; ch: "cn.ch"; ci: "cn.ci"; cj: "cn.cj"; ck: "cn.ck"; cl: "cn.cl"; cm: "cn.cm"; cn: "cn.cn"; co: "cn.co"; cp: "cn.cp"; cq: "cn.cq"; cr: "cn.cr"; cs: "cn.cs"; ct: "cn.ct"; cu: "cn.cu"; cv: "cn.cv"; cw: "cn.cw"; cx: "cn.cx"; cy: "cn.cy"; cz: "cn.cz"; da: "cn.da"; db: "cn.db"; dc: "cn.dc"; dd: "cn.dd"; de: "cn.de"; df: "cn.df"; dg: "cn.dg"; dh: "cn.dh"; di: "cn.di"; dj: "cn.dj"; dk: "cn.dk"; dl: "cn.dl"; dm: "cn.dm"; dn: "cn.dn"; do: "cn.do"; dp: "cn.dp"; dq: "cn.dq"; dr: "cn.dr"; ds: "cn.ds"; dt: "cn.dt"; du: "cn.du"; dv: "cn.dv"; dw: "cn.dw"; dx: "cn.dx"; dy: "cn.dy"; dz: "cn.dz"; ea: "cn.ea"; eb: "cn.eb"; ec: "cn.ec"; ed: "cn.ed"; ee: "cn.ee"; ef: "cn.ef"; eg: "cn.eg"; eh: "cn.eh"; ei: "cn.ei"; ej: "cn.ej"; ek: "cn.ek"; el: "cn.el"; em: "cn.em"; en: "cn.en"; eo: "cn.eo"; ep: "cn.ep"; eq: "cn.eq"; er: "cn.er"; es: "cn.es"; et: "cn.et"; eu: "cn.eu"; ev: "cn.ev"; ew: "cn.ew"; ex: "cn.ex"; ey: "cn.ey"; ez: "cn.ez"; fa: "cn.fa"; fb: "cn.fb"; fc: "cn.fc"; fd: "cn.fd"; fe: "cn.fe"; ff: "cn.ff"; fg: "cn.fg"; fh: "cn.fh"; fi: "cn.fi"; fj: "cn.fj"; fk: "cn.fk"; fl: "cn.fl"; fm: "cn.fm"; fn: "cn.fn"; fo: "cn.fo"; fp: "cn.fp"; fq: "cn.fq"; fr: "cn.fr"; fs: "cn.fs"; ft: "cn.ft"; fu: "cn.fu"; fv: "cn.fv"; fw: "cn.fw"; fx: "cn.fx"; fy: "cn.fy"; fz: "cn.fz"; ga: "cn.ga"; gb: "cn.gb"; gc: "cn.gc"; gd: "cn.gd"; ge: "cn.ge"; gf: "cn.gf"; gg: "cn.gg"; gh: "cn.gh"; gi: "cn.gi"; gj: "cn.gj"; gk: "cn.gk"; gl: "cn.gl"; gm: "cn.gm"; gn: "cn.gn"; go: "cn.go"; gp: "cn.gp"; gq: "cn.gq"; gr: "cn.gr"; gs: "cn.gs"; gt: "cn.gt"; gu: "cn.gu"; gv: "cn.gv"; gw: "cn.gw"; gx: "cn.gx"; gy: "cn.gy"; gz: "cn.gz"; ha: "cn.ha"; hb: "cn.hb"; hc: "cn.hc"; hd: "cn.hd"; he: "cn.he"; hf: "cn.hf"; hg: "cn.hg"; hh: "cn.hh"; hi: "cn.hi"; hj: "cn.hj"; hk: "cn.hk"; hl: "cn.hl"; hm: "cn.hm"; hn: "cn.hn"; ho: "cn.ho"; hp: "cn.hp"; hq: "cn.hq"; hr: "cn.hr"; hs: "cn.hs"; ht: "cn.ht"; hu: "cn.hu"; hv: "cn.hv"; hw: "cn.hw"; hx: "cn.hx"; hy: "cn.hy"; hz: "cn.hz"; ia: "cn.ia"; ib: "cn.ib"; ic: "cn.ic"; id: "cn.id"; ie: "cn.ie"; if: "cn.if"; ig: "cn.ig"; ih: "cn.ih"; ii: "cn.ii"; ij: "cn.ij"; ik: "cn.ik"; il: "cn.il"; im: "cn.im"; in: "cn.in"; io: "cn.io"; ip: "cn.ip"; iq: "cn.iq"; ir: "cn.ir"; is: "cn.is"; it: "cn.it"; iu: "cn.iu"; iv: "cn.iv"; iw: "cn.iw"; ix: "cn.ix"; iy: "cn.iy"; iz: "cn.iz"; ja: "cn.ja"; jb: "cn.jb"; jc: "cn.jc"; jd: "cn.jd"; je: "cn.je"; jf: "cn.jf"; jg: "cn.jg"; jh: "cn.jh"; ji: "cn.ji"; jj: "cn.jj"; jk: "cn.jk"; jl: "cn.jl"; jm: "cn.jm"; jn: "cn.jn"; jo: "cn.jo"; jp: "cn.jp"; jq: "cn.jq"; jr: "cn.jr"; js: "cn.js"; jt: "cn.jt"; ju: "cn.ju"; jv: "cn.jv"; jw: "cn.jw"; jx: "cn.jx"; jy: "cn.jy"; jz: "cn.jz"; ka: "cn.ka"; kb: "cn.kb"; kc: "cn.kc"; kd: "cn.kd"; ke: "cn.ke"; kf: "cn.kf"; kg: "cn.kg"; kh: "cn.kh"; ki: "cn.ki"; kj: "cn.kj"; kk: "cn.kk"; kl: "cn.kl"; km: "cn.km"; kn: "cn.kn"; ko: "cn.ko"; kp: "cn.kp"; kq: "cn.kq"; kr: "cn.kr"; ks: "cn.ks"; kt: "cn.kt"; ku: "cn.ku"; kv: "cn.kv"; kw: "cn.kw"; kx: "cn.kx"; ky: "cn.ky"; kz: "cn.kz"; la: "cn.la"; lb: "cn.lb"; lc: "cn.lc"; ld: "cn.ld"; le: "cn.le"; lf: "cn.lf"; lg: "cn.lg"; lh: "cn.lh"; li: "cn.li"; lj: "cn.lj"; lk: "cn.lk"; ll: "cn.ll"; lm: "cn.lm"; ln: "cn.ln"; lo: "cn.lo"; lp: "cn.lp"; lq: "cn.lq"; lr: "cn.lr"; ls: "cn.ls"; lt: "cn.lt"; lu: "cn.lu"; lv: "cn.lv"; lw: "cn.lw"; lx: "cn.lx"; ly: "cn.ly"; lz: "cn.lz"; ma: "cn.ma"; mb: "cn.mb"; mc: "cn.mc"; md: "cn.md"; me: "cn.me"; mf: "cn.mf"; mg: "cn.mg"; mh: "cn.mh"; mi: "cn.mi"; mj: "cn.mj"; mk: "cn.mk"; ml: "cn.ml"; mm: "cn.mm"; mn: "cn.mn"; mo: "cn.mo"; mp: "cn.mp"; mq: "cn.mq"; mr: "cn.mr"; ms: "cn.ms"; mt: "cn.mt"; mu: "cn.mu"; mv: "cn.mv"; mw: "cn.mw"; mx: "cn.mx"; my: "cn.my"; mz: "cn.mz"; na: "cn.na"; nb: "cn.nb"; nc: "cn.nc"; nd: "cn.nd"; ne: "cn.ne"; nf: "cn.nf"; ng: "cn.ng"; nh: "cn.nh"; ni: "cn.ni"; nj: "cn.nj"; nk: "cn.nk"; nl: "cn.nl"; nm: "cn.nm"; nn: "cn.nn"; no: "cn.no"; np: "cn.np"; nq: "cn.nq"; nr: "cn.nr"; ns: "cn.ns"; nt: "cn.nt"; nu: "cn.nu"; nv: "cn.nv"; nw: "cn.nw"; nx: "cn.nx"; ny: "cn.ny"; nz: "cn.nz"; oa: "cn.oa"; ob: "cn.ob"; oc: "cn.oc"; od: "cn.od"; oe: "cn.oe"; of: "cn.of"; og: "cn.og"; oh: "cn.oh"; oi: "cn.oi"; oj: "cn.oj"; ok: "cn.ok"; ol: "cn.ol"; om: "cn.om"; on: "cn.on"; oo: "cn.oo"; op: "cn.op"; oq: "cn.oq"; or: "cn.or"; os: "cn.os"; ot: "cn.ot"; ou: "cn.ou"; ov: "cn.ov"; ow: "cn.ow"; ox: "cn.ox"; oy: "cn.oy"; oz: "cn.oz"; pa: "cn.pa"; pb: "cn.pb"; pc: "cn.pc"; pd: "cn.pd"; pe: "cn.pe"; pf: "cn.pf"; pg: "cn.pg"; ph: "cn.ph"; pi: "cn.pi"; pj: "cn.pj"; pk: "cn.pk"; pl: "cn.pl"; pm: "cn.pm"; pn: "cn.pn"; po: "cn.po"; pp: "cn.pp"; pq: "cn.pq"; pr: "cn.pr"; ps: "cn.ps"; pt: "cn.pt"; pu: "cn.pu"; pv: "cn.pv"; pw: "cn.pw"; px: "cn.px"; py: "cn.py"; pz: "cn.pz"; qa: "cn.qa"; qb: "cn.qb"; qc: "cn.qc"; qd: "cn.qd"; qe: "cn.qe"; qf: "cn.qf"; qg: "cn.qg"; qh: "cn.qh"; qi: "cn.qi"; qj: "cn.qj"; qk: "cn.qk"; ql: "cn.ql"; qm: "cn.qm"; qn: "cn.qn"; qo: "cn.qo"; qp: "cn.qp"; qq: "cn.qq"; qr: "cn.qr"; qs: "cn.qs"; qt: "cn.qt"; qu: "cn.qu"; qv: "cn.qv"; qw: "cn.qw"; qx: "cn.qx"; qy: "cn.qy"; qz: "cn.qz"; ra: "cn.ra"; rb: "cn.rb"; rc: "cn.rc"; rd: "cn.rd"; re: "cn.re"; rf: "cn.rf"; rg: "cn.rg"; rh: "cn.rh"; ri: "cn.ri"; rj: "cn.rj"; rk: "cn.rk"; rl: "cn.rl"; rm: "cn.rm"; rn: "cn.rn"; ro: "cn.ro"; rp: "cn.rp"; rq: "cn.rq"; rr: "cn.rr"; rs: "cn.rs"; rt: "cn.rt"; ru: "cn.ru"; rv: "cn.rv"; rw: "cn.rw"; rx: "cn.rx"; ry: "cn.ry"; rz: "cn.rz"; sa: "cn.sa"; sb: "cn.sb"; sc: "cn.sc"; sd: "cn.sd"; se: "cn.se"; sf: "cn.sf"; sg: "cn.sg"; sh: "cn.sh"; si: "cn.si"; sj: "cn.sj"; sk: "cn.sk"; sl: "cn.sl"; sm: "cn.sm"; sn: "cn.sn"; so: "cn.so"; sp: "cn.sp"; sq: "cn.sq"; sr: "cn.sr"; ss: "cn.ss"; st: "cn.st"; su: "cn.su"; sv: "cn.sv"; sw: "cn.sw"; sx: "cn.sx"; sy: "cn.sy"; sz: "cn.sz"; ta: "cn.ta"; tb: "cn.tb"; tc: "cn.tc"; td: "cn.td"; te: "cn.te"; tf: "cn.tf"; tg: "cn.tg"; th: "cn.th"; ti: "cn.ti"; tj: "cn.tj"; tk: "cn.tk"; tl: "cn.tl"; tm: "cn.tm"; tn: "cn.tn"; to: "cn.to"; tp: "cn.tp"; tq: "cn.tq"; tr: "cn.tr"; ts: "cn.ts"; tt: "cn.tt"; tu: "cn.tu"; tv: "cn.tv"; tw: "cn.tw"; tx: "cn.tx"; ty: "cn.ty"; tz: "cn.tz"; ua: "cn.ua"; ub: "cn.ub"; uc: "cn.uc"; ud: "cn.ud"; ue: "cn.ue"; uf: "cn.uf"; ug: "cn.ug"; uh: "cn.uh"; ui: "cn.ui"; uj: "cn.uj"; uk: "cn.uk"; ul: "cn.ul"; um: "cn.um"; un: "cn.un"; uo: "cn.uo"; up: "cn.up"; uq: "cn.uq"; ur: "cn.ur"; us: "cn.us"; ut: "cn.ut"; uu: "cn.uu"; uv: "cn.uv"; uw: "cn.uw"; ux: "cn.ux"; uy: "cn.uy"; uz: "cn.uz"; va: "cn.va"; vb: "cn.vb"; vc: "cn.vc"; vd: "cn.vd"; ve: "cn.ve"; vf: "cn.vf"; vg: "cn.vg"; vh: "cn.vh"; vi: "cn.vi"; vj: "cn.vj"; vk: "cn.vk"; vl: "cn.vl"; vm: "cn.vm"; vn: "cn.vn"; vo: "cn.vo"; vp: "cn.vp"; vq: "cn.vq"; vr: "cn.vr"; vs: "cn.vs"; vt: "cn.vt"; vu: "cn.vu"; vv: "cn.vv"; vw: "cn.vw"; vx: "cn.vx"; vy: "cn.vy"; vz: "cn.vz"; wa: "cn.wa"; wb: "cn.wb"; wc: "cn.wc"; wd: "cn.wd"; we: "cn.we"; wf: "cn.wf"; wg: "cn.wg"; wh: "cn.wh"; wi: "cn.wi"; wj: "cn.wj"; wk: "cn.wk"; wl: "cn.wl"; wm: "cn.wm"; wn: "cn.wn"; wo: "cn.wo"; wp: "cn.wp"; wq: "cn.wq"; wr: "cn.wr"; ws: "cn.ws"; wt: "cn.wt"; wu: "cn.wu"; wv: "cn.wv"; ww: "cn.ww"; wx: "cn.wx"; wy: "cn.wy"; wz: "cn.wz"; xa: "cn.xa"; xb: "cn.xb"; xc: "cn.xc"; xd: "cn.xd"; xe: "cn.xe"; xf: "cn.xf"; xg: "cn.xg"; xh: "cn.xh"; xi: "cn.xi"; xj: "cn.xj"; xk: "cn.xk"; xl: "cn.xl"; xm: "cn.xm"; xn: "cn.xn"; xo: "cn.xo"; xp: "cn.xp"; xq: "cn.xq"; xr: "cn.xr"; xs: "cn.xs"; xt: "cn.xt"; xu: "cn.xu"; xv: "cn.xv"; xw: "cn.xw"; xx: "cn.xx"; xy: "cn.xy"; xz: "cn.xz"; ya: "cn.ya"; yb: "cn.yb"; yc: "cn.yc"; yd: "cn.yd"; ye: "cn.ye"; yf: "cn.yf"; yg: "cn.yg"; yh: "cn.yh"; yi: "cn.yi"; yj: "cn.yj"; yk: "cn.yk"; yl: "cn.yl"; ym: "cn.ym"; yn: "cn.yn"; yo: "cn.yo"; yp: "cn.yp"; yq: "cn.yq"; yr: "cn.yr"; ys: "cn.ys"; yt: "cn.yt"; yu: "cn.yu"; yv: "cn.yv"; yw: "cn.yw"; yx: "cn.yx"; yy: "cn.yy"; yz: "cn.yz"; za: "cn.za"; zb: "cn.zb"; zc: "cn.zc"; zd: "cn.zd"; ze: "cn.ze"; zf: "cn.zf"; zg: "cn.zg"; zh: "cn.zh"; zi: "cn.zi"; zj: "cn.zj"; zk: "cn.zk"; zl: "cn.zl"; zm: "cn.zm"; zn: "cn.zn"; zo: "cn.zo"; zp: "cn.zp"; zq: "cn.zq"; zr: "cn.zr"; zs: "cn.zs"; zt: "cn.zt"; zu: "cn.zu"; zv: "cn.zv"; zw: "cn.zw"; zx: "cn.zx"; zy: "cn.zy"; zz: "cn.zz"; }; co: { aa: "co.aa"; ab: "co.ab"; ac: "co.ac"; ad: "co.ad"; ae: "co.ae"; af: "co.af"; ag: "co.ag"; ah: "co.ah"; ai: "co.ai"; aj: "co.aj"; ak: "co.ak"; al: "co.al"; am: "co.am"; an: "co.an"; ao: "co.ao"; ap: "co.ap"; aq: "co.aq"; ar: "co.ar"; as: "co.as"; at: "co.at"; au: "co.au"; av: "co.av"; aw: "co.aw"; ax: "co.ax"; ay: "co.ay"; az: "co.az"; ba: "co.ba"; bb: "co.bb"; bc: "co.bc"; bd: "co.bd"; be: "co.be"; bf: "co.bf"; bg: "co.bg"; bh: "co.bh"; bi: "co.bi"; bj: "co.bj"; bk: "co.bk"; bl: "co.bl"; bm: "co.bm"; bn: "co.bn"; bo: "co.bo"; bp: "co.bp"; bq: "co.bq"; br: "co.br"; bs: "co.bs"; bt: "co.bt"; bu: "co.bu"; bv: "co.bv"; bw: "co.bw"; bx: "co.bx"; by: "co.by"; bz: "co.bz"; ca: "co.ca"; cb: "co.cb"; cc: "co.cc"; cd: "co.cd"; ce: "co.ce"; cf: "co.cf"; cg: "co.cg"; ch: "co.ch"; ci: "co.ci"; cj: "co.cj"; ck: "co.ck"; cl: "co.cl"; cm: "co.cm"; cn: "co.cn"; co: "co.co"; cp: "co.cp"; cq: "co.cq"; cr: "co.cr"; cs: "co.cs"; ct: "co.ct"; cu: "co.cu"; cv: "co.cv"; cw: "co.cw"; cx: "co.cx"; cy: "co.cy"; cz: "co.cz"; da: "co.da"; db: "co.db"; dc: "co.dc"; dd: "co.dd"; de: "co.de"; df: "co.df"; dg: "co.dg"; dh: "co.dh"; di: "co.di"; dj: "co.dj"; dk: "co.dk"; dl: "co.dl"; dm: "co.dm"; dn: "co.dn"; do: "co.do"; dp: "co.dp"; dq: "co.dq"; dr: "co.dr"; ds: "co.ds"; dt: "co.dt"; du: "co.du"; dv: "co.dv"; dw: "co.dw"; dx: "co.dx"; dy: "co.dy"; dz: "co.dz"; ea: "co.ea"; eb: "co.eb"; ec: "co.ec"; ed: "co.ed"; ee: "co.ee"; ef: "co.ef"; eg: "co.eg"; eh: "co.eh"; ei: "co.ei"; ej: "co.ej"; ek: "co.ek"; el: "co.el"; em: "co.em"; en: "co.en"; eo: "co.eo"; ep: "co.ep"; eq: "co.eq"; er: "co.er"; es: "co.es"; et: "co.et"; eu: "co.eu"; ev: "co.ev"; ew: "co.ew"; ex: "co.ex"; ey: "co.ey"; ez: "co.ez"; fa: "co.fa"; fb: "co.fb"; fc: "co.fc"; fd: "co.fd"; fe: "co.fe"; ff: "co.ff"; fg: "co.fg"; fh: "co.fh"; fi: "co.fi"; fj: "co.fj"; fk: "co.fk"; fl: "co.fl"; fm: "co.fm"; fn: "co.fn"; fo: "co.fo"; fp: "co.fp"; fq: "co.fq"; fr: "co.fr"; fs: "co.fs"; ft: "co.ft"; fu: "co.fu"; fv: "co.fv"; fw: "co.fw"; fx: "co.fx"; fy: "co.fy"; fz: "co.fz"; ga: "co.ga"; gb: "co.gb"; gc: "co.gc"; gd: "co.gd"; ge: "co.ge"; gf: "co.gf"; gg: "co.gg"; gh: "co.gh"; gi: "co.gi"; gj: "co.gj"; gk: "co.gk"; gl: "co.gl"; gm: "co.gm"; gn: "co.gn"; go: "co.go"; gp: "co.gp"; gq: "co.gq"; gr: "co.gr"; gs: "co.gs"; gt: "co.gt"; gu: "co.gu"; gv: "co.gv"; gw: "co.gw"; gx: "co.gx"; gy: "co.gy"; gz: "co.gz"; ha: "co.ha"; hb: "co.hb"; hc: "co.hc"; hd: "co.hd"; he: "co.he"; hf: "co.hf"; hg: "co.hg"; hh: "co.hh"; hi: "co.hi"; hj: "co.hj"; hk: "co.hk"; hl: "co.hl"; hm: "co.hm"; hn: "co.hn"; ho: "co.ho"; hp: "co.hp"; hq: "co.hq"; hr: "co.hr"; hs: "co.hs"; ht: "co.ht"; hu: "co.hu"; hv: "co.hv"; hw: "co.hw"; hx: "co.hx"; hy: "co.hy"; hz: "co.hz"; ia: "co.ia"; ib: "co.ib"; ic: "co.ic"; id: "co.id"; ie: "co.ie"; if: "co.if"; ig: "co.ig"; ih: "co.ih"; ii: "co.ii"; ij: "co.ij"; ik: "co.ik"; il: "co.il"; im: "co.im"; in: "co.in"; io: "co.io"; ip: "co.ip"; iq: "co.iq"; ir: "co.ir"; is: "co.is"; it: "co.it"; iu: "co.iu"; iv: "co.iv"; iw: "co.iw"; ix: "co.ix"; iy: "co.iy"; iz: "co.iz"; ja: "co.ja"; jb: "co.jb"; jc: "co.jc"; jd: "co.jd"; je: "co.je"; jf: "co.jf"; jg: "co.jg"; jh: "co.jh"; ji: "co.ji"; jj: "co.jj"; jk: "co.jk"; jl: "co.jl"; jm: "co.jm"; jn: "co.jn"; jo: "co.jo"; jp: "co.jp"; jq: "co.jq"; jr: "co.jr"; js: "co.js"; jt: "co.jt"; ju: "co.ju"; jv: "co.jv"; jw: "co.jw"; jx: "co.jx"; jy: "co.jy"; jz: "co.jz"; ka: "co.ka"; kb: "co.kb"; kc: "co.kc"; kd: "co.kd"; ke: "co.ke"; kf: "co.kf"; kg: "co.kg"; kh: "co.kh"; ki: "co.ki"; kj: "co.kj"; kk: "co.kk"; kl: "co.kl"; km: "co.km"; kn: "co.kn"; ko: "co.ko"; kp: "co.kp"; kq: "co.kq"; kr: "co.kr"; ks: "co.ks"; kt: "co.kt"; ku: "co.ku"; kv: "co.kv"; kw: "co.kw"; kx: "co.kx"; ky: "co.ky"; kz: "co.kz"; la: "co.la"; lb: "co.lb"; lc: "co.lc"; ld: "co.ld"; le: "co.le"; lf: "co.lf"; lg: "co.lg"; lh: "co.lh"; li: "co.li"; lj: "co.lj"; lk: "co.lk"; ll: "co.ll"; lm: "co.lm"; ln: "co.ln"; lo: "co.lo"; lp: "co.lp"; lq: "co.lq"; lr: "co.lr"; ls: "co.ls"; lt: "co.lt"; lu: "co.lu"; lv: "co.lv"; lw: "co.lw"; lx: "co.lx"; ly: "co.ly"; lz: "co.lz"; ma: "co.ma"; mb: "co.mb"; mc: "co.mc"; md: "co.md"; me: "co.me"; mf: "co.mf"; mg: "co.mg"; mh: "co.mh"; mi: "co.mi"; mj: "co.mj"; mk: "co.mk"; ml: "co.ml"; mm: "co.mm"; mn: "co.mn"; mo: "co.mo"; mp: "co.mp"; mq: "co.mq"; mr: "co.mr"; ms: "co.ms"; mt: "co.mt"; mu: "co.mu"; mv: "co.mv"; mw: "co.mw"; mx: "co.mx"; my: "co.my"; mz: "co.mz"; na: "co.na"; nb: "co.nb"; nc: "co.nc"; nd: "co.nd"; ne: "co.ne"; nf: "co.nf"; ng: "co.ng"; nh: "co.nh"; ni: "co.ni"; nj: "co.nj"; nk: "co.nk"; nl: "co.nl"; nm: "co.nm"; nn: "co.nn"; no: "co.no"; np: "co.np"; nq: "co.nq"; nr: "co.nr"; ns: "co.ns"; nt: "co.nt"; nu: "co.nu"; nv: "co.nv"; nw: "co.nw"; nx: "co.nx"; ny: "co.ny"; nz: "co.nz"; oa: "co.oa"; ob: "co.ob"; oc: "co.oc"; od: "co.od"; oe: "co.oe"; of: "co.of"; og: "co.og"; oh: "co.oh"; oi: "co.oi"; oj: "co.oj"; ok: "co.ok"; ol: "co.ol"; om: "co.om"; on: "co.on"; oo: "co.oo"; op: "co.op"; oq: "co.oq"; or: "co.or"; os: "co.os"; ot: "co.ot"; ou: "co.ou"; ov: "co.ov"; ow: "co.ow"; ox: "co.ox"; oy: "co.oy"; oz: "co.oz"; pa: "co.pa"; pb: "co.pb"; pc: "co.pc"; pd: "co.pd"; pe: "co.pe"; pf: "co.pf"; pg: "co.pg"; ph: "co.ph"; pi: "co.pi"; pj: "co.pj"; pk: "co.pk"; pl: "co.pl"; pm: "co.pm"; pn: "co.pn"; po: "co.po"; pp: "co.pp"; pq: "co.pq"; pr: "co.pr"; ps: "co.ps"; pt: "co.pt"; pu: "co.pu"; pv: "co.pv"; pw: "co.pw"; px: "co.px"; py: "co.py"; pz: "co.pz"; qa: "co.qa"; qb: "co.qb"; qc: "co.qc"; qd: "co.qd"; qe: "co.qe"; qf: "co.qf"; qg: "co.qg"; qh: "co.qh"; qi: "co.qi"; qj: "co.qj"; qk: "co.qk"; ql: "co.ql"; qm: "co.qm"; qn: "co.qn"; qo: "co.qo"; qp: "co.qp"; qq: "co.qq"; qr: "co.qr"; qs: "co.qs"; qt: "co.qt"; qu: "co.qu"; qv: "co.qv"; qw: "co.qw"; qx: "co.qx"; qy: "co.qy"; qz: "co.qz"; ra: "co.ra"; rb: "co.rb"; rc: "co.rc"; rd: "co.rd"; re: "co.re"; rf: "co.rf"; rg: "co.rg"; rh: "co.rh"; ri: "co.ri"; rj: "co.rj"; rk: "co.rk"; rl: "co.rl"; rm: "co.rm"; rn: "co.rn"; ro: "co.ro"; rp: "co.rp"; rq: "co.rq"; rr: "co.rr"; rs: "co.rs"; rt: "co.rt"; ru: "co.ru"; rv: "co.rv"; rw: "co.rw"; rx: "co.rx"; ry: "co.ry"; rz: "co.rz"; sa: "co.sa"; sb: "co.sb"; sc: "co.sc"; sd: "co.sd"; se: "co.se"; sf: "co.sf"; sg: "co.sg"; sh: "co.sh"; si: "co.si"; sj: "co.sj"; sk: "co.sk"; sl: "co.sl"; sm: "co.sm"; sn: "co.sn"; so: "co.so"; sp: "co.sp"; sq: "co.sq"; sr: "co.sr"; ss: "co.ss"; st: "co.st"; su: "co.su"; sv: "co.sv"; sw: "co.sw"; sx: "co.sx"; sy: "co.sy"; sz: "co.sz"; ta: "co.ta"; tb: "co.tb"; tc: "co.tc"; td: "co.td"; te: "co.te"; tf: "co.tf"; tg: "co.tg"; th: "co.th"; ti: "co.ti"; tj: "co.tj"; tk: "co.tk"; tl: "co.tl"; tm: "co.tm"; tn: "co.tn"; to: "co.to"; tp: "co.tp"; tq: "co.tq"; tr: "co.tr"; ts: "co.ts"; tt: "co.tt"; tu: "co.tu"; tv: "co.tv"; tw: "co.tw"; tx: "co.tx"; ty: "co.ty"; tz: "co.tz"; ua: "co.ua"; ub: "co.ub"; uc: "co.uc"; ud: "co.ud"; ue: "co.ue"; uf: "co.uf"; ug: "co.ug"; uh: "co.uh"; ui: "co.ui"; uj: "co.uj"; uk: "co.uk"; ul: "co.ul"; um: "co.um"; un: "co.un"; uo: "co.uo"; up: "co.up"; uq: "co.uq"; ur: "co.ur"; us: "co.us"; ut: "co.ut"; uu: "co.uu"; uv: "co.uv"; uw: "co.uw"; ux: "co.ux"; uy: "co.uy"; uz: "co.uz"; va: "co.va"; vb: "co.vb"; vc: "co.vc"; vd: "co.vd"; ve: "co.ve"; vf: "co.vf"; vg: "co.vg"; vh: "co.vh"; vi: "co.vi"; vj: "co.vj"; vk: "co.vk"; vl: "co.vl"; vm: "co.vm"; vn: "co.vn"; vo: "co.vo"; vp: "co.vp"; vq: "co.vq"; vr: "co.vr"; vs: "co.vs"; vt: "co.vt"; vu: "co.vu"; vv: "co.vv"; vw: "co.vw"; vx: "co.vx"; vy: "co.vy"; vz: "co.vz"; wa: "co.wa"; wb: "co.wb"; wc: "co.wc"; wd: "co.wd"; we: "co.we"; wf: "co.wf"; wg: "co.wg"; wh: "co.wh"; wi: "co.wi"; wj: "co.wj"; wk: "co.wk"; wl: "co.wl"; wm: "co.wm"; wn: "co.wn"; wo: "co.wo"; wp: "co.wp"; wq: "co.wq"; wr: "co.wr"; ws: "co.ws"; wt: "co.wt"; wu: "co.wu"; wv: "co.wv"; ww: "co.ww"; wx: "co.wx"; wy: "co.wy"; wz: "co.wz"; xa: "co.xa"; xb: "co.xb"; xc: "co.xc"; xd: "co.xd"; xe: "co.xe"; xf: "co.xf"; xg: "co.xg"; xh: "co.xh"; xi: "co.xi"; xj: "co.xj"; xk: "co.xk"; xl: "co.xl"; xm: "co.xm"; xn: "co.xn"; xo: "co.xo"; xp: "co.xp"; xq: "co.xq"; xr: "co.xr"; xs: "co.xs"; xt: "co.xt"; xu: "co.xu"; xv: "co.xv"; xw: "co.xw"; xx: "co.xx"; xy: "co.xy"; xz: "co.xz"; ya: "co.ya"; yb: "co.yb"; yc: "co.yc"; yd: "co.yd"; ye: "co.ye"; yf: "co.yf"; yg: "co.yg"; yh: "co.yh"; yi: "co.yi"; yj: "co.yj"; yk: "co.yk"; yl: "co.yl"; ym: "co.ym"; yn: "co.yn"; yo: "co.yo"; yp: "co.yp"; yq: "co.yq"; yr: "co.yr"; ys: "co.ys"; yt: "co.yt"; yu: "co.yu"; yv: "co.yv"; yw: "co.yw"; yx: "co.yx"; yy: "co.yy"; yz: "co.yz"; za: "co.za"; zb: "co.zb"; zc: "co.zc"; zd: "co.zd"; ze: "co.ze"; zf: "co.zf"; zg: "co.zg"; zh: "co.zh"; zi: "co.zi"; zj: "co.zj"; zk: "co.zk"; zl: "co.zl"; zm: "co.zm"; zn: "co.zn"; zo: "co.zo"; zp: "co.zp"; zq: "co.zq"; zr: "co.zr"; zs: "co.zs"; zt: "co.zt"; zu: "co.zu"; zv: "co.zv"; zw: "co.zw"; zx: "co.zx"; zy: "co.zy"; zz: "co.zz"; }; cp: { aa: "cp.aa"; ab: "cp.ab"; ac: "cp.ac"; ad: "cp.ad"; ae: "cp.ae"; af: "cp.af"; ag: "cp.ag"; ah: "cp.ah"; ai: "cp.ai"; aj: "cp.aj"; ak: "cp.ak"; al: "cp.al"; am: "cp.am"; an: "cp.an"; ao: "cp.ao"; ap: "cp.ap"; aq: "cp.aq"; ar: "cp.ar"; as: "cp.as"; at: "cp.at"; au: "cp.au"; av: "cp.av"; aw: "cp.aw"; ax: "cp.ax"; ay: "cp.ay"; az: "cp.az"; ba: "cp.ba"; bb: "cp.bb"; bc: "cp.bc"; bd: "cp.bd"; be: "cp.be"; bf: "cp.bf"; bg: "cp.bg"; bh: "cp.bh"; bi: "cp.bi"; bj: "cp.bj"; bk: "cp.bk"; bl: "cp.bl"; bm: "cp.bm"; bn: "cp.bn"; bo: "cp.bo"; bp: "cp.bp"; bq: "cp.bq"; br: "cp.br"; bs: "cp.bs"; bt: "cp.bt"; bu: "cp.bu"; bv: "cp.bv"; bw: "cp.bw"; bx: "cp.bx"; by: "cp.by"; bz: "cp.bz"; ca: "cp.ca"; cb: "cp.cb"; cc: "cp.cc"; cd: "cp.cd"; ce: "cp.ce"; cf: "cp.cf"; cg: "cp.cg"; ch: "cp.ch"; ci: "cp.ci"; cj: "cp.cj"; ck: "cp.ck"; cl: "cp.cl"; cm: "cp.cm"; cn: "cp.cn"; co: "cp.co"; cp: "cp.cp"; cq: "cp.cq"; cr: "cp.cr"; cs: "cp.cs"; ct: "cp.ct"; cu: "cp.cu"; cv: "cp.cv"; cw: "cp.cw"; cx: "cp.cx"; cy: "cp.cy"; cz: "cp.cz"; da: "cp.da"; db: "cp.db"; dc: "cp.dc"; dd: "cp.dd"; de: "cp.de"; df: "cp.df"; dg: "cp.dg"; dh: "cp.dh"; di: "cp.di"; dj: "cp.dj"; dk: "cp.dk"; dl: "cp.dl"; dm: "cp.dm"; dn: "cp.dn"; do: "cp.do"; dp: "cp.dp"; dq: "cp.dq"; dr: "cp.dr"; ds: "cp.ds"; dt: "cp.dt"; du: "cp.du"; dv: "cp.dv"; dw: "cp.dw"; dx: "cp.dx"; dy: "cp.dy"; dz: "cp.dz"; ea: "cp.ea"; eb: "cp.eb"; ec: "cp.ec"; ed: "cp.ed"; ee: "cp.ee"; ef: "cp.ef"; eg: "cp.eg"; eh: "cp.eh"; ei: "cp.ei"; ej: "cp.ej"; ek: "cp.ek"; el: "cp.el"; em: "cp.em"; en: "cp.en"; eo: "cp.eo"; ep: "cp.ep"; eq: "cp.eq"; er: "cp.er"; es: "cp.es"; et: "cp.et"; eu: "cp.eu"; ev: "cp.ev"; ew: "cp.ew"; ex: "cp.ex"; ey: "cp.ey"; ez: "cp.ez"; fa: "cp.fa"; fb: "cp.fb"; fc: "cp.fc"; fd: "cp.fd"; fe: "cp.fe"; ff: "cp.ff"; fg: "cp.fg"; fh: "cp.fh"; fi: "cp.fi"; fj: "cp.fj"; fk: "cp.fk"; fl: "cp.fl"; fm: "cp.fm"; fn: "cp.fn"; fo: "cp.fo"; fp: "cp.fp"; fq: "cp.fq"; fr: "cp.fr"; fs: "cp.fs"; ft: "cp.ft"; fu: "cp.fu"; fv: "cp.fv"; fw: "cp.fw"; fx: "cp.fx"; fy: "cp.fy"; fz: "cp.fz"; ga: "cp.ga"; gb: "cp.gb"; gc: "cp.gc"; gd: "cp.gd"; ge: "cp.ge"; gf: "cp.gf"; gg: "cp.gg"; gh: "cp.gh"; gi: "cp.gi"; gj: "cp.gj"; gk: "cp.gk"; gl: "cp.gl"; gm: "cp.gm"; gn: "cp.gn"; go: "cp.go"; gp: "cp.gp"; gq: "cp.gq"; gr: "cp.gr"; gs: "cp.gs"; gt: "cp.gt"; gu: "cp.gu"; gv: "cp.gv"; gw: "cp.gw"; gx: "cp.gx"; gy: "cp.gy"; gz: "cp.gz"; ha: "cp.ha"; hb: "cp.hb"; hc: "cp.hc"; hd: "cp.hd"; he: "cp.he"; hf: "cp.hf"; hg: "cp.hg"; hh: "cp.hh"; hi: "cp.hi"; hj: "cp.hj"; hk: "cp.hk"; hl: "cp.hl"; hm: "cp.hm"; hn: "cp.hn"; ho: "cp.ho"; hp: "cp.hp"; hq: "cp.hq"; hr: "cp.hr"; hs: "cp.hs"; ht: "cp.ht"; hu: "cp.hu"; hv: "cp.hv"; hw: "cp.hw"; hx: "cp.hx"; hy: "cp.hy"; hz: "cp.hz"; ia: "cp.ia"; ib: "cp.ib"; ic: "cp.ic"; id: "cp.id"; ie: "cp.ie"; if: "cp.if"; ig: "cp.ig"; ih: "cp.ih"; ii: "cp.ii"; ij: "cp.ij"; ik: "cp.ik"; il: "cp.il"; im: "cp.im"; in: "cp.in"; io: "cp.io"; ip: "cp.ip"; iq: "cp.iq"; ir: "cp.ir"; is: "cp.is"; it: "cp.it"; iu: "cp.iu"; iv: "cp.iv"; iw: "cp.iw"; ix: "cp.ix"; iy: "cp.iy"; iz: "cp.iz"; ja: "cp.ja"; jb: "cp.jb"; jc: "cp.jc"; jd: "cp.jd"; je: "cp.je"; jf: "cp.jf"; jg: "cp.jg"; jh: "cp.jh"; ji: "cp.ji"; jj: "cp.jj"; jk: "cp.jk"; jl: "cp.jl"; jm: "cp.jm"; jn: "cp.jn"; jo: "cp.jo"; jp: "cp.jp"; jq: "cp.jq"; jr: "cp.jr"; js: "cp.js"; jt: "cp.jt"; ju: "cp.ju"; jv: "cp.jv"; jw: "cp.jw"; jx: "cp.jx"; jy: "cp.jy"; jz: "cp.jz"; ka: "cp.ka"; kb: "cp.kb"; kc: "cp.kc"; kd: "cp.kd"; ke: "cp.ke"; kf: "cp.kf"; kg: "cp.kg"; kh: "cp.kh"; ki: "cp.ki"; kj: "cp.kj"; kk: "cp.kk"; kl: "cp.kl"; km: "cp.km"; kn: "cp.kn"; ko: "cp.ko"; kp: "cp.kp"; kq: "cp.kq"; kr: "cp.kr"; ks: "cp.ks"; kt: "cp.kt"; ku: "cp.ku"; kv: "cp.kv"; kw: "cp.kw"; kx: "cp.kx"; ky: "cp.ky"; kz: "cp.kz"; la: "cp.la"; lb: "cp.lb"; lc: "cp.lc"; ld: "cp.ld"; le: "cp.le"; lf: "cp.lf"; lg: "cp.lg"; lh: "cp.lh"; li: "cp.li"; lj: "cp.lj"; lk: "cp.lk"; ll: "cp.ll"; lm: "cp.lm"; ln: "cp.ln"; lo: "cp.lo"; lp: "cp.lp"; lq: "cp.lq"; lr: "cp.lr"; ls: "cp.ls"; lt: "cp.lt"; lu: "cp.lu"; lv: "cp.lv"; lw: "cp.lw"; lx: "cp.lx"; ly: "cp.ly"; lz: "cp.lz"; ma: "cp.ma"; mb: "cp.mb"; mc: "cp.mc"; md: "cp.md"; me: "cp.me"; mf: "cp.mf"; mg: "cp.mg"; mh: "cp.mh"; mi: "cp.mi"; mj: "cp.mj"; mk: "cp.mk"; ml: "cp.ml"; mm: "cp.mm"; mn: "cp.mn"; mo: "cp.mo"; mp: "cp.mp"; mq: "cp.mq"; mr: "cp.mr"; ms: "cp.ms"; mt: "cp.mt"; mu: "cp.mu"; mv: "cp.mv"; mw: "cp.mw"; mx: "cp.mx"; my: "cp.my"; mz: "cp.mz"; na: "cp.na"; nb: "cp.nb"; nc: "cp.nc"; nd: "cp.nd"; ne: "cp.ne"; nf: "cp.nf"; ng: "cp.ng"; nh: "cp.nh"; ni: "cp.ni"; nj: "cp.nj"; nk: "cp.nk"; nl: "cp.nl"; nm: "cp.nm"; nn: "cp.nn"; no: "cp.no"; np: "cp.np"; nq: "cp.nq"; nr: "cp.nr"; ns: "cp.ns"; nt: "cp.nt"; nu: "cp.nu"; nv: "cp.nv"; nw: "cp.nw"; nx: "cp.nx"; ny: "cp.ny"; nz: "cp.nz"; oa: "cp.oa"; ob: "cp.ob"; oc: "cp.oc"; od: "cp.od"; oe: "cp.oe"; of: "cp.of"; og: "cp.og"; oh: "cp.oh"; oi: "cp.oi"; oj: "cp.oj"; ok: "cp.ok"; ol: "cp.ol"; om: "cp.om"; on: "cp.on"; oo: "cp.oo"; op: "cp.op"; oq: "cp.oq"; or: "cp.or"; os: "cp.os"; ot: "cp.ot"; ou: "cp.ou"; ov: "cp.ov"; ow: "cp.ow"; ox: "cp.ox"; oy: "cp.oy"; oz: "cp.oz"; pa: "cp.pa"; pb: "cp.pb"; pc: "cp.pc"; pd: "cp.pd"; pe: "cp.pe"; pf: "cp.pf"; pg: "cp.pg"; ph: "cp.ph"; pi: "cp.pi"; pj: "cp.pj"; pk: "cp.pk"; pl: "cp.pl"; pm: "cp.pm"; pn: "cp.pn"; po: "cp.po"; pp: "cp.pp"; pq: "cp.pq"; pr: "cp.pr"; ps: "cp.ps"; pt: "cp.pt"; pu: "cp.pu"; pv: "cp.pv"; pw: "cp.pw"; px: "cp.px"; py: "cp.py"; pz: "cp.pz"; qa: "cp.qa"; qb: "cp.qb"; qc: "cp.qc"; qd: "cp.qd"; qe: "cp.qe"; qf: "cp.qf"; qg: "cp.qg"; qh: "cp.qh"; qi: "cp.qi"; qj: "cp.qj"; qk: "cp.qk"; ql: "cp.ql"; qm: "cp.qm"; qn: "cp.qn"; qo: "cp.qo"; qp: "cp.qp"; qq: "cp.qq"; qr: "cp.qr"; qs: "cp.qs"; qt: "cp.qt"; qu: "cp.qu"; qv: "cp.qv"; qw: "cp.qw"; qx: "cp.qx"; qy: "cp.qy"; qz: "cp.qz"; ra: "cp.ra"; rb: "cp.rb"; rc: "cp.rc"; rd: "cp.rd"; re: "cp.re"; rf: "cp.rf"; rg: "cp.rg"; rh: "cp.rh"; ri: "cp.ri"; rj: "cp.rj"; rk: "cp.rk"; rl: "cp.rl"; rm: "cp.rm"; rn: "cp.rn"; ro: "cp.ro"; rp: "cp.rp"; rq: "cp.rq"; rr: "cp.rr"; rs: "cp.rs"; rt: "cp.rt"; ru: "cp.ru"; rv: "cp.rv"; rw: "cp.rw"; rx: "cp.rx"; ry: "cp.ry"; rz: "cp.rz"; sa: "cp.sa"; sb: "cp.sb"; sc: "cp.sc"; sd: "cp.sd"; se: "cp.se"; sf: "cp.sf"; sg: "cp.sg"; sh: "cp.sh"; si: "cp.si"; sj: "cp.sj"; sk: "cp.sk"; sl: "cp.sl"; sm: "cp.sm"; sn: "cp.sn"; so: "cp.so"; sp: "cp.sp"; sq: "cp.sq"; sr: "cp.sr"; ss: "cp.ss"; st: "cp.st"; su: "cp.su"; sv: "cp.sv"; sw: "cp.sw"; sx: "cp.sx"; sy: "cp.sy"; sz: "cp.sz"; ta: "cp.ta"; tb: "cp.tb"; tc: "cp.tc"; td: "cp.td"; te: "cp.te"; tf: "cp.tf"; tg: "cp.tg"; th: "cp.th"; ti: "cp.ti"; tj: "cp.tj"; tk: "cp.tk"; tl: "cp.tl"; tm: "cp.tm"; tn: "cp.tn"; to: "cp.to"; tp: "cp.tp"; tq: "cp.tq"; tr: "cp.tr"; ts: "cp.ts"; tt: "cp.tt"; tu: "cp.tu"; tv: "cp.tv"; tw: "cp.tw"; tx: "cp.tx"; ty: "cp.ty"; tz: "cp.tz"; ua: "cp.ua"; ub: "cp.ub"; uc: "cp.uc"; ud: "cp.ud"; ue: "cp.ue"; uf: "cp.uf"; ug: "cp.ug"; uh: "cp.uh"; ui: "cp.ui"; uj: "cp.uj"; uk: "cp.uk"; ul: "cp.ul"; um: "cp.um"; un: "cp.un"; uo: "cp.uo"; up: "cp.up"; uq: "cp.uq"; ur: "cp.ur"; us: "cp.us"; ut: "cp.ut"; uu: "cp.uu"; uv: "cp.uv"; uw: "cp.uw"; ux: "cp.ux"; uy: "cp.uy"; uz: "cp.uz"; va: "cp.va"; vb: "cp.vb"; vc: "cp.vc"; vd: "cp.vd"; ve: "cp.ve"; vf: "cp.vf"; vg: "cp.vg"; vh: "cp.vh"; vi: "cp.vi"; vj: "cp.vj"; vk: "cp.vk"; vl: "cp.vl"; vm: "cp.vm"; vn: "cp.vn"; vo: "cp.vo"; vp: "cp.vp"; vq: "cp.vq"; vr: "cp.vr"; vs: "cp.vs"; vt: "cp.vt"; vu: "cp.vu"; vv: "cp.vv"; vw: "cp.vw"; vx: "cp.vx"; vy: "cp.vy"; vz: "cp.vz"; wa: "cp.wa"; wb: "cp.wb"; wc: "cp.wc"; wd: "cp.wd"; we: "cp.we"; wf: "cp.wf"; wg: "cp.wg"; wh: "cp.wh"; wi: "cp.wi"; wj: "cp.wj"; wk: "cp.wk"; wl: "cp.wl"; wm: "cp.wm"; wn: "cp.wn"; wo: "cp.wo"; wp: "cp.wp"; wq: "cp.wq"; wr: "cp.wr"; ws: "cp.ws"; wt: "cp.wt"; wu: "cp.wu"; wv: "cp.wv"; ww: "cp.ww"; wx: "cp.wx"; wy: "cp.wy"; wz: "cp.wz"; xa: "cp.xa"; xb: "cp.xb"; xc: "cp.xc"; xd: "cp.xd"; xe: "cp.xe"; xf: "cp.xf"; xg: "cp.xg"; xh: "cp.xh"; xi: "cp.xi"; xj: "cp.xj"; xk: "cp.xk"; xl: "cp.xl"; xm: "cp.xm"; xn: "cp.xn"; xo: "cp.xo"; xp: "cp.xp"; xq: "cp.xq"; xr: "cp.xr"; xs: "cp.xs"; xt: "cp.xt"; xu: "cp.xu"; xv: "cp.xv"; xw: "cp.xw"; xx: "cp.xx"; xy: "cp.xy"; xz: "cp.xz"; ya: "cp.ya"; yb: "cp.yb"; yc: "cp.yc"; yd: "cp.yd"; ye: "cp.ye"; yf: "cp.yf"; yg: "cp.yg"; yh: "cp.yh"; yi: "cp.yi"; yj: "cp.yj"; yk: "cp.yk"; yl: "cp.yl"; ym: "cp.ym"; yn: "cp.yn"; yo: "cp.yo"; yp: "cp.yp"; yq: "cp.yq"; yr: "cp.yr"; ys: "cp.ys"; yt: "cp.yt"; yu: "cp.yu"; yv: "cp.yv"; yw: "cp.yw"; yx: "cp.yx"; yy: "cp.yy"; yz: "cp.yz"; za: "cp.za"; zb: "cp.zb"; zc: "cp.zc"; zd: "cp.zd"; ze: "cp.ze"; zf: "cp.zf"; zg: "cp.zg"; zh: "cp.zh"; zi: "cp.zi"; zj: "cp.zj"; zk: "cp.zk"; zl: "cp.zl"; zm: "cp.zm"; zn: "cp.zn"; zo: "cp.zo"; zp: "cp.zp"; zq: "cp.zq"; zr: "cp.zr"; zs: "cp.zs"; zt: "cp.zt"; zu: "cp.zu"; zv: "cp.zv"; zw: "cp.zw"; zx: "cp.zx"; zy: "cp.zy"; zz: "cp.zz"; }; cq: { aa: "cq.aa"; ab: "cq.ab"; ac: "cq.ac"; ad: "cq.ad"; ae: "cq.ae"; af: "cq.af"; ag: "cq.ag"; ah: "cq.ah"; ai: "cq.ai"; aj: "cq.aj"; ak: "cq.ak"; al: "cq.al"; am: "cq.am"; an: "cq.an"; ao: "cq.ao"; ap: "cq.ap"; aq: "cq.aq"; ar: "cq.ar"; as: "cq.as"; at: "cq.at"; au: "cq.au"; av: "cq.av"; aw: "cq.aw"; ax: "cq.ax"; ay: "cq.ay"; az: "cq.az"; ba: "cq.ba"; bb: "cq.bb"; bc: "cq.bc"; bd: "cq.bd"; be: "cq.be"; bf: "cq.bf"; bg: "cq.bg"; bh: "cq.bh"; bi: "cq.bi"; bj: "cq.bj"; bk: "cq.bk"; bl: "cq.bl"; bm: "cq.bm"; bn: "cq.bn"; bo: "cq.bo"; bp: "cq.bp"; bq: "cq.bq"; br: "cq.br"; bs: "cq.bs"; bt: "cq.bt"; bu: "cq.bu"; bv: "cq.bv"; bw: "cq.bw"; bx: "cq.bx"; by: "cq.by"; bz: "cq.bz"; ca: "cq.ca"; cb: "cq.cb"; cc: "cq.cc"; cd: "cq.cd"; ce: "cq.ce"; cf: "cq.cf"; cg: "cq.cg"; ch: "cq.ch"; ci: "cq.ci"; cj: "cq.cj"; ck: "cq.ck"; cl: "cq.cl"; cm: "cq.cm"; cn: "cq.cn"; co: "cq.co"; cp: "cq.cp"; cq: "cq.cq"; cr: "cq.cr"; cs: "cq.cs"; ct: "cq.ct"; cu: "cq.cu"; cv: "cq.cv"; cw: "cq.cw"; cx: "cq.cx"; cy: "cq.cy"; cz: "cq.cz"; da: "cq.da"; db: "cq.db"; dc: "cq.dc"; dd: "cq.dd"; de: "cq.de"; df: "cq.df"; dg: "cq.dg"; dh: "cq.dh"; di: "cq.di"; dj: "cq.dj"; dk: "cq.dk"; dl: "cq.dl"; dm: "cq.dm"; dn: "cq.dn"; do: "cq.do"; dp: "cq.dp"; dq: "cq.dq"; dr: "cq.dr"; ds: "cq.ds"; dt: "cq.dt"; du: "cq.du"; dv: "cq.dv"; dw: "cq.dw"; dx: "cq.dx"; dy: "cq.dy"; dz: "cq.dz"; ea: "cq.ea"; eb: "cq.eb"; ec: "cq.ec"; ed: "cq.ed"; ee: "cq.ee"; ef: "cq.ef"; eg: "cq.eg"; eh: "cq.eh"; ei: "cq.ei"; ej: "cq.ej"; ek: "cq.ek"; el: "cq.el"; em: "cq.em"; en: "cq.en"; eo: "cq.eo"; ep: "cq.ep"; eq: "cq.eq"; er: "cq.er"; es: "cq.es"; et: "cq.et"; eu: "cq.eu"; ev: "cq.ev"; ew: "cq.ew"; ex: "cq.ex"; ey: "cq.ey"; ez: "cq.ez"; fa: "cq.fa"; fb: "cq.fb"; fc: "cq.fc"; fd: "cq.fd"; fe: "cq.fe"; ff: "cq.ff"; fg: "cq.fg"; fh: "cq.fh"; fi: "cq.fi"; fj: "cq.fj"; fk: "cq.fk"; fl: "cq.fl"; fm: "cq.fm"; fn: "cq.fn"; fo: "cq.fo"; fp: "cq.fp"; fq: "cq.fq"; fr: "cq.fr"; fs: "cq.fs"; ft: "cq.ft"; fu: "cq.fu"; fv: "cq.fv"; fw: "cq.fw"; fx: "cq.fx"; fy: "cq.fy"; fz: "cq.fz"; ga: "cq.ga"; gb: "cq.gb"; gc: "cq.gc"; gd: "cq.gd"; ge: "cq.ge"; gf: "cq.gf"; gg: "cq.gg"; gh: "cq.gh"; gi: "cq.gi"; gj: "cq.gj"; gk: "cq.gk"; gl: "cq.gl"; gm: "cq.gm"; gn: "cq.gn"; go: "cq.go"; gp: "cq.gp"; gq: "cq.gq"; gr: "cq.gr"; gs: "cq.gs"; gt: "cq.gt"; gu: "cq.gu"; gv: "cq.gv"; gw: "cq.gw"; gx: "cq.gx"; gy: "cq.gy"; gz: "cq.gz"; ha: "cq.ha"; hb: "cq.hb"; hc: "cq.hc"; hd: "cq.hd"; he: "cq.he"; hf: "cq.hf"; hg: "cq.hg"; hh: "cq.hh"; hi: "cq.hi"; hj: "cq.hj"; hk: "cq.hk"; hl: "cq.hl"; hm: "cq.hm"; hn: "cq.hn"; ho: "cq.ho"; hp: "cq.hp"; hq: "cq.hq"; hr: "cq.hr"; hs: "cq.hs"; ht: "cq.ht"; hu: "cq.hu"; hv: "cq.hv"; hw: "cq.hw"; hx: "cq.hx"; hy: "cq.hy"; hz: "cq.hz"; ia: "cq.ia"; ib: "cq.ib"; ic: "cq.ic"; id: "cq.id"; ie: "cq.ie"; if: "cq.if"; ig: "cq.ig"; ih: "cq.ih"; ii: "cq.ii"; ij: "cq.ij"; ik: "cq.ik"; il: "cq.il"; im: "cq.im"; in: "cq.in"; io: "cq.io"; ip: "cq.ip"; iq: "cq.iq"; ir: "cq.ir"; is: "cq.is"; it: "cq.it"; iu: "cq.iu"; iv: "cq.iv"; iw: "cq.iw"; ix: "cq.ix"; iy: "cq.iy"; iz: "cq.iz"; ja: "cq.ja"; jb: "cq.jb"; jc: "cq.jc"; jd: "cq.jd"; je: "cq.je"; jf: "cq.jf"; jg: "cq.jg"; jh: "cq.jh"; ji: "cq.ji"; jj: "cq.jj"; jk: "cq.jk"; jl: "cq.jl"; jm: "cq.jm"; jn: "cq.jn"; jo: "cq.jo"; jp: "cq.jp"; jq: "cq.jq"; jr: "cq.jr"; js: "cq.js"; jt: "cq.jt"; ju: "cq.ju"; jv: "cq.jv"; jw: "cq.jw"; jx: "cq.jx"; jy: "cq.jy"; jz: "cq.jz"; ka: "cq.ka"; kb: "cq.kb"; kc: "cq.kc"; kd: "cq.kd"; ke: "cq.ke"; kf: "cq.kf"; kg: "cq.kg"; kh: "cq.kh"; ki: "cq.ki"; kj: "cq.kj"; kk: "cq.kk"; kl: "cq.kl"; km: "cq.km"; kn: "cq.kn"; ko: "cq.ko"; kp: "cq.kp"; kq: "cq.kq"; kr: "cq.kr"; ks: "cq.ks"; kt: "cq.kt"; ku: "cq.ku"; kv: "cq.kv"; kw: "cq.kw"; kx: "cq.kx"; ky: "cq.ky"; kz: "cq.kz"; la: "cq.la"; lb: "cq.lb"; lc: "cq.lc"; ld: "cq.ld"; le: "cq.le"; lf: "cq.lf"; lg: "cq.lg"; lh: "cq.lh"; li: "cq.li"; lj: "cq.lj"; lk: "cq.lk"; ll: "cq.ll"; lm: "cq.lm"; ln: "cq.ln"; lo: "cq.lo"; lp: "cq.lp"; lq: "cq.lq"; lr: "cq.lr"; ls: "cq.ls"; lt: "cq.lt"; lu: "cq.lu"; lv: "cq.lv"; lw: "cq.lw"; lx: "cq.lx"; ly: "cq.ly"; lz: "cq.lz"; ma: "cq.ma"; mb: "cq.mb"; mc: "cq.mc"; md: "cq.md"; me: "cq.me"; mf: "cq.mf"; mg: "cq.mg"; mh: "cq.mh"; mi: "cq.mi"; mj: "cq.mj"; mk: "cq.mk"; ml: "cq.ml"; mm: "cq.mm"; mn: "cq.mn"; mo: "cq.mo"; mp: "cq.mp"; mq: "cq.mq"; mr: "cq.mr"; ms: "cq.ms"; mt: "cq.mt"; mu: "cq.mu"; mv: "cq.mv"; mw: "cq.mw"; mx: "cq.mx"; my: "cq.my"; mz: "cq.mz"; na: "cq.na"; nb: "cq.nb"; nc: "cq.nc"; nd: "cq.nd"; ne: "cq.ne"; nf: "cq.nf"; ng: "cq.ng"; nh: "cq.nh"; ni: "cq.ni"; nj: "cq.nj"; nk: "cq.nk"; nl: "cq.nl"; nm: "cq.nm"; nn: "cq.nn"; no: "cq.no"; np: "cq.np"; nq: "cq.nq"; nr: "cq.nr"; ns: "cq.ns"; nt: "cq.nt"; nu: "cq.nu"; nv: "cq.nv"; nw: "cq.nw"; nx: "cq.nx"; ny: "cq.ny"; nz: "cq.nz"; oa: "cq.oa"; ob: "cq.ob"; oc: "cq.oc"; od: "cq.od"; oe: "cq.oe"; of: "cq.of"; og: "cq.og"; oh: "cq.oh"; oi: "cq.oi"; oj: "cq.oj"; ok: "cq.ok"; ol: "cq.ol"; om: "cq.om"; on: "cq.on"; oo: "cq.oo"; op: "cq.op"; oq: "cq.oq"; or: "cq.or"; os: "cq.os"; ot: "cq.ot"; ou: "cq.ou"; ov: "cq.ov"; ow: "cq.ow"; ox: "cq.ox"; oy: "cq.oy"; oz: "cq.oz"; pa: "cq.pa"; pb: "cq.pb"; pc: "cq.pc"; pd: "cq.pd"; pe: "cq.pe"; pf: "cq.pf"; pg: "cq.pg"; ph: "cq.ph"; pi: "cq.pi"; pj: "cq.pj"; pk: "cq.pk"; pl: "cq.pl"; pm: "cq.pm"; pn: "cq.pn"; po: "cq.po"; pp: "cq.pp"; pq: "cq.pq"; pr: "cq.pr"; ps: "cq.ps"; pt: "cq.pt"; pu: "cq.pu"; pv: "cq.pv"; pw: "cq.pw"; px: "cq.px"; py: "cq.py"; pz: "cq.pz"; qa: "cq.qa"; qb: "cq.qb"; qc: "cq.qc"; qd: "cq.qd"; qe: "cq.qe"; qf: "cq.qf"; qg: "cq.qg"; qh: "cq.qh"; qi: "cq.qi"; qj: "cq.qj"; qk: "cq.qk"; ql: "cq.ql"; qm: "cq.qm"; qn: "cq.qn"; qo: "cq.qo"; qp: "cq.qp"; qq: "cq.qq"; qr: "cq.qr"; qs: "cq.qs"; qt: "cq.qt"; qu: "cq.qu"; qv: "cq.qv"; qw: "cq.qw"; qx: "cq.qx"; qy: "cq.qy"; qz: "cq.qz"; ra: "cq.ra"; rb: "cq.rb"; rc: "cq.rc"; rd: "cq.rd"; re: "cq.re"; rf: "cq.rf"; rg: "cq.rg"; rh: "cq.rh"; ri: "cq.ri"; rj: "cq.rj"; rk: "cq.rk"; rl: "cq.rl"; rm: "cq.rm"; rn: "cq.rn"; ro: "cq.ro"; rp: "cq.rp"; rq: "cq.rq"; rr: "cq.rr"; rs: "cq.rs"; rt: "cq.rt"; ru: "cq.ru"; rv: "cq.rv"; rw: "cq.rw"; rx: "cq.rx"; ry: "cq.ry"; rz: "cq.rz"; sa: "cq.sa"; sb: "cq.sb"; sc: "cq.sc"; sd: "cq.sd"; se: "cq.se"; sf: "cq.sf"; sg: "cq.sg"; sh: "cq.sh"; si: "cq.si"; sj: "cq.sj"; sk: "cq.sk"; sl: "cq.sl"; sm: "cq.sm"; sn: "cq.sn"; so: "cq.so"; sp: "cq.sp"; sq: "cq.sq"; sr: "cq.sr"; ss: "cq.ss"; st: "cq.st"; su: "cq.su"; sv: "cq.sv"; sw: "cq.sw"; sx: "cq.sx"; sy: "cq.sy"; sz: "cq.sz"; ta: "cq.ta"; tb: "cq.tb"; tc: "cq.tc"; td: "cq.td"; te: "cq.te"; tf: "cq.tf"; tg: "cq.tg"; th: "cq.th"; ti: "cq.ti"; tj: "cq.tj"; tk: "cq.tk"; tl: "cq.tl"; tm: "cq.tm"; tn: "cq.tn"; to: "cq.to"; tp: "cq.tp"; tq: "cq.tq"; tr: "cq.tr"; ts: "cq.ts"; tt: "cq.tt"; tu: "cq.tu"; tv: "cq.tv"; tw: "cq.tw"; tx: "cq.tx"; ty: "cq.ty"; tz: "cq.tz"; ua: "cq.ua"; ub: "cq.ub"; uc: "cq.uc"; ud: "cq.ud"; ue: "cq.ue"; uf: "cq.uf"; ug: "cq.ug"; uh: "cq.uh"; ui: "cq.ui"; uj: "cq.uj"; uk: "cq.uk"; ul: "cq.ul"; um: "cq.um"; un: "cq.un"; uo: "cq.uo"; up: "cq.up"; uq: "cq.uq"; ur: "cq.ur"; us: "cq.us"; ut: "cq.ut"; uu: "cq.uu"; uv: "cq.uv"; uw: "cq.uw"; ux: "cq.ux"; uy: "cq.uy"; uz: "cq.uz"; va: "cq.va"; vb: "cq.vb"; vc: "cq.vc"; vd: "cq.vd"; ve: "cq.ve"; vf: "cq.vf"; vg: "cq.vg"; vh: "cq.vh"; vi: "cq.vi"; vj: "cq.vj"; vk: "cq.vk"; vl: "cq.vl"; vm: "cq.vm"; vn: "cq.vn"; vo: "cq.vo"; vp: "cq.vp"; vq: "cq.vq"; vr: "cq.vr"; vs: "cq.vs"; vt: "cq.vt"; vu: "cq.vu"; vv: "cq.vv"; vw: "cq.vw"; vx: "cq.vx"; vy: "cq.vy"; vz: "cq.vz"; wa: "cq.wa"; wb: "cq.wb"; wc: "cq.wc"; wd: "cq.wd"; we: "cq.we"; wf: "cq.wf"; wg: "cq.wg"; wh: "cq.wh"; wi: "cq.wi"; wj: "cq.wj"; wk: "cq.wk"; wl: "cq.wl"; wm: "cq.wm"; wn: "cq.wn"; wo: "cq.wo"; wp: "cq.wp"; wq: "cq.wq"; wr: "cq.wr"; ws: "cq.ws"; wt: "cq.wt"; wu: "cq.wu"; wv: "cq.wv"; ww: "cq.ww"; wx: "cq.wx"; wy: "cq.wy"; wz: "cq.wz"; xa: "cq.xa"; xb: "cq.xb"; xc: "cq.xc"; xd: "cq.xd"; xe: "cq.xe"; xf: "cq.xf"; xg: "cq.xg"; xh: "cq.xh"; xi: "cq.xi"; xj: "cq.xj"; xk: "cq.xk"; xl: "cq.xl"; xm: "cq.xm"; xn: "cq.xn"; xo: "cq.xo"; xp: "cq.xp"; xq: "cq.xq"; xr: "cq.xr"; xs: "cq.xs"; xt: "cq.xt"; xu: "cq.xu"; xv: "cq.xv"; xw: "cq.xw"; xx: "cq.xx"; xy: "cq.xy"; xz: "cq.xz"; ya: "cq.ya"; yb: "cq.yb"; yc: "cq.yc"; yd: "cq.yd"; ye: "cq.ye"; yf: "cq.yf"; yg: "cq.yg"; yh: "cq.yh"; yi: "cq.yi"; yj: "cq.yj"; yk: "cq.yk"; yl: "cq.yl"; ym: "cq.ym"; yn: "cq.yn"; yo: "cq.yo"; yp: "cq.yp"; yq: "cq.yq"; yr: "cq.yr"; ys: "cq.ys"; yt: "cq.yt"; yu: "cq.yu"; yv: "cq.yv"; yw: "cq.yw"; yx: "cq.yx"; yy: "cq.yy"; yz: "cq.yz"; za: "cq.za"; zb: "cq.zb"; zc: "cq.zc"; zd: "cq.zd"; ze: "cq.ze"; zf: "cq.zf"; zg: "cq.zg"; zh: "cq.zh"; zi: "cq.zi"; zj: "cq.zj"; zk: "cq.zk"; zl: "cq.zl"; zm: "cq.zm"; zn: "cq.zn"; zo: "cq.zo"; zp: "cq.zp"; zq: "cq.zq"; zr: "cq.zr"; zs: "cq.zs"; zt: "cq.zt"; zu: "cq.zu"; zv: "cq.zv"; zw: "cq.zw"; zx: "cq.zx"; zy: "cq.zy"; zz: "cq.zz"; }; cr: { aa: "cr.aa"; ab: "cr.ab"; ac: "cr.ac"; ad: "cr.ad"; ae: "cr.ae"; af: "cr.af"; ag: "cr.ag"; ah: "cr.ah"; ai: "cr.ai"; aj: "cr.aj"; ak: "cr.ak"; al: "cr.al"; am: "cr.am"; an: "cr.an"; ao: "cr.ao"; ap: "cr.ap"; aq: "cr.aq"; ar: "cr.ar"; as: "cr.as"; at: "cr.at"; au: "cr.au"; av: "cr.av"; aw: "cr.aw"; ax: "cr.ax"; ay: "cr.ay"; az: "cr.az"; ba: "cr.ba"; bb: "cr.bb"; bc: "cr.bc"; bd: "cr.bd"; be: "cr.be"; bf: "cr.bf"; bg: "cr.bg"; bh: "cr.bh"; bi: "cr.bi"; bj: "cr.bj"; bk: "cr.bk"; bl: "cr.bl"; bm: "cr.bm"; bn: "cr.bn"; bo: "cr.bo"; bp: "cr.bp"; bq: "cr.bq"; br: "cr.br"; bs: "cr.bs"; bt: "cr.bt"; bu: "cr.bu"; bv: "cr.bv"; bw: "cr.bw"; bx: "cr.bx"; by: "cr.by"; bz: "cr.bz"; ca: "cr.ca"; cb: "cr.cb"; cc: "cr.cc"; cd: "cr.cd"; ce: "cr.ce"; cf: "cr.cf"; cg: "cr.cg"; ch: "cr.ch"; ci: "cr.ci"; cj: "cr.cj"; ck: "cr.ck"; cl: "cr.cl"; cm: "cr.cm"; cn: "cr.cn"; co: "cr.co"; cp: "cr.cp"; cq: "cr.cq"; cr: "cr.cr"; cs: "cr.cs"; ct: "cr.ct"; cu: "cr.cu"; cv: "cr.cv"; cw: "cr.cw"; cx: "cr.cx"; cy: "cr.cy"; cz: "cr.cz"; da: "cr.da"; db: "cr.db"; dc: "cr.dc"; dd: "cr.dd"; de: "cr.de"; df: "cr.df"; dg: "cr.dg"; dh: "cr.dh"; di: "cr.di"; dj: "cr.dj"; dk: "cr.dk"; dl: "cr.dl"; dm: "cr.dm"; dn: "cr.dn"; do: "cr.do"; dp: "cr.dp"; dq: "cr.dq"; dr: "cr.dr"; ds: "cr.ds"; dt: "cr.dt"; du: "cr.du"; dv: "cr.dv"; dw: "cr.dw"; dx: "cr.dx"; dy: "cr.dy"; dz: "cr.dz"; ea: "cr.ea"; eb: "cr.eb"; ec: "cr.ec"; ed: "cr.ed"; ee: "cr.ee"; ef: "cr.ef"; eg: "cr.eg"; eh: "cr.eh"; ei: "cr.ei"; ej: "cr.ej"; ek: "cr.ek"; el: "cr.el"; em: "cr.em"; en: "cr.en"; eo: "cr.eo"; ep: "cr.ep"; eq: "cr.eq"; er: "cr.er"; es: "cr.es"; et: "cr.et"; eu: "cr.eu"; ev: "cr.ev"; ew: "cr.ew"; ex: "cr.ex"; ey: "cr.ey"; ez: "cr.ez"; fa: "cr.fa"; fb: "cr.fb"; fc: "cr.fc"; fd: "cr.fd"; fe: "cr.fe"; ff: "cr.ff"; fg: "cr.fg"; fh: "cr.fh"; fi: "cr.fi"; fj: "cr.fj"; fk: "cr.fk"; fl: "cr.fl"; fm: "cr.fm"; fn: "cr.fn"; fo: "cr.fo"; fp: "cr.fp"; fq: "cr.fq"; fr: "cr.fr"; fs: "cr.fs"; ft: "cr.ft"; fu: "cr.fu"; fv: "cr.fv"; fw: "cr.fw"; fx: "cr.fx"; fy: "cr.fy"; fz: "cr.fz"; ga: "cr.ga"; gb: "cr.gb"; gc: "cr.gc"; gd: "cr.gd"; ge: "cr.ge"; gf: "cr.gf"; gg: "cr.gg"; gh: "cr.gh"; gi: "cr.gi"; gj: "cr.gj"; gk: "cr.gk"; gl: "cr.gl"; gm: "cr.gm"; gn: "cr.gn"; go: "cr.go"; gp: "cr.gp"; gq: "cr.gq"; gr: "cr.gr"; gs: "cr.gs"; gt: "cr.gt"; gu: "cr.gu"; gv: "cr.gv"; gw: "cr.gw"; gx: "cr.gx"; gy: "cr.gy"; gz: "cr.gz"; ha: "cr.ha"; hb: "cr.hb"; hc: "cr.hc"; hd: "cr.hd"; he: "cr.he"; hf: "cr.hf"; hg: "cr.hg"; hh: "cr.hh"; hi: "cr.hi"; hj: "cr.hj"; hk: "cr.hk"; hl: "cr.hl"; hm: "cr.hm"; hn: "cr.hn"; ho: "cr.ho"; hp: "cr.hp"; hq: "cr.hq"; hr: "cr.hr"; hs: "cr.hs"; ht: "cr.ht"; hu: "cr.hu"; hv: "cr.hv"; hw: "cr.hw"; hx: "cr.hx"; hy: "cr.hy"; hz: "cr.hz"; ia: "cr.ia"; ib: "cr.ib"; ic: "cr.ic"; id: "cr.id"; ie: "cr.ie"; if: "cr.if"; ig: "cr.ig"; ih: "cr.ih"; ii: "cr.ii"; ij: "cr.ij"; ik: "cr.ik"; il: "cr.il"; im: "cr.im"; in: "cr.in"; io: "cr.io"; ip: "cr.ip"; iq: "cr.iq"; ir: "cr.ir"; is: "cr.is"; it: "cr.it"; iu: "cr.iu"; iv: "cr.iv"; iw: "cr.iw"; ix: "cr.ix"; iy: "cr.iy"; iz: "cr.iz"; ja: "cr.ja"; jb: "cr.jb"; jc: "cr.jc"; jd: "cr.jd"; je: "cr.je"; jf: "cr.jf"; jg: "cr.jg"; jh: "cr.jh"; ji: "cr.ji"; jj: "cr.jj"; jk: "cr.jk"; jl: "cr.jl"; jm: "cr.jm"; jn: "cr.jn"; jo: "cr.jo"; jp: "cr.jp"; jq: "cr.jq"; jr: "cr.jr"; js: "cr.js"; jt: "cr.jt"; ju: "cr.ju"; jv: "cr.jv"; jw: "cr.jw"; jx: "cr.jx"; jy: "cr.jy"; jz: "cr.jz"; ka: "cr.ka"; kb: "cr.kb"; kc: "cr.kc"; kd: "cr.kd"; ke: "cr.ke"; kf: "cr.kf"; kg: "cr.kg"; kh: "cr.kh"; ki: "cr.ki"; kj: "cr.kj"; kk: "cr.kk"; kl: "cr.kl"; km: "cr.km"; kn: "cr.kn"; ko: "cr.ko"; kp: "cr.kp"; kq: "cr.kq"; kr: "cr.kr"; ks: "cr.ks"; kt: "cr.kt"; ku: "cr.ku"; kv: "cr.kv"; kw: "cr.kw"; kx: "cr.kx"; ky: "cr.ky"; kz: "cr.kz"; la: "cr.la"; lb: "cr.lb"; lc: "cr.lc"; ld: "cr.ld"; le: "cr.le"; lf: "cr.lf"; lg: "cr.lg"; lh: "cr.lh"; li: "cr.li"; lj: "cr.lj"; lk: "cr.lk"; ll: "cr.ll"; lm: "cr.lm"; ln: "cr.ln"; lo: "cr.lo"; lp: "cr.lp"; lq: "cr.lq"; lr: "cr.lr"; ls: "cr.ls"; lt: "cr.lt"; lu: "cr.lu"; lv: "cr.lv"; lw: "cr.lw"; lx: "cr.lx"; ly: "cr.ly"; lz: "cr.lz"; ma: "cr.ma"; mb: "cr.mb"; mc: "cr.mc"; md: "cr.md"; me: "cr.me"; mf: "cr.mf"; mg: "cr.mg"; mh: "cr.mh"; mi: "cr.mi"; mj: "cr.mj"; mk: "cr.mk"; ml: "cr.ml"; mm: "cr.mm"; mn: "cr.mn"; mo: "cr.mo"; mp: "cr.mp"; mq: "cr.mq"; mr: "cr.mr"; ms: "cr.ms"; mt: "cr.mt"; mu: "cr.mu"; mv: "cr.mv"; mw: "cr.mw"; mx: "cr.mx"; my: "cr.my"; mz: "cr.mz"; na: "cr.na"; nb: "cr.nb"; nc: "cr.nc"; nd: "cr.nd"; ne: "cr.ne"; nf: "cr.nf"; ng: "cr.ng"; nh: "cr.nh"; ni: "cr.ni"; nj: "cr.nj"; nk: "cr.nk"; nl: "cr.nl"; nm: "cr.nm"; nn: "cr.nn"; no: "cr.no"; np: "cr.np"; nq: "cr.nq"; nr: "cr.nr"; ns: "cr.ns"; nt: "cr.nt"; nu: "cr.nu"; nv: "cr.nv"; nw: "cr.nw"; nx: "cr.nx"; ny: "cr.ny"; nz: "cr.nz"; oa: "cr.oa"; ob: "cr.ob"; oc: "cr.oc"; od: "cr.od"; oe: "cr.oe"; of: "cr.of"; og: "cr.og"; oh: "cr.oh"; oi: "cr.oi"; oj: "cr.oj"; ok: "cr.ok"; ol: "cr.ol"; om: "cr.om"; on: "cr.on"; oo: "cr.oo"; op: "cr.op"; oq: "cr.oq"; or: "cr.or"; os: "cr.os"; ot: "cr.ot"; ou: "cr.ou"; ov: "cr.ov"; ow: "cr.ow"; ox: "cr.ox"; oy: "cr.oy"; oz: "cr.oz"; pa: "cr.pa"; pb: "cr.pb"; pc: "cr.pc"; pd: "cr.pd"; pe: "cr.pe"; pf: "cr.pf"; pg: "cr.pg"; ph: "cr.ph"; pi: "cr.pi"; pj: "cr.pj"; pk: "cr.pk"; pl: "cr.pl"; pm: "cr.pm"; pn: "cr.pn"; po: "cr.po"; pp: "cr.pp"; pq: "cr.pq"; pr: "cr.pr"; ps: "cr.ps"; pt: "cr.pt"; pu: "cr.pu"; pv: "cr.pv"; pw: "cr.pw"; px: "cr.px"; py: "cr.py"; pz: "cr.pz"; qa: "cr.qa"; qb: "cr.qb"; qc: "cr.qc"; qd: "cr.qd"; qe: "cr.qe"; qf: "cr.qf"; qg: "cr.qg"; qh: "cr.qh"; qi: "cr.qi"; qj: "cr.qj"; qk: "cr.qk"; ql: "cr.ql"; qm: "cr.qm"; qn: "cr.qn"; qo: "cr.qo"; qp: "cr.qp"; qq: "cr.qq"; qr: "cr.qr"; qs: "cr.qs"; qt: "cr.qt"; qu: "cr.qu"; qv: "cr.qv"; qw: "cr.qw"; qx: "cr.qx"; qy: "cr.qy"; qz: "cr.qz"; ra: "cr.ra"; rb: "cr.rb"; rc: "cr.rc"; rd: "cr.rd"; re: "cr.re"; rf: "cr.rf"; rg: "cr.rg"; rh: "cr.rh"; ri: "cr.ri"; rj: "cr.rj"; rk: "cr.rk"; rl: "cr.rl"; rm: "cr.rm"; rn: "cr.rn"; ro: "cr.ro"; rp: "cr.rp"; rq: "cr.rq"; rr: "cr.rr"; rs: "cr.rs"; rt: "cr.rt"; ru: "cr.ru"; rv: "cr.rv"; rw: "cr.rw"; rx: "cr.rx"; ry: "cr.ry"; rz: "cr.rz"; sa: "cr.sa"; sb: "cr.sb"; sc: "cr.sc"; sd: "cr.sd"; se: "cr.se"; sf: "cr.sf"; sg: "cr.sg"; sh: "cr.sh"; si: "cr.si"; sj: "cr.sj"; sk: "cr.sk"; sl: "cr.sl"; sm: "cr.sm"; sn: "cr.sn"; so: "cr.so"; sp: "cr.sp"; sq: "cr.sq"; sr: "cr.sr"; ss: "cr.ss"; st: "cr.st"; su: "cr.su"; sv: "cr.sv"; sw: "cr.sw"; sx: "cr.sx"; sy: "cr.sy"; sz: "cr.sz"; ta: "cr.ta"; tb: "cr.tb"; tc: "cr.tc"; td: "cr.td"; te: "cr.te"; tf: "cr.tf"; tg: "cr.tg"; th: "cr.th"; ti: "cr.ti"; tj: "cr.tj"; tk: "cr.tk"; tl: "cr.tl"; tm: "cr.tm"; tn: "cr.tn"; to: "cr.to"; tp: "cr.tp"; tq: "cr.tq"; tr: "cr.tr"; ts: "cr.ts"; tt: "cr.tt"; tu: "cr.tu"; tv: "cr.tv"; tw: "cr.tw"; tx: "cr.tx"; ty: "cr.ty"; tz: "cr.tz"; ua: "cr.ua"; ub: "cr.ub"; uc: "cr.uc"; ud: "cr.ud"; ue: "cr.ue"; uf: "cr.uf"; ug: "cr.ug"; uh: "cr.uh"; ui: "cr.ui"; uj: "cr.uj"; uk: "cr.uk"; ul: "cr.ul"; um: "cr.um"; un: "cr.un"; uo: "cr.uo"; up: "cr.up"; uq: "cr.uq"; ur: "cr.ur"; us: "cr.us"; ut: "cr.ut"; uu: "cr.uu"; uv: "cr.uv"; uw: "cr.uw"; ux: "cr.ux"; uy: "cr.uy"; uz: "cr.uz"; va: "cr.va"; vb: "cr.vb"; vc: "cr.vc"; vd: "cr.vd"; ve: "cr.ve"; vf: "cr.vf"; vg: "cr.vg"; vh: "cr.vh"; vi: "cr.vi"; vj: "cr.vj"; vk: "cr.vk"; vl: "cr.vl"; vm: "cr.vm"; vn: "cr.vn"; vo: "cr.vo"; vp: "cr.vp"; vq: "cr.vq"; vr: "cr.vr"; vs: "cr.vs"; vt: "cr.vt"; vu: "cr.vu"; vv: "cr.vv"; vw: "cr.vw"; vx: "cr.vx"; vy: "cr.vy"; vz: "cr.vz"; wa: "cr.wa"; wb: "cr.wb"; wc: "cr.wc"; wd: "cr.wd"; we: "cr.we"; wf: "cr.wf"; wg: "cr.wg"; wh: "cr.wh"; wi: "cr.wi"; wj: "cr.wj"; wk: "cr.wk"; wl: "cr.wl"; wm: "cr.wm"; wn: "cr.wn"; wo: "cr.wo"; wp: "cr.wp"; wq: "cr.wq"; wr: "cr.wr"; ws: "cr.ws"; wt: "cr.wt"; wu: "cr.wu"; wv: "cr.wv"; ww: "cr.ww"; wx: "cr.wx"; wy: "cr.wy"; wz: "cr.wz"; xa: "cr.xa"; xb: "cr.xb"; xc: "cr.xc"; xd: "cr.xd"; xe: "cr.xe"; xf: "cr.xf"; xg: "cr.xg"; xh: "cr.xh"; xi: "cr.xi"; xj: "cr.xj"; xk: "cr.xk"; xl: "cr.xl"; xm: "cr.xm"; xn: "cr.xn"; xo: "cr.xo"; xp: "cr.xp"; xq: "cr.xq"; xr: "cr.xr"; xs: "cr.xs"; xt: "cr.xt"; xu: "cr.xu"; xv: "cr.xv"; xw: "cr.xw"; xx: "cr.xx"; xy: "cr.xy"; xz: "cr.xz"; ya: "cr.ya"; yb: "cr.yb"; yc: "cr.yc"; yd: "cr.yd"; ye: "cr.ye"; yf: "cr.yf"; yg: "cr.yg"; yh: "cr.yh"; yi: "cr.yi"; yj: "cr.yj"; yk: "cr.yk"; yl: "cr.yl"; ym: "cr.ym"; yn: "cr.yn"; yo: "cr.yo"; yp: "cr.yp"; yq: "cr.yq"; yr: "cr.yr"; ys: "cr.ys"; yt: "cr.yt"; yu: "cr.yu"; yv: "cr.yv"; yw: "cr.yw"; yx: "cr.yx"; yy: "cr.yy"; yz: "cr.yz"; za: "cr.za"; zb: "cr.zb"; zc: "cr.zc"; zd: "cr.zd"; ze: "cr.ze"; zf: "cr.zf"; zg: "cr.zg"; zh: "cr.zh"; zi: "cr.zi"; zj: "cr.zj"; zk: "cr.zk"; zl: "cr.zl"; zm: "cr.zm"; zn: "cr.zn"; zo: "cr.zo"; zp: "cr.zp"; zq: "cr.zq"; zr: "cr.zr"; zs: "cr.zs"; zt: "cr.zt"; zu: "cr.zu"; zv: "cr.zv"; zw: "cr.zw"; zx: "cr.zx"; zy: "cr.zy"; zz: "cr.zz"; }; cs: { aa: "cs.aa"; ab: "cs.ab"; ac: "cs.ac"; ad: "cs.ad"; ae: "cs.ae"; af: "cs.af"; ag: "cs.ag"; ah: "cs.ah"; ai: "cs.ai"; aj: "cs.aj"; ak: "cs.ak"; al: "cs.al"; am: "cs.am"; an: "cs.an"; ao: "cs.ao"; ap: "cs.ap"; aq: "cs.aq"; ar: "cs.ar"; as: "cs.as"; at: "cs.at"; au: "cs.au"; av: "cs.av"; aw: "cs.aw"; ax: "cs.ax"; ay: "cs.ay"; az: "cs.az"; ba: "cs.ba"; bb: "cs.bb"; bc: "cs.bc"; bd: "cs.bd"; be: "cs.be"; bf: "cs.bf"; bg: "cs.bg"; bh: "cs.bh"; bi: "cs.bi"; bj: "cs.bj"; bk: "cs.bk"; bl: "cs.bl"; bm: "cs.bm"; bn: "cs.bn"; bo: "cs.bo"; bp: "cs.bp"; bq: "cs.bq"; br: "cs.br"; bs: "cs.bs"; bt: "cs.bt"; bu: "cs.bu"; bv: "cs.bv"; bw: "cs.bw"; bx: "cs.bx"; by: "cs.by"; bz: "cs.bz"; ca: "cs.ca"; cb: "cs.cb"; cc: "cs.cc"; cd: "cs.cd"; ce: "cs.ce"; cf: "cs.cf"; cg: "cs.cg"; ch: "cs.ch"; ci: "cs.ci"; cj: "cs.cj"; ck: "cs.ck"; cl: "cs.cl"; cm: "cs.cm"; cn: "cs.cn"; co: "cs.co"; cp: "cs.cp"; cq: "cs.cq"; cr: "cs.cr"; cs: "cs.cs"; ct: "cs.ct"; cu: "cs.cu"; cv: "cs.cv"; cw: "cs.cw"; cx: "cs.cx"; cy: "cs.cy"; cz: "cs.cz"; da: "cs.da"; db: "cs.db"; dc: "cs.dc"; dd: "cs.dd"; de: "cs.de"; df: "cs.df"; dg: "cs.dg"; dh: "cs.dh"; di: "cs.di"; dj: "cs.dj"; dk: "cs.dk"; dl: "cs.dl"; dm: "cs.dm"; dn: "cs.dn"; do: "cs.do"; dp: "cs.dp"; dq: "cs.dq"; dr: "cs.dr"; ds: "cs.ds"; dt: "cs.dt"; du: "cs.du"; dv: "cs.dv"; dw: "cs.dw"; dx: "cs.dx"; dy: "cs.dy"; dz: "cs.dz"; ea: "cs.ea"; eb: "cs.eb"; ec: "cs.ec"; ed: "cs.ed"; ee: "cs.ee"; ef: "cs.ef"; eg: "cs.eg"; eh: "cs.eh"; ei: "cs.ei"; ej: "cs.ej"; ek: "cs.ek"; el: "cs.el"; em: "cs.em"; en: "cs.en"; eo: "cs.eo"; ep: "cs.ep"; eq: "cs.eq"; er: "cs.er"; es: "cs.es"; et: "cs.et"; eu: "cs.eu"; ev: "cs.ev"; ew: "cs.ew"; ex: "cs.ex"; ey: "cs.ey"; ez: "cs.ez"; fa: "cs.fa"; fb: "cs.fb"; fc: "cs.fc"; fd: "cs.fd"; fe: "cs.fe"; ff: "cs.ff"; fg: "cs.fg"; fh: "cs.fh"; fi: "cs.fi"; fj: "cs.fj"; fk: "cs.fk"; fl: "cs.fl"; fm: "cs.fm"; fn: "cs.fn"; fo: "cs.fo"; fp: "cs.fp"; fq: "cs.fq"; fr: "cs.fr"; fs: "cs.fs"; ft: "cs.ft"; fu: "cs.fu"; fv: "cs.fv"; fw: "cs.fw"; fx: "cs.fx"; fy: "cs.fy"; fz: "cs.fz"; ga: "cs.ga"; gb: "cs.gb"; gc: "cs.gc"; gd: "cs.gd"; ge: "cs.ge"; gf: "cs.gf"; gg: "cs.gg"; gh: "cs.gh"; gi: "cs.gi"; gj: "cs.gj"; gk: "cs.gk"; gl: "cs.gl"; gm: "cs.gm"; gn: "cs.gn"; go: "cs.go"; gp: "cs.gp"; gq: "cs.gq"; gr: "cs.gr"; gs: "cs.gs"; gt: "cs.gt"; gu: "cs.gu"; gv: "cs.gv"; gw: "cs.gw"; gx: "cs.gx"; gy: "cs.gy"; gz: "cs.gz"; ha: "cs.ha"; hb: "cs.hb"; hc: "cs.hc"; hd: "cs.hd"; he: "cs.he"; hf: "cs.hf"; hg: "cs.hg"; hh: "cs.hh"; hi: "cs.hi"; hj: "cs.hj"; hk: "cs.hk"; hl: "cs.hl"; hm: "cs.hm"; hn: "cs.hn"; ho: "cs.ho"; hp: "cs.hp"; hq: "cs.hq"; hr: "cs.hr"; hs: "cs.hs"; ht: "cs.ht"; hu: "cs.hu"; hv: "cs.hv"; hw: "cs.hw"; hx: "cs.hx"; hy: "cs.hy"; hz: "cs.hz"; ia: "cs.ia"; ib: "cs.ib"; ic: "cs.ic"; id: "cs.id"; ie: "cs.ie"; if: "cs.if"; ig: "cs.ig"; ih: "cs.ih"; ii: "cs.ii"; ij: "cs.ij"; ik: "cs.ik"; il: "cs.il"; im: "cs.im"; in: "cs.in"; io: "cs.io"; ip: "cs.ip"; iq: "cs.iq"; ir: "cs.ir"; is: "cs.is"; it: "cs.it"; iu: "cs.iu"; iv: "cs.iv"; iw: "cs.iw"; ix: "cs.ix"; iy: "cs.iy"; iz: "cs.iz"; ja: "cs.ja"; jb: "cs.jb"; jc: "cs.jc"; jd: "cs.jd"; je: "cs.je"; jf: "cs.jf"; jg: "cs.jg"; jh: "cs.jh"; ji: "cs.ji"; jj: "cs.jj"; jk: "cs.jk"; jl: "cs.jl"; jm: "cs.jm"; jn: "cs.jn"; jo: "cs.jo"; jp: "cs.jp"; jq: "cs.jq"; jr: "cs.jr"; js: "cs.js"; jt: "cs.jt"; ju: "cs.ju"; jv: "cs.jv"; jw: "cs.jw"; jx: "cs.jx"; jy: "cs.jy"; jz: "cs.jz"; ka: "cs.ka"; kb: "cs.kb"; kc: "cs.kc"; kd: "cs.kd"; ke: "cs.ke"; kf: "cs.kf"; kg: "cs.kg"; kh: "cs.kh"; ki: "cs.ki"; kj: "cs.kj"; kk: "cs.kk"; kl: "cs.kl"; km: "cs.km"; kn: "cs.kn"; ko: "cs.ko"; kp: "cs.kp"; kq: "cs.kq"; kr: "cs.kr"; ks: "cs.ks"; kt: "cs.kt"; ku: "cs.ku"; kv: "cs.kv"; kw: "cs.kw"; kx: "cs.kx"; ky: "cs.ky"; kz: "cs.kz"; la: "cs.la"; lb: "cs.lb"; lc: "cs.lc"; ld: "cs.ld"; le: "cs.le"; lf: "cs.lf"; lg: "cs.lg"; lh: "cs.lh"; li: "cs.li"; lj: "cs.lj"; lk: "cs.lk"; ll: "cs.ll"; lm: "cs.lm"; ln: "cs.ln"; lo: "cs.lo"; lp: "cs.lp"; lq: "cs.lq"; lr: "cs.lr"; ls: "cs.ls"; lt: "cs.lt"; lu: "cs.lu"; lv: "cs.lv"; lw: "cs.lw"; lx: "cs.lx"; ly: "cs.ly"; lz: "cs.lz"; ma: "cs.ma"; mb: "cs.mb"; mc: "cs.mc"; md: "cs.md"; me: "cs.me"; mf: "cs.mf"; mg: "cs.mg"; mh: "cs.mh"; mi: "cs.mi"; mj: "cs.mj"; mk: "cs.mk"; ml: "cs.ml"; mm: "cs.mm"; mn: "cs.mn"; mo: "cs.mo"; mp: "cs.mp"; mq: "cs.mq"; mr: "cs.mr"; ms: "cs.ms"; mt: "cs.mt"; mu: "cs.mu"; mv: "cs.mv"; mw: "cs.mw"; mx: "cs.mx"; my: "cs.my"; mz: "cs.mz"; na: "cs.na"; nb: "cs.nb"; nc: "cs.nc"; nd: "cs.nd"; ne: "cs.ne"; nf: "cs.nf"; ng: "cs.ng"; nh: "cs.nh"; ni: "cs.ni"; nj: "cs.nj"; nk: "cs.nk"; nl: "cs.nl"; nm: "cs.nm"; nn: "cs.nn"; no: "cs.no"; np: "cs.np"; nq: "cs.nq"; nr: "cs.nr"; ns: "cs.ns"; nt: "cs.nt"; nu: "cs.nu"; nv: "cs.nv"; nw: "cs.nw"; nx: "cs.nx"; ny: "cs.ny"; nz: "cs.nz"; oa: "cs.oa"; ob: "cs.ob"; oc: "cs.oc"; od: "cs.od"; oe: "cs.oe"; of: "cs.of"; og: "cs.og"; oh: "cs.oh"; oi: "cs.oi"; oj: "cs.oj"; ok: "cs.ok"; ol: "cs.ol"; om: "cs.om"; on: "cs.on"; oo: "cs.oo"; op: "cs.op"; oq: "cs.oq"; or: "cs.or"; os: "cs.os"; ot: "cs.ot"; ou: "cs.ou"; ov: "cs.ov"; ow: "cs.ow"; ox: "cs.ox"; oy: "cs.oy"; oz: "cs.oz"; pa: "cs.pa"; pb: "cs.pb"; pc: "cs.pc"; pd: "cs.pd"; pe: "cs.pe"; pf: "cs.pf"; pg: "cs.pg"; ph: "cs.ph"; pi: "cs.pi"; pj: "cs.pj"; pk: "cs.pk"; pl: "cs.pl"; pm: "cs.pm"; pn: "cs.pn"; po: "cs.po"; pp: "cs.pp"; pq: "cs.pq"; pr: "cs.pr"; ps: "cs.ps"; pt: "cs.pt"; pu: "cs.pu"; pv: "cs.pv"; pw: "cs.pw"; px: "cs.px"; py: "cs.py"; pz: "cs.pz"; qa: "cs.qa"; qb: "cs.qb"; qc: "cs.qc"; qd: "cs.qd"; qe: "cs.qe"; qf: "cs.qf"; qg: "cs.qg"; qh: "cs.qh"; qi: "cs.qi"; qj: "cs.qj"; qk: "cs.qk"; ql: "cs.ql"; qm: "cs.qm"; qn: "cs.qn"; qo: "cs.qo"; qp: "cs.qp"; qq: "cs.qq"; qr: "cs.qr"; qs: "cs.qs"; qt: "cs.qt"; qu: "cs.qu"; qv: "cs.qv"; qw: "cs.qw"; qx: "cs.qx"; qy: "cs.qy"; qz: "cs.qz"; ra: "cs.ra"; rb: "cs.rb"; rc: "cs.rc"; rd: "cs.rd"; re: "cs.re"; rf: "cs.rf"; rg: "cs.rg"; rh: "cs.rh"; ri: "cs.ri"; rj: "cs.rj"; rk: "cs.rk"; rl: "cs.rl"; rm: "cs.rm"; rn: "cs.rn"; ro: "cs.ro"; rp: "cs.rp"; rq: "cs.rq"; rr: "cs.rr"; rs: "cs.rs"; rt: "cs.rt"; ru: "cs.ru"; rv: "cs.rv"; rw: "cs.rw"; rx: "cs.rx"; ry: "cs.ry"; rz: "cs.rz"; sa: "cs.sa"; sb: "cs.sb"; sc: "cs.sc"; sd: "cs.sd"; se: "cs.se"; sf: "cs.sf"; sg: "cs.sg"; sh: "cs.sh"; si: "cs.si"; sj: "cs.sj"; sk: "cs.sk"; sl: "cs.sl"; sm: "cs.sm"; sn: "cs.sn"; so: "cs.so"; sp: "cs.sp"; sq: "cs.sq"; sr: "cs.sr"; ss: "cs.ss"; st: "cs.st"; su: "cs.su"; sv: "cs.sv"; sw: "cs.sw"; sx: "cs.sx"; sy: "cs.sy"; sz: "cs.sz"; ta: "cs.ta"; tb: "cs.tb"; tc: "cs.tc"; td: "cs.td"; te: "cs.te"; tf: "cs.tf"; tg: "cs.tg"; th: "cs.th"; ti: "cs.ti"; tj: "cs.tj"; tk: "cs.tk"; tl: "cs.tl"; tm: "cs.tm"; tn: "cs.tn"; to: "cs.to"; tp: "cs.tp"; tq: "cs.tq"; tr: "cs.tr"; ts: "cs.ts"; tt: "cs.tt"; tu: "cs.tu"; tv: "cs.tv"; tw: "cs.tw"; tx: "cs.tx"; ty: "cs.ty"; tz: "cs.tz"; ua: "cs.ua"; ub: "cs.ub"; uc: "cs.uc"; ud: "cs.ud"; ue: "cs.ue"; uf: "cs.uf"; ug: "cs.ug"; uh: "cs.uh"; ui: "cs.ui"; uj: "cs.uj"; uk: "cs.uk"; ul: "cs.ul"; um: "cs.um"; un: "cs.un"; uo: "cs.uo"; up: "cs.up"; uq: "cs.uq"; ur: "cs.ur"; us: "cs.us"; ut: "cs.ut"; uu: "cs.uu"; uv: "cs.uv"; uw: "cs.uw"; ux: "cs.ux"; uy: "cs.uy"; uz: "cs.uz"; va: "cs.va"; vb: "cs.vb"; vc: "cs.vc"; vd: "cs.vd"; ve: "cs.ve"; vf: "cs.vf"; vg: "cs.vg"; vh: "cs.vh"; vi: "cs.vi"; vj: "cs.vj"; vk: "cs.vk"; vl: "cs.vl"; vm: "cs.vm"; vn: "cs.vn"; vo: "cs.vo"; vp: "cs.vp"; vq: "cs.vq"; vr: "cs.vr"; vs: "cs.vs"; vt: "cs.vt"; vu: "cs.vu"; vv: "cs.vv"; vw: "cs.vw"; vx: "cs.vx"; vy: "cs.vy"; vz: "cs.vz"; wa: "cs.wa"; wb: "cs.wb"; wc: "cs.wc"; wd: "cs.wd"; we: "cs.we"; wf: "cs.wf"; wg: "cs.wg"; wh: "cs.wh"; wi: "cs.wi"; wj: "cs.wj"; wk: "cs.wk"; wl: "cs.wl"; wm: "cs.wm"; wn: "cs.wn"; wo: "cs.wo"; wp: "cs.wp"; wq: "cs.wq"; wr: "cs.wr"; ws: "cs.ws"; wt: "cs.wt"; wu: "cs.wu"; wv: "cs.wv"; ww: "cs.ww"; wx: "cs.wx"; wy: "cs.wy"; wz: "cs.wz"; xa: "cs.xa"; xb: "cs.xb"; xc: "cs.xc"; xd: "cs.xd"; xe: "cs.xe"; xf: "cs.xf"; xg: "cs.xg"; xh: "cs.xh"; xi: "cs.xi"; xj: "cs.xj"; xk: "cs.xk"; xl: "cs.xl"; xm: "cs.xm"; xn: "cs.xn"; xo: "cs.xo"; xp: "cs.xp"; xq: "cs.xq"; xr: "cs.xr"; xs: "cs.xs"; xt: "cs.xt"; xu: "cs.xu"; xv: "cs.xv"; xw: "cs.xw"; xx: "cs.xx"; xy: "cs.xy"; xz: "cs.xz"; ya: "cs.ya"; yb: "cs.yb"; yc: "cs.yc"; yd: "cs.yd"; ye: "cs.ye"; yf: "cs.yf"; yg: "cs.yg"; yh: "cs.yh"; yi: "cs.yi"; yj: "cs.yj"; yk: "cs.yk"; yl: "cs.yl"; ym: "cs.ym"; yn: "cs.yn"; yo: "cs.yo"; yp: "cs.yp"; yq: "cs.yq"; yr: "cs.yr"; ys: "cs.ys"; yt: "cs.yt"; yu: "cs.yu"; yv: "cs.yv"; yw: "cs.yw"; yx: "cs.yx"; yy: "cs.yy"; yz: "cs.yz"; za: "cs.za"; zb: "cs.zb"; zc: "cs.zc"; zd: "cs.zd"; ze: "cs.ze"; zf: "cs.zf"; zg: "cs.zg"; zh: "cs.zh"; zi: "cs.zi"; zj: "cs.zj"; zk: "cs.zk"; zl: "cs.zl"; zm: "cs.zm"; zn: "cs.zn"; zo: "cs.zo"; zp: "cs.zp"; zq: "cs.zq"; zr: "cs.zr"; zs: "cs.zs"; zt: "cs.zt"; zu: "cs.zu"; zv: "cs.zv"; zw: "cs.zw"; zx: "cs.zx"; zy: "cs.zy"; zz: "cs.zz"; }; ct: { aa: "ct.aa"; ab: "ct.ab"; ac: "ct.ac"; ad: "ct.ad"; ae: "ct.ae"; af: "ct.af"; ag: "ct.ag"; ah: "ct.ah"; ai: "ct.ai"; aj: "ct.aj"; ak: "ct.ak"; al: "ct.al"; am: "ct.am"; an: "ct.an"; ao: "ct.ao"; ap: "ct.ap"; aq: "ct.aq"; ar: "ct.ar"; as: "ct.as"; at: "ct.at"; au: "ct.au"; av: "ct.av"; aw: "ct.aw"; ax: "ct.ax"; ay: "ct.ay"; az: "ct.az"; ba: "ct.ba"; bb: "ct.bb"; bc: "ct.bc"; bd: "ct.bd"; be: "ct.be"; bf: "ct.bf"; bg: "ct.bg"; bh: "ct.bh"; bi: "ct.bi"; bj: "ct.bj"; bk: "ct.bk"; bl: "ct.bl"; bm: "ct.bm"; bn: "ct.bn"; bo: "ct.bo"; bp: "ct.bp"; bq: "ct.bq"; br: "ct.br"; bs: "ct.bs"; bt: "ct.bt"; bu: "ct.bu"; bv: "ct.bv"; bw: "ct.bw"; bx: "ct.bx"; by: "ct.by"; bz: "ct.bz"; ca: "ct.ca"; cb: "ct.cb"; cc: "ct.cc"; cd: "ct.cd"; ce: "ct.ce"; cf: "ct.cf"; cg: "ct.cg"; ch: "ct.ch"; ci: "ct.ci"; cj: "ct.cj"; ck: "ct.ck"; cl: "ct.cl"; cm: "ct.cm"; cn: "ct.cn"; co: "ct.co"; cp: "ct.cp"; cq: "ct.cq"; cr: "ct.cr"; cs: "ct.cs"; ct: "ct.ct"; cu: "ct.cu"; cv: "ct.cv"; cw: "ct.cw"; cx: "ct.cx"; cy: "ct.cy"; cz: "ct.cz"; da: "ct.da"; db: "ct.db"; dc: "ct.dc"; dd: "ct.dd"; de: "ct.de"; df: "ct.df"; dg: "ct.dg"; dh: "ct.dh"; di: "ct.di"; dj: "ct.dj"; dk: "ct.dk"; dl: "ct.dl"; dm: "ct.dm"; dn: "ct.dn"; do: "ct.do"; dp: "ct.dp"; dq: "ct.dq"; dr: "ct.dr"; ds: "ct.ds"; dt: "ct.dt"; du: "ct.du"; dv: "ct.dv"; dw: "ct.dw"; dx: "ct.dx"; dy: "ct.dy"; dz: "ct.dz"; ea: "ct.ea"; eb: "ct.eb"; ec: "ct.ec"; ed: "ct.ed"; ee: "ct.ee"; ef: "ct.ef"; eg: "ct.eg"; eh: "ct.eh"; ei: "ct.ei"; ej: "ct.ej"; ek: "ct.ek"; el: "ct.el"; em: "ct.em"; en: "ct.en"; eo: "ct.eo"; ep: "ct.ep"; eq: "ct.eq"; er: "ct.er"; es: "ct.es"; et: "ct.et"; eu: "ct.eu"; ev: "ct.ev"; ew: "ct.ew"; ex: "ct.ex"; ey: "ct.ey"; ez: "ct.ez"; fa: "ct.fa"; fb: "ct.fb"; fc: "ct.fc"; fd: "ct.fd"; fe: "ct.fe"; ff: "ct.ff"; fg: "ct.fg"; fh: "ct.fh"; fi: "ct.fi"; fj: "ct.fj"; fk: "ct.fk"; fl: "ct.fl"; fm: "ct.fm"; fn: "ct.fn"; fo: "ct.fo"; fp: "ct.fp"; fq: "ct.fq"; fr: "ct.fr"; fs: "ct.fs"; ft: "ct.ft"; fu: "ct.fu"; fv: "ct.fv"; fw: "ct.fw"; fx: "ct.fx"; fy: "ct.fy"; fz: "ct.fz"; ga: "ct.ga"; gb: "ct.gb"; gc: "ct.gc"; gd: "ct.gd"; ge: "ct.ge"; gf: "ct.gf"; gg: "ct.gg"; gh: "ct.gh"; gi: "ct.gi"; gj: "ct.gj"; gk: "ct.gk"; gl: "ct.gl"; gm: "ct.gm"; gn: "ct.gn"; go: "ct.go"; gp: "ct.gp"; gq: "ct.gq"; gr: "ct.gr"; gs: "ct.gs"; gt: "ct.gt"; gu: "ct.gu"; gv: "ct.gv"; gw: "ct.gw"; gx: "ct.gx"; gy: "ct.gy"; gz: "ct.gz"; ha: "ct.ha"; hb: "ct.hb"; hc: "ct.hc"; hd: "ct.hd"; he: "ct.he"; hf: "ct.hf"; hg: "ct.hg"; hh: "ct.hh"; hi: "ct.hi"; hj: "ct.hj"; hk: "ct.hk"; hl: "ct.hl"; hm: "ct.hm"; hn: "ct.hn"; ho: "ct.ho"; hp: "ct.hp"; hq: "ct.hq"; hr: "ct.hr"; hs: "ct.hs"; ht: "ct.ht"; hu: "ct.hu"; hv: "ct.hv"; hw: "ct.hw"; hx: "ct.hx"; hy: "ct.hy"; hz: "ct.hz"; ia: "ct.ia"; ib: "ct.ib"; ic: "ct.ic"; id: "ct.id"; ie: "ct.ie"; if: "ct.if"; ig: "ct.ig"; ih: "ct.ih"; ii: "ct.ii"; ij: "ct.ij"; ik: "ct.ik"; il: "ct.il"; im: "ct.im"; in: "ct.in"; io: "ct.io"; ip: "ct.ip"; iq: "ct.iq"; ir: "ct.ir"; is: "ct.is"; it: "ct.it"; iu: "ct.iu"; iv: "ct.iv"; iw: "ct.iw"; ix: "ct.ix"; iy: "ct.iy"; iz: "ct.iz"; ja: "ct.ja"; jb: "ct.jb"; jc: "ct.jc"; jd: "ct.jd"; je: "ct.je"; jf: "ct.jf"; jg: "ct.jg"; jh: "ct.jh"; ji: "ct.ji"; jj: "ct.jj"; jk: "ct.jk"; jl: "ct.jl"; jm: "ct.jm"; jn: "ct.jn"; jo: "ct.jo"; jp: "ct.jp"; jq: "ct.jq"; jr: "ct.jr"; js: "ct.js"; jt: "ct.jt"; ju: "ct.ju"; jv: "ct.jv"; jw: "ct.jw"; jx: "ct.jx"; jy: "ct.jy"; jz: "ct.jz"; ka: "ct.ka"; kb: "ct.kb"; kc: "ct.kc"; kd: "ct.kd"; ke: "ct.ke"; kf: "ct.kf"; kg: "ct.kg"; kh: "ct.kh"; ki: "ct.ki"; kj: "ct.kj"; kk: "ct.kk"; kl: "ct.kl"; km: "ct.km"; kn: "ct.kn"; ko: "ct.ko"; kp: "ct.kp"; kq: "ct.kq"; kr: "ct.kr"; ks: "ct.ks"; kt: "ct.kt"; ku: "ct.ku"; kv: "ct.kv"; kw: "ct.kw"; kx: "ct.kx"; ky: "ct.ky"; kz: "ct.kz"; la: "ct.la"; lb: "ct.lb"; lc: "ct.lc"; ld: "ct.ld"; le: "ct.le"; lf: "ct.lf"; lg: "ct.lg"; lh: "ct.lh"; li: "ct.li"; lj: "ct.lj"; lk: "ct.lk"; ll: "ct.ll"; lm: "ct.lm"; ln: "ct.ln"; lo: "ct.lo"; lp: "ct.lp"; lq: "ct.lq"; lr: "ct.lr"; ls: "ct.ls"; lt: "ct.lt"; lu: "ct.lu"; lv: "ct.lv"; lw: "ct.lw"; lx: "ct.lx"; ly: "ct.ly"; lz: "ct.lz"; ma: "ct.ma"; mb: "ct.mb"; mc: "ct.mc"; md: "ct.md"; me: "ct.me"; mf: "ct.mf"; mg: "ct.mg"; mh: "ct.mh"; mi: "ct.mi"; mj: "ct.mj"; mk: "ct.mk"; ml: "ct.ml"; mm: "ct.mm"; mn: "ct.mn"; mo: "ct.mo"; mp: "ct.mp"; mq: "ct.mq"; mr: "ct.mr"; ms: "ct.ms"; mt: "ct.mt"; mu: "ct.mu"; mv: "ct.mv"; mw: "ct.mw"; mx: "ct.mx"; my: "ct.my"; mz: "ct.mz"; na: "ct.na"; nb: "ct.nb"; nc: "ct.nc"; nd: "ct.nd"; ne: "ct.ne"; nf: "ct.nf"; ng: "ct.ng"; nh: "ct.nh"; ni: "ct.ni"; nj: "ct.nj"; nk: "ct.nk"; nl: "ct.nl"; nm: "ct.nm"; nn: "ct.nn"; no: "ct.no"; np: "ct.np"; nq: "ct.nq"; nr: "ct.nr"; ns: "ct.ns"; nt: "ct.nt"; nu: "ct.nu"; nv: "ct.nv"; nw: "ct.nw"; nx: "ct.nx"; ny: "ct.ny"; nz: "ct.nz"; oa: "ct.oa"; ob: "ct.ob"; oc: "ct.oc"; od: "ct.od"; oe: "ct.oe"; of: "ct.of"; og: "ct.og"; oh: "ct.oh"; oi: "ct.oi"; oj: "ct.oj"; ok: "ct.ok"; ol: "ct.ol"; om: "ct.om"; on: "ct.on"; oo: "ct.oo"; op: "ct.op"; oq: "ct.oq"; or: "ct.or"; os: "ct.os"; ot: "ct.ot"; ou: "ct.ou"; ov: "ct.ov"; ow: "ct.ow"; ox: "ct.ox"; oy: "ct.oy"; oz: "ct.oz"; pa: "ct.pa"; pb: "ct.pb"; pc: "ct.pc"; pd: "ct.pd"; pe: "ct.pe"; pf: "ct.pf"; pg: "ct.pg"; ph: "ct.ph"; pi: "ct.pi"; pj: "ct.pj"; pk: "ct.pk"; pl: "ct.pl"; pm: "ct.pm"; pn: "ct.pn"; po: "ct.po"; pp: "ct.pp"; pq: "ct.pq"; pr: "ct.pr"; ps: "ct.ps"; pt: "ct.pt"; pu: "ct.pu"; pv: "ct.pv"; pw: "ct.pw"; px: "ct.px"; py: "ct.py"; pz: "ct.pz"; qa: "ct.qa"; qb: "ct.qb"; qc: "ct.qc"; qd: "ct.qd"; qe: "ct.qe"; qf: "ct.qf"; qg: "ct.qg"; qh: "ct.qh"; qi: "ct.qi"; qj: "ct.qj"; qk: "ct.qk"; ql: "ct.ql"; qm: "ct.qm"; qn: "ct.qn"; qo: "ct.qo"; qp: "ct.qp"; qq: "ct.qq"; qr: "ct.qr"; qs: "ct.qs"; qt: "ct.qt"; qu: "ct.qu"; qv: "ct.qv"; qw: "ct.qw"; qx: "ct.qx"; qy: "ct.qy"; qz: "ct.qz"; ra: "ct.ra"; rb: "ct.rb"; rc: "ct.rc"; rd: "ct.rd"; re: "ct.re"; rf: "ct.rf"; rg: "ct.rg"; rh: "ct.rh"; ri: "ct.ri"; rj: "ct.rj"; rk: "ct.rk"; rl: "ct.rl"; rm: "ct.rm"; rn: "ct.rn"; ro: "ct.ro"; rp: "ct.rp"; rq: "ct.rq"; rr: "ct.rr"; rs: "ct.rs"; rt: "ct.rt"; ru: "ct.ru"; rv: "ct.rv"; rw: "ct.rw"; rx: "ct.rx"; ry: "ct.ry"; rz: "ct.rz"; sa: "ct.sa"; sb: "ct.sb"; sc: "ct.sc"; sd: "ct.sd"; se: "ct.se"; sf: "ct.sf"; sg: "ct.sg"; sh: "ct.sh"; si: "ct.si"; sj: "ct.sj"; sk: "ct.sk"; sl: "ct.sl"; sm: "ct.sm"; sn: "ct.sn"; so: "ct.so"; sp: "ct.sp"; sq: "ct.sq"; sr: "ct.sr"; ss: "ct.ss"; st: "ct.st"; su: "ct.su"; sv: "ct.sv"; sw: "ct.sw"; sx: "ct.sx"; sy: "ct.sy"; sz: "ct.sz"; ta: "ct.ta"; tb: "ct.tb"; tc: "ct.tc"; td: "ct.td"; te: "ct.te"; tf: "ct.tf"; tg: "ct.tg"; th: "ct.th"; ti: "ct.ti"; tj: "ct.tj"; tk: "ct.tk"; tl: "ct.tl"; tm: "ct.tm"; tn: "ct.tn"; to: "ct.to"; tp: "ct.tp"; tq: "ct.tq"; tr: "ct.tr"; ts: "ct.ts"; tt: "ct.tt"; tu: "ct.tu"; tv: "ct.tv"; tw: "ct.tw"; tx: "ct.tx"; ty: "ct.ty"; tz: "ct.tz"; ua: "ct.ua"; ub: "ct.ub"; uc: "ct.uc"; ud: "ct.ud"; ue: "ct.ue"; uf: "ct.uf"; ug: "ct.ug"; uh: "ct.uh"; ui: "ct.ui"; uj: "ct.uj"; uk: "ct.uk"; ul: "ct.ul"; um: "ct.um"; un: "ct.un"; uo: "ct.uo"; up: "ct.up"; uq: "ct.uq"; ur: "ct.ur"; us: "ct.us"; ut: "ct.ut"; uu: "ct.uu"; uv: "ct.uv"; uw: "ct.uw"; ux: "ct.ux"; uy: "ct.uy"; uz: "ct.uz"; va: "ct.va"; vb: "ct.vb"; vc: "ct.vc"; vd: "ct.vd"; ve: "ct.ve"; vf: "ct.vf"; vg: "ct.vg"; vh: "ct.vh"; vi: "ct.vi"; vj: "ct.vj"; vk: "ct.vk"; vl: "ct.vl"; vm: "ct.vm"; vn: "ct.vn"; vo: "ct.vo"; vp: "ct.vp"; vq: "ct.vq"; vr: "ct.vr"; vs: "ct.vs"; vt: "ct.vt"; vu: "ct.vu"; vv: "ct.vv"; vw: "ct.vw"; vx: "ct.vx"; vy: "ct.vy"; vz: "ct.vz"; wa: "ct.wa"; wb: "ct.wb"; wc: "ct.wc"; wd: "ct.wd"; we: "ct.we"; wf: "ct.wf"; wg: "ct.wg"; wh: "ct.wh"; wi: "ct.wi"; wj: "ct.wj"; wk: "ct.wk"; wl: "ct.wl"; wm: "ct.wm"; wn: "ct.wn"; wo: "ct.wo"; wp: "ct.wp"; wq: "ct.wq"; wr: "ct.wr"; ws: "ct.ws"; wt: "ct.wt"; wu: "ct.wu"; wv: "ct.wv"; ww: "ct.ww"; wx: "ct.wx"; wy: "ct.wy"; wz: "ct.wz"; xa: "ct.xa"; xb: "ct.xb"; xc: "ct.xc"; xd: "ct.xd"; xe: "ct.xe"; xf: "ct.xf"; xg: "ct.xg"; xh: "ct.xh"; xi: "ct.xi"; xj: "ct.xj"; xk: "ct.xk"; xl: "ct.xl"; xm: "ct.xm"; xn: "ct.xn"; xo: "ct.xo"; xp: "ct.xp"; xq: "ct.xq"; xr: "ct.xr"; xs: "ct.xs"; xt: "ct.xt"; xu: "ct.xu"; xv: "ct.xv"; xw: "ct.xw"; xx: "ct.xx"; xy: "ct.xy"; xz: "ct.xz"; ya: "ct.ya"; yb: "ct.yb"; yc: "ct.yc"; yd: "ct.yd"; ye: "ct.ye"; yf: "ct.yf"; yg: "ct.yg"; yh: "ct.yh"; yi: "ct.yi"; yj: "ct.yj"; yk: "ct.yk"; yl: "ct.yl"; ym: "ct.ym"; yn: "ct.yn"; yo: "ct.yo"; yp: "ct.yp"; yq: "ct.yq"; yr: "ct.yr"; ys: "ct.ys"; yt: "ct.yt"; yu: "ct.yu"; yv: "ct.yv"; yw: "ct.yw"; yx: "ct.yx"; yy: "ct.yy"; yz: "ct.yz"; za: "ct.za"; zb: "ct.zb"; zc: "ct.zc"; zd: "ct.zd"; ze: "ct.ze"; zf: "ct.zf"; zg: "ct.zg"; zh: "ct.zh"; zi: "ct.zi"; zj: "ct.zj"; zk: "ct.zk"; zl: "ct.zl"; zm: "ct.zm"; zn: "ct.zn"; zo: "ct.zo"; zp: "ct.zp"; zq: "ct.zq"; zr: "ct.zr"; zs: "ct.zs"; zt: "ct.zt"; zu: "ct.zu"; zv: "ct.zv"; zw: "ct.zw"; zx: "ct.zx"; zy: "ct.zy"; zz: "ct.zz"; }; cu: { aa: "cu.aa"; ab: "cu.ab"; ac: "cu.ac"; ad: "cu.ad"; ae: "cu.ae"; af: "cu.af"; ag: "cu.ag"; ah: "cu.ah"; ai: "cu.ai"; aj: "cu.aj"; ak: "cu.ak"; al: "cu.al"; am: "cu.am"; an: "cu.an"; ao: "cu.ao"; ap: "cu.ap"; aq: "cu.aq"; ar: "cu.ar"; as: "cu.as"; at: "cu.at"; au: "cu.au"; av: "cu.av"; aw: "cu.aw"; ax: "cu.ax"; ay: "cu.ay"; az: "cu.az"; ba: "cu.ba"; bb: "cu.bb"; bc: "cu.bc"; bd: "cu.bd"; be: "cu.be"; bf: "cu.bf"; bg: "cu.bg"; bh: "cu.bh"; bi: "cu.bi"; bj: "cu.bj"; bk: "cu.bk"; bl: "cu.bl"; bm: "cu.bm"; bn: "cu.bn"; bo: "cu.bo"; bp: "cu.bp"; bq: "cu.bq"; br: "cu.br"; bs: "cu.bs"; bt: "cu.bt"; bu: "cu.bu"; bv: "cu.bv"; bw: "cu.bw"; bx: "cu.bx"; by: "cu.by"; bz: "cu.bz"; ca: "cu.ca"; cb: "cu.cb"; cc: "cu.cc"; cd: "cu.cd"; ce: "cu.ce"; cf: "cu.cf"; cg: "cu.cg"; ch: "cu.ch"; ci: "cu.ci"; cj: "cu.cj"; ck: "cu.ck"; cl: "cu.cl"; cm: "cu.cm"; cn: "cu.cn"; co: "cu.co"; cp: "cu.cp"; cq: "cu.cq"; cr: "cu.cr"; cs: "cu.cs"; ct: "cu.ct"; cu: "cu.cu"; cv: "cu.cv"; cw: "cu.cw"; cx: "cu.cx"; cy: "cu.cy"; cz: "cu.cz"; da: "cu.da"; db: "cu.db"; dc: "cu.dc"; dd: "cu.dd"; de: "cu.de"; df: "cu.df"; dg: "cu.dg"; dh: "cu.dh"; di: "cu.di"; dj: "cu.dj"; dk: "cu.dk"; dl: "cu.dl"; dm: "cu.dm"; dn: "cu.dn"; do: "cu.do"; dp: "cu.dp"; dq: "cu.dq"; dr: "cu.dr"; ds: "cu.ds"; dt: "cu.dt"; du: "cu.du"; dv: "cu.dv"; dw: "cu.dw"; dx: "cu.dx"; dy: "cu.dy"; dz: "cu.dz"; ea: "cu.ea"; eb: "cu.eb"; ec: "cu.ec"; ed: "cu.ed"; ee: "cu.ee"; ef: "cu.ef"; eg: "cu.eg"; eh: "cu.eh"; ei: "cu.ei"; ej: "cu.ej"; ek: "cu.ek"; el: "cu.el"; em: "cu.em"; en: "cu.en"; eo: "cu.eo"; ep: "cu.ep"; eq: "cu.eq"; er: "cu.er"; es: "cu.es"; et: "cu.et"; eu: "cu.eu"; ev: "cu.ev"; ew: "cu.ew"; ex: "cu.ex"; ey: "cu.ey"; ez: "cu.ez"; fa: "cu.fa"; fb: "cu.fb"; fc: "cu.fc"; fd: "cu.fd"; fe: "cu.fe"; ff: "cu.ff"; fg: "cu.fg"; fh: "cu.fh"; fi: "cu.fi"; fj: "cu.fj"; fk: "cu.fk"; fl: "cu.fl"; fm: "cu.fm"; fn: "cu.fn"; fo: "cu.fo"; fp: "cu.fp"; fq: "cu.fq"; fr: "cu.fr"; fs: "cu.fs"; ft: "cu.ft"; fu: "cu.fu"; fv: "cu.fv"; fw: "cu.fw"; fx: "cu.fx"; fy: "cu.fy"; fz: "cu.fz"; ga: "cu.ga"; gb: "cu.gb"; gc: "cu.gc"; gd: "cu.gd"; ge: "cu.ge"; gf: "cu.gf"; gg: "cu.gg"; gh: "cu.gh"; gi: "cu.gi"; gj: "cu.gj"; gk: "cu.gk"; gl: "cu.gl"; gm: "cu.gm"; gn: "cu.gn"; go: "cu.go"; gp: "cu.gp"; gq: "cu.gq"; gr: "cu.gr"; gs: "cu.gs"; gt: "cu.gt"; gu: "cu.gu"; gv: "cu.gv"; gw: "cu.gw"; gx: "cu.gx"; gy: "cu.gy"; gz: "cu.gz"; ha: "cu.ha"; hb: "cu.hb"; hc: "cu.hc"; hd: "cu.hd"; he: "cu.he"; hf: "cu.hf"; hg: "cu.hg"; hh: "cu.hh"; hi: "cu.hi"; hj: "cu.hj"; hk: "cu.hk"; hl: "cu.hl"; hm: "cu.hm"; hn: "cu.hn"; ho: "cu.ho"; hp: "cu.hp"; hq: "cu.hq"; hr: "cu.hr"; hs: "cu.hs"; ht: "cu.ht"; hu: "cu.hu"; hv: "cu.hv"; hw: "cu.hw"; hx: "cu.hx"; hy: "cu.hy"; hz: "cu.hz"; ia: "cu.ia"; ib: "cu.ib"; ic: "cu.ic"; id: "cu.id"; ie: "cu.ie"; if: "cu.if"; ig: "cu.ig"; ih: "cu.ih"; ii: "cu.ii"; ij: "cu.ij"; ik: "cu.ik"; il: "cu.il"; im: "cu.im"; in: "cu.in"; io: "cu.io"; ip: "cu.ip"; iq: "cu.iq"; ir: "cu.ir"; is: "cu.is"; it: "cu.it"; iu: "cu.iu"; iv: "cu.iv"; iw: "cu.iw"; ix: "cu.ix"; iy: "cu.iy"; iz: "cu.iz"; ja: "cu.ja"; jb: "cu.jb"; jc: "cu.jc"; jd: "cu.jd"; je: "cu.je"; jf: "cu.jf"; jg: "cu.jg"; jh: "cu.jh"; ji: "cu.ji"; jj: "cu.jj"; jk: "cu.jk"; jl: "cu.jl"; jm: "cu.jm"; jn: "cu.jn"; jo: "cu.jo"; jp: "cu.jp"; jq: "cu.jq"; jr: "cu.jr"; js: "cu.js"; jt: "cu.jt"; ju: "cu.ju"; jv: "cu.jv"; jw: "cu.jw"; jx: "cu.jx"; jy: "cu.jy"; jz: "cu.jz"; ka: "cu.ka"; kb: "cu.kb"; kc: "cu.kc"; kd: "cu.kd"; ke: "cu.ke"; kf: "cu.kf"; kg: "cu.kg"; kh: "cu.kh"; ki: "cu.ki"; kj: "cu.kj"; kk: "cu.kk"; kl: "cu.kl"; km: "cu.km"; kn: "cu.kn"; ko: "cu.ko"; kp: "cu.kp"; kq: "cu.kq"; kr: "cu.kr"; ks: "cu.ks"; kt: "cu.kt"; ku: "cu.ku"; kv: "cu.kv"; kw: "cu.kw"; kx: "cu.kx"; ky: "cu.ky"; kz: "cu.kz"; la: "cu.la"; lb: "cu.lb"; lc: "cu.lc"; ld: "cu.ld"; le: "cu.le"; lf: "cu.lf"; lg: "cu.lg"; lh: "cu.lh"; li: "cu.li"; lj: "cu.lj"; lk: "cu.lk"; ll: "cu.ll"; lm: "cu.lm"; ln: "cu.ln"; lo: "cu.lo"; lp: "cu.lp"; lq: "cu.lq"; lr: "cu.lr"; ls: "cu.ls"; lt: "cu.lt"; lu: "cu.lu"; lv: "cu.lv"; lw: "cu.lw"; lx: "cu.lx"; ly: "cu.ly"; lz: "cu.lz"; ma: "cu.ma"; mb: "cu.mb"; mc: "cu.mc"; md: "cu.md"; me: "cu.me"; mf: "cu.mf"; mg: "cu.mg"; mh: "cu.mh"; mi: "cu.mi"; mj: "cu.mj"; mk: "cu.mk"; ml: "cu.ml"; mm: "cu.mm"; mn: "cu.mn"; mo: "cu.mo"; mp: "cu.mp"; mq: "cu.mq"; mr: "cu.mr"; ms: "cu.ms"; mt: "cu.mt"; mu: "cu.mu"; mv: "cu.mv"; mw: "cu.mw"; mx: "cu.mx"; my: "cu.my"; mz: "cu.mz"; na: "cu.na"; nb: "cu.nb"; nc: "cu.nc"; nd: "cu.nd"; ne: "cu.ne"; nf: "cu.nf"; ng: "cu.ng"; nh: "cu.nh"; ni: "cu.ni"; nj: "cu.nj"; nk: "cu.nk"; nl: "cu.nl"; nm: "cu.nm"; nn: "cu.nn"; no: "cu.no"; np: "cu.np"; nq: "cu.nq"; nr: "cu.nr"; ns: "cu.ns"; nt: "cu.nt"; nu: "cu.nu"; nv: "cu.nv"; nw: "cu.nw"; nx: "cu.nx"; ny: "cu.ny"; nz: "cu.nz"; oa: "cu.oa"; ob: "cu.ob"; oc: "cu.oc"; od: "cu.od"; oe: "cu.oe"; of: "cu.of"; og: "cu.og"; oh: "cu.oh"; oi: "cu.oi"; oj: "cu.oj"; ok: "cu.ok"; ol: "cu.ol"; om: "cu.om"; on: "cu.on"; oo: "cu.oo"; op: "cu.op"; oq: "cu.oq"; or: "cu.or"; os: "cu.os"; ot: "cu.ot"; ou: "cu.ou"; ov: "cu.ov"; ow: "cu.ow"; ox: "cu.ox"; oy: "cu.oy"; oz: "cu.oz"; pa: "cu.pa"; pb: "cu.pb"; pc: "cu.pc"; pd: "cu.pd"; pe: "cu.pe"; pf: "cu.pf"; pg: "cu.pg"; ph: "cu.ph"; pi: "cu.pi"; pj: "cu.pj"; pk: "cu.pk"; pl: "cu.pl"; pm: "cu.pm"; pn: "cu.pn"; po: "cu.po"; pp: "cu.pp"; pq: "cu.pq"; pr: "cu.pr"; ps: "cu.ps"; pt: "cu.pt"; pu: "cu.pu"; pv: "cu.pv"; pw: "cu.pw"; px: "cu.px"; py: "cu.py"; pz: "cu.pz"; qa: "cu.qa"; qb: "cu.qb"; qc: "cu.qc"; qd: "cu.qd"; qe: "cu.qe"; qf: "cu.qf"; qg: "cu.qg"; qh: "cu.qh"; qi: "cu.qi"; qj: "cu.qj"; qk: "cu.qk"; ql: "cu.ql"; qm: "cu.qm"; qn: "cu.qn"; qo: "cu.qo"; qp: "cu.qp"; qq: "cu.qq"; qr: "cu.qr"; qs: "cu.qs"; qt: "cu.qt"; qu: "cu.qu"; qv: "cu.qv"; qw: "cu.qw"; qx: "cu.qx"; qy: "cu.qy"; qz: "cu.qz"; ra: "cu.ra"; rb: "cu.rb"; rc: "cu.rc"; rd: "cu.rd"; re: "cu.re"; rf: "cu.rf"; rg: "cu.rg"; rh: "cu.rh"; ri: "cu.ri"; rj: "cu.rj"; rk: "cu.rk"; rl: "cu.rl"; rm: "cu.rm"; rn: "cu.rn"; ro: "cu.ro"; rp: "cu.rp"; rq: "cu.rq"; rr: "cu.rr"; rs: "cu.rs"; rt: "cu.rt"; ru: "cu.ru"; rv: "cu.rv"; rw: "cu.rw"; rx: "cu.rx"; ry: "cu.ry"; rz: "cu.rz"; sa: "cu.sa"; sb: "cu.sb"; sc: "cu.sc"; sd: "cu.sd"; se: "cu.se"; sf: "cu.sf"; sg: "cu.sg"; sh: "cu.sh"; si: "cu.si"; sj: "cu.sj"; sk: "cu.sk"; sl: "cu.sl"; sm: "cu.sm"; sn: "cu.sn"; so: "cu.so"; sp: "cu.sp"; sq: "cu.sq"; sr: "cu.sr"; ss: "cu.ss"; st: "cu.st"; su: "cu.su"; sv: "cu.sv"; sw: "cu.sw"; sx: "cu.sx"; sy: "cu.sy"; sz: "cu.sz"; ta: "cu.ta"; tb: "cu.tb"; tc: "cu.tc"; td: "cu.td"; te: "cu.te"; tf: "cu.tf"; tg: "cu.tg"; th: "cu.th"; ti: "cu.ti"; tj: "cu.tj"; tk: "cu.tk"; tl: "cu.tl"; tm: "cu.tm"; tn: "cu.tn"; to: "cu.to"; tp: "cu.tp"; tq: "cu.tq"; tr: "cu.tr"; ts: "cu.ts"; tt: "cu.tt"; tu: "cu.tu"; tv: "cu.tv"; tw: "cu.tw"; tx: "cu.tx"; ty: "cu.ty"; tz: "cu.tz"; ua: "cu.ua"; ub: "cu.ub"; uc: "cu.uc"; ud: "cu.ud"; ue: "cu.ue"; uf: "cu.uf"; ug: "cu.ug"; uh: "cu.uh"; ui: "cu.ui"; uj: "cu.uj"; uk: "cu.uk"; ul: "cu.ul"; um: "cu.um"; un: "cu.un"; uo: "cu.uo"; up: "cu.up"; uq: "cu.uq"; ur: "cu.ur"; us: "cu.us"; ut: "cu.ut"; uu: "cu.uu"; uv: "cu.uv"; uw: "cu.uw"; ux: "cu.ux"; uy: "cu.uy"; uz: "cu.uz"; va: "cu.va"; vb: "cu.vb"; vc: "cu.vc"; vd: "cu.vd"; ve: "cu.ve"; vf: "cu.vf"; vg: "cu.vg"; vh: "cu.vh"; vi: "cu.vi"; vj: "cu.vj"; vk: "cu.vk"; vl: "cu.vl"; vm: "cu.vm"; vn: "cu.vn"; vo: "cu.vo"; vp: "cu.vp"; vq: "cu.vq"; vr: "cu.vr"; vs: "cu.vs"; vt: "cu.vt"; vu: "cu.vu"; vv: "cu.vv"; vw: "cu.vw"; vx: "cu.vx"; vy: "cu.vy"; vz: "cu.vz"; wa: "cu.wa"; wb: "cu.wb"; wc: "cu.wc"; wd: "cu.wd"; we: "cu.we"; wf: "cu.wf"; wg: "cu.wg"; wh: "cu.wh"; wi: "cu.wi"; wj: "cu.wj"; wk: "cu.wk"; wl: "cu.wl"; wm: "cu.wm"; wn: "cu.wn"; wo: "cu.wo"; wp: "cu.wp"; wq: "cu.wq"; wr: "cu.wr"; ws: "cu.ws"; wt: "cu.wt"; wu: "cu.wu"; wv: "cu.wv"; ww: "cu.ww"; wx: "cu.wx"; wy: "cu.wy"; wz: "cu.wz"; xa: "cu.xa"; xb: "cu.xb"; xc: "cu.xc"; xd: "cu.xd"; xe: "cu.xe"; xf: "cu.xf"; xg: "cu.xg"; xh: "cu.xh"; xi: "cu.xi"; xj: "cu.xj"; xk: "cu.xk"; xl: "cu.xl"; xm: "cu.xm"; xn: "cu.xn"; xo: "cu.xo"; xp: "cu.xp"; xq: "cu.xq"; xr: "cu.xr"; xs: "cu.xs"; xt: "cu.xt"; xu: "cu.xu"; xv: "cu.xv"; xw: "cu.xw"; xx: "cu.xx"; xy: "cu.xy"; xz: "cu.xz"; ya: "cu.ya"; yb: "cu.yb"; yc: "cu.yc"; yd: "cu.yd"; ye: "cu.ye"; yf: "cu.yf"; yg: "cu.yg"; yh: "cu.yh"; yi: "cu.yi"; yj: "cu.yj"; yk: "cu.yk"; yl: "cu.yl"; ym: "cu.ym"; yn: "cu.yn"; yo: "cu.yo"; yp: "cu.yp"; yq: "cu.yq"; yr: "cu.yr"; ys: "cu.ys"; yt: "cu.yt"; yu: "cu.yu"; yv: "cu.yv"; yw: "cu.yw"; yx: "cu.yx"; yy: "cu.yy"; yz: "cu.yz"; za: "cu.za"; zb: "cu.zb"; zc: "cu.zc"; zd: "cu.zd"; ze: "cu.ze"; zf: "cu.zf"; zg: "cu.zg"; zh: "cu.zh"; zi: "cu.zi"; zj: "cu.zj"; zk: "cu.zk"; zl: "cu.zl"; zm: "cu.zm"; zn: "cu.zn"; zo: "cu.zo"; zp: "cu.zp"; zq: "cu.zq"; zr: "cu.zr"; zs: "cu.zs"; zt: "cu.zt"; zu: "cu.zu"; zv: "cu.zv"; zw: "cu.zw"; zx: "cu.zx"; zy: "cu.zy"; zz: "cu.zz"; }; cv: { aa: "cv.aa"; ab: "cv.ab"; ac: "cv.ac"; ad: "cv.ad"; ae: "cv.ae"; af: "cv.af"; ag: "cv.ag"; ah: "cv.ah"; ai: "cv.ai"; aj: "cv.aj"; ak: "cv.ak"; al: "cv.al"; am: "cv.am"; an: "cv.an"; ao: "cv.ao"; ap: "cv.ap"; aq: "cv.aq"; ar: "cv.ar"; as: "cv.as"; at: "cv.at"; au: "cv.au"; av: "cv.av"; aw: "cv.aw"; ax: "cv.ax"; ay: "cv.ay"; az: "cv.az"; ba: "cv.ba"; bb: "cv.bb"; bc: "cv.bc"; bd: "cv.bd"; be: "cv.be"; bf: "cv.bf"; bg: "cv.bg"; bh: "cv.bh"; bi: "cv.bi"; bj: "cv.bj"; bk: "cv.bk"; bl: "cv.bl"; bm: "cv.bm"; bn: "cv.bn"; bo: "cv.bo"; bp: "cv.bp"; bq: "cv.bq"; br: "cv.br"; bs: "cv.bs"; bt: "cv.bt"; bu: "cv.bu"; bv: "cv.bv"; bw: "cv.bw"; bx: "cv.bx"; by: "cv.by"; bz: "cv.bz"; ca: "cv.ca"; cb: "cv.cb"; cc: "cv.cc"; cd: "cv.cd"; ce: "cv.ce"; cf: "cv.cf"; cg: "cv.cg"; ch: "cv.ch"; ci: "cv.ci"; cj: "cv.cj"; ck: "cv.ck"; cl: "cv.cl"; cm: "cv.cm"; cn: "cv.cn"; co: "cv.co"; cp: "cv.cp"; cq: "cv.cq"; cr: "cv.cr"; cs: "cv.cs"; ct: "cv.ct"; cu: "cv.cu"; cv: "cv.cv"; cw: "cv.cw"; cx: "cv.cx"; cy: "cv.cy"; cz: "cv.cz"; da: "cv.da"; db: "cv.db"; dc: "cv.dc"; dd: "cv.dd"; de: "cv.de"; df: "cv.df"; dg: "cv.dg"; dh: "cv.dh"; di: "cv.di"; dj: "cv.dj"; dk: "cv.dk"; dl: "cv.dl"; dm: "cv.dm"; dn: "cv.dn"; do: "cv.do"; dp: "cv.dp"; dq: "cv.dq"; dr: "cv.dr"; ds: "cv.ds"; dt: "cv.dt"; du: "cv.du"; dv: "cv.dv"; dw: "cv.dw"; dx: "cv.dx"; dy: "cv.dy"; dz: "cv.dz"; ea: "cv.ea"; eb: "cv.eb"; ec: "cv.ec"; ed: "cv.ed"; ee: "cv.ee"; ef: "cv.ef"; eg: "cv.eg"; eh: "cv.eh"; ei: "cv.ei"; ej: "cv.ej"; ek: "cv.ek"; el: "cv.el"; em: "cv.em"; en: "cv.en"; eo: "cv.eo"; ep: "cv.ep"; eq: "cv.eq"; er: "cv.er"; es: "cv.es"; et: "cv.et"; eu: "cv.eu"; ev: "cv.ev"; ew: "cv.ew"; ex: "cv.ex"; ey: "cv.ey"; ez: "cv.ez"; fa: "cv.fa"; fb: "cv.fb"; fc: "cv.fc"; fd: "cv.fd"; fe: "cv.fe"; ff: "cv.ff"; fg: "cv.fg"; fh: "cv.fh"; fi: "cv.fi"; fj: "cv.fj"; fk: "cv.fk"; fl: "cv.fl"; fm: "cv.fm"; fn: "cv.fn"; fo: "cv.fo"; fp: "cv.fp"; fq: "cv.fq"; fr: "cv.fr"; fs: "cv.fs"; ft: "cv.ft"; fu: "cv.fu"; fv: "cv.fv"; fw: "cv.fw"; fx: "cv.fx"; fy: "cv.fy"; fz: "cv.fz"; ga: "cv.ga"; gb: "cv.gb"; gc: "cv.gc"; gd: "cv.gd"; ge: "cv.ge"; gf: "cv.gf"; gg: "cv.gg"; gh: "cv.gh"; gi: "cv.gi"; gj: "cv.gj"; gk: "cv.gk"; gl: "cv.gl"; gm: "cv.gm"; gn: "cv.gn"; go: "cv.go"; gp: "cv.gp"; gq: "cv.gq"; gr: "cv.gr"; gs: "cv.gs"; gt: "cv.gt"; gu: "cv.gu"; gv: "cv.gv"; gw: "cv.gw"; gx: "cv.gx"; gy: "cv.gy"; gz: "cv.gz"; ha: "cv.ha"; hb: "cv.hb"; hc: "cv.hc"; hd: "cv.hd"; he: "cv.he"; hf: "cv.hf"; hg: "cv.hg"; hh: "cv.hh"; hi: "cv.hi"; hj: "cv.hj"; hk: "cv.hk"; hl: "cv.hl"; hm: "cv.hm"; hn: "cv.hn"; ho: "cv.ho"; hp: "cv.hp"; hq: "cv.hq"; hr: "cv.hr"; hs: "cv.hs"; ht: "cv.ht"; hu: "cv.hu"; hv: "cv.hv"; hw: "cv.hw"; hx: "cv.hx"; hy: "cv.hy"; hz: "cv.hz"; ia: "cv.ia"; ib: "cv.ib"; ic: "cv.ic"; id: "cv.id"; ie: "cv.ie"; if: "cv.if"; ig: "cv.ig"; ih: "cv.ih"; ii: "cv.ii"; ij: "cv.ij"; ik: "cv.ik"; il: "cv.il"; im: "cv.im"; in: "cv.in"; io: "cv.io"; ip: "cv.ip"; iq: "cv.iq"; ir: "cv.ir"; is: "cv.is"; it: "cv.it"; iu: "cv.iu"; iv: "cv.iv"; iw: "cv.iw"; ix: "cv.ix"; iy: "cv.iy"; iz: "cv.iz"; ja: "cv.ja"; jb: "cv.jb"; jc: "cv.jc"; jd: "cv.jd"; je: "cv.je"; jf: "cv.jf"; jg: "cv.jg"; jh: "cv.jh"; ji: "cv.ji"; jj: "cv.jj"; jk: "cv.jk"; jl: "cv.jl"; jm: "cv.jm"; jn: "cv.jn"; jo: "cv.jo"; jp: "cv.jp"; jq: "cv.jq"; jr: "cv.jr"; js: "cv.js"; jt: "cv.jt"; ju: "cv.ju"; jv: "cv.jv"; jw: "cv.jw"; jx: "cv.jx"; jy: "cv.jy"; jz: "cv.jz"; ka: "cv.ka"; kb: "cv.kb"; kc: "cv.kc"; kd: "cv.kd"; ke: "cv.ke"; kf: "cv.kf"; kg: "cv.kg"; kh: "cv.kh"; ki: "cv.ki"; kj: "cv.kj"; kk: "cv.kk"; kl: "cv.kl"; km: "cv.km"; kn: "cv.kn"; ko: "cv.ko"; kp: "cv.kp"; kq: "cv.kq"; kr: "cv.kr"; ks: "cv.ks"; kt: "cv.kt"; ku: "cv.ku"; kv: "cv.kv"; kw: "cv.kw"; kx: "cv.kx"; ky: "cv.ky"; kz: "cv.kz"; la: "cv.la"; lb: "cv.lb"; lc: "cv.lc"; ld: "cv.ld"; le: "cv.le"; lf: "cv.lf"; lg: "cv.lg"; lh: "cv.lh"; li: "cv.li"; lj: "cv.lj"; lk: "cv.lk"; ll: "cv.ll"; lm: "cv.lm"; ln: "cv.ln"; lo: "cv.lo"; lp: "cv.lp"; lq: "cv.lq"; lr: "cv.lr"; ls: "cv.ls"; lt: "cv.lt"; lu: "cv.lu"; lv: "cv.lv"; lw: "cv.lw"; lx: "cv.lx"; ly: "cv.ly"; lz: "cv.lz"; ma: "cv.ma"; mb: "cv.mb"; mc: "cv.mc"; md: "cv.md"; me: "cv.me"; mf: "cv.mf"; mg: "cv.mg"; mh: "cv.mh"; mi: "cv.mi"; mj: "cv.mj"; mk: "cv.mk"; ml: "cv.ml"; mm: "cv.mm"; mn: "cv.mn"; mo: "cv.mo"; mp: "cv.mp"; mq: "cv.mq"; mr: "cv.mr"; ms: "cv.ms"; mt: "cv.mt"; mu: "cv.mu"; mv: "cv.mv"; mw: "cv.mw"; mx: "cv.mx"; my: "cv.my"; mz: "cv.mz"; na: "cv.na"; nb: "cv.nb"; nc: "cv.nc"; nd: "cv.nd"; ne: "cv.ne"; nf: "cv.nf"; ng: "cv.ng"; nh: "cv.nh"; ni: "cv.ni"; nj: "cv.nj"; nk: "cv.nk"; nl: "cv.nl"; nm: "cv.nm"; nn: "cv.nn"; no: "cv.no"; np: "cv.np"; nq: "cv.nq"; nr: "cv.nr"; ns: "cv.ns"; nt: "cv.nt"; nu: "cv.nu"; nv: "cv.nv"; nw: "cv.nw"; nx: "cv.nx"; ny: "cv.ny"; nz: "cv.nz"; oa: "cv.oa"; ob: "cv.ob"; oc: "cv.oc"; od: "cv.od"; oe: "cv.oe"; of: "cv.of"; og: "cv.og"; oh: "cv.oh"; oi: "cv.oi"; oj: "cv.oj"; ok: "cv.ok"; ol: "cv.ol"; om: "cv.om"; on: "cv.on"; oo: "cv.oo"; op: "cv.op"; oq: "cv.oq"; or: "cv.or"; os: "cv.os"; ot: "cv.ot"; ou: "cv.ou"; ov: "cv.ov"; ow: "cv.ow"; ox: "cv.ox"; oy: "cv.oy"; oz: "cv.oz"; pa: "cv.pa"; pb: "cv.pb"; pc: "cv.pc"; pd: "cv.pd"; pe: "cv.pe"; pf: "cv.pf"; pg: "cv.pg"; ph: "cv.ph"; pi: "cv.pi"; pj: "cv.pj"; pk: "cv.pk"; pl: "cv.pl"; pm: "cv.pm"; pn: "cv.pn"; po: "cv.po"; pp: "cv.pp"; pq: "cv.pq"; pr: "cv.pr"; ps: "cv.ps"; pt: "cv.pt"; pu: "cv.pu"; pv: "cv.pv"; pw: "cv.pw"; px: "cv.px"; py: "cv.py"; pz: "cv.pz"; qa: "cv.qa"; qb: "cv.qb"; qc: "cv.qc"; qd: "cv.qd"; qe: "cv.qe"; qf: "cv.qf"; qg: "cv.qg"; qh: "cv.qh"; qi: "cv.qi"; qj: "cv.qj"; qk: "cv.qk"; ql: "cv.ql"; qm: "cv.qm"; qn: "cv.qn"; qo: "cv.qo"; qp: "cv.qp"; qq: "cv.qq"; qr: "cv.qr"; qs: "cv.qs"; qt: "cv.qt"; qu: "cv.qu"; qv: "cv.qv"; qw: "cv.qw"; qx: "cv.qx"; qy: "cv.qy"; qz: "cv.qz"; ra: "cv.ra"; rb: "cv.rb"; rc: "cv.rc"; rd: "cv.rd"; re: "cv.re"; rf: "cv.rf"; rg: "cv.rg"; rh: "cv.rh"; ri: "cv.ri"; rj: "cv.rj"; rk: "cv.rk"; rl: "cv.rl"; rm: "cv.rm"; rn: "cv.rn"; ro: "cv.ro"; rp: "cv.rp"; rq: "cv.rq"; rr: "cv.rr"; rs: "cv.rs"; rt: "cv.rt"; ru: "cv.ru"; rv: "cv.rv"; rw: "cv.rw"; rx: "cv.rx"; ry: "cv.ry"; rz: "cv.rz"; sa: "cv.sa"; sb: "cv.sb"; sc: "cv.sc"; sd: "cv.sd"; se: "cv.se"; sf: "cv.sf"; sg: "cv.sg"; sh: "cv.sh"; si: "cv.si"; sj: "cv.sj"; sk: "cv.sk"; sl: "cv.sl"; sm: "cv.sm"; sn: "cv.sn"; so: "cv.so"; sp: "cv.sp"; sq: "cv.sq"; sr: "cv.sr"; ss: "cv.ss"; st: "cv.st"; su: "cv.su"; sv: "cv.sv"; sw: "cv.sw"; sx: "cv.sx"; sy: "cv.sy"; sz: "cv.sz"; ta: "cv.ta"; tb: "cv.tb"; tc: "cv.tc"; td: "cv.td"; te: "cv.te"; tf: "cv.tf"; tg: "cv.tg"; th: "cv.th"; ti: "cv.ti"; tj: "cv.tj"; tk: "cv.tk"; tl: "cv.tl"; tm: "cv.tm"; tn: "cv.tn"; to: "cv.to"; tp: "cv.tp"; tq: "cv.tq"; tr: "cv.tr"; ts: "cv.ts"; tt: "cv.tt"; tu: "cv.tu"; tv: "cv.tv"; tw: "cv.tw"; tx: "cv.tx"; ty: "cv.ty"; tz: "cv.tz"; ua: "cv.ua"; ub: "cv.ub"; uc: "cv.uc"; ud: "cv.ud"; ue: "cv.ue"; uf: "cv.uf"; ug: "cv.ug"; uh: "cv.uh"; ui: "cv.ui"; uj: "cv.uj"; uk: "cv.uk"; ul: "cv.ul"; um: "cv.um"; un: "cv.un"; uo: "cv.uo"; up: "cv.up"; uq: "cv.uq"; ur: "cv.ur"; us: "cv.us"; ut: "cv.ut"; uu: "cv.uu"; uv: "cv.uv"; uw: "cv.uw"; ux: "cv.ux"; uy: "cv.uy"; uz: "cv.uz"; va: "cv.va"; vb: "cv.vb"; vc: "cv.vc"; vd: "cv.vd"; ve: "cv.ve"; vf: "cv.vf"; vg: "cv.vg"; vh: "cv.vh"; vi: "cv.vi"; vj: "cv.vj"; vk: "cv.vk"; vl: "cv.vl"; vm: "cv.vm"; vn: "cv.vn"; vo: "cv.vo"; vp: "cv.vp"; vq: "cv.vq"; vr: "cv.vr"; vs: "cv.vs"; vt: "cv.vt"; vu: "cv.vu"; vv: "cv.vv"; vw: "cv.vw"; vx: "cv.vx"; vy: "cv.vy"; vz: "cv.vz"; wa: "cv.wa"; wb: "cv.wb"; wc: "cv.wc"; wd: "cv.wd"; we: "cv.we"; wf: "cv.wf"; wg: "cv.wg"; wh: "cv.wh"; wi: "cv.wi"; wj: "cv.wj"; wk: "cv.wk"; wl: "cv.wl"; wm: "cv.wm"; wn: "cv.wn"; wo: "cv.wo"; wp: "cv.wp"; wq: "cv.wq"; wr: "cv.wr"; ws: "cv.ws"; wt: "cv.wt"; wu: "cv.wu"; wv: "cv.wv"; ww: "cv.ww"; wx: "cv.wx"; wy: "cv.wy"; wz: "cv.wz"; xa: "cv.xa"; xb: "cv.xb"; xc: "cv.xc"; xd: "cv.xd"; xe: "cv.xe"; xf: "cv.xf"; xg: "cv.xg"; xh: "cv.xh"; xi: "cv.xi"; xj: "cv.xj"; xk: "cv.xk"; xl: "cv.xl"; xm: "cv.xm"; xn: "cv.xn"; xo: "cv.xo"; xp: "cv.xp"; xq: "cv.xq"; xr: "cv.xr"; xs: "cv.xs"; xt: "cv.xt"; xu: "cv.xu"; xv: "cv.xv"; xw: "cv.xw"; xx: "cv.xx"; xy: "cv.xy"; xz: "cv.xz"; ya: "cv.ya"; yb: "cv.yb"; yc: "cv.yc"; yd: "cv.yd"; ye: "cv.ye"; yf: "cv.yf"; yg: "cv.yg"; yh: "cv.yh"; yi: "cv.yi"; yj: "cv.yj"; yk: "cv.yk"; yl: "cv.yl"; ym: "cv.ym"; yn: "cv.yn"; yo: "cv.yo"; yp: "cv.yp"; yq: "cv.yq"; yr: "cv.yr"; ys: "cv.ys"; yt: "cv.yt"; yu: "cv.yu"; yv: "cv.yv"; yw: "cv.yw"; yx: "cv.yx"; yy: "cv.yy"; yz: "cv.yz"; za: "cv.za"; zb: "cv.zb"; zc: "cv.zc"; zd: "cv.zd"; ze: "cv.ze"; zf: "cv.zf"; zg: "cv.zg"; zh: "cv.zh"; zi: "cv.zi"; zj: "cv.zj"; zk: "cv.zk"; zl: "cv.zl"; zm: "cv.zm"; zn: "cv.zn"; zo: "cv.zo"; zp: "cv.zp"; zq: "cv.zq"; zr: "cv.zr"; zs: "cv.zs"; zt: "cv.zt"; zu: "cv.zu"; zv: "cv.zv"; zw: "cv.zw"; zx: "cv.zx"; zy: "cv.zy"; zz: "cv.zz"; }; cw: { aa: "cw.aa"; ab: "cw.ab"; ac: "cw.ac"; ad: "cw.ad"; ae: "cw.ae"; af: "cw.af"; ag: "cw.ag"; ah: "cw.ah"; ai: "cw.ai"; aj: "cw.aj"; ak: "cw.ak"; al: "cw.al"; am: "cw.am"; an: "cw.an"; ao: "cw.ao"; ap: "cw.ap"; aq: "cw.aq"; ar: "cw.ar"; as: "cw.as"; at: "cw.at"; au: "cw.au"; av: "cw.av"; aw: "cw.aw"; ax: "cw.ax"; ay: "cw.ay"; az: "cw.az"; ba: "cw.ba"; bb: "cw.bb"; bc: "cw.bc"; bd: "cw.bd"; be: "cw.be"; bf: "cw.bf"; bg: "cw.bg"; bh: "cw.bh"; bi: "cw.bi"; bj: "cw.bj"; bk: "cw.bk"; bl: "cw.bl"; bm: "cw.bm"; bn: "cw.bn"; bo: "cw.bo"; bp: "cw.bp"; bq: "cw.bq"; br: "cw.br"; bs: "cw.bs"; bt: "cw.bt"; bu: "cw.bu"; bv: "cw.bv"; bw: "cw.bw"; bx: "cw.bx"; by: "cw.by"; bz: "cw.bz"; ca: "cw.ca"; cb: "cw.cb"; cc: "cw.cc"; cd: "cw.cd"; ce: "cw.ce"; cf: "cw.cf"; cg: "cw.cg"; ch: "cw.ch"; ci: "cw.ci"; cj: "cw.cj"; ck: "cw.ck"; cl: "cw.cl"; cm: "cw.cm"; cn: "cw.cn"; co: "cw.co"; cp: "cw.cp"; cq: "cw.cq"; cr: "cw.cr"; cs: "cw.cs"; ct: "cw.ct"; cu: "cw.cu"; cv: "cw.cv"; cw: "cw.cw"; cx: "cw.cx"; cy: "cw.cy"; cz: "cw.cz"; da: "cw.da"; db: "cw.db"; dc: "cw.dc"; dd: "cw.dd"; de: "cw.de"; df: "cw.df"; dg: "cw.dg"; dh: "cw.dh"; di: "cw.di"; dj: "cw.dj"; dk: "cw.dk"; dl: "cw.dl"; dm: "cw.dm"; dn: "cw.dn"; do: "cw.do"; dp: "cw.dp"; dq: "cw.dq"; dr: "cw.dr"; ds: "cw.ds"; dt: "cw.dt"; du: "cw.du"; dv: "cw.dv"; dw: "cw.dw"; dx: "cw.dx"; dy: "cw.dy"; dz: "cw.dz"; ea: "cw.ea"; eb: "cw.eb"; ec: "cw.ec"; ed: "cw.ed"; ee: "cw.ee"; ef: "cw.ef"; eg: "cw.eg"; eh: "cw.eh"; ei: "cw.ei"; ej: "cw.ej"; ek: "cw.ek"; el: "cw.el"; em: "cw.em"; en: "cw.en"; eo: "cw.eo"; ep: "cw.ep"; eq: "cw.eq"; er: "cw.er"; es: "cw.es"; et: "cw.et"; eu: "cw.eu"; ev: "cw.ev"; ew: "cw.ew"; ex: "cw.ex"; ey: "cw.ey"; ez: "cw.ez"; fa: "cw.fa"; fb: "cw.fb"; fc: "cw.fc"; fd: "cw.fd"; fe: "cw.fe"; ff: "cw.ff"; fg: "cw.fg"; fh: "cw.fh"; fi: "cw.fi"; fj: "cw.fj"; fk: "cw.fk"; fl: "cw.fl"; fm: "cw.fm"; fn: "cw.fn"; fo: "cw.fo"; fp: "cw.fp"; fq: "cw.fq"; fr: "cw.fr"; fs: "cw.fs"; ft: "cw.ft"; fu: "cw.fu"; fv: "cw.fv"; fw: "cw.fw"; fx: "cw.fx"; fy: "cw.fy"; fz: "cw.fz"; ga: "cw.ga"; gb: "cw.gb"; gc: "cw.gc"; gd: "cw.gd"; ge: "cw.ge"; gf: "cw.gf"; gg: "cw.gg"; gh: "cw.gh"; gi: "cw.gi"; gj: "cw.gj"; gk: "cw.gk"; gl: "cw.gl"; gm: "cw.gm"; gn: "cw.gn"; go: "cw.go"; gp: "cw.gp"; gq: "cw.gq"; gr: "cw.gr"; gs: "cw.gs"; gt: "cw.gt"; gu: "cw.gu"; gv: "cw.gv"; gw: "cw.gw"; gx: "cw.gx"; gy: "cw.gy"; gz: "cw.gz"; ha: "cw.ha"; hb: "cw.hb"; hc: "cw.hc"; hd: "cw.hd"; he: "cw.he"; hf: "cw.hf"; hg: "cw.hg"; hh: "cw.hh"; hi: "cw.hi"; hj: "cw.hj"; hk: "cw.hk"; hl: "cw.hl"; hm: "cw.hm"; hn: "cw.hn"; ho: "cw.ho"; hp: "cw.hp"; hq: "cw.hq"; hr: "cw.hr"; hs: "cw.hs"; ht: "cw.ht"; hu: "cw.hu"; hv: "cw.hv"; hw: "cw.hw"; hx: "cw.hx"; hy: "cw.hy"; hz: "cw.hz"; ia: "cw.ia"; ib: "cw.ib"; ic: "cw.ic"; id: "cw.id"; ie: "cw.ie"; if: "cw.if"; ig: "cw.ig"; ih: "cw.ih"; ii: "cw.ii"; ij: "cw.ij"; ik: "cw.ik"; il: "cw.il"; im: "cw.im"; in: "cw.in"; io: "cw.io"; ip: "cw.ip"; iq: "cw.iq"; ir: "cw.ir"; is: "cw.is"; it: "cw.it"; iu: "cw.iu"; iv: "cw.iv"; iw: "cw.iw"; ix: "cw.ix"; iy: "cw.iy"; iz: "cw.iz"; ja: "cw.ja"; jb: "cw.jb"; jc: "cw.jc"; jd: "cw.jd"; je: "cw.je"; jf: "cw.jf"; jg: "cw.jg"; jh: "cw.jh"; ji: "cw.ji"; jj: "cw.jj"; jk: "cw.jk"; jl: "cw.jl"; jm: "cw.jm"; jn: "cw.jn"; jo: "cw.jo"; jp: "cw.jp"; jq: "cw.jq"; jr: "cw.jr"; js: "cw.js"; jt: "cw.jt"; ju: "cw.ju"; jv: "cw.jv"; jw: "cw.jw"; jx: "cw.jx"; jy: "cw.jy"; jz: "cw.jz"; ka: "cw.ka"; kb: "cw.kb"; kc: "cw.kc"; kd: "cw.kd"; ke: "cw.ke"; kf: "cw.kf"; kg: "cw.kg"; kh: "cw.kh"; ki: "cw.ki"; kj: "cw.kj"; kk: "cw.kk"; kl: "cw.kl"; km: "cw.km"; kn: "cw.kn"; ko: "cw.ko"; kp: "cw.kp"; kq: "cw.kq"; kr: "cw.kr"; ks: "cw.ks"; kt: "cw.kt"; ku: "cw.ku"; kv: "cw.kv"; kw: "cw.kw"; kx: "cw.kx"; ky: "cw.ky"; kz: "cw.kz"; la: "cw.la"; lb: "cw.lb"; lc: "cw.lc"; ld: "cw.ld"; le: "cw.le"; lf: "cw.lf"; lg: "cw.lg"; lh: "cw.lh"; li: "cw.li"; lj: "cw.lj"; lk: "cw.lk"; ll: "cw.ll"; lm: "cw.lm"; ln: "cw.ln"; lo: "cw.lo"; lp: "cw.lp"; lq: "cw.lq"; lr: "cw.lr"; ls: "cw.ls"; lt: "cw.lt"; lu: "cw.lu"; lv: "cw.lv"; lw: "cw.lw"; lx: "cw.lx"; ly: "cw.ly"; lz: "cw.lz"; ma: "cw.ma"; mb: "cw.mb"; mc: "cw.mc"; md: "cw.md"; me: "cw.me"; mf: "cw.mf"; mg: "cw.mg"; mh: "cw.mh"; mi: "cw.mi"; mj: "cw.mj"; mk: "cw.mk"; ml: "cw.ml"; mm: "cw.mm"; mn: "cw.mn"; mo: "cw.mo"; mp: "cw.mp"; mq: "cw.mq"; mr: "cw.mr"; ms: "cw.ms"; mt: "cw.mt"; mu: "cw.mu"; mv: "cw.mv"; mw: "cw.mw"; mx: "cw.mx"; my: "cw.my"; mz: "cw.mz"; na: "cw.na"; nb: "cw.nb"; nc: "cw.nc"; nd: "cw.nd"; ne: "cw.ne"; nf: "cw.nf"; ng: "cw.ng"; nh: "cw.nh"; ni: "cw.ni"; nj: "cw.nj"; nk: "cw.nk"; nl: "cw.nl"; nm: "cw.nm"; nn: "cw.nn"; no: "cw.no"; np: "cw.np"; nq: "cw.nq"; nr: "cw.nr"; ns: "cw.ns"; nt: "cw.nt"; nu: "cw.nu"; nv: "cw.nv"; nw: "cw.nw"; nx: "cw.nx"; ny: "cw.ny"; nz: "cw.nz"; oa: "cw.oa"; ob: "cw.ob"; oc: "cw.oc"; od: "cw.od"; oe: "cw.oe"; of: "cw.of"; og: "cw.og"; oh: "cw.oh"; oi: "cw.oi"; oj: "cw.oj"; ok: "cw.ok"; ol: "cw.ol"; om: "cw.om"; on: "cw.on"; oo: "cw.oo"; op: "cw.op"; oq: "cw.oq"; or: "cw.or"; os: "cw.os"; ot: "cw.ot"; ou: "cw.ou"; ov: "cw.ov"; ow: "cw.ow"; ox: "cw.ox"; oy: "cw.oy"; oz: "cw.oz"; pa: "cw.pa"; pb: "cw.pb"; pc: "cw.pc"; pd: "cw.pd"; pe: "cw.pe"; pf: "cw.pf"; pg: "cw.pg"; ph: "cw.ph"; pi: "cw.pi"; pj: "cw.pj"; pk: "cw.pk"; pl: "cw.pl"; pm: "cw.pm"; pn: "cw.pn"; po: "cw.po"; pp: "cw.pp"; pq: "cw.pq"; pr: "cw.pr"; ps: "cw.ps"; pt: "cw.pt"; pu: "cw.pu"; pv: "cw.pv"; pw: "cw.pw"; px: "cw.px"; py: "cw.py"; pz: "cw.pz"; qa: "cw.qa"; qb: "cw.qb"; qc: "cw.qc"; qd: "cw.qd"; qe: "cw.qe"; qf: "cw.qf"; qg: "cw.qg"; qh: "cw.qh"; qi: "cw.qi"; qj: "cw.qj"; qk: "cw.qk"; ql: "cw.ql"; qm: "cw.qm"; qn: "cw.qn"; qo: "cw.qo"; qp: "cw.qp"; qq: "cw.qq"; qr: "cw.qr"; qs: "cw.qs"; qt: "cw.qt"; qu: "cw.qu"; qv: "cw.qv"; qw: "cw.qw"; qx: "cw.qx"; qy: "cw.qy"; qz: "cw.qz"; ra: "cw.ra"; rb: "cw.rb"; rc: "cw.rc"; rd: "cw.rd"; re: "cw.re"; rf: "cw.rf"; rg: "cw.rg"; rh: "cw.rh"; ri: "cw.ri"; rj: "cw.rj"; rk: "cw.rk"; rl: "cw.rl"; rm: "cw.rm"; rn: "cw.rn"; ro: "cw.ro"; rp: "cw.rp"; rq: "cw.rq"; rr: "cw.rr"; rs: "cw.rs"; rt: "cw.rt"; ru: "cw.ru"; rv: "cw.rv"; rw: "cw.rw"; rx: "cw.rx"; ry: "cw.ry"; rz: "cw.rz"; sa: "cw.sa"; sb: "cw.sb"; sc: "cw.sc"; sd: "cw.sd"; se: "cw.se"; sf: "cw.sf"; sg: "cw.sg"; sh: "cw.sh"; si: "cw.si"; sj: "cw.sj"; sk: "cw.sk"; sl: "cw.sl"; sm: "cw.sm"; sn: "cw.sn"; so: "cw.so"; sp: "cw.sp"; sq: "cw.sq"; sr: "cw.sr"; ss: "cw.ss"; st: "cw.st"; su: "cw.su"; sv: "cw.sv"; sw: "cw.sw"; sx: "cw.sx"; sy: "cw.sy"; sz: "cw.sz"; ta: "cw.ta"; tb: "cw.tb"; tc: "cw.tc"; td: "cw.td"; te: "cw.te"; tf: "cw.tf"; tg: "cw.tg"; th: "cw.th"; ti: "cw.ti"; tj: "cw.tj"; tk: "cw.tk"; tl: "cw.tl"; tm: "cw.tm"; tn: "cw.tn"; to: "cw.to"; tp: "cw.tp"; tq: "cw.tq"; tr: "cw.tr"; ts: "cw.ts"; tt: "cw.tt"; tu: "cw.tu"; tv: "cw.tv"; tw: "cw.tw"; tx: "cw.tx"; ty: "cw.ty"; tz: "cw.tz"; ua: "cw.ua"; ub: "cw.ub"; uc: "cw.uc"; ud: "cw.ud"; ue: "cw.ue"; uf: "cw.uf"; ug: "cw.ug"; uh: "cw.uh"; ui: "cw.ui"; uj: "cw.uj"; uk: "cw.uk"; ul: "cw.ul"; um: "cw.um"; un: "cw.un"; uo: "cw.uo"; up: "cw.up"; uq: "cw.uq"; ur: "cw.ur"; us: "cw.us"; ut: "cw.ut"; uu: "cw.uu"; uv: "cw.uv"; uw: "cw.uw"; ux: "cw.ux"; uy: "cw.uy"; uz: "cw.uz"; va: "cw.va"; vb: "cw.vb"; vc: "cw.vc"; vd: "cw.vd"; ve: "cw.ve"; vf: "cw.vf"; vg: "cw.vg"; vh: "cw.vh"; vi: "cw.vi"; vj: "cw.vj"; vk: "cw.vk"; vl: "cw.vl"; vm: "cw.vm"; vn: "cw.vn"; vo: "cw.vo"; vp: "cw.vp"; vq: "cw.vq"; vr: "cw.vr"; vs: "cw.vs"; vt: "cw.vt"; vu: "cw.vu"; vv: "cw.vv"; vw: "cw.vw"; vx: "cw.vx"; vy: "cw.vy"; vz: "cw.vz"; wa: "cw.wa"; wb: "cw.wb"; wc: "cw.wc"; wd: "cw.wd"; we: "cw.we"; wf: "cw.wf"; wg: "cw.wg"; wh: "cw.wh"; wi: "cw.wi"; wj: "cw.wj"; wk: "cw.wk"; wl: "cw.wl"; wm: "cw.wm"; wn: "cw.wn"; wo: "cw.wo"; wp: "cw.wp"; wq: "cw.wq"; wr: "cw.wr"; ws: "cw.ws"; wt: "cw.wt"; wu: "cw.wu"; wv: "cw.wv"; ww: "cw.ww"; wx: "cw.wx"; wy: "cw.wy"; wz: "cw.wz"; xa: "cw.xa"; xb: "cw.xb"; xc: "cw.xc"; xd: "cw.xd"; xe: "cw.xe"; xf: "cw.xf"; xg: "cw.xg"; xh: "cw.xh"; xi: "cw.xi"; xj: "cw.xj"; xk: "cw.xk"; xl: "cw.xl"; xm: "cw.xm"; xn: "cw.xn"; xo: "cw.xo"; xp: "cw.xp"; xq: "cw.xq"; xr: "cw.xr"; xs: "cw.xs"; xt: "cw.xt"; xu: "cw.xu"; xv: "cw.xv"; xw: "cw.xw"; xx: "cw.xx"; xy: "cw.xy"; xz: "cw.xz"; ya: "cw.ya"; yb: "cw.yb"; yc: "cw.yc"; yd: "cw.yd"; ye: "cw.ye"; yf: "cw.yf"; yg: "cw.yg"; yh: "cw.yh"; yi: "cw.yi"; yj: "cw.yj"; yk: "cw.yk"; yl: "cw.yl"; ym: "cw.ym"; yn: "cw.yn"; yo: "cw.yo"; yp: "cw.yp"; yq: "cw.yq"; yr: "cw.yr"; ys: "cw.ys"; yt: "cw.yt"; yu: "cw.yu"; yv: "cw.yv"; yw: "cw.yw"; yx: "cw.yx"; yy: "cw.yy"; yz: "cw.yz"; za: "cw.za"; zb: "cw.zb"; zc: "cw.zc"; zd: "cw.zd"; ze: "cw.ze"; zf: "cw.zf"; zg: "cw.zg"; zh: "cw.zh"; zi: "cw.zi"; zj: "cw.zj"; zk: "cw.zk"; zl: "cw.zl"; zm: "cw.zm"; zn: "cw.zn"; zo: "cw.zo"; zp: "cw.zp"; zq: "cw.zq"; zr: "cw.zr"; zs: "cw.zs"; zt: "cw.zt"; zu: "cw.zu"; zv: "cw.zv"; zw: "cw.zw"; zx: "cw.zx"; zy: "cw.zy"; zz: "cw.zz"; }; cx: { aa: "cx.aa"; ab: "cx.ab"; ac: "cx.ac"; ad: "cx.ad"; ae: "cx.ae"; af: "cx.af"; ag: "cx.ag"; ah: "cx.ah"; ai: "cx.ai"; aj: "cx.aj"; ak: "cx.ak"; al: "cx.al"; am: "cx.am"; an: "cx.an"; ao: "cx.ao"; ap: "cx.ap"; aq: "cx.aq"; ar: "cx.ar"; as: "cx.as"; at: "cx.at"; au: "cx.au"; av: "cx.av"; aw: "cx.aw"; ax: "cx.ax"; ay: "cx.ay"; az: "cx.az"; ba: "cx.ba"; bb: "cx.bb"; bc: "cx.bc"; bd: "cx.bd"; be: "cx.be"; bf: "cx.bf"; bg: "cx.bg"; bh: "cx.bh"; bi: "cx.bi"; bj: "cx.bj"; bk: "cx.bk"; bl: "cx.bl"; bm: "cx.bm"; bn: "cx.bn"; bo: "cx.bo"; bp: "cx.bp"; bq: "cx.bq"; br: "cx.br"; bs: "cx.bs"; bt: "cx.bt"; bu: "cx.bu"; bv: "cx.bv"; bw: "cx.bw"; bx: "cx.bx"; by: "cx.by"; bz: "cx.bz"; ca: "cx.ca"; cb: "cx.cb"; cc: "cx.cc"; cd: "cx.cd"; ce: "cx.ce"; cf: "cx.cf"; cg: "cx.cg"; ch: "cx.ch"; ci: "cx.ci"; cj: "cx.cj"; ck: "cx.ck"; cl: "cx.cl"; cm: "cx.cm"; cn: "cx.cn"; co: "cx.co"; cp: "cx.cp"; cq: "cx.cq"; cr: "cx.cr"; cs: "cx.cs"; ct: "cx.ct"; cu: "cx.cu"; cv: "cx.cv"; cw: "cx.cw"; cx: "cx.cx"; cy: "cx.cy"; cz: "cx.cz"; da: "cx.da"; db: "cx.db"; dc: "cx.dc"; dd: "cx.dd"; de: "cx.de"; df: "cx.df"; dg: "cx.dg"; dh: "cx.dh"; di: "cx.di"; dj: "cx.dj"; dk: "cx.dk"; dl: "cx.dl"; dm: "cx.dm"; dn: "cx.dn"; do: "cx.do"; dp: "cx.dp"; dq: "cx.dq"; dr: "cx.dr"; ds: "cx.ds"; dt: "cx.dt"; du: "cx.du"; dv: "cx.dv"; dw: "cx.dw"; dx: "cx.dx"; dy: "cx.dy"; dz: "cx.dz"; ea: "cx.ea"; eb: "cx.eb"; ec: "cx.ec"; ed: "cx.ed"; ee: "cx.ee"; ef: "cx.ef"; eg: "cx.eg"; eh: "cx.eh"; ei: "cx.ei"; ej: "cx.ej"; ek: "cx.ek"; el: "cx.el"; em: "cx.em"; en: "cx.en"; eo: "cx.eo"; ep: "cx.ep"; eq: "cx.eq"; er: "cx.er"; es: "cx.es"; et: "cx.et"; eu: "cx.eu"; ev: "cx.ev"; ew: "cx.ew"; ex: "cx.ex"; ey: "cx.ey"; ez: "cx.ez"; fa: "cx.fa"; fb: "cx.fb"; fc: "cx.fc"; fd: "cx.fd"; fe: "cx.fe"; ff: "cx.ff"; fg: "cx.fg"; fh: "cx.fh"; fi: "cx.fi"; fj: "cx.fj"; fk: "cx.fk"; fl: "cx.fl"; fm: "cx.fm"; fn: "cx.fn"; fo: "cx.fo"; fp: "cx.fp"; fq: "cx.fq"; fr: "cx.fr"; fs: "cx.fs"; ft: "cx.ft"; fu: "cx.fu"; fv: "cx.fv"; fw: "cx.fw"; fx: "cx.fx"; fy: "cx.fy"; fz: "cx.fz"; ga: "cx.ga"; gb: "cx.gb"; gc: "cx.gc"; gd: "cx.gd"; ge: "cx.ge"; gf: "cx.gf"; gg: "cx.gg"; gh: "cx.gh"; gi: "cx.gi"; gj: "cx.gj"; gk: "cx.gk"; gl: "cx.gl"; gm: "cx.gm"; gn: "cx.gn"; go: "cx.go"; gp: "cx.gp"; gq: "cx.gq"; gr: "cx.gr"; gs: "cx.gs"; gt: "cx.gt"; gu: "cx.gu"; gv: "cx.gv"; gw: "cx.gw"; gx: "cx.gx"; gy: "cx.gy"; gz: "cx.gz"; ha: "cx.ha"; hb: "cx.hb"; hc: "cx.hc"; hd: "cx.hd"; he: "cx.he"; hf: "cx.hf"; hg: "cx.hg"; hh: "cx.hh"; hi: "cx.hi"; hj: "cx.hj"; hk: "cx.hk"; hl: "cx.hl"; hm: "cx.hm"; hn: "cx.hn"; ho: "cx.ho"; hp: "cx.hp"; hq: "cx.hq"; hr: "cx.hr"; hs: "cx.hs"; ht: "cx.ht"; hu: "cx.hu"; hv: "cx.hv"; hw: "cx.hw"; hx: "cx.hx"; hy: "cx.hy"; hz: "cx.hz"; ia: "cx.ia"; ib: "cx.ib"; ic: "cx.ic"; id: "cx.id"; ie: "cx.ie"; if: "cx.if"; ig: "cx.ig"; ih: "cx.ih"; ii: "cx.ii"; ij: "cx.ij"; ik: "cx.ik"; il: "cx.il"; im: "cx.im"; in: "cx.in"; io: "cx.io"; ip: "cx.ip"; iq: "cx.iq"; ir: "cx.ir"; is: "cx.is"; it: "cx.it"; iu: "cx.iu"; iv: "cx.iv"; iw: "cx.iw"; ix: "cx.ix"; iy: "cx.iy"; iz: "cx.iz"; ja: "cx.ja"; jb: "cx.jb"; jc: "cx.jc"; jd: "cx.jd"; je: "cx.je"; jf: "cx.jf"; jg: "cx.jg"; jh: "cx.jh"; ji: "cx.ji"; jj: "cx.jj"; jk: "cx.jk"; jl: "cx.jl"; jm: "cx.jm"; jn: "cx.jn"; jo: "cx.jo"; jp: "cx.jp"; jq: "cx.jq"; jr: "cx.jr"; js: "cx.js"; jt: "cx.jt"; ju: "cx.ju"; jv: "cx.jv"; jw: "cx.jw"; jx: "cx.jx"; jy: "cx.jy"; jz: "cx.jz"; ka: "cx.ka"; kb: "cx.kb"; kc: "cx.kc"; kd: "cx.kd"; ke: "cx.ke"; kf: "cx.kf"; kg: "cx.kg"; kh: "cx.kh"; ki: "cx.ki"; kj: "cx.kj"; kk: "cx.kk"; kl: "cx.kl"; km: "cx.km"; kn: "cx.kn"; ko: "cx.ko"; kp: "cx.kp"; kq: "cx.kq"; kr: "cx.kr"; ks: "cx.ks"; kt: "cx.kt"; ku: "cx.ku"; kv: "cx.kv"; kw: "cx.kw"; kx: "cx.kx"; ky: "cx.ky"; kz: "cx.kz"; la: "cx.la"; lb: "cx.lb"; lc: "cx.lc"; ld: "cx.ld"; le: "cx.le"; lf: "cx.lf"; lg: "cx.lg"; lh: "cx.lh"; li: "cx.li"; lj: "cx.lj"; lk: "cx.lk"; ll: "cx.ll"; lm: "cx.lm"; ln: "cx.ln"; lo: "cx.lo"; lp: "cx.lp"; lq: "cx.lq"; lr: "cx.lr"; ls: "cx.ls"; lt: "cx.lt"; lu: "cx.lu"; lv: "cx.lv"; lw: "cx.lw"; lx: "cx.lx"; ly: "cx.ly"; lz: "cx.lz"; ma: "cx.ma"; mb: "cx.mb"; mc: "cx.mc"; md: "cx.md"; me: "cx.me"; mf: "cx.mf"; mg: "cx.mg"; mh: "cx.mh"; mi: "cx.mi"; mj: "cx.mj"; mk: "cx.mk"; ml: "cx.ml"; mm: "cx.mm"; mn: "cx.mn"; mo: "cx.mo"; mp: "cx.mp"; mq: "cx.mq"; mr: "cx.mr"; ms: "cx.ms"; mt: "cx.mt"; mu: "cx.mu"; mv: "cx.mv"; mw: "cx.mw"; mx: "cx.mx"; my: "cx.my"; mz: "cx.mz"; na: "cx.na"; nb: "cx.nb"; nc: "cx.nc"; nd: "cx.nd"; ne: "cx.ne"; nf: "cx.nf"; ng: "cx.ng"; nh: "cx.nh"; ni: "cx.ni"; nj: "cx.nj"; nk: "cx.nk"; nl: "cx.nl"; nm: "cx.nm"; nn: "cx.nn"; no: "cx.no"; np: "cx.np"; nq: "cx.nq"; nr: "cx.nr"; ns: "cx.ns"; nt: "cx.nt"; nu: "cx.nu"; nv: "cx.nv"; nw: "cx.nw"; nx: "cx.nx"; ny: "cx.ny"; nz: "cx.nz"; oa: "cx.oa"; ob: "cx.ob"; oc: "cx.oc"; od: "cx.od"; oe: "cx.oe"; of: "cx.of"; og: "cx.og"; oh: "cx.oh"; oi: "cx.oi"; oj: "cx.oj"; ok: "cx.ok"; ol: "cx.ol"; om: "cx.om"; on: "cx.on"; oo: "cx.oo"; op: "cx.op"; oq: "cx.oq"; or: "cx.or"; os: "cx.os"; ot: "cx.ot"; ou: "cx.ou"; ov: "cx.ov"; ow: "cx.ow"; ox: "cx.ox"; oy: "cx.oy"; oz: "cx.oz"; pa: "cx.pa"; pb: "cx.pb"; pc: "cx.pc"; pd: "cx.pd"; pe: "cx.pe"; pf: "cx.pf"; pg: "cx.pg"; ph: "cx.ph"; pi: "cx.pi"; pj: "cx.pj"; pk: "cx.pk"; pl: "cx.pl"; pm: "cx.pm"; pn: "cx.pn"; po: "cx.po"; pp: "cx.pp"; pq: "cx.pq"; pr: "cx.pr"; ps: "cx.ps"; pt: "cx.pt"; pu: "cx.pu"; pv: "cx.pv"; pw: "cx.pw"; px: "cx.px"; py: "cx.py"; pz: "cx.pz"; qa: "cx.qa"; qb: "cx.qb"; qc: "cx.qc"; qd: "cx.qd"; qe: "cx.qe"; qf: "cx.qf"; qg: "cx.qg"; qh: "cx.qh"; qi: "cx.qi"; qj: "cx.qj"; qk: "cx.qk"; ql: "cx.ql"; qm: "cx.qm"; qn: "cx.qn"; qo: "cx.qo"; qp: "cx.qp"; qq: "cx.qq"; qr: "cx.qr"; qs: "cx.qs"; qt: "cx.qt"; qu: "cx.qu"; qv: "cx.qv"; qw: "cx.qw"; qx: "cx.qx"; qy: "cx.qy"; qz: "cx.qz"; ra: "cx.ra"; rb: "cx.rb"; rc: "cx.rc"; rd: "cx.rd"; re: "cx.re"; rf: "cx.rf"; rg: "cx.rg"; rh: "cx.rh"; ri: "cx.ri"; rj: "cx.rj"; rk: "cx.rk"; rl: "cx.rl"; rm: "cx.rm"; rn: "cx.rn"; ro: "cx.ro"; rp: "cx.rp"; rq: "cx.rq"; rr: "cx.rr"; rs: "cx.rs"; rt: "cx.rt"; ru: "cx.ru"; rv: "cx.rv"; rw: "cx.rw"; rx: "cx.rx"; ry: "cx.ry"; rz: "cx.rz"; sa: "cx.sa"; sb: "cx.sb"; sc: "cx.sc"; sd: "cx.sd"; se: "cx.se"; sf: "cx.sf"; sg: "cx.sg"; sh: "cx.sh"; si: "cx.si"; sj: "cx.sj"; sk: "cx.sk"; sl: "cx.sl"; sm: "cx.sm"; sn: "cx.sn"; so: "cx.so"; sp: "cx.sp"; sq: "cx.sq"; sr: "cx.sr"; ss: "cx.ss"; st: "cx.st"; su: "cx.su"; sv: "cx.sv"; sw: "cx.sw"; sx: "cx.sx"; sy: "cx.sy"; sz: "cx.sz"; ta: "cx.ta"; tb: "cx.tb"; tc: "cx.tc"; td: "cx.td"; te: "cx.te"; tf: "cx.tf"; tg: "cx.tg"; th: "cx.th"; ti: "cx.ti"; tj: "cx.tj"; tk: "cx.tk"; tl: "cx.tl"; tm: "cx.tm"; tn: "cx.tn"; to: "cx.to"; tp: "cx.tp"; tq: "cx.tq"; tr: "cx.tr"; ts: "cx.ts"; tt: "cx.tt"; tu: "cx.tu"; tv: "cx.tv"; tw: "cx.tw"; tx: "cx.tx"; ty: "cx.ty"; tz: "cx.tz"; ua: "cx.ua"; ub: "cx.ub"; uc: "cx.uc"; ud: "cx.ud"; ue: "cx.ue"; uf: "cx.uf"; ug: "cx.ug"; uh: "cx.uh"; ui: "cx.ui"; uj: "cx.uj"; uk: "cx.uk"; ul: "cx.ul"; um: "cx.um"; un: "cx.un"; uo: "cx.uo"; up: "cx.up"; uq: "cx.uq"; ur: "cx.ur"; us: "cx.us"; ut: "cx.ut"; uu: "cx.uu"; uv: "cx.uv"; uw: "cx.uw"; ux: "cx.ux"; uy: "cx.uy"; uz: "cx.uz"; va: "cx.va"; vb: "cx.vb"; vc: "cx.vc"; vd: "cx.vd"; ve: "cx.ve"; vf: "cx.vf"; vg: "cx.vg"; vh: "cx.vh"; vi: "cx.vi"; vj: "cx.vj"; vk: "cx.vk"; vl: "cx.vl"; vm: "cx.vm"; vn: "cx.vn"; vo: "cx.vo"; vp: "cx.vp"; vq: "cx.vq"; vr: "cx.vr"; vs: "cx.vs"; vt: "cx.vt"; vu: "cx.vu"; vv: "cx.vv"; vw: "cx.vw"; vx: "cx.vx"; vy: "cx.vy"; vz: "cx.vz"; wa: "cx.wa"; wb: "cx.wb"; wc: "cx.wc"; wd: "cx.wd"; we: "cx.we"; wf: "cx.wf"; wg: "cx.wg"; wh: "cx.wh"; wi: "cx.wi"; wj: "cx.wj"; wk: "cx.wk"; wl: "cx.wl"; wm: "cx.wm"; wn: "cx.wn"; wo: "cx.wo"; wp: "cx.wp"; wq: "cx.wq"; wr: "cx.wr"; ws: "cx.ws"; wt: "cx.wt"; wu: "cx.wu"; wv: "cx.wv"; ww: "cx.ww"; wx: "cx.wx"; wy: "cx.wy"; wz: "cx.wz"; xa: "cx.xa"; xb: "cx.xb"; xc: "cx.xc"; xd: "cx.xd"; xe: "cx.xe"; xf: "cx.xf"; xg: "cx.xg"; xh: "cx.xh"; xi: "cx.xi"; xj: "cx.xj"; xk: "cx.xk"; xl: "cx.xl"; xm: "cx.xm"; xn: "cx.xn"; xo: "cx.xo"; xp: "cx.xp"; xq: "cx.xq"; xr: "cx.xr"; xs: "cx.xs"; xt: "cx.xt"; xu: "cx.xu"; xv: "cx.xv"; xw: "cx.xw"; xx: "cx.xx"; xy: "cx.xy"; xz: "cx.xz"; ya: "cx.ya"; yb: "cx.yb"; yc: "cx.yc"; yd: "cx.yd"; ye: "cx.ye"; yf: "cx.yf"; yg: "cx.yg"; yh: "cx.yh"; yi: "cx.yi"; yj: "cx.yj"; yk: "cx.yk"; yl: "cx.yl"; ym: "cx.ym"; yn: "cx.yn"; yo: "cx.yo"; yp: "cx.yp"; yq: "cx.yq"; yr: "cx.yr"; ys: "cx.ys"; yt: "cx.yt"; yu: "cx.yu"; yv: "cx.yv"; yw: "cx.yw"; yx: "cx.yx"; yy: "cx.yy"; yz: "cx.yz"; za: "cx.za"; zb: "cx.zb"; zc: "cx.zc"; zd: "cx.zd"; ze: "cx.ze"; zf: "cx.zf"; zg: "cx.zg"; zh: "cx.zh"; zi: "cx.zi"; zj: "cx.zj"; zk: "cx.zk"; zl: "cx.zl"; zm: "cx.zm"; zn: "cx.zn"; zo: "cx.zo"; zp: "cx.zp"; zq: "cx.zq"; zr: "cx.zr"; zs: "cx.zs"; zt: "cx.zt"; zu: "cx.zu"; zv: "cx.zv"; zw: "cx.zw"; zx: "cx.zx"; zy: "cx.zy"; zz: "cx.zz"; }; cy: { aa: "cy.aa"; ab: "cy.ab"; ac: "cy.ac"; ad: "cy.ad"; ae: "cy.ae"; af: "cy.af"; ag: "cy.ag"; ah: "cy.ah"; ai: "cy.ai"; aj: "cy.aj"; ak: "cy.ak"; al: "cy.al"; am: "cy.am"; an: "cy.an"; ao: "cy.ao"; ap: "cy.ap"; aq: "cy.aq"; ar: "cy.ar"; as: "cy.as"; at: "cy.at"; au: "cy.au"; av: "cy.av"; aw: "cy.aw"; ax: "cy.ax"; ay: "cy.ay"; az: "cy.az"; ba: "cy.ba"; bb: "cy.bb"; bc: "cy.bc"; bd: "cy.bd"; be: "cy.be"; bf: "cy.bf"; bg: "cy.bg"; bh: "cy.bh"; bi: "cy.bi"; bj: "cy.bj"; bk: "cy.bk"; bl: "cy.bl"; bm: "cy.bm"; bn: "cy.bn"; bo: "cy.bo"; bp: "cy.bp"; bq: "cy.bq"; br: "cy.br"; bs: "cy.bs"; bt: "cy.bt"; bu: "cy.bu"; bv: "cy.bv"; bw: "cy.bw"; bx: "cy.bx"; by: "cy.by"; bz: "cy.bz"; ca: "cy.ca"; cb: "cy.cb"; cc: "cy.cc"; cd: "cy.cd"; ce: "cy.ce"; cf: "cy.cf"; cg: "cy.cg"; ch: "cy.ch"; ci: "cy.ci"; cj: "cy.cj"; ck: "cy.ck"; cl: "cy.cl"; cm: "cy.cm"; cn: "cy.cn"; co: "cy.co"; cp: "cy.cp"; cq: "cy.cq"; cr: "cy.cr"; cs: "cy.cs"; ct: "cy.ct"; cu: "cy.cu"; cv: "cy.cv"; cw: "cy.cw"; cx: "cy.cx"; cy: "cy.cy"; cz: "cy.cz"; da: "cy.da"; db: "cy.db"; dc: "cy.dc"; dd: "cy.dd"; de: "cy.de"; df: "cy.df"; dg: "cy.dg"; dh: "cy.dh"; di: "cy.di"; dj: "cy.dj"; dk: "cy.dk"; dl: "cy.dl"; dm: "cy.dm"; dn: "cy.dn"; do: "cy.do"; dp: "cy.dp"; dq: "cy.dq"; dr: "cy.dr"; ds: "cy.ds"; dt: "cy.dt"; du: "cy.du"; dv: "cy.dv"; dw: "cy.dw"; dx: "cy.dx"; dy: "cy.dy"; dz: "cy.dz"; ea: "cy.ea"; eb: "cy.eb"; ec: "cy.ec"; ed: "cy.ed"; ee: "cy.ee"; ef: "cy.ef"; eg: "cy.eg"; eh: "cy.eh"; ei: "cy.ei"; ej: "cy.ej"; ek: "cy.ek"; el: "cy.el"; em: "cy.em"; en: "cy.en"; eo: "cy.eo"; ep: "cy.ep"; eq: "cy.eq"; er: "cy.er"; es: "cy.es"; et: "cy.et"; eu: "cy.eu"; ev: "cy.ev"; ew: "cy.ew"; ex: "cy.ex"; ey: "cy.ey"; ez: "cy.ez"; fa: "cy.fa"; fb: "cy.fb"; fc: "cy.fc"; fd: "cy.fd"; fe: "cy.fe"; ff: "cy.ff"; fg: "cy.fg"; fh: "cy.fh"; fi: "cy.fi"; fj: "cy.fj"; fk: "cy.fk"; fl: "cy.fl"; fm: "cy.fm"; fn: "cy.fn"; fo: "cy.fo"; fp: "cy.fp"; fq: "cy.fq"; fr: "cy.fr"; fs: "cy.fs"; ft: "cy.ft"; fu: "cy.fu"; fv: "cy.fv"; fw: "cy.fw"; fx: "cy.fx"; fy: "cy.fy"; fz: "cy.fz"; ga: "cy.ga"; gb: "cy.gb"; gc: "cy.gc"; gd: "cy.gd"; ge: "cy.ge"; gf: "cy.gf"; gg: "cy.gg"; gh: "cy.gh"; gi: "cy.gi"; gj: "cy.gj"; gk: "cy.gk"; gl: "cy.gl"; gm: "cy.gm"; gn: "cy.gn"; go: "cy.go"; gp: "cy.gp"; gq: "cy.gq"; gr: "cy.gr"; gs: "cy.gs"; gt: "cy.gt"; gu: "cy.gu"; gv: "cy.gv"; gw: "cy.gw"; gx: "cy.gx"; gy: "cy.gy"; gz: "cy.gz"; ha: "cy.ha"; hb: "cy.hb"; hc: "cy.hc"; hd: "cy.hd"; he: "cy.he"; hf: "cy.hf"; hg: "cy.hg"; hh: "cy.hh"; hi: "cy.hi"; hj: "cy.hj"; hk: "cy.hk"; hl: "cy.hl"; hm: "cy.hm"; hn: "cy.hn"; ho: "cy.ho"; hp: "cy.hp"; hq: "cy.hq"; hr: "cy.hr"; hs: "cy.hs"; ht: "cy.ht"; hu: "cy.hu"; hv: "cy.hv"; hw: "cy.hw"; hx: "cy.hx"; hy: "cy.hy"; hz: "cy.hz"; ia: "cy.ia"; ib: "cy.ib"; ic: "cy.ic"; id: "cy.id"; ie: "cy.ie"; if: "cy.if"; ig: "cy.ig"; ih: "cy.ih"; ii: "cy.ii"; ij: "cy.ij"; ik: "cy.ik"; il: "cy.il"; im: "cy.im"; in: "cy.in"; io: "cy.io"; ip: "cy.ip"; iq: "cy.iq"; ir: "cy.ir"; is: "cy.is"; it: "cy.it"; iu: "cy.iu"; iv: "cy.iv"; iw: "cy.iw"; ix: "cy.ix"; iy: "cy.iy"; iz: "cy.iz"; ja: "cy.ja"; jb: "cy.jb"; jc: "cy.jc"; jd: "cy.jd"; je: "cy.je"; jf: "cy.jf"; jg: "cy.jg"; jh: "cy.jh"; ji: "cy.ji"; jj: "cy.jj"; jk: "cy.jk"; jl: "cy.jl"; jm: "cy.jm"; jn: "cy.jn"; jo: "cy.jo"; jp: "cy.jp"; jq: "cy.jq"; jr: "cy.jr"; js: "cy.js"; jt: "cy.jt"; ju: "cy.ju"; jv: "cy.jv"; jw: "cy.jw"; jx: "cy.jx"; jy: "cy.jy"; jz: "cy.jz"; ka: "cy.ka"; kb: "cy.kb"; kc: "cy.kc"; kd: "cy.kd"; ke: "cy.ke"; kf: "cy.kf"; kg: "cy.kg"; kh: "cy.kh"; ki: "cy.ki"; kj: "cy.kj"; kk: "cy.kk"; kl: "cy.kl"; km: "cy.km"; kn: "cy.kn"; ko: "cy.ko"; kp: "cy.kp"; kq: "cy.kq"; kr: "cy.kr"; ks: "cy.ks"; kt: "cy.kt"; ku: "cy.ku"; kv: "cy.kv"; kw: "cy.kw"; kx: "cy.kx"; ky: "cy.ky"; kz: "cy.kz"; la: "cy.la"; lb: "cy.lb"; lc: "cy.lc"; ld: "cy.ld"; le: "cy.le"; lf: "cy.lf"; lg: "cy.lg"; lh: "cy.lh"; li: "cy.li"; lj: "cy.lj"; lk: "cy.lk"; ll: "cy.ll"; lm: "cy.lm"; ln: "cy.ln"; lo: "cy.lo"; lp: "cy.lp"; lq: "cy.lq"; lr: "cy.lr"; ls: "cy.ls"; lt: "cy.lt"; lu: "cy.lu"; lv: "cy.lv"; lw: "cy.lw"; lx: "cy.lx"; ly: "cy.ly"; lz: "cy.lz"; ma: "cy.ma"; mb: "cy.mb"; mc: "cy.mc"; md: "cy.md"; me: "cy.me"; mf: "cy.mf"; mg: "cy.mg"; mh: "cy.mh"; mi: "cy.mi"; mj: "cy.mj"; mk: "cy.mk"; ml: "cy.ml"; mm: "cy.mm"; mn: "cy.mn"; mo: "cy.mo"; mp: "cy.mp"; mq: "cy.mq"; mr: "cy.mr"; ms: "cy.ms"; mt: "cy.mt"; mu: "cy.mu"; mv: "cy.mv"; mw: "cy.mw"; mx: "cy.mx"; my: "cy.my"; mz: "cy.mz"; na: "cy.na"; nb: "cy.nb"; nc: "cy.nc"; nd: "cy.nd"; ne: "cy.ne"; nf: "cy.nf"; ng: "cy.ng"; nh: "cy.nh"; ni: "cy.ni"; nj: "cy.nj"; nk: "cy.nk"; nl: "cy.nl"; nm: "cy.nm"; nn: "cy.nn"; no: "cy.no"; np: "cy.np"; nq: "cy.nq"; nr: "cy.nr"; ns: "cy.ns"; nt: "cy.nt"; nu: "cy.nu"; nv: "cy.nv"; nw: "cy.nw"; nx: "cy.nx"; ny: "cy.ny"; nz: "cy.nz"; oa: "cy.oa"; ob: "cy.ob"; oc: "cy.oc"; od: "cy.od"; oe: "cy.oe"; of: "cy.of"; og: "cy.og"; oh: "cy.oh"; oi: "cy.oi"; oj: "cy.oj"; ok: "cy.ok"; ol: "cy.ol"; om: "cy.om"; on: "cy.on"; oo: "cy.oo"; op: "cy.op"; oq: "cy.oq"; or: "cy.or"; os: "cy.os"; ot: "cy.ot"; ou: "cy.ou"; ov: "cy.ov"; ow: "cy.ow"; ox: "cy.ox"; oy: "cy.oy"; oz: "cy.oz"; pa: "cy.pa"; pb: "cy.pb"; pc: "cy.pc"; pd: "cy.pd"; pe: "cy.pe"; pf: "cy.pf"; pg: "cy.pg"; ph: "cy.ph"; pi: "cy.pi"; pj: "cy.pj"; pk: "cy.pk"; pl: "cy.pl"; pm: "cy.pm"; pn: "cy.pn"; po: "cy.po"; pp: "cy.pp"; pq: "cy.pq"; pr: "cy.pr"; ps: "cy.ps"; pt: "cy.pt"; pu: "cy.pu"; pv: "cy.pv"; pw: "cy.pw"; px: "cy.px"; py: "cy.py"; pz: "cy.pz"; qa: "cy.qa"; qb: "cy.qb"; qc: "cy.qc"; qd: "cy.qd"; qe: "cy.qe"; qf: "cy.qf"; qg: "cy.qg"; qh: "cy.qh"; qi: "cy.qi"; qj: "cy.qj"; qk: "cy.qk"; ql: "cy.ql"; qm: "cy.qm"; qn: "cy.qn"; qo: "cy.qo"; qp: "cy.qp"; qq: "cy.qq"; qr: "cy.qr"; qs: "cy.qs"; qt: "cy.qt"; qu: "cy.qu"; qv: "cy.qv"; qw: "cy.qw"; qx: "cy.qx"; qy: "cy.qy"; qz: "cy.qz"; ra: "cy.ra"; rb: "cy.rb"; rc: "cy.rc"; rd: "cy.rd"; re: "cy.re"; rf: "cy.rf"; rg: "cy.rg"; rh: "cy.rh"; ri: "cy.ri"; rj: "cy.rj"; rk: "cy.rk"; rl: "cy.rl"; rm: "cy.rm"; rn: "cy.rn"; ro: "cy.ro"; rp: "cy.rp"; rq: "cy.rq"; rr: "cy.rr"; rs: "cy.rs"; rt: "cy.rt"; ru: "cy.ru"; rv: "cy.rv"; rw: "cy.rw"; rx: "cy.rx"; ry: "cy.ry"; rz: "cy.rz"; sa: "cy.sa"; sb: "cy.sb"; sc: "cy.sc"; sd: "cy.sd"; se: "cy.se"; sf: "cy.sf"; sg: "cy.sg"; sh: "cy.sh"; si: "cy.si"; sj: "cy.sj"; sk: "cy.sk"; sl: "cy.sl"; sm: "cy.sm"; sn: "cy.sn"; so: "cy.so"; sp: "cy.sp"; sq: "cy.sq"; sr: "cy.sr"; ss: "cy.ss"; st: "cy.st"; su: "cy.su"; sv: "cy.sv"; sw: "cy.sw"; sx: "cy.sx"; sy: "cy.sy"; sz: "cy.sz"; ta: "cy.ta"; tb: "cy.tb"; tc: "cy.tc"; td: "cy.td"; te: "cy.te"; tf: "cy.tf"; tg: "cy.tg"; th: "cy.th"; ti: "cy.ti"; tj: "cy.tj"; tk: "cy.tk"; tl: "cy.tl"; tm: "cy.tm"; tn: "cy.tn"; to: "cy.to"; tp: "cy.tp"; tq: "cy.tq"; tr: "cy.tr"; ts: "cy.ts"; tt: "cy.tt"; tu: "cy.tu"; tv: "cy.tv"; tw: "cy.tw"; tx: "cy.tx"; ty: "cy.ty"; tz: "cy.tz"; ua: "cy.ua"; ub: "cy.ub"; uc: "cy.uc"; ud: "cy.ud"; ue: "cy.ue"; uf: "cy.uf"; ug: "cy.ug"; uh: "cy.uh"; ui: "cy.ui"; uj: "cy.uj"; uk: "cy.uk"; ul: "cy.ul"; um: "cy.um"; un: "cy.un"; uo: "cy.uo"; up: "cy.up"; uq: "cy.uq"; ur: "cy.ur"; us: "cy.us"; ut: "cy.ut"; uu: "cy.uu"; uv: "cy.uv"; uw: "cy.uw"; ux: "cy.ux"; uy: "cy.uy"; uz: "cy.uz"; va: "cy.va"; vb: "cy.vb"; vc: "cy.vc"; vd: "cy.vd"; ve: "cy.ve"; vf: "cy.vf"; vg: "cy.vg"; vh: "cy.vh"; vi: "cy.vi"; vj: "cy.vj"; vk: "cy.vk"; vl: "cy.vl"; vm: "cy.vm"; vn: "cy.vn"; vo: "cy.vo"; vp: "cy.vp"; vq: "cy.vq"; vr: "cy.vr"; vs: "cy.vs"; vt: "cy.vt"; vu: "cy.vu"; vv: "cy.vv"; vw: "cy.vw"; vx: "cy.vx"; vy: "cy.vy"; vz: "cy.vz"; wa: "cy.wa"; wb: "cy.wb"; wc: "cy.wc"; wd: "cy.wd"; we: "cy.we"; wf: "cy.wf"; wg: "cy.wg"; wh: "cy.wh"; wi: "cy.wi"; wj: "cy.wj"; wk: "cy.wk"; wl: "cy.wl"; wm: "cy.wm"; wn: "cy.wn"; wo: "cy.wo"; wp: "cy.wp"; wq: "cy.wq"; wr: "cy.wr"; ws: "cy.ws"; wt: "cy.wt"; wu: "cy.wu"; wv: "cy.wv"; ww: "cy.ww"; wx: "cy.wx"; wy: "cy.wy"; wz: "cy.wz"; xa: "cy.xa"; xb: "cy.xb"; xc: "cy.xc"; xd: "cy.xd"; xe: "cy.xe"; xf: "cy.xf"; xg: "cy.xg"; xh: "cy.xh"; xi: "cy.xi"; xj: "cy.xj"; xk: "cy.xk"; xl: "cy.xl"; xm: "cy.xm"; xn: "cy.xn"; xo: "cy.xo"; xp: "cy.xp"; xq: "cy.xq"; xr: "cy.xr"; xs: "cy.xs"; xt: "cy.xt"; xu: "cy.xu"; xv: "cy.xv"; xw: "cy.xw"; xx: "cy.xx"; xy: "cy.xy"; xz: "cy.xz"; ya: "cy.ya"; yb: "cy.yb"; yc: "cy.yc"; yd: "cy.yd"; ye: "cy.ye"; yf: "cy.yf"; yg: "cy.yg"; yh: "cy.yh"; yi: "cy.yi"; yj: "cy.yj"; yk: "cy.yk"; yl: "cy.yl"; ym: "cy.ym"; yn: "cy.yn"; yo: "cy.yo"; yp: "cy.yp"; yq: "cy.yq"; yr: "cy.yr"; ys: "cy.ys"; yt: "cy.yt"; yu: "cy.yu"; yv: "cy.yv"; yw: "cy.yw"; yx: "cy.yx"; yy: "cy.yy"; yz: "cy.yz"; za: "cy.za"; zb: "cy.zb"; zc: "cy.zc"; zd: "cy.zd"; ze: "cy.ze"; zf: "cy.zf"; zg: "cy.zg"; zh: "cy.zh"; zi: "cy.zi"; zj: "cy.zj"; zk: "cy.zk"; zl: "cy.zl"; zm: "cy.zm"; zn: "cy.zn"; zo: "cy.zo"; zp: "cy.zp"; zq: "cy.zq"; zr: "cy.zr"; zs: "cy.zs"; zt: "cy.zt"; zu: "cy.zu"; zv: "cy.zv"; zw: "cy.zw"; zx: "cy.zx"; zy: "cy.zy"; zz: "cy.zz"; }; cz: { aa: "cz.aa"; ab: "cz.ab"; ac: "cz.ac"; ad: "cz.ad"; ae: "cz.ae"; af: "cz.af"; ag: "cz.ag"; ah: "cz.ah"; ai: "cz.ai"; aj: "cz.aj"; ak: "cz.ak"; al: "cz.al"; am: "cz.am"; an: "cz.an"; ao: "cz.ao"; ap: "cz.ap"; aq: "cz.aq"; ar: "cz.ar"; as: "cz.as"; at: "cz.at"; au: "cz.au"; av: "cz.av"; aw: "cz.aw"; ax: "cz.ax"; ay: "cz.ay"; az: "cz.az"; ba: "cz.ba"; bb: "cz.bb"; bc: "cz.bc"; bd: "cz.bd"; be: "cz.be"; bf: "cz.bf"; bg: "cz.bg"; bh: "cz.bh"; bi: "cz.bi"; bj: "cz.bj"; bk: "cz.bk"; bl: "cz.bl"; bm: "cz.bm"; bn: "cz.bn"; bo: "cz.bo"; bp: "cz.bp"; bq: "cz.bq"; br: "cz.br"; bs: "cz.bs"; bt: "cz.bt"; bu: "cz.bu"; bv: "cz.bv"; bw: "cz.bw"; bx: "cz.bx"; by: "cz.by"; bz: "cz.bz"; ca: "cz.ca"; cb: "cz.cb"; cc: "cz.cc"; cd: "cz.cd"; ce: "cz.ce"; cf: "cz.cf"; cg: "cz.cg"; ch: "cz.ch"; ci: "cz.ci"; cj: "cz.cj"; ck: "cz.ck"; cl: "cz.cl"; cm: "cz.cm"; cn: "cz.cn"; co: "cz.co"; cp: "cz.cp"; cq: "cz.cq"; cr: "cz.cr"; cs: "cz.cs"; ct: "cz.ct"; cu: "cz.cu"; cv: "cz.cv"; cw: "cz.cw"; cx: "cz.cx"; cy: "cz.cy"; cz: "cz.cz"; da: "cz.da"; db: "cz.db"; dc: "cz.dc"; dd: "cz.dd"; de: "cz.de"; df: "cz.df"; dg: "cz.dg"; dh: "cz.dh"; di: "cz.di"; dj: "cz.dj"; dk: "cz.dk"; dl: "cz.dl"; dm: "cz.dm"; dn: "cz.dn"; do: "cz.do"; dp: "cz.dp"; dq: "cz.dq"; dr: "cz.dr"; ds: "cz.ds"; dt: "cz.dt"; du: "cz.du"; dv: "cz.dv"; dw: "cz.dw"; dx: "cz.dx"; dy: "cz.dy"; dz: "cz.dz"; ea: "cz.ea"; eb: "cz.eb"; ec: "cz.ec"; ed: "cz.ed"; ee: "cz.ee"; ef: "cz.ef"; eg: "cz.eg"; eh: "cz.eh"; ei: "cz.ei"; ej: "cz.ej"; ek: "cz.ek"; el: "cz.el"; em: "cz.em"; en: "cz.en"; eo: "cz.eo"; ep: "cz.ep"; eq: "cz.eq"; er: "cz.er"; es: "cz.es"; et: "cz.et"; eu: "cz.eu"; ev: "cz.ev"; ew: "cz.ew"; ex: "cz.ex"; ey: "cz.ey"; ez: "cz.ez"; fa: "cz.fa"; fb: "cz.fb"; fc: "cz.fc"; fd: "cz.fd"; fe: "cz.fe"; ff: "cz.ff"; fg: "cz.fg"; fh: "cz.fh"; fi: "cz.fi"; fj: "cz.fj"; fk: "cz.fk"; fl: "cz.fl"; fm: "cz.fm"; fn: "cz.fn"; fo: "cz.fo"; fp: "cz.fp"; fq: "cz.fq"; fr: "cz.fr"; fs: "cz.fs"; ft: "cz.ft"; fu: "cz.fu"; fv: "cz.fv"; fw: "cz.fw"; fx: "cz.fx"; fy: "cz.fy"; fz: "cz.fz"; ga: "cz.ga"; gb: "cz.gb"; gc: "cz.gc"; gd: "cz.gd"; ge: "cz.ge"; gf: "cz.gf"; gg: "cz.gg"; gh: "cz.gh"; gi: "cz.gi"; gj: "cz.gj"; gk: "cz.gk"; gl: "cz.gl"; gm: "cz.gm"; gn: "cz.gn"; go: "cz.go"; gp: "cz.gp"; gq: "cz.gq"; gr: "cz.gr"; gs: "cz.gs"; gt: "cz.gt"; gu: "cz.gu"; gv: "cz.gv"; gw: "cz.gw"; gx: "cz.gx"; gy: "cz.gy"; gz: "cz.gz"; ha: "cz.ha"; hb: "cz.hb"; hc: "cz.hc"; hd: "cz.hd"; he: "cz.he"; hf: "cz.hf"; hg: "cz.hg"; hh: "cz.hh"; hi: "cz.hi"; hj: "cz.hj"; hk: "cz.hk"; hl: "cz.hl"; hm: "cz.hm"; hn: "cz.hn"; ho: "cz.ho"; hp: "cz.hp"; hq: "cz.hq"; hr: "cz.hr"; hs: "cz.hs"; ht: "cz.ht"; hu: "cz.hu"; hv: "cz.hv"; hw: "cz.hw"; hx: "cz.hx"; hy: "cz.hy"; hz: "cz.hz"; ia: "cz.ia"; ib: "cz.ib"; ic: "cz.ic"; id: "cz.id"; ie: "cz.ie"; if: "cz.if"; ig: "cz.ig"; ih: "cz.ih"; ii: "cz.ii"; ij: "cz.ij"; ik: "cz.ik"; il: "cz.il"; im: "cz.im"; in: "cz.in"; io: "cz.io"; ip: "cz.ip"; iq: "cz.iq"; ir: "cz.ir"; is: "cz.is"; it: "cz.it"; iu: "cz.iu"; iv: "cz.iv"; iw: "cz.iw"; ix: "cz.ix"; iy: "cz.iy"; iz: "cz.iz"; ja: "cz.ja"; jb: "cz.jb"; jc: "cz.jc"; jd: "cz.jd"; je: "cz.je"; jf: "cz.jf"; jg: "cz.jg"; jh: "cz.jh"; ji: "cz.ji"; jj: "cz.jj"; jk: "cz.jk"; jl: "cz.jl"; jm: "cz.jm"; jn: "cz.jn"; jo: "cz.jo"; jp: "cz.jp"; jq: "cz.jq"; jr: "cz.jr"; js: "cz.js"; jt: "cz.jt"; ju: "cz.ju"; jv: "cz.jv"; jw: "cz.jw"; jx: "cz.jx"; jy: "cz.jy"; jz: "cz.jz"; ka: "cz.ka"; kb: "cz.kb"; kc: "cz.kc"; kd: "cz.kd"; ke: "cz.ke"; kf: "cz.kf"; kg: "cz.kg"; kh: "cz.kh"; ki: "cz.ki"; kj: "cz.kj"; kk: "cz.kk"; kl: "cz.kl"; km: "cz.km"; kn: "cz.kn"; ko: "cz.ko"; kp: "cz.kp"; kq: "cz.kq"; kr: "cz.kr"; ks: "cz.ks"; kt: "cz.kt"; ku: "cz.ku"; kv: "cz.kv"; kw: "cz.kw"; kx: "cz.kx"; ky: "cz.ky"; kz: "cz.kz"; la: "cz.la"; lb: "cz.lb"; lc: "cz.lc"; ld: "cz.ld"; le: "cz.le"; lf: "cz.lf"; lg: "cz.lg"; lh: "cz.lh"; li: "cz.li"; lj: "cz.lj"; lk: "cz.lk"; ll: "cz.ll"; lm: "cz.lm"; ln: "cz.ln"; lo: "cz.lo"; lp: "cz.lp"; lq: "cz.lq"; lr: "cz.lr"; ls: "cz.ls"; lt: "cz.lt"; lu: "cz.lu"; lv: "cz.lv"; lw: "cz.lw"; lx: "cz.lx"; ly: "cz.ly"; lz: "cz.lz"; ma: "cz.ma"; mb: "cz.mb"; mc: "cz.mc"; md: "cz.md"; me: "cz.me"; mf: "cz.mf"; mg: "cz.mg"; mh: "cz.mh"; mi: "cz.mi"; mj: "cz.mj"; mk: "cz.mk"; ml: "cz.ml"; mm: "cz.mm"; mn: "cz.mn"; mo: "cz.mo"; mp: "cz.mp"; mq: "cz.mq"; mr: "cz.mr"; ms: "cz.ms"; mt: "cz.mt"; mu: "cz.mu"; mv: "cz.mv"; mw: "cz.mw"; mx: "cz.mx"; my: "cz.my"; mz: "cz.mz"; na: "cz.na"; nb: "cz.nb"; nc: "cz.nc"; nd: "cz.nd"; ne: "cz.ne"; nf: "cz.nf"; ng: "cz.ng"; nh: "cz.nh"; ni: "cz.ni"; nj: "cz.nj"; nk: "cz.nk"; nl: "cz.nl"; nm: "cz.nm"; nn: "cz.nn"; no: "cz.no"; np: "cz.np"; nq: "cz.nq"; nr: "cz.nr"; ns: "cz.ns"; nt: "cz.nt"; nu: "cz.nu"; nv: "cz.nv"; nw: "cz.nw"; nx: "cz.nx"; ny: "cz.ny"; nz: "cz.nz"; oa: "cz.oa"; ob: "cz.ob"; oc: "cz.oc"; od: "cz.od"; oe: "cz.oe"; of: "cz.of"; og: "cz.og"; oh: "cz.oh"; oi: "cz.oi"; oj: "cz.oj"; ok: "cz.ok"; ol: "cz.ol"; om: "cz.om"; on: "cz.on"; oo: "cz.oo"; op: "cz.op"; oq: "cz.oq"; or: "cz.or"; os: "cz.os"; ot: "cz.ot"; ou: "cz.ou"; ov: "cz.ov"; ow: "cz.ow"; ox: "cz.ox"; oy: "cz.oy"; oz: "cz.oz"; pa: "cz.pa"; pb: "cz.pb"; pc: "cz.pc"; pd: "cz.pd"; pe: "cz.pe"; pf: "cz.pf"; pg: "cz.pg"; ph: "cz.ph"; pi: "cz.pi"; pj: "cz.pj"; pk: "cz.pk"; pl: "cz.pl"; pm: "cz.pm"; pn: "cz.pn"; po: "cz.po"; pp: "cz.pp"; pq: "cz.pq"; pr: "cz.pr"; ps: "cz.ps"; pt: "cz.pt"; pu: "cz.pu"; pv: "cz.pv"; pw: "cz.pw"; px: "cz.px"; py: "cz.py"; pz: "cz.pz"; qa: "cz.qa"; qb: "cz.qb"; qc: "cz.qc"; qd: "cz.qd"; qe: "cz.qe"; qf: "cz.qf"; qg: "cz.qg"; qh: "cz.qh"; qi: "cz.qi"; qj: "cz.qj"; qk: "cz.qk"; ql: "cz.ql"; qm: "cz.qm"; qn: "cz.qn"; qo: "cz.qo"; qp: "cz.qp"; qq: "cz.qq"; qr: "cz.qr"; qs: "cz.qs"; qt: "cz.qt"; qu: "cz.qu"; qv: "cz.qv"; qw: "cz.qw"; qx: "cz.qx"; qy: "cz.qy"; qz: "cz.qz"; ra: "cz.ra"; rb: "cz.rb"; rc: "cz.rc"; rd: "cz.rd"; re: "cz.re"; rf: "cz.rf"; rg: "cz.rg"; rh: "cz.rh"; ri: "cz.ri"; rj: "cz.rj"; rk: "cz.rk"; rl: "cz.rl"; rm: "cz.rm"; rn: "cz.rn"; ro: "cz.ro"; rp: "cz.rp"; rq: "cz.rq"; rr: "cz.rr"; rs: "cz.rs"; rt: "cz.rt"; ru: "cz.ru"; rv: "cz.rv"; rw: "cz.rw"; rx: "cz.rx"; ry: "cz.ry"; rz: "cz.rz"; sa: "cz.sa"; sb: "cz.sb"; sc: "cz.sc"; sd: "cz.sd"; se: "cz.se"; sf: "cz.sf"; sg: "cz.sg"; sh: "cz.sh"; si: "cz.si"; sj: "cz.sj"; sk: "cz.sk"; sl: "cz.sl"; sm: "cz.sm"; sn: "cz.sn"; so: "cz.so"; sp: "cz.sp"; sq: "cz.sq"; sr: "cz.sr"; ss: "cz.ss"; st: "cz.st"; su: "cz.su"; sv: "cz.sv"; sw: "cz.sw"; sx: "cz.sx"; sy: "cz.sy"; sz: "cz.sz"; ta: "cz.ta"; tb: "cz.tb"; tc: "cz.tc"; td: "cz.td"; te: "cz.te"; tf: "cz.tf"; tg: "cz.tg"; th: "cz.th"; ti: "cz.ti"; tj: "cz.tj"; tk: "cz.tk"; tl: "cz.tl"; tm: "cz.tm"; tn: "cz.tn"; to: "cz.to"; tp: "cz.tp"; tq: "cz.tq"; tr: "cz.tr"; ts: "cz.ts"; tt: "cz.tt"; tu: "cz.tu"; tv: "cz.tv"; tw: "cz.tw"; tx: "cz.tx"; ty: "cz.ty"; tz: "cz.tz"; ua: "cz.ua"; ub: "cz.ub"; uc: "cz.uc"; ud: "cz.ud"; ue: "cz.ue"; uf: "cz.uf"; ug: "cz.ug"; uh: "cz.uh"; ui: "cz.ui"; uj: "cz.uj"; uk: "cz.uk"; ul: "cz.ul"; um: "cz.um"; un: "cz.un"; uo: "cz.uo"; up: "cz.up"; uq: "cz.uq"; ur: "cz.ur"; us: "cz.us"; ut: "cz.ut"; uu: "cz.uu"; uv: "cz.uv"; uw: "cz.uw"; ux: "cz.ux"; uy: "cz.uy"; uz: "cz.uz"; va: "cz.va"; vb: "cz.vb"; vc: "cz.vc"; vd: "cz.vd"; ve: "cz.ve"; vf: "cz.vf"; vg: "cz.vg"; vh: "cz.vh"; vi: "cz.vi"; vj: "cz.vj"; vk: "cz.vk"; vl: "cz.vl"; vm: "cz.vm"; vn: "cz.vn"; vo: "cz.vo"; vp: "cz.vp"; vq: "cz.vq"; vr: "cz.vr"; vs: "cz.vs"; vt: "cz.vt"; vu: "cz.vu"; vv: "cz.vv"; vw: "cz.vw"; vx: "cz.vx"; vy: "cz.vy"; vz: "cz.vz"; wa: "cz.wa"; wb: "cz.wb"; wc: "cz.wc"; wd: "cz.wd"; we: "cz.we"; wf: "cz.wf"; wg: "cz.wg"; wh: "cz.wh"; wi: "cz.wi"; wj: "cz.wj"; wk: "cz.wk"; wl: "cz.wl"; wm: "cz.wm"; wn: "cz.wn"; wo: "cz.wo"; wp: "cz.wp"; wq: "cz.wq"; wr: "cz.wr"; ws: "cz.ws"; wt: "cz.wt"; wu: "cz.wu"; wv: "cz.wv"; ww: "cz.ww"; wx: "cz.wx"; wy: "cz.wy"; wz: "cz.wz"; xa: "cz.xa"; xb: "cz.xb"; xc: "cz.xc"; xd: "cz.xd"; xe: "cz.xe"; xf: "cz.xf"; xg: "cz.xg"; xh: "cz.xh"; xi: "cz.xi"; xj: "cz.xj"; xk: "cz.xk"; xl: "cz.xl"; xm: "cz.xm"; xn: "cz.xn"; xo: "cz.xo"; xp: "cz.xp"; xq: "cz.xq"; xr: "cz.xr"; xs: "cz.xs"; xt: "cz.xt"; xu: "cz.xu"; xv: "cz.xv"; xw: "cz.xw"; xx: "cz.xx"; xy: "cz.xy"; xz: "cz.xz"; ya: "cz.ya"; yb: "cz.yb"; yc: "cz.yc"; yd: "cz.yd"; ye: "cz.ye"; yf: "cz.yf"; yg: "cz.yg"; yh: "cz.yh"; yi: "cz.yi"; yj: "cz.yj"; yk: "cz.yk"; yl: "cz.yl"; ym: "cz.ym"; yn: "cz.yn"; yo: "cz.yo"; yp: "cz.yp"; yq: "cz.yq"; yr: "cz.yr"; ys: "cz.ys"; yt: "cz.yt"; yu: "cz.yu"; yv: "cz.yv"; yw: "cz.yw"; yx: "cz.yx"; yy: "cz.yy"; yz: "cz.yz"; za: "cz.za"; zb: "cz.zb"; zc: "cz.zc"; zd: "cz.zd"; ze: "cz.ze"; zf: "cz.zf"; zg: "cz.zg"; zh: "cz.zh"; zi: "cz.zi"; zj: "cz.zj"; zk: "cz.zk"; zl: "cz.zl"; zm: "cz.zm"; zn: "cz.zn"; zo: "cz.zo"; zp: "cz.zp"; zq: "cz.zq"; zr: "cz.zr"; zs: "cz.zs"; zt: "cz.zt"; zu: "cz.zu"; zv: "cz.zv"; zw: "cz.zw"; zx: "cz.zx"; zy: "cz.zy"; zz: "cz.zz"; }; da: { aa: "da.aa"; ab: "da.ab"; ac: "da.ac"; ad: "da.ad"; ae: "da.ae"; af: "da.af"; ag: "da.ag"; ah: "da.ah"; ai: "da.ai"; aj: "da.aj"; ak: "da.ak"; al: "da.al"; am: "da.am"; an: "da.an"; ao: "da.ao"; ap: "da.ap"; aq: "da.aq"; ar: "da.ar"; as: "da.as"; at: "da.at"; au: "da.au"; av: "da.av"; aw: "da.aw"; ax: "da.ax"; ay: "da.ay"; az: "da.az"; ba: "da.ba"; bb: "da.bb"; bc: "da.bc"; bd: "da.bd"; be: "da.be"; bf: "da.bf"; bg: "da.bg"; bh: "da.bh"; bi: "da.bi"; bj: "da.bj"; bk: "da.bk"; bl: "da.bl"; bm: "da.bm"; bn: "da.bn"; bo: "da.bo"; bp: "da.bp"; bq: "da.bq"; br: "da.br"; bs: "da.bs"; bt: "da.bt"; bu: "da.bu"; bv: "da.bv"; bw: "da.bw"; bx: "da.bx"; by: "da.by"; bz: "da.bz"; ca: "da.ca"; cb: "da.cb"; cc: "da.cc"; cd: "da.cd"; ce: "da.ce"; cf: "da.cf"; cg: "da.cg"; ch: "da.ch"; ci: "da.ci"; cj: "da.cj"; ck: "da.ck"; cl: "da.cl"; cm: "da.cm"; cn: "da.cn"; co: "da.co"; cp: "da.cp"; cq: "da.cq"; cr: "da.cr"; cs: "da.cs"; ct: "da.ct"; cu: "da.cu"; cv: "da.cv"; cw: "da.cw"; cx: "da.cx"; cy: "da.cy"; cz: "da.cz"; da: "da.da"; db: "da.db"; dc: "da.dc"; dd: "da.dd"; de: "da.de"; df: "da.df"; dg: "da.dg"; dh: "da.dh"; di: "da.di"; dj: "da.dj"; dk: "da.dk"; dl: "da.dl"; dm: "da.dm"; dn: "da.dn"; do: "da.do"; dp: "da.dp"; dq: "da.dq"; dr: "da.dr"; ds: "da.ds"; dt: "da.dt"; du: "da.du"; dv: "da.dv"; dw: "da.dw"; dx: "da.dx"; dy: "da.dy"; dz: "da.dz"; ea: "da.ea"; eb: "da.eb"; ec: "da.ec"; ed: "da.ed"; ee: "da.ee"; ef: "da.ef"; eg: "da.eg"; eh: "da.eh"; ei: "da.ei"; ej: "da.ej"; ek: "da.ek"; el: "da.el"; em: "da.em"; en: "da.en"; eo: "da.eo"; ep: "da.ep"; eq: "da.eq"; er: "da.er"; es: "da.es"; et: "da.et"; eu: "da.eu"; ev: "da.ev"; ew: "da.ew"; ex: "da.ex"; ey: "da.ey"; ez: "da.ez"; fa: "da.fa"; fb: "da.fb"; fc: "da.fc"; fd: "da.fd"; fe: "da.fe"; ff: "da.ff"; fg: "da.fg"; fh: "da.fh"; fi: "da.fi"; fj: "da.fj"; fk: "da.fk"; fl: "da.fl"; fm: "da.fm"; fn: "da.fn"; fo: "da.fo"; fp: "da.fp"; fq: "da.fq"; fr: "da.fr"; fs: "da.fs"; ft: "da.ft"; fu: "da.fu"; fv: "da.fv"; fw: "da.fw"; fx: "da.fx"; fy: "da.fy"; fz: "da.fz"; ga: "da.ga"; gb: "da.gb"; gc: "da.gc"; gd: "da.gd"; ge: "da.ge"; gf: "da.gf"; gg: "da.gg"; gh: "da.gh"; gi: "da.gi"; gj: "da.gj"; gk: "da.gk"; gl: "da.gl"; gm: "da.gm"; gn: "da.gn"; go: "da.go"; gp: "da.gp"; gq: "da.gq"; gr: "da.gr"; gs: "da.gs"; gt: "da.gt"; gu: "da.gu"; gv: "da.gv"; gw: "da.gw"; gx: "da.gx"; gy: "da.gy"; gz: "da.gz"; ha: "da.ha"; hb: "da.hb"; hc: "da.hc"; hd: "da.hd"; he: "da.he"; hf: "da.hf"; hg: "da.hg"; hh: "da.hh"; hi: "da.hi"; hj: "da.hj"; hk: "da.hk"; hl: "da.hl"; hm: "da.hm"; hn: "da.hn"; ho: "da.ho"; hp: "da.hp"; hq: "da.hq"; hr: "da.hr"; hs: "da.hs"; ht: "da.ht"; hu: "da.hu"; hv: "da.hv"; hw: "da.hw"; hx: "da.hx"; hy: "da.hy"; hz: "da.hz"; ia: "da.ia"; ib: "da.ib"; ic: "da.ic"; id: "da.id"; ie: "da.ie"; if: "da.if"; ig: "da.ig"; ih: "da.ih"; ii: "da.ii"; ij: "da.ij"; ik: "da.ik"; il: "da.il"; im: "da.im"; in: "da.in"; io: "da.io"; ip: "da.ip"; iq: "da.iq"; ir: "da.ir"; is: "da.is"; it: "da.it"; iu: "da.iu"; iv: "da.iv"; iw: "da.iw"; ix: "da.ix"; iy: "da.iy"; iz: "da.iz"; ja: "da.ja"; jb: "da.jb"; jc: "da.jc"; jd: "da.jd"; je: "da.je"; jf: "da.jf"; jg: "da.jg"; jh: "da.jh"; ji: "da.ji"; jj: "da.jj"; jk: "da.jk"; jl: "da.jl"; jm: "da.jm"; jn: "da.jn"; jo: "da.jo"; jp: "da.jp"; jq: "da.jq"; jr: "da.jr"; js: "da.js"; jt: "da.jt"; ju: "da.ju"; jv: "da.jv"; jw: "da.jw"; jx: "da.jx"; jy: "da.jy"; jz: "da.jz"; ka: "da.ka"; kb: "da.kb"; kc: "da.kc"; kd: "da.kd"; ke: "da.ke"; kf: "da.kf"; kg: "da.kg"; kh: "da.kh"; ki: "da.ki"; kj: "da.kj"; kk: "da.kk"; kl: "da.kl"; km: "da.km"; kn: "da.kn"; ko: "da.ko"; kp: "da.kp"; kq: "da.kq"; kr: "da.kr"; ks: "da.ks"; kt: "da.kt"; ku: "da.ku"; kv: "da.kv"; kw: "da.kw"; kx: "da.kx"; ky: "da.ky"; kz: "da.kz"; la: "da.la"; lb: "da.lb"; lc: "da.lc"; ld: "da.ld"; le: "da.le"; lf: "da.lf"; lg: "da.lg"; lh: "da.lh"; li: "da.li"; lj: "da.lj"; lk: "da.lk"; ll: "da.ll"; lm: "da.lm"; ln: "da.ln"; lo: "da.lo"; lp: "da.lp"; lq: "da.lq"; lr: "da.lr"; ls: "da.ls"; lt: "da.lt"; lu: "da.lu"; lv: "da.lv"; lw: "da.lw"; lx: "da.lx"; ly: "da.ly"; lz: "da.lz"; ma: "da.ma"; mb: "da.mb"; mc: "da.mc"; md: "da.md"; me: "da.me"; mf: "da.mf"; mg: "da.mg"; mh: "da.mh"; mi: "da.mi"; mj: "da.mj"; mk: "da.mk"; ml: "da.ml"; mm: "da.mm"; mn: "da.mn"; mo: "da.mo"; mp: "da.mp"; mq: "da.mq"; mr: "da.mr"; ms: "da.ms"; mt: "da.mt"; mu: "da.mu"; mv: "da.mv"; mw: "da.mw"; mx: "da.mx"; my: "da.my"; mz: "da.mz"; na: "da.na"; nb: "da.nb"; nc: "da.nc"; nd: "da.nd"; ne: "da.ne"; nf: "da.nf"; ng: "da.ng"; nh: "da.nh"; ni: "da.ni"; nj: "da.nj"; nk: "da.nk"; nl: "da.nl"; nm: "da.nm"; nn: "da.nn"; no: "da.no"; np: "da.np"; nq: "da.nq"; nr: "da.nr"; ns: "da.ns"; nt: "da.nt"; nu: "da.nu"; nv: "da.nv"; nw: "da.nw"; nx: "da.nx"; ny: "da.ny"; nz: "da.nz"; oa: "da.oa"; ob: "da.ob"; oc: "da.oc"; od: "da.od"; oe: "da.oe"; of: "da.of"; og: "da.og"; oh: "da.oh"; oi: "da.oi"; oj: "da.oj"; ok: "da.ok"; ol: "da.ol"; om: "da.om"; on: "da.on"; oo: "da.oo"; op: "da.op"; oq: "da.oq"; or: "da.or"; os: "da.os"; ot: "da.ot"; ou: "da.ou"; ov: "da.ov"; ow: "da.ow"; ox: "da.ox"; oy: "da.oy"; oz: "da.oz"; pa: "da.pa"; pb: "da.pb"; pc: "da.pc"; pd: "da.pd"; pe: "da.pe"; pf: "da.pf"; pg: "da.pg"; ph: "da.ph"; pi: "da.pi"; pj: "da.pj"; pk: "da.pk"; pl: "da.pl"; pm: "da.pm"; pn: "da.pn"; po: "da.po"; pp: "da.pp"; pq: "da.pq"; pr: "da.pr"; ps: "da.ps"; pt: "da.pt"; pu: "da.pu"; pv: "da.pv"; pw: "da.pw"; px: "da.px"; py: "da.py"; pz: "da.pz"; qa: "da.qa"; qb: "da.qb"; qc: "da.qc"; qd: "da.qd"; qe: "da.qe"; qf: "da.qf"; qg: "da.qg"; qh: "da.qh"; qi: "da.qi"; qj: "da.qj"; qk: "da.qk"; ql: "da.ql"; qm: "da.qm"; qn: "da.qn"; qo: "da.qo"; qp: "da.qp"; qq: "da.qq"; qr: "da.qr"; qs: "da.qs"; qt: "da.qt"; qu: "da.qu"; qv: "da.qv"; qw: "da.qw"; qx: "da.qx"; qy: "da.qy"; qz: "da.qz"; ra: "da.ra"; rb: "da.rb"; rc: "da.rc"; rd: "da.rd"; re: "da.re"; rf: "da.rf"; rg: "da.rg"; rh: "da.rh"; ri: "da.ri"; rj: "da.rj"; rk: "da.rk"; rl: "da.rl"; rm: "da.rm"; rn: "da.rn"; ro: "da.ro"; rp: "da.rp"; rq: "da.rq"; rr: "da.rr"; rs: "da.rs"; rt: "da.rt"; ru: "da.ru"; rv: "da.rv"; rw: "da.rw"; rx: "da.rx"; ry: "da.ry"; rz: "da.rz"; sa: "da.sa"; sb: "da.sb"; sc: "da.sc"; sd: "da.sd"; se: "da.se"; sf: "da.sf"; sg: "da.sg"; sh: "da.sh"; si: "da.si"; sj: "da.sj"; sk: "da.sk"; sl: "da.sl"; sm: "da.sm"; sn: "da.sn"; so: "da.so"; sp: "da.sp"; sq: "da.sq"; sr: "da.sr"; ss: "da.ss"; st: "da.st"; su: "da.su"; sv: "da.sv"; sw: "da.sw"; sx: "da.sx"; sy: "da.sy"; sz: "da.sz"; ta: "da.ta"; tb: "da.tb"; tc: "da.tc"; td: "da.td"; te: "da.te"; tf: "da.tf"; tg: "da.tg"; th: "da.th"; ti: "da.ti"; tj: "da.tj"; tk: "da.tk"; tl: "da.tl"; tm: "da.tm"; tn: "da.tn"; to: "da.to"; tp: "da.tp"; tq: "da.tq"; tr: "da.tr"; ts: "da.ts"; tt: "da.tt"; tu: "da.tu"; tv: "da.tv"; tw: "da.tw"; tx: "da.tx"; ty: "da.ty"; tz: "da.tz"; ua: "da.ua"; ub: "da.ub"; uc: "da.uc"; ud: "da.ud"; ue: "da.ue"; uf: "da.uf"; ug: "da.ug"; uh: "da.uh"; ui: "da.ui"; uj: "da.uj"; uk: "da.uk"; ul: "da.ul"; um: "da.um"; un: "da.un"; uo: "da.uo"; up: "da.up"; uq: "da.uq"; ur: "da.ur"; us: "da.us"; ut: "da.ut"; uu: "da.uu"; uv: "da.uv"; uw: "da.uw"; ux: "da.ux"; uy: "da.uy"; uz: "da.uz"; va: "da.va"; vb: "da.vb"; vc: "da.vc"; vd: "da.vd"; ve: "da.ve"; vf: "da.vf"; vg: "da.vg"; vh: "da.vh"; vi: "da.vi"; vj: "da.vj"; vk: "da.vk"; vl: "da.vl"; vm: "da.vm"; vn: "da.vn"; vo: "da.vo"; vp: "da.vp"; vq: "da.vq"; vr: "da.vr"; vs: "da.vs"; vt: "da.vt"; vu: "da.vu"; vv: "da.vv"; vw: "da.vw"; vx: "da.vx"; vy: "da.vy"; vz: "da.vz"; wa: "da.wa"; wb: "da.wb"; wc: "da.wc"; wd: "da.wd"; we: "da.we"; wf: "da.wf"; wg: "da.wg"; wh: "da.wh"; wi: "da.wi"; wj: "da.wj"; wk: "da.wk"; wl: "da.wl"; wm: "da.wm"; wn: "da.wn"; wo: "da.wo"; wp: "da.wp"; wq: "da.wq"; wr: "da.wr"; ws: "da.ws"; wt: "da.wt"; wu: "da.wu"; wv: "da.wv"; ww: "da.ww"; wx: "da.wx"; wy: "da.wy"; wz: "da.wz"; xa: "da.xa"; xb: "da.xb"; xc: "da.xc"; xd: "da.xd"; xe: "da.xe"; xf: "da.xf"; xg: "da.xg"; xh: "da.xh"; xi: "da.xi"; xj: "da.xj"; xk: "da.xk"; xl: "da.xl"; xm: "da.xm"; xn: "da.xn"; xo: "da.xo"; xp: "da.xp"; xq: "da.xq"; xr: "da.xr"; xs: "da.xs"; xt: "da.xt"; xu: "da.xu"; xv: "da.xv"; xw: "da.xw"; xx: "da.xx"; xy: "da.xy"; xz: "da.xz"; ya: "da.ya"; yb: "da.yb"; yc: "da.yc"; yd: "da.yd"; ye: "da.ye"; yf: "da.yf"; yg: "da.yg"; yh: "da.yh"; yi: "da.yi"; yj: "da.yj"; yk: "da.yk"; yl: "da.yl"; ym: "da.ym"; yn: "da.yn"; yo: "da.yo"; yp: "da.yp"; yq: "da.yq"; yr: "da.yr"; ys: "da.ys"; yt: "da.yt"; yu: "da.yu"; yv: "da.yv"; yw: "da.yw"; yx: "da.yx"; yy: "da.yy"; yz: "da.yz"; za: "da.za"; zb: "da.zb"; zc: "da.zc"; zd: "da.zd"; ze: "da.ze"; zf: "da.zf"; zg: "da.zg"; zh: "da.zh"; zi: "da.zi"; zj: "da.zj"; zk: "da.zk"; zl: "da.zl"; zm: "da.zm"; zn: "da.zn"; zo: "da.zo"; zp: "da.zp"; zq: "da.zq"; zr: "da.zr"; zs: "da.zs"; zt: "da.zt"; zu: "da.zu"; zv: "da.zv"; zw: "da.zw"; zx: "da.zx"; zy: "da.zy"; zz: "da.zz"; }; db: { aa: "db.aa"; ab: "db.ab"; ac: "db.ac"; ad: "db.ad"; ae: "db.ae"; af: "db.af"; ag: "db.ag"; ah: "db.ah"; ai: "db.ai"; aj: "db.aj"; ak: "db.ak"; al: "db.al"; am: "db.am"; an: "db.an"; ao: "db.ao"; ap: "db.ap"; aq: "db.aq"; ar: "db.ar"; as: "db.as"; at: "db.at"; au: "db.au"; av: "db.av"; aw: "db.aw"; ax: "db.ax"; ay: "db.ay"; az: "db.az"; ba: "db.ba"; bb: "db.bb"; bc: "db.bc"; bd: "db.bd"; be: "db.be"; bf: "db.bf"; bg: "db.bg"; bh: "db.bh"; bi: "db.bi"; bj: "db.bj"; bk: "db.bk"; bl: "db.bl"; bm: "db.bm"; bn: "db.bn"; bo: "db.bo"; bp: "db.bp"; bq: "db.bq"; br: "db.br"; bs: "db.bs"; bt: "db.bt"; bu: "db.bu"; bv: "db.bv"; bw: "db.bw"; bx: "db.bx"; by: "db.by"; bz: "db.bz"; ca: "db.ca"; cb: "db.cb"; cc: "db.cc"; cd: "db.cd"; ce: "db.ce"; cf: "db.cf"; cg: "db.cg"; ch: "db.ch"; ci: "db.ci"; cj: "db.cj"; ck: "db.ck"; cl: "db.cl"; cm: "db.cm"; cn: "db.cn"; co: "db.co"; cp: "db.cp"; cq: "db.cq"; cr: "db.cr"; cs: "db.cs"; ct: "db.ct"; cu: "db.cu"; cv: "db.cv"; cw: "db.cw"; cx: "db.cx"; cy: "db.cy"; cz: "db.cz"; da: "db.da"; db: "db.db"; dc: "db.dc"; dd: "db.dd"; de: "db.de"; df: "db.df"; dg: "db.dg"; dh: "db.dh"; di: "db.di"; dj: "db.dj"; dk: "db.dk"; dl: "db.dl"; dm: "db.dm"; dn: "db.dn"; do: "db.do"; dp: "db.dp"; dq: "db.dq"; dr: "db.dr"; ds: "db.ds"; dt: "db.dt"; du: "db.du"; dv: "db.dv"; dw: "db.dw"; dx: "db.dx"; dy: "db.dy"; dz: "db.dz"; ea: "db.ea"; eb: "db.eb"; ec: "db.ec"; ed: "db.ed"; ee: "db.ee"; ef: "db.ef"; eg: "db.eg"; eh: "db.eh"; ei: "db.ei"; ej: "db.ej"; ek: "db.ek"; el: "db.el"; em: "db.em"; en: "db.en"; eo: "db.eo"; ep: "db.ep"; eq: "db.eq"; er: "db.er"; es: "db.es"; et: "db.et"; eu: "db.eu"; ev: "db.ev"; ew: "db.ew"; ex: "db.ex"; ey: "db.ey"; ez: "db.ez"; fa: "db.fa"; fb: "db.fb"; fc: "db.fc"; fd: "db.fd"; fe: "db.fe"; ff: "db.ff"; fg: "db.fg"; fh: "db.fh"; fi: "db.fi"; fj: "db.fj"; fk: "db.fk"; fl: "db.fl"; fm: "db.fm"; fn: "db.fn"; fo: "db.fo"; fp: "db.fp"; fq: "db.fq"; fr: "db.fr"; fs: "db.fs"; ft: "db.ft"; fu: "db.fu"; fv: "db.fv"; fw: "db.fw"; fx: "db.fx"; fy: "db.fy"; fz: "db.fz"; ga: "db.ga"; gb: "db.gb"; gc: "db.gc"; gd: "db.gd"; ge: "db.ge"; gf: "db.gf"; gg: "db.gg"; gh: "db.gh"; gi: "db.gi"; gj: "db.gj"; gk: "db.gk"; gl: "db.gl"; gm: "db.gm"; gn: "db.gn"; go: "db.go"; gp: "db.gp"; gq: "db.gq"; gr: "db.gr"; gs: "db.gs"; gt: "db.gt"; gu: "db.gu"; gv: "db.gv"; gw: "db.gw"; gx: "db.gx"; gy: "db.gy"; gz: "db.gz"; ha: "db.ha"; hb: "db.hb"; hc: "db.hc"; hd: "db.hd"; he: "db.he"; hf: "db.hf"; hg: "db.hg"; hh: "db.hh"; hi: "db.hi"; hj: "db.hj"; hk: "db.hk"; hl: "db.hl"; hm: "db.hm"; hn: "db.hn"; ho: "db.ho"; hp: "db.hp"; hq: "db.hq"; hr: "db.hr"; hs: "db.hs"; ht: "db.ht"; hu: "db.hu"; hv: "db.hv"; hw: "db.hw"; hx: "db.hx"; hy: "db.hy"; hz: "db.hz"; ia: "db.ia"; ib: "db.ib"; ic: "db.ic"; id: "db.id"; ie: "db.ie"; if: "db.if"; ig: "db.ig"; ih: "db.ih"; ii: "db.ii"; ij: "db.ij"; ik: "db.ik"; il: "db.il"; im: "db.im"; in: "db.in"; io: "db.io"; ip: "db.ip"; iq: "db.iq"; ir: "db.ir"; is: "db.is"; it: "db.it"; iu: "db.iu"; iv: "db.iv"; iw: "db.iw"; ix: "db.ix"; iy: "db.iy"; iz: "db.iz"; ja: "db.ja"; jb: "db.jb"; jc: "db.jc"; jd: "db.jd"; je: "db.je"; jf: "db.jf"; jg: "db.jg"; jh: "db.jh"; ji: "db.ji"; jj: "db.jj"; jk: "db.jk"; jl: "db.jl"; jm: "db.jm"; jn: "db.jn"; jo: "db.jo"; jp: "db.jp"; jq: "db.jq"; jr: "db.jr"; js: "db.js"; jt: "db.jt"; ju: "db.ju"; jv: "db.jv"; jw: "db.jw"; jx: "db.jx"; jy: "db.jy"; jz: "db.jz"; ka: "db.ka"; kb: "db.kb"; kc: "db.kc"; kd: "db.kd"; ke: "db.ke"; kf: "db.kf"; kg: "db.kg"; kh: "db.kh"; ki: "db.ki"; kj: "db.kj"; kk: "db.kk"; kl: "db.kl"; km: "db.km"; kn: "db.kn"; ko: "db.ko"; kp: "db.kp"; kq: "db.kq"; kr: "db.kr"; ks: "db.ks"; kt: "db.kt"; ku: "db.ku"; kv: "db.kv"; kw: "db.kw"; kx: "db.kx"; ky: "db.ky"; kz: "db.kz"; la: "db.la"; lb: "db.lb"; lc: "db.lc"; ld: "db.ld"; le: "db.le"; lf: "db.lf"; lg: "db.lg"; lh: "db.lh"; li: "db.li"; lj: "db.lj"; lk: "db.lk"; ll: "db.ll"; lm: "db.lm"; ln: "db.ln"; lo: "db.lo"; lp: "db.lp"; lq: "db.lq"; lr: "db.lr"; ls: "db.ls"; lt: "db.lt"; lu: "db.lu"; lv: "db.lv"; lw: "db.lw"; lx: "db.lx"; ly: "db.ly"; lz: "db.lz"; ma: "db.ma"; mb: "db.mb"; mc: "db.mc"; md: "db.md"; me: "db.me"; mf: "db.mf"; mg: "db.mg"; mh: "db.mh"; mi: "db.mi"; mj: "db.mj"; mk: "db.mk"; ml: "db.ml"; mm: "db.mm"; mn: "db.mn"; mo: "db.mo"; mp: "db.mp"; mq: "db.mq"; mr: "db.mr"; ms: "db.ms"; mt: "db.mt"; mu: "db.mu"; mv: "db.mv"; mw: "db.mw"; mx: "db.mx"; my: "db.my"; mz: "db.mz"; na: "db.na"; nb: "db.nb"; nc: "db.nc"; nd: "db.nd"; ne: "db.ne"; nf: "db.nf"; ng: "db.ng"; nh: "db.nh"; ni: "db.ni"; nj: "db.nj"; nk: "db.nk"; nl: "db.nl"; nm: "db.nm"; nn: "db.nn"; no: "db.no"; np: "db.np"; nq: "db.nq"; nr: "db.nr"; ns: "db.ns"; nt: "db.nt"; nu: "db.nu"; nv: "db.nv"; nw: "db.nw"; nx: "db.nx"; ny: "db.ny"; nz: "db.nz"; oa: "db.oa"; ob: "db.ob"; oc: "db.oc"; od: "db.od"; oe: "db.oe"; of: "db.of"; og: "db.og"; oh: "db.oh"; oi: "db.oi"; oj: "db.oj"; ok: "db.ok"; ol: "db.ol"; om: "db.om"; on: "db.on"; oo: "db.oo"; op: "db.op"; oq: "db.oq"; or: "db.or"; os: "db.os"; ot: "db.ot"; ou: "db.ou"; ov: "db.ov"; ow: "db.ow"; ox: "db.ox"; oy: "db.oy"; oz: "db.oz"; pa: "db.pa"; pb: "db.pb"; pc: "db.pc"; pd: "db.pd"; pe: "db.pe"; pf: "db.pf"; pg: "db.pg"; ph: "db.ph"; pi: "db.pi"; pj: "db.pj"; pk: "db.pk"; pl: "db.pl"; pm: "db.pm"; pn: "db.pn"; po: "db.po"; pp: "db.pp"; pq: "db.pq"; pr: "db.pr"; ps: "db.ps"; pt: "db.pt"; pu: "db.pu"; pv: "db.pv"; pw: "db.pw"; px: "db.px"; py: "db.py"; pz: "db.pz"; qa: "db.qa"; qb: "db.qb"; qc: "db.qc"; qd: "db.qd"; qe: "db.qe"; qf: "db.qf"; qg: "db.qg"; qh: "db.qh"; qi: "db.qi"; qj: "db.qj"; qk: "db.qk"; ql: "db.ql"; qm: "db.qm"; qn: "db.qn"; qo: "db.qo"; qp: "db.qp"; qq: "db.qq"; qr: "db.qr"; qs: "db.qs"; qt: "db.qt"; qu: "db.qu"; qv: "db.qv"; qw: "db.qw"; qx: "db.qx"; qy: "db.qy"; qz: "db.qz"; ra: "db.ra"; rb: "db.rb"; rc: "db.rc"; rd: "db.rd"; re: "db.re"; rf: "db.rf"; rg: "db.rg"; rh: "db.rh"; ri: "db.ri"; rj: "db.rj"; rk: "db.rk"; rl: "db.rl"; rm: "db.rm"; rn: "db.rn"; ro: "db.ro"; rp: "db.rp"; rq: "db.rq"; rr: "db.rr"; rs: "db.rs"; rt: "db.rt"; ru: "db.ru"; rv: "db.rv"; rw: "db.rw"; rx: "db.rx"; ry: "db.ry"; rz: "db.rz"; sa: "db.sa"; sb: "db.sb"; sc: "db.sc"; sd: "db.sd"; se: "db.se"; sf: "db.sf"; sg: "db.sg"; sh: "db.sh"; si: "db.si"; sj: "db.sj"; sk: "db.sk"; sl: "db.sl"; sm: "db.sm"; sn: "db.sn"; so: "db.so"; sp: "db.sp"; sq: "db.sq"; sr: "db.sr"; ss: "db.ss"; st: "db.st"; su: "db.su"; sv: "db.sv"; sw: "db.sw"; sx: "db.sx"; sy: "db.sy"; sz: "db.sz"; ta: "db.ta"; tb: "db.tb"; tc: "db.tc"; td: "db.td"; te: "db.te"; tf: "db.tf"; tg: "db.tg"; th: "db.th"; ti: "db.ti"; tj: "db.tj"; tk: "db.tk"; tl: "db.tl"; tm: "db.tm"; tn: "db.tn"; to: "db.to"; tp: "db.tp"; tq: "db.tq"; tr: "db.tr"; ts: "db.ts"; tt: "db.tt"; tu: "db.tu"; tv: "db.tv"; tw: "db.tw"; tx: "db.tx"; ty: "db.ty"; tz: "db.tz"; ua: "db.ua"; ub: "db.ub"; uc: "db.uc"; ud: "db.ud"; ue: "db.ue"; uf: "db.uf"; ug: "db.ug"; uh: "db.uh"; ui: "db.ui"; uj: "db.uj"; uk: "db.uk"; ul: "db.ul"; um: "db.um"; un: "db.un"; uo: "db.uo"; up: "db.up"; uq: "db.uq"; ur: "db.ur"; us: "db.us"; ut: "db.ut"; uu: "db.uu"; uv: "db.uv"; uw: "db.uw"; ux: "db.ux"; uy: "db.uy"; uz: "db.uz"; va: "db.va"; vb: "db.vb"; vc: "db.vc"; vd: "db.vd"; ve: "db.ve"; vf: "db.vf"; vg: "db.vg"; vh: "db.vh"; vi: "db.vi"; vj: "db.vj"; vk: "db.vk"; vl: "db.vl"; vm: "db.vm"; vn: "db.vn"; vo: "db.vo"; vp: "db.vp"; vq: "db.vq"; vr: "db.vr"; vs: "db.vs"; vt: "db.vt"; vu: "db.vu"; vv: "db.vv"; vw: "db.vw"; vx: "db.vx"; vy: "db.vy"; vz: "db.vz"; wa: "db.wa"; wb: "db.wb"; wc: "db.wc"; wd: "db.wd"; we: "db.we"; wf: "db.wf"; wg: "db.wg"; wh: "db.wh"; wi: "db.wi"; wj: "db.wj"; wk: "db.wk"; wl: "db.wl"; wm: "db.wm"; wn: "db.wn"; wo: "db.wo"; wp: "db.wp"; wq: "db.wq"; wr: "db.wr"; ws: "db.ws"; wt: "db.wt"; wu: "db.wu"; wv: "db.wv"; ww: "db.ww"; wx: "db.wx"; wy: "db.wy"; wz: "db.wz"; xa: "db.xa"; xb: "db.xb"; xc: "db.xc"; xd: "db.xd"; xe: "db.xe"; xf: "db.xf"; xg: "db.xg"; xh: "db.xh"; xi: "db.xi"; xj: "db.xj"; xk: "db.xk"; xl: "db.xl"; xm: "db.xm"; xn: "db.xn"; xo: "db.xo"; xp: "db.xp"; xq: "db.xq"; xr: "db.xr"; xs: "db.xs"; xt: "db.xt"; xu: "db.xu"; xv: "db.xv"; xw: "db.xw"; xx: "db.xx"; xy: "db.xy"; xz: "db.xz"; ya: "db.ya"; yb: "db.yb"; yc: "db.yc"; yd: "db.yd"; ye: "db.ye"; yf: "db.yf"; yg: "db.yg"; yh: "db.yh"; yi: "db.yi"; yj: "db.yj"; yk: "db.yk"; yl: "db.yl"; ym: "db.ym"; yn: "db.yn"; yo: "db.yo"; yp: "db.yp"; yq: "db.yq"; yr: "db.yr"; ys: "db.ys"; yt: "db.yt"; yu: "db.yu"; yv: "db.yv"; yw: "db.yw"; yx: "db.yx"; yy: "db.yy"; yz: "db.yz"; za: "db.za"; zb: "db.zb"; zc: "db.zc"; zd: "db.zd"; ze: "db.ze"; zf: "db.zf"; zg: "db.zg"; zh: "db.zh"; zi: "db.zi"; zj: "db.zj"; zk: "db.zk"; zl: "db.zl"; zm: "db.zm"; zn: "db.zn"; zo: "db.zo"; zp: "db.zp"; zq: "db.zq"; zr: "db.zr"; zs: "db.zs"; zt: "db.zt"; zu: "db.zu"; zv: "db.zv"; zw: "db.zw"; zx: "db.zx"; zy: "db.zy"; zz: "db.zz"; }; dc: { aa: "dc.aa"; ab: "dc.ab"; ac: "dc.ac"; ad: "dc.ad"; ae: "dc.ae"; af: "dc.af"; ag: "dc.ag"; ah: "dc.ah"; ai: "dc.ai"; aj: "dc.aj"; ak: "dc.ak"; al: "dc.al"; am: "dc.am"; an: "dc.an"; ao: "dc.ao"; ap: "dc.ap"; aq: "dc.aq"; ar: "dc.ar"; as: "dc.as"; at: "dc.at"; au: "dc.au"; av: "dc.av"; aw: "dc.aw"; ax: "dc.ax"; ay: "dc.ay"; az: "dc.az"; ba: "dc.ba"; bb: "dc.bb"; bc: "dc.bc"; bd: "dc.bd"; be: "dc.be"; bf: "dc.bf"; bg: "dc.bg"; bh: "dc.bh"; bi: "dc.bi"; bj: "dc.bj"; bk: "dc.bk"; bl: "dc.bl"; bm: "dc.bm"; bn: "dc.bn"; bo: "dc.bo"; bp: "dc.bp"; bq: "dc.bq"; br: "dc.br"; bs: "dc.bs"; bt: "dc.bt"; bu: "dc.bu"; bv: "dc.bv"; bw: "dc.bw"; bx: "dc.bx"; by: "dc.by"; bz: "dc.bz"; ca: "dc.ca"; cb: "dc.cb"; cc: "dc.cc"; cd: "dc.cd"; ce: "dc.ce"; cf: "dc.cf"; cg: "dc.cg"; ch: "dc.ch"; ci: "dc.ci"; cj: "dc.cj"; ck: "dc.ck"; cl: "dc.cl"; cm: "dc.cm"; cn: "dc.cn"; co: "dc.co"; cp: "dc.cp"; cq: "dc.cq"; cr: "dc.cr"; cs: "dc.cs"; ct: "dc.ct"; cu: "dc.cu"; cv: "dc.cv"; cw: "dc.cw"; cx: "dc.cx"; cy: "dc.cy"; cz: "dc.cz"; da: "dc.da"; db: "dc.db"; dc: "dc.dc"; dd: "dc.dd"; de: "dc.de"; df: "dc.df"; dg: "dc.dg"; dh: "dc.dh"; di: "dc.di"; dj: "dc.dj"; dk: "dc.dk"; dl: "dc.dl"; dm: "dc.dm"; dn: "dc.dn"; do: "dc.do"; dp: "dc.dp"; dq: "dc.dq"; dr: "dc.dr"; ds: "dc.ds"; dt: "dc.dt"; du: "dc.du"; dv: "dc.dv"; dw: "dc.dw"; dx: "dc.dx"; dy: "dc.dy"; dz: "dc.dz"; ea: "dc.ea"; eb: "dc.eb"; ec: "dc.ec"; ed: "dc.ed"; ee: "dc.ee"; ef: "dc.ef"; eg: "dc.eg"; eh: "dc.eh"; ei: "dc.ei"; ej: "dc.ej"; ek: "dc.ek"; el: "dc.el"; em: "dc.em"; en: "dc.en"; eo: "dc.eo"; ep: "dc.ep"; eq: "dc.eq"; er: "dc.er"; es: "dc.es"; et: "dc.et"; eu: "dc.eu"; ev: "dc.ev"; ew: "dc.ew"; ex: "dc.ex"; ey: "dc.ey"; ez: "dc.ez"; fa: "dc.fa"; fb: "dc.fb"; fc: "dc.fc"; fd: "dc.fd"; fe: "dc.fe"; ff: "dc.ff"; fg: "dc.fg"; fh: "dc.fh"; fi: "dc.fi"; fj: "dc.fj"; fk: "dc.fk"; fl: "dc.fl"; fm: "dc.fm"; fn: "dc.fn"; fo: "dc.fo"; fp: "dc.fp"; fq: "dc.fq"; fr: "dc.fr"; fs: "dc.fs"; ft: "dc.ft"; fu: "dc.fu"; fv: "dc.fv"; fw: "dc.fw"; fx: "dc.fx"; fy: "dc.fy"; fz: "dc.fz"; ga: "dc.ga"; gb: "dc.gb"; gc: "dc.gc"; gd: "dc.gd"; ge: "dc.ge"; gf: "dc.gf"; gg: "dc.gg"; gh: "dc.gh"; gi: "dc.gi"; gj: "dc.gj"; gk: "dc.gk"; gl: "dc.gl"; gm: "dc.gm"; gn: "dc.gn"; go: "dc.go"; gp: "dc.gp"; gq: "dc.gq"; gr: "dc.gr"; gs: "dc.gs"; gt: "dc.gt"; gu: "dc.gu"; gv: "dc.gv"; gw: "dc.gw"; gx: "dc.gx"; gy: "dc.gy"; gz: "dc.gz"; ha: "dc.ha"; hb: "dc.hb"; hc: "dc.hc"; hd: "dc.hd"; he: "dc.he"; hf: "dc.hf"; hg: "dc.hg"; hh: "dc.hh"; hi: "dc.hi"; hj: "dc.hj"; hk: "dc.hk"; hl: "dc.hl"; hm: "dc.hm"; hn: "dc.hn"; ho: "dc.ho"; hp: "dc.hp"; hq: "dc.hq"; hr: "dc.hr"; hs: "dc.hs"; ht: "dc.ht"; hu: "dc.hu"; hv: "dc.hv"; hw: "dc.hw"; hx: "dc.hx"; hy: "dc.hy"; hz: "dc.hz"; ia: "dc.ia"; ib: "dc.ib"; ic: "dc.ic"; id: "dc.id"; ie: "dc.ie"; if: "dc.if"; ig: "dc.ig"; ih: "dc.ih"; ii: "dc.ii"; ij: "dc.ij"; ik: "dc.ik"; il: "dc.il"; im: "dc.im"; in: "dc.in"; io: "dc.io"; ip: "dc.ip"; iq: "dc.iq"; ir: "dc.ir"; is: "dc.is"; it: "dc.it"; iu: "dc.iu"; iv: "dc.iv"; iw: "dc.iw"; ix: "dc.ix"; iy: "dc.iy"; iz: "dc.iz"; ja: "dc.ja"; jb: "dc.jb"; jc: "dc.jc"; jd: "dc.jd"; je: "dc.je"; jf: "dc.jf"; jg: "dc.jg"; jh: "dc.jh"; ji: "dc.ji"; jj: "dc.jj"; jk: "dc.jk"; jl: "dc.jl"; jm: "dc.jm"; jn: "dc.jn"; jo: "dc.jo"; jp: "dc.jp"; jq: "dc.jq"; jr: "dc.jr"; js: "dc.js"; jt: "dc.jt"; ju: "dc.ju"; jv: "dc.jv"; jw: "dc.jw"; jx: "dc.jx"; jy: "dc.jy"; jz: "dc.jz"; ka: "dc.ka"; kb: "dc.kb"; kc: "dc.kc"; kd: "dc.kd"; ke: "dc.ke"; kf: "dc.kf"; kg: "dc.kg"; kh: "dc.kh"; ki: "dc.ki"; kj: "dc.kj"; kk: "dc.kk"; kl: "dc.kl"; km: "dc.km"; kn: "dc.kn"; ko: "dc.ko"; kp: "dc.kp"; kq: "dc.kq"; kr: "dc.kr"; ks: "dc.ks"; kt: "dc.kt"; ku: "dc.ku"; kv: "dc.kv"; kw: "dc.kw"; kx: "dc.kx"; ky: "dc.ky"; kz: "dc.kz"; la: "dc.la"; lb: "dc.lb"; lc: "dc.lc"; ld: "dc.ld"; le: "dc.le"; lf: "dc.lf"; lg: "dc.lg"; lh: "dc.lh"; li: "dc.li"; lj: "dc.lj"; lk: "dc.lk"; ll: "dc.ll"; lm: "dc.lm"; ln: "dc.ln"; lo: "dc.lo"; lp: "dc.lp"; lq: "dc.lq"; lr: "dc.lr"; ls: "dc.ls"; lt: "dc.lt"; lu: "dc.lu"; lv: "dc.lv"; lw: "dc.lw"; lx: "dc.lx"; ly: "dc.ly"; lz: "dc.lz"; ma: "dc.ma"; mb: "dc.mb"; mc: "dc.mc"; md: "dc.md"; me: "dc.me"; mf: "dc.mf"; mg: "dc.mg"; mh: "dc.mh"; mi: "dc.mi"; mj: "dc.mj"; mk: "dc.mk"; ml: "dc.ml"; mm: "dc.mm"; mn: "dc.mn"; mo: "dc.mo"; mp: "dc.mp"; mq: "dc.mq"; mr: "dc.mr"; ms: "dc.ms"; mt: "dc.mt"; mu: "dc.mu"; mv: "dc.mv"; mw: "dc.mw"; mx: "dc.mx"; my: "dc.my"; mz: "dc.mz"; na: "dc.na"; nb: "dc.nb"; nc: "dc.nc"; nd: "dc.nd"; ne: "dc.ne"; nf: "dc.nf"; ng: "dc.ng"; nh: "dc.nh"; ni: "dc.ni"; nj: "dc.nj"; nk: "dc.nk"; nl: "dc.nl"; nm: "dc.nm"; nn: "dc.nn"; no: "dc.no"; np: "dc.np"; nq: "dc.nq"; nr: "dc.nr"; ns: "dc.ns"; nt: "dc.nt"; nu: "dc.nu"; nv: "dc.nv"; nw: "dc.nw"; nx: "dc.nx"; ny: "dc.ny"; nz: "dc.nz"; oa: "dc.oa"; ob: "dc.ob"; oc: "dc.oc"; od: "dc.od"; oe: "dc.oe"; of: "dc.of"; og: "dc.og"; oh: "dc.oh"; oi: "dc.oi"; oj: "dc.oj"; ok: "dc.ok"; ol: "dc.ol"; om: "dc.om"; on: "dc.on"; oo: "dc.oo"; op: "dc.op"; oq: "dc.oq"; or: "dc.or"; os: "dc.os"; ot: "dc.ot"; ou: "dc.ou"; ov: "dc.ov"; ow: "dc.ow"; ox: "dc.ox"; oy: "dc.oy"; oz: "dc.oz"; pa: "dc.pa"; pb: "dc.pb"; pc: "dc.pc"; pd: "dc.pd"; pe: "dc.pe"; pf: "dc.pf"; pg: "dc.pg"; ph: "dc.ph"; pi: "dc.pi"; pj: "dc.pj"; pk: "dc.pk"; pl: "dc.pl"; pm: "dc.pm"; pn: "dc.pn"; po: "dc.po"; pp: "dc.pp"; pq: "dc.pq"; pr: "dc.pr"; ps: "dc.ps"; pt: "dc.pt"; pu: "dc.pu"; pv: "dc.pv"; pw: "dc.pw"; px: "dc.px"; py: "dc.py"; pz: "dc.pz"; qa: "dc.qa"; qb: "dc.qb"; qc: "dc.qc"; qd: "dc.qd"; qe: "dc.qe"; qf: "dc.qf"; qg: "dc.qg"; qh: "dc.qh"; qi: "dc.qi"; qj: "dc.qj"; qk: "dc.qk"; ql: "dc.ql"; qm: "dc.qm"; qn: "dc.qn"; qo: "dc.qo"; qp: "dc.qp"; qq: "dc.qq"; qr: "dc.qr"; qs: "dc.qs"; qt: "dc.qt"; qu: "dc.qu"; qv: "dc.qv"; qw: "dc.qw"; qx: "dc.qx"; qy: "dc.qy"; qz: "dc.qz"; ra: "dc.ra"; rb: "dc.rb"; rc: "dc.rc"; rd: "dc.rd"; re: "dc.re"; rf: "dc.rf"; rg: "dc.rg"; rh: "dc.rh"; ri: "dc.ri"; rj: "dc.rj"; rk: "dc.rk"; rl: "dc.rl"; rm: "dc.rm"; rn: "dc.rn"; ro: "dc.ro"; rp: "dc.rp"; rq: "dc.rq"; rr: "dc.rr"; rs: "dc.rs"; rt: "dc.rt"; ru: "dc.ru"; rv: "dc.rv"; rw: "dc.rw"; rx: "dc.rx"; ry: "dc.ry"; rz: "dc.rz"; sa: "dc.sa"; sb: "dc.sb"; sc: "dc.sc"; sd: "dc.sd"; se: "dc.se"; sf: "dc.sf"; sg: "dc.sg"; sh: "dc.sh"; si: "dc.si"; sj: "dc.sj"; sk: "dc.sk"; sl: "dc.sl"; sm: "dc.sm"; sn: "dc.sn"; so: "dc.so"; sp: "dc.sp"; sq: "dc.sq"; sr: "dc.sr"; ss: "dc.ss"; st: "dc.st"; su: "dc.su"; sv: "dc.sv"; sw: "dc.sw"; sx: "dc.sx"; sy: "dc.sy"; sz: "dc.sz"; ta: "dc.ta"; tb: "dc.tb"; tc: "dc.tc"; td: "dc.td"; te: "dc.te"; tf: "dc.tf"; tg: "dc.tg"; th: "dc.th"; ti: "dc.ti"; tj: "dc.tj"; tk: "dc.tk"; tl: "dc.tl"; tm: "dc.tm"; tn: "dc.tn"; to: "dc.to"; tp: "dc.tp"; tq: "dc.tq"; tr: "dc.tr"; ts: "dc.ts"; tt: "dc.tt"; tu: "dc.tu"; tv: "dc.tv"; tw: "dc.tw"; tx: "dc.tx"; ty: "dc.ty"; tz: "dc.tz"; ua: "dc.ua"; ub: "dc.ub"; uc: "dc.uc"; ud: "dc.ud"; ue: "dc.ue"; uf: "dc.uf"; ug: "dc.ug"; uh: "dc.uh"; ui: "dc.ui"; uj: "dc.uj"; uk: "dc.uk"; ul: "dc.ul"; um: "dc.um"; un: "dc.un"; uo: "dc.uo"; up: "dc.up"; uq: "dc.uq"; ur: "dc.ur"; us: "dc.us"; ut: "dc.ut"; uu: "dc.uu"; uv: "dc.uv"; uw: "dc.uw"; ux: "dc.ux"; uy: "dc.uy"; uz: "dc.uz"; va: "dc.va"; vb: "dc.vb"; vc: "dc.vc"; vd: "dc.vd"; ve: "dc.ve"; vf: "dc.vf"; vg: "dc.vg"; vh: "dc.vh"; vi: "dc.vi"; vj: "dc.vj"; vk: "dc.vk"; vl: "dc.vl"; vm: "dc.vm"; vn: "dc.vn"; vo: "dc.vo"; vp: "dc.vp"; vq: "dc.vq"; vr: "dc.vr"; vs: "dc.vs"; vt: "dc.vt"; vu: "dc.vu"; vv: "dc.vv"; vw: "dc.vw"; vx: "dc.vx"; vy: "dc.vy"; vz: "dc.vz"; wa: "dc.wa"; wb: "dc.wb"; wc: "dc.wc"; wd: "dc.wd"; we: "dc.we"; wf: "dc.wf"; wg: "dc.wg"; wh: "dc.wh"; wi: "dc.wi"; wj: "dc.wj"; wk: "dc.wk"; wl: "dc.wl"; wm: "dc.wm"; wn: "dc.wn"; wo: "dc.wo"; wp: "dc.wp"; wq: "dc.wq"; wr: "dc.wr"; ws: "dc.ws"; wt: "dc.wt"; wu: "dc.wu"; wv: "dc.wv"; ww: "dc.ww"; wx: "dc.wx"; wy: "dc.wy"; wz: "dc.wz"; xa: "dc.xa"; xb: "dc.xb"; xc: "dc.xc"; xd: "dc.xd"; xe: "dc.xe"; xf: "dc.xf"; xg: "dc.xg"; xh: "dc.xh"; xi: "dc.xi"; xj: "dc.xj"; xk: "dc.xk"; xl: "dc.xl"; xm: "dc.xm"; xn: "dc.xn"; xo: "dc.xo"; xp: "dc.xp"; xq: "dc.xq"; xr: "dc.xr"; xs: "dc.xs"; xt: "dc.xt"; xu: "dc.xu"; xv: "dc.xv"; xw: "dc.xw"; xx: "dc.xx"; xy: "dc.xy"; xz: "dc.xz"; ya: "dc.ya"; yb: "dc.yb"; yc: "dc.yc"; yd: "dc.yd"; ye: "dc.ye"; yf: "dc.yf"; yg: "dc.yg"; yh: "dc.yh"; yi: "dc.yi"; yj: "dc.yj"; yk: "dc.yk"; yl: "dc.yl"; ym: "dc.ym"; yn: "dc.yn"; yo: "dc.yo"; yp: "dc.yp"; yq: "dc.yq"; yr: "dc.yr"; ys: "dc.ys"; yt: "dc.yt"; yu: "dc.yu"; yv: "dc.yv"; yw: "dc.yw"; yx: "dc.yx"; yy: "dc.yy"; yz: "dc.yz"; za: "dc.za"; zb: "dc.zb"; zc: "dc.zc"; zd: "dc.zd"; ze: "dc.ze"; zf: "dc.zf"; zg: "dc.zg"; zh: "dc.zh"; zi: "dc.zi"; zj: "dc.zj"; zk: "dc.zk"; zl: "dc.zl"; zm: "dc.zm"; zn: "dc.zn"; zo: "dc.zo"; zp: "dc.zp"; zq: "dc.zq"; zr: "dc.zr"; zs: "dc.zs"; zt: "dc.zt"; zu: "dc.zu"; zv: "dc.zv"; zw: "dc.zw"; zx: "dc.zx"; zy: "dc.zy"; zz: "dc.zz"; }; dd: { aa: "dd.aa"; ab: "dd.ab"; ac: "dd.ac"; ad: "dd.ad"; ae: "dd.ae"; af: "dd.af"; ag: "dd.ag"; ah: "dd.ah"; ai: "dd.ai"; aj: "dd.aj"; ak: "dd.ak"; al: "dd.al"; am: "dd.am"; an: "dd.an"; ao: "dd.ao"; ap: "dd.ap"; aq: "dd.aq"; ar: "dd.ar"; as: "dd.as"; at: "dd.at"; au: "dd.au"; av: "dd.av"; aw: "dd.aw"; ax: "dd.ax"; ay: "dd.ay"; az: "dd.az"; ba: "dd.ba"; bb: "dd.bb"; bc: "dd.bc"; bd: "dd.bd"; be: "dd.be"; bf: "dd.bf"; bg: "dd.bg"; bh: "dd.bh"; bi: "dd.bi"; bj: "dd.bj"; bk: "dd.bk"; bl: "dd.bl"; bm: "dd.bm"; bn: "dd.bn"; bo: "dd.bo"; bp: "dd.bp"; bq: "dd.bq"; br: "dd.br"; bs: "dd.bs"; bt: "dd.bt"; bu: "dd.bu"; bv: "dd.bv"; bw: "dd.bw"; bx: "dd.bx"; by: "dd.by"; bz: "dd.bz"; ca: "dd.ca"; cb: "dd.cb"; cc: "dd.cc"; cd: "dd.cd"; ce: "dd.ce"; cf: "dd.cf"; cg: "dd.cg"; ch: "dd.ch"; ci: "dd.ci"; cj: "dd.cj"; ck: "dd.ck"; cl: "dd.cl"; cm: "dd.cm"; cn: "dd.cn"; co: "dd.co"; cp: "dd.cp"; cq: "dd.cq"; cr: "dd.cr"; cs: "dd.cs"; ct: "dd.ct"; cu: "dd.cu"; cv: "dd.cv"; cw: "dd.cw"; cx: "dd.cx"; cy: "dd.cy"; cz: "dd.cz"; da: "dd.da"; db: "dd.db"; dc: "dd.dc"; dd: "dd.dd"; de: "dd.de"; df: "dd.df"; dg: "dd.dg"; dh: "dd.dh"; di: "dd.di"; dj: "dd.dj"; dk: "dd.dk"; dl: "dd.dl"; dm: "dd.dm"; dn: "dd.dn"; do: "dd.do"; dp: "dd.dp"; dq: "dd.dq"; dr: "dd.dr"; ds: "dd.ds"; dt: "dd.dt"; du: "dd.du"; dv: "dd.dv"; dw: "dd.dw"; dx: "dd.dx"; dy: "dd.dy"; dz: "dd.dz"; ea: "dd.ea"; eb: "dd.eb"; ec: "dd.ec"; ed: "dd.ed"; ee: "dd.ee"; ef: "dd.ef"; eg: "dd.eg"; eh: "dd.eh"; ei: "dd.ei"; ej: "dd.ej"; ek: "dd.ek"; el: "dd.el"; em: "dd.em"; en: "dd.en"; eo: "dd.eo"; ep: "dd.ep"; eq: "dd.eq"; er: "dd.er"; es: "dd.es"; et: "dd.et"; eu: "dd.eu"; ev: "dd.ev"; ew: "dd.ew"; ex: "dd.ex"; ey: "dd.ey"; ez: "dd.ez"; fa: "dd.fa"; fb: "dd.fb"; fc: "dd.fc"; fd: "dd.fd"; fe: "dd.fe"; ff: "dd.ff"; fg: "dd.fg"; fh: "dd.fh"; fi: "dd.fi"; fj: "dd.fj"; fk: "dd.fk"; fl: "dd.fl"; fm: "dd.fm"; fn: "dd.fn"; fo: "dd.fo"; fp: "dd.fp"; fq: "dd.fq"; fr: "dd.fr"; fs: "dd.fs"; ft: "dd.ft"; fu: "dd.fu"; fv: "dd.fv"; fw: "dd.fw"; fx: "dd.fx"; fy: "dd.fy"; fz: "dd.fz"; ga: "dd.ga"; gb: "dd.gb"; gc: "dd.gc"; gd: "dd.gd"; ge: "dd.ge"; gf: "dd.gf"; gg: "dd.gg"; gh: "dd.gh"; gi: "dd.gi"; gj: "dd.gj"; gk: "dd.gk"; gl: "dd.gl"; gm: "dd.gm"; gn: "dd.gn"; go: "dd.go"; gp: "dd.gp"; gq: "dd.gq"; gr: "dd.gr"; gs: "dd.gs"; gt: "dd.gt"; gu: "dd.gu"; gv: "dd.gv"; gw: "dd.gw"; gx: "dd.gx"; gy: "dd.gy"; gz: "dd.gz"; ha: "dd.ha"; hb: "dd.hb"; hc: "dd.hc"; hd: "dd.hd"; he: "dd.he"; hf: "dd.hf"; hg: "dd.hg"; hh: "dd.hh"; hi: "dd.hi"; hj: "dd.hj"; hk: "dd.hk"; hl: "dd.hl"; hm: "dd.hm"; hn: "dd.hn"; ho: "dd.ho"; hp: "dd.hp"; hq: "dd.hq"; hr: "dd.hr"; hs: "dd.hs"; ht: "dd.ht"; hu: "dd.hu"; hv: "dd.hv"; hw: "dd.hw"; hx: "dd.hx"; hy: "dd.hy"; hz: "dd.hz"; ia: "dd.ia"; ib: "dd.ib"; ic: "dd.ic"; id: "dd.id"; ie: "dd.ie"; if: "dd.if"; ig: "dd.ig"; ih: "dd.ih"; ii: "dd.ii"; ij: "dd.ij"; ik: "dd.ik"; il: "dd.il"; im: "dd.im"; in: "dd.in"; io: "dd.io"; ip: "dd.ip"; iq: "dd.iq"; ir: "dd.ir"; is: "dd.is"; it: "dd.it"; iu: "dd.iu"; iv: "dd.iv"; iw: "dd.iw"; ix: "dd.ix"; iy: "dd.iy"; iz: "dd.iz"; ja: "dd.ja"; jb: "dd.jb"; jc: "dd.jc"; jd: "dd.jd"; je: "dd.je"; jf: "dd.jf"; jg: "dd.jg"; jh: "dd.jh"; ji: "dd.ji"; jj: "dd.jj"; jk: "dd.jk"; jl: "dd.jl"; jm: "dd.jm"; jn: "dd.jn"; jo: "dd.jo"; jp: "dd.jp"; jq: "dd.jq"; jr: "dd.jr"; js: "dd.js"; jt: "dd.jt"; ju: "dd.ju"; jv: "dd.jv"; jw: "dd.jw"; jx: "dd.jx"; jy: "dd.jy"; jz: "dd.jz"; ka: "dd.ka"; kb: "dd.kb"; kc: "dd.kc"; kd: "dd.kd"; ke: "dd.ke"; kf: "dd.kf"; kg: "dd.kg"; kh: "dd.kh"; ki: "dd.ki"; kj: "dd.kj"; kk: "dd.kk"; kl: "dd.kl"; km: "dd.km"; kn: "dd.kn"; ko: "dd.ko"; kp: "dd.kp"; kq: "dd.kq"; kr: "dd.kr"; ks: "dd.ks"; kt: "dd.kt"; ku: "dd.ku"; kv: "dd.kv"; kw: "dd.kw"; kx: "dd.kx"; ky: "dd.ky"; kz: "dd.kz"; la: "dd.la"; lb: "dd.lb"; lc: "dd.lc"; ld: "dd.ld"; le: "dd.le"; lf: "dd.lf"; lg: "dd.lg"; lh: "dd.lh"; li: "dd.li"; lj: "dd.lj"; lk: "dd.lk"; ll: "dd.ll"; lm: "dd.lm"; ln: "dd.ln"; lo: "dd.lo"; lp: "dd.lp"; lq: "dd.lq"; lr: "dd.lr"; ls: "dd.ls"; lt: "dd.lt"; lu: "dd.lu"; lv: "dd.lv"; lw: "dd.lw"; lx: "dd.lx"; ly: "dd.ly"; lz: "dd.lz"; ma: "dd.ma"; mb: "dd.mb"; mc: "dd.mc"; md: "dd.md"; me: "dd.me"; mf: "dd.mf"; mg: "dd.mg"; mh: "dd.mh"; mi: "dd.mi"; mj: "dd.mj"; mk: "dd.mk"; ml: "dd.ml"; mm: "dd.mm"; mn: "dd.mn"; mo: "dd.mo"; mp: "dd.mp"; mq: "dd.mq"; mr: "dd.mr"; ms: "dd.ms"; mt: "dd.mt"; mu: "dd.mu"; mv: "dd.mv"; mw: "dd.mw"; mx: "dd.mx"; my: "dd.my"; mz: "dd.mz"; na: "dd.na"; nb: "dd.nb"; nc: "dd.nc"; nd: "dd.nd"; ne: "dd.ne"; nf: "dd.nf"; ng: "dd.ng"; nh: "dd.nh"; ni: "dd.ni"; nj: "dd.nj"; nk: "dd.nk"; nl: "dd.nl"; nm: "dd.nm"; nn: "dd.nn"; no: "dd.no"; np: "dd.np"; nq: "dd.nq"; nr: "dd.nr"; ns: "dd.ns"; nt: "dd.nt"; nu: "dd.nu"; nv: "dd.nv"; nw: "dd.nw"; nx: "dd.nx"; ny: "dd.ny"; nz: "dd.nz"; oa: "dd.oa"; ob: "dd.ob"; oc: "dd.oc"; od: "dd.od"; oe: "dd.oe"; of: "dd.of"; og: "dd.og"; oh: "dd.oh"; oi: "dd.oi"; oj: "dd.oj"; ok: "dd.ok"; ol: "dd.ol"; om: "dd.om"; on: "dd.on"; oo: "dd.oo"; op: "dd.op"; oq: "dd.oq"; or: "dd.or"; os: "dd.os"; ot: "dd.ot"; ou: "dd.ou"; ov: "dd.ov"; ow: "dd.ow"; ox: "dd.ox"; oy: "dd.oy"; oz: "dd.oz"; pa: "dd.pa"; pb: "dd.pb"; pc: "dd.pc"; pd: "dd.pd"; pe: "dd.pe"; pf: "dd.pf"; pg: "dd.pg"; ph: "dd.ph"; pi: "dd.pi"; pj: "dd.pj"; pk: "dd.pk"; pl: "dd.pl"; pm: "dd.pm"; pn: "dd.pn"; po: "dd.po"; pp: "dd.pp"; pq: "dd.pq"; pr: "dd.pr"; ps: "dd.ps"; pt: "dd.pt"; pu: "dd.pu"; pv: "dd.pv"; pw: "dd.pw"; px: "dd.px"; py: "dd.py"; pz: "dd.pz"; qa: "dd.qa"; qb: "dd.qb"; qc: "dd.qc"; qd: "dd.qd"; qe: "dd.qe"; qf: "dd.qf"; qg: "dd.qg"; qh: "dd.qh"; qi: "dd.qi"; qj: "dd.qj"; qk: "dd.qk"; ql: "dd.ql"; qm: "dd.qm"; qn: "dd.qn"; qo: "dd.qo"; qp: "dd.qp"; qq: "dd.qq"; qr: "dd.qr"; qs: "dd.qs"; qt: "dd.qt"; qu: "dd.qu"; qv: "dd.qv"; qw: "dd.qw"; qx: "dd.qx"; qy: "dd.qy"; qz: "dd.qz"; ra: "dd.ra"; rb: "dd.rb"; rc: "dd.rc"; rd: "dd.rd"; re: "dd.re"; rf: "dd.rf"; rg: "dd.rg"; rh: "dd.rh"; ri: "dd.ri"; rj: "dd.rj"; rk: "dd.rk"; rl: "dd.rl"; rm: "dd.rm"; rn: "dd.rn"; ro: "dd.ro"; rp: "dd.rp"; rq: "dd.rq"; rr: "dd.rr"; rs: "dd.rs"; rt: "dd.rt"; ru: "dd.ru"; rv: "dd.rv"; rw: "dd.rw"; rx: "dd.rx"; ry: "dd.ry"; rz: "dd.rz"; sa: "dd.sa"; sb: "dd.sb"; sc: "dd.sc"; sd: "dd.sd"; se: "dd.se"; sf: "dd.sf"; sg: "dd.sg"; sh: "dd.sh"; si: "dd.si"; sj: "dd.sj"; sk: "dd.sk"; sl: "dd.sl"; sm: "dd.sm"; sn: "dd.sn"; so: "dd.so"; sp: "dd.sp"; sq: "dd.sq"; sr: "dd.sr"; ss: "dd.ss"; st: "dd.st"; su: "dd.su"; sv: "dd.sv"; sw: "dd.sw"; sx: "dd.sx"; sy: "dd.sy"; sz: "dd.sz"; ta: "dd.ta"; tb: "dd.tb"; tc: "dd.tc"; td: "dd.td"; te: "dd.te"; tf: "dd.tf"; tg: "dd.tg"; th: "dd.th"; ti: "dd.ti"; tj: "dd.tj"; tk: "dd.tk"; tl: "dd.tl"; tm: "dd.tm"; tn: "dd.tn"; to: "dd.to"; tp: "dd.tp"; tq: "dd.tq"; tr: "dd.tr"; ts: "dd.ts"; tt: "dd.tt"; tu: "dd.tu"; tv: "dd.tv"; tw: "dd.tw"; tx: "dd.tx"; ty: "dd.ty"; tz: "dd.tz"; ua: "dd.ua"; ub: "dd.ub"; uc: "dd.uc"; ud: "dd.ud"; ue: "dd.ue"; uf: "dd.uf"; ug: "dd.ug"; uh: "dd.uh"; ui: "dd.ui"; uj: "dd.uj"; uk: "dd.uk"; ul: "dd.ul"; um: "dd.um"; un: "dd.un"; uo: "dd.uo"; up: "dd.up"; uq: "dd.uq"; ur: "dd.ur"; us: "dd.us"; ut: "dd.ut"; uu: "dd.uu"; uv: "dd.uv"; uw: "dd.uw"; ux: "dd.ux"; uy: "dd.uy"; uz: "dd.uz"; va: "dd.va"; vb: "dd.vb"; vc: "dd.vc"; vd: "dd.vd"; ve: "dd.ve"; vf: "dd.vf"; vg: "dd.vg"; vh: "dd.vh"; vi: "dd.vi"; vj: "dd.vj"; vk: "dd.vk"; vl: "dd.vl"; vm: "dd.vm"; vn: "dd.vn"; vo: "dd.vo"; vp: "dd.vp"; vq: "dd.vq"; vr: "dd.vr"; vs: "dd.vs"; vt: "dd.vt"; vu: "dd.vu"; vv: "dd.vv"; vw: "dd.vw"; vx: "dd.vx"; vy: "dd.vy"; vz: "dd.vz"; wa: "dd.wa"; wb: "dd.wb"; wc: "dd.wc"; wd: "dd.wd"; we: "dd.we"; wf: "dd.wf"; wg: "dd.wg"; wh: "dd.wh"; wi: "dd.wi"; wj: "dd.wj"; wk: "dd.wk"; wl: "dd.wl"; wm: "dd.wm"; wn: "dd.wn"; wo: "dd.wo"; wp: "dd.wp"; wq: "dd.wq"; wr: "dd.wr"; ws: "dd.ws"; wt: "dd.wt"; wu: "dd.wu"; wv: "dd.wv"; ww: "dd.ww"; wx: "dd.wx"; wy: "dd.wy"; wz: "dd.wz"; xa: "dd.xa"; xb: "dd.xb"; xc: "dd.xc"; xd: "dd.xd"; xe: "dd.xe"; xf: "dd.xf"; xg: "dd.xg"; xh: "dd.xh"; xi: "dd.xi"; xj: "dd.xj"; xk: "dd.xk"; xl: "dd.xl"; xm: "dd.xm"; xn: "dd.xn"; xo: "dd.xo"; xp: "dd.xp"; xq: "dd.xq"; xr: "dd.xr"; xs: "dd.xs"; xt: "dd.xt"; xu: "dd.xu"; xv: "dd.xv"; xw: "dd.xw"; xx: "dd.xx"; xy: "dd.xy"; xz: "dd.xz"; ya: "dd.ya"; yb: "dd.yb"; yc: "dd.yc"; yd: "dd.yd"; ye: "dd.ye"; yf: "dd.yf"; yg: "dd.yg"; yh: "dd.yh"; yi: "dd.yi"; yj: "dd.yj"; yk: "dd.yk"; yl: "dd.yl"; ym: "dd.ym"; yn: "dd.yn"; yo: "dd.yo"; yp: "dd.yp"; yq: "dd.yq"; yr: "dd.yr"; ys: "dd.ys"; yt: "dd.yt"; yu: "dd.yu"; yv: "dd.yv"; yw: "dd.yw"; yx: "dd.yx"; yy: "dd.yy"; yz: "dd.yz"; za: "dd.za"; zb: "dd.zb"; zc: "dd.zc"; zd: "dd.zd"; ze: "dd.ze"; zf: "dd.zf"; zg: "dd.zg"; zh: "dd.zh"; zi: "dd.zi"; zj: "dd.zj"; zk: "dd.zk"; zl: "dd.zl"; zm: "dd.zm"; zn: "dd.zn"; zo: "dd.zo"; zp: "dd.zp"; zq: "dd.zq"; zr: "dd.zr"; zs: "dd.zs"; zt: "dd.zt"; zu: "dd.zu"; zv: "dd.zv"; zw: "dd.zw"; zx: "dd.zx"; zy: "dd.zy"; zz: "dd.zz"; }; de: { aa: "de.aa"; ab: "de.ab"; ac: "de.ac"; ad: "de.ad"; ae: "de.ae"; af: "de.af"; ag: "de.ag"; ah: "de.ah"; ai: "de.ai"; aj: "de.aj"; ak: "de.ak"; al: "de.al"; am: "de.am"; an: "de.an"; ao: "de.ao"; ap: "de.ap"; aq: "de.aq"; ar: "de.ar"; as: "de.as"; at: "de.at"; au: "de.au"; av: "de.av"; aw: "de.aw"; ax: "de.ax"; ay: "de.ay"; az: "de.az"; ba: "de.ba"; bb: "de.bb"; bc: "de.bc"; bd: "de.bd"; be: "de.be"; bf: "de.bf"; bg: "de.bg"; bh: "de.bh"; bi: "de.bi"; bj: "de.bj"; bk: "de.bk"; bl: "de.bl"; bm: "de.bm"; bn: "de.bn"; bo: "de.bo"; bp: "de.bp"; bq: "de.bq"; br: "de.br"; bs: "de.bs"; bt: "de.bt"; bu: "de.bu"; bv: "de.bv"; bw: "de.bw"; bx: "de.bx"; by: "de.by"; bz: "de.bz"; ca: "de.ca"; cb: "de.cb"; cc: "de.cc"; cd: "de.cd"; ce: "de.ce"; cf: "de.cf"; cg: "de.cg"; ch: "de.ch"; ci: "de.ci"; cj: "de.cj"; ck: "de.ck"; cl: "de.cl"; cm: "de.cm"; cn: "de.cn"; co: "de.co"; cp: "de.cp"; cq: "de.cq"; cr: "de.cr"; cs: "de.cs"; ct: "de.ct"; cu: "de.cu"; cv: "de.cv"; cw: "de.cw"; cx: "de.cx"; cy: "de.cy"; cz: "de.cz"; da: "de.da"; db: "de.db"; dc: "de.dc"; dd: "de.dd"; de: "de.de"; df: "de.df"; dg: "de.dg"; dh: "de.dh"; di: "de.di"; dj: "de.dj"; dk: "de.dk"; dl: "de.dl"; dm: "de.dm"; dn: "de.dn"; do: "de.do"; dp: "de.dp"; dq: "de.dq"; dr: "de.dr"; ds: "de.ds"; dt: "de.dt"; du: "de.du"; dv: "de.dv"; dw: "de.dw"; dx: "de.dx"; dy: "de.dy"; dz: "de.dz"; ea: "de.ea"; eb: "de.eb"; ec: "de.ec"; ed: "de.ed"; ee: "de.ee"; ef: "de.ef"; eg: "de.eg"; eh: "de.eh"; ei: "de.ei"; ej: "de.ej"; ek: "de.ek"; el: "de.el"; em: "de.em"; en: "de.en"; eo: "de.eo"; ep: "de.ep"; eq: "de.eq"; er: "de.er"; es: "de.es"; et: "de.et"; eu: "de.eu"; ev: "de.ev"; ew: "de.ew"; ex: "de.ex"; ey: "de.ey"; ez: "de.ez"; fa: "de.fa"; fb: "de.fb"; fc: "de.fc"; fd: "de.fd"; fe: "de.fe"; ff: "de.ff"; fg: "de.fg"; fh: "de.fh"; fi: "de.fi"; fj: "de.fj"; fk: "de.fk"; fl: "de.fl"; fm: "de.fm"; fn: "de.fn"; fo: "de.fo"; fp: "de.fp"; fq: "de.fq"; fr: "de.fr"; fs: "de.fs"; ft: "de.ft"; fu: "de.fu"; fv: "de.fv"; fw: "de.fw"; fx: "de.fx"; fy: "de.fy"; fz: "de.fz"; ga: "de.ga"; gb: "de.gb"; gc: "de.gc"; gd: "de.gd"; ge: "de.ge"; gf: "de.gf"; gg: "de.gg"; gh: "de.gh"; gi: "de.gi"; gj: "de.gj"; gk: "de.gk"; gl: "de.gl"; gm: "de.gm"; gn: "de.gn"; go: "de.go"; gp: "de.gp"; gq: "de.gq"; gr: "de.gr"; gs: "de.gs"; gt: "de.gt"; gu: "de.gu"; gv: "de.gv"; gw: "de.gw"; gx: "de.gx"; gy: "de.gy"; gz: "de.gz"; ha: "de.ha"; hb: "de.hb"; hc: "de.hc"; hd: "de.hd"; he: "de.he"; hf: "de.hf"; hg: "de.hg"; hh: "de.hh"; hi: "de.hi"; hj: "de.hj"; hk: "de.hk"; hl: "de.hl"; hm: "de.hm"; hn: "de.hn"; ho: "de.ho"; hp: "de.hp"; hq: "de.hq"; hr: "de.hr"; hs: "de.hs"; ht: "de.ht"; hu: "de.hu"; hv: "de.hv"; hw: "de.hw"; hx: "de.hx"; hy: "de.hy"; hz: "de.hz"; ia: "de.ia"; ib: "de.ib"; ic: "de.ic"; id: "de.id"; ie: "de.ie"; if: "de.if"; ig: "de.ig"; ih: "de.ih"; ii: "de.ii"; ij: "de.ij"; ik: "de.ik"; il: "de.il"; im: "de.im"; in: "de.in"; io: "de.io"; ip: "de.ip"; iq: "de.iq"; ir: "de.ir"; is: "de.is"; it: "de.it"; iu: "de.iu"; iv: "de.iv"; iw: "de.iw"; ix: "de.ix"; iy: "de.iy"; iz: "de.iz"; ja: "de.ja"; jb: "de.jb"; jc: "de.jc"; jd: "de.jd"; je: "de.je"; jf: "de.jf"; jg: "de.jg"; jh: "de.jh"; ji: "de.ji"; jj: "de.jj"; jk: "de.jk"; jl: "de.jl"; jm: "de.jm"; jn: "de.jn"; jo: "de.jo"; jp: "de.jp"; jq: "de.jq"; jr: "de.jr"; js: "de.js"; jt: "de.jt"; ju: "de.ju"; jv: "de.jv"; jw: "de.jw"; jx: "de.jx"; jy: "de.jy"; jz: "de.jz"; ka: "de.ka"; kb: "de.kb"; kc: "de.kc"; kd: "de.kd"; ke: "de.ke"; kf: "de.kf"; kg: "de.kg"; kh: "de.kh"; ki: "de.ki"; kj: "de.kj"; kk: "de.kk"; kl: "de.kl"; km: "de.km"; kn: "de.kn"; ko: "de.ko"; kp: "de.kp"; kq: "de.kq"; kr: "de.kr"; ks: "de.ks"; kt: "de.kt"; ku: "de.ku"; kv: "de.kv"; kw: "de.kw"; kx: "de.kx"; ky: "de.ky"; kz: "de.kz"; la: "de.la"; lb: "de.lb"; lc: "de.lc"; ld: "de.ld"; le: "de.le"; lf: "de.lf"; lg: "de.lg"; lh: "de.lh"; li: "de.li"; lj: "de.lj"; lk: "de.lk"; ll: "de.ll"; lm: "de.lm"; ln: "de.ln"; lo: "de.lo"; lp: "de.lp"; lq: "de.lq"; lr: "de.lr"; ls: "de.ls"; lt: "de.lt"; lu: "de.lu"; lv: "de.lv"; lw: "de.lw"; lx: "de.lx"; ly: "de.ly"; lz: "de.lz"; ma: "de.ma"; mb: "de.mb"; mc: "de.mc"; md: "de.md"; me: "de.me"; mf: "de.mf"; mg: "de.mg"; mh: "de.mh"; mi: "de.mi"; mj: "de.mj"; mk: "de.mk"; ml: "de.ml"; mm: "de.mm"; mn: "de.mn"; mo: "de.mo"; mp: "de.mp"; mq: "de.mq"; mr: "de.mr"; ms: "de.ms"; mt: "de.mt"; mu: "de.mu"; mv: "de.mv"; mw: "de.mw"; mx: "de.mx"; my: "de.my"; mz: "de.mz"; na: "de.na"; nb: "de.nb"; nc: "de.nc"; nd: "de.nd"; ne: "de.ne"; nf: "de.nf"; ng: "de.ng"; nh: "de.nh"; ni: "de.ni"; nj: "de.nj"; nk: "de.nk"; nl: "de.nl"; nm: "de.nm"; nn: "de.nn"; no: "de.no"; np: "de.np"; nq: "de.nq"; nr: "de.nr"; ns: "de.ns"; nt: "de.nt"; nu: "de.nu"; nv: "de.nv"; nw: "de.nw"; nx: "de.nx"; ny: "de.ny"; nz: "de.nz"; oa: "de.oa"; ob: "de.ob"; oc: "de.oc"; od: "de.od"; oe: "de.oe"; of: "de.of"; og: "de.og"; oh: "de.oh"; oi: "de.oi"; oj: "de.oj"; ok: "de.ok"; ol: "de.ol"; om: "de.om"; on: "de.on"; oo: "de.oo"; op: "de.op"; oq: "de.oq"; or: "de.or"; os: "de.os"; ot: "de.ot"; ou: "de.ou"; ov: "de.ov"; ow: "de.ow"; ox: "de.ox"; oy: "de.oy"; oz: "de.oz"; pa: "de.pa"; pb: "de.pb"; pc: "de.pc"; pd: "de.pd"; pe: "de.pe"; pf: "de.pf"; pg: "de.pg"; ph: "de.ph"; pi: "de.pi"; pj: "de.pj"; pk: "de.pk"; pl: "de.pl"; pm: "de.pm"; pn: "de.pn"; po: "de.po"; pp: "de.pp"; pq: "de.pq"; pr: "de.pr"; ps: "de.ps"; pt: "de.pt"; pu: "de.pu"; pv: "de.pv"; pw: "de.pw"; px: "de.px"; py: "de.py"; pz: "de.pz"; qa: "de.qa"; qb: "de.qb"; qc: "de.qc"; qd: "de.qd"; qe: "de.qe"; qf: "de.qf"; qg: "de.qg"; qh: "de.qh"; qi: "de.qi"; qj: "de.qj"; qk: "de.qk"; ql: "de.ql"; qm: "de.qm"; qn: "de.qn"; qo: "de.qo"; qp: "de.qp"; qq: "de.qq"; qr: "de.qr"; qs: "de.qs"; qt: "de.qt"; qu: "de.qu"; qv: "de.qv"; qw: "de.qw"; qx: "de.qx"; qy: "de.qy"; qz: "de.qz"; ra: "de.ra"; rb: "de.rb"; rc: "de.rc"; rd: "de.rd"; re: "de.re"; rf: "de.rf"; rg: "de.rg"; rh: "de.rh"; ri: "de.ri"; rj: "de.rj"; rk: "de.rk"; rl: "de.rl"; rm: "de.rm"; rn: "de.rn"; ro: "de.ro"; rp: "de.rp"; rq: "de.rq"; rr: "de.rr"; rs: "de.rs"; rt: "de.rt"; ru: "de.ru"; rv: "de.rv"; rw: "de.rw"; rx: "de.rx"; ry: "de.ry"; rz: "de.rz"; sa: "de.sa"; sb: "de.sb"; sc: "de.sc"; sd: "de.sd"; se: "de.se"; sf: "de.sf"; sg: "de.sg"; sh: "de.sh"; si: "de.si"; sj: "de.sj"; sk: "de.sk"; sl: "de.sl"; sm: "de.sm"; sn: "de.sn"; so: "de.so"; sp: "de.sp"; sq: "de.sq"; sr: "de.sr"; ss: "de.ss"; st: "de.st"; su: "de.su"; sv: "de.sv"; sw: "de.sw"; sx: "de.sx"; sy: "de.sy"; sz: "de.sz"; ta: "de.ta"; tb: "de.tb"; tc: "de.tc"; td: "de.td"; te: "de.te"; tf: "de.tf"; tg: "de.tg"; th: "de.th"; ti: "de.ti"; tj: "de.tj"; tk: "de.tk"; tl: "de.tl"; tm: "de.tm"; tn: "de.tn"; to: "de.to"; tp: "de.tp"; tq: "de.tq"; tr: "de.tr"; ts: "de.ts"; tt: "de.tt"; tu: "de.tu"; tv: "de.tv"; tw: "de.tw"; tx: "de.tx"; ty: "de.ty"; tz: "de.tz"; ua: "de.ua"; ub: "de.ub"; uc: "de.uc"; ud: "de.ud"; ue: "de.ue"; uf: "de.uf"; ug: "de.ug"; uh: "de.uh"; ui: "de.ui"; uj: "de.uj"; uk: "de.uk"; ul: "de.ul"; um: "de.um"; un: "de.un"; uo: "de.uo"; up: "de.up"; uq: "de.uq"; ur: "de.ur"; us: "de.us"; ut: "de.ut"; uu: "de.uu"; uv: "de.uv"; uw: "de.uw"; ux: "de.ux"; uy: "de.uy"; uz: "de.uz"; va: "de.va"; vb: "de.vb"; vc: "de.vc"; vd: "de.vd"; ve: "de.ve"; vf: "de.vf"; vg: "de.vg"; vh: "de.vh"; vi: "de.vi"; vj: "de.vj"; vk: "de.vk"; vl: "de.vl"; vm: "de.vm"; vn: "de.vn"; vo: "de.vo"; vp: "de.vp"; vq: "de.vq"; vr: "de.vr"; vs: "de.vs"; vt: "de.vt"; vu: "de.vu"; vv: "de.vv"; vw: "de.vw"; vx: "de.vx"; vy: "de.vy"; vz: "de.vz"; wa: "de.wa"; wb: "de.wb"; wc: "de.wc"; wd: "de.wd"; we: "de.we"; wf: "de.wf"; wg: "de.wg"; wh: "de.wh"; wi: "de.wi"; wj: "de.wj"; wk: "de.wk"; wl: "de.wl"; wm: "de.wm"; wn: "de.wn"; wo: "de.wo"; wp: "de.wp"; wq: "de.wq"; wr: "de.wr"; ws: "de.ws"; wt: "de.wt"; wu: "de.wu"; wv: "de.wv"; ww: "de.ww"; wx: "de.wx"; wy: "de.wy"; wz: "de.wz"; xa: "de.xa"; xb: "de.xb"; xc: "de.xc"; xd: "de.xd"; xe: "de.xe"; xf: "de.xf"; xg: "de.xg"; xh: "de.xh"; xi: "de.xi"; xj: "de.xj"; xk: "de.xk"; xl: "de.xl"; xm: "de.xm"; xn: "de.xn"; xo: "de.xo"; xp: "de.xp"; xq: "de.xq"; xr: "de.xr"; xs: "de.xs"; xt: "de.xt"; xu: "de.xu"; xv: "de.xv"; xw: "de.xw"; xx: "de.xx"; xy: "de.xy"; xz: "de.xz"; ya: "de.ya"; yb: "de.yb"; yc: "de.yc"; yd: "de.yd"; ye: "de.ye"; yf: "de.yf"; yg: "de.yg"; yh: "de.yh"; yi: "de.yi"; yj: "de.yj"; yk: "de.yk"; yl: "de.yl"; ym: "de.ym"; yn: "de.yn"; yo: "de.yo"; yp: "de.yp"; yq: "de.yq"; yr: "de.yr"; ys: "de.ys"; yt: "de.yt"; yu: "de.yu"; yv: "de.yv"; yw: "de.yw"; yx: "de.yx"; yy: "de.yy"; yz: "de.yz"; za: "de.za"; zb: "de.zb"; zc: "de.zc"; zd: "de.zd"; ze: "de.ze"; zf: "de.zf"; zg: "de.zg"; zh: "de.zh"; zi: "de.zi"; zj: "de.zj"; zk: "de.zk"; zl: "de.zl"; zm: "de.zm"; zn: "de.zn"; zo: "de.zo"; zp: "de.zp"; zq: "de.zq"; zr: "de.zr"; zs: "de.zs"; zt: "de.zt"; zu: "de.zu"; zv: "de.zv"; zw: "de.zw"; zx: "de.zx"; zy: "de.zy"; zz: "de.zz"; }; df: { aa: "df.aa"; ab: "df.ab"; ac: "df.ac"; ad: "df.ad"; ae: "df.ae"; af: "df.af"; ag: "df.ag"; ah: "df.ah"; ai: "df.ai"; aj: "df.aj"; ak: "df.ak"; al: "df.al"; am: "df.am"; an: "df.an"; ao: "df.ao"; ap: "df.ap"; aq: "df.aq"; ar: "df.ar"; as: "df.as"; at: "df.at"; au: "df.au"; av: "df.av"; aw: "df.aw"; ax: "df.ax"; ay: "df.ay"; az: "df.az"; ba: "df.ba"; bb: "df.bb"; bc: "df.bc"; bd: "df.bd"; be: "df.be"; bf: "df.bf"; bg: "df.bg"; bh: "df.bh"; bi: "df.bi"; bj: "df.bj"; bk: "df.bk"; bl: "df.bl"; bm: "df.bm"; bn: "df.bn"; bo: "df.bo"; bp: "df.bp"; bq: "df.bq"; br: "df.br"; bs: "df.bs"; bt: "df.bt"; bu: "df.bu"; bv: "df.bv"; bw: "df.bw"; bx: "df.bx"; by: "df.by"; bz: "df.bz"; ca: "df.ca"; cb: "df.cb"; cc: "df.cc"; cd: "df.cd"; ce: "df.ce"; cf: "df.cf"; cg: "df.cg"; ch: "df.ch"; ci: "df.ci"; cj: "df.cj"; ck: "df.ck"; cl: "df.cl"; cm: "df.cm"; cn: "df.cn"; co: "df.co"; cp: "df.cp"; cq: "df.cq"; cr: "df.cr"; cs: "df.cs"; ct: "df.ct"; cu: "df.cu"; cv: "df.cv"; cw: "df.cw"; cx: "df.cx"; cy: "df.cy"; cz: "df.cz"; da: "df.da"; db: "df.db"; dc: "df.dc"; dd: "df.dd"; de: "df.de"; df: "df.df"; dg: "df.dg"; dh: "df.dh"; di: "df.di"; dj: "df.dj"; dk: "df.dk"; dl: "df.dl"; dm: "df.dm"; dn: "df.dn"; do: "df.do"; dp: "df.dp"; dq: "df.dq"; dr: "df.dr"; ds: "df.ds"; dt: "df.dt"; du: "df.du"; dv: "df.dv"; dw: "df.dw"; dx: "df.dx"; dy: "df.dy"; dz: "df.dz"; ea: "df.ea"; eb: "df.eb"; ec: "df.ec"; ed: "df.ed"; ee: "df.ee"; ef: "df.ef"; eg: "df.eg"; eh: "df.eh"; ei: "df.ei"; ej: "df.ej"; ek: "df.ek"; el: "df.el"; em: "df.em"; en: "df.en"; eo: "df.eo"; ep: "df.ep"; eq: "df.eq"; er: "df.er"; es: "df.es"; et: "df.et"; eu: "df.eu"; ev: "df.ev"; ew: "df.ew"; ex: "df.ex"; ey: "df.ey"; ez: "df.ez"; fa: "df.fa"; fb: "df.fb"; fc: "df.fc"; fd: "df.fd"; fe: "df.fe"; ff: "df.ff"; fg: "df.fg"; fh: "df.fh"; fi: "df.fi"; fj: "df.fj"; fk: "df.fk"; fl: "df.fl"; fm: "df.fm"; fn: "df.fn"; fo: "df.fo"; fp: "df.fp"; fq: "df.fq"; fr: "df.fr"; fs: "df.fs"; ft: "df.ft"; fu: "df.fu"; fv: "df.fv"; fw: "df.fw"; fx: "df.fx"; fy: "df.fy"; fz: "df.fz"; ga: "df.ga"; gb: "df.gb"; gc: "df.gc"; gd: "df.gd"; ge: "df.ge"; gf: "df.gf"; gg: "df.gg"; gh: "df.gh"; gi: "df.gi"; gj: "df.gj"; gk: "df.gk"; gl: "df.gl"; gm: "df.gm"; gn: "df.gn"; go: "df.go"; gp: "df.gp"; gq: "df.gq"; gr: "df.gr"; gs: "df.gs"; gt: "df.gt"; gu: "df.gu"; gv: "df.gv"; gw: "df.gw"; gx: "df.gx"; gy: "df.gy"; gz: "df.gz"; ha: "df.ha"; hb: "df.hb"; hc: "df.hc"; hd: "df.hd"; he: "df.he"; hf: "df.hf"; hg: "df.hg"; hh: "df.hh"; hi: "df.hi"; hj: "df.hj"; hk: "df.hk"; hl: "df.hl"; hm: "df.hm"; hn: "df.hn"; ho: "df.ho"; hp: "df.hp"; hq: "df.hq"; hr: "df.hr"; hs: "df.hs"; ht: "df.ht"; hu: "df.hu"; hv: "df.hv"; hw: "df.hw"; hx: "df.hx"; hy: "df.hy"; hz: "df.hz"; ia: "df.ia"; ib: "df.ib"; ic: "df.ic"; id: "df.id"; ie: "df.ie"; if: "df.if"; ig: "df.ig"; ih: "df.ih"; ii: "df.ii"; ij: "df.ij"; ik: "df.ik"; il: "df.il"; im: "df.im"; in: "df.in"; io: "df.io"; ip: "df.ip"; iq: "df.iq"; ir: "df.ir"; is: "df.is"; it: "df.it"; iu: "df.iu"; iv: "df.iv"; iw: "df.iw"; ix: "df.ix"; iy: "df.iy"; iz: "df.iz"; ja: "df.ja"; jb: "df.jb"; jc: "df.jc"; jd: "df.jd"; je: "df.je"; jf: "df.jf"; jg: "df.jg"; jh: "df.jh"; ji: "df.ji"; jj: "df.jj"; jk: "df.jk"; jl: "df.jl"; jm: "df.jm"; jn: "df.jn"; jo: "df.jo"; jp: "df.jp"; jq: "df.jq"; jr: "df.jr"; js: "df.js"; jt: "df.jt"; ju: "df.ju"; jv: "df.jv"; jw: "df.jw"; jx: "df.jx"; jy: "df.jy"; jz: "df.jz"; ka: "df.ka"; kb: "df.kb"; kc: "df.kc"; kd: "df.kd"; ke: "df.ke"; kf: "df.kf"; kg: "df.kg"; kh: "df.kh"; ki: "df.ki"; kj: "df.kj"; kk: "df.kk"; kl: "df.kl"; km: "df.km"; kn: "df.kn"; ko: "df.ko"; kp: "df.kp"; kq: "df.kq"; kr: "df.kr"; ks: "df.ks"; kt: "df.kt"; ku: "df.ku"; kv: "df.kv"; kw: "df.kw"; kx: "df.kx"; ky: "df.ky"; kz: "df.kz"; la: "df.la"; lb: "df.lb"; lc: "df.lc"; ld: "df.ld"; le: "df.le"; lf: "df.lf"; lg: "df.lg"; lh: "df.lh"; li: "df.li"; lj: "df.lj"; lk: "df.lk"; ll: "df.ll"; lm: "df.lm"; ln: "df.ln"; lo: "df.lo"; lp: "df.lp"; lq: "df.lq"; lr: "df.lr"; ls: "df.ls"; lt: "df.lt"; lu: "df.lu"; lv: "df.lv"; lw: "df.lw"; lx: "df.lx"; ly: "df.ly"; lz: "df.lz"; ma: "df.ma"; mb: "df.mb"; mc: "df.mc"; md: "df.md"; me: "df.me"; mf: "df.mf"; mg: "df.mg"; mh: "df.mh"; mi: "df.mi"; mj: "df.mj"; mk: "df.mk"; ml: "df.ml"; mm: "df.mm"; mn: "df.mn"; mo: "df.mo"; mp: "df.mp"; mq: "df.mq"; mr: "df.mr"; ms: "df.ms"; mt: "df.mt"; mu: "df.mu"; mv: "df.mv"; mw: "df.mw"; mx: "df.mx"; my: "df.my"; mz: "df.mz"; na: "df.na"; nb: "df.nb"; nc: "df.nc"; nd: "df.nd"; ne: "df.ne"; nf: "df.nf"; ng: "df.ng"; nh: "df.nh"; ni: "df.ni"; nj: "df.nj"; nk: "df.nk"; nl: "df.nl"; nm: "df.nm"; nn: "df.nn"; no: "df.no"; np: "df.np"; nq: "df.nq"; nr: "df.nr"; ns: "df.ns"; nt: "df.nt"; nu: "df.nu"; nv: "df.nv"; nw: "df.nw"; nx: "df.nx"; ny: "df.ny"; nz: "df.nz"; oa: "df.oa"; ob: "df.ob"; oc: "df.oc"; od: "df.od"; oe: "df.oe"; of: "df.of"; og: "df.og"; oh: "df.oh"; oi: "df.oi"; oj: "df.oj"; ok: "df.ok"; ol: "df.ol"; om: "df.om"; on: "df.on"; oo: "df.oo"; op: "df.op"; oq: "df.oq"; or: "df.or"; os: "df.os"; ot: "df.ot"; ou: "df.ou"; ov: "df.ov"; ow: "df.ow"; ox: "df.ox"; oy: "df.oy"; oz: "df.oz"; pa: "df.pa"; pb: "df.pb"; pc: "df.pc"; pd: "df.pd"; pe: "df.pe"; pf: "df.pf"; pg: "df.pg"; ph: "df.ph"; pi: "df.pi"; pj: "df.pj"; pk: "df.pk"; pl: "df.pl"; pm: "df.pm"; pn: "df.pn"; po: "df.po"; pp: "df.pp"; pq: "df.pq"; pr: "df.pr"; ps: "df.ps"; pt: "df.pt"; pu: "df.pu"; pv: "df.pv"; pw: "df.pw"; px: "df.px"; py: "df.py"; pz: "df.pz"; qa: "df.qa"; qb: "df.qb"; qc: "df.qc"; qd: "df.qd"; qe: "df.qe"; qf: "df.qf"; qg: "df.qg"; qh: "df.qh"; qi: "df.qi"; qj: "df.qj"; qk: "df.qk"; ql: "df.ql"; qm: "df.qm"; qn: "df.qn"; qo: "df.qo"; qp: "df.qp"; qq: "df.qq"; qr: "df.qr"; qs: "df.qs"; qt: "df.qt"; qu: "df.qu"; qv: "df.qv"; qw: "df.qw"; qx: "df.qx"; qy: "df.qy"; qz: "df.qz"; ra: "df.ra"; rb: "df.rb"; rc: "df.rc"; rd: "df.rd"; re: "df.re"; rf: "df.rf"; rg: "df.rg"; rh: "df.rh"; ri: "df.ri"; rj: "df.rj"; rk: "df.rk"; rl: "df.rl"; rm: "df.rm"; rn: "df.rn"; ro: "df.ro"; rp: "df.rp"; rq: "df.rq"; rr: "df.rr"; rs: "df.rs"; rt: "df.rt"; ru: "df.ru"; rv: "df.rv"; rw: "df.rw"; rx: "df.rx"; ry: "df.ry"; rz: "df.rz"; sa: "df.sa"; sb: "df.sb"; sc: "df.sc"; sd: "df.sd"; se: "df.se"; sf: "df.sf"; sg: "df.sg"; sh: "df.sh"; si: "df.si"; sj: "df.sj"; sk: "df.sk"; sl: "df.sl"; sm: "df.sm"; sn: "df.sn"; so: "df.so"; sp: "df.sp"; sq: "df.sq"; sr: "df.sr"; ss: "df.ss"; st: "df.st"; su: "df.su"; sv: "df.sv"; sw: "df.sw"; sx: "df.sx"; sy: "df.sy"; sz: "df.sz"; ta: "df.ta"; tb: "df.tb"; tc: "df.tc"; td: "df.td"; te: "df.te"; tf: "df.tf"; tg: "df.tg"; th: "df.th"; ti: "df.ti"; tj: "df.tj"; tk: "df.tk"; tl: "df.tl"; tm: "df.tm"; tn: "df.tn"; to: "df.to"; tp: "df.tp"; tq: "df.tq"; tr: "df.tr"; ts: "df.ts"; tt: "df.tt"; tu: "df.tu"; tv: "df.tv"; tw: "df.tw"; tx: "df.tx"; ty: "df.ty"; tz: "df.tz"; ua: "df.ua"; ub: "df.ub"; uc: "df.uc"; ud: "df.ud"; ue: "df.ue"; uf: "df.uf"; ug: "df.ug"; uh: "df.uh"; ui: "df.ui"; uj: "df.uj"; uk: "df.uk"; ul: "df.ul"; um: "df.um"; un: "df.un"; uo: "df.uo"; up: "df.up"; uq: "df.uq"; ur: "df.ur"; us: "df.us"; ut: "df.ut"; uu: "df.uu"; uv: "df.uv"; uw: "df.uw"; ux: "df.ux"; uy: "df.uy"; uz: "df.uz"; va: "df.va"; vb: "df.vb"; vc: "df.vc"; vd: "df.vd"; ve: "df.ve"; vf: "df.vf"; vg: "df.vg"; vh: "df.vh"; vi: "df.vi"; vj: "df.vj"; vk: "df.vk"; vl: "df.vl"; vm: "df.vm"; vn: "df.vn"; vo: "df.vo"; vp: "df.vp"; vq: "df.vq"; vr: "df.vr"; vs: "df.vs"; vt: "df.vt"; vu: "df.vu"; vv: "df.vv"; vw: "df.vw"; vx: "df.vx"; vy: "df.vy"; vz: "df.vz"; wa: "df.wa"; wb: "df.wb"; wc: "df.wc"; wd: "df.wd"; we: "df.we"; wf: "df.wf"; wg: "df.wg"; wh: "df.wh"; wi: "df.wi"; wj: "df.wj"; wk: "df.wk"; wl: "df.wl"; wm: "df.wm"; wn: "df.wn"; wo: "df.wo"; wp: "df.wp"; wq: "df.wq"; wr: "df.wr"; ws: "df.ws"; wt: "df.wt"; wu: "df.wu"; wv: "df.wv"; ww: "df.ww"; wx: "df.wx"; wy: "df.wy"; wz: "df.wz"; xa: "df.xa"; xb: "df.xb"; xc: "df.xc"; xd: "df.xd"; xe: "df.xe"; xf: "df.xf"; xg: "df.xg"; xh: "df.xh"; xi: "df.xi"; xj: "df.xj"; xk: "df.xk"; xl: "df.xl"; xm: "df.xm"; xn: "df.xn"; xo: "df.xo"; xp: "df.xp"; xq: "df.xq"; xr: "df.xr"; xs: "df.xs"; xt: "df.xt"; xu: "df.xu"; xv: "df.xv"; xw: "df.xw"; xx: "df.xx"; xy: "df.xy"; xz: "df.xz"; ya: "df.ya"; yb: "df.yb"; yc: "df.yc"; yd: "df.yd"; ye: "df.ye"; yf: "df.yf"; yg: "df.yg"; yh: "df.yh"; yi: "df.yi"; yj: "df.yj"; yk: "df.yk"; yl: "df.yl"; ym: "df.ym"; yn: "df.yn"; yo: "df.yo"; yp: "df.yp"; yq: "df.yq"; yr: "df.yr"; ys: "df.ys"; yt: "df.yt"; yu: "df.yu"; yv: "df.yv"; yw: "df.yw"; yx: "df.yx"; yy: "df.yy"; yz: "df.yz"; za: "df.za"; zb: "df.zb"; zc: "df.zc"; zd: "df.zd"; ze: "df.ze"; zf: "df.zf"; zg: "df.zg"; zh: "df.zh"; zi: "df.zi"; zj: "df.zj"; zk: "df.zk"; zl: "df.zl"; zm: "df.zm"; zn: "df.zn"; zo: "df.zo"; zp: "df.zp"; zq: "df.zq"; zr: "df.zr"; zs: "df.zs"; zt: "df.zt"; zu: "df.zu"; zv: "df.zv"; zw: "df.zw"; zx: "df.zx"; zy: "df.zy"; zz: "df.zz"; }; dg: { aa: "dg.aa"; ab: "dg.ab"; ac: "dg.ac"; ad: "dg.ad"; ae: "dg.ae"; af: "dg.af"; ag: "dg.ag"; ah: "dg.ah"; ai: "dg.ai"; aj: "dg.aj"; ak: "dg.ak"; al: "dg.al"; am: "dg.am"; an: "dg.an"; ao: "dg.ao"; ap: "dg.ap"; aq: "dg.aq"; ar: "dg.ar"; as: "dg.as"; at: "dg.at"; au: "dg.au"; av: "dg.av"; aw: "dg.aw"; ax: "dg.ax"; ay: "dg.ay"; az: "dg.az"; ba: "dg.ba"; bb: "dg.bb"; bc: "dg.bc"; bd: "dg.bd"; be: "dg.be"; bf: "dg.bf"; bg: "dg.bg"; bh: "dg.bh"; bi: "dg.bi"; bj: "dg.bj"; bk: "dg.bk"; bl: "dg.bl"; bm: "dg.bm"; bn: "dg.bn"; bo: "dg.bo"; bp: "dg.bp"; bq: "dg.bq"; br: "dg.br"; bs: "dg.bs"; bt: "dg.bt"; bu: "dg.bu"; bv: "dg.bv"; bw: "dg.bw"; bx: "dg.bx"; by: "dg.by"; bz: "dg.bz"; ca: "dg.ca"; cb: "dg.cb"; cc: "dg.cc"; cd: "dg.cd"; ce: "dg.ce"; cf: "dg.cf"; cg: "dg.cg"; ch: "dg.ch"; ci: "dg.ci"; cj: "dg.cj"; ck: "dg.ck"; cl: "dg.cl"; cm: "dg.cm"; cn: "dg.cn"; co: "dg.co"; cp: "dg.cp"; cq: "dg.cq"; cr: "dg.cr"; cs: "dg.cs"; ct: "dg.ct"; cu: "dg.cu"; cv: "dg.cv"; cw: "dg.cw"; cx: "dg.cx"; cy: "dg.cy"; cz: "dg.cz"; da: "dg.da"; db: "dg.db"; dc: "dg.dc"; dd: "dg.dd"; de: "dg.de"; df: "dg.df"; dg: "dg.dg"; dh: "dg.dh"; di: "dg.di"; dj: "dg.dj"; dk: "dg.dk"; dl: "dg.dl"; dm: "dg.dm"; dn: "dg.dn"; do: "dg.do"; dp: "dg.dp"; dq: "dg.dq"; dr: "dg.dr"; ds: "dg.ds"; dt: "dg.dt"; du: "dg.du"; dv: "dg.dv"; dw: "dg.dw"; dx: "dg.dx"; dy: "dg.dy"; dz: "dg.dz"; ea: "dg.ea"; eb: "dg.eb"; ec: "dg.ec"; ed: "dg.ed"; ee: "dg.ee"; ef: "dg.ef"; eg: "dg.eg"; eh: "dg.eh"; ei: "dg.ei"; ej: "dg.ej"; ek: "dg.ek"; el: "dg.el"; em: "dg.em"; en: "dg.en"; eo: "dg.eo"; ep: "dg.ep"; eq: "dg.eq"; er: "dg.er"; es: "dg.es"; et: "dg.et"; eu: "dg.eu"; ev: "dg.ev"; ew: "dg.ew"; ex: "dg.ex"; ey: "dg.ey"; ez: "dg.ez"; fa: "dg.fa"; fb: "dg.fb"; fc: "dg.fc"; fd: "dg.fd"; fe: "dg.fe"; ff: "dg.ff"; fg: "dg.fg"; fh: "dg.fh"; fi: "dg.fi"; fj: "dg.fj"; fk: "dg.fk"; fl: "dg.fl"; fm: "dg.fm"; fn: "dg.fn"; fo: "dg.fo"; fp: "dg.fp"; fq: "dg.fq"; fr: "dg.fr"; fs: "dg.fs"; ft: "dg.ft"; fu: "dg.fu"; fv: "dg.fv"; fw: "dg.fw"; fx: "dg.fx"; fy: "dg.fy"; fz: "dg.fz"; ga: "dg.ga"; gb: "dg.gb"; gc: "dg.gc"; gd: "dg.gd"; ge: "dg.ge"; gf: "dg.gf"; gg: "dg.gg"; gh: "dg.gh"; gi: "dg.gi"; gj: "dg.gj"; gk: "dg.gk"; gl: "dg.gl"; gm: "dg.gm"; gn: "dg.gn"; go: "dg.go"; gp: "dg.gp"; gq: "dg.gq"; gr: "dg.gr"; gs: "dg.gs"; gt: "dg.gt"; gu: "dg.gu"; gv: "dg.gv"; gw: "dg.gw"; gx: "dg.gx"; gy: "dg.gy"; gz: "dg.gz"; ha: "dg.ha"; hb: "dg.hb"; hc: "dg.hc"; hd: "dg.hd"; he: "dg.he"; hf: "dg.hf"; hg: "dg.hg"; hh: "dg.hh"; hi: "dg.hi"; hj: "dg.hj"; hk: "dg.hk"; hl: "dg.hl"; hm: "dg.hm"; hn: "dg.hn"; ho: "dg.ho"; hp: "dg.hp"; hq: "dg.hq"; hr: "dg.hr"; hs: "dg.hs"; ht: "dg.ht"; hu: "dg.hu"; hv: "dg.hv"; hw: "dg.hw"; hx: "dg.hx"; hy: "dg.hy"; hz: "dg.hz"; ia: "dg.ia"; ib: "dg.ib"; ic: "dg.ic"; id: "dg.id"; ie: "dg.ie"; if: "dg.if"; ig: "dg.ig"; ih: "dg.ih"; ii: "dg.ii"; ij: "dg.ij"; ik: "dg.ik"; il: "dg.il"; im: "dg.im"; in: "dg.in"; io: "dg.io"; ip: "dg.ip"; iq: "dg.iq"; ir: "dg.ir"; is: "dg.is"; it: "dg.it"; iu: "dg.iu"; iv: "dg.iv"; iw: "dg.iw"; ix: "dg.ix"; iy: "dg.iy"; iz: "dg.iz"; ja: "dg.ja"; jb: "dg.jb"; jc: "dg.jc"; jd: "dg.jd"; je: "dg.je"; jf: "dg.jf"; jg: "dg.jg"; jh: "dg.jh"; ji: "dg.ji"; jj: "dg.jj"; jk: "dg.jk"; jl: "dg.jl"; jm: "dg.jm"; jn: "dg.jn"; jo: "dg.jo"; jp: "dg.jp"; jq: "dg.jq"; jr: "dg.jr"; js: "dg.js"; jt: "dg.jt"; ju: "dg.ju"; jv: "dg.jv"; jw: "dg.jw"; jx: "dg.jx"; jy: "dg.jy"; jz: "dg.jz"; ka: "dg.ka"; kb: "dg.kb"; kc: "dg.kc"; kd: "dg.kd"; ke: "dg.ke"; kf: "dg.kf"; kg: "dg.kg"; kh: "dg.kh"; ki: "dg.ki"; kj: "dg.kj"; kk: "dg.kk"; kl: "dg.kl"; km: "dg.km"; kn: "dg.kn"; ko: "dg.ko"; kp: "dg.kp"; kq: "dg.kq"; kr: "dg.kr"; ks: "dg.ks"; kt: "dg.kt"; ku: "dg.ku"; kv: "dg.kv"; kw: "dg.kw"; kx: "dg.kx"; ky: "dg.ky"; kz: "dg.kz"; la: "dg.la"; lb: "dg.lb"; lc: "dg.lc"; ld: "dg.ld"; le: "dg.le"; lf: "dg.lf"; lg: "dg.lg"; lh: "dg.lh"; li: "dg.li"; lj: "dg.lj"; lk: "dg.lk"; ll: "dg.ll"; lm: "dg.lm"; ln: "dg.ln"; lo: "dg.lo"; lp: "dg.lp"; lq: "dg.lq"; lr: "dg.lr"; ls: "dg.ls"; lt: "dg.lt"; lu: "dg.lu"; lv: "dg.lv"; lw: "dg.lw"; lx: "dg.lx"; ly: "dg.ly"; lz: "dg.lz"; ma: "dg.ma"; mb: "dg.mb"; mc: "dg.mc"; md: "dg.md"; me: "dg.me"; mf: "dg.mf"; mg: "dg.mg"; mh: "dg.mh"; mi: "dg.mi"; mj: "dg.mj"; mk: "dg.mk"; ml: "dg.ml"; mm: "dg.mm"; mn: "dg.mn"; mo: "dg.mo"; mp: "dg.mp"; mq: "dg.mq"; mr: "dg.mr"; ms: "dg.ms"; mt: "dg.mt"; mu: "dg.mu"; mv: "dg.mv"; mw: "dg.mw"; mx: "dg.mx"; my: "dg.my"; mz: "dg.mz"; na: "dg.na"; nb: "dg.nb"; nc: "dg.nc"; nd: "dg.nd"; ne: "dg.ne"; nf: "dg.nf"; ng: "dg.ng"; nh: "dg.nh"; ni: "dg.ni"; nj: "dg.nj"; nk: "dg.nk"; nl: "dg.nl"; nm: "dg.nm"; nn: "dg.nn"; no: "dg.no"; np: "dg.np"; nq: "dg.nq"; nr: "dg.nr"; ns: "dg.ns"; nt: "dg.nt"; nu: "dg.nu"; nv: "dg.nv"; nw: "dg.nw"; nx: "dg.nx"; ny: "dg.ny"; nz: "dg.nz"; oa: "dg.oa"; ob: "dg.ob"; oc: "dg.oc"; od: "dg.od"; oe: "dg.oe"; of: "dg.of"; og: "dg.og"; oh: "dg.oh"; oi: "dg.oi"; oj: "dg.oj"; ok: "dg.ok"; ol: "dg.ol"; om: "dg.om"; on: "dg.on"; oo: "dg.oo"; op: "dg.op"; oq: "dg.oq"; or: "dg.or"; os: "dg.os"; ot: "dg.ot"; ou: "dg.ou"; ov: "dg.ov"; ow: "dg.ow"; ox: "dg.ox"; oy: "dg.oy"; oz: "dg.oz"; pa: "dg.pa"; pb: "dg.pb"; pc: "dg.pc"; pd: "dg.pd"; pe: "dg.pe"; pf: "dg.pf"; pg: "dg.pg"; ph: "dg.ph"; pi: "dg.pi"; pj: "dg.pj"; pk: "dg.pk"; pl: "dg.pl"; pm: "dg.pm"; pn: "dg.pn"; po: "dg.po"; pp: "dg.pp"; pq: "dg.pq"; pr: "dg.pr"; ps: "dg.ps"; pt: "dg.pt"; pu: "dg.pu"; pv: "dg.pv"; pw: "dg.pw"; px: "dg.px"; py: "dg.py"; pz: "dg.pz"; qa: "dg.qa"; qb: "dg.qb"; qc: "dg.qc"; qd: "dg.qd"; qe: "dg.qe"; qf: "dg.qf"; qg: "dg.qg"; qh: "dg.qh"; qi: "dg.qi"; qj: "dg.qj"; qk: "dg.qk"; ql: "dg.ql"; qm: "dg.qm"; qn: "dg.qn"; qo: "dg.qo"; qp: "dg.qp"; qq: "dg.qq"; qr: "dg.qr"; qs: "dg.qs"; qt: "dg.qt"; qu: "dg.qu"; qv: "dg.qv"; qw: "dg.qw"; qx: "dg.qx"; qy: "dg.qy"; qz: "dg.qz"; ra: "dg.ra"; rb: "dg.rb"; rc: "dg.rc"; rd: "dg.rd"; re: "dg.re"; rf: "dg.rf"; rg: "dg.rg"; rh: "dg.rh"; ri: "dg.ri"; rj: "dg.rj"; rk: "dg.rk"; rl: "dg.rl"; rm: "dg.rm"; rn: "dg.rn"; ro: "dg.ro"; rp: "dg.rp"; rq: "dg.rq"; rr: "dg.rr"; rs: "dg.rs"; rt: "dg.rt"; ru: "dg.ru"; rv: "dg.rv"; rw: "dg.rw"; rx: "dg.rx"; ry: "dg.ry"; rz: "dg.rz"; sa: "dg.sa"; sb: "dg.sb"; sc: "dg.sc"; sd: "dg.sd"; se: "dg.se"; sf: "dg.sf"; sg: "dg.sg"; sh: "dg.sh"; si: "dg.si"; sj: "dg.sj"; sk: "dg.sk"; sl: "dg.sl"; sm: "dg.sm"; sn: "dg.sn"; so: "dg.so"; sp: "dg.sp"; sq: "dg.sq"; sr: "dg.sr"; ss: "dg.ss"; st: "dg.st"; su: "dg.su"; sv: "dg.sv"; sw: "dg.sw"; sx: "dg.sx"; sy: "dg.sy"; sz: "dg.sz"; ta: "dg.ta"; tb: "dg.tb"; tc: "dg.tc"; td: "dg.td"; te: "dg.te"; tf: "dg.tf"; tg: "dg.tg"; th: "dg.th"; ti: "dg.ti"; tj: "dg.tj"; tk: "dg.tk"; tl: "dg.tl"; tm: "dg.tm"; tn: "dg.tn"; to: "dg.to"; tp: "dg.tp"; tq: "dg.tq"; tr: "dg.tr"; ts: "dg.ts"; tt: "dg.tt"; tu: "dg.tu"; tv: "dg.tv"; tw: "dg.tw"; tx: "dg.tx"; ty: "dg.ty"; tz: "dg.tz"; ua: "dg.ua"; ub: "dg.ub"; uc: "dg.uc"; ud: "dg.ud"; ue: "dg.ue"; uf: "dg.uf"; ug: "dg.ug"; uh: "dg.uh"; ui: "dg.ui"; uj: "dg.uj"; uk: "dg.uk"; ul: "dg.ul"; um: "dg.um"; un: "dg.un"; uo: "dg.uo"; up: "dg.up"; uq: "dg.uq"; ur: "dg.ur"; us: "dg.us"; ut: "dg.ut"; uu: "dg.uu"; uv: "dg.uv"; uw: "dg.uw"; ux: "dg.ux"; uy: "dg.uy"; uz: "dg.uz"; va: "dg.va"; vb: "dg.vb"; vc: "dg.vc"; vd: "dg.vd"; ve: "dg.ve"; vf: "dg.vf"; vg: "dg.vg"; vh: "dg.vh"; vi: "dg.vi"; vj: "dg.vj"; vk: "dg.vk"; vl: "dg.vl"; vm: "dg.vm"; vn: "dg.vn"; vo: "dg.vo"; vp: "dg.vp"; vq: "dg.vq"; vr: "dg.vr"; vs: "dg.vs"; vt: "dg.vt"; vu: "dg.vu"; vv: "dg.vv"; vw: "dg.vw"; vx: "dg.vx"; vy: "dg.vy"; vz: "dg.vz"; wa: "dg.wa"; wb: "dg.wb"; wc: "dg.wc"; wd: "dg.wd"; we: "dg.we"; wf: "dg.wf"; wg: "dg.wg"; wh: "dg.wh"; wi: "dg.wi"; wj: "dg.wj"; wk: "dg.wk"; wl: "dg.wl"; wm: "dg.wm"; wn: "dg.wn"; wo: "dg.wo"; wp: "dg.wp"; wq: "dg.wq"; wr: "dg.wr"; ws: "dg.ws"; wt: "dg.wt"; wu: "dg.wu"; wv: "dg.wv"; ww: "dg.ww"; wx: "dg.wx"; wy: "dg.wy"; wz: "dg.wz"; xa: "dg.xa"; xb: "dg.xb"; xc: "dg.xc"; xd: "dg.xd"; xe: "dg.xe"; xf: "dg.xf"; xg: "dg.xg"; xh: "dg.xh"; xi: "dg.xi"; xj: "dg.xj"; xk: "dg.xk"; xl: "dg.xl"; xm: "dg.xm"; xn: "dg.xn"; xo: "dg.xo"; xp: "dg.xp"; xq: "dg.xq"; xr: "dg.xr"; xs: "dg.xs"; xt: "dg.xt"; xu: "dg.xu"; xv: "dg.xv"; xw: "dg.xw"; xx: "dg.xx"; xy: "dg.xy"; xz: "dg.xz"; ya: "dg.ya"; yb: "dg.yb"; yc: "dg.yc"; yd: "dg.yd"; ye: "dg.ye"; yf: "dg.yf"; yg: "dg.yg"; yh: "dg.yh"; yi: "dg.yi"; yj: "dg.yj"; yk: "dg.yk"; yl: "dg.yl"; ym: "dg.ym"; yn: "dg.yn"; yo: "dg.yo"; yp: "dg.yp"; yq: "dg.yq"; yr: "dg.yr"; ys: "dg.ys"; yt: "dg.yt"; yu: "dg.yu"; yv: "dg.yv"; yw: "dg.yw"; yx: "dg.yx"; yy: "dg.yy"; yz: "dg.yz"; za: "dg.za"; zb: "dg.zb"; zc: "dg.zc"; zd: "dg.zd"; ze: "dg.ze"; zf: "dg.zf"; zg: "dg.zg"; zh: "dg.zh"; zi: "dg.zi"; zj: "dg.zj"; zk: "dg.zk"; zl: "dg.zl"; zm: "dg.zm"; zn: "dg.zn"; zo: "dg.zo"; zp: "dg.zp"; zq: "dg.zq"; zr: "dg.zr"; zs: "dg.zs"; zt: "dg.zt"; zu: "dg.zu"; zv: "dg.zv"; zw: "dg.zw"; zx: "dg.zx"; zy: "dg.zy"; zz: "dg.zz"; }; dh: { aa: "dh.aa"; ab: "dh.ab"; ac: "dh.ac"; ad: "dh.ad"; ae: "dh.ae"; af: "dh.af"; ag: "dh.ag"; ah: "dh.ah"; ai: "dh.ai"; aj: "dh.aj"; ak: "dh.ak"; al: "dh.al"; am: "dh.am"; an: "dh.an"; ao: "dh.ao"; ap: "dh.ap"; aq: "dh.aq"; ar: "dh.ar"; as: "dh.as"; at: "dh.at"; au: "dh.au"; av: "dh.av"; aw: "dh.aw"; ax: "dh.ax"; ay: "dh.ay"; az: "dh.az"; ba: "dh.ba"; bb: "dh.bb"; bc: "dh.bc"; bd: "dh.bd"; be: "dh.be"; bf: "dh.bf"; bg: "dh.bg"; bh: "dh.bh"; bi: "dh.bi"; bj: "dh.bj"; bk: "dh.bk"; bl: "dh.bl"; bm: "dh.bm"; bn: "dh.bn"; bo: "dh.bo"; bp: "dh.bp"; bq: "dh.bq"; br: "dh.br"; bs: "dh.bs"; bt: "dh.bt"; bu: "dh.bu"; bv: "dh.bv"; bw: "dh.bw"; bx: "dh.bx"; by: "dh.by"; bz: "dh.bz"; ca: "dh.ca"; cb: "dh.cb"; cc: "dh.cc"; cd: "dh.cd"; ce: "dh.ce"; cf: "dh.cf"; cg: "dh.cg"; ch: "dh.ch"; ci: "dh.ci"; cj: "dh.cj"; ck: "dh.ck"; cl: "dh.cl"; cm: "dh.cm"; cn: "dh.cn"; co: "dh.co"; cp: "dh.cp"; cq: "dh.cq"; cr: "dh.cr"; cs: "dh.cs"; ct: "dh.ct"; cu: "dh.cu"; cv: "dh.cv"; cw: "dh.cw"; cx: "dh.cx"; cy: "dh.cy"; cz: "dh.cz"; da: "dh.da"; db: "dh.db"; dc: "dh.dc"; dd: "dh.dd"; de: "dh.de"; df: "dh.df"; dg: "dh.dg"; dh: "dh.dh"; di: "dh.di"; dj: "dh.dj"; dk: "dh.dk"; dl: "dh.dl"; dm: "dh.dm"; dn: "dh.dn"; do: "dh.do"; dp: "dh.dp"; dq: "dh.dq"; dr: "dh.dr"; ds: "dh.ds"; dt: "dh.dt"; du: "dh.du"; dv: "dh.dv"; dw: "dh.dw"; dx: "dh.dx"; dy: "dh.dy"; dz: "dh.dz"; ea: "dh.ea"; eb: "dh.eb"; ec: "dh.ec"; ed: "dh.ed"; ee: "dh.ee"; ef: "dh.ef"; eg: "dh.eg"; eh: "dh.eh"; ei: "dh.ei"; ej: "dh.ej"; ek: "dh.ek"; el: "dh.el"; em: "dh.em"; en: "dh.en"; eo: "dh.eo"; ep: "dh.ep"; eq: "dh.eq"; er: "dh.er"; es: "dh.es"; et: "dh.et"; eu: "dh.eu"; ev: "dh.ev"; ew: "dh.ew"; ex: "dh.ex"; ey: "dh.ey"; ez: "dh.ez"; fa: "dh.fa"; fb: "dh.fb"; fc: "dh.fc"; fd: "dh.fd"; fe: "dh.fe"; ff: "dh.ff"; fg: "dh.fg"; fh: "dh.fh"; fi: "dh.fi"; fj: "dh.fj"; fk: "dh.fk"; fl: "dh.fl"; fm: "dh.fm"; fn: "dh.fn"; fo: "dh.fo"; fp: "dh.fp"; fq: "dh.fq"; fr: "dh.fr"; fs: "dh.fs"; ft: "dh.ft"; fu: "dh.fu"; fv: "dh.fv"; fw: "dh.fw"; fx: "dh.fx"; fy: "dh.fy"; fz: "dh.fz"; ga: "dh.ga"; gb: "dh.gb"; gc: "dh.gc"; gd: "dh.gd"; ge: "dh.ge"; gf: "dh.gf"; gg: "dh.gg"; gh: "dh.gh"; gi: "dh.gi"; gj: "dh.gj"; gk: "dh.gk"; gl: "dh.gl"; gm: "dh.gm"; gn: "dh.gn"; go: "dh.go"; gp: "dh.gp"; gq: "dh.gq"; gr: "dh.gr"; gs: "dh.gs"; gt: "dh.gt"; gu: "dh.gu"; gv: "dh.gv"; gw: "dh.gw"; gx: "dh.gx"; gy: "dh.gy"; gz: "dh.gz"; ha: "dh.ha"; hb: "dh.hb"; hc: "dh.hc"; hd: "dh.hd"; he: "dh.he"; hf: "dh.hf"; hg: "dh.hg"; hh: "dh.hh"; hi: "dh.hi"; hj: "dh.hj"; hk: "dh.hk"; hl: "dh.hl"; hm: "dh.hm"; hn: "dh.hn"; ho: "dh.ho"; hp: "dh.hp"; hq: "dh.hq"; hr: "dh.hr"; hs: "dh.hs"; ht: "dh.ht"; hu: "dh.hu"; hv: "dh.hv"; hw: "dh.hw"; hx: "dh.hx"; hy: "dh.hy"; hz: "dh.hz"; ia: "dh.ia"; ib: "dh.ib"; ic: "dh.ic"; id: "dh.id"; ie: "dh.ie"; if: "dh.if"; ig: "dh.ig"; ih: "dh.ih"; ii: "dh.ii"; ij: "dh.ij"; ik: "dh.ik"; il: "dh.il"; im: "dh.im"; in: "dh.in"; io: "dh.io"; ip: "dh.ip"; iq: "dh.iq"; ir: "dh.ir"; is: "dh.is"; it: "dh.it"; iu: "dh.iu"; iv: "dh.iv"; iw: "dh.iw"; ix: "dh.ix"; iy: "dh.iy"; iz: "dh.iz"; ja: "dh.ja"; jb: "dh.jb"; jc: "dh.jc"; jd: "dh.jd"; je: "dh.je"; jf: "dh.jf"; jg: "dh.jg"; jh: "dh.jh"; ji: "dh.ji"; jj: "dh.jj"; jk: "dh.jk"; jl: "dh.jl"; jm: "dh.jm"; jn: "dh.jn"; jo: "dh.jo"; jp: "dh.jp"; jq: "dh.jq"; jr: "dh.jr"; js: "dh.js"; jt: "dh.jt"; ju: "dh.ju"; jv: "dh.jv"; jw: "dh.jw"; jx: "dh.jx"; jy: "dh.jy"; jz: "dh.jz"; ka: "dh.ka"; kb: "dh.kb"; kc: "dh.kc"; kd: "dh.kd"; ke: "dh.ke"; kf: "dh.kf"; kg: "dh.kg"; kh: "dh.kh"; ki: "dh.ki"; kj: "dh.kj"; kk: "dh.kk"; kl: "dh.kl"; km: "dh.km"; kn: "dh.kn"; ko: "dh.ko"; kp: "dh.kp"; kq: "dh.kq"; kr: "dh.kr"; ks: "dh.ks"; kt: "dh.kt"; ku: "dh.ku"; kv: "dh.kv"; kw: "dh.kw"; kx: "dh.kx"; ky: "dh.ky"; kz: "dh.kz"; la: "dh.la"; lb: "dh.lb"; lc: "dh.lc"; ld: "dh.ld"; le: "dh.le"; lf: "dh.lf"; lg: "dh.lg"; lh: "dh.lh"; li: "dh.li"; lj: "dh.lj"; lk: "dh.lk"; ll: "dh.ll"; lm: "dh.lm"; ln: "dh.ln"; lo: "dh.lo"; lp: "dh.lp"; lq: "dh.lq"; lr: "dh.lr"; ls: "dh.ls"; lt: "dh.lt"; lu: "dh.lu"; lv: "dh.lv"; lw: "dh.lw"; lx: "dh.lx"; ly: "dh.ly"; lz: "dh.lz"; ma: "dh.ma"; mb: "dh.mb"; mc: "dh.mc"; md: "dh.md"; me: "dh.me"; mf: "dh.mf"; mg: "dh.mg"; mh: "dh.mh"; mi: "dh.mi"; mj: "dh.mj"; mk: "dh.mk"; ml: "dh.ml"; mm: "dh.mm"; mn: "dh.mn"; mo: "dh.mo"; mp: "dh.mp"; mq: "dh.mq"; mr: "dh.mr"; ms: "dh.ms"; mt: "dh.mt"; mu: "dh.mu"; mv: "dh.mv"; mw: "dh.mw"; mx: "dh.mx"; my: "dh.my"; mz: "dh.mz"; na: "dh.na"; nb: "dh.nb"; nc: "dh.nc"; nd: "dh.nd"; ne: "dh.ne"; nf: "dh.nf"; ng: "dh.ng"; nh: "dh.nh"; ni: "dh.ni"; nj: "dh.nj"; nk: "dh.nk"; nl: "dh.nl"; nm: "dh.nm"; nn: "dh.nn"; no: "dh.no"; np: "dh.np"; nq: "dh.nq"; nr: "dh.nr"; ns: "dh.ns"; nt: "dh.nt"; nu: "dh.nu"; nv: "dh.nv"; nw: "dh.nw"; nx: "dh.nx"; ny: "dh.ny"; nz: "dh.nz"; oa: "dh.oa"; ob: "dh.ob"; oc: "dh.oc"; od: "dh.od"; oe: "dh.oe"; of: "dh.of"; og: "dh.og"; oh: "dh.oh"; oi: "dh.oi"; oj: "dh.oj"; ok: "dh.ok"; ol: "dh.ol"; om: "dh.om"; on: "dh.on"; oo: "dh.oo"; op: "dh.op"; oq: "dh.oq"; or: "dh.or"; os: "dh.os"; ot: "dh.ot"; ou: "dh.ou"; ov: "dh.ov"; ow: "dh.ow"; ox: "dh.ox"; oy: "dh.oy"; oz: "dh.oz"; pa: "dh.pa"; pb: "dh.pb"; pc: "dh.pc"; pd: "dh.pd"; pe: "dh.pe"; pf: "dh.pf"; pg: "dh.pg"; ph: "dh.ph"; pi: "dh.pi"; pj: "dh.pj"; pk: "dh.pk"; pl: "dh.pl"; pm: "dh.pm"; pn: "dh.pn"; po: "dh.po"; pp: "dh.pp"; pq: "dh.pq"; pr: "dh.pr"; ps: "dh.ps"; pt: "dh.pt"; pu: "dh.pu"; pv: "dh.pv"; pw: "dh.pw"; px: "dh.px"; py: "dh.py"; pz: "dh.pz"; qa: "dh.qa"; qb: "dh.qb"; qc: "dh.qc"; qd: "dh.qd"; qe: "dh.qe"; qf: "dh.qf"; qg: "dh.qg"; qh: "dh.qh"; qi: "dh.qi"; qj: "dh.qj"; qk: "dh.qk"; ql: "dh.ql"; qm: "dh.qm"; qn: "dh.qn"; qo: "dh.qo"; qp: "dh.qp"; qq: "dh.qq"; qr: "dh.qr"; qs: "dh.qs"; qt: "dh.qt"; qu: "dh.qu"; qv: "dh.qv"; qw: "dh.qw"; qx: "dh.qx"; qy: "dh.qy"; qz: "dh.qz"; ra: "dh.ra"; rb: "dh.rb"; rc: "dh.rc"; rd: "dh.rd"; re: "dh.re"; rf: "dh.rf"; rg: "dh.rg"; rh: "dh.rh"; ri: "dh.ri"; rj: "dh.rj"; rk: "dh.rk"; rl: "dh.rl"; rm: "dh.rm"; rn: "dh.rn"; ro: "dh.ro"; rp: "dh.rp"; rq: "dh.rq"; rr: "dh.rr"; rs: "dh.rs"; rt: "dh.rt"; ru: "dh.ru"; rv: "dh.rv"; rw: "dh.rw"; rx: "dh.rx"; ry: "dh.ry"; rz: "dh.rz"; sa: "dh.sa"; sb: "dh.sb"; sc: "dh.sc"; sd: "dh.sd"; se: "dh.se"; sf: "dh.sf"; sg: "dh.sg"; sh: "dh.sh"; si: "dh.si"; sj: "dh.sj"; sk: "dh.sk"; sl: "dh.sl"; sm: "dh.sm"; sn: "dh.sn"; so: "dh.so"; sp: "dh.sp"; sq: "dh.sq"; sr: "dh.sr"; ss: "dh.ss"; st: "dh.st"; su: "dh.su"; sv: "dh.sv"; sw: "dh.sw"; sx: "dh.sx"; sy: "dh.sy"; sz: "dh.sz"; ta: "dh.ta"; tb: "dh.tb"; tc: "dh.tc"; td: "dh.td"; te: "dh.te"; tf: "dh.tf"; tg: "dh.tg"; th: "dh.th"; ti: "dh.ti"; tj: "dh.tj"; tk: "dh.tk"; tl: "dh.tl"; tm: "dh.tm"; tn: "dh.tn"; to: "dh.to"; tp: "dh.tp"; tq: "dh.tq"; tr: "dh.tr"; ts: "dh.ts"; tt: "dh.tt"; tu: "dh.tu"; tv: "dh.tv"; tw: "dh.tw"; tx: "dh.tx"; ty: "dh.ty"; tz: "dh.tz"; ua: "dh.ua"; ub: "dh.ub"; uc: "dh.uc"; ud: "dh.ud"; ue: "dh.ue"; uf: "dh.uf"; ug: "dh.ug"; uh: "dh.uh"; ui: "dh.ui"; uj: "dh.uj"; uk: "dh.uk"; ul: "dh.ul"; um: "dh.um"; un: "dh.un"; uo: "dh.uo"; up: "dh.up"; uq: "dh.uq"; ur: "dh.ur"; us: "dh.us"; ut: "dh.ut"; uu: "dh.uu"; uv: "dh.uv"; uw: "dh.uw"; ux: "dh.ux"; uy: "dh.uy"; uz: "dh.uz"; va: "dh.va"; vb: "dh.vb"; vc: "dh.vc"; vd: "dh.vd"; ve: "dh.ve"; vf: "dh.vf"; vg: "dh.vg"; vh: "dh.vh"; vi: "dh.vi"; vj: "dh.vj"; vk: "dh.vk"; vl: "dh.vl"; vm: "dh.vm"; vn: "dh.vn"; vo: "dh.vo"; vp: "dh.vp"; vq: "dh.vq"; vr: "dh.vr"; vs: "dh.vs"; vt: "dh.vt"; vu: "dh.vu"; vv: "dh.vv"; vw: "dh.vw"; vx: "dh.vx"; vy: "dh.vy"; vz: "dh.vz"; wa: "dh.wa"; wb: "dh.wb"; wc: "dh.wc"; wd: "dh.wd"; we: "dh.we"; wf: "dh.wf"; wg: "dh.wg"; wh: "dh.wh"; wi: "dh.wi"; wj: "dh.wj"; wk: "dh.wk"; wl: "dh.wl"; wm: "dh.wm"; wn: "dh.wn"; wo: "dh.wo"; wp: "dh.wp"; wq: "dh.wq"; wr: "dh.wr"; ws: "dh.ws"; wt: "dh.wt"; wu: "dh.wu"; wv: "dh.wv"; ww: "dh.ww"; wx: "dh.wx"; wy: "dh.wy"; wz: "dh.wz"; xa: "dh.xa"; xb: "dh.xb"; xc: "dh.xc"; xd: "dh.xd"; xe: "dh.xe"; xf: "dh.xf"; xg: "dh.xg"; xh: "dh.xh"; xi: "dh.xi"; xj: "dh.xj"; xk: "dh.xk"; xl: "dh.xl"; xm: "dh.xm"; xn: "dh.xn"; xo: "dh.xo"; xp: "dh.xp"; xq: "dh.xq"; xr: "dh.xr"; xs: "dh.xs"; xt: "dh.xt"; xu: "dh.xu"; xv: "dh.xv"; xw: "dh.xw"; xx: "dh.xx"; xy: "dh.xy"; xz: "dh.xz"; ya: "dh.ya"; yb: "dh.yb"; yc: "dh.yc"; yd: "dh.yd"; ye: "dh.ye"; yf: "dh.yf"; yg: "dh.yg"; yh: "dh.yh"; yi: "dh.yi"; yj: "dh.yj"; yk: "dh.yk"; yl: "dh.yl"; ym: "dh.ym"; yn: "dh.yn"; yo: "dh.yo"; yp: "dh.yp"; yq: "dh.yq"; yr: "dh.yr"; ys: "dh.ys"; yt: "dh.yt"; yu: "dh.yu"; yv: "dh.yv"; yw: "dh.yw"; yx: "dh.yx"; yy: "dh.yy"; yz: "dh.yz"; za: "dh.za"; zb: "dh.zb"; zc: "dh.zc"; zd: "dh.zd"; ze: "dh.ze"; zf: "dh.zf"; zg: "dh.zg"; zh: "dh.zh"; zi: "dh.zi"; zj: "dh.zj"; zk: "dh.zk"; zl: "dh.zl"; zm: "dh.zm"; zn: "dh.zn"; zo: "dh.zo"; zp: "dh.zp"; zq: "dh.zq"; zr: "dh.zr"; zs: "dh.zs"; zt: "dh.zt"; zu: "dh.zu"; zv: "dh.zv"; zw: "dh.zw"; zx: "dh.zx"; zy: "dh.zy"; zz: "dh.zz"; }; di: { aa: "di.aa"; ab: "di.ab"; ac: "di.ac"; ad: "di.ad"; ae: "di.ae"; af: "di.af"; ag: "di.ag"; ah: "di.ah"; ai: "di.ai"; aj: "di.aj"; ak: "di.ak"; al: "di.al"; am: "di.am"; an: "di.an"; ao: "di.ao"; ap: "di.ap"; aq: "di.aq"; ar: "di.ar"; as: "di.as"; at: "di.at"; au: "di.au"; av: "di.av"; aw: "di.aw"; ax: "di.ax"; ay: "di.ay"; az: "di.az"; ba: "di.ba"; bb: "di.bb"; bc: "di.bc"; bd: "di.bd"; be: "di.be"; bf: "di.bf"; bg: "di.bg"; bh: "di.bh"; bi: "di.bi"; bj: "di.bj"; bk: "di.bk"; bl: "di.bl"; bm: "di.bm"; bn: "di.bn"; bo: "di.bo"; bp: "di.bp"; bq: "di.bq"; br: "di.br"; bs: "di.bs"; bt: "di.bt"; bu: "di.bu"; bv: "di.bv"; bw: "di.bw"; bx: "di.bx"; by: "di.by"; bz: "di.bz"; ca: "di.ca"; cb: "di.cb"; cc: "di.cc"; cd: "di.cd"; ce: "di.ce"; cf: "di.cf"; cg: "di.cg"; ch: "di.ch"; ci: "di.ci"; cj: "di.cj"; ck: "di.ck"; cl: "di.cl"; cm: "di.cm"; cn: "di.cn"; co: "di.co"; cp: "di.cp"; cq: "di.cq"; cr: "di.cr"; cs: "di.cs"; ct: "di.ct"; cu: "di.cu"; cv: "di.cv"; cw: "di.cw"; cx: "di.cx"; cy: "di.cy"; cz: "di.cz"; da: "di.da"; db: "di.db"; dc: "di.dc"; dd: "di.dd"; de: "di.de"; df: "di.df"; dg: "di.dg"; dh: "di.dh"; di: "di.di"; dj: "di.dj"; dk: "di.dk"; dl: "di.dl"; dm: "di.dm"; dn: "di.dn"; do: "di.do"; dp: "di.dp"; dq: "di.dq"; dr: "di.dr"; ds: "di.ds"; dt: "di.dt"; du: "di.du"; dv: "di.dv"; dw: "di.dw"; dx: "di.dx"; dy: "di.dy"; dz: "di.dz"; ea: "di.ea"; eb: "di.eb"; ec: "di.ec"; ed: "di.ed"; ee: "di.ee"; ef: "di.ef"; eg: "di.eg"; eh: "di.eh"; ei: "di.ei"; ej: "di.ej"; ek: "di.ek"; el: "di.el"; em: "di.em"; en: "di.en"; eo: "di.eo"; ep: "di.ep"; eq: "di.eq"; er: "di.er"; es: "di.es"; et: "di.et"; eu: "di.eu"; ev: "di.ev"; ew: "di.ew"; ex: "di.ex"; ey: "di.ey"; ez: "di.ez"; fa: "di.fa"; fb: "di.fb"; fc: "di.fc"; fd: "di.fd"; fe: "di.fe"; ff: "di.ff"; fg: "di.fg"; fh: "di.fh"; fi: "di.fi"; fj: "di.fj"; fk: "di.fk"; fl: "di.fl"; fm: "di.fm"; fn: "di.fn"; fo: "di.fo"; fp: "di.fp"; fq: "di.fq"; fr: "di.fr"; fs: "di.fs"; ft: "di.ft"; fu: "di.fu"; fv: "di.fv"; fw: "di.fw"; fx: "di.fx"; fy: "di.fy"; fz: "di.fz"; ga: "di.ga"; gb: "di.gb"; gc: "di.gc"; gd: "di.gd"; ge: "di.ge"; gf: "di.gf"; gg: "di.gg"; gh: "di.gh"; gi: "di.gi"; gj: "di.gj"; gk: "di.gk"; gl: "di.gl"; gm: "di.gm"; gn: "di.gn"; go: "di.go"; gp: "di.gp"; gq: "di.gq"; gr: "di.gr"; gs: "di.gs"; gt: "di.gt"; gu: "di.gu"; gv: "di.gv"; gw: "di.gw"; gx: "di.gx"; gy: "di.gy"; gz: "di.gz"; ha: "di.ha"; hb: "di.hb"; hc: "di.hc"; hd: "di.hd"; he: "di.he"; hf: "di.hf"; hg: "di.hg"; hh: "di.hh"; hi: "di.hi"; hj: "di.hj"; hk: "di.hk"; hl: "di.hl"; hm: "di.hm"; hn: "di.hn"; ho: "di.ho"; hp: "di.hp"; hq: "di.hq"; hr: "di.hr"; hs: "di.hs"; ht: "di.ht"; hu: "di.hu"; hv: "di.hv"; hw: "di.hw"; hx: "di.hx"; hy: "di.hy"; hz: "di.hz"; ia: "di.ia"; ib: "di.ib"; ic: "di.ic"; id: "di.id"; ie: "di.ie"; if: "di.if"; ig: "di.ig"; ih: "di.ih"; ii: "di.ii"; ij: "di.ij"; ik: "di.ik"; il: "di.il"; im: "di.im"; in: "di.in"; io: "di.io"; ip: "di.ip"; iq: "di.iq"; ir: "di.ir"; is: "di.is"; it: "di.it"; iu: "di.iu"; iv: "di.iv"; iw: "di.iw"; ix: "di.ix"; iy: "di.iy"; iz: "di.iz"; ja: "di.ja"; jb: "di.jb"; jc: "di.jc"; jd: "di.jd"; je: "di.je"; jf: "di.jf"; jg: "di.jg"; jh: "di.jh"; ji: "di.ji"; jj: "di.jj"; jk: "di.jk"; jl: "di.jl"; jm: "di.jm"; jn: "di.jn"; jo: "di.jo"; jp: "di.jp"; jq: "di.jq"; jr: "di.jr"; js: "di.js"; jt: "di.jt"; ju: "di.ju"; jv: "di.jv"; jw: "di.jw"; jx: "di.jx"; jy: "di.jy"; jz: "di.jz"; ka: "di.ka"; kb: "di.kb"; kc: "di.kc"; kd: "di.kd"; ke: "di.ke"; kf: "di.kf"; kg: "di.kg"; kh: "di.kh"; ki: "di.ki"; kj: "di.kj"; kk: "di.kk"; kl: "di.kl"; km: "di.km"; kn: "di.kn"; ko: "di.ko"; kp: "di.kp"; kq: "di.kq"; kr: "di.kr"; ks: "di.ks"; kt: "di.kt"; ku: "di.ku"; kv: "di.kv"; kw: "di.kw"; kx: "di.kx"; ky: "di.ky"; kz: "di.kz"; la: "di.la"; lb: "di.lb"; lc: "di.lc"; ld: "di.ld"; le: "di.le"; lf: "di.lf"; lg: "di.lg"; lh: "di.lh"; li: "di.li"; lj: "di.lj"; lk: "di.lk"; ll: "di.ll"; lm: "di.lm"; ln: "di.ln"; lo: "di.lo"; lp: "di.lp"; lq: "di.lq"; lr: "di.lr"; ls: "di.ls"; lt: "di.lt"; lu: "di.lu"; lv: "di.lv"; lw: "di.lw"; lx: "di.lx"; ly: "di.ly"; lz: "di.lz"; ma: "di.ma"; mb: "di.mb"; mc: "di.mc"; md: "di.md"; me: "di.me"; mf: "di.mf"; mg: "di.mg"; mh: "di.mh"; mi: "di.mi"; mj: "di.mj"; mk: "di.mk"; ml: "di.ml"; mm: "di.mm"; mn: "di.mn"; mo: "di.mo"; mp: "di.mp"; mq: "di.mq"; mr: "di.mr"; ms: "di.ms"; mt: "di.mt"; mu: "di.mu"; mv: "di.mv"; mw: "di.mw"; mx: "di.mx"; my: "di.my"; mz: "di.mz"; na: "di.na"; nb: "di.nb"; nc: "di.nc"; nd: "di.nd"; ne: "di.ne"; nf: "di.nf"; ng: "di.ng"; nh: "di.nh"; ni: "di.ni"; nj: "di.nj"; nk: "di.nk"; nl: "di.nl"; nm: "di.nm"; nn: "di.nn"; no: "di.no"; np: "di.np"; nq: "di.nq"; nr: "di.nr"; ns: "di.ns"; nt: "di.nt"; nu: "di.nu"; nv: "di.nv"; nw: "di.nw"; nx: "di.nx"; ny: "di.ny"; nz: "di.nz"; oa: "di.oa"; ob: "di.ob"; oc: "di.oc"; od: "di.od"; oe: "di.oe"; of: "di.of"; og: "di.og"; oh: "di.oh"; oi: "di.oi"; oj: "di.oj"; ok: "di.ok"; ol: "di.ol"; om: "di.om"; on: "di.on"; oo: "di.oo"; op: "di.op"; oq: "di.oq"; or: "di.or"; os: "di.os"; ot: "di.ot"; ou: "di.ou"; ov: "di.ov"; ow: "di.ow"; ox: "di.ox"; oy: "di.oy"; oz: "di.oz"; pa: "di.pa"; pb: "di.pb"; pc: "di.pc"; pd: "di.pd"; pe: "di.pe"; pf: "di.pf"; pg: "di.pg"; ph: "di.ph"; pi: "di.pi"; pj: "di.pj"; pk: "di.pk"; pl: "di.pl"; pm: "di.pm"; pn: "di.pn"; po: "di.po"; pp: "di.pp"; pq: "di.pq"; pr: "di.pr"; ps: "di.ps"; pt: "di.pt"; pu: "di.pu"; pv: "di.pv"; pw: "di.pw"; px: "di.px"; py: "di.py"; pz: "di.pz"; qa: "di.qa"; qb: "di.qb"; qc: "di.qc"; qd: "di.qd"; qe: "di.qe"; qf: "di.qf"; qg: "di.qg"; qh: "di.qh"; qi: "di.qi"; qj: "di.qj"; qk: "di.qk"; ql: "di.ql"; qm: "di.qm"; qn: "di.qn"; qo: "di.qo"; qp: "di.qp"; qq: "di.qq"; qr: "di.qr"; qs: "di.qs"; qt: "di.qt"; qu: "di.qu"; qv: "di.qv"; qw: "di.qw"; qx: "di.qx"; qy: "di.qy"; qz: "di.qz"; ra: "di.ra"; rb: "di.rb"; rc: "di.rc"; rd: "di.rd"; re: "di.re"; rf: "di.rf"; rg: "di.rg"; rh: "di.rh"; ri: "di.ri"; rj: "di.rj"; rk: "di.rk"; rl: "di.rl"; rm: "di.rm"; rn: "di.rn"; ro: "di.ro"; rp: "di.rp"; rq: "di.rq"; rr: "di.rr"; rs: "di.rs"; rt: "di.rt"; ru: "di.ru"; rv: "di.rv"; rw: "di.rw"; rx: "di.rx"; ry: "di.ry"; rz: "di.rz"; sa: "di.sa"; sb: "di.sb"; sc: "di.sc"; sd: "di.sd"; se: "di.se"; sf: "di.sf"; sg: "di.sg"; sh: "di.sh"; si: "di.si"; sj: "di.sj"; sk: "di.sk"; sl: "di.sl"; sm: "di.sm"; sn: "di.sn"; so: "di.so"; sp: "di.sp"; sq: "di.sq"; sr: "di.sr"; ss: "di.ss"; st: "di.st"; su: "di.su"; sv: "di.sv"; sw: "di.sw"; sx: "di.sx"; sy: "di.sy"; sz: "di.sz"; ta: "di.ta"; tb: "di.tb"; tc: "di.tc"; td: "di.td"; te: "di.te"; tf: "di.tf"; tg: "di.tg"; th: "di.th"; ti: "di.ti"; tj: "di.tj"; tk: "di.tk"; tl: "di.tl"; tm: "di.tm"; tn: "di.tn"; to: "di.to"; tp: "di.tp"; tq: "di.tq"; tr: "di.tr"; ts: "di.ts"; tt: "di.tt"; tu: "di.tu"; tv: "di.tv"; tw: "di.tw"; tx: "di.tx"; ty: "di.ty"; tz: "di.tz"; ua: "di.ua"; ub: "di.ub"; uc: "di.uc"; ud: "di.ud"; ue: "di.ue"; uf: "di.uf"; ug: "di.ug"; uh: "di.uh"; ui: "di.ui"; uj: "di.uj"; uk: "di.uk"; ul: "di.ul"; um: "di.um"; un: "di.un"; uo: "di.uo"; up: "di.up"; uq: "di.uq"; ur: "di.ur"; us: "di.us"; ut: "di.ut"; uu: "di.uu"; uv: "di.uv"; uw: "di.uw"; ux: "di.ux"; uy: "di.uy"; uz: "di.uz"; va: "di.va"; vb: "di.vb"; vc: "di.vc"; vd: "di.vd"; ve: "di.ve"; vf: "di.vf"; vg: "di.vg"; vh: "di.vh"; vi: "di.vi"; vj: "di.vj"; vk: "di.vk"; vl: "di.vl"; vm: "di.vm"; vn: "di.vn"; vo: "di.vo"; vp: "di.vp"; vq: "di.vq"; vr: "di.vr"; vs: "di.vs"; vt: "di.vt"; vu: "di.vu"; vv: "di.vv"; vw: "di.vw"; vx: "di.vx"; vy: "di.vy"; vz: "di.vz"; wa: "di.wa"; wb: "di.wb"; wc: "di.wc"; wd: "di.wd"; we: "di.we"; wf: "di.wf"; wg: "di.wg"; wh: "di.wh"; wi: "di.wi"; wj: "di.wj"; wk: "di.wk"; wl: "di.wl"; wm: "di.wm"; wn: "di.wn"; wo: "di.wo"; wp: "di.wp"; wq: "di.wq"; wr: "di.wr"; ws: "di.ws"; wt: "di.wt"; wu: "di.wu"; wv: "di.wv"; ww: "di.ww"; wx: "di.wx"; wy: "di.wy"; wz: "di.wz"; xa: "di.xa"; xb: "di.xb"; xc: "di.xc"; xd: "di.xd"; xe: "di.xe"; xf: "di.xf"; xg: "di.xg"; xh: "di.xh"; xi: "di.xi"; xj: "di.xj"; xk: "di.xk"; xl: "di.xl"; xm: "di.xm"; xn: "di.xn"; xo: "di.xo"; xp: "di.xp"; xq: "di.xq"; xr: "di.xr"; xs: "di.xs"; xt: "di.xt"; xu: "di.xu"; xv: "di.xv"; xw: "di.xw"; xx: "di.xx"; xy: "di.xy"; xz: "di.xz"; ya: "di.ya"; yb: "di.yb"; yc: "di.yc"; yd: "di.yd"; ye: "di.ye"; yf: "di.yf"; yg: "di.yg"; yh: "di.yh"; yi: "di.yi"; yj: "di.yj"; yk: "di.yk"; yl: "di.yl"; ym: "di.ym"; yn: "di.yn"; yo: "di.yo"; yp: "di.yp"; yq: "di.yq"; yr: "di.yr"; ys: "di.ys"; yt: "di.yt"; yu: "di.yu"; yv: "di.yv"; yw: "di.yw"; yx: "di.yx"; yy: "di.yy"; yz: "di.yz"; za: "di.za"; zb: "di.zb"; zc: "di.zc"; zd: "di.zd"; ze: "di.ze"; zf: "di.zf"; zg: "di.zg"; zh: "di.zh"; zi: "di.zi"; zj: "di.zj"; zk: "di.zk"; zl: "di.zl"; zm: "di.zm"; zn: "di.zn"; zo: "di.zo"; zp: "di.zp"; zq: "di.zq"; zr: "di.zr"; zs: "di.zs"; zt: "di.zt"; zu: "di.zu"; zv: "di.zv"; zw: "di.zw"; zx: "di.zx"; zy: "di.zy"; zz: "di.zz"; }; dj: { aa: "dj.aa"; ab: "dj.ab"; ac: "dj.ac"; ad: "dj.ad"; ae: "dj.ae"; af: "dj.af"; ag: "dj.ag"; ah: "dj.ah"; ai: "dj.ai"; aj: "dj.aj"; ak: "dj.ak"; al: "dj.al"; am: "dj.am"; an: "dj.an"; ao: "dj.ao"; ap: "dj.ap"; aq: "dj.aq"; ar: "dj.ar"; as: "dj.as"; at: "dj.at"; au: "dj.au"; av: "dj.av"; aw: "dj.aw"; ax: "dj.ax"; ay: "dj.ay"; az: "dj.az"; ba: "dj.ba"; bb: "dj.bb"; bc: "dj.bc"; bd: "dj.bd"; be: "dj.be"; bf: "dj.bf"; bg: "dj.bg"; bh: "dj.bh"; bi: "dj.bi"; bj: "dj.bj"; bk: "dj.bk"; bl: "dj.bl"; bm: "dj.bm"; bn: "dj.bn"; bo: "dj.bo"; bp: "dj.bp"; bq: "dj.bq"; br: "dj.br"; bs: "dj.bs"; bt: "dj.bt"; bu: "dj.bu"; bv: "dj.bv"; bw: "dj.bw"; bx: "dj.bx"; by: "dj.by"; bz: "dj.bz"; ca: "dj.ca"; cb: "dj.cb"; cc: "dj.cc"; cd: "dj.cd"; ce: "dj.ce"; cf: "dj.cf"; cg: "dj.cg"; ch: "dj.ch"; ci: "dj.ci"; cj: "dj.cj"; ck: "dj.ck"; cl: "dj.cl"; cm: "dj.cm"; cn: "dj.cn"; co: "dj.co"; cp: "dj.cp"; cq: "dj.cq"; cr: "dj.cr"; cs: "dj.cs"; ct: "dj.ct"; cu: "dj.cu"; cv: "dj.cv"; cw: "dj.cw"; cx: "dj.cx"; cy: "dj.cy"; cz: "dj.cz"; da: "dj.da"; db: "dj.db"; dc: "dj.dc"; dd: "dj.dd"; de: "dj.de"; df: "dj.df"; dg: "dj.dg"; dh: "dj.dh"; di: "dj.di"; dj: "dj.dj"; dk: "dj.dk"; dl: "dj.dl"; dm: "dj.dm"; dn: "dj.dn"; do: "dj.do"; dp: "dj.dp"; dq: "dj.dq"; dr: "dj.dr"; ds: "dj.ds"; dt: "dj.dt"; du: "dj.du"; dv: "dj.dv"; dw: "dj.dw"; dx: "dj.dx"; dy: "dj.dy"; dz: "dj.dz"; ea: "dj.ea"; eb: "dj.eb"; ec: "dj.ec"; ed: "dj.ed"; ee: "dj.ee"; ef: "dj.ef"; eg: "dj.eg"; eh: "dj.eh"; ei: "dj.ei"; ej: "dj.ej"; ek: "dj.ek"; el: "dj.el"; em: "dj.em"; en: "dj.en"; eo: "dj.eo"; ep: "dj.ep"; eq: "dj.eq"; er: "dj.er"; es: "dj.es"; et: "dj.et"; eu: "dj.eu"; ev: "dj.ev"; ew: "dj.ew"; ex: "dj.ex"; ey: "dj.ey"; ez: "dj.ez"; fa: "dj.fa"; fb: "dj.fb"; fc: "dj.fc"; fd: "dj.fd"; fe: "dj.fe"; ff: "dj.ff"; fg: "dj.fg"; fh: "dj.fh"; fi: "dj.fi"; fj: "dj.fj"; fk: "dj.fk"; fl: "dj.fl"; fm: "dj.fm"; fn: "dj.fn"; fo: "dj.fo"; fp: "dj.fp"; fq: "dj.fq"; fr: "dj.fr"; fs: "dj.fs"; ft: "dj.ft"; fu: "dj.fu"; fv: "dj.fv"; fw: "dj.fw"; fx: "dj.fx"; fy: "dj.fy"; fz: "dj.fz"; ga: "dj.ga"; gb: "dj.gb"; gc: "dj.gc"; gd: "dj.gd"; ge: "dj.ge"; gf: "dj.gf"; gg: "dj.gg"; gh: "dj.gh"; gi: "dj.gi"; gj: "dj.gj"; gk: "dj.gk"; gl: "dj.gl"; gm: "dj.gm"; gn: "dj.gn"; go: "dj.go"; gp: "dj.gp"; gq: "dj.gq"; gr: "dj.gr"; gs: "dj.gs"; gt: "dj.gt"; gu: "dj.gu"; gv: "dj.gv"; gw: "dj.gw"; gx: "dj.gx"; gy: "dj.gy"; gz: "dj.gz"; ha: "dj.ha"; hb: "dj.hb"; hc: "dj.hc"; hd: "dj.hd"; he: "dj.he"; hf: "dj.hf"; hg: "dj.hg"; hh: "dj.hh"; hi: "dj.hi"; hj: "dj.hj"; hk: "dj.hk"; hl: "dj.hl"; hm: "dj.hm"; hn: "dj.hn"; ho: "dj.ho"; hp: "dj.hp"; hq: "dj.hq"; hr: "dj.hr"; hs: "dj.hs"; ht: "dj.ht"; hu: "dj.hu"; hv: "dj.hv"; hw: "dj.hw"; hx: "dj.hx"; hy: "dj.hy"; hz: "dj.hz"; ia: "dj.ia"; ib: "dj.ib"; ic: "dj.ic"; id: "dj.id"; ie: "dj.ie"; if: "dj.if"; ig: "dj.ig"; ih: "dj.ih"; ii: "dj.ii"; ij: "dj.ij"; ik: "dj.ik"; il: "dj.il"; im: "dj.im"; in: "dj.in"; io: "dj.io"; ip: "dj.ip"; iq: "dj.iq"; ir: "dj.ir"; is: "dj.is"; it: "dj.it"; iu: "dj.iu"; iv: "dj.iv"; iw: "dj.iw"; ix: "dj.ix"; iy: "dj.iy"; iz: "dj.iz"; ja: "dj.ja"; jb: "dj.jb"; jc: "dj.jc"; jd: "dj.jd"; je: "dj.je"; jf: "dj.jf"; jg: "dj.jg"; jh: "dj.jh"; ji: "dj.ji"; jj: "dj.jj"; jk: "dj.jk"; jl: "dj.jl"; jm: "dj.jm"; jn: "dj.jn"; jo: "dj.jo"; jp: "dj.jp"; jq: "dj.jq"; jr: "dj.jr"; js: "dj.js"; jt: "dj.jt"; ju: "dj.ju"; jv: "dj.jv"; jw: "dj.jw"; jx: "dj.jx"; jy: "dj.jy"; jz: "dj.jz"; ka: "dj.ka"; kb: "dj.kb"; kc: "dj.kc"; kd: "dj.kd"; ke: "dj.ke"; kf: "dj.kf"; kg: "dj.kg"; kh: "dj.kh"; ki: "dj.ki"; kj: "dj.kj"; kk: "dj.kk"; kl: "dj.kl"; km: "dj.km"; kn: "dj.kn"; ko: "dj.ko"; kp: "dj.kp"; kq: "dj.kq"; kr: "dj.kr"; ks: "dj.ks"; kt: "dj.kt"; ku: "dj.ku"; kv: "dj.kv"; kw: "dj.kw"; kx: "dj.kx"; ky: "dj.ky"; kz: "dj.kz"; la: "dj.la"; lb: "dj.lb"; lc: "dj.lc"; ld: "dj.ld"; le: "dj.le"; lf: "dj.lf"; lg: "dj.lg"; lh: "dj.lh"; li: "dj.li"; lj: "dj.lj"; lk: "dj.lk"; ll: "dj.ll"; lm: "dj.lm"; ln: "dj.ln"; lo: "dj.lo"; lp: "dj.lp"; lq: "dj.lq"; lr: "dj.lr"; ls: "dj.ls"; lt: "dj.lt"; lu: "dj.lu"; lv: "dj.lv"; lw: "dj.lw"; lx: "dj.lx"; ly: "dj.ly"; lz: "dj.lz"; ma: "dj.ma"; mb: "dj.mb"; mc: "dj.mc"; md: "dj.md"; me: "dj.me"; mf: "dj.mf"; mg: "dj.mg"; mh: "dj.mh"; mi: "dj.mi"; mj: "dj.mj"; mk: "dj.mk"; ml: "dj.ml"; mm: "dj.mm"; mn: "dj.mn"; mo: "dj.mo"; mp: "dj.mp"; mq: "dj.mq"; mr: "dj.mr"; ms: "dj.ms"; mt: "dj.mt"; mu: "dj.mu"; mv: "dj.mv"; mw: "dj.mw"; mx: "dj.mx"; my: "dj.my"; mz: "dj.mz"; na: "dj.na"; nb: "dj.nb"; nc: "dj.nc"; nd: "dj.nd"; ne: "dj.ne"; nf: "dj.nf"; ng: "dj.ng"; nh: "dj.nh"; ni: "dj.ni"; nj: "dj.nj"; nk: "dj.nk"; nl: "dj.nl"; nm: "dj.nm"; nn: "dj.nn"; no: "dj.no"; np: "dj.np"; nq: "dj.nq"; nr: "dj.nr"; ns: "dj.ns"; nt: "dj.nt"; nu: "dj.nu"; nv: "dj.nv"; nw: "dj.nw"; nx: "dj.nx"; ny: "dj.ny"; nz: "dj.nz"; oa: "dj.oa"; ob: "dj.ob"; oc: "dj.oc"; od: "dj.od"; oe: "dj.oe"; of: "dj.of"; og: "dj.og"; oh: "dj.oh"; oi: "dj.oi"; oj: "dj.oj"; ok: "dj.ok"; ol: "dj.ol"; om: "dj.om"; on: "dj.on"; oo: "dj.oo"; op: "dj.op"; oq: "dj.oq"; or: "dj.or"; os: "dj.os"; ot: "dj.ot"; ou: "dj.ou"; ov: "dj.ov"; ow: "dj.ow"; ox: "dj.ox"; oy: "dj.oy"; oz: "dj.oz"; pa: "dj.pa"; pb: "dj.pb"; pc: "dj.pc"; pd: "dj.pd"; pe: "dj.pe"; pf: "dj.pf"; pg: "dj.pg"; ph: "dj.ph"; pi: "dj.pi"; pj: "dj.pj"; pk: "dj.pk"; pl: "dj.pl"; pm: "dj.pm"; pn: "dj.pn"; po: "dj.po"; pp: "dj.pp"; pq: "dj.pq"; pr: "dj.pr"; ps: "dj.ps"; pt: "dj.pt"; pu: "dj.pu"; pv: "dj.pv"; pw: "dj.pw"; px: "dj.px"; py: "dj.py"; pz: "dj.pz"; qa: "dj.qa"; qb: "dj.qb"; qc: "dj.qc"; qd: "dj.qd"; qe: "dj.qe"; qf: "dj.qf"; qg: "dj.qg"; qh: "dj.qh"; qi: "dj.qi"; qj: "dj.qj"; qk: "dj.qk"; ql: "dj.ql"; qm: "dj.qm"; qn: "dj.qn"; qo: "dj.qo"; qp: "dj.qp"; qq: "dj.qq"; qr: "dj.qr"; qs: "dj.qs"; qt: "dj.qt"; qu: "dj.qu"; qv: "dj.qv"; qw: "dj.qw"; qx: "dj.qx"; qy: "dj.qy"; qz: "dj.qz"; ra: "dj.ra"; rb: "dj.rb"; rc: "dj.rc"; rd: "dj.rd"; re: "dj.re"; rf: "dj.rf"; rg: "dj.rg"; rh: "dj.rh"; ri: "dj.ri"; rj: "dj.rj"; rk: "dj.rk"; rl: "dj.rl"; rm: "dj.rm"; rn: "dj.rn"; ro: "dj.ro"; rp: "dj.rp"; rq: "dj.rq"; rr: "dj.rr"; rs: "dj.rs"; rt: "dj.rt"; ru: "dj.ru"; rv: "dj.rv"; rw: "dj.rw"; rx: "dj.rx"; ry: "dj.ry"; rz: "dj.rz"; sa: "dj.sa"; sb: "dj.sb"; sc: "dj.sc"; sd: "dj.sd"; se: "dj.se"; sf: "dj.sf"; sg: "dj.sg"; sh: "dj.sh"; si: "dj.si"; sj: "dj.sj"; sk: "dj.sk"; sl: "dj.sl"; sm: "dj.sm"; sn: "dj.sn"; so: "dj.so"; sp: "dj.sp"; sq: "dj.sq"; sr: "dj.sr"; ss: "dj.ss"; st: "dj.st"; su: "dj.su"; sv: "dj.sv"; sw: "dj.sw"; sx: "dj.sx"; sy: "dj.sy"; sz: "dj.sz"; ta: "dj.ta"; tb: "dj.tb"; tc: "dj.tc"; td: "dj.td"; te: "dj.te"; tf: "dj.tf"; tg: "dj.tg"; th: "dj.th"; ti: "dj.ti"; tj: "dj.tj"; tk: "dj.tk"; tl: "dj.tl"; tm: "dj.tm"; tn: "dj.tn"; to: "dj.to"; tp: "dj.tp"; tq: "dj.tq"; tr: "dj.tr"; ts: "dj.ts"; tt: "dj.tt"; tu: "dj.tu"; tv: "dj.tv"; tw: "dj.tw"; tx: "dj.tx"; ty: "dj.ty"; tz: "dj.tz"; ua: "dj.ua"; ub: "dj.ub"; uc: "dj.uc"; ud: "dj.ud"; ue: "dj.ue"; uf: "dj.uf"; ug: "dj.ug"; uh: "dj.uh"; ui: "dj.ui"; uj: "dj.uj"; uk: "dj.uk"; ul: "dj.ul"; um: "dj.um"; un: "dj.un"; uo: "dj.uo"; up: "dj.up"; uq: "dj.uq"; ur: "dj.ur"; us: "dj.us"; ut: "dj.ut"; uu: "dj.uu"; uv: "dj.uv"; uw: "dj.uw"; ux: "dj.ux"; uy: "dj.uy"; uz: "dj.uz"; va: "dj.va"; vb: "dj.vb"; vc: "dj.vc"; vd: "dj.vd"; ve: "dj.ve"; vf: "dj.vf"; vg: "dj.vg"; vh: "dj.vh"; vi: "dj.vi"; vj: "dj.vj"; vk: "dj.vk"; vl: "dj.vl"; vm: "dj.vm"; vn: "dj.vn"; vo: "dj.vo"; vp: "dj.vp"; vq: "dj.vq"; vr: "dj.vr"; vs: "dj.vs"; vt: "dj.vt"; vu: "dj.vu"; vv: "dj.vv"; vw: "dj.vw"; vx: "dj.vx"; vy: "dj.vy"; vz: "dj.vz"; wa: "dj.wa"; wb: "dj.wb"; wc: "dj.wc"; wd: "dj.wd"; we: "dj.we"; wf: "dj.wf"; wg: "dj.wg"; wh: "dj.wh"; wi: "dj.wi"; wj: "dj.wj"; wk: "dj.wk"; wl: "dj.wl"; wm: "dj.wm"; wn: "dj.wn"; wo: "dj.wo"; wp: "dj.wp"; wq: "dj.wq"; wr: "dj.wr"; ws: "dj.ws"; wt: "dj.wt"; wu: "dj.wu"; wv: "dj.wv"; ww: "dj.ww"; wx: "dj.wx"; wy: "dj.wy"; wz: "dj.wz"; xa: "dj.xa"; xb: "dj.xb"; xc: "dj.xc"; xd: "dj.xd"; xe: "dj.xe"; xf: "dj.xf"; xg: "dj.xg"; xh: "dj.xh"; xi: "dj.xi"; xj: "dj.xj"; xk: "dj.xk"; xl: "dj.xl"; xm: "dj.xm"; xn: "dj.xn"; xo: "dj.xo"; xp: "dj.xp"; xq: "dj.xq"; xr: "dj.xr"; xs: "dj.xs"; xt: "dj.xt"; xu: "dj.xu"; xv: "dj.xv"; xw: "dj.xw"; xx: "dj.xx"; xy: "dj.xy"; xz: "dj.xz"; ya: "dj.ya"; yb: "dj.yb"; yc: "dj.yc"; yd: "dj.yd"; ye: "dj.ye"; yf: "dj.yf"; yg: "dj.yg"; yh: "dj.yh"; yi: "dj.yi"; yj: "dj.yj"; yk: "dj.yk"; yl: "dj.yl"; ym: "dj.ym"; yn: "dj.yn"; yo: "dj.yo"; yp: "dj.yp"; yq: "dj.yq"; yr: "dj.yr"; ys: "dj.ys"; yt: "dj.yt"; yu: "dj.yu"; yv: "dj.yv"; yw: "dj.yw"; yx: "dj.yx"; yy: "dj.yy"; yz: "dj.yz"; za: "dj.za"; zb: "dj.zb"; zc: "dj.zc"; zd: "dj.zd"; ze: "dj.ze"; zf: "dj.zf"; zg: "dj.zg"; zh: "dj.zh"; zi: "dj.zi"; zj: "dj.zj"; zk: "dj.zk"; zl: "dj.zl"; zm: "dj.zm"; zn: "dj.zn"; zo: "dj.zo"; zp: "dj.zp"; zq: "dj.zq"; zr: "dj.zr"; zs: "dj.zs"; zt: "dj.zt"; zu: "dj.zu"; zv: "dj.zv"; zw: "dj.zw"; zx: "dj.zx"; zy: "dj.zy"; zz: "dj.zz"; }; dk: { aa: "dk.aa"; ab: "dk.ab"; ac: "dk.ac"; ad: "dk.ad"; ae: "dk.ae"; af: "dk.af"; ag: "dk.ag"; ah: "dk.ah"; ai: "dk.ai"; aj: "dk.aj"; ak: "dk.ak"; al: "dk.al"; am: "dk.am"; an: "dk.an"; ao: "dk.ao"; ap: "dk.ap"; aq: "dk.aq"; ar: "dk.ar"; as: "dk.as"; at: "dk.at"; au: "dk.au"; av: "dk.av"; aw: "dk.aw"; ax: "dk.ax"; ay: "dk.ay"; az: "dk.az"; ba: "dk.ba"; bb: "dk.bb"; bc: "dk.bc"; bd: "dk.bd"; be: "dk.be"; bf: "dk.bf"; bg: "dk.bg"; bh: "dk.bh"; bi: "dk.bi"; bj: "dk.bj"; bk: "dk.bk"; bl: "dk.bl"; bm: "dk.bm"; bn: "dk.bn"; bo: "dk.bo"; bp: "dk.bp"; bq: "dk.bq"; br: "dk.br"; bs: "dk.bs"; bt: "dk.bt"; bu: "dk.bu"; bv: "dk.bv"; bw: "dk.bw"; bx: "dk.bx"; by: "dk.by"; bz: "dk.bz"; ca: "dk.ca"; cb: "dk.cb"; cc: "dk.cc"; cd: "dk.cd"; ce: "dk.ce"; cf: "dk.cf"; cg: "dk.cg"; ch: "dk.ch"; ci: "dk.ci"; cj: "dk.cj"; ck: "dk.ck"; cl: "dk.cl"; cm: "dk.cm"; cn: "dk.cn"; co: "dk.co"; cp: "dk.cp"; cq: "dk.cq"; cr: "dk.cr"; cs: "dk.cs"; ct: "dk.ct"; cu: "dk.cu"; cv: "dk.cv"; cw: "dk.cw"; cx: "dk.cx"; cy: "dk.cy"; cz: "dk.cz"; da: "dk.da"; db: "dk.db"; dc: "dk.dc"; dd: "dk.dd"; de: "dk.de"; df: "dk.df"; dg: "dk.dg"; dh: "dk.dh"; di: "dk.di"; dj: "dk.dj"; dk: "dk.dk"; dl: "dk.dl"; dm: "dk.dm"; dn: "dk.dn"; do: "dk.do"; dp: "dk.dp"; dq: "dk.dq"; dr: "dk.dr"; ds: "dk.ds"; dt: "dk.dt"; du: "dk.du"; dv: "dk.dv"; dw: "dk.dw"; dx: "dk.dx"; dy: "dk.dy"; dz: "dk.dz"; ea: "dk.ea"; eb: "dk.eb"; ec: "dk.ec"; ed: "dk.ed"; ee: "dk.ee"; ef: "dk.ef"; eg: "dk.eg"; eh: "dk.eh"; ei: "dk.ei"; ej: "dk.ej"; ek: "dk.ek"; el: "dk.el"; em: "dk.em"; en: "dk.en"; eo: "dk.eo"; ep: "dk.ep"; eq: "dk.eq"; er: "dk.er"; es: "dk.es"; et: "dk.et"; eu: "dk.eu"; ev: "dk.ev"; ew: "dk.ew"; ex: "dk.ex"; ey: "dk.ey"; ez: "dk.ez"; fa: "dk.fa"; fb: "dk.fb"; fc: "dk.fc"; fd: "dk.fd"; fe: "dk.fe"; ff: "dk.ff"; fg: "dk.fg"; fh: "dk.fh"; fi: "dk.fi"; fj: "dk.fj"; fk: "dk.fk"; fl: "dk.fl"; fm: "dk.fm"; fn: "dk.fn"; fo: "dk.fo"; fp: "dk.fp"; fq: "dk.fq"; fr: "dk.fr"; fs: "dk.fs"; ft: "dk.ft"; fu: "dk.fu"; fv: "dk.fv"; fw: "dk.fw"; fx: "dk.fx"; fy: "dk.fy"; fz: "dk.fz"; ga: "dk.ga"; gb: "dk.gb"; gc: "dk.gc"; gd: "dk.gd"; ge: "dk.ge"; gf: "dk.gf"; gg: "dk.gg"; gh: "dk.gh"; gi: "dk.gi"; gj: "dk.gj"; gk: "dk.gk"; gl: "dk.gl"; gm: "dk.gm"; gn: "dk.gn"; go: "dk.go"; gp: "dk.gp"; gq: "dk.gq"; gr: "dk.gr"; gs: "dk.gs"; gt: "dk.gt"; gu: "dk.gu"; gv: "dk.gv"; gw: "dk.gw"; gx: "dk.gx"; gy: "dk.gy"; gz: "dk.gz"; ha: "dk.ha"; hb: "dk.hb"; hc: "dk.hc"; hd: "dk.hd"; he: "dk.he"; hf: "dk.hf"; hg: "dk.hg"; hh: "dk.hh"; hi: "dk.hi"; hj: "dk.hj"; hk: "dk.hk"; hl: "dk.hl"; hm: "dk.hm"; hn: "dk.hn"; ho: "dk.ho"; hp: "dk.hp"; hq: "dk.hq"; hr: "dk.hr"; hs: "dk.hs"; ht: "dk.ht"; hu: "dk.hu"; hv: "dk.hv"; hw: "dk.hw"; hx: "dk.hx"; hy: "dk.hy"; hz: "dk.hz"; ia: "dk.ia"; ib: "dk.ib"; ic: "dk.ic"; id: "dk.id"; ie: "dk.ie"; if: "dk.if"; ig: "dk.ig"; ih: "dk.ih"; ii: "dk.ii"; ij: "dk.ij"; ik: "dk.ik"; il: "dk.il"; im: "dk.im"; in: "dk.in"; io: "dk.io"; ip: "dk.ip"; iq: "dk.iq"; ir: "dk.ir"; is: "dk.is"; it: "dk.it"; iu: "dk.iu"; iv: "dk.iv"; iw: "dk.iw"; ix: "dk.ix"; iy: "dk.iy"; iz: "dk.iz"; ja: "dk.ja"; jb: "dk.jb"; jc: "dk.jc"; jd: "dk.jd"; je: "dk.je"; jf: "dk.jf"; jg: "dk.jg"; jh: "dk.jh"; ji: "dk.ji"; jj: "dk.jj"; jk: "dk.jk"; jl: "dk.jl"; jm: "dk.jm"; jn: "dk.jn"; jo: "dk.jo"; jp: "dk.jp"; jq: "dk.jq"; jr: "dk.jr"; js: "dk.js"; jt: "dk.jt"; ju: "dk.ju"; jv: "dk.jv"; jw: "dk.jw"; jx: "dk.jx"; jy: "dk.jy"; jz: "dk.jz"; ka: "dk.ka"; kb: "dk.kb"; kc: "dk.kc"; kd: "dk.kd"; ke: "dk.ke"; kf: "dk.kf"; kg: "dk.kg"; kh: "dk.kh"; ki: "dk.ki"; kj: "dk.kj"; kk: "dk.kk"; kl: "dk.kl"; km: "dk.km"; kn: "dk.kn"; ko: "dk.ko"; kp: "dk.kp"; kq: "dk.kq"; kr: "dk.kr"; ks: "dk.ks"; kt: "dk.kt"; ku: "dk.ku"; kv: "dk.kv"; kw: "dk.kw"; kx: "dk.kx"; ky: "dk.ky"; kz: "dk.kz"; la: "dk.la"; lb: "dk.lb"; lc: "dk.lc"; ld: "dk.ld"; le: "dk.le"; lf: "dk.lf"; lg: "dk.lg"; lh: "dk.lh"; li: "dk.li"; lj: "dk.lj"; lk: "dk.lk"; ll: "dk.ll"; lm: "dk.lm"; ln: "dk.ln"; lo: "dk.lo"; lp: "dk.lp"; lq: "dk.lq"; lr: "dk.lr"; ls: "dk.ls"; lt: "dk.lt"; lu: "dk.lu"; lv: "dk.lv"; lw: "dk.lw"; lx: "dk.lx"; ly: "dk.ly"; lz: "dk.lz"; ma: "dk.ma"; mb: "dk.mb"; mc: "dk.mc"; md: "dk.md"; me: "dk.me"; mf: "dk.mf"; mg: "dk.mg"; mh: "dk.mh"; mi: "dk.mi"; mj: "dk.mj"; mk: "dk.mk"; ml: "dk.ml"; mm: "dk.mm"; mn: "dk.mn"; mo: "dk.mo"; mp: "dk.mp"; mq: "dk.mq"; mr: "dk.mr"; ms: "dk.ms"; mt: "dk.mt"; mu: "dk.mu"; mv: "dk.mv"; mw: "dk.mw"; mx: "dk.mx"; my: "dk.my"; mz: "dk.mz"; na: "dk.na"; nb: "dk.nb"; nc: "dk.nc"; nd: "dk.nd"; ne: "dk.ne"; nf: "dk.nf"; ng: "dk.ng"; nh: "dk.nh"; ni: "dk.ni"; nj: "dk.nj"; nk: "dk.nk"; nl: "dk.nl"; nm: "dk.nm"; nn: "dk.nn"; no: "dk.no"; np: "dk.np"; nq: "dk.nq"; nr: "dk.nr"; ns: "dk.ns"; nt: "dk.nt"; nu: "dk.nu"; nv: "dk.nv"; nw: "dk.nw"; nx: "dk.nx"; ny: "dk.ny"; nz: "dk.nz"; oa: "dk.oa"; ob: "dk.ob"; oc: "dk.oc"; od: "dk.od"; oe: "dk.oe"; of: "dk.of"; og: "dk.og"; oh: "dk.oh"; oi: "dk.oi"; oj: "dk.oj"; ok: "dk.ok"; ol: "dk.ol"; om: "dk.om"; on: "dk.on"; oo: "dk.oo"; op: "dk.op"; oq: "dk.oq"; or: "dk.or"; os: "dk.os"; ot: "dk.ot"; ou: "dk.ou"; ov: "dk.ov"; ow: "dk.ow"; ox: "dk.ox"; oy: "dk.oy"; oz: "dk.oz"; pa: "dk.pa"; pb: "dk.pb"; pc: "dk.pc"; pd: "dk.pd"; pe: "dk.pe"; pf: "dk.pf"; pg: "dk.pg"; ph: "dk.ph"; pi: "dk.pi"; pj: "dk.pj"; pk: "dk.pk"; pl: "dk.pl"; pm: "dk.pm"; pn: "dk.pn"; po: "dk.po"; pp: "dk.pp"; pq: "dk.pq"; pr: "dk.pr"; ps: "dk.ps"; pt: "dk.pt"; pu: "dk.pu"; pv: "dk.pv"; pw: "dk.pw"; px: "dk.px"; py: "dk.py"; pz: "dk.pz"; qa: "dk.qa"; qb: "dk.qb"; qc: "dk.qc"; qd: "dk.qd"; qe: "dk.qe"; qf: "dk.qf"; qg: "dk.qg"; qh: "dk.qh"; qi: "dk.qi"; qj: "dk.qj"; qk: "dk.qk"; ql: "dk.ql"; qm: "dk.qm"; qn: "dk.qn"; qo: "dk.qo"; qp: "dk.qp"; qq: "dk.qq"; qr: "dk.qr"; qs: "dk.qs"; qt: "dk.qt"; qu: "dk.qu"; qv: "dk.qv"; qw: "dk.qw"; qx: "dk.qx"; qy: "dk.qy"; qz: "dk.qz"; ra: "dk.ra"; rb: "dk.rb"; rc: "dk.rc"; rd: "dk.rd"; re: "dk.re"; rf: "dk.rf"; rg: "dk.rg"; rh: "dk.rh"; ri: "dk.ri"; rj: "dk.rj"; rk: "dk.rk"; rl: "dk.rl"; rm: "dk.rm"; rn: "dk.rn"; ro: "dk.ro"; rp: "dk.rp"; rq: "dk.rq"; rr: "dk.rr"; rs: "dk.rs"; rt: "dk.rt"; ru: "dk.ru"; rv: "dk.rv"; rw: "dk.rw"; rx: "dk.rx"; ry: "dk.ry"; rz: "dk.rz"; sa: "dk.sa"; sb: "dk.sb"; sc: "dk.sc"; sd: "dk.sd"; se: "dk.se"; sf: "dk.sf"; sg: "dk.sg"; sh: "dk.sh"; si: "dk.si"; sj: "dk.sj"; sk: "dk.sk"; sl: "dk.sl"; sm: "dk.sm"; sn: "dk.sn"; so: "dk.so"; sp: "dk.sp"; sq: "dk.sq"; sr: "dk.sr"; ss: "dk.ss"; st: "dk.st"; su: "dk.su"; sv: "dk.sv"; sw: "dk.sw"; sx: "dk.sx"; sy: "dk.sy"; sz: "dk.sz"; ta: "dk.ta"; tb: "dk.tb"; tc: "dk.tc"; td: "dk.td"; te: "dk.te"; tf: "dk.tf"; tg: "dk.tg"; th: "dk.th"; ti: "dk.ti"; tj: "dk.tj"; tk: "dk.tk"; tl: "dk.tl"; tm: "dk.tm"; tn: "dk.tn"; to: "dk.to"; tp: "dk.tp"; tq: "dk.tq"; tr: "dk.tr"; ts: "dk.ts"; tt: "dk.tt"; tu: "dk.tu"; tv: "dk.tv"; tw: "dk.tw"; tx: "dk.tx"; ty: "dk.ty"; tz: "dk.tz"; ua: "dk.ua"; ub: "dk.ub"; uc: "dk.uc"; ud: "dk.ud"; ue: "dk.ue"; uf: "dk.uf"; ug: "dk.ug"; uh: "dk.uh"; ui: "dk.ui"; uj: "dk.uj"; uk: "dk.uk"; ul: "dk.ul"; um: "dk.um"; un: "dk.un"; uo: "dk.uo"; up: "dk.up"; uq: "dk.uq"; ur: "dk.ur"; us: "dk.us"; ut: "dk.ut"; uu: "dk.uu"; uv: "dk.uv"; uw: "dk.uw"; ux: "dk.ux"; uy: "dk.uy"; uz: "dk.uz"; va: "dk.va"; vb: "dk.vb"; vc: "dk.vc"; vd: "dk.vd"; ve: "dk.ve"; vf: "dk.vf"; vg: "dk.vg"; vh: "dk.vh"; vi: "dk.vi"; vj: "dk.vj"; vk: "dk.vk"; vl: "dk.vl"; vm: "dk.vm"; vn: "dk.vn"; vo: "dk.vo"; vp: "dk.vp"; vq: "dk.vq"; vr: "dk.vr"; vs: "dk.vs"; vt: "dk.vt"; vu: "dk.vu"; vv: "dk.vv"; vw: "dk.vw"; vx: "dk.vx"; vy: "dk.vy"; vz: "dk.vz"; wa: "dk.wa"; wb: "dk.wb"; wc: "dk.wc"; wd: "dk.wd"; we: "dk.we"; wf: "dk.wf"; wg: "dk.wg"; wh: "dk.wh"; wi: "dk.wi"; wj: "dk.wj"; wk: "dk.wk"; wl: "dk.wl"; wm: "dk.wm"; wn: "dk.wn"; wo: "dk.wo"; wp: "dk.wp"; wq: "dk.wq"; wr: "dk.wr"; ws: "dk.ws"; wt: "dk.wt"; wu: "dk.wu"; wv: "dk.wv"; ww: "dk.ww"; wx: "dk.wx"; wy: "dk.wy"; wz: "dk.wz"; xa: "dk.xa"; xb: "dk.xb"; xc: "dk.xc"; xd: "dk.xd"; xe: "dk.xe"; xf: "dk.xf"; xg: "dk.xg"; xh: "dk.xh"; xi: "dk.xi"; xj: "dk.xj"; xk: "dk.xk"; xl: "dk.xl"; xm: "dk.xm"; xn: "dk.xn"; xo: "dk.xo"; xp: "dk.xp"; xq: "dk.xq"; xr: "dk.xr"; xs: "dk.xs"; xt: "dk.xt"; xu: "dk.xu"; xv: "dk.xv"; xw: "dk.xw"; xx: "dk.xx"; xy: "dk.xy"; xz: "dk.xz"; ya: "dk.ya"; yb: "dk.yb"; yc: "dk.yc"; yd: "dk.yd"; ye: "dk.ye"; yf: "dk.yf"; yg: "dk.yg"; yh: "dk.yh"; yi: "dk.yi"; yj: "dk.yj"; yk: "dk.yk"; yl: "dk.yl"; ym: "dk.ym"; yn: "dk.yn"; yo: "dk.yo"; yp: "dk.yp"; yq: "dk.yq"; yr: "dk.yr"; ys: "dk.ys"; yt: "dk.yt"; yu: "dk.yu"; yv: "dk.yv"; yw: "dk.yw"; yx: "dk.yx"; yy: "dk.yy"; yz: "dk.yz"; za: "dk.za"; zb: "dk.zb"; zc: "dk.zc"; zd: "dk.zd"; ze: "dk.ze"; zf: "dk.zf"; zg: "dk.zg"; zh: "dk.zh"; zi: "dk.zi"; zj: "dk.zj"; zk: "dk.zk"; zl: "dk.zl"; zm: "dk.zm"; zn: "dk.zn"; zo: "dk.zo"; zp: "dk.zp"; zq: "dk.zq"; zr: "dk.zr"; zs: "dk.zs"; zt: "dk.zt"; zu: "dk.zu"; zv: "dk.zv"; zw: "dk.zw"; zx: "dk.zx"; zy: "dk.zy"; zz: "dk.zz"; }; dl: { aa: "dl.aa"; ab: "dl.ab"; ac: "dl.ac"; ad: "dl.ad"; ae: "dl.ae"; af: "dl.af"; ag: "dl.ag"; ah: "dl.ah"; ai: "dl.ai"; aj: "dl.aj"; ak: "dl.ak"; al: "dl.al"; am: "dl.am"; an: "dl.an"; ao: "dl.ao"; ap: "dl.ap"; aq: "dl.aq"; ar: "dl.ar"; as: "dl.as"; at: "dl.at"; au: "dl.au"; av: "dl.av"; aw: "dl.aw"; ax: "dl.ax"; ay: "dl.ay"; az: "dl.az"; ba: "dl.ba"; bb: "dl.bb"; bc: "dl.bc"; bd: "dl.bd"; be: "dl.be"; bf: "dl.bf"; bg: "dl.bg"; bh: "dl.bh"; bi: "dl.bi"; bj: "dl.bj"; bk: "dl.bk"; bl: "dl.bl"; bm: "dl.bm"; bn: "dl.bn"; bo: "dl.bo"; bp: "dl.bp"; bq: "dl.bq"; br: "dl.br"; bs: "dl.bs"; bt: "dl.bt"; bu: "dl.bu"; bv: "dl.bv"; bw: "dl.bw"; bx: "dl.bx"; by: "dl.by"; bz: "dl.bz"; ca: "dl.ca"; cb: "dl.cb"; cc: "dl.cc"; cd: "dl.cd"; ce: "dl.ce"; cf: "dl.cf"; cg: "dl.cg"; ch: "dl.ch"; ci: "dl.ci"; cj: "dl.cj"; ck: "dl.ck"; cl: "dl.cl"; cm: "dl.cm"; cn: "dl.cn"; co: "dl.co"; cp: "dl.cp"; cq: "dl.cq"; cr: "dl.cr"; cs: "dl.cs"; ct: "dl.ct"; cu: "dl.cu"; cv: "dl.cv"; cw: "dl.cw"; cx: "dl.cx"; cy: "dl.cy"; cz: "dl.cz"; da: "dl.da"; db: "dl.db"; dc: "dl.dc"; dd: "dl.dd"; de: "dl.de"; df: "dl.df"; dg: "dl.dg"; dh: "dl.dh"; di: "dl.di"; dj: "dl.dj"; dk: "dl.dk"; dl: "dl.dl"; dm: "dl.dm"; dn: "dl.dn"; do: "dl.do"; dp: "dl.dp"; dq: "dl.dq"; dr: "dl.dr"; ds: "dl.ds"; dt: "dl.dt"; du: "dl.du"; dv: "dl.dv"; dw: "dl.dw"; dx: "dl.dx"; dy: "dl.dy"; dz: "dl.dz"; ea: "dl.ea"; eb: "dl.eb"; ec: "dl.ec"; ed: "dl.ed"; ee: "dl.ee"; ef: "dl.ef"; eg: "dl.eg"; eh: "dl.eh"; ei: "dl.ei"; ej: "dl.ej"; ek: "dl.ek"; el: "dl.el"; em: "dl.em"; en: "dl.en"; eo: "dl.eo"; ep: "dl.ep"; eq: "dl.eq"; er: "dl.er"; es: "dl.es"; et: "dl.et"; eu: "dl.eu"; ev: "dl.ev"; ew: "dl.ew"; ex: "dl.ex"; ey: "dl.ey"; ez: "dl.ez"; fa: "dl.fa"; fb: "dl.fb"; fc: "dl.fc"; fd: "dl.fd"; fe: "dl.fe"; ff: "dl.ff"; fg: "dl.fg"; fh: "dl.fh"; fi: "dl.fi"; fj: "dl.fj"; fk: "dl.fk"; fl: "dl.fl"; fm: "dl.fm"; fn: "dl.fn"; fo: "dl.fo"; fp: "dl.fp"; fq: "dl.fq"; fr: "dl.fr"; fs: "dl.fs"; ft: "dl.ft"; fu: "dl.fu"; fv: "dl.fv"; fw: "dl.fw"; fx: "dl.fx"; fy: "dl.fy"; fz: "dl.fz"; ga: "dl.ga"; gb: "dl.gb"; gc: "dl.gc"; gd: "dl.gd"; ge: "dl.ge"; gf: "dl.gf"; gg: "dl.gg"; gh: "dl.gh"; gi: "dl.gi"; gj: "dl.gj"; gk: "dl.gk"; gl: "dl.gl"; gm: "dl.gm"; gn: "dl.gn"; go: "dl.go"; gp: "dl.gp"; gq: "dl.gq"; gr: "dl.gr"; gs: "dl.gs"; gt: "dl.gt"; gu: "dl.gu"; gv: "dl.gv"; gw: "dl.gw"; gx: "dl.gx"; gy: "dl.gy"; gz: "dl.gz"; ha: "dl.ha"; hb: "dl.hb"; hc: "dl.hc"; hd: "dl.hd"; he: "dl.he"; hf: "dl.hf"; hg: "dl.hg"; hh: "dl.hh"; hi: "dl.hi"; hj: "dl.hj"; hk: "dl.hk"; hl: "dl.hl"; hm: "dl.hm"; hn: "dl.hn"; ho: "dl.ho"; hp: "dl.hp"; hq: "dl.hq"; hr: "dl.hr"; hs: "dl.hs"; ht: "dl.ht"; hu: "dl.hu"; hv: "dl.hv"; hw: "dl.hw"; hx: "dl.hx"; hy: "dl.hy"; hz: "dl.hz"; ia: "dl.ia"; ib: "dl.ib"; ic: "dl.ic"; id: "dl.id"; ie: "dl.ie"; if: "dl.if"; ig: "dl.ig"; ih: "dl.ih"; ii: "dl.ii"; ij: "dl.ij"; ik: "dl.ik"; il: "dl.il"; im: "dl.im"; in: "dl.in"; io: "dl.io"; ip: "dl.ip"; iq: "dl.iq"; ir: "dl.ir"; is: "dl.is"; it: "dl.it"; iu: "dl.iu"; iv: "dl.iv"; iw: "dl.iw"; ix: "dl.ix"; iy: "dl.iy"; iz: "dl.iz"; ja: "dl.ja"; jb: "dl.jb"; jc: "dl.jc"; jd: "dl.jd"; je: "dl.je"; jf: "dl.jf"; jg: "dl.jg"; jh: "dl.jh"; ji: "dl.ji"; jj: "dl.jj"; jk: "dl.jk"; jl: "dl.jl"; jm: "dl.jm"; jn: "dl.jn"; jo: "dl.jo"; jp: "dl.jp"; jq: "dl.jq"; jr: "dl.jr"; js: "dl.js"; jt: "dl.jt"; ju: "dl.ju"; jv: "dl.jv"; jw: "dl.jw"; jx: "dl.jx"; jy: "dl.jy"; jz: "dl.jz"; ka: "dl.ka"; kb: "dl.kb"; kc: "dl.kc"; kd: "dl.kd"; ke: "dl.ke"; kf: "dl.kf"; kg: "dl.kg"; kh: "dl.kh"; ki: "dl.ki"; kj: "dl.kj"; kk: "dl.kk"; kl: "dl.kl"; km: "dl.km"; kn: "dl.kn"; ko: "dl.ko"; kp: "dl.kp"; kq: "dl.kq"; kr: "dl.kr"; ks: "dl.ks"; kt: "dl.kt"; ku: "dl.ku"; kv: "dl.kv"; kw: "dl.kw"; kx: "dl.kx"; ky: "dl.ky"; kz: "dl.kz"; la: "dl.la"; lb: "dl.lb"; lc: "dl.lc"; ld: "dl.ld"; le: "dl.le"; lf: "dl.lf"; lg: "dl.lg"; lh: "dl.lh"; li: "dl.li"; lj: "dl.lj"; lk: "dl.lk"; ll: "dl.ll"; lm: "dl.lm"; ln: "dl.ln"; lo: "dl.lo"; lp: "dl.lp"; lq: "dl.lq"; lr: "dl.lr"; ls: "dl.ls"; lt: "dl.lt"; lu: "dl.lu"; lv: "dl.lv"; lw: "dl.lw"; lx: "dl.lx"; ly: "dl.ly"; lz: "dl.lz"; ma: "dl.ma"; mb: "dl.mb"; mc: "dl.mc"; md: "dl.md"; me: "dl.me"; mf: "dl.mf"; mg: "dl.mg"; mh: "dl.mh"; mi: "dl.mi"; mj: "dl.mj"; mk: "dl.mk"; ml: "dl.ml"; mm: "dl.mm"; mn: "dl.mn"; mo: "dl.mo"; mp: "dl.mp"; mq: "dl.mq"; mr: "dl.mr"; ms: "dl.ms"; mt: "dl.mt"; mu: "dl.mu"; mv: "dl.mv"; mw: "dl.mw"; mx: "dl.mx"; my: "dl.my"; mz: "dl.mz"; na: "dl.na"; nb: "dl.nb"; nc: "dl.nc"; nd: "dl.nd"; ne: "dl.ne"; nf: "dl.nf"; ng: "dl.ng"; nh: "dl.nh"; ni: "dl.ni"; nj: "dl.nj"; nk: "dl.nk"; nl: "dl.nl"; nm: "dl.nm"; nn: "dl.nn"; no: "dl.no"; np: "dl.np"; nq: "dl.nq"; nr: "dl.nr"; ns: "dl.ns"; nt: "dl.nt"; nu: "dl.nu"; nv: "dl.nv"; nw: "dl.nw"; nx: "dl.nx"; ny: "dl.ny"; nz: "dl.nz"; oa: "dl.oa"; ob: "dl.ob"; oc: "dl.oc"; od: "dl.od"; oe: "dl.oe"; of: "dl.of"; og: "dl.og"; oh: "dl.oh"; oi: "dl.oi"; oj: "dl.oj"; ok: "dl.ok"; ol: "dl.ol"; om: "dl.om"; on: "dl.on"; oo: "dl.oo"; op: "dl.op"; oq: "dl.oq"; or: "dl.or"; os: "dl.os"; ot: "dl.ot"; ou: "dl.ou"; ov: "dl.ov"; ow: "dl.ow"; ox: "dl.ox"; oy: "dl.oy"; oz: "dl.oz"; pa: "dl.pa"; pb: "dl.pb"; pc: "dl.pc"; pd: "dl.pd"; pe: "dl.pe"; pf: "dl.pf"; pg: "dl.pg"; ph: "dl.ph"; pi: "dl.pi"; pj: "dl.pj"; pk: "dl.pk"; pl: "dl.pl"; pm: "dl.pm"; pn: "dl.pn"; po: "dl.po"; pp: "dl.pp"; pq: "dl.pq"; pr: "dl.pr"; ps: "dl.ps"; pt: "dl.pt"; pu: "dl.pu"; pv: "dl.pv"; pw: "dl.pw"; px: "dl.px"; py: "dl.py"; pz: "dl.pz"; qa: "dl.qa"; qb: "dl.qb"; qc: "dl.qc"; qd: "dl.qd"; qe: "dl.qe"; qf: "dl.qf"; qg: "dl.qg"; qh: "dl.qh"; qi: "dl.qi"; qj: "dl.qj"; qk: "dl.qk"; ql: "dl.ql"; qm: "dl.qm"; qn: "dl.qn"; qo: "dl.qo"; qp: "dl.qp"; qq: "dl.qq"; qr: "dl.qr"; qs: "dl.qs"; qt: "dl.qt"; qu: "dl.qu"; qv: "dl.qv"; qw: "dl.qw"; qx: "dl.qx"; qy: "dl.qy"; qz: "dl.qz"; ra: "dl.ra"; rb: "dl.rb"; rc: "dl.rc"; rd: "dl.rd"; re: "dl.re"; rf: "dl.rf"; rg: "dl.rg"; rh: "dl.rh"; ri: "dl.ri"; rj: "dl.rj"; rk: "dl.rk"; rl: "dl.rl"; rm: "dl.rm"; rn: "dl.rn"; ro: "dl.ro"; rp: "dl.rp"; rq: "dl.rq"; rr: "dl.rr"; rs: "dl.rs"; rt: "dl.rt"; ru: "dl.ru"; rv: "dl.rv"; rw: "dl.rw"; rx: "dl.rx"; ry: "dl.ry"; rz: "dl.rz"; sa: "dl.sa"; sb: "dl.sb"; sc: "dl.sc"; sd: "dl.sd"; se: "dl.se"; sf: "dl.sf"; sg: "dl.sg"; sh: "dl.sh"; si: "dl.si"; sj: "dl.sj"; sk: "dl.sk"; sl: "dl.sl"; sm: "dl.sm"; sn: "dl.sn"; so: "dl.so"; sp: "dl.sp"; sq: "dl.sq"; sr: "dl.sr"; ss: "dl.ss"; st: "dl.st"; su: "dl.su"; sv: "dl.sv"; sw: "dl.sw"; sx: "dl.sx"; sy: "dl.sy"; sz: "dl.sz"; ta: "dl.ta"; tb: "dl.tb"; tc: "dl.tc"; td: "dl.td"; te: "dl.te"; tf: "dl.tf"; tg: "dl.tg"; th: "dl.th"; ti: "dl.ti"; tj: "dl.tj"; tk: "dl.tk"; tl: "dl.tl"; tm: "dl.tm"; tn: "dl.tn"; to: "dl.to"; tp: "dl.tp"; tq: "dl.tq"; tr: "dl.tr"; ts: "dl.ts"; tt: "dl.tt"; tu: "dl.tu"; tv: "dl.tv"; tw: "dl.tw"; tx: "dl.tx"; ty: "dl.ty"; tz: "dl.tz"; ua: "dl.ua"; ub: "dl.ub"; uc: "dl.uc"; ud: "dl.ud"; ue: "dl.ue"; uf: "dl.uf"; ug: "dl.ug"; uh: "dl.uh"; ui: "dl.ui"; uj: "dl.uj"; uk: "dl.uk"; ul: "dl.ul"; um: "dl.um"; un: "dl.un"; uo: "dl.uo"; up: "dl.up"; uq: "dl.uq"; ur: "dl.ur"; us: "dl.us"; ut: "dl.ut"; uu: "dl.uu"; uv: "dl.uv"; uw: "dl.uw"; ux: "dl.ux"; uy: "dl.uy"; uz: "dl.uz"; va: "dl.va"; vb: "dl.vb"; vc: "dl.vc"; vd: "dl.vd"; ve: "dl.ve"; vf: "dl.vf"; vg: "dl.vg"; vh: "dl.vh"; vi: "dl.vi"; vj: "dl.vj"; vk: "dl.vk"; vl: "dl.vl"; vm: "dl.vm"; vn: "dl.vn"; vo: "dl.vo"; vp: "dl.vp"; vq: "dl.vq"; vr: "dl.vr"; vs: "dl.vs"; vt: "dl.vt"; vu: "dl.vu"; vv: "dl.vv"; vw: "dl.vw"; vx: "dl.vx"; vy: "dl.vy"; vz: "dl.vz"; wa: "dl.wa"; wb: "dl.wb"; wc: "dl.wc"; wd: "dl.wd"; we: "dl.we"; wf: "dl.wf"; wg: "dl.wg"; wh: "dl.wh"; wi: "dl.wi"; wj: "dl.wj"; wk: "dl.wk"; wl: "dl.wl"; wm: "dl.wm"; wn: "dl.wn"; wo: "dl.wo"; wp: "dl.wp"; wq: "dl.wq"; wr: "dl.wr"; ws: "dl.ws"; wt: "dl.wt"; wu: "dl.wu"; wv: "dl.wv"; ww: "dl.ww"; wx: "dl.wx"; wy: "dl.wy"; wz: "dl.wz"; xa: "dl.xa"; xb: "dl.xb"; xc: "dl.xc"; xd: "dl.xd"; xe: "dl.xe"; xf: "dl.xf"; xg: "dl.xg"; xh: "dl.xh"; xi: "dl.xi"; xj: "dl.xj"; xk: "dl.xk"; xl: "dl.xl"; xm: "dl.xm"; xn: "dl.xn"; xo: "dl.xo"; xp: "dl.xp"; xq: "dl.xq"; xr: "dl.xr"; xs: "dl.xs"; xt: "dl.xt"; xu: "dl.xu"; xv: "dl.xv"; xw: "dl.xw"; xx: "dl.xx"; xy: "dl.xy"; xz: "dl.xz"; ya: "dl.ya"; yb: "dl.yb"; yc: "dl.yc"; yd: "dl.yd"; ye: "dl.ye"; yf: "dl.yf"; yg: "dl.yg"; yh: "dl.yh"; yi: "dl.yi"; yj: "dl.yj"; yk: "dl.yk"; yl: "dl.yl"; ym: "dl.ym"; yn: "dl.yn"; yo: "dl.yo"; yp: "dl.yp"; yq: "dl.yq"; yr: "dl.yr"; ys: "dl.ys"; yt: "dl.yt"; yu: "dl.yu"; yv: "dl.yv"; yw: "dl.yw"; yx: "dl.yx"; yy: "dl.yy"; yz: "dl.yz"; za: "dl.za"; zb: "dl.zb"; zc: "dl.zc"; zd: "dl.zd"; ze: "dl.ze"; zf: "dl.zf"; zg: "dl.zg"; zh: "dl.zh"; zi: "dl.zi"; zj: "dl.zj"; zk: "dl.zk"; zl: "dl.zl"; zm: "dl.zm"; zn: "dl.zn"; zo: "dl.zo"; zp: "dl.zp"; zq: "dl.zq"; zr: "dl.zr"; zs: "dl.zs"; zt: "dl.zt"; zu: "dl.zu"; zv: "dl.zv"; zw: "dl.zw"; zx: "dl.zx"; zy: "dl.zy"; zz: "dl.zz"; }; dm: { aa: "dm.aa"; ab: "dm.ab"; ac: "dm.ac"; ad: "dm.ad"; ae: "dm.ae"; af: "dm.af"; ag: "dm.ag"; ah: "dm.ah"; ai: "dm.ai"; aj: "dm.aj"; ak: "dm.ak"; al: "dm.al"; am: "dm.am"; an: "dm.an"; ao: "dm.ao"; ap: "dm.ap"; aq: "dm.aq"; ar: "dm.ar"; as: "dm.as"; at: "dm.at"; au: "dm.au"; av: "dm.av"; aw: "dm.aw"; ax: "dm.ax"; ay: "dm.ay"; az: "dm.az"; ba: "dm.ba"; bb: "dm.bb"; bc: "dm.bc"; bd: "dm.bd"; be: "dm.be"; bf: "dm.bf"; bg: "dm.bg"; bh: "dm.bh"; bi: "dm.bi"; bj: "dm.bj"; bk: "dm.bk"; bl: "dm.bl"; bm: "dm.bm"; bn: "dm.bn"; bo: "dm.bo"; bp: "dm.bp"; bq: "dm.bq"; br: "dm.br"; bs: "dm.bs"; bt: "dm.bt"; bu: "dm.bu"; bv: "dm.bv"; bw: "dm.bw"; bx: "dm.bx"; by: "dm.by"; bz: "dm.bz"; ca: "dm.ca"; cb: "dm.cb"; cc: "dm.cc"; cd: "dm.cd"; ce: "dm.ce"; cf: "dm.cf"; cg: "dm.cg"; ch: "dm.ch"; ci: "dm.ci"; cj: "dm.cj"; ck: "dm.ck"; cl: "dm.cl"; cm: "dm.cm"; cn: "dm.cn"; co: "dm.co"; cp: "dm.cp"; cq: "dm.cq"; cr: "dm.cr"; cs: "dm.cs"; ct: "dm.ct"; cu: "dm.cu"; cv: "dm.cv"; cw: "dm.cw"; cx: "dm.cx"; cy: "dm.cy"; cz: "dm.cz"; da: "dm.da"; db: "dm.db"; dc: "dm.dc"; dd: "dm.dd"; de: "dm.de"; df: "dm.df"; dg: "dm.dg"; dh: "dm.dh"; di: "dm.di"; dj: "dm.dj"; dk: "dm.dk"; dl: "dm.dl"; dm: "dm.dm"; dn: "dm.dn"; do: "dm.do"; dp: "dm.dp"; dq: "dm.dq"; dr: "dm.dr"; ds: "dm.ds"; dt: "dm.dt"; du: "dm.du"; dv: "dm.dv"; dw: "dm.dw"; dx: "dm.dx"; dy: "dm.dy"; dz: "dm.dz"; ea: "dm.ea"; eb: "dm.eb"; ec: "dm.ec"; ed: "dm.ed"; ee: "dm.ee"; ef: "dm.ef"; eg: "dm.eg"; eh: "dm.eh"; ei: "dm.ei"; ej: "dm.ej"; ek: "dm.ek"; el: "dm.el"; em: "dm.em"; en: "dm.en"; eo: "dm.eo"; ep: "dm.ep"; eq: "dm.eq"; er: "dm.er"; es: "dm.es"; et: "dm.et"; eu: "dm.eu"; ev: "dm.ev"; ew: "dm.ew"; ex: "dm.ex"; ey: "dm.ey"; ez: "dm.ez"; fa: "dm.fa"; fb: "dm.fb"; fc: "dm.fc"; fd: "dm.fd"; fe: "dm.fe"; ff: "dm.ff"; fg: "dm.fg"; fh: "dm.fh"; fi: "dm.fi"; fj: "dm.fj"; fk: "dm.fk"; fl: "dm.fl"; fm: "dm.fm"; fn: "dm.fn"; fo: "dm.fo"; fp: "dm.fp"; fq: "dm.fq"; fr: "dm.fr"; fs: "dm.fs"; ft: "dm.ft"; fu: "dm.fu"; fv: "dm.fv"; fw: "dm.fw"; fx: "dm.fx"; fy: "dm.fy"; fz: "dm.fz"; ga: "dm.ga"; gb: "dm.gb"; gc: "dm.gc"; gd: "dm.gd"; ge: "dm.ge"; gf: "dm.gf"; gg: "dm.gg"; gh: "dm.gh"; gi: "dm.gi"; gj: "dm.gj"; gk: "dm.gk"; gl: "dm.gl"; gm: "dm.gm"; gn: "dm.gn"; go: "dm.go"; gp: "dm.gp"; gq: "dm.gq"; gr: "dm.gr"; gs: "dm.gs"; gt: "dm.gt"; gu: "dm.gu"; gv: "dm.gv"; gw: "dm.gw"; gx: "dm.gx"; gy: "dm.gy"; gz: "dm.gz"; ha: "dm.ha"; hb: "dm.hb"; hc: "dm.hc"; hd: "dm.hd"; he: "dm.he"; hf: "dm.hf"; hg: "dm.hg"; hh: "dm.hh"; hi: "dm.hi"; hj: "dm.hj"; hk: "dm.hk"; hl: "dm.hl"; hm: "dm.hm"; hn: "dm.hn"; ho: "dm.ho"; hp: "dm.hp"; hq: "dm.hq"; hr: "dm.hr"; hs: "dm.hs"; ht: "dm.ht"; hu: "dm.hu"; hv: "dm.hv"; hw: "dm.hw"; hx: "dm.hx"; hy: "dm.hy"; hz: "dm.hz"; ia: "dm.ia"; ib: "dm.ib"; ic: "dm.ic"; id: "dm.id"; ie: "dm.ie"; if: "dm.if"; ig: "dm.ig"; ih: "dm.ih"; ii: "dm.ii"; ij: "dm.ij"; ik: "dm.ik"; il: "dm.il"; im: "dm.im"; in: "dm.in"; io: "dm.io"; ip: "dm.ip"; iq: "dm.iq"; ir: "dm.ir"; is: "dm.is"; it: "dm.it"; iu: "dm.iu"; iv: "dm.iv"; iw: "dm.iw"; ix: "dm.ix"; iy: "dm.iy"; iz: "dm.iz"; ja: "dm.ja"; jb: "dm.jb"; jc: "dm.jc"; jd: "dm.jd"; je: "dm.je"; jf: "dm.jf"; jg: "dm.jg"; jh: "dm.jh"; ji: "dm.ji"; jj: "dm.jj"; jk: "dm.jk"; jl: "dm.jl"; jm: "dm.jm"; jn: "dm.jn"; jo: "dm.jo"; jp: "dm.jp"; jq: "dm.jq"; jr: "dm.jr"; js: "dm.js"; jt: "dm.jt"; ju: "dm.ju"; jv: "dm.jv"; jw: "dm.jw"; jx: "dm.jx"; jy: "dm.jy"; jz: "dm.jz"; ka: "dm.ka"; kb: "dm.kb"; kc: "dm.kc"; kd: "dm.kd"; ke: "dm.ke"; kf: "dm.kf"; kg: "dm.kg"; kh: "dm.kh"; ki: "dm.ki"; kj: "dm.kj"; kk: "dm.kk"; kl: "dm.kl"; km: "dm.km"; kn: "dm.kn"; ko: "dm.ko"; kp: "dm.kp"; kq: "dm.kq"; kr: "dm.kr"; ks: "dm.ks"; kt: "dm.kt"; ku: "dm.ku"; kv: "dm.kv"; kw: "dm.kw"; kx: "dm.kx"; ky: "dm.ky"; kz: "dm.kz"; la: "dm.la"; lb: "dm.lb"; lc: "dm.lc"; ld: "dm.ld"; le: "dm.le"; lf: "dm.lf"; lg: "dm.lg"; lh: "dm.lh"; li: "dm.li"; lj: "dm.lj"; lk: "dm.lk"; ll: "dm.ll"; lm: "dm.lm"; ln: "dm.ln"; lo: "dm.lo"; lp: "dm.lp"; lq: "dm.lq"; lr: "dm.lr"; ls: "dm.ls"; lt: "dm.lt"; lu: "dm.lu"; lv: "dm.lv"; lw: "dm.lw"; lx: "dm.lx"; ly: "dm.ly"; lz: "dm.lz"; ma: "dm.ma"; mb: "dm.mb"; mc: "dm.mc"; md: "dm.md"; me: "dm.me"; mf: "dm.mf"; mg: "dm.mg"; mh: "dm.mh"; mi: "dm.mi"; mj: "dm.mj"; mk: "dm.mk"; ml: "dm.ml"; mm: "dm.mm"; mn: "dm.mn"; mo: "dm.mo"; mp: "dm.mp"; mq: "dm.mq"; mr: "dm.mr"; ms: "dm.ms"; mt: "dm.mt"; mu: "dm.mu"; mv: "dm.mv"; mw: "dm.mw"; mx: "dm.mx"; my: "dm.my"; mz: "dm.mz"; na: "dm.na"; nb: "dm.nb"; nc: "dm.nc"; nd: "dm.nd"; ne: "dm.ne"; nf: "dm.nf"; ng: "dm.ng"; nh: "dm.nh"; ni: "dm.ni"; nj: "dm.nj"; nk: "dm.nk"; nl: "dm.nl"; nm: "dm.nm"; nn: "dm.nn"; no: "dm.no"; np: "dm.np"; nq: "dm.nq"; nr: "dm.nr"; ns: "dm.ns"; nt: "dm.nt"; nu: "dm.nu"; nv: "dm.nv"; nw: "dm.nw"; nx: "dm.nx"; ny: "dm.ny"; nz: "dm.nz"; oa: "dm.oa"; ob: "dm.ob"; oc: "dm.oc"; od: "dm.od"; oe: "dm.oe"; of: "dm.of"; og: "dm.og"; oh: "dm.oh"; oi: "dm.oi"; oj: "dm.oj"; ok: "dm.ok"; ol: "dm.ol"; om: "dm.om"; on: "dm.on"; oo: "dm.oo"; op: "dm.op"; oq: "dm.oq"; or: "dm.or"; os: "dm.os"; ot: "dm.ot"; ou: "dm.ou"; ov: "dm.ov"; ow: "dm.ow"; ox: "dm.ox"; oy: "dm.oy"; oz: "dm.oz"; pa: "dm.pa"; pb: "dm.pb"; pc: "dm.pc"; pd: "dm.pd"; pe: "dm.pe"; pf: "dm.pf"; pg: "dm.pg"; ph: "dm.ph"; pi: "dm.pi"; pj: "dm.pj"; pk: "dm.pk"; pl: "dm.pl"; pm: "dm.pm"; pn: "dm.pn"; po: "dm.po"; pp: "dm.pp"; pq: "dm.pq"; pr: "dm.pr"; ps: "dm.ps"; pt: "dm.pt"; pu: "dm.pu"; pv: "dm.pv"; pw: "dm.pw"; px: "dm.px"; py: "dm.py"; pz: "dm.pz"; qa: "dm.qa"; qb: "dm.qb"; qc: "dm.qc"; qd: "dm.qd"; qe: "dm.qe"; qf: "dm.qf"; qg: "dm.qg"; qh: "dm.qh"; qi: "dm.qi"; qj: "dm.qj"; qk: "dm.qk"; ql: "dm.ql"; qm: "dm.qm"; qn: "dm.qn"; qo: "dm.qo"; qp: "dm.qp"; qq: "dm.qq"; qr: "dm.qr"; qs: "dm.qs"; qt: "dm.qt"; qu: "dm.qu"; qv: "dm.qv"; qw: "dm.qw"; qx: "dm.qx"; qy: "dm.qy"; qz: "dm.qz"; ra: "dm.ra"; rb: "dm.rb"; rc: "dm.rc"; rd: "dm.rd"; re: "dm.re"; rf: "dm.rf"; rg: "dm.rg"; rh: "dm.rh"; ri: "dm.ri"; rj: "dm.rj"; rk: "dm.rk"; rl: "dm.rl"; rm: "dm.rm"; rn: "dm.rn"; ro: "dm.ro"; rp: "dm.rp"; rq: "dm.rq"; rr: "dm.rr"; rs: "dm.rs"; rt: "dm.rt"; ru: "dm.ru"; rv: "dm.rv"; rw: "dm.rw"; rx: "dm.rx"; ry: "dm.ry"; rz: "dm.rz"; sa: "dm.sa"; sb: "dm.sb"; sc: "dm.sc"; sd: "dm.sd"; se: "dm.se"; sf: "dm.sf"; sg: "dm.sg"; sh: "dm.sh"; si: "dm.si"; sj: "dm.sj"; sk: "dm.sk"; sl: "dm.sl"; sm: "dm.sm"; sn: "dm.sn"; so: "dm.so"; sp: "dm.sp"; sq: "dm.sq"; sr: "dm.sr"; ss: "dm.ss"; st: "dm.st"; su: "dm.su"; sv: "dm.sv"; sw: "dm.sw"; sx: "dm.sx"; sy: "dm.sy"; sz: "dm.sz"; ta: "dm.ta"; tb: "dm.tb"; tc: "dm.tc"; td: "dm.td"; te: "dm.te"; tf: "dm.tf"; tg: "dm.tg"; th: "dm.th"; ti: "dm.ti"; tj: "dm.tj"; tk: "dm.tk"; tl: "dm.tl"; tm: "dm.tm"; tn: "dm.tn"; to: "dm.to"; tp: "dm.tp"; tq: "dm.tq"; tr: "dm.tr"; ts: "dm.ts"; tt: "dm.tt"; tu: "dm.tu"; tv: "dm.tv"; tw: "dm.tw"; tx: "dm.tx"; ty: "dm.ty"; tz: "dm.tz"; ua: "dm.ua"; ub: "dm.ub"; uc: "dm.uc"; ud: "dm.ud"; ue: "dm.ue"; uf: "dm.uf"; ug: "dm.ug"; uh: "dm.uh"; ui: "dm.ui"; uj: "dm.uj"; uk: "dm.uk"; ul: "dm.ul"; um: "dm.um"; un: "dm.un"; uo: "dm.uo"; up: "dm.up"; uq: "dm.uq"; ur: "dm.ur"; us: "dm.us"; ut: "dm.ut"; uu: "dm.uu"; uv: "dm.uv"; uw: "dm.uw"; ux: "dm.ux"; uy: "dm.uy"; uz: "dm.uz"; va: "dm.va"; vb: "dm.vb"; vc: "dm.vc"; vd: "dm.vd"; ve: "dm.ve"; vf: "dm.vf"; vg: "dm.vg"; vh: "dm.vh"; vi: "dm.vi"; vj: "dm.vj"; vk: "dm.vk"; vl: "dm.vl"; vm: "dm.vm"; vn: "dm.vn"; vo: "dm.vo"; vp: "dm.vp"; vq: "dm.vq"; vr: "dm.vr"; vs: "dm.vs"; vt: "dm.vt"; vu: "dm.vu"; vv: "dm.vv"; vw: "dm.vw"; vx: "dm.vx"; vy: "dm.vy"; vz: "dm.vz"; wa: "dm.wa"; wb: "dm.wb"; wc: "dm.wc"; wd: "dm.wd"; we: "dm.we"; wf: "dm.wf"; wg: "dm.wg"; wh: "dm.wh"; wi: "dm.wi"; wj: "dm.wj"; wk: "dm.wk"; wl: "dm.wl"; wm: "dm.wm"; wn: "dm.wn"; wo: "dm.wo"; wp: "dm.wp"; wq: "dm.wq"; wr: "dm.wr"; ws: "dm.ws"; wt: "dm.wt"; wu: "dm.wu"; wv: "dm.wv"; ww: "dm.ww"; wx: "dm.wx"; wy: "dm.wy"; wz: "dm.wz"; xa: "dm.xa"; xb: "dm.xb"; xc: "dm.xc"; xd: "dm.xd"; xe: "dm.xe"; xf: "dm.xf"; xg: "dm.xg"; xh: "dm.xh"; xi: "dm.xi"; xj: "dm.xj"; xk: "dm.xk"; xl: "dm.xl"; xm: "dm.xm"; xn: "dm.xn"; xo: "dm.xo"; xp: "dm.xp"; xq: "dm.xq"; xr: "dm.xr"; xs: "dm.xs"; xt: "dm.xt"; xu: "dm.xu"; xv: "dm.xv"; xw: "dm.xw"; xx: "dm.xx"; xy: "dm.xy"; xz: "dm.xz"; ya: "dm.ya"; yb: "dm.yb"; yc: "dm.yc"; yd: "dm.yd"; ye: "dm.ye"; yf: "dm.yf"; yg: "dm.yg"; yh: "dm.yh"; yi: "dm.yi"; yj: "dm.yj"; yk: "dm.yk"; yl: "dm.yl"; ym: "dm.ym"; yn: "dm.yn"; yo: "dm.yo"; yp: "dm.yp"; yq: "dm.yq"; yr: "dm.yr"; ys: "dm.ys"; yt: "dm.yt"; yu: "dm.yu"; yv: "dm.yv"; yw: "dm.yw"; yx: "dm.yx"; yy: "dm.yy"; yz: "dm.yz"; za: "dm.za"; zb: "dm.zb"; zc: "dm.zc"; zd: "dm.zd"; ze: "dm.ze"; zf: "dm.zf"; zg: "dm.zg"; zh: "dm.zh"; zi: "dm.zi"; zj: "dm.zj"; zk: "dm.zk"; zl: "dm.zl"; zm: "dm.zm"; zn: "dm.zn"; zo: "dm.zo"; zp: "dm.zp"; zq: "dm.zq"; zr: "dm.zr"; zs: "dm.zs"; zt: "dm.zt"; zu: "dm.zu"; zv: "dm.zv"; zw: "dm.zw"; zx: "dm.zx"; zy: "dm.zy"; zz: "dm.zz"; }; dn: { aa: "dn.aa"; ab: "dn.ab"; ac: "dn.ac"; ad: "dn.ad"; ae: "dn.ae"; af: "dn.af"; ag: "dn.ag"; ah: "dn.ah"; ai: "dn.ai"; aj: "dn.aj"; ak: "dn.ak"; al: "dn.al"; am: "dn.am"; an: "dn.an"; ao: "dn.ao"; ap: "dn.ap"; aq: "dn.aq"; ar: "dn.ar"; as: "dn.as"; at: "dn.at"; au: "dn.au"; av: "dn.av"; aw: "dn.aw"; ax: "dn.ax"; ay: "dn.ay"; az: "dn.az"; ba: "dn.ba"; bb: "dn.bb"; bc: "dn.bc"; bd: "dn.bd"; be: "dn.be"; bf: "dn.bf"; bg: "dn.bg"; bh: "dn.bh"; bi: "dn.bi"; bj: "dn.bj"; bk: "dn.bk"; bl: "dn.bl"; bm: "dn.bm"; bn: "dn.bn"; bo: "dn.bo"; bp: "dn.bp"; bq: "dn.bq"; br: "dn.br"; bs: "dn.bs"; bt: "dn.bt"; bu: "dn.bu"; bv: "dn.bv"; bw: "dn.bw"; bx: "dn.bx"; by: "dn.by"; bz: "dn.bz"; ca: "dn.ca"; cb: "dn.cb"; cc: "dn.cc"; cd: "dn.cd"; ce: "dn.ce"; cf: "dn.cf"; cg: "dn.cg"; ch: "dn.ch"; ci: "dn.ci"; cj: "dn.cj"; ck: "dn.ck"; cl: "dn.cl"; cm: "dn.cm"; cn: "dn.cn"; co: "dn.co"; cp: "dn.cp"; cq: "dn.cq"; cr: "dn.cr"; cs: "dn.cs"; ct: "dn.ct"; cu: "dn.cu"; cv: "dn.cv"; cw: "dn.cw"; cx: "dn.cx"; cy: "dn.cy"; cz: "dn.cz"; da: "dn.da"; db: "dn.db"; dc: "dn.dc"; dd: "dn.dd"; de: "dn.de"; df: "dn.df"; dg: "dn.dg"; dh: "dn.dh"; di: "dn.di"; dj: "dn.dj"; dk: "dn.dk"; dl: "dn.dl"; dm: "dn.dm"; dn: "dn.dn"; do: "dn.do"; dp: "dn.dp"; dq: "dn.dq"; dr: "dn.dr"; ds: "dn.ds"; dt: "dn.dt"; du: "dn.du"; dv: "dn.dv"; dw: "dn.dw"; dx: "dn.dx"; dy: "dn.dy"; dz: "dn.dz"; ea: "dn.ea"; eb: "dn.eb"; ec: "dn.ec"; ed: "dn.ed"; ee: "dn.ee"; ef: "dn.ef"; eg: "dn.eg"; eh: "dn.eh"; ei: "dn.ei"; ej: "dn.ej"; ek: "dn.ek"; el: "dn.el"; em: "dn.em"; en: "dn.en"; eo: "dn.eo"; ep: "dn.ep"; eq: "dn.eq"; er: "dn.er"; es: "dn.es"; et: "dn.et"; eu: "dn.eu"; ev: "dn.ev"; ew: "dn.ew"; ex: "dn.ex"; ey: "dn.ey"; ez: "dn.ez"; fa: "dn.fa"; fb: "dn.fb"; fc: "dn.fc"; fd: "dn.fd"; fe: "dn.fe"; ff: "dn.ff"; fg: "dn.fg"; fh: "dn.fh"; fi: "dn.fi"; fj: "dn.fj"; fk: "dn.fk"; fl: "dn.fl"; fm: "dn.fm"; fn: "dn.fn"; fo: "dn.fo"; fp: "dn.fp"; fq: "dn.fq"; fr: "dn.fr"; fs: "dn.fs"; ft: "dn.ft"; fu: "dn.fu"; fv: "dn.fv"; fw: "dn.fw"; fx: "dn.fx"; fy: "dn.fy"; fz: "dn.fz"; ga: "dn.ga"; gb: "dn.gb"; gc: "dn.gc"; gd: "dn.gd"; ge: "dn.ge"; gf: "dn.gf"; gg: "dn.gg"; gh: "dn.gh"; gi: "dn.gi"; gj: "dn.gj"; gk: "dn.gk"; gl: "dn.gl"; gm: "dn.gm"; gn: "dn.gn"; go: "dn.go"; gp: "dn.gp"; gq: "dn.gq"; gr: "dn.gr"; gs: "dn.gs"; gt: "dn.gt"; gu: "dn.gu"; gv: "dn.gv"; gw: "dn.gw"; gx: "dn.gx"; gy: "dn.gy"; gz: "dn.gz"; ha: "dn.ha"; hb: "dn.hb"; hc: "dn.hc"; hd: "dn.hd"; he: "dn.he"; hf: "dn.hf"; hg: "dn.hg"; hh: "dn.hh"; hi: "dn.hi"; hj: "dn.hj"; hk: "dn.hk"; hl: "dn.hl"; hm: "dn.hm"; hn: "dn.hn"; ho: "dn.ho"; hp: "dn.hp"; hq: "dn.hq"; hr: "dn.hr"; hs: "dn.hs"; ht: "dn.ht"; hu: "dn.hu"; hv: "dn.hv"; hw: "dn.hw"; hx: "dn.hx"; hy: "dn.hy"; hz: "dn.hz"; ia: "dn.ia"; ib: "dn.ib"; ic: "dn.ic"; id: "dn.id"; ie: "dn.ie"; if: "dn.if"; ig: "dn.ig"; ih: "dn.ih"; ii: "dn.ii"; ij: "dn.ij"; ik: "dn.ik"; il: "dn.il"; im: "dn.im"; in: "dn.in"; io: "dn.io"; ip: "dn.ip"; iq: "dn.iq"; ir: "dn.ir"; is: "dn.is"; it: "dn.it"; iu: "dn.iu"; iv: "dn.iv"; iw: "dn.iw"; ix: "dn.ix"; iy: "dn.iy"; iz: "dn.iz"; ja: "dn.ja"; jb: "dn.jb"; jc: "dn.jc"; jd: "dn.jd"; je: "dn.je"; jf: "dn.jf"; jg: "dn.jg"; jh: "dn.jh"; ji: "dn.ji"; jj: "dn.jj"; jk: "dn.jk"; jl: "dn.jl"; jm: "dn.jm"; jn: "dn.jn"; jo: "dn.jo"; jp: "dn.jp"; jq: "dn.jq"; jr: "dn.jr"; js: "dn.js"; jt: "dn.jt"; ju: "dn.ju"; jv: "dn.jv"; jw: "dn.jw"; jx: "dn.jx"; jy: "dn.jy"; jz: "dn.jz"; ka: "dn.ka"; kb: "dn.kb"; kc: "dn.kc"; kd: "dn.kd"; ke: "dn.ke"; kf: "dn.kf"; kg: "dn.kg"; kh: "dn.kh"; ki: "dn.ki"; kj: "dn.kj"; kk: "dn.kk"; kl: "dn.kl"; km: "dn.km"; kn: "dn.kn"; ko: "dn.ko"; kp: "dn.kp"; kq: "dn.kq"; kr: "dn.kr"; ks: "dn.ks"; kt: "dn.kt"; ku: "dn.ku"; kv: "dn.kv"; kw: "dn.kw"; kx: "dn.kx"; ky: "dn.ky"; kz: "dn.kz"; la: "dn.la"; lb: "dn.lb"; lc: "dn.lc"; ld: "dn.ld"; le: "dn.le"; lf: "dn.lf"; lg: "dn.lg"; lh: "dn.lh"; li: "dn.li"; lj: "dn.lj"; lk: "dn.lk"; ll: "dn.ll"; lm: "dn.lm"; ln: "dn.ln"; lo: "dn.lo"; lp: "dn.lp"; lq: "dn.lq"; lr: "dn.lr"; ls: "dn.ls"; lt: "dn.lt"; lu: "dn.lu"; lv: "dn.lv"; lw: "dn.lw"; lx: "dn.lx"; ly: "dn.ly"; lz: "dn.lz"; ma: "dn.ma"; mb: "dn.mb"; mc: "dn.mc"; md: "dn.md"; me: "dn.me"; mf: "dn.mf"; mg: "dn.mg"; mh: "dn.mh"; mi: "dn.mi"; mj: "dn.mj"; mk: "dn.mk"; ml: "dn.ml"; mm: "dn.mm"; mn: "dn.mn"; mo: "dn.mo"; mp: "dn.mp"; mq: "dn.mq"; mr: "dn.mr"; ms: "dn.ms"; mt: "dn.mt"; mu: "dn.mu"; mv: "dn.mv"; mw: "dn.mw"; mx: "dn.mx"; my: "dn.my"; mz: "dn.mz"; na: "dn.na"; nb: "dn.nb"; nc: "dn.nc"; nd: "dn.nd"; ne: "dn.ne"; nf: "dn.nf"; ng: "dn.ng"; nh: "dn.nh"; ni: "dn.ni"; nj: "dn.nj"; nk: "dn.nk"; nl: "dn.nl"; nm: "dn.nm"; nn: "dn.nn"; no: "dn.no"; np: "dn.np"; nq: "dn.nq"; nr: "dn.nr"; ns: "dn.ns"; nt: "dn.nt"; nu: "dn.nu"; nv: "dn.nv"; nw: "dn.nw"; nx: "dn.nx"; ny: "dn.ny"; nz: "dn.nz"; oa: "dn.oa"; ob: "dn.ob"; oc: "dn.oc"; od: "dn.od"; oe: "dn.oe"; of: "dn.of"; og: "dn.og"; oh: "dn.oh"; oi: "dn.oi"; oj: "dn.oj"; ok: "dn.ok"; ol: "dn.ol"; om: "dn.om"; on: "dn.on"; oo: "dn.oo"; op: "dn.op"; oq: "dn.oq"; or: "dn.or"; os: "dn.os"; ot: "dn.ot"; ou: "dn.ou"; ov: "dn.ov"; ow: "dn.ow"; ox: "dn.ox"; oy: "dn.oy"; oz: "dn.oz"; pa: "dn.pa"; pb: "dn.pb"; pc: "dn.pc"; pd: "dn.pd"; pe: "dn.pe"; pf: "dn.pf"; pg: "dn.pg"; ph: "dn.ph"; pi: "dn.pi"; pj: "dn.pj"; pk: "dn.pk"; pl: "dn.pl"; pm: "dn.pm"; pn: "dn.pn"; po: "dn.po"; pp: "dn.pp"; pq: "dn.pq"; pr: "dn.pr"; ps: "dn.ps"; pt: "dn.pt"; pu: "dn.pu"; pv: "dn.pv"; pw: "dn.pw"; px: "dn.px"; py: "dn.py"; pz: "dn.pz"; qa: "dn.qa"; qb: "dn.qb"; qc: "dn.qc"; qd: "dn.qd"; qe: "dn.qe"; qf: "dn.qf"; qg: "dn.qg"; qh: "dn.qh"; qi: "dn.qi"; qj: "dn.qj"; qk: "dn.qk"; ql: "dn.ql"; qm: "dn.qm"; qn: "dn.qn"; qo: "dn.qo"; qp: "dn.qp"; qq: "dn.qq"; qr: "dn.qr"; qs: "dn.qs"; qt: "dn.qt"; qu: "dn.qu"; qv: "dn.qv"; qw: "dn.qw"; qx: "dn.qx"; qy: "dn.qy"; qz: "dn.qz"; ra: "dn.ra"; rb: "dn.rb"; rc: "dn.rc"; rd: "dn.rd"; re: "dn.re"; rf: "dn.rf"; rg: "dn.rg"; rh: "dn.rh"; ri: "dn.ri"; rj: "dn.rj"; rk: "dn.rk"; rl: "dn.rl"; rm: "dn.rm"; rn: "dn.rn"; ro: "dn.ro"; rp: "dn.rp"; rq: "dn.rq"; rr: "dn.rr"; rs: "dn.rs"; rt: "dn.rt"; ru: "dn.ru"; rv: "dn.rv"; rw: "dn.rw"; rx: "dn.rx"; ry: "dn.ry"; rz: "dn.rz"; sa: "dn.sa"; sb: "dn.sb"; sc: "dn.sc"; sd: "dn.sd"; se: "dn.se"; sf: "dn.sf"; sg: "dn.sg"; sh: "dn.sh"; si: "dn.si"; sj: "dn.sj"; sk: "dn.sk"; sl: "dn.sl"; sm: "dn.sm"; sn: "dn.sn"; so: "dn.so"; sp: "dn.sp"; sq: "dn.sq"; sr: "dn.sr"; ss: "dn.ss"; st: "dn.st"; su: "dn.su"; sv: "dn.sv"; sw: "dn.sw"; sx: "dn.sx"; sy: "dn.sy"; sz: "dn.sz"; ta: "dn.ta"; tb: "dn.tb"; tc: "dn.tc"; td: "dn.td"; te: "dn.te"; tf: "dn.tf"; tg: "dn.tg"; th: "dn.th"; ti: "dn.ti"; tj: "dn.tj"; tk: "dn.tk"; tl: "dn.tl"; tm: "dn.tm"; tn: "dn.tn"; to: "dn.to"; tp: "dn.tp"; tq: "dn.tq"; tr: "dn.tr"; ts: "dn.ts"; tt: "dn.tt"; tu: "dn.tu"; tv: "dn.tv"; tw: "dn.tw"; tx: "dn.tx"; ty: "dn.ty"; tz: "dn.tz"; ua: "dn.ua"; ub: "dn.ub"; uc: "dn.uc"; ud: "dn.ud"; ue: "dn.ue"; uf: "dn.uf"; ug: "dn.ug"; uh: "dn.uh"; ui: "dn.ui"; uj: "dn.uj"; uk: "dn.uk"; ul: "dn.ul"; um: "dn.um"; un: "dn.un"; uo: "dn.uo"; up: "dn.up"; uq: "dn.uq"; ur: "dn.ur"; us: "dn.us"; ut: "dn.ut"; uu: "dn.uu"; uv: "dn.uv"; uw: "dn.uw"; ux: "dn.ux"; uy: "dn.uy"; uz: "dn.uz"; va: "dn.va"; vb: "dn.vb"; vc: "dn.vc"; vd: "dn.vd"; ve: "dn.ve"; vf: "dn.vf"; vg: "dn.vg"; vh: "dn.vh"; vi: "dn.vi"; vj: "dn.vj"; vk: "dn.vk"; vl: "dn.vl"; vm: "dn.vm"; vn: "dn.vn"; vo: "dn.vo"; vp: "dn.vp"; vq: "dn.vq"; vr: "dn.vr"; vs: "dn.vs"; vt: "dn.vt"; vu: "dn.vu"; vv: "dn.vv"; vw: "dn.vw"; vx: "dn.vx"; vy: "dn.vy"; vz: "dn.vz"; wa: "dn.wa"; wb: "dn.wb"; wc: "dn.wc"; wd: "dn.wd"; we: "dn.we"; wf: "dn.wf"; wg: "dn.wg"; wh: "dn.wh"; wi: "dn.wi"; wj: "dn.wj"; wk: "dn.wk"; wl: "dn.wl"; wm: "dn.wm"; wn: "dn.wn"; wo: "dn.wo"; wp: "dn.wp"; wq: "dn.wq"; wr: "dn.wr"; ws: "dn.ws"; wt: "dn.wt"; wu: "dn.wu"; wv: "dn.wv"; ww: "dn.ww"; wx: "dn.wx"; wy: "dn.wy"; wz: "dn.wz"; xa: "dn.xa"; xb: "dn.xb"; xc: "dn.xc"; xd: "dn.xd"; xe: "dn.xe"; xf: "dn.xf"; xg: "dn.xg"; xh: "dn.xh"; xi: "dn.xi"; xj: "dn.xj"; xk: "dn.xk"; xl: "dn.xl"; xm: "dn.xm"; xn: "dn.xn"; xo: "dn.xo"; xp: "dn.xp"; xq: "dn.xq"; xr: "dn.xr"; xs: "dn.xs"; xt: "dn.xt"; xu: "dn.xu"; xv: "dn.xv"; xw: "dn.xw"; xx: "dn.xx"; xy: "dn.xy"; xz: "dn.xz"; ya: "dn.ya"; yb: "dn.yb"; yc: "dn.yc"; yd: "dn.yd"; ye: "dn.ye"; yf: "dn.yf"; yg: "dn.yg"; yh: "dn.yh"; yi: "dn.yi"; yj: "dn.yj"; yk: "dn.yk"; yl: "dn.yl"; ym: "dn.ym"; yn: "dn.yn"; yo: "dn.yo"; yp: "dn.yp"; yq: "dn.yq"; yr: "dn.yr"; ys: "dn.ys"; yt: "dn.yt"; yu: "dn.yu"; yv: "dn.yv"; yw: "dn.yw"; yx: "dn.yx"; yy: "dn.yy"; yz: "dn.yz"; za: "dn.za"; zb: "dn.zb"; zc: "dn.zc"; zd: "dn.zd"; ze: "dn.ze"; zf: "dn.zf"; zg: "dn.zg"; zh: "dn.zh"; zi: "dn.zi"; zj: "dn.zj"; zk: "dn.zk"; zl: "dn.zl"; zm: "dn.zm"; zn: "dn.zn"; zo: "dn.zo"; zp: "dn.zp"; zq: "dn.zq"; zr: "dn.zr"; zs: "dn.zs"; zt: "dn.zt"; zu: "dn.zu"; zv: "dn.zv"; zw: "dn.zw"; zx: "dn.zx"; zy: "dn.zy"; zz: "dn.zz"; }; do: { aa: "do.aa"; ab: "do.ab"; ac: "do.ac"; ad: "do.ad"; ae: "do.ae"; af: "do.af"; ag: "do.ag"; ah: "do.ah"; ai: "do.ai"; aj: "do.aj"; ak: "do.ak"; al: "do.al"; am: "do.am"; an: "do.an"; ao: "do.ao"; ap: "do.ap"; aq: "do.aq"; ar: "do.ar"; as: "do.as"; at: "do.at"; au: "do.au"; av: "do.av"; aw: "do.aw"; ax: "do.ax"; ay: "do.ay"; az: "do.az"; ba: "do.ba"; bb: "do.bb"; bc: "do.bc"; bd: "do.bd"; be: "do.be"; bf: "do.bf"; bg: "do.bg"; bh: "do.bh"; bi: "do.bi"; bj: "do.bj"; bk: "do.bk"; bl: "do.bl"; bm: "do.bm"; bn: "do.bn"; bo: "do.bo"; bp: "do.bp"; bq: "do.bq"; br: "do.br"; bs: "do.bs"; bt: "do.bt"; bu: "do.bu"; bv: "do.bv"; bw: "do.bw"; bx: "do.bx"; by: "do.by"; bz: "do.bz"; ca: "do.ca"; cb: "do.cb"; cc: "do.cc"; cd: "do.cd"; ce: "do.ce"; cf: "do.cf"; cg: "do.cg"; ch: "do.ch"; ci: "do.ci"; cj: "do.cj"; ck: "do.ck"; cl: "do.cl"; cm: "do.cm"; cn: "do.cn"; co: "do.co"; cp: "do.cp"; cq: "do.cq"; cr: "do.cr"; cs: "do.cs"; ct: "do.ct"; cu: "do.cu"; cv: "do.cv"; cw: "do.cw"; cx: "do.cx"; cy: "do.cy"; cz: "do.cz"; da: "do.da"; db: "do.db"; dc: "do.dc"; dd: "do.dd"; de: "do.de"; df: "do.df"; dg: "do.dg"; dh: "do.dh"; di: "do.di"; dj: "do.dj"; dk: "do.dk"; dl: "do.dl"; dm: "do.dm"; dn: "do.dn"; do: "do.do"; dp: "do.dp"; dq: "do.dq"; dr: "do.dr"; ds: "do.ds"; dt: "do.dt"; du: "do.du"; dv: "do.dv"; dw: "do.dw"; dx: "do.dx"; dy: "do.dy"; dz: "do.dz"; ea: "do.ea"; eb: "do.eb"; ec: "do.ec"; ed: "do.ed"; ee: "do.ee"; ef: "do.ef"; eg: "do.eg"; eh: "do.eh"; ei: "do.ei"; ej: "do.ej"; ek: "do.ek"; el: "do.el"; em: "do.em"; en: "do.en"; eo: "do.eo"; ep: "do.ep"; eq: "do.eq"; er: "do.er"; es: "do.es"; et: "do.et"; eu: "do.eu"; ev: "do.ev"; ew: "do.ew"; ex: "do.ex"; ey: "do.ey"; ez: "do.ez"; fa: "do.fa"; fb: "do.fb"; fc: "do.fc"; fd: "do.fd"; fe: "do.fe"; ff: "do.ff"; fg: "do.fg"; fh: "do.fh"; fi: "do.fi"; fj: "do.fj"; fk: "do.fk"; fl: "do.fl"; fm: "do.fm"; fn: "do.fn"; fo: "do.fo"; fp: "do.fp"; fq: "do.fq"; fr: "do.fr"; fs: "do.fs"; ft: "do.ft"; fu: "do.fu"; fv: "do.fv"; fw: "do.fw"; fx: "do.fx"; fy: "do.fy"; fz: "do.fz"; ga: "do.ga"; gb: "do.gb"; gc: "do.gc"; gd: "do.gd"; ge: "do.ge"; gf: "do.gf"; gg: "do.gg"; gh: "do.gh"; gi: "do.gi"; gj: "do.gj"; gk: "do.gk"; gl: "do.gl"; gm: "do.gm"; gn: "do.gn"; go: "do.go"; gp: "do.gp"; gq: "do.gq"; gr: "do.gr"; gs: "do.gs"; gt: "do.gt"; gu: "do.gu"; gv: "do.gv"; gw: "do.gw"; gx: "do.gx"; gy: "do.gy"; gz: "do.gz"; ha: "do.ha"; hb: "do.hb"; hc: "do.hc"; hd: "do.hd"; he: "do.he"; hf: "do.hf"; hg: "do.hg"; hh: "do.hh"; hi: "do.hi"; hj: "do.hj"; hk: "do.hk"; hl: "do.hl"; hm: "do.hm"; hn: "do.hn"; ho: "do.ho"; hp: "do.hp"; hq: "do.hq"; hr: "do.hr"; hs: "do.hs"; ht: "do.ht"; hu: "do.hu"; hv: "do.hv"; hw: "do.hw"; hx: "do.hx"; hy: "do.hy"; hz: "do.hz"; ia: "do.ia"; ib: "do.ib"; ic: "do.ic"; id: "do.id"; ie: "do.ie"; if: "do.if"; ig: "do.ig"; ih: "do.ih"; ii: "do.ii"; ij: "do.ij"; ik: "do.ik"; il: "do.il"; im: "do.im"; in: "do.in"; io: "do.io"; ip: "do.ip"; iq: "do.iq"; ir: "do.ir"; is: "do.is"; it: "do.it"; iu: "do.iu"; iv: "do.iv"; iw: "do.iw"; ix: "do.ix"; iy: "do.iy"; iz: "do.iz"; ja: "do.ja"; jb: "do.jb"; jc: "do.jc"; jd: "do.jd"; je: "do.je"; jf: "do.jf"; jg: "do.jg"; jh: "do.jh"; ji: "do.ji"; jj: "do.jj"; jk: "do.jk"; jl: "do.jl"; jm: "do.jm"; jn: "do.jn"; jo: "do.jo"; jp: "do.jp"; jq: "do.jq"; jr: "do.jr"; js: "do.js"; jt: "do.jt"; ju: "do.ju"; jv: "do.jv"; jw: "do.jw"; jx: "do.jx"; jy: "do.jy"; jz: "do.jz"; ka: "do.ka"; kb: "do.kb"; kc: "do.kc"; kd: "do.kd"; ke: "do.ke"; kf: "do.kf"; kg: "do.kg"; kh: "do.kh"; ki: "do.ki"; kj: "do.kj"; kk: "do.kk"; kl: "do.kl"; km: "do.km"; kn: "do.kn"; ko: "do.ko"; kp: "do.kp"; kq: "do.kq"; kr: "do.kr"; ks: "do.ks"; kt: "do.kt"; ku: "do.ku"; kv: "do.kv"; kw: "do.kw"; kx: "do.kx"; ky: "do.ky"; kz: "do.kz"; la: "do.la"; lb: "do.lb"; lc: "do.lc"; ld: "do.ld"; le: "do.le"; lf: "do.lf"; lg: "do.lg"; lh: "do.lh"; li: "do.li"; lj: "do.lj"; lk: "do.lk"; ll: "do.ll"; lm: "do.lm"; ln: "do.ln"; lo: "do.lo"; lp: "do.lp"; lq: "do.lq"; lr: "do.lr"; ls: "do.ls"; lt: "do.lt"; lu: "do.lu"; lv: "do.lv"; lw: "do.lw"; lx: "do.lx"; ly: "do.ly"; lz: "do.lz"; ma: "do.ma"; mb: "do.mb"; mc: "do.mc"; md: "do.md"; me: "do.me"; mf: "do.mf"; mg: "do.mg"; mh: "do.mh"; mi: "do.mi"; mj: "do.mj"; mk: "do.mk"; ml: "do.ml"; mm: "do.mm"; mn: "do.mn"; mo: "do.mo"; mp: "do.mp"; mq: "do.mq"; mr: "do.mr"; ms: "do.ms"; mt: "do.mt"; mu: "do.mu"; mv: "do.mv"; mw: "do.mw"; mx: "do.mx"; my: "do.my"; mz: "do.mz"; na: "do.na"; nb: "do.nb"; nc: "do.nc"; nd: "do.nd"; ne: "do.ne"; nf: "do.nf"; ng: "do.ng"; nh: "do.nh"; ni: "do.ni"; nj: "do.nj"; nk: "do.nk"; nl: "do.nl"; nm: "do.nm"; nn: "do.nn"; no: "do.no"; np: "do.np"; nq: "do.nq"; nr: "do.nr"; ns: "do.ns"; nt: "do.nt"; nu: "do.nu"; nv: "do.nv"; nw: "do.nw"; nx: "do.nx"; ny: "do.ny"; nz: "do.nz"; oa: "do.oa"; ob: "do.ob"; oc: "do.oc"; od: "do.od"; oe: "do.oe"; of: "do.of"; og: "do.og"; oh: "do.oh"; oi: "do.oi"; oj: "do.oj"; ok: "do.ok"; ol: "do.ol"; om: "do.om"; on: "do.on"; oo: "do.oo"; op: "do.op"; oq: "do.oq"; or: "do.or"; os: "do.os"; ot: "do.ot"; ou: "do.ou"; ov: "do.ov"; ow: "do.ow"; ox: "do.ox"; oy: "do.oy"; oz: "do.oz"; pa: "do.pa"; pb: "do.pb"; pc: "do.pc"; pd: "do.pd"; pe: "do.pe"; pf: "do.pf"; pg: "do.pg"; ph: "do.ph"; pi: "do.pi"; pj: "do.pj"; pk: "do.pk"; pl: "do.pl"; pm: "do.pm"; pn: "do.pn"; po: "do.po"; pp: "do.pp"; pq: "do.pq"; pr: "do.pr"; ps: "do.ps"; pt: "do.pt"; pu: "do.pu"; pv: "do.pv"; pw: "do.pw"; px: "do.px"; py: "do.py"; pz: "do.pz"; qa: "do.qa"; qb: "do.qb"; qc: "do.qc"; qd: "do.qd"; qe: "do.qe"; qf: "do.qf"; qg: "do.qg"; qh: "do.qh"; qi: "do.qi"; qj: "do.qj"; qk: "do.qk"; ql: "do.ql"; qm: "do.qm"; qn: "do.qn"; qo: "do.qo"; qp: "do.qp"; qq: "do.qq"; qr: "do.qr"; qs: "do.qs"; qt: "do.qt"; qu: "do.qu"; qv: "do.qv"; qw: "do.qw"; qx: "do.qx"; qy: "do.qy"; qz: "do.qz"; ra: "do.ra"; rb: "do.rb"; rc: "do.rc"; rd: "do.rd"; re: "do.re"; rf: "do.rf"; rg: "do.rg"; rh: "do.rh"; ri: "do.ri"; rj: "do.rj"; rk: "do.rk"; rl: "do.rl"; rm: "do.rm"; rn: "do.rn"; ro: "do.ro"; rp: "do.rp"; rq: "do.rq"; rr: "do.rr"; rs: "do.rs"; rt: "do.rt"; ru: "do.ru"; rv: "do.rv"; rw: "do.rw"; rx: "do.rx"; ry: "do.ry"; rz: "do.rz"; sa: "do.sa"; sb: "do.sb"; sc: "do.sc"; sd: "do.sd"; se: "do.se"; sf: "do.sf"; sg: "do.sg"; sh: "do.sh"; si: "do.si"; sj: "do.sj"; sk: "do.sk"; sl: "do.sl"; sm: "do.sm"; sn: "do.sn"; so: "do.so"; sp: "do.sp"; sq: "do.sq"; sr: "do.sr"; ss: "do.ss"; st: "do.st"; su: "do.su"; sv: "do.sv"; sw: "do.sw"; sx: "do.sx"; sy: "do.sy"; sz: "do.sz"; ta: "do.ta"; tb: "do.tb"; tc: "do.tc"; td: "do.td"; te: "do.te"; tf: "do.tf"; tg: "do.tg"; th: "do.th"; ti: "do.ti"; tj: "do.tj"; tk: "do.tk"; tl: "do.tl"; tm: "do.tm"; tn: "do.tn"; to: "do.to"; tp: "do.tp"; tq: "do.tq"; tr: "do.tr"; ts: "do.ts"; tt: "do.tt"; tu: "do.tu"; tv: "do.tv"; tw: "do.tw"; tx: "do.tx"; ty: "do.ty"; tz: "do.tz"; ua: "do.ua"; ub: "do.ub"; uc: "do.uc"; ud: "do.ud"; ue: "do.ue"; uf: "do.uf"; ug: "do.ug"; uh: "do.uh"; ui: "do.ui"; uj: "do.uj"; uk: "do.uk"; ul: "do.ul"; um: "do.um"; un: "do.un"; uo: "do.uo"; up: "do.up"; uq: "do.uq"; ur: "do.ur"; us: "do.us"; ut: "do.ut"; uu: "do.uu"; uv: "do.uv"; uw: "do.uw"; ux: "do.ux"; uy: "do.uy"; uz: "do.uz"; va: "do.va"; vb: "do.vb"; vc: "do.vc"; vd: "do.vd"; ve: "do.ve"; vf: "do.vf"; vg: "do.vg"; vh: "do.vh"; vi: "do.vi"; vj: "do.vj"; vk: "do.vk"; vl: "do.vl"; vm: "do.vm"; vn: "do.vn"; vo: "do.vo"; vp: "do.vp"; vq: "do.vq"; vr: "do.vr"; vs: "do.vs"; vt: "do.vt"; vu: "do.vu"; vv: "do.vv"; vw: "do.vw"; vx: "do.vx"; vy: "do.vy"; vz: "do.vz"; wa: "do.wa"; wb: "do.wb"; wc: "do.wc"; wd: "do.wd"; we: "do.we"; wf: "do.wf"; wg: "do.wg"; wh: "do.wh"; wi: "do.wi"; wj: "do.wj"; wk: "do.wk"; wl: "do.wl"; wm: "do.wm"; wn: "do.wn"; wo: "do.wo"; wp: "do.wp"; wq: "do.wq"; wr: "do.wr"; ws: "do.ws"; wt: "do.wt"; wu: "do.wu"; wv: "do.wv"; ww: "do.ww"; wx: "do.wx"; wy: "do.wy"; wz: "do.wz"; xa: "do.xa"; xb: "do.xb"; xc: "do.xc"; xd: "do.xd"; xe: "do.xe"; xf: "do.xf"; xg: "do.xg"; xh: "do.xh"; xi: "do.xi"; xj: "do.xj"; xk: "do.xk"; xl: "do.xl"; xm: "do.xm"; xn: "do.xn"; xo: "do.xo"; xp: "do.xp"; xq: "do.xq"; xr: "do.xr"; xs: "do.xs"; xt: "do.xt"; xu: "do.xu"; xv: "do.xv"; xw: "do.xw"; xx: "do.xx"; xy: "do.xy"; xz: "do.xz"; ya: "do.ya"; yb: "do.yb"; yc: "do.yc"; yd: "do.yd"; ye: "do.ye"; yf: "do.yf"; yg: "do.yg"; yh: "do.yh"; yi: "do.yi"; yj: "do.yj"; yk: "do.yk"; yl: "do.yl"; ym: "do.ym"; yn: "do.yn"; yo: "do.yo"; yp: "do.yp"; yq: "do.yq"; yr: "do.yr"; ys: "do.ys"; yt: "do.yt"; yu: "do.yu"; yv: "do.yv"; yw: "do.yw"; yx: "do.yx"; yy: "do.yy"; yz: "do.yz"; za: "do.za"; zb: "do.zb"; zc: "do.zc"; zd: "do.zd"; ze: "do.ze"; zf: "do.zf"; zg: "do.zg"; zh: "do.zh"; zi: "do.zi"; zj: "do.zj"; zk: "do.zk"; zl: "do.zl"; zm: "do.zm"; zn: "do.zn"; zo: "do.zo"; zp: "do.zp"; zq: "do.zq"; zr: "do.zr"; zs: "do.zs"; zt: "do.zt"; zu: "do.zu"; zv: "do.zv"; zw: "do.zw"; zx: "do.zx"; zy: "do.zy"; zz: "do.zz"; }; dp: { aa: "dp.aa"; ab: "dp.ab"; ac: "dp.ac"; ad: "dp.ad"; ae: "dp.ae"; af: "dp.af"; ag: "dp.ag"; ah: "dp.ah"; ai: "dp.ai"; aj: "dp.aj"; ak: "dp.ak"; al: "dp.al"; am: "dp.am"; an: "dp.an"; ao: "dp.ao"; ap: "dp.ap"; aq: "dp.aq"; ar: "dp.ar"; as: "dp.as"; at: "dp.at"; au: "dp.au"; av: "dp.av"; aw: "dp.aw"; ax: "dp.ax"; ay: "dp.ay"; az: "dp.az"; ba: "dp.ba"; bb: "dp.bb"; bc: "dp.bc"; bd: "dp.bd"; be: "dp.be"; bf: "dp.bf"; bg: "dp.bg"; bh: "dp.bh"; bi: "dp.bi"; bj: "dp.bj"; bk: "dp.bk"; bl: "dp.bl"; bm: "dp.bm"; bn: "dp.bn"; bo: "dp.bo"; bp: "dp.bp"; bq: "dp.bq"; br: "dp.br"; bs: "dp.bs"; bt: "dp.bt"; bu: "dp.bu"; bv: "dp.bv"; bw: "dp.bw"; bx: "dp.bx"; by: "dp.by"; bz: "dp.bz"; ca: "dp.ca"; cb: "dp.cb"; cc: "dp.cc"; cd: "dp.cd"; ce: "dp.ce"; cf: "dp.cf"; cg: "dp.cg"; ch: "dp.ch"; ci: "dp.ci"; cj: "dp.cj"; ck: "dp.ck"; cl: "dp.cl"; cm: "dp.cm"; cn: "dp.cn"; co: "dp.co"; cp: "dp.cp"; cq: "dp.cq"; cr: "dp.cr"; cs: "dp.cs"; ct: "dp.ct"; cu: "dp.cu"; cv: "dp.cv"; cw: "dp.cw"; cx: "dp.cx"; cy: "dp.cy"; cz: "dp.cz"; da: "dp.da"; db: "dp.db"; dc: "dp.dc"; dd: "dp.dd"; de: "dp.de"; df: "dp.df"; dg: "dp.dg"; dh: "dp.dh"; di: "dp.di"; dj: "dp.dj"; dk: "dp.dk"; dl: "dp.dl"; dm: "dp.dm"; dn: "dp.dn"; do: "dp.do"; dp: "dp.dp"; dq: "dp.dq"; dr: "dp.dr"; ds: "dp.ds"; dt: "dp.dt"; du: "dp.du"; dv: "dp.dv"; dw: "dp.dw"; dx: "dp.dx"; dy: "dp.dy"; dz: "dp.dz"; ea: "dp.ea"; eb: "dp.eb"; ec: "dp.ec"; ed: "dp.ed"; ee: "dp.ee"; ef: "dp.ef"; eg: "dp.eg"; eh: "dp.eh"; ei: "dp.ei"; ej: "dp.ej"; ek: "dp.ek"; el: "dp.el"; em: "dp.em"; en: "dp.en"; eo: "dp.eo"; ep: "dp.ep"; eq: "dp.eq"; er: "dp.er"; es: "dp.es"; et: "dp.et"; eu: "dp.eu"; ev: "dp.ev"; ew: "dp.ew"; ex: "dp.ex"; ey: "dp.ey"; ez: "dp.ez"; fa: "dp.fa"; fb: "dp.fb"; fc: "dp.fc"; fd: "dp.fd"; fe: "dp.fe"; ff: "dp.ff"; fg: "dp.fg"; fh: "dp.fh"; fi: "dp.fi"; fj: "dp.fj"; fk: "dp.fk"; fl: "dp.fl"; fm: "dp.fm"; fn: "dp.fn"; fo: "dp.fo"; fp: "dp.fp"; fq: "dp.fq"; fr: "dp.fr"; fs: "dp.fs"; ft: "dp.ft"; fu: "dp.fu"; fv: "dp.fv"; fw: "dp.fw"; fx: "dp.fx"; fy: "dp.fy"; fz: "dp.fz"; ga: "dp.ga"; gb: "dp.gb"; gc: "dp.gc"; gd: "dp.gd"; ge: "dp.ge"; gf: "dp.gf"; gg: "dp.gg"; gh: "dp.gh"; gi: "dp.gi"; gj: "dp.gj"; gk: "dp.gk"; gl: "dp.gl"; gm: "dp.gm"; gn: "dp.gn"; go: "dp.go"; gp: "dp.gp"; gq: "dp.gq"; gr: "dp.gr"; gs: "dp.gs"; gt: "dp.gt"; gu: "dp.gu"; gv: "dp.gv"; gw: "dp.gw"; gx: "dp.gx"; gy: "dp.gy"; gz: "dp.gz"; ha: "dp.ha"; hb: "dp.hb"; hc: "dp.hc"; hd: "dp.hd"; he: "dp.he"; hf: "dp.hf"; hg: "dp.hg"; hh: "dp.hh"; hi: "dp.hi"; hj: "dp.hj"; hk: "dp.hk"; hl: "dp.hl"; hm: "dp.hm"; hn: "dp.hn"; ho: "dp.ho"; hp: "dp.hp"; hq: "dp.hq"; hr: "dp.hr"; hs: "dp.hs"; ht: "dp.ht"; hu: "dp.hu"; hv: "dp.hv"; hw: "dp.hw"; hx: "dp.hx"; hy: "dp.hy"; hz: "dp.hz"; ia: "dp.ia"; ib: "dp.ib"; ic: "dp.ic"; id: "dp.id"; ie: "dp.ie"; if: "dp.if"; ig: "dp.ig"; ih: "dp.ih"; ii: "dp.ii"; ij: "dp.ij"; ik: "dp.ik"; il: "dp.il"; im: "dp.im"; in: "dp.in"; io: "dp.io"; ip: "dp.ip"; iq: "dp.iq"; ir: "dp.ir"; is: "dp.is"; it: "dp.it"; iu: "dp.iu"; iv: "dp.iv"; iw: "dp.iw"; ix: "dp.ix"; iy: "dp.iy"; iz: "dp.iz"; ja: "dp.ja"; jb: "dp.jb"; jc: "dp.jc"; jd: "dp.jd"; je: "dp.je"; jf: "dp.jf"; jg: "dp.jg"; jh: "dp.jh"; ji: "dp.ji"; jj: "dp.jj"; jk: "dp.jk"; jl: "dp.jl"; jm: "dp.jm"; jn: "dp.jn"; jo: "dp.jo"; jp: "dp.jp"; jq: "dp.jq"; jr: "dp.jr"; js: "dp.js"; jt: "dp.jt"; ju: "dp.ju"; jv: "dp.jv"; jw: "dp.jw"; jx: "dp.jx"; jy: "dp.jy"; jz: "dp.jz"; ka: "dp.ka"; kb: "dp.kb"; kc: "dp.kc"; kd: "dp.kd"; ke: "dp.ke"; kf: "dp.kf"; kg: "dp.kg"; kh: "dp.kh"; ki: "dp.ki"; kj: "dp.kj"; kk: "dp.kk"; kl: "dp.kl"; km: "dp.km"; kn: "dp.kn"; ko: "dp.ko"; kp: "dp.kp"; kq: "dp.kq"; kr: "dp.kr"; ks: "dp.ks"; kt: "dp.kt"; ku: "dp.ku"; kv: "dp.kv"; kw: "dp.kw"; kx: "dp.kx"; ky: "dp.ky"; kz: "dp.kz"; la: "dp.la"; lb: "dp.lb"; lc: "dp.lc"; ld: "dp.ld"; le: "dp.le"; lf: "dp.lf"; lg: "dp.lg"; lh: "dp.lh"; li: "dp.li"; lj: "dp.lj"; lk: "dp.lk"; ll: "dp.ll"; lm: "dp.lm"; ln: "dp.ln"; lo: "dp.lo"; lp: "dp.lp"; lq: "dp.lq"; lr: "dp.lr"; ls: "dp.ls"; lt: "dp.lt"; lu: "dp.lu"; lv: "dp.lv"; lw: "dp.lw"; lx: "dp.lx"; ly: "dp.ly"; lz: "dp.lz"; ma: "dp.ma"; mb: "dp.mb"; mc: "dp.mc"; md: "dp.md"; me: "dp.me"; mf: "dp.mf"; mg: "dp.mg"; mh: "dp.mh"; mi: "dp.mi"; mj: "dp.mj"; mk: "dp.mk"; ml: "dp.ml"; mm: "dp.mm"; mn: "dp.mn"; mo: "dp.mo"; mp: "dp.mp"; mq: "dp.mq"; mr: "dp.mr"; ms: "dp.ms"; mt: "dp.mt"; mu: "dp.mu"; mv: "dp.mv"; mw: "dp.mw"; mx: "dp.mx"; my: "dp.my"; mz: "dp.mz"; na: "dp.na"; nb: "dp.nb"; nc: "dp.nc"; nd: "dp.nd"; ne: "dp.ne"; nf: "dp.nf"; ng: "dp.ng"; nh: "dp.nh"; ni: "dp.ni"; nj: "dp.nj"; nk: "dp.nk"; nl: "dp.nl"; nm: "dp.nm"; nn: "dp.nn"; no: "dp.no"; np: "dp.np"; nq: "dp.nq"; nr: "dp.nr"; ns: "dp.ns"; nt: "dp.nt"; nu: "dp.nu"; nv: "dp.nv"; nw: "dp.nw"; nx: "dp.nx"; ny: "dp.ny"; nz: "dp.nz"; oa: "dp.oa"; ob: "dp.ob"; oc: "dp.oc"; od: "dp.od"; oe: "dp.oe"; of: "dp.of"; og: "dp.og"; oh: "dp.oh"; oi: "dp.oi"; oj: "dp.oj"; ok: "dp.ok"; ol: "dp.ol"; om: "dp.om"; on: "dp.on"; oo: "dp.oo"; op: "dp.op"; oq: "dp.oq"; or: "dp.or"; os: "dp.os"; ot: "dp.ot"; ou: "dp.ou"; ov: "dp.ov"; ow: "dp.ow"; ox: "dp.ox"; oy: "dp.oy"; oz: "dp.oz"; pa: "dp.pa"; pb: "dp.pb"; pc: "dp.pc"; pd: "dp.pd"; pe: "dp.pe"; pf: "dp.pf"; pg: "dp.pg"; ph: "dp.ph"; pi: "dp.pi"; pj: "dp.pj"; pk: "dp.pk"; pl: "dp.pl"; pm: "dp.pm"; pn: "dp.pn"; po: "dp.po"; pp: "dp.pp"; pq: "dp.pq"; pr: "dp.pr"; ps: "dp.ps"; pt: "dp.pt"; pu: "dp.pu"; pv: "dp.pv"; pw: "dp.pw"; px: "dp.px"; py: "dp.py"; pz: "dp.pz"; qa: "dp.qa"; qb: "dp.qb"; qc: "dp.qc"; qd: "dp.qd"; qe: "dp.qe"; qf: "dp.qf"; qg: "dp.qg"; qh: "dp.qh"; qi: "dp.qi"; qj: "dp.qj"; qk: "dp.qk"; ql: "dp.ql"; qm: "dp.qm"; qn: "dp.qn"; qo: "dp.qo"; qp: "dp.qp"; qq: "dp.qq"; qr: "dp.qr"; qs: "dp.qs"; qt: "dp.qt"; qu: "dp.qu"; qv: "dp.qv"; qw: "dp.qw"; qx: "dp.qx"; qy: "dp.qy"; qz: "dp.qz"; ra: "dp.ra"; rb: "dp.rb"; rc: "dp.rc"; rd: "dp.rd"; re: "dp.re"; rf: "dp.rf"; rg: "dp.rg"; rh: "dp.rh"; ri: "dp.ri"; rj: "dp.rj"; rk: "dp.rk"; rl: "dp.rl"; rm: "dp.rm"; rn: "dp.rn"; ro: "dp.ro"; rp: "dp.rp"; rq: "dp.rq"; rr: "dp.rr"; rs: "dp.rs"; rt: "dp.rt"; ru: "dp.ru"; rv: "dp.rv"; rw: "dp.rw"; rx: "dp.rx"; ry: "dp.ry"; rz: "dp.rz"; sa: "dp.sa"; sb: "dp.sb"; sc: "dp.sc"; sd: "dp.sd"; se: "dp.se"; sf: "dp.sf"; sg: "dp.sg"; sh: "dp.sh"; si: "dp.si"; sj: "dp.sj"; sk: "dp.sk"; sl: "dp.sl"; sm: "dp.sm"; sn: "dp.sn"; so: "dp.so"; sp: "dp.sp"; sq: "dp.sq"; sr: "dp.sr"; ss: "dp.ss"; st: "dp.st"; su: "dp.su"; sv: "dp.sv"; sw: "dp.sw"; sx: "dp.sx"; sy: "dp.sy"; sz: "dp.sz"; ta: "dp.ta"; tb: "dp.tb"; tc: "dp.tc"; td: "dp.td"; te: "dp.te"; tf: "dp.tf"; tg: "dp.tg"; th: "dp.th"; ti: "dp.ti"; tj: "dp.tj"; tk: "dp.tk"; tl: "dp.tl"; tm: "dp.tm"; tn: "dp.tn"; to: "dp.to"; tp: "dp.tp"; tq: "dp.tq"; tr: "dp.tr"; ts: "dp.ts"; tt: "dp.tt"; tu: "dp.tu"; tv: "dp.tv"; tw: "dp.tw"; tx: "dp.tx"; ty: "dp.ty"; tz: "dp.tz"; ua: "dp.ua"; ub: "dp.ub"; uc: "dp.uc"; ud: "dp.ud"; ue: "dp.ue"; uf: "dp.uf"; ug: "dp.ug"; uh: "dp.uh"; ui: "dp.ui"; uj: "dp.uj"; uk: "dp.uk"; ul: "dp.ul"; um: "dp.um"; un: "dp.un"; uo: "dp.uo"; up: "dp.up"; uq: "dp.uq"; ur: "dp.ur"; us: "dp.us"; ut: "dp.ut"; uu: "dp.uu"; uv: "dp.uv"; uw: "dp.uw"; ux: "dp.ux"; uy: "dp.uy"; uz: "dp.uz"; va: "dp.va"; vb: "dp.vb"; vc: "dp.vc"; vd: "dp.vd"; ve: "dp.ve"; vf: "dp.vf"; vg: "dp.vg"; vh: "dp.vh"; vi: "dp.vi"; vj: "dp.vj"; vk: "dp.vk"; vl: "dp.vl"; vm: "dp.vm"; vn: "dp.vn"; vo: "dp.vo"; vp: "dp.vp"; vq: "dp.vq"; vr: "dp.vr"; vs: "dp.vs"; vt: "dp.vt"; vu: "dp.vu"; vv: "dp.vv"; vw: "dp.vw"; vx: "dp.vx"; vy: "dp.vy"; vz: "dp.vz"; wa: "dp.wa"; wb: "dp.wb"; wc: "dp.wc"; wd: "dp.wd"; we: "dp.we"; wf: "dp.wf"; wg: "dp.wg"; wh: "dp.wh"; wi: "dp.wi"; wj: "dp.wj"; wk: "dp.wk"; wl: "dp.wl"; wm: "dp.wm"; wn: "dp.wn"; wo: "dp.wo"; wp: "dp.wp"; wq: "dp.wq"; wr: "dp.wr"; ws: "dp.ws"; wt: "dp.wt"; wu: "dp.wu"; wv: "dp.wv"; ww: "dp.ww"; wx: "dp.wx"; wy: "dp.wy"; wz: "dp.wz"; xa: "dp.xa"; xb: "dp.xb"; xc: "dp.xc"; xd: "dp.xd"; xe: "dp.xe"; xf: "dp.xf"; xg: "dp.xg"; xh: "dp.xh"; xi: "dp.xi"; xj: "dp.xj"; xk: "dp.xk"; xl: "dp.xl"; xm: "dp.xm"; xn: "dp.xn"; xo: "dp.xo"; xp: "dp.xp"; xq: "dp.xq"; xr: "dp.xr"; xs: "dp.xs"; xt: "dp.xt"; xu: "dp.xu"; xv: "dp.xv"; xw: "dp.xw"; xx: "dp.xx"; xy: "dp.xy"; xz: "dp.xz"; ya: "dp.ya"; yb: "dp.yb"; yc: "dp.yc"; yd: "dp.yd"; ye: "dp.ye"; yf: "dp.yf"; yg: "dp.yg"; yh: "dp.yh"; yi: "dp.yi"; yj: "dp.yj"; yk: "dp.yk"; yl: "dp.yl"; ym: "dp.ym"; yn: "dp.yn"; yo: "dp.yo"; yp: "dp.yp"; yq: "dp.yq"; yr: "dp.yr"; ys: "dp.ys"; yt: "dp.yt"; yu: "dp.yu"; yv: "dp.yv"; yw: "dp.yw"; yx: "dp.yx"; yy: "dp.yy"; yz: "dp.yz"; za: "dp.za"; zb: "dp.zb"; zc: "dp.zc"; zd: "dp.zd"; ze: "dp.ze"; zf: "dp.zf"; zg: "dp.zg"; zh: "dp.zh"; zi: "dp.zi"; zj: "dp.zj"; zk: "dp.zk"; zl: "dp.zl"; zm: "dp.zm"; zn: "dp.zn"; zo: "dp.zo"; zp: "dp.zp"; zq: "dp.zq"; zr: "dp.zr"; zs: "dp.zs"; zt: "dp.zt"; zu: "dp.zu"; zv: "dp.zv"; zw: "dp.zw"; zx: "dp.zx"; zy: "dp.zy"; zz: "dp.zz"; }; dq: { aa: "dq.aa"; ab: "dq.ab"; ac: "dq.ac"; ad: "dq.ad"; ae: "dq.ae"; af: "dq.af"; ag: "dq.ag"; ah: "dq.ah"; ai: "dq.ai"; aj: "dq.aj"; ak: "dq.ak"; al: "dq.al"; am: "dq.am"; an: "dq.an"; ao: "dq.ao"; ap: "dq.ap"; aq: "dq.aq"; ar: "dq.ar"; as: "dq.as"; at: "dq.at"; au: "dq.au"; av: "dq.av"; aw: "dq.aw"; ax: "dq.ax"; ay: "dq.ay"; az: "dq.az"; ba: "dq.ba"; bb: "dq.bb"; bc: "dq.bc"; bd: "dq.bd"; be: "dq.be"; bf: "dq.bf"; bg: "dq.bg"; bh: "dq.bh"; bi: "dq.bi"; bj: "dq.bj"; bk: "dq.bk"; bl: "dq.bl"; bm: "dq.bm"; bn: "dq.bn"; bo: "dq.bo"; bp: "dq.bp"; bq: "dq.bq"; br: "dq.br"; bs: "dq.bs"; bt: "dq.bt"; bu: "dq.bu"; bv: "dq.bv"; bw: "dq.bw"; bx: "dq.bx"; by: "dq.by"; bz: "dq.bz"; ca: "dq.ca"; cb: "dq.cb"; cc: "dq.cc"; cd: "dq.cd"; ce: "dq.ce"; cf: "dq.cf"; cg: "dq.cg"; ch: "dq.ch"; ci: "dq.ci"; cj: "dq.cj"; ck: "dq.ck"; cl: "dq.cl"; cm: "dq.cm"; cn: "dq.cn"; co: "dq.co"; cp: "dq.cp"; cq: "dq.cq"; cr: "dq.cr"; cs: "dq.cs"; ct: "dq.ct"; cu: "dq.cu"; cv: "dq.cv"; cw: "dq.cw"; cx: "dq.cx"; cy: "dq.cy"; cz: "dq.cz"; da: "dq.da"; db: "dq.db"; dc: "dq.dc"; dd: "dq.dd"; de: "dq.de"; df: "dq.df"; dg: "dq.dg"; dh: "dq.dh"; di: "dq.di"; dj: "dq.dj"; dk: "dq.dk"; dl: "dq.dl"; dm: "dq.dm"; dn: "dq.dn"; do: "dq.do"; dp: "dq.dp"; dq: "dq.dq"; dr: "dq.dr"; ds: "dq.ds"; dt: "dq.dt"; du: "dq.du"; dv: "dq.dv"; dw: "dq.dw"; dx: "dq.dx"; dy: "dq.dy"; dz: "dq.dz"; ea: "dq.ea"; eb: "dq.eb"; ec: "dq.ec"; ed: "dq.ed"; ee: "dq.ee"; ef: "dq.ef"; eg: "dq.eg"; eh: "dq.eh"; ei: "dq.ei"; ej: "dq.ej"; ek: "dq.ek"; el: "dq.el"; em: "dq.em"; en: "dq.en"; eo: "dq.eo"; ep: "dq.ep"; eq: "dq.eq"; er: "dq.er"; es: "dq.es"; et: "dq.et"; eu: "dq.eu"; ev: "dq.ev"; ew: "dq.ew"; ex: "dq.ex"; ey: "dq.ey"; ez: "dq.ez"; fa: "dq.fa"; fb: "dq.fb"; fc: "dq.fc"; fd: "dq.fd"; fe: "dq.fe"; ff: "dq.ff"; fg: "dq.fg"; fh: "dq.fh"; fi: "dq.fi"; fj: "dq.fj"; fk: "dq.fk"; fl: "dq.fl"; fm: "dq.fm"; fn: "dq.fn"; fo: "dq.fo"; fp: "dq.fp"; fq: "dq.fq"; fr: "dq.fr"; fs: "dq.fs"; ft: "dq.ft"; fu: "dq.fu"; fv: "dq.fv"; fw: "dq.fw"; fx: "dq.fx"; fy: "dq.fy"; fz: "dq.fz"; ga: "dq.ga"; gb: "dq.gb"; gc: "dq.gc"; gd: "dq.gd"; ge: "dq.ge"; gf: "dq.gf"; gg: "dq.gg"; gh: "dq.gh"; gi: "dq.gi"; gj: "dq.gj"; gk: "dq.gk"; gl: "dq.gl"; gm: "dq.gm"; gn: "dq.gn"; go: "dq.go"; gp: "dq.gp"; gq: "dq.gq"; gr: "dq.gr"; gs: "dq.gs"; gt: "dq.gt"; gu: "dq.gu"; gv: "dq.gv"; gw: "dq.gw"; gx: "dq.gx"; gy: "dq.gy"; gz: "dq.gz"; ha: "dq.ha"; hb: "dq.hb"; hc: "dq.hc"; hd: "dq.hd"; he: "dq.he"; hf: "dq.hf"; hg: "dq.hg"; hh: "dq.hh"; hi: "dq.hi"; hj: "dq.hj"; hk: "dq.hk"; hl: "dq.hl"; hm: "dq.hm"; hn: "dq.hn"; ho: "dq.ho"; hp: "dq.hp"; hq: "dq.hq"; hr: "dq.hr"; hs: "dq.hs"; ht: "dq.ht"; hu: "dq.hu"; hv: "dq.hv"; hw: "dq.hw"; hx: "dq.hx"; hy: "dq.hy"; hz: "dq.hz"; ia: "dq.ia"; ib: "dq.ib"; ic: "dq.ic"; id: "dq.id"; ie: "dq.ie"; if: "dq.if"; ig: "dq.ig"; ih: "dq.ih"; ii: "dq.ii"; ij: "dq.ij"; ik: "dq.ik"; il: "dq.il"; im: "dq.im"; in: "dq.in"; io: "dq.io"; ip: "dq.ip"; iq: "dq.iq"; ir: "dq.ir"; is: "dq.is"; it: "dq.it"; iu: "dq.iu"; iv: "dq.iv"; iw: "dq.iw"; ix: "dq.ix"; iy: "dq.iy"; iz: "dq.iz"; ja: "dq.ja"; jb: "dq.jb"; jc: "dq.jc"; jd: "dq.jd"; je: "dq.je"; jf: "dq.jf"; jg: "dq.jg"; jh: "dq.jh"; ji: "dq.ji"; jj: "dq.jj"; jk: "dq.jk"; jl: "dq.jl"; jm: "dq.jm"; jn: "dq.jn"; jo: "dq.jo"; jp: "dq.jp"; jq: "dq.jq"; jr: "dq.jr"; js: "dq.js"; jt: "dq.jt"; ju: "dq.ju"; jv: "dq.jv"; jw: "dq.jw"; jx: "dq.jx"; jy: "dq.jy"; jz: "dq.jz"; ka: "dq.ka"; kb: "dq.kb"; kc: "dq.kc"; kd: "dq.kd"; ke: "dq.ke"; kf: "dq.kf"; kg: "dq.kg"; kh: "dq.kh"; ki: "dq.ki"; kj: "dq.kj"; kk: "dq.kk"; kl: "dq.kl"; km: "dq.km"; kn: "dq.kn"; ko: "dq.ko"; kp: "dq.kp"; kq: "dq.kq"; kr: "dq.kr"; ks: "dq.ks"; kt: "dq.kt"; ku: "dq.ku"; kv: "dq.kv"; kw: "dq.kw"; kx: "dq.kx"; ky: "dq.ky"; kz: "dq.kz"; la: "dq.la"; lb: "dq.lb"; lc: "dq.lc"; ld: "dq.ld"; le: "dq.le"; lf: "dq.lf"; lg: "dq.lg"; lh: "dq.lh"; li: "dq.li"; lj: "dq.lj"; lk: "dq.lk"; ll: "dq.ll"; lm: "dq.lm"; ln: "dq.ln"; lo: "dq.lo"; lp: "dq.lp"; lq: "dq.lq"; lr: "dq.lr"; ls: "dq.ls"; lt: "dq.lt"; lu: "dq.lu"; lv: "dq.lv"; lw: "dq.lw"; lx: "dq.lx"; ly: "dq.ly"; lz: "dq.lz"; ma: "dq.ma"; mb: "dq.mb"; mc: "dq.mc"; md: "dq.md"; me: "dq.me"; mf: "dq.mf"; mg: "dq.mg"; mh: "dq.mh"; mi: "dq.mi"; mj: "dq.mj"; mk: "dq.mk"; ml: "dq.ml"; mm: "dq.mm"; mn: "dq.mn"; mo: "dq.mo"; mp: "dq.mp"; mq: "dq.mq"; mr: "dq.mr"; ms: "dq.ms"; mt: "dq.mt"; mu: "dq.mu"; mv: "dq.mv"; mw: "dq.mw"; mx: "dq.mx"; my: "dq.my"; mz: "dq.mz"; na: "dq.na"; nb: "dq.nb"; nc: "dq.nc"; nd: "dq.nd"; ne: "dq.ne"; nf: "dq.nf"; ng: "dq.ng"; nh: "dq.nh"; ni: "dq.ni"; nj: "dq.nj"; nk: "dq.nk"; nl: "dq.nl"; nm: "dq.nm"; nn: "dq.nn"; no: "dq.no"; np: "dq.np"; nq: "dq.nq"; nr: "dq.nr"; ns: "dq.ns"; nt: "dq.nt"; nu: "dq.nu"; nv: "dq.nv"; nw: "dq.nw"; nx: "dq.nx"; ny: "dq.ny"; nz: "dq.nz"; oa: "dq.oa"; ob: "dq.ob"; oc: "dq.oc"; od: "dq.od"; oe: "dq.oe"; of: "dq.of"; og: "dq.og"; oh: "dq.oh"; oi: "dq.oi"; oj: "dq.oj"; ok: "dq.ok"; ol: "dq.ol"; om: "dq.om"; on: "dq.on"; oo: "dq.oo"; op: "dq.op"; oq: "dq.oq"; or: "dq.or"; os: "dq.os"; ot: "dq.ot"; ou: "dq.ou"; ov: "dq.ov"; ow: "dq.ow"; ox: "dq.ox"; oy: "dq.oy"; oz: "dq.oz"; pa: "dq.pa"; pb: "dq.pb"; pc: "dq.pc"; pd: "dq.pd"; pe: "dq.pe"; pf: "dq.pf"; pg: "dq.pg"; ph: "dq.ph"; pi: "dq.pi"; pj: "dq.pj"; pk: "dq.pk"; pl: "dq.pl"; pm: "dq.pm"; pn: "dq.pn"; po: "dq.po"; pp: "dq.pp"; pq: "dq.pq"; pr: "dq.pr"; ps: "dq.ps"; pt: "dq.pt"; pu: "dq.pu"; pv: "dq.pv"; pw: "dq.pw"; px: "dq.px"; py: "dq.py"; pz: "dq.pz"; qa: "dq.qa"; qb: "dq.qb"; qc: "dq.qc"; qd: "dq.qd"; qe: "dq.qe"; qf: "dq.qf"; qg: "dq.qg"; qh: "dq.qh"; qi: "dq.qi"; qj: "dq.qj"; qk: "dq.qk"; ql: "dq.ql"; qm: "dq.qm"; qn: "dq.qn"; qo: "dq.qo"; qp: "dq.qp"; qq: "dq.qq"; qr: "dq.qr"; qs: "dq.qs"; qt: "dq.qt"; qu: "dq.qu"; qv: "dq.qv"; qw: "dq.qw"; qx: "dq.qx"; qy: "dq.qy"; qz: "dq.qz"; ra: "dq.ra"; rb: "dq.rb"; rc: "dq.rc"; rd: "dq.rd"; re: "dq.re"; rf: "dq.rf"; rg: "dq.rg"; rh: "dq.rh"; ri: "dq.ri"; rj: "dq.rj"; rk: "dq.rk"; rl: "dq.rl"; rm: "dq.rm"; rn: "dq.rn"; ro: "dq.ro"; rp: "dq.rp"; rq: "dq.rq"; rr: "dq.rr"; rs: "dq.rs"; rt: "dq.rt"; ru: "dq.ru"; rv: "dq.rv"; rw: "dq.rw"; rx: "dq.rx"; ry: "dq.ry"; rz: "dq.rz"; sa: "dq.sa"; sb: "dq.sb"; sc: "dq.sc"; sd: "dq.sd"; se: "dq.se"; sf: "dq.sf"; sg: "dq.sg"; sh: "dq.sh"; si: "dq.si"; sj: "dq.sj"; sk: "dq.sk"; sl: "dq.sl"; sm: "dq.sm"; sn: "dq.sn"; so: "dq.so"; sp: "dq.sp"; sq: "dq.sq"; sr: "dq.sr"; ss: "dq.ss"; st: "dq.st"; su: "dq.su"; sv: "dq.sv"; sw: "dq.sw"; sx: "dq.sx"; sy: "dq.sy"; sz: "dq.sz"; ta: "dq.ta"; tb: "dq.tb"; tc: "dq.tc"; td: "dq.td"; te: "dq.te"; tf: "dq.tf"; tg: "dq.tg"; th: "dq.th"; ti: "dq.ti"; tj: "dq.tj"; tk: "dq.tk"; tl: "dq.tl"; tm: "dq.tm"; tn: "dq.tn"; to: "dq.to"; tp: "dq.tp"; tq: "dq.tq"; tr: "dq.tr"; ts: "dq.ts"; tt: "dq.tt"; tu: "dq.tu"; tv: "dq.tv"; tw: "dq.tw"; tx: "dq.tx"; ty: "dq.ty"; tz: "dq.tz"; ua: "dq.ua"; ub: "dq.ub"; uc: "dq.uc"; ud: "dq.ud"; ue: "dq.ue"; uf: "dq.uf"; ug: "dq.ug"; uh: "dq.uh"; ui: "dq.ui"; uj: "dq.uj"; uk: "dq.uk"; ul: "dq.ul"; um: "dq.um"; un: "dq.un"; uo: "dq.uo"; up: "dq.up"; uq: "dq.uq"; ur: "dq.ur"; us: "dq.us"; ut: "dq.ut"; uu: "dq.uu"; uv: "dq.uv"; uw: "dq.uw"; ux: "dq.ux"; uy: "dq.uy"; uz: "dq.uz"; va: "dq.va"; vb: "dq.vb"; vc: "dq.vc"; vd: "dq.vd"; ve: "dq.ve"; vf: "dq.vf"; vg: "dq.vg"; vh: "dq.vh"; vi: "dq.vi"; vj: "dq.vj"; vk: "dq.vk"; vl: "dq.vl"; vm: "dq.vm"; vn: "dq.vn"; vo: "dq.vo"; vp: "dq.vp"; vq: "dq.vq"; vr: "dq.vr"; vs: "dq.vs"; vt: "dq.vt"; vu: "dq.vu"; vv: "dq.vv"; vw: "dq.vw"; vx: "dq.vx"; vy: "dq.vy"; vz: "dq.vz"; wa: "dq.wa"; wb: "dq.wb"; wc: "dq.wc"; wd: "dq.wd"; we: "dq.we"; wf: "dq.wf"; wg: "dq.wg"; wh: "dq.wh"; wi: "dq.wi"; wj: "dq.wj"; wk: "dq.wk"; wl: "dq.wl"; wm: "dq.wm"; wn: "dq.wn"; wo: "dq.wo"; wp: "dq.wp"; wq: "dq.wq"; wr: "dq.wr"; ws: "dq.ws"; wt: "dq.wt"; wu: "dq.wu"; wv: "dq.wv"; ww: "dq.ww"; wx: "dq.wx"; wy: "dq.wy"; wz: "dq.wz"; xa: "dq.xa"; xb: "dq.xb"; xc: "dq.xc"; xd: "dq.xd"; xe: "dq.xe"; xf: "dq.xf"; xg: "dq.xg"; xh: "dq.xh"; xi: "dq.xi"; xj: "dq.xj"; xk: "dq.xk"; xl: "dq.xl"; xm: "dq.xm"; xn: "dq.xn"; xo: "dq.xo"; xp: "dq.xp"; xq: "dq.xq"; xr: "dq.xr"; xs: "dq.xs"; xt: "dq.xt"; xu: "dq.xu"; xv: "dq.xv"; xw: "dq.xw"; xx: "dq.xx"; xy: "dq.xy"; xz: "dq.xz"; ya: "dq.ya"; yb: "dq.yb"; yc: "dq.yc"; yd: "dq.yd"; ye: "dq.ye"; yf: "dq.yf"; yg: "dq.yg"; yh: "dq.yh"; yi: "dq.yi"; yj: "dq.yj"; yk: "dq.yk"; yl: "dq.yl"; ym: "dq.ym"; yn: "dq.yn"; yo: "dq.yo"; yp: "dq.yp"; yq: "dq.yq"; yr: "dq.yr"; ys: "dq.ys"; yt: "dq.yt"; yu: "dq.yu"; yv: "dq.yv"; yw: "dq.yw"; yx: "dq.yx"; yy: "dq.yy"; yz: "dq.yz"; za: "dq.za"; zb: "dq.zb"; zc: "dq.zc"; zd: "dq.zd"; ze: "dq.ze"; zf: "dq.zf"; zg: "dq.zg"; zh: "dq.zh"; zi: "dq.zi"; zj: "dq.zj"; zk: "dq.zk"; zl: "dq.zl"; zm: "dq.zm"; zn: "dq.zn"; zo: "dq.zo"; zp: "dq.zp"; zq: "dq.zq"; zr: "dq.zr"; zs: "dq.zs"; zt: "dq.zt"; zu: "dq.zu"; zv: "dq.zv"; zw: "dq.zw"; zx: "dq.zx"; zy: "dq.zy"; zz: "dq.zz"; }; dr: { aa: "dr.aa"; ab: "dr.ab"; ac: "dr.ac"; ad: "dr.ad"; ae: "dr.ae"; af: "dr.af"; ag: "dr.ag"; ah: "dr.ah"; ai: "dr.ai"; aj: "dr.aj"; ak: "dr.ak"; al: "dr.al"; am: "dr.am"; an: "dr.an"; ao: "dr.ao"; ap: "dr.ap"; aq: "dr.aq"; ar: "dr.ar"; as: "dr.as"; at: "dr.at"; au: "dr.au"; av: "dr.av"; aw: "dr.aw"; ax: "dr.ax"; ay: "dr.ay"; az: "dr.az"; ba: "dr.ba"; bb: "dr.bb"; bc: "dr.bc"; bd: "dr.bd"; be: "dr.be"; bf: "dr.bf"; bg: "dr.bg"; bh: "dr.bh"; bi: "dr.bi"; bj: "dr.bj"; bk: "dr.bk"; bl: "dr.bl"; bm: "dr.bm"; bn: "dr.bn"; bo: "dr.bo"; bp: "dr.bp"; bq: "dr.bq"; br: "dr.br"; bs: "dr.bs"; bt: "dr.bt"; bu: "dr.bu"; bv: "dr.bv"; bw: "dr.bw"; bx: "dr.bx"; by: "dr.by"; bz: "dr.bz"; ca: "dr.ca"; cb: "dr.cb"; cc: "dr.cc"; cd: "dr.cd"; ce: "dr.ce"; cf: "dr.cf"; cg: "dr.cg"; ch: "dr.ch"; ci: "dr.ci"; cj: "dr.cj"; ck: "dr.ck"; cl: "dr.cl"; cm: "dr.cm"; cn: "dr.cn"; co: "dr.co"; cp: "dr.cp"; cq: "dr.cq"; cr: "dr.cr"; cs: "dr.cs"; ct: "dr.ct"; cu: "dr.cu"; cv: "dr.cv"; cw: "dr.cw"; cx: "dr.cx"; cy: "dr.cy"; cz: "dr.cz"; da: "dr.da"; db: "dr.db"; dc: "dr.dc"; dd: "dr.dd"; de: "dr.de"; df: "dr.df"; dg: "dr.dg"; dh: "dr.dh"; di: "dr.di"; dj: "dr.dj"; dk: "dr.dk"; dl: "dr.dl"; dm: "dr.dm"; dn: "dr.dn"; do: "dr.do"; dp: "dr.dp"; dq: "dr.dq"; dr: "dr.dr"; ds: "dr.ds"; dt: "dr.dt"; du: "dr.du"; dv: "dr.dv"; dw: "dr.dw"; dx: "dr.dx"; dy: "dr.dy"; dz: "dr.dz"; ea: "dr.ea"; eb: "dr.eb"; ec: "dr.ec"; ed: "dr.ed"; ee: "dr.ee"; ef: "dr.ef"; eg: "dr.eg"; eh: "dr.eh"; ei: "dr.ei"; ej: "dr.ej"; ek: "dr.ek"; el: "dr.el"; em: "dr.em"; en: "dr.en"; eo: "dr.eo"; ep: "dr.ep"; eq: "dr.eq"; er: "dr.er"; es: "dr.es"; et: "dr.et"; eu: "dr.eu"; ev: "dr.ev"; ew: "dr.ew"; ex: "dr.ex"; ey: "dr.ey"; ez: "dr.ez"; fa: "dr.fa"; fb: "dr.fb"; fc: "dr.fc"; fd: "dr.fd"; fe: "dr.fe"; ff: "dr.ff"; fg: "dr.fg"; fh: "dr.fh"; fi: "dr.fi"; fj: "dr.fj"; fk: "dr.fk"; fl: "dr.fl"; fm: "dr.fm"; fn: "dr.fn"; fo: "dr.fo"; fp: "dr.fp"; fq: "dr.fq"; fr: "dr.fr"; fs: "dr.fs"; ft: "dr.ft"; fu: "dr.fu"; fv: "dr.fv"; fw: "dr.fw"; fx: "dr.fx"; fy: "dr.fy"; fz: "dr.fz"; ga: "dr.ga"; gb: "dr.gb"; gc: "dr.gc"; gd: "dr.gd"; ge: "dr.ge"; gf: "dr.gf"; gg: "dr.gg"; gh: "dr.gh"; gi: "dr.gi"; gj: "dr.gj"; gk: "dr.gk"; gl: "dr.gl"; gm: "dr.gm"; gn: "dr.gn"; go: "dr.go"; gp: "dr.gp"; gq: "dr.gq"; gr: "dr.gr"; gs: "dr.gs"; gt: "dr.gt"; gu: "dr.gu"; gv: "dr.gv"; gw: "dr.gw"; gx: "dr.gx"; gy: "dr.gy"; gz: "dr.gz"; ha: "dr.ha"; hb: "dr.hb"; hc: "dr.hc"; hd: "dr.hd"; he: "dr.he"; hf: "dr.hf"; hg: "dr.hg"; hh: "dr.hh"; hi: "dr.hi"; hj: "dr.hj"; hk: "dr.hk"; hl: "dr.hl"; hm: "dr.hm"; hn: "dr.hn"; ho: "dr.ho"; hp: "dr.hp"; hq: "dr.hq"; hr: "dr.hr"; hs: "dr.hs"; ht: "dr.ht"; hu: "dr.hu"; hv: "dr.hv"; hw: "dr.hw"; hx: "dr.hx"; hy: "dr.hy"; hz: "dr.hz"; ia: "dr.ia"; ib: "dr.ib"; ic: "dr.ic"; id: "dr.id"; ie: "dr.ie"; if: "dr.if"; ig: "dr.ig"; ih: "dr.ih"; ii: "dr.ii"; ij: "dr.ij"; ik: "dr.ik"; il: "dr.il"; im: "dr.im"; in: "dr.in"; io: "dr.io"; ip: "dr.ip"; iq: "dr.iq"; ir: "dr.ir"; is: "dr.is"; it: "dr.it"; iu: "dr.iu"; iv: "dr.iv"; iw: "dr.iw"; ix: "dr.ix"; iy: "dr.iy"; iz: "dr.iz"; ja: "dr.ja"; jb: "dr.jb"; jc: "dr.jc"; jd: "dr.jd"; je: "dr.je"; jf: "dr.jf"; jg: "dr.jg"; jh: "dr.jh"; ji: "dr.ji"; jj: "dr.jj"; jk: "dr.jk"; jl: "dr.jl"; jm: "dr.jm"; jn: "dr.jn"; jo: "dr.jo"; jp: "dr.jp"; jq: "dr.jq"; jr: "dr.jr"; js: "dr.js"; jt: "dr.jt"; ju: "dr.ju"; jv: "dr.jv"; jw: "dr.jw"; jx: "dr.jx"; jy: "dr.jy"; jz: "dr.jz"; ka: "dr.ka"; kb: "dr.kb"; kc: "dr.kc"; kd: "dr.kd"; ke: "dr.ke"; kf: "dr.kf"; kg: "dr.kg"; kh: "dr.kh"; ki: "dr.ki"; kj: "dr.kj"; kk: "dr.kk"; kl: "dr.kl"; km: "dr.km"; kn: "dr.kn"; ko: "dr.ko"; kp: "dr.kp"; kq: "dr.kq"; kr: "dr.kr"; ks: "dr.ks"; kt: "dr.kt"; ku: "dr.ku"; kv: "dr.kv"; kw: "dr.kw"; kx: "dr.kx"; ky: "dr.ky"; kz: "dr.kz"; la: "dr.la"; lb: "dr.lb"; lc: "dr.lc"; ld: "dr.ld"; le: "dr.le"; lf: "dr.lf"; lg: "dr.lg"; lh: "dr.lh"; li: "dr.li"; lj: "dr.lj"; lk: "dr.lk"; ll: "dr.ll"; lm: "dr.lm"; ln: "dr.ln"; lo: "dr.lo"; lp: "dr.lp"; lq: "dr.lq"; lr: "dr.lr"; ls: "dr.ls"; lt: "dr.lt"; lu: "dr.lu"; lv: "dr.lv"; lw: "dr.lw"; lx: "dr.lx"; ly: "dr.ly"; lz: "dr.lz"; ma: "dr.ma"; mb: "dr.mb"; mc: "dr.mc"; md: "dr.md"; me: "dr.me"; mf: "dr.mf"; mg: "dr.mg"; mh: "dr.mh"; mi: "dr.mi"; mj: "dr.mj"; mk: "dr.mk"; ml: "dr.ml"; mm: "dr.mm"; mn: "dr.mn"; mo: "dr.mo"; mp: "dr.mp"; mq: "dr.mq"; mr: "dr.mr"; ms: "dr.ms"; mt: "dr.mt"; mu: "dr.mu"; mv: "dr.mv"; mw: "dr.mw"; mx: "dr.mx"; my: "dr.my"; mz: "dr.mz"; na: "dr.na"; nb: "dr.nb"; nc: "dr.nc"; nd: "dr.nd"; ne: "dr.ne"; nf: "dr.nf"; ng: "dr.ng"; nh: "dr.nh"; ni: "dr.ni"; nj: "dr.nj"; nk: "dr.nk"; nl: "dr.nl"; nm: "dr.nm"; nn: "dr.nn"; no: "dr.no"; np: "dr.np"; nq: "dr.nq"; nr: "dr.nr"; ns: "dr.ns"; nt: "dr.nt"; nu: "dr.nu"; nv: "dr.nv"; nw: "dr.nw"; nx: "dr.nx"; ny: "dr.ny"; nz: "dr.nz"; oa: "dr.oa"; ob: "dr.ob"; oc: "dr.oc"; od: "dr.od"; oe: "dr.oe"; of: "dr.of"; og: "dr.og"; oh: "dr.oh"; oi: "dr.oi"; oj: "dr.oj"; ok: "dr.ok"; ol: "dr.ol"; om: "dr.om"; on: "dr.on"; oo: "dr.oo"; op: "dr.op"; oq: "dr.oq"; or: "dr.or"; os: "dr.os"; ot: "dr.ot"; ou: "dr.ou"; ov: "dr.ov"; ow: "dr.ow"; ox: "dr.ox"; oy: "dr.oy"; oz: "dr.oz"; pa: "dr.pa"; pb: "dr.pb"; pc: "dr.pc"; pd: "dr.pd"; pe: "dr.pe"; pf: "dr.pf"; pg: "dr.pg"; ph: "dr.ph"; pi: "dr.pi"; pj: "dr.pj"; pk: "dr.pk"; pl: "dr.pl"; pm: "dr.pm"; pn: "dr.pn"; po: "dr.po"; pp: "dr.pp"; pq: "dr.pq"; pr: "dr.pr"; ps: "dr.ps"; pt: "dr.pt"; pu: "dr.pu"; pv: "dr.pv"; pw: "dr.pw"; px: "dr.px"; py: "dr.py"; pz: "dr.pz"; qa: "dr.qa"; qb: "dr.qb"; qc: "dr.qc"; qd: "dr.qd"; qe: "dr.qe"; qf: "dr.qf"; qg: "dr.qg"; qh: "dr.qh"; qi: "dr.qi"; qj: "dr.qj"; qk: "dr.qk"; ql: "dr.ql"; qm: "dr.qm"; qn: "dr.qn"; qo: "dr.qo"; qp: "dr.qp"; qq: "dr.qq"; qr: "dr.qr"; qs: "dr.qs"; qt: "dr.qt"; qu: "dr.qu"; qv: "dr.qv"; qw: "dr.qw"; qx: "dr.qx"; qy: "dr.qy"; qz: "dr.qz"; ra: "dr.ra"; rb: "dr.rb"; rc: "dr.rc"; rd: "dr.rd"; re: "dr.re"; rf: "dr.rf"; rg: "dr.rg"; rh: "dr.rh"; ri: "dr.ri"; rj: "dr.rj"; rk: "dr.rk"; rl: "dr.rl"; rm: "dr.rm"; rn: "dr.rn"; ro: "dr.ro"; rp: "dr.rp"; rq: "dr.rq"; rr: "dr.rr"; rs: "dr.rs"; rt: "dr.rt"; ru: "dr.ru"; rv: "dr.rv"; rw: "dr.rw"; rx: "dr.rx"; ry: "dr.ry"; rz: "dr.rz"; sa: "dr.sa"; sb: "dr.sb"; sc: "dr.sc"; sd: "dr.sd"; se: "dr.se"; sf: "dr.sf"; sg: "dr.sg"; sh: "dr.sh"; si: "dr.si"; sj: "dr.sj"; sk: "dr.sk"; sl: "dr.sl"; sm: "dr.sm"; sn: "dr.sn"; so: "dr.so"; sp: "dr.sp"; sq: "dr.sq"; sr: "dr.sr"; ss: "dr.ss"; st: "dr.st"; su: "dr.su"; sv: "dr.sv"; sw: "dr.sw"; sx: "dr.sx"; sy: "dr.sy"; sz: "dr.sz"; ta: "dr.ta"; tb: "dr.tb"; tc: "dr.tc"; td: "dr.td"; te: "dr.te"; tf: "dr.tf"; tg: "dr.tg"; th: "dr.th"; ti: "dr.ti"; tj: "dr.tj"; tk: "dr.tk"; tl: "dr.tl"; tm: "dr.tm"; tn: "dr.tn"; to: "dr.to"; tp: "dr.tp"; tq: "dr.tq"; tr: "dr.tr"; ts: "dr.ts"; tt: "dr.tt"; tu: "dr.tu"; tv: "dr.tv"; tw: "dr.tw"; tx: "dr.tx"; ty: "dr.ty"; tz: "dr.tz"; ua: "dr.ua"; ub: "dr.ub"; uc: "dr.uc"; ud: "dr.ud"; ue: "dr.ue"; uf: "dr.uf"; ug: "dr.ug"; uh: "dr.uh"; ui: "dr.ui"; uj: "dr.uj"; uk: "dr.uk"; ul: "dr.ul"; um: "dr.um"; un: "dr.un"; uo: "dr.uo"; up: "dr.up"; uq: "dr.uq"; ur: "dr.ur"; us: "dr.us"; ut: "dr.ut"; uu: "dr.uu"; uv: "dr.uv"; uw: "dr.uw"; ux: "dr.ux"; uy: "dr.uy"; uz: "dr.uz"; va: "dr.va"; vb: "dr.vb"; vc: "dr.vc"; vd: "dr.vd"; ve: "dr.ve"; vf: "dr.vf"; vg: "dr.vg"; vh: "dr.vh"; vi: "dr.vi"; vj: "dr.vj"; vk: "dr.vk"; vl: "dr.vl"; vm: "dr.vm"; vn: "dr.vn"; vo: "dr.vo"; vp: "dr.vp"; vq: "dr.vq"; vr: "dr.vr"; vs: "dr.vs"; vt: "dr.vt"; vu: "dr.vu"; vv: "dr.vv"; vw: "dr.vw"; vx: "dr.vx"; vy: "dr.vy"; vz: "dr.vz"; wa: "dr.wa"; wb: "dr.wb"; wc: "dr.wc"; wd: "dr.wd"; we: "dr.we"; wf: "dr.wf"; wg: "dr.wg"; wh: "dr.wh"; wi: "dr.wi"; wj: "dr.wj"; wk: "dr.wk"; wl: "dr.wl"; wm: "dr.wm"; wn: "dr.wn"; wo: "dr.wo"; wp: "dr.wp"; wq: "dr.wq"; wr: "dr.wr"; ws: "dr.ws"; wt: "dr.wt"; wu: "dr.wu"; wv: "dr.wv"; ww: "dr.ww"; wx: "dr.wx"; wy: "dr.wy"; wz: "dr.wz"; xa: "dr.xa"; xb: "dr.xb"; xc: "dr.xc"; xd: "dr.xd"; xe: "dr.xe"; xf: "dr.xf"; xg: "dr.xg"; xh: "dr.xh"; xi: "dr.xi"; xj: "dr.xj"; xk: "dr.xk"; xl: "dr.xl"; xm: "dr.xm"; xn: "dr.xn"; xo: "dr.xo"; xp: "dr.xp"; xq: "dr.xq"; xr: "dr.xr"; xs: "dr.xs"; xt: "dr.xt"; xu: "dr.xu"; xv: "dr.xv"; xw: "dr.xw"; xx: "dr.xx"; xy: "dr.xy"; xz: "dr.xz"; ya: "dr.ya"; yb: "dr.yb"; yc: "dr.yc"; yd: "dr.yd"; ye: "dr.ye"; yf: "dr.yf"; yg: "dr.yg"; yh: "dr.yh"; yi: "dr.yi"; yj: "dr.yj"; yk: "dr.yk"; yl: "dr.yl"; ym: "dr.ym"; yn: "dr.yn"; yo: "dr.yo"; yp: "dr.yp"; yq: "dr.yq"; yr: "dr.yr"; ys: "dr.ys"; yt: "dr.yt"; yu: "dr.yu"; yv: "dr.yv"; yw: "dr.yw"; yx: "dr.yx"; yy: "dr.yy"; yz: "dr.yz"; za: "dr.za"; zb: "dr.zb"; zc: "dr.zc"; zd: "dr.zd"; ze: "dr.ze"; zf: "dr.zf"; zg: "dr.zg"; zh: "dr.zh"; zi: "dr.zi"; zj: "dr.zj"; zk: "dr.zk"; zl: "dr.zl"; zm: "dr.zm"; zn: "dr.zn"; zo: "dr.zo"; zp: "dr.zp"; zq: "dr.zq"; zr: "dr.zr"; zs: "dr.zs"; zt: "dr.zt"; zu: "dr.zu"; zv: "dr.zv"; zw: "dr.zw"; zx: "dr.zx"; zy: "dr.zy"; zz: "dr.zz"; }; ds: { aa: "ds.aa"; ab: "ds.ab"; ac: "ds.ac"; ad: "ds.ad"; ae: "ds.ae"; af: "ds.af"; ag: "ds.ag"; ah: "ds.ah"; ai: "ds.ai"; aj: "ds.aj"; ak: "ds.ak"; al: "ds.al"; am: "ds.am"; an: "ds.an"; ao: "ds.ao"; ap: "ds.ap"; aq: "ds.aq"; ar: "ds.ar"; as: "ds.as"; at: "ds.at"; au: "ds.au"; av: "ds.av"; aw: "ds.aw"; ax: "ds.ax"; ay: "ds.ay"; az: "ds.az"; ba: "ds.ba"; bb: "ds.bb"; bc: "ds.bc"; bd: "ds.bd"; be: "ds.be"; bf: "ds.bf"; bg: "ds.bg"; bh: "ds.bh"; bi: "ds.bi"; bj: "ds.bj"; bk: "ds.bk"; bl: "ds.bl"; bm: "ds.bm"; bn: "ds.bn"; bo: "ds.bo"; bp: "ds.bp"; bq: "ds.bq"; br: "ds.br"; bs: "ds.bs"; bt: "ds.bt"; bu: "ds.bu"; bv: "ds.bv"; bw: "ds.bw"; bx: "ds.bx"; by: "ds.by"; bz: "ds.bz"; ca: "ds.ca"; cb: "ds.cb"; cc: "ds.cc"; cd: "ds.cd"; ce: "ds.ce"; cf: "ds.cf"; cg: "ds.cg"; ch: "ds.ch"; ci: "ds.ci"; cj: "ds.cj"; ck: "ds.ck"; cl: "ds.cl"; cm: "ds.cm"; cn: "ds.cn"; co: "ds.co"; cp: "ds.cp"; cq: "ds.cq"; cr: "ds.cr"; cs: "ds.cs"; ct: "ds.ct"; cu: "ds.cu"; cv: "ds.cv"; cw: "ds.cw"; cx: "ds.cx"; cy: "ds.cy"; cz: "ds.cz"; da: "ds.da"; db: "ds.db"; dc: "ds.dc"; dd: "ds.dd"; de: "ds.de"; df: "ds.df"; dg: "ds.dg"; dh: "ds.dh"; di: "ds.di"; dj: "ds.dj"; dk: "ds.dk"; dl: "ds.dl"; dm: "ds.dm"; dn: "ds.dn"; do: "ds.do"; dp: "ds.dp"; dq: "ds.dq"; dr: "ds.dr"; ds: "ds.ds"; dt: "ds.dt"; du: "ds.du"; dv: "ds.dv"; dw: "ds.dw"; dx: "ds.dx"; dy: "ds.dy"; dz: "ds.dz"; ea: "ds.ea"; eb: "ds.eb"; ec: "ds.ec"; ed: "ds.ed"; ee: "ds.ee"; ef: "ds.ef"; eg: "ds.eg"; eh: "ds.eh"; ei: "ds.ei"; ej: "ds.ej"; ek: "ds.ek"; el: "ds.el"; em: "ds.em"; en: "ds.en"; eo: "ds.eo"; ep: "ds.ep"; eq: "ds.eq"; er: "ds.er"; es: "ds.es"; et: "ds.et"; eu: "ds.eu"; ev: "ds.ev"; ew: "ds.ew"; ex: "ds.ex"; ey: "ds.ey"; ez: "ds.ez"; fa: "ds.fa"; fb: "ds.fb"; fc: "ds.fc"; fd: "ds.fd"; fe: "ds.fe"; ff: "ds.ff"; fg: "ds.fg"; fh: "ds.fh"; fi: "ds.fi"; fj: "ds.fj"; fk: "ds.fk"; fl: "ds.fl"; fm: "ds.fm"; fn: "ds.fn"; fo: "ds.fo"; fp: "ds.fp"; fq: "ds.fq"; fr: "ds.fr"; fs: "ds.fs"; ft: "ds.ft"; fu: "ds.fu"; fv: "ds.fv"; fw: "ds.fw"; fx: "ds.fx"; fy: "ds.fy"; fz: "ds.fz"; ga: "ds.ga"; gb: "ds.gb"; gc: "ds.gc"; gd: "ds.gd"; ge: "ds.ge"; gf: "ds.gf"; gg: "ds.gg"; gh: "ds.gh"; gi: "ds.gi"; gj: "ds.gj"; gk: "ds.gk"; gl: "ds.gl"; gm: "ds.gm"; gn: "ds.gn"; go: "ds.go"; gp: "ds.gp"; gq: "ds.gq"; gr: "ds.gr"; gs: "ds.gs"; gt: "ds.gt"; gu: "ds.gu"; gv: "ds.gv"; gw: "ds.gw"; gx: "ds.gx"; gy: "ds.gy"; gz: "ds.gz"; ha: "ds.ha"; hb: "ds.hb"; hc: "ds.hc"; hd: "ds.hd"; he: "ds.he"; hf: "ds.hf"; hg: "ds.hg"; hh: "ds.hh"; hi: "ds.hi"; hj: "ds.hj"; hk: "ds.hk"; hl: "ds.hl"; hm: "ds.hm"; hn: "ds.hn"; ho: "ds.ho"; hp: "ds.hp"; hq: "ds.hq"; hr: "ds.hr"; hs: "ds.hs"; ht: "ds.ht"; hu: "ds.hu"; hv: "ds.hv"; hw: "ds.hw"; hx: "ds.hx"; hy: "ds.hy"; hz: "ds.hz"; ia: "ds.ia"; ib: "ds.ib"; ic: "ds.ic"; id: "ds.id"; ie: "ds.ie"; if: "ds.if"; ig: "ds.ig"; ih: "ds.ih"; ii: "ds.ii"; ij: "ds.ij"; ik: "ds.ik"; il: "ds.il"; im: "ds.im"; in: "ds.in"; io: "ds.io"; ip: "ds.ip"; iq: "ds.iq"; ir: "ds.ir"; is: "ds.is"; it: "ds.it"; iu: "ds.iu"; iv: "ds.iv"; iw: "ds.iw"; ix: "ds.ix"; iy: "ds.iy"; iz: "ds.iz"; ja: "ds.ja"; jb: "ds.jb"; jc: "ds.jc"; jd: "ds.jd"; je: "ds.je"; jf: "ds.jf"; jg: "ds.jg"; jh: "ds.jh"; ji: "ds.ji"; jj: "ds.jj"; jk: "ds.jk"; jl: "ds.jl"; jm: "ds.jm"; jn: "ds.jn"; jo: "ds.jo"; jp: "ds.jp"; jq: "ds.jq"; jr: "ds.jr"; js: "ds.js"; jt: "ds.jt"; ju: "ds.ju"; jv: "ds.jv"; jw: "ds.jw"; jx: "ds.jx"; jy: "ds.jy"; jz: "ds.jz"; ka: "ds.ka"; kb: "ds.kb"; kc: "ds.kc"; kd: "ds.kd"; ke: "ds.ke"; kf: "ds.kf"; kg: "ds.kg"; kh: "ds.kh"; ki: "ds.ki"; kj: "ds.kj"; kk: "ds.kk"; kl: "ds.kl"; km: "ds.km"; kn: "ds.kn"; ko: "ds.ko"; kp: "ds.kp"; kq: "ds.kq"; kr: "ds.kr"; ks: "ds.ks"; kt: "ds.kt"; ku: "ds.ku"; kv: "ds.kv"; kw: "ds.kw"; kx: "ds.kx"; ky: "ds.ky"; kz: "ds.kz"; la: "ds.la"; lb: "ds.lb"; lc: "ds.lc"; ld: "ds.ld"; le: "ds.le"; lf: "ds.lf"; lg: "ds.lg"; lh: "ds.lh"; li: "ds.li"; lj: "ds.lj"; lk: "ds.lk"; ll: "ds.ll"; lm: "ds.lm"; ln: "ds.ln"; lo: "ds.lo"; lp: "ds.lp"; lq: "ds.lq"; lr: "ds.lr"; ls: "ds.ls"; lt: "ds.lt"; lu: "ds.lu"; lv: "ds.lv"; lw: "ds.lw"; lx: "ds.lx"; ly: "ds.ly"; lz: "ds.lz"; ma: "ds.ma"; mb: "ds.mb"; mc: "ds.mc"; md: "ds.md"; me: "ds.me"; mf: "ds.mf"; mg: "ds.mg"; mh: "ds.mh"; mi: "ds.mi"; mj: "ds.mj"; mk: "ds.mk"; ml: "ds.ml"; mm: "ds.mm"; mn: "ds.mn"; mo: "ds.mo"; mp: "ds.mp"; mq: "ds.mq"; mr: "ds.mr"; ms: "ds.ms"; mt: "ds.mt"; mu: "ds.mu"; mv: "ds.mv"; mw: "ds.mw"; mx: "ds.mx"; my: "ds.my"; mz: "ds.mz"; na: "ds.na"; nb: "ds.nb"; nc: "ds.nc"; nd: "ds.nd"; ne: "ds.ne"; nf: "ds.nf"; ng: "ds.ng"; nh: "ds.nh"; ni: "ds.ni"; nj: "ds.nj"; nk: "ds.nk"; nl: "ds.nl"; nm: "ds.nm"; nn: "ds.nn"; no: "ds.no"; np: "ds.np"; nq: "ds.nq"; nr: "ds.nr"; ns: "ds.ns"; nt: "ds.nt"; nu: "ds.nu"; nv: "ds.nv"; nw: "ds.nw"; nx: "ds.nx"; ny: "ds.ny"; nz: "ds.nz"; oa: "ds.oa"; ob: "ds.ob"; oc: "ds.oc"; od: "ds.od"; oe: "ds.oe"; of: "ds.of"; og: "ds.og"; oh: "ds.oh"; oi: "ds.oi"; oj: "ds.oj"; ok: "ds.ok"; ol: "ds.ol"; om: "ds.om"; on: "ds.on"; oo: "ds.oo"; op: "ds.op"; oq: "ds.oq"; or: "ds.or"; os: "ds.os"; ot: "ds.ot"; ou: "ds.ou"; ov: "ds.ov"; ow: "ds.ow"; ox: "ds.ox"; oy: "ds.oy"; oz: "ds.oz"; pa: "ds.pa"; pb: "ds.pb"; pc: "ds.pc"; pd: "ds.pd"; pe: "ds.pe"; pf: "ds.pf"; pg: "ds.pg"; ph: "ds.ph"; pi: "ds.pi"; pj: "ds.pj"; pk: "ds.pk"; pl: "ds.pl"; pm: "ds.pm"; pn: "ds.pn"; po: "ds.po"; pp: "ds.pp"; pq: "ds.pq"; pr: "ds.pr"; ps: "ds.ps"; pt: "ds.pt"; pu: "ds.pu"; pv: "ds.pv"; pw: "ds.pw"; px: "ds.px"; py: "ds.py"; pz: "ds.pz"; qa: "ds.qa"; qb: "ds.qb"; qc: "ds.qc"; qd: "ds.qd"; qe: "ds.qe"; qf: "ds.qf"; qg: "ds.qg"; qh: "ds.qh"; qi: "ds.qi"; qj: "ds.qj"; qk: "ds.qk"; ql: "ds.ql"; qm: "ds.qm"; qn: "ds.qn"; qo: "ds.qo"; qp: "ds.qp"; qq: "ds.qq"; qr: "ds.qr"; qs: "ds.qs"; qt: "ds.qt"; qu: "ds.qu"; qv: "ds.qv"; qw: "ds.qw"; qx: "ds.qx"; qy: "ds.qy"; qz: "ds.qz"; ra: "ds.ra"; rb: "ds.rb"; rc: "ds.rc"; rd: "ds.rd"; re: "ds.re"; rf: "ds.rf"; rg: "ds.rg"; rh: "ds.rh"; ri: "ds.ri"; rj: "ds.rj"; rk: "ds.rk"; rl: "ds.rl"; rm: "ds.rm"; rn: "ds.rn"; ro: "ds.ro"; rp: "ds.rp"; rq: "ds.rq"; rr: "ds.rr"; rs: "ds.rs"; rt: "ds.rt"; ru: "ds.ru"; rv: "ds.rv"; rw: "ds.rw"; rx: "ds.rx"; ry: "ds.ry"; rz: "ds.rz"; sa: "ds.sa"; sb: "ds.sb"; sc: "ds.sc"; sd: "ds.sd"; se: "ds.se"; sf: "ds.sf"; sg: "ds.sg"; sh: "ds.sh"; si: "ds.si"; sj: "ds.sj"; sk: "ds.sk"; sl: "ds.sl"; sm: "ds.sm"; sn: "ds.sn"; so: "ds.so"; sp: "ds.sp"; sq: "ds.sq"; sr: "ds.sr"; ss: "ds.ss"; st: "ds.st"; su: "ds.su"; sv: "ds.sv"; sw: "ds.sw"; sx: "ds.sx"; sy: "ds.sy"; sz: "ds.sz"; ta: "ds.ta"; tb: "ds.tb"; tc: "ds.tc"; td: "ds.td"; te: "ds.te"; tf: "ds.tf"; tg: "ds.tg"; th: "ds.th"; ti: "ds.ti"; tj: "ds.tj"; tk: "ds.tk"; tl: "ds.tl"; tm: "ds.tm"; tn: "ds.tn"; to: "ds.to"; tp: "ds.tp"; tq: "ds.tq"; tr: "ds.tr"; ts: "ds.ts"; tt: "ds.tt"; tu: "ds.tu"; tv: "ds.tv"; tw: "ds.tw"; tx: "ds.tx"; ty: "ds.ty"; tz: "ds.tz"; ua: "ds.ua"; ub: "ds.ub"; uc: "ds.uc"; ud: "ds.ud"; ue: "ds.ue"; uf: "ds.uf"; ug: "ds.ug"; uh: "ds.uh"; ui: "ds.ui"; uj: "ds.uj"; uk: "ds.uk"; ul: "ds.ul"; um: "ds.um"; un: "ds.un"; uo: "ds.uo"; up: "ds.up"; uq: "ds.uq"; ur: "ds.ur"; us: "ds.us"; ut: "ds.ut"; uu: "ds.uu"; uv: "ds.uv"; uw: "ds.uw"; ux: "ds.ux"; uy: "ds.uy"; uz: "ds.uz"; va: "ds.va"; vb: "ds.vb"; vc: "ds.vc"; vd: "ds.vd"; ve: "ds.ve"; vf: "ds.vf"; vg: "ds.vg"; vh: "ds.vh"; vi: "ds.vi"; vj: "ds.vj"; vk: "ds.vk"; vl: "ds.vl"; vm: "ds.vm"; vn: "ds.vn"; vo: "ds.vo"; vp: "ds.vp"; vq: "ds.vq"; vr: "ds.vr"; vs: "ds.vs"; vt: "ds.vt"; vu: "ds.vu"; vv: "ds.vv"; vw: "ds.vw"; vx: "ds.vx"; vy: "ds.vy"; vz: "ds.vz"; wa: "ds.wa"; wb: "ds.wb"; wc: "ds.wc"; wd: "ds.wd"; we: "ds.we"; wf: "ds.wf"; wg: "ds.wg"; wh: "ds.wh"; wi: "ds.wi"; wj: "ds.wj"; wk: "ds.wk"; wl: "ds.wl"; wm: "ds.wm"; wn: "ds.wn"; wo: "ds.wo"; wp: "ds.wp"; wq: "ds.wq"; wr: "ds.wr"; ws: "ds.ws"; wt: "ds.wt"; wu: "ds.wu"; wv: "ds.wv"; ww: "ds.ww"; wx: "ds.wx"; wy: "ds.wy"; wz: "ds.wz"; xa: "ds.xa"; xb: "ds.xb"; xc: "ds.xc"; xd: "ds.xd"; xe: "ds.xe"; xf: "ds.xf"; xg: "ds.xg"; xh: "ds.xh"; xi: "ds.xi"; xj: "ds.xj"; xk: "ds.xk"; xl: "ds.xl"; xm: "ds.xm"; xn: "ds.xn"; xo: "ds.xo"; xp: "ds.xp"; xq: "ds.xq"; xr: "ds.xr"; xs: "ds.xs"; xt: "ds.xt"; xu: "ds.xu"; xv: "ds.xv"; xw: "ds.xw"; xx: "ds.xx"; xy: "ds.xy"; xz: "ds.xz"; ya: "ds.ya"; yb: "ds.yb"; yc: "ds.yc"; yd: "ds.yd"; ye: "ds.ye"; yf: "ds.yf"; yg: "ds.yg"; yh: "ds.yh"; yi: "ds.yi"; yj: "ds.yj"; yk: "ds.yk"; yl: "ds.yl"; ym: "ds.ym"; yn: "ds.yn"; yo: "ds.yo"; yp: "ds.yp"; yq: "ds.yq"; yr: "ds.yr"; ys: "ds.ys"; yt: "ds.yt"; yu: "ds.yu"; yv: "ds.yv"; yw: "ds.yw"; yx: "ds.yx"; yy: "ds.yy"; yz: "ds.yz"; za: "ds.za"; zb: "ds.zb"; zc: "ds.zc"; zd: "ds.zd"; ze: "ds.ze"; zf: "ds.zf"; zg: "ds.zg"; zh: "ds.zh"; zi: "ds.zi"; zj: "ds.zj"; zk: "ds.zk"; zl: "ds.zl"; zm: "ds.zm"; zn: "ds.zn"; zo: "ds.zo"; zp: "ds.zp"; zq: "ds.zq"; zr: "ds.zr"; zs: "ds.zs"; zt: "ds.zt"; zu: "ds.zu"; zv: "ds.zv"; zw: "ds.zw"; zx: "ds.zx"; zy: "ds.zy"; zz: "ds.zz"; }; dt: { aa: "dt.aa"; ab: "dt.ab"; ac: "dt.ac"; ad: "dt.ad"; ae: "dt.ae"; af: "dt.af"; ag: "dt.ag"; ah: "dt.ah"; ai: "dt.ai"; aj: "dt.aj"; ak: "dt.ak"; al: "dt.al"; am: "dt.am"; an: "dt.an"; ao: "dt.ao"; ap: "dt.ap"; aq: "dt.aq"; ar: "dt.ar"; as: "dt.as"; at: "dt.at"; au: "dt.au"; av: "dt.av"; aw: "dt.aw"; ax: "dt.ax"; ay: "dt.ay"; az: "dt.az"; ba: "dt.ba"; bb: "dt.bb"; bc: "dt.bc"; bd: "dt.bd"; be: "dt.be"; bf: "dt.bf"; bg: "dt.bg"; bh: "dt.bh"; bi: "dt.bi"; bj: "dt.bj"; bk: "dt.bk"; bl: "dt.bl"; bm: "dt.bm"; bn: "dt.bn"; bo: "dt.bo"; bp: "dt.bp"; bq: "dt.bq"; br: "dt.br"; bs: "dt.bs"; bt: "dt.bt"; bu: "dt.bu"; bv: "dt.bv"; bw: "dt.bw"; bx: "dt.bx"; by: "dt.by"; bz: "dt.bz"; ca: "dt.ca"; cb: "dt.cb"; cc: "dt.cc"; cd: "dt.cd"; ce: "dt.ce"; cf: "dt.cf"; cg: "dt.cg"; ch: "dt.ch"; ci: "dt.ci"; cj: "dt.cj"; ck: "dt.ck"; cl: "dt.cl"; cm: "dt.cm"; cn: "dt.cn"; co: "dt.co"; cp: "dt.cp"; cq: "dt.cq"; cr: "dt.cr"; cs: "dt.cs"; ct: "dt.ct"; cu: "dt.cu"; cv: "dt.cv"; cw: "dt.cw"; cx: "dt.cx"; cy: "dt.cy"; cz: "dt.cz"; da: "dt.da"; db: "dt.db"; dc: "dt.dc"; dd: "dt.dd"; de: "dt.de"; df: "dt.df"; dg: "dt.dg"; dh: "dt.dh"; di: "dt.di"; dj: "dt.dj"; dk: "dt.dk"; dl: "dt.dl"; dm: "dt.dm"; dn: "dt.dn"; do: "dt.do"; dp: "dt.dp"; dq: "dt.dq"; dr: "dt.dr"; ds: "dt.ds"; dt: "dt.dt"; du: "dt.du"; dv: "dt.dv"; dw: "dt.dw"; dx: "dt.dx"; dy: "dt.dy"; dz: "dt.dz"; ea: "dt.ea"; eb: "dt.eb"; ec: "dt.ec"; ed: "dt.ed"; ee: "dt.ee"; ef: "dt.ef"; eg: "dt.eg"; eh: "dt.eh"; ei: "dt.ei"; ej: "dt.ej"; ek: "dt.ek"; el: "dt.el"; em: "dt.em"; en: "dt.en"; eo: "dt.eo"; ep: "dt.ep"; eq: "dt.eq"; er: "dt.er"; es: "dt.es"; et: "dt.et"; eu: "dt.eu"; ev: "dt.ev"; ew: "dt.ew"; ex: "dt.ex"; ey: "dt.ey"; ez: "dt.ez"; fa: "dt.fa"; fb: "dt.fb"; fc: "dt.fc"; fd: "dt.fd"; fe: "dt.fe"; ff: "dt.ff"; fg: "dt.fg"; fh: "dt.fh"; fi: "dt.fi"; fj: "dt.fj"; fk: "dt.fk"; fl: "dt.fl"; fm: "dt.fm"; fn: "dt.fn"; fo: "dt.fo"; fp: "dt.fp"; fq: "dt.fq"; fr: "dt.fr"; fs: "dt.fs"; ft: "dt.ft"; fu: "dt.fu"; fv: "dt.fv"; fw: "dt.fw"; fx: "dt.fx"; fy: "dt.fy"; fz: "dt.fz"; ga: "dt.ga"; gb: "dt.gb"; gc: "dt.gc"; gd: "dt.gd"; ge: "dt.ge"; gf: "dt.gf"; gg: "dt.gg"; gh: "dt.gh"; gi: "dt.gi"; gj: "dt.gj"; gk: "dt.gk"; gl: "dt.gl"; gm: "dt.gm"; gn: "dt.gn"; go: "dt.go"; gp: "dt.gp"; gq: "dt.gq"; gr: "dt.gr"; gs: "dt.gs"; gt: "dt.gt"; gu: "dt.gu"; gv: "dt.gv"; gw: "dt.gw"; gx: "dt.gx"; gy: "dt.gy"; gz: "dt.gz"; ha: "dt.ha"; hb: "dt.hb"; hc: "dt.hc"; hd: "dt.hd"; he: "dt.he"; hf: "dt.hf"; hg: "dt.hg"; hh: "dt.hh"; hi: "dt.hi"; hj: "dt.hj"; hk: "dt.hk"; hl: "dt.hl"; hm: "dt.hm"; hn: "dt.hn"; ho: "dt.ho"; hp: "dt.hp"; hq: "dt.hq"; hr: "dt.hr"; hs: "dt.hs"; ht: "dt.ht"; hu: "dt.hu"; hv: "dt.hv"; hw: "dt.hw"; hx: "dt.hx"; hy: "dt.hy"; hz: "dt.hz"; ia: "dt.ia"; ib: "dt.ib"; ic: "dt.ic"; id: "dt.id"; ie: "dt.ie"; if: "dt.if"; ig: "dt.ig"; ih: "dt.ih"; ii: "dt.ii"; ij: "dt.ij"; ik: "dt.ik"; il: "dt.il"; im: "dt.im"; in: "dt.in"; io: "dt.io"; ip: "dt.ip"; iq: "dt.iq"; ir: "dt.ir"; is: "dt.is"; it: "dt.it"; iu: "dt.iu"; iv: "dt.iv"; iw: "dt.iw"; ix: "dt.ix"; iy: "dt.iy"; iz: "dt.iz"; ja: "dt.ja"; jb: "dt.jb"; jc: "dt.jc"; jd: "dt.jd"; je: "dt.je"; jf: "dt.jf"; jg: "dt.jg"; jh: "dt.jh"; ji: "dt.ji"; jj: "dt.jj"; jk: "dt.jk"; jl: "dt.jl"; jm: "dt.jm"; jn: "dt.jn"; jo: "dt.jo"; jp: "dt.jp"; jq: "dt.jq"; jr: "dt.jr"; js: "dt.js"; jt: "dt.jt"; ju: "dt.ju"; jv: "dt.jv"; jw: "dt.jw"; jx: "dt.jx"; jy: "dt.jy"; jz: "dt.jz"; ka: "dt.ka"; kb: "dt.kb"; kc: "dt.kc"; kd: "dt.kd"; ke: "dt.ke"; kf: "dt.kf"; kg: "dt.kg"; kh: "dt.kh"; ki: "dt.ki"; kj: "dt.kj"; kk: "dt.kk"; kl: "dt.kl"; km: "dt.km"; kn: "dt.kn"; ko: "dt.ko"; kp: "dt.kp"; kq: "dt.kq"; kr: "dt.kr"; ks: "dt.ks"; kt: "dt.kt"; ku: "dt.ku"; kv: "dt.kv"; kw: "dt.kw"; kx: "dt.kx"; ky: "dt.ky"; kz: "dt.kz"; la: "dt.la"; lb: "dt.lb"; lc: "dt.lc"; ld: "dt.ld"; le: "dt.le"; lf: "dt.lf"; lg: "dt.lg"; lh: "dt.lh"; li: "dt.li"; lj: "dt.lj"; lk: "dt.lk"; ll: "dt.ll"; lm: "dt.lm"; ln: "dt.ln"; lo: "dt.lo"; lp: "dt.lp"; lq: "dt.lq"; lr: "dt.lr"; ls: "dt.ls"; lt: "dt.lt"; lu: "dt.lu"; lv: "dt.lv"; lw: "dt.lw"; lx: "dt.lx"; ly: "dt.ly"; lz: "dt.lz"; ma: "dt.ma"; mb: "dt.mb"; mc: "dt.mc"; md: "dt.md"; me: "dt.me"; mf: "dt.mf"; mg: "dt.mg"; mh: "dt.mh"; mi: "dt.mi"; mj: "dt.mj"; mk: "dt.mk"; ml: "dt.ml"; mm: "dt.mm"; mn: "dt.mn"; mo: "dt.mo"; mp: "dt.mp"; mq: "dt.mq"; mr: "dt.mr"; ms: "dt.ms"; mt: "dt.mt"; mu: "dt.mu"; mv: "dt.mv"; mw: "dt.mw"; mx: "dt.mx"; my: "dt.my"; mz: "dt.mz"; na: "dt.na"; nb: "dt.nb"; nc: "dt.nc"; nd: "dt.nd"; ne: "dt.ne"; nf: "dt.nf"; ng: "dt.ng"; nh: "dt.nh"; ni: "dt.ni"; nj: "dt.nj"; nk: "dt.nk"; nl: "dt.nl"; nm: "dt.nm"; nn: "dt.nn"; no: "dt.no"; np: "dt.np"; nq: "dt.nq"; nr: "dt.nr"; ns: "dt.ns"; nt: "dt.nt"; nu: "dt.nu"; nv: "dt.nv"; nw: "dt.nw"; nx: "dt.nx"; ny: "dt.ny"; nz: "dt.nz"; oa: "dt.oa"; ob: "dt.ob"; oc: "dt.oc"; od: "dt.od"; oe: "dt.oe"; of: "dt.of"; og: "dt.og"; oh: "dt.oh"; oi: "dt.oi"; oj: "dt.oj"; ok: "dt.ok"; ol: "dt.ol"; om: "dt.om"; on: "dt.on"; oo: "dt.oo"; op: "dt.op"; oq: "dt.oq"; or: "dt.or"; os: "dt.os"; ot: "dt.ot"; ou: "dt.ou"; ov: "dt.ov"; ow: "dt.ow"; ox: "dt.ox"; oy: "dt.oy"; oz: "dt.oz"; pa: "dt.pa"; pb: "dt.pb"; pc: "dt.pc"; pd: "dt.pd"; pe: "dt.pe"; pf: "dt.pf"; pg: "dt.pg"; ph: "dt.ph"; pi: "dt.pi"; pj: "dt.pj"; pk: "dt.pk"; pl: "dt.pl"; pm: "dt.pm"; pn: "dt.pn"; po: "dt.po"; pp: "dt.pp"; pq: "dt.pq"; pr: "dt.pr"; ps: "dt.ps"; pt: "dt.pt"; pu: "dt.pu"; pv: "dt.pv"; pw: "dt.pw"; px: "dt.px"; py: "dt.py"; pz: "dt.pz"; qa: "dt.qa"; qb: "dt.qb"; qc: "dt.qc"; qd: "dt.qd"; qe: "dt.qe"; qf: "dt.qf"; qg: "dt.qg"; qh: "dt.qh"; qi: "dt.qi"; qj: "dt.qj"; qk: "dt.qk"; ql: "dt.ql"; qm: "dt.qm"; qn: "dt.qn"; qo: "dt.qo"; qp: "dt.qp"; qq: "dt.qq"; qr: "dt.qr"; qs: "dt.qs"; qt: "dt.qt"; qu: "dt.qu"; qv: "dt.qv"; qw: "dt.qw"; qx: "dt.qx"; qy: "dt.qy"; qz: "dt.qz"; ra: "dt.ra"; rb: "dt.rb"; rc: "dt.rc"; rd: "dt.rd"; re: "dt.re"; rf: "dt.rf"; rg: "dt.rg"; rh: "dt.rh"; ri: "dt.ri"; rj: "dt.rj"; rk: "dt.rk"; rl: "dt.rl"; rm: "dt.rm"; rn: "dt.rn"; ro: "dt.ro"; rp: "dt.rp"; rq: "dt.rq"; rr: "dt.rr"; rs: "dt.rs"; rt: "dt.rt"; ru: "dt.ru"; rv: "dt.rv"; rw: "dt.rw"; rx: "dt.rx"; ry: "dt.ry"; rz: "dt.rz"; sa: "dt.sa"; sb: "dt.sb"; sc: "dt.sc"; sd: "dt.sd"; se: "dt.se"; sf: "dt.sf"; sg: "dt.sg"; sh: "dt.sh"; si: "dt.si"; sj: "dt.sj"; sk: "dt.sk"; sl: "dt.sl"; sm: "dt.sm"; sn: "dt.sn"; so: "dt.so"; sp: "dt.sp"; sq: "dt.sq"; sr: "dt.sr"; ss: "dt.ss"; st: "dt.st"; su: "dt.su"; sv: "dt.sv"; sw: "dt.sw"; sx: "dt.sx"; sy: "dt.sy"; sz: "dt.sz"; ta: "dt.ta"; tb: "dt.tb"; tc: "dt.tc"; td: "dt.td"; te: "dt.te"; tf: "dt.tf"; tg: "dt.tg"; th: "dt.th"; ti: "dt.ti"; tj: "dt.tj"; tk: "dt.tk"; tl: "dt.tl"; tm: "dt.tm"; tn: "dt.tn"; to: "dt.to"; tp: "dt.tp"; tq: "dt.tq"; tr: "dt.tr"; ts: "dt.ts"; tt: "dt.tt"; tu: "dt.tu"; tv: "dt.tv"; tw: "dt.tw"; tx: "dt.tx"; ty: "dt.ty"; tz: "dt.tz"; ua: "dt.ua"; ub: "dt.ub"; uc: "dt.uc"; ud: "dt.ud"; ue: "dt.ue"; uf: "dt.uf"; ug: "dt.ug"; uh: "dt.uh"; ui: "dt.ui"; uj: "dt.uj"; uk: "dt.uk"; ul: "dt.ul"; um: "dt.um"; un: "dt.un"; uo: "dt.uo"; up: "dt.up"; uq: "dt.uq"; ur: "dt.ur"; us: "dt.us"; ut: "dt.ut"; uu: "dt.uu"; uv: "dt.uv"; uw: "dt.uw"; ux: "dt.ux"; uy: "dt.uy"; uz: "dt.uz"; va: "dt.va"; vb: "dt.vb"; vc: "dt.vc"; vd: "dt.vd"; ve: "dt.ve"; vf: "dt.vf"; vg: "dt.vg"; vh: "dt.vh"; vi: "dt.vi"; vj: "dt.vj"; vk: "dt.vk"; vl: "dt.vl"; vm: "dt.vm"; vn: "dt.vn"; vo: "dt.vo"; vp: "dt.vp"; vq: "dt.vq"; vr: "dt.vr"; vs: "dt.vs"; vt: "dt.vt"; vu: "dt.vu"; vv: "dt.vv"; vw: "dt.vw"; vx: "dt.vx"; vy: "dt.vy"; vz: "dt.vz"; wa: "dt.wa"; wb: "dt.wb"; wc: "dt.wc"; wd: "dt.wd"; we: "dt.we"; wf: "dt.wf"; wg: "dt.wg"; wh: "dt.wh"; wi: "dt.wi"; wj: "dt.wj"; wk: "dt.wk"; wl: "dt.wl"; wm: "dt.wm"; wn: "dt.wn"; wo: "dt.wo"; wp: "dt.wp"; wq: "dt.wq"; wr: "dt.wr"; ws: "dt.ws"; wt: "dt.wt"; wu: "dt.wu"; wv: "dt.wv"; ww: "dt.ww"; wx: "dt.wx"; wy: "dt.wy"; wz: "dt.wz"; xa: "dt.xa"; xb: "dt.xb"; xc: "dt.xc"; xd: "dt.xd"; xe: "dt.xe"; xf: "dt.xf"; xg: "dt.xg"; xh: "dt.xh"; xi: "dt.xi"; xj: "dt.xj"; xk: "dt.xk"; xl: "dt.xl"; xm: "dt.xm"; xn: "dt.xn"; xo: "dt.xo"; xp: "dt.xp"; xq: "dt.xq"; xr: "dt.xr"; xs: "dt.xs"; xt: "dt.xt"; xu: "dt.xu"; xv: "dt.xv"; xw: "dt.xw"; xx: "dt.xx"; xy: "dt.xy"; xz: "dt.xz"; ya: "dt.ya"; yb: "dt.yb"; yc: "dt.yc"; yd: "dt.yd"; ye: "dt.ye"; yf: "dt.yf"; yg: "dt.yg"; yh: "dt.yh"; yi: "dt.yi"; yj: "dt.yj"; yk: "dt.yk"; yl: "dt.yl"; ym: "dt.ym"; yn: "dt.yn"; yo: "dt.yo"; yp: "dt.yp"; yq: "dt.yq"; yr: "dt.yr"; ys: "dt.ys"; yt: "dt.yt"; yu: "dt.yu"; yv: "dt.yv"; yw: "dt.yw"; yx: "dt.yx"; yy: "dt.yy"; yz: "dt.yz"; za: "dt.za"; zb: "dt.zb"; zc: "dt.zc"; zd: "dt.zd"; ze: "dt.ze"; zf: "dt.zf"; zg: "dt.zg"; zh: "dt.zh"; zi: "dt.zi"; zj: "dt.zj"; zk: "dt.zk"; zl: "dt.zl"; zm: "dt.zm"; zn: "dt.zn"; zo: "dt.zo"; zp: "dt.zp"; zq: "dt.zq"; zr: "dt.zr"; zs: "dt.zs"; zt: "dt.zt"; zu: "dt.zu"; zv: "dt.zv"; zw: "dt.zw"; zx: "dt.zx"; zy: "dt.zy"; zz: "dt.zz"; }; du: { aa: "du.aa"; ab: "du.ab"; ac: "du.ac"; ad: "du.ad"; ae: "du.ae"; af: "du.af"; ag: "du.ag"; ah: "du.ah"; ai: "du.ai"; aj: "du.aj"; ak: "du.ak"; al: "du.al"; am: "du.am"; an: "du.an"; ao: "du.ao"; ap: "du.ap"; aq: "du.aq"; ar: "du.ar"; as: "du.as"; at: "du.at"; au: "du.au"; av: "du.av"; aw: "du.aw"; ax: "du.ax"; ay: "du.ay"; az: "du.az"; ba: "du.ba"; bb: "du.bb"; bc: "du.bc"; bd: "du.bd"; be: "du.be"; bf: "du.bf"; bg: "du.bg"; bh: "du.bh"; bi: "du.bi"; bj: "du.bj"; bk: "du.bk"; bl: "du.bl"; bm: "du.bm"; bn: "du.bn"; bo: "du.bo"; bp: "du.bp"; bq: "du.bq"; br: "du.br"; bs: "du.bs"; bt: "du.bt"; bu: "du.bu"; bv: "du.bv"; bw: "du.bw"; bx: "du.bx"; by: "du.by"; bz: "du.bz"; ca: "du.ca"; cb: "du.cb"; cc: "du.cc"; cd: "du.cd"; ce: "du.ce"; cf: "du.cf"; cg: "du.cg"; ch: "du.ch"; ci: "du.ci"; cj: "du.cj"; ck: "du.ck"; cl: "du.cl"; cm: "du.cm"; cn: "du.cn"; co: "du.co"; cp: "du.cp"; cq: "du.cq"; cr: "du.cr"; cs: "du.cs"; ct: "du.ct"; cu: "du.cu"; cv: "du.cv"; cw: "du.cw"; cx: "du.cx"; cy: "du.cy"; cz: "du.cz"; da: "du.da"; db: "du.db"; dc: "du.dc"; dd: "du.dd"; de: "du.de"; df: "du.df"; dg: "du.dg"; dh: "du.dh"; di: "du.di"; dj: "du.dj"; dk: "du.dk"; dl: "du.dl"; dm: "du.dm"; dn: "du.dn"; do: "du.do"; dp: "du.dp"; dq: "du.dq"; dr: "du.dr"; ds: "du.ds"; dt: "du.dt"; du: "du.du"; dv: "du.dv"; dw: "du.dw"; dx: "du.dx"; dy: "du.dy"; dz: "du.dz"; ea: "du.ea"; eb: "du.eb"; ec: "du.ec"; ed: "du.ed"; ee: "du.ee"; ef: "du.ef"; eg: "du.eg"; eh: "du.eh"; ei: "du.ei"; ej: "du.ej"; ek: "du.ek"; el: "du.el"; em: "du.em"; en: "du.en"; eo: "du.eo"; ep: "du.ep"; eq: "du.eq"; er: "du.er"; es: "du.es"; et: "du.et"; eu: "du.eu"; ev: "du.ev"; ew: "du.ew"; ex: "du.ex"; ey: "du.ey"; ez: "du.ez"; fa: "du.fa"; fb: "du.fb"; fc: "du.fc"; fd: "du.fd"; fe: "du.fe"; ff: "du.ff"; fg: "du.fg"; fh: "du.fh"; fi: "du.fi"; fj: "du.fj"; fk: "du.fk"; fl: "du.fl"; fm: "du.fm"; fn: "du.fn"; fo: "du.fo"; fp: "du.fp"; fq: "du.fq"; fr: "du.fr"; fs: "du.fs"; ft: "du.ft"; fu: "du.fu"; fv: "du.fv"; fw: "du.fw"; fx: "du.fx"; fy: "du.fy"; fz: "du.fz"; ga: "du.ga"; gb: "du.gb"; gc: "du.gc"; gd: "du.gd"; ge: "du.ge"; gf: "du.gf"; gg: "du.gg"; gh: "du.gh"; gi: "du.gi"; gj: "du.gj"; gk: "du.gk"; gl: "du.gl"; gm: "du.gm"; gn: "du.gn"; go: "du.go"; gp: "du.gp"; gq: "du.gq"; gr: "du.gr"; gs: "du.gs"; gt: "du.gt"; gu: "du.gu"; gv: "du.gv"; gw: "du.gw"; gx: "du.gx"; gy: "du.gy"; gz: "du.gz"; ha: "du.ha"; hb: "du.hb"; hc: "du.hc"; hd: "du.hd"; he: "du.he"; hf: "du.hf"; hg: "du.hg"; hh: "du.hh"; hi: "du.hi"; hj: "du.hj"; hk: "du.hk"; hl: "du.hl"; hm: "du.hm"; hn: "du.hn"; ho: "du.ho"; hp: "du.hp"; hq: "du.hq"; hr: "du.hr"; hs: "du.hs"; ht: "du.ht"; hu: "du.hu"; hv: "du.hv"; hw: "du.hw"; hx: "du.hx"; hy: "du.hy"; hz: "du.hz"; ia: "du.ia"; ib: "du.ib"; ic: "du.ic"; id: "du.id"; ie: "du.ie"; if: "du.if"; ig: "du.ig"; ih: "du.ih"; ii: "du.ii"; ij: "du.ij"; ik: "du.ik"; il: "du.il"; im: "du.im"; in: "du.in"; io: "du.io"; ip: "du.ip"; iq: "du.iq"; ir: "du.ir"; is: "du.is"; it: "du.it"; iu: "du.iu"; iv: "du.iv"; iw: "du.iw"; ix: "du.ix"; iy: "du.iy"; iz: "du.iz"; ja: "du.ja"; jb: "du.jb"; jc: "du.jc"; jd: "du.jd"; je: "du.je"; jf: "du.jf"; jg: "du.jg"; jh: "du.jh"; ji: "du.ji"; jj: "du.jj"; jk: "du.jk"; jl: "du.jl"; jm: "du.jm"; jn: "du.jn"; jo: "du.jo"; jp: "du.jp"; jq: "du.jq"; jr: "du.jr"; js: "du.js"; jt: "du.jt"; ju: "du.ju"; jv: "du.jv"; jw: "du.jw"; jx: "du.jx"; jy: "du.jy"; jz: "du.jz"; ka: "du.ka"; kb: "du.kb"; kc: "du.kc"; kd: "du.kd"; ke: "du.ke"; kf: "du.kf"; kg: "du.kg"; kh: "du.kh"; ki: "du.ki"; kj: "du.kj"; kk: "du.kk"; kl: "du.kl"; km: "du.km"; kn: "du.kn"; ko: "du.ko"; kp: "du.kp"; kq: "du.kq"; kr: "du.kr"; ks: "du.ks"; kt: "du.kt"; ku: "du.ku"; kv: "du.kv"; kw: "du.kw"; kx: "du.kx"; ky: "du.ky"; kz: "du.kz"; la: "du.la"; lb: "du.lb"; lc: "du.lc"; ld: "du.ld"; le: "du.le"; lf: "du.lf"; lg: "du.lg"; lh: "du.lh"; li: "du.li"; lj: "du.lj"; lk: "du.lk"; ll: "du.ll"; lm: "du.lm"; ln: "du.ln"; lo: "du.lo"; lp: "du.lp"; lq: "du.lq"; lr: "du.lr"; ls: "du.ls"; lt: "du.lt"; lu: "du.lu"; lv: "du.lv"; lw: "du.lw"; lx: "du.lx"; ly: "du.ly"; lz: "du.lz"; ma: "du.ma"; mb: "du.mb"; mc: "du.mc"; md: "du.md"; me: "du.me"; mf: "du.mf"; mg: "du.mg"; mh: "du.mh"; mi: "du.mi"; mj: "du.mj"; mk: "du.mk"; ml: "du.ml"; mm: "du.mm"; mn: "du.mn"; mo: "du.mo"; mp: "du.mp"; mq: "du.mq"; mr: "du.mr"; ms: "du.ms"; mt: "du.mt"; mu: "du.mu"; mv: "du.mv"; mw: "du.mw"; mx: "du.mx"; my: "du.my"; mz: "du.mz"; na: "du.na"; nb: "du.nb"; nc: "du.nc"; nd: "du.nd"; ne: "du.ne"; nf: "du.nf"; ng: "du.ng"; nh: "du.nh"; ni: "du.ni"; nj: "du.nj"; nk: "du.nk"; nl: "du.nl"; nm: "du.nm"; nn: "du.nn"; no: "du.no"; np: "du.np"; nq: "du.nq"; nr: "du.nr"; ns: "du.ns"; nt: "du.nt"; nu: "du.nu"; nv: "du.nv"; nw: "du.nw"; nx: "du.nx"; ny: "du.ny"; nz: "du.nz"; oa: "du.oa"; ob: "du.ob"; oc: "du.oc"; od: "du.od"; oe: "du.oe"; of: "du.of"; og: "du.og"; oh: "du.oh"; oi: "du.oi"; oj: "du.oj"; ok: "du.ok"; ol: "du.ol"; om: "du.om"; on: "du.on"; oo: "du.oo"; op: "du.op"; oq: "du.oq"; or: "du.or"; os: "du.os"; ot: "du.ot"; ou: "du.ou"; ov: "du.ov"; ow: "du.ow"; ox: "du.ox"; oy: "du.oy"; oz: "du.oz"; pa: "du.pa"; pb: "du.pb"; pc: "du.pc"; pd: "du.pd"; pe: "du.pe"; pf: "du.pf"; pg: "du.pg"; ph: "du.ph"; pi: "du.pi"; pj: "du.pj"; pk: "du.pk"; pl: "du.pl"; pm: "du.pm"; pn: "du.pn"; po: "du.po"; pp: "du.pp"; pq: "du.pq"; pr: "du.pr"; ps: "du.ps"; pt: "du.pt"; pu: "du.pu"; pv: "du.pv"; pw: "du.pw"; px: "du.px"; py: "du.py"; pz: "du.pz"; qa: "du.qa"; qb: "du.qb"; qc: "du.qc"; qd: "du.qd"; qe: "du.qe"; qf: "du.qf"; qg: "du.qg"; qh: "du.qh"; qi: "du.qi"; qj: "du.qj"; qk: "du.qk"; ql: "du.ql"; qm: "du.qm"; qn: "du.qn"; qo: "du.qo"; qp: "du.qp"; qq: "du.qq"; qr: "du.qr"; qs: "du.qs"; qt: "du.qt"; qu: "du.qu"; qv: "du.qv"; qw: "du.qw"; qx: "du.qx"; qy: "du.qy"; qz: "du.qz"; ra: "du.ra"; rb: "du.rb"; rc: "du.rc"; rd: "du.rd"; re: "du.re"; rf: "du.rf"; rg: "du.rg"; rh: "du.rh"; ri: "du.ri"; rj: "du.rj"; rk: "du.rk"; rl: "du.rl"; rm: "du.rm"; rn: "du.rn"; ro: "du.ro"; rp: "du.rp"; rq: "du.rq"; rr: "du.rr"; rs: "du.rs"; rt: "du.rt"; ru: "du.ru"; rv: "du.rv"; rw: "du.rw"; rx: "du.rx"; ry: "du.ry"; rz: "du.rz"; sa: "du.sa"; sb: "du.sb"; sc: "du.sc"; sd: "du.sd"; se: "du.se"; sf: "du.sf"; sg: "du.sg"; sh: "du.sh"; si: "du.si"; sj: "du.sj"; sk: "du.sk"; sl: "du.sl"; sm: "du.sm"; sn: "du.sn"; so: "du.so"; sp: "du.sp"; sq: "du.sq"; sr: "du.sr"; ss: "du.ss"; st: "du.st"; su: "du.su"; sv: "du.sv"; sw: "du.sw"; sx: "du.sx"; sy: "du.sy"; sz: "du.sz"; ta: "du.ta"; tb: "du.tb"; tc: "du.tc"; td: "du.td"; te: "du.te"; tf: "du.tf"; tg: "du.tg"; th: "du.th"; ti: "du.ti"; tj: "du.tj"; tk: "du.tk"; tl: "du.tl"; tm: "du.tm"; tn: "du.tn"; to: "du.to"; tp: "du.tp"; tq: "du.tq"; tr: "du.tr"; ts: "du.ts"; tt: "du.tt"; tu: "du.tu"; tv: "du.tv"; tw: "du.tw"; tx: "du.tx"; ty: "du.ty"; tz: "du.tz"; ua: "du.ua"; ub: "du.ub"; uc: "du.uc"; ud: "du.ud"; ue: "du.ue"; uf: "du.uf"; ug: "du.ug"; uh: "du.uh"; ui: "du.ui"; uj: "du.uj"; uk: "du.uk"; ul: "du.ul"; um: "du.um"; un: "du.un"; uo: "du.uo"; up: "du.up"; uq: "du.uq"; ur: "du.ur"; us: "du.us"; ut: "du.ut"; uu: "du.uu"; uv: "du.uv"; uw: "du.uw"; ux: "du.ux"; uy: "du.uy"; uz: "du.uz"; va: "du.va"; vb: "du.vb"; vc: "du.vc"; vd: "du.vd"; ve: "du.ve"; vf: "du.vf"; vg: "du.vg"; vh: "du.vh"; vi: "du.vi"; vj: "du.vj"; vk: "du.vk"; vl: "du.vl"; vm: "du.vm"; vn: "du.vn"; vo: "du.vo"; vp: "du.vp"; vq: "du.vq"; vr: "du.vr"; vs: "du.vs"; vt: "du.vt"; vu: "du.vu"; vv: "du.vv"; vw: "du.vw"; vx: "du.vx"; vy: "du.vy"; vz: "du.vz"; wa: "du.wa"; wb: "du.wb"; wc: "du.wc"; wd: "du.wd"; we: "du.we"; wf: "du.wf"; wg: "du.wg"; wh: "du.wh"; wi: "du.wi"; wj: "du.wj"; wk: "du.wk"; wl: "du.wl"; wm: "du.wm"; wn: "du.wn"; wo: "du.wo"; wp: "du.wp"; wq: "du.wq"; wr: "du.wr"; ws: "du.ws"; wt: "du.wt"; wu: "du.wu"; wv: "du.wv"; ww: "du.ww"; wx: "du.wx"; wy: "du.wy"; wz: "du.wz"; xa: "du.xa"; xb: "du.xb"; xc: "du.xc"; xd: "du.xd"; xe: "du.xe"; xf: "du.xf"; xg: "du.xg"; xh: "du.xh"; xi: "du.xi"; xj: "du.xj"; xk: "du.xk"; xl: "du.xl"; xm: "du.xm"; xn: "du.xn"; xo: "du.xo"; xp: "du.xp"; xq: "du.xq"; xr: "du.xr"; xs: "du.xs"; xt: "du.xt"; xu: "du.xu"; xv: "du.xv"; xw: "du.xw"; xx: "du.xx"; xy: "du.xy"; xz: "du.xz"; ya: "du.ya"; yb: "du.yb"; yc: "du.yc"; yd: "du.yd"; ye: "du.ye"; yf: "du.yf"; yg: "du.yg"; yh: "du.yh"; yi: "du.yi"; yj: "du.yj"; yk: "du.yk"; yl: "du.yl"; ym: "du.ym"; yn: "du.yn"; yo: "du.yo"; yp: "du.yp"; yq: "du.yq"; yr: "du.yr"; ys: "du.ys"; yt: "du.yt"; yu: "du.yu"; yv: "du.yv"; yw: "du.yw"; yx: "du.yx"; yy: "du.yy"; yz: "du.yz"; za: "du.za"; zb: "du.zb"; zc: "du.zc"; zd: "du.zd"; ze: "du.ze"; zf: "du.zf"; zg: "du.zg"; zh: "du.zh"; zi: "du.zi"; zj: "du.zj"; zk: "du.zk"; zl: "du.zl"; zm: "du.zm"; zn: "du.zn"; zo: "du.zo"; zp: "du.zp"; zq: "du.zq"; zr: "du.zr"; zs: "du.zs"; zt: "du.zt"; zu: "du.zu"; zv: "du.zv"; zw: "du.zw"; zx: "du.zx"; zy: "du.zy"; zz: "du.zz"; }; dv: { aa: "dv.aa"; ab: "dv.ab"; ac: "dv.ac"; ad: "dv.ad"; ae: "dv.ae"; af: "dv.af"; ag: "dv.ag"; ah: "dv.ah"; ai: "dv.ai"; aj: "dv.aj"; ak: "dv.ak"; al: "dv.al"; am: "dv.am"; an: "dv.an"; ao: "dv.ao"; ap: "dv.ap"; aq: "dv.aq"; ar: "dv.ar"; as: "dv.as"; at: "dv.at"; au: "dv.au"; av: "dv.av"; aw: "dv.aw"; ax: "dv.ax"; ay: "dv.ay"; az: "dv.az"; ba: "dv.ba"; bb: "dv.bb"; bc: "dv.bc"; bd: "dv.bd"; be: "dv.be"; bf: "dv.bf"; bg: "dv.bg"; bh: "dv.bh"; bi: "dv.bi"; bj: "dv.bj"; bk: "dv.bk"; bl: "dv.bl"; bm: "dv.bm"; bn: "dv.bn"; bo: "dv.bo"; bp: "dv.bp"; bq: "dv.bq"; br: "dv.br"; bs: "dv.bs"; bt: "dv.bt"; bu: "dv.bu"; bv: "dv.bv"; bw: "dv.bw"; bx: "dv.bx"; by: "dv.by"; bz: "dv.bz"; ca: "dv.ca"; cb: "dv.cb"; cc: "dv.cc"; cd: "dv.cd"; ce: "dv.ce"; cf: "dv.cf"; cg: "dv.cg"; ch: "dv.ch"; ci: "dv.ci"; cj: "dv.cj"; ck: "dv.ck"; cl: "dv.cl"; cm: "dv.cm"; cn: "dv.cn"; co: "dv.co"; cp: "dv.cp"; cq: "dv.cq"; cr: "dv.cr"; cs: "dv.cs"; ct: "dv.ct"; cu: "dv.cu"; cv: "dv.cv"; cw: "dv.cw"; cx: "dv.cx"; cy: "dv.cy"; cz: "dv.cz"; da: "dv.da"; db: "dv.db"; dc: "dv.dc"; dd: "dv.dd"; de: "dv.de"; df: "dv.df"; dg: "dv.dg"; dh: "dv.dh"; di: "dv.di"; dj: "dv.dj"; dk: "dv.dk"; dl: "dv.dl"; dm: "dv.dm"; dn: "dv.dn"; do: "dv.do"; dp: "dv.dp"; dq: "dv.dq"; dr: "dv.dr"; ds: "dv.ds"; dt: "dv.dt"; du: "dv.du"; dv: "dv.dv"; dw: "dv.dw"; dx: "dv.dx"; dy: "dv.dy"; dz: "dv.dz"; ea: "dv.ea"; eb: "dv.eb"; ec: "dv.ec"; ed: "dv.ed"; ee: "dv.ee"; ef: "dv.ef"; eg: "dv.eg"; eh: "dv.eh"; ei: "dv.ei"; ej: "dv.ej"; ek: "dv.ek"; el: "dv.el"; em: "dv.em"; en: "dv.en"; eo: "dv.eo"; ep: "dv.ep"; eq: "dv.eq"; er: "dv.er"; es: "dv.es"; et: "dv.et"; eu: "dv.eu"; ev: "dv.ev"; ew: "dv.ew"; ex: "dv.ex"; ey: "dv.ey"; ez: "dv.ez"; fa: "dv.fa"; fb: "dv.fb"; fc: "dv.fc"; fd: "dv.fd"; fe: "dv.fe"; ff: "dv.ff"; fg: "dv.fg"; fh: "dv.fh"; fi: "dv.fi"; fj: "dv.fj"; fk: "dv.fk"; fl: "dv.fl"; fm: "dv.fm"; fn: "dv.fn"; fo: "dv.fo"; fp: "dv.fp"; fq: "dv.fq"; fr: "dv.fr"; fs: "dv.fs"; ft: "dv.ft"; fu: "dv.fu"; fv: "dv.fv"; fw: "dv.fw"; fx: "dv.fx"; fy: "dv.fy"; fz: "dv.fz"; ga: "dv.ga"; gb: "dv.gb"; gc: "dv.gc"; gd: "dv.gd"; ge: "dv.ge"; gf: "dv.gf"; gg: "dv.gg"; gh: "dv.gh"; gi: "dv.gi"; gj: "dv.gj"; gk: "dv.gk"; gl: "dv.gl"; gm: "dv.gm"; gn: "dv.gn"; go: "dv.go"; gp: "dv.gp"; gq: "dv.gq"; gr: "dv.gr"; gs: "dv.gs"; gt: "dv.gt"; gu: "dv.gu"; gv: "dv.gv"; gw: "dv.gw"; gx: "dv.gx"; gy: "dv.gy"; gz: "dv.gz"; ha: "dv.ha"; hb: "dv.hb"; hc: "dv.hc"; hd: "dv.hd"; he: "dv.he"; hf: "dv.hf"; hg: "dv.hg"; hh: "dv.hh"; hi: "dv.hi"; hj: "dv.hj"; hk: "dv.hk"; hl: "dv.hl"; hm: "dv.hm"; hn: "dv.hn"; ho: "dv.ho"; hp: "dv.hp"; hq: "dv.hq"; hr: "dv.hr"; hs: "dv.hs"; ht: "dv.ht"; hu: "dv.hu"; hv: "dv.hv"; hw: "dv.hw"; hx: "dv.hx"; hy: "dv.hy"; hz: "dv.hz"; ia: "dv.ia"; ib: "dv.ib"; ic: "dv.ic"; id: "dv.id"; ie: "dv.ie"; if: "dv.if"; ig: "dv.ig"; ih: "dv.ih"; ii: "dv.ii"; ij: "dv.ij"; ik: "dv.ik"; il: "dv.il"; im: "dv.im"; in: "dv.in"; io: "dv.io"; ip: "dv.ip"; iq: "dv.iq"; ir: "dv.ir"; is: "dv.is"; it: "dv.it"; iu: "dv.iu"; iv: "dv.iv"; iw: "dv.iw"; ix: "dv.ix"; iy: "dv.iy"; iz: "dv.iz"; ja: "dv.ja"; jb: "dv.jb"; jc: "dv.jc"; jd: "dv.jd"; je: "dv.je"; jf: "dv.jf"; jg: "dv.jg"; jh: "dv.jh"; ji: "dv.ji"; jj: "dv.jj"; jk: "dv.jk"; jl: "dv.jl"; jm: "dv.jm"; jn: "dv.jn"; jo: "dv.jo"; jp: "dv.jp"; jq: "dv.jq"; jr: "dv.jr"; js: "dv.js"; jt: "dv.jt"; ju: "dv.ju"; jv: "dv.jv"; jw: "dv.jw"; jx: "dv.jx"; jy: "dv.jy"; jz: "dv.jz"; ka: "dv.ka"; kb: "dv.kb"; kc: "dv.kc"; kd: "dv.kd"; ke: "dv.ke"; kf: "dv.kf"; kg: "dv.kg"; kh: "dv.kh"; ki: "dv.ki"; kj: "dv.kj"; kk: "dv.kk"; kl: "dv.kl"; km: "dv.km"; kn: "dv.kn"; ko: "dv.ko"; kp: "dv.kp"; kq: "dv.kq"; kr: "dv.kr"; ks: "dv.ks"; kt: "dv.kt"; ku: "dv.ku"; kv: "dv.kv"; kw: "dv.kw"; kx: "dv.kx"; ky: "dv.ky"; kz: "dv.kz"; la: "dv.la"; lb: "dv.lb"; lc: "dv.lc"; ld: "dv.ld"; le: "dv.le"; lf: "dv.lf"; lg: "dv.lg"; lh: "dv.lh"; li: "dv.li"; lj: "dv.lj"; lk: "dv.lk"; ll: "dv.ll"; lm: "dv.lm"; ln: "dv.ln"; lo: "dv.lo"; lp: "dv.lp"; lq: "dv.lq"; lr: "dv.lr"; ls: "dv.ls"; lt: "dv.lt"; lu: "dv.lu"; lv: "dv.lv"; lw: "dv.lw"; lx: "dv.lx"; ly: "dv.ly"; lz: "dv.lz"; ma: "dv.ma"; mb: "dv.mb"; mc: "dv.mc"; md: "dv.md"; me: "dv.me"; mf: "dv.mf"; mg: "dv.mg"; mh: "dv.mh"; mi: "dv.mi"; mj: "dv.mj"; mk: "dv.mk"; ml: "dv.ml"; mm: "dv.mm"; mn: "dv.mn"; mo: "dv.mo"; mp: "dv.mp"; mq: "dv.mq"; mr: "dv.mr"; ms: "dv.ms"; mt: "dv.mt"; mu: "dv.mu"; mv: "dv.mv"; mw: "dv.mw"; mx: "dv.mx"; my: "dv.my"; mz: "dv.mz"; na: "dv.na"; nb: "dv.nb"; nc: "dv.nc"; nd: "dv.nd"; ne: "dv.ne"; nf: "dv.nf"; ng: "dv.ng"; nh: "dv.nh"; ni: "dv.ni"; nj: "dv.nj"; nk: "dv.nk"; nl: "dv.nl"; nm: "dv.nm"; nn: "dv.nn"; no: "dv.no"; np: "dv.np"; nq: "dv.nq"; nr: "dv.nr"; ns: "dv.ns"; nt: "dv.nt"; nu: "dv.nu"; nv: "dv.nv"; nw: "dv.nw"; nx: "dv.nx"; ny: "dv.ny"; nz: "dv.nz"; oa: "dv.oa"; ob: "dv.ob"; oc: "dv.oc"; od: "dv.od"; oe: "dv.oe"; of: "dv.of"; og: "dv.og"; oh: "dv.oh"; oi: "dv.oi"; oj: "dv.oj"; ok: "dv.ok"; ol: "dv.ol"; om: "dv.om"; on: "dv.on"; oo: "dv.oo"; op: "dv.op"; oq: "dv.oq"; or: "dv.or"; os: "dv.os"; ot: "dv.ot"; ou: "dv.ou"; ov: "dv.ov"; ow: "dv.ow"; ox: "dv.ox"; oy: "dv.oy"; oz: "dv.oz"; pa: "dv.pa"; pb: "dv.pb"; pc: "dv.pc"; pd: "dv.pd"; pe: "dv.pe"; pf: "dv.pf"; pg: "dv.pg"; ph: "dv.ph"; pi: "dv.pi"; pj: "dv.pj"; pk: "dv.pk"; pl: "dv.pl"; pm: "dv.pm"; pn: "dv.pn"; po: "dv.po"; pp: "dv.pp"; pq: "dv.pq"; pr: "dv.pr"; ps: "dv.ps"; pt: "dv.pt"; pu: "dv.pu"; pv: "dv.pv"; pw: "dv.pw"; px: "dv.px"; py: "dv.py"; pz: "dv.pz"; qa: "dv.qa"; qb: "dv.qb"; qc: "dv.qc"; qd: "dv.qd"; qe: "dv.qe"; qf: "dv.qf"; qg: "dv.qg"; qh: "dv.qh"; qi: "dv.qi"; qj: "dv.qj"; qk: "dv.qk"; ql: "dv.ql"; qm: "dv.qm"; qn: "dv.qn"; qo: "dv.qo"; qp: "dv.qp"; qq: "dv.qq"; qr: "dv.qr"; qs: "dv.qs"; qt: "dv.qt"; qu: "dv.qu"; qv: "dv.qv"; qw: "dv.qw"; qx: "dv.qx"; qy: "dv.qy"; qz: "dv.qz"; ra: "dv.ra"; rb: "dv.rb"; rc: "dv.rc"; rd: "dv.rd"; re: "dv.re"; rf: "dv.rf"; rg: "dv.rg"; rh: "dv.rh"; ri: "dv.ri"; rj: "dv.rj"; rk: "dv.rk"; rl: "dv.rl"; rm: "dv.rm"; rn: "dv.rn"; ro: "dv.ro"; rp: "dv.rp"; rq: "dv.rq"; rr: "dv.rr"; rs: "dv.rs"; rt: "dv.rt"; ru: "dv.ru"; rv: "dv.rv"; rw: "dv.rw"; rx: "dv.rx"; ry: "dv.ry"; rz: "dv.rz"; sa: "dv.sa"; sb: "dv.sb"; sc: "dv.sc"; sd: "dv.sd"; se: "dv.se"; sf: "dv.sf"; sg: "dv.sg"; sh: "dv.sh"; si: "dv.si"; sj: "dv.sj"; sk: "dv.sk"; sl: "dv.sl"; sm: "dv.sm"; sn: "dv.sn"; so: "dv.so"; sp: "dv.sp"; sq: "dv.sq"; sr: "dv.sr"; ss: "dv.ss"; st: "dv.st"; su: "dv.su"; sv: "dv.sv"; sw: "dv.sw"; sx: "dv.sx"; sy: "dv.sy"; sz: "dv.sz"; ta: "dv.ta"; tb: "dv.tb"; tc: "dv.tc"; td: "dv.td"; te: "dv.te"; tf: "dv.tf"; tg: "dv.tg"; th: "dv.th"; ti: "dv.ti"; tj: "dv.tj"; tk: "dv.tk"; tl: "dv.tl"; tm: "dv.tm"; tn: "dv.tn"; to: "dv.to"; tp: "dv.tp"; tq: "dv.tq"; tr: "dv.tr"; ts: "dv.ts"; tt: "dv.tt"; tu: "dv.tu"; tv: "dv.tv"; tw: "dv.tw"; tx: "dv.tx"; ty: "dv.ty"; tz: "dv.tz"; ua: "dv.ua"; ub: "dv.ub"; uc: "dv.uc"; ud: "dv.ud"; ue: "dv.ue"; uf: "dv.uf"; ug: "dv.ug"; uh: "dv.uh"; ui: "dv.ui"; uj: "dv.uj"; uk: "dv.uk"; ul: "dv.ul"; um: "dv.um"; un: "dv.un"; uo: "dv.uo"; up: "dv.up"; uq: "dv.uq"; ur: "dv.ur"; us: "dv.us"; ut: "dv.ut"; uu: "dv.uu"; uv: "dv.uv"; uw: "dv.uw"; ux: "dv.ux"; uy: "dv.uy"; uz: "dv.uz"; va: "dv.va"; vb: "dv.vb"; vc: "dv.vc"; vd: "dv.vd"; ve: "dv.ve"; vf: "dv.vf"; vg: "dv.vg"; vh: "dv.vh"; vi: "dv.vi"; vj: "dv.vj"; vk: "dv.vk"; vl: "dv.vl"; vm: "dv.vm"; vn: "dv.vn"; vo: "dv.vo"; vp: "dv.vp"; vq: "dv.vq"; vr: "dv.vr"; vs: "dv.vs"; vt: "dv.vt"; vu: "dv.vu"; vv: "dv.vv"; vw: "dv.vw"; vx: "dv.vx"; vy: "dv.vy"; vz: "dv.vz"; wa: "dv.wa"; wb: "dv.wb"; wc: "dv.wc"; wd: "dv.wd"; we: "dv.we"; wf: "dv.wf"; wg: "dv.wg"; wh: "dv.wh"; wi: "dv.wi"; wj: "dv.wj"; wk: "dv.wk"; wl: "dv.wl"; wm: "dv.wm"; wn: "dv.wn"; wo: "dv.wo"; wp: "dv.wp"; wq: "dv.wq"; wr: "dv.wr"; ws: "dv.ws"; wt: "dv.wt"; wu: "dv.wu"; wv: "dv.wv"; ww: "dv.ww"; wx: "dv.wx"; wy: "dv.wy"; wz: "dv.wz"; xa: "dv.xa"; xb: "dv.xb"; xc: "dv.xc"; xd: "dv.xd"; xe: "dv.xe"; xf: "dv.xf"; xg: "dv.xg"; xh: "dv.xh"; xi: "dv.xi"; xj: "dv.xj"; xk: "dv.xk"; xl: "dv.xl"; xm: "dv.xm"; xn: "dv.xn"; xo: "dv.xo"; xp: "dv.xp"; xq: "dv.xq"; xr: "dv.xr"; xs: "dv.xs"; xt: "dv.xt"; xu: "dv.xu"; xv: "dv.xv"; xw: "dv.xw"; xx: "dv.xx"; xy: "dv.xy"; xz: "dv.xz"; ya: "dv.ya"; yb: "dv.yb"; yc: "dv.yc"; yd: "dv.yd"; ye: "dv.ye"; yf: "dv.yf"; yg: "dv.yg"; yh: "dv.yh"; yi: "dv.yi"; yj: "dv.yj"; yk: "dv.yk"; yl: "dv.yl"; ym: "dv.ym"; yn: "dv.yn"; yo: "dv.yo"; yp: "dv.yp"; yq: "dv.yq"; yr: "dv.yr"; ys: "dv.ys"; yt: "dv.yt"; yu: "dv.yu"; yv: "dv.yv"; yw: "dv.yw"; yx: "dv.yx"; yy: "dv.yy"; yz: "dv.yz"; za: "dv.za"; zb: "dv.zb"; zc: "dv.zc"; zd: "dv.zd"; ze: "dv.ze"; zf: "dv.zf"; zg: "dv.zg"; zh: "dv.zh"; zi: "dv.zi"; zj: "dv.zj"; zk: "dv.zk"; zl: "dv.zl"; zm: "dv.zm"; zn: "dv.zn"; zo: "dv.zo"; zp: "dv.zp"; zq: "dv.zq"; zr: "dv.zr"; zs: "dv.zs"; zt: "dv.zt"; zu: "dv.zu"; zv: "dv.zv"; zw: "dv.zw"; zx: "dv.zx"; zy: "dv.zy"; zz: "dv.zz"; }; dw: { aa: "dw.aa"; ab: "dw.ab"; ac: "dw.ac"; ad: "dw.ad"; ae: "dw.ae"; af: "dw.af"; ag: "dw.ag"; ah: "dw.ah"; ai: "dw.ai"; aj: "dw.aj"; ak: "dw.ak"; al: "dw.al"; am: "dw.am"; an: "dw.an"; ao: "dw.ao"; ap: "dw.ap"; aq: "dw.aq"; ar: "dw.ar"; as: "dw.as"; at: "dw.at"; au: "dw.au"; av: "dw.av"; aw: "dw.aw"; ax: "dw.ax"; ay: "dw.ay"; az: "dw.az"; ba: "dw.ba"; bb: "dw.bb"; bc: "dw.bc"; bd: "dw.bd"; be: "dw.be"; bf: "dw.bf"; bg: "dw.bg"; bh: "dw.bh"; bi: "dw.bi"; bj: "dw.bj"; bk: "dw.bk"; bl: "dw.bl"; bm: "dw.bm"; bn: "dw.bn"; bo: "dw.bo"; bp: "dw.bp"; bq: "dw.bq"; br: "dw.br"; bs: "dw.bs"; bt: "dw.bt"; bu: "dw.bu"; bv: "dw.bv"; bw: "dw.bw"; bx: "dw.bx"; by: "dw.by"; bz: "dw.bz"; ca: "dw.ca"; cb: "dw.cb"; cc: "dw.cc"; cd: "dw.cd"; ce: "dw.ce"; cf: "dw.cf"; cg: "dw.cg"; ch: "dw.ch"; ci: "dw.ci"; cj: "dw.cj"; ck: "dw.ck"; cl: "dw.cl"; cm: "dw.cm"; cn: "dw.cn"; co: "dw.co"; cp: "dw.cp"; cq: "dw.cq"; cr: "dw.cr"; cs: "dw.cs"; ct: "dw.ct"; cu: "dw.cu"; cv: "dw.cv"; cw: "dw.cw"; cx: "dw.cx"; cy: "dw.cy"; cz: "dw.cz"; da: "dw.da"; db: "dw.db"; dc: "dw.dc"; dd: "dw.dd"; de: "dw.de"; df: "dw.df"; dg: "dw.dg"; dh: "dw.dh"; di: "dw.di"; dj: "dw.dj"; dk: "dw.dk"; dl: "dw.dl"; dm: "dw.dm"; dn: "dw.dn"; do: "dw.do"; dp: "dw.dp"; dq: "dw.dq"; dr: "dw.dr"; ds: "dw.ds"; dt: "dw.dt"; du: "dw.du"; dv: "dw.dv"; dw: "dw.dw"; dx: "dw.dx"; dy: "dw.dy"; dz: "dw.dz"; ea: "dw.ea"; eb: "dw.eb"; ec: "dw.ec"; ed: "dw.ed"; ee: "dw.ee"; ef: "dw.ef"; eg: "dw.eg"; eh: "dw.eh"; ei: "dw.ei"; ej: "dw.ej"; ek: "dw.ek"; el: "dw.el"; em: "dw.em"; en: "dw.en"; eo: "dw.eo"; ep: "dw.ep"; eq: "dw.eq"; er: "dw.er"; es: "dw.es"; et: "dw.et"; eu: "dw.eu"; ev: "dw.ev"; ew: "dw.ew"; ex: "dw.ex"; ey: "dw.ey"; ez: "dw.ez"; fa: "dw.fa"; fb: "dw.fb"; fc: "dw.fc"; fd: "dw.fd"; fe: "dw.fe"; ff: "dw.ff"; fg: "dw.fg"; fh: "dw.fh"; fi: "dw.fi"; fj: "dw.fj"; fk: "dw.fk"; fl: "dw.fl"; fm: "dw.fm"; fn: "dw.fn"; fo: "dw.fo"; fp: "dw.fp"; fq: "dw.fq"; fr: "dw.fr"; fs: "dw.fs"; ft: "dw.ft"; fu: "dw.fu"; fv: "dw.fv"; fw: "dw.fw"; fx: "dw.fx"; fy: "dw.fy"; fz: "dw.fz"; ga: "dw.ga"; gb: "dw.gb"; gc: "dw.gc"; gd: "dw.gd"; ge: "dw.ge"; gf: "dw.gf"; gg: "dw.gg"; gh: "dw.gh"; gi: "dw.gi"; gj: "dw.gj"; gk: "dw.gk"; gl: "dw.gl"; gm: "dw.gm"; gn: "dw.gn"; go: "dw.go"; gp: "dw.gp"; gq: "dw.gq"; gr: "dw.gr"; gs: "dw.gs"; gt: "dw.gt"; gu: "dw.gu"; gv: "dw.gv"; gw: "dw.gw"; gx: "dw.gx"; gy: "dw.gy"; gz: "dw.gz"; ha: "dw.ha"; hb: "dw.hb"; hc: "dw.hc"; hd: "dw.hd"; he: "dw.he"; hf: "dw.hf"; hg: "dw.hg"; hh: "dw.hh"; hi: "dw.hi"; hj: "dw.hj"; hk: "dw.hk"; hl: "dw.hl"; hm: "dw.hm"; hn: "dw.hn"; ho: "dw.ho"; hp: "dw.hp"; hq: "dw.hq"; hr: "dw.hr"; hs: "dw.hs"; ht: "dw.ht"; hu: "dw.hu"; hv: "dw.hv"; hw: "dw.hw"; hx: "dw.hx"; hy: "dw.hy"; hz: "dw.hz"; ia: "dw.ia"; ib: "dw.ib"; ic: "dw.ic"; id: "dw.id"; ie: "dw.ie"; if: "dw.if"; ig: "dw.ig"; ih: "dw.ih"; ii: "dw.ii"; ij: "dw.ij"; ik: "dw.ik"; il: "dw.il"; im: "dw.im"; in: "dw.in"; io: "dw.io"; ip: "dw.ip"; iq: "dw.iq"; ir: "dw.ir"; is: "dw.is"; it: "dw.it"; iu: "dw.iu"; iv: "dw.iv"; iw: "dw.iw"; ix: "dw.ix"; iy: "dw.iy"; iz: "dw.iz"; ja: "dw.ja"; jb: "dw.jb"; jc: "dw.jc"; jd: "dw.jd"; je: "dw.je"; jf: "dw.jf"; jg: "dw.jg"; jh: "dw.jh"; ji: "dw.ji"; jj: "dw.jj"; jk: "dw.jk"; jl: "dw.jl"; jm: "dw.jm"; jn: "dw.jn"; jo: "dw.jo"; jp: "dw.jp"; jq: "dw.jq"; jr: "dw.jr"; js: "dw.js"; jt: "dw.jt"; ju: "dw.ju"; jv: "dw.jv"; jw: "dw.jw"; jx: "dw.jx"; jy: "dw.jy"; jz: "dw.jz"; ka: "dw.ka"; kb: "dw.kb"; kc: "dw.kc"; kd: "dw.kd"; ke: "dw.ke"; kf: "dw.kf"; kg: "dw.kg"; kh: "dw.kh"; ki: "dw.ki"; kj: "dw.kj"; kk: "dw.kk"; kl: "dw.kl"; km: "dw.km"; kn: "dw.kn"; ko: "dw.ko"; kp: "dw.kp"; kq: "dw.kq"; kr: "dw.kr"; ks: "dw.ks"; kt: "dw.kt"; ku: "dw.ku"; kv: "dw.kv"; kw: "dw.kw"; kx: "dw.kx"; ky: "dw.ky"; kz: "dw.kz"; la: "dw.la"; lb: "dw.lb"; lc: "dw.lc"; ld: "dw.ld"; le: "dw.le"; lf: "dw.lf"; lg: "dw.lg"; lh: "dw.lh"; li: "dw.li"; lj: "dw.lj"; lk: "dw.lk"; ll: "dw.ll"; lm: "dw.lm"; ln: "dw.ln"; lo: "dw.lo"; lp: "dw.lp"; lq: "dw.lq"; lr: "dw.lr"; ls: "dw.ls"; lt: "dw.lt"; lu: "dw.lu"; lv: "dw.lv"; lw: "dw.lw"; lx: "dw.lx"; ly: "dw.ly"; lz: "dw.lz"; ma: "dw.ma"; mb: "dw.mb"; mc: "dw.mc"; md: "dw.md"; me: "dw.me"; mf: "dw.mf"; mg: "dw.mg"; mh: "dw.mh"; mi: "dw.mi"; mj: "dw.mj"; mk: "dw.mk"; ml: "dw.ml"; mm: "dw.mm"; mn: "dw.mn"; mo: "dw.mo"; mp: "dw.mp"; mq: "dw.mq"; mr: "dw.mr"; ms: "dw.ms"; mt: "dw.mt"; mu: "dw.mu"; mv: "dw.mv"; mw: "dw.mw"; mx: "dw.mx"; my: "dw.my"; mz: "dw.mz"; na: "dw.na"; nb: "dw.nb"; nc: "dw.nc"; nd: "dw.nd"; ne: "dw.ne"; nf: "dw.nf"; ng: "dw.ng"; nh: "dw.nh"; ni: "dw.ni"; nj: "dw.nj"; nk: "dw.nk"; nl: "dw.nl"; nm: "dw.nm"; nn: "dw.nn"; no: "dw.no"; np: "dw.np"; nq: "dw.nq"; nr: "dw.nr"; ns: "dw.ns"; nt: "dw.nt"; nu: "dw.nu"; nv: "dw.nv"; nw: "dw.nw"; nx: "dw.nx"; ny: "dw.ny"; nz: "dw.nz"; oa: "dw.oa"; ob: "dw.ob"; oc: "dw.oc"; od: "dw.od"; oe: "dw.oe"; of: "dw.of"; og: "dw.og"; oh: "dw.oh"; oi: "dw.oi"; oj: "dw.oj"; ok: "dw.ok"; ol: "dw.ol"; om: "dw.om"; on: "dw.on"; oo: "dw.oo"; op: "dw.op"; oq: "dw.oq"; or: "dw.or"; os: "dw.os"; ot: "dw.ot"; ou: "dw.ou"; ov: "dw.ov"; ow: "dw.ow"; ox: "dw.ox"; oy: "dw.oy"; oz: "dw.oz"; pa: "dw.pa"; pb: "dw.pb"; pc: "dw.pc"; pd: "dw.pd"; pe: "dw.pe"; pf: "dw.pf"; pg: "dw.pg"; ph: "dw.ph"; pi: "dw.pi"; pj: "dw.pj"; pk: "dw.pk"; pl: "dw.pl"; pm: "dw.pm"; pn: "dw.pn"; po: "dw.po"; pp: "dw.pp"; pq: "dw.pq"; pr: "dw.pr"; ps: "dw.ps"; pt: "dw.pt"; pu: "dw.pu"; pv: "dw.pv"; pw: "dw.pw"; px: "dw.px"; py: "dw.py"; pz: "dw.pz"; qa: "dw.qa"; qb: "dw.qb"; qc: "dw.qc"; qd: "dw.qd"; qe: "dw.qe"; qf: "dw.qf"; qg: "dw.qg"; qh: "dw.qh"; qi: "dw.qi"; qj: "dw.qj"; qk: "dw.qk"; ql: "dw.ql"; qm: "dw.qm"; qn: "dw.qn"; qo: "dw.qo"; qp: "dw.qp"; qq: "dw.qq"; qr: "dw.qr"; qs: "dw.qs"; qt: "dw.qt"; qu: "dw.qu"; qv: "dw.qv"; qw: "dw.qw"; qx: "dw.qx"; qy: "dw.qy"; qz: "dw.qz"; ra: "dw.ra"; rb: "dw.rb"; rc: "dw.rc"; rd: "dw.rd"; re: "dw.re"; rf: "dw.rf"; rg: "dw.rg"; rh: "dw.rh"; ri: "dw.ri"; rj: "dw.rj"; rk: "dw.rk"; rl: "dw.rl"; rm: "dw.rm"; rn: "dw.rn"; ro: "dw.ro"; rp: "dw.rp"; rq: "dw.rq"; rr: "dw.rr"; rs: "dw.rs"; rt: "dw.rt"; ru: "dw.ru"; rv: "dw.rv"; rw: "dw.rw"; rx: "dw.rx"; ry: "dw.ry"; rz: "dw.rz"; sa: "dw.sa"; sb: "dw.sb"; sc: "dw.sc"; sd: "dw.sd"; se: "dw.se"; sf: "dw.sf"; sg: "dw.sg"; sh: "dw.sh"; si: "dw.si"; sj: "dw.sj"; sk: "dw.sk"; sl: "dw.sl"; sm: "dw.sm"; sn: "dw.sn"; so: "dw.so"; sp: "dw.sp"; sq: "dw.sq"; sr: "dw.sr"; ss: "dw.ss"; st: "dw.st"; su: "dw.su"; sv: "dw.sv"; sw: "dw.sw"; sx: "dw.sx"; sy: "dw.sy"; sz: "dw.sz"; ta: "dw.ta"; tb: "dw.tb"; tc: "dw.tc"; td: "dw.td"; te: "dw.te"; tf: "dw.tf"; tg: "dw.tg"; th: "dw.th"; ti: "dw.ti"; tj: "dw.tj"; tk: "dw.tk"; tl: "dw.tl"; tm: "dw.tm"; tn: "dw.tn"; to: "dw.to"; tp: "dw.tp"; tq: "dw.tq"; tr: "dw.tr"; ts: "dw.ts"; tt: "dw.tt"; tu: "dw.tu"; tv: "dw.tv"; tw: "dw.tw"; tx: "dw.tx"; ty: "dw.ty"; tz: "dw.tz"; ua: "dw.ua"; ub: "dw.ub"; uc: "dw.uc"; ud: "dw.ud"; ue: "dw.ue"; uf: "dw.uf"; ug: "dw.ug"; uh: "dw.uh"; ui: "dw.ui"; uj: "dw.uj"; uk: "dw.uk"; ul: "dw.ul"; um: "dw.um"; un: "dw.un"; uo: "dw.uo"; up: "dw.up"; uq: "dw.uq"; ur: "dw.ur"; us: "dw.us"; ut: "dw.ut"; uu: "dw.uu"; uv: "dw.uv"; uw: "dw.uw"; ux: "dw.ux"; uy: "dw.uy"; uz: "dw.uz"; va: "dw.va"; vb: "dw.vb"; vc: "dw.vc"; vd: "dw.vd"; ve: "dw.ve"; vf: "dw.vf"; vg: "dw.vg"; vh: "dw.vh"; vi: "dw.vi"; vj: "dw.vj"; vk: "dw.vk"; vl: "dw.vl"; vm: "dw.vm"; vn: "dw.vn"; vo: "dw.vo"; vp: "dw.vp"; vq: "dw.vq"; vr: "dw.vr"; vs: "dw.vs"; vt: "dw.vt"; vu: "dw.vu"; vv: "dw.vv"; vw: "dw.vw"; vx: "dw.vx"; vy: "dw.vy"; vz: "dw.vz"; wa: "dw.wa"; wb: "dw.wb"; wc: "dw.wc"; wd: "dw.wd"; we: "dw.we"; wf: "dw.wf"; wg: "dw.wg"; wh: "dw.wh"; wi: "dw.wi"; wj: "dw.wj"; wk: "dw.wk"; wl: "dw.wl"; wm: "dw.wm"; wn: "dw.wn"; wo: "dw.wo"; wp: "dw.wp"; wq: "dw.wq"; wr: "dw.wr"; ws: "dw.ws"; wt: "dw.wt"; wu: "dw.wu"; wv: "dw.wv"; ww: "dw.ww"; wx: "dw.wx"; wy: "dw.wy"; wz: "dw.wz"; xa: "dw.xa"; xb: "dw.xb"; xc: "dw.xc"; xd: "dw.xd"; xe: "dw.xe"; xf: "dw.xf"; xg: "dw.xg"; xh: "dw.xh"; xi: "dw.xi"; xj: "dw.xj"; xk: "dw.xk"; xl: "dw.xl"; xm: "dw.xm"; xn: "dw.xn"; xo: "dw.xo"; xp: "dw.xp"; xq: "dw.xq"; xr: "dw.xr"; xs: "dw.xs"; xt: "dw.xt"; xu: "dw.xu"; xv: "dw.xv"; xw: "dw.xw"; xx: "dw.xx"; xy: "dw.xy"; xz: "dw.xz"; ya: "dw.ya"; yb: "dw.yb"; yc: "dw.yc"; yd: "dw.yd"; ye: "dw.ye"; yf: "dw.yf"; yg: "dw.yg"; yh: "dw.yh"; yi: "dw.yi"; yj: "dw.yj"; yk: "dw.yk"; yl: "dw.yl"; ym: "dw.ym"; yn: "dw.yn"; yo: "dw.yo"; yp: "dw.yp"; yq: "dw.yq"; yr: "dw.yr"; ys: "dw.ys"; yt: "dw.yt"; yu: "dw.yu"; yv: "dw.yv"; yw: "dw.yw"; yx: "dw.yx"; yy: "dw.yy"; yz: "dw.yz"; za: "dw.za"; zb: "dw.zb"; zc: "dw.zc"; zd: "dw.zd"; ze: "dw.ze"; zf: "dw.zf"; zg: "dw.zg"; zh: "dw.zh"; zi: "dw.zi"; zj: "dw.zj"; zk: "dw.zk"; zl: "dw.zl"; zm: "dw.zm"; zn: "dw.zn"; zo: "dw.zo"; zp: "dw.zp"; zq: "dw.zq"; zr: "dw.zr"; zs: "dw.zs"; zt: "dw.zt"; zu: "dw.zu"; zv: "dw.zv"; zw: "dw.zw"; zx: "dw.zx"; zy: "dw.zy"; zz: "dw.zz"; }; dx: { aa: "dx.aa"; ab: "dx.ab"; ac: "dx.ac"; ad: "dx.ad"; ae: "dx.ae"; af: "dx.af"; ag: "dx.ag"; ah: "dx.ah"; ai: "dx.ai"; aj: "dx.aj"; ak: "dx.ak"; al: "dx.al"; am: "dx.am"; an: "dx.an"; ao: "dx.ao"; ap: "dx.ap"; aq: "dx.aq"; ar: "dx.ar"; as: "dx.as"; at: "dx.at"; au: "dx.au"; av: "dx.av"; aw: "dx.aw"; ax: "dx.ax"; ay: "dx.ay"; az: "dx.az"; ba: "dx.ba"; bb: "dx.bb"; bc: "dx.bc"; bd: "dx.bd"; be: "dx.be"; bf: "dx.bf"; bg: "dx.bg"; bh: "dx.bh"; bi: "dx.bi"; bj: "dx.bj"; bk: "dx.bk"; bl: "dx.bl"; bm: "dx.bm"; bn: "dx.bn"; bo: "dx.bo"; bp: "dx.bp"; bq: "dx.bq"; br: "dx.br"; bs: "dx.bs"; bt: "dx.bt"; bu: "dx.bu"; bv: "dx.bv"; bw: "dx.bw"; bx: "dx.bx"; by: "dx.by"; bz: "dx.bz"; ca: "dx.ca"; cb: "dx.cb"; cc: "dx.cc"; cd: "dx.cd"; ce: "dx.ce"; cf: "dx.cf"; cg: "dx.cg"; ch: "dx.ch"; ci: "dx.ci"; cj: "dx.cj"; ck: "dx.ck"; cl: "dx.cl"; cm: "dx.cm"; cn: "dx.cn"; co: "dx.co"; cp: "dx.cp"; cq: "dx.cq"; cr: "dx.cr"; cs: "dx.cs"; ct: "dx.ct"; cu: "dx.cu"; cv: "dx.cv"; cw: "dx.cw"; cx: "dx.cx"; cy: "dx.cy"; cz: "dx.cz"; da: "dx.da"; db: "dx.db"; dc: "dx.dc"; dd: "dx.dd"; de: "dx.de"; df: "dx.df"; dg: "dx.dg"; dh: "dx.dh"; di: "dx.di"; dj: "dx.dj"; dk: "dx.dk"; dl: "dx.dl"; dm: "dx.dm"; dn: "dx.dn"; do: "dx.do"; dp: "dx.dp"; dq: "dx.dq"; dr: "dx.dr"; ds: "dx.ds"; dt: "dx.dt"; du: "dx.du"; dv: "dx.dv"; dw: "dx.dw"; dx: "dx.dx"; dy: "dx.dy"; dz: "dx.dz"; ea: "dx.ea"; eb: "dx.eb"; ec: "dx.ec"; ed: "dx.ed"; ee: "dx.ee"; ef: "dx.ef"; eg: "dx.eg"; eh: "dx.eh"; ei: "dx.ei"; ej: "dx.ej"; ek: "dx.ek"; el: "dx.el"; em: "dx.em"; en: "dx.en"; eo: "dx.eo"; ep: "dx.ep"; eq: "dx.eq"; er: "dx.er"; es: "dx.es"; et: "dx.et"; eu: "dx.eu"; ev: "dx.ev"; ew: "dx.ew"; ex: "dx.ex"; ey: "dx.ey"; ez: "dx.ez"; fa: "dx.fa"; fb: "dx.fb"; fc: "dx.fc"; fd: "dx.fd"; fe: "dx.fe"; ff: "dx.ff"; fg: "dx.fg"; fh: "dx.fh"; fi: "dx.fi"; fj: "dx.fj"; fk: "dx.fk"; fl: "dx.fl"; fm: "dx.fm"; fn: "dx.fn"; fo: "dx.fo"; fp: "dx.fp"; fq: "dx.fq"; fr: "dx.fr"; fs: "dx.fs"; ft: "dx.ft"; fu: "dx.fu"; fv: "dx.fv"; fw: "dx.fw"; fx: "dx.fx"; fy: "dx.fy"; fz: "dx.fz"; ga: "dx.ga"; gb: "dx.gb"; gc: "dx.gc"; gd: "dx.gd"; ge: "dx.ge"; gf: "dx.gf"; gg: "dx.gg"; gh: "dx.gh"; gi: "dx.gi"; gj: "dx.gj"; gk: "dx.gk"; gl: "dx.gl"; gm: "dx.gm"; gn: "dx.gn"; go: "dx.go"; gp: "dx.gp"; gq: "dx.gq"; gr: "dx.gr"; gs: "dx.gs"; gt: "dx.gt"; gu: "dx.gu"; gv: "dx.gv"; gw: "dx.gw"; gx: "dx.gx"; gy: "dx.gy"; gz: "dx.gz"; ha: "dx.ha"; hb: "dx.hb"; hc: "dx.hc"; hd: "dx.hd"; he: "dx.he"; hf: "dx.hf"; hg: "dx.hg"; hh: "dx.hh"; hi: "dx.hi"; hj: "dx.hj"; hk: "dx.hk"; hl: "dx.hl"; hm: "dx.hm"; hn: "dx.hn"; ho: "dx.ho"; hp: "dx.hp"; hq: "dx.hq"; hr: "dx.hr"; hs: "dx.hs"; ht: "dx.ht"; hu: "dx.hu"; hv: "dx.hv"; hw: "dx.hw"; hx: "dx.hx"; hy: "dx.hy"; hz: "dx.hz"; ia: "dx.ia"; ib: "dx.ib"; ic: "dx.ic"; id: "dx.id"; ie: "dx.ie"; if: "dx.if"; ig: "dx.ig"; ih: "dx.ih"; ii: "dx.ii"; ij: "dx.ij"; ik: "dx.ik"; il: "dx.il"; im: "dx.im"; in: "dx.in"; io: "dx.io"; ip: "dx.ip"; iq: "dx.iq"; ir: "dx.ir"; is: "dx.is"; it: "dx.it"; iu: "dx.iu"; iv: "dx.iv"; iw: "dx.iw"; ix: "dx.ix"; iy: "dx.iy"; iz: "dx.iz"; ja: "dx.ja"; jb: "dx.jb"; jc: "dx.jc"; jd: "dx.jd"; je: "dx.je"; jf: "dx.jf"; jg: "dx.jg"; jh: "dx.jh"; ji: "dx.ji"; jj: "dx.jj"; jk: "dx.jk"; jl: "dx.jl"; jm: "dx.jm"; jn: "dx.jn"; jo: "dx.jo"; jp: "dx.jp"; jq: "dx.jq"; jr: "dx.jr"; js: "dx.js"; jt: "dx.jt"; ju: "dx.ju"; jv: "dx.jv"; jw: "dx.jw"; jx: "dx.jx"; jy: "dx.jy"; jz: "dx.jz"; ka: "dx.ka"; kb: "dx.kb"; kc: "dx.kc"; kd: "dx.kd"; ke: "dx.ke"; kf: "dx.kf"; kg: "dx.kg"; kh: "dx.kh"; ki: "dx.ki"; kj: "dx.kj"; kk: "dx.kk"; kl: "dx.kl"; km: "dx.km"; kn: "dx.kn"; ko: "dx.ko"; kp: "dx.kp"; kq: "dx.kq"; kr: "dx.kr"; ks: "dx.ks"; kt: "dx.kt"; ku: "dx.ku"; kv: "dx.kv"; kw: "dx.kw"; kx: "dx.kx"; ky: "dx.ky"; kz: "dx.kz"; la: "dx.la"; lb: "dx.lb"; lc: "dx.lc"; ld: "dx.ld"; le: "dx.le"; lf: "dx.lf"; lg: "dx.lg"; lh: "dx.lh"; li: "dx.li"; lj: "dx.lj"; lk: "dx.lk"; ll: "dx.ll"; lm: "dx.lm"; ln: "dx.ln"; lo: "dx.lo"; lp: "dx.lp"; lq: "dx.lq"; lr: "dx.lr"; ls: "dx.ls"; lt: "dx.lt"; lu: "dx.lu"; lv: "dx.lv"; lw: "dx.lw"; lx: "dx.lx"; ly: "dx.ly"; lz: "dx.lz"; ma: "dx.ma"; mb: "dx.mb"; mc: "dx.mc"; md: "dx.md"; me: "dx.me"; mf: "dx.mf"; mg: "dx.mg"; mh: "dx.mh"; mi: "dx.mi"; mj: "dx.mj"; mk: "dx.mk"; ml: "dx.ml"; mm: "dx.mm"; mn: "dx.mn"; mo: "dx.mo"; mp: "dx.mp"; mq: "dx.mq"; mr: "dx.mr"; ms: "dx.ms"; mt: "dx.mt"; mu: "dx.mu"; mv: "dx.mv"; mw: "dx.mw"; mx: "dx.mx"; my: "dx.my"; mz: "dx.mz"; na: "dx.na"; nb: "dx.nb"; nc: "dx.nc"; nd: "dx.nd"; ne: "dx.ne"; nf: "dx.nf"; ng: "dx.ng"; nh: "dx.nh"; ni: "dx.ni"; nj: "dx.nj"; nk: "dx.nk"; nl: "dx.nl"; nm: "dx.nm"; nn: "dx.nn"; no: "dx.no"; np: "dx.np"; nq: "dx.nq"; nr: "dx.nr"; ns: "dx.ns"; nt: "dx.nt"; nu: "dx.nu"; nv: "dx.nv"; nw: "dx.nw"; nx: "dx.nx"; ny: "dx.ny"; nz: "dx.nz"; oa: "dx.oa"; ob: "dx.ob"; oc: "dx.oc"; od: "dx.od"; oe: "dx.oe"; of: "dx.of"; og: "dx.og"; oh: "dx.oh"; oi: "dx.oi"; oj: "dx.oj"; ok: "dx.ok"; ol: "dx.ol"; om: "dx.om"; on: "dx.on"; oo: "dx.oo"; op: "dx.op"; oq: "dx.oq"; or: "dx.or"; os: "dx.os"; ot: "dx.ot"; ou: "dx.ou"; ov: "dx.ov"; ow: "dx.ow"; ox: "dx.ox"; oy: "dx.oy"; oz: "dx.oz"; pa: "dx.pa"; pb: "dx.pb"; pc: "dx.pc"; pd: "dx.pd"; pe: "dx.pe"; pf: "dx.pf"; pg: "dx.pg"; ph: "dx.ph"; pi: "dx.pi"; pj: "dx.pj"; pk: "dx.pk"; pl: "dx.pl"; pm: "dx.pm"; pn: "dx.pn"; po: "dx.po"; pp: "dx.pp"; pq: "dx.pq"; pr: "dx.pr"; ps: "dx.ps"; pt: "dx.pt"; pu: "dx.pu"; pv: "dx.pv"; pw: "dx.pw"; px: "dx.px"; py: "dx.py"; pz: "dx.pz"; qa: "dx.qa"; qb: "dx.qb"; qc: "dx.qc"; qd: "dx.qd"; qe: "dx.qe"; qf: "dx.qf"; qg: "dx.qg"; qh: "dx.qh"; qi: "dx.qi"; qj: "dx.qj"; qk: "dx.qk"; ql: "dx.ql"; qm: "dx.qm"; qn: "dx.qn"; qo: "dx.qo"; qp: "dx.qp"; qq: "dx.qq"; qr: "dx.qr"; qs: "dx.qs"; qt: "dx.qt"; qu: "dx.qu"; qv: "dx.qv"; qw: "dx.qw"; qx: "dx.qx"; qy: "dx.qy"; qz: "dx.qz"; ra: "dx.ra"; rb: "dx.rb"; rc: "dx.rc"; rd: "dx.rd"; re: "dx.re"; rf: "dx.rf"; rg: "dx.rg"; rh: "dx.rh"; ri: "dx.ri"; rj: "dx.rj"; rk: "dx.rk"; rl: "dx.rl"; rm: "dx.rm"; rn: "dx.rn"; ro: "dx.ro"; rp: "dx.rp"; rq: "dx.rq"; rr: "dx.rr"; rs: "dx.rs"; rt: "dx.rt"; ru: "dx.ru"; rv: "dx.rv"; rw: "dx.rw"; rx: "dx.rx"; ry: "dx.ry"; rz: "dx.rz"; sa: "dx.sa"; sb: "dx.sb"; sc: "dx.sc"; sd: "dx.sd"; se: "dx.se"; sf: "dx.sf"; sg: "dx.sg"; sh: "dx.sh"; si: "dx.si"; sj: "dx.sj"; sk: "dx.sk"; sl: "dx.sl"; sm: "dx.sm"; sn: "dx.sn"; so: "dx.so"; sp: "dx.sp"; sq: "dx.sq"; sr: "dx.sr"; ss: "dx.ss"; st: "dx.st"; su: "dx.su"; sv: "dx.sv"; sw: "dx.sw"; sx: "dx.sx"; sy: "dx.sy"; sz: "dx.sz"; ta: "dx.ta"; tb: "dx.tb"; tc: "dx.tc"; td: "dx.td"; te: "dx.te"; tf: "dx.tf"; tg: "dx.tg"; th: "dx.th"; ti: "dx.ti"; tj: "dx.tj"; tk: "dx.tk"; tl: "dx.tl"; tm: "dx.tm"; tn: "dx.tn"; to: "dx.to"; tp: "dx.tp"; tq: "dx.tq"; tr: "dx.tr"; ts: "dx.ts"; tt: "dx.tt"; tu: "dx.tu"; tv: "dx.tv"; tw: "dx.tw"; tx: "dx.tx"; ty: "dx.ty"; tz: "dx.tz"; ua: "dx.ua"; ub: "dx.ub"; uc: "dx.uc"; ud: "dx.ud"; ue: "dx.ue"; uf: "dx.uf"; ug: "dx.ug"; uh: "dx.uh"; ui: "dx.ui"; uj: "dx.uj"; uk: "dx.uk"; ul: "dx.ul"; um: "dx.um"; un: "dx.un"; uo: "dx.uo"; up: "dx.up"; uq: "dx.uq"; ur: "dx.ur"; us: "dx.us"; ut: "dx.ut"; uu: "dx.uu"; uv: "dx.uv"; uw: "dx.uw"; ux: "dx.ux"; uy: "dx.uy"; uz: "dx.uz"; va: "dx.va"; vb: "dx.vb"; vc: "dx.vc"; vd: "dx.vd"; ve: "dx.ve"; vf: "dx.vf"; vg: "dx.vg"; vh: "dx.vh"; vi: "dx.vi"; vj: "dx.vj"; vk: "dx.vk"; vl: "dx.vl"; vm: "dx.vm"; vn: "dx.vn"; vo: "dx.vo"; vp: "dx.vp"; vq: "dx.vq"; vr: "dx.vr"; vs: "dx.vs"; vt: "dx.vt"; vu: "dx.vu"; vv: "dx.vv"; vw: "dx.vw"; vx: "dx.vx"; vy: "dx.vy"; vz: "dx.vz"; wa: "dx.wa"; wb: "dx.wb"; wc: "dx.wc"; wd: "dx.wd"; we: "dx.we"; wf: "dx.wf"; wg: "dx.wg"; wh: "dx.wh"; wi: "dx.wi"; wj: "dx.wj"; wk: "dx.wk"; wl: "dx.wl"; wm: "dx.wm"; wn: "dx.wn"; wo: "dx.wo"; wp: "dx.wp"; wq: "dx.wq"; wr: "dx.wr"; ws: "dx.ws"; wt: "dx.wt"; wu: "dx.wu"; wv: "dx.wv"; ww: "dx.ww"; wx: "dx.wx"; wy: "dx.wy"; wz: "dx.wz"; xa: "dx.xa"; xb: "dx.xb"; xc: "dx.xc"; xd: "dx.xd"; xe: "dx.xe"; xf: "dx.xf"; xg: "dx.xg"; xh: "dx.xh"; xi: "dx.xi"; xj: "dx.xj"; xk: "dx.xk"; xl: "dx.xl"; xm: "dx.xm"; xn: "dx.xn"; xo: "dx.xo"; xp: "dx.xp"; xq: "dx.xq"; xr: "dx.xr"; xs: "dx.xs"; xt: "dx.xt"; xu: "dx.xu"; xv: "dx.xv"; xw: "dx.xw"; xx: "dx.xx"; xy: "dx.xy"; xz: "dx.xz"; ya: "dx.ya"; yb: "dx.yb"; yc: "dx.yc"; yd: "dx.yd"; ye: "dx.ye"; yf: "dx.yf"; yg: "dx.yg"; yh: "dx.yh"; yi: "dx.yi"; yj: "dx.yj"; yk: "dx.yk"; yl: "dx.yl"; ym: "dx.ym"; yn: "dx.yn"; yo: "dx.yo"; yp: "dx.yp"; yq: "dx.yq"; yr: "dx.yr"; ys: "dx.ys"; yt: "dx.yt"; yu: "dx.yu"; yv: "dx.yv"; yw: "dx.yw"; yx: "dx.yx"; yy: "dx.yy"; yz: "dx.yz"; za: "dx.za"; zb: "dx.zb"; zc: "dx.zc"; zd: "dx.zd"; ze: "dx.ze"; zf: "dx.zf"; zg: "dx.zg"; zh: "dx.zh"; zi: "dx.zi"; zj: "dx.zj"; zk: "dx.zk"; zl: "dx.zl"; zm: "dx.zm"; zn: "dx.zn"; zo: "dx.zo"; zp: "dx.zp"; zq: "dx.zq"; zr: "dx.zr"; zs: "dx.zs"; zt: "dx.zt"; zu: "dx.zu"; zv: "dx.zv"; zw: "dx.zw"; zx: "dx.zx"; zy: "dx.zy"; zz: "dx.zz"; }; dy: { aa: "dy.aa"; ab: "dy.ab"; ac: "dy.ac"; ad: "dy.ad"; ae: "dy.ae"; af: "dy.af"; ag: "dy.ag"; ah: "dy.ah"; ai: "dy.ai"; aj: "dy.aj"; ak: "dy.ak"; al: "dy.al"; am: "dy.am"; an: "dy.an"; ao: "dy.ao"; ap: "dy.ap"; aq: "dy.aq"; ar: "dy.ar"; as: "dy.as"; at: "dy.at"; au: "dy.au"; av: "dy.av"; aw: "dy.aw"; ax: "dy.ax"; ay: "dy.ay"; az: "dy.az"; ba: "dy.ba"; bb: "dy.bb"; bc: "dy.bc"; bd: "dy.bd"; be: "dy.be"; bf: "dy.bf"; bg: "dy.bg"; bh: "dy.bh"; bi: "dy.bi"; bj: "dy.bj"; bk: "dy.bk"; bl: "dy.bl"; bm: "dy.bm"; bn: "dy.bn"; bo: "dy.bo"; bp: "dy.bp"; bq: "dy.bq"; br: "dy.br"; bs: "dy.bs"; bt: "dy.bt"; bu: "dy.bu"; bv: "dy.bv"; bw: "dy.bw"; bx: "dy.bx"; by: "dy.by"; bz: "dy.bz"; ca: "dy.ca"; cb: "dy.cb"; cc: "dy.cc"; cd: "dy.cd"; ce: "dy.ce"; cf: "dy.cf"; cg: "dy.cg"; ch: "dy.ch"; ci: "dy.ci"; cj: "dy.cj"; ck: "dy.ck"; cl: "dy.cl"; cm: "dy.cm"; cn: "dy.cn"; co: "dy.co"; cp: "dy.cp"; cq: "dy.cq"; cr: "dy.cr"; cs: "dy.cs"; ct: "dy.ct"; cu: "dy.cu"; cv: "dy.cv"; cw: "dy.cw"; cx: "dy.cx"; cy: "dy.cy"; cz: "dy.cz"; da: "dy.da"; db: "dy.db"; dc: "dy.dc"; dd: "dy.dd"; de: "dy.de"; df: "dy.df"; dg: "dy.dg"; dh: "dy.dh"; di: "dy.di"; dj: "dy.dj"; dk: "dy.dk"; dl: "dy.dl"; dm: "dy.dm"; dn: "dy.dn"; do: "dy.do"; dp: "dy.dp"; dq: "dy.dq"; dr: "dy.dr"; ds: "dy.ds"; dt: "dy.dt"; du: "dy.du"; dv: "dy.dv"; dw: "dy.dw"; dx: "dy.dx"; dy: "dy.dy"; dz: "dy.dz"; ea: "dy.ea"; eb: "dy.eb"; ec: "dy.ec"; ed: "dy.ed"; ee: "dy.ee"; ef: "dy.ef"; eg: "dy.eg"; eh: "dy.eh"; ei: "dy.ei"; ej: "dy.ej"; ek: "dy.ek"; el: "dy.el"; em: "dy.em"; en: "dy.en"; eo: "dy.eo"; ep: "dy.ep"; eq: "dy.eq"; er: "dy.er"; es: "dy.es"; et: "dy.et"; eu: "dy.eu"; ev: "dy.ev"; ew: "dy.ew"; ex: "dy.ex"; ey: "dy.ey"; ez: "dy.ez"; fa: "dy.fa"; fb: "dy.fb"; fc: "dy.fc"; fd: "dy.fd"; fe: "dy.fe"; ff: "dy.ff"; fg: "dy.fg"; fh: "dy.fh"; fi: "dy.fi"; fj: "dy.fj"; fk: "dy.fk"; fl: "dy.fl"; fm: "dy.fm"; fn: "dy.fn"; fo: "dy.fo"; fp: "dy.fp"; fq: "dy.fq"; fr: "dy.fr"; fs: "dy.fs"; ft: "dy.ft"; fu: "dy.fu"; fv: "dy.fv"; fw: "dy.fw"; fx: "dy.fx"; fy: "dy.fy"; fz: "dy.fz"; ga: "dy.ga"; gb: "dy.gb"; gc: "dy.gc"; gd: "dy.gd"; ge: "dy.ge"; gf: "dy.gf"; gg: "dy.gg"; gh: "dy.gh"; gi: "dy.gi"; gj: "dy.gj"; gk: "dy.gk"; gl: "dy.gl"; gm: "dy.gm"; gn: "dy.gn"; go: "dy.go"; gp: "dy.gp"; gq: "dy.gq"; gr: "dy.gr"; gs: "dy.gs"; gt: "dy.gt"; gu: "dy.gu"; gv: "dy.gv"; gw: "dy.gw"; gx: "dy.gx"; gy: "dy.gy"; gz: "dy.gz"; ha: "dy.ha"; hb: "dy.hb"; hc: "dy.hc"; hd: "dy.hd"; he: "dy.he"; hf: "dy.hf"; hg: "dy.hg"; hh: "dy.hh"; hi: "dy.hi"; hj: "dy.hj"; hk: "dy.hk"; hl: "dy.hl"; hm: "dy.hm"; hn: "dy.hn"; ho: "dy.ho"; hp: "dy.hp"; hq: "dy.hq"; hr: "dy.hr"; hs: "dy.hs"; ht: "dy.ht"; hu: "dy.hu"; hv: "dy.hv"; hw: "dy.hw"; hx: "dy.hx"; hy: "dy.hy"; hz: "dy.hz"; ia: "dy.ia"; ib: "dy.ib"; ic: "dy.ic"; id: "dy.id"; ie: "dy.ie"; if: "dy.if"; ig: "dy.ig"; ih: "dy.ih"; ii: "dy.ii"; ij: "dy.ij"; ik: "dy.ik"; il: "dy.il"; im: "dy.im"; in: "dy.in"; io: "dy.io"; ip: "dy.ip"; iq: "dy.iq"; ir: "dy.ir"; is: "dy.is"; it: "dy.it"; iu: "dy.iu"; iv: "dy.iv"; iw: "dy.iw"; ix: "dy.ix"; iy: "dy.iy"; iz: "dy.iz"; ja: "dy.ja"; jb: "dy.jb"; jc: "dy.jc"; jd: "dy.jd"; je: "dy.je"; jf: "dy.jf"; jg: "dy.jg"; jh: "dy.jh"; ji: "dy.ji"; jj: "dy.jj"; jk: "dy.jk"; jl: "dy.jl"; jm: "dy.jm"; jn: "dy.jn"; jo: "dy.jo"; jp: "dy.jp"; jq: "dy.jq"; jr: "dy.jr"; js: "dy.js"; jt: "dy.jt"; ju: "dy.ju"; jv: "dy.jv"; jw: "dy.jw"; jx: "dy.jx"; jy: "dy.jy"; jz: "dy.jz"; ka: "dy.ka"; kb: "dy.kb"; kc: "dy.kc"; kd: "dy.kd"; ke: "dy.ke"; kf: "dy.kf"; kg: "dy.kg"; kh: "dy.kh"; ki: "dy.ki"; kj: "dy.kj"; kk: "dy.kk"; kl: "dy.kl"; km: "dy.km"; kn: "dy.kn"; ko: "dy.ko"; kp: "dy.kp"; kq: "dy.kq"; kr: "dy.kr"; ks: "dy.ks"; kt: "dy.kt"; ku: "dy.ku"; kv: "dy.kv"; kw: "dy.kw"; kx: "dy.kx"; ky: "dy.ky"; kz: "dy.kz"; la: "dy.la"; lb: "dy.lb"; lc: "dy.lc"; ld: "dy.ld"; le: "dy.le"; lf: "dy.lf"; lg: "dy.lg"; lh: "dy.lh"; li: "dy.li"; lj: "dy.lj"; lk: "dy.lk"; ll: "dy.ll"; lm: "dy.lm"; ln: "dy.ln"; lo: "dy.lo"; lp: "dy.lp"; lq: "dy.lq"; lr: "dy.lr"; ls: "dy.ls"; lt: "dy.lt"; lu: "dy.lu"; lv: "dy.lv"; lw: "dy.lw"; lx: "dy.lx"; ly: "dy.ly"; lz: "dy.lz"; ma: "dy.ma"; mb: "dy.mb"; mc: "dy.mc"; md: "dy.md"; me: "dy.me"; mf: "dy.mf"; mg: "dy.mg"; mh: "dy.mh"; mi: "dy.mi"; mj: "dy.mj"; mk: "dy.mk"; ml: "dy.ml"; mm: "dy.mm"; mn: "dy.mn"; mo: "dy.mo"; mp: "dy.mp"; mq: "dy.mq"; mr: "dy.mr"; ms: "dy.ms"; mt: "dy.mt"; mu: "dy.mu"; mv: "dy.mv"; mw: "dy.mw"; mx: "dy.mx"; my: "dy.my"; mz: "dy.mz"; na: "dy.na"; nb: "dy.nb"; nc: "dy.nc"; nd: "dy.nd"; ne: "dy.ne"; nf: "dy.nf"; ng: "dy.ng"; nh: "dy.nh"; ni: "dy.ni"; nj: "dy.nj"; nk: "dy.nk"; nl: "dy.nl"; nm: "dy.nm"; nn: "dy.nn"; no: "dy.no"; np: "dy.np"; nq: "dy.nq"; nr: "dy.nr"; ns: "dy.ns"; nt: "dy.nt"; nu: "dy.nu"; nv: "dy.nv"; nw: "dy.nw"; nx: "dy.nx"; ny: "dy.ny"; nz: "dy.nz"; oa: "dy.oa"; ob: "dy.ob"; oc: "dy.oc"; od: "dy.od"; oe: "dy.oe"; of: "dy.of"; og: "dy.og"; oh: "dy.oh"; oi: "dy.oi"; oj: "dy.oj"; ok: "dy.ok"; ol: "dy.ol"; om: "dy.om"; on: "dy.on"; oo: "dy.oo"; op: "dy.op"; oq: "dy.oq"; or: "dy.or"; os: "dy.os"; ot: "dy.ot"; ou: "dy.ou"; ov: "dy.ov"; ow: "dy.ow"; ox: "dy.ox"; oy: "dy.oy"; oz: "dy.oz"; pa: "dy.pa"; pb: "dy.pb"; pc: "dy.pc"; pd: "dy.pd"; pe: "dy.pe"; pf: "dy.pf"; pg: "dy.pg"; ph: "dy.ph"; pi: "dy.pi"; pj: "dy.pj"; pk: "dy.pk"; pl: "dy.pl"; pm: "dy.pm"; pn: "dy.pn"; po: "dy.po"; pp: "dy.pp"; pq: "dy.pq"; pr: "dy.pr"; ps: "dy.ps"; pt: "dy.pt"; pu: "dy.pu"; pv: "dy.pv"; pw: "dy.pw"; px: "dy.px"; py: "dy.py"; pz: "dy.pz"; qa: "dy.qa"; qb: "dy.qb"; qc: "dy.qc"; qd: "dy.qd"; qe: "dy.qe"; qf: "dy.qf"; qg: "dy.qg"; qh: "dy.qh"; qi: "dy.qi"; qj: "dy.qj"; qk: "dy.qk"; ql: "dy.ql"; qm: "dy.qm"; qn: "dy.qn"; qo: "dy.qo"; qp: "dy.qp"; qq: "dy.qq"; qr: "dy.qr"; qs: "dy.qs"; qt: "dy.qt"; qu: "dy.qu"; qv: "dy.qv"; qw: "dy.qw"; qx: "dy.qx"; qy: "dy.qy"; qz: "dy.qz"; ra: "dy.ra"; rb: "dy.rb"; rc: "dy.rc"; rd: "dy.rd"; re: "dy.re"; rf: "dy.rf"; rg: "dy.rg"; rh: "dy.rh"; ri: "dy.ri"; rj: "dy.rj"; rk: "dy.rk"; rl: "dy.rl"; rm: "dy.rm"; rn: "dy.rn"; ro: "dy.ro"; rp: "dy.rp"; rq: "dy.rq"; rr: "dy.rr"; rs: "dy.rs"; rt: "dy.rt"; ru: "dy.ru"; rv: "dy.rv"; rw: "dy.rw"; rx: "dy.rx"; ry: "dy.ry"; rz: "dy.rz"; sa: "dy.sa"; sb: "dy.sb"; sc: "dy.sc"; sd: "dy.sd"; se: "dy.se"; sf: "dy.sf"; sg: "dy.sg"; sh: "dy.sh"; si: "dy.si"; sj: "dy.sj"; sk: "dy.sk"; sl: "dy.sl"; sm: "dy.sm"; sn: "dy.sn"; so: "dy.so"; sp: "dy.sp"; sq: "dy.sq"; sr: "dy.sr"; ss: "dy.ss"; st: "dy.st"; su: "dy.su"; sv: "dy.sv"; sw: "dy.sw"; sx: "dy.sx"; sy: "dy.sy"; sz: "dy.sz"; ta: "dy.ta"; tb: "dy.tb"; tc: "dy.tc"; td: "dy.td"; te: "dy.te"; tf: "dy.tf"; tg: "dy.tg"; th: "dy.th"; ti: "dy.ti"; tj: "dy.tj"; tk: "dy.tk"; tl: "dy.tl"; tm: "dy.tm"; tn: "dy.tn"; to: "dy.to"; tp: "dy.tp"; tq: "dy.tq"; tr: "dy.tr"; ts: "dy.ts"; tt: "dy.tt"; tu: "dy.tu"; tv: "dy.tv"; tw: "dy.tw"; tx: "dy.tx"; ty: "dy.ty"; tz: "dy.tz"; ua: "dy.ua"; ub: "dy.ub"; uc: "dy.uc"; ud: "dy.ud"; ue: "dy.ue"; uf: "dy.uf"; ug: "dy.ug"; uh: "dy.uh"; ui: "dy.ui"; uj: "dy.uj"; uk: "dy.uk"; ul: "dy.ul"; um: "dy.um"; un: "dy.un"; uo: "dy.uo"; up: "dy.up"; uq: "dy.uq"; ur: "dy.ur"; us: "dy.us"; ut: "dy.ut"; uu: "dy.uu"; uv: "dy.uv"; uw: "dy.uw"; ux: "dy.ux"; uy: "dy.uy"; uz: "dy.uz"; va: "dy.va"; vb: "dy.vb"; vc: "dy.vc"; vd: "dy.vd"; ve: "dy.ve"; vf: "dy.vf"; vg: "dy.vg"; vh: "dy.vh"; vi: "dy.vi"; vj: "dy.vj"; vk: "dy.vk"; vl: "dy.vl"; vm: "dy.vm"; vn: "dy.vn"; vo: "dy.vo"; vp: "dy.vp"; vq: "dy.vq"; vr: "dy.vr"; vs: "dy.vs"; vt: "dy.vt"; vu: "dy.vu"; vv: "dy.vv"; vw: "dy.vw"; vx: "dy.vx"; vy: "dy.vy"; vz: "dy.vz"; wa: "dy.wa"; wb: "dy.wb"; wc: "dy.wc"; wd: "dy.wd"; we: "dy.we"; wf: "dy.wf"; wg: "dy.wg"; wh: "dy.wh"; wi: "dy.wi"; wj: "dy.wj"; wk: "dy.wk"; wl: "dy.wl"; wm: "dy.wm"; wn: "dy.wn"; wo: "dy.wo"; wp: "dy.wp"; wq: "dy.wq"; wr: "dy.wr"; ws: "dy.ws"; wt: "dy.wt"; wu: "dy.wu"; wv: "dy.wv"; ww: "dy.ww"; wx: "dy.wx"; wy: "dy.wy"; wz: "dy.wz"; xa: "dy.xa"; xb: "dy.xb"; xc: "dy.xc"; xd: "dy.xd"; xe: "dy.xe"; xf: "dy.xf"; xg: "dy.xg"; xh: "dy.xh"; xi: "dy.xi"; xj: "dy.xj"; xk: "dy.xk"; xl: "dy.xl"; xm: "dy.xm"; xn: "dy.xn"; xo: "dy.xo"; xp: "dy.xp"; xq: "dy.xq"; xr: "dy.xr"; xs: "dy.xs"; xt: "dy.xt"; xu: "dy.xu"; xv: "dy.xv"; xw: "dy.xw"; xx: "dy.xx"; xy: "dy.xy"; xz: "dy.xz"; ya: "dy.ya"; yb: "dy.yb"; yc: "dy.yc"; yd: "dy.yd"; ye: "dy.ye"; yf: "dy.yf"; yg: "dy.yg"; yh: "dy.yh"; yi: "dy.yi"; yj: "dy.yj"; yk: "dy.yk"; yl: "dy.yl"; ym: "dy.ym"; yn: "dy.yn"; yo: "dy.yo"; yp: "dy.yp"; yq: "dy.yq"; yr: "dy.yr"; ys: "dy.ys"; yt: "dy.yt"; yu: "dy.yu"; yv: "dy.yv"; yw: "dy.yw"; yx: "dy.yx"; yy: "dy.yy"; yz: "dy.yz"; za: "dy.za"; zb: "dy.zb"; zc: "dy.zc"; zd: "dy.zd"; ze: "dy.ze"; zf: "dy.zf"; zg: "dy.zg"; zh: "dy.zh"; zi: "dy.zi"; zj: "dy.zj"; zk: "dy.zk"; zl: "dy.zl"; zm: "dy.zm"; zn: "dy.zn"; zo: "dy.zo"; zp: "dy.zp"; zq: "dy.zq"; zr: "dy.zr"; zs: "dy.zs"; zt: "dy.zt"; zu: "dy.zu"; zv: "dy.zv"; zw: "dy.zw"; zx: "dy.zx"; zy: "dy.zy"; zz: "dy.zz"; }; dz: { aa: "dz.aa"; ab: "dz.ab"; ac: "dz.ac"; ad: "dz.ad"; ae: "dz.ae"; af: "dz.af"; ag: "dz.ag"; ah: "dz.ah"; ai: "dz.ai"; aj: "dz.aj"; ak: "dz.ak"; al: "dz.al"; am: "dz.am"; an: "dz.an"; ao: "dz.ao"; ap: "dz.ap"; aq: "dz.aq"; ar: "dz.ar"; as: "dz.as"; at: "dz.at"; au: "dz.au"; av: "dz.av"; aw: "dz.aw"; ax: "dz.ax"; ay: "dz.ay"; az: "dz.az"; ba: "dz.ba"; bb: "dz.bb"; bc: "dz.bc"; bd: "dz.bd"; be: "dz.be"; bf: "dz.bf"; bg: "dz.bg"; bh: "dz.bh"; bi: "dz.bi"; bj: "dz.bj"; bk: "dz.bk"; bl: "dz.bl"; bm: "dz.bm"; bn: "dz.bn"; bo: "dz.bo"; bp: "dz.bp"; bq: "dz.bq"; br: "dz.br"; bs: "dz.bs"; bt: "dz.bt"; bu: "dz.bu"; bv: "dz.bv"; bw: "dz.bw"; bx: "dz.bx"; by: "dz.by"; bz: "dz.bz"; ca: "dz.ca"; cb: "dz.cb"; cc: "dz.cc"; cd: "dz.cd"; ce: "dz.ce"; cf: "dz.cf"; cg: "dz.cg"; ch: "dz.ch"; ci: "dz.ci"; cj: "dz.cj"; ck: "dz.ck"; cl: "dz.cl"; cm: "dz.cm"; cn: "dz.cn"; co: "dz.co"; cp: "dz.cp"; cq: "dz.cq"; cr: "dz.cr"; cs: "dz.cs"; ct: "dz.ct"; cu: "dz.cu"; cv: "dz.cv"; cw: "dz.cw"; cx: "dz.cx"; cy: "dz.cy"; cz: "dz.cz"; da: "dz.da"; db: "dz.db"; dc: "dz.dc"; dd: "dz.dd"; de: "dz.de"; df: "dz.df"; dg: "dz.dg"; dh: "dz.dh"; di: "dz.di"; dj: "dz.dj"; dk: "dz.dk"; dl: "dz.dl"; dm: "dz.dm"; dn: "dz.dn"; do: "dz.do"; dp: "dz.dp"; dq: "dz.dq"; dr: "dz.dr"; ds: "dz.ds"; dt: "dz.dt"; du: "dz.du"; dv: "dz.dv"; dw: "dz.dw"; dx: "dz.dx"; dy: "dz.dy"; dz: "dz.dz"; ea: "dz.ea"; eb: "dz.eb"; ec: "dz.ec"; ed: "dz.ed"; ee: "dz.ee"; ef: "dz.ef"; eg: "dz.eg"; eh: "dz.eh"; ei: "dz.ei"; ej: "dz.ej"; ek: "dz.ek"; el: "dz.el"; em: "dz.em"; en: "dz.en"; eo: "dz.eo"; ep: "dz.ep"; eq: "dz.eq"; er: "dz.er"; es: "dz.es"; et: "dz.et"; eu: "dz.eu"; ev: "dz.ev"; ew: "dz.ew"; ex: "dz.ex"; ey: "dz.ey"; ez: "dz.ez"; fa: "dz.fa"; fb: "dz.fb"; fc: "dz.fc"; fd: "dz.fd"; fe: "dz.fe"; ff: "dz.ff"; fg: "dz.fg"; fh: "dz.fh"; fi: "dz.fi"; fj: "dz.fj"; fk: "dz.fk"; fl: "dz.fl"; fm: "dz.fm"; fn: "dz.fn"; fo: "dz.fo"; fp: "dz.fp"; fq: "dz.fq"; fr: "dz.fr"; fs: "dz.fs"; ft: "dz.ft"; fu: "dz.fu"; fv: "dz.fv"; fw: "dz.fw"; fx: "dz.fx"; fy: "dz.fy"; fz: "dz.fz"; ga: "dz.ga"; gb: "dz.gb"; gc: "dz.gc"; gd: "dz.gd"; ge: "dz.ge"; gf: "dz.gf"; gg: "dz.gg"; gh: "dz.gh"; gi: "dz.gi"; gj: "dz.gj"; gk: "dz.gk"; gl: "dz.gl"; gm: "dz.gm"; gn: "dz.gn"; go: "dz.go"; gp: "dz.gp"; gq: "dz.gq"; gr: "dz.gr"; gs: "dz.gs"; gt: "dz.gt"; gu: "dz.gu"; gv: "dz.gv"; gw: "dz.gw"; gx: "dz.gx"; gy: "dz.gy"; gz: "dz.gz"; ha: "dz.ha"; hb: "dz.hb"; hc: "dz.hc"; hd: "dz.hd"; he: "dz.he"; hf: "dz.hf"; hg: "dz.hg"; hh: "dz.hh"; hi: "dz.hi"; hj: "dz.hj"; hk: "dz.hk"; hl: "dz.hl"; hm: "dz.hm"; hn: "dz.hn"; ho: "dz.ho"; hp: "dz.hp"; hq: "dz.hq"; hr: "dz.hr"; hs: "dz.hs"; ht: "dz.ht"; hu: "dz.hu"; hv: "dz.hv"; hw: "dz.hw"; hx: "dz.hx"; hy: "dz.hy"; hz: "dz.hz"; ia: "dz.ia"; ib: "dz.ib"; ic: "dz.ic"; id: "dz.id"; ie: "dz.ie"; if: "dz.if"; ig: "dz.ig"; ih: "dz.ih"; ii: "dz.ii"; ij: "dz.ij"; ik: "dz.ik"; il: "dz.il"; im: "dz.im"; in: "dz.in"; io: "dz.io"; ip: "dz.ip"; iq: "dz.iq"; ir: "dz.ir"; is: "dz.is"; it: "dz.it"; iu: "dz.iu"; iv: "dz.iv"; iw: "dz.iw"; ix: "dz.ix"; iy: "dz.iy"; iz: "dz.iz"; ja: "dz.ja"; jb: "dz.jb"; jc: "dz.jc"; jd: "dz.jd"; je: "dz.je"; jf: "dz.jf"; jg: "dz.jg"; jh: "dz.jh"; ji: "dz.ji"; jj: "dz.jj"; jk: "dz.jk"; jl: "dz.jl"; jm: "dz.jm"; jn: "dz.jn"; jo: "dz.jo"; jp: "dz.jp"; jq: "dz.jq"; jr: "dz.jr"; js: "dz.js"; jt: "dz.jt"; ju: "dz.ju"; jv: "dz.jv"; jw: "dz.jw"; jx: "dz.jx"; jy: "dz.jy"; jz: "dz.jz"; ka: "dz.ka"; kb: "dz.kb"; kc: "dz.kc"; kd: "dz.kd"; ke: "dz.ke"; kf: "dz.kf"; kg: "dz.kg"; kh: "dz.kh"; ki: "dz.ki"; kj: "dz.kj"; kk: "dz.kk"; kl: "dz.kl"; km: "dz.km"; kn: "dz.kn"; ko: "dz.ko"; kp: "dz.kp"; kq: "dz.kq"; kr: "dz.kr"; ks: "dz.ks"; kt: "dz.kt"; ku: "dz.ku"; kv: "dz.kv"; kw: "dz.kw"; kx: "dz.kx"; ky: "dz.ky"; kz: "dz.kz"; la: "dz.la"; lb: "dz.lb"; lc: "dz.lc"; ld: "dz.ld"; le: "dz.le"; lf: "dz.lf"; lg: "dz.lg"; lh: "dz.lh"; li: "dz.li"; lj: "dz.lj"; lk: "dz.lk"; ll: "dz.ll"; lm: "dz.lm"; ln: "dz.ln"; lo: "dz.lo"; lp: "dz.lp"; lq: "dz.lq"; lr: "dz.lr"; ls: "dz.ls"; lt: "dz.lt"; lu: "dz.lu"; lv: "dz.lv"; lw: "dz.lw"; lx: "dz.lx"; ly: "dz.ly"; lz: "dz.lz"; ma: "dz.ma"; mb: "dz.mb"; mc: "dz.mc"; md: "dz.md"; me: "dz.me"; mf: "dz.mf"; mg: "dz.mg"; mh: "dz.mh"; mi: "dz.mi"; mj: "dz.mj"; mk: "dz.mk"; ml: "dz.ml"; mm: "dz.mm"; mn: "dz.mn"; mo: "dz.mo"; mp: "dz.mp"; mq: "dz.mq"; mr: "dz.mr"; ms: "dz.ms"; mt: "dz.mt"; mu: "dz.mu"; mv: "dz.mv"; mw: "dz.mw"; mx: "dz.mx"; my: "dz.my"; mz: "dz.mz"; na: "dz.na"; nb: "dz.nb"; nc: "dz.nc"; nd: "dz.nd"; ne: "dz.ne"; nf: "dz.nf"; ng: "dz.ng"; nh: "dz.nh"; ni: "dz.ni"; nj: "dz.nj"; nk: "dz.nk"; nl: "dz.nl"; nm: "dz.nm"; nn: "dz.nn"; no: "dz.no"; np: "dz.np"; nq: "dz.nq"; nr: "dz.nr"; ns: "dz.ns"; nt: "dz.nt"; nu: "dz.nu"; nv: "dz.nv"; nw: "dz.nw"; nx: "dz.nx"; ny: "dz.ny"; nz: "dz.nz"; oa: "dz.oa"; ob: "dz.ob"; oc: "dz.oc"; od: "dz.od"; oe: "dz.oe"; of: "dz.of"; og: "dz.og"; oh: "dz.oh"; oi: "dz.oi"; oj: "dz.oj"; ok: "dz.ok"; ol: "dz.ol"; om: "dz.om"; on: "dz.on"; oo: "dz.oo"; op: "dz.op"; oq: "dz.oq"; or: "dz.or"; os: "dz.os"; ot: "dz.ot"; ou: "dz.ou"; ov: "dz.ov"; ow: "dz.ow"; ox: "dz.ox"; oy: "dz.oy"; oz: "dz.oz"; pa: "dz.pa"; pb: "dz.pb"; pc: "dz.pc"; pd: "dz.pd"; pe: "dz.pe"; pf: "dz.pf"; pg: "dz.pg"; ph: "dz.ph"; pi: "dz.pi"; pj: "dz.pj"; pk: "dz.pk"; pl: "dz.pl"; pm: "dz.pm"; pn: "dz.pn"; po: "dz.po"; pp: "dz.pp"; pq: "dz.pq"; pr: "dz.pr"; ps: "dz.ps"; pt: "dz.pt"; pu: "dz.pu"; pv: "dz.pv"; pw: "dz.pw"; px: "dz.px"; py: "dz.py"; pz: "dz.pz"; qa: "dz.qa"; qb: "dz.qb"; qc: "dz.qc"; qd: "dz.qd"; qe: "dz.qe"; qf: "dz.qf"; qg: "dz.qg"; qh: "dz.qh"; qi: "dz.qi"; qj: "dz.qj"; qk: "dz.qk"; ql: "dz.ql"; qm: "dz.qm"; qn: "dz.qn"; qo: "dz.qo"; qp: "dz.qp"; qq: "dz.qq"; qr: "dz.qr"; qs: "dz.qs"; qt: "dz.qt"; qu: "dz.qu"; qv: "dz.qv"; qw: "dz.qw"; qx: "dz.qx"; qy: "dz.qy"; qz: "dz.qz"; ra: "dz.ra"; rb: "dz.rb"; rc: "dz.rc"; rd: "dz.rd"; re: "dz.re"; rf: "dz.rf"; rg: "dz.rg"; rh: "dz.rh"; ri: "dz.ri"; rj: "dz.rj"; rk: "dz.rk"; rl: "dz.rl"; rm: "dz.rm"; rn: "dz.rn"; ro: "dz.ro"; rp: "dz.rp"; rq: "dz.rq"; rr: "dz.rr"; rs: "dz.rs"; rt: "dz.rt"; ru: "dz.ru"; rv: "dz.rv"; rw: "dz.rw"; rx: "dz.rx"; ry: "dz.ry"; rz: "dz.rz"; sa: "dz.sa"; sb: "dz.sb"; sc: "dz.sc"; sd: "dz.sd"; se: "dz.se"; sf: "dz.sf"; sg: "dz.sg"; sh: "dz.sh"; si: "dz.si"; sj: "dz.sj"; sk: "dz.sk"; sl: "dz.sl"; sm: "dz.sm"; sn: "dz.sn"; so: "dz.so"; sp: "dz.sp"; sq: "dz.sq"; sr: "dz.sr"; ss: "dz.ss"; st: "dz.st"; su: "dz.su"; sv: "dz.sv"; sw: "dz.sw"; sx: "dz.sx"; sy: "dz.sy"; sz: "dz.sz"; ta: "dz.ta"; tb: "dz.tb"; tc: "dz.tc"; td: "dz.td"; te: "dz.te"; tf: "dz.tf"; tg: "dz.tg"; th: "dz.th"; ti: "dz.ti"; tj: "dz.tj"; tk: "dz.tk"; tl: "dz.tl"; tm: "dz.tm"; tn: "dz.tn"; to: "dz.to"; tp: "dz.tp"; tq: "dz.tq"; tr: "dz.tr"; ts: "dz.ts"; tt: "dz.tt"; tu: "dz.tu"; tv: "dz.tv"; tw: "dz.tw"; tx: "dz.tx"; ty: "dz.ty"; tz: "dz.tz"; ua: "dz.ua"; ub: "dz.ub"; uc: "dz.uc"; ud: "dz.ud"; ue: "dz.ue"; uf: "dz.uf"; ug: "dz.ug"; uh: "dz.uh"; ui: "dz.ui"; uj: "dz.uj"; uk: "dz.uk"; ul: "dz.ul"; um: "dz.um"; un: "dz.un"; uo: "dz.uo"; up: "dz.up"; uq: "dz.uq"; ur: "dz.ur"; us: "dz.us"; ut: "dz.ut"; uu: "dz.uu"; uv: "dz.uv"; uw: "dz.uw"; ux: "dz.ux"; uy: "dz.uy"; uz: "dz.uz"; va: "dz.va"; vb: "dz.vb"; vc: "dz.vc"; vd: "dz.vd"; ve: "dz.ve"; vf: "dz.vf"; vg: "dz.vg"; vh: "dz.vh"; vi: "dz.vi"; vj: "dz.vj"; vk: "dz.vk"; vl: "dz.vl"; vm: "dz.vm"; vn: "dz.vn"; vo: "dz.vo"; vp: "dz.vp"; vq: "dz.vq"; vr: "dz.vr"; vs: "dz.vs"; vt: "dz.vt"; vu: "dz.vu"; vv: "dz.vv"; vw: "dz.vw"; vx: "dz.vx"; vy: "dz.vy"; vz: "dz.vz"; wa: "dz.wa"; wb: "dz.wb"; wc: "dz.wc"; wd: "dz.wd"; we: "dz.we"; wf: "dz.wf"; wg: "dz.wg"; wh: "dz.wh"; wi: "dz.wi"; wj: "dz.wj"; wk: "dz.wk"; wl: "dz.wl"; wm: "dz.wm"; wn: "dz.wn"; wo: "dz.wo"; wp: "dz.wp"; wq: "dz.wq"; wr: "dz.wr"; ws: "dz.ws"; wt: "dz.wt"; wu: "dz.wu"; wv: "dz.wv"; ww: "dz.ww"; wx: "dz.wx"; wy: "dz.wy"; wz: "dz.wz"; xa: "dz.xa"; xb: "dz.xb"; xc: "dz.xc"; xd: "dz.xd"; xe: "dz.xe"; xf: "dz.xf"; xg: "dz.xg"; xh: "dz.xh"; xi: "dz.xi"; xj: "dz.xj"; xk: "dz.xk"; xl: "dz.xl"; xm: "dz.xm"; xn: "dz.xn"; xo: "dz.xo"; xp: "dz.xp"; xq: "dz.xq"; xr: "dz.xr"; xs: "dz.xs"; xt: "dz.xt"; xu: "dz.xu"; xv: "dz.xv"; xw: "dz.xw"; xx: "dz.xx"; xy: "dz.xy"; xz: "dz.xz"; ya: "dz.ya"; yb: "dz.yb"; yc: "dz.yc"; yd: "dz.yd"; ye: "dz.ye"; yf: "dz.yf"; yg: "dz.yg"; yh: "dz.yh"; yi: "dz.yi"; yj: "dz.yj"; yk: "dz.yk"; yl: "dz.yl"; ym: "dz.ym"; yn: "dz.yn"; yo: "dz.yo"; yp: "dz.yp"; yq: "dz.yq"; yr: "dz.yr"; ys: "dz.ys"; yt: "dz.yt"; yu: "dz.yu"; yv: "dz.yv"; yw: "dz.yw"; yx: "dz.yx"; yy: "dz.yy"; yz: "dz.yz"; za: "dz.za"; zb: "dz.zb"; zc: "dz.zc"; zd: "dz.zd"; ze: "dz.ze"; zf: "dz.zf"; zg: "dz.zg"; zh: "dz.zh"; zi: "dz.zi"; zj: "dz.zj"; zk: "dz.zk"; zl: "dz.zl"; zm: "dz.zm"; zn: "dz.zn"; zo: "dz.zo"; zp: "dz.zp"; zq: "dz.zq"; zr: "dz.zr"; zs: "dz.zs"; zt: "dz.zt"; zu: "dz.zu"; zv: "dz.zv"; zw: "dz.zw"; zx: "dz.zx"; zy: "dz.zy"; zz: "dz.zz"; }; ea: { aa: "ea.aa"; ab: "ea.ab"; ac: "ea.ac"; ad: "ea.ad"; ae: "ea.ae"; af: "ea.af"; ag: "ea.ag"; ah: "ea.ah"; ai: "ea.ai"; aj: "ea.aj"; ak: "ea.ak"; al: "ea.al"; am: "ea.am"; an: "ea.an"; ao: "ea.ao"; ap: "ea.ap"; aq: "ea.aq"; ar: "ea.ar"; as: "ea.as"; at: "ea.at"; au: "ea.au"; av: "ea.av"; aw: "ea.aw"; ax: "ea.ax"; ay: "ea.ay"; az: "ea.az"; ba: "ea.ba"; bb: "ea.bb"; bc: "ea.bc"; bd: "ea.bd"; be: "ea.be"; bf: "ea.bf"; bg: "ea.bg"; bh: "ea.bh"; bi: "ea.bi"; bj: "ea.bj"; bk: "ea.bk"; bl: "ea.bl"; bm: "ea.bm"; bn: "ea.bn"; bo: "ea.bo"; bp: "ea.bp"; bq: "ea.bq"; br: "ea.br"; bs: "ea.bs"; bt: "ea.bt"; bu: "ea.bu"; bv: "ea.bv"; bw: "ea.bw"; bx: "ea.bx"; by: "ea.by"; bz: "ea.bz"; ca: "ea.ca"; cb: "ea.cb"; cc: "ea.cc"; cd: "ea.cd"; ce: "ea.ce"; cf: "ea.cf"; cg: "ea.cg"; ch: "ea.ch"; ci: "ea.ci"; cj: "ea.cj"; ck: "ea.ck"; cl: "ea.cl"; cm: "ea.cm"; cn: "ea.cn"; co: "ea.co"; cp: "ea.cp"; cq: "ea.cq"; cr: "ea.cr"; cs: "ea.cs"; ct: "ea.ct"; cu: "ea.cu"; cv: "ea.cv"; cw: "ea.cw"; cx: "ea.cx"; cy: "ea.cy"; cz: "ea.cz"; da: "ea.da"; db: "ea.db"; dc: "ea.dc"; dd: "ea.dd"; de: "ea.de"; df: "ea.df"; dg: "ea.dg"; dh: "ea.dh"; di: "ea.di"; dj: "ea.dj"; dk: "ea.dk"; dl: "ea.dl"; dm: "ea.dm"; dn: "ea.dn"; do: "ea.do"; dp: "ea.dp"; dq: "ea.dq"; dr: "ea.dr"; ds: "ea.ds"; dt: "ea.dt"; du: "ea.du"; dv: "ea.dv"; dw: "ea.dw"; dx: "ea.dx"; dy: "ea.dy"; dz: "ea.dz"; ea: "ea.ea"; eb: "ea.eb"; ec: "ea.ec"; ed: "ea.ed"; ee: "ea.ee"; ef: "ea.ef"; eg: "ea.eg"; eh: "ea.eh"; ei: "ea.ei"; ej: "ea.ej"; ek: "ea.ek"; el: "ea.el"; em: "ea.em"; en: "ea.en"; eo: "ea.eo"; ep: "ea.ep"; eq: "ea.eq"; er: "ea.er"; es: "ea.es"; et: "ea.et"; eu: "ea.eu"; ev: "ea.ev"; ew: "ea.ew"; ex: "ea.ex"; ey: "ea.ey"; ez: "ea.ez"; fa: "ea.fa"; fb: "ea.fb"; fc: "ea.fc"; fd: "ea.fd"; fe: "ea.fe"; ff: "ea.ff"; fg: "ea.fg"; fh: "ea.fh"; fi: "ea.fi"; fj: "ea.fj"; fk: "ea.fk"; fl: "ea.fl"; fm: "ea.fm"; fn: "ea.fn"; fo: "ea.fo"; fp: "ea.fp"; fq: "ea.fq"; fr: "ea.fr"; fs: "ea.fs"; ft: "ea.ft"; fu: "ea.fu"; fv: "ea.fv"; fw: "ea.fw"; fx: "ea.fx"; fy: "ea.fy"; fz: "ea.fz"; ga: "ea.ga"; gb: "ea.gb"; gc: "ea.gc"; gd: "ea.gd"; ge: "ea.ge"; gf: "ea.gf"; gg: "ea.gg"; gh: "ea.gh"; gi: "ea.gi"; gj: "ea.gj"; gk: "ea.gk"; gl: "ea.gl"; gm: "ea.gm"; gn: "ea.gn"; go: "ea.go"; gp: "ea.gp"; gq: "ea.gq"; gr: "ea.gr"; gs: "ea.gs"; gt: "ea.gt"; gu: "ea.gu"; gv: "ea.gv"; gw: "ea.gw"; gx: "ea.gx"; gy: "ea.gy"; gz: "ea.gz"; ha: "ea.ha"; hb: "ea.hb"; hc: "ea.hc"; hd: "ea.hd"; he: "ea.he"; hf: "ea.hf"; hg: "ea.hg"; hh: "ea.hh"; hi: "ea.hi"; hj: "ea.hj"; hk: "ea.hk"; hl: "ea.hl"; hm: "ea.hm"; hn: "ea.hn"; ho: "ea.ho"; hp: "ea.hp"; hq: "ea.hq"; hr: "ea.hr"; hs: "ea.hs"; ht: "ea.ht"; hu: "ea.hu"; hv: "ea.hv"; hw: "ea.hw"; hx: "ea.hx"; hy: "ea.hy"; hz: "ea.hz"; ia: "ea.ia"; ib: "ea.ib"; ic: "ea.ic"; id: "ea.id"; ie: "ea.ie"; if: "ea.if"; ig: "ea.ig"; ih: "ea.ih"; ii: "ea.ii"; ij: "ea.ij"; ik: "ea.ik"; il: "ea.il"; im: "ea.im"; in: "ea.in"; io: "ea.io"; ip: "ea.ip"; iq: "ea.iq"; ir: "ea.ir"; is: "ea.is"; it: "ea.it"; iu: "ea.iu"; iv: "ea.iv"; iw: "ea.iw"; ix: "ea.ix"; iy: "ea.iy"; iz: "ea.iz"; ja: "ea.ja"; jb: "ea.jb"; jc: "ea.jc"; jd: "ea.jd"; je: "ea.je"; jf: "ea.jf"; jg: "ea.jg"; jh: "ea.jh"; ji: "ea.ji"; jj: "ea.jj"; jk: "ea.jk"; jl: "ea.jl"; jm: "ea.jm"; jn: "ea.jn"; jo: "ea.jo"; jp: "ea.jp"; jq: "ea.jq"; jr: "ea.jr"; js: "ea.js"; jt: "ea.jt"; ju: "ea.ju"; jv: "ea.jv"; jw: "ea.jw"; jx: "ea.jx"; jy: "ea.jy"; jz: "ea.jz"; ka: "ea.ka"; kb: "ea.kb"; kc: "ea.kc"; kd: "ea.kd"; ke: "ea.ke"; kf: "ea.kf"; kg: "ea.kg"; kh: "ea.kh"; ki: "ea.ki"; kj: "ea.kj"; kk: "ea.kk"; kl: "ea.kl"; km: "ea.km"; kn: "ea.kn"; ko: "ea.ko"; kp: "ea.kp"; kq: "ea.kq"; kr: "ea.kr"; ks: "ea.ks"; kt: "ea.kt"; ku: "ea.ku"; kv: "ea.kv"; kw: "ea.kw"; kx: "ea.kx"; ky: "ea.ky"; kz: "ea.kz"; la: "ea.la"; lb: "ea.lb"; lc: "ea.lc"; ld: "ea.ld"; le: "ea.le"; lf: "ea.lf"; lg: "ea.lg"; lh: "ea.lh"; li: "ea.li"; lj: "ea.lj"; lk: "ea.lk"; ll: "ea.ll"; lm: "ea.lm"; ln: "ea.ln"; lo: "ea.lo"; lp: "ea.lp"; lq: "ea.lq"; lr: "ea.lr"; ls: "ea.ls"; lt: "ea.lt"; lu: "ea.lu"; lv: "ea.lv"; lw: "ea.lw"; lx: "ea.lx"; ly: "ea.ly"; lz: "ea.lz"; ma: "ea.ma"; mb: "ea.mb"; mc: "ea.mc"; md: "ea.md"; me: "ea.me"; mf: "ea.mf"; mg: "ea.mg"; mh: "ea.mh"; mi: "ea.mi"; mj: "ea.mj"; mk: "ea.mk"; ml: "ea.ml"; mm: "ea.mm"; mn: "ea.mn"; mo: "ea.mo"; mp: "ea.mp"; mq: "ea.mq"; mr: "ea.mr"; ms: "ea.ms"; mt: "ea.mt"; mu: "ea.mu"; mv: "ea.mv"; mw: "ea.mw"; mx: "ea.mx"; my: "ea.my"; mz: "ea.mz"; na: "ea.na"; nb: "ea.nb"; nc: "ea.nc"; nd: "ea.nd"; ne: "ea.ne"; nf: "ea.nf"; ng: "ea.ng"; nh: "ea.nh"; ni: "ea.ni"; nj: "ea.nj"; nk: "ea.nk"; nl: "ea.nl"; nm: "ea.nm"; nn: "ea.nn"; no: "ea.no"; np: "ea.np"; nq: "ea.nq"; nr: "ea.nr"; ns: "ea.ns"; nt: "ea.nt"; nu: "ea.nu"; nv: "ea.nv"; nw: "ea.nw"; nx: "ea.nx"; ny: "ea.ny"; nz: "ea.nz"; oa: "ea.oa"; ob: "ea.ob"; oc: "ea.oc"; od: "ea.od"; oe: "ea.oe"; of: "ea.of"; og: "ea.og"; oh: "ea.oh"; oi: "ea.oi"; oj: "ea.oj"; ok: "ea.ok"; ol: "ea.ol"; om: "ea.om"; on: "ea.on"; oo: "ea.oo"; op: "ea.op"; oq: "ea.oq"; or: "ea.or"; os: "ea.os"; ot: "ea.ot"; ou: "ea.ou"; ov: "ea.ov"; ow: "ea.ow"; ox: "ea.ox"; oy: "ea.oy"; oz: "ea.oz"; pa: "ea.pa"; pb: "ea.pb"; pc: "ea.pc"; pd: "ea.pd"; pe: "ea.pe"; pf: "ea.pf"; pg: "ea.pg"; ph: "ea.ph"; pi: "ea.pi"; pj: "ea.pj"; pk: "ea.pk"; pl: "ea.pl"; pm: "ea.pm"; pn: "ea.pn"; po: "ea.po"; pp: "ea.pp"; pq: "ea.pq"; pr: "ea.pr"; ps: "ea.ps"; pt: "ea.pt"; pu: "ea.pu"; pv: "ea.pv"; pw: "ea.pw"; px: "ea.px"; py: "ea.py"; pz: "ea.pz"; qa: "ea.qa"; qb: "ea.qb"; qc: "ea.qc"; qd: "ea.qd"; qe: "ea.qe"; qf: "ea.qf"; qg: "ea.qg"; qh: "ea.qh"; qi: "ea.qi"; qj: "ea.qj"; qk: "ea.qk"; ql: "ea.ql"; qm: "ea.qm"; qn: "ea.qn"; qo: "ea.qo"; qp: "ea.qp"; qq: "ea.qq"; qr: "ea.qr"; qs: "ea.qs"; qt: "ea.qt"; qu: "ea.qu"; qv: "ea.qv"; qw: "ea.qw"; qx: "ea.qx"; qy: "ea.qy"; qz: "ea.qz"; ra: "ea.ra"; rb: "ea.rb"; rc: "ea.rc"; rd: "ea.rd"; re: "ea.re"; rf: "ea.rf"; rg: "ea.rg"; rh: "ea.rh"; ri: "ea.ri"; rj: "ea.rj"; rk: "ea.rk"; rl: "ea.rl"; rm: "ea.rm"; rn: "ea.rn"; ro: "ea.ro"; rp: "ea.rp"; rq: "ea.rq"; rr: "ea.rr"; rs: "ea.rs"; rt: "ea.rt"; ru: "ea.ru"; rv: "ea.rv"; rw: "ea.rw"; rx: "ea.rx"; ry: "ea.ry"; rz: "ea.rz"; sa: "ea.sa"; sb: "ea.sb"; sc: "ea.sc"; sd: "ea.sd"; se: "ea.se"; sf: "ea.sf"; sg: "ea.sg"; sh: "ea.sh"; si: "ea.si"; sj: "ea.sj"; sk: "ea.sk"; sl: "ea.sl"; sm: "ea.sm"; sn: "ea.sn"; so: "ea.so"; sp: "ea.sp"; sq: "ea.sq"; sr: "ea.sr"; ss: "ea.ss"; st: "ea.st"; su: "ea.su"; sv: "ea.sv"; sw: "ea.sw"; sx: "ea.sx"; sy: "ea.sy"; sz: "ea.sz"; ta: "ea.ta"; tb: "ea.tb"; tc: "ea.tc"; td: "ea.td"; te: "ea.te"; tf: "ea.tf"; tg: "ea.tg"; th: "ea.th"; ti: "ea.ti"; tj: "ea.tj"; tk: "ea.tk"; tl: "ea.tl"; tm: "ea.tm"; tn: "ea.tn"; to: "ea.to"; tp: "ea.tp"; tq: "ea.tq"; tr: "ea.tr"; ts: "ea.ts"; tt: "ea.tt"; tu: "ea.tu"; tv: "ea.tv"; tw: "ea.tw"; tx: "ea.tx"; ty: "ea.ty"; tz: "ea.tz"; ua: "ea.ua"; ub: "ea.ub"; uc: "ea.uc"; ud: "ea.ud"; ue: "ea.ue"; uf: "ea.uf"; ug: "ea.ug"; uh: "ea.uh"; ui: "ea.ui"; uj: "ea.uj"; uk: "ea.uk"; ul: "ea.ul"; um: "ea.um"; un: "ea.un"; uo: "ea.uo"; up: "ea.up"; uq: "ea.uq"; ur: "ea.ur"; us: "ea.us"; ut: "ea.ut"; uu: "ea.uu"; uv: "ea.uv"; uw: "ea.uw"; ux: "ea.ux"; uy: "ea.uy"; uz: "ea.uz"; va: "ea.va"; vb: "ea.vb"; vc: "ea.vc"; vd: "ea.vd"; ve: "ea.ve"; vf: "ea.vf"; vg: "ea.vg"; vh: "ea.vh"; vi: "ea.vi"; vj: "ea.vj"; vk: "ea.vk"; vl: "ea.vl"; vm: "ea.vm"; vn: "ea.vn"; vo: "ea.vo"; vp: "ea.vp"; vq: "ea.vq"; vr: "ea.vr"; vs: "ea.vs"; vt: "ea.vt"; vu: "ea.vu"; vv: "ea.vv"; vw: "ea.vw"; vx: "ea.vx"; vy: "ea.vy"; vz: "ea.vz"; wa: "ea.wa"; wb: "ea.wb"; wc: "ea.wc"; wd: "ea.wd"; we: "ea.we"; wf: "ea.wf"; wg: "ea.wg"; wh: "ea.wh"; wi: "ea.wi"; wj: "ea.wj"; wk: "ea.wk"; wl: "ea.wl"; wm: "ea.wm"; wn: "ea.wn"; wo: "ea.wo"; wp: "ea.wp"; wq: "ea.wq"; wr: "ea.wr"; ws: "ea.ws"; wt: "ea.wt"; wu: "ea.wu"; wv: "ea.wv"; ww: "ea.ww"; wx: "ea.wx"; wy: "ea.wy"; wz: "ea.wz"; xa: "ea.xa"; xb: "ea.xb"; xc: "ea.xc"; xd: "ea.xd"; xe: "ea.xe"; xf: "ea.xf"; xg: "ea.xg"; xh: "ea.xh"; xi: "ea.xi"; xj: "ea.xj"; xk: "ea.xk"; xl: "ea.xl"; xm: "ea.xm"; xn: "ea.xn"; xo: "ea.xo"; xp: "ea.xp"; xq: "ea.xq"; xr: "ea.xr"; xs: "ea.xs"; xt: "ea.xt"; xu: "ea.xu"; xv: "ea.xv"; xw: "ea.xw"; xx: "ea.xx"; xy: "ea.xy"; xz: "ea.xz"; ya: "ea.ya"; yb: "ea.yb"; yc: "ea.yc"; yd: "ea.yd"; ye: "ea.ye"; yf: "ea.yf"; yg: "ea.yg"; yh: "ea.yh"; yi: "ea.yi"; yj: "ea.yj"; yk: "ea.yk"; yl: "ea.yl"; ym: "ea.ym"; yn: "ea.yn"; yo: "ea.yo"; yp: "ea.yp"; yq: "ea.yq"; yr: "ea.yr"; ys: "ea.ys"; yt: "ea.yt"; yu: "ea.yu"; yv: "ea.yv"; yw: "ea.yw"; yx: "ea.yx"; yy: "ea.yy"; yz: "ea.yz"; za: "ea.za"; zb: "ea.zb"; zc: "ea.zc"; zd: "ea.zd"; ze: "ea.ze"; zf: "ea.zf"; zg: "ea.zg"; zh: "ea.zh"; zi: "ea.zi"; zj: "ea.zj"; zk: "ea.zk"; zl: "ea.zl"; zm: "ea.zm"; zn: "ea.zn"; zo: "ea.zo"; zp: "ea.zp"; zq: "ea.zq"; zr: "ea.zr"; zs: "ea.zs"; zt: "ea.zt"; zu: "ea.zu"; zv: "ea.zv"; zw: "ea.zw"; zx: "ea.zx"; zy: "ea.zy"; zz: "ea.zz"; }; eb: { aa: "eb.aa"; ab: "eb.ab"; ac: "eb.ac"; ad: "eb.ad"; ae: "eb.ae"; af: "eb.af"; ag: "eb.ag"; ah: "eb.ah"; ai: "eb.ai"; aj: "eb.aj"; ak: "eb.ak"; al: "eb.al"; am: "eb.am"; an: "eb.an"; ao: "eb.ao"; ap: "eb.ap"; aq: "eb.aq"; ar: "eb.ar"; as: "eb.as"; at: "eb.at"; au: "eb.au"; av: "eb.av"; aw: "eb.aw"; ax: "eb.ax"; ay: "eb.ay"; az: "eb.az"; ba: "eb.ba"; bb: "eb.bb"; bc: "eb.bc"; bd: "eb.bd"; be: "eb.be"; bf: "eb.bf"; bg: "eb.bg"; bh: "eb.bh"; bi: "eb.bi"; bj: "eb.bj"; bk: "eb.bk"; bl: "eb.bl"; bm: "eb.bm"; bn: "eb.bn"; bo: "eb.bo"; bp: "eb.bp"; bq: "eb.bq"; br: "eb.br"; bs: "eb.bs"; bt: "eb.bt"; bu: "eb.bu"; bv: "eb.bv"; bw: "eb.bw"; bx: "eb.bx"; by: "eb.by"; bz: "eb.bz"; ca: "eb.ca"; cb: "eb.cb"; cc: "eb.cc"; cd: "eb.cd"; ce: "eb.ce"; cf: "eb.cf"; cg: "eb.cg"; ch: "eb.ch"; ci: "eb.ci"; cj: "eb.cj"; ck: "eb.ck"; cl: "eb.cl"; cm: "eb.cm"; cn: "eb.cn"; co: "eb.co"; cp: "eb.cp"; cq: "eb.cq"; cr: "eb.cr"; cs: "eb.cs"; ct: "eb.ct"; cu: "eb.cu"; cv: "eb.cv"; cw: "eb.cw"; cx: "eb.cx"; cy: "eb.cy"; cz: "eb.cz"; da: "eb.da"; db: "eb.db"; dc: "eb.dc"; dd: "eb.dd"; de: "eb.de"; df: "eb.df"; dg: "eb.dg"; dh: "eb.dh"; di: "eb.di"; dj: "eb.dj"; dk: "eb.dk"; dl: "eb.dl"; dm: "eb.dm"; dn: "eb.dn"; do: "eb.do"; dp: "eb.dp"; dq: "eb.dq"; dr: "eb.dr"; ds: "eb.ds"; dt: "eb.dt"; du: "eb.du"; dv: "eb.dv"; dw: "eb.dw"; dx: "eb.dx"; dy: "eb.dy"; dz: "eb.dz"; ea: "eb.ea"; eb: "eb.eb"; ec: "eb.ec"; ed: "eb.ed"; ee: "eb.ee"; ef: "eb.ef"; eg: "eb.eg"; eh: "eb.eh"; ei: "eb.ei"; ej: "eb.ej"; ek: "eb.ek"; el: "eb.el"; em: "eb.em"; en: "eb.en"; eo: "eb.eo"; ep: "eb.ep"; eq: "eb.eq"; er: "eb.er"; es: "eb.es"; et: "eb.et"; eu: "eb.eu"; ev: "eb.ev"; ew: "eb.ew"; ex: "eb.ex"; ey: "eb.ey"; ez: "eb.ez"; fa: "eb.fa"; fb: "eb.fb"; fc: "eb.fc"; fd: "eb.fd"; fe: "eb.fe"; ff: "eb.ff"; fg: "eb.fg"; fh: "eb.fh"; fi: "eb.fi"; fj: "eb.fj"; fk: "eb.fk"; fl: "eb.fl"; fm: "eb.fm"; fn: "eb.fn"; fo: "eb.fo"; fp: "eb.fp"; fq: "eb.fq"; fr: "eb.fr"; fs: "eb.fs"; ft: "eb.ft"; fu: "eb.fu"; fv: "eb.fv"; fw: "eb.fw"; fx: "eb.fx"; fy: "eb.fy"; fz: "eb.fz"; ga: "eb.ga"; gb: "eb.gb"; gc: "eb.gc"; gd: "eb.gd"; ge: "eb.ge"; gf: "eb.gf"; gg: "eb.gg"; gh: "eb.gh"; gi: "eb.gi"; gj: "eb.gj"; gk: "eb.gk"; gl: "eb.gl"; gm: "eb.gm"; gn: "eb.gn"; go: "eb.go"; gp: "eb.gp"; gq: "eb.gq"; gr: "eb.gr"; gs: "eb.gs"; gt: "eb.gt"; gu: "eb.gu"; gv: "eb.gv"; gw: "eb.gw"; gx: "eb.gx"; gy: "eb.gy"; gz: "eb.gz"; ha: "eb.ha"; hb: "eb.hb"; hc: "eb.hc"; hd: "eb.hd"; he: "eb.he"; hf: "eb.hf"; hg: "eb.hg"; hh: "eb.hh"; hi: "eb.hi"; hj: "eb.hj"; hk: "eb.hk"; hl: "eb.hl"; hm: "eb.hm"; hn: "eb.hn"; ho: "eb.ho"; hp: "eb.hp"; hq: "eb.hq"; hr: "eb.hr"; hs: "eb.hs"; ht: "eb.ht"; hu: "eb.hu"; hv: "eb.hv"; hw: "eb.hw"; hx: "eb.hx"; hy: "eb.hy"; hz: "eb.hz"; ia: "eb.ia"; ib: "eb.ib"; ic: "eb.ic"; id: "eb.id"; ie: "eb.ie"; if: "eb.if"; ig: "eb.ig"; ih: "eb.ih"; ii: "eb.ii"; ij: "eb.ij"; ik: "eb.ik"; il: "eb.il"; im: "eb.im"; in: "eb.in"; io: "eb.io"; ip: "eb.ip"; iq: "eb.iq"; ir: "eb.ir"; is: "eb.is"; it: "eb.it"; iu: "eb.iu"; iv: "eb.iv"; iw: "eb.iw"; ix: "eb.ix"; iy: "eb.iy"; iz: "eb.iz"; ja: "eb.ja"; jb: "eb.jb"; jc: "eb.jc"; jd: "eb.jd"; je: "eb.je"; jf: "eb.jf"; jg: "eb.jg"; jh: "eb.jh"; ji: "eb.ji"; jj: "eb.jj"; jk: "eb.jk"; jl: "eb.jl"; jm: "eb.jm"; jn: "eb.jn"; jo: "eb.jo"; jp: "eb.jp"; jq: "eb.jq"; jr: "eb.jr"; js: "eb.js"; jt: "eb.jt"; ju: "eb.ju"; jv: "eb.jv"; jw: "eb.jw"; jx: "eb.jx"; jy: "eb.jy"; jz: "eb.jz"; ka: "eb.ka"; kb: "eb.kb"; kc: "eb.kc"; kd: "eb.kd"; ke: "eb.ke"; kf: "eb.kf"; kg: "eb.kg"; kh: "eb.kh"; ki: "eb.ki"; kj: "eb.kj"; kk: "eb.kk"; kl: "eb.kl"; km: "eb.km"; kn: "eb.kn"; ko: "eb.ko"; kp: "eb.kp"; kq: "eb.kq"; kr: "eb.kr"; ks: "eb.ks"; kt: "eb.kt"; ku: "eb.ku"; kv: "eb.kv"; kw: "eb.kw"; kx: "eb.kx"; ky: "eb.ky"; kz: "eb.kz"; la: "eb.la"; lb: "eb.lb"; lc: "eb.lc"; ld: "eb.ld"; le: "eb.le"; lf: "eb.lf"; lg: "eb.lg"; lh: "eb.lh"; li: "eb.li"; lj: "eb.lj"; lk: "eb.lk"; ll: "eb.ll"; lm: "eb.lm"; ln: "eb.ln"; lo: "eb.lo"; lp: "eb.lp"; lq: "eb.lq"; lr: "eb.lr"; ls: "eb.ls"; lt: "eb.lt"; lu: "eb.lu"; lv: "eb.lv"; lw: "eb.lw"; lx: "eb.lx"; ly: "eb.ly"; lz: "eb.lz"; ma: "eb.ma"; mb: "eb.mb"; mc: "eb.mc"; md: "eb.md"; me: "eb.me"; mf: "eb.mf"; mg: "eb.mg"; mh: "eb.mh"; mi: "eb.mi"; mj: "eb.mj"; mk: "eb.mk"; ml: "eb.ml"; mm: "eb.mm"; mn: "eb.mn"; mo: "eb.mo"; mp: "eb.mp"; mq: "eb.mq"; mr: "eb.mr"; ms: "eb.ms"; mt: "eb.mt"; mu: "eb.mu"; mv: "eb.mv"; mw: "eb.mw"; mx: "eb.mx"; my: "eb.my"; mz: "eb.mz"; na: "eb.na"; nb: "eb.nb"; nc: "eb.nc"; nd: "eb.nd"; ne: "eb.ne"; nf: "eb.nf"; ng: "eb.ng"; nh: "eb.nh"; ni: "eb.ni"; nj: "eb.nj"; nk: "eb.nk"; nl: "eb.nl"; nm: "eb.nm"; nn: "eb.nn"; no: "eb.no"; np: "eb.np"; nq: "eb.nq"; nr: "eb.nr"; ns: "eb.ns"; nt: "eb.nt"; nu: "eb.nu"; nv: "eb.nv"; nw: "eb.nw"; nx: "eb.nx"; ny: "eb.ny"; nz: "eb.nz"; oa: "eb.oa"; ob: "eb.ob"; oc: "eb.oc"; od: "eb.od"; oe: "eb.oe"; of: "eb.of"; og: "eb.og"; oh: "eb.oh"; oi: "eb.oi"; oj: "eb.oj"; ok: "eb.ok"; ol: "eb.ol"; om: "eb.om"; on: "eb.on"; oo: "eb.oo"; op: "eb.op"; oq: "eb.oq"; or: "eb.or"; os: "eb.os"; ot: "eb.ot"; ou: "eb.ou"; ov: "eb.ov"; ow: "eb.ow"; ox: "eb.ox"; oy: "eb.oy"; oz: "eb.oz"; pa: "eb.pa"; pb: "eb.pb"; pc: "eb.pc"; pd: "eb.pd"; pe: "eb.pe"; pf: "eb.pf"; pg: "eb.pg"; ph: "eb.ph"; pi: "eb.pi"; pj: "eb.pj"; pk: "eb.pk"; pl: "eb.pl"; pm: "eb.pm"; pn: "eb.pn"; po: "eb.po"; pp: "eb.pp"; pq: "eb.pq"; pr: "eb.pr"; ps: "eb.ps"; pt: "eb.pt"; pu: "eb.pu"; pv: "eb.pv"; pw: "eb.pw"; px: "eb.px"; py: "eb.py"; pz: "eb.pz"; qa: "eb.qa"; qb: "eb.qb"; qc: "eb.qc"; qd: "eb.qd"; qe: "eb.qe"; qf: "eb.qf"; qg: "eb.qg"; qh: "eb.qh"; qi: "eb.qi"; qj: "eb.qj"; qk: "eb.qk"; ql: "eb.ql"; qm: "eb.qm"; qn: "eb.qn"; qo: "eb.qo"; qp: "eb.qp"; qq: "eb.qq"; qr: "eb.qr"; qs: "eb.qs"; qt: "eb.qt"; qu: "eb.qu"; qv: "eb.qv"; qw: "eb.qw"; qx: "eb.qx"; qy: "eb.qy"; qz: "eb.qz"; ra: "eb.ra"; rb: "eb.rb"; rc: "eb.rc"; rd: "eb.rd"; re: "eb.re"; rf: "eb.rf"; rg: "eb.rg"; rh: "eb.rh"; ri: "eb.ri"; rj: "eb.rj"; rk: "eb.rk"; rl: "eb.rl"; rm: "eb.rm"; rn: "eb.rn"; ro: "eb.ro"; rp: "eb.rp"; rq: "eb.rq"; rr: "eb.rr"; rs: "eb.rs"; rt: "eb.rt"; ru: "eb.ru"; rv: "eb.rv"; rw: "eb.rw"; rx: "eb.rx"; ry: "eb.ry"; rz: "eb.rz"; sa: "eb.sa"; sb: "eb.sb"; sc: "eb.sc"; sd: "eb.sd"; se: "eb.se"; sf: "eb.sf"; sg: "eb.sg"; sh: "eb.sh"; si: "eb.si"; sj: "eb.sj"; sk: "eb.sk"; sl: "eb.sl"; sm: "eb.sm"; sn: "eb.sn"; so: "eb.so"; sp: "eb.sp"; sq: "eb.sq"; sr: "eb.sr"; ss: "eb.ss"; st: "eb.st"; su: "eb.su"; sv: "eb.sv"; sw: "eb.sw"; sx: "eb.sx"; sy: "eb.sy"; sz: "eb.sz"; ta: "eb.ta"; tb: "eb.tb"; tc: "eb.tc"; td: "eb.td"; te: "eb.te"; tf: "eb.tf"; tg: "eb.tg"; th: "eb.th"; ti: "eb.ti"; tj: "eb.tj"; tk: "eb.tk"; tl: "eb.tl"; tm: "eb.tm"; tn: "eb.tn"; to: "eb.to"; tp: "eb.tp"; tq: "eb.tq"; tr: "eb.tr"; ts: "eb.ts"; tt: "eb.tt"; tu: "eb.tu"; tv: "eb.tv"; tw: "eb.tw"; tx: "eb.tx"; ty: "eb.ty"; tz: "eb.tz"; ua: "eb.ua"; ub: "eb.ub"; uc: "eb.uc"; ud: "eb.ud"; ue: "eb.ue"; uf: "eb.uf"; ug: "eb.ug"; uh: "eb.uh"; ui: "eb.ui"; uj: "eb.uj"; uk: "eb.uk"; ul: "eb.ul"; um: "eb.um"; un: "eb.un"; uo: "eb.uo"; up: "eb.up"; uq: "eb.uq"; ur: "eb.ur"; us: "eb.us"; ut: "eb.ut"; uu: "eb.uu"; uv: "eb.uv"; uw: "eb.uw"; ux: "eb.ux"; uy: "eb.uy"; uz: "eb.uz"; va: "eb.va"; vb: "eb.vb"; vc: "eb.vc"; vd: "eb.vd"; ve: "eb.ve"; vf: "eb.vf"; vg: "eb.vg"; vh: "eb.vh"; vi: "eb.vi"; vj: "eb.vj"; vk: "eb.vk"; vl: "eb.vl"; vm: "eb.vm"; vn: "eb.vn"; vo: "eb.vo"; vp: "eb.vp"; vq: "eb.vq"; vr: "eb.vr"; vs: "eb.vs"; vt: "eb.vt"; vu: "eb.vu"; vv: "eb.vv"; vw: "eb.vw"; vx: "eb.vx"; vy: "eb.vy"; vz: "eb.vz"; wa: "eb.wa"; wb: "eb.wb"; wc: "eb.wc"; wd: "eb.wd"; we: "eb.we"; wf: "eb.wf"; wg: "eb.wg"; wh: "eb.wh"; wi: "eb.wi"; wj: "eb.wj"; wk: "eb.wk"; wl: "eb.wl"; wm: "eb.wm"; wn: "eb.wn"; wo: "eb.wo"; wp: "eb.wp"; wq: "eb.wq"; wr: "eb.wr"; ws: "eb.ws"; wt: "eb.wt"; wu: "eb.wu"; wv: "eb.wv"; ww: "eb.ww"; wx: "eb.wx"; wy: "eb.wy"; wz: "eb.wz"; xa: "eb.xa"; xb: "eb.xb"; xc: "eb.xc"; xd: "eb.xd"; xe: "eb.xe"; xf: "eb.xf"; xg: "eb.xg"; xh: "eb.xh"; xi: "eb.xi"; xj: "eb.xj"; xk: "eb.xk"; xl: "eb.xl"; xm: "eb.xm"; xn: "eb.xn"; xo: "eb.xo"; xp: "eb.xp"; xq: "eb.xq"; xr: "eb.xr"; xs: "eb.xs"; xt: "eb.xt"; xu: "eb.xu"; xv: "eb.xv"; xw: "eb.xw"; xx: "eb.xx"; xy: "eb.xy"; xz: "eb.xz"; ya: "eb.ya"; yb: "eb.yb"; yc: "eb.yc"; yd: "eb.yd"; ye: "eb.ye"; yf: "eb.yf"; yg: "eb.yg"; yh: "eb.yh"; yi: "eb.yi"; yj: "eb.yj"; yk: "eb.yk"; yl: "eb.yl"; ym: "eb.ym"; yn: "eb.yn"; yo: "eb.yo"; yp: "eb.yp"; yq: "eb.yq"; yr: "eb.yr"; ys: "eb.ys"; yt: "eb.yt"; yu: "eb.yu"; yv: "eb.yv"; yw: "eb.yw"; yx: "eb.yx"; yy: "eb.yy"; yz: "eb.yz"; za: "eb.za"; zb: "eb.zb"; zc: "eb.zc"; zd: "eb.zd"; ze: "eb.ze"; zf: "eb.zf"; zg: "eb.zg"; zh: "eb.zh"; zi: "eb.zi"; zj: "eb.zj"; zk: "eb.zk"; zl: "eb.zl"; zm: "eb.zm"; zn: "eb.zn"; zo: "eb.zo"; zp: "eb.zp"; zq: "eb.zq"; zr: "eb.zr"; zs: "eb.zs"; zt: "eb.zt"; zu: "eb.zu"; zv: "eb.zv"; zw: "eb.zw"; zx: "eb.zx"; zy: "eb.zy"; zz: "eb.zz"; }; ec: { aa: "ec.aa"; ab: "ec.ab"; ac: "ec.ac"; ad: "ec.ad"; ae: "ec.ae"; af: "ec.af"; ag: "ec.ag"; ah: "ec.ah"; ai: "ec.ai"; aj: "ec.aj"; ak: "ec.ak"; al: "ec.al"; am: "ec.am"; an: "ec.an"; ao: "ec.ao"; ap: "ec.ap"; aq: "ec.aq"; ar: "ec.ar"; as: "ec.as"; at: "ec.at"; au: "ec.au"; av: "ec.av"; aw: "ec.aw"; ax: "ec.ax"; ay: "ec.ay"; az: "ec.az"; ba: "ec.ba"; bb: "ec.bb"; bc: "ec.bc"; bd: "ec.bd"; be: "ec.be"; bf: "ec.bf"; bg: "ec.bg"; bh: "ec.bh"; bi: "ec.bi"; bj: "ec.bj"; bk: "ec.bk"; bl: "ec.bl"; bm: "ec.bm"; bn: "ec.bn"; bo: "ec.bo"; bp: "ec.bp"; bq: "ec.bq"; br: "ec.br"; bs: "ec.bs"; bt: "ec.bt"; bu: "ec.bu"; bv: "ec.bv"; bw: "ec.bw"; bx: "ec.bx"; by: "ec.by"; bz: "ec.bz"; ca: "ec.ca"; cb: "ec.cb"; cc: "ec.cc"; cd: "ec.cd"; ce: "ec.ce"; cf: "ec.cf"; cg: "ec.cg"; ch: "ec.ch"; ci: "ec.ci"; cj: "ec.cj"; ck: "ec.ck"; cl: "ec.cl"; cm: "ec.cm"; cn: "ec.cn"; co: "ec.co"; cp: "ec.cp"; cq: "ec.cq"; cr: "ec.cr"; cs: "ec.cs"; ct: "ec.ct"; cu: "ec.cu"; cv: "ec.cv"; cw: "ec.cw"; cx: "ec.cx"; cy: "ec.cy"; cz: "ec.cz"; da: "ec.da"; db: "ec.db"; dc: "ec.dc"; dd: "ec.dd"; de: "ec.de"; df: "ec.df"; dg: "ec.dg"; dh: "ec.dh"; di: "ec.di"; dj: "ec.dj"; dk: "ec.dk"; dl: "ec.dl"; dm: "ec.dm"; dn: "ec.dn"; do: "ec.do"; dp: "ec.dp"; dq: "ec.dq"; dr: "ec.dr"; ds: "ec.ds"; dt: "ec.dt"; du: "ec.du"; dv: "ec.dv"; dw: "ec.dw"; dx: "ec.dx"; dy: "ec.dy"; dz: "ec.dz"; ea: "ec.ea"; eb: "ec.eb"; ec: "ec.ec"; ed: "ec.ed"; ee: "ec.ee"; ef: "ec.ef"; eg: "ec.eg"; eh: "ec.eh"; ei: "ec.ei"; ej: "ec.ej"; ek: "ec.ek"; el: "ec.el"; em: "ec.em"; en: "ec.en"; eo: "ec.eo"; ep: "ec.ep"; eq: "ec.eq"; er: "ec.er"; es: "ec.es"; et: "ec.et"; eu: "ec.eu"; ev: "ec.ev"; ew: "ec.ew"; ex: "ec.ex"; ey: "ec.ey"; ez: "ec.ez"; fa: "ec.fa"; fb: "ec.fb"; fc: "ec.fc"; fd: "ec.fd"; fe: "ec.fe"; ff: "ec.ff"; fg: "ec.fg"; fh: "ec.fh"; fi: "ec.fi"; fj: "ec.fj"; fk: "ec.fk"; fl: "ec.fl"; fm: "ec.fm"; fn: "ec.fn"; fo: "ec.fo"; fp: "ec.fp"; fq: "ec.fq"; fr: "ec.fr"; fs: "ec.fs"; ft: "ec.ft"; fu: "ec.fu"; fv: "ec.fv"; fw: "ec.fw"; fx: "ec.fx"; fy: "ec.fy"; fz: "ec.fz"; ga: "ec.ga"; gb: "ec.gb"; gc: "ec.gc"; gd: "ec.gd"; ge: "ec.ge"; gf: "ec.gf"; gg: "ec.gg"; gh: "ec.gh"; gi: "ec.gi"; gj: "ec.gj"; gk: "ec.gk"; gl: "ec.gl"; gm: "ec.gm"; gn: "ec.gn"; go: "ec.go"; gp: "ec.gp"; gq: "ec.gq"; gr: "ec.gr"; gs: "ec.gs"; gt: "ec.gt"; gu: "ec.gu"; gv: "ec.gv"; gw: "ec.gw"; gx: "ec.gx"; gy: "ec.gy"; gz: "ec.gz"; ha: "ec.ha"; hb: "ec.hb"; hc: "ec.hc"; hd: "ec.hd"; he: "ec.he"; hf: "ec.hf"; hg: "ec.hg"; hh: "ec.hh"; hi: "ec.hi"; hj: "ec.hj"; hk: "ec.hk"; hl: "ec.hl"; hm: "ec.hm"; hn: "ec.hn"; ho: "ec.ho"; hp: "ec.hp"; hq: "ec.hq"; hr: "ec.hr"; hs: "ec.hs"; ht: "ec.ht"; hu: "ec.hu"; hv: "ec.hv"; hw: "ec.hw"; hx: "ec.hx"; hy: "ec.hy"; hz: "ec.hz"; ia: "ec.ia"; ib: "ec.ib"; ic: "ec.ic"; id: "ec.id"; ie: "ec.ie"; if: "ec.if"; ig: "ec.ig"; ih: "ec.ih"; ii: "ec.ii"; ij: "ec.ij"; ik: "ec.ik"; il: "ec.il"; im: "ec.im"; in: "ec.in"; io: "ec.io"; ip: "ec.ip"; iq: "ec.iq"; ir: "ec.ir"; is: "ec.is"; it: "ec.it"; iu: "ec.iu"; iv: "ec.iv"; iw: "ec.iw"; ix: "ec.ix"; iy: "ec.iy"; iz: "ec.iz"; ja: "ec.ja"; jb: "ec.jb"; jc: "ec.jc"; jd: "ec.jd"; je: "ec.je"; jf: "ec.jf"; jg: "ec.jg"; jh: "ec.jh"; ji: "ec.ji"; jj: "ec.jj"; jk: "ec.jk"; jl: "ec.jl"; jm: "ec.jm"; jn: "ec.jn"; jo: "ec.jo"; jp: "ec.jp"; jq: "ec.jq"; jr: "ec.jr"; js: "ec.js"; jt: "ec.jt"; ju: "ec.ju"; jv: "ec.jv"; jw: "ec.jw"; jx: "ec.jx"; jy: "ec.jy"; jz: "ec.jz"; ka: "ec.ka"; kb: "ec.kb"; kc: "ec.kc"; kd: "ec.kd"; ke: "ec.ke"; kf: "ec.kf"; kg: "ec.kg"; kh: "ec.kh"; ki: "ec.ki"; kj: "ec.kj"; kk: "ec.kk"; kl: "ec.kl"; km: "ec.km"; kn: "ec.kn"; ko: "ec.ko"; kp: "ec.kp"; kq: "ec.kq"; kr: "ec.kr"; ks: "ec.ks"; kt: "ec.kt"; ku: "ec.ku"; kv: "ec.kv"; kw: "ec.kw"; kx: "ec.kx"; ky: "ec.ky"; kz: "ec.kz"; la: "ec.la"; lb: "ec.lb"; lc: "ec.lc"; ld: "ec.ld"; le: "ec.le"; lf: "ec.lf"; lg: "ec.lg"; lh: "ec.lh"; li: "ec.li"; lj: "ec.lj"; lk: "ec.lk"; ll: "ec.ll"; lm: "ec.lm"; ln: "ec.ln"; lo: "ec.lo"; lp: "ec.lp"; lq: "ec.lq"; lr: "ec.lr"; ls: "ec.ls"; lt: "ec.lt"; lu: "ec.lu"; lv: "ec.lv"; lw: "ec.lw"; lx: "ec.lx"; ly: "ec.ly"; lz: "ec.lz"; ma: "ec.ma"; mb: "ec.mb"; mc: "ec.mc"; md: "ec.md"; me: "ec.me"; mf: "ec.mf"; mg: "ec.mg"; mh: "ec.mh"; mi: "ec.mi"; mj: "ec.mj"; mk: "ec.mk"; ml: "ec.ml"; mm: "ec.mm"; mn: "ec.mn"; mo: "ec.mo"; mp: "ec.mp"; mq: "ec.mq"; mr: "ec.mr"; ms: "ec.ms"; mt: "ec.mt"; mu: "ec.mu"; mv: "ec.mv"; mw: "ec.mw"; mx: "ec.mx"; my: "ec.my"; mz: "ec.mz"; na: "ec.na"; nb: "ec.nb"; nc: "ec.nc"; nd: "ec.nd"; ne: "ec.ne"; nf: "ec.nf"; ng: "ec.ng"; nh: "ec.nh"; ni: "ec.ni"; nj: "ec.nj"; nk: "ec.nk"; nl: "ec.nl"; nm: "ec.nm"; nn: "ec.nn"; no: "ec.no"; np: "ec.np"; nq: "ec.nq"; nr: "ec.nr"; ns: "ec.ns"; nt: "ec.nt"; nu: "ec.nu"; nv: "ec.nv"; nw: "ec.nw"; nx: "ec.nx"; ny: "ec.ny"; nz: "ec.nz"; oa: "ec.oa"; ob: "ec.ob"; oc: "ec.oc"; od: "ec.od"; oe: "ec.oe"; of: "ec.of"; og: "ec.og"; oh: "ec.oh"; oi: "ec.oi"; oj: "ec.oj"; ok: "ec.ok"; ol: "ec.ol"; om: "ec.om"; on: "ec.on"; oo: "ec.oo"; op: "ec.op"; oq: "ec.oq"; or: "ec.or"; os: "ec.os"; ot: "ec.ot"; ou: "ec.ou"; ov: "ec.ov"; ow: "ec.ow"; ox: "ec.ox"; oy: "ec.oy"; oz: "ec.oz"; pa: "ec.pa"; pb: "ec.pb"; pc: "ec.pc"; pd: "ec.pd"; pe: "ec.pe"; pf: "ec.pf"; pg: "ec.pg"; ph: "ec.ph"; pi: "ec.pi"; pj: "ec.pj"; pk: "ec.pk"; pl: "ec.pl"; pm: "ec.pm"; pn: "ec.pn"; po: "ec.po"; pp: "ec.pp"; pq: "ec.pq"; pr: "ec.pr"; ps: "ec.ps"; pt: "ec.pt"; pu: "ec.pu"; pv: "ec.pv"; pw: "ec.pw"; px: "ec.px"; py: "ec.py"; pz: "ec.pz"; qa: "ec.qa"; qb: "ec.qb"; qc: "ec.qc"; qd: "ec.qd"; qe: "ec.qe"; qf: "ec.qf"; qg: "ec.qg"; qh: "ec.qh"; qi: "ec.qi"; qj: "ec.qj"; qk: "ec.qk"; ql: "ec.ql"; qm: "ec.qm"; qn: "ec.qn"; qo: "ec.qo"; qp: "ec.qp"; qq: "ec.qq"; qr: "ec.qr"; qs: "ec.qs"; qt: "ec.qt"; qu: "ec.qu"; qv: "ec.qv"; qw: "ec.qw"; qx: "ec.qx"; qy: "ec.qy"; qz: "ec.qz"; ra: "ec.ra"; rb: "ec.rb"; rc: "ec.rc"; rd: "ec.rd"; re: "ec.re"; rf: "ec.rf"; rg: "ec.rg"; rh: "ec.rh"; ri: "ec.ri"; rj: "ec.rj"; rk: "ec.rk"; rl: "ec.rl"; rm: "ec.rm"; rn: "ec.rn"; ro: "ec.ro"; rp: "ec.rp"; rq: "ec.rq"; rr: "ec.rr"; rs: "ec.rs"; rt: "ec.rt"; ru: "ec.ru"; rv: "ec.rv"; rw: "ec.rw"; rx: "ec.rx"; ry: "ec.ry"; rz: "ec.rz"; sa: "ec.sa"; sb: "ec.sb"; sc: "ec.sc"; sd: "ec.sd"; se: "ec.se"; sf: "ec.sf"; sg: "ec.sg"; sh: "ec.sh"; si: "ec.si"; sj: "ec.sj"; sk: "ec.sk"; sl: "ec.sl"; sm: "ec.sm"; sn: "ec.sn"; so: "ec.so"; sp: "ec.sp"; sq: "ec.sq"; sr: "ec.sr"; ss: "ec.ss"; st: "ec.st"; su: "ec.su"; sv: "ec.sv"; sw: "ec.sw"; sx: "ec.sx"; sy: "ec.sy"; sz: "ec.sz"; ta: "ec.ta"; tb: "ec.tb"; tc: "ec.tc"; td: "ec.td"; te: "ec.te"; tf: "ec.tf"; tg: "ec.tg"; th: "ec.th"; ti: "ec.ti"; tj: "ec.tj"; tk: "ec.tk"; tl: "ec.tl"; tm: "ec.tm"; tn: "ec.tn"; to: "ec.to"; tp: "ec.tp"; tq: "ec.tq"; tr: "ec.tr"; ts: "ec.ts"; tt: "ec.tt"; tu: "ec.tu"; tv: "ec.tv"; tw: "ec.tw"; tx: "ec.tx"; ty: "ec.ty"; tz: "ec.tz"; ua: "ec.ua"; ub: "ec.ub"; uc: "ec.uc"; ud: "ec.ud"; ue: "ec.ue"; uf: "ec.uf"; ug: "ec.ug"; uh: "ec.uh"; ui: "ec.ui"; uj: "ec.uj"; uk: "ec.uk"; ul: "ec.ul"; um: "ec.um"; un: "ec.un"; uo: "ec.uo"; up: "ec.up"; uq: "ec.uq"; ur: "ec.ur"; us: "ec.us"; ut: "ec.ut"; uu: "ec.uu"; uv: "ec.uv"; uw: "ec.uw"; ux: "ec.ux"; uy: "ec.uy"; uz: "ec.uz"; va: "ec.va"; vb: "ec.vb"; vc: "ec.vc"; vd: "ec.vd"; ve: "ec.ve"; vf: "ec.vf"; vg: "ec.vg"; vh: "ec.vh"; vi: "ec.vi"; vj: "ec.vj"; vk: "ec.vk"; vl: "ec.vl"; vm: "ec.vm"; vn: "ec.vn"; vo: "ec.vo"; vp: "ec.vp"; vq: "ec.vq"; vr: "ec.vr"; vs: "ec.vs"; vt: "ec.vt"; vu: "ec.vu"; vv: "ec.vv"; vw: "ec.vw"; vx: "ec.vx"; vy: "ec.vy"; vz: "ec.vz"; wa: "ec.wa"; wb: "ec.wb"; wc: "ec.wc"; wd: "ec.wd"; we: "ec.we"; wf: "ec.wf"; wg: "ec.wg"; wh: "ec.wh"; wi: "ec.wi"; wj: "ec.wj"; wk: "ec.wk"; wl: "ec.wl"; wm: "ec.wm"; wn: "ec.wn"; wo: "ec.wo"; wp: "ec.wp"; wq: "ec.wq"; wr: "ec.wr"; ws: "ec.ws"; wt: "ec.wt"; wu: "ec.wu"; wv: "ec.wv"; ww: "ec.ww"; wx: "ec.wx"; wy: "ec.wy"; wz: "ec.wz"; xa: "ec.xa"; xb: "ec.xb"; xc: "ec.xc"; xd: "ec.xd"; xe: "ec.xe"; xf: "ec.xf"; xg: "ec.xg"; xh: "ec.xh"; xi: "ec.xi"; xj: "ec.xj"; xk: "ec.xk"; xl: "ec.xl"; xm: "ec.xm"; xn: "ec.xn"; xo: "ec.xo"; xp: "ec.xp"; xq: "ec.xq"; xr: "ec.xr"; xs: "ec.xs"; xt: "ec.xt"; xu: "ec.xu"; xv: "ec.xv"; xw: "ec.xw"; xx: "ec.xx"; xy: "ec.xy"; xz: "ec.xz"; ya: "ec.ya"; yb: "ec.yb"; yc: "ec.yc"; yd: "ec.yd"; ye: "ec.ye"; yf: "ec.yf"; yg: "ec.yg"; yh: "ec.yh"; yi: "ec.yi"; yj: "ec.yj"; yk: "ec.yk"; yl: "ec.yl"; ym: "ec.ym"; yn: "ec.yn"; yo: "ec.yo"; yp: "ec.yp"; yq: "ec.yq"; yr: "ec.yr"; ys: "ec.ys"; yt: "ec.yt"; yu: "ec.yu"; yv: "ec.yv"; yw: "ec.yw"; yx: "ec.yx"; yy: "ec.yy"; yz: "ec.yz"; za: "ec.za"; zb: "ec.zb"; zc: "ec.zc"; zd: "ec.zd"; ze: "ec.ze"; zf: "ec.zf"; zg: "ec.zg"; zh: "ec.zh"; zi: "ec.zi"; zj: "ec.zj"; zk: "ec.zk"; zl: "ec.zl"; zm: "ec.zm"; zn: "ec.zn"; zo: "ec.zo"; zp: "ec.zp"; zq: "ec.zq"; zr: "ec.zr"; zs: "ec.zs"; zt: "ec.zt"; zu: "ec.zu"; zv: "ec.zv"; zw: "ec.zw"; zx: "ec.zx"; zy: "ec.zy"; zz: "ec.zz"; }; ed: { aa: "ed.aa"; ab: "ed.ab"; ac: "ed.ac"; ad: "ed.ad"; ae: "ed.ae"; af: "ed.af"; ag: "ed.ag"; ah: "ed.ah"; ai: "ed.ai"; aj: "ed.aj"; ak: "ed.ak"; al: "ed.al"; am: "ed.am"; an: "ed.an"; ao: "ed.ao"; ap: "ed.ap"; aq: "ed.aq"; ar: "ed.ar"; as: "ed.as"; at: "ed.at"; au: "ed.au"; av: "ed.av"; aw: "ed.aw"; ax: "ed.ax"; ay: "ed.ay"; az: "ed.az"; ba: "ed.ba"; bb: "ed.bb"; bc: "ed.bc"; bd: "ed.bd"; be: "ed.be"; bf: "ed.bf"; bg: "ed.bg"; bh: "ed.bh"; bi: "ed.bi"; bj: "ed.bj"; bk: "ed.bk"; bl: "ed.bl"; bm: "ed.bm"; bn: "ed.bn"; bo: "ed.bo"; bp: "ed.bp"; bq: "ed.bq"; br: "ed.br"; bs: "ed.bs"; bt: "ed.bt"; bu: "ed.bu"; bv: "ed.bv"; bw: "ed.bw"; bx: "ed.bx"; by: "ed.by"; bz: "ed.bz"; ca: "ed.ca"; cb: "ed.cb"; cc: "ed.cc"; cd: "ed.cd"; ce: "ed.ce"; cf: "ed.cf"; cg: "ed.cg"; ch: "ed.ch"; ci: "ed.ci"; cj: "ed.cj"; ck: "ed.ck"; cl: "ed.cl"; cm: "ed.cm"; cn: "ed.cn"; co: "ed.co"; cp: "ed.cp"; cq: "ed.cq"; cr: "ed.cr"; cs: "ed.cs"; ct: "ed.ct"; cu: "ed.cu"; cv: "ed.cv"; cw: "ed.cw"; cx: "ed.cx"; cy: "ed.cy"; cz: "ed.cz"; da: "ed.da"; db: "ed.db"; dc: "ed.dc"; dd: "ed.dd"; de: "ed.de"; df: "ed.df"; dg: "ed.dg"; dh: "ed.dh"; di: "ed.di"; dj: "ed.dj"; dk: "ed.dk"; dl: "ed.dl"; dm: "ed.dm"; dn: "ed.dn"; do: "ed.do"; dp: "ed.dp"; dq: "ed.dq"; dr: "ed.dr"; ds: "ed.ds"; dt: "ed.dt"; du: "ed.du"; dv: "ed.dv"; dw: "ed.dw"; dx: "ed.dx"; dy: "ed.dy"; dz: "ed.dz"; ea: "ed.ea"; eb: "ed.eb"; ec: "ed.ec"; ed: "ed.ed"; ee: "ed.ee"; ef: "ed.ef"; eg: "ed.eg"; eh: "ed.eh"; ei: "ed.ei"; ej: "ed.ej"; ek: "ed.ek"; el: "ed.el"; em: "ed.em"; en: "ed.en"; eo: "ed.eo"; ep: "ed.ep"; eq: "ed.eq"; er: "ed.er"; es: "ed.es"; et: "ed.et"; eu: "ed.eu"; ev: "ed.ev"; ew: "ed.ew"; ex: "ed.ex"; ey: "ed.ey"; ez: "ed.ez"; fa: "ed.fa"; fb: "ed.fb"; fc: "ed.fc"; fd: "ed.fd"; fe: "ed.fe"; ff: "ed.ff"; fg: "ed.fg"; fh: "ed.fh"; fi: "ed.fi"; fj: "ed.fj"; fk: "ed.fk"; fl: "ed.fl"; fm: "ed.fm"; fn: "ed.fn"; fo: "ed.fo"; fp: "ed.fp"; fq: "ed.fq"; fr: "ed.fr"; fs: "ed.fs"; ft: "ed.ft"; fu: "ed.fu"; fv: "ed.fv"; fw: "ed.fw"; fx: "ed.fx"; fy: "ed.fy"; fz: "ed.fz"; ga: "ed.ga"; gb: "ed.gb"; gc: "ed.gc"; gd: "ed.gd"; ge: "ed.ge"; gf: "ed.gf"; gg: "ed.gg"; gh: "ed.gh"; gi: "ed.gi"; gj: "ed.gj"; gk: "ed.gk"; gl: "ed.gl"; gm: "ed.gm"; gn: "ed.gn"; go: "ed.go"; gp: "ed.gp"; gq: "ed.gq"; gr: "ed.gr"; gs: "ed.gs"; gt: "ed.gt"; gu: "ed.gu"; gv: "ed.gv"; gw: "ed.gw"; gx: "ed.gx"; gy: "ed.gy"; gz: "ed.gz"; ha: "ed.ha"; hb: "ed.hb"; hc: "ed.hc"; hd: "ed.hd"; he: "ed.he"; hf: "ed.hf"; hg: "ed.hg"; hh: "ed.hh"; hi: "ed.hi"; hj: "ed.hj"; hk: "ed.hk"; hl: "ed.hl"; hm: "ed.hm"; hn: "ed.hn"; ho: "ed.ho"; hp: "ed.hp"; hq: "ed.hq"; hr: "ed.hr"; hs: "ed.hs"; ht: "ed.ht"; hu: "ed.hu"; hv: "ed.hv"; hw: "ed.hw"; hx: "ed.hx"; hy: "ed.hy"; hz: "ed.hz"; ia: "ed.ia"; ib: "ed.ib"; ic: "ed.ic"; id: "ed.id"; ie: "ed.ie"; if: "ed.if"; ig: "ed.ig"; ih: "ed.ih"; ii: "ed.ii"; ij: "ed.ij"; ik: "ed.ik"; il: "ed.il"; im: "ed.im"; in: "ed.in"; io: "ed.io"; ip: "ed.ip"; iq: "ed.iq"; ir: "ed.ir"; is: "ed.is"; it: "ed.it"; iu: "ed.iu"; iv: "ed.iv"; iw: "ed.iw"; ix: "ed.ix"; iy: "ed.iy"; iz: "ed.iz"; ja: "ed.ja"; jb: "ed.jb"; jc: "ed.jc"; jd: "ed.jd"; je: "ed.je"; jf: "ed.jf"; jg: "ed.jg"; jh: "ed.jh"; ji: "ed.ji"; jj: "ed.jj"; jk: "ed.jk"; jl: "ed.jl"; jm: "ed.jm"; jn: "ed.jn"; jo: "ed.jo"; jp: "ed.jp"; jq: "ed.jq"; jr: "ed.jr"; js: "ed.js"; jt: "ed.jt"; ju: "ed.ju"; jv: "ed.jv"; jw: "ed.jw"; jx: "ed.jx"; jy: "ed.jy"; jz: "ed.jz"; ka: "ed.ka"; kb: "ed.kb"; kc: "ed.kc"; kd: "ed.kd"; ke: "ed.ke"; kf: "ed.kf"; kg: "ed.kg"; kh: "ed.kh"; ki: "ed.ki"; kj: "ed.kj"; kk: "ed.kk"; kl: "ed.kl"; km: "ed.km"; kn: "ed.kn"; ko: "ed.ko"; kp: "ed.kp"; kq: "ed.kq"; kr: "ed.kr"; ks: "ed.ks"; kt: "ed.kt"; ku: "ed.ku"; kv: "ed.kv"; kw: "ed.kw"; kx: "ed.kx"; ky: "ed.ky"; kz: "ed.kz"; la: "ed.la"; lb: "ed.lb"; lc: "ed.lc"; ld: "ed.ld"; le: "ed.le"; lf: "ed.lf"; lg: "ed.lg"; lh: "ed.lh"; li: "ed.li"; lj: "ed.lj"; lk: "ed.lk"; ll: "ed.ll"; lm: "ed.lm"; ln: "ed.ln"; lo: "ed.lo"; lp: "ed.lp"; lq: "ed.lq"; lr: "ed.lr"; ls: "ed.ls"; lt: "ed.lt"; lu: "ed.lu"; lv: "ed.lv"; lw: "ed.lw"; lx: "ed.lx"; ly: "ed.ly"; lz: "ed.lz"; ma: "ed.ma"; mb: "ed.mb"; mc: "ed.mc"; md: "ed.md"; me: "ed.me"; mf: "ed.mf"; mg: "ed.mg"; mh: "ed.mh"; mi: "ed.mi"; mj: "ed.mj"; mk: "ed.mk"; ml: "ed.ml"; mm: "ed.mm"; mn: "ed.mn"; mo: "ed.mo"; mp: "ed.mp"; mq: "ed.mq"; mr: "ed.mr"; ms: "ed.ms"; mt: "ed.mt"; mu: "ed.mu"; mv: "ed.mv"; mw: "ed.mw"; mx: "ed.mx"; my: "ed.my"; mz: "ed.mz"; na: "ed.na"; nb: "ed.nb"; nc: "ed.nc"; nd: "ed.nd"; ne: "ed.ne"; nf: "ed.nf"; ng: "ed.ng"; nh: "ed.nh"; ni: "ed.ni"; nj: "ed.nj"; nk: "ed.nk"; nl: "ed.nl"; nm: "ed.nm"; nn: "ed.nn"; no: "ed.no"; np: "ed.np"; nq: "ed.nq"; nr: "ed.nr"; ns: "ed.ns"; nt: "ed.nt"; nu: "ed.nu"; nv: "ed.nv"; nw: "ed.nw"; nx: "ed.nx"; ny: "ed.ny"; nz: "ed.nz"; oa: "ed.oa"; ob: "ed.ob"; oc: "ed.oc"; od: "ed.od"; oe: "ed.oe"; of: "ed.of"; og: "ed.og"; oh: "ed.oh"; oi: "ed.oi"; oj: "ed.oj"; ok: "ed.ok"; ol: "ed.ol"; om: "ed.om"; on: "ed.on"; oo: "ed.oo"; op: "ed.op"; oq: "ed.oq"; or: "ed.or"; os: "ed.os"; ot: "ed.ot"; ou: "ed.ou"; ov: "ed.ov"; ow: "ed.ow"; ox: "ed.ox"; oy: "ed.oy"; oz: "ed.oz"; pa: "ed.pa"; pb: "ed.pb"; pc: "ed.pc"; pd: "ed.pd"; pe: "ed.pe"; pf: "ed.pf"; pg: "ed.pg"; ph: "ed.ph"; pi: "ed.pi"; pj: "ed.pj"; pk: "ed.pk"; pl: "ed.pl"; pm: "ed.pm"; pn: "ed.pn"; po: "ed.po"; pp: "ed.pp"; pq: "ed.pq"; pr: "ed.pr"; ps: "ed.ps"; pt: "ed.pt"; pu: "ed.pu"; pv: "ed.pv"; pw: "ed.pw"; px: "ed.px"; py: "ed.py"; pz: "ed.pz"; qa: "ed.qa"; qb: "ed.qb"; qc: "ed.qc"; qd: "ed.qd"; qe: "ed.qe"; qf: "ed.qf"; qg: "ed.qg"; qh: "ed.qh"; qi: "ed.qi"; qj: "ed.qj"; qk: "ed.qk"; ql: "ed.ql"; qm: "ed.qm"; qn: "ed.qn"; qo: "ed.qo"; qp: "ed.qp"; qq: "ed.qq"; qr: "ed.qr"; qs: "ed.qs"; qt: "ed.qt"; qu: "ed.qu"; qv: "ed.qv"; qw: "ed.qw"; qx: "ed.qx"; qy: "ed.qy"; qz: "ed.qz"; ra: "ed.ra"; rb: "ed.rb"; rc: "ed.rc"; rd: "ed.rd"; re: "ed.re"; rf: "ed.rf"; rg: "ed.rg"; rh: "ed.rh"; ri: "ed.ri"; rj: "ed.rj"; rk: "ed.rk"; rl: "ed.rl"; rm: "ed.rm"; rn: "ed.rn"; ro: "ed.ro"; rp: "ed.rp"; rq: "ed.rq"; rr: "ed.rr"; rs: "ed.rs"; rt: "ed.rt"; ru: "ed.ru"; rv: "ed.rv"; rw: "ed.rw"; rx: "ed.rx"; ry: "ed.ry"; rz: "ed.rz"; sa: "ed.sa"; sb: "ed.sb"; sc: "ed.sc"; sd: "ed.sd"; se: "ed.se"; sf: "ed.sf"; sg: "ed.sg"; sh: "ed.sh"; si: "ed.si"; sj: "ed.sj"; sk: "ed.sk"; sl: "ed.sl"; sm: "ed.sm"; sn: "ed.sn"; so: "ed.so"; sp: "ed.sp"; sq: "ed.sq"; sr: "ed.sr"; ss: "ed.ss"; st: "ed.st"; su: "ed.su"; sv: "ed.sv"; sw: "ed.sw"; sx: "ed.sx"; sy: "ed.sy"; sz: "ed.sz"; ta: "ed.ta"; tb: "ed.tb"; tc: "ed.tc"; td: "ed.td"; te: "ed.te"; tf: "ed.tf"; tg: "ed.tg"; th: "ed.th"; ti: "ed.ti"; tj: "ed.tj"; tk: "ed.tk"; tl: "ed.tl"; tm: "ed.tm"; tn: "ed.tn"; to: "ed.to"; tp: "ed.tp"; tq: "ed.tq"; tr: "ed.tr"; ts: "ed.ts"; tt: "ed.tt"; tu: "ed.tu"; tv: "ed.tv"; tw: "ed.tw"; tx: "ed.tx"; ty: "ed.ty"; tz: "ed.tz"; ua: "ed.ua"; ub: "ed.ub"; uc: "ed.uc"; ud: "ed.ud"; ue: "ed.ue"; uf: "ed.uf"; ug: "ed.ug"; uh: "ed.uh"; ui: "ed.ui"; uj: "ed.uj"; uk: "ed.uk"; ul: "ed.ul"; um: "ed.um"; un: "ed.un"; uo: "ed.uo"; up: "ed.up"; uq: "ed.uq"; ur: "ed.ur"; us: "ed.us"; ut: "ed.ut"; uu: "ed.uu"; uv: "ed.uv"; uw: "ed.uw"; ux: "ed.ux"; uy: "ed.uy"; uz: "ed.uz"; va: "ed.va"; vb: "ed.vb"; vc: "ed.vc"; vd: "ed.vd"; ve: "ed.ve"; vf: "ed.vf"; vg: "ed.vg"; vh: "ed.vh"; vi: "ed.vi"; vj: "ed.vj"; vk: "ed.vk"; vl: "ed.vl"; vm: "ed.vm"; vn: "ed.vn"; vo: "ed.vo"; vp: "ed.vp"; vq: "ed.vq"; vr: "ed.vr"; vs: "ed.vs"; vt: "ed.vt"; vu: "ed.vu"; vv: "ed.vv"; vw: "ed.vw"; vx: "ed.vx"; vy: "ed.vy"; vz: "ed.vz"; wa: "ed.wa"; wb: "ed.wb"; wc: "ed.wc"; wd: "ed.wd"; we: "ed.we"; wf: "ed.wf"; wg: "ed.wg"; wh: "ed.wh"; wi: "ed.wi"; wj: "ed.wj"; wk: "ed.wk"; wl: "ed.wl"; wm: "ed.wm"; wn: "ed.wn"; wo: "ed.wo"; wp: "ed.wp"; wq: "ed.wq"; wr: "ed.wr"; ws: "ed.ws"; wt: "ed.wt"; wu: "ed.wu"; wv: "ed.wv"; ww: "ed.ww"; wx: "ed.wx"; wy: "ed.wy"; wz: "ed.wz"; xa: "ed.xa"; xb: "ed.xb"; xc: "ed.xc"; xd: "ed.xd"; xe: "ed.xe"; xf: "ed.xf"; xg: "ed.xg"; xh: "ed.xh"; xi: "ed.xi"; xj: "ed.xj"; xk: "ed.xk"; xl: "ed.xl"; xm: "ed.xm"; xn: "ed.xn"; xo: "ed.xo"; xp: "ed.xp"; xq: "ed.xq"; xr: "ed.xr"; xs: "ed.xs"; xt: "ed.xt"; xu: "ed.xu"; xv: "ed.xv"; xw: "ed.xw"; xx: "ed.xx"; xy: "ed.xy"; xz: "ed.xz"; ya: "ed.ya"; yb: "ed.yb"; yc: "ed.yc"; yd: "ed.yd"; ye: "ed.ye"; yf: "ed.yf"; yg: "ed.yg"; yh: "ed.yh"; yi: "ed.yi"; yj: "ed.yj"; yk: "ed.yk"; yl: "ed.yl"; ym: "ed.ym"; yn: "ed.yn"; yo: "ed.yo"; yp: "ed.yp"; yq: "ed.yq"; yr: "ed.yr"; ys: "ed.ys"; yt: "ed.yt"; yu: "ed.yu"; yv: "ed.yv"; yw: "ed.yw"; yx: "ed.yx"; yy: "ed.yy"; yz: "ed.yz"; za: "ed.za"; zb: "ed.zb"; zc: "ed.zc"; zd: "ed.zd"; ze: "ed.ze"; zf: "ed.zf"; zg: "ed.zg"; zh: "ed.zh"; zi: "ed.zi"; zj: "ed.zj"; zk: "ed.zk"; zl: "ed.zl"; zm: "ed.zm"; zn: "ed.zn"; zo: "ed.zo"; zp: "ed.zp"; zq: "ed.zq"; zr: "ed.zr"; zs: "ed.zs"; zt: "ed.zt"; zu: "ed.zu"; zv: "ed.zv"; zw: "ed.zw"; zx: "ed.zx"; zy: "ed.zy"; zz: "ed.zz"; }; ee: { aa: "ee.aa"; ab: "ee.ab"; ac: "ee.ac"; ad: "ee.ad"; ae: "ee.ae"; af: "ee.af"; ag: "ee.ag"; ah: "ee.ah"; ai: "ee.ai"; aj: "ee.aj"; ak: "ee.ak"; al: "ee.al"; am: "ee.am"; an: "ee.an"; ao: "ee.ao"; ap: "ee.ap"; aq: "ee.aq"; ar: "ee.ar"; as: "ee.as"; at: "ee.at"; au: "ee.au"; av: "ee.av"; aw: "ee.aw"; ax: "ee.ax"; ay: "ee.ay"; az: "ee.az"; ba: "ee.ba"; bb: "ee.bb"; bc: "ee.bc"; bd: "ee.bd"; be: "ee.be"; bf: "ee.bf"; bg: "ee.bg"; bh: "ee.bh"; bi: "ee.bi"; bj: "ee.bj"; bk: "ee.bk"; bl: "ee.bl"; bm: "ee.bm"; bn: "ee.bn"; bo: "ee.bo"; bp: "ee.bp"; bq: "ee.bq"; br: "ee.br"; bs: "ee.bs"; bt: "ee.bt"; bu: "ee.bu"; bv: "ee.bv"; bw: "ee.bw"; bx: "ee.bx"; by: "ee.by"; bz: "ee.bz"; ca: "ee.ca"; cb: "ee.cb"; cc: "ee.cc"; cd: "ee.cd"; ce: "ee.ce"; cf: "ee.cf"; cg: "ee.cg"; ch: "ee.ch"; ci: "ee.ci"; cj: "ee.cj"; ck: "ee.ck"; cl: "ee.cl"; cm: "ee.cm"; cn: "ee.cn"; co: "ee.co"; cp: "ee.cp"; cq: "ee.cq"; cr: "ee.cr"; cs: "ee.cs"; ct: "ee.ct"; cu: "ee.cu"; cv: "ee.cv"; cw: "ee.cw"; cx: "ee.cx"; cy: "ee.cy"; cz: "ee.cz"; da: "ee.da"; db: "ee.db"; dc: "ee.dc"; dd: "ee.dd"; de: "ee.de"; df: "ee.df"; dg: "ee.dg"; dh: "ee.dh"; di: "ee.di"; dj: "ee.dj"; dk: "ee.dk"; dl: "ee.dl"; dm: "ee.dm"; dn: "ee.dn"; do: "ee.do"; dp: "ee.dp"; dq: "ee.dq"; dr: "ee.dr"; ds: "ee.ds"; dt: "ee.dt"; du: "ee.du"; dv: "ee.dv"; dw: "ee.dw"; dx: "ee.dx"; dy: "ee.dy"; dz: "ee.dz"; ea: "ee.ea"; eb: "ee.eb"; ec: "ee.ec"; ed: "ee.ed"; ee: "ee.ee"; ef: "ee.ef"; eg: "ee.eg"; eh: "ee.eh"; ei: "ee.ei"; ej: "ee.ej"; ek: "ee.ek"; el: "ee.el"; em: "ee.em"; en: "ee.en"; eo: "ee.eo"; ep: "ee.ep"; eq: "ee.eq"; er: "ee.er"; es: "ee.es"; et: "ee.et"; eu: "ee.eu"; ev: "ee.ev"; ew: "ee.ew"; ex: "ee.ex"; ey: "ee.ey"; ez: "ee.ez"; fa: "ee.fa"; fb: "ee.fb"; fc: "ee.fc"; fd: "ee.fd"; fe: "ee.fe"; ff: "ee.ff"; fg: "ee.fg"; fh: "ee.fh"; fi: "ee.fi"; fj: "ee.fj"; fk: "ee.fk"; fl: "ee.fl"; fm: "ee.fm"; fn: "ee.fn"; fo: "ee.fo"; fp: "ee.fp"; fq: "ee.fq"; fr: "ee.fr"; fs: "ee.fs"; ft: "ee.ft"; fu: "ee.fu"; fv: "ee.fv"; fw: "ee.fw"; fx: "ee.fx"; fy: "ee.fy"; fz: "ee.fz"; ga: "ee.ga"; gb: "ee.gb"; gc: "ee.gc"; gd: "ee.gd"; ge: "ee.ge"; gf: "ee.gf"; gg: "ee.gg"; gh: "ee.gh"; gi: "ee.gi"; gj: "ee.gj"; gk: "ee.gk"; gl: "ee.gl"; gm: "ee.gm"; gn: "ee.gn"; go: "ee.go"; gp: "ee.gp"; gq: "ee.gq"; gr: "ee.gr"; gs: "ee.gs"; gt: "ee.gt"; gu: "ee.gu"; gv: "ee.gv"; gw: "ee.gw"; gx: "ee.gx"; gy: "ee.gy"; gz: "ee.gz"; ha: "ee.ha"; hb: "ee.hb"; hc: "ee.hc"; hd: "ee.hd"; he: "ee.he"; hf: "ee.hf"; hg: "ee.hg"; hh: "ee.hh"; hi: "ee.hi"; hj: "ee.hj"; hk: "ee.hk"; hl: "ee.hl"; hm: "ee.hm"; hn: "ee.hn"; ho: "ee.ho"; hp: "ee.hp"; hq: "ee.hq"; hr: "ee.hr"; hs: "ee.hs"; ht: "ee.ht"; hu: "ee.hu"; hv: "ee.hv"; hw: "ee.hw"; hx: "ee.hx"; hy: "ee.hy"; hz: "ee.hz"; ia: "ee.ia"; ib: "ee.ib"; ic: "ee.ic"; id: "ee.id"; ie: "ee.ie"; if: "ee.if"; ig: "ee.ig"; ih: "ee.ih"; ii: "ee.ii"; ij: "ee.ij"; ik: "ee.ik"; il: "ee.il"; im: "ee.im"; in: "ee.in"; io: "ee.io"; ip: "ee.ip"; iq: "ee.iq"; ir: "ee.ir"; is: "ee.is"; it: "ee.it"; iu: "ee.iu"; iv: "ee.iv"; iw: "ee.iw"; ix: "ee.ix"; iy: "ee.iy"; iz: "ee.iz"; ja: "ee.ja"; jb: "ee.jb"; jc: "ee.jc"; jd: "ee.jd"; je: "ee.je"; jf: "ee.jf"; jg: "ee.jg"; jh: "ee.jh"; ji: "ee.ji"; jj: "ee.jj"; jk: "ee.jk"; jl: "ee.jl"; jm: "ee.jm"; jn: "ee.jn"; jo: "ee.jo"; jp: "ee.jp"; jq: "ee.jq"; jr: "ee.jr"; js: "ee.js"; jt: "ee.jt"; ju: "ee.ju"; jv: "ee.jv"; jw: "ee.jw"; jx: "ee.jx"; jy: "ee.jy"; jz: "ee.jz"; ka: "ee.ka"; kb: "ee.kb"; kc: "ee.kc"; kd: "ee.kd"; ke: "ee.ke"; kf: "ee.kf"; kg: "ee.kg"; kh: "ee.kh"; ki: "ee.ki"; kj: "ee.kj"; kk: "ee.kk"; kl: "ee.kl"; km: "ee.km"; kn: "ee.kn"; ko: "ee.ko"; kp: "ee.kp"; kq: "ee.kq"; kr: "ee.kr"; ks: "ee.ks"; kt: "ee.kt"; ku: "ee.ku"; kv: "ee.kv"; kw: "ee.kw"; kx: "ee.kx"; ky: "ee.ky"; kz: "ee.kz"; la: "ee.la"; lb: "ee.lb"; lc: "ee.lc"; ld: "ee.ld"; le: "ee.le"; lf: "ee.lf"; lg: "ee.lg"; lh: "ee.lh"; li: "ee.li"; lj: "ee.lj"; lk: "ee.lk"; ll: "ee.ll"; lm: "ee.lm"; ln: "ee.ln"; lo: "ee.lo"; lp: "ee.lp"; lq: "ee.lq"; lr: "ee.lr"; ls: "ee.ls"; lt: "ee.lt"; lu: "ee.lu"; lv: "ee.lv"; lw: "ee.lw"; lx: "ee.lx"; ly: "ee.ly"; lz: "ee.lz"; ma: "ee.ma"; mb: "ee.mb"; mc: "ee.mc"; md: "ee.md"; me: "ee.me"; mf: "ee.mf"; mg: "ee.mg"; mh: "ee.mh"; mi: "ee.mi"; mj: "ee.mj"; mk: "ee.mk"; ml: "ee.ml"; mm: "ee.mm"; mn: "ee.mn"; mo: "ee.mo"; mp: "ee.mp"; mq: "ee.mq"; mr: "ee.mr"; ms: "ee.ms"; mt: "ee.mt"; mu: "ee.mu"; mv: "ee.mv"; mw: "ee.mw"; mx: "ee.mx"; my: "ee.my"; mz: "ee.mz"; na: "ee.na"; nb: "ee.nb"; nc: "ee.nc"; nd: "ee.nd"; ne: "ee.ne"; nf: "ee.nf"; ng: "ee.ng"; nh: "ee.nh"; ni: "ee.ni"; nj: "ee.nj"; nk: "ee.nk"; nl: "ee.nl"; nm: "ee.nm"; nn: "ee.nn"; no: "ee.no"; np: "ee.np"; nq: "ee.nq"; nr: "ee.nr"; ns: "ee.ns"; nt: "ee.nt"; nu: "ee.nu"; nv: "ee.nv"; nw: "ee.nw"; nx: "ee.nx"; ny: "ee.ny"; nz: "ee.nz"; oa: "ee.oa"; ob: "ee.ob"; oc: "ee.oc"; od: "ee.od"; oe: "ee.oe"; of: "ee.of"; og: "ee.og"; oh: "ee.oh"; oi: "ee.oi"; oj: "ee.oj"; ok: "ee.ok"; ol: "ee.ol"; om: "ee.om"; on: "ee.on"; oo: "ee.oo"; op: "ee.op"; oq: "ee.oq"; or: "ee.or"; os: "ee.os"; ot: "ee.ot"; ou: "ee.ou"; ov: "ee.ov"; ow: "ee.ow"; ox: "ee.ox"; oy: "ee.oy"; oz: "ee.oz"; pa: "ee.pa"; pb: "ee.pb"; pc: "ee.pc"; pd: "ee.pd"; pe: "ee.pe"; pf: "ee.pf"; pg: "ee.pg"; ph: "ee.ph"; pi: "ee.pi"; pj: "ee.pj"; pk: "ee.pk"; pl: "ee.pl"; pm: "ee.pm"; pn: "ee.pn"; po: "ee.po"; pp: "ee.pp"; pq: "ee.pq"; pr: "ee.pr"; ps: "ee.ps"; pt: "ee.pt"; pu: "ee.pu"; pv: "ee.pv"; pw: "ee.pw"; px: "ee.px"; py: "ee.py"; pz: "ee.pz"; qa: "ee.qa"; qb: "ee.qb"; qc: "ee.qc"; qd: "ee.qd"; qe: "ee.qe"; qf: "ee.qf"; qg: "ee.qg"; qh: "ee.qh"; qi: "ee.qi"; qj: "ee.qj"; qk: "ee.qk"; ql: "ee.ql"; qm: "ee.qm"; qn: "ee.qn"; qo: "ee.qo"; qp: "ee.qp"; qq: "ee.qq"; qr: "ee.qr"; qs: "ee.qs"; qt: "ee.qt"; qu: "ee.qu"; qv: "ee.qv"; qw: "ee.qw"; qx: "ee.qx"; qy: "ee.qy"; qz: "ee.qz"; ra: "ee.ra"; rb: "ee.rb"; rc: "ee.rc"; rd: "ee.rd"; re: "ee.re"; rf: "ee.rf"; rg: "ee.rg"; rh: "ee.rh"; ri: "ee.ri"; rj: "ee.rj"; rk: "ee.rk"; rl: "ee.rl"; rm: "ee.rm"; rn: "ee.rn"; ro: "ee.ro"; rp: "ee.rp"; rq: "ee.rq"; rr: "ee.rr"; rs: "ee.rs"; rt: "ee.rt"; ru: "ee.ru"; rv: "ee.rv"; rw: "ee.rw"; rx: "ee.rx"; ry: "ee.ry"; rz: "ee.rz"; sa: "ee.sa"; sb: "ee.sb"; sc: "ee.sc"; sd: "ee.sd"; se: "ee.se"; sf: "ee.sf"; sg: "ee.sg"; sh: "ee.sh"; si: "ee.si"; sj: "ee.sj"; sk: "ee.sk"; sl: "ee.sl"; sm: "ee.sm"; sn: "ee.sn"; so: "ee.so"; sp: "ee.sp"; sq: "ee.sq"; sr: "ee.sr"; ss: "ee.ss"; st: "ee.st"; su: "ee.su"; sv: "ee.sv"; sw: "ee.sw"; sx: "ee.sx"; sy: "ee.sy"; sz: "ee.sz"; ta: "ee.ta"; tb: "ee.tb"; tc: "ee.tc"; td: "ee.td"; te: "ee.te"; tf: "ee.tf"; tg: "ee.tg"; th: "ee.th"; ti: "ee.ti"; tj: "ee.tj"; tk: "ee.tk"; tl: "ee.tl"; tm: "ee.tm"; tn: "ee.tn"; to: "ee.to"; tp: "ee.tp"; tq: "ee.tq"; tr: "ee.tr"; ts: "ee.ts"; tt: "ee.tt"; tu: "ee.tu"; tv: "ee.tv"; tw: "ee.tw"; tx: "ee.tx"; ty: "ee.ty"; tz: "ee.tz"; ua: "ee.ua"; ub: "ee.ub"; uc: "ee.uc"; ud: "ee.ud"; ue: "ee.ue"; uf: "ee.uf"; ug: "ee.ug"; uh: "ee.uh"; ui: "ee.ui"; uj: "ee.uj"; uk: "ee.uk"; ul: "ee.ul"; um: "ee.um"; un: "ee.un"; uo: "ee.uo"; up: "ee.up"; uq: "ee.uq"; ur: "ee.ur"; us: "ee.us"; ut: "ee.ut"; uu: "ee.uu"; uv: "ee.uv"; uw: "ee.uw"; ux: "ee.ux"; uy: "ee.uy"; uz: "ee.uz"; va: "ee.va"; vb: "ee.vb"; vc: "ee.vc"; vd: "ee.vd"; ve: "ee.ve"; vf: "ee.vf"; vg: "ee.vg"; vh: "ee.vh"; vi: "ee.vi"; vj: "ee.vj"; vk: "ee.vk"; vl: "ee.vl"; vm: "ee.vm"; vn: "ee.vn"; vo: "ee.vo"; vp: "ee.vp"; vq: "ee.vq"; vr: "ee.vr"; vs: "ee.vs"; vt: "ee.vt"; vu: "ee.vu"; vv: "ee.vv"; vw: "ee.vw"; vx: "ee.vx"; vy: "ee.vy"; vz: "ee.vz"; wa: "ee.wa"; wb: "ee.wb"; wc: "ee.wc"; wd: "ee.wd"; we: "ee.we"; wf: "ee.wf"; wg: "ee.wg"; wh: "ee.wh"; wi: "ee.wi"; wj: "ee.wj"; wk: "ee.wk"; wl: "ee.wl"; wm: "ee.wm"; wn: "ee.wn"; wo: "ee.wo"; wp: "ee.wp"; wq: "ee.wq"; wr: "ee.wr"; ws: "ee.ws"; wt: "ee.wt"; wu: "ee.wu"; wv: "ee.wv"; ww: "ee.ww"; wx: "ee.wx"; wy: "ee.wy"; wz: "ee.wz"; xa: "ee.xa"; xb: "ee.xb"; xc: "ee.xc"; xd: "ee.xd"; xe: "ee.xe"; xf: "ee.xf"; xg: "ee.xg"; xh: "ee.xh"; xi: "ee.xi"; xj: "ee.xj"; xk: "ee.xk"; xl: "ee.xl"; xm: "ee.xm"; xn: "ee.xn"; xo: "ee.xo"; xp: "ee.xp"; xq: "ee.xq"; xr: "ee.xr"; xs: "ee.xs"; xt: "ee.xt"; xu: "ee.xu"; xv: "ee.xv"; xw: "ee.xw"; xx: "ee.xx"; xy: "ee.xy"; xz: "ee.xz"; ya: "ee.ya"; yb: "ee.yb"; yc: "ee.yc"; yd: "ee.yd"; ye: "ee.ye"; yf: "ee.yf"; yg: "ee.yg"; yh: "ee.yh"; yi: "ee.yi"; yj: "ee.yj"; yk: "ee.yk"; yl: "ee.yl"; ym: "ee.ym"; yn: "ee.yn"; yo: "ee.yo"; yp: "ee.yp"; yq: "ee.yq"; yr: "ee.yr"; ys: "ee.ys"; yt: "ee.yt"; yu: "ee.yu"; yv: "ee.yv"; yw: "ee.yw"; yx: "ee.yx"; yy: "ee.yy"; yz: "ee.yz"; za: "ee.za"; zb: "ee.zb"; zc: "ee.zc"; zd: "ee.zd"; ze: "ee.ze"; zf: "ee.zf"; zg: "ee.zg"; zh: "ee.zh"; zi: "ee.zi"; zj: "ee.zj"; zk: "ee.zk"; zl: "ee.zl"; zm: "ee.zm"; zn: "ee.zn"; zo: "ee.zo"; zp: "ee.zp"; zq: "ee.zq"; zr: "ee.zr"; zs: "ee.zs"; zt: "ee.zt"; zu: "ee.zu"; zv: "ee.zv"; zw: "ee.zw"; zx: "ee.zx"; zy: "ee.zy"; zz: "ee.zz"; }; ef: { aa: "ef.aa"; ab: "ef.ab"; ac: "ef.ac"; ad: "ef.ad"; ae: "ef.ae"; af: "ef.af"; ag: "ef.ag"; ah: "ef.ah"; ai: "ef.ai"; aj: "ef.aj"; ak: "ef.ak"; al: "ef.al"; am: "ef.am"; an: "ef.an"; ao: "ef.ao"; ap: "ef.ap"; aq: "ef.aq"; ar: "ef.ar"; as: "ef.as"; at: "ef.at"; au: "ef.au"; av: "ef.av"; aw: "ef.aw"; ax: "ef.ax"; ay: "ef.ay"; az: "ef.az"; ba: "ef.ba"; bb: "ef.bb"; bc: "ef.bc"; bd: "ef.bd"; be: "ef.be"; bf: "ef.bf"; bg: "ef.bg"; bh: "ef.bh"; bi: "ef.bi"; bj: "ef.bj"; bk: "ef.bk"; bl: "ef.bl"; bm: "ef.bm"; bn: "ef.bn"; bo: "ef.bo"; bp: "ef.bp"; bq: "ef.bq"; br: "ef.br"; bs: "ef.bs"; bt: "ef.bt"; bu: "ef.bu"; bv: "ef.bv"; bw: "ef.bw"; bx: "ef.bx"; by: "ef.by"; bz: "ef.bz"; ca: "ef.ca"; cb: "ef.cb"; cc: "ef.cc"; cd: "ef.cd"; ce: "ef.ce"; cf: "ef.cf"; cg: "ef.cg"; ch: "ef.ch"; ci: "ef.ci"; cj: "ef.cj"; ck: "ef.ck"; cl: "ef.cl"; cm: "ef.cm"; cn: "ef.cn"; co: "ef.co"; cp: "ef.cp"; cq: "ef.cq"; cr: "ef.cr"; cs: "ef.cs"; ct: "ef.ct"; cu: "ef.cu"; cv: "ef.cv"; cw: "ef.cw"; cx: "ef.cx"; cy: "ef.cy"; cz: "ef.cz"; da: "ef.da"; db: "ef.db"; dc: "ef.dc"; dd: "ef.dd"; de: "ef.de"; df: "ef.df"; dg: "ef.dg"; dh: "ef.dh"; di: "ef.di"; dj: "ef.dj"; dk: "ef.dk"; dl: "ef.dl"; dm: "ef.dm"; dn: "ef.dn"; do: "ef.do"; dp: "ef.dp"; dq: "ef.dq"; dr: "ef.dr"; ds: "ef.ds"; dt: "ef.dt"; du: "ef.du"; dv: "ef.dv"; dw: "ef.dw"; dx: "ef.dx"; dy: "ef.dy"; dz: "ef.dz"; ea: "ef.ea"; eb: "ef.eb"; ec: "ef.ec"; ed: "ef.ed"; ee: "ef.ee"; ef: "ef.ef"; eg: "ef.eg"; eh: "ef.eh"; ei: "ef.ei"; ej: "ef.ej"; ek: "ef.ek"; el: "ef.el"; em: "ef.em"; en: "ef.en"; eo: "ef.eo"; ep: "ef.ep"; eq: "ef.eq"; er: "ef.er"; es: "ef.es"; et: "ef.et"; eu: "ef.eu"; ev: "ef.ev"; ew: "ef.ew"; ex: "ef.ex"; ey: "ef.ey"; ez: "ef.ez"; fa: "ef.fa"; fb: "ef.fb"; fc: "ef.fc"; fd: "ef.fd"; fe: "ef.fe"; ff: "ef.ff"; fg: "ef.fg"; fh: "ef.fh"; fi: "ef.fi"; fj: "ef.fj"; fk: "ef.fk"; fl: "ef.fl"; fm: "ef.fm"; fn: "ef.fn"; fo: "ef.fo"; fp: "ef.fp"; fq: "ef.fq"; fr: "ef.fr"; fs: "ef.fs"; ft: "ef.ft"; fu: "ef.fu"; fv: "ef.fv"; fw: "ef.fw"; fx: "ef.fx"; fy: "ef.fy"; fz: "ef.fz"; ga: "ef.ga"; gb: "ef.gb"; gc: "ef.gc"; gd: "ef.gd"; ge: "ef.ge"; gf: "ef.gf"; gg: "ef.gg"; gh: "ef.gh"; gi: "ef.gi"; gj: "ef.gj"; gk: "ef.gk"; gl: "ef.gl"; gm: "ef.gm"; gn: "ef.gn"; go: "ef.go"; gp: "ef.gp"; gq: "ef.gq"; gr: "ef.gr"; gs: "ef.gs"; gt: "ef.gt"; gu: "ef.gu"; gv: "ef.gv"; gw: "ef.gw"; gx: "ef.gx"; gy: "ef.gy"; gz: "ef.gz"; ha: "ef.ha"; hb: "ef.hb"; hc: "ef.hc"; hd: "ef.hd"; he: "ef.he"; hf: "ef.hf"; hg: "ef.hg"; hh: "ef.hh"; hi: "ef.hi"; hj: "ef.hj"; hk: "ef.hk"; hl: "ef.hl"; hm: "ef.hm"; hn: "ef.hn"; ho: "ef.ho"; hp: "ef.hp"; hq: "ef.hq"; hr: "ef.hr"; hs: "ef.hs"; ht: "ef.ht"; hu: "ef.hu"; hv: "ef.hv"; hw: "ef.hw"; hx: "ef.hx"; hy: "ef.hy"; hz: "ef.hz"; ia: "ef.ia"; ib: "ef.ib"; ic: "ef.ic"; id: "ef.id"; ie: "ef.ie"; if: "ef.if"; ig: "ef.ig"; ih: "ef.ih"; ii: "ef.ii"; ij: "ef.ij"; ik: "ef.ik"; il: "ef.il"; im: "ef.im"; in: "ef.in"; io: "ef.io"; ip: "ef.ip"; iq: "ef.iq"; ir: "ef.ir"; is: "ef.is"; it: "ef.it"; iu: "ef.iu"; iv: "ef.iv"; iw: "ef.iw"; ix: "ef.ix"; iy: "ef.iy"; iz: "ef.iz"; ja: "ef.ja"; jb: "ef.jb"; jc: "ef.jc"; jd: "ef.jd"; je: "ef.je"; jf: "ef.jf"; jg: "ef.jg"; jh: "ef.jh"; ji: "ef.ji"; jj: "ef.jj"; jk: "ef.jk"; jl: "ef.jl"; jm: "ef.jm"; jn: "ef.jn"; jo: "ef.jo"; jp: "ef.jp"; jq: "ef.jq"; jr: "ef.jr"; js: "ef.js"; jt: "ef.jt"; ju: "ef.ju"; jv: "ef.jv"; jw: "ef.jw"; jx: "ef.jx"; jy: "ef.jy"; jz: "ef.jz"; ka: "ef.ka"; kb: "ef.kb"; kc: "ef.kc"; kd: "ef.kd"; ke: "ef.ke"; kf: "ef.kf"; kg: "ef.kg"; kh: "ef.kh"; ki: "ef.ki"; kj: "ef.kj"; kk: "ef.kk"; kl: "ef.kl"; km: "ef.km"; kn: "ef.kn"; ko: "ef.ko"; kp: "ef.kp"; kq: "ef.kq"; kr: "ef.kr"; ks: "ef.ks"; kt: "ef.kt"; ku: "ef.ku"; kv: "ef.kv"; kw: "ef.kw"; kx: "ef.kx"; ky: "ef.ky"; kz: "ef.kz"; la: "ef.la"; lb: "ef.lb"; lc: "ef.lc"; ld: "ef.ld"; le: "ef.le"; lf: "ef.lf"; lg: "ef.lg"; lh: "ef.lh"; li: "ef.li"; lj: "ef.lj"; lk: "ef.lk"; ll: "ef.ll"; lm: "ef.lm"; ln: "ef.ln"; lo: "ef.lo"; lp: "ef.lp"; lq: "ef.lq"; lr: "ef.lr"; ls: "ef.ls"; lt: "ef.lt"; lu: "ef.lu"; lv: "ef.lv"; lw: "ef.lw"; lx: "ef.lx"; ly: "ef.ly"; lz: "ef.lz"; ma: "ef.ma"; mb: "ef.mb"; mc: "ef.mc"; md: "ef.md"; me: "ef.me"; mf: "ef.mf"; mg: "ef.mg"; mh: "ef.mh"; mi: "ef.mi"; mj: "ef.mj"; mk: "ef.mk"; ml: "ef.ml"; mm: "ef.mm"; mn: "ef.mn"; mo: "ef.mo"; mp: "ef.mp"; mq: "ef.mq"; mr: "ef.mr"; ms: "ef.ms"; mt: "ef.mt"; mu: "ef.mu"; mv: "ef.mv"; mw: "ef.mw"; mx: "ef.mx"; my: "ef.my"; mz: "ef.mz"; na: "ef.na"; nb: "ef.nb"; nc: "ef.nc"; nd: "ef.nd"; ne: "ef.ne"; nf: "ef.nf"; ng: "ef.ng"; nh: "ef.nh"; ni: "ef.ni"; nj: "ef.nj"; nk: "ef.nk"; nl: "ef.nl"; nm: "ef.nm"; nn: "ef.nn"; no: "ef.no"; np: "ef.np"; nq: "ef.nq"; nr: "ef.nr"; ns: "ef.ns"; nt: "ef.nt"; nu: "ef.nu"; nv: "ef.nv"; nw: "ef.nw"; nx: "ef.nx"; ny: "ef.ny"; nz: "ef.nz"; oa: "ef.oa"; ob: "ef.ob"; oc: "ef.oc"; od: "ef.od"; oe: "ef.oe"; of: "ef.of"; og: "ef.og"; oh: "ef.oh"; oi: "ef.oi"; oj: "ef.oj"; ok: "ef.ok"; ol: "ef.ol"; om: "ef.om"; on: "ef.on"; oo: "ef.oo"; op: "ef.op"; oq: "ef.oq"; or: "ef.or"; os: "ef.os"; ot: "ef.ot"; ou: "ef.ou"; ov: "ef.ov"; ow: "ef.ow"; ox: "ef.ox"; oy: "ef.oy"; oz: "ef.oz"; pa: "ef.pa"; pb: "ef.pb"; pc: "ef.pc"; pd: "ef.pd"; pe: "ef.pe"; pf: "ef.pf"; pg: "ef.pg"; ph: "ef.ph"; pi: "ef.pi"; pj: "ef.pj"; pk: "ef.pk"; pl: "ef.pl"; pm: "ef.pm"; pn: "ef.pn"; po: "ef.po"; pp: "ef.pp"; pq: "ef.pq"; pr: "ef.pr"; ps: "ef.ps"; pt: "ef.pt"; pu: "ef.pu"; pv: "ef.pv"; pw: "ef.pw"; px: "ef.px"; py: "ef.py"; pz: "ef.pz"; qa: "ef.qa"; qb: "ef.qb"; qc: "ef.qc"; qd: "ef.qd"; qe: "ef.qe"; qf: "ef.qf"; qg: "ef.qg"; qh: "ef.qh"; qi: "ef.qi"; qj: "ef.qj"; qk: "ef.qk"; ql: "ef.ql"; qm: "ef.qm"; qn: "ef.qn"; qo: "ef.qo"; qp: "ef.qp"; qq: "ef.qq"; qr: "ef.qr"; qs: "ef.qs"; qt: "ef.qt"; qu: "ef.qu"; qv: "ef.qv"; qw: "ef.qw"; qx: "ef.qx"; qy: "ef.qy"; qz: "ef.qz"; ra: "ef.ra"; rb: "ef.rb"; rc: "ef.rc"; rd: "ef.rd"; re: "ef.re"; rf: "ef.rf"; rg: "ef.rg"; rh: "ef.rh"; ri: "ef.ri"; rj: "ef.rj"; rk: "ef.rk"; rl: "ef.rl"; rm: "ef.rm"; rn: "ef.rn"; ro: "ef.ro"; rp: "ef.rp"; rq: "ef.rq"; rr: "ef.rr"; rs: "ef.rs"; rt: "ef.rt"; ru: "ef.ru"; rv: "ef.rv"; rw: "ef.rw"; rx: "ef.rx"; ry: "ef.ry"; rz: "ef.rz"; sa: "ef.sa"; sb: "ef.sb"; sc: "ef.sc"; sd: "ef.sd"; se: "ef.se"; sf: "ef.sf"; sg: "ef.sg"; sh: "ef.sh"; si: "ef.si"; sj: "ef.sj"; sk: "ef.sk"; sl: "ef.sl"; sm: "ef.sm"; sn: "ef.sn"; so: "ef.so"; sp: "ef.sp"; sq: "ef.sq"; sr: "ef.sr"; ss: "ef.ss"; st: "ef.st"; su: "ef.su"; sv: "ef.sv"; sw: "ef.sw"; sx: "ef.sx"; sy: "ef.sy"; sz: "ef.sz"; ta: "ef.ta"; tb: "ef.tb"; tc: "ef.tc"; td: "ef.td"; te: "ef.te"; tf: "ef.tf"; tg: "ef.tg"; th: "ef.th"; ti: "ef.ti"; tj: "ef.tj"; tk: "ef.tk"; tl: "ef.tl"; tm: "ef.tm"; tn: "ef.tn"; to: "ef.to"; tp: "ef.tp"; tq: "ef.tq"; tr: "ef.tr"; ts: "ef.ts"; tt: "ef.tt"; tu: "ef.tu"; tv: "ef.tv"; tw: "ef.tw"; tx: "ef.tx"; ty: "ef.ty"; tz: "ef.tz"; ua: "ef.ua"; ub: "ef.ub"; uc: "ef.uc"; ud: "ef.ud"; ue: "ef.ue"; uf: "ef.uf"; ug: "ef.ug"; uh: "ef.uh"; ui: "ef.ui"; uj: "ef.uj"; uk: "ef.uk"; ul: "ef.ul"; um: "ef.um"; un: "ef.un"; uo: "ef.uo"; up: "ef.up"; uq: "ef.uq"; ur: "ef.ur"; us: "ef.us"; ut: "ef.ut"; uu: "ef.uu"; uv: "ef.uv"; uw: "ef.uw"; ux: "ef.ux"; uy: "ef.uy"; uz: "ef.uz"; va: "ef.va"; vb: "ef.vb"; vc: "ef.vc"; vd: "ef.vd"; ve: "ef.ve"; vf: "ef.vf"; vg: "ef.vg"; vh: "ef.vh"; vi: "ef.vi"; vj: "ef.vj"; vk: "ef.vk"; vl: "ef.vl"; vm: "ef.vm"; vn: "ef.vn"; vo: "ef.vo"; vp: "ef.vp"; vq: "ef.vq"; vr: "ef.vr"; vs: "ef.vs"; vt: "ef.vt"; vu: "ef.vu"; vv: "ef.vv"; vw: "ef.vw"; vx: "ef.vx"; vy: "ef.vy"; vz: "ef.vz"; wa: "ef.wa"; wb: "ef.wb"; wc: "ef.wc"; wd: "ef.wd"; we: "ef.we"; wf: "ef.wf"; wg: "ef.wg"; wh: "ef.wh"; wi: "ef.wi"; wj: "ef.wj"; wk: "ef.wk"; wl: "ef.wl"; wm: "ef.wm"; wn: "ef.wn"; wo: "ef.wo"; wp: "ef.wp"; wq: "ef.wq"; wr: "ef.wr"; ws: "ef.ws"; wt: "ef.wt"; wu: "ef.wu"; wv: "ef.wv"; ww: "ef.ww"; wx: "ef.wx"; wy: "ef.wy"; wz: "ef.wz"; xa: "ef.xa"; xb: "ef.xb"; xc: "ef.xc"; xd: "ef.xd"; xe: "ef.xe"; xf: "ef.xf"; xg: "ef.xg"; xh: "ef.xh"; xi: "ef.xi"; xj: "ef.xj"; xk: "ef.xk"; xl: "ef.xl"; xm: "ef.xm"; xn: "ef.xn"; xo: "ef.xo"; xp: "ef.xp"; xq: "ef.xq"; xr: "ef.xr"; xs: "ef.xs"; xt: "ef.xt"; xu: "ef.xu"; xv: "ef.xv"; xw: "ef.xw"; xx: "ef.xx"; xy: "ef.xy"; xz: "ef.xz"; ya: "ef.ya"; yb: "ef.yb"; yc: "ef.yc"; yd: "ef.yd"; ye: "ef.ye"; yf: "ef.yf"; yg: "ef.yg"; yh: "ef.yh"; yi: "ef.yi"; yj: "ef.yj"; yk: "ef.yk"; yl: "ef.yl"; ym: "ef.ym"; yn: "ef.yn"; yo: "ef.yo"; yp: "ef.yp"; yq: "ef.yq"; yr: "ef.yr"; ys: "ef.ys"; yt: "ef.yt"; yu: "ef.yu"; yv: "ef.yv"; yw: "ef.yw"; yx: "ef.yx"; yy: "ef.yy"; yz: "ef.yz"; za: "ef.za"; zb: "ef.zb"; zc: "ef.zc"; zd: "ef.zd"; ze: "ef.ze"; zf: "ef.zf"; zg: "ef.zg"; zh: "ef.zh"; zi: "ef.zi"; zj: "ef.zj"; zk: "ef.zk"; zl: "ef.zl"; zm: "ef.zm"; zn: "ef.zn"; zo: "ef.zo"; zp: "ef.zp"; zq: "ef.zq"; zr: "ef.zr"; zs: "ef.zs"; zt: "ef.zt"; zu: "ef.zu"; zv: "ef.zv"; zw: "ef.zw"; zx: "ef.zx"; zy: "ef.zy"; zz: "ef.zz"; }; eg: { aa: "eg.aa"; ab: "eg.ab"; ac: "eg.ac"; ad: "eg.ad"; ae: "eg.ae"; af: "eg.af"; ag: "eg.ag"; ah: "eg.ah"; ai: "eg.ai"; aj: "eg.aj"; ak: "eg.ak"; al: "eg.al"; am: "eg.am"; an: "eg.an"; ao: "eg.ao"; ap: "eg.ap"; aq: "eg.aq"; ar: "eg.ar"; as: "eg.as"; at: "eg.at"; au: "eg.au"; av: "eg.av"; aw: "eg.aw"; ax: "eg.ax"; ay: "eg.ay"; az: "eg.az"; ba: "eg.ba"; bb: "eg.bb"; bc: "eg.bc"; bd: "eg.bd"; be: "eg.be"; bf: "eg.bf"; bg: "eg.bg"; bh: "eg.bh"; bi: "eg.bi"; bj: "eg.bj"; bk: "eg.bk"; bl: "eg.bl"; bm: "eg.bm"; bn: "eg.bn"; bo: "eg.bo"; bp: "eg.bp"; bq: "eg.bq"; br: "eg.br"; bs: "eg.bs"; bt: "eg.bt"; bu: "eg.bu"; bv: "eg.bv"; bw: "eg.bw"; bx: "eg.bx"; by: "eg.by"; bz: "eg.bz"; ca: "eg.ca"; cb: "eg.cb"; cc: "eg.cc"; cd: "eg.cd"; ce: "eg.ce"; cf: "eg.cf"; cg: "eg.cg"; ch: "eg.ch"; ci: "eg.ci"; cj: "eg.cj"; ck: "eg.ck"; cl: "eg.cl"; cm: "eg.cm"; cn: "eg.cn"; co: "eg.co"; cp: "eg.cp"; cq: "eg.cq"; cr: "eg.cr"; cs: "eg.cs"; ct: "eg.ct"; cu: "eg.cu"; cv: "eg.cv"; cw: "eg.cw"; cx: "eg.cx"; cy: "eg.cy"; cz: "eg.cz"; da: "eg.da"; db: "eg.db"; dc: "eg.dc"; dd: "eg.dd"; de: "eg.de"; df: "eg.df"; dg: "eg.dg"; dh: "eg.dh"; di: "eg.di"; dj: "eg.dj"; dk: "eg.dk"; dl: "eg.dl"; dm: "eg.dm"; dn: "eg.dn"; do: "eg.do"; dp: "eg.dp"; dq: "eg.dq"; dr: "eg.dr"; ds: "eg.ds"; dt: "eg.dt"; du: "eg.du"; dv: "eg.dv"; dw: "eg.dw"; dx: "eg.dx"; dy: "eg.dy"; dz: "eg.dz"; ea: "eg.ea"; eb: "eg.eb"; ec: "eg.ec"; ed: "eg.ed"; ee: "eg.ee"; ef: "eg.ef"; eg: "eg.eg"; eh: "eg.eh"; ei: "eg.ei"; ej: "eg.ej"; ek: "eg.ek"; el: "eg.el"; em: "eg.em"; en: "eg.en"; eo: "eg.eo"; ep: "eg.ep"; eq: "eg.eq"; er: "eg.er"; es: "eg.es"; et: "eg.et"; eu: "eg.eu"; ev: "eg.ev"; ew: "eg.ew"; ex: "eg.ex"; ey: "eg.ey"; ez: "eg.ez"; fa: "eg.fa"; fb: "eg.fb"; fc: "eg.fc"; fd: "eg.fd"; fe: "eg.fe"; ff: "eg.ff"; fg: "eg.fg"; fh: "eg.fh"; fi: "eg.fi"; fj: "eg.fj"; fk: "eg.fk"; fl: "eg.fl"; fm: "eg.fm"; fn: "eg.fn"; fo: "eg.fo"; fp: "eg.fp"; fq: "eg.fq"; fr: "eg.fr"; fs: "eg.fs"; ft: "eg.ft"; fu: "eg.fu"; fv: "eg.fv"; fw: "eg.fw"; fx: "eg.fx"; fy: "eg.fy"; fz: "eg.fz"; ga: "eg.ga"; gb: "eg.gb"; gc: "eg.gc"; gd: "eg.gd"; ge: "eg.ge"; gf: "eg.gf"; gg: "eg.gg"; gh: "eg.gh"; gi: "eg.gi"; gj: "eg.gj"; gk: "eg.gk"; gl: "eg.gl"; gm: "eg.gm"; gn: "eg.gn"; go: "eg.go"; gp: "eg.gp"; gq: "eg.gq"; gr: "eg.gr"; gs: "eg.gs"; gt: "eg.gt"; gu: "eg.gu"; gv: "eg.gv"; gw: "eg.gw"; gx: "eg.gx"; gy: "eg.gy"; gz: "eg.gz"; ha: "eg.ha"; hb: "eg.hb"; hc: "eg.hc"; hd: "eg.hd"; he: "eg.he"; hf: "eg.hf"; hg: "eg.hg"; hh: "eg.hh"; hi: "eg.hi"; hj: "eg.hj"; hk: "eg.hk"; hl: "eg.hl"; hm: "eg.hm"; hn: "eg.hn"; ho: "eg.ho"; hp: "eg.hp"; hq: "eg.hq"; hr: "eg.hr"; hs: "eg.hs"; ht: "eg.ht"; hu: "eg.hu"; hv: "eg.hv"; hw: "eg.hw"; hx: "eg.hx"; hy: "eg.hy"; hz: "eg.hz"; ia: "eg.ia"; ib: "eg.ib"; ic: "eg.ic"; id: "eg.id"; ie: "eg.ie"; if: "eg.if"; ig: "eg.ig"; ih: "eg.ih"; ii: "eg.ii"; ij: "eg.ij"; ik: "eg.ik"; il: "eg.il"; im: "eg.im"; in: "eg.in"; io: "eg.io"; ip: "eg.ip"; iq: "eg.iq"; ir: "eg.ir"; is: "eg.is"; it: "eg.it"; iu: "eg.iu"; iv: "eg.iv"; iw: "eg.iw"; ix: "eg.ix"; iy: "eg.iy"; iz: "eg.iz"; ja: "eg.ja"; jb: "eg.jb"; jc: "eg.jc"; jd: "eg.jd"; je: "eg.je"; jf: "eg.jf"; jg: "eg.jg"; jh: "eg.jh"; ji: "eg.ji"; jj: "eg.jj"; jk: "eg.jk"; jl: "eg.jl"; jm: "eg.jm"; jn: "eg.jn"; jo: "eg.jo"; jp: "eg.jp"; jq: "eg.jq"; jr: "eg.jr"; js: "eg.js"; jt: "eg.jt"; ju: "eg.ju"; jv: "eg.jv"; jw: "eg.jw"; jx: "eg.jx"; jy: "eg.jy"; jz: "eg.jz"; ka: "eg.ka"; kb: "eg.kb"; kc: "eg.kc"; kd: "eg.kd"; ke: "eg.ke"; kf: "eg.kf"; kg: "eg.kg"; kh: "eg.kh"; ki: "eg.ki"; kj: "eg.kj"; kk: "eg.kk"; kl: "eg.kl"; km: "eg.km"; kn: "eg.kn"; ko: "eg.ko"; kp: "eg.kp"; kq: "eg.kq"; kr: "eg.kr"; ks: "eg.ks"; kt: "eg.kt"; ku: "eg.ku"; kv: "eg.kv"; kw: "eg.kw"; kx: "eg.kx"; ky: "eg.ky"; kz: "eg.kz"; la: "eg.la"; lb: "eg.lb"; lc: "eg.lc"; ld: "eg.ld"; le: "eg.le"; lf: "eg.lf"; lg: "eg.lg"; lh: "eg.lh"; li: "eg.li"; lj: "eg.lj"; lk: "eg.lk"; ll: "eg.ll"; lm: "eg.lm"; ln: "eg.ln"; lo: "eg.lo"; lp: "eg.lp"; lq: "eg.lq"; lr: "eg.lr"; ls: "eg.ls"; lt: "eg.lt"; lu: "eg.lu"; lv: "eg.lv"; lw: "eg.lw"; lx: "eg.lx"; ly: "eg.ly"; lz: "eg.lz"; ma: "eg.ma"; mb: "eg.mb"; mc: "eg.mc"; md: "eg.md"; me: "eg.me"; mf: "eg.mf"; mg: "eg.mg"; mh: "eg.mh"; mi: "eg.mi"; mj: "eg.mj"; mk: "eg.mk"; ml: "eg.ml"; mm: "eg.mm"; mn: "eg.mn"; mo: "eg.mo"; mp: "eg.mp"; mq: "eg.mq"; mr: "eg.mr"; ms: "eg.ms"; mt: "eg.mt"; mu: "eg.mu"; mv: "eg.mv"; mw: "eg.mw"; mx: "eg.mx"; my: "eg.my"; mz: "eg.mz"; na: "eg.na"; nb: "eg.nb"; nc: "eg.nc"; nd: "eg.nd"; ne: "eg.ne"; nf: "eg.nf"; ng: "eg.ng"; nh: "eg.nh"; ni: "eg.ni"; nj: "eg.nj"; nk: "eg.nk"; nl: "eg.nl"; nm: "eg.nm"; nn: "eg.nn"; no: "eg.no"; np: "eg.np"; nq: "eg.nq"; nr: "eg.nr"; ns: "eg.ns"; nt: "eg.nt"; nu: "eg.nu"; nv: "eg.nv"; nw: "eg.nw"; nx: "eg.nx"; ny: "eg.ny"; nz: "eg.nz"; oa: "eg.oa"; ob: "eg.ob"; oc: "eg.oc"; od: "eg.od"; oe: "eg.oe"; of: "eg.of"; og: "eg.og"; oh: "eg.oh"; oi: "eg.oi"; oj: "eg.oj"; ok: "eg.ok"; ol: "eg.ol"; om: "eg.om"; on: "eg.on"; oo: "eg.oo"; op: "eg.op"; oq: "eg.oq"; or: "eg.or"; os: "eg.os"; ot: "eg.ot"; ou: "eg.ou"; ov: "eg.ov"; ow: "eg.ow"; ox: "eg.ox"; oy: "eg.oy"; oz: "eg.oz"; pa: "eg.pa"; pb: "eg.pb"; pc: "eg.pc"; pd: "eg.pd"; pe: "eg.pe"; pf: "eg.pf"; pg: "eg.pg"; ph: "eg.ph"; pi: "eg.pi"; pj: "eg.pj"; pk: "eg.pk"; pl: "eg.pl"; pm: "eg.pm"; pn: "eg.pn"; po: "eg.po"; pp: "eg.pp"; pq: "eg.pq"; pr: "eg.pr"; ps: "eg.ps"; pt: "eg.pt"; pu: "eg.pu"; pv: "eg.pv"; pw: "eg.pw"; px: "eg.px"; py: "eg.py"; pz: "eg.pz"; qa: "eg.qa"; qb: "eg.qb"; qc: "eg.qc"; qd: "eg.qd"; qe: "eg.qe"; qf: "eg.qf"; qg: "eg.qg"; qh: "eg.qh"; qi: "eg.qi"; qj: "eg.qj"; qk: "eg.qk"; ql: "eg.ql"; qm: "eg.qm"; qn: "eg.qn"; qo: "eg.qo"; qp: "eg.qp"; qq: "eg.qq"; qr: "eg.qr"; qs: "eg.qs"; qt: "eg.qt"; qu: "eg.qu"; qv: "eg.qv"; qw: "eg.qw"; qx: "eg.qx"; qy: "eg.qy"; qz: "eg.qz"; ra: "eg.ra"; rb: "eg.rb"; rc: "eg.rc"; rd: "eg.rd"; re: "eg.re"; rf: "eg.rf"; rg: "eg.rg"; rh: "eg.rh"; ri: "eg.ri"; rj: "eg.rj"; rk: "eg.rk"; rl: "eg.rl"; rm: "eg.rm"; rn: "eg.rn"; ro: "eg.ro"; rp: "eg.rp"; rq: "eg.rq"; rr: "eg.rr"; rs: "eg.rs"; rt: "eg.rt"; ru: "eg.ru"; rv: "eg.rv"; rw: "eg.rw"; rx: "eg.rx"; ry: "eg.ry"; rz: "eg.rz"; sa: "eg.sa"; sb: "eg.sb"; sc: "eg.sc"; sd: "eg.sd"; se: "eg.se"; sf: "eg.sf"; sg: "eg.sg"; sh: "eg.sh"; si: "eg.si"; sj: "eg.sj"; sk: "eg.sk"; sl: "eg.sl"; sm: "eg.sm"; sn: "eg.sn"; so: "eg.so"; sp: "eg.sp"; sq: "eg.sq"; sr: "eg.sr"; ss: "eg.ss"; st: "eg.st"; su: "eg.su"; sv: "eg.sv"; sw: "eg.sw"; sx: "eg.sx"; sy: "eg.sy"; sz: "eg.sz"; ta: "eg.ta"; tb: "eg.tb"; tc: "eg.tc"; td: "eg.td"; te: "eg.te"; tf: "eg.tf"; tg: "eg.tg"; th: "eg.th"; ti: "eg.ti"; tj: "eg.tj"; tk: "eg.tk"; tl: "eg.tl"; tm: "eg.tm"; tn: "eg.tn"; to: "eg.to"; tp: "eg.tp"; tq: "eg.tq"; tr: "eg.tr"; ts: "eg.ts"; tt: "eg.tt"; tu: "eg.tu"; tv: "eg.tv"; tw: "eg.tw"; tx: "eg.tx"; ty: "eg.ty"; tz: "eg.tz"; ua: "eg.ua"; ub: "eg.ub"; uc: "eg.uc"; ud: "eg.ud"; ue: "eg.ue"; uf: "eg.uf"; ug: "eg.ug"; uh: "eg.uh"; ui: "eg.ui"; uj: "eg.uj"; uk: "eg.uk"; ul: "eg.ul"; um: "eg.um"; un: "eg.un"; uo: "eg.uo"; up: "eg.up"; uq: "eg.uq"; ur: "eg.ur"; us: "eg.us"; ut: "eg.ut"; uu: "eg.uu"; uv: "eg.uv"; uw: "eg.uw"; ux: "eg.ux"; uy: "eg.uy"; uz: "eg.uz"; va: "eg.va"; vb: "eg.vb"; vc: "eg.vc"; vd: "eg.vd"; ve: "eg.ve"; vf: "eg.vf"; vg: "eg.vg"; vh: "eg.vh"; vi: "eg.vi"; vj: "eg.vj"; vk: "eg.vk"; vl: "eg.vl"; vm: "eg.vm"; vn: "eg.vn"; vo: "eg.vo"; vp: "eg.vp"; vq: "eg.vq"; vr: "eg.vr"; vs: "eg.vs"; vt: "eg.vt"; vu: "eg.vu"; vv: "eg.vv"; vw: "eg.vw"; vx: "eg.vx"; vy: "eg.vy"; vz: "eg.vz"; wa: "eg.wa"; wb: "eg.wb"; wc: "eg.wc"; wd: "eg.wd"; we: "eg.we"; wf: "eg.wf"; wg: "eg.wg"; wh: "eg.wh"; wi: "eg.wi"; wj: "eg.wj"; wk: "eg.wk"; wl: "eg.wl"; wm: "eg.wm"; wn: "eg.wn"; wo: "eg.wo"; wp: "eg.wp"; wq: "eg.wq"; wr: "eg.wr"; ws: "eg.ws"; wt: "eg.wt"; wu: "eg.wu"; wv: "eg.wv"; ww: "eg.ww"; wx: "eg.wx"; wy: "eg.wy"; wz: "eg.wz"; xa: "eg.xa"; xb: "eg.xb"; xc: "eg.xc"; xd: "eg.xd"; xe: "eg.xe"; xf: "eg.xf"; xg: "eg.xg"; xh: "eg.xh"; xi: "eg.xi"; xj: "eg.xj"; xk: "eg.xk"; xl: "eg.xl"; xm: "eg.xm"; xn: "eg.xn"; xo: "eg.xo"; xp: "eg.xp"; xq: "eg.xq"; xr: "eg.xr"; xs: "eg.xs"; xt: "eg.xt"; xu: "eg.xu"; xv: "eg.xv"; xw: "eg.xw"; xx: "eg.xx"; xy: "eg.xy"; xz: "eg.xz"; ya: "eg.ya"; yb: "eg.yb"; yc: "eg.yc"; yd: "eg.yd"; ye: "eg.ye"; yf: "eg.yf"; yg: "eg.yg"; yh: "eg.yh"; yi: "eg.yi"; yj: "eg.yj"; yk: "eg.yk"; yl: "eg.yl"; ym: "eg.ym"; yn: "eg.yn"; yo: "eg.yo"; yp: "eg.yp"; yq: "eg.yq"; yr: "eg.yr"; ys: "eg.ys"; yt: "eg.yt"; yu: "eg.yu"; yv: "eg.yv"; yw: "eg.yw"; yx: "eg.yx"; yy: "eg.yy"; yz: "eg.yz"; za: "eg.za"; zb: "eg.zb"; zc: "eg.zc"; zd: "eg.zd"; ze: "eg.ze"; zf: "eg.zf"; zg: "eg.zg"; zh: "eg.zh"; zi: "eg.zi"; zj: "eg.zj"; zk: "eg.zk"; zl: "eg.zl"; zm: "eg.zm"; zn: "eg.zn"; zo: "eg.zo"; zp: "eg.zp"; zq: "eg.zq"; zr: "eg.zr"; zs: "eg.zs"; zt: "eg.zt"; zu: "eg.zu"; zv: "eg.zv"; zw: "eg.zw"; zx: "eg.zx"; zy: "eg.zy"; zz: "eg.zz"; }; eh: { aa: "eh.aa"; ab: "eh.ab"; ac: "eh.ac"; ad: "eh.ad"; ae: "eh.ae"; af: "eh.af"; ag: "eh.ag"; ah: "eh.ah"; ai: "eh.ai"; aj: "eh.aj"; ak: "eh.ak"; al: "eh.al"; am: "eh.am"; an: "eh.an"; ao: "eh.ao"; ap: "eh.ap"; aq: "eh.aq"; ar: "eh.ar"; as: "eh.as"; at: "eh.at"; au: "eh.au"; av: "eh.av"; aw: "eh.aw"; ax: "eh.ax"; ay: "eh.ay"; az: "eh.az"; ba: "eh.ba"; bb: "eh.bb"; bc: "eh.bc"; bd: "eh.bd"; be: "eh.be"; bf: "eh.bf"; bg: "eh.bg"; bh: "eh.bh"; bi: "eh.bi"; bj: "eh.bj"; bk: "eh.bk"; bl: "eh.bl"; bm: "eh.bm"; bn: "eh.bn"; bo: "eh.bo"; bp: "eh.bp"; bq: "eh.bq"; br: "eh.br"; bs: "eh.bs"; bt: "eh.bt"; bu: "eh.bu"; bv: "eh.bv"; bw: "eh.bw"; bx: "eh.bx"; by: "eh.by"; bz: "eh.bz"; ca: "eh.ca"; cb: "eh.cb"; cc: "eh.cc"; cd: "eh.cd"; ce: "eh.ce"; cf: "eh.cf"; cg: "eh.cg"; ch: "eh.ch"; ci: "eh.ci"; cj: "eh.cj"; ck: "eh.ck"; cl: "eh.cl"; cm: "eh.cm"; cn: "eh.cn"; co: "eh.co"; cp: "eh.cp"; cq: "eh.cq"; cr: "eh.cr"; cs: "eh.cs"; ct: "eh.ct"; cu: "eh.cu"; cv: "eh.cv"; cw: "eh.cw"; cx: "eh.cx"; cy: "eh.cy"; cz: "eh.cz"; da: "eh.da"; db: "eh.db"; dc: "eh.dc"; dd: "eh.dd"; de: "eh.de"; df: "eh.df"; dg: "eh.dg"; dh: "eh.dh"; di: "eh.di"; dj: "eh.dj"; dk: "eh.dk"; dl: "eh.dl"; dm: "eh.dm"; dn: "eh.dn"; do: "eh.do"; dp: "eh.dp"; dq: "eh.dq"; dr: "eh.dr"; ds: "eh.ds"; dt: "eh.dt"; du: "eh.du"; dv: "eh.dv"; dw: "eh.dw"; dx: "eh.dx"; dy: "eh.dy"; dz: "eh.dz"; ea: "eh.ea"; eb: "eh.eb"; ec: "eh.ec"; ed: "eh.ed"; ee: "eh.ee"; ef: "eh.ef"; eg: "eh.eg"; eh: "eh.eh"; ei: "eh.ei"; ej: "eh.ej"; ek: "eh.ek"; el: "eh.el"; em: "eh.em"; en: "eh.en"; eo: "eh.eo"; ep: "eh.ep"; eq: "eh.eq"; er: "eh.er"; es: "eh.es"; et: "eh.et"; eu: "eh.eu"; ev: "eh.ev"; ew: "eh.ew"; ex: "eh.ex"; ey: "eh.ey"; ez: "eh.ez"; fa: "eh.fa"; fb: "eh.fb"; fc: "eh.fc"; fd: "eh.fd"; fe: "eh.fe"; ff: "eh.ff"; fg: "eh.fg"; fh: "eh.fh"; fi: "eh.fi"; fj: "eh.fj"; fk: "eh.fk"; fl: "eh.fl"; fm: "eh.fm"; fn: "eh.fn"; fo: "eh.fo"; fp: "eh.fp"; fq: "eh.fq"; fr: "eh.fr"; fs: "eh.fs"; ft: "eh.ft"; fu: "eh.fu"; fv: "eh.fv"; fw: "eh.fw"; fx: "eh.fx"; fy: "eh.fy"; fz: "eh.fz"; ga: "eh.ga"; gb: "eh.gb"; gc: "eh.gc"; gd: "eh.gd"; ge: "eh.ge"; gf: "eh.gf"; gg: "eh.gg"; gh: "eh.gh"; gi: "eh.gi"; gj: "eh.gj"; gk: "eh.gk"; gl: "eh.gl"; gm: "eh.gm"; gn: "eh.gn"; go: "eh.go"; gp: "eh.gp"; gq: "eh.gq"; gr: "eh.gr"; gs: "eh.gs"; gt: "eh.gt"; gu: "eh.gu"; gv: "eh.gv"; gw: "eh.gw"; gx: "eh.gx"; gy: "eh.gy"; gz: "eh.gz"; ha: "eh.ha"; hb: "eh.hb"; hc: "eh.hc"; hd: "eh.hd"; he: "eh.he"; hf: "eh.hf"; hg: "eh.hg"; hh: "eh.hh"; hi: "eh.hi"; hj: "eh.hj"; hk: "eh.hk"; hl: "eh.hl"; hm: "eh.hm"; hn: "eh.hn"; ho: "eh.ho"; hp: "eh.hp"; hq: "eh.hq"; hr: "eh.hr"; hs: "eh.hs"; ht: "eh.ht"; hu: "eh.hu"; hv: "eh.hv"; hw: "eh.hw"; hx: "eh.hx"; hy: "eh.hy"; hz: "eh.hz"; ia: "eh.ia"; ib: "eh.ib"; ic: "eh.ic"; id: "eh.id"; ie: "eh.ie"; if: "eh.if"; ig: "eh.ig"; ih: "eh.ih"; ii: "eh.ii"; ij: "eh.ij"; ik: "eh.ik"; il: "eh.il"; im: "eh.im"; in: "eh.in"; io: "eh.io"; ip: "eh.ip"; iq: "eh.iq"; ir: "eh.ir"; is: "eh.is"; it: "eh.it"; iu: "eh.iu"; iv: "eh.iv"; iw: "eh.iw"; ix: "eh.ix"; iy: "eh.iy"; iz: "eh.iz"; ja: "eh.ja"; jb: "eh.jb"; jc: "eh.jc"; jd: "eh.jd"; je: "eh.je"; jf: "eh.jf"; jg: "eh.jg"; jh: "eh.jh"; ji: "eh.ji"; jj: "eh.jj"; jk: "eh.jk"; jl: "eh.jl"; jm: "eh.jm"; jn: "eh.jn"; jo: "eh.jo"; jp: "eh.jp"; jq: "eh.jq"; jr: "eh.jr"; js: "eh.js"; jt: "eh.jt"; ju: "eh.ju"; jv: "eh.jv"; jw: "eh.jw"; jx: "eh.jx"; jy: "eh.jy"; jz: "eh.jz"; ka: "eh.ka"; kb: "eh.kb"; kc: "eh.kc"; kd: "eh.kd"; ke: "eh.ke"; kf: "eh.kf"; kg: "eh.kg"; kh: "eh.kh"; ki: "eh.ki"; kj: "eh.kj"; kk: "eh.kk"; kl: "eh.kl"; km: "eh.km"; kn: "eh.kn"; ko: "eh.ko"; kp: "eh.kp"; kq: "eh.kq"; kr: "eh.kr"; ks: "eh.ks"; kt: "eh.kt"; ku: "eh.ku"; kv: "eh.kv"; kw: "eh.kw"; kx: "eh.kx"; ky: "eh.ky"; kz: "eh.kz"; la: "eh.la"; lb: "eh.lb"; lc: "eh.lc"; ld: "eh.ld"; le: "eh.le"; lf: "eh.lf"; lg: "eh.lg"; lh: "eh.lh"; li: "eh.li"; lj: "eh.lj"; lk: "eh.lk"; ll: "eh.ll"; lm: "eh.lm"; ln: "eh.ln"; lo: "eh.lo"; lp: "eh.lp"; lq: "eh.lq"; lr: "eh.lr"; ls: "eh.ls"; lt: "eh.lt"; lu: "eh.lu"; lv: "eh.lv"; lw: "eh.lw"; lx: "eh.lx"; ly: "eh.ly"; lz: "eh.lz"; ma: "eh.ma"; mb: "eh.mb"; mc: "eh.mc"; md: "eh.md"; me: "eh.me"; mf: "eh.mf"; mg: "eh.mg"; mh: "eh.mh"; mi: "eh.mi"; mj: "eh.mj"; mk: "eh.mk"; ml: "eh.ml"; mm: "eh.mm"; mn: "eh.mn"; mo: "eh.mo"; mp: "eh.mp"; mq: "eh.mq"; mr: "eh.mr"; ms: "eh.ms"; mt: "eh.mt"; mu: "eh.mu"; mv: "eh.mv"; mw: "eh.mw"; mx: "eh.mx"; my: "eh.my"; mz: "eh.mz"; na: "eh.na"; nb: "eh.nb"; nc: "eh.nc"; nd: "eh.nd"; ne: "eh.ne"; nf: "eh.nf"; ng: "eh.ng"; nh: "eh.nh"; ni: "eh.ni"; nj: "eh.nj"; nk: "eh.nk"; nl: "eh.nl"; nm: "eh.nm"; nn: "eh.nn"; no: "eh.no"; np: "eh.np"; nq: "eh.nq"; nr: "eh.nr"; ns: "eh.ns"; nt: "eh.nt"; nu: "eh.nu"; nv: "eh.nv"; nw: "eh.nw"; nx: "eh.nx"; ny: "eh.ny"; nz: "eh.nz"; oa: "eh.oa"; ob: "eh.ob"; oc: "eh.oc"; od: "eh.od"; oe: "eh.oe"; of: "eh.of"; og: "eh.og"; oh: "eh.oh"; oi: "eh.oi"; oj: "eh.oj"; ok: "eh.ok"; ol: "eh.ol"; om: "eh.om"; on: "eh.on"; oo: "eh.oo"; op: "eh.op"; oq: "eh.oq"; or: "eh.or"; os: "eh.os"; ot: "eh.ot"; ou: "eh.ou"; ov: "eh.ov"; ow: "eh.ow"; ox: "eh.ox"; oy: "eh.oy"; oz: "eh.oz"; pa: "eh.pa"; pb: "eh.pb"; pc: "eh.pc"; pd: "eh.pd"; pe: "eh.pe"; pf: "eh.pf"; pg: "eh.pg"; ph: "eh.ph"; pi: "eh.pi"; pj: "eh.pj"; pk: "eh.pk"; pl: "eh.pl"; pm: "eh.pm"; pn: "eh.pn"; po: "eh.po"; pp: "eh.pp"; pq: "eh.pq"; pr: "eh.pr"; ps: "eh.ps"; pt: "eh.pt"; pu: "eh.pu"; pv: "eh.pv"; pw: "eh.pw"; px: "eh.px"; py: "eh.py"; pz: "eh.pz"; qa: "eh.qa"; qb: "eh.qb"; qc: "eh.qc"; qd: "eh.qd"; qe: "eh.qe"; qf: "eh.qf"; qg: "eh.qg"; qh: "eh.qh"; qi: "eh.qi"; qj: "eh.qj"; qk: "eh.qk"; ql: "eh.ql"; qm: "eh.qm"; qn: "eh.qn"; qo: "eh.qo"; qp: "eh.qp"; qq: "eh.qq"; qr: "eh.qr"; qs: "eh.qs"; qt: "eh.qt"; qu: "eh.qu"; qv: "eh.qv"; qw: "eh.qw"; qx: "eh.qx"; qy: "eh.qy"; qz: "eh.qz"; ra: "eh.ra"; rb: "eh.rb"; rc: "eh.rc"; rd: "eh.rd"; re: "eh.re"; rf: "eh.rf"; rg: "eh.rg"; rh: "eh.rh"; ri: "eh.ri"; rj: "eh.rj"; rk: "eh.rk"; rl: "eh.rl"; rm: "eh.rm"; rn: "eh.rn"; ro: "eh.ro"; rp: "eh.rp"; rq: "eh.rq"; rr: "eh.rr"; rs: "eh.rs"; rt: "eh.rt"; ru: "eh.ru"; rv: "eh.rv"; rw: "eh.rw"; rx: "eh.rx"; ry: "eh.ry"; rz: "eh.rz"; sa: "eh.sa"; sb: "eh.sb"; sc: "eh.sc"; sd: "eh.sd"; se: "eh.se"; sf: "eh.sf"; sg: "eh.sg"; sh: "eh.sh"; si: "eh.si"; sj: "eh.sj"; sk: "eh.sk"; sl: "eh.sl"; sm: "eh.sm"; sn: "eh.sn"; so: "eh.so"; sp: "eh.sp"; sq: "eh.sq"; sr: "eh.sr"; ss: "eh.ss"; st: "eh.st"; su: "eh.su"; sv: "eh.sv"; sw: "eh.sw"; sx: "eh.sx"; sy: "eh.sy"; sz: "eh.sz"; ta: "eh.ta"; tb: "eh.tb"; tc: "eh.tc"; td: "eh.td"; te: "eh.te"; tf: "eh.tf"; tg: "eh.tg"; th: "eh.th"; ti: "eh.ti"; tj: "eh.tj"; tk: "eh.tk"; tl: "eh.tl"; tm: "eh.tm"; tn: "eh.tn"; to: "eh.to"; tp: "eh.tp"; tq: "eh.tq"; tr: "eh.tr"; ts: "eh.ts"; tt: "eh.tt"; tu: "eh.tu"; tv: "eh.tv"; tw: "eh.tw"; tx: "eh.tx"; ty: "eh.ty"; tz: "eh.tz"; ua: "eh.ua"; ub: "eh.ub"; uc: "eh.uc"; ud: "eh.ud"; ue: "eh.ue"; uf: "eh.uf"; ug: "eh.ug"; uh: "eh.uh"; ui: "eh.ui"; uj: "eh.uj"; uk: "eh.uk"; ul: "eh.ul"; um: "eh.um"; un: "eh.un"; uo: "eh.uo"; up: "eh.up"; uq: "eh.uq"; ur: "eh.ur"; us: "eh.us"; ut: "eh.ut"; uu: "eh.uu"; uv: "eh.uv"; uw: "eh.uw"; ux: "eh.ux"; uy: "eh.uy"; uz: "eh.uz"; va: "eh.va"; vb: "eh.vb"; vc: "eh.vc"; vd: "eh.vd"; ve: "eh.ve"; vf: "eh.vf"; vg: "eh.vg"; vh: "eh.vh"; vi: "eh.vi"; vj: "eh.vj"; vk: "eh.vk"; vl: "eh.vl"; vm: "eh.vm"; vn: "eh.vn"; vo: "eh.vo"; vp: "eh.vp"; vq: "eh.vq"; vr: "eh.vr"; vs: "eh.vs"; vt: "eh.vt"; vu: "eh.vu"; vv: "eh.vv"; vw: "eh.vw"; vx: "eh.vx"; vy: "eh.vy"; vz: "eh.vz"; wa: "eh.wa"; wb: "eh.wb"; wc: "eh.wc"; wd: "eh.wd"; we: "eh.we"; wf: "eh.wf"; wg: "eh.wg"; wh: "eh.wh"; wi: "eh.wi"; wj: "eh.wj"; wk: "eh.wk"; wl: "eh.wl"; wm: "eh.wm"; wn: "eh.wn"; wo: "eh.wo"; wp: "eh.wp"; wq: "eh.wq"; wr: "eh.wr"; ws: "eh.ws"; wt: "eh.wt"; wu: "eh.wu"; wv: "eh.wv"; ww: "eh.ww"; wx: "eh.wx"; wy: "eh.wy"; wz: "eh.wz"; xa: "eh.xa"; xb: "eh.xb"; xc: "eh.xc"; xd: "eh.xd"; xe: "eh.xe"; xf: "eh.xf"; xg: "eh.xg"; xh: "eh.xh"; xi: "eh.xi"; xj: "eh.xj"; xk: "eh.xk"; xl: "eh.xl"; xm: "eh.xm"; xn: "eh.xn"; xo: "eh.xo"; xp: "eh.xp"; xq: "eh.xq"; xr: "eh.xr"; xs: "eh.xs"; xt: "eh.xt"; xu: "eh.xu"; xv: "eh.xv"; xw: "eh.xw"; xx: "eh.xx"; xy: "eh.xy"; xz: "eh.xz"; ya: "eh.ya"; yb: "eh.yb"; yc: "eh.yc"; yd: "eh.yd"; ye: "eh.ye"; yf: "eh.yf"; yg: "eh.yg"; yh: "eh.yh"; yi: "eh.yi"; yj: "eh.yj"; yk: "eh.yk"; yl: "eh.yl"; ym: "eh.ym"; yn: "eh.yn"; yo: "eh.yo"; yp: "eh.yp"; yq: "eh.yq"; yr: "eh.yr"; ys: "eh.ys"; yt: "eh.yt"; yu: "eh.yu"; yv: "eh.yv"; yw: "eh.yw"; yx: "eh.yx"; yy: "eh.yy"; yz: "eh.yz"; za: "eh.za"; zb: "eh.zb"; zc: "eh.zc"; zd: "eh.zd"; ze: "eh.ze"; zf: "eh.zf"; zg: "eh.zg"; zh: "eh.zh"; zi: "eh.zi"; zj: "eh.zj"; zk: "eh.zk"; zl: "eh.zl"; zm: "eh.zm"; zn: "eh.zn"; zo: "eh.zo"; zp: "eh.zp"; zq: "eh.zq"; zr: "eh.zr"; zs: "eh.zs"; zt: "eh.zt"; zu: "eh.zu"; zv: "eh.zv"; zw: "eh.zw"; zx: "eh.zx"; zy: "eh.zy"; zz: "eh.zz"; }; ei: { aa: "ei.aa"; ab: "ei.ab"; ac: "ei.ac"; ad: "ei.ad"; ae: "ei.ae"; af: "ei.af"; ag: "ei.ag"; ah: "ei.ah"; ai: "ei.ai"; aj: "ei.aj"; ak: "ei.ak"; al: "ei.al"; am: "ei.am"; an: "ei.an"; ao: "ei.ao"; ap: "ei.ap"; aq: "ei.aq"; ar: "ei.ar"; as: "ei.as"; at: "ei.at"; au: "ei.au"; av: "ei.av"; aw: "ei.aw"; ax: "ei.ax"; ay: "ei.ay"; az: "ei.az"; ba: "ei.ba"; bb: "ei.bb"; bc: "ei.bc"; bd: "ei.bd"; be: "ei.be"; bf: "ei.bf"; bg: "ei.bg"; bh: "ei.bh"; bi: "ei.bi"; bj: "ei.bj"; bk: "ei.bk"; bl: "ei.bl"; bm: "ei.bm"; bn: "ei.bn"; bo: "ei.bo"; bp: "ei.bp"; bq: "ei.bq"; br: "ei.br"; bs: "ei.bs"; bt: "ei.bt"; bu: "ei.bu"; bv: "ei.bv"; bw: "ei.bw"; bx: "ei.bx"; by: "ei.by"; bz: "ei.bz"; ca: "ei.ca"; cb: "ei.cb"; cc: "ei.cc"; cd: "ei.cd"; ce: "ei.ce"; cf: "ei.cf"; cg: "ei.cg"; ch: "ei.ch"; ci: "ei.ci"; cj: "ei.cj"; ck: "ei.ck"; cl: "ei.cl"; cm: "ei.cm"; cn: "ei.cn"; co: "ei.co"; cp: "ei.cp"; cq: "ei.cq"; cr: "ei.cr"; cs: "ei.cs"; ct: "ei.ct"; cu: "ei.cu"; cv: "ei.cv"; cw: "ei.cw"; cx: "ei.cx"; cy: "ei.cy"; cz: "ei.cz"; da: "ei.da"; db: "ei.db"; dc: "ei.dc"; dd: "ei.dd"; de: "ei.de"; df: "ei.df"; dg: "ei.dg"; dh: "ei.dh"; di: "ei.di"; dj: "ei.dj"; dk: "ei.dk"; dl: "ei.dl"; dm: "ei.dm"; dn: "ei.dn"; do: "ei.do"; dp: "ei.dp"; dq: "ei.dq"; dr: "ei.dr"; ds: "ei.ds"; dt: "ei.dt"; du: "ei.du"; dv: "ei.dv"; dw: "ei.dw"; dx: "ei.dx"; dy: "ei.dy"; dz: "ei.dz"; ea: "ei.ea"; eb: "ei.eb"; ec: "ei.ec"; ed: "ei.ed"; ee: "ei.ee"; ef: "ei.ef"; eg: "ei.eg"; eh: "ei.eh"; ei: "ei.ei"; ej: "ei.ej"; ek: "ei.ek"; el: "ei.el"; em: "ei.em"; en: "ei.en"; eo: "ei.eo"; ep: "ei.ep"; eq: "ei.eq"; er: "ei.er"; es: "ei.es"; et: "ei.et"; eu: "ei.eu"; ev: "ei.ev"; ew: "ei.ew"; ex: "ei.ex"; ey: "ei.ey"; ez: "ei.ez"; fa: "ei.fa"; fb: "ei.fb"; fc: "ei.fc"; fd: "ei.fd"; fe: "ei.fe"; ff: "ei.ff"; fg: "ei.fg"; fh: "ei.fh"; fi: "ei.fi"; fj: "ei.fj"; fk: "ei.fk"; fl: "ei.fl"; fm: "ei.fm"; fn: "ei.fn"; fo: "ei.fo"; fp: "ei.fp"; fq: "ei.fq"; fr: "ei.fr"; fs: "ei.fs"; ft: "ei.ft"; fu: "ei.fu"; fv: "ei.fv"; fw: "ei.fw"; fx: "ei.fx"; fy: "ei.fy"; fz: "ei.fz"; ga: "ei.ga"; gb: "ei.gb"; gc: "ei.gc"; gd: "ei.gd"; ge: "ei.ge"; gf: "ei.gf"; gg: "ei.gg"; gh: "ei.gh"; gi: "ei.gi"; gj: "ei.gj"; gk: "ei.gk"; gl: "ei.gl"; gm: "ei.gm"; gn: "ei.gn"; go: "ei.go"; gp: "ei.gp"; gq: "ei.gq"; gr: "ei.gr"; gs: "ei.gs"; gt: "ei.gt"; gu: "ei.gu"; gv: "ei.gv"; gw: "ei.gw"; gx: "ei.gx"; gy: "ei.gy"; gz: "ei.gz"; ha: "ei.ha"; hb: "ei.hb"; hc: "ei.hc"; hd: "ei.hd"; he: "ei.he"; hf: "ei.hf"; hg: "ei.hg"; hh: "ei.hh"; hi: "ei.hi"; hj: "ei.hj"; hk: "ei.hk"; hl: "ei.hl"; hm: "ei.hm"; hn: "ei.hn"; ho: "ei.ho"; hp: "ei.hp"; hq: "ei.hq"; hr: "ei.hr"; hs: "ei.hs"; ht: "ei.ht"; hu: "ei.hu"; hv: "ei.hv"; hw: "ei.hw"; hx: "ei.hx"; hy: "ei.hy"; hz: "ei.hz"; ia: "ei.ia"; ib: "ei.ib"; ic: "ei.ic"; id: "ei.id"; ie: "ei.ie"; if: "ei.if"; ig: "ei.ig"; ih: "ei.ih"; ii: "ei.ii"; ij: "ei.ij"; ik: "ei.ik"; il: "ei.il"; im: "ei.im"; in: "ei.in"; io: "ei.io"; ip: "ei.ip"; iq: "ei.iq"; ir: "ei.ir"; is: "ei.is"; it: "ei.it"; iu: "ei.iu"; iv: "ei.iv"; iw: "ei.iw"; ix: "ei.ix"; iy: "ei.iy"; iz: "ei.iz"; ja: "ei.ja"; jb: "ei.jb"; jc: "ei.jc"; jd: "ei.jd"; je: "ei.je"; jf: "ei.jf"; jg: "ei.jg"; jh: "ei.jh"; ji: "ei.ji"; jj: "ei.jj"; jk: "ei.jk"; jl: "ei.jl"; jm: "ei.jm"; jn: "ei.jn"; jo: "ei.jo"; jp: "ei.jp"; jq: "ei.jq"; jr: "ei.jr"; js: "ei.js"; jt: "ei.jt"; ju: "ei.ju"; jv: "ei.jv"; jw: "ei.jw"; jx: "ei.jx"; jy: "ei.jy"; jz: "ei.jz"; ka: "ei.ka"; kb: "ei.kb"; kc: "ei.kc"; kd: "ei.kd"; ke: "ei.ke"; kf: "ei.kf"; kg: "ei.kg"; kh: "ei.kh"; ki: "ei.ki"; kj: "ei.kj"; kk: "ei.kk"; kl: "ei.kl"; km: "ei.km"; kn: "ei.kn"; ko: "ei.ko"; kp: "ei.kp"; kq: "ei.kq"; kr: "ei.kr"; ks: "ei.ks"; kt: "ei.kt"; ku: "ei.ku"; kv: "ei.kv"; kw: "ei.kw"; kx: "ei.kx"; ky: "ei.ky"; kz: "ei.kz"; la: "ei.la"; lb: "ei.lb"; lc: "ei.lc"; ld: "ei.ld"; le: "ei.le"; lf: "ei.lf"; lg: "ei.lg"; lh: "ei.lh"; li: "ei.li"; lj: "ei.lj"; lk: "ei.lk"; ll: "ei.ll"; lm: "ei.lm"; ln: "ei.ln"; lo: "ei.lo"; lp: "ei.lp"; lq: "ei.lq"; lr: "ei.lr"; ls: "ei.ls"; lt: "ei.lt"; lu: "ei.lu"; lv: "ei.lv"; lw: "ei.lw"; lx: "ei.lx"; ly: "ei.ly"; lz: "ei.lz"; ma: "ei.ma"; mb: "ei.mb"; mc: "ei.mc"; md: "ei.md"; me: "ei.me"; mf: "ei.mf"; mg: "ei.mg"; mh: "ei.mh"; mi: "ei.mi"; mj: "ei.mj"; mk: "ei.mk"; ml: "ei.ml"; mm: "ei.mm"; mn: "ei.mn"; mo: "ei.mo"; mp: "ei.mp"; mq: "ei.mq"; mr: "ei.mr"; ms: "ei.ms"; mt: "ei.mt"; mu: "ei.mu"; mv: "ei.mv"; mw: "ei.mw"; mx: "ei.mx"; my: "ei.my"; mz: "ei.mz"; na: "ei.na"; nb: "ei.nb"; nc: "ei.nc"; nd: "ei.nd"; ne: "ei.ne"; nf: "ei.nf"; ng: "ei.ng"; nh: "ei.nh"; ni: "ei.ni"; nj: "ei.nj"; nk: "ei.nk"; nl: "ei.nl"; nm: "ei.nm"; nn: "ei.nn"; no: "ei.no"; np: "ei.np"; nq: "ei.nq"; nr: "ei.nr"; ns: "ei.ns"; nt: "ei.nt"; nu: "ei.nu"; nv: "ei.nv"; nw: "ei.nw"; nx: "ei.nx"; ny: "ei.ny"; nz: "ei.nz"; oa: "ei.oa"; ob: "ei.ob"; oc: "ei.oc"; od: "ei.od"; oe: "ei.oe"; of: "ei.of"; og: "ei.og"; oh: "ei.oh"; oi: "ei.oi"; oj: "ei.oj"; ok: "ei.ok"; ol: "ei.ol"; om: "ei.om"; on: "ei.on"; oo: "ei.oo"; op: "ei.op"; oq: "ei.oq"; or: "ei.or"; os: "ei.os"; ot: "ei.ot"; ou: "ei.ou"; ov: "ei.ov"; ow: "ei.ow"; ox: "ei.ox"; oy: "ei.oy"; oz: "ei.oz"; pa: "ei.pa"; pb: "ei.pb"; pc: "ei.pc"; pd: "ei.pd"; pe: "ei.pe"; pf: "ei.pf"; pg: "ei.pg"; ph: "ei.ph"; pi: "ei.pi"; pj: "ei.pj"; pk: "ei.pk"; pl: "ei.pl"; pm: "ei.pm"; pn: "ei.pn"; po: "ei.po"; pp: "ei.pp"; pq: "ei.pq"; pr: "ei.pr"; ps: "ei.ps"; pt: "ei.pt"; pu: "ei.pu"; pv: "ei.pv"; pw: "ei.pw"; px: "ei.px"; py: "ei.py"; pz: "ei.pz"; qa: "ei.qa"; qb: "ei.qb"; qc: "ei.qc"; qd: "ei.qd"; qe: "ei.qe"; qf: "ei.qf"; qg: "ei.qg"; qh: "ei.qh"; qi: "ei.qi"; qj: "ei.qj"; qk: "ei.qk"; ql: "ei.ql"; qm: "ei.qm"; qn: "ei.qn"; qo: "ei.qo"; qp: "ei.qp"; qq: "ei.qq"; qr: "ei.qr"; qs: "ei.qs"; qt: "ei.qt"; qu: "ei.qu"; qv: "ei.qv"; qw: "ei.qw"; qx: "ei.qx"; qy: "ei.qy"; qz: "ei.qz"; ra: "ei.ra"; rb: "ei.rb"; rc: "ei.rc"; rd: "ei.rd"; re: "ei.re"; rf: "ei.rf"; rg: "ei.rg"; rh: "ei.rh"; ri: "ei.ri"; rj: "ei.rj"; rk: "ei.rk"; rl: "ei.rl"; rm: "ei.rm"; rn: "ei.rn"; ro: "ei.ro"; rp: "ei.rp"; rq: "ei.rq"; rr: "ei.rr"; rs: "ei.rs"; rt: "ei.rt"; ru: "ei.ru"; rv: "ei.rv"; rw: "ei.rw"; rx: "ei.rx"; ry: "ei.ry"; rz: "ei.rz"; sa: "ei.sa"; sb: "ei.sb"; sc: "ei.sc"; sd: "ei.sd"; se: "ei.se"; sf: "ei.sf"; sg: "ei.sg"; sh: "ei.sh"; si: "ei.si"; sj: "ei.sj"; sk: "ei.sk"; sl: "ei.sl"; sm: "ei.sm"; sn: "ei.sn"; so: "ei.so"; sp: "ei.sp"; sq: "ei.sq"; sr: "ei.sr"; ss: "ei.ss"; st: "ei.st"; su: "ei.su"; sv: "ei.sv"; sw: "ei.sw"; sx: "ei.sx"; sy: "ei.sy"; sz: "ei.sz"; ta: "ei.ta"; tb: "ei.tb"; tc: "ei.tc"; td: "ei.td"; te: "ei.te"; tf: "ei.tf"; tg: "ei.tg"; th: "ei.th"; ti: "ei.ti"; tj: "ei.tj"; tk: "ei.tk"; tl: "ei.tl"; tm: "ei.tm"; tn: "ei.tn"; to: "ei.to"; tp: "ei.tp"; tq: "ei.tq"; tr: "ei.tr"; ts: "ei.ts"; tt: "ei.tt"; tu: "ei.tu"; tv: "ei.tv"; tw: "ei.tw"; tx: "ei.tx"; ty: "ei.ty"; tz: "ei.tz"; ua: "ei.ua"; ub: "ei.ub"; uc: "ei.uc"; ud: "ei.ud"; ue: "ei.ue"; uf: "ei.uf"; ug: "ei.ug"; uh: "ei.uh"; ui: "ei.ui"; uj: "ei.uj"; uk: "ei.uk"; ul: "ei.ul"; um: "ei.um"; un: "ei.un"; uo: "ei.uo"; up: "ei.up"; uq: "ei.uq"; ur: "ei.ur"; us: "ei.us"; ut: "ei.ut"; uu: "ei.uu"; uv: "ei.uv"; uw: "ei.uw"; ux: "ei.ux"; uy: "ei.uy"; uz: "ei.uz"; va: "ei.va"; vb: "ei.vb"; vc: "ei.vc"; vd: "ei.vd"; ve: "ei.ve"; vf: "ei.vf"; vg: "ei.vg"; vh: "ei.vh"; vi: "ei.vi"; vj: "ei.vj"; vk: "ei.vk"; vl: "ei.vl"; vm: "ei.vm"; vn: "ei.vn"; vo: "ei.vo"; vp: "ei.vp"; vq: "ei.vq"; vr: "ei.vr"; vs: "ei.vs"; vt: "ei.vt"; vu: "ei.vu"; vv: "ei.vv"; vw: "ei.vw"; vx: "ei.vx"; vy: "ei.vy"; vz: "ei.vz"; wa: "ei.wa"; wb: "ei.wb"; wc: "ei.wc"; wd: "ei.wd"; we: "ei.we"; wf: "ei.wf"; wg: "ei.wg"; wh: "ei.wh"; wi: "ei.wi"; wj: "ei.wj"; wk: "ei.wk"; wl: "ei.wl"; wm: "ei.wm"; wn: "ei.wn"; wo: "ei.wo"; wp: "ei.wp"; wq: "ei.wq"; wr: "ei.wr"; ws: "ei.ws"; wt: "ei.wt"; wu: "ei.wu"; wv: "ei.wv"; ww: "ei.ww"; wx: "ei.wx"; wy: "ei.wy"; wz: "ei.wz"; xa: "ei.xa"; xb: "ei.xb"; xc: "ei.xc"; xd: "ei.xd"; xe: "ei.xe"; xf: "ei.xf"; xg: "ei.xg"; xh: "ei.xh"; xi: "ei.xi"; xj: "ei.xj"; xk: "ei.xk"; xl: "ei.xl"; xm: "ei.xm"; xn: "ei.xn"; xo: "ei.xo"; xp: "ei.xp"; xq: "ei.xq"; xr: "ei.xr"; xs: "ei.xs"; xt: "ei.xt"; xu: "ei.xu"; xv: "ei.xv"; xw: "ei.xw"; xx: "ei.xx"; xy: "ei.xy"; xz: "ei.xz"; ya: "ei.ya"; yb: "ei.yb"; yc: "ei.yc"; yd: "ei.yd"; ye: "ei.ye"; yf: "ei.yf"; yg: "ei.yg"; yh: "ei.yh"; yi: "ei.yi"; yj: "ei.yj"; yk: "ei.yk"; yl: "ei.yl"; ym: "ei.ym"; yn: "ei.yn"; yo: "ei.yo"; yp: "ei.yp"; yq: "ei.yq"; yr: "ei.yr"; ys: "ei.ys"; yt: "ei.yt"; yu: "ei.yu"; yv: "ei.yv"; yw: "ei.yw"; yx: "ei.yx"; yy: "ei.yy"; yz: "ei.yz"; za: "ei.za"; zb: "ei.zb"; zc: "ei.zc"; zd: "ei.zd"; ze: "ei.ze"; zf: "ei.zf"; zg: "ei.zg"; zh: "ei.zh"; zi: "ei.zi"; zj: "ei.zj"; zk: "ei.zk"; zl: "ei.zl"; zm: "ei.zm"; zn: "ei.zn"; zo: "ei.zo"; zp: "ei.zp"; zq: "ei.zq"; zr: "ei.zr"; zs: "ei.zs"; zt: "ei.zt"; zu: "ei.zu"; zv: "ei.zv"; zw: "ei.zw"; zx: "ei.zx"; zy: "ei.zy"; zz: "ei.zz"; }; ej: { aa: "ej.aa"; ab: "ej.ab"; ac: "ej.ac"; ad: "ej.ad"; ae: "ej.ae"; af: "ej.af"; ag: "ej.ag"; ah: "ej.ah"; ai: "ej.ai"; aj: "ej.aj"; ak: "ej.ak"; al: "ej.al"; am: "ej.am"; an: "ej.an"; ao: "ej.ao"; ap: "ej.ap"; aq: "ej.aq"; ar: "ej.ar"; as: "ej.as"; at: "ej.at"; au: "ej.au"; av: "ej.av"; aw: "ej.aw"; ax: "ej.ax"; ay: "ej.ay"; az: "ej.az"; ba: "ej.ba"; bb: "ej.bb"; bc: "ej.bc"; bd: "ej.bd"; be: "ej.be"; bf: "ej.bf"; bg: "ej.bg"; bh: "ej.bh"; bi: "ej.bi"; bj: "ej.bj"; bk: "ej.bk"; bl: "ej.bl"; bm: "ej.bm"; bn: "ej.bn"; bo: "ej.bo"; bp: "ej.bp"; bq: "ej.bq"; br: "ej.br"; bs: "ej.bs"; bt: "ej.bt"; bu: "ej.bu"; bv: "ej.bv"; bw: "ej.bw"; bx: "ej.bx"; by: "ej.by"; bz: "ej.bz"; ca: "ej.ca"; cb: "ej.cb"; cc: "ej.cc"; cd: "ej.cd"; ce: "ej.ce"; cf: "ej.cf"; cg: "ej.cg"; ch: "ej.ch"; ci: "ej.ci"; cj: "ej.cj"; ck: "ej.ck"; cl: "ej.cl"; cm: "ej.cm"; cn: "ej.cn"; co: "ej.co"; cp: "ej.cp"; cq: "ej.cq"; cr: "ej.cr"; cs: "ej.cs"; ct: "ej.ct"; cu: "ej.cu"; cv: "ej.cv"; cw: "ej.cw"; cx: "ej.cx"; cy: "ej.cy"; cz: "ej.cz"; da: "ej.da"; db: "ej.db"; dc: "ej.dc"; dd: "ej.dd"; de: "ej.de"; df: "ej.df"; dg: "ej.dg"; dh: "ej.dh"; di: "ej.di"; dj: "ej.dj"; dk: "ej.dk"; dl: "ej.dl"; dm: "ej.dm"; dn: "ej.dn"; do: "ej.do"; dp: "ej.dp"; dq: "ej.dq"; dr: "ej.dr"; ds: "ej.ds"; dt: "ej.dt"; du: "ej.du"; dv: "ej.dv"; dw: "ej.dw"; dx: "ej.dx"; dy: "ej.dy"; dz: "ej.dz"; ea: "ej.ea"; eb: "ej.eb"; ec: "ej.ec"; ed: "ej.ed"; ee: "ej.ee"; ef: "ej.ef"; eg: "ej.eg"; eh: "ej.eh"; ei: "ej.ei"; ej: "ej.ej"; ek: "ej.ek"; el: "ej.el"; em: "ej.em"; en: "ej.en"; eo: "ej.eo"; ep: "ej.ep"; eq: "ej.eq"; er: "ej.er"; es: "ej.es"; et: "ej.et"; eu: "ej.eu"; ev: "ej.ev"; ew: "ej.ew"; ex: "ej.ex"; ey: "ej.ey"; ez: "ej.ez"; fa: "ej.fa"; fb: "ej.fb"; fc: "ej.fc"; fd: "ej.fd"; fe: "ej.fe"; ff: "ej.ff"; fg: "ej.fg"; fh: "ej.fh"; fi: "ej.fi"; fj: "ej.fj"; fk: "ej.fk"; fl: "ej.fl"; fm: "ej.fm"; fn: "ej.fn"; fo: "ej.fo"; fp: "ej.fp"; fq: "ej.fq"; fr: "ej.fr"; fs: "ej.fs"; ft: "ej.ft"; fu: "ej.fu"; fv: "ej.fv"; fw: "ej.fw"; fx: "ej.fx"; fy: "ej.fy"; fz: "ej.fz"; ga: "ej.ga"; gb: "ej.gb"; gc: "ej.gc"; gd: "ej.gd"; ge: "ej.ge"; gf: "ej.gf"; gg: "ej.gg"; gh: "ej.gh"; gi: "ej.gi"; gj: "ej.gj"; gk: "ej.gk"; gl: "ej.gl"; gm: "ej.gm"; gn: "ej.gn"; go: "ej.go"; gp: "ej.gp"; gq: "ej.gq"; gr: "ej.gr"; gs: "ej.gs"; gt: "ej.gt"; gu: "ej.gu"; gv: "ej.gv"; gw: "ej.gw"; gx: "ej.gx"; gy: "ej.gy"; gz: "ej.gz"; ha: "ej.ha"; hb: "ej.hb"; hc: "ej.hc"; hd: "ej.hd"; he: "ej.he"; hf: "ej.hf"; hg: "ej.hg"; hh: "ej.hh"; hi: "ej.hi"; hj: "ej.hj"; hk: "ej.hk"; hl: "ej.hl"; hm: "ej.hm"; hn: "ej.hn"; ho: "ej.ho"; hp: "ej.hp"; hq: "ej.hq"; hr: "ej.hr"; hs: "ej.hs"; ht: "ej.ht"; hu: "ej.hu"; hv: "ej.hv"; hw: "ej.hw"; hx: "ej.hx"; hy: "ej.hy"; hz: "ej.hz"; ia: "ej.ia"; ib: "ej.ib"; ic: "ej.ic"; id: "ej.id"; ie: "ej.ie"; if: "ej.if"; ig: "ej.ig"; ih: "ej.ih"; ii: "ej.ii"; ij: "ej.ij"; ik: "ej.ik"; il: "ej.il"; im: "ej.im"; in: "ej.in"; io: "ej.io"; ip: "ej.ip"; iq: "ej.iq"; ir: "ej.ir"; is: "ej.is"; it: "ej.it"; iu: "ej.iu"; iv: "ej.iv"; iw: "ej.iw"; ix: "ej.ix"; iy: "ej.iy"; iz: "ej.iz"; ja: "ej.ja"; jb: "ej.jb"; jc: "ej.jc"; jd: "ej.jd"; je: "ej.je"; jf: "ej.jf"; jg: "ej.jg"; jh: "ej.jh"; ji: "ej.ji"; jj: "ej.jj"; jk: "ej.jk"; jl: "ej.jl"; jm: "ej.jm"; jn: "ej.jn"; jo: "ej.jo"; jp: "ej.jp"; jq: "ej.jq"; jr: "ej.jr"; js: "ej.js"; jt: "ej.jt"; ju: "ej.ju"; jv: "ej.jv"; jw: "ej.jw"; jx: "ej.jx"; jy: "ej.jy"; jz: "ej.jz"; ka: "ej.ka"; kb: "ej.kb"; kc: "ej.kc"; kd: "ej.kd"; ke: "ej.ke"; kf: "ej.kf"; kg: "ej.kg"; kh: "ej.kh"; ki: "ej.ki"; kj: "ej.kj"; kk: "ej.kk"; kl: "ej.kl"; km: "ej.km"; kn: "ej.kn"; ko: "ej.ko"; kp: "ej.kp"; kq: "ej.kq"; kr: "ej.kr"; ks: "ej.ks"; kt: "ej.kt"; ku: "ej.ku"; kv: "ej.kv"; kw: "ej.kw"; kx: "ej.kx"; ky: "ej.ky"; kz: "ej.kz"; la: "ej.la"; lb: "ej.lb"; lc: "ej.lc"; ld: "ej.ld"; le: "ej.le"; lf: "ej.lf"; lg: "ej.lg"; lh: "ej.lh"; li: "ej.li"; lj: "ej.lj"; lk: "ej.lk"; ll: "ej.ll"; lm: "ej.lm"; ln: "ej.ln"; lo: "ej.lo"; lp: "ej.lp"; lq: "ej.lq"; lr: "ej.lr"; ls: "ej.ls"; lt: "ej.lt"; lu: "ej.lu"; lv: "ej.lv"; lw: "ej.lw"; lx: "ej.lx"; ly: "ej.ly"; lz: "ej.lz"; ma: "ej.ma"; mb: "ej.mb"; mc: "ej.mc"; md: "ej.md"; me: "ej.me"; mf: "ej.mf"; mg: "ej.mg"; mh: "ej.mh"; mi: "ej.mi"; mj: "ej.mj"; mk: "ej.mk"; ml: "ej.ml"; mm: "ej.mm"; mn: "ej.mn"; mo: "ej.mo"; mp: "ej.mp"; mq: "ej.mq"; mr: "ej.mr"; ms: "ej.ms"; mt: "ej.mt"; mu: "ej.mu"; mv: "ej.mv"; mw: "ej.mw"; mx: "ej.mx"; my: "ej.my"; mz: "ej.mz"; na: "ej.na"; nb: "ej.nb"; nc: "ej.nc"; nd: "ej.nd"; ne: "ej.ne"; nf: "ej.nf"; ng: "ej.ng"; nh: "ej.nh"; ni: "ej.ni"; nj: "ej.nj"; nk: "ej.nk"; nl: "ej.nl"; nm: "ej.nm"; nn: "ej.nn"; no: "ej.no"; np: "ej.np"; nq: "ej.nq"; nr: "ej.nr"; ns: "ej.ns"; nt: "ej.nt"; nu: "ej.nu"; nv: "ej.nv"; nw: "ej.nw"; nx: "ej.nx"; ny: "ej.ny"; nz: "ej.nz"; oa: "ej.oa"; ob: "ej.ob"; oc: "ej.oc"; od: "ej.od"; oe: "ej.oe"; of: "ej.of"; og: "ej.og"; oh: "ej.oh"; oi: "ej.oi"; oj: "ej.oj"; ok: "ej.ok"; ol: "ej.ol"; om: "ej.om"; on: "ej.on"; oo: "ej.oo"; op: "ej.op"; oq: "ej.oq"; or: "ej.or"; os: "ej.os"; ot: "ej.ot"; ou: "ej.ou"; ov: "ej.ov"; ow: "ej.ow"; ox: "ej.ox"; oy: "ej.oy"; oz: "ej.oz"; pa: "ej.pa"; pb: "ej.pb"; pc: "ej.pc"; pd: "ej.pd"; pe: "ej.pe"; pf: "ej.pf"; pg: "ej.pg"; ph: "ej.ph"; pi: "ej.pi"; pj: "ej.pj"; pk: "ej.pk"; pl: "ej.pl"; pm: "ej.pm"; pn: "ej.pn"; po: "ej.po"; pp: "ej.pp"; pq: "ej.pq"; pr: "ej.pr"; ps: "ej.ps"; pt: "ej.pt"; pu: "ej.pu"; pv: "ej.pv"; pw: "ej.pw"; px: "ej.px"; py: "ej.py"; pz: "ej.pz"; qa: "ej.qa"; qb: "ej.qb"; qc: "ej.qc"; qd: "ej.qd"; qe: "ej.qe"; qf: "ej.qf"; qg: "ej.qg"; qh: "ej.qh"; qi: "ej.qi"; qj: "ej.qj"; qk: "ej.qk"; ql: "ej.ql"; qm: "ej.qm"; qn: "ej.qn"; qo: "ej.qo"; qp: "ej.qp"; qq: "ej.qq"; qr: "ej.qr"; qs: "ej.qs"; qt: "ej.qt"; qu: "ej.qu"; qv: "ej.qv"; qw: "ej.qw"; qx: "ej.qx"; qy: "ej.qy"; qz: "ej.qz"; ra: "ej.ra"; rb: "ej.rb"; rc: "ej.rc"; rd: "ej.rd"; re: "ej.re"; rf: "ej.rf"; rg: "ej.rg"; rh: "ej.rh"; ri: "ej.ri"; rj: "ej.rj"; rk: "ej.rk"; rl: "ej.rl"; rm: "ej.rm"; rn: "ej.rn"; ro: "ej.ro"; rp: "ej.rp"; rq: "ej.rq"; rr: "ej.rr"; rs: "ej.rs"; rt: "ej.rt"; ru: "ej.ru"; rv: "ej.rv"; rw: "ej.rw"; rx: "ej.rx"; ry: "ej.ry"; rz: "ej.rz"; sa: "ej.sa"; sb: "ej.sb"; sc: "ej.sc"; sd: "ej.sd"; se: "ej.se"; sf: "ej.sf"; sg: "ej.sg"; sh: "ej.sh"; si: "ej.si"; sj: "ej.sj"; sk: "ej.sk"; sl: "ej.sl"; sm: "ej.sm"; sn: "ej.sn"; so: "ej.so"; sp: "ej.sp"; sq: "ej.sq"; sr: "ej.sr"; ss: "ej.ss"; st: "ej.st"; su: "ej.su"; sv: "ej.sv"; sw: "ej.sw"; sx: "ej.sx"; sy: "ej.sy"; sz: "ej.sz"; ta: "ej.ta"; tb: "ej.tb"; tc: "ej.tc"; td: "ej.td"; te: "ej.te"; tf: "ej.tf"; tg: "ej.tg"; th: "ej.th"; ti: "ej.ti"; tj: "ej.tj"; tk: "ej.tk"; tl: "ej.tl"; tm: "ej.tm"; tn: "ej.tn"; to: "ej.to"; tp: "ej.tp"; tq: "ej.tq"; tr: "ej.tr"; ts: "ej.ts"; tt: "ej.tt"; tu: "ej.tu"; tv: "ej.tv"; tw: "ej.tw"; tx: "ej.tx"; ty: "ej.ty"; tz: "ej.tz"; ua: "ej.ua"; ub: "ej.ub"; uc: "ej.uc"; ud: "ej.ud"; ue: "ej.ue"; uf: "ej.uf"; ug: "ej.ug"; uh: "ej.uh"; ui: "ej.ui"; uj: "ej.uj"; uk: "ej.uk"; ul: "ej.ul"; um: "ej.um"; un: "ej.un"; uo: "ej.uo"; up: "ej.up"; uq: "ej.uq"; ur: "ej.ur"; us: "ej.us"; ut: "ej.ut"; uu: "ej.uu"; uv: "ej.uv"; uw: "ej.uw"; ux: "ej.ux"; uy: "ej.uy"; uz: "ej.uz"; va: "ej.va"; vb: "ej.vb"; vc: "ej.vc"; vd: "ej.vd"; ve: "ej.ve"; vf: "ej.vf"; vg: "ej.vg"; vh: "ej.vh"; vi: "ej.vi"; vj: "ej.vj"; vk: "ej.vk"; vl: "ej.vl"; vm: "ej.vm"; vn: "ej.vn"; vo: "ej.vo"; vp: "ej.vp"; vq: "ej.vq"; vr: "ej.vr"; vs: "ej.vs"; vt: "ej.vt"; vu: "ej.vu"; vv: "ej.vv"; vw: "ej.vw"; vx: "ej.vx"; vy: "ej.vy"; vz: "ej.vz"; wa: "ej.wa"; wb: "ej.wb"; wc: "ej.wc"; wd: "ej.wd"; we: "ej.we"; wf: "ej.wf"; wg: "ej.wg"; wh: "ej.wh"; wi: "ej.wi"; wj: "ej.wj"; wk: "ej.wk"; wl: "ej.wl"; wm: "ej.wm"; wn: "ej.wn"; wo: "ej.wo"; wp: "ej.wp"; wq: "ej.wq"; wr: "ej.wr"; ws: "ej.ws"; wt: "ej.wt"; wu: "ej.wu"; wv: "ej.wv"; ww: "ej.ww"; wx: "ej.wx"; wy: "ej.wy"; wz: "ej.wz"; xa: "ej.xa"; xb: "ej.xb"; xc: "ej.xc"; xd: "ej.xd"; xe: "ej.xe"; xf: "ej.xf"; xg: "ej.xg"; xh: "ej.xh"; xi: "ej.xi"; xj: "ej.xj"; xk: "ej.xk"; xl: "ej.xl"; xm: "ej.xm"; xn: "ej.xn"; xo: "ej.xo"; xp: "ej.xp"; xq: "ej.xq"; xr: "ej.xr"; xs: "ej.xs"; xt: "ej.xt"; xu: "ej.xu"; xv: "ej.xv"; xw: "ej.xw"; xx: "ej.xx"; xy: "ej.xy"; xz: "ej.xz"; ya: "ej.ya"; yb: "ej.yb"; yc: "ej.yc"; yd: "ej.yd"; ye: "ej.ye"; yf: "ej.yf"; yg: "ej.yg"; yh: "ej.yh"; yi: "ej.yi"; yj: "ej.yj"; yk: "ej.yk"; yl: "ej.yl"; ym: "ej.ym"; yn: "ej.yn"; yo: "ej.yo"; yp: "ej.yp"; yq: "ej.yq"; yr: "ej.yr"; ys: "ej.ys"; yt: "ej.yt"; yu: "ej.yu"; yv: "ej.yv"; yw: "ej.yw"; yx: "ej.yx"; yy: "ej.yy"; yz: "ej.yz"; za: "ej.za"; zb: "ej.zb"; zc: "ej.zc"; zd: "ej.zd"; ze: "ej.ze"; zf: "ej.zf"; zg: "ej.zg"; zh: "ej.zh"; zi: "ej.zi"; zj: "ej.zj"; zk: "ej.zk"; zl: "ej.zl"; zm: "ej.zm"; zn: "ej.zn"; zo: "ej.zo"; zp: "ej.zp"; zq: "ej.zq"; zr: "ej.zr"; zs: "ej.zs"; zt: "ej.zt"; zu: "ej.zu"; zv: "ej.zv"; zw: "ej.zw"; zx: "ej.zx"; zy: "ej.zy"; zz: "ej.zz"; }; ek: { aa: "ek.aa"; ab: "ek.ab"; ac: "ek.ac"; ad: "ek.ad"; ae: "ek.ae"; af: "ek.af"; ag: "ek.ag"; ah: "ek.ah"; ai: "ek.ai"; aj: "ek.aj"; ak: "ek.ak"; al: "ek.al"; am: "ek.am"; an: "ek.an"; ao: "ek.ao"; ap: "ek.ap"; aq: "ek.aq"; ar: "ek.ar"; as: "ek.as"; at: "ek.at"; au: "ek.au"; av: "ek.av"; aw: "ek.aw"; ax: "ek.ax"; ay: "ek.ay"; az: "ek.az"; ba: "ek.ba"; bb: "ek.bb"; bc: "ek.bc"; bd: "ek.bd"; be: "ek.be"; bf: "ek.bf"; bg: "ek.bg"; bh: "ek.bh"; bi: "ek.bi"; bj: "ek.bj"; bk: "ek.bk"; bl: "ek.bl"; bm: "ek.bm"; bn: "ek.bn"; bo: "ek.bo"; bp: "ek.bp"; bq: "ek.bq"; br: "ek.br"; bs: "ek.bs"; bt: "ek.bt"; bu: "ek.bu"; bv: "ek.bv"; bw: "ek.bw"; bx: "ek.bx"; by: "ek.by"; bz: "ek.bz"; ca: "ek.ca"; cb: "ek.cb"; cc: "ek.cc"; cd: "ek.cd"; ce: "ek.ce"; cf: "ek.cf"; cg: "ek.cg"; ch: "ek.ch"; ci: "ek.ci"; cj: "ek.cj"; ck: "ek.ck"; cl: "ek.cl"; cm: "ek.cm"; cn: "ek.cn"; co: "ek.co"; cp: "ek.cp"; cq: "ek.cq"; cr: "ek.cr"; cs: "ek.cs"; ct: "ek.ct"; cu: "ek.cu"; cv: "ek.cv"; cw: "ek.cw"; cx: "ek.cx"; cy: "ek.cy"; cz: "ek.cz"; da: "ek.da"; db: "ek.db"; dc: "ek.dc"; dd: "ek.dd"; de: "ek.de"; df: "ek.df"; dg: "ek.dg"; dh: "ek.dh"; di: "ek.di"; dj: "ek.dj"; dk: "ek.dk"; dl: "ek.dl"; dm: "ek.dm"; dn: "ek.dn"; do: "ek.do"; dp: "ek.dp"; dq: "ek.dq"; dr: "ek.dr"; ds: "ek.ds"; dt: "ek.dt"; du: "ek.du"; dv: "ek.dv"; dw: "ek.dw"; dx: "ek.dx"; dy: "ek.dy"; dz: "ek.dz"; ea: "ek.ea"; eb: "ek.eb"; ec: "ek.ec"; ed: "ek.ed"; ee: "ek.ee"; ef: "ek.ef"; eg: "ek.eg"; eh: "ek.eh"; ei: "ek.ei"; ej: "ek.ej"; ek: "ek.ek"; el: "ek.el"; em: "ek.em"; en: "ek.en"; eo: "ek.eo"; ep: "ek.ep"; eq: "ek.eq"; er: "ek.er"; es: "ek.es"; et: "ek.et"; eu: "ek.eu"; ev: "ek.ev"; ew: "ek.ew"; ex: "ek.ex"; ey: "ek.ey"; ez: "ek.ez"; fa: "ek.fa"; fb: "ek.fb"; fc: "ek.fc"; fd: "ek.fd"; fe: "ek.fe"; ff: "ek.ff"; fg: "ek.fg"; fh: "ek.fh"; fi: "ek.fi"; fj: "ek.fj"; fk: "ek.fk"; fl: "ek.fl"; fm: "ek.fm"; fn: "ek.fn"; fo: "ek.fo"; fp: "ek.fp"; fq: "ek.fq"; fr: "ek.fr"; fs: "ek.fs"; ft: "ek.ft"; fu: "ek.fu"; fv: "ek.fv"; fw: "ek.fw"; fx: "ek.fx"; fy: "ek.fy"; fz: "ek.fz"; ga: "ek.ga"; gb: "ek.gb"; gc: "ek.gc"; gd: "ek.gd"; ge: "ek.ge"; gf: "ek.gf"; gg: "ek.gg"; gh: "ek.gh"; gi: "ek.gi"; gj: "ek.gj"; gk: "ek.gk"; gl: "ek.gl"; gm: "ek.gm"; gn: "ek.gn"; go: "ek.go"; gp: "ek.gp"; gq: "ek.gq"; gr: "ek.gr"; gs: "ek.gs"; gt: "ek.gt"; gu: "ek.gu"; gv: "ek.gv"; gw: "ek.gw"; gx: "ek.gx"; gy: "ek.gy"; gz: "ek.gz"; ha: "ek.ha"; hb: "ek.hb"; hc: "ek.hc"; hd: "ek.hd"; he: "ek.he"; hf: "ek.hf"; hg: "ek.hg"; hh: "ek.hh"; hi: "ek.hi"; hj: "ek.hj"; hk: "ek.hk"; hl: "ek.hl"; hm: "ek.hm"; hn: "ek.hn"; ho: "ek.ho"; hp: "ek.hp"; hq: "ek.hq"; hr: "ek.hr"; hs: "ek.hs"; ht: "ek.ht"; hu: "ek.hu"; hv: "ek.hv"; hw: "ek.hw"; hx: "ek.hx"; hy: "ek.hy"; hz: "ek.hz"; ia: "ek.ia"; ib: "ek.ib"; ic: "ek.ic"; id: "ek.id"; ie: "ek.ie"; if: "ek.if"; ig: "ek.ig"; ih: "ek.ih"; ii: "ek.ii"; ij: "ek.ij"; ik: "ek.ik"; il: "ek.il"; im: "ek.im"; in: "ek.in"; io: "ek.io"; ip: "ek.ip"; iq: "ek.iq"; ir: "ek.ir"; is: "ek.is"; it: "ek.it"; iu: "ek.iu"; iv: "ek.iv"; iw: "ek.iw"; ix: "ek.ix"; iy: "ek.iy"; iz: "ek.iz"; ja: "ek.ja"; jb: "ek.jb"; jc: "ek.jc"; jd: "ek.jd"; je: "ek.je"; jf: "ek.jf"; jg: "ek.jg"; jh: "ek.jh"; ji: "ek.ji"; jj: "ek.jj"; jk: "ek.jk"; jl: "ek.jl"; jm: "ek.jm"; jn: "ek.jn"; jo: "ek.jo"; jp: "ek.jp"; jq: "ek.jq"; jr: "ek.jr"; js: "ek.js"; jt: "ek.jt"; ju: "ek.ju"; jv: "ek.jv"; jw: "ek.jw"; jx: "ek.jx"; jy: "ek.jy"; jz: "ek.jz"; ka: "ek.ka"; kb: "ek.kb"; kc: "ek.kc"; kd: "ek.kd"; ke: "ek.ke"; kf: "ek.kf"; kg: "ek.kg"; kh: "ek.kh"; ki: "ek.ki"; kj: "ek.kj"; kk: "ek.kk"; kl: "ek.kl"; km: "ek.km"; kn: "ek.kn"; ko: "ek.ko"; kp: "ek.kp"; kq: "ek.kq"; kr: "ek.kr"; ks: "ek.ks"; kt: "ek.kt"; ku: "ek.ku"; kv: "ek.kv"; kw: "ek.kw"; kx: "ek.kx"; ky: "ek.ky"; kz: "ek.kz"; la: "ek.la"; lb: "ek.lb"; lc: "ek.lc"; ld: "ek.ld"; le: "ek.le"; lf: "ek.lf"; lg: "ek.lg"; lh: "ek.lh"; li: "ek.li"; lj: "ek.lj"; lk: "ek.lk"; ll: "ek.ll"; lm: "ek.lm"; ln: "ek.ln"; lo: "ek.lo"; lp: "ek.lp"; lq: "ek.lq"; lr: "ek.lr"; ls: "ek.ls"; lt: "ek.lt"; lu: "ek.lu"; lv: "ek.lv"; lw: "ek.lw"; lx: "ek.lx"; ly: "ek.ly"; lz: "ek.lz"; ma: "ek.ma"; mb: "ek.mb"; mc: "ek.mc"; md: "ek.md"; me: "ek.me"; mf: "ek.mf"; mg: "ek.mg"; mh: "ek.mh"; mi: "ek.mi"; mj: "ek.mj"; mk: "ek.mk"; ml: "ek.ml"; mm: "ek.mm"; mn: "ek.mn"; mo: "ek.mo"; mp: "ek.mp"; mq: "ek.mq"; mr: "ek.mr"; ms: "ek.ms"; mt: "ek.mt"; mu: "ek.mu"; mv: "ek.mv"; mw: "ek.mw"; mx: "ek.mx"; my: "ek.my"; mz: "ek.mz"; na: "ek.na"; nb: "ek.nb"; nc: "ek.nc"; nd: "ek.nd"; ne: "ek.ne"; nf: "ek.nf"; ng: "ek.ng"; nh: "ek.nh"; ni: "ek.ni"; nj: "ek.nj"; nk: "ek.nk"; nl: "ek.nl"; nm: "ek.nm"; nn: "ek.nn"; no: "ek.no"; np: "ek.np"; nq: "ek.nq"; nr: "ek.nr"; ns: "ek.ns"; nt: "ek.nt"; nu: "ek.nu"; nv: "ek.nv"; nw: "ek.nw"; nx: "ek.nx"; ny: "ek.ny"; nz: "ek.nz"; oa: "ek.oa"; ob: "ek.ob"; oc: "ek.oc"; od: "ek.od"; oe: "ek.oe"; of: "ek.of"; og: "ek.og"; oh: "ek.oh"; oi: "ek.oi"; oj: "ek.oj"; ok: "ek.ok"; ol: "ek.ol"; om: "ek.om"; on: "ek.on"; oo: "ek.oo"; op: "ek.op"; oq: "ek.oq"; or: "ek.or"; os: "ek.os"; ot: "ek.ot"; ou: "ek.ou"; ov: "ek.ov"; ow: "ek.ow"; ox: "ek.ox"; oy: "ek.oy"; oz: "ek.oz"; pa: "ek.pa"; pb: "ek.pb"; pc: "ek.pc"; pd: "ek.pd"; pe: "ek.pe"; pf: "ek.pf"; pg: "ek.pg"; ph: "ek.ph"; pi: "ek.pi"; pj: "ek.pj"; pk: "ek.pk"; pl: "ek.pl"; pm: "ek.pm"; pn: "ek.pn"; po: "ek.po"; pp: "ek.pp"; pq: "ek.pq"; pr: "ek.pr"; ps: "ek.ps"; pt: "ek.pt"; pu: "ek.pu"; pv: "ek.pv"; pw: "ek.pw"; px: "ek.px"; py: "ek.py"; pz: "ek.pz"; qa: "ek.qa"; qb: "ek.qb"; qc: "ek.qc"; qd: "ek.qd"; qe: "ek.qe"; qf: "ek.qf"; qg: "ek.qg"; qh: "ek.qh"; qi: "ek.qi"; qj: "ek.qj"; qk: "ek.qk"; ql: "ek.ql"; qm: "ek.qm"; qn: "ek.qn"; qo: "ek.qo"; qp: "ek.qp"; qq: "ek.qq"; qr: "ek.qr"; qs: "ek.qs"; qt: "ek.qt"; qu: "ek.qu"; qv: "ek.qv"; qw: "ek.qw"; qx: "ek.qx"; qy: "ek.qy"; qz: "ek.qz"; ra: "ek.ra"; rb: "ek.rb"; rc: "ek.rc"; rd: "ek.rd"; re: "ek.re"; rf: "ek.rf"; rg: "ek.rg"; rh: "ek.rh"; ri: "ek.ri"; rj: "ek.rj"; rk: "ek.rk"; rl: "ek.rl"; rm: "ek.rm"; rn: "ek.rn"; ro: "ek.ro"; rp: "ek.rp"; rq: "ek.rq"; rr: "ek.rr"; rs: "ek.rs"; rt: "ek.rt"; ru: "ek.ru"; rv: "ek.rv"; rw: "ek.rw"; rx: "ek.rx"; ry: "ek.ry"; rz: "ek.rz"; sa: "ek.sa"; sb: "ek.sb"; sc: "ek.sc"; sd: "ek.sd"; se: "ek.se"; sf: "ek.sf"; sg: "ek.sg"; sh: "ek.sh"; si: "ek.si"; sj: "ek.sj"; sk: "ek.sk"; sl: "ek.sl"; sm: "ek.sm"; sn: "ek.sn"; so: "ek.so"; sp: "ek.sp"; sq: "ek.sq"; sr: "ek.sr"; ss: "ek.ss"; st: "ek.st"; su: "ek.su"; sv: "ek.sv"; sw: "ek.sw"; sx: "ek.sx"; sy: "ek.sy"; sz: "ek.sz"; ta: "ek.ta"; tb: "ek.tb"; tc: "ek.tc"; td: "ek.td"; te: "ek.te"; tf: "ek.tf"; tg: "ek.tg"; th: "ek.th"; ti: "ek.ti"; tj: "ek.tj"; tk: "ek.tk"; tl: "ek.tl"; tm: "ek.tm"; tn: "ek.tn"; to: "ek.to"; tp: "ek.tp"; tq: "ek.tq"; tr: "ek.tr"; ts: "ek.ts"; tt: "ek.tt"; tu: "ek.tu"; tv: "ek.tv"; tw: "ek.tw"; tx: "ek.tx"; ty: "ek.ty"; tz: "ek.tz"; ua: "ek.ua"; ub: "ek.ub"; uc: "ek.uc"; ud: "ek.ud"; ue: "ek.ue"; uf: "ek.uf"; ug: "ek.ug"; uh: "ek.uh"; ui: "ek.ui"; uj: "ek.uj"; uk: "ek.uk"; ul: "ek.ul"; um: "ek.um"; un: "ek.un"; uo: "ek.uo"; up: "ek.up"; uq: "ek.uq"; ur: "ek.ur"; us: "ek.us"; ut: "ek.ut"; uu: "ek.uu"; uv: "ek.uv"; uw: "ek.uw"; ux: "ek.ux"; uy: "ek.uy"; uz: "ek.uz"; va: "ek.va"; vb: "ek.vb"; vc: "ek.vc"; vd: "ek.vd"; ve: "ek.ve"; vf: "ek.vf"; vg: "ek.vg"; vh: "ek.vh"; vi: "ek.vi"; vj: "ek.vj"; vk: "ek.vk"; vl: "ek.vl"; vm: "ek.vm"; vn: "ek.vn"; vo: "ek.vo"; vp: "ek.vp"; vq: "ek.vq"; vr: "ek.vr"; vs: "ek.vs"; vt: "ek.vt"; vu: "ek.vu"; vv: "ek.vv"; vw: "ek.vw"; vx: "ek.vx"; vy: "ek.vy"; vz: "ek.vz"; wa: "ek.wa"; wb: "ek.wb"; wc: "ek.wc"; wd: "ek.wd"; we: "ek.we"; wf: "ek.wf"; wg: "ek.wg"; wh: "ek.wh"; wi: "ek.wi"; wj: "ek.wj"; wk: "ek.wk"; wl: "ek.wl"; wm: "ek.wm"; wn: "ek.wn"; wo: "ek.wo"; wp: "ek.wp"; wq: "ek.wq"; wr: "ek.wr"; ws: "ek.ws"; wt: "ek.wt"; wu: "ek.wu"; wv: "ek.wv"; ww: "ek.ww"; wx: "ek.wx"; wy: "ek.wy"; wz: "ek.wz"; xa: "ek.xa"; xb: "ek.xb"; xc: "ek.xc"; xd: "ek.xd"; xe: "ek.xe"; xf: "ek.xf"; xg: "ek.xg"; xh: "ek.xh"; xi: "ek.xi"; xj: "ek.xj"; xk: "ek.xk"; xl: "ek.xl"; xm: "ek.xm"; xn: "ek.xn"; xo: "ek.xo"; xp: "ek.xp"; xq: "ek.xq"; xr: "ek.xr"; xs: "ek.xs"; xt: "ek.xt"; xu: "ek.xu"; xv: "ek.xv"; xw: "ek.xw"; xx: "ek.xx"; xy: "ek.xy"; xz: "ek.xz"; ya: "ek.ya"; yb: "ek.yb"; yc: "ek.yc"; yd: "ek.yd"; ye: "ek.ye"; yf: "ek.yf"; yg: "ek.yg"; yh: "ek.yh"; yi: "ek.yi"; yj: "ek.yj"; yk: "ek.yk"; yl: "ek.yl"; ym: "ek.ym"; yn: "ek.yn"; yo: "ek.yo"; yp: "ek.yp"; yq: "ek.yq"; yr: "ek.yr"; ys: "ek.ys"; yt: "ek.yt"; yu: "ek.yu"; yv: "ek.yv"; yw: "ek.yw"; yx: "ek.yx"; yy: "ek.yy"; yz: "ek.yz"; za: "ek.za"; zb: "ek.zb"; zc: "ek.zc"; zd: "ek.zd"; ze: "ek.ze"; zf: "ek.zf"; zg: "ek.zg"; zh: "ek.zh"; zi: "ek.zi"; zj: "ek.zj"; zk: "ek.zk"; zl: "ek.zl"; zm: "ek.zm"; zn: "ek.zn"; zo: "ek.zo"; zp: "ek.zp"; zq: "ek.zq"; zr: "ek.zr"; zs: "ek.zs"; zt: "ek.zt"; zu: "ek.zu"; zv: "ek.zv"; zw: "ek.zw"; zx: "ek.zx"; zy: "ek.zy"; zz: "ek.zz"; }; el: { aa: "el.aa"; ab: "el.ab"; ac: "el.ac"; ad: "el.ad"; ae: "el.ae"; af: "el.af"; ag: "el.ag"; ah: "el.ah"; ai: "el.ai"; aj: "el.aj"; ak: "el.ak"; al: "el.al"; am: "el.am"; an: "el.an"; ao: "el.ao"; ap: "el.ap"; aq: "el.aq"; ar: "el.ar"; as: "el.as"; at: "el.at"; au: "el.au"; av: "el.av"; aw: "el.aw"; ax: "el.ax"; ay: "el.ay"; az: "el.az"; ba: "el.ba"; bb: "el.bb"; bc: "el.bc"; bd: "el.bd"; be: "el.be"; bf: "el.bf"; bg: "el.bg"; bh: "el.bh"; bi: "el.bi"; bj: "el.bj"; bk: "el.bk"; bl: "el.bl"; bm: "el.bm"; bn: "el.bn"; bo: "el.bo"; bp: "el.bp"; bq: "el.bq"; br: "el.br"; bs: "el.bs"; bt: "el.bt"; bu: "el.bu"; bv: "el.bv"; bw: "el.bw"; bx: "el.bx"; by: "el.by"; bz: "el.bz"; ca: "el.ca"; cb: "el.cb"; cc: "el.cc"; cd: "el.cd"; ce: "el.ce"; cf: "el.cf"; cg: "el.cg"; ch: "el.ch"; ci: "el.ci"; cj: "el.cj"; ck: "el.ck"; cl: "el.cl"; cm: "el.cm"; cn: "el.cn"; co: "el.co"; cp: "el.cp"; cq: "el.cq"; cr: "el.cr"; cs: "el.cs"; ct: "el.ct"; cu: "el.cu"; cv: "el.cv"; cw: "el.cw"; cx: "el.cx"; cy: "el.cy"; cz: "el.cz"; da: "el.da"; db: "el.db"; dc: "el.dc"; dd: "el.dd"; de: "el.de"; df: "el.df"; dg: "el.dg"; dh: "el.dh"; di: "el.di"; dj: "el.dj"; dk: "el.dk"; dl: "el.dl"; dm: "el.dm"; dn: "el.dn"; do: "el.do"; dp: "el.dp"; dq: "el.dq"; dr: "el.dr"; ds: "el.ds"; dt: "el.dt"; du: "el.du"; dv: "el.dv"; dw: "el.dw"; dx: "el.dx"; dy: "el.dy"; dz: "el.dz"; ea: "el.ea"; eb: "el.eb"; ec: "el.ec"; ed: "el.ed"; ee: "el.ee"; ef: "el.ef"; eg: "el.eg"; eh: "el.eh"; ei: "el.ei"; ej: "el.ej"; ek: "el.ek"; el: "el.el"; em: "el.em"; en: "el.en"; eo: "el.eo"; ep: "el.ep"; eq: "el.eq"; er: "el.er"; es: "el.es"; et: "el.et"; eu: "el.eu"; ev: "el.ev"; ew: "el.ew"; ex: "el.ex"; ey: "el.ey"; ez: "el.ez"; fa: "el.fa"; fb: "el.fb"; fc: "el.fc"; fd: "el.fd"; fe: "el.fe"; ff: "el.ff"; fg: "el.fg"; fh: "el.fh"; fi: "el.fi"; fj: "el.fj"; fk: "el.fk"; fl: "el.fl"; fm: "el.fm"; fn: "el.fn"; fo: "el.fo"; fp: "el.fp"; fq: "el.fq"; fr: "el.fr"; fs: "el.fs"; ft: "el.ft"; fu: "el.fu"; fv: "el.fv"; fw: "el.fw"; fx: "el.fx"; fy: "el.fy"; fz: "el.fz"; ga: "el.ga"; gb: "el.gb"; gc: "el.gc"; gd: "el.gd"; ge: "el.ge"; gf: "el.gf"; gg: "el.gg"; gh: "el.gh"; gi: "el.gi"; gj: "el.gj"; gk: "el.gk"; gl: "el.gl"; gm: "el.gm"; gn: "el.gn"; go: "el.go"; gp: "el.gp"; gq: "el.gq"; gr: "el.gr"; gs: "el.gs"; gt: "el.gt"; gu: "el.gu"; gv: "el.gv"; gw: "el.gw"; gx: "el.gx"; gy: "el.gy"; gz: "el.gz"; ha: "el.ha"; hb: "el.hb"; hc: "el.hc"; hd: "el.hd"; he: "el.he"; hf: "el.hf"; hg: "el.hg"; hh: "el.hh"; hi: "el.hi"; hj: "el.hj"; hk: "el.hk"; hl: "el.hl"; hm: "el.hm"; hn: "el.hn"; ho: "el.ho"; hp: "el.hp"; hq: "el.hq"; hr: "el.hr"; hs: "el.hs"; ht: "el.ht"; hu: "el.hu"; hv: "el.hv"; hw: "el.hw"; hx: "el.hx"; hy: "el.hy"; hz: "el.hz"; ia: "el.ia"; ib: "el.ib"; ic: "el.ic"; id: "el.id"; ie: "el.ie"; if: "el.if"; ig: "el.ig"; ih: "el.ih"; ii: "el.ii"; ij: "el.ij"; ik: "el.ik"; il: "el.il"; im: "el.im"; in: "el.in"; io: "el.io"; ip: "el.ip"; iq: "el.iq"; ir: "el.ir"; is: "el.is"; it: "el.it"; iu: "el.iu"; iv: "el.iv"; iw: "el.iw"; ix: "el.ix"; iy: "el.iy"; iz: "el.iz"; ja: "el.ja"; jb: "el.jb"; jc: "el.jc"; jd: "el.jd"; je: "el.je"; jf: "el.jf"; jg: "el.jg"; jh: "el.jh"; ji: "el.ji"; jj: "el.jj"; jk: "el.jk"; jl: "el.jl"; jm: "el.jm"; jn: "el.jn"; jo: "el.jo"; jp: "el.jp"; jq: "el.jq"; jr: "el.jr"; js: "el.js"; jt: "el.jt"; ju: "el.ju"; jv: "el.jv"; jw: "el.jw"; jx: "el.jx"; jy: "el.jy"; jz: "el.jz"; ka: "el.ka"; kb: "el.kb"; kc: "el.kc"; kd: "el.kd"; ke: "el.ke"; kf: "el.kf"; kg: "el.kg"; kh: "el.kh"; ki: "el.ki"; kj: "el.kj"; kk: "el.kk"; kl: "el.kl"; km: "el.km"; kn: "el.kn"; ko: "el.ko"; kp: "el.kp"; kq: "el.kq"; kr: "el.kr"; ks: "el.ks"; kt: "el.kt"; ku: "el.ku"; kv: "el.kv"; kw: "el.kw"; kx: "el.kx"; ky: "el.ky"; kz: "el.kz"; la: "el.la"; lb: "el.lb"; lc: "el.lc"; ld: "el.ld"; le: "el.le"; lf: "el.lf"; lg: "el.lg"; lh: "el.lh"; li: "el.li"; lj: "el.lj"; lk: "el.lk"; ll: "el.ll"; lm: "el.lm"; ln: "el.ln"; lo: "el.lo"; lp: "el.lp"; lq: "el.lq"; lr: "el.lr"; ls: "el.ls"; lt: "el.lt"; lu: "el.lu"; lv: "el.lv"; lw: "el.lw"; lx: "el.lx"; ly: "el.ly"; lz: "el.lz"; ma: "el.ma"; mb: "el.mb"; mc: "el.mc"; md: "el.md"; me: "el.me"; mf: "el.mf"; mg: "el.mg"; mh: "el.mh"; mi: "el.mi"; mj: "el.mj"; mk: "el.mk"; ml: "el.ml"; mm: "el.mm"; mn: "el.mn"; mo: "el.mo"; mp: "el.mp"; mq: "el.mq"; mr: "el.mr"; ms: "el.ms"; mt: "el.mt"; mu: "el.mu"; mv: "el.mv"; mw: "el.mw"; mx: "el.mx"; my: "el.my"; mz: "el.mz"; na: "el.na"; nb: "el.nb"; nc: "el.nc"; nd: "el.nd"; ne: "el.ne"; nf: "el.nf"; ng: "el.ng"; nh: "el.nh"; ni: "el.ni"; nj: "el.nj"; nk: "el.nk"; nl: "el.nl"; nm: "el.nm"; nn: "el.nn"; no: "el.no"; np: "el.np"; nq: "el.nq"; nr: "el.nr"; ns: "el.ns"; nt: "el.nt"; nu: "el.nu"; nv: "el.nv"; nw: "el.nw"; nx: "el.nx"; ny: "el.ny"; nz: "el.nz"; oa: "el.oa"; ob: "el.ob"; oc: "el.oc"; od: "el.od"; oe: "el.oe"; of: "el.of"; og: "el.og"; oh: "el.oh"; oi: "el.oi"; oj: "el.oj"; ok: "el.ok"; ol: "el.ol"; om: "el.om"; on: "el.on"; oo: "el.oo"; op: "el.op"; oq: "el.oq"; or: "el.or"; os: "el.os"; ot: "el.ot"; ou: "el.ou"; ov: "el.ov"; ow: "el.ow"; ox: "el.ox"; oy: "el.oy"; oz: "el.oz"; pa: "el.pa"; pb: "el.pb"; pc: "el.pc"; pd: "el.pd"; pe: "el.pe"; pf: "el.pf"; pg: "el.pg"; ph: "el.ph"; pi: "el.pi"; pj: "el.pj"; pk: "el.pk"; pl: "el.pl"; pm: "el.pm"; pn: "el.pn"; po: "el.po"; pp: "el.pp"; pq: "el.pq"; pr: "el.pr"; ps: "el.ps"; pt: "el.pt"; pu: "el.pu"; pv: "el.pv"; pw: "el.pw"; px: "el.px"; py: "el.py"; pz: "el.pz"; qa: "el.qa"; qb: "el.qb"; qc: "el.qc"; qd: "el.qd"; qe: "el.qe"; qf: "el.qf"; qg: "el.qg"; qh: "el.qh"; qi: "el.qi"; qj: "el.qj"; qk: "el.qk"; ql: "el.ql"; qm: "el.qm"; qn: "el.qn"; qo: "el.qo"; qp: "el.qp"; qq: "el.qq"; qr: "el.qr"; qs: "el.qs"; qt: "el.qt"; qu: "el.qu"; qv: "el.qv"; qw: "el.qw"; qx: "el.qx"; qy: "el.qy"; qz: "el.qz"; ra: "el.ra"; rb: "el.rb"; rc: "el.rc"; rd: "el.rd"; re: "el.re"; rf: "el.rf"; rg: "el.rg"; rh: "el.rh"; ri: "el.ri"; rj: "el.rj"; rk: "el.rk"; rl: "el.rl"; rm: "el.rm"; rn: "el.rn"; ro: "el.ro"; rp: "el.rp"; rq: "el.rq"; rr: "el.rr"; rs: "el.rs"; rt: "el.rt"; ru: "el.ru"; rv: "el.rv"; rw: "el.rw"; rx: "el.rx"; ry: "el.ry"; rz: "el.rz"; sa: "el.sa"; sb: "el.sb"; sc: "el.sc"; sd: "el.sd"; se: "el.se"; sf: "el.sf"; sg: "el.sg"; sh: "el.sh"; si: "el.si"; sj: "el.sj"; sk: "el.sk"; sl: "el.sl"; sm: "el.sm"; sn: "el.sn"; so: "el.so"; sp: "el.sp"; sq: "el.sq"; sr: "el.sr"; ss: "el.ss"; st: "el.st"; su: "el.su"; sv: "el.sv"; sw: "el.sw"; sx: "el.sx"; sy: "el.sy"; sz: "el.sz"; ta: "el.ta"; tb: "el.tb"; tc: "el.tc"; td: "el.td"; te: "el.te"; tf: "el.tf"; tg: "el.tg"; th: "el.th"; ti: "el.ti"; tj: "el.tj"; tk: "el.tk"; tl: "el.tl"; tm: "el.tm"; tn: "el.tn"; to: "el.to"; tp: "el.tp"; tq: "el.tq"; tr: "el.tr"; ts: "el.ts"; tt: "el.tt"; tu: "el.tu"; tv: "el.tv"; tw: "el.tw"; tx: "el.tx"; ty: "el.ty"; tz: "el.tz"; ua: "el.ua"; ub: "el.ub"; uc: "el.uc"; ud: "el.ud"; ue: "el.ue"; uf: "el.uf"; ug: "el.ug"; uh: "el.uh"; ui: "el.ui"; uj: "el.uj"; uk: "el.uk"; ul: "el.ul"; um: "el.um"; un: "el.un"; uo: "el.uo"; up: "el.up"; uq: "el.uq"; ur: "el.ur"; us: "el.us"; ut: "el.ut"; uu: "el.uu"; uv: "el.uv"; uw: "el.uw"; ux: "el.ux"; uy: "el.uy"; uz: "el.uz"; va: "el.va"; vb: "el.vb"; vc: "el.vc"; vd: "el.vd"; ve: "el.ve"; vf: "el.vf"; vg: "el.vg"; vh: "el.vh"; vi: "el.vi"; vj: "el.vj"; vk: "el.vk"; vl: "el.vl"; vm: "el.vm"; vn: "el.vn"; vo: "el.vo"; vp: "el.vp"; vq: "el.vq"; vr: "el.vr"; vs: "el.vs"; vt: "el.vt"; vu: "el.vu"; vv: "el.vv"; vw: "el.vw"; vx: "el.vx"; vy: "el.vy"; vz: "el.vz"; wa: "el.wa"; wb: "el.wb"; wc: "el.wc"; wd: "el.wd"; we: "el.we"; wf: "el.wf"; wg: "el.wg"; wh: "el.wh"; wi: "el.wi"; wj: "el.wj"; wk: "el.wk"; wl: "el.wl"; wm: "el.wm"; wn: "el.wn"; wo: "el.wo"; wp: "el.wp"; wq: "el.wq"; wr: "el.wr"; ws: "el.ws"; wt: "el.wt"; wu: "el.wu"; wv: "el.wv"; ww: "el.ww"; wx: "el.wx"; wy: "el.wy"; wz: "el.wz"; xa: "el.xa"; xb: "el.xb"; xc: "el.xc"; xd: "el.xd"; xe: "el.xe"; xf: "el.xf"; xg: "el.xg"; xh: "el.xh"; xi: "el.xi"; xj: "el.xj"; xk: "el.xk"; xl: "el.xl"; xm: "el.xm"; xn: "el.xn"; xo: "el.xo"; xp: "el.xp"; xq: "el.xq"; xr: "el.xr"; xs: "el.xs"; xt: "el.xt"; xu: "el.xu"; xv: "el.xv"; xw: "el.xw"; xx: "el.xx"; xy: "el.xy"; xz: "el.xz"; ya: "el.ya"; yb: "el.yb"; yc: "el.yc"; yd: "el.yd"; ye: "el.ye"; yf: "el.yf"; yg: "el.yg"; yh: "el.yh"; yi: "el.yi"; yj: "el.yj"; yk: "el.yk"; yl: "el.yl"; ym: "el.ym"; yn: "el.yn"; yo: "el.yo"; yp: "el.yp"; yq: "el.yq"; yr: "el.yr"; ys: "el.ys"; yt: "el.yt"; yu: "el.yu"; yv: "el.yv"; yw: "el.yw"; yx: "el.yx"; yy: "el.yy"; yz: "el.yz"; za: "el.za"; zb: "el.zb"; zc: "el.zc"; zd: "el.zd"; ze: "el.ze"; zf: "el.zf"; zg: "el.zg"; zh: "el.zh"; zi: "el.zi"; zj: "el.zj"; zk: "el.zk"; zl: "el.zl"; zm: "el.zm"; zn: "el.zn"; zo: "el.zo"; zp: "el.zp"; zq: "el.zq"; zr: "el.zr"; zs: "el.zs"; zt: "el.zt"; zu: "el.zu"; zv: "el.zv"; zw: "el.zw"; zx: "el.zx"; zy: "el.zy"; zz: "el.zz"; }; em: { aa: "em.aa"; ab: "em.ab"; ac: "em.ac"; ad: "em.ad"; ae: "em.ae"; af: "em.af"; ag: "em.ag"; ah: "em.ah"; ai: "em.ai"; aj: "em.aj"; ak: "em.ak"; al: "em.al"; am: "em.am"; an: "em.an"; ao: "em.ao"; ap: "em.ap"; aq: "em.aq"; ar: "em.ar"; as: "em.as"; at: "em.at"; au: "em.au"; av: "em.av"; aw: "em.aw"; ax: "em.ax"; ay: "em.ay"; az: "em.az"; ba: "em.ba"; bb: "em.bb"; bc: "em.bc"; bd: "em.bd"; be: "em.be"; bf: "em.bf"; bg: "em.bg"; bh: "em.bh"; bi: "em.bi"; bj: "em.bj"; bk: "em.bk"; bl: "em.bl"; bm: "em.bm"; bn: "em.bn"; bo: "em.bo"; bp: "em.bp"; bq: "em.bq"; br: "em.br"; bs: "em.bs"; bt: "em.bt"; bu: "em.bu"; bv: "em.bv"; bw: "em.bw"; bx: "em.bx"; by: "em.by"; bz: "em.bz"; ca: "em.ca"; cb: "em.cb"; cc: "em.cc"; cd: "em.cd"; ce: "em.ce"; cf: "em.cf"; cg: "em.cg"; ch: "em.ch"; ci: "em.ci"; cj: "em.cj"; ck: "em.ck"; cl: "em.cl"; cm: "em.cm"; cn: "em.cn"; co: "em.co"; cp: "em.cp"; cq: "em.cq"; cr: "em.cr"; cs: "em.cs"; ct: "em.ct"; cu: "em.cu"; cv: "em.cv"; cw: "em.cw"; cx: "em.cx"; cy: "em.cy"; cz: "em.cz"; da: "em.da"; db: "em.db"; dc: "em.dc"; dd: "em.dd"; de: "em.de"; df: "em.df"; dg: "em.dg"; dh: "em.dh"; di: "em.di"; dj: "em.dj"; dk: "em.dk"; dl: "em.dl"; dm: "em.dm"; dn: "em.dn"; do: "em.do"; dp: "em.dp"; dq: "em.dq"; dr: "em.dr"; ds: "em.ds"; dt: "em.dt"; du: "em.du"; dv: "em.dv"; dw: "em.dw"; dx: "em.dx"; dy: "em.dy"; dz: "em.dz"; ea: "em.ea"; eb: "em.eb"; ec: "em.ec"; ed: "em.ed"; ee: "em.ee"; ef: "em.ef"; eg: "em.eg"; eh: "em.eh"; ei: "em.ei"; ej: "em.ej"; ek: "em.ek"; el: "em.el"; em: "em.em"; en: "em.en"; eo: "em.eo"; ep: "em.ep"; eq: "em.eq"; er: "em.er"; es: "em.es"; et: "em.et"; eu: "em.eu"; ev: "em.ev"; ew: "em.ew"; ex: "em.ex"; ey: "em.ey"; ez: "em.ez"; fa: "em.fa"; fb: "em.fb"; fc: "em.fc"; fd: "em.fd"; fe: "em.fe"; ff: "em.ff"; fg: "em.fg"; fh: "em.fh"; fi: "em.fi"; fj: "em.fj"; fk: "em.fk"; fl: "em.fl"; fm: "em.fm"; fn: "em.fn"; fo: "em.fo"; fp: "em.fp"; fq: "em.fq"; fr: "em.fr"; fs: "em.fs"; ft: "em.ft"; fu: "em.fu"; fv: "em.fv"; fw: "em.fw"; fx: "em.fx"; fy: "em.fy"; fz: "em.fz"; ga: "em.ga"; gb: "em.gb"; gc: "em.gc"; gd: "em.gd"; ge: "em.ge"; gf: "em.gf"; gg: "em.gg"; gh: "em.gh"; gi: "em.gi"; gj: "em.gj"; gk: "em.gk"; gl: "em.gl"; gm: "em.gm"; gn: "em.gn"; go: "em.go"; gp: "em.gp"; gq: "em.gq"; gr: "em.gr"; gs: "em.gs"; gt: "em.gt"; gu: "em.gu"; gv: "em.gv"; gw: "em.gw"; gx: "em.gx"; gy: "em.gy"; gz: "em.gz"; ha: "em.ha"; hb: "em.hb"; hc: "em.hc"; hd: "em.hd"; he: "em.he"; hf: "em.hf"; hg: "em.hg"; hh: "em.hh"; hi: "em.hi"; hj: "em.hj"; hk: "em.hk"; hl: "em.hl"; hm: "em.hm"; hn: "em.hn"; ho: "em.ho"; hp: "em.hp"; hq: "em.hq"; hr: "em.hr"; hs: "em.hs"; ht: "em.ht"; hu: "em.hu"; hv: "em.hv"; hw: "em.hw"; hx: "em.hx"; hy: "em.hy"; hz: "em.hz"; ia: "em.ia"; ib: "em.ib"; ic: "em.ic"; id: "em.id"; ie: "em.ie"; if: "em.if"; ig: "em.ig"; ih: "em.ih"; ii: "em.ii"; ij: "em.ij"; ik: "em.ik"; il: "em.il"; im: "em.im"; in: "em.in"; io: "em.io"; ip: "em.ip"; iq: "em.iq"; ir: "em.ir"; is: "em.is"; it: "em.it"; iu: "em.iu"; iv: "em.iv"; iw: "em.iw"; ix: "em.ix"; iy: "em.iy"; iz: "em.iz"; ja: "em.ja"; jb: "em.jb"; jc: "em.jc"; jd: "em.jd"; je: "em.je"; jf: "em.jf"; jg: "em.jg"; jh: "em.jh"; ji: "em.ji"; jj: "em.jj"; jk: "em.jk"; jl: "em.jl"; jm: "em.jm"; jn: "em.jn"; jo: "em.jo"; jp: "em.jp"; jq: "em.jq"; jr: "em.jr"; js: "em.js"; jt: "em.jt"; ju: "em.ju"; jv: "em.jv"; jw: "em.jw"; jx: "em.jx"; jy: "em.jy"; jz: "em.jz"; ka: "em.ka"; kb: "em.kb"; kc: "em.kc"; kd: "em.kd"; ke: "em.ke"; kf: "em.kf"; kg: "em.kg"; kh: "em.kh"; ki: "em.ki"; kj: "em.kj"; kk: "em.kk"; kl: "em.kl"; km: "em.km"; kn: "em.kn"; ko: "em.ko"; kp: "em.kp"; kq: "em.kq"; kr: "em.kr"; ks: "em.ks"; kt: "em.kt"; ku: "em.ku"; kv: "em.kv"; kw: "em.kw"; kx: "em.kx"; ky: "em.ky"; kz: "em.kz"; la: "em.la"; lb: "em.lb"; lc: "em.lc"; ld: "em.ld"; le: "em.le"; lf: "em.lf"; lg: "em.lg"; lh: "em.lh"; li: "em.li"; lj: "em.lj"; lk: "em.lk"; ll: "em.ll"; lm: "em.lm"; ln: "em.ln"; lo: "em.lo"; lp: "em.lp"; lq: "em.lq"; lr: "em.lr"; ls: "em.ls"; lt: "em.lt"; lu: "em.lu"; lv: "em.lv"; lw: "em.lw"; lx: "em.lx"; ly: "em.ly"; lz: "em.lz"; ma: "em.ma"; mb: "em.mb"; mc: "em.mc"; md: "em.md"; me: "em.me"; mf: "em.mf"; mg: "em.mg"; mh: "em.mh"; mi: "em.mi"; mj: "em.mj"; mk: "em.mk"; ml: "em.ml"; mm: "em.mm"; mn: "em.mn"; mo: "em.mo"; mp: "em.mp"; mq: "em.mq"; mr: "em.mr"; ms: "em.ms"; mt: "em.mt"; mu: "em.mu"; mv: "em.mv"; mw: "em.mw"; mx: "em.mx"; my: "em.my"; mz: "em.mz"; na: "em.na"; nb: "em.nb"; nc: "em.nc"; nd: "em.nd"; ne: "em.ne"; nf: "em.nf"; ng: "em.ng"; nh: "em.nh"; ni: "em.ni"; nj: "em.nj"; nk: "em.nk"; nl: "em.nl"; nm: "em.nm"; nn: "em.nn"; no: "em.no"; np: "em.np"; nq: "em.nq"; nr: "em.nr"; ns: "em.ns"; nt: "em.nt"; nu: "em.nu"; nv: "em.nv"; nw: "em.nw"; nx: "em.nx"; ny: "em.ny"; nz: "em.nz"; oa: "em.oa"; ob: "em.ob"; oc: "em.oc"; od: "em.od"; oe: "em.oe"; of: "em.of"; og: "em.og"; oh: "em.oh"; oi: "em.oi"; oj: "em.oj"; ok: "em.ok"; ol: "em.ol"; om: "em.om"; on: "em.on"; oo: "em.oo"; op: "em.op"; oq: "em.oq"; or: "em.or"; os: "em.os"; ot: "em.ot"; ou: "em.ou"; ov: "em.ov"; ow: "em.ow"; ox: "em.ox"; oy: "em.oy"; oz: "em.oz"; pa: "em.pa"; pb: "em.pb"; pc: "em.pc"; pd: "em.pd"; pe: "em.pe"; pf: "em.pf"; pg: "em.pg"; ph: "em.ph"; pi: "em.pi"; pj: "em.pj"; pk: "em.pk"; pl: "em.pl"; pm: "em.pm"; pn: "em.pn"; po: "em.po"; pp: "em.pp"; pq: "em.pq"; pr: "em.pr"; ps: "em.ps"; pt: "em.pt"; pu: "em.pu"; pv: "em.pv"; pw: "em.pw"; px: "em.px"; py: "em.py"; pz: "em.pz"; qa: "em.qa"; qb: "em.qb"; qc: "em.qc"; qd: "em.qd"; qe: "em.qe"; qf: "em.qf"; qg: "em.qg"; qh: "em.qh"; qi: "em.qi"; qj: "em.qj"; qk: "em.qk"; ql: "em.ql"; qm: "em.qm"; qn: "em.qn"; qo: "em.qo"; qp: "em.qp"; qq: "em.qq"; qr: "em.qr"; qs: "em.qs"; qt: "em.qt"; qu: "em.qu"; qv: "em.qv"; qw: "em.qw"; qx: "em.qx"; qy: "em.qy"; qz: "em.qz"; ra: "em.ra"; rb: "em.rb"; rc: "em.rc"; rd: "em.rd"; re: "em.re"; rf: "em.rf"; rg: "em.rg"; rh: "em.rh"; ri: "em.ri"; rj: "em.rj"; rk: "em.rk"; rl: "em.rl"; rm: "em.rm"; rn: "em.rn"; ro: "em.ro"; rp: "em.rp"; rq: "em.rq"; rr: "em.rr"; rs: "em.rs"; rt: "em.rt"; ru: "em.ru"; rv: "em.rv"; rw: "em.rw"; rx: "em.rx"; ry: "em.ry"; rz: "em.rz"; sa: "em.sa"; sb: "em.sb"; sc: "em.sc"; sd: "em.sd"; se: "em.se"; sf: "em.sf"; sg: "em.sg"; sh: "em.sh"; si: "em.si"; sj: "em.sj"; sk: "em.sk"; sl: "em.sl"; sm: "em.sm"; sn: "em.sn"; so: "em.so"; sp: "em.sp"; sq: "em.sq"; sr: "em.sr"; ss: "em.ss"; st: "em.st"; su: "em.su"; sv: "em.sv"; sw: "em.sw"; sx: "em.sx"; sy: "em.sy"; sz: "em.sz"; ta: "em.ta"; tb: "em.tb"; tc: "em.tc"; td: "em.td"; te: "em.te"; tf: "em.tf"; tg: "em.tg"; th: "em.th"; ti: "em.ti"; tj: "em.tj"; tk: "em.tk"; tl: "em.tl"; tm: "em.tm"; tn: "em.tn"; to: "em.to"; tp: "em.tp"; tq: "em.tq"; tr: "em.tr"; ts: "em.ts"; tt: "em.tt"; tu: "em.tu"; tv: "em.tv"; tw: "em.tw"; tx: "em.tx"; ty: "em.ty"; tz: "em.tz"; ua: "em.ua"; ub: "em.ub"; uc: "em.uc"; ud: "em.ud"; ue: "em.ue"; uf: "em.uf"; ug: "em.ug"; uh: "em.uh"; ui: "em.ui"; uj: "em.uj"; uk: "em.uk"; ul: "em.ul"; um: "em.um"; un: "em.un"; uo: "em.uo"; up: "em.up"; uq: "em.uq"; ur: "em.ur"; us: "em.us"; ut: "em.ut"; uu: "em.uu"; uv: "em.uv"; uw: "em.uw"; ux: "em.ux"; uy: "em.uy"; uz: "em.uz"; va: "em.va"; vb: "em.vb"; vc: "em.vc"; vd: "em.vd"; ve: "em.ve"; vf: "em.vf"; vg: "em.vg"; vh: "em.vh"; vi: "em.vi"; vj: "em.vj"; vk: "em.vk"; vl: "em.vl"; vm: "em.vm"; vn: "em.vn"; vo: "em.vo"; vp: "em.vp"; vq: "em.vq"; vr: "em.vr"; vs: "em.vs"; vt: "em.vt"; vu: "em.vu"; vv: "em.vv"; vw: "em.vw"; vx: "em.vx"; vy: "em.vy"; vz: "em.vz"; wa: "em.wa"; wb: "em.wb"; wc: "em.wc"; wd: "em.wd"; we: "em.we"; wf: "em.wf"; wg: "em.wg"; wh: "em.wh"; wi: "em.wi"; wj: "em.wj"; wk: "em.wk"; wl: "em.wl"; wm: "em.wm"; wn: "em.wn"; wo: "em.wo"; wp: "em.wp"; wq: "em.wq"; wr: "em.wr"; ws: "em.ws"; wt: "em.wt"; wu: "em.wu"; wv: "em.wv"; ww: "em.ww"; wx: "em.wx"; wy: "em.wy"; wz: "em.wz"; xa: "em.xa"; xb: "em.xb"; xc: "em.xc"; xd: "em.xd"; xe: "em.xe"; xf: "em.xf"; xg: "em.xg"; xh: "em.xh"; xi: "em.xi"; xj: "em.xj"; xk: "em.xk"; xl: "em.xl"; xm: "em.xm"; xn: "em.xn"; xo: "em.xo"; xp: "em.xp"; xq: "em.xq"; xr: "em.xr"; xs: "em.xs"; xt: "em.xt"; xu: "em.xu"; xv: "em.xv"; xw: "em.xw"; xx: "em.xx"; xy: "em.xy"; xz: "em.xz"; ya: "em.ya"; yb: "em.yb"; yc: "em.yc"; yd: "em.yd"; ye: "em.ye"; yf: "em.yf"; yg: "em.yg"; yh: "em.yh"; yi: "em.yi"; yj: "em.yj"; yk: "em.yk"; yl: "em.yl"; ym: "em.ym"; yn: "em.yn"; yo: "em.yo"; yp: "em.yp"; yq: "em.yq"; yr: "em.yr"; ys: "em.ys"; yt: "em.yt"; yu: "em.yu"; yv: "em.yv"; yw: "em.yw"; yx: "em.yx"; yy: "em.yy"; yz: "em.yz"; za: "em.za"; zb: "em.zb"; zc: "em.zc"; zd: "em.zd"; ze: "em.ze"; zf: "em.zf"; zg: "em.zg"; zh: "em.zh"; zi: "em.zi"; zj: "em.zj"; zk: "em.zk"; zl: "em.zl"; zm: "em.zm"; zn: "em.zn"; zo: "em.zo"; zp: "em.zp"; zq: "em.zq"; zr: "em.zr"; zs: "em.zs"; zt: "em.zt"; zu: "em.zu"; zv: "em.zv"; zw: "em.zw"; zx: "em.zx"; zy: "em.zy"; zz: "em.zz"; }; en: { aa: "en.aa"; ab: "en.ab"; ac: "en.ac"; ad: "en.ad"; ae: "en.ae"; af: "en.af"; ag: "en.ag"; ah: "en.ah"; ai: "en.ai"; aj: "en.aj"; ak: "en.ak"; al: "en.al"; am: "en.am"; an: "en.an"; ao: "en.ao"; ap: "en.ap"; aq: "en.aq"; ar: "en.ar"; as: "en.as"; at: "en.at"; au: "en.au"; av: "en.av"; aw: "en.aw"; ax: "en.ax"; ay: "en.ay"; az: "en.az"; ba: "en.ba"; bb: "en.bb"; bc: "en.bc"; bd: "en.bd"; be: "en.be"; bf: "en.bf"; bg: "en.bg"; bh: "en.bh"; bi: "en.bi"; bj: "en.bj"; bk: "en.bk"; bl: "en.bl"; bm: "en.bm"; bn: "en.bn"; bo: "en.bo"; bp: "en.bp"; bq: "en.bq"; br: "en.br"; bs: "en.bs"; bt: "en.bt"; bu: "en.bu"; bv: "en.bv"; bw: "en.bw"; bx: "en.bx"; by: "en.by"; bz: "en.bz"; ca: "en.ca"; cb: "en.cb"; cc: "en.cc"; cd: "en.cd"; ce: "en.ce"; cf: "en.cf"; cg: "en.cg"; ch: "en.ch"; ci: "en.ci"; cj: "en.cj"; ck: "en.ck"; cl: "en.cl"; cm: "en.cm"; cn: "en.cn"; co: "en.co"; cp: "en.cp"; cq: "en.cq"; cr: "en.cr"; cs: "en.cs"; ct: "en.ct"; cu: "en.cu"; cv: "en.cv"; cw: "en.cw"; cx: "en.cx"; cy: "en.cy"; cz: "en.cz"; da: "en.da"; db: "en.db"; dc: "en.dc"; dd: "en.dd"; de: "en.de"; df: "en.df"; dg: "en.dg"; dh: "en.dh"; di: "en.di"; dj: "en.dj"; dk: "en.dk"; dl: "en.dl"; dm: "en.dm"; dn: "en.dn"; do: "en.do"; dp: "en.dp"; dq: "en.dq"; dr: "en.dr"; ds: "en.ds"; dt: "en.dt"; du: "en.du"; dv: "en.dv"; dw: "en.dw"; dx: "en.dx"; dy: "en.dy"; dz: "en.dz"; ea: "en.ea"; eb: "en.eb"; ec: "en.ec"; ed: "en.ed"; ee: "en.ee"; ef: "en.ef"; eg: "en.eg"; eh: "en.eh"; ei: "en.ei"; ej: "en.ej"; ek: "en.ek"; el: "en.el"; em: "en.em"; en: "en.en"; eo: "en.eo"; ep: "en.ep"; eq: "en.eq"; er: "en.er"; es: "en.es"; et: "en.et"; eu: "en.eu"; ev: "en.ev"; ew: "en.ew"; ex: "en.ex"; ey: "en.ey"; ez: "en.ez"; fa: "en.fa"; fb: "en.fb"; fc: "en.fc"; fd: "en.fd"; fe: "en.fe"; ff: "en.ff"; fg: "en.fg"; fh: "en.fh"; fi: "en.fi"; fj: "en.fj"; fk: "en.fk"; fl: "en.fl"; fm: "en.fm"; fn: "en.fn"; fo: "en.fo"; fp: "en.fp"; fq: "en.fq"; fr: "en.fr"; fs: "en.fs"; ft: "en.ft"; fu: "en.fu"; fv: "en.fv"; fw: "en.fw"; fx: "en.fx"; fy: "en.fy"; fz: "en.fz"; ga: "en.ga"; gb: "en.gb"; gc: "en.gc"; gd: "en.gd"; ge: "en.ge"; gf: "en.gf"; gg: "en.gg"; gh: "en.gh"; gi: "en.gi"; gj: "en.gj"; gk: "en.gk"; gl: "en.gl"; gm: "en.gm"; gn: "en.gn"; go: "en.go"; gp: "en.gp"; gq: "en.gq"; gr: "en.gr"; gs: "en.gs"; gt: "en.gt"; gu: "en.gu"; gv: "en.gv"; gw: "en.gw"; gx: "en.gx"; gy: "en.gy"; gz: "en.gz"; ha: "en.ha"; hb: "en.hb"; hc: "en.hc"; hd: "en.hd"; he: "en.he"; hf: "en.hf"; hg: "en.hg"; hh: "en.hh"; hi: "en.hi"; hj: "en.hj"; hk: "en.hk"; hl: "en.hl"; hm: "en.hm"; hn: "en.hn"; ho: "en.ho"; hp: "en.hp"; hq: "en.hq"; hr: "en.hr"; hs: "en.hs"; ht: "en.ht"; hu: "en.hu"; hv: "en.hv"; hw: "en.hw"; hx: "en.hx"; hy: "en.hy"; hz: "en.hz"; ia: "en.ia"; ib: "en.ib"; ic: "en.ic"; id: "en.id"; ie: "en.ie"; if: "en.if"; ig: "en.ig"; ih: "en.ih"; ii: "en.ii"; ij: "en.ij"; ik: "en.ik"; il: "en.il"; im: "en.im"; in: "en.in"; io: "en.io"; ip: "en.ip"; iq: "en.iq"; ir: "en.ir"; is: "en.is"; it: "en.it"; iu: "en.iu"; iv: "en.iv"; iw: "en.iw"; ix: "en.ix"; iy: "en.iy"; iz: "en.iz"; ja: "en.ja"; jb: "en.jb"; jc: "en.jc"; jd: "en.jd"; je: "en.je"; jf: "en.jf"; jg: "en.jg"; jh: "en.jh"; ji: "en.ji"; jj: "en.jj"; jk: "en.jk"; jl: "en.jl"; jm: "en.jm"; jn: "en.jn"; jo: "en.jo"; jp: "en.jp"; jq: "en.jq"; jr: "en.jr"; js: "en.js"; jt: "en.jt"; ju: "en.ju"; jv: "en.jv"; jw: "en.jw"; jx: "en.jx"; jy: "en.jy"; jz: "en.jz"; ka: "en.ka"; kb: "en.kb"; kc: "en.kc"; kd: "en.kd"; ke: "en.ke"; kf: "en.kf"; kg: "en.kg"; kh: "en.kh"; ki: "en.ki"; kj: "en.kj"; kk: "en.kk"; kl: "en.kl"; km: "en.km"; kn: "en.kn"; ko: "en.ko"; kp: "en.kp"; kq: "en.kq"; kr: "en.kr"; ks: "en.ks"; kt: "en.kt"; ku: "en.ku"; kv: "en.kv"; kw: "en.kw"; kx: "en.kx"; ky: "en.ky"; kz: "en.kz"; la: "en.la"; lb: "en.lb"; lc: "en.lc"; ld: "en.ld"; le: "en.le"; lf: "en.lf"; lg: "en.lg"; lh: "en.lh"; li: "en.li"; lj: "en.lj"; lk: "en.lk"; ll: "en.ll"; lm: "en.lm"; ln: "en.ln"; lo: "en.lo"; lp: "en.lp"; lq: "en.lq"; lr: "en.lr"; ls: "en.ls"; lt: "en.lt"; lu: "en.lu"; lv: "en.lv"; lw: "en.lw"; lx: "en.lx"; ly: "en.ly"; lz: "en.lz"; ma: "en.ma"; mb: "en.mb"; mc: "en.mc"; md: "en.md"; me: "en.me"; mf: "en.mf"; mg: "en.mg"; mh: "en.mh"; mi: "en.mi"; mj: "en.mj"; mk: "en.mk"; ml: "en.ml"; mm: "en.mm"; mn: "en.mn"; mo: "en.mo"; mp: "en.mp"; mq: "en.mq"; mr: "en.mr"; ms: "en.ms"; mt: "en.mt"; mu: "en.mu"; mv: "en.mv"; mw: "en.mw"; mx: "en.mx"; my: "en.my"; mz: "en.mz"; na: "en.na"; nb: "en.nb"; nc: "en.nc"; nd: "en.nd"; ne: "en.ne"; nf: "en.nf"; ng: "en.ng"; nh: "en.nh"; ni: "en.ni"; nj: "en.nj"; nk: "en.nk"; nl: "en.nl"; nm: "en.nm"; nn: "en.nn"; no: "en.no"; np: "en.np"; nq: "en.nq"; nr: "en.nr"; ns: "en.ns"; nt: "en.nt"; nu: "en.nu"; nv: "en.nv"; nw: "en.nw"; nx: "en.nx"; ny: "en.ny"; nz: "en.nz"; oa: "en.oa"; ob: "en.ob"; oc: "en.oc"; od: "en.od"; oe: "en.oe"; of: "en.of"; og: "en.og"; oh: "en.oh"; oi: "en.oi"; oj: "en.oj"; ok: "en.ok"; ol: "en.ol"; om: "en.om"; on: "en.on"; oo: "en.oo"; op: "en.op"; oq: "en.oq"; or: "en.or"; os: "en.os"; ot: "en.ot"; ou: "en.ou"; ov: "en.ov"; ow: "en.ow"; ox: "en.ox"; oy: "en.oy"; oz: "en.oz"; pa: "en.pa"; pb: "en.pb"; pc: "en.pc"; pd: "en.pd"; pe: "en.pe"; pf: "en.pf"; pg: "en.pg"; ph: "en.ph"; pi: "en.pi"; pj: "en.pj"; pk: "en.pk"; pl: "en.pl"; pm: "en.pm"; pn: "en.pn"; po: "en.po"; pp: "en.pp"; pq: "en.pq"; pr: "en.pr"; ps: "en.ps"; pt: "en.pt"; pu: "en.pu"; pv: "en.pv"; pw: "en.pw"; px: "en.px"; py: "en.py"; pz: "en.pz"; qa: "en.qa"; qb: "en.qb"; qc: "en.qc"; qd: "en.qd"; qe: "en.qe"; qf: "en.qf"; qg: "en.qg"; qh: "en.qh"; qi: "en.qi"; qj: "en.qj"; qk: "en.qk"; ql: "en.ql"; qm: "en.qm"; qn: "en.qn"; qo: "en.qo"; qp: "en.qp"; qq: "en.qq"; qr: "en.qr"; qs: "en.qs"; qt: "en.qt"; qu: "en.qu"; qv: "en.qv"; qw: "en.qw"; qx: "en.qx"; qy: "en.qy"; qz: "en.qz"; ra: "en.ra"; rb: "en.rb"; rc: "en.rc"; rd: "en.rd"; re: "en.re"; rf: "en.rf"; rg: "en.rg"; rh: "en.rh"; ri: "en.ri"; rj: "en.rj"; rk: "en.rk"; rl: "en.rl"; rm: "en.rm"; rn: "en.rn"; ro: "en.ro"; rp: "en.rp"; rq: "en.rq"; rr: "en.rr"; rs: "en.rs"; rt: "en.rt"; ru: "en.ru"; rv: "en.rv"; rw: "en.rw"; rx: "en.rx"; ry: "en.ry"; rz: "en.rz"; sa: "en.sa"; sb: "en.sb"; sc: "en.sc"; sd: "en.sd"; se: "en.se"; sf: "en.sf"; sg: "en.sg"; sh: "en.sh"; si: "en.si"; sj: "en.sj"; sk: "en.sk"; sl: "en.sl"; sm: "en.sm"; sn: "en.sn"; so: "en.so"; sp: "en.sp"; sq: "en.sq"; sr: "en.sr"; ss: "en.ss"; st: "en.st"; su: "en.su"; sv: "en.sv"; sw: "en.sw"; sx: "en.sx"; sy: "en.sy"; sz: "en.sz"; ta: "en.ta"; tb: "en.tb"; tc: "en.tc"; td: "en.td"; te: "en.te"; tf: "en.tf"; tg: "en.tg"; th: "en.th"; ti: "en.ti"; tj: "en.tj"; tk: "en.tk"; tl: "en.tl"; tm: "en.tm"; tn: "en.tn"; to: "en.to"; tp: "en.tp"; tq: "en.tq"; tr: "en.tr"; ts: "en.ts"; tt: "en.tt"; tu: "en.tu"; tv: "en.tv"; tw: "en.tw"; tx: "en.tx"; ty: "en.ty"; tz: "en.tz"; ua: "en.ua"; ub: "en.ub"; uc: "en.uc"; ud: "en.ud"; ue: "en.ue"; uf: "en.uf"; ug: "en.ug"; uh: "en.uh"; ui: "en.ui"; uj: "en.uj"; uk: "en.uk"; ul: "en.ul"; um: "en.um"; un: "en.un"; uo: "en.uo"; up: "en.up"; uq: "en.uq"; ur: "en.ur"; us: "en.us"; ut: "en.ut"; uu: "en.uu"; uv: "en.uv"; uw: "en.uw"; ux: "en.ux"; uy: "en.uy"; uz: "en.uz"; va: "en.va"; vb: "en.vb"; vc: "en.vc"; vd: "en.vd"; ve: "en.ve"; vf: "en.vf"; vg: "en.vg"; vh: "en.vh"; vi: "en.vi"; vj: "en.vj"; vk: "en.vk"; vl: "en.vl"; vm: "en.vm"; vn: "en.vn"; vo: "en.vo"; vp: "en.vp"; vq: "en.vq"; vr: "en.vr"; vs: "en.vs"; vt: "en.vt"; vu: "en.vu"; vv: "en.vv"; vw: "en.vw"; vx: "en.vx"; vy: "en.vy"; vz: "en.vz"; wa: "en.wa"; wb: "en.wb"; wc: "en.wc"; wd: "en.wd"; we: "en.we"; wf: "en.wf"; wg: "en.wg"; wh: "en.wh"; wi: "en.wi"; wj: "en.wj"; wk: "en.wk"; wl: "en.wl"; wm: "en.wm"; wn: "en.wn"; wo: "en.wo"; wp: "en.wp"; wq: "en.wq"; wr: "en.wr"; ws: "en.ws"; wt: "en.wt"; wu: "en.wu"; wv: "en.wv"; ww: "en.ww"; wx: "en.wx"; wy: "en.wy"; wz: "en.wz"; xa: "en.xa"; xb: "en.xb"; xc: "en.xc"; xd: "en.xd"; xe: "en.xe"; xf: "en.xf"; xg: "en.xg"; xh: "en.xh"; xi: "en.xi"; xj: "en.xj"; xk: "en.xk"; xl: "en.xl"; xm: "en.xm"; xn: "en.xn"; xo: "en.xo"; xp: "en.xp"; xq: "en.xq"; xr: "en.xr"; xs: "en.xs"; xt: "en.xt"; xu: "en.xu"; xv: "en.xv"; xw: "en.xw"; xx: "en.xx"; xy: "en.xy"; xz: "en.xz"; ya: "en.ya"; yb: "en.yb"; yc: "en.yc"; yd: "en.yd"; ye: "en.ye"; yf: "en.yf"; yg: "en.yg"; yh: "en.yh"; yi: "en.yi"; yj: "en.yj"; yk: "en.yk"; yl: "en.yl"; ym: "en.ym"; yn: "en.yn"; yo: "en.yo"; yp: "en.yp"; yq: "en.yq"; yr: "en.yr"; ys: "en.ys"; yt: "en.yt"; yu: "en.yu"; yv: "en.yv"; yw: "en.yw"; yx: "en.yx"; yy: "en.yy"; yz: "en.yz"; za: "en.za"; zb: "en.zb"; zc: "en.zc"; zd: "en.zd"; ze: "en.ze"; zf: "en.zf"; zg: "en.zg"; zh: "en.zh"; zi: "en.zi"; zj: "en.zj"; zk: "en.zk"; zl: "en.zl"; zm: "en.zm"; zn: "en.zn"; zo: "en.zo"; zp: "en.zp"; zq: "en.zq"; zr: "en.zr"; zs: "en.zs"; zt: "en.zt"; zu: "en.zu"; zv: "en.zv"; zw: "en.zw"; zx: "en.zx"; zy: "en.zy"; zz: "en.zz"; }; eo: { aa: "eo.aa"; ab: "eo.ab"; ac: "eo.ac"; ad: "eo.ad"; ae: "eo.ae"; af: "eo.af"; ag: "eo.ag"; ah: "eo.ah"; ai: "eo.ai"; aj: "eo.aj"; ak: "eo.ak"; al: "eo.al"; am: "eo.am"; an: "eo.an"; ao: "eo.ao"; ap: "eo.ap"; aq: "eo.aq"; ar: "eo.ar"; as: "eo.as"; at: "eo.at"; au: "eo.au"; av: "eo.av"; aw: "eo.aw"; ax: "eo.ax"; ay: "eo.ay"; az: "eo.az"; ba: "eo.ba"; bb: "eo.bb"; bc: "eo.bc"; bd: "eo.bd"; be: "eo.be"; bf: "eo.bf"; bg: "eo.bg"; bh: "eo.bh"; bi: "eo.bi"; bj: "eo.bj"; bk: "eo.bk"; bl: "eo.bl"; bm: "eo.bm"; bn: "eo.bn"; bo: "eo.bo"; bp: "eo.bp"; bq: "eo.bq"; br: "eo.br"; bs: "eo.bs"; bt: "eo.bt"; bu: "eo.bu"; bv: "eo.bv"; bw: "eo.bw"; bx: "eo.bx"; by: "eo.by"; bz: "eo.bz"; ca: "eo.ca"; cb: "eo.cb"; cc: "eo.cc"; cd: "eo.cd"; ce: "eo.ce"; cf: "eo.cf"; cg: "eo.cg"; ch: "eo.ch"; ci: "eo.ci"; cj: "eo.cj"; ck: "eo.ck"; cl: "eo.cl"; cm: "eo.cm"; cn: "eo.cn"; co: "eo.co"; cp: "eo.cp"; cq: "eo.cq"; cr: "eo.cr"; cs: "eo.cs"; ct: "eo.ct"; cu: "eo.cu"; cv: "eo.cv"; cw: "eo.cw"; cx: "eo.cx"; cy: "eo.cy"; cz: "eo.cz"; da: "eo.da"; db: "eo.db"; dc: "eo.dc"; dd: "eo.dd"; de: "eo.de"; df: "eo.df"; dg: "eo.dg"; dh: "eo.dh"; di: "eo.di"; dj: "eo.dj"; dk: "eo.dk"; dl: "eo.dl"; dm: "eo.dm"; dn: "eo.dn"; do: "eo.do"; dp: "eo.dp"; dq: "eo.dq"; dr: "eo.dr"; ds: "eo.ds"; dt: "eo.dt"; du: "eo.du"; dv: "eo.dv"; dw: "eo.dw"; dx: "eo.dx"; dy: "eo.dy"; dz: "eo.dz"; ea: "eo.ea"; eb: "eo.eb"; ec: "eo.ec"; ed: "eo.ed"; ee: "eo.ee"; ef: "eo.ef"; eg: "eo.eg"; eh: "eo.eh"; ei: "eo.ei"; ej: "eo.ej"; ek: "eo.ek"; el: "eo.el"; em: "eo.em"; en: "eo.en"; eo: "eo.eo"; ep: "eo.ep"; eq: "eo.eq"; er: "eo.er"; es: "eo.es"; et: "eo.et"; eu: "eo.eu"; ev: "eo.ev"; ew: "eo.ew"; ex: "eo.ex"; ey: "eo.ey"; ez: "eo.ez"; fa: "eo.fa"; fb: "eo.fb"; fc: "eo.fc"; fd: "eo.fd"; fe: "eo.fe"; ff: "eo.ff"; fg: "eo.fg"; fh: "eo.fh"; fi: "eo.fi"; fj: "eo.fj"; fk: "eo.fk"; fl: "eo.fl"; fm: "eo.fm"; fn: "eo.fn"; fo: "eo.fo"; fp: "eo.fp"; fq: "eo.fq"; fr: "eo.fr"; fs: "eo.fs"; ft: "eo.ft"; fu: "eo.fu"; fv: "eo.fv"; fw: "eo.fw"; fx: "eo.fx"; fy: "eo.fy"; fz: "eo.fz"; ga: "eo.ga"; gb: "eo.gb"; gc: "eo.gc"; gd: "eo.gd"; ge: "eo.ge"; gf: "eo.gf"; gg: "eo.gg"; gh: "eo.gh"; gi: "eo.gi"; gj: "eo.gj"; gk: "eo.gk"; gl: "eo.gl"; gm: "eo.gm"; gn: "eo.gn"; go: "eo.go"; gp: "eo.gp"; gq: "eo.gq"; gr: "eo.gr"; gs: "eo.gs"; gt: "eo.gt"; gu: "eo.gu"; gv: "eo.gv"; gw: "eo.gw"; gx: "eo.gx"; gy: "eo.gy"; gz: "eo.gz"; ha: "eo.ha"; hb: "eo.hb"; hc: "eo.hc"; hd: "eo.hd"; he: "eo.he"; hf: "eo.hf"; hg: "eo.hg"; hh: "eo.hh"; hi: "eo.hi"; hj: "eo.hj"; hk: "eo.hk"; hl: "eo.hl"; hm: "eo.hm"; hn: "eo.hn"; ho: "eo.ho"; hp: "eo.hp"; hq: "eo.hq"; hr: "eo.hr"; hs: "eo.hs"; ht: "eo.ht"; hu: "eo.hu"; hv: "eo.hv"; hw: "eo.hw"; hx: "eo.hx"; hy: "eo.hy"; hz: "eo.hz"; ia: "eo.ia"; ib: "eo.ib"; ic: "eo.ic"; id: "eo.id"; ie: "eo.ie"; if: "eo.if"; ig: "eo.ig"; ih: "eo.ih"; ii: "eo.ii"; ij: "eo.ij"; ik: "eo.ik"; il: "eo.il"; im: "eo.im"; in: "eo.in"; io: "eo.io"; ip: "eo.ip"; iq: "eo.iq"; ir: "eo.ir"; is: "eo.is"; it: "eo.it"; iu: "eo.iu"; iv: "eo.iv"; iw: "eo.iw"; ix: "eo.ix"; iy: "eo.iy"; iz: "eo.iz"; ja: "eo.ja"; jb: "eo.jb"; jc: "eo.jc"; jd: "eo.jd"; je: "eo.je"; jf: "eo.jf"; jg: "eo.jg"; jh: "eo.jh"; ji: "eo.ji"; jj: "eo.jj"; jk: "eo.jk"; jl: "eo.jl"; jm: "eo.jm"; jn: "eo.jn"; jo: "eo.jo"; jp: "eo.jp"; jq: "eo.jq"; jr: "eo.jr"; js: "eo.js"; jt: "eo.jt"; ju: "eo.ju"; jv: "eo.jv"; jw: "eo.jw"; jx: "eo.jx"; jy: "eo.jy"; jz: "eo.jz"; ka: "eo.ka"; kb: "eo.kb"; kc: "eo.kc"; kd: "eo.kd"; ke: "eo.ke"; kf: "eo.kf"; kg: "eo.kg"; kh: "eo.kh"; ki: "eo.ki"; kj: "eo.kj"; kk: "eo.kk"; kl: "eo.kl"; km: "eo.km"; kn: "eo.kn"; ko: "eo.ko"; kp: "eo.kp"; kq: "eo.kq"; kr: "eo.kr"; ks: "eo.ks"; kt: "eo.kt"; ku: "eo.ku"; kv: "eo.kv"; kw: "eo.kw"; kx: "eo.kx"; ky: "eo.ky"; kz: "eo.kz"; la: "eo.la"; lb: "eo.lb"; lc: "eo.lc"; ld: "eo.ld"; le: "eo.le"; lf: "eo.lf"; lg: "eo.lg"; lh: "eo.lh"; li: "eo.li"; lj: "eo.lj"; lk: "eo.lk"; ll: "eo.ll"; lm: "eo.lm"; ln: "eo.ln"; lo: "eo.lo"; lp: "eo.lp"; lq: "eo.lq"; lr: "eo.lr"; ls: "eo.ls"; lt: "eo.lt"; lu: "eo.lu"; lv: "eo.lv"; lw: "eo.lw"; lx: "eo.lx"; ly: "eo.ly"; lz: "eo.lz"; ma: "eo.ma"; mb: "eo.mb"; mc: "eo.mc"; md: "eo.md"; me: "eo.me"; mf: "eo.mf"; mg: "eo.mg"; mh: "eo.mh"; mi: "eo.mi"; mj: "eo.mj"; mk: "eo.mk"; ml: "eo.ml"; mm: "eo.mm"; mn: "eo.mn"; mo: "eo.mo"; mp: "eo.mp"; mq: "eo.mq"; mr: "eo.mr"; ms: "eo.ms"; mt: "eo.mt"; mu: "eo.mu"; mv: "eo.mv"; mw: "eo.mw"; mx: "eo.mx"; my: "eo.my"; mz: "eo.mz"; na: "eo.na"; nb: "eo.nb"; nc: "eo.nc"; nd: "eo.nd"; ne: "eo.ne"; nf: "eo.nf"; ng: "eo.ng"; nh: "eo.nh"; ni: "eo.ni"; nj: "eo.nj"; nk: "eo.nk"; nl: "eo.nl"; nm: "eo.nm"; nn: "eo.nn"; no: "eo.no"; np: "eo.np"; nq: "eo.nq"; nr: "eo.nr"; ns: "eo.ns"; nt: "eo.nt"; nu: "eo.nu"; nv: "eo.nv"; nw: "eo.nw"; nx: "eo.nx"; ny: "eo.ny"; nz: "eo.nz"; oa: "eo.oa"; ob: "eo.ob"; oc: "eo.oc"; od: "eo.od"; oe: "eo.oe"; of: "eo.of"; og: "eo.og"; oh: "eo.oh"; oi: "eo.oi"; oj: "eo.oj"; ok: "eo.ok"; ol: "eo.ol"; om: "eo.om"; on: "eo.on"; oo: "eo.oo"; op: "eo.op"; oq: "eo.oq"; or: "eo.or"; os: "eo.os"; ot: "eo.ot"; ou: "eo.ou"; ov: "eo.ov"; ow: "eo.ow"; ox: "eo.ox"; oy: "eo.oy"; oz: "eo.oz"; pa: "eo.pa"; pb: "eo.pb"; pc: "eo.pc"; pd: "eo.pd"; pe: "eo.pe"; pf: "eo.pf"; pg: "eo.pg"; ph: "eo.ph"; pi: "eo.pi"; pj: "eo.pj"; pk: "eo.pk"; pl: "eo.pl"; pm: "eo.pm"; pn: "eo.pn"; po: "eo.po"; pp: "eo.pp"; pq: "eo.pq"; pr: "eo.pr"; ps: "eo.ps"; pt: "eo.pt"; pu: "eo.pu"; pv: "eo.pv"; pw: "eo.pw"; px: "eo.px"; py: "eo.py"; pz: "eo.pz"; qa: "eo.qa"; qb: "eo.qb"; qc: "eo.qc"; qd: "eo.qd"; qe: "eo.qe"; qf: "eo.qf"; qg: "eo.qg"; qh: "eo.qh"; qi: "eo.qi"; qj: "eo.qj"; qk: "eo.qk"; ql: "eo.ql"; qm: "eo.qm"; qn: "eo.qn"; qo: "eo.qo"; qp: "eo.qp"; qq: "eo.qq"; qr: "eo.qr"; qs: "eo.qs"; qt: "eo.qt"; qu: "eo.qu"; qv: "eo.qv"; qw: "eo.qw"; qx: "eo.qx"; qy: "eo.qy"; qz: "eo.qz"; ra: "eo.ra"; rb: "eo.rb"; rc: "eo.rc"; rd: "eo.rd"; re: "eo.re"; rf: "eo.rf"; rg: "eo.rg"; rh: "eo.rh"; ri: "eo.ri"; rj: "eo.rj"; rk: "eo.rk"; rl: "eo.rl"; rm: "eo.rm"; rn: "eo.rn"; ro: "eo.ro"; rp: "eo.rp"; rq: "eo.rq"; rr: "eo.rr"; rs: "eo.rs"; rt: "eo.rt"; ru: "eo.ru"; rv: "eo.rv"; rw: "eo.rw"; rx: "eo.rx"; ry: "eo.ry"; rz: "eo.rz"; sa: "eo.sa"; sb: "eo.sb"; sc: "eo.sc"; sd: "eo.sd"; se: "eo.se"; sf: "eo.sf"; sg: "eo.sg"; sh: "eo.sh"; si: "eo.si"; sj: "eo.sj"; sk: "eo.sk"; sl: "eo.sl"; sm: "eo.sm"; sn: "eo.sn"; so: "eo.so"; sp: "eo.sp"; sq: "eo.sq"; sr: "eo.sr"; ss: "eo.ss"; st: "eo.st"; su: "eo.su"; sv: "eo.sv"; sw: "eo.sw"; sx: "eo.sx"; sy: "eo.sy"; sz: "eo.sz"; ta: "eo.ta"; tb: "eo.tb"; tc: "eo.tc"; td: "eo.td"; te: "eo.te"; tf: "eo.tf"; tg: "eo.tg"; th: "eo.th"; ti: "eo.ti"; tj: "eo.tj"; tk: "eo.tk"; tl: "eo.tl"; tm: "eo.tm"; tn: "eo.tn"; to: "eo.to"; tp: "eo.tp"; tq: "eo.tq"; tr: "eo.tr"; ts: "eo.ts"; tt: "eo.tt"; tu: "eo.tu"; tv: "eo.tv"; tw: "eo.tw"; tx: "eo.tx"; ty: "eo.ty"; tz: "eo.tz"; ua: "eo.ua"; ub: "eo.ub"; uc: "eo.uc"; ud: "eo.ud"; ue: "eo.ue"; uf: "eo.uf"; ug: "eo.ug"; uh: "eo.uh"; ui: "eo.ui"; uj: "eo.uj"; uk: "eo.uk"; ul: "eo.ul"; um: "eo.um"; un: "eo.un"; uo: "eo.uo"; up: "eo.up"; uq: "eo.uq"; ur: "eo.ur"; us: "eo.us"; ut: "eo.ut"; uu: "eo.uu"; uv: "eo.uv"; uw: "eo.uw"; ux: "eo.ux"; uy: "eo.uy"; uz: "eo.uz"; va: "eo.va"; vb: "eo.vb"; vc: "eo.vc"; vd: "eo.vd"; ve: "eo.ve"; vf: "eo.vf"; vg: "eo.vg"; vh: "eo.vh"; vi: "eo.vi"; vj: "eo.vj"; vk: "eo.vk"; vl: "eo.vl"; vm: "eo.vm"; vn: "eo.vn"; vo: "eo.vo"; vp: "eo.vp"; vq: "eo.vq"; vr: "eo.vr"; vs: "eo.vs"; vt: "eo.vt"; vu: "eo.vu"; vv: "eo.vv"; vw: "eo.vw"; vx: "eo.vx"; vy: "eo.vy"; vz: "eo.vz"; wa: "eo.wa"; wb: "eo.wb"; wc: "eo.wc"; wd: "eo.wd"; we: "eo.we"; wf: "eo.wf"; wg: "eo.wg"; wh: "eo.wh"; wi: "eo.wi"; wj: "eo.wj"; wk: "eo.wk"; wl: "eo.wl"; wm: "eo.wm"; wn: "eo.wn"; wo: "eo.wo"; wp: "eo.wp"; wq: "eo.wq"; wr: "eo.wr"; ws: "eo.ws"; wt: "eo.wt"; wu: "eo.wu"; wv: "eo.wv"; ww: "eo.ww"; wx: "eo.wx"; wy: "eo.wy"; wz: "eo.wz"; xa: "eo.xa"; xb: "eo.xb"; xc: "eo.xc"; xd: "eo.xd"; xe: "eo.xe"; xf: "eo.xf"; xg: "eo.xg"; xh: "eo.xh"; xi: "eo.xi"; xj: "eo.xj"; xk: "eo.xk"; xl: "eo.xl"; xm: "eo.xm"; xn: "eo.xn"; xo: "eo.xo"; xp: "eo.xp"; xq: "eo.xq"; xr: "eo.xr"; xs: "eo.xs"; xt: "eo.xt"; xu: "eo.xu"; xv: "eo.xv"; xw: "eo.xw"; xx: "eo.xx"; xy: "eo.xy"; xz: "eo.xz"; ya: "eo.ya"; yb: "eo.yb"; yc: "eo.yc"; yd: "eo.yd"; ye: "eo.ye"; yf: "eo.yf"; yg: "eo.yg"; yh: "eo.yh"; yi: "eo.yi"; yj: "eo.yj"; yk: "eo.yk"; yl: "eo.yl"; ym: "eo.ym"; yn: "eo.yn"; yo: "eo.yo"; yp: "eo.yp"; yq: "eo.yq"; yr: "eo.yr"; ys: "eo.ys"; yt: "eo.yt"; yu: "eo.yu"; yv: "eo.yv"; yw: "eo.yw"; yx: "eo.yx"; yy: "eo.yy"; yz: "eo.yz"; za: "eo.za"; zb: "eo.zb"; zc: "eo.zc"; zd: "eo.zd"; ze: "eo.ze"; zf: "eo.zf"; zg: "eo.zg"; zh: "eo.zh"; zi: "eo.zi"; zj: "eo.zj"; zk: "eo.zk"; zl: "eo.zl"; zm: "eo.zm"; zn: "eo.zn"; zo: "eo.zo"; zp: "eo.zp"; zq: "eo.zq"; zr: "eo.zr"; zs: "eo.zs"; zt: "eo.zt"; zu: "eo.zu"; zv: "eo.zv"; zw: "eo.zw"; zx: "eo.zx"; zy: "eo.zy"; zz: "eo.zz"; }; ep: { aa: "ep.aa"; ab: "ep.ab"; ac: "ep.ac"; ad: "ep.ad"; ae: "ep.ae"; af: "ep.af"; ag: "ep.ag"; ah: "ep.ah"; ai: "ep.ai"; aj: "ep.aj"; ak: "ep.ak"; al: "ep.al"; am: "ep.am"; an: "ep.an"; ao: "ep.ao"; ap: "ep.ap"; aq: "ep.aq"; ar: "ep.ar"; as: "ep.as"; at: "ep.at"; au: "ep.au"; av: "ep.av"; aw: "ep.aw"; ax: "ep.ax"; ay: "ep.ay"; az: "ep.az"; ba: "ep.ba"; bb: "ep.bb"; bc: "ep.bc"; bd: "ep.bd"; be: "ep.be"; bf: "ep.bf"; bg: "ep.bg"; bh: "ep.bh"; bi: "ep.bi"; bj: "ep.bj"; bk: "ep.bk"; bl: "ep.bl"; bm: "ep.bm"; bn: "ep.bn"; bo: "ep.bo"; bp: "ep.bp"; bq: "ep.bq"; br: "ep.br"; bs: "ep.bs"; bt: "ep.bt"; bu: "ep.bu"; bv: "ep.bv"; bw: "ep.bw"; bx: "ep.bx"; by: "ep.by"; bz: "ep.bz"; ca: "ep.ca"; cb: "ep.cb"; cc: "ep.cc"; cd: "ep.cd"; ce: "ep.ce"; cf: "ep.cf"; cg: "ep.cg"; ch: "ep.ch"; ci: "ep.ci"; cj: "ep.cj"; ck: "ep.ck"; cl: "ep.cl"; cm: "ep.cm"; cn: "ep.cn"; co: "ep.co"; cp: "ep.cp"; cq: "ep.cq"; cr: "ep.cr"; cs: "ep.cs"; ct: "ep.ct"; cu: "ep.cu"; cv: "ep.cv"; cw: "ep.cw"; cx: "ep.cx"; cy: "ep.cy"; cz: "ep.cz"; da: "ep.da"; db: "ep.db"; dc: "ep.dc"; dd: "ep.dd"; de: "ep.de"; df: "ep.df"; dg: "ep.dg"; dh: "ep.dh"; di: "ep.di"; dj: "ep.dj"; dk: "ep.dk"; dl: "ep.dl"; dm: "ep.dm"; dn: "ep.dn"; do: "ep.do"; dp: "ep.dp"; dq: "ep.dq"; dr: "ep.dr"; ds: "ep.ds"; dt: "ep.dt"; du: "ep.du"; dv: "ep.dv"; dw: "ep.dw"; dx: "ep.dx"; dy: "ep.dy"; dz: "ep.dz"; ea: "ep.ea"; eb: "ep.eb"; ec: "ep.ec"; ed: "ep.ed"; ee: "ep.ee"; ef: "ep.ef"; eg: "ep.eg"; eh: "ep.eh"; ei: "ep.ei"; ej: "ep.ej"; ek: "ep.ek"; el: "ep.el"; em: "ep.em"; en: "ep.en"; eo: "ep.eo"; ep: "ep.ep"; eq: "ep.eq"; er: "ep.er"; es: "ep.es"; et: "ep.et"; eu: "ep.eu"; ev: "ep.ev"; ew: "ep.ew"; ex: "ep.ex"; ey: "ep.ey"; ez: "ep.ez"; fa: "ep.fa"; fb: "ep.fb"; fc: "ep.fc"; fd: "ep.fd"; fe: "ep.fe"; ff: "ep.ff"; fg: "ep.fg"; fh: "ep.fh"; fi: "ep.fi"; fj: "ep.fj"; fk: "ep.fk"; fl: "ep.fl"; fm: "ep.fm"; fn: "ep.fn"; fo: "ep.fo"; fp: "ep.fp"; fq: "ep.fq"; fr: "ep.fr"; fs: "ep.fs"; ft: "ep.ft"; fu: "ep.fu"; fv: "ep.fv"; fw: "ep.fw"; fx: "ep.fx"; fy: "ep.fy"; fz: "ep.fz"; ga: "ep.ga"; gb: "ep.gb"; gc: "ep.gc"; gd: "ep.gd"; ge: "ep.ge"; gf: "ep.gf"; gg: "ep.gg"; gh: "ep.gh"; gi: "ep.gi"; gj: "ep.gj"; gk: "ep.gk"; gl: "ep.gl"; gm: "ep.gm"; gn: "ep.gn"; go: "ep.go"; gp: "ep.gp"; gq: "ep.gq"; gr: "ep.gr"; gs: "ep.gs"; gt: "ep.gt"; gu: "ep.gu"; gv: "ep.gv"; gw: "ep.gw"; gx: "ep.gx"; gy: "ep.gy"; gz: "ep.gz"; ha: "ep.ha"; hb: "ep.hb"; hc: "ep.hc"; hd: "ep.hd"; he: "ep.he"; hf: "ep.hf"; hg: "ep.hg"; hh: "ep.hh"; hi: "ep.hi"; hj: "ep.hj"; hk: "ep.hk"; hl: "ep.hl"; hm: "ep.hm"; hn: "ep.hn"; ho: "ep.ho"; hp: "ep.hp"; hq: "ep.hq"; hr: "ep.hr"; hs: "ep.hs"; ht: "ep.ht"; hu: "ep.hu"; hv: "ep.hv"; hw: "ep.hw"; hx: "ep.hx"; hy: "ep.hy"; hz: "ep.hz"; ia: "ep.ia"; ib: "ep.ib"; ic: "ep.ic"; id: "ep.id"; ie: "ep.ie"; if: "ep.if"; ig: "ep.ig"; ih: "ep.ih"; ii: "ep.ii"; ij: "ep.ij"; ik: "ep.ik"; il: "ep.il"; im: "ep.im"; in: "ep.in"; io: "ep.io"; ip: "ep.ip"; iq: "ep.iq"; ir: "ep.ir"; is: "ep.is"; it: "ep.it"; iu: "ep.iu"; iv: "ep.iv"; iw: "ep.iw"; ix: "ep.ix"; iy: "ep.iy"; iz: "ep.iz"; ja: "ep.ja"; jb: "ep.jb"; jc: "ep.jc"; jd: "ep.jd"; je: "ep.je"; jf: "ep.jf"; jg: "ep.jg"; jh: "ep.jh"; ji: "ep.ji"; jj: "ep.jj"; jk: "ep.jk"; jl: "ep.jl"; jm: "ep.jm"; jn: "ep.jn"; jo: "ep.jo"; jp: "ep.jp"; jq: "ep.jq"; jr: "ep.jr"; js: "ep.js"; jt: "ep.jt"; ju: "ep.ju"; jv: "ep.jv"; jw: "ep.jw"; jx: "ep.jx"; jy: "ep.jy"; jz: "ep.jz"; ka: "ep.ka"; kb: "ep.kb"; kc: "ep.kc"; kd: "ep.kd"; ke: "ep.ke"; kf: "ep.kf"; kg: "ep.kg"; kh: "ep.kh"; ki: "ep.ki"; kj: "ep.kj"; kk: "ep.kk"; kl: "ep.kl"; km: "ep.km"; kn: "ep.kn"; ko: "ep.ko"; kp: "ep.kp"; kq: "ep.kq"; kr: "ep.kr"; ks: "ep.ks"; kt: "ep.kt"; ku: "ep.ku"; kv: "ep.kv"; kw: "ep.kw"; kx: "ep.kx"; ky: "ep.ky"; kz: "ep.kz"; la: "ep.la"; lb: "ep.lb"; lc: "ep.lc"; ld: "ep.ld"; le: "ep.le"; lf: "ep.lf"; lg: "ep.lg"; lh: "ep.lh"; li: "ep.li"; lj: "ep.lj"; lk: "ep.lk"; ll: "ep.ll"; lm: "ep.lm"; ln: "ep.ln"; lo: "ep.lo"; lp: "ep.lp"; lq: "ep.lq"; lr: "ep.lr"; ls: "ep.ls"; lt: "ep.lt"; lu: "ep.lu"; lv: "ep.lv"; lw: "ep.lw"; lx: "ep.lx"; ly: "ep.ly"; lz: "ep.lz"; ma: "ep.ma"; mb: "ep.mb"; mc: "ep.mc"; md: "ep.md"; me: "ep.me"; mf: "ep.mf"; mg: "ep.mg"; mh: "ep.mh"; mi: "ep.mi"; mj: "ep.mj"; mk: "ep.mk"; ml: "ep.ml"; mm: "ep.mm"; mn: "ep.mn"; mo: "ep.mo"; mp: "ep.mp"; mq: "ep.mq"; mr: "ep.mr"; ms: "ep.ms"; mt: "ep.mt"; mu: "ep.mu"; mv: "ep.mv"; mw: "ep.mw"; mx: "ep.mx"; my: "ep.my"; mz: "ep.mz"; na: "ep.na"; nb: "ep.nb"; nc: "ep.nc"; nd: "ep.nd"; ne: "ep.ne"; nf: "ep.nf"; ng: "ep.ng"; nh: "ep.nh"; ni: "ep.ni"; nj: "ep.nj"; nk: "ep.nk"; nl: "ep.nl"; nm: "ep.nm"; nn: "ep.nn"; no: "ep.no"; np: "ep.np"; nq: "ep.nq"; nr: "ep.nr"; ns: "ep.ns"; nt: "ep.nt"; nu: "ep.nu"; nv: "ep.nv"; nw: "ep.nw"; nx: "ep.nx"; ny: "ep.ny"; nz: "ep.nz"; oa: "ep.oa"; ob: "ep.ob"; oc: "ep.oc"; od: "ep.od"; oe: "ep.oe"; of: "ep.of"; og: "ep.og"; oh: "ep.oh"; oi: "ep.oi"; oj: "ep.oj"; ok: "ep.ok"; ol: "ep.ol"; om: "ep.om"; on: "ep.on"; oo: "ep.oo"; op: "ep.op"; oq: "ep.oq"; or: "ep.or"; os: "ep.os"; ot: "ep.ot"; ou: "ep.ou"; ov: "ep.ov"; ow: "ep.ow"; ox: "ep.ox"; oy: "ep.oy"; oz: "ep.oz"; pa: "ep.pa"; pb: "ep.pb"; pc: "ep.pc"; pd: "ep.pd"; pe: "ep.pe"; pf: "ep.pf"; pg: "ep.pg"; ph: "ep.ph"; pi: "ep.pi"; pj: "ep.pj"; pk: "ep.pk"; pl: "ep.pl"; pm: "ep.pm"; pn: "ep.pn"; po: "ep.po"; pp: "ep.pp"; pq: "ep.pq"; pr: "ep.pr"; ps: "ep.ps"; pt: "ep.pt"; pu: "ep.pu"; pv: "ep.pv"; pw: "ep.pw"; px: "ep.px"; py: "ep.py"; pz: "ep.pz"; qa: "ep.qa"; qb: "ep.qb"; qc: "ep.qc"; qd: "ep.qd"; qe: "ep.qe"; qf: "ep.qf"; qg: "ep.qg"; qh: "ep.qh"; qi: "ep.qi"; qj: "ep.qj"; qk: "ep.qk"; ql: "ep.ql"; qm: "ep.qm"; qn: "ep.qn"; qo: "ep.qo"; qp: "ep.qp"; qq: "ep.qq"; qr: "ep.qr"; qs: "ep.qs"; qt: "ep.qt"; qu: "ep.qu"; qv: "ep.qv"; qw: "ep.qw"; qx: "ep.qx"; qy: "ep.qy"; qz: "ep.qz"; ra: "ep.ra"; rb: "ep.rb"; rc: "ep.rc"; rd: "ep.rd"; re: "ep.re"; rf: "ep.rf"; rg: "ep.rg"; rh: "ep.rh"; ri: "ep.ri"; rj: "ep.rj"; rk: "ep.rk"; rl: "ep.rl"; rm: "ep.rm"; rn: "ep.rn"; ro: "ep.ro"; rp: "ep.rp"; rq: "ep.rq"; rr: "ep.rr"; rs: "ep.rs"; rt: "ep.rt"; ru: "ep.ru"; rv: "ep.rv"; rw: "ep.rw"; rx: "ep.rx"; ry: "ep.ry"; rz: "ep.rz"; sa: "ep.sa"; sb: "ep.sb"; sc: "ep.sc"; sd: "ep.sd"; se: "ep.se"; sf: "ep.sf"; sg: "ep.sg"; sh: "ep.sh"; si: "ep.si"; sj: "ep.sj"; sk: "ep.sk"; sl: "ep.sl"; sm: "ep.sm"; sn: "ep.sn"; so: "ep.so"; sp: "ep.sp"; sq: "ep.sq"; sr: "ep.sr"; ss: "ep.ss"; st: "ep.st"; su: "ep.su"; sv: "ep.sv"; sw: "ep.sw"; sx: "ep.sx"; sy: "ep.sy"; sz: "ep.sz"; ta: "ep.ta"; tb: "ep.tb"; tc: "ep.tc"; td: "ep.td"; te: "ep.te"; tf: "ep.tf"; tg: "ep.tg"; th: "ep.th"; ti: "ep.ti"; tj: "ep.tj"; tk: "ep.tk"; tl: "ep.tl"; tm: "ep.tm"; tn: "ep.tn"; to: "ep.to"; tp: "ep.tp"; tq: "ep.tq"; tr: "ep.tr"; ts: "ep.ts"; tt: "ep.tt"; tu: "ep.tu"; tv: "ep.tv"; tw: "ep.tw"; tx: "ep.tx"; ty: "ep.ty"; tz: "ep.tz"; ua: "ep.ua"; ub: "ep.ub"; uc: "ep.uc"; ud: "ep.ud"; ue: "ep.ue"; uf: "ep.uf"; ug: "ep.ug"; uh: "ep.uh"; ui: "ep.ui"; uj: "ep.uj"; uk: "ep.uk"; ul: "ep.ul"; um: "ep.um"; un: "ep.un"; uo: "ep.uo"; up: "ep.up"; uq: "ep.uq"; ur: "ep.ur"; us: "ep.us"; ut: "ep.ut"; uu: "ep.uu"; uv: "ep.uv"; uw: "ep.uw"; ux: "ep.ux"; uy: "ep.uy"; uz: "ep.uz"; va: "ep.va"; vb: "ep.vb"; vc: "ep.vc"; vd: "ep.vd"; ve: "ep.ve"; vf: "ep.vf"; vg: "ep.vg"; vh: "ep.vh"; vi: "ep.vi"; vj: "ep.vj"; vk: "ep.vk"; vl: "ep.vl"; vm: "ep.vm"; vn: "ep.vn"; vo: "ep.vo"; vp: "ep.vp"; vq: "ep.vq"; vr: "ep.vr"; vs: "ep.vs"; vt: "ep.vt"; vu: "ep.vu"; vv: "ep.vv"; vw: "ep.vw"; vx: "ep.vx"; vy: "ep.vy"; vz: "ep.vz"; wa: "ep.wa"; wb: "ep.wb"; wc: "ep.wc"; wd: "ep.wd"; we: "ep.we"; wf: "ep.wf"; wg: "ep.wg"; wh: "ep.wh"; wi: "ep.wi"; wj: "ep.wj"; wk: "ep.wk"; wl: "ep.wl"; wm: "ep.wm"; wn: "ep.wn"; wo: "ep.wo"; wp: "ep.wp"; wq: "ep.wq"; wr: "ep.wr"; ws: "ep.ws"; wt: "ep.wt"; wu: "ep.wu"; wv: "ep.wv"; ww: "ep.ww"; wx: "ep.wx"; wy: "ep.wy"; wz: "ep.wz"; xa: "ep.xa"; xb: "ep.xb"; xc: "ep.xc"; xd: "ep.xd"; xe: "ep.xe"; xf: "ep.xf"; xg: "ep.xg"; xh: "ep.xh"; xi: "ep.xi"; xj: "ep.xj"; xk: "ep.xk"; xl: "ep.xl"; xm: "ep.xm"; xn: "ep.xn"; xo: "ep.xo"; xp: "ep.xp"; xq: "ep.xq"; xr: "ep.xr"; xs: "ep.xs"; xt: "ep.xt"; xu: "ep.xu"; xv: "ep.xv"; xw: "ep.xw"; xx: "ep.xx"; xy: "ep.xy"; xz: "ep.xz"; ya: "ep.ya"; yb: "ep.yb"; yc: "ep.yc"; yd: "ep.yd"; ye: "ep.ye"; yf: "ep.yf"; yg: "ep.yg"; yh: "ep.yh"; yi: "ep.yi"; yj: "ep.yj"; yk: "ep.yk"; yl: "ep.yl"; ym: "ep.ym"; yn: "ep.yn"; yo: "ep.yo"; yp: "ep.yp"; yq: "ep.yq"; yr: "ep.yr"; ys: "ep.ys"; yt: "ep.yt"; yu: "ep.yu"; yv: "ep.yv"; yw: "ep.yw"; yx: "ep.yx"; yy: "ep.yy"; yz: "ep.yz"; za: "ep.za"; zb: "ep.zb"; zc: "ep.zc"; zd: "ep.zd"; ze: "ep.ze"; zf: "ep.zf"; zg: "ep.zg"; zh: "ep.zh"; zi: "ep.zi"; zj: "ep.zj"; zk: "ep.zk"; zl: "ep.zl"; zm: "ep.zm"; zn: "ep.zn"; zo: "ep.zo"; zp: "ep.zp"; zq: "ep.zq"; zr: "ep.zr"; zs: "ep.zs"; zt: "ep.zt"; zu: "ep.zu"; zv: "ep.zv"; zw: "ep.zw"; zx: "ep.zx"; zy: "ep.zy"; zz: "ep.zz"; }; eq: { aa: "eq.aa"; ab: "eq.ab"; ac: "eq.ac"; ad: "eq.ad"; ae: "eq.ae"; af: "eq.af"; ag: "eq.ag"; ah: "eq.ah"; ai: "eq.ai"; aj: "eq.aj"; ak: "eq.ak"; al: "eq.al"; am: "eq.am"; an: "eq.an"; ao: "eq.ao"; ap: "eq.ap"; aq: "eq.aq"; ar: "eq.ar"; as: "eq.as"; at: "eq.at"; au: "eq.au"; av: "eq.av"; aw: "eq.aw"; ax: "eq.ax"; ay: "eq.ay"; az: "eq.az"; ba: "eq.ba"; bb: "eq.bb"; bc: "eq.bc"; bd: "eq.bd"; be: "eq.be"; bf: "eq.bf"; bg: "eq.bg"; bh: "eq.bh"; bi: "eq.bi"; bj: "eq.bj"; bk: "eq.bk"; bl: "eq.bl"; bm: "eq.bm"; bn: "eq.bn"; bo: "eq.bo"; bp: "eq.bp"; bq: "eq.bq"; br: "eq.br"; bs: "eq.bs"; bt: "eq.bt"; bu: "eq.bu"; bv: "eq.bv"; bw: "eq.bw"; bx: "eq.bx"; by: "eq.by"; bz: "eq.bz"; ca: "eq.ca"; cb: "eq.cb"; cc: "eq.cc"; cd: "eq.cd"; ce: "eq.ce"; cf: "eq.cf"; cg: "eq.cg"; ch: "eq.ch"; ci: "eq.ci"; cj: "eq.cj"; ck: "eq.ck"; cl: "eq.cl"; cm: "eq.cm"; cn: "eq.cn"; co: "eq.co"; cp: "eq.cp"; cq: "eq.cq"; cr: "eq.cr"; cs: "eq.cs"; ct: "eq.ct"; cu: "eq.cu"; cv: "eq.cv"; cw: "eq.cw"; cx: "eq.cx"; cy: "eq.cy"; cz: "eq.cz"; da: "eq.da"; db: "eq.db"; dc: "eq.dc"; dd: "eq.dd"; de: "eq.de"; df: "eq.df"; dg: "eq.dg"; dh: "eq.dh"; di: "eq.di"; dj: "eq.dj"; dk: "eq.dk"; dl: "eq.dl"; dm: "eq.dm"; dn: "eq.dn"; do: "eq.do"; dp: "eq.dp"; dq: "eq.dq"; dr: "eq.dr"; ds: "eq.ds"; dt: "eq.dt"; du: "eq.du"; dv: "eq.dv"; dw: "eq.dw"; dx: "eq.dx"; dy: "eq.dy"; dz: "eq.dz"; ea: "eq.ea"; eb: "eq.eb"; ec: "eq.ec"; ed: "eq.ed"; ee: "eq.ee"; ef: "eq.ef"; eg: "eq.eg"; eh: "eq.eh"; ei: "eq.ei"; ej: "eq.ej"; ek: "eq.ek"; el: "eq.el"; em: "eq.em"; en: "eq.en"; eo: "eq.eo"; ep: "eq.ep"; eq: "eq.eq"; er: "eq.er"; es: "eq.es"; et: "eq.et"; eu: "eq.eu"; ev: "eq.ev"; ew: "eq.ew"; ex: "eq.ex"; ey: "eq.ey"; ez: "eq.ez"; fa: "eq.fa"; fb: "eq.fb"; fc: "eq.fc"; fd: "eq.fd"; fe: "eq.fe"; ff: "eq.ff"; fg: "eq.fg"; fh: "eq.fh"; fi: "eq.fi"; fj: "eq.fj"; fk: "eq.fk"; fl: "eq.fl"; fm: "eq.fm"; fn: "eq.fn"; fo: "eq.fo"; fp: "eq.fp"; fq: "eq.fq"; fr: "eq.fr"; fs: "eq.fs"; ft: "eq.ft"; fu: "eq.fu"; fv: "eq.fv"; fw: "eq.fw"; fx: "eq.fx"; fy: "eq.fy"; fz: "eq.fz"; ga: "eq.ga"; gb: "eq.gb"; gc: "eq.gc"; gd: "eq.gd"; ge: "eq.ge"; gf: "eq.gf"; gg: "eq.gg"; gh: "eq.gh"; gi: "eq.gi"; gj: "eq.gj"; gk: "eq.gk"; gl: "eq.gl"; gm: "eq.gm"; gn: "eq.gn"; go: "eq.go"; gp: "eq.gp"; gq: "eq.gq"; gr: "eq.gr"; gs: "eq.gs"; gt: "eq.gt"; gu: "eq.gu"; gv: "eq.gv"; gw: "eq.gw"; gx: "eq.gx"; gy: "eq.gy"; gz: "eq.gz"; ha: "eq.ha"; hb: "eq.hb"; hc: "eq.hc"; hd: "eq.hd"; he: "eq.he"; hf: "eq.hf"; hg: "eq.hg"; hh: "eq.hh"; hi: "eq.hi"; hj: "eq.hj"; hk: "eq.hk"; hl: "eq.hl"; hm: "eq.hm"; hn: "eq.hn"; ho: "eq.ho"; hp: "eq.hp"; hq: "eq.hq"; hr: "eq.hr"; hs: "eq.hs"; ht: "eq.ht"; hu: "eq.hu"; hv: "eq.hv"; hw: "eq.hw"; hx: "eq.hx"; hy: "eq.hy"; hz: "eq.hz"; ia: "eq.ia"; ib: "eq.ib"; ic: "eq.ic"; id: "eq.id"; ie: "eq.ie"; if: "eq.if"; ig: "eq.ig"; ih: "eq.ih"; ii: "eq.ii"; ij: "eq.ij"; ik: "eq.ik"; il: "eq.il"; im: "eq.im"; in: "eq.in"; io: "eq.io"; ip: "eq.ip"; iq: "eq.iq"; ir: "eq.ir"; is: "eq.is"; it: "eq.it"; iu: "eq.iu"; iv: "eq.iv"; iw: "eq.iw"; ix: "eq.ix"; iy: "eq.iy"; iz: "eq.iz"; ja: "eq.ja"; jb: "eq.jb"; jc: "eq.jc"; jd: "eq.jd"; je: "eq.je"; jf: "eq.jf"; jg: "eq.jg"; jh: "eq.jh"; ji: "eq.ji"; jj: "eq.jj"; jk: "eq.jk"; jl: "eq.jl"; jm: "eq.jm"; jn: "eq.jn"; jo: "eq.jo"; jp: "eq.jp"; jq: "eq.jq"; jr: "eq.jr"; js: "eq.js"; jt: "eq.jt"; ju: "eq.ju"; jv: "eq.jv"; jw: "eq.jw"; jx: "eq.jx"; jy: "eq.jy"; jz: "eq.jz"; ka: "eq.ka"; kb: "eq.kb"; kc: "eq.kc"; kd: "eq.kd"; ke: "eq.ke"; kf: "eq.kf"; kg: "eq.kg"; kh: "eq.kh"; ki: "eq.ki"; kj: "eq.kj"; kk: "eq.kk"; kl: "eq.kl"; km: "eq.km"; kn: "eq.kn"; ko: "eq.ko"; kp: "eq.kp"; kq: "eq.kq"; kr: "eq.kr"; ks: "eq.ks"; kt: "eq.kt"; ku: "eq.ku"; kv: "eq.kv"; kw: "eq.kw"; kx: "eq.kx"; ky: "eq.ky"; kz: "eq.kz"; la: "eq.la"; lb: "eq.lb"; lc: "eq.lc"; ld: "eq.ld"; le: "eq.le"; lf: "eq.lf"; lg: "eq.lg"; lh: "eq.lh"; li: "eq.li"; lj: "eq.lj"; lk: "eq.lk"; ll: "eq.ll"; lm: "eq.lm"; ln: "eq.ln"; lo: "eq.lo"; lp: "eq.lp"; lq: "eq.lq"; lr: "eq.lr"; ls: "eq.ls"; lt: "eq.lt"; lu: "eq.lu"; lv: "eq.lv"; lw: "eq.lw"; lx: "eq.lx"; ly: "eq.ly"; lz: "eq.lz"; ma: "eq.ma"; mb: "eq.mb"; mc: "eq.mc"; md: "eq.md"; me: "eq.me"; mf: "eq.mf"; mg: "eq.mg"; mh: "eq.mh"; mi: "eq.mi"; mj: "eq.mj"; mk: "eq.mk"; ml: "eq.ml"; mm: "eq.mm"; mn: "eq.mn"; mo: "eq.mo"; mp: "eq.mp"; mq: "eq.mq"; mr: "eq.mr"; ms: "eq.ms"; mt: "eq.mt"; mu: "eq.mu"; mv: "eq.mv"; mw: "eq.mw"; mx: "eq.mx"; my: "eq.my"; mz: "eq.mz"; na: "eq.na"; nb: "eq.nb"; nc: "eq.nc"; nd: "eq.nd"; ne: "eq.ne"; nf: "eq.nf"; ng: "eq.ng"; nh: "eq.nh"; ni: "eq.ni"; nj: "eq.nj"; nk: "eq.nk"; nl: "eq.nl"; nm: "eq.nm"; nn: "eq.nn"; no: "eq.no"; np: "eq.np"; nq: "eq.nq"; nr: "eq.nr"; ns: "eq.ns"; nt: "eq.nt"; nu: "eq.nu"; nv: "eq.nv"; nw: "eq.nw"; nx: "eq.nx"; ny: "eq.ny"; nz: "eq.nz"; oa: "eq.oa"; ob: "eq.ob"; oc: "eq.oc"; od: "eq.od"; oe: "eq.oe"; of: "eq.of"; og: "eq.og"; oh: "eq.oh"; oi: "eq.oi"; oj: "eq.oj"; ok: "eq.ok"; ol: "eq.ol"; om: "eq.om"; on: "eq.on"; oo: "eq.oo"; op: "eq.op"; oq: "eq.oq"; or: "eq.or"; os: "eq.os"; ot: "eq.ot"; ou: "eq.ou"; ov: "eq.ov"; ow: "eq.ow"; ox: "eq.ox"; oy: "eq.oy"; oz: "eq.oz"; pa: "eq.pa"; pb: "eq.pb"; pc: "eq.pc"; pd: "eq.pd"; pe: "eq.pe"; pf: "eq.pf"; pg: "eq.pg"; ph: "eq.ph"; pi: "eq.pi"; pj: "eq.pj"; pk: "eq.pk"; pl: "eq.pl"; pm: "eq.pm"; pn: "eq.pn"; po: "eq.po"; pp: "eq.pp"; pq: "eq.pq"; pr: "eq.pr"; ps: "eq.ps"; pt: "eq.pt"; pu: "eq.pu"; pv: "eq.pv"; pw: "eq.pw"; px: "eq.px"; py: "eq.py"; pz: "eq.pz"; qa: "eq.qa"; qb: "eq.qb"; qc: "eq.qc"; qd: "eq.qd"; qe: "eq.qe"; qf: "eq.qf"; qg: "eq.qg"; qh: "eq.qh"; qi: "eq.qi"; qj: "eq.qj"; qk: "eq.qk"; ql: "eq.ql"; qm: "eq.qm"; qn: "eq.qn"; qo: "eq.qo"; qp: "eq.qp"; qq: "eq.qq"; qr: "eq.qr"; qs: "eq.qs"; qt: "eq.qt"; qu: "eq.qu"; qv: "eq.qv"; qw: "eq.qw"; qx: "eq.qx"; qy: "eq.qy"; qz: "eq.qz"; ra: "eq.ra"; rb: "eq.rb"; rc: "eq.rc"; rd: "eq.rd"; re: "eq.re"; rf: "eq.rf"; rg: "eq.rg"; rh: "eq.rh"; ri: "eq.ri"; rj: "eq.rj"; rk: "eq.rk"; rl: "eq.rl"; rm: "eq.rm"; rn: "eq.rn"; ro: "eq.ro"; rp: "eq.rp"; rq: "eq.rq"; rr: "eq.rr"; rs: "eq.rs"; rt: "eq.rt"; ru: "eq.ru"; rv: "eq.rv"; rw: "eq.rw"; rx: "eq.rx"; ry: "eq.ry"; rz: "eq.rz"; sa: "eq.sa"; sb: "eq.sb"; sc: "eq.sc"; sd: "eq.sd"; se: "eq.se"; sf: "eq.sf"; sg: "eq.sg"; sh: "eq.sh"; si: "eq.si"; sj: "eq.sj"; sk: "eq.sk"; sl: "eq.sl"; sm: "eq.sm"; sn: "eq.sn"; so: "eq.so"; sp: "eq.sp"; sq: "eq.sq"; sr: "eq.sr"; ss: "eq.ss"; st: "eq.st"; su: "eq.su"; sv: "eq.sv"; sw: "eq.sw"; sx: "eq.sx"; sy: "eq.sy"; sz: "eq.sz"; ta: "eq.ta"; tb: "eq.tb"; tc: "eq.tc"; td: "eq.td"; te: "eq.te"; tf: "eq.tf"; tg: "eq.tg"; th: "eq.th"; ti: "eq.ti"; tj: "eq.tj"; tk: "eq.tk"; tl: "eq.tl"; tm: "eq.tm"; tn: "eq.tn"; to: "eq.to"; tp: "eq.tp"; tq: "eq.tq"; tr: "eq.tr"; ts: "eq.ts"; tt: "eq.tt"; tu: "eq.tu"; tv: "eq.tv"; tw: "eq.tw"; tx: "eq.tx"; ty: "eq.ty"; tz: "eq.tz"; ua: "eq.ua"; ub: "eq.ub"; uc: "eq.uc"; ud: "eq.ud"; ue: "eq.ue"; uf: "eq.uf"; ug: "eq.ug"; uh: "eq.uh"; ui: "eq.ui"; uj: "eq.uj"; uk: "eq.uk"; ul: "eq.ul"; um: "eq.um"; un: "eq.un"; uo: "eq.uo"; up: "eq.up"; uq: "eq.uq"; ur: "eq.ur"; us: "eq.us"; ut: "eq.ut"; uu: "eq.uu"; uv: "eq.uv"; uw: "eq.uw"; ux: "eq.ux"; uy: "eq.uy"; uz: "eq.uz"; va: "eq.va"; vb: "eq.vb"; vc: "eq.vc"; vd: "eq.vd"; ve: "eq.ve"; vf: "eq.vf"; vg: "eq.vg"; vh: "eq.vh"; vi: "eq.vi"; vj: "eq.vj"; vk: "eq.vk"; vl: "eq.vl"; vm: "eq.vm"; vn: "eq.vn"; vo: "eq.vo"; vp: "eq.vp"; vq: "eq.vq"; vr: "eq.vr"; vs: "eq.vs"; vt: "eq.vt"; vu: "eq.vu"; vv: "eq.vv"; vw: "eq.vw"; vx: "eq.vx"; vy: "eq.vy"; vz: "eq.vz"; wa: "eq.wa"; wb: "eq.wb"; wc: "eq.wc"; wd: "eq.wd"; we: "eq.we"; wf: "eq.wf"; wg: "eq.wg"; wh: "eq.wh"; wi: "eq.wi"; wj: "eq.wj"; wk: "eq.wk"; wl: "eq.wl"; wm: "eq.wm"; wn: "eq.wn"; wo: "eq.wo"; wp: "eq.wp"; wq: "eq.wq"; wr: "eq.wr"; ws: "eq.ws"; wt: "eq.wt"; wu: "eq.wu"; wv: "eq.wv"; ww: "eq.ww"; wx: "eq.wx"; wy: "eq.wy"; wz: "eq.wz"; xa: "eq.xa"; xb: "eq.xb"; xc: "eq.xc"; xd: "eq.xd"; xe: "eq.xe"; xf: "eq.xf"; xg: "eq.xg"; xh: "eq.xh"; xi: "eq.xi"; xj: "eq.xj"; xk: "eq.xk"; xl: "eq.xl"; xm: "eq.xm"; xn: "eq.xn"; xo: "eq.xo"; xp: "eq.xp"; xq: "eq.xq"; xr: "eq.xr"; xs: "eq.xs"; xt: "eq.xt"; xu: "eq.xu"; xv: "eq.xv"; xw: "eq.xw"; xx: "eq.xx"; xy: "eq.xy"; xz: "eq.xz"; ya: "eq.ya"; yb: "eq.yb"; yc: "eq.yc"; yd: "eq.yd"; ye: "eq.ye"; yf: "eq.yf"; yg: "eq.yg"; yh: "eq.yh"; yi: "eq.yi"; yj: "eq.yj"; yk: "eq.yk"; yl: "eq.yl"; ym: "eq.ym"; yn: "eq.yn"; yo: "eq.yo"; yp: "eq.yp"; yq: "eq.yq"; yr: "eq.yr"; ys: "eq.ys"; yt: "eq.yt"; yu: "eq.yu"; yv: "eq.yv"; yw: "eq.yw"; yx: "eq.yx"; yy: "eq.yy"; yz: "eq.yz"; za: "eq.za"; zb: "eq.zb"; zc: "eq.zc"; zd: "eq.zd"; ze: "eq.ze"; zf: "eq.zf"; zg: "eq.zg"; zh: "eq.zh"; zi: "eq.zi"; zj: "eq.zj"; zk: "eq.zk"; zl: "eq.zl"; zm: "eq.zm"; zn: "eq.zn"; zo: "eq.zo"; zp: "eq.zp"; zq: "eq.zq"; zr: "eq.zr"; zs: "eq.zs"; zt: "eq.zt"; zu: "eq.zu"; zv: "eq.zv"; zw: "eq.zw"; zx: "eq.zx"; zy: "eq.zy"; zz: "eq.zz"; }; er: { aa: "er.aa"; ab: "er.ab"; ac: "er.ac"; ad: "er.ad"; ae: "er.ae"; af: "er.af"; ag: "er.ag"; ah: "er.ah"; ai: "er.ai"; aj: "er.aj"; ak: "er.ak"; al: "er.al"; am: "er.am"; an: "er.an"; ao: "er.ao"; ap: "er.ap"; aq: "er.aq"; ar: "er.ar"; as: "er.as"; at: "er.at"; au: "er.au"; av: "er.av"; aw: "er.aw"; ax: "er.ax"; ay: "er.ay"; az: "er.az"; ba: "er.ba"; bb: "er.bb"; bc: "er.bc"; bd: "er.bd"; be: "er.be"; bf: "er.bf"; bg: "er.bg"; bh: "er.bh"; bi: "er.bi"; bj: "er.bj"; bk: "er.bk"; bl: "er.bl"; bm: "er.bm"; bn: "er.bn"; bo: "er.bo"; bp: "er.bp"; bq: "er.bq"; br: "er.br"; bs: "er.bs"; bt: "er.bt"; bu: "er.bu"; bv: "er.bv"; bw: "er.bw"; bx: "er.bx"; by: "er.by"; bz: "er.bz"; ca: "er.ca"; cb: "er.cb"; cc: "er.cc"; cd: "er.cd"; ce: "er.ce"; cf: "er.cf"; cg: "er.cg"; ch: "er.ch"; ci: "er.ci"; cj: "er.cj"; ck: "er.ck"; cl: "er.cl"; cm: "er.cm"; cn: "er.cn"; co: "er.co"; cp: "er.cp"; cq: "er.cq"; cr: "er.cr"; cs: "er.cs"; ct: "er.ct"; cu: "er.cu"; cv: "er.cv"; cw: "er.cw"; cx: "er.cx"; cy: "er.cy"; cz: "er.cz"; da: "er.da"; db: "er.db"; dc: "er.dc"; dd: "er.dd"; de: "er.de"; df: "er.df"; dg: "er.dg"; dh: "er.dh"; di: "er.di"; dj: "er.dj"; dk: "er.dk"; dl: "er.dl"; dm: "er.dm"; dn: "er.dn"; do: "er.do"; dp: "er.dp"; dq: "er.dq"; dr: "er.dr"; ds: "er.ds"; dt: "er.dt"; du: "er.du"; dv: "er.dv"; dw: "er.dw"; dx: "er.dx"; dy: "er.dy"; dz: "er.dz"; ea: "er.ea"; eb: "er.eb"; ec: "er.ec"; ed: "er.ed"; ee: "er.ee"; ef: "er.ef"; eg: "er.eg"; eh: "er.eh"; ei: "er.ei"; ej: "er.ej"; ek: "er.ek"; el: "er.el"; em: "er.em"; en: "er.en"; eo: "er.eo"; ep: "er.ep"; eq: "er.eq"; er: "er.er"; es: "er.es"; et: "er.et"; eu: "er.eu"; ev: "er.ev"; ew: "er.ew"; ex: "er.ex"; ey: "er.ey"; ez: "er.ez"; fa: "er.fa"; fb: "er.fb"; fc: "er.fc"; fd: "er.fd"; fe: "er.fe"; ff: "er.ff"; fg: "er.fg"; fh: "er.fh"; fi: "er.fi"; fj: "er.fj"; fk: "er.fk"; fl: "er.fl"; fm: "er.fm"; fn: "er.fn"; fo: "er.fo"; fp: "er.fp"; fq: "er.fq"; fr: "er.fr"; fs: "er.fs"; ft: "er.ft"; fu: "er.fu"; fv: "er.fv"; fw: "er.fw"; fx: "er.fx"; fy: "er.fy"; fz: "er.fz"; ga: "er.ga"; gb: "er.gb"; gc: "er.gc"; gd: "er.gd"; ge: "er.ge"; gf: "er.gf"; gg: "er.gg"; gh: "er.gh"; gi: "er.gi"; gj: "er.gj"; gk: "er.gk"; gl: "er.gl"; gm: "er.gm"; gn: "er.gn"; go: "er.go"; gp: "er.gp"; gq: "er.gq"; gr: "er.gr"; gs: "er.gs"; gt: "er.gt"; gu: "er.gu"; gv: "er.gv"; gw: "er.gw"; gx: "er.gx"; gy: "er.gy"; gz: "er.gz"; ha: "er.ha"; hb: "er.hb"; hc: "er.hc"; hd: "er.hd"; he: "er.he"; hf: "er.hf"; hg: "er.hg"; hh: "er.hh"; hi: "er.hi"; hj: "er.hj"; hk: "er.hk"; hl: "er.hl"; hm: "er.hm"; hn: "er.hn"; ho: "er.ho"; hp: "er.hp"; hq: "er.hq"; hr: "er.hr"; hs: "er.hs"; ht: "er.ht"; hu: "er.hu"; hv: "er.hv"; hw: "er.hw"; hx: "er.hx"; hy: "er.hy"; hz: "er.hz"; ia: "er.ia"; ib: "er.ib"; ic: "er.ic"; id: "er.id"; ie: "er.ie"; if: "er.if"; ig: "er.ig"; ih: "er.ih"; ii: "er.ii"; ij: "er.ij"; ik: "er.ik"; il: "er.il"; im: "er.im"; in: "er.in"; io: "er.io"; ip: "er.ip"; iq: "er.iq"; ir: "er.ir"; is: "er.is"; it: "er.it"; iu: "er.iu"; iv: "er.iv"; iw: "er.iw"; ix: "er.ix"; iy: "er.iy"; iz: "er.iz"; ja: "er.ja"; jb: "er.jb"; jc: "er.jc"; jd: "er.jd"; je: "er.je"; jf: "er.jf"; jg: "er.jg"; jh: "er.jh"; ji: "er.ji"; jj: "er.jj"; jk: "er.jk"; jl: "er.jl"; jm: "er.jm"; jn: "er.jn"; jo: "er.jo"; jp: "er.jp"; jq: "er.jq"; jr: "er.jr"; js: "er.js"; jt: "er.jt"; ju: "er.ju"; jv: "er.jv"; jw: "er.jw"; jx: "er.jx"; jy: "er.jy"; jz: "er.jz"; ka: "er.ka"; kb: "er.kb"; kc: "er.kc"; kd: "er.kd"; ke: "er.ke"; kf: "er.kf"; kg: "er.kg"; kh: "er.kh"; ki: "er.ki"; kj: "er.kj"; kk: "er.kk"; kl: "er.kl"; km: "er.km"; kn: "er.kn"; ko: "er.ko"; kp: "er.kp"; kq: "er.kq"; kr: "er.kr"; ks: "er.ks"; kt: "er.kt"; ku: "er.ku"; kv: "er.kv"; kw: "er.kw"; kx: "er.kx"; ky: "er.ky"; kz: "er.kz"; la: "er.la"; lb: "er.lb"; lc: "er.lc"; ld: "er.ld"; le: "er.le"; lf: "er.lf"; lg: "er.lg"; lh: "er.lh"; li: "er.li"; lj: "er.lj"; lk: "er.lk"; ll: "er.ll"; lm: "er.lm"; ln: "er.ln"; lo: "er.lo"; lp: "er.lp"; lq: "er.lq"; lr: "er.lr"; ls: "er.ls"; lt: "er.lt"; lu: "er.lu"; lv: "er.lv"; lw: "er.lw"; lx: "er.lx"; ly: "er.ly"; lz: "er.lz"; ma: "er.ma"; mb: "er.mb"; mc: "er.mc"; md: "er.md"; me: "er.me"; mf: "er.mf"; mg: "er.mg"; mh: "er.mh"; mi: "er.mi"; mj: "er.mj"; mk: "er.mk"; ml: "er.ml"; mm: "er.mm"; mn: "er.mn"; mo: "er.mo"; mp: "er.mp"; mq: "er.mq"; mr: "er.mr"; ms: "er.ms"; mt: "er.mt"; mu: "er.mu"; mv: "er.mv"; mw: "er.mw"; mx: "er.mx"; my: "er.my"; mz: "er.mz"; na: "er.na"; nb: "er.nb"; nc: "er.nc"; nd: "er.nd"; ne: "er.ne"; nf: "er.nf"; ng: "er.ng"; nh: "er.nh"; ni: "er.ni"; nj: "er.nj"; nk: "er.nk"; nl: "er.nl"; nm: "er.nm"; nn: "er.nn"; no: "er.no"; np: "er.np"; nq: "er.nq"; nr: "er.nr"; ns: "er.ns"; nt: "er.nt"; nu: "er.nu"; nv: "er.nv"; nw: "er.nw"; nx: "er.nx"; ny: "er.ny"; nz: "er.nz"; oa: "er.oa"; ob: "er.ob"; oc: "er.oc"; od: "er.od"; oe: "er.oe"; of: "er.of"; og: "er.og"; oh: "er.oh"; oi: "er.oi"; oj: "er.oj"; ok: "er.ok"; ol: "er.ol"; om: "er.om"; on: "er.on"; oo: "er.oo"; op: "er.op"; oq: "er.oq"; or: "er.or"; os: "er.os"; ot: "er.ot"; ou: "er.ou"; ov: "er.ov"; ow: "er.ow"; ox: "er.ox"; oy: "er.oy"; oz: "er.oz"; pa: "er.pa"; pb: "er.pb"; pc: "er.pc"; pd: "er.pd"; pe: "er.pe"; pf: "er.pf"; pg: "er.pg"; ph: "er.ph"; pi: "er.pi"; pj: "er.pj"; pk: "er.pk"; pl: "er.pl"; pm: "er.pm"; pn: "er.pn"; po: "er.po"; pp: "er.pp"; pq: "er.pq"; pr: "er.pr"; ps: "er.ps"; pt: "er.pt"; pu: "er.pu"; pv: "er.pv"; pw: "er.pw"; px: "er.px"; py: "er.py"; pz: "er.pz"; qa: "er.qa"; qb: "er.qb"; qc: "er.qc"; qd: "er.qd"; qe: "er.qe"; qf: "er.qf"; qg: "er.qg"; qh: "er.qh"; qi: "er.qi"; qj: "er.qj"; qk: "er.qk"; ql: "er.ql"; qm: "er.qm"; qn: "er.qn"; qo: "er.qo"; qp: "er.qp"; qq: "er.qq"; qr: "er.qr"; qs: "er.qs"; qt: "er.qt"; qu: "er.qu"; qv: "er.qv"; qw: "er.qw"; qx: "er.qx"; qy: "er.qy"; qz: "er.qz"; ra: "er.ra"; rb: "er.rb"; rc: "er.rc"; rd: "er.rd"; re: "er.re"; rf: "er.rf"; rg: "er.rg"; rh: "er.rh"; ri: "er.ri"; rj: "er.rj"; rk: "er.rk"; rl: "er.rl"; rm: "er.rm"; rn: "er.rn"; ro: "er.ro"; rp: "er.rp"; rq: "er.rq"; rr: "er.rr"; rs: "er.rs"; rt: "er.rt"; ru: "er.ru"; rv: "er.rv"; rw: "er.rw"; rx: "er.rx"; ry: "er.ry"; rz: "er.rz"; sa: "er.sa"; sb: "er.sb"; sc: "er.sc"; sd: "er.sd"; se: "er.se"; sf: "er.sf"; sg: "er.sg"; sh: "er.sh"; si: "er.si"; sj: "er.sj"; sk: "er.sk"; sl: "er.sl"; sm: "er.sm"; sn: "er.sn"; so: "er.so"; sp: "er.sp"; sq: "er.sq"; sr: "er.sr"; ss: "er.ss"; st: "er.st"; su: "er.su"; sv: "er.sv"; sw: "er.sw"; sx: "er.sx"; sy: "er.sy"; sz: "er.sz"; ta: "er.ta"; tb: "er.tb"; tc: "er.tc"; td: "er.td"; te: "er.te"; tf: "er.tf"; tg: "er.tg"; th: "er.th"; ti: "er.ti"; tj: "er.tj"; tk: "er.tk"; tl: "er.tl"; tm: "er.tm"; tn: "er.tn"; to: "er.to"; tp: "er.tp"; tq: "er.tq"; tr: "er.tr"; ts: "er.ts"; tt: "er.tt"; tu: "er.tu"; tv: "er.tv"; tw: "er.tw"; tx: "er.tx"; ty: "er.ty"; tz: "er.tz"; ua: "er.ua"; ub: "er.ub"; uc: "er.uc"; ud: "er.ud"; ue: "er.ue"; uf: "er.uf"; ug: "er.ug"; uh: "er.uh"; ui: "er.ui"; uj: "er.uj"; uk: "er.uk"; ul: "er.ul"; um: "er.um"; un: "er.un"; uo: "er.uo"; up: "er.up"; uq: "er.uq"; ur: "er.ur"; us: "er.us"; ut: "er.ut"; uu: "er.uu"; uv: "er.uv"; uw: "er.uw"; ux: "er.ux"; uy: "er.uy"; uz: "er.uz"; va: "er.va"; vb: "er.vb"; vc: "er.vc"; vd: "er.vd"; ve: "er.ve"; vf: "er.vf"; vg: "er.vg"; vh: "er.vh"; vi: "er.vi"; vj: "er.vj"; vk: "er.vk"; vl: "er.vl"; vm: "er.vm"; vn: "er.vn"; vo: "er.vo"; vp: "er.vp"; vq: "er.vq"; vr: "er.vr"; vs: "er.vs"; vt: "er.vt"; vu: "er.vu"; vv: "er.vv"; vw: "er.vw"; vx: "er.vx"; vy: "er.vy"; vz: "er.vz"; wa: "er.wa"; wb: "er.wb"; wc: "er.wc"; wd: "er.wd"; we: "er.we"; wf: "er.wf"; wg: "er.wg"; wh: "er.wh"; wi: "er.wi"; wj: "er.wj"; wk: "er.wk"; wl: "er.wl"; wm: "er.wm"; wn: "er.wn"; wo: "er.wo"; wp: "er.wp"; wq: "er.wq"; wr: "er.wr"; ws: "er.ws"; wt: "er.wt"; wu: "er.wu"; wv: "er.wv"; ww: "er.ww"; wx: "er.wx"; wy: "er.wy"; wz: "er.wz"; xa: "er.xa"; xb: "er.xb"; xc: "er.xc"; xd: "er.xd"; xe: "er.xe"; xf: "er.xf"; xg: "er.xg"; xh: "er.xh"; xi: "er.xi"; xj: "er.xj"; xk: "er.xk"; xl: "er.xl"; xm: "er.xm"; xn: "er.xn"; xo: "er.xo"; xp: "er.xp"; xq: "er.xq"; xr: "er.xr"; xs: "er.xs"; xt: "er.xt"; xu: "er.xu"; xv: "er.xv"; xw: "er.xw"; xx: "er.xx"; xy: "er.xy"; xz: "er.xz"; ya: "er.ya"; yb: "er.yb"; yc: "er.yc"; yd: "er.yd"; ye: "er.ye"; yf: "er.yf"; yg: "er.yg"; yh: "er.yh"; yi: "er.yi"; yj: "er.yj"; yk: "er.yk"; yl: "er.yl"; ym: "er.ym"; yn: "er.yn"; yo: "er.yo"; yp: "er.yp"; yq: "er.yq"; yr: "er.yr"; ys: "er.ys"; yt: "er.yt"; yu: "er.yu"; yv: "er.yv"; yw: "er.yw"; yx: "er.yx"; yy: "er.yy"; yz: "er.yz"; za: "er.za"; zb: "er.zb"; zc: "er.zc"; zd: "er.zd"; ze: "er.ze"; zf: "er.zf"; zg: "er.zg"; zh: "er.zh"; zi: "er.zi"; zj: "er.zj"; zk: "er.zk"; zl: "er.zl"; zm: "er.zm"; zn: "er.zn"; zo: "er.zo"; zp: "er.zp"; zq: "er.zq"; zr: "er.zr"; zs: "er.zs"; zt: "er.zt"; zu: "er.zu"; zv: "er.zv"; zw: "er.zw"; zx: "er.zx"; zy: "er.zy"; zz: "er.zz"; }; es: { aa: "es.aa"; ab: "es.ab"; ac: "es.ac"; ad: "es.ad"; ae: "es.ae"; af: "es.af"; ag: "es.ag"; ah: "es.ah"; ai: "es.ai"; aj: "es.aj"; ak: "es.ak"; al: "es.al"; am: "es.am"; an: "es.an"; ao: "es.ao"; ap: "es.ap"; aq: "es.aq"; ar: "es.ar"; as: "es.as"; at: "es.at"; au: "es.au"; av: "es.av"; aw: "es.aw"; ax: "es.ax"; ay: "es.ay"; az: "es.az"; ba: "es.ba"; bb: "es.bb"; bc: "es.bc"; bd: "es.bd"; be: "es.be"; bf: "es.bf"; bg: "es.bg"; bh: "es.bh"; bi: "es.bi"; bj: "es.bj"; bk: "es.bk"; bl: "es.bl"; bm: "es.bm"; bn: "es.bn"; bo: "es.bo"; bp: "es.bp"; bq: "es.bq"; br: "es.br"; bs: "es.bs"; bt: "es.bt"; bu: "es.bu"; bv: "es.bv"; bw: "es.bw"; bx: "es.bx"; by: "es.by"; bz: "es.bz"; ca: "es.ca"; cb: "es.cb"; cc: "es.cc"; cd: "es.cd"; ce: "es.ce"; cf: "es.cf"; cg: "es.cg"; ch: "es.ch"; ci: "es.ci"; cj: "es.cj"; ck: "es.ck"; cl: "es.cl"; cm: "es.cm"; cn: "es.cn"; co: "es.co"; cp: "es.cp"; cq: "es.cq"; cr: "es.cr"; cs: "es.cs"; ct: "es.ct"; cu: "es.cu"; cv: "es.cv"; cw: "es.cw"; cx: "es.cx"; cy: "es.cy"; cz: "es.cz"; da: "es.da"; db: "es.db"; dc: "es.dc"; dd: "es.dd"; de: "es.de"; df: "es.df"; dg: "es.dg"; dh: "es.dh"; di: "es.di"; dj: "es.dj"; dk: "es.dk"; dl: "es.dl"; dm: "es.dm"; dn: "es.dn"; do: "es.do"; dp: "es.dp"; dq: "es.dq"; dr: "es.dr"; ds: "es.ds"; dt: "es.dt"; du: "es.du"; dv: "es.dv"; dw: "es.dw"; dx: "es.dx"; dy: "es.dy"; dz: "es.dz"; ea: "es.ea"; eb: "es.eb"; ec: "es.ec"; ed: "es.ed"; ee: "es.ee"; ef: "es.ef"; eg: "es.eg"; eh: "es.eh"; ei: "es.ei"; ej: "es.ej"; ek: "es.ek"; el: "es.el"; em: "es.em"; en: "es.en"; eo: "es.eo"; ep: "es.ep"; eq: "es.eq"; er: "es.er"; es: "es.es"; et: "es.et"; eu: "es.eu"; ev: "es.ev"; ew: "es.ew"; ex: "es.ex"; ey: "es.ey"; ez: "es.ez"; fa: "es.fa"; fb: "es.fb"; fc: "es.fc"; fd: "es.fd"; fe: "es.fe"; ff: "es.ff"; fg: "es.fg"; fh: "es.fh"; fi: "es.fi"; fj: "es.fj"; fk: "es.fk"; fl: "es.fl"; fm: "es.fm"; fn: "es.fn"; fo: "es.fo"; fp: "es.fp"; fq: "es.fq"; fr: "es.fr"; fs: "es.fs"; ft: "es.ft"; fu: "es.fu"; fv: "es.fv"; fw: "es.fw"; fx: "es.fx"; fy: "es.fy"; fz: "es.fz"; ga: "es.ga"; gb: "es.gb"; gc: "es.gc"; gd: "es.gd"; ge: "es.ge"; gf: "es.gf"; gg: "es.gg"; gh: "es.gh"; gi: "es.gi"; gj: "es.gj"; gk: "es.gk"; gl: "es.gl"; gm: "es.gm"; gn: "es.gn"; go: "es.go"; gp: "es.gp"; gq: "es.gq"; gr: "es.gr"; gs: "es.gs"; gt: "es.gt"; gu: "es.gu"; gv: "es.gv"; gw: "es.gw"; gx: "es.gx"; gy: "es.gy"; gz: "es.gz"; ha: "es.ha"; hb: "es.hb"; hc: "es.hc"; hd: "es.hd"; he: "es.he"; hf: "es.hf"; hg: "es.hg"; hh: "es.hh"; hi: "es.hi"; hj: "es.hj"; hk: "es.hk"; hl: "es.hl"; hm: "es.hm"; hn: "es.hn"; ho: "es.ho"; hp: "es.hp"; hq: "es.hq"; hr: "es.hr"; hs: "es.hs"; ht: "es.ht"; hu: "es.hu"; hv: "es.hv"; hw: "es.hw"; hx: "es.hx"; hy: "es.hy"; hz: "es.hz"; ia: "es.ia"; ib: "es.ib"; ic: "es.ic"; id: "es.id"; ie: "es.ie"; if: "es.if"; ig: "es.ig"; ih: "es.ih"; ii: "es.ii"; ij: "es.ij"; ik: "es.ik"; il: "es.il"; im: "es.im"; in: "es.in"; io: "es.io"; ip: "es.ip"; iq: "es.iq"; ir: "es.ir"; is: "es.is"; it: "es.it"; iu: "es.iu"; iv: "es.iv"; iw: "es.iw"; ix: "es.ix"; iy: "es.iy"; iz: "es.iz"; ja: "es.ja"; jb: "es.jb"; jc: "es.jc"; jd: "es.jd"; je: "es.je"; jf: "es.jf"; jg: "es.jg"; jh: "es.jh"; ji: "es.ji"; jj: "es.jj"; jk: "es.jk"; jl: "es.jl"; jm: "es.jm"; jn: "es.jn"; jo: "es.jo"; jp: "es.jp"; jq: "es.jq"; jr: "es.jr"; js: "es.js"; jt: "es.jt"; ju: "es.ju"; jv: "es.jv"; jw: "es.jw"; jx: "es.jx"; jy: "es.jy"; jz: "es.jz"; ka: "es.ka"; kb: "es.kb"; kc: "es.kc"; kd: "es.kd"; ke: "es.ke"; kf: "es.kf"; kg: "es.kg"; kh: "es.kh"; ki: "es.ki"; kj: "es.kj"; kk: "es.kk"; kl: "es.kl"; km: "es.km"; kn: "es.kn"; ko: "es.ko"; kp: "es.kp"; kq: "es.kq"; kr: "es.kr"; ks: "es.ks"; kt: "es.kt"; ku: "es.ku"; kv: "es.kv"; kw: "es.kw"; kx: "es.kx"; ky: "es.ky"; kz: "es.kz"; la: "es.la"; lb: "es.lb"; lc: "es.lc"; ld: "es.ld"; le: "es.le"; lf: "es.lf"; lg: "es.lg"; lh: "es.lh"; li: "es.li"; lj: "es.lj"; lk: "es.lk"; ll: "es.ll"; lm: "es.lm"; ln: "es.ln"; lo: "es.lo"; lp: "es.lp"; lq: "es.lq"; lr: "es.lr"; ls: "es.ls"; lt: "es.lt"; lu: "es.lu"; lv: "es.lv"; lw: "es.lw"; lx: "es.lx"; ly: "es.ly"; lz: "es.lz"; ma: "es.ma"; mb: "es.mb"; mc: "es.mc"; md: "es.md"; me: "es.me"; mf: "es.mf"; mg: "es.mg"; mh: "es.mh"; mi: "es.mi"; mj: "es.mj"; mk: "es.mk"; ml: "es.ml"; mm: "es.mm"; mn: "es.mn"; mo: "es.mo"; mp: "es.mp"; mq: "es.mq"; mr: "es.mr"; ms: "es.ms"; mt: "es.mt"; mu: "es.mu"; mv: "es.mv"; mw: "es.mw"; mx: "es.mx"; my: "es.my"; mz: "es.mz"; na: "es.na"; nb: "es.nb"; nc: "es.nc"; nd: "es.nd"; ne: "es.ne"; nf: "es.nf"; ng: "es.ng"; nh: "es.nh"; ni: "es.ni"; nj: "es.nj"; nk: "es.nk"; nl: "es.nl"; nm: "es.nm"; nn: "es.nn"; no: "es.no"; np: "es.np"; nq: "es.nq"; nr: "es.nr"; ns: "es.ns"; nt: "es.nt"; nu: "es.nu"; nv: "es.nv"; nw: "es.nw"; nx: "es.nx"; ny: "es.ny"; nz: "es.nz"; oa: "es.oa"; ob: "es.ob"; oc: "es.oc"; od: "es.od"; oe: "es.oe"; of: "es.of"; og: "es.og"; oh: "es.oh"; oi: "es.oi"; oj: "es.oj"; ok: "es.ok"; ol: "es.ol"; om: "es.om"; on: "es.on"; oo: "es.oo"; op: "es.op"; oq: "es.oq"; or: "es.or"; os: "es.os"; ot: "es.ot"; ou: "es.ou"; ov: "es.ov"; ow: "es.ow"; ox: "es.ox"; oy: "es.oy"; oz: "es.oz"; pa: "es.pa"; pb: "es.pb"; pc: "es.pc"; pd: "es.pd"; pe: "es.pe"; pf: "es.pf"; pg: "es.pg"; ph: "es.ph"; pi: "es.pi"; pj: "es.pj"; pk: "es.pk"; pl: "es.pl"; pm: "es.pm"; pn: "es.pn"; po: "es.po"; pp: "es.pp"; pq: "es.pq"; pr: "es.pr"; ps: "es.ps"; pt: "es.pt"; pu: "es.pu"; pv: "es.pv"; pw: "es.pw"; px: "es.px"; py: "es.py"; pz: "es.pz"; qa: "es.qa"; qb: "es.qb"; qc: "es.qc"; qd: "es.qd"; qe: "es.qe"; qf: "es.qf"; qg: "es.qg"; qh: "es.qh"; qi: "es.qi"; qj: "es.qj"; qk: "es.qk"; ql: "es.ql"; qm: "es.qm"; qn: "es.qn"; qo: "es.qo"; qp: "es.qp"; qq: "es.qq"; qr: "es.qr"; qs: "es.qs"; qt: "es.qt"; qu: "es.qu"; qv: "es.qv"; qw: "es.qw"; qx: "es.qx"; qy: "es.qy"; qz: "es.qz"; ra: "es.ra"; rb: "es.rb"; rc: "es.rc"; rd: "es.rd"; re: "es.re"; rf: "es.rf"; rg: "es.rg"; rh: "es.rh"; ri: "es.ri"; rj: "es.rj"; rk: "es.rk"; rl: "es.rl"; rm: "es.rm"; rn: "es.rn"; ro: "es.ro"; rp: "es.rp"; rq: "es.rq"; rr: "es.rr"; rs: "es.rs"; rt: "es.rt"; ru: "es.ru"; rv: "es.rv"; rw: "es.rw"; rx: "es.rx"; ry: "es.ry"; rz: "es.rz"; sa: "es.sa"; sb: "es.sb"; sc: "es.sc"; sd: "es.sd"; se: "es.se"; sf: "es.sf"; sg: "es.sg"; sh: "es.sh"; si: "es.si"; sj: "es.sj"; sk: "es.sk"; sl: "es.sl"; sm: "es.sm"; sn: "es.sn"; so: "es.so"; sp: "es.sp"; sq: "es.sq"; sr: "es.sr"; ss: "es.ss"; st: "es.st"; su: "es.su"; sv: "es.sv"; sw: "es.sw"; sx: "es.sx"; sy: "es.sy"; sz: "es.sz"; ta: "es.ta"; tb: "es.tb"; tc: "es.tc"; td: "es.td"; te: "es.te"; tf: "es.tf"; tg: "es.tg"; th: "es.th"; ti: "es.ti"; tj: "es.tj"; tk: "es.tk"; tl: "es.tl"; tm: "es.tm"; tn: "es.tn"; to: "es.to"; tp: "es.tp"; tq: "es.tq"; tr: "es.tr"; ts: "es.ts"; tt: "es.tt"; tu: "es.tu"; tv: "es.tv"; tw: "es.tw"; tx: "es.tx"; ty: "es.ty"; tz: "es.tz"; ua: "es.ua"; ub: "es.ub"; uc: "es.uc"; ud: "es.ud"; ue: "es.ue"; uf: "es.uf"; ug: "es.ug"; uh: "es.uh"; ui: "es.ui"; uj: "es.uj"; uk: "es.uk"; ul: "es.ul"; um: "es.um"; un: "es.un"; uo: "es.uo"; up: "es.up"; uq: "es.uq"; ur: "es.ur"; us: "es.us"; ut: "es.ut"; uu: "es.uu"; uv: "es.uv"; uw: "es.uw"; ux: "es.ux"; uy: "es.uy"; uz: "es.uz"; va: "es.va"; vb: "es.vb"; vc: "es.vc"; vd: "es.vd"; ve: "es.ve"; vf: "es.vf"; vg: "es.vg"; vh: "es.vh"; vi: "es.vi"; vj: "es.vj"; vk: "es.vk"; vl: "es.vl"; vm: "es.vm"; vn: "es.vn"; vo: "es.vo"; vp: "es.vp"; vq: "es.vq"; vr: "es.vr"; vs: "es.vs"; vt: "es.vt"; vu: "es.vu"; vv: "es.vv"; vw: "es.vw"; vx: "es.vx"; vy: "es.vy"; vz: "es.vz"; wa: "es.wa"; wb: "es.wb"; wc: "es.wc"; wd: "es.wd"; we: "es.we"; wf: "es.wf"; wg: "es.wg"; wh: "es.wh"; wi: "es.wi"; wj: "es.wj"; wk: "es.wk"; wl: "es.wl"; wm: "es.wm"; wn: "es.wn"; wo: "es.wo"; wp: "es.wp"; wq: "es.wq"; wr: "es.wr"; ws: "es.ws"; wt: "es.wt"; wu: "es.wu"; wv: "es.wv"; ww: "es.ww"; wx: "es.wx"; wy: "es.wy"; wz: "es.wz"; xa: "es.xa"; xb: "es.xb"; xc: "es.xc"; xd: "es.xd"; xe: "es.xe"; xf: "es.xf"; xg: "es.xg"; xh: "es.xh"; xi: "es.xi"; xj: "es.xj"; xk: "es.xk"; xl: "es.xl"; xm: "es.xm"; xn: "es.xn"; xo: "es.xo"; xp: "es.xp"; xq: "es.xq"; xr: "es.xr"; xs: "es.xs"; xt: "es.xt"; xu: "es.xu"; xv: "es.xv"; xw: "es.xw"; xx: "es.xx"; xy: "es.xy"; xz: "es.xz"; ya: "es.ya"; yb: "es.yb"; yc: "es.yc"; yd: "es.yd"; ye: "es.ye"; yf: "es.yf"; yg: "es.yg"; yh: "es.yh"; yi: "es.yi"; yj: "es.yj"; yk: "es.yk"; yl: "es.yl"; ym: "es.ym"; yn: "es.yn"; yo: "es.yo"; yp: "es.yp"; yq: "es.yq"; yr: "es.yr"; ys: "es.ys"; yt: "es.yt"; yu: "es.yu"; yv: "es.yv"; yw: "es.yw"; yx: "es.yx"; yy: "es.yy"; yz: "es.yz"; za: "es.za"; zb: "es.zb"; zc: "es.zc"; zd: "es.zd"; ze: "es.ze"; zf: "es.zf"; zg: "es.zg"; zh: "es.zh"; zi: "es.zi"; zj: "es.zj"; zk: "es.zk"; zl: "es.zl"; zm: "es.zm"; zn: "es.zn"; zo: "es.zo"; zp: "es.zp"; zq: "es.zq"; zr: "es.zr"; zs: "es.zs"; zt: "es.zt"; zu: "es.zu"; zv: "es.zv"; zw: "es.zw"; zx: "es.zx"; zy: "es.zy"; zz: "es.zz"; }; et: { aa: "et.aa"; ab: "et.ab"; ac: "et.ac"; ad: "et.ad"; ae: "et.ae"; af: "et.af"; ag: "et.ag"; ah: "et.ah"; ai: "et.ai"; aj: "et.aj"; ak: "et.ak"; al: "et.al"; am: "et.am"; an: "et.an"; ao: "et.ao"; ap: "et.ap"; aq: "et.aq"; ar: "et.ar"; as: "et.as"; at: "et.at"; au: "et.au"; av: "et.av"; aw: "et.aw"; ax: "et.ax"; ay: "et.ay"; az: "et.az"; ba: "et.ba"; bb: "et.bb"; bc: "et.bc"; bd: "et.bd"; be: "et.be"; bf: "et.bf"; bg: "et.bg"; bh: "et.bh"; bi: "et.bi"; bj: "et.bj"; bk: "et.bk"; bl: "et.bl"; bm: "et.bm"; bn: "et.bn"; bo: "et.bo"; bp: "et.bp"; bq: "et.bq"; br: "et.br"; bs: "et.bs"; bt: "et.bt"; bu: "et.bu"; bv: "et.bv"; bw: "et.bw"; bx: "et.bx"; by: "et.by"; bz: "et.bz"; ca: "et.ca"; cb: "et.cb"; cc: "et.cc"; cd: "et.cd"; ce: "et.ce"; cf: "et.cf"; cg: "et.cg"; ch: "et.ch"; ci: "et.ci"; cj: "et.cj"; ck: "et.ck"; cl: "et.cl"; cm: "et.cm"; cn: "et.cn"; co: "et.co"; cp: "et.cp"; cq: "et.cq"; cr: "et.cr"; cs: "et.cs"; ct: "et.ct"; cu: "et.cu"; cv: "et.cv"; cw: "et.cw"; cx: "et.cx"; cy: "et.cy"; cz: "et.cz"; da: "et.da"; db: "et.db"; dc: "et.dc"; dd: "et.dd"; de: "et.de"; df: "et.df"; dg: "et.dg"; dh: "et.dh"; di: "et.di"; dj: "et.dj"; dk: "et.dk"; dl: "et.dl"; dm: "et.dm"; dn: "et.dn"; do: "et.do"; dp: "et.dp"; dq: "et.dq"; dr: "et.dr"; ds: "et.ds"; dt: "et.dt"; du: "et.du"; dv: "et.dv"; dw: "et.dw"; dx: "et.dx"; dy: "et.dy"; dz: "et.dz"; ea: "et.ea"; eb: "et.eb"; ec: "et.ec"; ed: "et.ed"; ee: "et.ee"; ef: "et.ef"; eg: "et.eg"; eh: "et.eh"; ei: "et.ei"; ej: "et.ej"; ek: "et.ek"; el: "et.el"; em: "et.em"; en: "et.en"; eo: "et.eo"; ep: "et.ep"; eq: "et.eq"; er: "et.er"; es: "et.es"; et: "et.et"; eu: "et.eu"; ev: "et.ev"; ew: "et.ew"; ex: "et.ex"; ey: "et.ey"; ez: "et.ez"; fa: "et.fa"; fb: "et.fb"; fc: "et.fc"; fd: "et.fd"; fe: "et.fe"; ff: "et.ff"; fg: "et.fg"; fh: "et.fh"; fi: "et.fi"; fj: "et.fj"; fk: "et.fk"; fl: "et.fl"; fm: "et.fm"; fn: "et.fn"; fo: "et.fo"; fp: "et.fp"; fq: "et.fq"; fr: "et.fr"; fs: "et.fs"; ft: "et.ft"; fu: "et.fu"; fv: "et.fv"; fw: "et.fw"; fx: "et.fx"; fy: "et.fy"; fz: "et.fz"; ga: "et.ga"; gb: "et.gb"; gc: "et.gc"; gd: "et.gd"; ge: "et.ge"; gf: "et.gf"; gg: "et.gg"; gh: "et.gh"; gi: "et.gi"; gj: "et.gj"; gk: "et.gk"; gl: "et.gl"; gm: "et.gm"; gn: "et.gn"; go: "et.go"; gp: "et.gp"; gq: "et.gq"; gr: "et.gr"; gs: "et.gs"; gt: "et.gt"; gu: "et.gu"; gv: "et.gv"; gw: "et.gw"; gx: "et.gx"; gy: "et.gy"; gz: "et.gz"; ha: "et.ha"; hb: "et.hb"; hc: "et.hc"; hd: "et.hd"; he: "et.he"; hf: "et.hf"; hg: "et.hg"; hh: "et.hh"; hi: "et.hi"; hj: "et.hj"; hk: "et.hk"; hl: "et.hl"; hm: "et.hm"; hn: "et.hn"; ho: "et.ho"; hp: "et.hp"; hq: "et.hq"; hr: "et.hr"; hs: "et.hs"; ht: "et.ht"; hu: "et.hu"; hv: "et.hv"; hw: "et.hw"; hx: "et.hx"; hy: "et.hy"; hz: "et.hz"; ia: "et.ia"; ib: "et.ib"; ic: "et.ic"; id: "et.id"; ie: "et.ie"; if: "et.if"; ig: "et.ig"; ih: "et.ih"; ii: "et.ii"; ij: "et.ij"; ik: "et.ik"; il: "et.il"; im: "et.im"; in: "et.in"; io: "et.io"; ip: "et.ip"; iq: "et.iq"; ir: "et.ir"; is: "et.is"; it: "et.it"; iu: "et.iu"; iv: "et.iv"; iw: "et.iw"; ix: "et.ix"; iy: "et.iy"; iz: "et.iz"; ja: "et.ja"; jb: "et.jb"; jc: "et.jc"; jd: "et.jd"; je: "et.je"; jf: "et.jf"; jg: "et.jg"; jh: "et.jh"; ji: "et.ji"; jj: "et.jj"; jk: "et.jk"; jl: "et.jl"; jm: "et.jm"; jn: "et.jn"; jo: "et.jo"; jp: "et.jp"; jq: "et.jq"; jr: "et.jr"; js: "et.js"; jt: "et.jt"; ju: "et.ju"; jv: "et.jv"; jw: "et.jw"; jx: "et.jx"; jy: "et.jy"; jz: "et.jz"; ka: "et.ka"; kb: "et.kb"; kc: "et.kc"; kd: "et.kd"; ke: "et.ke"; kf: "et.kf"; kg: "et.kg"; kh: "et.kh"; ki: "et.ki"; kj: "et.kj"; kk: "et.kk"; kl: "et.kl"; km: "et.km"; kn: "et.kn"; ko: "et.ko"; kp: "et.kp"; kq: "et.kq"; kr: "et.kr"; ks: "et.ks"; kt: "et.kt"; ku: "et.ku"; kv: "et.kv"; kw: "et.kw"; kx: "et.kx"; ky: "et.ky"; kz: "et.kz"; la: "et.la"; lb: "et.lb"; lc: "et.lc"; ld: "et.ld"; le: "et.le"; lf: "et.lf"; lg: "et.lg"; lh: "et.lh"; li: "et.li"; lj: "et.lj"; lk: "et.lk"; ll: "et.ll"; lm: "et.lm"; ln: "et.ln"; lo: "et.lo"; lp: "et.lp"; lq: "et.lq"; lr: "et.lr"; ls: "et.ls"; lt: "et.lt"; lu: "et.lu"; lv: "et.lv"; lw: "et.lw"; lx: "et.lx"; ly: "et.ly"; lz: "et.lz"; ma: "et.ma"; mb: "et.mb"; mc: "et.mc"; md: "et.md"; me: "et.me"; mf: "et.mf"; mg: "et.mg"; mh: "et.mh"; mi: "et.mi"; mj: "et.mj"; mk: "et.mk"; ml: "et.ml"; mm: "et.mm"; mn: "et.mn"; mo: "et.mo"; mp: "et.mp"; mq: "et.mq"; mr: "et.mr"; ms: "et.ms"; mt: "et.mt"; mu: "et.mu"; mv: "et.mv"; mw: "et.mw"; mx: "et.mx"; my: "et.my"; mz: "et.mz"; na: "et.na"; nb: "et.nb"; nc: "et.nc"; nd: "et.nd"; ne: "et.ne"; nf: "et.nf"; ng: "et.ng"; nh: "et.nh"; ni: "et.ni"; nj: "et.nj"; nk: "et.nk"; nl: "et.nl"; nm: "et.nm"; nn: "et.nn"; no: "et.no"; np: "et.np"; nq: "et.nq"; nr: "et.nr"; ns: "et.ns"; nt: "et.nt"; nu: "et.nu"; nv: "et.nv"; nw: "et.nw"; nx: "et.nx"; ny: "et.ny"; nz: "et.nz"; oa: "et.oa"; ob: "et.ob"; oc: "et.oc"; od: "et.od"; oe: "et.oe"; of: "et.of"; og: "et.og"; oh: "et.oh"; oi: "et.oi"; oj: "et.oj"; ok: "et.ok"; ol: "et.ol"; om: "et.om"; on: "et.on"; oo: "et.oo"; op: "et.op"; oq: "et.oq"; or: "et.or"; os: "et.os"; ot: "et.ot"; ou: "et.ou"; ov: "et.ov"; ow: "et.ow"; ox: "et.ox"; oy: "et.oy"; oz: "et.oz"; pa: "et.pa"; pb: "et.pb"; pc: "et.pc"; pd: "et.pd"; pe: "et.pe"; pf: "et.pf"; pg: "et.pg"; ph: "et.ph"; pi: "et.pi"; pj: "et.pj"; pk: "et.pk"; pl: "et.pl"; pm: "et.pm"; pn: "et.pn"; po: "et.po"; pp: "et.pp"; pq: "et.pq"; pr: "et.pr"; ps: "et.ps"; pt: "et.pt"; pu: "et.pu"; pv: "et.pv"; pw: "et.pw"; px: "et.px"; py: "et.py"; pz: "et.pz"; qa: "et.qa"; qb: "et.qb"; qc: "et.qc"; qd: "et.qd"; qe: "et.qe"; qf: "et.qf"; qg: "et.qg"; qh: "et.qh"; qi: "et.qi"; qj: "et.qj"; qk: "et.qk"; ql: "et.ql"; qm: "et.qm"; qn: "et.qn"; qo: "et.qo"; qp: "et.qp"; qq: "et.qq"; qr: "et.qr"; qs: "et.qs"; qt: "et.qt"; qu: "et.qu"; qv: "et.qv"; qw: "et.qw"; qx: "et.qx"; qy: "et.qy"; qz: "et.qz"; ra: "et.ra"; rb: "et.rb"; rc: "et.rc"; rd: "et.rd"; re: "et.re"; rf: "et.rf"; rg: "et.rg"; rh: "et.rh"; ri: "et.ri"; rj: "et.rj"; rk: "et.rk"; rl: "et.rl"; rm: "et.rm"; rn: "et.rn"; ro: "et.ro"; rp: "et.rp"; rq: "et.rq"; rr: "et.rr"; rs: "et.rs"; rt: "et.rt"; ru: "et.ru"; rv: "et.rv"; rw: "et.rw"; rx: "et.rx"; ry: "et.ry"; rz: "et.rz"; sa: "et.sa"; sb: "et.sb"; sc: "et.sc"; sd: "et.sd"; se: "et.se"; sf: "et.sf"; sg: "et.sg"; sh: "et.sh"; si: "et.si"; sj: "et.sj"; sk: "et.sk"; sl: "et.sl"; sm: "et.sm"; sn: "et.sn"; so: "et.so"; sp: "et.sp"; sq: "et.sq"; sr: "et.sr"; ss: "et.ss"; st: "et.st"; su: "et.su"; sv: "et.sv"; sw: "et.sw"; sx: "et.sx"; sy: "et.sy"; sz: "et.sz"; ta: "et.ta"; tb: "et.tb"; tc: "et.tc"; td: "et.td"; te: "et.te"; tf: "et.tf"; tg: "et.tg"; th: "et.th"; ti: "et.ti"; tj: "et.tj"; tk: "et.tk"; tl: "et.tl"; tm: "et.tm"; tn: "et.tn"; to: "et.to"; tp: "et.tp"; tq: "et.tq"; tr: "et.tr"; ts: "et.ts"; tt: "et.tt"; tu: "et.tu"; tv: "et.tv"; tw: "et.tw"; tx: "et.tx"; ty: "et.ty"; tz: "et.tz"; ua: "et.ua"; ub: "et.ub"; uc: "et.uc"; ud: "et.ud"; ue: "et.ue"; uf: "et.uf"; ug: "et.ug"; uh: "et.uh"; ui: "et.ui"; uj: "et.uj"; uk: "et.uk"; ul: "et.ul"; um: "et.um"; un: "et.un"; uo: "et.uo"; up: "et.up"; uq: "et.uq"; ur: "et.ur"; us: "et.us"; ut: "et.ut"; uu: "et.uu"; uv: "et.uv"; uw: "et.uw"; ux: "et.ux"; uy: "et.uy"; uz: "et.uz"; va: "et.va"; vb: "et.vb"; vc: "et.vc"; vd: "et.vd"; ve: "et.ve"; vf: "et.vf"; vg: "et.vg"; vh: "et.vh"; vi: "et.vi"; vj: "et.vj"; vk: "et.vk"; vl: "et.vl"; vm: "et.vm"; vn: "et.vn"; vo: "et.vo"; vp: "et.vp"; vq: "et.vq"; vr: "et.vr"; vs: "et.vs"; vt: "et.vt"; vu: "et.vu"; vv: "et.vv"; vw: "et.vw"; vx: "et.vx"; vy: "et.vy"; vz: "et.vz"; wa: "et.wa"; wb: "et.wb"; wc: "et.wc"; wd: "et.wd"; we: "et.we"; wf: "et.wf"; wg: "et.wg"; wh: "et.wh"; wi: "et.wi"; wj: "et.wj"; wk: "et.wk"; wl: "et.wl"; wm: "et.wm"; wn: "et.wn"; wo: "et.wo"; wp: "et.wp"; wq: "et.wq"; wr: "et.wr"; ws: "et.ws"; wt: "et.wt"; wu: "et.wu"; wv: "et.wv"; ww: "et.ww"; wx: "et.wx"; wy: "et.wy"; wz: "et.wz"; xa: "et.xa"; xb: "et.xb"; xc: "et.xc"; xd: "et.xd"; xe: "et.xe"; xf: "et.xf"; xg: "et.xg"; xh: "et.xh"; xi: "et.xi"; xj: "et.xj"; xk: "et.xk"; xl: "et.xl"; xm: "et.xm"; xn: "et.xn"; xo: "et.xo"; xp: "et.xp"; xq: "et.xq"; xr: "et.xr"; xs: "et.xs"; xt: "et.xt"; xu: "et.xu"; xv: "et.xv"; xw: "et.xw"; xx: "et.xx"; xy: "et.xy"; xz: "et.xz"; ya: "et.ya"; yb: "et.yb"; yc: "et.yc"; yd: "et.yd"; ye: "et.ye"; yf: "et.yf"; yg: "et.yg"; yh: "et.yh"; yi: "et.yi"; yj: "et.yj"; yk: "et.yk"; yl: "et.yl"; ym: "et.ym"; yn: "et.yn"; yo: "et.yo"; yp: "et.yp"; yq: "et.yq"; yr: "et.yr"; ys: "et.ys"; yt: "et.yt"; yu: "et.yu"; yv: "et.yv"; yw: "et.yw"; yx: "et.yx"; yy: "et.yy"; yz: "et.yz"; za: "et.za"; zb: "et.zb"; zc: "et.zc"; zd: "et.zd"; ze: "et.ze"; zf: "et.zf"; zg: "et.zg"; zh: "et.zh"; zi: "et.zi"; zj: "et.zj"; zk: "et.zk"; zl: "et.zl"; zm: "et.zm"; zn: "et.zn"; zo: "et.zo"; zp: "et.zp"; zq: "et.zq"; zr: "et.zr"; zs: "et.zs"; zt: "et.zt"; zu: "et.zu"; zv: "et.zv"; zw: "et.zw"; zx: "et.zx"; zy: "et.zy"; zz: "et.zz"; }; eu: { aa: "eu.aa"; ab: "eu.ab"; ac: "eu.ac"; ad: "eu.ad"; ae: "eu.ae"; af: "eu.af"; ag: "eu.ag"; ah: "eu.ah"; ai: "eu.ai"; aj: "eu.aj"; ak: "eu.ak"; al: "eu.al"; am: "eu.am"; an: "eu.an"; ao: "eu.ao"; ap: "eu.ap"; aq: "eu.aq"; ar: "eu.ar"; as: "eu.as"; at: "eu.at"; au: "eu.au"; av: "eu.av"; aw: "eu.aw"; ax: "eu.ax"; ay: "eu.ay"; az: "eu.az"; ba: "eu.ba"; bb: "eu.bb"; bc: "eu.bc"; bd: "eu.bd"; be: "eu.be"; bf: "eu.bf"; bg: "eu.bg"; bh: "eu.bh"; bi: "eu.bi"; bj: "eu.bj"; bk: "eu.bk"; bl: "eu.bl"; bm: "eu.bm"; bn: "eu.bn"; bo: "eu.bo"; bp: "eu.bp"; bq: "eu.bq"; br: "eu.br"; bs: "eu.bs"; bt: "eu.bt"; bu: "eu.bu"; bv: "eu.bv"; bw: "eu.bw"; bx: "eu.bx"; by: "eu.by"; bz: "eu.bz"; ca: "eu.ca"; cb: "eu.cb"; cc: "eu.cc"; cd: "eu.cd"; ce: "eu.ce"; cf: "eu.cf"; cg: "eu.cg"; ch: "eu.ch"; ci: "eu.ci"; cj: "eu.cj"; ck: "eu.ck"; cl: "eu.cl"; cm: "eu.cm"; cn: "eu.cn"; co: "eu.co"; cp: "eu.cp"; cq: "eu.cq"; cr: "eu.cr"; cs: "eu.cs"; ct: "eu.ct"; cu: "eu.cu"; cv: "eu.cv"; cw: "eu.cw"; cx: "eu.cx"; cy: "eu.cy"; cz: "eu.cz"; da: "eu.da"; db: "eu.db"; dc: "eu.dc"; dd: "eu.dd"; de: "eu.de"; df: "eu.df"; dg: "eu.dg"; dh: "eu.dh"; di: "eu.di"; dj: "eu.dj"; dk: "eu.dk"; dl: "eu.dl"; dm: "eu.dm"; dn: "eu.dn"; do: "eu.do"; dp: "eu.dp"; dq: "eu.dq"; dr: "eu.dr"; ds: "eu.ds"; dt: "eu.dt"; du: "eu.du"; dv: "eu.dv"; dw: "eu.dw"; dx: "eu.dx"; dy: "eu.dy"; dz: "eu.dz"; ea: "eu.ea"; eb: "eu.eb"; ec: "eu.ec"; ed: "eu.ed"; ee: "eu.ee"; ef: "eu.ef"; eg: "eu.eg"; eh: "eu.eh"; ei: "eu.ei"; ej: "eu.ej"; ek: "eu.ek"; el: "eu.el"; em: "eu.em"; en: "eu.en"; eo: "eu.eo"; ep: "eu.ep"; eq: "eu.eq"; er: "eu.er"; es: "eu.es"; et: "eu.et"; eu: "eu.eu"; ev: "eu.ev"; ew: "eu.ew"; ex: "eu.ex"; ey: "eu.ey"; ez: "eu.ez"; fa: "eu.fa"; fb: "eu.fb"; fc: "eu.fc"; fd: "eu.fd"; fe: "eu.fe"; ff: "eu.ff"; fg: "eu.fg"; fh: "eu.fh"; fi: "eu.fi"; fj: "eu.fj"; fk: "eu.fk"; fl: "eu.fl"; fm: "eu.fm"; fn: "eu.fn"; fo: "eu.fo"; fp: "eu.fp"; fq: "eu.fq"; fr: "eu.fr"; fs: "eu.fs"; ft: "eu.ft"; fu: "eu.fu"; fv: "eu.fv"; fw: "eu.fw"; fx: "eu.fx"; fy: "eu.fy"; fz: "eu.fz"; ga: "eu.ga"; gb: "eu.gb"; gc: "eu.gc"; gd: "eu.gd"; ge: "eu.ge"; gf: "eu.gf"; gg: "eu.gg"; gh: "eu.gh"; gi: "eu.gi"; gj: "eu.gj"; gk: "eu.gk"; gl: "eu.gl"; gm: "eu.gm"; gn: "eu.gn"; go: "eu.go"; gp: "eu.gp"; gq: "eu.gq"; gr: "eu.gr"; gs: "eu.gs"; gt: "eu.gt"; gu: "eu.gu"; gv: "eu.gv"; gw: "eu.gw"; gx: "eu.gx"; gy: "eu.gy"; gz: "eu.gz"; ha: "eu.ha"; hb: "eu.hb"; hc: "eu.hc"; hd: "eu.hd"; he: "eu.he"; hf: "eu.hf"; hg: "eu.hg"; hh: "eu.hh"; hi: "eu.hi"; hj: "eu.hj"; hk: "eu.hk"; hl: "eu.hl"; hm: "eu.hm"; hn: "eu.hn"; ho: "eu.ho"; hp: "eu.hp"; hq: "eu.hq"; hr: "eu.hr"; hs: "eu.hs"; ht: "eu.ht"; hu: "eu.hu"; hv: "eu.hv"; hw: "eu.hw"; hx: "eu.hx"; hy: "eu.hy"; hz: "eu.hz"; ia: "eu.ia"; ib: "eu.ib"; ic: "eu.ic"; id: "eu.id"; ie: "eu.ie"; if: "eu.if"; ig: "eu.ig"; ih: "eu.ih"; ii: "eu.ii"; ij: "eu.ij"; ik: "eu.ik"; il: "eu.il"; im: "eu.im"; in: "eu.in"; io: "eu.io"; ip: "eu.ip"; iq: "eu.iq"; ir: "eu.ir"; is: "eu.is"; it: "eu.it"; iu: "eu.iu"; iv: "eu.iv"; iw: "eu.iw"; ix: "eu.ix"; iy: "eu.iy"; iz: "eu.iz"; ja: "eu.ja"; jb: "eu.jb"; jc: "eu.jc"; jd: "eu.jd"; je: "eu.je"; jf: "eu.jf"; jg: "eu.jg"; jh: "eu.jh"; ji: "eu.ji"; jj: "eu.jj"; jk: "eu.jk"; jl: "eu.jl"; jm: "eu.jm"; jn: "eu.jn"; jo: "eu.jo"; jp: "eu.jp"; jq: "eu.jq"; jr: "eu.jr"; js: "eu.js"; jt: "eu.jt"; ju: "eu.ju"; jv: "eu.jv"; jw: "eu.jw"; jx: "eu.jx"; jy: "eu.jy"; jz: "eu.jz"; ka: "eu.ka"; kb: "eu.kb"; kc: "eu.kc"; kd: "eu.kd"; ke: "eu.ke"; kf: "eu.kf"; kg: "eu.kg"; kh: "eu.kh"; ki: "eu.ki"; kj: "eu.kj"; kk: "eu.kk"; kl: "eu.kl"; km: "eu.km"; kn: "eu.kn"; ko: "eu.ko"; kp: "eu.kp"; kq: "eu.kq"; kr: "eu.kr"; ks: "eu.ks"; kt: "eu.kt"; ku: "eu.ku"; kv: "eu.kv"; kw: "eu.kw"; kx: "eu.kx"; ky: "eu.ky"; kz: "eu.kz"; la: "eu.la"; lb: "eu.lb"; lc: "eu.lc"; ld: "eu.ld"; le: "eu.le"; lf: "eu.lf"; lg: "eu.lg"; lh: "eu.lh"; li: "eu.li"; lj: "eu.lj"; lk: "eu.lk"; ll: "eu.ll"; lm: "eu.lm"; ln: "eu.ln"; lo: "eu.lo"; lp: "eu.lp"; lq: "eu.lq"; lr: "eu.lr"; ls: "eu.ls"; lt: "eu.lt"; lu: "eu.lu"; lv: "eu.lv"; lw: "eu.lw"; lx: "eu.lx"; ly: "eu.ly"; lz: "eu.lz"; ma: "eu.ma"; mb: "eu.mb"; mc: "eu.mc"; md: "eu.md"; me: "eu.me"; mf: "eu.mf"; mg: "eu.mg"; mh: "eu.mh"; mi: "eu.mi"; mj: "eu.mj"; mk: "eu.mk"; ml: "eu.ml"; mm: "eu.mm"; mn: "eu.mn"; mo: "eu.mo"; mp: "eu.mp"; mq: "eu.mq"; mr: "eu.mr"; ms: "eu.ms"; mt: "eu.mt"; mu: "eu.mu"; mv: "eu.mv"; mw: "eu.mw"; mx: "eu.mx"; my: "eu.my"; mz: "eu.mz"; na: "eu.na"; nb: "eu.nb"; nc: "eu.nc"; nd: "eu.nd"; ne: "eu.ne"; nf: "eu.nf"; ng: "eu.ng"; nh: "eu.nh"; ni: "eu.ni"; nj: "eu.nj"; nk: "eu.nk"; nl: "eu.nl"; nm: "eu.nm"; nn: "eu.nn"; no: "eu.no"; np: "eu.np"; nq: "eu.nq"; nr: "eu.nr"; ns: "eu.ns"; nt: "eu.nt"; nu: "eu.nu"; nv: "eu.nv"; nw: "eu.nw"; nx: "eu.nx"; ny: "eu.ny"; nz: "eu.nz"; oa: "eu.oa"; ob: "eu.ob"; oc: "eu.oc"; od: "eu.od"; oe: "eu.oe"; of: "eu.of"; og: "eu.og"; oh: "eu.oh"; oi: "eu.oi"; oj: "eu.oj"; ok: "eu.ok"; ol: "eu.ol"; om: "eu.om"; on: "eu.on"; oo: "eu.oo"; op: "eu.op"; oq: "eu.oq"; or: "eu.or"; os: "eu.os"; ot: "eu.ot"; ou: "eu.ou"; ov: "eu.ov"; ow: "eu.ow"; ox: "eu.ox"; oy: "eu.oy"; oz: "eu.oz"; pa: "eu.pa"; pb: "eu.pb"; pc: "eu.pc"; pd: "eu.pd"; pe: "eu.pe"; pf: "eu.pf"; pg: "eu.pg"; ph: "eu.ph"; pi: "eu.pi"; pj: "eu.pj"; pk: "eu.pk"; pl: "eu.pl"; pm: "eu.pm"; pn: "eu.pn"; po: "eu.po"; pp: "eu.pp"; pq: "eu.pq"; pr: "eu.pr"; ps: "eu.ps"; pt: "eu.pt"; pu: "eu.pu"; pv: "eu.pv"; pw: "eu.pw"; px: "eu.px"; py: "eu.py"; pz: "eu.pz"; qa: "eu.qa"; qb: "eu.qb"; qc: "eu.qc"; qd: "eu.qd"; qe: "eu.qe"; qf: "eu.qf"; qg: "eu.qg"; qh: "eu.qh"; qi: "eu.qi"; qj: "eu.qj"; qk: "eu.qk"; ql: "eu.ql"; qm: "eu.qm"; qn: "eu.qn"; qo: "eu.qo"; qp: "eu.qp"; qq: "eu.qq"; qr: "eu.qr"; qs: "eu.qs"; qt: "eu.qt"; qu: "eu.qu"; qv: "eu.qv"; qw: "eu.qw"; qx: "eu.qx"; qy: "eu.qy"; qz: "eu.qz"; ra: "eu.ra"; rb: "eu.rb"; rc: "eu.rc"; rd: "eu.rd"; re: "eu.re"; rf: "eu.rf"; rg: "eu.rg"; rh: "eu.rh"; ri: "eu.ri"; rj: "eu.rj"; rk: "eu.rk"; rl: "eu.rl"; rm: "eu.rm"; rn: "eu.rn"; ro: "eu.ro"; rp: "eu.rp"; rq: "eu.rq"; rr: "eu.rr"; rs: "eu.rs"; rt: "eu.rt"; ru: "eu.ru"; rv: "eu.rv"; rw: "eu.rw"; rx: "eu.rx"; ry: "eu.ry"; rz: "eu.rz"; sa: "eu.sa"; sb: "eu.sb"; sc: "eu.sc"; sd: "eu.sd"; se: "eu.se"; sf: "eu.sf"; sg: "eu.sg"; sh: "eu.sh"; si: "eu.si"; sj: "eu.sj"; sk: "eu.sk"; sl: "eu.sl"; sm: "eu.sm"; sn: "eu.sn"; so: "eu.so"; sp: "eu.sp"; sq: "eu.sq"; sr: "eu.sr"; ss: "eu.ss"; st: "eu.st"; su: "eu.su"; sv: "eu.sv"; sw: "eu.sw"; sx: "eu.sx"; sy: "eu.sy"; sz: "eu.sz"; ta: "eu.ta"; tb: "eu.tb"; tc: "eu.tc"; td: "eu.td"; te: "eu.te"; tf: "eu.tf"; tg: "eu.tg"; th: "eu.th"; ti: "eu.ti"; tj: "eu.tj"; tk: "eu.tk"; tl: "eu.tl"; tm: "eu.tm"; tn: "eu.tn"; to: "eu.to"; tp: "eu.tp"; tq: "eu.tq"; tr: "eu.tr"; ts: "eu.ts"; tt: "eu.tt"; tu: "eu.tu"; tv: "eu.tv"; tw: "eu.tw"; tx: "eu.tx"; ty: "eu.ty"; tz: "eu.tz"; ua: "eu.ua"; ub: "eu.ub"; uc: "eu.uc"; ud: "eu.ud"; ue: "eu.ue"; uf: "eu.uf"; ug: "eu.ug"; uh: "eu.uh"; ui: "eu.ui"; uj: "eu.uj"; uk: "eu.uk"; ul: "eu.ul"; um: "eu.um"; un: "eu.un"; uo: "eu.uo"; up: "eu.up"; uq: "eu.uq"; ur: "eu.ur"; us: "eu.us"; ut: "eu.ut"; uu: "eu.uu"; uv: "eu.uv"; uw: "eu.uw"; ux: "eu.ux"; uy: "eu.uy"; uz: "eu.uz"; va: "eu.va"; vb: "eu.vb"; vc: "eu.vc"; vd: "eu.vd"; ve: "eu.ve"; vf: "eu.vf"; vg: "eu.vg"; vh: "eu.vh"; vi: "eu.vi"; vj: "eu.vj"; vk: "eu.vk"; vl: "eu.vl"; vm: "eu.vm"; vn: "eu.vn"; vo: "eu.vo"; vp: "eu.vp"; vq: "eu.vq"; vr: "eu.vr"; vs: "eu.vs"; vt: "eu.vt"; vu: "eu.vu"; vv: "eu.vv"; vw: "eu.vw"; vx: "eu.vx"; vy: "eu.vy"; vz: "eu.vz"; wa: "eu.wa"; wb: "eu.wb"; wc: "eu.wc"; wd: "eu.wd"; we: "eu.we"; wf: "eu.wf"; wg: "eu.wg"; wh: "eu.wh"; wi: "eu.wi"; wj: "eu.wj"; wk: "eu.wk"; wl: "eu.wl"; wm: "eu.wm"; wn: "eu.wn"; wo: "eu.wo"; wp: "eu.wp"; wq: "eu.wq"; wr: "eu.wr"; ws: "eu.ws"; wt: "eu.wt"; wu: "eu.wu"; wv: "eu.wv"; ww: "eu.ww"; wx: "eu.wx"; wy: "eu.wy"; wz: "eu.wz"; xa: "eu.xa"; xb: "eu.xb"; xc: "eu.xc"; xd: "eu.xd"; xe: "eu.xe"; xf: "eu.xf"; xg: "eu.xg"; xh: "eu.xh"; xi: "eu.xi"; xj: "eu.xj"; xk: "eu.xk"; xl: "eu.xl"; xm: "eu.xm"; xn: "eu.xn"; xo: "eu.xo"; xp: "eu.xp"; xq: "eu.xq"; xr: "eu.xr"; xs: "eu.xs"; xt: "eu.xt"; xu: "eu.xu"; xv: "eu.xv"; xw: "eu.xw"; xx: "eu.xx"; xy: "eu.xy"; xz: "eu.xz"; ya: "eu.ya"; yb: "eu.yb"; yc: "eu.yc"; yd: "eu.yd"; ye: "eu.ye"; yf: "eu.yf"; yg: "eu.yg"; yh: "eu.yh"; yi: "eu.yi"; yj: "eu.yj"; yk: "eu.yk"; yl: "eu.yl"; ym: "eu.ym"; yn: "eu.yn"; yo: "eu.yo"; yp: "eu.yp"; yq: "eu.yq"; yr: "eu.yr"; ys: "eu.ys"; yt: "eu.yt"; yu: "eu.yu"; yv: "eu.yv"; yw: "eu.yw"; yx: "eu.yx"; yy: "eu.yy"; yz: "eu.yz"; za: "eu.za"; zb: "eu.zb"; zc: "eu.zc"; zd: "eu.zd"; ze: "eu.ze"; zf: "eu.zf"; zg: "eu.zg"; zh: "eu.zh"; zi: "eu.zi"; zj: "eu.zj"; zk: "eu.zk"; zl: "eu.zl"; zm: "eu.zm"; zn: "eu.zn"; zo: "eu.zo"; zp: "eu.zp"; zq: "eu.zq"; zr: "eu.zr"; zs: "eu.zs"; zt: "eu.zt"; zu: "eu.zu"; zv: "eu.zv"; zw: "eu.zw"; zx: "eu.zx"; zy: "eu.zy"; zz: "eu.zz"; }; ev: { aa: "ev.aa"; ab: "ev.ab"; ac: "ev.ac"; ad: "ev.ad"; ae: "ev.ae"; af: "ev.af"; ag: "ev.ag"; ah: "ev.ah"; ai: "ev.ai"; aj: "ev.aj"; ak: "ev.ak"; al: "ev.al"; am: "ev.am"; an: "ev.an"; ao: "ev.ao"; ap: "ev.ap"; aq: "ev.aq"; ar: "ev.ar"; as: "ev.as"; at: "ev.at"; au: "ev.au"; av: "ev.av"; aw: "ev.aw"; ax: "ev.ax"; ay: "ev.ay"; az: "ev.az"; ba: "ev.ba"; bb: "ev.bb"; bc: "ev.bc"; bd: "ev.bd"; be: "ev.be"; bf: "ev.bf"; bg: "ev.bg"; bh: "ev.bh"; bi: "ev.bi"; bj: "ev.bj"; bk: "ev.bk"; bl: "ev.bl"; bm: "ev.bm"; bn: "ev.bn"; bo: "ev.bo"; bp: "ev.bp"; bq: "ev.bq"; br: "ev.br"; bs: "ev.bs"; bt: "ev.bt"; bu: "ev.bu"; bv: "ev.bv"; bw: "ev.bw"; bx: "ev.bx"; by: "ev.by"; bz: "ev.bz"; ca: "ev.ca"; cb: "ev.cb"; cc: "ev.cc"; cd: "ev.cd"; ce: "ev.ce"; cf: "ev.cf"; cg: "ev.cg"; ch: "ev.ch"; ci: "ev.ci"; cj: "ev.cj"; ck: "ev.ck"; cl: "ev.cl"; cm: "ev.cm"; cn: "ev.cn"; co: "ev.co"; cp: "ev.cp"; cq: "ev.cq"; cr: "ev.cr"; cs: "ev.cs"; ct: "ev.ct"; cu: "ev.cu"; cv: "ev.cv"; cw: "ev.cw"; cx: "ev.cx"; cy: "ev.cy"; cz: "ev.cz"; da: "ev.da"; db: "ev.db"; dc: "ev.dc"; dd: "ev.dd"; de: "ev.de"; df: "ev.df"; dg: "ev.dg"; dh: "ev.dh"; di: "ev.di"; dj: "ev.dj"; dk: "ev.dk"; dl: "ev.dl"; dm: "ev.dm"; dn: "ev.dn"; do: "ev.do"; dp: "ev.dp"; dq: "ev.dq"; dr: "ev.dr"; ds: "ev.ds"; dt: "ev.dt"; du: "ev.du"; dv: "ev.dv"; dw: "ev.dw"; dx: "ev.dx"; dy: "ev.dy"; dz: "ev.dz"; ea: "ev.ea"; eb: "ev.eb"; ec: "ev.ec"; ed: "ev.ed"; ee: "ev.ee"; ef: "ev.ef"; eg: "ev.eg"; eh: "ev.eh"; ei: "ev.ei"; ej: "ev.ej"; ek: "ev.ek"; el: "ev.el"; em: "ev.em"; en: "ev.en"; eo: "ev.eo"; ep: "ev.ep"; eq: "ev.eq"; er: "ev.er"; es: "ev.es"; et: "ev.et"; eu: "ev.eu"; ev: "ev.ev"; ew: "ev.ew"; ex: "ev.ex"; ey: "ev.ey"; ez: "ev.ez"; fa: "ev.fa"; fb: "ev.fb"; fc: "ev.fc"; fd: "ev.fd"; fe: "ev.fe"; ff: "ev.ff"; fg: "ev.fg"; fh: "ev.fh"; fi: "ev.fi"; fj: "ev.fj"; fk: "ev.fk"; fl: "ev.fl"; fm: "ev.fm"; fn: "ev.fn"; fo: "ev.fo"; fp: "ev.fp"; fq: "ev.fq"; fr: "ev.fr"; fs: "ev.fs"; ft: "ev.ft"; fu: "ev.fu"; fv: "ev.fv"; fw: "ev.fw"; fx: "ev.fx"; fy: "ev.fy"; fz: "ev.fz"; ga: "ev.ga"; gb: "ev.gb"; gc: "ev.gc"; gd: "ev.gd"; ge: "ev.ge"; gf: "ev.gf"; gg: "ev.gg"; gh: "ev.gh"; gi: "ev.gi"; gj: "ev.gj"; gk: "ev.gk"; gl: "ev.gl"; gm: "ev.gm"; gn: "ev.gn"; go: "ev.go"; gp: "ev.gp"; gq: "ev.gq"; gr: "ev.gr"; gs: "ev.gs"; gt: "ev.gt"; gu: "ev.gu"; gv: "ev.gv"; gw: "ev.gw"; gx: "ev.gx"; gy: "ev.gy"; gz: "ev.gz"; ha: "ev.ha"; hb: "ev.hb"; hc: "ev.hc"; hd: "ev.hd"; he: "ev.he"; hf: "ev.hf"; hg: "ev.hg"; hh: "ev.hh"; hi: "ev.hi"; hj: "ev.hj"; hk: "ev.hk"; hl: "ev.hl"; hm: "ev.hm"; hn: "ev.hn"; ho: "ev.ho"; hp: "ev.hp"; hq: "ev.hq"; hr: "ev.hr"; hs: "ev.hs"; ht: "ev.ht"; hu: "ev.hu"; hv: "ev.hv"; hw: "ev.hw"; hx: "ev.hx"; hy: "ev.hy"; hz: "ev.hz"; ia: "ev.ia"; ib: "ev.ib"; ic: "ev.ic"; id: "ev.id"; ie: "ev.ie"; if: "ev.if"; ig: "ev.ig"; ih: "ev.ih"; ii: "ev.ii"; ij: "ev.ij"; ik: "ev.ik"; il: "ev.il"; im: "ev.im"; in: "ev.in"; io: "ev.io"; ip: "ev.ip"; iq: "ev.iq"; ir: "ev.ir"; is: "ev.is"; it: "ev.it"; iu: "ev.iu"; iv: "ev.iv"; iw: "ev.iw"; ix: "ev.ix"; iy: "ev.iy"; iz: "ev.iz"; ja: "ev.ja"; jb: "ev.jb"; jc: "ev.jc"; jd: "ev.jd"; je: "ev.je"; jf: "ev.jf"; jg: "ev.jg"; jh: "ev.jh"; ji: "ev.ji"; jj: "ev.jj"; jk: "ev.jk"; jl: "ev.jl"; jm: "ev.jm"; jn: "ev.jn"; jo: "ev.jo"; jp: "ev.jp"; jq: "ev.jq"; jr: "ev.jr"; js: "ev.js"; jt: "ev.jt"; ju: "ev.ju"; jv: "ev.jv"; jw: "ev.jw"; jx: "ev.jx"; jy: "ev.jy"; jz: "ev.jz"; ka: "ev.ka"; kb: "ev.kb"; kc: "ev.kc"; kd: "ev.kd"; ke: "ev.ke"; kf: "ev.kf"; kg: "ev.kg"; kh: "ev.kh"; ki: "ev.ki"; kj: "ev.kj"; kk: "ev.kk"; kl: "ev.kl"; km: "ev.km"; kn: "ev.kn"; ko: "ev.ko"; kp: "ev.kp"; kq: "ev.kq"; kr: "ev.kr"; ks: "ev.ks"; kt: "ev.kt"; ku: "ev.ku"; kv: "ev.kv"; kw: "ev.kw"; kx: "ev.kx"; ky: "ev.ky"; kz: "ev.kz"; la: "ev.la"; lb: "ev.lb"; lc: "ev.lc"; ld: "ev.ld"; le: "ev.le"; lf: "ev.lf"; lg: "ev.lg"; lh: "ev.lh"; li: "ev.li"; lj: "ev.lj"; lk: "ev.lk"; ll: "ev.ll"; lm: "ev.lm"; ln: "ev.ln"; lo: "ev.lo"; lp: "ev.lp"; lq: "ev.lq"; lr: "ev.lr"; ls: "ev.ls"; lt: "ev.lt"; lu: "ev.lu"; lv: "ev.lv"; lw: "ev.lw"; lx: "ev.lx"; ly: "ev.ly"; lz: "ev.lz"; ma: "ev.ma"; mb: "ev.mb"; mc: "ev.mc"; md: "ev.md"; me: "ev.me"; mf: "ev.mf"; mg: "ev.mg"; mh: "ev.mh"; mi: "ev.mi"; mj: "ev.mj"; mk: "ev.mk"; ml: "ev.ml"; mm: "ev.mm"; mn: "ev.mn"; mo: "ev.mo"; mp: "ev.mp"; mq: "ev.mq"; mr: "ev.mr"; ms: "ev.ms"; mt: "ev.mt"; mu: "ev.mu"; mv: "ev.mv"; mw: "ev.mw"; mx: "ev.mx"; my: "ev.my"; mz: "ev.mz"; na: "ev.na"; nb: "ev.nb"; nc: "ev.nc"; nd: "ev.nd"; ne: "ev.ne"; nf: "ev.nf"; ng: "ev.ng"; nh: "ev.nh"; ni: "ev.ni"; nj: "ev.nj"; nk: "ev.nk"; nl: "ev.nl"; nm: "ev.nm"; nn: "ev.nn"; no: "ev.no"; np: "ev.np"; nq: "ev.nq"; nr: "ev.nr"; ns: "ev.ns"; nt: "ev.nt"; nu: "ev.nu"; nv: "ev.nv"; nw: "ev.nw"; nx: "ev.nx"; ny: "ev.ny"; nz: "ev.nz"; oa: "ev.oa"; ob: "ev.ob"; oc: "ev.oc"; od: "ev.od"; oe: "ev.oe"; of: "ev.of"; og: "ev.og"; oh: "ev.oh"; oi: "ev.oi"; oj: "ev.oj"; ok: "ev.ok"; ol: "ev.ol"; om: "ev.om"; on: "ev.on"; oo: "ev.oo"; op: "ev.op"; oq: "ev.oq"; or: "ev.or"; os: "ev.os"; ot: "ev.ot"; ou: "ev.ou"; ov: "ev.ov"; ow: "ev.ow"; ox: "ev.ox"; oy: "ev.oy"; oz: "ev.oz"; pa: "ev.pa"; pb: "ev.pb"; pc: "ev.pc"; pd: "ev.pd"; pe: "ev.pe"; pf: "ev.pf"; pg: "ev.pg"; ph: "ev.ph"; pi: "ev.pi"; pj: "ev.pj"; pk: "ev.pk"; pl: "ev.pl"; pm: "ev.pm"; pn: "ev.pn"; po: "ev.po"; pp: "ev.pp"; pq: "ev.pq"; pr: "ev.pr"; ps: "ev.ps"; pt: "ev.pt"; pu: "ev.pu"; pv: "ev.pv"; pw: "ev.pw"; px: "ev.px"; py: "ev.py"; pz: "ev.pz"; qa: "ev.qa"; qb: "ev.qb"; qc: "ev.qc"; qd: "ev.qd"; qe: "ev.qe"; qf: "ev.qf"; qg: "ev.qg"; qh: "ev.qh"; qi: "ev.qi"; qj: "ev.qj"; qk: "ev.qk"; ql: "ev.ql"; qm: "ev.qm"; qn: "ev.qn"; qo: "ev.qo"; qp: "ev.qp"; qq: "ev.qq"; qr: "ev.qr"; qs: "ev.qs"; qt: "ev.qt"; qu: "ev.qu"; qv: "ev.qv"; qw: "ev.qw"; qx: "ev.qx"; qy: "ev.qy"; qz: "ev.qz"; ra: "ev.ra"; rb: "ev.rb"; rc: "ev.rc"; rd: "ev.rd"; re: "ev.re"; rf: "ev.rf"; rg: "ev.rg"; rh: "ev.rh"; ri: "ev.ri"; rj: "ev.rj"; rk: "ev.rk"; rl: "ev.rl"; rm: "ev.rm"; rn: "ev.rn"; ro: "ev.ro"; rp: "ev.rp"; rq: "ev.rq"; rr: "ev.rr"; rs: "ev.rs"; rt: "ev.rt"; ru: "ev.ru"; rv: "ev.rv"; rw: "ev.rw"; rx: "ev.rx"; ry: "ev.ry"; rz: "ev.rz"; sa: "ev.sa"; sb: "ev.sb"; sc: "ev.sc"; sd: "ev.sd"; se: "ev.se"; sf: "ev.sf"; sg: "ev.sg"; sh: "ev.sh"; si: "ev.si"; sj: "ev.sj"; sk: "ev.sk"; sl: "ev.sl"; sm: "ev.sm"; sn: "ev.sn"; so: "ev.so"; sp: "ev.sp"; sq: "ev.sq"; sr: "ev.sr"; ss: "ev.ss"; st: "ev.st"; su: "ev.su"; sv: "ev.sv"; sw: "ev.sw"; sx: "ev.sx"; sy: "ev.sy"; sz: "ev.sz"; ta: "ev.ta"; tb: "ev.tb"; tc: "ev.tc"; td: "ev.td"; te: "ev.te"; tf: "ev.tf"; tg: "ev.tg"; th: "ev.th"; ti: "ev.ti"; tj: "ev.tj"; tk: "ev.tk"; tl: "ev.tl"; tm: "ev.tm"; tn: "ev.tn"; to: "ev.to"; tp: "ev.tp"; tq: "ev.tq"; tr: "ev.tr"; ts: "ev.ts"; tt: "ev.tt"; tu: "ev.tu"; tv: "ev.tv"; tw: "ev.tw"; tx: "ev.tx"; ty: "ev.ty"; tz: "ev.tz"; ua: "ev.ua"; ub: "ev.ub"; uc: "ev.uc"; ud: "ev.ud"; ue: "ev.ue"; uf: "ev.uf"; ug: "ev.ug"; uh: "ev.uh"; ui: "ev.ui"; uj: "ev.uj"; uk: "ev.uk"; ul: "ev.ul"; um: "ev.um"; un: "ev.un"; uo: "ev.uo"; up: "ev.up"; uq: "ev.uq"; ur: "ev.ur"; us: "ev.us"; ut: "ev.ut"; uu: "ev.uu"; uv: "ev.uv"; uw: "ev.uw"; ux: "ev.ux"; uy: "ev.uy"; uz: "ev.uz"; va: "ev.va"; vb: "ev.vb"; vc: "ev.vc"; vd: "ev.vd"; ve: "ev.ve"; vf: "ev.vf"; vg: "ev.vg"; vh: "ev.vh"; vi: "ev.vi"; vj: "ev.vj"; vk: "ev.vk"; vl: "ev.vl"; vm: "ev.vm"; vn: "ev.vn"; vo: "ev.vo"; vp: "ev.vp"; vq: "ev.vq"; vr: "ev.vr"; vs: "ev.vs"; vt: "ev.vt"; vu: "ev.vu"; vv: "ev.vv"; vw: "ev.vw"; vx: "ev.vx"; vy: "ev.vy"; vz: "ev.vz"; wa: "ev.wa"; wb: "ev.wb"; wc: "ev.wc"; wd: "ev.wd"; we: "ev.we"; wf: "ev.wf"; wg: "ev.wg"; wh: "ev.wh"; wi: "ev.wi"; wj: "ev.wj"; wk: "ev.wk"; wl: "ev.wl"; wm: "ev.wm"; wn: "ev.wn"; wo: "ev.wo"; wp: "ev.wp"; wq: "ev.wq"; wr: "ev.wr"; ws: "ev.ws"; wt: "ev.wt"; wu: "ev.wu"; wv: "ev.wv"; ww: "ev.ww"; wx: "ev.wx"; wy: "ev.wy"; wz: "ev.wz"; xa: "ev.xa"; xb: "ev.xb"; xc: "ev.xc"; xd: "ev.xd"; xe: "ev.xe"; xf: "ev.xf"; xg: "ev.xg"; xh: "ev.xh"; xi: "ev.xi"; xj: "ev.xj"; xk: "ev.xk"; xl: "ev.xl"; xm: "ev.xm"; xn: "ev.xn"; xo: "ev.xo"; xp: "ev.xp"; xq: "ev.xq"; xr: "ev.xr"; xs: "ev.xs"; xt: "ev.xt"; xu: "ev.xu"; xv: "ev.xv"; xw: "ev.xw"; xx: "ev.xx"; xy: "ev.xy"; xz: "ev.xz"; ya: "ev.ya"; yb: "ev.yb"; yc: "ev.yc"; yd: "ev.yd"; ye: "ev.ye"; yf: "ev.yf"; yg: "ev.yg"; yh: "ev.yh"; yi: "ev.yi"; yj: "ev.yj"; yk: "ev.yk"; yl: "ev.yl"; ym: "ev.ym"; yn: "ev.yn"; yo: "ev.yo"; yp: "ev.yp"; yq: "ev.yq"; yr: "ev.yr"; ys: "ev.ys"; yt: "ev.yt"; yu: "ev.yu"; yv: "ev.yv"; yw: "ev.yw"; yx: "ev.yx"; yy: "ev.yy"; yz: "ev.yz"; za: "ev.za"; zb: "ev.zb"; zc: "ev.zc"; zd: "ev.zd"; ze: "ev.ze"; zf: "ev.zf"; zg: "ev.zg"; zh: "ev.zh"; zi: "ev.zi"; zj: "ev.zj"; zk: "ev.zk"; zl: "ev.zl"; zm: "ev.zm"; zn: "ev.zn"; zo: "ev.zo"; zp: "ev.zp"; zq: "ev.zq"; zr: "ev.zr"; zs: "ev.zs"; zt: "ev.zt"; zu: "ev.zu"; zv: "ev.zv"; zw: "ev.zw"; zx: "ev.zx"; zy: "ev.zy"; zz: "ev.zz"; }; ew: { aa: "ew.aa"; ab: "ew.ab"; ac: "ew.ac"; ad: "ew.ad"; ae: "ew.ae"; af: "ew.af"; ag: "ew.ag"; ah: "ew.ah"; ai: "ew.ai"; aj: "ew.aj"; ak: "ew.ak"; al: "ew.al"; am: "ew.am"; an: "ew.an"; ao: "ew.ao"; ap: "ew.ap"; aq: "ew.aq"; ar: "ew.ar"; as: "ew.as"; at: "ew.at"; au: "ew.au"; av: "ew.av"; aw: "ew.aw"; ax: "ew.ax"; ay: "ew.ay"; az: "ew.az"; ba: "ew.ba"; bb: "ew.bb"; bc: "ew.bc"; bd: "ew.bd"; be: "ew.be"; bf: "ew.bf"; bg: "ew.bg"; bh: "ew.bh"; bi: "ew.bi"; bj: "ew.bj"; bk: "ew.bk"; bl: "ew.bl"; bm: "ew.bm"; bn: "ew.bn"; bo: "ew.bo"; bp: "ew.bp"; bq: "ew.bq"; br: "ew.br"; bs: "ew.bs"; bt: "ew.bt"; bu: "ew.bu"; bv: "ew.bv"; bw: "ew.bw"; bx: "ew.bx"; by: "ew.by"; bz: "ew.bz"; ca: "ew.ca"; cb: "ew.cb"; cc: "ew.cc"; cd: "ew.cd"; ce: "ew.ce"; cf: "ew.cf"; cg: "ew.cg"; ch: "ew.ch"; ci: "ew.ci"; cj: "ew.cj"; ck: "ew.ck"; cl: "ew.cl"; cm: "ew.cm"; cn: "ew.cn"; co: "ew.co"; cp: "ew.cp"; cq: "ew.cq"; cr: "ew.cr"; cs: "ew.cs"; ct: "ew.ct"; cu: "ew.cu"; cv: "ew.cv"; cw: "ew.cw"; cx: "ew.cx"; cy: "ew.cy"; cz: "ew.cz"; da: "ew.da"; db: "ew.db"; dc: "ew.dc"; dd: "ew.dd"; de: "ew.de"; df: "ew.df"; dg: "ew.dg"; dh: "ew.dh"; di: "ew.di"; dj: "ew.dj"; dk: "ew.dk"; dl: "ew.dl"; dm: "ew.dm"; dn: "ew.dn"; do: "ew.do"; dp: "ew.dp"; dq: "ew.dq"; dr: "ew.dr"; ds: "ew.ds"; dt: "ew.dt"; du: "ew.du"; dv: "ew.dv"; dw: "ew.dw"; dx: "ew.dx"; dy: "ew.dy"; dz: "ew.dz"; ea: "ew.ea"; eb: "ew.eb"; ec: "ew.ec"; ed: "ew.ed"; ee: "ew.ee"; ef: "ew.ef"; eg: "ew.eg"; eh: "ew.eh"; ei: "ew.ei"; ej: "ew.ej"; ek: "ew.ek"; el: "ew.el"; em: "ew.em"; en: "ew.en"; eo: "ew.eo"; ep: "ew.ep"; eq: "ew.eq"; er: "ew.er"; es: "ew.es"; et: "ew.et"; eu: "ew.eu"; ev: "ew.ev"; ew: "ew.ew"; ex: "ew.ex"; ey: "ew.ey"; ez: "ew.ez"; fa: "ew.fa"; fb: "ew.fb"; fc: "ew.fc"; fd: "ew.fd"; fe: "ew.fe"; ff: "ew.ff"; fg: "ew.fg"; fh: "ew.fh"; fi: "ew.fi"; fj: "ew.fj"; fk: "ew.fk"; fl: "ew.fl"; fm: "ew.fm"; fn: "ew.fn"; fo: "ew.fo"; fp: "ew.fp"; fq: "ew.fq"; fr: "ew.fr"; fs: "ew.fs"; ft: "ew.ft"; fu: "ew.fu"; fv: "ew.fv"; fw: "ew.fw"; fx: "ew.fx"; fy: "ew.fy"; fz: "ew.fz"; ga: "ew.ga"; gb: "ew.gb"; gc: "ew.gc"; gd: "ew.gd"; ge: "ew.ge"; gf: "ew.gf"; gg: "ew.gg"; gh: "ew.gh"; gi: "ew.gi"; gj: "ew.gj"; gk: "ew.gk"; gl: "ew.gl"; gm: "ew.gm"; gn: "ew.gn"; go: "ew.go"; gp: "ew.gp"; gq: "ew.gq"; gr: "ew.gr"; gs: "ew.gs"; gt: "ew.gt"; gu: "ew.gu"; gv: "ew.gv"; gw: "ew.gw"; gx: "ew.gx"; gy: "ew.gy"; gz: "ew.gz"; ha: "ew.ha"; hb: "ew.hb"; hc: "ew.hc"; hd: "ew.hd"; he: "ew.he"; hf: "ew.hf"; hg: "ew.hg"; hh: "ew.hh"; hi: "ew.hi"; hj: "ew.hj"; hk: "ew.hk"; hl: "ew.hl"; hm: "ew.hm"; hn: "ew.hn"; ho: "ew.ho"; hp: "ew.hp"; hq: "ew.hq"; hr: "ew.hr"; hs: "ew.hs"; ht: "ew.ht"; hu: "ew.hu"; hv: "ew.hv"; hw: "ew.hw"; hx: "ew.hx"; hy: "ew.hy"; hz: "ew.hz"; ia: "ew.ia"; ib: "ew.ib"; ic: "ew.ic"; id: "ew.id"; ie: "ew.ie"; if: "ew.if"; ig: "ew.ig"; ih: "ew.ih"; ii: "ew.ii"; ij: "ew.ij"; ik: "ew.ik"; il: "ew.il"; im: "ew.im"; in: "ew.in"; io: "ew.io"; ip: "ew.ip"; iq: "ew.iq"; ir: "ew.ir"; is: "ew.is"; it: "ew.it"; iu: "ew.iu"; iv: "ew.iv"; iw: "ew.iw"; ix: "ew.ix"; iy: "ew.iy"; iz: "ew.iz"; ja: "ew.ja"; jb: "ew.jb"; jc: "ew.jc"; jd: "ew.jd"; je: "ew.je"; jf: "ew.jf"; jg: "ew.jg"; jh: "ew.jh"; ji: "ew.ji"; jj: "ew.jj"; jk: "ew.jk"; jl: "ew.jl"; jm: "ew.jm"; jn: "ew.jn"; jo: "ew.jo"; jp: "ew.jp"; jq: "ew.jq"; jr: "ew.jr"; js: "ew.js"; jt: "ew.jt"; ju: "ew.ju"; jv: "ew.jv"; jw: "ew.jw"; jx: "ew.jx"; jy: "ew.jy"; jz: "ew.jz"; ka: "ew.ka"; kb: "ew.kb"; kc: "ew.kc"; kd: "ew.kd"; ke: "ew.ke"; kf: "ew.kf"; kg: "ew.kg"; kh: "ew.kh"; ki: "ew.ki"; kj: "ew.kj"; kk: "ew.kk"; kl: "ew.kl"; km: "ew.km"; kn: "ew.kn"; ko: "ew.ko"; kp: "ew.kp"; kq: "ew.kq"; kr: "ew.kr"; ks: "ew.ks"; kt: "ew.kt"; ku: "ew.ku"; kv: "ew.kv"; kw: "ew.kw"; kx: "ew.kx"; ky: "ew.ky"; kz: "ew.kz"; la: "ew.la"; lb: "ew.lb"; lc: "ew.lc"; ld: "ew.ld"; le: "ew.le"; lf: "ew.lf"; lg: "ew.lg"; lh: "ew.lh"; li: "ew.li"; lj: "ew.lj"; lk: "ew.lk"; ll: "ew.ll"; lm: "ew.lm"; ln: "ew.ln"; lo: "ew.lo"; lp: "ew.lp"; lq: "ew.lq"; lr: "ew.lr"; ls: "ew.ls"; lt: "ew.lt"; lu: "ew.lu"; lv: "ew.lv"; lw: "ew.lw"; lx: "ew.lx"; ly: "ew.ly"; lz: "ew.lz"; ma: "ew.ma"; mb: "ew.mb"; mc: "ew.mc"; md: "ew.md"; me: "ew.me"; mf: "ew.mf"; mg: "ew.mg"; mh: "ew.mh"; mi: "ew.mi"; mj: "ew.mj"; mk: "ew.mk"; ml: "ew.ml"; mm: "ew.mm"; mn: "ew.mn"; mo: "ew.mo"; mp: "ew.mp"; mq: "ew.mq"; mr: "ew.mr"; ms: "ew.ms"; mt: "ew.mt"; mu: "ew.mu"; mv: "ew.mv"; mw: "ew.mw"; mx: "ew.mx"; my: "ew.my"; mz: "ew.mz"; na: "ew.na"; nb: "ew.nb"; nc: "ew.nc"; nd: "ew.nd"; ne: "ew.ne"; nf: "ew.nf"; ng: "ew.ng"; nh: "ew.nh"; ni: "ew.ni"; nj: "ew.nj"; nk: "ew.nk"; nl: "ew.nl"; nm: "ew.nm"; nn: "ew.nn"; no: "ew.no"; np: "ew.np"; nq: "ew.nq"; nr: "ew.nr"; ns: "ew.ns"; nt: "ew.nt"; nu: "ew.nu"; nv: "ew.nv"; nw: "ew.nw"; nx: "ew.nx"; ny: "ew.ny"; nz: "ew.nz"; oa: "ew.oa"; ob: "ew.ob"; oc: "ew.oc"; od: "ew.od"; oe: "ew.oe"; of: "ew.of"; og: "ew.og"; oh: "ew.oh"; oi: "ew.oi"; oj: "ew.oj"; ok: "ew.ok"; ol: "ew.ol"; om: "ew.om"; on: "ew.on"; oo: "ew.oo"; op: "ew.op"; oq: "ew.oq"; or: "ew.or"; os: "ew.os"; ot: "ew.ot"; ou: "ew.ou"; ov: "ew.ov"; ow: "ew.ow"; ox: "ew.ox"; oy: "ew.oy"; oz: "ew.oz"; pa: "ew.pa"; pb: "ew.pb"; pc: "ew.pc"; pd: "ew.pd"; pe: "ew.pe"; pf: "ew.pf"; pg: "ew.pg"; ph: "ew.ph"; pi: "ew.pi"; pj: "ew.pj"; pk: "ew.pk"; pl: "ew.pl"; pm: "ew.pm"; pn: "ew.pn"; po: "ew.po"; pp: "ew.pp"; pq: "ew.pq"; pr: "ew.pr"; ps: "ew.ps"; pt: "ew.pt"; pu: "ew.pu"; pv: "ew.pv"; pw: "ew.pw"; px: "ew.px"; py: "ew.py"; pz: "ew.pz"; qa: "ew.qa"; qb: "ew.qb"; qc: "ew.qc"; qd: "ew.qd"; qe: "ew.qe"; qf: "ew.qf"; qg: "ew.qg"; qh: "ew.qh"; qi: "ew.qi"; qj: "ew.qj"; qk: "ew.qk"; ql: "ew.ql"; qm: "ew.qm"; qn: "ew.qn"; qo: "ew.qo"; qp: "ew.qp"; qq: "ew.qq"; qr: "ew.qr"; qs: "ew.qs"; qt: "ew.qt"; qu: "ew.qu"; qv: "ew.qv"; qw: "ew.qw"; qx: "ew.qx"; qy: "ew.qy"; qz: "ew.qz"; ra: "ew.ra"; rb: "ew.rb"; rc: "ew.rc"; rd: "ew.rd"; re: "ew.re"; rf: "ew.rf"; rg: "ew.rg"; rh: "ew.rh"; ri: "ew.ri"; rj: "ew.rj"; rk: "ew.rk"; rl: "ew.rl"; rm: "ew.rm"; rn: "ew.rn"; ro: "ew.ro"; rp: "ew.rp"; rq: "ew.rq"; rr: "ew.rr"; rs: "ew.rs"; rt: "ew.rt"; ru: "ew.ru"; rv: "ew.rv"; rw: "ew.rw"; rx: "ew.rx"; ry: "ew.ry"; rz: "ew.rz"; sa: "ew.sa"; sb: "ew.sb"; sc: "ew.sc"; sd: "ew.sd"; se: "ew.se"; sf: "ew.sf"; sg: "ew.sg"; sh: "ew.sh"; si: "ew.si"; sj: "ew.sj"; sk: "ew.sk"; sl: "ew.sl"; sm: "ew.sm"; sn: "ew.sn"; so: "ew.so"; sp: "ew.sp"; sq: "ew.sq"; sr: "ew.sr"; ss: "ew.ss"; st: "ew.st"; su: "ew.su"; sv: "ew.sv"; sw: "ew.sw"; sx: "ew.sx"; sy: "ew.sy"; sz: "ew.sz"; ta: "ew.ta"; tb: "ew.tb"; tc: "ew.tc"; td: "ew.td"; te: "ew.te"; tf: "ew.tf"; tg: "ew.tg"; th: "ew.th"; ti: "ew.ti"; tj: "ew.tj"; tk: "ew.tk"; tl: "ew.tl"; tm: "ew.tm"; tn: "ew.tn"; to: "ew.to"; tp: "ew.tp"; tq: "ew.tq"; tr: "ew.tr"; ts: "ew.ts"; tt: "ew.tt"; tu: "ew.tu"; tv: "ew.tv"; tw: "ew.tw"; tx: "ew.tx"; ty: "ew.ty"; tz: "ew.tz"; ua: "ew.ua"; ub: "ew.ub"; uc: "ew.uc"; ud: "ew.ud"; ue: "ew.ue"; uf: "ew.uf"; ug: "ew.ug"; uh: "ew.uh"; ui: "ew.ui"; uj: "ew.uj"; uk: "ew.uk"; ul: "ew.ul"; um: "ew.um"; un: "ew.un"; uo: "ew.uo"; up: "ew.up"; uq: "ew.uq"; ur: "ew.ur"; us: "ew.us"; ut: "ew.ut"; uu: "ew.uu"; uv: "ew.uv"; uw: "ew.uw"; ux: "ew.ux"; uy: "ew.uy"; uz: "ew.uz"; va: "ew.va"; vb: "ew.vb"; vc: "ew.vc"; vd: "ew.vd"; ve: "ew.ve"; vf: "ew.vf"; vg: "ew.vg"; vh: "ew.vh"; vi: "ew.vi"; vj: "ew.vj"; vk: "ew.vk"; vl: "ew.vl"; vm: "ew.vm"; vn: "ew.vn"; vo: "ew.vo"; vp: "ew.vp"; vq: "ew.vq"; vr: "ew.vr"; vs: "ew.vs"; vt: "ew.vt"; vu: "ew.vu"; vv: "ew.vv"; vw: "ew.vw"; vx: "ew.vx"; vy: "ew.vy"; vz: "ew.vz"; wa: "ew.wa"; wb: "ew.wb"; wc: "ew.wc"; wd: "ew.wd"; we: "ew.we"; wf: "ew.wf"; wg: "ew.wg"; wh: "ew.wh"; wi: "ew.wi"; wj: "ew.wj"; wk: "ew.wk"; wl: "ew.wl"; wm: "ew.wm"; wn: "ew.wn"; wo: "ew.wo"; wp: "ew.wp"; wq: "ew.wq"; wr: "ew.wr"; ws: "ew.ws"; wt: "ew.wt"; wu: "ew.wu"; wv: "ew.wv"; ww: "ew.ww"; wx: "ew.wx"; wy: "ew.wy"; wz: "ew.wz"; xa: "ew.xa"; xb: "ew.xb"; xc: "ew.xc"; xd: "ew.xd"; xe: "ew.xe"; xf: "ew.xf"; xg: "ew.xg"; xh: "ew.xh"; xi: "ew.xi"; xj: "ew.xj"; xk: "ew.xk"; xl: "ew.xl"; xm: "ew.xm"; xn: "ew.xn"; xo: "ew.xo"; xp: "ew.xp"; xq: "ew.xq"; xr: "ew.xr"; xs: "ew.xs"; xt: "ew.xt"; xu: "ew.xu"; xv: "ew.xv"; xw: "ew.xw"; xx: "ew.xx"; xy: "ew.xy"; xz: "ew.xz"; ya: "ew.ya"; yb: "ew.yb"; yc: "ew.yc"; yd: "ew.yd"; ye: "ew.ye"; yf: "ew.yf"; yg: "ew.yg"; yh: "ew.yh"; yi: "ew.yi"; yj: "ew.yj"; yk: "ew.yk"; yl: "ew.yl"; ym: "ew.ym"; yn: "ew.yn"; yo: "ew.yo"; yp: "ew.yp"; yq: "ew.yq"; yr: "ew.yr"; ys: "ew.ys"; yt: "ew.yt"; yu: "ew.yu"; yv: "ew.yv"; yw: "ew.yw"; yx: "ew.yx"; yy: "ew.yy"; yz: "ew.yz"; za: "ew.za"; zb: "ew.zb"; zc: "ew.zc"; zd: "ew.zd"; ze: "ew.ze"; zf: "ew.zf"; zg: "ew.zg"; zh: "ew.zh"; zi: "ew.zi"; zj: "ew.zj"; zk: "ew.zk"; zl: "ew.zl"; zm: "ew.zm"; zn: "ew.zn"; zo: "ew.zo"; zp: "ew.zp"; zq: "ew.zq"; zr: "ew.zr"; zs: "ew.zs"; zt: "ew.zt"; zu: "ew.zu"; zv: "ew.zv"; zw: "ew.zw"; zx: "ew.zx"; zy: "ew.zy"; zz: "ew.zz"; }; ex: { aa: "ex.aa"; ab: "ex.ab"; ac: "ex.ac"; ad: "ex.ad"; ae: "ex.ae"; af: "ex.af"; ag: "ex.ag"; ah: "ex.ah"; ai: "ex.ai"; aj: "ex.aj"; ak: "ex.ak"; al: "ex.al"; am: "ex.am"; an: "ex.an"; ao: "ex.ao"; ap: "ex.ap"; aq: "ex.aq"; ar: "ex.ar"; as: "ex.as"; at: "ex.at"; au: "ex.au"; av: "ex.av"; aw: "ex.aw"; ax: "ex.ax"; ay: "ex.ay"; az: "ex.az"; ba: "ex.ba"; bb: "ex.bb"; bc: "ex.bc"; bd: "ex.bd"; be: "ex.be"; bf: "ex.bf"; bg: "ex.bg"; bh: "ex.bh"; bi: "ex.bi"; bj: "ex.bj"; bk: "ex.bk"; bl: "ex.bl"; bm: "ex.bm"; bn: "ex.bn"; bo: "ex.bo"; bp: "ex.bp"; bq: "ex.bq"; br: "ex.br"; bs: "ex.bs"; bt: "ex.bt"; bu: "ex.bu"; bv: "ex.bv"; bw: "ex.bw"; bx: "ex.bx"; by: "ex.by"; bz: "ex.bz"; ca: "ex.ca"; cb: "ex.cb"; cc: "ex.cc"; cd: "ex.cd"; ce: "ex.ce"; cf: "ex.cf"; cg: "ex.cg"; ch: "ex.ch"; ci: "ex.ci"; cj: "ex.cj"; ck: "ex.ck"; cl: "ex.cl"; cm: "ex.cm"; cn: "ex.cn"; co: "ex.co"; cp: "ex.cp"; cq: "ex.cq"; cr: "ex.cr"; cs: "ex.cs"; ct: "ex.ct"; cu: "ex.cu"; cv: "ex.cv"; cw: "ex.cw"; cx: "ex.cx"; cy: "ex.cy"; cz: "ex.cz"; da: "ex.da"; db: "ex.db"; dc: "ex.dc"; dd: "ex.dd"; de: "ex.de"; df: "ex.df"; dg: "ex.dg"; dh: "ex.dh"; di: "ex.di"; dj: "ex.dj"; dk: "ex.dk"; dl: "ex.dl"; dm: "ex.dm"; dn: "ex.dn"; do: "ex.do"; dp: "ex.dp"; dq: "ex.dq"; dr: "ex.dr"; ds: "ex.ds"; dt: "ex.dt"; du: "ex.du"; dv: "ex.dv"; dw: "ex.dw"; dx: "ex.dx"; dy: "ex.dy"; dz: "ex.dz"; ea: "ex.ea"; eb: "ex.eb"; ec: "ex.ec"; ed: "ex.ed"; ee: "ex.ee"; ef: "ex.ef"; eg: "ex.eg"; eh: "ex.eh"; ei: "ex.ei"; ej: "ex.ej"; ek: "ex.ek"; el: "ex.el"; em: "ex.em"; en: "ex.en"; eo: "ex.eo"; ep: "ex.ep"; eq: "ex.eq"; er: "ex.er"; es: "ex.es"; et: "ex.et"; eu: "ex.eu"; ev: "ex.ev"; ew: "ex.ew"; ex: "ex.ex"; ey: "ex.ey"; ez: "ex.ez"; fa: "ex.fa"; fb: "ex.fb"; fc: "ex.fc"; fd: "ex.fd"; fe: "ex.fe"; ff: "ex.ff"; fg: "ex.fg"; fh: "ex.fh"; fi: "ex.fi"; fj: "ex.fj"; fk: "ex.fk"; fl: "ex.fl"; fm: "ex.fm"; fn: "ex.fn"; fo: "ex.fo"; fp: "ex.fp"; fq: "ex.fq"; fr: "ex.fr"; fs: "ex.fs"; ft: "ex.ft"; fu: "ex.fu"; fv: "ex.fv"; fw: "ex.fw"; fx: "ex.fx"; fy: "ex.fy"; fz: "ex.fz"; ga: "ex.ga"; gb: "ex.gb"; gc: "ex.gc"; gd: "ex.gd"; ge: "ex.ge"; gf: "ex.gf"; gg: "ex.gg"; gh: "ex.gh"; gi: "ex.gi"; gj: "ex.gj"; gk: "ex.gk"; gl: "ex.gl"; gm: "ex.gm"; gn: "ex.gn"; go: "ex.go"; gp: "ex.gp"; gq: "ex.gq"; gr: "ex.gr"; gs: "ex.gs"; gt: "ex.gt"; gu: "ex.gu"; gv: "ex.gv"; gw: "ex.gw"; gx: "ex.gx"; gy: "ex.gy"; gz: "ex.gz"; ha: "ex.ha"; hb: "ex.hb"; hc: "ex.hc"; hd: "ex.hd"; he: "ex.he"; hf: "ex.hf"; hg: "ex.hg"; hh: "ex.hh"; hi: "ex.hi"; hj: "ex.hj"; hk: "ex.hk"; hl: "ex.hl"; hm: "ex.hm"; hn: "ex.hn"; ho: "ex.ho"; hp: "ex.hp"; hq: "ex.hq"; hr: "ex.hr"; hs: "ex.hs"; ht: "ex.ht"; hu: "ex.hu"; hv: "ex.hv"; hw: "ex.hw"; hx: "ex.hx"; hy: "ex.hy"; hz: "ex.hz"; ia: "ex.ia"; ib: "ex.ib"; ic: "ex.ic"; id: "ex.id"; ie: "ex.ie"; if: "ex.if"; ig: "ex.ig"; ih: "ex.ih"; ii: "ex.ii"; ij: "ex.ij"; ik: "ex.ik"; il: "ex.il"; im: "ex.im"; in: "ex.in"; io: "ex.io"; ip: "ex.ip"; iq: "ex.iq"; ir: "ex.ir"; is: "ex.is"; it: "ex.it"; iu: "ex.iu"; iv: "ex.iv"; iw: "ex.iw"; ix: "ex.ix"; iy: "ex.iy"; iz: "ex.iz"; ja: "ex.ja"; jb: "ex.jb"; jc: "ex.jc"; jd: "ex.jd"; je: "ex.je"; jf: "ex.jf"; jg: "ex.jg"; jh: "ex.jh"; ji: "ex.ji"; jj: "ex.jj"; jk: "ex.jk"; jl: "ex.jl"; jm: "ex.jm"; jn: "ex.jn"; jo: "ex.jo"; jp: "ex.jp"; jq: "ex.jq"; jr: "ex.jr"; js: "ex.js"; jt: "ex.jt"; ju: "ex.ju"; jv: "ex.jv"; jw: "ex.jw"; jx: "ex.jx"; jy: "ex.jy"; jz: "ex.jz"; ka: "ex.ka"; kb: "ex.kb"; kc: "ex.kc"; kd: "ex.kd"; ke: "ex.ke"; kf: "ex.kf"; kg: "ex.kg"; kh: "ex.kh"; ki: "ex.ki"; kj: "ex.kj"; kk: "ex.kk"; kl: "ex.kl"; km: "ex.km"; kn: "ex.kn"; ko: "ex.ko"; kp: "ex.kp"; kq: "ex.kq"; kr: "ex.kr"; ks: "ex.ks"; kt: "ex.kt"; ku: "ex.ku"; kv: "ex.kv"; kw: "ex.kw"; kx: "ex.kx"; ky: "ex.ky"; kz: "ex.kz"; la: "ex.la"; lb: "ex.lb"; lc: "ex.lc"; ld: "ex.ld"; le: "ex.le"; lf: "ex.lf"; lg: "ex.lg"; lh: "ex.lh"; li: "ex.li"; lj: "ex.lj"; lk: "ex.lk"; ll: "ex.ll"; lm: "ex.lm"; ln: "ex.ln"; lo: "ex.lo"; lp: "ex.lp"; lq: "ex.lq"; lr: "ex.lr"; ls: "ex.ls"; lt: "ex.lt"; lu: "ex.lu"; lv: "ex.lv"; lw: "ex.lw"; lx: "ex.lx"; ly: "ex.ly"; lz: "ex.lz"; ma: "ex.ma"; mb: "ex.mb"; mc: "ex.mc"; md: "ex.md"; me: "ex.me"; mf: "ex.mf"; mg: "ex.mg"; mh: "ex.mh"; mi: "ex.mi"; mj: "ex.mj"; mk: "ex.mk"; ml: "ex.ml"; mm: "ex.mm"; mn: "ex.mn"; mo: "ex.mo"; mp: "ex.mp"; mq: "ex.mq"; mr: "ex.mr"; ms: "ex.ms"; mt: "ex.mt"; mu: "ex.mu"; mv: "ex.mv"; mw: "ex.mw"; mx: "ex.mx"; my: "ex.my"; mz: "ex.mz"; na: "ex.na"; nb: "ex.nb"; nc: "ex.nc"; nd: "ex.nd"; ne: "ex.ne"; nf: "ex.nf"; ng: "ex.ng"; nh: "ex.nh"; ni: "ex.ni"; nj: "ex.nj"; nk: "ex.nk"; nl: "ex.nl"; nm: "ex.nm"; nn: "ex.nn"; no: "ex.no"; np: "ex.np"; nq: "ex.nq"; nr: "ex.nr"; ns: "ex.ns"; nt: "ex.nt"; nu: "ex.nu"; nv: "ex.nv"; nw: "ex.nw"; nx: "ex.nx"; ny: "ex.ny"; nz: "ex.nz"; oa: "ex.oa"; ob: "ex.ob"; oc: "ex.oc"; od: "ex.od"; oe: "ex.oe"; of: "ex.of"; og: "ex.og"; oh: "ex.oh"; oi: "ex.oi"; oj: "ex.oj"; ok: "ex.ok"; ol: "ex.ol"; om: "ex.om"; on: "ex.on"; oo: "ex.oo"; op: "ex.op"; oq: "ex.oq"; or: "ex.or"; os: "ex.os"; ot: "ex.ot"; ou: "ex.ou"; ov: "ex.ov"; ow: "ex.ow"; ox: "ex.ox"; oy: "ex.oy"; oz: "ex.oz"; pa: "ex.pa"; pb: "ex.pb"; pc: "ex.pc"; pd: "ex.pd"; pe: "ex.pe"; pf: "ex.pf"; pg: "ex.pg"; ph: "ex.ph"; pi: "ex.pi"; pj: "ex.pj"; pk: "ex.pk"; pl: "ex.pl"; pm: "ex.pm"; pn: "ex.pn"; po: "ex.po"; pp: "ex.pp"; pq: "ex.pq"; pr: "ex.pr"; ps: "ex.ps"; pt: "ex.pt"; pu: "ex.pu"; pv: "ex.pv"; pw: "ex.pw"; px: "ex.px"; py: "ex.py"; pz: "ex.pz"; qa: "ex.qa"; qb: "ex.qb"; qc: "ex.qc"; qd: "ex.qd"; qe: "ex.qe"; qf: "ex.qf"; qg: "ex.qg"; qh: "ex.qh"; qi: "ex.qi"; qj: "ex.qj"; qk: "ex.qk"; ql: "ex.ql"; qm: "ex.qm"; qn: "ex.qn"; qo: "ex.qo"; qp: "ex.qp"; qq: "ex.qq"; qr: "ex.qr"; qs: "ex.qs"; qt: "ex.qt"; qu: "ex.qu"; qv: "ex.qv"; qw: "ex.qw"; qx: "ex.qx"; qy: "ex.qy"; qz: "ex.qz"; ra: "ex.ra"; rb: "ex.rb"; rc: "ex.rc"; rd: "ex.rd"; re: "ex.re"; rf: "ex.rf"; rg: "ex.rg"; rh: "ex.rh"; ri: "ex.ri"; rj: "ex.rj"; rk: "ex.rk"; rl: "ex.rl"; rm: "ex.rm"; rn: "ex.rn"; ro: "ex.ro"; rp: "ex.rp"; rq: "ex.rq"; rr: "ex.rr"; rs: "ex.rs"; rt: "ex.rt"; ru: "ex.ru"; rv: "ex.rv"; rw: "ex.rw"; rx: "ex.rx"; ry: "ex.ry"; rz: "ex.rz"; sa: "ex.sa"; sb: "ex.sb"; sc: "ex.sc"; sd: "ex.sd"; se: "ex.se"; sf: "ex.sf"; sg: "ex.sg"; sh: "ex.sh"; si: "ex.si"; sj: "ex.sj"; sk: "ex.sk"; sl: "ex.sl"; sm: "ex.sm"; sn: "ex.sn"; so: "ex.so"; sp: "ex.sp"; sq: "ex.sq"; sr: "ex.sr"; ss: "ex.ss"; st: "ex.st"; su: "ex.su"; sv: "ex.sv"; sw: "ex.sw"; sx: "ex.sx"; sy: "ex.sy"; sz: "ex.sz"; ta: "ex.ta"; tb: "ex.tb"; tc: "ex.tc"; td: "ex.td"; te: "ex.te"; tf: "ex.tf"; tg: "ex.tg"; th: "ex.th"; ti: "ex.ti"; tj: "ex.tj"; tk: "ex.tk"; tl: "ex.tl"; tm: "ex.tm"; tn: "ex.tn"; to: "ex.to"; tp: "ex.tp"; tq: "ex.tq"; tr: "ex.tr"; ts: "ex.ts"; tt: "ex.tt"; tu: "ex.tu"; tv: "ex.tv"; tw: "ex.tw"; tx: "ex.tx"; ty: "ex.ty"; tz: "ex.tz"; ua: "ex.ua"; ub: "ex.ub"; uc: "ex.uc"; ud: "ex.ud"; ue: "ex.ue"; uf: "ex.uf"; ug: "ex.ug"; uh: "ex.uh"; ui: "ex.ui"; uj: "ex.uj"; uk: "ex.uk"; ul: "ex.ul"; um: "ex.um"; un: "ex.un"; uo: "ex.uo"; up: "ex.up"; uq: "ex.uq"; ur: "ex.ur"; us: "ex.us"; ut: "ex.ut"; uu: "ex.uu"; uv: "ex.uv"; uw: "ex.uw"; ux: "ex.ux"; uy: "ex.uy"; uz: "ex.uz"; va: "ex.va"; vb: "ex.vb"; vc: "ex.vc"; vd: "ex.vd"; ve: "ex.ve"; vf: "ex.vf"; vg: "ex.vg"; vh: "ex.vh"; vi: "ex.vi"; vj: "ex.vj"; vk: "ex.vk"; vl: "ex.vl"; vm: "ex.vm"; vn: "ex.vn"; vo: "ex.vo"; vp: "ex.vp"; vq: "ex.vq"; vr: "ex.vr"; vs: "ex.vs"; vt: "ex.vt"; vu: "ex.vu"; vv: "ex.vv"; vw: "ex.vw"; vx: "ex.vx"; vy: "ex.vy"; vz: "ex.vz"; wa: "ex.wa"; wb: "ex.wb"; wc: "ex.wc"; wd: "ex.wd"; we: "ex.we"; wf: "ex.wf"; wg: "ex.wg"; wh: "ex.wh"; wi: "ex.wi"; wj: "ex.wj"; wk: "ex.wk"; wl: "ex.wl"; wm: "ex.wm"; wn: "ex.wn"; wo: "ex.wo"; wp: "ex.wp"; wq: "ex.wq"; wr: "ex.wr"; ws: "ex.ws"; wt: "ex.wt"; wu: "ex.wu"; wv: "ex.wv"; ww: "ex.ww"; wx: "ex.wx"; wy: "ex.wy"; wz: "ex.wz"; xa: "ex.xa"; xb: "ex.xb"; xc: "ex.xc"; xd: "ex.xd"; xe: "ex.xe"; xf: "ex.xf"; xg: "ex.xg"; xh: "ex.xh"; xi: "ex.xi"; xj: "ex.xj"; xk: "ex.xk"; xl: "ex.xl"; xm: "ex.xm"; xn: "ex.xn"; xo: "ex.xo"; xp: "ex.xp"; xq: "ex.xq"; xr: "ex.xr"; xs: "ex.xs"; xt: "ex.xt"; xu: "ex.xu"; xv: "ex.xv"; xw: "ex.xw"; xx: "ex.xx"; xy: "ex.xy"; xz: "ex.xz"; ya: "ex.ya"; yb: "ex.yb"; yc: "ex.yc"; yd: "ex.yd"; ye: "ex.ye"; yf: "ex.yf"; yg: "ex.yg"; yh: "ex.yh"; yi: "ex.yi"; yj: "ex.yj"; yk: "ex.yk"; yl: "ex.yl"; ym: "ex.ym"; yn: "ex.yn"; yo: "ex.yo"; yp: "ex.yp"; yq: "ex.yq"; yr: "ex.yr"; ys: "ex.ys"; yt: "ex.yt"; yu: "ex.yu"; yv: "ex.yv"; yw: "ex.yw"; yx: "ex.yx"; yy: "ex.yy"; yz: "ex.yz"; za: "ex.za"; zb: "ex.zb"; zc: "ex.zc"; zd: "ex.zd"; ze: "ex.ze"; zf: "ex.zf"; zg: "ex.zg"; zh: "ex.zh"; zi: "ex.zi"; zj: "ex.zj"; zk: "ex.zk"; zl: "ex.zl"; zm: "ex.zm"; zn: "ex.zn"; zo: "ex.zo"; zp: "ex.zp"; zq: "ex.zq"; zr: "ex.zr"; zs: "ex.zs"; zt: "ex.zt"; zu: "ex.zu"; zv: "ex.zv"; zw: "ex.zw"; zx: "ex.zx"; zy: "ex.zy"; zz: "ex.zz"; }; ey: { aa: "ey.aa"; ab: "ey.ab"; ac: "ey.ac"; ad: "ey.ad"; ae: "ey.ae"; af: "ey.af"; ag: "ey.ag"; ah: "ey.ah"; ai: "ey.ai"; aj: "ey.aj"; ak: "ey.ak"; al: "ey.al"; am: "ey.am"; an: "ey.an"; ao: "ey.ao"; ap: "ey.ap"; aq: "ey.aq"; ar: "ey.ar"; as: "ey.as"; at: "ey.at"; au: "ey.au"; av: "ey.av"; aw: "ey.aw"; ax: "ey.ax"; ay: "ey.ay"; az: "ey.az"; ba: "ey.ba"; bb: "ey.bb"; bc: "ey.bc"; bd: "ey.bd"; be: "ey.be"; bf: "ey.bf"; bg: "ey.bg"; bh: "ey.bh"; bi: "ey.bi"; bj: "ey.bj"; bk: "ey.bk"; bl: "ey.bl"; bm: "ey.bm"; bn: "ey.bn"; bo: "ey.bo"; bp: "ey.bp"; bq: "ey.bq"; br: "ey.br"; bs: "ey.bs"; bt: "ey.bt"; bu: "ey.bu"; bv: "ey.bv"; bw: "ey.bw"; bx: "ey.bx"; by: "ey.by"; bz: "ey.bz"; ca: "ey.ca"; cb: "ey.cb"; cc: "ey.cc"; cd: "ey.cd"; ce: "ey.ce"; cf: "ey.cf"; cg: "ey.cg"; ch: "ey.ch"; ci: "ey.ci"; cj: "ey.cj"; ck: "ey.ck"; cl: "ey.cl"; cm: "ey.cm"; cn: "ey.cn"; co: "ey.co"; cp: "ey.cp"; cq: "ey.cq"; cr: "ey.cr"; cs: "ey.cs"; ct: "ey.ct"; cu: "ey.cu"; cv: "ey.cv"; cw: "ey.cw"; cx: "ey.cx"; cy: "ey.cy"; cz: "ey.cz"; da: "ey.da"; db: "ey.db"; dc: "ey.dc"; dd: "ey.dd"; de: "ey.de"; df: "ey.df"; dg: "ey.dg"; dh: "ey.dh"; di: "ey.di"; dj: "ey.dj"; dk: "ey.dk"; dl: "ey.dl"; dm: "ey.dm"; dn: "ey.dn"; do: "ey.do"; dp: "ey.dp"; dq: "ey.dq"; dr: "ey.dr"; ds: "ey.ds"; dt: "ey.dt"; du: "ey.du"; dv: "ey.dv"; dw: "ey.dw"; dx: "ey.dx"; dy: "ey.dy"; dz: "ey.dz"; ea: "ey.ea"; eb: "ey.eb"; ec: "ey.ec"; ed: "ey.ed"; ee: "ey.ee"; ef: "ey.ef"; eg: "ey.eg"; eh: "ey.eh"; ei: "ey.ei"; ej: "ey.ej"; ek: "ey.ek"; el: "ey.el"; em: "ey.em"; en: "ey.en"; eo: "ey.eo"; ep: "ey.ep"; eq: "ey.eq"; er: "ey.er"; es: "ey.es"; et: "ey.et"; eu: "ey.eu"; ev: "ey.ev"; ew: "ey.ew"; ex: "ey.ex"; ey: "ey.ey"; ez: "ey.ez"; fa: "ey.fa"; fb: "ey.fb"; fc: "ey.fc"; fd: "ey.fd"; fe: "ey.fe"; ff: "ey.ff"; fg: "ey.fg"; fh: "ey.fh"; fi: "ey.fi"; fj: "ey.fj"; fk: "ey.fk"; fl: "ey.fl"; fm: "ey.fm"; fn: "ey.fn"; fo: "ey.fo"; fp: "ey.fp"; fq: "ey.fq"; fr: "ey.fr"; fs: "ey.fs"; ft: "ey.ft"; fu: "ey.fu"; fv: "ey.fv"; fw: "ey.fw"; fx: "ey.fx"; fy: "ey.fy"; fz: "ey.fz"; ga: "ey.ga"; gb: "ey.gb"; gc: "ey.gc"; gd: "ey.gd"; ge: "ey.ge"; gf: "ey.gf"; gg: "ey.gg"; gh: "ey.gh"; gi: "ey.gi"; gj: "ey.gj"; gk: "ey.gk"; gl: "ey.gl"; gm: "ey.gm"; gn: "ey.gn"; go: "ey.go"; gp: "ey.gp"; gq: "ey.gq"; gr: "ey.gr"; gs: "ey.gs"; gt: "ey.gt"; gu: "ey.gu"; gv: "ey.gv"; gw: "ey.gw"; gx: "ey.gx"; gy: "ey.gy"; gz: "ey.gz"; ha: "ey.ha"; hb: "ey.hb"; hc: "ey.hc"; hd: "ey.hd"; he: "ey.he"; hf: "ey.hf"; hg: "ey.hg"; hh: "ey.hh"; hi: "ey.hi"; hj: "ey.hj"; hk: "ey.hk"; hl: "ey.hl"; hm: "ey.hm"; hn: "ey.hn"; ho: "ey.ho"; hp: "ey.hp"; hq: "ey.hq"; hr: "ey.hr"; hs: "ey.hs"; ht: "ey.ht"; hu: "ey.hu"; hv: "ey.hv"; hw: "ey.hw"; hx: "ey.hx"; hy: "ey.hy"; hz: "ey.hz"; ia: "ey.ia"; ib: "ey.ib"; ic: "ey.ic"; id: "ey.id"; ie: "ey.ie"; if: "ey.if"; ig: "ey.ig"; ih: "ey.ih"; ii: "ey.ii"; ij: "ey.ij"; ik: "ey.ik"; il: "ey.il"; im: "ey.im"; in: "ey.in"; io: "ey.io"; ip: "ey.ip"; iq: "ey.iq"; ir: "ey.ir"; is: "ey.is"; it: "ey.it"; iu: "ey.iu"; iv: "ey.iv"; iw: "ey.iw"; ix: "ey.ix"; iy: "ey.iy"; iz: "ey.iz"; ja: "ey.ja"; jb: "ey.jb"; jc: "ey.jc"; jd: "ey.jd"; je: "ey.je"; jf: "ey.jf"; jg: "ey.jg"; jh: "ey.jh"; ji: "ey.ji"; jj: "ey.jj"; jk: "ey.jk"; jl: "ey.jl"; jm: "ey.jm"; jn: "ey.jn"; jo: "ey.jo"; jp: "ey.jp"; jq: "ey.jq"; jr: "ey.jr"; js: "ey.js"; jt: "ey.jt"; ju: "ey.ju"; jv: "ey.jv"; jw: "ey.jw"; jx: "ey.jx"; jy: "ey.jy"; jz: "ey.jz"; ka: "ey.ka"; kb: "ey.kb"; kc: "ey.kc"; kd: "ey.kd"; ke: "ey.ke"; kf: "ey.kf"; kg: "ey.kg"; kh: "ey.kh"; ki: "ey.ki"; kj: "ey.kj"; kk: "ey.kk"; kl: "ey.kl"; km: "ey.km"; kn: "ey.kn"; ko: "ey.ko"; kp: "ey.kp"; kq: "ey.kq"; kr: "ey.kr"; ks: "ey.ks"; kt: "ey.kt"; ku: "ey.ku"; kv: "ey.kv"; kw: "ey.kw"; kx: "ey.kx"; ky: "ey.ky"; kz: "ey.kz"; la: "ey.la"; lb: "ey.lb"; lc: "ey.lc"; ld: "ey.ld"; le: "ey.le"; lf: "ey.lf"; lg: "ey.lg"; lh: "ey.lh"; li: "ey.li"; lj: "ey.lj"; lk: "ey.lk"; ll: "ey.ll"; lm: "ey.lm"; ln: "ey.ln"; lo: "ey.lo"; lp: "ey.lp"; lq: "ey.lq"; lr: "ey.lr"; ls: "ey.ls"; lt: "ey.lt"; lu: "ey.lu"; lv: "ey.lv"; lw: "ey.lw"; lx: "ey.lx"; ly: "ey.ly"; lz: "ey.lz"; ma: "ey.ma"; mb: "ey.mb"; mc: "ey.mc"; md: "ey.md"; me: "ey.me"; mf: "ey.mf"; mg: "ey.mg"; mh: "ey.mh"; mi: "ey.mi"; mj: "ey.mj"; mk: "ey.mk"; ml: "ey.ml"; mm: "ey.mm"; mn: "ey.mn"; mo: "ey.mo"; mp: "ey.mp"; mq: "ey.mq"; mr: "ey.mr"; ms: "ey.ms"; mt: "ey.mt"; mu: "ey.mu"; mv: "ey.mv"; mw: "ey.mw"; mx: "ey.mx"; my: "ey.my"; mz: "ey.mz"; na: "ey.na"; nb: "ey.nb"; nc: "ey.nc"; nd: "ey.nd"; ne: "ey.ne"; nf: "ey.nf"; ng: "ey.ng"; nh: "ey.nh"; ni: "ey.ni"; nj: "ey.nj"; nk: "ey.nk"; nl: "ey.nl"; nm: "ey.nm"; nn: "ey.nn"; no: "ey.no"; np: "ey.np"; nq: "ey.nq"; nr: "ey.nr"; ns: "ey.ns"; nt: "ey.nt"; nu: "ey.nu"; nv: "ey.nv"; nw: "ey.nw"; nx: "ey.nx"; ny: "ey.ny"; nz: "ey.nz"; oa: "ey.oa"; ob: "ey.ob"; oc: "ey.oc"; od: "ey.od"; oe: "ey.oe"; of: "ey.of"; og: "ey.og"; oh: "ey.oh"; oi: "ey.oi"; oj: "ey.oj"; ok: "ey.ok"; ol: "ey.ol"; om: "ey.om"; on: "ey.on"; oo: "ey.oo"; op: "ey.op"; oq: "ey.oq"; or: "ey.or"; os: "ey.os"; ot: "ey.ot"; ou: "ey.ou"; ov: "ey.ov"; ow: "ey.ow"; ox: "ey.ox"; oy: "ey.oy"; oz: "ey.oz"; pa: "ey.pa"; pb: "ey.pb"; pc: "ey.pc"; pd: "ey.pd"; pe: "ey.pe"; pf: "ey.pf"; pg: "ey.pg"; ph: "ey.ph"; pi: "ey.pi"; pj: "ey.pj"; pk: "ey.pk"; pl: "ey.pl"; pm: "ey.pm"; pn: "ey.pn"; po: "ey.po"; pp: "ey.pp"; pq: "ey.pq"; pr: "ey.pr"; ps: "ey.ps"; pt: "ey.pt"; pu: "ey.pu"; pv: "ey.pv"; pw: "ey.pw"; px: "ey.px"; py: "ey.py"; pz: "ey.pz"; qa: "ey.qa"; qb: "ey.qb"; qc: "ey.qc"; qd: "ey.qd"; qe: "ey.qe"; qf: "ey.qf"; qg: "ey.qg"; qh: "ey.qh"; qi: "ey.qi"; qj: "ey.qj"; qk: "ey.qk"; ql: "ey.ql"; qm: "ey.qm"; qn: "ey.qn"; qo: "ey.qo"; qp: "ey.qp"; qq: "ey.qq"; qr: "ey.qr"; qs: "ey.qs"; qt: "ey.qt"; qu: "ey.qu"; qv: "ey.qv"; qw: "ey.qw"; qx: "ey.qx"; qy: "ey.qy"; qz: "ey.qz"; ra: "ey.ra"; rb: "ey.rb"; rc: "ey.rc"; rd: "ey.rd"; re: "ey.re"; rf: "ey.rf"; rg: "ey.rg"; rh: "ey.rh"; ri: "ey.ri"; rj: "ey.rj"; rk: "ey.rk"; rl: "ey.rl"; rm: "ey.rm"; rn: "ey.rn"; ro: "ey.ro"; rp: "ey.rp"; rq: "ey.rq"; rr: "ey.rr"; rs: "ey.rs"; rt: "ey.rt"; ru: "ey.ru"; rv: "ey.rv"; rw: "ey.rw"; rx: "ey.rx"; ry: "ey.ry"; rz: "ey.rz"; sa: "ey.sa"; sb: "ey.sb"; sc: "ey.sc"; sd: "ey.sd"; se: "ey.se"; sf: "ey.sf"; sg: "ey.sg"; sh: "ey.sh"; si: "ey.si"; sj: "ey.sj"; sk: "ey.sk"; sl: "ey.sl"; sm: "ey.sm"; sn: "ey.sn"; so: "ey.so"; sp: "ey.sp"; sq: "ey.sq"; sr: "ey.sr"; ss: "ey.ss"; st: "ey.st"; su: "ey.su"; sv: "ey.sv"; sw: "ey.sw"; sx: "ey.sx"; sy: "ey.sy"; sz: "ey.sz"; ta: "ey.ta"; tb: "ey.tb"; tc: "ey.tc"; td: "ey.td"; te: "ey.te"; tf: "ey.tf"; tg: "ey.tg"; th: "ey.th"; ti: "ey.ti"; tj: "ey.tj"; tk: "ey.tk"; tl: "ey.tl"; tm: "ey.tm"; tn: "ey.tn"; to: "ey.to"; tp: "ey.tp"; tq: "ey.tq"; tr: "ey.tr"; ts: "ey.ts"; tt: "ey.tt"; tu: "ey.tu"; tv: "ey.tv"; tw: "ey.tw"; tx: "ey.tx"; ty: "ey.ty"; tz: "ey.tz"; ua: "ey.ua"; ub: "ey.ub"; uc: "ey.uc"; ud: "ey.ud"; ue: "ey.ue"; uf: "ey.uf"; ug: "ey.ug"; uh: "ey.uh"; ui: "ey.ui"; uj: "ey.uj"; uk: "ey.uk"; ul: "ey.ul"; um: "ey.um"; un: "ey.un"; uo: "ey.uo"; up: "ey.up"; uq: "ey.uq"; ur: "ey.ur"; us: "ey.us"; ut: "ey.ut"; uu: "ey.uu"; uv: "ey.uv"; uw: "ey.uw"; ux: "ey.ux"; uy: "ey.uy"; uz: "ey.uz"; va: "ey.va"; vb: "ey.vb"; vc: "ey.vc"; vd: "ey.vd"; ve: "ey.ve"; vf: "ey.vf"; vg: "ey.vg"; vh: "ey.vh"; vi: "ey.vi"; vj: "ey.vj"; vk: "ey.vk"; vl: "ey.vl"; vm: "ey.vm"; vn: "ey.vn"; vo: "ey.vo"; vp: "ey.vp"; vq: "ey.vq"; vr: "ey.vr"; vs: "ey.vs"; vt: "ey.vt"; vu: "ey.vu"; vv: "ey.vv"; vw: "ey.vw"; vx: "ey.vx"; vy: "ey.vy"; vz: "ey.vz"; wa: "ey.wa"; wb: "ey.wb"; wc: "ey.wc"; wd: "ey.wd"; we: "ey.we"; wf: "ey.wf"; wg: "ey.wg"; wh: "ey.wh"; wi: "ey.wi"; wj: "ey.wj"; wk: "ey.wk"; wl: "ey.wl"; wm: "ey.wm"; wn: "ey.wn"; wo: "ey.wo"; wp: "ey.wp"; wq: "ey.wq"; wr: "ey.wr"; ws: "ey.ws"; wt: "ey.wt"; wu: "ey.wu"; wv: "ey.wv"; ww: "ey.ww"; wx: "ey.wx"; wy: "ey.wy"; wz: "ey.wz"; xa: "ey.xa"; xb: "ey.xb"; xc: "ey.xc"; xd: "ey.xd"; xe: "ey.xe"; xf: "ey.xf"; xg: "ey.xg"; xh: "ey.xh"; xi: "ey.xi"; xj: "ey.xj"; xk: "ey.xk"; xl: "ey.xl"; xm: "ey.xm"; xn: "ey.xn"; xo: "ey.xo"; xp: "ey.xp"; xq: "ey.xq"; xr: "ey.xr"; xs: "ey.xs"; xt: "ey.xt"; xu: "ey.xu"; xv: "ey.xv"; xw: "ey.xw"; xx: "ey.xx"; xy: "ey.xy"; xz: "ey.xz"; ya: "ey.ya"; yb: "ey.yb"; yc: "ey.yc"; yd: "ey.yd"; ye: "ey.ye"; yf: "ey.yf"; yg: "ey.yg"; yh: "ey.yh"; yi: "ey.yi"; yj: "ey.yj"; yk: "ey.yk"; yl: "ey.yl"; ym: "ey.ym"; yn: "ey.yn"; yo: "ey.yo"; yp: "ey.yp"; yq: "ey.yq"; yr: "ey.yr"; ys: "ey.ys"; yt: "ey.yt"; yu: "ey.yu"; yv: "ey.yv"; yw: "ey.yw"; yx: "ey.yx"; yy: "ey.yy"; yz: "ey.yz"; za: "ey.za"; zb: "ey.zb"; zc: "ey.zc"; zd: "ey.zd"; ze: "ey.ze"; zf: "ey.zf"; zg: "ey.zg"; zh: "ey.zh"; zi: "ey.zi"; zj: "ey.zj"; zk: "ey.zk"; zl: "ey.zl"; zm: "ey.zm"; zn: "ey.zn"; zo: "ey.zo"; zp: "ey.zp"; zq: "ey.zq"; zr: "ey.zr"; zs: "ey.zs"; zt: "ey.zt"; zu: "ey.zu"; zv: "ey.zv"; zw: "ey.zw"; zx: "ey.zx"; zy: "ey.zy"; zz: "ey.zz"; }; ez: { aa: "ez.aa"; ab: "ez.ab"; ac: "ez.ac"; ad: "ez.ad"; ae: "ez.ae"; af: "ez.af"; ag: "ez.ag"; ah: "ez.ah"; ai: "ez.ai"; aj: "ez.aj"; ak: "ez.ak"; al: "ez.al"; am: "ez.am"; an: "ez.an"; ao: "ez.ao"; ap: "ez.ap"; aq: "ez.aq"; ar: "ez.ar"; as: "ez.as"; at: "ez.at"; au: "ez.au"; av: "ez.av"; aw: "ez.aw"; ax: "ez.ax"; ay: "ez.ay"; az: "ez.az"; ba: "ez.ba"; bb: "ez.bb"; bc: "ez.bc"; bd: "ez.bd"; be: "ez.be"; bf: "ez.bf"; bg: "ez.bg"; bh: "ez.bh"; bi: "ez.bi"; bj: "ez.bj"; bk: "ez.bk"; bl: "ez.bl"; bm: "ez.bm"; bn: "ez.bn"; bo: "ez.bo"; bp: "ez.bp"; bq: "ez.bq"; br: "ez.br"; bs: "ez.bs"; bt: "ez.bt"; bu: "ez.bu"; bv: "ez.bv"; bw: "ez.bw"; bx: "ez.bx"; by: "ez.by"; bz: "ez.bz"; ca: "ez.ca"; cb: "ez.cb"; cc: "ez.cc"; cd: "ez.cd"; ce: "ez.ce"; cf: "ez.cf"; cg: "ez.cg"; ch: "ez.ch"; ci: "ez.ci"; cj: "ez.cj"; ck: "ez.ck"; cl: "ez.cl"; cm: "ez.cm"; cn: "ez.cn"; co: "ez.co"; cp: "ez.cp"; cq: "ez.cq"; cr: "ez.cr"; cs: "ez.cs"; ct: "ez.ct"; cu: "ez.cu"; cv: "ez.cv"; cw: "ez.cw"; cx: "ez.cx"; cy: "ez.cy"; cz: "ez.cz"; da: "ez.da"; db: "ez.db"; dc: "ez.dc"; dd: "ez.dd"; de: "ez.de"; df: "ez.df"; dg: "ez.dg"; dh: "ez.dh"; di: "ez.di"; dj: "ez.dj"; dk: "ez.dk"; dl: "ez.dl"; dm: "ez.dm"; dn: "ez.dn"; do: "ez.do"; dp: "ez.dp"; dq: "ez.dq"; dr: "ez.dr"; ds: "ez.ds"; dt: "ez.dt"; du: "ez.du"; dv: "ez.dv"; dw: "ez.dw"; dx: "ez.dx"; dy: "ez.dy"; dz: "ez.dz"; ea: "ez.ea"; eb: "ez.eb"; ec: "ez.ec"; ed: "ez.ed"; ee: "ez.ee"; ef: "ez.ef"; eg: "ez.eg"; eh: "ez.eh"; ei: "ez.ei"; ej: "ez.ej"; ek: "ez.ek"; el: "ez.el"; em: "ez.em"; en: "ez.en"; eo: "ez.eo"; ep: "ez.ep"; eq: "ez.eq"; er: "ez.er"; es: "ez.es"; et: "ez.et"; eu: "ez.eu"; ev: "ez.ev"; ew: "ez.ew"; ex: "ez.ex"; ey: "ez.ey"; ez: "ez.ez"; fa: "ez.fa"; fb: "ez.fb"; fc: "ez.fc"; fd: "ez.fd"; fe: "ez.fe"; ff: "ez.ff"; fg: "ez.fg"; fh: "ez.fh"; fi: "ez.fi"; fj: "ez.fj"; fk: "ez.fk"; fl: "ez.fl"; fm: "ez.fm"; fn: "ez.fn"; fo: "ez.fo"; fp: "ez.fp"; fq: "ez.fq"; fr: "ez.fr"; fs: "ez.fs"; ft: "ez.ft"; fu: "ez.fu"; fv: "ez.fv"; fw: "ez.fw"; fx: "ez.fx"; fy: "ez.fy"; fz: "ez.fz"; ga: "ez.ga"; gb: "ez.gb"; gc: "ez.gc"; gd: "ez.gd"; ge: "ez.ge"; gf: "ez.gf"; gg: "ez.gg"; gh: "ez.gh"; gi: "ez.gi"; gj: "ez.gj"; gk: "ez.gk"; gl: "ez.gl"; gm: "ez.gm"; gn: "ez.gn"; go: "ez.go"; gp: "ez.gp"; gq: "ez.gq"; gr: "ez.gr"; gs: "ez.gs"; gt: "ez.gt"; gu: "ez.gu"; gv: "ez.gv"; gw: "ez.gw"; gx: "ez.gx"; gy: "ez.gy"; gz: "ez.gz"; ha: "ez.ha"; hb: "ez.hb"; hc: "ez.hc"; hd: "ez.hd"; he: "ez.he"; hf: "ez.hf"; hg: "ez.hg"; hh: "ez.hh"; hi: "ez.hi"; hj: "ez.hj"; hk: "ez.hk"; hl: "ez.hl"; hm: "ez.hm"; hn: "ez.hn"; ho: "ez.ho"; hp: "ez.hp"; hq: "ez.hq"; hr: "ez.hr"; hs: "ez.hs"; ht: "ez.ht"; hu: "ez.hu"; hv: "ez.hv"; hw: "ez.hw"; hx: "ez.hx"; hy: "ez.hy"; hz: "ez.hz"; ia: "ez.ia"; ib: "ez.ib"; ic: "ez.ic"; id: "ez.id"; ie: "ez.ie"; if: "ez.if"; ig: "ez.ig"; ih: "ez.ih"; ii: "ez.ii"; ij: "ez.ij"; ik: "ez.ik"; il: "ez.il"; im: "ez.im"; in: "ez.in"; io: "ez.io"; ip: "ez.ip"; iq: "ez.iq"; ir: "ez.ir"; is: "ez.is"; it: "ez.it"; iu: "ez.iu"; iv: "ez.iv"; iw: "ez.iw"; ix: "ez.ix"; iy: "ez.iy"; iz: "ez.iz"; ja: "ez.ja"; jb: "ez.jb"; jc: "ez.jc"; jd: "ez.jd"; je: "ez.je"; jf: "ez.jf"; jg: "ez.jg"; jh: "ez.jh"; ji: "ez.ji"; jj: "ez.jj"; jk: "ez.jk"; jl: "ez.jl"; jm: "ez.jm"; jn: "ez.jn"; jo: "ez.jo"; jp: "ez.jp"; jq: "ez.jq"; jr: "ez.jr"; js: "ez.js"; jt: "ez.jt"; ju: "ez.ju"; jv: "ez.jv"; jw: "ez.jw"; jx: "ez.jx"; jy: "ez.jy"; jz: "ez.jz"; ka: "ez.ka"; kb: "ez.kb"; kc: "ez.kc"; kd: "ez.kd"; ke: "ez.ke"; kf: "ez.kf"; kg: "ez.kg"; kh: "ez.kh"; ki: "ez.ki"; kj: "ez.kj"; kk: "ez.kk"; kl: "ez.kl"; km: "ez.km"; kn: "ez.kn"; ko: "ez.ko"; kp: "ez.kp"; kq: "ez.kq"; kr: "ez.kr"; ks: "ez.ks"; kt: "ez.kt"; ku: "ez.ku"; kv: "ez.kv"; kw: "ez.kw"; kx: "ez.kx"; ky: "ez.ky"; kz: "ez.kz"; la: "ez.la"; lb: "ez.lb"; lc: "ez.lc"; ld: "ez.ld"; le: "ez.le"; lf: "ez.lf"; lg: "ez.lg"; lh: "ez.lh"; li: "ez.li"; lj: "ez.lj"; lk: "ez.lk"; ll: "ez.ll"; lm: "ez.lm"; ln: "ez.ln"; lo: "ez.lo"; lp: "ez.lp"; lq: "ez.lq"; lr: "ez.lr"; ls: "ez.ls"; lt: "ez.lt"; lu: "ez.lu"; lv: "ez.lv"; lw: "ez.lw"; lx: "ez.lx"; ly: "ez.ly"; lz: "ez.lz"; ma: "ez.ma"; mb: "ez.mb"; mc: "ez.mc"; md: "ez.md"; me: "ez.me"; mf: "ez.mf"; mg: "ez.mg"; mh: "ez.mh"; mi: "ez.mi"; mj: "ez.mj"; mk: "ez.mk"; ml: "ez.ml"; mm: "ez.mm"; mn: "ez.mn"; mo: "ez.mo"; mp: "ez.mp"; mq: "ez.mq"; mr: "ez.mr"; ms: "ez.ms"; mt: "ez.mt"; mu: "ez.mu"; mv: "ez.mv"; mw: "ez.mw"; mx: "ez.mx"; my: "ez.my"; mz: "ez.mz"; na: "ez.na"; nb: "ez.nb"; nc: "ez.nc"; nd: "ez.nd"; ne: "ez.ne"; nf: "ez.nf"; ng: "ez.ng"; nh: "ez.nh"; ni: "ez.ni"; nj: "ez.nj"; nk: "ez.nk"; nl: "ez.nl"; nm: "ez.nm"; nn: "ez.nn"; no: "ez.no"; np: "ez.np"; nq: "ez.nq"; nr: "ez.nr"; ns: "ez.ns"; nt: "ez.nt"; nu: "ez.nu"; nv: "ez.nv"; nw: "ez.nw"; nx: "ez.nx"; ny: "ez.ny"; nz: "ez.nz"; oa: "ez.oa"; ob: "ez.ob"; oc: "ez.oc"; od: "ez.od"; oe: "ez.oe"; of: "ez.of"; og: "ez.og"; oh: "ez.oh"; oi: "ez.oi"; oj: "ez.oj"; ok: "ez.ok"; ol: "ez.ol"; om: "ez.om"; on: "ez.on"; oo: "ez.oo"; op: "ez.op"; oq: "ez.oq"; or: "ez.or"; os: "ez.os"; ot: "ez.ot"; ou: "ez.ou"; ov: "ez.ov"; ow: "ez.ow"; ox: "ez.ox"; oy: "ez.oy"; oz: "ez.oz"; pa: "ez.pa"; pb: "ez.pb"; pc: "ez.pc"; pd: "ez.pd"; pe: "ez.pe"; pf: "ez.pf"; pg: "ez.pg"; ph: "ez.ph"; pi: "ez.pi"; pj: "ez.pj"; pk: "ez.pk"; pl: "ez.pl"; pm: "ez.pm"; pn: "ez.pn"; po: "ez.po"; pp: "ez.pp"; pq: "ez.pq"; pr: "ez.pr"; ps: "ez.ps"; pt: "ez.pt"; pu: "ez.pu"; pv: "ez.pv"; pw: "ez.pw"; px: "ez.px"; py: "ez.py"; pz: "ez.pz"; qa: "ez.qa"; qb: "ez.qb"; qc: "ez.qc"; qd: "ez.qd"; qe: "ez.qe"; qf: "ez.qf"; qg: "ez.qg"; qh: "ez.qh"; qi: "ez.qi"; qj: "ez.qj"; qk: "ez.qk"; ql: "ez.ql"; qm: "ez.qm"; qn: "ez.qn"; qo: "ez.qo"; qp: "ez.qp"; qq: "ez.qq"; qr: "ez.qr"; qs: "ez.qs"; qt: "ez.qt"; qu: "ez.qu"; qv: "ez.qv"; qw: "ez.qw"; qx: "ez.qx"; qy: "ez.qy"; qz: "ez.qz"; ra: "ez.ra"; rb: "ez.rb"; rc: "ez.rc"; rd: "ez.rd"; re: "ez.re"; rf: "ez.rf"; rg: "ez.rg"; rh: "ez.rh"; ri: "ez.ri"; rj: "ez.rj"; rk: "ez.rk"; rl: "ez.rl"; rm: "ez.rm"; rn: "ez.rn"; ro: "ez.ro"; rp: "ez.rp"; rq: "ez.rq"; rr: "ez.rr"; rs: "ez.rs"; rt: "ez.rt"; ru: "ez.ru"; rv: "ez.rv"; rw: "ez.rw"; rx: "ez.rx"; ry: "ez.ry"; rz: "ez.rz"; sa: "ez.sa"; sb: "ez.sb"; sc: "ez.sc"; sd: "ez.sd"; se: "ez.se"; sf: "ez.sf"; sg: "ez.sg"; sh: "ez.sh"; si: "ez.si"; sj: "ez.sj"; sk: "ez.sk"; sl: "ez.sl"; sm: "ez.sm"; sn: "ez.sn"; so: "ez.so"; sp: "ez.sp"; sq: "ez.sq"; sr: "ez.sr"; ss: "ez.ss"; st: "ez.st"; su: "ez.su"; sv: "ez.sv"; sw: "ez.sw"; sx: "ez.sx"; sy: "ez.sy"; sz: "ez.sz"; ta: "ez.ta"; tb: "ez.tb"; tc: "ez.tc"; td: "ez.td"; te: "ez.te"; tf: "ez.tf"; tg: "ez.tg"; th: "ez.th"; ti: "ez.ti"; tj: "ez.tj"; tk: "ez.tk"; tl: "ez.tl"; tm: "ez.tm"; tn: "ez.tn"; to: "ez.to"; tp: "ez.tp"; tq: "ez.tq"; tr: "ez.tr"; ts: "ez.ts"; tt: "ez.tt"; tu: "ez.tu"; tv: "ez.tv"; tw: "ez.tw"; tx: "ez.tx"; ty: "ez.ty"; tz: "ez.tz"; ua: "ez.ua"; ub: "ez.ub"; uc: "ez.uc"; ud: "ez.ud"; ue: "ez.ue"; uf: "ez.uf"; ug: "ez.ug"; uh: "ez.uh"; ui: "ez.ui"; uj: "ez.uj"; uk: "ez.uk"; ul: "ez.ul"; um: "ez.um"; un: "ez.un"; uo: "ez.uo"; up: "ez.up"; uq: "ez.uq"; ur: "ez.ur"; us: "ez.us"; ut: "ez.ut"; uu: "ez.uu"; uv: "ez.uv"; uw: "ez.uw"; ux: "ez.ux"; uy: "ez.uy"; uz: "ez.uz"; va: "ez.va"; vb: "ez.vb"; vc: "ez.vc"; vd: "ez.vd"; ve: "ez.ve"; vf: "ez.vf"; vg: "ez.vg"; vh: "ez.vh"; vi: "ez.vi"; vj: "ez.vj"; vk: "ez.vk"; vl: "ez.vl"; vm: "ez.vm"; vn: "ez.vn"; vo: "ez.vo"; vp: "ez.vp"; vq: "ez.vq"; vr: "ez.vr"; vs: "ez.vs"; vt: "ez.vt"; vu: "ez.vu"; vv: "ez.vv"; vw: "ez.vw"; vx: "ez.vx"; vy: "ez.vy"; vz: "ez.vz"; wa: "ez.wa"; wb: "ez.wb"; wc: "ez.wc"; wd: "ez.wd"; we: "ez.we"; wf: "ez.wf"; wg: "ez.wg"; wh: "ez.wh"; wi: "ez.wi"; wj: "ez.wj"; wk: "ez.wk"; wl: "ez.wl"; wm: "ez.wm"; wn: "ez.wn"; wo: "ez.wo"; wp: "ez.wp"; wq: "ez.wq"; wr: "ez.wr"; ws: "ez.ws"; wt: "ez.wt"; wu: "ez.wu"; wv: "ez.wv"; ww: "ez.ww"; wx: "ez.wx"; wy: "ez.wy"; wz: "ez.wz"; xa: "ez.xa"; xb: "ez.xb"; xc: "ez.xc"; xd: "ez.xd"; xe: "ez.xe"; xf: "ez.xf"; xg: "ez.xg"; xh: "ez.xh"; xi: "ez.xi"; xj: "ez.xj"; xk: "ez.xk"; xl: "ez.xl"; xm: "ez.xm"; xn: "ez.xn"; xo: "ez.xo"; xp: "ez.xp"; xq: "ez.xq"; xr: "ez.xr"; xs: "ez.xs"; xt: "ez.xt"; xu: "ez.xu"; xv: "ez.xv"; xw: "ez.xw"; xx: "ez.xx"; xy: "ez.xy"; xz: "ez.xz"; ya: "ez.ya"; yb: "ez.yb"; yc: "ez.yc"; yd: "ez.yd"; ye: "ez.ye"; yf: "ez.yf"; yg: "ez.yg"; yh: "ez.yh"; yi: "ez.yi"; yj: "ez.yj"; yk: "ez.yk"; yl: "ez.yl"; ym: "ez.ym"; yn: "ez.yn"; yo: "ez.yo"; yp: "ez.yp"; yq: "ez.yq"; yr: "ez.yr"; ys: "ez.ys"; yt: "ez.yt"; yu: "ez.yu"; yv: "ez.yv"; yw: "ez.yw"; yx: "ez.yx"; yy: "ez.yy"; yz: "ez.yz"; za: "ez.za"; zb: "ez.zb"; zc: "ez.zc"; zd: "ez.zd"; ze: "ez.ze"; zf: "ez.zf"; zg: "ez.zg"; zh: "ez.zh"; zi: "ez.zi"; zj: "ez.zj"; zk: "ez.zk"; zl: "ez.zl"; zm: "ez.zm"; zn: "ez.zn"; zo: "ez.zo"; zp: "ez.zp"; zq: "ez.zq"; zr: "ez.zr"; zs: "ez.zs"; zt: "ez.zt"; zu: "ez.zu"; zv: "ez.zv"; zw: "ez.zw"; zx: "ez.zx"; zy: "ez.zy"; zz: "ez.zz"; }; fa: { aa: "fa.aa"; ab: "fa.ab"; ac: "fa.ac"; ad: "fa.ad"; ae: "fa.ae"; af: "fa.af"; ag: "fa.ag"; ah: "fa.ah"; ai: "fa.ai"; aj: "fa.aj"; ak: "fa.ak"; al: "fa.al"; am: "fa.am"; an: "fa.an"; ao: "fa.ao"; ap: "fa.ap"; aq: "fa.aq"; ar: "fa.ar"; as: "fa.as"; at: "fa.at"; au: "fa.au"; av: "fa.av"; aw: "fa.aw"; ax: "fa.ax"; ay: "fa.ay"; az: "fa.az"; ba: "fa.ba"; bb: "fa.bb"; bc: "fa.bc"; bd: "fa.bd"; be: "fa.be"; bf: "fa.bf"; bg: "fa.bg"; bh: "fa.bh"; bi: "fa.bi"; bj: "fa.bj"; bk: "fa.bk"; bl: "fa.bl"; bm: "fa.bm"; bn: "fa.bn"; bo: "fa.bo"; bp: "fa.bp"; bq: "fa.bq"; br: "fa.br"; bs: "fa.bs"; bt: "fa.bt"; bu: "fa.bu"; bv: "fa.bv"; bw: "fa.bw"; bx: "fa.bx"; by: "fa.by"; bz: "fa.bz"; ca: "fa.ca"; cb: "fa.cb"; cc: "fa.cc"; cd: "fa.cd"; ce: "fa.ce"; cf: "fa.cf"; cg: "fa.cg"; ch: "fa.ch"; ci: "fa.ci"; cj: "fa.cj"; ck: "fa.ck"; cl: "fa.cl"; cm: "fa.cm"; cn: "fa.cn"; co: "fa.co"; cp: "fa.cp"; cq: "fa.cq"; cr: "fa.cr"; cs: "fa.cs"; ct: "fa.ct"; cu: "fa.cu"; cv: "fa.cv"; cw: "fa.cw"; cx: "fa.cx"; cy: "fa.cy"; cz: "fa.cz"; da: "fa.da"; db: "fa.db"; dc: "fa.dc"; dd: "fa.dd"; de: "fa.de"; df: "fa.df"; dg: "fa.dg"; dh: "fa.dh"; di: "fa.di"; dj: "fa.dj"; dk: "fa.dk"; dl: "fa.dl"; dm: "fa.dm"; dn: "fa.dn"; do: "fa.do"; dp: "fa.dp"; dq: "fa.dq"; dr: "fa.dr"; ds: "fa.ds"; dt: "fa.dt"; du: "fa.du"; dv: "fa.dv"; dw: "fa.dw"; dx: "fa.dx"; dy: "fa.dy"; dz: "fa.dz"; ea: "fa.ea"; eb: "fa.eb"; ec: "fa.ec"; ed: "fa.ed"; ee: "fa.ee"; ef: "fa.ef"; eg: "fa.eg"; eh: "fa.eh"; ei: "fa.ei"; ej: "fa.ej"; ek: "fa.ek"; el: "fa.el"; em: "fa.em"; en: "fa.en"; eo: "fa.eo"; ep: "fa.ep"; eq: "fa.eq"; er: "fa.er"; es: "fa.es"; et: "fa.et"; eu: "fa.eu"; ev: "fa.ev"; ew: "fa.ew"; ex: "fa.ex"; ey: "fa.ey"; ez: "fa.ez"; fa: "fa.fa"; fb: "fa.fb"; fc: "fa.fc"; fd: "fa.fd"; fe: "fa.fe"; ff: "fa.ff"; fg: "fa.fg"; fh: "fa.fh"; fi: "fa.fi"; fj: "fa.fj"; fk: "fa.fk"; fl: "fa.fl"; fm: "fa.fm"; fn: "fa.fn"; fo: "fa.fo"; fp: "fa.fp"; fq: "fa.fq"; fr: "fa.fr"; fs: "fa.fs"; ft: "fa.ft"; fu: "fa.fu"; fv: "fa.fv"; fw: "fa.fw"; fx: "fa.fx"; fy: "fa.fy"; fz: "fa.fz"; ga: "fa.ga"; gb: "fa.gb"; gc: "fa.gc"; gd: "fa.gd"; ge: "fa.ge"; gf: "fa.gf"; gg: "fa.gg"; gh: "fa.gh"; gi: "fa.gi"; gj: "fa.gj"; gk: "fa.gk"; gl: "fa.gl"; gm: "fa.gm"; gn: "fa.gn"; go: "fa.go"; gp: "fa.gp"; gq: "fa.gq"; gr: "fa.gr"; gs: "fa.gs"; gt: "fa.gt"; gu: "fa.gu"; gv: "fa.gv"; gw: "fa.gw"; gx: "fa.gx"; gy: "fa.gy"; gz: "fa.gz"; ha: "fa.ha"; hb: "fa.hb"; hc: "fa.hc"; hd: "fa.hd"; he: "fa.he"; hf: "fa.hf"; hg: "fa.hg"; hh: "fa.hh"; hi: "fa.hi"; hj: "fa.hj"; hk: "fa.hk"; hl: "fa.hl"; hm: "fa.hm"; hn: "fa.hn"; ho: "fa.ho"; hp: "fa.hp"; hq: "fa.hq"; hr: "fa.hr"; hs: "fa.hs"; ht: "fa.ht"; hu: "fa.hu"; hv: "fa.hv"; hw: "fa.hw"; hx: "fa.hx"; hy: "fa.hy"; hz: "fa.hz"; ia: "fa.ia"; ib: "fa.ib"; ic: "fa.ic"; id: "fa.id"; ie: "fa.ie"; if: "fa.if"; ig: "fa.ig"; ih: "fa.ih"; ii: "fa.ii"; ij: "fa.ij"; ik: "fa.ik"; il: "fa.il"; im: "fa.im"; in: "fa.in"; io: "fa.io"; ip: "fa.ip"; iq: "fa.iq"; ir: "fa.ir"; is: "fa.is"; it: "fa.it"; iu: "fa.iu"; iv: "fa.iv"; iw: "fa.iw"; ix: "fa.ix"; iy: "fa.iy"; iz: "fa.iz"; ja: "fa.ja"; jb: "fa.jb"; jc: "fa.jc"; jd: "fa.jd"; je: "fa.je"; jf: "fa.jf"; jg: "fa.jg"; jh: "fa.jh"; ji: "fa.ji"; jj: "fa.jj"; jk: "fa.jk"; jl: "fa.jl"; jm: "fa.jm"; jn: "fa.jn"; jo: "fa.jo"; jp: "fa.jp"; jq: "fa.jq"; jr: "fa.jr"; js: "fa.js"; jt: "fa.jt"; ju: "fa.ju"; jv: "fa.jv"; jw: "fa.jw"; jx: "fa.jx"; jy: "fa.jy"; jz: "fa.jz"; ka: "fa.ka"; kb: "fa.kb"; kc: "fa.kc"; kd: "fa.kd"; ke: "fa.ke"; kf: "fa.kf"; kg: "fa.kg"; kh: "fa.kh"; ki: "fa.ki"; kj: "fa.kj"; kk: "fa.kk"; kl: "fa.kl"; km: "fa.km"; kn: "fa.kn"; ko: "fa.ko"; kp: "fa.kp"; kq: "fa.kq"; kr: "fa.kr"; ks: "fa.ks"; kt: "fa.kt"; ku: "fa.ku"; kv: "fa.kv"; kw: "fa.kw"; kx: "fa.kx"; ky: "fa.ky"; kz: "fa.kz"; la: "fa.la"; lb: "fa.lb"; lc: "fa.lc"; ld: "fa.ld"; le: "fa.le"; lf: "fa.lf"; lg: "fa.lg"; lh: "fa.lh"; li: "fa.li"; lj: "fa.lj"; lk: "fa.lk"; ll: "fa.ll"; lm: "fa.lm"; ln: "fa.ln"; lo: "fa.lo"; lp: "fa.lp"; lq: "fa.lq"; lr: "fa.lr"; ls: "fa.ls"; lt: "fa.lt"; lu: "fa.lu"; lv: "fa.lv"; lw: "fa.lw"; lx: "fa.lx"; ly: "fa.ly"; lz: "fa.lz"; ma: "fa.ma"; mb: "fa.mb"; mc: "fa.mc"; md: "fa.md"; me: "fa.me"; mf: "fa.mf"; mg: "fa.mg"; mh: "fa.mh"; mi: "fa.mi"; mj: "fa.mj"; mk: "fa.mk"; ml: "fa.ml"; mm: "fa.mm"; mn: "fa.mn"; mo: "fa.mo"; mp: "fa.mp"; mq: "fa.mq"; mr: "fa.mr"; ms: "fa.ms"; mt: "fa.mt"; mu: "fa.mu"; mv: "fa.mv"; mw: "fa.mw"; mx: "fa.mx"; my: "fa.my"; mz: "fa.mz"; na: "fa.na"; nb: "fa.nb"; nc: "fa.nc"; nd: "fa.nd"; ne: "fa.ne"; nf: "fa.nf"; ng: "fa.ng"; nh: "fa.nh"; ni: "fa.ni"; nj: "fa.nj"; nk: "fa.nk"; nl: "fa.nl"; nm: "fa.nm"; nn: "fa.nn"; no: "fa.no"; np: "fa.np"; nq: "fa.nq"; nr: "fa.nr"; ns: "fa.ns"; nt: "fa.nt"; nu: "fa.nu"; nv: "fa.nv"; nw: "fa.nw"; nx: "fa.nx"; ny: "fa.ny"; nz: "fa.nz"; oa: "fa.oa"; ob: "fa.ob"; oc: "fa.oc"; od: "fa.od"; oe: "fa.oe"; of: "fa.of"; og: "fa.og"; oh: "fa.oh"; oi: "fa.oi"; oj: "fa.oj"; ok: "fa.ok"; ol: "fa.ol"; om: "fa.om"; on: "fa.on"; oo: "fa.oo"; op: "fa.op"; oq: "fa.oq"; or: "fa.or"; os: "fa.os"; ot: "fa.ot"; ou: "fa.ou"; ov: "fa.ov"; ow: "fa.ow"; ox: "fa.ox"; oy: "fa.oy"; oz: "fa.oz"; pa: "fa.pa"; pb: "fa.pb"; pc: "fa.pc"; pd: "fa.pd"; pe: "fa.pe"; pf: "fa.pf"; pg: "fa.pg"; ph: "fa.ph"; pi: "fa.pi"; pj: "fa.pj"; pk: "fa.pk"; pl: "fa.pl"; pm: "fa.pm"; pn: "fa.pn"; po: "fa.po"; pp: "fa.pp"; pq: "fa.pq"; pr: "fa.pr"; ps: "fa.ps"; pt: "fa.pt"; pu: "fa.pu"; pv: "fa.pv"; pw: "fa.pw"; px: "fa.px"; py: "fa.py"; pz: "fa.pz"; qa: "fa.qa"; qb: "fa.qb"; qc: "fa.qc"; qd: "fa.qd"; qe: "fa.qe"; qf: "fa.qf"; qg: "fa.qg"; qh: "fa.qh"; qi: "fa.qi"; qj: "fa.qj"; qk: "fa.qk"; ql: "fa.ql"; qm: "fa.qm"; qn: "fa.qn"; qo: "fa.qo"; qp: "fa.qp"; qq: "fa.qq"; qr: "fa.qr"; qs: "fa.qs"; qt: "fa.qt"; qu: "fa.qu"; qv: "fa.qv"; qw: "fa.qw"; qx: "fa.qx"; qy: "fa.qy"; qz: "fa.qz"; ra: "fa.ra"; rb: "fa.rb"; rc: "fa.rc"; rd: "fa.rd"; re: "fa.re"; rf: "fa.rf"; rg: "fa.rg"; rh: "fa.rh"; ri: "fa.ri"; rj: "fa.rj"; rk: "fa.rk"; rl: "fa.rl"; rm: "fa.rm"; rn: "fa.rn"; ro: "fa.ro"; rp: "fa.rp"; rq: "fa.rq"; rr: "fa.rr"; rs: "fa.rs"; rt: "fa.rt"; ru: "fa.ru"; rv: "fa.rv"; rw: "fa.rw"; rx: "fa.rx"; ry: "fa.ry"; rz: "fa.rz"; sa: "fa.sa"; sb: "fa.sb"; sc: "fa.sc"; sd: "fa.sd"; se: "fa.se"; sf: "fa.sf"; sg: "fa.sg"; sh: "fa.sh"; si: "fa.si"; sj: "fa.sj"; sk: "fa.sk"; sl: "fa.sl"; sm: "fa.sm"; sn: "fa.sn"; so: "fa.so"; sp: "fa.sp"; sq: "fa.sq"; sr: "fa.sr"; ss: "fa.ss"; st: "fa.st"; su: "fa.su"; sv: "fa.sv"; sw: "fa.sw"; sx: "fa.sx"; sy: "fa.sy"; sz: "fa.sz"; ta: "fa.ta"; tb: "fa.tb"; tc: "fa.tc"; td: "fa.td"; te: "fa.te"; tf: "fa.tf"; tg: "fa.tg"; th: "fa.th"; ti: "fa.ti"; tj: "fa.tj"; tk: "fa.tk"; tl: "fa.tl"; tm: "fa.tm"; tn: "fa.tn"; to: "fa.to"; tp: "fa.tp"; tq: "fa.tq"; tr: "fa.tr"; ts: "fa.ts"; tt: "fa.tt"; tu: "fa.tu"; tv: "fa.tv"; tw: "fa.tw"; tx: "fa.tx"; ty: "fa.ty"; tz: "fa.tz"; ua: "fa.ua"; ub: "fa.ub"; uc: "fa.uc"; ud: "fa.ud"; ue: "fa.ue"; uf: "fa.uf"; ug: "fa.ug"; uh: "fa.uh"; ui: "fa.ui"; uj: "fa.uj"; uk: "fa.uk"; ul: "fa.ul"; um: "fa.um"; un: "fa.un"; uo: "fa.uo"; up: "fa.up"; uq: "fa.uq"; ur: "fa.ur"; us: "fa.us"; ut: "fa.ut"; uu: "fa.uu"; uv: "fa.uv"; uw: "fa.uw"; ux: "fa.ux"; uy: "fa.uy"; uz: "fa.uz"; va: "fa.va"; vb: "fa.vb"; vc: "fa.vc"; vd: "fa.vd"; ve: "fa.ve"; vf: "fa.vf"; vg: "fa.vg"; vh: "fa.vh"; vi: "fa.vi"; vj: "fa.vj"; vk: "fa.vk"; vl: "fa.vl"; vm: "fa.vm"; vn: "fa.vn"; vo: "fa.vo"; vp: "fa.vp"; vq: "fa.vq"; vr: "fa.vr"; vs: "fa.vs"; vt: "fa.vt"; vu: "fa.vu"; vv: "fa.vv"; vw: "fa.vw"; vx: "fa.vx"; vy: "fa.vy"; vz: "fa.vz"; wa: "fa.wa"; wb: "fa.wb"; wc: "fa.wc"; wd: "fa.wd"; we: "fa.we"; wf: "fa.wf"; wg: "fa.wg"; wh: "fa.wh"; wi: "fa.wi"; wj: "fa.wj"; wk: "fa.wk"; wl: "fa.wl"; wm: "fa.wm"; wn: "fa.wn"; wo: "fa.wo"; wp: "fa.wp"; wq: "fa.wq"; wr: "fa.wr"; ws: "fa.ws"; wt: "fa.wt"; wu: "fa.wu"; wv: "fa.wv"; ww: "fa.ww"; wx: "fa.wx"; wy: "fa.wy"; wz: "fa.wz"; xa: "fa.xa"; xb: "fa.xb"; xc: "fa.xc"; xd: "fa.xd"; xe: "fa.xe"; xf: "fa.xf"; xg: "fa.xg"; xh: "fa.xh"; xi: "fa.xi"; xj: "fa.xj"; xk: "fa.xk"; xl: "fa.xl"; xm: "fa.xm"; xn: "fa.xn"; xo: "fa.xo"; xp: "fa.xp"; xq: "fa.xq"; xr: "fa.xr"; xs: "fa.xs"; xt: "fa.xt"; xu: "fa.xu"; xv: "fa.xv"; xw: "fa.xw"; xx: "fa.xx"; xy: "fa.xy"; xz: "fa.xz"; ya: "fa.ya"; yb: "fa.yb"; yc: "fa.yc"; yd: "fa.yd"; ye: "fa.ye"; yf: "fa.yf"; yg: "fa.yg"; yh: "fa.yh"; yi: "fa.yi"; yj: "fa.yj"; yk: "fa.yk"; yl: "fa.yl"; ym: "fa.ym"; yn: "fa.yn"; yo: "fa.yo"; yp: "fa.yp"; yq: "fa.yq"; yr: "fa.yr"; ys: "fa.ys"; yt: "fa.yt"; yu: "fa.yu"; yv: "fa.yv"; yw: "fa.yw"; yx: "fa.yx"; yy: "fa.yy"; yz: "fa.yz"; za: "fa.za"; zb: "fa.zb"; zc: "fa.zc"; zd: "fa.zd"; ze: "fa.ze"; zf: "fa.zf"; zg: "fa.zg"; zh: "fa.zh"; zi: "fa.zi"; zj: "fa.zj"; zk: "fa.zk"; zl: "fa.zl"; zm: "fa.zm"; zn: "fa.zn"; zo: "fa.zo"; zp: "fa.zp"; zq: "fa.zq"; zr: "fa.zr"; zs: "fa.zs"; zt: "fa.zt"; zu: "fa.zu"; zv: "fa.zv"; zw: "fa.zw"; zx: "fa.zx"; zy: "fa.zy"; zz: "fa.zz"; }; fb: { aa: "fb.aa"; ab: "fb.ab"; ac: "fb.ac"; ad: "fb.ad"; ae: "fb.ae"; af: "fb.af"; ag: "fb.ag"; ah: "fb.ah"; ai: "fb.ai"; aj: "fb.aj"; ak: "fb.ak"; al: "fb.al"; am: "fb.am"; an: "fb.an"; ao: "fb.ao"; ap: "fb.ap"; aq: "fb.aq"; ar: "fb.ar"; as: "fb.as"; at: "fb.at"; au: "fb.au"; av: "fb.av"; aw: "fb.aw"; ax: "fb.ax"; ay: "fb.ay"; az: "fb.az"; ba: "fb.ba"; bb: "fb.bb"; bc: "fb.bc"; bd: "fb.bd"; be: "fb.be"; bf: "fb.bf"; bg: "fb.bg"; bh: "fb.bh"; bi: "fb.bi"; bj: "fb.bj"; bk: "fb.bk"; bl: "fb.bl"; bm: "fb.bm"; bn: "fb.bn"; bo: "fb.bo"; bp: "fb.bp"; bq: "fb.bq"; br: "fb.br"; bs: "fb.bs"; bt: "fb.bt"; bu: "fb.bu"; bv: "fb.bv"; bw: "fb.bw"; bx: "fb.bx"; by: "fb.by"; bz: "fb.bz"; ca: "fb.ca"; cb: "fb.cb"; cc: "fb.cc"; cd: "fb.cd"; ce: "fb.ce"; cf: "fb.cf"; cg: "fb.cg"; ch: "fb.ch"; ci: "fb.ci"; cj: "fb.cj"; ck: "fb.ck"; cl: "fb.cl"; cm: "fb.cm"; cn: "fb.cn"; co: "fb.co"; cp: "fb.cp"; cq: "fb.cq"; cr: "fb.cr"; cs: "fb.cs"; ct: "fb.ct"; cu: "fb.cu"; cv: "fb.cv"; cw: "fb.cw"; cx: "fb.cx"; cy: "fb.cy"; cz: "fb.cz"; da: "fb.da"; db: "fb.db"; dc: "fb.dc"; dd: "fb.dd"; de: "fb.de"; df: "fb.df"; dg: "fb.dg"; dh: "fb.dh"; di: "fb.di"; dj: "fb.dj"; dk: "fb.dk"; dl: "fb.dl"; dm: "fb.dm"; dn: "fb.dn"; do: "fb.do"; dp: "fb.dp"; dq: "fb.dq"; dr: "fb.dr"; ds: "fb.ds"; dt: "fb.dt"; du: "fb.du"; dv: "fb.dv"; dw: "fb.dw"; dx: "fb.dx"; dy: "fb.dy"; dz: "fb.dz"; ea: "fb.ea"; eb: "fb.eb"; ec: "fb.ec"; ed: "fb.ed"; ee: "fb.ee"; ef: "fb.ef"; eg: "fb.eg"; eh: "fb.eh"; ei: "fb.ei"; ej: "fb.ej"; ek: "fb.ek"; el: "fb.el"; em: "fb.em"; en: "fb.en"; eo: "fb.eo"; ep: "fb.ep"; eq: "fb.eq"; er: "fb.er"; es: "fb.es"; et: "fb.et"; eu: "fb.eu"; ev: "fb.ev"; ew: "fb.ew"; ex: "fb.ex"; ey: "fb.ey"; ez: "fb.ez"; fa: "fb.fa"; fb: "fb.fb"; fc: "fb.fc"; fd: "fb.fd"; fe: "fb.fe"; ff: "fb.ff"; fg: "fb.fg"; fh: "fb.fh"; fi: "fb.fi"; fj: "fb.fj"; fk: "fb.fk"; fl: "fb.fl"; fm: "fb.fm"; fn: "fb.fn"; fo: "fb.fo"; fp: "fb.fp"; fq: "fb.fq"; fr: "fb.fr"; fs: "fb.fs"; ft: "fb.ft"; fu: "fb.fu"; fv: "fb.fv"; fw: "fb.fw"; fx: "fb.fx"; fy: "fb.fy"; fz: "fb.fz"; ga: "fb.ga"; gb: "fb.gb"; gc: "fb.gc"; gd: "fb.gd"; ge: "fb.ge"; gf: "fb.gf"; gg: "fb.gg"; gh: "fb.gh"; gi: "fb.gi"; gj: "fb.gj"; gk: "fb.gk"; gl: "fb.gl"; gm: "fb.gm"; gn: "fb.gn"; go: "fb.go"; gp: "fb.gp"; gq: "fb.gq"; gr: "fb.gr"; gs: "fb.gs"; gt: "fb.gt"; gu: "fb.gu"; gv: "fb.gv"; gw: "fb.gw"; gx: "fb.gx"; gy: "fb.gy"; gz: "fb.gz"; ha: "fb.ha"; hb: "fb.hb"; hc: "fb.hc"; hd: "fb.hd"; he: "fb.he"; hf: "fb.hf"; hg: "fb.hg"; hh: "fb.hh"; hi: "fb.hi"; hj: "fb.hj"; hk: "fb.hk"; hl: "fb.hl"; hm: "fb.hm"; hn: "fb.hn"; ho: "fb.ho"; hp: "fb.hp"; hq: "fb.hq"; hr: "fb.hr"; hs: "fb.hs"; ht: "fb.ht"; hu: "fb.hu"; hv: "fb.hv"; hw: "fb.hw"; hx: "fb.hx"; hy: "fb.hy"; hz: "fb.hz"; ia: "fb.ia"; ib: "fb.ib"; ic: "fb.ic"; id: "fb.id"; ie: "fb.ie"; if: "fb.if"; ig: "fb.ig"; ih: "fb.ih"; ii: "fb.ii"; ij: "fb.ij"; ik: "fb.ik"; il: "fb.il"; im: "fb.im"; in: "fb.in"; io: "fb.io"; ip: "fb.ip"; iq: "fb.iq"; ir: "fb.ir"; is: "fb.is"; it: "fb.it"; iu: "fb.iu"; iv: "fb.iv"; iw: "fb.iw"; ix: "fb.ix"; iy: "fb.iy"; iz: "fb.iz"; ja: "fb.ja"; jb: "fb.jb"; jc: "fb.jc"; jd: "fb.jd"; je: "fb.je"; jf: "fb.jf"; jg: "fb.jg"; jh: "fb.jh"; ji: "fb.ji"; jj: "fb.jj"; jk: "fb.jk"; jl: "fb.jl"; jm: "fb.jm"; jn: "fb.jn"; jo: "fb.jo"; jp: "fb.jp"; jq: "fb.jq"; jr: "fb.jr"; js: "fb.js"; jt: "fb.jt"; ju: "fb.ju"; jv: "fb.jv"; jw: "fb.jw"; jx: "fb.jx"; jy: "fb.jy"; jz: "fb.jz"; ka: "fb.ka"; kb: "fb.kb"; kc: "fb.kc"; kd: "fb.kd"; ke: "fb.ke"; kf: "fb.kf"; kg: "fb.kg"; kh: "fb.kh"; ki: "fb.ki"; kj: "fb.kj"; kk: "fb.kk"; kl: "fb.kl"; km: "fb.km"; kn: "fb.kn"; ko: "fb.ko"; kp: "fb.kp"; kq: "fb.kq"; kr: "fb.kr"; ks: "fb.ks"; kt: "fb.kt"; ku: "fb.ku"; kv: "fb.kv"; kw: "fb.kw"; kx: "fb.kx"; ky: "fb.ky"; kz: "fb.kz"; la: "fb.la"; lb: "fb.lb"; lc: "fb.lc"; ld: "fb.ld"; le: "fb.le"; lf: "fb.lf"; lg: "fb.lg"; lh: "fb.lh"; li: "fb.li"; lj: "fb.lj"; lk: "fb.lk"; ll: "fb.ll"; lm: "fb.lm"; ln: "fb.ln"; lo: "fb.lo"; lp: "fb.lp"; lq: "fb.lq"; lr: "fb.lr"; ls: "fb.ls"; lt: "fb.lt"; lu: "fb.lu"; lv: "fb.lv"; lw: "fb.lw"; lx: "fb.lx"; ly: "fb.ly"; lz: "fb.lz"; ma: "fb.ma"; mb: "fb.mb"; mc: "fb.mc"; md: "fb.md"; me: "fb.me"; mf: "fb.mf"; mg: "fb.mg"; mh: "fb.mh"; mi: "fb.mi"; mj: "fb.mj"; mk: "fb.mk"; ml: "fb.ml"; mm: "fb.mm"; mn: "fb.mn"; mo: "fb.mo"; mp: "fb.mp"; mq: "fb.mq"; mr: "fb.mr"; ms: "fb.ms"; mt: "fb.mt"; mu: "fb.mu"; mv: "fb.mv"; mw: "fb.mw"; mx: "fb.mx"; my: "fb.my"; mz: "fb.mz"; na: "fb.na"; nb: "fb.nb"; nc: "fb.nc"; nd: "fb.nd"; ne: "fb.ne"; nf: "fb.nf"; ng: "fb.ng"; nh: "fb.nh"; ni: "fb.ni"; nj: "fb.nj"; nk: "fb.nk"; nl: "fb.nl"; nm: "fb.nm"; nn: "fb.nn"; no: "fb.no"; np: "fb.np"; nq: "fb.nq"; nr: "fb.nr"; ns: "fb.ns"; nt: "fb.nt"; nu: "fb.nu"; nv: "fb.nv"; nw: "fb.nw"; nx: "fb.nx"; ny: "fb.ny"; nz: "fb.nz"; oa: "fb.oa"; ob: "fb.ob"; oc: "fb.oc"; od: "fb.od"; oe: "fb.oe"; of: "fb.of"; og: "fb.og"; oh: "fb.oh"; oi: "fb.oi"; oj: "fb.oj"; ok: "fb.ok"; ol: "fb.ol"; om: "fb.om"; on: "fb.on"; oo: "fb.oo"; op: "fb.op"; oq: "fb.oq"; or: "fb.or"; os: "fb.os"; ot: "fb.ot"; ou: "fb.ou"; ov: "fb.ov"; ow: "fb.ow"; ox: "fb.ox"; oy: "fb.oy"; oz: "fb.oz"; pa: "fb.pa"; pb: "fb.pb"; pc: "fb.pc"; pd: "fb.pd"; pe: "fb.pe"; pf: "fb.pf"; pg: "fb.pg"; ph: "fb.ph"; pi: "fb.pi"; pj: "fb.pj"; pk: "fb.pk"; pl: "fb.pl"; pm: "fb.pm"; pn: "fb.pn"; po: "fb.po"; pp: "fb.pp"; pq: "fb.pq"; pr: "fb.pr"; ps: "fb.ps"; pt: "fb.pt"; pu: "fb.pu"; pv: "fb.pv"; pw: "fb.pw"; px: "fb.px"; py: "fb.py"; pz: "fb.pz"; qa: "fb.qa"; qb: "fb.qb"; qc: "fb.qc"; qd: "fb.qd"; qe: "fb.qe"; qf: "fb.qf"; qg: "fb.qg"; qh: "fb.qh"; qi: "fb.qi"; qj: "fb.qj"; qk: "fb.qk"; ql: "fb.ql"; qm: "fb.qm"; qn: "fb.qn"; qo: "fb.qo"; qp: "fb.qp"; qq: "fb.qq"; qr: "fb.qr"; qs: "fb.qs"; qt: "fb.qt"; qu: "fb.qu"; qv: "fb.qv"; qw: "fb.qw"; qx: "fb.qx"; qy: "fb.qy"; qz: "fb.qz"; ra: "fb.ra"; rb: "fb.rb"; rc: "fb.rc"; rd: "fb.rd"; re: "fb.re"; rf: "fb.rf"; rg: "fb.rg"; rh: "fb.rh"; ri: "fb.ri"; rj: "fb.rj"; rk: "fb.rk"; rl: "fb.rl"; rm: "fb.rm"; rn: "fb.rn"; ro: "fb.ro"; rp: "fb.rp"; rq: "fb.rq"; rr: "fb.rr"; rs: "fb.rs"; rt: "fb.rt"; ru: "fb.ru"; rv: "fb.rv"; rw: "fb.rw"; rx: "fb.rx"; ry: "fb.ry"; rz: "fb.rz"; sa: "fb.sa"; sb: "fb.sb"; sc: "fb.sc"; sd: "fb.sd"; se: "fb.se"; sf: "fb.sf"; sg: "fb.sg"; sh: "fb.sh"; si: "fb.si"; sj: "fb.sj"; sk: "fb.sk"; sl: "fb.sl"; sm: "fb.sm"; sn: "fb.sn"; so: "fb.so"; sp: "fb.sp"; sq: "fb.sq"; sr: "fb.sr"; ss: "fb.ss"; st: "fb.st"; su: "fb.su"; sv: "fb.sv"; sw: "fb.sw"; sx: "fb.sx"; sy: "fb.sy"; sz: "fb.sz"; ta: "fb.ta"; tb: "fb.tb"; tc: "fb.tc"; td: "fb.td"; te: "fb.te"; tf: "fb.tf"; tg: "fb.tg"; th: "fb.th"; ti: "fb.ti"; tj: "fb.tj"; tk: "fb.tk"; tl: "fb.tl"; tm: "fb.tm"; tn: "fb.tn"; to: "fb.to"; tp: "fb.tp"; tq: "fb.tq"; tr: "fb.tr"; ts: "fb.ts"; tt: "fb.tt"; tu: "fb.tu"; tv: "fb.tv"; tw: "fb.tw"; tx: "fb.tx"; ty: "fb.ty"; tz: "fb.tz"; ua: "fb.ua"; ub: "fb.ub"; uc: "fb.uc"; ud: "fb.ud"; ue: "fb.ue"; uf: "fb.uf"; ug: "fb.ug"; uh: "fb.uh"; ui: "fb.ui"; uj: "fb.uj"; uk: "fb.uk"; ul: "fb.ul"; um: "fb.um"; un: "fb.un"; uo: "fb.uo"; up: "fb.up"; uq: "fb.uq"; ur: "fb.ur"; us: "fb.us"; ut: "fb.ut"; uu: "fb.uu"; uv: "fb.uv"; uw: "fb.uw"; ux: "fb.ux"; uy: "fb.uy"; uz: "fb.uz"; va: "fb.va"; vb: "fb.vb"; vc: "fb.vc"; vd: "fb.vd"; ve: "fb.ve"; vf: "fb.vf"; vg: "fb.vg"; vh: "fb.vh"; vi: "fb.vi"; vj: "fb.vj"; vk: "fb.vk"; vl: "fb.vl"; vm: "fb.vm"; vn: "fb.vn"; vo: "fb.vo"; vp: "fb.vp"; vq: "fb.vq"; vr: "fb.vr"; vs: "fb.vs"; vt: "fb.vt"; vu: "fb.vu"; vv: "fb.vv"; vw: "fb.vw"; vx: "fb.vx"; vy: "fb.vy"; vz: "fb.vz"; wa: "fb.wa"; wb: "fb.wb"; wc: "fb.wc"; wd: "fb.wd"; we: "fb.we"; wf: "fb.wf"; wg: "fb.wg"; wh: "fb.wh"; wi: "fb.wi"; wj: "fb.wj"; wk: "fb.wk"; wl: "fb.wl"; wm: "fb.wm"; wn: "fb.wn"; wo: "fb.wo"; wp: "fb.wp"; wq: "fb.wq"; wr: "fb.wr"; ws: "fb.ws"; wt: "fb.wt"; wu: "fb.wu"; wv: "fb.wv"; ww: "fb.ww"; wx: "fb.wx"; wy: "fb.wy"; wz: "fb.wz"; xa: "fb.xa"; xb: "fb.xb"; xc: "fb.xc"; xd: "fb.xd"; xe: "fb.xe"; xf: "fb.xf"; xg: "fb.xg"; xh: "fb.xh"; xi: "fb.xi"; xj: "fb.xj"; xk: "fb.xk"; xl: "fb.xl"; xm: "fb.xm"; xn: "fb.xn"; xo: "fb.xo"; xp: "fb.xp"; xq: "fb.xq"; xr: "fb.xr"; xs: "fb.xs"; xt: "fb.xt"; xu: "fb.xu"; xv: "fb.xv"; xw: "fb.xw"; xx: "fb.xx"; xy: "fb.xy"; xz: "fb.xz"; ya: "fb.ya"; yb: "fb.yb"; yc: "fb.yc"; yd: "fb.yd"; ye: "fb.ye"; yf: "fb.yf"; yg: "fb.yg"; yh: "fb.yh"; yi: "fb.yi"; yj: "fb.yj"; yk: "fb.yk"; yl: "fb.yl"; ym: "fb.ym"; yn: "fb.yn"; yo: "fb.yo"; yp: "fb.yp"; yq: "fb.yq"; yr: "fb.yr"; ys: "fb.ys"; yt: "fb.yt"; yu: "fb.yu"; yv: "fb.yv"; yw: "fb.yw"; yx: "fb.yx"; yy: "fb.yy"; yz: "fb.yz"; za: "fb.za"; zb: "fb.zb"; zc: "fb.zc"; zd: "fb.zd"; ze: "fb.ze"; zf: "fb.zf"; zg: "fb.zg"; zh: "fb.zh"; zi: "fb.zi"; zj: "fb.zj"; zk: "fb.zk"; zl: "fb.zl"; zm: "fb.zm"; zn: "fb.zn"; zo: "fb.zo"; zp: "fb.zp"; zq: "fb.zq"; zr: "fb.zr"; zs: "fb.zs"; zt: "fb.zt"; zu: "fb.zu"; zv: "fb.zv"; zw: "fb.zw"; zx: "fb.zx"; zy: "fb.zy"; zz: "fb.zz"; }; fc: { aa: "fc.aa"; ab: "fc.ab"; ac: "fc.ac"; ad: "fc.ad"; ae: "fc.ae"; af: "fc.af"; ag: "fc.ag"; ah: "fc.ah"; ai: "fc.ai"; aj: "fc.aj"; ak: "fc.ak"; al: "fc.al"; am: "fc.am"; an: "fc.an"; ao: "fc.ao"; ap: "fc.ap"; aq: "fc.aq"; ar: "fc.ar"; as: "fc.as"; at: "fc.at"; au: "fc.au"; av: "fc.av"; aw: "fc.aw"; ax: "fc.ax"; ay: "fc.ay"; az: "fc.az"; ba: "fc.ba"; bb: "fc.bb"; bc: "fc.bc"; bd: "fc.bd"; be: "fc.be"; bf: "fc.bf"; bg: "fc.bg"; bh: "fc.bh"; bi: "fc.bi"; bj: "fc.bj"; bk: "fc.bk"; bl: "fc.bl"; bm: "fc.bm"; bn: "fc.bn"; bo: "fc.bo"; bp: "fc.bp"; bq: "fc.bq"; br: "fc.br"; bs: "fc.bs"; bt: "fc.bt"; bu: "fc.bu"; bv: "fc.bv"; bw: "fc.bw"; bx: "fc.bx"; by: "fc.by"; bz: "fc.bz"; ca: "fc.ca"; cb: "fc.cb"; cc: "fc.cc"; cd: "fc.cd"; ce: "fc.ce"; cf: "fc.cf"; cg: "fc.cg"; ch: "fc.ch"; ci: "fc.ci"; cj: "fc.cj"; ck: "fc.ck"; cl: "fc.cl"; cm: "fc.cm"; cn: "fc.cn"; co: "fc.co"; cp: "fc.cp"; cq: "fc.cq"; cr: "fc.cr"; cs: "fc.cs"; ct: "fc.ct"; cu: "fc.cu"; cv: "fc.cv"; cw: "fc.cw"; cx: "fc.cx"; cy: "fc.cy"; cz: "fc.cz"; da: "fc.da"; db: "fc.db"; dc: "fc.dc"; dd: "fc.dd"; de: "fc.de"; df: "fc.df"; dg: "fc.dg"; dh: "fc.dh"; di: "fc.di"; dj: "fc.dj"; dk: "fc.dk"; dl: "fc.dl"; dm: "fc.dm"; dn: "fc.dn"; do: "fc.do"; dp: "fc.dp"; dq: "fc.dq"; dr: "fc.dr"; ds: "fc.ds"; dt: "fc.dt"; du: "fc.du"; dv: "fc.dv"; dw: "fc.dw"; dx: "fc.dx"; dy: "fc.dy"; dz: "fc.dz"; ea: "fc.ea"; eb: "fc.eb"; ec: "fc.ec"; ed: "fc.ed"; ee: "fc.ee"; ef: "fc.ef"; eg: "fc.eg"; eh: "fc.eh"; ei: "fc.ei"; ej: "fc.ej"; ek: "fc.ek"; el: "fc.el"; em: "fc.em"; en: "fc.en"; eo: "fc.eo"; ep: "fc.ep"; eq: "fc.eq"; er: "fc.er"; es: "fc.es"; et: "fc.et"; eu: "fc.eu"; ev: "fc.ev"; ew: "fc.ew"; ex: "fc.ex"; ey: "fc.ey"; ez: "fc.ez"; fa: "fc.fa"; fb: "fc.fb"; fc: "fc.fc"; fd: "fc.fd"; fe: "fc.fe"; ff: "fc.ff"; fg: "fc.fg"; fh: "fc.fh"; fi: "fc.fi"; fj: "fc.fj"; fk: "fc.fk"; fl: "fc.fl"; fm: "fc.fm"; fn: "fc.fn"; fo: "fc.fo"; fp: "fc.fp"; fq: "fc.fq"; fr: "fc.fr"; fs: "fc.fs"; ft: "fc.ft"; fu: "fc.fu"; fv: "fc.fv"; fw: "fc.fw"; fx: "fc.fx"; fy: "fc.fy"; fz: "fc.fz"; ga: "fc.ga"; gb: "fc.gb"; gc: "fc.gc"; gd: "fc.gd"; ge: "fc.ge"; gf: "fc.gf"; gg: "fc.gg"; gh: "fc.gh"; gi: "fc.gi"; gj: "fc.gj"; gk: "fc.gk"; gl: "fc.gl"; gm: "fc.gm"; gn: "fc.gn"; go: "fc.go"; gp: "fc.gp"; gq: "fc.gq"; gr: "fc.gr"; gs: "fc.gs"; gt: "fc.gt"; gu: "fc.gu"; gv: "fc.gv"; gw: "fc.gw"; gx: "fc.gx"; gy: "fc.gy"; gz: "fc.gz"; ha: "fc.ha"; hb: "fc.hb"; hc: "fc.hc"; hd: "fc.hd"; he: "fc.he"; hf: "fc.hf"; hg: "fc.hg"; hh: "fc.hh"; hi: "fc.hi"; hj: "fc.hj"; hk: "fc.hk"; hl: "fc.hl"; hm: "fc.hm"; hn: "fc.hn"; ho: "fc.ho"; hp: "fc.hp"; hq: "fc.hq"; hr: "fc.hr"; hs: "fc.hs"; ht: "fc.ht"; hu: "fc.hu"; hv: "fc.hv"; hw: "fc.hw"; hx: "fc.hx"; hy: "fc.hy"; hz: "fc.hz"; ia: "fc.ia"; ib: "fc.ib"; ic: "fc.ic"; id: "fc.id"; ie: "fc.ie"; if: "fc.if"; ig: "fc.ig"; ih: "fc.ih"; ii: "fc.ii"; ij: "fc.ij"; ik: "fc.ik"; il: "fc.il"; im: "fc.im"; in: "fc.in"; io: "fc.io"; ip: "fc.ip"; iq: "fc.iq"; ir: "fc.ir"; is: "fc.is"; it: "fc.it"; iu: "fc.iu"; iv: "fc.iv"; iw: "fc.iw"; ix: "fc.ix"; iy: "fc.iy"; iz: "fc.iz"; ja: "fc.ja"; jb: "fc.jb"; jc: "fc.jc"; jd: "fc.jd"; je: "fc.je"; jf: "fc.jf"; jg: "fc.jg"; jh: "fc.jh"; ji: "fc.ji"; jj: "fc.jj"; jk: "fc.jk"; jl: "fc.jl"; jm: "fc.jm"; jn: "fc.jn"; jo: "fc.jo"; jp: "fc.jp"; jq: "fc.jq"; jr: "fc.jr"; js: "fc.js"; jt: "fc.jt"; ju: "fc.ju"; jv: "fc.jv"; jw: "fc.jw"; jx: "fc.jx"; jy: "fc.jy"; jz: "fc.jz"; ka: "fc.ka"; kb: "fc.kb"; kc: "fc.kc"; kd: "fc.kd"; ke: "fc.ke"; kf: "fc.kf"; kg: "fc.kg"; kh: "fc.kh"; ki: "fc.ki"; kj: "fc.kj"; kk: "fc.kk"; kl: "fc.kl"; km: "fc.km"; kn: "fc.kn"; ko: "fc.ko"; kp: "fc.kp"; kq: "fc.kq"; kr: "fc.kr"; ks: "fc.ks"; kt: "fc.kt"; ku: "fc.ku"; kv: "fc.kv"; kw: "fc.kw"; kx: "fc.kx"; ky: "fc.ky"; kz: "fc.kz"; la: "fc.la"; lb: "fc.lb"; lc: "fc.lc"; ld: "fc.ld"; le: "fc.le"; lf: "fc.lf"; lg: "fc.lg"; lh: "fc.lh"; li: "fc.li"; lj: "fc.lj"; lk: "fc.lk"; ll: "fc.ll"; lm: "fc.lm"; ln: "fc.ln"; lo: "fc.lo"; lp: "fc.lp"; lq: "fc.lq"; lr: "fc.lr"; ls: "fc.ls"; lt: "fc.lt"; lu: "fc.lu"; lv: "fc.lv"; lw: "fc.lw"; lx: "fc.lx"; ly: "fc.ly"; lz: "fc.lz"; ma: "fc.ma"; mb: "fc.mb"; mc: "fc.mc"; md: "fc.md"; me: "fc.me"; mf: "fc.mf"; mg: "fc.mg"; mh: "fc.mh"; mi: "fc.mi"; mj: "fc.mj"; mk: "fc.mk"; ml: "fc.ml"; mm: "fc.mm"; mn: "fc.mn"; mo: "fc.mo"; mp: "fc.mp"; mq: "fc.mq"; mr: "fc.mr"; ms: "fc.ms"; mt: "fc.mt"; mu: "fc.mu"; mv: "fc.mv"; mw: "fc.mw"; mx: "fc.mx"; my: "fc.my"; mz: "fc.mz"; na: "fc.na"; nb: "fc.nb"; nc: "fc.nc"; nd: "fc.nd"; ne: "fc.ne"; nf: "fc.nf"; ng: "fc.ng"; nh: "fc.nh"; ni: "fc.ni"; nj: "fc.nj"; nk: "fc.nk"; nl: "fc.nl"; nm: "fc.nm"; nn: "fc.nn"; no: "fc.no"; np: "fc.np"; nq: "fc.nq"; nr: "fc.nr"; ns: "fc.ns"; nt: "fc.nt"; nu: "fc.nu"; nv: "fc.nv"; nw: "fc.nw"; nx: "fc.nx"; ny: "fc.ny"; nz: "fc.nz"; oa: "fc.oa"; ob: "fc.ob"; oc: "fc.oc"; od: "fc.od"; oe: "fc.oe"; of: "fc.of"; og: "fc.og"; oh: "fc.oh"; oi: "fc.oi"; oj: "fc.oj"; ok: "fc.ok"; ol: "fc.ol"; om: "fc.om"; on: "fc.on"; oo: "fc.oo"; op: "fc.op"; oq: "fc.oq"; or: "fc.or"; os: "fc.os"; ot: "fc.ot"; ou: "fc.ou"; ov: "fc.ov"; ow: "fc.ow"; ox: "fc.ox"; oy: "fc.oy"; oz: "fc.oz"; pa: "fc.pa"; pb: "fc.pb"; pc: "fc.pc"; pd: "fc.pd"; pe: "fc.pe"; pf: "fc.pf"; pg: "fc.pg"; ph: "fc.ph"; pi: "fc.pi"; pj: "fc.pj"; pk: "fc.pk"; pl: "fc.pl"; pm: "fc.pm"; pn: "fc.pn"; po: "fc.po"; pp: "fc.pp"; pq: "fc.pq"; pr: "fc.pr"; ps: "fc.ps"; pt: "fc.pt"; pu: "fc.pu"; pv: "fc.pv"; pw: "fc.pw"; px: "fc.px"; py: "fc.py"; pz: "fc.pz"; qa: "fc.qa"; qb: "fc.qb"; qc: "fc.qc"; qd: "fc.qd"; qe: "fc.qe"; qf: "fc.qf"; qg: "fc.qg"; qh: "fc.qh"; qi: "fc.qi"; qj: "fc.qj"; qk: "fc.qk"; ql: "fc.ql"; qm: "fc.qm"; qn: "fc.qn"; qo: "fc.qo"; qp: "fc.qp"; qq: "fc.qq"; qr: "fc.qr"; qs: "fc.qs"; qt: "fc.qt"; qu: "fc.qu"; qv: "fc.qv"; qw: "fc.qw"; qx: "fc.qx"; qy: "fc.qy"; qz: "fc.qz"; ra: "fc.ra"; rb: "fc.rb"; rc: "fc.rc"; rd: "fc.rd"; re: "fc.re"; rf: "fc.rf"; rg: "fc.rg"; rh: "fc.rh"; ri: "fc.ri"; rj: "fc.rj"; rk: "fc.rk"; rl: "fc.rl"; rm: "fc.rm"; rn: "fc.rn"; ro: "fc.ro"; rp: "fc.rp"; rq: "fc.rq"; rr: "fc.rr"; rs: "fc.rs"; rt: "fc.rt"; ru: "fc.ru"; rv: "fc.rv"; rw: "fc.rw"; rx: "fc.rx"; ry: "fc.ry"; rz: "fc.rz"; sa: "fc.sa"; sb: "fc.sb"; sc: "fc.sc"; sd: "fc.sd"; se: "fc.se"; sf: "fc.sf"; sg: "fc.sg"; sh: "fc.sh"; si: "fc.si"; sj: "fc.sj"; sk: "fc.sk"; sl: "fc.sl"; sm: "fc.sm"; sn: "fc.sn"; so: "fc.so"; sp: "fc.sp"; sq: "fc.sq"; sr: "fc.sr"; ss: "fc.ss"; st: "fc.st"; su: "fc.su"; sv: "fc.sv"; sw: "fc.sw"; sx: "fc.sx"; sy: "fc.sy"; sz: "fc.sz"; ta: "fc.ta"; tb: "fc.tb"; tc: "fc.tc"; td: "fc.td"; te: "fc.te"; tf: "fc.tf"; tg: "fc.tg"; th: "fc.th"; ti: "fc.ti"; tj: "fc.tj"; tk: "fc.tk"; tl: "fc.tl"; tm: "fc.tm"; tn: "fc.tn"; to: "fc.to"; tp: "fc.tp"; tq: "fc.tq"; tr: "fc.tr"; ts: "fc.ts"; tt: "fc.tt"; tu: "fc.tu"; tv: "fc.tv"; tw: "fc.tw"; tx: "fc.tx"; ty: "fc.ty"; tz: "fc.tz"; ua: "fc.ua"; ub: "fc.ub"; uc: "fc.uc"; ud: "fc.ud"; ue: "fc.ue"; uf: "fc.uf"; ug: "fc.ug"; uh: "fc.uh"; ui: "fc.ui"; uj: "fc.uj"; uk: "fc.uk"; ul: "fc.ul"; um: "fc.um"; un: "fc.un"; uo: "fc.uo"; up: "fc.up"; uq: "fc.uq"; ur: "fc.ur"; us: "fc.us"; ut: "fc.ut"; uu: "fc.uu"; uv: "fc.uv"; uw: "fc.uw"; ux: "fc.ux"; uy: "fc.uy"; uz: "fc.uz"; va: "fc.va"; vb: "fc.vb"; vc: "fc.vc"; vd: "fc.vd"; ve: "fc.ve"; vf: "fc.vf"; vg: "fc.vg"; vh: "fc.vh"; vi: "fc.vi"; vj: "fc.vj"; vk: "fc.vk"; vl: "fc.vl"; vm: "fc.vm"; vn: "fc.vn"; vo: "fc.vo"; vp: "fc.vp"; vq: "fc.vq"; vr: "fc.vr"; vs: "fc.vs"; vt: "fc.vt"; vu: "fc.vu"; vv: "fc.vv"; vw: "fc.vw"; vx: "fc.vx"; vy: "fc.vy"; vz: "fc.vz"; wa: "fc.wa"; wb: "fc.wb"; wc: "fc.wc"; wd: "fc.wd"; we: "fc.we"; wf: "fc.wf"; wg: "fc.wg"; wh: "fc.wh"; wi: "fc.wi"; wj: "fc.wj"; wk: "fc.wk"; wl: "fc.wl"; wm: "fc.wm"; wn: "fc.wn"; wo: "fc.wo"; wp: "fc.wp"; wq: "fc.wq"; wr: "fc.wr"; ws: "fc.ws"; wt: "fc.wt"; wu: "fc.wu"; wv: "fc.wv"; ww: "fc.ww"; wx: "fc.wx"; wy: "fc.wy"; wz: "fc.wz"; xa: "fc.xa"; xb: "fc.xb"; xc: "fc.xc"; xd: "fc.xd"; xe: "fc.xe"; xf: "fc.xf"; xg: "fc.xg"; xh: "fc.xh"; xi: "fc.xi"; xj: "fc.xj"; xk: "fc.xk"; xl: "fc.xl"; xm: "fc.xm"; xn: "fc.xn"; xo: "fc.xo"; xp: "fc.xp"; xq: "fc.xq"; xr: "fc.xr"; xs: "fc.xs"; xt: "fc.xt"; xu: "fc.xu"; xv: "fc.xv"; xw: "fc.xw"; xx: "fc.xx"; xy: "fc.xy"; xz: "fc.xz"; ya: "fc.ya"; yb: "fc.yb"; yc: "fc.yc"; yd: "fc.yd"; ye: "fc.ye"; yf: "fc.yf"; yg: "fc.yg"; yh: "fc.yh"; yi: "fc.yi"; yj: "fc.yj"; yk: "fc.yk"; yl: "fc.yl"; ym: "fc.ym"; yn: "fc.yn"; yo: "fc.yo"; yp: "fc.yp"; yq: "fc.yq"; yr: "fc.yr"; ys: "fc.ys"; yt: "fc.yt"; yu: "fc.yu"; yv: "fc.yv"; yw: "fc.yw"; yx: "fc.yx"; yy: "fc.yy"; yz: "fc.yz"; za: "fc.za"; zb: "fc.zb"; zc: "fc.zc"; zd: "fc.zd"; ze: "fc.ze"; zf: "fc.zf"; zg: "fc.zg"; zh: "fc.zh"; zi: "fc.zi"; zj: "fc.zj"; zk: "fc.zk"; zl: "fc.zl"; zm: "fc.zm"; zn: "fc.zn"; zo: "fc.zo"; zp: "fc.zp"; zq: "fc.zq"; zr: "fc.zr"; zs: "fc.zs"; zt: "fc.zt"; zu: "fc.zu"; zv: "fc.zv"; zw: "fc.zw"; zx: "fc.zx"; zy: "fc.zy"; zz: "fc.zz"; }; fd: { aa: "fd.aa"; ab: "fd.ab"; ac: "fd.ac"; ad: "fd.ad"; ae: "fd.ae"; af: "fd.af"; ag: "fd.ag"; ah: "fd.ah"; ai: "fd.ai"; aj: "fd.aj"; ak: "fd.ak"; al: "fd.al"; am: "fd.am"; an: "fd.an"; ao: "fd.ao"; ap: "fd.ap"; aq: "fd.aq"; ar: "fd.ar"; as: "fd.as"; at: "fd.at"; au: "fd.au"; av: "fd.av"; aw: "fd.aw"; ax: "fd.ax"; ay: "fd.ay"; az: "fd.az"; ba: "fd.ba"; bb: "fd.bb"; bc: "fd.bc"; bd: "fd.bd"; be: "fd.be"; bf: "fd.bf"; bg: "fd.bg"; bh: "fd.bh"; bi: "fd.bi"; bj: "fd.bj"; bk: "fd.bk"; bl: "fd.bl"; bm: "fd.bm"; bn: "fd.bn"; bo: "fd.bo"; bp: "fd.bp"; bq: "fd.bq"; br: "fd.br"; bs: "fd.bs"; bt: "fd.bt"; bu: "fd.bu"; bv: "fd.bv"; bw: "fd.bw"; bx: "fd.bx"; by: "fd.by"; bz: "fd.bz"; ca: "fd.ca"; cb: "fd.cb"; cc: "fd.cc"; cd: "fd.cd"; ce: "fd.ce"; cf: "fd.cf"; cg: "fd.cg"; ch: "fd.ch"; ci: "fd.ci"; cj: "fd.cj"; ck: "fd.ck"; cl: "fd.cl"; cm: "fd.cm"; cn: "fd.cn"; co: "fd.co"; cp: "fd.cp"; cq: "fd.cq"; cr: "fd.cr"; cs: "fd.cs"; ct: "fd.ct"; cu: "fd.cu"; cv: "fd.cv"; cw: "fd.cw"; cx: "fd.cx"; cy: "fd.cy"; cz: "fd.cz"; da: "fd.da"; db: "fd.db"; dc: "fd.dc"; dd: "fd.dd"; de: "fd.de"; df: "fd.df"; dg: "fd.dg"; dh: "fd.dh"; di: "fd.di"; dj: "fd.dj"; dk: "fd.dk"; dl: "fd.dl"; dm: "fd.dm"; dn: "fd.dn"; do: "fd.do"; dp: "fd.dp"; dq: "fd.dq"; dr: "fd.dr"; ds: "fd.ds"; dt: "fd.dt"; du: "fd.du"; dv: "fd.dv"; dw: "fd.dw"; dx: "fd.dx"; dy: "fd.dy"; dz: "fd.dz"; ea: "fd.ea"; eb: "fd.eb"; ec: "fd.ec"; ed: "fd.ed"; ee: "fd.ee"; ef: "fd.ef"; eg: "fd.eg"; eh: "fd.eh"; ei: "fd.ei"; ej: "fd.ej"; ek: "fd.ek"; el: "fd.el"; em: "fd.em"; en: "fd.en"; eo: "fd.eo"; ep: "fd.ep"; eq: "fd.eq"; er: "fd.er"; es: "fd.es"; et: "fd.et"; eu: "fd.eu"; ev: "fd.ev"; ew: "fd.ew"; ex: "fd.ex"; ey: "fd.ey"; ez: "fd.ez"; fa: "fd.fa"; fb: "fd.fb"; fc: "fd.fc"; fd: "fd.fd"; fe: "fd.fe"; ff: "fd.ff"; fg: "fd.fg"; fh: "fd.fh"; fi: "fd.fi"; fj: "fd.fj"; fk: "fd.fk"; fl: "fd.fl"; fm: "fd.fm"; fn: "fd.fn"; fo: "fd.fo"; fp: "fd.fp"; fq: "fd.fq"; fr: "fd.fr"; fs: "fd.fs"; ft: "fd.ft"; fu: "fd.fu"; fv: "fd.fv"; fw: "fd.fw"; fx: "fd.fx"; fy: "fd.fy"; fz: "fd.fz"; ga: "fd.ga"; gb: "fd.gb"; gc: "fd.gc"; gd: "fd.gd"; ge: "fd.ge"; gf: "fd.gf"; gg: "fd.gg"; gh: "fd.gh"; gi: "fd.gi"; gj: "fd.gj"; gk: "fd.gk"; gl: "fd.gl"; gm: "fd.gm"; gn: "fd.gn"; go: "fd.go"; gp: "fd.gp"; gq: "fd.gq"; gr: "fd.gr"; gs: "fd.gs"; gt: "fd.gt"; gu: "fd.gu"; gv: "fd.gv"; gw: "fd.gw"; gx: "fd.gx"; gy: "fd.gy"; gz: "fd.gz"; ha: "fd.ha"; hb: "fd.hb"; hc: "fd.hc"; hd: "fd.hd"; he: "fd.he"; hf: "fd.hf"; hg: "fd.hg"; hh: "fd.hh"; hi: "fd.hi"; hj: "fd.hj"; hk: "fd.hk"; hl: "fd.hl"; hm: "fd.hm"; hn: "fd.hn"; ho: "fd.ho"; hp: "fd.hp"; hq: "fd.hq"; hr: "fd.hr"; hs: "fd.hs"; ht: "fd.ht"; hu: "fd.hu"; hv: "fd.hv"; hw: "fd.hw"; hx: "fd.hx"; hy: "fd.hy"; hz: "fd.hz"; ia: "fd.ia"; ib: "fd.ib"; ic: "fd.ic"; id: "fd.id"; ie: "fd.ie"; if: "fd.if"; ig: "fd.ig"; ih: "fd.ih"; ii: "fd.ii"; ij: "fd.ij"; ik: "fd.ik"; il: "fd.il"; im: "fd.im"; in: "fd.in"; io: "fd.io"; ip: "fd.ip"; iq: "fd.iq"; ir: "fd.ir"; is: "fd.is"; it: "fd.it"; iu: "fd.iu"; iv: "fd.iv"; iw: "fd.iw"; ix: "fd.ix"; iy: "fd.iy"; iz: "fd.iz"; ja: "fd.ja"; jb: "fd.jb"; jc: "fd.jc"; jd: "fd.jd"; je: "fd.je"; jf: "fd.jf"; jg: "fd.jg"; jh: "fd.jh"; ji: "fd.ji"; jj: "fd.jj"; jk: "fd.jk"; jl: "fd.jl"; jm: "fd.jm"; jn: "fd.jn"; jo: "fd.jo"; jp: "fd.jp"; jq: "fd.jq"; jr: "fd.jr"; js: "fd.js"; jt: "fd.jt"; ju: "fd.ju"; jv: "fd.jv"; jw: "fd.jw"; jx: "fd.jx"; jy: "fd.jy"; jz: "fd.jz"; ka: "fd.ka"; kb: "fd.kb"; kc: "fd.kc"; kd: "fd.kd"; ke: "fd.ke"; kf: "fd.kf"; kg: "fd.kg"; kh: "fd.kh"; ki: "fd.ki"; kj: "fd.kj"; kk: "fd.kk"; kl: "fd.kl"; km: "fd.km"; kn: "fd.kn"; ko: "fd.ko"; kp: "fd.kp"; kq: "fd.kq"; kr: "fd.kr"; ks: "fd.ks"; kt: "fd.kt"; ku: "fd.ku"; kv: "fd.kv"; kw: "fd.kw"; kx: "fd.kx"; ky: "fd.ky"; kz: "fd.kz"; la: "fd.la"; lb: "fd.lb"; lc: "fd.lc"; ld: "fd.ld"; le: "fd.le"; lf: "fd.lf"; lg: "fd.lg"; lh: "fd.lh"; li: "fd.li"; lj: "fd.lj"; lk: "fd.lk"; ll: "fd.ll"; lm: "fd.lm"; ln: "fd.ln"; lo: "fd.lo"; lp: "fd.lp"; lq: "fd.lq"; lr: "fd.lr"; ls: "fd.ls"; lt: "fd.lt"; lu: "fd.lu"; lv: "fd.lv"; lw: "fd.lw"; lx: "fd.lx"; ly: "fd.ly"; lz: "fd.lz"; ma: "fd.ma"; mb: "fd.mb"; mc: "fd.mc"; md: "fd.md"; me: "fd.me"; mf: "fd.mf"; mg: "fd.mg"; mh: "fd.mh"; mi: "fd.mi"; mj: "fd.mj"; mk: "fd.mk"; ml: "fd.ml"; mm: "fd.mm"; mn: "fd.mn"; mo: "fd.mo"; mp: "fd.mp"; mq: "fd.mq"; mr: "fd.mr"; ms: "fd.ms"; mt: "fd.mt"; mu: "fd.mu"; mv: "fd.mv"; mw: "fd.mw"; mx: "fd.mx"; my: "fd.my"; mz: "fd.mz"; na: "fd.na"; nb: "fd.nb"; nc: "fd.nc"; nd: "fd.nd"; ne: "fd.ne"; nf: "fd.nf"; ng: "fd.ng"; nh: "fd.nh"; ni: "fd.ni"; nj: "fd.nj"; nk: "fd.nk"; nl: "fd.nl"; nm: "fd.nm"; nn: "fd.nn"; no: "fd.no"; np: "fd.np"; nq: "fd.nq"; nr: "fd.nr"; ns: "fd.ns"; nt: "fd.nt"; nu: "fd.nu"; nv: "fd.nv"; nw: "fd.nw"; nx: "fd.nx"; ny: "fd.ny"; nz: "fd.nz"; oa: "fd.oa"; ob: "fd.ob"; oc: "fd.oc"; od: "fd.od"; oe: "fd.oe"; of: "fd.of"; og: "fd.og"; oh: "fd.oh"; oi: "fd.oi"; oj: "fd.oj"; ok: "fd.ok"; ol: "fd.ol"; om: "fd.om"; on: "fd.on"; oo: "fd.oo"; op: "fd.op"; oq: "fd.oq"; or: "fd.or"; os: "fd.os"; ot: "fd.ot"; ou: "fd.ou"; ov: "fd.ov"; ow: "fd.ow"; ox: "fd.ox"; oy: "fd.oy"; oz: "fd.oz"; pa: "fd.pa"; pb: "fd.pb"; pc: "fd.pc"; pd: "fd.pd"; pe: "fd.pe"; pf: "fd.pf"; pg: "fd.pg"; ph: "fd.ph"; pi: "fd.pi"; pj: "fd.pj"; pk: "fd.pk"; pl: "fd.pl"; pm: "fd.pm"; pn: "fd.pn"; po: "fd.po"; pp: "fd.pp"; pq: "fd.pq"; pr: "fd.pr"; ps: "fd.ps"; pt: "fd.pt"; pu: "fd.pu"; pv: "fd.pv"; pw: "fd.pw"; px: "fd.px"; py: "fd.py"; pz: "fd.pz"; qa: "fd.qa"; qb: "fd.qb"; qc: "fd.qc"; qd: "fd.qd"; qe: "fd.qe"; qf: "fd.qf"; qg: "fd.qg"; qh: "fd.qh"; qi: "fd.qi"; qj: "fd.qj"; qk: "fd.qk"; ql: "fd.ql"; qm: "fd.qm"; qn: "fd.qn"; qo: "fd.qo"; qp: "fd.qp"; qq: "fd.qq"; qr: "fd.qr"; qs: "fd.qs"; qt: "fd.qt"; qu: "fd.qu"; qv: "fd.qv"; qw: "fd.qw"; qx: "fd.qx"; qy: "fd.qy"; qz: "fd.qz"; ra: "fd.ra"; rb: "fd.rb"; rc: "fd.rc"; rd: "fd.rd"; re: "fd.re"; rf: "fd.rf"; rg: "fd.rg"; rh: "fd.rh"; ri: "fd.ri"; rj: "fd.rj"; rk: "fd.rk"; rl: "fd.rl"; rm: "fd.rm"; rn: "fd.rn"; ro: "fd.ro"; rp: "fd.rp"; rq: "fd.rq"; rr: "fd.rr"; rs: "fd.rs"; rt: "fd.rt"; ru: "fd.ru"; rv: "fd.rv"; rw: "fd.rw"; rx: "fd.rx"; ry: "fd.ry"; rz: "fd.rz"; sa: "fd.sa"; sb: "fd.sb"; sc: "fd.sc"; sd: "fd.sd"; se: "fd.se"; sf: "fd.sf"; sg: "fd.sg"; sh: "fd.sh"; si: "fd.si"; sj: "fd.sj"; sk: "fd.sk"; sl: "fd.sl"; sm: "fd.sm"; sn: "fd.sn"; so: "fd.so"; sp: "fd.sp"; sq: "fd.sq"; sr: "fd.sr"; ss: "fd.ss"; st: "fd.st"; su: "fd.su"; sv: "fd.sv"; sw: "fd.sw"; sx: "fd.sx"; sy: "fd.sy"; sz: "fd.sz"; ta: "fd.ta"; tb: "fd.tb"; tc: "fd.tc"; td: "fd.td"; te: "fd.te"; tf: "fd.tf"; tg: "fd.tg"; th: "fd.th"; ti: "fd.ti"; tj: "fd.tj"; tk: "fd.tk"; tl: "fd.tl"; tm: "fd.tm"; tn: "fd.tn"; to: "fd.to"; tp: "fd.tp"; tq: "fd.tq"; tr: "fd.tr"; ts: "fd.ts"; tt: "fd.tt"; tu: "fd.tu"; tv: "fd.tv"; tw: "fd.tw"; tx: "fd.tx"; ty: "fd.ty"; tz: "fd.tz"; ua: "fd.ua"; ub: "fd.ub"; uc: "fd.uc"; ud: "fd.ud"; ue: "fd.ue"; uf: "fd.uf"; ug: "fd.ug"; uh: "fd.uh"; ui: "fd.ui"; uj: "fd.uj"; uk: "fd.uk"; ul: "fd.ul"; um: "fd.um"; un: "fd.un"; uo: "fd.uo"; up: "fd.up"; uq: "fd.uq"; ur: "fd.ur"; us: "fd.us"; ut: "fd.ut"; uu: "fd.uu"; uv: "fd.uv"; uw: "fd.uw"; ux: "fd.ux"; uy: "fd.uy"; uz: "fd.uz"; va: "fd.va"; vb: "fd.vb"; vc: "fd.vc"; vd: "fd.vd"; ve: "fd.ve"; vf: "fd.vf"; vg: "fd.vg"; vh: "fd.vh"; vi: "fd.vi"; vj: "fd.vj"; vk: "fd.vk"; vl: "fd.vl"; vm: "fd.vm"; vn: "fd.vn"; vo: "fd.vo"; vp: "fd.vp"; vq: "fd.vq"; vr: "fd.vr"; vs: "fd.vs"; vt: "fd.vt"; vu: "fd.vu"; vv: "fd.vv"; vw: "fd.vw"; vx: "fd.vx"; vy: "fd.vy"; vz: "fd.vz"; wa: "fd.wa"; wb: "fd.wb"; wc: "fd.wc"; wd: "fd.wd"; we: "fd.we"; wf: "fd.wf"; wg: "fd.wg"; wh: "fd.wh"; wi: "fd.wi"; wj: "fd.wj"; wk: "fd.wk"; wl: "fd.wl"; wm: "fd.wm"; wn: "fd.wn"; wo: "fd.wo"; wp: "fd.wp"; wq: "fd.wq"; wr: "fd.wr"; ws: "fd.ws"; wt: "fd.wt"; wu: "fd.wu"; wv: "fd.wv"; ww: "fd.ww"; wx: "fd.wx"; wy: "fd.wy"; wz: "fd.wz"; xa: "fd.xa"; xb: "fd.xb"; xc: "fd.xc"; xd: "fd.xd"; xe: "fd.xe"; xf: "fd.xf"; xg: "fd.xg"; xh: "fd.xh"; xi: "fd.xi"; xj: "fd.xj"; xk: "fd.xk"; xl: "fd.xl"; xm: "fd.xm"; xn: "fd.xn"; xo: "fd.xo"; xp: "fd.xp"; xq: "fd.xq"; xr: "fd.xr"; xs: "fd.xs"; xt: "fd.xt"; xu: "fd.xu"; xv: "fd.xv"; xw: "fd.xw"; xx: "fd.xx"; xy: "fd.xy"; xz: "fd.xz"; ya: "fd.ya"; yb: "fd.yb"; yc: "fd.yc"; yd: "fd.yd"; ye: "fd.ye"; yf: "fd.yf"; yg: "fd.yg"; yh: "fd.yh"; yi: "fd.yi"; yj: "fd.yj"; yk: "fd.yk"; yl: "fd.yl"; ym: "fd.ym"; yn: "fd.yn"; yo: "fd.yo"; yp: "fd.yp"; yq: "fd.yq"; yr: "fd.yr"; ys: "fd.ys"; yt: "fd.yt"; yu: "fd.yu"; yv: "fd.yv"; yw: "fd.yw"; yx: "fd.yx"; yy: "fd.yy"; yz: "fd.yz"; za: "fd.za"; zb: "fd.zb"; zc: "fd.zc"; zd: "fd.zd"; ze: "fd.ze"; zf: "fd.zf"; zg: "fd.zg"; zh: "fd.zh"; zi: "fd.zi"; zj: "fd.zj"; zk: "fd.zk"; zl: "fd.zl"; zm: "fd.zm"; zn: "fd.zn"; zo: "fd.zo"; zp: "fd.zp"; zq: "fd.zq"; zr: "fd.zr"; zs: "fd.zs"; zt: "fd.zt"; zu: "fd.zu"; zv: "fd.zv"; zw: "fd.zw"; zx: "fd.zx"; zy: "fd.zy"; zz: "fd.zz"; }; fe: { aa: "fe.aa"; ab: "fe.ab"; ac: "fe.ac"; ad: "fe.ad"; ae: "fe.ae"; af: "fe.af"; ag: "fe.ag"; ah: "fe.ah"; ai: "fe.ai"; aj: "fe.aj"; ak: "fe.ak"; al: "fe.al"; am: "fe.am"; an: "fe.an"; ao: "fe.ao"; ap: "fe.ap"; aq: "fe.aq"; ar: "fe.ar"; as: "fe.as"; at: "fe.at"; au: "fe.au"; av: "fe.av"; aw: "fe.aw"; ax: "fe.ax"; ay: "fe.ay"; az: "fe.az"; ba: "fe.ba"; bb: "fe.bb"; bc: "fe.bc"; bd: "fe.bd"; be: "fe.be"; bf: "fe.bf"; bg: "fe.bg"; bh: "fe.bh"; bi: "fe.bi"; bj: "fe.bj"; bk: "fe.bk"; bl: "fe.bl"; bm: "fe.bm"; bn: "fe.bn"; bo: "fe.bo"; bp: "fe.bp"; bq: "fe.bq"; br: "fe.br"; bs: "fe.bs"; bt: "fe.bt"; bu: "fe.bu"; bv: "fe.bv"; bw: "fe.bw"; bx: "fe.bx"; by: "fe.by"; bz: "fe.bz"; ca: "fe.ca"; cb: "fe.cb"; cc: "fe.cc"; cd: "fe.cd"; ce: "fe.ce"; cf: "fe.cf"; cg: "fe.cg"; ch: "fe.ch"; ci: "fe.ci"; cj: "fe.cj"; ck: "fe.ck"; cl: "fe.cl"; cm: "fe.cm"; cn: "fe.cn"; co: "fe.co"; cp: "fe.cp"; cq: "fe.cq"; cr: "fe.cr"; cs: "fe.cs"; ct: "fe.ct"; cu: "fe.cu"; cv: "fe.cv"; cw: "fe.cw"; cx: "fe.cx"; cy: "fe.cy"; cz: "fe.cz"; da: "fe.da"; db: "fe.db"; dc: "fe.dc"; dd: "fe.dd"; de: "fe.de"; df: "fe.df"; dg: "fe.dg"; dh: "fe.dh"; di: "fe.di"; dj: "fe.dj"; dk: "fe.dk"; dl: "fe.dl"; dm: "fe.dm"; dn: "fe.dn"; do: "fe.do"; dp: "fe.dp"; dq: "fe.dq"; dr: "fe.dr"; ds: "fe.ds"; dt: "fe.dt"; du: "fe.du"; dv: "fe.dv"; dw: "fe.dw"; dx: "fe.dx"; dy: "fe.dy"; dz: "fe.dz"; ea: "fe.ea"; eb: "fe.eb"; ec: "fe.ec"; ed: "fe.ed"; ee: "fe.ee"; ef: "fe.ef"; eg: "fe.eg"; eh: "fe.eh"; ei: "fe.ei"; ej: "fe.ej"; ek: "fe.ek"; el: "fe.el"; em: "fe.em"; en: "fe.en"; eo: "fe.eo"; ep: "fe.ep"; eq: "fe.eq"; er: "fe.er"; es: "fe.es"; et: "fe.et"; eu: "fe.eu"; ev: "fe.ev"; ew: "fe.ew"; ex: "fe.ex"; ey: "fe.ey"; ez: "fe.ez"; fa: "fe.fa"; fb: "fe.fb"; fc: "fe.fc"; fd: "fe.fd"; fe: "fe.fe"; ff: "fe.ff"; fg: "fe.fg"; fh: "fe.fh"; fi: "fe.fi"; fj: "fe.fj"; fk: "fe.fk"; fl: "fe.fl"; fm: "fe.fm"; fn: "fe.fn"; fo: "fe.fo"; fp: "fe.fp"; fq: "fe.fq"; fr: "fe.fr"; fs: "fe.fs"; ft: "fe.ft"; fu: "fe.fu"; fv: "fe.fv"; fw: "fe.fw"; fx: "fe.fx"; fy: "fe.fy"; fz: "fe.fz"; ga: "fe.ga"; gb: "fe.gb"; gc: "fe.gc"; gd: "fe.gd"; ge: "fe.ge"; gf: "fe.gf"; gg: "fe.gg"; gh: "fe.gh"; gi: "fe.gi"; gj: "fe.gj"; gk: "fe.gk"; gl: "fe.gl"; gm: "fe.gm"; gn: "fe.gn"; go: "fe.go"; gp: "fe.gp"; gq: "fe.gq"; gr: "fe.gr"; gs: "fe.gs"; gt: "fe.gt"; gu: "fe.gu"; gv: "fe.gv"; gw: "fe.gw"; gx: "fe.gx"; gy: "fe.gy"; gz: "fe.gz"; ha: "fe.ha"; hb: "fe.hb"; hc: "fe.hc"; hd: "fe.hd"; he: "fe.he"; hf: "fe.hf"; hg: "fe.hg"; hh: "fe.hh"; hi: "fe.hi"; hj: "fe.hj"; hk: "fe.hk"; hl: "fe.hl"; hm: "fe.hm"; hn: "fe.hn"; ho: "fe.ho"; hp: "fe.hp"; hq: "fe.hq"; hr: "fe.hr"; hs: "fe.hs"; ht: "fe.ht"; hu: "fe.hu"; hv: "fe.hv"; hw: "fe.hw"; hx: "fe.hx"; hy: "fe.hy"; hz: "fe.hz"; ia: "fe.ia"; ib: "fe.ib"; ic: "fe.ic"; id: "fe.id"; ie: "fe.ie"; if: "fe.if"; ig: "fe.ig"; ih: "fe.ih"; ii: "fe.ii"; ij: "fe.ij"; ik: "fe.ik"; il: "fe.il"; im: "fe.im"; in: "fe.in"; io: "fe.io"; ip: "fe.ip"; iq: "fe.iq"; ir: "fe.ir"; is: "fe.is"; it: "fe.it"; iu: "fe.iu"; iv: "fe.iv"; iw: "fe.iw"; ix: "fe.ix"; iy: "fe.iy"; iz: "fe.iz"; ja: "fe.ja"; jb: "fe.jb"; jc: "fe.jc"; jd: "fe.jd"; je: "fe.je"; jf: "fe.jf"; jg: "fe.jg"; jh: "fe.jh"; ji: "fe.ji"; jj: "fe.jj"; jk: "fe.jk"; jl: "fe.jl"; jm: "fe.jm"; jn: "fe.jn"; jo: "fe.jo"; jp: "fe.jp"; jq: "fe.jq"; jr: "fe.jr"; js: "fe.js"; jt: "fe.jt"; ju: "fe.ju"; jv: "fe.jv"; jw: "fe.jw"; jx: "fe.jx"; jy: "fe.jy"; jz: "fe.jz"; ka: "fe.ka"; kb: "fe.kb"; kc: "fe.kc"; kd: "fe.kd"; ke: "fe.ke"; kf: "fe.kf"; kg: "fe.kg"; kh: "fe.kh"; ki: "fe.ki"; kj: "fe.kj"; kk: "fe.kk"; kl: "fe.kl"; km: "fe.km"; kn: "fe.kn"; ko: "fe.ko"; kp: "fe.kp"; kq: "fe.kq"; kr: "fe.kr"; ks: "fe.ks"; kt: "fe.kt"; ku: "fe.ku"; kv: "fe.kv"; kw: "fe.kw"; kx: "fe.kx"; ky: "fe.ky"; kz: "fe.kz"; la: "fe.la"; lb: "fe.lb"; lc: "fe.lc"; ld: "fe.ld"; le: "fe.le"; lf: "fe.lf"; lg: "fe.lg"; lh: "fe.lh"; li: "fe.li"; lj: "fe.lj"; lk: "fe.lk"; ll: "fe.ll"; lm: "fe.lm"; ln: "fe.ln"; lo: "fe.lo"; lp: "fe.lp"; lq: "fe.lq"; lr: "fe.lr"; ls: "fe.ls"; lt: "fe.lt"; lu: "fe.lu"; lv: "fe.lv"; lw: "fe.lw"; lx: "fe.lx"; ly: "fe.ly"; lz: "fe.lz"; ma: "fe.ma"; mb: "fe.mb"; mc: "fe.mc"; md: "fe.md"; me: "fe.me"; mf: "fe.mf"; mg: "fe.mg"; mh: "fe.mh"; mi: "fe.mi"; mj: "fe.mj"; mk: "fe.mk"; ml: "fe.ml"; mm: "fe.mm"; mn: "fe.mn"; mo: "fe.mo"; mp: "fe.mp"; mq: "fe.mq"; mr: "fe.mr"; ms: "fe.ms"; mt: "fe.mt"; mu: "fe.mu"; mv: "fe.mv"; mw: "fe.mw"; mx: "fe.mx"; my: "fe.my"; mz: "fe.mz"; na: "fe.na"; nb: "fe.nb"; nc: "fe.nc"; nd: "fe.nd"; ne: "fe.ne"; nf: "fe.nf"; ng: "fe.ng"; nh: "fe.nh"; ni: "fe.ni"; nj: "fe.nj"; nk: "fe.nk"; nl: "fe.nl"; nm: "fe.nm"; nn: "fe.nn"; no: "fe.no"; np: "fe.np"; nq: "fe.nq"; nr: "fe.nr"; ns: "fe.ns"; nt: "fe.nt"; nu: "fe.nu"; nv: "fe.nv"; nw: "fe.nw"; nx: "fe.nx"; ny: "fe.ny"; nz: "fe.nz"; oa: "fe.oa"; ob: "fe.ob"; oc: "fe.oc"; od: "fe.od"; oe: "fe.oe"; of: "fe.of"; og: "fe.og"; oh: "fe.oh"; oi: "fe.oi"; oj: "fe.oj"; ok: "fe.ok"; ol: "fe.ol"; om: "fe.om"; on: "fe.on"; oo: "fe.oo"; op: "fe.op"; oq: "fe.oq"; or: "fe.or"; os: "fe.os"; ot: "fe.ot"; ou: "fe.ou"; ov: "fe.ov"; ow: "fe.ow"; ox: "fe.ox"; oy: "fe.oy"; oz: "fe.oz"; pa: "fe.pa"; pb: "fe.pb"; pc: "fe.pc"; pd: "fe.pd"; pe: "fe.pe"; pf: "fe.pf"; pg: "fe.pg"; ph: "fe.ph"; pi: "fe.pi"; pj: "fe.pj"; pk: "fe.pk"; pl: "fe.pl"; pm: "fe.pm"; pn: "fe.pn"; po: "fe.po"; pp: "fe.pp"; pq: "fe.pq"; pr: "fe.pr"; ps: "fe.ps"; pt: "fe.pt"; pu: "fe.pu"; pv: "fe.pv"; pw: "fe.pw"; px: "fe.px"; py: "fe.py"; pz: "fe.pz"; qa: "fe.qa"; qb: "fe.qb"; qc: "fe.qc"; qd: "fe.qd"; qe: "fe.qe"; qf: "fe.qf"; qg: "fe.qg"; qh: "fe.qh"; qi: "fe.qi"; qj: "fe.qj"; qk: "fe.qk"; ql: "fe.ql"; qm: "fe.qm"; qn: "fe.qn"; qo: "fe.qo"; qp: "fe.qp"; qq: "fe.qq"; qr: "fe.qr"; qs: "fe.qs"; qt: "fe.qt"; qu: "fe.qu"; qv: "fe.qv"; qw: "fe.qw"; qx: "fe.qx"; qy: "fe.qy"; qz: "fe.qz"; ra: "fe.ra"; rb: "fe.rb"; rc: "fe.rc"; rd: "fe.rd"; re: "fe.re"; rf: "fe.rf"; rg: "fe.rg"; rh: "fe.rh"; ri: "fe.ri"; rj: "fe.rj"; rk: "fe.rk"; rl: "fe.rl"; rm: "fe.rm"; rn: "fe.rn"; ro: "fe.ro"; rp: "fe.rp"; rq: "fe.rq"; rr: "fe.rr"; rs: "fe.rs"; rt: "fe.rt"; ru: "fe.ru"; rv: "fe.rv"; rw: "fe.rw"; rx: "fe.rx"; ry: "fe.ry"; rz: "fe.rz"; sa: "fe.sa"; sb: "fe.sb"; sc: "fe.sc"; sd: "fe.sd"; se: "fe.se"; sf: "fe.sf"; sg: "fe.sg"; sh: "fe.sh"; si: "fe.si"; sj: "fe.sj"; sk: "fe.sk"; sl: "fe.sl"; sm: "fe.sm"; sn: "fe.sn"; so: "fe.so"; sp: "fe.sp"; sq: "fe.sq"; sr: "fe.sr"; ss: "fe.ss"; st: "fe.st"; su: "fe.su"; sv: "fe.sv"; sw: "fe.sw"; sx: "fe.sx"; sy: "fe.sy"; sz: "fe.sz"; ta: "fe.ta"; tb: "fe.tb"; tc: "fe.tc"; td: "fe.td"; te: "fe.te"; tf: "fe.tf"; tg: "fe.tg"; th: "fe.th"; ti: "fe.ti"; tj: "fe.tj"; tk: "fe.tk"; tl: "fe.tl"; tm: "fe.tm"; tn: "fe.tn"; to: "fe.to"; tp: "fe.tp"; tq: "fe.tq"; tr: "fe.tr"; ts: "fe.ts"; tt: "fe.tt"; tu: "fe.tu"; tv: "fe.tv"; tw: "fe.tw"; tx: "fe.tx"; ty: "fe.ty"; tz: "fe.tz"; ua: "fe.ua"; ub: "fe.ub"; uc: "fe.uc"; ud: "fe.ud"; ue: "fe.ue"; uf: "fe.uf"; ug: "fe.ug"; uh: "fe.uh"; ui: "fe.ui"; uj: "fe.uj"; uk: "fe.uk"; ul: "fe.ul"; um: "fe.um"; un: "fe.un"; uo: "fe.uo"; up: "fe.up"; uq: "fe.uq"; ur: "fe.ur"; us: "fe.us"; ut: "fe.ut"; uu: "fe.uu"; uv: "fe.uv"; uw: "fe.uw"; ux: "fe.ux"; uy: "fe.uy"; uz: "fe.uz"; va: "fe.va"; vb: "fe.vb"; vc: "fe.vc"; vd: "fe.vd"; ve: "fe.ve"; vf: "fe.vf"; vg: "fe.vg"; vh: "fe.vh"; vi: "fe.vi"; vj: "fe.vj"; vk: "fe.vk"; vl: "fe.vl"; vm: "fe.vm"; vn: "fe.vn"; vo: "fe.vo"; vp: "fe.vp"; vq: "fe.vq"; vr: "fe.vr"; vs: "fe.vs"; vt: "fe.vt"; vu: "fe.vu"; vv: "fe.vv"; vw: "fe.vw"; vx: "fe.vx"; vy: "fe.vy"; vz: "fe.vz"; wa: "fe.wa"; wb: "fe.wb"; wc: "fe.wc"; wd: "fe.wd"; we: "fe.we"; wf: "fe.wf"; wg: "fe.wg"; wh: "fe.wh"; wi: "fe.wi"; wj: "fe.wj"; wk: "fe.wk"; wl: "fe.wl"; wm: "fe.wm"; wn: "fe.wn"; wo: "fe.wo"; wp: "fe.wp"; wq: "fe.wq"; wr: "fe.wr"; ws: "fe.ws"; wt: "fe.wt"; wu: "fe.wu"; wv: "fe.wv"; ww: "fe.ww"; wx: "fe.wx"; wy: "fe.wy"; wz: "fe.wz"; xa: "fe.xa"; xb: "fe.xb"; xc: "fe.xc"; xd: "fe.xd"; xe: "fe.xe"; xf: "fe.xf"; xg: "fe.xg"; xh: "fe.xh"; xi: "fe.xi"; xj: "fe.xj"; xk: "fe.xk"; xl: "fe.xl"; xm: "fe.xm"; xn: "fe.xn"; xo: "fe.xo"; xp: "fe.xp"; xq: "fe.xq"; xr: "fe.xr"; xs: "fe.xs"; xt: "fe.xt"; xu: "fe.xu"; xv: "fe.xv"; xw: "fe.xw"; xx: "fe.xx"; xy: "fe.xy"; xz: "fe.xz"; ya: "fe.ya"; yb: "fe.yb"; yc: "fe.yc"; yd: "fe.yd"; ye: "fe.ye"; yf: "fe.yf"; yg: "fe.yg"; yh: "fe.yh"; yi: "fe.yi"; yj: "fe.yj"; yk: "fe.yk"; yl: "fe.yl"; ym: "fe.ym"; yn: "fe.yn"; yo: "fe.yo"; yp: "fe.yp"; yq: "fe.yq"; yr: "fe.yr"; ys: "fe.ys"; yt: "fe.yt"; yu: "fe.yu"; yv: "fe.yv"; yw: "fe.yw"; yx: "fe.yx"; yy: "fe.yy"; yz: "fe.yz"; za: "fe.za"; zb: "fe.zb"; zc: "fe.zc"; zd: "fe.zd"; ze: "fe.ze"; zf: "fe.zf"; zg: "fe.zg"; zh: "fe.zh"; zi: "fe.zi"; zj: "fe.zj"; zk: "fe.zk"; zl: "fe.zl"; zm: "fe.zm"; zn: "fe.zn"; zo: "fe.zo"; zp: "fe.zp"; zq: "fe.zq"; zr: "fe.zr"; zs: "fe.zs"; zt: "fe.zt"; zu: "fe.zu"; zv: "fe.zv"; zw: "fe.zw"; zx: "fe.zx"; zy: "fe.zy"; zz: "fe.zz"; }; ff: { aa: "ff.aa"; ab: "ff.ab"; ac: "ff.ac"; ad: "ff.ad"; ae: "ff.ae"; af: "ff.af"; ag: "ff.ag"; ah: "ff.ah"; ai: "ff.ai"; aj: "ff.aj"; ak: "ff.ak"; al: "ff.al"; am: "ff.am"; an: "ff.an"; ao: "ff.ao"; ap: "ff.ap"; aq: "ff.aq"; ar: "ff.ar"; as: "ff.as"; at: "ff.at"; au: "ff.au"; av: "ff.av"; aw: "ff.aw"; ax: "ff.ax"; ay: "ff.ay"; az: "ff.az"; ba: "ff.ba"; bb: "ff.bb"; bc: "ff.bc"; bd: "ff.bd"; be: "ff.be"; bf: "ff.bf"; bg: "ff.bg"; bh: "ff.bh"; bi: "ff.bi"; bj: "ff.bj"; bk: "ff.bk"; bl: "ff.bl"; bm: "ff.bm"; bn: "ff.bn"; bo: "ff.bo"; bp: "ff.bp"; bq: "ff.bq"; br: "ff.br"; bs: "ff.bs"; bt: "ff.bt"; bu: "ff.bu"; bv: "ff.bv"; bw: "ff.bw"; bx: "ff.bx"; by: "ff.by"; bz: "ff.bz"; ca: "ff.ca"; cb: "ff.cb"; cc: "ff.cc"; cd: "ff.cd"; ce: "ff.ce"; cf: "ff.cf"; cg: "ff.cg"; ch: "ff.ch"; ci: "ff.ci"; cj: "ff.cj"; ck: "ff.ck"; cl: "ff.cl"; cm: "ff.cm"; cn: "ff.cn"; co: "ff.co"; cp: "ff.cp"; cq: "ff.cq"; cr: "ff.cr"; cs: "ff.cs"; ct: "ff.ct"; cu: "ff.cu"; cv: "ff.cv"; cw: "ff.cw"; cx: "ff.cx"; cy: "ff.cy"; cz: "ff.cz"; da: "ff.da"; db: "ff.db"; dc: "ff.dc"; dd: "ff.dd"; de: "ff.de"; df: "ff.df"; dg: "ff.dg"; dh: "ff.dh"; di: "ff.di"; dj: "ff.dj"; dk: "ff.dk"; dl: "ff.dl"; dm: "ff.dm"; dn: "ff.dn"; do: "ff.do"; dp: "ff.dp"; dq: "ff.dq"; dr: "ff.dr"; ds: "ff.ds"; dt: "ff.dt"; du: "ff.du"; dv: "ff.dv"; dw: "ff.dw"; dx: "ff.dx"; dy: "ff.dy"; dz: "ff.dz"; ea: "ff.ea"; eb: "ff.eb"; ec: "ff.ec"; ed: "ff.ed"; ee: "ff.ee"; ef: "ff.ef"; eg: "ff.eg"; eh: "ff.eh"; ei: "ff.ei"; ej: "ff.ej"; ek: "ff.ek"; el: "ff.el"; em: "ff.em"; en: "ff.en"; eo: "ff.eo"; ep: "ff.ep"; eq: "ff.eq"; er: "ff.er"; es: "ff.es"; et: "ff.et"; eu: "ff.eu"; ev: "ff.ev"; ew: "ff.ew"; ex: "ff.ex"; ey: "ff.ey"; ez: "ff.ez"; fa: "ff.fa"; fb: "ff.fb"; fc: "ff.fc"; fd: "ff.fd"; fe: "ff.fe"; ff: "ff.ff"; fg: "ff.fg"; fh: "ff.fh"; fi: "ff.fi"; fj: "ff.fj"; fk: "ff.fk"; fl: "ff.fl"; fm: "ff.fm"; fn: "ff.fn"; fo: "ff.fo"; fp: "ff.fp"; fq: "ff.fq"; fr: "ff.fr"; fs: "ff.fs"; ft: "ff.ft"; fu: "ff.fu"; fv: "ff.fv"; fw: "ff.fw"; fx: "ff.fx"; fy: "ff.fy"; fz: "ff.fz"; ga: "ff.ga"; gb: "ff.gb"; gc: "ff.gc"; gd: "ff.gd"; ge: "ff.ge"; gf: "ff.gf"; gg: "ff.gg"; gh: "ff.gh"; gi: "ff.gi"; gj: "ff.gj"; gk: "ff.gk"; gl: "ff.gl"; gm: "ff.gm"; gn: "ff.gn"; go: "ff.go"; gp: "ff.gp"; gq: "ff.gq"; gr: "ff.gr"; gs: "ff.gs"; gt: "ff.gt"; gu: "ff.gu"; gv: "ff.gv"; gw: "ff.gw"; gx: "ff.gx"; gy: "ff.gy"; gz: "ff.gz"; ha: "ff.ha"; hb: "ff.hb"; hc: "ff.hc"; hd: "ff.hd"; he: "ff.he"; hf: "ff.hf"; hg: "ff.hg"; hh: "ff.hh"; hi: "ff.hi"; hj: "ff.hj"; hk: "ff.hk"; hl: "ff.hl"; hm: "ff.hm"; hn: "ff.hn"; ho: "ff.ho"; hp: "ff.hp"; hq: "ff.hq"; hr: "ff.hr"; hs: "ff.hs"; ht: "ff.ht"; hu: "ff.hu"; hv: "ff.hv"; hw: "ff.hw"; hx: "ff.hx"; hy: "ff.hy"; hz: "ff.hz"; ia: "ff.ia"; ib: "ff.ib"; ic: "ff.ic"; id: "ff.id"; ie: "ff.ie"; if: "ff.if"; ig: "ff.ig"; ih: "ff.ih"; ii: "ff.ii"; ij: "ff.ij"; ik: "ff.ik"; il: "ff.il"; im: "ff.im"; in: "ff.in"; io: "ff.io"; ip: "ff.ip"; iq: "ff.iq"; ir: "ff.ir"; is: "ff.is"; it: "ff.it"; iu: "ff.iu"; iv: "ff.iv"; iw: "ff.iw"; ix: "ff.ix"; iy: "ff.iy"; iz: "ff.iz"; ja: "ff.ja"; jb: "ff.jb"; jc: "ff.jc"; jd: "ff.jd"; je: "ff.je"; jf: "ff.jf"; jg: "ff.jg"; jh: "ff.jh"; ji: "ff.ji"; jj: "ff.jj"; jk: "ff.jk"; jl: "ff.jl"; jm: "ff.jm"; jn: "ff.jn"; jo: "ff.jo"; jp: "ff.jp"; jq: "ff.jq"; jr: "ff.jr"; js: "ff.js"; jt: "ff.jt"; ju: "ff.ju"; jv: "ff.jv"; jw: "ff.jw"; jx: "ff.jx"; jy: "ff.jy"; jz: "ff.jz"; ka: "ff.ka"; kb: "ff.kb"; kc: "ff.kc"; kd: "ff.kd"; ke: "ff.ke"; kf: "ff.kf"; kg: "ff.kg"; kh: "ff.kh"; ki: "ff.ki"; kj: "ff.kj"; kk: "ff.kk"; kl: "ff.kl"; km: "ff.km"; kn: "ff.kn"; ko: "ff.ko"; kp: "ff.kp"; kq: "ff.kq"; kr: "ff.kr"; ks: "ff.ks"; kt: "ff.kt"; ku: "ff.ku"; kv: "ff.kv"; kw: "ff.kw"; kx: "ff.kx"; ky: "ff.ky"; kz: "ff.kz"; la: "ff.la"; lb: "ff.lb"; lc: "ff.lc"; ld: "ff.ld"; le: "ff.le"; lf: "ff.lf"; lg: "ff.lg"; lh: "ff.lh"; li: "ff.li"; lj: "ff.lj"; lk: "ff.lk"; ll: "ff.ll"; lm: "ff.lm"; ln: "ff.ln"; lo: "ff.lo"; lp: "ff.lp"; lq: "ff.lq"; lr: "ff.lr"; ls: "ff.ls"; lt: "ff.lt"; lu: "ff.lu"; lv: "ff.lv"; lw: "ff.lw"; lx: "ff.lx"; ly: "ff.ly"; lz: "ff.lz"; ma: "ff.ma"; mb: "ff.mb"; mc: "ff.mc"; md: "ff.md"; me: "ff.me"; mf: "ff.mf"; mg: "ff.mg"; mh: "ff.mh"; mi: "ff.mi"; mj: "ff.mj"; mk: "ff.mk"; ml: "ff.ml"; mm: "ff.mm"; mn: "ff.mn"; mo: "ff.mo"; mp: "ff.mp"; mq: "ff.mq"; mr: "ff.mr"; ms: "ff.ms"; mt: "ff.mt"; mu: "ff.mu"; mv: "ff.mv"; mw: "ff.mw"; mx: "ff.mx"; my: "ff.my"; mz: "ff.mz"; na: "ff.na"; nb: "ff.nb"; nc: "ff.nc"; nd: "ff.nd"; ne: "ff.ne"; nf: "ff.nf"; ng: "ff.ng"; nh: "ff.nh"; ni: "ff.ni"; nj: "ff.nj"; nk: "ff.nk"; nl: "ff.nl"; nm: "ff.nm"; nn: "ff.nn"; no: "ff.no"; np: "ff.np"; nq: "ff.nq"; nr: "ff.nr"; ns: "ff.ns"; nt: "ff.nt"; nu: "ff.nu"; nv: "ff.nv"; nw: "ff.nw"; nx: "ff.nx"; ny: "ff.ny"; nz: "ff.nz"; oa: "ff.oa"; ob: "ff.ob"; oc: "ff.oc"; od: "ff.od"; oe: "ff.oe"; of: "ff.of"; og: "ff.og"; oh: "ff.oh"; oi: "ff.oi"; oj: "ff.oj"; ok: "ff.ok"; ol: "ff.ol"; om: "ff.om"; on: "ff.on"; oo: "ff.oo"; op: "ff.op"; oq: "ff.oq"; or: "ff.or"; os: "ff.os"; ot: "ff.ot"; ou: "ff.ou"; ov: "ff.ov"; ow: "ff.ow"; ox: "ff.ox"; oy: "ff.oy"; oz: "ff.oz"; pa: "ff.pa"; pb: "ff.pb"; pc: "ff.pc"; pd: "ff.pd"; pe: "ff.pe"; pf: "ff.pf"; pg: "ff.pg"; ph: "ff.ph"; pi: "ff.pi"; pj: "ff.pj"; pk: "ff.pk"; pl: "ff.pl"; pm: "ff.pm"; pn: "ff.pn"; po: "ff.po"; pp: "ff.pp"; pq: "ff.pq"; pr: "ff.pr"; ps: "ff.ps"; pt: "ff.pt"; pu: "ff.pu"; pv: "ff.pv"; pw: "ff.pw"; px: "ff.px"; py: "ff.py"; pz: "ff.pz"; qa: "ff.qa"; qb: "ff.qb"; qc: "ff.qc"; qd: "ff.qd"; qe: "ff.qe"; qf: "ff.qf"; qg: "ff.qg"; qh: "ff.qh"; qi: "ff.qi"; qj: "ff.qj"; qk: "ff.qk"; ql: "ff.ql"; qm: "ff.qm"; qn: "ff.qn"; qo: "ff.qo"; qp: "ff.qp"; qq: "ff.qq"; qr: "ff.qr"; qs: "ff.qs"; qt: "ff.qt"; qu: "ff.qu"; qv: "ff.qv"; qw: "ff.qw"; qx: "ff.qx"; qy: "ff.qy"; qz: "ff.qz"; ra: "ff.ra"; rb: "ff.rb"; rc: "ff.rc"; rd: "ff.rd"; re: "ff.re"; rf: "ff.rf"; rg: "ff.rg"; rh: "ff.rh"; ri: "ff.ri"; rj: "ff.rj"; rk: "ff.rk"; rl: "ff.rl"; rm: "ff.rm"; rn: "ff.rn"; ro: "ff.ro"; rp: "ff.rp"; rq: "ff.rq"; rr: "ff.rr"; rs: "ff.rs"; rt: "ff.rt"; ru: "ff.ru"; rv: "ff.rv"; rw: "ff.rw"; rx: "ff.rx"; ry: "ff.ry"; rz: "ff.rz"; sa: "ff.sa"; sb: "ff.sb"; sc: "ff.sc"; sd: "ff.sd"; se: "ff.se"; sf: "ff.sf"; sg: "ff.sg"; sh: "ff.sh"; si: "ff.si"; sj: "ff.sj"; sk: "ff.sk"; sl: "ff.sl"; sm: "ff.sm"; sn: "ff.sn"; so: "ff.so"; sp: "ff.sp"; sq: "ff.sq"; sr: "ff.sr"; ss: "ff.ss"; st: "ff.st"; su: "ff.su"; sv: "ff.sv"; sw: "ff.sw"; sx: "ff.sx"; sy: "ff.sy"; sz: "ff.sz"; ta: "ff.ta"; tb: "ff.tb"; tc: "ff.tc"; td: "ff.td"; te: "ff.te"; tf: "ff.tf"; tg: "ff.tg"; th: "ff.th"; ti: "ff.ti"; tj: "ff.tj"; tk: "ff.tk"; tl: "ff.tl"; tm: "ff.tm"; tn: "ff.tn"; to: "ff.to"; tp: "ff.tp"; tq: "ff.tq"; tr: "ff.tr"; ts: "ff.ts"; tt: "ff.tt"; tu: "ff.tu"; tv: "ff.tv"; tw: "ff.tw"; tx: "ff.tx"; ty: "ff.ty"; tz: "ff.tz"; ua: "ff.ua"; ub: "ff.ub"; uc: "ff.uc"; ud: "ff.ud"; ue: "ff.ue"; uf: "ff.uf"; ug: "ff.ug"; uh: "ff.uh"; ui: "ff.ui"; uj: "ff.uj"; uk: "ff.uk"; ul: "ff.ul"; um: "ff.um"; un: "ff.un"; uo: "ff.uo"; up: "ff.up"; uq: "ff.uq"; ur: "ff.ur"; us: "ff.us"; ut: "ff.ut"; uu: "ff.uu"; uv: "ff.uv"; uw: "ff.uw"; ux: "ff.ux"; uy: "ff.uy"; uz: "ff.uz"; va: "ff.va"; vb: "ff.vb"; vc: "ff.vc"; vd: "ff.vd"; ve: "ff.ve"; vf: "ff.vf"; vg: "ff.vg"; vh: "ff.vh"; vi: "ff.vi"; vj: "ff.vj"; vk: "ff.vk"; vl: "ff.vl"; vm: "ff.vm"; vn: "ff.vn"; vo: "ff.vo"; vp: "ff.vp"; vq: "ff.vq"; vr: "ff.vr"; vs: "ff.vs"; vt: "ff.vt"; vu: "ff.vu"; vv: "ff.vv"; vw: "ff.vw"; vx: "ff.vx"; vy: "ff.vy"; vz: "ff.vz"; wa: "ff.wa"; wb: "ff.wb"; wc: "ff.wc"; wd: "ff.wd"; we: "ff.we"; wf: "ff.wf"; wg: "ff.wg"; wh: "ff.wh"; wi: "ff.wi"; wj: "ff.wj"; wk: "ff.wk"; wl: "ff.wl"; wm: "ff.wm"; wn: "ff.wn"; wo: "ff.wo"; wp: "ff.wp"; wq: "ff.wq"; wr: "ff.wr"; ws: "ff.ws"; wt: "ff.wt"; wu: "ff.wu"; wv: "ff.wv"; ww: "ff.ww"; wx: "ff.wx"; wy: "ff.wy"; wz: "ff.wz"; xa: "ff.xa"; xb: "ff.xb"; xc: "ff.xc"; xd: "ff.xd"; xe: "ff.xe"; xf: "ff.xf"; xg: "ff.xg"; xh: "ff.xh"; xi: "ff.xi"; xj: "ff.xj"; xk: "ff.xk"; xl: "ff.xl"; xm: "ff.xm"; xn: "ff.xn"; xo: "ff.xo"; xp: "ff.xp"; xq: "ff.xq"; xr: "ff.xr"; xs: "ff.xs"; xt: "ff.xt"; xu: "ff.xu"; xv: "ff.xv"; xw: "ff.xw"; xx: "ff.xx"; xy: "ff.xy"; xz: "ff.xz"; ya: "ff.ya"; yb: "ff.yb"; yc: "ff.yc"; yd: "ff.yd"; ye: "ff.ye"; yf: "ff.yf"; yg: "ff.yg"; yh: "ff.yh"; yi: "ff.yi"; yj: "ff.yj"; yk: "ff.yk"; yl: "ff.yl"; ym: "ff.ym"; yn: "ff.yn"; yo: "ff.yo"; yp: "ff.yp"; yq: "ff.yq"; yr: "ff.yr"; ys: "ff.ys"; yt: "ff.yt"; yu: "ff.yu"; yv: "ff.yv"; yw: "ff.yw"; yx: "ff.yx"; yy: "ff.yy"; yz: "ff.yz"; za: "ff.za"; zb: "ff.zb"; zc: "ff.zc"; zd: "ff.zd"; ze: "ff.ze"; zf: "ff.zf"; zg: "ff.zg"; zh: "ff.zh"; zi: "ff.zi"; zj: "ff.zj"; zk: "ff.zk"; zl: "ff.zl"; zm: "ff.zm"; zn: "ff.zn"; zo: "ff.zo"; zp: "ff.zp"; zq: "ff.zq"; zr: "ff.zr"; zs: "ff.zs"; zt: "ff.zt"; zu: "ff.zu"; zv: "ff.zv"; zw: "ff.zw"; zx: "ff.zx"; zy: "ff.zy"; zz: "ff.zz"; }; fg: { aa: "fg.aa"; ab: "fg.ab"; ac: "fg.ac"; ad: "fg.ad"; ae: "fg.ae"; af: "fg.af"; ag: "fg.ag"; ah: "fg.ah"; ai: "fg.ai"; aj: "fg.aj"; ak: "fg.ak"; al: "fg.al"; am: "fg.am"; an: "fg.an"; ao: "fg.ao"; ap: "fg.ap"; aq: "fg.aq"; ar: "fg.ar"; as: "fg.as"; at: "fg.at"; au: "fg.au"; av: "fg.av"; aw: "fg.aw"; ax: "fg.ax"; ay: "fg.ay"; az: "fg.az"; ba: "fg.ba"; bb: "fg.bb"; bc: "fg.bc"; bd: "fg.bd"; be: "fg.be"; bf: "fg.bf"; bg: "fg.bg"; bh: "fg.bh"; bi: "fg.bi"; bj: "fg.bj"; bk: "fg.bk"; bl: "fg.bl"; bm: "fg.bm"; bn: "fg.bn"; bo: "fg.bo"; bp: "fg.bp"; bq: "fg.bq"; br: "fg.br"; bs: "fg.bs"; bt: "fg.bt"; bu: "fg.bu"; bv: "fg.bv"; bw: "fg.bw"; bx: "fg.bx"; by: "fg.by"; bz: "fg.bz"; ca: "fg.ca"; cb: "fg.cb"; cc: "fg.cc"; cd: "fg.cd"; ce: "fg.ce"; cf: "fg.cf"; cg: "fg.cg"; ch: "fg.ch"; ci: "fg.ci"; cj: "fg.cj"; ck: "fg.ck"; cl: "fg.cl"; cm: "fg.cm"; cn: "fg.cn"; co: "fg.co"; cp: "fg.cp"; cq: "fg.cq"; cr: "fg.cr"; cs: "fg.cs"; ct: "fg.ct"; cu: "fg.cu"; cv: "fg.cv"; cw: "fg.cw"; cx: "fg.cx"; cy: "fg.cy"; cz: "fg.cz"; da: "fg.da"; db: "fg.db"; dc: "fg.dc"; dd: "fg.dd"; de: "fg.de"; df: "fg.df"; dg: "fg.dg"; dh: "fg.dh"; di: "fg.di"; dj: "fg.dj"; dk: "fg.dk"; dl: "fg.dl"; dm: "fg.dm"; dn: "fg.dn"; do: "fg.do"; dp: "fg.dp"; dq: "fg.dq"; dr: "fg.dr"; ds: "fg.ds"; dt: "fg.dt"; du: "fg.du"; dv: "fg.dv"; dw: "fg.dw"; dx: "fg.dx"; dy: "fg.dy"; dz: "fg.dz"; ea: "fg.ea"; eb: "fg.eb"; ec: "fg.ec"; ed: "fg.ed"; ee: "fg.ee"; ef: "fg.ef"; eg: "fg.eg"; eh: "fg.eh"; ei: "fg.ei"; ej: "fg.ej"; ek: "fg.ek"; el: "fg.el"; em: "fg.em"; en: "fg.en"; eo: "fg.eo"; ep: "fg.ep"; eq: "fg.eq"; er: "fg.er"; es: "fg.es"; et: "fg.et"; eu: "fg.eu"; ev: "fg.ev"; ew: "fg.ew"; ex: "fg.ex"; ey: "fg.ey"; ez: "fg.ez"; fa: "fg.fa"; fb: "fg.fb"; fc: "fg.fc"; fd: "fg.fd"; fe: "fg.fe"; ff: "fg.ff"; fg: "fg.fg"; fh: "fg.fh"; fi: "fg.fi"; fj: "fg.fj"; fk: "fg.fk"; fl: "fg.fl"; fm: "fg.fm"; fn: "fg.fn"; fo: "fg.fo"; fp: "fg.fp"; fq: "fg.fq"; fr: "fg.fr"; fs: "fg.fs"; ft: "fg.ft"; fu: "fg.fu"; fv: "fg.fv"; fw: "fg.fw"; fx: "fg.fx"; fy: "fg.fy"; fz: "fg.fz"; ga: "fg.ga"; gb: "fg.gb"; gc: "fg.gc"; gd: "fg.gd"; ge: "fg.ge"; gf: "fg.gf"; gg: "fg.gg"; gh: "fg.gh"; gi: "fg.gi"; gj: "fg.gj"; gk: "fg.gk"; gl: "fg.gl"; gm: "fg.gm"; gn: "fg.gn"; go: "fg.go"; gp: "fg.gp"; gq: "fg.gq"; gr: "fg.gr"; gs: "fg.gs"; gt: "fg.gt"; gu: "fg.gu"; gv: "fg.gv"; gw: "fg.gw"; gx: "fg.gx"; gy: "fg.gy"; gz: "fg.gz"; ha: "fg.ha"; hb: "fg.hb"; hc: "fg.hc"; hd: "fg.hd"; he: "fg.he"; hf: "fg.hf"; hg: "fg.hg"; hh: "fg.hh"; hi: "fg.hi"; hj: "fg.hj"; hk: "fg.hk"; hl: "fg.hl"; hm: "fg.hm"; hn: "fg.hn"; ho: "fg.ho"; hp: "fg.hp"; hq: "fg.hq"; hr: "fg.hr"; hs: "fg.hs"; ht: "fg.ht"; hu: "fg.hu"; hv: "fg.hv"; hw: "fg.hw"; hx: "fg.hx"; hy: "fg.hy"; hz: "fg.hz"; ia: "fg.ia"; ib: "fg.ib"; ic: "fg.ic"; id: "fg.id"; ie: "fg.ie"; if: "fg.if"; ig: "fg.ig"; ih: "fg.ih"; ii: "fg.ii"; ij: "fg.ij"; ik: "fg.ik"; il: "fg.il"; im: "fg.im"; in: "fg.in"; io: "fg.io"; ip: "fg.ip"; iq: "fg.iq"; ir: "fg.ir"; is: "fg.is"; it: "fg.it"; iu: "fg.iu"; iv: "fg.iv"; iw: "fg.iw"; ix: "fg.ix"; iy: "fg.iy"; iz: "fg.iz"; ja: "fg.ja"; jb: "fg.jb"; jc: "fg.jc"; jd: "fg.jd"; je: "fg.je"; jf: "fg.jf"; jg: "fg.jg"; jh: "fg.jh"; ji: "fg.ji"; jj: "fg.jj"; jk: "fg.jk"; jl: "fg.jl"; jm: "fg.jm"; jn: "fg.jn"; jo: "fg.jo"; jp: "fg.jp"; jq: "fg.jq"; jr: "fg.jr"; js: "fg.js"; jt: "fg.jt"; ju: "fg.ju"; jv: "fg.jv"; jw: "fg.jw"; jx: "fg.jx"; jy: "fg.jy"; jz: "fg.jz"; ka: "fg.ka"; kb: "fg.kb"; kc: "fg.kc"; kd: "fg.kd"; ke: "fg.ke"; kf: "fg.kf"; kg: "fg.kg"; kh: "fg.kh"; ki: "fg.ki"; kj: "fg.kj"; kk: "fg.kk"; kl: "fg.kl"; km: "fg.km"; kn: "fg.kn"; ko: "fg.ko"; kp: "fg.kp"; kq: "fg.kq"; kr: "fg.kr"; ks: "fg.ks"; kt: "fg.kt"; ku: "fg.ku"; kv: "fg.kv"; kw: "fg.kw"; kx: "fg.kx"; ky: "fg.ky"; kz: "fg.kz"; la: "fg.la"; lb: "fg.lb"; lc: "fg.lc"; ld: "fg.ld"; le: "fg.le"; lf: "fg.lf"; lg: "fg.lg"; lh: "fg.lh"; li: "fg.li"; lj: "fg.lj"; lk: "fg.lk"; ll: "fg.ll"; lm: "fg.lm"; ln: "fg.ln"; lo: "fg.lo"; lp: "fg.lp"; lq: "fg.lq"; lr: "fg.lr"; ls: "fg.ls"; lt: "fg.lt"; lu: "fg.lu"; lv: "fg.lv"; lw: "fg.lw"; lx: "fg.lx"; ly: "fg.ly"; lz: "fg.lz"; ma: "fg.ma"; mb: "fg.mb"; mc: "fg.mc"; md: "fg.md"; me: "fg.me"; mf: "fg.mf"; mg: "fg.mg"; mh: "fg.mh"; mi: "fg.mi"; mj: "fg.mj"; mk: "fg.mk"; ml: "fg.ml"; mm: "fg.mm"; mn: "fg.mn"; mo: "fg.mo"; mp: "fg.mp"; mq: "fg.mq"; mr: "fg.mr"; ms: "fg.ms"; mt: "fg.mt"; mu: "fg.mu"; mv: "fg.mv"; mw: "fg.mw"; mx: "fg.mx"; my: "fg.my"; mz: "fg.mz"; na: "fg.na"; nb: "fg.nb"; nc: "fg.nc"; nd: "fg.nd"; ne: "fg.ne"; nf: "fg.nf"; ng: "fg.ng"; nh: "fg.nh"; ni: "fg.ni"; nj: "fg.nj"; nk: "fg.nk"; nl: "fg.nl"; nm: "fg.nm"; nn: "fg.nn"; no: "fg.no"; np: "fg.np"; nq: "fg.nq"; nr: "fg.nr"; ns: "fg.ns"; nt: "fg.nt"; nu: "fg.nu"; nv: "fg.nv"; nw: "fg.nw"; nx: "fg.nx"; ny: "fg.ny"; nz: "fg.nz"; oa: "fg.oa"; ob: "fg.ob"; oc: "fg.oc"; od: "fg.od"; oe: "fg.oe"; of: "fg.of"; og: "fg.og"; oh: "fg.oh"; oi: "fg.oi"; oj: "fg.oj"; ok: "fg.ok"; ol: "fg.ol"; om: "fg.om"; on: "fg.on"; oo: "fg.oo"; op: "fg.op"; oq: "fg.oq"; or: "fg.or"; os: "fg.os"; ot: "fg.ot"; ou: "fg.ou"; ov: "fg.ov"; ow: "fg.ow"; ox: "fg.ox"; oy: "fg.oy"; oz: "fg.oz"; pa: "fg.pa"; pb: "fg.pb"; pc: "fg.pc"; pd: "fg.pd"; pe: "fg.pe"; pf: "fg.pf"; pg: "fg.pg"; ph: "fg.ph"; pi: "fg.pi"; pj: "fg.pj"; pk: "fg.pk"; pl: "fg.pl"; pm: "fg.pm"; pn: "fg.pn"; po: "fg.po"; pp: "fg.pp"; pq: "fg.pq"; pr: "fg.pr"; ps: "fg.ps"; pt: "fg.pt"; pu: "fg.pu"; pv: "fg.pv"; pw: "fg.pw"; px: "fg.px"; py: "fg.py"; pz: "fg.pz"; qa: "fg.qa"; qb: "fg.qb"; qc: "fg.qc"; qd: "fg.qd"; qe: "fg.qe"; qf: "fg.qf"; qg: "fg.qg"; qh: "fg.qh"; qi: "fg.qi"; qj: "fg.qj"; qk: "fg.qk"; ql: "fg.ql"; qm: "fg.qm"; qn: "fg.qn"; qo: "fg.qo"; qp: "fg.qp"; qq: "fg.qq"; qr: "fg.qr"; qs: "fg.qs"; qt: "fg.qt"; qu: "fg.qu"; qv: "fg.qv"; qw: "fg.qw"; qx: "fg.qx"; qy: "fg.qy"; qz: "fg.qz"; ra: "fg.ra"; rb: "fg.rb"; rc: "fg.rc"; rd: "fg.rd"; re: "fg.re"; rf: "fg.rf"; rg: "fg.rg"; rh: "fg.rh"; ri: "fg.ri"; rj: "fg.rj"; rk: "fg.rk"; rl: "fg.rl"; rm: "fg.rm"; rn: "fg.rn"; ro: "fg.ro"; rp: "fg.rp"; rq: "fg.rq"; rr: "fg.rr"; rs: "fg.rs"; rt: "fg.rt"; ru: "fg.ru"; rv: "fg.rv"; rw: "fg.rw"; rx: "fg.rx"; ry: "fg.ry"; rz: "fg.rz"; sa: "fg.sa"; sb: "fg.sb"; sc: "fg.sc"; sd: "fg.sd"; se: "fg.se"; sf: "fg.sf"; sg: "fg.sg"; sh: "fg.sh"; si: "fg.si"; sj: "fg.sj"; sk: "fg.sk"; sl: "fg.sl"; sm: "fg.sm"; sn: "fg.sn"; so: "fg.so"; sp: "fg.sp"; sq: "fg.sq"; sr: "fg.sr"; ss: "fg.ss"; st: "fg.st"; su: "fg.su"; sv: "fg.sv"; sw: "fg.sw"; sx: "fg.sx"; sy: "fg.sy"; sz: "fg.sz"; ta: "fg.ta"; tb: "fg.tb"; tc: "fg.tc"; td: "fg.td"; te: "fg.te"; tf: "fg.tf"; tg: "fg.tg"; th: "fg.th"; ti: "fg.ti"; tj: "fg.tj"; tk: "fg.tk"; tl: "fg.tl"; tm: "fg.tm"; tn: "fg.tn"; to: "fg.to"; tp: "fg.tp"; tq: "fg.tq"; tr: "fg.tr"; ts: "fg.ts"; tt: "fg.tt"; tu: "fg.tu"; tv: "fg.tv"; tw: "fg.tw"; tx: "fg.tx"; ty: "fg.ty"; tz: "fg.tz"; ua: "fg.ua"; ub: "fg.ub"; uc: "fg.uc"; ud: "fg.ud"; ue: "fg.ue"; uf: "fg.uf"; ug: "fg.ug"; uh: "fg.uh"; ui: "fg.ui"; uj: "fg.uj"; uk: "fg.uk"; ul: "fg.ul"; um: "fg.um"; un: "fg.un"; uo: "fg.uo"; up: "fg.up"; uq: "fg.uq"; ur: "fg.ur"; us: "fg.us"; ut: "fg.ut"; uu: "fg.uu"; uv: "fg.uv"; uw: "fg.uw"; ux: "fg.ux"; uy: "fg.uy"; uz: "fg.uz"; va: "fg.va"; vb: "fg.vb"; vc: "fg.vc"; vd: "fg.vd"; ve: "fg.ve"; vf: "fg.vf"; vg: "fg.vg"; vh: "fg.vh"; vi: "fg.vi"; vj: "fg.vj"; vk: "fg.vk"; vl: "fg.vl"; vm: "fg.vm"; vn: "fg.vn"; vo: "fg.vo"; vp: "fg.vp"; vq: "fg.vq"; vr: "fg.vr"; vs: "fg.vs"; vt: "fg.vt"; vu: "fg.vu"; vv: "fg.vv"; vw: "fg.vw"; vx: "fg.vx"; vy: "fg.vy"; vz: "fg.vz"; wa: "fg.wa"; wb: "fg.wb"; wc: "fg.wc"; wd: "fg.wd"; we: "fg.we"; wf: "fg.wf"; wg: "fg.wg"; wh: "fg.wh"; wi: "fg.wi"; wj: "fg.wj"; wk: "fg.wk"; wl: "fg.wl"; wm: "fg.wm"; wn: "fg.wn"; wo: "fg.wo"; wp: "fg.wp"; wq: "fg.wq"; wr: "fg.wr"; ws: "fg.ws"; wt: "fg.wt"; wu: "fg.wu"; wv: "fg.wv"; ww: "fg.ww"; wx: "fg.wx"; wy: "fg.wy"; wz: "fg.wz"; xa: "fg.xa"; xb: "fg.xb"; xc: "fg.xc"; xd: "fg.xd"; xe: "fg.xe"; xf: "fg.xf"; xg: "fg.xg"; xh: "fg.xh"; xi: "fg.xi"; xj: "fg.xj"; xk: "fg.xk"; xl: "fg.xl"; xm: "fg.xm"; xn: "fg.xn"; xo: "fg.xo"; xp: "fg.xp"; xq: "fg.xq"; xr: "fg.xr"; xs: "fg.xs"; xt: "fg.xt"; xu: "fg.xu"; xv: "fg.xv"; xw: "fg.xw"; xx: "fg.xx"; xy: "fg.xy"; xz: "fg.xz"; ya: "fg.ya"; yb: "fg.yb"; yc: "fg.yc"; yd: "fg.yd"; ye: "fg.ye"; yf: "fg.yf"; yg: "fg.yg"; yh: "fg.yh"; yi: "fg.yi"; yj: "fg.yj"; yk: "fg.yk"; yl: "fg.yl"; ym: "fg.ym"; yn: "fg.yn"; yo: "fg.yo"; yp: "fg.yp"; yq: "fg.yq"; yr: "fg.yr"; ys: "fg.ys"; yt: "fg.yt"; yu: "fg.yu"; yv: "fg.yv"; yw: "fg.yw"; yx: "fg.yx"; yy: "fg.yy"; yz: "fg.yz"; za: "fg.za"; zb: "fg.zb"; zc: "fg.zc"; zd: "fg.zd"; ze: "fg.ze"; zf: "fg.zf"; zg: "fg.zg"; zh: "fg.zh"; zi: "fg.zi"; zj: "fg.zj"; zk: "fg.zk"; zl: "fg.zl"; zm: "fg.zm"; zn: "fg.zn"; zo: "fg.zo"; zp: "fg.zp"; zq: "fg.zq"; zr: "fg.zr"; zs: "fg.zs"; zt: "fg.zt"; zu: "fg.zu"; zv: "fg.zv"; zw: "fg.zw"; zx: "fg.zx"; zy: "fg.zy"; zz: "fg.zz"; }; fh: { aa: "fh.aa"; ab: "fh.ab"; ac: "fh.ac"; ad: "fh.ad"; ae: "fh.ae"; af: "fh.af"; ag: "fh.ag"; ah: "fh.ah"; ai: "fh.ai"; aj: "fh.aj"; ak: "fh.ak"; al: "fh.al"; am: "fh.am"; an: "fh.an"; ao: "fh.ao"; ap: "fh.ap"; aq: "fh.aq"; ar: "fh.ar"; as: "fh.as"; at: "fh.at"; au: "fh.au"; av: "fh.av"; aw: "fh.aw"; ax: "fh.ax"; ay: "fh.ay"; az: "fh.az"; ba: "fh.ba"; bb: "fh.bb"; bc: "fh.bc"; bd: "fh.bd"; be: "fh.be"; bf: "fh.bf"; bg: "fh.bg"; bh: "fh.bh"; bi: "fh.bi"; bj: "fh.bj"; bk: "fh.bk"; bl: "fh.bl"; bm: "fh.bm"; bn: "fh.bn"; bo: "fh.bo"; bp: "fh.bp"; bq: "fh.bq"; br: "fh.br"; bs: "fh.bs"; bt: "fh.bt"; bu: "fh.bu"; bv: "fh.bv"; bw: "fh.bw"; bx: "fh.bx"; by: "fh.by"; bz: "fh.bz"; ca: "fh.ca"; cb: "fh.cb"; cc: "fh.cc"; cd: "fh.cd"; ce: "fh.ce"; cf: "fh.cf"; cg: "fh.cg"; ch: "fh.ch"; ci: "fh.ci"; cj: "fh.cj"; ck: "fh.ck"; cl: "fh.cl"; cm: "fh.cm"; cn: "fh.cn"; co: "fh.co"; cp: "fh.cp"; cq: "fh.cq"; cr: "fh.cr"; cs: "fh.cs"; ct: "fh.ct"; cu: "fh.cu"; cv: "fh.cv"; cw: "fh.cw"; cx: "fh.cx"; cy: "fh.cy"; cz: "fh.cz"; da: "fh.da"; db: "fh.db"; dc: "fh.dc"; dd: "fh.dd"; de: "fh.de"; df: "fh.df"; dg: "fh.dg"; dh: "fh.dh"; di: "fh.di"; dj: "fh.dj"; dk: "fh.dk"; dl: "fh.dl"; dm: "fh.dm"; dn: "fh.dn"; do: "fh.do"; dp: "fh.dp"; dq: "fh.dq"; dr: "fh.dr"; ds: "fh.ds"; dt: "fh.dt"; du: "fh.du"; dv: "fh.dv"; dw: "fh.dw"; dx: "fh.dx"; dy: "fh.dy"; dz: "fh.dz"; ea: "fh.ea"; eb: "fh.eb"; ec: "fh.ec"; ed: "fh.ed"; ee: "fh.ee"; ef: "fh.ef"; eg: "fh.eg"; eh: "fh.eh"; ei: "fh.ei"; ej: "fh.ej"; ek: "fh.ek"; el: "fh.el"; em: "fh.em"; en: "fh.en"; eo: "fh.eo"; ep: "fh.ep"; eq: "fh.eq"; er: "fh.er"; es: "fh.es"; et: "fh.et"; eu: "fh.eu"; ev: "fh.ev"; ew: "fh.ew"; ex: "fh.ex"; ey: "fh.ey"; ez: "fh.ez"; fa: "fh.fa"; fb: "fh.fb"; fc: "fh.fc"; fd: "fh.fd"; fe: "fh.fe"; ff: "fh.ff"; fg: "fh.fg"; fh: "fh.fh"; fi: "fh.fi"; fj: "fh.fj"; fk: "fh.fk"; fl: "fh.fl"; fm: "fh.fm"; fn: "fh.fn"; fo: "fh.fo"; fp: "fh.fp"; fq: "fh.fq"; fr: "fh.fr"; fs: "fh.fs"; ft: "fh.ft"; fu: "fh.fu"; fv: "fh.fv"; fw: "fh.fw"; fx: "fh.fx"; fy: "fh.fy"; fz: "fh.fz"; ga: "fh.ga"; gb: "fh.gb"; gc: "fh.gc"; gd: "fh.gd"; ge: "fh.ge"; gf: "fh.gf"; gg: "fh.gg"; gh: "fh.gh"; gi: "fh.gi"; gj: "fh.gj"; gk: "fh.gk"; gl: "fh.gl"; gm: "fh.gm"; gn: "fh.gn"; go: "fh.go"; gp: "fh.gp"; gq: "fh.gq"; gr: "fh.gr"; gs: "fh.gs"; gt: "fh.gt"; gu: "fh.gu"; gv: "fh.gv"; gw: "fh.gw"; gx: "fh.gx"; gy: "fh.gy"; gz: "fh.gz"; ha: "fh.ha"; hb: "fh.hb"; hc: "fh.hc"; hd: "fh.hd"; he: "fh.he"; hf: "fh.hf"; hg: "fh.hg"; hh: "fh.hh"; hi: "fh.hi"; hj: "fh.hj"; hk: "fh.hk"; hl: "fh.hl"; hm: "fh.hm"; hn: "fh.hn"; ho: "fh.ho"; hp: "fh.hp"; hq: "fh.hq"; hr: "fh.hr"; hs: "fh.hs"; ht: "fh.ht"; hu: "fh.hu"; hv: "fh.hv"; hw: "fh.hw"; hx: "fh.hx"; hy: "fh.hy"; hz: "fh.hz"; ia: "fh.ia"; ib: "fh.ib"; ic: "fh.ic"; id: "fh.id"; ie: "fh.ie"; if: "fh.if"; ig: "fh.ig"; ih: "fh.ih"; ii: "fh.ii"; ij: "fh.ij"; ik: "fh.ik"; il: "fh.il"; im: "fh.im"; in: "fh.in"; io: "fh.io"; ip: "fh.ip"; iq: "fh.iq"; ir: "fh.ir"; is: "fh.is"; it: "fh.it"; iu: "fh.iu"; iv: "fh.iv"; iw: "fh.iw"; ix: "fh.ix"; iy: "fh.iy"; iz: "fh.iz"; ja: "fh.ja"; jb: "fh.jb"; jc: "fh.jc"; jd: "fh.jd"; je: "fh.je"; jf: "fh.jf"; jg: "fh.jg"; jh: "fh.jh"; ji: "fh.ji"; jj: "fh.jj"; jk: "fh.jk"; jl: "fh.jl"; jm: "fh.jm"; jn: "fh.jn"; jo: "fh.jo"; jp: "fh.jp"; jq: "fh.jq"; jr: "fh.jr"; js: "fh.js"; jt: "fh.jt"; ju: "fh.ju"; jv: "fh.jv"; jw: "fh.jw"; jx: "fh.jx"; jy: "fh.jy"; jz: "fh.jz"; ka: "fh.ka"; kb: "fh.kb"; kc: "fh.kc"; kd: "fh.kd"; ke: "fh.ke"; kf: "fh.kf"; kg: "fh.kg"; kh: "fh.kh"; ki: "fh.ki"; kj: "fh.kj"; kk: "fh.kk"; kl: "fh.kl"; km: "fh.km"; kn: "fh.kn"; ko: "fh.ko"; kp: "fh.kp"; kq: "fh.kq"; kr: "fh.kr"; ks: "fh.ks"; kt: "fh.kt"; ku: "fh.ku"; kv: "fh.kv"; kw: "fh.kw"; kx: "fh.kx"; ky: "fh.ky"; kz: "fh.kz"; la: "fh.la"; lb: "fh.lb"; lc: "fh.lc"; ld: "fh.ld"; le: "fh.le"; lf: "fh.lf"; lg: "fh.lg"; lh: "fh.lh"; li: "fh.li"; lj: "fh.lj"; lk: "fh.lk"; ll: "fh.ll"; lm: "fh.lm"; ln: "fh.ln"; lo: "fh.lo"; lp: "fh.lp"; lq: "fh.lq"; lr: "fh.lr"; ls: "fh.ls"; lt: "fh.lt"; lu: "fh.lu"; lv: "fh.lv"; lw: "fh.lw"; lx: "fh.lx"; ly: "fh.ly"; lz: "fh.lz"; ma: "fh.ma"; mb: "fh.mb"; mc: "fh.mc"; md: "fh.md"; me: "fh.me"; mf: "fh.mf"; mg: "fh.mg"; mh: "fh.mh"; mi: "fh.mi"; mj: "fh.mj"; mk: "fh.mk"; ml: "fh.ml"; mm: "fh.mm"; mn: "fh.mn"; mo: "fh.mo"; mp: "fh.mp"; mq: "fh.mq"; mr: "fh.mr"; ms: "fh.ms"; mt: "fh.mt"; mu: "fh.mu"; mv: "fh.mv"; mw: "fh.mw"; mx: "fh.mx"; my: "fh.my"; mz: "fh.mz"; na: "fh.na"; nb: "fh.nb"; nc: "fh.nc"; nd: "fh.nd"; ne: "fh.ne"; nf: "fh.nf"; ng: "fh.ng"; nh: "fh.nh"; ni: "fh.ni"; nj: "fh.nj"; nk: "fh.nk"; nl: "fh.nl"; nm: "fh.nm"; nn: "fh.nn"; no: "fh.no"; np: "fh.np"; nq: "fh.nq"; nr: "fh.nr"; ns: "fh.ns"; nt: "fh.nt"; nu: "fh.nu"; nv: "fh.nv"; nw: "fh.nw"; nx: "fh.nx"; ny: "fh.ny"; nz: "fh.nz"; oa: "fh.oa"; ob: "fh.ob"; oc: "fh.oc"; od: "fh.od"; oe: "fh.oe"; of: "fh.of"; og: "fh.og"; oh: "fh.oh"; oi: "fh.oi"; oj: "fh.oj"; ok: "fh.ok"; ol: "fh.ol"; om: "fh.om"; on: "fh.on"; oo: "fh.oo"; op: "fh.op"; oq: "fh.oq"; or: "fh.or"; os: "fh.os"; ot: "fh.ot"; ou: "fh.ou"; ov: "fh.ov"; ow: "fh.ow"; ox: "fh.ox"; oy: "fh.oy"; oz: "fh.oz"; pa: "fh.pa"; pb: "fh.pb"; pc: "fh.pc"; pd: "fh.pd"; pe: "fh.pe"; pf: "fh.pf"; pg: "fh.pg"; ph: "fh.ph"; pi: "fh.pi"; pj: "fh.pj"; pk: "fh.pk"; pl: "fh.pl"; pm: "fh.pm"; pn: "fh.pn"; po: "fh.po"; pp: "fh.pp"; pq: "fh.pq"; pr: "fh.pr"; ps: "fh.ps"; pt: "fh.pt"; pu: "fh.pu"; pv: "fh.pv"; pw: "fh.pw"; px: "fh.px"; py: "fh.py"; pz: "fh.pz"; qa: "fh.qa"; qb: "fh.qb"; qc: "fh.qc"; qd: "fh.qd"; qe: "fh.qe"; qf: "fh.qf"; qg: "fh.qg"; qh: "fh.qh"; qi: "fh.qi"; qj: "fh.qj"; qk: "fh.qk"; ql: "fh.ql"; qm: "fh.qm"; qn: "fh.qn"; qo: "fh.qo"; qp: "fh.qp"; qq: "fh.qq"; qr: "fh.qr"; qs: "fh.qs"; qt: "fh.qt"; qu: "fh.qu"; qv: "fh.qv"; qw: "fh.qw"; qx: "fh.qx"; qy: "fh.qy"; qz: "fh.qz"; ra: "fh.ra"; rb: "fh.rb"; rc: "fh.rc"; rd: "fh.rd"; re: "fh.re"; rf: "fh.rf"; rg: "fh.rg"; rh: "fh.rh"; ri: "fh.ri"; rj: "fh.rj"; rk: "fh.rk"; rl: "fh.rl"; rm: "fh.rm"; rn: "fh.rn"; ro: "fh.ro"; rp: "fh.rp"; rq: "fh.rq"; rr: "fh.rr"; rs: "fh.rs"; rt: "fh.rt"; ru: "fh.ru"; rv: "fh.rv"; rw: "fh.rw"; rx: "fh.rx"; ry: "fh.ry"; rz: "fh.rz"; sa: "fh.sa"; sb: "fh.sb"; sc: "fh.sc"; sd: "fh.sd"; se: "fh.se"; sf: "fh.sf"; sg: "fh.sg"; sh: "fh.sh"; si: "fh.si"; sj: "fh.sj"; sk: "fh.sk"; sl: "fh.sl"; sm: "fh.sm"; sn: "fh.sn"; so: "fh.so"; sp: "fh.sp"; sq: "fh.sq"; sr: "fh.sr"; ss: "fh.ss"; st: "fh.st"; su: "fh.su"; sv: "fh.sv"; sw: "fh.sw"; sx: "fh.sx"; sy: "fh.sy"; sz: "fh.sz"; ta: "fh.ta"; tb: "fh.tb"; tc: "fh.tc"; td: "fh.td"; te: "fh.te"; tf: "fh.tf"; tg: "fh.tg"; th: "fh.th"; ti: "fh.ti"; tj: "fh.tj"; tk: "fh.tk"; tl: "fh.tl"; tm: "fh.tm"; tn: "fh.tn"; to: "fh.to"; tp: "fh.tp"; tq: "fh.tq"; tr: "fh.tr"; ts: "fh.ts"; tt: "fh.tt"; tu: "fh.tu"; tv: "fh.tv"; tw: "fh.tw"; tx: "fh.tx"; ty: "fh.ty"; tz: "fh.tz"; ua: "fh.ua"; ub: "fh.ub"; uc: "fh.uc"; ud: "fh.ud"; ue: "fh.ue"; uf: "fh.uf"; ug: "fh.ug"; uh: "fh.uh"; ui: "fh.ui"; uj: "fh.uj"; uk: "fh.uk"; ul: "fh.ul"; um: "fh.um"; un: "fh.un"; uo: "fh.uo"; up: "fh.up"; uq: "fh.uq"; ur: "fh.ur"; us: "fh.us"; ut: "fh.ut"; uu: "fh.uu"; uv: "fh.uv"; uw: "fh.uw"; ux: "fh.ux"; uy: "fh.uy"; uz: "fh.uz"; va: "fh.va"; vb: "fh.vb"; vc: "fh.vc"; vd: "fh.vd"; ve: "fh.ve"; vf: "fh.vf"; vg: "fh.vg"; vh: "fh.vh"; vi: "fh.vi"; vj: "fh.vj"; vk: "fh.vk"; vl: "fh.vl"; vm: "fh.vm"; vn: "fh.vn"; vo: "fh.vo"; vp: "fh.vp"; vq: "fh.vq"; vr: "fh.vr"; vs: "fh.vs"; vt: "fh.vt"; vu: "fh.vu"; vv: "fh.vv"; vw: "fh.vw"; vx: "fh.vx"; vy: "fh.vy"; vz: "fh.vz"; wa: "fh.wa"; wb: "fh.wb"; wc: "fh.wc"; wd: "fh.wd"; we: "fh.we"; wf: "fh.wf"; wg: "fh.wg"; wh: "fh.wh"; wi: "fh.wi"; wj: "fh.wj"; wk: "fh.wk"; wl: "fh.wl"; wm: "fh.wm"; wn: "fh.wn"; wo: "fh.wo"; wp: "fh.wp"; wq: "fh.wq"; wr: "fh.wr"; ws: "fh.ws"; wt: "fh.wt"; wu: "fh.wu"; wv: "fh.wv"; ww: "fh.ww"; wx: "fh.wx"; wy: "fh.wy"; wz: "fh.wz"; xa: "fh.xa"; xb: "fh.xb"; xc: "fh.xc"; xd: "fh.xd"; xe: "fh.xe"; xf: "fh.xf"; xg: "fh.xg"; xh: "fh.xh"; xi: "fh.xi"; xj: "fh.xj"; xk: "fh.xk"; xl: "fh.xl"; xm: "fh.xm"; xn: "fh.xn"; xo: "fh.xo"; xp: "fh.xp"; xq: "fh.xq"; xr: "fh.xr"; xs: "fh.xs"; xt: "fh.xt"; xu: "fh.xu"; xv: "fh.xv"; xw: "fh.xw"; xx: "fh.xx"; xy: "fh.xy"; xz: "fh.xz"; ya: "fh.ya"; yb: "fh.yb"; yc: "fh.yc"; yd: "fh.yd"; ye: "fh.ye"; yf: "fh.yf"; yg: "fh.yg"; yh: "fh.yh"; yi: "fh.yi"; yj: "fh.yj"; yk: "fh.yk"; yl: "fh.yl"; ym: "fh.ym"; yn: "fh.yn"; yo: "fh.yo"; yp: "fh.yp"; yq: "fh.yq"; yr: "fh.yr"; ys: "fh.ys"; yt: "fh.yt"; yu: "fh.yu"; yv: "fh.yv"; yw: "fh.yw"; yx: "fh.yx"; yy: "fh.yy"; yz: "fh.yz"; za: "fh.za"; zb: "fh.zb"; zc: "fh.zc"; zd: "fh.zd"; ze: "fh.ze"; zf: "fh.zf"; zg: "fh.zg"; zh: "fh.zh"; zi: "fh.zi"; zj: "fh.zj"; zk: "fh.zk"; zl: "fh.zl"; zm: "fh.zm"; zn: "fh.zn"; zo: "fh.zo"; zp: "fh.zp"; zq: "fh.zq"; zr: "fh.zr"; zs: "fh.zs"; zt: "fh.zt"; zu: "fh.zu"; zv: "fh.zv"; zw: "fh.zw"; zx: "fh.zx"; zy: "fh.zy"; zz: "fh.zz"; }; fi: { aa: "fi.aa"; ab: "fi.ab"; ac: "fi.ac"; ad: "fi.ad"; ae: "fi.ae"; af: "fi.af"; ag: "fi.ag"; ah: "fi.ah"; ai: "fi.ai"; aj: "fi.aj"; ak: "fi.ak"; al: "fi.al"; am: "fi.am"; an: "fi.an"; ao: "fi.ao"; ap: "fi.ap"; aq: "fi.aq"; ar: "fi.ar"; as: "fi.as"; at: "fi.at"; au: "fi.au"; av: "fi.av"; aw: "fi.aw"; ax: "fi.ax"; ay: "fi.ay"; az: "fi.az"; ba: "fi.ba"; bb: "fi.bb"; bc: "fi.bc"; bd: "fi.bd"; be: "fi.be"; bf: "fi.bf"; bg: "fi.bg"; bh: "fi.bh"; bi: "fi.bi"; bj: "fi.bj"; bk: "fi.bk"; bl: "fi.bl"; bm: "fi.bm"; bn: "fi.bn"; bo: "fi.bo"; bp: "fi.bp"; bq: "fi.bq"; br: "fi.br"; bs: "fi.bs"; bt: "fi.bt"; bu: "fi.bu"; bv: "fi.bv"; bw: "fi.bw"; bx: "fi.bx"; by: "fi.by"; bz: "fi.bz"; ca: "fi.ca"; cb: "fi.cb"; cc: "fi.cc"; cd: "fi.cd"; ce: "fi.ce"; cf: "fi.cf"; cg: "fi.cg"; ch: "fi.ch"; ci: "fi.ci"; cj: "fi.cj"; ck: "fi.ck"; cl: "fi.cl"; cm: "fi.cm"; cn: "fi.cn"; co: "fi.co"; cp: "fi.cp"; cq: "fi.cq"; cr: "fi.cr"; cs: "fi.cs"; ct: "fi.ct"; cu: "fi.cu"; cv: "fi.cv"; cw: "fi.cw"; cx: "fi.cx"; cy: "fi.cy"; cz: "fi.cz"; da: "fi.da"; db: "fi.db"; dc: "fi.dc"; dd: "fi.dd"; de: "fi.de"; df: "fi.df"; dg: "fi.dg"; dh: "fi.dh"; di: "fi.di"; dj: "fi.dj"; dk: "fi.dk"; dl: "fi.dl"; dm: "fi.dm"; dn: "fi.dn"; do: "fi.do"; dp: "fi.dp"; dq: "fi.dq"; dr: "fi.dr"; ds: "fi.ds"; dt: "fi.dt"; du: "fi.du"; dv: "fi.dv"; dw: "fi.dw"; dx: "fi.dx"; dy: "fi.dy"; dz: "fi.dz"; ea: "fi.ea"; eb: "fi.eb"; ec: "fi.ec"; ed: "fi.ed"; ee: "fi.ee"; ef: "fi.ef"; eg: "fi.eg"; eh: "fi.eh"; ei: "fi.ei"; ej: "fi.ej"; ek: "fi.ek"; el: "fi.el"; em: "fi.em"; en: "fi.en"; eo: "fi.eo"; ep: "fi.ep"; eq: "fi.eq"; er: "fi.er"; es: "fi.es"; et: "fi.et"; eu: "fi.eu"; ev: "fi.ev"; ew: "fi.ew"; ex: "fi.ex"; ey: "fi.ey"; ez: "fi.ez"; fa: "fi.fa"; fb: "fi.fb"; fc: "fi.fc"; fd: "fi.fd"; fe: "fi.fe"; ff: "fi.ff"; fg: "fi.fg"; fh: "fi.fh"; fi: "fi.fi"; fj: "fi.fj"; fk: "fi.fk"; fl: "fi.fl"; fm: "fi.fm"; fn: "fi.fn"; fo: "fi.fo"; fp: "fi.fp"; fq: "fi.fq"; fr: "fi.fr"; fs: "fi.fs"; ft: "fi.ft"; fu: "fi.fu"; fv: "fi.fv"; fw: "fi.fw"; fx: "fi.fx"; fy: "fi.fy"; fz: "fi.fz"; ga: "fi.ga"; gb: "fi.gb"; gc: "fi.gc"; gd: "fi.gd"; ge: "fi.ge"; gf: "fi.gf"; gg: "fi.gg"; gh: "fi.gh"; gi: "fi.gi"; gj: "fi.gj"; gk: "fi.gk"; gl: "fi.gl"; gm: "fi.gm"; gn: "fi.gn"; go: "fi.go"; gp: "fi.gp"; gq: "fi.gq"; gr: "fi.gr"; gs: "fi.gs"; gt: "fi.gt"; gu: "fi.gu"; gv: "fi.gv"; gw: "fi.gw"; gx: "fi.gx"; gy: "fi.gy"; gz: "fi.gz"; ha: "fi.ha"; hb: "fi.hb"; hc: "fi.hc"; hd: "fi.hd"; he: "fi.he"; hf: "fi.hf"; hg: "fi.hg"; hh: "fi.hh"; hi: "fi.hi"; hj: "fi.hj"; hk: "fi.hk"; hl: "fi.hl"; hm: "fi.hm"; hn: "fi.hn"; ho: "fi.ho"; hp: "fi.hp"; hq: "fi.hq"; hr: "fi.hr"; hs: "fi.hs"; ht: "fi.ht"; hu: "fi.hu"; hv: "fi.hv"; hw: "fi.hw"; hx: "fi.hx"; hy: "fi.hy"; hz: "fi.hz"; ia: "fi.ia"; ib: "fi.ib"; ic: "fi.ic"; id: "fi.id"; ie: "fi.ie"; if: "fi.if"; ig: "fi.ig"; ih: "fi.ih"; ii: "fi.ii"; ij: "fi.ij"; ik: "fi.ik"; il: "fi.il"; im: "fi.im"; in: "fi.in"; io: "fi.io"; ip: "fi.ip"; iq: "fi.iq"; ir: "fi.ir"; is: "fi.is"; it: "fi.it"; iu: "fi.iu"; iv: "fi.iv"; iw: "fi.iw"; ix: "fi.ix"; iy: "fi.iy"; iz: "fi.iz"; ja: "fi.ja"; jb: "fi.jb"; jc: "fi.jc"; jd: "fi.jd"; je: "fi.je"; jf: "fi.jf"; jg: "fi.jg"; jh: "fi.jh"; ji: "fi.ji"; jj: "fi.jj"; jk: "fi.jk"; jl: "fi.jl"; jm: "fi.jm"; jn: "fi.jn"; jo: "fi.jo"; jp: "fi.jp"; jq: "fi.jq"; jr: "fi.jr"; js: "fi.js"; jt: "fi.jt"; ju: "fi.ju"; jv: "fi.jv"; jw: "fi.jw"; jx: "fi.jx"; jy: "fi.jy"; jz: "fi.jz"; ka: "fi.ka"; kb: "fi.kb"; kc: "fi.kc"; kd: "fi.kd"; ke: "fi.ke"; kf: "fi.kf"; kg: "fi.kg"; kh: "fi.kh"; ki: "fi.ki"; kj: "fi.kj"; kk: "fi.kk"; kl: "fi.kl"; km: "fi.km"; kn: "fi.kn"; ko: "fi.ko"; kp: "fi.kp"; kq: "fi.kq"; kr: "fi.kr"; ks: "fi.ks"; kt: "fi.kt"; ku: "fi.ku"; kv: "fi.kv"; kw: "fi.kw"; kx: "fi.kx"; ky: "fi.ky"; kz: "fi.kz"; la: "fi.la"; lb: "fi.lb"; lc: "fi.lc"; ld: "fi.ld"; le: "fi.le"; lf: "fi.lf"; lg: "fi.lg"; lh: "fi.lh"; li: "fi.li"; lj: "fi.lj"; lk: "fi.lk"; ll: "fi.ll"; lm: "fi.lm"; ln: "fi.ln"; lo: "fi.lo"; lp: "fi.lp"; lq: "fi.lq"; lr: "fi.lr"; ls: "fi.ls"; lt: "fi.lt"; lu: "fi.lu"; lv: "fi.lv"; lw: "fi.lw"; lx: "fi.lx"; ly: "fi.ly"; lz: "fi.lz"; ma: "fi.ma"; mb: "fi.mb"; mc: "fi.mc"; md: "fi.md"; me: "fi.me"; mf: "fi.mf"; mg: "fi.mg"; mh: "fi.mh"; mi: "fi.mi"; mj: "fi.mj"; mk: "fi.mk"; ml: "fi.ml"; mm: "fi.mm"; mn: "fi.mn"; mo: "fi.mo"; mp: "fi.mp"; mq: "fi.mq"; mr: "fi.mr"; ms: "fi.ms"; mt: "fi.mt"; mu: "fi.mu"; mv: "fi.mv"; mw: "fi.mw"; mx: "fi.mx"; my: "fi.my"; mz: "fi.mz"; na: "fi.na"; nb: "fi.nb"; nc: "fi.nc"; nd: "fi.nd"; ne: "fi.ne"; nf: "fi.nf"; ng: "fi.ng"; nh: "fi.nh"; ni: "fi.ni"; nj: "fi.nj"; nk: "fi.nk"; nl: "fi.nl"; nm: "fi.nm"; nn: "fi.nn"; no: "fi.no"; np: "fi.np"; nq: "fi.nq"; nr: "fi.nr"; ns: "fi.ns"; nt: "fi.nt"; nu: "fi.nu"; nv: "fi.nv"; nw: "fi.nw"; nx: "fi.nx"; ny: "fi.ny"; nz: "fi.nz"; oa: "fi.oa"; ob: "fi.ob"; oc: "fi.oc"; od: "fi.od"; oe: "fi.oe"; of: "fi.of"; og: "fi.og"; oh: "fi.oh"; oi: "fi.oi"; oj: "fi.oj"; ok: "fi.ok"; ol: "fi.ol"; om: "fi.om"; on: "fi.on"; oo: "fi.oo"; op: "fi.op"; oq: "fi.oq"; or: "fi.or"; os: "fi.os"; ot: "fi.ot"; ou: "fi.ou"; ov: "fi.ov"; ow: "fi.ow"; ox: "fi.ox"; oy: "fi.oy"; oz: "fi.oz"; pa: "fi.pa"; pb: "fi.pb"; pc: "fi.pc"; pd: "fi.pd"; pe: "fi.pe"; pf: "fi.pf"; pg: "fi.pg"; ph: "fi.ph"; pi: "fi.pi"; pj: "fi.pj"; pk: "fi.pk"; pl: "fi.pl"; pm: "fi.pm"; pn: "fi.pn"; po: "fi.po"; pp: "fi.pp"; pq: "fi.pq"; pr: "fi.pr"; ps: "fi.ps"; pt: "fi.pt"; pu: "fi.pu"; pv: "fi.pv"; pw: "fi.pw"; px: "fi.px"; py: "fi.py"; pz: "fi.pz"; qa: "fi.qa"; qb: "fi.qb"; qc: "fi.qc"; qd: "fi.qd"; qe: "fi.qe"; qf: "fi.qf"; qg: "fi.qg"; qh: "fi.qh"; qi: "fi.qi"; qj: "fi.qj"; qk: "fi.qk"; ql: "fi.ql"; qm: "fi.qm"; qn: "fi.qn"; qo: "fi.qo"; qp: "fi.qp"; qq: "fi.qq"; qr: "fi.qr"; qs: "fi.qs"; qt: "fi.qt"; qu: "fi.qu"; qv: "fi.qv"; qw: "fi.qw"; qx: "fi.qx"; qy: "fi.qy"; qz: "fi.qz"; ra: "fi.ra"; rb: "fi.rb"; rc: "fi.rc"; rd: "fi.rd"; re: "fi.re"; rf: "fi.rf"; rg: "fi.rg"; rh: "fi.rh"; ri: "fi.ri"; rj: "fi.rj"; rk: "fi.rk"; rl: "fi.rl"; rm: "fi.rm"; rn: "fi.rn"; ro: "fi.ro"; rp: "fi.rp"; rq: "fi.rq"; rr: "fi.rr"; rs: "fi.rs"; rt: "fi.rt"; ru: "fi.ru"; rv: "fi.rv"; rw: "fi.rw"; rx: "fi.rx"; ry: "fi.ry"; rz: "fi.rz"; sa: "fi.sa"; sb: "fi.sb"; sc: "fi.sc"; sd: "fi.sd"; se: "fi.se"; sf: "fi.sf"; sg: "fi.sg"; sh: "fi.sh"; si: "fi.si"; sj: "fi.sj"; sk: "fi.sk"; sl: "fi.sl"; sm: "fi.sm"; sn: "fi.sn"; so: "fi.so"; sp: "fi.sp"; sq: "fi.sq"; sr: "fi.sr"; ss: "fi.ss"; st: "fi.st"; su: "fi.su"; sv: "fi.sv"; sw: "fi.sw"; sx: "fi.sx"; sy: "fi.sy"; sz: "fi.sz"; ta: "fi.ta"; tb: "fi.tb"; tc: "fi.tc"; td: "fi.td"; te: "fi.te"; tf: "fi.tf"; tg: "fi.tg"; th: "fi.th"; ti: "fi.ti"; tj: "fi.tj"; tk: "fi.tk"; tl: "fi.tl"; tm: "fi.tm"; tn: "fi.tn"; to: "fi.to"; tp: "fi.tp"; tq: "fi.tq"; tr: "fi.tr"; ts: "fi.ts"; tt: "fi.tt"; tu: "fi.tu"; tv: "fi.tv"; tw: "fi.tw"; tx: "fi.tx"; ty: "fi.ty"; tz: "fi.tz"; ua: "fi.ua"; ub: "fi.ub"; uc: "fi.uc"; ud: "fi.ud"; ue: "fi.ue"; uf: "fi.uf"; ug: "fi.ug"; uh: "fi.uh"; ui: "fi.ui"; uj: "fi.uj"; uk: "fi.uk"; ul: "fi.ul"; um: "fi.um"; un: "fi.un"; uo: "fi.uo"; up: "fi.up"; uq: "fi.uq"; ur: "fi.ur"; us: "fi.us"; ut: "fi.ut"; uu: "fi.uu"; uv: "fi.uv"; uw: "fi.uw"; ux: "fi.ux"; uy: "fi.uy"; uz: "fi.uz"; va: "fi.va"; vb: "fi.vb"; vc: "fi.vc"; vd: "fi.vd"; ve: "fi.ve"; vf: "fi.vf"; vg: "fi.vg"; vh: "fi.vh"; vi: "fi.vi"; vj: "fi.vj"; vk: "fi.vk"; vl: "fi.vl"; vm: "fi.vm"; vn: "fi.vn"; vo: "fi.vo"; vp: "fi.vp"; vq: "fi.vq"; vr: "fi.vr"; vs: "fi.vs"; vt: "fi.vt"; vu: "fi.vu"; vv: "fi.vv"; vw: "fi.vw"; vx: "fi.vx"; vy: "fi.vy"; vz: "fi.vz"; wa: "fi.wa"; wb: "fi.wb"; wc: "fi.wc"; wd: "fi.wd"; we: "fi.we"; wf: "fi.wf"; wg: "fi.wg"; wh: "fi.wh"; wi: "fi.wi"; wj: "fi.wj"; wk: "fi.wk"; wl: "fi.wl"; wm: "fi.wm"; wn: "fi.wn"; wo: "fi.wo"; wp: "fi.wp"; wq: "fi.wq"; wr: "fi.wr"; ws: "fi.ws"; wt: "fi.wt"; wu: "fi.wu"; wv: "fi.wv"; ww: "fi.ww"; wx: "fi.wx"; wy: "fi.wy"; wz: "fi.wz"; xa: "fi.xa"; xb: "fi.xb"; xc: "fi.xc"; xd: "fi.xd"; xe: "fi.xe"; xf: "fi.xf"; xg: "fi.xg"; xh: "fi.xh"; xi: "fi.xi"; xj: "fi.xj"; xk: "fi.xk"; xl: "fi.xl"; xm: "fi.xm"; xn: "fi.xn"; xo: "fi.xo"; xp: "fi.xp"; xq: "fi.xq"; xr: "fi.xr"; xs: "fi.xs"; xt: "fi.xt"; xu: "fi.xu"; xv: "fi.xv"; xw: "fi.xw"; xx: "fi.xx"; xy: "fi.xy"; xz: "fi.xz"; ya: "fi.ya"; yb: "fi.yb"; yc: "fi.yc"; yd: "fi.yd"; ye: "fi.ye"; yf: "fi.yf"; yg: "fi.yg"; yh: "fi.yh"; yi: "fi.yi"; yj: "fi.yj"; yk: "fi.yk"; yl: "fi.yl"; ym: "fi.ym"; yn: "fi.yn"; yo: "fi.yo"; yp: "fi.yp"; yq: "fi.yq"; yr: "fi.yr"; ys: "fi.ys"; yt: "fi.yt"; yu: "fi.yu"; yv: "fi.yv"; yw: "fi.yw"; yx: "fi.yx"; yy: "fi.yy"; yz: "fi.yz"; za: "fi.za"; zb: "fi.zb"; zc: "fi.zc"; zd: "fi.zd"; ze: "fi.ze"; zf: "fi.zf"; zg: "fi.zg"; zh: "fi.zh"; zi: "fi.zi"; zj: "fi.zj"; zk: "fi.zk"; zl: "fi.zl"; zm: "fi.zm"; zn: "fi.zn"; zo: "fi.zo"; zp: "fi.zp"; zq: "fi.zq"; zr: "fi.zr"; zs: "fi.zs"; zt: "fi.zt"; zu: "fi.zu"; zv: "fi.zv"; zw: "fi.zw"; zx: "fi.zx"; zy: "fi.zy"; zz: "fi.zz"; }; fj: { aa: "fj.aa"; ab: "fj.ab"; ac: "fj.ac"; ad: "fj.ad"; ae: "fj.ae"; af: "fj.af"; ag: "fj.ag"; ah: "fj.ah"; ai: "fj.ai"; aj: "fj.aj"; ak: "fj.ak"; al: "fj.al"; am: "fj.am"; an: "fj.an"; ao: "fj.ao"; ap: "fj.ap"; aq: "fj.aq"; ar: "fj.ar"; as: "fj.as"; at: "fj.at"; au: "fj.au"; av: "fj.av"; aw: "fj.aw"; ax: "fj.ax"; ay: "fj.ay"; az: "fj.az"; ba: "fj.ba"; bb: "fj.bb"; bc: "fj.bc"; bd: "fj.bd"; be: "fj.be"; bf: "fj.bf"; bg: "fj.bg"; bh: "fj.bh"; bi: "fj.bi"; bj: "fj.bj"; bk: "fj.bk"; bl: "fj.bl"; bm: "fj.bm"; bn: "fj.bn"; bo: "fj.bo"; bp: "fj.bp"; bq: "fj.bq"; br: "fj.br"; bs: "fj.bs"; bt: "fj.bt"; bu: "fj.bu"; bv: "fj.bv"; bw: "fj.bw"; bx: "fj.bx"; by: "fj.by"; bz: "fj.bz"; ca: "fj.ca"; cb: "fj.cb"; cc: "fj.cc"; cd: "fj.cd"; ce: "fj.ce"; cf: "fj.cf"; cg: "fj.cg"; ch: "fj.ch"; ci: "fj.ci"; cj: "fj.cj"; ck: "fj.ck"; cl: "fj.cl"; cm: "fj.cm"; cn: "fj.cn"; co: "fj.co"; cp: "fj.cp"; cq: "fj.cq"; cr: "fj.cr"; cs: "fj.cs"; ct: "fj.ct"; cu: "fj.cu"; cv: "fj.cv"; cw: "fj.cw"; cx: "fj.cx"; cy: "fj.cy"; cz: "fj.cz"; da: "fj.da"; db: "fj.db"; dc: "fj.dc"; dd: "fj.dd"; de: "fj.de"; df: "fj.df"; dg: "fj.dg"; dh: "fj.dh"; di: "fj.di"; dj: "fj.dj"; dk: "fj.dk"; dl: "fj.dl"; dm: "fj.dm"; dn: "fj.dn"; do: "fj.do"; dp: "fj.dp"; dq: "fj.dq"; dr: "fj.dr"; ds: "fj.ds"; dt: "fj.dt"; du: "fj.du"; dv: "fj.dv"; dw: "fj.dw"; dx: "fj.dx"; dy: "fj.dy"; dz: "fj.dz"; ea: "fj.ea"; eb: "fj.eb"; ec: "fj.ec"; ed: "fj.ed"; ee: "fj.ee"; ef: "fj.ef"; eg: "fj.eg"; eh: "fj.eh"; ei: "fj.ei"; ej: "fj.ej"; ek: "fj.ek"; el: "fj.el"; em: "fj.em"; en: "fj.en"; eo: "fj.eo"; ep: "fj.ep"; eq: "fj.eq"; er: "fj.er"; es: "fj.es"; et: "fj.et"; eu: "fj.eu"; ev: "fj.ev"; ew: "fj.ew"; ex: "fj.ex"; ey: "fj.ey"; ez: "fj.ez"; fa: "fj.fa"; fb: "fj.fb"; fc: "fj.fc"; fd: "fj.fd"; fe: "fj.fe"; ff: "fj.ff"; fg: "fj.fg"; fh: "fj.fh"; fi: "fj.fi"; fj: "fj.fj"; fk: "fj.fk"; fl: "fj.fl"; fm: "fj.fm"; fn: "fj.fn"; fo: "fj.fo"; fp: "fj.fp"; fq: "fj.fq"; fr: "fj.fr"; fs: "fj.fs"; ft: "fj.ft"; fu: "fj.fu"; fv: "fj.fv"; fw: "fj.fw"; fx: "fj.fx"; fy: "fj.fy"; fz: "fj.fz"; ga: "fj.ga"; gb: "fj.gb"; gc: "fj.gc"; gd: "fj.gd"; ge: "fj.ge"; gf: "fj.gf"; gg: "fj.gg"; gh: "fj.gh"; gi: "fj.gi"; gj: "fj.gj"; gk: "fj.gk"; gl: "fj.gl"; gm: "fj.gm"; gn: "fj.gn"; go: "fj.go"; gp: "fj.gp"; gq: "fj.gq"; gr: "fj.gr"; gs: "fj.gs"; gt: "fj.gt"; gu: "fj.gu"; gv: "fj.gv"; gw: "fj.gw"; gx: "fj.gx"; gy: "fj.gy"; gz: "fj.gz"; ha: "fj.ha"; hb: "fj.hb"; hc: "fj.hc"; hd: "fj.hd"; he: "fj.he"; hf: "fj.hf"; hg: "fj.hg"; hh: "fj.hh"; hi: "fj.hi"; hj: "fj.hj"; hk: "fj.hk"; hl: "fj.hl"; hm: "fj.hm"; hn: "fj.hn"; ho: "fj.ho"; hp: "fj.hp"; hq: "fj.hq"; hr: "fj.hr"; hs: "fj.hs"; ht: "fj.ht"; hu: "fj.hu"; hv: "fj.hv"; hw: "fj.hw"; hx: "fj.hx"; hy: "fj.hy"; hz: "fj.hz"; ia: "fj.ia"; ib: "fj.ib"; ic: "fj.ic"; id: "fj.id"; ie: "fj.ie"; if: "fj.if"; ig: "fj.ig"; ih: "fj.ih"; ii: "fj.ii"; ij: "fj.ij"; ik: "fj.ik"; il: "fj.il"; im: "fj.im"; in: "fj.in"; io: "fj.io"; ip: "fj.ip"; iq: "fj.iq"; ir: "fj.ir"; is: "fj.is"; it: "fj.it"; iu: "fj.iu"; iv: "fj.iv"; iw: "fj.iw"; ix: "fj.ix"; iy: "fj.iy"; iz: "fj.iz"; ja: "fj.ja"; jb: "fj.jb"; jc: "fj.jc"; jd: "fj.jd"; je: "fj.je"; jf: "fj.jf"; jg: "fj.jg"; jh: "fj.jh"; ji: "fj.ji"; jj: "fj.jj"; jk: "fj.jk"; jl: "fj.jl"; jm: "fj.jm"; jn: "fj.jn"; jo: "fj.jo"; jp: "fj.jp"; jq: "fj.jq"; jr: "fj.jr"; js: "fj.js"; jt: "fj.jt"; ju: "fj.ju"; jv: "fj.jv"; jw: "fj.jw"; jx: "fj.jx"; jy: "fj.jy"; jz: "fj.jz"; ka: "fj.ka"; kb: "fj.kb"; kc: "fj.kc"; kd: "fj.kd"; ke: "fj.ke"; kf: "fj.kf"; kg: "fj.kg"; kh: "fj.kh"; ki: "fj.ki"; kj: "fj.kj"; kk: "fj.kk"; kl: "fj.kl"; km: "fj.km"; kn: "fj.kn"; ko: "fj.ko"; kp: "fj.kp"; kq: "fj.kq"; kr: "fj.kr"; ks: "fj.ks"; kt: "fj.kt"; ku: "fj.ku"; kv: "fj.kv"; kw: "fj.kw"; kx: "fj.kx"; ky: "fj.ky"; kz: "fj.kz"; la: "fj.la"; lb: "fj.lb"; lc: "fj.lc"; ld: "fj.ld"; le: "fj.le"; lf: "fj.lf"; lg: "fj.lg"; lh: "fj.lh"; li: "fj.li"; lj: "fj.lj"; lk: "fj.lk"; ll: "fj.ll"; lm: "fj.lm"; ln: "fj.ln"; lo: "fj.lo"; lp: "fj.lp"; lq: "fj.lq"; lr: "fj.lr"; ls: "fj.ls"; lt: "fj.lt"; lu: "fj.lu"; lv: "fj.lv"; lw: "fj.lw"; lx: "fj.lx"; ly: "fj.ly"; lz: "fj.lz"; ma: "fj.ma"; mb: "fj.mb"; mc: "fj.mc"; md: "fj.md"; me: "fj.me"; mf: "fj.mf"; mg: "fj.mg"; mh: "fj.mh"; mi: "fj.mi"; mj: "fj.mj"; mk: "fj.mk"; ml: "fj.ml"; mm: "fj.mm"; mn: "fj.mn"; mo: "fj.mo"; mp: "fj.mp"; mq: "fj.mq"; mr: "fj.mr"; ms: "fj.ms"; mt: "fj.mt"; mu: "fj.mu"; mv: "fj.mv"; mw: "fj.mw"; mx: "fj.mx"; my: "fj.my"; mz: "fj.mz"; na: "fj.na"; nb: "fj.nb"; nc: "fj.nc"; nd: "fj.nd"; ne: "fj.ne"; nf: "fj.nf"; ng: "fj.ng"; nh: "fj.nh"; ni: "fj.ni"; nj: "fj.nj"; nk: "fj.nk"; nl: "fj.nl"; nm: "fj.nm"; nn: "fj.nn"; no: "fj.no"; np: "fj.np"; nq: "fj.nq"; nr: "fj.nr"; ns: "fj.ns"; nt: "fj.nt"; nu: "fj.nu"; nv: "fj.nv"; nw: "fj.nw"; nx: "fj.nx"; ny: "fj.ny"; nz: "fj.nz"; oa: "fj.oa"; ob: "fj.ob"; oc: "fj.oc"; od: "fj.od"; oe: "fj.oe"; of: "fj.of"; og: "fj.og"; oh: "fj.oh"; oi: "fj.oi"; oj: "fj.oj"; ok: "fj.ok"; ol: "fj.ol"; om: "fj.om"; on: "fj.on"; oo: "fj.oo"; op: "fj.op"; oq: "fj.oq"; or: "fj.or"; os: "fj.os"; ot: "fj.ot"; ou: "fj.ou"; ov: "fj.ov"; ow: "fj.ow"; ox: "fj.ox"; oy: "fj.oy"; oz: "fj.oz"; pa: "fj.pa"; pb: "fj.pb"; pc: "fj.pc"; pd: "fj.pd"; pe: "fj.pe"; pf: "fj.pf"; pg: "fj.pg"; ph: "fj.ph"; pi: "fj.pi"; pj: "fj.pj"; pk: "fj.pk"; pl: "fj.pl"; pm: "fj.pm"; pn: "fj.pn"; po: "fj.po"; pp: "fj.pp"; pq: "fj.pq"; pr: "fj.pr"; ps: "fj.ps"; pt: "fj.pt"; pu: "fj.pu"; pv: "fj.pv"; pw: "fj.pw"; px: "fj.px"; py: "fj.py"; pz: "fj.pz"; qa: "fj.qa"; qb: "fj.qb"; qc: "fj.qc"; qd: "fj.qd"; qe: "fj.qe"; qf: "fj.qf"; qg: "fj.qg"; qh: "fj.qh"; qi: "fj.qi"; qj: "fj.qj"; qk: "fj.qk"; ql: "fj.ql"; qm: "fj.qm"; qn: "fj.qn"; qo: "fj.qo"; qp: "fj.qp"; qq: "fj.qq"; qr: "fj.qr"; qs: "fj.qs"; qt: "fj.qt"; qu: "fj.qu"; qv: "fj.qv"; qw: "fj.qw"; qx: "fj.qx"; qy: "fj.qy"; qz: "fj.qz"; ra: "fj.ra"; rb: "fj.rb"; rc: "fj.rc"; rd: "fj.rd"; re: "fj.re"; rf: "fj.rf"; rg: "fj.rg"; rh: "fj.rh"; ri: "fj.ri"; rj: "fj.rj"; rk: "fj.rk"; rl: "fj.rl"; rm: "fj.rm"; rn: "fj.rn"; ro: "fj.ro"; rp: "fj.rp"; rq: "fj.rq"; rr: "fj.rr"; rs: "fj.rs"; rt: "fj.rt"; ru: "fj.ru"; rv: "fj.rv"; rw: "fj.rw"; rx: "fj.rx"; ry: "fj.ry"; rz: "fj.rz"; sa: "fj.sa"; sb: "fj.sb"; sc: "fj.sc"; sd: "fj.sd"; se: "fj.se"; sf: "fj.sf"; sg: "fj.sg"; sh: "fj.sh"; si: "fj.si"; sj: "fj.sj"; sk: "fj.sk"; sl: "fj.sl"; sm: "fj.sm"; sn: "fj.sn"; so: "fj.so"; sp: "fj.sp"; sq: "fj.sq"; sr: "fj.sr"; ss: "fj.ss"; st: "fj.st"; su: "fj.su"; sv: "fj.sv"; sw: "fj.sw"; sx: "fj.sx"; sy: "fj.sy"; sz: "fj.sz"; ta: "fj.ta"; tb: "fj.tb"; tc: "fj.tc"; td: "fj.td"; te: "fj.te"; tf: "fj.tf"; tg: "fj.tg"; th: "fj.th"; ti: "fj.ti"; tj: "fj.tj"; tk: "fj.tk"; tl: "fj.tl"; tm: "fj.tm"; tn: "fj.tn"; to: "fj.to"; tp: "fj.tp"; tq: "fj.tq"; tr: "fj.tr"; ts: "fj.ts"; tt: "fj.tt"; tu: "fj.tu"; tv: "fj.tv"; tw: "fj.tw"; tx: "fj.tx"; ty: "fj.ty"; tz: "fj.tz"; ua: "fj.ua"; ub: "fj.ub"; uc: "fj.uc"; ud: "fj.ud"; ue: "fj.ue"; uf: "fj.uf"; ug: "fj.ug"; uh: "fj.uh"; ui: "fj.ui"; uj: "fj.uj"; uk: "fj.uk"; ul: "fj.ul"; um: "fj.um"; un: "fj.un"; uo: "fj.uo"; up: "fj.up"; uq: "fj.uq"; ur: "fj.ur"; us: "fj.us"; ut: "fj.ut"; uu: "fj.uu"; uv: "fj.uv"; uw: "fj.uw"; ux: "fj.ux"; uy: "fj.uy"; uz: "fj.uz"; va: "fj.va"; vb: "fj.vb"; vc: "fj.vc"; vd: "fj.vd"; ve: "fj.ve"; vf: "fj.vf"; vg: "fj.vg"; vh: "fj.vh"; vi: "fj.vi"; vj: "fj.vj"; vk: "fj.vk"; vl: "fj.vl"; vm: "fj.vm"; vn: "fj.vn"; vo: "fj.vo"; vp: "fj.vp"; vq: "fj.vq"; vr: "fj.vr"; vs: "fj.vs"; vt: "fj.vt"; vu: "fj.vu"; vv: "fj.vv"; vw: "fj.vw"; vx: "fj.vx"; vy: "fj.vy"; vz: "fj.vz"; wa: "fj.wa"; wb: "fj.wb"; wc: "fj.wc"; wd: "fj.wd"; we: "fj.we"; wf: "fj.wf"; wg: "fj.wg"; wh: "fj.wh"; wi: "fj.wi"; wj: "fj.wj"; wk: "fj.wk"; wl: "fj.wl"; wm: "fj.wm"; wn: "fj.wn"; wo: "fj.wo"; wp: "fj.wp"; wq: "fj.wq"; wr: "fj.wr"; ws: "fj.ws"; wt: "fj.wt"; wu: "fj.wu"; wv: "fj.wv"; ww: "fj.ww"; wx: "fj.wx"; wy: "fj.wy"; wz: "fj.wz"; xa: "fj.xa"; xb: "fj.xb"; xc: "fj.xc"; xd: "fj.xd"; xe: "fj.xe"; xf: "fj.xf"; xg: "fj.xg"; xh: "fj.xh"; xi: "fj.xi"; xj: "fj.xj"; xk: "fj.xk"; xl: "fj.xl"; xm: "fj.xm"; xn: "fj.xn"; xo: "fj.xo"; xp: "fj.xp"; xq: "fj.xq"; xr: "fj.xr"; xs: "fj.xs"; xt: "fj.xt"; xu: "fj.xu"; xv: "fj.xv"; xw: "fj.xw"; xx: "fj.xx"; xy: "fj.xy"; xz: "fj.xz"; ya: "fj.ya"; yb: "fj.yb"; yc: "fj.yc"; yd: "fj.yd"; ye: "fj.ye"; yf: "fj.yf"; yg: "fj.yg"; yh: "fj.yh"; yi: "fj.yi"; yj: "fj.yj"; yk: "fj.yk"; yl: "fj.yl"; ym: "fj.ym"; yn: "fj.yn"; yo: "fj.yo"; yp: "fj.yp"; yq: "fj.yq"; yr: "fj.yr"; ys: "fj.ys"; yt: "fj.yt"; yu: "fj.yu"; yv: "fj.yv"; yw: "fj.yw"; yx: "fj.yx"; yy: "fj.yy"; yz: "fj.yz"; za: "fj.za"; zb: "fj.zb"; zc: "fj.zc"; zd: "fj.zd"; ze: "fj.ze"; zf: "fj.zf"; zg: "fj.zg"; zh: "fj.zh"; zi: "fj.zi"; zj: "fj.zj"; zk: "fj.zk"; zl: "fj.zl"; zm: "fj.zm"; zn: "fj.zn"; zo: "fj.zo"; zp: "fj.zp"; zq: "fj.zq"; zr: "fj.zr"; zs: "fj.zs"; zt: "fj.zt"; zu: "fj.zu"; zv: "fj.zv"; zw: "fj.zw"; zx: "fj.zx"; zy: "fj.zy"; zz: "fj.zz"; }; fk: { aa: "fk.aa"; ab: "fk.ab"; ac: "fk.ac"; ad: "fk.ad"; ae: "fk.ae"; af: "fk.af"; ag: "fk.ag"; ah: "fk.ah"; ai: "fk.ai"; aj: "fk.aj"; ak: "fk.ak"; al: "fk.al"; am: "fk.am"; an: "fk.an"; ao: "fk.ao"; ap: "fk.ap"; aq: "fk.aq"; ar: "fk.ar"; as: "fk.as"; at: "fk.at"; au: "fk.au"; av: "fk.av"; aw: "fk.aw"; ax: "fk.ax"; ay: "fk.ay"; az: "fk.az"; ba: "fk.ba"; bb: "fk.bb"; bc: "fk.bc"; bd: "fk.bd"; be: "fk.be"; bf: "fk.bf"; bg: "fk.bg"; bh: "fk.bh"; bi: "fk.bi"; bj: "fk.bj"; bk: "fk.bk"; bl: "fk.bl"; bm: "fk.bm"; bn: "fk.bn"; bo: "fk.bo"; bp: "fk.bp"; bq: "fk.bq"; br: "fk.br"; bs: "fk.bs"; bt: "fk.bt"; bu: "fk.bu"; bv: "fk.bv"; bw: "fk.bw"; bx: "fk.bx"; by: "fk.by"; bz: "fk.bz"; ca: "fk.ca"; cb: "fk.cb"; cc: "fk.cc"; cd: "fk.cd"; ce: "fk.ce"; cf: "fk.cf"; cg: "fk.cg"; ch: "fk.ch"; ci: "fk.ci"; cj: "fk.cj"; ck: "fk.ck"; cl: "fk.cl"; cm: "fk.cm"; cn: "fk.cn"; co: "fk.co"; cp: "fk.cp"; cq: "fk.cq"; cr: "fk.cr"; cs: "fk.cs"; ct: "fk.ct"; cu: "fk.cu"; cv: "fk.cv"; cw: "fk.cw"; cx: "fk.cx"; cy: "fk.cy"; cz: "fk.cz"; da: "fk.da"; db: "fk.db"; dc: "fk.dc"; dd: "fk.dd"; de: "fk.de"; df: "fk.df"; dg: "fk.dg"; dh: "fk.dh"; di: "fk.di"; dj: "fk.dj"; dk: "fk.dk"; dl: "fk.dl"; dm: "fk.dm"; dn: "fk.dn"; do: "fk.do"; dp: "fk.dp"; dq: "fk.dq"; dr: "fk.dr"; ds: "fk.ds"; dt: "fk.dt"; du: "fk.du"; dv: "fk.dv"; dw: "fk.dw"; dx: "fk.dx"; dy: "fk.dy"; dz: "fk.dz"; ea: "fk.ea"; eb: "fk.eb"; ec: "fk.ec"; ed: "fk.ed"; ee: "fk.ee"; ef: "fk.ef"; eg: "fk.eg"; eh: "fk.eh"; ei: "fk.ei"; ej: "fk.ej"; ek: "fk.ek"; el: "fk.el"; em: "fk.em"; en: "fk.en"; eo: "fk.eo"; ep: "fk.ep"; eq: "fk.eq"; er: "fk.er"; es: "fk.es"; et: "fk.et"; eu: "fk.eu"; ev: "fk.ev"; ew: "fk.ew"; ex: "fk.ex"; ey: "fk.ey"; ez: "fk.ez"; fa: "fk.fa"; fb: "fk.fb"; fc: "fk.fc"; fd: "fk.fd"; fe: "fk.fe"; ff: "fk.ff"; fg: "fk.fg"; fh: "fk.fh"; fi: "fk.fi"; fj: "fk.fj"; fk: "fk.fk"; fl: "fk.fl"; fm: "fk.fm"; fn: "fk.fn"; fo: "fk.fo"; fp: "fk.fp"; fq: "fk.fq"; fr: "fk.fr"; fs: "fk.fs"; ft: "fk.ft"; fu: "fk.fu"; fv: "fk.fv"; fw: "fk.fw"; fx: "fk.fx"; fy: "fk.fy"; fz: "fk.fz"; ga: "fk.ga"; gb: "fk.gb"; gc: "fk.gc"; gd: "fk.gd"; ge: "fk.ge"; gf: "fk.gf"; gg: "fk.gg"; gh: "fk.gh"; gi: "fk.gi"; gj: "fk.gj"; gk: "fk.gk"; gl: "fk.gl"; gm: "fk.gm"; gn: "fk.gn"; go: "fk.go"; gp: "fk.gp"; gq: "fk.gq"; gr: "fk.gr"; gs: "fk.gs"; gt: "fk.gt"; gu: "fk.gu"; gv: "fk.gv"; gw: "fk.gw"; gx: "fk.gx"; gy: "fk.gy"; gz: "fk.gz"; ha: "fk.ha"; hb: "fk.hb"; hc: "fk.hc"; hd: "fk.hd"; he: "fk.he"; hf: "fk.hf"; hg: "fk.hg"; hh: "fk.hh"; hi: "fk.hi"; hj: "fk.hj"; hk: "fk.hk"; hl: "fk.hl"; hm: "fk.hm"; hn: "fk.hn"; ho: "fk.ho"; hp: "fk.hp"; hq: "fk.hq"; hr: "fk.hr"; hs: "fk.hs"; ht: "fk.ht"; hu: "fk.hu"; hv: "fk.hv"; hw: "fk.hw"; hx: "fk.hx"; hy: "fk.hy"; hz: "fk.hz"; ia: "fk.ia"; ib: "fk.ib"; ic: "fk.ic"; id: "fk.id"; ie: "fk.ie"; if: "fk.if"; ig: "fk.ig"; ih: "fk.ih"; ii: "fk.ii"; ij: "fk.ij"; ik: "fk.ik"; il: "fk.il"; im: "fk.im"; in: "fk.in"; io: "fk.io"; ip: "fk.ip"; iq: "fk.iq"; ir: "fk.ir"; is: "fk.is"; it: "fk.it"; iu: "fk.iu"; iv: "fk.iv"; iw: "fk.iw"; ix: "fk.ix"; iy: "fk.iy"; iz: "fk.iz"; ja: "fk.ja"; jb: "fk.jb"; jc: "fk.jc"; jd: "fk.jd"; je: "fk.je"; jf: "fk.jf"; jg: "fk.jg"; jh: "fk.jh"; ji: "fk.ji"; jj: "fk.jj"; jk: "fk.jk"; jl: "fk.jl"; jm: "fk.jm"; jn: "fk.jn"; jo: "fk.jo"; jp: "fk.jp"; jq: "fk.jq"; jr: "fk.jr"; js: "fk.js"; jt: "fk.jt"; ju: "fk.ju"; jv: "fk.jv"; jw: "fk.jw"; jx: "fk.jx"; jy: "fk.jy"; jz: "fk.jz"; ka: "fk.ka"; kb: "fk.kb"; kc: "fk.kc"; kd: "fk.kd"; ke: "fk.ke"; kf: "fk.kf"; kg: "fk.kg"; kh: "fk.kh"; ki: "fk.ki"; kj: "fk.kj"; kk: "fk.kk"; kl: "fk.kl"; km: "fk.km"; kn: "fk.kn"; ko: "fk.ko"; kp: "fk.kp"; kq: "fk.kq"; kr: "fk.kr"; ks: "fk.ks"; kt: "fk.kt"; ku: "fk.ku"; kv: "fk.kv"; kw: "fk.kw"; kx: "fk.kx"; ky: "fk.ky"; kz: "fk.kz"; la: "fk.la"; lb: "fk.lb"; lc: "fk.lc"; ld: "fk.ld"; le: "fk.le"; lf: "fk.lf"; lg: "fk.lg"; lh: "fk.lh"; li: "fk.li"; lj: "fk.lj"; lk: "fk.lk"; ll: "fk.ll"; lm: "fk.lm"; ln: "fk.ln"; lo: "fk.lo"; lp: "fk.lp"; lq: "fk.lq"; lr: "fk.lr"; ls: "fk.ls"; lt: "fk.lt"; lu: "fk.lu"; lv: "fk.lv"; lw: "fk.lw"; lx: "fk.lx"; ly: "fk.ly"; lz: "fk.lz"; ma: "fk.ma"; mb: "fk.mb"; mc: "fk.mc"; md: "fk.md"; me: "fk.me"; mf: "fk.mf"; mg: "fk.mg"; mh: "fk.mh"; mi: "fk.mi"; mj: "fk.mj"; mk: "fk.mk"; ml: "fk.ml"; mm: "fk.mm"; mn: "fk.mn"; mo: "fk.mo"; mp: "fk.mp"; mq: "fk.mq"; mr: "fk.mr"; ms: "fk.ms"; mt: "fk.mt"; mu: "fk.mu"; mv: "fk.mv"; mw: "fk.mw"; mx: "fk.mx"; my: "fk.my"; mz: "fk.mz"; na: "fk.na"; nb: "fk.nb"; nc: "fk.nc"; nd: "fk.nd"; ne: "fk.ne"; nf: "fk.nf"; ng: "fk.ng"; nh: "fk.nh"; ni: "fk.ni"; nj: "fk.nj"; nk: "fk.nk"; nl: "fk.nl"; nm: "fk.nm"; nn: "fk.nn"; no: "fk.no"; np: "fk.np"; nq: "fk.nq"; nr: "fk.nr"; ns: "fk.ns"; nt: "fk.nt"; nu: "fk.nu"; nv: "fk.nv"; nw: "fk.nw"; nx: "fk.nx"; ny: "fk.ny"; nz: "fk.nz"; oa: "fk.oa"; ob: "fk.ob"; oc: "fk.oc"; od: "fk.od"; oe: "fk.oe"; of: "fk.of"; og: "fk.og"; oh: "fk.oh"; oi: "fk.oi"; oj: "fk.oj"; ok: "fk.ok"; ol: "fk.ol"; om: "fk.om"; on: "fk.on"; oo: "fk.oo"; op: "fk.op"; oq: "fk.oq"; or: "fk.or"; os: "fk.os"; ot: "fk.ot"; ou: "fk.ou"; ov: "fk.ov"; ow: "fk.ow"; ox: "fk.ox"; oy: "fk.oy"; oz: "fk.oz"; pa: "fk.pa"; pb: "fk.pb"; pc: "fk.pc"; pd: "fk.pd"; pe: "fk.pe"; pf: "fk.pf"; pg: "fk.pg"; ph: "fk.ph"; pi: "fk.pi"; pj: "fk.pj"; pk: "fk.pk"; pl: "fk.pl"; pm: "fk.pm"; pn: "fk.pn"; po: "fk.po"; pp: "fk.pp"; pq: "fk.pq"; pr: "fk.pr"; ps: "fk.ps"; pt: "fk.pt"; pu: "fk.pu"; pv: "fk.pv"; pw: "fk.pw"; px: "fk.px"; py: "fk.py"; pz: "fk.pz"; qa: "fk.qa"; qb: "fk.qb"; qc: "fk.qc"; qd: "fk.qd"; qe: "fk.qe"; qf: "fk.qf"; qg: "fk.qg"; qh: "fk.qh"; qi: "fk.qi"; qj: "fk.qj"; qk: "fk.qk"; ql: "fk.ql"; qm: "fk.qm"; qn: "fk.qn"; qo: "fk.qo"; qp: "fk.qp"; qq: "fk.qq"; qr: "fk.qr"; qs: "fk.qs"; qt: "fk.qt"; qu: "fk.qu"; qv: "fk.qv"; qw: "fk.qw"; qx: "fk.qx"; qy: "fk.qy"; qz: "fk.qz"; ra: "fk.ra"; rb: "fk.rb"; rc: "fk.rc"; rd: "fk.rd"; re: "fk.re"; rf: "fk.rf"; rg: "fk.rg"; rh: "fk.rh"; ri: "fk.ri"; rj: "fk.rj"; rk: "fk.rk"; rl: "fk.rl"; rm: "fk.rm"; rn: "fk.rn"; ro: "fk.ro"; rp: "fk.rp"; rq: "fk.rq"; rr: "fk.rr"; rs: "fk.rs"; rt: "fk.rt"; ru: "fk.ru"; rv: "fk.rv"; rw: "fk.rw"; rx: "fk.rx"; ry: "fk.ry"; rz: "fk.rz"; sa: "fk.sa"; sb: "fk.sb"; sc: "fk.sc"; sd: "fk.sd"; se: "fk.se"; sf: "fk.sf"; sg: "fk.sg"; sh: "fk.sh"; si: "fk.si"; sj: "fk.sj"; sk: "fk.sk"; sl: "fk.sl"; sm: "fk.sm"; sn: "fk.sn"; so: "fk.so"; sp: "fk.sp"; sq: "fk.sq"; sr: "fk.sr"; ss: "fk.ss"; st: "fk.st"; su: "fk.su"; sv: "fk.sv"; sw: "fk.sw"; sx: "fk.sx"; sy: "fk.sy"; sz: "fk.sz"; ta: "fk.ta"; tb: "fk.tb"; tc: "fk.tc"; td: "fk.td"; te: "fk.te"; tf: "fk.tf"; tg: "fk.tg"; th: "fk.th"; ti: "fk.ti"; tj: "fk.tj"; tk: "fk.tk"; tl: "fk.tl"; tm: "fk.tm"; tn: "fk.tn"; to: "fk.to"; tp: "fk.tp"; tq: "fk.tq"; tr: "fk.tr"; ts: "fk.ts"; tt: "fk.tt"; tu: "fk.tu"; tv: "fk.tv"; tw: "fk.tw"; tx: "fk.tx"; ty: "fk.ty"; tz: "fk.tz"; ua: "fk.ua"; ub: "fk.ub"; uc: "fk.uc"; ud: "fk.ud"; ue: "fk.ue"; uf: "fk.uf"; ug: "fk.ug"; uh: "fk.uh"; ui: "fk.ui"; uj: "fk.uj"; uk: "fk.uk"; ul: "fk.ul"; um: "fk.um"; un: "fk.un"; uo: "fk.uo"; up: "fk.up"; uq: "fk.uq"; ur: "fk.ur"; us: "fk.us"; ut: "fk.ut"; uu: "fk.uu"; uv: "fk.uv"; uw: "fk.uw"; ux: "fk.ux"; uy: "fk.uy"; uz: "fk.uz"; va: "fk.va"; vb: "fk.vb"; vc: "fk.vc"; vd: "fk.vd"; ve: "fk.ve"; vf: "fk.vf"; vg: "fk.vg"; vh: "fk.vh"; vi: "fk.vi"; vj: "fk.vj"; vk: "fk.vk"; vl: "fk.vl"; vm: "fk.vm"; vn: "fk.vn"; vo: "fk.vo"; vp: "fk.vp"; vq: "fk.vq"; vr: "fk.vr"; vs: "fk.vs"; vt: "fk.vt"; vu: "fk.vu"; vv: "fk.vv"; vw: "fk.vw"; vx: "fk.vx"; vy: "fk.vy"; vz: "fk.vz"; wa: "fk.wa"; wb: "fk.wb"; wc: "fk.wc"; wd: "fk.wd"; we: "fk.we"; wf: "fk.wf"; wg: "fk.wg"; wh: "fk.wh"; wi: "fk.wi"; wj: "fk.wj"; wk: "fk.wk"; wl: "fk.wl"; wm: "fk.wm"; wn: "fk.wn"; wo: "fk.wo"; wp: "fk.wp"; wq: "fk.wq"; wr: "fk.wr"; ws: "fk.ws"; wt: "fk.wt"; wu: "fk.wu"; wv: "fk.wv"; ww: "fk.ww"; wx: "fk.wx"; wy: "fk.wy"; wz: "fk.wz"; xa: "fk.xa"; xb: "fk.xb"; xc: "fk.xc"; xd: "fk.xd"; xe: "fk.xe"; xf: "fk.xf"; xg: "fk.xg"; xh: "fk.xh"; xi: "fk.xi"; xj: "fk.xj"; xk: "fk.xk"; xl: "fk.xl"; xm: "fk.xm"; xn: "fk.xn"; xo: "fk.xo"; xp: "fk.xp"; xq: "fk.xq"; xr: "fk.xr"; xs: "fk.xs"; xt: "fk.xt"; xu: "fk.xu"; xv: "fk.xv"; xw: "fk.xw"; xx: "fk.xx"; xy: "fk.xy"; xz: "fk.xz"; ya: "fk.ya"; yb: "fk.yb"; yc: "fk.yc"; yd: "fk.yd"; ye: "fk.ye"; yf: "fk.yf"; yg: "fk.yg"; yh: "fk.yh"; yi: "fk.yi"; yj: "fk.yj"; yk: "fk.yk"; yl: "fk.yl"; ym: "fk.ym"; yn: "fk.yn"; yo: "fk.yo"; yp: "fk.yp"; yq: "fk.yq"; yr: "fk.yr"; ys: "fk.ys"; yt: "fk.yt"; yu: "fk.yu"; yv: "fk.yv"; yw: "fk.yw"; yx: "fk.yx"; yy: "fk.yy"; yz: "fk.yz"; za: "fk.za"; zb: "fk.zb"; zc: "fk.zc"; zd: "fk.zd"; ze: "fk.ze"; zf: "fk.zf"; zg: "fk.zg"; zh: "fk.zh"; zi: "fk.zi"; zj: "fk.zj"; zk: "fk.zk"; zl: "fk.zl"; zm: "fk.zm"; zn: "fk.zn"; zo: "fk.zo"; zp: "fk.zp"; zq: "fk.zq"; zr: "fk.zr"; zs: "fk.zs"; zt: "fk.zt"; zu: "fk.zu"; zv: "fk.zv"; zw: "fk.zw"; zx: "fk.zx"; zy: "fk.zy"; zz: "fk.zz"; }; fl: { aa: "fl.aa"; ab: "fl.ab"; ac: "fl.ac"; ad: "fl.ad"; ae: "fl.ae"; af: "fl.af"; ag: "fl.ag"; ah: "fl.ah"; ai: "fl.ai"; aj: "fl.aj"; ak: "fl.ak"; al: "fl.al"; am: "fl.am"; an: "fl.an"; ao: "fl.ao"; ap: "fl.ap"; aq: "fl.aq"; ar: "fl.ar"; as: "fl.as"; at: "fl.at"; au: "fl.au"; av: "fl.av"; aw: "fl.aw"; ax: "fl.ax"; ay: "fl.ay"; az: "fl.az"; ba: "fl.ba"; bb: "fl.bb"; bc: "fl.bc"; bd: "fl.bd"; be: "fl.be"; bf: "fl.bf"; bg: "fl.bg"; bh: "fl.bh"; bi: "fl.bi"; bj: "fl.bj"; bk: "fl.bk"; bl: "fl.bl"; bm: "fl.bm"; bn: "fl.bn"; bo: "fl.bo"; bp: "fl.bp"; bq: "fl.bq"; br: "fl.br"; bs: "fl.bs"; bt: "fl.bt"; bu: "fl.bu"; bv: "fl.bv"; bw: "fl.bw"; bx: "fl.bx"; by: "fl.by"; bz: "fl.bz"; ca: "fl.ca"; cb: "fl.cb"; cc: "fl.cc"; cd: "fl.cd"; ce: "fl.ce"; cf: "fl.cf"; cg: "fl.cg"; ch: "fl.ch"; ci: "fl.ci"; cj: "fl.cj"; ck: "fl.ck"; cl: "fl.cl"; cm: "fl.cm"; cn: "fl.cn"; co: "fl.co"; cp: "fl.cp"; cq: "fl.cq"; cr: "fl.cr"; cs: "fl.cs"; ct: "fl.ct"; cu: "fl.cu"; cv: "fl.cv"; cw: "fl.cw"; cx: "fl.cx"; cy: "fl.cy"; cz: "fl.cz"; da: "fl.da"; db: "fl.db"; dc: "fl.dc"; dd: "fl.dd"; de: "fl.de"; df: "fl.df"; dg: "fl.dg"; dh: "fl.dh"; di: "fl.di"; dj: "fl.dj"; dk: "fl.dk"; dl: "fl.dl"; dm: "fl.dm"; dn: "fl.dn"; do: "fl.do"; dp: "fl.dp"; dq: "fl.dq"; dr: "fl.dr"; ds: "fl.ds"; dt: "fl.dt"; du: "fl.du"; dv: "fl.dv"; dw: "fl.dw"; dx: "fl.dx"; dy: "fl.dy"; dz: "fl.dz"; ea: "fl.ea"; eb: "fl.eb"; ec: "fl.ec"; ed: "fl.ed"; ee: "fl.ee"; ef: "fl.ef"; eg: "fl.eg"; eh: "fl.eh"; ei: "fl.ei"; ej: "fl.ej"; ek: "fl.ek"; el: "fl.el"; em: "fl.em"; en: "fl.en"; eo: "fl.eo"; ep: "fl.ep"; eq: "fl.eq"; er: "fl.er"; es: "fl.es"; et: "fl.et"; eu: "fl.eu"; ev: "fl.ev"; ew: "fl.ew"; ex: "fl.ex"; ey: "fl.ey"; ez: "fl.ez"; fa: "fl.fa"; fb: "fl.fb"; fc: "fl.fc"; fd: "fl.fd"; fe: "fl.fe"; ff: "fl.ff"; fg: "fl.fg"; fh: "fl.fh"; fi: "fl.fi"; fj: "fl.fj"; fk: "fl.fk"; fl: "fl.fl"; fm: "fl.fm"; fn: "fl.fn"; fo: "fl.fo"; fp: "fl.fp"; fq: "fl.fq"; fr: "fl.fr"; fs: "fl.fs"; ft: "fl.ft"; fu: "fl.fu"; fv: "fl.fv"; fw: "fl.fw"; fx: "fl.fx"; fy: "fl.fy"; fz: "fl.fz"; ga: "fl.ga"; gb: "fl.gb"; gc: "fl.gc"; gd: "fl.gd"; ge: "fl.ge"; gf: "fl.gf"; gg: "fl.gg"; gh: "fl.gh"; gi: "fl.gi"; gj: "fl.gj"; gk: "fl.gk"; gl: "fl.gl"; gm: "fl.gm"; gn: "fl.gn"; go: "fl.go"; gp: "fl.gp"; gq: "fl.gq"; gr: "fl.gr"; gs: "fl.gs"; gt: "fl.gt"; gu: "fl.gu"; gv: "fl.gv"; gw: "fl.gw"; gx: "fl.gx"; gy: "fl.gy"; gz: "fl.gz"; ha: "fl.ha"; hb: "fl.hb"; hc: "fl.hc"; hd: "fl.hd"; he: "fl.he"; hf: "fl.hf"; hg: "fl.hg"; hh: "fl.hh"; hi: "fl.hi"; hj: "fl.hj"; hk: "fl.hk"; hl: "fl.hl"; hm: "fl.hm"; hn: "fl.hn"; ho: "fl.ho"; hp: "fl.hp"; hq: "fl.hq"; hr: "fl.hr"; hs: "fl.hs"; ht: "fl.ht"; hu: "fl.hu"; hv: "fl.hv"; hw: "fl.hw"; hx: "fl.hx"; hy: "fl.hy"; hz: "fl.hz"; ia: "fl.ia"; ib: "fl.ib"; ic: "fl.ic"; id: "fl.id"; ie: "fl.ie"; if: "fl.if"; ig: "fl.ig"; ih: "fl.ih"; ii: "fl.ii"; ij: "fl.ij"; ik: "fl.ik"; il: "fl.il"; im: "fl.im"; in: "fl.in"; io: "fl.io"; ip: "fl.ip"; iq: "fl.iq"; ir: "fl.ir"; is: "fl.is"; it: "fl.it"; iu: "fl.iu"; iv: "fl.iv"; iw: "fl.iw"; ix: "fl.ix"; iy: "fl.iy"; iz: "fl.iz"; ja: "fl.ja"; jb: "fl.jb"; jc: "fl.jc"; jd: "fl.jd"; je: "fl.je"; jf: "fl.jf"; jg: "fl.jg"; jh: "fl.jh"; ji: "fl.ji"; jj: "fl.jj"; jk: "fl.jk"; jl: "fl.jl"; jm: "fl.jm"; jn: "fl.jn"; jo: "fl.jo"; jp: "fl.jp"; jq: "fl.jq"; jr: "fl.jr"; js: "fl.js"; jt: "fl.jt"; ju: "fl.ju"; jv: "fl.jv"; jw: "fl.jw"; jx: "fl.jx"; jy: "fl.jy"; jz: "fl.jz"; ka: "fl.ka"; kb: "fl.kb"; kc: "fl.kc"; kd: "fl.kd"; ke: "fl.ke"; kf: "fl.kf"; kg: "fl.kg"; kh: "fl.kh"; ki: "fl.ki"; kj: "fl.kj"; kk: "fl.kk"; kl: "fl.kl"; km: "fl.km"; kn: "fl.kn"; ko: "fl.ko"; kp: "fl.kp"; kq: "fl.kq"; kr: "fl.kr"; ks: "fl.ks"; kt: "fl.kt"; ku: "fl.ku"; kv: "fl.kv"; kw: "fl.kw"; kx: "fl.kx"; ky: "fl.ky"; kz: "fl.kz"; la: "fl.la"; lb: "fl.lb"; lc: "fl.lc"; ld: "fl.ld"; le: "fl.le"; lf: "fl.lf"; lg: "fl.lg"; lh: "fl.lh"; li: "fl.li"; lj: "fl.lj"; lk: "fl.lk"; ll: "fl.ll"; lm: "fl.lm"; ln: "fl.ln"; lo: "fl.lo"; lp: "fl.lp"; lq: "fl.lq"; lr: "fl.lr"; ls: "fl.ls"; lt: "fl.lt"; lu: "fl.lu"; lv: "fl.lv"; lw: "fl.lw"; lx: "fl.lx"; ly: "fl.ly"; lz: "fl.lz"; ma: "fl.ma"; mb: "fl.mb"; mc: "fl.mc"; md: "fl.md"; me: "fl.me"; mf: "fl.mf"; mg: "fl.mg"; mh: "fl.mh"; mi: "fl.mi"; mj: "fl.mj"; mk: "fl.mk"; ml: "fl.ml"; mm: "fl.mm"; mn: "fl.mn"; mo: "fl.mo"; mp: "fl.mp"; mq: "fl.mq"; mr: "fl.mr"; ms: "fl.ms"; mt: "fl.mt"; mu: "fl.mu"; mv: "fl.mv"; mw: "fl.mw"; mx: "fl.mx"; my: "fl.my"; mz: "fl.mz"; na: "fl.na"; nb: "fl.nb"; nc: "fl.nc"; nd: "fl.nd"; ne: "fl.ne"; nf: "fl.nf"; ng: "fl.ng"; nh: "fl.nh"; ni: "fl.ni"; nj: "fl.nj"; nk: "fl.nk"; nl: "fl.nl"; nm: "fl.nm"; nn: "fl.nn"; no: "fl.no"; np: "fl.np"; nq: "fl.nq"; nr: "fl.nr"; ns: "fl.ns"; nt: "fl.nt"; nu: "fl.nu"; nv: "fl.nv"; nw: "fl.nw"; nx: "fl.nx"; ny: "fl.ny"; nz: "fl.nz"; oa: "fl.oa"; ob: "fl.ob"; oc: "fl.oc"; od: "fl.od"; oe: "fl.oe"; of: "fl.of"; og: "fl.og"; oh: "fl.oh"; oi: "fl.oi"; oj: "fl.oj"; ok: "fl.ok"; ol: "fl.ol"; om: "fl.om"; on: "fl.on"; oo: "fl.oo"; op: "fl.op"; oq: "fl.oq"; or: "fl.or"; os: "fl.os"; ot: "fl.ot"; ou: "fl.ou"; ov: "fl.ov"; ow: "fl.ow"; ox: "fl.ox"; oy: "fl.oy"; oz: "fl.oz"; pa: "fl.pa"; pb: "fl.pb"; pc: "fl.pc"; pd: "fl.pd"; pe: "fl.pe"; pf: "fl.pf"; pg: "fl.pg"; ph: "fl.ph"; pi: "fl.pi"; pj: "fl.pj"; pk: "fl.pk"; pl: "fl.pl"; pm: "fl.pm"; pn: "fl.pn"; po: "fl.po"; pp: "fl.pp"; pq: "fl.pq"; pr: "fl.pr"; ps: "fl.ps"; pt: "fl.pt"; pu: "fl.pu"; pv: "fl.pv"; pw: "fl.pw"; px: "fl.px"; py: "fl.py"; pz: "fl.pz"; qa: "fl.qa"; qb: "fl.qb"; qc: "fl.qc"; qd: "fl.qd"; qe: "fl.qe"; qf: "fl.qf"; qg: "fl.qg"; qh: "fl.qh"; qi: "fl.qi"; qj: "fl.qj"; qk: "fl.qk"; ql: "fl.ql"; qm: "fl.qm"; qn: "fl.qn"; qo: "fl.qo"; qp: "fl.qp"; qq: "fl.qq"; qr: "fl.qr"; qs: "fl.qs"; qt: "fl.qt"; qu: "fl.qu"; qv: "fl.qv"; qw: "fl.qw"; qx: "fl.qx"; qy: "fl.qy"; qz: "fl.qz"; ra: "fl.ra"; rb: "fl.rb"; rc: "fl.rc"; rd: "fl.rd"; re: "fl.re"; rf: "fl.rf"; rg: "fl.rg"; rh: "fl.rh"; ri: "fl.ri"; rj: "fl.rj"; rk: "fl.rk"; rl: "fl.rl"; rm: "fl.rm"; rn: "fl.rn"; ro: "fl.ro"; rp: "fl.rp"; rq: "fl.rq"; rr: "fl.rr"; rs: "fl.rs"; rt: "fl.rt"; ru: "fl.ru"; rv: "fl.rv"; rw: "fl.rw"; rx: "fl.rx"; ry: "fl.ry"; rz: "fl.rz"; sa: "fl.sa"; sb: "fl.sb"; sc: "fl.sc"; sd: "fl.sd"; se: "fl.se"; sf: "fl.sf"; sg: "fl.sg"; sh: "fl.sh"; si: "fl.si"; sj: "fl.sj"; sk: "fl.sk"; sl: "fl.sl"; sm: "fl.sm"; sn: "fl.sn"; so: "fl.so"; sp: "fl.sp"; sq: "fl.sq"; sr: "fl.sr"; ss: "fl.ss"; st: "fl.st"; su: "fl.su"; sv: "fl.sv"; sw: "fl.sw"; sx: "fl.sx"; sy: "fl.sy"; sz: "fl.sz"; ta: "fl.ta"; tb: "fl.tb"; tc: "fl.tc"; td: "fl.td"; te: "fl.te"; tf: "fl.tf"; tg: "fl.tg"; th: "fl.th"; ti: "fl.ti"; tj: "fl.tj"; tk: "fl.tk"; tl: "fl.tl"; tm: "fl.tm"; tn: "fl.tn"; to: "fl.to"; tp: "fl.tp"; tq: "fl.tq"; tr: "fl.tr"; ts: "fl.ts"; tt: "fl.tt"; tu: "fl.tu"; tv: "fl.tv"; tw: "fl.tw"; tx: "fl.tx"; ty: "fl.ty"; tz: "fl.tz"; ua: "fl.ua"; ub: "fl.ub"; uc: "fl.uc"; ud: "fl.ud"; ue: "fl.ue"; uf: "fl.uf"; ug: "fl.ug"; uh: "fl.uh"; ui: "fl.ui"; uj: "fl.uj"; uk: "fl.uk"; ul: "fl.ul"; um: "fl.um"; un: "fl.un"; uo: "fl.uo"; up: "fl.up"; uq: "fl.uq"; ur: "fl.ur"; us: "fl.us"; ut: "fl.ut"; uu: "fl.uu"; uv: "fl.uv"; uw: "fl.uw"; ux: "fl.ux"; uy: "fl.uy"; uz: "fl.uz"; va: "fl.va"; vb: "fl.vb"; vc: "fl.vc"; vd: "fl.vd"; ve: "fl.ve"; vf: "fl.vf"; vg: "fl.vg"; vh: "fl.vh"; vi: "fl.vi"; vj: "fl.vj"; vk: "fl.vk"; vl: "fl.vl"; vm: "fl.vm"; vn: "fl.vn"; vo: "fl.vo"; vp: "fl.vp"; vq: "fl.vq"; vr: "fl.vr"; vs: "fl.vs"; vt: "fl.vt"; vu: "fl.vu"; vv: "fl.vv"; vw: "fl.vw"; vx: "fl.vx"; vy: "fl.vy"; vz: "fl.vz"; wa: "fl.wa"; wb: "fl.wb"; wc: "fl.wc"; wd: "fl.wd"; we: "fl.we"; wf: "fl.wf"; wg: "fl.wg"; wh: "fl.wh"; wi: "fl.wi"; wj: "fl.wj"; wk: "fl.wk"; wl: "fl.wl"; wm: "fl.wm"; wn: "fl.wn"; wo: "fl.wo"; wp: "fl.wp"; wq: "fl.wq"; wr: "fl.wr"; ws: "fl.ws"; wt: "fl.wt"; wu: "fl.wu"; wv: "fl.wv"; ww: "fl.ww"; wx: "fl.wx"; wy: "fl.wy"; wz: "fl.wz"; xa: "fl.xa"; xb: "fl.xb"; xc: "fl.xc"; xd: "fl.xd"; xe: "fl.xe"; xf: "fl.xf"; xg: "fl.xg"; xh: "fl.xh"; xi: "fl.xi"; xj: "fl.xj"; xk: "fl.xk"; xl: "fl.xl"; xm: "fl.xm"; xn: "fl.xn"; xo: "fl.xo"; xp: "fl.xp"; xq: "fl.xq"; xr: "fl.xr"; xs: "fl.xs"; xt: "fl.xt"; xu: "fl.xu"; xv: "fl.xv"; xw: "fl.xw"; xx: "fl.xx"; xy: "fl.xy"; xz: "fl.xz"; ya: "fl.ya"; yb: "fl.yb"; yc: "fl.yc"; yd: "fl.yd"; ye: "fl.ye"; yf: "fl.yf"; yg: "fl.yg"; yh: "fl.yh"; yi: "fl.yi"; yj: "fl.yj"; yk: "fl.yk"; yl: "fl.yl"; ym: "fl.ym"; yn: "fl.yn"; yo: "fl.yo"; yp: "fl.yp"; yq: "fl.yq"; yr: "fl.yr"; ys: "fl.ys"; yt: "fl.yt"; yu: "fl.yu"; yv: "fl.yv"; yw: "fl.yw"; yx: "fl.yx"; yy: "fl.yy"; yz: "fl.yz"; za: "fl.za"; zb: "fl.zb"; zc: "fl.zc"; zd: "fl.zd"; ze: "fl.ze"; zf: "fl.zf"; zg: "fl.zg"; zh: "fl.zh"; zi: "fl.zi"; zj: "fl.zj"; zk: "fl.zk"; zl: "fl.zl"; zm: "fl.zm"; zn: "fl.zn"; zo: "fl.zo"; zp: "fl.zp"; zq: "fl.zq"; zr: "fl.zr"; zs: "fl.zs"; zt: "fl.zt"; zu: "fl.zu"; zv: "fl.zv"; zw: "fl.zw"; zx: "fl.zx"; zy: "fl.zy"; zz: "fl.zz"; }; fm: { aa: "fm.aa"; ab: "fm.ab"; ac: "fm.ac"; ad: "fm.ad"; ae: "fm.ae"; af: "fm.af"; ag: "fm.ag"; ah: "fm.ah"; ai: "fm.ai"; aj: "fm.aj"; ak: "fm.ak"; al: "fm.al"; am: "fm.am"; an: "fm.an"; ao: "fm.ao"; ap: "fm.ap"; aq: "fm.aq"; ar: "fm.ar"; as: "fm.as"; at: "fm.at"; au: "fm.au"; av: "fm.av"; aw: "fm.aw"; ax: "fm.ax"; ay: "fm.ay"; az: "fm.az"; ba: "fm.ba"; bb: "fm.bb"; bc: "fm.bc"; bd: "fm.bd"; be: "fm.be"; bf: "fm.bf"; bg: "fm.bg"; bh: "fm.bh"; bi: "fm.bi"; bj: "fm.bj"; bk: "fm.bk"; bl: "fm.bl"; bm: "fm.bm"; bn: "fm.bn"; bo: "fm.bo"; bp: "fm.bp"; bq: "fm.bq"; br: "fm.br"; bs: "fm.bs"; bt: "fm.bt"; bu: "fm.bu"; bv: "fm.bv"; bw: "fm.bw"; bx: "fm.bx"; by: "fm.by"; bz: "fm.bz"; ca: "fm.ca"; cb: "fm.cb"; cc: "fm.cc"; cd: "fm.cd"; ce: "fm.ce"; cf: "fm.cf"; cg: "fm.cg"; ch: "fm.ch"; ci: "fm.ci"; cj: "fm.cj"; ck: "fm.ck"; cl: "fm.cl"; cm: "fm.cm"; cn: "fm.cn"; co: "fm.co"; cp: "fm.cp"; cq: "fm.cq"; cr: "fm.cr"; cs: "fm.cs"; ct: "fm.ct"; cu: "fm.cu"; cv: "fm.cv"; cw: "fm.cw"; cx: "fm.cx"; cy: "fm.cy"; cz: "fm.cz"; da: "fm.da"; db: "fm.db"; dc: "fm.dc"; dd: "fm.dd"; de: "fm.de"; df: "fm.df"; dg: "fm.dg"; dh: "fm.dh"; di: "fm.di"; dj: "fm.dj"; dk: "fm.dk"; dl: "fm.dl"; dm: "fm.dm"; dn: "fm.dn"; do: "fm.do"; dp: "fm.dp"; dq: "fm.dq"; dr: "fm.dr"; ds: "fm.ds"; dt: "fm.dt"; du: "fm.du"; dv: "fm.dv"; dw: "fm.dw"; dx: "fm.dx"; dy: "fm.dy"; dz: "fm.dz"; ea: "fm.ea"; eb: "fm.eb"; ec: "fm.ec"; ed: "fm.ed"; ee: "fm.ee"; ef: "fm.ef"; eg: "fm.eg"; eh: "fm.eh"; ei: "fm.ei"; ej: "fm.ej"; ek: "fm.ek"; el: "fm.el"; em: "fm.em"; en: "fm.en"; eo: "fm.eo"; ep: "fm.ep"; eq: "fm.eq"; er: "fm.er"; es: "fm.es"; et: "fm.et"; eu: "fm.eu"; ev: "fm.ev"; ew: "fm.ew"; ex: "fm.ex"; ey: "fm.ey"; ez: "fm.ez"; fa: "fm.fa"; fb: "fm.fb"; fc: "fm.fc"; fd: "fm.fd"; fe: "fm.fe"; ff: "fm.ff"; fg: "fm.fg"; fh: "fm.fh"; fi: "fm.fi"; fj: "fm.fj"; fk: "fm.fk"; fl: "fm.fl"; fm: "fm.fm"; fn: "fm.fn"; fo: "fm.fo"; fp: "fm.fp"; fq: "fm.fq"; fr: "fm.fr"; fs: "fm.fs"; ft: "fm.ft"; fu: "fm.fu"; fv: "fm.fv"; fw: "fm.fw"; fx: "fm.fx"; fy: "fm.fy"; fz: "fm.fz"; ga: "fm.ga"; gb: "fm.gb"; gc: "fm.gc"; gd: "fm.gd"; ge: "fm.ge"; gf: "fm.gf"; gg: "fm.gg"; gh: "fm.gh"; gi: "fm.gi"; gj: "fm.gj"; gk: "fm.gk"; gl: "fm.gl"; gm: "fm.gm"; gn: "fm.gn"; go: "fm.go"; gp: "fm.gp"; gq: "fm.gq"; gr: "fm.gr"; gs: "fm.gs"; gt: "fm.gt"; gu: "fm.gu"; gv: "fm.gv"; gw: "fm.gw"; gx: "fm.gx"; gy: "fm.gy"; gz: "fm.gz"; ha: "fm.ha"; hb: "fm.hb"; hc: "fm.hc"; hd: "fm.hd"; he: "fm.he"; hf: "fm.hf"; hg: "fm.hg"; hh: "fm.hh"; hi: "fm.hi"; hj: "fm.hj"; hk: "fm.hk"; hl: "fm.hl"; hm: "fm.hm"; hn: "fm.hn"; ho: "fm.ho"; hp: "fm.hp"; hq: "fm.hq"; hr: "fm.hr"; hs: "fm.hs"; ht: "fm.ht"; hu: "fm.hu"; hv: "fm.hv"; hw: "fm.hw"; hx: "fm.hx"; hy: "fm.hy"; hz: "fm.hz"; ia: "fm.ia"; ib: "fm.ib"; ic: "fm.ic"; id: "fm.id"; ie: "fm.ie"; if: "fm.if"; ig: "fm.ig"; ih: "fm.ih"; ii: "fm.ii"; ij: "fm.ij"; ik: "fm.ik"; il: "fm.il"; im: "fm.im"; in: "fm.in"; io: "fm.io"; ip: "fm.ip"; iq: "fm.iq"; ir: "fm.ir"; is: "fm.is"; it: "fm.it"; iu: "fm.iu"; iv: "fm.iv"; iw: "fm.iw"; ix: "fm.ix"; iy: "fm.iy"; iz: "fm.iz"; ja: "fm.ja"; jb: "fm.jb"; jc: "fm.jc"; jd: "fm.jd"; je: "fm.je"; jf: "fm.jf"; jg: "fm.jg"; jh: "fm.jh"; ji: "fm.ji"; jj: "fm.jj"; jk: "fm.jk"; jl: "fm.jl"; jm: "fm.jm"; jn: "fm.jn"; jo: "fm.jo"; jp: "fm.jp"; jq: "fm.jq"; jr: "fm.jr"; js: "fm.js"; jt: "fm.jt"; ju: "fm.ju"; jv: "fm.jv"; jw: "fm.jw"; jx: "fm.jx"; jy: "fm.jy"; jz: "fm.jz"; ka: "fm.ka"; kb: "fm.kb"; kc: "fm.kc"; kd: "fm.kd"; ke: "fm.ke"; kf: "fm.kf"; kg: "fm.kg"; kh: "fm.kh"; ki: "fm.ki"; kj: "fm.kj"; kk: "fm.kk"; kl: "fm.kl"; km: "fm.km"; kn: "fm.kn"; ko: "fm.ko"; kp: "fm.kp"; kq: "fm.kq"; kr: "fm.kr"; ks: "fm.ks"; kt: "fm.kt"; ku: "fm.ku"; kv: "fm.kv"; kw: "fm.kw"; kx: "fm.kx"; ky: "fm.ky"; kz: "fm.kz"; la: "fm.la"; lb: "fm.lb"; lc: "fm.lc"; ld: "fm.ld"; le: "fm.le"; lf: "fm.lf"; lg: "fm.lg"; lh: "fm.lh"; li: "fm.li"; lj: "fm.lj"; lk: "fm.lk"; ll: "fm.ll"; lm: "fm.lm"; ln: "fm.ln"; lo: "fm.lo"; lp: "fm.lp"; lq: "fm.lq"; lr: "fm.lr"; ls: "fm.ls"; lt: "fm.lt"; lu: "fm.lu"; lv: "fm.lv"; lw: "fm.lw"; lx: "fm.lx"; ly: "fm.ly"; lz: "fm.lz"; ma: "fm.ma"; mb: "fm.mb"; mc: "fm.mc"; md: "fm.md"; me: "fm.me"; mf: "fm.mf"; mg: "fm.mg"; mh: "fm.mh"; mi: "fm.mi"; mj: "fm.mj"; mk: "fm.mk"; ml: "fm.ml"; mm: "fm.mm"; mn: "fm.mn"; mo: "fm.mo"; mp: "fm.mp"; mq: "fm.mq"; mr: "fm.mr"; ms: "fm.ms"; mt: "fm.mt"; mu: "fm.mu"; mv: "fm.mv"; mw: "fm.mw"; mx: "fm.mx"; my: "fm.my"; mz: "fm.mz"; na: "fm.na"; nb: "fm.nb"; nc: "fm.nc"; nd: "fm.nd"; ne: "fm.ne"; nf: "fm.nf"; ng: "fm.ng"; nh: "fm.nh"; ni: "fm.ni"; nj: "fm.nj"; nk: "fm.nk"; nl: "fm.nl"; nm: "fm.nm"; nn: "fm.nn"; no: "fm.no"; np: "fm.np"; nq: "fm.nq"; nr: "fm.nr"; ns: "fm.ns"; nt: "fm.nt"; nu: "fm.nu"; nv: "fm.nv"; nw: "fm.nw"; nx: "fm.nx"; ny: "fm.ny"; nz: "fm.nz"; oa: "fm.oa"; ob: "fm.ob"; oc: "fm.oc"; od: "fm.od"; oe: "fm.oe"; of: "fm.of"; og: "fm.og"; oh: "fm.oh"; oi: "fm.oi"; oj: "fm.oj"; ok: "fm.ok"; ol: "fm.ol"; om: "fm.om"; on: "fm.on"; oo: "fm.oo"; op: "fm.op"; oq: "fm.oq"; or: "fm.or"; os: "fm.os"; ot: "fm.ot"; ou: "fm.ou"; ov: "fm.ov"; ow: "fm.ow"; ox: "fm.ox"; oy: "fm.oy"; oz: "fm.oz"; pa: "fm.pa"; pb: "fm.pb"; pc: "fm.pc"; pd: "fm.pd"; pe: "fm.pe"; pf: "fm.pf"; pg: "fm.pg"; ph: "fm.ph"; pi: "fm.pi"; pj: "fm.pj"; pk: "fm.pk"; pl: "fm.pl"; pm: "fm.pm"; pn: "fm.pn"; po: "fm.po"; pp: "fm.pp"; pq: "fm.pq"; pr: "fm.pr"; ps: "fm.ps"; pt: "fm.pt"; pu: "fm.pu"; pv: "fm.pv"; pw: "fm.pw"; px: "fm.px"; py: "fm.py"; pz: "fm.pz"; qa: "fm.qa"; qb: "fm.qb"; qc: "fm.qc"; qd: "fm.qd"; qe: "fm.qe"; qf: "fm.qf"; qg: "fm.qg"; qh: "fm.qh"; qi: "fm.qi"; qj: "fm.qj"; qk: "fm.qk"; ql: "fm.ql"; qm: "fm.qm"; qn: "fm.qn"; qo: "fm.qo"; qp: "fm.qp"; qq: "fm.qq"; qr: "fm.qr"; qs: "fm.qs"; qt: "fm.qt"; qu: "fm.qu"; qv: "fm.qv"; qw: "fm.qw"; qx: "fm.qx"; qy: "fm.qy"; qz: "fm.qz"; ra: "fm.ra"; rb: "fm.rb"; rc: "fm.rc"; rd: "fm.rd"; re: "fm.re"; rf: "fm.rf"; rg: "fm.rg"; rh: "fm.rh"; ri: "fm.ri"; rj: "fm.rj"; rk: "fm.rk"; rl: "fm.rl"; rm: "fm.rm"; rn: "fm.rn"; ro: "fm.ro"; rp: "fm.rp"; rq: "fm.rq"; rr: "fm.rr"; rs: "fm.rs"; rt: "fm.rt"; ru: "fm.ru"; rv: "fm.rv"; rw: "fm.rw"; rx: "fm.rx"; ry: "fm.ry"; rz: "fm.rz"; sa: "fm.sa"; sb: "fm.sb"; sc: "fm.sc"; sd: "fm.sd"; se: "fm.se"; sf: "fm.sf"; sg: "fm.sg"; sh: "fm.sh"; si: "fm.si"; sj: "fm.sj"; sk: "fm.sk"; sl: "fm.sl"; sm: "fm.sm"; sn: "fm.sn"; so: "fm.so"; sp: "fm.sp"; sq: "fm.sq"; sr: "fm.sr"; ss: "fm.ss"; st: "fm.st"; su: "fm.su"; sv: "fm.sv"; sw: "fm.sw"; sx: "fm.sx"; sy: "fm.sy"; sz: "fm.sz"; ta: "fm.ta"; tb: "fm.tb"; tc: "fm.tc"; td: "fm.td"; te: "fm.te"; tf: "fm.tf"; tg: "fm.tg"; th: "fm.th"; ti: "fm.ti"; tj: "fm.tj"; tk: "fm.tk"; tl: "fm.tl"; tm: "fm.tm"; tn: "fm.tn"; to: "fm.to"; tp: "fm.tp"; tq: "fm.tq"; tr: "fm.tr"; ts: "fm.ts"; tt: "fm.tt"; tu: "fm.tu"; tv: "fm.tv"; tw: "fm.tw"; tx: "fm.tx"; ty: "fm.ty"; tz: "fm.tz"; ua: "fm.ua"; ub: "fm.ub"; uc: "fm.uc"; ud: "fm.ud"; ue: "fm.ue"; uf: "fm.uf"; ug: "fm.ug"; uh: "fm.uh"; ui: "fm.ui"; uj: "fm.uj"; uk: "fm.uk"; ul: "fm.ul"; um: "fm.um"; un: "fm.un"; uo: "fm.uo"; up: "fm.up"; uq: "fm.uq"; ur: "fm.ur"; us: "fm.us"; ut: "fm.ut"; uu: "fm.uu"; uv: "fm.uv"; uw: "fm.uw"; ux: "fm.ux"; uy: "fm.uy"; uz: "fm.uz"; va: "fm.va"; vb: "fm.vb"; vc: "fm.vc"; vd: "fm.vd"; ve: "fm.ve"; vf: "fm.vf"; vg: "fm.vg"; vh: "fm.vh"; vi: "fm.vi"; vj: "fm.vj"; vk: "fm.vk"; vl: "fm.vl"; vm: "fm.vm"; vn: "fm.vn"; vo: "fm.vo"; vp: "fm.vp"; vq: "fm.vq"; vr: "fm.vr"; vs: "fm.vs"; vt: "fm.vt"; vu: "fm.vu"; vv: "fm.vv"; vw: "fm.vw"; vx: "fm.vx"; vy: "fm.vy"; vz: "fm.vz"; wa: "fm.wa"; wb: "fm.wb"; wc: "fm.wc"; wd: "fm.wd"; we: "fm.we"; wf: "fm.wf"; wg: "fm.wg"; wh: "fm.wh"; wi: "fm.wi"; wj: "fm.wj"; wk: "fm.wk"; wl: "fm.wl"; wm: "fm.wm"; wn: "fm.wn"; wo: "fm.wo"; wp: "fm.wp"; wq: "fm.wq"; wr: "fm.wr"; ws: "fm.ws"; wt: "fm.wt"; wu: "fm.wu"; wv: "fm.wv"; ww: "fm.ww"; wx: "fm.wx"; wy: "fm.wy"; wz: "fm.wz"; xa: "fm.xa"; xb: "fm.xb"; xc: "fm.xc"; xd: "fm.xd"; xe: "fm.xe"; xf: "fm.xf"; xg: "fm.xg"; xh: "fm.xh"; xi: "fm.xi"; xj: "fm.xj"; xk: "fm.xk"; xl: "fm.xl"; xm: "fm.xm"; xn: "fm.xn"; xo: "fm.xo"; xp: "fm.xp"; xq: "fm.xq"; xr: "fm.xr"; xs: "fm.xs"; xt: "fm.xt"; xu: "fm.xu"; xv: "fm.xv"; xw: "fm.xw"; xx: "fm.xx"; xy: "fm.xy"; xz: "fm.xz"; ya: "fm.ya"; yb: "fm.yb"; yc: "fm.yc"; yd: "fm.yd"; ye: "fm.ye"; yf: "fm.yf"; yg: "fm.yg"; yh: "fm.yh"; yi: "fm.yi"; yj: "fm.yj"; yk: "fm.yk"; yl: "fm.yl"; ym: "fm.ym"; yn: "fm.yn"; yo: "fm.yo"; yp: "fm.yp"; yq: "fm.yq"; yr: "fm.yr"; ys: "fm.ys"; yt: "fm.yt"; yu: "fm.yu"; yv: "fm.yv"; yw: "fm.yw"; yx: "fm.yx"; yy: "fm.yy"; yz: "fm.yz"; za: "fm.za"; zb: "fm.zb"; zc: "fm.zc"; zd: "fm.zd"; ze: "fm.ze"; zf: "fm.zf"; zg: "fm.zg"; zh: "fm.zh"; zi: "fm.zi"; zj: "fm.zj"; zk: "fm.zk"; zl: "fm.zl"; zm: "fm.zm"; zn: "fm.zn"; zo: "fm.zo"; zp: "fm.zp"; zq: "fm.zq"; zr: "fm.zr"; zs: "fm.zs"; zt: "fm.zt"; zu: "fm.zu"; zv: "fm.zv"; zw: "fm.zw"; zx: "fm.zx"; zy: "fm.zy"; zz: "fm.zz"; }; fn: { aa: "fn.aa"; ab: "fn.ab"; ac: "fn.ac"; ad: "fn.ad"; ae: "fn.ae"; af: "fn.af"; ag: "fn.ag"; ah: "fn.ah"; ai: "fn.ai"; aj: "fn.aj"; ak: "fn.ak"; al: "fn.al"; am: "fn.am"; an: "fn.an"; ao: "fn.ao"; ap: "fn.ap"; aq: "fn.aq"; ar: "fn.ar"; as: "fn.as"; at: "fn.at"; au: "fn.au"; av: "fn.av"; aw: "fn.aw"; ax: "fn.ax"; ay: "fn.ay"; az: "fn.az"; ba: "fn.ba"; bb: "fn.bb"; bc: "fn.bc"; bd: "fn.bd"; be: "fn.be"; bf: "fn.bf"; bg: "fn.bg"; bh: "fn.bh"; bi: "fn.bi"; bj: "fn.bj"; bk: "fn.bk"; bl: "fn.bl"; bm: "fn.bm"; bn: "fn.bn"; bo: "fn.bo"; bp: "fn.bp"; bq: "fn.bq"; br: "fn.br"; bs: "fn.bs"; bt: "fn.bt"; bu: "fn.bu"; bv: "fn.bv"; bw: "fn.bw"; bx: "fn.bx"; by: "fn.by"; bz: "fn.bz"; ca: "fn.ca"; cb: "fn.cb"; cc: "fn.cc"; cd: "fn.cd"; ce: "fn.ce"; cf: "fn.cf"; cg: "fn.cg"; ch: "fn.ch"; ci: "fn.ci"; cj: "fn.cj"; ck: "fn.ck"; cl: "fn.cl"; cm: "fn.cm"; cn: "fn.cn"; co: "fn.co"; cp: "fn.cp"; cq: "fn.cq"; cr: "fn.cr"; cs: "fn.cs"; ct: "fn.ct"; cu: "fn.cu"; cv: "fn.cv"; cw: "fn.cw"; cx: "fn.cx"; cy: "fn.cy"; cz: "fn.cz"; da: "fn.da"; db: "fn.db"; dc: "fn.dc"; dd: "fn.dd"; de: "fn.de"; df: "fn.df"; dg: "fn.dg"; dh: "fn.dh"; di: "fn.di"; dj: "fn.dj"; dk: "fn.dk"; dl: "fn.dl"; dm: "fn.dm"; dn: "fn.dn"; do: "fn.do"; dp: "fn.dp"; dq: "fn.dq"; dr: "fn.dr"; ds: "fn.ds"; dt: "fn.dt"; du: "fn.du"; dv: "fn.dv"; dw: "fn.dw"; dx: "fn.dx"; dy: "fn.dy"; dz: "fn.dz"; ea: "fn.ea"; eb: "fn.eb"; ec: "fn.ec"; ed: "fn.ed"; ee: "fn.ee"; ef: "fn.ef"; eg: "fn.eg"; eh: "fn.eh"; ei: "fn.ei"; ej: "fn.ej"; ek: "fn.ek"; el: "fn.el"; em: "fn.em"; en: "fn.en"; eo: "fn.eo"; ep: "fn.ep"; eq: "fn.eq"; er: "fn.er"; es: "fn.es"; et: "fn.et"; eu: "fn.eu"; ev: "fn.ev"; ew: "fn.ew"; ex: "fn.ex"; ey: "fn.ey"; ez: "fn.ez"; fa: "fn.fa"; fb: "fn.fb"; fc: "fn.fc"; fd: "fn.fd"; fe: "fn.fe"; ff: "fn.ff"; fg: "fn.fg"; fh: "fn.fh"; fi: "fn.fi"; fj: "fn.fj"; fk: "fn.fk"; fl: "fn.fl"; fm: "fn.fm"; fn: "fn.fn"; fo: "fn.fo"; fp: "fn.fp"; fq: "fn.fq"; fr: "fn.fr"; fs: "fn.fs"; ft: "fn.ft"; fu: "fn.fu"; fv: "fn.fv"; fw: "fn.fw"; fx: "fn.fx"; fy: "fn.fy"; fz: "fn.fz"; ga: "fn.ga"; gb: "fn.gb"; gc: "fn.gc"; gd: "fn.gd"; ge: "fn.ge"; gf: "fn.gf"; gg: "fn.gg"; gh: "fn.gh"; gi: "fn.gi"; gj: "fn.gj"; gk: "fn.gk"; gl: "fn.gl"; gm: "fn.gm"; gn: "fn.gn"; go: "fn.go"; gp: "fn.gp"; gq: "fn.gq"; gr: "fn.gr"; gs: "fn.gs"; gt: "fn.gt"; gu: "fn.gu"; gv: "fn.gv"; gw: "fn.gw"; gx: "fn.gx"; gy: "fn.gy"; gz: "fn.gz"; ha: "fn.ha"; hb: "fn.hb"; hc: "fn.hc"; hd: "fn.hd"; he: "fn.he"; hf: "fn.hf"; hg: "fn.hg"; hh: "fn.hh"; hi: "fn.hi"; hj: "fn.hj"; hk: "fn.hk"; hl: "fn.hl"; hm: "fn.hm"; hn: "fn.hn"; ho: "fn.ho"; hp: "fn.hp"; hq: "fn.hq"; hr: "fn.hr"; hs: "fn.hs"; ht: "fn.ht"; hu: "fn.hu"; hv: "fn.hv"; hw: "fn.hw"; hx: "fn.hx"; hy: "fn.hy"; hz: "fn.hz"; ia: "fn.ia"; ib: "fn.ib"; ic: "fn.ic"; id: "fn.id"; ie: "fn.ie"; if: "fn.if"; ig: "fn.ig"; ih: "fn.ih"; ii: "fn.ii"; ij: "fn.ij"; ik: "fn.ik"; il: "fn.il"; im: "fn.im"; in: "fn.in"; io: "fn.io"; ip: "fn.ip"; iq: "fn.iq"; ir: "fn.ir"; is: "fn.is"; it: "fn.it"; iu: "fn.iu"; iv: "fn.iv"; iw: "fn.iw"; ix: "fn.ix"; iy: "fn.iy"; iz: "fn.iz"; ja: "fn.ja"; jb: "fn.jb"; jc: "fn.jc"; jd: "fn.jd"; je: "fn.je"; jf: "fn.jf"; jg: "fn.jg"; jh: "fn.jh"; ji: "fn.ji"; jj: "fn.jj"; jk: "fn.jk"; jl: "fn.jl"; jm: "fn.jm"; jn: "fn.jn"; jo: "fn.jo"; jp: "fn.jp"; jq: "fn.jq"; jr: "fn.jr"; js: "fn.js"; jt: "fn.jt"; ju: "fn.ju"; jv: "fn.jv"; jw: "fn.jw"; jx: "fn.jx"; jy: "fn.jy"; jz: "fn.jz"; ka: "fn.ka"; kb: "fn.kb"; kc: "fn.kc"; kd: "fn.kd"; ke: "fn.ke"; kf: "fn.kf"; kg: "fn.kg"; kh: "fn.kh"; ki: "fn.ki"; kj: "fn.kj"; kk: "fn.kk"; kl: "fn.kl"; km: "fn.km"; kn: "fn.kn"; ko: "fn.ko"; kp: "fn.kp"; kq: "fn.kq"; kr: "fn.kr"; ks: "fn.ks"; kt: "fn.kt"; ku: "fn.ku"; kv: "fn.kv"; kw: "fn.kw"; kx: "fn.kx"; ky: "fn.ky"; kz: "fn.kz"; la: "fn.la"; lb: "fn.lb"; lc: "fn.lc"; ld: "fn.ld"; le: "fn.le"; lf: "fn.lf"; lg: "fn.lg"; lh: "fn.lh"; li: "fn.li"; lj: "fn.lj"; lk: "fn.lk"; ll: "fn.ll"; lm: "fn.lm"; ln: "fn.ln"; lo: "fn.lo"; lp: "fn.lp"; lq: "fn.lq"; lr: "fn.lr"; ls: "fn.ls"; lt: "fn.lt"; lu: "fn.lu"; lv: "fn.lv"; lw: "fn.lw"; lx: "fn.lx"; ly: "fn.ly"; lz: "fn.lz"; ma: "fn.ma"; mb: "fn.mb"; mc: "fn.mc"; md: "fn.md"; me: "fn.me"; mf: "fn.mf"; mg: "fn.mg"; mh: "fn.mh"; mi: "fn.mi"; mj: "fn.mj"; mk: "fn.mk"; ml: "fn.ml"; mm: "fn.mm"; mn: "fn.mn"; mo: "fn.mo"; mp: "fn.mp"; mq: "fn.mq"; mr: "fn.mr"; ms: "fn.ms"; mt: "fn.mt"; mu: "fn.mu"; mv: "fn.mv"; mw: "fn.mw"; mx: "fn.mx"; my: "fn.my"; mz: "fn.mz"; na: "fn.na"; nb: "fn.nb"; nc: "fn.nc"; nd: "fn.nd"; ne: "fn.ne"; nf: "fn.nf"; ng: "fn.ng"; nh: "fn.nh"; ni: "fn.ni"; nj: "fn.nj"; nk: "fn.nk"; nl: "fn.nl"; nm: "fn.nm"; nn: "fn.nn"; no: "fn.no"; np: "fn.np"; nq: "fn.nq"; nr: "fn.nr"; ns: "fn.ns"; nt: "fn.nt"; nu: "fn.nu"; nv: "fn.nv"; nw: "fn.nw"; nx: "fn.nx"; ny: "fn.ny"; nz: "fn.nz"; oa: "fn.oa"; ob: "fn.ob"; oc: "fn.oc"; od: "fn.od"; oe: "fn.oe"; of: "fn.of"; og: "fn.og"; oh: "fn.oh"; oi: "fn.oi"; oj: "fn.oj"; ok: "fn.ok"; ol: "fn.ol"; om: "fn.om"; on: "fn.on"; oo: "fn.oo"; op: "fn.op"; oq: "fn.oq"; or: "fn.or"; os: "fn.os"; ot: "fn.ot"; ou: "fn.ou"; ov: "fn.ov"; ow: "fn.ow"; ox: "fn.ox"; oy: "fn.oy"; oz: "fn.oz"; pa: "fn.pa"; pb: "fn.pb"; pc: "fn.pc"; pd: "fn.pd"; pe: "fn.pe"; pf: "fn.pf"; pg: "fn.pg"; ph: "fn.ph"; pi: "fn.pi"; pj: "fn.pj"; pk: "fn.pk"; pl: "fn.pl"; pm: "fn.pm"; pn: "fn.pn"; po: "fn.po"; pp: "fn.pp"; pq: "fn.pq"; pr: "fn.pr"; ps: "fn.ps"; pt: "fn.pt"; pu: "fn.pu"; pv: "fn.pv"; pw: "fn.pw"; px: "fn.px"; py: "fn.py"; pz: "fn.pz"; qa: "fn.qa"; qb: "fn.qb"; qc: "fn.qc"; qd: "fn.qd"; qe: "fn.qe"; qf: "fn.qf"; qg: "fn.qg"; qh: "fn.qh"; qi: "fn.qi"; qj: "fn.qj"; qk: "fn.qk"; ql: "fn.ql"; qm: "fn.qm"; qn: "fn.qn"; qo: "fn.qo"; qp: "fn.qp"; qq: "fn.qq"; qr: "fn.qr"; qs: "fn.qs"; qt: "fn.qt"; qu: "fn.qu"; qv: "fn.qv"; qw: "fn.qw"; qx: "fn.qx"; qy: "fn.qy"; qz: "fn.qz"; ra: "fn.ra"; rb: "fn.rb"; rc: "fn.rc"; rd: "fn.rd"; re: "fn.re"; rf: "fn.rf"; rg: "fn.rg"; rh: "fn.rh"; ri: "fn.ri"; rj: "fn.rj"; rk: "fn.rk"; rl: "fn.rl"; rm: "fn.rm"; rn: "fn.rn"; ro: "fn.ro"; rp: "fn.rp"; rq: "fn.rq"; rr: "fn.rr"; rs: "fn.rs"; rt: "fn.rt"; ru: "fn.ru"; rv: "fn.rv"; rw: "fn.rw"; rx: "fn.rx"; ry: "fn.ry"; rz: "fn.rz"; sa: "fn.sa"; sb: "fn.sb"; sc: "fn.sc"; sd: "fn.sd"; se: "fn.se"; sf: "fn.sf"; sg: "fn.sg"; sh: "fn.sh"; si: "fn.si"; sj: "fn.sj"; sk: "fn.sk"; sl: "fn.sl"; sm: "fn.sm"; sn: "fn.sn"; so: "fn.so"; sp: "fn.sp"; sq: "fn.sq"; sr: "fn.sr"; ss: "fn.ss"; st: "fn.st"; su: "fn.su"; sv: "fn.sv"; sw: "fn.sw"; sx: "fn.sx"; sy: "fn.sy"; sz: "fn.sz"; ta: "fn.ta"; tb: "fn.tb"; tc: "fn.tc"; td: "fn.td"; te: "fn.te"; tf: "fn.tf"; tg: "fn.tg"; th: "fn.th"; ti: "fn.ti"; tj: "fn.tj"; tk: "fn.tk"; tl: "fn.tl"; tm: "fn.tm"; tn: "fn.tn"; to: "fn.to"; tp: "fn.tp"; tq: "fn.tq"; tr: "fn.tr"; ts: "fn.ts"; tt: "fn.tt"; tu: "fn.tu"; tv: "fn.tv"; tw: "fn.tw"; tx: "fn.tx"; ty: "fn.ty"; tz: "fn.tz"; ua: "fn.ua"; ub: "fn.ub"; uc: "fn.uc"; ud: "fn.ud"; ue: "fn.ue"; uf: "fn.uf"; ug: "fn.ug"; uh: "fn.uh"; ui: "fn.ui"; uj: "fn.uj"; uk: "fn.uk"; ul: "fn.ul"; um: "fn.um"; un: "fn.un"; uo: "fn.uo"; up: "fn.up"; uq: "fn.uq"; ur: "fn.ur"; us: "fn.us"; ut: "fn.ut"; uu: "fn.uu"; uv: "fn.uv"; uw: "fn.uw"; ux: "fn.ux"; uy: "fn.uy"; uz: "fn.uz"; va: "fn.va"; vb: "fn.vb"; vc: "fn.vc"; vd: "fn.vd"; ve: "fn.ve"; vf: "fn.vf"; vg: "fn.vg"; vh: "fn.vh"; vi: "fn.vi"; vj: "fn.vj"; vk: "fn.vk"; vl: "fn.vl"; vm: "fn.vm"; vn: "fn.vn"; vo: "fn.vo"; vp: "fn.vp"; vq: "fn.vq"; vr: "fn.vr"; vs: "fn.vs"; vt: "fn.vt"; vu: "fn.vu"; vv: "fn.vv"; vw: "fn.vw"; vx: "fn.vx"; vy: "fn.vy"; vz: "fn.vz"; wa: "fn.wa"; wb: "fn.wb"; wc: "fn.wc"; wd: "fn.wd"; we: "fn.we"; wf: "fn.wf"; wg: "fn.wg"; wh: "fn.wh"; wi: "fn.wi"; wj: "fn.wj"; wk: "fn.wk"; wl: "fn.wl"; wm: "fn.wm"; wn: "fn.wn"; wo: "fn.wo"; wp: "fn.wp"; wq: "fn.wq"; wr: "fn.wr"; ws: "fn.ws"; wt: "fn.wt"; wu: "fn.wu"; wv: "fn.wv"; ww: "fn.ww"; wx: "fn.wx"; wy: "fn.wy"; wz: "fn.wz"; xa: "fn.xa"; xb: "fn.xb"; xc: "fn.xc"; xd: "fn.xd"; xe: "fn.xe"; xf: "fn.xf"; xg: "fn.xg"; xh: "fn.xh"; xi: "fn.xi"; xj: "fn.xj"; xk: "fn.xk"; xl: "fn.xl"; xm: "fn.xm"; xn: "fn.xn"; xo: "fn.xo"; xp: "fn.xp"; xq: "fn.xq"; xr: "fn.xr"; xs: "fn.xs"; xt: "fn.xt"; xu: "fn.xu"; xv: "fn.xv"; xw: "fn.xw"; xx: "fn.xx"; xy: "fn.xy"; xz: "fn.xz"; ya: "fn.ya"; yb: "fn.yb"; yc: "fn.yc"; yd: "fn.yd"; ye: "fn.ye"; yf: "fn.yf"; yg: "fn.yg"; yh: "fn.yh"; yi: "fn.yi"; yj: "fn.yj"; yk: "fn.yk"; yl: "fn.yl"; ym: "fn.ym"; yn: "fn.yn"; yo: "fn.yo"; yp: "fn.yp"; yq: "fn.yq"; yr: "fn.yr"; ys: "fn.ys"; yt: "fn.yt"; yu: "fn.yu"; yv: "fn.yv"; yw: "fn.yw"; yx: "fn.yx"; yy: "fn.yy"; yz: "fn.yz"; za: "fn.za"; zb: "fn.zb"; zc: "fn.zc"; zd: "fn.zd"; ze: "fn.ze"; zf: "fn.zf"; zg: "fn.zg"; zh: "fn.zh"; zi: "fn.zi"; zj: "fn.zj"; zk: "fn.zk"; zl: "fn.zl"; zm: "fn.zm"; zn: "fn.zn"; zo: "fn.zo"; zp: "fn.zp"; zq: "fn.zq"; zr: "fn.zr"; zs: "fn.zs"; zt: "fn.zt"; zu: "fn.zu"; zv: "fn.zv"; zw: "fn.zw"; zx: "fn.zx"; zy: "fn.zy"; zz: "fn.zz"; }; fo: { aa: "fo.aa"; ab: "fo.ab"; ac: "fo.ac"; ad: "fo.ad"; ae: "fo.ae"; af: "fo.af"; ag: "fo.ag"; ah: "fo.ah"; ai: "fo.ai"; aj: "fo.aj"; ak: "fo.ak"; al: "fo.al"; am: "fo.am"; an: "fo.an"; ao: "fo.ao"; ap: "fo.ap"; aq: "fo.aq"; ar: "fo.ar"; as: "fo.as"; at: "fo.at"; au: "fo.au"; av: "fo.av"; aw: "fo.aw"; ax: "fo.ax"; ay: "fo.ay"; az: "fo.az"; ba: "fo.ba"; bb: "fo.bb"; bc: "fo.bc"; bd: "fo.bd"; be: "fo.be"; bf: "fo.bf"; bg: "fo.bg"; bh: "fo.bh"; bi: "fo.bi"; bj: "fo.bj"; bk: "fo.bk"; bl: "fo.bl"; bm: "fo.bm"; bn: "fo.bn"; bo: "fo.bo"; bp: "fo.bp"; bq: "fo.bq"; br: "fo.br"; bs: "fo.bs"; bt: "fo.bt"; bu: "fo.bu"; bv: "fo.bv"; bw: "fo.bw"; bx: "fo.bx"; by: "fo.by"; bz: "fo.bz"; ca: "fo.ca"; cb: "fo.cb"; cc: "fo.cc"; cd: "fo.cd"; ce: "fo.ce"; cf: "fo.cf"; cg: "fo.cg"; ch: "fo.ch"; ci: "fo.ci"; cj: "fo.cj"; ck: "fo.ck"; cl: "fo.cl"; cm: "fo.cm"; cn: "fo.cn"; co: "fo.co"; cp: "fo.cp"; cq: "fo.cq"; cr: "fo.cr"; cs: "fo.cs"; ct: "fo.ct"; cu: "fo.cu"; cv: "fo.cv"; cw: "fo.cw"; cx: "fo.cx"; cy: "fo.cy"; cz: "fo.cz"; da: "fo.da"; db: "fo.db"; dc: "fo.dc"; dd: "fo.dd"; de: "fo.de"; df: "fo.df"; dg: "fo.dg"; dh: "fo.dh"; di: "fo.di"; dj: "fo.dj"; dk: "fo.dk"; dl: "fo.dl"; dm: "fo.dm"; dn: "fo.dn"; do: "fo.do"; dp: "fo.dp"; dq: "fo.dq"; dr: "fo.dr"; ds: "fo.ds"; dt: "fo.dt"; du: "fo.du"; dv: "fo.dv"; dw: "fo.dw"; dx: "fo.dx"; dy: "fo.dy"; dz: "fo.dz"; ea: "fo.ea"; eb: "fo.eb"; ec: "fo.ec"; ed: "fo.ed"; ee: "fo.ee"; ef: "fo.ef"; eg: "fo.eg"; eh: "fo.eh"; ei: "fo.ei"; ej: "fo.ej"; ek: "fo.ek"; el: "fo.el"; em: "fo.em"; en: "fo.en"; eo: "fo.eo"; ep: "fo.ep"; eq: "fo.eq"; er: "fo.er"; es: "fo.es"; et: "fo.et"; eu: "fo.eu"; ev: "fo.ev"; ew: "fo.ew"; ex: "fo.ex"; ey: "fo.ey"; ez: "fo.ez"; fa: "fo.fa"; fb: "fo.fb"; fc: "fo.fc"; fd: "fo.fd"; fe: "fo.fe"; ff: "fo.ff"; fg: "fo.fg"; fh: "fo.fh"; fi: "fo.fi"; fj: "fo.fj"; fk: "fo.fk"; fl: "fo.fl"; fm: "fo.fm"; fn: "fo.fn"; fo: "fo.fo"; fp: "fo.fp"; fq: "fo.fq"; fr: "fo.fr"; fs: "fo.fs"; ft: "fo.ft"; fu: "fo.fu"; fv: "fo.fv"; fw: "fo.fw"; fx: "fo.fx"; fy: "fo.fy"; fz: "fo.fz"; ga: "fo.ga"; gb: "fo.gb"; gc: "fo.gc"; gd: "fo.gd"; ge: "fo.ge"; gf: "fo.gf"; gg: "fo.gg"; gh: "fo.gh"; gi: "fo.gi"; gj: "fo.gj"; gk: "fo.gk"; gl: "fo.gl"; gm: "fo.gm"; gn: "fo.gn"; go: "fo.go"; gp: "fo.gp"; gq: "fo.gq"; gr: "fo.gr"; gs: "fo.gs"; gt: "fo.gt"; gu: "fo.gu"; gv: "fo.gv"; gw: "fo.gw"; gx: "fo.gx"; gy: "fo.gy"; gz: "fo.gz"; ha: "fo.ha"; hb: "fo.hb"; hc: "fo.hc"; hd: "fo.hd"; he: "fo.he"; hf: "fo.hf"; hg: "fo.hg"; hh: "fo.hh"; hi: "fo.hi"; hj: "fo.hj"; hk: "fo.hk"; hl: "fo.hl"; hm: "fo.hm"; hn: "fo.hn"; ho: "fo.ho"; hp: "fo.hp"; hq: "fo.hq"; hr: "fo.hr"; hs: "fo.hs"; ht: "fo.ht"; hu: "fo.hu"; hv: "fo.hv"; hw: "fo.hw"; hx: "fo.hx"; hy: "fo.hy"; hz: "fo.hz"; ia: "fo.ia"; ib: "fo.ib"; ic: "fo.ic"; id: "fo.id"; ie: "fo.ie"; if: "fo.if"; ig: "fo.ig"; ih: "fo.ih"; ii: "fo.ii"; ij: "fo.ij"; ik: "fo.ik"; il: "fo.il"; im: "fo.im"; in: "fo.in"; io: "fo.io"; ip: "fo.ip"; iq: "fo.iq"; ir: "fo.ir"; is: "fo.is"; it: "fo.it"; iu: "fo.iu"; iv: "fo.iv"; iw: "fo.iw"; ix: "fo.ix"; iy: "fo.iy"; iz: "fo.iz"; ja: "fo.ja"; jb: "fo.jb"; jc: "fo.jc"; jd: "fo.jd"; je: "fo.je"; jf: "fo.jf"; jg: "fo.jg"; jh: "fo.jh"; ji: "fo.ji"; jj: "fo.jj"; jk: "fo.jk"; jl: "fo.jl"; jm: "fo.jm"; jn: "fo.jn"; jo: "fo.jo"; jp: "fo.jp"; jq: "fo.jq"; jr: "fo.jr"; js: "fo.js"; jt: "fo.jt"; ju: "fo.ju"; jv: "fo.jv"; jw: "fo.jw"; jx: "fo.jx"; jy: "fo.jy"; jz: "fo.jz"; ka: "fo.ka"; kb: "fo.kb"; kc: "fo.kc"; kd: "fo.kd"; ke: "fo.ke"; kf: "fo.kf"; kg: "fo.kg"; kh: "fo.kh"; ki: "fo.ki"; kj: "fo.kj"; kk: "fo.kk"; kl: "fo.kl"; km: "fo.km"; kn: "fo.kn"; ko: "fo.ko"; kp: "fo.kp"; kq: "fo.kq"; kr: "fo.kr"; ks: "fo.ks"; kt: "fo.kt"; ku: "fo.ku"; kv: "fo.kv"; kw: "fo.kw"; kx: "fo.kx"; ky: "fo.ky"; kz: "fo.kz"; la: "fo.la"; lb: "fo.lb"; lc: "fo.lc"; ld: "fo.ld"; le: "fo.le"; lf: "fo.lf"; lg: "fo.lg"; lh: "fo.lh"; li: "fo.li"; lj: "fo.lj"; lk: "fo.lk"; ll: "fo.ll"; lm: "fo.lm"; ln: "fo.ln"; lo: "fo.lo"; lp: "fo.lp"; lq: "fo.lq"; lr: "fo.lr"; ls: "fo.ls"; lt: "fo.lt"; lu: "fo.lu"; lv: "fo.lv"; lw: "fo.lw"; lx: "fo.lx"; ly: "fo.ly"; lz: "fo.lz"; ma: "fo.ma"; mb: "fo.mb"; mc: "fo.mc"; md: "fo.md"; me: "fo.me"; mf: "fo.mf"; mg: "fo.mg"; mh: "fo.mh"; mi: "fo.mi"; mj: "fo.mj"; mk: "fo.mk"; ml: "fo.ml"; mm: "fo.mm"; mn: "fo.mn"; mo: "fo.mo"; mp: "fo.mp"; mq: "fo.mq"; mr: "fo.mr"; ms: "fo.ms"; mt: "fo.mt"; mu: "fo.mu"; mv: "fo.mv"; mw: "fo.mw"; mx: "fo.mx"; my: "fo.my"; mz: "fo.mz"; na: "fo.na"; nb: "fo.nb"; nc: "fo.nc"; nd: "fo.nd"; ne: "fo.ne"; nf: "fo.nf"; ng: "fo.ng"; nh: "fo.nh"; ni: "fo.ni"; nj: "fo.nj"; nk: "fo.nk"; nl: "fo.nl"; nm: "fo.nm"; nn: "fo.nn"; no: "fo.no"; np: "fo.np"; nq: "fo.nq"; nr: "fo.nr"; ns: "fo.ns"; nt: "fo.nt"; nu: "fo.nu"; nv: "fo.nv"; nw: "fo.nw"; nx: "fo.nx"; ny: "fo.ny"; nz: "fo.nz"; oa: "fo.oa"; ob: "fo.ob"; oc: "fo.oc"; od: "fo.od"; oe: "fo.oe"; of: "fo.of"; og: "fo.og"; oh: "fo.oh"; oi: "fo.oi"; oj: "fo.oj"; ok: "fo.ok"; ol: "fo.ol"; om: "fo.om"; on: "fo.on"; oo: "fo.oo"; op: "fo.op"; oq: "fo.oq"; or: "fo.or"; os: "fo.os"; ot: "fo.ot"; ou: "fo.ou"; ov: "fo.ov"; ow: "fo.ow"; ox: "fo.ox"; oy: "fo.oy"; oz: "fo.oz"; pa: "fo.pa"; pb: "fo.pb"; pc: "fo.pc"; pd: "fo.pd"; pe: "fo.pe"; pf: "fo.pf"; pg: "fo.pg"; ph: "fo.ph"; pi: "fo.pi"; pj: "fo.pj"; pk: "fo.pk"; pl: "fo.pl"; pm: "fo.pm"; pn: "fo.pn"; po: "fo.po"; pp: "fo.pp"; pq: "fo.pq"; pr: "fo.pr"; ps: "fo.ps"; pt: "fo.pt"; pu: "fo.pu"; pv: "fo.pv"; pw: "fo.pw"; px: "fo.px"; py: "fo.py"; pz: "fo.pz"; qa: "fo.qa"; qb: "fo.qb"; qc: "fo.qc"; qd: "fo.qd"; qe: "fo.qe"; qf: "fo.qf"; qg: "fo.qg"; qh: "fo.qh"; qi: "fo.qi"; qj: "fo.qj"; qk: "fo.qk"; ql: "fo.ql"; qm: "fo.qm"; qn: "fo.qn"; qo: "fo.qo"; qp: "fo.qp"; qq: "fo.qq"; qr: "fo.qr"; qs: "fo.qs"; qt: "fo.qt"; qu: "fo.qu"; qv: "fo.qv"; qw: "fo.qw"; qx: "fo.qx"; qy: "fo.qy"; qz: "fo.qz"; ra: "fo.ra"; rb: "fo.rb"; rc: "fo.rc"; rd: "fo.rd"; re: "fo.re"; rf: "fo.rf"; rg: "fo.rg"; rh: "fo.rh"; ri: "fo.ri"; rj: "fo.rj"; rk: "fo.rk"; rl: "fo.rl"; rm: "fo.rm"; rn: "fo.rn"; ro: "fo.ro"; rp: "fo.rp"; rq: "fo.rq"; rr: "fo.rr"; rs: "fo.rs"; rt: "fo.rt"; ru: "fo.ru"; rv: "fo.rv"; rw: "fo.rw"; rx: "fo.rx"; ry: "fo.ry"; rz: "fo.rz"; sa: "fo.sa"; sb: "fo.sb"; sc: "fo.sc"; sd: "fo.sd"; se: "fo.se"; sf: "fo.sf"; sg: "fo.sg"; sh: "fo.sh"; si: "fo.si"; sj: "fo.sj"; sk: "fo.sk"; sl: "fo.sl"; sm: "fo.sm"; sn: "fo.sn"; so: "fo.so"; sp: "fo.sp"; sq: "fo.sq"; sr: "fo.sr"; ss: "fo.ss"; st: "fo.st"; su: "fo.su"; sv: "fo.sv"; sw: "fo.sw"; sx: "fo.sx"; sy: "fo.sy"; sz: "fo.sz"; ta: "fo.ta"; tb: "fo.tb"; tc: "fo.tc"; td: "fo.td"; te: "fo.te"; tf: "fo.tf"; tg: "fo.tg"; th: "fo.th"; ti: "fo.ti"; tj: "fo.tj"; tk: "fo.tk"; tl: "fo.tl"; tm: "fo.tm"; tn: "fo.tn"; to: "fo.to"; tp: "fo.tp"; tq: "fo.tq"; tr: "fo.tr"; ts: "fo.ts"; tt: "fo.tt"; tu: "fo.tu"; tv: "fo.tv"; tw: "fo.tw"; tx: "fo.tx"; ty: "fo.ty"; tz: "fo.tz"; ua: "fo.ua"; ub: "fo.ub"; uc: "fo.uc"; ud: "fo.ud"; ue: "fo.ue"; uf: "fo.uf"; ug: "fo.ug"; uh: "fo.uh"; ui: "fo.ui"; uj: "fo.uj"; uk: "fo.uk"; ul: "fo.ul"; um: "fo.um"; un: "fo.un"; uo: "fo.uo"; up: "fo.up"; uq: "fo.uq"; ur: "fo.ur"; us: "fo.us"; ut: "fo.ut"; uu: "fo.uu"; uv: "fo.uv"; uw: "fo.uw"; ux: "fo.ux"; uy: "fo.uy"; uz: "fo.uz"; va: "fo.va"; vb: "fo.vb"; vc: "fo.vc"; vd: "fo.vd"; ve: "fo.ve"; vf: "fo.vf"; vg: "fo.vg"; vh: "fo.vh"; vi: "fo.vi"; vj: "fo.vj"; vk: "fo.vk"; vl: "fo.vl"; vm: "fo.vm"; vn: "fo.vn"; vo: "fo.vo"; vp: "fo.vp"; vq: "fo.vq"; vr: "fo.vr"; vs: "fo.vs"; vt: "fo.vt"; vu: "fo.vu"; vv: "fo.vv"; vw: "fo.vw"; vx: "fo.vx"; vy: "fo.vy"; vz: "fo.vz"; wa: "fo.wa"; wb: "fo.wb"; wc: "fo.wc"; wd: "fo.wd"; we: "fo.we"; wf: "fo.wf"; wg: "fo.wg"; wh: "fo.wh"; wi: "fo.wi"; wj: "fo.wj"; wk: "fo.wk"; wl: "fo.wl"; wm: "fo.wm"; wn: "fo.wn"; wo: "fo.wo"; wp: "fo.wp"; wq: "fo.wq"; wr: "fo.wr"; ws: "fo.ws"; wt: "fo.wt"; wu: "fo.wu"; wv: "fo.wv"; ww: "fo.ww"; wx: "fo.wx"; wy: "fo.wy"; wz: "fo.wz"; xa: "fo.xa"; xb: "fo.xb"; xc: "fo.xc"; xd: "fo.xd"; xe: "fo.xe"; xf: "fo.xf"; xg: "fo.xg"; xh: "fo.xh"; xi: "fo.xi"; xj: "fo.xj"; xk: "fo.xk"; xl: "fo.xl"; xm: "fo.xm"; xn: "fo.xn"; xo: "fo.xo"; xp: "fo.xp"; xq: "fo.xq"; xr: "fo.xr"; xs: "fo.xs"; xt: "fo.xt"; xu: "fo.xu"; xv: "fo.xv"; xw: "fo.xw"; xx: "fo.xx"; xy: "fo.xy"; xz: "fo.xz"; ya: "fo.ya"; yb: "fo.yb"; yc: "fo.yc"; yd: "fo.yd"; ye: "fo.ye"; yf: "fo.yf"; yg: "fo.yg"; yh: "fo.yh"; yi: "fo.yi"; yj: "fo.yj"; yk: "fo.yk"; yl: "fo.yl"; ym: "fo.ym"; yn: "fo.yn"; yo: "fo.yo"; yp: "fo.yp"; yq: "fo.yq"; yr: "fo.yr"; ys: "fo.ys"; yt: "fo.yt"; yu: "fo.yu"; yv: "fo.yv"; yw: "fo.yw"; yx: "fo.yx"; yy: "fo.yy"; yz: "fo.yz"; za: "fo.za"; zb: "fo.zb"; zc: "fo.zc"; zd: "fo.zd"; ze: "fo.ze"; zf: "fo.zf"; zg: "fo.zg"; zh: "fo.zh"; zi: "fo.zi"; zj: "fo.zj"; zk: "fo.zk"; zl: "fo.zl"; zm: "fo.zm"; zn: "fo.zn"; zo: "fo.zo"; zp: "fo.zp"; zq: "fo.zq"; zr: "fo.zr"; zs: "fo.zs"; zt: "fo.zt"; zu: "fo.zu"; zv: "fo.zv"; zw: "fo.zw"; zx: "fo.zx"; zy: "fo.zy"; zz: "fo.zz"; }; fp: { aa: "fp.aa"; ab: "fp.ab"; ac: "fp.ac"; ad: "fp.ad"; ae: "fp.ae"; af: "fp.af"; ag: "fp.ag"; ah: "fp.ah"; ai: "fp.ai"; aj: "fp.aj"; ak: "fp.ak"; al: "fp.al"; am: "fp.am"; an: "fp.an"; ao: "fp.ao"; ap: "fp.ap"; aq: "fp.aq"; ar: "fp.ar"; as: "fp.as"; at: "fp.at"; au: "fp.au"; av: "fp.av"; aw: "fp.aw"; ax: "fp.ax"; ay: "fp.ay"; az: "fp.az"; ba: "fp.ba"; bb: "fp.bb"; bc: "fp.bc"; bd: "fp.bd"; be: "fp.be"; bf: "fp.bf"; bg: "fp.bg"; bh: "fp.bh"; bi: "fp.bi"; bj: "fp.bj"; bk: "fp.bk"; bl: "fp.bl"; bm: "fp.bm"; bn: "fp.bn"; bo: "fp.bo"; bp: "fp.bp"; bq: "fp.bq"; br: "fp.br"; bs: "fp.bs"; bt: "fp.bt"; bu: "fp.bu"; bv: "fp.bv"; bw: "fp.bw"; bx: "fp.bx"; by: "fp.by"; bz: "fp.bz"; ca: "fp.ca"; cb: "fp.cb"; cc: "fp.cc"; cd: "fp.cd"; ce: "fp.ce"; cf: "fp.cf"; cg: "fp.cg"; ch: "fp.ch"; ci: "fp.ci"; cj: "fp.cj"; ck: "fp.ck"; cl: "fp.cl"; cm: "fp.cm"; cn: "fp.cn"; co: "fp.co"; cp: "fp.cp"; cq: "fp.cq"; cr: "fp.cr"; cs: "fp.cs"; ct: "fp.ct"; cu: "fp.cu"; cv: "fp.cv"; cw: "fp.cw"; cx: "fp.cx"; cy: "fp.cy"; cz: "fp.cz"; da: "fp.da"; db: "fp.db"; dc: "fp.dc"; dd: "fp.dd"; de: "fp.de"; df: "fp.df"; dg: "fp.dg"; dh: "fp.dh"; di: "fp.di"; dj: "fp.dj"; dk: "fp.dk"; dl: "fp.dl"; dm: "fp.dm"; dn: "fp.dn"; do: "fp.do"; dp: "fp.dp"; dq: "fp.dq"; dr: "fp.dr"; ds: "fp.ds"; dt: "fp.dt"; du: "fp.du"; dv: "fp.dv"; dw: "fp.dw"; dx: "fp.dx"; dy: "fp.dy"; dz: "fp.dz"; ea: "fp.ea"; eb: "fp.eb"; ec: "fp.ec"; ed: "fp.ed"; ee: "fp.ee"; ef: "fp.ef"; eg: "fp.eg"; eh: "fp.eh"; ei: "fp.ei"; ej: "fp.ej"; ek: "fp.ek"; el: "fp.el"; em: "fp.em"; en: "fp.en"; eo: "fp.eo"; ep: "fp.ep"; eq: "fp.eq"; er: "fp.er"; es: "fp.es"; et: "fp.et"; eu: "fp.eu"; ev: "fp.ev"; ew: "fp.ew"; ex: "fp.ex"; ey: "fp.ey"; ez: "fp.ez"; fa: "fp.fa"; fb: "fp.fb"; fc: "fp.fc"; fd: "fp.fd"; fe: "fp.fe"; ff: "fp.ff"; fg: "fp.fg"; fh: "fp.fh"; fi: "fp.fi"; fj: "fp.fj"; fk: "fp.fk"; fl: "fp.fl"; fm: "fp.fm"; fn: "fp.fn"; fo: "fp.fo"; fp: "fp.fp"; fq: "fp.fq"; fr: "fp.fr"; fs: "fp.fs"; ft: "fp.ft"; fu: "fp.fu"; fv: "fp.fv"; fw: "fp.fw"; fx: "fp.fx"; fy: "fp.fy"; fz: "fp.fz"; ga: "fp.ga"; gb: "fp.gb"; gc: "fp.gc"; gd: "fp.gd"; ge: "fp.ge"; gf: "fp.gf"; gg: "fp.gg"; gh: "fp.gh"; gi: "fp.gi"; gj: "fp.gj"; gk: "fp.gk"; gl: "fp.gl"; gm: "fp.gm"; gn: "fp.gn"; go: "fp.go"; gp: "fp.gp"; gq: "fp.gq"; gr: "fp.gr"; gs: "fp.gs"; gt: "fp.gt"; gu: "fp.gu"; gv: "fp.gv"; gw: "fp.gw"; gx: "fp.gx"; gy: "fp.gy"; gz: "fp.gz"; ha: "fp.ha"; hb: "fp.hb"; hc: "fp.hc"; hd: "fp.hd"; he: "fp.he"; hf: "fp.hf"; hg: "fp.hg"; hh: "fp.hh"; hi: "fp.hi"; hj: "fp.hj"; hk: "fp.hk"; hl: "fp.hl"; hm: "fp.hm"; hn: "fp.hn"; ho: "fp.ho"; hp: "fp.hp"; hq: "fp.hq"; hr: "fp.hr"; hs: "fp.hs"; ht: "fp.ht"; hu: "fp.hu"; hv: "fp.hv"; hw: "fp.hw"; hx: "fp.hx"; hy: "fp.hy"; hz: "fp.hz"; ia: "fp.ia"; ib: "fp.ib"; ic: "fp.ic"; id: "fp.id"; ie: "fp.ie"; if: "fp.if"; ig: "fp.ig"; ih: "fp.ih"; ii: "fp.ii"; ij: "fp.ij"; ik: "fp.ik"; il: "fp.il"; im: "fp.im"; in: "fp.in"; io: "fp.io"; ip: "fp.ip"; iq: "fp.iq"; ir: "fp.ir"; is: "fp.is"; it: "fp.it"; iu: "fp.iu"; iv: "fp.iv"; iw: "fp.iw"; ix: "fp.ix"; iy: "fp.iy"; iz: "fp.iz"; ja: "fp.ja"; jb: "fp.jb"; jc: "fp.jc"; jd: "fp.jd"; je: "fp.je"; jf: "fp.jf"; jg: "fp.jg"; jh: "fp.jh"; ji: "fp.ji"; jj: "fp.jj"; jk: "fp.jk"; jl: "fp.jl"; jm: "fp.jm"; jn: "fp.jn"; jo: "fp.jo"; jp: "fp.jp"; jq: "fp.jq"; jr: "fp.jr"; js: "fp.js"; jt: "fp.jt"; ju: "fp.ju"; jv: "fp.jv"; jw: "fp.jw"; jx: "fp.jx"; jy: "fp.jy"; jz: "fp.jz"; ka: "fp.ka"; kb: "fp.kb"; kc: "fp.kc"; kd: "fp.kd"; ke: "fp.ke"; kf: "fp.kf"; kg: "fp.kg"; kh: "fp.kh"; ki: "fp.ki"; kj: "fp.kj"; kk: "fp.kk"; kl: "fp.kl"; km: "fp.km"; kn: "fp.kn"; ko: "fp.ko"; kp: "fp.kp"; kq: "fp.kq"; kr: "fp.kr"; ks: "fp.ks"; kt: "fp.kt"; ku: "fp.ku"; kv: "fp.kv"; kw: "fp.kw"; kx: "fp.kx"; ky: "fp.ky"; kz: "fp.kz"; la: "fp.la"; lb: "fp.lb"; lc: "fp.lc"; ld: "fp.ld"; le: "fp.le"; lf: "fp.lf"; lg: "fp.lg"; lh: "fp.lh"; li: "fp.li"; lj: "fp.lj"; lk: "fp.lk"; ll: "fp.ll"; lm: "fp.lm"; ln: "fp.ln"; lo: "fp.lo"; lp: "fp.lp"; lq: "fp.lq"; lr: "fp.lr"; ls: "fp.ls"; lt: "fp.lt"; lu: "fp.lu"; lv: "fp.lv"; lw: "fp.lw"; lx: "fp.lx"; ly: "fp.ly"; lz: "fp.lz"; ma: "fp.ma"; mb: "fp.mb"; mc: "fp.mc"; md: "fp.md"; me: "fp.me"; mf: "fp.mf"; mg: "fp.mg"; mh: "fp.mh"; mi: "fp.mi"; mj: "fp.mj"; mk: "fp.mk"; ml: "fp.ml"; mm: "fp.mm"; mn: "fp.mn"; mo: "fp.mo"; mp: "fp.mp"; mq: "fp.mq"; mr: "fp.mr"; ms: "fp.ms"; mt: "fp.mt"; mu: "fp.mu"; mv: "fp.mv"; mw: "fp.mw"; mx: "fp.mx"; my: "fp.my"; mz: "fp.mz"; na: "fp.na"; nb: "fp.nb"; nc: "fp.nc"; nd: "fp.nd"; ne: "fp.ne"; nf: "fp.nf"; ng: "fp.ng"; nh: "fp.nh"; ni: "fp.ni"; nj: "fp.nj"; nk: "fp.nk"; nl: "fp.nl"; nm: "fp.nm"; nn: "fp.nn"; no: "fp.no"; np: "fp.np"; nq: "fp.nq"; nr: "fp.nr"; ns: "fp.ns"; nt: "fp.nt"; nu: "fp.nu"; nv: "fp.nv"; nw: "fp.nw"; nx: "fp.nx"; ny: "fp.ny"; nz: "fp.nz"; oa: "fp.oa"; ob: "fp.ob"; oc: "fp.oc"; od: "fp.od"; oe: "fp.oe"; of: "fp.of"; og: "fp.og"; oh: "fp.oh"; oi: "fp.oi"; oj: "fp.oj"; ok: "fp.ok"; ol: "fp.ol"; om: "fp.om"; on: "fp.on"; oo: "fp.oo"; op: "fp.op"; oq: "fp.oq"; or: "fp.or"; os: "fp.os"; ot: "fp.ot"; ou: "fp.ou"; ov: "fp.ov"; ow: "fp.ow"; ox: "fp.ox"; oy: "fp.oy"; oz: "fp.oz"; pa: "fp.pa"; pb: "fp.pb"; pc: "fp.pc"; pd: "fp.pd"; pe: "fp.pe"; pf: "fp.pf"; pg: "fp.pg"; ph: "fp.ph"; pi: "fp.pi"; pj: "fp.pj"; pk: "fp.pk"; pl: "fp.pl"; pm: "fp.pm"; pn: "fp.pn"; po: "fp.po"; pp: "fp.pp"; pq: "fp.pq"; pr: "fp.pr"; ps: "fp.ps"; pt: "fp.pt"; pu: "fp.pu"; pv: "fp.pv"; pw: "fp.pw"; px: "fp.px"; py: "fp.py"; pz: "fp.pz"; qa: "fp.qa"; qb: "fp.qb"; qc: "fp.qc"; qd: "fp.qd"; qe: "fp.qe"; qf: "fp.qf"; qg: "fp.qg"; qh: "fp.qh"; qi: "fp.qi"; qj: "fp.qj"; qk: "fp.qk"; ql: "fp.ql"; qm: "fp.qm"; qn: "fp.qn"; qo: "fp.qo"; qp: "fp.qp"; qq: "fp.qq"; qr: "fp.qr"; qs: "fp.qs"; qt: "fp.qt"; qu: "fp.qu"; qv: "fp.qv"; qw: "fp.qw"; qx: "fp.qx"; qy: "fp.qy"; qz: "fp.qz"; ra: "fp.ra"; rb: "fp.rb"; rc: "fp.rc"; rd: "fp.rd"; re: "fp.re"; rf: "fp.rf"; rg: "fp.rg"; rh: "fp.rh"; ri: "fp.ri"; rj: "fp.rj"; rk: "fp.rk"; rl: "fp.rl"; rm: "fp.rm"; rn: "fp.rn"; ro: "fp.ro"; rp: "fp.rp"; rq: "fp.rq"; rr: "fp.rr"; rs: "fp.rs"; rt: "fp.rt"; ru: "fp.ru"; rv: "fp.rv"; rw: "fp.rw"; rx: "fp.rx"; ry: "fp.ry"; rz: "fp.rz"; sa: "fp.sa"; sb: "fp.sb"; sc: "fp.sc"; sd: "fp.sd"; se: "fp.se"; sf: "fp.sf"; sg: "fp.sg"; sh: "fp.sh"; si: "fp.si"; sj: "fp.sj"; sk: "fp.sk"; sl: "fp.sl"; sm: "fp.sm"; sn: "fp.sn"; so: "fp.so"; sp: "fp.sp"; sq: "fp.sq"; sr: "fp.sr"; ss: "fp.ss"; st: "fp.st"; su: "fp.su"; sv: "fp.sv"; sw: "fp.sw"; sx: "fp.sx"; sy: "fp.sy"; sz: "fp.sz"; ta: "fp.ta"; tb: "fp.tb"; tc: "fp.tc"; td: "fp.td"; te: "fp.te"; tf: "fp.tf"; tg: "fp.tg"; th: "fp.th"; ti: "fp.ti"; tj: "fp.tj"; tk: "fp.tk"; tl: "fp.tl"; tm: "fp.tm"; tn: "fp.tn"; to: "fp.to"; tp: "fp.tp"; tq: "fp.tq"; tr: "fp.tr"; ts: "fp.ts"; tt: "fp.tt"; tu: "fp.tu"; tv: "fp.tv"; tw: "fp.tw"; tx: "fp.tx"; ty: "fp.ty"; tz: "fp.tz"; ua: "fp.ua"; ub: "fp.ub"; uc: "fp.uc"; ud: "fp.ud"; ue: "fp.ue"; uf: "fp.uf"; ug: "fp.ug"; uh: "fp.uh"; ui: "fp.ui"; uj: "fp.uj"; uk: "fp.uk"; ul: "fp.ul"; um: "fp.um"; un: "fp.un"; uo: "fp.uo"; up: "fp.up"; uq: "fp.uq"; ur: "fp.ur"; us: "fp.us"; ut: "fp.ut"; uu: "fp.uu"; uv: "fp.uv"; uw: "fp.uw"; ux: "fp.ux"; uy: "fp.uy"; uz: "fp.uz"; va: "fp.va"; vb: "fp.vb"; vc: "fp.vc"; vd: "fp.vd"; ve: "fp.ve"; vf: "fp.vf"; vg: "fp.vg"; vh: "fp.vh"; vi: "fp.vi"; vj: "fp.vj"; vk: "fp.vk"; vl: "fp.vl"; vm: "fp.vm"; vn: "fp.vn"; vo: "fp.vo"; vp: "fp.vp"; vq: "fp.vq"; vr: "fp.vr"; vs: "fp.vs"; vt: "fp.vt"; vu: "fp.vu"; vv: "fp.vv"; vw: "fp.vw"; vx: "fp.vx"; vy: "fp.vy"; vz: "fp.vz"; wa: "fp.wa"; wb: "fp.wb"; wc: "fp.wc"; wd: "fp.wd"; we: "fp.we"; wf: "fp.wf"; wg: "fp.wg"; wh: "fp.wh"; wi: "fp.wi"; wj: "fp.wj"; wk: "fp.wk"; wl: "fp.wl"; wm: "fp.wm"; wn: "fp.wn"; wo: "fp.wo"; wp: "fp.wp"; wq: "fp.wq"; wr: "fp.wr"; ws: "fp.ws"; wt: "fp.wt"; wu: "fp.wu"; wv: "fp.wv"; ww: "fp.ww"; wx: "fp.wx"; wy: "fp.wy"; wz: "fp.wz"; xa: "fp.xa"; xb: "fp.xb"; xc: "fp.xc"; xd: "fp.xd"; xe: "fp.xe"; xf: "fp.xf"; xg: "fp.xg"; xh: "fp.xh"; xi: "fp.xi"; xj: "fp.xj"; xk: "fp.xk"; xl: "fp.xl"; xm: "fp.xm"; xn: "fp.xn"; xo: "fp.xo"; xp: "fp.xp"; xq: "fp.xq"; xr: "fp.xr"; xs: "fp.xs"; xt: "fp.xt"; xu: "fp.xu"; xv: "fp.xv"; xw: "fp.xw"; xx: "fp.xx"; xy: "fp.xy"; xz: "fp.xz"; ya: "fp.ya"; yb: "fp.yb"; yc: "fp.yc"; yd: "fp.yd"; ye: "fp.ye"; yf: "fp.yf"; yg: "fp.yg"; yh: "fp.yh"; yi: "fp.yi"; yj: "fp.yj"; yk: "fp.yk"; yl: "fp.yl"; ym: "fp.ym"; yn: "fp.yn"; yo: "fp.yo"; yp: "fp.yp"; yq: "fp.yq"; yr: "fp.yr"; ys: "fp.ys"; yt: "fp.yt"; yu: "fp.yu"; yv: "fp.yv"; yw: "fp.yw"; yx: "fp.yx"; yy: "fp.yy"; yz: "fp.yz"; za: "fp.za"; zb: "fp.zb"; zc: "fp.zc"; zd: "fp.zd"; ze: "fp.ze"; zf: "fp.zf"; zg: "fp.zg"; zh: "fp.zh"; zi: "fp.zi"; zj: "fp.zj"; zk: "fp.zk"; zl: "fp.zl"; zm: "fp.zm"; zn: "fp.zn"; zo: "fp.zo"; zp: "fp.zp"; zq: "fp.zq"; zr: "fp.zr"; zs: "fp.zs"; zt: "fp.zt"; zu: "fp.zu"; zv: "fp.zv"; zw: "fp.zw"; zx: "fp.zx"; zy: "fp.zy"; zz: "fp.zz"; }; fq: { aa: "fq.aa"; ab: "fq.ab"; ac: "fq.ac"; ad: "fq.ad"; ae: "fq.ae"; af: "fq.af"; ag: "fq.ag"; ah: "fq.ah"; ai: "fq.ai"; aj: "fq.aj"; ak: "fq.ak"; al: "fq.al"; am: "fq.am"; an: "fq.an"; ao: "fq.ao"; ap: "fq.ap"; aq: "fq.aq"; ar: "fq.ar"; as: "fq.as"; at: "fq.at"; au: "fq.au"; av: "fq.av"; aw: "fq.aw"; ax: "fq.ax"; ay: "fq.ay"; az: "fq.az"; ba: "fq.ba"; bb: "fq.bb"; bc: "fq.bc"; bd: "fq.bd"; be: "fq.be"; bf: "fq.bf"; bg: "fq.bg"; bh: "fq.bh"; bi: "fq.bi"; bj: "fq.bj"; bk: "fq.bk"; bl: "fq.bl"; bm: "fq.bm"; bn: "fq.bn"; bo: "fq.bo"; bp: "fq.bp"; bq: "fq.bq"; br: "fq.br"; bs: "fq.bs"; bt: "fq.bt"; bu: "fq.bu"; bv: "fq.bv"; bw: "fq.bw"; bx: "fq.bx"; by: "fq.by"; bz: "fq.bz"; ca: "fq.ca"; cb: "fq.cb"; cc: "fq.cc"; cd: "fq.cd"; ce: "fq.ce"; cf: "fq.cf"; cg: "fq.cg"; ch: "fq.ch"; ci: "fq.ci"; cj: "fq.cj"; ck: "fq.ck"; cl: "fq.cl"; cm: "fq.cm"; cn: "fq.cn"; co: "fq.co"; cp: "fq.cp"; cq: "fq.cq"; cr: "fq.cr"; cs: "fq.cs"; ct: "fq.ct"; cu: "fq.cu"; cv: "fq.cv"; cw: "fq.cw"; cx: "fq.cx"; cy: "fq.cy"; cz: "fq.cz"; da: "fq.da"; db: "fq.db"; dc: "fq.dc"; dd: "fq.dd"; de: "fq.de"; df: "fq.df"; dg: "fq.dg"; dh: "fq.dh"; di: "fq.di"; dj: "fq.dj"; dk: "fq.dk"; dl: "fq.dl"; dm: "fq.dm"; dn: "fq.dn"; do: "fq.do"; dp: "fq.dp"; dq: "fq.dq"; dr: "fq.dr"; ds: "fq.ds"; dt: "fq.dt"; du: "fq.du"; dv: "fq.dv"; dw: "fq.dw"; dx: "fq.dx"; dy: "fq.dy"; dz: "fq.dz"; ea: "fq.ea"; eb: "fq.eb"; ec: "fq.ec"; ed: "fq.ed"; ee: "fq.ee"; ef: "fq.ef"; eg: "fq.eg"; eh: "fq.eh"; ei: "fq.ei"; ej: "fq.ej"; ek: "fq.ek"; el: "fq.el"; em: "fq.em"; en: "fq.en"; eo: "fq.eo"; ep: "fq.ep"; eq: "fq.eq"; er: "fq.er"; es: "fq.es"; et: "fq.et"; eu: "fq.eu"; ev: "fq.ev"; ew: "fq.ew"; ex: "fq.ex"; ey: "fq.ey"; ez: "fq.ez"; fa: "fq.fa"; fb: "fq.fb"; fc: "fq.fc"; fd: "fq.fd"; fe: "fq.fe"; ff: "fq.ff"; fg: "fq.fg"; fh: "fq.fh"; fi: "fq.fi"; fj: "fq.fj"; fk: "fq.fk"; fl: "fq.fl"; fm: "fq.fm"; fn: "fq.fn"; fo: "fq.fo"; fp: "fq.fp"; fq: "fq.fq"; fr: "fq.fr"; fs: "fq.fs"; ft: "fq.ft"; fu: "fq.fu"; fv: "fq.fv"; fw: "fq.fw"; fx: "fq.fx"; fy: "fq.fy"; fz: "fq.fz"; ga: "fq.ga"; gb: "fq.gb"; gc: "fq.gc"; gd: "fq.gd"; ge: "fq.ge"; gf: "fq.gf"; gg: "fq.gg"; gh: "fq.gh"; gi: "fq.gi"; gj: "fq.gj"; gk: "fq.gk"; gl: "fq.gl"; gm: "fq.gm"; gn: "fq.gn"; go: "fq.go"; gp: "fq.gp"; gq: "fq.gq"; gr: "fq.gr"; gs: "fq.gs"; gt: "fq.gt"; gu: "fq.gu"; gv: "fq.gv"; gw: "fq.gw"; gx: "fq.gx"; gy: "fq.gy"; gz: "fq.gz"; ha: "fq.ha"; hb: "fq.hb"; hc: "fq.hc"; hd: "fq.hd"; he: "fq.he"; hf: "fq.hf"; hg: "fq.hg"; hh: "fq.hh"; hi: "fq.hi"; hj: "fq.hj"; hk: "fq.hk"; hl: "fq.hl"; hm: "fq.hm"; hn: "fq.hn"; ho: "fq.ho"; hp: "fq.hp"; hq: "fq.hq"; hr: "fq.hr"; hs: "fq.hs"; ht: "fq.ht"; hu: "fq.hu"; hv: "fq.hv"; hw: "fq.hw"; hx: "fq.hx"; hy: "fq.hy"; hz: "fq.hz"; ia: "fq.ia"; ib: "fq.ib"; ic: "fq.ic"; id: "fq.id"; ie: "fq.ie"; if: "fq.if"; ig: "fq.ig"; ih: "fq.ih"; ii: "fq.ii"; ij: "fq.ij"; ik: "fq.ik"; il: "fq.il"; im: "fq.im"; in: "fq.in"; io: "fq.io"; ip: "fq.ip"; iq: "fq.iq"; ir: "fq.ir"; is: "fq.is"; it: "fq.it"; iu: "fq.iu"; iv: "fq.iv"; iw: "fq.iw"; ix: "fq.ix"; iy: "fq.iy"; iz: "fq.iz"; ja: "fq.ja"; jb: "fq.jb"; jc: "fq.jc"; jd: "fq.jd"; je: "fq.je"; jf: "fq.jf"; jg: "fq.jg"; jh: "fq.jh"; ji: "fq.ji"; jj: "fq.jj"; jk: "fq.jk"; jl: "fq.jl"; jm: "fq.jm"; jn: "fq.jn"; jo: "fq.jo"; jp: "fq.jp"; jq: "fq.jq"; jr: "fq.jr"; js: "fq.js"; jt: "fq.jt"; ju: "fq.ju"; jv: "fq.jv"; jw: "fq.jw"; jx: "fq.jx"; jy: "fq.jy"; jz: "fq.jz"; ka: "fq.ka"; kb: "fq.kb"; kc: "fq.kc"; kd: "fq.kd"; ke: "fq.ke"; kf: "fq.kf"; kg: "fq.kg"; kh: "fq.kh"; ki: "fq.ki"; kj: "fq.kj"; kk: "fq.kk"; kl: "fq.kl"; km: "fq.km"; kn: "fq.kn"; ko: "fq.ko"; kp: "fq.kp"; kq: "fq.kq"; kr: "fq.kr"; ks: "fq.ks"; kt: "fq.kt"; ku: "fq.ku"; kv: "fq.kv"; kw: "fq.kw"; kx: "fq.kx"; ky: "fq.ky"; kz: "fq.kz"; la: "fq.la"; lb: "fq.lb"; lc: "fq.lc"; ld: "fq.ld"; le: "fq.le"; lf: "fq.lf"; lg: "fq.lg"; lh: "fq.lh"; li: "fq.li"; lj: "fq.lj"; lk: "fq.lk"; ll: "fq.ll"; lm: "fq.lm"; ln: "fq.ln"; lo: "fq.lo"; lp: "fq.lp"; lq: "fq.lq"; lr: "fq.lr"; ls: "fq.ls"; lt: "fq.lt"; lu: "fq.lu"; lv: "fq.lv"; lw: "fq.lw"; lx: "fq.lx"; ly: "fq.ly"; lz: "fq.lz"; ma: "fq.ma"; mb: "fq.mb"; mc: "fq.mc"; md: "fq.md"; me: "fq.me"; mf: "fq.mf"; mg: "fq.mg"; mh: "fq.mh"; mi: "fq.mi"; mj: "fq.mj"; mk: "fq.mk"; ml: "fq.ml"; mm: "fq.mm"; mn: "fq.mn"; mo: "fq.mo"; mp: "fq.mp"; mq: "fq.mq"; mr: "fq.mr"; ms: "fq.ms"; mt: "fq.mt"; mu: "fq.mu"; mv: "fq.mv"; mw: "fq.mw"; mx: "fq.mx"; my: "fq.my"; mz: "fq.mz"; na: "fq.na"; nb: "fq.nb"; nc: "fq.nc"; nd: "fq.nd"; ne: "fq.ne"; nf: "fq.nf"; ng: "fq.ng"; nh: "fq.nh"; ni: "fq.ni"; nj: "fq.nj"; nk: "fq.nk"; nl: "fq.nl"; nm: "fq.nm"; nn: "fq.nn"; no: "fq.no"; np: "fq.np"; nq: "fq.nq"; nr: "fq.nr"; ns: "fq.ns"; nt: "fq.nt"; nu: "fq.nu"; nv: "fq.nv"; nw: "fq.nw"; nx: "fq.nx"; ny: "fq.ny"; nz: "fq.nz"; oa: "fq.oa"; ob: "fq.ob"; oc: "fq.oc"; od: "fq.od"; oe: "fq.oe"; of: "fq.of"; og: "fq.og"; oh: "fq.oh"; oi: "fq.oi"; oj: "fq.oj"; ok: "fq.ok"; ol: "fq.ol"; om: "fq.om"; on: "fq.on"; oo: "fq.oo"; op: "fq.op"; oq: "fq.oq"; or: "fq.or"; os: "fq.os"; ot: "fq.ot"; ou: "fq.ou"; ov: "fq.ov"; ow: "fq.ow"; ox: "fq.ox"; oy: "fq.oy"; oz: "fq.oz"; pa: "fq.pa"; pb: "fq.pb"; pc: "fq.pc"; pd: "fq.pd"; pe: "fq.pe"; pf: "fq.pf"; pg: "fq.pg"; ph: "fq.ph"; pi: "fq.pi"; pj: "fq.pj"; pk: "fq.pk"; pl: "fq.pl"; pm: "fq.pm"; pn: "fq.pn"; po: "fq.po"; pp: "fq.pp"; pq: "fq.pq"; pr: "fq.pr"; ps: "fq.ps"; pt: "fq.pt"; pu: "fq.pu"; pv: "fq.pv"; pw: "fq.pw"; px: "fq.px"; py: "fq.py"; pz: "fq.pz"; qa: "fq.qa"; qb: "fq.qb"; qc: "fq.qc"; qd: "fq.qd"; qe: "fq.qe"; qf: "fq.qf"; qg: "fq.qg"; qh: "fq.qh"; qi: "fq.qi"; qj: "fq.qj"; qk: "fq.qk"; ql: "fq.ql"; qm: "fq.qm"; qn: "fq.qn"; qo: "fq.qo"; qp: "fq.qp"; qq: "fq.qq"; qr: "fq.qr"; qs: "fq.qs"; qt: "fq.qt"; qu: "fq.qu"; qv: "fq.qv"; qw: "fq.qw"; qx: "fq.qx"; qy: "fq.qy"; qz: "fq.qz"; ra: "fq.ra"; rb: "fq.rb"; rc: "fq.rc"; rd: "fq.rd"; re: "fq.re"; rf: "fq.rf"; rg: "fq.rg"; rh: "fq.rh"; ri: "fq.ri"; rj: "fq.rj"; rk: "fq.rk"; rl: "fq.rl"; rm: "fq.rm"; rn: "fq.rn"; ro: "fq.ro"; rp: "fq.rp"; rq: "fq.rq"; rr: "fq.rr"; rs: "fq.rs"; rt: "fq.rt"; ru: "fq.ru"; rv: "fq.rv"; rw: "fq.rw"; rx: "fq.rx"; ry: "fq.ry"; rz: "fq.rz"; sa: "fq.sa"; sb: "fq.sb"; sc: "fq.sc"; sd: "fq.sd"; se: "fq.se"; sf: "fq.sf"; sg: "fq.sg"; sh: "fq.sh"; si: "fq.si"; sj: "fq.sj"; sk: "fq.sk"; sl: "fq.sl"; sm: "fq.sm"; sn: "fq.sn"; so: "fq.so"; sp: "fq.sp"; sq: "fq.sq"; sr: "fq.sr"; ss: "fq.ss"; st: "fq.st"; su: "fq.su"; sv: "fq.sv"; sw: "fq.sw"; sx: "fq.sx"; sy: "fq.sy"; sz: "fq.sz"; ta: "fq.ta"; tb: "fq.tb"; tc: "fq.tc"; td: "fq.td"; te: "fq.te"; tf: "fq.tf"; tg: "fq.tg"; th: "fq.th"; ti: "fq.ti"; tj: "fq.tj"; tk: "fq.tk"; tl: "fq.tl"; tm: "fq.tm"; tn: "fq.tn"; to: "fq.to"; tp: "fq.tp"; tq: "fq.tq"; tr: "fq.tr"; ts: "fq.ts"; tt: "fq.tt"; tu: "fq.tu"; tv: "fq.tv"; tw: "fq.tw"; tx: "fq.tx"; ty: "fq.ty"; tz: "fq.tz"; ua: "fq.ua"; ub: "fq.ub"; uc: "fq.uc"; ud: "fq.ud"; ue: "fq.ue"; uf: "fq.uf"; ug: "fq.ug"; uh: "fq.uh"; ui: "fq.ui"; uj: "fq.uj"; uk: "fq.uk"; ul: "fq.ul"; um: "fq.um"; un: "fq.un"; uo: "fq.uo"; up: "fq.up"; uq: "fq.uq"; ur: "fq.ur"; us: "fq.us"; ut: "fq.ut"; uu: "fq.uu"; uv: "fq.uv"; uw: "fq.uw"; ux: "fq.ux"; uy: "fq.uy"; uz: "fq.uz"; va: "fq.va"; vb: "fq.vb"; vc: "fq.vc"; vd: "fq.vd"; ve: "fq.ve"; vf: "fq.vf"; vg: "fq.vg"; vh: "fq.vh"; vi: "fq.vi"; vj: "fq.vj"; vk: "fq.vk"; vl: "fq.vl"; vm: "fq.vm"; vn: "fq.vn"; vo: "fq.vo"; vp: "fq.vp"; vq: "fq.vq"; vr: "fq.vr"; vs: "fq.vs"; vt: "fq.vt"; vu: "fq.vu"; vv: "fq.vv"; vw: "fq.vw"; vx: "fq.vx"; vy: "fq.vy"; vz: "fq.vz"; wa: "fq.wa"; wb: "fq.wb"; wc: "fq.wc"; wd: "fq.wd"; we: "fq.we"; wf: "fq.wf"; wg: "fq.wg"; wh: "fq.wh"; wi: "fq.wi"; wj: "fq.wj"; wk: "fq.wk"; wl: "fq.wl"; wm: "fq.wm"; wn: "fq.wn"; wo: "fq.wo"; wp: "fq.wp"; wq: "fq.wq"; wr: "fq.wr"; ws: "fq.ws"; wt: "fq.wt"; wu: "fq.wu"; wv: "fq.wv"; ww: "fq.ww"; wx: "fq.wx"; wy: "fq.wy"; wz: "fq.wz"; xa: "fq.xa"; xb: "fq.xb"; xc: "fq.xc"; xd: "fq.xd"; xe: "fq.xe"; xf: "fq.xf"; xg: "fq.xg"; xh: "fq.xh"; xi: "fq.xi"; xj: "fq.xj"; xk: "fq.xk"; xl: "fq.xl"; xm: "fq.xm"; xn: "fq.xn"; xo: "fq.xo"; xp: "fq.xp"; xq: "fq.xq"; xr: "fq.xr"; xs: "fq.xs"; xt: "fq.xt"; xu: "fq.xu"; xv: "fq.xv"; xw: "fq.xw"; xx: "fq.xx"; xy: "fq.xy"; xz: "fq.xz"; ya: "fq.ya"; yb: "fq.yb"; yc: "fq.yc"; yd: "fq.yd"; ye: "fq.ye"; yf: "fq.yf"; yg: "fq.yg"; yh: "fq.yh"; yi: "fq.yi"; yj: "fq.yj"; yk: "fq.yk"; yl: "fq.yl"; ym: "fq.ym"; yn: "fq.yn"; yo: "fq.yo"; yp: "fq.yp"; yq: "fq.yq"; yr: "fq.yr"; ys: "fq.ys"; yt: "fq.yt"; yu: "fq.yu"; yv: "fq.yv"; yw: "fq.yw"; yx: "fq.yx"; yy: "fq.yy"; yz: "fq.yz"; za: "fq.za"; zb: "fq.zb"; zc: "fq.zc"; zd: "fq.zd"; ze: "fq.ze"; zf: "fq.zf"; zg: "fq.zg"; zh: "fq.zh"; zi: "fq.zi"; zj: "fq.zj"; zk: "fq.zk"; zl: "fq.zl"; zm: "fq.zm"; zn: "fq.zn"; zo: "fq.zo"; zp: "fq.zp"; zq: "fq.zq"; zr: "fq.zr"; zs: "fq.zs"; zt: "fq.zt"; zu: "fq.zu"; zv: "fq.zv"; zw: "fq.zw"; zx: "fq.zx"; zy: "fq.zy"; zz: "fq.zz"; }; fr: { aa: "fr.aa"; ab: "fr.ab"; ac: "fr.ac"; ad: "fr.ad"; ae: "fr.ae"; af: "fr.af"; ag: "fr.ag"; ah: "fr.ah"; ai: "fr.ai"; aj: "fr.aj"; ak: "fr.ak"; al: "fr.al"; am: "fr.am"; an: "fr.an"; ao: "fr.ao"; ap: "fr.ap"; aq: "fr.aq"; ar: "fr.ar"; as: "fr.as"; at: "fr.at"; au: "fr.au"; av: "fr.av"; aw: "fr.aw"; ax: "fr.ax"; ay: "fr.ay"; az: "fr.az"; ba: "fr.ba"; bb: "fr.bb"; bc: "fr.bc"; bd: "fr.bd"; be: "fr.be"; bf: "fr.bf"; bg: "fr.bg"; bh: "fr.bh"; bi: "fr.bi"; bj: "fr.bj"; bk: "fr.bk"; bl: "fr.bl"; bm: "fr.bm"; bn: "fr.bn"; bo: "fr.bo"; bp: "fr.bp"; bq: "fr.bq"; br: "fr.br"; bs: "fr.bs"; bt: "fr.bt"; bu: "fr.bu"; bv: "fr.bv"; bw: "fr.bw"; bx: "fr.bx"; by: "fr.by"; bz: "fr.bz"; ca: "fr.ca"; cb: "fr.cb"; cc: "fr.cc"; cd: "fr.cd"; ce: "fr.ce"; cf: "fr.cf"; cg: "fr.cg"; ch: "fr.ch"; ci: "fr.ci"; cj: "fr.cj"; ck: "fr.ck"; cl: "fr.cl"; cm: "fr.cm"; cn: "fr.cn"; co: "fr.co"; cp: "fr.cp"; cq: "fr.cq"; cr: "fr.cr"; cs: "fr.cs"; ct: "fr.ct"; cu: "fr.cu"; cv: "fr.cv"; cw: "fr.cw"; cx: "fr.cx"; cy: "fr.cy"; cz: "fr.cz"; da: "fr.da"; db: "fr.db"; dc: "fr.dc"; dd: "fr.dd"; de: "fr.de"; df: "fr.df"; dg: "fr.dg"; dh: "fr.dh"; di: "fr.di"; dj: "fr.dj"; dk: "fr.dk"; dl: "fr.dl"; dm: "fr.dm"; dn: "fr.dn"; do: "fr.do"; dp: "fr.dp"; dq: "fr.dq"; dr: "fr.dr"; ds: "fr.ds"; dt: "fr.dt"; du: "fr.du"; dv: "fr.dv"; dw: "fr.dw"; dx: "fr.dx"; dy: "fr.dy"; dz: "fr.dz"; ea: "fr.ea"; eb: "fr.eb"; ec: "fr.ec"; ed: "fr.ed"; ee: "fr.ee"; ef: "fr.ef"; eg: "fr.eg"; eh: "fr.eh"; ei: "fr.ei"; ej: "fr.ej"; ek: "fr.ek"; el: "fr.el"; em: "fr.em"; en: "fr.en"; eo: "fr.eo"; ep: "fr.ep"; eq: "fr.eq"; er: "fr.er"; es: "fr.es"; et: "fr.et"; eu: "fr.eu"; ev: "fr.ev"; ew: "fr.ew"; ex: "fr.ex"; ey: "fr.ey"; ez: "fr.ez"; fa: "fr.fa"; fb: "fr.fb"; fc: "fr.fc"; fd: "fr.fd"; fe: "fr.fe"; ff: "fr.ff"; fg: "fr.fg"; fh: "fr.fh"; fi: "fr.fi"; fj: "fr.fj"; fk: "fr.fk"; fl: "fr.fl"; fm: "fr.fm"; fn: "fr.fn"; fo: "fr.fo"; fp: "fr.fp"; fq: "fr.fq"; fr: "fr.fr"; fs: "fr.fs"; ft: "fr.ft"; fu: "fr.fu"; fv: "fr.fv"; fw: "fr.fw"; fx: "fr.fx"; fy: "fr.fy"; fz: "fr.fz"; ga: "fr.ga"; gb: "fr.gb"; gc: "fr.gc"; gd: "fr.gd"; ge: "fr.ge"; gf: "fr.gf"; gg: "fr.gg"; gh: "fr.gh"; gi: "fr.gi"; gj: "fr.gj"; gk: "fr.gk"; gl: "fr.gl"; gm: "fr.gm"; gn: "fr.gn"; go: "fr.go"; gp: "fr.gp"; gq: "fr.gq"; gr: "fr.gr"; gs: "fr.gs"; gt: "fr.gt"; gu: "fr.gu"; gv: "fr.gv"; gw: "fr.gw"; gx: "fr.gx"; gy: "fr.gy"; gz: "fr.gz"; ha: "fr.ha"; hb: "fr.hb"; hc: "fr.hc"; hd: "fr.hd"; he: "fr.he"; hf: "fr.hf"; hg: "fr.hg"; hh: "fr.hh"; hi: "fr.hi"; hj: "fr.hj"; hk: "fr.hk"; hl: "fr.hl"; hm: "fr.hm"; hn: "fr.hn"; ho: "fr.ho"; hp: "fr.hp"; hq: "fr.hq"; hr: "fr.hr"; hs: "fr.hs"; ht: "fr.ht"; hu: "fr.hu"; hv: "fr.hv"; hw: "fr.hw"; hx: "fr.hx"; hy: "fr.hy"; hz: "fr.hz"; ia: "fr.ia"; ib: "fr.ib"; ic: "fr.ic"; id: "fr.id"; ie: "fr.ie"; if: "fr.if"; ig: "fr.ig"; ih: "fr.ih"; ii: "fr.ii"; ij: "fr.ij"; ik: "fr.ik"; il: "fr.il"; im: "fr.im"; in: "fr.in"; io: "fr.io"; ip: "fr.ip"; iq: "fr.iq"; ir: "fr.ir"; is: "fr.is"; it: "fr.it"; iu: "fr.iu"; iv: "fr.iv"; iw: "fr.iw"; ix: "fr.ix"; iy: "fr.iy"; iz: "fr.iz"; ja: "fr.ja"; jb: "fr.jb"; jc: "fr.jc"; jd: "fr.jd"; je: "fr.je"; jf: "fr.jf"; jg: "fr.jg"; jh: "fr.jh"; ji: "fr.ji"; jj: "fr.jj"; jk: "fr.jk"; jl: "fr.jl"; jm: "fr.jm"; jn: "fr.jn"; jo: "fr.jo"; jp: "fr.jp"; jq: "fr.jq"; jr: "fr.jr"; js: "fr.js"; jt: "fr.jt"; ju: "fr.ju"; jv: "fr.jv"; jw: "fr.jw"; jx: "fr.jx"; jy: "fr.jy"; jz: "fr.jz"; ka: "fr.ka"; kb: "fr.kb"; kc: "fr.kc"; kd: "fr.kd"; ke: "fr.ke"; kf: "fr.kf"; kg: "fr.kg"; kh: "fr.kh"; ki: "fr.ki"; kj: "fr.kj"; kk: "fr.kk"; kl: "fr.kl"; km: "fr.km"; kn: "fr.kn"; ko: "fr.ko"; kp: "fr.kp"; kq: "fr.kq"; kr: "fr.kr"; ks: "fr.ks"; kt: "fr.kt"; ku: "fr.ku"; kv: "fr.kv"; kw: "fr.kw"; kx: "fr.kx"; ky: "fr.ky"; kz: "fr.kz"; la: "fr.la"; lb: "fr.lb"; lc: "fr.lc"; ld: "fr.ld"; le: "fr.le"; lf: "fr.lf"; lg: "fr.lg"; lh: "fr.lh"; li: "fr.li"; lj: "fr.lj"; lk: "fr.lk"; ll: "fr.ll"; lm: "fr.lm"; ln: "fr.ln"; lo: "fr.lo"; lp: "fr.lp"; lq: "fr.lq"; lr: "fr.lr"; ls: "fr.ls"; lt: "fr.lt"; lu: "fr.lu"; lv: "fr.lv"; lw: "fr.lw"; lx: "fr.lx"; ly: "fr.ly"; lz: "fr.lz"; ma: "fr.ma"; mb: "fr.mb"; mc: "fr.mc"; md: "fr.md"; me: "fr.me"; mf: "fr.mf"; mg: "fr.mg"; mh: "fr.mh"; mi: "fr.mi"; mj: "fr.mj"; mk: "fr.mk"; ml: "fr.ml"; mm: "fr.mm"; mn: "fr.mn"; mo: "fr.mo"; mp: "fr.mp"; mq: "fr.mq"; mr: "fr.mr"; ms: "fr.ms"; mt: "fr.mt"; mu: "fr.mu"; mv: "fr.mv"; mw: "fr.mw"; mx: "fr.mx"; my: "fr.my"; mz: "fr.mz"; na: "fr.na"; nb: "fr.nb"; nc: "fr.nc"; nd: "fr.nd"; ne: "fr.ne"; nf: "fr.nf"; ng: "fr.ng"; nh: "fr.nh"; ni: "fr.ni"; nj: "fr.nj"; nk: "fr.nk"; nl: "fr.nl"; nm: "fr.nm"; nn: "fr.nn"; no: "fr.no"; np: "fr.np"; nq: "fr.nq"; nr: "fr.nr"; ns: "fr.ns"; nt: "fr.nt"; nu: "fr.nu"; nv: "fr.nv"; nw: "fr.nw"; nx: "fr.nx"; ny: "fr.ny"; nz: "fr.nz"; oa: "fr.oa"; ob: "fr.ob"; oc: "fr.oc"; od: "fr.od"; oe: "fr.oe"; of: "fr.of"; og: "fr.og"; oh: "fr.oh"; oi: "fr.oi"; oj: "fr.oj"; ok: "fr.ok"; ol: "fr.ol"; om: "fr.om"; on: "fr.on"; oo: "fr.oo"; op: "fr.op"; oq: "fr.oq"; or: "fr.or"; os: "fr.os"; ot: "fr.ot"; ou: "fr.ou"; ov: "fr.ov"; ow: "fr.ow"; ox: "fr.ox"; oy: "fr.oy"; oz: "fr.oz"; pa: "fr.pa"; pb: "fr.pb"; pc: "fr.pc"; pd: "fr.pd"; pe: "fr.pe"; pf: "fr.pf"; pg: "fr.pg"; ph: "fr.ph"; pi: "fr.pi"; pj: "fr.pj"; pk: "fr.pk"; pl: "fr.pl"; pm: "fr.pm"; pn: "fr.pn"; po: "fr.po"; pp: "fr.pp"; pq: "fr.pq"; pr: "fr.pr"; ps: "fr.ps"; pt: "fr.pt"; pu: "fr.pu"; pv: "fr.pv"; pw: "fr.pw"; px: "fr.px"; py: "fr.py"; pz: "fr.pz"; qa: "fr.qa"; qb: "fr.qb"; qc: "fr.qc"; qd: "fr.qd"; qe: "fr.qe"; qf: "fr.qf"; qg: "fr.qg"; qh: "fr.qh"; qi: "fr.qi"; qj: "fr.qj"; qk: "fr.qk"; ql: "fr.ql"; qm: "fr.qm"; qn: "fr.qn"; qo: "fr.qo"; qp: "fr.qp"; qq: "fr.qq"; qr: "fr.qr"; qs: "fr.qs"; qt: "fr.qt"; qu: "fr.qu"; qv: "fr.qv"; qw: "fr.qw"; qx: "fr.qx"; qy: "fr.qy"; qz: "fr.qz"; ra: "fr.ra"; rb: "fr.rb"; rc: "fr.rc"; rd: "fr.rd"; re: "fr.re"; rf: "fr.rf"; rg: "fr.rg"; rh: "fr.rh"; ri: "fr.ri"; rj: "fr.rj"; rk: "fr.rk"; rl: "fr.rl"; rm: "fr.rm"; rn: "fr.rn"; ro: "fr.ro"; rp: "fr.rp"; rq: "fr.rq"; rr: "fr.rr"; rs: "fr.rs"; rt: "fr.rt"; ru: "fr.ru"; rv: "fr.rv"; rw: "fr.rw"; rx: "fr.rx"; ry: "fr.ry"; rz: "fr.rz"; sa: "fr.sa"; sb: "fr.sb"; sc: "fr.sc"; sd: "fr.sd"; se: "fr.se"; sf: "fr.sf"; sg: "fr.sg"; sh: "fr.sh"; si: "fr.si"; sj: "fr.sj"; sk: "fr.sk"; sl: "fr.sl"; sm: "fr.sm"; sn: "fr.sn"; so: "fr.so"; sp: "fr.sp"; sq: "fr.sq"; sr: "fr.sr"; ss: "fr.ss"; st: "fr.st"; su: "fr.su"; sv: "fr.sv"; sw: "fr.sw"; sx: "fr.sx"; sy: "fr.sy"; sz: "fr.sz"; ta: "fr.ta"; tb: "fr.tb"; tc: "fr.tc"; td: "fr.td"; te: "fr.te"; tf: "fr.tf"; tg: "fr.tg"; th: "fr.th"; ti: "fr.ti"; tj: "fr.tj"; tk: "fr.tk"; tl: "fr.tl"; tm: "fr.tm"; tn: "fr.tn"; to: "fr.to"; tp: "fr.tp"; tq: "fr.tq"; tr: "fr.tr"; ts: "fr.ts"; tt: "fr.tt"; tu: "fr.tu"; tv: "fr.tv"; tw: "fr.tw"; tx: "fr.tx"; ty: "fr.ty"; tz: "fr.tz"; ua: "fr.ua"; ub: "fr.ub"; uc: "fr.uc"; ud: "fr.ud"; ue: "fr.ue"; uf: "fr.uf"; ug: "fr.ug"; uh: "fr.uh"; ui: "fr.ui"; uj: "fr.uj"; uk: "fr.uk"; ul: "fr.ul"; um: "fr.um"; un: "fr.un"; uo: "fr.uo"; up: "fr.up"; uq: "fr.uq"; ur: "fr.ur"; us: "fr.us"; ut: "fr.ut"; uu: "fr.uu"; uv: "fr.uv"; uw: "fr.uw"; ux: "fr.ux"; uy: "fr.uy"; uz: "fr.uz"; va: "fr.va"; vb: "fr.vb"; vc: "fr.vc"; vd: "fr.vd"; ve: "fr.ve"; vf: "fr.vf"; vg: "fr.vg"; vh: "fr.vh"; vi: "fr.vi"; ... 120 more ...; zz: "fr.zz"; }; ... 527 more ...; zz: { ...; }; } >null as any : any >null : null +>0 : 0 diff --git a/tests/baselines/reference/identityRelationNeverTypes.types b/tests/baselines/reference/identityRelationNeverTypes.types index d94a3794c7..2d53b48f98 100644 --- a/tests/baselines/reference/identityRelationNeverTypes.types +++ b/tests/baselines/reference/identityRelationNeverTypes.types @@ -22,7 +22,7 @@ declare class State { } function f1(state: State<{ foo: number }>) { ->f1 : (state: State<{ foo: number;}>) => void +>f1 : (state: State<{ foo: number; }>) => void >state : State<{ foo: number; }> >foo : number diff --git a/tests/baselines/reference/illegalGenericWrapping1.types b/tests/baselines/reference/illegalGenericWrapping1.types index a50b39bcaa..d98c5ea45a 100644 --- a/tests/baselines/reference/illegalGenericWrapping1.types +++ b/tests/baselines/reference/illegalGenericWrapping1.types @@ -16,7 +16,7 @@ interface Sequence { >value : T groupBy(keySelector: (value: T) => K): Sequence<{ key: K; items: Sequence; }>; ->groupBy : (keySelector: (value: T) => K) => Sequence<{ key: K; items: Sequence;}> +>groupBy : (keySelector: (value: T) => K) => Sequence<{ key: K; items: Sequence; }> >keySelector : (value: T) => K >value : T >key : K diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types index 3ecd3d7788..50b339492b 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types @@ -36,7 +36,7 @@ function testFunctionExprC2(eq: (v1: any, v2: any) => number) { }; >v2 : any function testObjLiteral(objLit: { v: any; w: any }) { }; ->testObjLiteral : (objLit: { v: any; w: any;}) => void +>testObjLiteral : (objLit: { v: any; w: any; }) => void >objLit : { v: any; w: any; } >v : any >w : any diff --git a/tests/baselines/reference/implicitConstParameters.types b/tests/baselines/reference/implicitConstParameters.types index f0729e4563..c1727c0e23 100644 --- a/tests/baselines/reference/implicitConstParameters.types +++ b/tests/baselines/reference/implicitConstParameters.types @@ -23,9 +23,9 @@ function fn(x: number | string) { >doSomething : (cb: () => void) => void >() => x.toFixed() : () => string >x.toFixed() : string ->x.toFixed : (fractionDigits?: number | undefined) => string +>x.toFixed : (fractionDigits?: number) => string >x : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } } diff --git a/tests/baselines/reference/importDeclFromTypeNodeInJsSource.js b/tests/baselines/reference/importDeclFromTypeNodeInJsSource.js index 5140222d00..a2819c731f 100644 --- a/tests/baselines/reference/importDeclFromTypeNodeInJsSource.js +++ b/tests/baselines/reference/importDeclFromTypeNodeInJsSource.js @@ -77,7 +77,7 @@ export class Foo3 extends d { } export class Foo4 extends c { } -import { EventEmitter } from "events"; -import { n3 } from "nestNamespaceModule"; -import { d } from "nestNamespaceModule"; -import { c } from "renameModule"; +import { EventEmitter } from 'events'; +import { n3 } from 'nestNamespaceModule'; +import { d } from 'nestNamespaceModule'; +import { c } from 'renameModule'; diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).types b/tests/baselines/reference/inKeywordTypeguard(strict=false).types index 7102067126..5d54990ba9 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).types @@ -299,7 +299,7 @@ class UnreachableCodeDetection { } function positiveIntersectionTest(x: { a: string } & { b: string }) { ->positiveIntersectionTest : (x: { a: string;} & { b: string;}) => void +>positiveIntersectionTest : (x: { a: string; } & { b: string; }) => void >x : { a: string; } & { b: string; } >a : string >b : string @@ -340,7 +340,7 @@ if ('extra' in error) { } function narrowsToNever(x: { l: number } | { r: number }) { ->narrowsToNever : (x: { l: number;} | { r: number;}) => number +>narrowsToNever : (x: { l: number; } | { r: number; }) => number >x : { l: number; } | { r: number; } >l : number >r : number @@ -657,7 +657,7 @@ function f3(x: T) { } function f4(x: { a: string }) { ->f4 : (x: { a: string;}) => void +>f4 : (x: { a: string; }) => void >x : { a: string; } >a : string @@ -702,7 +702,7 @@ function f4(x: { a: string }) { } function f5(x: { a: string } | { b: string }) { ->f5 : (x: { a: string;} | { b: string;}) => void +>f5 : (x: { a: string; } | { b: string; }) => void >x : { a: string; } | { b: string; } >a : string >b : string @@ -730,7 +730,7 @@ function f5(x: { a: string } | { b: string }) { } function f6(x: { a: string } | { b: string }) { ->f6 : (x: { a: string;} | { b: string;}) => void +>f6 : (x: { a: string; } | { b: string; }) => void >x : { a: string; } | { b: string; } >a : string >b : string @@ -760,7 +760,7 @@ function f6(x: { a: string } | { b: string }) { // Object and corresponding intersection should narrow the same function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { ->f7 : (x: { a: string; b: number;}, y: { a: string;} & { b: number;}) => void +>f7 : (x: { a: string; b: number; }, y: { a: string; } & { b: number; }) => void >x : { a: string; b: number; } >a : string >b : number @@ -888,7 +888,7 @@ function f9(x: object) { } function f10(x: { a: unknown }) { ->f10 : (x: { a: unknown;}) => void +>f10 : (x: { a: unknown; }) => void >x : { a: unknown; } >a : unknown @@ -907,7 +907,7 @@ function f10(x: { a: unknown }) { } function f11(x: { a: any }) { ->f11 : (x: { a: any;}) => void +>f11 : (x: { a: any; }) => void >x : { a: any; } >a : any @@ -926,7 +926,7 @@ function f11(x: { a: any }) { } function f12(x: { a: string }) { ->f12 : (x: { a: string;}) => void +>f12 : (x: { a: string; }) => void >x : { a: string; } >a : string @@ -945,7 +945,7 @@ function f12(x: { a: string }) { } function f13(x: { a?: string }) { ->f13 : (x: { a?: string;}) => void +>f13 : (x: { a?: string; }) => void >x : { a?: string; } >a : string @@ -964,7 +964,7 @@ function f13(x: { a?: string }) { } function f14(x: { a: string | undefined }) { ->f14 : (x: { a: string | undefined;}) => void +>f14 : (x: { a: string | undefined; }) => void >x : { a: string | undefined; } >a : string @@ -983,7 +983,7 @@ function f14(x: { a: string | undefined }) { } function f15(x: { a?: string | undefined }) { ->f15 : (x: { a?: string | undefined;}) => void +>f15 : (x: { a?: string | undefined; }) => void >x : { a?: string | undefined; } >a : string diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).types b/tests/baselines/reference/inKeywordTypeguard(strict=true).types index 86da8b3e86..64e3a27055 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).types @@ -299,7 +299,7 @@ class UnreachableCodeDetection { } function positiveIntersectionTest(x: { a: string } & { b: string }) { ->positiveIntersectionTest : (x: { a: string;} & { b: string;}) => void +>positiveIntersectionTest : (x: { a: string; } & { b: string; }) => void >x : { a: string; } & { b: string; } >a : string >b : string @@ -340,7 +340,7 @@ if ('extra' in error) { } function narrowsToNever(x: { l: number } | { r: number }) { ->narrowsToNever : (x: { l: number;} | { r: number;}) => number +>narrowsToNever : (x: { l: number; } | { r: number; }) => number >x : { l: number; } | { r: number; } >l : number >r : number @@ -657,7 +657,7 @@ function f3(x: T) { } function f4(x: { a: string }) { ->f4 : (x: { a: string;}) => void +>f4 : (x: { a: string; }) => void >x : { a: string; } >a : string @@ -702,7 +702,7 @@ function f4(x: { a: string }) { } function f5(x: { a: string } | { b: string }) { ->f5 : (x: { a: string;} | { b: string;}) => void +>f5 : (x: { a: string; } | { b: string; }) => void >x : { a: string; } | { b: string; } >a : string >b : string @@ -730,7 +730,7 @@ function f5(x: { a: string } | { b: string }) { } function f6(x: { a: string } | { b: string }) { ->f6 : (x: { a: string;} | { b: string;}) => void +>f6 : (x: { a: string; } | { b: string; }) => void >x : { a: string; } | { b: string; } >a : string >b : string @@ -760,7 +760,7 @@ function f6(x: { a: string } | { b: string }) { // Object and corresponding intersection should narrow the same function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { ->f7 : (x: { a: string; b: number;}, y: { a: string;} & { b: number;}) => void +>f7 : (x: { a: string; b: number; }, y: { a: string; } & { b: number; }) => void >x : { a: string; b: number; } >a : string >b : number @@ -888,7 +888,7 @@ function f9(x: object) { } function f10(x: { a: unknown }) { ->f10 : (x: { a: unknown;}) => void +>f10 : (x: { a: unknown; }) => void >x : { a: unknown; } >a : unknown @@ -907,7 +907,7 @@ function f10(x: { a: unknown }) { } function f11(x: { a: any }) { ->f11 : (x: { a: any;}) => void +>f11 : (x: { a: any; }) => void >x : { a: any; } >a : any @@ -926,7 +926,7 @@ function f11(x: { a: any }) { } function f12(x: { a: string }) { ->f12 : (x: { a: string;}) => void +>f12 : (x: { a: string; }) => void >x : { a: string; } >a : string @@ -945,8 +945,8 @@ function f12(x: { a: string }) { } function f13(x: { a?: string }) { ->f13 : (x: { a?: string;}) => void ->x : { a?: string | undefined; } +>f13 : (x: { a?: string; }) => void +>x : { a?: string; } >a : string | undefined if ("a" in x) { @@ -964,7 +964,7 @@ function f13(x: { a?: string }) { } function f14(x: { a: string | undefined }) { ->f14 : (x: { a: string | undefined;}) => void +>f14 : (x: { a: string | undefined; }) => void >x : { a: string | undefined; } >a : string | undefined @@ -983,7 +983,7 @@ function f14(x: { a: string | undefined }) { } function f15(x: { a?: string | undefined }) { ->f15 : (x: { a?: string | undefined;}) => void +>f15 : (x: { a?: string | undefined; }) => void >x : { a?: string | undefined; } >a : string | undefined diff --git a/tests/baselines/reference/incompatibleTypes.types b/tests/baselines/reference/incompatibleTypes.types index 9acf331d35..e5ab878a9e 100644 --- a/tests/baselines/reference/incompatibleTypes.types +++ b/tests/baselines/reference/incompatibleTypes.types @@ -47,7 +47,7 @@ class C3 implements IFoo3 { // incompatible on the property type interface IFoo4 { p1: { a: { a: string; }; b: string; }; ->p1 : { a: { a: string;}; b: string; } +>p1 : { a: { a: string; }; b: string; } >a : { a: string; } >a : string >b : string @@ -57,7 +57,7 @@ class C4 implements IFoo4 { // incompatible on the property type >C4 : C4 public p1: { c: { b: string; }; d: string; }; ->p1 : { c: { b: string;}; d: string; } +>p1 : { c: { b: string; }; d: string; } >c : { b: string; } >b : string >d : string @@ -88,15 +88,15 @@ if1(c1); function of1(n: { a: { a: string; }; b: string; }): number; ->of1 : { (n: { a: { a: string; }; b: string;}): number; (s: { c: { b: string; }; d: string; }): string; } ->n : { a: { a: string;}; b: string; } +>of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } +>n : { a: { a: string; }; b: string; } >a : { a: string; } >a : string >b : string function of1(s: { c: { b: string; }; d: string; }): string; ->of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string;}): string; } ->s : { c: { b: string;}; d: string; } +>of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } +>s : { c: { b: string; }; d: string; } >c : { b: string; } >b : string >d : string @@ -146,7 +146,7 @@ function bar() { } var o1: { a: { a: string; }; b: string; } = { e: 0, f: 0 }; ->o1 : { a: { a: string;}; b: string; } +>o1 : { a: { a: string; }; b: string; } >a : { a: string; } >a : string >b : string diff --git a/tests/baselines/reference/independentPropertyVariance.types b/tests/baselines/reference/independentPropertyVariance.types index 294980f345..d2808166e0 100644 --- a/tests/baselines/reference/independentPropertyVariance.types +++ b/tests/baselines/reference/independentPropertyVariance.types @@ -7,7 +7,7 @@ declare const x: { a: 1, b: string }; >b : string declare const y: { a: number, b: 'a' }; ->y : { a: number; b: 'a'; } +>y : { a: number; b: "a"; } >a : number >b : "a" diff --git a/tests/baselines/reference/indexSignatureInOtherFile.types b/tests/baselines/reference/indexSignatureInOtherFile.types index 0492daf3d8..32cbbba484 100644 --- a/tests/baselines/reference/indexSignatureInOtherFile.types +++ b/tests/baselines/reference/indexSignatureInOtherFile.types @@ -40,7 +40,7 @@ interface Array1 { * when they will be absent when used in a 'with' statement. */ [Symbol.unscopables](): { ->[Symbol.unscopables] : () => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean;} +>[Symbol.unscopables] : () => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; } >Symbol.unscopables : unique symbol >Symbol : SymbolConstructor >unscopables : unique symbol diff --git a/tests/baselines/reference/indexSignatureInOtherFile1.types b/tests/baselines/reference/indexSignatureInOtherFile1.types index 07eac7a919..040efafc66 100644 --- a/tests/baselines/reference/indexSignatureInOtherFile1.types +++ b/tests/baselines/reference/indexSignatureInOtherFile1.types @@ -31,7 +31,7 @@ interface Array1 { * when they will be absent when used in a 'with' statement. */ [Symbol.unscopables](): { ->[Symbol.unscopables] : () => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean;} +>[Symbol.unscopables] : () => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; } >Symbol.unscopables : unique symbol >Symbol : SymbolConstructor >unscopables : unique symbol diff --git a/tests/baselines/reference/indexSignatures1.js b/tests/baselines/reference/indexSignatures1.js index c2bc8e9d71..4893307482 100644 --- a/tests/baselines/reference/indexSignatures1.js +++ b/tests/baselines/reference/indexSignatures1.js @@ -678,3 +678,21 @@ type Rec1 = { type Rec2 = Record; type K1 = keyof Rec1; type K2 = keyof Rec2; + + +!!!! File tests/cases/conformance/types/members/indexSignatures1.d.ts differs from original emit in noCheck emit +//// [indexSignatures1.d.ts] +=================================================================== +--- Expected The full check baseline ++++ Actual with noCheck set +@@ -118,9 +118,9 @@ + [x: symbol]: 4 | 5; + [sym]: 4; + }; + declare const obj13: { +- [x: string]: 0 | 2 | 1 | 3; ++ [x: string]: 0 | 1 | 2 | 3; + [x: number]: 2 | 3; + [x: symbol]: 4 | 5; + x: 0; + 1: 2; diff --git a/tests/baselines/reference/indexSignatures1.types b/tests/baselines/reference/indexSignatures1.types index a114c1cf33..3eac073c26 100644 --- a/tests/baselines/reference/indexSignatures1.types +++ b/tests/baselines/reference/indexSignatures1.types @@ -7,7 +7,7 @@ const sym = Symbol(); >Symbol : SymbolConstructor function gg3(x: { [key: string]: string }, y: { [key: symbol]: string }, z: { [sym]: number }) { ->gg3 : (x: { [key: string]: string; }, y: { [key: symbol]: string; }, z: { [sym]: number;}) => void +>gg3 : (x: { [key: string]: string; }, y: { [key: symbol]: string; }, z: { [sym]: number; }) => void >x : { [key: string]: string; } >key : string >y : { [key: symbol]: string; } @@ -847,8 +847,8 @@ const directive = Symbol('directive'); >'directive' : "directive" declare function foo(options: { [x in string]: (arg: TArg) => TRet } & { [directive]?: TDir }): void; ->foo : (options: { [x: string]: (arg: TArg) => TRet; } & { [directive]?: TDir | undefined; }) => void ->options : { [x: string]: (arg: TArg) => TRet; } & { [directive]?: TDir | undefined; } +>foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void +>options : { [x: string]: (arg: TArg) => TRet; } & { [directive]?: TDir; } >arg : TArg >[directive] : TDir | undefined >directive : unique symbol @@ -856,7 +856,7 @@ declare function foo(options: { [x in string]: (arg: TArg) => let case1 = foo({ >case1 : void >foo({ [directive]: (x: string) => 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,}) : void ->foo : (options: { [x: string]: (arg: TArg) => TRet; } & { [directive]?: TDir | undefined; }) => void +>foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void >{ [directive]: (x: string) => 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,} : { [directive]: (x: string) => "str"; addOne: (x: number) => number; double: (x: number) => number; } [directive]: (x: string) => 'str', @@ -887,7 +887,7 @@ let case1 = foo({ let case2 = foo({ >case2 : void >foo({ addOne: (x: number) => x + 1, double: (x: number) => x + x, [directive]: (x: string) => 'str',}) : void ->foo : (options: { [x: string]: (arg: TArg) => TRet; } & { [directive]?: TDir | undefined; }) => void +>foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void >{ addOne: (x: number) => x + 1, double: (x: number) => x + x, [directive]: (x: string) => 'str',} : { addOne: (x: number) => number; double: (x: number) => number; [directive]: (x: string) => "str"; } addOne: (x: number) => x + 1, @@ -918,7 +918,7 @@ let case2 = foo({ let case3 = foo({ >case3 : void >foo({ [directive]: 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,}) : void ->foo : (options: { [x: string]: (arg: TArg) => TRet; } & { [directive]?: TDir | undefined; }) => void +>foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void >{ [directive]: 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,} : { [directive]: string; addOne: (x: number) => number; double: (x: number) => number; } [directive]: 'str', @@ -1054,7 +1054,7 @@ const obj3: { [key: number]: string } = { [sym]: 'hello '}; // Error // Repro from #45772 type Id = string & { __tag: 'id '}; ->Id : string & { __tag: 'id '; } +>Id : string & { __tag: "id "; } >__tag : "id " type Rec1 = { [key: Id]: number }; diff --git a/tests/baselines/reference/indexedAccessNormalization.types b/tests/baselines/reference/indexedAccessNormalization.types index 418be2989a..2af93d8687 100644 --- a/tests/baselines/reference/indexedAccessNormalization.types +++ b/tests/baselines/reference/indexedAccessNormalization.types @@ -27,12 +27,12 @@ function f1(mymap: MyMap, k: keyof M) { g(elemofM); >g(elemofM) : void ->g : (value?: T | undefined) => void +>g : (value?: T) => void >elemofM : MyMap[keyof M] } function f2(mymap: MyMap, k: keyof M, z: { x: number }) { ->f2 : (mymap: MyMap, k: keyof M, z: { x: number;}) => void +>f2 : (mymap: MyMap, k: keyof M, z: { x: number; }) => void >mymap : MyMap >k : keyof M >z : { x: number; } diff --git a/tests/baselines/reference/indexedAccessTypeConstraints.types b/tests/baselines/reference/indexedAccessTypeConstraints.types index 280b1a68fd..11e41a4ec3 100644 --- a/tests/baselines/reference/indexedAccessTypeConstraints.types +++ b/tests/baselines/reference/indexedAccessTypeConstraints.types @@ -72,7 +72,7 @@ export class Bar> extends Parent { // Repro from #14557 function foo(x: C, y: T['content']) { ->foo : (x: C, y: T['content']) => void +>foo : (x: C, y: T["content"]) => void >content : C >x : C >y : T["content"] diff --git a/tests/baselines/reference/indexedAccessWithFreshObjectLiteral.types b/tests/baselines/reference/indexedAccessWithFreshObjectLiteral.types index 3af90c3f15..8127f685a4 100644 --- a/tests/baselines/reference/indexedAccessWithFreshObjectLiteral.types +++ b/tests/baselines/reference/indexedAccessWithFreshObjectLiteral.types @@ -24,7 +24,7 @@ function foo (id: string) { } function bar (id: 'a' | 'b') { ->bar : (id: 'a' | 'b') => string | number +>bar : (id: "a" | "b") => string | number >id : "a" | "b" return { @@ -48,7 +48,7 @@ function bar (id: 'a' | 'b') { } function baz (id: '1' | '2') { ->baz : (id: '1' | '2') => string | number +>baz : (id: "1" | "2") => string | number >id : "1" | "2" return { @@ -96,7 +96,7 @@ function qux (id: 1 | 2) { } function quux (id: 'a' | 'b' | 'z') { ->quux : (id: 'a' | 'b' | 'z') => string | number | undefined +>quux : (id: "a" | "b" | "z") => string | number | undefined >id : "a" | "b" | "z" return { diff --git a/tests/baselines/reference/indexingTypesWithNever.types b/tests/baselines/reference/indexingTypesWithNever.types index 84eefc13fa..77c3687344 100644 --- a/tests/baselines/reference/indexingTypesWithNever.types +++ b/tests/baselines/reference/indexingTypesWithNever.types @@ -127,18 +127,18 @@ type ExpectType = Match extends "Match" : "Did not match"; type P3 = { a: string; b: number; c?: boolean }; ->P3 : { a: string; b: number; c?: boolean | undefined; } +>P3 : { a: string; b: number; c?: boolean; } >a : string >b : number >c : boolean | undefined type P2 = { a: string; c?: boolean }; ->P2 : { a: string; c?: boolean | undefined; } +>P2 : { a: string; c?: boolean; } >a : string >c : boolean | undefined type P1 = { c?: boolean }; ->P1 : { c?: boolean | undefined; } +>P1 : { c?: boolean; } >c : boolean | undefined type P0 = {}; @@ -196,13 +196,13 @@ declare const p0Test: ExpectType<{}, P0Props>; >p0Test : "Match" type O3 = { a?: string; b?: number; c: boolean }; ->O3 : { a?: string | undefined; b?: number | undefined; c: boolean; } +>O3 : { a?: string; b?: number; c: boolean; } >a : string | undefined >b : number | undefined >c : boolean type O2 = { a?: string; c: boolean }; ->O2 : { a?: string | undefined; c: boolean; } +>O2 : { a?: string; c: boolean; } >a : string | undefined >c : boolean diff --git a/tests/baselines/reference/indirectTypeParameterReferences.types b/tests/baselines/reference/indirectTypeParameterReferences.types index d8721c22b1..8abdb00d95 100644 --- a/tests/baselines/reference/indirectTypeParameterReferences.types +++ b/tests/baselines/reference/indirectTypeParameterReferences.types @@ -82,7 +82,7 @@ combined(comb => { // Repro from #19091 declare function f(a: T): { a: typeof a }; ->f : (a: T) => { a: typeof a;} +>f : (a: T) => { a: typeof a; } >a : T >a : T >a : T diff --git a/tests/baselines/reference/inferFromBindingPattern.types b/tests/baselines/reference/inferFromBindingPattern.types index ee217fafa8..26ea679a36 100644 --- a/tests/baselines/reference/inferFromBindingPattern.types +++ b/tests/baselines/reference/inferFromBindingPattern.types @@ -6,7 +6,7 @@ declare function f2(): [T]; >f2 : () => [T] declare function f3(): { x: T }; ->f3 : () => { x: T;} +>f3 : () => { x: T; } >x : T let x1 = f1(); // string @@ -66,18 +66,18 @@ declare function selectJohn(props?: SelectProps): SelectR const [person] = selectJohn(); >person : Person >selectJohn() : SelectResult ->selectJohn : (props?: SelectProps | undefined) => SelectResult +>selectJohn : (props?: SelectProps) => SelectResult const [any, whatever] = selectJohn(); >any : Person >whatever : Person >selectJohn() : SelectResult ->selectJohn : (props?: SelectProps | undefined) => SelectResult +>selectJohn : (props?: SelectProps) => SelectResult const john = selectJohn(); >john : SelectResult >selectJohn() : SelectResult ->selectJohn : (props?: SelectProps | undefined) => SelectResult +>selectJohn : (props?: SelectProps) => SelectResult const [personAgain, nufinspecial] = john; >personAgain : Person @@ -99,12 +99,12 @@ const isStringTuple = makeTuple(stringy()); // [string] >makeTuple(stringy()) : [string] >makeTuple : (arg: T1) => [T1] >stringy() : string ->stringy : (arg?: T | undefined) => T +>stringy : (arg?: T) => T const [isAny] = makeTuple(stringy()); // [string] >isAny : string >makeTuple(stringy()) : [string] >makeTuple : (arg: T1) => [T1] >stringy() : string ->stringy : (arg?: T | undefined) => T +>stringy : (arg?: T) => T diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index b7406b782e..cee9a74b9d 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -28,7 +28,7 @@ function wrap(value: T): Wrap { } function wrappedFoo(): Wrap<'foo'> { ->wrappedFoo : () => Wrap<'foo'> +>wrappedFoo : () => Wrap<"foo"> return wrap('foo'); >wrap('foo') : Wrap<"foo"> @@ -37,7 +37,7 @@ function wrappedFoo(): Wrap<'foo'> { } function wrapBar(value: 'bar'): Wrap<'bar'> { ->wrapBar : (value: 'bar') => Wrap<'bar'> +>wrapBar : (value: "bar") => Wrap<"bar"> >value : "bar" return { value }; @@ -46,7 +46,7 @@ function wrapBar(value: 'bar'): Wrap<'bar'> { } function wrappedBar(): Wrap<'bar'> { ->wrappedBar : () => Wrap<'bar'> +>wrappedBar : () => Wrap<"bar"> const value = 'bar'; >value : "bar" @@ -81,7 +81,7 @@ function wrappedBar(): Wrap<'bar'> { } function wrappedBaz(): Wrap<'baz'> { ->wrappedBaz : () => Wrap<'baz'> +>wrappedBaz : () => Wrap<"baz"> const value: 'baz' = 'baz'; >value : "baz" @@ -250,7 +250,7 @@ function objectToMap(obj: any) { interface Person { phoneNumbers: { ->phoneNumbers : { __typename: 'PhoneNumber'; }[] +>phoneNumbers : { __typename: "PhoneNumber"; }[] __typename: 'PhoneNumber'; >__typename : "PhoneNumber" @@ -294,7 +294,7 @@ declare function box(value: T): Box; >value : T type WinCondition = ->WinCondition : { type: 'win'; player: string; } | { type: 'draw'; } +>WinCondition : { type: "win"; player: string; } | { type: "draw"; } | { type: 'win', player: string } >type : "win" diff --git a/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types b/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types index 0d3cf89887..8558a17d9b 100644 --- a/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types +++ b/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types @@ -1,6 +1,6 @@ === tests/cases/compiler/inferStringLiteralUnionForBindingElement.ts === declare function func(arg: { keys: T[] }): { readonly keys: T[]; readonly firstKey: T; }; ->func : (arg: { keys: T[];}) => { readonly keys: T[]; readonly firstKey: T;} +>func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } >arg : { keys: T[]; } >keys : T[] >keys : T[] diff --git a/tests/baselines/reference/inferTypes1.types b/tests/baselines/reference/inferTypes1.types index 964ae6c5c6..5af081592f 100644 --- a/tests/baselines/reference/inferTypes1.types +++ b/tests/baselines/reference/inferTypes1.types @@ -335,7 +335,7 @@ type Jsonified = : "what is this"; type Example = { ->Example : { str: "literalstring"; fn: () => void; date: Date; customClass: MyClass; obj: { prop: "property"; clz: MyClass; nested: { attr: Date; };}; } +>Example : { str: "literalstring"; fn: () => void; date: Date; customClass: MyClass; obj: { prop: "property"; clz: MyClass; nested: { attr: Date; }; }; } str: "literalstring", >str : "literalstring" @@ -350,7 +350,7 @@ type Example = { >customClass : MyClass obj: { ->obj : { prop: "property"; clz: MyClass; nested: { attr: Date;}; } +>obj : { prop: "property"; clz: MyClass; nested: { attr: Date; }; } prop: "property", >prop : "property" diff --git a/tests/baselines/reference/inferTypes2.types b/tests/baselines/reference/inferTypes2.types index 04ca9ea6d0..61276be512 100644 --- a/tests/baselines/reference/inferTypes2.types +++ b/tests/baselines/reference/inferTypes2.types @@ -20,7 +20,7 @@ export type BadNested = { x: T extends number ? T : string }; >x : T extends number ? T : string export declare function foo2(obj: T): T extends { [K in keyof BadNested]: BadNested[K] } ? P : never; ->foo2 : (obj: T) => T extends { x: infer P extends number ? infer P : string; } ? P : never +>foo2 : (obj: T) => T extends { [K in keyof BadNested]: BadNested[K]; } ? P : never >obj : T export function bar2(obj: T) { diff --git a/tests/baselines/reference/inferTypesWithExtends1.types b/tests/baselines/reference/inferTypesWithExtends1.types index b26386d0f4..1afd649607 100644 --- a/tests/baselines/reference/inferTypesWithExtends1.types +++ b/tests/baselines/reference/inferTypesWithExtends1.types @@ -308,7 +308,7 @@ type IfEquals = (() => T extends X ? 1 : 2) extends () => T ex >IfEquals : IfEquals declare const x1: () => (T extends infer U extends number ? 1 : 0); ->x1 : () => T extends infer U extends number ? 1 : 0 +>x1 : () => (T extends infer U extends number ? 1 : 0) function f1() { >f1 : () => () => T extends infer U extends number ? 1 : 0 @@ -321,7 +321,7 @@ type ExpectNumber = T; >ExpectNumber : T declare const x2: () => (T extends ExpectNumber ? 1 : 0); ->x2 : () => T extends infer U extends number ? 1 : 0 +>x2 : () => (T extends ExpectNumber ? 1 : 0) function f2() { >f2 : () => () => T extends infer U extends number ? 1 : 0 diff --git a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types index a36bafa23e..db2c6fd317 100644 --- a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types +++ b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types @@ -3,7 +3,7 @@ interface NodeArray extends ReadonlyArray {} interface Node { forEachChild(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined): T | undefined; ->forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined) => T | undefined >cbNode : (node: Node) => T | undefined >node : Node >cbNodeArray : ((nodes: NodeArray) => T | undefined) | undefined @@ -30,9 +30,9 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | node.forEachChild(child => { >node.forEachChild(child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } }) : void | undefined ->node.forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>node.forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined) => T | undefined >node : Node ->forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined) => T | undefined >child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } } : (child: Node) => void >child : Node @@ -75,9 +75,9 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | node.forEachChild(child => { >node.forEachChild(child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } }) : void | undefined ->node.forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>node.forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined) => T | undefined >node : Node ->forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray) => T | undefined) => T | undefined >child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } } : (child: Node) => void >child : Node diff --git a/tests/baselines/reference/inferenceOfNullableObjectTypesWithCommonBase.types b/tests/baselines/reference/inferenceOfNullableObjectTypesWithCommonBase.types index 82abf80a2b..307d327ee8 100644 --- a/tests/baselines/reference/inferenceOfNullableObjectTypesWithCommonBase.types +++ b/tests/baselines/reference/inferenceOfNullableObjectTypesWithCommonBase.types @@ -139,14 +139,14 @@ equal(v as string, v as string & { tag: 'foo' } | undefined); >equal : (a: T, b: T) => void >v as string : string >v : never ->v as string & { tag: 'foo' } | undefined : (string & { tag: 'foo'; }) | undefined +>v as string & { tag: 'foo' } | undefined : (string & { tag: "foo"; }) | undefined >v : never >tag : "foo" equal(v as string & { tag: 'foo' } | undefined, v as string); >equal(v as string & { tag: 'foo' } | undefined, v as string) : void >equal : (a: T, b: T) => void ->v as string & { tag: 'foo' } | undefined : (string & { tag: 'foo'; }) | undefined +>v as string & { tag: 'foo' } | undefined : (string & { tag: "foo"; }) | undefined >v : never >tag : "foo" >v as string : string diff --git a/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types b/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types index b707b156b2..97a7242980 100644 --- a/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types +++ b/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types @@ -15,7 +15,7 @@ declare const x2: { a: string, b: number | undefined }; >b : number | undefined declare const x3: { a: string, b?: number }; ->x3 : { a: string; b?: number | undefined; } +>x3 : { a: string; b?: number; } >a : string >b : number | undefined @@ -83,7 +83,7 @@ const obj = { const query = Object.entries(obj).map( >query : string >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join('&') : string ->Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join : (separator?: string | undefined) => string +>Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join : (separator?: string) => string >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`) : string[] >Object.entries(obj).map : (callbackfn: (value: [string, string], index: number, array: [string, string][]) => U, thisArg?: any) => U[] >Object.entries(obj) : [string, string][] @@ -104,6 +104,6 @@ const query = Object.entries(obj).map( >v : string ).join('&'); ->join : (separator?: string | undefined) => string +>join : (separator?: string) => string >'&' : "&" diff --git a/tests/baselines/reference/inferingFromAny.types b/tests/baselines/reference/inferingFromAny.types index 52ef648d23..ff670f63f1 100644 --- a/tests/baselines/reference/inferingFromAny.types +++ b/tests/baselines/reference/inferingFromAny.types @@ -18,7 +18,7 @@ declare function f3(t: [T, U]): [T, U]; >t : [T, U] declare function f4(x: { bar: T; baz: T }): T; ->f4 : (x: { bar: T; baz: T;}) => T +>f4 : (x: { bar: T; baz: T; }) => T >x : { bar: T; baz: T; } >bar : T >baz : T @@ -65,7 +65,7 @@ declare function f13(x: T & U): [T, U]; >x : T & U declare function f14(x: { a: T | U, b: U & T }): [T, U]; ->f14 : (x: { a: T | U; b: U & T;}) => [T, U] +>f14 : (x: { a: T | U; b: U & T; }) => [T, U] >x : { a: T | U; b: U & T; } >a : T | U >b : U & T diff --git a/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types b/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types index 5d1ca14f1c..d6ffbe44fc 100644 --- a/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types +++ b/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types @@ -27,7 +27,7 @@ export class ObjectTypeComposer { >fields : Readonly<{ [key: string]: Readonly; }> public addResolver(opts: { type?: Thunk }): this; ->addResolver : (opts: { type?: Thunk;}) => this +>addResolver : (opts: { type?: Thunk; }) => this >opts : { type?: Thunk; } >type : Thunk } @@ -61,9 +61,9 @@ declare const User: ObjectTypeComposer; User.addResolver({ >User.addResolver({ type: User, // `User as any` fix the problem}) : ObjectTypeComposer ->User.addResolver : (opts: { type?: import("tests/cases/compiler/graphql-compose").Thunk; }) => ObjectTypeComposer +>User.addResolver : (opts: { type?: Thunk; }) => ObjectTypeComposer >User : ObjectTypeComposer ->addResolver : (opts: { type?: import("tests/cases/compiler/graphql-compose").Thunk; }) => ObjectTypeComposer +>addResolver : (opts: { type?: Thunk; }) => ObjectTypeComposer >{ type: User, // `User as any` fix the problem} : { type: ObjectTypeComposer; } type: User, // `User as any` fix the problem diff --git a/tests/baselines/reference/infinitelyGenerativeInheritance1.types b/tests/baselines/reference/infinitelyGenerativeInheritance1.types index e872f99c73..e8fddc1c9d 100644 --- a/tests/baselines/reference/infinitelyGenerativeInheritance1.types +++ b/tests/baselines/reference/infinitelyGenerativeInheritance1.types @@ -4,7 +4,7 @@ interface Stack { >pop : () => T zip(a: Stack): Stack<{ x: T; y: S }> ->zip : (a: Stack) => Stack<{ x: T; y: S;}> +>zip : (a: Stack) => Stack<{ x: T; y: S; }> >a : Stack >x : T >y : S @@ -12,7 +12,7 @@ interface Stack { interface MyStack extends Stack { zip(a: Stack): Stack<{ x: T; y: S }> ->zip : (a: Stack) => Stack<{ x: T; y: S;}> +>zip : (a: Stack) => Stack<{ x: T; y: S; }> >a : Stack >x : T >y : S diff --git a/tests/baselines/reference/initializedParameterBeforeNonoptionalNotOptional.types b/tests/baselines/reference/initializedParameterBeforeNonoptionalNotOptional.types index 2656522f57..2d77329a23 100644 --- a/tests/baselines/reference/initializedParameterBeforeNonoptionalNotOptional.types +++ b/tests/baselines/reference/initializedParameterBeforeNonoptionalNotOptional.types @@ -1,6 +1,6 @@ === tests/cases/compiler/index.d.ts === export declare function foo({a}?: { ->foo : ({ a }?: { a?: string;}) => void +>foo : ({ a }?: { a?: string; }) => void >a : string | undefined a?: string; @@ -8,7 +8,7 @@ export declare function foo({a}?: { }): void; export declare function foo2({a}: { ->foo2 : ({ a }: { a?: string | undefined;} | undefined, b: string) => void +>foo2 : ({ a }: { a?: string | undefined; } | undefined, b: string) => void >a : string | undefined a?: string | undefined; @@ -18,7 +18,7 @@ export declare function foo2({a}: { >b : string export declare function foo3({a, b: {c}}: { ->foo3 : ({ a, b: { c } }: { a?: string | undefined; b?: { c?: string | undefined; } | undefined;} | undefined, b: string) => void +>foo3 : ({ a, b: { c } }: { a?: string | undefined; b?: { c?: string | undefined; } | undefined; } | undefined, b: string) => void >a : string | undefined >b : any >c : string | undefined diff --git a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types index 38bcc1898e..456e14cf34 100644 --- a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types +++ b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types @@ -74,8 +74,8 @@ import { predom } from "./renderer2" >predom : () => predom.JSX.Element export const MySFC = (props: {x: number, y: number, children?: predom.JSX.Element[]}) =>

{props.x} + {props.y} = {props.x + props.y}{...this.props.children}

; ->MySFC : (props: { x: number; y: number; children?: predom.JSX.Element[];}) => predom.JSX.Element ->(props: {x: number, y: number, children?: predom.JSX.Element[]}) =>

{props.x} + {props.y} = {props.x + props.y}{...this.props.children}

: (props: { x: number; y: number; children?: predom.JSX.Element[];}) => predom.JSX.Element +>MySFC : (props: { x: number; y: number; children?: predom.JSX.Element[]; }) => predom.JSX.Element +>(props: {x: number, y: number, children?: predom.JSX.Element[]}) =>

{props.x} + {props.y} = {props.x + props.y}{...this.props.children}

: (props: { x: number; y: number; children?: predom.JSX.Element[]; }) => predom.JSX.Element >props : { x: number; y: number; children?: predom.JSX.Element[]; } >x : number >y : number @@ -212,8 +212,8 @@ elem = ; // Expect assignability error here >h : any const DOMSFC = (props: {x: number, y: number, children?: dom.JSX.Element[]}) =>

{props.x} + {props.y} = {props.x + props.y}{props.children}

; ->DOMSFC : (props: { x: number; y: number; children?: dom.JSX.Element[];}) => dom.JSX.Element ->(props: {x: number, y: number, children?: dom.JSX.Element[]}) =>

{props.x} + {props.y} = {props.x + props.y}{props.children}

: (props: { x: number; y: number; children?: dom.JSX.Element[];}) => dom.JSX.Element +>DOMSFC : (props: { x: number; y: number; children?: dom.JSX.Element[]; }) => dom.JSX.Element +>(props: {x: number, y: number, children?: dom.JSX.Element[]}) =>

{props.x} + {props.y} = {props.x + props.y}{props.children}

: (props: { x: number; y: number; children?: dom.JSX.Element[]; }) => dom.JSX.Element >props : { x: number; y: number; children?: dom.JSX.Element[]; } >x : number >y : number diff --git a/tests/baselines/reference/instantiateContextualTypes.types b/tests/baselines/reference/instantiateContextualTypes.types index 18a4a81875..36e54416f5 100644 --- a/tests/baselines/reference/instantiateContextualTypes.types +++ b/tests/baselines/reference/instantiateContextualTypes.types @@ -65,7 +65,7 @@ new GenericComponent({ initialValues: 12, nextValues: val => 12 }); // #22149 declare function useStringOrNumber(t: T, useIt: T extends string ? ((s: string) => void) : ((n: number) => void)): void; ->useStringOrNumber : (t: T, useIt: T extends string ? (s: string) => void : (n: number) => void) => void +>useStringOrNumber : (t: T, useIt: T extends string ? ((s: string) => void) : ((n: number) => void)) => void >t : T >useIt : T extends string ? (s: string) => void : (n: number) => void >s : string @@ -73,7 +73,7 @@ declare function useStringOrNumber(t: T, useIt: T ext useStringOrNumber("", foo => {}); >useStringOrNumber("", foo => {}) : void ->useStringOrNumber : (t: T, useIt: T extends string ? (s: string) => void : (n: number) => void) => void +>useStringOrNumber : (t: T, useIt: T extends string ? ((s: string) => void) : ((n: number) => void)) => void >"" : "" >foo => {} : (foo: string) => void >foo : string @@ -221,7 +221,7 @@ interface ComponentClass

{ } type CreateElementChildren

= ->CreateElementChildren : P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown +>CreateElementChildren : P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown P extends { children?: infer C } >children : C | undefined diff --git a/tests/baselines/reference/instantiationExpressions.types b/tests/baselines/reference/instantiationExpressions.types index 75fe72fc44..3597f79113 100644 --- a/tests/baselines/reference/instantiationExpressions.types +++ b/tests/baselines/reference/instantiationExpressions.types @@ -149,7 +149,7 @@ function f12(f: { (a: T): T, x: string }) { } function f13(f: { x: string, y: string }) { ->f13 : (f: { x: string; y: string;}) => void +>f13 : (f: { x: string; y: string; }) => void >f : { x: string; y: string; } >x : string >y : string @@ -174,7 +174,7 @@ function f14(f: { new (a: T): T, new (a: U, b: number): U[] }) { } function f15(f: { new (a: T): T, (a: U, b: number): U[] }) { ->f15 : (f: { (a: U, b: number): U[]; new (a: T): T; }) => void +>f15 : (f: { new (a: T): T; (a: U, b: number): U[]; }) => void >f : { (a: U, b: number): U[]; new (a: T): T; } >a : T >a : U @@ -187,7 +187,7 @@ function f15(f: { new (a: T): T, (a: U, b: number): U[] }) { } function f16(f: { new (a: T): T, (a: string, b: number): string[] }) { ->f16 : (f: { (a: string, b: number): string[]; new (a: T): T; }) => void +>f16 : (f: { new (a: T): T; (a: string, b: number): string[]; }) => void >f : { (a: string, b: number): string[]; new (a: T): T; } >a : T >a : string @@ -251,7 +251,7 @@ function f22(f: ((a: T) => T) & { x: string }) { } function f23(f: { x: string } & { y: string }) { ->f23 : (f: { x: string;} & { y: string;}) => void +>f23 : (f: { x: string; } & { y: string; }) => void >f : { x: string; } & { y: string; } >x : string >y : string @@ -341,7 +341,7 @@ function f31(f: ((a: T) => T) | ((a: string, b: number) => string[])) { } function f32(f: ((a: T) => T) | { x: string }) { ->f32 : (f: { x: string; } | ((a: T) => T)) => void +>f32 : (f: ((a: T) => T) | { x: string; }) => void >f : { x: string; } | ((a: T) => T) >a : T >x : string @@ -353,7 +353,7 @@ function f32(f: ((a: T) => T) | { x: string }) { } function f33(f: { x: string } | { y: string }) { ->f33 : (f: { x: string;} | { y: string;}) => void +>f33 : (f: { x: string; } | { y: string; }) => void >f : { x: string; } | { y: string; } >x : string >y : string diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersection.types b/tests/baselines/reference/interfaceExtendsObjectIntersection.types index 26ef179f45..4f7214b464 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersection.types +++ b/tests/baselines/reference/interfaceExtendsObjectIntersection.types @@ -11,7 +11,7 @@ type T3 = () => void; >T3 : () => void type T4 = new () => { a: number }; ->T4 : new () => { a: number;} +>T4 : new () => { a: number; } >a : number type T5 = number[]; diff --git a/tests/baselines/reference/interfaceImplementation7.types b/tests/baselines/reference/interfaceImplementation7.types index 8a5223e4c6..1866137020 100644 --- a/tests/baselines/reference/interfaceImplementation7.types +++ b/tests/baselines/reference/interfaceImplementation7.types @@ -1,15 +1,15 @@ === tests/cases/compiler/interfaceImplementation7.ts === interface i1{ name(): { s: string; }; } ->name : () => { s: string;} +>name : () => { s: string; } >s : string interface i2{ name(): { n: number; }; } ->name : () => { n: number;} +>name : () => { n: number; } >n : number interface i3 extends i1, i2 { } interface i4 extends i1, i2 { name(): { s: string; n: number; }; } ->name : () => { s: string; n: number;} +>name : () => { s: string; n: number; } >s : string >n : number diff --git a/tests/baselines/reference/interfacePropertiesWithSameName1.types b/tests/baselines/reference/interfacePropertiesWithSameName1.types index d9b076ad60..d03f71b44e 100644 --- a/tests/baselines/reference/interfacePropertiesWithSameName1.types +++ b/tests/baselines/reference/interfacePropertiesWithSameName1.types @@ -4,7 +4,7 @@ interface Mover { >move : () => void getStatus(): { speed: number; }; ->getStatus : () => { speed: number;} +>getStatus : () => { speed: number; } >speed : number } interface Shaker { @@ -12,13 +12,13 @@ interface Shaker { >shake : () => void getStatus(): { frequency: number; }; ->getStatus : () => { frequency: number;} +>getStatus : () => { frequency: number; } >frequency : number } interface MoverShaker extends Mover, Shaker { getStatus(): { speed: number; frequency: number; }; ->getStatus : () => { speed: number; frequency: number;} +>getStatus : () => { speed: number; frequency: number; } >speed : number >frequency : number } diff --git a/tests/baselines/reference/interfacePropertiesWithSameName2.types b/tests/baselines/reference/interfacePropertiesWithSameName2.types index 6456a1a767..176b1e9f4b 100644 --- a/tests/baselines/reference/interfacePropertiesWithSameName2.types +++ b/tests/baselines/reference/interfacePropertiesWithSameName2.types @@ -4,7 +4,7 @@ interface Mover { >move : () => void getStatus(): { speed: number; }; ->getStatus : () => { speed: number;} +>getStatus : () => { speed: number; } >speed : number } interface Shaker { @@ -12,7 +12,7 @@ interface Shaker { >shake : () => void getStatus(): { frequency: number; }; ->getStatus : () => { frequency: number;} +>getStatus : () => { frequency: number; } >frequency : number } @@ -31,7 +31,7 @@ declare module MoversAndShakers { >move : () => void getStatus(): { speed: number; }; ->getStatus : () => { speed: number;} +>getStatus : () => { speed: number; } >speed : number } export interface Shaker { @@ -39,7 +39,7 @@ declare module MoversAndShakers { >shake : () => void getStatus(): { frequency: number; }; ->getStatus : () => { frequency: number;} +>getStatus : () => { frequency: number; } >frequency : number } } @@ -53,7 +53,7 @@ interface MoverShaker3 extends MoversAndShakers.Mover, MoversAndShakers.Shaker { >MoversAndShakers : typeof MoversAndShakers getStatus(): { speed: number; frequency: number; }; // ok because this getStatus overrides the conflicting ones above ->getStatus : () => { speed: number; frequency: number;} +>getStatus : () => { speed: number; frequency: number; } >speed : number >frequency : number } diff --git a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types index 73f063a571..c2693b04c7 100644 --- a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types +++ b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/intersection/intersectionMemberOfUnionNarrowsCorrectly.ts === export type U = { kind?: 'A', a: string } | { kind?: 'B' } & { b: string }; ->U : { kind?: 'A'; a: string; } | ({ kind?: 'B'; } & { b: string; }) +>U : { kind?: "A"; a: string; } | ({ kind?: "B"; } & { b: string; }) >kind : "A" >a : string >kind : "B" diff --git a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types index 7cd96b092a..16140da32c 100644 --- a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types +++ b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types @@ -1,13 +1,13 @@ === tests/cases/compiler/intersectionOfTypeVariableHasApparentSignatures.ts === interface Component

{ props: Readonly

& Readonly<{ children?: {} }>; ->props : Readonly

& Readonly<{ children?: {} | undefined; }> +>props : Readonly

);} : { (): JSX.Element; defaultProps: { tabs: string; }; } return ( @@ -125,7 +125,7 @@ const TabbedShowLayout = () => { TabbedShowLayout.defaultProps = { >TabbedShowLayout.defaultProps = { tabs: "default value"} : { tabs: string; } >TabbedShowLayout.defaultProps : { tabs: string; } ->TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; } | undefined) => JSX.Element) +>TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) >defaultProps : { tabs: string; } >{ tabs: "default value"} : { tabs: string; } @@ -136,15 +136,15 @@ TabbedShowLayout.defaultProps = { }; export default TabbedShowLayout; ->TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; } | undefined) => JSX.Element) +>TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) === tests/cases/conformance/jsdoc/declarations/jsDeclarationsReactComponents4.jsx === import React from "react"; >React : typeof React const TabbedShowLayout = (/** @type {{className: string}}*/prop) => { ->TabbedShowLayout : { (prop: { className: string;}): JSX.Element; defaultProps: { tabs: string; }; } ->(/** @type {{className: string}}*/prop) => { return (
ok
);} : { (prop: { className: string;}): JSX.Element; defaultProps: { tabs: string; }; } +>TabbedShowLayout : { (prop: { className: string; }): JSX.Element; defaultProps: { tabs: string; }; } +>(/** @type {{className: string}}*/prop) => { return (
ok
);} : { (prop: { className: string; }): JSX.Element; defaultProps: { tabs: string; }; } >prop : { className: string; } return ( diff --git a/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.js b/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.js index 7b6bcdecb0..847e2d3517 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.js +++ b/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.js @@ -104,7 +104,7 @@ module.exports = MainThreadTasks; //// [module.d.ts] -export type TaskGroupIds = 'parseHTML' | 'styleLayout'; +export type TaskGroupIds = "parseHTML" | "styleLayout"; export type TaskGroup = { id: TaskGroupIds; label: string; @@ -120,16 +120,10 @@ export type TaskGroup = { /** * @type {{[P in TaskGroupIds]: {id: P, label: string}}} */ -export const taskGroups: { - parseHTML: { - id: "parseHTML"; - label: string; - }; - styleLayout: { - id: "styleLayout"; - label: string; - }; -}; +export const taskGroups: { [P in TaskGroupIds]: { + id: P; + label: string; +}; }; /** @type {Object} */ export const taskNameToGroup: { [x: string]: TaskGroup; @@ -154,7 +148,7 @@ declare class MainThreadTasks { declare namespace MainThreadTasks { export { TaskGroup, TaskNode, PriorTaskData }; } -type TaskGroup = import('./module.js').TaskGroup; +type TaskGroup = import("./module.js").TaskGroup; type TaskNode = { children: TaskNode[]; parent: TaskNode | undefined; diff --git a/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.js b/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.js index 5b931e6291..9c929017db 100644 --- a/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.js +++ b/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.js @@ -28,4 +28,4 @@ export type WithSymbol = { * @returns {import('./a').WithSymbol} * @param {import('./a').WithSymbol} value */ -export function b(value: import('./a').WithSymbol): import('./a').WithSymbol; +export function b(value: import("./a").WithSymbol): import("./a").WithSymbol; diff --git a/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.types b/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.types index 6535827b41..4abd9489e7 100644 --- a/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.types +++ b/tests/baselines/reference/jsDeclarationsUniqueSymbolUsage.types @@ -14,7 +14,7 @@ export const kSymbol = Symbol("my-symbol"); * @param {import('./a').WithSymbol} value */ export function b(value) { ->b : (value: import('./a').WithSymbol) => import('./a').WithSymbol +>b : (value: import("./a").WithSymbol) => import("./a").WithSymbol >value : import("tests/cases/conformance/jsdoc/declarations/a").WithSymbol return value; diff --git a/tests/baselines/reference/jsDocFunctionSignatures6.baseline b/tests/baselines/reference/jsDocFunctionSignatures6.baseline index 2d5e8aebc8..681c8fe107 100644 --- a/tests/baselines/reference/jsDocFunctionSignatures6.baseline +++ b/tests/baselines/reference/jsDocFunctionSignatures6.baseline @@ -101,6 +101,22 @@ { "text": "string", "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" } ], "isOptional": false, @@ -357,6 +373,22 @@ { "text": "string", "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" } ], "isOptional": false, @@ -613,6 +645,22 @@ { "text": "string", "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" } ], "isOptional": false, @@ -869,6 +917,22 @@ { "text": "string", "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" } ], "isOptional": false, diff --git a/tests/baselines/reference/jsEnumCrossFileExport.types b/tests/baselines/reference/jsEnumCrossFileExport.types index a3118b4d4e..3737186a04 100644 --- a/tests/baselines/reference/jsEnumCrossFileExport.types +++ b/tests/baselines/reference/jsEnumCrossFileExport.types @@ -80,9 +80,9 @@ Other.Cls = class { this.method(Host.UserMetrics.Action.WindowDocked); >this.method(Host.UserMetrics.Action.WindowDocked) : void ->this.method : (p: number) => void +>this.method : (p: Host.UserMetrics.Action) => void >this : this ->method : (p: number) => void +>method : (p: Host.UserMetrics.Action) => void >Host.UserMetrics.Action.WindowDocked : number >Host.UserMetrics.Action : { WindowDocked: number; WindowUndocked: number; ScriptsBreakpointSet: number; TimelineStarted: number; } >Host.UserMetrics : typeof Host.UserMetrics diff --git a/tests/baselines/reference/jsEnumTagOnObjectFrozen.types b/tests/baselines/reference/jsEnumTagOnObjectFrozen.types index c05a168a43..4456737fdf 100644 --- a/tests/baselines/reference/jsEnumTagOnObjectFrozen.types +++ b/tests/baselines/reference/jsEnumTagOnObjectFrozen.types @@ -1,15 +1,15 @@ === tests/cases/compiler/usage.js === const { Thing, useThing, cbThing } = require("./index"); >Thing : Readonly<{ a: "thing"; b: "chill"; }> ->useThing : (x: string) => void ->cbThing : (x: (x: string) => void) => void +>useThing : (x: Thing) => void +>cbThing : (x: (x: Thing) => void) => void >require("./index") : typeof import("tests/cases/compiler/index") >require : any >"./index" : "./index" useThing(Thing.a); >useThing(Thing.a) : void ->useThing : (x: string) => void +>useThing : (x: Thing) => void >Thing.a : "thing" >Thing : Readonly<{ a: "thing"; b: "chill"; }> >a : "thing" @@ -22,7 +22,7 @@ useThing(Thing.a); cbThing(type => { >cbThing(type => { /** @type {LogEntry} */ const logEntry = { time: Date.now(), type, };}) : void ->cbThing : (x: (x: string) => void) => void +>cbThing : (x: (x: Thing) => void) => void >type => { /** @type {LogEntry} */ const logEntry = { time: Date.now(), type, };} : (type: string) => void >type : string @@ -79,23 +79,23 @@ function useThing(x) {} >x : string exports.useThing = useThing; ->exports.useThing = useThing : (x: string) => void ->exports.useThing : (x: string) => void +>exports.useThing = useThing : (x: Thing) => void +>exports.useThing : (x: Thing) => void >exports : typeof import("tests/cases/compiler/index") ->useThing : (x: string) => void ->useThing : (x: string) => void +>useThing : (x: Thing) => void +>useThing : (x: Thing) => void /** * @param {(x: Thing) => void} x */ function cbThing(x) {} >cbThing : (x: (x: Thing) => void) => void ->x : (x: string) => void +>x : (x: Thing) => void exports.cbThing = cbThing; ->exports.cbThing = cbThing : (x: (x: string) => void) => void ->exports.cbThing : (x: (x: string) => void) => void +>exports.cbThing = cbThing : (x: (x: Thing) => void) => void +>exports.cbThing : (x: (x: Thing) => void) => void >exports : typeof import("tests/cases/compiler/index") ->cbThing : (x: (x: string) => void) => void ->cbThing : (x: (x: string) => void) => void +>cbThing : (x: (x: Thing) => void) => void +>cbThing : (x: (x: Thing) => void) => void diff --git a/tests/baselines/reference/jsdocFunctionType.types b/tests/baselines/reference/jsdocFunctionType.types index faa5e03072..2b53be4564 100644 --- a/tests/baselines/reference/jsdocFunctionType.types +++ b/tests/baselines/reference/jsdocFunctionType.types @@ -28,7 +28,7 @@ var x = id1(function (n) { return this.length + n }); * @return {function(new: { length: number }, number): number} */ function id2(c) { ->id2 : (c: new (arg1: number) => { length: number;}) => new (arg1: number) => { length: number;} +>id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } >c : new (arg1: number) => { length: number; } return c diff --git a/tests/baselines/reference/jsdocLiteral.types b/tests/baselines/reference/jsdocLiteral.types index 096c2e27b9..daeee873af 100644 --- a/tests/baselines/reference/jsdocLiteral.types +++ b/tests/baselines/reference/jsdocLiteral.types @@ -7,7 +7,7 @@ * @param {12 | true | 'str'} p5 */ function f(p1, p2, p3, p4, p5) { ->f : (p1: 'literal', p2: "literal", p3: 'literal' | 'other', p4: 'literal' | number, p5: 12 | true | 'str') => string +>f : (p1: "literal", p2: "literal", p3: "literal" | "other", p4: "literal" | number, p5: 12 | true | "str") => string >p1 : "literal" >p2 : "literal" >p3 : "literal" | "other" diff --git a/tests/baselines/reference/jsdocParamTag2.types b/tests/baselines/reference/jsdocParamTag2.types index e81155ccb3..fb9ad87475 100644 --- a/tests/baselines/reference/jsdocParamTag2.types +++ b/tests/baselines/reference/jsdocParamTag2.types @@ -5,7 +5,7 @@ * @param {string} x */ function good1({a, b}, x) {} ->good1 : ({ a, b }: { a: string; b: string;}, x: string) => void +>good1 : ({ a, b }: { a: string; b: string; }, x: string) => void >a : string >b : string >x : string @@ -15,7 +15,7 @@ function good1({a, b}, x) {} * @param {{c: number, d: number}} OBJECTION */ function good2({a, b}, {c, d}) {} ->good2 : ({ a, b }: { a: string; b: string;}, { c, d }: { c: number; d: number;}) => void +>good2 : ({ a, b }: { a: string; b: string; }, { c, d }: { c: number; d: number; }) => void >a : string >b : string >c : number @@ -27,7 +27,7 @@ function good2({a, b}, {c, d}) {} * @param {string} y */ function good3(x, {a, b}, y) {} ->good3 : (x: number, { a, b }: { a: string; b: string;}, y: string) => void +>good3 : (x: number, { a, b }: { a: string; b: string; }, y: string) => void >x : number >a : string >b : string @@ -37,7 +37,7 @@ function good3(x, {a, b}, y) {} * @param {{a: string, b: string}} obj */ function good4({a, b}) {} ->good4 : ({ a, b }: { a: string; b: string;}) => void +>good4 : ({ a, b }: { a: string; b: string; }) => void >a : string >b : string @@ -110,7 +110,7 @@ function bad1(x, {a, b}) {} * @param {{a: string, b: string}} obj */ function bad2(x, {a, b}) {} ->bad2 : (x: any, { a, b }: { a: string; b: string;}) => void +>bad2 : (x: any, { a, b }: { a: string; b: string; }) => void >x : any >a : string >b : string diff --git a/tests/baselines/reference/jsdocParamTagTypeLiteral.types b/tests/baselines/reference/jsdocParamTagTypeLiteral.types index d38f3fd20c..80f69774ca 100644 --- a/tests/baselines/reference/jsdocParamTagTypeLiteral.types +++ b/tests/baselines/reference/jsdocParamTagTypeLiteral.types @@ -34,7 +34,7 @@ function foo1(opts1) { foo1({x: 'abc'}); >foo1({x: 'abc'}) : void ->foo1 : (opts1: { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; }) => void +>foo1 : (opts1: { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined;}) => void >{x: 'abc'} : { x: string; } >x : string >'abc' : "abc" @@ -58,7 +58,7 @@ function foo2(/** @param opts2 bad idea theatre! */opts2) { foo2([{anotherX: "world"}]); >foo2([{anotherX: "world"}]) : void ->foo2 : (opts2: { anotherX: string; anotherY?: string | undefined; }[]) => void +>foo2 : (opts2: { anotherX: string; anotherY?: string | undefined;}) => void >[{anotherX: "world"}] : { anotherX: string; }[] >{anotherX: "world"} : { anotherX: string; } >anotherX : string @@ -79,7 +79,7 @@ function foo3(opts3) { } foo3({x: 'abc'}); >foo3({x: 'abc'}) : void ->foo3 : (opts3: { x: string; }) => void +>foo3 : (opts3: { x: string;}) => void >{x: 'abc'} : { x: string; } >x : string >'abc' : "abc" @@ -105,7 +105,7 @@ function foo4(opts4) { foo4([{ x: 'hi' }]); >foo4([{ x: 'hi' }]) : void ->foo4 : (opts4: { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; }[]) => void +>foo4 : (opts4: { x: string; y?: string | undefined; z?: string; w?: string;}) => void >[{ x: 'hi' }] : { x: string; }[] >{ x: 'hi' } : { x: string; } >x : string @@ -148,7 +148,7 @@ function foo5(opts5) { foo5([{ help: "help", what: { a: 'a', bad: [{ idea: 'idea', oh: false }] }, unnest: 1 }]); >foo5([{ help: "help", what: { a: 'a', bad: [{ idea: 'idea', oh: false }] }, unnest: 1 }]) : void ->foo5 : (opts5: { help: string; what: { a: string; bad: { idea: string; oh: boolean; }[]; }; unnest: number; }[]) => void +>foo5 : (opts5: { help: string; what: { a: string; bad: { idea: string; oh: boolean; }; }; unnest: number;}) => void >[{ help: "help", what: { a: 'a', bad: [{ idea: 'idea', oh: false }] }, unnest: 1 }] : { help: string; what: { a: string; bad: { idea: string; oh: false; }[]; }; unnest: number; }[] >{ help: "help", what: { a: 'a', bad: [{ idea: 'idea', oh: false }] }, unnest: 1 } : { help: string; what: { a: string; bad: { idea: string; oh: false; }[]; }; unnest: number; } >help : string diff --git a/tests/baselines/reference/jsdocParseHigherOrderFunction.types b/tests/baselines/reference/jsdocParseHigherOrderFunction.types index 08e4e0bc6a..cb2b354643 100644 --- a/tests/baselines/reference/jsdocParseHigherOrderFunction.types +++ b/tests/baselines/reference/jsdocParseHigherOrderFunction.types @@ -1,11 +1,11 @@ === tests/cases/conformance/jsdoc/paren.js === /** @type {function((string), function((string)): string): string} */ var x = (s, id) => id(s) ->x : (arg0: string, arg1: (arg0: string) => string) => string ->(s, id) => id(s) : (s: string, id: (arg0: string) => string) => string +>x : (arg0: (string), arg1: (arg0: (string)) => string) => string +>(s, id) => id(s) : (s: string, id: (arg0: (string)) => string) => string >s : string ->id : (arg0: string) => string +>id : (arg0: (string)) => string >id(s) : string ->id : (arg0: string) => string +>id : (arg0: (string)) => string >s : string diff --git a/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types b/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types index aa5a5d477e..3e8779954b 100644 --- a/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types +++ b/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types @@ -1,7 +1,7 @@ === tests/cases/conformance/jsdoc/paren.js === /** @type {function((string)): string} */ var x = s => s.toString() ->x : (arg0: string) => string +>x : (arg0: (string)) => string >s => s.toString() : (s: string) => string >s : string >s.toString() : string diff --git a/tests/baselines/reference/jsdocPostfixEqualsAddsOptionality.types b/tests/baselines/reference/jsdocPostfixEqualsAddsOptionality.types index a0c73ce764..921ef1bfff 100644 --- a/tests/baselines/reference/jsdocPostfixEqualsAddsOptionality.types +++ b/tests/baselines/reference/jsdocPostfixEqualsAddsOptionality.types @@ -60,20 +60,20 @@ function g(a) { } g() >g() : void ->g : (a?: number | null | undefined) => void +>g : (a?: (((((number | null) | null) | null) | null) | null) | undefined) => void g(null) >g(null) : void ->g : (a?: number | null | undefined) => void +>g : (a?: (((((number | null) | null) | null) | null) | null) | undefined) => void >null : null g(undefined) >g(undefined) : void ->g : (a?: number | null | undefined) => void +>g : (a?: (((((number | null) | null) | null) | null) | null) | undefined) => void >undefined : undefined g(1) >g(1) : void ->g : (a?: number | null | undefined) => void +>g : (a?: (((((number | null) | null) | null) | null) | null) | undefined) => void >1 : 1 diff --git a/tests/baselines/reference/jsdocPropertyTagInvalid.types b/tests/baselines/reference/jsdocPropertyTagInvalid.types index 1951ce779f..042e44ac15 100644 --- a/tests/baselines/reference/jsdocPropertyTagInvalid.types +++ b/tests/baselines/reference/jsdocPropertyTagInvalid.types @@ -11,11 +11,11 @@ export function f(p) { } === /b.js === import { f } from "./a.js" ->f : (p: import("/a").MyType) => void +>f : (p: MyType) => void f({ x: 42 }) >f({ x: 42 }) : void ->f : (p: import("/a").MyType) => void +>f : (p: MyType) => void >{ x: 42 } : { x: number; } >x : number >42 : 42 diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types index 316981e10a..955054bcfa 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types @@ -26,13 +26,13 @@ function Zet(t) { * @param {T} o.nested */ Zet.prototype.add = function(v, o) { ->Zet.prototype.add = function(v, o) { this.u = v || o.nested return this.u} : (v: T, o: { nested: T; }) => T +>Zet.prototype.add = function(v, o) { this.u = v || o.nested return this.u} : (v: T, o: { nested: T;}) => T >Zet.prototype.add : any >Zet.prototype : any >Zet : typeof Zet >prototype : any >add : any ->function(v, o) { this.u = v || o.nested return this.u} : (v: T, o: { nested: T; }) => T +>function(v, o) { this.u = v || o.nested return this.u} : (v: T, o: { nested: T;}) => T >v : T >o : { nested: T; } diff --git a/tests/baselines/reference/jsdocTemplateTag.types b/tests/baselines/reference/jsdocTemplateTag.types index 7b5a2f5da7..b1790c332b 100644 --- a/tests/baselines/reference/jsdocTemplateTag.types +++ b/tests/baselines/reference/jsdocTemplateTag.types @@ -43,11 +43,11 @@ let s = g('hi')() */ Element.prototype.animate = function(keyframes) {}; >Element.prototype.animate = function(keyframes) {} : (keyframes: Array) => void ->Element.prototype.animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation +>Element.prototype.animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions) => Animation >Element.prototype : Element >Element : { new (): Element; prototype: Element; } >prototype : Element ->animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions) => Animation +>animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions) => Animation >function(keyframes) {} : (keyframes: Array) => void >keyframes : any[] diff --git a/tests/baselines/reference/json.stringify.types b/tests/baselines/reference/json.stringify.types index 44f7636d46..fdbc6a6a61 100644 --- a/tests/baselines/reference/json.stringify.types +++ b/tests/baselines/reference/json.stringify.types @@ -5,27 +5,27 @@ var value = null; JSON.stringify(value, undefined, 2); >JSON.stringify(value, undefined, 2) : string ->JSON.stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >value : null >undefined : undefined >2 : 2 JSON.stringify(value, null, 2); >JSON.stringify(value, null, 2) : string ->JSON.stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >value : null >null : null >2 : 2 JSON.stringify(value, ["a", 1], 2); >JSON.stringify(value, ["a", 1], 2) : string ->JSON.stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >value : null >["a", 1] : (string | number)[] >"a" : "a" @@ -34,9 +34,9 @@ JSON.stringify(value, ["a", 1], 2); JSON.stringify(value, (k) => undefined, 2); >JSON.stringify(value, (k) => undefined, 2) : string ->JSON.stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >value : null >(k) => undefined : (this: any, k: string) => undefined >k : string @@ -45,9 +45,9 @@ JSON.stringify(value, (k) => undefined, 2); JSON.stringify(value, undefined, 2); >JSON.stringify(value, undefined, 2) : string ->JSON.stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string; (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >value : null >undefined : undefined >2 : 2 diff --git a/tests/baselines/reference/jsxCallbackWithDestructuring.types b/tests/baselines/reference/jsxCallbackWithDestructuring.types index 26d790343a..adfc40e8dd 100644 --- a/tests/baselines/reference/jsxCallbackWithDestructuring.types +++ b/tests/baselines/reference/jsxCallbackWithDestructuring.types @@ -12,7 +12,7 @@ declare class Component { >render : () => {} props: Readonly<{ children?: {} }> & Readonly

; ->props : Readonly<{ children?: {} | undefined; }> & Readonly

+>props : Readonly<{ children?: {}; }> & Readonly

>children : {} | undefined } @@ -38,7 +38,7 @@ declare global { export interface RouteProps { children?: (props: { x: number }) => any; ->children : ((props: { x: number;}) => any) | undefined +>children : ((props: { x: number; }) => any) | undefined >props : { x: number; } >x : number } diff --git a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types index 9b0f793c10..62c0188b8f 100644 --- a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types +++ b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types @@ -216,7 +216,7 @@ export type IsOptionUniqueHandler = (arg: { option: Optio >valueKey : string export type IsValidNewOptionHandler = (arg: { label: string }) => boolean; ->IsValidNewOptionHandler : (arg: { label: string;}) => boolean +>IsValidNewOptionHandler : (arg: { label: string; }) => boolean >arg : { label: string; } >label : string @@ -232,7 +232,7 @@ export type PromptTextCreatorHandler = (filterText: string) => string; >filterText : string export type ShouldKeyDownEventCreateNewOptionHandler = (arg: { keyCode: number }) => boolean; ->ShouldKeyDownEventCreateNewOptionHandler : (arg: { keyCode: number;}) => boolean +>ShouldKeyDownEventCreateNewOptionHandler : (arg: { keyCode: number; }) => boolean >arg : { keyCode: number; } >keyCode : number diff --git a/tests/baselines/reference/jsxDeclarationsWithEsModuleInteropNoCrash.js b/tests/baselines/reference/jsxDeclarationsWithEsModuleInteropNoCrash.js index 6b5117f906..19524e1302 100644 --- a/tests/baselines/reference/jsxDeclarationsWithEsModuleInteropNoCrash.js +++ b/tests/baselines/reference/jsxDeclarationsWithEsModuleInteropNoCrash.js @@ -39,4 +39,4 @@ declare namespace defaultProps { const bar_1: boolean; export { bar_1 as bar }; } -import PropTypes from "prop-types"; +import PropTypes from 'prop-types'; diff --git a/tests/baselines/reference/jsxEmitWithAttributes.types b/tests/baselines/reference/jsxEmitWithAttributes.types index 12eb61ccad..881bfe71ae 100644 --- a/tests/baselines/reference/jsxEmitWithAttributes.types +++ b/tests/baselines/reference/jsxEmitWithAttributes.types @@ -85,7 +85,7 @@ import { Element} from './Element'; >Element : typeof Element let c: { ->c : { a?: { b: string;}; } +>c : { a?: { b: string; }; } a?: { >a : { b: string; } diff --git a/tests/baselines/reference/jsxExcessPropsAndAssignability.types b/tests/baselines/reference/jsxExcessPropsAndAssignability.types index b0c77ff1be..773ed3af81 100644 --- a/tests/baselines/reference/jsxExcessPropsAndAssignability.types +++ b/tests/baselines/reference/jsxExcessPropsAndAssignability.types @@ -5,8 +5,8 @@ import * as React from 'react'; >React : typeof React const myHoc = ( ->myHoc : (ComposedComponent: React.ComponentClass) => void ->( ComposedComponent: React.ComponentClass,) => { type WrapperComponentProps = ComposedComponentProps & { myProp: string }; const WrapperComponent: React.ComponentClass = null as any; const props: ComposedComponentProps = null as any; ; ;} : (ComposedComponent: React.ComponentClass) => void +>myHoc : (ComposedComponent: React.ComponentClass) => void +>( ComposedComponent: React.ComponentClass,) => { type WrapperComponentProps = ComposedComponentProps & { myProp: string }; const WrapperComponent: React.ComponentClass = null as any; const props: ComposedComponentProps = null as any; ; ;} : (ComposedComponent: React.ComponentClass) => void ComposedComponent: React.ComponentClass, >ComposedComponent : React.ComponentClass diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.types b/tests/baselines/reference/jsxFactoryAndReactNamespace.types index ffb74d2cd2..12e231874b 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.types +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.types @@ -85,7 +85,7 @@ import { Element} from './Element'; >Element : typeof Element let c: { ->c : { a?: { b: string;}; } +>c : { a?: { b: string; }; } a?: { >a : { b: string; } diff --git a/tests/baselines/reference/jsxFactoryIdentifier.types b/tests/baselines/reference/jsxFactoryIdentifier.types index 756765a2ed..ddb83d5651 100644 --- a/tests/baselines/reference/jsxFactoryIdentifier.types +++ b/tests/baselines/reference/jsxFactoryIdentifier.types @@ -91,7 +91,7 @@ let createElement = Element.createElement; >createElement : (args: any[]) => {} let c: { ->c : { a?: { b: string;}; } +>c : { a?: { b: string; }; } a?: { >a : { b: string; } diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types index ffb74d2cd2..12e231874b 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types @@ -85,7 +85,7 @@ import { Element} from './Element'; >Element : typeof Element let c: { ->c : { a?: { b: string;}; } +>c : { a?: { b: string; }; } a?: { >a : { b: string; } diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types index ffb74d2cd2..12e231874b 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types @@ -85,7 +85,7 @@ import { Element} from './Element'; >Element : typeof Element let c: { ->c : { a?: { b: string;}; } +>c : { a?: { b: string; }; } a?: { >a : { b: string; } diff --git a/tests/baselines/reference/jsxFactoryQualifiedName.types b/tests/baselines/reference/jsxFactoryQualifiedName.types index 12eb61ccad..881bfe71ae 100644 --- a/tests/baselines/reference/jsxFactoryQualifiedName.types +++ b/tests/baselines/reference/jsxFactoryQualifiedName.types @@ -85,7 +85,7 @@ import { Element} from './Element'; >Element : typeof Element let c: { ->c : { a?: { b: string;}; } +>c : { a?: { b: string; }; } a?: { >a : { b: string; } diff --git a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types index a2a388c0bf..83a262a96f 100644 --- a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types +++ b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types @@ -2,7 +2,7 @@ /// import { Fragment, createElement } from "react" >Fragment : import("react").ComponentType<{}> ->createElement : { (type: "input", props?: import("react").InputHTMLAttributes & import("react").ClassAttributes, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

, T extends HTMLElement>(type: keyof import("react").ReactHTML, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement;

, T extends SVGElement>(type: keyof import("react").ReactSVG, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").ReactSVGElement;

, T extends Element>(type: string, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").DOMElement;

(type: import("react").SFC

, props?: import("react").Attributes & P, ...children: import("react").ReactNode[]): import("react").SFCElement

;

(type: import("react").ClassType, import("react").ClassicComponentClass

>, props?: import("react").ClassAttributes> & P, ...children: import("react").ReactNode[]): import("react").CElement>; , C extends import("react").ComponentClass>(type: import("react").ClassType, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").CElement;

(type: string | import("react").SFC

| import("react").ComponentClass, props?: import("react").Attributes & P, ...children: import("react").ReactNode[]): import("react").ReactElement

; } +>createElement : { (type: "input", props?: (InputHTMLAttributes & ClassAttributes) | null, ...children: ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

, T extends HTMLElement>(type: keyof ReactHTML, props?: (ClassAttributes & P) | null, ...children: ReactNode[]): import("react").DetailedReactHTMLElement;

, T extends SVGElement>(type: keyof ReactSVG, props?: (ClassAttributes & P) | null, ...children: ReactNode[]): import("react").ReactSVGElement;

, T extends Element>(type: string, props?: (ClassAttributes & P) | null, ...children: ReactNode[]): import("react").DOMElement;

(type: SFC

, props?: (Attributes & P) | null, ...children: ReactNode[]): import("react").SFCElement

;

(type: ClassType, ClassicComponentClass

>, props?: (ClassAttributes> & P) | null, ...children: ReactNode[]): import("react").CElement>; , C extends import("react").ComponentClass>(type: ClassType, props?: (ClassAttributes & P) | null, ...children: ReactNode[]): import("react").CElement;

(type: SFC

| ComponentClass

| string, props?: (Attributes & P) | null, ...children: ReactNode[]): import("react").ReactElement

; } type CounterProps = { >CounterProps : { count?: number; } diff --git a/tests/baselines/reference/jsxIntrinsicElementsCompatability.types b/tests/baselines/reference/jsxIntrinsicElementsCompatability.types index e0479dae19..a62fb1355f 100644 --- a/tests/baselines/reference/jsxIntrinsicElementsCompatability.types +++ b/tests/baselines/reference/jsxIntrinsicElementsCompatability.types @@ -4,8 +4,8 @@ import * as React from "react"; >React : typeof React function SomeComponent(props: { element?: T } & JSX.IntrinsicElements[T]): JSX.Element { ->SomeComponent : (props: { element?: T;} & JSX.IntrinsicElements[T]) => JSX.Element ->props : { element?: T | undefined; } & JSX.IntrinsicElements[T] +>SomeComponent : (props: { element?: T; } & JSX.IntrinsicElements[T]) => JSX.Element +>props : { element?: T; } & JSX.IntrinsicElements[T] >element : T | undefined >JSX : any >JSX : any @@ -22,7 +22,7 @@ function Test(el: T) { return > : JSX.Element ->SomeComponent : (props: { element?: T | undefined; } & JSX.IntrinsicElements[T]) => JSX.Element +>SomeComponent : (props: { element?: T; } & JSX.IntrinsicElements[T]) => JSX.Element >element : T >el : T } diff --git a/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types b/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types index 8496f08aa4..c3c0ee1cb2 100644 --- a/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types +++ b/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types @@ -18,7 +18,7 @@ namespace jsx { export interface IntrinsicAttributes {} export interface IntrinsicClassAttributes {} export type IntrinsicElements = { ->IntrinsicElements : { div: { className: string;}; } +>IntrinsicElements : { div: { className: string; }; } div: { className: string } >div : { className: string; } @@ -39,7 +39,7 @@ namespace jsx { } declare const Comp: (p: { className?: string }) => null ->Comp : (p: { className?: string;}) => null +>Comp : (p: { className?: string; }) => null >p : { className?: string; } >className : string >null : null diff --git a/tests/baselines/reference/jsxNamespaceGlobalReexport.types b/tests/baselines/reference/jsxNamespaceGlobalReexport.types index 655a3a7cab..02e2e2048e 100644 --- a/tests/baselines/reference/jsxNamespaceGlobalReexport.types +++ b/tests/baselines/reference/jsxNamespaceGlobalReexport.types @@ -90,13 +90,13 @@ import { JSXInternal } from '..'; >JSXInternal : any export function jsx( ->jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild;}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChild | undefined; }, key?: string | undefined): VNode; } +>jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -110,13 +110,13 @@ export function jsx( ): VNode; export function jsx

( ->jsx : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild;}, key?: string): VNode; } +>jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChild }, ->props : P & { children?: ComponentChild | undefined; } +>props : P & { children?: ComponentChild; } >children : ComponentChild | undefined key?: string @@ -125,13 +125,13 @@ export function jsx

( ): VNode; export function jsxs( ->jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[];}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChild[] | undefined; }, key?: string | undefined): VNode; } +>jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[] | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[]; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -145,13 +145,13 @@ export function jsxs( ): VNode; export function jsxs

( ->jsxs : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[] | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[];}, key?: string): VNode; } +>jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChild[] }, ->props : P & { children?: ComponentChild[] | undefined; } +>props : P & { children?: ComponentChild[]; } >children : ComponentChild[] | undefined key?: string @@ -160,13 +160,13 @@ export function jsxs

( ): VNode; export function jsxDEV( ->jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren;}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChildren | undefined; }, key?: string | undefined): VNode; } +>jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -180,13 +180,13 @@ export function jsxDEV( ): VNode; export function jsxDEV

( ->jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren;}, key?: string): VNode; } +>jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChildren }, ->props : P & { children?: ComponentChildren | undefined; } +>props : P & { children?: ComponentChildren; } >children : ComponentChildren | undefined key?: string diff --git a/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types b/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types index 99dcad4b53..cdba7ea10f 100644 --- a/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types +++ b/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types @@ -90,13 +90,13 @@ import { JSXInternal } from '..'; >JSXInternal : any export function jsx( ->jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild;}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChild | undefined; }, key?: string | undefined): VNode; } +>jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -110,13 +110,13 @@ export function jsx( ): VNode; export function jsx

( ->jsx : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild;}, key?: string): VNode; } +>jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChild }, ->props : P & { children?: ComponentChild | undefined; } +>props : P & { children?: ComponentChild; } >children : ComponentChild | undefined key?: string @@ -125,13 +125,13 @@ export function jsx

( ): VNode; export function jsxs( ->jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[];}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChild[] | undefined; }, key?: string | undefined): VNode; } +>jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[] | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[]; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -145,13 +145,13 @@ export function jsxs( ): VNode; export function jsxs

( ->jsxs : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[] | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[];}, key?: string): VNode; } +>jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChild[] }, ->props : P & { children?: ComponentChild[] | undefined; } +>props : P & { children?: ComponentChild[]; } >children : ComponentChild[] | undefined key?: string @@ -160,13 +160,13 @@ export function jsxs

( ): VNode; export function jsxDEV( ->jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren;}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChildren | undefined; }, key?: string | undefined): VNode; } +>jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -180,13 +180,13 @@ export function jsxDEV( ): VNode; export function jsxDEV

( ->jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren;}, key?: string): VNode; } +>jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChildren }, ->props : P & { children?: ComponentChildren | undefined; } +>props : P & { children?: ComponentChildren; } >children : ComponentChildren | undefined key?: string diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types index 71651f958b..fdafc67c2c 100644 --- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types +++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types @@ -90,13 +90,13 @@ import { JSXInternal } from '..'; >JSXInternal : any export function jsx( ->jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild;}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChild | undefined; }, key?: string | undefined): VNode; } +>jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -110,13 +110,13 @@ export function jsx( ): VNode; export function jsx

( ->jsx : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild;}, key?: string): VNode; } +>jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChild }, ->props : P & { children?: ComponentChild | undefined; } +>props : P & { children?: ComponentChild; } >children : ComponentChild | undefined key?: string @@ -126,13 +126,13 @@ export function jsx

( export function jsxs( ->jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[];}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChild[] | undefined; }, key?: string | undefined): VNode; } +>jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[] | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[]; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -146,13 +146,13 @@ export function jsxs( ): VNode; export function jsxs

( ->jsxs : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChild[] | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[];}, key?: string): VNode; } +>jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChild[] }, ->props : P & { children?: ComponentChild[] | undefined; } +>props : P & { children?: ComponentChild[]; } >children : ComponentChild[] | undefined key?: string @@ -162,13 +162,13 @@ export function jsxs

( export function jsxDEV( ->jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren;}, key?: string): VNode;

(type: ComponentType

, props: P & { children?: ComponentChildren | undefined; }, key?: string | undefined): VNode; } +>jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } type: string, >type : string props: JSXInternal.HTMLAttributes & ->props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren | undefined; } +>props : JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren; } >JSXInternal : any JSXInternal.SVGAttributes & @@ -182,13 +182,13 @@ export function jsxDEV( ): VNode; export function jsxDEV

( ->jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes<{}> & JSXInternal.SVGAttributes<{}> & Record & { children?: ComponentChildren | undefined; }, key?: string | undefined): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren;}, key?: string): VNode; } +>jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

(type: ComponentType

, props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } type: ComponentType

, >type : ComponentType

props: Attributes & P & { children?: ComponentChildren }, ->props : P & { children?: ComponentChildren | undefined; } +>props : P & { children?: ComponentChildren; } >children : ComponentChildren | undefined key?: string diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types index 1709e56427..00b872b135 100644 --- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types +++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=preserve).types @@ -92,7 +92,7 @@ export namespace EmotionJSX { extends ReactJSXIntrinsicClassAttributes {} type IntrinsicElements = { ->IntrinsicElements : { div: { css?: string | undefined; }; } +>IntrinsicElements : { div: { css?: string; }; } [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & { css?: string diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types index 1709e56427..00b872b135 100644 --- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types +++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromConfigPickedOverGlobalOne(jsx=react-jsx).types @@ -92,7 +92,7 @@ export namespace EmotionJSX { extends ReactJSXIntrinsicClassAttributes {} type IntrinsicElements = { ->IntrinsicElements : { div: { css?: string | undefined; }; } +>IntrinsicElements : { div: { css?: string; }; } [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & { css?: string diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types index e51abfb582..56dda10de4 100644 --- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types +++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespaceFromPragmaPickedOverGlobalOne.types @@ -92,7 +92,7 @@ export namespace EmotionJSX { extends ReactJSXIntrinsicClassAttributes { } type IntrinsicElements = { ->IntrinsicElements : { div: { css?: string | undefined; }; } +>IntrinsicElements : { div: { css?: string; }; } [K in keyof ReactJSXIntrinsicElements]: ReactJSXIntrinsicElements[K] & { css?: string diff --git a/tests/baselines/reference/jsxPartialSpread.types b/tests/baselines/reference/jsxPartialSpread.types index ec5fd0031c..18a2056f8c 100644 --- a/tests/baselines/reference/jsxPartialSpread.types +++ b/tests/baselines/reference/jsxPartialSpread.types @@ -1,8 +1,8 @@ === tests/cases/compiler/jsxPartialSpread.tsx === /// const Select = (p: {value?: unknown}) =>

; ->Select : (p: { value?: unknown;}) => JSX.Element ->(p: {value?: unknown}) =>

: (p: { value?: unknown;}) => JSX.Element +>Select : (p: { value?: unknown; }) => JSX.Element +>(p: {value?: unknown}) =>

: (p: { value?: unknown; }) => JSX.Element >p : { value?: unknown; } >value : unknown >

: JSX.Element @@ -13,7 +13,7 @@ import React from 'react'; >React : typeof React export function Repro({ SelectProps = {} }: { SelectProps?: Partial[0]> }) { ->Repro : ({ SelectProps }: { SelectProps?: Partial[0]>;}) => JSX.Element +>Repro : ({ SelectProps }: { SelectProps?: Partial[0]>; }) => JSX.Element >SelectProps : Partial<{ value?: unknown; }> >{} : {} >SelectProps : Partial<{ value?: unknown; }> | undefined diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index 13df0c25c6..c3335fd0f7 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -764,14 +764,14 @@ function f60(source: T, target: T) { } function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { ->f70 : (func: (k1: keyof T & keyof U, k2: keyof T | keyof U) => void) => void ->func : (k1: keyof T & keyof U, k2: keyof T | keyof U) => void +>f70 : (func: (k1: keyof (T | U), k2: keyof (T & U)) => void) => void +>func : (k1: keyof (T | U), k2: keyof (T & U)) => void >k1 : keyof T & keyof U >k2 : keyof T | keyof U func<{ a: any, b: any }, { a: any, c: any }>('a', 'a'); >func<{ a: any, b: any }, { a: any, c: any }>('a', 'a') : void ->func : (k1: keyof T & keyof U, k2: keyof T | keyof U) => void +>func : (k1: keyof (T | U), k2: keyof (T & U)) => void >a : any >b : any >a : any @@ -781,7 +781,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { func<{ a: any, b: any }, { a: any, c: any }>('a', 'b'); >func<{ a: any, b: any }, { a: any, c: any }>('a', 'b') : void ->func : (k1: keyof T & keyof U, k2: keyof T | keyof U) => void +>func : (k1: keyof (T | U), k2: keyof (T & U)) => void >a : any >b : any >a : any @@ -791,7 +791,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { func<{ a: any, b: any }, { a: any, c: any }>('a', 'c'); >func<{ a: any, b: any }, { a: any, c: any }>('a', 'c') : void ->func : (k1: keyof T & keyof U, k2: keyof T | keyof U) => void +>func : (k1: keyof (T | U), k2: keyof (T & U)) => void >a : any >b : any >a : any @@ -886,7 +886,7 @@ function f72(func: (x: T, y: U, k: K) => (T & } function f73(func: (x: T, y: U, k: K) => (T & U)[K]) { ->f73 : (func: (x: T, y: U, k: K) => (T & U)[K]) => void +>f73 : (func: (x: T, y: U, k: K) => (T & U)[K]) => void >func : (x: T, y: U, k: K) => (T & U)[K] >x : T >y : U @@ -936,7 +936,7 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ } function f74(func: (x: T, y: U, k: K) => (T | U)[K]) { ->f74 : (func: (x: T, y: U, k: K) => (T | U)[K]) => void +>f74 : (func: (x: T, y: U, k: K) => (T | U)[K]) => void >func : (x: T, y: U, k: K) => (T | U)[K] >x : T >y : U @@ -976,7 +976,7 @@ function f74(func: (x: T, y: U, k: K) => (T | U)[ } function f80(obj: T) { ->f80 : (obj: T) => void +>f80 : (obj: T) => void >a : { x: any; } >x : any >obj : T @@ -1027,7 +1027,7 @@ function f80(obj: T) { } function f81(obj: T) { ->f81 : (obj: T) => T["a"]["x"] +>f81 : (obj: T) => T["a"]["x"] >a : { x: any; } >x : any >obj : T @@ -1448,7 +1448,7 @@ function path(obj: any, ...keys: (string | number)[]): any { } type Thing = { ->Thing : { a: { x: number; y: string;}; b: boolean; } +>Thing : { a: { x: number; y: string; }; b: boolean; } a: { x: number, y: string }, >a : { x: number; y: string; } @@ -1659,7 +1659,7 @@ type MethodDescriptor = { } declare function dispatchMethod(name: M['name'], args: M['args']): M['returnValue']; ->dispatchMethod : (name: M['name'], args: M['args']) => M['returnValue'] +>dispatchMethod : (name: M["name"], args: M["args"]) => M["returnValue"] >name : M["name"] >args : M["args"] @@ -1719,7 +1719,7 @@ type Handler = { }; function onChangeGenericFunction(handler: Handler) { ->onChangeGenericFunction : (handler: Handler) => void +>onChangeGenericFunction : (handler: Handler) => void >handler : Handler >preset : number @@ -1973,7 +1973,7 @@ type Example = { [K in keyof T]: T[ >prop : any type Result = Example<{ a: { prop: string }; b: { prop: number } }>; ->Result : Example<{ a: { prop: string;}; b: { prop: number;}; }> +>Result : Example<{ a: { prop: string; }; b: { prop: number; }; }> >a : { prop: string; } >prop : string >b : { prop: number; } @@ -1987,7 +1987,7 @@ type Example2 = { [K in keyof Helper2]: Helper2[K]["prop"] }; >Example2 : Example2 type Result2 = Example2<{ 1: { prop: string }; 2: { prop: number } }>; ->Result2 : Example2<{ 1: { prop: string;}; 2: { prop: number;}; }> +>Result2 : Example2<{ 1: { prop: string; }; 2: { prop: number; }; }> >1 : { prop: string; } >prop : string >2 : { prop: number; } diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.types b/tests/baselines/reference/keyofAndIndexedAccess2.types index d82644efd5..20a2f3a9e8 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.types +++ b/tests/baselines/reference/keyofAndIndexedAccess2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts === function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: 'a' | 'b' | 'c') { ->f1 : (obj: { a: number; b: 0 | 1; c: string;}, k0: 'a', k1: 'a' | 'b', k2: 'a' | 'b' | 'c') => void +>f1 : (obj: { a: number; b: 0 | 1; c: string; }, k0: "a", k1: "a" | "b", k2: "a" | "b" | "c") => void >obj : { a: number; b: 0 | 1; c: string; } >a : number >b : 0 | 1 @@ -74,7 +74,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: } function f2(a: { x: number, y: number }, b: { [key: string]: number }, c: T, k: keyof T) { ->f2 : (a: { x: number; y: number;}, b: { [key: string]: number; }, c: T, k: keyof T) => void +>f2 : (a: { x: number; y: number; }, b: { [key: string]: number; }, c: T, k: keyof T) => void >key : string >a : { x: number; y: number; } >x : number @@ -194,7 +194,7 @@ function f3(a: { [P in K]: number }, b: { [key: string]: numbe } function f3b(a: { [P in K]: number }, b: { [P in string]: number }, k: K) { ->f3b : (a: { [P in K]: number; }, b: { [x: string]: number; }, k: K) => void +>f3b : (a: { [P in K]: number; }, b: { [P in string]: number; }, k: K) => void >a : { [P in K]: number; } >b : { [x: string]: number; } >k : K @@ -211,7 +211,7 @@ function f3b(a: { [P in K]: number }, b: { [P in string]: numb } function f4(a: { [key: string]: number }[K], b: number) { ->f4 : (a: number, b: number) => void +>f4 : (a: { [key: string]: number; }[K], b: number) => void >a : number >key : string >b : number @@ -391,9 +391,9 @@ export function getEntity(id: IdOf, state: EntityState): if (!ids.includes(id)) { >!ids.includes(id) : boolean >ids.includes(id) : boolean ->ids.includes : (searchElement: IdOf, fromIndex?: number | undefined) => boolean +>ids.includes : (searchElement: IdOf, fromIndex?: number) => boolean >ids : IdOf[] ->includes : (searchElement: IdOf, fromIndex?: number | undefined) => boolean +>includes : (searchElement: IdOf, fromIndex?: number) => boolean >id : IdOf return undefined; @@ -440,11 +440,11 @@ type B = A<{ [Q in keyof T]: StrictExclude, {}>; }>; // Repros from #30938 function fn} | {elements: Array}>(param: T, cb: (element: T['elements'][number]) => void) { ->fn : ; } | { elements: Array; }>(param: T, cb: (element: T['elements'][number]) => void) => void +>fn : ; } | { elements: Array; }>(param: T, cb: (element: T["elements"][number]) => void) => void >elements : string[] >elements : number[] >param : T ->cb : (element: T['elements'][number]) => void +>cb : (element: T["elements"][number]) => void >element : T["elements"][number] cb(param.elements[0]); diff --git a/tests/baselines/reference/literalTypeWidening.types b/tests/baselines/reference/literalTypeWidening.types index f40f9d1229..bcba18337e 100644 --- a/tests/baselines/reference/literalTypeWidening.types +++ b/tests/baselines/reference/literalTypeWidening.types @@ -305,7 +305,7 @@ function isSuccess(result: Result): result is T { } function isFailure(result: Result): result is FAILURE { ->isFailure : (result: Result) => result is "FAILURE" +>isFailure : (result: Result) => result is FAILURE >result : Result return result === FAILURE; diff --git a/tests/baselines/reference/localesObjectArgument.types b/tests/baselines/reference/localesObjectArgument.types index efaca6926d..0160200e89 100644 --- a/tests/baselines/reference/localesObjectArgument.types +++ b/tests/baselines/reference/localesObjectArgument.types @@ -2,25 +2,25 @@ const enUS = new Intl.Locale("en-US"); >enUS : Intl.Locale >new Intl.Locale("en-US") : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >"en-US" : "en-US" const deDE = new Intl.Locale("de-DE"); >deDE : Intl.Locale >new Intl.Locale("de-DE") : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >"de-DE" : "de-DE" const jaJP = new Intl.Locale("ja-JP"); >jaJP : Intl.Locale >new Intl.Locale("ja-JP") : Intl.Locale ->Intl.Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Intl.Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >Intl : typeof Intl ->Locale : new (tag: string | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +>Locale : new (tag: BCP47LanguageTag | Locale, options?: LocaleOptions) => Intl.Locale >"ja-JP" : "ja-JP" const now = new Date(); diff --git a/tests/baselines/reference/logicalAssignment2(target=es2015).types b/tests/baselines/reference/logicalAssignment2(target=es2015).types index 478affebc5..8753ea1a2f 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2015).types @@ -1,10 +1,10 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment2.ts === interface A { foo: { ->foo : { bar(): { baz: 0 | 1 | 42 | undefined | '';}; baz: 0 | 1 | 42 | undefined | ''; } +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } bar(): { ->bar : () => { baz: 0 | 1 | 42 | undefined | '';} +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } baz: 0 | 1 | 42 | undefined | '' >baz : "" | 0 | 1 | 42 | undefined diff --git a/tests/baselines/reference/logicalAssignment2(target=es2020).types b/tests/baselines/reference/logicalAssignment2(target=es2020).types index 478affebc5..8753ea1a2f 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2020).types @@ -1,10 +1,10 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment2.ts === interface A { foo: { ->foo : { bar(): { baz: 0 | 1 | 42 | undefined | '';}; baz: 0 | 1 | 42 | undefined | ''; } +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } bar(): { ->bar : () => { baz: 0 | 1 | 42 | undefined | '';} +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } baz: 0 | 1 | 42 | undefined | '' >baz : "" | 0 | 1 | 42 | undefined diff --git a/tests/baselines/reference/logicalAssignment2(target=es2021).types b/tests/baselines/reference/logicalAssignment2(target=es2021).types index 478affebc5..8753ea1a2f 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2021).types @@ -1,10 +1,10 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment2.ts === interface A { foo: { ->foo : { bar(): { baz: 0 | 1 | 42 | undefined | '';}; baz: 0 | 1 | 42 | undefined | ''; } +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } bar(): { ->bar : () => { baz: 0 | 1 | 42 | undefined | '';} +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } baz: 0 | 1 | 42 | undefined | '' >baz : "" | 0 | 1 | 42 | undefined diff --git a/tests/baselines/reference/logicalAssignment2(target=esnext).types b/tests/baselines/reference/logicalAssignment2(target=esnext).types index 478affebc5..8753ea1a2f 100644 --- a/tests/baselines/reference/logicalAssignment2(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment2(target=esnext).types @@ -1,10 +1,10 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment2.ts === interface A { foo: { ->foo : { bar(): { baz: 0 | 1 | 42 | undefined | '';}; baz: 0 | 1 | 42 | undefined | ''; } +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } bar(): { ->bar : () => { baz: 0 | 1 | 42 | undefined | '';} +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } baz: 0 | 1 | 42 | undefined | '' >baz : "" | 0 | 1 | 42 | undefined diff --git a/tests/baselines/reference/logicalAssignment5(target=es2015).types b/tests/baselines/reference/logicalAssignment5(target=es2015).types index 620d9bc4a6..9f232edb7d 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2015).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment5.ts === function foo1 (f?: (a: number) => void) { ->foo1 : (f?: ((a: number) => void) | undefined) => void +>foo1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -19,7 +19,7 @@ function foo1 (f?: (a: number) => void) { } function foo2 (f?: (a: number) => void) { ->foo2 : (f?: ((a: number) => void) | undefined) => void +>foo2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -38,7 +38,7 @@ function foo2 (f?: (a: number) => void) { } function foo3 (f?: (a: number) => void) { ->foo3 : (f?: ((a: number) => void) | undefined) => void +>foo3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -57,7 +57,7 @@ function foo3 (f?: (a: number) => void) { } function bar1 (f?: (a: number) => void) { ->bar1 : (f?: ((a: number) => void) | undefined) => void +>bar1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -82,7 +82,7 @@ function bar1 (f?: (a: number) => void) { } function bar2 (f?: (a: number) => void) { ->bar2 : (f?: ((a: number) => void) | undefined) => void +>bar2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -107,7 +107,7 @@ function bar2 (f?: (a: number) => void) { } function bar3 (f?: (a: number) => void) { ->bar3 : (f?: ((a: number) => void) | undefined) => void +>bar3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number diff --git a/tests/baselines/reference/logicalAssignment5(target=es2020).types b/tests/baselines/reference/logicalAssignment5(target=es2020).types index 620d9bc4a6..9f232edb7d 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2020).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment5.ts === function foo1 (f?: (a: number) => void) { ->foo1 : (f?: ((a: number) => void) | undefined) => void +>foo1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -19,7 +19,7 @@ function foo1 (f?: (a: number) => void) { } function foo2 (f?: (a: number) => void) { ->foo2 : (f?: ((a: number) => void) | undefined) => void +>foo2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -38,7 +38,7 @@ function foo2 (f?: (a: number) => void) { } function foo3 (f?: (a: number) => void) { ->foo3 : (f?: ((a: number) => void) | undefined) => void +>foo3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -57,7 +57,7 @@ function foo3 (f?: (a: number) => void) { } function bar1 (f?: (a: number) => void) { ->bar1 : (f?: ((a: number) => void) | undefined) => void +>bar1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -82,7 +82,7 @@ function bar1 (f?: (a: number) => void) { } function bar2 (f?: (a: number) => void) { ->bar2 : (f?: ((a: number) => void) | undefined) => void +>bar2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -107,7 +107,7 @@ function bar2 (f?: (a: number) => void) { } function bar3 (f?: (a: number) => void) { ->bar3 : (f?: ((a: number) => void) | undefined) => void +>bar3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number diff --git a/tests/baselines/reference/logicalAssignment5(target=es2021).types b/tests/baselines/reference/logicalAssignment5(target=es2021).types index 620d9bc4a6..9f232edb7d 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2021).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment5.ts === function foo1 (f?: (a: number) => void) { ->foo1 : (f?: ((a: number) => void) | undefined) => void +>foo1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -19,7 +19,7 @@ function foo1 (f?: (a: number) => void) { } function foo2 (f?: (a: number) => void) { ->foo2 : (f?: ((a: number) => void) | undefined) => void +>foo2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -38,7 +38,7 @@ function foo2 (f?: (a: number) => void) { } function foo3 (f?: (a: number) => void) { ->foo3 : (f?: ((a: number) => void) | undefined) => void +>foo3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -57,7 +57,7 @@ function foo3 (f?: (a: number) => void) { } function bar1 (f?: (a: number) => void) { ->bar1 : (f?: ((a: number) => void) | undefined) => void +>bar1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -82,7 +82,7 @@ function bar1 (f?: (a: number) => void) { } function bar2 (f?: (a: number) => void) { ->bar2 : (f?: ((a: number) => void) | undefined) => void +>bar2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -107,7 +107,7 @@ function bar2 (f?: (a: number) => void) { } function bar3 (f?: (a: number) => void) { ->bar3 : (f?: ((a: number) => void) | undefined) => void +>bar3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number diff --git a/tests/baselines/reference/logicalAssignment5(target=esnext).types b/tests/baselines/reference/logicalAssignment5(target=esnext).types index 620d9bc4a6..9f232edb7d 100644 --- a/tests/baselines/reference/logicalAssignment5(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment5(target=esnext).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment5.ts === function foo1 (f?: (a: number) => void) { ->foo1 : (f?: ((a: number) => void) | undefined) => void +>foo1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -19,7 +19,7 @@ function foo1 (f?: (a: number) => void) { } function foo2 (f?: (a: number) => void) { ->foo2 : (f?: ((a: number) => void) | undefined) => void +>foo2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -38,7 +38,7 @@ function foo2 (f?: (a: number) => void) { } function foo3 (f?: (a: number) => void) { ->foo3 : (f?: ((a: number) => void) | undefined) => void +>foo3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -57,7 +57,7 @@ function foo3 (f?: (a: number) => void) { } function bar1 (f?: (a: number) => void) { ->bar1 : (f?: ((a: number) => void) | undefined) => void +>bar1 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -82,7 +82,7 @@ function bar1 (f?: (a: number) => void) { } function bar2 (f?: (a: number) => void) { ->bar2 : (f?: ((a: number) => void) | undefined) => void +>bar2 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number @@ -107,7 +107,7 @@ function bar2 (f?: (a: number) => void) { } function bar3 (f?: (a: number) => void) { ->bar3 : (f?: ((a: number) => void) | undefined) => void +>bar3 : (f?: (a: number) => void) => void >f : ((a: number) => void) | undefined >a : number diff --git a/tests/baselines/reference/logicalAssignment8(target=es2015).types b/tests/baselines/reference/logicalAssignment8(target=es2015).types index ad2740ed34..92b268616d 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2015).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment8.ts === declare const bar: { value?: number[] } | undefined ->bar : { value?: number[] | undefined; } | undefined +>bar : { value?: number[]; } | undefined >value : number[] | undefined function foo1(results: number[] | undefined) { diff --git a/tests/baselines/reference/logicalAssignment8(target=es2020).types b/tests/baselines/reference/logicalAssignment8(target=es2020).types index ad2740ed34..92b268616d 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2020).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment8.ts === declare const bar: { value?: number[] } | undefined ->bar : { value?: number[] | undefined; } | undefined +>bar : { value?: number[]; } | undefined >value : number[] | undefined function foo1(results: number[] | undefined) { diff --git a/tests/baselines/reference/logicalAssignment8(target=es2021).types b/tests/baselines/reference/logicalAssignment8(target=es2021).types index ad2740ed34..92b268616d 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2021).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment8.ts === declare const bar: { value?: number[] } | undefined ->bar : { value?: number[] | undefined; } | undefined +>bar : { value?: number[]; } | undefined >value : number[] | undefined function foo1(results: number[] | undefined) { diff --git a/tests/baselines/reference/logicalAssignment8(target=esnext).types b/tests/baselines/reference/logicalAssignment8(target=esnext).types index ad2740ed34..92b268616d 100644 --- a/tests/baselines/reference/logicalAssignment8(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment8(target=esnext).types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment8.ts === declare const bar: { value?: number[] } | undefined ->bar : { value?: number[] | undefined; } | undefined +>bar : { value?: number[]; } | undefined >value : number[] | undefined function foo1(results: number[] | undefined) { diff --git a/tests/baselines/reference/logicalAssignment9.types b/tests/baselines/reference/logicalAssignment9.types index 76062618ef..dcce17cf08 100644 --- a/tests/baselines/reference/logicalAssignment9.types +++ b/tests/baselines/reference/logicalAssignment9.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es2021/logicalAssignment/logicalAssignment9.ts === declare let x: { a?: boolean }; ->x : { a?: boolean | undefined; } +>x : { a?: boolean; } >a : boolean | undefined x.a ??= true; diff --git a/tests/baselines/reference/mappedTypeAsClauses.types b/tests/baselines/reference/mappedTypeAsClauses.types index 31ee234f7d..b4866a8bf2 100644 --- a/tests/baselines/reference/mappedTypeAsClauses.types +++ b/tests/baselines/reference/mappedTypeAsClauses.types @@ -33,10 +33,10 @@ type TP1 = TypeFromDefs<{ name: 'a', type: string } | { name: 'b', type: number // No array or tuple type mapping when 'as N' clause present type TA1 = Getters; ->TA1 : { getConcat: () => { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }; getIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => string[]; getLength: () => number; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => string | undefined; getPush: () => (...items: string[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => string[]; getShift: () => () => string | undefined; getSort: () => (compareFn?: ((a: string, b: string) => number) | undefined) => string[]; getSplice: () => { (start: number, deleteCount?: number | undefined): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; }; getUnshift: () => (...items: string[]) => number; getEvery: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[]; }; getReduce: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; } +>TA1 : { getConcat: () => { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }; getIndexOf: () => (searchElement: string, fromIndex?: number) => number; getLastIndexOf: () => (searchElement: string, fromIndex?: number) => number; getSlice: () => (start?: number, end?: number) => string[]; getLength: () => number; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => string | undefined; getPush: () => (...items: string[]) => number; getJoin: () => (separator?: string) => string; getReverse: () => () => string[]; getShift: () => () => string | undefined; getSort: () => (compareFn?: ((a: string, b: string) => number) | undefined) => string[]; getSplice: () => { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; }; getUnshift: () => (...items: string[]) => number; getEvery: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[]; }; getReduce: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; } type TA2 = Getters<[number, boolean]>; ->TA2 : { getConcat: () => { (...items: ConcatArray[]): (number | boolean)[]; (...items: (number | boolean | ConcatArray)[]): (number | boolean)[]; }; getIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => (number | boolean)[]; getLength: () => 2; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => number | boolean | undefined; getPush: () => (...items: (number | boolean)[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => (number | boolean)[]; getShift: () => () => number | boolean | undefined; getSort: () => (compareFn?: ((a: number | boolean, b: number | boolean) => number) | undefined) => [number, boolean]; getSplice: () => { (start: number, deleteCount?: number | undefined): (number | boolean)[]; (start: number, deleteCount: number, ...items: (number | boolean)[]): (number | boolean)[]; }; getUnshift: () => (...items: (number | boolean)[]) => number; getEvery: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): (number | boolean)[]; }; getReduce: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; get0: () => number; get1: () => boolean; } +>TA2 : { getConcat: () => { (...items: ConcatArray[]): (number | boolean)[]; (...items: (number | boolean | ConcatArray)[]): (number | boolean)[]; }; getIndexOf: () => (searchElement: number | boolean, fromIndex?: number) => number; getLastIndexOf: () => (searchElement: number | boolean, fromIndex?: number) => number; getSlice: () => (start?: number, end?: number) => (number | boolean)[]; getLength: () => 2; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => number | boolean | undefined; getPush: () => (...items: (number | boolean)[]) => number; getJoin: () => (separator?: string) => string; getReverse: () => () => (number | boolean)[]; getShift: () => () => number | boolean | undefined; getSort: () => (compareFn?: ((a: number | boolean, b: number | boolean) => number) | undefined) => [number, boolean]; getSplice: () => { (start: number, deleteCount?: number): (number | boolean)[]; (start: number, deleteCount: number, ...items: (number | boolean)[]): (number | boolean)[]; }; getUnshift: () => (...items: (number | boolean)[]) => number; getEvery: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): (number | boolean)[]; }; getReduce: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; get0: () => number; get1: () => boolean; } // Filtering using 'as N' clause @@ -200,7 +200,7 @@ type Task = { }; type Schema = { ->Schema : { root: { title: string; task: Task;}; Task: Task; } +>Schema : { root: { title: string; task: Task; }; Task: Task; } root: { >root : { title: string; task: Task; } @@ -248,11 +248,11 @@ function f(x: KeysExtendedBy) { f("a"); // Error, should allow only "b" >f("a") : "b" ->f : (x: "b") => "b" +>f : (x: KeysExtendedBy) => "b" >"a" : "a" type NameMap = { 'a': 'x', 'b': 'y', 'c': 'z' }; ->NameMap : { a: 'x'; b: 'y'; c: 'z'; } +>NameMap : { a: "x"; b: "y"; c: "z"; } >'a' : "x" >'b' : "y" >'c' : "z" diff --git a/tests/baselines/reference/mappedTypeConstraints.types b/tests/baselines/reference/mappedTypeConstraints.types index 86099d594d..36e576fcc3 100644 --- a/tests/baselines/reference/mappedTypeConstraints.types +++ b/tests/baselines/reference/mappedTypeConstraints.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/mapped/mappedTypeConstraints.ts === function f0(obj: Pick>) { ->f0 : (obj: Pick>) => void +>f0 : (obj: Pick>) => void >a : string >b : string >obj : Pick> @@ -12,7 +12,7 @@ function f0(obj: Pick(obj: Pick>) { ->f1 : (obj: Pick>) => void +>f1 : (obj: Pick>) => void >a : string >b : string >obj : Pick> @@ -62,7 +62,7 @@ function f3(obj: Record | 'c', string>) { ->f4 : (obj: Record | 'c', string>) => void +>f4 : (obj: Record | "c", string>) => void >a : string >b : string >obj : Record<"c" | Exclude, string> diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index d7d683313a..2649f78f93 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -434,7 +434,7 @@ c.setState({ c: true }); // Error >true : true type T2 = { a?: number, [key: string]: any }; ->T2 : { [key: string]: any; a?: number | undefined; } +>T2 : { [key: string]: any; a?: number; } >a : number | undefined >key : string diff --git a/tests/baselines/reference/mappedTypeErrors2.types b/tests/baselines/reference/mappedTypeErrors2.types index 91b38ae100..7a056b5359 100644 --- a/tests/baselines/reference/mappedTypeErrors2.types +++ b/tests/baselines/reference/mappedTypeErrors2.types @@ -2,7 +2,7 @@ // Repros from #17238 type AB = { ->AB : { a: 'a'; b: 'a'; } +>AB : { a: "a"; b: "a"; } a: 'a' >a : "a" diff --git a/tests/baselines/reference/mappedTypeGenericIndexedAccess.types b/tests/baselines/reference/mappedTypeGenericIndexedAccess.types index 31effd4a6c..abfced7c21 100644 --- a/tests/baselines/reference/mappedTypeGenericIndexedAccess.types +++ b/tests/baselines/reference/mappedTypeGenericIndexedAccess.types @@ -2,7 +2,7 @@ // Repro from #49242 type Types = { ->Types : { first: { a1: true;}; second: { a2: true;}; third: { a3: true;}; } +>Types : { first: { a1: true; }; second: { a2: true; }; third: { a3: true; }; } first: { a1: true }; >first : { a1: true; } @@ -73,15 +73,15 @@ class Test { // Repro from #49338 type TypesMap = { ->TypesMap : { 0: { foo: 'bar';}; 1: { a: 'b';}; } +>TypesMap : { 0: { foo: "bar"; }; 1: { a: "b"; }; } [0]: { foo: 'bar'; }; ->[0] : { foo: 'bar'; } +>[0] : { foo: "bar"; } >0 : 0 >foo : "bar" [1]: { a: 'b'; }; ->[1] : { a: 'b'; } +>[1] : { a: "b"; } >1 : 1 >a : "b" diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.types b/tests/baselines/reference/mappedTypeInferenceErrors.types index c8c80a0c6a..abacced1ee 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.types +++ b/tests/baselines/reference/mappedTypeInferenceErrors.types @@ -8,7 +8,7 @@ type ComputedOf = { } declare function foo(options: { props: P, computed: ComputedOf } & ThisType

): void; ->foo : (options: { props: P; computed: ComputedOf;} & ThisType

) => void +>foo : (options: { props: P; computed: ComputedOf; } & ThisType

) => void >options : { props: P; computed: ComputedOf; } & ThisType

>props : P >computed : ComputedOf diff --git a/tests/baselines/reference/mappedTypeModifiers.types b/tests/baselines/reference/mappedTypeModifiers.types index dac3cc2641..e99100c03e 100644 --- a/tests/baselines/reference/mappedTypeModifiers.types +++ b/tests/baselines/reference/mappedTypeModifiers.types @@ -5,7 +5,7 @@ type T = { a: number, b: string }; >b : string type TP = { a?: number, b?: string }; ->TP : { a?: number | undefined; b?: string | undefined; } +>TP : { a?: number; b?: string; } >a : number | undefined >b : string | undefined @@ -15,7 +15,7 @@ type TR = { readonly a: number, readonly b: string }; >b : string type TPR = { readonly a?: number, readonly b?: string }; ->TPR : { readonly a?: number | undefined; readonly b?: string | undefined; } +>TPR : { readonly a?: number; readonly b?: string; } >a : number | undefined >b : string | undefined @@ -105,28 +105,28 @@ type Boxified = { [P in keyof T]: { x: T[P] } }; >x : T[P] type B = { a: { x: number }, b: { x: string } }; ->B : { a: { x: number;}; b: { x: string;}; } +>B : { a: { x: number; }; b: { x: string; }; } >a : { x: number; } >x : number >b : { x: string; } >x : string type BP = { a?: { x: number }, b?: { x: string } }; ->BP : { a?: { x: number; } | undefined; b?: { x: string; } | undefined; } +>BP : { a?: { x: number; }; b?: { x: string; }; } >a : { x: number; } | undefined >x : number >b : { x: string; } | undefined >x : string type BR = { readonly a: { x: number }, readonly b: { x: string } }; ->BR : { readonly a: { x: number;}; readonly b: { x: string;}; } +>BR : { readonly a: { x: number; }; readonly b: { x: string; }; } >a : { x: number; } >x : number >b : { x: string; } >x : string type BPR = { readonly a?: { x: number }, readonly b?: { x: string } }; ->BPR : { readonly a?: { x: number; } | undefined; readonly b?: { x: string; } | undefined; } +>BPR : { readonly a?: { x: number; }; readonly b?: { x: string; }; } >a : { x: number; } | undefined >x : number >b : { x: string; } | undefined @@ -229,14 +229,14 @@ function f1(x: Partial) { (x["other"] || 0).toFixed(); >(x["other"] || 0).toFixed() : string ->(x["other"] || 0).toFixed : (fractionDigits?: number | undefined) => string +>(x["other"] || 0).toFixed : (fractionDigits?: number) => string >(x["other"] || 0) : number >x["other"] || 0 : number >x["other"] : number | undefined >x : Partial >"other" : "other" >0 : 0 ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } function f2(x: Readonly) { @@ -250,11 +250,11 @@ function f2(x: Readonly) { x["other"].toFixed(); >x["other"].toFixed() : string ->x["other"].toFixed : (fractionDigits?: number | undefined) => string +>x["other"].toFixed : (fractionDigits?: number) => string >x["other"] : number >x : Readonly >"other" : "other" ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } function f3(x: Boxified) { @@ -268,17 +268,17 @@ function f3(x: Boxified) { x["other"].x.toFixed(); >x["other"].x.toFixed() : string ->x["other"].x.toFixed : (fractionDigits?: number | undefined) => string +>x["other"].x.toFixed : (fractionDigits?: number) => string >x["other"].x : number >x["other"] : { x: number; } >x : Boxified >"other" : "other" >x : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } function f4(x: { [P in keyof Foo]: Foo[P] }) { ->f4 : (x: { [x: string]: number; prop: number; }) => void +>f4 : (x: { [P in keyof Foo]: Foo[P]; }) => void >x : { [x: string]: number; prop: number; } x.prop; // ok @@ -288,10 +288,10 @@ function f4(x: { [P in keyof Foo]: Foo[P] }) { x["other"].toFixed(); >x["other"].toFixed() : string ->x["other"].toFixed : (fractionDigits?: number | undefined) => string +>x["other"].toFixed : (fractionDigits?: number) => string >x["other"] : number >x : { [x: string]: number; prop: number; } >"other" : "other" ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } diff --git a/tests/baselines/reference/mappedTypeProperties.types b/tests/baselines/reference/mappedTypeProperties.types index 0a75c22866..70edcca959 100644 --- a/tests/baselines/reference/mappedTypeProperties.types +++ b/tests/baselines/reference/mappedTypeProperties.types @@ -3,7 +3,7 @@ export type PlaceType = 'openSky' | 'roofed' | 'garage' >PlaceType : "openSky" | "roofed" | "garage" type Before = { ->Before : { model: 'hour' | 'day'; } +>Before : { model: "hour" | "day"; } model: 'hour' | 'day'; >model : "hour" | "day" @@ -35,7 +35,7 @@ type AfterMethod = { [placeType in PlaceType]?: void; model(duration: number): 'hour' | 'day'; ->model : (duration: number) => 'hour' | 'day' +>model : (duration: number) => "hour" | "day" >duration : number } diff --git a/tests/baselines/reference/mappedTypes4.types b/tests/baselines/reference/mappedTypes4.types index 81e5b163d4..b2c7645fde 100644 --- a/tests/baselines/reference/mappedTypes4.types +++ b/tests/baselines/reference/mappedTypes4.types @@ -114,7 +114,7 @@ type DeepReadonly = { }; type Foo = { ->Foo : { x: number; y: { a: string; b: number;}; z: boolean; } +>Foo : { x: number; y: { a: string; b: number; }; z: boolean; } x: number; >x : number @@ -130,7 +130,7 @@ type Foo = { }; type DeepReadonlyFoo = { ->DeepReadonlyFoo : { readonly x: number; readonly y: { readonly a: string; readonly b: number;}; readonly z: boolean; } +>DeepReadonlyFoo : { readonly x: number; readonly y: { readonly a: string; readonly b: number; }; readonly z: boolean; } readonly x: number; >x : number diff --git a/tests/baselines/reference/mappedTypes6.types b/tests/baselines/reference/mappedTypes6.types index 871f686761..216d392805 100644 --- a/tests/baselines/reference/mappedTypes6.types +++ b/tests/baselines/reference/mappedTypes6.types @@ -278,7 +278,7 @@ function f10(x: Readonly, y: T, z: Readwrite) { } type Foo = { ->Foo : { a: number; b: number | undefined; c?: number | undefined; d?: number | undefined; } +>Foo : { a: number; b: number | undefined; c?: number; d?: number | undefined; } a: number; >a : number diff --git a/tests/baselines/reference/mappedTypesArraysTuples.types b/tests/baselines/reference/mappedTypesArraysTuples.types index df45afac11..0684413792 100644 --- a/tests/baselines/reference/mappedTypesArraysTuples.types +++ b/tests/baselines/reference/mappedTypesArraysTuples.types @@ -142,7 +142,7 @@ let y21 = nonpartial(x21); >x21 : (number | undefined)[] declare let x22: { a: number | undefined, b?: string[] }; ->x22 : { a: number | undefined; b?: string[] | undefined; } +>x22 : { a: number | undefined; b?: string[]; } >a : number | undefined >b : string[] | undefined diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types index 6fbf0a1438..7e306ff10d 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.types @@ -17,7 +17,7 @@ class C { >y : any private bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" private bar(x: string); @@ -49,7 +49,7 @@ class C { >y : any private static bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" private static bar(x: string); @@ -85,7 +85,7 @@ class D { >y : any private bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: T, y: T): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: T, y: T): any; } >x : "hi" private bar(x: string); @@ -117,7 +117,7 @@ class D { >y : any private static bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: number): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: number): any; } >x : "hi" private static bar(x: string); diff --git a/tests/baselines/reference/memberFunctionsWithPublicOverloads.types b/tests/baselines/reference/memberFunctionsWithPublicOverloads.types index 35e82cf1ed..1e3ce05ba3 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicOverloads.types +++ b/tests/baselines/reference/memberFunctionsWithPublicOverloads.types @@ -17,7 +17,7 @@ class C { >y : any public bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public bar(x: string); @@ -49,7 +49,7 @@ class C { >y : any public static bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public static bar(x: string); @@ -85,7 +85,7 @@ class D { >y : any public bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: T, y: T): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: T, y: T): any; } >x : "hi" public bar(x: string); @@ -117,7 +117,7 @@ class D { >y : any public static bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public static bar(x: string); diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types index d158fdd8b4..b210bcd375 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.types @@ -17,7 +17,7 @@ class C { >y : any private bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public bar(x: string); // error @@ -63,7 +63,7 @@ class C { >y : any private static bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public static bar(x: string); // error @@ -81,7 +81,7 @@ class C { >y : any protected static baz(x: 'hi'); ->baz : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>baz : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public static baz(x: string); // error @@ -117,7 +117,7 @@ class D { >y : any private bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: T, y: T): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: T, y: T): any; } >x : "hi" public bar(x: string); // error @@ -163,7 +163,7 @@ class D { >y : any private static bar(x: 'hi'); ->bar : { (x: 'hi'): any; (x: string): any; (x: number, y: string): any; } +>bar : { (x: "hi"): any; (x: string): any; (x: number, y: string): any; } >x : "hi" public static bar(x: string); // error diff --git a/tests/baselines/reference/misspelledJsDocTypedefTags.types b/tests/baselines/reference/misspelledJsDocTypedefTags.types index 9a42e2d1cd..b8d36126bb 100644 --- a/tests/baselines/reference/misspelledJsDocTypedefTags.types +++ b/tests/baselines/reference/misspelledJsDocTypedefTags.types @@ -4,7 +4,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel.ScreenshotCapture.Request : error >Animation.AnimationModel.ScreenshotCapture : any >Animation.AnimationModel : any ->Animation : { new (effect?: AnimationEffect, timeline?: AnimationTimeline): Animation; prototype: Animation; } +>Animation : { new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; prototype: Animation; } >AnimationModel : any >ScreenshotCapture : any >Request : any @@ -14,7 +14,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel.ScreenshotCapture.Request : error >Animation.AnimationModel.ScreenshotCapture : any >Animation.AnimationModel : any ->Animation : { new (effect?: AnimationEffect, timeline?: AnimationTimeline): Animation; prototype: Animation; } +>Animation : { new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; prototype: Animation; } >AnimationModel : any >ScreenshotCapture : any >Request : any diff --git a/tests/baselines/reference/mixinAccessModifiers.types b/tests/baselines/reference/mixinAccessModifiers.types index c104bfa235..8c9e73f8e8 100644 --- a/tests/baselines/reference/mixinAccessModifiers.types +++ b/tests/baselines/reference/mixinAccessModifiers.types @@ -345,7 +345,7 @@ function f7(x: ProtectedGeneric<{}> & ProtectedGeneric<{}>) { } function f8(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric2<{a:void;b:void;}>) { ->f8 : (x: ProtectedGeneric<{ a: void;}> & ProtectedGeneric2<{ a: void; b: void;}>) => void +>f8 : (x: ProtectedGeneric<{ a: void; }> & ProtectedGeneric2<{ a: void; b: void; }>) => void >x : never >a : void >a : void @@ -365,7 +365,7 @@ function f8(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric2<{a:void;b:void;} } function f9(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric<{a:void;b:void;}>) { ->f9 : (x: ProtectedGeneric<{ a: void;}> & ProtectedGeneric<{ a: void; b: void;}>) => void +>f9 : (x: ProtectedGeneric<{ a: void; }> & ProtectedGeneric<{ a: void; b: void; }>) => void >x : ProtectedGeneric<{ a: void; }> & ProtectedGeneric<{ a: void; b: void; }> >a : void >a : void diff --git a/tests/baselines/reference/moduleAliasAsFunctionArgument.types b/tests/baselines/reference/moduleAliasAsFunctionArgument.types index 73de2422ab..dc621aa5db 100644 --- a/tests/baselines/reference/moduleAliasAsFunctionArgument.types +++ b/tests/baselines/reference/moduleAliasAsFunctionArgument.types @@ -4,7 +4,7 @@ import a = require('moduleAliasAsFunctionArgument_0'); >a : typeof a function fn(arg: { x: number }) { ->fn : (arg: { x: number;}) => void +>fn : (arg: { x: number; }) => void >arg : { x: number; } >x : number } diff --git a/tests/baselines/reference/moduleExportAssignment7.types b/tests/baselines/reference/moduleExportAssignment7.types index da89258952..6ad394551d 100644 --- a/tests/baselines/reference/moduleExportAssignment7.types +++ b/tests/baselines/reference/moduleExportAssignment7.types @@ -139,7 +139,7 @@ function jsvalues(a, b, c, d, e, f, g) { === tests/cases/conformance/salsa/index.ts === function types( ->types : (a: any, b: any, c: any, d: any, e: any, f: import('./mod').buz, g: any) => any +>types : (a: any, b: any, c: any, d: any, e: any, f: import("./mod").buz, g: any) => any a: import('./mod').Thing, >a : any @@ -190,7 +190,7 @@ function types( } function values( ->values : (a: typeof import('./mod').Thing, b: typeof import('./mod').AnotherThing, c: typeof import('./mod').foo, d: typeof import('./mod').qux, e: typeof import('./mod').baz, f: any, g: typeof import('./mod').literal) => any +>values : (a: typeof import("./mod").Thing, b: typeof import("./mod").AnotherThing, c: typeof import("./mod").foo, d: typeof import("./mod").qux, e: typeof import("./mod").baz, f: any, g: typeof import("./mod").literal) => any a: typeof import('./mod').Thing, >a : typeof Thing diff --git a/tests/baselines/reference/moduleExportDuplicateAlias3.types b/tests/baselines/reference/moduleExportDuplicateAlias3.types index e4306d1b24..192297727e 100644 --- a/tests/baselines/reference/moduleExportDuplicateAlias3.types +++ b/tests/baselines/reference/moduleExportDuplicateAlias3.types @@ -8,9 +8,9 @@ const { apply } = require('./moduleExportAliasDuplicateAlias') const result = apply.toFixed() >result : string >apply.toFixed() : string ->apply.toFixed : (fractionDigits?: number | undefined) => string +>apply.toFixed : (fractionDigits?: number) => string >apply : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string === tests/cases/conformance/salsa/moduleExportAliasDuplicateAlias.js === exports.apply = undefined; diff --git a/tests/baselines/reference/multiLineErrors.types b/tests/baselines/reference/multiLineErrors.types index 547696bccb..d547face66 100644 --- a/tests/baselines/reference/multiLineErrors.types +++ b/tests/baselines/reference/multiLineErrors.types @@ -4,7 +4,7 @@ var t = 32; >32 : 32 function noReturn(): { ->noReturn : () => { n: string; y: number;} +>noReturn : () => { n: string; y: number; } n: string; >n : string diff --git a/tests/baselines/reference/multiline.types b/tests/baselines/reference/multiline.types index b83f82571c..d20c1ed1a1 100644 --- a/tests/baselines/reference/multiline.types +++ b/tests/baselines/reference/multiline.types @@ -35,7 +35,7 @@ import * as React from "react"; >React : typeof React export function MyComponent(props: { foo: string }) { ->MyComponent : (props: { foo: string;}) => JSX.Element +>MyComponent : (props: { foo: string; }) => JSX.Element >props : { foo: string; } >foo : string diff --git a/tests/baselines/reference/namedTupleMembers.js b/tests/baselines/reference/namedTupleMembers.js index 80d40f9c86..de6d469755 100644 --- a/tests/baselines/reference/namedTupleMembers.js +++ b/tests/baselines/reference/namedTupleMembers.js @@ -131,7 +131,7 @@ export declare const func: Func; export declare function useState(initial: T): [value: T, setter: (T: any) => void]; export type Iter = Func<[step: number, iterations: number]>; export declare function readSegment([length, count]: [number, number]): void; -export declare const val: [number, number]; +export declare const val: Parameters[0]; export type RecursiveTupleA = [initial: string, next: RecursiveTupleA]; export type RecursiveTupleB = [first: string, ptr: RecursiveTupleB]; export type RecusiveRest = [first: string, ...rest: RecusiveRest[]]; diff --git a/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types b/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types index a7652416c4..acd8bcd56a 100644 --- a/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types +++ b/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types @@ -1,10 +1,10 @@ === tests/cases/compiler/index.ts === import X = require("./file"); ->X : { (opts?: X.Whatever): void; (cb: Function, opts?: X.Whatever): void; } +>X : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } X(0); // shouldn't cause a crash >X(0) : void ->X : { (opts?: X.Whatever): void; (cb: Function, opts?: X.Whatever): void; } +>X : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } >0 : 0 === tests/cases/compiler/file.d.ts === diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.types b/tests/baselines/reference/narrowExceptionVariableInCatchClause.types index 8f35bbaf89..f7b3f35a77 100644 --- a/tests/baselines/reference/narrowExceptionVariableInCatchClause.types +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts === declare function isFooError(x: any): x is { type: 'foo'; dontPanic(); }; ->isFooError : (x: any) => x is { type: 'foo'; dontPanic(): any; } +>isFooError : (x: any) => x is { type: "foo"; dontPanic(): any; } >x : any >type : "foo" >dontPanic : () => any diff --git a/tests/baselines/reference/narrowingByTypeofInSwitch.types b/tests/baselines/reference/narrowingByTypeofInSwitch.types index 8d06e9243c..16cac6a2e2 100644 --- a/tests/baselines/reference/narrowingByTypeofInSwitch.types +++ b/tests/baselines/reference/narrowingByTypeofInSwitch.types @@ -450,9 +450,9 @@ function exhaustiveChecks(x: number | string | L | R): string { case 'number': return x.toString(2); >'number' : "number" >x.toString(2) : string ->x.toString : (radix?: number | undefined) => string +>x.toString : (radix?: number) => string >x : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string >2 : 2 case 'string': return x; @@ -484,9 +484,9 @@ function exhaustiveChecksGenerics(x: T): stri case 'number': return x.toString(2); >'number' : "number" >x.toString(2) : string ->x.toString : (radix?: number | undefined) => string +>x.toString : (radix?: number) => string >x : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string >2 : 2 case 'string': return x; @@ -870,7 +870,7 @@ function narrowingNarrows(x: {} | undefined) { } function narrowingNarrows2(x: true | 3 | 'hello' | undefined) { ->narrowingNarrows2 : (x: true | 3 | 'hello' | undefined) => void +>narrowingNarrows2 : (x: true | 3 | "hello" | undefined) => void >x : true | 3 | "hello" | undefined >true : true diff --git a/tests/baselines/reference/narrowingConstrainedTypeVariable.types b/tests/baselines/reference/narrowingConstrainedTypeVariable.types index 2d44fe602c..be0cbbdfb3 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeVariable.types +++ b/tests/baselines/reference/narrowingConstrainedTypeVariable.types @@ -52,7 +52,7 @@ class E { x: string | undefined } >x : string | undefined function f3(v: T | { x: string }) { ->f3 : (v: T | { x: string;}) => void +>f3 : (v: T | { x: string; }) => void >v : T | { x: string; } >x : string diff --git a/tests/baselines/reference/narrowingDestructuring.types b/tests/baselines/reference/narrowingDestructuring.types index 24ff38a297..700fa14e24 100644 --- a/tests/baselines/reference/narrowingDestructuring.types +++ b/tests/baselines/reference/narrowingDestructuring.types @@ -39,7 +39,7 @@ function func(value: T) { } type Z = { kind: "f", f: { a: number, b: string, c: number } } ->Z : { kind: "f"; f: { a: number; b: string; c: number;}; } | { kind: "g"; g: { a: string; b: number; c: string;}; } +>Z : { kind: "f"; f: { a: number; b: string; c: number; }; } | { kind: "g"; g: { a: string; b: number; c: string; }; } >kind : "f" >f : { a: number; b: string; c: number; } >a : number diff --git a/tests/baselines/reference/narrowingOfQualifiedNames.types b/tests/baselines/reference/narrowingOfQualifiedNames.types index d95620a6dd..248994a253 100644 --- a/tests/baselines/reference/narrowingOfQualifiedNames.types +++ b/tests/baselines/reference/narrowingOfQualifiedNames.types @@ -56,10 +56,10 @@ function init(properties: IProperties) { interface DeepOptional { a?: { ->a : { b?: { c?: string | undefined; } | undefined; } | undefined +>a : { b?: { c?: string; }; } | undefined b?: { ->b : { c?: string | undefined; } | undefined +>b : { c?: string; } | undefined c?: string >c : string | undefined @@ -261,13 +261,13 @@ function init2(foo: DeepOptional) { // Repro from #48289 type Fish = { type: 'fish', hasFins: true } ->Fish : { type: 'fish'; hasFins: true; } +>Fish : { type: "fish"; hasFins: true; } >type : "fish" >hasFins : true >true : true type Dog = { type: 'dog', saysWoof: true } ->Dog : { type: 'dog'; saysWoof: true; } +>Dog : { type: "dog"; saysWoof: true; } >type : "dog" >saysWoof : true >true : true diff --git a/tests/baselines/reference/narrowingTypeofFunction.types b/tests/baselines/reference/narrowingTypeofFunction.types index 19b11f2b2f..db65d98011 100644 --- a/tests/baselines/reference/narrowingTypeofFunction.types +++ b/tests/baselines/reference/narrowingTypeofFunction.types @@ -44,7 +44,7 @@ function f2(x: (T & F) | T & string) { } function f3(x: { _foo: number } & number) { ->f3 : (x: { _foo: number;} & number) => void +>f3 : (x: { _foo: number; } & number) => void >x : { _foo: number; } & number >_foo : number diff --git a/tests/baselines/reference/narrowingTypeofObject.types b/tests/baselines/reference/narrowingTypeofObject.types index 16284302c3..402e56146a 100644 --- a/tests/baselines/reference/narrowingTypeofObject.types +++ b/tests/baselines/reference/narrowingTypeofObject.types @@ -2,7 +2,7 @@ interface F { (): string } function test(x: number & { _foo: string }) { ->test : (x: number & { _foo: string;}) => void +>test : (x: number & { _foo: string; }) => void >x : number & { _foo: string; } >_foo : string @@ -18,7 +18,7 @@ function test(x: number & { _foo: string }) { } function f1(x: F & { foo: number }) { ->f1 : (x: F & { foo: number;}) => void +>f1 : (x: F & { foo: number; }) => void >x : F & { foo: number; } >foo : number diff --git a/tests/baselines/reference/narrowingTypeofUndefined.types b/tests/baselines/reference/narrowingTypeofUndefined.types index 3a84e875be..a2b510060a 100644 --- a/tests/baselines/reference/narrowingTypeofUndefined.types +++ b/tests/baselines/reference/narrowingTypeofUndefined.types @@ -1,6 +1,6 @@ === tests/cases/compiler/narrowingTypeofUndefined.ts === declare const a: { error: { prop: string }, result: undefined } | { error: undefined, result: { prop: number } } ->a : { error: { prop: string;}; result: undefined; } | { error: undefined; result: { prop: number;}; } +>a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } >error : { prop: string; } >prop : string >result : undefined diff --git a/tests/baselines/reference/narrowingUnionToUnion.types b/tests/baselines/reference/narrowingUnionToUnion.types index 4b373711bd..069774361c 100644 --- a/tests/baselines/reference/narrowingUnionToUnion.types +++ b/tests/baselines/reference/narrowingUnionToUnion.types @@ -58,7 +58,7 @@ declare function isA(obj: unknown): obj is { a: false } | { b: 0 }; >b : 0 function fx4(obj: { b: number }) { ->fx4 : (obj: { b: number;}) => void +>fx4 : (obj: { b: number; }) => void >obj : { b: number; } >b : number @@ -390,7 +390,7 @@ let test: string | null | undefined; if (isEmpty(test)) { >isEmpty(test) : boolean ->isEmpty : (value: string | null | undefined) => value is EmptyString +>isEmpty : (value: string | EmptyString) => value is EmptyString >test : string | null | undefined test; // EmptyString @@ -419,7 +419,7 @@ function test1(foo: number | string | boolean) { // Repro from #46909 function check1(x: unknown): x is (string | 0) { ->check1 : (x: unknown) => x is string | 0 +>check1 : (x: unknown) => x is (string | 0) >x : unknown return typeof x === "string" || x === 0; @@ -434,7 +434,7 @@ function check1(x: unknown): x is (string | 0) { } function check2(x: unknown): x is ("hello" | 0) { ->check2 : (x: unknown) => x is 0 | "hello" +>check2 : (x: unknown) => x is ("hello" | 0) >x : unknown return x === "hello" || x === 0; diff --git a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types index 55fa9e45cd..e5f8bfa914 100644 --- a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types +++ b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types @@ -63,37 +63,37 @@ declare function accL(x: TL): void; // These should all be OK, every type is identical accA(fA); accA(fB); accA(fC); >accA(fA) : void ->accA : (x: () => { v: T; }) => void +>accA : (x: TA) => void >fA : () => { v: T; } >accA(fB) : void ->accA : (x: () => { v: T; }) => void +>accA : (x: TA) => void >fB : () => { v: T; } >accA(fC) : void ->accA : (x: () => { v: T; }) => void +>accA : (x: TA) => void >fC : () => { v: T; } // ~~ previously an error accB(fA); accB(fB); accB(fC); >accB(fA) : void ->accB : (x: () => { v: T; }) => void +>accB : (x: TB) => void >fA : () => { v: T; } >accB(fB) : void ->accB : (x: () => { v: T; }) => void +>accB : (x: TB) => void >fB : () => { v: T; } >accB(fC) : void ->accB : (x: () => { v: T; }) => void +>accB : (x: TB) => void >fC : () => { v: T; } // OK accC(fA); accC(fB); accC(fC); >accC(fA) : void ->accC : (x: () => { v: T; }) => void +>accC : (x: TC) => void >fA : () => { v: T; } >accC(fB) : void ->accC : (x: () => { v: T; }) => void +>accC : (x: TC) => void >fB : () => { v: T; } >accC(fC) : void ->accC : (x: () => { v: T; }) => void +>accC : (x: TC) => void >fC : () => { v: T; } // ~~ previously an error diff --git a/tests/baselines/reference/nestedExcessPropertyChecking.types b/tests/baselines/reference/nestedExcessPropertyChecking.types index 473b1f5295..121c16ae9c 100644 --- a/tests/baselines/reference/nestedExcessPropertyChecking.types +++ b/tests/baselines/reference/nestedExcessPropertyChecking.types @@ -1,16 +1,16 @@ === tests/cases/compiler/nestedExcessPropertyChecking.ts === type A1 = { x: { a?: string } }; ->A1 : { x: { a?: string;}; } ->x : { a?: string | undefined; } +>A1 : { x: { a?: string; }; } +>x : { a?: string; } >a : string | undefined type B1 = { x: { b?: string } }; ->B1 : { x: { b?: string;}; } ->x : { b?: string | undefined; } +>B1 : { x: { b?: string; }; } +>x : { b?: string; } >b : string | undefined type C1 = { x: { c: string } }; ->C1 : { x: { c: string;}; } +>C1 : { x: { c: string; }; } >x : { c: string; } >c : string @@ -20,11 +20,11 @@ const ab1: A1 & B1 = {} as C1; // Error >{} : {} type A2 = { a?: string }; ->A2 : { a?: string | undefined; } +>A2 : { a?: string; } >a : string | undefined type B2 = { b?: string }; ->B2 : { b?: string | undefined; } +>B2 : { b?: string; } >b : string | undefined type C2 = { c: string }; @@ -56,16 +56,16 @@ let y: { nope?: any } = "A"; // Error // Repros from #51043 type OverridesInput = { ->OverridesInput : { someProp?: "A" | "B" | undefined; } +>OverridesInput : { someProp?: "A" | "B"; } someProp?: 'A' | 'B' >someProp : "A" | "B" | undefined } const foo1: Partial<{ something: any }> & { variables: { ->foo1 : Partial<{ something: any; }> & { variables: { overrides?: OverridesInput;} & Partial<{ overrides?: OverridesInput;}>; } +>foo1 : Partial<{ something: any; }> & { variables: { overrides?: OverridesInput; } & Partial<{ overrides?: OverridesInput; }>; } >something : any ->variables : { overrides?: OverridesInput | undefined; } & Partial<{ overrides?: OverridesInput | undefined; }> +>variables : { overrides?: OverridesInput; } & Partial<{ overrides?: OverridesInput; }> overrides?: OverridesInput; >overrides : OverridesInput | undefined diff --git a/tests/baselines/reference/nestedTypeVariableInfersLiteral.types b/tests/baselines/reference/nestedTypeVariableInfersLiteral.types index 548fa221ee..6c57d34d3a 100644 --- a/tests/baselines/reference/nestedTypeVariableInfersLiteral.types +++ b/tests/baselines/reference/nestedTypeVariableInfersLiteral.types @@ -5,12 +5,12 @@ declare function direct(a: A | A[]): Record >a : A | A[] declare function nested(a: { fields: A }): Record ->nested : (a: { fields: A;}) => Record +>nested : (a: { fields: A; }) => Record >a : { fields: A; } >fields : A declare function nestedUnion(a: { fields: A | A[] }): Record ->nestedUnion : (a: { fields: A | A[];}) => Record +>nestedUnion : (a: { fields: A | A[]; }) => Record >a : { fields: A | A[]; } >fields : A | A[] @@ -55,7 +55,7 @@ const nestedUnionArray = nestedUnion({fields: ["z", "y"]}) >"y" : "y" declare function hasZField(arg: { z: string }): void ->hasZField : (arg: { z: string;}) => void +>hasZField : (arg: { z: string; }) => void >arg : { z: string; } >z : string diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=false).types b/tests/baselines/reference/neverAsDiscriminantType(strict=false).types index 0aa3c7c094..20ded6889f 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=false).types +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=false).types @@ -1,6 +1,6 @@ === tests/cases/compiler/neverAsDiscriminantType.ts === type Foo1 = { kind: 'a', a: number } | { kind: 'b' } | { kind: never }; ->Foo1 : { kind: 'a'; a: number; } | { kind: 'b'; } | { kind: never; } +>Foo1 : { kind: "a"; a: number; } | { kind: "b"; } | { kind: never; } >kind : "a" >a : number >kind : "b" @@ -25,7 +25,7 @@ function f1(foo: Foo1) { } type Foo2 = { kind?: 'a', a: number } | { kind?: 'b' } | { kind?: never }; ->Foo2 : { kind?: 'a'; a: number; } | { kind?: 'b'; } | { kind?: never; } +>Foo2 : { kind?: "a"; a: number; } | { kind?: "b"; } | { kind?: never; } >kind : "a" >a : number >kind : "b" @@ -151,7 +151,7 @@ export interface GatewayEvents { } function assertMessage(event: { a: 1 }) { } ->assertMessage : (event: { a: 1;}) => void +>assertMessage : (event: { a: 1; }) => void >event : { a: 1; } >a : 1 diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=true).types b/tests/baselines/reference/neverAsDiscriminantType(strict=true).types index d7bc16c730..1c11020240 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=true).types +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=true).types @@ -1,6 +1,6 @@ === tests/cases/compiler/neverAsDiscriminantType.ts === type Foo1 = { kind: 'a', a: number } | { kind: 'b' } | { kind: never }; ->Foo1 : { kind: 'a'; a: number; } | { kind: 'b'; } | { kind: never; } +>Foo1 : { kind: "a"; a: number; } | { kind: "b"; } | { kind: never; } >kind : "a" >a : number >kind : "b" @@ -25,7 +25,7 @@ function f1(foo: Foo1) { } type Foo2 = { kind?: 'a', a: number } | { kind?: 'b' } | { kind?: never }; ->Foo2 : { kind?: "a" | undefined; a: number; } | { kind?: "b" | undefined; } | { kind?: undefined; } +>Foo2 : { kind?: "a"; a: number; } | { kind?: "b"; } | { kind?: never; } >kind : "a" | undefined >a : number >kind : "b" | undefined @@ -151,7 +151,7 @@ export interface GatewayEvents { } function assertMessage(event: { a: 1 }) { } ->assertMessage : (event: { a: 1;}) => void +>assertMessage : (event: { a: 1; }) => void >event : { a: 1; } >a : 1 diff --git a/tests/baselines/reference/neverReturningFunctions1.types b/tests/baselines/reference/neverReturningFunctions1.types index 49ec260ad2..ecd7721753 100644 --- a/tests/baselines/reference/neverReturningFunctions1.types +++ b/tests/baselines/reference/neverReturningFunctions1.types @@ -18,7 +18,7 @@ function f01(x: string | undefined) { >x : string | undefined >undefined : undefined >fail("undefined argument") : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"undefined argument" : "undefined argument" x.length; // string @@ -39,7 +39,7 @@ function f02(x: number): number { fail("negative number"); >fail("negative number") : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"negative number" : "negative number" x; // Unreachable @@ -55,7 +55,7 @@ function f03(x: string) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string @@ -72,7 +72,7 @@ function f11(x: string | undefined, fail: (message?: string) => never) { >x : string | undefined >undefined : undefined >fail("undefined argument") : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"undefined argument" : "undefined argument" x.length; // string @@ -95,7 +95,7 @@ function f12(x: number, fail: (message?: string) => never): number { fail("negative number"); >fail("negative number") : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"negative number" : "negative number" x; // Unreachable @@ -113,7 +113,7 @@ function f13(x: string, fail: (message?: string) => never) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string @@ -136,9 +136,9 @@ function f21(x: string | undefined) { >x : string | undefined >undefined : undefined >Debug.fail("undefined argument") : never ->Debug.fail : (message?: string | undefined) => never +>Debug.fail : (message?: string) => never >Debug : typeof Debug ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"undefined argument" : "undefined argument" x.length; // string @@ -159,9 +159,9 @@ function f22(x: number): number { Debug.fail("negative number"); >Debug.fail("negative number") : never ->Debug.fail : (message?: string | undefined) => never +>Debug.fail : (message?: string) => never >Debug : typeof Debug ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"negative number" : "negative number" x; // Unreachable @@ -177,9 +177,9 @@ function f23(x: string) { Debug.fail(); >Debug.fail() : never ->Debug.fail : (message?: string | undefined) => never +>Debug.fail : (message?: string) => never >Debug : typeof Debug ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string @@ -194,11 +194,11 @@ function f24(x: string) { ((Debug).fail)(); >((Debug).fail)() : never ->((Debug).fail) : (message?: string | undefined) => never ->(Debug).fail : (message?: string | undefined) => never +>((Debug).fail) : (message?: string) => never +>(Debug).fail : (message?: string) => never >(Debug) : typeof Debug >Debug : typeof Debug ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string @@ -225,9 +225,9 @@ class Test { >x : string | undefined >undefined : undefined >this.fail("undefined argument") : never ->this.fail : (message?: string | undefined) => never +>this.fail : (message?: string) => never >this : this ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"undefined argument" : "undefined argument" x.length; // string @@ -247,9 +247,9 @@ class Test { this.fail("negative number"); >this.fail("negative number") : never ->this.fail : (message?: string | undefined) => never +>this.fail : (message?: string) => never >this : this ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never >"negative number" : "negative number" x; // Unreachable @@ -264,9 +264,9 @@ class Test { this.fail(); >this.fail() : never ->this.fail : (message?: string | undefined) => never +>this.fail : (message?: string) => never >this : this ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string @@ -285,7 +285,7 @@ function f30(x: string | number | undefined) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string | number | undefined @@ -304,7 +304,7 @@ function f30(x: string | number | undefined) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string | number | undefined @@ -315,7 +315,7 @@ function f30(x: string | number | undefined) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : string | number | undefined @@ -328,7 +328,7 @@ function f30(x: string | number | undefined) { } function f31(x: { a: string | number }) { ->f31 : (x: { a: string | number;}) => void +>f31 : (x: { a: string | number; }) => void >x : { a: string | number; } >a : string | number @@ -342,7 +342,7 @@ function f31(x: { a: string | number }) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : { a: string | number; } @@ -371,7 +371,7 @@ function f40(x: number) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : number @@ -382,7 +382,7 @@ function f40(x: number) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : number @@ -405,7 +405,7 @@ function f41(x: number) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : number @@ -424,7 +424,7 @@ function f42(x: number) { fail(); >fail() : never ->fail : (message?: string | undefined) => never +>fail : (message?: string) => never x; // Unreachable >x : number diff --git a/tests/baselines/reference/neverTypeErrors1.types b/tests/baselines/reference/neverTypeErrors1.types index f577b4457e..2504be153b 100644 --- a/tests/baselines/reference/neverTypeErrors1.types +++ b/tests/baselines/reference/neverTypeErrors1.types @@ -91,7 +91,7 @@ type Union = A & B; >Union : never function func(): { value: Union[] } { ->func : () => { value: Union[];} +>func : () => { value: Union[]; } >value : never[] return { diff --git a/tests/baselines/reference/neverTypeErrors2.types b/tests/baselines/reference/neverTypeErrors2.types index 685638f03a..f088d7b10d 100644 --- a/tests/baselines/reference/neverTypeErrors2.types +++ b/tests/baselines/reference/neverTypeErrors2.types @@ -91,7 +91,7 @@ type Union = A & B; >Union : never function func(): { value: Union[] } { ->func : () => { value: Union[];} +>func : () => { value: Union[]; } >value : never[] return { diff --git a/tests/baselines/reference/noCheckDoesNotReportError.js b/tests/baselines/reference/noCheckDoesNotReportError.js new file mode 100644 index 0000000000..5f4d671ca7 --- /dev/null +++ b/tests/baselines/reference/noCheckDoesNotReportError.js @@ -0,0 +1,8 @@ +//// [noCheckDoesNotReportError.ts] +export const a: number = "not ok"; + + + + +//// [noCheckDoesNotReportError.d.ts] +export declare const a: number; diff --git a/tests/baselines/reference/noCheckDoesNotReportError.symbols b/tests/baselines/reference/noCheckDoesNotReportError.symbols new file mode 100644 index 0000000000..951ef26489 --- /dev/null +++ b/tests/baselines/reference/noCheckDoesNotReportError.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/noCheckDoesNotReportError.ts === +export const a: number = "not ok"; +>a : Symbol(a, Decl(noCheckDoesNotReportError.ts, 0, 12)) + diff --git a/tests/baselines/reference/noCheckDoesNotReportError.types b/tests/baselines/reference/noCheckDoesNotReportError.types new file mode 100644 index 0000000000..9c65cbb7bd --- /dev/null +++ b/tests/baselines/reference/noCheckDoesNotReportError.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noCheckDoesNotReportError.ts === +export const a: number = "not ok"; +>a : number +>"not ok" : "not ok" + diff --git a/tests/baselines/reference/noCheckNoEmit.errors.txt b/tests/baselines/reference/noCheckNoEmit.errors.txt new file mode 100644 index 0000000000..d17ddadd3a --- /dev/null +++ b/tests/baselines/reference/noCheckNoEmit.errors.txt @@ -0,0 +1,9 @@ +error TS5053: Option 'emitDeclarationOnly' cannot be specified with option 'noEmit'. +error TS5053: Option 'noCheck' cannot be specified with option 'noEmit'. + + +!!! error TS5053: Option 'emitDeclarationOnly' cannot be specified with option 'noEmit'. +!!! error TS5053: Option 'noCheck' cannot be specified with option 'noEmit'. +==== tests/cases/compiler/noCheckNoEmit.ts (0 errors) ==== + export const a: number = "not ok"; + \ No newline at end of file diff --git a/tests/baselines/reference/noCheckNoEmit.symbols b/tests/baselines/reference/noCheckNoEmit.symbols new file mode 100644 index 0000000000..b161a2aa48 --- /dev/null +++ b/tests/baselines/reference/noCheckNoEmit.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/noCheckNoEmit.ts === +export const a: number = "not ok"; +>a : Symbol(a, Decl(noCheckNoEmit.ts, 0, 12)) + diff --git a/tests/baselines/reference/noCheckNoEmit.types b/tests/baselines/reference/noCheckNoEmit.types new file mode 100644 index 0000000000..889562ab46 --- /dev/null +++ b/tests/baselines/reference/noCheckNoEmit.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noCheckNoEmit.ts === +export const a: number = "not ok"; +>a : number +>"not ok" : "not ok" + diff --git a/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt new file mode 100644 index 0000000000..1131b7e18c --- /dev/null +++ b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt @@ -0,0 +1,7 @@ +error TS5052: Option 'noCheck' cannot be specified without specifying option 'emitDeclarationOnly'. + + +!!! error TS5052: Option 'noCheck' cannot be specified without specifying option 'emitDeclarationOnly'. +==== tests/cases/compiler/noCheckRequiresEmitDeclarationOnly.ts (0 errors) ==== + export const a: number = "not ok"; + \ No newline at end of file diff --git a/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.js b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.js new file mode 100644 index 0000000000..1f83471470 --- /dev/null +++ b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.js @@ -0,0 +1,9 @@ +//// [noCheckRequiresEmitDeclarationOnly.ts] +export const a: number = "not ok"; + + +//// [noCheckRequiresEmitDeclarationOnly.js] +"use strict"; +exports.__esModule = true; +exports.a = void 0; +exports.a = "not ok"; diff --git a/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.symbols b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.symbols new file mode 100644 index 0000000000..08cacb62bc --- /dev/null +++ b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/noCheckRequiresEmitDeclarationOnly.ts === +export const a: number = "not ok"; +>a : Symbol(a, Decl(noCheckRequiresEmitDeclarationOnly.ts, 0, 12)) + diff --git a/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.types b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.types new file mode 100644 index 0000000000..260c1dafbe --- /dev/null +++ b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/noCheckRequiresEmitDeclarationOnly.ts === +export const a: number = "not ok"; +>a : number +>"not ok" : "not ok" + diff --git a/tests/baselines/reference/noEmitOnError.js b/tests/baselines/reference/noEmitOnError.js new file mode 100644 index 0000000000..4d6b8a03fe --- /dev/null +++ b/tests/baselines/reference/noEmitOnError.js @@ -0,0 +1,9 @@ +//// [noEmitOnError.ts] +var x: number = ""; + + + + +!!!! File tests/cases/compiler/noEmitOnError.d.ts missing from original emit, but present in noCheck emit +//// [noEmitOnError.d.ts] +declare var x: number; diff --git a/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.types b/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.types index 707c6b708c..c0eef976c4 100644 --- a/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.types +++ b/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.types @@ -18,7 +18,7 @@ function f2([a = undefined], {b = null}, c = undefined, d = null) { // error >null : null } function f3([a]: [any], {b}: { b: any }, c: any, d: any) { ->f3 : ([a]: [any], { b }: { b: any;}, c: any, d: any) => void +>f3 : ([a]: [any], { b }: { b: any; }, c: any, d: any) => void >a : any >b : any >b : any @@ -26,7 +26,7 @@ function f3([a]: [any], {b}: { b: any }, c: any, d: any) { >d : any } function f4({b}: { b }, x: { b }) { // error in type instead ->f4 : ({ b }: { b;}, x: { b;}) => void +>f4 : ({ b }: { b: any; }, x: { b: any; }) => void >b : any >b : any >x : { b: any; } diff --git a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types index d661e9a75e..c32f4a729d 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types +++ b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types @@ -87,21 +87,21 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; x.toFixed(); // Should OK >x.toFixed() : string ->x.toFixed : (fractionDigits?: number | undefined) => string +>x.toFixed : (fractionDigits?: number) => string >x : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string y.toFixed(); // Should OK >y.toFixed() : string ->y.toFixed : (fractionDigits?: number | undefined) => string +>y.toFixed : (fractionDigits?: number) => string >y : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string z.toFixed(); // Should error >z.toFixed() : string ->z.toFixed : (fractionDigits?: number | undefined) => string +>z.toFixed : (fractionDigits?: number) => string >z : number | undefined ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } { @@ -112,25 +112,25 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; x.toFixed(); // Should OK >x.toFixed() : string ->x.toFixed : (fractionDigits?: number | undefined) => string +>x.toFixed : (fractionDigits?: number) => string >x : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string q.y.toFixed(); // Should OK >q.y.toFixed() : string ->q.y.toFixed : (fractionDigits?: number | undefined) => string +>q.y.toFixed : (fractionDigits?: number) => string >q.y : number >q : { [s: string]: number; y: number; } >y : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string q.z.toFixed(); // Should error >q.z.toFixed() : string ->q.z.toFixed : (fractionDigits?: number | undefined) => string +>q.z.toFixed : (fractionDigits?: number) => string >q.z : number | undefined >q : { [s: string]: number; y: number; } >z : number | undefined ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } { @@ -141,31 +141,31 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; x. >x. toFixed() : string ->x. toFixed : (fractionDigits?: number | undefined) => string +>x. toFixed : (fractionDigits?: number) => string >x : number toFixed(); // Should OK ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string q. >q. y.toFixed() : string ->q. y.toFixed : (fractionDigits?: number | undefined) => string +>q. y.toFixed : (fractionDigits?: number) => string >q. y : number >q : { [s: string]: number; y: number; } y.toFixed(); // Should OK >y : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string q. >q. z.toFixed() : string ->q. z.toFixed : (fractionDigits?: number | undefined) => string +>q. z.toFixed : (fractionDigits?: number) => string >q. z : number | undefined >q : { [s: string]: number; y: number; } z.toFixed(); // Should error >z : number | undefined ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string } diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types index f0ddc765fb..ff6d156ab1 100644 --- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types +++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types @@ -130,12 +130,12 @@ export const b = (null as any as import("pkg", [ {"resolution-mode": "import"} ] === /other4.ts === // Indirected assertion objecty-thing - not allowed type Asserts1 = { assert: {"resolution-mode": "require"} }; ->Asserts1 : { assert: { "resolution-mode": "require";}; } +>Asserts1 : { assert: { "resolution-mode": "require"; }; } >assert : { "resolution-mode": "require"; } >"resolution-mode" : "require" type Asserts2 = { assert: {"resolution-mode": "import"} }; ->Asserts2 : { assert: { "resolution-mode": "import";}; } +>Asserts2 : { assert: { "resolution-mode": "import"; }; } >assert : { "resolution-mode": "import"; } >"resolution-mode" : "import" diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types index f0ddc765fb..ff6d156ab1 100644 --- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types @@ -130,12 +130,12 @@ export const b = (null as any as import("pkg", [ {"resolution-mode": "import"} ] === /other4.ts === // Indirected assertion objecty-thing - not allowed type Asserts1 = { assert: {"resolution-mode": "require"} }; ->Asserts1 : { assert: { "resolution-mode": "require";}; } +>Asserts1 : { assert: { "resolution-mode": "require"; }; } >assert : { "resolution-mode": "require"; } >"resolution-mode" : "require" type Asserts2 = { assert: {"resolution-mode": "import"} }; ->Asserts2 : { assert: { "resolution-mode": "import";}; } +>Asserts2 : { assert: { "resolution-mode": "import"; }; } >assert : { "resolution-mode": "import"; } >"resolution-mode" : "import" diff --git a/tests/baselines/reference/nonInferrableTypePropagation2.types b/tests/baselines/reference/nonInferrableTypePropagation2.types index e304634599..af749fd256 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation2.types +++ b/tests/baselines/reference/nonInferrableTypePropagation2.types @@ -29,7 +29,7 @@ interface Refinement { } declare const filter: { ->filter : { (refinement: Refinement): (as: readonly A[]) => readonly B[]; (predicate: Predicate): (bs: readonly B[]) => readonly B[]; (predicate: Predicate): (as: readonly A[]) => readonly A[]; } +>filter : { (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (bs: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (as: ReadonlyArray) => ReadonlyArray; } (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray >refinement : Refinement @@ -65,7 +65,7 @@ const x = pipe(es, filter(exists((n) => n > 0))) >pipe : (a: A, ab: (a: A) => B) => B >es : Either[] >filter(exists((n) => n > 0)) : (as: readonly Either[]) => readonly Either[] ->filter : { (refinement: Refinement): (as: readonly A[]) => readonly B[]; (predicate: Predicate): (bs: readonly B[]) => readonly B[]; (predicate: Predicate): (as: readonly A[]) => readonly A[]; } +>filter : { (refinement: Refinement): (as: ReadonlyArray) => readonly B[]; (predicate: Predicate): (bs: ReadonlyArray) => readonly B[]; (predicate: Predicate): (as: ReadonlyArray) => readonly A[]; } >exists((n) => n > 0) : (ma: Either) => boolean >exists : (predicate: Predicate) => (ma: Either) => boolean >(n) => n > 0 : (n: number) => boolean diff --git a/tests/baselines/reference/nonInstantiatedModule.types b/tests/baselines/reference/nonInstantiatedModule.types index 0ede4affb0..5301840da2 100644 --- a/tests/baselines/reference/nonInstantiatedModule.types +++ b/tests/baselines/reference/nonInstantiatedModule.types @@ -75,8 +75,8 @@ var p: M2.Point; >M2 : any var p2: { Origin() : { x: number; y: number; } }; ->p2 : { Origin(): { x: number; y: number;}; } ->Origin : () => { x: number; y: number;} +>p2 : { Origin(): { x: number; y: number; }; } +>Origin : () => { x: number; y: number; } >x : number >y : number diff --git a/tests/baselines/reference/nonNullReferenceMatching.types b/tests/baselines/reference/nonNullReferenceMatching.types index 04790d328a..8f2f45a287 100644 --- a/tests/baselines/reference/nonNullReferenceMatching.types +++ b/tests/baselines/reference/nonNullReferenceMatching.types @@ -5,14 +5,14 @@ type ElementRef = (element: HTMLElement | null) => void; >null : null type ThumbProps = { ->ThumbProps : { elementRef?: ElementRef | undefined; } +>ThumbProps : { elementRef?: ElementRef; } elementRef?: ElementRef; >elementRef : ElementRef | undefined } type ComponentProps = { ->ComponentProps : { thumbYProps?: ThumbProps | undefined; thumbXProps: ThumbProps; } +>ComponentProps : { thumbYProps?: ThumbProps; thumbXProps: ThumbProps; } thumbYProps?: ThumbProps; >thumbYProps : ThumbProps | undefined diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.types b/tests/baselines/reference/normalizedIntersectionTooComplex.types index e7a49a5058..e99a049142 100644 --- a/tests/baselines/reference/normalizedIntersectionTooComplex.types +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.types @@ -20,112 +20,112 @@ type CtorOf = (arg: UnionToIntersection) => T; interface Big { "0": { common?: string; "0"?: number, ref?: Obj | Func; } ->"0" : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } +>"0" : { common?: string; "0"?: number; ref?: Obj | Func; } >common : string | undefined >"0" : number | undefined ->ref : Obj<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func; }> | undefined "1": { common?: string; "1"?: number, ref?: Obj | Func; } ->"1" : { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } +>"1" : { common?: string; "1"?: number; ref?: Obj | Func; } >common : string | undefined >"1" : number | undefined ->ref : Obj<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func; }> | undefined "2": { common?: string; "2"?: number, ref?: Obj | Func; } ->"2" : { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } +>"2" : { common?: string; "2"?: number; ref?: Obj | Func; } >common : string | undefined >"2" : number | undefined ->ref : Obj<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func; }> | undefined "3": { common?: string; "3"?: number, ref?: Obj | Func; } ->"3" : { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } +>"3" : { common?: string; "3"?: number; ref?: Obj | Func; } >common : string | undefined >"3" : number | undefined ->ref : Obj<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func; }> | undefined "4": { common?: string; "4"?: number, ref?: Obj | Func; } ->"4" : { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } +>"4" : { common?: string; "4"?: number; ref?: Obj | Func; } >common : string | undefined >"4" : number | undefined ->ref : Obj<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func; }> | undefined "5": { common?: string; "5"?: number, ref?: Obj | Func; } ->"5" : { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } +>"5" : { common?: string; "5"?: number; ref?: Obj | Func; } >common : string | undefined >"5" : number | undefined ->ref : Obj<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func; }> | undefined "6": { common?: string; "6"?: number, ref?: Obj | Func; } ->"6" : { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } +>"6" : { common?: string; "6"?: number; ref?: Obj | Func; } >common : string | undefined >"6" : number | undefined ->ref : Obj<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func; }> | undefined "7": { common?: string; "7"?: number, ref?: Obj | Func; } ->"7" : { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } +>"7" : { common?: string; "7"?: number; ref?: Obj | Func; } >common : string | undefined >"7" : number | undefined ->ref : Obj<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func; }> | undefined "8": { common?: string; "8"?: number, ref?: Obj | Func; } ->"8" : { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } +>"8" : { common?: string; "8"?: number; ref?: Obj | Func; } >common : string | undefined >"8" : number | undefined ->ref : Obj<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func; }> | undefined "9": { common?: string; "9"?: number, ref?: Obj | Func; } ->"9" : { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } +>"9" : { common?: string; "9"?: number; ref?: Obj | Func; } >common : string | undefined >"9" : number | undefined ->ref : Obj<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func; }> | undefined "10": { common?: string; "10"?: number, ref?: Obj | Func; } ->"10" : { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } +>"10" : { common?: string; "10"?: number; ref?: Obj | Func; } >common : string | undefined >"10" : number | undefined ->ref : Obj<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func; }> | undefined "11": { common?: string; "11"?: number, ref?: Obj | Func; } ->"11" : { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } +>"11" : { common?: string; "11"?: number; ref?: Obj | Func; } >common : string | undefined >"11" : number | undefined ->ref : Obj<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func; }> | undefined "12": { common?: string; "12"?: number, ref?: Obj | Func; } ->"12" : { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } +>"12" : { common?: string; "12"?: number; ref?: Obj | Func; } >common : string | undefined >"12" : number | undefined ->ref : Obj<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func; }> | undefined "13": { common?: string; "13"?: number, ref?: Obj | Func; } ->"13" : { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } +>"13" : { common?: string; "13"?: number; ref?: Obj | Func; } >common : string | undefined >"13" : number | undefined ->ref : Obj<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func; }> | undefined "14": { common?: string; "14"?: number, ref?: Obj | Func; } ->"14" : { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } +>"14" : { common?: string; "14"?: number; ref?: Obj | Func; } >common : string | undefined >"14" : number | undefined ->ref : Obj<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func; }> | undefined "15": { common?: string; "15"?: number, ref?: Obj | Func; } ->"15" : { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } +>"15" : { common?: string; "15"?: number; ref?: Obj | Func; } >common : string | undefined >"15" : number | undefined ->ref : Obj<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func; }> | undefined "16": { common?: string; "16"?: number, ref?: Obj | Func; } ->"16" : { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } +>"16" : { common?: string; "16"?: number; ref?: Obj | Func; } >common : string | undefined >"16" : number | undefined ->ref : Obj<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func; }> | undefined "17": { common?: string; "17"?: number, ref?: Obj | Func; } ->"17" : { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } +>"17" : { common?: string; "17"?: number; ref?: Obj | Func; } >common : string | undefined >"17" : number | undefined ->ref : Obj<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func; }> | undefined } declare function getCtor(comp: T): CtorOf >getCtor : (comp: T) => CtorOf diff --git a/tests/baselines/reference/numberFormatCurrencySign.types b/tests/baselines/reference/numberFormatCurrencySign.types index 02ccb864c8..715a59810f 100644 --- a/tests/baselines/reference/numberFormatCurrencySign.types +++ b/tests/baselines/reference/numberFormatCurrencySign.types @@ -4,9 +4,9 @@ const str = new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', >new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', currencySign: 'accounting' }).format(999999) : string >new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', currencySign: 'accounting' }).format : { (value: number): string; (value: number | bigint): string; } >new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', currencySign: 'accounting' }) : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; new (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions | undefined): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; new (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions | undefined): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >'en-NZ' : "en-NZ" >{ style: 'currency', currency: 'NZD', currencySign: 'accounting' } : { style: string; currency: string; currencySign: string; } >style : string diff --git a/tests/baselines/reference/numberFormatCurrencySignResolved.types b/tests/baselines/reference/numberFormatCurrencySignResolved.types index ac27d12ca9..8c4d3cb242 100644 --- a/tests/baselines/reference/numberFormatCurrencySignResolved.types +++ b/tests/baselines/reference/numberFormatCurrencySignResolved.types @@ -4,9 +4,9 @@ const options = new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'N >new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', currencySign: 'accounting' }).resolvedOptions() : Intl.ResolvedNumberFormatOptions >new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', currencySign: 'accounting' }).resolvedOptions : { (): Intl.ResolvedNumberFormatOptions; (): Intl.ResolvedNumberFormatOptions; } >new Intl.NumberFormat('en-NZ', { style: 'currency', currency: 'NZD', currencySign: 'accounting' }) : Intl.NumberFormat ->Intl.NumberFormat : { (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; new (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions | undefined): string[]; readonly prototype: Intl.NumberFormat; } +>Intl.NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >Intl : typeof Intl ->NumberFormat : { (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; new (locales?: string | string[] | undefined, options?: Intl.NumberFormatOptions | undefined): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions | undefined): string[]; readonly prototype: Intl.NumberFormat; } +>NumberFormat : { (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; readonly prototype: Intl.NumberFormat; } >'en-NZ' : "en-NZ" >{ style: 'currency', currency: 'NZD', currencySign: 'accounting' } : { style: string; currency: string; currencySign: string; } >style : string diff --git a/tests/baselines/reference/numberVsBigIntOperations.types b/tests/baselines/reference/numberVsBigIntOperations.types index 4fc625d3e8..75a9334e85 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.types +++ b/tests/baselines/reference/numberVsBigIntOperations.types @@ -715,7 +715,7 @@ const isOne = (x: 1 | 1n) => x; if (zeroOrBigOne) isOne(zeroOrBigOne); >zeroOrBigOne : 0 | 1n >isOne(zeroOrBigOne) : 1n | 1 ->isOne : (x: 1n | 1) => 1n | 1 +>isOne : (x: 1 | 1n) => 1n | 1 >zeroOrBigOne : 1n const bigZeroOrOne: 0n | 1; @@ -724,7 +724,7 @@ const bigZeroOrOne: 0n | 1; if (bigZeroOrOne) isOne(bigZeroOrOne); >bigZeroOrOne : 0n | 1 >isOne(bigZeroOrOne) : 1n | 1 ->isOne : (x: 1n | 1) => 1n | 1 +>isOne : (x: 1 | 1n) => 1n | 1 >bigZeroOrOne : 1 type NumberOrBigint = number | bigint; diff --git a/tests/baselines/reference/objectCreate2.types b/tests/baselines/reference/objectCreate2.types index 914a99b04e..754bbd33a6 100644 --- a/tests/baselines/reference/objectCreate2.types +++ b/tests/baselines/reference/objectCreate2.types @@ -8,17 +8,17 @@ declare var union: null | { a: number, b: string }; var n = Object.create(null); // any >n : any >Object.create(null) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >null : null var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : any >Object.create({ a: 1, b: "" }) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >{ a: 1, b: "" } : { a: number; b: string; } >a : number >1 : 1 @@ -28,43 +28,43 @@ var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } var u = Object.create(union); // {a: number, b: string } >u : any >Object.create(union) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >union : { a: number; b: string; } var e = Object.create({}); // {} >e : any >Object.create({}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >{} : {} var o = Object.create({}); // object >o : any >Object.create({}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >{} : object >{} : {} var a = Object.create(null, {}); // any >a : any >Object.create(null, {}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >null : null >{} : {} var a = Object.create({ a: 1, b: "" }, {}); >a : any >Object.create({ a: 1, b: "" }, {}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >{ a: 1, b: "" } : { a: number; b: string; } >a : number >1 : 1 @@ -75,27 +75,27 @@ var a = Object.create({ a: 1, b: "" }, {}); var a = Object.create(union, {}); >a : any >Object.create(union, {}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >union : { a: number; b: string; } >{} : {} var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >{} : {} >{} : {} var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >{} : object >{} : {} >{} : {} diff --git a/tests/baselines/reference/objectFromEntries.types b/tests/baselines/reference/objectFromEntries.types index 9812b4ae90..9dd9f3b6b1 100644 --- a/tests/baselines/reference/objectFromEntries.types +++ b/tests/baselines/reference/objectFromEntries.types @@ -23,7 +23,7 @@ const o2 = Object.fromEntries(new URLSearchParams()); >Object : ObjectConstructor >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >new URLSearchParams() : URLSearchParams ->URLSearchParams : { new (init?: string | URLSearchParams | string[][] | Record): URLSearchParams; prototype: URLSearchParams; toString(): string; } +>URLSearchParams : { new (init?: string[][] | Record | string | URLSearchParams): URLSearchParams; prototype: URLSearchParams; toString(): string; } const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); >o3 : { [k: string]: string; } diff --git a/tests/baselines/reference/objectLitTargetTypeCallSite.types b/tests/baselines/reference/objectLitTargetTypeCallSite.types index 0dcbe12b44..b2dccb78fd 100644 --- a/tests/baselines/reference/objectLitTargetTypeCallSite.types +++ b/tests/baselines/reference/objectLitTargetTypeCallSite.types @@ -1,6 +1,6 @@ === tests/cases/compiler/objectLitTargetTypeCallSite.ts === function process( x: {a:number; b:string;}) { ->process : (x: { a: number; b: string;}) => number +>process : (x: { a: number; b: string; }) => number >x : { a: number; b: string; } >a : number >b : string diff --git a/tests/baselines/reference/objectLiteralContextualTyping.types b/tests/baselines/reference/objectLiteralContextualTyping.types index d2dce39654..d2982298ad 100644 --- a/tests/baselines/reference/objectLiteralContextualTyping.types +++ b/tests/baselines/reference/objectLiteralContextualTyping.types @@ -69,7 +69,7 @@ var w: number; >w : number declare function bar(param: { x?: T }): T; ->bar : (param: { x?: T;}) => T +>bar : (param: { x?: T; }) => T >param : { x?: T; } >x : T diff --git a/tests/baselines/reference/objectLiteralNormalization.js b/tests/baselines/reference/objectLiteralNormalization.js index aa2fa9c7ec..48369ae085 100644 --- a/tests/baselines/reference/objectLiteralNormalization.js +++ b/tests/baselines/reference/objectLiteralNormalization.js @@ -156,14 +156,14 @@ declare let opts: { baz?: boolean; }; declare let c1: { - foo?: string | undefined; - bar?: string | undefined; - baz?: boolean | undefined; + foo?: string; + bar?: string; + baz?: boolean; }; declare let c2: { - foo?: string | undefined; - bar?: string | undefined; - baz?: boolean | undefined; + foo?: string; + bar?: string; + baz?: boolean; }; declare let c3: { a: number; diff --git a/tests/baselines/reference/objectLiteralNormalization.types b/tests/baselines/reference/objectLiteralNormalization.types index 28cf4bed6f..5c441e9792 100644 --- a/tests/baselines/reference/objectLiteralNormalization.types +++ b/tests/baselines/reference/objectLiteralNormalization.types @@ -151,7 +151,7 @@ let b3 = { ...b2 }; // Before widening {} acts like { [x: string]: undefined }, which is a // subtype of types with all optional properties declare let opts: { foo?: string, bar?: string, baz?: boolean }; ->opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } +>opts : { foo?: string; bar?: string; baz?: boolean; } >foo : string | undefined >bar : string | undefined >baz : boolean | undefined diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types index f272413c2e..88a910a99f 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types @@ -16,7 +16,7 @@ var person: { name: string; id: number } = { name, id }; >id : number function foo( obj:{ name: string }): void { }; ->foo : (obj: { name: string;}) => void +>foo : (obj: { name: string; }) => void >obj : { name: string; } >name : string @@ -36,7 +36,7 @@ function bar1(name: string, id: number) { return { name }; } >name : string function baz(name: string, id: number): { name: string; id: number } { return { name, id }; } ->baz : (name: string, id: number) => { name: string; id: number;} +>baz : (name: string, id: number) => { name: string; id: number; } >name : string >id : number >name : string diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types index c4efcdb2b0..527c9c5fb6 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types @@ -16,7 +16,7 @@ var person: { name: string; id: number } = { name, id }; >id : number function foo(obj: { name: string }): void { }; ->foo : (obj: { name: string;}) => void +>foo : (obj: { name: string; }) => void >obj : { name: string; } >name : string @@ -36,7 +36,7 @@ function bar1(name: string, id: number) { return { name }; } >name : string function baz(name: string, id: number): { name: string; id: number } { return { name, id }; } ->baz : (name: string, id: number) => { name: string; id: number;} +>baz : (name: string, id: number) => { name: string; id: number; } >name : string >id : number >name : string diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.types index 1baeae1356..8b85508d01 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.types @@ -21,7 +21,7 @@ var person1: { name, id }; // ok >id : any function foo(name: string, id: number): { id: string, name: number } { return { name, id }; } // error ->foo : (name: string, id: number) => { id: string; name: number;} +>foo : (name: string, id: number) => { id: string; name: number; } >name : string >id : number >id : string @@ -31,7 +31,7 @@ function foo(name: string, id: number): { id: string, name: number } { return { >id : number function bar(obj: { name: string; id: boolean }) { } ->bar : (obj: { name: string; id: boolean;}) => void +>bar : (obj: { name: string; id: boolean; }) => void >obj : { name: string; id: boolean; } >name : string >id : boolean diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types index 6e2562fde4..4bc4cf8f45 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types @@ -16,7 +16,7 @@ var person: { b: string; id: number } = { name, id }; // error >id : number function bar(name: string, id: number): { name: number, id: string } { return { name, id }; } // error ->bar : (name: string, id: number) => { name: number; id: string;} +>bar : (name: string, id: number) => { name: number; id: string; } >name : string >id : number >name : number @@ -26,7 +26,7 @@ function bar(name: string, id: number): { name: number, id: string } { return { >id : number function foo(name: string, id: number): { name: string, id: number } { return { name, id }; } // error ->foo : (name: string, id: number) => { name: string; id: number;} +>foo : (name: string, id: number) => { name: string; id: number; } >name : string >id : number >name : string diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types index ac28cd8fd5..fe67e59dd7 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types @@ -14,7 +14,7 @@ var person = { name, id }; >id : number function foo(p: { name: string; id: number }) { } ->foo : (p: { name: string; id: number;}) => void +>foo : (p: { name: string; id: number; }) => void >p : { name: string; id: number; } >name : string >id : number diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.types b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.types index f614a49fac..390d610073 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.types @@ -14,7 +14,7 @@ var person = { name, id }; >id : number function foo(p: { a: string; id: number }) { } ->foo : (p: { a: string; id: number;}) => void +>foo : (p: { a: string; id: number; }) => void >p : { a: string; id: number; } >a : string >id : number diff --git a/tests/baselines/reference/objectRest.types b/tests/baselines/reference/objectRest.types index 821bb80997..cb50daf9c4 100644 --- a/tests/baselines/reference/objectRest.types +++ b/tests/baselines/reference/objectRest.types @@ -56,11 +56,11 @@ var { d: renamed, ...d } = o2; >o2 : { c: string; d: string; } let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; ->nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; };}; rest: number; restrest: number; } +>nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; } >x : number ->n1 : { y: number; n2: { z: number; n3: { n4: number; };}; } +>n1 : { y: number; n2: { z: number; n3: { n4: number; }; }; } >y : number ->n2 : { z: number; n3: { n4: number;}; } +>n2 : { z: number; n3: { n4: number; }; } >z : number >n3 : { n4: number; } >n4 : number @@ -79,7 +79,7 @@ var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; >nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; } let complex: { x: { ka, ki }, y: number }; ->complex : { x: { ka; ki;}; y: number; } +>complex : { x: { ka: any; ki: any; }; y: number; } >x : { ka: any; ki: any; } >ka : any >ki : any diff --git a/tests/baselines/reference/objectRestAssignment.types b/tests/baselines/reference/objectRestAssignment.types index c4cdfe12ad..c0c84b6d5e 100644 --- a/tests/baselines/reference/objectRestAssignment.types +++ b/tests/baselines/reference/objectRestAssignment.types @@ -13,7 +13,7 @@ let rest: { }; >rest : {} let complex: { x: { ka, ki }, y: number }; ->complex : { x: { ka; ki;}; y: number; } +>complex : { x: { ka: any; ki: any; }; y: number; } >x : { ka: any; ki: any; } >ka : any >ki : any @@ -34,7 +34,7 @@ let complex: { x: { ka, ki }, y: number }; // should be: let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string }; ->overEmit : { a: { ka: string; x: string;}[]; b: { z: string; ki: string; ku: string;}; ke: string; ko: string; } +>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } >a : { ka: string; x: string; }[] >ka : string >x : string diff --git a/tests/baselines/reference/objectRestNegative.types b/tests/baselines/reference/objectRestNegative.types index 71717ddb28..7cc174299e 100644 --- a/tests/baselines/reference/objectRestNegative.types +++ b/tests/baselines/reference/objectRestNegative.types @@ -29,7 +29,7 @@ let notAssignable: { a: string }; function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { ->stillMustBeLast : ({ ...mustBeLast, a }: { a: number; b: string;}) => void +>stillMustBeLast : ({ ...mustBeLast, a }: { a: number; b: string; }) => void >mustBeLast : { b: string; } >a : number >a : number diff --git a/tests/baselines/reference/objectRestParameter.types b/tests/baselines/reference/objectRestParameter.types index 71047deea4..831ac9df59 100644 --- a/tests/baselines/reference/objectRestParameter.types +++ b/tests/baselines/reference/objectRestParameter.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/rest/objectRestParameter.ts === function cloneAgain({ a, ...clone }: { a: number, b: string }): void { ->cloneAgain : ({ a, ...clone }: { a: number; b: string;}) => void +>cloneAgain : ({ a, ...clone }: { a: number; b: string; }) => void >a : number >clone : { b: string; } >a : number @@ -8,9 +8,9 @@ function cloneAgain({ a, ...clone }: { a: number, b: string }): void { } declare function suddenly(f: (a: { x: { z, ka }, y: string }) => void); ->suddenly : (f: (a: { x: { z; ka; }; y: string;}) => void) => any ->f : (a: { x: { z; ka; }; y: string;}) => void ->a : { x: { z; ka;}; y: string; } +>suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any +>f : (a: { x: { z: any; ka: any; }; y: string; }) => void +>a : { x: { z: any; ka: any; }; y: string; } >x : { z: any; ka: any; } >z : any >ka : any @@ -57,7 +57,7 @@ class C { >C : C m({ a, ...clone }: { a: number, b: string}): void { ->m : ({ a, ...clone }: { a: number; b: string;}) => void +>m : ({ a, ...clone }: { a: number; b: string; }) => void >a : number >clone : { b: string; } >a : number diff --git a/tests/baselines/reference/objectRestParameterES5.types b/tests/baselines/reference/objectRestParameterES5.types index 74df68093a..1b8dd29e29 100644 --- a/tests/baselines/reference/objectRestParameterES5.types +++ b/tests/baselines/reference/objectRestParameterES5.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/rest/objectRestParameterES5.ts === function cloneAgain({ a, ...clone }: { a: number, b: string }): void { ->cloneAgain : ({ a, ...clone }: { a: number; b: string;}) => void +>cloneAgain : ({ a, ...clone }: { a: number; b: string; }) => void >a : number >clone : { b: string; } >a : number @@ -8,9 +8,9 @@ function cloneAgain({ a, ...clone }: { a: number, b: string }): void { } declare function suddenly(f: (a: { x: { z, ka }, y: string }) => void); ->suddenly : (f: (a: { x: { z; ka; }; y: string;}) => void) => any ->f : (a: { x: { z; ka; }; y: string;}) => void ->a : { x: { z; ka;}; y: string; } +>suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any +>f : (a: { x: { z: any; ka: any; }; y: string; }) => void +>a : { x: { z: any; ka: any; }; y: string; } >x : { z: any; ka: any; } >z : any >ka : any @@ -57,7 +57,7 @@ class C { >C : C m({ a, ...clone }: { a: number, b: string}): void { ->m : ({ a, ...clone }: { a: number; b: string;}) => void +>m : ({ a, ...clone }: { a: number; b: string; }) => void >a : number >clone : { b: string; } >a : number diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types index 6f81f24c40..c823ecdc0c 100644 --- a/tests/baselines/reference/objectSpread.types +++ b/tests/baselines/reference/objectSpread.types @@ -123,7 +123,7 @@ let combinedNestedChangeType: { a: number, b: boolean, c: number } = >1 : 1 let propertyNested: { a: { a: number, b: string } } = ->propertyNested : { a: { a: number; b: string;}; } +>propertyNested : { a: { a: number; b: string; }; } >a : { a: number; b: string; } >a : number >b : string @@ -174,7 +174,7 @@ type Header = { head: string, body: string, authToken: string } >authToken : string function from16326(this: { header: Header }, header: Header, authToken: string): Header { ->from16326 : (this: { header: Header;}, header: Header, authToken: string) => Header +>from16326 : (this: { header: Header; }, header: Header, authToken: string) => Header >this : { header: Header; } >header : Header >header : Header @@ -200,7 +200,7 @@ function from16326(this: { header: Header }, header: Header, authToken: string): } // boolean && T results in Partial function conditionalSpreadBoolean(b: boolean) : { x: number, y: number } { ->conditionalSpreadBoolean : (b: boolean) => { x: number; y: number;} +>conditionalSpreadBoolean : (b: boolean) => { x: number; y: number; } >b : boolean >x : number >y : number @@ -241,7 +241,7 @@ function conditionalSpreadBoolean(b: boolean) : { x: number, y: number } { >o : { x: number; y: number; } } function conditionalSpreadNumber(nt: number): { x: number, y: number } { ->conditionalSpreadNumber : (nt: number) => { x: number; y: number;} +>conditionalSpreadNumber : (nt: number) => { x: number; y: number; } >nt : number >x : number >y : number @@ -282,7 +282,7 @@ function conditionalSpreadNumber(nt: number): { x: number, y: number } { >o : { x: number; y: number; } } function conditionalSpreadString(st: string): { x: string, y: number } { ->conditionalSpreadString : (st: string) => { x: string; y: number;} +>conditionalSpreadString : (st: string) => { x: string; y: number; } >st : string >x : string >y : number @@ -394,7 +394,7 @@ let changeTypeBoth: { a: string, b: number } = // optional function container( ->container : (definiteBoolean: { sn: boolean;}, definiteString: { sn: string;}, optionalString: { sn?: string;}, optionalNumber: { sn?: number;}) => void +>container : (definiteBoolean: { sn: boolean; }, definiteString: { sn: string; }, optionalString: { sn?: string; }, optionalNumber: { sn?: number; }) => void definiteBoolean: { sn: boolean }, >definiteBoolean : { sn: boolean; } @@ -405,11 +405,11 @@ function container( >sn : string optionalString: { sn?: string }, ->optionalString : { sn?: string | undefined; } +>optionalString : { sn?: string; } >sn : string | undefined optionalNumber: { sn?: number }) { ->optionalNumber : { sn?: number | undefined; } +>optionalNumber : { sn?: number; } >sn : number | undefined let optionalUnionStops: { sn: string | number | boolean } = { ...definiteBoolean, ...definiteString, ...optionalNumber }; @@ -430,7 +430,7 @@ function container( >optionalNumber : { sn?: number | undefined; } let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; ->allOptional : { sn?: string | number | undefined; } +>allOptional : { sn?: string | number; } >sn : string | number | undefined >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } >optionalString : { sn?: string | undefined; } @@ -579,7 +579,7 @@ let overwriteId: { id: string, a: number, c: number, d: string } = >'no' : "no" function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { x: number }) { ->genericSpread : (t: T, u: U, v: T | U, w: T | { s: string;}, obj: { x: number;}) => void +>genericSpread : (t: T, u: U, v: T | U, w: T | { s: string; }, obj: { x: number; }) => void >t : T >u : U >v : T | U diff --git a/tests/baselines/reference/objectSpreadNegative.types b/tests/baselines/reference/objectSpreadNegative.types index a9f0a0f077..70e0133925 100644 --- a/tests/baselines/reference/objectSpreadNegative.types +++ b/tests/baselines/reference/objectSpreadNegative.types @@ -39,11 +39,11 @@ let sn: number = o2.x; // error, x is private >x : any declare let optionalString: { sn?: string }; ->optionalString : { sn?: string | undefined; } +>optionalString : { sn?: string; } >sn : string | undefined declare let optionalNumber: { sn?: number }; ->optionalNumber : { sn?: number | undefined; } +>optionalNumber : { sn?: number; } >sn : number | undefined let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumber }; diff --git a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types index 12f4789c3e..4294d45b43 100644 --- a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types +++ b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types @@ -96,11 +96,11 @@ function parseWithSpread(config: Record): Props { >{ a: config.a.toString() } : { a: string; } >a : string >config.a.toString() : string ->config.a.toString : (radix?: number | undefined) => string +>config.a.toString : (radix?: number) => string >config.a : number >config : Record >a : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.b !== undefined && { b: config.b.toString() }, >config.b !== undefined && { b: config.b.toString() } : false | { b: string; } @@ -112,11 +112,11 @@ function parseWithSpread(config: Record): Props { >{ b: config.b.toString() } : { b: string; } >b : string >config.b.toString() : string ->config.b.toString : (radix?: number | undefined) => string +>config.b.toString : (radix?: number) => string >config.b : number >config : Record >b : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.c !== undefined && { c: config.c.toString() }, >config.c !== undefined && { c: config.c.toString() } : false | { c: string; } @@ -128,11 +128,11 @@ function parseWithSpread(config: Record): Props { >{ c: config.c.toString() } : { c: string; } >c : string >config.c.toString() : string ->config.c.toString : (radix?: number | undefined) => string +>config.c.toString : (radix?: number) => string >config.c : number >config : Record >c : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.d !== undefined && { d: config.d.toString() }, >config.d !== undefined && { d: config.d.toString() } : false | { d: string; } @@ -144,11 +144,11 @@ function parseWithSpread(config: Record): Props { >{ d: config.d.toString() } : { d: string; } >d : string >config.d.toString() : string ->config.d.toString : (radix?: number | undefined) => string +>config.d.toString : (radix?: number) => string >config.d : number >config : Record >d : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.e !== undefined && { e: config.e.toString() }, >config.e !== undefined && { e: config.e.toString() } : false | { e: string; } @@ -160,11 +160,11 @@ function parseWithSpread(config: Record): Props { >{ e: config.e.toString() } : { e: string; } >e : string >config.e.toString() : string ->config.e.toString : (radix?: number | undefined) => string +>config.e.toString : (radix?: number) => string >config.e : number >config : Record >e : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.f !== undefined && { f: config.f.toString() }, >config.f !== undefined && { f: config.f.toString() } : false | { f: string; } @@ -176,11 +176,11 @@ function parseWithSpread(config: Record): Props { >{ f: config.f.toString() } : { f: string; } >f : string >config.f.toString() : string ->config.f.toString : (radix?: number | undefined) => string +>config.f.toString : (radix?: number) => string >config.f : number >config : Record >f : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.g !== undefined && { g: config.g.toString() }, >config.g !== undefined && { g: config.g.toString() } : false | { g: string; } @@ -192,11 +192,11 @@ function parseWithSpread(config: Record): Props { >{ g: config.g.toString() } : { g: string; } >g : string >config.g.toString() : string ->config.g.toString : (radix?: number | undefined) => string +>config.g.toString : (radix?: number) => string >config.g : number >config : Record >g : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.h !== undefined && { h: config.h.toString() }, >config.h !== undefined && { h: config.h.toString() } : false | { h: string; } @@ -208,11 +208,11 @@ function parseWithSpread(config: Record): Props { >{ h: config.h.toString() } : { h: string; } >h : string >config.h.toString() : string ->config.h.toString : (radix?: number | undefined) => string +>config.h.toString : (radix?: number) => string >config.h : number >config : Record >h : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.i !== undefined && { i: config.i.toString() }, >config.i !== undefined && { i: config.i.toString() } : false | { i: string; } @@ -224,11 +224,11 @@ function parseWithSpread(config: Record): Props { >{ i: config.i.toString() } : { i: string; } >i : string >config.i.toString() : string ->config.i.toString : (radix?: number | undefined) => string +>config.i.toString : (radix?: number) => string >config.i : number >config : Record >i : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.j !== undefined && { j: config.j.toString() }, >config.j !== undefined && { j: config.j.toString() } : false | { j: string; } @@ -240,11 +240,11 @@ function parseWithSpread(config: Record): Props { >{ j: config.j.toString() } : { j: string; } >j : string >config.j.toString() : string ->config.j.toString : (radix?: number | undefined) => string +>config.j.toString : (radix?: number) => string >config.j : number >config : Record >j : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.k !== undefined && { k: config.k.toString() }, >config.k !== undefined && { k: config.k.toString() } : false | { k: string; } @@ -256,11 +256,11 @@ function parseWithSpread(config: Record): Props { >{ k: config.k.toString() } : { k: string; } >k : string >config.k.toString() : string ->config.k.toString : (radix?: number | undefined) => string +>config.k.toString : (radix?: number) => string >config.k : number >config : Record >k : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.l !== undefined && { l: config.l.toString() }, >config.l !== undefined && { l: config.l.toString() } : false | { l: string; } @@ -272,11 +272,11 @@ function parseWithSpread(config: Record): Props { >{ l: config.l.toString() } : { l: string; } >l : string >config.l.toString() : string ->config.l.toString : (radix?: number | undefined) => string +>config.l.toString : (radix?: number) => string >config.l : number >config : Record >l : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.m !== undefined && { m: config.m.toString() }, >config.m !== undefined && { m: config.m.toString() } : false | { m: string; } @@ -288,11 +288,11 @@ function parseWithSpread(config: Record): Props { >{ m: config.m.toString() } : { m: string; } >m : string >config.m.toString() : string ->config.m.toString : (radix?: number | undefined) => string +>config.m.toString : (radix?: number) => string >config.m : number >config : Record >m : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.n !== undefined && { n: config.n.toString() }, >config.n !== undefined && { n: config.n.toString() } : false | { n: string; } @@ -304,11 +304,11 @@ function parseWithSpread(config: Record): Props { >{ n: config.n.toString() } : { n: string; } >n : string >config.n.toString() : string ->config.n.toString : (radix?: number | undefined) => string +>config.n.toString : (radix?: number) => string >config.n : number >config : Record >n : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.o !== undefined && { o: config.o.toString() }, >config.o !== undefined && { o: config.o.toString() } : false | { o: string; } @@ -320,11 +320,11 @@ function parseWithSpread(config: Record): Props { >{ o: config.o.toString() } : { o: string; } >o : string >config.o.toString() : string ->config.o.toString : (radix?: number | undefined) => string +>config.o.toString : (radix?: number) => string >config.o : number >config : Record >o : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.p !== undefined && { p: config.p.toString() }, >config.p !== undefined && { p: config.p.toString() } : false | { p: string; } @@ -336,11 +336,11 @@ function parseWithSpread(config: Record): Props { >{ p: config.p.toString() } : { p: string; } >p : string >config.p.toString() : string ->config.p.toString : (radix?: number | undefined) => string +>config.p.toString : (radix?: number) => string >config.p : number >config : Record >p : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.q !== undefined && { q: config.q.toString() }, >config.q !== undefined && { q: config.q.toString() } : false | { q: string; } @@ -352,11 +352,11 @@ function parseWithSpread(config: Record): Props { >{ q: config.q.toString() } : { q: string; } >q : string >config.q.toString() : string ->config.q.toString : (radix?: number | undefined) => string +>config.q.toString : (radix?: number) => string >config.q : number >config : Record >q : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.r !== undefined && { r: config.r.toString() }, >config.r !== undefined && { r: config.r.toString() } : false | { r: string; } @@ -368,11 +368,11 @@ function parseWithSpread(config: Record): Props { >{ r: config.r.toString() } : { r: string; } >r : string >config.r.toString() : string ->config.r.toString : (radix?: number | undefined) => string +>config.r.toString : (radix?: number) => string >config.r : number >config : Record >r : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.s !== undefined && { s: config.s.toString() }, >config.s !== undefined && { s: config.s.toString() } : false | { s: string; } @@ -384,11 +384,11 @@ function parseWithSpread(config: Record): Props { >{ s: config.s.toString() } : { s: string; } >s : string >config.s.toString() : string ->config.s.toString : (radix?: number | undefined) => string +>config.s.toString : (radix?: number) => string >config.s : number >config : Record >s : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.t !== undefined && { t: config.t.toString() }, >config.t !== undefined && { t: config.t.toString() } : false | { t: string; } @@ -400,11 +400,11 @@ function parseWithSpread(config: Record): Props { >{ t: config.t.toString() } : { t: string; } >t : string >config.t.toString() : string ->config.t.toString : (radix?: number | undefined) => string +>config.t.toString : (radix?: number) => string >config.t : number >config : Record >t : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.u !== undefined && { u: config.u.toString() }, >config.u !== undefined && { u: config.u.toString() } : false | { u: string; } @@ -416,11 +416,11 @@ function parseWithSpread(config: Record): Props { >{ u: config.u.toString() } : { u: string; } >u : string >config.u.toString() : string ->config.u.toString : (radix?: number | undefined) => string +>config.u.toString : (radix?: number) => string >config.u : number >config : Record >u : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.v !== undefined && { v: config.v.toString() }, >config.v !== undefined && { v: config.v.toString() } : false | { v: string; } @@ -432,11 +432,11 @@ function parseWithSpread(config: Record): Props { >{ v: config.v.toString() } : { v: string; } >v : string >config.v.toString() : string ->config.v.toString : (radix?: number | undefined) => string +>config.v.toString : (radix?: number) => string >config.v : number >config : Record >v : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.w !== undefined && { w: config.w.toString() }, >config.w !== undefined && { w: config.w.toString() } : false | { w: string; } @@ -448,11 +448,11 @@ function parseWithSpread(config: Record): Props { >{ w: config.w.toString() } : { w: string; } >w : string >config.w.toString() : string ->config.w.toString : (radix?: number | undefined) => string +>config.w.toString : (radix?: number) => string >config.w : number >config : Record >w : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.x !== undefined && { x: config.x.toString() }, >config.x !== undefined && { x: config.x.toString() } : false | { x: string; } @@ -464,11 +464,11 @@ function parseWithSpread(config: Record): Props { >{ x: config.x.toString() } : { x: string; } >x : string >config.x.toString() : string ->config.x.toString : (radix?: number | undefined) => string +>config.x.toString : (radix?: number) => string >config.x : number >config : Record >x : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.y !== undefined && { y: config.y.toString() }, >config.y !== undefined && { y: config.y.toString() } : false | { y: string; } @@ -480,11 +480,11 @@ function parseWithSpread(config: Record): Props { >{ y: config.y.toString() } : { y: string; } >y : string >config.y.toString() : string ->config.y.toString : (radix?: number | undefined) => string +>config.y.toString : (radix?: number) => string >config.y : number >config : Record >y : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string ...config.z !== undefined && { z: config.z.toString() } >config.z !== undefined && { z: config.z.toString() } : false | { z: string; } @@ -496,11 +496,11 @@ function parseWithSpread(config: Record): Props { >{ z: config.z.toString() } : { z: string; } >z : string >config.z.toString() : string ->config.z.toString : (radix?: number | undefined) => string +>config.z.toString : (radix?: number) => string >config.z : number >config : Record >z : number ->toString : (radix?: number | undefined) => string +>toString : (radix?: number) => string } } diff --git a/tests/baselines/reference/objectSpreadStrictNull.types b/tests/baselines/reference/objectSpreadStrictNull.types index fb433b4b1a..6a6bd4fd16 100644 --- a/tests/baselines/reference/objectSpreadStrictNull.types +++ b/tests/baselines/reference/objectSpreadStrictNull.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/spread/objectSpreadStrictNull.ts === function f( ->f : (definiteBoolean: { sn: boolean;}, definiteString: { sn: string;}, optionalString: { sn?: string;}, optionalNumber: { sn?: number;}, undefinedString: { sn: string | undefined;}, undefinedNumber: { sn: number | undefined;}) => void +>f : (definiteBoolean: { sn: boolean; }, definiteString: { sn: string; }, optionalString: { sn?: string; }, optionalNumber: { sn?: number; }, undefinedString: { sn: string | undefined; }, undefinedNumber: { sn: number | undefined; }) => void definiteBoolean: { sn: boolean }, >definiteBoolean : { sn: boolean; } @@ -11,11 +11,11 @@ function f( >sn : string optionalString: { sn?: string }, ->optionalString : { sn?: string | undefined; } +>optionalString : { sn?: string; } >sn : string | undefined optionalNumber: { sn?: number }, ->optionalNumber : { sn?: number | undefined; } +>optionalNumber : { sn?: number; } >sn : number | undefined undefinedString: { sn: string | undefined }, @@ -45,7 +45,7 @@ function f( >optionalNumber : { sn?: number | undefined; } let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; ->allOptional : { sn?: string | number | undefined; } +>allOptional : { sn?: string | number; } >sn : string | number | undefined >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } >optionalString : { sn?: string | undefined; } diff --git a/tests/baselines/reference/objectTypesIdentity.types b/tests/baselines/reference/objectTypesIdentity.types index c49ce4608d..97804f9732 100644 --- a/tests/baselines/reference/objectTypesIdentity.types +++ b/tests/baselines/reference/objectTypesIdentity.types @@ -86,31 +86,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo: string; } >a : { foo: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo: string; } >a : { foo: string; } function foo3(x: any) { } ->foo3 : { (x: { foo: string; }): any; (x: { foo: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo: string; } >b : { foo: string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo: string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo: string; } >b : { foo: string; } function foo4(x: any) { } ->foo4 : { (x: { foo: string; }): any; (x: { foo: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -150,7 +150,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -159,7 +159,7 @@ function foo7(x: typeof a); // error >a : { foo: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -187,7 +187,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -196,11 +196,11 @@ function foo10(x: typeof a); // error >a : { foo: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -209,7 +209,7 @@ function foo11(x: typeof b); // error >b : { foo: string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -225,7 +225,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -234,11 +234,11 @@ function foo13(x: typeof a); // error >a : { foo: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -247,6 +247,6 @@ function foo14(x: typeof b); // error >b : { foo: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentity2.types b/tests/baselines/reference/objectTypesIdentity2.types index 29bd647361..2e7052d8ba 100644 --- a/tests/baselines/reference/objectTypesIdentity2.types +++ b/tests/baselines/reference/objectTypesIdentity2.types @@ -80,7 +80,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo: RegExp; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -89,7 +89,7 @@ function foo7(x: typeof a); // ok >a : { foo: RegExp; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo: RegExp; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -117,7 +117,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo: RegExp; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -126,11 +126,11 @@ function foo10(x: typeof a); // ok >a : { foo: RegExp; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo: RegExp; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo: E; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -139,7 +139,7 @@ function foo11(x: typeof b); // ok >b : { foo: E; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo: E; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -155,7 +155,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo: RegExp; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -164,11 +164,11 @@ function foo13(x: typeof a); // ok >a : { foo: RegExp; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo: RegExp; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo: E; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -177,6 +177,6 @@ function foo14(x: typeof b); // ok >b : { foo: E; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo: E; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types index 6156b5dba4..4309615e38 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types @@ -101,31 +101,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: string): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: string): string; } >a : { foo(x: string): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: string): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: string): string; } >a : { foo(x: string): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: string): string; }): any; (x: { foo(x: string): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: string): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: string): string; } >b : { foo(x: string): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: string): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: string): string; } >b : { foo(x: string): string; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: string): string; }): any; (x: { foo(x: string): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -165,7 +165,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: string): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -174,7 +174,7 @@ function foo7(x: typeof a); // error >a : { foo(x: string): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: string): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -202,7 +202,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: string): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -211,11 +211,11 @@ function foo10(x: typeof a); // error >a : { foo(x: string): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: string): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: string): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -224,7 +224,7 @@ function foo11(x: typeof b); // error >b : { foo(x: string): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: string): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -252,7 +252,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: string): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -261,11 +261,11 @@ function foo13(x: typeof a); // error >a : { foo(x: string): string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: string): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: string): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -274,7 +274,7 @@ function foo14(x: typeof b); // error >b : { foo(x: string): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: string): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types index fd2ed409da..2c28388399 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types @@ -101,31 +101,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: Date): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: Date): string; } >a : { foo(x: Date): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: Date): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: Date): string; } >a : { foo(x: Date): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: Date): string; }): any; (x: { foo(x: Date): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: RegExp): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: RegExp): string; } >b : { foo(x: RegExp): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: RegExp): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: RegExp): string; } >b : { foo(x: RegExp): string; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: RegExp): string; }): any; (x: { foo(x: RegExp): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -165,7 +165,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: Date): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -174,7 +174,7 @@ function foo7(x: typeof a); // ok >a : { foo(x: Date): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: Date): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -202,7 +202,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: Date): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -211,11 +211,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: Date): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: Date): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: RegExp): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -224,7 +224,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: RegExp): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: RegExp): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -252,7 +252,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: Date): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -261,11 +261,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: Date): string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: Date): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: RegExp): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -274,7 +274,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: RegExp): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: RegExp): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types index 9e8f91d47b..7e81af406e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types @@ -28,17 +28,17 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: (x: string) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : (x: string) => string >a : (x: string) => string function foo3(x: typeof a); // error ->foo3 : { (x: (x: string) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : (x: string) => string >a : (x: string) => string function foo3(x: any) { } ->foo3 : { (x: (x: string) => string): any; (x: (x: string) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); @@ -56,7 +56,7 @@ function foo4(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: (x: string) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -65,7 +65,7 @@ function foo13(x: typeof a); // error >a : (x: string) => string function foo13(x: any) { } ->foo13 : { (x: I): any; (x: (x: string) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); @@ -86,11 +86,11 @@ function foo14b(x: typeof a); >a : (x: string) => string function foo14b(x: I2); // error ->foo14b : { (x: (x: string) => string): any; (x: I2): any; } +>foo14b : { (x: typeof a): any; (x: I2): any; } >x : I2 function foo14b(x: any) { } ->foo14b : { (x: (x: string) => string): any; (x: I2): any; } +>foo14b : { (x: typeof a): any; (x: I2): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types index 88b370383d..254d4dc456 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types @@ -104,31 +104,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: string, y: string): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: string, y: string): string; } >a : { foo(x: string, y: string): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: string, y: string): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: string, y: string): string; } >a : { foo(x: string, y: string): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: string, y: string): string; }): any; (x: { foo(x: string, y: string): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: string): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: string): string; } >b : { foo(x: string): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: string): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: string): string; } >b : { foo(x: string): string; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: string): string; }): any; (x: { foo(x: string): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -168,7 +168,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: string, y: string): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -177,7 +177,7 @@ function foo7(x: typeof a); // ok >a : { foo(x: string, y: string): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: string, y: string): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -205,7 +205,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: string, y: string): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -214,11 +214,11 @@ function foo10(x: typeof a); // error >a : { foo(x: string, y: string): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: string, y: string): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: string): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -227,7 +227,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: string): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: string): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -255,7 +255,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: string, y: string): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -264,11 +264,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: string, y: string): string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: string, y: string): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: string): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -277,7 +277,7 @@ function foo14(x: typeof b); // error >b : { foo(x: string): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: string): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types index ba63f8fc11..8054930491 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types @@ -29,17 +29,17 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: (x: string, y: string) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : (x: string, y: string) => string >a : (x: string, y: string) => string function foo3(x: typeof a); // error ->foo3 : { (x: (x: string, y: string) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : (x: string, y: string) => string >a : (x: string, y: string) => string function foo3(x: any) { } ->foo3 : { (x: (x: string, y: string) => string): any; (x: (x: string, y: string) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: I2); @@ -67,7 +67,7 @@ function foo5(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: (x: string, y: string) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -76,7 +76,7 @@ function foo13(x: typeof a); // ok >a : (x: string, y: string) => string function foo13(x: any) { } ->foo13 : { (x: I): any; (x: (x: string, y: string) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); @@ -97,11 +97,11 @@ function foo14b(x: typeof a); >a : (x: string, y: string) => string function foo14b(x: I2); // ok ->foo14b : { (x: (x: string, y: string) => string): any; (x: I2): any; } +>foo14b : { (x: typeof a): any; (x: I2): any; } >x : I2 function foo14b(x: any) { } ->foo14b : { (x: (x: string, y: string) => string): any; (x: I2): any; } +>foo14b : { (x: typeof a): any; (x: I2): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types index 034b318f45..a2470f2b8f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types @@ -153,31 +153,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: number): number; foo(x: string): string; } >a : { foo(x: number): number; foo(x: string): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: number): number; foo(x: string): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: number): number; foo(x: string): string; } >a : { foo(x: number): number; foo(x: string): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: number): number; foo(x: string): string; }): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: any): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: any): any; } >b : { foo(x: any): any; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: any): any; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: any): any; } >b : { foo(x: any): any; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: any): any; }): any; (x: { foo(x: any): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -217,7 +217,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // BUG 831930 @@ -226,7 +226,7 @@ function foo7(x: typeof a); // BUG 831930 >a : { foo(x: number): number; foo(x: string): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -254,7 +254,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // BUG 831930 @@ -263,11 +263,11 @@ function foo10(x: typeof a); // BUG 831930 >a : { foo(x: number): number; foo(x: string): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: any): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -276,7 +276,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: any): any; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: any): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -304,7 +304,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -313,11 +313,11 @@ function foo13(x: typeof a); // error >a : { foo(x: number): number; foo(x: string): string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: number): number; foo(x: string): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: any): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -326,7 +326,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: any): any; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: any): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.types index e3d9de2b77..597e38955a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.types @@ -85,17 +85,17 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: string) => any): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: string) => any >a : new (x: string) => any function foo3(x: typeof a); // error ->foo3 : { (x: new (x: string) => any): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: string) => any >a : new (x: string) => any function foo3(x: any) { } ->foo3 : { (x: new (x: string) => any): any; (x: new (x: string) => any): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo5(x: A); @@ -135,7 +135,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: new (x: string) => any): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -144,7 +144,7 @@ function foo7(x: typeof a); // ok >a : new (x: string) => any function foo7(x: any) { } ->foo7 : { (x: A): any; (x: new (x: string) => any): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -172,7 +172,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: string) => any): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -181,7 +181,7 @@ function foo10(x: typeof a); // ok >a : new (x: string) => any function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: string) => any): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo12(x: I); @@ -209,7 +209,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: string) => any): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -218,7 +218,7 @@ function foo13(x: typeof a); // error >a : new (x: string) => any function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: string) => any): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types index 60f1170362..e1b43a62b8 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types @@ -75,31 +75,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: Date) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: Date) => string >a : new (x: Date) => string function foo3(x: typeof a); // error ->foo3 : { (x: new (x: Date) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: Date) => string >a : new (x: Date) => string function foo3(x: any) { } ->foo3 : { (x: new (x: Date) => string): any; (x: new (x: Date) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: RegExp): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: RegExp): string; } >b : { new(x: RegExp): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: RegExp): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: RegExp): string; } >b : { new(x: RegExp): string; } function foo4(x: any) { } ->foo4 : { (x: { new(x: RegExp): string; }): any; (x: { new(x: RegExp): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -127,7 +127,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: Date) => string): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -136,11 +136,11 @@ function foo10(x: typeof a); // ok >a : new (x: Date) => string function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: Date) => string): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: RegExp): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -149,7 +149,7 @@ function foo11(x: typeof b); // ok >b : { new(x: RegExp): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: RegExp): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -177,7 +177,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: Date) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -186,11 +186,11 @@ function foo13(x: typeof a); // ok >a : new (x: Date) => string function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: Date) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: RegExp): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -199,7 +199,7 @@ function foo14(x: typeof b); // ok >b : { new(x: RegExp): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: RegExp): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types index 42170ffd73..1cdaafa2f3 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types @@ -78,31 +78,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: string, y: string) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: string, y: string) => string >a : new (x: string, y: string) => string function foo3(x: typeof a); // error ->foo3 : { (x: new (x: string, y: string) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: string, y: string) => string >a : new (x: string, y: string) => string function foo3(x: any) { } ->foo3 : { (x: new (x: string, y: string) => string): any; (x: new (x: string, y: string) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: string): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: string): string; } >b : { new(x: string): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: string): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: string): string; } >b : { new(x: string): string; } function foo4(x: any) { } ->foo4 : { (x: { new(x: string): string; }): any; (x: { new(x: string): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -130,7 +130,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: string, y: string) => string): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -139,11 +139,11 @@ function foo10(x: typeof a); // ok >a : new (x: string, y: string) => string function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: string, y: string) => string): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: string): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -152,7 +152,7 @@ function foo11(x: typeof b); // ok >b : { new(x: string): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: string): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -180,7 +180,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: string, y: string) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -189,11 +189,11 @@ function foo13(x: typeof a); // ok >a : new (x: string, y: string) => string function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: string, y: string) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: string): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -202,7 +202,7 @@ function foo14(x: typeof b); // ok >b : { new(x: string): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: string): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types index 8b9791c29b..67390c3164 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types @@ -101,31 +101,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): T; } >a : { foo(x: T): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): T; } >a : { foo(x: T): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T): T; }): any; (x: { foo(x: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): T; } >b : { foo(x: T): T; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T): T; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): T; } >b : { foo(x: T): T; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T): T; }): any; (x: { foo(x: T): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -165,7 +165,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -174,7 +174,7 @@ function foo7(x: typeof a); // error >a : { foo(x: T): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -202,7 +202,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -211,11 +211,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -224,7 +224,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T): T; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -252,7 +252,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -261,11 +261,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -274,7 +274,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T): T; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types index e1640178c5..d8f42439f9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types @@ -108,31 +108,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T, y: U): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y: U): T; } >a : { foo(x: T, y: U): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T, y: U): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y: U): T; } >a : { foo(x: T, y: U): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T, y: U): T; }): any; (x: { foo(x: T, y: U): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T, y: U): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): T; } >b : { foo(x: T, y: U): T; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T, y: U): T; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): T; } >b : { foo(x: T, y: U): T; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T, y: U): T; }): any; (x: { foo(x: T, y: U): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -172,7 +172,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T, y: U): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // no error, bug? @@ -181,7 +181,7 @@ function foo7(x: typeof a); // no error, bug? >a : { foo(x: T, y: U): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T, y: U): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -209,7 +209,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T, y: U): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -218,11 +218,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T, y: U): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T, y: U): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -231,7 +231,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T, y: U): T; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -259,7 +259,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T, y: U): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -268,11 +268,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T, y: U): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T, y: U): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T, y: U): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -281,7 +281,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T, y: U): T; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T, y: U): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types index 6cd87955db..5d43cf9bad 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types @@ -67,15 +67,15 @@ function foo1(x: any) { } >x : any function foo1b(x: B>); ->foo1b : { (x: B>): any; (x: B): any; } +>foo1b : { (x: B>): any; (x: B>): any; } >x : B function foo1b(x: B>); // error ->foo1b : { (x: B): any; (x: B>): any; } +>foo1b : { (x: B>): any; (x: B>): any; } >x : B function foo1b(x: any) { } ->foo1b : { (x: B): any; (x: B): any; } +>foo1b : { (x: B>): any; (x: B>): any; } >x : any function foo1c(x: C); @@ -103,35 +103,35 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): string; } >a : { foo(x: T): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): string; } >a : { foo(x: T): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T): string; }): any; (x: { foo(x: T): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): string; } >b : { foo(x: T): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): string; } >b : { foo(x: T): string; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T): string; }): any; (x: { foo(x: T): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); ->foo5 : { (x: A): any; (x: B): any; } +>foo5 : { (x: A): any; (x: B>): any; } >x : A function foo5(x: B>); // ok @@ -139,7 +139,7 @@ function foo5(x: B>); // ok >x : B function foo5(x: any) { } ->foo5 : { (x: A): any; (x: B): any; } +>foo5 : { (x: A): any; (x: B>): any; } >x : any function foo5b(x: A); @@ -167,7 +167,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -176,7 +176,7 @@ function foo7(x: typeof a); // ok >a : { foo(x: T): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B>); @@ -184,11 +184,11 @@ function foo8(x: B>); >x : B function foo8(x: I); // ok ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B>): any; (x: I): any; } >x : I function foo8(x: any) { } ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B>): any; (x: I): any; } >x : any function foo9(x: B>); @@ -196,37 +196,37 @@ function foo9(x: B>); >x : B function foo9(x: C); // ok ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B>): any; (x: C): any; } >x : C function foo9(x: any) { } ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B>): any; (x: C): any; } >x : any function foo10(x: B>); ->foo10 : { (x: B>): any; (x: { foo(x: T): string; }): any; } +>foo10 : { (x: B>): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok ->foo10 : { (x: B): any; (x: typeof a): any; } +>foo10 : { (x: B>): any; (x: typeof a): any; } >x : { foo(x: T): string; } >a : { foo(x: T): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T): string; }): any; } +>foo10 : { (x: B>): any; (x: typeof a): any; } >x : any function foo11(x: B>); ->foo11 : { (x: B>): any; (x: { foo(x: T): string; }): any; } +>foo11 : { (x: B>): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok ->foo11 : { (x: B): any; (x: typeof b): any; } +>foo11 : { (x: B>): any; (x: typeof b): any; } >x : { foo(x: T): string; } >b : { foo(x: T): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T): string; }): any; } +>foo11 : { (x: B>): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -254,7 +254,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -263,11 +263,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T): string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -276,7 +276,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types index f474159b29..262f509303 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types @@ -84,15 +84,15 @@ function foo1(x: any) { } >x : any function foo1b(x: B, Array>); ->foo1b : { (x: B, Array>): any; (x: B): any; } +>foo1b : { (x: B, Array>): any; (x: B, Array>): any; } >x : B function foo1b(x: B, Array>); // error ->foo1b : { (x: B): any; (x: B, Array>): any; } +>foo1b : { (x: B, Array>): any; (x: B, Array>): any; } >x : B function foo1b(x: any) { } ->foo1b : { (x: B): any; (x: B): any; } +>foo1b : { (x: B, Array>): any; (x: B, Array>): any; } >x : any function foo1c(x: C); @@ -120,35 +120,35 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T, y: U): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y: U): string; } >a : { foo(x: T, y: U): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T, y: U): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y: U): string; } >a : { foo(x: T, y: U): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T, y: U): string; }): any; (x: { foo(x: T, y: U): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): string; } >b : { foo(x: T, y: U): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T, y: U): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): string; } >b : { foo(x: T, y: U): string; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T, y: U): string; }): any; (x: { foo(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); ->foo5 : { (x: A): any; (x: B): any; } +>foo5 : { (x: A): any; (x: B, Array>): any; } >x : A function foo5(x: B, Array>); // ok @@ -156,7 +156,7 @@ function foo5(x: B, Array>); // ok >x : B function foo5(x: any) { } ->foo5 : { (x: A): any; (x: B): any; } +>foo5 : { (x: A): any; (x: B, Array>): any; } >x : any function foo5b(x: A); @@ -208,7 +208,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T, y: U): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -217,7 +217,7 @@ function foo7(x: typeof a); // ok >a : { foo(x: T, y: U): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T, y: U): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B, Array>); @@ -225,11 +225,11 @@ function foo8(x: B, Array>); >x : B function foo8(x: I); // ok ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B, Array>): any; (x: I): any; } >x : I function foo8(x: any) { } ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B, Array>): any; (x: I): any; } >x : any function foo9(x: B, Array>); @@ -237,37 +237,37 @@ function foo9(x: B, Array>); >x : B function foo9(x: C); // ok ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B, Array>): any; (x: C): any; } >x : C function foo9(x: any) { } ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B, Array>): any; (x: C): any; } >x : any function foo10(x: B, Array>); ->foo10 : { (x: B, Array>): any; (x: { foo(x: T, y: U): string; }): any; } +>foo10 : { (x: B, Array>): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok ->foo10 : { (x: B): any; (x: typeof a): any; } +>foo10 : { (x: B, Array>): any; (x: typeof a): any; } >x : { foo(x: T, y: U): string; } >a : { foo(x: T, y: U): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T, y: U): string; }): any; } +>foo10 : { (x: B, Array>): any; (x: typeof a): any; } >x : any function foo11(x: B, Array>); ->foo11 : { (x: B, Array>): any; (x: { foo(x: T, y: U): string; }): any; } +>foo11 : { (x: B, Array>): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok ->foo11 : { (x: B): any; (x: typeof b): any; } +>foo11 : { (x: B, Array>): any; (x: typeof b): any; } >x : { foo(x: T, y: U): string; } >b : { foo(x: T, y: U): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): string; }): any; } +>foo11 : { (x: B, Array>): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -295,7 +295,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T, y: U): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -304,11 +304,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T, y: U): string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T, y: U): string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T, y: U): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -317,7 +317,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T, y: U): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T, y: U): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types index 83a0cd8e66..ec866d3f9d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types @@ -140,31 +140,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T, y: U): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y: U): string; } >a : { foo(x: T, y: U): string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T, y: U): string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y: U): string; } >a : { foo(x: T, y: U): string; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T, y: U): string; }): any; (x: { foo(x: T, y: U): string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): string; } >b : { foo(x: T, y: U): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T, y: U): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): string; } >b : { foo(x: T, y: U): string; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T, y: U): string; }): any; (x: { foo(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -228,7 +228,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T, y: U): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -237,7 +237,7 @@ function foo7(x: typeof a); // error >a : { foo(x: T, y: U): string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T, y: U): string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -265,7 +265,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T, y: U): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -274,11 +274,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T, y: U): string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T, y: U): string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -287,7 +287,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T, y: U): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I, Five>); @@ -315,7 +315,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I, Five>); ->foo13 : { (x: I, Five>): any; (x: { foo(x: T, y: U): string; }): any; } +>foo13 : { (x: I, Five>): any; (x: typeof a): any; } >x : I, Five> function foo13(x: typeof a); // ok @@ -324,11 +324,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T, y: U): string; } function foo13(x: any) { } ->foo13 : { (x: I, Five>): any; (x: { foo(x: T, y: U): string; }): any; } +>foo13 : { (x: I, Five>): any; (x: typeof a): any; } >x : any function foo14(x: I, Five>); ->foo14 : { (x: I, Five>): any; (x: { foo(x: T, y: U): string; }): any; } +>foo14 : { (x: I, Five>): any; (x: typeof b): any; } >x : I, Five> function foo14(x: typeof b); // ok @@ -337,7 +337,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T, y: U): string; } function foo14(x: any) { } ->foo14 : { (x: I, Five>): any; (x: { foo(x: T, y: U): string; }): any; } +>foo14 : { (x: I, Five>): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types index c9d1cc391b..65c5684549 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types @@ -103,31 +103,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): T; } >a : { foo(x: T): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): T; } >a : { foo(x: T): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T): T; }): any; (x: { foo(x: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): any; } >b : { foo(x: T): any; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T): any; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): any; } >b : { foo(x: T): any; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T): any; }): any; (x: { foo(x: T): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -167,7 +167,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -176,7 +176,7 @@ function foo7(x: typeof a); // ok >a : { foo(x: T): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -204,7 +204,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -213,11 +213,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -226,7 +226,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T): any; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -254,7 +254,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -263,11 +263,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -276,7 +276,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T): any; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types index e06213ec1e..0364887bc4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types @@ -103,31 +103,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): T; } >a : { foo(x: T): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T): T; } >a : { foo(x: T): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T): T; }): any; (x: { foo(x: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): any; } >b : { foo(x: T): any; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T): any; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T): any; } >b : { foo(x: T): any; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T): any; }): any; (x: { foo(x: T): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -167,7 +167,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -176,7 +176,7 @@ function foo7(x: typeof a); // ok >a : { foo(x: T): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -204,7 +204,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -213,11 +213,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -226,7 +226,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T): any; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -254,7 +254,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -263,11 +263,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -276,7 +276,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T): any; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types index e52eb157e6..1603ed4612 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types @@ -101,31 +101,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: Z): Z; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: Z): Z; } >a : { foo(x: Z): Z; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: Z): Z; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: Z): Z; } >a : { foo(x: Z): Z; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: Z): Z; }): any; (x: { foo(x: Z): Z; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: A): A; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: A): A; } >b : { foo(x: A): A; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: A): A; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: A): A; } >b : { foo(x: A): A; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: A): A; }): any; (x: { foo(x: A): A; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -165,7 +165,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // no error, bug? @@ -174,7 +174,7 @@ function foo7(x: typeof a); // no error, bug? >a : { foo(x: Z): Z; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -202,7 +202,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -211,11 +211,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: Z): Z; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -224,7 +224,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: A): A; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I, number, Date, string>); @@ -252,7 +252,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -261,11 +261,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: Z): Z; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -274,7 +274,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: A): A; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types index 0041973945..b62c6e3a6f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types @@ -41,21 +41,21 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: (x: Z) => Z): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : (x: Z) => Z >a : (x: Z) => Z function foo3(x: typeof a); // error ->foo3 : { (x: (x: Z) => Z): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : (x: Z) => Z >a : (x: Z) => Z function foo3(x: any) { } ->foo3 : { (x: (x: Z) => Z): any; (x: (x: Z) => Z): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: (x: Z) => Z): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -64,7 +64,7 @@ function foo13(x: typeof a); // ok >a : (x: Z) => Z function foo13(x: any) { } ->foo13 : { (x: I): any; (x: (x: Z) => Z): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); @@ -85,11 +85,11 @@ function foo14b(x: typeof a); >a : (x: Z) => Z function foo14b(x: I2); // ok ->foo14b : { (x: (x: Z) => Z): any; (x: I2): any; } +>foo14b : { (x: typeof a): any; (x: I2): any; } >x : I2 function foo14b(x: any) { } ->foo14b : { (x: (x: Z) => Z): any; (x: I2): any; } +>foo14b : { (x: typeof a): any; (x: I2): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types index d7ae2ac79c..57d5238184 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types @@ -101,31 +101,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: Z): Z; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: Z): Z; } >a : { foo(x: Z): Z; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: Z): Z; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: Z): Z; } >a : { foo(x: Z): Z; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: Z): Z; }): any; (x: { foo(x: Z): Z; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: A): A; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: A): A; } >b : { foo(x: A): A; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: A): A; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: A): A; } >b : { foo(x: A): A; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: A): A; }): any; (x: { foo(x: A): A; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -165,7 +165,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -174,7 +174,7 @@ function foo7(x: typeof a); // error >a : { foo(x: Z): Z; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -202,7 +202,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -211,11 +211,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: Z): Z; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -224,7 +224,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: A): A; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -252,7 +252,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -261,11 +261,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: Z): Z; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -274,7 +274,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: A): A; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types index 24139e680e..69055f9e45 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types @@ -110,31 +110,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y?: T): T; } >a : { foo(x: T, y?: T): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T, y?: T): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y?: T): T; } >a : { foo(x: T, y?: T): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T, y?: T): T; }): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y?: T): T; } >b : { foo(x: T, y?: T): T; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T, y?: T): T; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y?: T): T; } >b : { foo(x: T, y?: T): T; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T, y?: T): T; }): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -174,7 +174,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // no error, bug? @@ -183,7 +183,7 @@ function foo7(x: typeof a); // no error, bug? >a : { foo(x: T, y?: T): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -211,7 +211,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -220,11 +220,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T, y?: T): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -233,7 +233,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T, y?: T): T; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -261,7 +261,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -270,11 +270,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T, y?: T): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -283,7 +283,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T, y?: T): T; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T, y?: T): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types index eace84311a..9227e608a8 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types @@ -110,31 +110,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y?: U): T; } >a : { foo(x: T, y?: U): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T, y?: U): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y?: U): T; } >a : { foo(x: T, y?: U): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T, y?: U): T; }): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y?: U): T; } >b : { foo(x: T, y?: U): T; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T, y?: U): T; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y?: U): T; } >b : { foo(x: T, y?: U): T; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T, y?: U): T; }): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -174,7 +174,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // no error, bug? @@ -183,7 +183,7 @@ function foo7(x: typeof a); // no error, bug? >a : { foo(x: T, y?: U): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -211,7 +211,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -220,11 +220,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T, y?: U): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -233,7 +233,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T, y?: U): T; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -261,7 +261,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -270,11 +270,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T, y?: U): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -283,7 +283,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T, y?: U): T; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types index 819eea01a7..ac17288663 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types @@ -110,31 +110,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y?: U): T; } >a : { foo(x: T, y?: U): T; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: T, y?: U): T; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo(x: T, y?: U): T; } >a : { foo(x: T, y?: U): T; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: T, y?: U): T; }): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: T, y: U): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): T; } >b : { foo(x: T, y: U): T; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: T, y: U): T; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo(x: T, y: U): T; } >b : { foo(x: T, y: U): T; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: T, y: U): T; }): any; (x: { foo(x: T, y: U): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -174,7 +174,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // no error, bug? @@ -183,7 +183,7 @@ function foo7(x: typeof a); // no error, bug? >a : { foo(x: T, y?: U): T; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -211,7 +211,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -220,11 +220,11 @@ function foo10(x: typeof a); // ok >a : { foo(x: T, y?: U): T; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -233,7 +233,7 @@ function foo11(x: typeof b); // ok >b : { foo(x: T, y: U): T; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: T, y: U): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -261,7 +261,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -270,11 +270,11 @@ function foo13(x: typeof a); // ok >a : { foo(x: T, y?: U): T; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: T, y?: U): T; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: T, y: U): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -283,7 +283,7 @@ function foo14(x: typeof b); // ok >b : { foo(x: T, y: U): T; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: T, y: U): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types index f4d08caae2..1e73f01c22 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types @@ -41,15 +41,15 @@ var b = { new(x: T) { return ''; } }; // not a construct signa >'' : "" function foo1b(x: B>); ->foo1b : { (x: B>): any; (x: B): any; } +>foo1b : { (x: B>): any; (x: B>): any; } >x : B function foo1b(x: B>); // error ->foo1b : { (x: B): any; (x: B>): any; } +>foo1b : { (x: B>): any; (x: B>): any; } >x : B function foo1b(x: any) { } ->foo1b : { (x: B): any; (x: B): any; } +>foo1b : { (x: B>): any; (x: B>): any; } >x : any function foo1c(x: C); @@ -77,31 +77,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T) => string >a : new (x: T) => string function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T) => string >a : new (x: T) => string function foo3(x: any) { } ->foo3 : { (x: new (x: T) => string): any; (x: new (x: T) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T): string; } >b : { new(x: T): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T): string; } >b : { new(x: T): string; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T): string; }): any; (x: { new(x: T): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B>); @@ -109,11 +109,11 @@ function foo8(x: B>); >x : B function foo8(x: I); // ok ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B>): any; (x: I): any; } >x : I function foo8(x: any) { } ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B>): any; (x: I): any; } >x : any function foo9(x: B>); @@ -121,37 +121,37 @@ function foo9(x: B>); >x : B function foo9(x: C); // error, types are structurally equal ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B>): any; (x: C): any; } >x : C function foo9(x: any) { } ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B>): any; (x: C): any; } >x : any function foo10(x: B>); ->foo10 : { (x: B>): any; (x: new (x: T) => string): any; } +>foo10 : { (x: B>): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok ->foo10 : { (x: B): any; (x: typeof a): any; } +>foo10 : { (x: B>): any; (x: typeof a): any; } >x : new (x: T) => string >a : new (x: T) => string function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T) => string): any; } +>foo10 : { (x: B>): any; (x: typeof a): any; } >x : any function foo11(x: B>); ->foo11 : { (x: B>): any; (x: { new(x: T): string; }): any; } +>foo11 : { (x: B>): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok ->foo11 : { (x: B): any; (x: typeof b): any; } +>foo11 : { (x: B>): any; (x: typeof b): any; } >x : { new(x: T): string; } >b : { new(x: T): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T): string; }): any; } +>foo11 : { (x: B>): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -179,7 +179,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -188,11 +188,11 @@ function foo13(x: typeof a); // ok >a : new (x: T) => string function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -201,6 +201,6 @@ function foo14(x: typeof b); // ok >b : { new(x: T): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types index d474a8dcb3..02d239c4f4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types @@ -56,15 +56,15 @@ var b = { new(x: T, y: U) { return ''; } }; // no >'' : "" function foo1b(x: B, Array>); ->foo1b : { (x: B, Array>): any; (x: B): any; } +>foo1b : { (x: B, Array>): any; (x: B, Array>): any; } >x : B function foo1b(x: B, Array>); // error ->foo1b : { (x: B): any; (x: B, Array>): any; } +>foo1b : { (x: B, Array>): any; (x: B, Array>): any; } >x : B function foo1b(x: any) { } ->foo1b : { (x: B): any; (x: B): any; } +>foo1b : { (x: B, Array>): any; (x: B, Array>): any; } >x : any function foo1c(x: C); @@ -92,31 +92,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T, y: U) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y: U) => string >a : new (x: T, y: U) => string function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T, y: U) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y: U) => string >a : new (x: T, y: U) => string function foo3(x: any) { } ->foo3 : { (x: new (x: T, y: U) => string): any; (x: new (x: T, y: U) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y: U): string; } >b : { new(x: T, y: U): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T, y: U): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y: U): string; } >b : { new(x: T, y: U): string; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T, y: U): string; }): any; (x: { new(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5c(x: C); @@ -148,11 +148,11 @@ function foo8(x: B, Array>); >x : B function foo8(x: I); // ok ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B, Array>): any; (x: I): any; } >x : I function foo8(x: any) { } ->foo8 : { (x: B): any; (x: I): any; } +>foo8 : { (x: B, Array>): any; (x: I): any; } >x : any function foo9(x: B, Array>); @@ -160,37 +160,37 @@ function foo9(x: B, Array>); >x : B function foo9(x: C); // error, types are structurally equal ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B, Array>): any; (x: C): any; } >x : C function foo9(x: any) { } ->foo9 : { (x: B): any; (x: C): any; } +>foo9 : { (x: B, Array>): any; (x: C): any; } >x : any function foo10(x: B, Array>); ->foo10 : { (x: B, Array>): any; (x: new (x: T, y: U) => string): any; } +>foo10 : { (x: B, Array>): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok ->foo10 : { (x: B): any; (x: typeof a): any; } +>foo10 : { (x: B, Array>): any; (x: typeof a): any; } >x : new (x: T, y: U) => string >a : new (x: T, y: U) => string function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T, y: U) => string): any; } +>foo10 : { (x: B, Array>): any; (x: typeof a): any; } >x : any function foo11(x: B, Array>); ->foo11 : { (x: B, Array>): any; (x: { new(x: T, y: U): string; }): any; } +>foo11 : { (x: B, Array>): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok ->foo11 : { (x: B): any; (x: typeof b): any; } +>foo11 : { (x: B, Array>): any; (x: typeof b): any; } >x : { new(x: T, y: U): string; } >b : { new(x: T, y: U): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T, y: U): string; }): any; } +>foo11 : { (x: B, Array>): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -218,7 +218,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T, y: U) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -227,11 +227,11 @@ function foo13(x: typeof a); // ok >a : new (x: T, y: U) => string function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T, y: U) => string): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T, y: U): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -240,6 +240,6 @@ function foo14(x: typeof b); // ok >b : { new(x: T, y: U): string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T, y: U): string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types index e489d67f15..483c4b29fc 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types @@ -112,31 +112,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T, y: U) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y: U) => string >a : new (x: T, y: U) => string function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T, y: U) => string): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y: U) => string >a : new (x: T, y: U) => string function foo3(x: any) { } ->foo3 : { (x: new (x: T, y: U) => string): any; (x: new (x: T, y: U) => string): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y: U): string; } >b : { new(x: T, y: U): string; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T, y: U): string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y: U): string; } >b : { new(x: T, y: U): string; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T, y: U): string; }): any; (x: { new(x: T, y: U): string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5c(x: C); @@ -188,7 +188,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: T, y: U) => string): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -197,11 +197,11 @@ function foo10(x: typeof a); // ok >a : new (x: T, y: U) => string function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T, y: U) => string): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: T, y: U): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -210,7 +210,7 @@ function foo11(x: typeof b); // ok >b : { new(x: T, y: U): string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T, y: U): string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I, Five>); @@ -238,7 +238,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I, Five>); ->foo13 : { (x: I, Five>): any; (x: new (x: T, y: U) => string): any; } +>foo13 : { (x: I, Five>): any; (x: typeof a): any; } >x : I, Five> function foo13(x: typeof a); // ok @@ -247,11 +247,11 @@ function foo13(x: typeof a); // ok >a : new (x: T, y: U) => string function foo13(x: any) { } ->foo13 : { (x: I, Five>): any; (x: new (x: T, y: U) => string): any; } +>foo13 : { (x: I, Five>): any; (x: typeof a): any; } >x : any function foo14(x: I, Five>); ->foo14 : { (x: I, Five>): any; (x: { new(x: T, y: U): string; }): any; } +>foo14 : { (x: I, Five>): any; (x: typeof b): any; } >x : I, Five> function foo14(x: typeof b); // ok @@ -260,6 +260,6 @@ function foo14(x: typeof b); // ok >b : { new(x: T, y: U): string; } function foo14(x: any) { } ->foo14 : { (x: I, Five>): any; (x: { new(x: T, y: U): string; }): any; } +>foo14 : { (x: I, Five>): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types index 0ca4685b55..d19dc5b12c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types @@ -77,45 +77,45 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T) => T): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T) => T >a : new (x: T) => T function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T) => T): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T) => T >a : new (x: T) => T function foo3(x: any) { } ->foo3 : { (x: new (x: T) => T): any; (x: new (x: T) => T): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T): T; } >b : { new(x: T): T; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T): T; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T): T; } >b : { new(x: T): T; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T): T; }): any; (x: { new(x: T): T; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: typeof a): number; ->foo5 : { (x: typeof a): number; (x: { new(x: T): T; }): string; } +>foo5 : { (x: typeof a): number; (x: typeof b): string; } >x : new (x: T) => T >a : new (x: T) => T function foo5(x: typeof b): string; // ok ->foo5 : { (x: new (x: T) => T): number; (x: typeof b): string; } +>foo5 : { (x: typeof a): number; (x: typeof b): string; } >x : { new(x: T): T; } >b : { new(x: T): T; } function foo5(x: any): any { } ->foo5 : { (x: new (x: T) => T): number; (x: { new(x: T): T; }): string; } +>foo5 : { (x: typeof a): number; (x: typeof b): string; } >x : any function foo8(x: B); @@ -143,7 +143,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: T) => T): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -152,11 +152,11 @@ function foo10(x: typeof a); // ok >a : new (x: T) => T function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T) => T): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: T): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -165,7 +165,7 @@ function foo11(x: typeof b); // ok >b : { new(x: T): T; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T): T; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -193,7 +193,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T) => T): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -202,11 +202,11 @@ function foo13(x: typeof a); // ok >a : new (x: T) => T function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T) => T): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -215,7 +215,7 @@ function foo14(x: typeof b); // ok >b : { new(x: T): T; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T): T; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types index 81cfc0e8f4..99c3f8574c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types @@ -77,31 +77,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T) => T): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T) => T >a : new (x: T) => T function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T) => T): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T) => T >a : new (x: T) => T function foo3(x: any) { } ->foo3 : { (x: new (x: T) => T): any; (x: new (x: T) => T): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T): any; } >b : { new(x: T): any; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T): any; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T): any; } >b : { new(x: T): any; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T): any; }): any; (x: { new(x: T): any; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -129,7 +129,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: T) => T): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -138,11 +138,11 @@ function foo10(x: typeof a); // ok >a : new (x: T) => T function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T) => T): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: T): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -151,7 +151,7 @@ function foo11(x: typeof b); // ok >b : { new(x: T): any; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T): any; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -179,7 +179,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T) => T): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -188,11 +188,11 @@ function foo13(x: typeof a); // ok >a : new (x: T) => T function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T) => T): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -201,7 +201,7 @@ function foo14(x: typeof b); // ok >b : { new(x: T): any; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T): any; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types index b4be0ae1b4..e49bc9ab5f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types @@ -75,31 +75,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: Z) => C): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: Z) => C >a : new (x: Z) => C function foo3(x: typeof a); // error ->foo3 : { (x: new (x: Z) => C): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: Z) => C >a : new (x: Z) => C function foo3(x: any) { } ->foo3 : { (x: new (x: Z) => C): any; (x: new (x: Z) => C): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: A): A; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: A): A; } >b : { new(x: A): A; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: A): A; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: A): A; } >b : { new(x: A): A; } function foo4(x: any) { } ->foo4 : { (x: { new(x: A): A; }): any; (x: { new(x: A): A; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -127,7 +127,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: Z) => C): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -136,11 +136,11 @@ function foo10(x: typeof a); // ok >a : new (x: Z) => C function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: Z) => C): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -149,7 +149,7 @@ function foo11(x: typeof b); // ok >b : { new(x: A): A; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I, number, Date, string>); @@ -177,7 +177,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: Z) => C): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -186,11 +186,11 @@ function foo13(x: typeof a); // ok >a : new (x: Z) => C function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: Z) => C): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -199,6 +199,6 @@ function foo14(x: typeof b); // ok >b : { new(x: A): A; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types index bfbeadcd02..ffad1e34ff 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types @@ -77,31 +77,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: Z) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: Z) => B >a : new (x: Z) => B function foo3(x: typeof a); // error ->foo3 : { (x: new (x: Z) => B): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: Z) => B >a : new (x: Z) => B function foo3(x: any) { } ->foo3 : { (x: new (x: Z) => B): any; (x: new (x: Z) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: A): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: A): C; } >b : { new(x: A): C; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: A): C; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: A): C; } >b : { new(x: A): C; } function foo4(x: any) { } ->foo4 : { (x: { new(x: A): C; }): any; (x: { new(x: A): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -129,7 +129,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: Z) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // BUG 832086 @@ -138,11 +138,11 @@ function foo10(x: typeof a); // BUG 832086 >a : new (x: Z) => B function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: Z) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: A): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -151,7 +151,7 @@ function foo11(x: typeof b); // ok >b : { new(x: A): C; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: A): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -179,7 +179,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: Z) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // BUG 832086 @@ -188,11 +188,11 @@ function foo13(x: typeof a); // BUG 832086 >a : new (x: Z) => B function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: Z) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: A): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -201,6 +201,6 @@ function foo14(x: typeof b); // ok >b : { new(x: A): C; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: A): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types index 98b9295dba..a355b408ac 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types @@ -86,31 +86,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T, y?: T) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y?: T) => B >a : new (x: T, y?: T) => B function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T, y?: T) => B): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y?: T) => B >a : new (x: T, y?: T) => B function foo3(x: any) { } ->foo3 : { (x: new (x: T, y?: T) => B): any; (x: new (x: T, y?: T) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T, y?: T): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y?: T): C; } >b : { new(x: T, y?: T): C; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T, y?: T): C; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y?: T): C; } >b : { new(x: T, y?: T): C; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T, y?: T): C; }): any; (x: { new(x: T, y?: T): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B): string; @@ -138,7 +138,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: T, y?: T) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // BUG 832086 @@ -147,11 +147,11 @@ function foo10(x: typeof a); // BUG 832086 >a : new (x: T, y?: T) => B function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T, y?: T) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: T, y?: T): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -160,7 +160,7 @@ function foo11(x: typeof b); // ok >b : { new(x: T, y?: T): C; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T, y?: T): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -188,7 +188,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T, y?: T) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // BUG 832086 @@ -197,11 +197,11 @@ function foo13(x: typeof a); // BUG 832086 >a : new (x: T, y?: T) => B function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T, y?: T) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T, y?: T): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -210,6 +210,6 @@ function foo14(x: typeof b); // ok >b : { new(x: T, y?: T): C; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T, y?: T): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types index c5063e0750..2507c3b29f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types @@ -86,31 +86,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T, y?: U) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y?: U) => B >a : new (x: T, y?: U) => B function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T, y?: U) => B): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y?: U) => B >a : new (x: T, y?: U) => B function foo3(x: any) { } ->foo3 : { (x: new (x: T, y?: U) => B): any; (x: new (x: T, y?: U) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T, y?: U): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y?: U): C; } >b : { new(x: T, y?: U): C; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T, y?: U): C; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y?: U): C; } >b : { new(x: T, y?: U): C; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T, y?: U): C; }): any; (x: { new(x: T, y?: U): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -138,7 +138,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: T, y?: U) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // BUG 832086 @@ -147,11 +147,11 @@ function foo10(x: typeof a); // BUG 832086 >a : new (x: T, y?: U) => B function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T, y?: U) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: T, y?: U): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -160,7 +160,7 @@ function foo11(x: typeof b); // ok >b : { new(x: T, y?: U): C; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T, y?: U): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -188,7 +188,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T, y?: U) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // BUG 832086 @@ -197,11 +197,11 @@ function foo13(x: typeof a); // BUG 832086 >a : new (x: T, y?: U) => B function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T, y?: U) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T, y?: U): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -210,6 +210,6 @@ function foo14(x: typeof b); // ok >b : { new(x: T, y?: U): C; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T, y?: U): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types index 3a2b834caa..6451b59b36 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types @@ -86,31 +86,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: T, y?: U) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y?: U) => B >a : new (x: T, y?: U) => B function foo3(x: typeof a); // error ->foo3 : { (x: new (x: T, y?: U) => B): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : new (x: T, y?: U) => B >a : new (x: T, y?: U) => B function foo3(x: any) { } ->foo3 : { (x: new (x: T, y?: U) => B): any; (x: new (x: T, y?: U) => B): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { new(x: T, y: U): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y: U): C; } >b : { new(x: T, y: U): C; } function foo4(x: typeof b); // error ->foo4 : { (x: { new(x: T, y: U): C; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { new(x: T, y: U): C; } >b : { new(x: T, y: U): C; } function foo4(x: any) { } ->foo4 : { (x: { new(x: T, y: U): C; }): any; (x: { new(x: T, y: U): C; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo8(x: B); @@ -138,7 +138,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: T, y?: U) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // BUG 832086 @@ -147,11 +147,11 @@ function foo10(x: typeof a); // BUG 832086 >a : new (x: T, y?: U) => B function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: T, y?: U) => B): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { new(x: T, y: U): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -160,7 +160,7 @@ function foo11(x: typeof b); // ok >b : { new(x: T, y: U): C; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { new(x: T, y: U): C; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -188,7 +188,7 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: T, y?: U) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // BUG 832086 @@ -197,11 +197,11 @@ function foo13(x: typeof a); // BUG 832086 >a : new (x: T, y?: U) => B function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: T, y?: U) => B): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { new(x: T, y: U): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -210,6 +210,6 @@ function foo14(x: typeof b); // ok >b : { new(x: T, y: U): C; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { new(x: T, y: U): C; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types index 0e7e910f20..17b583cc29 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types @@ -99,31 +99,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { [x: number]: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: number]: string; } >a : { [x: number]: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { [x: number]: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: number]: string; } >a : { [x: number]: string; } function foo3(x: any) { } ->foo3 : { (x: { [x: number]: string; }): any; (x: { [x: number]: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { [x: number]: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: number]: string; } >b : { [x: number]: string; } function foo4(x: typeof b); // error ->foo4 : { (x: { [x: number]: string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: number]: string; } >b : { [x: number]: string; } function foo4(x: any) { } ->foo4 : { (x: { [x: number]: string; }): any; (x: { [x: number]: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -187,7 +187,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { [x: number]: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -196,7 +196,7 @@ function foo7(x: typeof a); // error >a : { [x: number]: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { [x: number]: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -224,7 +224,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { [x: number]: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -233,11 +233,11 @@ function foo10(x: typeof a); // error >a : { [x: number]: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { [x: number]: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { [x: number]: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -246,7 +246,7 @@ function foo11(x: typeof b); // error >b : { [x: number]: string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { [x: number]: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo11b(x: B); @@ -286,7 +286,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { [x: number]: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -295,11 +295,11 @@ function foo13(x: typeof a); // error >a : { [x: number]: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { [x: number]: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { [x: number]: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -308,7 +308,7 @@ function foo14(x: typeof b); // error >b : { [x: number]: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { [x: number]: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.types b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.types index f86cdcda6b..d897facf9c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.types +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.types @@ -109,31 +109,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { [x: number]: Base; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: number]: Base; } >a : { [x: number]: Base; } function foo3(x: typeof a); // error ->foo3 : { (x: { [x: number]: Base; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: number]: Base; } >a : { [x: number]: Base; } function foo3(x: any) { } ->foo3 : { (x: { [x: number]: Base; }): any; (x: { [x: number]: Base; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { [x: number]: Derived; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: number]: Derived; } >b : { [x: number]: Derived; } function foo4(x: typeof b); // error ->foo4 : { (x: { [x: number]: Derived; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: number]: Derived; } >b : { [x: number]: Derived; } function foo4(x: any) { } ->foo4 : { (x: { [x: number]: Derived; }): any; (x: { [x: number]: Derived; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -197,7 +197,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { [x: number]: Base; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -206,7 +206,7 @@ function foo7(x: typeof a); // error >a : { [x: number]: Base; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { [x: number]: Base; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -234,7 +234,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { [x: number]: Base; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -243,11 +243,11 @@ function foo10(x: typeof a); // ok >a : { [x: number]: Base; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { [x: number]: Base; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { [x: number]: Derived; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -256,7 +256,7 @@ function foo11(x: typeof b); // error >b : { [x: number]: Derived; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { [x: number]: Derived; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo11b(x: B); @@ -296,7 +296,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { [x: number]: Base; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -305,11 +305,11 @@ function foo13(x: typeof a); // ok >a : { [x: number]: Base; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { [x: number]: Base; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { [x: number]: Derived; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -318,7 +318,7 @@ function foo14(x: typeof b); // error >b : { [x: number]: Derived; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { [x: number]: Derived; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types index 64617eeb5a..e9e192158b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.types @@ -99,31 +99,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { [x: string]: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: string]: string; } >a : { [x: string]: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { [x: string]: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: string]: string; } >a : { [x: string]: string; } function foo3(x: any) { } ->foo3 : { (x: { [x: string]: string; }): any; (x: { [x: string]: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { [x: number]: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: number]: string; } >b : { [x: number]: string; } function foo4(x: typeof b); // error ->foo4 : { (x: { [x: number]: string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: number]: string; } >b : { [x: number]: string; } function foo4(x: any) { } ->foo4 : { (x: { [x: number]: string; }): any; (x: { [x: number]: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -187,7 +187,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { [x: string]: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -196,7 +196,7 @@ function foo7(x: typeof a); // ok >a : { [x: string]: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { [x: string]: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -224,7 +224,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { [x: string]: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -233,11 +233,11 @@ function foo10(x: typeof a); // error >a : { [x: string]: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { [x: string]: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { [x: number]: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // ok @@ -246,7 +246,7 @@ function foo11(x: typeof b); // ok >b : { [x: number]: string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { [x: number]: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo11b(x: B); @@ -286,7 +286,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { [x: string]: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -295,11 +295,11 @@ function foo13(x: typeof a); // error >a : { [x: string]: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { [x: string]: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { [x: number]: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -308,7 +308,7 @@ function foo14(x: typeof b); // ok >b : { [x: number]: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { [x: number]: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithOptionality.types b/tests/baselines/reference/objectTypesIdentityWithOptionality.types index 4346ea2722..b9601a2195 100644 --- a/tests/baselines/reference/objectTypesIdentityWithOptionality.types +++ b/tests/baselines/reference/objectTypesIdentityWithOptionality.types @@ -50,17 +50,17 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo?: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo?: string; } >a : { foo?: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo?: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo?: string; } >a : { foo?: string; } function foo3(x: any) { } ->foo3 : { (x: { foo?: string; }): any; (x: { foo?: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo6(x: A); @@ -76,7 +76,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo?: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // ok @@ -85,7 +85,7 @@ function foo7(x: typeof a); // ok >a : { foo?: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo?: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -101,7 +101,7 @@ function foo8(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo?: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -110,7 +110,7 @@ function foo10(x: typeof a); // ok >a : { foo?: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo?: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo12(x: I); @@ -126,7 +126,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo?: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -135,11 +135,11 @@ function foo13(x: typeof a); // error >a : { foo?: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo?: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // ok @@ -148,6 +148,6 @@ function foo14(x: typeof b); // ok >b : { foo: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates.types b/tests/baselines/reference/objectTypesIdentityWithPrivates.types index 20a69056cf..da14907db1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates.types +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates.types @@ -96,31 +96,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo: string; } >a : { foo: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo: string; } >a : { foo: string; } function foo3(x: any) { } ->foo3 : { (x: { foo: string; }): any; (x: { foo: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo: string; } >b : { foo: string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo: string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo: string; } >b : { foo: string; } function foo4(x: any) { } ->foo4 : { (x: { foo: string; }): any; (x: { foo: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -184,7 +184,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // no error @@ -193,7 +193,7 @@ function foo7(x: typeof a); // no error >a : { foo: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -221,7 +221,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // no error @@ -230,11 +230,11 @@ function foo10(x: typeof a); // no error >a : { foo: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // no error @@ -243,7 +243,7 @@ function foo11(x: typeof b); // no error >b : { foo: string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo11b(x: B); @@ -283,7 +283,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -292,11 +292,11 @@ function foo13(x: typeof a); // error >a : { foo: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -305,7 +305,7 @@ function foo14(x: typeof b); // error >b : { foo: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithPublics.types b/tests/baselines/reference/objectTypesIdentityWithPublics.types index a49fb54e74..dcd15687ff 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPublics.types +++ b/tests/baselines/reference/objectTypesIdentityWithPublics.types @@ -86,31 +86,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo: string; } >a : { foo: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { foo: string; } >a : { foo: string; } function foo3(x: any) { } ->foo3 : { (x: { foo: string; }): any; (x: { foo: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo: string; } >b : { foo: string; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo: string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { foo: string; } >b : { foo: string; } function foo4(x: any) { } ->foo4 : { (x: { foo: string; }): any; (x: { foo: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -150,7 +150,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -159,7 +159,7 @@ function foo7(x: typeof a); // error >a : { foo: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -187,7 +187,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -196,11 +196,11 @@ function foo10(x: typeof a); // error >a : { foo: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -209,7 +209,7 @@ function foo11(x: typeof b); // error >b : { foo: string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo12(x: I); @@ -225,7 +225,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -234,11 +234,11 @@ function foo13(x: typeof a); // error >a : { foo: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -247,6 +247,6 @@ function foo14(x: typeof b); // error >b : { foo: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types b/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types index 97065dd763..9b138ec76d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types +++ b/tests/baselines/reference/objectTypesIdentityWithStringIndexers.types @@ -99,31 +99,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { [x: string]: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: string]: string; } >a : { [x: string]: string; } function foo3(x: typeof a); // error ->foo3 : { (x: { [x: string]: string; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: string]: string; } >a : { [x: string]: string; } function foo3(x: any) { } ->foo3 : { (x: { [x: string]: string; }): any; (x: { [x: string]: string; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { [x: string]: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: string]: string; } >b : { [x: string]: string; } function foo4(x: typeof b); // error ->foo4 : { (x: { [x: string]: string; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: string]: string; } >b : { [x: string]: string; } function foo4(x: any) { } ->foo4 : { (x: { [x: string]: string; }): any; (x: { [x: string]: string; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -187,7 +187,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { [x: string]: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -196,7 +196,7 @@ function foo7(x: typeof a); // error >a : { [x: string]: string; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { [x: string]: string; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -224,7 +224,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { [x: string]: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // error @@ -233,11 +233,11 @@ function foo10(x: typeof a); // error >a : { [x: string]: string; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { [x: string]: string; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { [x: string]: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -246,7 +246,7 @@ function foo11(x: typeof b); // error >b : { [x: string]: string; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { [x: string]: string; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo11b(x: B); @@ -286,7 +286,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { [x: string]: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // error @@ -295,11 +295,11 @@ function foo13(x: typeof a); // error >a : { [x: string]: string; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { [x: string]: string; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { [x: string]: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -308,7 +308,7 @@ function foo14(x: typeof b); // error >b : { [x: string]: string; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { [x: string]: string; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.types b/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.types index d5378a68b3..7007027f6f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.types +++ b/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.types @@ -109,31 +109,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { [x: string]: Base; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: string]: Base; } >a : { [x: string]: Base; } function foo3(x: typeof a); // error ->foo3 : { (x: { [x: string]: Base; }): any; (x: typeof a): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : { [x: string]: Base; } >a : { [x: string]: Base; } function foo3(x: any) { } ->foo3 : { (x: { [x: string]: Base; }): any; (x: { [x: string]: Base; }): any; } +>foo3 : { (x: typeof a): any; (x: typeof a): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { [x: string]: Derived; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: string]: Derived; } >b : { [x: string]: Derived; } function foo4(x: typeof b); // error ->foo4 : { (x: { [x: string]: Derived; }): any; (x: typeof b): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : { [x: string]: Derived; } >b : { [x: string]: Derived; } function foo4(x: any) { } ->foo4 : { (x: { [x: string]: Derived; }): any; (x: { [x: string]: Derived; }): any; } +>foo4 : { (x: typeof b): any; (x: typeof b): any; } >x : any function foo5(x: A); @@ -197,7 +197,7 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { [x: string]: Base; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : A function foo7(x: typeof a); // error @@ -206,7 +206,7 @@ function foo7(x: typeof a); // error >a : { [x: string]: Base; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { [x: string]: Base; }): any; } +>foo7 : { (x: A): any; (x: typeof a): any; } >x : any function foo8(x: B); @@ -234,7 +234,7 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { [x: string]: Base; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : B function foo10(x: typeof a); // ok @@ -243,11 +243,11 @@ function foo10(x: typeof a); // ok >a : { [x: string]: Base; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { [x: string]: Base; }): any; } +>foo10 : { (x: B): any; (x: typeof a): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { [x: string]: Derived; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : B function foo11(x: typeof b); // error @@ -256,7 +256,7 @@ function foo11(x: typeof b); // error >b : { [x: string]: Derived; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { [x: string]: Derived; }): any; } +>foo11 : { (x: B): any; (x: typeof b): any; } >x : any function foo11b(x: B); @@ -296,7 +296,7 @@ function foo12(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { [x: string]: Base; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : I function foo13(x: typeof a); // ok @@ -305,11 +305,11 @@ function foo13(x: typeof a); // ok >a : { [x: string]: Base; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { [x: string]: Base; }): any; } +>foo13 : { (x: I): any; (x: typeof a): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { [x: string]: Derived; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : I function foo14(x: typeof b); // error @@ -318,7 +318,7 @@ function foo14(x: typeof b); // error >b : { [x: string]: Derived; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { [x: string]: Derived; }): any; } +>foo14 : { (x: I): any; (x: typeof b): any; } >x : any function foo15(x: I); diff --git a/tests/baselines/reference/observableInferenceCanBeMade.types b/tests/baselines/reference/observableInferenceCanBeMade.types index 6bc2aaf437..b73e0b9cfb 100644 --- a/tests/baselines/reference/observableInferenceCanBeMade.types +++ b/tests/baselines/reference/observableInferenceCanBeMade.types @@ -14,7 +14,7 @@ type ObservedValueOf = O extends ObservableInput ? T : never; interface Subscribable { subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): void; ->subscribe : (next?: ((value: T) => void) | undefined, error?: ((error: any) => void) | undefined, complete?: () => void) => void +>subscribe : (next?: (value: T) => void, error?: (error: any) => void, complete?: () => void) => void >next : ((value: T) => void) | undefined >value : T >error : ((error: any) => void) | undefined @@ -29,7 +29,7 @@ declare class Observable implements Subscribable { >Observable : Observable subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): void; ->subscribe : (next?: ((value: T) => void) | undefined, error?: ((error: any) => void) | undefined, complete?: () => void) => void +>subscribe : (next?: (value: T) => void, error?: (error: any) => void, complete?: () => void) => void >next : ((value: T) => void) | undefined >value : T >error : ((error: any) => void) | undefined diff --git a/tests/baselines/reference/omitTypeHelperModifiers01.types b/tests/baselines/reference/omitTypeHelperModifiers01.types index e956f06352..f2a8da6948 100644 --- a/tests/baselines/reference/omitTypeHelperModifiers01.types +++ b/tests/baselines/reference/omitTypeHelperModifiers01.types @@ -1,6 +1,6 @@ === tests/cases/compiler/omitTypeHelperModifiers01.ts === type A = { ->A : { a: number; b?: string | undefined; readonly c: boolean; d: unknown; } +>A : { a: number; b?: string; readonly c: boolean; d: unknown; } a: number; >a : number diff --git a/tests/baselines/reference/operationsAvailableOnPromisedType.types b/tests/baselines/reference/operationsAvailableOnPromisedType.types index 70688a00f8..0e1de41060 100644 --- a/tests/baselines/reference/operationsAvailableOnPromisedType.types +++ b/tests/baselines/reference/operationsAvailableOnPromisedType.types @@ -1,6 +1,6 @@ === tests/cases/compiler/operationsAvailableOnPromisedType.ts === async function fn( ->fn : (a: number, b: Promise, c: Promise, d: Promise<{ prop: string;}>, e: Promise<() => void>, f: Promise<() => void> | (() => void), g: Promise<{ new (): any;}>) => Promise +>fn : (a: number, b: Promise, c: Promise, d: Promise<{ prop: string; }>, e: Promise<() => void>, f: Promise<() => void> | (() => void), g: Promise<{ new (): any; }>) => Promise a: number, >a : number @@ -70,7 +70,7 @@ async function fn( fn(b, b, c, d, e, f, g); >fn(b, b, c, d, e, f, g) : Promise ->fn : (a: number, b: Promise, c: Promise, d: Promise<{ prop: string; }>, e: Promise<() => void>, f: Promise<() => void> | (() => void), g: Promise any>) => Promise +>fn : (a: number, b: Promise, c: Promise, d: Promise<{ prop: string; }>, e: Promise<() => void>, f: Promise<() => void> | (() => void), g: Promise<{ new (): any; }>) => Promise >b : Promise >b : Promise >c : Promise diff --git a/tests/baselines/reference/optionalBindingParameters2.types b/tests/baselines/reference/optionalBindingParameters2.types index 627e74e5aa..79fb6ef7a5 100644 --- a/tests/baselines/reference/optionalBindingParameters2.types +++ b/tests/baselines/reference/optionalBindingParameters2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/destructuring/optionalBindingParameters2.ts === function foo({ x, y, z }?: { x: string; y: number; z: boolean }) { ->foo : ({ x, y, z }?: { x: string; y: number; z: boolean;}) => void +>foo : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => void >x : string >y : number >z : boolean diff --git a/tests/baselines/reference/optionalBindingParametersInOverloads2.types b/tests/baselines/reference/optionalBindingParametersInOverloads2.types index 91d88e8aaf..acf4afe352 100644 --- a/tests/baselines/reference/optionalBindingParametersInOverloads2.types +++ b/tests/baselines/reference/optionalBindingParametersInOverloads2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/destructuring/optionalBindingParametersInOverloads2.ts === function foo({ x, y, z }?: { x: string; y: number; z: boolean }); ->foo : ({ x, y, z }?: { x: string; y: number; z: boolean;}) => any +>foo : ({ x, y, z }?: { x: string; y: number; z: boolean; }) => any >x : string >y : number >z : boolean diff --git a/tests/baselines/reference/optionalChainingInference.types b/tests/baselines/reference/optionalChainingInference.types index 155c51a9ea..efa171b8b3 100644 --- a/tests/baselines/reference/optionalChainingInference.types +++ b/tests/baselines/reference/optionalChainingInference.types @@ -1,7 +1,7 @@ === tests/cases/conformance/expressions/optionalChaining/optionalChainingInference.ts === // https://github.com/microsoft/TypeScript/issues/34579 declare function unbox(box: { value: T | undefined }): T; ->unbox : (box: { value: T | undefined;}) => T +>unbox : (box: { value: T | undefined; }) => T >box : { value: T | undefined; } >value : T @@ -30,12 +30,12 @@ const b1 = { value: su?.length }; const v1: number = unbox(b1); >v1 : number >unbox(b1) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b1 : { value: number; } const b2 = { value: su?.length as number | undefined }; ->b2 : { value: number; } ->{ value: su?.length as number | undefined } : { value: number; } +>b2 : { value: number | undefined; } +>{ value: su?.length as number | undefined } : { value: number | undefined; } >value : number >su?.length as number | undefined : number >su?.length : number @@ -45,8 +45,8 @@ const b2 = { value: su?.length as number | undefined }; const v2: number = unbox(b2); >v2 : number >unbox(b2) : number ->unbox : (box: { value: T; }) => T ->b2 : { value: number; } +>unbox : (box: { value: T | undefined; }) => T +>b2 : { value: number | undefined; } const b3: { value: number | undefined } = { value: su?.length }; >b3 : { value: number | undefined; } @@ -60,7 +60,7 @@ const b3: { value: number | undefined } = { value: su?.length }; const v3: number = unbox(b3); >v3 : number >unbox(b3) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b3 : { value: number; } const b4 = { value: fnu?.() }; @@ -73,7 +73,7 @@ const b4 = { value: fnu?.() }; const v4: number = unbox(b4); >v4 : number >unbox(b4) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b4 : { value: number; } const b5 = { value: su?.["length"] }; @@ -87,7 +87,7 @@ const b5 = { value: su?.["length"] }; const v5: number = unbox(b5); >v5 : number >unbox(b5) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b5 : { value: number; } const b6 = { value: osu?.prop.length }; @@ -103,7 +103,7 @@ const b6 = { value: osu?.prop.length }; const v6: number = unbox(b6); >v6 : number >unbox(b6) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b6 : { value: number; } const b7 = { value: osu?.prop["length"] }; @@ -119,7 +119,7 @@ const b7 = { value: osu?.prop["length"] }; const v7: number = unbox(b7); >v7 : number >unbox(b7) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b7 : { value: number; } const b8 = { value: ofnu?.prop() }; @@ -134,7 +134,7 @@ const b8 = { value: ofnu?.prop() }; const v8: number = unbox(b8); >v8 : number >unbox(b8) : number ->unbox : (box: { value: T; }) => T +>unbox : (box: { value: T | undefined; }) => T >b8 : { value: number; } diff --git a/tests/baselines/reference/optionalFunctionArgAssignability.types b/tests/baselines/reference/optionalFunctionArgAssignability.types index a1975cc364..fb21f3a4a7 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.types +++ b/tests/baselines/reference/optionalFunctionArgAssignability.types @@ -1,7 +1,7 @@ === tests/cases/compiler/optionalFunctionArgAssignability.ts === interface Promise { then(onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } >onFulfill : (value: T) => U >value : T >onReject : (reason: any) => U diff --git a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types index 29e54e2d9b..13c93df6f2 100644 --- a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types +++ b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types @@ -7,7 +7,7 @@ declare function f(a:number,b:number): void; >b : number function func1( {a, b}: {a: number, b?: number} = {a: 1, b: 2} ) { ->func1 : ({ a, b }?: { a: number; b?: number;}) => void +>func1 : ({ a, b }?: { a: number; b?: number; }) => void >a : number >b : number | undefined >a : number @@ -28,7 +28,7 @@ function func1( {a, b}: {a: number, b?: number} = {a: 1, b: 2} ) { } function func2( {a, b = 3}: {a: number, b?:number} = {a: 1,b: 2} ) { ->func2 : ({ a, b }?: { a: number; b?: number;}) => void +>func2 : ({ a, b }?: { a: number; b?: number; }) => void >a : number >b : number >3 : 3 @@ -50,7 +50,7 @@ function func2( {a, b = 3}: {a: number, b?:number} = {a: 1,b: 2} ) { } function func3( {a, b}: {a: number, b?: number} = {a: 1} ) { ->func3 : ({ a, b }?: { a: number; b?: number;}) => void +>func3 : ({ a, b }?: { a: number; b?: number; }) => void >a : number >b : number | undefined >a : number @@ -69,12 +69,12 @@ function func3( {a, b}: {a: number, b?: number} = {a: 1} ) { } function func4( {a: {b, c}, d}: {a: {b: number,c?: number},d: number} = {a: {b: 1,c: 2},d: 3} ) { ->func4 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number;}) => void +>func4 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number; }) => void >a : any >b : number >c : number | undefined >d : number ->a : { b: number; c?: number | undefined; } +>a : { b: number; c?: number; } >b : number >c : number | undefined >d : number @@ -98,13 +98,13 @@ function func4( {a: {b, c}, d}: {a: {b: number,c?: number},d: number} = {a: {b: } function func5({a: {b, c = 4}, d}: {a: {b: number,c?: number},d: number} = {a: {b: 1,c: 2},d: 3} ) { ->func5 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number;}) => void +>func5 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number; }) => void >a : any >b : number >c : number >4 : 4 >d : number ->a : { b: number; c?: number | undefined; } +>a : { b: number; c?: number; } >b : number >c : number | undefined >d : number @@ -128,7 +128,7 @@ function func5({a: {b, c = 4}, d}: {a: {b: number,c?: number},d: number} = {a: { } function func6( {a: {b, c} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, d: number} = {a: {b: 1,c: 2}, d: 3} ) { ->func6 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number;}) => void +>func6 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number; }) => void >a : any >b : number >c : number | undefined @@ -138,7 +138,7 @@ function func6( {a: {b, c} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, d: n >c : number >5 : 5 >d : number ->a : { b: number; c?: number | undefined; } +>a : { b: number; c?: number; } >b : number >c : number | undefined >d : number @@ -162,7 +162,7 @@ function func6( {a: {b, c} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, d: n } function func7( {a: {b, c = 6} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, d: number} = {a: {b: 1, c: 2}, d: 3} ) { ->func7 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number;}) => void +>func7 : ({ a: { b, c }, d }?: { a: { b: number; c?: number; }; d: number; }) => void >a : any >b : number >c : number @@ -173,7 +173,7 @@ function func7( {a: {b, c = 6} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, >c : number >5 : 5 >d : number ->a : { b: number; c?: number | undefined; } +>a : { b: number; c?: number; } >b : number >c : number | undefined >d : number diff --git a/tests/baselines/reference/optionalParameterRetainsNull.types b/tests/baselines/reference/optionalParameterRetainsNull.types index f1b8f58184..170948cee1 100644 --- a/tests/baselines/reference/optionalParameterRetainsNull.types +++ b/tests/baselines/reference/optionalParameterRetainsNull.types @@ -5,8 +5,8 @@ interface Bar { bar: number; foo: object | null; } >null : null let a = { ->a : { test(a: K, b?: Bar[K] | null | undefined): void; } ->{ test (a: K, b?: Bar[K] | null) { }} : { test(a: K, b?: Bar[K] | null | undefined): void; } +>a : { test(a: K, b?: Bar[K] | null): void; } +>{ test (a: K, b?: Bar[K] | null) { }} : { test(a: K, b?: Bar[K] | null): void; } test (a: K, b?: Bar[K] | null) { } >test : (a: K, b?: Bar[K] | null) => void @@ -17,9 +17,9 @@ let a = { }; a.test("bar", null); // ok, null is assignable to number | null | undefined >a.test("bar", null) : void ->a.test : (a: K, b?: Bar[K] | null | undefined) => void ->a : { test(a: K, b?: Bar[K] | null | undefined): void; } ->test : (a: K, b?: Bar[K] | null | undefined) => void +>a.test : (a: K, b?: Bar[K] | null) => void +>a : { test(a: K, b?: Bar[K] | null): void; } +>test : (a: K, b?: Bar[K] | null) => void >"bar" : "bar" >null : null diff --git a/tests/baselines/reference/optionalPropertiesTest.types b/tests/baselines/reference/optionalPropertiesTest.types index 31c2ae9f15..9bf49c7b8d 100644 --- a/tests/baselines/reference/optionalPropertiesTest.types +++ b/tests/baselines/reference/optionalPropertiesTest.types @@ -1,6 +1,6 @@ === tests/cases/compiler/optionalPropertiesTest.ts === var x: {p1:number; p2?:string; p3?:{():number;};}; ->x : { p1: number; p2?: string; p3?: { (): number;}; } +>x : { p1: number; p2?: string; p3?: { (): number; }; } >p1 : number >p2 : string >p3 : () => number diff --git a/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types b/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types index 1a8859b6e7..87e1d63b73 100644 --- a/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types +++ b/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/typeRelationships/assignmentCompatibility/optionalPropertyAssignableToStringIndexSignature.ts === declare let optionalProperties: { k1?: string }; ->optionalProperties : { k1?: string | undefined; } +>optionalProperties : { k1?: string; } >k1 : string | undefined declare let undefinedProperties: { k1: string | undefined }; @@ -26,7 +26,7 @@ declare let probablyArray: { [key: number]: string }; >key : number declare let numberLiteralKeys: { 1?: string }; ->numberLiteralKeys : { 1?: string | undefined; } +>numberLiteralKeys : { 1?: string; } >1 : string | undefined probablyArray = numberLiteralKeys; // error @@ -47,7 +47,7 @@ function f() { >f : () => void let optional: { k1?: T } = undefined!; ->optional : { k1?: T | undefined; } +>optional : { k1?: T; } >k1 : T | undefined >undefined! : never >undefined : undefined diff --git a/tests/baselines/reference/outModuleConcatCommonjs.js b/tests/baselines/reference/outModuleConcatCommonjs.js new file mode 100644 index 0000000000..ae0106e3b6 --- /dev/null +++ b/tests/baselines/reference/outModuleConcatCommonjs.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/outModuleConcatCommonjs.ts] //// + +//// [a.ts] +// This should be an error + +export class A { } + +//// [b.ts] +import {A} from "./ref/a"; +export class B extends A { } + + + + +!!!! File all.d.ts missing from original emit, but present in noCheck emit +//// [all.d.ts] +declare module "ref/a" { + export class A { + } +} +declare module "b" { + import { A } from "ref/a"; + export class B extends A { + } +} diff --git a/tests/baselines/reference/outModuleConcatES6.js b/tests/baselines/reference/outModuleConcatES6.js new file mode 100644 index 0000000000..7f7190568e --- /dev/null +++ b/tests/baselines/reference/outModuleConcatES6.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/outModuleConcatES6.ts] //// + +//// [a.ts] +// This should be an error + +export class A { } + +//// [b.ts] +import {A} from "./ref/a"; +export class B extends A { } + + + +!!!! File all.d.ts missing from original emit, but present in noCheck emit +//// [all.d.ts] +declare module "ref/a" { + export class A { + } +} +declare module "b" { + import { A } from "ref/a"; + export class B extends A { + } +} diff --git a/tests/baselines/reference/outModuleConcatUmd.js b/tests/baselines/reference/outModuleConcatUmd.js new file mode 100644 index 0000000000..9b73fa02a3 --- /dev/null +++ b/tests/baselines/reference/outModuleConcatUmd.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/outModuleConcatUmd.ts] //// + +//// [a.ts] +// This should error + +export class A { } + +//// [b.ts] +import {A} from "./ref/a"; +export class B extends A { } + + + +!!!! File all.d.ts missing from original emit, but present in noCheck emit +//// [all.d.ts] +declare module "ref/a" { + export class A { + } +} +declare module "b" { + import { A } from "ref/a"; + export class B extends A { + } +} diff --git a/tests/baselines/reference/overload1.types b/tests/baselines/reference/overload1.types index 8302eb08b3..a5b534626a 100644 --- a/tests/baselines/reference/overload1.types +++ b/tests/baselines/reference/overload1.types @@ -63,9 +63,9 @@ declare var x:O.I; var e:string=x.g(new O.A()); // matches overload but bad assignment >e : string >x.g(new O.A()) : O.C ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >new O.A() : O.A >O.A : typeof O.A >O : typeof O @@ -91,13 +91,13 @@ y=x.f("nope"); // can't assign number to string var z:string=x.g(x.g(3,3)); // good >z : string >x.g(x.g(3,3)) : string ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x.g(3,3) : number ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >3 : 3 >3 : 3 @@ -105,9 +105,9 @@ z=x.g(2,2,2); // no match >z=x.g(2,2,2) : never >z : string >x.g(2,2,2) : never ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >2 : 2 >2 : 2 >2 : 2 @@ -116,17 +116,17 @@ z=x.g(); // no match >z=x.g() : never >z : string >x.g() : never ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } z=x.g(new O.B()); // ambiguous (up and down conversion) >z=x.g(new O.B()) : O.C >z : string >x.g(new O.B()) : O.C ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >new O.B() : O.B >O.B : typeof O.B >O : typeof O @@ -153,9 +153,9 @@ z=x.h("hello",0); // good >0 : 0 var v=x.g; ->v : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>v : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } >x : O.I ->g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +>g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } diff --git a/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types b/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types index 2c4068398b..5afe742dc6 100644 --- a/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types +++ b/tests/baselines/reference/overloadOnConstAsTypeAnnotation.types @@ -1,8 +1,8 @@ === tests/cases/compiler/overloadOnConstAsTypeAnnotation.ts === var f: (x: 'hi') => number = (x: 'hi') => { return 1; }; ->f : (x: 'hi') => number +>f : (x: "hi") => number >x : "hi" ->(x: 'hi') => { return 1; } : (x: 'hi') => number +>(x: 'hi') => { return 1; } : (x: "hi") => number >x : "hi" >1 : 1 diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks1.types b/tests/baselines/reference/overloadOnConstConstraintChecks1.types index 2a72aa4353..207bfb0b5a 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks1.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks1.types @@ -24,15 +24,15 @@ interface MyDoc { // Document >tagName : string createElement(tagName: 'canvas'): Derived1; ->createElement : { (tagName: string): Base; (tagName: 'canvas'): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } +>createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } >tagName : "canvas" createElement(tagName: 'div'): Derived2; ->createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: 'div'): Derived2; (tagName: "span"): Derived3; } +>createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } >tagName : "div" createElement(tagName: 'span'): Derived3; ->createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: 'span'): Derived3; } +>createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } >tagName : "span" // + 100 more @@ -46,15 +46,15 @@ class D implements MyDoc { >tagName : string createElement(tagName: 'canvas'): Derived1; ->createElement : { (tagName: string): Base; (tagName: 'canvas'): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } +>createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } >tagName : "canvas" createElement(tagName: 'div'): Derived2; ->createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: 'div'): Derived2; (tagName: "span"): Derived3; } +>createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } >tagName : "div" createElement(tagName: 'span'): Derived3; ->createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: 'span'): Derived3; } +>createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } >tagName : "span" createElement(tagName:any): Base { diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks2.types b/tests/baselines/reference/overloadOnConstConstraintChecks2.types index 56fd73b2e3..74ffadc773 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks2.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks2.types @@ -14,11 +14,11 @@ class C extends A { >foo : () => void } function foo(name: 'hi'): B; ->foo : { (name: 'hi'): B; (name: "bye"): C; (name: string): A; } +>foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } >name : "hi" function foo(name: 'bye'): C; ->foo : { (name: "hi"): B; (name: 'bye'): C; (name: string): A; } +>foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } >name : "bye" function foo(name: string): A; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks3.types b/tests/baselines/reference/overloadOnConstConstraintChecks3.types index bb7eb90651..c3f854f2df 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks3.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks3.types @@ -16,11 +16,11 @@ class C extends A { >foo : () => void } function foo(name: 'hi'): B; ->foo : { (name: 'hi'): B; (name: "bye"): C; (name: string): A; } +>foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } >name : "hi" function foo(name: 'bye'): C; ->foo : { (name: "hi"): B; (name: 'bye'): C; (name: string): A; } +>foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } >name : "bye" function foo(name: string): A; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks4.types b/tests/baselines/reference/overloadOnConstConstraintChecks4.types index 268f9804a2..fa27d3f4f0 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks4.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks4.types @@ -20,11 +20,11 @@ class C extends A { >foo : () => void } function foo(name: 'hi'): B; ->foo : { (name: 'hi'): B; (name: "bye"): C; (name: string): A; } +>foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } >name : "hi" function foo(name: 'bye'): C; ->foo : { (name: "hi"): B; (name: 'bye'): C; (name: string): A; } +>foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } >name : "bye" function foo(name: string): A; diff --git a/tests/baselines/reference/overloadOnConstDuplicateOverloads1.types b/tests/baselines/reference/overloadOnConstDuplicateOverloads1.types index 674488b3f4..f74bb5bf95 100644 --- a/tests/baselines/reference/overloadOnConstDuplicateOverloads1.types +++ b/tests/baselines/reference/overloadOnConstDuplicateOverloads1.types @@ -1,11 +1,11 @@ === tests/cases/compiler/overloadOnConstDuplicateOverloads1.ts === function foo(a: 'hi', x: string); ->foo : { (a: 'hi', x: string): any; (a: "hi", x: string): any; } +>foo : { (a: "hi", x: string): any; (a: "hi", x: string): any; } >a : "hi" >x : string function foo(a: 'hi', x: string); ->foo : { (a: "hi", x: string): any; (a: 'hi', x: string): any; } +>foo : { (a: "hi", x: string): any; (a: "hi", x: string): any; } >a : "hi" >x : string @@ -16,12 +16,12 @@ function foo(a: any, x: any) { } function foo2(a: 'hi', x: string); ->foo2 : { (a: 'hi', x: string): any; (a: "hi", x: string): any; (a: string, x: string): any; } +>foo2 : { (a: "hi", x: string): any; (a: "hi", x: string): any; (a: string, x: string): any; } >a : "hi" >x : string function foo2(a: 'hi', x: string); ->foo2 : { (a: "hi", x: string): any; (a: 'hi', x: string): any; (a: string, x: string): any; } +>foo2 : { (a: "hi", x: string): any; (a: "hi", x: string): any; (a: string, x: string): any; } >a : "hi" >x : string diff --git a/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.types b/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.types index 5dc2e8bb7c..dedec00b1b 100644 --- a/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.types +++ b/tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.types @@ -1,9 +1,9 @@ === tests/cases/compiler/overloadOnConstInBaseWithBadImplementationInDerived.ts === interface I { x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } @@ -11,9 +11,9 @@ class C implements I { >C : C x1(a: number, callback: (x: 'hi') => number) { // error ->x1 : (a: number, callback: (x: 'hi') => number) => void +>x1 : (a: number, callback: (x: "hi") => number) => void >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } } diff --git a/tests/baselines/reference/overloadOnConstInCallback1.types b/tests/baselines/reference/overloadOnConstInCallback1.types index 9eebbe00fa..c9d954aa28 100644 --- a/tests/baselines/reference/overloadOnConstInCallback1.types +++ b/tests/baselines/reference/overloadOnConstInCallback1.types @@ -3,9 +3,9 @@ class C { >C : C x1(a: number, callback: (x: 'hi') => number); // error ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" x1(a: number, callback: (x: any) => number) { diff --git a/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.types b/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.types index 2ea7d1066f..d63b31f364 100644 --- a/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.types +++ b/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.types @@ -1,18 +1,18 @@ === tests/cases/compiler/overloadOnConstInObjectLiteralImplementingAnInterface.ts === interface I { x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } var i2: I = { x1: (a: number, cb: (x: 'hi') => number) => { } }; // error >i2 : I ->{ x1: (a: number, cb: (x: 'hi') => number) => { } } : { x1: (a: number, cb: (x: 'hi') => number) => void; } ->x1 : (a: number, cb: (x: 'hi') => number) => void ->(a: number, cb: (x: 'hi') => number) => { } : (a: number, cb: (x: 'hi') => number) => void +>{ x1: (a: number, cb: (x: 'hi') => number) => { } } : { x1: (a: number, cb: (x: "hi") => number) => void; } +>x1 : (a: number, cb: (x: "hi") => number) => void +>(a: number, cb: (x: 'hi') => number) => { } : (a: number, cb: (x: "hi") => number) => void >a : number ->cb : (x: 'hi') => number +>cb : (x: "hi") => number >x : "hi" diff --git a/tests/baselines/reference/overloadOnConstInheritance1.types b/tests/baselines/reference/overloadOnConstInheritance1.types index abe9b45bd2..b4ed5387e3 100644 --- a/tests/baselines/reference/overloadOnConstInheritance1.types +++ b/tests/baselines/reference/overloadOnConstInheritance1.types @@ -5,7 +5,7 @@ interface Base { >x : string addEventListener(x: 'foo'): string; ->addEventListener : { (x: string): any; (x: 'foo'): string; } +>addEventListener : { (x: string): any; (x: "foo"): string; } >x : "foo" } interface Deriver extends Base { @@ -14,7 +14,7 @@ interface Deriver extends Base { >x : string addEventListener(x: 'bar'): string; ->addEventListener : { (x: string): any; (x: 'bar'): string; } +>addEventListener : { (x: string): any; (x: "bar"): string; } >x : "bar" } diff --git a/tests/baselines/reference/overloadOnConstInheritance2.types b/tests/baselines/reference/overloadOnConstInheritance2.types index 517d94d79a..e6d7fdb7ba 100644 --- a/tests/baselines/reference/overloadOnConstInheritance2.types +++ b/tests/baselines/reference/overloadOnConstInheritance2.types @@ -5,12 +5,12 @@ interface Base { >x : string addEventListener(x: 'foo'): string; ->addEventListener : { (x: string): any; (x: 'foo'): string; } +>addEventListener : { (x: string): any; (x: "foo"): string; } >x : "foo" } interface Deriver extends Base { addEventListener(x: 'bar'): string; // shouldn't need to redeclare the string overload ->addEventListener : (x: 'bar') => string +>addEventListener : (x: "bar") => string >x : "bar" } diff --git a/tests/baselines/reference/overloadOnConstInheritance3.types b/tests/baselines/reference/overloadOnConstInheritance3.types index b59703e14a..40f5068031 100644 --- a/tests/baselines/reference/overloadOnConstInheritance3.types +++ b/tests/baselines/reference/overloadOnConstInheritance3.types @@ -7,11 +7,11 @@ interface Base { interface Deriver extends Base { // shouldn't need to redeclare the string overload addEventListener(x: 'bar'): string; ->addEventListener : { (x: 'bar'): string; (x: "foo"): string; } +>addEventListener : { (x: "bar"): string; (x: "foo"): string; } >x : "bar" addEventListener(x: 'foo'): string; ->addEventListener : { (x: "bar"): string; (x: 'foo'): string; } +>addEventListener : { (x: "bar"): string; (x: "foo"): string; } >x : "foo" } diff --git a/tests/baselines/reference/overloadOnConstInheritance4.types b/tests/baselines/reference/overloadOnConstInheritance4.types index bdf6e1b483..4943aab46f 100644 --- a/tests/baselines/reference/overloadOnConstInheritance4.types +++ b/tests/baselines/reference/overloadOnConstInheritance4.types @@ -1,24 +1,24 @@ === tests/cases/compiler/overloadOnConstInheritance4.ts === interface I { x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } class C implements I { >C : C x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" x1(a: number, callback: (x: 'hi') => number) { >x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } } diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation.types index dac88c56f9..00829f9dc8 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation.types @@ -1,14 +1,14 @@ === tests/cases/compiler/overloadOnConstNoAnyImplementation.ts === function x1(a: number, cb: (x: 'hi') => number); ->x1 : { (a: number, cb: (x: 'hi') => number): any; (a: number, cb: (x: "bye") => number): any; } +>x1 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } >a : number ->cb : (x: 'hi') => number +>cb : (x: "hi") => number >x : "hi" function x1(a: number, cb: (x: 'bye') => number); ->x1 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: 'bye') => number): any; } +>x1 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } >a : number ->cb : (x: 'bye') => number +>cb : (x: "bye") => number >x : "bye" function x1(a: number, cb: (x: string) => number) { @@ -64,7 +64,7 @@ x1(1, (x: 'hi') => 1); // error >x1(1, (x: 'hi') => 1) : any >x1 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } >1 : 1 ->(x: 'hi') => 1 : (x: 'hi') => number +>(x: 'hi') => 1 : (x: "hi") => number >x : "hi" >1 : 1 diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt index d92b8c6276..6b439f3c6d 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt @@ -1,6 +1,6 @@ tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(6,5): error TS2394: This overload signature is not compatible with its implementation signature. tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(12,18): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(18,9): error TS2345: Argument of type '(x: 'bye') => number' is not assignable to parameter of type '(x: "hi") => number'. +tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(18,9): error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. Type '"hi"' is not assignable to type '"bye"'. tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(21,9): error TS2345: Argument of type '(x: number) => number' is not assignable to parameter of type '(x: "hi") => number'. @@ -33,7 +33,7 @@ tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts(21,9): error TS2345: c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(x: 'bye') => number' is not assignable to parameter of type '(x: "hi") => number'. +!!! error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. !!! error TS2345: Type '"hi"' is not assignable to type '"bye"'. !!! related TS2793 tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts:7:5: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types index 028241412f..f8f59dd4df 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types @@ -1,9 +1,9 @@ === tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts === interface I { x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } @@ -11,9 +11,9 @@ class C { >C : C x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" x1(a: number, callback: (x: string) => number) { @@ -57,7 +57,7 @@ c.x1(1, (x: 'hi') => { return 1; } ); >c : C >x1 : (a: number, callback: (x: "hi") => number) => any >1 : 1 ->(x: 'hi') => { return 1; } : (x: 'hi') => number +>(x: 'hi') => { return 1; } : (x: "hi") => number >x : "hi" >1 : 1 @@ -67,7 +67,7 @@ c.x1(1, (x: 'bye') => { return 1; } ); >c : C >x1 : (a: number, callback: (x: "hi") => number) => any >1 : 1 ->(x: 'bye') => { return 1; } : (x: 'bye') => number +>(x: 'bye') => { return 1; } : (x: "bye") => number >x : "bye" >1 : 1 diff --git a/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.types b/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.types index a2f393db84..09360b748c 100644 --- a/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.types +++ b/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.types @@ -3,7 +3,7 @@ class C { >C : C x1(a: 'hi'); // error, no non-specialized signature in overload list ->x1 : (a: 'hi') => any +>x1 : (a: "hi") => any >a : "hi" x1(a: string) { } diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation.types b/tests/baselines/reference/overloadOnConstNoStringImplementation.types index f8b5f90fe3..0fdbc97e38 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation.types @@ -1,14 +1,14 @@ === tests/cases/compiler/overloadOnConstNoStringImplementation.ts === function x2(a: number, cb: (x: 'hi') => number); ->x2 : { (a: number, cb: (x: 'hi') => number): any; (a: number, cb: (x: "bye") => number): any; } +>x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } >a : number ->cb : (x: 'hi') => number +>cb : (x: "hi") => number >x : "hi" function x2(a: number, cb: (x: 'bye') => number); ->x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: 'bye') => number): any; } +>x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } >a : number ->cb : (x: 'bye') => number +>cb : (x: "bye") => number >x : "bye" function x2(a: number, cb: (x: any) => number) { @@ -64,7 +64,7 @@ x2(1, (x: 'hi') => 1); // error >x2(1, (x: 'hi') => 1) : any >x2 : { (a: number, cb: (x: "hi") => number): any; (a: number, cb: (x: "bye") => number): any; } >1 : 1 ->(x: 'hi') => 1 : (x: 'hi') => number +>(x: 'hi') => 1 : (x: "hi") => number >x : "hi" >1 : 1 diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt b/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt index 57441c4e1f..31cc77445b 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(18,9): error TS2345: Argument of type '(x: 'bye') => number' is not assignable to parameter of type '(x: "hi") => number'. +tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(18,9): error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. Types of parameters 'x' and 'x' are incompatible. Type '"hi"' is not assignable to type '"bye"'. tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(20,9): error TS2345: Argument of type '(x: number) => number' is not assignable to parameter of type '(x: "hi") => number'. @@ -26,7 +26,7 @@ tests/cases/compiler/overloadOnConstNoStringImplementation2.ts(20,9): error TS23 c.x1(1, (x: 'hi') => { return 1; } ); c.x1(1, (x: 'bye') => { return 1; } ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(x: 'bye') => number' is not assignable to parameter of type '(x: "hi") => number'. +!!! error TS2345: Argument of type '(x: "bye") => number' is not assignable to parameter of type '(x: "hi") => number'. !!! error TS2345: Types of parameters 'x' and 'x' are incompatible. !!! error TS2345: Type '"hi"' is not assignable to type '"bye"'. !!! related TS2793 tests/cases/compiler/overloadOnConstNoStringImplementation2.ts:7:5: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types index 7605552ee8..f0fa063a99 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types @@ -1,9 +1,9 @@ === tests/cases/compiler/overloadOnConstNoStringImplementation2.ts === interface I { x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" } @@ -11,9 +11,9 @@ class C implements I { >C : C x1(a: number, callback: (x: 'hi') => number); ->x1 : (a: number, callback: (x: 'hi') => number) => any +>x1 : (a: number, callback: (x: "hi") => number) => any >a : number ->callback : (x: 'hi') => number +>callback : (x: "hi") => number >x : "hi" x1(a: number, callback: (x: any) => number) { @@ -57,7 +57,7 @@ c.x1(1, (x: 'hi') => { return 1; } ); >c : C >x1 : (a: number, callback: (x: "hi") => number) => any >1 : 1 ->(x: 'hi') => { return 1; } : (x: 'hi') => number +>(x: 'hi') => { return 1; } : (x: "hi") => number >x : "hi" >1 : 1 @@ -67,7 +67,7 @@ c.x1(1, (x: 'bye') => { return 1; } ); >c : C >x1 : (a: number, callback: (x: "hi") => number) => any >1 : 1 ->(x: 'bye') => { return 1; } : (x: 'bye') => number +>(x: 'bye') => { return 1; } : (x: "bye") => number >x : "bye" >1 : 1 diff --git a/tests/baselines/reference/overloadResolutionTest1.types b/tests/baselines/reference/overloadResolutionTest1.types index 4424428d18..f1814b5fec 100644 --- a/tests/baselines/reference/overloadResolutionTest1.types +++ b/tests/baselines/reference/overloadResolutionTest1.types @@ -1,11 +1,11 @@ === tests/cases/compiler/overloadResolutionTest1.ts === function foo(bar:{a:number;}[]):string; ->foo : { (bar: { a: number;}[]): string; (bar: { a: boolean; }[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: number; }[] >a : number function foo(bar:{a:boolean;}[]):number; ->foo : { (bar: { a: number; }[]): string; (bar: { a: boolean;}[]): number; } +>foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >bar : { a: boolean; }[] >a : boolean @@ -54,12 +54,12 @@ var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the fir function foo2(bar:{a:number;}):string; ->foo2 : { (bar: { a: number;}): string; (bar: { a: boolean; }): number; } +>foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } >bar : { a: number; } >a : number function foo2(bar:{a:boolean;}):number; ->foo2 : { (bar: { a: number; }): string; (bar: { a: boolean;}): number; } +>foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } >bar : { a: boolean; } >a : boolean @@ -95,12 +95,12 @@ var x4 = foo2({a:"s"}); // error function foo4(bar:{a:number;}):number; ->foo4 : { (bar: { a: number;}): number; (bar: { a: string; }): string; } +>foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: number; } >a : number function foo4(bar:{a:string;}):string; ->foo4 : { (bar: { a: number; }): number; (bar: { a: string;}): string; } +>foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } >bar : { a: string; } >a : string diff --git a/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types b/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types index 47f70b40e7..ff79f7f94c 100644 --- a/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types +++ b/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types @@ -34,7 +34,7 @@ class AsyncLoader { } function load(): Box<{ success: true } | ErrorResult> { ->load : () => Box<{ success: true;} | ErrorResult> +>load : () => Box<{ success: true; } | ErrorResult> >success : true >true : true diff --git a/tests/baselines/reference/overloadingOnConstants1.types b/tests/baselines/reference/overloadingOnConstants1.types index 8f84285ad6..37a932d1fb 100644 --- a/tests/baselines/reference/overloadingOnConstants1.types +++ b/tests/baselines/reference/overloadingOnConstants1.types @@ -20,15 +20,15 @@ class Derived3 extends Base { biz() { } } interface Document2 { createElement(tagName: 'canvas'): Derived1; ->createElement : { (tagName: 'canvas'): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } +>createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } >tagName : "canvas" createElement(tagName: 'div'): Derived2; ->createElement : { (tagName: "canvas"): Derived1; (tagName: 'div'): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } +>createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } >tagName : "div" createElement(tagName: 'span'): Derived3; ->createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: 'span'): Derived3; (tagName: string): Base; } +>createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } >tagName : "span" createElement(tagName: string): Base; diff --git a/tests/baselines/reference/overloadingOnConstantsInImplementation.types b/tests/baselines/reference/overloadingOnConstantsInImplementation.types index ba1e1d6497..0cdb13e995 100644 --- a/tests/baselines/reference/overloadingOnConstantsInImplementation.types +++ b/tests/baselines/reference/overloadingOnConstantsInImplementation.types @@ -1,11 +1,11 @@ === tests/cases/compiler/overloadingOnConstantsInImplementation.ts === function foo(a: 'hi', x: string); ->foo : { (a: 'hi', x: string): any; (a: "hi", x: string): any; } +>foo : { (a: "hi", x: string): any; (a: "hi", x: string): any; } >a : "hi" >x : string function foo(a: 'hi', x: string); ->foo : { (a: "hi", x: string): any; (a: 'hi', x: string): any; } +>foo : { (a: "hi", x: string): any; (a: "hi", x: string): any; } >a : "hi" >x : string diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.types b/tests/baselines/reference/overloadsWithProvisionalErrors.types index bdbcc6bb26..1dbc5e486d 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.types +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.types @@ -1,12 +1,12 @@ === tests/cases/compiler/overloadsWithProvisionalErrors.ts === var func: { ->func : { (s: string): number; (lambda: (s: string) => { a: number; b: number;}): string; } +>func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } (s: string): number; >s : string (lambda: (s: string) => { a: number; b: number }): string; ->lambda : (s: string) => { a: number; b: number;} +>lambda : (s: string) => { a: number; b: number; } >s : string >a : number >b : number diff --git a/tests/baselines/reference/override19.types b/tests/baselines/reference/override19.types index 9868b696cb..06ee2061b7 100644 --- a/tests/baselines/reference/override19.types +++ b/tests/baselines/reference/override19.types @@ -4,7 +4,7 @@ type Foo = abstract new(...args: any) => any; >args : any declare function CreateMixin(Context: C, Base: T): T & { ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType;}) +>CreateMixin : (Context: C, Base: T) => T & { new (...args: any[]): { context: InstanceType; }; } >Context : C >Base : T diff --git a/tests/baselines/reference/override2.types b/tests/baselines/reference/override2.types index 98bd1f1902..7f09042046 100644 --- a/tests/baselines/reference/override2.types +++ b/tests/baselines/reference/override2.types @@ -26,7 +26,7 @@ abstract class AD2 extends AB { >AB : AB abstract foo(v: ''): void // need override? ->foo : (v: '') => void +>foo : (v: "") => void >v : "" } @@ -35,7 +35,7 @@ abstract class AD3 extends AB { >AB : AB override foo(v: ''): void { } // need override? ->foo : (v: '') => void +>foo : (v: "") => void >v : "" abstract bar(): void; @@ -50,11 +50,11 @@ class D4 extends AB { >AB : AB override foo(v: ''): void {} ->foo : (v: '') => void +>foo : (v: "") => void >v : "" override bar(v: ''): void {} ->bar : (v: '') => void +>bar : (v: "") => void >v : "" baz(): void { } diff --git a/tests/baselines/reference/parameterDestructuringObjectLiteral.types b/tests/baselines/reference/parameterDestructuringObjectLiteral.types index e506b18709..4dd861cbf5 100644 --- a/tests/baselines/reference/parameterDestructuringObjectLiteral.types +++ b/tests/baselines/reference/parameterDestructuringObjectLiteral.types @@ -2,8 +2,8 @@ // Repro from #22644 const fn1 = (options: { headers?: {} }) => { }; ->fn1 : (options: { headers?: {};}) => void ->(options: { headers?: {} }) => { } : (options: { headers?: {};}) => void +>fn1 : (options: { headers?: {}; }) => void +>(options: { headers?: {} }) => { } : (options: { headers?: {}; }) => void >options : { headers?: {}; } >headers : {} diff --git a/tests/baselines/reference/parameterNamesInTypeParameterList.types b/tests/baselines/reference/parameterNamesInTypeParameterList.types index 2c71e11e66..3a06e7502f 100644 --- a/tests/baselines/reference/parameterNamesInTypeParameterList.types +++ b/tests/baselines/reference/parameterNamesInTypeParameterList.types @@ -11,7 +11,7 @@ function f0(a: T) { } function f1({a}: {a:T}) { ->f1 : ({ a }: { a: T;}) => void +>f1 : ({ a }: { a: T; }) => void >a : any >a : T >a : T @@ -47,7 +47,7 @@ class A { >b : any } m1({a}: {a:T}) { ->m1 : ({ a }: { a: T;}) => void +>m1 : ({ a }: { a: T; }) => void >a : any >a : T >a : T diff --git a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types index 4e4f667b54..cb30b5551a 100644 --- a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types +++ b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types @@ -7,7 +7,7 @@ type Lower = { [K in keyof T]: T[K] }; >Lower : Lower export function appendToOptionalArray< ->appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void +>appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void K extends string | number | symbol, T @@ -51,35 +51,35 @@ export function appendToOptionalArray< // e.g. const foo: {x?: number[]; y?: string[]; } = {}; ->foo : { x?: number[] | undefined; y?: string[] | undefined; } +>foo : { x?: number[]; y?: string[]; } >x : number[] | undefined >y : string[] | undefined >{} : {} appendToOptionalArray(foo, 'x', 123); // ok >appendToOptionalArray(foo, 'x', 123) : void ->appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void +>appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void >foo : { x?: number[] | undefined; y?: string[] | undefined; } >'x' : "x" >123 : 123 appendToOptionalArray(foo, 'y', 'bar'); // ok >appendToOptionalArray(foo, 'y', 'bar') : void ->appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void +>appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void >foo : { x?: number[] | undefined; y?: string[] | undefined; } >'y' : "y" >'bar' : "bar" appendToOptionalArray(foo, 'y', 12); // should fail >appendToOptionalArray(foo, 'y', 12) : void ->appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void +>appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void >foo : { x?: number[] | undefined; y?: string[] | undefined; } >'y' : "y" >12 : 12 appendToOptionalArray(foo, 'x', "no"); // should fail >appendToOptionalArray(foo, 'x', "no") : void ->appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void +>appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void >foo : { x?: number[] | undefined; y?: string[] | undefined; } >'x' : "x" >"no" : "no" diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types index 96f41e54af..ba37215a3d 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping2.types +++ b/tests/baselines/reference/parenthesizedContexualTyping2.types @@ -6,7 +6,7 @@ // back if contextual typing is not taking effect. type FuncType = (x: (p: T) => T) => typeof x; ->FuncType : (x: (p: T) => T) => (p: T) => T +>FuncType : (x: (p: T) => T) => typeof x >x : (p: T) => T >p : T >x : (p: T) => T diff --git a/tests/baselines/reference/parseArrowFunctionWithFunctionReturnType.types b/tests/baselines/reference/parseArrowFunctionWithFunctionReturnType.types index 6e02d76974..2a939d0b23 100644 --- a/tests/baselines/reference/parseArrowFunctionWithFunctionReturnType.types +++ b/tests/baselines/reference/parseArrowFunctionWithFunctionReturnType.types @@ -1,7 +1,7 @@ === tests/cases/compiler/parseArrowFunctionWithFunctionReturnType.ts === const fn = (): (() => T) => null as any; ->fn : () => () => T ->(): (() => T) => null as any : () => () => T +>fn : () => (() => T) +>(): (() => T) => null as any : () => (() => T) >null as any : any >null : null diff --git a/tests/baselines/reference/parseBigInt.types b/tests/baselines/reference/parseBigInt.types index 70fd3fa3a6..e6c3e8989d 100644 --- a/tests/baselines/reference/parseBigInt.types +++ b/tests/baselines/reference/parseBigInt.types @@ -225,29 +225,29 @@ const oneTwoOrThree = (x: 1n | 2n | 3n): bigint => x ** 2n; oneTwoOrThree(0n); oneTwoOrThree(1n); oneTwoOrThree(2n); oneTwoOrThree(3n); >oneTwoOrThree(0n) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >0n : 0n >oneTwoOrThree(1n) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >1n : 1n >oneTwoOrThree(2n) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >2n : 2n >oneTwoOrThree(3n) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >3n : 3n oneTwoOrThree(0); oneTwoOrThree(1); oneTwoOrThree(2); oneTwoOrThree(3); >oneTwoOrThree(0) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >0 : 0 >oneTwoOrThree(1) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >1 : 1 >oneTwoOrThree(2) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >2 : 2 >oneTwoOrThree(3) : bigint ->oneTwoOrThree : (x: 1n | 3n | 2n) => bigint +>oneTwoOrThree : (x: 1n | 2n | 3n) => bigint >3 : 3 diff --git a/tests/baselines/reference/parserOverloadOnConstants1.types b/tests/baselines/reference/parserOverloadOnConstants1.types index 15625372f2..184b4afd7c 100644 --- a/tests/baselines/reference/parserOverloadOnConstants1.types +++ b/tests/baselines/reference/parserOverloadOnConstants1.types @@ -5,14 +5,14 @@ interface Document { >tagName : string createElement(tagName: 'canvas'): HTMLCanvasElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: 'canvas'): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } >tagName : "canvas" createElement(tagName: 'div'): HTMLDivElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: 'div'): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } >tagName : "div" createElement(tagName: 'span'): HTMLSpanElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: 'span'): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } >tagName : "span" } diff --git a/tests/baselines/reference/parserShorthandPropertyAssignment1.types b/tests/baselines/reference/parserShorthandPropertyAssignment1.types index 44e2c0c9d0..ee3fc31123 100644 --- a/tests/baselines/reference/parserShorthandPropertyAssignment1.types +++ b/tests/baselines/reference/parserShorthandPropertyAssignment1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript6/ShorthandPropertyAssignment/parserShorthandPropertyAssignment1.ts === function foo(obj: { name?: string; id: number }) { } ->foo : (obj: { name?: string; id: number;}) => void +>foo : (obj: { name?: string; id: number; }) => void >obj : { name?: string; id: number; } >name : string >id : number diff --git a/tests/baselines/reference/parserUsingConstructorAsIdentifier.types b/tests/baselines/reference/parserUsingConstructorAsIdentifier.types index 0034fa0e13..ace0fef5a9 100644 --- a/tests/baselines/reference/parserUsingConstructorAsIdentifier.types +++ b/tests/baselines/reference/parserUsingConstructorAsIdentifier.types @@ -74,9 +74,9 @@ >constructor : any >prototype : any >Object.create(basePrototype) : any ->Object.create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >Object : ObjectConstructor ->create : { (o: object): any; (o: object, properties: PropertyDescriptorMap & ThisType): any; } +>create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } >basePrototype : any PluginUtilities.Utilities.markSupportedForProcessing(constructor); diff --git a/tests/baselines/reference/parserharness.types b/tests/baselines/reference/parserharness.types index 498e9bf7ea..b92145fd8f 100644 --- a/tests/baselines/reference/parserharness.types +++ b/tests/baselines/reference/parserharness.types @@ -2258,7 +2258,7 @@ module Harness { >[] : undefined[] var timeFunction: ( ->timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void;}) => void) => void +>timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void benchmark: Benchmark, >benchmark : Benchmark @@ -2270,15 +2270,15 @@ module Harness { >name : string f?: (bench?: { (): void; }) => void ->f : (bench?: { (): void;}) => void +>f : (bench?: { (): void; }) => void >bench : () => void ) => void; timeFunction = function ( ->timeFunction = function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: () => void) => void) => void ->timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: () => void) => void) => void ->function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: () => void) => void) => void +>timeFunction = function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void +>timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void +>function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void benchmark: Benchmark, >benchmark : Benchmark @@ -2294,7 +2294,7 @@ module Harness { >'' : "" f = benchmark.bench ->f : (bench?: () => void) => void +>f : (bench?: { (): void; }) => void >benchmark.bench : (subBench?: () => void) => void >benchmark : Benchmark >bench : (subBench?: () => void) => void @@ -2320,7 +2320,7 @@ module Harness { timeFunction(benchmark, description, name, f); >timeFunction(benchmark, description, name, f) : void ->timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: () => void) => void) => void +>timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void >benchmark : Benchmark >description : string >name : any @@ -2330,7 +2330,7 @@ module Harness { f.call(benchmark, subBenchmark); >f.call(benchmark, subBenchmark) : any >f.call : (this: Function, thisArg: any, ...argArray: any[]) => any ->f : (bench?: () => void) => void +>f : (bench?: { (): void; }) => void >call : (this: Function, thisArg: any, ...argArray: any[]) => any >benchmark : Benchmark >subBenchmark : (name: any, f: any) => void @@ -2404,7 +2404,7 @@ module Harness { timeFunction(b); >timeFunction(b) : void ->timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: () => void) => void) => void +>timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void >b : Benchmark b.afterEach(); @@ -2725,7 +2725,7 @@ module Harness { >{} : {} public toArray(): { filename: string; file: WriterAggregator; }[] { ->toArray : () => { filename: string; file: WriterAggregator;}[] +>toArray : () => { filename: string; file: WriterAggregator; }[] >filename : string >file : WriterAggregator @@ -3098,7 +3098,7 @@ module Harness { compileString(testCode, 'test.ts', function (compilerResult) { >compileString(testCode, 'test.ts', function (compilerResult) { errors = compilerResult.errors; }) : void ->compileString : (code: string, unitName: string, callback: (res: CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void +>compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void >testCode : any >'test.ts' : "test.ts" >function (compilerResult) { errors = compilerResult.errors; } : (compilerResult: CompilerResult) => void @@ -3716,7 +3716,7 @@ module Harness { compileString(code, 'test.ts', function (compilerResult) { >compileString(code, 'test.ts', function (compilerResult) { errors = compilerResult.errors; }) : void ->compileString : (code: string, unitName: string, callback: (res: CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void +>compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void >code : string >'test.ts' : "test.ts" >function (compilerResult) { errors = compilerResult.errors; } : (compilerResult: CompilerResult) => void @@ -5394,7 +5394,7 @@ module Harness { try { compileString(code, filename, callback, context, references); >compileString(code, filename, callback, context, references) : void ->compileString : (code: string, unitName: string, callback: (res: CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void +>compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void >code : string >filename : string >callback : (res: CompilerResult) => void @@ -5495,7 +5495,7 @@ module Harness { >lastUnit : TestCaseParser.TestUnitData >content : string >unitName : string ->callback : (res: CompilerResult) => void +>callback : (res: Compiler.CompilerResult) => void >settingsCallback : () => void >compilationContext : CompilationContext >lastUnit.references : TypeScript.IFileReference[] @@ -5658,7 +5658,7 @@ module Harness { callback(new CompilerResult(stdout.toArray(), errors, scripts)); >callback(new CompilerResult(stdout.toArray(), errors, scripts)) : void ->callback : (res: CompilerResult) => void +>callback : (res: Compiler.CompilerResult) => void >new CompilerResult(stdout.toArray(), errors, scripts) : CompilerResult >CompilerResult : typeof CompilerResult >stdout.toArray() : { filename: string; file: WriterAggregator; }[] @@ -5877,7 +5877,7 @@ module Harness { /** Given a test file containing // @Filename directives, return an array of named units of code to be added to an existing compiler instance */ export function makeUnitsFromTest(code: string, filename: string): { settings: CompilerSetting[]; testUnitData: TestUnitData[]; } { ->makeUnitsFromTest : (code: string, filename: string) => { settings: CompilerSetting[]; testUnitData: TestUnitData[];} +>makeUnitsFromTest : (code: string, filename: string) => { settings: CompilerSetting[]; testUnitData: TestUnitData[]; } >code : string >filename : string >settings : CompilerSetting[] @@ -7342,7 +7342,7 @@ module Harness { >[] : undefined[] function mapEdits(edits: Services.TextEdit[]): { edit: Services.TextEdit; index: number; }[] { ->mapEdits : (edits: Services.TextEdit[]) => { edit: Services.TextEdit; index: number;}[] +>mapEdits : (edits: Services.TextEdit[]) => { edit: Services.TextEdit; index: number; }[] >edits : Services.TextEdit[] >Services : any >edit : Services.TextEdit @@ -7549,9 +7549,9 @@ module Harness { return JSON.stringify({ usePullLanguageService: usePull }); >JSON.stringify({ usePullLanguageService: usePull }) : string ->JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >{ usePullLanguageService: usePull } : { usePullLanguageService: boolean; } >usePullLanguageService : boolean >usePull : boolean @@ -7813,9 +7813,9 @@ module Harness { Compiler.compileString(code, unitName, function (res) { >Compiler.compileString(code, unitName, function (res) { runJSString(res.code, callback); }) : void ->Compiler.compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: Compiler.CompilationContext, references?: TypeScript.IFileReference[]) => void +>Compiler.compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void >Compiler : typeof Compiler ->compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: Compiler.CompilationContext, references?: TypeScript.IFileReference[]) => void +>compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void >code : string >unitName : string >function (res) { runJSString(res.code, callback); } : (res: Compiler.CompilerResult) => void diff --git a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types index eeea96cc13..be28a9b4d7 100644 --- a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types +++ b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types @@ -22,7 +22,7 @@ type PartialUser = Partial; // }; function isUser(obj: Obj): obj is PartialUser { ->isUser : (obj: Obj) => obj is Partial +>isUser : (obj: Obj) => obj is PartialUser >obj : Obj return true; diff --git a/tests/baselines/reference/primitiveUnionDetection.types b/tests/baselines/reference/primitiveUnionDetection.types index 8c9508247c..194f331790 100644 --- a/tests/baselines/reference/primitiveUnionDetection.types +++ b/tests/baselines/reference/primitiveUnionDetection.types @@ -5,15 +5,15 @@ type Kind = "one" | "two" | "three"; >Kind : "one" | "two" | "three" declare function getInterfaceFromString(options?: { type?: T } & { type?: Kind }): T; ->getInterfaceFromString : (options?: { type?: T;} & { type?: Kind;}) => T ->options : ({ type?: T | undefined; } & { type?: Kind | undefined; }) | undefined +>getInterfaceFromString : (options?: { type?: T; } & { type?: Kind; }) => T +>options : ({ type?: T; } & { type?: Kind; }) | undefined >type : T | undefined >type : Kind | undefined const result = getInterfaceFromString({ type: 'two' }); >result : "two" >getInterfaceFromString({ type: 'two' }) : "two" ->getInterfaceFromString : (options?: ({ type?: T | undefined; } & { type?: Kind | undefined; }) | undefined) => T +>getInterfaceFromString : (options?: { type?: T; } & { type?: Kind; }) => T >{ type: 'two' } : { type: "two"; } >type : "two" >'two' : "two" diff --git a/tests/baselines/reference/primtiveTypesAreIdentical.types b/tests/baselines/reference/primtiveTypesAreIdentical.types index ef0520355c..43b9f2e785 100644 --- a/tests/baselines/reference/primtiveTypesAreIdentical.types +++ b/tests/baselines/reference/primtiveTypesAreIdentical.types @@ -50,11 +50,11 @@ function foo4(x: any) { } >x : any function foo5(x: 'a'); ->foo5 : { (x: 'a'): any; (x: "a"): any; (x: string): any; } +>foo5 : { (x: "a"): any; (x: "a"): any; (x: string): any; } >x : "a" function foo5(x: 'a'); ->foo5 : { (x: "a"): any; (x: 'a'): any; (x: string): any; } +>foo5 : { (x: "a"): any; (x: "a"): any; (x: string): any; } >x : "a" function foo5(x: string); diff --git a/tests/baselines/reference/privateNameAndPropertySignature.types b/tests/baselines/reference/privateNameAndPropertySignature.types index 9e15556d09..103f377279 100644 --- a/tests/baselines/reference/privateNameAndPropertySignature.types +++ b/tests/baselines/reference/privateNameAndPropertySignature.types @@ -18,7 +18,7 @@ interface B { } declare const x: { ->x : { bar: { #baz: string; #taz(): string;}; } +>x : { bar: { #baz: string; #taz(): string; }; } #foo: number; >#foo : number @@ -38,7 +38,7 @@ declare const x: { }; declare const y: [{ qux: { #quux: 3 } }]; ->y : [{ qux: { #quux: 3;}; }] +>y : [{ qux: { #quux: 3; }; }] >qux : {} >#quux : 3 diff --git a/tests/baselines/reference/privateNamesUnique-2.types b/tests/baselines/reference/privateNamesUnique-2.types index 5beb2a6598..ef449846a0 100644 --- a/tests/baselines/reference/privateNamesUnique-2.types +++ b/tests/baselines/reference/privateNamesUnique-2.types @@ -44,8 +44,8 @@ const b = new B(); a.copy(b); // error >a.copy(b) : void ->a.copy : (other: B) => void +>a.copy : (other: import("tests/cases/conformance/classes/members/privateNames/b").Foo) => void >a : A ->copy : (other: B) => void +>copy : (other: import("tests/cases/conformance/classes/members/privateNames/b").Foo) => void >b : B diff --git a/tests/baselines/reference/privateWriteOnlyAccessorRead.types b/tests/baselines/reference/privateWriteOnlyAccessorRead.types index 23e62fda4c..2df8a3e921 100644 --- a/tests/baselines/reference/privateWriteOnlyAccessorRead.types +++ b/tests/baselines/reference/privateWriteOnlyAccessorRead.types @@ -3,8 +3,8 @@ class Test { >Test : Test set #value(v: { foo: { bar: number } }) {} ->#value : { foo: { bar: number;}; } ->v : { foo: { bar: number;}; } +>#value : { foo: { bar: number; }; } +>v : { foo: { bar: number; }; } >foo : { bar: number; } >bar : number diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index 1ad7570616..86eccd62db 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -1,7 +1,7 @@ === tests/cases/compiler/promisePermutations.ts === interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => Promise @@ -10,7 +10,7 @@ interface Promise { >progress : any then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => U @@ -19,7 +19,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => Promise @@ -28,7 +28,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -100,11 +100,11 @@ declare function testFunctionP(): Promise; >testFunctionP : () => Promise declare function testFunction2(): IPromise<{ x: number }>; ->testFunction2 : () => IPromise<{ x: number;}> +>testFunction2 : () => IPromise<{ x: number; }> >x : number declare function testFunction2P(): Promise<{ x: number }>; ->testFunction2P : () => Promise<{ x: number;}> +>testFunction2P : () => Promise<{ x: number; }> >x : number declare function testFunction3(x: number): IPromise; diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index af56d7088e..398946e403 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -3,7 +3,7 @@ interface Promise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -75,11 +75,11 @@ declare function testFunctionP(): Promise; >testFunctionP : () => Promise declare function testFunction2(): IPromise<{ x: number }>; ->testFunction2 : () => IPromise<{ x: number;}> +>testFunction2 : () => IPromise<{ x: number; }> >x : number declare function testFunction2P(): Promise<{ x: number }>; ->testFunction2P : () => Promise<{ x: number;}> +>testFunction2P : () => Promise<{ x: number; }> >x : number declare function testFunction3(x: number): IPromise; diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index a92245e609..52f0544c34 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -3,7 +3,7 @@ interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => Promise @@ -12,7 +12,7 @@ interface Promise { >progress : any then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => U @@ -21,7 +21,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => Promise @@ -30,7 +30,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -75,11 +75,11 @@ declare function testFunctionP(): Promise; >testFunctionP : () => Promise declare function testFunction2(): IPromise<{ x: number }>; ->testFunction2 : () => IPromise<{ x: number;}> +>testFunction2 : () => IPromise<{ x: number; }> >x : number declare function testFunction2P(): Promise<{ x: number }>; ->testFunction2P : () => Promise<{ x: number;}> +>testFunction2P : () => Promise<{ x: number; }> >x : number declare function testFunction3(x: number): IPromise; diff --git a/tests/baselines/reference/promiseTest.types b/tests/baselines/reference/promiseTest.types index 3d250c11c1..0b67a85a60 100644 --- a/tests/baselines/reference/promiseTest.types +++ b/tests/baselines/reference/promiseTest.types @@ -1,12 +1,12 @@ === tests/cases/compiler/promiseTest.ts === interface Promise { then(success?: (value: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } >success : (value: T) => Promise >value : T then(success?: (value: T) => B): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } >success : (value: T) => B >value : T diff --git a/tests/baselines/reference/promises.types b/tests/baselines/reference/promises.types index 0640f01354..09834560b6 100644 --- a/tests/baselines/reference/promises.types +++ b/tests/baselines/reference/promises.types @@ -1,12 +1,12 @@ === tests/cases/compiler/promises.ts === interface Promise { then(success?: (value: T) => U): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >success : (value: T) => U >value : T then(success?: (value: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >success : (value: T) => Promise >value : T diff --git a/tests/baselines/reference/promisesWithConstraints.types b/tests/baselines/reference/promisesWithConstraints.types index 367cd6a61a..3afea1d0f5 100644 --- a/tests/baselines/reference/promisesWithConstraints.types +++ b/tests/baselines/reference/promisesWithConstraints.types @@ -1,7 +1,7 @@ === tests/cases/compiler/promisesWithConstraints.ts === interface Promise { then(cb: (x: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (cb: (x: T) => Promise): Promise; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (cb: (x: T) => Promise): Promise; } >cb : (x: T) => Promise >x : T } diff --git a/tests/baselines/reference/propTypeValidatorInference.types b/tests/baselines/reference/propTypeValidatorInference.types index 2a2feafc30..b79a8b7e0d 100644 --- a/tests/baselines/reference/propTypeValidatorInference.types +++ b/tests/baselines/reference/propTypeValidatorInference.types @@ -91,7 +91,7 @@ interface Props { >bool : boolean shape: { ->shape : { foo: string; bar?: boolean | undefined; baz?: any; } +>shape : { foo: string; bar?: boolean; baz?: any; } foo: string; >foo : string @@ -104,7 +104,7 @@ interface Props { }; oneOfType: string | boolean | { ->oneOfType : string | boolean | { foo?: string | undefined; bar: number; } +>oneOfType : string | boolean | { foo?: string; bar: number; } foo?: string; >foo : string | undefined diff --git a/tests/baselines/reference/propertyAccessChain.2.types b/tests/baselines/reference/propertyAccessChain.2.types index 4dcf445aff..28722a7ae2 100644 --- a/tests/baselines/reference/propertyAccessChain.2.types +++ b/tests/baselines/reference/propertyAccessChain.2.types @@ -9,7 +9,7 @@ o1?.b; >b : string declare const o2: undefined | { b: { c: string } }; ->o2 : { b: { c: string;}; } +>o2 : { b: { c: string; }; } >b : { c: string; } >c : string @@ -21,7 +21,7 @@ o2?.b.c; >c : string declare const o3: { b: undefined | { c: string } }; ->o3 : { b: undefined | { c: string;}; } +>o3 : { b: undefined | { c: string; }; } >b : { c: string; } >c : string diff --git a/tests/baselines/reference/propertyAccessChain.types b/tests/baselines/reference/propertyAccessChain.types index b776ca10fa..e0e3ad7e94 100644 --- a/tests/baselines/reference/propertyAccessChain.types +++ b/tests/baselines/reference/propertyAccessChain.types @@ -9,7 +9,7 @@ o1?.b; >b : string | undefined declare const o2: undefined | { b: { c: string } }; ->o2 : { b: { c: string;}; } | undefined +>o2 : { b: { c: string; }; } | undefined >b : { c: string; } >c : string @@ -21,7 +21,7 @@ o2?.b.c; >c : string | undefined declare const o3: { b: undefined | { c: string } }; ->o3 : { b: undefined | { c: string;}; } +>o3 : { b: undefined | { c: string; }; } >b : { c: string; } | undefined >c : string @@ -33,9 +33,9 @@ o3.b?.c; >c : string | undefined declare const o4: { b?: { c: { d?: { e: string } } } }; ->o4 : { b?: { c: { d?: { e: string; };}; } | undefined; } ->b : { c: { d?: { e: string; };}; } | undefined ->c : { d?: { e: string; } | undefined; } +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +>b : { c: { d?: { e: string; }; }; } | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string @@ -51,9 +51,9 @@ o4.b?.c.d?.e; >e : string | undefined declare const o5: { b?(): { c: { d?: { e: string } } } }; ->o5 : { b?(): { c: { d?: { e: string; }; };}; } ->b : (() => { c: { d?: { e: string; }; };}) | undefined ->c : { d?: { e: string; } | undefined; } +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +>c : { d?: { e: string; }; } >d : { e: string; } | undefined >e : string @@ -71,7 +71,7 @@ o5.b?.().c.d?.e; // GH#33744 declare const o6: () => undefined | ({ x: number }); ->o6 : () => undefined | ({ x: number;}) +>o6 : () => undefined | ({ x: number; }) >x : number o6()?.x; diff --git a/tests/baselines/reference/propertyAccessWidening.types b/tests/baselines/reference/propertyAccessWidening.types index 7185b28f4c..7c4678405b 100644 --- a/tests/baselines/reference/propertyAccessWidening.types +++ b/tests/baselines/reference/propertyAccessWidening.types @@ -54,7 +54,7 @@ function g2(headerNames: any) { // Object in property or element access is widened when target of assignment function foo(options?: { a: string, b: number }) { ->foo : (options?: { a: string; b: number;}) => void +>foo : (options?: { a: string; b: number; }) => void >options : { a: string; b: number; } | undefined >a : string >b : number diff --git a/tests/baselines/reference/ramdaToolsNoInfinite2.types b/tests/baselines/reference/ramdaToolsNoInfinite2.types index 82a6a3cd6f..27e37814e7 100644 --- a/tests/baselines/reference/ramdaToolsNoInfinite2.types +++ b/tests/baselines/reference/ramdaToolsNoInfinite2.types @@ -421,10 +421,10 @@ declare module "Number/_Internal" { >NegativeIterationKeys : "-40" | "-39" | "-38" | "-37" | "-36" | "-35" | "-34" | "-33" | "-32" | "-31" | "-30" | "-29" | "-28" | "-27" | "-26" | "-25" | "-24" | "-23" | "-22" | "-21" | "-20" | "-19" | "-18" | "-17" | "-16" | "-15" | "-14" | "-13" | "-12" | "-11" | "-10" | "-9" | "-8" | "-7" | "-6" | "-5" | "-4" | "-3" | "-2" | "-1" export type Numbers = { ->Numbers : { string: { 'all': Format; '+': Format; '-': Format; '0': Format;}; number: { 'all': Format; '+': Format; '-': Format; '0': Format;}; } +>Numbers : { string: { "all": Format; "+": Format; "-": Format; "0": Format; }; number: { "all": Format; "+": Format; "-": Format; "0": Format; }; } 'string': { ->'string' : { all: Format; '+': Format; '-': Format; '0': Format; } +>'string' : { all: Format; '+': Format; '-': Format; '0': Format; } 'all': Format; >'all' : "-40" | "-39" | "-38" | "-37" | "-36" | "-35" | "-34" | "-33" | "-32" | "-31" | "-30" | "-29" | "-28" | "-27" | "-26" | "-25" | "-24" | "-23" | "-22" | "-21" | "-20" | "-19" | "-18" | "-17" | "-16" | "-15" | "-14" | "-13" | "-12" | "-11" | "-10" | "-9" | "-8" | "-7" | "-6" | "-5" | "-4" | "-3" | "-2" | "-1" | "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" @@ -440,7 +440,7 @@ declare module "Number/_Internal" { }; 'number': { ->'number' : { all: Format; '+': Format; '-': Format; '0': Format; } +>'number' : { all: Format; '+': Format; '-': Format; '0': Format; } 'all': Format; >'all' : 0 | 1 | 3 | 5 | 40 | -40 | 39 | -39 | 38 | -38 | 37 | -37 | 36 | -36 | 35 | -35 | 34 | -34 | 33 | -33 | 32 | -32 | 31 | -31 | 30 | -30 | 29 | -29 | 28 | -28 | 27 | -27 | 26 | -26 | 25 | -25 | 24 | -24 | 23 | -23 | 22 | -22 | 21 | -21 | 20 | -20 | 19 | -19 | 18 | -18 | 17 | -17 | 16 | -16 | 15 | -15 | 14 | -14 | 13 | -13 | 12 | -12 | 11 | -11 | 10 | -10 | 9 | -9 | 8 | -8 | 7 | -7 | 6 | -6 | -5 | 4 | -4 | -3 | 2 | -2 | -1 @@ -819,7 +819,7 @@ declare module "Iteration/IterationOf" { >Number : any export type IterationMap = { ->IterationMap : { '-40': ['__', '-39', '-40', -40, '-']; '-39': ['-40', '-38', '-39', -39, '-']; '-38': ['-39', '-37', '-38', -38, '-']; '-37': ['-38', '-36', '-37', -37, '-']; '-36': ['-37', '-35', '-36', -36, '-']; '-35': ['-36', '-34', '-35', -35, '-']; '-34': ['-35', '-33', '-34', -34, '-']; '-33': ['-34', '-32', '-33', -33, '-']; '-32': ['-33', '-31', '-32', -32, '-']; '-31': ['-32', '-30', '-31', -31, '-']; '-30': ['-31', '-29', '-30', -30, '-']; '-29': ['-30', '-28', '-29', -29, '-']; '-28': ['-29', '-27', '-28', -28, '-']; '-27': ['-28', '-26', '-27', -27, '-']; '-26': ['-27', '-25', '-26', -26, '-']; '-25': ['-26', '-24', '-25', -25, '-']; '-24': ['-25', '-23', '-24', -24, '-']; '-23': ['-24', '-22', '-23', -23, '-']; '-22': ['-23', '-21', '-22', -22, '-']; '-21': ['-22', '-20', '-21', -21, '-']; '-20': ['-21', '-19', '-20', -20, '-']; '-19': ['-20', '-18', '-19', -19, '-']; '-18': ['-19', '-17', '-18', -18, '-']; '-17': ['-18', '-16', '-17', -17, '-']; '-16': ['-17', '-15', '-16', -16, '-']; '-15': ['-16', '-14', '-15', -15, '-']; '-14': ['-15', '-13', '-14', -14, '-']; '-13': ['-14', '-12', '-13', -13, '-']; '-12': ['-13', '-11', '-12', -12, '-']; '-11': ['-12', '-10', '-11', -11, '-']; '-10': ['-11', '-9', '-10', -10, '-']; '-9': ['-10', '-8', '-9', -9, '-']; '-8': ['-9', '-7', '-8', -8, '-']; '-7': ['-8', '-6', '-7', -7, '-']; '-6': ['-7', '-5', '-6', -6, '-']; '-5': ['-6', '-4', '-5', -5, '-']; '-4': ['-5', '-3', '-4', -4, '-']; '-3': ['-4', '-2', '-3', -3, '-']; '-2': ['-3', '-1', '-2', -2, '-']; '-1': ['-2', '0', '-1', -1, '-']; '0': ['-1', '1', '0', 0, '0']; '1': ['0', '2', '1', 1, '+']; '2': ['1', '3', '2', 2, '+']; '3': ['2', '4', '3', 3, '+']; '4': ['3', '5', '4', 4, '+']; '5': ['4', '6', '5', 5, '+']; '6': ['5', '7', '6', 6, '+']; '7': ['6', '8', '7', 7, '+']; '8': ['7', '9', '8', 8, '+']; '9': ['8', '10', '9', 9, '+']; '10': ['9', '11', '10', 10, '+']; '11': ['10', '12', '11', 11, '+']; '12': ['11', '13', '12', 12, '+']; '13': ['12', '14', '13', 13, '+']; '14': ['13', '15', '14', 14, '+']; '15': ['14', '16', '15', 15, '+']; '16': ['15', '17', '16', 16, '+']; '17': ['16', '18', '17', 17, '+']; '18': ['17', '19', '18', 18, '+']; '19': ['18', '20', '19', 19, '+']; '20': ['19', '21', '20', 20, '+']; '21': ['20', '22', '21', 21, '+']; '22': ['21', '23', '22', 22, '+']; '23': ['22', '24', '23', 23, '+']; '24': ['23', '25', '24', 24, '+']; '25': ['24', '26', '25', 25, '+']; '26': ['25', '27', '26', 26, '+']; '27': ['26', '28', '27', 27, '+']; '28': ['27', '29', '28', 28, '+']; '29': ['28', '30', '29', 29, '+']; '30': ['29', '31', '30', 30, '+']; '31': ['30', '32', '31', 31, '+']; '32': ['31', '33', '32', 32, '+']; '33': ['32', '34', '33', 33, '+']; '34': ['33', '35', '34', 34, '+']; '35': ['34', '36', '35', 35, '+']; '36': ['35', '37', '36', 36, '+']; '37': ['36', '38', '37', 37, '+']; '38': ['37', '39', '38', 38, '+']; '39': ['38', '40', '39', 39, '+']; '40': ['39', '__', '40', 40, '+']; __: ['__', '__', string, number, '-' | '0' | '+']; } +>IterationMap : { '-40': ["__", "-39", "-40", -40, "-"]; '-39': ["-40", "-38", "-39", -39, "-"]; '-38': ["-39", "-37", "-38", -38, "-"]; '-37': ["-38", "-36", "-37", -37, "-"]; '-36': ["-37", "-35", "-36", -36, "-"]; '-35': ["-36", "-34", "-35", -35, "-"]; '-34': ["-35", "-33", "-34", -34, "-"]; '-33': ["-34", "-32", "-33", -33, "-"]; '-32': ["-33", "-31", "-32", -32, "-"]; '-31': ["-32", "-30", "-31", -31, "-"]; '-30': ["-31", "-29", "-30", -30, "-"]; '-29': ["-30", "-28", "-29", -29, "-"]; '-28': ["-29", "-27", "-28", -28, "-"]; '-27': ["-28", "-26", "-27", -27, "-"]; '-26': ["-27", "-25", "-26", -26, "-"]; '-25': ["-26", "-24", "-25", -25, "-"]; '-24': ["-25", "-23", "-24", -24, "-"]; '-23': ["-24", "-22", "-23", -23, "-"]; '-22': ["-23", "-21", "-22", -22, "-"]; '-21': ["-22", "-20", "-21", -21, "-"]; '-20': ["-21", "-19", "-20", -20, "-"]; '-19': ["-20", "-18", "-19", -19, "-"]; '-18': ["-19", "-17", "-18", -18, "-"]; '-17': ["-18", "-16", "-17", -17, "-"]; '-16': ["-17", "-15", "-16", -16, "-"]; '-15': ["-16", "-14", "-15", -15, "-"]; '-14': ["-15", "-13", "-14", -14, "-"]; '-13': ["-14", "-12", "-13", -13, "-"]; '-12': ["-13", "-11", "-12", -12, "-"]; '-11': ["-12", "-10", "-11", -11, "-"]; '-10': ["-11", "-9", "-10", -10, "-"]; '-9': ["-10", "-8", "-9", -9, "-"]; '-8': ["-9", "-7", "-8", -8, "-"]; '-7': ["-8", "-6", "-7", -7, "-"]; '-6': ["-7", "-5", "-6", -6, "-"]; '-5': ["-6", "-4", "-5", -5, "-"]; '-4': ["-5", "-3", "-4", -4, "-"]; '-3': ["-4", "-2", "-3", -3, "-"]; '-2': ["-3", "-1", "-2", -2, "-"]; '-1': ["-2", "0", "-1", -1, "-"]; '0': ["-1", "1", "0", 0, "0"]; '1': ["0", "2", "1", 1, "+"]; '2': ["1", "3", "2", 2, "+"]; '3': ["2", "4", "3", 3, "+"]; '4': ["3", "5", "4", 4, "+"]; '5': ["4", "6", "5", 5, "+"]; '6': ["5", "7", "6", 6, "+"]; '7': ["6", "8", "7", 7, "+"]; '8': ["7", "9", "8", 8, "+"]; '9': ["8", "10", "9", 9, "+"]; '10': ["9", "11", "10", 10, "+"]; '11': ["10", "12", "11", 11, "+"]; '12': ["11", "13", "12", 12, "+"]; '13': ["12", "14", "13", 13, "+"]; '14': ["13", "15", "14", 14, "+"]; '15': ["14", "16", "15", 15, "+"]; '16': ["15", "17", "16", 16, "+"]; '17': ["16", "18", "17", 17, "+"]; '18': ["17", "19", "18", 18, "+"]; '19': ["18", "20", "19", 19, "+"]; '20': ["19", "21", "20", 20, "+"]; '21': ["20", "22", "21", 21, "+"]; '22': ["21", "23", "22", 22, "+"]; '23': ["22", "24", "23", 23, "+"]; '24': ["23", "25", "24", 24, "+"]; '25': ["24", "26", "25", 25, "+"]; '26': ["25", "27", "26", 26, "+"]; '27': ["26", "28", "27", 27, "+"]; '28': ["27", "29", "28", 28, "+"]; '29': ["28", "30", "29", 29, "+"]; '30': ["29", "31", "30", 30, "+"]; '31': ["30", "32", "31", 31, "+"]; '32': ["31", "33", "32", 32, "+"]; '33': ["32", "34", "33", 33, "+"]; '34': ["33", "35", "34", 34, "+"]; '35': ["34", "36", "35", 35, "+"]; '36': ["35", "37", "36", 36, "+"]; '37': ["36", "38", "37", 37, "+"]; '38': ["37", "39", "38", 38, "+"]; '39': ["38", "40", "39", 39, "+"]; '40': ["39", "__", "40", 40, "+"]; __: ["__", "__", string, number, "-" | "0" | "+"]; } '-40': ['__', '-39', '-40', -40, '-']; >'-40' : ["__", "-39", "-40", -40, "-"] diff --git a/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types b/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types index befb43a43a..507230ca4b 100644 --- a/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types +++ b/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types @@ -4,7 +4,7 @@ import * as React from "react"; >React : typeof React function myHigherOrderComponent

(Inner: React.ComponentClass

): React.ComponentClass

{ ->myHigherOrderComponent :

(Inner: React.ComponentClass

) => React.ComponentClass

+>myHigherOrderComponent :

(Inner: React.ComponentClass

) => React.ComponentClass

>Inner : React.ComponentClass

>React : any >name : string diff --git a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types index 9bc29e06e9..9cd4f02fcb 100644 --- a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types +++ b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types @@ -10,7 +10,7 @@ declare class Component

{ >context : any readonly props: Readonly

& Readonly<{ children?: {} }>; ->props : Readonly

& Readonly<{ children?: {} | undefined; }> +>props : Readonly

& Readonly<{ children?: {}; }> >children : {} | undefined } interface ComponentClass

{ @@ -29,7 +29,7 @@ interface ComponentClass

{ } interface FunctionComponent

{ (props: P & { children?: {} }, context?: any): {} | null; ->props : P & { children?: {} | undefined; } +>props : P & { children?: {}; } >children : {} | undefined >context : any >null : null @@ -262,10 +262,10 @@ class TestComponent extends Component {} >Component : Component const mapDispatchToProps = { simpleAction, thunkAction }; ->mapDispatchToProps : { simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise; } ->{ simpleAction, thunkAction } : { simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise; } +>mapDispatchToProps : { simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise; } +>{ simpleAction, thunkAction } : { simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise; } >simpleAction : (payload: boolean) => { type: string; payload: boolean; } ->thunkAction : (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise +>thunkAction : (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise type Q = HandleThunkActionCreator; >Q : (payload: boolean) => { type: string; payload: boolean; } @@ -281,7 +281,7 @@ const Test1 = connect( >null : null mapDispatchToProps ->mapDispatchToProps : { simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise; } +>mapDispatchToProps : { simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => (dispatch: Dispatch, { foo }: OwnProps) => Promise; } )(TestComponent); >TestComponent : typeof TestComponent diff --git a/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types b/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types index 06c6455d32..bdeb79aaac 100644 --- a/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types +++ b/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types @@ -2,7 +2,7 @@ class C extends (class {} as new () => Readonly<{ attrib: number }>) { >C : C >(class {} as new () => Readonly<{ attrib: number }>) : Readonly<{ attrib: number; }> ->class {} as new () => Readonly<{ attrib: number }> : new () => Readonly<{ attrib: number;}> +>class {} as new () => Readonly<{ attrib: number }> : new () => Readonly<{ attrib: number; }> >class {} : typeof (Anonymous class) >attrib : number diff --git a/tests/baselines/reference/readonlyTupleAndArrayElaboration.types b/tests/baselines/reference/readonlyTupleAndArrayElaboration.types index 617ee5c366..6799f839ae 100644 --- a/tests/baselines/reference/readonlyTupleAndArrayElaboration.types +++ b/tests/baselines/reference/readonlyTupleAndArrayElaboration.types @@ -48,7 +48,7 @@ declare function arryFn2(x: Array): void; arryFn2(point); >arryFn2(point) : void ->arryFn2 : (x: number[]) => void +>arryFn2 : (x: Array) => void >point : readonly [3, 4] declare const a: readonly number[]; @@ -62,17 +62,17 @@ declare const c: ReadonlyArray; arryFn2(a); >arryFn2(a) : void ->arryFn2 : (x: number[]) => void +>arryFn2 : (x: Array) => void >a : readonly number[] arryFn2(b); >arryFn2(b) : void ->arryFn2 : (x: number[]) => void +>arryFn2 : (x: Array) => void >b : readonly number[] arryFn2(c); >arryFn2(c) : void ->arryFn2 : (x: number[]) => void +>arryFn2 : (x: Array) => void >c : readonly number[] const t1: readonly [1] = [1]; diff --git a/tests/baselines/reference/recursiveClassBaseType.types b/tests/baselines/reference/recursiveClassBaseType.types index 46ca8433ed..72285d849c 100644 --- a/tests/baselines/reference/recursiveClassBaseType.types +++ b/tests/baselines/reference/recursiveClassBaseType.types @@ -6,7 +6,7 @@ declare const p: (fn: () => T) => T; >fn : () => T declare const Base: (val: T) => { new(): T }; ->Base : (val: T) => new () => T +>Base : (val: T) => { new (): T; } >val : T class C extends Base({ x: p(() => []) }) { } diff --git a/tests/baselines/reference/recursiveClassReferenceTest.types b/tests/baselines/reference/recursiveClassReferenceTest.types index 761c6b9393..ef500d22cd 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.types +++ b/tests/baselines/reference/recursiveClassReferenceTest.types @@ -95,7 +95,7 @@ module Sample.Thing.Widgets { >Thing : any >true : true >runner(this) : any ->runner : (widget: IWidget) => any +>runner : (widget: Sample.Thing.IWidget) => any >this : this private domNode:any = null; diff --git a/tests/baselines/reference/recursiveConditionalEvaluationNonInfinite.types b/tests/baselines/reference/recursiveConditionalEvaluationNonInfinite.types index 2a302606d6..ee0d56e21a 100644 --- a/tests/baselines/reference/recursiveConditionalEvaluationNonInfinite.types +++ b/tests/baselines/reference/recursiveConditionalEvaluationNonInfinite.types @@ -8,7 +8,7 @@ declare const x: Test; >x : { array: { notArray: number; }; } const y: { array: { notArray: number } } = x; // Error ->y : { array: { notArray: number;}; } +>y : { array: { notArray: number; }; } >array : { notArray: number; } >notArray : number >x : { array: { notArray: number; }; } diff --git a/tests/baselines/reference/recursiveConditionalTypes.types b/tests/baselines/reference/recursiveConditionalTypes.types index a72af8cb4f..f49fe31ada 100644 --- a/tests/baselines/reference/recursiveConditionalTypes.types +++ b/tests/baselines/reference/recursiveConditionalTypes.types @@ -181,8 +181,8 @@ declare let b3: InfBox; >b3 : InfBox declare let b4: { value: { value: { value: typeof b4 }}}; ->b4 : { value: { value: { value: typeof b4; };}; } ->value : { value: { value: typeof b4;}; } +>b4 : { value: { value: { value: typeof b4; }; }; } +>value : { value: { value: typeof b4; }; } >value : { value: typeof b4; } >value : { value: { value: { value: typeof b4; }; }; } >b4 : { value: { value: { value: any; }; }; } @@ -385,7 +385,7 @@ type Enumerate = number extends N : never; function foo2(value: T): Enumerate { ->foo2 : (value: T) => Enumerate +>foo2 : (value: T) => Enumerate >value : T return value.length; // Error diff --git a/tests/baselines/reference/recursiveExcessPropertyChecks.types b/tests/baselines/reference/recursiveExcessPropertyChecks.types index 19f27b3af7..9ebb1bbede 100644 --- a/tests/baselines/reference/recursiveExcessPropertyChecks.types +++ b/tests/baselines/reference/recursiveExcessPropertyChecks.types @@ -7,7 +7,7 @@ interface ITreeItem { } type NodeWithId = ITreeItem & { Id?: number }; ->NodeWithId : ITreeItem & { Id?: number | undefined; } +>NodeWithId : ITreeItem & { Id?: number; } >Id : number | undefined function getMaxId(items: NodeWithId[]) { diff --git a/tests/baselines/reference/recursiveTypeReferences1.types b/tests/baselines/reference/recursiveTypeReferences1.types index bbdcdfeb82..b887661bd7 100644 --- a/tests/baselines/reference/recursiveTypeReferences1.types +++ b/tests/baselines/reference/recursiveTypeReferences1.types @@ -257,7 +257,7 @@ flat([1, ['a']]); // Error flat1([1, [2, [3]]]); // (number | number[])[] >flat1([1, [2, [3]]]) : (number | number[])[] ->flat1 : (a: (T | T[])[]) => T[] +>flat1 : (a: Array>) => T[] >[1, [2, [3]]] : (number | (number | number[])[])[] >1 : 1 >[2, [3]] : (number | number[])[] @@ -267,7 +267,7 @@ flat1([1, [2, [3]]]); // (number | number[])[] flat1([[[0]]]); // number[][] >flat1([[[0]]]) : number[][] ->flat1 : (a: (T | T[])[]) => T[] +>flat1 : (a: Array>) => T[] >[[[0]]] : number[][][] >[[0]] : number[][] >[0] : number[] @@ -275,7 +275,7 @@ flat1([[[0]]]); // number[][] flat1([1, 'a', [2]]); // (string | number)[] >flat1([1, 'a', [2]]) : (string | number)[] ->flat1 : (a: (T | T[])[]) => T[] +>flat1 : (a: Array>) => T[] >[1, 'a', [2]] : (string | number | number[])[] >1 : 1 >'a' : "a" @@ -284,7 +284,7 @@ flat1([1, 'a', [2]]); // (string | number)[] flat1([1, [2, 'a']]); // (string | number)[] >flat1([1, [2, 'a']]) : (string | number)[] ->flat1 : (a: (T | T[])[]) => T[] +>flat1 : (a: Array>) => T[] >[1, [2, 'a']] : (number | (string | number)[])[] >1 : 1 >[2, 'a'] : (string | number)[] @@ -293,7 +293,7 @@ flat1([1, [2, 'a']]); // (string | number)[] flat1([1, ['a']]); // Error >flat1([1, ['a']]) : string[] ->flat1 : (a: (T | T[])[]) => T[] +>flat1 : (a: Array>) => T[] >[1, ['a']] : (number | string[])[] >1 : 1 >['a'] : string[] @@ -301,7 +301,7 @@ flat1([1, ['a']]); // Error flat2([1, [2, [3]]]); // number[] >flat2([1, [2, [3]]]) : number[] ->flat2 : (a: (T | (T | T[])[])[]) => T[] +>flat2 : (a: Array>>) => T[] >[1, [2, [3]]] : (number | (number | number[])[])[] >1 : 1 >[2, [3]] : (number | number[])[] @@ -311,7 +311,7 @@ flat2([1, [2, [3]]]); // number[] flat2([[[0]]]); // number[] >flat2([[[0]]]) : number[] ->flat2 : (a: (T | (T | T[])[])[]) => T[] +>flat2 : (a: Array>>) => T[] >[[[0]]] : number[][][] >[[0]] : number[][] >[0] : number[] @@ -319,7 +319,7 @@ flat2([[[0]]]); // number[] flat2([1, 'a', [2]]); // (string | number)[] >flat2([1, 'a', [2]]) : (string | number)[] ->flat2 : (a: (T | (T | T[])[])[]) => T[] +>flat2 : (a: Array>>) => T[] >[1, 'a', [2]] : (string | number | number[])[] >1 : 1 >'a' : "a" @@ -328,7 +328,7 @@ flat2([1, 'a', [2]]); // (string | number)[] flat2([1, [2, 'a']]); // (string | number)[] >flat2([1, [2, 'a']]) : (string | number)[] ->flat2 : (a: (T | (T | T[])[])[]) => T[] +>flat2 : (a: Array>>) => T[] >[1, [2, 'a']] : (number | (string | number)[])[] >1 : 1 >[2, 'a'] : (string | number)[] @@ -337,7 +337,7 @@ flat2([1, [2, 'a']]); // (string | number)[] flat2([1, ['a']]); // Error >flat2([1, ['a']]) : string[] ->flat2 : (a: (T | (T | T[])[])[]) => T[] +>flat2 : (a: Array>>) => T[] >[1, ['a']] : (number | string[])[] >1 : 1 >['a'] : string[] @@ -453,9 +453,9 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >'noopener' : "noopener" >'data-index' : string >idx.join('.') : string ->idx.join : (separator?: string | undefined) => string +>idx.join : (separator?: string) => string >idx : number[] ->join : (separator?: string | undefined) => string +>join : (separator?: string) => string >'.' : "." >el.textContent! : string >el.textContent : string | null diff --git a/tests/baselines/reference/recursiveTypeReferences2.js b/tests/baselines/reference/recursiveTypeReferences2.js index 852417eca2..ebc0849f6e 100644 --- a/tests/baselines/reference/recursiveTypeReferences2.js +++ b/tests/baselines/reference/recursiveTypeReferences2.js @@ -88,10 +88,10 @@ type Json = boolean | number | string | null | JsonRecord | readonly Json[] | re */ type XMLObject = { $A: { [K in keyof T]?: XMLObject[]; }; - $O: { [K_1 in keyof T]?: { + $O: { [K in keyof T]?: { $$?: Record; - } & (T[K_1] extends string ? { + } & (T[K] extends string ? { $: string; - } : XMLObject); }; + } : XMLObject); }; $$?: Record; -} & { [K_2 in keyof T]?: T[K_2] extends string ? string : XMLObject; }; +} & { [K in keyof T]?: (T[K] extends string ? string : XMLObject); }; diff --git a/tests/baselines/reference/recursiveTypesWithTypeof.types b/tests/baselines/reference/recursiveTypesWithTypeof.types index 64a0ea35b5..dad0a200d4 100644 --- a/tests/baselines/reference/recursiveTypesWithTypeof.types +++ b/tests/baselines/reference/recursiveTypesWithTypeof.types @@ -66,16 +66,16 @@ var h = h(); >h : () => any var i: (x: typeof i) => typeof x; ->i : (x: typeof i) => any +>i : (x: typeof i) => typeof x >x : (x: typeof i) => any ->i : (x: any) => any ->x : (x: any) => typeof x +>i : (x: typeof i) => any +>x : (x: typeof i) => typeof x var i = i(i); ->i : (x: any) => any ->i(i) : (x: any) => any ->i : (x: any) => any ->i : (x: any) => any +>i : (x: typeof i) => any +>i(i) : (x: typeof i) => any +>i : (x: typeof i) => any +>i : (x: typeof i) => any var j: (x: T) => T; >j : (x: T) => T @@ -99,16 +99,16 @@ var h2 = new h2(); >h2 : new () => any var i2: new (x: typeof i2) => typeof x; ->i2 : new (x: typeof i2) => any +>i2 : new (x: typeof i2) => typeof x >x : new (x: typeof i2) => any ->i2 : new (x: any) => any ->x : new (x: any) => typeof x +>i2 : new (x: typeof i2) => any +>x : new (x: typeof i2) => typeof x var i2 = new i2(i2); ->i2 : new (x: any) => any ->new i2(i2) : new (x: any) => any ->i2 : new (x: any) => any ->i2 : new (x: any) => any +>i2 : new (x: typeof i2) => any +>new i2(i2) : new (x: typeof i2) => any +>i2 : new (x: typeof i2) => any +>i2 : new (x: typeof i2) => any var j2: new (x: T) => T; >j2 : new (x: T) => T diff --git a/tests/baselines/reference/recursiveUnionTypeInference.types b/tests/baselines/reference/recursiveUnionTypeInference.types index 57d8e6071f..f553338684 100644 --- a/tests/baselines/reference/recursiveUnionTypeInference.types +++ b/tests/baselines/reference/recursiveUnionTypeInference.types @@ -10,7 +10,7 @@ function bar(x: Foo | string): T { return bar(x); >bar(x) : T ->bar : (x: string | Foo) => T +>bar : (x: Foo | string) => T >x : string | Foo } diff --git a/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.js b/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.js index 5021ebbdd4..f24447cf14 100644 --- a/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.js +++ b/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.js @@ -169,13 +169,13 @@ interface I { declare function f1({ a }: O): void; declare const f2: ({ a: string }: O) => void; declare const f3: ({ a: string, b, c }: O) => void; -declare const f4: ({ a: string }: O) => string; -declare const f5: ({ a: string, b, c }: O) => string; +declare const f4: ({ a: string }: O) => typeof string; +declare const f5: ({ a: string, b, c }: O) => typeof string; declare const obj1: { method({ a: string }: O): void; }; declare const obj2: { - method({ a: string }: O): string; + method({ a: string }: O): typeof string; }; declare function f6({ a }: O): void; declare const f7: ({ a: string, b, c }: O) => void; diff --git a/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.types b/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.types index 1dbe128487..325e7ab65c 100644 --- a/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.types +++ b/tests/baselines/reference/renamingDestructuredPropertyInFunctionType.types @@ -36,13 +36,13 @@ type F5 = ({ a: string, b, c }: O) => any; // Error >c : number type F6 = ({ a: string }) => typeof string; // OK ->F6 : ({ a: string }: { a: any; }) => any +>F6 : ({ a: string }: { a: any; }) => typeof string >a : any >string : any >string : any type F7 = ({ a: string, b: number }) => typeof number; // Error ->F7 : ({ a: string, b: number }: { a: any; b: any; }) => any +>F7 : ({ a: string, b: number }: { a: any; b: any; }) => typeof number >a : any >string : any >b : any @@ -50,7 +50,7 @@ type F7 = ({ a: string, b: number }) => typeof number; // Error >number : any type F8 = ({ a, b: number }) => typeof number; // OK ->F8 : ({ a, b: number }: { a: any; b: any; }) => any +>F8 : ({ a, b: number }: { a: any; b: any; }) => typeof number >a : any >b : any >number : any @@ -91,13 +91,13 @@ type G5 = new ({ a: string, b, c }: O) => any; // Error >c : number type G6 = new ({ a: string }) => typeof string; // OK ->G6 : new ({ a: string }: { a: any; }) => any +>G6 : new ({ a: string }: { a: any; }) => typeof string >a : any >string : any >string : any type G7 = new ({ a: string, b: number }) => typeof number; // Error ->G7 : new ({ a: string, b: number }: { a: any; b: any; }) => any +>G7 : new ({ a: string, b: number }: { a: any; b: any; }) => typeof number >a : any >string : any >b : any @@ -105,7 +105,7 @@ type G7 = new ({ a: string, b: number }) => typeof number; // Error >number : any type G8 = new ({ a, b: number }) => typeof number; // OK ->G8 : new ({ a, b: number }: { a: any; b: any; }) => any +>G8 : new ({ a, b: number }: { a: any; b: any; }) => typeof number >a : any >b : any >number : any @@ -201,16 +201,16 @@ const f3 = ({ a: string, b, c }: O) => { }; >c : number const f4 = function({ a: string }: O): typeof string { return string; }; ->f4 : ({ a: string }: O) => string ->function({ a: string }: O): typeof string { return string; } : ({ a: string }: O) => string +>f4 : ({ a: string }: O) => typeof string +>function({ a: string }: O): typeof string { return string; } : ({ a: string }: O) => typeof string >a : any >string : string >string : string >string : string const f5 = ({ a: string, b, c }: O): typeof string => ''; ->f5 : ({ a: string, b, c }: O) => string ->({ a: string, b, c }: O): typeof string => '' : ({ a: string, b, c }: O) => string +>f5 : ({ a: string, b, c }: O) => typeof string +>({ a: string, b, c }: O): typeof string => '' : ({ a: string, b, c }: O) => typeof string >a : any >string : string >b : number @@ -229,11 +229,11 @@ const obj1 = { }; const obj2 = { ->obj2 : { method({ a: string }: O): string; } ->{ method({ a: string }: O): typeof string { return string; }} : { method({ a: string }: O): string; } +>obj2 : { method({ a: string }: O): typeof string; } +>{ method({ a: string }: O): typeof string { return string; }} : { method({ a: string }: O): typeof string; } method({ a: string }: O): typeof string { return string; } ->method : ({ a: string }: O) => string +>method : ({ a: string }: O) => typeof string >a : any >string : string >string : string diff --git a/tests/baselines/reference/renamingDestructuredPropertyInFunctionType2.types b/tests/baselines/reference/renamingDestructuredPropertyInFunctionType2.types index 615d9de914..6250dd4230 100644 --- a/tests/baselines/reference/renamingDestructuredPropertyInFunctionType2.types +++ b/tests/baselines/reference/renamingDestructuredPropertyInFunctionType2.types @@ -34,13 +34,13 @@ type F5 = ({ a: string, b, c }: O) => any; >c : number type F6 = ({ a: string }) => typeof string; ->F6 : ({ a: string }: { a: any; }) => any +>F6 : ({ a: string }: { a: any; }) => typeof string >a : any >string : any >string : any type F7 = ({ a: string, b: number }) => typeof number; ->F7 : ({ a: string, b: number }: { a: any; b: any; }) => any +>F7 : ({ a: string, b: number }: { a: any; b: any; }) => typeof number >a : any >string : any >b : any @@ -48,7 +48,7 @@ type F7 = ({ a: string, b: number }) => typeof number; >number : any type F8 = ({ a, b: number }) => typeof number; ->F8 : ({ a, b: number }: { a: any; b: any; }) => any +>F8 : ({ a, b: number }: { a: any; b: any; }) => typeof number >a : any >b : any >number : any @@ -89,13 +89,13 @@ type G5 = ({ a: string, b, c }: O) => any; >c : number type G6 = ({ a: string }) => typeof string; ->G6 : ({ a: string }: { a: any; }) => any +>G6 : ({ a: string }: { a: any; }) => typeof string >a : any >string : any >string : any type G7 = ({ a: string, b: number }) => typeof number; ->G7 : ({ a: string, b: number }: { a: any; b: any; }) => any +>G7 : ({ a: string, b: number }: { a: any; b: any; }) => typeof number >a : any >string : any >b : any @@ -103,7 +103,7 @@ type G7 = ({ a: string, b: number }) => typeof number; >number : any type G8 = ({ a, b: number }) => typeof number; ->G8 : ({ a, b: number }: { a: any; b: any; }) => any +>G8 : ({ a, b: number }: { a: any; b: any; }) => typeof number >a : any >b : any >number : any diff --git a/tests/baselines/reference/restTuplesFromContextualTypes.types b/tests/baselines/reference/restTuplesFromContextualTypes.types index 6bbc92095d..d0057e11aa 100644 --- a/tests/baselines/reference/restTuplesFromContextualTypes.types +++ b/tests/baselines/reference/restTuplesFromContextualTypes.types @@ -51,14 +51,14 @@ declare const t1: [number, boolean, string]; >t1 : [number, boolean, string] declare function f1(cb: (...args: typeof t1) => void): void; ->f1 : (cb: (args_0: number, args_1: boolean, args_2: string) => void) => void +>f1 : (cb: (...args: typeof t1) => void) => void >cb : (args_0: number, args_1: boolean, args_2: string) => void >args : [number, boolean, string] >t1 : [number, boolean, string] f1((a, b, c) => {}) >f1((a, b, c) => {}) : void ->f1 : (cb: (args_0: number, args_1: boolean, args_2: string) => void) => void +>f1 : (cb: (...args: typeof t1) => void) => void >(a, b, c) => {} : (a: number, b: boolean, c: string) => void >a : number >b : boolean @@ -66,20 +66,20 @@ f1((a, b, c) => {}) f1((...x) => {}) >f1((...x) => {}) : void ->f1 : (cb: (args_0: number, args_1: boolean, args_2: string) => void) => void +>f1 : (cb: (...args: typeof t1) => void) => void >(...x) => {} : (x_0: number, x_1: boolean, x_2: string) => void >x : [number, boolean, string] f1((a, ...x) => {}) >f1((a, ...x) => {}) : void ->f1 : (cb: (args_0: number, args_1: boolean, args_2: string) => void) => void +>f1 : (cb: (...args: typeof t1) => void) => void >(a, ...x) => {} : (a: number, x_0: boolean, x_1: string) => void >a : number >x : [boolean, string] f1((a, b, ...x) => {}) >f1((a, b, ...x) => {}) : void ->f1 : (cb: (args_0: number, args_1: boolean, args_2: string) => void) => void +>f1 : (cb: (...args: typeof t1) => void) => void >(a, b, ...x) => {} : (a: number, b: boolean, x_0: string) => void >a : number >b : boolean @@ -87,7 +87,7 @@ f1((a, b, ...x) => {}) f1((a, b, c, ...x) => {}) >f1((a, b, c, ...x) => {}) : void ->f1 : (cb: (args_0: number, args_1: boolean, args_2: string) => void) => void +>f1 : (cb: (...args: typeof t1) => void) => void >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string) => void >a : number >b : boolean @@ -146,14 +146,14 @@ declare const t2: [number, boolean, ...string[]]; >t2 : [number, boolean, ...string[]] declare function f2(cb: (...args: typeof t2) => void): void; ->f2 : (cb: (args_0: number, args_1: boolean, ...args_2: string[]) => void) => void +>f2 : (cb: (...args: typeof t2) => void) => void >cb : (args_0: number, args_1: boolean, ...args_2: string[]) => void >args : [number, boolean, ...string[]] >t2 : [number, boolean, ...string[]] f2((a, b, c) => {}) >f2((a, b, c) => {}) : void ->f2 : (cb: (args_0: number, args_1: boolean, ...args_2: string[]) => void) => void +>f2 : (cb: (...args: typeof t2) => void) => void >(a, b, c) => {} : (a: number, b: boolean, c: string) => void >a : number >b : boolean @@ -161,20 +161,20 @@ f2((a, b, c) => {}) f2((...x) => {}) >f2((...x) => {}) : void ->f2 : (cb: (args_0: number, args_1: boolean, ...args_2: string[]) => void) => void +>f2 : (cb: (...args: typeof t2) => void) => void >(...x) => {} : (x_0: number, x_1: boolean, ...x_2: string[]) => void >x : [number, boolean, ...string[]] f2((a, ...x) => {}) >f2((a, ...x) => {}) : void ->f2 : (cb: (args_0: number, args_1: boolean, ...args_2: string[]) => void) => void +>f2 : (cb: (...args: typeof t2) => void) => void >(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void >a : number >x : [boolean, ...string[]] f2((a, b, ...x) => {}) >f2((a, b, ...x) => {}) : void ->f2 : (cb: (args_0: number, args_1: boolean, ...args_2: string[]) => void) => void +>f2 : (cb: (...args: typeof t2) => void) => void >(a, b, ...x) => {} : (a: number, b: boolean, ...x: string[]) => void >a : number >b : boolean @@ -182,7 +182,7 @@ f2((a, b, ...x) => {}) f2((a, b, c, ...x) => {}) >f2((a, b, c, ...x) => {}) : void ->f2 : (cb: (args_0: number, args_1: boolean, ...args_2: string[]) => void) => void +>f2 : (cb: (...args: typeof t2) => void) => void >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string, ...x: string[]) => void >a : number >b : boolean @@ -246,7 +246,7 @@ declare const t3: [boolean, ...string[]]; >t3 : [boolean, ...string[]] declare function f3(cb: (x: number, ...args: typeof t3) => void): void; ->f3 : (cb: (x: number, args_0: boolean, ...args_1: string[]) => void) => void +>f3 : (cb: (x: number, ...args: typeof t3) => void) => void >cb : (x: number, args_0: boolean, ...args_1: string[]) => void >x : number >args : [boolean, ...string[]] @@ -254,7 +254,7 @@ declare function f3(cb: (x: number, ...args: typeof t3) => void): void; f3((a, b, c) => {}) >f3((a, b, c) => {}) : void ->f3 : (cb: (x: number, args_0: boolean, ...args_1: string[]) => void) => void +>f3 : (cb: (x: number, ...args: typeof t3) => void) => void >(a, b, c) => {} : (a: number, b: boolean, c: string) => void >a : number >b : boolean @@ -262,20 +262,20 @@ f3((a, b, c) => {}) f3((...x) => {}) >f3((...x) => {}) : void ->f3 : (cb: (x: number, args_0: boolean, ...args_1: string[]) => void) => void +>f3 : (cb: (x: number, ...args: typeof t3) => void) => void >(...x) => {} : (x_0: number, x_1: boolean, ...x_2: string[]) => void >x : [number, boolean, ...string[]] f3((a, ...x) => {}) >f3((a, ...x) => {}) : void ->f3 : (cb: (x: number, args_0: boolean, ...args_1: string[]) => void) => void +>f3 : (cb: (x: number, ...args: typeof t3) => void) => void >(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void >a : number >x : [boolean, ...string[]] f3((a, b, ...x) => {}) >f3((a, b, ...x) => {}) : void ->f3 : (cb: (x: number, args_0: boolean, ...args_1: string[]) => void) => void +>f3 : (cb: (x: number, ...args: typeof t3) => void) => void >(a, b, ...x) => {} : (a: number, b: boolean, ...x: string[]) => void >a : number >b : boolean @@ -283,7 +283,7 @@ f3((a, b, ...x) => {}) f3((a, b, c, ...x) => {}) >f3((a, b, c, ...x) => {}) : void ->f3 : (cb: (x: number, args_0: boolean, ...args_1: string[]) => void) => void +>f3 : (cb: (x: number, ...args: typeof t3) => void) => void >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string, ...x: string[]) => void >a : number >b : boolean diff --git a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types index a17ce9534c..3e61b31395 100644 --- a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types +++ b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types @@ -1,6 +1,6 @@ === tests/cases/compiler/returnTypeInferenceNotTooBroad.ts === type Signs = { kind: 'a'; a: 3; } | { kind: 'b'; b: 2; } | { kind: 'c'; c: 1; }; ->Signs : { kind: 'a'; a: 3; } | { kind: 'b'; b: 2; } | { kind: 'c'; c: 1; } +>Signs : { kind: "a"; a: 3; } | { kind: "b"; b: 2; } | { kind: "c"; c: 1; } >kind : "a" >a : 3 >kind : "b" diff --git a/tests/baselines/reference/returnTypeTypeArguments.types b/tests/baselines/reference/returnTypeTypeArguments.types index 40a1326305..80c658a2f4 100644 --- a/tests/baselines/reference/returnTypeTypeArguments.types +++ b/tests/baselines/reference/returnTypeTypeArguments.types @@ -152,7 +152,7 @@ class X } declare var a: { ->a : { p1: () => X; p2: { [idx: number]: any; }; p3: X[]; p4: I; p5: any; p6: () => Y; p7: { [idx: number]: any; }; p8: Y[]; p9: I; pa: any; } +>a : { p1: () => X; p2: { [idx: number]: X; }; p3: X[]; p4: I; p5: any; p6: () => Y; p7: { [idx: number]: Y; }; p8: Y[]; p9: I; pa: any; } p1: () => X; >p1 : () => any diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types index 2bb2353cb7..6b743cb47f 100644 --- a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types @@ -57,7 +57,7 @@ interface MyType { const r = extend({ >r : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> >extend({ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }}) : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> ->extend : ({ props }: { props: RecordPropsDefinition; }) => RecordPropsDefinition +>extend : ({ props }: { props: PropsDefinition; }) => RecordPropsDefinition >{ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }} : { props: { notResolved: { type: PropType; validator: (x: MyType) => boolean; }; explicit: { type: PropType; validator: (x: MyType) => boolean; }; }; } props: { diff --git a/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types b/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types index f8e272ed48..3aa123918b 100644 --- a/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types +++ b/tests/baselines/reference/reverseMappedTypeAssignableToIndex.types @@ -19,7 +19,7 @@ type LiteralType = { >second : "second" } type MappedLiteralType = { ->MappedLiteralType : { first: { name: "first";}; second: { name: "second";}; } +>MappedLiteralType : { first: { name: "first"; }; second: { name: "second"; }; } first: { name: "first" }, >first : { name: "first"; } diff --git a/tests/baselines/reference/signatureHelpJSDocCallbackTag.baseline b/tests/baselines/reference/signatureHelpJSDocCallbackTag.baseline index 640c0c7dc1..236ff548b3 100644 --- a/tests/baselines/reference/signatureHelpJSDocCallbackTag.baseline +++ b/tests/baselines/reference/signatureHelpJSDocCallbackTag.baseline @@ -99,7 +99,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -115,7 +115,7 @@ "kind": "space" }, { - "text": "number", + "text": "string", "kind": "keyword" } ], @@ -281,7 +281,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -297,7 +297,7 @@ "kind": "space" }, { - "text": "number", + "text": "string", "kind": "keyword" } ], @@ -463,7 +463,7 @@ "kind": "space" }, { - "text": "string", + "text": "number", "kind": "keyword" }, { @@ -479,7 +479,7 @@ "kind": "space" }, { - "text": "number", + "text": "string", "kind": "keyword" } ], diff --git a/tests/baselines/reference/signatureHelpJSMissingPropertyAccess.baseline b/tests/baselines/reference/signatureHelpJSMissingPropertyAccess.baseline index 67dfa43479..08f805691c 100644 --- a/tests/baselines/reference/signatureHelpJSMissingPropertyAccess.baseline +++ b/tests/baselines/reference/signatureHelpJSMissingPropertyAccess.baseline @@ -215,7 +215,7 @@ }, { "text": "value", - "kind": "text" + "kind": "parameterName" }, { "text": " ", diff --git a/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types b/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types index 260c6275ad..f8faa59952 100644 --- a/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types +++ b/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types @@ -1,10 +1,10 @@ === tests/cases/compiler/slightlyIndirectedDeepObjectLiteralElaborations.ts === interface Foo { a: { ->a : { b: { c: { d: string; };}; } +>a : { b: { c: { d: string; }; }; } b: { ->b : { c: { d: string;}; } +>b : { c: { d: string; }; } c: { >c : { d: string; } diff --git a/tests/baselines/reference/specializationError.types b/tests/baselines/reference/specializationError.types index 8f0b5747bf..e09eb5e11b 100644 --- a/tests/baselines/reference/specializationError.types +++ b/tests/baselines/reference/specializationError.types @@ -1,7 +1,7 @@ === tests/cases/compiler/specializationError.ts === interface Promise { then(value: T): void; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (value: T): void; } +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (value: T): void; } >value : T } diff --git a/tests/baselines/reference/specializedOverloadWithRestParameters.types b/tests/baselines/reference/specializedOverloadWithRestParameters.types index 7bd6dd3475..771a53d24d 100644 --- a/tests/baselines/reference/specializedOverloadWithRestParameters.types +++ b/tests/baselines/reference/specializedOverloadWithRestParameters.types @@ -9,7 +9,7 @@ class Derived1 extends Base { bar() { } } >bar : () => void function f(tagName: 'span', ...args): Derived1; // error ->f : { (tagName: 'span', ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } +>f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } >tagName : "span" >args : any[] @@ -26,7 +26,7 @@ function f(tagName: any): Base { >null : null } function g(tagName: 'span', arg): Derived1; // error ->g : { (tagName: 'span', arg: any): Derived1; (tagName: number, arg: any): Base; } +>g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } >tagName : "span" >arg : any diff --git a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt index 6d3973b369..90ae876c61 100644 --- a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt +++ b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt @@ -7,7 +7,7 @@ tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(7,1): error TS2 Argument of type 'number' is not assignable to parameter of type 'string'. tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(8,1): error TS2769: No overload matches this call. Overload 1 of 2, '(a: number, cb: (x: number) => number): any', gave the following error. - Argument of type '(x: 'hm') => number' is not assignable to parameter of type '(x: number) => number'. + Argument of type '(x: "hm") => number' is not assignable to parameter of type '(x: number) => number'. Types of parameters 'x' and 'x' are incompatible. Type 'number' is not assignable to type '"hm"'. Overload 2 of 2, '(a: string, cb: (x: number) => number): any', gave the following error. @@ -34,7 +34,7 @@ tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts(8,1): error TS2 ~~~~~~~~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 2, '(a: number, cb: (x: number) => number): any', gave the following error. -!!! error TS2769: Argument of type '(x: 'hm') => number' is not assignable to parameter of type '(x: number) => number'. +!!! error TS2769: Argument of type '(x: "hm") => number' is not assignable to parameter of type '(x: number) => number'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. !!! error TS2769: Type 'number' is not assignable to type '"hm"'. !!! error TS2769: Overload 2 of 2, '(a: string, cb: (x: number) => number): any', gave the following error. diff --git a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types index 0eaacf5a2c..24f18fab3e 100644 --- a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types +++ b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types @@ -35,7 +35,7 @@ x3(1, (x: 'hm') => 1); >x3(1, (x: 'hm') => 1) : any >x3 : { (a: number, cb: (x: number) => number): any; (a: string, cb: (x: number) => number): any; } >1 : 1 ->(x: 'hm') => 1 : (x: 'hm') => number +>(x: 'hm') => 1 : (x: "hm") => number >x : "hm" >1 : 1 diff --git a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types index ccdc7b1b2a..98c34e9211 100644 --- a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types +++ b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/objectTypeLiteral/callSignatures/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts === function foo(x: 'a'); ->foo : (x: 'a') => any +>foo : (x: "a") => any >x : "a" function foo(x: number) { } @@ -11,7 +11,7 @@ class C { >C : C foo(x: 'a'); ->foo : { (x: 'a'): any; (x: number): any; } +>foo : { (x: "a"): any; (x: number): any; } >x : "a" foo(x: number); @@ -27,7 +27,7 @@ class C2 { >C2 : C2 foo(x: 'a'); ->foo : { (x: 'a'): any; (x: T): any; } +>foo : { (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); @@ -43,7 +43,7 @@ class C3 { >C3 : C3 foo(x: 'a'); ->foo : { (x: 'a'): any; (x: T): any; } +>foo : { (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); @@ -63,7 +63,7 @@ interface I { >x : number foo(x: 'a'); ->foo : { (x: 'a'): any; (x: number): any; } +>foo : { (x: "a"): any; (x: number): any; } >x : "a" foo(x: number); @@ -79,7 +79,7 @@ interface I2 { >x : T foo(x: 'a'); ->foo : { (x: 'a'): any; (x: T): any; } +>foo : { (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); @@ -95,7 +95,7 @@ interface I3 { >x : T foo(x: 'a'); ->foo : { (x: 'a'): any; (x: T): any; } +>foo : { (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); @@ -104,7 +104,7 @@ interface I3 { } var a: { ->a : { (x: 'a'): any; (x: number): any; foo(x: 'a'): any; foo(x: number): any; } +>a : { (x: "a"): any; (x: number): any; foo(x: "a"): any; foo(x: number): any; } (x: 'a'); >x : "a" @@ -113,7 +113,7 @@ var a: { >x : number foo(x: 'a'); ->foo : { (x: 'a'): any; (x: number): any; } +>foo : { (x: "a"): any; (x: number): any; } >x : "a" foo(x: number); @@ -122,7 +122,7 @@ var a: { } var a2: { ->a2 : { (x: 'a'): any; (x: T): any; foo(x: 'a'): any; foo(x: T): any; } +>a2 : { (x: "a"): any; (x: T): any; foo(x: "a"): any; foo(x: T): any; } (x: 'a'); >x : "a" @@ -131,7 +131,7 @@ var a2: { >x : T foo(x: 'a'); ->foo : { (x: 'a'): any; (x: T): any; } +>foo : { (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); @@ -140,7 +140,7 @@ var a2: { } var a3: { ->a3 : { (x: 'a'): any; (x: T): any; foo(x: 'a'): any; foo(x: T): any; } +>a3 : { (x: "a"): any; (x: T): any; foo(x: "a"): any; foo(x: T): any; } (x: 'a'); >x : "a" @@ -149,7 +149,7 @@ var a3: { >x : T foo(x: 'a'); ->foo : { (x: 'a'): any; (x: T): any; } +>foo : { (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); diff --git a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types index 21aee39e5b..ee4af1f5d8 100644 --- a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types +++ b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types @@ -3,7 +3,7 @@ // All the below should not be errors function foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; } +>foo : { (x: "a"): any; (x: string): any; } >x : "a" function foo(x: string); @@ -18,7 +18,7 @@ class C { >C : C foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; } +>foo : { (x: "a"): any; (x: string): any; } >x : "a" foo(x: string); @@ -34,7 +34,7 @@ class C2 { >C2 : C2 foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; (x: T): any; } +>foo : { (x: "a"): any; (x: string): any; (x: T): any; } >x : "a" foo(x: string); @@ -54,7 +54,7 @@ class C3 { >C3 : C3 foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; (x: T): any; } +>foo : { (x: "a"): any; (x: string): any; (x: T): any; } >x : "a" foo(x: string); @@ -81,7 +81,7 @@ interface I { >x : string foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; (x: number): any; } +>foo : { (x: "a"): any; (x: string): any; (x: number): any; } >x : "a" foo(x: string); @@ -104,7 +104,7 @@ interface I2 { >x : string foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; (x: T): any; } +>foo : { (x: "a"): any; (x: string): any; (x: T): any; } >x : "a" foo(x: string); @@ -127,7 +127,7 @@ interface I3 { >x : T foo(x: 'a'); ->foo : { (x: 'a'): any; (x: string): any; (x: T): any; } +>foo : { (x: "a"): any; (x: string): any; (x: T): any; } >x : "a" foo(x: string); @@ -140,7 +140,7 @@ interface I3 { } var a: { ->a : { (x: string): any; (x: 'a'): any; (x: number): any; foo(x: string): any; foo(x: 'a'): any; foo(x: number): any; } +>a : { (x: string): any; (x: "a"): any; (x: number): any; foo(x: string): any; foo(x: "a"): any; foo(x: number): any; } (x: string); >x : string @@ -156,7 +156,7 @@ var a: { >x : string foo(x: 'a'); ->foo : { (x: string): any; (x: 'a'): any; (x: number): any; } +>foo : { (x: string): any; (x: "a"): any; (x: number): any; } >x : "a" foo(x: number); @@ -165,7 +165,7 @@ var a: { } var a2: { ->a2 : { (x: 'a'): any; (x: string): any; (x: T): any; foo(x: string): any; foo(x: 'a'): any; foo(x: T): any; } +>a2 : { (x: "a"): any; (x: string): any; (x: T): any; foo(x: string): any; foo(x: "a"): any; foo(x: T): any; } (x: 'a'); >x : "a" @@ -181,7 +181,7 @@ var a2: { >x : string foo(x: 'a'); ->foo : { (x: string): any; (x: 'a'): any; (x: T): any; } +>foo : { (x: string): any; (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); @@ -190,7 +190,7 @@ var a2: { } var a3: { ->a3 : { (x: 'a'): any; (x: T): any; (x: string): any; foo(x: string): any; foo(x: 'a'): any; foo(x: T): any; } +>a3 : { (x: "a"): any; (x: T): any; (x: string): any; foo(x: string): any; foo(x: "a"): any; foo(x: T): any; } (x: 'a'); >x : "a" @@ -206,7 +206,7 @@ var a3: { >x : string foo(x: 'a'); ->foo : { (x: string): any; (x: 'a'): any; (x: T): any; } +>foo : { (x: string): any; (x: "a"): any; (x: T): any; } >x : "a" foo(x: T); diff --git a/tests/baselines/reference/spellingSuggestionJSXAttribute.types b/tests/baselines/reference/spellingSuggestionJSXAttribute.types index 619ceb73e3..2c0ab28e2c 100644 --- a/tests/baselines/reference/spellingSuggestionJSXAttribute.types +++ b/tests/baselines/reference/spellingSuggestionJSXAttribute.types @@ -4,7 +4,7 @@ import * as React from "react"; >React : typeof React function MyComp2(props: { className?: string, htmlFor?: string }) { ->MyComp2 : (props: { className?: string; htmlFor?: string;}) => any +>MyComp2 : (props: { className?: string; htmlFor?: string; }) => any >props : { className?: string; htmlFor?: string; } >className : string >htmlFor : string diff --git a/tests/baselines/reference/spreadDuplicate.types b/tests/baselines/reference/spreadDuplicate.types index c9fd44e7bf..537501ffc9 100644 --- a/tests/baselines/reference/spreadDuplicate.types +++ b/tests/baselines/reference/spreadDuplicate.types @@ -6,7 +6,7 @@ declare let a: { a: string }; >a : string declare let b: { a?: string }; ->b : { a?: string | undefined; } +>b : { a?: string; } >a : string | undefined declare let c: { a: string | undefined }; diff --git a/tests/baselines/reference/spreadObjectOrFalsy.types b/tests/baselines/reference/spreadObjectOrFalsy.types index 71e0d59f24..8d7091a391 100644 --- a/tests/baselines/reference/spreadObjectOrFalsy.types +++ b/tests/baselines/reference/spreadObjectOrFalsy.types @@ -97,11 +97,11 @@ class Foo { this.data.toLocaleLowerCase(); >this.data.toLocaleLowerCase() : string ->this.data.toLocaleLowerCase : (locales?: string | string[] | undefined) => string +>this.data.toLocaleLowerCase : (locales?: string | string[]) => string >this.data : T | (undefined & T) >this : this & DatafulFoo >data : T | (undefined & T) ->toLocaleLowerCase : (locales?: string | string[] | undefined) => string +>toLocaleLowerCase : (locales?: string | string[]) => string } } hasData(): this is DatafulFoo { diff --git a/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types b/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types index de53ae0d03..18c3d0b0e7 100644 --- a/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types +++ b/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types @@ -14,6 +14,6 @@ declare function call any>( call(function* (a: 'a') { }); // error, 2nd argument required >call(function* (a: 'a') { }) : any >call : any>(fn: Fn, ...args: Parameters) => any ->function* (a: 'a') { } : (a: 'a') => {} +>function* (a: 'a') { } : (a: "a") => {} >a : "a" diff --git a/tests/baselines/reference/spreadOverwritesProperty.types b/tests/baselines/reference/spreadOverwritesProperty.types index 79d04e5feb..2f2e42acb6 100644 --- a/tests/baselines/reference/spreadOverwritesProperty.types +++ b/tests/baselines/reference/spreadOverwritesProperty.types @@ -31,7 +31,7 @@ var unused3 = { b: 1, ...abq } >abq : { a: number; b?: number; } function g(obj: { x: number | undefined }) { ->g : (obj: { x: number | undefined;}) => { x: number | undefined; } +>g : (obj: { x: number | undefined; }) => { x: number | undefined; } >obj : { x: number | undefined; } >x : number @@ -42,7 +42,7 @@ function g(obj: { x: number | undefined }) { >obj : { x: number; } } function h(obj: { x: number }) { ->h : (obj: { x: number;}) => { x: number; } +>h : (obj: { x: number; }) => { x: number; } >obj : { x: number; } >x : number diff --git a/tests/baselines/reference/spreadOverwritesPropertyStrict.types b/tests/baselines/reference/spreadOverwritesPropertyStrict.types index 62a109a410..24ef428116 100644 --- a/tests/baselines/reference/spreadOverwritesPropertyStrict.types +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.types @@ -5,7 +5,7 @@ declare var ab: { a: number, b: number }; >b : number declare var abq: { a: number, b?: number }; ->abq : { a: number; b?: number | undefined; } +>abq : { a: number; b?: number; } >a : number >b : number | undefined @@ -44,7 +44,7 @@ var unused5 = { ...abq, b: 1 } // ok >1 : 1 function g(obj: { x: number | undefined }) { ->g : (obj: { x: number | undefined;}) => { x: number | undefined; } +>g : (obj: { x: number | undefined; }) => { x: number | undefined; } >obj : { x: number | undefined; } >x : number | undefined @@ -55,7 +55,7 @@ function g(obj: { x: number | undefined }) { >obj : { x: number | undefined; } } function f(obj: { x: number } | undefined) { ->f : (obj: { x: number;} | undefined) => { x: number; } +>f : (obj: { x: number; } | undefined) => { x: number; } >obj : { x: number; } | undefined >x : number @@ -66,7 +66,7 @@ function f(obj: { x: number } | undefined) { >obj : { x: number; } | undefined } function h(obj: { x: number } | { x: string }) { ->h : (obj: { x: number;} | { x: string;}) => { x: number; } | { x: string; } +>h : (obj: { x: number; } | { x: string; }) => { x: number; } | { x: string; } >obj : { x: number; } | { x: string; } >x : number >x : string @@ -78,7 +78,7 @@ function h(obj: { x: number } | { x: string }) { >obj : { x: number; } | { x: string; } } function i(b: boolean, t: { command: string, ok: string }) { ->i : (b: boolean, t: { command: string; ok: string;}) => { command: string; ok?: string | undefined; } +>i : (b: boolean, t: { command: string; ok: string; }) => { command: string; ok?: string | undefined; } >b : boolean >t : { command: string; ok: string; } >command : string @@ -107,7 +107,7 @@ function j() { >"bye" : "bye" } function k(t: { command: string, ok: string }) { ->k : (t: { command: string; ok: string;}) => { command: string; ok: string; spoiler2: boolean; spoiler: boolean; } +>k : (t: { command: string; ok: string; }) => { command: string; ok: string; spoiler2: boolean; spoiler: boolean; } >t : { command: string; ok: string; } >command : string >ok : string @@ -125,7 +125,7 @@ function k(t: { command: string, ok: string }) { } function l(anyrequired: { a: any }) { ->l : (anyrequired: { a: any;}) => { a: any; } +>l : (anyrequired: { a: any; }) => { a: any; } >anyrequired : { a: any; } >a : any @@ -136,7 +136,7 @@ function l(anyrequired: { a: any }) { >anyrequired : { a: any; } } function m(anyoptional: { a?: any }) { ->m : (anyoptional: { a?: any;}) => { a: any; } +>m : (anyoptional: { a?: any; }) => { a: any; } >anyoptional : { a?: any; } >a : any diff --git a/tests/baselines/reference/spreadUnion3.types b/tests/baselines/reference/spreadUnion3.types index 8c4b955ff1..724f1fe231 100644 --- a/tests/baselines/reference/spreadUnion3.types +++ b/tests/baselines/reference/spreadUnion3.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/spread/spreadUnion3.ts === function f(x: { y: string } | undefined): { y: string } { ->f : (x: { y: string;} | undefined) => { y: string;} +>f : (x: { y: string; } | undefined) => { y: string; } >x : { y: string; } | undefined >y : string >y : string @@ -18,7 +18,7 @@ f(undefined) function g(t?: { a: number } | null): void { ->g : (t?: { a: number;} | null) => void +>g : (t?: { a: number; } | null) => void >t : { a: number; } | null | undefined >a : number >null : null @@ -36,16 +36,16 @@ function g(t?: { a: number } | null): void { } g() >g() : void ->g : (t?: { a: number; } | null | undefined) => void +>g : (t?: { a: number; } | null) => void g(undefined) >g(undefined) : void ->g : (t?: { a: number; } | null | undefined) => void +>g : (t?: { a: number; } | null) => void >undefined : undefined g(null) >g(null) : void ->g : (t?: { a: number; } | null | undefined) => void +>g : (t?: { a: number; } | null) => void >null : null // spreading nothing but null and undefined is not allowed diff --git a/tests/baselines/reference/spyComparisonChecking.types b/tests/baselines/reference/spyComparisonChecking.types index c085d2d6ce..80c25794fa 100644 --- a/tests/baselines/reference/spyComparisonChecking.types +++ b/tests/baselines/reference/spyComparisonChecking.types @@ -38,7 +38,7 @@ function mock(spyName: string, methodNames: Array): SpyObj { const spyObj = createSpyObj(spyName, methodNames); >spyObj : SpyObj >createSpyObj(spyName, methodNames) : SpyObj ->createSpyObj : (name: string, names: (keyof T)[]) => SpyObj +>createSpyObj : (name: string, names: Array) => SpyObj >spyName : string >methodNames : (keyof T)[] diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index cd907c26ec..ae1c832859 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -594,9 +594,9 @@ class ListWrapper { >ListWrapper : typeof ListWrapper >l : T[] >JSON.stringify(l) : string ->JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >JSON : JSON ->stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (string | number)[], space?: string | number): string; } +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } >l : T[] static maximum(dit: typeof ListWrapper, list: T[], predicate: (t: T) => number): T { diff --git a/tests/baselines/reference/staticInheritance.types b/tests/baselines/reference/staticInheritance.types index 55b65f9386..04c64281ba 100644 --- a/tests/baselines/reference/staticInheritance.types +++ b/tests/baselines/reference/staticInheritance.types @@ -1,6 +1,6 @@ === tests/cases/compiler/staticInheritance.ts === function doThing(x: { n: string }) { } ->doThing : (x: { n: string;}) => void +>doThing : (x: { n: string; }) => void >x : { n: string; } >n : string diff --git a/tests/baselines/reference/strictFunctionTypes1.types b/tests/baselines/reference/strictFunctionTypes1.types index ac5deab52f..a2eabe5840 100644 --- a/tests/baselines/reference/strictFunctionTypes1.types +++ b/tests/baselines/reference/strictFunctionTypes1.types @@ -103,7 +103,7 @@ declare function foo(a: ReadonlyArray): T; let x = foo([]); // never >x : never >foo([]) : never ->foo : (a: readonly T[]) => T +>foo : (a: ReadonlyArray) => T >[] : never[] // Modified repros from #26127 @@ -139,7 +139,7 @@ const t1: A = coAndContra(a, acceptUnion); >coAndContra(a, acceptUnion) : A >coAndContra : (value: T, func: (t: T) => void) => T >a : A ->acceptUnion : (x: number | A) => void +>acceptUnion : (x: A | number) => void const t2: B = coAndContra(b, acceptA); >t2 : B @@ -167,7 +167,7 @@ const t4: A[] = coAndContraArray([a], acceptUnion); >coAndContraArray : (value: T[], func: (t: T) => void) => T[] >[a] : A[] >a : A ->acceptUnion : (x: number | A) => void +>acceptUnion : (x: A | number) => void const t5: B[] = coAndContraArray([b], acceptA); >t5 : B[] diff --git a/tests/baselines/reference/strictNullLogicalAndOr.types b/tests/baselines/reference/strictNullLogicalAndOr.types index 6c6cba3356..211c52da80 100644 --- a/tests/baselines/reference/strictNullLogicalAndOr.types +++ b/tests/baselines/reference/strictNullLogicalAndOr.types @@ -51,6 +51,6 @@ function sq(n?: number): number { sq(3); >sq(3) : number ->sq : (n?: number | undefined) => number +>sq : (n?: number) => number >3 : 3 diff --git a/tests/baselines/reference/strictOptionalProperties1.types b/tests/baselines/reference/strictOptionalProperties1.types index ae5ccf531c..dc63c7023b 100644 --- a/tests/baselines/reference/strictOptionalProperties1.types +++ b/tests/baselines/reference/strictOptionalProperties1.types @@ -47,7 +47,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { } function f2(obj: { a?: string, b?: string | undefined }) { ->f2 : (obj: { a?: string; b?: string | undefined;}) => void +>f2 : (obj: { a?: string; b?: string | undefined; }) => void >obj : { a?: string; b?: string | undefined; } >a : string | undefined >b : string | undefined @@ -541,7 +541,7 @@ declare let tx4: [(string | undefined)?]; >tx4 : [(string | undefined)?] declare function f11(x: { p?: T }): T; ->f11 : (x: { p?: T;}) => T +>f11 : (x: { p?: T; }) => T >x : { p?: T; } >p : T | undefined diff --git a/tests/baselines/reference/strictTypeofUnionNarrowing.types b/tests/baselines/reference/strictTypeofUnionNarrowing.types index 72cca62d05..ae116b627c 100644 --- a/tests/baselines/reference/strictTypeofUnionNarrowing.types +++ b/tests/baselines/reference/strictTypeofUnionNarrowing.types @@ -1,6 +1,6 @@ === tests/cases/compiler/strictTypeofUnionNarrowing.ts === function stringify1(anything: { toString(): string } | undefined): string { ->stringify1 : (anything: { toString(): string;} | undefined) => string +>stringify1 : (anything: { toString(): string; } | undefined) => string >anything : { toString(): string; } | undefined >toString : () => string @@ -52,7 +52,7 @@ function stringify3(anything: unknown | undefined): string { // should simplify } function stringify4(anything: { toString?(): string } | undefined): string { ->stringify4 : (anything: { toString?(): string;} | undefined) => string +>stringify4 : (anything: { toString?(): string; } | undefined) => string >anything : { toString?(): string; } | undefined >toString : (() => string) | undefined diff --git a/tests/baselines/reference/stringLiteralType.types b/tests/baselines/reference/stringLiteralType.types index 6a47e0ee79..affa995c2f 100644 --- a/tests/baselines/reference/stringLiteralType.types +++ b/tests/baselines/reference/stringLiteralType.types @@ -3,7 +3,7 @@ var x: 'hi'; >x : "hi" function f(x: 'hi'); ->f : { (x: 'hi'): any; (x: string): any; } +>f : { (x: "hi"): any; (x: string): any; } >x : "hi" function f(x: string); diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types index 13d3407875..eff06b9ecc 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types @@ -3,7 +3,7 @@ // ok function f1(x: 'a'); ->f1 : { (x: 'a'): any; (x: string): any; } +>f1 : { (x: "a"): any; (x: string): any; } >x : "a" function f1(x: string); @@ -16,7 +16,7 @@ function f1(x: string) { } // ok function f2(x: 'a'); ->f2 : { (x: 'a'): any; (x: any): any; } +>f2 : { (x: "a"): any; (x: any): any; } >x : "a" function f2(x: any); @@ -29,7 +29,7 @@ function f2(x: any) { } // errors function f3(x: 'a'); ->f3 : { (x: 'a'): any; (x: Object): any; } +>f3 : { (x: "a"): any; (x: Object): any; } >x : "a" function f3(x: Object); @@ -41,7 +41,7 @@ function f3(x: any) { } >x : any function f4(x: 'a'); ->f4 : { (x: 'a'): any; (x: {}): any; } +>f4 : { (x: "a"): any; (x: {}): any; } >x : "a" function f4(x: {}); @@ -53,7 +53,7 @@ function f4(x: any) { } >x : any function f5(x: 'a'); ->f5 : { (x: 'a'): any; (x: number): any; } +>f5 : { (x: "a"): any; (x: number): any; } >x : "a" function f5(x: number); @@ -65,7 +65,7 @@ function f5(x: any) { } >x : any function f6(x: 'a'); ->f6 : { (x: 'a'): any; (x: boolean): any; } +>f6 : { (x: "a"): any; (x: boolean): any; } >x : "a" function f6(x: boolean); @@ -77,7 +77,7 @@ function f6(x: any) { } >x : any function f7(x: 'a'); ->f7 : { (x: 'a'): any; (x: Date): any; } +>f7 : { (x: "a"): any; (x: Date): any; } >x : "a" function f7(x: Date); @@ -89,7 +89,7 @@ function f7(x: any) { } >x : any function f8(x: 'a'); ->f8 : { (x: 'a'): any; (x: RegExp): any; } +>f8 : { (x: "a"): any; (x: RegExp): any; } >x : "a" function f8(x: RegExp); @@ -101,7 +101,7 @@ function f8(x: any) { } >x : any function f9(x: 'a'); ->f9 : { (x: 'a'): any; (x: () => {}): any; } +>f9 : { (x: "a"): any; (x: () => {}): any; } >x : "a" function f9(x: () => {}); @@ -224,7 +224,7 @@ class C implements String { // BUG 831846 function f10(x: 'a'); ->f10 : { (x: 'a'): any; (x: C): any; } +>f10 : { (x: "a"): any; (x: C): any; } >x : "a" function f10(x: C); @@ -242,7 +242,7 @@ interface I extends String { // BUG 831846 function f11(x: 'a'); ->f11 : { (x: 'a'): any; (x: I): any; } +>f11 : { (x: "a"): any; (x: I): any; } >x : "a" function f11(x: I); @@ -254,7 +254,7 @@ function f11(x: any) { } >x : any function f12(x: 'a'); ->f12 : { (x: 'a'): any; (x: T): any; } +>f12 : { (x: "a"): any; (x: T): any; } >x : "a" function f12(x: T); @@ -266,7 +266,7 @@ function f12(x: any) { } >x : any function f13(x: 'a'); ->f13 : { (x: 'a'): any; (x: T): any; } +>f13 : { (x: "a"): any; (x: T): any; } >x : "a" function f13(x: T); @@ -282,7 +282,7 @@ enum E { A } >A : E.A function f14(x: 'a'); ->f14 : { (x: 'a'): any; (x: E): any; } +>f14 : { (x: "a"): any; (x: E): any; } >x : "a" function f14(x: E); @@ -294,7 +294,7 @@ function f14(x: any) { } >x : any function f15(x: 'a'); ->f15 : { (x: 'a'): any; (x: U): any; } +>f15 : { (x: "a"): any; (x: U): any; } >x : "a" function f15(x: U); @@ -306,7 +306,7 @@ function f15(x: any) { } >x : any function f16(x: 'a'); ->f16 : { (x: 'a'): any; (x: U): any; } +>f16 : { (x: "a"): any; (x: U): any; } >x : "a" function f16(x: U); diff --git a/tests/baselines/reference/stringLiteralTypesAsTags03.types b/tests/baselines/reference/stringLiteralTypesAsTags03.types index f5583ebdca..99031b7a09 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags03.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags03.types @@ -28,17 +28,17 @@ interface B extends Entity { // That way, we can avoid the need to look for a compatible overload // signature and simply check compatibility with the implementation. function hasKind(entity: Entity, kind: "A" | "A"): entity is A; ->hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } +>hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } >entity : Entity >kind : "A" function hasKind(entity: Entity, kind: "B" | "B"): entity is B; ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } +>hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } >entity : Entity >kind : "B" function hasKind(entity: Entity, kind: Kind): entity is Entity { ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } +>hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } >entity : Entity >kind : Kind @@ -65,7 +65,7 @@ let x: A = { if (hasKind(x, "A")) { >hasKind(x, "A") : boolean ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } +>hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } >x : A >"A" : "A" @@ -82,7 +82,7 @@ else { if (!hasKind(x, "B")) { >!hasKind(x, "B") : boolean >hasKind(x, "B") : boolean ->hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } +>hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } >x : A >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.types b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.types index da85531850..31ef3ce3f6 100644 --- a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.types +++ b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.types @@ -2,18 +2,18 @@ // String literal types are only valid in overload signatures function foo(x: 'hi') { } ->foo : (x: 'hi') => void +>foo : (x: "hi") => void >x : "hi" var f = function foo(x: 'hi') { } ->f : (x: 'hi') => void ->function foo(x: 'hi') { } : (x: 'hi') => void ->foo : (x: 'hi') => void +>f : (x: "hi") => void +>function foo(x: 'hi') { } : (x: "hi") => void +>foo : (x: "hi") => void >x : "hi" var f2 = (x: 'hi', y: 'hi') => { } ->f2 : (x: 'hi', y: 'hi') => void ->(x: 'hi', y: 'hi') => { } : (x: 'hi', y: 'hi') => void +>f2 : (x: "hi", y: "hi") => void +>(x: 'hi', y: 'hi') => { } : (x: "hi", y: "hi") => void >x : "hi" >y : "hi" @@ -21,7 +21,7 @@ class C { >C : C foo(x: 'hi') { } ->foo : (x: 'hi') => void +>foo : (x: "hi") => void >x : "hi" } @@ -30,40 +30,40 @@ interface I { >x : "hi" foo(x: 'hi', y: 'hi'); ->foo : (x: 'hi', y: 'hi') => any +>foo : (x: "hi", y: "hi") => any >x : "hi" >y : "hi" } var a: { ->a : { (x: 'hi'): any; foo(x: 'hi'): any; } +>a : { (x: "hi"): any; foo(x: "hi"): any; } (x: 'hi'); >x : "hi" foo(x: 'hi'); ->foo : (x: 'hi') => any +>foo : (x: "hi") => any >x : "hi" } var b = { ->b : { foo(x: 'hi'): void; a: (x: 'hi', y: 'hi') => void; b: (x: 'hi') => void; } ->{ foo(x: 'hi') { }, a: function foo(x: 'hi', y: 'hi') { }, b: (x: 'hi') => { }} : { foo(x: 'hi'): void; a: (x: 'hi', y: 'hi') => void; b: (x: 'hi') => void; } +>b : { foo(x: "hi"): void; a: (x: "hi", y: "hi") => void; b: (x: "hi") => void; } +>{ foo(x: 'hi') { }, a: function foo(x: 'hi', y: 'hi') { }, b: (x: 'hi') => { }} : { foo(x: "hi"): void; a: (x: "hi", y: "hi") => void; b: (x: "hi") => void; } foo(x: 'hi') { }, ->foo : (x: 'hi') => void +>foo : (x: "hi") => void >x : "hi" a: function foo(x: 'hi', y: 'hi') { }, ->a : (x: 'hi', y: 'hi') => void ->function foo(x: 'hi', y: 'hi') { } : (x: 'hi', y: 'hi') => void ->foo : (x: 'hi', y: 'hi') => void +>a : (x: "hi", y: "hi") => void +>function foo(x: 'hi', y: 'hi') { } : (x: "hi", y: "hi") => void +>foo : (x: "hi", y: "hi") => void >x : "hi" >y : "hi" b: (x: 'hi') => { } ->b : (x: 'hi') => void ->(x: 'hi') => { } : (x: 'hi') => void +>b : (x: "hi") => void +>(x: 'hi') => { } : (x: "hi") => void >x : "hi" } diff --git a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.types b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.types index 14afe3d290..ed461631d0 100644 --- a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.types +++ b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.types @@ -29,18 +29,18 @@ interface I { >x : "hi" foo(x: 'a', y: 'a'); ->foo : { (x: 'a', y: 'a'): any; (x: "hi", y: "hi"): any; } +>foo : { (x: "a", y: "a"): any; (x: "hi", y: "hi"): any; } >x : "a" >y : "a" foo(x: 'hi', y: 'hi'); ->foo : { (x: "a", y: "a"): any; (x: 'hi', y: 'hi'): any; } +>foo : { (x: "a", y: "a"): any; (x: "hi", y: "hi"): any; } >x : "hi" >y : "hi" } var a: { ->a : { (x: 'hi'): any; (x: 'a'): any; foo(x: 'hi'): any; foo(x: 'a'): any; } +>a : { (x: "hi"): any; (x: "a"): any; foo(x: "hi"): any; foo(x: "a"): any; } (x: 'hi'); >x : "hi" @@ -49,24 +49,24 @@ var a: { >x : "a" foo(x: 'hi'); ->foo : { (x: 'hi'): any; (x: "a"): any; } +>foo : { (x: "hi"): any; (x: "a"): any; } >x : "hi" foo(x: 'a'); ->foo : { (x: "hi"): any; (x: 'a'): any; } +>foo : { (x: "hi"): any; (x: "a"): any; } >x : "a" } var b = { ->b : { foo(x: 'hi'): void; foo(x: 'a'): void; } ->{ foo(x: 'hi') { }, foo(x: 'a') { },} : { foo(x: 'hi'): void; foo(x: 'a'): void; } +>b : { foo(x: "hi"): void; foo(x: "a"): void; } +>{ foo(x: 'hi') { }, foo(x: 'a') { },} : { foo(x: "hi"): void; foo(x: "a"): void; } foo(x: 'hi') { }, ->foo : { (x: 'hi'): void; (x: "a"): void; } +>foo : { (x: "hi"): void; (x: "a"): void; } >x : "hi" foo(x: 'a') { }, ->foo : { (x: "hi"): void; (x: 'a'): void; } +>foo : { (x: "hi"): void; (x: "a"): void; } >x : "a" } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.types b/tests/baselines/reference/stringLiteralTypesOverloads01.types index c8ba27fb68..8c40c5c199 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.types @@ -3,35 +3,35 @@ type PrimitiveName = 'string' | 'number' | 'boolean'; >PrimitiveName : "string" | "number" | "boolean" function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "string" function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "number" function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "boolean" function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "string" | "boolean" function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "number" | "boolean" function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "number" | "string"): number | string; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "string" | "number" function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } >x : "string" | "number" | "boolean" function getFalsyPrimitive(x: PrimitiveName): number | string | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : PrimitiveName if (x === "string") { @@ -70,19 +70,19 @@ namespace Consts1 { const EMPTY_STRING = getFalsyPrimitive("string"); >EMPTY_STRING : string >getFalsyPrimitive("string") : string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >"string" : "string" const ZERO = getFalsyPrimitive('number'); >ZERO : number >getFalsyPrimitive('number') : number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >'number' : "number" const FALSE = getFalsyPrimitive("boolean"); >FALSE : boolean >getFalsyPrimitive("boolean") : boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >"boolean" : "boolean" } @@ -128,43 +128,43 @@ namespace Consts2 { const EMPTY_STRING = getFalsyPrimitive(string); >EMPTY_STRING : string >getFalsyPrimitive(string) : string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >string : "string" const ZERO = getFalsyPrimitive(number); >ZERO : number >getFalsyPrimitive(number) : number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >number : "number" const FALSE = getFalsyPrimitive(boolean); >FALSE : boolean >getFalsyPrimitive(boolean) : boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >boolean : "boolean" const a = getFalsyPrimitive(stringOrNumber); >a : string | number >getFalsyPrimitive(stringOrNumber) : string | number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >stringOrNumber : "string" | "number" const b = getFalsyPrimitive(stringOrBoolean); >b : string | boolean >getFalsyPrimitive(stringOrBoolean) : string | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >stringOrBoolean : "string" | "boolean" const c = getFalsyPrimitive(booleanOrNumber); >c : number | boolean >getFalsyPrimitive(booleanOrNumber) : number | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >booleanOrNumber : "number" | "boolean" const d = getFalsyPrimitive(stringOrBooleanOrNumber); >d : string | number | boolean >getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >stringOrBooleanOrNumber : "string" | "number" | "boolean" } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.types b/tests/baselines/reference/stringLiteralTypesOverloads02.types index 463b845ed2..8424201ac8 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads02.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.types @@ -1,34 +1,34 @@ === tests/cases/conformance/types/stringLiteral/stringLiteralTypesOverloads02.ts === function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "string" function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "number" function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "boolean" function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "string" | "boolean" function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "number" | "boolean" function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "number" | "string"): number | string; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : "string" | "number" function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } >x : "string" | "number" | "boolean" function getFalsyPrimitive(x: string): string | number | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >x : string if (x === "string") { @@ -67,19 +67,19 @@ namespace Consts1 { const EMPTY_STRING = getFalsyPrimitive("string"); >EMPTY_STRING : string >getFalsyPrimitive("string") : string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >"string" : "string" const ZERO = getFalsyPrimitive('number'); >ZERO : number >getFalsyPrimitive('number') : number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >'number' : "number" const FALSE = getFalsyPrimitive("boolean"); >FALSE : boolean >getFalsyPrimitive("boolean") : boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >"boolean" : "boolean" } @@ -125,43 +125,43 @@ namespace Consts2 { const EMPTY_STRING = getFalsyPrimitive(string); >EMPTY_STRING : string >getFalsyPrimitive(string) : string ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >string : "string" const ZERO = getFalsyPrimitive(number); >ZERO : number >getFalsyPrimitive(number) : number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >number : "number" const FALSE = getFalsyPrimitive(boolean); >FALSE : boolean >getFalsyPrimitive(boolean) : boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >boolean : "boolean" const a = getFalsyPrimitive(stringOrNumber); >a : string | number >getFalsyPrimitive(stringOrNumber) : string | number ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >stringOrNumber : "string" | "number" const b = getFalsyPrimitive(stringOrBoolean); >b : string | boolean >getFalsyPrimitive(stringOrBoolean) : string | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >stringOrBoolean : "string" | "boolean" const c = getFalsyPrimitive(booleanOrNumber); >c : number | boolean >getFalsyPrimitive(booleanOrNumber) : number | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >booleanOrNumber : "number" | "boolean" const d = getFalsyPrimitive(stringOrBooleanOrNumber); >d : string | number | boolean >getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "string" | "boolean"): string | boolean; (x: "number" | "boolean"): number | boolean; (x: "string" | "number"): string | number; (x: "string" | "number" | "boolean"): string | number | boolean; } +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } >stringOrBooleanOrNumber : "string" | "number" | "boolean" } diff --git a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types index 638d2de084..05a8b9764a 100644 --- a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types +++ b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types @@ -2,7 +2,7 @@ // Repro from #31086 type UserArgs = { ->UserArgs : { select?: boolean | undefined; } +>UserArgs : { select?: boolean; } select?: boolean >select : boolean | undefined @@ -23,7 +23,7 @@ declare function withoutBoundary(args?: T): T; const boundaryResult = withBoundary({ >boundaryResult : { select: true; } >withBoundary({ select: true,}) : { select: true; } ->withBoundary : (args?: Subset | undefined) => T +>withBoundary : (args?: Subset) => T >{ select: true,} : { select: true; } select: true, @@ -35,7 +35,7 @@ const boundaryResult = withBoundary({ const withoutBoundaryResult = withoutBoundary({ >withoutBoundaryResult : { select: true; } >withoutBoundary({ select: true,}) : { select: true; } ->withoutBoundary : (args?: T | undefined) => T +>withoutBoundary : (args?: T) => T >{ select: true,} : { select: true; } select: true, diff --git a/tests/baselines/reference/subtypingWithCallSignatures.types b/tests/baselines/reference/subtypingWithCallSignatures.types index c6fbb331be..4722a7b251 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures.types +++ b/tests/baselines/reference/subtypingWithCallSignatures.types @@ -3,7 +3,7 @@ module CallSignature { >CallSignature : typeof CallSignature declare function foo1(cb: (x: number) => void): typeof cb; ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } >cb : (x: number) => void >x : number >cb : (x: number) => void @@ -29,7 +29,7 @@ module CallSignature { >'' : "" declare function foo2(cb: (x: number, y: number) => void): typeof cb; ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } >cb : (x: number, y: number) => void >x : number >y : number diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.types b/tests/baselines/reference/subtypingWithCallSignatures2.types index 51bdbc5ed9..57dff46271 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.types +++ b/tests/baselines/reference/subtypingWithCallSignatures2.types @@ -134,8 +134,8 @@ declare function foo10(a: any): any; >a : any declare function foo11(a: (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a; ->foo11 : { (a: (x: { foo: string;}, y: { foo: string; bar: string;}) => Base): typeof a; (a: any): any; } ->a : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +>a : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -152,10 +152,10 @@ declare function foo12(a: (x: Array, y: Array) => Array >a : (x: Array, y: Array) => Array >x : Base[] >y : Derived2[] ->a : (x: Base[], y: Derived2[]) => Derived[] +>a : (x: Array, y: Array) => Derived[] declare function foo12(a: any): any; ->foo12 : { (a: (x: Base[], y: Derived2[]) => Derived[]): (x: Base[], y: Derived2[]) => Derived[]; (a: any): any; } +>foo12 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } >a : any declare function foo13(a: (x: Array, y: Array) => Array): typeof a; @@ -163,15 +163,15 @@ declare function foo13(a: (x: Array, y: Array) => Array) >a : (x: Array, y: Array) => Array >x : Base[] >y : Derived[] ->a : (x: Base[], y: Derived[]) => Derived[] +>a : (x: Array, y: Array) => Derived[] declare function foo13(a: any): any; ->foo13 : { (a: (x: Base[], y: Derived[]) => Derived[]): (x: Base[], y: Derived[]) => Derived[]; (a: any): any; } +>foo13 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } >a : any declare function foo14(a: (x: { a: string; b: number }) => Object): typeof a; ->foo14 : { (a: (x: { a: string; b: number;}) => Object): typeof a; (a: any): any; } ->a : (x: { a: string; b: number;}) => Object +>foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +>a : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -538,11 +538,11 @@ var r8b = [r8arg2, r8arg1]; >r8arg1 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U var r9arg1 = (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => null; ->r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U ->(x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U +>(x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number @@ -622,8 +622,8 @@ var r11arg1 = (x: T, y: T) => x; >x : T var r11arg2 = (x: { foo: string }, y: { foo: string; bar: string }) => null; ->r11arg2 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base ->(x: { foo: string }, y: { foo: string; bar: string }) => null : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>r11arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base +>(x: { foo: string }, y: { foo: string; bar: string }) => null : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -651,38 +651,38 @@ var r11b = [r11arg2, r11arg1]; >r11arg1 : (x: T, y: T) => T var r12arg1 = >(x: Array, y: T) => >null; ->r12arg1 : (x: Array, y: T) => Derived[] ->>(x: Array, y: T) => >null : (x: Array, y: T) => Derived[] +>r12arg1 : (x: Array, y: T) => Array +>>(x: Array, y: T) => >null : (x: Array, y: T) => Array >x : Base[] >y : T >>null : Derived[] >null : null var r12arg2 = (x: Array, y: Array) => >null; ->r12arg2 : (x: Array, y: Array) => Derived[] ->(x: Array, y: Array) => >null : (x: Array, y: Array) => Derived[] +>r12arg2 : (x: Array, y: Array) => Array +>(x: Array, y: Array) => >null : (x: Array, y: Array) => Array >x : Base[] >y : Derived2[] >>null : Derived[] >null : null var r12 = foo12(r12arg1); // any ->r12 : (x: Base[], y: Derived2[]) => Derived[] ->foo12(r12arg1) : (x: Base[], y: Derived2[]) => Derived[] ->foo12 : { (a: (x: Base[], y: Derived2[]) => Derived[]): (x: Base[], y: Derived2[]) => Derived[]; (a: any): any; } ->r12arg1 : (x: Base[], y: T) => Derived[] +>r12 : (x: Array, y: Array) => Derived[] +>foo12(r12arg1) : (x: Array, y: Array) => Derived[] +>foo12 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } +>r12arg1 : (x: Array, y: T) => Array var r12a = [r12arg1, r12arg2]; ->r12a : ((x: Base[], y: Derived2[]) => Derived[])[] ->[r12arg1, r12arg2] : ((x: Base[], y: Derived2[]) => Derived[])[] ->r12arg1 : (x: Base[], y: T) => Derived[] ->r12arg2 : (x: Base[], y: Derived2[]) => Derived[] +>r12a : ((x: Array, y: Array) => Array)[] +>[r12arg1, r12arg2] : ((x: Array, y: Array) => Array)[] +>r12arg1 : (x: Array, y: T) => Array +>r12arg2 : (x: Array, y: Array) => Array var r12b = [r12arg2, r12arg1]; ->r12b : ((x: Base[], y: Derived2[]) => Derived[])[] ->[r12arg2, r12arg1] : ((x: Base[], y: Derived2[]) => Derived[])[] ->r12arg2 : (x: Base[], y: Derived2[]) => Derived[] ->r12arg1 : (x: Base[], y: T) => Derived[] +>r12b : ((x: Array, y: Array) => Array)[] +>[r12arg2, r12arg1] : ((x: Array, y: Array) => Array)[] +>r12arg2 : (x: Array, y: Array) => Array +>r12arg1 : (x: Array, y: T) => Array var r13arg1 = >(x: Array, y: T) => y; >r13arg1 : (x: Array, y: T) => T @@ -692,30 +692,30 @@ var r13arg1 = >(x: Array, y: T) => y; >y : T var r13arg2 = (x: Array, y: Array) => >null; ->r13arg2 : (x: Array, y: Array) => Derived[] ->(x: Array, y: Array) => >null : (x: Array, y: Array) => Derived[] +>r13arg2 : (x: Array, y: Array) => Array +>(x: Array, y: Array) => >null : (x: Array, y: Array) => Array >x : Base[] >y : Derived[] >>null : Derived[] >null : null var r13 = foo13(r13arg1); // any ->r13 : (x: Base[], y: Derived[]) => Derived[] ->foo13(r13arg1) : (x: Base[], y: Derived[]) => Derived[] ->foo13 : { (a: (x: Base[], y: Derived[]) => Derived[]): (x: Base[], y: Derived[]) => Derived[]; (a: any): any; } ->r13arg1 : (x: Base[], y: T) => T +>r13 : (x: Array, y: Array) => Derived[] +>foo13(r13arg1) : (x: Array, y: Array) => Derived[] +>foo13 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } +>r13arg1 : (x: Array, y: T) => T var r13a = [r13arg1, r13arg2]; ->r13a : ((x: Base[], y: Derived[]) => Derived[])[] ->[r13arg1, r13arg2] : ((x: Base[], y: Derived[]) => Derived[])[] ->r13arg1 : (x: Base[], y: T) => T ->r13arg2 : (x: Base[], y: Derived[]) => Derived[] +>r13a : ((x: Array, y: Array) => Array)[] +>[r13arg1, r13arg2] : ((x: Array, y: Array) => Array)[] +>r13arg1 : (x: Array, y: T) => T +>r13arg2 : (x: Array, y: Array) => Array var r13b = [r13arg2, r13arg1]; ->r13b : ((x: Base[], y: Derived[]) => Derived[])[] ->[r13arg2, r13arg1] : ((x: Base[], y: Derived[]) => Derived[])[] ->r13arg2 : (x: Base[], y: Derived[]) => Derived[] ->r13arg1 : (x: Base[], y: T) => T +>r13b : ((x: Array, y: Array) => Array)[] +>[r13arg2, r13arg1] : ((x: Array, y: Array) => Array)[] +>r13arg2 : (x: Array, y: Array) => Array +>r13arg1 : (x: Array, y: T) => T var r14arg1 = (x: { a: T; b: T }) => x.a; >r14arg1 : (x: { a: T; b: T; }) => T @@ -728,8 +728,8 @@ var r14arg1 = (x: { a: T; b: T }) => x.a; >a : T var r14arg2 = (x: { a: string; b: number }) => null; ->r14arg2 : (x: { a: string; b: number;}) => Object ->(x: { a: string; b: number }) => null : (x: { a: string; b: number;}) => Object +>r14arg2 : (x: { a: string; b: number; }) => Object +>(x: { a: string; b: number }) => null : (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.types b/tests/baselines/reference/subtypingWithCallSignatures3.types index 7116d132b7..f9d0161152 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.types +++ b/tests/baselines/reference/subtypingWithCallSignatures3.types @@ -25,7 +25,7 @@ module Errors { >bing : string declare function foo2(a2: (x: number) => string[]): typeof a2; ->foo2 : { (a2: (x: number) => string[]): (x: number) => string[]; (a2: any): any; } +>foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } >a2 : (x: number) => string[] >x : number >a2 : (x: number) => string[] @@ -35,7 +35,7 @@ module Errors { >a2 : any declare function foo7(a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; ->foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): (x: (arg: Base) => Derived) => (r: Base) => Derived2; (a2: any): any; } +>foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } >a2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 >x : (arg: Base) => Derived >arg : Base @@ -47,7 +47,7 @@ module Errors { >a2 : any declare function foo8(a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; ->foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a2: any): any; } +>foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } >a2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived >x : (arg: Base) => Derived >arg : Base @@ -61,7 +61,7 @@ module Errors { >a2 : any declare function foo10(a2: (...x: Base[]) => Base): typeof a2; ->foo10 : { (a2: (...x: Base[]) => Base): (...x: Base[]) => Base; (a2: any): any; } +>foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } >a2 : (...x: Base[]) => Base >x : Base[] >a2 : (...x: Base[]) => Base @@ -71,8 +71,8 @@ module Errors { >a2 : any declare function foo11(a2: (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a2; ->foo11 : { (a2: (x: { foo: string;}, y: { foo: string; bar: string;}) => Base): (x: { foo: string;}, y: { foo: string; bar: string;}) => Base; (a2: any): any; } ->a2 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +>a2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -85,19 +85,19 @@ module Errors { >a2 : any declare function foo12(a2: (x: Array, y: Array) => Array): typeof a2; ->foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Array; (a2: any): any; } +>foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } >a2 : (x: Array, y: Array) => Array >x : Base[] >y : Derived2[] ->a2 : (x: Base[], y: Derived2[]) => Derived[] +>a2 : (x: Array, y: Array) => Derived[] declare function foo12(a2: any): any; ->foo12 : { (a2: (x: Base[], y: Derived2[]) => Derived[]): (x: Base[], y: Derived2[]) => Derived[]; (a2: any): any; } +>foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a2: any): any; } >a2 : any declare function foo15(a2: (x: { a: string; b: number }) => number): typeof a2; ->foo15 : { (a2: (x: { a: string; b: number;}) => number): (x: { a: string; b: number;}) => number; (a2: any): any; } ->a2 : (x: { a: string; b: number;}) => number +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +>a2 : (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -108,7 +108,7 @@ module Errors { >a2 : any declare function foo16(a2: { ->foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } +>foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } >a2 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } // type of parameter is overload set which means we can't do inference based on this type @@ -140,7 +140,7 @@ module Errors { >a2 : any declare function foo17(a2: { ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } +>foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } >a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } (x: { @@ -242,11 +242,11 @@ module Errors { >r2arg2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 var r3arg = (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => null; ->r3arg : (x: (arg: T) => U, y: (arg2: { foo: number;}) => U) => (r: T) => U ->(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: { foo: number;}) => U) => (r: T) => U +>r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U +>(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: number;}) => U +>y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number >(r: T) => null : (r: T) => U @@ -325,8 +325,8 @@ module Errors { >null : null var r5arg2 = (x: { foo: string }, y: { foo: string; bar: string }) => null; ->r5arg2 : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base ->(x: { foo: string }, y: { foo: string; bar: string }) => null : (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>r5arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base +>(x: { foo: string }, y: { foo: string; bar: string }) => null : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -354,8 +354,8 @@ module Errors { >r5arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base var r6arg = (x: Array, y: Array) => >null; ->r6arg : (x: Array, y: Array) => Derived[] ->(x: Array, y: Array) => >null : (x: Array, y: Array) => Derived[] +>r6arg : (x: Array, y: Array) => Array +>(x: Array, y: Array) => >null : (x: Array, y: Array) => Array >x : Base[] >y : Derived2[] >>null : Derived[] @@ -370,22 +370,22 @@ module Errors { >null : null var r6 = foo12(r6arg); // (x: Array, y: Array) => Array ->r6 : (x: Base[], y: Derived2[]) => Derived[] ->foo12(r6arg) : (x: Base[], y: Derived2[]) => Derived[] ->foo12 : { (a2: (x: Base[], y: Derived2[]) => Derived[]): (x: Base[], y: Derived2[]) => Derived[]; (a2: any): any; } ->r6arg : (x: Base[], y: Derived2[]) => Derived[] +>r6 : (x: Array, y: Array) => Derived[] +>foo12(r6arg) : (x: Array, y: Array) => Derived[] +>foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a2: any): any; } +>r6arg : (x: Array, y: Array) => Array var r6a = [r6arg2, r6arg]; ->r6a : ((x: Base[], y: Derived2[]) => Derived[])[] ->[r6arg2, r6arg] : ((x: Base[], y: Derived2[]) => Derived[])[] ->r6arg2 : (x: Base[], y: Base[]) => T ->r6arg : (x: Base[], y: Derived2[]) => Derived[] +>r6a : ((x: Array, y: Array) => Array)[] +>[r6arg2, r6arg] : ((x: Array, y: Array) => Array)[] +>r6arg2 : (x: Array, y: Array) => T +>r6arg : (x: Array, y: Array) => Array var r6b = [r6arg, r6arg2]; ->r6b : ((x: Base[], y: Derived2[]) => Derived[])[] ->[r6arg, r6arg2] : ((x: Base[], y: Derived2[]) => Derived[])[] ->r6arg : (x: Base[], y: Derived2[]) => Derived[] ->r6arg2 : (x: Base[], y: Base[]) => T +>r6b : ((x: Array, y: Array) => Array)[] +>[r6arg, r6arg2] : ((x: Array, y: Array) => Array)[] +>r6arg : (x: Array, y: Array) => Array +>r6arg2 : (x: Array, y: Array) => T var r7arg = (x: { a: T; b: T }) => null; >r7arg : (x: { a: T; b: T; }) => T @@ -397,8 +397,8 @@ module Errors { >null : null var r7arg2 = (x: { a: string; b: number }) => 1; ->r7arg2 : (x: { a: string; b: number;}) => number ->(x: { a: string; b: number }) => 1 : (x: { a: string; b: number;}) => number +>r7arg2 : (x: { a: string; b: number; }) => number +>(x: { a: string; b: number }) => 1 : (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -481,7 +481,7 @@ module WithGenericSignaturesInBaseType { >WithGenericSignaturesInBaseType : typeof WithGenericSignaturesInBaseType declare function foo2(a2: (x: T) => T[]): typeof a2; ->foo2 : { (a2: (x: T) => T[]): (x: T) => T[]; (a2: any): any; } +>foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } >a2 : (x: T) => T[] >x : T >a2 : (x: T) => T[] @@ -504,7 +504,7 @@ module WithGenericSignaturesInBaseType { >r2arg2 : (x: T) => string[] declare function foo3(a2: (x: T) => string[]): typeof a2; ->foo3 : { (a2: (x: T) => string[]): (x: T) => string[]; (a2: any): any; } +>foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } >a2 : (x: T) => string[] >x : T >a2 : (x: T) => string[] diff --git a/tests/baselines/reference/subtypingWithCallSignaturesWithSpecializedSignatures.types b/tests/baselines/reference/subtypingWithCallSignaturesWithSpecializedSignatures.types index ef8ad6a38b..984af284b9 100644 --- a/tests/baselines/reference/subtypingWithCallSignaturesWithSpecializedSignatures.types +++ b/tests/baselines/reference/subtypingWithCallSignaturesWithSpecializedSignatures.types @@ -57,7 +57,7 @@ module MemberWithCallSignature { interface Base { // T // M's a: { ->a : { (x: 'a'): void; (x: string): void; } +>a : { (x: "a"): void; (x: string): void; } (x: 'a'): void; >x : "a" @@ -66,7 +66,7 @@ module MemberWithCallSignature { >x : string } a2: { ->a2 : { (x: 'a', y: number): void; (x: string, y: number): void; } +>a2 : { (x: "a", y: number): void; (x: string, y: number): void; } (x: 'a', y: number): void; >x : "a" @@ -101,7 +101,7 @@ module MemberWithCallSignature { interface Base2 { // T // M's a: { ->a : { (x: 'a'): number; (x: string): number; } +>a : { (x: "a"): number; (x: string): number; } (x: 'a'): number; >x : "a" diff --git a/tests/baselines/reference/subtypingWithConstructSignatures.types b/tests/baselines/reference/subtypingWithConstructSignatures.types index c2f38fb484..37a0b6481c 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures.types @@ -3,7 +3,7 @@ module ConstructSignature { >ConstructSignature : typeof ConstructSignature declare function foo1(cb: new (x: number) => void): typeof cb; ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } >cb : new (x: number) => void >x : number >cb : new (x: number) => void @@ -33,7 +33,7 @@ module ConstructSignature { >rarg2 : new (x: T) => string declare function foo2(cb: new (x: number, y: number) => void): typeof cb; ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } >cb : new (x: number, y: number) => void >x : number >y : number diff --git a/tests/baselines/reference/subtypingWithConstructSignatures2.types b/tests/baselines/reference/subtypingWithConstructSignatures2.types index ef65ae549c..9d47f64135 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures2.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures2.types @@ -134,8 +134,8 @@ declare function foo10(a: any): any; >a : any declare function foo11(a: new (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a; ->foo11 : { (a: new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base): typeof a; (a: any): any; } ->a : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +>a : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -152,10 +152,10 @@ declare function foo12(a: new (x: Array, y: Array) => Arraya : new (x: Array, y: Array) => Array >x : Base[] >y : Derived2[] ->a : new (x: Base[], y: Derived2[]) => Derived[] +>a : new (x: Array, y: Array) => Derived[] declare function foo12(a: any): any; ->foo12 : { (a: new (x: Base[], y: Derived2[]) => Derived[]): new (x: Base[], y: Derived2[]) => Derived[]; (a: any): any; } +>foo12 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } >a : any declare function foo13(a: new (x: Array, y: Array) => Array): typeof a; @@ -163,15 +163,15 @@ declare function foo13(a: new (x: Array, y: Array) => Arraya : new (x: Array, y: Array) => Array >x : Base[] >y : Derived[] ->a : new (x: Base[], y: Derived[]) => Derived[] +>a : new (x: Array, y: Array) => Derived[] declare function foo13(a: any): any; ->foo13 : { (a: new (x: Base[], y: Derived[]) => Derived[]): new (x: Base[], y: Derived[]) => Derived[]; (a: any): any; } +>foo13 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } >a : any declare function foo14(a: new (x: { a: string; b: number }) => Object): typeof a; ->foo14 : { (a: new (x: { a: string; b: number;}) => Object): typeof a; (a: any): any; } ->a : new (x: { a: string; b: number;}) => Object +>foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +>a : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -492,10 +492,10 @@ var r8b = [r8arg2, r8arg1]; >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U var r9arg1: new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => new (r: T) => U; ->r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => new (r: T) => U +>r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U >x : new (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number @@ -559,7 +559,7 @@ var r11arg1: new (x: T, y: T) => T; >y : T var r11arg2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->r11arg2 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>r11arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -595,22 +595,22 @@ var r12arg2: new (x: Array, y: Array) => Array; >y : Derived2[] var r12 = foo12(r12arg1); // any ->r12 : new (x: Base[], y: Derived2[]) => Derived[] ->foo12(r12arg1) : new (x: Base[], y: Derived2[]) => Derived[] ->foo12 : { (a: new (x: Base[], y: Derived2[]) => Derived[]): new (x: Base[], y: Derived2[]) => Derived[]; (a: any): any; } ->r12arg1 : new (x: Base[], y: T) => Derived[] +>r12 : new (x: Array, y: Array) => Derived[] +>foo12(r12arg1) : new (x: Array, y: Array) => Derived[] +>foo12 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } +>r12arg1 : new (x: Array, y: T) => Derived[] var r12a = [r12arg1, r12arg2]; ->r12a : (new (x: Base[], y: Derived2[]) => Derived[])[] ->[r12arg1, r12arg2] : (new (x: Base[], y: Derived2[]) => Derived[])[] ->r12arg1 : new (x: Base[], y: T) => Derived[] ->r12arg2 : new (x: Base[], y: Derived2[]) => Derived[] +>r12a : (new (x: Array, y: Array) => Derived[])[] +>[r12arg1, r12arg2] : (new (x: Array, y: Array) => Derived[])[] +>r12arg1 : new (x: Array, y: T) => Derived[] +>r12arg2 : new (x: Array, y: Array) => Derived[] var r12b = [r12arg2, r12arg1]; ->r12b : (new (x: Base[], y: Derived2[]) => Derived[])[] ->[r12arg2, r12arg1] : (new (x: Base[], y: Derived2[]) => Derived[])[] ->r12arg2 : new (x: Base[], y: Derived2[]) => Derived[] ->r12arg1 : new (x: Base[], y: T) => Derived[] +>r12b : (new (x: Array, y: Array) => Derived[])[] +>[r12arg2, r12arg1] : (new (x: Array, y: Array) => Derived[])[] +>r12arg2 : new (x: Array, y: Array) => Derived[] +>r12arg1 : new (x: Array, y: T) => Derived[] var r13arg1: new >(x: Array, y: T) => T; >r13arg1 : new (x: Array, y: T) => T @@ -623,22 +623,22 @@ var r13arg2: new (x: Array, y: Array) => Array; >y : Derived[] var r13 = foo13(r13arg1); // any ->r13 : new (x: Base[], y: Derived[]) => Derived[] ->foo13(r13arg1) : new (x: Base[], y: Derived[]) => Derived[] ->foo13 : { (a: new (x: Base[], y: Derived[]) => Derived[]): new (x: Base[], y: Derived[]) => Derived[]; (a: any): any; } ->r13arg1 : new (x: Base[], y: T) => T +>r13 : new (x: Array, y: Array) => Derived[] +>foo13(r13arg1) : new (x: Array, y: Array) => Derived[] +>foo13 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } +>r13arg1 : new (x: Array, y: T) => T var r13a = [r13arg1, r13arg2]; ->r13a : (new (x: Base[], y: Derived[]) => Derived[])[] ->[r13arg1, r13arg2] : (new (x: Base[], y: Derived[]) => Derived[])[] ->r13arg1 : new (x: Base[], y: T) => T ->r13arg2 : new (x: Base[], y: Derived[]) => Derived[] +>r13a : (new (x: Array, y: Array) => Derived[])[] +>[r13arg1, r13arg2] : (new (x: Array, y: Array) => Derived[])[] +>r13arg1 : new (x: Array, y: T) => T +>r13arg2 : new (x: Array, y: Array) => Derived[] var r13b = [r13arg2, r13arg1]; ->r13b : (new (x: Base[], y: Derived[]) => Derived[])[] ->[r13arg2, r13arg1] : (new (x: Base[], y: Derived[]) => Derived[])[] ->r13arg2 : new (x: Base[], y: Derived[]) => Derived[] ->r13arg1 : new (x: Base[], y: T) => T +>r13b : (new (x: Array, y: Array) => Derived[])[] +>[r13arg2, r13arg1] : (new (x: Array, y: Array) => Derived[])[] +>r13arg2 : new (x: Array, y: Array) => Derived[] +>r13arg1 : new (x: Array, y: T) => T var r14arg1: new (x: { a: T; b: T }) => T; >r14arg1 : new (x: { a: T; b: T; }) => T @@ -647,7 +647,7 @@ var r14arg1: new (x: { a: T; b: T }) => T; >b : T var r14arg2: new (x: { a: string; b: number }) => Object; ->r14arg2 : new (x: { a: string; b: number;}) => Object +>r14arg2 : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.types b/tests/baselines/reference/subtypingWithConstructSignatures3.types index 5cf176caa0..69e9f83b83 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.types @@ -25,7 +25,7 @@ module Errors { >bing : string declare function foo2(a2: new (x: number) => string[]): typeof a2; ->foo2 : { (a2: new (x: number) => string[]): new (x: number) => string[]; (a2: any): any; } +>foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } >a2 : new (x: number) => string[] >x : number >a2 : new (x: number) => string[] @@ -35,7 +35,7 @@ module Errors { >a2 : any declare function foo7(a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; ->foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2; (a2: any): any; } +>foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } >a2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 >x : new (arg: Base) => Derived >arg : Base @@ -47,7 +47,7 @@ module Errors { >a2 : any declare function foo8(a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; ->foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a2: any): any; } +>foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } >a2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived >x : new (arg: Base) => Derived >arg : Base @@ -61,7 +61,7 @@ module Errors { >a2 : any declare function foo10(a2: new (...x: Base[]) => Base): typeof a2; ->foo10 : { (a2: new (...x: Base[]) => Base): new (...x: Base[]) => Base; (a2: any): any; } +>foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } >a2 : new (...x: Base[]) => Base >x : Base[] >a2 : new (...x: Base[]) => Base @@ -71,8 +71,8 @@ module Errors { >a2 : any declare function foo11(a2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a2; ->foo11 : { (a2: new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base): new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base; (a2: any): any; } ->a2 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +>a2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -85,19 +85,19 @@ module Errors { >a2 : any declare function foo12(a2: new (x: Array, y: Array) => Array): typeof a2; ->foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Array; (a2: any): any; } +>foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } >a2 : new (x: Array, y: Array) => Array >x : Base[] >y : Derived2[] ->a2 : new (x: Base[], y: Derived2[]) => Derived[] +>a2 : new (x: Array, y: Array) => Derived[] declare function foo12(a2: any): any; ->foo12 : { (a2: new (x: Base[], y: Derived2[]) => Derived[]): new (x: Base[], y: Derived2[]) => Derived[]; (a2: any): any; } +>foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a2: any): any; } >a2 : any declare function foo15(a2: new (x: { a: string; b: number }) => number): typeof a2; ->foo15 : { (a2: new (x: { a: string; b: number;}) => number): new (x: { a: string; b: number;}) => number; (a2: any): any; } ->a2 : new (x: { a: string; b: number;}) => number +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +>a2 : new (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -108,7 +108,7 @@ module Errors { >a2 : any declare function foo16(a2: { ->foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } +>foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } >a2 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } // type of parameter is overload set which means we can't do inference based on this type @@ -140,7 +140,7 @@ module Errors { >a2 : any declare function foo17(a2: { ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } >a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } new (x: { @@ -227,10 +227,10 @@ module Errors { >r2arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 var r3arg1: new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U; ->r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number;}) => U) => new (r: T) => U +>r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U >x : new (arg: T) => U >arg : T ->y : (arg2: { foo: number;}) => U +>y : (arg2: { foo: number; }) => U >arg2 : { foo: number; } >foo : number >r : T @@ -293,7 +293,7 @@ module Errors { >y : T var r5arg2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->r5arg2 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>r5arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -329,22 +329,22 @@ module Errors { >y : Base[] var r6 = foo12(r6arg1); // new (x: Array, y: Array) => Array ->r6 : new (x: Base[], y: Derived2[]) => Derived[] ->foo12(r6arg1) : new (x: Base[], y: Derived2[]) => Derived[] ->foo12 : { (a2: new (x: Base[], y: Derived2[]) => Derived[]): new (x: Base[], y: Derived2[]) => Derived[]; (a2: any): any; } ->r6arg1 : new (x: Base[], y: Derived2[]) => Derived[] +>r6 : new (x: Array, y: Array) => Derived[] +>foo12(r6arg1) : new (x: Array, y: Array) => Derived[] +>foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a2: any): any; } +>r6arg1 : new (x: Array, y: Array) => Derived[] var r6a = [r6arg2, r6arg1]; ->r6a : (new (x: Base[], y: Derived2[]) => Derived[])[] ->[r6arg2, r6arg1] : (new (x: Base[], y: Derived2[]) => Derived[])[] ->r6arg2 : new (x: Base[], y: Base[]) => T ->r6arg1 : new (x: Base[], y: Derived2[]) => Derived[] +>r6a : (new (x: Array, y: Array) => Derived[])[] +>[r6arg2, r6arg1] : (new (x: Array, y: Array) => Derived[])[] +>r6arg2 : new (x: Array, y: Array) => T +>r6arg1 : new (x: Array, y: Array) => Derived[] var r6b = [r6arg1, r6arg2]; ->r6b : (new (x: Base[], y: Derived2[]) => Derived[])[] ->[r6arg1, r6arg2] : (new (x: Base[], y: Derived2[]) => Derived[])[] ->r6arg1 : new (x: Base[], y: Derived2[]) => Derived[] ->r6arg2 : new (x: Base[], y: Base[]) => T +>r6b : (new (x: Array, y: Array) => Derived[])[] +>[r6arg1, r6arg2] : (new (x: Array, y: Array) => Derived[])[] +>r6arg1 : new (x: Array, y: Array) => Derived[] +>r6arg2 : new (x: Array, y: Array) => T var r7arg1: new (x: { a: T; b: T }) => T; >r7arg1 : new (x: { a: T; b: T; }) => T @@ -353,7 +353,7 @@ module Errors { >b : T var r7arg2: new (x: { a: string; b: number }) => number; ->r7arg2 : new (x: { a: string; b: number;}) => number +>r7arg2 : new (x: { a: string; b: number; }) => number >x : { a: string; b: number; } >a : string >b : number @@ -427,7 +427,7 @@ module WithGenericSignaturesInBaseType { >WithGenericSignaturesInBaseType : typeof WithGenericSignaturesInBaseType declare function foo2(a2: new (x: T) => T[]): typeof a2; ->foo2 : { (a2: new (x: T) => T[]): new (x: T) => T[]; (a2: any): any; } +>foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } >a2 : new (x: T) => T[] >x : T >a2 : new (x: T) => T[] @@ -447,7 +447,7 @@ module WithGenericSignaturesInBaseType { >r2arg2 : new (x: T) => string[] declare function foo3(a2: new (x: T) => string[]): typeof a2; ->foo3 : { (a2: new (x: T) => string[]): new (x: T) => string[]; (a2: any): any; } +>foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } >a2 : new (x: T) => string[] >x : T >a2 : new (x: T) => string[] diff --git a/tests/baselines/reference/subtypingWithConstructSignatures5.types b/tests/baselines/reference/subtypingWithConstructSignatures5.types index 9b21db0ad2..2f752d290c 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures5.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures5.types @@ -77,7 +77,7 @@ interface A { // T >x : Derived[] a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; ->a11 : new (x: { foo: string;}, y: { foo: string; bar: string;}) => Base +>a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base >x : { foo: string; } >foo : string >y : { foo: string; bar: string; } @@ -95,7 +95,7 @@ interface A { // T >y : Derived[] a14: new (x: { a: string; b: number }) => Object; ->a14 : new (x: { a: string; b: number;}) => Object +>a14 : new (x: { a: string; b: number; }) => Object >x : { a: string; b: number; } >a : string >b : number @@ -152,10 +152,10 @@ interface I extends B { >r : T a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal ->a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number;}) => U) => (r: T) => U +>a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U >x : (arg: T) => U >arg : T ->y : (arg2: { foo: string; bing: number;}) => U +>y : (arg2: { foo: string; bing: number; }) => U >arg2 : { foo: string; bing: number; } >foo : string >bing : number diff --git a/tests/baselines/reference/subtypingWithConstructSignatures6.types b/tests/baselines/reference/subtypingWithConstructSignatures6.types index fca54933e1..c169ea1ae8 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures6.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures6.types @@ -107,7 +107,7 @@ interface I5 extends A { interface I7 extends A { a11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; ->a11 : new (x: { foo: T;}, y: { foo: U; bar: U; }) => Base +>a11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base >x : { foo: T; } >foo : T >y : { foo: U; bar: U; } @@ -117,7 +117,7 @@ interface I7 extends A { interface I9 extends A { a16: new (x: { a: T; b: T }) => T[]; ->a16 : new (x: { a: T; b: T;}) => T[] +>a16 : new (x: { a: T; b: T; }) => T[] >x : { a: T; b: T; } >a : T >b : T diff --git a/tests/baselines/reference/subtypingWithConstructSignaturesWithSpecializedSignatures.types b/tests/baselines/reference/subtypingWithConstructSignaturesWithSpecializedSignatures.types index 47a6c8e3f3..1691a02b9f 100644 --- a/tests/baselines/reference/subtypingWithConstructSignaturesWithSpecializedSignatures.types +++ b/tests/baselines/reference/subtypingWithConstructSignaturesWithSpecializedSignatures.types @@ -57,7 +57,7 @@ module MemberWithCallSignature { interface Base { // T // M's a: { ->a : { new (x: 'a'): void; new (x: string): void; } +>a : { new (x: "a"): void; new (x: string): void; } new (x: 'a'): void; >x : "a" @@ -66,7 +66,7 @@ module MemberWithCallSignature { >x : string } a2: { ->a2 : { new (x: 'a', y: number): void; new (x: string, y: number): void; } +>a2 : { new (x: "a", y: number): void; new (x: string, y: number): void; } new (x: 'a', y: number): void; >x : "a" @@ -101,7 +101,7 @@ module MemberWithCallSignature { interface Base2 { // T // M's a: { ->a : { new (x: 'a'): number; new (x: string): number; } +>a : { new (x: "a"): number; new (x: string): number; } new (x: 'a'): number; >x : "a" diff --git a/tests/baselines/reference/switchCaseCircularRefeference.types b/tests/baselines/reference/switchCaseCircularRefeference.types index 4927bbb298..84b52e068d 100644 --- a/tests/baselines/reference/switchCaseCircularRefeference.types +++ b/tests/baselines/reference/switchCaseCircularRefeference.types @@ -2,7 +2,7 @@ // Repro from #9507 function f(x: {a: "A", b} | {a: "C", e}) { ->f : (x: { a: "A"; b;} | { a: "C"; e;}) => void +>f : (x: { a: "A"; b: any; } | { a: "C"; e: any; }) => void >x : { a: "A"; b: any; } | { a: "C"; e: any; } >a : "A" >b : any diff --git a/tests/baselines/reference/symbolProperty21.types b/tests/baselines/reference/symbolProperty21.types index 60b2460c7c..32baed4b22 100644 --- a/tests/baselines/reference/symbolProperty21.types +++ b/tests/baselines/reference/symbolProperty21.types @@ -14,7 +14,7 @@ interface I { } declare function foo(p: I): { t: T; u: U }; ->foo : (p: I) => { t: T; u: U;} +>foo : (p: I) => { t: T; u: U; } >p : I >t : T >u : U diff --git a/tests/baselines/reference/symbolProperty35.types b/tests/baselines/reference/symbolProperty35.types index 08b9f2c747..62df3913e4 100644 --- a/tests/baselines/reference/symbolProperty35.types +++ b/tests/baselines/reference/symbolProperty35.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolProperty35.ts === interface I1 { [Symbol.toStringTag](): { x: string } ->[Symbol.toStringTag] : () => { x: string;} +>[Symbol.toStringTag] : () => { x: string; } >Symbol.toStringTag : unique symbol >Symbol : SymbolConstructor >toStringTag : unique symbol @@ -9,7 +9,7 @@ interface I1 { } interface I2 { [Symbol.toStringTag](): { x: number } ->[Symbol.toStringTag] : () => { x: number;} +>[Symbol.toStringTag] : () => { x: number; } >Symbol.toStringTag : unique symbol >Symbol : SymbolConstructor >toStringTag : unique symbol diff --git a/tests/baselines/reference/symbolProperty41.types b/tests/baselines/reference/symbolProperty41.types index 1c005b4328..3cd7790c77 100644 --- a/tests/baselines/reference/symbolProperty41.types +++ b/tests/baselines/reference/symbolProperty41.types @@ -3,7 +3,7 @@ class C { >C : C [Symbol.iterator](x: string): { x: string }; ->[Symbol.iterator] : { (x: string): { x: string;}; (x: "hello"): { x: string; hello: string; }; } +>[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } >Symbol.iterator : unique symbol >Symbol : SymbolConstructor >iterator : unique symbol @@ -11,7 +11,7 @@ class C { >x : string [Symbol.iterator](x: "hello"): { x: string; hello: string }; ->[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string;}; } +>[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } >Symbol.iterator : unique symbol >Symbol : SymbolConstructor >iterator : unique symbol diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types index 1d196fd515..29b4d1ce3c 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping1.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts === type FuncType = (x: (p: T) => T) => typeof x; ->FuncType : (x: (p: T) => T) => (p: T) => T +>FuncType : (x: (p: T) => T) => typeof x >x : (p: T) => T >p : T >x : (p: T) => T diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.types b/tests/baselines/reference/taggedTemplateContextualTyping2.types index 46e4332e20..42fedd5f95 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping2.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.types @@ -1,12 +1,12 @@ === tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts === type FuncType1 = (x: (p: T) => T) => typeof x; ->FuncType1 : (x: (p: T) => T) => (p: T) => T +>FuncType1 : (x: (p: T) => T) => typeof x >x : (p: T) => T >p : T >x : (p: T) => T type FuncType2 = (x: (p: T) => T) => typeof x; ->FuncType2 : (x: (p: T) => T) => (p: T) => T +>FuncType2 : (x: (p: T) => T) => typeof x >x : (p: T) => T >p : T >x : (p: T) => T diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types index 7049ed1cbb..c68c7cbd8a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types @@ -5,7 +5,7 @@ interface I { >subs : number[] member: { ->member : new (s: string) => new (n: number) => { new (): boolean;} +>member : new (s: string) => { new (n: number): { new (): boolean; }; } new (s: string): { >s : string diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types index 365e824c76..a46531d034 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types @@ -5,7 +5,7 @@ interface I { >subs : number[] member: { ->member : new (s: string) => new (n: number) => { new (): boolean;} +>member : new (s: string) => { new (n: number): { new (): boolean; }; } new (s: string): { >s : string diff --git a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types index c2719c2287..33a620a2b0 100644 --- a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types +++ b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments1.ts === declare function f(strs: TemplateStringsArray, ...callbacks: Array<(x: T) => any>): void; ->f : (strs: TemplateStringsArray, ...callbacks: ((x: T) => any)[]) => void +>f : (strs: TemplateStringsArray, ...callbacks: Array<(x: T) => any>) => void >strs : TemplateStringsArray >callbacks : ((x: T) => any)[] >x : T @@ -19,7 +19,7 @@ interface Stuff { export const a = f ` >a : void >f ` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : void ->f : (strs: TemplateStringsArray, ...callbacks: ((x: T) => any)[]) => void +>f : (strs: TemplateStringsArray, ...callbacks: Array<(x: T) => any>) => void >` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string hello diff --git a/tests/baselines/reference/targetTypeVoidFunc.types b/tests/baselines/reference/targetTypeVoidFunc.types index 66f1e38b24..1ed9e0c591 100644 --- a/tests/baselines/reference/targetTypeVoidFunc.types +++ b/tests/baselines/reference/targetTypeVoidFunc.types @@ -1,6 +1,6 @@ === tests/cases/compiler/targetTypeVoidFunc.ts === function f1(): { new (): number; } { ->f1 : () => { new (): number;} +>f1 : () => { new (): number; } return function () { return; } >function () { return; } : () => void diff --git a/tests/baselines/reference/templateLiteralTypes2.types b/tests/baselines/reference/templateLiteralTypes2.types index 129a525534..e4b832d212 100644 --- a/tests/baselines/reference/templateLiteralTypes2.types +++ b/tests/baselines/reference/templateLiteralTypes2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/literal/templateLiteralTypes2.ts === function ft1(s: string, n: number, u: 'foo' | 'bar' | 'baz', t: T) { ->ft1 : (s: string, n: number, u: 'foo' | 'bar' | 'baz', t: T) => void +>ft1 : (s: string, n: number, u: "foo" | "bar" | "baz", t: T) => void >s : string >n : number >u : "foo" | "bar" | "baz" @@ -407,7 +407,7 @@ function C2(transform: "-moz-initial" | (string & {})) { return 12; } C2(`rotate(${interpolatedStyle.rotate}dig)`); >C2(`rotate(${interpolatedStyle.rotate}dig)`) : number ->C2 : (transform: (string & {}) | "-moz-initial") => number +>C2 : (transform: "-moz-initial" | (string & {})) => number >`rotate(${interpolatedStyle.rotate}dig)` : `rotate(${number}dig)` >interpolatedStyle.rotate : number >interpolatedStyle : { rotate: number; } diff --git a/tests/baselines/reference/templateLiteralTypes3.types b/tests/baselines/reference/templateLiteralTypes3.types index 3fb7144050..b539f4c52a 100644 --- a/tests/baselines/reference/templateLiteralTypes3.types +++ b/tests/baselines/reference/templateLiteralTypes3.types @@ -382,8 +382,8 @@ interface ITest

> { // Repro from #45906 type Schema = { a: { b: { c: number } } }; ->Schema : { a: { b: { c: number; };}; } ->a : { b: { c: number;}; } +>Schema : { a: { b: { c: number; }; }; } +>a : { b: { c: number; }; } >b : { c: number; } >c : number @@ -441,7 +441,7 @@ function ff2(x: `foo-${T}`, y: `${T}-bar`, z: `baz-${T}`) { } function ff3(x: string, y: `foo-${string}` | 'bar') { ->ff3 : (x: string, y: `foo-${string}` | 'bar') => void +>ff3 : (x: string, y: `foo-${string}` | "bar") => void >x : string >y : "bar" | `foo-${string}` diff --git a/tests/baselines/reference/templateLiteralTypes4.types b/tests/baselines/reference/templateLiteralTypes4.types index d9a1064bec..587b4c4ed2 100644 --- a/tests/baselines/reference/templateLiteralTypes4.types +++ b/tests/baselines/reference/templateLiteralTypes4.types @@ -474,12 +474,12 @@ type TypedObjectOrdinalMembers = { interface TypedObjectMembers { // get/set a field by name get(key: K): FieldType["type"]>; ->get : (key: K) => FieldType["type"]> +>get : (key: K) => FieldType["type"]> >key : K >name : K set(key: K, value: FieldType["type"]>): void; ->set : (key: K, value: FieldType["type"]>) => void +>set : (key: K, value: FieldType["type"]>) => void >key : K >value : FieldType["type"]> >name : K diff --git a/tests/baselines/reference/templateLiteralTypesPatterns.types b/tests/baselines/reference/templateLiteralTypesPatterns.types index c8cb9320ac..26ba66fb3d 100644 --- a/tests/baselines/reference/templateLiteralTypesPatterns.types +++ b/tests/baselines/reference/templateLiteralTypesPatterns.types @@ -22,19 +22,19 @@ function download(hostSpec: Protocol<"http" | "https" | "ftp", string>) { } // ok, has protocol download("http://example.com/protocol"); >download("http://example.com/protocol") : void ->download : (hostSpec: `http://${string}` | `https://${string}` | `ftp://${string}`) => void +>download : (hostSpec: Protocol<"http" | "https" | "ftp", string>) => void >"http://example.com/protocol" : "http://example.com/protocol" // issues error - no protocol download("example.com/noprotocol"); >download("example.com/noprotocol") : void ->download : (hostSpec: `http://${string}` | `https://${string}` | `ftp://${string}`) => void +>download : (hostSpec: Protocol<"http" | "https" | "ftp", string>) => void >"example.com/noprotocol" : "example.com/noprotocol" // issues error, incorrect protocol download("gopher://example.com/protocol"); >download("gopher://example.com/protocol") : void ->download : (hostSpec: `http://${string}` | `https://${string}` | `ftp://${string}`) => void +>download : (hostSpec: Protocol<"http" | "https" | "ftp", string>) => void >"gopher://example.com/protocol" : "gopher://example.com/protocol" const q: RequiresLeadingSlash extends string ? true : false = true; @@ -50,18 +50,18 @@ declare function bools(x: `${boolean}`): void; // ok bools("true"); >bools("true") : void ->bools : (x: "false" | "true") => void +>bools : (x: `${boolean}`) => void >"true" : "true" bools("false"); >bools("false") : void ->bools : (x: "false" | "true") => void +>bools : (x: `${boolean}`) => void >"false" : "false" // not ok bools("other"); >bools("other") : void ->bools : (x: "false" | "true") => void +>bools : (x: `${boolean}`) => void >"other" : "other" type Pat = `${T}` @@ -76,38 +76,38 @@ declare function nullishes(x: Pat): void; // ok nullishes("null"); >nullishes("null") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"null" : "null" nullishes("undefined"); >nullishes("undefined") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"undefined" : "undefined" // not ok nullishes("0"); >nullishes("0") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"0" : "0" nullishes("false"); >nullishes("false") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"false" : "false" nullishes("NaN"); >nullishes("NaN") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"NaN" : "NaN" nullishes(""); >nullishes("") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"" : "" nullishes("other"); >nullishes("other") : void ->nullishes : (x: "undefined" | "null") => void +>nullishes : (x: Pat) => void >"other" : "other" declare function numbers(x: `${number}`): void; @@ -629,9 +629,9 @@ export abstract class BB { this.get(id!); >this.get(id!) : void ->this.get : (id: `${string}-${string}`) => void +>this.get : (id: Id) => void >this : this ->get : (id: `${string}-${string}`) => void +>get : (id: Id) => void >id! : `${string}-${string}` >id : `${string}-${string}` } diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index 84e4506cf2..7082cad394 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -37,7 +37,7 @@ class C { >m : number } explicitProperty(this: {n: number}, m: number): number { ->explicitProperty : (this: { n: number;}, m: number) => number +>explicitProperty : (this: { n: number; }, m: number) => number >this : { n: number; } >n : number >m : number @@ -77,7 +77,7 @@ interface I { >this : void explicitStructural(this: {a: number}): number; ->explicitStructural : (this: { a: number;}) => number +>explicitStructural : (this: { a: number; }) => number >this : { a: number; } >a : number @@ -90,7 +90,7 @@ interface I { >this : this } function explicitStructural(this: { y: number }, x: number): number { ->explicitStructural : (this: { y: number;}, x: number) => number +>explicitStructural : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -103,7 +103,7 @@ function explicitStructural(this: { y: number }, x: number): number { >y : number } function justThis(this: { y: number }): number { ->justThis : (this: { y: number;}) => number +>justThis : (this: { y: number; }) => number >this : { y: number; } >y : number @@ -236,9 +236,9 @@ impl.explicitThis = function () { return this.a; }; // parameter checking let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: explicitStructural }; ->ok : { y: number; f: (this: { y: number;}, x: number) => number; } +>ok : { y: number; f: (this: { y: number; }, x: number) => number; } >y : number ->f : (this: { y: number;}, x: number) => number +>f : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -337,7 +337,7 @@ d.explicitThis(12); >12 : 12 let reconstructed: { ->reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number;}, m: number) => number; explicitVoid(this: void, m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } n: number, >n : number @@ -353,7 +353,7 @@ let reconstructed: { >m : number explicitProperty: (this: {n : number}, m: number) => number, ->explicitProperty : (this: { n: number;}, m: number) => number +>explicitProperty : (this: { n: number; }, m: number) => number >this : { n: number; } >n : number >m : number @@ -422,11 +422,11 @@ explicitVoid(12); // assignment checking let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + this.y; // ok, this:any ->unboundToSpecified : (this: { y: number;}, x: number) => number +>unboundToSpecified : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number ->x => x + this.y : (this: { y: number;}, x: number) => any +>x => x + this.y : (this: { y: number; }, x: number) => any >x : number >x + this.y : any >x : number @@ -435,18 +435,18 @@ let unboundToSpecified: (this: { y: number }, x: number) => number = x => x + th >y : any let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStructural; ->specifiedToSpecified : (this: { y: number;}, x: number) => number +>specifiedToSpecified : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number >explicitStructural : (this: { y: number; }, x: number) => number let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; ->anyToSpecified : (this: { y: number;}, x: number) => number +>anyToSpecified : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number ->function(x: number): number { return x + 12; } : (this: { y: number;}, x: number) => number +>function(x: number): number { return x + 12; } : (this: { y: number; }, x: number) => number >x : number >x + 12 : number >x : number @@ -472,14 +472,14 @@ let specifiedLambda: (this: void, x: number) => number = x => x + 12; >12 : 12 let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = unspecifiedLambda; ->unspecifiedLambdaToSpecified : (this: { y: number;}, x: number) => number +>unspecifiedLambdaToSpecified : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number >unspecifiedLambda : (x: number) => number let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; ->specifiedLambdaToSpecified : (this: { y: number;}, x: number) => number +>specifiedLambdaToSpecified : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -492,7 +492,7 @@ let explicitCFunction: (this: C, m: number) => number; >m : number let explicitPropertyFunction: (this: {n: number}, m: number) => number; ->explicitPropertyFunction : (this: { n: number;}, m: number) => number +>explicitPropertyFunction : (this: { n: number; }, m: number) => number >this : { n: number; } >n : number >m : number @@ -526,11 +526,11 @@ c.explicitProperty = explicitPropertyFunction; >explicitPropertyFunction : (this: { n: number; }, m: number) => number c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; ->c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number;}, m: number) => number +>c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number >c.explicitProperty : (this: { n: number; }, m: number) => number >c : C >explicitProperty : (this: { n: number; }, m: number) => number ->function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number;}, m: number) => number +>function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number >this : { n: number; } >n : number >m : number @@ -874,7 +874,7 @@ function InterfaceThis(this: I) { >12 : 12 } function LiteralTypeThis(this: {x: string}) { ->LiteralTypeThis : (this: { x: string;}) => void +>LiteralTypeThis : (this: { x: string; }) => void >this : { x: string; } >x : string diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.types b/tests/baselines/reference/thisTypeInFunctionsNegative.types index 36837e3108..89f49344db 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.types +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.types @@ -41,7 +41,7 @@ class C { >m : number } explicitProperty(this: {n: number}, m: number): number { ->explicitProperty : (this: { n: number;}, m: number) => number +>explicitProperty : (this: { n: number; }, m: number) => number >this : { n: number; } >n : number >m : number @@ -110,7 +110,7 @@ interface I { >this : void explicitStructural(this: {a: number}): number; ->explicitStructural : (this: { a: number;}) => number +>explicitStructural : (this: { a: number; }) => number >this : { a: number; } >a : number @@ -187,7 +187,7 @@ implExplicitInterface(); // error, no 'a' in 'void' >implExplicitInterface : (this: I) => number function explicitStructural(this: { y: number }, x: number): number { ->explicitStructural : (this: { y: number;}, x: number) => number +>explicitStructural : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -200,7 +200,7 @@ function explicitStructural(this: { y: number }, x: number): number { >y : number } function propertyName(this: { y: number }, x: number): number { ->propertyName : (this: { y: number;}, x: number) => number +>propertyName : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -225,9 +225,9 @@ function voidThisSpecified(this: void, x: number): number { >notSpecified : any } let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, explicitStructural }; ->ok : { y: number; f: (this: { y: number;}, x: number) => number; } +>ok : { y: number; f: (this: { y: number; }, x: number) => number; } >y : number ->f : (this: { y: number;}, x: number) => number +>f : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -237,9 +237,9 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, ex >explicitStructural : (this: { y: number; }, x: number) => number let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number} = { y: 'foo', explicitStructural }; ->wrongPropertyType : { y: string; f: (this: { y: number;}, x: number) => number; } +>wrongPropertyType : { y: string; f: (this: { y: number; }, x: number) => number; } >y : string ->f : (this: { y: number;}, x: number) => number +>f : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -249,9 +249,9 @@ let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number >explicitStructural : (this: { y: number; }, x: number) => number let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) => number} = { wrongName: 12, explicitStructural }; ->wrongPropertyName : { wrongName: number; f: (this: { y: number;}, x: number) => number; } +>wrongPropertyName : { wrongName: number; f: (this: { y: number; }, x: number) => number; } >wrongName : number ->f : (this: { y: number;}, x: number) => number +>f : (this: { y: number; }, x: number) => number >this : { y: number; } >y : number >x : number @@ -392,7 +392,7 @@ let specifiedToVoid: (this: void, x: number) => number = explicitStructural; >explicitStructural : (this: { y: number; }, x: number) => number let reconstructed: { ->reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number;}, m: number) => number; explicitVoid(this: void, m: number): number; } +>reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } n: number, >n : number @@ -408,7 +408,7 @@ let reconstructed: { >m : number explicitProperty: (this: {n : number}, m: number) => number, ->explicitProperty : (this: { n: number;}, m: number) => number +>explicitProperty : (this: { n: number; }, m: number) => number >this : { n: number; } >n : number >m : number @@ -458,7 +458,7 @@ let d = new D(); >D : typeof D let explicitXProperty: (this: { x: number }, m: number) => number; ->explicitXProperty : (this: { x: number;}, m: number) => number +>explicitXProperty : (this: { x: number; }, m: number) => number >this : { x: number; } >x : number >m : number @@ -769,8 +769,8 @@ c.explicitProperty = (this, m) => m + this.n; >n : any const f2 = (this: {n: number}, m: number) => m + this.n; ->f2 : (this: { n: number;}, m: number) => any ->(this: {n: number}, m: number) => m + this.n : (this: { n: number;}, m: number) => any +>f2 : (this: { n: number; }, m: number) => any +>(this: {n: number}, m: number) => m + this.n : (this: { n: number; }, m: number) => any >this : { n: number; } >n : number >m : number @@ -781,8 +781,8 @@ const f2 = (this: {n: number}, m: number) => m + this.n; >n : any const f3 = async (this: {n: number}, m: number) => m + this.n; ->f3 : (this: { n: number;}, m: number) => Promise ->async (this: {n: number}, m: number) => m + this.n : (this: { n: number;}, m: number) => Promise +>f3 : (this: { n: number; }, m: number) => Promise +>async (this: {n: number}, m: number) => m + this.n : (this: { n: number; }, m: number) => Promise >this : { n: number; } >n : number >m : number @@ -793,8 +793,8 @@ const f3 = async (this: {n: number}, m: number) => m + this.n; >n : any const f4 = async (this: {n: number}, m: number) => m + this.n; ->f4 : (this: { n: number;}, m: number) => Promise ->async (this: {n: number}, m: number) => m + this.n : (this: { n: number;}, m: number) => Promise +>f4 : (this: { n: number; }, m: number) => Promise +>async (this: {n: number}, m: number) => m + this.n : (this: { n: number; }, m: number) => Promise >this : { n: number; } >n : number >m : number diff --git a/tests/baselines/reference/thisTypeInObjectLiterals2.types b/tests/baselines/reference/thisTypeInObjectLiterals2.types index bd96bd68bb..4f9c94055d 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals2.types +++ b/tests/baselines/reference/thisTypeInObjectLiterals2.types @@ -72,7 +72,7 @@ let obj1 = { // contextual type. type Point = { ->Point : { x: number; y: number; z?: number | undefined; moveBy(dx: number, dy: number, dz?: number): void; } +>Point : { x: number; y: number; z?: number; moveBy(dx: number, dy: number, dz?: number): void; } x: number; >x : number diff --git a/tests/baselines/reference/thisTypeInTaggedTemplateCall.types b/tests/baselines/reference/thisTypeInTaggedTemplateCall.types index 4c64229924..32f6497af6 100644 --- a/tests/baselines/reference/thisTypeInTaggedTemplateCall.types +++ b/tests/baselines/reference/thisTypeInTaggedTemplateCall.types @@ -15,16 +15,16 @@ class Foo { Foo.m`test`; >Foo.m`test` : Foo ->Foo.m : (this: new () => T, strings: string | TemplateStringsArray) => T +>Foo.m : (this: new () => T, strings: TemplateStringsArray | string) => T >Foo : typeof Foo ->m : (this: new () => T, strings: string | TemplateStringsArray) => T +>m : (this: new () => T, strings: TemplateStringsArray | string) => T >`test` : "test" (Foo.m)`test`; >(Foo.m)`test` : Foo ->(Foo.m) : (this: new () => T, strings: string | TemplateStringsArray) => T ->Foo.m : (this: new () => T, strings: string | TemplateStringsArray) => T +>(Foo.m) : (this: new () => T, strings: TemplateStringsArray | string) => T +>Foo.m : (this: new () => T, strings: TemplateStringsArray | string) => T >Foo : typeof Foo ->m : (this: new () => T, strings: string | TemplateStringsArray) => T +>m : (this: new () => T, strings: TemplateStringsArray | string) => T >`test` : "test" diff --git a/tests/baselines/reference/thisTypeSyntacticContext.types b/tests/baselines/reference/thisTypeSyntacticContext.types index a66c623957..e6996b0eb9 100644 --- a/tests/baselines/reference/thisTypeSyntacticContext.types +++ b/tests/baselines/reference/thisTypeSyntacticContext.types @@ -1,14 +1,14 @@ === tests/cases/conformance/types/thisType/thisTypeSyntacticContext.ts === function f(this: { n: number }) { ->f : (this: { n: number;}) => void +>f : (this: { n: number; }) => void >this : { n: number; } >n : number } const o: { n: number, test?: (this: { n: number }) => void } = { n: 1 } ->o : { n: number; test?: (this: { n: number;}) => void; } +>o : { n: number; test?: (this: { n: number; }) => void; } >n : number ->test : (this: { n: number;}) => void +>test : (this: { n: number; }) => void >this : { n: number; } >n : number >{ n: 1 } : { n: number; } diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts b/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts new file mode 100644 index 0000000000..7696803952 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts @@ -0,0 +1,109 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.d.ts] //// +export declare const a = 1; +export declare let b: number; +export declare var c: number; +//// [interface.d.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.d.ts] //// +declare const i: unique symbol; +export declare class Bar { + #private; + a: string; + b?: string; + c: string; + e: string; + protected f: string; + private g; + ["h"]: string; + [i]: string; +} +export declare abstract class Baz { + abstract a: string; + abstract method(): void; +} +export {}; + + +//// [Diagnostics reported] +class.ts(1,7): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== class.ts (1 errors) ==== + const i = Symbol(); + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 class.ts:1:7: Add a type annotation to the variable i. + export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; + } + + export abstract class Baz { + abstract a: string; + abstract method(): void; + } +//// [namespace.d.ts] //// +export declare namespace ns { + namespace internal { + class Foo { + } + } + export namespace nested { + export import inner = internal; + } + export {}; +} +//// [alias.d.ts] //// +export type A = { + x: T; +}; diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax.js b/tests/baselines/reference/transpile/declarationBasicSyntax.js new file mode 100644 index 0000000000..227dbc54ac --- /dev/null +++ b/tests/baselines/reference/transpile/declarationBasicSyntax.js @@ -0,0 +1,72 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.js] //// +export const a = 1; +export let b = 2; +export var c = 3; +//// [interface.js] //// +export {}; +//// [class.js] //// +var _Bar_d; +const i = Symbol(); +export class Bar { + constructor() { + _Bar_d.set(this, void 0); + } +} +_Bar_d = new WeakMap(); +export class Baz { +} +//// [namespace.js] //// +export var ns; +(function (ns) { + let internal; + (function (internal) { + class Foo { + } + internal.Foo = Foo; + })(internal || (internal = {})); + let nested; + (function (nested) { + nested.inner = internal; + })(nested = ns.nested || (ns.nested = {})); +})(ns || (ns = {})); +//// [alias.js] //// +export {}; diff --git a/tests/baselines/reference/transpile/declarationCrossFileInferences.d.ts b/tests/baselines/reference/transpile/declarationCrossFileInferences.d.ts new file mode 100644 index 0000000000..9a8ae29958 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationCrossFileInferences.d.ts @@ -0,0 +1,48 @@ +//// [defines.ts] //// +export class A { + field = { x: 1 } +} +//// [consumes.ts] //// +import {A} from "./defines.js"; +export function create() { + return new A(); +} +//// [exposes.ts] //// +import {create} from "./consumes.js"; +export const value = create(); +//// [defines.d.ts] //// +export declare class A { + field: { + x: number; + }; +} +//// [consumes.d.ts] //// +export declare function create(): any; + + +//// [Diagnostics reported] +consumes.ts(2,17): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. + + +==== consumes.ts (1 errors) ==== + import {A} from "./defines.js"; + export function create() { + ~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 consumes.ts:2:17: Add a return type to the function declaration. + return new A(); + } +//// [exposes.d.ts] //// +export declare const value: any; + + +//// [Diagnostics reported] +exposes.ts(2,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== exposes.ts (1 errors) ==== + import {create} from "./consumes.js"; + export const value = create(); + ~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 exposes.ts:2:14: Add a type annotation to the variable value. diff --git a/tests/baselines/reference/transpile/declarationCrossFileInferences.js b/tests/baselines/reference/transpile/declarationCrossFileInferences.js new file mode 100644 index 0000000000..1eefcc8b31 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationCrossFileInferences.js @@ -0,0 +1,38 @@ +//// [defines.ts] //// +export class A { + field = { x: 1 } +} +//// [consumes.ts] //// +import {A} from "./defines.js"; +export function create() { + return new A(); +} +//// [exposes.ts] //// +import {create} from "./consumes.js"; +export const value = create(); +//// [defines.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var A = /** @class */ (function () { + function A() { + this.field = { x: 1 }; + } + return A; +}()); +exports.A = A; +//// [consumes.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.create = void 0; +var defines_js_1 = require("./defines.js"); +function create() { + return new defines_js_1.A(); +} +exports.create = create; +//// [exposes.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.value = void 0; +var consumes_js_1 = require("./consumes.js"); +exports.value = (0, consumes_js_1.create)(); diff --git a/tests/baselines/reference/transpile/declarationLinkedAliases.d.ts b/tests/baselines/reference/transpile/declarationLinkedAliases.d.ts new file mode 100644 index 0000000000..f32860fc57 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationLinkedAliases.d.ts @@ -0,0 +1,8 @@ +//// [declarationLinkedAliases.ts] //// +import { A } from "mod"; +import B = A.C; +export { B }; +//// [declarationLinkedAliases.d.ts] //// +import { A } from "mod"; +import B = A.C; +export { B }; diff --git a/tests/baselines/reference/transpile/declarationLinkedAliases.js b/tests/baselines/reference/transpile/declarationLinkedAliases.js new file mode 100644 index 0000000000..550d48a3d5 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationLinkedAliases.js @@ -0,0 +1,11 @@ +//// [declarationLinkedAliases.ts] //// +import { A } from "mod"; +import B = A.C; +export { B }; +//// [declarationLinkedAliases.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.B = void 0; +var mod_1 = require("mod"); +var B = mod_1.A.C; +exports.B = B; diff --git a/tests/baselines/reference/transpile/declarationSingleFileHasErrors.d.ts b/tests/baselines/reference/transpile/declarationSingleFileHasErrors.d.ts new file mode 100644 index 0000000000..6952247996 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationSingleFileHasErrors.d.ts @@ -0,0 +1,15 @@ +//// [declarationSingleFileHasErrors.ts] //// +export const a number = "missing colon"; +//// [declarationSingleFileHasErrors.d.ts] //// +export declare const a: any, number = "missing colon"; + + +//// [Diagnostics reported] +declarationSingleFileHasErrors.ts(1,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== declarationSingleFileHasErrors.ts (1 errors) ==== + export const a number = "missing colon"; + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 declarationSingleFileHasErrors.ts:1:14: Add a type annotation to the variable a. diff --git a/tests/baselines/reference/transpile/declarationSingleFileHasErrors.js b/tests/baselines/reference/transpile/declarationSingleFileHasErrors.js new file mode 100644 index 0000000000..3168dbe6f4 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationSingleFileHasErrors.js @@ -0,0 +1,7 @@ +//// [declarationSingleFileHasErrors.ts] //// +export const a number = "missing colon"; +//// [declarationSingleFileHasErrors.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.number = exports.a = void 0; +exports.number = "missing colon"; diff --git a/tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.d.ts b/tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.d.ts new file mode 100644 index 0000000000..46cadeff0d --- /dev/null +++ b/tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.d.ts @@ -0,0 +1,18 @@ +//// [declarationSingleFileHasErrorsReported.ts] //// +export const a string = "missing colon"; +//// [declarationSingleFileHasErrorsReported.d.ts] //// +export declare const a: any, string = "missing colon"; + + +//// [Diagnostics reported] +declarationSingleFileHasErrorsReported.ts(1,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +declarationSingleFileHasErrorsReported.ts(1,16): error TS1005: ',' expected. + + +==== declarationSingleFileHasErrorsReported.ts (2 errors) ==== + export const a string = "missing colon"; + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 declarationSingleFileHasErrorsReported.ts:1:14: Add a type annotation to the variable a. + ~~~~~~ +!!! error TS1005: ',' expected. diff --git a/tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.js b/tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.js new file mode 100644 index 0000000000..1e1cddc825 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationSingleFileHasErrorsReported.js @@ -0,0 +1,17 @@ +//// [declarationSingleFileHasErrorsReported.ts] //// +export const a string = "missing colon"; +//// [declarationSingleFileHasErrorsReported.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.string = exports.a = void 0; +exports.string = "missing colon"; + + +//// [Diagnostics reported] +declarationSingleFileHasErrorsReported.ts(1,16): error TS1005: ',' expected. + + +==== declarationSingleFileHasErrorsReported.ts (1 errors) ==== + export const a string = "missing colon"; + ~~~~~~ +!!! error TS1005: ',' expected. diff --git a/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts new file mode 100644 index 0000000000..9d00d487e6 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts @@ -0,0 +1,19 @@ +//// [declarationTypeWithComputedName.ts] //// +import {Foo} from './a'; + +export type Bar = { + [Foo.A]: 1; + [Foo.B]: 2; +} + +export const valBar = null as any as { + [Foo.A]: 1; + [Foo.B]: 2; +}; +//// [declarationTypeWithComputedName.d.ts] //// +import { Foo } from './a'; +export type Bar = {}; +export declare const valBar: { + [Foo.A]: 1; + [Foo.B]: 2; +}; diff --git a/tests/baselines/reference/transpile/declarationsSimple.d.ts b/tests/baselines/reference/transpile/declarationsSimple.d.ts new file mode 100644 index 0000000000..3d9a2d9977 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationsSimple.d.ts @@ -0,0 +1,23 @@ +//// [declarationsSimple.ts] //// +export const c: number = 1; + +export interface A { + x: number; +} + +let expr: { x: number; }; + +expr = { + x: 12, +} + +export default expr; +//// [declarationsSimple.d.ts] //// +export declare const c: number; +export interface A { + x: number; +} +declare let expr: { + x: number; +}; +export default expr; diff --git a/tests/baselines/reference/transpile/declarationsSimple.js b/tests/baselines/reference/transpile/declarationsSimple.js new file mode 100644 index 0000000000..24a5d7bf73 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationsSimple.js @@ -0,0 +1,24 @@ +//// [declarationsSimple.ts] //// +export const c: number = 1; + +export interface A { + x: number; +} + +let expr: { x: number; }; + +expr = { + x: 12, +} + +export default expr; +//// [declarationsSimple.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.c = void 0; +exports.c = 1; +var expr; +expr = { + x: 12, +}; +exports.default = expr; diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion2.types b/tests/baselines/reference/truthinessCallExpressionCoercion2.types index 96f115a621..87392a2cf3 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion2.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion2.types @@ -213,18 +213,18 @@ function checksConsole() { >window : Window & typeof globalThis >console : Console >firebug : any ->(window.console.error && window.console.table) : (tabularData?: any, properties?: string[] | undefined) => void ->window.console.error && window.console.table : (tabularData?: any, properties?: string[] | undefined) => void +>(window.console.error && window.console.table) : (tabularData?: any, properties?: string[]) => void +>window.console.error && window.console.table : (tabularData?: any, properties?: string[]) => void >window.console.error : (...data: any[]) => void >window.console : Console >window : Window & typeof globalThis >console : Console >error : (...data: any[]) => void ->window.console.table : (tabularData?: any, properties?: string[] | undefined) => void +>window.console.table : (tabularData?: any, properties?: string[]) => void >window.console : Console >window : Window & typeof globalThis >console : Console ->table : (tabularData?: any, properties?: string[] | undefined) => void +>table : (tabularData?: any, properties?: string[]) => void } function checksPropertyAccess() { diff --git a/tests/baselines/reference/tryCatchFinallyControlFlow.types b/tests/baselines/reference/tryCatchFinallyControlFlow.types index ab2bae77be..d3f2a328b9 100644 --- a/tests/baselines/reference/tryCatchFinallyControlFlow.types +++ b/tests/baselines/reference/tryCatchFinallyControlFlow.types @@ -32,9 +32,9 @@ function f1() { >null : null >a.toFixed(0) == "123" : boolean >a.toFixed(0) : string ->a.toFixed : (fractionDigits?: number | undefined) => string +>a.toFixed : (fractionDigits?: number) => string >a : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string >0 : 0 >"123" : "123" } diff --git a/tests/baselines/reference/tsbuild/javascriptProjectEmit/modifies-outfile-js-projects-and-concatenates-them-correctly.js b/tests/baselines/reference/tsbuild/javascriptProjectEmit/modifies-outfile-js-projects-and-concatenates-them-correctly.js index eb606bd21c..41f782b353 100644 --- a/tests/baselines/reference/tsbuild/javascriptProjectEmit/modifies-outfile-js-projects-and-concatenates-them-correctly.js +++ b/tests/baselines/reference/tsbuild/javascriptProjectEmit/modifies-outfile-js-projects-and-concatenates-them-correctly.js @@ -211,7 +211,7 @@ type Nominal = T & { * @typedef {Nominal} MyNominal */ declare const c: any; -type MyNominal = Nominal; +type MyNominal = Nominal; //// [/src/sub-project/sub-project.js] @@ -226,7 +226,7 @@ var c = /** @type {*} */ (null); //// [/src/sub-project/sub-project.tsbuildinfo] -{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":84,"kind":"prepend","data":"../common/common.js","texts":[{"pos":0,"end":84,"kind":"text"}]},{"pos":84,"end":182,"kind":"text"}],"hash":"10912344054-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (null);\r\n"},"dts":{"sections":[{"pos":0,"end":64,"kind":"prepend","data":"../common/common.d.ts","texts":[{"pos":0,"end":64,"kind":"text"}]},{"pos":64,"end":199,"kind":"text"}],"hash":"21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["2691219051-/**\n * @typedef {Nominal} MyNominal\n */\nconst c = /** @type {*} */(null);\n"],"options":{"composite":true,"outFile":"./sub-project.js"},"outSignature":"21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n","latestChangedDtsFile":"./sub-project.d.ts"},"version":"FakeTSVersion"} +{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":84,"kind":"prepend","data":"../common/common.js","texts":[{"pos":0,"end":84,"kind":"text"}]},{"pos":84,"end":182,"kind":"text"}],"hash":"10912344054-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (null);\r\n"},"dts":{"sections":[{"pos":0,"end":64,"kind":"prepend","data":"../common/common.d.ts","texts":[{"pos":0,"end":64,"kind":"text"}]},{"pos":64,"end":199,"kind":"text"}],"hash":"28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["2691219051-/**\n * @typedef {Nominal} MyNominal\n */\nconst c = /** @type {*} */(null);\n"],"options":{"composite":true,"outFile":"./sub-project.js"},"outSignature":"28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n","latestChangedDtsFile":"./sub-project.d.ts"},"version":"FakeTSVersion"} //// [/src/sub-project/sub-project.tsbuildinfo.baseline.txt] ====================================================================== @@ -264,7 +264,7 @@ text: (64-199) * @typedef {Nominal} MyNominal */ declare const c: any; -type MyNominal = Nominal; +type MyNominal = Nominal; ====================================================================== @@ -319,7 +319,7 @@ type MyNominal = Nominal; "kind": "text" } ], - "hash": "21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n" + "hash": "28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n" } }, "program": { @@ -333,11 +333,11 @@ type MyNominal = Nominal; "composite": true, "outFile": "./sub-project.js" }, - "outSignature": "21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n", + "outSignature": "28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n", "latestChangedDtsFile": "./sub-project.d.ts" }, "version": "FakeTSVersion", - "size": 1395 + "size": 1399 } //// [/src/sub-project-2/sub-project-2.d.ts] @@ -348,7 +348,7 @@ type Nominal = T & { * @typedef {Nominal} MyNominal */ declare const c: any; -type MyNominal = Nominal; +type MyNominal = Nominal; /** * @return {keyof typeof variable} */ @@ -379,7 +379,7 @@ function getVar() { //// [/src/sub-project-2/sub-project-2.tsbuildinfo] -{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":182,"kind":"prepend","data":"../sub-project/sub-project.js","texts":[{"pos":0,"end":182,"kind":"text"}]},{"pos":182,"end":338,"kind":"text"}],"hash":"13097871248-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (null);\r\nvar variable = {\r\n key: /** @type {MyNominal} */ ('value')\r\n};\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\nfunction getVar() {\r\n return 'key';\r\n}\r\n"},"dts":{"sections":[{"pos":0,"end":199,"kind":"prepend","data":"../sub-project/sub-project.d.ts","texts":[{"pos":0,"end":199,"kind":"text"}]},{"pos":199,"end":356,"kind":"text"}],"hash":"1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["2078909278-const variable = {\n key: /** @type {MyNominal} */('value'),\n};\n\n/**\n * @return {keyof typeof variable}\n */\nfunction getVar() {\n return 'key';\n}\n"],"options":{"composite":true,"outFile":"./sub-project-2.js"},"outSignature":"1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n","latestChangedDtsFile":"./sub-project-2.d.ts"},"version":"FakeTSVersion"} +{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":182,"kind":"prepend","data":"../sub-project/sub-project.js","texts":[{"pos":0,"end":182,"kind":"text"}]},{"pos":182,"end":338,"kind":"text"}],"hash":"13097871248-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (null);\r\nvar variable = {\r\n key: /** @type {MyNominal} */ ('value')\r\n};\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\nfunction getVar() {\r\n return 'key';\r\n}\r\n"},"dts":{"sections":[{"pos":0,"end":199,"kind":"prepend","data":"../sub-project/sub-project.d.ts","texts":[{"pos":0,"end":199,"kind":"text"}]},{"pos":199,"end":356,"kind":"text"}],"hash":"24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["2078909278-const variable = {\n key: /** @type {MyNominal} */('value'),\n};\n\n/**\n * @return {keyof typeof variable}\n */\nfunction getVar() {\n return 'key';\n}\n"],"options":{"composite":true,"outFile":"./sub-project-2.js"},"outSignature":"24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n","latestChangedDtsFile":"./sub-project-2.d.ts"},"version":"FakeTSVersion"} //// [/src/sub-project-2/sub-project-2.tsbuildinfo.baseline.txt] ====================================================================== @@ -423,7 +423,7 @@ type Nominal = T & { * @typedef {Nominal} MyNominal */ declare const c: any; -type MyNominal = Nominal; +type MyNominal = Nominal; ---------------------------------------------------------------------- text: (199-356) @@ -488,7 +488,7 @@ declare namespace variable { "kind": "text" } ], - "hash": "1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n" + "hash": "24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n" } }, "program": { @@ -502,11 +502,11 @@ declare namespace variable { "composite": true, "outFile": "./sub-project-2.js" }, - "outSignature": "1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n", + "outSignature": "24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n", "latestChangedDtsFile": "./sub-project-2.d.ts" }, "version": "FakeTSVersion", - "size": 2000 + "size": 2006 } @@ -539,7 +539,7 @@ var c = /** @type {*} */ (undefined); //// [/src/sub-project/sub-project.tsbuildinfo] -{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":84,"kind":"prepend","data":"../common/common.js","texts":[{"pos":0,"end":84,"kind":"text"}]},{"pos":84,"end":187,"kind":"text"}],"hash":"8976814925-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (undefined);\r\n"},"dts":{"sections":[{"pos":0,"end":64,"kind":"prepend","data":"../common/common.d.ts","texts":[{"pos":0,"end":64,"kind":"text"}]},{"pos":64,"end":199,"kind":"text"}],"hash":"21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["7546612770-/**\n * @typedef {Nominal} MyNominal\n */\nconst c = /** @type {*} */(undefined);\n"],"options":{"composite":true,"outFile":"./sub-project.js"},"outSignature":"21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n","latestChangedDtsFile":"./sub-project.d.ts"},"version":"FakeTSVersion"} +{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":84,"kind":"prepend","data":"../common/common.js","texts":[{"pos":0,"end":84,"kind":"text"}]},{"pos":84,"end":187,"kind":"text"}],"hash":"8976814925-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (undefined);\r\n"},"dts":{"sections":[{"pos":0,"end":64,"kind":"prepend","data":"../common/common.d.ts","texts":[{"pos":0,"end":64,"kind":"text"}]},{"pos":64,"end":199,"kind":"text"}],"hash":"28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["7546612770-/**\n * @typedef {Nominal} MyNominal\n */\nconst c = /** @type {*} */(undefined);\n"],"options":{"composite":true,"outFile":"./sub-project.js"},"outSignature":"28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n","latestChangedDtsFile":"./sub-project.d.ts"},"version":"FakeTSVersion"} //// [/src/sub-project/sub-project.tsbuildinfo.baseline.txt] ====================================================================== @@ -577,7 +577,7 @@ text: (64-199) * @typedef {Nominal} MyNominal */ declare const c: any; -type MyNominal = Nominal; +type MyNominal = Nominal; ====================================================================== @@ -632,7 +632,7 @@ type MyNominal = Nominal; "kind": "text" } ], - "hash": "21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n" + "hash": "28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n" } }, "program": { @@ -646,11 +646,11 @@ type MyNominal = Nominal; "composite": true, "outFile": "./sub-project.js" }, - "outSignature": "21135699026-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n", + "outSignature": "28907769096-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n", "latestChangedDtsFile": "./sub-project.d.ts" }, "version": "FakeTSVersion", - "size": 1404 + "size": 1408 } //// [/src/sub-project-2/sub-project-2.js] @@ -674,7 +674,7 @@ function getVar() { //// [/src/sub-project-2/sub-project-2.tsbuildinfo] -{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":187,"kind":"prepend","data":"../sub-project/sub-project.js","texts":[{"pos":0,"end":187,"kind":"text"}]},{"pos":187,"end":343,"kind":"text"}],"hash":"-7775859865-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (undefined);\r\nvar variable = {\r\n key: /** @type {MyNominal} */ ('value')\r\n};\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\nfunction getVar() {\r\n return 'key';\r\n}\r\n"},"dts":{"sections":[{"pos":0,"end":199,"kind":"prepend","data":"../sub-project/sub-project.d.ts","texts":[{"pos":0,"end":199,"kind":"text"}]},{"pos":199,"end":356,"kind":"text"}],"hash":"1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["2078909278-const variable = {\n key: /** @type {MyNominal} */('value'),\n};\n\n/**\n * @return {keyof typeof variable}\n */\nfunction getVar() {\n return 'key';\n}\n"],"options":{"composite":true,"outFile":"./sub-project-2.js"},"outSignature":"1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n","latestChangedDtsFile":"./sub-project-2.d.ts"},"version":"FakeTSVersion"} +{"bundle":{"commonSourceDirectory":"..","sourceFiles":["./index.js"],"js":{"sections":[{"pos":0,"end":187,"kind":"prepend","data":"../sub-project/sub-project.js","texts":[{"pos":0,"end":187,"kind":"text"}]},{"pos":187,"end":343,"kind":"text"}],"hash":"-7775859865-/**\r\n * @template T, Name\r\n * @typedef {T & {[Symbol.species]: Name}} Nominal\r\n */\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\nvar c = /** @type {*} */ (undefined);\r\nvar variable = {\r\n key: /** @type {MyNominal} */ ('value')\r\n};\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\nfunction getVar() {\r\n return 'key';\r\n}\r\n"},"dts":{"sections":[{"pos":0,"end":199,"kind":"prepend","data":"../sub-project/sub-project.d.ts","texts":[{"pos":0,"end":199,"kind":"text"}]},{"pos":199,"end":356,"kind":"text"}],"hash":"24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n"}},"program":{"fileNames":["./index.js"],"fileInfos":["2078909278-const variable = {\n key: /** @type {MyNominal} */('value'),\n};\n\n/**\n * @return {keyof typeof variable}\n */\nfunction getVar() {\n return 'key';\n}\n"],"options":{"composite":true,"outFile":"./sub-project-2.js"},"outSignature":"24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n","latestChangedDtsFile":"./sub-project-2.d.ts"},"version":"FakeTSVersion"} //// [/src/sub-project-2/sub-project-2.tsbuildinfo.baseline.txt] ====================================================================== @@ -718,7 +718,7 @@ type Nominal = T & { * @typedef {Nominal} MyNominal */ declare const c: any; -type MyNominal = Nominal; +type MyNominal = Nominal; ---------------------------------------------------------------------- text: (199-356) @@ -783,7 +783,7 @@ declare namespace variable { "kind": "text" } ], - "hash": "1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n" + "hash": "24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n" } }, "program": { @@ -797,10 +797,10 @@ declare namespace variable { "composite": true, "outFile": "./sub-project-2.js" }, - "outSignature": "1925232864-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n", + "outSignature": "24003321174-type Nominal = T & {\r\n [Symbol.species]: Name;\r\n};\r\n/**\r\n * @typedef {Nominal} MyNominal\r\n */\r\ndeclare const c: any;\r\ntype MyNominal = Nominal;\r\n/**\r\n * @return {keyof typeof variable}\r\n */\r\ndeclare function getVar(): keyof typeof variable;\r\ndeclare namespace variable {\r\n const key: MyNominal;\r\n}\r\n", "latestChangedDtsFile": "./sub-project-2.d.ts" }, "version": "FakeTSVersion", - "size": 2005 + "size": 2011 } diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental-discrepancies.js new file mode 100644 index 0000000000..14640fe0a9 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental-discrepancies.js @@ -0,0 +1,106 @@ +1:: Fix `a` error +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "11219465352-const err: number = \"error\";\n const a: number = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +2:: no-change-run +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "11219465352-const err: number = \"error\";\n const a: number = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js new file mode 100644 index 0000000000..32f14bcd09 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js @@ -0,0 +1,336 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a: number = "hello" + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true},{"version":"11219465352-const err: number = \"error\";\n const a: number = \"hello\"","signature":false,"affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"exportedModulesMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "11219465352-const err: number = \"error\";\n const a: number = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion", + "size": 848 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:14 AM] Projects in this build: + * src/tsconfig.json + +[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:16 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:18 AM] Projects in this build: + * src/tsconfig.json + +[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:20 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:21 AM] Projects in this build: + * src/tsconfig.json + +[12:00:22 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:23 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:27 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts) + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"6966517221-const err: number = \"error\";\n const a = \"hello\"","signature":"-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n","affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./a.ts","start":6,"length":3,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[[2,1]]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "signature": "-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + [ + "./a.ts", + [ + { + "file": "./a.ts", + "start": 6, + "length": 3, + "code": 2322, + "category": 1, + "messageText": "Type 'string' is not assignable to type 'number'." + } + ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./a.ts", + "Full" + ] + ] + }, + "version": "FakeTSVersion", + "size": 1074 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:31 AM] Projects in this build: + * src/tsconfig.json + +[12:00:32 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:33 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js new file mode 100644 index 0000000000..7afcf9910f --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js @@ -0,0 +1,250 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a: number = "hello" + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:11 AM] Projects in this build: + * src/tsconfig.json + +[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:13 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:15 AM] Projects in this build: + * src/tsconfig.json + +[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:17 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:18 AM] Projects in this build: + * src/tsconfig.json + +[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:20 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:22 AM] Projects in this build: + * src/tsconfig.json + +[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:24 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:27 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental-discrepancies.js new file mode 100644 index 0000000000..0584fd0840 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental-discrepancies.js @@ -0,0 +1,106 @@ +1:: Fix `a` error +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6198030691-const err: number = \"error\";\n const a = \"hello", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +2:: no-change-run +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6198030691-const err: number = \"error\";\n const a = \"hello", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js new file mode 100644 index 0000000000..08b88d54b3 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js @@ -0,0 +1,346 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a = "hello + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 2 errors. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true},{"version":"6198030691-const err: number = \"error\";\n const a = \"hello","signature":false,"affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"exportedModulesMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6198030691-const err: number = \"error\";\n const a = \"hello", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion", + "size": 837 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:14 AM] Projects in this build: + * src/tsconfig.json + +[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:16 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 2 errors. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:18 AM] Projects in this build: + * src/tsconfig.json + +[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:20 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:21 AM] Projects in this build: + * src/tsconfig.json + +[12:00:22 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:23 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:27 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts) + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"6966517221-const err: number = \"error\";\n const a = \"hello\"","signature":"-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n","affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./a.ts","start":6,"length":3,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[[2,1]]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "signature": "-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + [ + "./a.ts", + [ + { + "file": "./a.ts", + "start": 6, + "length": 3, + "code": 2322, + "category": 1, + "messageText": "Type 'string' is not assignable to type 'number'." + } + ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "./a.ts", + "Full" + ] + ] + }, + "version": "FakeTSVersion", + "size": 1074 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:31 AM] Projects in this build: + * src/tsconfig.json + +[12:00:32 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:33 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js new file mode 100644 index 0000000000..9639e3ad35 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js @@ -0,0 +1,260 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a = "hello + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 2 errors. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:11 AM] Projects in this build: + * src/tsconfig.json + +[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:13 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 2 errors. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:15 AM] Projects in this build: + * src/tsconfig.json + +[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:17 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:18 AM] Projects in this build: + * src/tsconfig.json + +[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:20 AM] Building project '/src/tsconfig.json'... + +src/tsconfig.json:1:31 - error TS5023: Unknown compiler option 'noCheck'. + +1 {"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} +   ~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:22 AM] Projects in this build: + * src/tsconfig.json + +[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:24 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:27 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + diff --git a/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js new file mode 100644 index 0000000000..2943f03492 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js @@ -0,0 +1,132 @@ +3:: Disable noCheck +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + [ + "./a.ts", + [ + { + "file": "./a.ts", + "start": 6, + "length": 3, + "code": 2322, + "category": 1, + "messageText": "Type 'string' is not assignable to type 'number'." + } + ] + ] + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +4:: no-change-run +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + [ + "./a.ts", + [ + { + "file": "./a.ts", + "start": 6, + "length": 3, + "code": 2322, + "category": 1, + "messageText": "Type 'string' is not assignable to type 'number'." + } + ] + ] + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js new file mode 100644 index 0000000000..136fe3839b --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js @@ -0,0 +1,282 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a: number = "hello" + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts during emit) + + +//// [/src/a.d.ts] +declare const err: number; +declare const a: number; + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"11219465352-const err: number = \"error\";\n const a: number = \"hello\"","signature":"-5270976121-declare const err: number;\r\ndeclare const a: number;\r\n","affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "11219465352-const err: number = \"error\";\n const a: number = \"hello\"", + "signature": "-5270976121-declare const err: number;\r\ndeclare const a: number;\r\n", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion", + "size": 925 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:15 AM] Projects in this build: + * src/tsconfig.json + +[12:00:16 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:18 AM] Projects in this build: + * src/tsconfig.json + +[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/a.ts' + +[12:00:20 AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/src/a.ts + +Shape signatures in builder refreshed for:: +/src/a.ts (computed .d.ts) + + +//// [/src/a.d.ts] +declare const err: number; +declare const a = "hello"; + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"6966517221-const err: number = \"error\";\n const a = \"hello\"","signature":"-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n","affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "signature": "-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion", + "size": 920 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:28 AM] Projects in this build: + * src/tsconfig.json + +[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' + +[12:00:30 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:31 AM] Projects in this build: + * src/tsconfig.json + +[12:00:32 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' + +[12:00:33 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js b/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js new file mode 100644 index 0000000000..d7b6c7a132 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js @@ -0,0 +1,212 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a: number = "hello" + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts during emit) + + +//// [/src/a.d.ts] +declare const err: number; +declare const a: number; + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:12 AM] Projects in this build: + * src/tsconfig.json + +[12:00:13 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' + +exitCode:: ExitStatus.Success + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:15 AM] Projects in this build: + * src/tsconfig.json + +[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/a.ts' + +[12:00:17 AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts during emit) + + +//// [/src/a.d.ts] +declare const err: number; +declare const a = "hello"; + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:19 AM] Projects in this build: + * src/tsconfig.json + +[12:00:20 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' + +exitCode:: ExitStatus.Success + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:22 AM] Projects in this build: + * src/tsconfig.json + +[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' + +[12:00:24 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' + +[12:00:27 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + diff --git a/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js new file mode 100644 index 0000000000..2943f03492 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js @@ -0,0 +1,132 @@ +3:: Disable noCheck +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + [ + "./a.ts", + [ + { + "file": "./a.ts", + "start": 6, + "length": 3, + "code": 2322, + "category": 1, + "messageText": "Type 'string' is not assignable to type 'number'." + } + ] + ] + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} +4:: no-change-run +*** Needs explanation +TsBuild info text without affectedFilesPendingEmit:: /src/tsconfig.tsbuildinfo.readable.baseline.txt:: +CleanBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + [ + "./a.ts", + [ + { + "file": "./a.ts", + "start": 6, + "length": 3, + "code": 2322, + "category": 1, + "messageText": "Type 'string' is not assignable to type 'number'." + } + ] + ] + ] + }, + "version": "FakeTSVersion" +} +IncrementalBuild: +{ + "program": { + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js new file mode 100644 index 0000000000..07cf2a2a7a --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js @@ -0,0 +1,301 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a = "hello + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true},{"version":"6198030691-const err: number = \"error\";\n const a = \"hello","signature":false,"affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"exportedModulesMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6198030691-const err: number = \"error\";\n const a = \"hello", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "changeFileSet": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion", + "size": 852 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:14 AM] Projects in this build: + * src/tsconfig.json + +[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:16 AM] Building project '/src/tsconfig.json'... + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:18 AM] Projects in this build: + * src/tsconfig.json + +[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[12:00:20 AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts) + + +//// [/src/a.d.ts] +declare const err: number; +declare const a = "hello"; + + +//// [/src/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"6966517221-const err: number = \"error\";\n const a = \"hello\"","signature":"-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n","affectsGlobalScope":true}],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} + +//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true + }, + "./a.ts": { + "version": "6966517221-const err: number = \"error\";\n const a = \"hello\"", + "signature": "-5889627111-declare const err: number;\r\ndeclare const a = \"hello\";\r\n", + "affectsGlobalScope": true + } + }, + "options": { + "declaration": true, + "emitDeclarationOnly": true, + "noCheck": true + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../lib/lib.d.ts", + "./a.ts" + ] + }, + "version": "FakeTSVersion", + "size": 920 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:28 AM] Projects in this build: + * src/tsconfig.json + +[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' + +[12:00:30 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[12:00:31 AM] Projects in this build: + * src/tsconfig.json + +[12:00:32 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' + +[12:00:33 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"incremental":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js b/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js new file mode 100644 index 0000000000..a3af35235c --- /dev/null +++ b/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js @@ -0,0 +1,231 @@ +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const err: number = "error"; + const a = "hello + +//// [/src/tsconfig.json] +{"compilerOptions":{"noCheck":true,"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:08 AM] Projects in this build: + * src/tsconfig.json + +[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:10 AM] Building project '/src/tsconfig.json'... + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:11 AM] Projects in this build: + * src/tsconfig.json + +[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:13 AM] Building project '/src/tsconfig.json'... + +src/a.ts:2:21 - error TS1002: Unterminated string literal. + +2 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix `a` error +Input:: +//// [/src/a.ts] +const err: number = "error"; + const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:15 AM] Projects in this build: + * src/tsconfig.json + +[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist + +[12:00:17 AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: ["/src/a.ts"] +Program options: {"noCheck":true,"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (computed .d.ts during emit) + + +//// [/src/a.d.ts] +declare const err: number; +declare const a = "hello"; + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:19 AM] Projects in this build: + * src/tsconfig.json + +[12:00:20 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' + +exitCode:: ExitStatus.Success + + + + +Change:: Disable noCheck +Input:: +//// [/src/tsconfig.json] +{"compilerOptions":{"emitDeclarationOnly":true,"declaration":true}} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:22 AM] Projects in this build: + * src/tsconfig.json + +[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' + +[12:00:24 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[12:00:25 AM] Projects in this build: + * src/tsconfig.json + +[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' + +[12:00:27 AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const err: number = "error"; +   ~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: ["/src/a.ts"] +Program options: {"emitDeclarationOnly":true,"declaration":true,"configFilePath":"/src/tsconfig.json"} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +Semantic diagnostics in builder refreshed for:: +/lib/lib.d.ts +/src/a.ts + +Shape signatures in builder refreshed for:: +/lib/lib.d.ts (used version) +/src/a.ts (used version) + + diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js index 55d9bd8f64..caa9c4930d 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js @@ -95,6 +95,7 @@ interface Array { length: number; [n: number]: T; } /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js index cb93f808b5..7833e84bb9 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js @@ -95,6 +95,7 @@ interface Array { length: number; [n: number]: T; } /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js index 3cb4ada33f..5a18580d46 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js @@ -95,6 +95,7 @@ interface Array { length: number; [n: number]: T; } /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js index 88ef119053..5b66d6a263 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js @@ -95,6 +95,7 @@ interface Array { length: number; [n: number]: T; } /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js index 7b8193b4a0..9f31cd7d99 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js @@ -95,6 +95,7 @@ interface Array { length: number; [n: number]: T; } /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js index 354aa2c139..5b9609e5e0 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js @@ -95,6 +95,7 @@ interface Array { length: number; [n: number]: T; } /* Interop Constraints */ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ diff --git a/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types b/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types index 6d10a51f95..945621f455 100644 --- a/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types +++ b/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types @@ -11,8 +11,8 @@ namespace JSX { } const Foo = (props: { foo: "A" | "B" | "C" }) => {props.foo}; ->Foo : (props: { foo: "A" | "B" | "C";}) => JSX.Element ->(props: { foo: "A" | "B" | "C" }) => {props.foo} : (props: { foo: "A" | "B" | "C";}) => JSX.Element +>Foo : (props: { foo: "A" | "B" | "C"; }) => JSX.Element +>(props: { foo: "A" | "B" | "C" }) => {props.foo} : (props: { foo: "A" | "B" | "C"; }) => JSX.Element >props : { foo: "A" | "B" | "C"; } >foo : "A" | "B" | "C" >{props.foo} : JSX.Element diff --git a/tests/baselines/reference/tsxDiscriminantPropertyInference.types b/tests/baselines/reference/tsxDiscriminantPropertyInference.types index 0bd5fcd528..61fe65af2f 100644 --- a/tests/baselines/reference/tsxDiscriminantPropertyInference.types +++ b/tests/baselines/reference/tsxDiscriminantPropertyInference.types @@ -17,7 +17,7 @@ type DiscriminatorTrue = { } type DiscriminatorFalse = { ->DiscriminatorFalse : { disc?: false | undefined; cb: (x: number) => void; } +>DiscriminatorFalse : { disc?: false; cb: (x: number) => void; } disc?: false; >disc : false | undefined @@ -47,7 +47,7 @@ void ( parseInt(s)} />); >s => parseInt(s) : (s: string) => number >s : string >parseInt(s) : number ->parseInt : (string: string, radix?: number | undefined) => number +>parseInt : (string: string, radix?: number) => number >s : string // simple inference @@ -62,9 +62,9 @@ void ( n.toFixed()} />); >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string // simple inference when strict-null-checks are enabled void ( n.toFixed()} />); @@ -78,9 +78,9 @@ void ( n.toFixed()} />); >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string // requires checking type information since discriminator is missing from object void ( n.toFixed()} />); @@ -92,7 +92,7 @@ void ( n.toFixed()} />); >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string diff --git a/tests/baselines/reference/tsxInvokeComponentType.types b/tests/baselines/reference/tsxInvokeComponentType.types index a8cad98682..d5232d563f 100644 --- a/tests/baselines/reference/tsxInvokeComponentType.types +++ b/tests/baselines/reference/tsxInvokeComponentType.types @@ -20,7 +20,7 @@ const good = ; >someKey : string declare const Elem2: ComponentType<{ opt?: number }>; ->Elem2 : React.ComponentType<{ opt?: number | undefined; }> +>Elem2 : React.ComponentType<{ opt?: number; }> >opt : number | undefined const alsoOk = text; diff --git a/tests/baselines/reference/tsxSfcReturnNull.types b/tests/baselines/reference/tsxSfcReturnNull.types index bb1618d511..262bce80c7 100644 --- a/tests/baselines/reference/tsxSfcReturnNull.types +++ b/tests/baselines/reference/tsxSfcReturnNull.types @@ -9,7 +9,7 @@ const Foo = (props: any) => null; >null : null function Greet(x: {name?: string}) { ->Greet : (x: { name?: string;}) => any +>Greet : (x: { name?: string; }) => any >x : { name?: string; } >name : string diff --git a/tests/baselines/reference/tsxSfcReturnNullStrictNullChecks.types b/tests/baselines/reference/tsxSfcReturnNullStrictNullChecks.types index 932ebaf36e..8cfa4582ad 100644 --- a/tests/baselines/reference/tsxSfcReturnNullStrictNullChecks.types +++ b/tests/baselines/reference/tsxSfcReturnNullStrictNullChecks.types @@ -9,8 +9,8 @@ const Foo = (props: any) => null; >null : null function Greet(x: {name?: string}) { ->Greet : (x: { name?: string;}) => null ->x : { name?: string | undefined; } +>Greet : (x: { name?: string; }) => null +>x : { name?: string; } >name : string | undefined return null; @@ -25,5 +25,5 @@ const foo = ; const G = ; >G : JSX.Element > : JSX.Element ->Greet : (x: { name?: string | undefined; }) => null +>Greet : (x: { name?: string; }) => null diff --git a/tests/baselines/reference/tsxSfcReturnUndefinedStrictNullChecks.types b/tests/baselines/reference/tsxSfcReturnUndefinedStrictNullChecks.types index e0ced6374f..d84648e634 100644 --- a/tests/baselines/reference/tsxSfcReturnUndefinedStrictNullChecks.types +++ b/tests/baselines/reference/tsxSfcReturnUndefinedStrictNullChecks.types @@ -9,8 +9,8 @@ const Foo = (props: any) => undefined; >undefined : undefined function Greet(x: {name?: string}) { ->Greet : (x: { name?: string;}) => undefined ->x : { name?: string | undefined; } +>Greet : (x: { name?: string; }) => undefined +>x : { name?: string; } >name : string | undefined return undefined; @@ -26,5 +26,5 @@ const foo = ; const G = ; >G : JSX.Element > : JSX.Element ->Greet : (x: { name?: string | undefined; }) => undefined +>Greet : (x: { name?: string; }) => undefined diff --git a/tests/baselines/reference/tsxSpreadChildren.types b/tests/baselines/reference/tsxSpreadChildren.types index 1cccb9075d..a8b170455e 100644 --- a/tests/baselines/reference/tsxSpreadChildren.types +++ b/tests/baselines/reference/tsxSpreadChildren.types @@ -21,7 +21,7 @@ interface TodoListProps { >todos : TodoProp[] } function Todo(prop: { key: number, todo: string }) { ->Todo : (prop: { key: number; todo: string;}) => JSX.Element +>Todo : (prop: { key: number; todo: string; }) => JSX.Element >prop : { key: number; todo: string; } >key : number >todo : string diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types index b8eb048703..190b88b717 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types @@ -21,7 +21,7 @@ interface TodoListProps { >todos : TodoProp[] } function Todo(prop: { key: number, todo: string }) { ->Todo : (prop: { key: number; todo: string;}) => JSX.Element +>Todo : (prop: { key: number; todo: string; }) => JSX.Element >prop : { key: number; todo: string; } >key : number >todo : string diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types index b8eb048703..190b88b717 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types @@ -21,7 +21,7 @@ interface TodoListProps { >todos : TodoProp[] } function Todo(prop: { key: number, todo: string }) { ->Todo : (prop: { key: number; todo: string;}) => JSX.Element +>Todo : (prop: { key: number; todo: string; }) => JSX.Element >prop : { key: number; todo: string; } >key : number >todo : string diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types index 542fa2c7fc..e9917631dc 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types @@ -21,7 +21,7 @@ interface TodoListProps { >todos : TodoProp[] } function Todo(prop: { key: number, todo: string }) { ->Todo : (prop: { key: number; todo: string;}) => any +>Todo : (prop: { key: number; todo: string; }) => any >prop : { key: number; todo: string; } >key : number >todo : string diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types index 542fa2c7fc..e9917631dc 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types @@ -21,7 +21,7 @@ interface TodoListProps { >todos : TodoProp[] } function Todo(prop: { key: number, todo: string }) { ->Todo : (prop: { key: number; todo: string;}) => any +>Todo : (prop: { key: number; todo: string; }) => any >prop : { key: number; todo: string; } >key : number >todo : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types index d5429be5e4..6f16e6d808 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types @@ -3,27 +3,27 @@ import React = require('react') >React : typeof React declare function OneThing(k: {yxx: string}): JSX.Element; ->OneThing : { (k: { yxx: string;}): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } +>OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } >k : { yxx: string; } >yxx : string >JSX : any declare function OneThing(k: {yxx1: string, children: string}): JSX.Element; ->OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string;}): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } +>OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } >k : { yxx1: string; children: string; } >yxx1 : string >children : string >JSX : any declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; ->OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string;}): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } +>OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } >l : { yy: number; yy1: string; } >yy : number >yy1 : string >JSX : any declare function OneThing(l: {yy: number, yy1: string, yy2: boolean}): JSX.Element; ->OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean;}): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } +>OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } >l : { yy: number; yy1: string; yy2: boolean; } >yy : number >yy1 : string @@ -31,7 +31,7 @@ declare function OneThing(l: {yy: number, yy1: string, yy2: boolean}): JSX.Eleme >JSX : any declare function OneThing(l1: {data: string, "data-prop": boolean}): JSX.Element; ->OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean;}): JSX.Element; } +>OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } >l1 : { data: string; "data-prop": boolean; } >data : string >"data-prop" : boolean @@ -81,21 +81,21 @@ declare function TestingOneThing({y1: string}): JSX.Element; >JSX : any declare function TestingOneThing(j: {"extra-data": string, yy?: string}): JSX.Element; ->TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string;}): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } +>TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } >j : { "extra-data": string; yy?: string; } >"extra-data" : string >yy : string >JSX : any declare function TestingOneThing(n: {yy: number, direction?: number}): JSX.Element; ->TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number;}): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } +>TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } >n : { yy: number; direction?: number; } >yy : number >direction : number >JSX : any declare function TestingOneThing(n: {yy: string, name: string}): JSX.Element; ->TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string;}): JSX.Element; } +>TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } >n : { yy: string; name: string; } >yy : string >name : string @@ -142,14 +142,14 @@ const d5 = ; declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; ->TestingOptional : { (a: { y1?: string; y2?: number;}): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } +>TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } >a : { y1?: string; y2?: number; } >y1 : string >y2 : number >JSX : any declare function TestingOptional(a: {y1: boolean, y2?: number, y3: boolean}): JSX.Element; ->TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean;}): JSX.Element; } +>TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } >a : { y1: boolean; y2?: number; y3: boolean; } >y1 : boolean >y2 : number diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types index b6d04116f5..1a7c7d3059 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types @@ -7,7 +7,7 @@ declare function OneThing(): JSX.Element; >JSX : any declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; ->OneThing : { (): JSX.Element; (l: { yy: number; yy1: string;}): JSX.Element; } +>OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } >l : { yy: number; yy1: string; } >yy : number >yy1 : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types index caf6460a00..9284a84b86 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types @@ -8,7 +8,7 @@ declare function ZeroThingOrTwoThing(): JSX.Element; >JSX : any declare function ZeroThingOrTwoThing(l: {yy: number, yy1: string}, context: Context): JSX.Element; ->ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string;}, context: Context): JSX.Element; } +>ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } >l : { yy: number; yy1: string; } >yy : number >yy1 : string @@ -55,19 +55,19 @@ const two5 = ; // it is just any so >1000 : 1000 declare function ThreeThing(l: {y1: string}): JSX.Element; ->ThreeThing : { (l: { y1: string;}): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } +>ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } >l : { y1: string; } >y1 : string >JSX : any declare function ThreeThing(l: {y2: string}): JSX.Element; ->ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string;}): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } +>ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } >l : { y2: string; } >y2 : string >JSX : any declare function ThreeThing(l: {yy: number, yy1: string}, context: Context, updater: any): JSX.Element; ->ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string;}, context: Context, updater: any): JSX.Element; } +>ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } >l : { yy: number; yy1: string; } >yy : number >yy1 : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types index 3807bd2903..059fb7672f 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types @@ -7,7 +7,7 @@ declare function OneThing(): JSX.Element; >JSX : any declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; ->OneThing : { (): JSX.Element; (l: { yy: number; yy1: string;}): JSX.Element; } +>OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } >l : { yy: number; yy1: string; } >yy : number >yy1 : string @@ -92,13 +92,13 @@ const c7 = ; // Should error as there is extra attribu >yy : true declare function TestingOneThing(j: {"extra-data": string}): JSX.Element; ->TestingOneThing : { (j: { "extra-data": string;}): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } +>TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } >j : { "extra-data": string; } >"extra-data" : string >JSX : any declare function TestingOneThing(n: {yy: string, direction?: number}): JSX.Element; ->TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number;}): JSX.Element; } +>TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } >n : { yy: string; direction?: number; } >yy : string >direction : number @@ -119,14 +119,14 @@ const d2 = >direction : string declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; ->TestingOptional : { (a: { y1?: string; y2?: number;}): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } +>TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } >a : { y1?: string; y2?: number; } >y1 : string >y2 : number >JSX : any declare function TestingOptional(a: {y1?: string, y2?: number, children: JSX.Element}): JSX.Element; ->TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element;}): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } +>TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } >a : { y1?: string; y2?: number; children: JSX.Element; } >y1 : string >y2 : number @@ -135,7 +135,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number, children: JSX.Ele >JSX : any declare function TestingOptional(a: {y1: boolean, y2?: number, y3: boolean}): JSX.Element; ->TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean;}): JSX.Element; } +>TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } >a : { y1: boolean; y2?: number; y3: boolean; } >y1 : boolean >y2 : number diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents1.types b/tests/baselines/reference/tsxStatelessFunctionComponents1.types index 6e0a1107a3..08e2930248 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponents1.types @@ -9,7 +9,7 @@ function EmptyPropSFC() { } function Greet(x: {name: string}) { ->Greet : (x: { name: string;}) => JSX.Element +>Greet : (x: { name: string; }) => JSX.Element >x : { name: string; } >name : string @@ -31,7 +31,7 @@ function Meet({name = 'world'}) { >div : any } function MeetAndGreet(k: {"prop-name": string}) { ->MeetAndGreet : (k: { "prop-name": string;}) => JSX.Element +>MeetAndGreet : (k: { "prop-name": string; }) => JSX.Element >k : { "prop-name": string; } >"prop-name" : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents2.types b/tests/baselines/reference/tsxStatelessFunctionComponents2.types index 6bc746821d..05fe1a8897 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponents2.types @@ -3,7 +3,7 @@ import React = require('react'); >React : typeof React function Greet(x: {name?: string}) { ->Greet : (x: { name?: string;}) => JSX.Element +>Greet : (x: { name?: string; }) => JSX.Element >x : { name?: string; } >name : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types index 9feac2ea24..da17aaf906 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types @@ -3,7 +3,7 @@ import React = require('react') >React : typeof React declare function ComponentWithTwoAttributes(l: {key1: K, value: V}): JSX.Element; ->ComponentWithTwoAttributes : (l: { key1: K; value: V;}) => JSX.Element +>ComponentWithTwoAttributes : (l: { key1: K; value: V; }) => JSX.Element >l : { key1: K; value: V; } >key1 : K >value : V diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types index 649f4da708..79345df066 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types @@ -3,14 +3,14 @@ import React = require('react') >React : typeof React declare function ComponentSpecific1(l: {prop: U, "ignore-prop": string}): JSX.Element; ->ComponentSpecific1 : (l: { prop: U; "ignore-prop": string;}) => JSX.Element +>ComponentSpecific1 : (l: { prop: U; "ignore-prop": string; }) => JSX.Element >l : { prop: U; "ignore-prop": string; } >prop : U >"ignore-prop" : string >JSX : any declare function ComponentSpecific2(l: {prop: U}): JSX.Element; ->ComponentSpecific2 : (l: { prop: U;}) => JSX.Element +>ComponentSpecific2 : (l: { prop: U; }) => JSX.Element >l : { prop: U; } >prop : U >JSX : any diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types index 79ec56cc9b..5323cd4dd6 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types @@ -7,7 +7,7 @@ declare function OverloadComponent(): JSX.Element; >JSX : any declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": boolean}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean;}): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } >attr : { b: U; a?: string; "ignore-prop": boolean; } >b : U >a : string @@ -15,7 +15,7 @@ declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": bo >JSX : any declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T;}): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } >attr : { b: U; a: T; } >b : U >a : T diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types index 29ae53c357..2e8c6f7b22 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types @@ -7,7 +7,7 @@ declare function OverloadComponent(): JSX.Element; >JSX : any declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boolean}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean;}): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } >attr : { b: U; a: string; "ignore-prop": boolean; } >b : U >a : string @@ -15,7 +15,7 @@ declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boo >JSX : any declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T;}): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } >attr : { b: U; a: T; } >b : U >a : T diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types index ab00cba9d3..5af60aa9d7 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types @@ -27,13 +27,13 @@ function createComponent(arg: T) { } declare function ComponentSpecific(l: { prop: U }): JSX.Element; ->ComponentSpecific : (l: { prop: U;}) => JSX.Element +>ComponentSpecific : (l: { prop: U; }) => JSX.Element >l : { prop: U; } >prop : U >JSX : any declare function ComponentSpecific1(l: { prop: U, "ignore-prop": number }): JSX.Element; ->ComponentSpecific1 : (l: { prop: U; "ignore-prop": number;}) => JSX.Element +>ComponentSpecific1 : (l: { prop: U; "ignore-prop": number; }) => JSX.Element >l : { prop: U; "ignore-prop": number; } >prop : U >"ignore-prop" : number diff --git a/tests/baselines/reference/tsxTypeErrors.types b/tests/baselines/reference/tsxTypeErrors.types index e9585272cf..e90b0fdf8c 100644 --- a/tests/baselines/reference/tsxTypeErrors.types +++ b/tests/baselines/reference/tsxTypeErrors.types @@ -39,7 +39,7 @@ class MyClass { >MyClass : MyClass props: { ->props : { pt?: { x: number; y: number;}; name?: string; reqd: boolean; } +>props : { pt?: { x: number; y: number; }; name?: string; reqd: boolean; } pt?: { x: number; y: number; }; >pt : { x: number; y: number; } diff --git a/tests/baselines/reference/tsxUnionElementType1.types b/tests/baselines/reference/tsxUnionElementType1.types index da1b3fb14d..6033102882 100644 --- a/tests/baselines/reference/tsxUnionElementType1.types +++ b/tests/baselines/reference/tsxUnionElementType1.types @@ -3,7 +3,7 @@ import React = require('react'); >React : typeof React function SFC1(prop: { x: number }) { ->SFC1 : (prop: { x: number;}) => JSX.Element +>SFC1 : (prop: { x: number; }) => JSX.Element >prop : { x: number; } >x : number @@ -15,7 +15,7 @@ function SFC1(prop: { x: number }) { }; function SFC2(prop: { x: boolean }) { ->SFC2 : (prop: { x: boolean;}) => JSX.Element +>SFC2 : (prop: { x: boolean; }) => JSX.Element >prop : { x: boolean; } >x : boolean diff --git a/tests/baselines/reference/tsxUnionElementType2.types b/tests/baselines/reference/tsxUnionElementType2.types index 377516d80d..3b2df61959 100644 --- a/tests/baselines/reference/tsxUnionElementType2.types +++ b/tests/baselines/reference/tsxUnionElementType2.types @@ -3,7 +3,7 @@ import React = require('react'); >React : typeof React function SFC1(prop: { x: number }) { ->SFC1 : (prop: { x: number;}) => JSX.Element +>SFC1 : (prop: { x: number; }) => JSX.Element >prop : { x: number; } >x : number @@ -15,7 +15,7 @@ function SFC1(prop: { x: number }) { }; function SFC2(prop: { x: boolean }) { ->SFC2 : (prop: { x: boolean;}) => JSX.Element +>SFC2 : (prop: { x: boolean; }) => JSX.Element >prop : { x: boolean; } >x : boolean diff --git a/tests/baselines/reference/tsxUnionElementType5.types b/tests/baselines/reference/tsxUnionElementType5.types index 99bd38e75c..091b86d430 100644 --- a/tests/baselines/reference/tsxUnionElementType5.types +++ b/tests/baselines/reference/tsxUnionElementType5.types @@ -21,7 +21,7 @@ function EmptySFC2() { } function SFC2(prop: { x: boolean }) { ->SFC2 : (prop: { x: boolean;}) => JSX.Element +>SFC2 : (prop: { x: boolean; }) => JSX.Element >prop : { x: boolean; } >x : boolean diff --git a/tests/baselines/reference/tsxUnionElementType6.types b/tests/baselines/reference/tsxUnionElementType6.types index acf85cf348..db36bad01f 100644 --- a/tests/baselines/reference/tsxUnionElementType6.types +++ b/tests/baselines/reference/tsxUnionElementType6.types @@ -21,7 +21,7 @@ function EmptySFC2() { } function SFC2(prop: { x: boolean }) { ->SFC2 : (prop: { x: boolean;}) => JSX.Element +>SFC2 : (prop: { x: boolean; }) => JSX.Element >prop : { x: boolean; } >x : boolean diff --git a/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types b/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types index 8bf0f60b62..8641bee257 100644 --- a/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types +++ b/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types @@ -5,13 +5,13 @@ import React, { ReactElement } from "react"; >ReactElement : any declare function NotHappy(props: ({ fixed?: boolean } | { value?: number })): ReactElement; ->NotHappy : (props: ({ fixed?: boolean;} | { value?: number;})) => ReactElement +>NotHappy : (props: ({ fixed?: boolean; } | { value?: number; })) => ReactElement >props : { fixed?: boolean; } | { value?: number; } >fixed : boolean >value : number declare function Happy(props: { fixed?: boolean, value?: number }): ReactElement; ->Happy : (props: { fixed?: boolean; value?: number;}) => ReactElement +>Happy : (props: { fixed?: boolean; value?: number; }) => ReactElement >props : { fixed?: boolean; value?: number; } >fixed : boolean >value : number @@ -21,7 +21,7 @@ const RootNotHappy = () => (); >() => () : () => JSX.Element >() : JSX.Element > : JSX.Element ->NotHappy : (props: { fixed?: boolean; } | { value?: number; }) => React.ReactElement +>NotHappy : (props: ({ fixed?: boolean; } | { value?: number; })) => React.ReactElement >data-testid : string const RootHappy = () => (); diff --git a/tests/baselines/reference/tsxUnionSpread.types b/tests/baselines/reference/tsxUnionSpread.types index def68a2e87..1bde9affeb 100644 --- a/tests/baselines/reference/tsxUnionSpread.types +++ b/tests/baselines/reference/tsxUnionSpread.types @@ -4,12 +4,12 @@ namespace JSX { } export type CatInfo = { type: 'Cat'; subType: string; }; ->CatInfo : { type: 'Cat'; subType: string; } +>CatInfo : { type: "Cat"; subType: string; } >type : "Cat" >subType : string export type DogInfo = { type: 'Dog'; }; ->DogInfo : { type: 'Dog'; } +>DogInfo : { type: "Dog"; } >type : "Dog" export type AnimalInfo = CatInfo | DogInfo; diff --git a/tests/baselines/reference/typeAliases.types b/tests/baselines/reference/typeAliases.types index be734e51a0..428d575bdb 100644 --- a/tests/baselines/reference/typeAliases.types +++ b/tests/baselines/reference/typeAliases.types @@ -128,13 +128,13 @@ declare function foo13(t1: T1, t2: T13): void; foo13(x13_1, x13_2); >foo13(x13_1, x13_2) : void ->foo13 : (t1: T1, t2: I13) => void +>foo13 : (t1: T1, t2: T13) => void >x13_1 : I13 >x13_2 : I13 foo13(x13_2, x13_1); >foo13(x13_2, x13_1) : void ->foo13 : (t1: T1, t2: I13) => void +>foo13 : (t1: T1, t2: T13) => void >x13_2 : I13 >x13_1 : I13 @@ -149,7 +149,7 @@ declare function foo14_1(x: T14): void; >x : string declare function foo14_2(x: "click"): void; ->foo14_2 : { (x: "click"): void; (x: string): void; } +>foo14_2 : { (x: "click"): void; (x: T14): void; } >x : "click" declare function foo14_2(x: T14): void; @@ -165,7 +165,7 @@ enum E { x = 10 } >10 : 10 declare function f15(a: string): boolean; ->f15 : { (a: string): boolean; (a: number): string; } +>f15 : { (a: string): boolean; (a: Meters): string; } >a : string declare function f15(a: Meters): string; @@ -176,7 +176,7 @@ f15(E.x).toLowerCase(); >f15(E.x).toLowerCase() : string >f15(E.x).toLowerCase : () => string >f15(E.x) : string ->f15 : { (a: string): boolean; (a: number): string; } +>f15 : { (a: string): boolean; (a: Meters): string; } >E.x : E >E : typeof E >x : E diff --git a/tests/baselines/reference/typeArgInference.types b/tests/baselines/reference/typeArgInference.types index 15a1b12662..bc119fcd1f 100644 --- a/tests/baselines/reference/typeArgInference.types +++ b/tests/baselines/reference/typeArgInference.types @@ -1,7 +1,7 @@ === tests/cases/compiler/typeArgInference.ts === interface I { f(a1: { a: T; b: U }[], a2: { a: T; b: U }[]): { c: T; d: U }; ->f : (a1: { a: T; b: U;}[], a2: { a: T; b: U;}[]) => { c: T; d: U;} +>f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } >a1 : { a: T; b: U; }[] >a : T >b : U @@ -12,7 +12,7 @@ interface I { >d : U g(...arg: { a: T; b: U }[][]): { c: T; d: U }; ->g : (...arg: { a: T; b: U;}[][]) => { c: T; d: U;} +>g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } >arg : { a: T; b: U; }[][] >a : T >b : U diff --git a/tests/baselines/reference/typeArgumentInferenceOrdering.types b/tests/baselines/reference/typeArgumentInferenceOrdering.types index 754d1aa891..811e8c9622 100644 --- a/tests/baselines/reference/typeArgumentInferenceOrdering.types +++ b/tests/baselines/reference/typeArgumentInferenceOrdering.types @@ -17,7 +17,7 @@ interface Goo { } function foo(f: { y: T }): T { return null } ->foo : (f: { y: T;}) => T +>foo : (f: { y: T; }) => T >f : { y: T; } >y : T >null : null diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types index 0e66a77360..1de4318249 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types @@ -32,10 +32,10 @@ interface Square { interface Subshape { "0": { ->"0" : { sub: { under: { shape: Shape; };}; } +>"0" : { sub: { under: { shape: Shape; }; }; } sub: { ->sub : { under: { shape: Shape;}; } +>sub : { under: { shape: Shape; }; } under: { >under : { shape: Shape; } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types index 656540534e..64165ad202 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types @@ -1,6 +1,6 @@ === tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty2.ts === const foo: { key?: number } = {}; ->foo : { key?: number | undefined; } +>foo : { key?: number; } >key : number | undefined >{} : {} diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types index b202ee18f9..d6ed74dfdf 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types @@ -1,7 +1,7 @@ === tests/cases/compiler/typeGuardNarrowsIndexedAccessOfKnownProperty5.ts === const a: { key?: { x?: number } } = {}; ->a : { key?: { x?: number | undefined; } | undefined; } ->key : { x?: number | undefined; } | undefined +>a : { key?: { x?: number; }; } +>key : { x?: number; } | undefined >x : number | undefined >{} : {} @@ -29,8 +29,8 @@ if (a[aIndex] && a[aIndex].x) { } const b: { key: { x?: number } } = { key: {} }; ->b : { key: { x?: number;}; } ->key : { x?: number | undefined; } +>b : { key: { x?: number; }; } +>key : { x?: number; } >x : number | undefined >{ key: {} } : { key: {}; } >key : {} diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types index cfb10e2bf2..0fa3f191c7 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types @@ -3,8 +3,8 @@ declare const aIndex: "key"; >aIndex : "key" const a: { key?: { x?: number } } = {}; ->a : { key?: { x?: number | undefined; } | undefined; } ->key : { x?: number | undefined; } | undefined +>a : { key?: { x?: number; }; } +>key : { x?: number; } | undefined >x : number | undefined >{} : {} @@ -31,8 +31,8 @@ declare const bIndex: "key"; >bIndex : "key" const b: { key: { x?: number } } = { key: {} }; ->b : { key: { x?: number;}; } ->key : { x?: number | undefined; } +>b : { key: { x?: number; }; } +>key : { x?: number; } >x : number | undefined >{ key: {} } : { key: {}; } >key : {} diff --git a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types index 544134e72e..0a4415edb0 100644 --- a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types +++ b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types @@ -4,7 +4,7 @@ type Tag = {__tag: any}; >__tag : any declare function isNonBlank(value: string) : value is (string & Tag); ->isNonBlank : (value: string) => value is string & Tag +>isNonBlank : (value: string) => value is (string & Tag) >value : string declare function doThis(value: string & Tag): void; @@ -40,7 +40,7 @@ const enum Tag2 {} >Tag2 : Tag2 declare function isNonBlank2(value: string) : value is (string & Tag2); ->isNonBlank2 : (value: string) => value is never +>isNonBlank2 : (value: string) => value is (string & Tag2) >value : string declare function doThis2(value: string & Tag2): void; @@ -58,7 +58,7 @@ if (isNonBlank2(value)) { doThis2(value); >doThis2(value) : void ->doThis2 : (value: never) => void +>doThis2 : (value: string & Tag2) => void >value : never } else { diff --git a/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types b/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types index ba31aaf23f..5e14003161 100644 --- a/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types +++ b/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types @@ -1,6 +1,6 @@ === tests/cases/conformance/expressions/typeGuards/typeGuardNarrowsToLiteralTypeUnion.ts === declare function isFoo(value: string) : value is ("foo" | "bar"); ->isFoo : (value: string) => value is "foo" | "bar" +>isFoo : (value: string) => value is ("foo" | "bar") >value : string declare function doThis(value: "foo" | "bar"): void; diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types index 8166bc9e78..8567cf2b99 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types @@ -60,7 +60,7 @@ function f4(x: T) { } function f5(x: { s: string }) { ->f5 : (x: { s: string;}) => void +>f5 : (x: { s: string; }) => void >x : { s: string; } >s : string @@ -110,7 +110,7 @@ function f10(x: string | (() => string)) { } function f11(x: { s: string } | (() => string)) { ->f11 : (x: { s: string;} | (() => string)) => void +>f11 : (x: { s: string; } | (() => string)) => void >x : { s: string; } | (() => string) >s : string @@ -130,7 +130,7 @@ function f11(x: { s: string } | (() => string)) { } function f12(x: { s: string } | { n: number }) { ->f12 : (x: { s: string;} | { n: number;}) => void +>f12 : (x: { s: string; } | { n: number; }) => void >x : { s: string; } | { n: number; } >s : string >n : number diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types index f2c8a0f349..6ba7ad088b 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types @@ -66,7 +66,7 @@ function multipleClasses(x: A | B | C | D) { } function anonymousClasses(x: { a: string; } | { b: number; }) { ->anonymousClasses : (x: { a: string;} | { b: number;}) => void +>anonymousClasses : (x: { a: string; } | { b: number; }) => void >x : { a: string; } | { b: number; } >a : string >b : number diff --git a/tests/baselines/reference/typeGuardsAsAssertions.types b/tests/baselines/reference/typeGuardsAsAssertions.types index 4139c84f77..23a9a93f95 100644 --- a/tests/baselines/reference/typeGuardsAsAssertions.types +++ b/tests/baselines/reference/typeGuardsAsAssertions.types @@ -100,9 +100,9 @@ function foo1() { >x : string | number >"string" : "string" >x.slice() : string ->x.slice : (start?: number | undefined, end?: number | undefined) => string +>x.slice : (start?: number, end?: number) => string >x : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string >"abc" : "abc" x; // string @@ -138,9 +138,9 @@ function foo2() { >x = x.slice() : string >x : string | number | boolean >x.slice() : string ->x.slice : (start?: number | undefined, end?: number | undefined) => string +>x.slice : (start?: number, end?: number) => string >x : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string } else { x = "abc"; @@ -278,10 +278,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string | null | undefined ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string x = ""; >x = "" : "" @@ -290,10 +290,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string x = undefined; >x = undefined : undefined @@ -302,10 +302,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string | null | undefined ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string x = null; >x = null : null @@ -314,10 +314,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string | null | undefined ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string x = undefined; >x = undefined : null | undefined @@ -328,10 +328,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string | null | undefined ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string x = ""; >x = "" : string | undefined @@ -341,10 +341,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string | undefined ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string x = ""; >x = "" : string | null @@ -355,10 +355,10 @@ function f6() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string | null ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string } function f7() { @@ -369,9 +369,9 @@ function f7() { x!.slice(); >x!.slice() : string ->x!.slice : (start?: number | undefined, end?: number | undefined) => string +>x!.slice : (start?: number, end?: number) => string >x! : string >x : string ->slice : (start?: number | undefined, end?: number | undefined) => string +>slice : (start?: number, end?: number) => string } diff --git a/tests/baselines/reference/typeInferenceLiteralUnion.types b/tests/baselines/reference/typeInferenceLiteralUnion.types index 3b44e2424c..a797c63cc6 100644 --- a/tests/baselines/reference/typeInferenceLiteralUnion.types +++ b/tests/baselines/reference/typeInferenceLiteralUnion.types @@ -62,7 +62,7 @@ extentMixed = extent([new NumCoercible(10), 13, '12', true]); >extentMixed = extent([new NumCoercible(10), 13, '12', true]) : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible] >extentMixed : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible] >extent([new NumCoercible(10), 13, '12', true]) : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible] ->extent : (array: (Primitive | T)[]) => [Primitive | T, Primitive | T] | [undefined, undefined] +>extent : (array: Array) => [Primitive | T, Primitive | T] | [undefined, undefined] >[new NumCoercible(10), 13, '12', true] : (string | number | true | NumCoercible)[] >new NumCoercible(10) : NumCoercible >NumCoercible : typeof NumCoercible diff --git a/tests/baselines/reference/typeLiteralCallback.types b/tests/baselines/reference/typeLiteralCallback.types index 5e933779c8..755dd6dd5e 100644 --- a/tests/baselines/reference/typeLiteralCallback.types +++ b/tests/baselines/reference/typeLiteralCallback.types @@ -14,7 +14,7 @@ interface bar { >arg : T fail2(func: { (arg: T): void ; }): void ; ->fail2 : (func: (arg: T) => void) => void +>fail2 : (func: { (arg: T): void; }) => void >func : (arg: T) => void >arg : T } diff --git a/tests/baselines/reference/typeName1.types b/tests/baselines/reference/typeName1.types index b982c3c6d8..64ab22a174 100644 --- a/tests/baselines/reference/typeName1.types +++ b/tests/baselines/reference/typeName1.types @@ -96,7 +96,7 @@ var x11:{z:I;x:boolean;}[][]=3; >3 : 3 var x12:{z:I;x:boolean;y:(s:string)=>boolean;w:{ z:I;[s:string]:{ x; y; };[n:number]:{x; y;};():boolean; };}[][]=3; ->x12 : { z: I; x: boolean; y: (s: string) => boolean; w: { (): boolean; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; z: I; }; }[][] +>x12 : { z: I; x: boolean; y: (s: string) => boolean; w: { z: I; [s: string]: { x: any; y: any; }; [n: number]: { x: any; y: any; }; (): boolean; }; }[][] >z : I >x : boolean >y : (s: string) => boolean @@ -112,7 +112,7 @@ var x12:{z:I;x:boolean;y:(s:string)=>boolean;w:{ z:I;[s:string]:{ x; y; };[n:num >3 : 3 var x13:{ new(): number; new(n:number):number; x: string; w: {y: number;}; (): {}; } = 3; ->x13 : { (): {}; new (): number; new (n: number): number; x: string; w: { y: number;}; } +>x13 : { (): {}; new (): number; new (n: number): number; x: string; w: { y: number; }; } >n : number >x : string >w : { y: number; } diff --git a/tests/baselines/reference/typeParametersInStaticMethods.types b/tests/baselines/reference/typeParametersInStaticMethods.types index aa6f3dedaa..786a5a7333 100644 --- a/tests/baselines/reference/typeParametersInStaticMethods.types +++ b/tests/baselines/reference/typeParametersInStaticMethods.types @@ -3,8 +3,8 @@ class foo { >foo : foo static M(x: (x: T) => { x: { y: T } }) { ->M : (x: (x: T) => { x: { y: T;}; }) => void ->x : (x: T) => { x: { y: T;}; } +>M : (x: (x: T) => { x: { y: T; }; }) => void +>x : (x: T) => { x: { y: T; }; } >x : T >x : { y: T; } >y : T diff --git a/tests/baselines/reference/typePredicateStructuralMatch.types b/tests/baselines/reference/typePredicateStructuralMatch.types index ae7238400c..fce76d0e58 100644 --- a/tests/baselines/reference/typePredicateStructuralMatch.types +++ b/tests/baselines/reference/typePredicateStructuralMatch.types @@ -33,7 +33,7 @@ type Results = Result[]; >Results : Result[] function isResponseInData(value: T | { data: T}): value is { data: T } { ->isResponseInData : (value: T | { data: T;}) => value is { data: T; } +>isResponseInData : (value: T | { data: T; }) => value is { data: T; } >value : T | { data: T; } >data : T >data : T @@ -47,7 +47,7 @@ function isResponseInData(value: T | { data: T}): value is { data: T } { } function getResults1(value: Results | { data: Results }): Results { ->getResults1 : (value: Results | { data: Results;}) => Results +>getResults1 : (value: Results | { data: Results; }) => Results >value : Results | { data: Results; } >data : Results @@ -63,7 +63,7 @@ function getResults1(value: Results | { data: Results }): Results { } function isPlainResponse(value: T | { data: T}): value is T { ->isPlainResponse : (value: T | { data: T;}) => value is T +>isPlainResponse : (value: T | { data: T; }) => value is T >value : T | { data: T; } >data : T @@ -77,7 +77,7 @@ function isPlainResponse(value: T | { data: T}): value is T { } function getResults2(value: Results | { data: Results }): Results { ->getResults2 : (value: Results | { data: Results;}) => Results +>getResults2 : (value: Results | { data: Results; }) => Results >value : Results | { data: Results; } >data : Results diff --git a/tests/baselines/reference/typePredicatesInUnion2.types b/tests/baselines/reference/typePredicatesInUnion2.types index 5d4777474e..dbebcd7eb3 100644 --- a/tests/baselines/reference/typePredicatesInUnion2.types +++ b/tests/baselines/reference/typePredicatesInUnion2.types @@ -15,11 +15,11 @@ declare function f(p: typeof isString | typeof isNumber): void; f(isString); >f(isString) : void ->f : (p: ((x: any) => x is string) | ((x: any) => x is number)) => void +>f : (p: typeof isString | typeof isNumber) => void >isString : (x: any) => x is string f(isNumber); >f(isNumber) : void ->f : (p: ((x: any) => x is string) | ((x: any) => x is number)) => void +>f : (p: typeof isString | typeof isNumber) => void >isNumber : (x: any) => x is number diff --git a/tests/baselines/reference/typeReferenceDirectives11.js b/tests/baselines/reference/typeReferenceDirectives11.js new file mode 100644 index 0000000000..d52a385d89 --- /dev/null +++ b/tests/baselines/reference/typeReferenceDirectives11.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/typeReferenceDirectives11.ts] //// + +//// [index.d.ts] +interface Lib { x } + +//// [mod1.ts] +export function foo(): Lib { return {x: 1} } + +//// [mod2.ts] +import {foo} from "./mod1"; +export const bar = foo(); + + + + +!!!! File output.d.ts missing from original emit, but present in noCheck emit +//// [output.d.ts] +/// +declare module "mod1" { + export function foo(): Lib; +} +declare module "mod2" { + export const bar: Lib; +} diff --git a/tests/baselines/reference/typeReferenceDirectives12.js b/tests/baselines/reference/typeReferenceDirectives12.js new file mode 100644 index 0000000000..530a25c2fe --- /dev/null +++ b/tests/baselines/reference/typeReferenceDirectives12.js @@ -0,0 +1,60 @@ +//// [tests/cases/compiler/typeReferenceDirectives12.ts] //// + +//// [index.d.ts] +interface Lib { x } + +//// [main.ts] +export class Cls { + x +} + +//// [mod1.ts] +/// + +import {Cls} from "./main"; +Cls.prototype.foo = function() { return undefined; } + +declare module "./main" { + interface Cls { + foo(): Lib; + } + namespace Cls { + function bar(): Lib; + } +} + +//// [mod2.ts] +import { Cls } from "./main"; +import "./mod1"; + +export const cls = Cls; +export const foo = new Cls().foo(); +export const bar = Cls.bar(); + + + +!!!! File output.d.ts missing from original emit, but present in noCheck emit +//// [output.d.ts] +/// +declare module "main" { + export class Cls { + x: any; + } +} +declare module "mod1" { + module "main" { + interface Cls { + foo(): Lib; + } + namespace Cls { + function bar(): Lib; + } + } +} +declare module "mod2" { + import { Cls } from "main"; + import "mod1"; + export const cls: typeof Cls; + export const foo: Lib; + export const bar: Lib; +} diff --git a/tests/baselines/reference/typeReferenceRelatedFiles.js b/tests/baselines/reference/typeReferenceRelatedFiles.js index 95e0f649b7..e50ca05f92 100644 --- a/tests/baselines/reference/typeReferenceRelatedFiles.js +++ b/tests/baselines/reference/typeReferenceRelatedFiles.js @@ -30,6 +30,5 @@ exports.f = f; //// [main.d.ts] -/// import { FSWatcher } from "fs"; export declare function f(): FSWatcher; diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types index 28aefdb9c6..84eb405692 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types @@ -8,7 +8,7 @@ declare function checkTruths(x: Facts): void; >x : Facts declare function checkM(x: { m: boolean }): void; ->checkM : (x: { m: boolean;}) => void +>checkM : (x: { m: boolean; }) => void >x : { m: boolean; } >m : boolean diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types index 28aefdb9c6..84eb405692 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types @@ -8,7 +8,7 @@ declare function checkTruths(x: Facts): void; >x : Facts declare function checkM(x: { m: boolean }): void; ->checkM : (x: { m: boolean;}) => void +>checkM : (x: { m: boolean; }) => void >x : { m: boolean; } >m : boolean diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types index 532ee99a6d..d36dbdfd94 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types @@ -8,7 +8,7 @@ declare function checkTruths(x: Facts): void; >x : Facts declare function checkM(x: { m: boolean }): void; ->checkM : (x: { m: boolean;}) => void +>checkM : (x: { m: boolean; }) => void >x : { m: boolean; } >m : boolean diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types index 532ee99a6d..d36dbdfd94 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types @@ -8,7 +8,7 @@ declare function checkTruths(x: Facts): void; >x : Facts declare function checkM(x: { m: boolean }): void; ->checkM : (x: { m: boolean;}) => void +>checkM : (x: { m: boolean; }) => void >x : { m: boolean; } >m : boolean diff --git a/tests/baselines/reference/typeTagOnPropertyAssignment.types b/tests/baselines/reference/typeTagOnPropertyAssignment.types index 84ce1e1742..007117f139 100644 --- a/tests/baselines/reference/typeTagOnPropertyAssignment.types +++ b/tests/baselines/reference/typeTagOnPropertyAssignment.types @@ -1,7 +1,7 @@ === tests/cases/conformance/jsdoc/typeTagOnPropertyAssignment.js === const o = { ->o : { a: "a"; n: () => 'b'; } ->{ /** * @type {"a"} */ a: "a", /** @type {() => 'b'} */ n: () => 'b'} : { a: "a"; n: () => 'b'; } +>o : { a: "a"; n: () => "b"; } +>{ /** * @type {"a"} */ a: "a", /** @type {() => 'b'} */ n: () => 'b'} : { a: "a"; n: () => "b"; } /** * @type {"a"} @@ -12,8 +12,8 @@ const o = { /** @type {() => 'b'} */ n: () => 'b' ->n : () => 'b' ->() => 'b' : () => 'b' +>n : () => "b" +>() => 'b' : () => "b" >'b' : "b" }; diff --git a/tests/baselines/reference/typeTagWithGenericSignature.types b/tests/baselines/reference/typeTagWithGenericSignature.types index a5b92a7db8..64e1019607 100644 --- a/tests/baselines/reference/typeTagWithGenericSignature.types +++ b/tests/baselines/reference/typeTagWithGenericSignature.types @@ -1,7 +1,7 @@ === tests/cases/conformance/jsdoc/bug25618.js === /** @type {(param?: T) => T | undefined} */ function typed(param) { ->typed : (param?: T | undefined) => T | undefined +>typed : (param?: T) => T | undefined >param : T | undefined return param; @@ -11,7 +11,7 @@ function typed(param) { var n = typed(1); >n : number | undefined >typed(1) : 1 | undefined ->typed : (param?: T | undefined) => T | undefined +>typed : (param?: T) => T | undefined >1 : 1 diff --git a/tests/baselines/reference/typeofObjectInference.types b/tests/baselines/reference/typeofObjectInference.types index 71ee207d60..9b730223eb 100644 --- a/tests/baselines/reference/typeofObjectInference.types +++ b/tests/baselines/reference/typeofObjectInference.types @@ -4,8 +4,8 @@ let val = 1 >1 : 1 function decorateA(fn: (first: {value: typeof val}) => O) { ->decorateA : (fn: (first: { value: typeof val;}) => O) => () => O ->fn : (first: { value: typeof val;}) => O +>decorateA : (fn: (first: { value: typeof val; }) => O) => () => O +>fn : (first: { value: typeof val; }) => O >first : { value: typeof val; } >value : number >val : number @@ -13,7 +13,7 @@ function decorateA(fn: (first: {value: typeof val}) => O) { return (): O => fn({value: val}) >(): O => fn({value: val}) : () => O >fn({value: val}) : O ->fn : (first: { value: number; }) => O +>fn : (first: { value: typeof val; }) => O >{value: val} : { value: number; } >value : number >val : number @@ -21,7 +21,7 @@ function decorateA(fn: (first: {value: typeof val}) => O) { let a = decorateA(({value}) => 5) >a : () => number >decorateA(({value}) => 5) : () => number ->decorateA : (fn: (first: { value: number; }) => O) => () => O +>decorateA : (fn: (first: { value: typeof val; }) => O) => () => O >({value}) => 5 : ({ value }: { value: number; }) => number >value : number >5 : 5 @@ -35,20 +35,20 @@ function decorateB(fn: (first: typeof val) => O) { return (): O => fn(val) >(): O => fn(val) : () => O >fn(val) : O ->fn : (first: number) => O +>fn : (first: typeof val) => O >val : number } let b = decorateB((value) => 5) >b : () => number >decorateB((value) => 5) : () => number ->decorateB : (fn: (first: number) => O) => () => O +>decorateB : (fn: (first: typeof val) => O) => () => O >(value) => 5 : (value: number) => number >value : number >5 : 5 function decorateC(fn: (first: {value: number}) => O) { ->decorateC : (fn: (first: { value: number;}) => O) => () => O ->fn : (first: { value: number;}) => O +>decorateC : (fn: (first: { value: number; }) => O) => () => O +>fn : (first: { value: number; }) => O >first : { value: number; } >value : number diff --git a/tests/baselines/reference/typeofThis.types b/tests/baselines/reference/typeofThis.types index a8c4426d9f..fb235aa6dd 100644 --- a/tests/baselines/reference/typeofThis.types +++ b/tests/baselines/reference/typeofThis.types @@ -81,7 +81,7 @@ function Test2() { } function Test3(this: { no: number }) { ->Test3 : (this: { no: number;}) => void +>Test3 : (this: { no: number; }) => void >this : { no: number; } >no : number @@ -94,7 +94,7 @@ function Test3(this: { no: number }) { } function Test4(this: { no: number } | undefined) { ->Test4 : (this: { no: number;} | undefined) => void +>Test4 : (this: { no: number; } | undefined) => void >this : { no: number; } | undefined >no : number @@ -277,7 +277,7 @@ class Test10 { >Test10 : Test10 a?: { b?: string } ->a : { b?: string | undefined; } | undefined +>a : { b?: string; } | undefined >b : string | undefined foo() { @@ -339,7 +339,7 @@ class Test11 { >Test11 : Test11 this?: { x?: string }; ->this : { x?: string | undefined; } | undefined +>this : { x?: string; } | undefined >x : string | undefined foo() { diff --git a/tests/baselines/reference/typesWithSpecializedCallSignatures.types b/tests/baselines/reference/typesWithSpecializedCallSignatures.types index 87b1f6ea89..4fba757577 100644 --- a/tests/baselines/reference/typesWithSpecializedCallSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedCallSignatures.types @@ -19,11 +19,11 @@ class C { >C : C foo(x: 'hi'): Derived1; ->foo : { (x: 'hi'): Derived1; (x: "bye"): Derived2; (x: string): Base; } +>foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >x : "hi" foo(x: 'bye'): Derived2; ->foo : { (x: "hi"): Derived1; (x: 'bye'): Derived2; (x: string): Base; } +>foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >x : "bye" foo(x: string): Base; @@ -45,11 +45,11 @@ var c = new C(); interface I { foo(x: 'hi'): Derived1; ->foo : { (x: 'hi'): Derived1; (x: "bye"): Derived2; (x: string): Base; } +>foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >x : "hi" foo(x: 'bye'): Derived2; ->foo : { (x: "hi"): Derived1; (x: 'bye'): Derived2; (x: string): Base; } +>foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >x : "bye" foo(x: string): Base; @@ -60,14 +60,14 @@ var i: I; >i : I var a: { ->a : { foo(x: 'hi'): Derived1; foo(x: 'bye'): Derived2; foo(x: string): Base; } +>a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } foo(x: 'hi'): Derived1; ->foo : { (x: 'hi'): Derived1; (x: "bye"): Derived2; (x: string): Base; } +>foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >x : "hi" foo(x: 'bye'): Derived2; ->foo : { (x: "hi"): Derived1; (x: 'bye'): Derived2; (x: string): Base; } +>foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } >x : "bye" foo(x: string): Base; diff --git a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types index 13b6a69882..c57b6e4acd 100644 --- a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types @@ -54,7 +54,7 @@ var i: I; >i : I var a: { ->a : { new (x: 'hi'): Derived1; new (x: 'bye'): Derived2; new (x: string): Base; } +>a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } new(x: 'hi'): Derived1; >x : "hi" diff --git a/tests/baselines/reference/umd-augmentation-1.types b/tests/baselines/reference/umd-augmentation-1.types index 0375f4763c..6086a6b6c1 100644 --- a/tests/baselines/reference/umd-augmentation-1.types +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -15,9 +15,9 @@ let v = new m.Vector(3, 2); let magnitude = m.getLength(v); >magnitude : number >m.getLength(v) : number ->m.getLength : (p: m.Vector) => number +>m.getLength : (p: Vector) => number >m : typeof m ->getLength : (p: m.Vector) => number +>getLength : (p: Vector) => number >v : m.Vector let p: m.Point = v.translate(5, 5); diff --git a/tests/baselines/reference/umd-augmentation-2.types b/tests/baselines/reference/umd-augmentation-2.types index 1a48524c7a..1cd79a3c1d 100644 --- a/tests/baselines/reference/umd-augmentation-2.types +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -13,9 +13,9 @@ let v = new Math2d.Vector(3, 2); let magnitude = Math2d.getLength(v); >magnitude : number >Math2d.getLength(v) : number ->Math2d.getLength : (p: Math2d.Vector) => number +>Math2d.getLength : (p: Vector) => number >Math2d : typeof Math2d ->getLength : (p: Math2d.Vector) => number +>getLength : (p: Vector) => number >v : Math2d.Vector let p: Math2d.Point = v.translate(5, 5); diff --git a/tests/baselines/reference/umd-augmentation-3.types b/tests/baselines/reference/umd-augmentation-3.types index a4878115df..3562b92ec0 100644 --- a/tests/baselines/reference/umd-augmentation-3.types +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -15,9 +15,9 @@ let v = new m.Vector(3, 2); let magnitude = m.getLength(v); >magnitude : number >m.getLength(v) : number ->m.getLength : (p: m.Vector) => number +>m.getLength : (p: Vector) => number >m : typeof m ->getLength : (p: m.Vector) => number +>getLength : (p: Vector) => number >v : m.Vector let p: m.Point = v.translate(5, 5); diff --git a/tests/baselines/reference/umd-augmentation-4.types b/tests/baselines/reference/umd-augmentation-4.types index 11fd7a7198..bd4a3c228a 100644 --- a/tests/baselines/reference/umd-augmentation-4.types +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -13,9 +13,9 @@ let v = new Math2d.Vector(3, 2); let magnitude = Math2d.getLength(v); >magnitude : number >Math2d.getLength(v) : number ->Math2d.getLength : (p: Math2d.Vector) => number +>Math2d.getLength : (p: Vector) => number >Math2d : typeof Math2d ->getLength : (p: Math2d.Vector) => number +>getLength : (p: Vector) => number >v : Math2d.Vector let p: Math2d.Point = v.translate(5, 5); diff --git a/tests/baselines/reference/uncalledFunctionChecksInConditional2.types b/tests/baselines/reference/uncalledFunctionChecksInConditional2.types index dbb0176fe6..124bc26671 100644 --- a/tests/baselines/reference/uncalledFunctionChecksInConditional2.types +++ b/tests/baselines/reference/uncalledFunctionChecksInConditional2.types @@ -9,66 +9,66 @@ // Simplified if ( perf && ->perf && perf.measure && perf.clearMarks && perf.clearMeasures : (measureName?: string | undefined) => void ->perf && perf.measure && perf.clearMarks : (markName?: string | undefined) => void ->perf && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>perf && perf.measure && perf.clearMarks && perf.clearMeasures : (measureName?: string) => void +>perf && perf.measure && perf.clearMarks : (markName?: string) => void +>perf && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >perf : Performance perf.measure && ->perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >perf : Performance ->measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure perf.clearMarks && ->perf.clearMarks : (markName?: string | undefined) => void +>perf.clearMarks : (markName?: string) => void >perf : Performance ->clearMarks : (markName?: string | undefined) => void +>clearMarks : (markName?: string) => void perf.clearMeasures ->perf.clearMeasures : (measureName?: string | undefined) => void +>perf.clearMeasures : (measureName?: string) => void >perf : Performance ->clearMeasures : (measureName?: string | undefined) => void +>clearMeasures : (measureName?: string) => void ) { perf.measure(""); >perf.measure("") : PerformanceMeasure ->perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >perf : Performance ->measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >"" : "" perf.clearMarks("") >perf.clearMarks("") : void ->perf.clearMarks : (markName?: string | undefined) => void +>perf.clearMarks : (markName?: string) => void >perf : Performance ->clearMarks : (markName?: string | undefined) => void +>clearMarks : (markName?: string) => void >"" : "" perf.clearMeasures("") >perf.clearMeasures("") : void ->perf.clearMeasures : (measureName?: string | undefined) => void +>perf.clearMeasures : (measureName?: string) => void >perf : Performance ->clearMeasures : (measureName?: string | undefined) => void +>clearMeasures : (measureName?: string) => void >"" : "" } // With || if ( perf && ->perf && perf.mark && perf.measure || !!true : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure ->perf && perf.mark && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure ->perf && perf.mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>perf && perf.mark && perf.measure || !!true : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure +>perf && perf.mark && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure +>perf && perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >perf : Performance perf.mark && ->perf.mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >perf : Performance ->mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark perf.measure || !!true ->perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >perf : Performance ->measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >!!true : true >!true : false >true : true @@ -76,9 +76,9 @@ ) { perf.mark(""); >perf.mark("") : PerformanceMark ->perf.mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >perf : Performance ->mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >"" : "" } }; @@ -104,31 +104,31 @@ declare let inBrowser: boolean; /* istanbul ignore if */ if ( perf && ->perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures : false | ((measureName?: string | undefined) => void) ->perf && perf.mark && perf.measure && perf.clearMarks : false | ((markName?: string | undefined) => void) ->perf && perf.mark && perf.measure : false | ((measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure) ->perf && perf.mark : false | ((markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark) +>perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures : false | ((measureName?: string) => void) +>perf && perf.mark && perf.measure && perf.clearMarks : false | ((markName?: string) => void) +>perf && perf.mark && perf.measure : false | ((measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure) +>perf && perf.mark : false | ((markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark) >perf : false | Performance perf.mark && ->perf.mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >perf : Performance ->mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark perf.measure && ->perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >perf : Performance ->measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure perf.clearMarks && ->perf.clearMarks : (markName?: string | undefined) => void +>perf.clearMarks : (markName?: string) => void >perf : Performance ->clearMarks : (markName?: string | undefined) => void +>clearMarks : (markName?: string) => void perf.clearMeasures ->perf.clearMeasures : (measureName?: string | undefined) => void +>perf.clearMeasures : (measureName?: string) => void >perf : Performance ->clearMeasures : (measureName?: string | undefined) => void +>clearMeasures : (measureName?: string) => void ) { mark = (tag) => perf.mark(tag) @@ -137,9 +137,9 @@ declare let inBrowser: boolean; >(tag) => perf.mark(tag) : (tag: any) => PerformanceMark >tag : any >perf.mark(tag) : PerformanceMark ->perf.mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >perf : Performance ->mark : (markName: string, markOptions?: PerformanceMarkOptions | undefined) => PerformanceMark +>mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark >tag : any measure = (name, startTag, endTag) => { @@ -152,25 +152,25 @@ declare let inBrowser: boolean; perf.measure(name, startTag, endTag) >perf.measure(name, startTag, endTag) : PerformanceMeasure ->perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >perf : Performance ->measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions | undefined, endMark?: string | undefined) => PerformanceMeasure +>measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure >name : any >startTag : any >endTag : any perf.clearMarks(startTag) >perf.clearMarks(startTag) : void ->perf.clearMarks : (markName?: string | undefined) => void +>perf.clearMarks : (markName?: string) => void >perf : Performance ->clearMarks : (markName?: string | undefined) => void +>clearMarks : (markName?: string) => void >startTag : any perf.clearMarks(endTag) >perf.clearMarks(endTag) : void ->perf.clearMarks : (markName?: string | undefined) => void +>perf.clearMarks : (markName?: string) => void >perf : Performance ->clearMarks : (markName?: string | undefined) => void +>clearMarks : (markName?: string) => void >endTag : any // perf.clearMeasures(name) diff --git a/tests/baselines/reference/undeclaredModuleError.types b/tests/baselines/reference/undeclaredModuleError.types index ce13d703bb..1f18207e2f 100644 --- a/tests/baselines/reference/undeclaredModuleError.types +++ b/tests/baselines/reference/undeclaredModuleError.types @@ -3,13 +3,13 @@ import fs = require('fs'); >fs : any function readdir(path: string, accept: (stat: fs.Stats, name: string) => boolean, callback: (error: Error, results: { name: string; stat: fs.Stats; }[]) => void ) {} ->readdir : (path: string, accept: (stat: fs.Stats, name: string) => boolean, callback: (error: Error, results: { name: string; stat: fs.Stats;}[]) => void) => void +>readdir : (path: string, accept: (stat: fs.Stats, name: string) => boolean, callback: (error: Error, results: { name: string; stat: fs.Stats; }[]) => void) => void >path : string >accept : (stat: fs.Stats, name: string) => boolean >stat : fs.Stats >fs : any >name : string ->callback : (error: Error, results: { name: string; stat: fs.Stats;}[]) => void +>callback : (error: Error, results: { name: string; stat: fs.Stats; }[]) => void >error : Error >results : { name: string; stat: fs.Stats; }[] >name : string diff --git a/tests/baselines/reference/undefinedArgumentInference.types b/tests/baselines/reference/undefinedArgumentInference.types index c90cd16226..a3cc04c3dd 100644 --- a/tests/baselines/reference/undefinedArgumentInference.types +++ b/tests/baselines/reference/undefinedArgumentInference.types @@ -1,6 +1,6 @@ === tests/cases/compiler/undefinedArgumentInference.ts === function foo1(f1: { x: T; y: T }): T { ->foo1 : (f1: { x: T; y: T;}) => T +>foo1 : (f1: { x: T; y: T; }) => T >f1 : { x: T; y: T; } >x : T >y : T diff --git a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=false).types b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=false).types index af09de9d3d..8ce4822cb6 100644 --- a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=false).types +++ b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=false).types @@ -1,6 +1,6 @@ === tests/cases/compiler/undefinedAsDiscriminantWithUnknown.ts === type S = ->S : { type: 'string'; value: string; } | { type: 'number'; value: number; } | { type: 'unknown'; value: unknown; } | { value: undefined; } +>S : { type: "string"; value: string; } | { type: "number"; value: number; } | { type: "unknown"; value: unknown; } | { value: undefined; } | { type: 'string', value: string } >type : "string" diff --git a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types index 69d640efe7..1b0cda79a1 100644 --- a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types +++ b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types @@ -1,6 +1,6 @@ === tests/cases/compiler/undefinedAsDiscriminantWithUnknown.ts === type S = ->S : { type: 'string'; value: string; } | { type: 'number'; value: number; } | { type: 'unknown'; value: unknown; } | { value: undefined; } +>S : { type: "string"; value: string; } | { type: "number"; value: number; } | { type: "unknown"; value: unknown; } | { value: undefined; } | { type: 'string', value: string } >type : "string" diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index 91b9d8b8c4..b9ebdaac8e 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -88,21 +88,21 @@ class MyView extends View { var allSeries: ISeries[][] = _.pluck(data, "series"); >allSeries : ISeries[][] >_.pluck(data, "series") : any[] ->_.pluck : (list: _.Collection, propertyName: string) => any[] +>_.pluck : (list: Collection, propertyName: string) => any[] >_ : typeof _ ->pluck : (list: _.Collection, propertyName: string) => any[] +>pluck : (list: Collection, propertyName: string) => any[] >data : IData[] >"series" : "series" return _.map(allSeries, _.first); >_.map(allSeries, _.first) : ISeries[] ->_.map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] +>_.map : (list: List, iterator: ListIterator, context?: any) => TResult[] >_ : typeof _ ->map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] +>map : (list: List, iterator: ListIterator, context?: any) => TResult[] >allSeries : ISeries[][] ->_.first : (array: _.List) => T +>_.first : (array: List) => T >_ : typeof _ ->first : (array: _.List) => T +>first : (array: List) => T } } diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index 27b7ed5cc1..e6a8a3ed02 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -1628,9 +1628,9 @@ _.result(object, 'stuff'); var compiled = _.template("hello: <%= name %>"); >compiled : (data: any) => string >_.template("hello: <%= name %>") : (data: any) => string ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } >_ : Underscore.Static ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } >"hello: <%= name %>" : "hello: <%= name %>" compiled({ name: 'moe' }); @@ -1646,9 +1646,9 @@ var list2 = "<% _.each(people, function(name) { %>

  • <%= name %>
  • <% }); % _.template(list2, { people: ['moe', 'curly', 'larry'] }); >_.template(list2, { people: ['moe', 'curly', 'larry'] }) : string ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } >_ : Underscore.Static ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } >list2 : string >{ people: ['moe', 'curly', 'larry'] } : { people: string[]; } >people : string[] @@ -1660,9 +1660,9 @@ _.template(list2, { people: ['moe', 'curly', 'larry'] }); var template = _.template("<%- value %>"); >template : (data: any) => string >_.template("<%- value %>") : (data: any) => string ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } >_ : Underscore.Static ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } >"<%- value %>" : "<%- value %>" template({ value: '

    & Readonly<{ children?: {}; }> >children : {} | undefined } interface Props { children?: (items: {x: number}) => void ->children : ((items: { x: number;}) => void) | undefined +>children : ((items: { x: number; }) => void) | undefined >items : { x: number; } >x : number } diff --git a/tests/baselines/reference/intersectionPropertyCheck.types b/tests/baselines/reference/intersectionPropertyCheck.types index 515d500973..fb850cbb90 100644 --- a/tests/baselines/reference/intersectionPropertyCheck.types +++ b/tests/baselines/reference/intersectionPropertyCheck.types @@ -1,6 +1,6 @@ === tests/cases/compiler/intersectionPropertyCheck.ts === let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property ->obj : { a: { x: string;}; } & { c: number; } +>obj : { a: { x: string; }; } & { c: number; } >a : { x: string; } >x : string >c : number @@ -15,20 +15,20 @@ let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 >5 : 5 declare let wrong: { a: { y: string } }; ->wrong : { a: { y: string;}; } +>wrong : { a: { y: string; }; } >a : { y: string; } >y : string let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type ->weak : { a?: { x?: number | undefined; } | undefined; } & { c?: string | undefined; } ->a : { x?: number | undefined; } | undefined +>weak : { a?: { x?: number; }; } & { c?: string; } +>a : { x?: number; } | undefined >x : number | undefined >c : string | undefined >wrong : { a: { y: string; }; } function foo(x: { a?: string }, y: T & { a: boolean }) { ->foo : (x: { a?: string;}, y: T & { a: boolean;}) => void ->x : { a?: string | undefined; } +>foo : (x: { a?: string; }, y: T & { a: boolean; }) => void +>x : { a?: string; } >a : string | undefined >y : T & { a: boolean; } >a : boolean diff --git a/tests/baselines/reference/intersectionReduction.types b/tests/baselines/reference/intersectionReduction.types index fc04d01441..8f4285dd0b 100644 --- a/tests/baselines/reference/intersectionReduction.types +++ b/tests/baselines/reference/intersectionReduction.types @@ -89,17 +89,17 @@ type X7 = X | void & string; >X7 : X type A = { kind: 'a', foo: string }; ->A : { kind: 'a'; foo: string; } +>A : { kind: "a"; foo: string; } >kind : "a" >foo : string type B = { kind: 'b', foo: number }; ->B : { kind: 'b'; foo: number; } +>B : { kind: "b"; foo: number; } >kind : "b" >foo : number type C = { kind: 'c', foo: number }; ->C : { kind: 'c'; foo: number; } +>C : { kind: "c"; foo: number; } >kind : "c" >foo : number @@ -173,17 +173,17 @@ type M3 = Merge2<{ a: 1, b: 2 }, { a: 2, c: 3 }>; // { a: 1, b: 2, c: 3 } >c : 3 type D = { kind: 'd', foo: unknown }; ->D : { kind: 'd'; foo: unknown; } +>D : { kind: "d"; foo: unknown; } >kind : "d" >foo : unknown type E = { kind: 'e', foo: unknown }; ->E : { kind: 'e'; foo: unknown; } +>E : { kind: "e"; foo: unknown; } >kind : "e" >foo : unknown declare function f10(x: { foo: T }): T; ->f10 : (x: { foo: T;}) => T +>f10 : (x: { foo: T; }) => T >x : { foo: T; } >foo : T @@ -302,15 +302,15 @@ const f2 = (t: Container<"a"> | (Container<"b"> & Container<"c">)): Container<"a >t : Container<"a"> const f3 = (t: Container<"a"> | (Container<"b"> & { dataB: boolean } & Container<"a">)): Container<"a"> => t; ->f3 : (t: Container<"a"> | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => Container<"a"> ->(t: Container<"a"> | (Container<"b"> & { dataB: boolean } & Container<"a">)): Container<"a"> => t : (t: Container<"a"> | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => Container<"a"> +>f3 : (t: Container<"a"> | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => Container<"a"> +>(t: Container<"a"> | (Container<"b"> & { dataB: boolean } & Container<"a">)): Container<"a"> => t : (t: Container<"a"> | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => Container<"a"> >t : Container<"a"> >dataB : boolean >t : Container<"a"> const f4 = (t: number | (Container<"b"> & { dataB: boolean } & Container<"a">)): number => t; ->f4 : (t: number | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => number ->(t: number | (Container<"b"> & { dataB: boolean } & Container<"a">)): number => t : (t: number | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => number +>f4 : (t: number | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => number +>(t: number | (Container<"b"> & { dataB: boolean } & Container<"a">)): number => t : (t: number | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => number >t : number >dataB : boolean >t : number diff --git a/tests/baselines/reference/intersectionReductionStrict.types b/tests/baselines/reference/intersectionReductionStrict.types index 0859d23785..e51cf986d7 100644 --- a/tests/baselines/reference/intersectionReductionStrict.types +++ b/tests/baselines/reference/intersectionReductionStrict.types @@ -89,17 +89,17 @@ type X7 = X | void & string; >X7 : X type A = { kind: 'a', foo: string }; ->A : { kind: 'a'; foo: string; } +>A : { kind: "a"; foo: string; } >kind : "a" >foo : string type B = { kind: 'b', foo: number }; ->B : { kind: 'b'; foo: number; } +>B : { kind: "b"; foo: number; } >kind : "b" >foo : number type C = { kind: 'c', foo: number }; ->C : { kind: 'c'; foo: number; } +>C : { kind: "c"; foo: number; } >kind : "c" >foo : number @@ -269,15 +269,15 @@ const f2 = (t: Container<"a"> | (Container<"b"> & Container<"c">)): Container<"a >t : Container<"a"> const f3 = (t: Container<"a"> | (Container<"b"> & { dataB: boolean } & Container<"a">)): Container<"a"> => t; ->f3 : (t: Container<"a"> | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => Container<"a"> ->(t: Container<"a"> | (Container<"b"> & { dataB: boolean } & Container<"a">)): Container<"a"> => t : (t: Container<"a"> | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => Container<"a"> +>f3 : (t: Container<"a"> | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => Container<"a"> +>(t: Container<"a"> | (Container<"b"> & { dataB: boolean } & Container<"a">)): Container<"a"> => t : (t: Container<"a"> | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => Container<"a"> >t : Container<"a"> >dataB : boolean >t : Container<"a"> const f4 = (t: number | (Container<"b"> & { dataB: boolean } & Container<"a">)): number => t; ->f4 : (t: number | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => number ->(t: number | (Container<"b"> & { dataB: boolean } & Container<"a">)): number => t : (t: number | (Container<"b"> & { dataB: boolean;} & Container<"a">)) => number +>f4 : (t: number | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => number +>(t: number | (Container<"b"> & { dataB: boolean } & Container<"a">)): number => t : (t: number | (Container<"b"> & { dataB: boolean; } & Container<"a">)) => number >t : number >dataB : boolean >t : number diff --git a/tests/baselines/reference/intersectionTypeInference1.types b/tests/baselines/reference/intersectionTypeInference1.types index a4f1b259c3..e21049f283 100644 --- a/tests/baselines/reference/intersectionTypeInference1.types +++ b/tests/baselines/reference/intersectionTypeInference1.types @@ -6,8 +6,8 @@ function alert(s: string) {} >s : string const parameterFn = (props:{store:string}) => alert(props.store) ->parameterFn : (props: { store: string;}) => void ->(props:{store:string}) => alert(props.store) : (props: { store: string;}) => void +>parameterFn : (props: { store: string; }) => void +>(props:{store:string}) => alert(props.store) : (props: { store: string; }) => void >props : { store: string; } >store : string >alert(props.store) : void @@ -19,7 +19,7 @@ const parameterFn = (props:{store:string}) => alert(props.store) const brokenFunction = (f: (p: {dispatch: number} & OwnProps) => void) => (o: OwnProps) => o >brokenFunction : (f: (p: { dispatch: number; } & OwnProps) => void) => (o: OwnProps) => OwnProps >(f: (p: {dispatch: number} & OwnProps) => void) => (o: OwnProps) => o : (f: (p: { dispatch: number; } & OwnProps) => void) => (o: OwnProps) => OwnProps ->f : (p: { dispatch: number;} & OwnProps) => void +>f : (p: { dispatch: number; } & OwnProps) => void >p : { dispatch: number; } & OwnProps >dispatch : number >(o: OwnProps) => o : (o: OwnProps) => OwnProps diff --git a/tests/baselines/reference/intersectionTypeInference2.types b/tests/baselines/reference/intersectionTypeInference2.types index 073f14d92a..59961b4c04 100644 --- a/tests/baselines/reference/intersectionTypeInference2.types +++ b/tests/baselines/reference/intersectionTypeInference2.types @@ -1,6 +1,6 @@ === tests/cases/conformance/types/intersection/intersectionTypeInference2.ts === declare function f(x: { prop: T }): T; ->f : (x: { prop: T;}) => T +>f : (x: { prop: T; }) => T >x : { prop: T; } >prop : T diff --git a/tests/baselines/reference/intersectionTypeMembers.types b/tests/baselines/reference/intersectionTypeMembers.types index 9ff067f0b7..17ff28f99e 100644 --- a/tests/baselines/reference/intersectionTypeMembers.types +++ b/tests/baselines/reference/intersectionTypeMembers.types @@ -99,7 +99,7 @@ var n = f(42); interface D { nested: { doublyNested: { d: string; }, different: { e: number } }; ->nested : { doublyNested: { d: string;}; different: { e: number;}; } +>nested : { doublyNested: { d: string; }; different: { e: number; }; } >doublyNested : { d: string; } >d : string >different : { e: number; } @@ -107,7 +107,7 @@ interface D { } interface E { nested: { doublyNested: { f: string; }, other: {g: number } }; ->nested : { doublyNested: { f: string;}; other: { g: number;}; } +>nested : { doublyNested: { f: string; }; other: { g: number; }; } >doublyNested : { f: string; } >f : string >other : { g: number; } @@ -151,14 +151,14 @@ const de: D & E = { // Additional test case with >2 doubly nested members so fix for #31441 is tested w/ excess props interface F { nested: { doublyNested: { g: string; } } ->nested : { doublyNested: { g: string;}; } +>nested : { doublyNested: { g: string; }; } >doublyNested : { g: string; } >g : string } interface G { nested: { doublyNested: { h: string; } } ->nested : { doublyNested: { h: string;}; } +>nested : { doublyNested: { h: string; }; } >doublyNested : { h: string; } >h : string } diff --git a/tests/baselines/reference/intersectionTypeNormalization.types b/tests/baselines/reference/intersectionTypeNormalization.types index 6f2f4e35cb..2250928c65 100644 --- a/tests/baselines/reference/intersectionTypeNormalization.types +++ b/tests/baselines/reference/intersectionTypeNormalization.types @@ -96,7 +96,7 @@ type ToString = { } type BoxedValue = { kind: 'int', num: number } ->BoxedValue : { kind: 'int'; num: number; } | { kind: 'string'; str: string; } +>BoxedValue : { kind: "int"; num: number; } | { kind: "string"; str: string; } >kind : "int" >num : number @@ -108,7 +108,7 @@ type IntersectionFail = BoxedValue & ToString >IntersectionFail : BoxedValue & ToString type IntersectionInline = { kind: 'int', num: number } & ToString ->IntersectionInline : ({ kind: 'int'; num: number; } & ToString) | ({ kind: 'string'; str: string; } & ToString) +>IntersectionInline : ({ kind: "int"; num: number; } & ToString) | ({ kind: "string"; str: string; } & ToString) >kind : "int" >num : number diff --git a/tests/baselines/reference/intersectionType_useDefineForClassFields.types b/tests/baselines/reference/intersectionType_useDefineForClassFields.types index a10ddc1ad5..601cac41a1 100644 --- a/tests/baselines/reference/intersectionType_useDefineForClassFields.types +++ b/tests/baselines/reference/intersectionType_useDefineForClassFields.types @@ -6,7 +6,7 @@ type Foo = { } function bar(_p: T): { new(): Foo } { ->bar : (_p: T) => { new (): Foo;} +>bar : (_p: T) => { new (): Foo; } >_p : T return null as any; diff --git a/tests/baselines/reference/intersectionWithConflictingPrivates.types b/tests/baselines/reference/intersectionWithConflictingPrivates.types index 88b5d864fd..97ca82936b 100644 --- a/tests/baselines/reference/intersectionWithConflictingPrivates.types +++ b/tests/baselines/reference/intersectionWithConflictingPrivates.types @@ -131,9 +131,9 @@ class Foo { await this.bar(node); >await this.bar(node) : undefined >this.bar(node) : Promise ->this.bar : (node: CommitFileNode | ResultsFileNode | StashFileNode | StatusFileNode, options?: {} | undefined) => Promise +>this.bar : (node: CommitFileNode | ResultsFileNode | StashFileNode | StatusFileNode, options?: {}) => Promise >this : this ->bar : (node: CommitFileNode | ResultsFileNode | StashFileNode | StatusFileNode, options?: {} | undefined) => Promise +>bar : (node: CommitFileNode | ResultsFileNode | StashFileNode | StatusFileNode, options?: {}) => Promise >node : CommitFileNode | ResultsFileNode } diff --git a/tests/baselines/reference/intersectionWithIndexSignatures.types b/tests/baselines/reference/intersectionWithIndexSignatures.types index 21d2d72f0c..431c1abdde 100644 --- a/tests/baselines/reference/intersectionWithIndexSignatures.types +++ b/tests/baselines/reference/intersectionWithIndexSignatures.types @@ -74,13 +74,13 @@ declare const q: s; q["asd"].a.substr(1); >q["asd"].a.substr(1) : string ->q["asd"].a.substr : (from: number, length?: number | undefined) => string +>q["asd"].a.substr : (from: number, length?: number) => string >q["asd"].a : string >q["asd"] : { a: string; } >q : s >"asd" : "asd" >a : string ->substr : (from: number, length?: number | undefined) => string +>substr : (from: number, length?: number) => string >1 : 1 q["asd"].b; // Error diff --git a/tests/baselines/reference/intersectionsAndOptionalProperties.types b/tests/baselines/reference/intersectionsAndOptionalProperties.types index f00ab71e13..4337e86ee0 100644 --- a/tests/baselines/reference/intersectionsAndOptionalProperties.types +++ b/tests/baselines/reference/intersectionsAndOptionalProperties.types @@ -1,6 +1,6 @@ === tests/cases/compiler/intersectionsAndOptionalProperties.ts === declare let x: { a?: number, b: string }; ->x : { a?: number | undefined; b: string; } +>x : { a?: number; b: string; } >a : number | undefined >b : string diff --git a/tests/baselines/reference/intraExpressionInferences.types b/tests/baselines/reference/intraExpressionInferences.types index 87e12e55da..c0fcc83df7 100644 --- a/tests/baselines/reference/intraExpressionInferences.types +++ b/tests/baselines/reference/intraExpressionInferences.types @@ -30,9 +30,9 @@ callIt({ >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); @@ -52,9 +52,9 @@ callIt({ >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); @@ -75,9 +75,9 @@ callIt({ >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); @@ -96,9 +96,9 @@ callItT([() => 0, n => n.toFixed()]); >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string callItT([_a => 0, n => n.toFixed()]); >callItT([_a => 0, n => n.toFixed()]) : void @@ -110,9 +110,9 @@ callItT([_a => 0, n => n.toFixed()]); >n => n.toFixed() : (n: number) => string >n : number >n.toFixed() : string ->n.toFixed : (fractionDigits?: number | undefined) => string +>n.toFixed : (fractionDigits?: number) => string >n : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string // Repro from #25092 @@ -149,9 +149,9 @@ const myGeneric = inferTypeFn({ >generic => generic.toFixed() : (generic: number) => string >generic : number >generic.toFixed() : string ->generic.toFixed : (fractionDigits?: number | undefined) => string +>generic.toFixed : (fractionDigits?: number) => string >generic : number ->toFixed : (fractionDigits?: number | undefined) => string +>toFixed : (fractionDigits?: number) => string }); @@ -342,7 +342,7 @@ type MappingComponent = { >MappingComponent : MappingComponent setup(): { inputs: I; outputs: O }; ->setup : () => { inputs: I; outputs: O;} +>setup : () => { inputs: I; outputs: O; } >inputs : I >outputs : O diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.types b/tests/baselines/reference/invariantGenericErrorElaboration.types index 67f336786f..e13a70f81e 100644 --- a/tests/baselines/reference/invariantGenericErrorElaboration.types +++ b/tests/baselines/reference/invariantGenericErrorElaboration.types @@ -39,7 +39,7 @@ interface Constraint> extends Runtype { >underlying : A check: (x: A['witness']) => void, ->check : (x: A['witness']) => void +>check : (x: A["witness"]) => void >x : A["witness"] } diff --git a/tests/baselines/reference/isDeclarationVisibleNodeKinds.types b/tests/baselines/reference/isDeclarationVisibleNodeKinds.types index f20a624de8..80e8d1e681 100644 --- a/tests/baselines/reference/isDeclarationVisibleNodeKinds.types +++ b/tests/baselines/reference/isDeclarationVisibleNodeKinds.types @@ -32,7 +32,7 @@ module schema { >schema : typeof schema export function createValidator3(schema: any): number | { new (data: T): T; } { ->createValidator3 : (schema: any) => number | (new (data: T) => T) +>createValidator3 : (schema: any) => number | { new (data: T): T; } >schema : any >data : T @@ -46,7 +46,7 @@ module schema { >schema : typeof schema export function createValidator4(schema: any): { new (data: T): T; }[] { ->createValidator4 : (schema: any) => (new (data: T) => T)[] +>createValidator4 : (schema: any) => { new (data: T): T; }[] >schema : any >data : T @@ -61,7 +61,7 @@ module schema { >schema : typeof schema export function createValidator5(schema: any): { new (data: T): T } { ->createValidator5 : (schema: any) => new (data: T) => T +>createValidator5 : (schema: any) => { new (data: T): T; } >schema : any >data : T @@ -103,7 +103,7 @@ module schema { >schema : typeof schema export function createValidator8(schema: any): Array<{ (data: T) : T}> { ->createValidator8 : (schema: any) => ((data: T) => T)[] +>createValidator8 : (schema: any) => Array<{ (data: T): T; }> >schema : any >data : T diff --git a/tests/baselines/reference/isolatedDeclarationErrors.errors.txt b/tests/baselines/reference/isolatedDeclarationErrors.errors.txt new file mode 100644 index 0000000000..7f927dd36a --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrors.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/isolatedDeclarationErrors.ts(2,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrors.ts(5,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrors.ts(8,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + + +==== tests/cases/compiler/isolatedDeclarationErrors.ts (3 errors) ==== + function errorOnAssignmentBelowDecl(): void {} + errorOnAssignmentBelowDecl.a = ""; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + + const errorOnAssignmentBelow = (): void => {} + errorOnAssignmentBelow.a = ""; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + + const errorOnMissingReturn = () => {} + errorOnMissingReturn.a = ""; + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrors.js b/tests/baselines/reference/isolatedDeclarationErrors.js new file mode 100644 index 0000000000..e0be5afbf0 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrors.js @@ -0,0 +1,18 @@ +//// [isolatedDeclarationErrors.ts] +function errorOnAssignmentBelowDecl(): void {} +errorOnAssignmentBelowDecl.a = ""; + +const errorOnAssignmentBelow = (): void => {} +errorOnAssignmentBelow.a = ""; + +const errorOnMissingReturn = () => {} +errorOnMissingReturn.a = ""; + + +//// [isolatedDeclarationErrors.js] +function errorOnAssignmentBelowDecl() { } +errorOnAssignmentBelowDecl.a = ""; +const errorOnAssignmentBelow = () => { }; +errorOnAssignmentBelow.a = ""; +const errorOnMissingReturn = () => { }; +errorOnMissingReturn.a = ""; diff --git a/tests/baselines/reference/isolatedDeclarationErrors.symbols b/tests/baselines/reference/isolatedDeclarationErrors.symbols new file mode 100644 index 0000000000..bdcf82af61 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrors.symbols @@ -0,0 +1,25 @@ +=== tests/cases/compiler/isolatedDeclarationErrors.ts === +function errorOnAssignmentBelowDecl(): void {} +>errorOnAssignmentBelowDecl : Symbol(errorOnAssignmentBelowDecl, Decl(isolatedDeclarationErrors.ts, 0, 0), Decl(isolatedDeclarationErrors.ts, 0, 46)) + +errorOnAssignmentBelowDecl.a = ""; +>errorOnAssignmentBelowDecl.a : Symbol(errorOnAssignmentBelowDecl.a, Decl(isolatedDeclarationErrors.ts, 0, 46)) +>errorOnAssignmentBelowDecl : Symbol(errorOnAssignmentBelowDecl, Decl(isolatedDeclarationErrors.ts, 0, 0), Decl(isolatedDeclarationErrors.ts, 0, 46)) +>a : Symbol(errorOnAssignmentBelowDecl.a, Decl(isolatedDeclarationErrors.ts, 0, 46)) + +const errorOnAssignmentBelow = (): void => {} +>errorOnAssignmentBelow : Symbol(errorOnAssignmentBelow, Decl(isolatedDeclarationErrors.ts, 3, 5), Decl(isolatedDeclarationErrors.ts, 3, 45)) + +errorOnAssignmentBelow.a = ""; +>errorOnAssignmentBelow.a : Symbol(errorOnAssignmentBelow.a, Decl(isolatedDeclarationErrors.ts, 3, 45)) +>errorOnAssignmentBelow : Symbol(errorOnAssignmentBelow, Decl(isolatedDeclarationErrors.ts, 3, 5), Decl(isolatedDeclarationErrors.ts, 3, 45)) +>a : Symbol(errorOnAssignmentBelow.a, Decl(isolatedDeclarationErrors.ts, 3, 45)) + +const errorOnMissingReturn = () => {} +>errorOnMissingReturn : Symbol(errorOnMissingReturn, Decl(isolatedDeclarationErrors.ts, 6, 5), Decl(isolatedDeclarationErrors.ts, 6, 37)) + +errorOnMissingReturn.a = ""; +>errorOnMissingReturn.a : Symbol(errorOnMissingReturn.a, Decl(isolatedDeclarationErrors.ts, 6, 37)) +>errorOnMissingReturn : Symbol(errorOnMissingReturn, Decl(isolatedDeclarationErrors.ts, 6, 5), Decl(isolatedDeclarationErrors.ts, 6, 37)) +>a : Symbol(errorOnMissingReturn.a, Decl(isolatedDeclarationErrors.ts, 6, 37)) + diff --git a/tests/baselines/reference/isolatedDeclarationErrors.types b/tests/baselines/reference/isolatedDeclarationErrors.types new file mode 100644 index 0000000000..3fe6a9368d --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrors.types @@ -0,0 +1,33 @@ +=== tests/cases/compiler/isolatedDeclarationErrors.ts === +function errorOnAssignmentBelowDecl(): void {} +>errorOnAssignmentBelowDecl : typeof errorOnAssignmentBelowDecl + +errorOnAssignmentBelowDecl.a = ""; +>errorOnAssignmentBelowDecl.a = "" : "" +>errorOnAssignmentBelowDecl.a : string +>errorOnAssignmentBelowDecl : typeof errorOnAssignmentBelowDecl +>a : string +>"" : "" + +const errorOnAssignmentBelow = (): void => {} +>errorOnAssignmentBelow : { (): void; a: string; } +>(): void => {} : { (): void; a: string; } + +errorOnAssignmentBelow.a = ""; +>errorOnAssignmentBelow.a = "" : "" +>errorOnAssignmentBelow.a : string +>errorOnAssignmentBelow : { (): void; a: string; } +>a : string +>"" : "" + +const errorOnMissingReturn = () => {} +>errorOnMissingReturn : { (): void; a: string; } +>() => {} : { (): void; a: string; } + +errorOnMissingReturn.a = ""; +>errorOnMissingReturn.a = "" : "" +>errorOnMissingReturn.a : string +>errorOnMissingReturn : { (): void; a: string; } +>a : string +>"" : "" + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.errors.txt new file mode 100644 index 0000000000..9c0aa1ccfa --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.errors.txt @@ -0,0 +1,28 @@ +tests/cases/compiler/child1.ts(9,17): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/parent.ts(1,1): error TS9026: Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations. + + +==== tests/cases/compiler/child1.ts (1 errors) ==== + import { ParentThing } from './parent'; + + declare module './parent' { + interface ParentThing { + add: (a: number, b: number) => number; + } + } + + export function child1(prototype: ParentThing) { + ~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 tests/cases/compiler/child1.ts:9:17: Add a return type to the function declaration. + prototype.add = (a: number, b: number) => a + b; + } + +==== tests/cases/compiler/parent.ts (1 errors) ==== + import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9026: Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations. + + export class ParentThing implements ParentThing {} + + child1(ParentThing.prototype); \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.js b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.js new file mode 100644 index 0000000000..59d0b94817 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/isolatedDeclarationErrorsAugmentation.ts] //// + +//// [child1.ts] +import { ParentThing } from './parent'; + +declare module './parent' { + interface ParentThing { + add: (a: number, b: number) => number; + } +} + +export function child1(prototype: ParentThing) { + prototype.add = (a: number, b: number) => a + b; +} + +//// [parent.ts] +import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module + +export class ParentThing implements ParentThing {} + +child1(ParentThing.prototype); + +//// [parent.js] +import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module +export class ParentThing { +} +child1(ParentThing.prototype); +//// [child1.js] +export function child1(prototype) { + prototype.add = (a, b) => a + b; +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.symbols b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.symbols new file mode 100644 index 0000000000..f7026a83b1 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.symbols @@ -0,0 +1,46 @@ +=== tests/cases/compiler/child1.ts === +import { ParentThing } from './parent'; +>ParentThing : Symbol(ParentThing, Decl(child1.ts, 0, 8)) + +declare module './parent' { +>'./parent' : Symbol("tests/cases/compiler/parent", Decl(parent.ts, 0, 0), Decl(child1.ts, 0, 39)) + + interface ParentThing { +>ParentThing : Symbol(ParentThing, Decl(parent.ts, 0, 34), Decl(child1.ts, 2, 27)) + + add: (a: number, b: number) => number; +>add : Symbol(ParentThing.add, Decl(child1.ts, 3, 27)) +>a : Symbol(a, Decl(child1.ts, 4, 14)) +>b : Symbol(b, Decl(child1.ts, 4, 24)) + } +} + +export function child1(prototype: ParentThing) { +>child1 : Symbol(child1, Decl(child1.ts, 6, 1)) +>prototype : Symbol(prototype, Decl(child1.ts, 8, 23)) +>ParentThing : Symbol(ParentThing, Decl(child1.ts, 0, 8)) + + prototype.add = (a: number, b: number) => a + b; +>prototype.add : Symbol(ParentThing.add, Decl(child1.ts, 3, 27)) +>prototype : Symbol(prototype, Decl(child1.ts, 8, 23)) +>add : Symbol(ParentThing.add, Decl(child1.ts, 3, 27)) +>a : Symbol(a, Decl(child1.ts, 9, 21)) +>b : Symbol(b, Decl(child1.ts, 9, 31)) +>a : Symbol(a, Decl(child1.ts, 9, 21)) +>b : Symbol(b, Decl(child1.ts, 9, 31)) +} + +=== tests/cases/compiler/parent.ts === +import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module +>child1 : Symbol(child1, Decl(parent.ts, 0, 8)) + +export class ParentThing implements ParentThing {} +>ParentThing : Symbol(ParentThing, Decl(parent.ts, 0, 34), Decl(child1.ts, 2, 27)) +>ParentThing : Symbol(ParentThing, Decl(parent.ts, 0, 34), Decl(child1.ts, 2, 27)) + +child1(ParentThing.prototype); +>child1 : Symbol(child1, Decl(parent.ts, 0, 8)) +>ParentThing.prototype : Symbol(ParentThing.prototype) +>ParentThing : Symbol(ParentThing, Decl(parent.ts, 0, 34), Decl(child1.ts, 2, 27)) +>prototype : Symbol(ParentThing.prototype) + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types new file mode 100644 index 0000000000..bcb3f3a066 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types @@ -0,0 +1,46 @@ +=== tests/cases/compiler/child1.ts === +import { ParentThing } from './parent'; +>ParentThing : typeof ParentThing + +declare module './parent' { +>'./parent' : typeof import("tests/cases/compiler/parent") + + interface ParentThing { + add: (a: number, b: number) => number; +>add : (a: number, b: number) => number +>a : number +>b : number + } +} + +export function child1(prototype: ParentThing) { +>child1 : (prototype: ParentThing) => void +>prototype : ParentThing + + prototype.add = (a: number, b: number) => a + b; +>prototype.add = (a: number, b: number) => a + b : (a: number, b: number) => number +>prototype.add : (a: number, b: number) => number +>prototype : ParentThing +>add : (a: number, b: number) => number +>(a: number, b: number) => a + b : (a: number, b: number) => number +>a : number +>b : number +>a + b : number +>a : number +>b : number +} + +=== tests/cases/compiler/parent.ts === +import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module +>child1 : (prototype: ParentThing) => void + +export class ParentThing implements ParentThing {} +>ParentThing : ParentThing + +child1(ParentThing.prototype); +>child1(ParentThing.prototype) : void +>child1 : (prototype: ParentThing) => void +>ParentThing.prototype : ParentThing +>ParentThing : typeof ParentThing +>prototype : ParentThing + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt new file mode 100644 index 0000000000..09f684fe3b --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt @@ -0,0 +1,128 @@ +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(3,5): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(4,5): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(8,18): error TS7006: Parameter 'p' implicitly has an 'any' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(8,18): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(9,23): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(11,9): error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(12,9): error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(12,17): error TS7006: Parameter 'value' implicitly has an 'any' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(36,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(36,6): error TS2304: Cannot find name 'missing'. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(42,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(44,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(44,35): error TS7006: Parameter 'v' implicitly has an 'any' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(46,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(48,9): error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(48,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(48,39): error TS7006: Parameter 'value' implicitly has an 'any' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(50,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(55,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(56,5): error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. +tests/cases/compiler/isolatedDeclarationErrorsClasses.ts(56,5): error TS9013: Expression type can't be inferred with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationErrorsClasses.ts (21 errors) ==== + export class Cls { + + field = 1 + 1; + ~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsClasses.ts:3:5: Add a type annotation to the property field. + method() {} + ~~~~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9034 tests/cases/compiler/isolatedDeclarationErrorsClasses.ts:4:5: Add a return type to the method + + methodOk(): void {} + + methodParams(p): void {} + ~ +!!! error TS7006: Parameter 'p' implicitly has an 'any' type. + ~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsClasses.ts:8:18: Add a type annotation to the parameter p. + methodParams2(p = 1 + 1): void {} + ~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsClasses.ts:9:19: Add a type annotation to the parameter p. + + get getOnly() { return 1 + 1 } + ~~~~~~~ +!!! error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9032 tests/cases/compiler/isolatedDeclarationErrorsClasses.ts:11:9: Add a return type to the get accessor declaration. + set setOnly(value) { } + ~~~~~~~ +!!! error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~~~ +!!! error TS7006: Parameter 'value' implicitly has an 'any' type. + + get getSetBad() { return 0 } + set getSetBad(value) { } + + get getSetOk(): number { return 0 } + set getSetOk(value) { } + + get getSetOk2() { return 0 } + set getSetOk2(value: number) { } + + get getSetOk3(): number { return 0 } + set getSetOk3(value: number) { } + } + + let noAnnotationStringName: string = "noAnnotationStringName"; + let noParamAnnotationStringName: string = "noParamAnnotationStringName"; + + const noAnnotationLiteralName = "noAnnotationLiteralName"; + const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; + + export class C { + + // Should not be reported as an isolated declaration error + [missing] = 1; + ~~~~~~~~~ +!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + ~~~~~~~ +!!! error TS2304: Cannot find name 'missing'. + + [noAnnotationLiteralName](): void { } + + [noParamAnnotationLiteralName](v: string): void { } + + [noAnnotationStringName]() { } + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + + [noParamAnnotationStringName](v): void { } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + ~ +!!! error TS7006: Parameter 'v' implicitly has an 'any' type. + + get [noAnnotationStringName]() { return 0;} + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + + set [noParamAnnotationStringName](value) { } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + ~~~~~ +!!! error TS7006: Parameter 'value' implicitly has an 'any' type. + + [("A" + "B") as "AB"] = 1; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + + } + + export interface I { + [noAnnotationStringName]: 10; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. + [noAnnotationLiteralName](); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. + } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.js b/tests/baselines/reference/isolatedDeclarationErrorsClasses.js new file mode 100644 index 0000000000..34cc4009d6 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.js @@ -0,0 +1,92 @@ +//// [isolatedDeclarationErrorsClasses.ts] +export class Cls { + + field = 1 + 1; + method() {} + + methodOk(): void {} + + methodParams(p): void {} + methodParams2(p = 1 + 1): void {} + + get getOnly() { return 1 + 1 } + set setOnly(value) { } + + get getSetBad() { return 0 } + set getSetBad(value) { } + + get getSetOk(): number { return 0 } + set getSetOk(value) { } + + get getSetOk2() { return 0 } + set getSetOk2(value: number) { } + + get getSetOk3(): number { return 0 } + set getSetOk3(value: number) { } +} + +let noAnnotationStringName: string = "noAnnotationStringName"; +let noParamAnnotationStringName: string = "noParamAnnotationStringName"; + +const noAnnotationLiteralName = "noAnnotationLiteralName"; +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; + +export class C { + + // Should not be reported as an isolated declaration error + [missing] = 1; + + [noAnnotationLiteralName](): void { } + + [noParamAnnotationLiteralName](v: string): void { } + + [noAnnotationStringName]() { } + + [noParamAnnotationStringName](v): void { } + + get [noAnnotationStringName]() { return 0;} + + set [noParamAnnotationStringName](value) { } + + [("A" + "B") as "AB"] = 1; + +} + +export interface I { + [noAnnotationStringName]: 10; + [noAnnotationLiteralName](); +} + +//// [isolatedDeclarationErrorsClasses.js] +export class Cls { + field = 1 + 1; + method() { } + methodOk() { } + methodParams(p) { } + methodParams2(p = 1 + 1) { } + get getOnly() { return 1 + 1; } + set setOnly(value) { } + get getSetBad() { return 0; } + set getSetBad(value) { } + get getSetOk() { return 0; } + set getSetOk(value) { } + get getSetOk2() { return 0; } + set getSetOk2(value) { } + get getSetOk3() { return 0; } + set getSetOk3(value) { } +} +let noAnnotationStringName = "noAnnotationStringName"; +let noParamAnnotationStringName = "noParamAnnotationStringName"; +const noAnnotationLiteralName = "noAnnotationLiteralName"; +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; +export class C { + // Should not be reported as an isolated declaration error + [missing] = 1; + [noAnnotationLiteralName]() { } + [noParamAnnotationLiteralName](v) { } + [noAnnotationStringName]() { } + [noParamAnnotationStringName](v) { } + get [noAnnotationStringName]() { return 0; } + set [noParamAnnotationStringName](value) { } + [("A" + "B")] = 1; +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols b/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols new file mode 100644 index 0000000000..93d5f8c170 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols @@ -0,0 +1,119 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsClasses.ts === +export class Cls { +>Cls : Symbol(Cls, Decl(isolatedDeclarationErrorsClasses.ts, 0, 0)) + + field = 1 + 1; +>field : Symbol(Cls.field, Decl(isolatedDeclarationErrorsClasses.ts, 0, 18)) + + method() {} +>method : Symbol(Cls.method, Decl(isolatedDeclarationErrorsClasses.ts, 2, 18)) + + methodOk(): void {} +>methodOk : Symbol(Cls.methodOk, Decl(isolatedDeclarationErrorsClasses.ts, 3, 15)) + + methodParams(p): void {} +>methodParams : Symbol(Cls.methodParams, Decl(isolatedDeclarationErrorsClasses.ts, 5, 23)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsClasses.ts, 7, 17)) + + methodParams2(p = 1 + 1): void {} +>methodParams2 : Symbol(Cls.methodParams2, Decl(isolatedDeclarationErrorsClasses.ts, 7, 28)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsClasses.ts, 8, 18)) + + get getOnly() { return 1 + 1 } +>getOnly : Symbol(Cls.getOnly, Decl(isolatedDeclarationErrorsClasses.ts, 8, 37)) + + set setOnly(value) { } +>setOnly : Symbol(Cls.setOnly, Decl(isolatedDeclarationErrorsClasses.ts, 10, 34)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 11, 16)) + + get getSetBad() { return 0 } +>getSetBad : Symbol(Cls.getSetBad, Decl(isolatedDeclarationErrorsClasses.ts, 11, 26), Decl(isolatedDeclarationErrorsClasses.ts, 13, 32)) + + set getSetBad(value) { } +>getSetBad : Symbol(Cls.getSetBad, Decl(isolatedDeclarationErrorsClasses.ts, 11, 26), Decl(isolatedDeclarationErrorsClasses.ts, 13, 32)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 14, 18)) + + get getSetOk(): number { return 0 } +>getSetOk : Symbol(Cls.getSetOk, Decl(isolatedDeclarationErrorsClasses.ts, 14, 28), Decl(isolatedDeclarationErrorsClasses.ts, 16, 39)) + + set getSetOk(value) { } +>getSetOk : Symbol(Cls.getSetOk, Decl(isolatedDeclarationErrorsClasses.ts, 14, 28), Decl(isolatedDeclarationErrorsClasses.ts, 16, 39)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 17, 17)) + + get getSetOk2() { return 0 } +>getSetOk2 : Symbol(Cls.getSetOk2, Decl(isolatedDeclarationErrorsClasses.ts, 17, 27), Decl(isolatedDeclarationErrorsClasses.ts, 19, 32)) + + set getSetOk2(value: number) { } +>getSetOk2 : Symbol(Cls.getSetOk2, Decl(isolatedDeclarationErrorsClasses.ts, 17, 27), Decl(isolatedDeclarationErrorsClasses.ts, 19, 32)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 20, 18)) + + get getSetOk3(): number { return 0 } +>getSetOk3 : Symbol(Cls.getSetOk3, Decl(isolatedDeclarationErrorsClasses.ts, 20, 36), Decl(isolatedDeclarationErrorsClasses.ts, 22, 40)) + + set getSetOk3(value: number) { } +>getSetOk3 : Symbol(Cls.getSetOk3, Decl(isolatedDeclarationErrorsClasses.ts, 20, 36), Decl(isolatedDeclarationErrorsClasses.ts, 22, 40)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 23, 18)) +} + +let noAnnotationStringName: string = "noAnnotationStringName"; +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + +let noParamAnnotationStringName: string = "noParamAnnotationStringName"; +>noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) + +const noAnnotationLiteralName = "noAnnotationLiteralName"; +>noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) + +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; +>noParamAnnotationLiteralName : Symbol(noParamAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 30, 5)) + +export class C { +>C : Symbol(C, Decl(isolatedDeclarationErrorsClasses.ts, 30, 68)) + + // Should not be reported as an isolated declaration error + [missing] = 1; +>[missing] : Symbol(C[missing], Decl(isolatedDeclarationErrorsClasses.ts, 32, 16)) + + [noAnnotationLiteralName](): void { } +>[noAnnotationLiteralName] : Symbol(C[noAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 35, 18)) +>noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) + + [noParamAnnotationLiteralName](v: string): void { } +>[noParamAnnotationLiteralName] : Symbol(C[noParamAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 37, 41)) +>noParamAnnotationLiteralName : Symbol(noParamAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 30, 5)) +>v : Symbol(v, Decl(isolatedDeclarationErrorsClasses.ts, 39, 35)) + + [noAnnotationStringName]() { } +>[noAnnotationStringName] : Symbol(C[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 39, 55)) +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + + [noParamAnnotationStringName](v): void { } +>[noParamAnnotationStringName] : Symbol(C[noParamAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 41, 34)) +>noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) +>v : Symbol(v, Decl(isolatedDeclarationErrorsClasses.ts, 43, 34)) + + get [noAnnotationStringName]() { return 0;} +>[noAnnotationStringName] : Symbol(C[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 43, 46)) +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + + set [noParamAnnotationStringName](value) { } +>[noParamAnnotationStringName] : Symbol(C[noParamAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 45, 47)) +>noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 47, 38)) + + [("A" + "B") as "AB"] = 1; +>[("A" + "B") as "AB"] : Symbol(C[("A" + "B") as "AB"], Decl(isolatedDeclarationErrorsClasses.ts, 47, 48)) + +} + +export interface I { +>I : Symbol(I, Decl(isolatedDeclarationErrorsClasses.ts, 51, 1)) + + [noAnnotationStringName]: 10; +>[noAnnotationStringName] : Symbol(I[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 53, 20)) +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + + [noAnnotationLiteralName](); +>[noAnnotationLiteralName] : Symbol(I[noAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 54, 33)) +>noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.types b/tests/baselines/reference/isolatedDeclarationErrorsClasses.types new file mode 100644 index 0000000000..c8148241bd --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.types @@ -0,0 +1,143 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsClasses.ts === +export class Cls { +>Cls : Cls + + field = 1 + 1; +>field : number +>1 + 1 : number +>1 : 1 +>1 : 1 + + method() {} +>method : () => void + + methodOk(): void {} +>methodOk : () => void + + methodParams(p): void {} +>methodParams : (p: any) => void +>p : any + + methodParams2(p = 1 + 1): void {} +>methodParams2 : (p?: number) => void +>p : number +>1 + 1 : number +>1 : 1 +>1 : 1 + + get getOnly() { return 1 + 1 } +>getOnly : number +>1 + 1 : number +>1 : 1 +>1 : 1 + + set setOnly(value) { } +>setOnly : any +>value : any + + get getSetBad() { return 0 } +>getSetBad : number +>0 : 0 + + set getSetBad(value) { } +>getSetBad : number +>value : number + + get getSetOk(): number { return 0 } +>getSetOk : number +>0 : 0 + + set getSetOk(value) { } +>getSetOk : number +>value : number + + get getSetOk2() { return 0 } +>getSetOk2 : number +>0 : 0 + + set getSetOk2(value: number) { } +>getSetOk2 : number +>value : number + + get getSetOk3(): number { return 0 } +>getSetOk3 : number +>0 : 0 + + set getSetOk3(value: number) { } +>getSetOk3 : number +>value : number +} + +let noAnnotationStringName: string = "noAnnotationStringName"; +>noAnnotationStringName : string +>"noAnnotationStringName" : "noAnnotationStringName" + +let noParamAnnotationStringName: string = "noParamAnnotationStringName"; +>noParamAnnotationStringName : string +>"noParamAnnotationStringName" : "noParamAnnotationStringName" + +const noAnnotationLiteralName = "noAnnotationLiteralName"; +>noAnnotationLiteralName : "noAnnotationLiteralName" +>"noAnnotationLiteralName" : "noAnnotationLiteralName" + +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; +>noParamAnnotationLiteralName : "noParamAnnotationLiteralName" +>"noParamAnnotationLiteralName" : "noParamAnnotationLiteralName" + +export class C { +>C : C + + // Should not be reported as an isolated declaration error + [missing] = 1; +>[missing] : number +>missing : any +>1 : 1 + + [noAnnotationLiteralName](): void { } +>[noAnnotationLiteralName] : () => void +>noAnnotationLiteralName : "noAnnotationLiteralName" + + [noParamAnnotationLiteralName](v: string): void { } +>[noParamAnnotationLiteralName] : (v: string) => void +>noParamAnnotationLiteralName : "noParamAnnotationLiteralName" +>v : string + + [noAnnotationStringName]() { } +>[noAnnotationStringName] : () => void +>noAnnotationStringName : string + + [noParamAnnotationStringName](v): void { } +>[noParamAnnotationStringName] : (v: any) => void +>noParamAnnotationStringName : string +>v : any + + get [noAnnotationStringName]() { return 0;} +>[noAnnotationStringName] : number +>noAnnotationStringName : string +>0 : 0 + + set [noParamAnnotationStringName](value) { } +>[noParamAnnotationStringName] : any +>noParamAnnotationStringName : string +>value : any + + [("A" + "B") as "AB"] = 1; +>[("A" + "B") as "AB"] : number +>("A" + "B") as "AB" : "AB" +>("A" + "B") : string +>"A" + "B" : string +>"A" : "A" +>"B" : "B" +>1 : 1 + +} + +export interface I { + [noAnnotationStringName]: 10; +>[noAnnotationStringName] : 10 +>noAnnotationStringName : string + + [noAnnotationLiteralName](); +>[noAnnotationLiteralName] : () => any +>noAnnotationLiteralName : "noAnnotationLiteralName" +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.errors.txt new file mode 100644 index 0000000000..57a18b3458 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.errors.txt @@ -0,0 +1,39 @@ +tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts(1,20): error TS9022: Inference from class expressions is not supported with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts(15,26): error TS9021: Extends clause can't contain an expression with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts(19,25): error TS9022: Inference from class expressions is not supported with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts(19,35): error TS9022: Inference from class expressions is not supported with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts (4 errors) ==== + export const cls = class { + ~~~~~ +!!! error TS9022: Inference from class expressions is not supported with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts:1:14: Add a type annotation to the variable cls. + foo: string = ""; + } + + + function id any>(cls: T) { + return cls; + } + + + export class Base { + + } + + export class Mix extends id(Base) { + ~~~~~~~~ +!!! error TS9021: Extends clause can't contain an expression with --isolatedDeclarations. + + } + + export const classes = [class {}, class{}] as const + ~~~~~ +!!! error TS9022: Inference from class expressions is not supported with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts:19:14: Add a type annotation to the variable classes. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts:19:25: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + ~~~~~ +!!! error TS9022: Inference from class expressions is not supported with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts:19:14: Add a type annotation to the variable classes. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts:19:35: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.js b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.js new file mode 100644 index 0000000000..e1840fc0cf --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.js @@ -0,0 +1,35 @@ +//// [isolatedDeclarationErrorsClassesExpressions.ts] +export const cls = class { + foo: string = ""; +} + + +function id any>(cls: T) { + return cls; +} + + +export class Base { + +} + +export class Mix extends id(Base) { + +} + +export const classes = [class {}, class{}] as const + +//// [isolatedDeclarationErrorsClassesExpressions.js] +export const cls = class { + foo = ""; +}; +function id(cls) { + return cls; +} +export class Base { +} +export class Mix extends id(Base) { +} +export const classes = [class { + }, class { + }]; diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.symbols b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.symbols new file mode 100644 index 0000000000..f026cc1e3c --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.symbols @@ -0,0 +1,37 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts === +export const cls = class { +>cls : Symbol(cls, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 0, 12)) + + foo: string = ""; +>foo : Symbol(cls.foo, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 0, 26)) +} + + +function id any>(cls: T) { +>id : Symbol(id, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 2, 1)) +>T : Symbol(T, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 5, 12)) +>a : Symbol(a, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 5, 27)) +>cls : Symbol(cls, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 5, 48)) +>T : Symbol(T, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 5, 12)) + + return cls; +>cls : Symbol(cls, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 5, 48)) +} + + +export class Base { +>Base : Symbol(Base, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 7, 1)) + +} + +export class Mix extends id(Base) { +>Mix : Symbol(Mix, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 12, 1)) +>id : Symbol(id, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 2, 1)) +>Base : Symbol(Base, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 7, 1)) + +} + +export const classes = [class {}, class{}] as const +>classes : Symbol(classes, Decl(isolatedDeclarationErrorsClassesExpressions.ts, 18, 12)) +>const : Symbol(const) + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types new file mode 100644 index 0000000000..8e03a2a761 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types @@ -0,0 +1,41 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsClassesExpressions.ts === +export const cls = class { +>cls : typeof cls +>class { foo: string = "";} : typeof cls + + foo: string = ""; +>foo : string +>"" : "" +} + + +function id any>(cls: T) { +>id : any>(cls: T) => T +>a : any[] +>cls : T + + return cls; +>cls : T +} + + +export class Base { +>Base : Base + +} + +export class Mix extends id(Base) { +>Mix : Mix +>id(Base) : Base +>id : any>(cls: T) => T +>Base : typeof Base + +} + +export const classes = [class {}, class{}] as const +>classes : readonly [typeof (Anonymous class), typeof (Anonymous class)] +>[class {}, class{}] as const : readonly [typeof (Anonymous class), typeof (Anonymous class)] +>[class {}, class{}] : readonly [typeof (Anonymous class), typeof (Anonymous class)] +>class {} : typeof (Anonymous class) +>class{} : typeof (Anonymous class) + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsDefault.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsDefault.errors.txt new file mode 100644 index 0000000000..3ae3dd9552 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsDefault.errors.txt @@ -0,0 +1,44 @@ +tests/cases/compiler/a.ts(1,16): error TS9037: Default exports can't be inferred with --isolatedDeclarations. +tests/cases/compiler/b.ts(1,23): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/c.ts(1,16): error TS9017: Only const arrays can be inferred with --isolatedDeclarations. +tests/cases/compiler/d.ts(1,24): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/e.ts(1,24): error TS9013: Expression type can't be inferred with --isolatedDeclarations. + + +==== tests/cases/compiler/a.ts (1 errors) ==== + export default 1 + 1; + ~~~~~ +!!! error TS9037: Default exports can't be inferred with --isolatedDeclarations. +!!! related TS9036 tests/cases/compiler/a.ts:1:1: Move the expression in default export to a variable and add a type annotation to it. + + +==== tests/cases/compiler/b.ts (1 errors) ==== + export default { foo: 1 + 1 }; + ~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9036 tests/cases/compiler/b.ts:1:1: Move the expression in default export to a variable and add a type annotation to it. +!!! related TS9035 tests/cases/compiler/b.ts:1:23: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + +==== tests/cases/compiler/c.ts (1 errors) ==== + export default [{ foo: 1 + 1 }]; + ~~~~~~~~~~~~~~~~ +!!! error TS9017: Only const arrays can be inferred with --isolatedDeclarations. +!!! related TS9036 tests/cases/compiler/c.ts:1:1: Move the expression in default export to a variable and add a type annotation to it. + +==== tests/cases/compiler/d.ts (1 errors) ==== + export default [{ foo: 1 + 1 }] as const; + ~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9036 tests/cases/compiler/d.ts:1:1: Move the expression in default export to a variable and add a type annotation to it. +!!! related TS9035 tests/cases/compiler/d.ts:1:24: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + +==== tests/cases/compiler/e.ts (1 errors) ==== + export default [{ foo: 1 + 1 }] as const; + ~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9036 tests/cases/compiler/e.ts:1:1: Move the expression in default export to a variable and add a type annotation to it. +!!! related TS9035 tests/cases/compiler/e.ts:1:24: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + +==== tests/cases/compiler/f.ts (0 errors) ==== + const a = { foo: 1 }; + export default a; \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsDefault.js b/tests/baselines/reference/isolatedDeclarationErrorsDefault.js new file mode 100644 index 0000000000..60fc563b49 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsDefault.js @@ -0,0 +1,42 @@ +//// [tests/cases/compiler/isolatedDeclarationErrorsDefault.ts] //// + +//// [a.ts] +export default 1 + 1; + + +//// [b.ts] +export default { foo: 1 + 1 }; + +//// [c.ts] +export default [{ foo: 1 + 1 }]; + +//// [d.ts] +export default [{ foo: 1 + 1 }] as const; + +//// [e.ts] +export default [{ foo: 1 + 1 }] as const; + +//// [f.ts] +const a = { foo: 1 }; +export default a; + +//// [a.js] +export default 1 + 1; +//// [b.js] +export default { foo: 1 + 1 }; +//// [c.js] +export default [{ foo: 1 + 1 }]; +//// [d.js] +export default [{ foo: 1 + 1 }]; +//// [e.js] +export default [{ foo: 1 + 1 }]; +//// [f.js] +const a = { foo: 1 }; +export default a; + + +//// [f.d.ts] +declare const a: { + foo: number; +}; +export default a; diff --git a/tests/baselines/reference/isolatedDeclarationErrorsDefault.symbols b/tests/baselines/reference/isolatedDeclarationErrorsDefault.symbols new file mode 100644 index 0000000000..aa5ce6696a --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsDefault.symbols @@ -0,0 +1,31 @@ +=== tests/cases/compiler/a.ts === + +export default 1 + 1; + + +=== tests/cases/compiler/b.ts === +export default { foo: 1 + 1 }; +>foo : Symbol(foo, Decl(b.ts, 0, 16)) + +=== tests/cases/compiler/c.ts === +export default [{ foo: 1 + 1 }]; +>foo : Symbol(foo, Decl(c.ts, 0, 17)) + +=== tests/cases/compiler/d.ts === +export default [{ foo: 1 + 1 }] as const; +>foo : Symbol(foo, Decl(d.ts, 0, 17)) +>const : Symbol(const) + +=== tests/cases/compiler/e.ts === +export default [{ foo: 1 + 1 }] as const; +>foo : Symbol(foo, Decl(e.ts, 0, 17)) +>const : Symbol(const) + +=== tests/cases/compiler/f.ts === +const a = { foo: 1 }; +>a : Symbol(a, Decl(f.ts, 0, 5)) +>foo : Symbol(foo, Decl(f.ts, 0, 11)) + +export default a; +>a : Symbol(a, Decl(f.ts, 0, 5)) + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsDefault.types b/tests/baselines/reference/isolatedDeclarationErrorsDefault.types new file mode 100644 index 0000000000..3e17fbde62 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsDefault.types @@ -0,0 +1,54 @@ +=== tests/cases/compiler/a.ts === +export default 1 + 1; +>1 + 1 : number +>1 : 1 +>1 : 1 + + +=== tests/cases/compiler/b.ts === +export default { foo: 1 + 1 }; +>{ foo: 1 + 1 } : { foo: number; } +>foo : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +=== tests/cases/compiler/c.ts === +export default [{ foo: 1 + 1 }]; +>[{ foo: 1 + 1 }] : { foo: number; }[] +>{ foo: 1 + 1 } : { foo: number; } +>foo : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +=== tests/cases/compiler/d.ts === +export default [{ foo: 1 + 1 }] as const; +>[{ foo: 1 + 1 }] as const : readonly [{ readonly foo: number; }] +>[{ foo: 1 + 1 }] : readonly [{ readonly foo: number; }] +>{ foo: 1 + 1 } : { readonly foo: number; } +>foo : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +=== tests/cases/compiler/e.ts === +export default [{ foo: 1 + 1 }] as const; +>[{ foo: 1 + 1 }] as const : readonly [{ readonly foo: number; }] +>[{ foo: 1 + 1 }] : readonly [{ readonly foo: number; }] +>{ foo: 1 + 1 } : { readonly foo: number; } +>foo : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +=== tests/cases/compiler/f.ts === +const a = { foo: 1 }; +>a : { foo: number; } +>{ foo: 1 } : { foo: number; } +>foo : number +>1 : 1 + +export default a; +>a : { foo: number; } + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsEnums.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsEnums.errors.txt new file mode 100644 index 0000000000..149bd4ce74 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsEnums.errors.txt @@ -0,0 +1,82 @@ +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(12,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(12,9): error TS2322: Type 'E' is not assignable to type 'F'. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(13,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(29,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(30,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(31,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(38,10): error TS2553: Computed values are not permitted in an enum with string valued members. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(44,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(44,11): error TS2553: Computed values are not permitted in an enum with string valued members. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(45,5): error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsEnums.ts(45,10): error TS2553: Computed values are not permitted in an enum with string valued members. + + +==== tests/cases/compiler/isolatedDeclarationErrorsEnums.ts (11 errors) ==== + declare function computed(x: number): number; + + enum E { + A = computed(0), + B = computed(1), + C = computed(2), + D = computed(3), + } + + + enum F { + A = E.A, + ~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + ~~~ +!!! error TS2322: Type 'E' is not assignable to type 'F'. + B = A, + ~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + } + + + enum Flag { + A = 1 >> 1, + B = 2 >> 2, + C = 3 >> 2, + AB = A | B, + ABC = Flag.AB | C, + AC = Flag["A"] | C, + } + + const EV = 1; + enum ExtFlags { + D = 4 >> 1, + E = EV, + ~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + ABCD = Flag.ABC | D, + ~~~~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + AC = Flag["A"] | D, + ~~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + } + + + enum Str { + A = "A", + B = "B", + AB = A + B + ~~~~~ +!!! error TS2553: Computed values are not permitted in an enum with string valued members. + } + + + enum StrExt { + D = "D", + ABD = Str.AB + D, + ~~~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + ~~~~~~~~~~ +!!! error TS2553: Computed values are not permitted in an enum with string valued members. + AD = Str["A"] + D, + ~~ +!!! error TS9020: Enum member initializers must be computable without references to external symbols with --isolatedDeclarations. + ~~~~~~~~~~~~ +!!! error TS2553: Computed values are not permitted in an enum with string valued members. + } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsEnums.js b/tests/baselines/reference/isolatedDeclarationErrorsEnums.js new file mode 100644 index 0000000000..42d6b63ca7 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsEnums.js @@ -0,0 +1,91 @@ +//// [isolatedDeclarationErrorsEnums.ts] +declare function computed(x: number): number; + +enum E { + A = computed(0), + B = computed(1), + C = computed(2), + D = computed(3), +} + + +enum F { + A = E.A, + B = A, +} + + +enum Flag { + A = 1 >> 1, + B = 2 >> 2, + C = 3 >> 2, + AB = A | B, + ABC = Flag.AB | C, + AC = Flag["A"] | C, +} + +const EV = 1; +enum ExtFlags { + D = 4 >> 1, + E = EV, + ABCD = Flag.ABC | D, + AC = Flag["A"] | D, +} + + +enum Str { + A = "A", + B = "B", + AB = A + B +} + + +enum StrExt { + D = "D", + ABD = Str.AB + D, + AD = Str["A"] + D, +} + +//// [isolatedDeclarationErrorsEnums.js] +"use strict"; +var E; +(function (E) { + E[E["A"] = computed(0)] = "A"; + E[E["B"] = computed(1)] = "B"; + E[E["C"] = computed(2)] = "C"; + E[E["D"] = computed(3)] = "D"; +})(E || (E = {})); +var F; +(function (F) { + F[F["A"] = E.A] = "A"; + F[F["B"] = F.A] = "B"; +})(F || (F = {})); +var Flag; +(function (Flag) { + Flag[Flag["A"] = 0] = "A"; + Flag[Flag["B"] = 0] = "B"; + Flag[Flag["C"] = 0] = "C"; + Flag[Flag["AB"] = 0] = "AB"; + Flag[Flag["ABC"] = 0] = "ABC"; + Flag[Flag["AC"] = 0] = "AC"; +})(Flag || (Flag = {})); +const EV = 1; +var ExtFlags; +(function (ExtFlags) { + ExtFlags[ExtFlags["D"] = 2] = "D"; + ExtFlags[ExtFlags["E"] = 1] = "E"; + ExtFlags[ExtFlags["ABCD"] = 2] = "ABCD"; + ExtFlags[ExtFlags["AC"] = 2] = "AC"; +})(ExtFlags || (ExtFlags = {})); +var Str; +(function (Str) { + Str["A"] = "A"; + Str["B"] = "B"; + Str[Str["AB"] = 0] = "AB"; +})(Str || (Str = {})); +var StrExt; +(function (StrExt) { + StrExt["D"] = "D"; + StrExt[StrExt["ABD"] = 0] = "ABD"; + StrExt[StrExt["AD"] = 0] = "AD"; +})(StrExt || (StrExt = {})); diff --git a/tests/baselines/reference/isolatedDeclarationErrorsEnums.symbols b/tests/baselines/reference/isolatedDeclarationErrorsEnums.symbols new file mode 100644 index 0000000000..cc15c31c25 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsEnums.symbols @@ -0,0 +1,135 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsEnums.ts === +declare function computed(x: number): number; +>computed : Symbol(computed, Decl(isolatedDeclarationErrorsEnums.ts, 0, 0)) +>x : Symbol(x, Decl(isolatedDeclarationErrorsEnums.ts, 0, 26)) + +enum E { +>E : Symbol(E, Decl(isolatedDeclarationErrorsEnums.ts, 0, 45)) + + A = computed(0), +>A : Symbol(E.A, Decl(isolatedDeclarationErrorsEnums.ts, 2, 8)) +>computed : Symbol(computed, Decl(isolatedDeclarationErrorsEnums.ts, 0, 0)) + + B = computed(1), +>B : Symbol(E.B, Decl(isolatedDeclarationErrorsEnums.ts, 3, 20)) +>computed : Symbol(computed, Decl(isolatedDeclarationErrorsEnums.ts, 0, 0)) + + C = computed(2), +>C : Symbol(E.C, Decl(isolatedDeclarationErrorsEnums.ts, 4, 20)) +>computed : Symbol(computed, Decl(isolatedDeclarationErrorsEnums.ts, 0, 0)) + + D = computed(3), +>D : Symbol(E.D, Decl(isolatedDeclarationErrorsEnums.ts, 5, 20)) +>computed : Symbol(computed, Decl(isolatedDeclarationErrorsEnums.ts, 0, 0)) +} + + +enum F { +>F : Symbol(F, Decl(isolatedDeclarationErrorsEnums.ts, 7, 1)) + + A = E.A, +>A : Symbol(F.A, Decl(isolatedDeclarationErrorsEnums.ts, 10, 8)) +>E.A : Symbol(E.A, Decl(isolatedDeclarationErrorsEnums.ts, 2, 8)) +>E : Symbol(E, Decl(isolatedDeclarationErrorsEnums.ts, 0, 45)) +>A : Symbol(E.A, Decl(isolatedDeclarationErrorsEnums.ts, 2, 8)) + + B = A, +>B : Symbol(F.B, Decl(isolatedDeclarationErrorsEnums.ts, 11, 12)) +>A : Symbol(F.A, Decl(isolatedDeclarationErrorsEnums.ts, 10, 8)) +} + + +enum Flag { +>Flag : Symbol(Flag, Decl(isolatedDeclarationErrorsEnums.ts, 13, 1)) + + A = 1 >> 1, +>A : Symbol(Flag.A, Decl(isolatedDeclarationErrorsEnums.ts, 16, 11)) + + B = 2 >> 2, +>B : Symbol(Flag.B, Decl(isolatedDeclarationErrorsEnums.ts, 17, 15)) + + C = 3 >> 2, +>C : Symbol(Flag.C, Decl(isolatedDeclarationErrorsEnums.ts, 18, 15)) + + AB = A | B, +>AB : Symbol(Flag.AB, Decl(isolatedDeclarationErrorsEnums.ts, 19, 15)) +>A : Symbol(Flag.A, Decl(isolatedDeclarationErrorsEnums.ts, 16, 11)) +>B : Symbol(Flag.B, Decl(isolatedDeclarationErrorsEnums.ts, 17, 15)) + + ABC = Flag.AB | C, +>ABC : Symbol(Flag.ABC, Decl(isolatedDeclarationErrorsEnums.ts, 20, 15)) +>Flag.AB : Symbol(Flag.AB, Decl(isolatedDeclarationErrorsEnums.ts, 19, 15)) +>Flag : Symbol(Flag, Decl(isolatedDeclarationErrorsEnums.ts, 13, 1)) +>AB : Symbol(Flag.AB, Decl(isolatedDeclarationErrorsEnums.ts, 19, 15)) +>C : Symbol(Flag.C, Decl(isolatedDeclarationErrorsEnums.ts, 18, 15)) + + AC = Flag["A"] | C, +>AC : Symbol(Flag.AC, Decl(isolatedDeclarationErrorsEnums.ts, 21, 22)) +>Flag : Symbol(Flag, Decl(isolatedDeclarationErrorsEnums.ts, 13, 1)) +>"A" : Symbol(Flag.A, Decl(isolatedDeclarationErrorsEnums.ts, 16, 11)) +>C : Symbol(Flag.C, Decl(isolatedDeclarationErrorsEnums.ts, 18, 15)) +} + +const EV = 1; +>EV : Symbol(EV, Decl(isolatedDeclarationErrorsEnums.ts, 25, 5)) + +enum ExtFlags { +>ExtFlags : Symbol(ExtFlags, Decl(isolatedDeclarationErrorsEnums.ts, 25, 13)) + + D = 4 >> 1, +>D : Symbol(ExtFlags.D, Decl(isolatedDeclarationErrorsEnums.ts, 26, 15)) + + E = EV, +>E : Symbol(ExtFlags.E, Decl(isolatedDeclarationErrorsEnums.ts, 27, 15)) +>EV : Symbol(EV, Decl(isolatedDeclarationErrorsEnums.ts, 25, 5)) + + ABCD = Flag.ABC | D, +>ABCD : Symbol(ExtFlags.ABCD, Decl(isolatedDeclarationErrorsEnums.ts, 28, 11)) +>Flag.ABC : Symbol(Flag.ABC, Decl(isolatedDeclarationErrorsEnums.ts, 20, 15)) +>Flag : Symbol(Flag, Decl(isolatedDeclarationErrorsEnums.ts, 13, 1)) +>ABC : Symbol(Flag.ABC, Decl(isolatedDeclarationErrorsEnums.ts, 20, 15)) +>D : Symbol(ExtFlags.D, Decl(isolatedDeclarationErrorsEnums.ts, 26, 15)) + + AC = Flag["A"] | D, +>AC : Symbol(ExtFlags.AC, Decl(isolatedDeclarationErrorsEnums.ts, 29, 24)) +>Flag : Symbol(Flag, Decl(isolatedDeclarationErrorsEnums.ts, 13, 1)) +>"A" : Symbol(Flag.A, Decl(isolatedDeclarationErrorsEnums.ts, 16, 11)) +>D : Symbol(ExtFlags.D, Decl(isolatedDeclarationErrorsEnums.ts, 26, 15)) +} + + +enum Str { +>Str : Symbol(Str, Decl(isolatedDeclarationErrorsEnums.ts, 31, 1)) + + A = "A", +>A : Symbol(Str.A, Decl(isolatedDeclarationErrorsEnums.ts, 34, 10)) + + B = "B", +>B : Symbol(Str.B, Decl(isolatedDeclarationErrorsEnums.ts, 35, 12)) + + AB = A + B +>AB : Symbol(Str.AB, Decl(isolatedDeclarationErrorsEnums.ts, 36, 12)) +>A : Symbol(Str.A, Decl(isolatedDeclarationErrorsEnums.ts, 34, 10)) +>B : Symbol(Str.B, Decl(isolatedDeclarationErrorsEnums.ts, 35, 12)) +} + + +enum StrExt { +>StrExt : Symbol(StrExt, Decl(isolatedDeclarationErrorsEnums.ts, 38, 1)) + + D = "D", +>D : Symbol(StrExt.D, Decl(isolatedDeclarationErrorsEnums.ts, 41, 13)) + + ABD = Str.AB + D, +>ABD : Symbol(StrExt.ABD, Decl(isolatedDeclarationErrorsEnums.ts, 42, 12)) +>Str.AB : Symbol(Str.AB, Decl(isolatedDeclarationErrorsEnums.ts, 36, 12)) +>Str : Symbol(Str, Decl(isolatedDeclarationErrorsEnums.ts, 31, 1)) +>AB : Symbol(Str.AB, Decl(isolatedDeclarationErrorsEnums.ts, 36, 12)) +>D : Symbol(StrExt.D, Decl(isolatedDeclarationErrorsEnums.ts, 41, 13)) + + AD = Str["A"] + D, +>AD : Symbol(StrExt.AD, Decl(isolatedDeclarationErrorsEnums.ts, 43, 21)) +>Str : Symbol(Str, Decl(isolatedDeclarationErrorsEnums.ts, 31, 1)) +>"A" : Symbol(Str.A, Decl(isolatedDeclarationErrorsEnums.ts, 34, 10)) +>D : Symbol(StrExt.D, Decl(isolatedDeclarationErrorsEnums.ts, 41, 13)) +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsEnums.types b/tests/baselines/reference/isolatedDeclarationErrorsEnums.types new file mode 100644 index 0000000000..daf84dd152 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsEnums.types @@ -0,0 +1,170 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsEnums.ts === +declare function computed(x: number): number; +>computed : (x: number) => number +>x : number + +enum E { +>E : E + + A = computed(0), +>A : E +>computed(0) : number +>computed : (x: number) => number +>0 : 0 + + B = computed(1), +>B : E +>computed(1) : number +>computed : (x: number) => number +>1 : 1 + + C = computed(2), +>C : E +>computed(2) : number +>computed : (x: number) => number +>2 : 2 + + D = computed(3), +>D : E +>computed(3) : number +>computed : (x: number) => number +>3 : 3 +} + + +enum F { +>F : F + + A = E.A, +>A : F +>E.A : E +>E : typeof E +>A : E + + B = A, +>B : F +>A : F +} + + +enum Flag { +>Flag : Flag + + A = 1 >> 1, +>A : Flag +>1 >> 1 : number +>1 : 1 +>1 : 1 + + B = 2 >> 2, +>B : Flag +>2 >> 2 : number +>2 : 2 +>2 : 2 + + C = 3 >> 2, +>C : Flag +>3 >> 2 : number +>3 : 3 +>2 : 2 + + AB = A | B, +>AB : Flag +>A | B : number +>A : Flag +>B : Flag + + ABC = Flag.AB | C, +>ABC : Flag +>Flag.AB | C : number +>Flag.AB : Flag +>Flag : typeof Flag +>AB : Flag +>C : Flag + + AC = Flag["A"] | C, +>AC : Flag +>Flag["A"] | C : number +>Flag["A"] : Flag +>Flag : typeof Flag +>"A" : "A" +>C : Flag +} + +const EV = 1; +>EV : 1 +>1 : 1 + +enum ExtFlags { +>ExtFlags : ExtFlags + + D = 4 >> 1, +>D : ExtFlags +>4 >> 1 : number +>4 : 4 +>1 : 1 + + E = EV, +>E : ExtFlags +>EV : 1 + + ABCD = Flag.ABC | D, +>ABCD : ExtFlags +>Flag.ABC | D : number +>Flag.ABC : Flag +>Flag : typeof Flag +>ABC : Flag +>D : ExtFlags + + AC = Flag["A"] | D, +>AC : ExtFlags +>Flag["A"] | D : number +>Flag["A"] : Flag +>Flag : typeof Flag +>"A" : "A" +>D : ExtFlags +} + + +enum Str { +>Str : Str + + A = "A", +>A : Str.A +>"A" : "A" + + B = "B", +>B : Str.B +>"B" : "B" + + AB = A + B +>AB : Str.AB +>A + B : string +>A : Str.A +>B : Str.B +} + + +enum StrExt { +>StrExt : StrExt + + D = "D", +>D : StrExt.D +>"D" : "D" + + ABD = Str.AB + D, +>ABD : StrExt.ABD +>Str.AB + D : string +>Str.AB : Str.AB +>Str : typeof Str +>AB : Str.AB +>D : StrExt.D + + AD = Str["A"] + D, +>AD : StrExt.ABD +>Str["A"] + D : string +>Str["A"] : Str.A +>Str : typeof Str +>"A" : "A" +>D : StrExt.D +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.errors.txt new file mode 100644 index 0000000000..4fb6b10588 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.errors.txt @@ -0,0 +1,35 @@ +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(1,17): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(3,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(4,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(5,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(6,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(7,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts(8,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + + +==== tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts (7 errors) ==== + export function foo() {} + ~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts:1:17: Add a return type to the function declaration. + + foo.apply = () => {} + ~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + foo.call = ()=> {} + ~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + foo.bind = ()=> {} + ~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + foo.caller = ()=> {} + ~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + foo.toString = ()=> {} + ~~~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + foo.length = 10 + ~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + foo.length = 10 + \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.js b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.js new file mode 100644 index 0000000000..39f5434aa8 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.js @@ -0,0 +1,21 @@ +//// [isolatedDeclarationErrorsExpandoFunctions.ts] +export function foo() {} + +foo.apply = () => {} +foo.call = ()=> {} +foo.bind = ()=> {} +foo.caller = ()=> {} +foo.toString = ()=> {} +foo.length = 10 +foo.length = 10 + + +//// [isolatedDeclarationErrorsExpandoFunctions.js] +export function foo() { } +foo.apply = () => { }; +foo.call = () => { }; +foo.bind = () => { }; +foo.caller = () => { }; +foo.toString = () => { }; +foo.length = 10; +foo.length = 10; diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.symbols b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.symbols new file mode 100644 index 0000000000..0c56575ede --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.symbols @@ -0,0 +1,39 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts === +export function foo() {} +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) + +foo.apply = () => {} +>foo.apply : Symbol(foo.apply, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>apply : Symbol(foo.apply, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24)) + +foo.call = ()=> {} +>foo.call : Symbol(foo.call, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>call : Symbol(foo.call, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20)) + +foo.bind = ()=> {} +>foo.bind : Symbol(foo.bind, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>bind : Symbol(foo.bind, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18)) + +foo.caller = ()=> {} +>foo.caller : Symbol(foo.caller, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>caller : Symbol(foo.caller, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18)) + +foo.toString = ()=> {} +>foo.toString : Symbol(foo.toString, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 5, 20)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>toString : Symbol(foo.toString, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 5, 20)) + +foo.length = 10 +>foo.length : Symbol(foo.length, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 6, 22), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 7, 15)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>length : Symbol(foo.length, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 6, 22), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 7, 15)) + +foo.length = 10 +>foo.length : Symbol(foo.length, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 6, 22), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 7, 15)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 0), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 0, 24), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 2, 20), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 3, 18), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 4, 18) ... and 3 more) +>length : Symbol(foo.length, Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 6, 22), Decl(isolatedDeclarationErrorsExpandoFunctions.ts, 7, 15)) + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.types b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.types new file mode 100644 index 0000000000..16ba10d0b4 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpandoFunctions.types @@ -0,0 +1,53 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsExpandoFunctions.ts === +export function foo() {} +>foo : typeof foo + +foo.apply = () => {} +>foo.apply = () => {} : () => void +>foo.apply : () => void +>foo : typeof foo +>apply : () => void +>() => {} : () => void + +foo.call = ()=> {} +>foo.call = ()=> {} : () => void +>foo.call : () => void +>foo : typeof foo +>call : () => void +>()=> {} : () => void + +foo.bind = ()=> {} +>foo.bind = ()=> {} : () => void +>foo.bind : () => void +>foo : typeof foo +>bind : () => void +>()=> {} : () => void + +foo.caller = ()=> {} +>foo.caller = ()=> {} : () => void +>foo.caller : () => void +>foo : typeof foo +>caller : () => void +>()=> {} : () => void + +foo.toString = ()=> {} +>foo.toString = ()=> {} : () => void +>foo.toString : () => void +>foo : typeof foo +>toString : () => void +>()=> {} : () => void + +foo.length = 10 +>foo.length = 10 : 10 +>foo.length : number +>foo : typeof foo +>length : number +>10 : 10 + +foo.length = 10 +>foo.length = 10 : 10 +>foo.length : number +>foo : typeof foo +>length : number +>10 : 10 + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.errors.txt new file mode 100644 index 0000000000..8f18929c34 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.errors.txt @@ -0,0 +1,345 @@ +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(3,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(4,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(5,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(8,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(9,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(10,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(13,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(17,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(18,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(19,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(20,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(23,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(24,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(25,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(28,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(29,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(30,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(33,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(49,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(50,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(51,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(53,18): error TS9017: Only const arrays can be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(55,38): error TS9018: Arrays with spread elements can't inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(59,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(60,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(61,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(64,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(65,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(66,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(69,12): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(78,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(79,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(80,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(83,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(84,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(85,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(88,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(91,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(92,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(93,14): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(102,5): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(103,5): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(104,5): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(109,37): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(110,37): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(111,37): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(114,37): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(115,37): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(116,37): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(119,36): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(127,16): error TS9019: Binding elements can't be exported directly with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts(128,19): error TS9019: Binding elements can't be exported directly with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts (52 errors) ==== + declare function time(): bigint + export const numberConst = 1; + export const numberConstBad1 = 1 + 1; + ~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:3:14: Add a type annotation to the variable numberConstBad1. + export const numberConstBad2 = Math.random(); + ~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:4:14: Add a type annotation to the variable numberConstBad2. + export const numberConstBad3 = numberConst; + ~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:5:14: Add a type annotation to the variable numberConstBad3. + + export const bigIntConst = 1n; + export const bigIntConstBad1 = 1n + 1n; + ~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:8:14: Add a type annotation to the variable bigIntConstBad1. + export const bigIntConstBad2 = time(); + ~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:9:14: Add a type annotation to the variable bigIntConstBad2. + export const bigIntConstBad3 = bigIntConst; + ~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:10:14: Add a type annotation to the variable bigIntConstBad3. + + export const stringConst = "s"; + export const stringConstBad = "s" + "s"; + ~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:13:14: Add a type annotation to the variable stringConstBad. + + // These are just strings + export const templateConstOk1 = `s`; + export const templateConstNotOk2 = `s${1n}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:17:14: Add a type annotation to the variable templateConstNotOk2. + export const templateConstNotOk3 = `s${1} - ${"S"}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:18:14: Add a type annotation to the variable templateConstNotOk3. + export const templateConstNotOk4 = `s${1} - ${"S"} - ${false}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:19:14: Add a type annotation to the variable templateConstNotOk4. + export const templateConstNotOk5 = `s${1 + 1} - ${"S"} - ${!false}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:20:14: Add a type annotation to the variable templateConstNotOk5. + + export let numberLet = 1; + export let numberLetBad1 = 1 + 1; + ~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:23:12: Add a type annotation to the variable numberLetBad1. + export let numberLetBad2 = Math.random(); + ~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:24:12: Add a type annotation to the variable numberLetBad2. + export let numberLetBad3 = numberLet; + ~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:25:12: Add a type annotation to the variable numberLetBad3. + + export let bigIntLet = 1n; + export let bigIntLetBad1 = 1n + 1n; + ~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:28:12: Add a type annotation to the variable bigIntLetBad1. + export let bigIntLetBad2 = time(); + ~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:29:12: Add a type annotation to the variable bigIntLetBad2. + export let bigIntLetBad3 = bigIntLet; + ~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:30:12: Add a type annotation to the variable bigIntLetBad3. + + export let stringLet = "s"; + export let stringLetBad = "s" + "s"; + ~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:33:12: Add a type annotation to the variable stringLetBad. + + export let templateLetOk1 = `s`; + export let templateLetOk2 = `s${1} - ${"S"}`; + export let templateLetOk3 = `s${1} - ${"S"} - ${false}`; + export let templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + + // As const + + export let numberLetAsConst = 1 as const; + + export let bigIntLetAsConst = 1n as const; + + export let stringLetAsConst = "s" as const; + + export let templateLetOk1AsConst = `s` as const; + export let templateLetOk2AsConst = `s${1} - ${"S"}` as const; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:49:12: Add a type annotation to the variable templateLetOk2AsConst. + export let templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:50:12: Add a type annotation to the variable templateLetOk3AsConst. + export let templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:51:12: Add a type annotation to the variable templateLetOk4AsConst. + + export let arr = [1, 2, 3]; + ~~~~~~~~~ +!!! error TS9017: Only const arrays can be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:53:12: Add a type annotation to the variable arr. + export let arrConst = [1, 2, 3] as const; + export let arrWithSpread = [1, 2, 3, ...arr] as const; + ~~~~~~ +!!! error TS9018: Arrays with spread elements can't inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:55:12: Add a type annotation to the variable arrWithSpread. + + export class Exported { + public numberLet = 1; + public numberLetBad1 = 1 + 1; + ~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:59:12: Add a type annotation to the property numberLetBad1. + public numberLetBad2 = Math.random(); + ~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:60:12: Add a type annotation to the property numberLetBad2. + public numberLetBad3 = numberLet; + ~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:61:12: Add a type annotation to the property numberLetBad3. + + public bigIntLet = 1n; + public bigIntLetBad1 = 1n + 1n; + ~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:64:12: Add a type annotation to the property bigIntLetBad1. + public bigIntLetBad2 = time(); + ~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:65:12: Add a type annotation to the property bigIntLetBad2. + public bigIntLetBad3 = bigIntLet; + ~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:66:12: Add a type annotation to the property bigIntLetBad3. + + public stringLet = "s"; + public stringLetBad = "s" + "s"; + ~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:69:12: Add a type annotation to the property stringLetBad. + + public templateLetOk1 = `s`; + public templateLetOk2 = `s${1} - ${"S"}`; + public templateLetOk3 = `s${1} - ${"S"} - ${false}`; + public templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + + + readonly numberConst = 1; + readonly numberConstBad1 = 1 + 1; + ~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:78:14: Add a type annotation to the property numberConstBad1. + readonly numberConstBad2 = Math.random(); + ~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:79:14: Add a type annotation to the property numberConstBad2. + readonly numberConstBad3 = numberConst; + ~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:80:14: Add a type annotation to the property numberConstBad3. + + readonly bigIntConst = 1n; + readonly bigIntConstBad1 = 1n + 1n; + ~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:83:14: Add a type annotation to the property bigIntConstBad1. + readonly bigIntConstBad2 = time(); + ~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:84:14: Add a type annotation to the property bigIntConstBad2. + readonly bigIntConstBad3 = bigIntConst; + ~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:85:14: Add a type annotation to the property bigIntConstBad3. + + readonly stringConst = "s"; + readonly stringConstBad = "s" + "s"; + ~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:88:14: Add a type annotation to the property stringConstBad. + + readonly templateConstOk1 = `s`; + readonly templateConstNotOk2 = `s${1} - ${"S"}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:91:14: Add a type annotation to the property templateConstNotOk2. + readonly templateConstNotOk3 = `s${1} - ${"S"} - ${false}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:92:14: Add a type annotation to the property templateConstNotOk3. + readonly templateConstNotOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:93:14: Add a type annotation to the property templateConstNotOk4. + + numberLetAsConst = 1 as const; + + bigIntLetAsConst = 1n as const; + + stringLetAsConst = "s" as const; + + templateLetOk1AsConst = `s` as const; + templateLetOk2AsConst = `s${1} - ${"S"}` as const; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:102:5: Add a type annotation to the property templateLetOk2AsConst. + templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:103:5: Add a type annotation to the property templateLetOk3AsConst. + templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:104:5: Add a type annotation to the property templateLetOk4AsConst. + + } + + export function numberParam(p = 1): void { } + export function numberParamBad1(p = 1 + 1): void { } + ~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:109:33: Add a type annotation to the parameter p. + export function numberParamBad2(p = Math.random()): void { } + ~~~~~~~~~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:110:33: Add a type annotation to the parameter p. + export function numberParamBad3(p = numberParam): void { } + ~~~~~~~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:111:33: Add a type annotation to the parameter p. + + export function bigIntParam(p = 1n): void { } + export function bigIntParamBad1(p = 1n + 1n): void { } + ~~~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:114:33: Add a type annotation to the parameter p. + export function bigIntParamBad2(p = time()): void { } + ~~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:115:33: Add a type annotation to the parameter p. + export function bigIntParamBad3(p = bigIntParam): void { } + ~~~~~~~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:116:33: Add a type annotation to the parameter p. + + export function stringParam(p = "s"): void { } + export function stringParamBad(p = "s" + "s"): void { } + ~~~~~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts:119:32: Add a type annotation to the parameter p. + + export function templateParamOk1(p = `s`): void { } + export function templateParamOk2(p = `s${1} - ${"S"}`): void { } + export function templateParamOk3(p = `s${1} - ${"S"} - ${false}`): void { } + export function templateParamOk4(p = `s${1 + 1} - ${"S"} - ${!false}`): void { } + + + export const { a } = { a: 1 }; + ~ +!!! error TS9019: Binding elements can't be exported directly with --isolatedDeclarations. + export const [, , b = 1]: [number, number, number | undefined] = [0, 1, 2]; + ~ +!!! error TS9019: Binding elements can't be exported directly with --isolatedDeclarations. + + export function foo([, , b]: [ + number, + number, + number + ] = [0, 1, 2]): void { + + } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.js b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.js new file mode 100644 index 0000000000..237ffe4a3f --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.js @@ -0,0 +1,235 @@ +//// [isolatedDeclarationErrorsExpressions.ts] +declare function time(): bigint +export const numberConst = 1; +export const numberConstBad1 = 1 + 1; +export const numberConstBad2 = Math.random(); +export const numberConstBad3 = numberConst; + +export const bigIntConst = 1n; +export const bigIntConstBad1 = 1n + 1n; +export const bigIntConstBad2 = time(); +export const bigIntConstBad3 = bigIntConst; + +export const stringConst = "s"; +export const stringConstBad = "s" + "s"; + +// These are just strings +export const templateConstOk1 = `s`; +export const templateConstNotOk2 = `s${1n}`; +export const templateConstNotOk3 = `s${1} - ${"S"}`; +export const templateConstNotOk4 = `s${1} - ${"S"} - ${false}`; +export const templateConstNotOk5 = `s${1 + 1} - ${"S"} - ${!false}`; + +export let numberLet = 1; +export let numberLetBad1 = 1 + 1; +export let numberLetBad2 = Math.random(); +export let numberLetBad3 = numberLet; + +export let bigIntLet = 1n; +export let bigIntLetBad1 = 1n + 1n; +export let bigIntLetBad2 = time(); +export let bigIntLetBad3 = bigIntLet; + +export let stringLet = "s"; +export let stringLetBad = "s" + "s"; + +export let templateLetOk1 = `s`; +export let templateLetOk2 = `s${1} - ${"S"}`; +export let templateLetOk3 = `s${1} - ${"S"} - ${false}`; +export let templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + +// As const + +export let numberLetAsConst = 1 as const; + +export let bigIntLetAsConst = 1n as const; + +export let stringLetAsConst = "s" as const; + +export let templateLetOk1AsConst = `s` as const; +export let templateLetOk2AsConst = `s${1} - ${"S"}` as const; +export let templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; +export let templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; + +export let arr = [1, 2, 3]; +export let arrConst = [1, 2, 3] as const; +export let arrWithSpread = [1, 2, 3, ...arr] as const; + +export class Exported { + public numberLet = 1; + public numberLetBad1 = 1 + 1; + public numberLetBad2 = Math.random(); + public numberLetBad3 = numberLet; + + public bigIntLet = 1n; + public bigIntLetBad1 = 1n + 1n; + public bigIntLetBad2 = time(); + public bigIntLetBad3 = bigIntLet; + + public stringLet = "s"; + public stringLetBad = "s" + "s"; + + public templateLetOk1 = `s`; + public templateLetOk2 = `s${1} - ${"S"}`; + public templateLetOk3 = `s${1} - ${"S"} - ${false}`; + public templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + + + readonly numberConst = 1; + readonly numberConstBad1 = 1 + 1; + readonly numberConstBad2 = Math.random(); + readonly numberConstBad3 = numberConst; + + readonly bigIntConst = 1n; + readonly bigIntConstBad1 = 1n + 1n; + readonly bigIntConstBad2 = time(); + readonly bigIntConstBad3 = bigIntConst; + + readonly stringConst = "s"; + readonly stringConstBad = "s" + "s"; + + readonly templateConstOk1 = `s`; + readonly templateConstNotOk2 = `s${1} - ${"S"}`; + readonly templateConstNotOk3 = `s${1} - ${"S"} - ${false}`; + readonly templateConstNotOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + + numberLetAsConst = 1 as const; + + bigIntLetAsConst = 1n as const; + + stringLetAsConst = "s" as const; + + templateLetOk1AsConst = `s` as const; + templateLetOk2AsConst = `s${1} - ${"S"}` as const; + templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; + templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; + +} + +export function numberParam(p = 1): void { } +export function numberParamBad1(p = 1 + 1): void { } +export function numberParamBad2(p = Math.random()): void { } +export function numberParamBad3(p = numberParam): void { } + +export function bigIntParam(p = 1n): void { } +export function bigIntParamBad1(p = 1n + 1n): void { } +export function bigIntParamBad2(p = time()): void { } +export function bigIntParamBad3(p = bigIntParam): void { } + +export function stringParam(p = "s"): void { } +export function stringParamBad(p = "s" + "s"): void { } + +export function templateParamOk1(p = `s`): void { } +export function templateParamOk2(p = `s${1} - ${"S"}`): void { } +export function templateParamOk3(p = `s${1} - ${"S"} - ${false}`): void { } +export function templateParamOk4(p = `s${1 + 1} - ${"S"} - ${!false}`): void { } + + +export const { a } = { a: 1 }; +export const [, , b = 1]: [number, number, number | undefined] = [0, 1, 2]; + +export function foo([, , b]: [ + number, + number, + number +] = [0, 1, 2]): void { + +} + +//// [isolatedDeclarationErrorsExpressions.js] +export const numberConst = 1; +export const numberConstBad1 = 1 + 1; +export const numberConstBad2 = Math.random(); +export const numberConstBad3 = numberConst; +export const bigIntConst = 1n; +export const bigIntConstBad1 = 1n + 1n; +export const bigIntConstBad2 = time(); +export const bigIntConstBad3 = bigIntConst; +export const stringConst = "s"; +export const stringConstBad = "s" + "s"; +// These are just strings +export const templateConstOk1 = `s`; +export const templateConstNotOk2 = `s${1n}`; +export const templateConstNotOk3 = `s${1} - ${"S"}`; +export const templateConstNotOk4 = `s${1} - ${"S"} - ${false}`; +export const templateConstNotOk5 = `s${1 + 1} - ${"S"} - ${!false}`; +export let numberLet = 1; +export let numberLetBad1 = 1 + 1; +export let numberLetBad2 = Math.random(); +export let numberLetBad3 = numberLet; +export let bigIntLet = 1n; +export let bigIntLetBad1 = 1n + 1n; +export let bigIntLetBad2 = time(); +export let bigIntLetBad3 = bigIntLet; +export let stringLet = "s"; +export let stringLetBad = "s" + "s"; +export let templateLetOk1 = `s`; +export let templateLetOk2 = `s${1} - ${"S"}`; +export let templateLetOk3 = `s${1} - ${"S"} - ${false}`; +export let templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +// As const +export let numberLetAsConst = 1; +export let bigIntLetAsConst = 1n; +export let stringLetAsConst = "s"; +export let templateLetOk1AsConst = `s`; +export let templateLetOk2AsConst = `s${1} - ${"S"}`; +export let templateLetOk3AsConst = `s${1} - ${"S"} - ${false}`; +export let templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}`; +export let arr = [1, 2, 3]; +export let arrConst = [1, 2, 3]; +export let arrWithSpread = [1, 2, 3, ...arr]; +export class Exported { + numberLet = 1; + numberLetBad1 = 1 + 1; + numberLetBad2 = Math.random(); + numberLetBad3 = numberLet; + bigIntLet = 1n; + bigIntLetBad1 = 1n + 1n; + bigIntLetBad2 = time(); + bigIntLetBad3 = bigIntLet; + stringLet = "s"; + stringLetBad = "s" + "s"; + templateLetOk1 = `s`; + templateLetOk2 = `s${1} - ${"S"}`; + templateLetOk3 = `s${1} - ${"S"} - ${false}`; + templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + numberConst = 1; + numberConstBad1 = 1 + 1; + numberConstBad2 = Math.random(); + numberConstBad3 = numberConst; + bigIntConst = 1n; + bigIntConstBad1 = 1n + 1n; + bigIntConstBad2 = time(); + bigIntConstBad3 = bigIntConst; + stringConst = "s"; + stringConstBad = "s" + "s"; + templateConstOk1 = `s`; + templateConstNotOk2 = `s${1} - ${"S"}`; + templateConstNotOk3 = `s${1} - ${"S"} - ${false}`; + templateConstNotOk4 = `s${1 + 1} - ${"S"} - ${!false}`; + numberLetAsConst = 1; + bigIntLetAsConst = 1n; + stringLetAsConst = "s"; + templateLetOk1AsConst = `s`; + templateLetOk2AsConst = `s${1} - ${"S"}`; + templateLetOk3AsConst = `s${1} - ${"S"} - ${false}`; + templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}`; +} +export function numberParam(p = 1) { } +export function numberParamBad1(p = 1 + 1) { } +export function numberParamBad2(p = Math.random()) { } +export function numberParamBad3(p = numberParam) { } +export function bigIntParam(p = 1n) { } +export function bigIntParamBad1(p = 1n + 1n) { } +export function bigIntParamBad2(p = time()) { } +export function bigIntParamBad3(p = bigIntParam) { } +export function stringParam(p = "s") { } +export function stringParamBad(p = "s" + "s") { } +export function templateParamOk1(p = `s`) { } +export function templateParamOk2(p = `s${1} - ${"S"}`) { } +export function templateParamOk3(p = `s${1} - ${"S"} - ${false}`) { } +export function templateParamOk4(p = `s${1 + 1} - ${"S"} - ${!false}`) { } +export const { a } = { a: 1 }; +export const [, , b = 1] = [0, 1, 2]; +export function foo([, , b] = [0, 1, 2]) { +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.symbols b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.symbols new file mode 100644 index 0000000000..0adba7478a --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.symbols @@ -0,0 +1,356 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts === +declare function time(): bigint +>time : Symbol(time, Decl(isolatedDeclarationErrorsExpressions.ts, 0, 0)) + +export const numberConst = 1; +>numberConst : Symbol(numberConst, Decl(isolatedDeclarationErrorsExpressions.ts, 1, 12)) + +export const numberConstBad1 = 1 + 1; +>numberConstBad1 : Symbol(numberConstBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 2, 12)) + +export const numberConstBad2 = Math.random(); +>numberConstBad2 : Symbol(numberConstBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 3, 12)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + +export const numberConstBad3 = numberConst; +>numberConstBad3 : Symbol(numberConstBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 4, 12)) +>numberConst : Symbol(numberConst, Decl(isolatedDeclarationErrorsExpressions.ts, 1, 12)) + +export const bigIntConst = 1n; +>bigIntConst : Symbol(bigIntConst, Decl(isolatedDeclarationErrorsExpressions.ts, 6, 12)) + +export const bigIntConstBad1 = 1n + 1n; +>bigIntConstBad1 : Symbol(bigIntConstBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 7, 12)) + +export const bigIntConstBad2 = time(); +>bigIntConstBad2 : Symbol(bigIntConstBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 8, 12)) +>time : Symbol(time, Decl(isolatedDeclarationErrorsExpressions.ts, 0, 0)) + +export const bigIntConstBad3 = bigIntConst; +>bigIntConstBad3 : Symbol(bigIntConstBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 9, 12)) +>bigIntConst : Symbol(bigIntConst, Decl(isolatedDeclarationErrorsExpressions.ts, 6, 12)) + +export const stringConst = "s"; +>stringConst : Symbol(stringConst, Decl(isolatedDeclarationErrorsExpressions.ts, 11, 12)) + +export const stringConstBad = "s" + "s"; +>stringConstBad : Symbol(stringConstBad, Decl(isolatedDeclarationErrorsExpressions.ts, 12, 12)) + +// These are just strings +export const templateConstOk1 = `s`; +>templateConstOk1 : Symbol(templateConstOk1, Decl(isolatedDeclarationErrorsExpressions.ts, 15, 12)) + +export const templateConstNotOk2 = `s${1n}`; +>templateConstNotOk2 : Symbol(templateConstNotOk2, Decl(isolatedDeclarationErrorsExpressions.ts, 16, 12)) + +export const templateConstNotOk3 = `s${1} - ${"S"}`; +>templateConstNotOk3 : Symbol(templateConstNotOk3, Decl(isolatedDeclarationErrorsExpressions.ts, 17, 12)) + +export const templateConstNotOk4 = `s${1} - ${"S"} - ${false}`; +>templateConstNotOk4 : Symbol(templateConstNotOk4, Decl(isolatedDeclarationErrorsExpressions.ts, 18, 12)) + +export const templateConstNotOk5 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateConstNotOk5 : Symbol(templateConstNotOk5, Decl(isolatedDeclarationErrorsExpressions.ts, 19, 12)) + +export let numberLet = 1; +>numberLet : Symbol(numberLet, Decl(isolatedDeclarationErrorsExpressions.ts, 21, 10)) + +export let numberLetBad1 = 1 + 1; +>numberLetBad1 : Symbol(numberLetBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 22, 10)) + +export let numberLetBad2 = Math.random(); +>numberLetBad2 : Symbol(numberLetBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 23, 10)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + +export let numberLetBad3 = numberLet; +>numberLetBad3 : Symbol(numberLetBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 24, 10)) +>numberLet : Symbol(numberLet, Decl(isolatedDeclarationErrorsExpressions.ts, 21, 10)) + +export let bigIntLet = 1n; +>bigIntLet : Symbol(bigIntLet, Decl(isolatedDeclarationErrorsExpressions.ts, 26, 10)) + +export let bigIntLetBad1 = 1n + 1n; +>bigIntLetBad1 : Symbol(bigIntLetBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 27, 10)) + +export let bigIntLetBad2 = time(); +>bigIntLetBad2 : Symbol(bigIntLetBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 28, 10)) +>time : Symbol(time, Decl(isolatedDeclarationErrorsExpressions.ts, 0, 0)) + +export let bigIntLetBad3 = bigIntLet; +>bigIntLetBad3 : Symbol(bigIntLetBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 29, 10)) +>bigIntLet : Symbol(bigIntLet, Decl(isolatedDeclarationErrorsExpressions.ts, 26, 10)) + +export let stringLet = "s"; +>stringLet : Symbol(stringLet, Decl(isolatedDeclarationErrorsExpressions.ts, 31, 10)) + +export let stringLetBad = "s" + "s"; +>stringLetBad : Symbol(stringLetBad, Decl(isolatedDeclarationErrorsExpressions.ts, 32, 10)) + +export let templateLetOk1 = `s`; +>templateLetOk1 : Symbol(templateLetOk1, Decl(isolatedDeclarationErrorsExpressions.ts, 34, 10)) + +export let templateLetOk2 = `s${1} - ${"S"}`; +>templateLetOk2 : Symbol(templateLetOk2, Decl(isolatedDeclarationErrorsExpressions.ts, 35, 10)) + +export let templateLetOk3 = `s${1} - ${"S"} - ${false}`; +>templateLetOk3 : Symbol(templateLetOk3, Decl(isolatedDeclarationErrorsExpressions.ts, 36, 10)) + +export let templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateLetOk4 : Symbol(templateLetOk4, Decl(isolatedDeclarationErrorsExpressions.ts, 37, 10)) + +// As const + +export let numberLetAsConst = 1 as const; +>numberLetAsConst : Symbol(numberLetAsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 41, 10)) +>const : Symbol(const) + +export let bigIntLetAsConst = 1n as const; +>bigIntLetAsConst : Symbol(bigIntLetAsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 43, 10)) +>const : Symbol(const) + +export let stringLetAsConst = "s" as const; +>stringLetAsConst : Symbol(stringLetAsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 45, 10)) +>const : Symbol(const) + +export let templateLetOk1AsConst = `s` as const; +>templateLetOk1AsConst : Symbol(templateLetOk1AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 47, 10)) +>const : Symbol(const) + +export let templateLetOk2AsConst = `s${1} - ${"S"}` as const; +>templateLetOk2AsConst : Symbol(templateLetOk2AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 48, 10)) +>const : Symbol(const) + +export let templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; +>templateLetOk3AsConst : Symbol(templateLetOk3AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 49, 10)) +>const : Symbol(const) + +export let templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; +>templateLetOk4AsConst : Symbol(templateLetOk4AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 50, 10)) +>const : Symbol(const) + +export let arr = [1, 2, 3]; +>arr : Symbol(arr, Decl(isolatedDeclarationErrorsExpressions.ts, 52, 10)) + +export let arrConst = [1, 2, 3] as const; +>arrConst : Symbol(arrConst, Decl(isolatedDeclarationErrorsExpressions.ts, 53, 10)) +>const : Symbol(const) + +export let arrWithSpread = [1, 2, 3, ...arr] as const; +>arrWithSpread : Symbol(arrWithSpread, Decl(isolatedDeclarationErrorsExpressions.ts, 54, 10)) +>arr : Symbol(arr, Decl(isolatedDeclarationErrorsExpressions.ts, 52, 10)) +>const : Symbol(const) + +export class Exported { +>Exported : Symbol(Exported, Decl(isolatedDeclarationErrorsExpressions.ts, 54, 54)) + + public numberLet = 1; +>numberLet : Symbol(Exported.numberLet, Decl(isolatedDeclarationErrorsExpressions.ts, 56, 23)) + + public numberLetBad1 = 1 + 1; +>numberLetBad1 : Symbol(Exported.numberLetBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 57, 25)) + + public numberLetBad2 = Math.random(); +>numberLetBad2 : Symbol(Exported.numberLetBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 58, 33)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + public numberLetBad3 = numberLet; +>numberLetBad3 : Symbol(Exported.numberLetBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 59, 41)) +>numberLet : Symbol(numberLet, Decl(isolatedDeclarationErrorsExpressions.ts, 21, 10)) + + public bigIntLet = 1n; +>bigIntLet : Symbol(Exported.bigIntLet, Decl(isolatedDeclarationErrorsExpressions.ts, 60, 37)) + + public bigIntLetBad1 = 1n + 1n; +>bigIntLetBad1 : Symbol(Exported.bigIntLetBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 62, 26)) + + public bigIntLetBad2 = time(); +>bigIntLetBad2 : Symbol(Exported.bigIntLetBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 63, 35)) +>time : Symbol(time, Decl(isolatedDeclarationErrorsExpressions.ts, 0, 0)) + + public bigIntLetBad3 = bigIntLet; +>bigIntLetBad3 : Symbol(Exported.bigIntLetBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 64, 34)) +>bigIntLet : Symbol(bigIntLet, Decl(isolatedDeclarationErrorsExpressions.ts, 26, 10)) + + public stringLet = "s"; +>stringLet : Symbol(Exported.stringLet, Decl(isolatedDeclarationErrorsExpressions.ts, 65, 37)) + + public stringLetBad = "s" + "s"; +>stringLetBad : Symbol(Exported.stringLetBad, Decl(isolatedDeclarationErrorsExpressions.ts, 67, 27)) + + public templateLetOk1 = `s`; +>templateLetOk1 : Symbol(Exported.templateLetOk1, Decl(isolatedDeclarationErrorsExpressions.ts, 68, 36)) + + public templateLetOk2 = `s${1} - ${"S"}`; +>templateLetOk2 : Symbol(Exported.templateLetOk2, Decl(isolatedDeclarationErrorsExpressions.ts, 70, 32)) + + public templateLetOk3 = `s${1} - ${"S"} - ${false}`; +>templateLetOk3 : Symbol(Exported.templateLetOk3, Decl(isolatedDeclarationErrorsExpressions.ts, 71, 45)) + + public templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateLetOk4 : Symbol(Exported.templateLetOk4, Decl(isolatedDeclarationErrorsExpressions.ts, 72, 56)) + + + readonly numberConst = 1; +>numberConst : Symbol(Exported.numberConst, Decl(isolatedDeclarationErrorsExpressions.ts, 73, 61)) + + readonly numberConstBad1 = 1 + 1; +>numberConstBad1 : Symbol(Exported.numberConstBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 76, 29)) + + readonly numberConstBad2 = Math.random(); +>numberConstBad2 : Symbol(Exported.numberConstBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 77, 37)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + readonly numberConstBad3 = numberConst; +>numberConstBad3 : Symbol(Exported.numberConstBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 78, 45)) +>numberConst : Symbol(numberConst, Decl(isolatedDeclarationErrorsExpressions.ts, 1, 12)) + + readonly bigIntConst = 1n; +>bigIntConst : Symbol(Exported.bigIntConst, Decl(isolatedDeclarationErrorsExpressions.ts, 79, 43)) + + readonly bigIntConstBad1 = 1n + 1n; +>bigIntConstBad1 : Symbol(Exported.bigIntConstBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 81, 30)) + + readonly bigIntConstBad2 = time(); +>bigIntConstBad2 : Symbol(Exported.bigIntConstBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 82, 39)) +>time : Symbol(time, Decl(isolatedDeclarationErrorsExpressions.ts, 0, 0)) + + readonly bigIntConstBad3 = bigIntConst; +>bigIntConstBad3 : Symbol(Exported.bigIntConstBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 83, 38)) +>bigIntConst : Symbol(bigIntConst, Decl(isolatedDeclarationErrorsExpressions.ts, 6, 12)) + + readonly stringConst = "s"; +>stringConst : Symbol(Exported.stringConst, Decl(isolatedDeclarationErrorsExpressions.ts, 84, 43)) + + readonly stringConstBad = "s" + "s"; +>stringConstBad : Symbol(Exported.stringConstBad, Decl(isolatedDeclarationErrorsExpressions.ts, 86, 31)) + + readonly templateConstOk1 = `s`; +>templateConstOk1 : Symbol(Exported.templateConstOk1, Decl(isolatedDeclarationErrorsExpressions.ts, 87, 40)) + + readonly templateConstNotOk2 = `s${1} - ${"S"}`; +>templateConstNotOk2 : Symbol(Exported.templateConstNotOk2, Decl(isolatedDeclarationErrorsExpressions.ts, 89, 36)) + + readonly templateConstNotOk3 = `s${1} - ${"S"} - ${false}`; +>templateConstNotOk3 : Symbol(Exported.templateConstNotOk3, Decl(isolatedDeclarationErrorsExpressions.ts, 90, 52)) + + readonly templateConstNotOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateConstNotOk4 : Symbol(Exported.templateConstNotOk4, Decl(isolatedDeclarationErrorsExpressions.ts, 91, 63)) + + numberLetAsConst = 1 as const; +>numberLetAsConst : Symbol(Exported.numberLetAsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 92, 68)) +>const : Symbol(const) + + bigIntLetAsConst = 1n as const; +>bigIntLetAsConst : Symbol(Exported.bigIntLetAsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 94, 34)) +>const : Symbol(const) + + stringLetAsConst = "s" as const; +>stringLetAsConst : Symbol(Exported.stringLetAsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 96, 35)) +>const : Symbol(const) + + templateLetOk1AsConst = `s` as const; +>templateLetOk1AsConst : Symbol(Exported.templateLetOk1AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 98, 36)) +>const : Symbol(const) + + templateLetOk2AsConst = `s${1} - ${"S"}` as const; +>templateLetOk2AsConst : Symbol(Exported.templateLetOk2AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 100, 41)) +>const : Symbol(const) + + templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; +>templateLetOk3AsConst : Symbol(Exported.templateLetOk3AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 101, 54)) +>const : Symbol(const) + + templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; +>templateLetOk4AsConst : Symbol(Exported.templateLetOk4AsConst, Decl(isolatedDeclarationErrorsExpressions.ts, 102, 65)) +>const : Symbol(const) + +} + +export function numberParam(p = 1): void { } +>numberParam : Symbol(numberParam, Decl(isolatedDeclarationErrorsExpressions.ts, 105, 1)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 107, 28)) + +export function numberParamBad1(p = 1 + 1): void { } +>numberParamBad1 : Symbol(numberParamBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 107, 44)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 108, 32)) + +export function numberParamBad2(p = Math.random()): void { } +>numberParamBad2 : Symbol(numberParamBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 108, 52)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 109, 32)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + +export function numberParamBad3(p = numberParam): void { } +>numberParamBad3 : Symbol(numberParamBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 109, 60)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 110, 32)) +>numberParam : Symbol(numberParam, Decl(isolatedDeclarationErrorsExpressions.ts, 105, 1)) + +export function bigIntParam(p = 1n): void { } +>bigIntParam : Symbol(bigIntParam, Decl(isolatedDeclarationErrorsExpressions.ts, 110, 58)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 112, 28)) + +export function bigIntParamBad1(p = 1n + 1n): void { } +>bigIntParamBad1 : Symbol(bigIntParamBad1, Decl(isolatedDeclarationErrorsExpressions.ts, 112, 45)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 113, 32)) + +export function bigIntParamBad2(p = time()): void { } +>bigIntParamBad2 : Symbol(bigIntParamBad2, Decl(isolatedDeclarationErrorsExpressions.ts, 113, 54)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 114, 32)) +>time : Symbol(time, Decl(isolatedDeclarationErrorsExpressions.ts, 0, 0)) + +export function bigIntParamBad3(p = bigIntParam): void { } +>bigIntParamBad3 : Symbol(bigIntParamBad3, Decl(isolatedDeclarationErrorsExpressions.ts, 114, 53)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 115, 32)) +>bigIntParam : Symbol(bigIntParam, Decl(isolatedDeclarationErrorsExpressions.ts, 110, 58)) + +export function stringParam(p = "s"): void { } +>stringParam : Symbol(stringParam, Decl(isolatedDeclarationErrorsExpressions.ts, 115, 58)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 117, 28)) + +export function stringParamBad(p = "s" + "s"): void { } +>stringParamBad : Symbol(stringParamBad, Decl(isolatedDeclarationErrorsExpressions.ts, 117, 46)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 118, 31)) + +export function templateParamOk1(p = `s`): void { } +>templateParamOk1 : Symbol(templateParamOk1, Decl(isolatedDeclarationErrorsExpressions.ts, 118, 55)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 120, 33)) + +export function templateParamOk2(p = `s${1} - ${"S"}`): void { } +>templateParamOk2 : Symbol(templateParamOk2, Decl(isolatedDeclarationErrorsExpressions.ts, 120, 51)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 121, 33)) + +export function templateParamOk3(p = `s${1} - ${"S"} - ${false}`): void { } +>templateParamOk3 : Symbol(templateParamOk3, Decl(isolatedDeclarationErrorsExpressions.ts, 121, 64)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 122, 33)) + +export function templateParamOk4(p = `s${1 + 1} - ${"S"} - ${!false}`): void { } +>templateParamOk4 : Symbol(templateParamOk4, Decl(isolatedDeclarationErrorsExpressions.ts, 122, 75)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsExpressions.ts, 123, 33)) + + +export const { a } = { a: 1 }; +>a : Symbol(a, Decl(isolatedDeclarationErrorsExpressions.ts, 126, 14)) +>a : Symbol(a, Decl(isolatedDeclarationErrorsExpressions.ts, 126, 22)) + +export const [, , b = 1]: [number, number, number | undefined] = [0, 1, 2]; +>b : Symbol(b, Decl(isolatedDeclarationErrorsExpressions.ts, 127, 17)) + +export function foo([, , b]: [ +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsExpressions.ts, 127, 75)) +>b : Symbol(b, Decl(isolatedDeclarationErrorsExpressions.ts, 129, 24)) + + number, + number, + number +] = [0, 1, 2]): void { + +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types new file mode 100644 index 0000000000..0f59367282 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types @@ -0,0 +1,567 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsExpressions.ts === +declare function time(): bigint +>time : () => bigint + +export const numberConst = 1; +>numberConst : 1 +>1 : 1 + +export const numberConstBad1 = 1 + 1; +>numberConstBad1 : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +export const numberConstBad2 = Math.random(); +>numberConstBad2 : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + +export const numberConstBad3 = numberConst; +>numberConstBad3 : 1 +>numberConst : 1 + +export const bigIntConst = 1n; +>bigIntConst : 1n +>1n : 1n + +export const bigIntConstBad1 = 1n + 1n; +>bigIntConstBad1 : bigint +>1n + 1n : bigint +>1n : 1n +>1n : 1n + +export const bigIntConstBad2 = time(); +>bigIntConstBad2 : bigint +>time() : bigint +>time : () => bigint + +export const bigIntConstBad3 = bigIntConst; +>bigIntConstBad3 : 1n +>bigIntConst : 1n + +export const stringConst = "s"; +>stringConst : "s" +>"s" : "s" + +export const stringConstBad = "s" + "s"; +>stringConstBad : string +>"s" + "s" : string +>"s" : "s" +>"s" : "s" + +// These are just strings +export const templateConstOk1 = `s`; +>templateConstOk1 : "s" +>`s` : "s" + +export const templateConstNotOk2 = `s${1n}`; +>templateConstNotOk2 : string +>`s${1n}` : string +>1n : 1n + +export const templateConstNotOk3 = `s${1} - ${"S"}`; +>templateConstNotOk3 : string +>`s${1} - ${"S"}` : string +>1 : 1 +>"S" : "S" + +export const templateConstNotOk4 = `s${1} - ${"S"} - ${false}`; +>templateConstNotOk4 : string +>`s${1} - ${"S"} - ${false}` : string +>1 : 1 +>"S" : "S" +>false : false + +export const templateConstNotOk5 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateConstNotOk5 : string +>`s${1 + 1} - ${"S"} - ${!false}` : string +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + +export let numberLet = 1; +>numberLet : number +>1 : 1 + +export let numberLetBad1 = 1 + 1; +>numberLetBad1 : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +export let numberLetBad2 = Math.random(); +>numberLetBad2 : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + +export let numberLetBad3 = numberLet; +>numberLetBad3 : number +>numberLet : number + +export let bigIntLet = 1n; +>bigIntLet : bigint +>1n : 1n + +export let bigIntLetBad1 = 1n + 1n; +>bigIntLetBad1 : bigint +>1n + 1n : bigint +>1n : 1n +>1n : 1n + +export let bigIntLetBad2 = time(); +>bigIntLetBad2 : bigint +>time() : bigint +>time : () => bigint + +export let bigIntLetBad3 = bigIntLet; +>bigIntLetBad3 : bigint +>bigIntLet : bigint + +export let stringLet = "s"; +>stringLet : string +>"s" : "s" + +export let stringLetBad = "s" + "s"; +>stringLetBad : string +>"s" + "s" : string +>"s" : "s" +>"s" : "s" + +export let templateLetOk1 = `s`; +>templateLetOk1 : string +>`s` : "s" + +export let templateLetOk2 = `s${1} - ${"S"}`; +>templateLetOk2 : string +>`s${1} - ${"S"}` : string +>1 : 1 +>"S" : "S" + +export let templateLetOk3 = `s${1} - ${"S"} - ${false}`; +>templateLetOk3 : string +>`s${1} - ${"S"} - ${false}` : string +>1 : 1 +>"S" : "S" +>false : false + +export let templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateLetOk4 : string +>`s${1 + 1} - ${"S"} - ${!false}` : string +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + +// As const + +export let numberLetAsConst = 1 as const; +>numberLetAsConst : 1 +>1 as const : 1 +>1 : 1 + +export let bigIntLetAsConst = 1n as const; +>bigIntLetAsConst : 1n +>1n as const : 1n +>1n : 1n + +export let stringLetAsConst = "s" as const; +>stringLetAsConst : "s" +>"s" as const : "s" +>"s" : "s" + +export let templateLetOk1AsConst = `s` as const; +>templateLetOk1AsConst : "s" +>`s` as const : "s" +>`s` : "s" + +export let templateLetOk2AsConst = `s${1} - ${"S"}` as const; +>templateLetOk2AsConst : "s1 - S" +>`s${1} - ${"S"}` as const : "s1 - S" +>`s${1} - ${"S"}` : "s1 - S" +>1 : 1 +>"S" : "S" + +export let templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; +>templateLetOk3AsConst : "s1 - S - false" +>`s${1} - ${"S"} - ${false}` as const : "s1 - S - false" +>`s${1} - ${"S"} - ${false}` : "s1 - S - false" +>1 : 1 +>"S" : "S" +>false : false + +export let templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; +>templateLetOk4AsConst : `s${number} - S - true` +>`s${1 + 1} - ${"S"} - ${!false}` as const : `s${number} - S - true` +>`s${1 + 1} - ${"S"} - ${!false}` : `s${number} - S - true` +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + +export let arr = [1, 2, 3]; +>arr : number[] +>[1, 2, 3] : number[] +>1 : 1 +>2 : 2 +>3 : 3 + +export let arrConst = [1, 2, 3] as const; +>arrConst : readonly [1, 2, 3] +>[1, 2, 3] as const : readonly [1, 2, 3] +>[1, 2, 3] : readonly [1, 2, 3] +>1 : 1 +>2 : 2 +>3 : 3 + +export let arrWithSpread = [1, 2, 3, ...arr] as const; +>arrWithSpread : readonly [1, 2, 3, ...number[]] +>[1, 2, 3, ...arr] as const : readonly [1, 2, 3, ...number[]] +>[1, 2, 3, ...arr] : readonly [1, 2, 3, ...number[]] +>1 : 1 +>2 : 2 +>3 : 3 +>...arr : number +>arr : number[] + +export class Exported { +>Exported : Exported + + public numberLet = 1; +>numberLet : number +>1 : 1 + + public numberLetBad1 = 1 + 1; +>numberLetBad1 : number +>1 + 1 : number +>1 : 1 +>1 : 1 + + public numberLetBad2 = Math.random(); +>numberLetBad2 : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + public numberLetBad3 = numberLet; +>numberLetBad3 : number +>numberLet : number + + public bigIntLet = 1n; +>bigIntLet : bigint +>1n : 1n + + public bigIntLetBad1 = 1n + 1n; +>bigIntLetBad1 : bigint +>1n + 1n : bigint +>1n : 1n +>1n : 1n + + public bigIntLetBad2 = time(); +>bigIntLetBad2 : bigint +>time() : bigint +>time : () => bigint + + public bigIntLetBad3 = bigIntLet; +>bigIntLetBad3 : bigint +>bigIntLet : bigint + + public stringLet = "s"; +>stringLet : string +>"s" : "s" + + public stringLetBad = "s" + "s"; +>stringLetBad : string +>"s" + "s" : string +>"s" : "s" +>"s" : "s" + + public templateLetOk1 = `s`; +>templateLetOk1 : string +>`s` : "s" + + public templateLetOk2 = `s${1} - ${"S"}`; +>templateLetOk2 : string +>`s${1} - ${"S"}` : string +>1 : 1 +>"S" : "S" + + public templateLetOk3 = `s${1} - ${"S"} - ${false}`; +>templateLetOk3 : string +>`s${1} - ${"S"} - ${false}` : string +>1 : 1 +>"S" : "S" +>false : false + + public templateLetOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateLetOk4 : string +>`s${1 + 1} - ${"S"} - ${!false}` : string +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + + + readonly numberConst = 1; +>numberConst : 1 +>1 : 1 + + readonly numberConstBad1 = 1 + 1; +>numberConstBad1 : number +>1 + 1 : number +>1 : 1 +>1 : 1 + + readonly numberConstBad2 = Math.random(); +>numberConstBad2 : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + readonly numberConstBad3 = numberConst; +>numberConstBad3 : 1 +>numberConst : 1 + + readonly bigIntConst = 1n; +>bigIntConst : 1n +>1n : 1n + + readonly bigIntConstBad1 = 1n + 1n; +>bigIntConstBad1 : bigint +>1n + 1n : bigint +>1n : 1n +>1n : 1n + + readonly bigIntConstBad2 = time(); +>bigIntConstBad2 : bigint +>time() : bigint +>time : () => bigint + + readonly bigIntConstBad3 = bigIntConst; +>bigIntConstBad3 : 1n +>bigIntConst : 1n + + readonly stringConst = "s"; +>stringConst : "s" +>"s" : "s" + + readonly stringConstBad = "s" + "s"; +>stringConstBad : string +>"s" + "s" : string +>"s" : "s" +>"s" : "s" + + readonly templateConstOk1 = `s`; +>templateConstOk1 : "s" +>`s` : "s" + + readonly templateConstNotOk2 = `s${1} - ${"S"}`; +>templateConstNotOk2 : string +>`s${1} - ${"S"}` : string +>1 : 1 +>"S" : "S" + + readonly templateConstNotOk3 = `s${1} - ${"S"} - ${false}`; +>templateConstNotOk3 : string +>`s${1} - ${"S"} - ${false}` : string +>1 : 1 +>"S" : "S" +>false : false + + readonly templateConstNotOk4 = `s${1 + 1} - ${"S"} - ${!false}`; +>templateConstNotOk4 : string +>`s${1 + 1} - ${"S"} - ${!false}` : string +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + + numberLetAsConst = 1 as const; +>numberLetAsConst : 1 +>1 as const : 1 +>1 : 1 + + bigIntLetAsConst = 1n as const; +>bigIntLetAsConst : 1n +>1n as const : 1n +>1n : 1n + + stringLetAsConst = "s" as const; +>stringLetAsConst : "s" +>"s" as const : "s" +>"s" : "s" + + templateLetOk1AsConst = `s` as const; +>templateLetOk1AsConst : "s" +>`s` as const : "s" +>`s` : "s" + + templateLetOk2AsConst = `s${1} - ${"S"}` as const; +>templateLetOk2AsConst : "s1 - S" +>`s${1} - ${"S"}` as const : "s1 - S" +>`s${1} - ${"S"}` : "s1 - S" +>1 : 1 +>"S" : "S" + + templateLetOk3AsConst = `s${1} - ${"S"} - ${false}` as const; +>templateLetOk3AsConst : "s1 - S - false" +>`s${1} - ${"S"} - ${false}` as const : "s1 - S - false" +>`s${1} - ${"S"} - ${false}` : "s1 - S - false" +>1 : 1 +>"S" : "S" +>false : false + + templateLetOk4AsConst = `s${1 + 1} - ${"S"} - ${!false}` as const; +>templateLetOk4AsConst : `s${number} - S - true` +>`s${1 + 1} - ${"S"} - ${!false}` as const : `s${number} - S - true` +>`s${1 + 1} - ${"S"} - ${!false}` : `s${number} - S - true` +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + +} + +export function numberParam(p = 1): void { } +>numberParam : (p?: number) => void +>p : number +>1 : 1 + +export function numberParamBad1(p = 1 + 1): void { } +>numberParamBad1 : (p?: number) => void +>p : number +>1 + 1 : number +>1 : 1 +>1 : 1 + +export function numberParamBad2(p = Math.random()): void { } +>numberParamBad2 : (p?: number) => void +>p : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + +export function numberParamBad3(p = numberParam): void { } +>numberParamBad3 : (p?: (p?: number) => void) => void +>p : (p?: number) => void +>numberParam : (p?: number) => void + +export function bigIntParam(p = 1n): void { } +>bigIntParam : (p?: bigint) => void +>p : bigint +>1n : 1n + +export function bigIntParamBad1(p = 1n + 1n): void { } +>bigIntParamBad1 : (p?: bigint) => void +>p : bigint +>1n + 1n : bigint +>1n : 1n +>1n : 1n + +export function bigIntParamBad2(p = time()): void { } +>bigIntParamBad2 : (p?: bigint) => void +>p : bigint +>time() : bigint +>time : () => bigint + +export function bigIntParamBad3(p = bigIntParam): void { } +>bigIntParamBad3 : (p?: (p?: bigint) => void) => void +>p : (p?: bigint) => void +>bigIntParam : (p?: bigint) => void + +export function stringParam(p = "s"): void { } +>stringParam : (p?: string) => void +>p : string +>"s" : "s" + +export function stringParamBad(p = "s" + "s"): void { } +>stringParamBad : (p?: string) => void +>p : string +>"s" + "s" : string +>"s" : "s" +>"s" : "s" + +export function templateParamOk1(p = `s`): void { } +>templateParamOk1 : (p?: string) => void +>p : string +>`s` : "s" + +export function templateParamOk2(p = `s${1} - ${"S"}`): void { } +>templateParamOk2 : (p?: string) => void +>p : string +>`s${1} - ${"S"}` : string +>1 : 1 +>"S" : "S" + +export function templateParamOk3(p = `s${1} - ${"S"} - ${false}`): void { } +>templateParamOk3 : (p?: string) => void +>p : string +>`s${1} - ${"S"} - ${false}` : string +>1 : 1 +>"S" : "S" +>false : false + +export function templateParamOk4(p = `s${1 + 1} - ${"S"} - ${!false}`): void { } +>templateParamOk4 : (p?: string) => void +>p : string +>`s${1 + 1} - ${"S"} - ${!false}` : string +>1 + 1 : number +>1 : 1 +>1 : 1 +>"S" : "S" +>!false : true +>false : false + + +export const { a } = { a: 1 }; +>a : number +>{ a: 1 } : { a: number; } +>a : number +>1 : 1 + +export const [, , b = 1]: [number, number, number | undefined] = [0, 1, 2]; +> : undefined +> : undefined +>b : number +>1 : 1 +>[0, 1, 2] : [number, number, number] +>0 : 0 +>1 : 1 +>2 : 2 + +export function foo([, , b]: [ +>foo : ([, , b]?: [number, number, number]) => void +> : undefined +> : undefined +>b : number + + number, + number, + number +] = [0, 1, 2]): void { +>[0, 1, 2] : [number, number, number] +>0 : 0 +>1 : 1 +>2 : 2 + +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.errors.txt new file mode 100644 index 0000000000..06046f731c --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.errors.txt @@ -0,0 +1,40 @@ +tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts(1,17): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts(3,35): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts(7,49): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts(7,66): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts(7,81): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts(9,55): error TS9013: Expression type can't be inferred with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts (6 errors) ==== + export function noReturn() {} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:1:17: Add a return type to the function declaration. + + export function noParamAnnotation(p): void {} + ~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:3:35: Add a type annotation to the parameter p. + + export function noParamAnnotationDefault(p = 1): void {} + + export function noParamAnnotationBadDefault(p = 1 + 1, p2 = { a: 1 + 1 }, p3 = [1 + 1] as const): void {} + ~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:7:45: Add a type annotation to the parameter p. + ~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:7:56: Add a type annotation to the parameter p2. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:7:66: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + ~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:7:75: Add a type annotation to the parameter p3. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:7:81: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + + export function noParamAnnotationBadDefault2(p = { a: 1 + 1 }): void {} + ~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:9:46: Add a type annotation to the parameter p. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts:9:55: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.js b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.js new file mode 100644 index 0000000000..be45461e5f --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.js @@ -0,0 +1,18 @@ +//// [isolatedDeclarationErrorsFunctionDeclarations.ts] +export function noReturn() {} + +export function noParamAnnotation(p): void {} + +export function noParamAnnotationDefault(p = 1): void {} + +export function noParamAnnotationBadDefault(p = 1 + 1, p2 = { a: 1 + 1 }, p3 = [1 + 1] as const): void {} + +export function noParamAnnotationBadDefault2(p = { a: 1 + 1 }): void {} + + +//// [isolatedDeclarationErrorsFunctionDeclarations.js] +export function noReturn() { } +export function noParamAnnotation(p) { } +export function noParamAnnotationDefault(p = 1) { } +export function noParamAnnotationBadDefault(p = 1 + 1, p2 = { a: 1 + 1 }, p3 = [1 + 1]) { } +export function noParamAnnotationBadDefault2(p = { a: 1 + 1 }) { } diff --git a/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.symbols b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.symbols new file mode 100644 index 0000000000..21e29feefa --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.symbols @@ -0,0 +1,25 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts === +export function noReturn() {} +>noReturn : Symbol(noReturn, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 0, 0)) + +export function noParamAnnotation(p): void {} +>noParamAnnotation : Symbol(noParamAnnotation, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 0, 29)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 2, 34)) + +export function noParamAnnotationDefault(p = 1): void {} +>noParamAnnotationDefault : Symbol(noParamAnnotationDefault, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 2, 45)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 4, 41)) + +export function noParamAnnotationBadDefault(p = 1 + 1, p2 = { a: 1 + 1 }, p3 = [1 + 1] as const): void {} +>noParamAnnotationBadDefault : Symbol(noParamAnnotationBadDefault, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 4, 56)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 6, 44)) +>p2 : Symbol(p2, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 6, 54)) +>a : Symbol(a, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 6, 61)) +>p3 : Symbol(p3, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 6, 73)) +>const : Symbol(const) + +export function noParamAnnotationBadDefault2(p = { a: 1 + 1 }): void {} +>noParamAnnotationBadDefault2 : Symbol(noParamAnnotationBadDefault2, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 6, 105)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 8, 45)) +>a : Symbol(a, Decl(isolatedDeclarationErrorsFunctionDeclarations.ts, 8, 50)) + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.types b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.types new file mode 100644 index 0000000000..2362e7acec --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsFunctionDeclarations.types @@ -0,0 +1,41 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsFunctionDeclarations.ts === +export function noReturn() {} +>noReturn : () => void + +export function noParamAnnotation(p): void {} +>noParamAnnotation : (p: any) => void +>p : any + +export function noParamAnnotationDefault(p = 1): void {} +>noParamAnnotationDefault : (p?: number) => void +>p : number +>1 : 1 + +export function noParamAnnotationBadDefault(p = 1 + 1, p2 = { a: 1 + 1 }, p3 = [1 + 1] as const): void {} +>noParamAnnotationBadDefault : (p?: number, p2?: { a: number; }, p3?: readonly [number]) => void +>p : number +>1 + 1 : number +>1 : 1 +>1 : 1 +>p2 : { a: number; } +>{ a: 1 + 1 } : { a: number; } +>a : number +>1 + 1 : number +>1 : 1 +>1 : 1 +>p3 : readonly [number] +>[1 + 1] as const : readonly [number] +>[1 + 1] : readonly [number] +>1 + 1 : number +>1 : 1 +>1 : 1 + +export function noParamAnnotationBadDefault2(p = { a: 1 + 1 }): void {} +>noParamAnnotationBadDefault2 : (p?: { a: number; }) => void +>p : { a: number; } +>{ a: 1 + 1 } : { a: number; } +>a : number +>1 + 1 : number +>1 : 1 +>1 : 1 + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt new file mode 100644 index 0000000000..4c31590da6 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt @@ -0,0 +1,161 @@ +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(7,8): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(12,12): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(16,12): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(21,5): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(24,5): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(25,8): error TS9013: Expression type can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(29,9): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(32,9): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(40,9): error TS7032: Property 'singleSetterBad' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(40,25): error TS7006: Parameter 'value' implicitly has an 'any' type. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(40,25): error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(64,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(65,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(75,5): error TS9015: Objects that contain spread assignments can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(77,5): error TS9016: Objects that contain shorthand properties can't be inferred with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsObjects.ts(84,9): error TS9015: Objects that contain spread assignments can't be inferred with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationErrorsObjects.ts (16 errors) ==== + export let o = { + a: 1, + b: "" + } + + export let oBad = { + a: Math.random(), + ~~~~~~~~~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:6:12: Add a type annotation to the variable oBad. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:7:8: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + } + export const V = 1; + export let oBad2 = { + a: { + b: Math.random(), + ~~~~~~~~~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:10:12: Add a type annotation to the variable oBad2. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:12:12: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + }, + c: { + d: 1, + e: V, + ~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:10:12: Add a type annotation to the variable oBad2. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:16:12: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + } + } + + export let oWithMethods = { + method() { }, + ~~~~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:20:12: Add a type annotation to the variable oWithMethods. +!!! related TS9034 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:21:5: Add a return type to the method + okMethod(): void { }, + a: 1, + bad() { }, + ~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:20:12: Add a type annotation to the variable oWithMethods. +!!! related TS9034 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:24:5: Add a return type to the method + e: V, + ~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:20:12: Add a type annotation to the variable oWithMethods. +!!! related TS9035 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:25:8: Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit. + } + export let oWithMethodsNested = { + foo: { + method() { }, + ~~~~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:27:12: Add a type annotation to the variable oWithMethodsNested. +!!! related TS9034 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:29:9: Add a return type to the method + a: 1, + okMethod(): void { }, + bad() { } + ~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:27:12: Add a type annotation to the variable oWithMethodsNested. +!!! related TS9034 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:32:9: Add a return type to the method + } + } + + + + export let oWithAccessor = { + get singleGetterBad() { return 0 }, + set singleSetterBad(value) { }, + ~~~~~~~~~~~~~~~ +!!! error TS7032: Property 'singleSetterBad' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~~~ +!!! error TS7006: Parameter 'value' implicitly has an 'any' type. + ~~~~~ +!!! error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9033 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:40:9: Add a type to parameter of the set accessor declaration. + + get getSetBad() { return 0 }, + set getSetBad(value) { }, + + get getSetOk(): number { return 0 }, + set getSetOk(value) { }, + + get getSetOk2() { return 0 }, + set getSetOk2(value: number) { }, + + get getSetOk3(): number { return 0 }, + set getSetOk3(value: number) { }, + } + + function prop(v: T): T { return v } + + const s: unique symbol = Symbol(); + const str: string = ""; + enum E { + V = 10, + } + export const oWithComputedProperties = { + [1]: 1, + [1 + 3]: 1, + ~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. + [prop(2)]: 2, + ~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. + [s]: 1, + [E.V]: 1, + [str]: 0, + } + + const part = { a: 1 }; + + export const oWithSpread = { + b: 1, + ...part, + ~~~~~~~ +!!! error TS9015: Objects that contain spread assignments can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:73:14: Add a type annotation to the variable oWithSpread. + c: 1, + part, + ~~~~ +!!! error TS9016: Objects that contain shorthand properties can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:73:14: Add a type annotation to the variable oWithSpread. + } + + + export const oWithSpread2 = { + b: 1, + nested: { + ...part, + ~~~~~~~ +!!! error TS9015: Objects that contain spread assignments can't be inferred with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationErrorsObjects.ts:81:14: Add a type annotation to the variable oWithSpread2. + }, + c: 1, + } + \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.js b/tests/baselines/reference/isolatedDeclarationErrorsObjects.js new file mode 100644 index 0000000000..ec6c9a18d2 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.js @@ -0,0 +1,164 @@ +//// [isolatedDeclarationErrorsObjects.ts] +export let o = { + a: 1, + b: "" +} + +export let oBad = { + a: Math.random(), +} +export const V = 1; +export let oBad2 = { + a: { + b: Math.random(), + }, + c: { + d: 1, + e: V, + } +} + +export let oWithMethods = { + method() { }, + okMethod(): void { }, + a: 1, + bad() { }, + e: V, +} +export let oWithMethodsNested = { + foo: { + method() { }, + a: 1, + okMethod(): void { }, + bad() { } + } +} + + + +export let oWithAccessor = { + get singleGetterBad() { return 0 }, + set singleSetterBad(value) { }, + + get getSetBad() { return 0 }, + set getSetBad(value) { }, + + get getSetOk(): number { return 0 }, + set getSetOk(value) { }, + + get getSetOk2() { return 0 }, + set getSetOk2(value: number) { }, + + get getSetOk3(): number { return 0 }, + set getSetOk3(value: number) { }, +} + +function prop(v: T): T { return v } + +const s: unique symbol = Symbol(); +const str: string = ""; +enum E { + V = 10, +} +export const oWithComputedProperties = { + [1]: 1, + [1 + 3]: 1, + [prop(2)]: 2, + [s]: 1, + [E.V]: 1, + [str]: 0, +} + +const part = { a: 1 }; + +export const oWithSpread = { + b: 1, + ...part, + c: 1, + part, +} + + +export const oWithSpread2 = { + b: 1, + nested: { + ...part, + }, + c: 1, +} + + +//// [isolatedDeclarationErrorsObjects.js] +export let o = { + a: 1, + b: "" +}; +export let oBad = { + a: Math.random(), +}; +export const V = 1; +export let oBad2 = { + a: { + b: Math.random(), + }, + c: { + d: 1, + e: V, + } +}; +export let oWithMethods = { + method() { }, + okMethod() { }, + a: 1, + bad() { }, + e: V, +}; +export let oWithMethodsNested = { + foo: { + method() { }, + a: 1, + okMethod() { }, + bad() { } + } +}; +export let oWithAccessor = { + get singleGetterBad() { return 0; }, + set singleSetterBad(value) { }, + get getSetBad() { return 0; }, + set getSetBad(value) { }, + get getSetOk() { return 0; }, + set getSetOk(value) { }, + get getSetOk2() { return 0; }, + set getSetOk2(value) { }, + get getSetOk3() { return 0; }, + set getSetOk3(value) { }, +}; +function prop(v) { return v; } +const s = Symbol(); +const str = ""; +var E; +(function (E) { + E[E["V"] = 10] = "V"; +})(E || (E = {})); +export const oWithComputedProperties = { + [1]: 1, + [1 + 3]: 1, + [prop(2)]: 2, + [s]: 1, + [E.V]: 1, + [str]: 0, +}; +const part = { a: 1 }; +export const oWithSpread = { + b: 1, + ...part, + c: 1, + part, +}; +export const oWithSpread2 = { + b: 1, + nested: { + ...part, + }, + c: 1, +}; diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.symbols b/tests/baselines/reference/isolatedDeclarationErrorsObjects.symbols new file mode 100644 index 0000000000..b5370b2dd7 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.symbols @@ -0,0 +1,216 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsObjects.ts === +export let o = { +>o : Symbol(o, Decl(isolatedDeclarationErrorsObjects.ts, 0, 10)) + + a: 1, +>a : Symbol(a, Decl(isolatedDeclarationErrorsObjects.ts, 0, 16)) + + b: "" +>b : Symbol(b, Decl(isolatedDeclarationErrorsObjects.ts, 1, 9)) +} + +export let oBad = { +>oBad : Symbol(oBad, Decl(isolatedDeclarationErrorsObjects.ts, 5, 10)) + + a: Math.random(), +>a : Symbol(a, Decl(isolatedDeclarationErrorsObjects.ts, 5, 19)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +} +export const V = 1; +>V : Symbol(V, Decl(isolatedDeclarationErrorsObjects.ts, 8, 12)) + +export let oBad2 = { +>oBad2 : Symbol(oBad2, Decl(isolatedDeclarationErrorsObjects.ts, 9, 10)) + + a: { +>a : Symbol(a, Decl(isolatedDeclarationErrorsObjects.ts, 9, 20)) + + b: Math.random(), +>b : Symbol(b, Decl(isolatedDeclarationErrorsObjects.ts, 10, 8)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + }, + c: { +>c : Symbol(c, Decl(isolatedDeclarationErrorsObjects.ts, 12, 6)) + + d: 1, +>d : Symbol(d, Decl(isolatedDeclarationErrorsObjects.ts, 13, 8)) + + e: V, +>e : Symbol(e, Decl(isolatedDeclarationErrorsObjects.ts, 14, 13)) +>V : Symbol(V, Decl(isolatedDeclarationErrorsObjects.ts, 8, 12)) + } +} + +export let oWithMethods = { +>oWithMethods : Symbol(oWithMethods, Decl(isolatedDeclarationErrorsObjects.ts, 19, 10)) + + method() { }, +>method : Symbol(method, Decl(isolatedDeclarationErrorsObjects.ts, 19, 27)) + + okMethod(): void { }, +>okMethod : Symbol(okMethod, Decl(isolatedDeclarationErrorsObjects.ts, 20, 17)) + + a: 1, +>a : Symbol(a, Decl(isolatedDeclarationErrorsObjects.ts, 21, 25)) + + bad() { }, +>bad : Symbol(bad, Decl(isolatedDeclarationErrorsObjects.ts, 22, 9)) + + e: V, +>e : Symbol(e, Decl(isolatedDeclarationErrorsObjects.ts, 23, 14)) +>V : Symbol(V, Decl(isolatedDeclarationErrorsObjects.ts, 8, 12)) +} +export let oWithMethodsNested = { +>oWithMethodsNested : Symbol(oWithMethodsNested, Decl(isolatedDeclarationErrorsObjects.ts, 26, 10)) + + foo: { +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsObjects.ts, 26, 33)) + + method() { }, +>method : Symbol(method, Decl(isolatedDeclarationErrorsObjects.ts, 27, 10)) + + a: 1, +>a : Symbol(a, Decl(isolatedDeclarationErrorsObjects.ts, 28, 21)) + + okMethod(): void { }, +>okMethod : Symbol(okMethod, Decl(isolatedDeclarationErrorsObjects.ts, 29, 13)) + + bad() { } +>bad : Symbol(bad, Decl(isolatedDeclarationErrorsObjects.ts, 30, 29)) + } +} + + + +export let oWithAccessor = { +>oWithAccessor : Symbol(oWithAccessor, Decl(isolatedDeclarationErrorsObjects.ts, 37, 10)) + + get singleGetterBad() { return 0 }, +>singleGetterBad : Symbol(singleGetterBad, Decl(isolatedDeclarationErrorsObjects.ts, 37, 28)) + + set singleSetterBad(value) { }, +>singleSetterBad : Symbol(singleSetterBad, Decl(isolatedDeclarationErrorsObjects.ts, 38, 39)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsObjects.ts, 39, 24)) + + get getSetBad() { return 0 }, +>getSetBad : Symbol(getSetBad, Decl(isolatedDeclarationErrorsObjects.ts, 39, 35), Decl(isolatedDeclarationErrorsObjects.ts, 41, 33)) + + set getSetBad(value) { }, +>getSetBad : Symbol(getSetBad, Decl(isolatedDeclarationErrorsObjects.ts, 39, 35), Decl(isolatedDeclarationErrorsObjects.ts, 41, 33)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsObjects.ts, 42, 18)) + + get getSetOk(): number { return 0 }, +>getSetOk : Symbol(getSetOk, Decl(isolatedDeclarationErrorsObjects.ts, 42, 29), Decl(isolatedDeclarationErrorsObjects.ts, 44, 40)) + + set getSetOk(value) { }, +>getSetOk : Symbol(getSetOk, Decl(isolatedDeclarationErrorsObjects.ts, 42, 29), Decl(isolatedDeclarationErrorsObjects.ts, 44, 40)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsObjects.ts, 45, 17)) + + get getSetOk2() { return 0 }, +>getSetOk2 : Symbol(getSetOk2, Decl(isolatedDeclarationErrorsObjects.ts, 45, 28), Decl(isolatedDeclarationErrorsObjects.ts, 47, 33)) + + set getSetOk2(value: number) { }, +>getSetOk2 : Symbol(getSetOk2, Decl(isolatedDeclarationErrorsObjects.ts, 45, 28), Decl(isolatedDeclarationErrorsObjects.ts, 47, 33)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsObjects.ts, 48, 18)) + + get getSetOk3(): number { return 0 }, +>getSetOk3 : Symbol(getSetOk3, Decl(isolatedDeclarationErrorsObjects.ts, 48, 37), Decl(isolatedDeclarationErrorsObjects.ts, 50, 41)) + + set getSetOk3(value: number) { }, +>getSetOk3 : Symbol(getSetOk3, Decl(isolatedDeclarationErrorsObjects.ts, 48, 37), Decl(isolatedDeclarationErrorsObjects.ts, 50, 41)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsObjects.ts, 51, 18)) +} + +function prop(v: T): T { return v } +>prop : Symbol(prop, Decl(isolatedDeclarationErrorsObjects.ts, 52, 1)) +>T : Symbol(T, Decl(isolatedDeclarationErrorsObjects.ts, 54, 14)) +>v : Symbol(v, Decl(isolatedDeclarationErrorsObjects.ts, 54, 17)) +>T : Symbol(T, Decl(isolatedDeclarationErrorsObjects.ts, 54, 14)) +>T : Symbol(T, Decl(isolatedDeclarationErrorsObjects.ts, 54, 14)) +>v : Symbol(v, Decl(isolatedDeclarationErrorsObjects.ts, 54, 17)) + +const s: unique symbol = Symbol(); +>s : Symbol(s, Decl(isolatedDeclarationErrorsObjects.ts, 56, 5)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) + +const str: string = ""; +>str : Symbol(str, Decl(isolatedDeclarationErrorsObjects.ts, 57, 5)) + +enum E { +>E : Symbol(E, Decl(isolatedDeclarationErrorsObjects.ts, 57, 23)) + + V = 10, +>V : Symbol(E.V, Decl(isolatedDeclarationErrorsObjects.ts, 58, 8)) +} +export const oWithComputedProperties = { +>oWithComputedProperties : Symbol(oWithComputedProperties, Decl(isolatedDeclarationErrorsObjects.ts, 61, 12)) + + [1]: 1, +>[1] : Symbol([1], Decl(isolatedDeclarationErrorsObjects.ts, 61, 40)) +>1 : Symbol([1], Decl(isolatedDeclarationErrorsObjects.ts, 61, 40)) + + [1 + 3]: 1, +>[1 + 3] : Symbol([1 + 3], Decl(isolatedDeclarationErrorsObjects.ts, 62, 11)) + + [prop(2)]: 2, +>[prop(2)] : Symbol([prop(2)], Decl(isolatedDeclarationErrorsObjects.ts, 63, 15)) +>prop : Symbol(prop, Decl(isolatedDeclarationErrorsObjects.ts, 52, 1)) + + [s]: 1, +>[s] : Symbol([s], Decl(isolatedDeclarationErrorsObjects.ts, 64, 17)) +>s : Symbol(s, Decl(isolatedDeclarationErrorsObjects.ts, 56, 5)) + + [E.V]: 1, +>[E.V] : Symbol([E.V], Decl(isolatedDeclarationErrorsObjects.ts, 65, 11)) +>E.V : Symbol(E.V, Decl(isolatedDeclarationErrorsObjects.ts, 58, 8)) +>E : Symbol(E, Decl(isolatedDeclarationErrorsObjects.ts, 57, 23)) +>V : Symbol(E.V, Decl(isolatedDeclarationErrorsObjects.ts, 58, 8)) + + [str]: 0, +>[str] : Symbol([str], Decl(isolatedDeclarationErrorsObjects.ts, 66, 13)) +>str : Symbol(str, Decl(isolatedDeclarationErrorsObjects.ts, 57, 5)) +} + +const part = { a: 1 }; +>part : Symbol(part, Decl(isolatedDeclarationErrorsObjects.ts, 70, 5)) +>a : Symbol(a, Decl(isolatedDeclarationErrorsObjects.ts, 70, 14)) + +export const oWithSpread = { +>oWithSpread : Symbol(oWithSpread, Decl(isolatedDeclarationErrorsObjects.ts, 72, 12)) + + b: 1, +>b : Symbol(b, Decl(isolatedDeclarationErrorsObjects.ts, 72, 28)) + + ...part, +>part : Symbol(part, Decl(isolatedDeclarationErrorsObjects.ts, 70, 5)) + + c: 1, +>c : Symbol(c, Decl(isolatedDeclarationErrorsObjects.ts, 74, 12)) + + part, +>part : Symbol(part, Decl(isolatedDeclarationErrorsObjects.ts, 75, 9)) +} + + +export const oWithSpread2 = { +>oWithSpread2 : Symbol(oWithSpread2, Decl(isolatedDeclarationErrorsObjects.ts, 80, 12)) + + b: 1, +>b : Symbol(b, Decl(isolatedDeclarationErrorsObjects.ts, 80, 29)) + + nested: { +>nested : Symbol(nested, Decl(isolatedDeclarationErrorsObjects.ts, 81, 9)) + + ...part, +>part : Symbol(part, Decl(isolatedDeclarationErrorsObjects.ts, 70, 5)) + + }, + c: 1, +>c : Symbol(c, Decl(isolatedDeclarationErrorsObjects.ts, 84, 6)) +} + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.types b/tests/baselines/reference/isolatedDeclarationErrorsObjects.types new file mode 100644 index 0000000000..27ee859b42 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.types @@ -0,0 +1,259 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsObjects.ts === +export let o = { +>o : { a: number; b: string; } +>{ a: 1, b: ""} : { a: number; b: string; } + + a: 1, +>a : number +>1 : 1 + + b: "" +>b : string +>"" : "" +} + +export let oBad = { +>oBad : { a: number; } +>{ a: Math.random(),} : { a: number; } + + a: Math.random(), +>a : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number +} +export const V = 1; +>V : 1 +>1 : 1 + +export let oBad2 = { +>oBad2 : { a: { b: number; }; c: { d: number; e: number; }; } +>{ a: { b: Math.random(), }, c: { d: 1, e: V, }} : { a: { b: number; }; c: { d: number; e: number; }; } + + a: { +>a : { b: number; } +>{ b: Math.random(), } : { b: number; } + + b: Math.random(), +>b : number +>Math.random() : number +>Math.random : () => number +>Math : Math +>random : () => number + + }, + c: { +>c : { d: number; e: number; } +>{ d: 1, e: V, } : { d: number; e: number; } + + d: 1, +>d : number +>1 : 1 + + e: V, +>e : number +>V : 1 + } +} + +export let oWithMethods = { +>oWithMethods : { method(): void; okMethod(): void; a: number; bad(): void; e: number; } +>{ method() { }, okMethod(): void { }, a: 1, bad() { }, e: V,} : { method(): void; okMethod(): void; a: number; bad(): void; e: number; } + + method() { }, +>method : () => void + + okMethod(): void { }, +>okMethod : () => void + + a: 1, +>a : number +>1 : 1 + + bad() { }, +>bad : () => void + + e: V, +>e : number +>V : 1 +} +export let oWithMethodsNested = { +>oWithMethodsNested : { foo: { method(): void; a: number; okMethod(): void; bad(): void; }; } +>{ foo: { method() { }, a: 1, okMethod(): void { }, bad() { } }} : { foo: { method(): void; a: number; okMethod(): void; bad(): void; }; } + + foo: { +>foo : { method(): void; a: number; okMethod(): void; bad(): void; } +>{ method() { }, a: 1, okMethod(): void { }, bad() { } } : { method(): void; a: number; okMethod(): void; bad(): void; } + + method() { }, +>method : () => void + + a: 1, +>a : number +>1 : 1 + + okMethod(): void { }, +>okMethod : () => void + + bad() { } +>bad : () => void + } +} + + + +export let oWithAccessor = { +>oWithAccessor : { readonly singleGetterBad: number; singleSetterBad: any; getSetBad: number; getSetOk: number; getSetOk2: number; getSetOk3: number; } +>{ get singleGetterBad() { return 0 }, set singleSetterBad(value) { }, get getSetBad() { return 0 }, set getSetBad(value) { }, get getSetOk(): number { return 0 }, set getSetOk(value) { }, get getSetOk2() { return 0 }, set getSetOk2(value: number) { }, get getSetOk3(): number { return 0 }, set getSetOk3(value: number) { },} : { readonly singleGetterBad: number; singleSetterBad: any; getSetBad: number; getSetOk: number; getSetOk2: number; getSetOk3: number; } + + get singleGetterBad() { return 0 }, +>singleGetterBad : number +>0 : 0 + + set singleSetterBad(value) { }, +>singleSetterBad : any +>value : any + + get getSetBad() { return 0 }, +>getSetBad : number +>0 : 0 + + set getSetBad(value) { }, +>getSetBad : number +>value : number + + get getSetOk(): number { return 0 }, +>getSetOk : number +>0 : 0 + + set getSetOk(value) { }, +>getSetOk : number +>value : number + + get getSetOk2() { return 0 }, +>getSetOk2 : number +>0 : 0 + + set getSetOk2(value: number) { }, +>getSetOk2 : number +>value : number + + get getSetOk3(): number { return 0 }, +>getSetOk3 : number +>0 : 0 + + set getSetOk3(value: number) { }, +>getSetOk3 : number +>value : number +} + +function prop(v: T): T { return v } +>prop : (v: T) => T +>v : T +>v : T + +const s: unique symbol = Symbol(); +>s : unique symbol +>Symbol() : unique symbol +>Symbol : SymbolConstructor + +const str: string = ""; +>str : string +>"" : "" + +enum E { +>E : E + + V = 10, +>V : E.V +>10 : 10 +} +export const oWithComputedProperties = { +>oWithComputedProperties : { [x: string]: number; [x: number]: number; 1: number; 2: number; [s]: number; 10: number; } +>{ [1]: 1, [1 + 3]: 1, [prop(2)]: 2, [s]: 1, [E.V]: 1, [str]: 0,} : { [x: string]: number; [x: number]: number; 1: number; 2: number; [s]: number; 10: number; } + + [1]: 1, +>[1] : number +>1 : 1 +>1 : 1 + + [1 + 3]: 1, +>[1 + 3] : number +>1 + 3 : number +>1 : 1 +>3 : 3 +>1 : 1 + + [prop(2)]: 2, +>[prop(2)] : number +>prop(2) : 2 +>prop : (v: T) => T +>2 : 2 +>2 : 2 + + [s]: 1, +>[s] : number +>s : unique symbol +>1 : 1 + + [E.V]: 1, +>[E.V] : number +>E.V : E +>E : typeof E +>V : E +>1 : 1 + + [str]: 0, +>[str] : number +>str : string +>0 : 0 +} + +const part = { a: 1 }; +>part : { a: number; } +>{ a: 1 } : { a: number; } +>a : number +>1 : 1 + +export const oWithSpread = { +>oWithSpread : { c: number; part: { a: number; }; a: number; b: number; } +>{ b: 1, ...part, c: 1, part,} : { c: number; part: { a: number; }; a: number; b: number; } + + b: 1, +>b : number +>1 : 1 + + ...part, +>part : { a: number; } + + c: 1, +>c : number +>1 : 1 + + part, +>part : { a: number; } +} + + +export const oWithSpread2 = { +>oWithSpread2 : { b: number; nested: { a: number; }; c: number; } +>{ b: 1, nested: { ...part, }, c: 1,} : { b: number; nested: { a: number; }; c: number; } + + b: 1, +>b : number +>1 : 1 + + nested: { +>nested : { a: number; } +>{ ...part, } : { a: number; } + + ...part, +>part : { a: number; } + + }, + c: 1, +>c : number +>1 : 1 +} + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.errors.txt new file mode 100644 index 0000000000..96f4b14e3a --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.errors.txt @@ -0,0 +1,361 @@ +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(13,45): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(16,41): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(19,41): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(109,65): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(112,61): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(115,61): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(119,83): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(120,66): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(122,79): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(123,62): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(125,79): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(126,62): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(138,73): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(141,69): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(144,69): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(151,38): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(152,21): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(153,57): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(154,40): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(156,51): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(157,34): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(158,70): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(159,53): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(162,53): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(163,36): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(164,72): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(165,55): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(167,66): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(168,49): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(169,85): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts(170,68): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts (31 errors) ==== + // Function Variables + export const fnExpressionConstVariable = function foo() { return 0;} + export const fnArrowConstVariable = () => "S"; + + export let fnExpressionLetVariable = function foo() { return 0;} + export let fnArrowLetVariable = () => "S"; + + export var fnExpressionVarVariable = function foo() { return 0;} + export var fnArrowVarVariable = () => "S"; + + // No Errors + export const fnExpressionConstVariableOk = function foo(): number { return 0;} + export const fnArrowConstVariableOk = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:13:40: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:13:45: Add a return type to the function expression. + + export let fnExpressionLetVariableOk = function foo(): number { return 0;} + export let fnArrowLetVariableOk = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:16:36: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:16:41: Add a return type to the function expression. + + export var fnExpressionVarVariableOk = function foo(): number { return 0;} + export var fnArrowVarVariableOk = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:19:36: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:19:41: Add a return type to the function expression. + + // Not exported + const fnExpressionConstVariableInternal = function foo() { return 0;} + const fnArrowConstVariableInternal = () => "S"; + + let fnExpressionLetVariableInternal = function foo() { return 0;} + let fnArrowLetVariableInternal = () => "S"; + + var fnExpressionVarVariableInternal = function foo() { return 0;} + var fnArrowVarVariableInternal = () => "S"; + + // Function Fields + export class ExportedClass { + // Should Error + fnExpression = function foo() { return 0; } + fnArrow = () => "S"; + protected fnExpressionProtected = function foo() { return 0; } + protected fnArrowProtected = () => "S"; + + static fnStaticExpression = function foo() { return 0; } + static fnStaticArrow = () => "S"; + protected static fnStaticExpressionProtected = function foo() { return 0; } + protected static fnStaticArrowProtected = () => "S"; + + // Have annotation, so ok + fnExpressionOk = function foo(): number { return 0; } + fnArrowOK = (): string => "S"; + protected fnExpressionProtectedOk = function foo(): number { return 0; } + protected fnArrowProtectedOK = (): string => "S"; + + static fnStaticExpressionOk = function foo(): number { return 0; } + static fnStaticArrowOk = (): string => "S"; + protected static fnStaticExpressionProtectedOk = function foo(): number { return 0; } + protected static fnStaticArrowProtectedOk = (): string => "S"; + + + // No Error not in declarations + private fnExpressionPrivate = function foo() { return 0; } + private fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0;} + private static fnStaticExpressionPrivate = function foo() { return 0; } + private static fnStaticArrowPrivate = () => "S"; + } + + // Should error + class IndirectlyExportedClass { + fnExpression = function foo() { return 0; } + fnArrow = () => "S"; + + static fnStaticExpression = function foo() { return 0; } + static fnStaticArrow = () => "S"; + + protected static fnStaticExpressionProtected = function foo() { return 0; } + protected static fnStaticArrowProtected = () => "S"; + + private fnExpressionPrivate = function foo() { return 0; } + private fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0;} + private static fnStaticExpressionPrivate = function foo() { return 0; } + private static fnStaticArrowPrivate = () => "S"; + } + export const instance: IndirectlyExportedClass = new IndirectlyExportedClass(); + + // No Errors + class InternalClass { + fnExpression = function foo() { return 0; } + fnArrow = () => "S"; + + static fnStaticExpression = function foo() { return 0; } + static fnStaticArrow = () => "S"; + + protected static fnStaticExpressionProtected = function foo() { return 0; } + protected static fnStaticArrowProtected = () => "S"; + + private fnExpressionPrivate = function foo() { return 0; } + private fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0;} + private static fnStaticExpressionPrivate = function foo() { return 0; } + private static fnStaticArrowPrivate = () => "S"; + } + const internalInstance: InternalClass = new InternalClass(); + + + // Function parameters + + // In Function Variables - No annotations + export const fnParamExpressionConstVariable = function foo(cb = function(){ }) { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:109:60: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:109:65: Add a return type to the function expression. + export const fnParamArrowConstVariable = (cb = () => 1) => "S"; + + export let fnParamExpressionLetVariable = function foo(cb = function(){ }) { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:112:56: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:112:61: Add a return type to the function expression. + export let fnParamArrowLetVariable = (cb = () => 1) => "S"; + + export var fnParamExpressionVarVariable = function foo(cb = function(){ }) { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:115:56: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:115:61: Add a return type to the function expression. + export var fnParamArrowVarVariable = (cb = () => 1) => "S"; + + // In Function Variables - No annotations on parameter + export const fnParamExpressionConstVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:119:78: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:119:83: Add a return type to the function expression. + export const fnParamArrowConstVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:120:61: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:120:66: Add a return type to the function expression. + + export let fnParamExpressionLetVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:122:74: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:122:79: Add a return type to the function expression. + export let fnParamArrowLetVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:123:57: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:123:62: Add a return type to the function expression. + + export var fnParamExpressionVarVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:125:74: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:125:79: Add a return type to the function expression. + export var fnParamArrowVarVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:126:57: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:126:62: Add a return type to the function expression. + + // No Errors + export const fnParamExpressionConstVariableOk = function foo(cb = function(): void{ }): number { return 0;} + export const fnParamArrowConstVariableOk = (cb = function(): void{ }): string => "S"; + + export let fnParamExpressionLetVariableOk = function foo(cb = function(): void{ }): number { return 0;} + export let fnParamArrowLetVariableOk = (cb = function(): void{ }): string => "S"; + + export var fnParamExpressionVarVariableOk = function foo(cb = function(): void{ }): number { return 0;} + export var fnParamArrowVarVariableOk = (cb = function(): void{ }): string => "S"; + + export const fnParamExpressionConstVariableInternal = function foo(cb = function(){ }) { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:138:68: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:138:73: Add a return type to the function expression. + export const fnParamArrowConstVariableInternal = (cb = () => 1) => "S"; + + export let fnParamExpressionLetVariableInternal = function foo(cb = function(){ }) { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:141:64: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:141:69: Add a return type to the function expression. + export let fnParamArrowLetVariableInternal = (cb = () => 1) => "S"; + + export var fnParamExpressionVarVariableInternal = function foo(cb = function(){ }) { return 0;} + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:144:64: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:144:69: Add a return type to the function expression. + export var fnParamArrowVarVariableInternal = (cb = () => 1) => "S"; + + + // In Function Fields + export class FnParamsExportedClass { + // Should Error + fnExpression = function foo(cb = function(){ }) { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:151:33: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:151:38: Add a return type to the function expression. + fnArrow = (cb = function(){ }) => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:152:16: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:152:21: Add a return type to the function expression. + protected fnExpressionProtected = function foo(cb = function(){ }) { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:153:52: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:153:57: Add a return type to the function expression. + protected fnArrowProtected = (cb = function(){ }) => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:154:35: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:154:40: Add a return type to the function expression. + + static fnStaticExpression = function foo(cb = function(){ }) { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:156:46: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:156:51: Add a return type to the function expression. + static fnStaticArrow = (cb = function(){ }) => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:157:29: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:157:34: Add a return type to the function expression. + protected static fnStaticExpressionProtected = function foo(cb = function(){ }) { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:158:65: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:158:70: Add a return type to the function expression. + protected static fnStaticArrowProtected = (cb = function(){ }) => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:159:48: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:159:53: Add a return type to the function expression. + + // Have annotation on owner + fnExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:162:48: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:162:53: Add a return type to the function expression. + fnArrowMethodHasReturn = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:163:31: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:163:36: Add a return type to the function expression. + protected fnExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:164:67: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:164:72: Add a return type to the function expression. + protected fnArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:165:50: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:165:55: Add a return type to the function expression. + + static fnStaticExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:167:61: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:167:66: Add a return type to the function expression. + static fnStaticArrowMethodHasReturn = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:168:44: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:168:49: Add a return type to the function expression. + protected static fnStaticExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:169:80: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:169:85: Add a return type to the function expression. + protected static fnStaticArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:170:63: Add a type annotation to the parameter cb. +!!! related TS9030 tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts:170:68: Add a return type to the function expression. + + // Have annotation only on parameter + fnExpressionOnlyOnParam = function foo(cb = function(): void { }) { return 0; } + fnArrowOnlyOnParam = (cb = function(): void { }) => "S"; + protected fnExpressionProtectedOnlyOnParam = function foo(cb = function(): void { }) { return 0; } + protected fnArrowProtectedOnlyOnParam = (cb = function(): void { }) => "S"; + + static fnStaticExpressionOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } + static fnStaticArrowOnlyOnParam = (cb = function(): void{ }) => "S"; + protected static fnStaticExpressionProtectedOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } + protected static fnStaticArrowProtectedOnlyOnParam = (cb = function(): void{ }) => "S"; + + // Have annotation, so ok + fnExpressionOk = function foo(cb = function(): void { }): number { return 0; } + fnArrowOK = (cb = function(): void { }): string => "S"; + protected fnExpressionProtectedOk = function foo(cb = function(): void { }): number { return 0; } + protected fnArrowProtectedOK = (cb = function(): void { }): string => "S"; + + static fnStaticExpressionOk = function foo(cb = function(): void{ }): number { return 0; } + static fnStaticArrowOk = (cb = function(): void{ }): string => "S"; + protected static fnStaticExpressionProtectedOk = function foo(cb = function(): void{ }): number { return 0; } + protected static fnStaticArrowProtectedOk = (cb = function(): void{ }): string => "S"; + + + // No Error, not in declarations + private fnExpressionPrivate = function foo(cb = function(){ }) { return 0; } + private fnArrowPrivate = (cb = function(){ }) => "S"; + #fnArrow = (cb = function(){ }) => "S"; + #fnExpression = function foo(cb = function(){ }) { return 0;} + private static fnStaticExpressionPrivate = function foo(cb = function(){ }) { return 0; } + private static fnStaticArrowPrivate = (cb = function(){ }) => "S"; + } + \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.js b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.js new file mode 100644 index 0000000000..4743cc401b --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.js @@ -0,0 +1,361 @@ +//// [isolatedDeclarationErrorsReturnTypes.ts] +// Function Variables +export const fnExpressionConstVariable = function foo() { return 0;} +export const fnArrowConstVariable = () => "S"; + +export let fnExpressionLetVariable = function foo() { return 0;} +export let fnArrowLetVariable = () => "S"; + +export var fnExpressionVarVariable = function foo() { return 0;} +export var fnArrowVarVariable = () => "S"; + +// No Errors +export const fnExpressionConstVariableOk = function foo(): number { return 0;} +export const fnArrowConstVariableOk = (cb = function(){ }): string => "S"; + +export let fnExpressionLetVariableOk = function foo(): number { return 0;} +export let fnArrowLetVariableOk = (cb = function(){ }): string => "S"; + +export var fnExpressionVarVariableOk = function foo(): number { return 0;} +export var fnArrowVarVariableOk = (cb = function(){ }): string => "S"; + +// Not exported +const fnExpressionConstVariableInternal = function foo() { return 0;} +const fnArrowConstVariableInternal = () => "S"; + +let fnExpressionLetVariableInternal = function foo() { return 0;} +let fnArrowLetVariableInternal = () => "S"; + +var fnExpressionVarVariableInternal = function foo() { return 0;} +var fnArrowVarVariableInternal = () => "S"; + +// Function Fields +export class ExportedClass { + // Should Error + fnExpression = function foo() { return 0; } + fnArrow = () => "S"; + protected fnExpressionProtected = function foo() { return 0; } + protected fnArrowProtected = () => "S"; + + static fnStaticExpression = function foo() { return 0; } + static fnStaticArrow = () => "S"; + protected static fnStaticExpressionProtected = function foo() { return 0; } + protected static fnStaticArrowProtected = () => "S"; + + // Have annotation, so ok + fnExpressionOk = function foo(): number { return 0; } + fnArrowOK = (): string => "S"; + protected fnExpressionProtectedOk = function foo(): number { return 0; } + protected fnArrowProtectedOK = (): string => "S"; + + static fnStaticExpressionOk = function foo(): number { return 0; } + static fnStaticArrowOk = (): string => "S"; + protected static fnStaticExpressionProtectedOk = function foo(): number { return 0; } + protected static fnStaticArrowProtectedOk = (): string => "S"; + + + // No Error not in declarations + private fnExpressionPrivate = function foo() { return 0; } + private fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0;} + private static fnStaticExpressionPrivate = function foo() { return 0; } + private static fnStaticArrowPrivate = () => "S"; +} + +// Should error +class IndirectlyExportedClass { + fnExpression = function foo() { return 0; } + fnArrow = () => "S"; + + static fnStaticExpression = function foo() { return 0; } + static fnStaticArrow = () => "S"; + + protected static fnStaticExpressionProtected = function foo() { return 0; } + protected static fnStaticArrowProtected = () => "S"; + + private fnExpressionPrivate = function foo() { return 0; } + private fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0;} + private static fnStaticExpressionPrivate = function foo() { return 0; } + private static fnStaticArrowPrivate = () => "S"; +} +export const instance: IndirectlyExportedClass = new IndirectlyExportedClass(); + +// No Errors +class InternalClass { + fnExpression = function foo() { return 0; } + fnArrow = () => "S"; + + static fnStaticExpression = function foo() { return 0; } + static fnStaticArrow = () => "S"; + + protected static fnStaticExpressionProtected = function foo() { return 0; } + protected static fnStaticArrowProtected = () => "S"; + + private fnExpressionPrivate = function foo() { return 0; } + private fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0;} + private static fnStaticExpressionPrivate = function foo() { return 0; } + private static fnStaticArrowPrivate = () => "S"; +} +const internalInstance: InternalClass = new InternalClass(); + + +// Function parameters + +// In Function Variables - No annotations +export const fnParamExpressionConstVariable = function foo(cb = function(){ }) { return 0;} +export const fnParamArrowConstVariable = (cb = () => 1) => "S"; + +export let fnParamExpressionLetVariable = function foo(cb = function(){ }) { return 0;} +export let fnParamArrowLetVariable = (cb = () => 1) => "S"; + +export var fnParamExpressionVarVariable = function foo(cb = function(){ }) { return 0;} +export var fnParamArrowVarVariable = (cb = () => 1) => "S"; + +// In Function Variables - No annotations on parameter +export const fnParamExpressionConstVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +export const fnParamArrowConstVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; + +export let fnParamExpressionLetVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +export let fnParamArrowLetVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; + +export var fnParamExpressionVarVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +export var fnParamArrowVarVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; + +// No Errors +export const fnParamExpressionConstVariableOk = function foo(cb = function(): void{ }): number { return 0;} +export const fnParamArrowConstVariableOk = (cb = function(): void{ }): string => "S"; + +export let fnParamExpressionLetVariableOk = function foo(cb = function(): void{ }): number { return 0;} +export let fnParamArrowLetVariableOk = (cb = function(): void{ }): string => "S"; + +export var fnParamExpressionVarVariableOk = function foo(cb = function(): void{ }): number { return 0;} +export var fnParamArrowVarVariableOk = (cb = function(): void{ }): string => "S"; + +export const fnParamExpressionConstVariableInternal = function foo(cb = function(){ }) { return 0;} +export const fnParamArrowConstVariableInternal = (cb = () => 1) => "S"; + +export let fnParamExpressionLetVariableInternal = function foo(cb = function(){ }) { return 0;} +export let fnParamArrowLetVariableInternal = (cb = () => 1) => "S"; + +export var fnParamExpressionVarVariableInternal = function foo(cb = function(){ }) { return 0;} +export var fnParamArrowVarVariableInternal = (cb = () => 1) => "S"; + + +// In Function Fields +export class FnParamsExportedClass { + // Should Error + fnExpression = function foo(cb = function(){ }) { return 0; } + fnArrow = (cb = function(){ }) => "S"; + protected fnExpressionProtected = function foo(cb = function(){ }) { return 0; } + protected fnArrowProtected = (cb = function(){ }) => "S"; + + static fnStaticExpression = function foo(cb = function(){ }) { return 0; } + static fnStaticArrow = (cb = function(){ }) => "S"; + protected static fnStaticExpressionProtected = function foo(cb = function(){ }) { return 0; } + protected static fnStaticArrowProtected = (cb = function(){ }) => "S"; + + // Have annotation on owner + fnExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + fnArrowMethodHasReturn = (cb = function(){ }): string => "S"; + protected fnExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + protected fnArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; + + static fnStaticExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + static fnStaticArrowMethodHasReturn = (cb = function(){ }): string => "S"; + protected static fnStaticExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } + protected static fnStaticArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; + + // Have annotation only on parameter + fnExpressionOnlyOnParam = function foo(cb = function(): void { }) { return 0; } + fnArrowOnlyOnParam = (cb = function(): void { }) => "S"; + protected fnExpressionProtectedOnlyOnParam = function foo(cb = function(): void { }) { return 0; } + protected fnArrowProtectedOnlyOnParam = (cb = function(): void { }) => "S"; + + static fnStaticExpressionOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } + static fnStaticArrowOnlyOnParam = (cb = function(): void{ }) => "S"; + protected static fnStaticExpressionProtectedOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } + protected static fnStaticArrowProtectedOnlyOnParam = (cb = function(): void{ }) => "S"; + + // Have annotation, so ok + fnExpressionOk = function foo(cb = function(): void { }): number { return 0; } + fnArrowOK = (cb = function(): void { }): string => "S"; + protected fnExpressionProtectedOk = function foo(cb = function(): void { }): number { return 0; } + protected fnArrowProtectedOK = (cb = function(): void { }): string => "S"; + + static fnStaticExpressionOk = function foo(cb = function(): void{ }): number { return 0; } + static fnStaticArrowOk = (cb = function(): void{ }): string => "S"; + protected static fnStaticExpressionProtectedOk = function foo(cb = function(): void{ }): number { return 0; } + protected static fnStaticArrowProtectedOk = (cb = function(): void{ }): string => "S"; + + + // No Error, not in declarations + private fnExpressionPrivate = function foo(cb = function(){ }) { return 0; } + private fnArrowPrivate = (cb = function(){ }) => "S"; + #fnArrow = (cb = function(){ }) => "S"; + #fnExpression = function foo(cb = function(){ }) { return 0;} + private static fnStaticExpressionPrivate = function foo(cb = function(){ }) { return 0; } + private static fnStaticArrowPrivate = (cb = function(){ }) => "S"; +} + + +//// [isolatedDeclarationErrorsReturnTypes.js] +// Function Variables +export const fnExpressionConstVariable = function foo() { return 0; }; +export const fnArrowConstVariable = () => "S"; +export let fnExpressionLetVariable = function foo() { return 0; }; +export let fnArrowLetVariable = () => "S"; +export var fnExpressionVarVariable = function foo() { return 0; }; +export var fnArrowVarVariable = () => "S"; +// No Errors +export const fnExpressionConstVariableOk = function foo() { return 0; }; +export const fnArrowConstVariableOk = (cb = function () { }) => "S"; +export let fnExpressionLetVariableOk = function foo() { return 0; }; +export let fnArrowLetVariableOk = (cb = function () { }) => "S"; +export var fnExpressionVarVariableOk = function foo() { return 0; }; +export var fnArrowVarVariableOk = (cb = function () { }) => "S"; +// Not exported +const fnExpressionConstVariableInternal = function foo() { return 0; }; +const fnArrowConstVariableInternal = () => "S"; +let fnExpressionLetVariableInternal = function foo() { return 0; }; +let fnArrowLetVariableInternal = () => "S"; +var fnExpressionVarVariableInternal = function foo() { return 0; }; +var fnArrowVarVariableInternal = () => "S"; +// Function Fields +export class ExportedClass { + // Should Error + fnExpression = function foo() { return 0; }; + fnArrow = () => "S"; + fnExpressionProtected = function foo() { return 0; }; + fnArrowProtected = () => "S"; + static fnStaticExpression = function foo() { return 0; }; + static fnStaticArrow = () => "S"; + static fnStaticExpressionProtected = function foo() { return 0; }; + static fnStaticArrowProtected = () => "S"; + // Have annotation, so ok + fnExpressionOk = function foo() { return 0; }; + fnArrowOK = () => "S"; + fnExpressionProtectedOk = function foo() { return 0; }; + fnArrowProtectedOK = () => "S"; + static fnStaticExpressionOk = function foo() { return 0; }; + static fnStaticArrowOk = () => "S"; + static fnStaticExpressionProtectedOk = function foo() { return 0; }; + static fnStaticArrowProtectedOk = () => "S"; + // No Error not in declarations + fnExpressionPrivate = function foo() { return 0; }; + fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0; }; + static fnStaticExpressionPrivate = function foo() { return 0; }; + static fnStaticArrowPrivate = () => "S"; +} +// Should error +class IndirectlyExportedClass { + fnExpression = function foo() { return 0; }; + fnArrow = () => "S"; + static fnStaticExpression = function foo() { return 0; }; + static fnStaticArrow = () => "S"; + static fnStaticExpressionProtected = function foo() { return 0; }; + static fnStaticArrowProtected = () => "S"; + fnExpressionPrivate = function foo() { return 0; }; + fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0; }; + static fnStaticExpressionPrivate = function foo() { return 0; }; + static fnStaticArrowPrivate = () => "S"; +} +export const instance = new IndirectlyExportedClass(); +// No Errors +class InternalClass { + fnExpression = function foo() { return 0; }; + fnArrow = () => "S"; + static fnStaticExpression = function foo() { return 0; }; + static fnStaticArrow = () => "S"; + static fnStaticExpressionProtected = function foo() { return 0; }; + static fnStaticArrowProtected = () => "S"; + fnExpressionPrivate = function foo() { return 0; }; + fnArrowPrivate = () => "S"; + #fnArrow = () => "S"; + #fnExpression = function foo() { return 0; }; + static fnStaticExpressionPrivate = function foo() { return 0; }; + static fnStaticArrowPrivate = () => "S"; +} +const internalInstance = new InternalClass(); +// Function parameters +// In Function Variables - No annotations +export const fnParamExpressionConstVariable = function foo(cb = function () { }) { return 0; }; +export const fnParamArrowConstVariable = (cb = () => 1) => "S"; +export let fnParamExpressionLetVariable = function foo(cb = function () { }) { return 0; }; +export let fnParamArrowLetVariable = (cb = () => 1) => "S"; +export var fnParamExpressionVarVariable = function foo(cb = function () { }) { return 0; }; +export var fnParamArrowVarVariable = (cb = () => 1) => "S"; +// In Function Variables - No annotations on parameter +export const fnParamExpressionConstVariableOwnerHasReturnType = function foo(cb = function () { }) { return 0; }; +export const fnParamArrowConstVariableOwnerHasReturnType = (cb = function () { }) => "S"; +export let fnParamExpressionLetVariableOwnerHasReturnType = function foo(cb = function () { }) { return 0; }; +export let fnParamArrowLetVariableOwnerHasReturnType = (cb = function () { }) => "S"; +export var fnParamExpressionVarVariableOwnerHasReturnType = function foo(cb = function () { }) { return 0; }; +export var fnParamArrowVarVariableOwnerHasReturnType = (cb = function () { }) => "S"; +// No Errors +export const fnParamExpressionConstVariableOk = function foo(cb = function () { }) { return 0; }; +export const fnParamArrowConstVariableOk = (cb = function () { }) => "S"; +export let fnParamExpressionLetVariableOk = function foo(cb = function () { }) { return 0; }; +export let fnParamArrowLetVariableOk = (cb = function () { }) => "S"; +export var fnParamExpressionVarVariableOk = function foo(cb = function () { }) { return 0; }; +export var fnParamArrowVarVariableOk = (cb = function () { }) => "S"; +export const fnParamExpressionConstVariableInternal = function foo(cb = function () { }) { return 0; }; +export const fnParamArrowConstVariableInternal = (cb = () => 1) => "S"; +export let fnParamExpressionLetVariableInternal = function foo(cb = function () { }) { return 0; }; +export let fnParamArrowLetVariableInternal = (cb = () => 1) => "S"; +export var fnParamExpressionVarVariableInternal = function foo(cb = function () { }) { return 0; }; +export var fnParamArrowVarVariableInternal = (cb = () => 1) => "S"; +// In Function Fields +export class FnParamsExportedClass { + // Should Error + fnExpression = function foo(cb = function () { }) { return 0; }; + fnArrow = (cb = function () { }) => "S"; + fnExpressionProtected = function foo(cb = function () { }) { return 0; }; + fnArrowProtected = (cb = function () { }) => "S"; + static fnStaticExpression = function foo(cb = function () { }) { return 0; }; + static fnStaticArrow = (cb = function () { }) => "S"; + static fnStaticExpressionProtected = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowProtected = (cb = function () { }) => "S"; + // Have annotation on owner + fnExpressionMethodHasReturn = function foo(cb = function () { }) { return 0; }; + fnArrowMethodHasReturn = (cb = function () { }) => "S"; + fnExpressionProtectedMethodHasReturn = function foo(cb = function () { }) { return 0; }; + fnArrowProtectedMethodHasReturn = (cb = function () { }) => "S"; + static fnStaticExpressionMethodHasReturn = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowMethodHasReturn = (cb = function () { }) => "S"; + static fnStaticExpressionProtectedMethodHasReturn = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowProtectedMethodHasReturn = (cb = function () { }) => "S"; + // Have annotation only on parameter + fnExpressionOnlyOnParam = function foo(cb = function () { }) { return 0; }; + fnArrowOnlyOnParam = (cb = function () { }) => "S"; + fnExpressionProtectedOnlyOnParam = function foo(cb = function () { }) { return 0; }; + fnArrowProtectedOnlyOnParam = (cb = function () { }) => "S"; + static fnStaticExpressionOnlyOnParam = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowOnlyOnParam = (cb = function () { }) => "S"; + static fnStaticExpressionProtectedOnlyOnParam = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowProtectedOnlyOnParam = (cb = function () { }) => "S"; + // Have annotation, so ok + fnExpressionOk = function foo(cb = function () { }) { return 0; }; + fnArrowOK = (cb = function () { }) => "S"; + fnExpressionProtectedOk = function foo(cb = function () { }) { return 0; }; + fnArrowProtectedOK = (cb = function () { }) => "S"; + static fnStaticExpressionOk = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowOk = (cb = function () { }) => "S"; + static fnStaticExpressionProtectedOk = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowProtectedOk = (cb = function () { }) => "S"; + // No Error, not in declarations + fnExpressionPrivate = function foo(cb = function () { }) { return 0; }; + fnArrowPrivate = (cb = function () { }) => "S"; + #fnArrow = (cb = function () { }) => "S"; + #fnExpression = function foo(cb = function () { }) { return 0; }; + static fnStaticExpressionPrivate = function foo(cb = function () { }) { return 0; }; + static fnStaticArrowPrivate = (cb = function () { }) => "S"; +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.symbols b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.symbols new file mode 100644 index 0000000000..71523b53da --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.symbols @@ -0,0 +1,555 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts === +// Function Variables +export const fnExpressionConstVariable = function foo() { return 0;} +>fnExpressionConstVariable : Symbol(fnExpressionConstVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 1, 12)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 1, 40)) + +export const fnArrowConstVariable = () => "S"; +>fnArrowConstVariable : Symbol(fnArrowConstVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 2, 12)) + +export let fnExpressionLetVariable = function foo() { return 0;} +>fnExpressionLetVariable : Symbol(fnExpressionLetVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 4, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 4, 36)) + +export let fnArrowLetVariable = () => "S"; +>fnArrowLetVariable : Symbol(fnArrowLetVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 5, 10)) + +export var fnExpressionVarVariable = function foo() { return 0;} +>fnExpressionVarVariable : Symbol(fnExpressionVarVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 7, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 7, 36)) + +export var fnArrowVarVariable = () => "S"; +>fnArrowVarVariable : Symbol(fnArrowVarVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 8, 10)) + +// No Errors +export const fnExpressionConstVariableOk = function foo(): number { return 0;} +>fnExpressionConstVariableOk : Symbol(fnExpressionConstVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 11, 12)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 11, 42)) + +export const fnArrowConstVariableOk = (cb = function(){ }): string => "S"; +>fnArrowConstVariableOk : Symbol(fnArrowConstVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 12, 12)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 12, 39)) + +export let fnExpressionLetVariableOk = function foo(): number { return 0;} +>fnExpressionLetVariableOk : Symbol(fnExpressionLetVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 14, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 14, 38)) + +export let fnArrowLetVariableOk = (cb = function(){ }): string => "S"; +>fnArrowLetVariableOk : Symbol(fnArrowLetVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 15, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 15, 35)) + +export var fnExpressionVarVariableOk = function foo(): number { return 0;} +>fnExpressionVarVariableOk : Symbol(fnExpressionVarVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 17, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 17, 38)) + +export var fnArrowVarVariableOk = (cb = function(){ }): string => "S"; +>fnArrowVarVariableOk : Symbol(fnArrowVarVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 18, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 18, 35)) + +// Not exported +const fnExpressionConstVariableInternal = function foo() { return 0;} +>fnExpressionConstVariableInternal : Symbol(fnExpressionConstVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 21, 5)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 21, 41)) + +const fnArrowConstVariableInternal = () => "S"; +>fnArrowConstVariableInternal : Symbol(fnArrowConstVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 22, 5)) + +let fnExpressionLetVariableInternal = function foo() { return 0;} +>fnExpressionLetVariableInternal : Symbol(fnExpressionLetVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 24, 3)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 24, 37)) + +let fnArrowLetVariableInternal = () => "S"; +>fnArrowLetVariableInternal : Symbol(fnArrowLetVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 25, 3)) + +var fnExpressionVarVariableInternal = function foo() { return 0;} +>fnExpressionVarVariableInternal : Symbol(fnExpressionVarVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 27, 3)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 27, 37)) + +var fnArrowVarVariableInternal = () => "S"; +>fnArrowVarVariableInternal : Symbol(fnArrowVarVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 28, 3)) + +// Function Fields +export class ExportedClass { +>ExportedClass : Symbol(ExportedClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 28, 43)) + + // Should Error + fnExpression = function foo() { return 0; } +>fnExpression : Symbol(ExportedClass.fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 31, 28)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 33, 18)) + + fnArrow = () => "S"; +>fnArrow : Symbol(ExportedClass.fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 33, 47)) + + protected fnExpressionProtected = function foo() { return 0; } +>fnExpressionProtected : Symbol(ExportedClass.fnExpressionProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 34, 24)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 35, 37)) + + protected fnArrowProtected = () => "S"; +>fnArrowProtected : Symbol(ExportedClass.fnArrowProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 35, 66)) + + static fnStaticExpression = function foo() { return 0; } +>fnStaticExpression : Symbol(ExportedClass.fnStaticExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 36, 43)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 38, 31)) + + static fnStaticArrow = () => "S"; +>fnStaticArrow : Symbol(ExportedClass.fnStaticArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 38, 60)) + + protected static fnStaticExpressionProtected = function foo() { return 0; } +>fnStaticExpressionProtected : Symbol(ExportedClass.fnStaticExpressionProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 39, 37)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 40, 50)) + + protected static fnStaticArrowProtected = () => "S"; +>fnStaticArrowProtected : Symbol(ExportedClass.fnStaticArrowProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 40, 79)) + + // Have annotation, so ok + fnExpressionOk = function foo(): number { return 0; } +>fnExpressionOk : Symbol(ExportedClass.fnExpressionOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 41, 56)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 44, 20)) + + fnArrowOK = (): string => "S"; +>fnArrowOK : Symbol(ExportedClass.fnArrowOK, Decl(isolatedDeclarationErrorsReturnTypes.ts, 44, 57)) + + protected fnExpressionProtectedOk = function foo(): number { return 0; } +>fnExpressionProtectedOk : Symbol(ExportedClass.fnExpressionProtectedOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 45, 34)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 46, 39)) + + protected fnArrowProtectedOK = (): string => "S"; +>fnArrowProtectedOK : Symbol(ExportedClass.fnArrowProtectedOK, Decl(isolatedDeclarationErrorsReturnTypes.ts, 46, 76)) + + static fnStaticExpressionOk = function foo(): number { return 0; } +>fnStaticExpressionOk : Symbol(ExportedClass.fnStaticExpressionOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 47, 53)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 49, 33)) + + static fnStaticArrowOk = (): string => "S"; +>fnStaticArrowOk : Symbol(ExportedClass.fnStaticArrowOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 49, 70)) + + protected static fnStaticExpressionProtectedOk = function foo(): number { return 0; } +>fnStaticExpressionProtectedOk : Symbol(ExportedClass.fnStaticExpressionProtectedOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 50, 47)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 51, 52)) + + protected static fnStaticArrowProtectedOk = (): string => "S"; +>fnStaticArrowProtectedOk : Symbol(ExportedClass.fnStaticArrowProtectedOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 51, 89)) + + + // No Error not in declarations + private fnExpressionPrivate = function foo() { return 0; } +>fnExpressionPrivate : Symbol(ExportedClass.fnExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 52, 66)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 56, 33)) + + private fnArrowPrivate = () => "S"; +>fnArrowPrivate : Symbol(ExportedClass.fnArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 56, 62)) + + #fnArrow = () => "S"; +>#fnArrow : Symbol(ExportedClass.#fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 57, 39)) + + #fnExpression = function foo() { return 0;} +>#fnExpression : Symbol(ExportedClass.#fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 58, 25)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 59, 19)) + + private static fnStaticExpressionPrivate = function foo() { return 0; } +>fnStaticExpressionPrivate : Symbol(ExportedClass.fnStaticExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 59, 47)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 60, 46)) + + private static fnStaticArrowPrivate = () => "S"; +>fnStaticArrowPrivate : Symbol(ExportedClass.fnStaticArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 60, 75)) +} + +// Should error +class IndirectlyExportedClass { +>IndirectlyExportedClass : Symbol(IndirectlyExportedClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 62, 1)) + + fnExpression = function foo() { return 0; } +>fnExpression : Symbol(IndirectlyExportedClass.fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 65, 31)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 66, 18)) + + fnArrow = () => "S"; +>fnArrow : Symbol(IndirectlyExportedClass.fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 66, 47)) + + static fnStaticExpression = function foo() { return 0; } +>fnStaticExpression : Symbol(IndirectlyExportedClass.fnStaticExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 67, 24)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 69, 31)) + + static fnStaticArrow = () => "S"; +>fnStaticArrow : Symbol(IndirectlyExportedClass.fnStaticArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 69, 60)) + + protected static fnStaticExpressionProtected = function foo() { return 0; } +>fnStaticExpressionProtected : Symbol(IndirectlyExportedClass.fnStaticExpressionProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 70, 37)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 72, 50)) + + protected static fnStaticArrowProtected = () => "S"; +>fnStaticArrowProtected : Symbol(IndirectlyExportedClass.fnStaticArrowProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 72, 79)) + + private fnExpressionPrivate = function foo() { return 0; } +>fnExpressionPrivate : Symbol(IndirectlyExportedClass.fnExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 73, 56)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 75, 33)) + + private fnArrowPrivate = () => "S"; +>fnArrowPrivate : Symbol(IndirectlyExportedClass.fnArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 75, 62)) + + #fnArrow = () => "S"; +>#fnArrow : Symbol(IndirectlyExportedClass.#fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 76, 39)) + + #fnExpression = function foo() { return 0;} +>#fnExpression : Symbol(IndirectlyExportedClass.#fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 77, 25)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 78, 19)) + + private static fnStaticExpressionPrivate = function foo() { return 0; } +>fnStaticExpressionPrivate : Symbol(IndirectlyExportedClass.fnStaticExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 78, 47)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 79, 46)) + + private static fnStaticArrowPrivate = () => "S"; +>fnStaticArrowPrivate : Symbol(IndirectlyExportedClass.fnStaticArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 79, 75)) +} +export const instance: IndirectlyExportedClass = new IndirectlyExportedClass(); +>instance : Symbol(instance, Decl(isolatedDeclarationErrorsReturnTypes.ts, 82, 12)) +>IndirectlyExportedClass : Symbol(IndirectlyExportedClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 62, 1)) +>IndirectlyExportedClass : Symbol(IndirectlyExportedClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 62, 1)) + +// No Errors +class InternalClass { +>InternalClass : Symbol(InternalClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 82, 79)) + + fnExpression = function foo() { return 0; } +>fnExpression : Symbol(InternalClass.fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 85, 21)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 86, 18)) + + fnArrow = () => "S"; +>fnArrow : Symbol(InternalClass.fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 86, 47)) + + static fnStaticExpression = function foo() { return 0; } +>fnStaticExpression : Symbol(InternalClass.fnStaticExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 87, 24)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 89, 31)) + + static fnStaticArrow = () => "S"; +>fnStaticArrow : Symbol(InternalClass.fnStaticArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 89, 60)) + + protected static fnStaticExpressionProtected = function foo() { return 0; } +>fnStaticExpressionProtected : Symbol(InternalClass.fnStaticExpressionProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 90, 37)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 92, 50)) + + protected static fnStaticArrowProtected = () => "S"; +>fnStaticArrowProtected : Symbol(InternalClass.fnStaticArrowProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 92, 79)) + + private fnExpressionPrivate = function foo() { return 0; } +>fnExpressionPrivate : Symbol(InternalClass.fnExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 93, 56)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 95, 33)) + + private fnArrowPrivate = () => "S"; +>fnArrowPrivate : Symbol(InternalClass.fnArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 95, 62)) + + #fnArrow = () => "S"; +>#fnArrow : Symbol(InternalClass.#fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 96, 39)) + + #fnExpression = function foo() { return 0;} +>#fnExpression : Symbol(InternalClass.#fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 97, 25)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 98, 19)) + + private static fnStaticExpressionPrivate = function foo() { return 0; } +>fnStaticExpressionPrivate : Symbol(InternalClass.fnStaticExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 98, 47)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 99, 46)) + + private static fnStaticArrowPrivate = () => "S"; +>fnStaticArrowPrivate : Symbol(InternalClass.fnStaticArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 99, 75)) +} +const internalInstance: InternalClass = new InternalClass(); +>internalInstance : Symbol(internalInstance, Decl(isolatedDeclarationErrorsReturnTypes.ts, 102, 5)) +>InternalClass : Symbol(InternalClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 82, 79)) +>InternalClass : Symbol(InternalClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 82, 79)) + + +// Function parameters + +// In Function Variables - No annotations +export const fnParamExpressionConstVariable = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionConstVariable : Symbol(fnParamExpressionConstVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 108, 12)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 108, 45)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 108, 59)) + +export const fnParamArrowConstVariable = (cb = () => 1) => "S"; +>fnParamArrowConstVariable : Symbol(fnParamArrowConstVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 109, 12)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 109, 42)) + +export let fnParamExpressionLetVariable = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionLetVariable : Symbol(fnParamExpressionLetVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 111, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 111, 41)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 111, 55)) + +export let fnParamArrowLetVariable = (cb = () => 1) => "S"; +>fnParamArrowLetVariable : Symbol(fnParamArrowLetVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 112, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 112, 38)) + +export var fnParamExpressionVarVariable = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionVarVariable : Symbol(fnParamExpressionVarVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 114, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 114, 41)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 114, 55)) + +export var fnParamArrowVarVariable = (cb = () => 1) => "S"; +>fnParamArrowVarVariable : Symbol(fnParamArrowVarVariable, Decl(isolatedDeclarationErrorsReturnTypes.ts, 115, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 115, 38)) + +// In Function Variables - No annotations on parameter +export const fnParamExpressionConstVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +>fnParamExpressionConstVariableOwnerHasReturnType : Symbol(fnParamExpressionConstVariableOwnerHasReturnType, Decl(isolatedDeclarationErrorsReturnTypes.ts, 118, 12)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 118, 63)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 118, 77)) + +export const fnParamArrowConstVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; +>fnParamArrowConstVariableOwnerHasReturnType : Symbol(fnParamArrowConstVariableOwnerHasReturnType, Decl(isolatedDeclarationErrorsReturnTypes.ts, 119, 12)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 119, 60)) + +export let fnParamExpressionLetVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +>fnParamExpressionLetVariableOwnerHasReturnType : Symbol(fnParamExpressionLetVariableOwnerHasReturnType, Decl(isolatedDeclarationErrorsReturnTypes.ts, 121, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 121, 59)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 121, 73)) + +export let fnParamArrowLetVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; +>fnParamArrowLetVariableOwnerHasReturnType : Symbol(fnParamArrowLetVariableOwnerHasReturnType, Decl(isolatedDeclarationErrorsReturnTypes.ts, 122, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 122, 56)) + +export var fnParamExpressionVarVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +>fnParamExpressionVarVariableOwnerHasReturnType : Symbol(fnParamExpressionVarVariableOwnerHasReturnType, Decl(isolatedDeclarationErrorsReturnTypes.ts, 124, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 124, 59)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 124, 73)) + +export var fnParamArrowVarVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; +>fnParamArrowVarVariableOwnerHasReturnType : Symbol(fnParamArrowVarVariableOwnerHasReturnType, Decl(isolatedDeclarationErrorsReturnTypes.ts, 125, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 125, 56)) + +// No Errors +export const fnParamExpressionConstVariableOk = function foo(cb = function(): void{ }): number { return 0;} +>fnParamExpressionConstVariableOk : Symbol(fnParamExpressionConstVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 128, 12)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 128, 47)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 128, 61)) + +export const fnParamArrowConstVariableOk = (cb = function(): void{ }): string => "S"; +>fnParamArrowConstVariableOk : Symbol(fnParamArrowConstVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 129, 12)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 129, 44)) + +export let fnParamExpressionLetVariableOk = function foo(cb = function(): void{ }): number { return 0;} +>fnParamExpressionLetVariableOk : Symbol(fnParamExpressionLetVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 131, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 131, 43)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 131, 57)) + +export let fnParamArrowLetVariableOk = (cb = function(): void{ }): string => "S"; +>fnParamArrowLetVariableOk : Symbol(fnParamArrowLetVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 132, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 132, 40)) + +export var fnParamExpressionVarVariableOk = function foo(cb = function(): void{ }): number { return 0;} +>fnParamExpressionVarVariableOk : Symbol(fnParamExpressionVarVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 134, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 134, 43)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 134, 57)) + +export var fnParamArrowVarVariableOk = (cb = function(): void{ }): string => "S"; +>fnParamArrowVarVariableOk : Symbol(fnParamArrowVarVariableOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 135, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 135, 40)) + +export const fnParamExpressionConstVariableInternal = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionConstVariableInternal : Symbol(fnParamExpressionConstVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 137, 12)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 137, 53)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 137, 67)) + +export const fnParamArrowConstVariableInternal = (cb = () => 1) => "S"; +>fnParamArrowConstVariableInternal : Symbol(fnParamArrowConstVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 138, 12)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 138, 50)) + +export let fnParamExpressionLetVariableInternal = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionLetVariableInternal : Symbol(fnParamExpressionLetVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 140, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 140, 49)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 140, 63)) + +export let fnParamArrowLetVariableInternal = (cb = () => 1) => "S"; +>fnParamArrowLetVariableInternal : Symbol(fnParamArrowLetVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 141, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 141, 46)) + +export var fnParamExpressionVarVariableInternal = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionVarVariableInternal : Symbol(fnParamExpressionVarVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 143, 10)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 143, 49)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 143, 63)) + +export var fnParamArrowVarVariableInternal = (cb = () => 1) => "S"; +>fnParamArrowVarVariableInternal : Symbol(fnParamArrowVarVariableInternal, Decl(isolatedDeclarationErrorsReturnTypes.ts, 144, 10)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 144, 46)) + + +// In Function Fields +export class FnParamsExportedClass { +>FnParamsExportedClass : Symbol(FnParamsExportedClass, Decl(isolatedDeclarationErrorsReturnTypes.ts, 144, 67)) + + // Should Error + fnExpression = function foo(cb = function(){ }) { return 0; } +>fnExpression : Symbol(FnParamsExportedClass.fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 148, 36)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 150, 18)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 150, 32)) + + fnArrow = (cb = function(){ }) => "S"; +>fnArrow : Symbol(FnParamsExportedClass.fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 150, 65)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 151, 15)) + + protected fnExpressionProtected = function foo(cb = function(){ }) { return 0; } +>fnExpressionProtected : Symbol(FnParamsExportedClass.fnExpressionProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 151, 42)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 152, 37)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 152, 51)) + + protected fnArrowProtected = (cb = function(){ }) => "S"; +>fnArrowProtected : Symbol(FnParamsExportedClass.fnArrowProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 152, 84)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 153, 34)) + + static fnStaticExpression = function foo(cb = function(){ }) { return 0; } +>fnStaticExpression : Symbol(FnParamsExportedClass.fnStaticExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 153, 61)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 155, 31)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 155, 45)) + + static fnStaticArrow = (cb = function(){ }) => "S"; +>fnStaticArrow : Symbol(FnParamsExportedClass.fnStaticArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 155, 78)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 156, 28)) + + protected static fnStaticExpressionProtected = function foo(cb = function(){ }) { return 0; } +>fnStaticExpressionProtected : Symbol(FnParamsExportedClass.fnStaticExpressionProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 156, 55)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 157, 50)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 157, 64)) + + protected static fnStaticArrowProtected = (cb = function(){ }) => "S"; +>fnStaticArrowProtected : Symbol(FnParamsExportedClass.fnStaticArrowProtected, Decl(isolatedDeclarationErrorsReturnTypes.ts, 157, 97)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 158, 47)) + + // Have annotation on owner + fnExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnExpressionMethodHasReturn : Symbol(FnParamsExportedClass.fnExpressionMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 158, 74)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 161, 33)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 161, 47)) + + fnArrowMethodHasReturn = (cb = function(){ }): string => "S"; +>fnArrowMethodHasReturn : Symbol(FnParamsExportedClass.fnArrowMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 161, 88)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 162, 30)) + + protected fnExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnExpressionProtectedMethodHasReturn : Symbol(FnParamsExportedClass.fnExpressionProtectedMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 162, 65)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 163, 52)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 163, 66)) + + protected fnArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; +>fnArrowProtectedMethodHasReturn : Symbol(FnParamsExportedClass.fnArrowProtectedMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 163, 107)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 164, 49)) + + static fnStaticExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnStaticExpressionMethodHasReturn : Symbol(FnParamsExportedClass.fnStaticExpressionMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 164, 84)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 166, 46)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 166, 60)) + + static fnStaticArrowMethodHasReturn = (cb = function(){ }): string => "S"; +>fnStaticArrowMethodHasReturn : Symbol(FnParamsExportedClass.fnStaticArrowMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 166, 101)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 167, 43)) + + protected static fnStaticExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnStaticExpressionProtectedMethodHasReturn : Symbol(FnParamsExportedClass.fnStaticExpressionProtectedMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 167, 78)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 168, 65)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 168, 79)) + + protected static fnStaticArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; +>fnStaticArrowProtectedMethodHasReturn : Symbol(FnParamsExportedClass.fnStaticArrowProtectedMethodHasReturn, Decl(isolatedDeclarationErrorsReturnTypes.ts, 168, 120)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 169, 62)) + + // Have annotation only on parameter + fnExpressionOnlyOnParam = function foo(cb = function(): void { }) { return 0; } +>fnExpressionOnlyOnParam : Symbol(FnParamsExportedClass.fnExpressionOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 169, 97)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 172, 29)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 172, 43)) + + fnArrowOnlyOnParam = (cb = function(): void { }) => "S"; +>fnArrowOnlyOnParam : Symbol(FnParamsExportedClass.fnArrowOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 172, 83)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 173, 26)) + + protected fnExpressionProtectedOnlyOnParam = function foo(cb = function(): void { }) { return 0; } +>fnExpressionProtectedOnlyOnParam : Symbol(FnParamsExportedClass.fnExpressionProtectedOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 173, 60)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 174, 48)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 174, 62)) + + protected fnArrowProtectedOnlyOnParam = (cb = function(): void { }) => "S"; +>fnArrowProtectedOnlyOnParam : Symbol(FnParamsExportedClass.fnArrowProtectedOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 174, 102)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 175, 45)) + + static fnStaticExpressionOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } +>fnStaticExpressionOnlyOnParam : Symbol(FnParamsExportedClass.fnStaticExpressionOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 175, 79)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 177, 42)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 177, 56)) + + static fnStaticArrowOnlyOnParam = (cb = function(): void{ }) => "S"; +>fnStaticArrowOnlyOnParam : Symbol(FnParamsExportedClass.fnStaticArrowOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 177, 95)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 178, 39)) + + protected static fnStaticExpressionProtectedOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } +>fnStaticExpressionProtectedOnlyOnParam : Symbol(FnParamsExportedClass.fnStaticExpressionProtectedOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 178, 72)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 179, 61)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 179, 75)) + + protected static fnStaticArrowProtectedOnlyOnParam = (cb = function(): void{ }) => "S"; +>fnStaticArrowProtectedOnlyOnParam : Symbol(FnParamsExportedClass.fnStaticArrowProtectedOnlyOnParam, Decl(isolatedDeclarationErrorsReturnTypes.ts, 179, 114)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 180, 58)) + + // Have annotation, so ok + fnExpressionOk = function foo(cb = function(): void { }): number { return 0; } +>fnExpressionOk : Symbol(FnParamsExportedClass.fnExpressionOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 180, 91)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 183, 20)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 183, 34)) + + fnArrowOK = (cb = function(): void { }): string => "S"; +>fnArrowOK : Symbol(FnParamsExportedClass.fnArrowOK, Decl(isolatedDeclarationErrorsReturnTypes.ts, 183, 82)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 184, 17)) + + protected fnExpressionProtectedOk = function foo(cb = function(): void { }): number { return 0; } +>fnExpressionProtectedOk : Symbol(FnParamsExportedClass.fnExpressionProtectedOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 184, 59)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 185, 39)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 185, 53)) + + protected fnArrowProtectedOK = (cb = function(): void { }): string => "S"; +>fnArrowProtectedOK : Symbol(FnParamsExportedClass.fnArrowProtectedOK, Decl(isolatedDeclarationErrorsReturnTypes.ts, 185, 101)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 186, 36)) + + static fnStaticExpressionOk = function foo(cb = function(): void{ }): number { return 0; } +>fnStaticExpressionOk : Symbol(FnParamsExportedClass.fnStaticExpressionOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 186, 78)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 188, 33)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 188, 47)) + + static fnStaticArrowOk = (cb = function(): void{ }): string => "S"; +>fnStaticArrowOk : Symbol(FnParamsExportedClass.fnStaticArrowOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 188, 94)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 189, 30)) + + protected static fnStaticExpressionProtectedOk = function foo(cb = function(): void{ }): number { return 0; } +>fnStaticExpressionProtectedOk : Symbol(FnParamsExportedClass.fnStaticExpressionProtectedOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 189, 71)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 190, 52)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 190, 66)) + + protected static fnStaticArrowProtectedOk = (cb = function(): void{ }): string => "S"; +>fnStaticArrowProtectedOk : Symbol(FnParamsExportedClass.fnStaticArrowProtectedOk, Decl(isolatedDeclarationErrorsReturnTypes.ts, 190, 113)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 191, 49)) + + + // No Error, not in declarations + private fnExpressionPrivate = function foo(cb = function(){ }) { return 0; } +>fnExpressionPrivate : Symbol(FnParamsExportedClass.fnExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 191, 90)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 195, 33)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 195, 47)) + + private fnArrowPrivate = (cb = function(){ }) => "S"; +>fnArrowPrivate : Symbol(FnParamsExportedClass.fnArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 195, 80)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 196, 30)) + + #fnArrow = (cb = function(){ }) => "S"; +>#fnArrow : Symbol(FnParamsExportedClass.#fnArrow, Decl(isolatedDeclarationErrorsReturnTypes.ts, 196, 57)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 197, 16)) + + #fnExpression = function foo(cb = function(){ }) { return 0;} +>#fnExpression : Symbol(FnParamsExportedClass.#fnExpression, Decl(isolatedDeclarationErrorsReturnTypes.ts, 197, 43)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 198, 19)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 198, 33)) + + private static fnStaticExpressionPrivate = function foo(cb = function(){ }) { return 0; } +>fnStaticExpressionPrivate : Symbol(FnParamsExportedClass.fnStaticExpressionPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 198, 65)) +>foo : Symbol(foo, Decl(isolatedDeclarationErrorsReturnTypes.ts, 199, 46)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 199, 60)) + + private static fnStaticArrowPrivate = (cb = function(){ }) => "S"; +>fnStaticArrowPrivate : Symbol(FnParamsExportedClass.fnStaticArrowPrivate, Decl(isolatedDeclarationErrorsReturnTypes.ts, 199, 93)) +>cb : Symbol(cb, Decl(isolatedDeclarationErrorsReturnTypes.ts, 200, 43)) +} + diff --git a/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.types b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.types new file mode 100644 index 0000000000..c66cd05f5a --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsReturnTypes.types @@ -0,0 +1,878 @@ +=== tests/cases/compiler/isolatedDeclarationErrorsReturnTypes.ts === +// Function Variables +export const fnExpressionConstVariable = function foo() { return 0;} +>fnExpressionConstVariable : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + +export const fnArrowConstVariable = () => "S"; +>fnArrowConstVariable : () => string +>() => "S" : () => string +>"S" : "S" + +export let fnExpressionLetVariable = function foo() { return 0;} +>fnExpressionLetVariable : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + +export let fnArrowLetVariable = () => "S"; +>fnArrowLetVariable : () => string +>() => "S" : () => string +>"S" : "S" + +export var fnExpressionVarVariable = function foo() { return 0;} +>fnExpressionVarVariable : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + +export var fnArrowVarVariable = () => "S"; +>fnArrowVarVariable : () => string +>() => "S" : () => string +>"S" : "S" + +// No Errors +export const fnExpressionConstVariableOk = function foo(): number { return 0;} +>fnExpressionConstVariableOk : () => number +>function foo(): number { return 0;} : () => number +>foo : () => number +>0 : 0 + +export const fnArrowConstVariableOk = (cb = function(){ }): string => "S"; +>fnArrowConstVariableOk : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + +export let fnExpressionLetVariableOk = function foo(): number { return 0;} +>fnExpressionLetVariableOk : () => number +>function foo(): number { return 0;} : () => number +>foo : () => number +>0 : 0 + +export let fnArrowLetVariableOk = (cb = function(){ }): string => "S"; +>fnArrowLetVariableOk : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + +export var fnExpressionVarVariableOk = function foo(): number { return 0;} +>fnExpressionVarVariableOk : () => number +>function foo(): number { return 0;} : () => number +>foo : () => number +>0 : 0 + +export var fnArrowVarVariableOk = (cb = function(){ }): string => "S"; +>fnArrowVarVariableOk : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + +// Not exported +const fnExpressionConstVariableInternal = function foo() { return 0;} +>fnExpressionConstVariableInternal : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + +const fnArrowConstVariableInternal = () => "S"; +>fnArrowConstVariableInternal : () => string +>() => "S" : () => string +>"S" : "S" + +let fnExpressionLetVariableInternal = function foo() { return 0;} +>fnExpressionLetVariableInternal : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + +let fnArrowLetVariableInternal = () => "S"; +>fnArrowLetVariableInternal : () => string +>() => "S" : () => string +>"S" : "S" + +var fnExpressionVarVariableInternal = function foo() { return 0;} +>fnExpressionVarVariableInternal : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + +var fnArrowVarVariableInternal = () => "S"; +>fnArrowVarVariableInternal : () => string +>() => "S" : () => string +>"S" : "S" + +// Function Fields +export class ExportedClass { +>ExportedClass : ExportedClass + + // Should Error + fnExpression = function foo() { return 0; } +>fnExpression : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + fnArrow = () => "S"; +>fnArrow : () => string +>() => "S" : () => string +>"S" : "S" + + protected fnExpressionProtected = function foo() { return 0; } +>fnExpressionProtected : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + protected fnArrowProtected = () => "S"; +>fnArrowProtected : () => string +>() => "S" : () => string +>"S" : "S" + + static fnStaticExpression = function foo() { return 0; } +>fnStaticExpression : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + static fnStaticArrow = () => "S"; +>fnStaticArrow : () => string +>() => "S" : () => string +>"S" : "S" + + protected static fnStaticExpressionProtected = function foo() { return 0; } +>fnStaticExpressionProtected : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + protected static fnStaticArrowProtected = () => "S"; +>fnStaticArrowProtected : () => string +>() => "S" : () => string +>"S" : "S" + + // Have annotation, so ok + fnExpressionOk = function foo(): number { return 0; } +>fnExpressionOk : () => number +>function foo(): number { return 0; } : () => number +>foo : () => number +>0 : 0 + + fnArrowOK = (): string => "S"; +>fnArrowOK : () => string +>(): string => "S" : () => string +>"S" : "S" + + protected fnExpressionProtectedOk = function foo(): number { return 0; } +>fnExpressionProtectedOk : () => number +>function foo(): number { return 0; } : () => number +>foo : () => number +>0 : 0 + + protected fnArrowProtectedOK = (): string => "S"; +>fnArrowProtectedOK : () => string +>(): string => "S" : () => string +>"S" : "S" + + static fnStaticExpressionOk = function foo(): number { return 0; } +>fnStaticExpressionOk : () => number +>function foo(): number { return 0; } : () => number +>foo : () => number +>0 : 0 + + static fnStaticArrowOk = (): string => "S"; +>fnStaticArrowOk : () => string +>(): string => "S" : () => string +>"S" : "S" + + protected static fnStaticExpressionProtectedOk = function foo(): number { return 0; } +>fnStaticExpressionProtectedOk : () => number +>function foo(): number { return 0; } : () => number +>foo : () => number +>0 : 0 + + protected static fnStaticArrowProtectedOk = (): string => "S"; +>fnStaticArrowProtectedOk : () => string +>(): string => "S" : () => string +>"S" : "S" + + + // No Error not in declarations + private fnExpressionPrivate = function foo() { return 0; } +>fnExpressionPrivate : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + private fnArrowPrivate = () => "S"; +>fnArrowPrivate : () => string +>() => "S" : () => string +>"S" : "S" + + #fnArrow = () => "S"; +>#fnArrow : () => string +>() => "S" : () => string +>"S" : "S" + + #fnExpression = function foo() { return 0;} +>#fnExpression : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + + private static fnStaticExpressionPrivate = function foo() { return 0; } +>fnStaticExpressionPrivate : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + private static fnStaticArrowPrivate = () => "S"; +>fnStaticArrowPrivate : () => string +>() => "S" : () => string +>"S" : "S" +} + +// Should error +class IndirectlyExportedClass { +>IndirectlyExportedClass : IndirectlyExportedClass + + fnExpression = function foo() { return 0; } +>fnExpression : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + fnArrow = () => "S"; +>fnArrow : () => string +>() => "S" : () => string +>"S" : "S" + + static fnStaticExpression = function foo() { return 0; } +>fnStaticExpression : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + static fnStaticArrow = () => "S"; +>fnStaticArrow : () => string +>() => "S" : () => string +>"S" : "S" + + protected static fnStaticExpressionProtected = function foo() { return 0; } +>fnStaticExpressionProtected : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + protected static fnStaticArrowProtected = () => "S"; +>fnStaticArrowProtected : () => string +>() => "S" : () => string +>"S" : "S" + + private fnExpressionPrivate = function foo() { return 0; } +>fnExpressionPrivate : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + private fnArrowPrivate = () => "S"; +>fnArrowPrivate : () => string +>() => "S" : () => string +>"S" : "S" + + #fnArrow = () => "S"; +>#fnArrow : () => string +>() => "S" : () => string +>"S" : "S" + + #fnExpression = function foo() { return 0;} +>#fnExpression : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + + private static fnStaticExpressionPrivate = function foo() { return 0; } +>fnStaticExpressionPrivate : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + private static fnStaticArrowPrivate = () => "S"; +>fnStaticArrowPrivate : () => string +>() => "S" : () => string +>"S" : "S" +} +export const instance: IndirectlyExportedClass = new IndirectlyExportedClass(); +>instance : IndirectlyExportedClass +>new IndirectlyExportedClass() : IndirectlyExportedClass +>IndirectlyExportedClass : typeof IndirectlyExportedClass + +// No Errors +class InternalClass { +>InternalClass : InternalClass + + fnExpression = function foo() { return 0; } +>fnExpression : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + fnArrow = () => "S"; +>fnArrow : () => string +>() => "S" : () => string +>"S" : "S" + + static fnStaticExpression = function foo() { return 0; } +>fnStaticExpression : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + static fnStaticArrow = () => "S"; +>fnStaticArrow : () => string +>() => "S" : () => string +>"S" : "S" + + protected static fnStaticExpressionProtected = function foo() { return 0; } +>fnStaticExpressionProtected : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + protected static fnStaticArrowProtected = () => "S"; +>fnStaticArrowProtected : () => string +>() => "S" : () => string +>"S" : "S" + + private fnExpressionPrivate = function foo() { return 0; } +>fnExpressionPrivate : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + private fnArrowPrivate = () => "S"; +>fnArrowPrivate : () => string +>() => "S" : () => string +>"S" : "S" + + #fnArrow = () => "S"; +>#fnArrow : () => string +>() => "S" : () => string +>"S" : "S" + + #fnExpression = function foo() { return 0;} +>#fnExpression : () => number +>function foo() { return 0;} : () => number +>foo : () => number +>0 : 0 + + private static fnStaticExpressionPrivate = function foo() { return 0; } +>fnStaticExpressionPrivate : () => number +>function foo() { return 0; } : () => number +>foo : () => number +>0 : 0 + + private static fnStaticArrowPrivate = () => "S"; +>fnStaticArrowPrivate : () => string +>() => "S" : () => string +>"S" : "S" +} +const internalInstance: InternalClass = new InternalClass(); +>internalInstance : InternalClass +>new InternalClass() : InternalClass +>InternalClass : typeof InternalClass + + +// Function parameters + +// In Function Variables - No annotations +export const fnParamExpressionConstVariable = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionConstVariable : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export const fnParamArrowConstVariable = (cb = () => 1) => "S"; +>fnParamArrowConstVariable : (cb?: () => number) => string +>(cb = () => 1) => "S" : (cb?: () => number) => string +>cb : () => number +>() => 1 : () => number +>1 : 1 +>"S" : "S" + +export let fnParamExpressionLetVariable = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionLetVariable : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export let fnParamArrowLetVariable = (cb = () => 1) => "S"; +>fnParamArrowLetVariable : (cb?: () => number) => string +>(cb = () => 1) => "S" : (cb?: () => number) => string +>cb : () => number +>() => 1 : () => number +>1 : 1 +>"S" : "S" + +export var fnParamExpressionVarVariable = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionVarVariable : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export var fnParamArrowVarVariable = (cb = () => 1) => "S"; +>fnParamArrowVarVariable : (cb?: () => number) => string +>(cb = () => 1) => "S" : (cb?: () => number) => string +>cb : () => number +>() => 1 : () => number +>1 : 1 +>"S" : "S" + +// In Function Variables - No annotations on parameter +export const fnParamExpressionConstVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +>fnParamExpressionConstVariableOwnerHasReturnType : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export const fnParamArrowConstVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; +>fnParamArrowConstVariableOwnerHasReturnType : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + +export let fnParamExpressionLetVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +>fnParamExpressionLetVariableOwnerHasReturnType : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export let fnParamArrowLetVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; +>fnParamArrowLetVariableOwnerHasReturnType : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + +export var fnParamExpressionVarVariableOwnerHasReturnType = function foo(cb = function(){ }): number { return 0;} +>fnParamExpressionVarVariableOwnerHasReturnType : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export var fnParamArrowVarVariableOwnerHasReturnType = (cb = function(){ }): string => "S"; +>fnParamArrowVarVariableOwnerHasReturnType : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + +// No Errors +export const fnParamExpressionConstVariableOk = function foo(cb = function(): void{ }): number { return 0;} +>fnParamExpressionConstVariableOk : (cb?: () => void) => number +>function foo(cb = function(): void{ }): number { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + +export const fnParamArrowConstVariableOk = (cb = function(): void{ }): string => "S"; +>fnParamArrowConstVariableOk : (cb?: () => void) => string +>(cb = function(): void{ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + +export let fnParamExpressionLetVariableOk = function foo(cb = function(): void{ }): number { return 0;} +>fnParamExpressionLetVariableOk : (cb?: () => void) => number +>function foo(cb = function(): void{ }): number { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + +export let fnParamArrowLetVariableOk = (cb = function(): void{ }): string => "S"; +>fnParamArrowLetVariableOk : (cb?: () => void) => string +>(cb = function(): void{ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + +export var fnParamExpressionVarVariableOk = function foo(cb = function(): void{ }): number { return 0;} +>fnParamExpressionVarVariableOk : (cb?: () => void) => number +>function foo(cb = function(): void{ }): number { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + +export var fnParamArrowVarVariableOk = (cb = function(): void{ }): string => "S"; +>fnParamArrowVarVariableOk : (cb?: () => void) => string +>(cb = function(): void{ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + +export const fnParamExpressionConstVariableInternal = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionConstVariableInternal : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export const fnParamArrowConstVariableInternal = (cb = () => 1) => "S"; +>fnParamArrowConstVariableInternal : (cb?: () => number) => string +>(cb = () => 1) => "S" : (cb?: () => number) => string +>cb : () => number +>() => 1 : () => number +>1 : 1 +>"S" : "S" + +export let fnParamExpressionLetVariableInternal = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionLetVariableInternal : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export let fnParamArrowLetVariableInternal = (cb = () => 1) => "S"; +>fnParamArrowLetVariableInternal : (cb?: () => number) => string +>(cb = () => 1) => "S" : (cb?: () => number) => string +>cb : () => number +>() => 1 : () => number +>1 : 1 +>"S" : "S" + +export var fnParamExpressionVarVariableInternal = function foo(cb = function(){ }) { return 0;} +>fnParamExpressionVarVariableInternal : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + +export var fnParamArrowVarVariableInternal = (cb = () => 1) => "S"; +>fnParamArrowVarVariableInternal : (cb?: () => number) => string +>(cb = () => 1) => "S" : (cb?: () => number) => string +>cb : () => number +>() => 1 : () => number +>1 : 1 +>"S" : "S" + + +// In Function Fields +export class FnParamsExportedClass { +>FnParamsExportedClass : FnParamsExportedClass + + // Should Error + fnExpression = function foo(cb = function(){ }) { return 0; } +>fnExpression : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + fnArrow = (cb = function(){ }) => "S"; +>fnArrow : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + protected fnExpressionProtected = function foo(cb = function(){ }) { return 0; } +>fnExpressionProtected : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + protected fnArrowProtected = (cb = function(){ }) => "S"; +>fnArrowProtected : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + static fnStaticExpression = function foo(cb = function(){ }) { return 0; } +>fnStaticExpression : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + static fnStaticArrow = (cb = function(){ }) => "S"; +>fnStaticArrow : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + protected static fnStaticExpressionProtected = function foo(cb = function(){ }) { return 0; } +>fnStaticExpressionProtected : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + protected static fnStaticArrowProtected = (cb = function(){ }) => "S"; +>fnStaticArrowProtected : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + // Have annotation on owner + fnExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnExpressionMethodHasReturn : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + fnArrowMethodHasReturn = (cb = function(){ }): string => "S"; +>fnArrowMethodHasReturn : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + protected fnExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnExpressionProtectedMethodHasReturn : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + protected fnArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; +>fnArrowProtectedMethodHasReturn : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + static fnStaticExpressionMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnStaticExpressionMethodHasReturn : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + static fnStaticArrowMethodHasReturn = (cb = function(){ }): string => "S"; +>fnStaticArrowMethodHasReturn : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + protected static fnStaticExpressionProtectedMethodHasReturn = function foo(cb = function(){ }): number { return 0; } +>fnStaticExpressionProtectedMethodHasReturn : (cb?: () => void) => number +>function foo(cb = function(){ }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + protected static fnStaticArrowProtectedMethodHasReturn = (cb = function(){ }): string => "S"; +>fnStaticArrowProtectedMethodHasReturn : (cb?: () => void) => string +>(cb = function(){ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + // Have annotation only on parameter + fnExpressionOnlyOnParam = function foo(cb = function(): void { }) { return 0; } +>fnExpressionOnlyOnParam : (cb?: () => void) => number +>function foo(cb = function(): void { }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void { } : () => void +>0 : 0 + + fnArrowOnlyOnParam = (cb = function(): void { }) => "S"; +>fnArrowOnlyOnParam : (cb?: () => void) => string +>(cb = function(): void { }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void { } : () => void +>"S" : "S" + + protected fnExpressionProtectedOnlyOnParam = function foo(cb = function(): void { }) { return 0; } +>fnExpressionProtectedOnlyOnParam : (cb?: () => void) => number +>function foo(cb = function(): void { }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void { } : () => void +>0 : 0 + + protected fnArrowProtectedOnlyOnParam = (cb = function(): void { }) => "S"; +>fnArrowProtectedOnlyOnParam : (cb?: () => void) => string +>(cb = function(): void { }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void { } : () => void +>"S" : "S" + + static fnStaticExpressionOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } +>fnStaticExpressionOnlyOnParam : (cb?: () => void) => number +>function foo(cb = function(): void{ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + + static fnStaticArrowOnlyOnParam = (cb = function(): void{ }) => "S"; +>fnStaticArrowOnlyOnParam : (cb?: () => void) => string +>(cb = function(): void{ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + + protected static fnStaticExpressionProtectedOnlyOnParam = function foo(cb = function(): void{ }) { return 0; } +>fnStaticExpressionProtectedOnlyOnParam : (cb?: () => void) => number +>function foo(cb = function(): void{ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + + protected static fnStaticArrowProtectedOnlyOnParam = (cb = function(): void{ }) => "S"; +>fnStaticArrowProtectedOnlyOnParam : (cb?: () => void) => string +>(cb = function(): void{ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + + // Have annotation, so ok + fnExpressionOk = function foo(cb = function(): void { }): number { return 0; } +>fnExpressionOk : (cb?: () => void) => number +>function foo(cb = function(): void { }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void { } : () => void +>0 : 0 + + fnArrowOK = (cb = function(): void { }): string => "S"; +>fnArrowOK : (cb?: () => void) => string +>(cb = function(): void { }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void { } : () => void +>"S" : "S" + + protected fnExpressionProtectedOk = function foo(cb = function(): void { }): number { return 0; } +>fnExpressionProtectedOk : (cb?: () => void) => number +>function foo(cb = function(): void { }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void { } : () => void +>0 : 0 + + protected fnArrowProtectedOK = (cb = function(): void { }): string => "S"; +>fnArrowProtectedOK : (cb?: () => void) => string +>(cb = function(): void { }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void { } : () => void +>"S" : "S" + + static fnStaticExpressionOk = function foo(cb = function(): void{ }): number { return 0; } +>fnStaticExpressionOk : (cb?: () => void) => number +>function foo(cb = function(): void{ }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + + static fnStaticArrowOk = (cb = function(): void{ }): string => "S"; +>fnStaticArrowOk : (cb?: () => void) => string +>(cb = function(): void{ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + + protected static fnStaticExpressionProtectedOk = function foo(cb = function(): void{ }): number { return 0; } +>fnStaticExpressionProtectedOk : (cb?: () => void) => number +>function foo(cb = function(): void{ }): number { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(): void{ } : () => void +>0 : 0 + + protected static fnStaticArrowProtectedOk = (cb = function(): void{ }): string => "S"; +>fnStaticArrowProtectedOk : (cb?: () => void) => string +>(cb = function(): void{ }): string => "S" : (cb?: () => void) => string +>cb : () => void +>function(): void{ } : () => void +>"S" : "S" + + + // No Error, not in declarations + private fnExpressionPrivate = function foo(cb = function(){ }) { return 0; } +>fnExpressionPrivate : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + private fnArrowPrivate = (cb = function(){ }) => "S"; +>fnArrowPrivate : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + #fnArrow = (cb = function(){ }) => "S"; +>#fnArrow : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" + + #fnExpression = function foo(cb = function(){ }) { return 0;} +>#fnExpression : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0;} : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + private static fnStaticExpressionPrivate = function foo(cb = function(){ }) { return 0; } +>fnStaticExpressionPrivate : (cb?: () => void) => number +>function foo(cb = function(){ }) { return 0; } : (cb?: () => void) => number +>foo : (cb?: () => void) => number +>cb : () => void +>function(){ } : () => void +>0 : 0 + + private static fnStaticArrowPrivate = (cb = function(){ }) => "S"; +>fnStaticArrowPrivate : (cb?: () => void) => string +>(cb = function(){ }) => "S" : (cb?: () => void) => string +>cb : () => void +>function(){ } : () => void +>"S" : "S" +} + diff --git a/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt b/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt new file mode 100644 index 0000000000..9ee81ce893 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt @@ -0,0 +1,40 @@ +tests/cases/compiler/isolatedDeclarationLazySymbols.ts(1,17): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +tests/cases/compiler/isolatedDeclarationLazySymbols.ts(13,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. +tests/cases/compiler/isolatedDeclarationLazySymbols.ts(16,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +tests/cases/compiler/isolatedDeclarationLazySymbols.ts(21,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + + +==== tests/cases/compiler/isolatedDeclarationLazySymbols.ts (4 errors) ==== + export function foo() { + ~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 tests/cases/compiler/isolatedDeclarationLazySymbols.ts:1:17: Add a return type to the function declaration. + + } + + const o = { + ["prop.inner"]: "a", + prop: { + inner: "b", + } + } as const + + foo[o["prop.inner"]] ="A"; + foo[o.prop.inner] = "B"; + ~~~~~~~~~~~~~~~~~ +!!! error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. + + export class Foo { + [o["prop.inner"]] ="A" + ~~~~~~~~~~~~~~~~~ +!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + [o.prop.inner] = "B" + } + + export let oo = { + [o['prop.inner']]:"A", + ~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/isolatedDeclarationLazySymbols.ts:20:12: Add a type annotation to the variable oo. + [o.prop.inner]: "B", + } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationLazySymbols.js b/tests/baselines/reference/isolatedDeclarationLazySymbols.js new file mode 100644 index 0000000000..e3e71c2962 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationLazySymbols.js @@ -0,0 +1,43 @@ +//// [isolatedDeclarationLazySymbols.ts] +export function foo() { + +} + +const o = { + ["prop.inner"]: "a", + prop: { + inner: "b", + } +} as const + +foo[o["prop.inner"]] ="A"; +foo[o.prop.inner] = "B"; + +export class Foo { + [o["prop.inner"]] ="A" + [o.prop.inner] = "B" +} + +export let oo = { + [o['prop.inner']]:"A", + [o.prop.inner]: "B", +} + +//// [isolatedDeclarationLazySymbols.js] +export function foo() { +} +const o = { + ["prop.inner"]: "a", + prop: { + inner: "b", + } +}; +foo[o["prop.inner"]] = "A"; +foo[o.prop.inner] = "B"; +export class Foo { + [o["prop.inner"]] = "A"[o.prop.inner] = "B"; +} +export let oo = { + [o['prop.inner']]: "A", + [o.prop.inner]: "B", +}; diff --git a/tests/baselines/reference/isolatedDeclarationLazySymbols.symbols b/tests/baselines/reference/isolatedDeclarationLazySymbols.symbols new file mode 100644 index 0000000000..c6c2e895b1 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationLazySymbols.symbols @@ -0,0 +1,67 @@ +=== tests/cases/compiler/isolatedDeclarationLazySymbols.ts === +export function foo() { +>foo : Symbol(foo, Decl(isolatedDeclarationLazySymbols.ts, 0, 0), Decl(isolatedDeclarationLazySymbols.ts, 9, 10), Decl(isolatedDeclarationLazySymbols.ts, 11, 26)) + +} + +const o = { +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) + + ["prop.inner"]: "a", +>["prop.inner"] : Symbol(["prop.inner"], Decl(isolatedDeclarationLazySymbols.ts, 4, 11)) +>"prop.inner" : Symbol(["prop.inner"], Decl(isolatedDeclarationLazySymbols.ts, 4, 11)) + + prop: { +>prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) + + inner: "b", +>inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) + } +} as const +>const : Symbol(const) + +foo[o["prop.inner"]] ="A"; +>foo : Symbol(foo, Decl(isolatedDeclarationLazySymbols.ts, 0, 0), Decl(isolatedDeclarationLazySymbols.ts, 9, 10), Decl(isolatedDeclarationLazySymbols.ts, 11, 26)) +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) +>"prop.inner" : Symbol(["prop.inner"], Decl(isolatedDeclarationLazySymbols.ts, 4, 11)) + +foo[o.prop.inner] = "B"; +>foo : Symbol(foo, Decl(isolatedDeclarationLazySymbols.ts, 0, 0), Decl(isolatedDeclarationLazySymbols.ts, 9, 10), Decl(isolatedDeclarationLazySymbols.ts, 11, 26)) +>o.prop.inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) +>o.prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) +>prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) +>inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) + +export class Foo { +>Foo : Symbol(Foo, Decl(isolatedDeclarationLazySymbols.ts, 12, 24)) + + [o["prop.inner"]] ="A" +>[o["prop.inner"]] : Symbol(Foo[o["prop.inner"]], Decl(isolatedDeclarationLazySymbols.ts, 14, 18)) +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) +>"prop.inner" : Symbol(["prop.inner"], Decl(isolatedDeclarationLazySymbols.ts, 4, 11)) + + [o.prop.inner] = "B" +>o.prop.inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) +>o.prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) +>prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) +>inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) +} + +export let oo = { +>oo : Symbol(oo, Decl(isolatedDeclarationLazySymbols.ts, 19, 10)) + + [o['prop.inner']]:"A", +>[o['prop.inner']] : Symbol([o['prop.inner']], Decl(isolatedDeclarationLazySymbols.ts, 19, 17)) +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) +>'prop.inner' : Symbol(["prop.inner"], Decl(isolatedDeclarationLazySymbols.ts, 4, 11)) + + [o.prop.inner]: "B", +>[o.prop.inner] : Symbol([o.prop.inner], Decl(isolatedDeclarationLazySymbols.ts, 20, 26)) +>o.prop.inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) +>o.prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) +>o : Symbol(o, Decl(isolatedDeclarationLazySymbols.ts, 4, 5)) +>prop : Symbol(prop, Decl(isolatedDeclarationLazySymbols.ts, 5, 24)) +>inner : Symbol(inner, Decl(isolatedDeclarationLazySymbols.ts, 6, 11)) +} diff --git a/tests/baselines/reference/isolatedDeclarationLazySymbols.types b/tests/baselines/reference/isolatedDeclarationLazySymbols.types new file mode 100644 index 0000000000..3898d25cf8 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationLazySymbols.types @@ -0,0 +1,87 @@ +=== tests/cases/compiler/isolatedDeclarationLazySymbols.ts === +export function foo() { +>foo : typeof foo + +} + +const o = { +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>{ ["prop.inner"]: "a", prop: { inner: "b", }} as const : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>{ ["prop.inner"]: "a", prop: { inner: "b", }} : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } + + ["prop.inner"]: "a", +>["prop.inner"] : "a" +>"prop.inner" : "prop.inner" +>"a" : "a" + + prop: { +>prop : { readonly inner: "b"; } +>{ inner: "b", } : { readonly inner: "b"; } + + inner: "b", +>inner : "b" +>"b" : "b" + } +} as const + +foo[o["prop.inner"]] ="A"; +>foo[o["prop.inner"]] ="A" : "A" +>foo[o["prop.inner"]] : any +>foo : typeof foo +>o["prop.inner"] : "a" +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>"prop.inner" : "prop.inner" +>"A" : "A" + +foo[o.prop.inner] = "B"; +>foo[o.prop.inner] = "B" : "B" +>foo[o.prop.inner] : string +>foo : typeof foo +>o.prop.inner : "b" +>o.prop : { readonly inner: "b"; } +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>prop : { readonly inner: "b"; } +>inner : "b" +>"B" : "B" + +export class Foo { +>Foo : Foo + + [o["prop.inner"]] ="A" +>[o["prop.inner"]] : string +>o["prop.inner"] : "a" +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>"prop.inner" : "prop.inner" +>"A" [o.prop.inner] = "B" : "B" +>"A" [o.prop.inner] : any +>"A" : "A" + + [o.prop.inner] = "B" +>o.prop.inner : "b" +>o.prop : { readonly inner: "b"; } +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>prop : { readonly inner: "b"; } +>inner : "b" +>"B" : "B" +} + +export let oo = { +>oo : { a: string; b: string; } +>{ [o['prop.inner']]:"A", [o.prop.inner]: "B",} : { a: string; b: string; } + + [o['prop.inner']]:"A", +>[o['prop.inner']] : string +>o['prop.inner'] : "a" +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>'prop.inner' : "prop.inner" +>"A" : "A" + + [o.prop.inner]: "B", +>[o.prop.inner] : string +>o.prop.inner : "b" +>o.prop : { readonly inner: "b"; } +>o : { readonly "prop.inner": "a"; readonly prop: { readonly inner: "b"; }; } +>prop : { readonly inner: "b"; } +>inner : "b" +>"B" : "B" +} diff --git a/tests/baselines/reference/isolatedDeclarationOutFile.js b/tests/baselines/reference/isolatedDeclarationOutFile.js new file mode 100644 index 0000000000..3531ced690 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationOutFile.js @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/isolatedDeclarationOutFile.ts] //// + +//// [a.ts] +export class A { + toUpper(msg: string): string { + return msg.toUpperCase(); + } +} + +//// [b.ts] +import { A } from "./a"; + +export class B extends A { + toFixed(n: number): string { + return n.toFixed(6); + } +} + +export function makeB(): A { + return new B(); +} + + +//// [all.js] +define("a", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.A = void 0; + class A { + toUpper(msg) { + return msg.toUpperCase(); + } + } + exports.A = A; +}); +define("b", ["require", "exports", "a"], function (require, exports, a_1) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.makeB = exports.B = void 0; + class B extends a_1.A { + toFixed(n) { + return n.toFixed(6); + } + } + exports.B = B; + function makeB() { + return new B(); + } + exports.makeB = makeB; +}); + + +//// [all.d.ts] +declare module "a" { + export class A { + toUpper(msg: string): string; + } +} +declare module "b" { + import { A } from "a"; + export class B extends A { + toFixed(n: number): string; + } + export function makeB(): A; +} diff --git a/tests/baselines/reference/isolatedDeclarationOutFile.symbols b/tests/baselines/reference/isolatedDeclarationOutFile.symbols new file mode 100644 index 0000000000..6ef9f87000 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationOutFile.symbols @@ -0,0 +1,42 @@ +=== tests/cases/compiler/a.ts === +export class A { +>A : Symbol(A, Decl(a.ts, 0, 0)) + + toUpper(msg: string): string { +>toUpper : Symbol(A.toUpper, Decl(a.ts, 0, 16)) +>msg : Symbol(msg, Decl(a.ts, 1, 12)) + + return msg.toUpperCase(); +>msg.toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) +>msg : Symbol(msg, Decl(a.ts, 1, 12)) +>toUpperCase : Symbol(String.toUpperCase, Decl(lib.es5.d.ts, --, --)) + } +} + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(b.ts, 0, 8)) + +export class B extends A { +>B : Symbol(B, Decl(b.ts, 0, 24)) +>A : Symbol(A, Decl(b.ts, 0, 8)) + + toFixed(n: number): string { +>toFixed : Symbol(B.toFixed, Decl(b.ts, 2, 26)) +>n : Symbol(n, Decl(b.ts, 3, 12)) + + return n.toFixed(6); +>n.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>n : Symbol(n, Decl(b.ts, 3, 12)) +>toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) + } +} + +export function makeB(): A { +>makeB : Symbol(makeB, Decl(b.ts, 6, 1)) +>A : Symbol(A, Decl(b.ts, 0, 8)) + + return new B(); +>B : Symbol(B, Decl(b.ts, 0, 24)) +} + diff --git a/tests/baselines/reference/isolatedDeclarationOutFile.types b/tests/baselines/reference/isolatedDeclarationOutFile.types new file mode 100644 index 0000000000..092f6ca17d --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationOutFile.types @@ -0,0 +1,45 @@ +=== tests/cases/compiler/a.ts === +export class A { +>A : A + + toUpper(msg: string): string { +>toUpper : (msg: string) => string +>msg : string + + return msg.toUpperCase(); +>msg.toUpperCase() : string +>msg.toUpperCase : () => string +>msg : string +>toUpperCase : () => string + } +} + +=== tests/cases/compiler/b.ts === +import { A } from "./a"; +>A : typeof A + +export class B extends A { +>B : B +>A : A + + toFixed(n: number): string { +>toFixed : (n: number) => string +>n : number + + return n.toFixed(6); +>n.toFixed(6) : string +>n.toFixed : (fractionDigits?: number) => string +>n : number +>toFixed : (fractionDigits?: number) => string +>6 : 6 + } +} + +export function makeB(): A { +>makeB : () => A + + return new B(); +>new B() : B +>B : typeof B +} + diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt b/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt new file mode 100644 index 0000000000..5bfb7409dc --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt @@ -0,0 +1,22 @@ +tests/cases/compiler/file2.ts(1,26): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + type N = 1; + export class Bar { + c? = [2 as N] as const; + c3? = 1 as N; + readonly r = 1; + f = 2; + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + export function foo(p = (ip = 10, v: number): void => {}): void{ + ~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 tests/cases/compiler/file2.ts:1:26: Add a type annotation to the parameter ip. + } + export class Bar2 { + readonly r = 1; + f = 2; + } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.js b/tests/baselines/reference/isolatedDeclarationsAddUndefined.js new file mode 100644 index 0000000000..c9971ca382 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.js @@ -0,0 +1,62 @@ +//// [tests/cases/compiler/isolatedDeclarationsAddUndefined.ts] //// + +//// [file1.ts] +type N = 1; +export class Bar { + c? = [2 as N] as const; + c3? = 1 as N; + readonly r = 1; + f = 2; +} + +//// [file2.ts] +export function foo(p = (ip = 10, v: number): void => {}): void{ +} +export class Bar2 { + readonly r = 1; + f = 2; +} + +//// [file1.js] +"use strict"; +exports.__esModule = true; +exports.Bar = void 0; +var Bar = /** @class */ (function () { + function Bar() { + this.c = [2]; + this.c3 = 1; + this.r = 1; + this.f = 2; + } + return Bar; +}()); +exports.Bar = Bar; +//// [file2.js] +"use strict"; +exports.__esModule = true; +exports.Bar2 = exports.foo = void 0; +function foo(p) { + if (p === void 0) { p = function (ip, v) { + if (ip === void 0) { ip = 10; } + }; } +} +exports.foo = foo; +var Bar2 = /** @class */ (function () { + function Bar2() { + this.r = 1; + this.f = 2; + } + return Bar2; +}()); +exports.Bar2 = Bar2; + + +//// [file1.d.ts] +type N = 1; +export declare class Bar { + c?: readonly [1] | undefined; + c3?: N; + readonly r = 1; + f: number; +} +export {}; diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols b/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols new file mode 100644 index 0000000000..c5a511ca3b --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols @@ -0,0 +1,39 @@ +=== tests/cases/compiler/file1.ts === +type N = 1; +>N : Symbol(N, Decl(file1.ts, 0, 0)) + +export class Bar { +>Bar : Symbol(Bar, Decl(file1.ts, 0, 11)) + + c? = [2 as N] as const; +>c : Symbol(Bar.c, Decl(file1.ts, 1, 18)) +>N : Symbol(N, Decl(file1.ts, 0, 0)) +>const : Symbol(const) + + c3? = 1 as N; +>c3 : Symbol(Bar.c3, Decl(file1.ts, 2, 27)) +>N : Symbol(N, Decl(file1.ts, 0, 0)) + + readonly r = 1; +>r : Symbol(Bar.r, Decl(file1.ts, 3, 17)) + + f = 2; +>f : Symbol(Bar.f, Decl(file1.ts, 4, 19)) +} + +=== tests/cases/compiler/file2.ts === +export function foo(p = (ip = 10, v: number): void => {}): void{ +>foo : Symbol(foo, Decl(file2.ts, 0, 0)) +>p : Symbol(p, Decl(file2.ts, 0, 20)) +>ip : Symbol(ip, Decl(file2.ts, 0, 25)) +>v : Symbol(v, Decl(file2.ts, 0, 33)) +} +export class Bar2 { +>Bar2 : Symbol(Bar2, Decl(file2.ts, 1, 1)) + + readonly r = 1; +>r : Symbol(Bar2.r, Decl(file2.ts, 2, 19)) + + f = 2; +>f : Symbol(Bar2.f, Decl(file2.ts, 3, 19)) +} diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.types b/tests/baselines/reference/isolatedDeclarationsAddUndefined.types new file mode 100644 index 0000000000..eabeb2514c --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.types @@ -0,0 +1,48 @@ +=== tests/cases/compiler/file1.ts === +type N = 1; +>N : 1 + +export class Bar { +>Bar : Bar + + c? = [2 as N] as const; +>c : readonly [1] | undefined +>[2 as N] as const : readonly [1] +>[2 as N] : readonly [1] +>2 as N : 1 +>2 : 2 + + c3? = 1 as N; +>c3 : 1 | undefined +>1 as N : 1 +>1 : 1 + + readonly r = 1; +>r : 1 +>1 : 1 + + f = 2; +>f : number +>2 : 2 +} + +=== tests/cases/compiler/file2.ts === +export function foo(p = (ip = 10, v: number): void => {}): void{ +>foo : (p?: (ip: number | undefined, v: number) => void) => void +>p : (ip: number | undefined, v: number) => void +>(ip = 10, v: number): void => {} : (ip: number | undefined, v: number) => void +>ip : number +>10 : 10 +>v : number +} +export class Bar2 { +>Bar2 : Bar2 + + readonly r = 1; +>r : 1 +>1 : 1 + + f = 2; +>f : number +>2 : 2 +} diff --git a/tests/baselines/reference/isolatedDeclarationsAllowJs.errors.txt b/tests/baselines/reference/isolatedDeclarationsAllowJs.errors.txt new file mode 100644 index 0000000000..024df25ebc --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAllowJs.errors.txt @@ -0,0 +1,16 @@ +error TS5053: Option 'allowJs' cannot be specified with option 'isolatedDeclarations'. +error TS5055: Cannot write file 'tests/cases/compiler/file2.js' because it would overwrite input file. + Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig. +tests/cases/compiler/file1.ts(1,12): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +!!! error TS5053: Option 'allowJs' cannot be specified with option 'isolatedDeclarations'. +!!! error TS5055: Cannot write file 'tests/cases/compiler/file2.js' because it would overwrite input file. +!!! error TS5055: Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig. +==== tests/cases/compiler/file1.ts (1 errors) ==== + export var x; + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 tests/cases/compiler/file1.ts:1:12: Add a type annotation to the variable x. +==== tests/cases/compiler/file2.js (0 errors) ==== + export var y; \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationsAllowJs.js b/tests/baselines/reference/isolatedDeclarationsAllowJs.js new file mode 100644 index 0000000000..70672dc8c5 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAllowJs.js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/isolatedDeclarationsAllowJs.ts] //// + +//// [file1.ts] +export var x; +//// [file2.js] +export var y; + +//// [file1.js] +"use strict"; +exports.__esModule = true; +exports.x = void 0; + + +//// [file2.d.ts] +export const y: any; diff --git a/tests/baselines/reference/isolatedDeclarationsAllowJs.symbols b/tests/baselines/reference/isolatedDeclarationsAllowJs.symbols new file mode 100644 index 0000000000..c3c14fe39b --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAllowJs.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/file1.ts === +export var x; +>x : Symbol(x, Decl(file1.ts, 0, 10)) + +=== tests/cases/compiler/file2.js === +export var y; +>y : Symbol(y, Decl(file2.js, 0, 10)) + diff --git a/tests/baselines/reference/isolatedDeclarationsAllowJs.types b/tests/baselines/reference/isolatedDeclarationsAllowJs.types new file mode 100644 index 0000000000..f73123f8ef --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsAllowJs.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/file1.ts === +export var x; +>x : any + +=== tests/cases/compiler/file2.js === +export var y; +>y : any + diff --git a/tests/baselines/reference/isolatedDeclarationsLiterals.js b/tests/baselines/reference/isolatedDeclarationsLiterals.js new file mode 100644 index 0000000000..3fe789c177 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsLiterals.js @@ -0,0 +1,177 @@ +//// [file1.ts] +export const constObject = { + /** Value Of 1 */ + one: 1, + /** Value Of 0o1 */ + oneOctal: 0o1, + /** Value Of 0x1 */ + oneHex: 0x1, + /** Value Of +1 */ + pOne: +1, + /** Value Of -1 */ + mOne: -1, + array: [1, -1, 1n, -1n], + /** Value Of 1n */ + onen: 1n, + /** Value Of -1n */ + mOnen: -1n, + + /** Value Of "1" */ + oneStrDoubleQuote: "1", + /** Value Of '1' */ + oneStrSingleQuote: '1', + /** Value Of `1` */ + oneStrTemplate: `1`, + /** A method */ + method(): void { + + }, +} as const; + +export const one = 1; +export const oneOctal = 0o1; +export const oneHex = 0x1; +export const pOne = +1; +export const mOne = -1; +export const onen = 1n; +export const mOnen = -1n; +export const oneStrDoubleQuote = "1"; +export const oneStrSingleQuote = '1'; +export const oneStrTemplate = `1`; + +export const mutableObject = { + /** Value Of 1 */ + one: 1, + /** Value Of 0o1 */ + oneOctal: 0o1, + /** Value Of 0x1 */ + oneHex: 0x1, + /** Value Of +1 */ + pOne: +1, + /** Value Of -1 */ + mOne: -1, + /** Value Of 1n */ + onen: 1n, + /** Value Of -1n */ + mOnen: -1n, + /** A method */ + method(): void { + + }, +}; + + + + +//// [file1.js] +export const constObject = { + /** Value Of 1 */ + one: 1, + /** Value Of 0o1 */ + oneOctal: 0o1, + /** Value Of 0x1 */ + oneHex: 0x1, + /** Value Of +1 */ + pOne: +1, + /** Value Of -1 */ + mOne: -1, + array: [1, -1, 1n, -1n], + /** Value Of 1n */ + onen: 1n, + /** Value Of -1n */ + mOnen: -1n, + /** Value Of "1" */ + oneStrDoubleQuote: "1", + /** Value Of '1' */ + oneStrSingleQuote: '1', + /** Value Of `1` */ + oneStrTemplate: `1`, + /** A method */ + method() { + }, +}; +export const one = 1; +export const oneOctal = 0o1; +export const oneHex = 0x1; +export const pOne = +1; +export const mOne = -1; +export const onen = 1n; +export const mOnen = -1n; +export const oneStrDoubleQuote = "1"; +export const oneStrSingleQuote = '1'; +export const oneStrTemplate = `1`; +export const mutableObject = { + /** Value Of 1 */ + one: 1, + /** Value Of 0o1 */ + oneOctal: 0o1, + /** Value Of 0x1 */ + oneHex: 0x1, + /** Value Of +1 */ + pOne: +1, + /** Value Of -1 */ + mOne: -1, + /** Value Of 1n */ + onen: 1n, + /** Value Of -1n */ + mOnen: -1n, + /** A method */ + method() { + }, +}; + + +//// [file1.d.ts] +export declare const constObject: { + /** Value Of 1 */ + readonly one: 1; + /** Value Of 0o1 */ + readonly oneOctal: 1; + /** Value Of 0x1 */ + readonly oneHex: 1; + /** Value Of +1 */ + readonly pOne: 1; + /** Value Of -1 */ + readonly mOne: -1; + readonly array: readonly [1, -1, 1n, -1n]; + /** Value Of 1n */ + readonly onen: 1n; + /** Value Of -1n */ + readonly mOnen: -1n; + /** Value Of "1" */ + readonly oneStrDoubleQuote: "1"; + /** Value Of '1' */ + readonly oneStrSingleQuote: "1"; + /** Value Of `1` */ + readonly oneStrTemplate: "1"; + /** A method */ + readonly method: () => void; +}; +export declare const one = 1; +export declare const oneOctal = 1; +export declare const oneHex = 1; +export declare const pOne = 1; +export declare const mOne = -1; +export declare const onen = 1n; +export declare const mOnen = -1n; +export declare const oneStrDoubleQuote = "1"; +export declare const oneStrSingleQuote = "1"; +export declare const oneStrTemplate = "1"; +export declare const mutableObject: { + /** Value Of 1 */ + one: number; + /** Value Of 0o1 */ + oneOctal: number; + /** Value Of 0x1 */ + oneHex: number; + /** Value Of +1 */ + pOne: number; + /** Value Of -1 */ + mOne: number; + /** Value Of 1n */ + onen: bigint; + /** Value Of -1n */ + mOnen: bigint; + /** A method */ + method(): void; +}; diff --git a/tests/baselines/reference/isolatedDeclarationsLiterals.symbols b/tests/baselines/reference/isolatedDeclarationsLiterals.symbols new file mode 100644 index 0000000000..f7cd3effa2 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsLiterals.symbols @@ -0,0 +1,125 @@ +=== tests/cases/compiler/file1.ts === +export const constObject = { +>constObject : Symbol(constObject, Decl(file1.ts, 0, 12)) + + /** Value Of 1 */ + one: 1, +>one : Symbol(one, Decl(file1.ts, 0, 28)) + + /** Value Of 0o1 */ + oneOctal: 0o1, +>oneOctal : Symbol(oneOctal, Decl(file1.ts, 2, 11)) + + /** Value Of 0x1 */ + oneHex: 0x1, +>oneHex : Symbol(oneHex, Decl(file1.ts, 4, 18)) + + /** Value Of +1 */ + pOne: +1, +>pOne : Symbol(pOne, Decl(file1.ts, 6, 16)) + + /** Value Of -1 */ + mOne: -1, +>mOne : Symbol(mOne, Decl(file1.ts, 8, 13)) + + array: [1, -1, 1n, -1n], +>array : Symbol(array, Decl(file1.ts, 10, 13)) + + /** Value Of 1n */ + onen: 1n, +>onen : Symbol(onen, Decl(file1.ts, 11, 28)) + + /** Value Of -1n */ + mOnen: -1n, +>mOnen : Symbol(mOnen, Decl(file1.ts, 13, 13)) + + /** Value Of "1" */ + oneStrDoubleQuote: "1", +>oneStrDoubleQuote : Symbol(oneStrDoubleQuote, Decl(file1.ts, 15, 15)) + + /** Value Of '1' */ + oneStrSingleQuote: '1', +>oneStrSingleQuote : Symbol(oneStrSingleQuote, Decl(file1.ts, 18, 27)) + + /** Value Of `1` */ + oneStrTemplate: `1`, +>oneStrTemplate : Symbol(oneStrTemplate, Decl(file1.ts, 20, 27)) + + /** A method */ + method(): void { +>method : Symbol(method, Decl(file1.ts, 22, 24)) + + }, +} as const; +>const : Symbol(const) + +export const one = 1; +>one : Symbol(one, Decl(file1.ts, 29, 12)) + +export const oneOctal = 0o1; +>oneOctal : Symbol(oneOctal, Decl(file1.ts, 30, 12)) + +export const oneHex = 0x1; +>oneHex : Symbol(oneHex, Decl(file1.ts, 31, 12)) + +export const pOne = +1; +>pOne : Symbol(pOne, Decl(file1.ts, 32, 12)) + +export const mOne = -1; +>mOne : Symbol(mOne, Decl(file1.ts, 33, 12)) + +export const onen = 1n; +>onen : Symbol(onen, Decl(file1.ts, 34, 12)) + +export const mOnen = -1n; +>mOnen : Symbol(mOnen, Decl(file1.ts, 35, 12)) + +export const oneStrDoubleQuote = "1"; +>oneStrDoubleQuote : Symbol(oneStrDoubleQuote, Decl(file1.ts, 36, 12)) + +export const oneStrSingleQuote = '1'; +>oneStrSingleQuote : Symbol(oneStrSingleQuote, Decl(file1.ts, 37, 12)) + +export const oneStrTemplate = `1`; +>oneStrTemplate : Symbol(oneStrTemplate, Decl(file1.ts, 38, 12)) + +export const mutableObject = { +>mutableObject : Symbol(mutableObject, Decl(file1.ts, 40, 12)) + + /** Value Of 1 */ + one: 1, +>one : Symbol(one, Decl(file1.ts, 40, 30)) + + /** Value Of 0o1 */ + oneOctal: 0o1, +>oneOctal : Symbol(oneOctal, Decl(file1.ts, 42, 11)) + + /** Value Of 0x1 */ + oneHex: 0x1, +>oneHex : Symbol(oneHex, Decl(file1.ts, 44, 18)) + + /** Value Of +1 */ + pOne: +1, +>pOne : Symbol(pOne, Decl(file1.ts, 46, 16)) + + /** Value Of -1 */ + mOne: -1, +>mOne : Symbol(mOne, Decl(file1.ts, 48, 13)) + + /** Value Of 1n */ + onen: 1n, +>onen : Symbol(onen, Decl(file1.ts, 50, 13)) + + /** Value Of -1n */ + mOnen: -1n, +>mOnen : Symbol(mOnen, Decl(file1.ts, 52, 13)) + + /** A method */ + method(): void { +>method : Symbol(method, Decl(file1.ts, 54, 15)) + + }, +}; + + + diff --git a/tests/baselines/reference/isolatedDeclarationsLiterals.types b/tests/baselines/reference/isolatedDeclarationsLiterals.types new file mode 100644 index 0000000000..99dc8a0899 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsLiterals.types @@ -0,0 +1,170 @@ +=== tests/cases/compiler/file1.ts === +export const constObject = { +>constObject : { readonly one: 1; readonly oneOctal: 1; readonly oneHex: 1; readonly pOne: 1; readonly mOne: -1; readonly array: readonly [1, -1, 1n, -1n]; readonly onen: 1n; readonly mOnen: -1n; readonly oneStrDoubleQuote: "1"; readonly oneStrSingleQuote: "1"; readonly oneStrTemplate: "1"; readonly method: () => void; } +>{ /** Value Of 1 */ one: 1, /** Value Of 0o1 */ oneOctal: 0o1, /** Value Of 0x1 */ oneHex: 0x1, /** Value Of +1 */ pOne: +1, /** Value Of -1 */ mOne: -1, array: [1, -1, 1n, -1n], /** Value Of 1n */ onen: 1n, /** Value Of -1n */ mOnen: -1n, /** Value Of "1" */ oneStrDoubleQuote: "1", /** Value Of '1' */ oneStrSingleQuote: '1', /** Value Of `1` */ oneStrTemplate: `1`, /** A method */ method(): void { },} as const : { readonly one: 1; readonly oneOctal: 1; readonly oneHex: 1; readonly pOne: 1; readonly mOne: -1; readonly array: readonly [1, -1, 1n, -1n]; readonly onen: 1n; readonly mOnen: -1n; readonly oneStrDoubleQuote: "1"; readonly oneStrSingleQuote: "1"; readonly oneStrTemplate: "1"; readonly method: () => void; } +>{ /** Value Of 1 */ one: 1, /** Value Of 0o1 */ oneOctal: 0o1, /** Value Of 0x1 */ oneHex: 0x1, /** Value Of +1 */ pOne: +1, /** Value Of -1 */ mOne: -1, array: [1, -1, 1n, -1n], /** Value Of 1n */ onen: 1n, /** Value Of -1n */ mOnen: -1n, /** Value Of "1" */ oneStrDoubleQuote: "1", /** Value Of '1' */ oneStrSingleQuote: '1', /** Value Of `1` */ oneStrTemplate: `1`, /** A method */ method(): void { },} : { readonly one: 1; readonly oneOctal: 1; readonly oneHex: 1; readonly pOne: 1; readonly mOne: -1; readonly array: readonly [1, -1, 1n, -1n]; readonly onen: 1n; readonly mOnen: -1n; readonly oneStrDoubleQuote: "1"; readonly oneStrSingleQuote: "1"; readonly oneStrTemplate: "1"; readonly method: () => void; } + + /** Value Of 1 */ + one: 1, +>one : 1 +>1 : 1 + + /** Value Of 0o1 */ + oneOctal: 0o1, +>oneOctal : 1 +>0o1 : 1 + + /** Value Of 0x1 */ + oneHex: 0x1, +>oneHex : 1 +>0x1 : 1 + + /** Value Of +1 */ + pOne: +1, +>pOne : 1 +>+1 : 1 +>1 : 1 + + /** Value Of -1 */ + mOne: -1, +>mOne : -1 +>-1 : -1 +>1 : 1 + + array: [1, -1, 1n, -1n], +>array : readonly [1, -1, 1n, -1n] +>[1, -1, 1n, -1n] : readonly [1, -1, 1n, -1n] +>1 : 1 +>-1 : -1 +>1 : 1 +>1n : 1n +>-1n : -1n +>1n : 1n + + /** Value Of 1n */ + onen: 1n, +>onen : 1n +>1n : 1n + + /** Value Of -1n */ + mOnen: -1n, +>mOnen : -1n +>-1n : -1n +>1n : 1n + + /** Value Of "1" */ + oneStrDoubleQuote: "1", +>oneStrDoubleQuote : "1" +>"1" : "1" + + /** Value Of '1' */ + oneStrSingleQuote: '1', +>oneStrSingleQuote : "1" +>'1' : "1" + + /** Value Of `1` */ + oneStrTemplate: `1`, +>oneStrTemplate : "1" +>`1` : "1" + + /** A method */ + method(): void { +>method : () => void + + }, +} as const; + +export const one = 1; +>one : 1 +>1 : 1 + +export const oneOctal = 0o1; +>oneOctal : 1 +>0o1 : 1 + +export const oneHex = 0x1; +>oneHex : 1 +>0x1 : 1 + +export const pOne = +1; +>pOne : 1 +>+1 : 1 +>1 : 1 + +export const mOne = -1; +>mOne : -1 +>-1 : -1 +>1 : 1 + +export const onen = 1n; +>onen : 1n +>1n : 1n + +export const mOnen = -1n; +>mOnen : -1n +>-1n : -1n +>1n : 1n + +export const oneStrDoubleQuote = "1"; +>oneStrDoubleQuote : "1" +>"1" : "1" + +export const oneStrSingleQuote = '1'; +>oneStrSingleQuote : "1" +>'1' : "1" + +export const oneStrTemplate = `1`; +>oneStrTemplate : "1" +>`1` : "1" + +export const mutableObject = { +>mutableObject : { one: number; oneOctal: number; oneHex: number; pOne: number; mOne: number; onen: bigint; mOnen: bigint; method(): void; } +>{ /** Value Of 1 */ one: 1, /** Value Of 0o1 */ oneOctal: 0o1, /** Value Of 0x1 */ oneHex: 0x1, /** Value Of +1 */ pOne: +1, /** Value Of -1 */ mOne: -1, /** Value Of 1n */ onen: 1n, /** Value Of -1n */ mOnen: -1n, /** A method */ method(): void { },} : { one: number; oneOctal: number; oneHex: number; pOne: number; mOne: number; onen: bigint; mOnen: bigint; method(): void; } + + /** Value Of 1 */ + one: 1, +>one : number +>1 : 1 + + /** Value Of 0o1 */ + oneOctal: 0o1, +>oneOctal : number +>0o1 : 1 + + /** Value Of 0x1 */ + oneHex: 0x1, +>oneHex : number +>0x1 : 1 + + /** Value Of +1 */ + pOne: +1, +>pOne : number +>+1 : 1 +>1 : 1 + + /** Value Of -1 */ + mOne: -1, +>mOne : number +>-1 : -1 +>1 : 1 + + /** Value Of 1n */ + onen: 1n, +>onen : bigint +>1n : 1n + + /** Value Of -1n */ + mOnen: -1n, +>mOnen : bigint +>-1n : -1n +>1n : 1n + + /** A method */ + method(): void { +>method : () => void + + }, +}; + + + diff --git a/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.errors.txt b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.errors.txt new file mode 100644 index 0000000000..f65748f0f9 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.errors.txt @@ -0,0 +1,8 @@ +error TS5069: Option 'isolatedDeclarations' cannot be specified without specifying option 'declaration' or option 'composite'. + + +!!! error TS5069: Option 'isolatedDeclarations' cannot be specified without specifying option 'declaration' or option 'composite'. +==== tests/cases/compiler/file1.ts (0 errors) ==== + export var x = 1; +==== tests/cases/compiler/file2.ts (0 errors) ==== + export var y = 1; \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.js b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.js new file mode 100644 index 0000000000..8cf042f623 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/isolatedDeclarationsRequiresDeclaration.ts] //// + +//// [file1.ts] +export var x = 1; +//// [file2.ts] +export var y = 1; + +//// [file1.js] +"use strict"; +exports.__esModule = true; +exports.x = void 0; +exports.x = 1; +//// [file2.js] +"use strict"; +exports.__esModule = true; +exports.y = void 0; +exports.y = 1; diff --git a/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.symbols b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.symbols new file mode 100644 index 0000000000..fc19fe8acb --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/file1.ts === +export var x = 1; +>x : Symbol(x, Decl(file1.ts, 0, 10)) + +=== tests/cases/compiler/file2.ts === +export var y = 1; +>y : Symbol(y, Decl(file2.ts, 0, 10)) + diff --git a/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.types b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.types new file mode 100644 index 0000000000..2c14211e37 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsRequiresDeclaration.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/file1.ts === +export var x = 1; +>x : number +>1 : 1 + +=== tests/cases/compiler/file2.ts === +export var y = 1; +>y : number +>1 : 1 + diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types index 5d2a897899..83acf57738 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.types +++ b/tests/baselines/reference/isomorphicMappedTypeInference.types @@ -366,7 +366,7 @@ function f6(s: string) { } declare function validate(obj: { [P in keyof T]?: T[P] }): T; ->validate : (obj: { [P in keyof T]?: T[P] | undefined; }) => T +>validate : (obj: { [P in keyof T]?: T[P]; }) => T >obj : { [P in keyof T]?: T[P] | undefined; } declare function clone(obj: { readonly [P in keyof T]: T[P] }): T; @@ -374,11 +374,11 @@ declare function clone(obj: { readonly [P in keyof T]: T[P] }): T; >obj : { readonly [P in keyof T]: T[P]; } declare function validateAndClone(obj: { readonly [P in keyof T]?: T[P] }): T; ->validateAndClone : (obj: { readonly [P in keyof T]?: T[P] | undefined; }) => T +>validateAndClone : (obj: { readonly [P in keyof T]?: T[P]; }) => T >obj : { readonly [P in keyof T]?: T[P] | undefined; } type Foo = { ->Foo : { a?: number | undefined; readonly b: string; } +>Foo : { a?: number; readonly b: string; } a?: number; >a : number | undefined @@ -394,7 +394,7 @@ function f10(foo: Foo) { let x = validate(foo); // { a: number, readonly b: string } >x : { a: number; readonly b: string; } >validate(foo) : { a: number; readonly b: string; } ->validate : (obj: { [P in keyof T]?: T[P] | undefined; }) => T +>validate : (obj: { [P in keyof T]?: T[P]; }) => T >foo : Foo let y = clone(foo); // { a?: number, b: string } @@ -406,7 +406,7 @@ function f10(foo: Foo) { let z = validateAndClone(foo); // { a: number, b: string } >z : { a: number; b: string; } >validateAndClone(foo) : { a: number; b: string; } ->validateAndClone : (obj: { readonly [P in keyof T]?: T[P] | undefined; }) => T +>validateAndClone : (obj: { readonly [P in keyof T]?: T[P]; }) => T >foo : Foo } diff --git a/tests/baselines/reference/iteratorSpreadInCall5.types b/tests/baselines/reference/iteratorSpreadInCall5.types index f1060fa09a..aa245e4c62 100644 --- a/tests/baselines/reference/iteratorSpreadInCall5.types +++ b/tests/baselines/reference/iteratorSpreadInCall5.types @@ -68,7 +68,7 @@ class _StringIterator { foo(...new SymbolIterator, ...new _StringIterator); >foo(...new SymbolIterator, ...new _StringIterator) : void ->foo : (...s: (string | symbol)[]) => void +>foo : (...s: (symbol | string)[]) => void >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator diff --git a/tests/baselines/reference/iteratorSpreadInCall6.types b/tests/baselines/reference/iteratorSpreadInCall6.types index bacd53f2e0..0bc6e9f989 100644 --- a/tests/baselines/reference/iteratorSpreadInCall6.types +++ b/tests/baselines/reference/iteratorSpreadInCall6.types @@ -68,7 +68,7 @@ class _StringIterator { foo(...new SymbolIterator, ...new _StringIterator); >foo(...new SymbolIterator, ...new _StringIterator) : void ->foo : (...s: (number | symbol)[]) => void +>foo : (...s: (symbol | number)[]) => void >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator >SymbolIterator : typeof SymbolIterator diff --git a/tests/baselines/reference/iteratorsAndStrictNullChecks.types b/tests/baselines/reference/iteratorsAndStrictNullChecks.types index efb5c1f97f..ff53861d51 100644 --- a/tests/baselines/reference/iteratorsAndStrictNullChecks.types +++ b/tests/baselines/reference/iteratorsAndStrictNullChecks.types @@ -7,9 +7,9 @@ for (const x of ["a", "b"]) { >"b" : "b" x.substring; ->x.substring : (start: number, end?: number | undefined) => string +>x.substring : (start: number, end?: number) => string >x : string ->substring : (start: number, end?: number | undefined) => string +>substring : (start: number, end?: number) => string } // Spread diff --git a/tests/baselines/reference/jsDeclarationsClassImplementsGenericsSerialization.js b/tests/baselines/reference/jsDeclarationsClassImplementsGenericsSerialization.js index 285cdae7b4..04fbe98c54 100644 --- a/tests/baselines/reference/jsDeclarationsClassImplementsGenericsSerialization.js +++ b/tests/baselines/reference/jsDeclarationsClassImplementsGenericsSerialization.js @@ -68,4 +68,4 @@ export class Encoder implements IEncoder { */ encode(value: T): Uint8Array; } -export type IEncoder = import('./interface').Encoder; +export type IEncoder = import("./interface").Encoder; diff --git a/tests/baselines/reference/jsDeclarationsClasses.js b/tests/baselines/reference/jsDeclarationsClasses.js index f1807e37f4..b127513907 100644 --- a/tests/baselines/reference/jsDeclarationsClasses.js +++ b/tests/baselines/reference/jsDeclarationsClasses.js @@ -539,7 +539,7 @@ export class F { * @param {A} a * @param {B} b */ - static create(a: A_1, b: B_1): F; + static create(a: A, b: B): F; /** * @param {T} a * @param {U} b diff --git a/tests/baselines/reference/jsDeclarationsCrossfileMerge.js b/tests/baselines/reference/jsDeclarationsCrossfileMerge.js index f4b06e5eaa..45ae6363ea 100644 --- a/tests/baselines/reference/jsDeclarationsCrossfileMerge.js +++ b/tests/baselines/reference/jsDeclarationsCrossfileMerge.js @@ -27,3 +27,9 @@ module.exports.memberName = "thing"; declare const _exports: typeof m.default; export = _exports; import m = require("./exporter"); + + +!!!! File ./out/exporter.d.ts missing from original emit, but present in noCheck emit +//// [exporter.d.ts] +export default validate; +declare function validate(): void; diff --git a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types index fc664ec5d1..9a79d2018f 100644 --- a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types +++ b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types @@ -142,7 +142,7 @@ Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); * @param {{y: typeof module.exports.b}} b */ function g(a, b) { ->g : (a: { x: string;}, b: { y: () => void; }) => void +>g : (a: { x: string; }, b: { y: () => void; }) => void >a : { x: string; } >b : { y: () => void; } @@ -175,7 +175,7 @@ Object.defineProperty(module.exports, "g", { value: g }); * @param {{y: typeof module.exports.b}} b */ function hh(a, b) { ->hh : (a: { x: string;}, b: { y: () => void; }) => void +>hh : (a: { x: string; }, b: { y: () => void; }) => void >a : { x: string; } >b : { y: () => void; } diff --git a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js index 04abac07a2..2d051216e7 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js +++ b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.js @@ -221,6 +221,18 @@ declare class Context { declare namespace Context { export { Timer, Hook, HookHandler, Input, State }; } +/** + * Imports + */ +type Timer = import("./timer"); +/** + * Imports + */ +type Hook = import("./hook"); +/** + * Imports + */ +type HookHandler = import("./hook").HookHandler; /** * Input type definition */ @@ -228,10 +240,6 @@ type Input = { timer: Timer; hook: Hook; }; -/** - * Imports - */ -type HookHandler = import("./hook").HookHandler; /** * State type definition */ @@ -239,14 +247,6 @@ type State = { timer: Timer; hook: Hook; }; -/** - * Imports - */ -type Timer = import("./timer"); -/** - * Imports - */ -type Hook = import("./hook"); //// [hook.d.ts] export = Hook; /** diff --git a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types index c854b1514a..94ed9cc738 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types +++ b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types @@ -96,19 +96,19 @@ function Context(input) { this.state = this.construct(input); >this.state = this.construct(input) : State >this.state : any ->this : this & { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; } +>this : this & { construct(input: Input, handle?: HookHandler | undefined): State; } >state : any >this.construct(input) : State ->this.construct : (input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler) => State ->this : this & { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; } ->construct : (input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler) => State +>this.construct : (input: Input, handle?: HookHandler | undefined) => State +>this : this & { construct(input: Input, handle?: HookHandler | undefined): State; } +>construct : (input: Input, handle?: HookHandler | undefined) => State >input : Input } Context.prototype = { >Context.prototype = { /** * @param {Input} input * @param {HookHandler=} handle * @returns {State} */ construct(input, handle = () => void 0) { return input; }} : { construct(input: Input, handle?: HookHandler | undefined): State; } >Context.prototype : { construct(input: Input, handle?: HookHandler | undefined): State; } >Context : typeof Context ->prototype : { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; } +>prototype : { construct(input: Input, handle?: HookHandler | undefined): State; } >{ /** * @param {Input} input * @param {HookHandler=} handle * @returns {State} */ construct(input, handle = () => void 0) { return input; }} : { construct(input: Input, handle?: HookHandler | undefined): State; } /** @@ -129,9 +129,9 @@ Context.prototype = { } } module.exports = Context; ->module.exports = Context : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; }; } ->module.exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; }; } ->module : { exports: { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; }; }; } ->exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: import("tests/cases/conformance/jsdoc/declarations/hook").HookHandler): State; }; } +>module.exports = Context : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } +>module.exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } +>module : { exports: { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; }; } +>exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } >Context : typeof Context diff --git a/tests/baselines/reference/jsDeclarationsFunctions.types b/tests/baselines/reference/jsDeclarationsFunctions.types index 67af6648e0..72d67885c2 100644 --- a/tests/baselines/reference/jsDeclarationsFunctions.types +++ b/tests/baselines/reference/jsDeclarationsFunctions.types @@ -70,7 +70,7 @@ f.self = f; * @param {{y: typeof b}} b */ function g(a, b) { ->g : (a: { x: string;}, b: { y: typeof import("tests/cases/conformance/jsdoc/declarations/index").b; }) => void +>g : (a: { x: string; }, b: { y: typeof import("tests/cases/conformance/jsdoc/declarations/index").b; }) => void >a : { x: string; } >b : { y: typeof import("tests/cases/conformance/jsdoc/declarations/index").b; } @@ -93,7 +93,7 @@ export { g }; * @param {{y: typeof b}} b */ function hh(a, b) { ->hh : (a: { x: string;}, b: { y: typeof import("tests/cases/conformance/jsdoc/declarations/index").b; }) => void +>hh : (a: { x: string; }, b: { y: typeof import("tests/cases/conformance/jsdoc/declarations/index").b; }) => void >a : { x: string; } >b : { y: typeof import("tests/cases/conformance/jsdoc/declarations/index").b; } diff --git a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types index e08e5e1ba8..90e715d20b 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types +++ b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types @@ -128,7 +128,7 @@ module.exports.f.self = module.exports.f; * @param {{y: typeof module.exports.b}} b */ function g(a, b) { ->g : (a: { x: string;}, b: { y: { (): void; cat: string; }; }) => void +>g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >a : { x: string; } >b : { y: { (): void; cat: string; }; } @@ -157,7 +157,7 @@ module.exports.g = g; * @param {{y: typeof module.exports.b}} b */ function hh(a, b) { ->hh : (a: { x: string;}, b: { y: { (): void; cat: string; }; }) => void +>hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >a : { x: string; } >b : { y: { (): void; cat: string; }; } diff --git a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.js b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.js index cb8fe79110..f08a35dfa3 100644 --- a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.js +++ b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.js @@ -67,10 +67,15 @@ export namespace myTypes { prop2: string; }; type typeC = myTypes.typeB | Function; - const myTypes: { - [x: string]: any; - }; } +/** + * @namespace myTypes + * @global + * @type {Object} + */ +export const myTypes: { + [x: string]: any; +}; //// [file2.d.ts] export namespace testFnTypes { type input = boolean | myTypes.typeC; @@ -83,7 +88,7 @@ export namespace testFnTypes { * @returns {number|null} Result. */ export function testFn(input: testFnTypes.input): number | null; -import { myTypes } from "./file.js"; +import { myTypes } from './file.js'; /** * @namespace testFnTypes * @global diff --git a/tests/baselines/reference/jsDeclarationsInterfaces.js b/tests/baselines/reference/jsDeclarationsInterfaces.js index 00e78c8286..0b0424be2c 100644 --- a/tests/baselines/reference/jsDeclarationsInterfaces.js +++ b/tests/baselines/reference/jsDeclarationsInterfaces.js @@ -132,19 +132,19 @@ export interface A { export interface B { cat: string; } -export interface C { +export interface C { new (): string; - new (x: T_1): U_1; - new (x: Q_4): T_1 & Q_4; + new (x: T): U; + new (x: Q_3): T & Q_3; (): number; - (x: T_1): U_1; - (x: Q_3): T_1 & Q_3; - field: T_1 & U_1; - optionalField?: T_1; - readonly readonlyField: T_1 & U_1; - readonly readonlyOptionalField?: U_1; - method(): number; - method(a: T_1 & Q_2): Q_2 & number; + (x: T): U; + (x: Q_2): T & Q_2; + field: T & U; + optionalField?: T; + readonly readonlyField: T & U; + readonly readonlyOptionalField?: U; + method(): number; + method(a: T & Q_1): Q_1 & number; method(a?: number): number; method(...args: any[]): number; optMethod?(): number; @@ -159,11 +159,11 @@ export interface K extends I, J { export interface L extends K { y: string; } -export interface M { - field: T_1; +export interface M { + field: T; } -export interface N extends M { - other: U_1; +export interface N extends M { + other: U; } export interface O { [idx: string]: string; diff --git a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.js b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.js index 15357997c0..3f566b0668 100644 --- a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.js +++ b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.js @@ -63,4 +63,4 @@ declare class Base { * @returns {InstanceType} */ declare function test(base: InstanceType): InstanceType; -type BaseFactory = typeof import('./base'); +type BaseFactory = typeof import("./base"); diff --git a/tests/baselines/reference/jsDeclarationsReactComponents.js b/tests/baselines/reference/jsDeclarationsReactComponents.js index fb0972b36e..a59bd3b2e6 100644 --- a/tests/baselines/reference/jsDeclarationsReactComponents.js +++ b/tests/baselines/reference/jsDeclarationsReactComponents.js @@ -243,4 +243,4 @@ declare namespace Tree { export const parentSource: string; } } -import PropTypes from "prop-types"; +import PropTypes from 'prop-types'; diff --git a/tests/baselines/reference/jsDeclarationsReactComponents.types b/tests/baselines/reference/jsDeclarationsReactComponents.types index 4934a173b9..d0548a425a 100644 --- a/tests/baselines/reference/jsDeclarationsReactComponents.types +++ b/tests/baselines/reference/jsDeclarationsReactComponents.types @@ -103,7 +103,7 @@ import React from "react"; * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} */ const TabbedShowLayout = () => { ->TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; } | undefined) => JSX.Element) +>TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) >() => { return (